HDR分发中的元数据转换的制作方法

文档序号:23888244发布日期:2021-02-09 10:06阅读:215来源:国知局
HDR分发中的元数据转换的制作方法
hdr分发中的元数据转换
技术领域
[0001]
本实施例中的一个或多个涉及高动态范围(hdr)图像或视频的分发。至少一个实施例允许将第一类型的hdr分发的元数据转换为第二类型的hdr分发的元数据。


背景技术:

[0002]
本部分旨在向读者介绍技术的各个方面,这些方面可能涉及下面描述和/或要求保护的本公开的各个方面。这种讨论被认为有助于向读者提供背景信息,以便于更好地理解本公开的各个方面。因此,应该理解的是,应从这个角度来理解这些陈述,而不是作为对现有技术的承认。
[0003]
多种竞争的hdr分发技术不使用相同类型的元数据来重建图像。这种不兼容已经使市场支离破碎,并成为hdr的广泛采用的瓶颈,因为它影响到hdr分发的所有参与者。目前,给定的视频可以由制作者以第一hdr技术提供,而消费者接收器仅实现第二hdr技术,因此需要从一种技术到另一种技术的某种转换。互操作性机制将有助于简化分发,从而提高这项技术的采用率。
[0004]
因此,可以理解,需要一种用于分发hdr图像或视频的解决方案,其至少解决现有技术的一些问题。所公开的原理在设计时就考虑到了前述内容。
[0005]
本公开讨论了根据不同类型的hdr分发技术的元数据。为了简化描述,有时将措辞“第一类型的hdr分发技术”缩写为“第一类型”。


技术实现要素:

[0006]
在第一方面,本公开针对一种用于转换涉及高动态范围视频的元数据的方法,该方法包括获得与第一类型的高动态范围视频相对应的第一元数据集的值;以及使用第一类型的高动态范围视频的一个或多个元数据值和第二类型的高动态范围视频的一个或多个元数据值之间的关联,将第一元数据集的值转换(324)为与第二类型的高动态范围视频相对应的第二元数据集的值。
[0007]
在第二方面,本公开针对一种接收器设备,包括:用于获得包括第一类型的高动态范围视频中的高动态范围视频和根据第一类型的元数据集的比特流的装置、用于呈现第二类型的高动态范围视频的装置、用于解析第一类型的元数据的装置、以及用于至少根据第一方面将第一类型的元数据转换成第二类型的元数据的装置。
[0008]
在第三方面,本公开针对一种发送器设备,其包括:用于获得包括第一类型的高动态范围视频的比特流的装置、用于解析第一类型的元数据的装置、用于根据第一方面将第一类型的元数据转换(254)为第二类型的元数据的装置、用于用转换的第二类型的元数据替换比特流中的第一类型的元数据的装置、以及用于提供第二类型的高动态范围视频的装置。
[0009]
在第四方面,本公开针对一种包括可由处理器执行的程序代码指令以用于实现第一方面的方法的任何实施例的计算机程序。
[0010]
在第五方面,本公开针对一种计算机程序产品,其存储在非暂时性计算机可读介质上,并且包括可由处理器执行以用于实现第一方面的方法的任何实施例的程序代码指令。
附图说明
[0011]
现在将参照附图以非限制性示例的方式描述本公开的优选特征,其中:
[0012]
图1a示出了现有技术中已知的用于hdr视频分发的系统的示例;
[0013]
图1b示出了现有技术中已知的使用单层机制在hdr视频分发系统的设备中实现的编码和解码功能的示例;
[0014]
图2a示出了根据本原理的实施例的在包括元数据转换功能的接收器设备中实现的实施例的示例;
[0015]
图2b示出了根据本原理的实施例的在包括元数据转换功能的发送器设备中实现的实施例的示例;
[0016]
图3a示出了根据本原理的实施例的在包括元数据转换功能的sl-hdr2接收器设备中实现的实施例的示例;
[0017]
图3b示出了根据本原理的实施例的在包括元数据转换功能的sl-hdr2接收器设备中实现的实施例的示例中的、元数据测试的三种情形的流程图的示例;
[0018]
图3c示出了根据本原理的实施例的元数据转换功能的流程图的示例;
[0019]
图4示出了根据本原理的实施例的用于构建用于元数据转换功能的查找表的第一方法的流程图的示例;
[0020]
图5a和图5b示出了根据本原理的实施例的、用于构建用于从dv多项式映射元数据到sl-hdr2元数据的元数据转换功能的查找表的、第一方法的原理的流程图的示例;
[0021]
图6示出了根据本原理的实施例的构建用于元数据转换功能的查找表的第二方法的实施例的示例,以及
[0022]
图7示出了其中可以实现示例性实施例的各个方面的示例性系统700的框图。
具体实施方式
[0023]
数字家庭视频内容从内容制作者到消费者的分发是众所周知的。传统上,它依赖于服务提供者,这些服务提供者利用所谓的贡献网络聚集来自不同制作者的内容,并通过分发网络将选定的内容发送到消费者的接收器设备。内容或者由消费者选择(视频点播)并流传输到他的接收器设备,或者聚集到通过广播或流技术被发送到多个接收器设备的信道中,该选择由选择一个信道的用户完成。在此上下文中,接收器设备执行解码和呈现功能。
[0024]
另外,还开发了hdr技术以通过增加图像或视频的动态范围来增强传统的图像质量。然而,出现了多种竞争的hdr分发技术,并且已经开发出相对应的接收器设备并将其推荐给消费者。在制作方面,内容制作者愿意将他们的内容提供给消费者,并因此开始将他们现有的内容目录转变为hdr,以受益于提高的质量。hdr分发技术的示例包括在etsi gs ccm 001(以下简称为dv)中规定的杜比视觉(dolby vision)、在smpte st 2094-40中规定的samsung hdr10+(以下简称为hdr10+)、在etsi ts 103 433

