3A算法介绍
3A算法库,包括AE、AWB、AF算法库,其中,AF算法库当前不支持。3A算法库以注册的方式,添加到Firmware中,完成曝光、白平衡、色彩还原等处理,接口调用流程请参见总体接口调用流程。
AE(Auto Exposure)功能
AE模块实现的功能是:根据自动测光系统获得当前图像的曝光量,再自动配置镜头光圈、Sensor快门及增益来获得最佳的图像质量。
自动曝光的算法主要分:
- 光圈优先,优先调整光圈到合适的位置,再分配曝光时间和增益,只适合p-iris 镜头,这样能均衡噪声和景深。
- 快门优先,优先分配曝光时间,再分配Sensor增益和ISP增益,这样拍摄的图像噪声会比较小。
- 增益优先,优先分配Sensor增益和ISP增益,再分配曝光时间,适合拍摄运动物体的场景。当前AE算法也支持客户设定更灵活的曝光分配策略,AE模块的工作流程下图所示。

AE模块主要有ISP的AE统计信息模块及 控制曝光策略的AE算法两部分组成。ISP的AE 统计信息模块主要是提供 Sensor 输入数据的亮度信息统计。其提供的统计信息包括直方图和平均值,可同时提供整幅图像的 1024 段的直方图和 R/Gr/Gb/B 四分量平均值统计信息,还可提供将整幅图像分成 MxN 区块的每个区块的 R/Gr/Gb/B 四分量平均值统计信息,具体如下图所示。

AE算法的主要工作原理是实时获取输入图像的统计信息并与设定目标亮度进行比较,从而动态调节Sensor的曝光时间和增益以及镜头光圈大小以达到实际亮度与设定目标亮度接近。其工作原理如下图所示。

AWB(Automatic White Balance)自动白平衡
色温随可见光的光谱成分变化而变化,在低色温光源下,白色物体偏红,在高色温光源下,白色物体偏蓝,人眼可根据大脑的记忆判断,识别物体的真实颜色。AWB算法的功能是降低外界光源对物体真实颜色的影响,使得我们采集的颜色信息转变为在理想日光光源下的无偏色信息。
AWB模块由硬件的AWB信息统计模块及控制白平衡策略的AWB算法两部分组成:
ISP的WB信息统计模块判断Sensor输出的每个像素是否满足用户设定的白点条件,计算所有满足条件的像素的R、G、B三个颜色通道平均值。支持将图像分成M*N(M行N列)区域,统计每个区域的R、G、B均值以及参与统计的白点个数。支持输出整幅图像的R、G、B均值以及参与统计的白点个数。

基本概念
- 曝光时间:Sensor 积累电荷的时间,是 sensor pixel 从开始曝光到电量被读出的这段时间。
- 曝光增益:对 Sensor 的输出电荷的总的放大系数,一般有数字增益和模拟增益,模拟增益引入的噪声会稍小,所以一般优先用模拟增益。
- 光圈:光圈是镜头中可以改变中间孔大小的机械装置。
- 抗闪烁:由于电灯的电源工频与 Sensor 的帧率不匹配而导致的画面闪烁,一般通过限定曝光时间和修改 Sensor 的帧率来达到抗闪烁的效果。
- 色温:色温是按绝对黑体定义的,光源辐射在可见区和绝对黑体的辐射完全相同时,此时黑体的温度称此光源的色温。
- 白平衡:在不同色温的光源下,白色在传感器中的响应会偏蓝或偏红。白平衡算法通过调整 R, G, B 三个颜色通道的强度,使白色真实呈现。