Video NR 与 Preview NR 路径分流机制实战解析:平台实现策略与工程调优路径

关键词

ISP NR 路径分流、视频去噪、预览降噪、TNR/SNR、分流架构、平台差异、高通、MTK、帧率控制、调试实战

摘要

在现代移动图像系统中,Video NR 与 Preview NR 常需并行工作以支持不同用途的数据路径,例如视频录制、预览画面、AI识别与快照缓存等。由于这两条路径在帧率、目标质量、功耗和处理时间上需求差异显著,因此主流平台(如 Qualcomm、MTK、HiSilicon)普遍采用“路径分流”机制对其执行逻辑进行隔离调度。本文围绕 Video NR 与 Preview NR 的数据路径设计、分流策略、TNR/SNR 模块绑定方式与工程调试经验进行详尽解析,帮助开发者理解高实时性任务与低噪声路径的协同机制与优化策略。

目录

  1. NR 模块多路径架构设计概述
  2. Video NR 与 Preview NR 的帧率与图像质量目标差异
  3. 路径分流机制的底层触发条件与实现逻辑
  4. TNR/SNR 在两路径下的配置策略与调试实践
  5. 并发任务调度策略:录制 + 预览 + 快照协调逻辑
  6. 平台差异分析:高通 Spectra vs 联发科 Imagiq 架构对比
  7. 实战调试案例分析:高ISO视频录制下的NR路径配置
  8. 面向未来的路径融合优化策略与平台演进建议

第一章:NR 模块多路径架构设计概述

在现代 ISP 图像信号处理架构中,为应对 Preview、Video、ZSL(Zero Shutter Lag)与 Snapshot 等多种实时与非实时任务,厂商普遍采用多路图像路径并行的处理机制。其中,Video Path 与 Preview Path 最为核心,往往拥有独立的 NR 处理单元、帧缓冲结构与输出接口。

Preview Path 特征:
  • 处理目标 :尽快完成低延迟画面渲染以支持 EV 控制、屏幕显示与 UI 联动;
  • 典型帧率 :30~60fps;
  • NR 特征 :偏向边缘保留、轻度 TNR、低功耗控制;
  • 输出路径 :供 HAL 层 AF、AE、AWB 反馈,供应用层 EV 调整。
Video Path 特征:
  • 处理目标 :保证动态场景下的降噪一致性、避免帧抖动;
  • 典型帧率 :30fps 固定(或 60fps 高帧录制);
  • NR 特征 :稳定性优先、融合长时间窗口 TNR、容忍更高计算负载;
  • 输出路径 :编码器流入、MediaCodec 推流、录像回写等。

为满足两条路径差异化目标,芯片厂商往往将 TNR 与 SNR 处理单元分别挂接到 Preview 和 Video Pipe 上,在注册阶段即通过 HAL Metadata 设置各路径的 NR 模式。

第二章:Video NR 与 Preview NR 的帧率与图像质量目标差异

理解两条路径的目标差异是调优的核心前提:

指标类别Preview PathVideo Path
目标快速响应、低延迟图像稳定性、降噪一致性
帧率要求可变帧率(动态调节)固定帧率(30fps/60fps)
NR 核心指标视觉锐度、边缘保留时间一致性、噪声平滑性
TNR 窗口大小一般为 2~3 帧可达 4~6 帧
SNR 强度中等,主要去除高频纹理噪声强降噪 + 运动保护
Buffer 结构短缓存,允许快速刷新环形缓存,追求帧间关系稳定
与 AI 接口支持快速 ROI 回传、调光联动视频人像背景模糊、人脸增强等特效路径

例如在高通平台中,Preview Path 对接的是 LPM(Low Power Mode)路径,通常绑定轻量化的 NR 配置与快速输出模式;而 Video Path 在 Spectra ISP 中则拥有完整的 TNR 链与 Temporal Filtering 模块,支持更长缓存与更复杂的边缘保留机制。


第三章:路径分流机制的底层触发条件与实现逻辑

路径分流机制的本质,是通过图像任务的不同调度目标(实时性 vs 降噪质量)来指导 ISP 在图像数据入流阶段就划分出独立的数据通路,绑定不同的降噪配置集与处理模块。在 Qualcomm 和 MTK 平台中,这一机制主要通过以下几种底层逻辑触发:

1. Pipeline Routing Decision

当应用层通过 Camera HAL 传入 Preview、Record 或 Snapshot 请求时,驱动层(如 Camera Daemon)会根据 usecase 类型(例如 VIDEO_RECORDINGCAMERA_PREVIEW )决定走哪条 pipeline:

  • Preview usecase ➜ 分配到 Preview Pipe ,启用轻量 TNR;
  • Video usecase ➜ 分配到 Video Pipe ,启用高强度 TNR、边缘保护、长时间窗口;
  • ZSL usecase ➜ 分配到 Snapshot Pipe ,单独走缓存路径,具备回溯能力。
2. Frame Request Flag 与 Metadata 联动控制

HAL 层在传递 capture request 时,会通过 metadata tag 设置:

  • android.control.videoStabilizationMode
  • android.noiseReduction.mode
  • vendor.qti.tnr.mode
  • vendor.mtk.nr.tuning_index

这些 flag 会触发 ISP 配置不同的降噪模式(如 FAST , HIGH_QUALITY , MINIMAL ),并绑定相应的参数表或 TNR 栈。

3. Buffer Queue 与 ISP Resource Mapper 映射策略

ISP 通常将不同路径下的流绑定到不同的 buffer pool。例如:

  • Stream[Preview] ➜ Buffer Group A ➜ Pipe 0
  • Stream[Video] ➜ Buffer Group B ➜ Pipe 1

每个 buffer group 会触发独立 ISP instance 配置,TNR/SNR/LTM(Local Tone Mapping)链路也会区分开配置。

4. 使用平台内核驱动的“路径感知调度器”

在联发科平台上,其 Imagiq ISP 具备 NR_Path_Manager 子模块,在底层帧队列调度时做路径识别和 NR 分流,实现:

  • 对于视频流使用 NR_MODE_VIDEO
  • 对于预览流使用 NR_MODE_PREVIEW
  • 对于 Snapshot ZSL 回溯流使用 NR_MODE_SNAPSHOT

这种方式保证了高帧率视频流不会因为 NR 模块过载而掉帧,同时 Snapshot 在合成之前也可以独立开启 NR 处理。


第四章:TNR/SNR 在两路径下的配置策略与调试实践

TNR(Temporal Noise Reduction)与 SNR(Spatial Noise Reduction)在 Preview 与 Video 路径中的配置策略存在明显差异,具体表现如下:

1. TNR 配置对比
参数项Preview Path 配置Video Path 配置
时间窗口大小2~3 帧4~6 帧(可适配运动强度调整)
权重策略高边缘保留权重,快速响应背景平滑权重提升,边缘保持需精调
运算复杂度低~中,适配移动 SoC 算力限制高,可调用 VPU/NPU 做特定区域增强
平台模块示例TNR_PREVIEW_MODULE@QCOMTNR_VIDEO_MODULE@QCOM

调试时,建议使用工具链(如 MTK ADB Dump NR 参数、QTI 的 TNR Viewer)抓取 frame_id 对应的 TNR gain map,分析噪声变化趋势是否与运动矢量、帧时间戳一致。

2. SNR 配置对比
参数项Preview PathVideo Path
滤波核尺寸小(3x3/5x5)中(5x5/7x7)
权重调节方式基于亮度 LUT,快速调节亮度+纹理双通道 LUT,含边缘门限控制
是否开启边缘保护一般开启,防止 Preview 模糊强制开启,尤其在人脸/AI路径中对清晰度要求高
成本约束低功耗,低延迟中等延迟允许,需稳定输出

工程实践中,常遇到的问题是:

  • Preview NR 过强,导致 UI 图像模糊;
  • Video NR 配置失败,导致边缘抖动、编码异常;
  • HAL 配置错位,TNR 参数被 Preview 复用,造成降噪过弱或严重涂抹。

建议在平台 bring-up 阶段即明确配置链路,并建立参数配置 diff 工具,对比实际运行配置与设计一致性。


第五章:并发任务调度策略:录制 + 预览 + 快照协调逻辑

