【RKAIQ ISP21】RK3568 平台 CCM_CALIB 颜色校正矩阵模块参数详解(GC2053 实战)

关键词RK3568 RKAIQ ISP21 CCM Color Correction Matrix 颜色校正矩阵 色彩校正 IQ Tuning GC2053
适用平台 :RK3568 / RV1126 / RK3588(ISP21 框架通用)
作者笔记 :本文基于 gc2053_default_JX8006.json 实战调试过程整理


📑 文章目录

  • 前言
  • 一、CCM 是什么
  • 二、为什么必须有 CCM
  • 三、CCM_CALIB 整体结构
  • 四、control 模块控制
  • 五、lumaCCM 亮度自适应 CCM
  • 六、TuningPara 调参核心
  • 七、illu_estim 光源估计
  • 八、aCcmCof 光源策略
  • 九、matrixAll CCM 矩阵库
  • 十、CCM 矩阵数学原理
  • 十一、当前 IQ 文件状态分析
  • 十二、实战调试经验
  • 十三、矩阵手工微调技巧
  • 十四、CCM 与其他模块协同
  • 十五、一图速查
  • 十六、CCM 调试铁律
  • 总结
  • 参考资料

前言

ccm_calib 是 RKAIQ ISP21 框架中的:

CCM(Color Correction Matrix)颜色校正矩阵模块

主要作用:

复制代码
把 Sensor RGB
校正到标准色彩空间

它决定:

  • 肤色是否正常
  • 红色是否偏橙
  • 蓝色是否偏紫
  • 绿色是否偏黄

一、CCM 是什么

一句话理解:

复制代码
给 RGB 做一次 3×3 矩阵变换

CCM 的本质

复制代码
去除 RGB 串扰
恢复真实颜色

为什么需要 CCM

因为:

复制代码
Sensor RGB
不是真正的 RGB

例如:

  • 红通道混有绿色
  • 蓝通道混有绿色
  • 绿色混有红色

CCM 的作用

复制代码
把"脏 RGB"
变成"标准 RGB"

二、为什么必须有 CCM

如果关闭 CCM:

复制代码
画面会发灰
颜色不准

典型现象:

  • 肤色灰
  • 天空不蓝
  • 红色偏橙
  • 绿色偏黄

三、CCM_CALIB 整体结构

复制代码
ccm_calib
├── control
├── lumaCCM
└── TuningPara
    ├── illu_estim
    ├── aCcmCof
    └── matrixAll

四、control 模块控制

复制代码
"control": {
    "enable": 1,
    "wbgain_tolerance": 0.1,
    "gain_tolerance": 0.2
}

4.1 enable

含义
1 开启 CCM
0 关闭 CCM

推荐

复制代码
"enable": 1

4.2 wbgain_tolerance

复制代码
0.1

含义

复制代码
AWB 增益变化小于 10%
不重新切换 CCM

作用

复制代码
防止颜色闪烁

4.3 gain_tolerance

复制代码
0.2

含义

复制代码
Sensor gain 变化小于 20%
不更新 CCM

本质

复制代码
滞后机制(Hysteresis)

五、lumaCCM 亮度自适应 CCM

⭐ 暗部彩噪控制核心


5.1 rgb2y_para

复制代码
[38,75,15]

含义

RGB → Y:

复制代码
Y = 0.299R + 0.587G + 0.114B

当前值

复制代码
BT.601 标准量化

5.2 gain_yalp_curve

⭐ 最关键


当前结构

复制代码
"y_alpha_curve":
[0,64,128,...,1024]

含义

复制代码
亮度 → CCM 强度

alpha 规则

alpha 含义
0 不做 CCM
1024 完整 CCM

当前状态

复制代码
全亮度完整应用 CCM

5.3 为什么暗部需要减弱 CCM

因为:

复制代码
暗部噪声很大

CCM:

复制代码
会把噪声变成彩噪

推荐

前 4 点:

复制代码
[0,0,0,0,128,256,...]

效果

复制代码
暗部彩噪明显减少

5.4 gain_alphaScale_curve

当前:

复制代码
全 1

含义

复制代码
不同 gain 不缩放 CCM

六、TuningPara 调参核心

复制代码
"TuningPara": {
    "damp_enable": 1,
    "illu_estim": {...},
    "aCcmCof": [...],
    "matrixAll": [...]
}

七、illu_estim 光源估计

7.1 damp_enable

含义
1 平滑切换
0 立即切换

推荐

复制代码
1

原因

避免:

复制代码
光源切换瞬间颜色跳变

7.2 interp_enable

含义
0 单光源
1 多光源插值

当前

复制代码
0

含义

复制代码
只使用最接近光源

7.3 default_illu

复制代码
"A"

含义

复制代码
默认启动光源

7.4 prob_limit

复制代码
0.2

含义

复制代码
光源置信度小于 20%
不切换

7.5 frame_no

复制代码
8

复制代码
连续 8 帧确认
才切光源

八、aCcmCof 光源策略

当前共有 7 个光源

光源 含义
A 钨丝灯
HZ 钠灯
D75 冷日光
TL84 欧标荧光
CWF 冷白荧光
D65 标准日光
D50 中性日光

8.1 awbGain

复制代码
[1.1857, 2.5794]

含义

复制代码
[R_gain, B_gain]

用于:

复制代码
匹配当前光源

8.2 matrixUsed

复制代码
["A_74","A_100"]

含义

对应:

复制代码
低饱和矩阵
高饱和矩阵

8.3 gain_sat_curve

复制代码
"gains": [1,4,8,16]
"sat": [100,100,95,60]

含义

高 ISO:

复制代码
自动降低饱和度

原因

避免:

复制代码
高 ISO 彩噪

九、matrixAll CCM 矩阵库

⭐ CCM 真正核心


9.1 当前共有

复制代码
14 张矩阵

组成

光源 数量
7 个光源 × 2 档 14

9.2 矩阵结构

复制代码
"ccMatrix": [
1.7374,-0.4821,-0.2553,
-0.4947,1.625,-0.1303,
-0.2138,-1.2794,2.4932
]

十、CCM 矩阵数学原理

公式

复制代码
|R'|   |m00 m01 m02|   |R|
|G'| = |m10 m11 m12| × |G|
|B'|   |m20 m21 m22|   |B|

10.1 对角元素

复制代码
> 1

作用:

复制代码
增强主通道

10.2 非对角元素

复制代码
< 0

作用:

复制代码
减去串扰

10.3 白点保持

每行:

复制代码
和 ≈ 1

例如:

复制代码
1.7374 -0.4821 -0.2553 = 1

原因

复制代码
保证白色亮度不变

十一、当前 IQ 文件状态分析

模块 状态 评价
enable 已开启
lumaCCM 已启用
damp_enable 平滑切换
interp_enable 单光源
gain_sat_curve 已优化
matrixAll 完整

当前特点

复制代码
低 ISO 高饱和
高 ISO 自动降饱和

十二、实战调试经验

经验 1:整体偏色

优先检查:

复制代码
AWB 是否正确

经验 2:暗部彩噪

解决:

复制代码
前 4 个 y_alpha_curve 写 0

经验 3:高 ISO 伪色

解决:

复制代码
高 ISO sat:
95 → 60 → 40

经验 4:场景切换跳变

解决:

复制代码
damp_enable = 1
frame_no = 12

经验 5:混合光不自然

解决:

复制代码
interp_enable = 1

十三、矩阵手工微调技巧

13.1 红色更红

复制代码
m00 增大
m01/m02 更负

13.2 绿色不偏黄

复制代码
m10 更负

13.3 蓝色更纯

复制代码
m21 更负

13.4 调矩阵铁律

复制代码
每行和必须≈1

十四、CCM 与其他模块协同

复制代码
AWB
 ↓
LSC
 ↓
CCM
 ↓
Gamma
 ↓
3DLUT

⚠️ 联调原则

模块 职责
AWB 色温
LSC 边缘颜色
CCM 线性色彩
3DLUT 风格化

十五、一图速查

想做什么 改哪里 怎么改
红更红 m00 增大
蓝更纯 m21 更负
降暗部彩噪 y_alpha_curve 前段写 0
高 ISO 防彩噪 sat 降低
防闪烁 damp_enable 1
防频繁切换 frame_no 8→16
混合光自然 interp_enable 1

十六、CCM 调试铁律

铁律 1

复制代码
AWB 不准
CCM 必错

铁律 2

复制代码
LSC 问题
不要怪 CCM

铁律 3

复制代码
暗部 CCM 要减弱

铁律 4

复制代码
高 ISO 饱和度必须降低

总结

CCM 的本质:

复制代码
恢复真实颜色

它决定:

  • 肤色

  • 天空颜色

  • 红绿蓝纯度

  • 整体色彩准确性
    真正项目里最重要的是:

    自然
    稳定
    不过饱和

因此:

  • AWB 先准
  • CCM 再调
  • 暗部减弱 CCM
  • 高 ISO 自动降饱和
    才是正确的 CCM 调参方式。

参考资料

  1. Rockchip RKAIQ Framework Documentation
  2. RKAIQ ISP21 CCM Calibration Guide
  3. GC2053 Datasheet
  4. RKMedia Developer Guide
  5. RKAIQ Source Code
相关推荐
岁月蹉跎的一杯酒1 天前
【RKAIQ ISP21】RK3568 平台 DPCC 坏点校正模块参数详解(GC2053 实战)
isp
ballball~~2 个月前
ISP-Tone Mapping
图像处理·算法·isp
ballball~~2 个月前
ISP-Gamma
图像处理·算法·isp
庄周迷蝴蝶2 个月前
什么是Hue?
isp
冒险家KL2 个月前
STM32 ISP自动下载探索及官方STM32CubeProgrammer实现自动下载
stm32·嵌入式硬件·isp
AomanHao3 个月前
【阅读笔记】沙尘图像线性颜色校正A fusion-based enhancing approach for single sandstorm image
图像处理·笔记·isp·图像增强·沙尘图像·色偏·颜色校正
芯门3 个月前
FPGA商用级ISP(二):镜头阴影校正(LSC)的网格增益插值与并行硬件架构实现
图像处理·fpga开发·isp
芯门3 个月前
FPGA商用级ISP:动态坏点校正(DPCC)的滑窗架构与并行判决实现
图像处理·fpga开发·isp
CheungChunChiu3 个月前
模拟 GStreamer 获取帧率能力:CIF 与 ISP 的差异
linux·网络·接口隔离原则·isp·cif·gst