图像传感器的动态范围
什么是动态范围?
动态范围(Dynamic Range)是图像传感器重要的参数之一,它决定了图像传感器能接收的阴影部分到高光部分的光亮强度分布范围,也就是决定了所拍摄出来的图像的细节、层次、特征。
传统胶片成像
基于光化学理论,在相机拍摄时,光线通过相机镜头达到胶片的感光晶体卤化银上,引起胶片的光学密度发生变化,曝光量越大,光学密度越小,呈现非线性关系。当有光线照射到卤化银上时,卤化银转变为黑色的银,经过显影工艺后固定于片基,成为黑白胶片。彩色胶片则是涂抹了三层卤化银来表现三原色。
数字图像成像
利用图像传感器(CCD、CMOS)把接收到的光信号通过传感器上的光敏单元离散成正比于曝光量的成千上万个像素点,并转换成模拟电压信号,再经过A/D转换处理后变成数字信号,最后经过微处理器的非线性运算转换成图像的标准存储格式。例如BMP、JPEG、TIFF等存储在物理介质上。
动态范围的定义
动态范围定义为最大可测光强与最小可测光强的比值,还可以定义为像素阱容量饱和时与无光照条件下的像素噪声电子数的比值,单位用分贝(dB)表示,表达式为>
自然场景中从无月的暗夜到太阳直射的动态范围约为180dB,而普通的图像传感器由于势阱容量的限制,动态范围通常在70dB左右。
真实世界中同一场景中动态范围变化很大,我们称之为高动态范围(High Dynamic Range),相对的普通图片上的动态范围为低动态范围(Low Dynamic Range)。
相机的成像过程实际上就是真实世界的高动态范围到相片的低动态范围的映射(非线性),例如>
动态范围的影响因素
阱容量
普通图像传感器由于感光元件阱容量有限,存储光电荷的能力也有限,当光照强度超过一定程度时,存储的电荷达到饱和将无法再接收。一旦这些像素满载,光子便会溢出,溢出就会导致信息损失。
以红色为例,高光溢出使满载红色的像素附近的其它像素的值都变成255,但其实它们的真实值并没有达到255。换句话说,画面的细节发生了损失,这样会造成高光部分的信息缺失。如果我们以减少曝光时间来防止高光溢出,很多用来描述昏暗环境的像素则没有足够的时间接收光子量,得出的像素值为0,这样就会导致昏暗部分的信息缺失。
图像位深
目前普通的输出/显示设备受软硬件的限制,使得数字图像处理部分大多是基于8bit来进行的,只能表示出256个灰度等级,导致图像的亮度等级与真实场景的亮度等级相差较大。
因此,传统的图像传感器无论接收的图像有多大的亮度差,只要它被数字化为8位图像,那么这幅图像就只有256灰度级。若图像传感器的动态范围不同,它们提供的256级灰度反映的实际亮度差是不同的,即动态范围越大,就越能显示自然界的亮度变化。
提高动态范围的方法
阱容量调节
提高像素满阱容量或降低像素噪声水平是直接提高图像传感器动态范围的方法。然而现代像素的尺寸不断缩小,对于一个给定的像素架构,其具有固定的填充因子,因此,很难通过提高满阱容量的方法来扩展动态范围。
位深调节
提高图像位数是一个较为普遍的方法,能够通过将一幅图像的灰度级提高来体现更多的层次和更宽的动态范围。
对数响应技术
通过改变像素的信号输出曲线来推迟像素达到饱和时所需要的时间,从而实现增大像素电荷容量、扩展动态范围的目的。
多重曝光技术
在不改进像素光电二极管的前提下,传统低动态范围的图像传感器可以通过合成多张曝光图片来获得高动态范围图片。