动态范围映射的方法和装置

文档序号:196207 发布日期:2021-11-02 浏览:49次 >En<

阅读说明:本技术 动态范围映射的方法和装置 (Method and apparatus for dynamic range mapping ) 是由 徐巍炜 余全合 陈虎 王弋川 于 2020-04-30 设计创作,主要内容包括:本申请提供了动态范围映射的方法和装置,有助于在图像的最大显示亮度与显示设备的最大显示亮度接近时,避免出现映射之后的终端设备的像素的亮度比原始的图像还要亮的异常现象。该动态范围映射的方法,包括:获取终端设备的显示参数;获取图像数据的特征信息;获取所述图像数据的第一色调映射曲线的第一参数;在预设条件成立时,根据所述第一参数、所述终端设备的显示参数和所述图像数据的特征信息,得到第二色调映射曲线的第二参数,其中,所述第二色调映射曲线上第一点处的输出亮度不高于所述第二色调映射曲线上的所述第一点的输入亮度;根据所述第二色调映射曲线的第二参数对所述图像数据进行动态范围映射。(The application provides a dynamic range mapping method and device, which are beneficial to avoiding the abnormal phenomenon that the brightness of a pixel of a terminal device after mapping is brighter than that of an original image when the maximum display brightness of an image is close to that of a display device. The dynamic range mapping method comprises the following steps: acquiring display parameters of terminal equipment; acquiring characteristic information of image data; acquiring a first parameter of a first tone mapping curve of the image data; when a preset condition is met, obtaining a second parameter of a second tone mapping curve according to the first parameter, the display parameter of the terminal equipment and the characteristic information of the image data, wherein the output brightness of a first point on the second tone mapping curve is not higher than the input brightness of the first point on the second tone mapping curve; and carrying out dynamic range mapping on the image data according to a second parameter of the second tone mapping curve.)

动态范围映射的方法和装置

技术领域

本申请涉及显示技术领域,并且更具体地,涉及一种动态范围映射的方法和装置。

背景技术

动态范围(dynamic range,DR)在很多领域用来表示某个变量的最大值和最小值的比率。在数字图像中,动态范围表征了在图像可显示范围内的最大亮度与最小亮度之间的比率,也就是图像从“最亮”到“最暗”之间灰度划分的等级数,其单位为坎德拉每平方米(cd/m2),也可以表示为尼特(nits)。一个图像的动态范围越大,它所能表示的亮度层次越丰富,图像的视觉效果越逼真。由于真实世界中自然场景的动态范围在10-3到106之间,动态范围非常大,因此称之为高动态范围(high dynamic range,HDR)。相对于高动态范围图像,普通图像的动态范围为标准动态范围(standard dynamic range,SDR)或低动态范围(lowdynamic range,SDR)。

现阶段的显示设备,一般把动态范围不足0.1到400nits的称为SDR显示设备;把动态范围超过0.01到540nits的称为HDR显示设备。不同的高动态范围显示设备显示动态范围也不同,如0.01到540nits的HDR显示设备,0.005到1000nits的HDR显示设备等。动态范围的映射的方法主要应用在前端HDR信号和后端HDR的显示设备的适配过程中,包括从高到低的色调映射(tone-mapping)过程,以及从低到高的色调映射过程。例如,前端是采集到的4000nit的光照信号,而后端显示设备的HDR显示能力只有500nit,因此将4000nit的光照信号映射到500nit的显示设备上,是一种从高到低的映射过程。又例如,前端是采集到的100nit的SDR光照信号,而后端显示设备的HDR显示能力为2000nit,因此将100nit的光照信号映射到2000nit的显示设备上,是一种从低到高的映射过程。

现有技术中,在图像的最大亮度小于显示设备的最大显示亮度的情况下,可以采用基于“S”型曲线的动态范围的映射算法,将高动态范围图像调整到显示设备所能显示的动态范围内进行显示。但是,在图像的最大亮度与显示设备的最大显示亮度接近的情况下,若果仍然使用上述方案,会导致映射之后的显示设备的像素的亮度比原始的图像还要亮的异常现象,影响用户体验。

发明内容

本申请提供一种动态范围映射的方法和装置,有助于在图像的最大显示亮度与显示设备的最大显示亮度接近时,避免出现映射之后的终端设备的像素的亮度比原始的图像还要亮的异常现象。

第一方面,提供了一种动态范围映射的方法,包括:

获取终端设备的显示参数;

获取图像数据的特征信息;

获取所述图像数据的第一色调映射曲线的第一参数;

在预设条件成立时,根据所述第一参数、所述终端设备的显示参数和所述图像数据的特征信息,得到第二色调映射曲线的第二参数,其中,所述第二色调映射曲线上第一点处的输出亮度不高于所述第二色调映射曲线上的所述第一点的输入亮度;

根据所述第二色调映射曲线的第二参数对所述图像数据进行动态范围映射。

因此,本申请实施例通过对第一色调映射曲线的参数进行进一步的调整,使得调整后的曲线参数(即第二参数)对应的色调映射曲线(即第二色调映射曲线)上的某一点的输出亮度不高于该点对应的输入亮度,从而有助于在图像的最大显示亮度与显示设备的最大显示亮度接近时,避免出现映射之后的终端设备的像素的亮度比原始的图像还要亮的异常现象。

本申请实施例可以应用于终端设备,该终端设备例如为显示端设备。显示端设备的产品形态可以为机顶盒、电视显示设备、手机显示设备,以及网络直播、视频应用的转换设备等电子设备。作为示例,在机顶盒、电视显示设备或手机显示设备上,本申请实施例提供的方案可以以硬件芯片的形态实现,在网络直播或视频播放设备上,本申请实施例提供的方案主要以软件程序代码的形态实现,但是本申请实施例并不限于此。

示例性的,图像数据,例如可以为HDR源或SDR源等,例如为图像中的像素数据,比如每个像素点的亮度和颜色数据等。

示例性的,图像数据的特征信息例如可以从图像数据的元数据M中获取,元数据M例如可以包括该图像数据对应的曲线参数Mcurve、目标系统显示实际峰值亮度MTPL(targetedsystem display actual peak luminance)、图像数据的内容的亮度的最大值MaxSource(所有像素的Y分量的最大、或者所有像素RGB分量的最大值的最大值)、最小值MinSource(所有像素的Y分量的最小、或者所有像素RGB分量的最大值的最小值)、平均值(所有像素的Y分量的平均值、或者所有像素RGB分量的最大值的平均值)、显示内容的变化范围等,本申请实施例对此不作限定。

一些实施例中,还可以从图像数据V的像素信息中获取该图像数据的特征信息;或者使用预设值的图像数据的特征信息值,本申请实施例对此不作限定。

示例性的,终端设备的显示参数MTPL可以包括终端设备的最大显示亮度MaxDisplay和/或最小显示亮度MinDisplay,或者其他参数,本申请实施例对此不作限定。

结合第一方面,在第一方面的某些实现方式中,符合下列任意之一的条件时,则所述预设条件成立:

根据所述第一参数对于图像数据进行色调映射时,所述第一色调映射曲线上第二点处的输出亮度高于所述第一色调映射曲线上的所述第二点处的输入亮度;或者

所述第一参数中的参数pP1大于第一值Tp,其中,所述第一值Tp是根据所述第一参数中的aP1,以及预设的aP1与pP1的对应关系获得的,其中,Tp表示曲线参数p的阈值。当第一参数pP1超过了Tp时,就有可能出现第二色调映射曲线上的某一点处输出亮度高于输入亮度的现象;或者

所述第一参数中的参数aP1大于第二值Ta,其中,所述第二值Ta是根据所述第一参数中的pP1,以及预设的aP1与pP1的对应关系获得的其中,Ta表示曲线参数a的阈值,当第一参数aP1超过了Ta时,就有可能出现第二色调映射曲线上的某一点处输出亮度高于输入亮度的现象;或者

所述第一参数中的参数aP1与参数pP1的乘积大于第三值Tap,其中,所述第三值Tap为预设的有理数,当第一参数中的参数aP1与参数pP1的乘积超过了Tap时,就有可能出现第二色调映射曲线上的某一点处输出亮度高于输入亮度的现象。示例性的,该第三值Tap可以为3~4之间的有理数,例如3.2或3.4,本申请实施例对此不作限定。

因此,本申请实施例能够在上述预设条件成立,即按照第一色调映射曲线对于图像数据进行色调映射,会造成第一色调映射曲线上的某一点的输出亮度高于该第一色调映射曲线上的该点的输入亮度时,执行生成上述第二色调映射曲线的第二参数的过程。

结合第一方面,在第一方面的某些实现方式中,所述第二参数包括第一一次样条曲线参数,所述第一一次样条曲线参数包括所述第二色调映射曲线中的第一一次样条的斜率MB[0][0]或所述第一一次样条的区间像素点的亮度值的最大值TH3[0]。

本申请实施例中,在根据第二参数对图像数据进行动态范围映射时,在图像数据的暗区可以使用该直线部分(即第一一次样条)进行色调映射,这样可以控制亮度的增益,同时更方便控制第二参数从直线逐渐变化到y=x的直线,其中y=x的直线相当于色调映射曲线上的任一点的输出亮度等于输入亮度,因此本身实施例对于亮度渐变的内容不容易引起闪烁的现象。

结合第一方面,在第一方面的某些实现方式中,所述第一参数包括第二一次样条曲线参数,所述第二一次样条曲线参数包括所述第一色调映射曲线中的第二一次样条的斜率MB_mid[0][0]和所述第二一次样条的区间像素点的亮度值的最大值TH3_mid[0],所述显示参数包括所述终端设备的最大显示亮度MaxDisplay,所述特征信息包括所述图像数据的最大亮度校正值max_lum;

其中,所述根据所述第一参数、所述显示参数和所述特征信息,获取第二色调映射曲线的第二参数,包括:

根据所述最大显示亮度MaxDisplay、所述最大亮度校正值max_lum,对所述曲线参数MB_mid[0][0]和TH3_mid[0]进行调整,获取所述曲线参数MB[0][0]和TH3[0]。

因此,本申请实施例可以根据第一色调映射曲线中的第二一次样条的斜率MB_mid[0][0]和该第二一次样条的区间像素点的亮度值的最大值TH3_mid[0],以及终端设备的最大显示亮度MaxDisplay和图像数据的最大亮度校正值max_lum,来获取该第二色调映射曲线的第一一次样条的斜率MB[0][0]和第一一次样条的区间像素点的亮度值的最大值TH3[0]。

结合第一方面,在第一方面的某些实现方式中,所述曲线参数MB_mid[0][0]和TH3_mid[0],以及所述曲线参数MB[0][0]和TH3[0],满足以下公式:

其中,

或者,

其中

或者

其中,L为输入信号,G(L)为色调映射曲线对应的函数H(L)的逆函数,m_a、m_b、m_m、m_n、k1、k2、k3为曲线参数,G(L,m_a_T)表示G(L)的参数M_a取值为m_a_T时输入变量L对应的G(L)值N1、N2为有理数,max(a,b)表示求a和b中较大的一个值,min(a,b)表示求a和b中较小的一个值,H(L)为

或者,

结合第一方面,在第一方面的某些实现方式中,所述第二参数包括三次样条曲线参数,所述三次样条曲线参数包括所述第二色调映射曲线上的三次样条的插点值TH1[1]、TH2[1]、TH3[1],其中,TH1[1]表示所述三次样条的第一区间像素点的亮度值的最小值,TH2[1]表示所述三次样条的第一区间像素点的亮度值的最大值和所述三次样条的第二区间像素点的亮度值的最小值,TH3[1]表示所述三次样条的第二区间像素点的亮度值的最大值。

结合第一方面,在第一方面的某些实现方式中,所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]是根据所述第一参数中第二一次样条曲线参数TH3[0]和三次样条的插点值TH1[1]、TH2[1]、TH3[1]的计算相关值的预设偏移值得到的,如下所示:

TH1[1]=TH3[0];

TH2[1]=TH1[1]+B;

TH3[1]=TH2[1]+C*TH2[1]-D*TH1[1];

其中,B,C和D为所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]计算相关值的预设值,B为暗区过渡区像素点的亮度值对应的预设偏移值,C和D为亮区像素点的亮度值对应的预设加权系数。

因此,本申请实施例根据该第一参数中的第二一次样条曲线参数和三次样条的插点值TH1[1]、TH2[1]、TH3[1]的计算相关值的预设偏移值,可以得到第二参数中的三次样条的插点值TH1[1]、TH2[1]、TH3[1]。

结合第一方面,在第一方面的某些实现方式中,所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]是根据所述第一参数中第二一次样条曲线参数TH3[0]和三次样条的插点值TH1[1]、TH2[1]、TH3[1]的计算相关值得到的,如下所示:

TH1[1]=3Spline_TH[i][0][w];

TH2[1]=3Spline_TH[i][0][w]+3Spline_TH_Delta1[i][1][w];

TH3[1]=3Spline_TH[i][0][w]+3Spline_TH_Delta1[i][1][w]+3Spline_TH_Delta1[i][2][w];

其中,3Spline_TH[i][0][w]、3Spline_TH_Delta1[i][1][w]、3Spline_TH_Delta1[i][2][w]为从元数据中提取的三次样条的插点值TH1[1]、TH2[1]、TH3[1]计算相关值。

因此,本申请实施例根据该第一参数中的第二一次样条曲线参数和从元数据中提取的该三次样条的插点值TH1[1]、TH2[1]、TH3[1]的计算相关值,可以得到第二参数中的三次样条的插点值TH1[1]、TH2[1]、TH3[1]。

结合第一方面,在第一方面的某些实现方式中,所述第二色调映射曲线中的一次样条在TH3[0]处的Y坐标与所述第二色调映射曲线中的三次样条在TH1[1]处的Y坐标相同,且所述一次样条在TH3[0]处的一阶导数与所述三次样条在TH1[1]处的一阶导数相同。

这样,能够使得第二色调映射曲线中的一次样条曲线与第二色调映射曲线中的三次样条曲线在TH[1]处是连续的。

结合第一方面,在第一方面的某些实现方式中,所述第二色调映射曲线中的第一三次样条在TH2[1]处的Y坐标与所述第二色调映射曲线中的第二三次样条在TH2[1]处的Y坐标相同,且所述第一三次样条在TH2[1]处的一阶导数与所述第二三次样条在TH2[1]处的一阶导数相同。

这样,能够使得第二色调映射曲线中的第一三次样条曲线与第二三次样条曲线在TH[2]处是连续的。

结合第一方面,在第一方面的某些实现方式中,所述第二色调映射曲线中的第二三次样条在TH3[1]处的Y坐标与所述第二色调映射曲线中的第三色调映射函数在TH3[1]处的Y坐标相同,且所述第二三次样条在TH3[1]处的一阶导数与所述第三色调映射函数在TH3[1]处的一阶导数相同。

这样,能够使得第二色调映射曲线中的第二三次样条曲线与第三色调映射函数的曲线在TH[3]处是连续的。

结合第一方面,在第一方面的某些实现方式中,所述获取所述图像数据的第一色调映射曲线的第一参数,包括:

获取所述图像数据的元数据;

根据所述元数据以及所述显示参数,确定所述第一色调映射曲线的第一参数。

例如,显示端设备可以根据元数据M中的图像数据V的内容的亮度的平均值average_maxrgb,和/或亮度的最大值MaxSource,和/或亮度的最小值MinSource,和/或显示端设备的最大显示亮度MaxDisplay,和/或显示端设备的最小显示亮度MinDisplay,和/或曲线参数Mcurve(p1,p2,…),和/或其他数据,获得该第一色调映射曲线的第一参数,该第一参数例如可表示为P1curve(X,p1,p2,…)。其中,X为输入亮度值,p1,p2,…为曲线参数值。

结合第一方面,在第一方面的某些实现方式中,所述第二参数还包括一次样条曲线参数,所述一次样条曲线参数包括所述第二色调映射曲线中的第一一次样条的区间像素点的亮度值的最大值TH3C,以及所述第一一次样条的斜率Dark。

本申请实施例中,在根据第二参数对图像数据进行动态范围映射时,在图像数据的暗区可以使用该直线部分(即第一一次样条)进行色调映射,这样可以控制亮度的增益,同时更方便控制第二参数从直线逐渐变化到y=x的直线,其中y=x的直线相当于色调映射曲线上的任一点的输出亮度等于输入亮度,因此本身实施例对于亮度渐变的内容不容易引起闪烁的现象。

结合第一方面,在第一方面的某些实现方式中,还包括:

获取所述第一一次样条的初始区间像素点的亮度值的最大值TH3C0;

获取所述第一一次样条的初始斜率Dark0;

根据所述初始区间像素点的亮度值的最大值TH3C0,确定所述区间像素点的亮度值的最大值TH3C;

根据所述初始斜率Dark0,确定所述斜率Dark。

结合第一方面,在第一方面的某些实现方式中,所述获取所述第一一次样条的初始区间像素点的亮度值的最大值TH3C0,包括:

根据第一参数,确定所述初始区间像素点的亮度值的最大值TH3C0,其中,所述第一参数包括所述第一色调映射曲线中的第二一次样条的区间像素点的亮度值的最大值TH3[0];或者

根据预设值,确定所述初始区间像素点的亮度值的最大值TH3C0,该预设值例如暗视觉与亮视觉的分解,即人眼视锥细胞与视杆细胞相应强弱发生变化的亮度,比如1nit;或者

根据所述图像数据的元数据,确定所述初始区间像素点的亮度值的最大值TH3C0,其中,所述元数据包括直方图暗区像素数量的特征数据。

结合第一方面,在第一方面的某些实现方式中,所述获取所述第一一次样条的初始斜率Dark0,包括:

根据第一参数,确定所述初始斜率Dark0,其中,所述第一参数包括所述第一色调映射曲线中的第二一次样条的斜率MB[0][0];或者

根据第四值和所述区间像素点的亮度值的最大值TH3C的比值,确定所述初始斜率Dark0,其中所述第四值为所述第一色调映射曲线在所述区间像素点的亮度值的最大值TH3C处的输出值;或者

根据所述第一色调映射曲线在0至所述区间像素点的亮度值的最大值TH3C之间预设输入值的斜率值,确定所述初始斜率Dark0。

结合第一方面,在第一方面的某些实现方式中,所述初始区间像素点的亮度值的最大值TH3C0、所述区间像素点的亮度值的最大值TH3C、初始斜率Dark0和所述斜率Dark满足以下公式:

TH3C=TH3C0+(MaxSource-TH3C0)*(WA)N2

Dark=Dark0+(1-Dark0)*(WA)N1

其中,TH3C大于TH3C0,且小于MaxSource,TH3C0小于MaxSource,N1和N2为大于0的有理数,H(L)为色调映射曲线、G(L)为所述H(L)的逆函数。

结合第一方面,在第一方面的某些实现方式中,所述初始区间像素点的亮度值的最大值TH3C0、所述区间像素点的亮度值的最大值TH3C、初始斜率Dark0和所述斜率Dark满足以下公式:

TH3C=TH3C0+(MaxLum-TH3C0)*(WA)N2

DARK=DARK0+(1-DARK0)*(WA)N1

其中,MaxLum为图像数据最大亮度的调整值,TH3C大于TH3C0,且小于MaxSource,TH3C0小于MaxSource,N1和N2为大于0的有理数,H(L)为色调映射曲线函数、G(L)为所述H(L)的逆函数。

结合第一方面,在第一方面的某些实现方式中,所述第二参数还包括三次样条曲线参数,所述三次样条曲线参数中包括所述第二色调映射曲线的第一三次样条的第一区间像素点的亮度值的最小值TH1D;

所述方法还包括:

根据所述第二色调映射曲线中的第一一次样条的区间像素点的亮度值的最大值TH3C,确定所述第一区间像素点的亮度值的最小值TH1D。

结合第一方面,在第一方面的某些实现方式中,所述第二参数还包括三次样条曲线参数,所述三次样条曲线参数中包括所述第二色调映射曲线的第一三次样条的第一区间像素点的亮度值的最大值TH2D;

所述方法还包括:

根据所述第一区间像素点的亮度值的最小值TH1D,确定所述第一区间像素点的亮度值的最大值TH2D。

结合第一方面,在第一方面的某些实现方式中,所述根据所述第一区间像素点的亮度值的最小值TH1D,确定所述第一区间像素点的亮度值的最大值TH2D,包括:

根据所述第一区间像素点的亮度值的最小值TH1D和所述第一参数,确定所述第一区间像素点的亮度值的最大值TH2D;或者

根据所述第一区间像素点的亮度值的最小值TH1D和预设有理数值,确定所述第一区间像素点的亮度值的最大值TH2D;或者

根据所述第一区间像素点的亮度值的最小值TH1D和所述图像数据的元数据,确定所述第一区间像素点的亮度值的最大值TH2D。

结合第一方面,在第一方面的某些实现方式中,所述第二色调映射曲线的第一三次样条的第一区间像素点的亮度值的最小值TH1D与所述第一一次样条的区间像素点的亮度值的最大值TH3C相同,所述第二色调映射曲线中的一次样条和所述第一三次样条在TH1D处的输出值相同,且所述第二色调曲线中的一次样条和所述第一三次样条在TH1D处的一阶导数相同。

这样,能够使得第二色调映射曲线中的一次样条曲线与第二色调映射曲线中的三次样条曲线在TH1D处是连续的。

结合第一方面,在第一方面的某些实现方式中,所述三次样条曲线参数还包括所述第二色调映射曲线的第二三次样条的第二区间像素点的亮度值的最大值TH3D;

所述方法还包括:

根据所述第一区间像素点的亮度值的最小值TH1D和所述第一区间像素点的亮度值的最大值TH2D,确定所述第二区间像素点的亮度值的最大值TH3D。

结合第一方面,在第一方面的某些实现方式中,所述根据所述第一区间像素点的亮度值的最小值TH1D和所述第一区间像素点的亮度值的最大值TH2D,确定所述第二区间像素点的亮度值的最大值TH3D,包括:

根据所述第一区间像素点的亮度值的最小值TH1D、所述第一区间像素点的亮度值的最大值TH2D和所述第一参数,确定所述第三最大输入亮度TH3D;或者

根据所述第一区间像素点的亮度值的最小值TH1D、所述第一区间像素点的亮度值的最大值TH2D和预设有理数,确定所述第三最大输入亮度TH3D;或者

根据所述第一区间像素点的亮度值的最小值TH1D、所述第一区间像素点的亮度值的最大值TH2D和所述图像数据的元数据,确定所述第三最大输入亮度TH3D。

结合第一方面,在第一方面的某些实现方式中,所述第二三次样条的第二区间像素点的亮度值的最小值与所述第一三次样条的第一区间像素点的亮度值的最大值TH2D相同,所述第一三次样条和所述第二三次样条在所述区间像素点的亮度值的最大值TH2D处的输出值相同,且所述第一三次样条和所述第二三次样条在所述区间像素点的亮度值的最大值TH2D处的一阶导数相同。

这样,能够使得第二色调映射曲线中的第一三次样条曲线与第二三次样条曲线在TH2D处是连续的。

