用于在参数集中用信号表示假想参考解码器参数的系统和方法与流程

文档序号:11142990阅读:231来源:国知局
用于在参数集中用信号表示假想参考解码器参数的系统和方法与制造工艺

本发明大体上涉及视频译码,且更具体来说涉及用于在参数集中用信号表示假想参考解码器参数的技术和系统。



背景技术:

许多装置和系统允许处理和输出视频数据以用于消耗。数字视频数据包含大量数据以满足消费者和视频供应商的需求。举例来说,视频数据的消费者希望视频具有最佳的质量以及高保真度、分辨率、帧率等等。因此,需要满足这些需求的大量视频数据给处理和存储视频数据的通信网络和装置造成了负担。

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



技术实现要素:

在一些实施例中,描述用于在参数集中用信号表示层集合的信息的技术和系统。层集合包含位流的自含式的层的集合以使得给定层集合中的层可形成表示视频内容的独立位流。所述参数集可包含视频参数集。所述参数集可具备经编码视频位流且可界定所述经编码视频位流的参数。一或多个层集合可界定于所述参数集的基础部分中,且未界定于所述基础部分中的一或多个额外层集合可界定于所述参数集的扩展部分中。所述参数集的基础部分可界定于视频译码标准的初始版本(例如,高效视频译码标准的第一版本或其它译码标准)中,且所述参数集的扩展部分可界定于所述视频译码标准的稍后版本中。所述参数集的基础和扩展部分可包含描述一或多个层集合(包含所述额外层集合)的特性的信令信息。举例来说,所述信令信息可描述所述一或多个层集合(包含额外层集合)的速率信息(例如,位速率信息、图片速率信息或其它速率信息)。在另一实例中,所述信令信息可包含指示层集合中的层是否为输出层集合的目标输出层的信息。本文中描述了用于用信号表示界定于参数集的基础和扩展部分中的所有层集合的此信息的实施例。

根据用于在层集合的参数集中用信号表示信息的至少一个实例,提供对视频数据进行编码的方法,其包含产生具有一或多个层集合和一或多个额外层集合的经编码视频位流。层集合和额外层集合中的每一者包含一或多个层,且所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述一或多个层集合界定于所述视频参数集的基础部分中,且所述一或多个额外层集合界定于所述视频参数集的扩展部分中。所述方法进一步包含在所述视频参数集中提供用于用信号表示与所述一或多个层集合和所述一或多个额外层集合相关的信息的一或多个语法元素。所述信息包含视频参数集的基础部分中界定的所述一或多个层集合以及视频参数集的扩展部分中界定的所述一或多个额外层集合的速率信息。

在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。所述处理器经配置以且可从所述视频数据产生包括一或多个层集合和一或多个额外层集合的经编码视频位流。层集合和额外层集合中的每一者包含一或多个层,且所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述一或多个层集合界定于所述视频参数集的基础部分中,且所述一或多个额外层集合界定于所述视频参数集的扩展部分中。所述处理器进一步经配置以且可在所述视频参数集中提供用于用信号表示与所述一或多个层集合和所述一或多个额外层集合相关的一或多个语法元素。所述信息包含视频参数集的基础部分中界定的所述一或多个层集合以及视频参数集的扩展部分中界定的所述一或多个额外层集合的速率信息。

在另一实例中,提供计算机可读媒体,其上存储有指令,所述指令在由处理器执行时执行方法,所述方法包含:产生包括一或多个层集合和一或多个额外层集合的经编码视频位流,其中层集合和额外层集合中的每一者包含一或多个层,所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集,其中所述一或多个层集合界定于所述视频参数集的基础部分中,且其中所述一或多个额外层集合界定于所述视频参数集的扩展部分中;以及在所述视频参数集中提供用于用信号表示与所述一或多个层集合和所述一或多个额外层集合相关的信息的一或多个语法元素,所述信息包含界定于所述视频参数集的基础部分中的所述一或多个层集合以及界定于所述视频参数集的扩展部分中的所述一或多个额外层集合的速率信息。

在另一实例中,提供一种设备,其包含用于产生包括一或多个层集合和一或多个额外层集合的经编码视频位流的装置。层集合和额外层集合中的每一者包含一或多个层,且所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述一或多个层集合界定于所述视频参数集的基础部分中,且所述一或多个额外层集合界定于所述视频参数集的扩展部分中。所述设备进一步包含用于在所述视频参数集中提供用于用信号表示与所述一或多个层集合和所述一或多个额外层集合相关的信息的一或多个语法元素的装置。所述信息包含视频参数集的基础部分中界定的所述一或多个层集合以及视频参数集的扩展部分中界定的所述一或多个额外层集合的速率信息。

在参数集中用信号表示层集合的信息的另一实例中,提供对视频数据进行解码的方法,其包含获得包括一或多个层集合和一或多个额外层集合的经编码视频位流。层集合和额外层集合中的每一者包含一或多个层,且所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述一或多个层集合界定于所述视频参数集的基础部分中,且所述一或多个额外层集合界定于所述视频参数集的扩展部分中。所述方法进一步包含对来自所述视频参数集的一或多个语法元素进行解码。所述一或多个语法元素包含界定于所述视频参数集的所述基础部分中的所述一或多个层集合以及界定于所述视频参数集的所述扩展部分中的所述一或多个额外层集合的速率信息。

在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。所述处理器经配置以且可获得包括一或多个层集合和一或多个额外层集合的经编码视频位流。层集合和额外层集合中的每一者包含一或多个层,且所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述一或多个层集合界定于所述视频参数集的基础部分中,且所述一或多个额外层集合界定于所述视频参数集的扩展部分中。所述处理器进一步经配置以且可对来自视频参数集的一或多个语法元素进行解码。所述一或多个语法元素包含界定于所述视频参数集的所述基础部分中的所述一或多个层集合以及界定于所述视频参数集的所述扩展部分中的所述一或多个额外层集合的速率信息。

在另一实例中,提供一种计算机可读媒体,其上存储有指令,所述指令在由处理器执行时执行方法,所述方法包含:获得包括一或多个层集合和一或多个额外层集合的经编码视频位流,其中层集合和额外层集合中的每一者包含一或多个层,所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集,其中所述一或多个层集合界定于所述视频参数集的基础部分中,且其中所述一或多个额外层集合界定于所述视频参数集的扩展部分中;以及对来自所述视频参数集的一或多个语法元素进行解码,所述一或多个语法元素包含界定于所述视频参数集的所述基础部分中的所述一或多个层集合以及界定于所述视频参数集的所述扩展部分中的所述一或多个额外层集合的速率信息。

在另一实例中,提供一种设备,其包含用于获得包括一或多个层集合和一或多个额外层集合的经编码视频位流的装置。层集合和额外层集合中的每一者包含一或多个层,且所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述一或多个层集合界定于所述视频参数集的基础部分中,且所述一或多个额外层集合界定于所述视频参数集的扩展部分中。所述设备进一步包含用于来自所述视频参数集的一或多个语法元素的装置。所述一或多个语法元素包含界定于所述视频参数集的所述基础部分中的所述一或多个层集合以及界定于所述视频参数集的所述扩展部分中的所述一或多个额外层集合的速率信息。

在一些方面中,针对所述一或多个层集合和所述一或多个额外层集合中的每一不同层集合用信号表示不同速率信息。在一些方面中,所述速率信息包含位速率信息。在一些方面中,所述速率信息包含图片速率信息。

在一些方面中,所述视频参数集中的所述一或多个语法元素包含旗标,所述旗标指示位速率信息是否可用于额外层集合。在一些方面中,所述视频参数集中的所述一或多个语法元素包含旗标,所述旗标指示图片速率信息是否可用于额外层集合。在一些方面中,所述视频参数集中的所述一或多个语法元素包含语法元素,所述语法元素指示额外层集合的平均位速率。在一些实例中,所述视频参数集中的所述一或多个语法元素包含语法元素,所述语法元素指示额外层集合的最大位速率。

在一些方面中,所述视频参数集中的所述一或多个语法元素包含语法元素,所述语法元素指示额外层集合是否具有恒定图片速率。在一些方面中,所述视频参数集中的所述一或多个语法元素包含语法元素,所述语法元素指示额外层集合的平均图片速率。在一些方面中,所述视频参数集中的所述一或多个语法元素包含旗标,所述旗标指示额外层集合中的层是否为输出层集合的目标输出层。

在一些实施例中,描述用于仅在某些条件中在参数集中用信号表示假想参考解码器(HRD)参数的技术和系统。在一些实例中,假想参考解码器参数的集合可提供于参数集中且用以检查位流或子位流可恰当地经解码。举例来说,所述假想参考解码器参数可在视频参数集(VPS)的视频可用性信息(VUI)部分或VPS VUI中用信号表示。VPS VUI中的假想参考解码器参数的信令可通过选通旗标来控制。举例来说,当所述选通旗标值在一些实例中设定成0或在其它实例中设定成1时可不在VPS VUI中用信号表示假想参考解码器参数。本文中描述了用于当VPS或VPS VUI中用信号表示某些信息时用信号表示VPS VUI中的假想参考解码器参数的实施例。举例来说,当定时信息也在VPS或VPS VUI中用信号表示时可在VPS VUI中用信号表示假想参考解码器参数。类似地,当没有定时信息在VPS或VPS VUI中用信号表示时可不在VPS VUI中用信号表示假想参考解码器参数。在一些方面中,编码器(或其它装置,例如编辑器、拼接器或类似物)可将选通旗标的值调节为取决于指示VPS或VPS VUI中是否存在定时信息的语法元素的值。举例来说,当所述语法元素设定成指示不存在定时信息的值(例如,0或1)时,可不用信号表示所述选通旗标且因此推断为指示将不用信号表示假想参考解码器参数的某一值。在另一实例中当所述语法元素设定成指示不存在定时信息的值时,可用信号表示所述选通旗标,其中旗标设定成所述特定值。

根据在参数集中用信号表示假想参考解码器参数的至少一个实例,提供对视频数据进行编码的方法,其包含产生包括多个层的经编码视频位流。所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述视频参数集包含视频可用性信息。所述方法进一步包含确定是否在视频参数集的视频可用性信息中用信号表示定时信息。所述方法进一步包含基于定时信息是否在视频可用性信息中用信号表示而确定是否在视频参数集的视频可用性信息中用信号表示假想参考解码器参数。

在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。所述处理器经配置以且可从视频数据产生包括多个层的经编码视频位流。所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述视频参数集包含视频可用性信息。所述处理器进一步经配置以且可确定定时信息是否在视频参数集的视频可用性信息中用信号表示。所述处理器进一步经配置以且可基于定时信息是否在视频可用性信息中用信号表示而确定是否在视频参数集的视频可用性信息中用信号表示假想参考解码器参数。

在另一实例中,提供一种计算机可读媒体,其上存储有指令,所述指令在由处理器执行时执行方法,所述方法包含:产生包括多个层的经编码视频位流,所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集,其中所述视频参数集包含视频可用性信息;确定定时信息是否在所述视频参数集的视频可用性信息中用信号表示;以及基于定时信息是否在所述视频可用性信息中用信号表示而确定是否在所述视频参数集的视频可用性信息中用信号表示假想参考解码器参数。

在另一实例中,提供一种设备,其包含用于产生包括多个层的经编码视频位流的装置。所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述视频参数集包含视频可用性信息。所述设备进一步包含用于确定是否在视频参数集的视频可用性信息中用信号表示定时信息的装置。所述设备进一步包含用于基于定时信息是否在视频可用性信息中用信号表示而确定是否在所述视频参数集的视频可用性信息中用信号表示假想参考解码器参数的装置。

上文对于在参数集中用信号表示假想参考解码器参数所述的方法、设备和计算机可读媒体可进一步包含当定时信息在视频可用性信息中用信号表示时在所述视频可用性信息中用信号表示假想参考解码器参数。上文对于在参数集中用信号表示假想参考解码器参数所述的方法、设备和计算机可读媒体可进一步包含当定时信息未在视频可用性信息中用信号表示时不在所述视频可用性信息中用信号表示假想参考解码器参数。

在一些方面中,确定定时信息是否在视频参数集的视频可用性信息中用信号表示包含确定所述视频可用性信息中的第一旗标的值,所述第一旗标指示定时信息是否在视频可用性信息中用信号表示。

上文对于在参数集中用信号表示假想参考解码器参数所述的方法、设备和计算机可读媒体可进一步包含基于所述第一旗标的值确定所述视频可用性信息中的第二旗标的值,所述第二旗标界定是否在视频可用性信息中用信号表示假想参考解码器参数。

上文对于在参数集中用信号表示假想参考解码器参数所述的方法、设备和计算机可读媒体可进一步包含在所述视频可用性信息中提供用于用信号表示与经编码视频位流相关的信息的一或多个语法元素,所述信息包含所述第二旗标的值取决于所述第一旗标的值的条件。

上文对于在参数集中用信号表示假想参考解码器参数所述的方法、设备和计算机可读媒体可进一步包含在所述视频可用性信息中提供用于用信号表示与经编码视频位流相关的信息的一或多个语法元素,所述信息包含当所述第一旗标的值等于零时将所述第二旗标的值设定成零的约束。

在一些方面中,所述方法可在无线通信装置上执行。所述无线通信装置包括经配置以存储视频数据的存储器,以及经配置以执行指令以处理存储于存储器中的视频数据的处理器。所述无线通信装置进一步包括发射器,其经配置以发射包含视频参数集的经编码视频位流。在一些方面中,所述无线通信装置是蜂窝式电话且所述经编码视频位流是根据蜂窝式通信标准而经调制。

在一些方面中,所述设备是无线通信装置。所述无线通信装置包括发射器,其经配置以发射包含视频参数集的经编码视频位流。在一些方面中,所述无线通信装置是蜂窝式电话且所述经编码视频位流是根据蜂窝式通信标准而经调制。

在一些实施例中,描述用于在参数集中选择性地用信号表示不同数目的视频信号信息语法结构的技术和系统。在一些实例中,根据第一译码协议对视频数据进行编码的编码器可产生经编码视频位流。所述编码器可将经编码视频位流提供到接收装置中的解码器。用于视频数据的基础层可由除使用第一译码协议的编码器之外的外部源提供到解码器(或同一接收装置中的另一解码器)。举例来说,所述基础层可根据不同于第一译码协议的第二译码协议而经编码。在此实例中,使用第二译码协议对视频数据进行编码的编码器可将基础层提供到接收装置。针对多层经编码视频位流的每一层用信号表示视频信号信息语法结构,其中针对每一层用信号表示单独的视频信号信息语法结构。在一些情况下,不用信号表示参数集(例如,视频参数集)中将包含的视频信号信息语法结构的数目。在此些情况下,视频信号信息语法结构的数目可推断为等于经编码视频位流中的层的数目。本文中描述了用于基于基础层是包含在经编码视频位流中还是将从外部源提供到接收装置而确定参数集中将用信号表示的视频信号信息语法结构的数目的实施例。

根据在参数集中选择性地用信号表示不同数目的视频信号信息语法结构的至少一个实例,提供对视频数据进行编码的方法,其包含根据第一译码协议产生经编码视频位流。经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集。所述方法进一步包含确定指示所述经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于视频参数集中。所述方法进一步包含当指示经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于视频参数集中时确定视频参数集中将包含的视频信号信息语法结构的数目。基于基础层是包含在经编码视频位流中还是将从外部源提供到解码器而将所述数目确定为第一值或第二值。

在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。所述处理器经配置以且可从所述视频数据根据第一译码协议产生经编码视频位流。经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集。所述处理器进一步经配置以且可确定指示经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于视频参数集中。所述处理器进一步经配置以且可当指示经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于视频参数集中时确定视频参数集中将包含的视频信号信息语法结构的数目。基于基础层是包含在经编码视频位流中还是将从外部源提供到解码器而将所述数目确定为第一值或第二值。

在另一实例中,提供一种计算机可读媒体,其上存储有指令,所述指令在由处理器执行时执行方法,所述方法包含:根据第一译码协议产生经编码视频位流,所述经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集;确定指示所述经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于所述视频参数集中;以及当指示所述经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于视频参数集中时确定所述视频参数集中将包含的视频信号信息语法结构的数目,其中基于基础层是包含在所述经编码视频位流中还是将从外部源提供到解码器而将所述数目确定为第一值或第二值。

在另一实例中,提供一种设备,其包含用于根据第一译码协议产生经编码视频位流的装置。经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集。所述设备进一步包含用于确定指示所述经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于视频参数集中的装置。所述设备进一步包含用于当指示经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于视频参数集中时确定视频参数集中将包含的视频信号信息语法结构的数目的装置。基于基础层是包含在经编码视频位流中还是将从外部源提供到解码器而将所述数目确定为第一值或第二值。

在一些方面中,当确定基础层包含在经编码视频位流中时将视频参数集中将包含的视频信号信息语法结构的数目确定为所述第一值,其中所述第一值等于经编码视频位流的层的最大数目。

在一些方面中,当确定基础层将从外部源提供到解码器时将视频参数集中将包含的视频信号信息语法结构的数目确定为所述第二值,其中所述第二值等于经编码视频位流的层的最大数目减去一。

在一些方面中,将视频信号信息语法结构指派给经编码视频位流中包含的层中的每一者,且不将视频信号信息语法结构指派给将从外部源提供到解码器的基础层。

在一些方面中,从外部源提供的基础层是根据第二译码协议而经编码,所述第二译码协议不同于所述第一译码协议。在一些实例中,所述第一译码协议包含高效视频译码协议,且所述第二译码协议包含高级视频译码协议。

在参数集中选择性地用信号表示不同数目的视频信号信息语法结构的另一实例中,提供对视频数据进行解码的方法,其包含存取根据第一译码协议经编码的经编码视频位流。经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集。所述方法进一步包含确定指示所述经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于视频参数集中。所述方法进一步包含确定基础层是包含在经编码视频位流中还是将从外部源接收。所述方法进一步包含基于基础层是包含在经编码视频位流中还是将从外部源接收而将视频参数集中包含的视频信号信息语法结构的数目确定为第一值或第二值。

在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。所述处理器经配置以且可存取根据第一译码协议编码的经编码视频位流。经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集。所述处理器进一步经配置以且可确定指示经编码视频位流中提供的视频信号信息语法结构的数目的语法结构不存在于视频参数集中。所述处理器进一步经配置以且可确定基础层是包含在经编码视频位流中还是将从外部源接收。所述处理器进一步经配置以且可基于基础层是包含在经编码视频位流中还是将从外部源接收而将视频参数集中包含的视频信号信息语法结构的数目确定为第一值或第二值。

在另一实例中,提供一种计算机可读媒体,其上存储有指令,所述指令在由处理器执行时执行方法,所述方法包含:存取根据第一译码协议编码的经编码视频位流,所述经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集;确定所述视频参数集中不存在指示所述经编码视频位流中提供的视频信号信息语法结构的数目的语法结构;确定基础层是包含在所述经编码视频位流中还是将从外部源接收;以及基于所述基础层是包含在经编码视频位流中还是将从外部源接收而将所述视频参数集中包含的视频信号信息语法结构的数目确定为第一值或第二值。

在另一实例中,提供一种设备,其包含用于存取根据第一译码协议编码的经编码视频位流的装置。经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集。所述设备进一步包含用于确定视频参数集中不存在指示所述经编码视频位流中提供的视频信号信息语法结构的数目的语法结构的装置。所述设备进一步包含用于确定基础层是包含在经编码视频位流中还是将从外部源接收的装置。所述设备进一步包含用于基于基础层是包含在经编码视频位流中还是将从外部源接收而将视频参数集中包含的视频信号信息语法结构的数目确定为第一值或第二值的装置。

