在显示彩色图像时,不同的显示器(包括移动屏幕)是否仍使用明显不同的伽玛功能?是否存在一种标准化的方式来表示颜色,然后可以根据监视器的伽马值对其进行翻译,或者它们是否都足够相似以排除当今的这种需求?
在显示彩色图像时,不同的显示器(包括移动屏幕)是否仍使用明显不同的伽玛功能?是否存在一种标准化的方式来表示颜色,然后可以根据监视器的伽马值对其进行翻译,或者它们是否都足够相似以排除当今的这种需求?
Answers:
是的,尽管许多屏幕和操作系统操作使用的伽玛值为2.2,但仍需要校正硬件和计算结果。还有一些特殊的媒体,例如具有不同伽马系数的广播电视。像相机这样的传感器设备大多是线性的,因此需要进行相应的调整。除此之外,用户可以将他们的系统设置为他们喜欢的任何伽玛值。
在计算机图形学中,考虑伽玛的主要原因是您的计算最有可能在线性空间*中进行,或者求和光的总和变得不必要地复杂。在任何情况下,γ实际上都是事情的简化,如果可以进行计算到分析的转换,则可能要好得多。
这可能更容易理解。您的显示器具有的显示误差这是没有问题的,如果你的数据是符合摹(X ),但是如果你想计算:
和,b,c,d的误差为g (x ),您实际上需要计算。
您需要一遍又一遍地对每个子元素执行此操作。因此,您不必一次运行所有转换,而是一次转换一次线性转换,然后一次转换一次。
使用不同的伽玛可能看起来更好。因此,许多游戏都进行了伽玛调整。
*最坏的情况是您认为您的计算是线性的,但不能补偿显示器的非线性输出特性。
如今,数字图像的事实上的标准色彩空间是sRGB。如果使用不知道确切色彩空间的显示器(即,大多数随机显示器可能有人在其上运行您的应用程序)或不知道色彩空间编码的图像(即,您可能遇到的大多数随机图像文件),sRGB是一个很好的默认假设。
sRGB标准定义了纯红色,绿色和蓝色原色和白点的CIE色度 -换句话说,它定义了这些原色和白色相对于纯波长在感知上应该是什么样。
sRGB还定义了用于编码RGB值的伽玛曲线。伽玛曲线是图形程序员通常关心的部分,因为我们必须在sRGB和线性之间来回转换颜色,以进行物理正确的照明数学运算。所有现代GPU都内置了sRGB支持:在对纹理进行采样或将像素值写入渲染目标时,它们可以在硬件中自动应用gamma转换。
就监视器而言,对于高质量的监视器,应该可以对其设置进行校准(或者可以对其进行预校准),以便其输出尽可能忠实地匹配sRGB。万一显示器本身无法做到,则在扫描期间也可以在GPU上进行有限数量的色彩校正。有一些小的硬件查找表,这些RGB值在通过电线发送出去之前先经过映射。
您可能还会遇到Rec。709,这是HDTV的标准色彩空间;它与sRGB非常相似,使用相同的基色和白点,但伽玛曲线略有不同。一些高端显示器使用Adobe RGB色彩空间,该色彩空间比sRGB色域更宽;摄影师之所以喜欢这些照片,是因为它们能更忠实地代表照片打印时的样子。有望在未来几年内推出的下一代HDR电视将使用Rec。2020年,它的色域很大,每个组件需要10或12位,而不是8位。
因此,回到您的问题上,是否需要担心不同的显示器具有不同的伽玛值:不多。对于游戏和一般的PC图形,您几乎可以假设sRGB,并且认为如果用户真正关心色彩准确性,他们将拥有一个经过校准的优质显示器。如果您要为摄影师或印刷媒体或下一代HDR视频标准生产软件,则可能不得不开始担心宽色域的色彩空间。