使用 iPhone 的用户,不知道你们有没有注意到一个小细节。当你在相册里浏览照片时,如果先切换到多任务视窗,再退回到桌面,然后马上调出多任务视窗,你会发现原本看起来略显平淡的颜色变得更鲜艳了。但你一点击进去,照片又立马恢复到原本的色彩。例如下面这张图,在上述操作中在多任务视图下能很明显地看到整个红色饱和度更高了。
这其实是手机操作系统中色彩管理失效的问题,也就是系统没有正确读取图片的颜色配置文件,所以无法将屏幕的显示色彩适配到图片本身的色彩空间,只能默认图片的颜色对应的是屏幕本身的色域,从而让图片看起来要比正常情况下更鲜艳。
(资料图)
要具体解释这一问题,我们首先要理解内容对应的色彩空间和屏幕对应的色彩空间之间的区别。
我们都知道,我们在显示器中看到的内容是数百万个像素组成的,而每个像素的颜色都对应着 RGB 三个颜色值。以最普遍的 8 bit 颜色值为例,(255,0,0)就是最饱和的红色,(0,255,0)是最饱和的绿色,(0,0,255)是最饱和的蓝色,(255,255,255)就是纯白色了。但是这里就有一个问题,所谓最饱和的、最纯的颜色究竟看起来是什么样的?
以我们人眼为例,CIE 国际照明委员会在 1931 年发布了 CIE 1931 色彩空间,也就是我们经常看到的这张马蹄形的色度图。它定义了理论上我们人眼所能看到的所有颜色,但是问题是直到今天,我们还没能生产出能够完整显示这上面所有颜色的显示器,并且我们所使用的照相机也一样有它自己所能记录的最大颜色范围,所以我们并不能直接将数字世界的颜色直接对标 CIE 1931 色彩空间。
那为了对最饱和的、最纯的颜色应该是什么样的有一个共同的答案,我们需要定义一个颜色范围更小的,被各行各业所共同遵守的色彩空间,也就是今天互联网上 99% 的内容所遵循的 sRGB 色彩空间。这是惠普与微软于 1996 年一起开发的用于显示器、打印机以及互联网的一种标准 RGB 色彩空间。它本身是基于 ITU BT.709 标准,使用同样的 RGB 三原色,也就是定义了这个色彩空间下最饱和的 RGB 颜色。三角形范围内的就是 sRGB 色彩空间所能覆盖的颜色。用过相机的朋友可能都知道,在图片设置里有一个 sRGB 和 AdobeRGB 的选项,意思就是相机记录下的原始格式(RAW)的颜色会转换到哪个色彩空间,超出该色彩空间的颜色就会被缩限。
在色度图上我们可以看到,sRGB 的色域范围并不大,仅占 CIE 1931 的一小部分,这很大程度上是受限于当时民用显示器所能显示颜色的水平。归根结底,数字内容是要在显示器上显示的,不同的显示器基于不同的发光材料,所能显示的颜色范围也不一样。理想状态下,我们希望显示器的色彩空间和内容的色彩空间刚好一一对应,也就是内容的(128,128,128)刚好就是显示器所能显示的(128,128,128),但现实是内容的(128,128,128)对应的往往是显示器的(88,100,150)(数值仅为示例)。所以在 10 年之前,我们所遇到的问题是手机屏幕无法完整显示内容的颜色,使得照片看起来更寡淡。10 年之后的问题是手机屏幕超出了内容本身的颜色,使得照片看起来更艳丽。
如果是屏幕的色彩空间小于内容的色彩空间,那就没辙了,因为我们无法让屏幕显示它显示不了的颜色。那如果是屏幕的色彩空间更大了,我们就可以通过色彩管理,将内容和屏幕的色彩空间进行转换。例如 sRGB 内容下的(255,0,0)转换成屏幕色彩空间的(200,0,0),让屏幕正确显示内容的颜色。不过早期使用 AMOLED 屏幕的三星和部分国产手机,因为屏幕本身的色彩空间大于内容本身的 sRGB 色彩空间,同时又缺少色彩管理,就不可避免地出现色彩过饱和的问题。
那么是否我们只需专注于让显示器恰好能够 sRGB 色域就可以规避色彩管理的问题呢?理论上是的,但我们也说了,sRGB 是 1996 年制定的标准,它的前身 BT.709 更是 80 年代的产物,它们所包含的颜色其实是偏少的。所以我们其实并没有放弃对包含多更色彩的广色域的追求,例如电影业,在 2005 年就由 DCI 组织推出了 DCI-P3 色域,成为了今天电影的色彩标准。所以说,我们需要广色域的内容,同时也需要色彩管理来兼容旧时代的内容。
在安卓端面对色彩管理束手无策之时,Apple 已经提前做好了准备,那就是全局色彩管理。2015 年 10 月 13 日,Apple 发布了新一代的 iMac,其 Retina 显示屏具备更广的全新 P3 色域,是 Apple 首款具备 P3 广色域的设备。Apple 宣称新的 P3 色域相比原本的 sRGB,能多显示 25% 的颜色。而次年发布的 iPhone 7 应该是第一批兼具广色域与色彩管理的设备。
Apple 的广色域和色彩管理有两个特点,一是 Apple 的 P3 并非 DCI-P3,而是其所谓的 Display P3。它使用了 DCI-P3 的三基色,拥有了相同的色域,但是其 gamma 值和白点不同,它的 gamma 值与白点和 sRGB 是相同的。Apple 自己的解释是「我们为什么会这么做呢?是因为 DCI P3 的白点是向绿色倾斜的,选择这么做是为了给昏暗的影院场景提供最大的亮度,我们发现把白点设为 6500 的话会得到与 sRGB 标准兼容的超集」。
二是 Apple 的色彩管理是自动生效的,在手机上并没有一个手动的切换开关。而安卓手机上,在屏幕设置中一般都有一个颜色模式,可以手动切换不同的色彩空间,进行一个强制性的色彩映射,早期安卓的色彩管理就依赖于用户的手动切换。当然要做好色彩管理是非常不容易的,这需要软件、操作系统、显示器之间的通力合作。Apple 之所以能做得比 Windows 和 Android 好,一方面得益于它自 90 年代开始就加入了 ICC 国际色彩联盟制定色彩管理的标准,另一方面也是它封闭的生态能够迫使供应链和软件开发者遵循一致的色彩规范。而 Windows 和 Android 在这方面显然复杂得多,也使得它们要面对更复杂的兼容性问题。
另外还有一个易于被我们所忽视的点是,在将显示规格提升到 P3 的同时,Apple 也试图打造更多基于 P3 的内容。也就是从 iPhone 7 开始,iPhone 拍摄的照片全部都是基于 Display P3 的色彩空间,能够记录比 sRGB 更多 25% 的颜色。不过这在当时也带来了一个问题,就是你用 iPhone 拍摄的照片,发布到社交平台后会发现它的颜色变淡了,就是因为其他平台默认还是把它当作一张 sRGB 的照片,把 P3 的(255,0,0)当作了 sRGB 的(255,0,0),实际上就相当于原本 P3 的(200,0,0)。
回到我们开头的那个例子,sRGB 下的照片在多任务视图里被误当作了 P3,所以它的红色过饱和了。可见即使是以色彩管理优秀著称的 iPhone,在实际使用中也会出现一些 Bug。并且色彩管理还存在很多更复杂的问题,尤其是在跨平台使用的时候。怎么说呢,这就是新旧标准更替阶段所必然经历的阵痛,我们基于旧标准建立的生态并不会在新标准出现的时候,一夜之间就改头换面,而是会在强大的惯性驱动下将新标准拒之门外。
但是变化往往是在不知不觉间发生的,今天除了 Apple 外,国产厂商们也愈发重视色彩管理,大家在屏幕设置里也都有了对应的自适应色彩管理模式。在手机上我们确实比几年前能更好地执行色彩管理,但是距离一个更好的广色域时代显然还有很长的距离。
关键词: