> ## Content Index
> Fetch the complete content index at: https://yinguobing.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 色域的概念
- URL: https://yinguobing.com/blog/color-gamut/
- Published: 2015-02-05T22:07:40.000Z
- Updated: 2024-04-02T08:06:03.000Z
- Description: 显示行业专有名词色域，居然与你的日常生活息息相关。
- Author: 尹国冰
- Tags: 显示技术

想弄清楚色域的概念，必须先搞明白一些基本理论。

## 同色异谱现象

> 人眼看上去相同的颜色，可以由不同颜色的光混合来实现。

不同波长光的颜色是不同的，人的眼睛大概能感受到光波长范围为380nm到760nm。太阳光下你看到物体的颜色是由这些不同波长的光叠加产生，其中有的光颜色亮，有的光颜色暗。但是同样的颜色，例如你中午吃掉的那个橙子的颜色与你在手机上看到的同一只橙子的照片都是橙色，在你看来，**它们没有两样**——而实际上，你的手机根本无法发出对应橙色波长的光，你看到的橙色其实是你的视网膜同时接收到红绿蓝三种颜色经过精细的混合之后的“假橙色”。对于人类，同样的颜色感受其实是可以由不同的光谱刺激得到的，这是目前显示行业的基础。

目前显示行业最常用的颜色还原光谱利用了最为简单的组合：红绿蓝（RGB）三原色。三原色理论可以用一句话概括的说明：

> **任何一种你能看到的颜色都可以通过红绿蓝这三种不同颜色的光按比例混合而成**

这种说法不太准确，但是有助于你理解下边的内容。背后的基础则包括人眼视网膜不同感光细胞对波长的选择性反应。证明这一观点的实验则是色匹配实验。

## 色匹配实验

> 人类色觉的分解可以用实验的方法获得

拿一张白纸，中间隔开一分两半。左边用真正的橙色光照亮，右边用红、绿、蓝三种颜色的光混合照射。假如你不厌其烦的调整右边三种光的亮度比例，终于在某个比例的时候左右的颜色看起来是相同的，恭喜你，你获得了左边橙色对应的三原色值，完成了色匹配实验。

