4、AE参数配置详解(上):曝光时间范围、模拟增益范围、数字增益范围、帧率与曝光时间的关系

自动曝光(AE)是ISP链路中最基础也最关键的模块之一。在海思3519平台上,AE参数配置直接影响画面的亮度、噪声、运动模糊以及帧率稳定性。本章聚焦AE参数配置的上半部分,深入解析曝光时间范围、模拟增益范围、数字增益范围以及帧率与曝光时间之间的约束关系。

4.1 AE参数体系总览

海思3519的AE控制链路遵循“曝光时间 → 模拟增益 → 数字增益”的优先级顺序。当场景亮度不足时,AE首先延长曝光时间;达到曝光时间上限后,再提升模拟增益;模拟增益达到上限后,最后才启用数字增益。这种策略旨在最大化信噪比,避免过早引入数字噪声。

核心原则: 曝光时间优先 → 模拟增益次之 → 数字增益兜底。理解这一优先级是配置AE参数的前提。
AE参数优先级与增益分配流程 场景亮度输入 ① 曝光时间是否达到上限? ② 模拟增益是否达到上限? ③ 启用数字增益补偿 优先级说明 1. 先延长曝光时间 2. 再提升模拟增益 3. 最后使用数字增益

4.2 曝光时间范围配置

曝光时间决定了传感器收集光子的时长,是AE调节亮度的首要手段。海思3519通过VI(视频输入)模块的寄存器控制曝光时间,单位为微秒(μs)。

4.2.1 曝光时间上下限

参数项 典型最小值 典型最大值 说明
曝光时间下限 1 / (帧率 × 2) — 受传感器行扫描时间限制,通常为1行时间
曝光时间上限 — 1 / 帧率 不能超过一个帧周期,否则丢帧
推荐配置范围 100 μs 33,333 μs (30fps) 兼顾低光与运动场景
注意: 曝光时间上限必须严格小于帧周期。若设置曝光时间等于帧周期,传感器将无法完成读出,导致画面撕裂或帧率下降。建议保留至少一行时间的余量。

4.2.2 曝光时间与行时间的关系

海思3519的曝光时间以行(line)为最小步进单位。每行时间由传感器主时钟和分辨率决定:

// 行时间计算示例(以1920×1080@30fps为例)
// 假设传感器主时钟 74.25 MHz,每行像素总数 2200(含消隐)
行时间 = 2200 / 74.25 MHz ≈ 29.63 μs
最小曝光步进 = 1 行时间 ≈ 29.63 μs
最大曝光行数 = 帧周期 / 行时间 = 33333 μs / 29.63 μs ≈ 1125 行

4.3 模拟增益范围配置

模拟增益在传感器读出阶段对信号进行放大,位于模数转换(ADC)之前。模拟增益每增加一倍(6 dB),信噪比损失约3 dB,但优于数字增益。

4.3.1 模拟增益的典型范围

增益等级 线性倍数 dB值 适用场景
低增益 1× ~ 2× 0 ~ 6 dB 室外明亮场景
中增益 2× ~ 4× 6 ~ 12 dB 室内/阴天
高增益 4× ~ 8× 12 ~ 18 dB 低光环境
极限增益 8× ~ 16× 18 ~ 24 dB 极暗场景(噪声明显)
调试建议: 海思3519的模拟增益上限通常设为 16×(24 dB)。超过此值后,建议优先降低帧率或启用数字增益,避免模拟增益过高导致热噪声和固定模式噪声(FPN)恶化。

4.3.2 模拟增益与噪声的权衡

模拟增益 vs 信噪比(SNR)关系 模拟增益 (dB) 0 6 12 18 24 高SNR 中SNR 低SNR 低增益区 SNR损失小 中增益区 SNR损失可接受 高增益区 SNR急剧下降

4.4 数字增益范围配置

数字增益在ADC之后对数字信号进行乘法放大。海思3519的数字增益通常以12位或14位精度实现,范围一般为1× ~ 16×(0 ~ 24 dB)。

