595 字
3 分钟
图像传感器怎样把光变成数字?从光子、电子到 RAW

镜头在像面上分配光,图像传感器负责测量。CMOS 像素不是直接输出“颜色”,而是在曝光期间积累光生电子,再经过读出、增益和模数转换得到 RAW 码值。

从光子到数字码值#

量子效率 QE 表示入射光子产生可收集电子的比例。若到达 NpN_p 个光子,一阶期望电子数为:

Ne=QENpN_e=QE\cdot N_p

光子怎样变成 RAW 码值

像素先吸收光子并产生电子,模拟前端读出电荷,再由 ADC 量化为数字码值。每一级都有增益、容量和噪声。

量子效率62%
电子数7440 e⁻
线性码值1860 DN

教学模型忽略微透镜、光谱响应、暗电流、转换增益非线性和 ADC 偏置;RAW 黑位并不等于零电子。

RAW 中还包含黑电平偏置、像素响应不一致、暗电流和读出链路误差,所以零码值不等于没有光,DN 也不能在未知转换增益时直接当作电子数。

光本身带有统计噪声#

在常用模型中,光子到达近似服从 Poisson 分布,因此 Shot Noise 标准差约为 Ne\sqrt{N_e}。再叠加读出噪声 σr\sigma_r

σ=Ne+σr2\sigma=\sqrt{N_e+\sigma_r^2}

Shot Noise 为什么随信号一起增长

光子到达服从统计涨落,方差近似等于电子数;读出噪声则在弱信号时占主导。

信号增加 →
Shot σ22.4 e⁻
总噪声 σ22.6 e⁻
SNR26.9 dB

Shot noise 的绝对值增加,但相对噪声约按 1/√N 下降,所以增加有效曝光通常能改善信噪比。

暗部受读出噪声影响更明显,亮部则主要由 Shot Noise 决定。降噪算法不能把这种随机性与纹理完美分开。

Full Well 与动态范围#

单个像素能容纳的电子有限,超过 full well 后响应饱和。用 full well 与读出噪声估算的动态范围为:

DRlog2NFWσrDR\approx\log_2\frac{N_{FW}}{\sigma_r}

Full Well:像素能装多少电子

像素电荷容量有限。曝光继续增加时,输出不再保持比例,高光信息被裁剪。

已存电子18000 e⁻
溢出0 e⁻
动态范围13.2 stops

动态范围还受 ADC 位深、转换增益、固定模式噪声和多增益读出影响,full well/read noise 只是常用的一阶估算。

更大的像素通常更容易获得高容量,但像素结构、背照式工艺、转换增益和多次读出都会改变结果。高 ISO 主要改变读出增益,不会增加已经收集到的光子。

图像是否代表同一时刻#

Rolling shutter 逐行开始或结束曝光,运动物体会在不同扫描时刻被记录。Global shutter 同时积分整帧,但通常需要额外存储结构。

Rolling Shutter 为什么把直线拍斜

逐行曝光让图像不对应同一时刻;全局快门同时开始和结束积分,但像素结构与噪声代价不同。

逐行读出方向 ↓
快门类型Rolling
运动速度35px
倾斜量24.5px
读出方式

示意只表现水平匀速运动。真实伪影还取决于行时间、曝光时间、相机旋转、闪光与照明频闪。

曝光时间决定每行积分多久,rolling shutter 的帧读出时间决定第一行与最后一行相隔多久,两者不能混为一谈。

传感器与 ISP 的边界#

BLC 处理读出偏置,DPC 处理异常像素,LSC 补偿镜头与像素角度响应,降噪使用信号相关噪声模型。ISP 能校正测量误差,却不能恢复已经饱和的高光或从未被采样的空间细节。

下一步还要回答颜色从哪里来:多数 CMOS 光敏像素本身只测总光强,需要色彩滤波阵列为不同位置选择不同波段。

图像传感器怎样把光变成数字?从光子、电子到 RAW
https://cloudsir.top/posts/how-image-sensor-converts-light/
作者
CloudSir
发布于
2026-08-25
许可协议
CC BY-NC-SA 4.0
缩放为什么会模糊或出现锯齿?理解图像重采样
直线为什么会被镜头掰弯?从径向模型到 LDC 逆向映射