结合第一方面,在第一方面的某些实现方式中,所述第二参数还包括所述第二色调映射曲线的色调映射子函数的曲线参数,所述色调映射子函数的第三区间像素点的亮度值的最小值与所述第二区间像素点的亮度值的最大值TH3D相同,所述第二三次样条和所述色调映射子函数在所述第二区间像素点的亮度值的最大值TH3D处的输出值相同,且所述第二三次样条和所述色调映射子函数在所述第二区间像素点的亮度值的最大值TH3D处的一阶导数相同。

这样,能够使得第二色调映射曲线中的第二三次样条曲线与色调映射子函数的曲线在TH3D处是连续的。

结合第一方面,在第一方面的某些实现方式中,所述第一参数中包括aP1、pP1,所述根据所述第一参数、所述显示参数和所述特征信息,获取第二色调映射曲线的第二参数,包括:

根据aP1以及预设的aP1与pP1的对应关系,获得第一值Tp;

如果pP1大于Tp,则将所述第一参数中的pP1替换为Tp;

将替换后的所述第一参数作为所述第二参数。

因此,通过将第一参数中的pP1替换为Tp,并将替换后的该第一参数作为第二参数,能够有助于使得第二色调映射曲线上第一点处的输出亮度不高于第二色调映射曲线上的该第一点的输入亮度。

结合第一方面,在第一方面的某些实现方式中,所述第一参数中包括aP1、pP1,所述根据所述第一参数、所述显示参数和所述特征信息,获取第二色调映射曲线的第二参数,包括:

根据pP1以及预设的aP1与pP1的对应关系获得第二值Ta;

如果aP1大于Ta,则将所述第一参数中的aP1替换为Ta;

将替换后的所述第一参数作为所述第二参数。

因此,通过将第一参数中的aP1替换为Ta,并将替换后的该第一参数作为第二参数,能够有助于使得第二色调映射曲线上第一点处的输出亮度不高于第二色调映射曲线上的该第一点的输入亮度。

结合第一方面,在第一方面的某些实现方式中,所述第一参数中包括aP1、pP1,所述根据所述第一参数、所述显示参数和所述特征信息,获取第二色调映射曲线的第二参数,包括:

如果aP1*pP1大于第三值Tap,则将所述第一参数中的pP1替换为Tap/aP1,或者将所述第一参数中的aP1替换为Tap/pP1

将替换后的所述第一参数作为所述第二参数。

因此,通过将第一参数中的pP1替换为Tap/aP1,或者将第一参数中的aP1替换为Tap/pP1,并将替换后的该第一参数作为第二参数,能够有助于使得第二色调映射曲线上第一点处的输出亮度不高于第二色调映射曲线上的该第一点的输入亮度。

第二方面,提供了一种动态范围映射的装置,包括获取单元,处理单元和映射单元。

获取单元,用于获取终端设备的显示参数;

所述获取单元还用于获取图像数据的特征信息;

所述获取单元还用于获取所述图像数据的第一色调映射曲线的第一参数;

处理单元,用于在预设条件成立时,根据所述第一参数、所述终端设备的显示参数和所述图像数据的特征信息,得到第二色调映射曲线的第二参数,其中,所述第二色调映射曲线上第一点处的输出亮度不高于所述第二色调映射曲线上的所述第一点的输入亮度;

映射单元,用于根据所述第二色调映射曲线的第二参数对所述图像数据进行动态范围映射。

结合第二方面,在第二方面的某些实现方式中,符合下列任意之一的条件时,则所述预设条件成立:

根据所述第一参数对于图像数据进行色调映射时,所述第一色调映射曲线上第二点处的输出亮度高于所述第一色调映射曲线上的所述第二点处的输入亮度;或者

所述第一参数中的参数pP1大于第一值Tp,其中,所述第一值Tp是根据所述第一参数中的aP1,以及预设的aP1与pP1的对应关系获得的;或者

所述第一参数中的参数aP1大于第二值Ta,其中,所述第二值Ta是根据所述第一参数中的pP1,以及预设的aP1与pP1的对应关系获得的;或者

所述第一参数中的参数aP1与参数pP1的乘积大于第三值Tap,其中,所述第三值Tap为预设的有理数。

结合第二方面,在第二方面的某些实现方式中,所述第二参数包括第一一次样条曲线参数,所述第一一次样条曲线参数包括所述第二色调映射曲线中的第一一次样条的斜率MB[0][0]或所述第一一次样条的区间像素点的亮度值的最大值TH3[0]。

结合第二方面,在第二方面的某些实现方式中,所述第一参数包括第二一次样条曲线参数,所述第二一次样条曲线参数包括所述第一色调映射曲线中的第二一次样条的斜率MB_mid[0][0]和所述第二一次样条的区间像素点的亮度值的最大值TH3_mid[0],所述显示参数包括所述终端设备的最大显示亮度MaxDisplay,所述特征信息包括所述图像数据的最大亮度校正值max_lum;

其中,处理单元具体用于:

根据所述最大显示亮度MaxDisplay、所述最大亮度校正值max_lum,对所述曲线参数MB_mid[0][0]和TH3_mid[0]进行调整,获取所述曲线参数MB[0][0]和TH3[0]。

结合第二方面,在第二方面的某些实现方式中,所述曲线参数MB_mid[0][0]和TH3_mid[0],以及所述曲线参数MB[0][0]和TH3[0],满足以下公式:

其中,

或者

或者

其中,L为输入信号,G(L)为色调映射曲线对应的函数H(L)的逆函数,m_a、m_b、m_m、m_n、k1、k2、k3为曲线参数,G(L,m_a_T)表示G(L)的参数M_a取值为m_a_T时输入变量L对应的G(L)值N1、N2为有理数,max(a,b)表示求a和b中较大的一个值,min(a,b)表示求a和b中较小的一个值,H(L)为

或者,

结合第二方面,在第二方面的某些实现方式中,所述第二参数包括三次样条曲线参数,所述三次样条曲线参数包括所述第二色调映射曲线上的三次样条的插点值TH1[1]、TH2[1]、TH3[1],其中,TH1[1]表示所述三次样条的第一区间像素点的亮度值的最小值,TH2[1]表示所述三次样条的第一区间像素点的亮度值的最大值和所述三次样条的第二区间像素点的亮度值的最小值,TH3[1]表示所述三次样条的第二区间像素点的亮度值的最大值。

结合第二方面,在第二方面的某些实现方式中,所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]是根据所述第一参数中第二一次样条曲线参数TH3[0]、所述插点值TH1[1]、TH2[1]、TH3[1]的预设偏移值得到的,如下所示:

TH1[1]=TH3[0];

TH2[1]=TH1[1]+B;

TH3[1]=TH2[1]+C*TH2[1]-D*TH1[1];

其中,B,C和D为所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]计算相关值的预设值,B为暗区过渡区像素点的亮度值对应的预设偏移值,C和D为亮区像素点的亮度值对应的预设加权系数。

结合第二方面,在第二方面的某些实现方式中,所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]是根据所述第一参数中第二一次样条曲线参数TH3[0]、所述插点值TH1[1]、TH2[1]、TH3[1]的计算相关值计算得到的,如下所示:

TH1[1]=3Spline_TH[i][0][w];

TH2[1]=3Spline_TH[i][0][w]+3Spline_TH_Delta1[i][1][w];

TH3[1]=3Spline_TH[i][0][w]+3Spline_TH_Delta1[i][1][w]+3Spline_TH_Delta1[i][2][w];

其中,3Spline_TH[i][0][w]、3Spline_TH_Delta1[i][1][w]、3Spline_TH_Delta1[i][2][w]为从元数据中提取的所述插点值TH1[1]、TH2[1]、TH3[1]的计算相关值。

结合第二方面,在第二方面的某些实现方式中,所述第二色调映射曲线中的一次样条在TH3[0]处的Y坐标与所述第二色调映射曲线中的三次样条在TH1[1]处的Y坐标相同,且所述一次样条在TH3[0]处的一阶导数与所述三次样条在TH1[1]处的一阶导数相同。

结合第二方面,在第二方面的某些实现方式中,所述第二色调映射曲线中的第一三次样条在TH2[1]处的Y坐标与所述第二色调映射曲线中的第二三次样条在TH2[1]处的Y坐标相同,且所述第一三次样条在TH2[1]处的一阶导数与所述第二三次样条在TH2[1]处的一阶导数相同。

结合第二方面,在第二方面的某些实现方式中,所述第二色调映射曲线中的第二三次样条在TH3[1]处的Y坐标与所述第二色调映射曲线中的第三色调映射函数在TH3[1]处的Y坐标相同,且所述第二三次样条在TH3[1]处的一阶导数与所述第三色调映射函数在TH3[1]处的一阶导数相同。

结合第二方面,在第二方面的某些实现方式中,所述获取单元具体用于:

获取所述图像数据的元数据;

根据所述元数据以及所述显示参数,确定所述第一色调映射曲线的第一参数。

第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

第四方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

第五方面,提供了一种电子设备,包括上述第二方面所述的处理媒体数据的装置。

应理解,本申请的第二至第五方面及对应的实现方式所取得的有益效果参见本申请的第一方面及对应的实现方式所取得的有益效果,不再赘述。

附图说明

图1为PQ光电转移函数的图像。

图2为HLG光电转移函数的图像。

图3为SLF光电转移函数的图像。

图4为本申请实施例提供的高动态范围图像的动态范围调整曲线的示意图。

图5示出了sigmoid曲线的示意图。

图6示出了贝塞尔曲线的示意图。

图7为图像的最大亮度与显示设备的最大显示亮度相同时的映射曲线的示例。

图8示出了本申请实施例提供的系统架构的示意图。

图9示出了本申请实施例提供的动态范围映射的方法的示意性流程图。

图10示出了本申请实施例提供的一种动态范围映射的装置的示意性框图。

图11示出了本申请实施例提供的另一种动态范围映射的装置的示意性框图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

首先,对本申请实施例中涉及的相关概念和技术作简单介绍。

1、动态范围(dynamic range)在很多领域用来表示某个变量最大值与最小值的比率。在数字图像中,动态范围表示了在图像可显示的范围内最大亮度值和最小亮度值之间的比率。自然界的动态范围是非常大的。例如,星空下的夜景亮度约为0.001cd/m2,太阳本身亮度高达1000,000,000cd/m2。其中,cd/m2(坎德拉每平方米)是衡量亮度的国际单位制导出单位。这样,自然界的动态范围达到了1000,000,000/0.001=1013的数量级。

但是,在自然界真实的场景当中,太阳的亮度和星光的亮度不会同时得到。对真实世界中的自然场景来说,动态范围在10-3到106范围内。由于这是一个非常大的动态范围,因此,我们通常将其称作为高动态范围(high dynamic range,HDR)。相对于高动态范围,普通图片上的动态范围称之为低动态范围(low dynamic range,LDR)或标准动态范围(standard dynamic range,SDR)。由此可以理解的是,数码相机的成像过程实际上就是真实世界的高动态范围到相片的低动态范围的映射。图1示出了由真实世界的高动态范围到显示设备的低动态映射的一个示例。

图像的动态范围越大,表明图像显示的场景细节越多,亮度的层次越丰富,视觉效果越逼真。传统的数字图像一般采用一个字节,即8比特的空间来存储一个像素值,而高动态范围采用浮点数多字节来存储一个像素值,因此,能够表示出自然场景的高动态范围。

光学数字成像的过程(例如,数码相机的成像过程)是将真实场景的光辐射通过图像传感器转化为电信号,并以数字图像的方式保存下来。而图像显示的目的是通过显示设备重现一幅数字图像所描述的真实场景。两者的最终目标是使用户获得与其直接观察真实场景相同的视觉感知。