![color_matching](https://yinguobing.com/blog/content/images/2015/02/color_matching.png)

有了三原色理论的支持，理论上我们不需要发出可见光光谱上的每一个光波长，只要发出红绿蓝三种颜色的光然后在改变他们的比例就可以让人误以为他看到了某种特定的颜色，也就是对于颜色我们只需要关注这三种基本颜色的比例就好，并且规定当红绿蓝三色比例相加永远等于1。接下来的问题就很简单了，各种不同的颜色对应的红绿蓝比例值都是多少？

## 色域图

> 用数学的方法来描述颜色的范围

首先用来测试的颜色当然是最基本的颜色：可见光单一波长所对应的颜色。由于人为的规定了RGB三色等比例相加等于1的时候为白色，我们就可以用两个颜色R和G的比例值作为平面坐标系下的两个方向轴，然后任意三个不同RGB比例都可以绘制在一个平面直角坐标系中。以R比例作为横轴，G的比例作为纵轴，采用色匹配试验的方法去获取380-760nm的单色波长对应的三色比例值如下图所示：

![cie1931-rg](http://upload.wikimedia.org/wikipedia/commons/thumb/1/16/CIE1931_rgxy.png/480px-CIE1931_rgxy.png)

维基百科上的CIE rg坐标系

这张图有一个问题：颜色的坐标出现了“负值”。而负值产生的原因是：有一些颜色是无法用RGB三色的叠加来实现的，对于这些颜色，需要将RGB中的一种颜色叠加在要匹配的颜色中去，也就是说对于某种特定颜色C，存在这样一种情况：颜色C+红色 = 绿色+蓝色，这里的等号是指等效。如果将红色将从左边移到等式右边，便有了负号。

但是负号的引入对于人们的使用有着诸多的不便，所以人为引入了虚拟的三个原色XYZ，然后通过数学变换的方法将存在负数的r-g坐标系变换成了所有坐标值都为正数的x-y坐标系，如下图所示：

![cie-1931-xy](https://yinguobing.com/blog/content/images/2015/02/cie-1931-xy.png)

上图就是常见的CIE1931色品图。CIE是国际照明委员会的简称，这套系统是在1931年正式被接受的。

然而基于x-y坐标系下的CIE1931色域图存在一个问题：该坐标系下的色彩空间是不均匀的——从同一点出发，沿两个不同的方向行进相同的距离，色彩的变化量是不均匀的，有可能第一个方向变化了5种颜色，而另一个方向变化了将近500种。这样就给实际的应用带来了很大的麻烦。为此，国际照明委员会在1960年的时候通过了一种新的色坐标系统，将x-y坐标系进行数学上的变换，新的坐标用u，v来表示，形成了1960 CIE-UCS色坐标系统，如下图所示：

![cie1960-ucs](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/CIE_1960_UCS.png/640px-CIE_1960_UCS.png)  
CIE 1960 UCS坐标系

在这个新的色坐标系统中颜色的变化已经比较均匀，然而随着时间的发展更多的研究表明该坐标系的上部所代表的颜色如黄、橙、红等在现代的工业如食品、石油、油漆中应用广泛，但是这部分的区域却较为狭窄。因此，在1976年人类又人为的将这部分空间放大，通过坐标变换的方法得到了新的坐标系u’,v’，即CIE1976 u’v’坐标系，如下图所示：

![cie-1976-usvs](https://yinguobing.com/blog/content/images/2015/02/cie-1976-usvs.png)

关于色彩空间的研究还在继续，但是目前CIE 1976 u’v’坐标系是一个国际通用且较为实用的色坐标系统。可能由于历史的原因CIE 1931 xy坐标系出现的频率更高，但是这两种色坐标系统是不矛盾的，可以通过数学的方法进行转换。

## Pointer色域

> 你在自然界看到的实际颜色范围

实际生活中我们所看到的物体反射的光谱其实很杂，并不是由单一的波长构成。有一个叫M.R. Pointer的人做了一系列的实验，并且在1980年将结果以论文”The Gamut of Real Surface Colours (真实物体表面颜色色域)”的形式发表。由于国冰暂时无法拿到这边论文的全文，但是从摘要来看这位Pointer先生采样了4089个真实物体的颜色样本并获得了它们在xy空间中的色坐标。简单的说：你能看到的自然界绝大部分颜色都在这个范围里了，如下图所示：

![pointer_gamut](https://yinguobing.com/blog/content/images/2015/02/pointer_gamut1.gif)

接下来的事情就简单多了。既然显示技术的目的是为了“还原物体的真实颜色”，那么我们其实不需要把可见光谱上的每一个颜色都实现，我们只要还原Pointer色域范围内的颜色就可以了。也就是说Pointer色域的实际应用意义更大。对于三原色理论来讲，具体要做的事情就是选择合适的三原色坐标，使得三个点所围成的三角形尽可能的覆盖Pointer色域的范围。

## NTSC标准下的色域

> 最早的彩色电视机三原色标准

[NTSC](http://en.wikipedia.org/wiki/NTSC?ref=yinguobing.com "关于NTSC的维基百科")的全称是“National Television System Committee（国家电视制式委员会）”，是美国专门从事电视相关标准制订的机构。这个机构制订的与电视相关的标准简称为NTSC标准。最早的NTSC标准于1941年提出，那时的电视还是黑白的。在1953年第二版NTSC标准被提出。该标准考虑了彩色模拟电视相关的指标，同时兼容了黑白模拟电视，其中规定了三原色的色坐标。由于当时的显示技术处于CRT技术早期，因此三原色的选择其实考虑了能够发出特定颜色光的荧光粉特性，最终将三原色坐标制定如下：

| Original NTSC colorimetry (1953) | CIE 1931 x | CIE 1931 y |
| -------------------------------- | ---------- | ---------- |
| 红色                               | 0.67       | 0.33       |
| 绿色                               | 0.21       | 0.71       |
| 蓝色                               | 0.14       | 0.08       |
| 白点 (CIE C) 6774 K                | 0.310      | 0.316      |

\[Standard illuminant\](http://en.wikipedia.org/wiki/Standard\_illuminant "Standard illuminant") 

将该色域图绘制在CIE1976色坐标系统中如下图：

![NTSC_gamut](https://yinguobing.com/blog/content/images/2015/02/NTSC_gamut1.gif)

从图中可以看出，NTSC色域可以覆盖大部分的Pointer色域面积，计算结果显示，基于1953年NTSC标准三原色坐标覆盖了约79.0%的Pointer色域。但是实际情况中要达到NTSC标准的色域需要较高的成本，以至于目前为止（2015年2月）市面上销售的绝大部分显示设备色域值一般只能覆盖NTSC标准的72%，更别提Pointer色域了。其实从时间角度来看，NTSC色域标准的制定时间早于Pointer色域的发表时间，这份标准影响力之大以至于到目前为止（2015/2）大部分的显示厂商在宣传他们的产品时都使用了“xx% NTSC”的字样。

## ITU-R BT.709建议的色域

> 高清晰度电视瞄准了Pointer色域

随着广播电视相关技术的发展，数字电视技术逐渐取代了传统的模拟电视技术，高清晰度电视（HDTV）也开始崭露头角。1989年ITU（国际电信联盟——联合国下属组织，当时名为CCIR，即国际无线电咨询委员会）将Pointer色域定为HDTV的目标色域。在1993年，ITU正式通过了标题为“Basic parameter values for the HDTV standard for the studio and for international programme exchange ”编号为[ITU-R BT.709-1](http://www.itu.int/rec/R-REC-BT.709/?ref=yinguobing.com "ITU官方网站")的建议。编号中的R代表Radiocommunication（无线电通讯），B代表Broadcasting（广播），T代表Television（电视）。从名字就可以看出该建议是针对HDTV提出的。在该建议中，规定了三原色色坐标如下：

| IUT-R BT.709-1 (1993) | CIE 1931 x | CIE 1931 y |
| --------------------- | ---------- | ---------- |
| 红色                    | 0.64       | 0.33       |
| 绿色                    | 0.33       | 0.6        |
| 蓝色                    | 0.15       | 0.06       |
| 白点                    | 0.3127     | 0.329      |

将该色域图绘制在CIE1976色坐标系统中如下图：

![BT709_gamut](https://yinguobing.com/blog/content/images/2015/02/BT709_gamut.gif)

[CIE Standard illuminant D65](http://en.wikipedia.org/wiki/Illuminant%5FD65?ref=yinguobing.com "关于D65光源的维基百科")

按照这份标准最终得到的色域覆盖了67.5%的Pointer色域。该色域的面积小于NTSC色域面积。BT. 709最后一次更新是在2002年，版本号为BT. 709-5。

## sRGB规定的色域

> PC与互联网企业的崛起

NTSC与BT. 709都是基于TV产品提出的规格，这个一点也不奇怪，那个年代能够显示彩色设备最常见的就是电视了。不过随着PC、打印机以及Internet的发展，彩色的画面开始通过Internet传输、显示在计算机监视器上、并最终通过打印机打印在纸上。为了搞定这类非广播电视业务的色彩问题，1996年由当时业界大牛HP、软件巨头Microsoft共同推出了sRGB标准，并且获得了业界同行W3C、intel等组织与公司的支持。sRGB定义可以通过IEC 61966-2-1:1999查询。而sRGB所采用的三原色坐标与BT. 709完全一致。

虽然打印设备也支持sRGB，但是一些高端的打印机却尽量避免使用它。原因是因为印刷技术对色彩的还原是基于色彩相减原理，用来混合颜色的原色是[CMYK](http://en.wikipedia.org/wiki/CMYK%5Fcolor%5Fmodel?ref=yinguobing.com "CMYK维基百科")（ cyan-青, magenta-品红, yellow-黄, 和key (black-黑)）四色技术。有一些颜色通过CMYK可以印刷出来，但是却超出了sRGB的色彩范围。

![](http://upload.wikimedia.org/wikipedia/commons/4/4c/CMYK_color_swatches.svg)

## Adobe RGB规定的色域

> 一个意料之外的成果

这是唯一一个广泛传播并且以公司名命名的色域标准。Adobe是一个神奇的公司，大家耳熟能详的产品当属被誉为美颜神器的Photoshop。而Adobe RGB色域的产生也与Photoshop这款软件息息相关。

根据Adobe公司员工的[描述](http://www.realtimerendering.com/blog/2011-color-and-imaging-conference-part-vi-special-session/?ref=yinguobing.com "Adobe RGB: Happy Accidents")，在1998年的时候Photoshop 5即将发布（目前Photoshop版本号是14），为了完善软件内置的颜色管理功能，工程师Thomas Knoll希望参考BT. 709的来源——SMPTE 240M标准来确定色域范围。然而由于该标准没有提供在线版本，并且Photoshop 5发布在即，他们无法等到纸质版本寄送到，于是Thomas便从一个看起来比较官方的网站上找到了一组SMPTE 240M数据用在了Photoshop中。软件发布后获得了非常积极的反馈，用户普遍认为新的SMPTE 240M配置在色彩范围以及与CMYK色彩系统之间的转换表现出色，这正好是sRGB的劣势所在。很多书籍杂志都推荐使用Adobe的这套SMPTE 240M色域标准。

然而没过多久就有熟悉SMPTE 240M标准的用户向Adobe指出：Photoshop中提供的SMPTE 240M搞错了，它不是真正的SMPTE 240M中规定的色域值，而是该标准附件中的一个“理想值”。更糟糕的是，Thomas在设置红色坐标的时候还发生了笔误，红色坐标的值甚至与附件中的“理想值”都不一样。Adobe知悉后尝试了各种方式去修正这个错误，然而无论他们如何努力都无法超越这个意外带来的色域标准表现。最后Adobe放弃了修正这个“错误”，并将其命名为Adobe RGB，避免商标以及法律方面的问题。

| Adobe RGB (1998) | CIE 1931 x | CIE 1931 y |
| ---------------- | ---------- | ---------- |
| 红色               | 0.64       | 0.33       |
| 绿色               | 0.21       | 0.71       |
| 蓝色               | 0.15       | 0.06       |
| 白点               | 0.3127     | 0.329      |

(\[CIE Standard illuminant D65\](http://en.wikipedia.org/wiki/Illuminant\_D65 "关于D65光源的维基百科")) !\[adobe\_rgb\_gamut\](/content/images/2015/02/adobe\_rgb\_gamut.gif) 

从色域图上看，Adobe色域覆盖了Pointer色域大约79.6%的面积。该标准借助Photoshop的平台以及自身的优势被广泛的应用于平面设计以及出版印刷领域。一些高端的PC监视器会专门提供支持100% Adobe RGB色域的产品。

## ITU-R BT. 2020建议的色域

> TV标准进化了，还带来了终极的三原色

从标题就可以看出来这个建议是针对TV产品的了。[BT. 2020](http://www.itu.int/rec/R-REC-BT.2020?ref=yinguobing.com "ITU官方网站")建议的标题是“Parameter values for ultra-high definition television systems for production and international programme exchange”，也就是UHDTV（超高分辨率电视）的建议标准。在该建议中的三原色坐标值如下：

| IUT-R BT. 2020 (2012) | CIE 1931 x | CIE 1931 y |
| --------------------- | ---------- | ---------- |
| 红色                    | 0.708      | 0.292      |
| 绿色                    | 0.170      | 0.797      |
| 蓝色                    | 0.131      | 0.046      |
| 白点                    | 0.3127     | 0.329      |

![bt2020_gamut](https://yinguobing.com/blog/content/images/2015/02/bt2020_gamut.gif)

从色域图中可以看出，BT.2020的三原色坐标几乎都处于光谱轨迹上，而且对Pointer色域的覆盖率也达到了惊人的99.5%。如果要求色坐标位于光谱轨迹上意味着光源的光谱宽度必须非常非常窄，几乎需要激光这样单色性非常好的光源才能达成。目前为止大部分显示面板厂已经有能力制作出满足BT. 2020标准分辨率要求（7680\*4320）的产品，但是对于色域的要求目前还没有明确达成的迹象。这也是显示技术当前面对的一个重要的技术课题。

## 高色域技术的走向

> 技术的最终目的都是为人服务

从上边的色域标准发展史以及厂家的宣传无一不表明：我们需要更高的色域。但是高色域并不是不分青红皂白越高越好，从理论上讲应该以完全覆盖Pointer色域为目标，这样才符合现实技术“还原真实世界”的技术宗旨。所以如果我们从更高的角度来看，如何设置色域的目标值才合理？优秀的高色域技术应该具备怎样的特征？

首先，Pointer色域几乎成为了各项高色域技术追逐的本源，但是需要注意的是该文章发表于1980年。由于国冰暂时没有拿到论文的原文，所以不知道Pointer先生采样的范围有多大，是否存在因为近40年来技术的发展，人们的日常生活中已经有更多的颜色出现，并且这些颜色处于Pointer色域范围之外？那么我们是不是应该修正一下Pointer色域的范围，或许新的目标色域范围已经大于Pointer色域了呢？

其次，所有的色域标准均是基于三原色的。但是实际上，通过加入多种原色的方式例如四原色、五原色，我们同样可以覆盖完整的Pointer色域，并且与三原色相比会降低对每种原色的纯度要求，这样带来的好处就是功耗与成本的降低，并且对Pointer色域的覆盖也毫不含糊。

最后，我们可以回忆一下最初的r-g坐标系下色坐标出现的负值，其本质的原因是因为有一些高纯度颜色无法通过RGB的方式混合而成。那么我们是否可以通过引入更多种原色的方式来弥补这一点缺陷，进而从根本上改善显示的质量？

无论技术如何发展，它最终的目的都是为人服务。所以我们只要把握住这一点本质不变，我们可以选择的技术路线是多种多样的。技术的多样性会随着技术的发展而逐渐呈现，对于消费者来说只要静待更好更便宜的产品出现即可；而对于从事该行业的人来说，则要擦亮眼睛，不忘初心，大胆的去选择。

（完）