1. 曝光控制基础:曝光三要素的物理意义与传感器对应关系

做ISP硬件这么多年,我经常被问到同一个问题:「曝光控制到底在控什么?」

说白了,曝光就是控制光线到达传感器并转化为电信号的过程。传统摄影里有三个核心参数——光圈、快门、ISO,到了数字图像传感器这边,每个参数都有它独特的硬件映射。今天我们就来把这层窗户纸捅破。

1.1 光圈:从机械叶片到像素开口

传统相机里,光圈是镜头内部的一组叶片。叶片收得越紧,进光孔越小,进来的光就越少。物理上,光圈用F数表示——F值越大,通光孔径越小。

核心关系:光圈面积 ∝ 1 / (F数)²。F1.4的通光量是F2.0的两倍。

但在数字图像传感器里,没有机械叶片。那光圈怎么对应?

我个人的理解是:曝光时间和模拟增益共同承担了「光圈」的角色。你想想看,传感器每个像素的感光面积是固定的(比如1.4µm × 1.4µm),我们没法像调光圈那样物理改变像素开口大小。所以,硬件上我们通过调整积分时间来等效控制进光量。

传统光圈 传感器对应 硬件实现方式
F1.4(大光圈) 长积分时间 增加行曝光周期数
F16(小光圈) 短积分时间 减少行曝光周期数
光圈叶片调节 曝光时间调节 寄存器配置曝光行数

避坑提示:我曾经在一个项目中,把曝光时间设得太长,导致运动物体严重拖影。后来才意识到——传感器没有光圈叶片,长曝光就是唯一的「大光圈」手段,但代价是运动模糊。这个取舍一定要想清楚。

1.2 快门:从机械帘幕到电子滚动

传统快门是两片帘幕。前帘打开开始曝光,后帘关闭结束曝光。快门速度就是这两帘之间的时间差。

到了传感器这边,情况变得有趣了。大部分CMOS传感器用的是电子滚动快门(Electronic Rolling Shutter, ERS)。什么意思呢?就是逐行复位、逐行读出,不是整帧同时曝光。

注意:ERS模式下,每一行的曝光起始时间不同。如果拍摄快速运动的物体,画面会出现「果冻效应」——垂直物体倾斜了。这是硬件架构决定的,不是bug。

我习惯把快门分为两种模式:

  • 全局快门(Global Shutter):所有像素同时开始曝光,同时结束。需要每个像素内嵌存储节点,成本高,但无果冻效应。
  • 滚动快门(Rolling Shutter):逐行曝光,逐行读出。硬件简单,像素填充率高,但有果冻效应。

嗯,这里要注意:曝光时间 = 复位到读出的时间差。在滚动快门里,这个时间差对所有行是一样的,只是每行的起始点错开了。

1.3 ISO:从胶片感光度到模拟/数字增益

传统ISO是胶片对光的敏感程度。ISO 100的胶片需要更多光才能正确曝光,ISO 1600只需要1/16的光量。

数字传感器里,ISO不是物理属性,而是增益。说白了,就是把传感器输出的微弱电压信号放大。

我参与过一个项目,客户要求ISO做到102400。当时团队争论了很久——是用模拟增益还是数字增益?

增益类型 实现位置 噪声特性 典型范围
模拟增益(Analog Gain) 像素输出后、ADC之前 放大信号同时放大噪声,但噪声底较低 1× ~ 16×(0dB ~ 24dB)
数字增益(Digital Gain) ADC之后、ISP处理前 放大量化噪声,低光下容易出条带 1× ~ 4×(0dB ~ 12dB)
混合增益(Dual Gain) 模拟+数字分段 高ISO下平衡噪声与动态范围 1× ~ 64×(0dB ~ 36dB)

关键结论:模拟增益的噪声性能优于数字增益。我建议在硬件设计时,优先把模拟增益用满,再用数字增益补足。曾经有个方案,数字增益开到了8×,结果暗部全是条带噪声——教训深刻。

1.4 三要素的硬件协同关系

曝光三要素在传感器里不是独立工作的。它们通过曝光行数寄存器、增益寄存器和帧同步信号协同配合。

我画了一张图,帮你理清这个关系:

曝光三要素硬件协同关系图 曝光三要素硬件协同关系 CMOS图像传感器 光圈等效 积分时间控制 快门控制 滚动/全局模式 ISO增益 模拟+数字增益 输出:数字像素值(RAW) 说明:三要素通过寄存器配置协同工作。积分时间决定基础曝光量, 快门模式决定读出时序,增益决定信号放大倍数。三者共同影响最终图像亮度与噪声。

1.5 硬件设计中的关键参数

做ISP硬件架构时,有几个参数你必须刻在脑子里:

  1. 最小曝光行数:受限于读出速度,不能无限短。比如1080p@30fps,一行读出时间约10µs,最小曝光可能就是1行。
  2. 最大曝光行数:受限于帧周期。30fps的帧周期是33.3ms,曝光行数不能超过这个范围。
  3. 增益步长:模拟增益通常以0.1dB或0.3dB步进调节。我建议步长不要太大,否则亮度跳变会被人眼察觉。
  4. 增益与噪声的拐点:模拟增益超过某个值(比如24dB)后,噪声会急剧恶化。这个拐点因传感器工艺而异,需要实测标定。

个人经验:我在设计一款安防摄像头时,发现ISO 3200以上图像完全不可用。后来查了传感器datasheet,发现模拟增益最大只支持16×(24dB),再往上走就是数字增益。我们调整了策略——限制ISO上限到1600,配合更长曝光时间,反而得到了更好的低光效果。

1.6 小结:三要素的硬件映射

好了,我们把今天的内容串一下:

  • 光圈 → 传感器里没有物理光圈,用积分时间等效控制进光量
  • 快门 → 电子滚动快门或全局快门,决定曝光时序和读出方式
  • ISO → 模拟增益 + 数字增益,决定信号放大倍数和噪声水平

这三个参数在硬件里通过寄存器配置,互相制约。你调大增益,就得小心噪声;你拉长曝光时间,就得接受运动模糊。没有完美的参数,只有合适的取舍。