个性化阅读
专注于IT技术分析

色域、颜色精度、灰度系数和颜色空间转换 – 色彩管理

上一节色彩管理请查看:色彩空间基本概念

在上一节中,我们讨论了颜色空间如何与度量单位相似。“50”没有绝对的物理特征,“50厘米”有。将一个值和一个度量单位结合起来可以赋予它更多的意义,并消除歧义。颜色空间比长度单位稍微复杂一点,但是这个类比可以用来理解颜色管理的许多方面。

但是,与其将颜色空间与度量单位进行比较,不如将它们想象成一把尺子,一把有长度的尺子,上面有许多凹槽。

显示从0到1的值的标尺

色域

颜色空间的色域定义了该颜色空间可以表示的颜色范围,它定义了颜色的强度和纯度。

在我们的类比中,色域就像尺子的长度。假设我们有两个代表两个不同颜色空间的尺子——一个是1英尺长的英制单位,另一个是1米长的国际单位。

一米长的尺子旁边是一英尺长的尺子

如上图所示,这两个标尺的长度不同。此外,这两个标尺具有相同数量的从0到1的凹槽,但凹槽的物理间距非常不同。米制尺子上的值为1,与英制尺子上的值为1相比,在空间上是一个非常不同的点。

更宽的区域就像更大的尺子。

虽然它们的相对比例不正确,但你可以将1英尺的尺子视为sRGB(标准色域颜色空间),将1米的尺子视为Display P3(宽色域颜色空间)。在1英尺尺上可能的最大值只是在1米尺上的一部分。这是真的,当转换最纯粹和最强的sRGB为颜色Dispaly P3,以及#ff0000在sRGB只是#ea3323在Dispaly P3。sRGB中的全强度红色只是Dispaly P3中的“强红色”标尺的一部分。

给定相同数量的切口,较长的尺子的物理精度较低。对于颜色空间也是如此——更宽的色域颜色空间在更大的空间中拉伸颜色值,因此它们更倾向于梯度带。更广泛的色域色彩空间和色彩空间转换可以帮助很多提高色彩精度。

色彩精度(color precision)

当计算机存储颜色值时,根据用于存储数字的方法,它具有固有的精度。使用我们的尺子类比,这转换成缺口的数量,如果你假设一个值必须落在一个缺口上,更多的切口意味着更高的精确度。

两把尺子,一把更精确

如果你熟悉十六进制的CSS颜色,你会知道#ff0000是最亮的纯红色,#fe0000是第二亮的纯红色,在#ff0000和#fe0000之间什么都没有。十六进制CSS颜色中的红色部分从00到ff(十六进制),或者从0到255(十进制),只有256个可能的步长。如果你需要一个值为254.5,那就太不幸了——它必须是254或255,该值必须向上或向下舍入。

这看起来似乎需要很多步长,但是当涉及到绘制平滑的渐变、颜色空间转换和其他处理时,不需要很多步长就可以导致肉眼很容易看到的舍入错误。当需要多个处理步长时尤其如此,这会导致累积错误,其中的错误可能远远大于半精度步长。

舍入误差通常以带、分离或显著噪声结束。宽色域显示加剧了对更高精度的需求——如果我们的标尺变长,创建平滑渐变所需的槽数就会增加。

考虑到这一点,我们可能不会像以前那样对颜色使用十六进制值——它们天生就很低的精度,每个通道只允许8位(每个颜色通道256步)。更高精度的浮点值更有意义。另外,浮点数可以扩展到颜色空间的范围之外。sRGB中最亮的红色可以写为“1.0 0 0”,如果颜色空间允许,sRGB色域外的红色可以写为“1.2 0 0”。

色彩精度并不是色彩空间的一部分,它是留给渲染引擎或设计工具的实现细节。这意味着不同的工具需要不同程度的小心,出现问题的可能性取决于你使用的是什么以及如何使用它。

灰度系数(伽马,Gamma)

一个颜色空间的伽玛(不同于色域)可以被认为是沿着尺子的缺口间距,均匀间隔的切口称为线性伽马。

与大多数尺子不同,凹槽的间距并不总是均匀的。实际上更常见的是它们的间隔不均匀。sRGB使用非线性伽马曲线,如下图所示。其他常见的色彩空间也使用非线性伽马曲线,Dispaly P3的伽马曲线与sRGB的伽马曲线相同。

一种标尺,显示出非线性间隔的刻痕

注意在尺子的左边有更多的凹槽,这增加了深色的精度,因为人类的感知更敏感。

伽玛通常被描述为一个指数曲线,其中值1.0是线性的(均匀间隔的缺口),较高的值意味着较深的颜色有更高的精度,而较浅的颜色精度较低。sRGB伽玛曲线比那稍微复杂一点-有短的线性部分,然后是指数曲线。sRGB通常被认为具有2.2的伽马值,但是指数段实际上是2.4(平均伽马值是2.2)。

你不需要了解sRGB伽马曲线来了解色彩管理。这只是一个有趣的题外话,如果你使用苹果的ColorSync工具来搜索色彩配置文件,你需要考虑一下。重要的是要记住的是是尺子中切口的间距,通常间距是非线性的。

色彩空间转换

现在,我们已经学习了足够多的基础知识,可以使用尺子进行颜色空间转换了。给定一个有颜色空间的源颜色和一个目标颜色空间,我们的目标颜色值应该是多少?换句话说,两个尺子并排,其中一个尺子上有一个值,另一个尺子上的值是多少?

将一个值从一个标尺转换为另一个标尺,并进行舍入

源标尺上的值映射到目标标尺上最近的缺口,如上所示。如果源标尺上的值位于适合目标的值之外,则会发生裁剪,如下所示。

通过剪切将一个值从一个标尺转换到另一个标尺

就是这样了!用一个简单的类比来说,这就是色彩空间转换的基本原理。在第3部分中,我们将为一些流行的设计工具提供屏幕设计所需的颜色管理设置。

赞(1)
未经允许不得转载:srcmini » 色域、颜色精度、灰度系数和颜色空间转换 – 色彩管理

评论 抢沙发

评论前必须登录!