3、噪声模型与噪声来源:光子散粒噪声、读出噪声、暗电流噪声、热噪声等,以及噪声在暗光下的表现与统计特性
夜景拍摄是智能手机影像系统面临的最严峻挑战之一。当环境照度降至10 lux以下时,CMOS图像传感器(CIS)输出的信号电荷量可能仅有几十到几百个电子,而各类噪声源的电子数却可能与之相当甚至超过信号本身。理解噪声的物理来源、统计分布以及在暗光条件下的行为特性,是设计有效降噪算法的前提。本章将从半导体物理与信号统计两个维度,系统拆解光子散粒噪声、读出噪声、暗电流噪声与热噪声的产生机制、数学模型及在ISP流水线中的表现形态,为后续的降噪算法设计奠定理论基础。
上图展示了暗光条件下CMOS图像传感器从光子入射到数字码值输出的完整信号链路,以及各类噪声源在链路中的注入位置。可以看到,散粒噪声在光电转换阶段产生,读出噪声在模拟读出链路中引入,而暗电流与热噪声则贯穿整个曝光与读出过程。理解这些噪声的物理位置与统计特性,是后续设计降噪算法的第一步。
3.1 核心原理:四大噪声源的物理机制与数学模型
3.1.1 光子散粒噪声(Photon Shot Noise)
光子到达传感器像素表面是一个离散的随机过程。即使入射光强完全恒定,单位时间内到达的光子数也服从泊松分布(Poisson Distribution)。光电二极管将光子转换为电子-空穴对后,收集到的信号电子数同样服从泊松分布。泊松分布的一个重要性质是:方差等于均值。因此,散粒噪声的标准差为:
σ_shot = √(N_signal)
其中 N_signal 为信号电子数。例如,当像素收集到 100 个电子时,散粒噪声标准差为 10 个电子,信噪比 SNR = 100/10 = 20 dB;当信号增强到 10000 个电子时,噪声为 100 个电子,SNR 提升至 40 dB。这说明散粒噪声是信号依赖噪声,信号越强,噪声越大,但信噪比反而越高。
在暗光条件下,信号电子数可能仅有 30~100 个,此时散粒噪声标准差为 5.5~10 个电子,与读出噪声处于同一量级。散粒噪声在空间域上表现为随机的、逐像素独立的亮度波动,在时间域上表现为帧间随机闪烁。由于泊松分布在电子数较大时(>30)近似于高斯分布,因此算法上常将其近似为信号相关的高斯噪声处理。
3.1.2 读出噪声(Read Noise)
读出噪声是像素信号在转换为电压、经过源跟随器(Source Follower, SF)缓冲、列放大器放大以及 ADC 量化过程中引入的噪声总和。其主要成分包括:
- 复位噪声(kTC 噪声):像素复位时,复位晶体管沟道热噪声通过复位开关对光电二极管电容充电,产生不确定的复位电压。其方差为 kBT/C,其中 k_B 为玻尔兹曼常数,T 为温度,C 为光电二极管电容。典型值在 10~50 e- RMS。
- 源跟随器热噪声与 1/f 噪声:SF 晶体管在放大信号时引入沟道热噪声(白噪声)和表面态俘获导致的 1/f 闪烁噪声。1/f 噪声在低频段显著,表现为像素输出的随机游走。
- 列放大器噪声:列级可编程增益放大器(PGA)的输入参考噪声,通常为 5~20 e-。
- ADC 量化噪声:量化误差的标准差为 LSB/√12,其中 LSB 为最低有效位对应的电子数。
现代 CIS 通过相关双采样(CDS)技术可以有效消除复位噪声和部分 1/f 噪声。CDS 在复位后和信号读出后各采样一次,将两次采样值相减,从而去除复位电平中的固定噪声成分。但 CDS 无法消除两次采样之间的随机噪声,因此读出噪声的最终极限由 SF 晶体管的热噪声决定。
3.1.3 暗电流噪声(Dark Current Noise)
暗电流是像素在无光照条件下,由于热激发产生的电子-空穴对在耗尽区被收集而形成的电流。其来源包括:
- 耗尽区内的 Shockley-Read-Hall(SRH)复合中心热激发
- 硅-二氧化硅界面态的热激发
- 像素边缘的缺陷和金属污染
暗电流的大小与温度密切相关,经验公式为:
I_dark(T) = I_dark(T_ref) × 2^((T - T_ref) / T_double)
其中 T_double 通常为 7~8°C,即温度每升高 7~8°C,暗电流翻倍。在 25°C 时,典型暗电流为 10~50 e-/pixel/s;而在 60°C 时,可能达到 200~1000 e-/pixel/s。暗电流本身是固定模式噪声(FPN)的来源之一,因为不同像素的暗电流大小存在差异。同时,暗电流的随机涨落(暗电流散粒噪声)服从泊松分布,其标准差为 √(I_dark × t_exposure)。
在长曝光夜景拍摄中(如 1/4s 至 2s),暗电流积累的电子数可能达到数百甚至数千,严重降低动态范围并产生明显的亮斑和彩色条纹。ISP 中的暗电流校正(Dark Current Correction)通常通过拍摄全黑帧(盖上镜头盖)获取暗电流图,然后在后续帧中减去。
3.1.4 热噪声(Thermal Noise)与 1/f 噪声
热噪声(约翰逊噪声)源于导体中电子的随机热运动,其功率谱密度为 4k_BTR,与频率无关(白噪声)。在 CIS 中,热噪声主要影响 SF 晶体管和列放大器。1/f 噪声(闪烁噪声)的功率谱密度与频率成反比,在低频段(<1 kHz)显著,主要来源于 MOSFET 栅氧化层与硅界面的载流子俘获-释放过程。1/f 噪声在长时间曝光或慢速读出时影响明显,表现为像素输出的随机漂移。
| 噪声类型 | 统计分布 | 信号相关性 | 频率特性 | 典型量级(暗光) | 主要抑制手段 |
|---|---|---|---|---|---|
| 光子散粒噪声 | 泊松(近似高斯) | √N 信号相关 | 白噪声 | 5~30 e- | 多帧平均、BM3D |
| 读出噪声 | 高斯 | 信号无关 | 白噪声 + 1/f | 2~15 e- | CDS、低噪声SF设计 |
| 暗电流噪声 | 泊松 + 固定模式 | 曝光时间相关 | 低频/直流 | 10~500 e-/s | 暗帧减除、温度控制 |
| 热噪声(kTC) | 高斯 | 信号无关 | 白噪声 | 10~50 e- | CDS、增大电容 |
| 1/f 噪声 | 高斯 | 信号无关 | 1/f 低频 | 3~10 e- | CDS、增大晶体管面积 |
3.2 判断方法:噪声的测量、分离与统计特性评估
在实际 ISP 开发中,我们需要通过实验数据来量化各类噪声的贡献,并验证降噪算法的效果。以下是标准的噪声测量与分析方法:
3.2.1 光子转移曲线(Photon Transfer Curve, PTC)
PTC 是表征传感器噪声特性的核心工具。通过拍摄一系列均匀光照下的平坦场图像,并逐步增加曝光时间或光源强度,记录每个条件下的信号均值(μ)和方差(σ²),绘制 log(σ²) vs log(μ) 曲线。PTC 曲线通常呈现三段特征:
- 读出噪声主导区(低信号):方差基本恒定,对应读出噪声的 σ_read²。
- 散粒噪声主导区(中等信号):斜率为 1,σ² = μ × K,其中 K 为转换增益(e-/DN)。
- 固定模式噪声主导区(高信号):斜率大于 1,表明像素间增益差异(PRNU)开始主导。
通过 PTC 曲线,可以提取出转换增益 K、读出噪声、满阱容量、暗电流等关键参数。例如,若在暗场下测得 σ² = 25 DN²,在信号为 100 DN 时测得 σ² = 125 DN²,则散粒噪声贡献为 100 DN²,转换增益 K = 100/100 = 1 e-/DN,读出噪声为 √25 = 5 e-。
3.2.2 暗场帧分析
盖上镜头盖拍摄 10~20 帧暗场图像,计算每帧的均值与方差,以及多帧间的平均图像。暗场帧的均值反映了暗电流水平,帧间方差反映了暗电流散粒噪声与读出噪声的叠加,而多帧平均后的空间方差则反映了暗电流固定模式噪声(DSNU)。通过对比单帧方差与多帧平均方差,可以分离随机噪声与固定模式噪声。
3.3 案例拆解:暗光夜景拍摄中的噪声主导权转移
我们以一个典型的夜景拍摄场景为例,分析噪声主导权的变化过程。假设使用一款 1/1.5 英寸、5000 万像素的 CIS,像素尺寸 1.0 μm,转换增益 K = 0.5 e-/DN,满阱容量 8000 e-,读出噪声 3 e-,暗电流 20 e-/s(25°C)。
场景参数:夜景街拍,环境照度 5 lux,曝光时间 1/10s,ISO 自动(模拟增益 12 dB,即 4 倍)。
信号与噪声计算:
入射光子数(5 lux 下,F/1.8 镜头,反射率 30%):
N_photon ≈ 5 lux × 0.3 × 0.5 × 0.1s / (1.24e-6 J) ≈ 1200 光子/像素
量子效率 QE = 0.6 → 信号电子数 N_signal = 720 e-
散粒噪声:σ_shot = √720 ≈ 26.8 e-
暗电流积累:20 e-/s × 0.1s = 2 e- → 暗电流散粒噪声 σ_dark = √2 ≈ 1.4 e-
读出噪声:σ_read = 3 e-(CDS 后)
总噪声(均方根叠加):σ_total = √(26.8² + 1.4² + 3²) ≈ 27.0 e-
SNR = 20 × log10(720 / 27.0) ≈ 28.5 dB
此时散粒噪声占总噪声的 98.5%,是主导。但如果我们把曝光时间延长到 1s(使用三脚架),信号电子数变为 7200 e-,散粒噪声为 84.9 e-,暗电流积累 20 e-,暗电流散粒噪声为 4.5 e-,读出噪声仍为 3 e-。此时散粒噪声占比 99.8%,暗电流噪声占比 0.2%。然而,如果环境温度升高到 45°C,暗电流变为 20 × 2^((45-25)/7) ≈ 80 e-/s,1s 曝光积累 80 e-,暗电流散粒噪声为 8.9 e-,占比提升至 1.1%。
关键结论:在短曝光暗光场景中,散粒噪声是主导;在长曝光或高温场景中,暗电流噪声的贡献不可忽视。而读出噪声虽然在总噪声中占比小,但在极暗区域(信号 < 30 e-)会成为主要噪声源,导致暗部出现明显的颗粒感。
降噪策略启示:
- 针对散粒噪声主导的场景,应优先采用多帧时域降噪(MFNR),因为散粒噪声在帧间独立,多帧平均可将噪声降低 √N 倍。
- 针对读出噪声主导的极暗区域,需要结合空间域滤波(如 NLM、BM3D)来平滑颗粒,同时保留边缘细节。
- 针对暗电流噪声,必须在 ISP 前端进行暗帧减除,并配合温度传感器进行动态暗电流估计。