关键词RK3568 RKAIQ ISP21 GIC Green Imbalance Correction 绿色通道平衡 Maze Pattern IQ Tuning GC2053
适用平台:RK3568 / RV1126 / RK3588(ISP21 框架通用)
作者笔记:本文基于 gc2053_default_JX8006.json 实战调试过程整理


📑 文章目录

  • 前言
  • 一、GIC 是什么
  • 二、什么是 Gr/Gb 不平衡
  • 三、整体架构
  • 四、enable —— GIC 总开关
  • 五、gr_ration —— Gr/Gb 比例修正
  • 六、ISO 9 档控制轴
  • 七、亮区参数详解
  • 八、暗区参数详解
  • 九、噪声相关参数
  • 十、globalStrength 全局强度
  • 十一、当前 IQ 文件状态分析
  • 十二、GC2053 推荐 GIC 配置
  • 十三、实战调试场景
  • 十四、GIC 调试 5 大铁律
  • 十五、GIC 与其他模块协同
  • 十六、GIC vs DPCC vs BLC
  • 十七、板端验证方法
  • 十八、一图速查
  • 总结
  • 参考资料

前言

agic_calib_v21 是 RKAIQ ISP21 框架中的:

GIC(Green Imbalance Correction)绿色通道平衡模块
它的作用可以简单理解为:

修复 Bayer 阵列中 Gr 与 Gb 的亮度不一致

从而解决:

绿色棋盘格(Maze Pattern)

问题。

一、GIC 是什么

一句话理解:

检测 Gr/Gb 差异
    ↓
平滑两者
    ↓
消除绿色棋盘格

Bayer 阵列结构

R  Gr R  Gr
Gb B  Gb B
R  Gr R  Gr
Gb B  Gb B

其中:

通道 含义
Gr 奇数行绿色
Gb 偶数行绿色
理想情况:
Gr = Gb

实际情况:

Gr ≠ Gb

于是:

出现绿色棋盘格纹理

GIC 的作用:

让 Gr 与 Gb 对齐

二、什么是 Gr/Gb 不平衡

典型现象

拍:

  • 蓝天
  • 白墙
  • 绿叶
  • 灰卡
    放大后会看到:
2×2 或 4×4 的绿色网格

高 ISO:

更加明显

根本原因

原因 说明
物理布局 Gr 靠 R,Gb 靠 B
微透镜偏移 聚光效率不同
ADC 通道差异 读出路径不同
温度漂移 暗电流变化不同

三、整体架构

agic_calib_v21
└── GicTuningPara
    ├── enable
    ├── gr_ration
    └── GicData
        ├── ISO
        ├── min_busy_thre
        ├── k_grad1/2
        ├── gb_thre
        ├── maxCorV
        ├── dark_thre
        ├── k_grad1_dark
        ├── noiseCurve_0/1
        ├── globalStrength
        └── diff_clip

四、enable —— GIC 总开关

参数说明

含义 推荐
0 关闭 ⚠️ 默认
1 开启 ✅ 推荐

GC2053 建议

GC2053 属于

老旧 1080P Sensor

通常:

Gr/Gb 不平衡较明显

因此:

"enable": 1

推荐开启。

五、gr_ration —— Gr/Gb 比例修正

参数说明

含义
0 不修正
0.95~1.05 Gr/Gb 比例校准

怎么测

拍灰卡:

统计 Gr/Gb 平均值

例如:

Gr/Gb = 0.98

则:

"gr_ration": 1.02

六、ISO 9 档控制轴

当前结构

"ISO": [50,100,200,400,800,1600,3200,6400,12800]

含义

这是:

GIC 的 ISO 控制轴

ISP 会根据:

当前 ISO

进行:

线性插值

七、亮区参数详解


7.1 min_busy_thre

含义

复杂区域阈值。
默认:

40

工作原理

区域复杂度 动作
小于阈值 平坦区 → 做修正
大于阈值 复杂区 → 不修正

调节规律

想要效果 调法
修复更多棋盘格 增大
保留更多细节 减小

7.2 min_grad_thr1/2

梯度阈值:

像素与邻居差值

默认值

16 / 8

含义

梯度大小 动作
平坦区 → 强修正
纹理区 → 弱修正

7.3 k_grad1/2

修正强度。

默认值

64 / 2

规律

区域 参数 修正力度
平坦区 k_grad1
纹理区 k_grad2

7.4 gb_thre

Gr/Gb 差异阈值。
默认:

32

含义

差异大小 动作
小于阈值 认为是不平衡
大于阈值 认为是真实边缘

推荐值

GC2053:

40~64

更稳。

7.5 maxCorV / maxCorVboth

最大修正幅度。
默认:

10 / 20

作用

防止:

真实细节被过度抹平

八、暗区参数详解

暗区:

噪声更重

因此:

需要更激进修正

核心参数

"dark_thre"
"dark_threHi"
"k_grad1_dark"
"k_grad2_dark"

调节规律

参数 作用
dark_thre 暗区范围
k_grad1_dark 暗区强修正
k_grad2_dark 暗区弱修正

GC2053 推荐

高 ISO:

"k_grad1_dark": [96,96,96,...]

效果更好。

九、噪声相关参数

"noiseCurve_0"
"noiseCurve_1"
"NoiseScale"
"NoiseBase"

作用

根据:

当前噪声水平

动态调整修正力度。

当前状态

全部:

0

表示

关闭噪声自适应

依赖:

固定阈值

十、globalStrength 全局强度

默认值

1

含义

效果
0 等于关闭
0.5 半强度
1 全强度

推荐

GC2053:

1

即可。

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

字段 当前状态 说明
enable ❌ 0 完全关闭
gr_ration 0 未校准
所有参数 默认值 未标定

结论

当前:

GC2053 的 GIC 完全没启用

十二、GC2053 推荐 GIC 配置

"enable": 1,
"min_busy_thre": [40,40,40,50,50,60,70,80,80],
"gb_thre": [32,32,32,40,40,48,56,64,64],
"k_grad1": [64,64,64,64,64,64,64,64,64],
"k_grad2": [2,2,2,2,2,3,4,4,4],
"globalStrength": [1,1,1,1,1,1,1,1,1]

调参思路

ISO 策略
低 ISO 保守修正
高 ISO 激进修正
暗区 强修正
亮区 弱修正

十三、实战调试场景


13.1 纯色平面有棋盘格 🟩

症状

蓝天:

出现绿色网格

推荐参数

"enable": 1
"gb_thre": [40,40,40,...]
"k_grad1": [64,64,64,...]

13.2 边缘出现消绿 🌈

原因

修正过猛。

修改

"min_busy_thre": [20,20,...]
"k_grad2": [1,1,...]
"globalStrength": [0.6,...]

13.3 高 ISO 网状噪声 🌑

原因

暗区 Gr/Gb 不平衡严重。

修改

"k_grad1_dark": [96,96,...]
"dark_thre": [140,140,...]

13.4 开 GIC 后变软 🌫️

原因

所有 G 差异都被平滑。

修改

"globalStrength": [0.7,...]
"min_busy_thre": [25,25,...]

十四、GIC 调试 5 大铁律

1. 不要追求完全无棋盘格

保留:

5~10%

小纹理是正常的。

2. 必须拍纯色平面

推荐:

  • 蓝天
  • 白墙
  • 灰卡

3. 必须看 100% 放大

否则:

看不出 maze pattern

4. 每档 ISO 单独调

高 ISO:

需要更强修正

5. GIC 会影响整个 ISP

因为:

GIC 在 debayer 前

所以:

  • sharp
  • nr
  • debayer
    全部会受影响。

十五、GIC 与其他模块协同

Bayer RAW
   ↓
BLC
   ↓
DPCC
   ↓
GIC
   ↓
BayerNR
   ↓
Debayer
   ↓
YNR/CNR
   ↓
Sharp

核心协同

协同 说明
GIC vs Debayer 去除 maze pattern
GIC vs BayerNR 一个修不平衡,一个去噪
GIC vs DPCC 一个修网格,一个修坏点

十六、GIC vs DPCC vs BLC

模块 解决问题 典型现象
BLC 黑电平偏置 发灰
DPCC 单点坏点 白点黑点
GIC Gr/Gb 不平衡 绿色棋盘格

十七、板端验证方法

推送 IQ

adb push gc2053_default_JX8006.json /oem/etc/iqfiles/

启动 RTSP

rkmedia_vi_venc_rtsp_test -a /oem/etc/iqfiles

推荐测试

场景 看什么
蓝天 是否有网格
白墙 是否有 maze
ISO1600 暗场 是否网状噪声
绿色植物 是否消绿

十八、一图速查

想做什么 改哪里 怎么改
启用 GIC enable 0→1
修复棋盘格 gb_thre 32→40
减少边缘伪影 min_busy_thre 40→25
暗区强修正 k_grad1_dark 64→96
限制修正幅度 maxCorV 10→5
修正 Gr/Gb 比例 gr_ration 1.02

总结

GIC 的本质:

修复 Gr/Gb 不平衡

它决定:

  • 是否有绿色棋盘格
  • 暗部是否有网状噪声
  • Debayer 输入是否干净
    实际项目里最重要的是:
不要过修

因为:

修过头会损失真实细节

因此:

  • 平坦区强修正
  • 纹理区弱修正
  • 高 ISO 激进
  • 低 ISO 保守
    才是正确的 GIC 调参方式。

参考资料

  1. Rockchip RKAIQ Framework Documentation
  2. RKAIQ ISP21 GIC Calibration Guide
  3. GC2053 Datasheet
  4. RKMedia Developer Guide
  5. RKAIQ Source Code
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