分享

【技术前沿】HDR转换曲线比较

 阴阳东2018 2019-06-05

1

背景

随着显示技术的发展以及消费者对更极致观影体验的追求,超高清电视(UHDTV)逐渐成为热点话题,高分辨率、高帧率、高动态范围(HDR)、宽色域(WCG)是超高清电视的主要特征,其中高动态范围是近年的热点研究问题。

目前已推出的HDR技术标准以杜比视觉(Dolby Vision)、HDR 10、HLG为主流。EOTF(光电转换函数)是HDR技术标准中的关键技术,主要分为两种PQ(perceptual quantizer)和HLG(Hybrid Log-Gamma),前者由杜比公司研制推出,后者由NHK和BBC联合制定推出。

那么对于HDR为什么要设定新的EOTF而不沿用SDR的设定呢?

目前大部分SDR显示器峰值显示亮度在100 nits左右,其EOTF采用的是gamma曲线,而HDR需要能够显示10000 nits的峰值亮度,如果继续采用SDR的EOTF那么需要14 bits位深的像素来编码,这对于传输和存储都极为不利,好在人眼对于高亮度区域不如暗处敏感,利用这个特点,通过模拟人眼的生理特性提出的新的EOTF可以在不引入任何伪影的情况下用10bit或12 bit的像素来编码HDR内容。PQ曲线就是以此为基础提出的[1]。

而HLG主要是基于如何使HDR内容与目前广泛运用的广播基础设施及SDR内容兼容而提出的。所以HLG曲线在低动态范围时与SDR的gamma曲线一致,同时根据韦伯定律对高动态范围的曲线重新进行了定义,从而完成对HDR和SDR内容的兼容[2]。

2

基本概念介绍

色彩值(color value)

色彩值是用于描述一张图像中特定颜色分量(如R、G、B或Y)的数值。

数字编码值(digital code value)

一张图像信号值的数字表示,通常是非线性的颜色值。

电光转换函数(EOTF)

用于描述输入显示器的非线性颜色值(数字编码像素值)和显示器所显示的线性颜色值之间的关系。

光电转换函数(OETF)

用于描述线性颜色值与非线性颜色值(数字编码像素值)之间的关系。

光光转换函数(OOTF)

用于描述相机捕获光线值与显示器所显示光线强度之间的关系。

高动态范围(HDR)

图像或显示设备可以存储或显示的亮度等级范围要远大于传统成像系统。在SMPTE 2084标准中设定峰值亮度为10000 nits。

线性颜色值(Linear Color Value)

缩写记为L,归一化到[0, 1],与显示设备的输出光线强度成正比,但不与图像信号的编码值成正比。

非线性值(Nonlinear Color Value)

缩写记为N,归一化到[0, 1],与图像信号的编码值成正比,但不予显示设备的输出光强度成正比。

电视信号链(Television signal chain)

描述从相机的信号采集到显示器显示的整个过程,包括相机和显示器两部分的非线性变化。相机采集部分的非线性化由OETF描述,显示器显示部分非线性化由EOTF描述,整个流程如图2.1所示。

图2.1 电视信号链

元数据(metadata)

内嵌在HDR信号中对信号接收显示器提供关于分级显示的参数信息的一组数据,从而在不同显示器上对同一图像提供最佳的显示效果。

3

PQ曲线

PQ由杜比公司研发制定,并由SMPTE组织在SMPTE ST 20843公布,是适应于HDR(亮度等级高于10000cd/m^2,并且色域适用于BT.2020标准)显示器的电光转换函数(EOTF)。它被Ultra HD Forum写进了UHD Phase A中,也被ITU写进了Rec.2010中。同时PQ被应用于第一个HDR标准Dolby Vision,和HDR 10中(HDR 10 是Dolby Vision的简化版主要差异体现在元数据方面)。

3.1 EOTF

3.1.1 EOTF的线性化公式

PQ的EOTF线性化公式定义如式(3.1)所示,

N表示非线性的像素编码值;

L表示对应的线性色彩值;

m1= 2610/4096 ×1/4 = 0.1593017578125;

m2=2523/4096 ×128 = 78.84375;

c1= 3424/4096 = 0.8359375 =C3 - C2 + 1;

c2= 2413/4096×32 = 18.8515625;

c3= 2392/4096 × 32 = 18.6875;

具体的函数图像如图3.1所示,

图3.1 PQ的EOTF函数图像

3.1.2 EOTF的校准公式

 (3.1)所表示的方程被构造成在特定亮度范围与人类视觉对比敏感度一致,即是一个相对值,所以下式定义了显示器所输出的亮度绝对值:

                  C= 10000L         (3.2)

L表示线性的彩色值;

C表示对应的显示器光线输出值单位为nit。

3.2 Inverse EOTF

Inverse EOTF是指将显示器的光线输出值转换为非线性彩色值N。具体而言分为两步归一化过程和非线性编码过程。

3.2.1 线性化

 L= C/10000       (3.3)

C表示光线输出值;

L表示对应的线性彩色值;

3.2.2 非线性编码

L表示线性彩色值;

N表示对应的非线性彩色值;

m1= 2610/4096×1/4  =  0.1593017578125;

m2= 2523/4096 ×128  = 78.84375;

c1= 3424/4096 = 0.8359375 =C3 - C2 + 1;

c2= 2413/4096×32 = 18.8515625;

c3= 2392/4096 × 32 = 18.6875;

4

HLG曲线

HLG(Hybrid Log-Gamma),是由BBC和NHK联合提出高动态范围标准,它分段定义了转换函数,不收取专利费用, 已经写入 ATSC 3.0, Digital Video Broadcasting (DVB) UHD-1 Phase 2和BT.2100,已经被youtube,BBC iplayer,Freeview等播放设备支持。

HLG可以让电视广播信号同时兼容HDR与非HDR的电视。其信号中不包含元数据,可以与目前广播电视的传输设备与显示设备相兼容,同时由于不收取专利费用,更有利于HDR技术在有线、无线与卫星电视领域进行推广和传播。与PQ不同,HLG技术会分别对信号中的高光和低光部分进行编解码,其中低光部分采用与SDR相同的标准伽马曲线,高光部分则基于韦伯定律使用对数曲线,从而使画面起到高动态范围的效果。

4.1 OETF

现代相机能够捕获的动态范围相比较于由传统gamma曲线能表达的动态范围要大很多。为了尽量利用整个动态范围,传统的相机采用被称为‘knee’的特征来扩展信号的动态范围。所谓‘knee’特征就是压缩图像高光区域以防止信号的“溢出”和过曝。HLG在高光区域也进行了压缩,但与‘knee’不同。

HLG的OETF定义如下:

E是用参考白点(即光源)归一化后的线性值,

E`是得出的非线性值;

r是参考白点,其值为0.5;

a = 0.17883277;

b = 0.28466892;

c = 0.55991073

关于SDR的gamma曲线和带有‘knee’特征的gamma曲线以及HLG曲线的对比如图4.1所示。

图4.1 三种曲线的对比

4.2 OOTF

正如我们所了解的,电视机等现实设备所显示的光线强度与相机所捕获的光线强度并不是正比的,整个系统的非线性关系可以用OOTF来描述。这种非线性的产生主要由于在实际昏暗的观看环境下,需要对所传播的内容进行补偿,否则显示效果会过亮,造成不佳的观看体验。OOTF的关键在于确定gamma值,传统的SDR显示设备的gamma值为1.2,但对于HDR其最亮部分和最暗部分存在巨大差异,系统OOTF的gamma值也需要因此改变。

经过一系列实验[2],结果如图4.2所示,根据实验结果可以总结出系统gamma函数选择的经验公式。

图4.2 不同亮度显示器Gamma值的选择

依据此公式,对于HDR电视的系统gamma值需要对不同显示亮度进行自适应整。对于背景为10 nits,显示亮度在1000 nits左右的OLED屏幕,gamma值确定为1.4左右效果最好;对于显示亮度在几千尼特左右的LCD屏幕,gamma值确定在1.5左右效果最好。虽然gamma值选择的差异看起来很小,但是它们对显示效果有巨大的影响。

4.3 EOTF

一个完整的电视系统,我们不光需要定义OETF,还需要定义与之对应的EOTF,这样才能将相机捕获的场景的光线幅度值映射为显示器发出的光线强度值。EOTF需要执行以下映射关系:  

(1)   保留原始媒体资源制作者的艺术意图;

(2)   支持显示器能够显示的最大的动态范围;

(3)   最小化量化伪影;

据此提出以下函数作为HLG的EOTF:

其中Yd是像素在显示器上显示的亮度值,Ys是像素所表示的场景的亮度值,γ是上文所讨论的系统gamma值,α和β与ITU-R 1886中所定义的类似,分别控制着对比度和亮度,它们决定着显示器的峰值亮度和最小亮度。

4.4INVERSE OETF

在我们计算显示器的显示亮度Yd时,需要用到像素所存储的场景的相对亮度值,这就需要用到Inverse OETF从像素值R`、G`、B`中恢复对应的线性值R、G、B,其定义如下:

通过Inverse OETF就可以进一步得到场景相对亮度值(假设在BT 2020的色域要求下)。

5

动态、静态元数据的对比

首先我们需要了解,元数据存在于基于PQ的HDR格式中,如Dolby Vision和HDR 10,而基于HLG的HDR不需要元数据。

这是因为PQ标准是一个绝对标准,意味着每个输入数据电平都有绝对输出亮度值,不存在变化,除非改变伽马曲线(EOTF)。当电视机的峰值亮度被校准后(一般SDR显示器为100nits),由于PQ的绝对性,无法增加显示器的光输出,如表4.1和图4.3所示;而HLG是以一个相对标准,把输入信号的75%定义为白(diffuse white),可以按照与传统SDR电视完全相同的方式进行缩放,此外,还包括基于亮度的系统伽玛变量,特别针对环境照明问题。

所以,当HDR被引入时,由于没有电视可以匹配主控/分级显示器(制作原视频的显示器)的峰值亮度和色域覆盖率,特别是峰值亮度。由于基于PQ的HDR的“绝对性”与主控显示无关,所以它们的峰值亮度不一样(不同显示器的峰值亮度都不一样)。为了试图克服这个问题,便引入了元数据以允许HDR电视重新映射(色调映射或逆色调映射)图像内容。

表4.1 峰值亮度为1000 nits的显示器对基于PQ输入数据的显示亮度值[4]

图4.3 10bit PQ亮度等级与编码值对应关系[4]

PQ元数据有两种形式——静态和动态。

静态和动态元数据都包括显示RGB色度坐标的母带,白点色度和最小/最大亮度;它还包括最大帧平均光级(MaxFALL),其定义最亮的帧;以及最大内容光级(MaxCLL),其定义最亮的像素。

静态元数据在使用数据的所有时间内使用相同的值,而动态元数据会根据需要进行更改(可能会逐帧进行)。 HDR10使用静态元数据;而Dolby Vision和HDR10 +使用动态。

具体例子可见下图,静态元数据只能对某一场景如最亮的场重新映射,而动态元数据可以分别对不同场景进行不同的映射[3]。

图4.4 静态元数据的映射(只针对了过亮场景的映射)

图4.5 动态元数据的映射(针对不同场景有不同的映射)

目前关于动态元数据的定义在SMPTE 2094中有具体定义,主要技术来自于杜比(Parametric Tone Mapping),飞利浦(Parameter-based Color Volume Reconstruction), Technicolor(Reference-based Color Volume Remapping),三星(Scene-based Color Volume Mapping)以及其他80余家公司提供的技术支持。

6

总结

在实际应用中,PQ与HLG的应用场景各有侧重,PQ更注重于画质,通过元数据可以对显示效果进行自适应的调整,适用于电影的制作,同时可以支持更大的动态范围(10000nits);而HLG兼容性更好,不需要传输额外的元数据,既节省了带宽又能够继续使用现阶段的SDR设备,但最大动态范围只能支持5000 nits。当然为了设备与内容的兼容,目前也有PQ与HLG相互转换的研究。

与PQ对应的HDR标准,Dolby Vision、HDR 10、HDR 10 +,和与HLG对应的HDR标准,都有众多设备生产上和内容制作商支持,相信不久的将来,以HDR为主要特点的高清电视将会全面普及。

参考文献

[1] https://www./us/en/technologies/dolby-vision/dolby-vision-white-paper.pdf

[2] http://downloads./rd/pubs/whp/whp-pdf-files/WHP309.pdf

[3] https://www./sites/default/files/2017-01-12-ST-2094-Borg-V2-Handout.pdf

[4] https://www./uhdtv.html

END

作者简介

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多