关键词 :
RK3568RKAIQISP21BayerNRRawNRRAW降噪Bayer 域降噪时域降噪空域降噪GC2053
适用平台 :RK3568 / RV1126 / RK3588(ISP21 架构通用)
作者笔记 :本文基于gc2053_default_JX8006.json实战调试过程整理
📑 文章目录
- 前言
- 一、BayerNR_V2 是什么
- 二、为什么必须在 Bayer 域降噪
- 三、BayerNR_V2 整体结构
- 四、CalibPara 噪声模型标定
- 五、Bayernr2D 空域降噪
- 六、Bayernr3D 时域降噪
- 七、时域降噪工作原理
- 八、BayerNR_V2 完整流程
- 九、当前 IQ 文件状态分析
- 十、实战调试经验
- 十一、filter_strength 与 edgesofts 关系
- 十二、SNR_Mode 与 Sensor_Mode
- 十三、与其他模块联调
- 十四、一图速查
- 十五、BayerNR 调试铁律
- 总结
- 参考资料
前言
bayernr_v2 是 RKAIQ ISP21 中的:
Bayer 域 RAW 降噪模块
也叫:
RawNR
它位于:
Demosaic 之前
因此:
是整条 ISP 降噪链路里
效果最好的一环
一、BayerNR_V2 是什么
一句话理解:
在 RAW Bayer 数据阶段
直接做降噪
BayerNR 的核心目标
降噪
同时保细节
ISP 降噪链路
BayerNR
↓
YNR
↓
CNR
↓
Sharp
二、为什么必须在 Bayer 域降噪
原因 1:噪声还是白噪声
此时:
噪声统计独立
因此:
最容易建模
原因 2:还没 Demosaic
还没:
RGB 插值串扰
因此:
不会放大噪声
原因 3:后面模块会增强噪声
例如:
-
CCM
-
Gamma
-
Sharp
-
3DLUT
都会:增强噪声
三、BayerNR_V2 整体结构
bayernr_v2
├── CalibPara
├── Bayernr2D
└── Bayernr3D
四、CalibPara 噪声模型标定
⭐⭐⭐ 整个降噪的地基
4.1 当前结构
"Calib_ISO": [{
"iso": 50,
"lumapoint": [...],
"sigma": [...]
}]
4.2 lumapoint
当前配置
[256,512,768,...,4095]
含义
16 个亮度采样点
覆盖:
12bit RAW 全范围
4.3 sigma
⭐⭐⭐ 最关键参数
当前配置
[768,768,768,...,384]
含义
噪声标准差 σ
4.4 噪声数学模型
RAW 噪声:
Shot Noise + Read Noise
理论:
σ² = αY + β
含义
| 项 | 来源 |
|---|---|
| αY | 光子噪声 |
| β | 电路噪声 |
4.5 当前配置问题
⚠️ 当前:
所有 ISO 共用一组 sigma
这是最大问题
因为:
高 ISO 噪声远大于低 ISO
正确规律
ISO 越高
sigma 越大
4.6 正确标定方法
灰板
→ 统计 σ
→ 拟合曲线
五、Bayernr2D 空域降噪
⭐ 单帧降噪
5.1 当前结构
{
"filter_strength": 0.55,
"edgesofts": 2
}
5.2 filter_strength
范围
| 值 | 效果 |
|---|---|
| 0 | 不降噪 |
| 0.3 | 很弱 |
| 0.5 | 平衡 |
| 0.7 | 强 |
| 1.0 | 涂抹 |
当前策略
最大只到 0.7
原因
避免塑料感
5.3 edgesofts
含义
边缘软化强度
当前值
2
规律
| 值 | 效果 |
|---|---|
| 小 | 保细节 |
| 大 | 更平滑 |
5.4 gauss_guide
| 值 | 模式 |
|---|---|
| 0 | 双边滤波 |
| 1 | 高斯引导 |
当前策略
| ISO | 模式 |
|---|---|
| ≤800 | 双边 |
| ≥1600 | 高斯 |
原因
高 ISO 噪声更随机
5.5 ratio
0.01
含义
细节保留比例
六、Bayernr3D 时域降噪
⭐⭐ 多帧融合
6.1 当前结构
{
"filter_strength": 0.2,
"softwgt": 0
}
6.2 filter_strength
含义
多帧融合强度
当前策略
| ISO | 强度 |
|---|---|
| 50 | 0.2 |
| 800 | 0.15 |
| 3200+ | 0.06 |
⚠️ 特点
ISO 越高
时域反而越弱
原因
防止拖影
6.3 sp_filter_strength
含义
3D 内部空域辅助
6.4 lo_clipwgt
0.03215
含义
融合下限
6.5 hi_clipwgt
含义
融合上限
作用
防止过强融合拖影
6.6 softwgt
当前
0
问题
运动→静止硬切
推荐
0.3~0.5
七、时域降噪工作原理
当前帧
↓
历史帧
↓
运动检测
↓
静止区域强融合
运动区域弱融合
数学本质
N 帧融合
噪声降低 √N
八、BayerNR_V2 完整流程
RAW
↓
CalibPara
↓
Bayernr3D
↓
Bayernr2D
↓
Demosaic
⭐ 为什么先 3D 后 2D
因为:
先时域
可以最大保细节
九、当前 IQ 文件状态分析
| 模块 | 状态 | 评价 |
|---|---|---|
| CalibPara | ⚠️ | 未正确标定 |
| Bayernr2D | ✅ | 合理 |
| Bayernr3D | ✅ | 保守 |
| gauss_guide | ✅ | 合理 |
| softwgt | ❌ | 建议优化 |
当前风格
宁可有噪声
也不拖影
十、实战调试经验
经验 1:最重要先标定 sigma
sigma 不准
后面全错
经验 2:高 ISO 拖影
解决:
降低 3D filter_strength
经验 3:细节涂抹
解决:
降低 edgesofts
经验 4:暗部彩噪
解决:
提高 sigma
经验 5:运动闪烁
解决:
softwgt: 0.3
十一、filter_strength 与 edgesofts 关系
| filter_strength | edgesofts | 效果 |
|---|---|---|
| 0.3 | 1 | 保细节 |
| 0.5 | 2 | 平衡 |
| 0.7 | 3 | 强降噪 |
| 0.9 | 5 | 塑料感 |
十二、SNR_Mode 与 Sensor_Mode
12.1 SNR_Mode
| 模式 | 含义 |
|---|---|
| LSNR | 普通 |
| HSNR | 高噪声模式 |
12.2 Sensor_Mode
| 模式 | 含义 |
|---|---|
| lcg | 低转换增益 |
| hcg | 高转换增益 |
GC2053 情况
不是 DCG Sensor
因此:
lcg/hcg 可相同
十三、与其他模块联调
BayerNR
↓
Demosaic
↓
YNR
↓
CNR
↓
Sharp
⚠️ 联调原则
| 模块 | 职责 |
|---|---|
| BayerNR | 主降噪 |
| YNR | 补充亮度降噪 |
| CNR | 彩噪处理 |
| Sharp | 锐化恢复 |
十四、一图速查
| 现象 | 原因 | 解决 |
|---|---|---|
| 涂抹 | filter_strength 大 | 降低 |
| 拖影 | 3D 太强 | 降低 3D |
| 噪声大 | sigma 太小 | 提高 |
| 闪烁 | softwgt=0 | 调 0.3 |
| 锯齿 | gauss_guide 错 | 高 ISO 用 1 |
| 塑料脸 | edgesofts 大 | 降低 |
十五、BayerNR 调试铁律
铁律 1
先标定 sigma
再调 filter_strength
铁律 2
低 ISO 保细节
高 ISO 防彩噪
铁律 3
监控场景
宁可有噪
不要拖影
铁律 4
Sharp 永远在最后
总结
BayerNR_V2 的本质:
RAW 域主降噪
它决定:
-
夜景纯净度
-
细节保留
-
拖影控制
-
彩噪水平
真正项目里最重要的是:先建模
再调强度
因此:
- sigma 必须正确标定
- 低 ISO 保细节
- 高 ISO 控彩噪
- 时域避免拖影
才是正确的 BayerNR 调参方式。
参考资料
- Rockchip RKAIQ Framework Documentation
- RKAIQ ISP21 BayerNR Calibration Guide
- GC2053 Datasheet
- RKMedia Developer Guide
- RKAIQ Source Code