首先需要介绍一下曝光:光线强度乘以光线所作用的时间。定义中的“光线强度”,是指Sensor受光线照射的强度,即照度;定义中的“光线所作用的时间”,是指感光胶片受光线照射的时间,即曝光时间。曝光量以E表示,计算单位就是勒克斯·秒。若要取得一定量的曝光量,则光强度越大,曝光时间越短;光强度越小,曝光时间越长。曝光是拍照最基本也是最重要的技术之一。
下图是用从1.3秒到15秒的时间分别对同一个夜景进行拍摄,时间过短了称为欠曝,时间过长了称为过曝。不过曝光时间只是影响曝光强度的因素之一,后续会提到。早期的曝光时间都需要手动设置,专业摄影师通常会用测光表来计算当前场景下所需的曝光强度。
曝光强度 = 曝光时间 * 光圈大小 * ISO,手机上的光圈是固定的,所以只需考虑曝光时间和ISO(也就是Gain值的一种表示,这里的Gain又分为Analog Gain,Digital Gain以及ISP Gain,细节不做展开,读者只需要知道ISO指的就是信号增益大小)。而手机上的自动曝光就是让相机根据当前的图像信息自动配置曝光大小,也就是曝光时间和ISO的值,至于二者的选择后文会详细描述。
先介绍一下韦伯定律:即感觉的差别阈限随原来刺激量的变化而变化,而且表现为一定的规律性,用公式来表示,就是△Φ/Φ=C,其中Φ为原刺激量,△Φ为此时的差别阈限,C为常数,又称为韦伯率。
有点绕口,白话就是人对自然刺激的感知是非线性的,刺激以一定比例的增长,对人而言是均匀增长的。
再介绍曝光分区系统。这是由 Ansel Adams 和 Fred Archer在1940年左右所阐述,如下图所示,将人眼对于从黑到白渐进的变化分为11阶,将处于当中的块V认为是适中的曝光强度,称为中灰。而V块的光照反射率是18%,也就是定义的18%灰。
因此摄影师通常会使用测光表来判断环境光,来决定拍照的曝光强度,使得照片的整体曝光强度在18%灰左右。但是场景是多样的,因此在《美国纽约摄影学院摄影教材》中又教导大家不要盲目地相信测光表的值来调节曝光参数。譬如在雪景下,如果还按照18%灰来曝光的话,就会将白色的雪拍成灰色。
拍立得上有几个简单的场景切换(室内,多云,晴天)其实就是定义了当前场景下所需的曝光强度。
通常一个图片中会同时存在亮和暗的区域,如果把所有区域都纳入考虑来算一个平均值的话可能并不能如实地表示拍照者的期望,因此就会有一个重点测光区域。
测光区域根据不同的算法有不同的实现,比较初始的是将整个图像区域分为M * N个区域,取中心的X * Y区域;手机上通常有针对人脸区域测光,中心测光和点测光三种;测光区域也有一定的权重分布,通常在中心的区域权重会更大些。
接下来会将三种不同的自动曝光方法:均值法AE,直方图改进的均值法AE以及N段式统计自动曝光。
均值法AE是计算测光区域的曝光强度的一种方法,基于下面这个公式,Output是我们期望的曝光输出值,也就是18%灰的曝光强度,Gamma一般都是2.2。
Input = 255 x (Output/255)gamma
在灰度卡上以0~255为计算区域的话,那么18%灰的Ouput就是122,Input就是50。也就是测光区域的实际曝光强度应该为50。
我们在回头看一下第三段讲的18%灰这个概念本身的不足之处,在雪景、夜景或者纯色背景情况下计算出来的曝光值就不应该是18%灰。
那么就要利用直方图来将低对比度的图像做适度的拉伸。
N段式统计法是一种在手机ISP上使用的方法,前文说过手机sensor的光圈是固定的(这里只考虑单摄像头场景),因此可调的参数只有曝光时间和ISO。在手机上这两个参数的调节各有利弊。
调节ISO最主要的副作用就是会同时增强噪点,如果把暗光下的图片放大多倍,噪点就会非常明显;通常是优先调节曝光时间,但是曝光时间也有个上限,必须要在33ms内完成才能保证每秒30fps的预览帧率。
因此N段指的就是ISO的不同段,优先保证ISO较小的情况下调节曝光时间,当曝光时间到极大值仍不能满足时再将ISO调大一级再重新调整曝光时间。
综上所述,整个自动曝光过程就是如下图循环,不断逼近理想值的过程。
参考资料
https://en.wikipedia.org/wiki/Exposure_(photography)#Automatic_exposure
http://www.yinglou6.com/30883.html
https://en.wikipedia.org/wiki/Zone_System
《美国纽约摄影学院摄影教材》
《数字成像系统暨Image signal processor原理培训》