CCM tuning简要说明

一,什么是color correction?



二,为什么要进行color correction?

转换后的色彩饱和度更加明显,更加符合人眼感官。

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



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



CMOS sensor感光单元所接受的光波频率普遍太宽,三种色彩出现混叠,导致图像的色彩不够鲜艳。为了消除这种混叠,CCM中的系数就具有一种普遍的规律,x1+x2+x3 = 1;  Rr Gg Bb需满足>=1,其他的系数则都小于0或者近似0。Rr Gg Bb对应了CCM矩阵的R,G,B分量的饱和度, 数值越大饱和度越大。G对R的影响要大于B对R的影响,所以Rg的绝对值要比Rb的绝对值大。同样,Bg的绝对值要比Br的绝对值大。CCM不能改变白色。白色意味着r=g=b时,计算结果R=G=B=r=g=b。Rb对应了R中的蓝色分量,越大红色里的蓝色就越多,越品红。Rg对应了R中的绿色分量,越大红色里的绿色就越多,越黄。



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



Color Correction Tuning是ISP tuning中重要的一环,由于Image Sensor对三原色RGB的响应跟人眼有较大的差别,以及pixel之间Crosstalk现象的存在,Image Sensor输出的图像必须经过Color Correction才能还原出比较真实的色彩。

Color Correction算法接触过tuning的人都很熟悉了,就是一个3x3的矩阵运算,且几乎所有的ISP都会用到这个算法:



算法是比较简单,但对于很多新手来说,知道是这么算,可用工具生成的参数出现了色彩偏差,怎么办?再拍张raw图,再导进工具生成一组,我刚入行就经常这么干,运气不好的话几天都在做重复的工作,而且没有实质性进展。

下面我简单说一下这几个参数该怎么调。

1、将参数在L*a*b* 色域中标注出来:




2、重点关注RGB三原色的色相,往哪边偏就把对应的数值减小,把相邻的数值加大。

例如,R向M方向偏,就需要把①对应的数值减小,把②对应的数值加大。

3、用主色分量上的值补偿之前的修改,使每行之和恒等于1。



★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论