关于曝光

Camera 曝光相关概念介绍

Posted by JianGuo on September 3, 2017

今天写一篇自己比较擅长的领域的文章,在介绍内容之前,按照惯例,先扯点别的,好久没有更新自己的博客了,在8月份匆匆忙忙的换了人生的第二份工作,在新的环境里也让我感受到了不同的技术氛围,也算是值得庆幸的事。我一直有一个比较大的缺点,就是只对自己感兴趣的事可以不惜一切的付出,但又不容易坚持,当初维护这个博客的目的也是想培养我坚持做一件事的习惯,但是,很不幸这次又断更了。 希望能慢慢的改掉这个不好的习惯。

我一直在做与Camera相关的应用开发工作,同时自己又是一个初级的摄影爱好者,所以对相机的了解就相对多一些,在这里把我知道写出来,和大家探讨和分享。我想能够耐心看我这篇文章的读者很多都是从事这个领域的,如果文章中有任何不妥的地方,请直接骚扰我。

在我们拍摄一张照片的时候,我们通常会调节一些参数,比如快门,感光度,光圈,这些参数共同决定了一张照片是否曝光正常,那为什么能够决定曝光呢?我们要从相机最核心的元件感光片说起。之所以我们能够拍到清晰的图片是因为光通过镜头,在镜片中经过折射,到达镜头后方的感光片上,感光片是有成千上万个光电转化器组成,将光信号转成计算机能够识别和处理的电信号。我们拿手机领域使用的CMOS图像传感器来说明。其实CMOS本身只能感受光的强度,却没有办法区分光中各个颜色分量的多少,这样,我们计算机获取到的图片只能是只有亮度通道的黑白照片。我们先来看看CMOS传感器的模拟图片。

CMOS图像传感器

那为了让计算机知道每个像素点不同颜色的亮度大小,科学家拜尔提出在传感器上面放置只允许红绿蓝三种光透过的马赛克滤镜(如下图),在后期进行算法上的处理,这样便可以让不同的像素感受不同颜色光的强度。这就是拜尔模板(Bayer Pattern)

拜尔模板

我们可以看到,传感器中,绿色滤镜的数量要多于红色和蓝色,是因为根据人类的视觉特征,对绿色的信息相对更加敏感,所以理应收集更多的数据,已保证图片的真实性。一个完整的单元由4个红色滤镜,4个蓝色滤镜和8个绿色滤镜组成,

如上图所示,当自然光穿过不同的微滤镜后,就在传感器上记录了该光的亮度信息。 我们把图像放大点再来看看:

就可以看到传感器真实记录的每个像素点的实际值。后期再通过邻近点其他颜色通道的信息,计算出该像素点的其他两个通道的亮度信息,就可以得到该像素点的颜色信息。这个其实是有公式的,感兴趣的可以访问http://vaplab.ce.ncu.edu.tw/chinese/pcchang/course2006b/comsp/image/rrx.htm了解下。

下图是一个经典的背照式图像传感器的示意图(关于什么是背照式,什么是前照式传感器可自行搜索):

经典的背照式图像传感器的示意图

从图上能够看出,在每个光电二极管上方除了有一个马赛克滤镜外,还有一个微透镜,所谓的on-chip-lens。最终经过微透镜和滤镜后的光线落在了光电二极管的一个区域,这个区域叫做Photodiode。 由于传感器结构的设计,决定了每个photodiode只能感受一种颜色的光强。

为了解释曝光,开头用了这么大量的篇幅说明了传统CMOS传感器的构造,下面就来进一步说明曝光, 曝光是决定图片质量的最重要的因素之一,白平衡有问题,我们后期可以矫正,但是一旦过曝(该像素点的颜色值为FFFFFF,即为白色)或者欠曝(该像素点的颜色值为000000,即为黑色),此时就没有几率下有效的光线信息,也就没有办法后期调整。说到曝光这个词,我们应该从胶片时代的相机说起,在以前的相机结构中,我们把可以感光的胶片放置到相机里,当我们拍摄照片时,封闭的快门瞬间打开,让光线进入相机,让胶片暴露在光线下,胶片上的硝酸银遇到光就会发生化学反应,在胶片上形成黑色的图像,等后期处理时,再将胶片放到定影液中,让未发生反应的硝酸银脱离胶片,这样就可以正常暴露在光下,而不继续曝光了。其实这个过程就是所谓的曝光,但是,如果真的这么简单,也就没有必要花这么长篇大论谈论它了。 在数码相机时代,曝光的过程虽然类似,但是由于传感器的结构设计,往往不能同一时间对所有的像素进行信号的读取,从而产生了“果冻效应”,后面会说到。同时,通过对曝光过程的了解,我们也许能够看出,要想拍摄一张正常的照片,就需要控制打在到胶片或者传感器上的光子的数量。那如何控制呢?

