分享

ISP 图像传感器原理

 waston 2016-10-19
1、Color Filter Array — CFA

随着数码相机、手机的普及,CCD/CMOS 图像传感器近年来得到广泛的关注和应用。 图像传感器一般都采用一定的模式来采集图像数据,常用的有 BGR 模式和 CFA 模式。BGR 模式是一种可直接进行显示和压缩等处理的图像数据模式,它由 R( 红)、G( 绿) 、B( 蓝) 三原色值来共同确定 1 个像素点,例如富士数码相机采用的 SUPER CCD 图像传感器就采用这种模式,其优点是图像传感器产生的图像数据无需插值就可直接进行显示等后续处理,图像效果最好,但是成本高,常用于专业相机中。一般数码相机的传感器(CCD 或 CMOS)约占整机总成本的 10%~25%,为了减少成本,缩小体积,市场上的数码相机大多采用 CFA 模式,即在像素阵列的表面覆盖一层彩色滤波阵列(Color Filter Array,CFA),彩色滤波阵列有多种,现在应用最广泛的是 Bayer 格式滤波阵列,满足 GRBG 规律,绿色像素数是红色或蓝色像素数的两倍,这是因为人眼对可见光光谱敏感度的峰值位于中波段,这正好对应着绿色光谱成分。

技术分享

上图就是一个采用 CFA 模式的图像传感器,有效分辨率为 640 x 480,该模式图像数据只用 R、G、B 3个值中的1 个值来表示 1 个像素点。这样一来每个像素点只能捕获三基色 R,G,B 中的一个,而缺失另外两个颜色值,这时候得到的是一幅马赛克图像。为了得到全彩色的图像, 需要利用其周围像素点的色彩信息来估计出缺失的另外两种颜色, 这种处理叫作色彩插值,也称作彩色插值或去马赛克

技术分享

上图是一个8 x 8像素大小的 CFA 模式图像数据阵列,图中 1 个方格表示 1个像素,R、G、B 的数字下标表示其在 8 x 8 图像阵列中的位置。由于 CFA 模式所采用的图像颜色滤波阵列结构相对简单,并且所得到的图像数据仅仅是原始图像全部三原色信息的1 / 3 的数据,因此成本较低。但是,上图中的 CFA 模式图像数据与 BGR 模式的图像数据相比,缺少了 2 / 3 的图像颜色信息,所以要对 CFA 模式图像数据进行显示、压缩等后续处理,就需要事先对其进行插值运算,恢复CFA 模式图像数据所缺少的2 / 3 颜色信息,从而将 CFA 模式图像数据重建为与 BGR 模式图像相匹配的图像数据。比较常见的是双线性插值算法:该算法在对一个像素点的某颜色值进行插值运算时,会用该像素相邻像素点对应颜色值通过算数平均来估计。

2、图像去噪

在图像的采集和传输过程中,图像质量经常受到各种噪声的影响而下降。由于采集和各种元器件容易受到强干扰会产生脉冲噪声,由于照明不稳定,镜头灰尘以及非线性的信道传输引起的图像退化都会产生不同种类的噪声其主要影响人的视觉效果,使人难以辨认图像的某些细节,另外噪声给一些图像处理算法带来严重影响,例如梯度算子,由于一些与对象无关点的引入,使得无用信息的使用造成更加严重的后果,干扰了图像的可观测的信息。这里讨论的噪声仅仅局限在图像传感器获取图像数据时的噪声污染,由于这时候的数据量较少,噪声直接影响后面的插值算法,并使图像的细节无法体现,既影响图像的插值效果,也影响人的视觉感受。因此在图像处理中噪声的去除是一项非常重要的环节。

3、自动聚焦

自动聚焦目的是获得清晰度更高得图像。常用的聚焦方法分两类,一类是传统的聚焦方法,一种是基于数字图像处理方式的图像聚焦方法。传统的方式中,自动聚焦通过红外线或者超生波测距的方式来实现。这种方式需要安装发射机和接收机,增加了摄像机的成本,而且超声波对于玻璃后面的被摄物体不能很好的自动聚焦。这一类聚焦方式在某些场合受到了限制。因此在日趋集成化、微型化、低成本的应用中,基于数字图像处理的自动聚焦方法更具有优势。

根据镜头成像分析,镜头的光学传递函数可以近似为高斯函数,它的作用等效为一个低通滤波器。离焦量越大,光学传递函数的截止频率越低。从频域上看,离焦量增大,对图像高频能量造成损失,使得图像的细节逐渐模糊。从空域上看,离焦量增大,点光源成像的光强分布函数越分散,可分辨的成像间距越大,图像相邻像素互相重叠,图像细节损失严重。因此图像清晰度评价函数时建立在图像边缘高频能量上的。

数字处理方法中,自动聚焦的关键在于构造图像的清晰度评价函数。己经提出的图像清晰度评价函数苞括灰度方差、梯度能量、嫡函数和一些频域函数法。图像清晰度评价函数必须具有良好的单峰性和尖锐性,而且要计算量适度,从而可以快速的实现精准对焦。

4、自动曝光

曝光是用来计算从景物到达相机的光通量大小的物理量。图像传感器只有获得正确的曝光,才能得到高质量的照片。曝光过度,图像看起来太亮曝光不足,则图像看起来太暗。到达传感器的光通量的大小主要由两方面因素决定:曝光时间的长短以及光圈的大小。

利用光圈进行自动曝光,主要根据所拍摄的场景来控制光圈大小,使得进光量维持在一定范围内。通过光圈进行曝光控制的成本比较高。现在市场所见的中低端摄像头采用的主流技术通过调整曝光时间来实现自动曝光。

目前自动曝光控制算法方法有两种,一种是使用参照亮度值,将图像均匀分成许多的子图像,每一块子图像的亮度被用来设置参照亮度值,这个亮度值可以通过设置快门的速度来获得。另外一种方法是,通过研究不同光照条件下的亮度与曝光值之间的关系来进行曝光控制。这两种方法都是研究了大量的图像例子和许多不同的光照条件。而且均需要在不同的光照条件下所采集的图像数据库。实际中自动曝光研究需要解决好以下几个问题,首先是判定图像是否需要自动曝光,其次是自动曝光时,如何调整光电转换后数字信号来找出自动曝光能力补偿函数,最后就是调整到什么程度最为合适。

5、伽马校正

在视频采集显示系统中,光电转换(CCD/CMOS)和电光转换(CRT/LCD)的器件的转换特性都是非线性的。这些非线性期间都存在一个能反映各自特性的幂函数,用它来衡量非线性器件的转换特性。这种特性称为伽玛特性,在视频中由于伽玛特性的存在,会导致图像信号的亮度失真,降低通信质量,影响用户体验。因此要对这个失真进行补偿,即伽玛校正。
光电转换器特性的非线性会引起图像非线性失真,图像的非线性失真主要表现在灰度的失真,即图像亮度层次的压缩与扩张,其图像表征为看起来被漂白或者太暗。摄像机/摄像头的伽玛特性大小一般为0.4 - 0.7,显示器的伽玛特性大小一般在1.3 - 2.5之间。
伽玛校正的具体实现方法多种多样,较简单的实现方式是查表法。伽玛校正分两步。首先建立适合所用器件的伽玛校正表,然后根据输入的像素值查表获得伽玛校正后的数据。

6、白平衡

白平衡,字面上的理解是白色的平衡。用色彩学的知识解释,白色是指反射到人眼中的光线由于蓝、绿、红三种色光比例相同且具有一定的亮度所形成的视觉反应。白色光是由赤、橙、黄、绿、青、蓝、紫七种色光组成的,而这七种色光又是有红、绿、蓝三原色按不同比例混合形成,当一种光线中的三原色成分比例相同的时候,习惯上人们称之为消色,黑、白、灰、金和银所反射的光都是消色。通俗的理解白色是不含有色彩成份的亮度。人眼所见到的白色或其他颜色根物体本身的固有色、光源的色温、物体的反射或透射特性、人眼的视觉感应等诸多因素有关,举个简单的例子,当有色光照射到消色物体时,物体反射光颜色与入射光颜色相同,既红光照射下白色物体呈红色,两种以上有色光同时照射到消色物体上时,物体颜色呈加色法效应,如红光和绿光同时照射白色物体,该物体就呈黄色。当有色光照射到有色物体上时,物体的颜色呈减色法效应。如黄色物体在品红光照射下呈现红色,在青色光照射下呈现绿色,在蓝色光照射下呈现灰色或黑色。
由于人眼具有独特的适应性,有时候不能发现色温的变化。比如在钨丝灯下呆久了,并不会觉得钨丝灯下的白纸偏红,如果突然把日光灯改为钨丝灯照明,就会觉查到白纸的颜色偏红了,但这种感觉也只能够持续一会儿。摄像头并不能像人眼那样具有适应性,所以如果摄像机的色彩调整同景物照明的色温不一致就会发生偏色。白平衡就是针对不同色温条件下,通过调摄像头内部的色彩电路使拍摄出来的影像抵消偏色,更接近人眼的视觉习惯。白平衡也可以简单地理解为在任意色温条件下,摄像头所拍摄的标准白色经过电路的调整,使之成像后仍然为白色。

7、颜色空间

颜色空间也称彩色模型(又称彩色空间或彩色系统),它的用途是在某些标准下用通常可接受的方式对彩色加以说明。本质上,彩色模型是坐标系统和子空间的阐述。位于系统的每种颜色都有单个点表示。 在彩色图像处理中,选择合适的彩色模型是很重要的。从应用的角度来看,人们提出的众多彩色模型可以分为两类。一类面向诸如彩色显示器或彩色打印机之类的硬设备(但可以与具体设备相关,也可以独立于具体设备),比如 RFB、CMY、YUV 模型。另一类面向视觉感知或者说以彩色处理分析为目的的应用,如动画中的彩色图形,各种图像处理的算法等,像 HSI、HSV 模型等。

8、YUV 颜色空间

亮度信号(Y)和色度信号(U,V)是相互独立的,也就是Y信号分量构成的黑白灰度图与用U,V信号构成的另外两幅单色图是相互独立的。由于Y,U,V是独立的,所以可以对这些单色图分别进行编码。黑白电视机能够接收彩色电视信号也就是利用了YUV分量之间的独立性。采用 YUV 颜色空间的好处在于人眼对彩色图象细节的分辨本领比对黑白图象低,因此,对色差信号, U、V,可以采用“大面积着色原理”。即用亮度信号Y 传送细节,用色差信号U、V 进行大面积涂色。因此,彩色信号的清晰度由亮度信号的带宽保证,而把色差信号的带宽变窄。正是由于这个原因,在多媒体计算机中,采用了 YUV 彩色空间,数字化的表示,通常采用Y:U:V = 8:4:4, 或者 Y:U:V = 8:2:2。例如8:2:2具体的做法是:对亮度信号Y,每个像素都用8位2进制数表示(可以有256级亮度),而U、V 色差信号每4个像素点用一个8位数表示,即画面的粒子变粗,但这样能够节约存储空间,将一个像素用24位表示压缩为用12位表示,节约 1/2 存储空间,而人的眼睛基本上感觉不出这种细节的损失,这实际上也是图像压缩技术的一种方法。

YUV格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将YUV分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存放YUV三个分量,就像是一个三维平面一样。

9、图像缩放

图像缩放(Scaler)技术,也称图像尺度转换、图像重采样和图像分辨率转换技术,是视频图像处理中的关键技术,广泛应用于实现 FPD 图像分辨率转换。例如,高清晰度数字电视接收到 NTSC 或 PAL 格式的标准清晰度数字电视信号后需转换成 HDTV(1920×1080)格式,才能在 HDTV 的电视上显示;另外,等离子(PDP)电视、TFT-LCD 电视等逐行显示器,须提升接收到的图像分辨率使之和液晶显示屏的物理分辨率一致,才能在终端上显示出视频图像;因此,Scaler 性能的优劣,将直接决定显示器图像的质量。

