动态 HDR 可以实现更高的 HDR 媒体质量,涵盖各种
显示。
以下演示文稿:SMPTE ST 2094 and Dynamic Metadata 总结了动态元数据的主题:
颜色体积变换的动态元数据 (DMCVT)
- 可以在各种显示器上保留 HDR 媒体中的创作意图
- 携带文件、视频流、打包媒体
- 在 SMPTE ST 2094 中标准化
一切都始于数字量化。
假设您只需要使用 1000 个可能的值来近似 0 到 1,000,000 之间的数字。
您的第一个选择是使用统一量化:
[0, 999] 范围内的值映射为 0,范围 [1000, 1999] 映射为 1,[2000, 2999] 范围内的值映射为 2,依此类推……
当您需要恢复原始数据时,无法准确恢复,因此需要获取平均误差最小的值。
0 映射到 500(到范围 [0, 999] 的中心)。
1 映射到 1500(到范围 [1000, 1999] 的中心)。
当您恢复量化数据时,您会丢失大量信息。
您丢失的信息称为“量化误差”。
常见的 HDR 视频对每个颜色分量应用 10 位(Y 分量为 10 位,U 为 10 位,V 为 10 位)。在 RGB 颜色空间中,红色为 10 位,绿色为 10 位,蓝色为 10 位。
10 位可以存储 1024 个可能的值(范围 [0, 1023] 中的值)。
假设您有一台非常好的显示器,可以显示 1,000,001 种不同的亮度级别(0 表示最暗,1000000 表示最亮)。
现在您需要将 1,000,001 个级别量化为 1024 个值。
由于人类视觉系统对亮度级别的响应不是线性的,所以上面说明的均匀量化是次优的。
在应用 gamma 函数后执行到 10 位的量化。
伽马函数示例:将每个值除以 1000000(新范围为 [0,1]),计算每个值的平方根,然后将结果乘以 1000000。
在伽马函数之后应用量化。
结果是:在较暗的值上保持更高的准确性,在较亮的值的扩展上保持更高的准确性。
监视器执行相反的操作(去量化和反伽玛)。
在应用伽马函数之后进行量化可以为人类视觉系统带来更好的质量。
实际上,平方根并不是最好的伽马函数。
标准 HDR 静态伽马函数分为三种类型:
我们可以做得更好吗?
如果我们可以为每个视频帧选择最佳的“伽马函数”会怎样?
动态元数据示例:
考虑图像中所有亮度级别都在 [500000, 501000] 范围内的情况:
现在我们可以将所有级别映射到 10 位,无需任何量化。
我们需要做的就是发送 500000 作为最低级别,并在图像元数据中发送 501000 作为最低级别。
我们可以从每个值中减去 500000,而不是量化。
接收图像、读取元数据并知道将 500000 添加到每个值的监视器 - 所以有一个完美的数据重建(没有量化错误)。
假设下一张图像的级别在 400000 到 401000 的范围内,所以我们需要(动态地)调整元数据。
-
DMCVT - 颜色体积变换的动态元数据
DMCVT 的真正数学比上面的例子复杂得多(而且比量化复杂得多),但它基于相同的原理——根据场景和显示动态调整元数据,与静态伽玛(或静态元数据)。
如果你还在阅读……
我真的不确定 DMCVT 的主要优势是减少量化误差。
(举一个减少量化误差的例子更简单)。
减少转换错误:
从输入的数字表示(例如 BT.2100 到显示器的最佳像素值(如像素的 RGB 电压)的精确转换需要“大量数学”。
转换过程称为颜色体积转换。
Displays 用数学近似代替了繁重的计算(使用查找表和插值 [我想])。
DMCVT 的另一个优势是将“繁重的数学运算”从显示转移到视频后期制作过程。
视频后期制作阶段的计算资源比显示资源高出一个数量级。
在后期制作阶段,计算机可以计算元数据,帮助显示器执行更准确的色彩体积转换(使用更少的计算资源),并大大减少转换错误。
来自presentation的示例:
为什么“HDR 静态伽马函数”称为静态?
与 DMCVT 相反,静态伽马函数在整个电影中是固定的,或者在整个“系统”中是固定的(预定义的)。
例如:大多数 PC 系统(PC 和显示器)都使用 sRGB 色彩空间(不是 HDR)。
sRGB 标准使用以下固定 gamma 函数:
.
PC系统和显示器都预先知道它们在sRGB标准下工作,并且知道这是使用的伽马函数(不添加任何元数据,或添加将视频数据标记为sRGB的一个字节的元数据) .