用于产生对视频的颜色重新映射信息的补充增强信息消息的方法及系统与流程

文档序号:15743164发布日期:2018-10-23 22:38阅读:328来源:国知局
用于产生对视频的颜色重新映射信息的补充增强信息消息的方法及系统与流程

本申请涉及视频译码及压缩。更具体来说,本申请涉及改进颜色重新映射信息(CRI)的补充增强信息(SEI)消息的应用。



背景技术:

许多装置及系统允许处理并输出视频数据以供消耗。数字视频数据包含大量数据以满足消费者及视频提供者的需求。举例来说,视频数据的消费者需要具有最优质量(具有高保真度、分辨率、帧速率等等)的视频。结果,满足此些需求所需的大量视频数据对处理及存储视频数据的通信网络及装置造成负担。

可使用各种视频译码技术来压缩视频数据。视频译码是根据一或多个视频译码标准执行的。举例来说,视频译码标准包含高效视频译码(HEVC)、高级视频译码(AVC)、动画专业团体(MPEG)译码等等。视频译码一般使用利用存在于视频图像或序列中的冗余的预测方法(例如,帧间预测、帧内预测等等)。视频译码技术的重要目标为将视频数据压缩成使用较低位速率的形式,同时避免视频质量的降级或使视频质量的降级最小化。随着不断演进的视频服务变得可用,需要具有优选译码效率的编码技术。



技术实现要素:

在一些实施方案中,描述改进颜色重新映射信息(CRI)的补充增强信息(SEI)消息的技术及系统。SEI消息可包含于视频位流中,且可包含客户端侧装置(例如,播放器、解码器或其它客户端侧装置)可用以改进经解码输出的显示或处理(例如,改进内容的可见性)的信息。

CRI SEI消息包含用以将具有第一颜色特性的图片映射或转换到第二颜色特性的信息。图片的颜色特性可包含颜色空间、动态范围、转移函数或可横跨不同视频内容而变化的任何其它颜色特性。在一个说明性实例中,某些视频内容可具有第一颜色特性(例如,HDR视频、高清晰度视频、超高清晰度视频、第一转移函数或其它特性)。然而,一些装置可具有阻止其处理具有第一颜色特性的视频的限制。举例来说,一些播放器装置可仅能够处理具有第二颜色特性(例如,SDR视频、标准清晰度视频、第二转移函数或其它特性)的视频。在另一实例中,一些显示器可仅能够显示具有第二颜色特性的视频。在此些实例中,视频内容的图片可能需要从第一颜色特性被转换到第二颜色特性,以使得所述图片可由播放器装置显示。

CRI SEI消息当前由HEVC标准定义为仅适用于某些类型的视频内容。举例来说,HEVC标准中的CRI SEI消息的语义指示CRI SEI消息的颜色重新映射模型可应用于在4:4:4色域中的经解码视频样本,且在可应用颜色重新映射模型之前,需要将在4:2:0域或4:2:2域中的经解码样本增加采样到4:4:4域。然而,存在将CRI SEI消息的颜色重新映射模型直接应用于在除4:4:4外的域中的样本的若干原因。

本文中描述用于产生适用于各种类型的视频内容的CRI SEI消息的技术及系统。在一些实例中,可针对不同类型的视频内容而以不同方式应用CRI SEI消息的颜色重新映射模型。举例来说,可基于视频内容的类型及/或基于CRI SEI消息的目的而限制或定义CRI SEI消息的某些语法元素的值。在一些状况下,对CRI SEI消息设置限制以使得基于条件而限制CRI SEI消息的语法元素的一或多个值。在一个说明性实例中,所述条件可包含将应用有CRI SEI消息的颜色重新映射模型的图片的色度格式。在此实例中,基于色度格式而限制CRI SEI消息的语法元素的一或多个值。在另一说明性实例中,所述条件可包含识别CRI SEI消息的颜色重新映射模型的目的的颜色重新映射值(例如,color_remap_id语法元素的值)。在此实例中,基于颜色重新映射值而限制CRI SEI消息的语法元素的一或多个值。

基于视频内容的类型及/或CRI SEI消息的目的而限制CRI SEI消息的语法元素的值允许颜色重新映射模型的某些部分应用于内容,而颜色重新映射模型的其它部分不被应用。举例来说,对于在4:2:0域中的视频样本,颜色重新映射模型的一或多个查找表可应用于所述样本,而颜色重新映射模型的颜色重新映射矩阵可能不应用于所述样本。

根据处理视频数据的至少一个实例,提供一种处理视频数据的方法,其包括获得视频位流,所述视频位流包含具有第一颜色特性的多个图片。所述方法进一步包括从所述视频位流识别颜色重新映射信息(CRI)的补充增强信息(SEI)消息,其中基于条件而限制所述CRI SEI消息的至少一个语法元素的一或多个值。所述方法进一步包括使用所述CRI SEI消息的颜色重新映射模型将所述多个图片的一或多个样本从所述第一颜色特性重新映射到第二颜色特性。

在处理视频数据的另一实例中,提供一种设备,其包含:存储器,其经配置以存储视频数据;及处理器。所述处理器经配置以且可获得视频位流,所述视频位流包含具有第一颜色特性的多个图片。所述处理器经进一步配置以且可从所述视频位流识别颜色重新映射信息(CRI)的补充增强信息(SEI)消息。基于条件而限制所述CRI SEI消息的至少一个语法元素的一或多个值。所述处理器经进一步配置以且可使用所述CRI SEI消息的颜色重新映射模型将所述多个图片的一或多个样本从所述第一颜色特性重新映射到第二颜色特性。

在处理视频数据的另一实例中,提供一种计算机可读媒体,其具有存储于其上的指令,所述指令在由处理器执行时执行方法,所述方法包含:获得视频位流,所述视频位流包含具有第一颜色特性的多个图片;从所述视频位流识别颜色重新映射信息(CRI)的补充增强信息(SEI)消息,其中基于条件而限制所述CRI SEI消息的至少一个语法元素的一或多个值;及使用所述CRI SEI消息的颜色重新映射模型将所述多个图片的一或多个样本从所述第一颜色特性重新映射到第二颜色特性。

在处理视频数据的另一实例中,提供一种设备,其包含用于获得视频位流的装置,所述视频位流包含具有第一颜色特性的多个图片。所述设备进一步包括用于从所述视频位流识别颜色重新映射信息(CRI)的补充增强信息(SEI)消息的装置,其中基于条件而限制所述CRI SEI消息的至少一个语法元素的一或多个值。所述设备进一步包括用于使用所述CRI SEI消息的颜色重新映射模型将所述多个图片的一或多个样本从所述第一颜色特性重新映射到第二颜色特性的装置。

在一些方面中,上文所描述的用于处理视频数据的方法、设备及计算机可读媒体可进一步包括确定所述多个图片的色度格式。在此些方面中,所述条件为所述多个图片的所述色度格式,且基于所述多个图片的所述色度格式而限制所述CRI SEI消息的所述至少一个语法元素的所述一或多个值。

在一些方面中,上文所描述的用于处理视频数据的方法、设备及计算机可读媒体可进一步包括确定识别所述CRI SEI消息的所述颜色重新映射模型的目的的颜色重新映射值。在此些方面中,所述条件为所述颜色重新映射值,且基于所述颜色重新映射值而限制所述CRI SEI消息的所述至少一个语法元素的一或多个值。

在一些方面中,上文所描述的用于处理视频数据的方法、设备及计算机可读媒体可进一步包括确定所述多个图片的色度格式及确定识别所述CRI SEI消息的所述颜色重新映射模型的目的的颜色重新映射值。在此些方面中,所述条件为所述多个图片的所述色度格式以及所述颜色重新映射值,且基于所述多个图片的所述色度格式及基于所述颜色重新映射值而限制所述CRI SEI消息的所述至少一个语法元素的一或多个值。

在一些方面中,所述CRI SEI消息的所述颜色重新映射模型包含预查找表、颜色重新映射矩阵及后查找表。

在一些方面中,所述CRI SEI消息的所述至少一个语法元素包含指示所述颜色重新映射矩阵是否存在的颜色重新映射矩阵存在标记。在此些方面中,上文所描述的用于处理视频数据的方法、设备及计算机可读媒体可进一步包括:基于所述条件而确定所述颜色重新映射矩阵存在标记被限制为等于指示所述颜色重新映射矩阵不存在的值;及在所述颜色重新映射矩阵存在标记被限制为等于所述值时将所述颜色重新映射模型应用于所述一或多个样本而不应用所述颜色重新映射矩阵。在一些实例中,所述条件为所述多个图片的色度格式,且在确定所述色度格式为4:2:2色度格式、4:2:0色度格式或4:0:0色度格式时确定所述颜色重新映射矩阵存在标记被限制为等于所述值。

在一些方面中,上文所描述的用于处理视频数据的方法、设备及计算机可读媒体可进一步包括在所述颜色重新映射矩阵存在标记被限制为等于所述值时推断所述颜色重新映射矩阵等于恒等矩阵。在此些方面中,将所述颜色重新映射模型应用于所述一或多个样本包含应用所述恒等矩阵。

在一些方面中,所述CRI SEI消息的所述至少一个语法元素包含指示所述后查找表的输入值及输出值的后查找表编号语法元素。在此些方面中,上文所描述的用于处理视频数据的方法、设备及计算机可读媒体可进一步包括:基于所述条件而确定所述后查找表编号语法元素被限制为等于指示所述输入值及所述输出值等于0的值;及在所述后查找表编号语法元素被限制为等于所述值时将所述颜色重新映射模型应用于所述一或多个样本而不应用所述后查找表。

在一些方面中,上文所描述的用于处理视频数据的方法、设备及计算机可读媒体可进一步包括在所述后查找表编号语法元素被限制为等于所述值时推断所述后查找表为恒等映射。在此些方面中,将所述颜色重新映射模型应用于所述一或多个样本包含执行所述恒等映射。

在一些方面中,所述CRI SEI消息的所述至少一个语法元素包含指示所述预查找表的输入值及输出值的预查找表编号语法元素。在此些方面中,上文所描述的用于处理视频数据的方法、设备及计算机可读媒体可进一步包括:基于所述条件而确定所述预查找表编号语法元素被限制为等于指示所述输入值及所述输出值等于0的值;及在所述预查找表编号语法元素被限制为等于所述值时将所述颜色重新映射模型应用于所述一或多个样本而不应用所述预查找表。

在一些方面中,上文所描述的用于处理视频数据的方法、设备及计算机可读媒体可进一步包括在所述预查找表编号语法元素被限制为等于所述值时推断所述预查找表为恒等映射。在此些方面中,将所述颜色重新映射模型应用于所述一或多个样本包含执行所述恒等映射。

根据编码视频数据的至少一个实例,提供一种编码视频数据的方法,其包括在编码器处获得视频数据。所述方法进一步包括将基于所述视频数据的多个图片编码到视频位流中,所述多个图片具有第一颜色特性。所述方法进一步包括将颜色重新映射信息(CRI)的补充增强信息(SEI)消息编码到所述视频位流中。所述CRI SEI消息包含用于将所述多个图片的一或多个样本从所述第一颜色特性重新映射到第二颜色特性的颜色重新映射模型。基于条件而限制所述CRI SEI消息的至少一个语法元素的一或多个值。

在编码视频数据的另一实例中,提供一种设备,其包含:存储器,其经配置以存储视频数据;及处理器。所述处理器经配置以且可在编码器处获得视频数据。所述处理器经进一步配置以且可将基于所述视频数据的多个图片编码到视频位流中,所述多个图片具有第一颜色特性。所述处理器经进一步配置以且可将颜色重新映射信息(CRI)的补充增强信息(SEI)消息编码到所述视频位流中。所述CRI SEI消息包含用于将所述多个图片的一或多个样本从所述第一颜色特性重新映射到第二颜色特性的颜色重新映射模型。基于条件而限制所述CRI SEI消息的至少一个语法元素的一或多个值。

在编码视频数据的另一实例中,提供一种计算机可读媒体,其具有存储于其上的指令,所述指令在由处理器执行时执行方法,所述方法包含:在编码器处获得视频数据;将基于所述视频数据的多个图片编码到视频位流中,所述多个图片具有第一颜色特性;及将颜色重新映射信息(CRI)的补充增强信息(SEI)消息编码到所述视频位流中,所述CRI SEI消息包含用于将所述多个图片的一或多个样本从所述第一颜色特性重新映射到第二颜色特性的颜色重新映射模型,其中基于条件而限制所述CRI SEI消息的至少一个语法元素的一或多个值。

在编码视频数据的另一实例中,提供一种设备,其包含用于在编码器处获得视频数据的装置。所述设备进一步包括用于将基于所述视频数据的多个图片编码到视频位流中的装置,所述多个图片具有第一颜色特性。所述设备进一步包括用于将颜色重新映射信息(CRI)的补充增强信息(SEI)消息编码到所述视频位流中的装置。所述CRI SEI消息包含用于将所述多个图片的一或多个样本从所述第一颜色特性重新映射到第二颜色特性的颜色重新映射模型。基于条件而限制所述CRI SEI消息的至少一个语法元素的一或多个值。

在一些方面中,所述条件为所述多个图片的色度格式,且基于所述多个图片的所述色度格式而限制所述CRI SEI消息的所述至少一个语法元素的所述一或多个值。

在一些方面中,所述条件为识别所述CRI SEI消息的所述颜色重新映射模型的目的的颜色重新映射值,且基于所述颜色重新映射值而限制所述CRI SEI消息的所述至少一个语法元素的所述一或多个值。

