本文整理了 Apple Developer 中一个 6 分钟的 Tech-Talk 《An Introduction to HDR Video》 所涉及的知识点。

颜色

色彩空间

通过一组维度的坐标来定义颜色,坐标系统定义的色彩范围为色彩空间,比如 RGB 色彩空间(通过 RGB 三维的强度值来定义)。

色域

在某种色彩空间下定义的颜色范围,是数据交换时颜色定义和表示的通用协议,x 红,y 绿,1 - x - y 蓝

色彩深度

色域内可以细分的色彩数量,输出强度无法线性过渡,所以只能固定分位值。以每个通道输出强度可以映射成 n 个二进制 bit 的状态,n 位即可以表示成 2 的 n 次方个状态。

HD 视频

高清视频,使用的参考值是 BT.709

HDR 视频

高动态范围视频,使用的参考值是 BT.2020

ITU-R Recommendation BT.xxx

  • ITU:国际电信联盟 (International Telecommunication Union)
  • R:无线电通信部门(Radiocommunication)
  • BT:广播电视类别业务(Broadcasting/Television)

是电联发布的 国际通用电视节目的参数建议书,简称 Rec.xxx or BT.xxx。里面定义了视频作品的参数的参考值,比如像素,比例,帧率,色域等等。

亮度

在同样的颜色下,不同的亮度也会看起来不一样。

动态范围表示显示最亮和最暗的亮度对比度。

SDR(Strandard Dyanamic Range):假设目标显示设备峰值亮度 100nit

HDR(High Dynamic Range):假设目标显示器峰值亮度 10000nit

颜色深度和亮度

在高动态范围情况下,颜色精度需要更细致,否则还原出来暗部/亮部没有细节。HDR 不代表亮度需要高,而是给人看的 HDR 必须在 SDR 的精度之外,还有更高的亮度。也就是通过超过部分的亮度来拓展信息,而不是压缩原有范围的信息的精度(因为 SDR 规定的最黑已经是显示技术能达到到最小黑色,所以只能往明亮方向拓展,并不能改善阴影细节)。

所以在实现上有两种思路:

  1. 提高颜色深度,让颜色的精度更高,增加的颜色来还原高光细节
  2. 非线性分配颜色深度,暗部精度高,亮部精度低

实际上会两种方法一起使用。

影像是一套面向人的系统,对于一个作品被呈现到观看者眼中,会经历三个步骤,成像-编码-显示。

HDR 成像

对于相机来说,CMOS 已经可以记录 14bit 的原始信息,所以可以直接记录的动态范围很大。手机上一般通过拍摄多个曝光量的照片后进行算法分区域合成。

HDR 编码

前提:人眼对于亮度的感知并不是线性的(相同的亮度差,人眼对暗部变化感受更明显)。

拓展:大脑对于亮度的感知是相对的(绝对的亮度,在不同场景中的人脑的感知会受到周围物体的亮度影响),所以不可能存在全局且保序的操作能保持人对亮度的主观感受。

对于动态范围大的原始信息,不经压缩直接记录效率比较低。

Gamma

Gamma 函数是 SDR 时代的产物。Gamma 值越小,曲线上突越大,Gamma 值越大,曲线下凹越大,为 1 恰是正比例函数。

巧合之下,如果采用 Gamma 0.45 的曲线对输出强度做矫正,人眼的感受和电压变化就能线性对应起来,物理线性就变成了感知上的线性关系。因此 sRGB 就沿用 Gamma 1/2.2(0.45)的编码。在 SDR 时代,Gamma 完全够用,但到了 HDR 时代,人眼的感受 Gamma 没法很好的表达,容易出现色阶断裂等问题(包括 Gamma 3.0)。

Perceptual Quantizer(感官量化曲线)

PQ 是 SMPTE ST 2084 标准中用于 HDR 的编码方案里的 EOTF(Electro-Optical Transfer Function,电光转换函数)。方案是增加亮度范围,漫反射白(参考白色)和 SDR 一致,为 100nit,高于 100nit 部分仅用于高光范围。这个函数和人眼的感受的模型匹配程度很高,但是缺点是必须让显示器根据本身峰值亮度截取超出编码端的信息,所以 PQ 要求有元数据,易变带上亮度最小和最大的等信息。

HDR10

元数据是静态的,所有时间是相同的,包含创建时的显示器信息(色域,白点,亮度范围),内容信息,峰值亮度和平均亮度(用于目标显示器做色调映射)。

Dolby Vision

元数据是动态的,可以更细粒度控制,可以以场景或者帧为单位应用。

HLG(Hybrid Log-Gamma)

在摄像机内直接完成 HDR 编码,漫反射白为信号 75% 而不固定,所以是相对的,用于广播电视领域。

HDR 显示

色调映射(Tone Mapping)

将某一动态范围的数据映射到另一动态范围的显示设备上。

全局方法
局部方法

分离压缩思想

引用

我们说的 HDR 也许不是一个东西

漫谈 Gamma(三):数字魔法

HDR 技术浅析

实时渲染:Tone Mapping 色调映射