而光辐射(光信号)所能展示的真实场景中的亮度层次几乎是线性的,因此也将光信号称为线性信号。但是,光学数字成像在将光信号转换为电信号的过程中,并不是每一个光信号都对应着一个电信号,转换得到的电信号是非线性的。因此,也将电信号称为非线性信号。

2、光电转移函数(optical electro transfer function,OETF)表示图像像素的线性信号到非线性信号转换关系。

在可拍摄HDR图像的摄像机出现前,传统相机只能通过控制曝光值将拍摄的光信息记录在一定的范围内。由于显示设备的最大照度信息并不能达到真实世界的亮度信息,并且我们通过显示设备来浏览图像,因此需要光电转移函数。早期的显示设备是阴极射线管(cathode ray tube,CRT)显示器,其光电转移函数就是Gamma函数。在国际电信联盟无线通信组(international telecommunications union-radio communications sector,ITU-R)recommendation BT.1886标准当中定义了这个基于“Gamma”函数的光电转移函数,如下公式(1)所示。

通过上述转换在量化成8比特后的图像就是传统的SDR图像。SDR图像和上述公式(1)中的转移函数在传统的显示设备(照度在100cd/m2左右)上表现良好。

随着显示设备的不断升级,相对于传统的显示设备,现阶段的显示设备所能显示的动态范围不断增大。现有的消费者级的HDR显示器可达到600cd/m2,高端HDR显示器能达到2000cd/m2,已经远远超出了传统SDR显示设备的显示范围。因此,ITU-R BT.1886标准协议中,与传统SDR显示设备相适应的光电转移函数不再能够很好地表达现阶段HDR显示设备的显示性能。因此,需要对光电转移函数进行改进,以适应HDR显示设备的升级。

HDR光电转移函数OETF主要有如下三种:感知量化(perceptual quantizer,PQ)光电转移函数、混合对数伽马(hybrid log-Gamma,HLG)光电转移函数和场景亮度保真(sceneluminance fidelity,SLF)光电转移函数。这三种光电转移函数为音视频编码标准(audiovideo coding standard,AVS)标准规定的光电转移函数。

PQ光电转移函数是根据人眼的亮度感知模型提出的感知量化光电转移函数。参见图2,图2为PQ光电转移函数的图像。

PQ光电转移函数表示图像像素的线性信号值到PQ域非线性信号值的转换关系,PQ光电转移函数可以表示为公式(2):

其中,式(2)中各参数的计算如下:

其中,L表示线性信号值,其值归一化为[0,1],L'表示非线性信号值,其值取值范围为[0,1],m1、m2、c1、c2、c3为PQ光电转移系数,

HLG光电转移函数是在传统的Gamma曲线的基础上改进得到的。参见图3,图3为HLG光电转移函数的图像。

HLG光电转移函数在低段应用传统的Gamma曲线,在高段补充了log曲线。HLG光电转移函数表示图像像素的线性信号值到HLG域非线性信号值的转换关系,HLG光电转移函数可表示为公式(3):

其中,L表示线性信号值,其取值范围为[0,12],L表示非线性信号值,其取值范围为[0,1],a、b、c为HLG光电转移系数,a=0.17883277,b=0.28466892,c=0.55991073。

SLF光电转移函数是在满足人眼光学特性的前提下,根据HDR场景亮度分布获得的最优曲线。参见图4,图4为SLF光电转移函数的图像。

SLF光电转移曲线表示图像像素的线性信号值到SLF域非线性信号值的转换关系。图像像素的线性信号值到SLF域非线性信号值的转换关系如公式(4)所示:

其中,SLF光电转移函数可以表示为公式(5):

其中,L表示线性信号值,其值归一化为[0,1],L表示非线性信号值,其值取值范围为[0,1],p、m、a、b为SLF光电转移系数,p=2.3,m=0.14,a=1.12762,b=-0.12762。

3、动态范围的映射方法主要应用在前端HDR信号和后端HDR的显示设备的适配过程中,包括从高到低的色调映射(tone-mapping)过程,以及从低到高的tone-mapping过程。例如,前端是采集到的4000nit的光照信号,而后端显示设备(例如电视剧、平板电脑等)的HDR显示能力只有500nit,因此将4000nit的光照信号映射到500nit的显示设备上,是一种从高到低的tone-mapping过程。又例如,前端是采集到的100nit的SDR光照信号,而后端显示设备的HDR显示能力为2000nit,因此将100nit的光照信号映射到2000nit的显示设备上,是一种从低到高的tone-mapping过程。

动态范围的映射方法可以分为静态的动态范围映射和动态的动态范围映射。静态的动态范围映射方法是根据同一个视频内容或者同一个硬盘内容,由单一的数据进行整体的色调映射过程,也就是同一个视频内容或者硬盘内容的处理曲线通常是一样的。这种方法的好处是携带的信息较少,并且处理流程比较简单。这种方法的缺点是每一个场景都使用同一曲线进行色调映射,这样在有一些场景会导致信息丢失。例如如果曲线重点保护的是亮区,那么在一些极其暗的场景会丢掉一些细节,或者干脆看不见,这样会影响用户体验。

动态的映射方法是根据特定区域,每一个场景或者根据每一帧的内容进行动态的调整。这种方法的好处是可以根据特定区域,每一场景或者每一帧进行不同的曲线处理,这样处理的图像显示结果会更好。但是,缺点是需要每一帧或者每一场景来携带相关的场景信息,携带的信息量较大。

目前,主要有以下五种tone-mapping技术。下面对这五种tone-mapping技术进行描述。

技术一为主要由杜比提出的基于sigmoid曲线的tone-mapping过程。图5示出了sigmoid曲线的示意图。参见图5,横坐标表示输入亮度,即动态范围调整前HDR图像的亮度,纵坐标表示输出亮度,即动态范围调整后图像的亮度。其中,该sigmoid曲线的形状为“S”型,曲线的斜率先上升后下降。例如,以该sigmoid曲线上的调整点为例,通过该sigmoid曲线,可以将亮度约为300cd/m2的源调整等级(source adaptation level)映射为亮度约为30cd/m2的目标调整等级(target adaptation level)。

技术二为基于贝塞尔曲线的tone-mapping过程。图6示出了贝塞尔曲线的示意图。其中,图6中横坐标表示输入亮度,即动态范围调整前HDR图像的亮度,纵坐标表示输出亮度,即动态范围调整后图像的亮度。其中,该贝塞尔曲线在输入亮度为0至Ks的范围内为线性映射过程,输入亮度为Ks至1的范围内为“S”型曲线,曲线的斜率先上升后下降。

技术三是一种基于人眼感知的S型曲线的tone-mapping过程。该曲线的形式如下公式(6)所示:

其中,L和L′表示归一化的电信号或光信号,a的取值范围为在0.0~1.0之间,b的取值范围在0.0~1.0之间,p、n和m的取值范围在0.1~N之间,N为大于0.1的有理数,L′为范围是0.0~1.0的有理数,L为范围是0.0~1.0的有理数,k1、k2、k3为有理数。。

技术四是一种结合三次样条和直线的S型曲线的tone-mapping过程。其中,部分的曲线的形式为如下公式(7)所示:

其中,L和L′为归一化的电信号或者光信号。其中a的取值范围在0.0~1.0之间,b的取值范围在0.0~1.0之间,p、n和m的取值范围在0.1~N之间,N为大于0.1的有理数。L′为范围是0.0~1.0的有理数,L为范围是0.0~1.0的有理数,k1、k2、k3为有理数,k1、k2不同时为0,K3不为0。TH1[i]、TH2[i]、TH3[i]为范围是0.0~1.0的有理数。

技术五是另一种结合三次样条和直线的S型曲线的tone-mapping过程。其中,部分的曲线的形式为如下公式(8)所示:

其中,L和L′为归一化的电信号或者光信号。其中a的取值范围在0.0~1.0之间,b的取值范围在0.0~1.0之间,p、n和m的取值范围在0.1~N之间,N为大于0.1的有理数。L′为范围是0.0~1.0的有理数,L为范围是0.0~1.0的有理数,k1、k2、k3为有理数。LT为预设有理数,范围是0.0~1.0的有理数。TH1[i]、TH2[i]、TH3[i]为范围是0.0~1.0的有理数。

在动态元数据中会发送与曲线参数相关的元数据。

对于技术一而言,在St2094-10杜比相关的动态元数据定义中,不单发送最大值(maximum PQ-encoded maxRGB)、最小值(minimum PQ-encoded maxRGB)、平均值(averagePQ-encoded maxRGB)这些统计值,还发送色调映射偏移(tone mapping offset)、色调映射增益(tone mapping gain)和色调映射伽马(tone mapping gamma)等这些sigmoid曲线相关的参数。

对于技术2而言,在St2094-40相关的动态元数据定义中包含了直方图信息(distribution MaxRGB),同时也包含了贝塞尔曲线参数(Bezier curve anchors)用于直接生成曲线。

而且St2094系列的标准中,元数据中都包含了目标系统显示实际峰值亮度(targeted system display actual peak luminance)。

对于技术三、技术四和技术五而言,元数据中可以传递最大值、最小值、平均值等信息,也可以传递p、m、a、b、n、K1、K2、K3等曲线参数。

在图像的最大亮度小于显示设备的最大显示亮度的情况下,可以采用上述技术一至技术五的动态范围的映射算法,将高动态范围图像调整到显示设备所能显示的动态范围内进行显示。但是,在图像的最大亮度与显示设备的最大显示亮度接近的情况下,若果仍然使用上述技术一至技术五的动态范围的映射算法,会导致映射之后的显示设备的像素的亮度比原始的图像还要亮的异常现象。

图7示出了图像的最大亮度与显示设备的最大显示亮度相同(例如均为500cd/m2)时的tone-mapping曲线的示例。请参考图7,其中y=x的直线(两个端点分别为A(500,500)和B(0,0))对应于将输入亮度与输出亮度相同的tone-mapping曲线。根据该y=x的直线,显示设备设备上的像素的亮度与原始图像的亮度相同。例如,对于y=x上面的D点而言,输入亮度与输出亮度均为450cd/m2

继续参考图7,对于“S”型曲线(两个端点分别为A(500,500)和B(0,0)例如技术一种的sigmoid曲线),则在输入亮度接近500cd/m2的情况下,在输入亮度相同的情况下,通过“S”型曲线进行tone-mapping的输出亮度高于通过y=x进行tone-mapping的输出亮度。例如,对于与D点输入亮度相同的“S”型曲线上的E点,其输出亮度为480cd/m2

有鉴于此,本申请提供一种动态范围映射的方法,在图像的最大亮度与显示设备的最大显示亮度接近的情况下,通过对原始的色调映射曲线的参数进行调整,使得调整后的参数对应的色调映射曲线的输出亮度不高于其输入亮度,从而有助于避免出现映射之后的显示设备的像素的亮度比原始的图像还要亮的异常现象。这里,该原始的色调映射曲线可以是根据图像数据的元数据中的目标系统显示实际峰值亮度调整好的固定曲线,例如上述技术一至技术五种的色调映射曲线。

图8示出了本申请实施例提供的动态范围映射的方法的系统架构的示意图。参见图8,前端通过采集和制作可以获取HDR内容,并将该HDR内容和该HDR内容的元数据经传输层发送给显示端。显示端可以包括HDR显示设备进而SDR显示设备。作为示例,当显示端包括HDR显示设备时,可以实现将HDR内容映射到HDR显示设备上,当显示端包括SDR显示设备时,可以实现将HDR内容映射到SDR显示设备上。

