RGB颜色模型
我们的眼睛通过三种可见光对视网膜的椎状细胞的刺激来感受颜色。这些光在波长为630nm(红)530nm(绿)和450(蓝)时的刺激达到高峰。通过对各刺激强度的比较,我们感受到光的颜色。这种视觉理论就是使用红、绿、蓝三种基色来显示彩色的基础,称之为RGB颜色模型。
以R、G、B三个参数为坐标,我们可以得到如下的一个单位立方体来描述RGB颜色模型。请看下图:
和XYZ模型一样,RGB是一个加色模型。光源的亮度、色度、纯度混合在R、G、B三个参数中。根据上一节中讲的光通亮的概念,光源的亮度(lightless)L就应该表示为:
L=0.3R+0.6G+0.1R
当然,这里的系数只是近似的,它具体的值依赖于显示器所采用的磷粉标准,以NTSC视频信号标准,则三个系数依次为:0.299、0.587、0.144
纯度S则为:S=MIN(R,G,B)/MAX(R,G,B)
因为大家平时用的最多最熟悉的就是RGB了,所以关于它我就说这么多了,以后我们还会再深入的研究它的。
YIQ颜色模型
同上面我们处理XYZ颜色模型一样,我们也可以将RGB颜色模型转化为亮度-色度空间。在NTSC视频信号中使用了YIQ颜色模型。这是一种由RGB转化来的亮度-色度模型,该模型中Y代表了光源的亮度,而色度则包含在I、Q两个参数里。在参数I中包含了橙-青的色彩信息,Q中包含了绿-品红的色彩信息。由于,人眼对于亮度的敏感程度大于对于色度的敏感程度,因此我们总是将最大的带宽分给Y信号,并且由于Y信号包含了亮度信号,所以在黑白电视机中就只使用Y信号。下面是RGB<-->YIQ的变换公式:
| Y | | 0.299 0.587 0.144 | | R |
| I | = | 0.596 -0.275 -0.321 | .| G |
| Q | | 0.212 -0.528 0.311 | | B |
| R | | 1.000 0.956 0.620 | | Y |
| G | = | 1.000 -0.272 -0.647 | .| I |
| B | | 1.000 -1.108 1.705 | | Q |
由于YIQ只用在NTSC视频信号中,对于我们的意义也不大,这里就不详细阐述了。
YUV颜色模型
还有一种值得一提的,和YIQ颜色模型类似的颜色模型就是YUV颜色模型了。在计算机里YUV颜色模型是仅次于RGB模型的使用最广泛的颜色模型。事实上YUV只是一类颜色模型(YCrCb)的总称,它是个很大的家族,具有相当多的存储格式,一般来说凡是基于YCrCb颜色模型的都可以称的上是YUV。YCrCb是一种和YIQ很类似的颜色模型,其中Y的定义是相同的,色度信息也是组合在Cr、Cb中,其中Cr代表了光源中的红色分量,Cr代表了光源中的蓝色分量,因此它的变换公式是这样的:
| Y | | 0.299 0.587 0.114 | | R | | 0 |
| Cb | = |-0.1687 -0.3313 0.5 | . | G | + | 0.5 |
| Cr | | 0.5 -0.4187 -0.0813 | | B | | 0.5 |
R = Y + 1.402 * (Cr-0.5)
G = Y - 0.34414 * (Cb-0.5) - 0.71414 * (Cr-0.5)
B = Y + 1.772 * (Cb-0.5)
后面加上0.5使得Cr Cb总为正数,便于我们处理。
如前所述,人眼对于亮度的敏感程度大于对于色度的敏感程度,所以完全可以让相临的像素使用同一个色度值,而人眼的感觉不会起太大的变化,通过损失色度信息来达到节省存储空间的目的,着就是YUV的基本思想。基于此,我们可以定义出许多YUV的格式,例如相临两个像素使用一个色度值的YUYV,JPEG/MPEG中相临四个像素使用一个色度值的YUV12等等。