2、HDR成像原理:多帧合成HDR、单帧HDR(DOL-HDR)、HDR的噪声特性分析

HDR成像,说白了就是让相机同时看清亮部和暗部。普通单帧图像受限于传感器动态范围,亮处过曝、暗处欠曝是家常便饭。我刚开始做ISP时,总觉得HDR不就是多拍几张合成嘛,后来踩了不少坑才明白——HDR的核心不是合成,而是噪声管理。

这一章我们拆开来看:多帧合成HDR怎么工作?单帧DOL-HDR又是什么?以及,HDR模式下噪声为什么特别棘手。

2.1 多帧合成HDR

多帧合成HDR的原理很直观:对同一场景,用不同曝光时间拍多张RAW图,然后合成一张高动态范围的图像。

典型的流程是这样的:

  • 短曝光帧:保留高光细节,但暗部噪声大
  • 中曝光帧:中间调正常,兼顾亮暗
  • 长曝光帧:暗部信噪比高,但高光容易过曝

合成时,算法会为每个像素选择最合适的帧,或者做加权融合。我在项目中遇到过一个问题:如果场景中有快速移动的物体(比如行人、汽车),多帧之间会产生鬼影。嗯,鬼影消除是另一个大话题,这里先提一嘴。

核心指标:多帧合成HDR的动态范围提升 ≈ log2(最长曝光时间 / 最短曝光时间) [stops]。比如长曝光30ms、短曝光1ms,理论上能提升约5档动态范围。

2.2 单帧HDR(DOL-HDR)

DOL-HDR(Digital Overlap HDR)是另一种思路。它不依赖多帧拍摄,而是在单帧曝光时间内,通过传感器内部的分时读出机制,实现不同曝光量的像素数据同时输出。

DOL-HDR的典型工作模式:

  1. 长曝光积分:传感器先进行长曝光积分
  2. 短曝光积分:在长曝光尚未结束时,插入短曝光积分
  3. 分时读出:长曝光和短曝光的数据在同一个帧周期内依次读出
  4. 片上合成:在传感器内部或ISP前端完成合成

我个人习惯把DOL-HDR叫做“伪单帧HDR”。它避免了多帧合成的鬼影问题,但代价是传感器读出噪声会翻倍——因为你要读出两套数据。

对比项 多帧合成HDR DOL-HDR
帧数需求 2~3帧 1帧(内部多曝光)
鬼影问题 严重,需额外消除 无鬼影
读出噪声 单次读出 多次读出,噪声叠加
运动适应性 差 好
传感器要求 支持多帧触发 支持分时读出

避坑指南:我曾经在DOL-HDR项目里忽略了读出噪声的叠加效应,结果合成后的暗部信噪比反而比单帧还差。后来加了片内降噪才救回来。记住:DOL-HDR的读出噪声 = 长曝光读出噪声 + 短曝光读出噪声。

2.3 HDR的噪声特性分析

HDR模式下的噪声,比普通模式复杂得多。为什么?因为不同曝光帧的噪声特性不一样,合成时噪声会被“混合”和“放大”。

我总结了HDR噪声的三个关键特性:

  • 噪声非均匀性:短曝光帧的暗部噪声大,长曝光帧的高光噪声小。合成后,不同区域的噪声水平差异明显。
  • 时间域噪声:多帧合成时,每帧的随机噪声(如读出噪声、光子散粒噪声)会叠加。虽然平均能降低随机噪声,但固定模式噪声(FPN)反而会被保留甚至放大。
  • 合成算法引入的噪声:加权融合、运动补偿等操作,会引入额外的计算噪声。尤其是非线性映射(如gamma校正、色调映射),会改变噪声的分布特性。

注意:HDR合成后的噪声,往往在暗部和高光过渡区最明显。暗部因为短曝光帧的信噪比低,高光过渡区因为帧间权重切换,容易产生“噪声条带”。

举个例子。假设短曝光帧的暗部噪声标准差为σ_short,长曝光帧的暗部噪声标准差为σ_long。合成时如果采用线性加权,合成后的噪声标准差 ≈ sqrt(w_short² * σ_short² + w_long² * σ_long²)。权重w_short和w_long取决于像素亮度。你想想看,如果权重分配不当,合成后的噪声可能比单帧还大。

所以,HDR噪声抑制的关键,不是合成后再降噪,而是在合成过程中就控制噪声。我习惯的做法是:在RAW域先做帧间对齐和噪声估计,再根据噪声水平动态调整合成权重。这样能最大程度保留细节,同时抑制噪声。

2.4 HDR成像流程与噪声来源

下面这张图展示了HDR成像的完整流程,以及每个环节的噪声来源。我特意把噪声源标红了,方便你对照。

HDR成像流程与噪声来源 HDR成像流程与噪声来源 场景 多帧/单帧曝光 RAW读出 HDR合成 噪声源:光子散粒噪声 噪声源:读出噪声 噪声源:合成噪声 说明: • 光子散粒噪声:与曝光量平方根成正比,短曝光帧更明显 • 读出噪声:与传感器读出电路相关,DOL-HDR中会叠加 • 合成噪声:由帧间权重分配、非线性映射引入

从这张图可以清楚看到:噪声不是只在合成后才出现,而是从曝光阶段就开始累积。我个人习惯把HDR噪声抑制的起点放在曝光控制阶段——通过合理分配曝光时间,让各帧的噪声水平尽量接近,这样合成后的噪声分布会更均匀,后续降噪也更容易。

经验之谈:我做过一个对比实验:同样场景下,曝光时间比1:4:16的三帧合成,比1:8:64的三帧合成,噪声均匀性好30%以上。曝光跨度太大,反而会让噪声管理更难。

2.5 本章小结

HDR成像不是简单的“多拍几张再合成”。多帧合成HDR和DOL-HDR各有优劣,选择哪种取决于你的应用场景和对噪声的容忍度。而HDR噪声的特性——非均匀性、时间域叠加、合成算法引入——决定了噪声抑制必须前置到合成阶段,而不是事后补救。