ISP--Black Level Correction(黑电平矫正)

在上一篇文章中,我们已经知道了Sensor的构造,Sensor的成像原理。但是从光信号转换为图像,其中还有许多的工作,OBC就是其中之一。

在之前的文章中,我们已经知道了,每一个像素点都是由一个光电二极管控制的,由二极管将电信号,转换为数字信号。

那么,我们知道了,图像的像素值是与电信号强度相关的。但是,我们得知道,每一个光电二极管要想工作,都得有一定的电压。这就是的,即使在外部没有光线照射的时候,Sensor也会有一定的电压。

那这不就会在成像时叠加到电信号中,影响成像了吗?

这可不兴加啊,宝友!

这就是Optical Black Correct(OBC)存在的意义。

OBC 指的是光学暗区矫正,是在成像时,将一部分暗电流减去,这部分电流也称之为黑电平。

那么,要如何获取黑电平的数值呢?

preview

如上图所示,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的分布满足如下规律:

preview

随着增益的增加,OB的均值可能不变,但是方差会变大。主要是因为sensor内OB扣除是在Again之后做的,所以随着Again的增加,噪声的影响增大,导致了OB的方差增加。

这个时候如果还是按照OB的均值扣除,画面暗处就有可能出现偏色的问题。例如下图所示:

可以看到右图在强行提亮后,暗处出现了很严重的偏紫问题。主要是因为OB方差的变大,如果ISP再按照OB平均值扣除,那么就可能会有较多的黑电平残留,受白平衡(Rgain、Bgain)的影响,故画面暗处会偏紫。

此时的解决方法为:

               1.多扣一点OB,缺点为破坏了噪声形态会引入较多噪点。

               2.分通道扣除OB,缺点为偏色的情况会受环境色温影响。

而且OB还会随着温度的变化而发生变化,如果OB的扣除没有跟随温度变化的话,也会出现偏色问题。

而且OB扣除可以在成RAW域前或后两个时间节点进行,而这也各有优缺点:

               1、OB在成RAW域图像之前扣除清晰度更优

               1、OB在成RAW域图像之后扣除则噪声更优

 

在ISP处理中,OB一般为第一个模块,当然也可以放在RAW域去噪之后。

最简单扣除OB的方法是减去均值,然后再对G通道做线性拉伸,举例来说就是Goutput = Ginput*255/(255-Black Level)。做线性拉伸的原因是扣除OB后RGB通道均不饱和,而R、B通道因为白平衡增益(Rgain、Bgain)的存在可以达到饱和,Ggain的增益一般为1,这样在画面接近过曝的地方就会偏紫。

除了减去均值,还可以使用最大值、中值、局部均值等等方法扣除OB。

此外,因为OB跟增益相关,故可以根据不同的增益扣除不同的OB。

 

今天为什么想聊一聊OB,主要是因为在工作中,夜景算法遇到了暗处提亮偏紫的问题,得知OB扣除的问题与偏色有着很大的关系,所以想聊一下,也记录一下。感谢大佬给我开的小灶~

欢迎关注我的个人公众号,这里有更多好康的喔~

                                     

 

 

  • 9
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: OBC Mathcad是一种数学软件,用于进行各种数学计算和建模。它提供了一个直观的操作界面和丰富的数学函数库,使用户能够轻松地进行复杂的数学运算和分析。 OBC Mathcad的主要优点之一是其可视化功能。用户可以通过绘制图表和图形来展示和分析数据,从而更好地理解数学模型和方程式。这使得解决数学问题更加直观和易于理解。 此外,OBC Mathcad还提供了一系列强大的计算工具和算法,使用户能够进行各种数学计算,如线性代数、微积分、概率统计、数字分析等。用户可以使用这些工具进行数值计算、方程求解、数值优化等操作,方便了数学建模和分析过程。 OBC Mathcad还具有一些便捷的特性,如文档编辑器、图形绘制工具和方程录入等。用户可以在编辑器中创建自己的数学文档或工作表,并在其中输入数学公式、方程式和变量。同时,图形绘制工具可以帮助用户可视化数据和结果,方便用户进行数据分析和探索。 总之,OBC Mathcad是一款强大的数学软件,可以帮助用户进行复杂的数学计算和建模。它的可视化功能、强大的计算工具以及便捷的特性使得数学建模和分析过程更加高效和直观。无论是在学术研究、工程设计还是数据分析领域,OBC Mathcad都是一款非常有用的工具。 ### 回答2: OBC Mathcad是一种数学问题求解软件,它提供了一个直观且易于使用的界面,能够帮助用户解决各种数学难题。 Mathcad是一种基于工程学方法的软件程序,它通过图形化的方式将复杂的数学问题呈现给用户。用户可以通过输入方程、变量和初始条件来解决不同类型的数学问题,包括代数方程、微分方程、积分等。 OBC Mathcad的一个重要特点是其集成的绘图功能。用户可以直接在Mathcad中绘制各种数学图形,如函数图、曲线图、散点图等。绘图功能不仅可以帮助用户更好地理解数学问题的解决过程,还可以直观地展示结果和趋势。 除了数学问题的求解和绘图功能,OBC Mathcad还支持数据分析和统计分析。用户可以输入和处理大量数据,并通过数学模型和算法对数据进行分析和预测。这对于需要进行数据建模、优化和决策的用户来说尤为重要。 OBC Mathcad还提供了丰富的数学函数库和工具箱,可以帮助用户更高效地解决各种数学问题。用户可以使用这些函数和工具进行数字计算、向量运算、矩阵运算等。此外,Mathcad还支持用户自定义函数和算法,提供了更大的灵活性和扩展性。 总结来说,OBC Mathcad是一种功能强大的数学问题求解软件,可以帮助用户解决各种数学难题,进行数据分析和统计分析。它提供了直观易用的界面、绘图功能和丰富的数学函数库,非常适合工程师、科学家和学生使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值