|
ppsg123
| 未知
目前流行的HDR视频标准有 Perceptual Quantizer / Dolby Vision / Hybrid Log Gamma 等,
本质上都是一组全新定义的转换函数,配合全新定义的色彩空间(如 BT. 2020)、分辨率(如 4K、8K)、位深(10 / 12 / 14 bits)等,使视频能够记录、显示器能够重现更多的色彩、动态范围等。
现行的 BT. 709 已经很旧了,使用这个标准能够记录、重现的范围有限,而且现在的显示器能够重现的范围已经超过了其定义的范围,因此诞生了新的标准。
所以,问题的回答:
1、是的,不仅需要显示器支持输入,计算机软件(播放器、游戏等)支持处理、硬件(显卡)支持输出,视频文件 / 信号本身也必须是 HDR 编码的。
2、没有区别,大部分 JPG 使用 sRGB / Adobe RGB 等色彩空间,8 bit 编码,其记录的范围有限,而相机的 RAW 文件记录了更多范围,将范围广的 RAW 转换为范围窄的 JPG 时,需要进行 tone mapping,这就是静态摄影中常说的 HDR 色调了。也许不久之后就会有使用 HDR 视频标准的 HDR 图像格式出现,使图片能够记录更多的动态范围,在支持 HDR 视频标准的显示器上有更好的效果。此时如果有差别则是显示器本身性能的差别,而更好的动态范围是 HDR 显示器的基本,从这个角度来说 HDR 显示器可能也能更好地显示 SDR 图片 / 视频。
3、此 RGB 非彼 RGB,HDR 视频中使用的 RGB 是经过新定义的转换函数得到的,和 HDR metadata 一同经过 HDMI 传输,显示器也会使用新定义的转换函数将其转换为信号显示出图像。如果将其当作普通的图像来解码,会得到错误的结果,
可以用一张截图配合 Photoshop 说明一下:
「君の名は。」
图 1 来自「你的名字。」 4KHDR 蓝光盘,这也是最常见的错误解码 HDR 视频的效果。为什么是灰灰的?因为它采用了 HDR PQ 编码,拥有专门的转换函数,而如果将其当作普通的视频,会将视频流中的 YUV 数值使用 BT. 709 的相关定义转换为 sRGB,然后输出到显示器,使用 Gamma 2.2 转换。
图 2 根据 PQ 空间的转换函数将其色调映射到了 sRGB 空间,峰值亮度为 100 nits,也就是 BT. 709 中定义的范围,而原本 HDR 视频中记录的高光信息被滚降(roll off)到了有限的范围内,也就是说截图 2 已经转换到 SDR 了。
图 3 同样映射为 sRGB,只是这次不使用 roll off,而是直接抛弃(hard clip)原视频中 100 nits 以上的数据,也就是说我们看到了 HDR 视频的一小部分信息,其全貌需要软硬件支持的情况下解码原视频才能看到。
(其实上面这个过程和我们调相机 RAW ,最后输出 JPG 的操作是一个道理)
补充一下,因为 HDR 显示器 / 电视其实还不怎么普及,有的中低端产品或提供名为 HDR 的技术,实则为输入 SDR 视频实时调整画面,这样补偿的信息并不是真实的。HDR 视频来自于摄像机拍摄的范围更广的源文件和后期调整,使用新标准才能让最终用户尽可能看到原貌或导演的意图。为了让屏幕在物理上有更高的动态范围,出现了自发光(OLED / QLED)分区调光(local dimming)甚至像素调光(已上市:EIZO CG3145)等技术。
最后提供一个小玩意,供大家参考,对于开始压制 UHDBD 的朋友可能也有点用:
ST2084我用 Desmos 画了一些图,里面包含了 BT. 2100 定义的 PQ 相关的 EOTF / OOTF / OETF,BT. 2390 提出的一个 EETF(用来将 Reference PQ EOTF 映射到实际显示器的范围)等。
打开后默认显示的红色曲线是 Reference PQ EOTF 0~10000 nits ,
绿色曲线是将红色曲线 mapping 到 0.005~1000 nits 的 EOTF ,这个范围可以通过 EETF 文件夹中的两个变量调整。
两个小三角分别是 BT. 709 和 BT. 2020 色彩空间 in CIE xyY,
可以拖动第一个文件夹 Parameters: Linear RGB Signals 中的变量来查看相应色彩空间里的位置、转换后的 BT. 2020 non-constant luminance Y'Cb'Cr' 数值以及 10 bit TV Range 编码后的整数值等。这些值都在标有 Values 的文件夹里。
也可以自己使用里面写好的函数来进行相关的计算,例如:
OETF: 
表示 700 nits 在非线性 PQ 空间中的值。
Reference PQ EOTF,横轴为非线性 RGB 数值,纵轴为亮度值。由此也能看出为什么错误解码 HDR 视频会很灰,因为通常 HDR 视频中的绝大部分信息都在 600 nits 以下,对应的 RGB 数值小于 0.7 (或 179/255)将这个数值直接当作 sRGB 解码,自然就灰了。 |
|