【RKAIQ ISP21】RK3568 平台 ADRC 动态范围压缩模块参数详解(GC2053 实战)
·
关键词:
RK3568RKAIQISP21ADRCDRCTone MappingHDR动态范围压缩IQ TuningGC2053
适用平台:RK3568 / RV1126 / RK3588(ISP21 框架通用)
作者笔记:本文基于gc2053_default_JX8006.json实战调试过程整理
📑 文章目录
- 前言
- 一、ADRC 是什么
- 二、最常调的 4 件事
- 三、整体结构
- 四、顶层参数详解
- 五、DrcGain 动态范围增益
- 六、HiLight 高光压制
- 七、LocalTMO 局部色调映射
- 八、CompressSetting 压缩曲线
- 九、Scale_y 输出曲线
- 十、当前 IQ 文件状态评估
- 十一、实战调试经验
- 十二、ADRC 与其他模块协同
- 十三、ADRC vs Gamma vs Adehaze
- 十四、一图速查
- 十五、当前 IQ 文件 ADRC 评估
- 十六、ADRC 三大铁律
- 总结
- 参考资料
前言
adrc_calib_v10 是 RKAIQ ISP21 框架中的:
ADRC(Adaptive Dynamic Range Compression)动态范围压缩模块
它也被称为:
TMO(Tone Mapping Operator)
核心作用:
把 Sensor 的高动态范围
压缩到显示器能显示的范围
数据流:
20-bit RAW
↓
amerge_calib
↓
adrc_calib_v10
↓
12-bit RGB
一、ADRC 是什么
一句话理解:
| 角色 | 含义 |
|---|---|
| 输入 | 20-bit HDR RAW |
| 输出 | 12-bit RGB |
| ADRC | 动态范围压缩 + 局部增强 |
为什么必须有 ADRC
因为:
Sensor 动态范围
远超显示器
直接裁剪:
会丢高光或暗部
ADRC:
用非线性压缩保留细节
ADRC 的本质
亮部压缩
暗部抬升
局部增强
⭐ 最重要一句话
ADRC 是画面立体感的核心来源
二、最常调的 4 件事
| 想要效果 | 改哪里 | 怎么改 |
|---|---|---|
| 暗部更亮 | DrcGain | +0.1~0.3 |
| 高光不过曝 | HiLight.Strength | +0.1 |
| 更有立体感 | GlobalContrast | +0.05 |
| 画面不发灰 | Scale_y 末段 | 降低 |
⚠️ 重要
ADRC:
最容易出现塑料感
调过头会:
- halo
- banding
- 肤色发青
- 暗部噪点
三、整体结构
adrc_calib_v10
└── DrcTuningPara
├── Enable
├── CtrlDataType
│
├── DrcGain
├── HiLight
├── LocalTMOSetting
├── CompressSetting
├── Scale_y
│
├── ByPassThr
├── Edge_Weit
├── IIR_frame
└── damp
四、顶层参数详解
4.1 Enable
| 值 | 含义 |
|---|---|
| 1 | 开启 ADRC |
| 0 | 关闭 ADRC |
推荐
"Enable": 1
4.2 CtrlDataType
| 值 | 含义 | 推荐 |
|---|---|---|
| ENVLV | 按环境亮度 | ✅ |
| ISO | 按 ISO | 特殊场景 |
推荐
"CTRLDATATYPE_ENVLV"
因为:
更符合人眼感知
4.3 ByPassThr
"ByPassThr": 0.01
作用:
EnvLv 变化小时不重新计算
4.4 IIR_frame
"IIR_frame": 2
| 值 | 效果 |
|---|---|
| 1 | 响应快 |
| 2 | 推荐 |
| 4~8 | 更稳定 |
4.5 damp
"damp": 0.9
| 值 | 效果 |
|---|---|
| 小 | 快速响应 |
| 大 | 防闪烁 |
4.6 Edge_Weit
"Edge_Weit": 0.0627451
作用:
边缘保护权重
五、DrcGain 动态范围增益
⭐ ADRC 最核心模块
5.1 DrcGain
当前配置
[1.4,1.4,1.4,
1.5,1.6,1.7,
1.7,1.7,
1.6,1.5,
1.4,1.3,1.2]
含义
| 值 | 效果 |
|---|---|
| 1.0 | 不增益 |
| 1.2~1.4 | 温和 |
| 1.5~1.7 | 标准 |
| 1.8~2.5 | HDR 风 |
当前策略
中间强
两头弱
为什么这样设计
| 场景 | 需求 |
|---|---|
| 极暗 | 防噪点 |
| 弱光 | 强抬升 |
| 强光 | 防过亮 |
5.2 Alpha
[0.25,0.25,0.25,...]
含义
高光保护系数
| 值 | 效果 |
|---|---|
| 0 | 不保护 |
| 0.2~0.3 | 推荐 |
| 0.5+ | 强保护 |
5.3 Clip
[12,12,12,...]
含义
噪声限制
| 值 | 效果 |
|---|---|
| 8 | 强抑制 |
| 12 | 标准 |
| 16+ | 保细节 |
六、HiLight 高光压制
⭐ 防止过曝
6.1 Strength
当前配置
[0.5,0.5,0.45,
0.4,0.35,0.3,
0.3,0.25,
0.2,0.18,
0.15,0.12,0.1]
含义
| 值 | 效果 |
|---|---|
| 0 | 不压 |
| 0.2~0.4 | 推荐 |
| 0.5~0.7 | 强压 |
当前逻辑
暗场强压
亮场弱压
原因
弱光长曝光
更容易高光爆掉
七、LocalTMO 局部色调映射
⭐ 立体感核心来源
7.1 LocalWeit
[1,1,1,1,1,1,1,1,1,1,1,1,1]
含义
| 值 | 效果 |
|---|---|
| 0 | 关闭局部 TMO |
| 0.5 | 柔和 |
| 1.0 | 全开 |
7.2 GlobalContrast
⭐⭐ 最关键
当前配置
[0.3,0.3,0.3,
0.28,0.25,0.22,
0.2,0.2,
0.18,0.15,
0.12,0.1,0.1]
含义
| 值 | 效果 |
|---|---|
| 0 | 不增强 |
| 0.1~0.2 | 温和 |
| 0.25~0.35 | 推荐 |
| 0.4~0.5 | HDR 风 |
当前逻辑
暗场强对比
亮场弱对比
7.3 LoLitContrast
当前配置
[0.25,0.25,0.22,
0.2,0.18,0.15,
0.15,0.12,
0.1,0.1,
0.08,0.05,0.05]
含义
专门增强暗部局部细节
⚠️ 注意
过高会:
放大暗部噪点
7.4 平滑参数
| 参数 | 当前值 | 含义 |
|---|---|---|
| curPixWeit | 0.376 | 当前帧权重 |
| preFrameWeit | 1 | 前帧权重 |
| Space_sgm_cur | 4068 | 空间平滑 |
| Space_sgm_pre | 3968 | 前帧平滑 |
一般不调
默认即可
八、CompressSetting 压缩曲线
8.1 Mode
"COMPRESS_AUTO"
含义
| 模式 | 含义 |
|---|---|
| AUTO | 自动计算 |
| MANUAL | 手动曲线 |
推荐
99% 用 AUTO
8.2 Manual_curve
[0,558,1087,...,8192]
⚠️ 注意
当前:
AUTO 模式
因此:
这条曲线未生效
九、Scale_y 输出曲线
⭐⭐⭐ 最终输出曲线
当前配置
[0,2,22,80,200,
390,640,780,
925,1070,1215,
1430,1620,
1780,1900,
1990,2048]
9.1 曲线作用
决定最终亮度映射
区域含义
| 区域 | 作用 |
|---|---|
| 前段 | 黑场 |
| 中段 | 通透感 |
| 后段 | 高光 rolloff |
9.2 当前特点
高光末段更平缓
好处
防止高光硬切
当前优化
末段:
1900 → 1990 → 2048
保留:
约 3% headroom
十、当前 IQ 文件状态评估
| 模块 | 状态 | 评价 |
|---|---|---|
| Enable | ✅ | 已启用 |
| CtrlDataType | ✅ ENVLV | 推荐 |
| DrcGain | ✅ | 已优化 |
| Alpha | ✅ | 平衡 |
| Clip | ✅ | 标准 |
| HiLight | ✅ | 防过曝 |
| LocalTMO | ✅ | 已优化 |
| Scale_y | ✅ | 已优化 |
| IIR_frame | ✅ | 平衡 |
| damp | ✅ | 稳定 |
综合评价
当前 ADRC 已深度优化
十一、实战调试经验
经验 1:标准 SOP
1. 先关 LocalTMO
2. 调 DrcGain
3. 调 HiLight
4. 再开 LocalTMO
5. 最后调 Scale_y
经验 2:4 大测试场景
| 场景 | 重点 |
|---|---|
| 室内+窗外 | 动态范围 |
| 灯泡 | halo |
| 白墙 | banding |
| 人脸 | 肤色 |
经验 3:7 大坑
坑 1:暗部噪点爆炸
原因:
DrcGain 太大
坑 2:肤色发青
原因:
HiLight 太强
坑 3:halo 光晕
解决:
Space_sgm_cur: 6000
坑 4:场景闪烁
解决:
damp: 0.95
IIR_frame: 4
坑 5:白墙 banding
解决:
降低 GlobalContrast
坑 6:高光硬切
解决:
Scale_y 末段 rolloff
坑 7:重复增强
错误:
ADRC + Gamma + Enhance + CPROC
全都拉满
十二、ADRC 与其他模块协同
amerge
↓
ADRC
↓
Gamma
↓
Adehaze
↓
CPROC
⚠️ 铁律
对比度只在一个模块主调
推荐
| 模块 | 推荐强度 |
|---|---|
| ADRC | 主调 |
| Gamma | 中等 |
| Enhance | 轻度 |
| CPROC | 轻度 |
十三、ADRC vs Gamma vs Adehaze
| 模块 | 数据域 | 作用 |
|---|---|---|
| ADRC | RGB 线性域 | 动态范围压缩 |
| Gamma | RGB 域 | 亮度映射 |
| Adehaze | YUV 域 | 局部增强 |
特点
| 模块 | 强度 | 风险 |
|---|---|---|
| ADRC | 最强 | 最大 |
| Gamma | 中等 | 一般 |
| Enhance | 最弱 | 最安全 |
十四、一图速查
| 想做什么 | 改哪里 | 怎么改 |
|---|---|---|
| 暗部更亮 | DrcGain | +0.1 |
| 暗部更暗 | DrcGain | -0.1 |
| 高光更暗 | HiLight | +0.1 |
| 更通透 | GlobalContrast | +0.05 |
| 暗部更立体 | LoLitContrast | +0.05 |
| 去 halo | Space_sgm | 4068→6000 |
| 防闪烁 | damp | 0.9→0.95 |
| 防过曝 | Scale_y | 末段减小 |
十五、当前 IQ 文件 ADRC 评估
| 维度 | 评分 |
|---|---|
| 总开关 | ✅ |
| DrcGain | ✅ |
| HiLight | ✅ |
| LocalTMO | ✅ |
| Scale_y | ✅ |
| 时域稳定性 | ✅ |
| 模块协同 | ✅ |
综合评分
⭐⭐⭐⭐⭐
十六、ADRC 三大铁律
铁律 1
必须测试:
窗外 + 室内
铁律 2
对比度只在一个模块主调
铁律 3
优先检查:
暗部噪点
高光过曝
总结
ADRC 的本质:
压缩动态范围
它决定:
- 暗部细节
- 高光保留
- 立体感
- HDR 风格
真正项目里最重要的是:
自然
稳定
不过度
因此:
- DrcGain 控暗部
- HiLight 控高光
- LocalTMO 控立体感
- Scale_y 控最终风格
才是正确的 ADRC 调参方式。
参考资料
- Rockchip RKAIQ Framework Documentation
- RKAIQ ISP21 ADRC Calibration Guide
- GC2053 Datasheet
- RKMedia Developer Guide
- RKAIQ Source Code
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)