现代手机 SoC 中的 ISP 架构已普遍支持多通路并发数据处理能力,以满足用户在“边拍边录”、“预览+ZSL+拍照”等复杂交互场景下的实时需求。并发调度的核心目标是:在不牺牲实时性与画质前提下,合理划分资源,动态切换处理链路。典型场景如下:

1. 并发场景拆解
并发模式通常涉及路径关键处理链路
Preview + VideoTNR/SNR/Edge NR实时 Preview 流调度 & 录制流稳定性保障
Preview + ZSL SnapshotLSC/BPC/TNR 合并快门瞬间回溯缓存图像,触发 ZSL Pipeline
Video + Snapshot帧缓冲资源冲突Snapshot 使用独立 RAW 通道并短时间调度
2. 任务调度核心机制
  • 路径绑定方式
    多平台均支持 ISP 内置的多数据路径划分(QCOM: CAMIF_0/1/2;MTK: RAW0/RAW1/P2),通过 HAL 层配置流类型绑定:

    camera3_stream_t stream_preview;
    camera3_stream_t stream_video;
    camera3_stream_t stream_snapshot;
    

    每个流有独立的 buffer queue 与 NR 设置。

  • 帧调度优先级控制
    Preview(预览)具有最高实时性需求;Snapshot(ZSL)优先保证画质,使用 RAW Frame 缓存回溯一帧数据;Video 则依赖稳定帧率和低延迟处理。
    调度时通过 ISP 的帧路由器(Frame Router)模块进行动态优先级判定,关键指标有:

    • 帧号是否为 request frame;
    • HAL 设置的 Stream priority;
    • ISP 时钟资源空闲情况。
  • 典型策略案例:高通平台

    • 使用 Stream Manager 控制 Snapshot 在 Video + Preview 并发中“蹭拍”不影响其他流;
    • ISP 中每条 Path 有各自 TNR / Denoise 模块,配置 LUT 分离;
    • Snapshot 走独立 ZSL Frame Capture 模块,调取历史帧合成。

第六章:平台差异分析:高通 Spectra vs 联发科 Imagiq 架构对比

多路并发调度能力的实现,严重依赖底层 ISP 架构与硬件设计的弹性。以下为当前两大主流平台在 ISP 并发调度方面的对比分析:

1. 架构层级设计
模块Qualcomm Spectra 780/ISPMTK Imagiq 890/ISP
并发路径结构支持 CAMIF ×3 路,Preview/Video/Snapshot 分离支持 RAW ×2 路,P2 全面负责 NR / HDR 等任务
缓存机制内建 Line Buffer + Frame Buffer ,ZSL 独立ZSL 使用 VPU Buffer 缓冲,P2 提供调度
NR 分流能力TNR_PREVIEW、TNR_VIDEO 独立配置TNR_INDEX 通过 usecase + scene index 分配
2. 配置接口差异
  • 高通平台

    • 通过 QCamera3Stream::setBundleConfig() 设置 snapshot path;
    • TNR 参数分为 Preview NR TableVideo NR Table ,动态切换;
    • Snapshot 可与 Video 并发,Snapshot path 拥有更强制的 ISP 访问权。
  • MTK 平台

    • 所有图像处理均由 RAW + P2 Pipeline 完成;
    • Preview + Snapshot 共享 ISP 主 path(P2),通过 scene index 分离配置;
    • 多流调度通过 MDP Path Switch 实现,部分低端平台不支持 Video + Snapshot 并发。
3. 实战经验总结
现象高通应对方式MTK 应对方式
Snapshot 并发下视频帧率抖动TNR offload 到专用核心处理优化 ZSL snapshot 所占资源,延迟压缩
预览画面拉伸或滞后拍照过程中降低 NR 等级降低 P2 模块配置复杂度、短暂切帧
拍照成功率低多帧合成失败 fallback 到单帧降低 HDR 模式分辨率、启用 AI 快速路径

第七章:实战调试案例分析:高 ISO 视频录制下的 NR 路径配置

在夜景或低照度环境下进行视频录制时,为了保证亮度和细节,ISP 必须配合 Sensor 拉高模拟或数字增益(ISO),此时图像信号中的噪声将显著上升,尤其在中暗区域更为明显。此类场景对 TNR/SNR 的调试要求极高,以下以高通平台(Spectra ISP)为例,结合真实调试路径详解 NR 配置优化流程。