4.4.1 数字增益的代价

  • 量化噪声放大: 数字增益同时放大信号和量化噪声,每6 dB增益导致有效位数损失1 bit。
  • 暗部噪声可见: 在低光区域,数字增益会使原本不可见的读出噪声变得明显。
  • 动态范围压缩: 数字增益可能导致高光区域提前饱和,压缩整体动态范围。

4.4.2 数字增益与模拟增益的协同

增益类型 放大位置 噪声特性 海思3519推荐上限
模拟增益 ADC之前 放大信号+传感器噪声,信噪比损失较小 16× (24 dB)
数字增益 ADC之后 放大信号+量化噪声,信噪比损失较大 4× (12 dB)
最佳实践: 在海思3519的AE策略中,应尽量让模拟增益先达到上限,再启用数字增益。数字增益超过4×后,建议考虑降低帧率以换取更长的曝光时间,从而避免过度依赖数字放大。

4.5 帧率与曝光时间的关系

帧率决定了每个帧周期的长度,直接约束了最大可用曝光时间。理解这一关系是避免AE配置冲突的关键。

4.5.1 帧周期与曝光时间的数学约束

帧周期 (T_frame) = 1 / 帧率 (fps)
最大曝光时间 ≤ T_frame - T_readout - T_blanking

其中:
  T_readout = 传感器读出时间(通常为帧周期的10%~20%)
  T_blanking = 垂直消隐时间(通常为帧周期的5%~10%)

4.5.2 不同帧率下的曝光时间上限

帧率 (fps) 帧周期 (μs) 理论最大曝光 (μs) 推荐最大曝光 (μs) 适用场景
60 16,667 ~14,000 13,000 高速运动、体育
30 33,333 ~30,000 28,000 通用监控、直播
25 40,000 ~36,000 34,000 安防、低光
15 66,667 ~62,000 58,000 极低光、长曝光

4.5.3 帧率与曝光时间的动态权衡

帧率 vs 最大可用曝光时间 帧率 (fps) 15 25 30 45 60 0 30 ms 60 ms 58 ms 34 ms 28 ms 18 ms 13 ms 权衡策略 低帧率 → 长曝光 → 低噪声 高帧率 → 短曝光 → 高噪声

4.6 参数配置综合示例

以下是一个针对海思3519的典型AE参数配置示例,适用于30fps的通用监控场景:

/* AE参数配置结构体示例 */
typedef struct {
    uint32_t u32ExposureMin;      // 最小曝光时间 (μs),建议 100
    uint32_t u32ExposureMax;      // 最大曝光时间 (μs),建议 28000
    uint32_t u32ExposureDef;      // 默认曝光时间 (μs),建议 10000
    
    uint32_t u32AnalogGainMin;    // 最小模拟增益 (倍),建议 1.0× (编码为 1024)
    uint32_t u32AnalogGainMax;    // 最大模拟增益 (倍),建议 16.0× (编码为 16384)
    uint32_t u32AnalogGainDef;    // 默认模拟增益 (倍),建议 2.0× (编码为 2048)
    
    uint32_t u32DigitalGainMin;   // 最小数字增益 (倍),建议 1.0× (编码为 1024)
    uint32_t u32DigitalGainMax;   // 最大数字增益 (倍),建议 4.0× (编码为 4096)
    uint32_t u32DigitalGainDef;   // 默认数字增益 (倍),建议 1.0× (编码为 1024)
    
    uint32_t u32FrameRate;        // 目标帧率 (fps),建议 30
} AE_PARAM_S;
调试提示: 海思3519的增益编码通常采用Q10格式(1.0× = 1024)。配置时注意增益值必须为整数,且模拟增益和数字增益的步进建议为0.125×(128编码)或0.25×(256编码),以保证AE收敛的平滑性。

4.7 常见问题与避坑指南

  • 曝光时间设置过大导致丢帧: 检查帧周期与曝光时间的差值,确保至少保留5%的读出余量。
  • 模拟增益与数字增益切换抖动: 在增益切换点附近设置滞回区间(hysteresis),避免AE在边界来回震荡。
  • 帧率变化时曝光时间未同步更新: 帧率切换后必须重新计算曝光时间上限,否则可能导致画面闪烁或过曝。
  • 数字增益过高导致量化条纹: 数字增益超过8×后,暗部容易出现带状噪声,建议限制在4×以内。