1 AEC简述
人眼是有自动调节功能,sensor是没有调节功能的,环境的亮度可以通过人眼来适应,因此人眼的亮度总是合适的。人眼是非线性化的,而相机是线性化的。
相机视觉的亮度取决于曝光设置。除非曝光改变到合适的曝光设置,否则相机的亮度不合适。自动曝光,AE,发挥作用,适当的曝光设置会自动修改。
1.1 AEC原理
由Sensor统计当前环境的亮度信息(取帧),AEC算法将输入的RAW图分为M* N个Region,然后统计每个Region的亮度,最后做加权平均得到一个当前亮度值cur_luma。
cur_luma和luma target做对比,然后遍历曝光表去找到合适的曝光时间和Gain值,从而达到目标亮度。注意,这里的AE是随着时间变化的,所以是有一个 AE 循环 变化的过程。
1.2 AEC的几个重要概念
1.2.1 曝光表
曝光的设定,在手机上面基本上就是sensor的shutter, sensor gain和ISP gain,这三者需相互协调配合,才能很好的调节亮度。在实际的需求中,我们对sensor和shutter值有一定的要求的,要避免flick,然后sensor gain不是连续的, ISP gain是连续的,所以对于sensor的总gain值是可以随便去设置的,如果我们对flick一定的限制的话,那曝光表的设定,就需要有一个规则来限定,在AE的收敛过程中让曲线走的比较线性平滑一些,那这样的话,我们的ae table,一个可编辑的曝光表,就是承担的这样的一个角色,我们会在ae 收敛中,来参考ae table,来确定一步步的收敛。
AEC 曝光表通过设置图像传感器曝光时间和传感器模拟增益控制图像亮度。 该曝光表包含这些时间和增益值组合。
/* Exposure Table */
{
...
453, /* Max Exposure Table Entries for EV0 */
1, /* Enable Digital Gain for EV Lowlight */
499, /* Max Exposure Table Entries for EV+2 with digital gain */
274, /* Fix FPS AEC Table Index */
{
{
256, 1},