当今数码照相机基本都是基于电荷耦合器件(CCD)或 CMOS 传感器技术。这两种技术都能将光信号转换为电信号,但它们的转换方式不同。


在 CCD 组件中,由数百万光敏像素组成的阵列覆盖在 CCD 传感器的表面。在传感器曝光后,首先 CCD 的末端读出覆盖整个 CCD 像素阵列上的累积电荷,然后经模拟前端(AFE)芯片或 CCD 处理器数字化。另外一种传感器,CMOS 传感器可直接将每个像素单元的曝光程度数字化。

 

通常,CCD 具有最高的图像质量和最低的噪声,但是其功耗较高。CMOS 传感器容易制造并且具有低功耗特性,但是其图像质量较低。部分原因是因为位于每个像素的晶体管容易阻挡到达像素的部分光信号。然而,如果在质量竞争过程中与 CCD 比价格,那么 CMOS 具有优势,并且目前采用 CMOS 传感器的中挡数码照相机的数量越来越多。

 

无论数码照相机内部采用哪种传感器,传感器阵列的所有像素都需对灰度等级灵敏——从全暗(黑)到全亮(白)。对灰度等级敏感程度被称为“比特深度”。因此,8 bit 像素可区分 28 或 256 个灰度梯度,而 12 bit 像素可区分 4096 个灰度梯度。分层的整个像素阵列是一种将每个像素分为几个对颜色敏感的“子像素”的滤色镜。这种安排允许测量每个像素单元不同颜色的成分。因此,每个像素单元的颜色可看作是红色(R)、绿色(G)和蓝色(B)通道光的成分以加法方式叠加的总和。比特深度越高, RGB 空间能产生的颜色越丰富。例如,24 bit 颜色(R、G 和 B 每通道为 8 bit)可产生 224 或 1,670 万种离散的颜色。

 

为了恰当地表示彩色图像,每个像素单元,每个传感器需要 3 种颜色采样——最通常是 R,G 和 B。然而,为每个数码照相机配备 3 个单独的传感器并不是经济有效的解决方案(虽然最近这种解决方案变得比较实际)。而且,当传感器的分辨率增加到 5 百万~1 千万像素时,就会需要一些图像压缩格式防止为每个像素单元需要输出 3 个字节(或更坏情况下,对于更高分辨率的传感器,还会需要输出 3 个 12 bit 字)。

 

不用担忧,因为数码照相机生产厂商已经开发出了减少必要的颜色采样数目的巧妙方法。最常用的方法是采用色彩滤镜阵列(CFA),它仅测量任何给定像素单元的一种颜色。然后,用图像处理器对测量结果进行插值运算以便看起来好像在每个像素单元测量了 3 种颜色。

 

当今最流行使用的 CFA 是 Bayer 模式,如图 1 所示。该方案由 Kodak 创立,它利用这样的原理:人眼对绿色成分的识别灵敏度大于红色或蓝色。因此,在 Bayer 滤光镜阵列中,通过绿色滤光镜的光强是通过蓝色滤光镜或红色滤光镜的两倍。这便引出一种通常称作的“4:2:2 RGB”的输出格式,即每发送 2 份红色光和 2 份蓝色光就对应发送 4 份绿色光。

 

图 1: Bayer 模式图像传感器排列

 

图像传感器的连接

CMOS 传感器通常按照 YCbCr 或 RGB 格式输出像素单元的并行数据流,同时伴随水平同步和垂直同步以及像素时钟。有时,它们允许使用外部时钟和同步信号来控制来自传感器的帧图像输出。

 

另一方面,CCD 传感器通常需要随后连接“模拟前端(AFE)”芯片,例如 AD9948,它可处理模拟输出信号、将其数字化并且产生扫描 CCD 阵列的合适时序。处理器为 AFE 提供同步信号,它需要这种控制信号来管理 CCD 阵列。从 AFE 输出的并行数据流可能为每像素单元提供 10 bit 或 12 bit 的分辨率。

 

最近,低电压差分信号传输(LVDS)技术已经成为取代并行数据总线的重要方法。LVDS 技术是一种低成本、低引脚数和高速串行的连接方法,它比标准并行方案提高了抗噪声性能并且降低了功耗。随着传感器分辨率和色深度增加以及便携式多媒体应用越来越普遍,这种 LVD 连接方法显得格外重要,

 

图像流水线

当然,照相过程并不是终止于传感器,相反,传感器仅是处理过程的开始。让我们看一下原始图像在显示器上呈现出精美的图像之前是什么样子。在数码照相机中,这些处理阶段的顺序被称为“图像处理流水线”,或简称为“图像流水线”。请参见图 2 所示的一个数据流程。这些算法通常由多媒体处理器来完成,例如 ADI 公司的 Blackfin 处理器系列。

 

图 2: 软件图像处理流水线流程示例

 

机械反馈控制

