AE是相机模块中的一个重要模块,它的主要作用是让成像画面有一个合适的亮度,本文大致介绍AE的概念及基本原理。
如图所示,如果拍照时曝光过度画面整体会太亮而损失很多细节;而曝光不足时,画面会太黑也会让很多细节看不见,因此对于一张照片(视频)来说,曝光准确是非常重要的。
曝光过度 VS 曝光正常 VS 曝光不足
曝光三要素
- 光圈:控制进光量
光圈越大,进光量越大,景深越小,背景越容易虚化
光圈越小,进光量越小,景深越大,背景越不容易虚化
- 快门:控制曝光时间
曝光时间越长,画面越亮,但是移动物体的拖影越明显
曝光时间越短,画面越暗,移动物体的拖影越不明显
- 感光度ISO/增益:底片对光的敏感程度
感光度越大,画面越亮,噪点越明显
感光度越小,画面越暗,画面越细腻
把拍一张完美曝光的照片看成接一桶刚好装满的水,那么光圈就是水龙头开关的大小,水龙头开的大,进水就越快;对应拍照就是光圈越大,进光量就越大。快门就是开多久的水龙头,开的越久,水桶中的水也就越多;对应拍照就是快门时间越长,画面越亮。感光度是指过滤网的孔径,滤网孔径越大,水桶越快被装满,但是会有更多的杂志混进来,而滤网孔径越小,水桶装水越慢,但是进来的水会更清澈;对应拍照就是感光度越大,画面越亮,噪点越明显,感光度越小,画面越暗,画面越细腻。
基本原理
自动曝光的基本原理就是根据当前画面的亮度调整曝光和增益,使画面亮度稳定在合适的区间。简单地说就是:
为啥不是完全相等呢?因为只要亮度稳定在合适区间对人眼就足够了,如果要达到完全相等会导致曝光亮度频繁调节而引起画面闪烁。
如图所示,用最简单的方式理解统计亮度,可以将黄框内所有像素点的值加起来作为当前画面的统计亮度。而目标亮度就是在不同环境下采集的统计亮度的值。
比如在很亮环境下取一个目标亮度Target1Target1Target1,再在较暗的环境下取一个目标亮度Target2Target2Target2,这样就有了一个简单地自动曝光模块。一般情况下,不停的目标亮度是根据增益等级进行区分的。有2个目标等级之后,其他增益环境下的目标亮度可以插值得到。这样当画面的统计亮度大于目标亮度时,AE模块降低曝光时间和增益来使画面变暗;当画面的统计亮度小于目标亮度时,AE模块增大曝光时间和增益来使画面变亮。
ROI区域
上图中的黄框就是感兴趣区域(ROI,region of interest),ROI区域用于指定计算统计亮度的区域。比如常见的取整个画面,也可以居中取一块区域,而在车载产品中可以居中偏下取一块区域。
曝光区域权重
如图所示为一个16*16的曝光区域权重,一般情况下的曝光权重是与整个画面对应的。每一块的值代表了该区域参与最终计算最终统计亮度的权重值,权重值越高表示该区域对整体画面亮度越大,权重为0表示画面亮度与该区域没有关系。
曝光策略
如果我要画面变亮一些,我既可以增大光圈,也可以增大曝光时间,还可以增大感光度,那到底采用哪种方式呢?答案是根据应用场景采取策略。比如,在拍风景照时,经常有近景和远景,那么要使画面都对焦清晰就需要较大的景深,因此需要用小光圈。再比如,拍运动物体时,如果曝光时间较长,那么拍到的运动物体会是模糊到根本看不清,此时就需要减少曝光时间,增大感光度来提升亮度。。。这些就是曝光策略的部分,不过除了单反相机,一般相机的光圈都是固定的,所以这里只关注曝光和增益部分的调整。
如图所示,横坐标表示增益的大小(增益越大,画面越暗),纵坐标表示曝光时间。这是最常见的策略就是跟随箭头的方向,当画面逐渐变暗时,先走曝光时间,等到曝光时间达到最大之后再增加增益;反之,当画面从极黑逐渐变亮时,先减小增益再调小曝光时间。
当然采取这种策略也会存在一些限制,比如,一般情况下晴天白天的曝光时间比较短,增益为0dB,而黄昏场景曝光可能比较大,增益也为0dB,但是晴天白天场景的亮度远远高于黄昏场景,而如果黄昏时采用白天场景的参数可能噪点会非常明显,因为相机内一般不同的参数是根据增益来进行区分的。
因此这种情况下,可以将曝光策略更改当画面逐渐变暗时,先增大一部分曝光时间,再走一小部分增益;再增大曝光时间,等到曝光时间达到最大之后再增加增益。
这样的情况下,可以让晴天白天的场景对应于图中蓝色箭头段,而黄昏场景端对应于红色箭头段,增益的不同就能区分两个场景来设置不同的参数,当然具体设置什么时候作为拐点需要经过实际测试。
曝光策略的还有一个就是增益的策略,曝光时间只有一个,但是增益会有AG(Analog Gian)、DG(Digital Gain)、ISP Gain、可能还会有CG(Conversion Gain),先起用哪个再启用哪一个也是有讲究的,其中,AG、DG和CG都属于Sensor增益,是在Sensor端生效的,而ISP Gain是在ISP端生效的。Sensor增益的生效顺序一般在Sensor手册中有说明,一般先走满AG再走DG。那什么时候会用到ISP Gain呢?我之前遇到过两种情况用到了ISP Gain,一种是为了补偿曝光行剧烈变化而引起画面亮度突变(详见下面的精细曝光);还有一种是为了减弱HDR合成的缺陷,先起用了2x的ISP DG,这样在其他条件都不变的情况下,Sensor输入到ISP的画面亮度就暗了一半,合成时会更多地用到长帧的数据而不是短帧。
本篇中没有过多讲述HDR相关的内容,打算之后单独写。