提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
AWB tuning 中,有个色彩校正模块CCM,今天就来聊一下,主要是关于它的算法计算原理。
一、概念
CCM色彩校正矩阵,用于修正图像传感器所捕捉到的原始RGB数据,使输出的图像颜色更接近自然色或人眼的感知。
二、校准(MTK 6s为例)
ps:此部分旨在疏通流程,工具具体操作步骤不在此叙述,若需要可参考 MTK 官方文档
- 确认前端模块正常,before CCM 的模块确认OK,OB、LSC、AE。
- 获取 processed raw(after lsc),使用对应模组sensor,开dump,在标准灯箱,拍摄不同光源( D65 TL84 CWF A H)色卡,色块建议占比25%,亮度要求patch#19 350<G<550,10bit。
- 工具校正,导入processed raw、gamma、target 色卡,然后选择不同光源进行校正。
- 校正后数据,CCM.cpp
- 参数调用,根据awb gain进行矩阵差值,这里的awb gain是no preference gain。
**输入数据敲重点:**
1.raw,因不同sensor对rgb的响应是不同,在同环境采集的数据会存在差别,所以每颗新料都需要重新校正----》不同sensor,processed raw不同
2.gamma,与AE息息相关,gamma修改会导致最终成像色彩和目标色彩存在差异----》gamma可变,修改后需重新校准CCM
3.target, 经典色卡目标数据可以是jpg或者csv格式,固定不可修改-----》target 固定
输入数据中,变量是process raw和gamma
三、计算
1、校准目标
(mtk)得到3*3矩阵,且行归512
eg:如下图,RR+RG+RB=1362+(-917)+67=512
疑问点
1、CCM是在rgb域实现的,那色域转换是rgb色域直接到rgb色域嘛?
2、相加和为512的依据是什么?
2、彩色图像处理
为了解决前面的疑问,需要具备彩色相关基础,了解颜色和色谱,了解数字图像处理有哪些彩色模型。人眼椎状体是负责色觉的传感器,约600~700万个,能感知很多色彩,而机器和人眼对色彩的响应范围是存在差异的。随着科技的发展,各行行业都有定义自己的色域模型。
2.1、彩色基础
光的三原色:RGB ,由CIE(国际照明委员会)定义,R 700纳米(nm),G 546.1纳米(nm),B 435.8纳米(nm)
光的二次色:CMY,由三原色相加
色度:色调和饱和度统称为色度,一种颜色可以由其亮度和色度表示。
三色值:任何一种特色颜色的红色量,绿色量,蓝色量,分别表示XYZ,由CIE定义。归一化是简化颜色的计算和比较,将颜色转到二维坐标中进行分享。
CIE色度图:确定了人眼感知到的所有色彩范围,可用来定义色彩空间。 CIERGB色度图,使用三原色RGB来定义颜色,不同 的RGB光混合可以产生各种可见的颜色,直观的展示出颜色在RGB彩色空间的分布情况。因在RGB系统中r的刺激值是负数,实际不存在负数的光强,所以CIE1931年定义了假象的标准原色X(红)Y(绿)Z(蓝),CIEXYZ色度图,国际标准表示颜色的方式,基于XYZ描述颜色,目的是提供一种与设备无关的颜色表示方法,以便在不同的设备和应用中准确地描述和传递颜色信息。
eg:
CIERGB色度图
CIEXYZ色度图
2.2、彩色模型
用某种标准来描述颜色,不涉及颜色种类和范围,通俗点,就是建立数学模型,其坐标轴就是对应的某种标准。
-
RGB彩色模型,每种颜色都可以使用红色、绿色、蓝色光谱成分显示,应用于彩色显示设备和彩色摄影机。
-
CMY\CMYK彩色模型,青色Cyan、深红色Magenta、黄色yellow是颜料的三原色,等量的CMY混合,理想结果是黑色,但由于颜料纯度不够,实际容易混合出棕色,不满足生产需求,为产生真正的黑色,需要加入第四种颜色—黑色black,由此定义了CMYK彩色模型。
RGB转CMY\CMYK
每个颜色通道8bit,那就是255
-
HSI彩色模型,便于人类描述颜色,色调、饱和度、亮度。
RGB转HSI公式
- CIE Lab模型:为了保持显示器和输出设备之间颜色一致性,需要用一个与设备无关的彩色模型来实现,许多色彩管理系统选择CIE Lab模型。
Lab*彩色分量的计算公式如下:
2.3、色彩空间(摄影、显示)
色彩空间 | 描述 | 色度图覆盖率 |
---|---|---|
sRGB (Standard Red Green Blue) | 1996年开发,应用在网页和消费电子产品 | 约30% |
Adobe RGB | 1998年开发,应用专业图像编辑和印刷行业 | 1998年开发,应用专业图像编辑和印刷行业 |
NTSC | 美国国家电视标准委员会制定的色域标准,主要用于模拟电视广播 | >srgb,不常用 |
DCI-P3 | 数字影院 | >Adobe RGB |
Rec.601(BT601) | 国际电信联盟(ITU)制定的一个标准,最早数字视频标准之一,主要用于标清电视(SDTV) | <Rec. 709 |
Rec. 709(BT709) | 国际电信联盟(ITU)为高清电视(HDTV)制定的色彩空间标准 | sRGB色域相似,但略有不同 |
Rec. 2020(BT.2020) | ITU为超高清电视(UHDTV)制定的最新色彩空间标准 | >Rec. 709 |
BT.2100 | ITU-R为HDR电视制定的推荐标准 | 与BT.2020相兼容 |
ProPhoto RGB | 柯达公司开发,用于专业摄影和印刷 | >90% |
Display P3 | 苹果公司为其显示设备定义的色彩空间 | >srgb |
2.4 彩色模型、色彩空间和色域之间的关系?
如彩色显示设备–》RGB彩色模型 显示设备可以是SRGB色彩空间,也可以是adobeRGB色彩空间;
其中SRGB色彩空间的色域<adobeRGB色彩空间的色域 ;
色彩模型是用数学方式描述颜色,不同模型,坐标轴不同;
色彩空间(子集)是基于一个模型来说,所包含颜色的范围和精度(8bit、16bit),最大的色彩空间是色度图(全集);
色域特定色彩空间能够表示的颜色范围。
3、色彩管理
色彩管理是一个在不同设备和媒介之间确保色彩一致性的系统,它涉及多个步骤和组件,包括设备校准、色彩特性文件的创建和色彩空间的转换。以下是色彩管理的一些基本概念和流程:
- 设备校准(Calibration):这是色彩管理的第一步,涉及调整输入(如扫描仪、相机)和输出(如打印机、显示器)设备以确保它们的颜色输出符合一定的标准。
- 设备特征化(Characterisation):在这一步中,使用色彩测量工具(如分光光度计)来测量设备的色彩输出,并创建一个设备特性文件(ICC Profile),该文件描述了设备的色彩能力。
- 色彩空间转换(Conversion):色彩管理系统使用设备特性文件来转换色彩数据,以确保在不同设备间的色彩一致性。这个过程通常涉及到一个中间的色彩空间,如CIE Lab或CIE XYZ,这些空间是与设备无关的。
- 色彩特性文件(ICC Profile):这是色彩管理的核心,包含了设备的色彩描述信息,用于在不同设备间进行色彩转换。
- 色彩管理模块(CMM):这是色彩管理系统中的软件部分,负责实际的色彩转换工作。
- 再现意图(Rendering Intent):在色彩转换过程中,需要指定再现意图,它决定了如何处理色彩空间外的颜色。常见的再现意图包括相对色彩度、绝对色彩度、饱和度和感知。
- 色彩测量工具:如分光光度计和色度计,用于精确测量和分析色彩。
- 色彩管理软件:市面上有多种色彩管理软件,如BasicColor、i1Profiler、pressSIGN等,它们提供了不同的功能来支持色彩管理工作流程。
- 标准光源箱:用于在一致的照明条件下观察和比较颜色,以减少环境光线对色彩判断的影响。
- 国际标准色卡:如Pantone色卡,提供了一种通用的颜色语言,以确保不同用户和设备间的颜色一致性。
色彩管理的目的是确保设计、摄影、印刷等行业中色彩的准确性和一致性,从而提高产品质量和客户满意度。随着技术的发展,色彩管理在包装印刷、数字媒体和跨平台设计中变得越来越重要。
4、CCM 计算
不同sensor对RGB的响应不同,且与人眼有差,不做任何转换时,其捕捉到的RGB数据不属于标准色彩空间中,需要将其转化到标准色彩空间中。因不同环境采集到的RGB数据不同,所以需要求得矩阵M,然后通过转换到sRGB空间。其中,色彩空间转化过程中会涉及中间色彩空间,该空间与设备无关,如CIEXYZ,或者CIELab,简易流程如下:
由sensor_RGB空间分别经过M2和M’以及1/gamma校正完成。其中,sensorRGB空间我们称之为"源色彩空间",非线性sRGB空间称之为"目标颜色空间"target。目前,我们能够得到源色彩空间的"不饱和图"对应的24色色块,也有非线性SRGB空间的"饱和图"对应的24色色块,而M1和1/gamma的数值是已知的,那么,只需要将非线性sRGB经过1/gamma校正然后再转换到XYZ空间,那时就可以和sensorRGB数值联立从而求得矩阵M2,继而求得M。
sensor_RGB,已知,采集的processed raw 数据
M2未知
M1可求出:非显性的sRGB经过反gamma变换,得到线性sRGB,因标准色彩空间转换的公式已知,可求得M1,比如基于sRGB定义的参考白点D65的转换矩阵:
非线性的sRGB: targrt(前面校准环节有提到)
1/γ:反gamma
综上所述的,raw和gamma发生变化时,CCM都需重新校准。