在你平静地释放快门按钮之前,聚焦和曝光系统与照相机的机械部件一起工作,根据场景特性控制镜头的位置。自动曝光算法测量分立景物区域的亮度,通过调节快门速度和(或)光圈以对曝光过度或曝光不足的区域进行补偿。我们的主要目标是维持图像中不同区域之间的相对对比度并且达到所要求的平均亮度。

 

自动聚焦算法可分为两类。其中主动算法采用红外线或超声波发射器和接收器估计照相机和拍摄对象之间的距离。另一种被动算法是根据照相机所接收的图像进行聚焦。

 

在这两种子系统中,多媒体处理器通过其输出的脉宽调制(PWM)信号控制各种镜头和快门的电机。自动曝光控制功能还能调节传感器的自动增益控制(AGC)电路。

 

预处理

正如我们前面所讨论的,传感器的输出需要灰度系数校正以满足最终的显示需求,并且补偿传感器捕获响应的非线性。

 

因为传感器通常含有很少的无效或缺陷像素,所以常用的预处理技术可以通过中值滤波消除这些缺陷,它根据这样的原理:当光学处理有些模糊的图像时像素之间的急剧变化是不正常的。

 

镜头校正(暗影或畸变校正)

这套算法解决了镜头输出的图像与用户看到的实际场景相比产生畸变的物理属性问题。不同的镜头会产生不同的畸变;例如,广角镜头会造成“桶形畸变”效应,而长焦镜头会产生“枕形畸变”效应。镜头的阴影畸变降低了镜头周围区域的图像亮度。色像差会使图像周围出现色彩条纹。因此多媒体处理器需要对图像做数学变换以校正这些畸变。

 

预处理的另外一方面是图像稳定性补偿或信号交换校正。这里,处理器常借助于涉及到传感器实时运动轮廓的外部传感器器调节所接收图像的平移运动。

 

预处理的另外一个阶段称为白平衡。当我们看到一幅场景时,无论照明条件如何,我们的眼睛能将观看到的所有场景都转换成标准的自然光条件下的颜色。例如,我们所看到的苹果应是深红色,无论是在室内的荧光灯下还是室外的阳光下。然而,图像传感器对颜色的“感知”很大程度上取决于照明条件,因此它需要将它映射成所要求的图像以使其最终的输出看起来不受照明条件的影响。这种图像映射过程可手动或自动完成。

 

在手动系统中,在将你的照相机对准你确定是“白色”的对象后,然后将照相机移动到待拍照所有图像的“色温”区以适应这种映射。另外一种自动白平衡(AWB)方法,使用图像传感器的输入和额外的白平衡传感器来确定什么是图像中的“真正白色”。它可调节图像中 R、G 和 B 通道的相对增益。当然,AWB 比手动方法需要更多的图像处理能力,并且也是供应商提供的知识产权算法。

 

抗马赛克、像素内插、降噪以及轮廓增强

抗马赛克〔或色彩滤镜阵列插值(Demosaicking)〕可能是图像流水线中最重要并且计算量最大的阶段。通常各数码照相机制造商都有自己的“秘诀”,但通常可将这些方法分成几种主要的算法。

 

双线性插值或双三次插值等非自适应算法属于最简单易行的方法,它们非常适合处理图像的平滑区域。然而,用这些简单的算法处理边缘或纹理丰富的区域时会遇到问题。自适应算法根据局部图像特点改变算法,从而可以提供较好的效果。

 

自适应算法的一个例子是基于边缘重构。这种算法分析围绕像素的区域并且确定在哪个方向上完成内插。如果它在像素附近找到了边缘,则将沿着边缘进行插值,而不是越过边缘。另一种自适应算法是假设整个对象是恒定色调,这可以防止在个别对像中颜色梯度的突变。还有许多其它的抗马赛克技术,包括频域分析、贝叶斯判决准则,以及神经网络。

 

颜色空间变换

在这一阶段,将内插后的 RGB 图像变换为目标输出颜色空间(如果还不是合适的颜色空间)。为了压缩或在电视机上显示图像,这通常包括 RGBYCbCr 的矩阵转换,通常还包括另外的灰度系数校正电路以适应目的显示器。在这一阶段按照标准 4:2:2 格式可能还要对 YCbCr 输出进行颜色子采样以便在几乎不影响视觉效果的情况下减少颜色带宽。

 

后处理

在这一阶段,图像在送到显示器和(或)存储媒体之前通过各种滤波作用完善图像。例如,边缘轮廓增强、像素阈值处理以降低噪声、以及人工颜色删除通常都在这阶段完成。

 

显示、压缩和存储

如果图像本身准备用于浏览,图像流水线会产生两个不同的方向的分支。第一个分支,后处理图像输出到目的显示器,通常是集成液晶显示(LCD)屏(但是对于某种型号的数码照相机,有时是 NTSC 或 PAL 电视监视器)。第二个分支,将图像送到多媒体处理器运行压缩算法软件,在将图像本地存储在存储媒体(通常是非易失闪存卡)之前使用工业标准压缩技术(例如 JPEG 标准)进行压缩。