ISP—黑电平校正(BLC)
目录
1、介绍
众所周知,CMOS传感器采集的信息经过一系列转换,最后生成原始RAW格式数据,RAW数据每个像素点只有一种颜色信息,只是RGB的一个,但是由于sensor对绿色光的频率基本可以全部通过,故RAW data数据里边,有两个G,一个R,一个B。我们要想得到RGB数据就必须利用已有的信息来得到缺失的信息,这个处理后面专门介绍。这里接着黑电平校正说。
我们知道图像数据一般为0--255,但sensor在出厂的时候,厂家一般会设置图像数据输出范围如5-250等,反正最低电平不为零。因此我们就需要对图像数据范围进行调整,使其最小值为零,这就是黑电平校正。
黑电平(BLC)指的是黑色的最低点,指在经过一定校准的显示装备上,没有一行光亮输出的视频信号电平,定义感光图像数据为0时对应的sensor信号电平值。
2、黑电平形成的原因
CMOS传感器采集的信息经过一系列转换生成原始RAW格式数据。以8bit数据为例,单个pixel的有效值是0~255,但是实际AD芯片(模数转换芯片)的精度可能无法将电压值很小的一部分转换出来,因此,sensor厂家一般会在AD的输入之前加上一个固定的偏移量,使输出的pixel value在5(非固定)~255之间,目的是为了让暗部的细节完全保留,当然同时也会损失一些亮部细节,由于对于图像来说,我们的关注度更倾向于暗部区域,ISP后面会有很多增益模块(LSC、AWB、Gamma等),因此亮区的一点点损失是可以接受的。
sensor的电路本身会存在暗电流,导致在没有光线照射的时候,像素单位也有一定的输出电压,暗电流这个东西跟曝光时间和gain都有关系,不同的位置也是不一样的。因此在gain增大的时候,电路的增益增大,暗电流也会增强,因此很多ISP会选择在不同gain下减去不同的bl的值。
许多sensor在输出RAW数据会存在附加的黑电平值,需要在ISP最前端去除干净,如果去除不干净,干扰信息会影响后端ISP各个模块的处理,尤其会导致AWB模块容易不准,出现画面整体偏绿或者整体偏红现象。
3、校正方法
一般BLC模块会放在ISP比较靠前的位置,因为我们希望图像在进入其他模块之前能够还原最为真实的图像。有些sensor会在sensor内部集成BLC的模块,那么此时ISP里的BLC模块只做微调即可。
图像调试流程图
目前主流的黑电平校正方案有两种:
- 由于硬件设计人员在设计BLC模块时需要考虑效果和成本,因此目前市场上使用的ISP一般采用的方法是在sensor输出的图像上减去一个固定数值,该固定值,对RGB各通道可以是一样,也可以是不一样,目前大多数厂家如安霸、海思等基本都是采用该方案;
- 利用黑电平随温度和gain的漂移曲线,利用一次函数的方式进行校正,但是对于不同sensor,漂移曲线不一样,因此该方案没有作为通用方案。
BLC各个通道均需要校正,目前比较长用的方法有:
- 中值
- 全局均值
- 局部均值
- 自定义
4、调试
黑电平校准图片的抓取,需要将摄像机置于全黑环境下,曝光模式调整为手动,曝光时间调整到最大值(一般调整到40ms以上即可),模拟增益、数字增益和ISP数字增益调整为1倍。
摄像机参数设置好以后,就可以使用PQTools中的HiPQ Capture Tool工具进行抓图,抓图时RAW bits根据不同SENSOR的配置,选择正确的数据位数,Mode选择Linear,Frames设置为1帧即可,点击Capture按钮就可以抓取RAW图片。如下图所示:
黑电平校正
黑电平校准需要使用海思的ISP校准工具导入已经抓取的各种增益下的黑电平RAW图像,在进行校准的时候需要填写图像的相关信息,包括Sensor的型号,图像尺寸,BAYER格式等,如下图所示,这些信息在使用抓图工具抓取的图像默认名称种均可以体现,或者在PQtools工具的PubAttr页面中也是可以查询到。
参考
https://www.cnblogs.com/qiqibaby/p/8591036.html
https://blog.csdn.net/zdz8889/article/details/45769289
https://blog.csdn.net/xiaoyouck/article/details/72824534