在一些方面中,所述条件为所述多个图片的色度格式及识别所述CRI SEI消息的所述颜色重新映射模型的目的的颜色重新映射值。在此些方面中,基于所述多个图片的所述色度格式及基于所述颜色重新映射值而限制所述CRI SEI消息的所述至少一个语法元素的所述一或多个值。

在一些方面中,所述CRI SEI消息的所述颜色重新映射模型包含预查找表、颜色重新映射矩阵及后查找表。

在一些方面中,所述CRI SEI消息的所述至少一个语法元素包含指示所述颜色重新映射矩阵是否存在的颜色重新映射矩阵存在标记。在此些方面中,所述颜色重新映射矩阵存在标记基于所述条件而被限制为等于一值,所述颜色重新映射矩阵存在标记的所述值指示所述颜色重新映射矩阵不存在。在一些实例中,所述条件为所述多个图片的色度格式,且在确定所述色度格式为4:2:2色度格式、4:2:0色度格式或4:0:0色度格式时确定所述颜色重新映射矩阵存在标记被限制为等于所述值。在一些实例中,在所述颜色重新映射矩阵存在标记被限制为等于所述值时推断所述颜色重新映射矩阵等于恒等矩阵。

在一些方面中,所述CRI SEI消息的所述至少一个语法元素包含指示所述后查找表的输入值及输出值的后查找表编号语法元素。在此些方面中,所述后查找表编号语法元素基于所述条件而被限制为等于一值,且所述后查找表编号语法元素的所述值指示所述输入值及所述输出值等于0。在一些实例中,在所述后查找表编号语法元素被限制为等于所述值时推断所述后查找表为恒等映射。

在一些方面中,所述CRI SEI消息的所述至少一个语法元素包含指示所述预查找表的输入值及输出值的预查找表编号语法元素。在此些方面中,所述预查找表编号语法元素基于所述条件而被限制为等于一值,且所述预查找表编号语法元素的所述值指示所述输入值及所述输出值等于0。在一些实例中,在所述预查找表编号语法元素被限制为等于所述值时推断所述预查找表为恒等映射。

此发明内容并不打算识别所要求主题的关键或基本特征,也不打算单独使用以确定所要求主题的范围。应参考此专利的整个说明书的适当部分、任何或所有图式及每一权利要求项来理解主题。

在参考以下说明书、权利要求书及随附图式时,前述内容连同其它特征及实施例将变得更显而易见。

附图说明

下文参看以下图式详细描述本发明的说明性实施例:

图1为说明根据一些实例的编码装置及解码装置的实例的框图。

图2为说明根据一些实例的颜色重新映射信息(CRI)的补充增强信息(SEI)消息的颜色重新映射模型的实例的框图。

图3为说明根据一些实例的CRI SEI消息的颜色重新映射模型的组件的细节的框图。

图4为根据一些实例的CRI SEI消息的语法的实例。

图5说明流程图,所述流程图说明根据一些实例的处理视频数据的过程的实例。

图6说明流程图,所述流程图说明根据一些实例的编码视频数据的过程的实例。

图7为说明根据一些实例的实例视频编码装置的框图。

图8为说明根据一些实例的实例视频解码装置的框图。

具体实施方式

下文提供本发明的某些方面及实施例。此些方面及实施例中的一些可被独立地应用且其中的一些可以将对所属领域的技术人员显而易见的组合来加以应用。在以下描述中,出于解释的目的,阐述众多特定细节以便提供对本发明的实施例的透彻理解。然而,将为显而易见的是,可在无此些特定细节的情况下实践各种实施例。图式及描述不打算为限制性的。

随后描述仅提供示范性实施例,且并不打算限制本发明的范围、适用性或配置。确切来说,示范性实施例的随后描述将为所属领域的技术人员提供能够实施示范性实施例的描述。应理解,可在不脱离如所附权利要求书中所阐述的本发明的精神及范围的情况下对元件的功能及布置做出各种改变。

在以下描述中给出特定细节以提供对实施例的透彻理解。然而,所属领域的一般技术人员将理解,可在无此些特定细节的情况下实践实施例。举例来说,电路、系统、网络、过程及其它组件可以框图形式展示为组件以免以不必要的细节混淆实施例。在其它情况下,可在无不必要细节的情况下展示熟知电路、过程、算法、结构及技术以便避免混淆实施例。

而且,应注意,个别实施例可描述为被描绘为流程图(flowcart)、流程图(flow diagram)、数据流程图、结构图或框图的过程。尽管流程图可能将操作描述为顺序过程,但许多操作可并行地或同时加以执行。另外,可重新布置操作的次序。过程在其操作完成时终止,但可具有不包含于图中的额外步骤。过程可对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,其终止可对应于函数传回到调用函数或主函数。

术语“计算机可读媒体”包含(但不限于)便携式或非便携式存储装置、光学存储装置及能够存储、含有或携载指令及/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,其中可存储数据并且不包含载波及/或无线地或经由有线连接传播的暂时电子信号。非暂时性媒体的实例可包含(但不限于)磁盘或磁带、例如紧密光盘(CD)或数字多功能盘(DVD)的光学存储媒体、闪存器、存储器或存储器装置。计算机可读媒体可具有存储于其上的代码及/或机器可执行指令,所述代码及/或机器可执行指令可表示程序、函数、子程序、程序、例程、子例程、模块、软件套件、类别,或指令、数据结构或程序语句的任何组合。一个代码段可通过传递及/或接收信息、数据、变元、参数或存储器内容耦合到另一代码段或硬件电路。信息、变元、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络传输等任何合适方式传递、转发或传输。

此外,可由硬件、软件、固件、中间软件、微码、硬件描述语言或其任何组合来实施实施例。当以软件、固件、中间软件或微码加以实施时,用以执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储于计算机可读或机器可读媒体中。处理器可执行必要任务。

本文中描述使用视频编码器、解码器、视频播放器及其它视频处理装置进行视频处理及视频译码的若干系统及方法。在一些实例中,描述用于提供改进的颜色重新映射信息(CRI)的补充增强信息(SEI)消息的处理视频数据的一或多个系统及方法。举例来说,可产生CRI SEI消息,其包含定义或描述可针对不同类型的视频内容而以不同方式加以应用的颜色重新映射模型(包含一或多个查找表及一或多个颜色重新映射矩阵)的信息。可基于视频内容的类型而限制或定义CRI SEI消息的一或多个语法元素的值。下文更详细地描述此些系统及方法的细节。

随着更多装置及系统为消费者提供消耗数字视频数据的能力,对高效视频译码技术的需要变得更加重要。需要视频译码来减少处置存在于数字视频数据中的大量数据所必要的存储及传输要求。各种视频译码技术可用以将视频数据压缩成使用较低位速率同时维持高视频质量的形式。

图1为说明包含编码装置104及解码装置112的系统100的实例的框图。编码装置104可为源装置的部分,且解码装置112可为接收装置的部分。源装置及/或接收装置可包含电子装置,例如移动或静止电话手机(例如,智能手机、蜂窝式电话等等)、台式计算机、膝上型或笔记型计算机、平板计算机、机顶盒、电视、摄像机、显示装置、数字媒体播放器、视频游戏主机、视频流式传输装置、因特网协议(IP)摄像机或任何其它合适的电子装置。在一些实例中,源装置及接收装置可包含用于无线通信的一或多个无线收发器。本文中所描述的译码技术适用于各种多媒体应用中的视频译码,包含流式视频传输(例如,经由因特网)、电视广播或传输、编码数字视频以供存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频或其它应用。在一些实例中,系统100可支持单向或双向视频传输以支持例如视频会议、视频流式传输、视频播放、视频广播、游戏及/或可视电话等应用。

编码装置104(或编码器)可用以使用视频译码标准或协议编码视频数据以产生经编码视频位流。视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(也被称作ISO/IEC MPEG-4 AVC),包含其可伸缩视频译码(SVC)及多视图视频译码(MVC)扩展。已由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专业团体(MPEG)的视频译码联合协作小组(JCT-VC)完成较近期的视频译码标准,即高效率视频译码(HEVC)。对HEVC的各种扩展处理多层视频译码,且也正由JCT-VC开发,包含对HEVC的多视图扩展(被称作MV-HEVC)及对HEVC的可伸缩扩展(被称作SHVC)或任何其它合适的译码协议。

本文中所描述的许多实施例使用HEVC标准或其扩展来描述实例。然而,本文中所描述的技术及系统还可适用于其它译码标准,例如AVC、MPEG、其扩展或已可用或尚不可用或尚未开发的其它合适的译码标准。因此,虽然可参考特定视频译码标准描述本文中所描述的技术及系统,但所属领域的一般技术人员将了解,描述不应解译为仅适用于所述特定标准。

参看图1,视频源102可将视频数据提供到编码装置104。视频源102可为源装置的部分,或可为除源装置以外的装置的部分。视频源102可包含视频捕获装置(例如,摄像机、摄像电话、可视电话等等)、含有经存储视频的视频存档、提供视频数据的视频服务器或内容提供者、从视频服务器或内容提供者接收视频的视频馈入接口、用于产生计算机图形视频数据的计算机图形系统、此些源的组合或任何其它合适的视频源。

来自视频源102的视频数据可包含一或多个输入图片或帧。图片或帧为作为视频的部分的静态图像。编码装置104的编码器引擎106(或编码器)编码视频数据以产生经编码视频位流。在一些实例中,经编码视频位流(或“视频位流”或“位流”)为一系列的一或多个经译码视频序列。经译码视频序列(CVS)包含一系列存取单元(AU),其始于在基础层中具有随机存取点图片且具有某些属性的AU,直到且不包含在基础层中具有随机存取点图片且具有某些属性的下一AU。举例来说,开始CVS的随机存取点图片的某些属性可包含等于1的RASL标记(例如,NoRaslOutputFlag)。否则,随机存取点图片(具有等于0的RASL标记)并不开始CVS。存取单元(AU)包含一或多个经译码图片以及对应于共享相同输出时间的经译码图片的控制信息。图片的经译码切片在位流层级经囊封到被称作网络抽象层(NAL)单元的数据单元中。举例来说,HEVC视频位流可包含一或多个CVS,所述一或多个CVS包含NAL单元。NAL单元中的每一者具有NAL单元标头。在一个实例中,标头对于H.264/AVC(除了多层扩展以外)为一个字节且对于HEVC为两个字节。NAL单元标头中的语法元素采取指定位,且因此对所有种类的系统及输送层可见,例如输送流、实时输送(RTP)协议、文件格式以及其它者。

两种类别的NAL单元存在于HEVC标准中,包含视频译码层(VCL)NAL单元及非VCL NAL单元。VCL NAL单元包含经译码图片数据的一个切片或切片片段(如下描述),且非VCL NAL单元包含关于一或多个经译码图片的控制信息。在一些状况下,NAL单元可被称作包。HEVC AU包含含有经译码图片数据的VCL NAL单元及对应于经译码图片数据的非VCL NAL单元(如果存在)。

NAL单元可含有形成视频数据的经译码表示(例如,视频中的图片的经译码表示)的位序列(例如,经编码视频位流、位流的CVS等等)。编码器引擎106通过将每一图片分割成多个切片而产生图片的经译码表示。一切片独立于其它切片,以使得在不相依于来自同一图片内的其它切片的数据的情况下译码所述切片中的信息。切片包含一或多个切片片段,所述一或多个切片片段包含独立切片片段及(如果存在)相依于先前切片片段的一或多个相依切片片段。切片接着被分割成明度样本及色度样本的译码树型块(CTB)。明度样本的CTB及色度样本的一或多个CTB连同样本的语法被称作译码树型单元(CTU)。CTU为用于HEVC编码的基本处理单元。CTU可被分裂成具有不同大小的多个译码单元(CU)。CU含有被称作译码块(CB)的明度及色度样本阵列。

明度及色度CB可进一步被分裂成预测块(PB)。PB为对于帧间预测或块内复制预测(在可用或经启用以供使用时)使用相同运动参数的明度分量或色度分量的样本的块。所述明度PB及一或多个色度PB连同相关联语法形成预测单元(PU)。对于帧间预测,针对每一PU在位流中用信号发送一组运动参数(例如,一或多个运动向量、参考索引等等),且所述组运动参数用于所述明度PB及一或多个色度PB的帧间预测。对于块内复制预测,还可针对每一PU用信号发送一组运动参数(例如,一或多个块向量等等),且所述组运动参数可用于块内复制预测。CB也可被分割成一或多个变换块(TB)。TB表示颜色分量的样本的正方形块,对所述正方形块应用同一二维变换以用于译码预测残余信号。变换单元(TU)表示明度及色度样本的TB以及对应语法元素。

CU的大小对应于译码模式的大小,且可为正方形形状。举例来说,CU的大小可为8×8样本、16×16样本、32×32样本、64×64样本或达到对应CTU的大小的任何其它适当大小。短语“N×N”在本文中用以指就垂直及水平尺寸而言视频块的像素尺寸(例如,8像素×8像素)。可按行及列来布置块中的像素。在一些实施例中,块在水平方向上可不具有与在垂直方向上相同的数目个像素。与CU相关联的语法数据可描述(例如)将CU分割成一或多个PU。分割模式可在CU经帧内预测模式编码还是经帧间预测模式编码之间有所不同。PU可被分割成非正方形形状。与CU相关联的语法数据也可描述(例如)根据CTU将CU分割成一或多个TU。TU的形状可为正方形或非正方形。

根据HEVC标准,可使用变换单元(TU)来执行变换。TU可针对不同CU而变化。可基于给定CU内的PU的大小而对TU设定大小。TU可与PU大小相同或小于PU。在一些实例中,可使用被称作残余四分树(RQT)的四分树结构将对应于CU的残余样本再分成较小单元。RQT的叶节点可对应于TU。可变换与TU相关联的像素差值以产生变换系数。变换系数可接着由编码器引擎106量化。

一旦视频数据的图片被分割成CU,编码器引擎106即使用预测模式来预测每一PU。接着从原始视频数据减去预测单元或预测块以得到残余(如下描述)。对于每一CU,可使用语法数据在位流内部用信号发送预测模式。预测模式可包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。帧内预测利用图片内的空间相邻样本之间的相关。举例来说,在使用帧内预测的情况下,使用(例如)DC预测以发现PU的平均值、使用平面预测以使平面表面拟合于PU、使用方向预测以从相邻数据外插或使用任何其它合适类型的预测,从同一图片中的相邻图像数据预测每一PU。帧间预测使用图片之间的时间相关以便导出图像样本的块的运动补偿预测。举例来说,在使用帧间预测的情况下,使用运动补偿预测从一或多个参考图片(按输出次序在当前图片之前或之后)中的图像数据预测每一PU。可(例如)在CU层级作出使用图片间预测还是图片内预测来译码图片区域的决策。

在一些实例中,图片的一或多个切片被指派有切片类型。切片类型包含I切片、P切片及B切片。I切片(帧内预测帧,可独立解码)为仅通过帧内预测译码的图片的切片,且因此可独立解码,这是因为I切片仅需要帧内的数据来预测切片的任何预测单元或预测块。P切片(单向预测帧)为可通过帧内预测及通过单向帧间预测译码的图片的切片。通过帧内预测或帧间预测译码P切片内的每一预测单元或预测块。当应用帧间预测时,仅通过一个参考图片预测所述预测单元或预测块,且因此参考样本仅来自一个帧的一个参考区。B切片(双向预测性帧)为可通过帧内预测及帧间预测(例如,双向预测或单向预测)来译码的图片的切片。可从两个参考图片双向预测B切片的预测单元或预测块,其中每一图片贡献一个参考区,且两个参考区的样本集经加权(例如,通过相同权重或具有不同权重)以产生经双向预测块的预测信号。如上文所解释,一个图片的切片被独立译码。在一些状况下,图片可仅作为一个切片而被译码。

PU可包含与预测过程相关的数据(例如,运动参数或其它合适数据)。举例来说,当使用帧内预测来编码PU时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,当使用帧间预测来编码PU时,PU可包含定义用于PU的运动向量的数据。定义用于PU的运动向量的数据可描述(例如)运动向量的水平分量(Δx)、运动向量的垂直分量(Δy)、运动向量的分辨率(例如,整数精确度、四分之一像素精确度或八分之一像素精确度)、运动向量所指向的参考图片、参考索引、用于运动向量的参考图片列表(例如,列表0、列表1、或列表C),或其任何组合。

编码装置104可接着执行变换及量化。举例来说,在预测之后,编码器引擎106可计算对应于PU的残余值。残余值可包括正经译码的当前像素块(PU)与用以预测当前块的预测块(例如,当前块的经预测版本)之间的像素差值。举例来说,在产生预测块(例如,发出帧间预测或帧内预测)之后,编码器引擎106可通过从当前块减去由预测单元产生的预测块来产生残余块。残余块包含量化当前块的像素值与预测块的像素值之间的差的一组像素差值。在一些实例中,可以二维块格式(例如,像素值的二维矩阵或阵列)来表示残余块。在此些实例中,残余块为像素值的二维表示。

使用块变换来变换可在执行预测之后剩余的任何残余数据,此变换可基于离散余弦变换、离散正弦变换、整数变换、小波变换、其它合适的变换函数或其任何组合。在一些状况下,可将一或多个块变换(例如,32×32、16×16、8×8、4×4的大小或其它合适大小)应用于每一CU中的残余数据。在一些实施例中,TU可用于由编码器引擎106实施的变换及量化过程。具有一或多个PU的给定CU也可包含一或多个TU。如下文进一步详细描述,可使用块变换将残余值变换成变换系数,且接着可使用TU来量化及扫描残余值以产生用于熵译码的序列化变换系数。

在一些实施例中,在使用CU的PU进行帧内预测性或帧间预测性译码之后,编码器引擎106可计算CU的TU的残余数据。PU可包括空间域(或像素域)中的像素数据。在应用块变换之后,TU可包括变换域中的系数。如先前所提到,残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差值。编码器引擎106可形成包含用于CU的残余数据的TU,且可接着变换TU以产生用于CU的变换系数。

编码器引擎106可执行变换系数的量化。量化通过量化变换系数以减少用以表示系数的数据的量而提供进一步压缩。举例来说,量化可减少与系数中的一些或全部相关联的位深度。在一个实例中,具有n位值的系数可在量化期间经降值舍位为m位值,其中n大于m。

一旦量化经执行,经译码视频位流即包含经量化变换系数、预测信息(例如,预测模式、运动向量、块向量等等)、分割信息及任何其它合适数据,例如其它语法数据。可接着由编码器引擎106熵编码经译码视频位流的不同元素。在一些实例中,编码器引擎106可利用预定义扫描次序来扫描经量化变换系数以产生可经熵编码的序列化向量。在一些实例中,编码器引擎106可执行自适应扫描。在扫描经量化变换系数以形成向量(例如,一维向量)之后,编码器引擎106可熵编码向量。举例来说,编码器引擎106可使用上下文自适应可变长度译码、上下文自适应二进制算术译码、基于语法的上下文自适应二进制算术译码、概率区间分割熵译码或另一合适的熵编码技术。

编码装置104的输出端110可经由通信链路120将组成经编码视频位流数据的NAL单元发送到接收装置的解码装置112。解码装置112的输入端114可接收NAL单元。通信链路120可包含由无线网络、有线网络或有线网络与无线网络的组合提供的信道。无线网络可包含任何无线接口或无线接口的组合,且可包含任何合适的无线网络(例如,因特网或其它广域网、基于包的网络、WiFiTM、射频(RF)、UWB、WiFi-Direct、蜂窝式、长期演进(LTE)、WiMaxTM等等)。有线网络可包含任何有线接口(例如,光纤、以太网、电力线以太网、经由同轴缆线的以太网、数字信号线(DSL)等等)。可使用各种装备来实施有线及/或无线网络,所述装备例如基站、路由器、存取点、桥接器、网关、交换器等等。可根据通信标准(例如,无线通信协议)调制经编码视频位流数据,且将其传输到接收装置。

在一些实例中,编码装置104可将经编码视频位流数据存储于存储器108中。输出端110可从编码器引擎106或从存储器108检索经编码视频位流数据。存储器108可包含多种分散式或本地存取的数据存储媒体中的任一者。举例来说,存储器108可包含硬盘驱动器、存储光盘、闪存器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。

解码装置112的输入端114接收经编码视频位流数据,且可将视频位流数据提供到解码器引擎116,或提供到存储器118以供稍后由解码器引擎116使用。解码器引擎116可通过熵解码(例如,使用熵解码器)及提取组成经编码视频数据的一或多个经译码视频序列的元素来解码经编码视频位流。解码器引擎116可接着重新按比例调整经编码视频位流数据且对经编码视频位流数据执行反变换。残余数据接着经传递到解码器引擎116的预测级。解码器引擎116接着预测像素的块(例如,PU)。在一些实例中,预测被加到反变换的输出(残余数据)。

解码装置112可将经解码视频输出到视频目的地装置122,视频目的地装置可包含用于将经解码视频数据显示给内容的消费者的显示器或其它输出装置。在一些方面中,视频目的地装置122可为包含解码装置112的接收装置的部分。在一些方面中,视频目的地装置122可为不同于接收装置的单独装置的部分。

在一些实施例中,视频编码装置104及/或视频解码装置112可分别与音频编码装置及音频解码装置集成。视频编码装置104及/或视频解码装置112还可包含实施上文所描述的译码技术所必要的其它硬件或软件,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104及视频解码装置112可集成为各别装置中的组合式编码器/解码器(编解码器)的部分。下文参看图7描述编码装置104的特定细节的实例。下文参看图8描述解码装置112的特定细节的实例。

对HEVC标准的扩展包含多视图视频译码扩展(被称作MV-HEVC)及可伸缩视频译码扩展(被称作SHVC)。MV-HEVC及SHVC扩展共享分层译码的概念,其中不同层包含于经编码视频位流中。经译码视频序列中的每一层由唯一层识别符(ID)定址。层ID可存在于NAL单元的标头中以识别与NAL单元相关联的层。在MV-HEVC中,不同层可表示视频位流中的同一场景的不同视图。在SHVC中,提供以不同空间分辨率(或图片分辨率)或不同重构建保真度表示视频位流的不同可伸缩层。可伸缩层可包含基础层(其中层ID=0)及一或多个增强层(其中层ID=1、2、......n)。基础层可符合HEVC的第一版本的配置文件,且表示位流中的最低可用层。与基础层相比,增强层具有增加的空间分辨率、时间分辨率或帧速率及/或重构建保真度(或质量)。增强层经阶层式组织,且可(或可不)取决于较低层。在一些实例中,可使用单一标准编解码器来译码不同层(例如,使用HEVC、SHVC或其它译码标准编码所有层)。在一些实例中,可使用多标准编解码器来译码不同层。举例来说,可使用AVC来译码基础层,而可使用对HEVC标准的SHVC及/或MV-HEVC扩展来译码一或多个增强层。

一般来说,层包含一组VCL NAL单元及对应的一组非VCL NAL单元。NAL单元被指派有特定层ID值。在层可取决于较低层的意义上,层可为阶层式的。层集合指表示于位流内的独立的层的集合,意谓在解码过程中层集合内的层可取决于层集合中的其它层,但并不取决于任何其它层来进行解码。因此,层集合中的层可形成可表示视频内容的独立位流。可通过子位流提取过程的操作从另一位流获得层集合中的层的集合。层集合可对应于待在解码器希望根据某些参数操作时被解码的层集合。

如先前所描述,HEVC位流包含NAL单元的群组,包含VCL NAL单元及非VCL NAL单元。VCL NAL单元包含形成经译码视频位流的经译码图片数据。举例来说,形成经译码视频位流的位序列存在于VCL NAL单元中。除了其它信息以外,非VCL NAL单元还可含有具有与经编码视频位流相关的高层级信息的参数集。举例来说,参数集可包含视频参数集(VPS)、序列参数集(SPS)及图片参数集(PPS)。参数集的目标的实例包含位速率效率、错误复原(error resiliency)及提供系统层接口。每一切片参考单一有效PPS、SPS及VPS以存取解码装置112可用于解码切片的信息。可针对每一参数集译码识别符(ID),包含VPS ID、SPS ID及PPS ID。SPS包含SPS ID及VPS ID。PPS包含PPS ID及SPS ID。每一切片标头包含PPS ID。可使用ID识别给定切片的有效参数集。

PPS包含适用于给定图片中的所有切片的信息。因此,图片中的所有切片参考同一PPS。不同图片中的切片也可参考同一PPS。SPS包含适用于同一经译码视频序列(CVS)或位流中的所有图片的信息。如先前所描述,经译码视频序列为一系列存取单元(AU),其始于在基础层中且具有某些属性(如上文所描述)的随机存取点图片(例如,瞬时解码参考(IDR)图片或断链存取(BLA)图片或其它适当的随机存取点图片),直到且不包含具有在基础层中且具有某些属性的随机存取点图片的下一AU(或位流的末端)。SPS中的信息可不在经译码视频序列内在图片间改变。经译码视频序列中的图片可使用同一SPS。VPS包含适用于经译码视频序列或位流内的所有层的信息。VPS包含具有适用于全部经译码视频序列的语法元素的语法结构。在一些实施例中,可与经编码位流一起频带内传输VPS、SPS或PPS。在一些实施例中,可在与含有经译码视频数据的NAL单元分开的传输中频带外传输VPS、SPS或PPS。

补充增强信息(SEI)消息可包含于视频位流中。在一些状况下,SEI消息可用以携载对解码器解码位流并不必要但可用以改进经解码输出的显示或处理的信息。在一个说明性实例中,SEI消息中的信息可由解码器侧实体使用以改进内容的可见性。在一些情况下,某些应用标准可强制此类SEI消息在位流中的存在以使得符合应用标准的所有装置可达成质量的改进(例如,用于帧可兼容平面立体3DTV视频格式的帧包装SEI消息的携载,其中针对视频的每一帧携载SEI消息;恢复点SEI消息的处置;拉移式扫描矩形SEI消息在DVB中的使用;外加许多其它实例)。

在一些状况下,装置可具有阻止装置处理及/或显示具有某些颜色特性的视频内容(例如,高动态范围(HDR)视频、广色域(WCG)视频、高清晰度视频、超高清晰度(UHD)视频、使用例如PQ的第一转移函数或其它特性)的限制。举例来说,一些播放器装置可仅能够处理具有特定颜色特性的视频,所述特定颜色特性不同于所接收或经解码视频内容的一或多个颜色特性。在一个说明性实例中,旧版显示装置可仅能够显示标准动态范围(SDR)视频、标准清晰度视频、例如伽玛转移函数的第二转移函数或其它特性。在另一实例中,旧版播放器装置可仅能够处理具有特定颜色特性的视频。较新类型的视频内容与旧版装置的兼容性对于防止此些装置过时非常重要。可需要转换视频内容图片的颜色特性以使得可通过旧版播放器及/或显示装置处理及/或显示图片。

