百人计划学习视频连接:【技术美术百人计划】图形 2.6 伽马校正
颜色空间
具体内容在之前的文章有讲:色彩空间介绍
- sRGB:微软在1996年发布的通用颜色标准
- DCI-P3:数字电影播放的颜色标准
- Rec-709、PAL:电视行业的颜色标准
图中可以看出sRGB和Rec-709表示的颜色范围很接近,三原色的位置也是相同的
那他们的区别在哪里呢?
答案是 他们的传递函数的不同
什么是传递函数
当我们已经知道了颜色空间下三原色的值,但是我们需要将它显示到电子设备上,那就需要把它转换成一个视频信号。
这里就需要用到一个转换函数,也叫传递函数
一个传递函数包含2个部分:
- OEFT 把光转换为电子信号(例如:拍摄视频的时候,将场景中的光保存成信号)
- EOFT 把电子信号转换成光信号(例如:播放视频的时候,将视频中的信号转换成光强度)
而传递函数就是Gamma校正所使用的一个函数
Gamma校正
什么是Gamma校正?
就是指对线性三色值和非线性视频信号之间进行编码和解码的操作
也可以简单的定义为:
那为什么不直接用线性方式存储颜色信号呢?
首先我们知道了图像的来龙去脉:自然界捕获的图像 -> 图像存储和处理->显示器输出
而两头的颜色数量都是非常丰富的,但是中间的存储和处理出于存储容量和渲染时带宽的限制,24位色图片每个通道只有28个色阶,总共只能显示224种颜色。
如过是32位通道的图片,确实可以直接存储物理光强,因为存储空间足够;但是目前主流使用还是8位通道的图片
因此,我们得出结论
- 主要是为了优化存储空间和带宽,传递函数能更好的帮我们利用编码空间
- 人眼对暗部的变化更加敏感,为了充分的利用带宽,那么就需要使用更多位置存储暗部值。也就是说暗部使用更高精度保存,而亮部使用更低精度保存
韦伯定律
正常人会觉得是上面更均匀,但是实际下面才是均匀变化的。
将自然界线性增长的亮度和心理上感受到的亮度进行一个映射得到下面的曲线,就是Gamma编码的曲线
这种情况也符合一个定律,就是韦伯定律
小结
- 人眼对暗部的变化比亮部更加敏感
- 我们目前所使用的RGBA32,每个颜色通道只有8位用于记录信息,为了合理使用带宽和存储空间,需要进行非线性转换
- 目前我们所普遍使用的sRGB颜色空间标准,他的传递函数gamma值为2.2
CRT
早期的人们是如何修正人眼的视觉感受和物理亮度的差异
CRT与转换函数
中灰值
中灰值是什么?