一文深度解读苹果 ProRAW 功能

我们制作了在 iPhone 上很受欢迎的 RAW 格式相机 app,所以当苹果宣布推出全新的 ProRAW 照片格式时,我们激动不已。

然后他们又说,这项功能即将登陆系统自带的相机应用。

那些同我们一样开发相机应用的开发者们听到这个消息可能会心头一惊,想着 Apple 这次可能要抢了他们的饭碗。我们没有这么想,我们只是有些疑惑。

给自己冲杯咖啡吧!这篇文章可长着呢。

数码相机概要

请将下面这幅场景想象成你在相机上看到的画面:

你按下相机的快门键时,光线穿过一系列光学镜片,落到一块数码传感器上,并在传感器上被捕获。

我们会简单讲解一下相机将传感器捕捉到的数据转换成图片的三个重要步骤。

第一步:去马赛克

你的数字传感器会将光线转化成不同的数值,收到的光线越多,数字也就越大。

我将上图做成只有黑白二色不是没有原因的——这是因为所有的数字传感器都无法分辨颜色。在 1976 年,柯达公司的一位聪明的工程师发现了一个方法:在传感器上面覆盖一层 格状的颜色滤片,这样每一个像素所呈现的就不再是黑色或白色,而是红、绿、蓝中的一种。

这种马赛克阵列由它的发明者——布鲁斯·拜尔命名,叫做拜尔滤色镜。有了这个滤色镜之后,我们的传感器就可以「看」到一系列不同的颜色了。我们来放大一下树叶部分,看看传感器看到了什么。

图中每一个像素点都是红色、绿色、蓝色中的一种。接下来,我们要做的就是依次观察每一个像素点和它周围的像素点,尝试去猜测这两个像素之间的颜色是什么。这一重要步骤就叫做「去马赛克」,或者叫做「去拜尔化」。

这一步很难。只要分别对比一下简单的算法和成像质量更高的算法,你就会发现简单的算法出了些问题:画面中出现了紫色的描边。

中:较快速的算法,右:成像质量更高的算法。

看看照片中的鹅卵石。使用快速算法进行处理的照片「像素风」更浓一些。

左:快速算法 右:高质量算法

可用的去马赛克算法有不少,它们各有各的优缺点。由于你使用的传感器,相机的设置,甚至拍摄的物体都会对成像造成影响,所以最佳的算法也不尽相同。比如说在拍摄夜空时,有些算法生成的星星就会更好一点。

在去马赛克这一步之后,我们得到了这样的一幅图像:

为了简单快速地展示效果,图为模拟得到的结果

这一点也不好看。我们一眼就能看出来,这张相片的颜色和曝光都不正常。

但这并不意味着你的相机出了什么问题。原因正相反:这是因为你的相机所拍摄得到的信息太多了,远远超过了你屏幕可以显示的范围。我们需要用到你传感器收到的数据,也就是记录了你拍照场景的光的数据;再将其转换为在你屏幕上显示的像素值。

第二步:从场景到屏幕

我们先处理颜色的问题。下方这张图表代表着人肉眼能看到的所有颜色,而中间的三角形代表着大多数屏幕能够显示的颜色。

当你的相机拍到了三角形外部的颜色时,我们就得对这些颜色进行调整,使那些不可用的颜色融入三角区内部。

现在的相机在大多数情况下都能很好地确定「白点 (white point)」。选好「白点」之后,运行一下算法,就能得出一张白平衡准确的图片。

这和我们所看到的景象已经很接近了,但画面上部的屋檐有些曝光不足。

让我们试试调高曝光度以照亮这些细节……

……但现在照片剩余的部分又太亮了。

这个问题涉及的专业名词叫做「动态范围」。动态范围指的是在一次拍照中相机能够捕获的光的范围,从最亮的高光到最暗的阴影。你会经常听到以「档 (stops)」来作为计量单位的这一范围。

有没有听说过「HDR」或者「XDR」之类的词?「HDR」之中的「DR」指的就是动态范围,人们对它的讨论可是相当多。在科技领域,这是尤其难以处理的一项技术,只因为人的眼睛实在是太强大了

人眼是世界上最强大的相机,不需要任何质疑——因为人眼可以分辨出 30 档的动态范围;而大多数屏幕只能显示出 8 档。数码相机最多能拍摄 15 档的动态范围。如果我们想要把这些信息显示在一个动态范围较低的屏幕上,可能看起来就会不对劲,有时候还会出现一些奇怪的错误。

可以注意到天空有一点奇怪的青色,这是由于其中一个颜色通道受到了裁剪而造成的。

为了解决动态范围的这一问题,我们需要做的可不只是整体调亮阴影、调低高光这么简单。这样做的话,整张图就显得没有立体感了。

我们需要做的是将图片的某些细小部分调亮或者调暗。五十年前,摄影师要花费数小时使用一种叫「加亮和加深2 (dodging and burning)」的方法来减弱负面效果。

现在同样的方法有了新名字,叫做「区域色调映射」。

右侧的图片应用了些许的区域色调映射。

这样一来,我们的图片就好看多了。

第三步:优化

然后,我们还可以丢弃大部分的颜色信息。这能将体积缩小一半。

最后,我们可以应用一种叫做「有损压缩」的技术,也就是 JPEG 格式图像中使用的那种技术来进一步压缩体积。这样,我们最后生成的图片只有 1.6M,就可以与朋友们分享了。

好啦。深呼吸一下,理解一下这一长串的操作。准备好了吗?接下来终于到了重头戏……

什么是 RAW?它又神奇在哪儿?

我们在刚才的步骤中处理了一张照片。这其中的每一步都是「破坏性」的,意味着我们的操作会导致数据的丢失。比如说在第二步中,一旦我们对那些颜色进行了调整以使其融入到三角区内部,你就再没办法知道真实世界中这些颜色都是什么了。

所以说,如果在这过程中出了错会怎么样?前不久加州的大火烧得漫天通红,我们就用这个做例子。那时,我拍了一张色卡的照片,想着以后可能会用到。

现实世界中,它看起来是这样的:

内置相机应用受到了橘红色天空的干扰,于是它便尝试着让画面中的一切都显得偏中性,也就是平常的世界看起来的样子。而人们则感到疑惑,因为他们手里的相机似乎不愿拍出他们所看到的样子。

左图是实际场景,右图是对白平衡失败的图片进行调整之后的结果

看到了吗?这样的操作会弄坏一些颜色,比如说蓝色变成了紫色。

想要还原一张处理过的 JPEG 图像就像要复原一个烤好的蛋糕。当你的相机生成 JPEG 图片的时候,你最好期望生成的结果是你想要的,因为没有撤销这一说。

那么,如果说不保存 JPEG 文件,而是让你的相机保存最原始的传感器数据又如何呢?这样一来你就可以完全掌控不同的处理结果,比如说白平衡,因为最原始的数据在你手上。

欢迎来到 RAW 摄影的世界。

我们之前写过不少关于 RAW 的文章。用 RAW 拍摄给了你神奇的能力,只需要左改改右调调,你就可以拯救一张你自认为曝光失败的照片。

至此,我们只谈到了犯错的情况下要如何修正,但 RAW 同样也给了你修改的自由,让你可以选择别出心裁的修改方式以达到不同的艺术效果,让你自己处理这张照片,正如你体验到的场景一样。

还记得老式胶片相机吗?这些相机的照片需要用负片(negative)来冲洗。RAW 数据通常用 DNG 格式进行存储,DNG 也就是「数字负片」的意思(Digital Negative)。有的相机厂商也开发了他们自己的格式,但这些厂商都是垃圾。

DNG 是一种开放标准,所以说谁都可以开发用于读写 DNG 的软件。最好的是,正如我们接下来会讲到的一样,这一格式还在不断进步。

但首先,我们得先来谈几个坏消息。

RAW 真棒!倒也不尽然……

我们开发了一款 RAW 相机应用,所以我们当然是爱 RAW 的。同时,我们也因此受到了相当多的邮件寻求相关的支持。到现在为止,我们收到的最多的邮件都是在问:“为什么用 RAW 拍出来的照片倒不如原相机了?”

iPhone 的相机在数次升级中变得越来越好。起初是硬件方面的巨大升级,iPhone 换上了更灵敏,更大的传感器和镜头,这样就能拍出更锐利的照片。但最终,处理器还能越来越快,相机却无法无限制地增大。如何突破这一限制?相机变得更聪明了。

iPhone 拍摄很多张照片,从中挑选某张照片中的阴影,从另一张照片中挑选正确的曝光,再挑选几张以丰富细节,最后再将这些照片合而为一。合成为最终结果的这一过程只需一瞬就可以完成,而且完全不需要用户的操作。酷炫的操作也有酷炫的名字,就比如「智能 HDR」或者「深度融合(Deep Fusion)」之类的。

然而在拍摄 RAW 文件时,iPhone 只会拍摄一张照片。所以出片的效果可能看起来有一点不一样……

如果你之前都在用系统相机 app 拍照,突然切换到这种手动模式,就像是开车从自动挡换到了手动挡一样。

想要快速适应并不容易,于是我们在新版 Halide 相机升级中引入了「Instant RAW」功能,这样你就不必花费一下午的时间来调整效果了。

即便苹果将这些算法公开,允许第三方开发者使用,这些技术需要拍摄一组照片,这样才能将每张照片最好的地方融合在一起。iPhone 拍摄的每张 RAW 都有 12M,如果你想用苹果的算法来处理 RAW 图片,这就意味着你要处理普通文件 10 倍大的文件。

还有另一个问题:前置镜头和超广角镜头都不能拍摄 RAW 照片。

欢迎来到 ProRAW 的世界

这听起来可能有些令人讶异:即 ProRAW 并不是一个专属的封闭规范。那么这功劳归功于谁?当然是为 DNG 标准贡献巨大的苹果公司啦。你在拍摄的时候,绝不会因为使用的是 ProRAW 格式而被锁在苹果的生态系统中。

我们来看看 ProRAW 相比于传统的 RAW 有哪些不同吧。

去马赛克已经完成了

ProRAW 格式存储的是去马赛克之后的像素数据。这好比他们将前面提到过的第一步单独拿出来执行,然后再保存这些数据。我们稍后再谈为什么要这样做。

需要解释的是:这些执行过去马赛克的色彩数据仍然是来自场景的真实的数据,而不是为了显示而压缩过的数据。这些数据仍然包含原始的动态范围、无法显示的颜色、还有「真正的」 RAW 文件才有的修改灵活度。他们只是跳过了第一步的执行而已。

理论上讲,我们确实没法选择使用哪种去马赛克算法了,但实际上大多数专业摄影师压根不在乎。

摄影师 Austin Mann 在他的文章中展现了 ProRAW 对于夜间摄影的巨大提升

对于苹果来说,这一妙招也让他们对于以后能用到的图片传感器有了更好的掌握。在文章前面我说,大多数相机都采用拜尔式滤色镜。有些相机厂商使用了不同的样式,同时也需要不同的算法。富士胶片发明了 X-Trans 传感器,使用这种传感器能够拍出更为清晰的照片,同时也会带来更多类似于电影胶片的颗粒感。甚至还有例如 Foveon 的这种数字传感器,其采用了将滤色镜依次堆叠的做法。

苹果公司现在在研发他们自己的芯片,而且他们做得还很棒。在选购手机时,相机也是一个非常重要的卖点。这样看来,苹果在传感器领域有所革新似乎也如箭在弦上一般。接管了去马赛克这一步能够帮助苹果公司在研发传感器方面减少阻碍。打个比方:他们可以用「苹果 C1 芯片」(假设真的叫这个名字的话)来替代当前使用的拜尔传感器;而且只要照片是用 ProRAW 格式存储的,不需要进行修改就可以在任何一种专业图像处理环境以及应用(比如说 Lightroom)中使用,不用等 Adobe 重新写去马赛克的算法。

iPhone 的前后四颗镜头都支持 ProRAW。这一惊喜发现着实让我们尝到了甜头。

填补算法的空缺

现在我们是有了未经修改的数据,但是我们能享受到计算机能为摄影提供的其他辅助,比如说区域色调映射这一类的功能吗?苹果完全可以将这些算法开放给第三方应用,但这可能并没有你想的那样有用。先说一点:想要使用这些功能,要用到成吨的 RAW 文件。这一点我们等会再讲。

我认为另一个值得考量的地方是为了产出品质始终如一的照片。因为这些算法随着时代的发展肯定会逐步演变,如果在回看一年前的照片时发现苹果的 AI 给出了不同的结果的话,应该是很令人惊诧的。

为避免这一问题,ProRAW 技术在 RAW 文件中储存的是算法处理过的照片,这也是他们需要先进行去马赛克的一个原因,因为这些算法处理的是颜色,而不是 RAW 数据。去马赛克这一步一旦完成就没有恢复这一说了,若真有这一步我都不知道应该叫什么,「加马赛克」?

如果你在 Halide 相机中查看一张 ProRAW 照片又没有开启 Instant RAW 功能时,我们就是这么做的。

区域色彩映射减弱了地面上的阴影

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月25日
下一篇 2020年11月25日

相关推荐