上文对于在参数集中选择性地用信号表示不同数目的视频信号信息语法结构所述的方法、设备和计算机可读媒体可进一步包含当确定基础层包含在经编码视频位流中时将视频信号信息语法结构的数目确定为所述第一值,其中所述第一值等于所述经编码视频位流的层的最大数目。

上文对于在参数集中选择性地用信号表示不同数目的视频信号信息语法结构所述的方法、设备和计算机可读媒体可进一步包含当确定基础层将从外部源接收时将视频信号信息语法结构的数目确定为所述第二值,其中所述第二值等于所述经编码视频位流的层的最大数目减去一。

在一些方面中,将视频信号信息语法结构指派给经编码视频位流中包含的层中的每一者,且不将视频信号信息语法结构指派给将从外部源接收的基础层。

在一些方面中,从外部源提供的基础层是根据第二译码协议而经编码,所述第二译码协议不同于所述第一译码协议。在一些方面中,所述第一译码协议包含高效视频译码协议,且所述第二译码协议包含高级视频译码协议。

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

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

附图说明

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

图1是根据一些实施例说明编码装置和解码装置的实例的框图。

图2是根据一些实施例说明参数集的基础部分和扩展部分中界定的层集合的实例的框图。

图3是根据一些实施例的参数集的语法结构的实例。

图4是根据一些实施例的参数集的语法结构的另一实例。

图5是根据一些实施例的参数集的语法结构的另一实例。

图6是根据一些实施例的参数集的语法结构的另一实例。

图7是根据一些实施例说明用于对视频数据进行编码以在参数集中用信号表示层集合的信息的过程的实施例的流程图。

图8是根据一些实施例说明对包含参数集中用信号表示的层集合的信息的视频数据进行解码的过程的实施例的流程图。

图9A是根据一些实施例的参数集的语法结构的另一实例。

图9B是根据一些实施例的参数集的语法结构的另一实例。

图10是根据一些实施例说明对视频数据进行编码以在参数集中用信号表示假想参考解码器参数的过程的实施例的流程图。

图11是根据一些实施例说明用于提供具有多个层的经编码视频数据的编码装置的环境的框图。

图12是根据一些实施例说明用于提供具有多个层的经编码视频数据的多个编码装置的环境的框图。

图13是根据一些实施例具有用于经编码视频数据的多个层的视频信号信息的参数集的实例。

图14是根据一些实施例说明对视频数据进行编码以在参数集中选择性地用信号表示不同数目的视频信号信息语法结构的过程的实施例的流程图。

图15是根据一些实施例说明对视频数据进行解码以推断参数集中的视频信号信息语法结构的不同数目的过程的实施例的流程图。

图16是说明根据一些实施例的实例视频编码装置的框图。

图17是说明根据一些实施例的实例视频解码装置的框图。

具体实施方式

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

以下描述仅提供示例性实施例,且并不意图限制本发明的范围、适用性或配置。实际上,示例性实施例的以下描述将为所属领域的技术人员提供用于实施示例性实施例的启发性描述。应理解,在不脱离如在所附权利要求书中所阐述的本发明的精神和范围的情况下,可对元件的功能和布置进行各种改变。

在以下描述中给出具体细节以提供对实施方案的透彻理解。然而,所属领域的技术人员应理解,所述实施例可以在没有这些具体细节的情况下实践。举例来说,电路、系统、网络、过程和其它组件可以框图形式示出为组件以免以不必要的细节混淆实施例。在其它情况下,在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构以及技术以便避免混淆实施例。

此外,应注意,个别实施例可描述为经描绘为流程图、作业图、数据流图、结构图或框图的过程。尽管流程图可将操作描述为连续过程,但许多操作可并行或同时执行。另外,可以重新布置操作的顺序。过程在其操作完成时终止,但是可以具有不包含在图中的额外步骤。过程可以对应于方法、功能、程序、子例程、子程序等。当过程对应于函数时,过程的终止可对应于函数返回到调用函数或主函数。

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

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

本文中描述了使用视频编码器和解码器的视频译码的若干系统和方法。举例来说,一或多个译码系统和方法是针对改善参数集中的不同信息的信令,例如高效视频译码(HEVC)标准中描述的视频参数集(VPS)。

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

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

编码装置104(或编码器)可用以使用视频译码标准或协议对视频数据进行编码以产生经编码视频位流。视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉和ITU-T H.264(也被称为ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。更为新近的视频译码标准、高效视频译码(HEVC)已经由ITU-T视频译码专家组(VCEG)和ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)完成。HEVC的各种扩展涉及多层视频译码并且也是由JCT-VC研发出来的,所述扩展包含HEVC的多视图扩展(被称作MV-HEVC)以及HEVC的可缩放扩展(被称作SHVC),或任何其它合适的译码协议。

本文中描述的许多实施例使用HEVC标准或其扩展来描述实例。然而,本文中描述的技术和系统也可以适用于其它译码标准,例如AVC、MPEG、其扩展,或其它合适的译码标准。相应地,虽然本文中描述的技术和系统可以参考特定视频译码标准描述,但是所属领域的一般技术人员将理解描述不应解释为仅适用于特定标准。

视频源102可将视频数据提供到编码装置104。视频源102可为源装置的一部分,或可为除源装置以外的装置的一部分。视频源102可以包含视频俘获装置(例如,摄像机、相机电话、视频电话或类似物)、包含存储的视频的视频存档、提供视频数据的视频服务器或内容提供商、从视频服务器或内容提供商接收视频的视频馈送接口、用于产生计算机图形视频数据的计算机图形系统、此类来源的组合或任何其它合适的视频源。

来自视频源102的视频数据可以包含一或多个输入图片或帧。图片或帧是视频的一部分的静态图像。编码装置104的编码器引擎106(或编码器)对视频数据进行编码以产生经编码视频位流。举例来说,HEVC位流可以包含被称作网络抽象层(NAL)单元的一系列数据单元。在HEVC标准中存在两类NAL单元,包含视频译码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元包含经译码图片数据的一个切片或切片段(下文描述),且非VCL NAL单元包含涉及多个经译码图片的控制信息。经译码的图片和对应于经译码的图片的非VCL NAL单元(如果存在)被称作存取单元(AU)。

NAL单元可含有形成视频数据的经译码表示(例如视频中的图片的经译码表示)(经编码视频位流)的位序列。编码器引擎106通过将每个图片分割成多个切片来产生图片的经译码表示。一切片不依赖于其它切片,以使得所述切片中的信息得到译码而无需依赖于来自相同图片内的其它切片的数据。切片包含一或多个切片段,包含独立的切片段,并且如果存在的话,包含取决于先前切片段的一或多个相依性切片段。切片随后被分割成明度样本和色度样本的译码树块(CTB)。明度样本的CTB和色度样本的一或多个CTB连同样本的语法一起被称作译码树单元(CTU)。CTU是用于HEVC编码的基本处理单元。CTU可以被分裂成不同大小的多个译码单元(CU)。CU包含被称作译码块(CB)的明度和色度样本阵列。

明度和色度CB可进一步分裂成预测块(PB)。PB是使用用于帧间预测的相同运动参数的明度或色度分量的样本的块。明度PB和一或多个色度PB连同相关联的语法一起形成预测单元(PU)。在位流中针对每个PU用信号表示运动参数集合,并且所述运动参数集合用于明度PB和一或多个色度PB的帧间预测。CB也可以被分割成一或多个变换块(TB)。TB表示颜色分量的样本的正方形块,对所述颜色分量的相同二维变换应用于对预测残余信号进行译码。变换单元(TU)表示明度和色度样本的TB以及对应的语法元素。

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

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

一旦视频数据的图片被分割成CU,则编码器引擎106使用预测模式预测每个PU。随后从原始视频数据中减去预测以获得残余(下文描述)。对于每个CU,可以在位流内部使用语法数据用信号表示预测模式。预测模式可以包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。使用帧内预测,每个PU是从相同图片中的相邻图像数据中预测的,方法是使用例如DC预测以寻找PU的平均值、使用平面预测以配合PU的平面表面、使用方向预测以从相邻数据中进行推断,或者使用任何其它合适类型的预测。使用帧间预测,每个PU是使用运动补偿预测从一或多个参考图片中的图像数据预测的(在当前图片按输出次序之前或之后)。

PU可以包含涉及预测过程的数据。举例来说,当使用帧内预测对PU进行编码时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,当PU使用帧间预测编码时,PU可以包含界定PU的运动向量的数据。举例来说,定义PU的运动向量的数据可以描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。

编码装置104接着可执行变换和量化。举例来说,在预测之后,编码器引擎106可以计算对应于PU的残余值。残余值可以包括像素差值。使用可基于离散余弦变换、离散正弦变换、整数变换、小波变换或其它合适的变换功能的块变换对在执行预测之后可能剩余的任何残余数据进行变换。在一些情况下,一或多个块变换(例如,大小为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可以使用上下文自适应可变长度译码、上下文自适应二进制算术译码、基于语法的上下文自适应二进制算术译码、概率区间分割熵译码,或另一合适的熵编码技术。

如先前描述,HEVC位流包含一组NAL单元。形成经译码视频位流的位的序列存在于VCL NAL单元中。除其它信息之外,非VCL NAL单元可以包含具有涉及经编码视频位流的高层级信息的参数集。举例来说,参数集可包含视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)。参数集的目标是位速率效率、错误恢复性,且提供系统层接口。每一切片参考单个作用中的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包含适用于相同经译码视频序列或位流中的所有图片的信息。经译码视频序列是一系列存取单元,这些存取单元开始于随机存取点图片(例如,瞬时解码刷新(IDR)图片或断链存取(BLA)图片,或其它适当的随机存取点图片)并且包含多达所有存取单元,但不包含下一随机存取点图片(或位流的端部)。SPS中的信息通常不会在经译码视频序列内在图片之间发生改变。经译码视频序列中的所有图片使用相同SPS。VPS包含适用于经译码视频序列或位流中的所有层的信息。VPS包含具有适用于整个经译码的视频序列的语法元素的语法结构。在一些实施例中,VPS、SPS或PPS可以与经编码位流一起带内发射。在一些实施例中,VPS、SPS或PPS与含有经译码视频数据的NAL单元相比可以在单独传输中带外发射。

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

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

