第一章:AE曝光三要素与瑞芯微平台映射

各位好,我是老周。做图像调试这行十几年了,从海思到安霸再到瑞芯微,踩过的坑能写本书。今天咱们聊聊AE最基础的东西——曝光三要素。

说白了,一张照片亮不亮,就三个东西在管:光圈、快门、增益。但在瑞芯微的ISP里,这三个东西的玩法跟传统相机不太一样。我刚开始接触瑞芯微平台时,也绕了不少弯路。

1.1 曝光三要素的本质

先理清概念。曝光量 = 单位时间进光量 × 进光时间 × 信号放大倍数。就这么简单。

要素 物理含义 对图像的影响
光圈 (Aperture) 镜头通光孔径大小 控制进光量,影响景深
快门 (Shutter) 传感器感光时间 控制曝光时间,影响运动模糊
增益 (Gain) 信号放大倍数 提升亮度,但会放大噪声

嗯,这里要注意:在瑞芯微平台上,光圈通常是固定的——手机模组、车载摄像头基本都是固定光圈。所以我们真正能调的,只有快门和增益。

1.2 瑞芯微平台上的映射关系

瑞芯微的ISP架构里,这三个要素映射到具体的寄存器和控制参数上。我整理了一张表,大家调试时直接对照用。

曝光要素 瑞芯微平台映射 控制接口 典型范围
光圈 固定值(由模组决定) 无(或通过马达驱动) F1.4 ~ F2.8(固定)
快门 传感器曝光行数 RK_AE_SetExposureTime() 1行 ~ 帧周期
增益 模拟增益 + 数字增益 RK_AE_SetGain() 1x ~ 16x(模拟)

我在项目中遇到过一个问题:某款车载摄像头在夜间场景下,增益拉到8倍以上,噪声直接炸了。后来发现是数字增益和模拟增益的分配策略没调好。瑞芯微的增益是分段的——先走模拟增益,不够再补数字增益。但模拟增益到顶后,数字增益每提升1倍,信噪比就掉6dB。

核心原则:优先调快门,其次调模拟增益,最后才动数字增益。这个顺序决定了你图像噪声的天花板。

1.3 AE控制环路的基本原理

AE说白了就是一个闭环反馈系统。传感器采集图像,ISP统计亮度,算法算出差值,然后调整曝光参数。我画了个流程图,大家一看就明白。

AE控制环路流程图 传感器采集图像 ISP统计亮度直方图 计算目标亮度偏差 PID控制器计算调整量 更新快门/增益参数 反馈闭环 核心:AE是一个负反馈系统,目标是将图像亮度稳定在设定的目标值附近 PID参数(Kp、Ki、Kd)决定了AE的响应速度和稳定性

这个环路里,最关键的其实是PID参数。我见过很多工程师上来就调PID,结果画面忽亮忽暗,像呼吸灯一样。为什么会这样?因为PID的积分项(Ki)设太大了。

我的调试习惯:先把Ki设为0,只调比例项Kp。等画面稳定了,再一点点加积分项。这样能避免积分饱和导致的震荡。

1.4 瑞芯微AE的统计信息

瑞芯微的ISP会输出一些统计信息,供AE算法使用。这些数据在调试时非常有用。

统计项 含义 调试用途
ae_hist[256] 256级亮度直方图 判断过曝/欠曝区域
ae_mean 全图平均亮度 粗调目标值
ae_weighted_mean 加权平均亮度(中心权重高) 人脸/主体优先场景
ae_roi_stats 多区域统计(4x4或8x8网格) 背光/逆光场景分析

我记得有一次调试行车记录仪,白天效果很好,但晚上画面总是偏暗。查了半天,发现是ae_mean的目标值设得太低了。后来改成基于场景动态调整目标值,问题就解决了。

1.5 避坑指南

我曾经踩过的坑:

  • 增益分配不合理:某项目把模拟增益上限设到4倍,数字增益上限设到8倍。结果暗光下数字增益占主导,噪声惨不忍睹。后来把模拟增益上限提到8倍,数字增益上限降到2倍,噪声改善了3dB。
  • 快门范围限制太死:默认配置下,快门范围是1/30s到1/1000s。但在室内灯光下(50Hz),快门必须锁定在1/50s或1/100s才能避免频闪。我建议根据场景动态调整快门范围。
  • 忽略帧率约束:快门时间不能超过帧周期。比如30fps下,帧周期是33ms,快门最大只能设到33ms。如果设大了,帧率会掉,视频就会卡顿。

1.6 小结

曝光三要素在瑞芯微平台上的映射其实不复杂。记住三点:

  • 光圈基本固定,别在上面花太多时间
  • 快门优先,增益兜底
  • AE环路的核心是PID,调参时先Kp后Ki

你想想看,如果连曝光三要素的映射关系都没搞清楚,后面调AWB、调降噪,全都是空中楼阁。基础打牢了,后面才能走得远。