定义于HEVC标准中的颜色重新映射信息(CRI)SEI消息用以传送用于将经重构建图片的颜色重新映射到其它视频格式的信息。举例来说,CRI SEI消息可用以将图片从一个颜色特性映射或转换到另一颜色特性。CRI SEI消息中的信息可包含颜色重新映射模型。图2说明CRI SEI消息的颜色重新映射模型232的实例。颜色重新映射模型232由CRI SEI消息的语法定义。图4中展示且下文描述CRI SEI消息的实例语法400。颜色重新映射模型232包含三个部分—被称作预查找表(预LUT)234的第一查找表;其后接着为颜色重新映射矩阵236;其后接着为被称作后LUT 238的第二查找表。下文关于图3描述预LUT 234、颜色重新映射矩阵236及后LUT 238的细节。可通过视频解码器(例如,解码装置112)、通过从视频解码器接收输出或从另一源接收视频内容的视频播放器、通过显示装置或通过任何其它合适的客户端侧装置来实施颜色重新映射模型232。在一些状况下,颜色重新映射模型232包含可由客户端侧装置应用之元数据。在一个说明性实例中,一旦在客户端侧装置处接收及解码经编码图片,客户端侧装置或另一装置即可在显现经解码内容时应用颜色重新映射模型232之元数据。

到颜色重新映射模型232的输入包含视频内容230。视频内容230可包含经解码视频图片、经译码(经压缩)视频图片,或尚未经压缩的视频内容。视频内容230具有包含至少第一颜色特性的一或多个颜色特性。颜色重新映射模型232的输出包含经重新映射视频内容240,其包含从第一颜色特性重新映射到第二颜色特性的视频内容230的视频图片。

图片的颜色特性可包含颜色空间、动态范围、转移函数或可横跨不同视频内容而变化的任何其它颜色特性。图片的颜色特性的一个实例可包含颜色空间。颜色空间的实例包含:YCbCr颜色空间,其具有明度(Y)分量、蓝色色差(Cb)色度分量及红色色差(Cr)色度分量;红色-绿色-蓝色(RGB)颜色空间,其具有红色(R)分量、绿色(G)分量及蓝色(B)分量;YUV颜色空间,其具有明度(Y)及颜色(U,V)分量;或其它合适的颜色空间。CRI SEI消息的颜色重新映射模型232可用以通过从第一颜色空间转换到第二颜色空间(例如,从YCbCr颜色空间到RGB颜色空间)来执行颜色空间转换。图片的颜色特性的另一实例可包含动态范围,其可包含标准动态范围(SDR)、高动态范围(HDR)或其它合适的动态范围。颜色重新映射模型232可用以执行从第一动态范围到第二动态范围的色调映射。在一个说明性实例中,通过HDR/WCG主控的源内容可经变换以用于在具有较小颜色体积的显示器(例如,SDR显示器)上呈现。图片的颜色特性的另一实例可包含转移函数,其允许(例如)显示具有某些特性的某些视频内容(例如,HDR视频、SDR视频或其它类型的视频)。转移函数的实例包含伽玛转移函数、感知量化器(PQ)转移函数或其它合适的转移函数。在一个说明性实例中,PQ转移函数可允许显示具有高达10,000cd/m2的明度电平的HDR视频且可与BT.2020颜色空间一起使用。颜色重新映射模型232可用以从一或多个第一转移函数映射到一或多个第二转移函数。所属领域的一般技术人员将了解,颜色重新映射模型232可用以映射除本文中所提及的那些颜色特性外的其它颜色特性。

图3说明预LUT 234、颜色重新映射矩阵236及后LUT 238、颜色重新映射模型232的细节。预LUT 234可包含针对视频内容230的图片的每一颜色分量而定义的独立预LUT,例如针对RGB颜色空间的R、G及B分量中的每一者、针对YCbCr颜色空间的Y、Cb及Cr分量中的每一者、针对YUV颜色空间的Y、U及V分量中的每一者或针对任何其它合适的颜色空间的颜色分量。可针对第一颜色分量C1而定义预LUT[C1]242,可针对第二颜色分量C2而定义预LUT[C2]244,且可针对第三颜色分量C3而定义预LUT[C3]246。

预LUT中的每一者可为一维(1D)LUT,且可针对图片的一或多个样本的每一颜色分量(例如,图片的每一像素)包含第一分段线性函数(或变换)。举例来说,预LUT[C1]242的分段线性函数可变换具有第一颜色特性的输入图片的颜色分量C1。在一个说明性实例中,预LUT[C1]242可压缩或解压缩具有Y、Cb及Cr颜色分量的样本的Y颜色分量。在某些视频内容中,一或多个颜色分量可归因于所使用的容器而占用小的值范围(例如,映射BT.2020容器中限于BT.709色域的内容可导致分量占用比所允许值范围小的范围);在编码器处使用分段线性函数映射此视频范围以增大分量的值范围可有助于改进译码效率。当此映射经执行时,预LUT及定义于其中的分段线性映射函数可用以将此些分量映射回到客户端侧装置处的初始值范围。

在一些实例中,颜色重新映射矩阵236可包含线性模型,例如当存在三种颜色分量时的3×3矩阵。在一个说明性实例中,颜色重新映射矩阵236包含具有颜色重新映射系数的3×3矩阵。颜色重新映射矩阵236横跨每一图片样本的所有颜色分量而被应用,且用以映射颜色分量的系数。举例来说,颜色重新映射矩阵236可用以从一个颜色空间(例如,YCbCr)转换到另一颜色空间(例如,RGB),从一个颜色体积(例如,HDR)转换到另一颜色体积(例如,SDR),或进行类似转换。在一个说明性实例中,颜色重新映射矩阵236可应用于经映射颜色分量以补偿颜色分量之间的解相关。颜色分量之间的解相关可提高译码效率。举例来说,压缩经解相关YCbCr颜色空间中的许多序列比压缩RGB颜色空间中的序列更高效。可需要将经转换到YCbCr域的内容转换回到RGB域且可应用颜色重新映射矩阵236以执行此转换。

类似于预LUT 234,后LUT 238可包含经定义以在应用颜色重新映射矩阵236之后应用于每一所得颜色分量(经重新映射视频内容240的图片的每一颜色分量)的独立后LUT。举例来说,可针对第一颜色分量C1而定义后LUT[C1]252,可针对第二颜色分量C2而定义后LUT[C2]254,且可针对第三颜色分量C3而定义后LUT[C3]256。每一后LUT可为针对图片的一或多个样本的每一颜色分量包含第二分段线性函数(或变换)的1D LUT。举例来说,后LUT[C1]252的分段线性函数可变换具有第二颜色特性的经重新映射输出图片的颜色分量C1。在一个说明性实例中,后LUT[C1]252可压缩或解压缩具有R、G及B颜色分量的样本的R颜色分量,其中所述样本为从YCbCr颜色空间映射到RGB颜色空间的图片的部分。在另一实例中,R、G、B颜色分量中的一或多者的解压缩可经执行以补偿可在编码器处执行的压缩,从而改进译码效率;在一些视频内容中,R、G、B颜色分量中的一或多者的占用特定值范围的样本值可对应于可不影响序列的视觉质量的内容,且此些值范围可经压缩以改进译码效率。在另一实例中,后LUT也可用以应用与视频内容相关联的转移函数;所述转移函数通常独立地应用于每一R、G、B分量。用于显示过程(其在HEVC规格的范围外)的输出图片的颜色重新映射为可选的,且并不影响在HEVC规格中指定的解码过程。然而,应用标准可定义被强制符合所述特定标准的颜色重新映射过程。

分段线性函数由区间[Xi;Xi+1]定义,且在每一区间中为线性的。预LUT 234及后LUT 238的分段线性功能的参数以及颜色重新映射矩阵236的参数是基于特定CRI SEI消息的目的(例如,用于从HDR转换到SDR内容,用于从一个颜色空间转换到另一颜色空间,用于从一个转移函数映射到另一转移函数或任何其它合适目的)而确定。所述参数定义于CRI SEI消息的语法及语义中。此些参数可如特定应用标准或视频译码标准(针对其应用CRI SEI消息的目的)所定义而确定,如所属领域的一般技术人员所已知的。

图4为CRI SEI消息的语法400的实例。CRI SEI消息的语法400连同下文所描述的语义定义颜色重新映射模型232。语法400包含用于预LUT的语法元素462,其后接着为用于矩阵(例如,3×3矩阵或具有基于颜色分量的数目的大小的其它矩阵)的指示颜色重新映射系数的语法元素464,其后接着为用于后LUT的语法元素466。举例来说,语法400包含可用以构建应用于每一颜色分量的预LUT的第一分段线性函数的语法元素462的“预”集合;用于可应用于所有三种颜色分量的3×3矩阵的语法元素464;及可用以重构建应用于每一颜色分量之后LUT的第二分段线性函数的语法元素466的“后”集合。对于预LUT及后LUT两者,针对每一颜色分量(例如,R、G、B或Y、Cb、Cr或Y、U、V,或任何其它合适的颜色空间分量)定义独立LUT。

语法元素pre_lut_num_val_minus1[c]、pre_lut_coded_value[c][i]及pre_lut_target_value[c][i]可用以表示预LUT。“c”项指示图片的颜色分量的编号。举例来说,RGB颜色空间及YCbCr颜色空间中存在三种颜色分量。在一个说明性实例中,c等于0指第一分量(例如,YCbCr颜色空间中的Y、RGB颜色空间中的G,等等),c等于1指第二分量(例如,Cb、B等等),且c等于2指第三分量(例如,Cr、R等等)。用于特定颜色分量的预LUT的分段线性曲线可将颜色分量从(输入图片的)值x映射到(目标图片的)值y。可通过线性连接的枢转点构建分段线性曲线。线性内插用以映射两个枢转点之间的值。每一枢转点由语法元素pre_lut_coded_value[c][i]及pre_lut_target_value[c][i]定义。举例来说,语法元素pre_lut_num_val_minus1[c]指示用于第c颜色分量的分段线性重新映射函数中的枢转点的数目,语法元素pre_lut_coded_value[c][i]指定用于输入图片的第c分量的第i枢转点的值,且语法元素pre_lut_target_value[c][i]指定用于目标图片的第c分量的第i枢转点的值。

语法元素log2_matrix_denom及colour_remap_coeffs[c][i]可用以表示矩阵。语法元素log2_matrix_denom指定所有矩阵系数的分母的以2为底数的对数。语法元素colour_remap_coeffs[c][i]指定颜色重新映射矩阵系数的值。语法元素colour_remap_matrix_present_flag指示矩阵语法元素是否存在。举例来说,colour_remap_matrix_present_flag等于1可用以指示语法元素log2_matrix_denom及colour_remap_coeffs[c][i]存在,且0值可指示所述语法元素不存在。

语法元素post_lut_num_val_minus1[c]、post_lut_coded_value[c][i]及post_lut_target_value[c][i]可用以表示后LUT。类似于预LUT,post_LUT包含分段线性曲线。曲线的每一枢转点由语法元素post_lut_coded_value[c][i]及post_lut_target_value[c][i]定义,且线性内插用以映射两个枢转点之间的值。语法元素post_lut_num_val_minus1[c]指示用于第c颜色分量的分段线性重新映射函数中的枢转点的数目,语法元素post_lut_coded_value[c][i]指定用于输入图片的第c分量的第i枢转点的值,且语法元素post_lut_target_value[c][i]指定用于目标图片的第c分量的第i枢转点的值。

CRI SEI消息语法400还包含被称作colour_remap_id的语法元素,其不同值可用以指示CRI SEI消息的不同目的(例如,用于从一个颜色空间转换到另一颜色空间,用于从HDR转换到SDR内容,用于从一个转移函数映射到另一转移函数,或任何其它合适的目的)。术语“颜色(color)”在本文中也书写为“颜色(colour)”,其为用于HEVC标准中的拼写。

语法元素colour_remap_cancel_flag(被称作“取消标记”)指示当前CRI SEI消息是否取消任何先前CRI SEI消息的持续。在一个说明性实例中,colour_remap_cancel_flag等于1可指示CRI SEI消息以应用于当前层的输出次序取消任何先前CRI SEI消息的持续,且colour_remap_cancel_flag等于0可指示跟随有颜色重新映射信息。取消标记可因此指示在接收到新CRI SEI时客户端侧装置是否应取消先前用信号发送的CRI SEI消息。

语法元素colour_remap_persistence_flag(被称作“持续标记”)指定CRI SEI消息的持续。举例来说,持续标记可用以指示将CRI SEI消息应用于仅当前图片还是应用于当前图片及后续图片直到所定义未来点。在一个说明性实例中,colour_remap_persistence_flag等于0可指定CRI SEI消息仅应用于当前图片,且值1可指定CRI以输出次序持续(例如,对于当前层)直到条件满足。所述条件可由语义定义。

语法元素colour_remap_video_signal_info_present_flag指示以下四个语法元素是否存在:colour_remap_full_range_flag;colour_remap_primaries;colour_remap_transfer_function;及colour_remap_matrix_coefficients。此些四个语法元素指示在使用颜色重新映射模型执行颜色重新映射之后的输出的特性。举例来说,语法元素colour_remap_full_range_flag指示在使用重新映射模型进行重新映射结束时是否将达成全范围数据(例如,在8位表示中,从0到255)。举例来说,当以8个位表示详细表示时,可使用0到255之间的值。全范围的实例将为将0指派为黑色及将255指派为白色。在一些状况下,应用可能不使用从0到255的全值范围来指示视频,而改为可使用窄范围(例如,从16到240的值,其中值16为黑色且值240为白色)。在窄范围外的任何值可能不考虑用于法定数据。

