安霸pipeline简述之rgb域的处理
RGB域处理模块的详细介绍:
RGB域的处理主要是demosaic,color_correction,tone_curve(类似于gamma曲线)。
Demosaic:此模块将bayer Pattern 的图像做插值,把图像从raw域转换到rgb域Demosaic模块中,一些可调节参数及其作用:
Grad_noise_thresh 对全局噪声的去噪等级,值越大,去噪能力越强。
Grad_clip_thresh 对局部噪声的去噪等级,值越大,去噪能力越强。
Alias_interpolation_thresh 针对混频伪细节和伪彩现象的门限设置,值越小,更趋于判断为为细节和伪彩。
Alias_interpolation_strength 针对混频伪细节和伪彩改善强度,值越大,改善效果越好。
Activity_thresh 对全局高频细节的门限设置,值越小,则保留越多全局细节。
Activity_difference_thresh 对局部高频细节的门限设置,值越小,则保留越多局部细节。
Color correction(ccbin):此模块采用3d lut来实现颜色转换,而不是传统的3x3矩阵方式。采用3d lut这种方式可以针对某一颜色来做映射。两者的区别就是3x3矩阵在调节某个颜色时,一定会影响到其他的颜色,而3d lut如果只选取一个颜色做改变时,是不会影响到其他颜色的。
安霸关于ccbin是通过标定来生成四个bin文件来保存颜色校正的参数,这四个Bin文件分别是一个单位映射(类似于CCM中的单位矩阵)、d75色温下的映射、d50色温下的映射、a色温下的映射。如果是某个色温下的颜色风格需要修改就找到对应的色温bin文件修改。Bin文件修改可参考如下:
首先使用安霸提供的IQlab工具,点击source&TargetRGB导入d75\d50\a三组色温的24色卡raw图作为修改ccbin的材料。
可调整的参数有:
- Gamma,在调整颜色前一定要保证亮度水平一致。可通过调整gamma使得色卡中的白色块的r、g、b分量与目标保持一致来保证亮度水平一致。
- CC weighting,可以设定不同色块权重,权重越大代表色块标定越准确。
域名ration,可以设定画面整体的饱和度。
域名 Color,对单个色块进行hue(色度),saturation(饱和度),brightness(亮度的)的修改。
针对单一色块的修改:可尝试修改CC weighting,以及在Edit Color中对hue,saturation进行编辑,例如针对人脸偏黄问题,可选择肤色颜色快,通过改变hue使黄色偏向于红润,便略微提高其saturation,就可以的到一个较好的效果。
针对整体颜色风格的修改:首先需要得到目标图像红、绿、蓝三原色中的r\g\b分量数值的比例以及具体的数值,可通过对hue的加减使图像中的红、绿、蓝三原色中的r\g\b分量数值的比例接近,再修改整体的Saturation使r\g\b分量的数值接近。
tone_curve(类似于gamma曲线):除了Color correction中的gamma曲线,安霸还提供了一个全局映射曲线模块。因为在pipeline中raw域是10bit,而到了yuv域就变为了8bit,所以这个曲线就负责将10bit的信息映射到8bit上。
参数如下:此模块的横坐标是0-255(8bit的亮度值是0-255),纵坐标是0-1023(10bit的亮度值是0-1023),一般使用线性映射,将1023映射到255上,两者的0也对应0。