2、自动曝光(AE)基础:曝光三角(光圈、快门、增益)与数字域等效控制
曝光这事儿,说白了就是控制进光量。我刚开始调AE的时候,总觉得不就是调调亮度嘛,后来才发现,这里面的门道深着呢。
你想想看,一张照片亮不亮,取决于三个物理量:光圈、快门、增益。这就是经典的曝光三角。但在手机ISP里,我们其实很少直接拧镜头上的光圈环,更多是在数字域里做等效控制。
2.1 曝光三角的物理本质
先过一遍基础。这三个参数各自管什么,我列个表,你一看就明白。
| 参数 | 物理含义 | 对图像的影响 | 典型范围(手机) |
|---|---|---|---|
| 光圈 (Aperture) | 镜头通光孔径的大小 | 控制进光量 + 景深 | f/1.4 ~ f/2.4(固定居多) |
| 快门 (Shutter) | 传感器感光的时间长度 | 控制进光量 + 运动模糊 | 1/8000s ~ 30s |
| 增益 (Gain/ISO) | 模拟/数字信号放大倍数 | 控制亮度 + 噪声水平 | ISO 100 ~ 6400+ |
这里有个关键点:光圈在手机上基本是固定的。现在的旗舰机虽然有了可变光圈,但绝大多数场景下,它只在一个档位工作。所以,真正在AE算法里频繁调度的,其实是快门和增益。
核心公式: 曝光量 (EV) ∝ 光圈面积 × 快门时间 × (1 / 增益倒数)
说白了,你增大一档光圈,或者放慢一档快门,或者提高一档增益,进光量都翻一倍。但代价完全不同。
2.2 数字域等效控制
为什么说「数字域等效」?因为ISP里,我们没法像单反那样咔咔拧光圈环。我们控制的是什么呢?
- 曝光时间 (Exposure Time):直接写寄存器,控制传感器曝光行数。
- 模拟增益 (Analog Gain):传感器读出前的电压放大,噪声相对小。
- 数字增益 (Digital Gain):ISP pipeline里的数字乘法,噪声会被一起放大。
我遇到过不少刚入行的工程师,觉得「增益嘛,提一提就行了」。嗯,提是可以提,但你看看暗光下的噪点,那就是数字增益提太高的后果。
我的习惯: 优先调曝光时间,其次调模拟增益,最后才动数字增益。数字增益能不动就不动,那是最后的保底手段。
2.3 曝光三角的权衡策略
你想想看,如果场景很暗,你怎么办?
- 拉长快门 → 进光多了,但手一抖就糊了。夜景模式就是这么干的,但得配防抖。
- 提高增益 → 亮度上去了,但噪点也上去了。这就是为什么暗光照片总是不干净。
- 开大光圈 → 手机光圈基本固定,这条路走不通。
所以,AE算法的本质,就是在亮度、噪声、运动模糊三者之间找平衡。我管它叫「不可能三角」。
我曾经踩过的坑: 有一次做运动场景的AE,我为了压低噪声,把增益压得很低,结果快门时间拉到了1/30s。拍静止物体还行,一拍跑步的人,全是拖影。后来我学乖了,运动场景下必须优先保证快门速度,噪声可以靠后处理去降。
2.4 曝光三角的数学关系
咱们来点硬核的。AE算法里,目标亮度 L_target 和当前亮度 L_cur 的关系是这样的:
L_target = L_cur × (T_new / T_cur) × (G_new / G_cur)
其中:
T = 曝光时间
G = 总增益(模拟 × 数字)
算法要做的事很简单:算出一个比例因子,然后分配到时间和增益上。但分配策略,才是各家厂商的看家本领。
举个例子,如果当前画面偏暗,需要提亮2倍:
- 策略A: 曝光时间翻倍,增益不变 → 适合静止场景,画质最好。
- 策略B: 曝光时间不变,增益翻倍 → 适合运动场景,但噪点增加。
- 策略C: 各提1.4倍 → 折中方案,兼顾画质和防抖。
我个人习惯在AE收敛阶段用策略A,在追焦阶段用策略B。具体怎么切,得看陀螺仪数据和场景检测结果。
2.5 知识结构图:曝光控制流程
下面这张图,画的是ISP里AE模块的核心决策流程。你看一眼就明白整个链路了。
2.6 实际调参中的避坑指南
最后,分享几个我实际调AE时总结的经验。这些坑,我基本都踩过。
- 不要只看平均亮度。 逆光场景下,平均亮度可能正常,但人脸是黑的。一定要结合权重区域(人脸、ROI)来做统计。
- 增益切换要平滑。 我见过有些方案,增益一跳就是6dB,画面亮度突然闪一下,用户体验极差。建议每次步进不超过1dB。
- 曝光时间不能突变。 从1/30s跳到1/120s,画面会突然变暗再慢慢恢复。要做渐变过渡,或者用帧间滤波。
- 注意帧率约束。 曝光时间不能超过帧周期的80%,否则会丢帧。比如30fps下,最大曝光时间别超过33ms。
一个小技巧: 在调试AE收敛速度时,可以用「目标亮度误差百分比」作为收敛判据。我一般设5%的误差带,在这个范围内就算收敛,避免来回震荡。
嗯,曝光三角的基础就这些。说白了,AE就是一门权衡的艺术。你掌握了物理本质和数字域等效控制,后面调参的时候心里就有底了。