AE基础原理:曝光三要素与亮度统计

自动曝光(AE)是Camera系统中最核心的控制环路之一。它的本质是:在给定的场景光照下,通过调节光圈、快门、增益三个物理量,使传感器接收到的光能量恰好落在目标亮度范围内。本章从曝光三要素出发,逐步拆解曝光量计算、亮度统计直方图以及目标亮度设定的完整链路。

2.1 曝光三要素:光圈、快门、增益

曝光三要素共同决定了传感器每个像素最终积累的电荷量。三者的物理含义与调节效果如下表所示:

要素 符号/单位 物理含义 对亮度的影响 副作用
光圈 (Aperture) F-number (F/#) 镜头通光孔径与焦距的比值 F值越小,进光量越大 景深变浅,边缘解析力下降
快门 (Shutter) 曝光时间 T (s) 传感器累积光电荷的时间窗口 时间越长,进光量越大 运动模糊,手持抖动
增益 (Gain) 模拟/数字增益 (dB) 对已累积电荷进行电信号放大 增益越高,输出越亮 噪声被同步放大,信噪比下降
高通平台调试要点: 在移动端Camera中,光圈通常是固定的(F/1.8 ~ F/2.4),因此AE调节主要依赖快门和增益。高通ISP的AE算法会优先调节快门,当快门达到手抖安全阈值(通常为1/30s)后,再开始提升增益。

三要素的调节优先级直接影响图像质量。典型的AE策略优先级如下:

  1. 第一步:调节快门 —— 从最短曝光时间开始,逐步增加,直到达到运动模糊容忍上限。
  2. 第二步:调节增益 —— 快门达到上限后,提升模拟增益,再提升数字增益。
  3. 第三步:调节光圈(若可变) —— 仅在极端低照或需要特定景深时介入。

2.2 曝光量计算与EV模型

曝光量(Exposure Value, EV)是衡量传感器接收光能量的综合指标。其计算公式为:

EV = log₂( (F#²) / T )

其中:

  • F# —— 光圈F数
  • T —— 曝光时间(秒)

实际传感器输出的亮度值还需乘以增益系数:

Digital_Value = (Scene_Luminance × T × QE) / (F#²) × Gain

其中:

  • Scene_Luminance —— 场景照度(lux)
  • QE —— 量子效率(传感器光电转换效率)
  • Gain —— 总增益(模拟+数字)
工程经验: 在高通CamX架构中,AE算法通过ExposureTime、AnalogGain、DigitalGain三个参数组合,将曝光量映射到16-bit线性RAW域。调试时需关注AEC_EXPOSURE_TIME和AEC_ANALOG_GAIN两个关键tag。
曝光量计算链路 场景照度 (lux) 光圈 F# 快门 T 增益 Gain 传感器曝光累积 RAW 数字值 公式 RAW = (Lux × T × QE) / (F#²) × Gain

2.3 亮度统计直方图

AE算法无法直接感知场景照度,它依赖亮度统计直方图来间接估计。高通ISP会从RAW域或YUV域提取每个像素的亮度值,并统计成256 bins的直方图:

Histogram[bin] = count of pixels with luminance in [bin*4, (bin+1)*4)

直方图提供了三个关键信息:

  • 均值 (Mean) —— 整体亮度水平,用于粗调曝光。
  • 峰值 (Peak) —— 场景主亮度区域,用于锁定目标。
  • 暗部/亮部占比 —— 判断是否存在过曝或欠曝区域。
常见陷阱: 直方图均值不能单独作为AE反馈。例如:大面积暗背景+小面积亮主体,均值可能偏低,导致主体过曝。高通AE引入了区域权重统计,将画面划分为5×5或15×15网格,每个网格赋予不同权重,优先保证人脸或中心区域曝光准确。
亮度统计直方图示意(256 bins → 简化8 bins) 暗部 中间调 亮部 目标亮度 绿色区域:主体亮度集中区 红色区域:过曝/欠曝风险区

2.4 目标亮度设定

目标亮度(Target Luminance)是AE控制环的参考点。高通平台通常将目标亮度定义在Y通道的8-bit域(0~255),典型值如下:

场景类型 目标亮度 (Y avg) 说明
普通预览 110 ~ 130 保证画面明亮自然,保留高光细节
人脸优先 140 ~ 160 人脸区域提亮,肤色更通透
夜景模式 80 ~ 100 压低亮度抑制噪声,保留暗部层次
HDR模式 100 ~ 120 平衡高光和阴影,避免过曝

目标亮度并非固定值,而是通过场景检测动态切换。高通AE框架中,目标亮度由以下参数控制:

// CamX AE Target Luminance 配置示例
AEC_TARGET_LUMINANCE = 120          // 基础目标亮度
AEC_TARGET_LUMINANCE_FACE = 150     // 人脸检测时覆盖
AEC_TARGET_LUMINANCE_LOW_LIGHT = 90 // 低照度场景覆盖
调试建议: 在QACT工具中,通过修改AEC_TARGET_LUMINANCE可以快速调整整体曝光倾向。但需注意:目标亮度提高1个step(约10个Y值),增益会提升约1.5dB,噪声随之增加。建议在暗光场景下适当降低目标亮度,以换取更干净的画质。
目标亮度自适应切换流程 场景检测 场景? 普通: 120 人脸: 150 夜景: 90 AE控制环

2.5 本章小结

  • 曝光三要素:光圈、快门、增益,三者协同决定传感器曝光量。移动端以快门和增益为主要调节手段。
  • 曝光量计算:EV = log₂(F#²/T),实际RAW值需考虑场景照度、量子效率和增益。
  • 亮度统计直方图:AE的“眼睛”,通过256 bins统计画面亮度分布,结合区域权重实现精准曝光。
  • 目标亮度设定:根据场景动态切换,普通预览120、人脸150、夜景90,是AE调试的核心参数。