30.补充解释
一、两类模块本质
1. ISP 图像变换模块(前面讲的BLC、LSC、DPC、CCM、Gamma等)
- 工作内容:改画面像素,对图像数据做计算、修正、渲染。
比如校正暗角、修复坏点、调色、提亮暗部……输入一帧图像 → 输出一帧被处理后的图像。 - 运行位置:硬件ISP流水线内部,帧数据一路流经这些模块,是图像加工工序。
- 比喻:像加工厂流水线,原料(RAW数据)过来,一道道工序加工成成品图。
2. 3A(AE/AWB/AF)控制模块
- 工作内容:不直接修改像素,只做「采样分析 → 计算参数 → 下发配置」。
它不会亲手处理画面,而是给流水线、Sensor、马达下达参数指令。 - 运行位置:大多跑在CPU/算法库/HAL层,挂在ISP流水线旁,属于调度+决策单元。
- 比喻:像车间调度员,不亲手加工产品,只盯着成品状态,然后调整机器参数、工位设置。
原文核心意思:
3A 不是ISP流水线上“加工图像”的工序,而是盯着画面、动态调参的控制系统。
二、结合ISP流水线,逐个拆解3A角色&位置
先回顾整体链路:
Sensor输出RAW → ISP各级图像变换模块 → 出图 + 输出统计数据
↑ ↓
└────── 3A控制模块 ←─── 读取统计数据
2.1 AE 自动曝光
- 位置:RAW预处理之后
- 逻辑:
- AE 从当前帧提取亮度直方图(Histogram),判断画面整体偏亮/偏暗;
- 它不修改像素,而是算出一组参数:曝光时长、Sensor模拟增益、ISP数字增益;
- 通过I2C把参数写给Sensor和ISP,让下一帧的图像变换模块用新参数工作。
- 举例:夜景画面太暗 → AE 下发指令:拉长曝光、提高增益 → 下一帧画面自然变亮。
2.2 AWB 自动白平衡
- 位置:CFA插值(转RGB)之后
- 逻辑:
- AWB 采样画面色彩区块,判断当前环境色温(比如室内黄光、户外白光);
- 它不直接改颜色,而是计算 R/G/B 三通道增益、微调CCM色彩矩阵;
- 把参数写入ISP寄存器,由后续CCM等色彩模块执行调色,修正偏色。
- 举例:灯光下画面发黄 → AWB 下发白平衡增益 → ISP色彩模块拉高蓝通道,画面恢复正常白色。
2.3 AF 自动对焦
- 位置:RAW/YUV域均可
- 逻辑:
- AF 截取画面对焦窗口的图像数据,计算边缘清晰度;
- 它完全不处理图像,只判断:现在对焦准不准、镜头该往前/往后移;
- 下发PWM/SPI指令驱动对焦马达,物理移动镜头位置,改变成像焦平面。
- 举例:拍远处物体模糊 → AF 算出偏移量 → 马达带动镜头移动 → 画面变清晰。
三、再理解表格里的「作用阶段、依赖数据、控制范围」
| 模块 | 作用阶段 | 依赖数据 | 控制影响范围 | 通俗解读 |
|---|---|---|---|---|
| AE | RAW预处理后 | 亮度直方图 | 曝光时间、Sensor/ISP增益 | 看画面亮暗 → 调Sensor曝光和信号放大倍数 |
| AWB | CFA之后 | 色彩统计值 | 色彩通道增益、CCM矩阵 | 看画面色温 → 调ISP色彩参数修正偏色 |
| AF | YUV/RAW可选 | 局部对焦窗口 | 镜头马达位置 | 看画面清晰度 → 物理移动镜头 |
核心共同点:
✅ 都依赖ISP输出的统计数据(直方图、色块、清晰度数据)做判断
❌ 都不参与像素运算,不是图像加工环节
✅ 最终都是对外/对ISP下发控制指令,间接改变成像效果
四、结合「帧触发链路」加深理解(Frame N → Frame N+1)
-
第N帧:
Sensor出图 → ISP走完所有图像变换模块;
同时ISP额外输出亮度、色彩、清晰度等统计信息;
3A算法拿到统计数据,完成计算决策。
→ 这一帧画面,不会被本次3A结果影响。 -
参数下发:
3A把算好的曝光、白平衡、对焦位置等参数,分别写给Sensor、ISP、镜头马达。 -
第N+1帧:
Sensor、ISP、马达使用新参数工作;
新参数作用在新一轮ISP图像流水线上,输出调整后的画面。
简单总结链路:用当前帧的数据,算参数,改下一帧的成像。
五、总结
- ISP里的BLC、DPC、CCM等:亲手处理像素,加工图像,属于图像处理模块;
- AE/AWB/AF(3A):只分析画面数据、计算参数、下发指令,不直接改像素,属于系统控制模块;
- 3A依附在ISP流水线旁,靠ISP的统计数据做判断,再反过来控制Sensor、ISP、镜头硬件,形成闭环。
评论