这几天新闻说,下一代的安卓系统 Android Q,将提供系统级的照片景深 API ,从而让第三方 APP 能够读取双摄 / TOF 镜头记录的景深信息。
先跟大家科普一下手机景深信息是怎么肥四,我们从手机和相机的区别说起。
传统的单反相机,由于 CMOS 画幅大,光圈孔径也大,在约 35mm 以上焦距及 f2.8 光圈时,就能轻松产生梦幻的焦外虚化效果。
但手机由于传感器画幅非常小,即便在旗舰级手机上已经配备了 f1.5 的大光圈孔径比镜头,也无法实现单反一样的浅景深和虚化焦外。
在 2016 年底苹果发布了拥有双摄成像系统的 iPhone 7 Plus,并稍后在 iOS 10.1 推出了『人像模式』,终于在手机上模拟出类似单反大光圈镜头的虚化焦外效果。
这是怎么做到的呢?
人类的双眼在观看景物时,通过两只眼睛的『双目视差』就能得到景物深度的信息,判断出各个物体距离的远近,3D 电影也是通过双目视差方法"欺骗"人眼,在 2D 屏幕上让你看出立体感。
iPhone 的双摄系统,在『人像模式』取景和拍照时,同时用 2 个镜头记录下画面,由于 2 个镜头之间有一定距离,正如人眼一样产生『双目视差』,内置的芯片用算法比对两个画面的差异,记录下画面中各个物体的远近距离,并以一张灰度图像保存起来,浅色代表距离近,深色代表距离远,这就是手机拍照的景深信息。
有了景深信息之后,手机就能通过算法保留主体清晰可辨,对背景进行焦外虚化渲染。
我们看到不同厂家的虚化效果不一样,有些手机的虚化背景是一片朦胧,有些手机则做到根据物体的距离、结构和光亮度精细渲染,并考虑焦外二线性等光学情况,更接近单反镜头效果,这是算法上的差异。
除了双目视差外,iPhone X 在 2017 年率先使用了 3D 结构光技术,这个技术通过红外矩阵投影和红外摄像,不但能用于 FaceID 解锁,还让 iPhone 的前摄也拥有了拍摄景深信息的能力。
今年华为的拍摄旗舰 P30 Pro 也商用了 TOF 镜头,这是一种通过光线反射时间差(Time of Flying)来获取景物深度信息的技术,与3D结构光技术不同,据称能识别 15 米以内的物体。
看到这里有同学要问了,『人像模式』在安卓手机上早就有了,并不比 iPhone 晚多少,再说华为 TOF 这么牛逼,凭什么说安卓要再等1年?
我说『人像模式』了吗?并没有,我说的是『先拍照后打光』。
看一个栗子『Focos』,这是一款 iOS 独占的超强景深后制 APP 。
Focos 都有些什么超强功能:
是不是非常的 NB ?简直把照片景深信息玩出花儿来了!
为什么这是一款 iOS 独占的 APP 呢?是因为作者装逼吗?
并不是。
苹果推出『人像模式』后,随之而来的还有的人像光效果,这是对照片景深信息除了焦外虚化之外的一次探索。
在 2017 年的 WWDC 上,苹果对开发者讲解了一个称为 PhotoKit 的技术接口,第三方开发者通过这个接口可以获取照片的深度信息,之后随着 iOS 11 和 12 的迭代,PhotoKit 获得了诸如人像蒙版等能力的强化。
在随后的一年里,踊跃的开发者开发出像 Halide Camera,Focos,Apollo 这样功能远超原生相机的强大 APP,这是一个生机勃勃的开发者社区对 iOS 系统最好的反哺。
在 Android Q 系统宣布实现系统级的照片景深 API 前,基本上只有厂商自己的相机 APP 能完全使用手机的这一功能,第三方软件开发者面对市场上不同手机实现方式的景深照片犹如一场噩梦,要做到兼容各厂设备实在太耗费时间精力(同理可参考微信发红包在大法手机上需要使用密码,没有使用系统级别的生物信息认证 API)。
所以我们会看到安卓厂商的相机 APP 庞大而功能繁复,而第三方开发者却很难利用最新的硬件和接口开发领先业界的摄影应用。
好消息是, Google 终于开窍了,今年在 Android P 上开始支持 HEIF 图像格式,这个格式可以保存包括景深的更多图像信息,并且在 Android Q 上开始提供系统级照片景深 API。
坏消息是,2017 年发布的 P 系统大家才刚刚用上,Q 系统可能要再等1年吧!
会玩小哥哥R先森的『会玩摄影』专栏
教你如何利用手机、镜子、灯光来扬长避短,拍出
媲美 INS 网红的效果!记得点一下关注,下一期有『会玩摄影·健身房打卡必修课』。
往期回顾:
* 部分图片来源网络,如有侵权请联系速删