首先我们联系生活就能够想到,控制从镜头进入相机的光的数量,对,它就是光圈,镜头的设计上,通常会有一个能够控制进光量的叶状结构,如下图:

光圈 光圈的大小直接决定了同一时刻投射在胶片上或者传感器上的光的多少,这是空间概念。

其次,我们能够想到,化学反应式需要时间的,那我们能不能在时间维度上控制投射到胶片上的光的多少呢?当前,这就是快门速度,反光板(也称快门)在打开的一瞬间曝光开始,反光板放下,曝光结束,这段时间就是所谓的快门速度。但是在手机等小型的摄像头模组中就没有反光板的结构了,那就需要通过对CMOS通道断电等手段进行曝光时间上的控制了。

最后,还有一个容易忽略的因素,就是感光度,在胶片时代,我们买胶卷时都会问你买什么型号的,比如柯达 Elite Chrome 200 、柯达 Elite Chrome 400 ,其实这里的200,400就指的是感光度,如何衡量?其实就是胶片对于同样强度的光的反应速度,如有记得高中化学的读者应该知道,浓度越高,反应速度越快,其实就是这个原理。那到了数码时代,没有了硝酸银微粒也没有了浓度之说,如何决定感光度的大小?其实也很简单,例如我们使用1个像素接收光是的感光度定为100,那我们在同一时刻用两个光电二极管接收光,并把他们叠加到一个像素点,那同一时刻,该像素点得到的光是原来的2倍,感光度就可以看作是200。

以上这三个条件决定了一张照片的曝光,其实很大程度上决定了图像的质量和内容(比如光圈决定了图片的虚化程度,解析度,感光度太高,噪点会明显加强,而快门速度慢,可能会拍花等),这里就不展叙述了。

下面再来说说一件奇怪的现象“果冻效应”。我们在高速行驶的汽车里对窗外的景物拍照,此时恰巧路旁的电线杆被拍摄进了相片,但是你会发现是斜的,就像这样: (图片来自网络)

还有这样: (图片来自网络)

这种现象便是CMOS类传感器的一种特有的显像,是由其本身的设计决定的。理想的情况下,应该和胶片一样只要有光打到感光片,所有区域的数据就可以同时进行读出,这种方式叫做Global Shutter,CCD就是这样实现的。而CMOS的设计者却采用了另一种设计思路——逐行曝光(RoolingShutter)。这样在读取完一行数据后,高速运动的物体的光已经移动到了传感器上的另一个位置,这就导致了读取的数据发生了错位,从而产生了果冻效应。

果冻效应 这个动画很生动解释了这个现象。

说到这里对于一般的读者而言,已经可以结束了,后面会简单介绍下高通平台上,控制自动曝光的几个重要的值。他们的具体的使用也是底层tuning需要做的大部分的工作。其实还是有很多细节的东西需要了解的。

  • Luma Target: 图像在应用Gamma之前,图像需要打到的亮度,默认为50,范围是20-100
  • Luma Torlerance:判断是否达到目标亮度的允许限度。如果设为2,则可理解为亮度达到48-52即认为满足默认亮度。
  • VFE Statistics Options: 一般选项有帧平均,点测光和中心加权
  • Convergence Speed:场景亮度变化后,自动调整曝光到达到稳定的所需时间的长短或者这个过程调整的速度
  • Exposure Table: 所谓的曝光表
  • AFR: 根据场景的亮度变化,动态改变帧率,来满足正常曝光所需的曝光时间。

上面简单阐述了关于曝光的很重要的三个要素:光圈,快门,感光度,他们共同决定了是否能够得到一张曝光正常的照片。以及在CMOS图像传感器上的“果冻效应”的形成原因。也有助于入门级摄影爱好者了解其原理,更好的把控曝光。