示例性的,显示端的产品形态可以为机顶盒、电视显示设备、手机显示设备,以及网络直播、视频应用的转换设备等电子设备。

作为示例,在机顶盒、电视显示设备或手机显示设备上,本申请实施例提供的方案可以以硬件芯片的形态实现,在网络直播或视频播放设备上,本申请实施例提供的方案主要以软件程序代码的形态实现,但是本申请实施例并不限于此。

需要说明的是,本申请实施例仅以图7中的应用场景为例进行描述,但是应用于本申请实施例的系统架构并不限于此。例如,前端还可以获取SDR内容,此时当显示端包括HDR显示设备,可以实现将SDR内容映射到HDR显示设备上。

图9为本申请实施例提供的动态范围映射的方法900的示意性流程图。方法900适用于图8中提供的应用场景,例如由图8中所示的显示端执行。参见图9,方法900包括如下步骤910至940。

910,获取图像数据的特征信息和本地显示设备的显示参数。这里,该图像数据(可表示为V)可以为HDR图像数据,或者SDR图像数据,本申请实施例对此不作限定。

示例性的,显示端设备可以从前端接收视频源,其中主要包含图像数据V,例如像素数据等。一个具体的例子,对于一个4K的视频源,其可以包括3840*2160个的像素点的亮度和颜色数据等。

需要说明的是,本申请实施例不对该图像数据V的格式做限定。例如,从像素数据的色彩空间来说,该图像数据V可以是Y(luminance)UV(chrominance)空间的图像数据,也可以是RGB像素空间的图像数据。又例如,从像素数据的位宽来说,该图像数据V可以是8位的位宽,也可以说10位,或者12位的位宽。

一些实施例中,在获取图像数据V的同时,还可以获取该图像数据的特征信息,例如从元数据(metadata)M中获取。其中,图像数据V的元数据M用于表示该图像数据的数据特征,例如可以包含图像数据的格式,或者该图像数据V对应的曲线参数Mcurve、目标系统显示实际峰值亮度MTPL(targeted system display actual peak luminance)、图像数据的内容的亮度的最大值MaxSource(所有像素的Y分量的最大、或者所有像素RGB分量的最大值的最大值)、最小值MinSource(所有像素的Y分量的最小、或者所有像素RGB分量的最大值的最小值)、平均值(所有像素的Y分量的平均值、或者所有像素RGB分量的最大值的平均值)、显示内容的变化范围等等,本申请实施例对此不作限定。

一些实施例中,还可以从图像数据V的像素信息中获取该图像数据的特征信息;或者使用预设值的图像数据的特征信息值,本申请实施例对此不作限定。

需要说明的是,当元数据M中包括曲线参数Mcurve时,本申请实施例不对曲线参数Mcurve的格式进行限定。例如,对于上文中的技术三而言,元数据中包括的曲线参数Mcurve可以是p、m、a、b、n、K1、K2、K3等。

一些实施例中,元数据包括动态元数据和静态元数据,可参见标准ST2094-1dynamic metadata for color volume transform或静态元数据的相关标准(staticmetadata)。示例性的,元数据可以跟随图像一起打包,例如包含不同文件格式,不同编码标准的SEI包,包括硬件的HDMI相关的一些包结构等。

一些实施例中,显示端设备还可以获取该显示端设备(即实际终端设备P,或本地显示设备)的显示参数MTPL(也可以称为显示亮度参数)。示例性的,显示参数MTPL可以包括显示端设备的最大显示亮度MaxDisplay和显示端设备的最小显示亮度MinDisplay,或者其他参数,本申请实施例对此不作限定。

920,获取图像数据的第一色调映射曲线的第一参数。

示例性的,显示端设备可以根据图像数据V的元数据M和显示端设备的显示参数MTPL,获取该图像数据V的第一色调映射曲线的第一参数。例如,根据元数据M中的图像数据V的内容的亮度的平均值average_maxrgb,和/或亮度的最大值MaxSource,和/或亮度的最小值MinSource,和/或显示端设备的最大显示亮度MaxDisplay,和/或显示端设备的最小显示亮度MinDisplay,和/或曲线参数Mcurve(p1,p2,…),和/或其他数据,获得第一色调映射曲线的第一参数,可表示为P1curve(X,p1,p2,…)。其中,X为输入亮度值,p1,p2,…为曲线参数值。

需要说明的是,本申请实施例中对第一色调映射曲线的第一参数P1curve的形式不作限定。另外,本申请实施例对生成该第一参数P1curve时所使用的数据,或者生成该第一参数P1curve时的算法也不作限定。例如,生成第一参数P1curve的数据可以是元数据,和/或显示端设备的显示参数,也可以是其他预设数据。

作为一个具体的例子,对于上文中的技术五而言,曲线参数Mcurve例如包括参数值(p、m、a、b、n、K1、K2、K3)和(TH1[i]、TH2[i]、TH3[i]、MB0),可以根据该曲线参数Mcurve获得第一色调映射曲线的第一参数P1curve,例如为(pP1、mP1、aP1、bP1、nP1、K1P1、K2P1、K3P1、TH1[i]、TH2[i]、TH3[i]、MD1[i]、MC1[i]、MB1[i]、MA1[i]、MD2[i]、MC2[i]、MB2[i]、MA2[i]、MB3)。

作为另一个具体的例子,对于上文中的技术四而言,曲线参数Mcurve例如包括参数值(p、m、a、b、n、K1、K2、K3)和(TH1[i]、TH2[i]、TH3[i]、MB0),可以根据该曲线参数Mcurve获得第一色调映射曲线的第一参数P1curve,例如为(pP1、mP1、aP1、bP1、nP1、K1P1、K2P1、K3P1、TH1[i]、TH2[i]、TH3[i]、MD1[i]、MC1[i]、MB1[i]、MA1[i]、MD2[i]、MC2[i]、MB2[i]、MA2[i])。

需要说明的是,本申请实施例中的第一色调映射曲线为上述原始色调映射曲线的一个示例,包括但不限于技术一、技术二、技术三、技术四和技术五中使用的色调映射曲线。本申请中的第一映射曲线的第一参数包括但不限于技术一、技术二、技术三、技术四、和技术五中使用的色调映射曲线相关的参数。

930,在预设条件成立时,根据所述特征信息、显示参数和第一参数,获取第二色调映射曲线的第二参数。其中,第二色调映射曲线上第一点处的输出亮度不高于所述第二色调映射曲线上的该第一点处的输入亮度。也就是说,在第二色调映射曲线的输入亮度范围内,根据该第二色调映射曲线对任意一个输入亮度进行映射得到的输出亮度,都不高于该输入亮度。第二参数用于对图像数据进行动态范围映射,可以表示为Rcurve

作为示例,色调映射曲线的输入亮度可以是线性光,也可以是非线性值,还有可能是线性关系经过归一化后的值(例如10000作为1,或者内容的最大亮度作为1),本申请实施例对此不作限定。

示例性的,可以根据第一参数P1curve,以及图像数据V的内容的亮度的平均值average_maxrgb,和/或亮度的最大值MaxSource,和/或亮度的最小值MinSource,和/或显示端设备的最大显示亮度MaxDisplay,和/或显示端设备的最小显示亮度MinDisplay,和/或其他数据,获取上述第二色调映射曲线的第二参数Rcurve

示例性的,第二参数Rcurve可以具有以下公式(9)所示的形态:

其中,L和L′为归一化的电信号或者光信号,Dark、TH3C、TH2D、TH3D、MD1D、MC1D、MB1D、MA1D、MD2D、MC2D、MB2D、MA2D为有理数。

在一些实施例中,该预设条件,例如为按照第一色调映射曲线对于图像数据进行色调映射,会造成第一色调映射曲线上的某一点的输出亮度高于该第一色调映射曲线上的该点的输入亮度。

需要说明的是,本申请实施例中,在色调映射曲线的输出亮度与输入亮度相差在第一范围之内的情况下,可以认为该输出亮度与输入亮度是基本相同的。也就是说,在色调映射曲线的输出亮度高于输入亮度的部分在第一范围之内时,可以认为二者是基本相同的。反之,在色调映射曲线的输出亮度高于输入亮度的部分超出第一范围时,可以认为输出亮度高于输入亮度。

当满足预设条件,即按照第一参数对图像数据进行色调映射,会造成第一色调映射曲线的输出亮度高于第一色调映射曲线的输入亮度时,执行生成上述第二色调映射曲线的第二参数Rcurve的过程。

作为一种可能的实现方式,上述预设条件可以为第一参数中的参数pP1大于第一值Tp,其中,所述第一值Tp是根据所述第一参数中的aP1,以及预设的aP1与pP1的对应关系获得的。其中,Tp表示技术三或技术四或技术五中的曲线参数p的阈值。当第一参数pP1超过了Tp时,就有可能出现第二色调映射曲线上的某一点处输出亮度高于输入亮度的现象。

作为一个具体的例子,对于上文中的技术四或技术五而言,第一参数P1curve中包括aP1、pP1等参数。此时,可以将aP1作为Ta,查找表Tpa(Tp,Ta)得到对应的第一值Tp。这里,该表Tpa(Tp,Ta)即为预设的aP1与pP1的对应关系的一个示例。其中,Ta表示技术三或技术四或技术五中的曲线参数a的阈值。

如果pP1大于Tp,则满足预设条件。可选的,此时可以将第一参数P1curve中pP1替换为查表获得的该第一值Tp。这样,替换后的该第一参数P1curve即可以为上述第二参数Rcurve

如果pP1小于或等于Tp,则不需要执行生成第二色调映射曲线的第二参数Rcurve的过程。

作为另一种可能的实现方式,上述预设条件可以为第一参数中的参数aP1大于第二值Ta,其中,所述第二值Ta是根据所述第一参数中的pP1,以及预设的aP1与pP1的对应关系获得的。当第一参数aP1超过了Ta时,就有可能出现第二色调映射曲线上的某一点处输出亮度高于输入亮度的现象。

作为一个具体的例子,对于上文中的技术四或技术五而言,第一参数P1curve中包括aP1、pP1等参数。此时,可以将pP1作为Tp,查找表Tpa(Tp,Ta)得到对应的第二值Ta。这里,该表Tpa(Tp,Ta)即为预设的aP1与pP1的对应关系的一个示例。

如果aP1大于Ta,则满足预设条件。可选的,此时可以将第一参数P1curve中的aP1替换为查表获得的第二值Ta。这样,替换后的该第一参数中即可以为上述第二参数Rcurve

如果aP1小于或等于Ta,则不需要执行生成第二色调映射曲线的第二参数Rcurve的过程。

在上面的示例中,表Tpa(Tp,Ta)为预设的有理数组合,例如(3.5,0.879),(4.5,0.777)等。需要说明的是,对于表中未出现的值,可以使用线性差值、临近值,或者临近值的加权平均值等方式生成该值。另外,本申请实施例对表Tpa(Tp,Ta)的具体形式不作限定,例如表Tpa(Tp,Ta)还可以表示为Tp与Ta之间的函数关系。

作为另一种可能的实现方式,上述预设条件为第一参数中的参数aP1与参数pP1的乘积大于第三值Tap,其中,该第三值Tap为预设的有理数。示例性的,该第三值Tap可以为3~4之间的有理数,例如3.2或3.4,本申请实施例对此不作限定。

作为一个具体的例子,对于上文中的技术四或技术五而言,第一参数P1curve中包括aP1、pP1等参数。此时,可以判断参数aP1与参数pP1的乘积aP1*pP1是否大于预设值Tap。

如果aP1*pP1大于Tap,则满足预设条件。可选的,此时可以将第一参数P1curve中的pP1替换为Tap/aP1,或者将所述第一参数中的aP1替换为Tap/pP1。这样,替换后的该第一参数中即可以为上述第二参数Rcurve

