图像的每一个像素点都是由一个光电二极管控制的,由二极管将电信号,转换为数字信号。
那么,我们知道了,图像的像素值是与电信号强度相关的。但是,我们得知道,每一个光电二极管要想工作,都得有一定的电压。这就是的,即使在外部没有光线照射的时候,Sensor也会有一定的电压。
那这不就会在成像时叠加到电信号中,影响成像了吗?
这就是Optical Black Correct(OBC)存在的意义。
OBC 指的是光学暗区矫正,是在成像时,将一部分暗电流减去,这部分电流也称之为黑电平。
那么,要如何获取黑电平的数值呢?
如上图所示,Sensor上预留了一些完全没有曝光的像素,通过读取这些像素值的大小,可以实时得到optical black level,此时sensor的输出RAW = Sensor input - optical black level 。
尽管这些black lines已经充分考虑到了不同column的OB不同,但因为在sensor边缘的black lines会受到PCB layout、电源纹波、模组结构设计等等因素的影响,故此时OB扣除的还是可能不准确,导致部分相机厂商不使用这个功能,但是在安防类或车载类摄像头上,部分厂商还是使能了OBC功能的。
然后考虑到sensor输出的信噪比,所以一般Sensor在输出数据时又会垫上一个基底(pedestal),此时sensor的RAW = sensor input - optical black level + pedestal。对于芯片处理来说,一般拿到的就是这个数据,此时需要在ISP处理流程的起始部分减去这个基底。在芯片内部一般叫做BLC,即Black Level Correct(黑电平校正)。
Again与OB分布
单纯的从Again上,OB的分布满足如下规律:
随着增益的增加,OB的均值可能不变,但是方差会变大。主要是因为sensor内OB扣除是在Again之后做的,所以随着Again的增加,噪声的影响增大,导致了OB的方差增加。
这个时候如果还是按照OB的均值扣除,画面暗处就有可能出现偏色的问题。例如下图所示:
可以看到右图在强行提亮后,暗处出现了很严重的偏紫问题。主要是因为OB方差的变大,如果ISP再按照OB平均值扣除,那么就可能会有较多的黑电平残留,受白平衡(Rgain、Bgain)的影响,故画面暗处会偏紫。
此时的解决方法为:
1.多扣一点OB,缺点为破坏了噪声形态会引入较多噪点。
2.分通道扣除OB,缺点为偏色的情况会受环境色温影响。
而且OB还会随着温度的变化而发生变化,如果OB的扣除没有跟随温度变化的话,也会出现偏色问题。
而且OB扣除可以在成RAW域前或后两个时间节点进行,而这也各有优缺点:
1、OB在成RAW域图像之前扣除清晰度更优
2、OB在成RAW域图像之后扣除则噪声更优
在ISP处理中,OB一般为第一个模块,当然也可以放在RAW域去噪之后。
最简单扣除OB的方法是减去均值,然后再对G通道做线性拉伸,举例来说就是
Goutput = Ginput*255/(255-Black Level)
做线性拉伸的原因是扣除OB后RGB通道均不饱和,而R、B通道因为白平衡增益(Rgain、Bgain)的存在可以达到饱和,Ggain的增益一般为1,这样在画面接近过曝的地方就会偏紫。
除了减去均值,还可以使用最大值、中值、局部均值等等方法扣除OB。此外,因为OB跟增益相关,故可以根据不同的增益扣除不同的OB。
————————————————
转自:https://blog.csdn.net/weixin_38419133/article/details/115840015