好色之图 | CMOS成像如何模拟人眼色彩感受?ISP算法有大招

2017-01-09 16:27:34 来源:EEFOCUS
分享到:
标签:

CMOS sensor拍摄的场景可能时时在变化,每次计算AWB得到的Gain会不一致,有时候甚至相差很多,如果实时调整AWB gain的话会让视频画面的色彩有跳跃感,看起来不舒服。为此,通常会做两点,一是AWB gain计算有一个稳定区间,每次计算所得AWB gain后会映射到某个色温C,假设原先的C和当前计算所得的C差异不大(小于某个阈值)的话,就不做调整,也就是说当画面色温变化不大的时候白平衡不变;二是两次色温差异超过阈值,需要调整的话,要采用渐进式慢慢的调整,例如R_gain原本为1.0,调整为2.0,那么每个Frame gain增加0.01,需要100个Frame才能调整到位,以30fps为例,就需要3.3秒时间,这样画面会渐渐的转变过去,看起来比较柔和舒适,没有闪烁的感觉。

 

3.2 Color Correction Matrix

色彩校正矩阵CCM 通常在RGB domain 进行,并且在AWB之后。AWB把白色校正了,相应的其他色彩也跟着有明显的变化,可以说色彩基本正确了,只是饱和度有点低,色彩略有点偏差。CCM就是要保持白色(灰色)不变,把其他色彩校正到非常精准的地步。先看一下CCM计算公式。

 

 

这里CCM之前的像素为[r,g,b]’,CCM之后的像素为[R,G,B]’。 CCM的实现比较简单,就是一个简单的矩阵运算,它的困难在于如何确定矩阵的系数。我们先分析一下这个矩阵中系数的物理意义。C00表示r分量对R的影响,C01和C02分别表示g和b分量对R的影响,假设CMOS的模型完全吻合人眼模型,那么显然C00=1,C01=C02=0,实际上CMOS image sensor中的滤镜不能完全过滤掉那些不希望看到的光波,如图Figure 3.1.2。CCM前后的效果比对大致如下。


Figure 3.2.1 CCM前后比对


在Figure3.1.2中,X轴表示光波的波长,三条不同color的曲线分别表示某CMOS sensor中三种感光单元对不同光波频率的敏感程度。 CMOS sensor感光单元所接受的光波频率普遍太宽,三种色彩出现混叠,导致图像的色彩不够鲜艳。为了消除这种混叠,CCM中的系数就具有一种普遍的规律,系数C00,C11,C22都大于1,其他的系数则都小于0或者近似0。G对R的影响要大于B对R的影响,所以C01的绝对值要比C02的绝对值大。同样,C21的绝对值要比C20的绝对值大。


CCM不能改变白色。白色意味着r=g=b时,计算结果R=G=B=r=g=b,由此我们可以得出:

 

以上公式是CCM必须坚持的原则,这样原本9个独立的系数可以缩减为6个,我们把C00,C11和C22用其他的系数表示。根据经验我们再设定其他6个系数的取值范围,例如可以约束C01范围是[-3,0],C02范围是[-1,0]。要得出这6个系数的确切数值,过程有点复杂,首先来看Imatest对色彩的评价方法。


拍在灯箱中各种色温下的24色卡图片,从图片中取出24个色块所代表的颜色,转换到Lab色彩空间,和标准的24色卡颜色进行比较。如下图右

 

Figure 3.2.2 Imatest 色彩比较


在Figure3.2.2右侧的图片中,小方块代表24个标准色在Lab空间的坐标,小圆点表示实测出来的24种颜色在Lab空间的坐标,二者之间的连线表示误差大小。通常认为误差越小越好,圆点往外侧偏移表示色彩太鲜艳,往内侧偏移表示色彩太淡,其他方向表示色彩偏差。

 

机不可失!前沿科技展资料限时下载
玩转物联网,你需要先看看这个
轻松应对USB Type-C发射与接收机的测试挑战
先进汽车设计与测试完美攻略
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

作者简介
侯莅聪
侯莅聪

东南大学研究生毕业,在瑞晟微电子工作12年。是数字IC设计资深经理和数字图像处理专家,拥有多篇专利。参与研发的USB camera产品,获得市场占有率第一的位置。

微话题

工程师年终奖大PK

(有奖互动)说一说你在年会上的小幸运 ……