映射曲线参数的获取方法和装置与流程

文档序号:33713827发布日期:2023-04-01 02:48阅读:74来源:国知局
映射曲线参数的获取方法和装置与流程
映射曲线参数的获取方法和装置
1.本技术是申请号为202010366684.2、申请日为2020年04月30日、发明创造名称为“映射曲线参数的获取方法和装置”的中国申请的分案申请。
技术领域
2.本技术涉及图像处理领域,尤其涉及一种映射曲线参数的获取方法和装置。


背景技术:

3.动态范围(dynamic range)在很多领域用来表示某个变量的最大值和最小值的比率。在数字图像中,动态范围用于表示在图像可显示的范围内最大灰度值和最小灰度值之间的比率。真实世界的同一场景下,其动态范围通常在10-3
坎德拉/平方米(cd/m2)到106cd/m2之间,称作高动态范围(high dynamic range,hdr)。目前大部分的彩色数字图像中,0~255就是图像的动态范围,称作低动态范围(low dynamic range,ldr)。
4.由于显示设备的照度范围和真实世界的动态范围存在差异,因此需要将真实世界的动态范围映射至显示设备的照度范围,称作动态范围的映射。动态范围的映射可以应用在前端hdr信号和后端hdr的显示设备的适配上,例如,前端采集到4000cd/m2的光照信号,而后端hdr的显示设备的hdr显示能力为500cd/m2,把4000cd/m2的光照信号映射到500cd/m2的显示设备上,是一种从高到低的色调映射(tone mapping,tm)过程。动态范围的映射也可以应用在前端sdr信号和后端hdr的显示设备的适配上,例如,前端采集到100cd/m2的光照信号,而后端hdr的显示设备的hdr显示能力为2000cd/m2,把100cd/m2的光照信号映射到2000cd/m2的显示设备上,是一种从低到高的tm过程。
5.目前动态范围的映射方法可以分为静态和动态两种。静态的映射方法是根据同一个视频内容或者同一个硬盘内容,由单一的数据进行整体的tm过程,也就是针对各种场景,映射曲线通常是一样的。这种方法的优点是图像需要携带的数据较少,并且处理流程比较简单;缺点是所有场景都使用同一映射曲线进行tm,这样在有一些场景会导致信息丢失,例如如果映射曲线重点保护的是亮区,那么在一些极其暗的场景会丢掉一些细节,或者干脆看不见,这样会影响图像的显示效果。动态的映射方法是根据特定区域,针对每一个场景或者每一帧的内容进行映射曲线的动态调整,这种方法的优点是可以实现不同场景或者不同帧的差异化处理;缺点是需要在每一帧或者每一场景中携带相关的场景信息,图像需要携带的数据量较大。


技术实现要素:

