2. RK ISP 硬件架构:ISP Pipeline 介绍与关键模块功能解析
在 RK 平台 ISP 调试中,理解硬件 Pipeline 是参数调优的基础。本章将拆解 ISP 的完整数据流,并逐一解析 DPCC、BLC、LSC、AWB、CCM、Gamma、NR、Sharpen 等核心模块的功能与调试要点。
2.1 ISP Pipeline 整体架构
RK ISP 采用流水线架构,Sensor 输出的 RAW 数据依次经过多个处理模块,最终输出 YUV 或 RGB 图像。每个模块都有独立的寄存器控制参数,模块间的顺序直接影响最终画质。
关键理解: ISP Pipeline 的模块顺序是固定的,但每个模块的使能/旁路、参数强度可通过调试接口动态调整。降噪与色彩校正的联合调优,本质是在不同模块间寻找平衡点。
2.2 关键模块功能解析
下表汇总了 8 个核心模块的输入/输出、主要功能及调试目标,帮助快速建立模块认知。
| 模块 |
全称 |
输入 |
输出 |
核心功能 |
调试目标 |
| DPCC |
Defect Pixel Cluster Correction |
RAW |
RAW |
检测并校正坏点簇 |
消除静态/动态坏点,避免残留 |
| BLC |
Black Level Correction |
RAW |
RAW |
减去光学黑电平偏移 |
恢复黑电平一致性,避免偏色 |
| LSC |
Lens Shading Correction |
RAW |
RAW |
补偿镜头边缘亮度衰减 |
均匀亮度,消除暗角 |
| AWB |
Auto White Balance |
RAW |
RAW |
估计色温并调整 R/G/B 增益 |
还原中性灰,避免色偏 |
| CCM |
Color Correction Matrix |
RAW |
RAW |
3x3 矩阵校正色彩串扰 |
提升色彩饱和度与准确性 |
| Gamma |
Gamma Correction |
RAW |
RAW |
非线性亮度映射 |
适配显示设备,提升暗部细节 |
| NR |
Noise Reduction |
RAW/YUV |
RAW/YUV |
空域/时域降噪 |
抑制噪声,保留边缘 |
| Sharpen |
Sharpening |
YUV |
YUV |
边缘增强 |
提升清晰度,避免过冲 |
2.3 模块分组与调优关联
根据调优目标,可将 8 个模块分为 3 组:
- 预处理组(DPCC、BLC、LSC): 修复 Sensor 与镜头物理缺陷,是后续模块的基础。若 LSC 校正不足,CCM 会放大边缘色差。
- 色彩组(AWB、CCM、Gamma): 决定最终色彩风格。AWB 偏差会直接导致 CCM 输出偏色,Gamma 曲线影响色彩对比度。
- 清晰度组(NR、Sharpen): 控制噪声与细节的平衡。NR 过强会抹除纹理,Sharpen 过强会引入振铃。
联合调优提示: 降噪与色彩校正的冲突点在于——NR 会模糊色彩边界,导致 CCM 校正后的色彩饱和度下降。建议先固定 NR 强度,再调整 CCM 矩阵,最后微调 Sharpen 补偿细节。
2.4 模块数据流与寄存器配置示例
在 RK 平台,每个模块对应一组寄存器地址。以下是一个简化的模块使能配置示例:
// 伪代码:RK ISP 模块使能配置
isp_write_reg(ISP_DPCC_CTRL, 0x01); // 使能 DPCC
isp_write_reg(ISP_BLC_CTRL, 0x01); // 使能 BLC
isp_write_reg(ISP_LSC_CTRL, 0x01); // 使能 LSC
isp_write_reg(ISP_AWB_CTRL, 0x01); // 使能 AWB
isp_write_reg(ISP_CCM_CTRL, 0x01); // 使能 CCM
isp_write_reg(ISP_GAMMA_CTRL,0x01); // 使能 Gamma
isp_write_reg(ISP_NR_CTRL, 0x01); // 使能 NR
isp_write_reg(ISP_SHARP_CTRL,0x01); // 使能 Sharpen
实际调试中,可通过旁路单个模块(写 0x00)观察其对最终图像的影响,这是定位问题模块的常用方法。
2.5 模块间依赖关系与调试顺序
模块间存在强依赖关系,错误的调试顺序会导致反复返工。推荐调试顺序如下:
- DPCC & BLC: 先校正坏点与黑电平,确保 RAW 数据干净。
- LSC: 补偿镜头阴影,避免后续模块放大边缘误差。
- AWB: 在标准光源下校准白平衡,为 CCM 提供准确输入。
- CCM: 使用色卡校正色彩矩阵,固定色彩风格。
- Gamma: 根据目标显示设备调整亮度映射曲线。
- NR & Sharpen: 最后联合调整,平衡噪声与清晰度。
常见误区: 不要先调 NR 再调 CCM。NR 会改变色彩统计信息,导致 CCM 校正失效。正确的做法是:先固定色彩通道(AWB+CCM),再处理噪声与锐度。
2.6 本章小结