3、噪声模型与来源:光子散粒噪声、读出噪声、热噪声、固定模式噪声,以及暗电流对夜景图像的影响
夜景拍摄是手机影像系统面临的最严苛场景之一。当环境照度降至 1 lux 以下时,进入传感器的光子数量急剧减少,信号幅度逼近甚至低于传感器自身噪声基底。此时,图像质量不再由光学分辨率或算法锐度决定,而是由噪声模型与信噪比(SNR)主导。要设计出真正有效的降噪算法,必须首先建立对噪声来源、统计特性、空间分布与温度依赖性的精确数学描述。本章将系统拆解五大类核心噪声——光子散粒噪声、读出噪声、热噪声、固定模式噪声(FPN)与暗电流噪声,并深入分析它们在夜景长曝光、多帧合成与高 ISO 增益场景下的具体表现与工程应对策略。
上图展示了从光子入射到数字图像输出的完整信号链路,以及各类噪声在链路中的注入位置。散粒噪声在光电转换阶段产生,读出噪声在像素源跟随器与列放大器处引入,热噪声与暗电流随温度升高而加剧,固定模式噪声则源于像素与列电路的空间失配。理解这些噪声的物理来源与统计特性,是后续设计降噪算法、优化多帧融合策略、校准传感器参数的基础。
3.1 光子散粒噪声:信号依赖的量子随机性
核心原理
光子到达传感器表面是一个泊松随机过程。在单位时间内,到达像素的光子数 N 服从泊松分布,其方差等于均值,即 σ² = N。这意味着信号越强,噪声的幅度越大,但信噪比 SNR = N / √N = √N 也随之提高。在夜景低照度场景下,单个像素接收到的光子数可能仅有几十到几百个,此时散粒噪声的相对强度(即噪声与信号的比值)变得极为显著。例如,当 N = 100 时,SNR 仅为 20 dB;而当 N = 10,000 时,SNR 提升至 40 dB。
工程要点:散粒噪声是信号依赖型噪声,无法通过简单的时域滤波完全去除,因为滤波本身会改变信号统计特性。在夜景降噪中,通常采用多帧平均或加权融合来提升等效光子数,从而改善 SNR。但需要注意,多帧融合的前提是场景静止或已做精确配准,否则会产生运动拖影。
判断方法与实战场景
在 RAW 域分析中,可以通过拍摄均匀灰卡并统计不同曝光水平下的像素方差来判断散粒噪声的主导程度。具体操作流程如下:
- 在暗室中放置均匀光源,分别拍摄 10%、30%、50%、70%、90% 灰阶的 RAW 图像。
- 对每张图像选取中心 512×512 区域,计算像素灰度均值 μ 与方差 σ²。
- 绘制 log(σ²) 对 log(μ) 的曲线,若斜率约为 1,则散粒噪声主导;若斜率接近 0,则读出噪声主导。
在夜景实拍中,散粒噪声表现为暗部区域的颗粒感,且颗粒大小随亮度增加而增大。例如,拍摄城市夜景时,天空区域的噪声颗粒明显小于灯光照射的建筑墙面区域,这正是散粒噪声信号依赖特性的直观体现。
| 信号水平(光子数) | 散粒噪声 σ | SNR(dB) | 视觉表现 |
|---|---|---|---|
| 10 | 3.16 | 10 | 严重颗粒感,细节不可辨 |
| 100 | 10 | 20 | 明显噪声,轮廓可辨 |
| 1,000 | 31.6 | 30 | 轻微噪声,细节较清晰 |
| 10,000 | 100 | 40 | 噪声不明显,画质良好 |
常见误区
误区:认为提高 ISO 会"放大"散粒噪声。实际上,ISO 增益是模拟或数字放大,它同时放大信号与噪声,散粒噪声的大小由光子数决定,与 ISO 无关。高 ISO 下噪声更明显是因为信号被放大后,后续读出噪声和量化噪声的相对贡献降低,散粒噪声成为主导,而视觉上噪声颗粒被放大显示。
3.2 读出噪声:时域随机性与列固定模式
核心原理
读出噪声是像素电荷转换为电压、经过源跟随器、列放大器和 ADC 量化过程中引入的时域随机噪声。其主要来源包括:像素复位时的 kTC 噪声、源跟随器热噪声、列放大器带宽限制引起的噪声、以及 ADC 量化噪声。现代 CMOS 传感器通过相关双采样(CDS)技术可以有效消除复位噪声和部分列固定模式噪声,但残余的读出噪声仍然存在,典型值在 2-10 e⁻(电子数)之间。
读出噪声与信号无关,是加性噪声。在夜景低照度场景下,当信号水平仅为 10-50 e⁻ 时,读出噪声可能超过散粒噪声成为主要噪声源。因此,降低读出噪声是提升夜景画质的关键路径之一。
判断方法与操作流程
读出噪声的测量通常在完全黑暗条件下进行:
- 盖上镜头盖,拍摄多帧全黑 RAW 图像(建议 16 帧以上)。
- 计算每帧像素灰度值的标准差,取多帧平均得到总噪声。
- 将灰度值转换为电子数(需知道传感器增益,单位 e⁻/DN)。
- 若传感器支持,可分别测量 CDS 开启与关闭时的噪声,评估 CDS 的抑制效果。
在夜景实拍中,读出噪声表现为暗部区域的均匀颗粒,不随亮度变化。例如,拍摄星空时,天空背景区域的噪声颗粒大小与亮度无关,这有助于区分散粒噪声与读出噪声。
经验提示:在 ISP 降噪流程中,读出噪声通常通过时域滤波(多帧平均)或空域滤波(如 BM3D)来抑制。但要注意,读出噪声是白噪声,其功率谱平坦,空域滤波容易损失高频细节。建议优先采用多帧时域降噪,再辅以边缘保护的空域滤波。
案例拆解:暗光视频的读出噪声优化
某旗舰手机在夜景视频模式(30fps,ISO 3200)下出现明显噪点,经分析发现:单帧读出噪声为 6.2 e⁻,散粒噪声在暗部区域约为 4.5 e⁻,总噪声约为 7.7 e⁻。通过以下步骤优化:
- 将传感器工作模式从高帧率切换为低帧率(30fps→24fps),延长读出时间,降低带宽需求,读出噪声降至 4.8 e⁻。
- 开启传感器内置的 2×2 binning 模式,等效像素尺寸增大,读出噪声进一步降至 3.5 e⁻。
- ISP 端采用 3 帧时域降噪(检测到静止区域时),等效噪声降至 2.0 e⁻。
最终暗部 SNR 从 12.3 dB 提升至 18.6 dB,主观画质显著改善。代价是视频帧率降低和分辨率减半,但夜景场景下用户对流畅度的敏感度低于对画质的敏感度。
3.3 热噪声与暗电流:温度对夜景成像的隐性影响
核心原理
热噪声(约翰逊噪声)源于像素复位开关的电阻热扰动,其功率谱密度为 4kTR,其中 k 为玻尔兹曼常数,T 为温度,R 为等效电阻。在 CMOS 传感器中,热噪声主要通过 kTC 噪声形式体现,即复位操作后电容上的电荷不确定性。CDS 技术可以消除大部分 kTC 噪声,但残余部分仍随温度升高而增大。
暗电流是半导体 PN 结在无光照条件下因热激发产生的电子-空穴对。暗电流大小与温度呈指数关系:I_dark ∝ T² · exp(-E_g / (2kT)),其中 E_g 为硅的禁带宽度(约 1.12 eV)。温度每升高 6-8°C,暗电流约翻倍。在 30°C 环境下,典型 CMOS 传感器的暗电流为 10-50 e⁻/s;而在 60°C 时,可升至 200-1000 e⁻/s。
判断方法与实战场景
暗电流的测量方法:
- 将传感器置于恒温箱中,设定不同温度(如 0°C、25°C、40°C、60°C)。
- 在完全黑暗条件下,以不同曝光时间(如 1s、2s、4s、8s)拍摄全黑图像。
- 计算像素灰度均值随曝光时间的变化斜率,即为暗电流速率(DN/s)。
- 将 DN/s 转换为 e⁻/s,需乘以传感器增益。
在夜景长曝光场景(如星空摄影,曝光 30 秒)中,暗电流积累的电荷可能达到数千电子,与弱光信号相当甚至超过。此时,暗电流不仅增加噪声,还会产生固定模式暗信号非均匀性(DSNU),表现为图像暗角区域的亮度不均匀。
| 温度(°C) | 暗电流(e⁻/s) | 30s 曝光积累(e⁻) | 等效信号水平(10 lux 场景) |
|---|---|---|---|
| 0 | 5 | 150 | 约 3% |
| 25 | 25 | 750 | 约 15% |
| 40 | 80 | 2,400 | 约 48% |
| 60 | 400 | 12,000 | 远超信号 |
常见误区与工程对策
误区:认为暗电流只影响长曝光摄影。实际上,在视频拍摄中,虽然单帧曝光时间短(如 33ms),但传感器持续工作导致芯片温度升高,暗电流随之增大。长时间录制夜景视频时,画面亮度会逐渐漂移,暗部噪声增加,这正是暗电流随温度累积的表现。
工程对策包括:
- 传感器端:优化像素结构,采用埋沟道光电二极管、减小耗尽区体积、增加钉扎层。
- 系统端:在 ISP 中做暗电流减除(Dark Frame Subtraction),即预先存储不同温度、不同曝光时间下的全黑帧,实时减除。
- 散热设计:在手机中增加石墨散热片、VC 均热板,控制传感器温度在 40°C 以下。
3.4 固定模式噪声(FPN):空间维度的系统性偏差
核心原理
固定模式噪声是传感器在空间维度上的确定性噪声,分为像素固定模式噪声(Pixel FPN)和列固定模式噪声(Column FPN)。像素 FPN 源于各像素光电二极管暗电流差异、源跟随器阈值电压失配;列 FPN 源于列放大器增益与偏置失配。FPN 在时域上是稳定的,同一像素在不同帧中的偏差相同,因此无法通过多帧平均消除。
FPN 分为暗场 FPN(DSNU,暗信号非均匀性)和亮场 FPN(PRNU,光响应非均匀性)。DSNU 在无光照时表现为像素暗电流差异;PRNU 在均匀光照下表现为像素响应率差异,通常用百分比表示,典型值为 1-3%。
判断方法与校正流程
FPN 的测量与校正流程:
- 暗场采集:在完全黑暗条件下,拍摄 64 帧全黑图像,取平均得到暗场均值帧,计算每像素的标准差得到 DSNU。
- 亮场采集:在均匀光源下(如积分球),拍摄 50% 灰阶图像,减去暗场均值后,计算每像素的响应率偏差得到 PRNU。
- 校正参数生成:为每个像素生成增益校正系数(PRNU)和偏移校正值(DSNU),存储于传感器 OTP 或 ISP 校准参数中。
- 实时校正:ISP 在 RAW 域执行逐像素减偏移、乘增益的操作。
工程要点:FPN 校正是夜景降噪的前置步骤。若未做 FPN 校正,后续的时域降噪和空域降噪会将 FPN 误认为真实信号细节,导致噪声残留或伪纹理。在 ISP 流水线中,FPN 校正必须位于去马赛克和降噪之前。
案例拆解:夜景照片中的竖条纹问题
某工程机在夜景拍摄时出现明显的竖条纹噪声,尤其在暗部区域。分析过程:
- 拍摄全黑帧,发现竖条纹在暗场中清晰可见,确认是列 FPN。
- 测量各列灰度均值,发现偏差范围达 ±12 DN(14-bit RAW),远超随机噪声水平。
- 检查传感器寄存器配置,发现列放大器增益档位设置不当,导致相邻列增益失配。
- 重新校准列增益参数,将偏差控制在 ±2 DN 以内。
- 同时在 ISP 中增加列向滤波(Column-wise Filter),进一步抑制残余列 FPN。
修复后,暗部区域的竖条纹完全消失,SNR 提升约 4 dB。复盘经验:列 FPN 的根源往往是传感器模拟电路的失配,单纯依赖算法滤波只能缓解,必须从硬件校准层面解决。
3.5 夜景图像噪声的综合分析与降噪策略
核心原理
夜景图像的最终噪声是上述各类噪声的叠加。在低照度下,噪声模型可简化为:σ_total² = σ_shot² + σ_read² + σ_dark² + σ_FPN²。其中,σ_shot 与信号水平成正比,σ_read 为常数,σ_dark 与曝光时间和温度相关,σ_FPN 为空间固定值。设计降噪算法时,需要根据信号水平动态调整滤波强度:暗部区域以抑制读出噪声和暗电流噪声为主,亮部区域以抑制散粒噪声为主。
实战场景:夜景多帧融合的噪声处理
以某旗舰手机夜景模式为例,其处理流程如下:
- 连续拍摄 6-8 帧短曝光图像(曝光时间 1/15s,ISO 1600)。
- 在 RAW 域执行 FPN 校正和暗电流减除。
- 进行多帧配准(基于运动矢量估计),将各帧对齐到参考帧。
- 对静止区域执行多帧平均,等效曝光时间延长至 1/2s,SNR 提升约 9 dB。
- 对运动区域执行单帧降噪,采用边缘保护的空域滤波(如引导滤波)。
- 最后进行色调映射和细节增强。
该方案的关键在于:多帧平均有效抑制了散粒噪声和读出噪声(时域随机噪声),而 FPN 校正消除了空间固定噪声,两者结合才能达到最佳效果。
| 噪声类型 | 时域特性 | 空间特性 | 抑制方法 |
|---|---|---|---|
| 散粒噪声 | 随机,帧间独立 | 均匀分布 | 多帧平均、增加曝光 |
| 读出噪声 | 随机,帧间独立 | 均匀分布 | 多帧平均、降低带宽 |
| 暗电流噪声 | 随机 + 固定 | 暗角区域明显 | 暗帧减除、散热 |
| FPN | 固定,帧间不变 | 列/像素固定 | FPN 校正、列滤波 |
常见误区与总结
误区:过度依赖算法降噪而忽视传感器硬件优化。算法降噪的本质是"用计算换画质",但会带来细节损失、伪影和功耗增加。在夜景场景中,应优先通过硬件手段(如增大像素尺寸、降低读出噪声、优化散热)提升原始 SNR,再辅以算法降噪。
总结本章核心要点:
- 散粒噪声是信号依赖的,无法完全消除,只能通过增加光子数来改善 SNR。
- 读出噪声是加性白噪声,在极低照度下主导噪声,需从传感器设计和多帧融合两方面抑制。
- 暗电流随温度指数增长,长曝光和高环境温度下必须做暗帧减除。
- FPN 是空间固定噪声,必须在校准阶段消除,否则会干扰后续所有降噪算法。
- 夜景降噪应遵循"先校正、后融合、再增强"的流水线顺序。