2中规定的technicolor-philips单层hdr(以下简称为sl-hdr2)。这些hdr分发技术基于提供第一动态范围和相关联
的元数据的编码视频信号,这些hdr分发技术是动态的并且可能用静态的元数据(与帧或场景的内容有关的元数据)来完成,该元数据用于重建增强的信号,例如在亮度范围方面具有较高或较低动态范围适应目标显示特性的增强的信号。该特征称为显示适配(adaptation)。
[0025]
所公开的原理涉及用于将与根据第一高动态范围视频分发类型的视频信号的增强有关的元数据转换为与根据第二高动态范围视频分发类型的视频信号的增强有关的元数据的方法和设备。使用查找表来完成转换,查找表根据使用第一类型的元数据重建的测试图像和使用第二类型的元数据重建的相同图像之间的差来确定。
[0026]
图1a示出了现有技术中已知的用于hdr视频分发的系统的示例。在这种环境中,来自一个内容制作者cp的多个hdr视频通过贡献网络cn被提供给服务提供者,并且通过分发网络dn被分发到显示所选择的内容的接收器r。显然,真实系统包括多个内容制作者cp、多个服务提供者sp和多个接收器。因此,不同的hdr技术可能在这种系统中共存,并且可能会出现不兼容问题。例如,使用用于分发网络的第一hdr技术(例如hdr10+)的服务提供者可以从内容提供者接收使用第二hdr技术(例如sl-hdr2)的内容,或者集成第二hdr技术(例如sl-hdr2)的接收器使用第三hdr技术(例如dv)接收内容。
[0027]
图1b示出了使用现有技术中已知的在使用单层机制在hdr视频分发系统的设备中实现的编码和解码功能的示例。编码功能110例如在服务器设备、发送器设备、代码转换器设备等中实现。解码功能120例如在诸如电视机、光学媒体播放器、计算机等的接收器设备中实现。此后的描述分别将通用术语发送器和接收器用于包括编码功能110和解码功能120的设备,并且在该图示中未表示设备的其他功能。发送器设备获得hdr视频内容,对其进行预处理112以提取元数据115并将视频变换为缩小的动态范围视频,对变换后的视频进行编码114,并将编码的视频与元数据115复用116以生成表示内容的比特流111。接收器设备获得比特流111,将其解复用122以提取元数据125和编码的视频,解码124该视频以生成第一视频,并且利用提取的元数据125对该第一视频进行后处理126以生成增强视频(例如,动态范围低于解码的第一视频)。如上所述,存在多个竞争的系统,导致多种类型的元数据、多种预处理功能和多种后处理功能,使得仅实现一种类型的hdr分发的接收器设备不能呈现使用另一种类型的hdr分发的增强的hdr内容。
[0028]
编码和解码例如根据高效视频编码(hevc)标准(itu-t h.265itu的电信标准化部门(02/2018),系列h:视听和多媒体系统,视听服务的基础设施-运动视频的编码,高效视频编码,推荐itu-t h.265)结合smpte st2084:2014“主控参考显示的高动态范围电光传递函数(high dynamic range electro-optical transfer function of mastering reference displays)”,或diaz r.,blinstein s.和qu,s.“将hevc视频压缩与高动态范围视频管道集成(integrating hevc video compression with a high dynamic range video pipeline)”(smpte运动成像杂志,第125卷,2016年2月第1期,第14-21页)来执行。可以使用其他视频编码标准并且与所公开的原理兼容。
[0029]
图2a示出了根据本原理的实施例的在包括元数据转换功能的接收器设备中实现的实施例的示例。使用元数据转换功能206,包括被设计为处理第二类型的元数据的后处理功能208的接收器设备200能够处理包括第一类型的元数据的内容。实际上,接收器设备200获得包括第一类型的hdr视频的比特流,对该比特流进行解复用202以至少提取编码的视频
信号和第一类型的元数据,对视频进行解码204,将第一类型的元数据转换206为第二类型的元数据,并且根据转换的元数据对视频进行后处理208以生成第二类型的hdr视频。当这种接收器设备还集成了显示器(例如,电视机、计算机、平板电脑)时,第二类型的hdr视频也被呈现在屏幕上。输入比特流可以从另一设备接收,但也可以本地获得,例如通过从存储器或本地存储读取数据。
[0030]
相同的图2a还可以用于描述用于在被设计成呈现包括第二类型的hdr视频的比特流的设备上接收包括第一类型的hdr视频的比特流的对应方法。该方法包括:获得包括第一类型的hdr视频的比特流;对该比特流进行解复用以至少提取编码的视频信号和第一类型的元数据;对视频进行解码;将第一类型的元数据转换成第二类型的元数据;以及根据转换的元数据对视频进行后处理以生成第二类型的hdr视频。
[0031]
图2b示出了根据本原理的实施例的在包括元数据转换功能的发送器设备中实现的实施例的示例。由于元数据转换功能254,发送器设备250能够将包括第一类型的hdr视频的输入比特流变换为包括第二类型的hdr视频的比特流,而不必对视频进行解码。该解决方案比直接方法高效得多,直接方法在于执行第一类型的比特流的完全解码以生成中间hdr视频,然后根据第二类型将其转变。这种直接方法解决方案的主要问题是它的计算复杂性。此外,它要求中间或终端设备同时包含第一类型的后处理器、预处理器和第二类型的后处理器。然而,预处理步骤并不会被设计成在接收器中实时运行。因此,在接收器或解码器设备中应用该完整过程是不现实的,至少在具有合理成本和性能的设备中是不现实的。
[0032]
利用所提出的实施例,发送器设备250简单地解复用252比特流以提取第一类型的元数据,根据第二类型转换254这些元数据,并将其与比特流的其他数据重新复用256。当接收的内容的hdr分发技术的类型与要发送的内容的hdr分发技术的类型不同时,这种设备被典型地用于贡献网络和分发网络中。
[0033]
发送器设备250还可以更一般地是转变器设备或提供者设备,换言之,不必将转换操作产生的比特流发送到另一设备。这种提供者设备例如可以将比特流打包为要存储在存储器(例如:只读存储器、闪存、usb密钥、硬盘驱动器、固态驱动器、云存储等)或在支持光学介质(dvd和蓝光光盘)的其他介质上的文件或文件集。在后一种情况下,提供设备例如可以是dvd或蓝光刻录机或dvd或蓝光复制系统。
[0034]
相同的图2b还可以用于描述用于在获得包括第一类型的hdr视频的比特流的设备上提供包括第二类型的hdr视频的比特流的对应方法。该方法包括:获得包括第一类型的hdr视频的比特流;解复用该比特流以提取第一类型的元数据;根据第二类型转换这些元数据;将转换的元数据与比特流的其他数据重新复用,并提供重新复用的比特流,从而符合第二类型的hdr视频。
[0035]
图3a示出了根据本原理的实施例的在包括元数据转换功能的sl-hdr2接收器设备中实现的实施例的示例。接收器300本身被设计为使用sl-hdr2hdr技术,并且因此,它集成了sl-hdr2后处理功能305以生成增强的hdr视频。为了使用另一种hdr技术从比特流生成hdr视频,接收器包括元数据转换功能310。
[0036]
在本公开的实施例的上下文中,从第一类型到第二类型的元数据转换与将第一类型的元数据值的第一集合转换为第二类型的元数据值的第二集合相对应。实际上,被转换的不是简单的一个参数的值,而是元数据的多个参数的多个值,因此在此用措辞“元数据
集”或“元数据值集”来表示元数据的多个参数的多个值。
[0037]
在该实施例中,接收器设备300获得包括第一类型的hdr视频的比特流,对该比特流进行解复用301以至少提取编码的视频信号和第一类型的元数据。接收器设备分析元数据以识别303元数据的类型,该元数据的类型表示所使用的hdr技术的类型。元数据类型识别是通过分析元数据的有效载荷类型来执行的。例如,在元数据被携带在hevc的补充增强信息(sei)消息上的情况下,payloadtype允许识别元数据的类型。payloadtype值识别sei消息的类型;直接在要使用的技术上提供用来解释该技术的信息(例如,payloadtype等于142识别颜色重映射信息(cri)sei消息,这预计将采用为cri设计的后处理器),或者典型地当payloadtype值等于4时,较不直接地提供规定由itu-t t.35sei消息注册的用户数据的信息。在后一种情况下,对三个第一语法元素(itu_t35_country_code、terminal_provider_code、terminal_provider_oriented_code_message_idc)的解析使得能够识别sei消息和相关联的技术。作为示例,sl-hdr2由这些语法元素的以下值唯一确定:0xb5(itu_t35_country_code)、0x00、0x3a(terminal_provider_code)和0x00(terminal_provider_oriented_code_message_idc)。这些值在用于sl-hdr2的etsi ts 103 433-2中规定。作为另一示例,杜比视觉元数据被识别如下:0xb5(itu_t35_country_code)、0x00、0x3b(terminal_provider_code)和0x00(terminal_provider_oriented_code_message_idc)。这些值在etsi ts 103 572中规定。终端提供者代码(terminal_provider_code)由itu电信标准化局(tsb)注册的国家机构(通过itu_t35_country_code来识别)唯一分配。每个终端提供者可以分配通过terminal_provider_oriented_code_message_idc识别的唯一sei消息。实现hdr动态元数据的标准指的是定义这些语法元素的值的规范,以允许确定用于解释和应用hdr元数据的技术(后处理器)。
[0038]
基于所识别的元数据类型,可能会出现三种情形:
[0039]-块314:如果所识别的元数据类型与sl-hdr2相关,则sl-hdr2元数据解析器(其从比特流中提取元数据)应用304,并且不需要转换;这是sl-hdr2解码器接收sl-hdr2视频(即具有sl-hdr2元数据的hdr视频)的正常路径。
[0040]-块316:如果所识别的元数据类型与不同于sl-hdr2的已知元数据格式相对应,则元数据解析器306应用于该替代的格式(例如,dv元数据解析器),并且元数据集被转换307为sl-hdr2元数据集。
[0041]-块318:如果所识别的元数据类型不与转换功能310已知的元数据格式相对应,则不同的选项是可能的。在第一实施例中,sl-hdr2解码器简单地丢弃所识别的元数据,并且常规地解码相关联的编码流,从而生成与如果利用适当的后处理来使用元数据的情况相比质量较低的视频。在另一实施例中,使用预定义并存储在sl-hdr2解码器中的默认sl-hdr2元数据集308(例如,诸如在etsi ts 103 433-2的附件f中所规定的)。第二选项是如图3a所示的选项。
[0042]
在前述情况的任何一种中,元数据是sl-hdr2元数据,无论是本地地(314)还是通过转换(316)、或通过加载默认预定值(318),并且因此可以由sl-hdr2后处理模块305使用以用来呈现调整后的视频。这种接收器设备是高效的,因为它不执行任何代码转换并且重用现有模块305。转换模块可以作为在已经部署并实现sl-hdr2后处理器的芯片上的系统中的固件更新来实现。
[0043]
尽管图3a示出了接收器设备,但是本领域的技术人员理解的是,在第二类型的元数据是sl-hdr2的情况下,该原理也适用于图2b的发送器设备。因此,图2b的块254可以简单地由图3a的块310替换。
[0044]
图3b示出了根据本原理的实施例的、在包括元数据转换功能的sl-hdr2接收器设备中实现的实施例的示例中的、元数据测试的三种情形的流程图的示例。在步骤320中,测试获得的元数据类型。当元数据与sl-hdr2相对应时,在分支321中,执行sl-hdr2接收器的正常操作,因此后处理328被应用于所获得的元数据以生成视频。在分支322中,当元数据不是sl-hdr2但与已知类型的元数据(即,针对其lut可用的元数据)相对应时,已知类型的元数据集被转换324为sl-hdr2元数据集,然后被用于后处理328以生成视频。在分支323中,当元数据未知时(即,不是本地类型或没有可用的元数据转换lut),获得sl-hdr2元数据集的默认集,然后用于后处理328以生成视频。在与分支325相对应的第一实施例中,不执行后处理,并且在没有任何增强的情况下生成解码视频。在第二实施例中,由远程设备在接收器的请求下提供默认元数据集。
[0045]
用于将元数据集从第一类型转换为第二类型的方法的步骤320、324、326可以由本公开中先前描述的图2a的设备200、图2b的设备250、图3a的设备300来实现。类似地,图2a的元数据集转换结构块206、图2b的块254和图3a的块310可以实现图3b的方法,以执行从第一类型到第二类型的元数据集转换。
[0046]
图3c示出了根据本原理的实施例的元数据集转换功能的流程图的示例。因为不同的hdr分发技术使用不同的元数据,所以需要元数据集转换功能324(图3a中的307、图3b和3c中的324)。更确切地说,元数据的元素的数量不同,元数据的元素的类型不同,并且元数据的每个元素对相关联的后处理的影响也不同。
[0047]
在所提出的方法中,元数据转换是多维查找表350(lut),其将第一类型的元数据集直接转换为第二类型的元数据集,元数据集的大小可能不同。利用这种解决方案,第一类型的元数据集的值被给出作为lut 350的输入值,lut 350提供第二类型的元数据集的值作为结果。构建lut以最小化使用第一类型的元数据重建的图像和使用第二类型的元数据的对应值重建的图像之间的差。下面在两个不同的实施例中进一步描述构建该lut的机制。
[0048]
当输入与lut的一个条目不完全匹配时,需要进行一些近似360以将第一类型的元数据集转换为第二类型的元数据集。不同的实施例覆盖了处理这种情形的不同方式。
[0049]
在一个实施例中,根据要转换的元数据集和lut的条目的值之间的距离(例如欧几里得范数)的计算,选择最接近的输入,并且该最接近的输入的对应输出作为结果被返回。
[0050]
在另一实施例中,当要转换的元数据集在两个条目的值之间时,可以计算插值。该插值是关于lut的条目确定的,并且被应用于输出,使得输出以与输入类似的方式被插值。插值可以是线性的、多项式的、基于样条的等。
[0051]
在另一实施例中,当要转换的元数据的值与lut的任何条目都相距太远时,则为输出提供默认元数据值集(类似于可以在恢复情况下使用的那些值或未知类型的元数据)。
[0052]
在需要执行多个转换的情况下使用多个lut。例如,包括dv到sl-hdr2lut和hdr10+到sl-hdr2 lut两者的sl-hdr2接收器能够处理这两种类型的视频。下面的部分将介绍构建此类lut的两种不同的方法。
[0053]
图4示出了根据本原理的实施例的、用于构建用于元数据集转换功能的查找表的
第一方法的原理的流程图的示例。尽管不同的hdr分发技术由一组方程定义,但是找到将第一类型的元数据集转换为第二类型的元数据集的解析解可能不是直截了当的,从而提出了数值解。此外,这种解特别适用于低成本设备,因为这些设备不包括能够处理复杂变换方程的强大计算能力。
[0054]
所提出的方法由几个阶段组成:首先,确定lut元素(扩展阶段),然后量化lut元素以适应目标设备的复杂性要求(元素/条目的数量和插值方法),最后根据旨在接收和处理元数据的目标设备或处理设备的能力,直接存储lut或可以对lut进行插值。本质上,该过程旨在通过针对每个输入亮度/色度或rgb三元组的值(或可能的三元组的子集)以及针对所考虑的动态范围(由峰值亮度和最小亮度定义)来扫描参数和色域空间或颜色体积空间,建立第一参数空间和第二(不同的)参数空间之间的最佳映射。
[0055]
首先,在步骤410中,获得图像集i
k
。在一个实施例中,从现有图像库获得图像集i
k
,并选择该图像集来覆盖在正常观看期间可能遇到的大多数情形。作为示例,这些图像包括记忆颜色,诸如肉色或肤色、蓝天或绿草色调
……
。这些图像还可以包含带有镜面光和漫反射白色的暗的或亮的或饱和的内容。作为另一示例,这些图像是包括根据内容特性获得的颜色值的集合的合成图像,并且例如允许保持与代表肤色的颜色相对应的颜色值,当估计转换功能时,颜色值可以沿着图片序列始终保持恒定。例如,通过考虑从图片获得的显著性(saliency)图来获得这些颜色值。根据另一示例,这些颜色值根据在诸如cieluv或cielab的感知均匀颜色空间中定义的度量,收集对于人类视觉系统彼此接近的颜色值。
[0056]
在另一实施例中,通过穷尽地生成所有可能的变化来获得图像集i
k
,从而在色域和动态范围上循环。这种实施例的较不详尽的变型将例如通过减小用于生成的数据分辨率(比特数)从而减小所生成的数据的大小,来将整个空间子采样(subsample)到减小的集合。构建过程还使用用于第一类型的元数据集a
i 401和用于第二类型的元数据集b
j 402。在一个实施例中,穷尽地探索两个集合的元数据的值。在另一实施例中,在可能值的子采样空间中探索两个集合的元数据的值。针对图像值和元数据值的子采样可以是不一致的。例如,如果像素值的某个范围或元数据值的某个范围产生巨大的差,则可以提高在这些范围中使用的精度以允许更好的近似。
[0057]
该过程在图像(在图像集合i
k
上)、第一类型的元数据值(在元数据集a
i
上)和第二类型的元数据值(在元数据集b
j
上)上迭代480。对于涉及图像i
k
的给定迭代,选择420第一类型的元数据值集a
i
,并且选择421第二类型的元数据值集b
j
。通过在同一图像i
k
上分别应用a
i
和b
j
来计算430、431输出图像,从而分别产生图像o
ai,k
和o
bj,k
。在步骤440中,然后计算两个图像之间的差d
kij
(例如,欧几里得距离)。在步骤450中,通过固定a
i
来测试每对a
i
和b
j
的差d
kij
,并且针对每个给定a
i
和可能的每个给定i
k
存储最小差值d
min
。当a
i
和b
j
对产生d
min
时,认为使用第一类型的第一元数据集获得的结果图像与使用第二类型的第二元数据集获得的图像匹配,并且因此第一类型的第一元数据值被认为等于第二类型的第二元数据值。换言之,对于给定图像,当输出图像(o
ai,k
和o
bj,k
)之间的差最小时,元数据集(a
i
和b
j
)匹配。可能地,为了确认元数据集匹配,d
min
应当小于可接受性阈值。一旦针对一个图像i
k
确定了匹配的元数据集a
i
和b
j
,则对整个图像集执行最终匹配(最终匹配的元数据集a
i
和b
j
)。
[0058]
在一个实施例中,通过选择在整个i
k
.图像池上差d
min
最小的匹配元数据集来选择最终匹配的元数据集。在一个实施例中,通过选择在整个i
k
.图像池上被最频繁地选择的匹
配元数据集来选择最终匹配的元数据集。在一个实施例中,图像被分类(例如:具有镜面光的暗图像、亮图像、饱和图像等),并且根据前述实施例中的一个,针对图像类别选择最终匹配的元数据集。
[0059]
两个元数据值之间的关联被存储460为lut的一个元素。因此,当使用值a
i
对lut进行寻址时,它返回b
j
。根据触发条件停止迭代(图中未示出)。触发条件的第一示例是已经确定了足够的关联。第二示例是当已经测试了较好覆盖率的可能输入值。第三示例是当已经测试了所有可能的组合。
[0060]
在合成图像集的情况下,针对每个考虑的峰值亮度(例如,100cd/m2、500cd/m2、1000cd/m2、4000cd/m2)和可能考虑的色域-bt.2020、p3、bt.709...重复那些操作。
[0061]
映射集的子集/子采样(“键”映射集)可以利用与目标设备(即,将存储和实现那些映射集表的设备)的存储或存储器容量相对应的键映射集的数量来确定。换言之,为了与具有低存储容量的设备兼容,将对减少的元数据值集执行迭代,以有限的分辨率探索值的完整范围,从而产生合理大小(例如,数千的千字节或几兆字节)的查找表。利用这种配置,如前所述,转换可以依赖于插值机制来将第一类型的元数据值转换为第二类型。
[0062]
图5a和5b示出了根据本原理的实施例的、用于构建例如从dv多项式映射元数据到sl-hdr2元数据的元数据转换功能的查找表的、第一方法的原理的流程图的示例。本文档中考虑的元数据是在预处理器中产生的参数,并且驱动在所谓的后处理器中运行的映射或显示适配过程。这些元数据也被称为动态映射元数据或动态元数据,因为它们可以在逐帧的基础上变化。如未另行规定,章节参考涉及定义sl-hdr2的技术规范etsi ts 103 433