1. 场景复现条件
  • 设备平台:Qualcomm Snapdragon 8 Gen 2(Spectra 680 ISP)

  • Sensor:IMX766,最大 ISO 达到 6400+

  • 视频分辨率:4K 30fps + EIS 开启

  • NR 模块状态:

    • TNR:开启,路径为 Video-only
    • SNR:默认动态调节,支持 LUT 配置
2. 现象描述

在极暗环境下:

  • 视频画面出现“动态颗粒”噪声;
  • 局部出现“水波纹”动态模糊;
  • 人脸边缘存在轮廓抖动或油画涂抹感;
  • 帧率稳定,但主观清晰度不佳。
3. 分析路径
  • TNR 配置冲突 :初始 TNR 权重配置默认使用中等权重,在高 ISO 条件下不够强力,无法抑制 Sensor 本底噪声;
  • SNR 触发门限过高 :SNR 的纹理权重策略未及时调低,导致暗区残噪仍然保留;
  • Edge Mask 错误匹配 :边缘保护策略未动态适配高噪声图像,造成“误保护”即伪边缘强化;
  • 视频 Path 与 Snapshot Path 混用 NR 表 :部分平台默认共享 NR LUT,未进行模式分离配置。
4. 实战调优策略
模块优化配置效果说明
TNR增加权重 LUT 值,提升低频融合强度动态颗粒感显著减少,整体画面趋于平滑
SNR调整 LUT,使中暗区域启用高强度滤波人脸区域纹理过度被修复,需搭配 Edge Mask 优化
Edge NR边缘门限下调 + 手动标定 Gradient Mask结构清晰度提升,水波纹现象消除
LUT 分离为 Video 配置专用 TNR/SNR 表,与 Preview 分离防止路径干扰,提升调优一致性
5. 关键配置接口(QCOM 平台)
set_video_tnr_lut(iso_level, weight_lut);
set_video_snr_lut(iso_level, edge_thresholds);
update_edge_mask_lut(gradient_bins, enable_flag);
6. 验证结果
  • Frame Loss:无
  • 视频主观评分(1~5):从 2.5 提升至 4.3
  • 调整总时长:约 2 工时
  • 配置文件更新:NR_TNR_video.dat + NR_SNR_video.cfg + edge_mask_tbl.bin

第八章:面向未来的路径融合优化策略与平台演进建议

随着多路径图像处理需求持续提升,ISP 对路径分流、NR 配置、硬件资源调度等提出了更高的要求。未来在 ISP 架构、算法融合与调试流程上,呈现如下趋势:

1. 融合式路径架构设计
  • 统一 TNR/SNR 核心 + 路径感知配置 :不再硬分 Preview/Video NR,而是构建统一核心支持多路径感知的动态调度;
  • 模块化 Edge Preserve NR 引擎 :可由多路径共用并根据实际通路动态激活,减少资源冗余;
  • AI NR 路径浮动策略 :结合实时分析图像内容,判断使用 Video TNR 还是 Snapshot TNR 的最佳模型。
2. 平台级优化方向
项目当前机制未来趋势
TNR/SNR LUT 分离静态预设或 Mode 绑定动态感知 ISO / Scene / Content,融合 AI 权重调整
通路分配按 usecase 静态划分流式调度,基于 QoS + 帧率动态切换
调试策略手动配置 + 验证半自动分析工具(如 Snapshot vs Preview overlay 测试)
NR 模型传统边缘 Mask + LUT 滤波基于 Scene Analysis 的 AI 降噪网络融合路径
3. 架构推荐:三路径智能融合机制
  • 结构 :预览路径 + 录制路径 + Snapshot 路径 → 共享 NR 核心 → 配置分支动态切换
  • 策略 :引入帧评分系统(帧内容复杂度、光照变化)决定实际配置路径
  • 目标 :减小调试冗余、提升一致性、增强异常容错能力

未来 ISP 将逐步过渡到“可学习”“可配置”“自适应”的 NR 管理系统,配合 Sensor 自校准、AI 降噪模型,将进一步提升图像质量一致性与功耗控制效率。

本文转自 https://zhxin.blog.csdn.net/article/details/148617578