颜色 space 是如何设法代表可见颜色 space 的不同大小部分的?

How do colour spaces manage to represent different sized sections of the visible colour space?

我最近观看了一段关于色彩空间的 YouTube 视频(link:https://youtu.be/iXKvwPjCGnY)。感兴趣我查了一下。事实证明,不同的颜色空间可以代表可见光谱的不同“子集”。并非所有这些子集的大小都相同。我不明白的是这是如何实现的。只要使用相同数量的字节来表示每个像素,无论编码如何,排列的数量都是有限的。因此,固定数量的不同颜色。现在我不明白颜色空间。也许他们确实使用了不同数量的字节。我尝试查找它,但大多数文章都太晦涩难懂和行话,尤其是维基百科。也许有人可以帮我解决这个问题?

您混淆了色域和位深度。 色域表示一个颜色-space可以表示的颜色范围。 位深度表示您可以在色域内定义颜色的精度。

因此,如果色域类似于显示器的大小,则位深度将对应于该显示器的分辨率。您可以拥有分辨率非常高的小型显示器,相反,它们彼此不依赖。 这也意味着对于相同的位深度,具有更大色域的颜色 space 将显示比它们在更小色域中看起来更远的颜色。

您可以在维基百科页面的以下图像中看到这种效果 color depth(位深度的同义词),不过,这里的色域(sRGB 色域)保持不变,但位深度变低:

24-bit color depth vs 4-bit color depth

您可以看到 4 位变体中的颜色同样丰富多彩,但与 24 位变体相比,可以表示的颜色要少得多。

如果在 2D 表面上查看,色域表示区域,位深度表示该区域中有多少种颜色。颜色越多,两种颜色之间的距离越小,但同样值得注意的是,这些距离不需要是线性的,根据颜色 space 规格,您可以在不同的地方拥有更高的密度。例如,sRGB 是伽马压缩的,因此具有更高密度的表示颜色,更接近黑色而不是白色。

另外,你说

[...] different colour spaces can represent different "subsets" of the visible spectrum.

这是不正确的。没有什么可以阻止 color-space 定义超出我们可以看到的颜色集的颜色。例如,在 CIELAB color-space 中,可以获得非常红的颜色,比你看到的更红,同时没有任何亮度。