一种用于低亮度显示器的HDR 10图像亮度映射算法
2023-09-19陈姿伶
陈姿伶
(深圳康佳电子科技有限公司,广东 深圳 518053)
0 引 言
随着市场对数字图像和视频质量要求的逐渐提高,近年来出现了很多超高清晰度的图像和视频格式。国际电信联盟(International Telecommunication Union,ITU)在2015年制定了UHDTV BT.2020标准,定义了电视广播与消费电子领域关于超高清视频的各项参数指标,同时推出了高动态范围HDR(High Dynamic Range,HDR)技术。现实世界中的场景具有很大的动态范围,比如阳光的动态范围约105cd·m-2,室内光线的动态范围约102cd·m-2,而星光的动态范围约10-3cd·m-2。相比传统的SDR技术,HDR技术具有更宽的色彩范围、更大的图像对比度,能使明亮的场景更为自然,并能展现较暗区域的更多细节,可以还原标准动态范围中损失的图像质感,给体验者带来更有冲击力的视觉感受。然而,低亮度显示器在呈现HDR图像效果时不仅无法呈现HDR技术的优点,甚至有可能出现负面的影响[1-4]。
1 HDR格式
2018年制定的BT.2100标准进一步规范了高动态范围图像的制作,规定了两种光电转换曲线:一是由杜比公司提出的感知量化(Perceptual Quantization,PQ)光电转换算法,一种是NHK公司和BBC公司联合推出的混合对数型伽玛(Hybrid Log-Gamma,HLG)光电转换算法。PQ的光电转换曲线是一种基于人眼特性的曲线,它的最高亮度是固定的,是一种绝对映射。HLG的光电转换曲线是一种相对映射,可以兼容传统的SDR Gamma曲线。目前,HDR的格式主要有Dolby Vision HDR、HDR10、HDR 10+及HLG等。Dolby Vision HDR、HDR10、HDR 10+都是基于PQ算法的HDR格式,HLG是基于HLG算法的HDR格式。BT.2100标准也规定了HDR至少以10 bits位深进行编码、传输。在首批运用PQ光电转换算法的公司中,蓝光光盘协会将10 bits视频信号加入他们的标准,并称之为HDR 10[2]。
为了良好地显示HDR内容,基于PQ的HDR引入了元数据(Metadata),通过元数据来告知显示器需要显示的图像信息。元数据包含图像母版色度坐标、母版最高亮度MaxDML、母版最小亮度MinDML、图像最大平均帧亮度MaxFALL以及图像最大内容亮度MaxCLL等数据。元数据又分为静态元数据和动态元数据。静态元数据在整个图像视频中的图像信息是相同的,而动态元数据的图像信息是逐帧设置的。Dolby Vision HDR和HDR 10+采用了动态元数据,而HDR 10采用了静态元数据。相比杜比的Dolby Vision HDR和三星HDR 10+都有认证技术要求,HDR 10是最基础的HDR格式,也是普及率最广的HDR格式。
2 HDR 10图像显示存在的问题
基于PQ的HDR图像具有0到10 000 nit的亮度范围,采用电影电视工程师协会(The Society of Motion Picture and Television Engineers,SMPTE)ST.2084标准定义的光电转换函数(Optical Electronic Transfer Function,OETF)进行图像编码,显示设备则通过电光转换函数(Electronic Optical Transfer Function,EOTF)进行图像解码。
HDR 10图像在母版制作时会根据监视器的亮度进行相应的OETF转码。目前常用的转码亮度为1 000 nit、2 000 nit、4 000 nit、10 000 nit,也就是元数据里面的MaxDML参数。显示器接收到HDR 10图像后,需要先获取MaxDML参数,根据这个参数将线性颜色值L转换为光学亮度值C。
普通显示器无法达到10 000 nit的显示亮度,因此无法实现对输入信号亮度的线性输出亮度响应,导致图像可能被限幅。比如Dolby的4 000 nit Pulsar监视器,需要在标准EOTF曲线的90%左右达到峰值;Sony BVM-X300的1 000 nit监视器,需要在标准EOTF曲线的75%左右达到峰值。对于峰值亮度普遍低于1 000 nit的普通家用低亮度显示器,在显示HDR图像时,编码亮度超出了显示器的显示能力范围,高亮度和低亮度的图像信息丢失情况会更加严重,导致图像质量降低。
Dolby Vision HDR和HDR 10+通过采用动态元数据的方式对图像进行逐帧处理,显示器根据接收的图像信息,逐帧调整EOTF响应,可以更好地处理这种情况。但HDR 10因为采用的是静态元数据,携带的图像信息是固定的,所以当显示器的亮度低于编码亮度时,极容易出现高亮度场景过曝、低亮度场景细节无法显示的现象,从而恶化可视性。
3 HDR 10图像的亮度映射方法
为解决显示HDR 10图像时出现的负面影响,低亮度显示器接收到HDR 10图像后,可以根据图像携带的元数据信息对解码后的HDR 10图像亮度进行重新映射处理,使高亮度图像像素以更平滑的方式接近显示器峰值亮度,并提升暗部图像像素的亮度,改善HDR 10图像的可视性。具体过程如下。
3.1 HDR 10图像解码
显示器接收到HDR 10图像后,先解析元数据携带的图像信息,获得母版最高亮度MaxDML、图像最大内容亮度MaxCLL、非线性颜色图像灰度值N、HDR图像传输位深n等信息,M为HDR 10图像的亮度信息编码值,是属于[0,2n]范围内的自然数。N与M的关系为
式中:M∈[0,2n]。
根据ST.2084标准定义的EOTF曲线将接收到的非线性颜色图像灰度值N转换为线性颜色值L,再转换为光学亮度值C[3],公式为
式中:光学亮度值C的单位为cd·m-2,代表光输出值;HDML为母版最高亮度MaxDML;m1、m2、c1、c2、c3为常数,定义如下。
3.2 输入信息处理
输入信息处理是将光学亮度值归一化到显示设备的峰值亮度。设Yin为光学亮度值C对应的标准输入亮度,Ypeak为显示器的最大峰值亮度,Ytin为标准输入亮度归一化后的值,处理公式为
3.3 设定阈值和6 500 K色温的亮度信息比例值
设Itp为高亮度图像信息阈值,Mtp为阈值对应的亮度信息编码值,Y[Mtp]为阈值对应的标准输入亮度,Ytp为归一化亮度值,定义为
式中:Mtp=[Itp×2n]。
设YD65为显示器在6 500 K色温下的亮度,Icp为显示器在6 500 K色温下的亮度和峰值亮度的比例值,定义为
3.4 亮度映射
通过函数将HDR 10图像输入信息映射到显示设备的归一化输出亮度Ytout,映射函数包括根据高亮度图像信息阈值Itp划分的第一映射函数和第二映射函数。大于阈值的图像像素采用第二映射函数进行处理,处理后大于阈值的图像亮度到最大峰值亮度之间的图像亮度将会逐渐增加,从而使大于阈值的高亮度图像可区分,避免高亮度场景发生图像过曝现象。而小于阈值的低亮度图像像素采用第一映射函数,如果将映射函数中系数k设置为1,相当于直接还原。如果k大于1,可以提高接收到的HDR 10图像低亮度场景的图像像素,以更好地还原暗部细节。归一化输出亮度Ytout映射函数定义为
式中:b为常数。随着b值的减小,曲线变得平缓。该值可以根据实际图像效果进行适当调整,调整后的图像过渡会较为平滑。HDR 10元数据中还包含图像最大内容亮度MaxCLL信息,如果HDR 10图像内容亮度偏低,可以降低映射函数的影响,根据获取的母版最高亮度和图像最大内容亮度对b值进一步控制。设a为大于等于1的常数,HDML为母版最高亮度MaxDML,HCLL为图像最大内容亮度MaxCLL,HCLL≤HDML,公式为
3.5 亮度输出
将映射后得到的归一化输出亮度Ytout根据显示器的峰值亮度还原到输出亮度Yout,因显示器在6 500 K色温时的最大亮度小于或者等于显示器的峰值亮度,以6 500 K色温显示时,输出亮度将会被限幅到YD65,公式为
3.6 举 例
HDR图像的最大亮度为10 000 nit。考虑到显示设备的亮度限制,母版制作一般使用4 000 nit[5]。假设获取到的HDR 10图像信息中的母版最高亮度MaxDML为4 000 nit,图像最大内容亮度MaxCLL为4 000 nit,位深为10 bit,显示设备峰值亮度为800 nit,6 500 K色温时亮度为540 nit,则亮度信息比例Icp=0.675。将接收到的HDR 10图像信息通过映射函数转换为实际输出亮度值,最后得到的图像处理结果如图1所示。
图1 映射函数处理结果
显示器如果根据基本PQ-EOTF曲线对输入的亮度信息进行解码,则暗细节不易区分,高亮图像部分容易饱和,图像可分辨性差。如果根据映射函数对HDR 10图像做处理,低于高亮度图像信息阈值Itp的部分通过第一映射函数处理,当k>1就可以提升暗场部分亮度,从而增加HDR 10图像在低灰度的可分辨性。HDR 10图像中高于亮度图像信息阈值Itp的部分通过第二映射函数逐渐增大到6 500 K色温时最大亮度,则高亮度对应的图像像素变化缓慢,从而增加HDR 10图像在高亮场景的可分辨性。
4 运用成果
以4 000 nit的HDR 10图像为例,如图2所示,左侧图像为原始图像,中间图像为使用PQ-EOTF解码还原的图像,右侧图像为使用映射函数处理后的图像。可见,监视器显示的原始状态层次清晰。如果是在低亮度显示器上通过PQ-EOTF解码后直接显示,则高亮图像场景过曝,亮部图像的层次、细节不可见,暗部细节损失太多,几乎不可见。通过映射函数处理后,超过高亮度图像信息阈值Itp的部分通过第二映射函数缓慢增加,低于高亮度图像信息阈值Itp的部分通过第一映射函数提升了亮度,增加了高亮和暗场图像场景的可见性,从而提高了HDR 10图像在低亮度显示器上的显示效果,更好地展现了HDR 10图像的特点。
图2 示例图像及处理后的显示效果
5 结 语
针对HDR 10图像在低亮度显示器上显示时易出现高亮度场景过曝和低亮度场景过暗的情况,本文根据图像携带的元数据信息对解码后的HDR 10图像进行重新映射,让高亮度图像像素以更平滑的方式接近显示器峰值亮度,并提升暗部图像像素的亮度,从而增加HDR 10图像的可视性,实现了在低亮度显示器上提升HDR 10图像显示效果的目的。