一.颜色空间及分类
(一)颜色空间
颜色常用颜色空间来表示。颜色空间是用一种数学方法形象化表示颜色,人们用它来指定和产生颜色。例如,对于人来说,我们可以通过色调、饱和度和明度来定义颜色;对于显示设备来说,人们使用红、绿和蓝磷光体的发光量来描述颜色;对于打印或者印刷设备来说,人们使用青色、品红色、黄色和黑色的反射和吸收来产生指定的颜色。
颜色空间通常用3维模型表示,空间中的颜色能够看到或者使用颜色模型产生。颜色空间中的颜色通常用代表3个参数的3维坐标来描述,其颜色要取决于所使用的坐标。
为说明颜色空间的概念,图06-02-1表示使用色调、饱和度和明度构造的一种颜色空间,称为HSB(hue, saturation and brightness)颜色空间。色调用角度来标定,通常红色标为0o,青色标为180o;在径向方向上饱和度的深浅用离开中心线的距离表示;明度用垂直轴表示。
图06-02-1色调-饱和度-明度颜色空间
颜色空间有设备相关和设备无关之分。设备相关的颜色空间是指颜色空间指定生成的颜色与生成颜色的设备有关。例如,RGB颜色空间是与显示系统相关的颜色空间,计算机显示器使用RGB来显示颜色,用像素值(例如,R=250,G=123,B=23)生成的颜色将随显示器的亮度和对比度的改变而改变。设备无关的颜色空间是指颜色空间指定生成的颜色与生成颜色的设备无关,例如,CIE L*a*b*颜色空间就是设备无关的颜色空间,它建筑在HSV(hue, saturation and value)颜色空间的基础上,用该空间指定的颜色无论在什么设备上生成的颜色都相同。
现在,人们已经构造了各种各样的颜色空间,以适应不同的应用场合。
在一个典型的多媒体计算机系统中,常常涉及到用几种不同的颜色空间表示图形和图像的颜色,以对应于不同的场合和应用。因此,数字图像的生成、存贮、处理及显示时对应不同的颜色空间需要作不同的处理和转换。
(二)颜色空间分类
从颜色感知的角度来分类,颜色空间可考虑分成如下三类:
Ø 混合(mixture)型颜色空间:按三种基色的比例合成颜色。例如,RGB,CMY(K)和XYZ等颜色空间就属于这种类型。
Ø 非线性亮度/色度(luma/chroma)型颜色空间:用一个分量表示非色彩的感知,用两个独立的分量表示色彩的感知。当需要黑白图像时,这样的系统非常方便。例如,L*a*b, L*u*v,YUV 和YIQ 就属于这种类型。
Ø 强度/饱和度/色调(intensity/saturation/hue)型颜色空间:用饱和度和色度描述色彩的感知,可使颜色的解释更直观,而且对消除光亮度的影响很有用。例如,HSI, HSL, HSV 和LCH 等。
从技术上角度区分,颜色空间可考虑分成如下三类:
Ø RGB 型颜色空间/计算机图形颜色空间:这类模型主要用于电视机和计算机的颜色显示系统。例如,RGB,HSI, HSL 和HSV 等颜色空间。在显示技术和印刷技术中,颜色空间经常被称为颜色模型(color mode)。“颜色空间”侧重于颜色的表示,而“颜色模型”侧重于颜色的生成。
Ø XYZ 型颜色空间/CIE颜色空间:这类颜色空间是由国际照明委员会定义的颜色空间,通常作为国际性的颜色空间标准,用作颜色的基本度量方法。国际照明委员会定义的颜色空间是与设备无关的颜色表示法,在科学计算中得到广泛应用。对不能直接相互转换的两个颜色空间,可利用这类颜色空间作为过渡性的颜色空间,例如,CIE 1931 XYZ,L*a*b,L*u*v和LCH等颜色空间就可作为过渡性的转换空间。
Ø YUV 型颜色空间/电视系统颜色空间:由广播电视需求的推动而开发的颜色空间,主要目的是通过压缩色度信息以有效地播送彩色电视图像。例如,YUV,YIQ,ITU-R BT.601 Y'CbCr, ITU-R BT.709 Y'CbCr和SMPTE-240M Y'PbPr等颜色空间。
从分量贡献上区分,颜色空间可考虑分成如下三类:
加法模型:如RGB模型,用不同强度的红、绿和蓝相加来产生各种颜色;CIE色度模型,用x和y相加来产生各种颜色.
减法模型:如CMY(K),YUV模型。
-
混合模型
二.几种典型的颜色空间
(一)CIE色度模型
国际照明委员会(CIE,Commission Internationale de L'Eclairage / InternationalCommission on Illumination)的色度模型是最早使用的模型之一。它是三维模型,其中,x和y两维定义颜色,第3维定义亮度。
CIE 在1976年规定了两种颜色空间。一种是用于自照明的颜色空间,叫做CIE LUV(图06-02-2)。
图06-02-2 CIE 1976 Lu’v’色度图
另一种用于非自照明的颜色空间,叫做CIE 1976 L*a*b*,或者叫CIE LAB。CIE LAB 系统使用的坐标叫做对色坐标(opponent color coordinate),如图06-02-3所示。CIELAB 使用b*, a *和 L*坐标轴定义CIE颜色空间。其中,L*值代表光亮度,其值从0(黑色)~100(白色)。b*和a*代表色度坐标,其中a*代表红-绿轴,b*代表黄-蓝轴,它们的值从0到10。a*= b*=0表示无色,因此L*就代表从黑到白的比例系数。使用对色坐标(opponet color coordinate)的想法来自这样的概念:颜色不能同时是红和绿,或者同时是黄和蓝,但颜色可以被认为是红和黄、红和蓝、绿和黄以及绿和蓝的组合。
图06-02-3 CIE LAB颜色空间
CIE XYZ 是国际照明委员会在1931年开发并在1964年修订的CIE 颜色系统(CIE Color System),该系统是其他颜色系统的基础。它使用相应于红、绿和蓝三种颜色作为三种基色,而所有其他颜色都从这三种颜色中导出。通过相加混色或者相减混色,任何色调都可以使用不同量的基色产生。CIE 1931 色度图(CIE 1931 Chromaticity Diagram),如图06-02-4(a)所示,图(b)是它的轮廓图。图(a)中的A点在色度图上的坐标是x=0.4832,y=0.3045,它的颜色与红苹果的颜色相匹配。
图06-02-4 CIE 1931
图06-02-4 CIE 1931色度图是用标称值表示的CIE色度图,x 表示红色分量,y表示绿色分量。图中的E 点代表白光,它的坐标为(0.33,0.33);环绕在颜色空间边沿的颜色是光谱色,边界代表光谱色的最大饱和度,边界上的数字表示光谱色的波长,其轮廓包含所有的感知色调。所有单色光都位于舌形曲线上,这条曲线就是单色轨迹,曲线旁标注的数字是单色(或称光谱色)光的波长值;自然界中各种实际颜色都位于这条闭合曲线内;RGB系统中选用的物理三基色在色度图的舌形曲线上。
(二) RGB颜色空间
计算机颜色显示器显示颜色的原理与彩色电视机一样,都是采用R、G、B相加混色的原理,通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生颜色的。这种颜色的表示方法称为RGB颜色空间表示。在多媒体计算机技术中,用得最多的是RGB颜色空间表示(图06-01-9)。
根据三基色原理,用基色光单位来表示光的量,则在RGB颜色空间,任意色光F都可以用R、G、B三色不同分量的相加混合而成:
F=r [ R ] + g [ G ] + b [ B ]
RGB颜色空间还可以用一个三维的立方体来描述(图06-02-5)。
图06-02-5 RGB颜色空间
我们可知自然界中任何一种色光都可由R、G、B三基色按不同的比例相加混合而成,当三基色分量都为0(最弱)时混合为黑色光;当三基色分量都为k(最强)时混合为白色光。任一颜色F是这个立方体坐标中的一点,调整三色系数r、g、b中的任一系数都会改变F的坐标值,也即改变了F的色值。RGB颜色空间采用物理三基色表示,因而物理意义很清楚,适合彩色显像管工作。然而这一*并不适应人的视觉特点。因而,产生了其他不同的颜色空间表示法。
(三)HSI颜色空间
HSI(Hue,Saturation and Intensity)颜色空间是从人的视觉系统出发,用色调(Hue)、色饱和度(Saturation或Chroma)和亮度(Intensity或Brightness)来描述颜色。HSI颜色空间可以用一个圆锥空间模型来描述(图06-02-6)。
图06-02-6HSI颜色圆锥空间模型
用这种描述HIS颜色空间的圆锥模型相当复杂,但确能把色调、亮度和色饱和度的变化情形表现得很清楚。其中:
(A)HSI圆锥空间模型
(B)线条示意图:圆锥上亮度、色度和饱和度的关系。
(C)纵轴表示亮度:亮度值是沿着圆锥的轴线度量的,沿着圆锥轴线上的点表示完全不饱和的颜色,按照不同的灰度等级,最亮点为纯白色、最暗点为纯黑色。
(D)圆锥纵切面:描述了同一色调的不同亮度和饱和度关系。
(E)圆锥横切面:色调H为绕着圆锥截面度量的色环,圆周上的颜色为完全饱和的纯色,色饱和度为穿过中心的半径横轴。
通常把色调和饱和度通称为色度,用来表示颜色的类别与深浅程度。由于人的视觉对亮度的敏感程度远强于对颜色浓淡的敏感程度,为了便于颜色处理和识别,人的视觉系统经常采用HSI颜色空间,它比RGB颜色空间更符合人的视觉特性。在图像处理和计算机视觉中大量算法都可在HSI颜色空间中方便地使用,它们可以分开处理而且是相互独立的。因此,在HSI颜色空间可以大大简化图像分析和处理的工作量。
HSI颜色空间和RGB颜色空间只是同一物理量的不同表示法,因而它们之间存在着转换关系,如公式所示:
其中
(四)YUV(Lab)颜色空间
在现代彩色电视系统中,通常采用三管彩色摄像机或彩色CCD(电耦合器件)摄像机,它把得到的彩色图像信号,经分色、分别放大校正得到RGB,再经过矩阵变换电路得到亮度信号Y和两个色差信号R-Y、B-Y,最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这就是我们常用的YUV颜色空间。
采用YUV颜色空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有Y信号分量而没有U、V分量,那么这样表示的图就是黑白灰度图。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色信号。
根据美国国家电视制式委员会NTSC制式的标准,当白光的亮度用Y来表示时,它和红、绿、蓝三色光的关系可用如下式的方程描述:
Y=0.3 R + 0.59 G + 0.11B
这就是常用的亮度公式。色差U、V是由B-Y、R-Y按不同比例压缩而成的。YUV颜色空间与RGB颜色空间的转换关系如下:
如果要由YUV空间转化成RGB空间,只要进行相应的逆运算即可。
与YUV颜色空间类似的还有Lab颜色空间,它也是用亮度和色差来描述颜色分量,其中L为亮度、a和b分别为各色差分量。
(五)CMY颜色空间
彩色印刷或彩色打印的纸张是不能发射光线的,因而印刷机或彩色打印机就只能使用一些能够吸收特定的光波而反射其他光波的油墨或颜料。油墨或颜料的3基色是青(Cyan)、品红(Magenta)和黄(Yellow),简称为CMY。青色对应蓝绿色,品红对应紫红色。理论上说,任何一种由颜料表现的颜色都可以用这三种基色按不同的比例混合而成,这种颜色表示方法称CMY颜色空间表示法。彩色打印机和彩色印刷系统都采用CMY颜色空间。
用CMY模型产生的颜色被称为相减色,是因为它减少了为视觉系统识别颜色所需要的反射光。在CMY相减混色中,三基色等量相减时得到黑色;等量黄色(Y)和品红(M)相减而青色(C)为0时,得到红色(R);等量青色(C)和品红(M)相减而黄色(Y)为0时,得到蓝色(B);等量黄色(Y)和青色(C)相减而品红(M)为0时,得到绿色(G)。这些三基色相减结果如图06-02-7所示。
图06-02-7三基色相减
CMY空间正好与RGB空间互补,也即用白色减去RGB空间中的某一颜色值就等于同样颜色在CMY空间中的值。RGB空间与CMY空间的互补关系如表06-02-1所示。
表06-02-1 RGB空间与CMY空间的互补关系
RGB相加混色
CMY相减混色
对应颜色
0 0 0
1 1 1
0 0 1
1 1 0
0 1 0
1 0 1
0 1 1
1 0 0
1 0 0
0 1 1
1 0 1
0 1 0
1 1 0
0 0 1
1 1 1
0 0 0
根据这个原理,很容易把RGB空间转换成CMY空间。由于彩色墨水和颜料的化学特性,用等量的CMY三基色得到的黑色不是真正的黑色,因此在印刷术中常加一种真正的黑色(black ink),所以CMY又写成CMYK。
实际应用中,一幅图像在计算机中用RGB空间显示;用RGB或SHI空间编辑处理;打印输出时要转换成CMY空间;如果要印刷,则要转换成CMYK四幅印刷分色图,用于套印彩色印刷品。
(六)YIQ模型
YIQ模型与YUV模型非常类似,是在彩色电视制式中使用的另一种重要的颜色模型,NTSC彩色电视制式中使用。这里的Y表示亮度,I、Q是两个彩色分量。YIQ和 RGB的对应关系用下面的方程式表示:
Y = 0.299R + 0.587G + 0.114B
I = 0.596R - 0.275G - 0.321B
Q = 0.212R - 0.523G + 0.311B
或者写成矩阵的形式,
(七)YCrCb模型
YCrCb模型适用于计算机用的显示器。它也是使用Y、Cr和Cb来分别表示一种亮度分量信号和两种色度分量信号。YCrCb模型与RGB空间的转换关系如下:
Y=0.299R+0.578G +0.114B
Cr=( 0.500R-0.4187G -0.0813B )+128
Cb=( - 0.1687R -0.3313G+0.500B )+128
或者写成矩阵的形式,
RGB与YCrCb之间的变换关系可写成如下的形式,