我们制作了在 iPhone 上很受欢迎的 RAW 格式相机 app,所以当苹果宣布推出全新的 ProRAW 照片格式时,我们激动不已。
然后他们又说,这项功能即将登陆系统自带的相机应用。
那些同我们一样开发相机应用的开发者们听到这个消息可能会心头一惊,想着 Apple 这次可能要抢了他们的饭碗。我们没有这么想,我们只是有些疑惑。
为了让大家理解 Apple ProRAW 为何如此特别,本文的前半部分讲述的是数码相机处理照片的过程;接下来,我们会解释传统 RAW 格式摄影的优缺点;最后,我们会深入了解 Apple ProRAW,了解它的独特之处,它是如何改变 RAW 摄影的,以及它还遗留的几个缺点。
给自己冲杯咖啡吧!这篇文章可长着呢。
请将下面这幅场景想象成你在相机上看到的画面:
你按下相机的快门键时,光线穿过一系列光学镜片,落到一块数码传感器上,并在传感器上被捕获。
我们会简单讲解一下相机将传感器捕捉到的数据转换成图片的三个重要步骤。
你的数字传感器会将光线转化成不同的数值,收到的光线越多,数字也就越大。
我将上图做成只有黑白二色不是没有原因的——这是因为所有的数字传感器都无法分辨颜色。在 1976 年,柯达公司的一位聪明的工程师发现了一个方法:在传感器上面覆盖一层网格状的颜色滤片,这样每一个像素所呈现的就不再是黑色或白色,而是红、绿、蓝中的一种。
这种马赛克阵列由它的发明者——布鲁斯·拜尔命名,叫做拜尔滤色镜。有了这个滤色镜之后,我们的传感器就可以「看」到一系列不同的颜色了。我们来放大一下树叶部分,看看传感器看到了什么。
图中每一个像素点都是红色、绿色、蓝色中的一种。接下来,我们要做的就是依次观察每一个像素点和它周围的像素点,尝试去猜测这两个像素之间的颜色是什么。这一重要步骤就叫做「去马赛克」,或者叫做「去拜尔化」。
这一步很难。只要分别对比一下简单的算法和成像质量更高的算法,你就会发现简单的算法出了些问题:画面中出现了紫色的描边。
中:较快速的算法,右:成像质量更高的算法。
看看照片中的鹅卵石。使用快速算法进行处理的照片「像素风」更浓一些。
左:快速算法 右:高质量算法
可用的去马赛克算法有不少,它们各有各的优缺点。由于你使用的传感器,相机的设置,甚至拍摄的物体都会对成像造成影响,所以最佳的算法也不尽相同。比如说在拍摄夜空时,有些算法生成的星星就会更好一点。
在去马赛克这一步之后,我们得到了这样的一幅图像:
为了简单快速地展示效果,图为模拟得到的结果
这一点也不好看。我们一眼就能看出来,这张相片的颜色和曝光都不正常。
但这并不意味着你的相机出了什么问题。原因正相反:这是因为你的相机所拍摄得到的信息太多了,远远超过了你屏幕可以显示的范围。我们需要用到你传感器收到的数据,也就是记录了你拍照场景的光的数据;再将其转换为在你屏幕上显示的像素值。
我们先处理颜色的问题。下方这张图表代表着人肉眼能看到的所有颜色,而中间的三角形代表着大多数屏幕能够显示的颜色。
当你的相机拍到了三角形外部的颜色时,我们就得对这些颜色进行调整,使那些不可用的颜色融入三角区内部。
现在的相机在大多数情况下都能很好地确定「白点 (white point)」。选好「白点」之后,运行一下算法,就能得出一张白平衡准确的图片。
这和我们所看到的景象已经很接近了,但画面上部的屋檐有些曝光不足。
让我们试试调高曝光度以照亮这些细节……
……但现在照片剩余的部分又太亮了。
这个问题涉及的专业名词叫做「动态范围」。动态范围指的是在一次拍照中相机能够捕获的光的范围,从最亮的高光到最暗的阴影。你会经常听到以「档 (stops)」来作为计量单位的这一范围。
有没有听说过「HDR」或者「XDR」之类的词?「HDR」之中的「DR」指的就是动态范围,人们对它的讨论可是相当多。在科技领域,这是尤其难以处理的一项技术,只因为人的眼睛实在是太强大了。
人眼是世界上最强大的相机,不需要任何质疑——因为人眼可以分辨出 30 档的动态范围;而大多数屏幕只能显示出 8 档。数码相机最多能拍摄 15 档的动态范围。如果我们想要把这些信息显示在一个动态范围较低的屏幕上,可能看起来就会不对劲,有时候还会出现一些奇怪的错误。
可以注意到天空有一点奇怪的青色,这是由于其中一个颜色通道受到了裁剪而造成的。
为了解决动态范围的这一问题,我们需要做的可不只是整体调亮阴影、调低高光这么简单。这样做的话,整张图就显得没有立体感了。
我们需要做的是将图片的某些细小部分调亮或者调暗。五十年前,摄影师要花费数小时使用一种叫「加亮和加深2 (dodging and burning)」的方法来减弱负面效果。
现在同样的方法有了新名字,叫做「区域色调映射」。
右侧的图片应用了些许的区域色调映射。
这样一来,我们的图片就好看多了。
然后,我们还可以丢弃大部分的颜色信息。这又能将体积缩小一半。
最后,我们可以应用一种叫做「有损压缩」的技术,也就是 JPEG 格式图像中使用的那种技术来进一步压缩体积。这样,我们最后生成的图片只有 1.6M,就可以与朋友们分享了。
好啦。深呼吸一下,理解一下这一长串的操作。准备好了吗?接下来终于到了重头戏……
我们在刚才的步骤中处理了一张照片。这其中的每一步都是「破坏性」的,意味着我们的操作会导致数据的丢失。比如说在第二步中,一旦我们对那些颜色进行了调整以使其融入到三角区内部,你就再没办法知道真实世界中这些颜色都是什么了。
所以说,如果在这过程中出了错会怎么样?前不久加州的大火烧得漫天通红,我们就用这个做例子。那时,我拍了一张色卡的照片,想着以后可能会用到。
现实世界中,它看起来是这样的:
内置相机应用受到了橘红色天空的干扰,于是它便尝试着让画面中的一切都显得偏中性,也就是平常的世界看起来的样子。而人们则感到疑惑,因为他们手里的相机似乎不愿拍出他们所看到的样子。
左图是实际场景,右图是对白平衡失败的图片进行调整之后的结果
看到了吗?这样的操作会弄坏一些颜色,比如说蓝色变成了紫色。
想要还原一张处理过的 JPEG 图像就像要复原一个烤好的蛋糕。当你的相机生成 JPEG 图片的时候,你最好期望生成的结果是你想要的,因为没有撤销这一说。
那么,如果说不保存 JPEG 文件,而是让你的相机保存最原始的传感器数据又如何呢?这样一来你就可以完全掌控不同的处理结果,比如说白平衡,因为最原始的数据在你手上。
欢迎来到 RAW 摄影的世界。
我们之前写过不少关于 RAW 的文章。用 RAW 拍摄给了你神奇的能力,只需要左改改右调调,你就可以拯救一张你自认为曝光失败的照片。
至此,我们只谈到了犯错的情况下要如何修正,但 RAW 同样也给了你修改的自由,让你可以选择别出心裁的修改方式以达到不同的艺术效果,让你自己处理这张照片,正如你体验到的场景一样。
还记得老式胶片相机吗?这些相机的照片需要用负片(negative)来冲洗。RAW 数据通常用 DNG 格式进行存储,DNG 也就是「数字负片」的意思(Digital Negative)。有的相机厂商也开发了他们自己的格式,但这些厂商都是垃圾。
DNG 是一种开放标准,所以说谁都可以开发用于读写 DNG 的软件。最好的是,正如我们接下来会讲到的一样,这一格式还在不断进步。
但首先,我们得先来谈几个坏消息。
我们开发了一款 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 格式利用了其技术规范中一些鲜为人知的项目,又向其中增加了一些。还记得我们说过 DNG 是一种开放的文件格式吗?苹果与 Adobe 合作推出了一些新的标准。这些标准的细节随着 DNG 的 1.6 版本被公布出来,而就在同一天,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 功能时,我们就是这么做的。
区域色彩映射减弱了地面上的阴影
至于 Deep Fusion,就是另一回事了。尽管俗称叫做「毛衣模式」,正式的术语应该叫做「低光场景下的噪点消除」。不像上面提到的「增益图表」,没有什么好办法能把 Deep Fusion 的效果和最终的图片分离开来。如果你不想使用 Deep Fusion,唯一的办法就是在拍照之前就给它关掉。
如果你曾读过我们的其他文章,你肯定明白我们是喜欢自然噪点的。在 Deep Fusion 推出之前,iPhone 拍摄 JPEG 格式照片的「水彩效果」是出了名的。看看我这张几年前拍的照片,人脸都被涂抹成一大片了。
拍照片的时候还没有「社交距离」这一说呢
而 Deep Fusion 则会生成非常不一样的结果。它不只是简单的涂抹,而是综合数张照片以得到一个「平均结果」。这样处理起来就看起来自然得多的多了。
如果你不喜欢 Deep Fusion 也别急,我们可以通过一个 API 来关闭这个功能。我们在 Halide 相机中的「拍摄设置」中添加了这个选项的开关。我在写这篇文章的时候,忽然想到,可以用这个开关来做一个简单的测试呀。
在我的办公室里,我点亮了一盏聚光灯,创造了一个高动态范围的场景。
我用点测光仪测量了图中两张灰色的卡片,得到的结果是他们之间的动态范围有 8.3 档的差距。然后我对准上方的灰色卡片进行曝光,在不同的模式下拍摄了三张照片:
我把这三张照片放到 Lightroom 中,并调亮了阴影部分。我们来看看测试图案的效果:
左:原生 RAW,中:不使用算法的 ProRAW,右:使用算法的 ProRAW
如果你想知道我在拍摄的时候用了什么样的设置,实话说可能说不太清楚。当你启用这些算法时,iPhone 就会忽略手动设置。也就是说,尽管最后的图片的 ISO 是 40,这并不代表连拍中每一张图片的 ISO 都是 40。
正如你所见即便是在 Halide 相机中关掉了智能处理,我们还是可以通过使用 ProRAW 文件来减少许多噪点。
ProRAW 在模拟测试中的表现确实不错,但在实际测试中又怎么样呢?
ProRAW 还有一个惊喜之处。几年前,苹果开始运用神经网络来识别一张图片中的突出部分,比如说眼镜和头发之类。苹果说他们只会运用这项功能来锐化天空,毕竟锐化脸部可实在是有损形象。
使用 iPhone 12 Pro 的超广角镜头拍摄的 RAW 文件为画面中的人创建了一幅景深图,很厉害
ProRAW 文件同样也包含这些景深图!无论是脸部的景深图,还是人像模式中,用于模糊背景的景深图,ProRAW 中都有。
ProRAW 存储的是去马赛克的数据,这也给了它几种让人眼前一亮的方式来处理大文件。这点至关重要。因为你在用系统相机使用 ProRAW 格式拍摄时,每张照片都大概有 25M 大小——至少。这比普通的照片大了一个数量级还不止。这样一来,手机很快就会被塞满。
如果你想进一步压缩文件体积,ProRAW 还提供一种有损压缩算法,能够将文件的大小压缩至 1M,但先别急着用——这种压缩 API 会将文件的色深降至 8bit。在我们看来,这样的代价有些太大了,得到的图片只不过比 JPEG 的质量稍微好一点而已。我们很确定 ProRAW 的压缩会让用户摸不着头脑,所以我们暂且推迟了关于图片压缩的支持。幸运的是,苹果的摄像团队对 ProRAW 的迭代速度非常的快,我们也期待他们能早日推出 10bit 压缩算法。
最后,我们发现每一张 ProRAW 文件都能够包含完全处理过的 JPEG 格式的图片。这是为不识别 RAW 格式的应用——也就是绝大部分应用——所做的向下兼容工作,比如说 Instagram 就不识别。(译注:Instagram 目前已经可以识别)系统相机并没有这个选项,也就是说你没法在不识别 ProRAW 照片的应用中分享 ProRAW 照片。但我们在 Halide 里面加了这个功能。
左:照片应用;右:Lightroom CC
看起来不对劲是因为 Lightroom 还检测不到区域色调映射的元数据。但是既然 Adobe 也参与了这一项数据的开发,想必更新也已经在路上了。
尽管这么说,苹果并没有公布所有元数据。甚至想要区别一张 DNG 是原生 RAW 还是 ProRAW 都做不到。我们很确定这一问题会在将来解决。这一功能是圣诞节前两周发布的,所以说这个功能很显然要等到最后才会发布了。
为了「曲线救国」,我们开发了我们自己独一档的 DNG 分析程序,叫 Dingus。
有了 Dingus,我们就可以与 DNG 中那些还没有被苹果公布出来的较低级的属性进行交互。在元数据检查器中,我们用它来展现位深和 RAW 类型,但它在分析 ProRAW 的内在数据时也很好用。
ProRAW 对于任何人来说都算得上一次巨大进步。但对于新手摄影师来说,它的影响尤为巨大。
第一,ProRAW 只适用于「Pro」级别的 iPhone。尽管平时大家都这么说,但这次苹果真的没有在软件上做点改动就让你多掏钱。
之前,这些算法在较低的色深进行运算,因为它们所需要输出的结果就是低位深的 JPEG 图片。输出的图片的位深提高 1 位,所需的内存就要翻一番。苹果 Pro 级别的 iPhone 比常规款式的内存多得多,这是为 ProRAW 预备的。就这么简单。
一旦你上手了 RAW 摄影,你注意到的第一件事就是拍摄速度。传统的 RAW 摄影只需要约 50 毫秒就可以完成拍摄,但 ProRAW 需要两到三秒才可以完成处理。
系统相机隐藏这一点做得很好,很显然,它是将照片在后台放入队列依次处理的。但是我们在快速拍摄三张照片后仍然感受到了快门的停滞。
ProRAW 很长一段时间里都不会有连拍功能了。如果你想要记录体育赛事、想要拍不愿意站直的孩子;或者你是人像摄影师,需要一次拍几百张照片的话,这一遗憾可不太妙。你有可能会错失完美时机。
在 Halide 相机中,我们决定在发布时采取一个较为保守的策略,即每次只能拍摄一张照片。还有一周不到的时间 App Store 就要放假了,所以说如果这时候出现内存崩溃的事故可太糟糕了。但我们期待着加速开发。
我们发现的下一个问题就是锐度和消除噪点相关的问题。多幅照片合成总归不是完美的。如果你想要最锐利的图像,还想要自然噪点,还不想用屋顶来增强阴影的话,可能你还会觉得「原生」RAW 仍旧是更好的选择。
上方的图片是 Halide 相机拍摄的原生RAW。这种方式有时能拍摄到更多的细节,但会带来一些噪点。
实际测试时,我们经常发现在某些情况下使用拍摄速度快,但噪点多的普通 RAW 进行拍摄仍然能拍到更多的细节。
然后就是文件大小的问题。一张 12bit 的 ProRAW 文件有 25M 大,一张 12bit 的原生 RAW 只有约 12M。系统相机中「RAW」这个选项恐怕也是因为这一点才是默认关闭,并且在重新打开应用时恢复到关闭状态的。如果不这么做,一个随手拍的摄影师可能会忘记关它,然后一个下午就塞满了 iCloud 的存储。
最后我们要谈一谈兼容性。如果没有 Halide 相机的 ProRAW+ 设置的话,应用需要更新才能支持 DNG 格式的图片。把 ProRAW 格式的图片分享到 Instagram 就不行:
如果你明白 RAW 照片的原理,拍摄的环境也不那么需要算法的加持,你可能会发现还是原生 RAW 更值得这点存储空间。
我们激动地向您介绍 Halide 对于 ProRAW 的支持。我们并不仅仅是将其简单地整合进来,而是在经过大量的实际测试之后,我们知道要如何才能为其做最好的相机应用。
一些使用 Halide 2.1 在 iPhone 12 Pro Max 上拍摄的 ProRAW 照片
先是 ProRAW+。如果开启了这个功能,Halide 相机在拍摄 ProRAW 的同时还会拍一张 JPG 格式照片,这样你就可以在那些尚未支持 RAW 文件的应用中分享照片了。这样你就可以一直开着 ProRAW,也不会在别的应用中遇到什么问题。
就像我们说的那样,ProRAW 很棒,但它也不是没有代价的。
在我们测试对于 ProRAW 的支持之时,很显而易见的,我们需要让用户不用进入设置就可以更改拍照设定。来看看全新的格式选择菜单吧!只需长按 RAW 按钮,你就可以在 ProRAW 和 RAW 之间切换,可以调整你喜欢的位深,如果你想把处理过的版本同 DNG 一同保存,也可以在这里选择。
对于拍摄格式的快速调节可以让你根据你的需求在拍摄时迅速地作出决定。
我们同样会记住你对于 ProRAW 的设置。能力越大,iCloud 的消耗也就越大,所以请酌情使用。
我们还在观察 ProRAW 带来的各种变化,并计划在接下来的几个月持续改进功能,目前已经有很多变化将在 App Store 假期结束之后付诸行动。所以如果你打算拍摄 ProRAW 照片,2021 年对你来说应该会很激动人心。
然而,原生 RAW 并不会就此消失。
因为大部分用户没法拍摄 ProRAW,也因为有些场景下传统的单次拍摄的 RAW 发挥更好;当然也有一些照片算法依赖拜耳滤色镜层的信息。我们也计划推出一系列针对原生 RAW 的功能,足够我们忙一阵子的了——同样是为了给所有能运行 Halide 相机的 iPhone 带来超棒的功能。
真正的「Pro」RAW 也许是我们动手拍摄的时候
开发 Halide 相机,包括写这些文章的最棒的部分就是看大家能用这些东西做什么。如果你觉得你拍的 ProRAW 不错,请务必与我们分享,因为我们也很想共享你的喜悦。
如果说「一图胜千言」,那么对于已经读完了八张图的你致以祝贺。拿起手机去拍点什么吧!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。