如果aP1*pP1小于或等于Tap,则不需要执行生成第二色调映射曲线的第二参数Rcurve的过程。

在另一些实施例中,还可以将第一色调映射曲线对应的第一参数P1curve转换到绝对亮度空间,例如线性空间,或者PQ、HLG等非线性空间,此时需要保证y和x相同大小的值亮度相同。然后,可以根据该第一色调映射曲线与y=x直线是否有交点来判断第一色调映射曲线存在高于y=x的部分。例如,当第一色调映射曲线与y=x直线有交点时,可以确定第一色调映射曲线存在高于y=x的部分,当第一色调映射曲线与y=x没有交点时,可以确定第一色调映射曲线不存在高于y=x的部分。

因此,本申请实施例通过对第一色调映射曲线的参数进行进一步的调整,使得调整后的曲线参数(即第二参数)对应的色调映射曲线(即第二色调映射曲线)上的某一点的输出亮度不高于该点对应的输入亮度,从而有助于在图像的最大显示亮度与显示设备的最大显示亮度接近时,避免出现映射之后的终端设备的像素的亮度比原始的图像还要亮的异常现象。

在一些可选的实施例中,上述第二参数还包括一次样条曲线参数,该一次样条曲线参数包括该第二色调映射曲线中的一次样条(可以记为第一一次样条)的区间像素点的亮度值的最大值TH3C(也可以称为第一最大输入亮度TH3C),以及该第一一次样条的斜率Dark。示例性的,第一一次样条例如为上文公式(9)中的输入亮度小于TH3C的色调映射曲线,即Dark×L,L<TH3C。其中,L<TH3C为该第一一次样条的区间像素点。

可选的,显示端设备可以获取该第一一次样条的初始区间像素点的亮度值的最大值TH3C0(也可以称为初始第一最大输入亮度TH3C0),和初始斜率Dark0,然后根据该初始第一最大输入亮度TH3C0,确定上述第一最大输入亮度TH3C,以及根据该初始斜率Dark0,确定斜率Dark。

以下是本申请实施例提供的三种获取初始第一最大输入亮度TH3C0的方法。

方法一

显示端设备可以根据第一参数P1curve,确定上述初始第一最大输入亮度TH3C0。示例性的,当第一色调映射曲线存在一次样条(可以记为第二一次样条,例如上文中的技术二、技术四或技术五)时,可以确定初始第一最大输入亮度TH3C0为第二一次样条的区间像素点的亮度值的最大值。

方法二

显示端设备根据预设值,确定所述初始第一最大输入亮度TH3C0。示例性的,该预设值可以为暗视觉与亮视觉的分解,即人眼视锥细胞与视杆细胞相应强弱发生变化的亮度,比如1nit。

方法三

显示端设备根据图像数据V的元数据M,确定所述初始第一最大输入亮度TH3C0。其中,该元数据M包括直方图暗区像素数量的特征数据,例如直方图暗区像素数量的特征亮度位置,或者暗区像素从暗到亮像素数/累计像素数显著变化的亮度,或者从0到特征亮度累计的像素数占总像素大于预设比例。

以下是本申请实施例提供的三种获取初始斜率Dark0的方法。

方法一

显示端设备可以根据第一参数P1curve,确定该初始斜率Dark0。示例性的,当第一色调映射曲线存在一次样条(例如第二一次样条)时,可以确定初始斜率Dark0为该第二一次样条的斜率,例如技术四或技术五中的MB0。

方法二

显示端设备可以根据第四值和上述第一最大输入亮度TH3C的比值,确定该初始斜率Dark0,其中所述第四值为所述第一色调映射曲线在所述第一最大输入亮度TH3C处的输出值,例如第四值可以表示为Vdark=P1curve(TH3C),此时该初始斜率Dark0可以表示为(Vdark/TH3C)。

方法三

显示端设备可以根据所述第一色调映射曲线在0至所述第一最大输入亮度TH3C之间预设输入值的斜率值,确定所述初始斜率Dark0。例如可以为0至所述第一最大输入亮度TH3C之间的斜率值的平均值,或者最大值,或者中间值等,本申请对此不作限定。

需要说明的是,以上获取初始最大输入亮度TH3C0,或者初始斜率Dark0的方式仅作为示例,并不对本申请实施例构成限定,例如通过与上述方法类似的方式,或者通过对上述方法进行惯用手段的置换获得的初始最大输入亮度TH3C0,或者初始斜率Dark0的方式也在本申请实施例的保护范围之内。

以下是本申请实施例提供的两种根据初始第一最大输入亮度TH3C0和初始斜率Dark0,获取第二目标色调映射曲线的第一最大输入亮度TH3C和斜率Dark的方法。

方法一

可以根据以下公式(10)和(11),确定上述第一最大输入亮度TH3C和斜率Dark,即第一初始最大输入亮度TH3C0、第一最大输入亮度TH3C、初始斜率Dark0和斜率Dark满足下面公式(10)和(11)。

TH3C=TH3C0+(MaxSource-TH3C0)*(WA)N2 (10)

Dark=Dark0+(1-Dark0)*(WA)N1 (11)

其中,

其中,N1和N2为大于0的有理数,H(L)为色调映射曲线、G(L)为所述H(L)的逆函数。

方法二

可以根据以下公式(12)和(13),确定第一最大输入亮度TH3C和斜率Dark,即第一初始最大输入亮度TH3C0、第一最大输入亮度TH3C、初始斜率Dark0和斜率Dark满足下面公式(12)和(13)。

TH3C=TH3C0+(MaxLum-TH3C0)*(WA)N2 (12)

Dark=Dark0+(1-Dark0)*(WA)N1 (13)

其中,

其中,MaxLum为图像数据最大亮度MaxSource的调整值,H(L)为色调映射曲线函数,G(L)为所述H(L)的逆函数。需要说明的是,对于由MaxSource到MaxLum的调整方式,本申请实施例不做限定。

示例性的,对于下面公式(14-1)中的色调映射曲线而言,其逆函数G(L)为公式(15-1)所示。

示例性的,对于下面公式(14-2)中的色调映射曲线而言,其逆函数G(L)为公式(15-2)所示。

本申请实施例中,在根据第二参数对图像数据进行动态范围映射时,在图像数据的暗区可以使用该直线部分进行色调映射,这样可以控制亮度的增益,同时更方便控制第二参数从直线逐渐变化到y=x的直线,其中y=x的直线相当于色调映射曲线上任一点的输出亮度等于输入亮度,因此本身实施例对于亮度渐变的内容不容易引起闪烁的现象。

在一些可选的实施例中,上述第二色调映射曲线还包括三次样条曲线,该第二参数Rcurve中还包括第二色调映射曲线的第一三次样条的第一区间像素点的亮度值的最小值。此时,显示端设备可以根据第二色调映射曲线中的一次样条的区间像素点的亮度值的最大值TH3C,即上述第一最大输入亮度TH3C,确定该第一三次样条的第一区间像素点的亮度值的最大值TH1D。示例性的,该第一区间像素点的亮度值的最大值TH1D可以等于第一最大输入亮度TH3C,即TH1D=TH3C。

示例性的,该第一三次样条对应的色调映射曲线可以为上文公式(9)中输入亮度范围为大于或等于TH3C且小于TH2D的色调映射曲线,即MD1D×(L-TH1D)3+MC1D×(L-TH1D)2+MB1D×(L-TH1D)+MA1D,TH1D≤L<TH2D,其中,TH1D≤L<TH2D为该第一区间像素点。

其中,第二参数Rcurve中还包括该第一三次样条的第一区间像素点的亮度值的最大值TH2D,也可以称为第二最大输入亮度TH2D。示例性的,可以根据上文中的第一区间像素点的亮度值的最大值TH1D,确定该第二最大输入亮度TH2D。

在一些可选的实施例中,第二参数Rcurve中还包括第二色调映射曲线的第二三次样条的第二区间像素点的亮度值的最大值TH3D,也可以称为第三最大输入亮度TH3D。可选的,该第二区间像素点的亮度值的最小值可以为上述TH2D。示例性的,该第二三次样条对应的色调映射曲线为可以上文公式(9)中输入亮度范围为大于或等于TH2D且小于TH3D的色调映射曲线,即MD2D×(L-TH2D)3+MC2D×(L-TH2D)2+MB2D×(L-TH2D)+MA2D,TH2D≤L≤TH3D,其中,TH2D≤L≤TH3D为该第二区间像素点。

示例性的,显示端设备可以根据上述第一区间像素点的亮度值的最大值TH1D和第二最大输入亮度TH2D,确定第三最大输入亮度TH3D。

以下是本申请实施例提供的三种确定第二最大输入亮度TH2D和第三最大输入亮度TH3D的方法。

方法一

显示端设备可以根据所述第一区间像素点的亮度值的最大值TH1D和所述第一参数中的TH1[0]、TH2[0]、TH3[0](或者元数据M中包含的参数TH1[0]、TH2[0]、TH3[0]),确定该第二最大输入亮度TH2D。示例性的,TH2D和TH3D可以分别满足以下公式(16-1)和公式(17-1):

TH2D=TH1D+TH2[0]-TH1[0] (16-1)

TH3D=TH2D+TH3[0]-TH2[0] (17-1)

方法二

显示端设备可以根据所述第一区间像素点的亮度值的最大值TH1D和所述第一参数中的deltaTH2[0]、deltaTH3[0](或者元数据M中包含的参数deltaTH2[0]、deltaTH3[0]),确定该第二最大输入亮度TH2D。示例性的,TH2D和TH3D可以分别满足以下公式(16-2)和公式(17-2):

TH2D=TH1D+deltaTH2[0] (16-2)

TH3D=TH2D+deltaTH3[0] (17-2)

方法二

显示端设备可以根据TH1D和预设值,确定TH2D和TH3D。示例性的,TH2D和TH3D可以分别满足以下公式(18)和公式(19):

TH2D=TH1D+B (18)

TH3D=TH2D+C*TH2D-D*TH1D (19)

其中,B为大于0的有理数,例如可以为暗区过渡区像素点的亮度值对应的偏移值,默认值可以为0.15;C和D为大于0的有理数,例如为亮区像素点的亮度值对应的加权系数,默认值可以为0.5。

可选的,可以确定第二参数Rcurve中(即公式(9)中)的MD1D、MC1D、MB1D、MA1D、MD2D、MC2D、MB2D、MA2D等参数。示例性的,可以根据以下公式(14)至(19)来确定这些参数。

在一些实施例中,上述第二色调映射曲线的第一三次样条的第一区间像素点的亮度的最小值TH1D与上述第一最大输入亮度TH3C(即第一一次样条的区间像素点的亮度值的最大值TH3C)相同。这样,能够使得第二色调映射曲线的一次样条的区间像素点与第一三次样条的第一区间像素点连续。并且该第二色调映射曲线中的第一一次样条和第一三次样条在TH1D处的输出值相同,且该第二色调曲线中的第一一次样条和第一三次样条在TH1D处的一阶导数相同,即该第二色调映射曲线在TH1D处连续。

示例性的,对于公式(9)中的Rcurve参数而言,当第二色调映射曲线在TH1D处连续时,MA1D、Dark、TH3C、MB1D满足以下公式(20)和(21):

Dark×TH3C=MA1D (20)

Dark=MB1D (21)

在一些实施例中,上述第二三次样条的第二区间像素点的亮度值的最大值与第一三次样条的第一区间像素点的亮度值的最大值TH2D,即第二最大输入亮度TH2D相同,该第二三次样条和第一三次样条在TH2D处的输出值相同。这样,能够使得第二色调映射曲线的第一三次样条的第一区间像素点与第二三次样条的第二区间像素点连续。并且该第二三次样条和第一三次样条在TH2D处的一阶导数相同,即第二色调映射曲线在TH2D处连续。

示例性的,对于公式(9)中的Rcurve参数而言,当第二色调映射曲线在TH2D处连续时,MD1D、TH3C、MC1D、MB1D、MA1D、MD2D、TH2D、MB2D、MA2D满足以下公式(22)和(23)

MD1D×(TH2D-TH3C)3+MC1D×(TH2D-TH3C)2+MB1D×(TH2D-TH3C)+MA1D=MA2D

(22)

3×MD1D×(TH2D-TH3C)3+2×MC1D×(TH2D-TH3C)+MB1D=MB2D (23)

在一些实施例中,第二参数还包括第二色调映射曲线的色调映射子函数的曲线参数,该色调映射子函数的第三区间像素点的亮度值的最小值与上述第二三次样条的第二区间像素点的亮度值的最大值TH3D,即第三最大输入亮度TH3D相同。这样,能够使得第二色调映射曲线的第二三次样条的第二区间像素点与色调映射子函数对应的第二区间像素点连续。并且,该第二三次样条和色调映射子函数在所述TH3D处的输出值相同,且该第二三次样条和色调映射子函数在TH3D处的一阶导数相同,即第二色调映射曲线在TH3D处连续。

示例性的,对于公式(9)中的Rcurve参数而言,当第二色调映射曲线在TH3D处连续时,MD2D、TH3D、TH2D、MC2D、MB2D、MA2D、MD2D、MC2D、MB2D满足以下公式(24)和(25)

另外,一些实施例中,可以根据预设策略获取上述两段三次样条(即第一三次样条和第二三次样条)在TH2D处的值。例如,这两段三次样条在TH2D处的值可以是第二色调映射曲线上的输入亮度为TH1D和TH3D的两个点连线的中间点的值。

本申请实施例中,第二色调映射曲线中的三次样条曲线,一方面可以平滑连接一次样条曲线和基础曲线,另一方面可以有助于方便控制与直线部分相邻的部分的增益。

需要说明的是,本申请实施例中,可以只包含获取第二参数中的一次样条参数的过程,而并不需要涉及获得第二参数中除该一次样条参数之外的参数的过程。

940,根据所述第二色调映射曲线的第二参数对所述图像数据进行动态范围映射。示例性的,在获取第二参数之后,可以获取第二色调映射曲线,用于对图像数据进行动态范围映射。

示例性的,根据上述公式(9),可以获得从归一化的HDR/SDR源数据映射到归一化的HDR/SDR显示数据之间的映射关系。例如,可以根显示端设备的最大显示能力、最小小时能力(例如为0),将映射值L′反向归一化到显示端设备的最大显示能力、最小显示能力之间。需要说明的是,上面的反向归一化计算可以是PQ的非线性空间,也可以是归一化0~1的线性空间。另外,反向归一化可以是0-10000nit,也可以是0.0001-100000nit等。本申请实施例对于HDR/SDR映射数据L′的反向归一化范围和过程不作限定。

需要说明的是,在获取第二色调映射曲线之后,后续显示适配处理不但包含色调映射(tone-mapping),在显示之前还可以对其进行进一步调整以调整其饱和度处理,和/或色域变换处理,和/或去噪处理,和/或锐化处理等等,本申请实施例对此不做限定。

还需要说明的是,显示端设备的最大显示能力可以根据设备的参数或者生产商的信息获取。显示端设备的最小值显示能力,通常为0nit,也可以为1nit,本申请实施例对此不做限定。

因此,本申请实施例通过对色调映射曲线的参数进行进一步的调整,使得调整后的曲线参数对应的色调映射曲线的输出亮度不高于该色调映射曲线的输入亮度,从而有助于在图像的最大显示亮度与显示设备的最大显示亮度接近时,避免出现映射之后的显示设备的像素的亮度比原始的图像还要亮的异常现象。因此,本申请实施例对于不同亮度的终端显示设备均能提供较大的灵活性,从而在合理调整参数的情况下达到较好的呈现效果。

在本申请一些可选的实施例中,所述第二参数中的一次样条曲线参数(可以记为第一一次样条曲线参数),可以包括第二色调映射曲线中的第一一次样条的斜率(例如可以表示为MB[0][0])和该第一一次样条的区间像素点的亮度值的最大值(例如可以表示为TH3[0])。

在该实施例中,上述第一参数中包括的一次样条曲线参数(可以记为第二一次样条曲线参数),可以包括所述第一色调映射曲线中的第二一次样条的斜率(例如可以表示为MB_mid[0][0])和该第二一次样条的区间像素点的亮度值的最大值(例如可以表示为TH3_mid[0])。

此时,在预设条件成立时,根据所述第一参数、所述显示参数和所述特征信息,获取第二色调映射曲线的第二参数的一种实现方式可以为:根据最大显示亮度MaxDisplay、最大亮度校正值max_lum,对曲线参数MB_mid[0][0]和TH3_mid[0]进行调整,获取曲线参数MB[0][0]和TH3[0]。

示例性的,如果参数m_a(即色调映射曲线参数a)大于Tm_ap(m_p),则执行生成第二参数的过程,即根据max_lum/MaxDisplay来调整MB[0][0]和TH3[0]。其中,Tm_ap可以是根据预设m_p_T与m_a_T的映射关系,例如查表(m_p_T,m_a_T)获得的,m_p对应色调映射曲线参数p,将根据m_p获得的m_a的预设值Tm_ap(m_p)为m_a_T。

示例性的,在对曲线参数MB_mid[0][0]和TH3_mid[0]进行调整时,输入可以为显示端设备的显示亮度范围的最高显示亮度MaxDisplay(PQ域的值),待处理帧的最大亮度校正值max_lum,元数据中的targeted_system_display_maximum_luminance(如果元数据中不存在targeted_system_display_maximum_luminance,则targeted_system_display_maximum_luminance等于MaxDisplay);原始一次样条曲线(即第一色调映射曲线中的一次样条曲线)参数,MB[0][0],TH3[0];色彩信号映射曲线参数Ptone_mapping,包含m_p、m_m、m_n、m_a、m_b、k1、k2、k3。输出可以为一次样条曲线(即第二色调映射曲线的一次样条)参数,MB[0][0],TH3[0]。

作为一种可能的实现方式,曲线参数MB_mid[0][0]和TH3_mid[0],以及曲线参数MB[0][0]和TH3[0],满足以下公式(26)和(27):

TH3[0]=TH3_mid[0]+(MaxSource-TH3_mid[0])*(WA)N2 (26)

MB[0][0]=MB_mid[0][0]+(1-MB_mid[0][0])*(WA)N1 (27)

其中,

或者

其中N1和N2为大于0的有理数,G(L)为映射曲线参数Tcurve的逆函数。

作为另一种可能的实现方式,曲线参数MB_mid[0][0]和TH3_mid[0],以及曲线参数MB[0][0]和TH3[0],满足以下公式(28)和(29):

TH3[0]=TH3_mid[0]+(MaxLum-TH3_mid[0])*(WA)N2 (28)

MB[0][0]=MB_mid[0][0]+(1-MB_mid[0][0])*(WA)N1 (29)

其中,

或者

其中MaxLum为最大亮度校正值(MaxSource的调整值),G(L)为映射曲线参数Tcurve的逆函数。

作为另一种可能的实现方式,曲线参数MB_mid[0][0]和TH3_mid[0],以及曲线参数MB[0][0]和TH3[0],满足以下公式(30)和(31):

其中,

或者

其中

或者

其中,L为输入信号,G(L)为色调映射曲线对应的函数H(L)的逆函数,m_a、m_b、m_m、m_n、k1、k2、k3为曲线参数,G(L,m_a_T)表示G(L)的参数M_a取值为m_a_T时输入变量L对应的G(L)值,H(L,m_a_T)同理,N1、N2为有理数,例如N1、N2的默认值可以为0。max(a,b)表示求a和b中较大的一个值;min(a,b)表示求a和b中较小的一个值。

在一些实施例中,k1、k2不同时为0,K3不为0。

示例性的,H(L)为以下几种示例:

或者

需要说明的是,本申请实施例中,可以只包含获取第二参数中的一次样条参数的过程,而并不需要涉及获得第二参数中除该一次样条参数之外的参数的过程,即可以不需要涉及以下处理过程。

在一些可选的实施例中,所述第二参数包括三次样条曲线参数,所述三次样条曲线参数包括所述第二色调映射曲线上的三次样条的插点值TH1[1]、TH2[1]、TH3[1],其中,TH1[1]表示所述三次样条的第一区间像素点的亮度值的最小值,TH2[1]表示所述三次样条的第一区间像素点的亮度值的最大值和所述三次样条的第二区间像素点的亮度值的最小值,TH3[1]表示所述三次样条的第二区间像素点的亮度值的最大值。示例性的,TH1[1]可以为TH1D的一个示例,TH2[1]可以为TH2D的一个示例,TH3[1]可以为TH3D的一个示例。

作为一种可能的实现方式,上述三次样条的插点值TH1[1]、TH2[1]、TH3[1]可以根据所述第一参数中第二一次样条曲线参数TH3[0]和三次样条的插点值TH1[1]、TH2[1]、TH3[1]的计算相关值的预设偏移值,计算得到。示例性的,TH1[1]、TH2[1]、TH3[1]满足如下公式(32)至(34):

TH1[1]=TH3[0] (32)

TH2[1]=TH1[1]+B (33)

TH3[1]=TH2[1]+C*TH2[1]-D*TH1[1] (34)

其中,B,C和D为所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]计算相关值的预设值,B为暗区过渡区像素点的亮度值对应的预设偏移值,C和D为亮区像素点的亮度值对应的预设加权系数。示例性的,B的默认值可以为0.15,C和D的默认值可以为0.5。

作为另一种可能的实现方式,上述三次样条的插点值TH1[1]、TH2[1]、TH3[1]可以根据所述第一参数中第二一次样条曲线参数TH3[0]和三次样条的插点值TH1[1]、TH2[1]、TH3[1]的计算相关值,计算得到。示例性的,TH1[1]、TH2[1]、TH3[1]满足如下公式(35)至(37):

TH1[1]=3Spline_TH[i][0][w] (35)

TH2[1]=3Spline_TH[i][0][w]+3Spline_TH_Delta1[i][1][w] (36)

TH3[1]=3Spline_TH[i][0][w]+3Spline_TH_Delta1[i][1][w]+3Spline_TH_Delta1[i][2][w] (37)

其中,3Spline_TH[i][0][w]、3Spline_TH_Delta1[i][1][w]、3Spline_TH_Delta1[i][2][w]为从元数据中提取的三次样条的插点值TH1[1]、TH2[1]、TH3[1]计算相关值。

在一些可选的实施例中,可以获取在第二色调映射曲线中TH1[1]、TH2[1]、TH3[1]对应的坐标(例如Y坐标),例如分别可以表示为VA1,VA2和VA3。其中,所述第二色调映射曲线中的一次样条在TH3[0]处的Y坐标与所述第二色调映射曲线中的三次样条在TH1[1]处的Y坐标相同,且所述一次样条在TH3[0]处的一阶导数与所述三次样条在TH1[1]处的一阶导数相同。

在一些可选的实施例中,所述第二色调映射曲线中的第一三次样条在TH2[1]处的Y坐标与所述第二色调映射曲线中的第二三次样条在TH2[1]处的Y坐标相同,且所述第一三次样条在TH2[1]处的一阶导数与所述第二三次样条在TH2[1]处的一阶导数相同。

在一些可选的实施例中,其特征在于,所述第二色调映射曲线中的第二三次样条在TH3[1]处的Y坐标与所述第二色调映射曲线中的第三色调映射函数在TH3[1]处的Y坐标相同,且所述第二三次样条在TH3[1]处的一阶导数与所述第三色调映射函数在TH3[1]处的一阶导数相同。

示例性的,可以根据上述第二色调映射曲线中的一次样条,获得公式(38):

F(L)=MB[0][0]×L (38)

然后,将L设置为TH[1],计算得到TH[1]的坐标VA1,满足下式(39):

VA1=MB[0][0]×TH[1] (39)

接下来,根据上述第二色调映射曲线中的第一三次样条,获取MA[0][1],MA[1][1],满足下式(40)和(41):

MA[0][1]=VA1 (40)

MA[1][1]=VA2 (41)

然后,计算第二色调映射曲线中的第一三次样条的一阶导数GD1,使MB[0][1]=GD1,并计算第二色调映射曲线中的第二三次样条在TH3[1]处的一阶导数GD3,满足下式(42)和(43):

MB[0][1]=GD1=MB[0][0] (42)

GD3=m_a×m_m×m_p×K3×m_n×TH3[1]m_m-1×DGD3(L) (43)

其中,

之后,计算第二色调映射曲线中第一个三次样条(即第一三次样条)曲线在TH2[1]处的数值VA2[0],计算第二个三次样条(即第二三次样条)曲线在TH3[1]处的数值VA3[0],并使得VA3[0]=VA3。

计算第二个三次样条曲线在TH3[1]处的导数GD3[0],使得GD3[0]=GD3。

计算该第一个三次样条曲线和第二个三次样条曲线分别在TH2[1]的一阶导数GD2[0]、GD2[1],使得GD2[0]=GD2[1]。

计算两个三次样条曲线在TH2[1]处的二阶导数GGD2[0]、GGD2[1],使GGD2[0]=GGD2[1]。

综上可得以下公式(44):

其中,DTH2=(TH2[1]-TH1[1]),DTH3=(TH3[1]-TH2[1])。

通过上述计算,结合其他条件可以获得第二参数中的MC[0][1],MD[0][1],MB[1][1],MC[1][1],MD[1][1]等参数。

因此,本申请实施例通过对第一色调映射曲线的参数进行进一步的调整,使得调整后的曲线参数(即第二参数)对应的色调映射曲线(即第二色调映射曲线)上的某一点的输出亮度不高于该点对应的输入亮度,从而有助于在图像的最大显示亮度与显示设备的最大显示亮度接近时,避免出现映射之后的终端设备的像素的亮度比原始的图像还要亮的异常现象。

上文结合图9对本申请实施例的动态范围映射的方法进行了详细的描述,下面结合图10和图11对本申请实施例的动态范围映射的装置进行描述,应理解,图10和图11所描述的动态范围映射的装置能够执行图9所示的动态范围映射的方法的各个步骤,上文图9中对各个步骤的限定同样适用于图10和图11所示的装置,因此,下面在描述图10和图11所示的装置时,为了简洁,适当省略重复的描述。

图10是本申请实施例的动态范围映射的装置1000的示意性框图。装置1000包括获取单元1010,处理单元1020和映射单元1030。

获取单元1010,用于获取终端设备的显示参数。

所述获取单元1010还用于获取图像数据的特征信息。

所述获取单元1010还用于获取所述图像数据的第一色调映射曲线的第一参数。

处理单元1020,用于在预设条件成立时,根据所述第一参数、所述终端设备的显示参数和所述图像数据的特征信息,得到第二色调映射曲线的第二参数,其中,所述第二色调映射曲线上第一点处的输出亮度不高于所述第二色调映射曲线上的所述第一点的输入亮度。

映射单元1030,用于根据所述第二色调映射曲线的第二参数对所述图像数据进行动态范围映射。

在本申请某些实现方式中,符合下列任意之一的条件时,则所述预设条件成立:

根据所述第一参数对于图像数据进行色调映射时,所述第一色调映射曲线上第二点处的输出亮度高于所述第一色调映射曲线上的所述第二点处的输入亮度;或者

所述第一参数中的参数pP1大于第一值Tp,其中,所述第一值Tp是根据所述第一参数中的aP1,以及预设的aP1与pP1的对应关系获得的;或者

所述第一参数中的参数aP1大于第二值Ta,其中,所述第二值Ta是根据所述第一参数中的pP1,以及预设的aP1与pP1的对应关系获得的;或者

所述第一参数中的参数aP1与参数pP1的乘积大于第三值Tap,其中,所述第三值Tap为预设的有理数。

在本申请某些实现方式中,所述第二参数包括第一一次样条曲线参数,所述第一一次样条曲线参数包括所述第二色调映射曲线中的第一一次样条的斜率MB[0][0]或所述第一一次样条的区间像素点的亮度值的最大值TH3[0]。

在本申请某些实现方式中,所述第一参数包括第二一次样条曲线参数,所述第二一次样条曲线参数包括所述第一色调映射曲线中的第二一次样条的斜率MB_mid[0][0]和所述第二一次样条的区间像素点的亮度值的最大值TH3_mid[0],所述显示参数包括所述终端设备的最大显示亮度MaxDisplay,所述特征信息包括所述图像数据的最大亮度校正值max_lum;

其中,处理单元1020具体用于:

根据所述最大显示亮度MaxDisplay、所述最大亮度校正值max_lum,对所述曲线参数MB_mid[0][0]和TH3_mid[0]进行调整,获取所述曲线参数MB[0][0]和TH3[0]。

在本申请某些实现方式中,所述曲线参数MB_mid[0][0]和TH3_mid[0],以及所述曲线参数MB[0][0]和TH3[0],满足以下公式:

其中,

或者

其中

或者

其中,L为输入信号,G(L)为色调映射曲线对应的函数H(L)的逆函数,m_a、m_b、m_m、m_n、k1、k2、k3为曲线参数,G(L,m_a_T)表示G(L)的参数M_a取值为m_a_T时输入变量L对应的G(L)值,同理H(L,m_a_T),N1、N2为有理数,max(a,b)表示求a和b中较大的一个值,min(a,b)表示求a和b中较小的一个值,H(L)为

或者,

在本申请某些实现方式中,所述第二参数包括三次样条曲线参数,所述三次样条曲线参数包括所述第二色调映射曲线上的三次样条的插点值TH1[1]、TH2[1]、TH3[1],其中,TH1[1]表示所述三次样条的第一区间像素点的亮度值的最小值,TH2[1]表示所述三次样条的第一区间像素点的亮度值的最大值和所述三次样条的第二区间像素点的亮度值的最小值,TH3[1]表示所述三次样条的第二区间像素点的亮度值的最大值。

在本申请某些实现方式中,所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]是根据所述第一参数中第二一次样条曲线参数TH3[0]、所述插点值TH1[1]、TH2[1]、TH3[1]的预设偏移值得到的,如下所示:

TH1[1]=TH3[0];

TH2[1]=TH1[1]+B;

TH3[1]=TH2[1]+C*TH2[1]-D*TH1[1];

其中,B,C和D为所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]计算相关值的预设值,B为暗区过渡区像素点的亮度值对应的预设偏移值,C和D为亮区像素点的亮度值对应的预设加权系数。

在本申请某些实现方式中,所述三次样条的插点值TH1[1]、TH2[1]、TH3[1]是根据所述第一参数中第二一次样条曲线参数TH3[0]、所述插点值TH1[1]、TH2[1]、TH3[1]的计算相关值计算得到的,如下所示:

TH1[1]=3Spline_TH[i][0][w];

TH2[1]=3Spline_TH[i][0][w]+3Spline_TH_Delta1[i][1][w];

TH3[1]=3Spline_TH[i][0][w]+3Spline_TH_Delta1[i][1][w]+3Spline_TH_Delta1[i][2][w];

其中,3Spline_TH[i][0][w]、3Spline_TH_Delta1[i][1][w]、3Spline_TH_Delta1[i][2][w]为从元数据中提取的所述插点值TH1[1]、TH2[1]、TH3[1]的计算相关值。

在本申请某些实现方式中,所述第二色调映射曲线中的一次样条在TH3[0]处的Y坐标与所述第二色调映射曲线中的三次样条在TH1[1]处的Y坐标相同,且所述一次样条在TH3[0]处的一阶导数与所述三次样条在TH1[1]处的一阶导数相同。

在本申请某些实现方式中,所述第二色调映射曲线中的第一三次样条在TH2[1]处的Y坐标与所述第二色调映射曲线中的第二三次样条在TH2[1]处的Y坐标相同,且所述第一三次样条在TH2[1]处的一阶导数与所述第二三次样条在TH2[1]处的一阶导数相同。

在本申请某些实现方式中,所述第二色调映射曲线中的第二三次样条在TH3[1]处的Y坐标与所述第二色调映射曲线中的第三色调映射函数在TH3[1]处的Y坐标相同,且所述第二三次样条在TH3[1]处的一阶导数与所述第三色调映射函数在TH3[1]处的一阶导数相同。

在本申请某些实现方式中,所述获取单元1010具体用于:

获取所述图像数据的元数据;

根据所述元数据以及所述显示参数,确定所述第一色调映射曲线的第一参数。

图11是本申请实施例的动态范围映射的装置1100的硬件结构示意图。图11所示的装置1100可以看成是一种计算机设备,装置1100可以作为本申请实施例的动态范围映射的装置的一种实现方式,也可以作为本申请实施例的动态范围映射的方法的一种实现方式,装置1100包括处理器1101、存储器1102、输入/输出接口1103和总线1105,还可以包括通信接口1104。其中,处理器1101、存储器1102、输入/输出接口1103和通信接口1104通过总线1105实现彼此之间的通信连接。

处理器1101可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的处理媒体数据的装置中的模块所需执行的功能,或者执行本申请方法实施例的处理媒体数据的方法。处理器1101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1101可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1102,处理器1101读取存储器1102中的信息,结合其硬件完成本申请实施例的处理媒体数据的装置中包括的模块所需执行的功能,或者执行本申请方法实施例的处理媒体数据的方法。

存储器1102可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1102可以存储操作系统以及其他应用程序。在通过软件或者固件来实现本申请实施例的处理媒体数据的装置中包括的模块所需执行的功能,或者执行本申请方法实施例的处理媒体数据的方法时,用于实现本申请实施例提供的技术方案的程序代码保存在存储器1102中,并由处理器1101来执行处理媒体数据的装置中包括的模块所需执行的操作,或者执行本申请方法实施例提供的处理媒体数据的方法。

输入/输出接口1103用于接收输入的数据和信息,输出操作结果等数据。

通信接口1104使用例如但不限于收发器一类的收发装置,来实现装置1100与其他设备或通信网络之间的通信。可以作为处理装置中的获取模块或者发送模块。

总线1105可包括在装置1100各个部件(例如处理器1101、存储器1102、输入/输出接口1103和通信接口1104)之间传送信息的通路。

应注意,尽管图11所示的装置1100仅仅示出了处理器1101、存储器1102、输入/输出接口1103、通信接口1104以及总线1105,但是在具体实现过程中,本领域的技术人员应当明白,装置1100还包括实现正常运行所必须的其他器件,例如还可以包括显示器,用于显示要播放的视频数据。同时,根据具体需要,本领域的技术人员应当明白,装置1100还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,装置1100也可仅仅包括实现本申请实施例所必须的器件,而不必包括图11中所示的全部器件。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述动态范围映射的方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述动态范围映射的方法。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

48页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:墨水屏终端的图像处理方法、装置、存储介质及智能设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类