双摄像头系列的文章,得到了不少读者的欢迎。有读者希望能了解一下双摄像头的原理。小编不才,看过不少双摄像头原理的文章,基本上都伴随着浓浓的困意,最终做到了从入门到放弃。在这边,小编只好用简单粗暴的方式,跟大家聊聊双摄像头的原理,欢迎大家在留言处一起讨论。
如之前文章介绍,双摄像头的应用主要分为:距离相关的应用,光学变焦,暗光补偿以及3D拍摄和建模。每种应用的原理都有些不同,我们就分别介绍一下相关的原理:
距离相关应用
人眼是很容易对一个物体的距离进行定位,但当人闭上其中一个眼睛后,定位能力就会下降很多。
双摄像头就是模拟人眼的应用。
简单的说,测距离的话,就是通过算法算出,被拍摄物体与左/右摄像头的角度θ1和θ2,再加上固定的y值(即两个摄像头的中心距),就非常容易算出z值(即物体到Camera的距离)
不过这也很容易推算,若两个摄像头中心距过小的话,可计算的物体距离就会很近。若想算出很远距离,就必须让左右摄像头的距离拉远。
光学变焦
光学变焦主要是左右摄像头使用不同的FOV(可视角),这样两个摄像头取景不同。当用户需要广角照片,则用视角为85度的左摄像头取景,获得广角效果。当用户需要长焦照片,则用视角为45度的右摄像头取景,获得长焦效果。
为了使左右摄像头拍摄的物体重叠度高,光学变焦的双摄像头模组不能像做距离应用的摄像头的模组那样距离过大,而是需要将左右摄像头摆得越近越好。
暗光增强
其实第二篇的时候,小编已经简单介绍过暗光增强的原理。一般来讲,做暗光增强就是将两个摄像头一个用RGBG的标准摄像头,一个用去掉RGBG滤波片的黑白摄像头。RGBG用来获得物体的色彩,而黑白摄像头用来获得更好的进光量,来判断被拍物体的光强强度。然后将两个图片融合即可获得更好的暗光增强。
只是一般来说,有两种融合方法:
1.以黑白图片为主体,将彩色图片上获取的每个像素的颜色贴至黑白图片上,将两种图片融合。
2.以彩色图片为主体,将黑白图片上获取的每个图像的光亮强度补偿到彩色照片上,将两种图片融合。
至于哪种方式更合适做融合,可能仁者见仁智者见智,就不在这展开讨论了。
同样,做暗光增强,为了让左右摄像头拍摄的物体重叠图高,此类双摄像头模组也是要求越近越好。
需要说明的事,华为P9其实选用的就是这个方式的模组。
当然有些业内人士也表示这种算法目前做的效果并不明显。暗光补偿对用户来的确很帮助,尤其拍夜景的时候。不过有些客户认为索尼和三星的DualPD技术就非常好,更愿意用DualPD摄像头来做暗光补偿。
到底是双摄像头还是DualPD的暗光补偿效果好,大家可以比较一下华为P9和三星的GalaxyS7edge,就会有答案了。
3D拍摄和3D建模
3D拍摄和3D建模的算法其实跟距离应用有点类似,只是它的精度要求更高,甚至有时会需要用红外测距进行更准确的距离判断。在这里小编就不详细展开介绍了。
对ISP的要求
提到双摄像头的算法,不得不提到ISP(ImageSignalProcessing图像信号处理器),ISP主要作用是对前端图像传感器输出的信号做后期处理,主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节,ISP技术在很大程度上决定了手机的成像质量。
功能机时代,ISP都是做在摄像头上的,不同像素的摄像头搭配不同性能的ISP。随着手机摄像头像素越来越高,对ISP性能的要求越来越高,若将ISP集成到摄像头Sensor上,势必造成摄像头的模组过大,甚至影响拍照效果。所以智能机时代,ISP一般都是在主芯片SoC上。部分品牌客户为了实现更好的效果,甚至不惜成本的外加一颗ISP用来达到更好更专业的拍照效果。
好的拍照算法就需要搭配好的ISP,ISP和算法相辅相成,缺一不可。而双摄像头对ISP性能要求更多。首先,为了使的左右摄像头的信号能够同时被处理,单一的ISP已经无法满足双摄像头的需求。这就需要双路ISP实现此功能。
以暗光增强为例,彩色/黑白图像分别进入各自的ISP通道和校准通道,然后将两副图片做匹配(如将两幅图片相同的部分提取出来,去除只有一个摄像头拍到的部分),然后通过遮挡,检测,补偿等算法处理相关的图片。最后将两幅图片融合起来,实现颜色的增强。当然实际上ISP配合算法做的事情,远远比这图片上写的要多。小编实在不知道,就不在这误导大家了。
当然,在这里面也有一个小小的插曲。毕竟是两个ISP,两个ISP多少有一些处理速度,处理能力不同的问题。为了保证两个ISP能在同一时间上取样,就需要双摄像头拍出来的图片是同一时间拍出来的。其中一个解决办法就是让Sensor有一个同步信号引脚。将两个摄像头的同步信号对接,在每次读取图片时,将图片都打上一个时间戳,ISP通过时间戳,保证左右摄像头拍出来的照片在同一时间拍摄,最终再进行融合。
摄像头的接口
一般来讲,目前的智能手机的摄像头接口都是MIPI接口。之前手机平台都只有2路MIPI接口,分别给前摄像头和后摄像头。做双摄像头,就要求平台至少支持三路MIPI接口。其实在之前的高端平台上,为了实现更高像素,已经用双路ISP了(比如为了支持16M的摄像头,会用2路8M能力的ISP),这类平台很有可能只有两路MIPI。但这个无法阻止工程师去做前单摄像头+后双摄像头。
没错,加一个小小的Swtich,就可以轻松实现双摄像头。
后记:
双摄像头,小编写了三篇,终于写完了。各位读者如有什么问题,可以在留言处留下您宝贵的意见和意见,或者你想知道的问题。若有机会,小编也愿意跟你继续讨论摄像头的奇妙世界。