6.本技术实施例提供一种映射曲线参数的获取方法和装置,可以针对不同亮度的显示设备提供更精确地色调调整,具有较大的灵活性。
7.第一方面,本技术实施例提供了一种映射曲线参数的获取方法,包括:获取第一映射曲线参数集合和第一目标系统显示最大亮度,所述第一映射曲线参数集合和所述第一目标系统显示最大亮度对应,所述第一映射曲线参数集合包括与映射曲线相关的一个或多个
参数;获取显示亮度参数集合,所述显示亮度参数集合包括显示设备的最大显示亮度和/或最小显示亮度;获取调整系数集合,所述调整系数集合包括一个或多个调整系数,所述一个或多个调整系数和所述第一映射曲线参数集合中的所述一个或多个参数对应;根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合,所述第二映射曲线参数集合包括一个或多个调整后的参数;其中,所述获取调整系数集合,包括:从待显示内容的动态元数据中获取所述调整系数集合。
8.本技术通过对于映射曲线相关的一个或多个参数进行调整,该调整过程结合了后端的显示能力,可以针对不同亮度的显示设备提供更精确地色调调整,具有较大的灵活性,也可以在合理配置曲线参数的情况下达到很好的呈现效果。
9.在一种可能的实现方式中,所述根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合,包括:根据公式(1)计算调整后的第一参数,所述第一参数为所述第一映射曲线参数集合中的任意一个参数,所述调整后的第一参数属于所述第二映射曲线参数集合:
10.pa=pb+k
×
p
δ
ꢀꢀꢀꢀꢀꢀ
(1)
11.其中,pa表示所述调整后的第一参数,pb表示所述第一参数,p
δ
表示所述第一参数对应的所述调整系数,或者当maxdisplay>m
tpl
时,a=1,当maxdisplay≤m
tpl
时,a=-1,maxdisplay表示所述最大显示亮度,m
tpl
表示所述第一目标系统显示最大亮度,n表示调整强度控制参数,m表示预设亮度值。
12.采用调整系数对与映射曲线相关的一个或多个参数进行调整,该调整过程结合了后端的显示能力,可以针对不同亮度的显示设备提供更精确地色调调整,具有较大的灵活性,也可以在合理配置曲线参数的情况下达到很好的呈现效果。
13.在一种可能的实现方式中,所述根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合之前,还包括:获取待显示内容的最大亮度、最小亮度、平均值以及变化范围中的一个或多个,根据所述最大显示亮度、所述最小显示亮度、所述最大亮度、所述最小亮度、所述平均值以及所述变化范围中的一个或多个得到的第一参数的中间值,所述第一参数为所述第一映射曲线参数集合中的任意一个参数;所述根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合,包括:根据公式(2)计算调整后的第一参数,所述调整后的第一参数属于所述第二映射曲线参数集合:
14.pa=(1-w)
×
pb+w
×
pmꢀꢀꢀꢀꢀꢀ
(2)
15.其中,pa表示所述调整后的第一参数,pb表示所述第一参数,或者p
δ
表示所述第一参数
对应的所述调整系数,maxdisplay表示所述最大显示亮度,m
tpl
表示所述第一目标系统显示最大亮度,n表示调整强度控制参数,m表示预设亮度值,pm表示所述第一参数的中间值。
16.通过多个参数以加权的方式得到与映射曲线相关的一个或多个参数,该过程结合了后端的显示能力,可以针对不同亮度的显示设备提供更精确地色调调整,具有较大的灵活性,也可以在合理配置曲线参数的情况下达到很好的呈现效果。
17.在一种可能的实现方式中,根据公式计算调整后的第一参数后,还包括:根据所述调整后的第一参数和所述第一映射曲线参数集合中除所述第一参数外的其他参数获取第一映射曲线,若根据所述第一映射曲线进行色调映射后得到的待显示内容亮度高于待显示内容的原始亮度,则继续对所述第一参数进行调整;或者,根据预设规则分析所述调整后的第一参数,若所述调整后的第一参数符合所述预设规则,则继续对所述第一参数进行调整。
18.逐次微调与映射曲线相关的参数,可以提高映射曲线参数的准确性。
19.在一种可能的实现方式中,所述根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合,包括:当所述第一映射曲线参数集合中包括缩放因子时,根据公式(3)计算调整后的所述缩放因子:
[0020][0021]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示待显示内容在存储器中最大亮度,f(maxsource,p1a,p2a,...)表示与所述待显示内容在存储器中最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度。
[0022]
在一种可能的实现方式中,所述根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合,包括:当所述第一映射曲线参数集合中包括缩放因子时,根据公式(4)计算调整后的所述缩放因子:
[0023][0024]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示待显示内容在存储器中最大亮度,minsource表示待显示内容在存储器中最小亮度,f(maxsource,p1a,p2a,...)表示与所述待显示内容在存储器中最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,f(minsource,p1a,p2a,...)表示与所述待显示内容在存储器中最小亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度,mindisplay表示所述最小显示亮度。
[0025]
在一种可能的实现方式中,所述根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合,包括:当所述第一映射曲线参数集合中包括缩放因子时,根据公式(5)计算调整后的所述缩放因子:
[0026][0027]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示待显示内容在存储器中最大亮度,f(maxsource,p1a,p2a,...)表示与所述待显示内容在存储器中最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度,mindisplay表示所述最小显示亮度。
[0028]
在一种可能的实现方式中,所述根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合,包括:当所述第一映射曲线参数集合中包括缩放因子时,根据公式(6)计算调整后的所述缩放因子:
[0029][0030]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示待显示内容在存储器中最大亮度,minsource表示待显示内容在存储器中最小亮度,f(maxsource,p1a,p2a,...)表示与所述待显示内容在存储器中最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,f(minsource,p1a,p2a,...)表示与所述待显示内容在存储器中最小亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度。
[0031]
在一种可能的实现方式中,所述获取第一映射曲线参数集合和第一目标系统显示最大亮度,包括:从待显示内容的动态元数据中获取所述第一映射曲线参数集合和所述第一目标系统显示最大亮度;或者,从所述动态元数据中获取所述第一映射曲线参数集合,根据设定的对应关系获取与所述第一映射曲线参数集合对应的所述第一目标系统显示最大亮度。
[0032]
在一种可能的实现方式中,所述获取调整系数集合,包括:根据预设值获取所述调整系数集合。
[0033]
在一种可能的实现方式中,所述获取调整系数集合,包括:直接读取一个或多个调整系数;或者,获取调整模式,并获取与所述调整模式对应的所述一个或多个调整系数。
[0034]
在一种可能的实现方式中,所述获取显示亮度参数集合,包括:通过设备信息获取所述显示亮度参数集合;或者,通过预设信息获取所述显示亮度参数集合。
[0035]
在一种可能的实现方式中,所述根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合之后,还包括:根据所述第二映射曲线参数集合中的所述一个或多个调整后的参数获取映射曲线。
[0036]
第二方面,本技术实施例提供了一种待显示内容处理装置,包括:获取模块,用于获取第一映射曲线参数集合和第一目标系统显示最大亮度,所述第一映射曲线参数集合和所述第一目标系统显示最大亮度对应,所述第一映射曲线参数集合包括与映射曲线相关的
一个或多个参数;获取显示亮度参数集合,所述显示亮度参数集合包括显示设备的最大显示亮度和/或最小显示亮度;获取调整系数集合,所述调整系数集合包括一个或多个调整系数,所述一个或多个调整系数和所述第一映射曲线参数集合中的所述一个或多个参数对应;处理模块,用于根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合,所述第二映射曲线参数集合包括一个或多个调整后的参数;其中,所述获取模块,具体用于从待显示内容的动态元数据中获取所述调整系数集合。
[0037]
在一种可能的实现方式中,所述处理模块,具体用于根据公式(1)计算调整后的第一参数,所述第一参数为所述第一映射曲线参数集合中的任意一个参数,所述调整后的第一参数属于所述第二映射曲线参数集合:
[0038]
pa=pb+k
×
p
δ
ꢀꢀꢀꢀꢀꢀ
(1)
[0039]
其中,pa表示所述调整后的第一参数,pb表示所述第一参数,p
δ
表示所述第一参数对应的所述调整系数,或者当maxdisplay>m
tpl
时,a=1,当maxdisplay≤m
tpl
时,a=-1,maxdisplay表示所述最大显示亮度,m
tpl
表示所述第一目标系统显示最大亮度,n表示调整强度控制参数,m表示预设亮度值。
[0040]
在一种可能的实现方式中,所述获取模块,还用于获取待显示内容的最大亮度、最小亮度、平均值以及变化范围中的一个或多个,根据所述最大显示亮度、所述最小显示亮度、所述最大亮度、所述最小亮度、所述平均值以及所述变化范围中的一个或多个得到的第一参数的中间值,所述第一参数为所述第一映射曲线参数集合中的任意一个参数;所述处理模块,具体用于根据公式(2)计算调整后的第一参数,所述调整后的第一参数属于所述第二映射曲线参数集合:
[0041]
pa=(1-w)
×
pb+w
×
pmꢀꢀꢀꢀꢀꢀ
(2)
[0042]
其中,pa表示所述调整后的第一参数,pb表示所述第一参数,或者p
δ
表示所述第一参数对应的所述调整系数,maxdisplay表示所述最大显示亮度,m
tpl
表示所述第一目标系统显示最大亮度,n表示调整强度控制参数,m表示预设亮度值,pm表示所述第一参数的中间值。
[0043]
在一种可能的实现方式中,所述处理模块,还用于根据所述调整后的第一参数和所述第一映射曲线参数集合中除所述第一参数外的其他参数获取第一映射曲线,若根据所述第一映射曲线进行色调映射后得到的待显示内容亮度高于待显示内容的原始亮度,则继续对所述第一参数进行调整;或者,根据预设规则分析所述调整后的第一参数,若所述调整后的第一参数符合所述预设规则,则继续对所述第一参数进行调整。
[0044]
在一种可能的实现方式中,所述处理模块,具体用于当所述第一映射曲线参数集合中包括缩放因子时,根据公式(3)计算调整后的所述缩放因子:
[0045][0046]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参
数集合中的参数,maxsource表示待显示内容在存储器中最大亮度,f(maxsource,p1a,p2a,...)表示与所述待显示内容在存储器中最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度。
[0047]
在一种可能的实现方式中,所述处理模块,具体用于当所述第一映射曲线参数集合中包括缩放因子时,根据公式(4)计算调整后的所述缩放因子:
[0048][0049]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示待显示内容在存储器中最大亮度,minsource表示待显示内容在存储器中最小亮度,f(maxsource,p1a,p2a,...)表示与所述待显示内容在存储器中最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,f(minsource,p1a,p2a,...)表示与所述待显示内容在存储器中最小亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度,mindisplay表示所述最小显示亮度。
[0050]
在一种可能的实现方式中,所述处理模块,具体用于当所述第一映射曲线参数集合中包括缩放因子时,根据公式(5)计算调整后的所述缩放因子:
[0051][0052]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示待显示内容在存储器中最大亮度,f(maxsource,p1a,p2a,...)表示与所述待显示内容在存储器中最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度,mindisplay表示所述最小显示亮度。
[0053]
在一种可能的实现方式中,所述处理模块,具体用于当所述第一映射曲线参数集合中包括缩放因子时,根据公式(6)计算调整后的所述缩放因子:
[0054][0055]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示待显示内容在存储器中最大亮度,minsource表示待显示内容在存储器中最小亮度,f(maxsource,p1a,p2a,...)表示与所述待显示内容在存储器中最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,f(minsource,p1a,p2a,...)表示与所述待显示内容在存储器中最小亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度。
[0056]
在一种可能的实现方式中,所述获取模块,具体用于从待显示内容的动态元数据中获取所述第一映射曲线参数集合和所述第一目标系统显示最大亮度;或者,从所述动态元数据中获取所述第一映射曲线参数集合,根据设定的对应关系获取与所述第一映射曲线参数集合对应的所述第一目标系统显示最大亮度。
[0057]
在一种可能的实现方式中,所述获取模块,具体用于根据预设值获取所述调整系数集合。
[0058]
在一种可能的实现方式中,所述获取模块,具体用于直接读取一个或多个调整系数;或者,获取调整模式,并获取与所述调整模式对应的所述一个或多个调整系数。
[0059]
在一种可能的实现方式中,所述获取模块,具体用于通过设备信息获取所述显示亮度参数集合;或者,通过预设信息获取所述显示亮度参数集合。
[0060]
在一种可能的实现方式中,所述获取模块,还用于根据所述第二映射曲线参数集合中的所述一个或多个调整后的参数获取映射曲线。
[0061]
第三方面,本技术实施例提供了一种终端设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面中任一项所述的方法。
[0062]
第四方面,本技术实施例提供了一种视频处理系统,包括:前端和后端;其中,所述前端包括摄像头,用于采集视频数据,并获取所述视频数据的动态元数据;所述后端包括上述第一方面中任一项所述的装置。
[0063]
第五方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行第一方面的任意一种方法的部分或全部步骤的指令。
[0064]
第六方面,本技术实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
[0065]
应当理解的是,本技术的第二至六方面与本技术的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
[0066]
为了更清楚地说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
[0067]
图1示出了真实世界的成像过程中动态范围映射的一个示例图;
[0068]
图2示例性的示出了pq光电转移函数的一个曲线示意图;
[0069]
图3示例性的示出了hlg光电转移函数的一个曲线示意图;
[0070]
图4示例性的示出了slf光电转移函数的一个曲线示意图;
[0071]
图5示例性的示出了sigmoidal曲线的一个示意图;
[0072]
图6示例性的示出了贝泽尔曲线的一个示意图;
[0073]
图7示例性的示出了s型曲线的一个示意图;
[0074]
图8示例性地给出了本技术实施例所应用的视频处理系统的示意性框图;
[0075]
图9示出了终端设备900的一个示例性的结构示意图;
[0076]
图10为本技术映射曲线参数的获取方法实施例的流程图;
[0077]
图11是用于实现本技术实施例的一种视频处理装置1100的结构框图。
具体实施方式
[0078]
下面结合本技术实施例中的附图对本技术实施例进行描述。以下描述中,参考形
成本公开一部分并以说明之方式示出本技术实施例的具体方面或可使用本技术实施例的具体方面的附图。应理解,本技术实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本技术的范围由所附权利要求书界定。例如,应理解,结合所描述方法的揭示内容可以同样适用于用于执行所述方法的对应设备或系统,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包含如功能单元等一个或多个单元,来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元,其中每个都执行多个步骤中的一个或多个),即使附图中未明确描述或说明这种一个或多个单元。另一方面,例如,如果基于如功能单元等一个或多个单元描述具体装置,则对应的方法可以包含一个步骤来执行一个或多个单元的功能性(例如,一个步骤执行一个或多个单元的功能性,或多个步骤,其中每个执行多个单元中一个或多个单元的功能性),即使附图中未明确描述或说明这种一个或多个步骤。进一步,应理解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以相互组合。
[0079]
本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。下面先对本技术实施例可能涉及的一些概念进行简单介绍。
[0080]
一、动态范围(dynamic range)
[0081]
动态范围在很多领域用来表示某个变量的最大值和最小值的比率。在数字图像中,动态范围用于表示在图像可显示的范围内最大灰度值和最小灰度值之间的比率。
[0082]
在自然界中,星空下的夜景亮度约为0.001cd/m2,太阳本身亮度高达109cd/m2,动态范围可达到109/0.001=10
12
cd/m2量级。但是在自然界的真实世界中,太阳的亮度和星光的亮度不会同时得到,因此对真实世界的同一场景来说,其动态范围通常在10-3
cd/m2到106cd/m2之间,称作高动态范围(high dynamic range,hdr)。目前大部分的彩色数字图像中,红色(r)、绿色(g)和蓝色(b)三个通道的灰度分别使用一个字节来存储,亦即r、g和b三个通道的灰度范围分别是0~255,该0~255就是图像的动态范围,称作低动态范围(low dynamic range,ldr)。
[0083]
二、光电转移函数(optical-electro transfer function,oetf)
[0084]
数码相机的成像过程实际上就是真实世界的高动态范围到数字图像的低动态范围的映射。图1示出了真实世界的成像过程中动态范围映射的一个示例图,如图1所示,真实世界中除星光的亮度和太阳的亮度外,还包括月光的亮度为1cd/m2,室内照明的亮度为100cd/m2,室外多云天气时的亮度为500cd/m2,室外晴天时的亮度为2000cd/m2。真实世界中亮度范围100cd/m2到2000cd/m2和显示设备的存储的方式所对应的亮度范围1cd/m2到200cd/m2成映射关系。
[0085]
由于显示设备的存储方式并不能达到真实世界的高亮度,因此需要光电转移函数(electro-optical transfer function,eotf),将真实世界中的亮度表示为显示设备的存储方式所对应的亮度。例如,真实世界中的亮度为10000cd/m2,显示设备用10比特存储亮度信息,那么该存储方式下可存储的最大值为1023,因此可以将10000cd/m2表示为1023。
[0086]
早期的显示设备是阴极射线显像管(cathode ray tube,crt)显示器,其光电转移函数就是伽马(gamma)函数。在itu-r recommendation bt.1886标准当中定义了该gamma函数:
[0087][0088]
随着显示设备的升级,显示设备的照度范围不断增加,现有的hdr显示器的照度达到600cd/m2,高端的hdr显示器的照度能达到2000cd/m2。因此需要改进的光电转移函数以适应显示设备的升级,现阶段常见的光电转移函数有感知量化(perception quantization,pq)光电转移函数、混合对数伽马(hybrid log-gamma,hlg)光电转移函数和场景亮度保真(scene luminance fidelity,slf)光电转移函数三种。
[0089]
(1)pq光电转移函数:不同于传统的gamma函数,根据人眼的在不同亮度下的对比度感知模型,提出了pq光电转移函数。pq光电转移函数表示图像帧像素的线性信号值到pq域非线性信号值的转换关系,图2示例性的示出了pq光电转移函数的一个曲线示意图。pq光电转移函数可以表示为:
[0090][0091]
上述公式中对应于r、g和b的参数可以通过公式计算,其中,l表示图像帧像素的线性信号值,其值归一化为[0,1];l’表示pq域非线性信号值,其取值范围为[0,1];m1、m2、c1、c2和c3均为pq光电转移系数,
[0092][0093][0094]
(2)hlg光电转移函数:是在传统的gamma曲线的基础上改进得到的,hlg光电转移函数在低段应用传统的gamma曲线,在高段补充了log曲线。hlg光电转移函数表示图像帧像素的线性信号值到hlg域非线性信号值的转换关系,图3示例性的示出了hlg光电转移函数的一个曲线示意图。hlg光电转移函数可以表示为:
[0095][0096]
其中,l表示图像帧像素的线性信号值,其取值范围为[0,12];l’表示hlg域非线性信号值,其取值范围为[0,1];a、b和c均为hlg光电转移系数,a=0.17883277,b=0.28466892,c=0.55991073。
[0097]
(3)slf光电转移函数:在满足人眼光学特性的前提下,根据hdr场景亮度分布得到。slf光电转移函数表示图像帧像素的线性信号值到slf域非线性信号值的转换关系,图4示例性的示出了slf光电转移函数的一个曲线示意图。slf光电转移函数可以表示为:
[0098][0099]
上述公式中对应于r、g和b的参数可以通过公式计算,其中,l表示图像帧像素的线性信号值,其值归一化为[0,1];l’表示pq域非线性信号值,其取值范围为[0,1];p、m、a和b均为slf光电转移系数,p=2.3,m=0.14,a=1.12762,b=-0.12762。
[0100]
三、动态范围的映射
[0101]
动态范围的映射可以应用在前端hdr信号和后端hdr的显示设备的适配上,例如,前端采集到4000cd/m2的光照信号,而后端hdr的显示设备的hdr显示能力为500cd/m2,把4000cd/m2的光照信号映射到500cd/m2的显示设备上,是一种从高到低的色调映射(tone mapping,tm)过程。动态范围的映射也可以应用在前端sdr信号和后端hdr的显示设备的适配上,例如,前端采集到100cd/m2的光照信号,而后端hdr的显示设备的hdr显示能力为2000cd/m2,把100cd/m2的光照信号映射到2000cd/m2的显示设备上,是一种从低到高的tm过程。
[0102]
目前动态范围的映射方法可以分为静态和动态两种。静态的映射方法是根据同一个视频内容或者同一个硬盘内容,由单一的数据进行整体的tm过程,也就是针对各种场景,映射曲线通常是一样的。这种方法的优点是视频需要携带的数据较少,并且处理流程比较简单;缺点是所有场景都使用同一映射曲线进行tm,这样在有一些场景会导致信息丢失,例如如果映射曲线重点保护的是亮区,那么在一些极其暗的场景会丢掉一些细节,或者完全看不见,这样会影响视频的显示效果。动态的映射方法是根据特定区域,针对每一个场景或者每一帧的内容进行映射曲线的动态调整,这种方法的优点是可以实现不同场景或者不同帧的差异化处理;缺点是需要在每一帧或者每一场景中携带相关的场景信息,视频需要携带的数据量较大。
[0103]
四、tm技术
[0104]
(1)基于sigmoidal曲线的tm过程
[0105]
图5示例性的示出了sigmoidal曲线的一个示意图。
[0106]
(2)基于贝泽尔曲线的tm过程
[0107]
图6示例性的示出了贝泽尔曲线的一个示意图。
[0108]
(3)基于人眼感知的s型曲线的tm过程
[0109]
图7示例性的示出了s型曲线的一个示意图,s曲线对应的光电转移函数可以表示为:
[0110][0111]
其中,l和l’分别为归一化的电信号或者光信号,其取值范围均为[0,1];a的取值范围为[0,1];b的取值范围为[0,1];p、n和m的取值范围均为[0,n],n为大于0.1的有理数;
k1、k2、k3均为有理数。
[0112]
五、动态元数据
[0113]
前端(视频采集和/制作)会在发送给后端(视频显示)的动态元数据中携带与映射曲线相关的参数。
[0114]
(1)sigmoidal曲线
[0115]
在st2094-10提出的sigmoidal曲线相关的动态元数据定义中不单包含了视频亮度的最大值(maximum pq-encoded maxrgb)、最小值(minimum pq-encoded maxrgb)、平均值(average pq-encoded maxrgb)等统计值,还包含了色调映射偏移(tone mapping offset)、色调映射增益(tone mapping gain)和色调映射伽马(tone mapping gamma)等sigmoid曲线相关的参数,用于直接生成sigmoidal曲线。
[0116]
但是上述参数的生成方式比较固定,动态元数据包含的参数无法给曲线生成提供更多的灵活性。
[0117]
(2)贝泽尔曲线
[0118]
在st2094-40提出的基于贝泽尔曲线相关的动态元数据定义中包含了直方图信息(distribution maxrgb),还包含了贝泽尔曲线相关的参数(bezier curve anchors),用于直接生成贝泽尔曲线。
[0119]
另外,st2094系列的标准中都包含了目标系统显示最大(峰值)亮度(targeted_system_display_maximum_luminance,tsdapl)。
[0120]
但是上述参数在前端生成时对应于tsdapl,而在后端不同的显示设备使用相同的曲线,无法达到最好的显示效果。
[0121]
(3)s型曲线
[0122]
动态元数据中可以包含视频亮度的最大值、最小值、平均值等统计值,也可以包含p、m、a、b、n、k1、k2、k3等s型曲线相关的参数。
[0123]
下面描述本技术实施例所应用的系统架构。图8示例性地给出了本技术实施例所应用的视频处理系统的示意性框图。如图8所示,视频处理系统分为前端和后端,其中,前端包括采集和/或制作视频的模块,后端包括hdr显示模块和/或sdr显示模块。前端将采集到的视频数据经预处理后传输给后端,同时还会携带视频数据的动态元数据。后端根据视频数据,结合对应的动态元数据对视频中的图像帧进行增强处理,得到颜色、亮度及对比度等俱佳的图像,并显示出来。
[0124]
本技术中前端和后端可以是各自独立的、不同的物理设备,例如,前端可以是摄像机、相机、图像绘制机等具有视频采集功能的设备,后端可以是手机、平板、机顶盒、电视等具有视频播放功能的设备。此时前端和后端之间可以建立无线连接或有线连接,其中无线连接可以采用包括例如长期演进(long term evolution,lte)、第五代(5th generation,5g)移动通信以及未来的移动通信等技术。无线连接还可以包括无线保真(wireless-fidelity,wifi)、蓝牙、近场通信(near field communication,nfc)等技术。有线连接可以包括以太网连接、局域网连接等。对此不作具体限定。本技术还可以将前端的功能和后端的功能集成在同一个物理设备上,例如,具有视频拍摄功能的手机、平板、机顶盒、电视,图像绘制机等。本技术还可以将前端的部分功能和后端的部分功能集成在同一个物理设备上。对此不作具体限定。
[0125]
上述集成了前端的功能和后端的功能的设备可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。终端设备可以是手机(mobile phone)、平板电脑(pad)、具备无线通讯功能的可穿戴设备(如智能手表)、具有定位功能的位置追踪器、带无线收发功能的电脑、虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、工业控制(industrial control)中的无线设备、无人驾驶(self driving)中的无线设备、远程医疗(remote medical)中的无线设备、智能电网(smart grid)中的无线设备、运输安全(transportation safety)中的无线设备、智慧城市(smart city)中的无线设备、智慧家庭(smart home)中的无线设备等,本技术对此不作限定。
[0126]
图9示出了终端设备900的一个示例性的结构示意图。如图9所示,终端设备900包括:应用处理器901、微控制器单元(microcontroller unit,mcu)902、存储器903、调制解调器(modem)904、射频(radio frequency,rf)模块905、无线保真(wireless-fidelity,简称wi-fi)模块906、蓝牙模块907、传感器908、输入/输出(input/output,i/o)设备909、定位模块910等部件。这些部件可通过一根或多根通信总线或信号线进行通信。前述通信总线或信号线可以是本技术提供的can总线。本领域技术人员可以理解,终端设备900可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0127]
下面结合图9对终端设备900的各个部件进行具体的介绍:
[0128]
应用处理器901是终端设备900的控制中心,利用各种接口和总线连接终端设备900的各个部件。在一些实施例中,处理器901可包括一个或多个处理单元。
[0129]
存储器903中存储有计算机程序,诸如图9所示的操作系统911和应用程序912。应用处理器901被配置用于执行存储器903中的计算机程序,从而实现该计算机程序定义的功能,例如应用处理器901执行操作系统911从而在终端设备900上实现操作系统的各种功能。存储器903还存储有除计算机程序之外的其他数据,诸如操作系统911和应用程序912运行过程中产生的数据。存储器903为非易失性存储介质,一般包括内存和外存。内存包括但不限于随机存取存储器(random access memory,ram),只读存储器(read-only memory,rom),或高速缓存(cache)等。外存包括但不限于闪存(flash memory)、硬盘、光盘、通用串行总线(universal serial bus,usb)盘等。计算机程序通常被存储在外存上,处理器在执行计算机程序前会将该程序从外存加载到内存。
[0130]
存储器903可以是独立的,通过总线与应用处理器901相连接;存储器903也可以和应用处理器901集成到一个芯片子系统。
[0131]
mcu 902是用于获取并处理来自传感器908的数据的协处理器,mcu 902的处理能力和功耗小于应用处理器901,但具有“永久开启(always on)”的特点,可以在应用处理器901处于休眠模式时持续收集以及处理传感器数据,以极低的功耗保障传感器的正常运行。在一个实施例中,mcu 902可以为sensor hub芯片。传感器908可以包括光传感器、运动传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示器9091的亮度,接近传感器可在终端设备900移动到耳边时,关闭显示屏的电源。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向;传感器908还可以包括陀螺仪、气压计、湿度计、温度计、红外线传感器等其它传感器,在此不再赘述。mcu 902和传感器908可以集成到
同一块芯片上,也可以是分离的元件,通过总线连接。
[0132]
modem 904以及射频模块905构成了终端设备900通信子系统,用于实现无线通信标准协议的主要功能。其中,modem 904用于编解码、信号的调制解调、均衡等。射频模块905用于无线信号的接收和发送,射频模块905包括但不限于天线、至少一个放大器、耦合器、双工器等。射频模块905配合modem 904实现无线通信功能。modem 904可以作为单独的芯片,也可以与其他芯片或电路在一起形成系统级芯片或集成电路。这些芯片或集成电路可应用于所有实现无线通信功能的终端设备,包括:手机、电脑、笔记本、平板、路由器、可穿戴设备、汽车、家电设备等。
[0133]
终端设备900还可以使用wi-fi模块906,蓝牙模块907等来进行无线通信。wi-fi模块906用于为终端设备900提供遵循wi-fi相关标准协议的网络接入,终端设备900可以通过wi-fi模块906接入到wi-fi接入点,进而访问互联网。在其他一些实施例中,wi-fi模块906也可以作为wi-fi无线接入点,可以为其他终端设备提供wi-fi网络接入。蓝牙模块907用于实现终端设备900与其他终端设备(例如手机、智能手表等)之间的短距离通信。本技术实施例中的wi-fi模块906可以是集成电路或wi-fi芯片等,蓝牙模块907可以是集成电路或者蓝牙芯片等。
[0134]
定位模块910用于确定终端设备900的地理位置。可以理解的是,定位模块910具体可以是全球定位系统(global position system,gps)或北斗卫星导航系统、俄罗斯glonass等定位系统的接收器。
[0135]
wi-fi模块906,蓝牙模块907和定位模块910分别可以是单独的芯片或集成电路,也可以集成到一起。例如,在一个实施例中,wi-fi模块906,蓝牙模块907和定位模块910可以集成到同一芯片上。在另一个实施例中,wi-fi模块906,蓝牙模块907、定位模块910以及mcu 902也可以集成到同一芯片中。
[0136]
输入/输出设备909包括但不限于:显示器9091、触摸屏9092,以及音频电路9093等等。
[0137]
其中,触摸屏9092可采集终端设备900的用户在其上或附近的触摸事件(比如用户使用手指、触控笔等任何适合的物体在触摸屏9092上或在触控屏触摸屏9092附近的操作),并将采集到的触摸事件发送给其他器件(例如应用处理器901)。其中,用户在触摸屏9092附近的操作可以称之为悬浮触控;通过悬浮触控,用户可以在不直接接触触摸屏9092的情况下选择、移动或拖动目的(例如图标等)。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型来实现触摸屏9092。
[0138]
显示器(也称为显示屏)9091用于显示用户输入的信息或展示给用户的信息。可以采用液晶显示屏、有机发光二极管等形式来配置显示器。触摸屏9092可以覆盖在显示器9091之上,当触摸屏9092检测到触摸事件后,传送给应用处理器901以确定触摸事件的类型,随后应用处理器901可以根据触摸事件的类型在显示器9091上提供相应的视觉输出。虽然在图9中,触摸屏9092与显示器9091是作为两个独立的部件来实现终端设备900的输入和输出功能,但是在某些实施例中,可以将触摸屏9092与显示器9091集成而实现终端设备900的输入和输出功能。另外,触摸屏9092和显示器9091可以以全面板的形式配置在终端设备900的正面,以实现无边框的结构。
[0139]
音频电路9093、扬声器9094、麦克风9095可提供用户与终端设备900之间的音频接
口。音频电路9093可将接收到的音频数据转换后的电信号,传输到扬声器9094,由扬声器9094转换为声音信号输出;另一方面,麦克风9095将收集的声音信号转换为电信号,由音频电路9093接收后转换为音频数据,再通过modem 904和射频模块905将音频数据发送给比如另一终端设备,或者将音频数据输出至存储器903以便进一步处理。
[0140]
另外,终端设备900还可以具有指纹识别功能。例如,可以在终端设备900的背面(例如后置摄像头的下方)配置指纹采集器件,或者在终端设备900的正面(例如触摸屏9092的下方)配置指纹采集器件。又例如,可以在触摸屏9092中配置指纹采集器件来实现指纹识别功能,即指纹采集器件可以与触摸屏9092集成在一起来实现终端设备900的指纹识别功能。在这种情况下,该指纹采集器件配置在触摸屏9092中,可以是触摸屏9092的一部分,也可以以其他方式配置在触摸屏9092中。本技术实施例中的指纹采集器件的主要部件是指纹传感器,该指纹传感器可以采用任何类型的感测技术,包括但不限于光学式、电容式、压电式或超声波传感技术等。
[0141]
进一步地,终端设备900搭载的操作系统911可以为或者其它操作系统,本技术实施例对此不作任何限制。
[0142]
以搭载操作系统的终端设备900为例,终端设备900从逻辑上可划分为硬件层、操作系统911,以及应用层。硬件层包括如上所述的应用处理器901、mcu 902、存储器903、modem 904、wi-fi模块906、传感器908、定位模块910等硬件资源。应用层包括一个或多个应用程序,比如应用程序912,应用程序912可以为社交类应用、电子商务类应用、浏览器等任意类型的应用程序。操作系统911作为硬件层和应用层之间的软件中间件,是管理和控制硬件与软件资源的计算机程序。
[0143]
在一个实施例中,操作系统911包括内核,硬件抽象层(hardware abstraction layer,hal)、库和运行时(libraries and runtime)以及框架(framework)。其中,内核用于提供底层系统组件和服务,例如:电源管理、内存管理、线程管理、硬件驱动程序等;硬件驱动程序包括wi-fi驱动、传感器驱动、定位模块驱动等。硬件抽象层是对内核驱动程序的封装,向框架提供接口,屏蔽低层的实现细节。硬件抽象层运行在用户空间,而内核驱动程序运行在内核空间。
[0144]
库和运行时也叫做运行时库,它为可执行程序在运行时提供所需要的库文件和执行环境。在一个实施例中,库与运行时包括安卓运行时(android runtime,art),库,以及场景包运行时。art是能够把应用程序的字节码转换为机器码的虚拟机或虚拟机实例。库是为可执行程序在运行时提供支持的程序库,包括浏览器引擎(比如webkit)、脚本执行引擎(比如javascript引擎)、图形处理引擎等。场景包运行时是场景包的运行环境,主要包括页面执行环境(page context)和脚本执行环境(script context),其中,页面执行环境通过调用相应的库解析html、css等格式的页面代码,脚本执行环境通过调用相应的功能库解析执行javascript等脚本语言实现的代码或可执行文件。
[0145]
框架用于为应用层中的应用程序提供各种基础的公共组件和服务,比如窗口管理、位置管理等等。在一个实施例中,框架包括地理围栏服务,策略服务,通知管理器等。
[0146]
以上描述的操作系统911的各个组件的功能均可以由应用处理器901执行存储器903中存储的程序来实现。
[0147]
所属领域的技术人员可以理解终端设备900可包括比图9所示的更少或更多的部
件,图9所示的该终端设备仅包括与本技术所公开的多个实现方式更加相关的部件。
[0148]
下面详细阐述本技术实施例的方案:
[0149]
图10为本技术映射曲线参数的获取方法实施例的流程图,如图10所示,该过程1000可以应用于图8所示的视频处理系统,也可以应用于图9所示的终端设备,其执行主体包括终端设备或者视频处理系统中的后端。该过程1000描述为一系列的步骤或操作,应当理解的是,过程1000可以以各种顺序执行和/或同时发生,不限于图10所示的执行顺序。本技术的映射曲线参数的获取方法包括:
[0150]
步骤1001、获取第一映射曲线参数集合和第一目标系统显示最大亮度。
[0151]
本技术中,前端可以是上述图8所示的视频处理系统中的前端,后端可以是上述图8所示的视频处理系统中的后端,此时前端的数据可以通过无线网络或者有线网络传输至后端。前端和后端也可以集成于图9所示的终端设备,此时前端的数据可以通过终端设备内部的传输路径传输值后端,例如控制器局域网络(controller area network,can)总线。后端收到数据后可以将其存储在缓冲区中,以备后续处理时读取。该缓冲区例如可以是待处理帧的rgb色域像素缓冲区和/或待处理帧的元数据缓冲区。
[0152]
前端获取到视频后,可以对视频进行预处理,例如包括采用光电转移函数将真实世界中的亮度映射至与存储方式匹配的亮度,利用已获取的信息对视频进行亮度、色度、对比度等的调整,对视频进行编码生成码流等,前端将处理后的数据发送给后端。
[0153]
来自前端的数据可以包括视频数据(也称之为待显示内容的数据)和动态元数据,其中,视频数据可以是视频中的图像帧相关数据,例如像素数据;动态元数据可以包括视频数据相关的数据和映射曲线相关的数据,视频数据相关的数据例如可以包括视频数据的格式和特征,第一目标系统显示最大亮度(targeted_system_display_maximum_luminance),视频在存储器中可存储的最大亮度maxsource、最小亮度minsource、平均亮度avgsource,可储存的变化范围等等,可储存的变化范围的原理类似于方差或者分布置信区间,用于描述视频信号的亮度聚集范围。映射曲线相关的数据例如可以包括收缩因子、偏移因子、弯曲形状因子等与映射曲线相关的参数。第一映射曲线参数集合包括与映射曲线相关的数据中的一个或多个参数,例如,s型曲线相关的数据包括a、b、p、n、m、k1、k2和k3共八个参数,第一映射曲线参数集合中可以包括这所有的八个参数,也可以只包括这八个参数中的部分参数均为有理数。
[0154]
可选的,上述视频数据相关的数据也可以根据从视频内容中直接提取,无需通过动态元数据传输。
[0155]
第一映射曲线参数集合和第一目标系统显示最大亮度对应,即第一映射曲线参数集合中的一个或多个参数是以第一目标系统显示最大亮度为目标生成的,或者是和第一目标系统显示最大亮度相关连的。前端可以在动态元数据中携带第一映射曲线参数集合和第一目标系统显示最大亮度;也可以只在动态元数据中携带第一映射曲线参数集合,此时的第一映射曲线参数集合与默认的目标系统显示最大亮度对应,前端和后端预先约定默认的目标系统显示最大亮度,那么前端只需要在动态元数据中携带上与之对应的第一映射曲线参数集合,后端收到该第一映射曲线参数集合后,默认可知第一目标系统显示最大亮度。如果后端根据实际情况需要调整目标系统显示峰值亮度,可以按照实际的亮度与默认的目标系统显示峰值亮度的关系对第一映射曲线参数集合中的一个或多个参数进行调整得到新
的、与实际的亮度对应的映射曲线参数集合。
[0156]
需要说明的是,本技术不对上述视频数据包含的内容和数据形式作具体限定。例如,从像素数据的色彩空间说,视频数据的格式可以是yuv的,也可以是rgb的;从数据的位宽说,视频数据可以是8比特,10比特或者12比特等。也不对动态元数据包含的内容作具体限定。例如,映射曲线相关的数据可以是上述sigmoidal曲线涉及到的参数,也可以是上述贝泽尔曲线涉及到的参数,还可以是s型曲线涉及到的参数。
[0157]
步骤1002、获取显示亮度参数集合。
[0158]
本技术可以通过设备信息获取显示亮度参数集合,该显示亮度参数集合包括显示设备的最大显示亮度(maxdisplay)和/或最小显示亮度(mindisplay)。该设备信息可以是设备出厂时即写入的设备的参数,也可以是生产商提供的信息,其表示设备自身具备的属性和性能。
[0159]
最大显示亮度是指设备在显示时可呈现出的最大的照度。最小显示亮度是指设备在显示时可呈现出的最小的照度,通常最小显示亮度被设置为0cd/m2或1cd/m2。根据设备的显示性能,最小显示亮度也可以被设置为其他值,本技术对此不作具体限定。
[0160]
步骤1003、获取调整系数集合。
[0161]
调整系数集合包括指示与映射曲线相关的一个或多个参数调整需要的信息。
[0162]
调整系数集合包括一个或多个调整系数,一个或多个调整系数和第一映射曲线参数集合中的一个或多个参数对应。如上所述,第一映射曲线参数集合包括了与映射曲线相关的一个或多个参数,调整系数集合中的一个调整系数可以与该第一映射曲线参数集合中的一个参数对应,即每一个与映射曲线相关的参数对应一个调整系数;此外,调整系数集合中的一个调整系数也可以与该第一映射曲线参数集合中的多个参数对应,即每一个调整系数对应多个与映射曲线相关的参数;调整系数集合中也可以不包括与第一映射曲线参数集合中的一个或者多个参数对应的调整系数,即第一映射曲线参数集合中的某一个或多个与映射曲线相关的参数在调整系数集合中没有与之对应的调整系数,表示此时无需对该参数进行调整;第一映射曲线参数集合也可以包括与调整系数集合中的调整系数均不对应的参数,即某一个或多个调整系数在第一映射曲线参数集合中没有与之对应的参数,表示此时前端没有将该参数发送给后端,但需要对该参数进行调整,后端可以通过其他方法获取该参数。
[0163]
本技术中,设备可以从动态元数据中获取调整系数集合。前端在发送码流之前就设置了与映射曲线相关的一个或多个参数的调整方式,可以将其写入动态元数据发送给后端;或者,设备根据预设值获取调整系数集合。该预设值可以分别对应于与映射曲线相关的一个或多个参数,也可以是一个调整模式索引,设备基于该索引获取与之对应的与映射曲线相关的一个或多个参数的调整系数。
[0164]
步骤1004、根据显示亮度参数集合、第一目标系统显示最大亮度和调整系数集合对第一映射曲线参数集合中的一个或多个参数进行调整得到第二映射曲线参数集合。
[0165]
第二映射曲线参数集合包括一个或多个调整后的参数,该一个或多个调整后的参数与第一映射曲线参数集合中的一个或多个参数对应,是后者经调整后得到的。需要说明的是,第二映射曲线参数集合中包括的参数和第一映射曲线参数集合中包括的参数可以一一对应,即第一映射曲线参数集合包含的每个参数经调整后加入第二映射曲线参数集合,
此时可以适用于第一映射曲线参数集合包含了与映射曲线相关的所有参数;第二映射曲线参数集合中包括的参数也可以是第一映射曲线参数集合中没有的参数,即第一映射曲线参数集合包含的每个参数经调整后加入第二映射曲线参数集合,还有部分参数是设备采用其他方法获取的,然后对这部分参数进行调整或者不调整加入第二映射曲线参数集合,此时可以适用于第一映射曲线参数集合包含了与映射曲线相关的部分参数。此外,第二映射曲线参数集合中包括的数据也可是经过调整的第一映射曲线参数和未经过调整的第一映射曲线参数的集合。
[0166]
以下以第一参数为例对本技术获取第二映射曲线参数集合的方法进行说明,第一参数为第一映射曲线参数集合中的任意一个参数。
[0167]
方法一、根据公式(1)计算调整后的第一参数:
[0168]
pa=pb+k
×
p
δ
ꢀꢀꢀꢀꢀꢀ
(1)
[0169]
其中,pa表示调整后的第一参数,pb表示第一参数,p
δ
表示第一参数对应的调整系数,或者当maxdisplay>m
tpl
时,a=1,当maxdisplay≤m
tpl
时,a=-1,maxdisplay表示最大显示亮度,m
tpl
表示第一目标系统显示最大亮度,n表示调整强度控制参数,是大于0的有理数,例如可以是1、2等,m表示预设亮度值,是大于0的有理数,例如可以是100cd/m2、50cd/m2等。通常可以设置m=1,n=100cd/m2。m和n的作用均是用于控制与映射曲线相关的参数的变化速度。需要说明的是,为了适用于不同厂商的硬件、不同的内容场景等,可以将m和n中一个或者两个作为参数通过动态元数据传递。以下方法亦是如此,不再赘述。
[0170]
需要说明的是,本技术中maxdisplay的值可以是绝对亮度值,例如,100cd/m2、1000cd/m2;maxdisplay的值也可以是归一化的亮度值,其取值范围为0-1;maxdisplay的值还可以是pq域的亮度值,例如,0cd/m
2-10000cd/m2。本技术中m
tpl
的值可以是绝对亮度值,例如,100cd/m2、1000cd/m2;m
tpl
的值也可以是归一化的亮度值,其取值范围为0-1;m
tpl
的值还可以是pq域的亮度值,例如,0cd/m
2-10000cd/m2。本技术中m的值可以是绝对亮度值,例如,100cd/m2、1000cd/m2;m的值也可以是归一化的亮度值,其取值范围为0-1;m的值还可以是pq域的亮度值,例如,0cd/m
2-10000cd/m2。本技术对此不作具体限定。以下方法亦是如此,不再赘述。
[0171]
针对第一映射曲线参数集合中的所有参数或部分参数可以采用上述公式(1)来对其进行调整,得到调整后的参数加入第二映射曲线参数集合。
[0172]
方法二、根据公式(2)计算调整后的第一参数:
[0173]
pa=(1-w)
×
pb+w
×
pmꢀꢀꢀꢀꢀꢀ
(2)
[0174]
其中,pa表示调整后的第一参数,pb表示第一参数,或者p
δ
表示第一参数对应的调整系数,maxdisplay表示最大显示亮度,m
tpl
表示第一目标系统显示最大亮度,n表示调整强度控制参数,是大于0的有理数,例如可以是1、2等,m表示预设亮度值,是大于0的有理数,例如可以是100cd/m2、
50cd/m2等,pm为根据最大显示亮度、最小显示亮度、可存储的最大亮度、可存储的最小亮度、可存储的平均值以及可储存的变化范围等参数中的一个或多个得到的第一参数的中间值。
[0175]
需要说明的是,pm还可以根据比上述最大显示亮度、和/或最小显示亮度、和/或可存储的最大亮度、和/或可存储的最小亮度、和/或可存储的平均值、和/或可储存的变化范围更多或更少的参数得到,本技术对此不作具体限定。以下方法亦是如此,不再赘述。本技术关于pm的获取可以参考相关技术中映射曲线的生成方法,本技术对此不作具体限定。
[0176]
需要说明的是,该方法二中,设备可以根据视频数据相关的数据,例如,视频在存储器中可存储的最大亮度、和/或最小亮度、和/或平均亮度,和/或可储存的变化范围,设备的最大显示亮度和最小显示亮度,和/或其他与映射曲线不直接相关的参数,得到另外一组与映射曲线相关的参数集合,该参数集合中的参数和第一映射曲线参数集合中的参数一一对应,也可以有第一映射曲线参数集合中没有的参数。这样设备可以得到两组与映射曲线相关的参数集合,其中一组来自前端,另一组是设备根据视频数据的特征计算得到的,再采用加权的方法对两组参数集合进行融合得到最终参数集合,这样通过调整二者的权重可以在视频不同的位置采用更为灵活的亮度处理方法,得到更符合设备显示性能的视频。
[0177]
另外,关于pm的计算方法还可以应用于与映射曲线相关、但第一映射曲线参数集合中没有包括的参数,上述设备采用其他方法获取参数的方式与此类似。
[0178]
在一种可能的实现方式中,设备可以根据调整后的第一参数和第一映射曲线参数集合中除第一参数外的其他参数获取第一映射曲线,若根据第一映射曲线进行色调映射后得到的视频亮度高于视频的原始亮度,则继续对第一参数进行调整。这是为了保证映射曲线不存在高于x=y这条直线的部分。
[0179]
在一种可能的实现方式中,根据预设规则分析调整后的第一参数,若调整后的第一参数符合预设规则,则继续对第一参数进行调整。例如,pa×
ra>tpa,其中,pa为第一参数,ra为缩放因子,tpa为设定的阈值,例如3.2363,此时将pa调整为上限值tp,tp=tpa/ra。也可以在预先设定的表(ta,tp)中查找与ra对应的tp,若pa>tp,则将pa调整为上限值tp。需要说明的是,如果查表无法找到相同的值,可以使用临近值、临近值的加权平均等方式确定查询的值。上述两个不等式表明根据当前的与映射曲线相关的参数集合得到的映射曲线,存在高于x=y这条直线的部分,因此需要对相应的参数进行降维处理。需要说明的是,除上述两种方法外本技术还可以采用其他方法确保映射曲线不存在高于x=y这条直线的部分,对此不作具体限定。
[0180]
在一种可能的实现方式中,当第一映射曲线参数集合中包括缩放因子时,根据公式(3)计算调整后的缩放因子:
[0181][0182]
其中,ra表示调整后的缩放因子,p1a,p2a,...表示第二映射曲线参数集合中的参数,maxsource表示视频在存储器中可存储的最大亮度,f(maxsource,p1a,p2a,...)表示与视频在存储器中可存储的最大亮度、以及第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,该函数包含为色调映射函数参数相关的部分,maxdisplay表示最大显示亮度。可存储的值与存储器的存储方式相关,例如,若采用10bit的方式存储,那么该存储器可存储的最大值为2
10
=1024,可存储的最小值为0;若采用8bit的方式存储,那么该存
储器可存储的最大值为28=256,可存储的最小值为0。
[0183]
如果在获取映射曲线时涉及到缩放因子,设备可以根据已经获取到的第二映射曲线参数集合中的一个或多个调整后的参数采用公式(3)计算缩放因子,这样缩放因子是基于调整后的参数得到的,使得最终生成的映射曲线更符合视频的特征。缩放因子在计算映射曲线的公式中确定了对图像帧像素的线性信号值的缩放程度,例如,公式中,a即为缩放因子。
[0184]
在一种可能的实现方式中,当第一映射曲线参数集合中包括缩放因子时,根据公式(4)计算调整后的缩放因子:
[0185][0186]
其中,ra表示调整后的缩放因子,p1a,p2a,...表示第二映射曲线参数集合中的参数,maxsource表示视频在存储器中可存储的最大亮度,minsource表示视频在存储器中可存储的最小亮度,f(maxsource,p1a,p2a,...)表示与视频在存储器中可存储的最大亮度、以及第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,f(minsource,p1a,p2a,...)表示与视频在存储器中可存储的最小亮度、以及第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示最大显示亮度,mindisplay表示最小显示亮度。
[0187]
在一种可能的实现方式中,当第一映射曲线参数集合中包括缩放因子时,根据公式(5)计算调整后的缩放因子:
[0188][0189]
其中,ra表示调整后的缩放因子,p1a,p2a,...表示第二映射曲线参数集合中的参数,maxsource表示视频在存储器中可存储的最大亮度,f(maxsource,p1a,p2a,...)表示与视频在存储器中可存储的最大亮度、以及第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示最大显示亮度,mindisplay表示最小显示亮度。
[0190]
在一种可能的实现方式中,当第一映射曲线参数集合中包括缩放因子时,根据公式(6)计算调整后的缩放因子:
[0191][0192]
其中,ra表示调整后的缩放因子,p1a,p2a,...表示第二映射曲线参数集合中的参数,maxsource表示视频在存储器中可存储的最大亮度,minsource表示视频在存储器中可存储的最小亮度,f(maxsource,p1a,p2a,...)表示与视频在存储器中可存储的最大亮度、以及第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,f(minsource,p1a,p2a,...)表示与视频在存储器中可存储的最小亮度、以及第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示最大显示亮度。
[0193]
在一种可能的实现方式中,当第一映射曲线参数集合中包括偏移因子时,根据以
下方式确定调整后的偏移因子:
[0194]
ra=mindisplay,mindisplay表示最小显示亮度;或者,
[0195]
ra=g,g表示预设值,可以是0、1等有理数。
[0196]
如果在获取映射曲线时涉及到缩放因子,设备可以根据已经获取到的第二映射曲线参数集合中的一个或多个调整后的参数采用上述任意一个公式计算缩放因子,这样缩放因子是基于调整后的参数得到的,使得最终生成的映射曲线更符合视频的特征。
[0197]
步骤1005、根据第二映射曲线参数集合中的一个或多个调整后的参数获取映射曲线。
[0198]
基于一个或多个调整后的参数可以获得映射曲线的全部或者是分段的色调映射曲线的一部分,该曲线计算是可以获得从归一化的hdr/sdr视频数据映射到归一化的显示数据之间的映射。再根据设备的最大显示亮度、最小显示亮度将得到的映射值反向归一化到设备的实际显示数据。
[0199]
需要说明的是,上面的反向归一化计算可以是非线性空间,也可以是归一化0-1的线性空间。反向归一化可以是0cd/m
2-10000cd/m2,也可以是0.001cd/m
2-100000cd/m2。本技术对于反向归一化的范围和过程不作具体限定。另外,获取映射曲线不但包含色调映射(tone-mapping),在显示之前可以对映射后的视频进行进一步调整以调整其饱和度处理,或者/以及色域变换处理,或者/以及去噪处理,或者/以及锐化处理等等,本技术对此不作具体限定。
[0200]
本技术通过对于映射曲线相关的一个或多个参数进行调整,该调整过程结合了后端的显示能力,可以针对不同亮度的显示设备提供更精确地色调调整,具有较大的灵活性,也可以在合理配置曲线参数的情况下达到很好的呈现效果。
[0201]
以下通过几个具体的实施例对图10所示方法实施例的方案作进一步说明。
[0202]
实施例一
[0203]
针对s型曲线,动态元数据中可以包含视频在存储器中可存储的最大亮度、最小亮度、平均亮度等统计值,也可以包含p、m、a、b、n、k1、k2、k3等与s型曲线相关的参数。
[0204]
一、获取第一映射曲线参数集合和第一目标系统显示最大亮度。
[0205]
动态元数据包括视频数据的格式或者特征,第一映射曲线参数集合mb={pb、mb、ab、bb、nb、k1b、k2b、k3b}、目标系统显示最大亮度(targeted_system_display_maximum_luminance)m
tpl
、和/或视频在存储器中可存储的最大亮度maxsource、和/或最小亮度minsource、和/或平均亮度avgsource、和/或可储存的变化范围等等。
[0206]
需要说明的是,本技术不对上述视频数据包含的内容和数据形式作具体限定。例如,从像素数据的色彩空间说,视频数据的格式可以是yuv的,也可以是rgb的;从数据的位宽说,视频数据可以是8比特,10比特或者12比特等。
[0207]
二、获取后端的显示参数集合集合。
[0208]
显示参数集合可以包括后端的最大显示亮度maxdisplay、和/或最小显示亮度mindisplay、和/或目标系统显示最大亮度(targeted_system_display_maximum_luminance)t
tpl
。可以根据设备的参数或者生产商的信息获取最大显示亮度maxdisplay,最小显示亮度mindisplay可以设置为0cd/m2或者1cd/m2或者0cd/m2或者1cd/m2对应的pq值。根据设备的显示性能,最小显示亮度也可以被设置为其他值,本技术对此不作具体限定。
[0209]
三、获取调整系数集合。
[0210]
对应于上述第一映射曲线参数集合mb,调整系数集合m
δ
可以是{p
δ
、m
δ
、a
δ
、b
δ
、n
δ
、k1
δ
、k2
δ
、k3
δ
}的子集或者全集。通常调整系数集合可以通过元数据获取,也可以预先设置。
[0211]
四、根据本地的最大显示亮度、第一目标系统显示最大亮度和调整系数集合对第一映射曲线参数集合中的一个或多个参数进行调整得到第二映射曲线参数集合。
[0212]
对第一映射曲线参数集合mb={pb、mb、ab、bb、nb、k1b、k2b、k3b}中的一个或多个参数进行调整,获得调整后的第二映射曲线参数集合ma={pa、ma、aa、ba、na、k1a、k2a、k3a}。主要包含以下步骤:
[0213]
a.遍历第一映射曲线参数集合mb={pb、mb、ab、bb、nb、k1b、k2b、k3b}中的参数qb(qb为mb中的任意一个参数)。如果调整系数集合m
δ
中存在对应的调整系数q
δ
,则qa=qb+k
×qδ
,否则qa=qb,其中或者当maxdisplay>m
tpl
时,a=1,当maxdisplay≤m
tpl
时,a=-1,m为预设亮度值,为大于0的有理数,如100cd/m2,50cd/m2或者100cd/m2对应的pq值等等,n为调整强度控制参数,为1、2等大于0的有理数。
[0214]
b.设置ba=mindisplay或者ba=0。
[0215]
c.设置
[0216]
d.若根据当前的第二映射曲线参数集合获得的映射曲线中存在高于x=y的直线的部分,则将pa限制到tp。主要包含以下方法:
[0217]
若pa×aa
>tpa,则认为映射曲线中存在高于x=y的直线的部分判断高于x=y,tpa为预设值。tp=tpa/aa。或者,
[0218]
在预先设定的表(ta,tp)中查找与aa对应的tp,若pa>tp,则将pa调整为上限值tp。需要说明的是,如果查表无法找到相同的值,可以使用临近值、临近值的加权平均等方式确定查询的值。
[0219]
此时根据以下公式计算缩放因子aa:
[0220]
或者
[0221]
或者
[0222][0223]
其中,l=maxsource,l1=minsource。
[0224]
关于aa的计算以下方法亦是如此,不再赘述。
[0225]
五、根据第二映射曲线参数集合中的一个或多个调整后的参数获取映射曲线。其中,所述的获取映射曲线的过程实质上是通过上述的参数集合获取归一化的光点信号的过程。
[0226]
根据第二映射曲线参数集合中的一个或多个调整后的参数得到第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,采用以下公式可以得到映射曲线:
[0227]
或者
[0228]
或者
[0229]
或者
[0230][0231]
公式中的参数{p,m,a,b,n,k1,k2,k3}均来自第二映射曲线参数集合。l和l’均为归一化的电信号或者光信号,l’是取值范围为0.0~1.0的有理数,l是取值范围为0.0~1.0的有理数;a的取值范围在0.0~1.0之间;b的取值范围在0.0~1.0之间;p、n和m的取值范围在0.1~n之间;n为大于0.1的有理数;k1、k2、k3为有理数。关于l’的计算以下方法亦是如此,不再赘述。
[0232]
需要说明的是,上述四个公式均可以用作获取映射曲线,而区别在于第二映射曲线参数集合中与映射曲线相关、且调整后的一个或多个参数。通过公式获得的映射曲线可以是全部的曲线也可以是分段映射曲线中的一段或一部分。
[0233]
实施例二
[0234]
针对s型曲线,动态元数据中可以包含视频在存储器中可存储的最大亮度、最小亮度、平均亮度、可储存的变化范围等统计值,也可以包含p、m、a、b、n、k1、k2、k3等与s型曲线相关的参数。
[0235]
一、获取第一映射曲线参数集合和第一目标系统显示最大亮度。
[0236]
二、获取后端的显示参数集合。
[0237]
三、获取调整系数集合。
[0238]
实施例二中的步骤一至三的技术原理与上述实施例一中的步骤一至三分别类似,此处不再赘述。
[0239]
四、根据本地的最大显示亮度、第一目标系统显示最大亮度和调整系数集合对第一映射曲线参数集合中的一个或多个参数进行调整得到第二映射曲线参数集合。
[0240]
对第一映射曲线参数集合mb={pb、mb、ab、bb、nb、k1b、k2b、k3b}中的一个或多个参数进行调整,获得调整后的第二映射曲线参数集合ma={pa、ma、aa、ba、na、k1a、k2a、k3a}。主要包含以下步骤:
[0241]
a.根据元数据中根据最大显示亮度maxdisplay、和/或最小显示亮度mindisplay、和/或可存储的最大亮度maxsource、和/或可存储的最小亮度minsource、和/或可存储的平
均值avgsource、和/或可储存的变化范围、和/或其他与映射曲线不直接相关的参数等,得到另外一组与映射曲线相关的参数集合mm={pm、mm、am、bm、nm、k1m、k2m、k3m},其中,mm中一个或者多个参数即可作为上文中公式(2)的参数pm。
[0242]
b.遍历第一映射曲线参数集合mb={pb、mb、ab、bb、nb、k1b、k2b、k3b}中的参数qb(qb为mb中的任意一个参数)。如果在参数集合mm={pm、mm、am、bm、nm、k1m、k2m、k3m}中找到对应的参数qm,则qa=(1-w)qb+w
×
qm,否则qa=qb,其中或者m为预设亮度值,为大于0的有理数,如100cd/m2,50cd/m2或100cd/m2等线性亮度值对应的pq值等等,n为调整强度控制参数,为1、2等大于0的有理数。
[0243]
c.设置ba=mindisplay或者ba=0。
[0244]
d.缩放因子aa的计算公式可以参照上述实施例一,此处不再赘述。
[0245]
五、根据第二映射曲线参数集合中的一个或多个调整后的参数获取映射曲线。
[0246]
实施例二中的步骤五的技术原理与上述实施例一中的步骤五类似,此处不再赘述。
[0247]
实施例三
[0248]
针对s型曲线,动态元数据中可以包含视频在存储器中可存储的最大亮度、最小亮度、平均亮度、可储存的变化范围等统计值,也可以包含p、m、a、b、n、k1、k2、k3等与s型曲线相关的参数。
[0249]
一、获取第一映射曲线参数集合和第一目标系统显示最大亮度。
[0250]
二、获取后端的显示参数集合。
[0251]
三、获取调整系数集合。
[0252]
实施例三中的步骤一至三的技术原理与上述实施例一中的步骤一至三分别类似,此处不再赘述。
[0253]
四、根据本地的最大显示亮度、第一目标系统显示最大亮度和调整系数集合对第一映射曲线参数集合中的一个或多个参数进行调整得到第二映射曲线参数集合。
[0254]
对第一映射曲线参数集合mb={pb、mb、ab、bb、nb、k1b、k2b、k3b}中的一个或多个参数进行调整,获得调整后的第二映射曲线参数集合ma={pa、ma、aa、ba、na、k1a、k2a、k3a}。主要包含以下步骤:
[0255]
a.根据元数据中根据最大显示亮度maxdisplay、和/或最小显示亮度mindisplay、和/或可存储的最大亮度maxsource、和/或可存储的最小亮度minsource、和/或可存储的平均值avgsource、和/或可储存的变化范围、和/或其他与映射曲线不直接相关的参数等,得到另外一组与映射曲线相关的参数集合mm={pm、mm、am、bm、nm、k1m、k2m、k3m},其中,mm中一个或者多个参数即可作为上文中公式(2)的参数pm。
[0256]
b.遍历第一映射曲线参数集合mb={pb、mb、ab、bb、nb、k1b、k2b、k3b}中的参数qb(qb为mb中的任意一个参数)。如果在参数集合mm={pm、mm、am、bm、nm、k1m、k2m、k3m}中找到对应的
参数qm,则qa=(1-w)qb+w
×
qm,否则qa=qb,其中或者m为预设亮度值,为大于0的有理数,如100cd/m2,50cd/m2或100cd/m2,50cd/m2对应的pq值等等,n为调整强度控制参数,为1、2等大于0的有理数。
[0257]
c.设置ba=mindisplay或者ba=0。
[0258]
d.设置或者aa=ab。
[0259]
e.若根据当前的第二映射曲线参数集合获得的映射曲线中存在高于x=y的直线的部分,则将pa限制到tp。主要包含以下方法:
[0260]
若pa×aa
>tpa,则认为映射曲线中存在高于x=y的直线的部分判断高于x=y,tpa为预设值。tp=tpa/aa。或者,
[0261]
在预先设定的表(ta,tp)中查找与aa对应的tp,若pa>tp,则将pa调整为上限值tp。需要说明的是,如果查表无法找到相同的值,可以使用临近值、临近值的加权平均等方式确定查询的值。
[0262]
缩放因子aa的计算公式可以参照上述实施例一,此处不再赘述。
[0263]
五、根据第二映射曲线参数集合中的一个或多个调整后的参数获取映射曲线。
[0264]
实施例三中的步骤五的技术原理与上述实施例一中的步骤五类似,此处不再赘述。
[0265]
实施例四
[0266]
针对s型曲线,动态元数据中可以包含视频在存储器中可存储的最大亮度、最小亮度、平均亮度等统计值,也可以包含p、m、a、b、n、k1、k2、k3等与s型曲线相关的参数。
[0267]
一、获取第一映射曲线参数集合和第一目标系统显示最大亮度。
[0268]
二、获取后端的显示参数集合。
[0269]
三、获取调整系数集合。
[0270]
实施例四中的步骤一至三的技术原理与上述实施例一中的步骤一至三分别类似,此处不再赘述。
[0271]
四、根据本地的最大显示亮度、第一目标系统显示最大亮度和调整系数集合对第一映射曲线参数集合中的一个或多个参数进行调整得到第二映射曲线参数集合。
[0272]
对第一映射曲线参数集合mb={pb、mb、ab、bb、nb、k1b、k2b、k3b}中的一个或多个参数进行调整,获得调整后的第二映射曲线参数集合ma={pa、ma、aa、ba、na、k1a、k2a、k3a}。主要包含以下步骤:
[0273]
a.遍历第一映射曲线参数集合mb={pb、mb、ab、bb、nb、k1b、k2b、k3b}中的参数qb(qb为mb中的任意一个参数)。如果调整系数集合m
δ
中存在对应的调整系数q
δ
,则qa=qb+k
×qδ
,否则qa=qb,其中或者当maxdisplay>m
tpl
时,a=1,当maxdisplay≤m
tpl
时,a=-1,m为预设亮度值,为大于0的有理数,如100cd/m2,50cd/m2或者100cd/m2对应的pq值等等,n为调整强度控制参数,为1、2等大
于0的有理数。
[0274]
b.设置ba=mindisplay或者ba=0。
[0275]
c.缩放因子aa的计算公式可以参照上述实施例一,此处不再赘述。
[0276]
五、根据第二映射曲线参数集合中的一个或多个调整后的参数获取映射曲线。
[0277]
实施例四中的步骤五的技术原理与上述实施例一中的步骤五类似,此处不再赘述。
[0278]
实施例五
[0279]
该实施例用于说明实施例一至四任意一个实施例在hdr基础曲线(参数)获取过程中的前置操作步骤,其具体包括:
[0280]
一、从动态元数据(metadata)信息中取得基础曲线参数stone_mapping。
[0281]
根据metadata信息中的色调映射标识tone_mapping_mode和基础曲线标识base_flag,获得m_p、m_a、m_m、m_n、m_b、k1、k2、k3,对于不存在的参数,设为未赋值n_a。
[0282]
二、从metadata信息中取得待处理帧的最大亮度校正值max_lum和待处理帧的最小亮度min_lum。
[0283]
更新待处理帧的最大亮度校正值max_lum。
[0284]
三、对于基础曲线参数stone_mapping中的未赋值参数进行更新得到ptone_mapping。
[0285]
a、若tone_mapping_mode为0,则调用以下的基础曲线参数获得过程更新参数;
[0286]
其中,输入为显示设备的显示亮度范围的最大显示亮度maxdisplay(pq域的值),显示设备的显示亮度范围的最小显示亮度mindisplay(pq域的值)以及metadata信息;输出为基础曲线曲线参数p
tone_mapping
,包含m_p、m_a、m_m、m_n、m_b、k1、k2、k3。
[0287]
1、将m_m、m_n、k1、k2、k3分别设为预设值2.4、1、1、1、1,预设上述参数后曲线变成
[0288][0289]
2、将m_b设为mindisplay。
[0290]
3、根据metadata信息中的average_maxrgb(avgl)计算m_p:
[0291][0292]
其中,p
valueh0
、p
valuel0
、tph0和tpl0是预设值,默认值分别为3.5、4.0、0.6、0.3,g0()为y=xn,默认为y=x。
[0293]
4、根据最大亮度校正值max_lum更新m_p:
[0294]
[0295]
其中,p
deltah1
,p
deltal1
,tph1和tpl1是预设值,默认值分别为0.6、0.0、0.9、0.75。
[0296]
5、根据m_p、m_m、m_n、m_b、k1、k2、k3得到h(l)
[0297][0298]
从而得到
[0299][0300]
其中,maxsource表示待处理帧的最大亮度校正值max_lum(pq域),minsource表示待处理帧的最小亮度min_lum(pq域)。
[0301]
b,否则,若tone_mapping_mode为1:
[0302]
如果目标系统显示最大亮度targeted_system_display_maximum_luminance等于maxdisplay,则将m_p、m_a、m_m、m_n、m_b、k1、k2、k3设为m_p_0、m_a_0、m_m_0、m_n_0、m_b、k1_0、k2_0、k3_0;否则,采用实施例一至四任意方案进行基础曲线参数的调整。
[0303]
需要说明的是,当进入上述分支b,即否则,若tone_mapping_mode为1时,判断过程“如果目标系统显示最大亮度targeted_system_display_maximum_luminance等于maxdisplay,则将m_p、m_a、m_m、m_n、m_b、k1、k2、k3设为m_p_0、m_a_0、m_m_0、m_n_0、m_b、k1_0、k2_0、k3_0;”为可选步骤,可以通过直接采用实施例一至四任意方案进行基础曲线参数的调整,其输出结果一致。而采用该判断过程“如果目标系统显示最大亮度targeted_system_display_maximum_luminance等于maxdisplay,则将m_p、m_a、m_m、m_n、m_b、k1、k2、k3设为m_p_0、m_a_0、m_m_0、m_n_0、m_b、k1_0、k2_0、k3_0;”,可以简化在实际硬件实现过程中的复杂度和计算时间。
[0304]
示例性的,实施例一的实现方式可以如下:
[0305]
输入为显示设备的显示亮度范围的最大显示亮度maxdisplay(pq域的值),显示设备的显示亮度范围的最小显示亮度mindisplay(pq域的值),待处理帧的rgb色域像素缓冲区f[nframe][3]以及metadata信息m_p_0、m_a_0、m_m_0、m_n_0、m_b、k1_0、k2_0、k3_0、targeted_system_display_maximum_luminance(m
tpl
)、base_param_delta;输出为基础曲线曲线参数p
tone_mapping
,包含m_p、m_a、m_m、m_n、m_b、k1、k2、k3。
[0306]
1、将m_m、m_n、k1、k2、k3设为m_m_0、m_n_0、k1_0、k2_0、k3_0。
[0307]
2、将m_b设为mindisplay。
[0308]
3、设置
[0309]
4、设置其中n默认值为1。若m_p大于tm_p,则设置m_p=tm_p,tm_p默认值为tpa/m_a,tpa默认值为3.2363。
[0310]
5、从而得到:
[0311][0312]
6、将l等于maxsource代入下式得到m_a:
[0313][0314]
示例性的,实施例二的实现方式可以如下:
[0315]
输入为显示设备的显示亮度范围的最大显示亮度maxdisplay(pq域的值),显示设备的显示亮度范围的最小显示亮度mindisplay(pq域的值),元数据中average_maxrgb,待处理帧的rgb色域像素缓冲区f[nframe][3]以及metadata信息m_p_0、m_m_0、m_n_0、m_a_0、m_b_0、k1_0、k2_0、k3_0、targeted_system_display_maximum_luminance(m
tpl
)、base_param_delta;输出为基础曲线曲线参数p
tone_mapping
,包含m_p、m_m、m_n、m_a、m_b、k1、k2、k3。
[0316]
1、生成基础曲线参数p1
tone_mapping
,包含m_p_1、m_m_1、m_n_1、m_a_1、m_b_1、k1_1、k2_1、k3_1。
[0317]
2、计算其中n为大于0的数,默认使用1,w大于或等于0,且小于或等于1。
[0318]
3、根据以下公式计算得到m_p、m_m、m_n、k1、k2、k3:
[0319]
m_p=(1-w)
×
m_p_0+w
×
m_p_1,
[0320]
m_m=(1-w)
×
m_m_0+w
×
m_m_1,
[0321]
m_n=(1-w)
×
m_n_0+w
×
m_n_1,
[0322]
k1=(1-w)
×
k1_0+w
×
k1_1,
[0323]
k2=(1-w)
×
k2_0+w
×
k2_1,
[0324]
k3=(1-w)
×
k3_0+w
×
k3_1
[0325]
4、将m_b设为mindisplay。
[0326]
5、从而得到:
[0327][0328]
6、将l等于maxsource代入下式得到m_a:
[0329][0330]
基于与上述方法相同的发明构思,本技术实施例还提供了一种视频处理装置,图11是用于实现本技术实施例的一种视频处理装置1100的结构框图,如图11所示,该视频处理装置1100包括获取模块1101和处理模块1102,其中:获取模块1101,用于获取第一映射曲线参数集合和第一目标系统显示最大亮度,所述第一映射曲线参数集合和所述第一目标系统显示最大亮度对应,所述第一映射曲线参数集合包括与映射曲线相关的一个或多个参
数;获取显示亮度参数集合,所述显示亮度参数集合包括显示设备的最大显示亮度和/或最小显示亮度;获取调整系数集合,所述调整系数集合包括一个或多个调整系数,所述一个或多个调整系数和所述第一映射曲线参数集合中的所述一个或多个参数对应;处理模块1102,用于根据所述显示亮度参数集合、所述第一目标系统显示最大亮度和所述调整系数集合对所述第一映射曲线参数集合中的所述一个或多个参数进行调整得到第二映射曲线参数集合,所述第二映射曲线参数集合包括一个或多个调整后的参数。
[0331]
在一种可能的实现方式中,所述处理模块1102,具体用于根据公式(1)计算调整后的第一参数,所述第一参数为所述第一映射曲线参数集合中的任意一个参数:
[0332]
pa=pb+k
×
p
δ
ꢀꢀꢀꢀꢀꢀ
(1)
[0333]
其中,pa表示所述调整后的第一参数,pb表示所述第一参数,p
δ
表示所述第一参数对应的所述调整系数,或者当maxdisplay>m
tpl
时,a=1,当maxdisplay≤m
tpl
时,a=-1,maxdisplay表示所述最大显示亮度,m
tpl
表示所述第一目标系统显示最大亮度,n表示调整强度控制参数,m表示预设亮度值。
[0334]
在一种可能的实现方式中,所述获取模块1101,还用于获取可存储的最大亮度、可存储的最小亮度、可存储的平均值以及可储存的变化范围中的一个或多个,根据所述最大显示亮度、所述最小显示亮度、所述可存储的最大亮度、所述可存储的最小亮度、所述可存储的平均值以及所述可储存的变化范围中的一个或多个得到的第一参数的中间值,所述第一参数为所述第一映射曲线参数集合中的任意一个参数;所述处理模块1102,具体用于根据公式(2)计算调整后的第一参数:
[0335]
pa=(1-w)
×
pb+w
×
pmꢀꢀꢀꢀꢀꢀ
(2)
[0336]
其中,pa表示所述调整后的第一参数,pb表示所述第一参数,或者p
δ
表示所述第一参数对应的所述调整系数,maxdisplay表示所述最大显示亮度,m
tpl
表示所述第一目标系统显示最大亮度,n表示调整强度控制参数,m表示预设亮度值,pm表示所述第一参数的中间值。
[0337]
在一种可能的实现方式中,所述处理模块1102,还用于根据所述调整后的第一参数和所述第一映射曲线参数集合中除所述第一参数外的其他参数获取第一映射曲线,若根据所述第一映射曲线进行色调映射后得到的视频亮度高于视频的原始亮度,则继续对所述第一参数进行调整;或者,根据预设规则分析所述调整后的第一参数,若所述调整后的第一参数符合所述预设规则,则继续对所述第一参数进行调整。
[0338]
在一种可能的实现方式中,所述处理模块1102,具体用于当所述第一映射曲线参数集合中包括缩放因子时,根据公式(3)计算调整后的所述缩放因子:
[0339][0340]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示视频在存储器中可存储的最大亮度,f(maxsource,p1a,p2a,...)表示与所述视频在存储器中可存储的最大亮度、以及所述第二映射曲线参数集合
中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度。
[0341]
在一种可能的实现方式中,所述处理模块1102,具体用于当所述第一映射曲线参数集合中包括缩放因子时,根据公式(4)计算调整后的所述缩放因子:
[0342][0343]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示视频在存储器中可存储的最大亮度,minsource表示视频在存储器中可存储的最小亮度,f(maxsource,p1a,p2a,...)表示与所述视频在存储器中可存储的最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,f(minsource,p1a,p2a,...)表示与所述视频在存储器中可存储的最小亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度,mindisplay表示所述最小显示亮度。
[0344]
在一种可能的实现方式中,所述处理模块1102,具体用于当所述第一映射曲线参数集合中包括缩放因子时,根据公式(5)计算调整后的所述缩放因子:
[0345][0346]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示视频在存储器中可存储的最大亮度,f(maxsource,p1a,p2a,...)表示与所述视频在存储器中可存储的最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度,mindisplay表示所述最小显示亮度。
[0347]
在一种可能的实现方式中,所述处理模块1102,具体用于当所述第一映射曲线参数集合中包括缩放因子时,根据公式(6)计算调整后的所述缩放因子:
[0348][0349]
其中,ra表示所述调整后的所述缩放因子,p1a,p2a,...表示所述第二映射曲线参数集合中的参数,maxsource表示视频在存储器中可存储的最大亮度,minsource表示视频在存储器中可存储的最小亮度,f(maxsource,p1a,p2a,...)表示与所述视频在存储器中可存储的最大亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,f(minsource,p1a,p2a,...)表示与所述视频在存储器中可存储的最小亮度、以及所述第二映射曲线参数集合中的一个或多个调整后的参数相关的函数计算,maxdisplay表示所述最大显示亮度。
[0350]
在一种可能的实现方式中,所述获取模块1101,具体用于从视频的动态元数据中获取所述第一映射曲线参数集合和所述第一目标系统显示最大亮度;或者,从所述动态元数据中获取所述第一映射曲线参数集合,根据设定的对应关系获取与所述第一映射曲线参数集合对应的所述第一目标系统显示最大亮度。
[0351]
在一种可能的实现方式中,所述获取模块1101,具体用于从视频的动态元数据中获取所述调整系数集合;或者,根据预设值获取所述调整系数集合。
[0352]
在一种可能的实现方式中,所述获取模块1101,具体用于直接读取一个或多个调整系数;或者,获取调整模式,并获取与所述调整模式对应的所述一个或多个调整系数。
[0353]
在一种可能的实现方式中,所述获取模块1101,具体用于通过设备信息获取所述显示亮度参数集合;或者,通过预设信息获取所述显示亮度参数集合。
[0354]
在一种可能的实现方式中,所述获取模块1101,还用于根据所述第二映射曲线参数集合中的所述一个或多个调整后的参数获取映射曲线。
[0355]
还需要说明的是,获取模块1101和处理模块1102的具体实现过程可参考图10实施例的详细描述,为了说明书的简洁,这里不再赘述。
[0356]
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本技术中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0357]
作为实例而非限制,此类计算机可读存储媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(dsl)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、dsl或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
[0358]
可通过例如一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
[0359]
本技术的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(ic)或一组ic(例如,芯片组)。本技术中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬
件单元(包含如上文所描述的一或多个处理器)来提供。
[0360]
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0361]
以上所述,仅为本技术示例性的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1