4、HDR融合算法分类:基于帧的融合、基于块的融合、基于像素的融合
HDR(高动态范围)融合是ISP Pipeline中重建场景亮度细节的核心环节。根据融合粒度与数据来源的不同,业界将HDR融合算法划分为三大类:基于帧的融合、基于块的融合与基于像素的融合。这三类方案在计算复杂度、运动鲁棒性、存储带宽以及最终画质上存在显著差异,工程移植适配时必须根据目标平台(如手机SoC、车载摄像头、IPC)的算力与内存带宽进行权衡。
工程要点: 在嵌入式ISP调优中,融合粒度的选择直接决定了Line Buffer深度、DDR带宽占用以及去鬼影算法的复杂度。基于像素的融合通常需要4~8行Line Buffer,而基于帧的融合则需要至少1~2帧的完整Frame Buffer。
4.1 基于帧的融合(Frame-based Fusion)
基于帧的融合是最早商用化的HDR方案,常见于多帧合成(Multi-Frame HDR)场景。其核心思路是:对同一场景连续采集2~3帧不同曝光时间的RAW图(如短帧Tshort、中帧Tmid、长帧Tlong),在完成全局对齐(Global Registration)后,以整帧为单位进行加权融合。
- 数据流: Sensor输出多帧RAW → ISP前端预处理(BLC、LSC、去噪) → 帧对齐(光流或特征匹配) → 帧级权重计算 → 融合输出单帧HDR。
- 优点: 算法实现简单,对局部运动不敏感(因为融合发生在帧级),适合静态场景或慢速运动。
- 缺点: 需要至少1~2帧的完整Frame Buffer(以1080P@60fps为例,单帧RAW约12MB),DDR带宽压力大;运动场景易出现“鬼影”(Ghosting),需要额外的去鬼影模块。
| 参数项 | 基于帧的融合 | 基于块的融合 | 基于像素的融合 |
|---|---|---|---|
| 融合粒度 | 整帧(Full Frame) | M×N 块(如16×16) | 单像素(Per Pixel) |
| Line Buffer需求 | 1~2帧(大) | 4~8行(中) | 2~4行(小) |
| 运动鲁棒性 | 低(需额外去鬼影) | 中(块级运动补偿) | 高(像素级运动检测) |
| 计算复杂度 | 低(帧级加权) | 中(块匹配+权重) | 高(逐像素判断) |
| 典型应用 | 手机多帧HDR、夜景模式 | 安防IPC、行车记录仪 | 车载摄像头、工业相机 |
移植适配提示: 在嵌入式平台(如ARM Cortex-A系列或RISC-V)上,基于帧的融合建议使用DMA双缓冲(Double Buffering)来隐藏DDR传输延迟;同时利用NEON或RVV向量指令加速帧级权重计算。
4.2 基于块的融合(Block-based Fusion)
基于块的融合将图像划分为固定大小的块(典型尺寸为8×8、16×16或32×32像素),在每个块内独立进行曝光融合。该方案在运动鲁棒性与硬件开销之间取得了较好的平衡,是目前安防IPC和行车记录仪中最主流的HDR实现方式。
- 核心流程: 输入多帧RAW → 分块(Block Partition) → 块级运动检测(SAD/MAD) → 块级权重映射 → 加权融合 → 去块效应滤波。
- 运动处理: 对于检测到运动的块,可以单独降低长帧权重或切换到短帧,从而抑制鬼影。
- 硬件友好: 块级处理天然适配SIMD向量化(如NEON 16×16块)和硬件加速器(如ISP内部的2D-DMA引擎)。
工程陷阱: 块尺寸选择需要权衡。块太大(如64×64)会丢失局部细节,块太小(如4×4)则运动检测噪声大且权重计算开销剧增。建议在移植适配时通过寄存器配置块尺寸,并预留至少3组可调阈值(运动阈值、过曝阈值、欠曝阈值)。
4.3 基于像素的融合(Pixel-based Fusion)
基于像素的融合是粒度最细、画质上限最高的HDR方案。它在每个像素位置独立判断最佳曝光贡献,通过像素级权重函数(通常基于亮度、饱和度、运动概率)进行融合。该方案对运动物体边缘的处理最为自然,但计算密度极高,通常需要专用ISP硬件流水线支持。
- 权重函数: 典型权重曲线为高斯型或三角型,以像素亮度值为自变量。例如:
W(L) = exp(-(L - L_mid)² / (2σ²)),其中L为像素亮度,L_mid为中间曝光参考值。 - 运动检测: 像素级运动检测通常基于帧差法或背景建模,对运动像素赋予低权重或直接使用短帧数据。
- 硬件实现: 在ISP中通常以Line-based流水线方式实现,每处理2~4行即可输出融合结果,延迟极低。
移植适配关键: 基于像素的融合对LSC校正后的数据一致性要求极高。如果LSC增益存在残留的网格噪声(Grid Noise),会在融合后的HDR图像中产生“亮度跳变”伪影。建议在LSC校正后增加一个3×3中值滤波作为预处理,再进入像素级融合模块。
4.4 三类融合算法的工程选型对比
在ISP调优工程移植适配中,选择哪一类融合算法需要综合考虑以下维度:
| 评估维度 | 基于帧的融合 | 基于块的融合 | 基于像素的融合 |
|---|---|---|---|
| 画质上限 | 中(静态场景高) | 中高 | 高(运动边缘最佳) |
| 运动鬼影抑制 | 弱(需额外模块) | 中(块级补偿) | 强(像素级判断) |
| DDR带宽 | 高(帧级Buffer) | 中(块级Buffer) | 低(Line Buffer) |
| 硬件加速难度 | 低(帧级加权) | 中(块匹配加速器) | 高(像素级流水线) |
| 典型平台 | 手机AP、高端SoC | 安防IPC、中端SoC | 车载ISP、工业相机 |
移植适配建议: 对于资源受限的嵌入式平台(如带ISP的MCU或FPGA),推荐优先实现基于块的融合(16×16块),并配合LSC校正后的像素一致性优化。如果平台拥有专用ISP硬件流水线(如TI TDA4、NVIDIA Orin),则可以直接启用基于像素的融合以获得最佳HDR画质。