2。在本示例中,使用y’cbcr或rgb信号作为输入。目标是针对给定的色域和不同的峰值亮度,将dv元数据的值(即dv参数)与sl-hdr2元数据的值相关联。
[0063]
首先,在所考虑的色域的样本上进行循环,并且在所考虑的不同峰值亮度上进行循环。对于给定的色域gam和峰值亮度pl(例如,gam=bt.2020,pl=4000cd/m2),以下适用。
[0064]
如下针对dv元数据类型执行数据生成550。dv元数据参数552上的循环涉及上述参数a1y、b1y、c1y、a1b、b1b、c1b、a1r、b1r、c1r(并且在cta-861-g的st 2094-10和附件r中规定)。对于这些参数中的每一个,都会检查一组值。例如,对于参数a1y,扫描从a1y_init到a1y_end的值,其中步长为s1*(a1y_end-a1y_init),其中s1<1(例如,s1=0.1)。这里,a1y_init至a1y_end是预定义的限制。相同的扫描原理也适用于其他8个参数。对于给定的dv参数集,dvi=(a1yi,b1yi,c1yi,a1bi,b1bi,c1bi,a1ri,b1ri,c1ri),由该扫描得出,i是扫描索引,i=0到m-1,以下适用:
[0065]
首先扫描归一化的线性光rgb立方体:
[0066]
r=0到1,步长s2<1(例如s2=0.01)
[0067]
g=0到1,步长s2
[0068]
b=0到1,步长s2
[0069]
对于标记为(rk,gk,bk)的(r,g,b)值中的每一个,k为索引,k=0到(n-1),以下适用:
[0070]
应用了非线性传递函数。通常,itu-r rec.bt.2100pq(smpte st 2084)逆eotf(标记为ieotfpq)被应用于每个分量,值10000对应于由pq支持的最大峰值亮度:
[0071]
r’=ieotfpq(rk*pl/10000)
[0072]
g’=ieotfpq(gk*pl/10000)
[0073]
b’=ieotfpq(bk*pl/10000)
[0074]
使用与色域gam相关联的转变矩阵将(r’,g’,b’)转变为(y’,cb,cr)。下表给出了矩阵的示例。
[0075][0076]
使用dv参转变结果(y’k
,cb
k
,cr
k
),如下所示:
[0077]
y
out
=a
1yi
.y’k2
+b
1yi
.y’k
+c
1yi
[0078]
cb
out
=a
1bi
.cb
k2
+b
1bi
.cb
k
+c
1bi
[0079]
cr
out
=a
1ri
.cr
k2
+b
1ri
.cr
k
+c
1ri
[0080]
可按如下方式应用缩放和裁剪(考虑以10比特表示的信号):
[0081]
y_dv
k
=max(0,min(1023,64+876.y
out
)
[0082]
cb_dv
k
=max(0,min(1023,512+896.cb
out
)
[0083]
cr_dv
k
=max(0,min(1023,512+896.cr
out
)
[0084]
结果值存储在结构matching_dv
i
中,其与dv参数的第i个集合dv
i
=(a
1yi
,b
1yi
,c
1yi
,a
1bi
,b
1bi
,c
1bi
,a
1ri
,b
1ri
,c
1ri
)有关:
[0085]
matching_dv
i
(y
’0,cb0,cr0)=(y_dv0,cb_dv0,cr_dv0)
[0086]

[0087]
matching_dv
i
(y’k
,cb
k
,cr
k
)=(y_d
vk
,cb_dv
k
,cr_dv
k
)
[0088]

[0089]
matching_dv
i
(y’n-1
,cb
n-1
,cr
n-1
)=(y_dv
n-1
,cb_dv
n-1
,cr_dv
n-1
)
[0090]
sl-hdr2元数据参数上的循环涉及2.1.3.1节中提到的lutss lutmapy和lutcc。lut通常由有限的参数集控制。典型地,可以使用3个参数来控制lutmapy,在本文档中被标记为sl1、sl2、sl3(分别为shadowgain、highlightgain和midtonewidthadjfactor,参见ts 103 433-1的第6.3.5条)。对于lutcc,通常使用预定义的默认lut(参见ts 103 433-1的第6.3.8条)。参数m0、m1、m2、m3也用作元数据(参见ts 103 433-1的第6.3.2.6条)。对于参数sl1、sl2、sl3、m0、m1、m2、m3中的每一个,都会检查一组值。例如,对于参数sl1,扫描从sl1
y_init
到sl1
1y_end
的值(在ts 103 433-1的第6.3.5条中规定的范围),其中步长为s1*(sl1
y_end

sl1
y_init
),其中s1<1(例如s1=0.1)。在此,sl1
y_init
到sl
1y_end
是预定义的限制。相同的扫描原理也适用于其他参数。
[0091]
对于给定的sl-hdr2参数集,slhdr
i
=(sl1
i
,sl2
i
,sl3
i
,m0
i
,m1
i
,m2
i
,m3
i
),由该扫描得出,i是扫描索引,i=0到mm-1,以下适用。
[0092]
首先扫描归一化的rgb立方体:
[0093]
r=0到1,步长s2<1(例如s2=0.01)。
[0094]
g=0到1,步长s2。
[0095]
b=0到1,步长s2。
[0096]
对于被标记为(r
k
,g
k
,b
k
)的(r,g,b)值中的每一个,k为索引,k=0到(n-1),如下适用。
[0097]
应用了非线性传递函数。通常,bt.2100pq逆eotf(被标记为ieotfpq)被应用于每个分量:
[0098]
r’=ieotf
pq
(r
k
*pl/10000)
[0099]
g’=ieotf
pq
(g
k
*pl/10000)
[0100]
b’=ieotf
pq
(b
k
*pl/10000)
[0101]
使用与色域gam相关联的转变矩阵将(r’,g’,b’)转变为(y’,cb,cr)。使用如下所示的sl-hdr2参数对得到的(y’,cb,cr)进行转变:
[0102]
从参数slhdr
i
=(sl1
i
,sl2
i
,sl3
i
)推导lutmapy
[0103]
中心u和v
[0104]
u
c
=u
–2b-1
[0105]
v
c
=v
–2b-1
[0106]
y
post
被设置为y
[0107]
y
post2
被推导为y
post2
=clip3(0;2
b-1;y
post
)
[0108]
u
post2
和v
post2
被推导如下:
[0109][0110]
其中,maxcoef和m3是etsi ts 103 433-2的第7.2.4节中规定的方程(32)。
[0111]
变量r1、g1、b1被推导如下,
[0112][0113]
变量r2、g2、b2从r1、g1、b1被推导如下,
[0114][0115]
使用与色域gam相关联的转变矩阵将(r2,g2,b2)转变为(y_sl
k
,cb_sl
k
,cr_sl
k
)。
[0116]
结果值被存储在结构matching_slhdr
i
中,其与sl-hdr2参数的第i个集合slhdr
i
=(sl1
i
,sl2
i
,sl3
i
,m0
i
,m1
i
,m2
i
,m3
i
)有关:
[0117]
matching_slhdr
i
(y
’0,cb0,cr0)=(y_sl0,cb_sl0,cr_sl0)
[0118]

[0119]
matching_slhdr
i
(y’k
,cb
k
,cr
k
)=(y_sl
k
,cb_sl
k
,cr_sl
k
)
[0120]

[0121]
matching_slhdr
i
(y’n-1
,cb
n-1
,cr
n-1
)=(y_sl
n-1
,cb_sl
n-1
,cr_sl
n-1
)
[0122]
然后,对于dv参数的每个实例,dvi=(a1yi,b1yi,c1yi,a1bi,b1bi,c1bi,a
1ri

b
1ri
,c
1ri
),i=0到m-1,选择提供最佳匹配的sl-hdr2的实例如下:
[0123]
对于j=0至mm-1,以下适用:
[0124]
映射的dv和映射的sl-hdr2信号之间的总距离d
ij
被计算如下:
[0125][0126]
其中,dist()是2(y,cb,cr)样本之间的距离测量。
[0127]
例如:
[0128][0129]
识别最小化d
ij
的索引j_opt:j_opt=argmin
j
(d
ij
)并且参数matching_slhdr
j_opt
最终与参数matching_dv
i
相关联。
[0130]
图6示出了根据本原理的实施例的、构建用于元数据转换功能的查找表的第二方法的实施例的示例。该方法提出匹配驱动不同处理类型的给定数量的参数(元数据)集值,即借助神经网络找到输出相似输出(服从最小化标准)的、涉及不同处理类型的参数(元数据)值集之间的映射。
[0131]
神经网络的参数定义如下。
[0132]
让我们定义一下符号:
[0133]-i
n
表示在神经网络训练的学习阶段期间使用的图像集的第n个图像。整个图像集表示为其中n是集合中的图像总数。
[0134]-p
a
表示过程a,例如,它可以是上述杜比视觉(或hdr10+)后处理。
[0135]-p
b
表示过程b(其意图与过程a相同,但处理/算法不同),例如,它可以是上述sl-hdr2后处理。
[0136]-p
a
(i
n
)表示驱动过程a(p
a
)的参数/元数据的第n个集合,并且是从图像i
n
的分析中提取的。令被规定为
[0137]-p
b
(i
n
)表示驱动过程b(p
b
)的参数/元数据的第n个集合,并且是从图像i
n
的分析中提取的。令被规定为通常是有50个参数的矢量。
[0138]-表示过程a(p
a
)的第n个输入图像(i
n
)的输出图像。
[0139]
图片集被表示为:
[0140]-表示过程b(p
b
)的第n个输入图像(i
n
)的输出图像。
[0141]
图片集被表示为:
[0142]-f
w
表示神经网络(基于权重w的函数)。
[0143]
f
w
被定义为将映射到的函数,即将确定的驱动过程a的参数/元数据集转变为驱动过程b的参数/元数据集的函数。
[0144]-σ(x)表示神经网络f
w
的激活函数
[0145]
然后,通常将密集神经网络设置如下(重点在于训练阶段):
[0146]-1(2或3)隐藏层
[0147]-隐藏单元的数量(每个隐藏层)严格小于考虑的参数/元数据的数量(例如小于10)
[0148]-输入属性为(例如,在etsi gs ccm 001 v1.1.1第6.2.1条规定的杜比视觉元数据)。通常是有50个参数的矢量。
[0149]-输出属性/预测为(例如,在etsi ts 103433-1 v1.2.1第a.2.2.2条中规定的sl-hdr元数据)。通常是有50个参数的矢量。
[0150]-神经网络的成本函数(即优化标准)通常定义如下:
[0151][0152]-n通常等于2000(用于训练集的图像数量)
[0153]-激活函数通常被定义如下:
[0154]
σ(x)=max(0,x)
[0155]
因此,当输出与由成本函数确定的相似时,输入属性和输出属性被存储在查找表中,从而建立第一类型的元数据和第二类型的元数据之间的对应关系。
[0156]
该实施例不是限制性的,并且可以扩展到其他类型的过程和相关联的参数/元数据,对此,神经网络专用于给定的一对元数据类型。
[0157]
图7示出了其中可以实现示例性实施例的各个方面的示例性系统700的框图。系统700可以被实现为包括下面描述的各种组件的设备,并且被配置为执行上述过程。这些设备的示例包括但不限于个人计算机、便携式计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收器、个人视频记录系统、连接的家用电器、媒体服务器、广播编码器、代码转换器、流处理器、资产管理设备和媒体处理设备。系统700可以通信地耦合到其他类似的系统,并经由如图7所示和本领域技术人员已知的通信信道耦合到显示器,以实现上述示例性视频系统的全部或部分。
[0158]
系统700的各种实施例包括至少一个处理器710,其被配置为执行加载在其中的指令以实现上面讨论的各种过程。处理器710可以包括嵌入式存储器、输入输出接口和本领域公知的各种其他电路。系统700还可以包括至少一个存储器720(例如,易失性存储设备、非易失性存储设备)。系统700可以另外地包括存储设备740,其可以包括非易失性存储器,包括但不限于eeprom、rom、prom、ram、dram、sram、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备740可以包括内部存储设备、附加的存储设备和/或网络可访问存储设备。系统700还可以包括编码器/解码器模块1630,其被配置为处理数据以提供编码的视频和/或解码的视频,并且编码器/解码器模块730可以包括其自己的处理器和存储器。
[0159]
编码器/解码器模块730表示可以被包括在设备中以执行编码和/或解码功能的(一个或多个)模块。众所周知,这样的设备可以包括编码和解码模块中的一个或两个。另外,如本领域技术人员已知的,编码器/解码器模块730可以实现为系统700的单独的元件,或者可以作为硬件和软件的组合被并入一个或多个处理器710中。
[0160]
要被加载到一个或多个处理器710上以执行上述各种过程的程序代码可以存储在
存储设备740中,并且随后被加载到存储器720上以由处理器710执行。根据示例性实施例,(一个或多个)处理器710、存储器720、存储设备740和编码器/解码器模块730中的一个或多个可以在执行上文所讨论的过程期间存储各种项中的一个或多个,包括但不限于输入视频、解码视频、比特流、方程、公式、矩阵、变量、运算和运算逻辑。
[0161]
系统700还可以包括使得能够经由通信信道760与其他设备通信的通信接口750。通信接口750可以包括但不限于被配置为从通信信道760发送和接收数据的收发器。通信接口750可以包括但不限于调制解调器或网卡,并且通信信道760可以在有线和/或无线介质内实现。系统700的各种组件可以使用包括但不限于内部总线、电线和印刷电路板的各种合适的连接被连接在一起或被通信地耦合在一起(图7中未示出)。
[0162]
示例性实施例可以由处理器710实现的计算机软件实现、或者由硬件实现、或者由硬件和软件的组合实现。作为非限制性示例,示例性实施例可以由一个或多个集成电路实现。存储器720可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现,诸如作为非限制性示例的光存储设备、磁存储设备、基于半导体的存储设备、固定存储器和可移动存储器。作为非限制性示例,处理器710可以是适合于技术环境的任何类型,并且可以涵盖微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。
[0163]
这里描述的实现方式可以例如以方法或过程、设备、软件程序、数据流或信号来实现。即使仅在实现的单一形式的上下文中进行了讨论(例如,仅作为方法来讨论),所讨论的特征的实现方式也可以以其他形式(例如,设备或程序)来实现。设备可以以例如适当的硬件、软件和固件来实现。该方法可以在例如诸如处理器之类的设备中实现,该设备一般指的是处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如例如计算机、蜂窝电话、便携式/个人数字助理(pda),以及有助于终端用户之间的信息通信的其他设备。
[0164]
对“一个实施例”或“实施例”或“一个实现方式”或“实现方式”,以及它们的其他变体的引用,意味着结合该实施例描述的特定特征、结构、特性等包括在至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”或“在实施例中”或“一个实现方式中”或“在实现方式中”以及任何其他变体不一定全部指的是相同的实施例。
[0165]
另外,本申请或其权利要求可以涉及“确定”各种信息。确定信息可以包括例如估计信息、计算信息、预测信息或从存储器检索信息中的一个或多个。
[0166]
此外,本申请或其权利要求书可以涉及“访问”各种信息。访问信息可以包括例如接收信息、检索信息(例如从存储器中)、存储信息、移动信息、复制信息、计算信息、预测信息或估计信息中的一个或多个。
[0167]
另外,本申请或其权利要求书可以涉及“接收”各种信息。与“访问”一样,接收意为广义的术语。接收信息可以包括例如访问信息或检索信息(例如,从存储器中)中的一个或多个。此外,在诸如例如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间,通常以一种方式或另一种方式涉及“接收”。
[0168]
本领域技术人员将理解,诸如图2a中的一个的接收器设备的后处理功能通常以硬件实现。其他模块通常是基于软件的,并且可以在接收器的生命周期内更新(例如,作为中
间件或固件更新)。换言之,可以在其生命周期内将元数据转换功能添加到针对单个hdr技术设计的接收器。这样的操作将允许该接收器呈现根据多个hdr技术的内容,例如允许sl-hdr2接收器呈现利用为支持dv hdr技术而产生的元数据来增强的内容。
[0169]
此外,尽管已经分别描述了不同的可替换的实施例,但是它们可以以任何形式组合在一起。
[0170]
在第一方面的第一变型实施例中,通过使用查找表来完成转换,该查找表根据使用第一元数据集重建的测试图像和使用第二元数据集重建的相同图像之间的差来确定,并且其中查找表存储第一类型的元数据集值和第二类型的元数据集值之间的至少一个关联。
[0171]
在第一方面的变型实施例中,通过以下方式确定查找表:在图像集、用于第一类型的元数据集的值和用于第二类型的元数据集的值上迭代;选择图像i
k
、用于第一类型的元数据集值a
i
和用于第二类型的元数据集值b
j
;通过将元数据集值a
i
应用于图像i
k
来计算第一图像o
ai,k
;通过将元数据集值b
j
应用于图像i
k
来计算第二图像o
bj,k
;当o
ai,k
和o
bj,k
之间的差d
kij
小于确定的值时,在查找表中存储用于第一类型的元数据集值a
i
和用于第二类型的元数据集值b
j
之间的关联。
[0172]
在第一方面的变型实施例中,通过使用神经网络寻找用于第一类型的输入元数据集值和用于第二类型的输出元数据集值之间的映射并且在查找表中存储该映射来建立查找表,该神经网络根据成本函数递送相似的输出。
[0173]
在示例性实施例中,转换第一元数据集的值还包括在查找表中不存在直接关联的情况下的近似,并且其中该近似是通过以下方式完成的:选择查找表中与第一元数据值的距离最小的条目,并提供与所选条目对应的变换的第二元数据作为结果。
[0174]
在示例性实施例中,转换第一元数据集的值还包括在查找表中不存在针对第一元数据集的值的直接关联的情况下的近似,并且其中当要转换的元数据的值在查找表的两个条目的值之间时进行近似,该近似是通过以下方式完成的:在lut中的、第一元数据集的值的最接近条目之间确定要转换的第一元数据集的值的插值,并且将相同的插值应用于最接近条目的输出。
[0175]
在示例性实施例中,转换第一元数据集的值还包括在查找表中不存在针对第一元数据集的值的直接关联的情况下的近似,并且其中当要转换的元数据的值与lut的任何条目之间的距离大于确定的值时,为输出提供默认元数据值。
[0176]
在示例性实施例中,该方法还包括在没有查找表条目与第一类型的高动态范围视频相对应的情况下,获取根据第二类型的高动态范围视频的默认元数据。
[0177]
在示例性实施例中,该方法还包括在第一类型的高动态范围视频与第二类型的高动态范围视频相同的情况下绕过元数据转换。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1