语法元素colour_remap_primaries指示将用以定义颜色重新映射信息过程的输出的原色坐标(例如,R、G、B原色坐标;Y、Cb、Cr原色坐标等等)。举例来说,此语法元素可指示经重新映射的经重构建图片的色度坐标。语法元素colour_remap_transfer_function指示将适用于经重新映射的经重构建图片的转移函数特性(例如,转移函数为伽玛曲线、PQ曲线还是其它合适的转移函数)。举例来说,转移函数语法元素可指示客户端侧装置应使用以正确地处理及/或显示颜色重新映射信息的输出的转移函数。语法元素colour_remap_matrix_coefficients指示经重新映射的经重构建图片的系数。举例来说,此语法元素可描述用于从绿色、蓝色及红色或Y、Z及X原色导出明度及色度信号的矩阵系数。作为另一实例,此语法元素可指示输出为RGB还是YCbCr。

语法元素colour_remap_input_bit_depth为用以用信号发送预LUT经译码值的输入位深度。举例来说,输入位深度语法元素指定出于解译CRI SEI消息的目的的相关联图片的颜色分量的位深度。语法元素colour_remap_output_bit_depth为用于预LUT目标值、后LUT经译码值及后LUT目标值的输出位深度。举例来说,输出位深度语法元素指定由CRI SEI消息所描述的颜色重新映射函数的输出的位深度。

下文参考HEVC标准提供CRI SEI消息的语法元素及语义的更详细描述。

各种问题与在HEVC标准中指定的现存CRI SEI消息相关联。举例来说,一个问题为SEI消息的语义指定由CRI SEI消息所描述的过程(例如,LUT及矩阵乘法)可仅应用于4:4:4经解码样本,且如果经解码样本在4:2:0或4:2:2域中,那么其将必须从各别域经增加采样到4:4:4域。举例来说,到所指示重新映射过程的输入的语义状态为在视需要在chroma_format_idc等于1(4:2:0色度格式)或2(4:2:2色度格式)时应用到4:4:4颜色采样格式的(未指定)增加采样转换过程之后的经解码样本值的集合。根据HEVC标准,chroma_format_idc等于0指示单色(4:0:0)色度格式,chroma_format_idc等于1指示4:2:0色度格式,chroma_format_idc等于2指示4:2:2格式且chroma_format_idc等于3指示4:4:4格式。然而,存在将CRI SEI消息直接应用于经解码样本(例如,在4:2:0域或4:2:2域中)而不对图片增加采样的若干原因。举例来说,如果将线性映射应用于信号的三种颜色分量,那么可改进HDR视频的译码质量。CRI SEI的第一功能分量通过LUT功能性提供此情形。约束所述功能性应用于4:4:4域可需要对一些工作流程环境作出改变,在所述环境中通过单独块或装置执行4:4:4域中的增加采样及处理。允许LUT直接应用于4:2:0域可能并不必需此类改变。

与现存CRI SEI消息相关联的另一问题为CRI SEI消息的语义并不指定在视频于单色域中经译码时使用CRI消息。举例来说,语义状态在color_format_idc等于0(单色)时,CRI SEI消息将通常不存在,但解码器通常将允许此类消息存在且将忽略可存在的任何此类CRI SEI消息。此对将CRI消息(例如,仅不需要恒等矩阵的某些部分)应用于某些单色信号可为有益的使用状况设置不必要的限制。举例来说,在应用线性映射(使用CRI消息来指示)的情况下应用按比例调整以较好地保持仅含有明度值的单色视频的视频质量将为有益的。

与现存CRI SEI消息相关联的又一问题为color_remap_id语法元素(在本文中也被称作“颜色重新映射值”)的语义指定可利用color_remap_id的值以便识别颜色重新映射函数的目的。已指定CRI SEI消息的若干使用状况,且不指定color_remap_id的各种值应用于何域及/或目的可使其极其困难,这是因为每一应用空间可使用不同ID值。此外,由于准许CRI消息的级联,因此此可导致待应用SEI消息的ID的次序横跨不同应用空间不兼容的状况。

与现存CRI SEI消息相关联的另一问题为SEI消息的语义以使得其限制为应用于RGB及YCbCr颜色空间中的方式而书写。然而,HEVC编解码器允许仅一应用可理解的若干颜色空间(如当前在视频可用性信息(VUI)中或在未来指定)或甚至未指定颜色空间。在此类状况下,限制仅允许CRI SEI消息适用于RGB及YCbCr颜色空间。在一些状况下,经译码位流可在未指定颜色空间中,且应用CRI SEI消息可将视频转换回到例如YCbCr或RGB的另一颜色空间中。

本文中描述用以改进CRI SEI消息或可能导出项的设计及应用或指定于或待指定于视频译码标准(例如,H.265/HEVC、H.264/AVC、BDA、MPEG或H.265/HEVC视频译码标准中指定的其它者)中的类似SEI信令及处理的系统及方法。在一些情况下,所述系统及方法较好地启用颜色重新映射信息的SEI消息以用于HDR视频或其它类型的视频。可独立地或与其它者组合地应用此些方法中的一或多者。

在一些实施例中,描述对SEI消息的语义的改变以使得SEI消息可用于译码除4:4:4经解码样本外的4:2:0YCbCr经译码视频内容或格式。举例来说,CRI SEI消息的语义经修改以使得CRI消息可适用于在4:2:0域中或以4:0:0色度子采样格式表示的视频数据。在一些实例中,SEI消息的语义经修改以使得CRI消息可适用于在4:2:2域中表示的视频数据。下文提供包含对HEVC标准的改变以使得CRI消息可适用于在4:2:0域中、以4:0:0色度子采样格式或在4:2:2域中表示的视频数据。

如先前所描述,HEVC标准指定由CRI SEI消息所描述的颜色重新映射模型(例如,LUT及矩阵乘法)仅可应用于4:4:4经解码样本。当经解码样本在4:2:0域或4:2:2域中时,此些样本必须从各别域经增加采样到4:4:4域。然而,将颜色重新映射模型直接应用于在4:2:0域中、在4:2:2域中及甚至在4:0:0(单色)域中的样本将为有益的。用于不同域的术语为通常基于四个明度值的比率(采用4:a:b形式),其中a及b为概念性4×2像素块的列或行的色度值的相对数目。举例来说,对于在4:4:4域中的样本,三种颜色分量(例如,YCbCr分量、RGB分量等等)中的每一者具有相同采样率,因此不存在色度子采样。4:4:4域可用于(例如)高端影片扫描器、电影后期制作或其它高质量视频中。在4:2:2域中,以明度(Y)分量的采样率的一半来对两个色度分量Cb及Cr(对于YCbCr)进行采样。举例来说,水平色度分辨率减半。即,4:2:2每一水平扫描线针对每四个明度值具有两个色度值。色度分辨率的此减少可将未经压缩视频信号的带宽减少三分之一,其中具有极少或不具有视差。4:2:0域可由(例如)高端数字视频格式使用。对于4:2:0中的样本,每扫描线存在每一色度样本中的两者(Cb、Cr),但此些仅每隔一行存在。由于在此方案中仅在每一交替行上对Cb及Cr信道进行采样,因此垂直分辨率减半。在4:2:0域中,水平分辨率也减半。来自被跳过行的信道可从先前行或一或多个附近行的组合恢复。在一些实例中,Cb及Cr分量的像素位置可相对于Y的像素位置经移位。

4:2:0域、4:2:2域及4:0:0域因此具有比4:4:4域少的样本,因此在图片的样本中总体具有较少颜色分量。如果系统可(例如)在4:2:0域中应用颜色重新映射模型,那么由于相比在应用于4:4:4域中的样本的情况下,所述模型应用于少得多的样本,因此系统可更高效。举例来说,在4:2:0域中,Cb及Cr样本的数目为明度(Y)样本的数目的四分之一。

在使用除4:4:4外的域时,颜色重新映射模型的某些部分可能不适用。举例来说,如上文所描述,横跨样本的所有颜色分量而应用颜色重新映射矩阵(例如,在存在三种颜色分量时,3×3矩阵)。因为矩阵系数横跨所有分量而被应用,所以所述模型将预期Y值、Cb值及Cr值,且将试图对此些三个值应用矩阵。然而,在4:2:0域中,例如,仅对于图片中四分之一的样本(例如,像素),将存在所有三种颜色分量。对于图片中的其它样本,将仅存在Y分量(将不存在Cb及Cr分量)。

各种技术可用以提供适用于各种类型的视频内容(例如,在4:2:0、4:2:2或4:0:0域中的视频图片)的CRI SEI消息。在一些实例中,可基于图片的色度格式及/或基于如上文所描述的指定CRI SEI消息的目的的color_remap_id的值而限制CRI SEI消息语法元素中的一些的语义及值。在此些实例中,对于某些类型的视频内容,可修改或去除预LUT、颜色重新映射矩阵及/或后LUT中的一或多者。举例来说,预LUT可应用于图片中的样本的每一种分量(对于每一种颜色分量一个1D查找表),但不应用颜色重新映射矩阵或后LUT。在另一实例中,后LUT可应用于图片中的样本的每一种分量(对于每一种颜色分量一个1D查找表),但不应用颜色重新映射矩阵或预LUT。

在使用语法400的术语的一个说明性实例中,对于具有某一色度格式的视频图片或对于color_remap_id的某些值,color_remap_matrix_present_flag的值可被限制为等于0且post_lut_num_val_minus1[c]的值可被限制为等于0。在一些实例中,当color_remap_matrix_present_flag被限制为等于0时,推断3×3矩阵等于恒等矩阵,且可能不应用矩阵乘法的应用。在一些实例中,当post_lut_num_val_minus1[c]的值被限制为等于0时,也推断后LUT为恒等映射。将调用此限制的实施方案的色度格式的实例可为在4:2:0域、4:2:2域或4:0:0域中的视频图片。举例来说,由于如上文所描述,图片的某些样本将不具有所有三种颜色分量,因此可能不应用颜色重新映射矩阵。在一些实例中,Y、Cb或Cr分量中的一或多者的值范围可经修改以改进译码效率。当视频内容表示于例如BT.2020或BT.2100的HDR内容容器中时,视频占用值范围的极小部分。译码此内容可产生译码伪影,如果由分量所占用的值范围通过使用分段线性映射扩大值范围而增大,那么可减少译码伪影。预LUT表可用以通过将所述值压缩回到初始值范围来补偿此映射。在另一实例中,预LUT可应用于Y、Cb、Cr分量以便将表示从HDR转换到SDR特性。在以上两个实例中,预LUT映射可直接应用于4:2:0域而非4:4:4,这是因为所述应用将需要较少映射操作。

在另一说明性实例中,对于具有某一色度格式的视频图片或对于color_remap_id的某些值,预LUT通过设定pre_lut_num_val_minus1[c]等于0而推断为等于恒等映射,color_remap_matrix_present_flag的值被限制为等于0,且后LUT用以映射图片中的样本的分量。在一些实例中,可在此状况下执行额外位移位运算以匹配由LUT指定的位深度。举例来说,如果输入位深度并不匹配输出信号的位深度(输出位深度),那么客户端侧装置可在应用后LUT之前执行额外位移位运算以使得输出位深度得以满足。

在一些实例中,替代指定不应用颜色重新映射矩阵(及/或预LUT或后LUT中的一者),当样本不存在所有分量时,矩阵可应用于样本值的第一分量。对于具有所有三种分量的样本,矩阵可应用于所述分量的值。然而,对于具有第一分量(例如,Y分量)的值但不具有其它同置分量(例如,在4:2:0域图片、4:2:2域图片等等中)的同置样本值的样本,颜色重新映射矩阵可应用于第一分量且其它同置分量值的固定值可被采用。如本文中所使用,同置指示同一样本的分量及分量值(例如,样本的所有分量为同置分量)。在一个说明性实例中,对于特定样本,可存在明度(Y)分量,但不存在色度(Cb或Cr)分量。可使用Y分量值及色度分量的所采用值将颜色重新映射矩阵应用于样本。举例来说,固定值可包含2color_remap_output_bit_depth-1。在一些实例中,不存在于给定样本中的一或多个同置分量的值经导出或采取为等于等于相邻样本中的对应分量的值。举例来说,图片中位于像素位置(0,3)处的样本可具有Y分量值,但不具有Cb及Cr分量值。(0,3)样本的Cb及Cr分量的值可经采取为等于具有所有三种颜色分量的值的(0,4)样本的Cb及Cr分量值。颜色重新映射矩阵可接着应用于(0,3)样本的Y值以及所导出的Cb及Cr值。在一些实例中,可从多于一个相邻样本导出对于特定样本不存在的同置分量值的值。

在一些实施例中,对于color_remap_id的某些值,推断color_remap_output_bit_depth的值等于color_remap_input_bit_depth。举例来说,如果将仅应用预LUT或后LUT,那么可推断输入及输出位深度为相等的。

在一些实施例中,描述对CRI SEI消息的语义的改变以使得CRI SEI消息可用于映射单色视频内容。举例来说,CRI SEI消息的语义可经修改以使得CRI SEI消息也适用于单色信号。

在一些实施例中,CRI SEI消息的语义经修改以使得CRI SEI消息并不限制为应用于YCbCr及RGB颜色空间。举例来说,语义可经修改以使得CRI SEI消息也适用于可通过VUI指定的其它颜色空间或其它未指定颜色空间。在一些实例中,color_remap_id的值可用以指示第一、第二及第三分量。

上文所描述的改变可被实施为对HEVC标准的改变,或可为某些应用标准的实施方案。

现描述具有对HEVC标准的修改以实施上文所描述的改变的各种实施例。所述改变涉及ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的视频译码联合协作小组(JCT-VC)的文件JCTVC-W1005v2,其出于所有目的而特此以全文引用的方式并入。对语法及语义的添加指示于“<insert>”符号与“<insertend>”符号之间(例如,“<insert>所添加文本<insertend>”,且删除展示于“<delete>”符号与“<deleteend>”符号之间(例如,“<insert>所添加文本<insertend>”):

配置用以描绘颜色重新映射信息在后处理链中的使用

此章节提供可用以实施/应用颜色重新映射信息的若干配置。

颜色重新映射信息的SEI消息的语义

颜色重新映射信息的SEI消息提供用以启用输出图片的经重构建颜色样本的重新映射的信息。到所指示重新映射过程的输入<insert>是基于SEI消息中指定的识别符的值而指定。对于识别符的一些值,输入<insertend>为在视需要在chroma_format_idc等于1(4:2:0色度格式)或2(4:2:2色度格式)时应用到4:4:4颜色采样格式的(未指定)增加采样转换过程之后的经解码样本值的集合。<insert>对于识别符的一些值,输入为经解码样本的集合,且当chroma_format_idc不等于0时,CRI消息中指定的一些过程受限制。<insertend>当color_format_idc等于0(单色)时,颜色重新映射信息的SEI消息<insert>仅应用于存在的分量,且CRI SEI消息的一些过程受限制。<insertend><delete>将不存在,但解码器将允许此类消息存在且将忽略可存在的任何此类颜色重新映射信息的SEI消息。<deleteend>

用于颜色重新映射信息的SEI消息中的颜色重新映射模型由以下各者组成:应用于每一种颜色分量的第一分段线性函数(由本文中的语法元素的“预”集合指定),其后接着为应用于三种所得颜色分量的3×3矩阵,其后接着为应用于每一种所得颜色分量的第二分段线性函数(由本文中的语法元素的“后”集合指定)。

注解1-用于显示过程(其在本说明书的范围外)的输出图片的颜色重新映射为可选的,且并不影响在本说明书中指定的解码过程。

color_remap_id含有可用以识别颜色重新映射信息的目的的识别数字。当关于color_remap_id的同一值存在多于一个颜色重新映射信息的SEI消息时,此些颜色重新映射信息的SEI消息的内容将相同。当存在具有color_remap_id的多于一个值的颜色重新映射信息的SEI消息时,此情形指示由color_remap_id的不同值所指示的重新映射过程为出于不同目的(并非应用重新映射过程的级联)而提供的替代程序。color_remap_id的值将在0到范围232-2(包含0及232-2)内。

可如由应用确定而使用从0到255及从512到231-1的color_remap_id的值。保留从256到511(包含256及511)及从231到232-2(包含231及232-2)的color_remap_id的值以供ITU-T|ISO/IEC未来使用。解码器将忽略含有在范围256到511(包含256及511)内或范围231到232-2(包含231及232-2)内的color_remap_id的值的所有颜色重新映射信息的SEI消息,且位流将不含有此些值。

<insert>当chroma_format_idc的值不等于1时,值color_remap_id将不在等于256到287(包含256及287)的范围内。

当chroma_format_idc的值不等于2时,值color_remap_id将不在等于288到319(包含288及319)的范围内。

当chroma_format_idc的值不等于0时,值color_remap_id将不在等于320到351(包含320及351)的范围内。

当chroma_remap_id的值在范围256到287(包含256及287)内时,分别地,color_remap_matrix_present_flag的值将等于0且对于在范围0到2内的c,post_lut_num_val_minus1[c]的值将等于0。3×3矩阵及后LUT并不应用于样本。

当chroma_remap_id的值在范围288到319(包含288及319)内时,分别地,color_remap_matrix_present_flag的值将等于0且对于在范围0到2内的c,post_lut_num_val_minus1[c]的值将等于0。3×3矩阵及后LUT并不应用于样本。

当chroma_remap_id的值在范围320到351(包含320及351)内时,分别地,color_remap_matrix_present_flag的值将等于0且对于在范围1到2内的c,post_lut_num_val_minus1[c]的值将等于0。不应用3×3矩阵且不对第二及第三分量应用后LUT。<insertend>

注解2-color_remap_id可用以支持适合于不同显示情境的不同颜色重新映射过程。举例来说,color_remap_id的不同值可对应于由显示器支持的不同经重新映射颜色空间。

color_remap_cancel_flag等于1指示颜色重新映射信息的SEI消息以应用于当前层的输出次序取消任何先前颜色重新映射信息的SEI消息的持续。color_remap_cancel_flag等于0指示跟随有颜色重新映射信息。

color_remap_persistence_flag指定用于当前层的颜色重新映射信息的SEI消息的持续。

color_remap_persistence_flag等于0指定颜色重新映射信息仅应用于当前图片。

令picA为当前图片。color_remap_persistence_flag等于1指定颜色重新映射信息针对当前层以输出次序持续,直到以下条件中的任一者成立:

-当前层的新CL VS开始。

-位流结束。

-存取单元中的当前层中的含有具有color_remap_id的相同值且适用于当前层的颜色重新映射信息的SEI消息的图片picB经输出,对于所述图片,PicOrderCnt(picB)大于PicOrderCnt(picA),其中PicOrderCnt(picB)及PicOrderCnt(picA)分别为紧接在调用picB的图片次序计数的解码过程之后的picB及picA的PicOrderCntVal值。

color_remap_video_signal_info_present_flag等于1指定语法元素color_remap_full_range_flag、color_remap_primaries、color_remap_transfer_function及color_remap_matrix_coefficients存在,color_remap_video_signal_info_present_flag等于0指定语法元素color_remap_full_range_flag、color_remap_primaries、color_remap_transfer_function及color_remap_matrix_coefficients不存在。

color_remap_full_range_flag具有与条项E.3.1中针对video_full_range_flag语法元素所指定相同的语义,除color_remap_full_range_flag识别经重新映射的经重构建图片的颜色空间而非用于CL VS的颜色空间以外。当不存在时,推断color_remap_full_range_flag的值等于video_full_range_flag的值。

color_remap_primaries具有与条项E.3.1中针对color_primaries语法元素所指定相同的语义,除color_remap_primaries识别经重新映射的经重构建图片的颜色空间而非用于CL VS的颜色空间以外。当不存在时,推断color_remap_primaries的值等于color_primaries的值。

color_remap_transfer_function具有与条项E.3.1中针对transfer_characteristics语法元素所指定相同的语义,除color_remap_transfer_function识别经重新映射的经重构建图片的颜色空间而非用于CL VS的颜色空间以外。当不存在时,推断color_remap_transfer_function的值等于transfer_characteristics的值。

color_remap_matrix_coefficients具有与条项E.3.1中针对matrix_coeffs语法元素所指定相同的语义,除color_remap_matrix_coefficients识别经重新映射的经重构建图片的颜色空间而非用于CL VS的颜色空间以外。当不存在时,推断color_remap_matrix_coefficients的值等于matrix_coeffs的值。

color_remap_input_bit_depth指定相关联图片的颜色分量的位深度以用于解译颜色重新映射信息的SEI消息的目的。当存在color_remap_input_bit_depth的值不等于经解码颜色分量的位深度的任何颜色重新映射信息的SEI消息时,SEI消息参考经执行以将经解码颜色分量样本转换到等于color_remap_input_bit_depth的位深度的转换操作的假设结果。

color_remap_input_bit_depth的值将在范围8到16(包含8及16)内。保留从0到7(包含0及7)及从17到255(包含17及255)的color_remap_input_bit_depth的值以供ITU-T|ISO/IEC未来使用。解码器将忽略含有在范围0到7(包含0及7)内或在范围17到255(包含17及255)内的color_remap_input_bit_depth的所有颜色重新映射SEI消息,且位流将不含有此些值。

color_remap_output_bit_depth指定由颜色重新映射信息的SEI消息所描述的颜色重新映射函数的输出的位深度。

color_remap_output_bit_depth的值将在范围8到16(包含8及16)内。保留从0到7(包含0及7)及在范围17到255(包含17及255)内的color_remap_output_bit_depth的值以供ITU-T|ISO/IEC未来使用。解码器将忽略含有从0到7(包含0及7)或在范围17到255(包含17及255)内的color_remap_output_bit_depth的值的所有颜色重新映射SEI消息。

pre_lut_num_val_minus1[c]加1指定用于第c分量的分段线性重新映射函数的枢转点的数目,其中c等于0指<delete>明度或G<deleteend><insert>第一<insertend>分量,c等于1指<delete>Cb或B<deleteend><insert>第二<insertend>分量,且c等于2指<delete>Cr或R<deleteend><insert>第三<insertend>分量。对于第c分量,当pre_lut_num_val_minus1[c]等于0时,输入值的默认端点为0与2color_remap_input_bit_depth-1,且输出值的对应默认端点为0与2color_remap_output_bit_depth-1。在符合本说明书的此版本的位流中,pre_lut_num_val_minus1[c]的值将在范围0到32(包含0及32)内。

pre_lut_coded_value[c][i]指定第c分量的第i枢转点的值。用以表示pre_lut_coded_value[c][i]的位的数目为((color_remap_input_bit_depth+7)>>3)<<3。

pre_lut_target_value[c][i]指定第c分量的第i枢转点的值。用以表示pre_lut_target_value[c][i]的位的数目为((color_remap_output_bit_depth+7)>>3)<<3。

当pre_lut_coded_value[c][0]大于0时,应推断初始线性区段将范围为0到pre_lut_coded_value[c][0](包含0及pre_lut_coded_value[c][0])的输入值映射到范围为0到pre_lut_target_value[c][0](包含0及pre_lut_target_value[c][0])的目标值。

当pre_lut_coded_value[c][pre_lut_num_val_minus1[c]]不等于2color_remap_input_bit_depth-1时,应推断最终线性区段将范围为pre_lut_coded_value[c][pre_lut_num_val_minus1[c]]到2color_remap_input_bit_depth-1(包含pre_lut_coded_value[c][pre_lut_num_val_minus1[c]]及2color_remap_input_bit_depth-1)的输入值映射到范围为0到2color_remap_output_bit_depth-1(包含0及2color_remap_output_bit_depth-1)的目标值。

color_remap_matrix_present_flag等于1指示语法元素log2_matrix_denom及color_remap_coeffs[c][i](对于在范围0到2(包含0及2)内的c及i)存在。color_remap_matrix_present_flag等于0指示语法元素log2_matrix_denom及color_remap_coeffs[c][i](对于在范围0到2(包含0及2)内的c及i)不存在。

log2_matrix_denom指定所有矩阵系数的分母的以2为底数的对数。log2_matrix_denom的值将在范围0到15(包含0及15)内。当不存在时,推断log2_matrix_denom的值等于0。

color_remap_coeffs[c][i]指定3×3颜色重新映射矩阵系数的值。color_remap_coeffs[c][i]的值将在范围-215到215-1(包含-215及215-1)内。当color_remap_coeffs[c][i]不存在时,其在c等于i的情况下推断为等于1,且否则推断为等于0。

注解3-当color_remap_matrix_present_flag等于0时,推断颜色重新映射矩阵等于大小为3×3的恒等矩阵。

如下导出变量matrixOutput[c],其中c=0、1及2:

roundingOffset=log2_matrix_denom==0?0:1<<(log2_matrix_denom-1)

matrixOutput[c]=Clip3(0,(1<<color_remap_output_bit_depth)-1,

(color_remap_coeffs[c][0]*matrixInput[0]+color_remap_coeffs[c][1]*matrixInput[1]

+color_remap_coeffs[c][2]*matrixInput[2]+roundingOffset)>>log2_matrix_denom)(D-1)

其中matrixInput[c]为第c颜色分量的输入样本值,且matrixOutput[c]为第c颜色分量的输出样本值。

post_lut_num_val_minus1[c]具有与pre_lut_num_val_minus1[c]相同的语义,其中“预”由“后”替代,除对于第c颜色分量,输入值的默认端点为0及2color_remap_output_bit_depth-1以外。post_lut_num_val_minus1[c]的值将在范围0到32(包含0及32)内。

post_lut_coded_value[c][i]具有与pre_lut_coded_value[c][i]相同的语义,其中“预”由“后”替代,除用以表示post_lut_coded_value[c][i]的位的数目为((color_remap_output_bit_depth+7)>>3)<<3以外。

post_lut_target_value[c][i]具有与pre_lut_target_value[c][i]相同的语义,其中“预”由“后”替代。

图5为说明使用本文中所描述的技术中的一或多者处理视频数据的过程500的实例的流程图。在框502处,过程500包含获得视频位流。所述视频位流包含具有第一颜色特性的多个图片。所述第一颜色特性可包含任何颜色特性,例如颜色空间(例如,YCbCr、RGB、YUV或其它合适的颜色空间)、动态范围(例如,HDR、SDR或其它颜色范围)、转移函数(例如,伽玛转移函数、PQ转移函数或其它合适的转移函数)、其任何组合或可横跨不同视频内容而变化的任何其它颜色特性。

在框504处,过程500包含从视频位流识别颜色重新映射信息(CRI)的补充增强信息(SEI)消息。基于条件而限制CRI SEI消息的至少一个语法元素的一或多个值。举例来说,CRI SEI消息可包含限制,以使得基于条件而限制CRI SEI消息的语法元素的值。所述条件可包含用于限制某些语法元素的任何合适条件。举例来说,所述条件可包含多个图片的色度格式、识别CRI SEI消息的颜色重新映射模型的目的的颜色重新映射值(例如,color_remap_id值),或任何其它合适条件。

在框506处,过程500包含使用CRI SEI消息的颜色重新映射模型将多个图片的一或多个样本从第一颜色特性重新映射到第二颜色特性。第二颜色特性可包含由颜色重新映射模型定义的任何颜色特性。举例来说,第二颜色特性可为颜色空间(例如,YCbCr、RGB、YUV或其它合适的颜色空间)、动态范围(例如,HDR、SDR或其它颜色范围)、转移函数(例如,伽玛转移函数、PQ转移函数或其它合适的转移函数)、其任何组合或可横跨不同视频内容而变化的任何其它颜色特性。

在一些实例中,过程500进一步包含确定多个图片的色度格式,在此状况下,所述条件为所述多个图片的所述色度格式。在此些实例中,基于所述多个图片的所述色度格式而限制CRI SEI消息的至少一个语法元素的一或多个值。

在一些实例中,过程500进一步包含确定识别CRI SEI消息的颜色重新映射模型的目的的颜色重新映射值。在此些实例中,所述条件为所述颜色重新映射值,且基于所述颜色重新映射值而限制CRI SEI消息的至少一个语法元素的一或多个值。

在一些实例中,所述条件可包含色度格式及颜色重新映射值两者。举例来说,过程500可进一步包含确定多个图片的色度格式及确定识别CRI SEI消息的颜色重新映射模型的目的的颜色重新映射值。在此些实例中,所述条件为所述多个图片的所述色度格式以及所述颜色重新映射值,且基于所述多个图片的所述色度格式及基于所述颜色重新映射值而限制CRI SEI消息的至少一个语法元素的一或多个值。

在一些实施方案中,CRI SEI消息的颜色重新映射模型包含预查找表、颜色重新映射矩阵及后查找表。在一些实例中,至少一个语法元素(对于所述至少一个语法元素,限制一或多个值)可包含用于预查找表的语法元素、用于颜色重新映射矩阵的语法元素、用于后查找表的语法元素或此些语法元素中的两者或全部。

举例来说,在一些状况下,CRI SEI消息的至少一个语法元素包含指示颜色重新映射矩阵是否存在的颜色重新映射矩阵存在标记。在此实例中,过程500包含基于条件而确定颜色重新映射矩阵存在标记被限制为等于指示颜色重新映射矩阵不存在的值。在条件为色度格式的实例中,如果多个图片的色度格式包含指示颜色重新映射矩阵不应被应用的格式,那么可确定颜色重新映射矩阵存在标记被限制为等于所述值。在一个说明性实例中,所述条件为多个图片的色度格式,且在确定色度格式为4:2:2色度格式、4:2:0色度格式或4:0:0色度格式时确定颜色重新映射矩阵存在标记被限制为等于所述值。在条件为颜色重新映射值的实例中,当颜色重新映射值指示颜色重新映射模型将用于颜色重新映射矩阵不应被应用的目的(例如,color_remap_ID可指示预LUT映射将直接应用于(例如)4:2:0域而非4:4:4域,这是因为所述应用将需要较少映射操作)时,可确定颜色重新映射矩阵存在标记被限制为等于所述值。

过程500可进一步包含在颜色重新映射矩阵存在标记被限制为等于所述值时,将颜色重新映射模型应用于一或多个样本而不应用颜色重新映射矩阵。在一些实例中,过程500进一步包含在颜色重新映射矩阵存在标记被限制为等于所述值时推断颜色重新映射矩阵等于恒等矩阵。在一些状况下,将颜色重新映射模型应用于一或多个样本包含应用恒等矩阵。

在另一实例中,CRI SEI消息的至少一个语法元素包含指示后查找表的输入值及输出值之后查找表编号语法元素。在此实例中,过程500包含基于条件而确定后查找表编号语法元素被限制为等于指示输入值及输出值等于0的值。举例来说,图片的色度格式可指示不需要后查找表来重新映射一或多个样本。在另一实例中,颜色重新映射模型的目的(如由颜色重新映射值所指示)可为不需要后查找表的目的。

过程500可进一步包含在后查找表编号语法元素被限制为等于所述值时,将颜色重新映射模型应用于一或多个样本而不应用后查找表。在一些实例中,过程500进一步包含在后查找表编号语法元素被限制为等于所述值时推断后查找表为恒等映射。在一些状况下,将颜色重新映射模型应用于一或多个样本包含执行恒等映射。

在另一实例中,CRI SEI消息的至少一个语法元素包含指示预查找表的输入值及输出值的预查找表编号语法元素。在此实例中,过程500包含基于条件而确定预查找表编号语法元素被限制为等于指示输入值及输出值等于0的值。举例来说,图片的色度格式可指示不需要预查找表来重新映射一或多个样本。在另一实例中,颜色重新映射模型的目的(如由颜色重新映射值所指示)可为不需要预查找表的目的。

过程500可进一步包含在预查找表编号语法元素被限制为等于所述值时,将颜色重新映射模型应用于一或多个样本而不应用预查找表。在一些实例中,过程500进一步包含在预查找表编号语法元素被限制为等于所述值时推断预查找表为恒等映射。在一些状况下,将颜色重新映射模型应用于一或多个样本包含执行恒等映射。

图6为说明使用本文中所描述的技术中的一或多者编码视频数据的过程600的实例的流程图。在602处,过程600包含在编码器处获得视频数据。

在604处,过程600包含将基于视频数据的多个图片编码到视频位流中。所述多个图片具有第一颜色特性。所述第一颜色特性可包含任何颜色特性,例如颜色空间(例如,YCbCr、RGB、YUV或其它合适的颜色空间)、动态范围(例如,HDR、SDR或其它颜色范围)、转移函数(例如,伽玛转移函数、PQ转移函数或其它合适的转移函数)、其任何组合或可横跨不同视频内容而变化的任何其它颜色特性。

在606处,过程600包含将颜色重新映射信息(CRI)的补充增强信息(SEI)消息编码到视频位流中。所述CRI SEI消息包含用于将多个图片的一或多个样本从第一颜色特性重新映射到第二颜色特性的颜色重新映射模型。第二颜色特性可包含由颜色重新映射模型定义的任何颜色特性。举例来说,第二颜色特性可为颜色空间(例如,YCbCr、RGB、YUV或其它合适的颜色空间)、动态范围(例如,HDR、SDR或其它颜色范围)、转移函数(例如,伽玛转移函数、PQ转移函数或其它合适的转移函数)、其任何组合或可横跨不同视频内容而变化的任何其它颜色特性。

基于条件而限制CRI SEI消息的至少一个语法元素的一或多个值。举例来说,CRI SEI消息可包含限制以使得基于条件而限制CRI SEI消息的语法元素的值。所述条件可由编码器添加,且在一些状况下可经编码到视频位流中。所述条件可包含用于限制某些语法元素的任何合适条件。举例来说,所述条件可包含多个图片的色度格式、识别CRI SEI消息的颜色重新映射模型的目的的颜色重新映射值(例如,color_remap_id值),或任何其它合适条件。

在一些实例中,所述条件为多个图片的色度格式。在此些实例中,基于所述多个图片的所述色度格式而限制CRI SEI消息的至少一个语法元素的一或多个值。

在一些实例中,所述条件为识别CRI SEI消息的颜色重新映射模型的目的的颜色重新映射值,在此状况下,基于颜色重新映射值而限制CRI SEI消息的至少一个语法元素的一或多个值。

在一些实例中,所述条件为多个图片的色度格式及识别CRI SEI消息的颜色重新映射模型的目的的颜色重新映射值。在此些实例中,基于所述多个图片的所述色度格式及基于所述颜色重新映射值而限制CRI SEI消息的至少一个语法元素的一或多个值。

在一些实施方案中,CRI SEI消息的颜色重新映射模型包含预查找表、颜色重新映射矩阵及后查找表。在一些实例中,至少一个语法元素(对于所述至少一个语法元素,限制一或多个值)可包含用于预查找表的语法元素、用于颜色重新映射矩阵的语法元素、用于后查找表的语法元素或此些语法元素中的两者或全部。

举例来说,在一些状况下,CRI SEI消息的至少一个语法元素包含指示颜色重新映射矩阵是否存在的颜色重新映射矩阵存在标记。在此实例中,颜色重新映射矩阵存在标记基于条件而被限制为等于值,且颜色重新映射矩阵存在标记的所述值指示颜色重新映射矩阵不存在。在条件为色度格式的实例中,对于颜色重新映射矩阵不应被应用的色度格式,颜色重新映射矩阵存在标记可被限制为等于所述值。在一个说明性实例中,所述条件为多个图片的色度格式,且在确定色度格式为4:2:2色度格式、4:2:0色度格式或4:0:0色度格式时颜色重新映射矩阵存在标记被限制为等于所述值。在条件为颜色重新映射值的实例中,对于应用于并不或无法应用颜色重新映射矩阵的目的的颜色重新映射值(例如,color_remap_ID可指示预LUT映射将直接应用于(例如)4:2:0域而非4:4:4域,这是因为所述应用将需要较少映射操作),颜色重新映射矩阵存在标记可被限制为等于所述值。

在一些实例中,在颜色重新映射矩阵存在标记被限制为等于所述值时推断颜色重新映射矩阵等于恒等矩阵。在此实例中,客户端侧装置可通过应用恒等矩阵来将颜色重新映射模型应用于一或多个样本。

在另一实例中,CRI SEI消息的至少一个语法元素包含指示后查找表的输入值及输出值之后查找表编号语法元素。在此实例中,后查找表编号语法元素基于条件而被限制为等于值,后查找表编号语法元素的所述值指示输入值及输出值等于0。举例来说,对于无需或无法使用后查找表用于重新映射一或多个样本的色度格式,可应用对后查找表编号语法元素的所述限制。在另一实例中,对于不需要或无法使用后查找表的颜色重新映射模型的某些目的(如由颜色重新映射值所指示),可应用对后查找表编号语法元素的限制。

在一些实例中,在后查找表编号语法元素被限制为等于所述值时推断后查找表为恒等映射。在此实例中,客户端侧装置可通过应用恒等映射来将颜色重新映射模型应用于一或多个样本。

在另一实例中,CRI SEI消息的至少一个语法元素包含指示预查找表的输入值及输出值的预查找表编号语法元素。在此实例中,预查找表编号语法元素基于条件而被限制为等于值,预查找表编号语法元素的所述值指示输入值及输出值等于0。举例来说,对于无需或无法使用预查找表用于重新映射一或多个样本的色度格式,可应用对预查找表编号语法元素的所述限制。在另一实例中,对于不需要或无法使用预查找表的颜色重新映射模型的某些目的(如由颜色重新映射值所指示),可应用对预查找表编号语法元素的限制。

在一些实例中,在预查找表编号语法元素被限制为等于所述值时推断预查找表为恒等映射。在此实例中,客户端侧装置可通过应用恒等映射来将颜色重新映射模型应用于一或多个样本。

在一些实例中,过程500及600可通过计算装置或设备(例如,图1中所展示的系统100)执行。举例来说,过程500可通过图1及图8中所展示的解码装置112或通过另一客户端侧装置(例如,播放器装置、显示器或任何其它客户端侧装置)执行。过程600可通过图1及图7中所展示的编码装置104执行。在一些状况下,计算装置或设备可包含处理器、微处理器、微计算机或经配置以进行过程500及600的步骤的装置的其它组件。在一些实例中,计算装置或设备可包含经配置以捕获包含视频帧的视频数据(例如,视频序列)的摄像机。在一些实例中,摄像机或捕获视频数据的其它捕获装置与计算装置分离,在此状况下,计算装置接收或获得所捕获视频数据。计算装置可进一步包含经配置以传达视频数据的网络接口。网络接口可经配置以传达基于因特网协议(IP)的数据或其它类型的数据。在一些实例中,计算装置或设备可包含用于显示输出视频内容(例如,视频位流的图片的样本)的显示器。

过程500及600经说明为逻辑流程图,所述过程的操作表示可以硬件、计算机指令或其组合实施的一连串操作。在计算机指令的情况下,操作表示存储于一或多个计算机可读存储媒体上的计算机可执行指令,所述计算机可执行指令在由一或多个处理器执行时执行所叙述的操作。通常,计算机可执行指令包含执行特定功能或实施特定数据类型的例程、程序、对象、组件、逻辑、数据结构等等。描述操作的次序并不打算被理解为限制,且任何数目个所描述操作可按任何次序及/或与实施过程并行地组合。

另外,过程500及600可在经配置有可执行指令的一或多个计算机系统的控制下执行,且可被实施为在一或多个处理器上、通过硬件或其组合共同地执行的代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)。如上文所提到,代码可存储于计算机可读或机器可读存储媒体上,例如,呈包括可由一或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可为非暂时性的。

可使用经压缩视频或使用未经压缩视频帧(在压缩之前或在压缩之后)实施本文中所论述的颜色重新映射技术。实例视频编码及解码系统包含源装置,其提供稍后待由目的地装置解码的经编码视频数据。确切地说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置及目的地装置可包括广泛范围的装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手机(例如,所谓的“智能”手机)、所谓的“智能”板、电视机、摄像机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等等。在一些状况下,源装置及目的地装置可经装备以用于无线通信。

目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括通信媒体以使得源装置能够实时地将经编码视频数据直接传输到目的地装置。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将经编码视频数据传输到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置到目的地装置的通信的任何其它装备。

在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,可由输入接口从存储装置存取经编码数据。存储装置可包含多种分散式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据传输到目的地装置的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置可经由任何标准数据连接(包含因特网连接)而存取经编码视频数据。此连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或两者的组合。来自存储装置的经编码视频数据的传输可为流式传输、下载传输或其组合。

本发明的技术不必限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视传输、卫星电视传输、因特网流式视频传输(例如,经由HTTP的动态自适应流式传输(DASH))、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播及/或可视电话的应用。

在一个实例中,源装置包含视频源、视频编码器及输出接口。目的地装置可包含输入接口、视频解码器及显示装置。源装置的视频编码器可经配置以应用本文中所公开的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部摄像机)接收视频数据。同样地,目的地装置可与外部显示装置介接,而非包含集成式显示装置。

以上实例系统仅为一个实例。用于并行地处理视频数据的技术可由任何数字视频编码及/或解码装置来执行。尽管本发明的技术一般由视频编码装置执行,但所述技术也可由视频编码器/解码器(通常被称作“CODEC”)执行。此外,本发明的技术也可由视频预处理器执行。源装置及目的地装置仅为源装置产生经译码视频数据以供传输到目的地装置的此类译码装置的实例。在一些实例中,源装置及目的地装置可以大体上对称的方式操作,使得所述装置中的每一者包含视频编码及解码组件。因此,实例系统可支持视频装置之间的单向或双向视频传输,例如,用于视频流式传输、视频播放、视频广播或可视电话。

视频源可包含视频捕获装置,例如摄像机、含有先前捕获的视频的视频存档及/或用以从视频内容提供者接收视频的视频馈入接口。作为另一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频及计算机产生的视频的组合。在一些状况下,如果视频源为摄像机,那么源装置及目的地装置可形成所谓的摄像机电话或可视电话。然而,如上文所提及,本发明所描述的技术一般可适用于视频译码,且可适用于无线及/或有线应用。在每一状况下,可由视频编码器编码所捕获、经预捕获或计算机产生的视频。经编码视频信息可接着由输出接口输出到计算机可读媒体上。

如所提到,计算机可读媒体可包含暂态媒体,例如无线广播或有线网络传输;或存储媒体(即,非暂时性存储媒体),例如硬盘、随身碟、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可从源装置接收经编码视频数据,且(例如)经由网络传输将经编码视频数据提供到目的地装置。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。

目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器定义的语法信息(其也由视频解码器使用),语法信息包含描述块及其它经译码单元(例如,图片群组(GOP))的特性及/或处理的语法元素。显示装置将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。已描述本发明的各种实施例。

编码装置104及解码装置112的特定细节分别展示于图7及图8中。图7为说明可实施本发明中所描述的技术中的一或多者的实例编码装置104的框图。编码装置104可(例如)产生本文中所描述的语法结构(例如,VPS、SPS、PPS或其它语法元素的语法结构)。编码装置104可执行视频切片内的视频块的帧内预测及帧间预测译码。如先前所描述,帧内译码至少部分地依赖于空间预测以减少或去除给定视频帧或图片内的空间冗余。帧间译码至少部分地依赖于时间预测以减少或去除视频序列的邻近或周围帧内的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。帧间模式(例如,单向预测(P模式)或双向预测(B模式))可指若干基于时间的压缩模式中的任一者。

编码装置104包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。对于视频块重构建,编码装置104还包含反量化单元58、反变换处理单元60及求和器62。滤波器单元63打算表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管滤波器单元63在图7中展示为环路内滤波器,但在其它配置中,滤波器单元63可实施为环路后滤波器。后处理装置57可对由编码装置104产生的经编码视频数据执行额外处理。在一些情况下,本发明的技术可通过编码装置104实施。然而,在其它情况下,本发明的技术中的一或多者可通过后处理装置57实施。

如图7中所展示,编码装置104接收视频数据,且分割单元35将数据分割成视频块。分割还可包含分割成切片、切片区段、图像块或其它较大单元以及(例如)根据LCU及CU的四分树结构的视频块分割。编码装置104一般说明编码待编码的视频切片内的视频块的组件。切片可划分成多个视频块(且可能划分成被称作图像块的视频块的集合)。预测处理单元41可基于错误结果(例如,译码速率及失真等级,等等)选择多个可能译码模式中的一者(例如,多个帧内预测译码模式中的一者或多个帧间预测译码模式中的一者)以用于当前视频块。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据且将其提供到求和器62以重构建经编码块以供用作参考图片。

预测处理单元41内的帧内预测处理单元46可执行当前视频块相对于与待译码的当前块在相同的帧或切片中的一或多个相邻块的帧内预测译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码,以提供时间压缩。

运动估计单元42可经配置以根据视频序列的预定图案来确定用于视频切片的帧间预测模式。预定图案可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42及运动补偿单元44可高度集成,但出于概念目的而单独说明。由运动估计单元42执行的运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。运动向量(例如)可指示当前视频帧或图片内的视频块的预测单元(PU)相对于参考图片内的预测性块的移位。

预测性块为就像素差而言被发现紧密地匹配待译码的视频块的PU的块,所述像素差可由绝对差和(SAD)、平方差和(SSD)或其它差度量确定。在一些实例中,编码装置104可计算存储于图片存储器64中的参考图片的子整数像素位置的值。举例来说,编码装置104可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动向量。

运动估计单元42通过将PU的位置与参考图片的预测性块的位置比较而计算经帧间译码切片中的视频块的PU的运动向量。参考图片可从第一参考图片列表(列表0)或第二参考图片列表(列表1)选择,所述列表中的每一者识别存储于图片存储器64中的一或多个参考图片。运动估计单元42将经计算运动向量发送到熵编码单元56及运动补偿单元44。

由运动补偿单元44执行的运动补偿可涉及基于通过运动估计确定的运动向量提取或产生预测性块,可能执行内插达子像素精确度。在接收到当前视频块的PU的运动向量之后,运动补偿单元44可在参考图片列表中定位运动向量所指向的预测性块。编码装置104通过从正经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于块的残余数据,且可包含明度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素,以供解码装置112用于解码视频切片的视频块。

如上文所描述,作为由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可对当前块进行帧内预测。特定来说,帧内预测处理单元46可确定帧内预测模式以用以编码当前块。在一些实例中,帧内预测处理单元46可(例如)在单独的编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测单元处理46可从所测试模式中选择适当帧内预测模式来使用。举例来说,帧内预测处理单元46可使用对各种所测试帧内预测模式的速率-失真分析来计算速率-失真值,且可在所测试模式当中选择具有最好速率-失真特性的帧内预测模式。速率-失真分析大体上确定经编码块与原始未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测处理单元46可从各种经编码块的失真及速率计算比率以确定哪一帧内预测模式展现块的最好速率-失真值。

在任何状况下,在选择用于块的帧内预测模式之后,帧内预测处理单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。编码装置104可将各种块的编码上下文的定义以及待用于上下文中的每一者的最可能的帧内预测模式、帧内预测模式索引表及经修改帧内预测模式索引表的指示包含于经传输位流配置数据中。位流配置数据可包含多个帧内预测模式索引表及多个经修改帧内预测模式索引表(也被称作码字映射表)。

在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,编码装置104通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中且被应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似变换的变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域(例如,频域)。

变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位速率。所述量化程序可减小与所述系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。

在量化之后,熵编码单元56熵编码经量化变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码技术。在由熵编码单元56进行熵编码之后,可将经编码位流传输到解码装置112,或加以存档以供稍后由解码装置112传输或检索。熵编码单元56还可熵编码正经译码的当前视频切片的运动向量及其它语法元素。

反量化单元58及反变换处理单元60分别应用反量化及反变换以重构建像素域中的残余块,以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块加到参考图片列表内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用到经重构建残余块,以计算子整数像素值以用于运动估计中。求和器62将经重构建残余块加到由运动补偿单元44所产生的运动补偿预测块以产生用于存储于图片存储器64中的参考块。参考块可由运动估计单元42及运动补偿单元44用作参考块以帧间预测后续视频帧或图片中的块。

以此方式,图7的编码装置104表示经配置以产生经编码视频位流的语法的视频编码器的实例。如上文所描述,编码装置104可(例如)产生用于CRI SEI消息的语法。编码装置104可执行本文中所描述的技术中的任一者,包含上文关于图6描述的过程。本发明的技术已大体上关于编码装置104加以描述,但如上文所提及,本发明的技术中的一些也可通过后处理装置57实施。

图8为说明实例解码装置112的框图。解码装置112包含熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、求和器90、滤波器单元91及图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,解码装置112可执行大体上与关于来自图7的编码装置104描述的编码遍次互逆的解码遍次。解码装置112可执行本文中所描述的技术中的任一者,包含上文关于图5描述的过程。

在解码过程期间,解码装置112接收由编码装置104发送的表示经编码视频切片的视频块及相关联的语法元素的经编码视频位流。在一些实施例中,解码装置112可从编码装置104接收经编码视频位流。在一些实施例中,解码装置112可从例如以下各者的网络实体79接收经编码视频位流:服务器、媒体感知网络元件(MANE)、视频编辑器/剪接器或经配置以实施上文所描述的技术中的一或多者的其它此类装置。网络实体79可或可不包含编码装置104。本发明中所描述的技术中的一些可在网络实体79将经编码视频位流传输到解码装置112之前由网络实体79实施。在一些视频解码系统中,网络实体79及解码装置112可为单独装置的部分,而在其它情况下,关于网络实体79所描述的功能性可由包括解码装置112的相同装置执行。

解码装置112的熵解码单元80熵解码位流以产生经量化系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转递到预测处理单元81。解码装置112可接收视频切片层级及/或视频块层级的语法元素。熵解码单元80可处理及解析一或多个参数集(例如,VPS、SPS及PPS)中的固定长度语法元素及可变长度语法元素两者。

当视频切片被译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于经信号发送帧内预测模式及来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素而产生当前视频片段的视频块的预测性块。预测性块可从参考图片列表内的参考图片中的一者产生。解码装置112可基于存储于图片存储器92中的参考图片使用默认构建技术来构建参考帧列表(列表0及列表1)。

运动补偿单元82通过解析运动向量及其它语法元素来确定当前视频切片的视频块的预测信息,且使用所述预测信息产生正经解码的当前视频块的预测性块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素来确定用以译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的一或多个参考图片列表的构建信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态及用以解码当前视频切片中的视频块的其它信息。

运动补偿单元82还可执行基于内插滤波器的内插。运动补偿单元82可使用如在编码视频块期间由编码装置104使用的内插滤波器来计算参考块的子整数像素的内插值。在此状况下,运动补偿单元82可从所接收语法元素确定由编码装置104使用的内插滤波器,且可使用内插滤波器来产生预测性块。

反量化单元86反量化(或解量化)位流中所提供且由熵解码单元80解码的经量化变换系数。反量化过程可包含使用由编码装置104针对视频切片中的每一视频块计算的量化参数以确定应应用的量化程度及(同样地)反量化程度。反变换处理单元88将反变换(例如,反DCT或其它合适的反变换)、反整数变换或概念上类似的反变换过程应用于变换系数以便在像素域中产生残余块。

在运动补偿单元82基于运动向量及其它语法元素而产生当前视频块的预测性块之后,解码装置112通过将来自反变换处理单元88的残余块与由运动补偿单元82产生的对应预测性块求和而形成经解码视频块。求和器90表示执行此求和运算的一或多个组件。如果需要,那么也可使用环路滤波器(在译码环路中或在译码环路后)以使像素转变平滑,或以其它方式改进视频质量。滤波器单元91打算表示一或多个环路滤波器(例如,解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器)。尽管滤波器单元91在图8中展示为环路内滤波器,但在其它配置中,滤波器单元91可实施为环路后滤波器。给定帧或图片中的经解码视频块接着存储于图片存储器92中,所述图片存储器存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后呈现于显示装置(例如,图1中所展示的视频目的地装置122)上。

在前述描述中,参考申请的特定实施例描述申请的方面,但所属领域的技术人员将认识到本发明不限于此。因此,尽管申请的说明性实施例已在本文中经详细地描述,但应理解,本发明概念可以其它方式不同地体现及使用,且所附权利要求书打算解释为包含除现有技术所限制外的此些变化。上文所描述的发明的各种特征及方面可单独地或联合地使用。另外,实施例可在不脱离本说明书的更广泛精神及范围的情况下用于超出本文中所描述的那些环境及应用的任何数目个环境及应用。因此,本说明书及图式被视为说明性而非限定性。出于说明的目的,以特定次序描述方法。应了解,在替代实施例中,可以与所描述次序不同的次序来执行所述方法。

在组件被描述为“经配置以”执行某些操作的情况下,可(例如)通过设计电子电路或其它硬件以执行操作、通过编程可编程电子电路(例如,微处理器或其它合适的电子电路)以执行操作或其任何组合来实现此些配置。

结合本文中所公开的实施例而描述的各种说明性逻辑块、模块、电路及算法步骤可被实施为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件与软件的此可互换性,各种说明性组件、块、模块、电路及步骤已在上文大体按其功能性加以描述。此功能性被实施为硬件还是软件取决于特定应用及强加于整个系统上的设计约束。所属领域的技术人员可针对每一特定应用以变化方式实施所描述功能性,但此些实施决策不应被解译为导致脱离本发明的范围。

本文中所描述的技术还可实施于电子硬件、计算机软件、固件或其任何组合中。此些技术可实施于多种装置中的任一者中,例如通用计算机、无线通信装置手机或具有多种用途(包含在无线通信装置手机及其它装置中的应用)的集成电路装置。可将描述为模块或组件的任何特征一起实施于集成式逻辑装置中或单独地实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述技术可至少部分由包括程序代码的计算机可读数据存储媒体实现,所述程序代码包含在经执行时执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的部分,计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存器、磁性或光学数据存储媒体等等。所述技术另外或替代地可至少部分由计算机可读通信媒体实现,所述计算机可读通信媒体携载或传达呈指令或数据结构的形式且可由计算机存取、读取及/或执行的程序代码,例如传播的信号或波。

程序代码可由可包含一或多个处理器的处理器执行,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一者、前述结构的任何组合或适合于实施本文中所描述的技术的任何其它结构或设备。此外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用软件模块或硬件模块内,或并入于组合的视频编码器-解码器(CODEC)中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1