图像缩放可理解为图像的重采样过程,关键在于用连续模型函数来拟合原始离散图像,在求得连续模型参数后,根据所需缩放倍率对此连续图像进行重采样,得到符合目标分辨率的离散图像。数字图像重采样的本质是对离散图像点进行插值的过程。根据采样/重建理论,理想的插值核为 sinc 函数,但在物理上是不可实现的。通常的插值核函数都是采用近似于 sinc 函数的有限宽度插值函数。最近邻域法是最简单的缩放算法,但会使处理后的图像产生明显的锯齿形边缘和马赛克效应。双线性插值法虽然能解决最近邻域法所存在的问题,但却容易造成图像边缘的模糊。作为改进,又提出了加窗 sinc 核函数,从而得到了高次插值算法,如立方插值、高次样条插值等。


ISP图像传感器基础

1        前言
做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的工作将会起 到事半功倍的效果。否则,缺乏了理论的指导,只能是凭感觉和经验去碰,往往无法准确的把握问题的关键,不能掌握sensor调试的核心技术,无法根本的解 决问题。
所以,这里笔者结合自己出于对摄影的爱好所学习的一些图像处理相关的原理,试图通过分析一些与Sensor图像处理相关的因素,和大家分享一下自己的一些理解,共同探讨,共同学习进步。

2        色彩感应及校正

2.1       原理
人眼对色彩的识别,是基于人眼对光线存在三种不同的感应单元,不同的感应单元对不同波段的光有不同的响应曲线的原理,通过大脑的合成得到色彩的感知。 一般来说,我们可以通俗的用RGB三基色的概念来理解颜色的分解和合成。
 
理论上,如果人眼和sensor对光谱的色光的响应,在光谱上的体现如下的话,基本上对三色光的响应,相互之间不会发生影响,没有所谓的交叉效应。
 
但是,实际情况并没有如此理想,下图表示了人眼的三色感应系统对光谱的响应情况。可见RGB的响应并不是完全独立的。
下图则表示了某Kodak相机光谱的响应。可见其与人眼的响应曲线有较大的区别。
2.2       对sensor的色彩感应的校正
既然我们已经看到sensor对光谱的响应,在RGB各分量上与人眼对光谱的响应通常是有偏差的,当然就需要对其进行校正。不光是在交叉效应上,同样对色彩各分量的响应强度也需要校正。通常的做法是通过一个色彩校正矩阵对颜色进行一次校正。
该色彩校正的运算通常是由sensor模块集成或后端的ISP完成,软件通过修改相关寄存器得到正确的校正结果。值得注意的一点是,由于RGB -> YUV的转换也是通过一个3*3的变换矩阵来实现的,所以有时候这两个矩阵在ISP处理的过程中会合并在一起,通过一次矩阵运算操作完成色彩的校正和颜色 空间的转换。


1.1       白平衡
1.1.1         色温
色温的定义:将黑体从绝对零度开始加温,温度每升高一度称为1开氏度(用字母K来表示),当温度升高到一定程度时候,黑体便辐射出可见光,其光谱成份以及给人的感觉也会着温度的不断升高发生相应的变化。于是,就把黑体辐射一定色光的温度定为发射相同色光光源的色温。
常见光源色温:
光源                        色温(K)
    钨丝灯(白炽灯)            2500-3200k
    碳棒灯                      4000-5500k
    荧光灯(日光灯,节能灯)   4500-6500k
氙灯                        5600 k
炭精灯                      5500~6500k
    日光平均                    5400k
    有云天气下的日光            6500-7000k
    阴天日光                    12000-18000k
 
