前言
手机最初的作用仅仅是进行通话,交流。但是随着技术的进步,人类需求的不断演进,越来越多的功能被集成到一个小小的手机里,也改变了许多传统产业。 比如手机取代了曾经的MP3、随身听市场,人们已经习惯了从手机app上找音乐听音乐。手机直接开启了PC时代之后的移动互联网时代,PC时代的巨头忽然之间发现 自己的用户群体在萎缩,而使用手机,拥抱移动互联网的用户在爆炸式的增长。许多传统的互联网用了十多年打下的江山,在移动互联网时代迅速被挤压、超越。典型的 如今日头条,滴滴,蚂蚁金服。 而现在正在发生的,是手机正在逐步压缩卡片机市场,越来越少的人们会专门购买一部相机,因为手机的拍照功能已经越来越强大了,出片质量“不逊于”传统卡片机。 卡片机和单反领域曾经的认知底大一级压死人虽然还在发挥着作用,但任然无法改变市场被一步步挤占的事实。手机从软件和硬件多方面的迭代进化,短短几年就通过 逐步找准用户在社交分享领域的痛点,不断攻城掠地。近些年更是出现手机厂商发布会必然会提及相机的改进,几乎与通信功能同等重要甚至成为卖点。
无论从哪一个方面来说,智能手机相机发展都是一个非常庞大的题目,甚至可以写成一本专门的书籍。所以所写只是个人的一些理解。而且本文其实并不关注手机相机像素这个大众非常关注的问题,因为一般在商场里,似乎一个大爷很容易就能通过1600w像素的相机好于800w像素的相机,但是其实不是。即便是一个200w摄像头拍出的照片,也可以通过插值变成500w像素的照片。最终成片的细节完全不是看像素,最初的山寨机市场混战中,相信非常多的消费者被像素这个概念误导,而最终即便是1200w像素的相机也被苹果那颗祖传800w摄像头打爆。本文实际关注的是手机厂商对成像质量优化所走的路。
上古时代–为手机装上一双眼睛
第一部带手机的智能手机是夏普wiki,11万像素,从现在的眼光看,只是解决了手机能通过 摄像头获取图片的问题。几乎谈不上画面质量。
中古时代–让手机看的更清晰
当手机拥有了摄像头之后,下一步就是如何进化的问题了。从现有的资料看,以iphone为智能机元年的话,之前的手机霸主是诺基亚。而参考诺基亚N95的配置,CPU主频为 332MHZ,内存容量为18+142M。而相机为500万像素。从现有找到的资料看N95 camera, 所能进行的配置 只有EV,画面色彩风格和Zoom(应该是digital zoom),并能进行自动对焦。从这里看,其画质有提升,但是并不是特别明显,而首先解决的,其实是清晰度问题,毕竟如果画面不清晰,那么一切优化就失去了根基。后置摄像头能自动对焦是一项比较重要的提升,而另一项重要的提升则是selfie camera,其实就是用于自拍的前置相机。虽然当时的自拍非常原始,成片几乎也就是用来换个qq头像的作用, 但是厂商敏锐的发现了这一功能所带来的需求。以致出现主打前置自拍而非后置相机的手机。
近代 – 怎么拍怎么美
强大的ISP处理能力一直是手机芯片厂商升级的重要卖点。从sensor输出的mipi raw到YUV到最终的jpeg,无一不需要细致的处理,而之所以需要一个专门的ISP处理,是因为当图像太大的时候,采用常规的cpu处理已经来不及了,视频录像时,是要求30帧每秒,而每一帧都需要进行的3a,去噪,CPU根本没法保证能及时处理完。 sensor的输出都是bayer pattern, 如果我们将R/G/B三中色彩分别取出,实际上图像大小是 0.5width, 0.5height。也就是大小最终缩水了1/2。但是为什么我们看到的图实际上是完整的width*height呢。
实际上,ISP在raw域会进行demosaic处理,进行水平、垂直方向的插值(实际上插值算法非常重要,因为从原始的bayer到最终的rgb,如果插值算法不好,会发现边缘的色彩发虚,所以各家都有不同)。
而ISP在demosaic之前需要进行的操作包括:
black level correction(黑电平校正: 原因是sensor在完全无光环境下有一个基础噪声需要取出),
线性化(sensor的r/gr/gb/b通道,在不同环境下的输出响应其实并不完全一直,如果我们不处理,后续在添加gain的时候会造成色偏),
gamma(调整亮度),
BPC(坏点校正:如果sensor输出的某个点是明显的坏点,不矫正也会导致最终的出图有异常)。
ISP在raw域还有一个重要工作就是输出各种统计信息(stats)用于aec/awb/af的处理,这部分需要专门的硬件做才能保证处理速度。而这些统计信息,如画面亮度/行/列/rg、bg统计/fv统计,则会输入到软件模块进行3a处理。
而当ISP进行demosaic之后,经过一次rgb转yuv(色域的转换,有固定公式),之后会进行一些色彩校正、增强和图像的切割。
ISP的另一个重要工作就是降噪,去除各种噪声,让画面更清晰。降噪的手段随着硬件的处理能力升级也一次次升级,从普通的滤波+叠加能去除一部分噪声,到后来的计算机视觉一些复杂算法的引入能对图像进行运动分析,去除ghost鬼影和运动模糊等。
而且手机由于sensor感光能力远弱于单反,在黑暗环境的噪声是非常严重的,结果就是拍出来的照片一片糊。为了解决这个问题,手机芯片厂如高通华为都不约而同地引入了多帧降噪,通过增加曝光时间和多张照片合成来弥补。最终的效果非常惊人,如果按照华为的宣传(P30),几乎就是黑夜如白昼。。。当然我还是不太信的。
这一时期,由于安卓的进步,如从android4到android5到之后的版本,android开始不仅仅是只能控制拍照与否,而不能控制更多参数。到后面的一整套的参数传递返回,我们不仅仅能知道硬件的曝光信息,还知道底层最终输出的aec gain/awb gain(详见andorid hal文档)。上层app终于可以直接处理sensor输出的raw并获知底层的处理参数进行进一步调优,而不是像早期的图像处理app,只是对最终的jpeg进行一下变换,添加有趣的元素。
而这一时期,除了ISP的进步,系统的进步。sensor厂商也在不断推陈出新。几个重要的升级为:
-
为手机引入了PDAF对焦。这本来是单反专用. PDAF的引入使得图像对焦能力大大增强,原先需要计算每帧的fv然后查找最大的那帧,对焦最快也得5帧以上,而pdaf通过pdlib直接可以计算出最清晰位置,理想的情况3帧就能完成对焦(这同时也得归功于cpu处理能力的增强,毕竟pdaf运算量比较大,而到了后期的dual-pd更是恐怖,几乎每帧的运算量都是普通pdaf的10倍以上,因为dual-pd的pd点像素密度是100%).
-
提供了单帧多曝光能力,也就是zzHDR或3HDR。同一帧能进行多组曝光,使得原先需要3张才能完成的HDR拍照,现在只需要更少的帧数。还可以在预览时就使用,这直接提升了画面的动态范围,提升了成片的表现力。
-
pixel合成。也可以称之为super pixel。手机相机有一个梦寐以求的东西就是单反级别的感光能力,但是受制于手机空间,实际像素大小虽然一直在进步,依旧难以达到单反级别。于是sensor厂商用了一个非常创造性的思路,如果单个像素感光能力不够,我们能不能合并呢?这就是现在非常火热的4800w像素QCFA sensor。光线好时就是4800w,而光线差的时候,就合并周围的像素, 提升感光能力。(也许这个思路的提出还有一个因素就是先驱HTC super pixel在2007年的失败。2um的像素尺寸但是只有400m像素,即便怎么宣传,估计普遍被认为不如800w的普通sensor。毕竟当时的市场并不能完全理解这么复杂的概念)
从个人观点看,还有一个决定手机图像处理能力的,并不仅仅有硬件,还有更重要的软件。因为软件处理代表着手机芯片/手机OEM厂商对图像的理解能力。 本质上这是一个工程问题,而不是一个理论问题。 不仅仅需要应用到理论,还需要考虑到实际应用过程中的各种意外,比如我们面临的环境可能有多个光源,那么画面拍出来就是显得很黄,或者发白发蓝,我们怎么处理。这些都是另一个岗位camera tuning 工程师,把不正确的图片输入,然后手动调整算法模型中的处理,单个case针对性的调整才能获得的效果。
每一部手机都是经历过成千上万张照片,成千上万个场景、光源的实拍然后实时调整才能让我们实现怎么拍怎么美的。这是一个比较系统的合作和不断演进,缺一环都无法达到现有的效果。
现代 – 神经网络混合处理
现在的神经网络大火,手机厂商更是无法视而不见。 神经网络本质是一个黑箱,通过tagged data训练出一个模型然后应用。这种处理方式与传统的手机厂商是迥异的。我们更多的是从应用侧(app)看到其应用。但是实时的在底层处理,目前应该还没有(P30 拍月亮这件事让我存疑,但是即便那是真的也是上层底层配合,而不是存粹的底层处理)。因为神经网络能解决对不对的问题,也就是这个场景看起来是不是正常的问题,它可以通过已有的数据猜,但是它无法解决个人喜好的问题。每一张自拍即便色彩都是ok的,但是对于有些人可能更喜欢偏粉偏可爱的画风。而且对于传统的处理方式,每次结果其实都相对确定,而神经网络,感觉目前还不能完全取代现有的isp。但是它可以作为ISP的一个重要补充,毕竟现在的终端已经有那么强大的计算、推断能力,完全可能衍生出一些新玩法。
而computer version计算机视觉的算法也越来越多的被引入。比如在录像时跟踪一个移动的物体,就需要计算机视觉提取目标信息然后设置AF/AEC ROI,进行跟踪。现在的硬件已经能非常好的支持cv操作,比如qualcomm的fastcv, 这会越来越多的在底层应用,进行边缘提取,已经画面目标的一些增强操作。
混合采用多种技术成为主流。无论是手机厂商还是在应用侧。
未来 – 现实与虚拟的无缝连接
未来的进化,其实需要所有人思考,我们到底希望看到的是一个真实的世界还是一个你所希望看到的但并不一定真实的世界?
这里借用电影«头号玩家»的意思就是,随着技术的进步(cpu、gpu、isp、5G),我们看到的并不是从sensor里直接感知的图像,而是经过一轮又一轮处理的图。我们每个人都有投票权,决定未来看到的是什么。