|
|
|
|
“数字相机”(DSC)需要相当数量的硅芯片——“电荷耦合器件”(CCD)传感器或“互补金属氧化物半导体”(CMOS)传感器,“模数转换器”(ADC)、“国家电视标准委员会”(NTSC)编码器等模拟元件,以及“数字信号处理器”(DSP)。DSP是相机的核心,它负责完成图像处理和压缩所需的全部运算。
图9.1是典型DSC系统的功能框图。大多数DSC使用CCD传感器采集图像。CCD所需的定时信号由驱动电路和“时序产生”电路产生。“相关双采样”电路和“自动增益控制”电路用于从CCD传感器获取高质量图像信号。在数字化之后,CCD数据就输入到DSC处理引擎中以完成图像处理和压缩。在多数DSC上,用户可以在“液晶显示屏”(LCD)上观看拍到的图像。压缩后的图像储存于闪存中以备后用。多数DSC系统提供NTSC/PAL视频信号以便在电视显示器上观看图像。
图像采集
典型DSC系统要执行多项处理才能得到高质量图像。第一步就是图像采集。场景反射的光线强度分布由光学系统映射到成像装置之上。今天,多数相机采用CCD成像装置,部分相机采用CMOS成像装置。CCD获取的图像将通过“彩色滤光镜”以获得彩色图像。这种未经处理的CCD图像称为“彩色滤波阵列”(CFA)。不同的生产商拥有不同的CCD阵列掩模图案以及滤光镜基色。在DSC中,最常用的CFA图案是RGB“拜耳图案”——由2×2元素构成、铺满整个CCD阵列。在图9.2中,在CCD之后的矩阵中画的就是“拜耳图案”的一部分。CCD的输出信号用10位ADC或12位ADC进行数字化。
图像处理流水线
CFA数据在用于压缩之前需要进行大量的处理。这些处理合起来称作“图像流水”。图9.2就是一个典型的DSC图像流水。可以看出:要得到高质量图像必须进行多个处理步骤。下面,我们将概要介绍“图像流水”的每一步处理。
1.黑色箝位:为了优化CCD传感器代表的像素值之动态范围,代表黑色的像素需要校正:因为在这些像素位置的CCD单元中仍旧保存着一些电流。“黑色箝位”功能通过从每一个像素值中减去一个偏移量的方法调整这种差异,但是需“箝位至零”以免出现负数结果。
2.镜头畸变补偿:镜头的缺陷会带来图像亮度的“非线性”。图像流水通过调整(根据空间位置)像素的亮度来补偿镜头。
3.问题像素插值:大像素CCD阵列可能存在有缺陷的像素。CCD生产商一般会提供这些“问题像素”的位置。合上镜头盖拍照,利用DSC引擎也可以计算出这些“问题像素”的位置。“问题像素”呈现出来就是一幅黑色图像中的“白点”。“问题像素”的位置可用一个简单的“门限检测器”来确定并存入存储器中。当DSC正常工作时,“问题像素”位置的图像值可以用“插值”技术计算出来。
4.白平衡:场景拍摄时的照度和观看相应照片时的照度是不同的。这会导致色彩看上去不同——人脸发蓝,而天空则泛红。此外,每个色彩通道的敏感度也不相同;这样,灰色(中性色)无法正确体现。为了补偿这些色彩上的不均衡,红、绿、蓝三色通道之增益需要“均衡”。实现方法是:先计算每个色彩分量亮度的平均值,然后确定每个色彩分量的缩放因子。
5.CFA插值:CFA的本质决定了在任一像素位置仅有一种色彩信息(在拜耳图案中R,G或B)。而图像处理流水需要“全彩色”(R,G或B)像素。因此,不存在的色彩要用周围像素“插值”重建。
6.伽玛校正:对于观看图像的显示设备和图像硬拷贝的打印机,图像灰度值和实际显示强度之间是“非线性”关系。伽玛校正对CCD传感器产生的图像和显示器显示的图像、打印到纸上的图像之间的差别。
7.彩色空间转换:典型的图像压缩算法(如JPEG)是在YCbCr彩色空间上进行的。因此,需要将RGB彩色空间转换为YCbCr彩色空间。这种转换是线性变换,Y、Cb和Cr是R、G和B的加权和。
8.边缘增强:CFA插值滤波会引入“低通滤波”效果——图像边缘会变得平滑。为了使图像更清晰,图像流水采用边缘检测器计算Y通道的边缘幅度。然后,边缘幅度进行缩放、并加到原有亮度(Y)图像上以增强图像的清晰度。
9.伪彩色抑制:边缘增强仅在图像的Y通道进行。这会导致边缘处色彩通道“错位”,产生“彩虹样”的人工处理痕迹。在边缘处抑制Cb和Cr彩色分量将会减弱这种现象。
10.自动聚焦:通过图像处理,可以自动调整DSC中的镜头焦距。“自动焦距”机制是以反馈的形式工作的。通过图像处理检测镜头聚焦质量,然后反复移动镜头马达直至图像清晰聚焦。
11.自动曝光:由于场景亮度不断变化,为了得到高质量图像,需要控制CCD的曝光。其实现过程为:检测场景平均亮度,然后适度调整CCD曝光时间和(或)增益。和自动聚焦相似,DSP也是使用闭环反馈形式完成的。
12.图像压缩:大多数DSC的存储量有限;因此,要采用图像压缩来减少存储量用量。典型的压缩比约为10:1~15:1。现有的大多数DSC采用的是JPEG压缩。其中,主要的步骤是DCT和哈夫曼编码。将来的DSC很可能会转用JPEG2000;这种方法采用了小波编码技术。