随着色温的升高,光源的颜色由暖色向冷色过渡,光源中的能量分布也由红光端向蓝光端偏移。
值得注意的是,实际光源的光谱分布各不相同,而色温只是代表了能量的偏重程度,并不反映具体的光谱分布,所以即使相同色温的光源,也可能引起不同的色彩反应。
人眼及大脑对色温有一定的生理和心理的自适应性,所以看到的颜色受色温偏移的影响较小,而camera的sersor没有这种能力,所以拍出来的照片不经过白平衡处理的话,和人眼看到的颜色会有较大的偏差(虽然人眼看到的和白光下真实的色彩也有偏差)。
太阳光色温随天气和时间变化的原因,与不同频率光的折射率有关:
波长长的光线,折射率小,透射能力强,波长短的光线,折射率大,容易被散射,折射率低,这也就是为什么交通灯用红色,防雾灯通常是黄色,天空为什么是蓝色的等等现象的原因。
知道了这一点,太阳光色温变化的规律和原因也就可以理解和分析了,留给大家自己思考。
 
 
1.1.1         色温变化时的色彩校正
所以从理论上可以看出,随着色温的升高,要对色温进行较正,否则,物体在这样的光线条件下所表现出来的颜色就会偏离其正常的颜色,因此需要降低 sensor对红色的增益,增加sersor对蓝光的增益。同时在调整参数时一定程度上要考虑到整体亮度的要保持大致的不变,即以YUV来衡量时,Y值要 基本保持不变,理论上认为可以参考RGB->YUV变换公式中,RGB三分量对Y值的贡献,从而确定RGAIN和BGAIN的变化的比例关系。但实 际情况比这还要复杂一些,要考虑到不同sensor对R,B的感光的交叉影响和非线性,所以最佳值可能和理论值会有一些偏差。
1.1.2         自动白平衡原理
1.1.2.1       原理
自动白平衡是基于假设场景的色彩的平均值落在一个特定的范围内,如果测量得到结果偏离该范围,则调整对应参数,校正直到其均值落入指定范围。该 处理过程可能基于YUV空间,也可能基于RGB空间来进行。对于Sensor来说,通常的处理方式是通过校正R/B增益,使得UV值落在一个指定的范围 内。从而实现自动白平衡。
1.1.2.2       特殊情况的处理
在自动白平衡中,容易遇到的问题是,如果拍摄的场景,排除光线色温的影响,其本身颜色就是偏离平均颜色值的,比如大面积的偏向某种颜色的图案如:草地,红旗,蓝天等等,这时候,强制白平衡将其平均颜色调整到灰色附近,图像颜色就会严重失真。
因此,通常的做法是:在处理自动白平衡时,除了做为目标结果的预期颜色范围外,另外再设置一对源图像的颜色范围阙值,如果未经处理的图像其颜色均值超出了该阙值的话,根本就不对其做自动白平衡处理。由此保证了上述特殊情况的正确处理。
可见,这两对阙值的确定对于自动白平衡的效果起着关键性的作用。
1.1.3         某平台的例子
英文代码              中文界面       色温       色温       RGAIN, GGAIN,   BGAIN
cloud           阴天        7500k   0x1D4C, 0x00CD, 0x0085, 0x0080
daylight        日光        6500k   0x1964, 0x00A3, 0x0080, 0x0088
INCANDESCENCE   白热光    5000k   0x1388, 0x00A5, 0x0080, 0x0088
FLUORESCENT     日光灯      4400k   0x1130, 0x0098, 0x0080, 0x00A8
TUNGSTEN        钨丝灯      2800k   0x0AF0, 0x0080, 0x0081, 0x00A4
 
可以看到随着色温的升高,其变化规律基本符合上节中的理论分析。不过这里多数参数与理论值都有一些偏差,其中日光灯的色温参数设置与理论值有较 大的偏差,实际效果也证明该日光灯的参数设置使得在家用日光灯环境下拍摄得到的照片颜色偏蓝。修改其参数后实拍效果明显改善。(再查一些资料可以看到通常 会有两种荧光灯色温 4000 和 5000K,目前我所接触到的应该是5000K居多)
1.1.4         调试和验证
具体参数的调整,应该在灯箱环境下,使用各种已知色温的标准光源对标准色卡拍摄,在Pc机上由取色工具测量得到其与标准色板的RGB分量上的色彩偏差,相应的调整各分量增益的比例关系。为了更精确的得到结果,曝光量增益的设置在此之前应该相对准确的校正过

颜色相关特效处理

1.1       grayscale (灰阶)
灰阶图的效果就是将彩色图片转换为黑白图片。
1.2       理论
理论上,在YUV空间,将UV分量丢弃,只保留Y分量,这样就可以得到黑白图像,这也是彩色电式机信号能兼容黑白电视机的原理。如下图理论上Y值一样的颜色(右边是用acdsee转成灰度图的效果),在grayscale模式下看应该是一样的颜色。
    
