目录
[一、先搞懂:实时模式 3DNR 为什么收敛慢?](#一、先搞懂:实时模式 3DNR 为什么收敛慢?)
[二、离线模式 加速 3DNR 收敛 的核心原理](#二、离线模式 加速 3DNR 收敛 的核心原理)
[三、利用离线模式加速 3DNR 收敛的 4 种实战方法](#三、利用离线模式加速 3DNR 收敛的 4 种实战方法)
[方法 1:多帧预收敛(最常用、效果最好)](#方法 1:多帧预收敛(最常用、效果最好))
[方法 2:历史帧缓存复用(解决运动拖影 + 收敛慢)](#方法 2:历史帧缓存复用(解决运动拖影 + 收敛慢))
[方法 3:多帧对齐 + 噪声预统计(降噪质量翻倍)](#方法 3:多帧对齐 + 噪声预统计(降噪质量翻倍))
[方法 4:离线预计算噪声曲线(Gain 对应降噪强度)](#方法 4:离线预计算噪声曲线(Gain 对应降噪强度))
这是离线模式最核心、最实用的价值之一 ,专门解决 实时模式下 3DNR 收敛慢、前几帧噪声大、拖影明显 的问题。
一、先搞懂:实时模式 3DNR 为什么收敛慢?
实时模式(Sensor → ISP):
- 3DNR 是逐帧实时处理
- 依赖前 N 帧历史图像构建背景模板(噪声基准、运动检测)
- 刚启动 / 切换场景时,历史帧为空 / 不完整
- 必须跑 3~8 帧 才能把噪声压下去 → 收敛慢
结果:开机前几帧噪声大、预览闪、拍照画质差。
二、离线模式 加速 3DNR 收敛 的核心原理
离线模式 = 先缓存多帧 Raw → 一次性喂给 3DNR 构建历史模板
用离线缓存的连续多帧,提前给 3DNR "喂饱" 历史数据,让它在真正出图前就完成收敛。
核心优势
- 不依赖实时帧顺序 ,可回灌、重复、预计算
- 一次性构建完整的运动背景 + 噪声模型
- 第一帧出图就达到最优降噪效果
- 收敛速度 提升 5~10 倍
三、利用离线模式加速 3DNR 收敛的 4 种实战方法
方法 1:多帧预收敛(最常用、效果最好)
流程:
- VIcapture 连续抓 4~8 帧 Raw 存入 DDR
- 把这 4~8 帧连续回灌给 ISP ,只跑 3DNR 收敛,不输出图像
- 收敛完成后,3DNR 内部历史模板已建好
- 最后再灌第 9 帧 → 直接输出高质量降噪图
效果:
- 实时模式:需要 4~8 帧收敛
- 离线预收敛:第 1 帧就完全收敛
方法 2:历史帧缓存复用(解决运动拖影 + 收敛慢)
实时模式 3DNR 只能用过去几帧,场景一变就重置。
离线模式可以:
- 把稳定场景的多帧 Raw 长期存在 DDR
- 每次拍照 / 预览启动时,直接加载历史帧
- 3DNR 跳过初始化阶段,0 帧收敛
适合:
- 固定摄像头(门禁、行车记录仪、IPC)
- 快速预览、快速抓拍
方法 3:多帧对齐 + 噪声预统计(降噪质量翻倍)
离线最大优势:可以先做帧间对齐,再给 3DNR
流程:
- 抓 N 帧 Raw 到 DDR
- 离线做 帧对齐、防抖、运动估计
- 把对齐后的稳定帧喂给 3DNR
- 3DNR 快速获得纯净背景模型,瞬间收敛
优点:
- 收敛更快
- 噪声抑制更强
- 无运动拖影
方法 4:离线预计算噪声曲线(Gain 对应降噪强度)
离线模式可以:
- 采集不同增益(ISO)下的 Raw 噪声
- 预生成 噪声 - 增益表
- 拍照时直接查表给 3DNR 配置强度
效果:
- 3DNR 不用逐帧统计噪声
- 收敛速度大幅提升
四、工程实现:最快收敛的标准流程
1. 开启 VIcapture,连续抓取 6 帧 Raw 存入 DDR 缓冲区
(连续帧,保证场景一致)
2. ISP 配置为离线回灌模式
- 输入:DDR
- 打开 3DNR
- 关闭输出(只收敛,不保存图)
3. 循环回灌前 5 帧 → 让 3DNR 构建历史库
(这一步 10ms 内完成)
4. 3DNR 状态:已收敛、模板已就绪
5. 灌入第 6 帧 → 输出 YUV/JPEG
(这一帧就是完全降噪后的优质图)
最终效果
- 实时模式: 第 1~5 帧噪声大,第 6 帧才干净
- 离线模式: 第 1 帧输出就完全干净
五、关键优化参数(直接提升收敛速度)
- 增大离线 3DNR 历史帧缓存(推荐 5~8 帧)
- 关闭帧间等待,全速回灌
- 开启帧对齐功能
- 使用固定噪声表,跳过实时统计
- 零拷贝回灌,减少帧间隔
帧间隔越小,收敛越快!