关于摄像头sensor处理ob问题, 及平台后期处理问题
阅览次数:1658 次
当我们在平台上调试或者直接调试一些YUV产品时候,都会调试一个模块。BLC(black level correction)或者我们俗称的矫正暗电流(OB)。关于OB产生的原因,我这里只是简单的介绍一下。详细的自己可以在网上查找。
暗电流产生的原因:我们知道CMOS芯片通过光电二极管,把光信号量化成模拟信号,模拟信号通过A/D转换成数值信号,最后经过一些VFE处理流程得到我们照片。暗电流主要产生在光信号转化成模拟信号的过程。光电二极管受到一些干扰,或者其他一些原因,导致全黑的状态下输出的量化值并不是0,这种现象一般是避免不了的。所以正常输出一般会把这个OB值减去,方便后期的处理。有些芯片会在内部处理掉这个值。而有些芯片不会处理这个值,然后期ISP来处理。当OB异常时候经常导致一些暗态问题,如常见的暗态偏绿。
今天我们主要探究的是处理这个OB值。
第一芯片自身出厂前处理,芯片厂商一般会有专门统计BL值的寄存器,通过多帧统计,然后对这个值减去。比如说一个输出量化为8bit的sensor其量化的范围为(0-255)。当前统计的OB值为16那样的话。那么内部自实现会在当前的量化值上去减去OB值。那么sensor此时输出的值会被量化在(0-239),那么最高量化为239。这样作为8bit数据输出有问题。而且高亮达不到我们芯片内部ADCrange的最大值。这样高亮的地方就无法饱和,经常表现的就是高亮处发粉问题。通常情况芯片内部会在量化后(0-239)统一乘以一个系数,通常是glb_gain。这个系数k=255/239。这样就能满足量化了。所以芯片出厂OB为0的厂商一般会这样做。
对于那些不为0的芯片,如常接触的OV的64。就是他们芯片并不去这样处理,等后期ISP统一处理。一般OB模块在ISP流的最前面。通过验证大部分的平台(高通 MTK等),基本处理方法如上芯片内部处理一样,然量化后的值能满足对应bit输出。
---------------------
作者:super-H
来源:CSDN
原文:https://blog.csdn.net/superHubin/article/details/76058156
版权声明:本文为博主原创文章,转载请附上博文链接!