http://www.dzsc.com/data/2016-7-13/110171.html

 如之前文章介绍,双摄像头的应用主要分为:距离相关的应用,光学变焦,暗光补偿以及3D拍摄和建模。每种应用的原理都有些不同,我们就分别介绍一下相关的原理:

从技术原理的角度上看,彩色 + 黑白双摄的方案是可以提高画质的。这就要从手机感光元件的成像原理开始说起了。





目前市面上常见的手机彩色 CMOS,其像素分布几乎都是采用 RGBG 排列的拜耳阵列或其变种 RGBW 排列,在这种排列下,光在射入每个像素点的过程中,会被滤光片过滤掉一部分,只保留该部分颜色的强度。 



在这种排布下,由于每个像素点只能记录一种颜色的信息,所以在后期成像的过程中,需要以每四个 RGBG 像素点为一组进行 " 反拜耳运算 ",通过参考相邻像素点上的颜色强度,将其算法合成并还原拍摄物体本来的颜色。



说得通俗一些,一台 1200 万像素的手机,每 4 个像素点为一组合成 1 个像素点的图像,这样我们先得到一张 300 万像素的图像,然后手机再通过插值计算还原出一张 1200 万像素的照片。

显然,在这个 " 还原 " 过程中对于画面细节的丢失是巨大的,如果你的手机同时还支持 PDAF(相位对焦)功能,还要抠出一些像素点用于对焦,理论上画质会进一步下降。

而黑白 CMOS 由于无需记录并还原拍摄物体的颜色信息。每个像素可以独立地保存画面的灰度信息,也就最大程度上保留了画面的细节信息,提高了锐度。

  距离相关应用

  人眼是很容易对一个物体的距离进行定位,但当人闭上其中一个眼睛后,定位能力就会下降很多。

  双摄像头就是模拟人眼的应用。

  简单的说,测距离的话,就是通过算法算出,被拍摄物体与左/右摄像头的角度θ1和θ2,再加上固定的y值(即两个摄像头的中心距),就非常容易算出z值(即物体到Camera的距离)

android 双目摄像头使用 双目摄像头方案_ViewUI

  不过这也很容易推算,若两个摄像头中心距过小的话,可计算的物体距离就会很近。若想算出很远距离,就必须让左右摄像头的距离拉远。

  光学变焦

  光学变焦主要是左右摄像头使用不同的FOV(可视角),这样两个摄像头取景不同。当用户需要广角照片,则用视角为85度的左摄像头取景,获得广角效果。当用户需要长焦照片,则用视角为45度的右摄像头取景,获得长焦效果。

android 双目摄像头使用 双目摄像头方案_ViewUI_02

  为了使左右摄像头拍摄的物体重叠度高,光学变焦的双摄像头模组不能像做距离应用的摄像头的模组那样距离过大,而是需要将左右摄像头摆得越近越好。

  暗光增强

  其实第二篇的时候,小编已经简单介绍过暗光增强的原理。一般来讲,做暗光增强就是将两个摄像头一个用RGBG的标准摄像头,一个用去掉RGBG 滤波片的黑白摄像头。RGBG用来获得物体的色彩,而黑白摄像头用来获得更好的进光量,来判断被拍物体的光强强度。然后将两个图片融合即可获得更好的暗光增强。

   只是一般来说,有两种融合方法:

  1. 以黑白图片为主体,将彩色图片上获取的每个像素的颜色贴至黑白图片上,将两种图片融合。

  2. 以彩色图片为主体,将黑白图片上获取的每个图像的光亮强度补偿到彩色照片上,将两种图片融合。

  至于哪种方式更合适做融合,可能仁者见仁智者见智,就不在这展开讨论了。

  同样,做暗光增强,为了让左右摄像头拍摄的物体重叠图高,此类双摄像头模组也是要求越近越好。

android 双目摄像头使用 双目摄像头方案_前端_03

  需要说明的事,华为P9 其实选用的就是这个方式的模组。

  当然有些业内人士也表示这种算法目前做的效果并不明显。暗光补偿对用户来的确很帮助,尤其拍夜景的时候。不过有些客户认为索尼和三星的Dual PD技术就非常好,更愿意用Dual PD 摄像头来做暗光补偿。

  到底是双摄像头还是Dual PD的暗光补偿效果好,大家可以比较一下华为P9和三星的Galaxy S7 edge,就会有答案了。

  3D拍摄和3D建模

  3D拍摄和3D建模的算法其实跟距离应用有点类似,只是它的精度要求更高,甚至有时会需要用红外测距进行更准确的距离判断。在这里小编就不详细展开介绍了。

  对ISP的要求

  提到双摄像头的算法,不得不提到ISP(Image Signal Processing 图像信号处理器),ISP主要作用是对前端图像传感器输出的信号做后期处理,主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节,ISP技术在很大程度上决定了手机的成像质量。

  功能机时代,ISP都是做在摄像头上的,不同像素的摄像头搭配不同性能的ISP。随着手机摄像头像素越来越高,对ISP性能的要求越来越高,若将ISP集成到摄像头Sensor上,势必造成摄像头的模组过大,甚至影响拍照效果。所以智能机时代,ISP一般都是在主芯片SoC上。部分品牌客户为了实现更好的效果,甚至不惜成本的外加一颗ISP用来达到更好更专业的拍照效果。

  好的拍照算法就需要搭配好的ISP,ISP和算法相辅相成,缺一不可。而双摄像头对ISP性能要求更多。首先,为了使的左右摄像头的信号能够同时被处理,单一的ISP已经无法满足双摄像头的需求。这就需要双路ISP实现此功能。

android 双目摄像头使用 双目摄像头方案_3D_04

  以暗光增强为例,彩色/黑白图像分别进入各自的ISP通道和校准通道,然后将两副图片做匹配(如将两幅图片相同的部分提取出来,去除只有一个摄像头拍到的部分),然后通过遮挡,检测,补偿等算法 处理相关的图片。最后将两幅图片融合起来,实现颜色的增强。当然实际上ISP配合算法做的事情,远远比这图片上写的要多。小编实在不知道,就不在这误导大家了。

    当然,在这里面也有一个小小的插曲。毕竟是两个ISP,两个ISP多少有一些处理速度,处理能力不同的问题。为了保证两个ISP能在同一时间上取样,就需要双摄像头拍出来的图片是同一时间拍出来的。其中一个解决办法就是让Sensor有一个同步信号引脚。将两个摄像头的同步信号对接,在每次读取图片时,将图片都打上一个时间戳,ISP通过时间戳,保证左右摄像头拍出来的照片在同一时间拍摄,最终再进行融合。

  摄像头的接口

  一般来讲,目前的智能手机的摄像头接口都是MIPI接口。之前手机平台都只有2路MIPI接口,分别给前摄像头和后摄像头。做双摄像头,就要求平台至少支持三路MIPI接口。其实在之前的高端平台上,为了实现更高像素,已经用双路ISP了(比如为了支持16M的摄像头,会用2路8M能力的ISP),这类平台很有可能只有两路MIPI。但这个无法阻止工程师去做前单摄像头+后双摄像头。

android 双目摄像头使用 双目摄像头方案_ViewUI_05

  没错,加一个小小的Swtich,就可以轻松实现双摄像头。