算法上的操作,理论上应该把UV值改成灰色对应数值就可以了。不过根据软件算法和硬件结构的不同,具体代码也会有不同。
1.3       以某平台为例
核心的两行代码如下:
       SET_HUE_U_GAIN(0);
       SET_HUE_V_GAIN(0);
这里设置UV GAIN为0,如果UV offset设置为128的话,最终得到的UV就是128,这就和理论是相符合的。
1.4       sepia / sepiagreen / sepiablue
所谓的复古(绿,蓝)就是在灰阶的基础上,对UV值额外再做了一个offset,将灰度图转换成某种颜色的梯度图。理论上为了获得蓝色效果,应该增加蓝色差信号,减小红色差信号。即增大U,减小V。
以sepiablue效果为例,这里的字节的MSB表示符号位:所以88为88,158为-30。
    SET_HUE_U_GAIN(0); 
    SET_HUE_V_GAIN(0); 
    SET_HUE_U_OFFSET(88);
    SET_HUE_V_OFFSET(158);
 
 
1.5       negative
所谓负片效果,就是将图像的颜色反转,看起来就像是在看胶片底片时的效果。这从理论上也很容易理解和处理,就是在RGB空间,取其补色,具体的操作就是用255分别减去RGB得到新的RGB值。通常会在ISP中实现该功能。
 
2        小结
理解了原理,要做出其它颜色变换方面的效果就很容易了。
基本上,在颜色校正和处理方面,需要考虑的相关参数大致包括:
自动WB上下限,自动白平衡时的目标范围,RGB gain, UV gain, UV offset, color correction.有些还会有saturation 和 hue相关的设置。
从sensor或ISP硬件处理的流程上说,通常方向是先做RGB gain,再做color correction,最后做YUV空间的处理。所以调整效果的时候,为了减少参数之间的相互影响,基本上也可以按这个顺序来调整参数。

1.1       亮度感应及曝光
1.1.1         感光宽容度
从最明亮到最黑暗,假设人眼能够看到一定的范围,那么胶片(或CCD等电子感光器件)所能表现的远比人眼看到的范围小的多,而这个有限的范围就是感光宽容度。
人眼的感光宽容度比胶片要高很多,而胶片的感光宽容度要比数码相机的ccd高出很多!了解这个概念之后,我们就不难了解,为什么在逆光的条件 下,人眼能看清背光的建筑物以及耀眼的天空云彩。而一旦拍摄出来,要么就是云彩颜色绚烂而建筑物变成了黑糊糊的剪影,要么就是建筑物色彩细节清楚而原本美 丽的云彩却成了白色的一片
再看人眼的结构,有瞳孔可以控制通光量,有杆状感光细胞和椎状感光细胞以适应不同的光强,可见即使人眼有着很高的感光宽容度,依然有亮度调节系统,以适应光强变化。
那么对于camera sensor来说,正确的曝光就更为重要了!
1.1.2         自动曝光和18%灰
对于sensor来说,又是如何来判断曝光是否正确呢?很标准的做法就是在YUV空间计算当前图像的Y值的均值。调节各种曝光参数设定(自动或手动),使得该均值落在一个目标值附近的时候,就认为得到了正确的曝光。
那么如何确定这个Y的均值,以及如何调整参数使得sensor能够将当前图像的亮度调整到这个范围呢?
这就涉及到一个概念 18%灰,一般认为室内室外的景物,在通常的情况下,其平均的反光系数大约为18%,而色彩均值,如前所述,可以认为是一种中灰的色调。这样,可以通过对 反光率为18%的灰板拍摄,调整曝光参数,使其颜色接近为中等亮度的灰色(Y值为128)。然后,对于通常的景物,就能自动的得到正确的曝光了。
 
