博文:《关于显示器的颜色深度、色域、HDR,以及它们的关系和区别》
有一款叫 “Return of the Obra Dinn” 的游戏,整个界面只有全黑和全白两种颜色,通过 抖动 Dither 技术让画面带有 3D 效果,看起来由多种颜色组成。在以前,dither 是一种经常使用的技术,比如 win95 可以设置为只使用 16 种颜色展示所有画面,最高可以用 32bit 颜色展示画面,32bit 颜色在 win95 中被称为 true color。24bit 可以展示的颜色数量是 Math.pow(2, 24)
,即 16777216。
24bit、32bit 这些都表示一个像素用多少 bit 来表示,24bit 通常是 rgb 三个通道分别用 8bit 表示,32bit 多了一个 alpha 通道,可以显示透明,即 rgba,30bit deep color 则用 10bit 表示一个 channel。所以 24bit 和 32bit 可显示的颜色数量其实是一样的,只是有没有透明通道。在 M1 电脑的评测中,很多人提到 10bit h265 422 视频,其中的 10bit 是指每个通道用 10bit 表示,所以一共是 30bit,这个在 wiki 上被称作 deep color
所以在说 xxbit 的颜色时,要确定是 xxbit/pixel 还是 xxbit/channel,在 stackexchange 有解释。以上是 rgb 表示方法,如果是 cmyk 表示方法,那所谓的通道就是 cyan, magenta, yellow, black。
多少 bit 的颜色形容的是颜色的深度,也叫 color depth 或 bit depth。描述颜色还有另一个指标,叫色域 color space 或 gamut。rgb 颜色的常用色域有 srgb 和 adobe rgb,如果用 rgb 描述人眼能识别的颜色,那无论是 srgb 或是 adobe rgb 都只能覆盖到其中的一部分,其中 adobe rgb 这个色域覆盖的范围大于 srgb 覆盖的范围。
rgb 第三种广泛使用的色域标准是 P3,它的色域大小和 adobe rgb 差不多,但是覆盖的颜色有区别,p3 覆盖更多红色和黄色,adobe rgb 覆盖更多绿色和蓝色。由于 p3 覆盖更多的颜色,8bit/channel 已经不能表达所有 p3 颜色了,所以推出了 10bit/channel。
Color depth is only one aspect of color representation, expressing the precision with which the amount of each primary can be expressed; the other aspect is how broad a range of colors can be expressed (the gamut). The definition of both color precision and gamut is accomplished with a color encoding specification which assigns a digital code value to a location in a color space. 出处 wiki
注意颜色深度和颜色空间的联系和区别。颜色深度是指用某一个数字表达颜色空间中的某一个颜色,假设颜色深度是 2bit/pixel。那就是有 4 个用于表达颜色的数字,这四个数字可以表达的颜色和颜色空间有关系,对于 srgb。这四个数字可以表达 srgb 中的其中任意四种颜色,其他颜色就无法表达。如果某个显示器支持 p3 色域,那这四个数字可以表达 p3 任意四个颜色,这四个颜色可以超出 srgb 的覆盖范围。所以颜色深度和颜色空间的关系是,把数字和颜色一一对应起来,可能数字不够用,或颜色不够用。如果数字不够用,那就增加深度,例如 p3 色域的显示器需要 10bit/channel 才能表示它的所有颜色。如果颜色不够用,那可能降低颜色深度也能表达这个空间的所有颜色。
在网页设计中,css 的 color 属性,如果用 rgb 表示颜色,最多只能表达 Math.pow(2, 8) _ Math.pow(2, 8) _ Math.pow(2, 8) 共 1677 万种颜色,所以 rgb(256, 256, 256) 每个数字最大是 256,css 的 rgb() 表示的颜色都位于 srgb 色域,不能表达 srgb 之外的色域。
HDR 是关于颜色的另一个指标,hight dynamic range,HDR 需要高亮度的支持,HDR 显示器的最大亮度通常超过 1000 尼特,苹果 XDR 显示器支持 1000nit 的持续亮度,在 25 摄氏度下支持 1600nit 的最大亮度,我的 LG UltraFine 4K 仅仅支持 500nit 的亮度,所以不支持 HDR 显示。苹果这份文档表示,同时支持宽色域和高亮度的显示器,才能被称作 HDR 显示器,HDR 显示器通常以 10bit/component 展示颜色。很多专业相机能捕捉到的颜色已经超出了 srgb 的范围,但会把这些颜色处理为 srgb 颜色,后来相机推出了多种视频格式,用来保存更广的色彩范围和更高的动态范围数据,这些格式有 log、raw、hlg、dolby vision 8.4。iphone 12 的前后摄像头都支持拍摄 dolby vision 8.4 格式的视频,换言之它能拍摄 HDR 视频。
Displays that support both wider color gamuts and higher luminance ranges are referred to as high-dynamic-range (HDR) displays.
总结: