基本概念
SMPTE:电影电视工程师协会
ITU-R:国际电信联盟无线电通信部门
传输函数(Transfer functions)
- OETF(opto-electronic transfer function ) :是以场景光为输入转换成图片或视频信号为输出的传递函数,这通常在相机内完成
- EOTF(electro-optical transfer function):是将图像或视频信号作为输入并将其转换为显示器的线性光输出的传递函数, 这是在显示设备内完成
- 线性TF:拍照时会有一些RAW文件,这些RAW文件的TF就是线性函数
- Gamma TF:
- BT.601/709/2020分别给出了电视标准中的一些OETF参考,都是基于GAMMA的TF
- BT.1886专门给出了SDR图像的EOTF参考
- sRGB的gamma函数也有其定义,主要是在接近0的位置有一段线性值
- HDR TF
PQ 感知量化 (Perceptual Quantizer):PQ 是杜比为 HDR 开发的传递函数,允许亮度级别高达 10000 cd/m2,其在Rec.2100和SMPTE ST2084中成为一种标准
HLG 混合对数gamma (Hybrid log-gamma):HLG 是 NHK 和 BBC 为 HDR 开发的一种传递函数,可在 SDR 显示器上提供一些向后兼容性,HLG 是一种混合传递函数,其中信号值的下半部分使用伽马曲线,信号值的上半部分使用对数曲线,它在 Rec 2100中成为一种标准
元数据(metadata)
包含静态元数据和动态元数据两种,静态元数据是指单个母带使用相同元数据配置,动态元数据则是母带每一帧都支持的元数据
静态元数据
在HDR10 中用到了 SMPTE ST2086定义的静态元数据,包含了最大最小亮度、三基色坐标、最大内容亮度MaxCLL、最大平均内容亮度MaxFALL
xy Chromaticity Coordinates
xy 色度坐标,x 坐标应在 [0.0001, 0.7400] 范围内,y 坐标应在 [0.0001,0.8400] 范围内,四位小数Display Primaries
任何颜色应该表示为三原色之和,所以在显示时应该表示为xr,yr,xg, yg,xb,ybChromaticity of White Point
母带中白点的颜色,用于白平衡,一般是6500k色温设置为白点Maximum Display Mastering Luminance
母带中最大的峰值亮度,范围5~10000 cd/m2(nit),取整数Minimum Display Mastering Luminance
母带中最小最大的峰值的亮度,范围0.0001~5.0000 cd/m2(nit),取0.0001的倍数
动态元数据
SMPTE ST 2094定义了动态元数据,其中常用的有SMPTE ST 2094-10和SMPTE ST 2094-40,前者对应杜比视界,后者对应HDR10+,他们又都基于SMPTE ST 2094-1
上面提到的SMPTE ST 2084/2086/2094/ BT 601/709/2020/2100 辨析:
SMPTE ST 2084是比较特殊的一个标准,其主要是定义了PQ曲线,也就上面讲到的一种EOTF
SMPTE ST 2086/2094 虽然和2084长得比较像,但其实是不一样的存在;2086/2094在PQ的基础上,添加了metadata的内容
SMPTE ST 2086 定义了静态元数据,SMPTE ST 2094-xx 定义了动态元数据
2086定义了静态元数据,而2094定义了动态元数据,有两个变种:
SMPTE ST 2094-10 应用于DolbyVision
SMPTE ST 2094-40 应用于HDR10+
android P 代码中对于 SMPTE ST2086 静态元数据的定义如下:
struct android_xy_color {
float x;
float y;
};
struct android_smpte2086_metadata {
struct android_xy_color displayPrimaryRed;
struct android_xy_color displayPrimaryGreen;
struct android_xy_color displayPrimaryBlue;
struct android_xy_color whitePoint;
float maxLuminance;
float minLuminance;
};
HDR 标准介绍
HDR 10
HDR10的定义包括:
- EOTF:PQ
- 颜色深度:10bit
- 色域空间:由BT.2020/2100定义
- 使用静态元数据:SMPTE ST2086
- 色度抽样方式:YUV 420
HDR10在技术上被限制为最大 10000 尼特的峰值亮度,但普通 HDR10 内容的峰值亮度为 1000 到 4000 尼特,HDR10 不向后兼容 SDR 显示器(即SDR显示器无法显示HDR10内容)在不同的显示器上,如色彩量或者峰值亮度较低的HDR10显示器上,静态元数据可以帮助调整显示内容,但是HDR10的元数据是静态的,即对整个视频都是相同的,对每一帧/不同的分镜场景并没有特别的调整,所以在还原创作意图上可能会有些问题
PQ10
PQ10在定义上和HDR10完全相同,除了一点:没有静态元数据
HDR10+
- EOTF:PQ
- 颜色深度:10bit~16bit
- 色域空间:由BT.2020/2100定义
- 色度抽样方式:YUV420
- 最大化线性像素值:每种颜色 R/G/B(内容)10000 cd/m2
- 使用动态元数据
杜比视界(Dolby Vision)
- EOTF:PQ
- 颜色深度:up to 12bit
- 峰值亮度:10000nit( 参考显示器等专业参考显示器目前的峰值亮度限制为 4000 尼特),以及最低峰值亮度要求达到1000nit
- 黑电平:不超过0.005nit
- 对比度:至少:200000:1
- 色域空间:至少99%的DCI-P3
- RGB原色:由BT.2020/2100定义
- 色度抽样方式:YUV420
- 最大化线性像素值:每种颜色 R/G/B(内容)10000 cd/m2
- 静态(SMPTE ST 2086)/动态(SMPTE ST 2094-10,杜比格式)元数据
HDR 电视
电视显示领域的HDR是指高动态范围(High-dynamic-range)显示技术,与之对应的则是传统的SDR(标准动态范围)显示技术;动态范围越大,图像所能记录的亮/暗部细节就越丰富
为了达到 HDR 的效果,需要关注色域空间,色彩深度和峰值亮度这几个技术指标,目前的HDR标准也基本包含了这几个指标
- 杜比视界(Dolby Vision)的要求比较具体,被称为最高级别的HDR标准,
要求最低峰值亮度至少达到1000nit,色域空间至少99%的DCI-P3和12Bit 的颜色深度,支持动态元数据;
HDR10 10BIT 色深最高支持10.7亿的色彩数量,DoblyVison 的12Bit 色深却可以提供 687亿的色彩数量,色深范围越大,视频中显示的颜色也就越细腻越逼真;要Dolby Vision 必须通过Dolby的认证,需要交一笔版权费;
Dolby Vision作为效果最佳的HDR格式,算法上会充分发挥硬件的极限性能,但应用在部分亮度高的电视时,极限亮度会降低用户观看舒适度,所以现有Dolby Vision对设备适配和应用场景是有要求的,Dolby Vision IQ就是来解决这一痛点的,IQ意为聪慧,它很聪明的利用电视内置的光线感应装置,根据观看时的环境光线,自动调节Dolby Vision HDR亮度
目前支持 Dolby Vision IQ的电视品牌主要有LG,国内只有 Hisense支持,Hisense U7G pro 电视的规格参数如下:
主要参数中也只支持10亿的色彩,目前除非专业的显示设备,支持12bit 的显示器或者电视还不存在;
-
HDR10+ 电视
HDR10+ 也要经过认证,至少要支持 10Bit色深和动态元数据
OPPO电视K9 通过了 HDR10+ 认证,主要参数如下: