颜色空间的定义
我们熟知的颜色空间,比如 sRGB,Display P3 或 BT.2020,其提供的 xy 色坐标都是在 CIE 1931 2° 颜色匹配函数(CMFs)下定义和使用的。
在切换了颜色匹配函数后(比如 CIE 1964 10° CMFs 或更新的 CIE 2015 2° 和 10° CMFs),就不能继续使用原来的色坐标,否则不仅有原理上的错误,还会出现色域超过光谱轨迹等现象,而如何确定颜色空间在新匹配函数下的色坐标,核心是找到或构建对应的光谱作为桥梁来连接不同的 CMFs。
一些标准会给出参考性,或称“资料性”的光谱,比如在 BT.2020 中写到,白点的参考光谱是 D65 标准照明体,三个基色的参考光谱分别是 630nm,532nm 和 467nm 的单色光。但一方面,这个光谱只是“资料性”的,并不一定得是这个光谱(虽说 BT.2020 几乎没得选),另一方面,Display P3 和 sRGB 并不明确提供这样的参考光谱,仍需想办法构造。
寻找“桥梁”光谱
现在问题转变为了如何找到一个光谱,使其在 CIE 1931 2° CMFs 下对应标准颜色空间的色坐标,同时满足一定条件,比如观察者同色异谱较小。这个光谱不一定是真实能制造出来的,他只承担连接不同 CMFs 的桥梁作用,用于计算新 CMFs 下的色坐标。
只需满足色坐标的话,找这样的光谱自由度非常高,这里简单介绍两种策略。
复用 BT.2020
由于面向未来的 BT.2020 标准已经有了明确的参考光谱,同时它又是一个特别大的颜色空间,我们可以复用其参考光谱,让 BT.2020 的三个单色光在 CIE 1931 2° CMFs 下组合出其它颜色空间的基色顶点,作为它的桥梁光谱。
需要特别注意的是,BT.2020 虽然大,但其实不能完整的覆盖 Display P3,P3 的红色顶点也在光谱轨迹上,其参考光谱是约 615 nm 的红光。在红色顶点附近的一小块区域是落在 BT.2020 以外的,可以在 CIE 1931 xy 色度图上计算 BT.2020 对 Display P3 的面积覆盖率为 99.98%。
由于这个桥梁光谱并不需要真的被制造出来,即便 BT.2020 不能覆盖,也可以通过允许使用负值光谱来实现。
方波
这是苹果团队在 2025 年的 CIC33 会议上报告的一种做法,使用方波来构建虚拟的桥梁光谱。
Y. Zhu et al., “Spectral definition of standard color space primaries for display,” Color Imaging Conf., vol. 33, no. 1, pp. 142–146, Oct. 2025, doi: 10.2352/CIC.2025.33.1.27.
这有点像 MacAdam 最优颜色的概念,在之前的博客文章中有关于如何证明 MacAdam 最优色对应的反射率一定是包含两个跃点的方波。
简单来说,包含两个跃变点的方波可以完整的覆盖整个色度图,苹果将有一段和两段反射率的样本分类为 Type1 和 Type2,在其中找到对应色坐标的桥梁光谱,即可计算另一 CMFs 下的新坐标。
- 使用阶跃函数来表示每个原色的光谱分布:
- Type I:在某段波长区间内为 1,其余为 0
$ E(\lambda) = 1 $ 当 $ \lambda_1 \leq \lambda \leq \lambda_2 $,否则为 0 - Type II:在某段波长区间内为 0,其余为 1
$ E(\lambda) = 0 $ 当 $ \lambda_1 \leq \lambda \leq \lambda_2 $,否则为 1
- Type I:在某段波长区间内为 1,其余为 0
- 每个原色的光谱由两个参数决定:$ \lambda_1, \lambda_2 $
这样使用一个桥梁光谱连接不同的 CMFs,计算并绘制出的新 CMFs 中的颜色空间,就更加的合理和科学。如果发展出了新的颜色匹配函数,并希望新 CMFs 不仅作用在白点,而是全局全链路的使用,这样的转换更是必须的,比如完全体的 Apple CMF 2026?