色度学与人类工程学
色度学与物理光学等学科的基础不同, 物理光学可以认为是客观的科学, 是与人类无关的。而色度学却是一种主观的科学, 它以人类的平均感觉为基础, 因此它属于人类工程学范畴, 以对光强的度量来说, 物理光学以光的辐射能量这个客观单位来度量, 而色度学却以色光对人眼的刺激强度来度量。辐射能量很大的波长很长的红光对人来说却没有辐射能量很小的黄光亮, 人们就认为黄光的强度比红光大。色度学既然是建立在人眼的反应基础上, 对于别的动物就不适用了。好在人类的不同人种之间对光的感受没有太大的区别, 因此色度学是和人种
无关的。
绝对亮度( Lv) 的定义是:
( 坎德拉 / 平米)
其中 θ 是发光表面法线与给定方向夹角的余弦。由于多数情况下是垂直于发光表面观察的, 所以亮度可理解为单位面积的发光强度( di 为微发光强度, d
s 为微发光面元) 。 1 坎德拉的发光强度是频率为 540×1012 赫兹的光源在每球面度中强度为 1/683 瓦的光辐射。由此可见, 亮度与电磁波的辐射强度这个物理量成正比。
又由于人眼的感色性的关系, 又与光的波长密切相关。 由于人眼在不同的亮度环境下会自动调节瞳孔的大小, 使进入眼睛的光强总在一个亮度范围之内。因此除了在超出人眼调节范围之外的极暗或极亮的环境之外, 使用相对亮度来表述图像或图片更为方便。例如, 尽管电视屏幕的白场、灯光下的白纸和阳光下的白纸的亮度很不一样, 但都将其定义为 100% 的相对亮度。考虑到在电子出版领域的应用, 后面使用亮度这个术语时, 都是表示相对亮
度。
亮度和明度
物体的亮度在计算机内都要以整数的方式表示, 例如最亮的为 100, 最暗的就是 0, 中间还有许多过渡亮度。为了计算方便, 计算机内通常都以 2 的多少次方来表示一个亮度范围。例如 0~31、0~63、0~127、0~255。现在最常用的是 0~255, 即 256 级亮度, 但其他几种方式也常使用; 例如有许多彩
色显示卡的 32K 色显示方式, 它的亮度等级就是 0~31, 共 32 级。
由于亮度成了不连续的过渡, 就很有可能使人查觉出亮度的跳跃。32 级亮度就很容易查觉出跳跃, 256 级亮度则很难查觉出跳跃。如果将 32 级亮度的灰色块连续显示在屏幕上, 会发现较暗的部分跳跃比较厉害, 较亮的部分则显得连续得多。这个现象很早就被人们发现了。测试人员用一组深浅不同的灰卡, 让被测试者选一张介于最深和最浅之间的灰卡, 结果大多数人选出的灰卡亮度只有 18%! 继续这种测试, 在黑色和中间灰之中、中间灰和白色之中……, 直到人们无法区分两种灰卡的深浅为止。将选出的灰卡按由深到浅的顺序排好, 再实测它
们的亮度, 发现它的编号 (L) 与亮度 (Y) 的关系为:
L=116(
Y 100
)1/3 -16
其中 L=0~100, Y=0~100。此近似关系经 CIE( 国际照明工程师协会) 组织规范化为以上的明度公式。明度是一种心理亮度的度量单位, 同样一幅照片, 如果用 32 级等差明度来表示质量要比 32 级等差亮度好得多。要达到同等表现质量, 用亮度表示要比用明度多用 150% 以上的数据量, 即 255 级亮度约只相当于 100 级的明度, 在实际使用中, 如果用明度来表示, 则 128 级明度就有很高的质量了。如果要求在发光体上小视野情况下也看不出任何亮度差, 可
以用 256 级明度来表示。
32 级亮度
32 级明度
图 8.1 在黑白方式下的亮度和明度
当你看到图 8.1 的两种色块序列时, 你可能会对 CIE 的明度序列表示怀疑。明度序列的连续性似乎并不比亮度序列的更好。根据我们的研究结果表明, 这个怀疑是对的。较好的序列应是介于这两者之间的一个序列。特别是在彩色空
间中。
-- 作者:kyo12123
-- 发布时间:2005-12-28 16:30:00
-- 三基色现象
从中学的物理教科书就可以知道, 颜色是由光的波长决定的, 从红光( 波长 635nm) 到蓝光( 波长 435nm), 人们大约可分辨出一百多种颜色。这种单波长的色光非常鲜艳, 人们称为纯色。实际看到的色光大多数是由许多种波长的光
组成的。例如太阳光就是从红光到蓝光的连续光谱组成的。就算将波长从 635nm 到 435nm 分成 128 等分, 每一种色光也需要 2(128×8)=21024 那么大的数据
范围, 而不是现在常用的 224 。 在很早以前人们就发现, 人眼是一架不很精确的光学鉴别器, 它常常将不同光谱成分的色光看成同一种色。例如肉眼分不出哪一种白光是由太阳光连续光谱组成的, 哪一种是由红、绿、蓝三种色光组成的, 这叫同色异谱现象。经过反复的试验, 发现了人眼对色光分辨的三维的特性。即任取三个互不能由其他两个表现( 线性无关) 的色光, 都可以组成人眼能分辨的任意色光。这就是三基色现象, 也叫三原色现象。造成这种现象的原因有人认为可能是人眼的视网膜上只有三类感色神经元, 每一类感色神经元只对某一个范围的色光敏感。但当前的研究似乎也只发现了两种感色神经元, 所以三基色的生物学基础目前还不甚了了。 当然“任选三个”是数学上的条件, 它允许色光为负。实际操作中是不可能产生负的光。所以, 绝大多数场合都使用红、绿、蓝作为三基色, 以表现尽可能多
的颜色。
用坐标表达颜色
由于颜色是一个三维函数, 所以应该在三维空间来表示, 如图 8.2 所示。
图 8.2 传统色度学著作常用来表示颜色的锥体
图 8.3 按人对颜色分辨能力构造的三维彩色立体
这个锥体表示人们在最暗时和最亮时对颜色的分辨能力较差, 中间亮度时分辨能力最强。但至少在相对亮度的范围内, 这个结论是错误的。对于某些颜色, 人眼对其分辨能力随亮度而加强, 直到极亮时才急遽减少。用图 8.3 这个“大
桃”来表示更为准确。 为了更方便地建立色彩的定量概念, 我们暂时用二维的色度空间来表示。 选三原色: 红 =700nm(R), 绿 =546.1nm(G), 蓝 =435nm(B)。r=R/(R+G+B), g=G/(R+G+B), b=B/(R+G+B)。由于 R+G+B=1, 所以只用给出 R 和 G 的值, 就能唯一地确定一种颜色。这样就可将光谱中的所有颜色表示在 CIE 1
931 RGB 系统色度图中, 如图 8.4 所示。 在这个图中, 将光谱轨迹上的任一点联接到白点 SE上, 彩色的鲜艳度逐步
下降, 也就是色纯度或色饱和度逐渐下降, 但人通常感觉颜色的种类( 也叫色
相) 并没有变化。 将图中的紫端和蓝端用一条直线相联。这条线上的色彩虽然不是由单一波长的光谱产生的, 但它也给人们很鲜艳的感觉。所以也认为是色纯度最高的部位。这条线上的颜色叫做绛色。所有的可见色彩都在这个封闭的图形内。 从图中可以看出, 表现色光的区域有很大一部分超出了第一象限, 这意味着要表现这一部分色光时, 红光或绿光必须为负值! 由于发光材料不可能发出
负光, 从这里已经可以看出, 用有限的色光光源不能表现全部的色彩。
图 8.4 CIE 1931 RGB 系统色度图
-- 作者:kyo12123
-- 发布时间:2005-12-28 16:30:00
--
将坐标系转换到计算机常用的系统中去
RGB 色度图虽然比较好理解, 使用起来却很不方便。将它做一个变换, 使得亮度只与 Y 轴相关, 而讨论颜色只需在等亮度的 XZ 平面上, 就方便多了。
这就是 CIE 1931 XYZ 坐标系, 如图 8.5 所示。
图 8.5 某一亮度平面上的彩色区域
图 8.6 计算机显示器所用 NTSC RGB 彩色域在 XZ 平面上
这个坐标系是一个基准坐标系, 后面介绍的 Luv、Lab、RGB(NTSC) 和 R
GB(PAL) 都与此坐标系有直接变换的关系。 在上图中, D65点是参考白, 是黑体在绝对温度 6500K 时发出光的颜色。相当于春秋季节中午时阳光的颜色。是目前日光型彩色胶卷、NTSC、PAL 制式彩色电视等等的参考白色。它的色度坐标是 X0=0.3218, Y0=0.3292, Z0=0.3580。 沿轮廓线 A 点过 D65对面 B 点成一条直线。从 A 到 D65 色纯度( 饱和度) 由 100% 逐渐降低到 0。A 点与 B 点的色光按不同比例混合( 保持总和的亮度不变) 所得的色彩都在 A-B 直线上。由此可见, 彩色色光与白色色光相
加色饱和度都将降低。 根据补色的定义: 凡两种色光按适当比例混合, 能得到白色的这两种色光就称为互补色。因此色彩 B 就是 A 的补色。人们在长时间注视一种颜色时, 突然将视线转到白色上, 就会在白色底子上出现刚才那种颜色的补色。彩色负片
的颜色也是照片的补色。
+ =
96,255,210 159,0,45 255,255,255
+ = 220,0,0 0,220,220 200,200,200
图 8.7 左边的两种色光相加成为右边的白色, 所以左边的两种颜色是互补色 要注意: 以上所讲的都是色光的混合, 而不是颜料的混合。色光混合产生不同色彩的方法叫做加色法, 颜料混合叫减色法。减色法的问题比加色法要复杂得
多, 这一点我们在后面讨论。 加色法最显著的特点是: 色光的混合相当于两个位置矢量的加法。假如已知颜色 C 和 C 在 XYZ 坐标系内的表达为: C1 (X1 ,Y1 ,Z1 )、C2 (X2 ,Y2 ,Z2 ), 则将两种色光混合起来的色光 C3 为: C3 (X1 +X2 ,Y1 +Y2 ,Z1 +Z2 )。 计算机在屏幕上表示彩色就是完全的加色法。在用计算机排版时, 最常用的彩色坐标系是 RGB 坐标系。它根据的是美国电影电视工程师学会( SMPTE) 的 NTSC 制式三色荧光粉的色度标准制定的(新的显示器采用HDTV标准,与NTS
C略有差别)。它和 XYZ 坐标系的变换关系是:
R=1.971083856X-0.5494734822Y-0.2974256532Z G=-0.95343361089X+1.93576812668-0.02741656056Z
B=0.0638528494559X-0.12964123497Y+0.98295931716Z ( 8-1)
将亮度 Y=32.92 的 D65 坐标代入, 发现: R=G=B=32.92。任取不同亮度的 D65 代入, 都会得到 R、G、B 相等的结果。这说明在操作计算机软件时,
令 R、G、B 相等, 就可以得到色饱和度为 0 的白色( 或灰色) 。 将 NTSC 的三色荧粉所发出的三色光画到坐标系中( 图 8.5), 得到图 8.
6。 根据前面所介绍的加法原理, 彩色显示屏上的颜色只能出现在△RGB 之内。除了红段到黄段之外, 色饱和度都达不到 100%。因此所表现的颜色既不如自然界
的丰富, 也不如自然界的鲜艳。
为什么不选择发光颜色更纯或干脆选 R=780nm, G=520nm, B=420nm 波长的纯色荧光粉, 不就可以做出更丰富多彩的画面了吗? 这个主意虽然不错, 但目前还找不到可以发出如此纯和足够亮度的荧光粉, 所以是不可实现的。但人们已经制出可以长时间工作的红光半导体激光器, 也接近制出绿光和蓝光的激光器。在不远的将来, 以半导体激光器做光源的彩色显示器或许将成为高保真色
彩再现的主要设备。 由于现在的计算机扫描输入都是使用 NTSC RGB 坐标系, 且不允许 R、G、B 为负, 所以无论用什么输出手段都不可能使表现的色彩超出图 8.6 的三角
形。 在式 (8-1) 中, Y 的值域为 0~100, R、G、B 的值域也是 0~100, 若要在 R、G、B 值域为 0~255 的情况下使用, 只要将等号的右侧乘 2.55 即可。由于 RGB 的色度空间小于 XYZ 坐标系表示的可见光域, 所以会出现 R 或 G 或 B 小于零的情况, 这时要注意归并的方法。应先保证亮度不变, 然后保证色相不变, 最后调整色饱和度使之达到 R 、 G 、 B 分别大于或等于 0 。
色差问题
在计算机上表示色彩会遇到与亮度类似的问题。特别是在电子出版时, 表示颜色要求越逼真越好, 所用数据要求越少越好。一个 10 秒钟的运动画面就需要 600 帧的彩色数据, 如不加压缩, 用现有 3 字节一个像素点的方法就需要
600MB 的存储量, 恰好等于一张光盘的容量。 计算机表达色彩, 也只能用有限的颜色数。例如大多数游戏软件用 256 种颜色; 新出现的有 32768 色(R、G、B 各 32 色) , 65536 色( 为了提高亮度的分辨能力将绿色增加到 64 色) , 和所谓的真彩色 1667 万色(R、G、B 各 256 色) 。究竟多少种颜色是充分而且是必要的呢? 我们再来回顾在第五章出
现过的光谱。 255,0,0 0,255,0 0,0,255 255,0,255 255,255,0 0,255,255
图 8.8 按 RGB 等差变化排列的色谱
从图 8.8 可以看出, 尽管我们在制作这个光谱时令 RGB 的颜色按线性变化, 但这个色条看上去颜色的分布却是不均匀的。有的地方很短距离内颜色变化剧烈, 有的地方却在很长一段距离内都是一样的颜色。这说明人眼对颜色的分辨能力不是与 RGB 成正比的。对此已有许多人进行了研究。最常用的是 CIE 组织推荐的 CIE Luv 1976 和 CIE Lab 1976 标准。这两者都是匀色坐标系。顾名思义就是对人眼辨色率均匀的坐标系。坐标内的等距离意味着等色差。如果在
此空间内均匀地选择 65536 个点, 就能极好地代表所有的颜色。
我曾在 17 年前按此原理设计了一个彩色系统, 又在三年前在此空间内反复筛选必需的 64K 色。因为根据 CIE 的这一色差分析, 与 16M 色 RGB 系统色差相当的颜色数, 应只有 65000 个左右。但实践证明, CIE 的这一分析是不正确的。首先在亮度方面我们已经从图 8.1 中看出 CIE 关于明度的不准确性。而 Luv 和 Lab 的 L 都是采用我们在图 8.1 中看到的明度。另外 CIE 大大低估了人们在高相对亮度时对颜色的分辨能力。这一不准确的估计使我们的软件商品化整整延误了两年! 根据我们的实践, 人眼对颜色的分辨能力大致当于图 8.9 的“大桃”。而这个大桃的亮度轴是介于亮度和明度之间的一个函数。在这个大桃
内按等距离选择 65000 个点可以非常好地表现彩色图片。
图 8.9 对人眼分辨率均匀的彩色空间
用这样的 65000 种颜色会不会存在肉眼可以分辨的色差? 有, 而且它的平均色差比现在常用的 RGB 16M 色的略大。其实 16M 色也有肉眼可以分辨的色差。但在目前信息爆炸的时代, 一幅彩色图片能被人看 5 秒钟已经是很赏脸了, 谁也不会再去细细检查它的色差。只是在做非常规矩的大面积渐变色时, 它的色差问题才显得比较刺眼。依然在这个大桃内均匀选点。其中亮度轴选 200 级, 总颜色数为 256000 个, 就可以做到完全没有色差了。这个数只是 16M 色的 65 分之一, 但最大色差反而比它要小。对现代计算机存储技术来说, 64K 和 256K 是一个很小的数, 利用这个色表我们能做非常精确的颜色转换或快速显示。
32 级亮度
折衷的亮度序列
32 级明度
图 8.10 三种不同的亮度序列
-- 作者:kyo12123
-- 发布时间:2005-12-28 16:31:00
--
常用色度学公式
NTSC RGB色系到XYZ坐标系(其它RGB色系变换略有不同)
X=(0.58808R+0.17918G+0.18294B)/2.55 Y=(0.28965R+0.60581G+0.10454B)/2.55 Z=( 0 +0.06826G+1.01924B)/2.55
XYZ到Lab坐标系
因篇幅问题不能全部显示,请点此查看更多更全内容