当然这种自动判断曝光参数的AE功能不是万能的,对于反光率偏离通常均值的场景,比如雪景,夜景等,用这种方法就无法得到正确的曝光量了。所以在sensor的软件处理模块中,通常还会提供曝光级别的设定功能,强制改变自动曝光的判断标准。比如改变预期的亮度均值等。
1.1.3         曝光级别设定
在多数数码相机和拍照手机上都可以看到曝光级别设定的功能,如前所述,这种设定实际上是在自动曝光的基础上给用户提供一定的曝光控制能力,强制改变camera sensor的曝光判断标准,获得用户想要的效果。
通常的做法就是改变Y值均值的预期值,使得sensor在自动曝光时以新的Y预期值为目标,自动调整Exptime 和 AG。
1.1.4         gamma校正
曝光的均值正确了,不代表整体图像的亮度分布就和人眼所看到的保持一致了。
事实上,人眼对亮度的响应并不是一个线性的比例关系,而各种涉及到光电转换的设备的输入输出特性曲线一般也是非线性的,且表现为幂函数的形式:y=xn ,所以整个图像系统的传递函数是一个幂函数。g= g1×g2×…×gn
对于sensor来说,其响应倒是接近为线性关系,所以为了在各种设备上正确输出符合人眼对亮度的响应的图像,就需要进行校正。
幂函数的指数的倒数就是通常所说的gamma值。
归一化的gamma曲线

校正的函数可以表示为 '>1,通常对于Window的输出显示系统,gamma值为2.2,而对于苹果的输出显示系统和打印系统来说,gamma值为1.8。

实际上,sensor在做gamma校正的时候,通常也一并作了从raw格式的10bit的数据到8bit数据的转换,所以这时候的公式可以表示为         对比度

对比度的调整在一定程度上说,其实也就是对gamma曲线的调整,增大对比度就是提高Gamma值。对于图像处理来说,也有在硬件gamma校正后,单独由软件再进行一次类似的幂函数变换来调整对比度。
1.1.6         曝光参数的调整
曝光强度的调整,可以通过改变曝光时间,也可以通过改变亮度增益AG来实现。
曝光时间受到桢频的限制,比如摄像时要求15帧每秒的话,这时候曝光时间最长就不能超过1/15s,可能还有别的条件限制,实际的曝光时间还要短,在光线弱的情况下,单独调整曝光时间就无法满足帧频的需要了。
这时候还可以调整增益AG,来控制曝光的增益,降低曝光时间。但是,这样做的缺点是以牺牲图像质量为代价的,AG的增强,伴随的必然是信噪比的降低,图像噪声的增强。
所以,以图像质量为优先考虑的时候,曝光参数的调节通常是优先考虑调节曝光时间,其次在考虑曝光增益。当然曝光时间也不能过长以免由于抖动造成图像的模糊,而在拍摄运动场景时,对曝光时间的要求就更高了

1.1       抗噪处理

AG 的增大,不可避免的带来噪点的增多,此外,如果光线较暗,曝光时间过长,也会增加噪点的数目(从数码相机上看,主要是因为长时间曝光,感光元件温度升高, 电流噪声造成感光元件噪点的增多),而感光元件本身的缺陷也是噪点甚至坏点的来源之一。因此,通常sensor集成或后端的ISP都带有降噪功能的相关设 置。
1.1.1         启动时机
根据噪点形成的原因,主要是AG或Exptime超过一定值后需要启动降噪功能,因此通常需要确定这两个参数的阙值,过小和过大都不好。
从下面的降噪处理的办法将会看到,降噪势附带的带来图像质量的下降,所以过早启动降噪功能,在不必要的情况下做降噪处理不但增加处理器或ISP的负担,还有可能适得其反。而过迟启动降噪功能,则在原本需要它的时候,起不到相应的作用。
1.1.2         判定原则和处理方式
那么如何判定一个点是否是噪点呢?我们从人是如何识别噪点的开始讨论,对于人眼来说,判定一个点是噪点,无外乎就是这一点的亮度或颜色与边上大 部分的点差异过大。从噪点产生的机制来说,颜色的异常应该是总是伴随着亮度的异常,而且对亮度异常的处理工作量比颜色异常要小,所以通常sensor ISP的判定原则是一个点的亮度与周围点的亮度的差值大于一个阙值的时候,就认为该点是一个噪点。
处理的方式,通常是对周围的点取均值来替代原先的值,这种做法并不增加信息量,类似于一个模糊算法。
对于高端的数码相机,拥有较强的图像处理芯片,在判定和处理方面是否有更复杂的算法,估计也是有可能的。比如亮度和颜色综合作为标准来判定噪 点,采用运算量更大的插值算法做补偿,对于sensor固有的坏点,噪点,采用屏蔽的方式抛弃其数据(Nikon就是这么做的,其它厂商应该也如此)等 等。
1.1.3         效果
对于手机sensor来说,这种降噪处理的作用有多大,笔者个人认为应该很有限,毕竟相对数码相机,手机sensor的镜头太小,通光量小,所 以其基准AG势必就比相机的增益要大(比如相当于普通家用数码相机ISO800的水平),这样才能获得同样的亮度,所以电流噪声带来的影响也就要大得多。 这样一来,即使最佳情况,噪点也会很多,数据本身的波动就很大,这也就造成我们在手机照片上势必会看到的密密麻麻的花点,如果全部做平均,降低了噪点的同 时,图像也会变得模糊,所以手机噪点的判断阙值会设得比较高,以免涉及面过大,模糊了整体图像。这样一来一是数据本身就差,二是降噪的标准也降低了,造成 总体效果不佳。
1.2       数码变焦
数码变焦可以有两种形式:
其一,是通过插值算法,对图像进行插值运算,将图像的尺寸扩大到所需的规格,这种算法就其效果而言,并不理想,尤其是当使用在手机上的时候,手 机上的摄像头本身得到的数据就有较大的噪声,再插值的话,得到的图像几乎没法使用。实际上,即使是数码相机的数码变焦功能也没有太大的实用价值。如果插值 算法没有硬件支持,则需要在应用层实现。我司某平台的数码变焦用的就是该种办法。
 
其二,其实是一种伪数码变焦的形式,当摄像头不处在最大分辨率格式的情况下,比如130万像素的sensor使用640*480的规格拍照时, 仍旧设置sersor工作在1280*960的分辨率下,而后通过采集中央部分的图像来获取640*480的照片,使得在手机上看来所拍物体尺寸被放大了 一倍。也有很多手机采用的是这种数码变焦方式,这种办法几乎不需要额外的算法支持,对图像质量也没有影响,缺点是只有小尺寸情况下可以采用。此外在DV方 式下也可以实现所谓的数码变焦放大拍摄功能。(这应该是一个卖点,对Dv来说,这种数码变焦还是有实际意义的)
要采用这种变焦模式,驱动需要支持windowing功能,获取所需部分的sensor图像数据。
1.3       频闪抑制功能
1.3.1         何谓频闪
日常使用的普通光源如白炽灯、日光灯、石英灯等都是直接用220/50Hz交流电工作,每秒钟内正负半周各变化50次,因而导致灯光在1秒钟内发生100(50×2)次的闪烁,再加上市电电压的不稳定,灯光忽明忽暗,这样就产生了所谓的“频闪”。
下表显示了几种光源的光强波动情况:
因为人眼对光强变化有一定的迟滞和适应性,所以通常看不出光源的亮度变化。但是依然还是会增加眼睛的疲劳程度。所以市场上才会有所谓的无频闪灯销售。
1.3.2         对频闪的抑制
对于camera sensor来说,没有人眼的迟滞和适应过程,所以对光源亮度的变化是比较敏感的。如果不加抑制,在预览和DV模式下,可能会有明显的图像的明亮变化闪烁的现象发生。
如何解决呢?考虑到频闪的周期性,在一个周期内,光源亮度的累积值,应该是大体一致的,所以,如果控制曝光的时间是频闪周期的整倍数,那么每一帧图像的亮度就大体是一致的了,这样就可以有效地抑制频闪对图像亮度的影响。
所以,在自动曝光的模式下,sensor会根据频闪的频率,调整曝光时间为其周期的整倍数。 因为各地的交流电的频率不同,所以有50Hz/60Hz之分。
在具体设置相关Sensor寄存器的时候,要根据电流频率和sensor的时钟频率,分辨率等,计算出频闪周期对应的时钟周期数等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多