色彩空间与颜色管理
作者: 魏宁
摘要:本文根据色彩的光学原理、生物学反应特性、在显示设备上的显示和纸介质上的打印输出方式,引入色彩空间的概念,通俗地解释了色彩在计算机显示器上的应用、设备相关性、在操作系统中的处理方式,以及图形图像处理中基于色彩空间和颜色模式的原理。
关键词:色彩空间;图形图像处理;颜色管理
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2024)21-0089-06
彩色显示器的出现,从图像显示、图形处理、界面设计、打印输出等各个方面和领域,影响着计算类终端设备的使用体验。因此,在操作系统中,颜色管理也成了一项必须具备的功能。
色彩的显示在原理上基本遵循三原色的理论,但在显示、调节、输出等各个环节,可能会通过不同的控制参数和变量来进行,从而出现各种不同的色彩空间,以更精细地适应不同的场合。
下面,笔者从色彩感受的生物学原理开始,一起探索显示终端上色彩的空间范围和系统中对颜色的管理。
色彩的生物学原理
“三原色”的色彩显示理论,是基于光学实验中光的色散结果得出的科学结论,但是显示的结果和人眼看到的结果未必一致。同一颜色,动物与人看到的结果也不一定相同,因为有些动物是色盲,或者感光细胞不同。人类在早期也是红绿色盲,后来进化到可以分辨自然界中丰富的色彩。但是,人类眼睛视网膜所能感受到的色彩与显示器中按照RGB三原色所呈现的效果是否能够吻合呢?红绿蓝这三种原色的表达是否符合人眼的生物学特性?
根据现有的研究结果,大部分人视网膜上有三种感光细胞(视锥细胞),称为L型、M型、S型细胞,分别对不同波长的光线敏感。三种视锥细胞最敏感的波长分别是橙红色(长波)、绿色(中波)、蓝色(短波),这三种视锥细胞的归一化感光曲线如下页图1所示。
三种视锥细胞的敏感波长,正好分别位于红绿蓝三原色的波长范围内,其中L型视锥细胞与M型视锥细胞的感光曲线差别很小,但已经有了明显的区分度,从而使人类告别了红绿色盲,看到更加多彩的世界。
人眼看到的颜色,是光线进入眼睛,刺激视网膜上的视锥细胞(分辨颜色)和视杆细胞(分辨明暗)产生信号,大脑在接收信号后形成的一种感觉。显示器上的三原色,在经过混合之后,折射到视网膜,经过三种视锥细胞转换成电信号,通过神经系统传递给大脑,大脑再根据这三种电信号的强弱,解读成不同的颜色,这就是色彩经过人眼处理的生物学原理。
根据格拉斯曼定律(Grassmann's Law),色光的混合符合加法混色原理,并且是线性相加的。如果选RGB三种单色光作为基色,先用强度为(r1,g1,b1)的RGB混合成颜色C1,用强度为(r2,g2,b2)的RGB混合成颜色C2,再把C1和C2混合得到颜色C3,效果与(r1+r2,g1+gr2,b1+b2)的RGB直接混合出C3是一样的,视锥细胞对这个混合颜色的反应也将是前两个反应的线性叠加。通过实验,RGB三原色混合出来的颜色和连续光谱上对应的颜色在人眼的感觉中是一样的。
色匹配函数
在直觉上,颜色给人眼带来的感受包括亮度(Luminance)和色度(Chromaticity),其中色度又可以进一步用色调(Hue)和饱和度(Saturation)来描述,那么,在计算机中最直观的调色方式就是通过色调(H)、饱和度(S)和亮度(L)来表示,即HSL颜色模式,如MSOffice软件HSL选色器和Cinema 4D的HSV选色器。以红色色调为例,当HSL中饱和度(鲜艳程度)S最高时,亮度L从黑到红再到白,HSV中V(Value)的范围只有L的一半,从黑到红。
在物理学上用光谱来描述光,建立光的“波长-强度”图谱。光谱强度对应亮度,波长对应色调(短波为蓝色,长波为红色),形状对应色度,最终光谱形状由各种波长的单色光强度比例决定,颜色色度由各种色相的亮度比例决定(色度与亮度相对分离),如图2所示。
这样比较一下,人眼直觉的亮度和色度如果直接用于计算机,就无法满足加法运算规则,如“色调为0的红色+色调为90的绿色”,显然不等于色调为90的绿色。这样不如RGB三原色灵活地进行加法混色运算方便,但是每个波长的光需要用多少RGB的值来表示呢?
为解决这个问题,David Wright和John Guild在1928年和1931年各自独立地进行了一些实验,通过三种颜色的光源进行匹配,得到了人眼对不同颜色光的色匹配函数(Color Matching Function),其函数曲线如图3所示。
但是在图3中,出现了负值。例如,波长500nm的位置,红色是负数,这实际上是不可能的,当红色是正数时,红绿蓝怎么配合都拟合不出来这个波长的颜色。但是如果把这部分红色的负值理解为反方向,也就是把相应量的红色加到500nm波长的颜色上,那么混合的结果正好等于相应绿色和蓝色混合的结果。负值的意义正在这里。
负值的出现,在使用和计算上都很不方便,为此需要对这个匹配函数进行线性变换,映入到一个所有分量都是非负值的空间中,如下页图4所示。这样就完美实现了色彩空间变量的匹配。
色域与色彩空间
变换后的色彩空间就是CIE XYZ色彩空间。CIE是国际照明委员会(Commission Internationale de l'éclairage)的法语简称。
“色彩空间”(Color Space)又称“色域”,是指色彩学中通过色彩模型以空间坐标来定义的色彩范围。我们经常用到的色彩空间主要有RGB、CMYK、Lab等。
色彩是人的眼睛对不同频率的光线的不同感受,是对客观存在的主观感知,因而有认识差异。人类对色彩的认识经历了极为漫长的过程,直到近代才逐步完善起来,但对色彩的准确表述仍较为困难,造成许多概念不好理解。我们可以从线性空间的角度来理解色彩空间。
以CIE XYZ色彩空间为例,它是从CIE 1931 RGB色彩空间变换而来,变换的原因前面已经述及。由于RGB色匹配函数中有负数部分,色度图的坐标相应也出现负数,这样不仅是反直觉的,而且不方便计算,需要做进一步的数学变换,使得所有坐标均为非负。实现起来较简单的方法就是替换原来的红(700nm)、绿(546.1nm)、蓝(435.8nm)三原色,用虚拟的三个颜色XYZ作为空间的基准,CIE经过测试和计算确定了两个色彩空间之间的转化矩阵,如图5所示。
在把RGB色彩空间上的每一点都进行线性变换之后,所有负值都拉成了正值,色度图也从扁平的马蹄形拉成了常见的三角马蹄形。
虚拟的XYZ三原色在色坐标中落在可见光范围之外,但混合之后却可以表达出人眼所有可见的颜色,并保证每个分量都是正值。而且用Y来控制亮度,可以在光度学与色度学之间建立关联,这是一个很方便的线性空间,与具体设备无关,这个性质使CIE XYZ色彩空间成为各种色彩空间之间转换的中继站。目前,所有的色彩空间几乎都是CIE XYZ的线性变换描述,常用的色彩空间有如下几种。
1.RGB色彩空间
RGB是通过红绿蓝三原色来描述颜色的色彩空间,是图像处理中最基本、最常用的面向硬件的色彩空间。RGB色彩空间的分量与亮度密切相关,只要亮度改变,3个分量都会随之相应改变。所以,RGB色彩空间适合于显示系统,却并不适合于图像处理。
RGB色彩空间都可以用三个坐标表示,但是不同的RGB色彩空间如sRGB、Apple RGB等空间里相同位置坐标代表的颜色是不同的,色域也不一样(如图6)。
sRGB(standard RGB)是由微软和惠普于1997年联合制订的色彩空间标准,为了适应更多的设备,它的色域范围非常小,是常用色彩空间中最小的,甚至不能完全覆盖各种CMYK色彩空间的色域,不建议专业的印前用户使用。目前,sRGB是网络和多数显示设备的标配,能够应对大多数场景,色域虽然相对较窄,但在多数设备上都能提供一致的颜色表现。从网络获取的.png和.jpg图片一般都是sRGB模式,在Photoshop和Illustrator中导出图片时默认也是sRGB模式。消费级显示屏(包括手机屏幕),大多也都只支持sRGB的色彩范围,如果是做图像处理的显示器或者笔记本,会对显示器的色域有更高的要求,但同时也要看颜色的准确度ΔE。
Adobe RGB是由Adobe于1998年开发的色彩空间标准,目的是尽可能在CMYK彩色印刷中利用计算机显示器等设备的RGB颜色模式上囊括更多的颜色。Adobe RGB的色域比sRGB大很多,并且能完全覆盖sRGB,也几乎能完全覆盖CMYK色彩空间。
ProPhoto RGB是柯达公司制订的色彩空间标准,常用于高端相机,也是Adobe Lightroom的默认色彩空间。由于ProPhoto RGB的三原色定义是在人眼识别范围外的颜色,所以它的色域非常大,覆盖了90%的CIE Lab的色域,甚至部分超出了CIE Lab,这也为摄影和后期提供了相当大的处理空间。
RGB色彩空间有两个关键参数,即白色和三个基底的颜色。确定好这两个参数,从CIE XYZ空间到设备的RGB空间的转换就确定了。例如,sRGB空间和Adobe RGB空间的区别就在于这两个关键参数的定义不同。
RGB色彩空间是与设备相关的,为了让不同设备的RGB给人眼的感觉一样,就需要校准,进行设备无关的色彩空间(如CIE XYZ)到设备相关的色彩空间的转换。因为这是个线性变换,所以用一个旋转矩阵加上一个白色基准点就可以确定所有变量,最后再进行伽玛修正。
2.CMYK色彩空间
CMYK色彩空间即印刷四分色色彩空间,是一种依靠反光的色彩模式,在彩色印刷时采用。印刷三原色为青(Cyan)、品红(Magenta)、黄(Yellow),颜料混合是减色模式,混合后为深灰色,并不能产生黑色,所以还需要加上黑色(blacK),这就是CMYK颜色模式。CMYK的色域与sRGB很接近但并不重合,如果图片用途是大规模印刷出版,那工作空间应该选择CMYK模式。如果既要印刷又要在网络呈现,那应该选择使用两者重叠的颜色,否则会在色彩转化时丢失颜色,出现屏幕显示不正常或者打印输出不正常。
CMYK色彩空间也有很多种。例如,美国印刷业制订的US web Coated(SWOP),是美国地区的Photoshop默认的CMYK色彩空间;日本印刷业协会制订的Japan Color 2001 Coated,是亚太地区Photoshop默认的CMYK色彩空间。此外,还有Japan Color 2001 Uncoated、Japan Color 2002 Newspaper等色彩空间适用于不同的印刷纸张和工艺。
3.Lab色彩空间
Lab色彩空间一般是指CIE Lab模型,它由三个要素组成,分别是亮度(L),以及两个颜色通道a和b。当亮度从低到高时,a的颜色是深绿色→灰色→亮粉红色,b的颜色是亮蓝色→灰色→黄色。因此,这种颜色混合后将产生具有明亮效果的色彩。
Lab模式所定义的色彩最多,并且与光线和设备无关,处理速度比CMYK模式快很多,与RGB模式同样快,在转换成CMYK模式时色彩没有丢失或替换,可以放心大胆地在图像编辑中使用。当然,最好是用Lab模式编辑图像,再转换为CMYK模式打印输出。
4.HSL、HSV和HSB色彩空间
HSL和HSV都是将RGB色彩模型中的点在圆柱坐标系中标出的表示法。这两种表示法比RGB基于直角坐标系的几何结构更加直观,在上文色匹配函数的内容中已经描述过。
HSB色彩模式是基于人眼的一种颜色模式,是普及型设计软件中常见的色彩模式,其中H代表色相,S代表饱和度,B代表亮度。Photoshop中的拾色器和“色相饱和度”命令用的就是HSB模型。