输入114接收经编码的视频数据并且可以将视频数据提供到解码器引擎116或到存储装置118以用于稍后供解码器引擎116使用。解码器引擎116可以通过熵解码(例如,使用熵解码器)对经编码的视频数据进行解码并且提取构成经编码的视频数据的经译码视频序列的元素。解码器引擎116可随后重新按比例缩放并且对经编码的视频数据执行逆变换。残余随后传递到解码器引擎116的预测级。解码器引擎116接着预测像素块(例如,PU)。在一些实例中,预测被添加到逆变换的输出。

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

在一些实施例中,视频编码装置104和/或视频解码装置112可以相应地与音频编码装置和音频解码装置集成。视频编码装置104和/或视频解码装置112还可以包含实施上文所述的译码技术所必需的其它硬件或软件,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104和视频解码装置112可以集成为相应的装置中的组合编码器/解码器(编解码器)的一部分。下文参考图16描述编码装置104的具体细节的实例。下文参考图17描述解码装置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值。在层可依赖于较低层的意义上,层可为阶层式的。层集合是指在位流内表示的自含式的层集合,意指层集合内的层可能在解码过程中依赖于层集合中的其它层,但并不依赖于任何其它层来进行解码。因此,层集合中的层可形成可表示视频内容的独立位流。可通过子位流提取过程的操作从另一位流获得层集合中的层的集合。层集合可对应于在解码器希望根据某些参数进行操作时将被解码的层的集合。

当对视频序列进行编码时,针对许多应用控制解码器缓冲器状态是有益的。这适用于通信和/或广播。编码器应当提供所发射数据以使得其在对应图片的解码时间在解码器处可用。此外,编码器应当使得位流不会使解码器的输入位流缓冲器以及其中存储经解码图片的图片缓冲器过速。

提供假想参考解码器(HRD)以测试对经编码视频序列的控制。HRD可一般对根据视频压缩标准编码的视频序列可操作。用于假想参考解码器的配置和操作的参数可提供于视频参数集(VPS)和/或序列参数集(SPS)中。可提供HRD参数用于位流的多个操作点,如下详述。这提供关于在进一步处理(例如,子位流提取)之后位流的特性的信息。可在编码器中应用HRD以控制产生的位流,且也可应用HRD以检验给定位流对标准规范要求的符合性。此外,可针对由HRD界定的性能和时序要求而测试主体解码器实施方案的符合性。编码器可选择性省略用于位流或用于位流的一些或所有层的HRD参数的一些或所有信令。这可提供与对视频压缩标准的位流符合性的检验相关的一些约束。

(例如,在序列或视频参数集中或其它消息接发中)提供HRD参数的集合以允许多层功能性,其中每一参数集合对应于操作点。操作点定义用于子位流提取的参数,且包含目标层列表(用于所述操作点的层集合)和目标最高时间层。多个操作点可适用于给定位流。操作点可包含层集合中的所有层或可为形成为层集合的子集的位流。举例来说,位流的操作点可与层识别符集和时间识别符相关联。层识别符列表可用以识别将包含在操作点中的层。层识别符列表可包含在参数集(例如,VPS)中。层识别符列表可包含层识别符(ID)值(例如,由语法元素nuh_layer_id指示)列表。在一些情况下,层ID值可包含非负整数,且每一层可与唯一层ID值相关联,以使得每一层ID值识别特定层。最高时间ID(例如,由变量TemporalId识别)可用以界定时间子集。在一些实施例中,层识别符列表和目标最高时间ID可用作输入以从位流提取操作点。举例来说,当NAL单元具有包含在与操作点相关联的层识别符集中的层识别符,且NAL单元的时间识别符小于或等于操作点的时间识别符时,NAL单元与所述操作点相关联。目标输出层是将输出的层,且输出层集合是与目标输出层集相关联的层集合。举例来说,输出层集合是包含规定的层集合的层的层集合,其中所述层集合中的一或多个层被指示为输出层。输出操作点对应于特定输出层集合。举例来说,输出操作点可包含通过其中输入位流、目标最高时间识别符(TemporalId)和目标层识别符列表作为输入的子位流提取过程的操作从输入位流产生且与输出层集相关联的位流。

如先前描述,参数集具备经编码视频位流(例如,在一或多个非VCL NAL单元中)。所述参数集含有界定经编码视频位流的各种参数的高级语法信息。参数集的一个实例包含视频参数集(VPS)。VPS可具有两个部分,包含基础部分(或基础VPS)和扩展部分(或VPS扩展)。基础VPS在HEVC标准的第一版本中界定,且VPS扩展在HEVC标准的稍后版本中界定。基础VPS可含有与HEVC基础层(或兼容层)相关的信息。基础VPS还可含有时间可缩放性信息,包含时间层的最大数目。基础VPS中可界定一或多个层集合。举例来说,基础VPS可界定对应于包含基础层的层集合的层集合0。VPS扩展可含有与超出基础层的一或多个额外层相关的信息。举例来说,VPS扩展中可界定一或多个额外层集合,其在基础部分中未界定。

图2说明在视频参数集的基础部分(基础VPS 202)和扩展部分(VPS扩展204)中界定的层集合的实例。基础VPS 202界定层集合0、层集合1、层集合2和层集合3。层集合0包含层0。层集合1包含层0和层1。层集合2包含层0、层1和层2。层集合3包含层0、层1、层2和层3。VPS扩展204界定未在基础VPS 202中界定的额外层集合。额外层集合包含层集合4和层集合5。额外层集合4包含层4,且额外层集合5包含层5和层6。在一些实例中,层0可为基础层,且层1、2、3、4、5和6可为增强层。举例来说,层0可为具有等于0的层识别符(ID)的基础层。基础层还可被称作兼容层。基础层符合HEVC的第一版本的简档,并且表示在位流中的最低可用层。层1、2、3、4、5和6可包含具有对应层ID的增强层。举例来说,层1具有等于1的层ID,层2具有等于2的层ID,层3具有等于3的层ID,层4具有等于4的层ID,层5具有等于5的层ID,且层6具有等于6的层ID。增强层与基础层相比具有增加的空间分辨率、时间分辨率或帧速率和/或重构保真度(或质量)。在一些实例中,层0可具有7.5Hz的帧速率和每秒64千字节的位速率,层1可具有15Hz的帧速率和每秒128千字节的位速率,层2可具有15Hz的帧速率和每秒256千字节的位速率,层3可具有30Hz的帧速率和每秒512千字节的位速率,层4可具有30Hz的帧速率和每秒1兆字节的位速率,层5可具有60Hz的帧速率和每秒1.5兆字节的位速率,且层6可具有60Hz的帧速率和每秒2兆字节的位速率。在一些实例中,帧速率还可称为图片速率,且因此不同层0、1、2、3、4、5和6还可具有不同图片速率。所属领域的一般技术人员将理解,这些数字仅作为一实例提供,且所述层可根据特定实施方案具有其它帧率和位速率。

VPS中提供信令信息,其界定基础VPS 202中界定的一或多个层集合的特性。在一些实例中,所述信令信息可界定所述一或多个层集合的速率信息。速率信息包含例如适用于给定层集合中的层的位速率信息、图片速率信息或其它合适的速率信息。在一个实例中,给定层集合的位速率信息可包含所述给定层集合的层的平均位速率或平均图片速率。在另一实例中,位速率信息可包含给定层集合的层的最大位速率。下文提供速率信息的其它实例。在一些实例中,所述信令信息可包含指示层集合中的层是否为输出层集合的目标输出层的目标输出信息。举例来说,所述目标输出信息可包含output_layer_flag[i][j]语法元素。如本文所使用,变量[i]和[j]指代第i层集合的第j层。应当针对包含层集合和额外层集合的所有层集合(VPS的基础和扩展部分中界定)用信号表示速率信息和目标输出信息,因为客户端可基于此信息而选择请求或消耗额外层集合。然而,通过HEVC标准中界定的当前信令方案,仅针对VPS的基础部分中界定的层集合用信号表示信令信息。

在基础VPS(例如,基础VPS 202)中用信号表示的层集合的数目由VPS的语法元素指示。举例来说,图3说明VPS扩展的语法结构300的实例。条目302包含语法元素306,标记为vps_num_layer_sets_minus1,其指示在基础VPS中用信号表示的层集合的数目。标记为output_layer_flag[i][j]的语法元素304指示层集合中的层是否为输出层集合的目标输出层。因为vps_num_layer_sets_minus1语法元素306指示在基础VPS中用信号表示的层集合(且不是VPS扩展中用信号表示的额外层集合)的数目,所以仅针对基础VPS中界定的那些层集合用信号表示output_layer_flag[i][j]语法元素304。

在基础VPS和VPS扩展中用信号表示的层集合(包含VPS扩展中用信号表示的额外层集合,如果存在)的总数由基于VPS的语法元素导出的变量NumLayerSets指示。本文所描述的实施例包含更新VPS中与层集合相关的信息的信令以使得针对所有层集合用信号表示信令信息(例如,速率信息和目标输出信息),包含VPS扩展204中界定的额外层集合。举例来说,如图4中所说明,可从VPS扩展移除vps_num_layer_sets_minus1语法元素306且可将NumLayerSets变量406添加到条目302以产生新语法结构400。因为NumLayerSets变量406指示基础VPS和VPS扩展中用信号表示的层集合的总数,所以针对基础VPS中界定的层集合和VPS扩展中界定的额外层集合用信号表示output_layer_flag[i][j]语法元素304。

图5说明VPS的语法结构500的另一实例。语法结构500是VPS扩展的视频可用性信息(VUI)部分的部分,其在本文中可被称作VPS VUI。VPS VUI语法结构含有可用于准备用于输出和显示的经解码视频的信息。VPS VUI可包含与经编码视频相关的信息,例如速率信息、样本纵横比、经编码视频的原始颜色空间和表示、图片定时信息或其它信息。VUI语法结构中的不同部分的包含是任选的且可根据特定实施方案或应用的需要来决定。在一些实例中,可针对其中未提供对应VUI参数的情况为一些或所有VUI参数指定默认值。

在图5的实例中,VPS VUI的语法结构500包含bit_rate_present_flag[i][j]语法元素504,其包含指示位速率信息是否可用于VPS中用信号表示的一或多个层集合的旗标。举例来说,所述旗标的0或1的值可指示位速率信息可用于所述一或多个层集合。VPS VUI的语法结构500进一步包含pic_rate_present_flag[i][j]语法元素506,其包含指示图片速率信息是否可用于VPS中用信号表示的一或多个层集合的旗标。举例来说,所述旗标的0或1的值可指示图片速率信息可用于所述一或多个层集合。VPS VUI的语法结构500还包含avg_bit_rate[i][j]语法元素508,其指示VPS中用信号表示的所述一或多个层集合的每一层集合的平均位速率。VPS VUI的语法结构500进一步包含max_bit_rate语法元素510,其指示VPS中用信号表示的所述一或多个层集合的每一层集合的最大位速率。VPS VUI的语法结构500还包含constant_pic_rate_idc[i][j]语法元素512,其指示VPS中用信号表示的所述一或多个层集合的层集合是否具有恒定图片速率。VPS VUI的语法结构500进一步包含avg_pic_rate[i][j]语法元素514,其指示VPS中用信号表示的所述一或多个层集合的每一层集合的平均图片速率。所属领域的技术人员将了解语法元素504-514是实例,且VPS VUI的语法结构500中可存在信令信息的更多或更少集合。

针对提供于语法结构500的条目502中的VPS扩展中界定的那些层集合用信号表示提供于语法元素504-514中的信息。条目502包含指示用信号表示的层集合的数目的语法元素。图5中所示的条目502包含vps_num_layer_sets_minus1语法元素516,其指示基础VPS中用信号表示的层集合(且不是VPS扩展中用信号表示的额外层集合)的数目。因此,仅针对基础VPS中界定的那些层集合用信号表示速率信息语法元素504-514。图6说明具有与包含VPS扩展中界定的额外层集合的所有层集合相关的经更新信令信息的VPS VUI的语法结构600的实例。在图6的实例中,从VPS VUI移除vps_num_layer_sets_minus1语法元素516且将NumLayerSets变量616添加到条目502以产生新语法结构600。因为NumLayerSets变量616指示基础VPS和VPS扩展中用信号表示的层集合的总数,所以针对基础VPS中界定的层集合和VPS扩展中界定的额外层集合用信号表示在语法元素504-514中用信号表示的速率信息。

图7说明编码视频数据的过程700的实施例。实施过程700以用信号表示例如视频参数集等参数集中界定的层集合(包含额外层集合)的信息。在一些方面,可由例如在图1或图16中展示的编码装置104等计算装置或设备来执行过程700。举例来说,所述计算装置或设备可包含编码器,或处理器、微处理器、微型计算机,或经配置以执行过程700的步骤的编码器的其它组件。

过程700被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的一系列操作。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时实施所叙述的操作。一般而言,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似物。描述操作的次序并不意图解释为限制,且任何数目的所描述操作可以任何次序组合和/或并行实施所述过程。

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

在702,编码视频数据的过程700包含产生包括一或多个层集合和一或多个额外层集合的经编码视频位流。层集合和额外层集合中的每一者包含一或多个层,如先前描述。所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述一或多个层集合在视频参数集的基础部分中界定,且所述一或多个额外层集合在视频参数集的扩展部分中界定。经编码视频位流可使用HEVC译码技术或其它合适的译码技术来编码。在一个实例中,视频参数集(VPS)的基础部分中界定的所述一或多个层集合包含图2中所示的基础VPS 202中界定的层集合0、层集合1、层集合2和层集合3,且所述一或多个额外层集合包含图2中所示的VPS扩展204中界定的层集合4和层集合5。所属领域的技术人员将了解所述一或多个层集合和/或所述一或多个额外层集合可包含除了图2的实例中所示的那些层集合之外的层集合。

在704,过程700包含在视频参数集中提供用于用信号表示与所述一或多个层集合和所述一或多个额外层集合相关的信息的一或多个语法元素。所述信息包含视频参数集的基础部分中界定的所述一或多个层集合以及视频参数集的扩展部分中界定的所述一或多个额外层集合的速率信息。因此,针对基础VPS中界定的层集合和VPS扩展中界定的额外层集合两者用信号表示速率信息。举例来说,可通过在VPS VUI的条目502中插入NumLayerSets变量616而针对视频参数集的基础部分中界定的所述一或多个层集合和所述一或多个额外层集合用信号表示速率信息。在一些实施例中,针对所述一或多个层集合和所述一或多个额外层集合中的每一不同层集合用信号表示不同速率信息。举例来说,可针对基础VPS 202中界定的层集合0用信号表示第一速率信息集合,且可针对VPS扩展204中界定的层集合4用信号表示第二速率信息集合。

在一些实施例中,速率信息包含位速率信息。在一些实施例中,速率信息包含图片速率信息。在一些实例中,速率信息可包含在图5和图6中所示的语法元素504-514中的任一者中。举例来说,视频参数集中的所述一或多个语法元素包含指示位速率信息是否可用于额外层集合的旗标。所述旗标可设定成0或1的值以指示位速率信息可用于额外层集合。所述一或多个语法元素还可包含指示位速率信息是否可用于VPS的基础部分中界定的层集合的旗标。此旗标的实例是图5和图6中所示的bit_rate_present_flag[i][j]语法元素504。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示图片速率信息是否可用于额外层集合的旗标。所述旗标可设定成0或1的值以指示图片速率信息可用于额外层集合。所述一或多个语法元素还可包含指示图片速率信息是否可用于VPS的基础部分中界定的层集合的旗标。此旗标的实例是图5和图6中所示的pic_rate_present_flag[i][j]语法元素506。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示额外层集合的平均位速率的语法元素。所述一或多个语法元素还可包含指示VPS的基础部分中界定的层集合的平均位速率的类似语法元素。此语法元素的实例是图5和图6中所示的avg_bit_rate[i][j]语法元素508。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示额外层集合的最大位速率的语法元素。所述一或多个语法元素还可包含指示VPS的基础部分中界定的层集合的最大位速率的类似语法元素。此语法元素的实例是图5和图6中所示的max_bit_rate[i][j]语法元素510。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示额外层集合是否具有恒定图片速率的语法元素。所述一或多个语法元素还可包含指示VPS的基础部分中界定的层集合是否具有恒定图片速率的类似语法元素。此语法元素的实例是图5和图6中所示的constant_pic_rate_idc[i][j]语法元素512。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示额外层集合的平均图片速率的语法元素。所述一或多个语法元素还可包含指示VPS的基础部分中界定的层集合的平均图片速率的类似语法元素。此语法元素的实例是图5和图6中所示的avg_pic_rate[i][j]语法元素514。

在一些实施例中,所述一或多个语法元素可用信号表示基础VPS中界定的层集合和VPS扩展中界定的额外层集合两者的目标输出信息。举例来说,视频参数集中的所述一或多个语法元素包含指示额外层集合中的层是否为输出层集合的目标输出层的旗标。所述旗标可设定成0或1的值以指示额外层集合中的层是输出层集合的目标输出层。所述一或多个语法元素还可包含指示基础VPS中界定的层集合中的层是否为输出层集合的目标输出层的类似旗标。此旗标的实例是图3和图4中所示的output_layer_flag[i][j]语法元素304。

图8说明解码视频数据的过程800的实施例。实施过程800以接收且解码例如视频参数集等参数集中界定的层集合(包含额外层集合)的信令信息。在一些方面中,过程800可由例如图1或图17中所示的解码装置112等计算装置或设备执行。举例来说,所述计算装置或设备可包含解码器,或处理器、微处理器、微型计算机,或经配置以实行过程800的步骤的解码器的其它组件。

过程800被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的一系列操作。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时实施所叙述的操作。一般而言,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似物。描述操作的次序并不意图解释为限制,且任何数目的所描述操作可以任何次序组合和/或并行实施所述过程。

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

在802,解码视频数据的过程800包含获得包括一或多个层集合和一或多个额外层集合的经编码视频位流。层集合和额外层集合中的每一者包含一或多个层。所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述一或多个层集合在视频参数集的基础部分中界定,且所述一或多个额外层集合在视频参数集的扩展部分中界定。经编码视频位流可使用HEVC译码技术或其它合适的译码技术来编码。在一个实例中,视频参数集(VPS)的基础部分中界定的所述一或多个层集合包含图2中所示的基础VPS 202中界定的层集合0、层集合1、层集合2和层集合3,且所述一或多个额外层集合包含图2中所示的VPS扩展204中界定的层集合4和层集合5。所属领域的技术人员将了解所述一或多个层集合和/或所述一或多个额外层集合可包含除了图2的实例中所示的那些层集合之外的层集合。

在804,过程800包含对来自视频参数集的一或多个语法元素进行解码。所述一或多个语法元素包含视频参数集的基础部分中界定的所述一或多个层集合以及视频参数集的扩展部分中界定的所述一或多个额外层集合的速率信息。在一些实施例中,所述一或多个语法元素包含所述一或多个层集合和所述一或多个额外层集合中的每一不同层集合的不同速率信息。举例来说,可针对基础VPS 202中界定的层集合0用信号表示第一速率信息集合,且可针对VPS扩展204中界定的层集合1用信号表示第二速率信息集合。

在一些实施例中,速率信息包含位速率信息。在一些实施例中,速率信息包含图片速率信息。在一些实例中,速率信息可包含在图5和图6中所示的语法元素504-514中的任一者中。举例来说,视频参数集中的所述一或多个语法元素包含指示位速率信息是否可用于额外层集合的旗标。所述旗标可设定成0或1的值以指示位速率信息可用于额外层集合。所述一或多个语法元素还可包含指示位速率信息是否可用于VPS的基础部分中界定的层集合的旗标。此旗标的实例是图5和图6中所示的bit_rate_present_flag[i][j]语法元素504。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示图片速率信息是否可用于额外层集合的旗标。所述旗标可设定成0或1的值以指示图片速率信息可用于额外层集合。所述一或多个语法元素还可包含指示图片速率信息是否可用于VPS的基础部分中界定的层集合的旗标。此旗标的实例是图5和图6中所示的pic_rate_present_flag[i][j]语法元素506。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示额外层集合的平均位速率的语法元素。所述一或多个语法元素还可包含指示VPS的基础部分中界定的层集合的平均位速率的类似语法元素。此语法元素的实例是图5和图6中所示的avg_bit_rate[i][j]语法元素508。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示额外层集合的最大位速率的语法元素。所述一或多个语法元素还可包含指示VPS的基础部分中界定的层集合的最大位速率的类似语法元素。此语法元素的实例是图5和图6中所示的max_bit_rate[i][j]语法元素510。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示额外层集合是否具有恒定图片速率的语法元素。所述一或多个语法元素还可包含指示VPS的基础部分中界定的层集合是否具有恒定图片速率的类似语法元素。此语法元素的实例是图5和图6中所示的constant_pic_rate_idc[i][j]语法元素512。

在另一实例中,视频参数集中的所述一或多个语法元素包含指示额外层集合的平均图片速率的语法元素。所述一或多个语法元素还可包含指示VPS的基础部分中界定的层集合的平均图片速率的类似语法元素。此语法元素的实例是图5和图6中所示的avg_pic_rate[i][j]语法元素512。

在一些实施例中,所述一或多个语法元素可用信号表示基础VPS中界定的层集合和VPS扩展中界定的额外层集合两者的目标输出信息。举例来说,视频参数集中的所述一或多个语法元素包含指示额外层集合中的层是否为输出层集合的目标输出层的旗标。所述旗标可设定成0或1的值以指示额外层集合中的层是输出层集合的目标输出层。所述一或多个语法元素还可包含指示基础VPS中界定的层集合中的层是否为输出层集合的目标输出层的类似旗标。此旗标的实例是图3和图4中所示的output_layer_flag[i][j]语法元素304。

使用用信号表示参数集中界定的层集合(包含额外层集合)的信息的上述技术,针对基础VPS中界定的层集合并且还有VPS扩展中界定的额外层集合用信号表示速率信息和目标输出信息。

在另外的实施例中,描述用于仅在某些条件中用信号表示参数集中的假想参考解码器参数的技术和系统。在参数集中提供假想参考解码器参数以允许多层功能性。假想参考解码器参数的不同集合对应于不同操作点。可以各种方式使用假想参考解码器参数。举例来说,位流符合性检查可包含使用假想参考解码器参数执行规范性测试。规范性测试使用假想参考解码器参数检查:可通过在概念上连接到编码器的输出且包含经译码图片缓冲器、解码器和经解码图片缓冲器的假想参考解码器解码位流或子位流。编码器必须确保在产生符合一致性的位流时符合各种约束条件,包含确保在位流中使用的工具匹配在参数集中用信号发送的工具,确保假想参考解码器的经译码图片缓冲器不上溢或下溢,确保标记为用于参考的图片之后不用作参考,或其它要求。当存在用于解码器缓存器的太多经译码数据单元时发生缓冲器上溢。当对于解码器来说是时候处理一些经译码数据单元但缓存器为空时发生下溢。

可针对不同操作点和相关联层集合在VPS中和VPS扩展中(例如,VPS VUI中)用信号表示假想参考解码器参数。VPS VUI中的假想参考解码器参数的信令可通过选通旗标来控制。此旗标的可由编码器独立地设定成等于1或0。在一个实例中,当选通旗标的值设定成0时可不在VPS VUI中用信号表示假想参考解码器参数。在另一实例中,当选通旗标的值设定成1时可在VPS VUI中用信号表示假想参考解码器参数。所属领域的技术人员将了解,当所述值设定成1时可不用信号表示假想参考解码器参数,且当所述值设定成0时可用信号表示假想参考解码器参数。

本文中描述了用于当VPS和/或VPS VUI中用信号表示某些信息时用信号表示VPS VUI中的假想参考解码器参数的实施例。举例来说,假想参考解码器参数取决于VPS VUI中、VPS的基础部分中或VPS VUI和基础VPS两者中提供的定时信息。提供定时信息以允许经解码视频序列的正确播放速度。用于假想参考解码器参数的语法结构放置于VPS VUI的定时信息区段中。在一些情况下,所述定时信息界定安装用于解码过程的定时方案所需要的参数,例如时钟速率和时钟节拍的长度。定时信息可进一步包含指示图片次序计数(在用于预测的情况下在排序和距离方面界定图片的关联)与图片相对于经译码视频序列的开始的输出时间成比例的旗标(例如,帧内随机存取图片(IRAP),例如其中图片次序计数复位的瞬时解码刷新(IDR)图片)。使用由所述旗标提供的指示,可直接从图片次序计数导出图片输出定时。

当VPS中不存在定时信息时假想参考解码器信息的信令是对位的低效使用,导致网络资源的浪费处理和使用。因此,当定时信息也在VPS或VPS VUI中用信号表示时可在VPS VUI中用信号表示假想参考解码器参数。类似地,当没有定时信息在VPS或VPS VUI中用信号表示时可不在VPS VUI中用信号表示假想参考解码器参数。在一些方面中,编码器(或其它装置,例如编辑器、拼接器或类似物)可将选通旗标调节为取决于指示VPS或VPS VUI中是否存在定时信息的语法元素的值。

在一个实例中,取决于定时信息的存在而可用信号表示或可不用信号表示选通旗标。图9A说明具有标记为vps_timing_info_present_flag的定时信息语法元素902的VPS VUI的语法结构900的实例。定时信息语法元素902指示VPS或VPS VUI中是否包含定时信息。语法结构900进一步包含标记为vps_vui_bsp_hrd_present_flag的选通旗标语法元素904。选通旗标语法元素904的存在取决于定时信息语法元素902的值。当定时信息语法元素902设定成0的值(指示不存在定时信息)时,可不在VPS VUI中用信号表示选通旗标语法元素904(在此情况下当VPS VUI发送到解码器时语法结构900不包含选通旗标语法元素904)。在此实例中,选通旗标语法元素904的值由编码器确定为0的值,指示VPS VUI中将不用信号表示假想参考解码器参数。因此,编码器(或其它装置,例如编辑器、拼接器或类似物)可确定不在VPS VUI中用信号表示假想参考解码器参数。在图9A中通过包含语法结构中的定时信息语法元素902的条件906而说明此实例。举例来说,当定时信息语法元素902设定成0的值(指示不存在定时信息)时,编码器(或其它装置,例如编辑器、拼接器或类似物)可确定不在VPS VUI中用信号表示假想参考解码器参数。编码器(或其它装置)接着可从语法结构900移除选通旗标语法元素904。当VPS VUI由解码器(或接收VPS VUI的其它装置)接收时,解码器基于不存在选通旗标语法元素904而推断选通旗标的值为0的值。解码器随后基于选通旗标的推断的0值而确定未在VPS VUI中用信号表示假想参考解码器参数。

在另一实例中,选通旗标的值可取决于定时信息的存在。举例来说,可添加约束以表达当定时信息语法元素902等于0时,选通旗标语法元素904的值也将等于0。图9B中通过语法结构900中不存在条件906来说明此实例。在此实例中,指示VPS或VPS VUI中是否存在定时信息的定时信息语法元素在VPS或VPS VUI中更早地用信号表示(图9中未图示)。当定时信息语法元素(图9中未图示)设定成0的值(指示不存在定时信息)时,编码器(或其它装置,例如编辑器、拼接器或类似物)可强制将选通旗标语法元素904设定为0的值,指示VPS VUI中未用信号表示假想参考解码器参数。因此编码器(或其它装置,例如编辑器、拼接器或类似物)可确定不在VPS VUI中用信号表示假想参考解码器参数。当VPS VUI由解码器(或接收VPS VUI的其它装置)接收时,解码器确定选通旗标语法元素904的值设定成0的值以了解VPS VUI中未用信号表示假想参考解码器参数。

图10说明编码视频数据的过程1000的实施例。实施过程1000以仅在某些情形中在参数集中用信号表示假想参考解码器参数。在一些方面,可由例如在图1或图16中展示的编码装置104等计算装置或设备来执行过程1000。举例来说,所述计算装置或设备可包含编码器,或处理器、微处理器、微型计算机,或经配置以执行过程1000的步骤的编码器的其它组件。

过程1000被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的一系列操作。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时实施所叙述的操作。一般来说,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似者。描述操作的次序并不意图解释为限制,且任何数目的所描述操作可以任何次序组合和/或并行实施所述过程。

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

在1002,编码视频数据的过程1000包含产生包括多个层的经编码视频位流。所述经编码视频位流包含界定所述经编码视频位流的参数的视频参数集。所述视频参数集包含视频可用性信息,其可被称为VPS VUI。经编码视频位流可使用HEVC译码技术或其它合适的译码技术来编码。

在1004,过程1000包含确定视频参数集的视频可用性信息中是否用信号表示定时信息。在一些实施例中,确定视频参数集的视频可用性信息中是否用信号表示定时信息包含确定视频可用性信息中的第一旗标的值。所述第一旗标指示视频可用性信息(或视频参数集的其它部分)中是否用信号表示定时信息。举例来说,所述第一旗标可包含定时信息语法元素(例如,定时信息语法元素902)。可检查所述定时信息语法元素以确定是否用信号表示定时信息。举例来说,0的值可指示未用信号表示定时信息。在另一实例中,1的值可指示未用信号表示定时信息。

在1006,过程1000包含基于视频可用性信息(或视频参数集的其它部分)中是否用信号表示定时信息而确定是否在视频参数集的视频可用性信息中用信号表示假想参考解码器参数。在一些实例中,过程1000包含当视频可用性信息(或视频参数集的其它部分)中用信号表示定时信息时在视频可用性信息中用信号表示假想参考解码器参数。过程1000进一步包含当视频可用性信息(或视频参数集的其它部分)中未用信号表示定时信息时不在视频可用性信息中用信号表示假想参考解码器参数。举例来说,编码器或其它网络装置可当定时信息不存在时做出不在视频可用性信息中用信号表示假想参考解码器参数的确定。

在一些实施例中,过程1000包含基于第一旗标的值确定视频可用性信息中的第二旗标的值。第二旗标界定视频可用性信息中是否用信号表示假想参考解码器参数。举例来说,第二旗标可包含选通旗标语法元素(例如,选通旗标语法元素904)。

在一些实施例中,过程1000包含在视频可用性信息中提供用于用信号表示与经编码视频位流相关的信息的一或多个语法元素,所述信息包含第二旗标的值取决于第一旗标的值的条件。举例来说,参考图9,当定时信息语法元素902设定成0的值(指示不存在定时信息)时,可不在VPS VUI中用信号表示选通旗标语法元素904(在此情况下语法结构900不包含选通旗标语法元素904)。选通旗标语法元素904的值随后由编码器推断为0的值,指示VPS VUI中将不用信号表示假想参考解码器参数。编码器可做出不在VPS VUI中用信号表示假想参考解码器参数的确定。

在一些实施例中,过程1000包含在视频可用性信息中提供用于用信号表示与经编码视频位流相关的信息的一或多个语法元素,所述信息包含当第一旗标的值等于零时第二旗标的值将设定成零的约束。举例来说,如图9中所说明,选通旗标语法元素904的条件906可添加到语法结构900。基于所述条件906,当定时信息语法元素902设定成0的值(指示不存在定时信息)时,编码器可将选通旗标语法元素904设定为0的值,指示VPS VUI中未用信号表示假想参考解码器参数。编码器可因此确定不在VPS VUI中用信号表示假想参考解码器参数。

在一些方面中,过程1000可在无线通信装置上执行。所述无线通信装置可包含经配置以存储视频数据的存储器。所述存储器可包含图1中所示的存储装置108。所述无线通信装置还可包含经配置以执行指令以处理存储于存储器中的视频数据的处理器。所述处理器可包含图1中所示的编码器引擎106,或用于处理视频数据的另一合适的处理器。所述无线通信装置可进一步包含发射器,其经配置以发射包含视频参数集的经编码视频位流。所述发射器可为无线发射器,或可为无线收发器的部分。在一些方面中,所述无线通信装置是蜂窝式电话且根据蜂窝式通信标准调制经编码视频位流。举例来说,可使用调制器(例如,正交相移调制器、正交相移键调制器、正交频分多路复用调制器或任何其它合适的调制器或其组合)调制经编码视频位流。

上述技术防止当定时信息不存在时假想参考解码器信息的信令。当不存在定时信息时此信息的信令是资源的低效使用,浪费了宝贵的处理和网络资源。编码器(或其它装置,例如编辑器、拼接器或类似物)可基于定时信息的存在或不存在而智能地确定何时用信号表示假想参考解码器参数。

在另外的实施例中,描述用于在参数集中选择性地用信号表示不同数目的视频信号信息语法结构的技术和系统。举例来说,本文中描述了用于基于基础层是否包含在经编码视频位流中或者将从外部源提供到解码装置而确定将在参数集中用信号表示的视频信号信息语法结构的数目的实施例。

图11说明其中编码装置产生经编码视频位流的各种层(包含基础层)的实例环境1100。环境1100包含使用HEVC视频译码标准产生经编码视频位流的HEVC编码装置1102。所属领域的技术人员将了解本文所描述的技术适用于可使用与HEVC标准不同的译码标准的其它编码装置,例如AVC和MPEG标准中的一或多者。HEVC编码装置1102可产生包含基础层和一或多个增强层的HEVC顺应性视频位流。举例来说,HEVC编码装置1102可产生基础层0和增强层1到层n。层n指代HEVC编码装置1102可产生任何数目的增强层的事实,如由特定实施方案或应用所确定且如由HEVC标准约束。

接收装置1110的HEVC解码装置1104可从HEVC编码装置1102接收基础层和增强层。在图11的实例中,在HEVC位流中将基础层提供到HEVC解码装置1104。HEVC编码装置1102还可将具有信息的例如VPS等参数集发送到HEVC解码装置1104,从而允许HEVC解码装置1104恰当地解码经编码视频位流。所述信息可包含视频信号信息,如下所述。

图12说明其中编码装置产生经编码视频位流的各种增强层但不产生基础层的实例环境1200。环境1200包含使用不同视频译码标准产生经编码视频位流的HEVC编码装置1202和AVC编码装置1206。所属领域的技术人员将了解本文所描述的技术适用于可使用与HEVC或AVC不同的译码标准的其它编码装置。HEVC编码装置1202可产生包含一或多个增强层但不包含基础层的HEVC顺应性视频位流。举例来说,HEVC编码装置1202可产生增强层1到层n。AVC编码装置1206可产生仅包含基础层(包含基础层0)的AVC顺应性视频位流。当HEVC编码装置1202产生所述一或多个增强层时,由AVC编码装置1206产生的基础层可以用于层间预测参考。

在一个实例中,HEVC解码装置1204可从HEVC编码装置1202接收增强层,且AVC解码装置1208可从AVC编码装置1206接收基础层。在另一实例中,第一网络实体(例如,编辑器或拼接器)可将来自HEVC编码装置1202的增强层与来自AVC编码装置1206的基础层拼接在一起。第一网络实体可以与(例如,以根据ISO基础媒体文件格式的文件格式)所添加的系统时间信息在时间上同步的方式执行所述拼接。第二网络实体(例如,接收器,例如接收装置1210、文件格式剖析器或其它网络实体)可将所述一或多个增强层的位流传递到HEVC解码装置1204且将基础层的位流传递到AVC解码装置1208。在任一实例中,不将基础层的位流提供到HEVC解码装置1204。实际上,将基础层的经解码图片提供到HEVC解码装置1204(从AVC解码装置1208)用于层间预测参考。从HEVC解码装置1204来看,基础层由外部源在外部提供。在一些实施例中,HEVC解码装置1204和AVC解码装置1208是单独的解码器。在一些实施例中,HEVC解码装置1204和AVC解码装置1208是可对HEVC和AVC位流进行解码的多标准解码器的部分。

HEVC编码装置可提供具有HEVC顺应性视频位流的视频参数集(VPS)(例如,在一或多个非VCL NAL单元中)。在用于多层经编码视频位流的每一层的VPS中用信号表示视频信号信息语法结构,其中针对每一层用信号表示单独的视频信号信息语法结构。视频信号信息语法结构可在VPS扩展的VPS VUI中用信号表示,且可用以准备用于输出和显示的经解码视频。包含于视频信号信息语法结构中的视频信号信息可包含颜色特性,例如原色、转移特性、使用的颜色转换矩阵系数,或其它合适的颜色信息。视频信号信息还可包含视频信号类型信息,其指示源视频的原始格式(例如,NTSC、PAL、分量、SECAM、MAC、未规定的或其它合适的视频格式)并且在一些情况下指示对应颜色格式定义和格式规范。在一些情况下,视频信号信息可指示相对于明度样本的位置的色度样本的位置,其可用以在显示期间呈现正确的颜色呈现。

图13说明可由HEVC编码装置连同HEVC顺应性视频位流一起发送的VPS 1302的实例。VPS 1302包含用于经编码视频位流的多个层的视频信号信息。视频信号信息可包含于VPS 1302的VPS VUI部分的一或多个视频信号信息语法结构中。举例来说,VPS 1302包含用于具有层ID=0的层(对应于基础层)的视频信号信息语法结构1304、用于具有层ID=1的增强层的视频信号信息语法结构1306,以及用于具有层ID=n的增强层的视频信号信息语法结构1308。

在一些情况下,VPS 1302中将包含(或包含)的视频信号信息语法结构的数目不显式地用信号表示。举例来说,指示VPS 1302中将包含的视频信号信息语法结构的数目的语法元素(例如,vps_num_video_signal_info_minus1)可能不存在。在此些情况下,VPS 1302中将包含的视频信号信息语法结构的数目推断为等于位流中的层的总数(无论基础层是外部提供还是包含在HEVC经编码视频位流中),从而导致针对每一层ID值用信号表示一个视频信号信息语法结构,且每一层根据其层ID值被指派给用信号表示的视频信号信息语法结构。当基础层是外部提供(例如,由AVC编码装置,如图12中所示)时,发送相对于HEVC解码器无用的信号信息结构语法结构,因为HEVC解码器不需要用于基础层的信号信息语法结构。

描述用于更新VPS中(例如,VPS VUI中)的视频信号信息语法结构的信令以在VPS中更高效地提供数据的技术。举例来说,VPS中将用信号表示的视频信号信息语法结构的数目是基于基础层是包含在经编码视频位流中还是将从外部源提供到HEVC解码装置来确定。当VPS VUI中的视频信号信息语法结构的数目不显式地用信号表示时(例如,当VPS或VPS VUI中不存在例如vps_num_video_signal_info_minus1等语法元素时)可更新VPS中的视频信号信息的信令。举例来说,如果基础层在HEVC位流中(不是如图11中所示外部提供),那么VPS中用信号表示的视频信号信息语法结构的数目推断为等于位流的层的最大数目。在其中基础层是外部提供(如图12中所示)的实施例中,VPS中用信号表示的视频信号信息语法结构的数目推断为等于位流的层的最大数目减去一。因此,当从外部源提供基础层时,VPS中的视频信号信息语法结构的数目减少一。

在一些实施例中,层的层ID映射到视频信号信息语法结构的索引中以指示哪一语法结构将应用于不同层。在此类实施例中,当VPS中的视频信号信息语法结构的数目不显式地用信号表示时,层ID到视频信号信息语法结构的索引之间的映射经更新以使得不将视频信号信息语法结构指派给基础层。因此,将视频信号信息语法结构指派给包含在HEVC经编码视频位流中的层中的每一者,且不将视频信号信息语法结构指派给将从外部源提供到解码器的基础层。

对HEVC标准进行改变以实施用于更新VPS中的视频信号信息语法结构的信令的上述技术可包含:

等于1的video_signal_info_idx_present_flag指定语法元素vps_num_video_signal_info_minus1和vps_video_signal_info_idx[i]存在。等于0的video_signal_info_idx_present_flag指定语法元素vps_num_video_signal_info_minus1和vps_video_signal_info_idx[i]不存在。

vps_num_video_signal_info_minus1加1指定VPS中的随后的video_signal_info()语法结构的数目。当不存在时,vps_num_video_signal_info_minus1的值推断为等于MaxLayersMinus1-(vps_base_layer_internal_flag?0:1)。

vps_video_signal_info_idx[i]指定应用于具有等于layer_id_in_nuh[i]的nuh_layer_id的层的video_signal_info()语法结构的到VPS中的video_signal_info()语法结构的列表中的索引。当vps_video_signal_info_idx[i]不存在时,vps_video_signal_info_idx[i]推断为等于(video_signal_info_idx_present_flag?0:i)。vps_video_signal_info_idx[i]的值将处于0到vps_num_video_signal_info_minus1(包含性)的范围内。

当不存在时,如下推断vps_video_signal_info_idx[i]的值:

如果video_signal_info_idx_present_flag等于1,那么vps_video_signal_info_idx[i]推断为等于0。

否则,vps_video_signal_info_idx[i]推断为等于i-(vps_base_layer_internal_flag?0:1

等于0的vps_vui_bsp_hrd_present_flag指定VPS VUI中不存在位流分区HRD参数。等于1的vps_vui_bsp_hrd_present_flag指定VPS VUI中存在位流分区HRD参数。当不存在时,vps_vui_bsp_hrd_present_flag推断为等于0。

图14说明编码视频数据的过程1400的实施例。实施过程1400以通过在VPS中选择性地用信号表示不同数目的视频信号信息语法结构而更新VPS中的视频信号信息语法结构的信令。在一些方面,可由例如在图1或图16中展示的编码装置104等计算装置或设备来执行过程1400。举例来说,所述计算装置或设备可包含编码器,或处理器、微处理器、微型计算机,或经配置以执行过程1400的步骤的编码器的其它组件。

过程1400被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的一系列操作。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时实施所叙述的操作。一般来说,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似者。描述操作的次序并不意图解释为限制,且任何数目的所描述操作可以任何次序组合和/或并行实施所述过程。

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

在1402,编码视频数据的过程1400包含根据第一译码协议产生经编码视频位流。经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集。在一些实施例中,经编码视频位流可使用HEVC译码技术或其它合适的译码技术来编码。

在1404,过程1400包含确定指示经编码视频位流中提供的视频信号信息语法结构的数目的语法元素不存在于视频参数集中。举例来说,编码器可确定指示视频参数集中将包含的视频信号信息语法结构的数目的语法元素(例如,vps_num_video_signal_info_minus1)不存在于视频参数集(例如,VPS或VPS VUI)中。

在1406,过程1400包含当指示经编码视频位流中提供的视频信号信息语法结构的数目的语法元素不存在于视频参数集中时确定视频参数集中将包含的视频信号信息语法结构的数目。基于基础层是包含在经编码视频位流中还是将从外部源提供到解码器而将所述数目确定为第一值或第二值。在一些实施例中,当确定基础层包含在经编码视频位流中时将视频参数集中将包含的视频信号信息语法结构的数目确定为所述第一值,在此情况下所述第一值等于经编码视频位流的层的最大数目。

在一些实施例中,当确定基础层将从外部源提供到解码器时将视频参数集中将包含的视频信号信息语法结构的数目确定为所述第二值,在此情况下所述第二值等于经编码视频位流的层的最大数目减去一。在一些实施例中,将视频信号信息语法结构指派给经编码视频位流中包含的层中的每一者,且不将视频信号信息语法结构指派给将从外部源提供到解码器的基础层。在一些实施例中,从外部源提供的基础层是根据第二译码协议经编码,所述第二译码协议不同于第一译码协议。在一些实例中,所述第一译码协议包含高效视频译码协议,且所述第二译码协议包含高级视频译码协议。

图15说明解码视频数据的过程1500的实施例。实施过程1500以推断VPS中的视频信号信息语法结构的数目。在一些方面中,过程1500可由例如图1或图17中所示的解码装置112等计算装置或设备执行。举例来说,所述计算装置或设备可包含解码器,或处理器、微处理器、微型计算机,或经配置以实行过程1500的步骤的解码器的其它组件。

过程1500被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的一系列操作。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时实施所叙述的操作。一般来说,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似者。描述操作的次序并不意图解释为限制,且任何数目的所描述操作可以任何次序组合和/或并行实施所述过程。

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

在1502,解码视频数据的过程1500包含存取根据第一译码协议编码的经编码视频位流。经编码视频位流包含一或多个增强层和界定所述经编码视频位流的参数的视频参数集。在一些实施例中,经编码视频位流可使用HEVC译码技术或其它合适的译码技术来编码。

在1504,过程1500包含确定指示经编码视频位流中提供的视频信号信息语法结构的数目的语法元素不存在于视频参数集中。举例来说,解码器可确定指示视频参数集中将包含的视频信号信息语法结构的数目的语法元素(例如,vps_num_video_signal_info_minus1)不存在于视频参数集中。在1506,过程1500包含确定基础层是包含在经编码视频位流中还是将从外部源接收。举例来说,基础层是包含在经编码视频位流中还是将从外部源接收的确定可基于提供到解码器的指示。所述指示可通过VPS的语法元素传达。在一个实例中,VPS的语法结构可包含具有向解码器指示基础层包含在经编码视频位流中的值(例如,1或0)的旗标。在另一实例中,VPS的语法结构可包含具有向解码器指示基础层将从外部源接收的值(例如,1或0)的旗标。

在1508,过程1500包含基于基础层是包含在经编码视频位流中还是将从外部源接收而将视频参数集中包含的视频信号信息语法结构的数目确定为第一值或第二值。在一些实施例中,过程1500包含当确定基础层包含在经编码视频位流中时将视频信号信息语法结构的数目确定为所述第一值,在此情况下所述第一值等于经编码视频位流的层的最大数目。

在一些实施例中,过程1500包含当确定基础层将从外部源接收时将视频信号信息语法结构的数目确定为所述第二值,在此情况下所述第二值等于经编码视频位流的层的最大数目减去一。在一些实施例中,将视频信号信息语法结构指派给经编码视频位流中包含的层中的每一者,且不将视频信号信息语法结构指派给将从外部源接收的基础层。在一些实施例中,从外部源提供的基础层是根据第二译码协议经编码,所述第二译码协议不同于第一译码协议。在一些实例中,所述第一译码协议包含高效视频译码协议,且其中所述第二译码协议包含高级视频译码协议。

上述技术防止当基础层由外部源提供时多余的视频信号信息语法结构的信令。甚至当基础层是根据单独协议经编码时此些信息的信令也导致低效率,因为额外视频信号信息语法结构是不需要的。

本文中所论述的译码技术可以在实例视频编码和解码系统(例如,系统100)中实施。系统包含提供待在稍后时间由目的地装置解码的经编码视频数据的源装置。明确地说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置和目的地装置可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、所谓的“智能”板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置,或类似物。在一些情况下,源装置和目的地装置可经装备以用于无线通信。

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

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

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

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

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

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

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

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

在图16和图17中分别展示编码装置104和解码装置112的具体细节。图16是说明可实施本发明中描述的技术中的一或多个的实例编码装置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)滤波器。尽管在图16中将滤波器单元63展示为环路内滤波器,但在其它配置中,可将滤波器单元63实施为环路后滤波器。后处理装置57可对由编码装置104产生的经编码视频数据执行额外处理。本发明的技术在一些情况下可由编码装置104实施。然而在其它情况下,本发明的技术中的一或多者可由后处理装置57实施。

如图16中所示,编码装置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用作参考块以对后续视频帧或图片中的块进行帧间预测。

以此方式,图16的编码装置104表示经配置以产生用于经编码视频位流的语法的视频编码器的实例。举例来说,编码装置104可以产生VPS、SPS和PPS参数集,如上文所述。编码装置104可执行本文所描述的技术中的任一者,包含上文图7、8、10、14和15描述的过程。已相对于编码装置104总体上描述了本发明的技术,但是如上文所提及,本发明的技术中的一些也可以通过后处理装置57实施。

图17是说明实例解码装置112的框图。解码装置112包含熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91和图片存储器92。预测处理单元81包含运动补偿单元82和帧内预测处理单元84。在一些实例中,解码装置112可执行总体上与关于图16的编码装置104描述的编码遍次互逆的解码遍次。

在解码过程期间,解码装置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)滤波器。尽管在图17中将滤波器单元91展示为环路内滤波器,但在其它配置中,可将滤波器单元91实施为环路后滤波器。接着将给定帧或图片中的经解码视频块存储在图片存储器92中,图片存储器92存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后在显示装置(例如,图1中所示的视频目的地装置122)上呈现。

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

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

结合本文中所揭示的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件、固件或其组合。为清晰地说明硬件与软件的此可互换性,以上已大体就其功能性来描述了各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用及施加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但这样的实施方案决策不应被解释为会引起脱离本发明的范围。

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

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

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