第二章 AE算法基础:曝光三角、测光模式与目标亮度
各位好,我是负责高通平台相机3A算法调优的工程师。今天咱们聊聊AE——自动曝光。很多人觉得AE不就是调亮度吗?其实没那么简单。我做了这么多年,踩过的坑不少,今天把这些经验掰开揉碎讲给你听。
2.1 曝光三角:光圈、快门、ISO
曝光三角,说白了就是控制进光量的三个旋钮。你想想看,一张照片亮不亮,就靠这三个参数配合。
| 参数 | 物理含义 | 对画面的影响 |
|---|---|---|
| 光圈 (Aperture) | 镜头通光孔径大小 | F值越小,进光越多;同时影响景深 |
| 快门 (Shutter) | 传感器感光时间 | 时间越长,进光越多;但手抖会糊 |
| ISO | 传感器信号放大增益 | 增益越高越亮;但噪声也越明显 |
在手机平台上,光圈通常是固定的。所以咱们真正能调的,其实就是快门和ISO。高通平台里,这两个参数通过sensor_mode和gain字段控制。
核心公式:曝光量 = 光圈面积 × 快门时间 × (1 / ISO倒数)
实际调优时,我们更关注 EV (Exposure Value) 的变化。每差1 EV,亮度差一倍。
我在项目中遇到过一个问题:某款手机在暗光下拍出来的照片噪点特别多。一查日志,发现AE把ISO拉到3200,快门却只有1/30秒。其实应该优先降快门到1/10秒,ISO控制在800以内。这就是曝光三角的平衡艺术。
2.2 测光模式:相机怎么知道场景亮暗?
测光,就是相机判断“当前场景有多亮”的过程。高通平台支持多种测光模式,每种模式适用的场景不一样。
- 全局测光 (Average):取整个画面的平均亮度。适合风景、均匀光照的场景。
- 中央重点测光 (Center-Weighted):中间区域权重高,边缘低。适合人像、主体居中的场景。
- 点测光 (Spot):只取画面中心一个小区域。适合逆光、舞台等极端场景。
- 矩阵测光 (Matrix):把画面分成多个区域,分别测光后加权。高通平台默认用这个。
我个人习惯在调试初期先用矩阵测光,因为它对大多数场景都够用。但遇到强逆光时,我会切到点测光,对准人脸测光。
避坑指南:我曾经在调试一款前置摄像头时,发现自拍总是过曝。查了半天,原来是测光模式设成了全局测光,背景暗、人脸亮,结果整体提亮导致人脸过曝。改成中央重点测光后,问题解决。
2.3 目标亮度设定:AE到底想达到多亮?
目标亮度,就是AE算法努力要达到的亮度值。高通平台里,这个值通常用Target Luma表示,单位是“码值”或“亮度百分比”。
举个例子:如果Target Luma设为120(8位数据范围0-255),AE就会调整曝光参数,让画面平均亮度尽量接近120。
注意:目标亮度不是越高越好。设太高,亮部容易过曝;设太低,暗部细节丢失。一般建议在100-140之间,具体看场景。
高通平台里,目标亮度通过ae_target_luma参数配置。不同场景可以设不同值:
| 场景 | 推荐Target Luma | 说明 |
|---|---|---|
| 白天户外 | 120-130 | 光照充足,保留高光细节 |
| 室内灯光 | 110-120 | 光照适中,平衡亮暗 |
| 暗光/夜景 | 90-110 | 优先降噪,适当压暗 |
| 逆光人像 | 130-140 | 提亮人脸,牺牲背景 |
你想想看,如果夜景也设120,ISO就得拉很高,噪点满天飞。所以目标亮度要跟着场景走。
2.4 曝光三角与测光的联动关系
AE算法的工作流程是这样的:
- 传感器输出一帧RAW图
- 3A统计模块计算当前帧的亮度统计值
- AE算法根据测光模式,计算加权平均亮度
- 对比目标亮度,计算曝光补偿量
- 调整快门和ISO,输出下一帧
这个闭环每帧都在跑。高通平台里,AE的更新频率通常是30fps,也就是每33ms调整一次。
关键点:曝光三角的调整顺序很重要。我一般先调快门,再调ISO。因为快门影响运动模糊,ISO影响噪声。优先保证画面清晰,再考虑噪声。
高通平台代码里,AE的调整逻辑大致是这样:
// 伪代码示例:高通AE调整逻辑
if (current_luma < target_luma - tolerance) {
// 画面偏暗,需要提亮
if (shutter < max_shutter) {
increase_shutter();
} else if (iso < max_iso) {
increase_iso();
}
} else if (current_luma > target_luma + tolerance) {
// 画面偏亮,需要压暗
if (iso > min_iso) {
decrease_iso();
} else if (shutter > min_shutter) {
decrease_shutter();
}
}
这段逻辑看着简单,但实际调优时有很多细节。比如快门不能超过1/10秒,否则手抖会糊;ISO不能超过1600,否则噪点不可接受。这些约束条件,就是咱们调优时要加的。
2.5 本章知识结构图
下面这张图,把AE的核心概念串起来了。你可以看到曝光三角、测光模式、目标亮度之间的关系。
2.6 实战中的常见问题
做AE调优这么多年,有几个问题几乎每个项目都会遇到:
- 曝光跳变:场景切换时,亮度忽明忽暗。通常是AE收敛速度太快或太慢。高通平台有
ae_speed参数可以调。 - 过曝/欠曝:目标亮度设得不合理。我建议先拍一组不同场景的RAW图,用直方图分析后再定。
- 闪烁 (Flicker):室内灯光下,画面出现明暗条纹。高通平台有抗闪烁检测,记得打开。
我的调试习惯:拿到一个新平台,我会先固定ISO,只调快门,看AE的收敛曲线。这样能快速判断测光模式和目标亮度是否合理。等基础调好了,再放开ISO做精细调优。
好了,AE的基础就讲到这里。曝光三角、测光模式、目标亮度,这三个概念是后面所有调优的根基。你把这些搞透了,后面讲场景适配、画质调优时,才能跟得上节奏。