用于位流分区的符合性参数的制作方法

文档序号:11142988阅读:506来源:国知局
用于位流分区的符合性参数的制造方法与工艺

本发明涉及视频译码的领域。更确切地说,其适用于对位流分区操作的多层编解码器的位流符合性参数的规范。



背景技术:

数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似物。数字视频装置实施视频压缩技术,例如描述于以下各者中的那些技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、高效率视频译码(HEVC)标准,及此些标准的扩展。视频装置可通过实施这些视频译码技术而更有效率地发射、接收、编码、解码和/或存储数字视频信息。



技术实现要素:

本公开的系统、方法及装置各自具有若干创新方面,其中没有单个方面单独负责本文所揭示的合乎需要的属性。在不限制所附权利要求书的范围的情况下,本文描述某些特征。

在附图及以下描述中阐述本说明书中描述的标的物的一或多个实施方案的细节。其它特征、方面及优点将从描述、图式及权利要求书变得显而易见。应注意,以下各图的相对尺寸可能未按比例绘制。

根据本发明的一或多个方面,提供一种由视频编码器可操作的方法。所述方法可包括:对视频数据进行译码以形成具有至少一个层和至少一个层集合的位流;使每一层集合与至少一个输出层集合关联,其中所述至少一个输出层集合中的第一输出层集合指示将由视频解码器输出的其相关联层集合的子集。所述方法可进一步包括:使至少一个分割方案与所述至少一个输出层集合中的所述第一输出层集合关联;以及至少部分地基于所述输出层集合将第一符合性参数映射到所述至少一个分割方案当中的分割方案的分区。在一些实施例中,所述至少一个符合性参数可包括假想参考解码器(HRD)参数。

在一些实施例中,所述方法可在将所述第一符合性参数映射到所述分区之前执行关于是否用信号表示符合性参数的确定。

在一些实施例中,所述方法可进一步包括在所述第一输出层集合与仅一个分割方案相关联的情况下,在所述位流中用信号表示用以指示所述第一输出层集合与默认分割方案相关联的位。在一些实施例中,所述默认分割方案对应于其中每一层经分离成其自身的分区的分割方案。

在一些实施例中,所述方法可进一步包括:确定所述输出层集合的第一索引;确定与所述输出层集合相关联的所述分割方案的第二索引;识别嵌套补充增强信息(SEI)消息,所述嵌套SEI消息包括至少一个嵌套SEI消息;以及至少部分地基于所述第一和第二索引而界定所述至少一个嵌套SEI消息与所述分割方案之间的关联。

在一些实施例中,所述位流可与基础视频参数集(VPS)和视频可用性信息(VUI)参数集相关联,且所述方法可进一步包括:确定在所述基础VPS中用信号表示的至少一个符合性参数的第一部分;识别在所述VUI中用信号表示的所述至少一个符合性参数的第二部分;以及将所述第二部分扩展为经由与所述基础VPS相关联的数据结构可存取。在一些实施例中,映射所述第一符合性参数可包括基于与所述基础VPS相关联的所述数据结构而映射所述至少一个符合性参数的所述第一部分和所述第二部分。

在一些实施例中,至少一个分割方案可与所述至少一个输出层集合中的每一输出层集合相关联。

在一些实施例中,所述方法可进一步包括:使所述分割方案与所述至少一个输出层集合中的第二输出层集合关联;以及至少部分地基于第二输出层集合将第二符合性参数映射到与第二输出层集合相关联的所述分割方案的分区。

本发明的另一方面提供一种由视频解码器可操作的方法。所述方法可包括:接收具有至少一个层和至少一个层集合的视频数据位流;以及识别所述位流的所述至少一个层集合当中的层集合,所述经识别层集合指示待解码的所述至少一个层的子集。所述方法可进一步包括:确定与所述经识别层集合相关联的输出层集合,所述输出层集合指示将由所述视频解码器输出的所述经识别层集合的子集;以及确定与所述输出层集合相关联的分割方案;其中所述位流是根据与所述输出层集合相关联的所述分割方案作为一或多个分区而接收,且其中至少一个符合性参数至少部分地基于与所述分割方案相关联的所述输出层集合而映射到所述分割方案的分区。在一些实施例中,所述至少一个符合性参数可包括假想参考解码器(HRD)参数。

在一些实施例中,所述方法可进一步包括检查在所述位流中接收的位,以便确定所述输出层集合是否仅与默认分割方案相关联。在一些实施例中,所述默认分割方案对应于其中每一层经分离成其自身的分区的分割方案。

在一些实施例中,所述方法可进一步包括:识别与所述输出层集合相关联的索引;识别与关联于所述输出层集合的所述分割方案相关联的索引;识别嵌套补充增强信息(SEI)消息,所述嵌套SEI消息包括一或多个含有的SEI消息;以及使用所述经识别分割方案索引和经识别输出层集合索引识别所述嵌套SEI消息及其含有的SEI消息与所述分割方案之间的关联。

在一些实施例中,所述位流可与VPS和VUI相关联,且所述方法可进一步包括:识别在所述基础VPS中用信号表示的所述一或多个符合性参数的第一部分;以及识别在所述VUI中用信号表示的所述一或多个符合性参数的第二部分,其中符合性参数的所述第二部分经扩展以使得所述符合性参数通过与所述基础VPS相关联的数据结构可存取。在一些实施例中,映射到所述分区的所述一或多个符合性参数可包括符合性参数的所述第一部分以及通过与所述基础VPS相关联的所述数据结构存取的符合性参数的所述第二部分。

本发明的另一方面提供一种视频编码器。所述视频编码器可包括经配置以存储视频数据的存储器,以及与所述存储器通信的处理器。在一些实施例中,所述处理器经配置以:对所述视频数据进行译码以形成具有至少一个层和至少一个层集合的位流;使至少一个输出层集合与每一层集合关联,其中所述至少一个输出层集合中的输出层集合指示将由视频解码器输出的其相关联层集合的子集。所述处理器可进一步经配置以:使至少一个分割方案与所述至少一个输出层集合中的所述输出层集合关联;以及至少部分地基于所述输出层集合将至少一个符合性参数映射到所述至少一个分割方案当中的分割方案。在一些实施例中,所述至少一个符合性参数包括假想参考解码器(HRD)参数。在一些实施例中,所述处理器可经配置以在将所述至少一个符合性参数映射到所述分区之前执行关于是否用信号表示符合性参数的确定。

在一些实施例中,所述处理器可进一步经配置以响应于所述输出层集合与仅一个分割方案相关联,在所述位流中用信号表示用以指示所述输出层集合与默认分割方案相关联的位。在一些实施例中,所述默认分割方案可对应于将至少一个层中的每一层分离为其自身的分区的分割方案。

在一些实施例中,所述处理器可进一步经配置以:确定所述输出层集合的第一索引;确定与所述输出层集合相关联的所述分割方案的第二索引;识别嵌套补充增强信息(SEI)消息,所述嵌套SEI消息包括至少一个嵌套SEI消息;以及至少部分地基于所述第一和第二索引而界定所述至少一个嵌套SEI消息与所述分割方案之间的关联。

在一些实施例中,所述位流可与VPS和VUI参数集相关联,且所述处理器可进一步经配置以:确定在所述基础VPS中用信号表示的所述至少一个符合性参数的第一部分;识别在所述VUI中用信号表示的至少一个符合性参数的第二部分;以及将所述第二部分扩展为经由与所述基础VPS相关联的数据结构可存取。在一些实施例中,映射所述至少一个符合性参数可包括基于与所述基础VPS相关联的所述数据结构而映射所述第一部分和所述第二部分。

本发明的另一方面提供一种视频解码器。所述视频解码器可包括经配置以存储经解码视频数据的存储器以及与所述存储器通信的处理器。所述处理器可经配置以:对所接收视频数据位流进行解码以形成所述经解码视频数据,所述所接收视频数据位流具有至少一个层和至少一个层集合,其中所述解码包括:识别所述位流的所述至少一个层集合当中的层集合,所述经识别层集合指示待解码的所述至少一个层的子集;确定与所述经识别层集合相关联的输出层集合,所述输出层集合指示将由所述视频解码器输出的所述经识别层集合的子集;以及确定与所述输出层集合相关联的分割方案;其中所述位流是根据与所述输出层集合相关联的所述分割方案作为一或多个分区而接收,且其中至少一个符合性参数至少部分地基于与所述分割方案相关联的所述输出层集合而映射到所述分割方案的分区。在一些实施例中,所述至少一个符合性参数包括假想参考解码器(HRD)参数。

在一些实施例中,所述处理器可进一步经配置以检查在所述位流中接收的位,以便确定所述输出层集合是否仅与默认分割方案相关联。在一些实施例中,所述默认分割方案对应于其中每一层经分离成其自身的分区的分割方案。

在一些实施例中,所述处理器可进一步经配置以:识别与所述输出层集合相关联的索引;识别与关联于所述输出层集合的所述分割方案相关联的索引;识别嵌套补充增强信息(SEI)消息,所述嵌套SEI消息包括一或多个含有的SEI消息;以及使用所述经识别分割方案索引和经识别输出层集合索引识别所述嵌套SEI消息及其含有的SEI消息与所述分割方案之间的关联。

在一些实施例中,所述位流可与VPS和VUI相关联,且所述处理器可进一步经配置以:识别在所述基础VPS中用信号表示的所述一或多个符合性参数的第一部分;以及识别在所述VUI中用信号表示的所述一或多个符合性参数的第二部分,其中符合性参数的所述第二部分经扩展以使得所述符合性参数通过与所述基础VPS相关联的数据结构可存取。在一些实施例中,映射到所述分区的所述一或多个符合性参数可包括符合性参数的所述第一部分以及通过与所述基础VPS相关联的所述数据结构存取的符合性参数的所述第二部分。

附图说明

图1A是说明可利用根据本发明中描述的方面的技术的实例视频编码及解码系统的框图。

图1B是说明可执行根据本发明中描述的方面的技术的另一实例视频编码和解码系统的框图。

图2A为说明可实施根据本发明中所描述的方面的技术的视频编码器的实例的框图。

图2B是说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。

图3A是说明可实施本发明中描述的方面的技术的视频解码器的实例的框图。

图3B为说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。

图4A和4B说明根据本发明中描述的方面的视频数据层、层集合、输出层集合与分割方案之间的关系。

图5A说明根据本发明中描述的方面用于在经编码视频数据中映射HRD参数的方法的流程图。

图5B说明根据本发明中描述的方面用于对具有经映射HRD参数的视频数据进行解码的方法的流程图。

图6说明根据本发明中描述的方面的用于用信号表示分割方案的过程的流程图。

图7说明根据本发明中描述的方面在VPS_VUI中扩展HRD参数以使得可通过与基础VPS相关联的单个数据结构映射HRD参数。

图8说明根据本发明中描述的方面SEI消息可如何映射到分区。

具体实施方式

一般来说,本发明涉及在例如高效率视频译码(HEVC)等高级视频编解码器的上下文中指定符合性参数。更具体来说,本发明涉及用于在称为SHVC的HEVC的可缩放视频译码扩展中位流符合性参数的改进规范和映射的系统和方法。

可缩放视频译码是指其中使用基础层(BL)(有时被称作参考层(RL))及一或多个可缩放增强层(EL)的视频译码。在可缩放视频译码中,BL可携载具有基础质量水平的视频数据。一或多个EL可携载额外的视频数据以支持(例如)更高的空间、时间和/或信噪比(SNR)水平。EL可相对于先前经编码的层而界定。举例来说,底层可充当BL,而顶层可充当EL。中间层可充当EL或RL,或两者。举例来说,中间层(例如,既不是最低层也不是最高层的层)可为中间层下方的层(例如,BL或任何介入EL)的EL;且同时充当中间层上方的一或多个EL的RL。类似地,在HEVC标准的多视图或3D扩展中,可存在多个视图,且可利用一个视图的信息对另一视图的信息(例如,运动估计、运动向量预测和/或其它冗余)进行译码(例如,编码或解码)。

例如假想参考解码器(HRD)参数等位流符合性参数可被包含作为视频数据位流的部分,以允许解码器测试所接收位流的符合性。在使用分区发射的多层编解码器中,HRD参数可映射到特定分区。然而,仅将HRD参数映射到分区不考虑正使用的输出层集合。取决于正使用的输出集合,特定分区可能需要与不同HRD参数相关联。因此,需要用于指定和映射位流符合性参数的改进的方法。出于解释的目的,本发明将主要参考HRD参数。然而,应理解,本发明的技术也可以适用于其它类型的符合性参数。

在以下描述中,描述与某些实施例有关的H.264/AVC技术;还论述HEVC标准和相关技术。虽然本文中在HEVC和/或H.264标准和情况下描述某些实施例,但所属领域的技术人员可了解,本文中揭示的系统和方法可适用于任何合适的视频译码标准。举例来说,本文中所揭示的实施例可适用于以下标准中的一或多者(例如,包括由国际电信联盟电信标准化部门[ITU-T]视频译码专家组[VCEG]或国际标准化组织/国际电工委员会[ISO/IEC]运动图像专家组[MPEG]开发的标准):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-4AVC),包括其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。

在许多方面,HEVC通常遵循先前视频译码标准的框架。HEVC中的预测的单元不同于特定先前视频译码标准中的预测的单元(例如,宏块)。事实上,在HEVC中不存在如在某些先前视频译码标准中所理解的宏块的概念。宏块由基于四叉树方案的分层结构替换,所述分层结构可提供高灵活性和其它可能益处。举例来说,在HEVC方案内,定义三个类型的块,例如译码单位(CU)、预测单元(PU)和变换单元(TU)。CU可指区分裂的基本单元。可将CU视为类似于宏块的概念,但HEVC不限制CU的最大大小,且可允许递归分裂成四个大小相等的CU以改进内容适应性。PU可被认为是帧间/帧内预测的基本单元,且单个PU可含有多个任意形状分区以有效地译码不规则图像样式。TU可认为是变换的基本单元。可独立于PU界定TU;然而,TU的大小可限于TU属于的CU的大小。此块结构分离为三个不同概念可允许根据单元的相应作用来优化每一单元,这可得到改善的译码效率。

仅出于说明的目的,通过仅包括视频数据的两层(例如,较低层,例如BL;和较高层,例如EL)的实例来描述本文中所揭示的某些实施例。视频数据的“层”通常可指具有至少一个共同特性(例如,视图、帧速率、分辨率或类似者)的图片序列。举例来说,层可包含与多视图视频数据的特定视图(例如,透视图)相关联的视频数据。作为另一实例,层可包含与可缩放视频数据的特定层相关联的视频数据。因此,本发明可互换地参考视频数据的层和视图。举例来说,视频数据的视图可被称作视频数据的层,且视频数据的层可被称作视频数据的视图。此外,多层编解码器(也称为多层视频译码器或多层编码器-解码器)可共同指多视图编解码器或可缩放编解码器(例如,经配置以使用MV-HEVC、3D-HEVC、SHVC或另一多层译码技术编码和/或解码视频数据的编解码器)。视频编码和视频解码可通常被称作视频译码。应理解,这些实例可适用于包含多个BL、RL和/或EL的配置。另外,为了易于解释,参考某些实施例,以下揭示内容包含术语“帧”或“块”。然而,这些术语不打算具有限制性。举例来说,下文描述的技术可配合任何合适的视频单元(例如,块(例如,CU、PU、TU、宏块等)、切片、帧等)一起使用。

视频译码标准

例如视频图像、TV图像、静态图像或由录像机或计算机产生的图像等的数字图像可由布置成水平及垂直线的像素或样本构成。单个图像中的像素的数目通常有数万个。每一像素通常含有明度和色度信息。在无压缩的情况下,将从图像编码器传达到图像解码器的信息的绝对量将使实时图像传输变得不可能。为了减少待发射的信息的量,已开发出例如JPEG、MPEG及H.263标准等数个不同压缩方法。

视频译码标准包含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-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。

另外,视频译码标准(即,HEVC)正由ITU-T VCEG与ISO/IEC MPEG的关于视频译码的联合合作小组(JCT-VC)开发。对HEVC草案10的完全引用为布洛斯(Bross)等人的文献JCTVC-L1003“高效率视频译码(HEVC)文本规格草案10”,ITU-T SG16WP3与ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第12次会议:瑞士日内瓦,2013年1月14日至2013年1月23日。对HEVC的多视图扩展(即,MV-HEVC)和对HEVC的可缩放扩展(名为SHVC)也正分别由JCT-3V(ITU-T/ISO/IEC 3D视频译码扩展开发联合合作小组)和JCT-VC开发。

视频译码系统

下文参考附图更充分地描述新颖系统、设备及方法的各个方面。然而,本发明可以许多不同形式来体现,且不应将其解释为限于贯穿本发明所呈现的任何特定结构或功能。相反地,提供这些方面以使得本发明将透彻且完整,并且将向所属领域的技术人员充分传达本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围既定涵盖无论是独立于本发明的任何其它方面而实施还是与之组合而实施的本文中所揭示的新颖系统、设备及方法的任何方面。举例来说,可以使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本发明的范围既定涵盖使用除本文中所阐述的本发明的各种方面之外的或不同于本文中所阐述的本发明的各种方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,可通过权利要求的一或多个要素来体现本文中所公开的任何方面。

尽管本文描述了特定方面,但这些方面的许多变化及排列落在本发明的范围内。尽管提及了优选方面的一些益处及优点,但本发明的范围不希望限于特定益处、用途或目标。而是,本发明的方面既定广泛地适用于不同无线技术、系统配置、网络及发射协议,其中的一些是借助于实例而在图中以及在优选方面的以下描述中说明。具体实施方式和图式仅说明本发明,而不是限制由所附权利要求书和其等效物界定的本发明的范围。

附图说明若干实例。由附图中的参考标号指示的元件对应于在以下描述中由相同参考标号指示的元件。在本发明中,名称以序数词(例如,“第一”、“第二”、“第三”等)开始的元件未必暗示所述元件具有特定次序。而是,此些序数词仅用于指代相同或类似类型的不同元件。

图1A为说明可利用根据本发明中所描述的方面的技术的实例视频译码系统10的框图。如本文中所描述地使用,术语“视频译码器”一般指代视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码和视频解码。除了视频编码器和视频解码器外,本申请案中描述的方面可扩展到其它相关装置,例如,转码器(例如,可解码位流且重新编码另一位流的装置)及中间框(例如,可修改、变换及/或另外操纵位流的装置)。

如图1A中所示,视频译码系统10包含源装置12,其产生将在稍后时间由目的地装置14解码的经编码视频数据。在图1A的实例中,源装置12和目的地装置14在单独的装置上,具体来说,源装置12是源装置的部分,且目的地装置14是目的地装置的部分。但是,应注意,源装置12和目的地装置14可在相同装置的一部分上,如图1B的实例中所示。

再次参考图1A,源装置12和目的地装置14可分别包括广泛范围的装置中的任一者,包含台式计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏机、视频流装置等等。在各种实施例中,源装置12和目的地装置14可经装备以用于无线通信。

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

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

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

在图1A的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包含例如视频俘获装置(例如,摄像机)、含有先前所俘获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据以作为源视频的计算机图形系统,或此类源的组合等源。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的相机电话或视频电话,如图1B的实例中所说明。然而,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线和/或有线应用。

可由视频编码器20编码所俘获视频、预俘获的视频或计算机产生的视频。经编码视频数据可经由源装置12的输出接口22直接发射到目的地装置14。经编码视频数据也可(或替代地)存储到存储装置31上以供稍后由目的地装置14或其它装置存取以用于解码和/或重放。图1A和1B中说明的视频编码器20可包括图2A中说明的视频编码器20、图2B中说明的视频编码器23或本文中描述的任一其它视频编码器。

在图1A的实例中,目的地装置14包括输入接口28、视频解码器30和显示装置32。在一些状况下,输入接口28可包括接收器和/或调制解调器。目的地装置14的输入接口28可经由链路16和/或从存储装置31接收经编码视频数据。经由链路16传递或在存储装置31上提供的经编码视频数据可包括由视频编码器20产生的多种语法元素,用于由例如视频解码器30的视频解码器在解码视频数据时使用。此类语法元素可与在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码视频数据包含在一起。图1A和1B中说明的视频解码器30可包括图3A中说明的视频解码器30、图3B中说明的视频解码器33或本文中描述的任一其它视频解码器。

显示装置32可与目的地装置14集成或者在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,并且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示器装置32将经解码视频数据显示给用户,且可包括多种显示器装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示器装置。

在相关方面中,图1B展示实例视频编码和解码系统10′,其中源装置12和目的地装置14在装置11上或作为其一部分。装置11可为电话手持机,例如“智能”电话等等。装置11可包含与源装置12和目的地装置14操作性通信的任选的处理器/控制器装置13。图1B的系统10′及其组件另外类似于图1A的系统10及其组件。

视频编码器20及视频解码器30可根据例如HEVC标准等视频压缩标准操作,且可符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可根据其它专有或行业标准或此类标准的扩展来操作,所述标准例如ITU-T H.264标准,或者被称作MPEG-4第10部分AVC。但是,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。

尽管图1A和1B的实例中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么MUX-DEMUX单元可以符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。

视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包括在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(例如,编解码器)的一部分。

视频译码过程

如上文简要提及,视频编码器20编码视频数据。视频数据可以包括一或多个图片。图片中的每一者为形成视频的部分的静态图像。在一些情况下,图片可被称作视频“帧”。当视频编码器20编码视频数据时,视频编码器20可产生位流。位流可包含形成视频数据的经译码表示的一连串位。位流可包含经译码图片和相关联的数据。经译码的图片是图片的经译码的表示。

为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对所述图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相关联的数据可包含视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、自适应参数集(APS)和其它语法结构。SPS可以含有适用于零个或多于零个的图片序列的参数。PPS可含有适用于零或更多图片的参数。APS可含有适用于零个或更多图片的参数。APS中的参数可为比PPS中的参数更可能改变的参数。

为了产生经译码图片,视频编码器20可将图片分割成大小相等的视频块。视频块可为样本的二维阵列。视频块中的每一者与树块相关联。在一些情况下,树块可被称作最大译码单元(LCU)。HEVC的树块可广泛类似于例如H.264/AVC等先前标准的宏块。然而,树块不必限于特定大小,且可包含一或多个译码单元(CU)。视频编码器20可使用四叉树分割将树块的视频块分割成与CU相关联的视频块(因此名称为“树块”)。

在一些实例中,视频编码器20可将图片分割成多个切片。切片中的每一者可包含整数数目个CU。在一些情况下,一个切片包括整数数目个树块。在其它情况下,切片的边界可在树块内。

作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可称为“经译码切片”。

为了产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包括表示树块的经编码型式的数据。

当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片中的树块执行编码操作(例如,编码)。举例来说,视频编码器20可按如下次序来对切片的树块进行编码:跨越切片中的树块的最顶行从左到右进行,接着跨越树块的下一较低行从左到右进行,以此类推,直到视频编码器20已对切片中的树块的每一者进行了编码为止。

作为根据光栅扫描次序编码树块的结果,可已编码在给定树块的上方和左边的树块,但尚未编码在给定树块的下方和右边的树块。因此,当对给定树块进行编码时,视频编码器20可能能够存取通过对给定树块的上方和左边的树块进行编码而产生的信息。然而,当编码给定树块时,视频编码器20可能不能够存取通过编码在给定树块的下方和右边的树块而产生的信息。

为产生经译码树块,视频编码器20可对树块的视频块递归地执行四叉树分割以将所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,视频编码器20可将树块的视频块分割成四个大小相等的子块、将所述子块中的一或多者分割成四个大小相等的子子块(sub-sub-block),以此类推。经分割的CU可为其视频块被分割成与其它CU相关联的视频块的CU。未分割CU可为其视频块未被分割成与其它CU相关联的视频块的CU。

位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大次数。CU的视频块在形状上可为正方形。CU的视频块的大小(例如,CU的大小)范围可从8x8像素直到具有最大64x64个像素或更大的树块的视频块的大小(例如,树块的大小)。

视频编码器20可根据z扫描次序对树块的每一CU执行编码操作(即,编码)。换句话说,视频编码器20可将左上CU、右上CU、左下CU和接着右下CU按此次序编码。当视频编码器20对经分割的CU执行编码操作时,视频编码器20可根据z扫描次序对与经分割的CU的视频块的子块相关联的CU进行编码。换句话说,视频编码器20可对与左上子块相关联的CU、与右上子块相关联的CU、与左下子块相关联的CU,且接着是与右下子块相关联的CU按所述顺序进行编码。

作为根据z扫描次序编码树块的CU的结果,可已编码在给定CU的上方、左上方、右上方、左边的左下方的CU。尚未对给定CU的右下方的CU进行编码。因此,当对给定CU进行编码时,视频编码器20可能能够存取通过对与给定CU相邻的一些CU进行编码而产生的信息。然而,当对给定CU进行编码时,视频编码器20可能不能够存取通过对与给定CU相邻的其它CU进行编码而产生的信息。

当视频编码器20编码未分割的CU时,视频编码器20可产生用于所述CU的一或多个预测单元(PU)。CU的PU中的每一者可与CU的视频块内的不同视频块相关联。视频编码器20可产生用于CU的每一PU的经预测视频块。PU的经预测视频块可为样本块。视频编码器20可使用帧内预测或帧间预测来产生用于PU的预测视频块。

当视频编码器20使用帧内预测来产生PU的经预测视频块时,视频编码器20可基于与PU相关联的图片的经解码样本来产生PU的经预测视频块。如果视频编码器20使用帧内预测来产生CU的PU的经预测视频块,那么CU为经帧内预测的CU。当视频编码器20使用帧间预测来产生PU的经预测视频块时,视频编码器20可基于不同于与PU相关联的图片的一或多个图片的经解码样本来产生所述PU的经预测视频块。如果视频编码器20使用帧间预测来产生CU的PU的经预测视频块,那么所述CU为经帧间预测CU。

此外,当视频编码器20使用帧间预测来产生用于PU的经预测视频块时,视频编码器20可产生用于所述PU的运动信息。PU的运动信息可指示PU的一或多个参考块。PU的每一参考块可为参考图片内的视频块。参考图片可为除与PU相关联的图片以外的图片。在一些情况下,PU的参考块也可被称作PU的“参考样本”。视频编码器20可基于PU的参考块产生所述PU的预测视频块。

在视频编码器20产生用于CU的一或多个PU的经预测视频块之后,视频编码器20可基于用于CU的所述PU的预测视频块产生所述CU的残余数据。CU的残余数据可指示用于CU的PU的预测视频块中的样本与CU的原始视频块之间的差。

此外,作为对未分割的CU执行编码操作的部分,视频编码器20可对CU的残余数据执行递回四叉树分割以将CU的残余数据分割成与CU的变换单元(TU)相关联的一或多个残余数据块(例如,残余视频块)。CU的每一TU可与不同残余视频块相关联。

视频编码器20可对与TU相关联的残余视频块应用一或多个变换以产生与TU相关联的变换系数块(例如,变换系数的块)。在概念上,变换系数块可为变换系数的二维(2D)矩阵。

在产生变换系数块之后,视频编码器20可对所述变换系数块执行量化处理。量化总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。量化过程可减少与变换系数中的一些或全部相关联的位深度。例如,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。

视频编码器20可使每一CU与量化参数(QP)值相关联。与CU相关联的QP值可确定视频编码器20如何与所述CU相关联的变换系数块进行量化。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的变换系数块的量化的程度。

在视频编码器20量化变换系数块之后,视频编码器20可产生表示经量化变换系数块中的变换系数的语法元素集。视频编码器20可将例如上下文自适应性二进制算术译码(CABAC)操作的熵编码操作应用于这些语法元素中的一些。也可使用例如上下文自适应可变长度译码(CAVLC)、概率区间分割熵(PIPE)译码或其它二进制算术译码的其它熵译码技术。

由视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。所述NAL单元中的每一者可为含有NAL单元中的数据类型的指示及含有数据的字节的语法结构。举例来说,NAL单元可含有表示视频参数集、序列参数集、图片参数集、经译码切片、补充增强信息(SEI)、存取单元分隔符、填充数据或另一类型的数据的数据。NAL单元中的数据可包含各种语法结构。

视频解码器30可接收由视频编码器20产生的位流。所述位流可包含由视频编码器20编码的视频数据的经译码表示。当视频解码器30接收到位流时,视频解码器30可对所述位流执行剖析操作。当视频解码器30执行剖析操作时,视频解码器30可从所述位流提取语法元素。视频解码器30可基于从位流提取的语法元素重构视频数据的图片。基于语法元素重构视频数据的过程可与由视频编码器20执行以产生语法元素的过程大体互逆。

在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于所述语法元素产生用于CU的PU的经预测视频块。另外,视频解码器30可对与CU的TU相关联的变换系数块进行逆量化。视频解码器30可对变换系数块执行逆变换以重构与CU的TU相关联的残余视频块。在产生经预测视频块且重构残余视频块之后,视频解码器30可基于经预测视频块及残余视频块重构CU的视频块。以此方式,视频解码器30可基于位流中的语法元素重构CU的视频块。

视频编码器

图2A为说明可实施根据本发明中所描述的方面的技术的视频编码器的实例的框图。视频编码器20可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频编码器20可经配置以执行本发明的技术中的任一者或全部。作为一个实例,预测处理单元100可经配置以执行本发明中所描述的技术中的任一者或全部。在另一实施例中,视频编码器20包含任选的层间预测单元128,所述层间预测单元经配置以执行本发明中描述的技术中的任一者或全部。在其它实施例中,层间预测可由预测处理单元100(例如,帧间预测单元121及/或帧内预测单元126)执行,在此情况下可省略层间预测单元128。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。

出于解释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可以适用于其它译码标准或方法。图2A中所描绘的实例是针对单层编解码器。然而,如将关于图2B进一步描述,可复制视频编码器20中的一些或全部以用于多层编解码器的处理。

视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依靠时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的译码模式中的任一者。

在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包括预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换单元110、重构单元112、滤波器单元113、经解码图片缓冲器114和熵编码单元116。预测处理单元100包含帧间预测单元121、运动估计单元122、运动补偿单元124、帧内预测单元126及层间预测单元128。在其它实例中,视频编码器20可包含更多、更少或不同的功能组件。此外,运动估计单元122和运动补偿单元124可高度集成,但出于解释的目的而在图2A的实例中分开表示。

视频编码器20可以接收视频数据。视频编码器20可从各种源接收视频数据。举例来说,视频编码器20可从视频源18(例如,图1A或1B中所展示)或另一源接收视频数据。视频数据可表示一系列图片。为编码视频数据,视频编码器20可对图片中的每一者执行编码操作。作为对图片执行编码操作的一部分,视频编码器20可对图片的每一切片执行编码操作。作为对切片执行编码操作的部分,视频编码器20可对切片中的树块执行编码操作。

作为对树块执行编码操作的部分,预测处理单元100可对树块的视频块执行四叉树分割以将所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,预测处理单元100可将树块的视频块分割成四个相等大小的子块,将所述子块中的一或多者分割成四个相等大小的子子块,等等。

与CU相关联的视频块的大小范围可从8x8样本高达最大64x64像素或更大的树块大小。在本发明中,“N×N”和“N乘N”可互换使用来指代在垂直及水平尺寸方面的视频块的样本尺寸,例如,16×16样本或16乘16样本。一般来说,16x16视频块在垂直方向上具有16个样本(y=16),且在水平方向上具有16个样本(x=16)。同样,NxN块一般在垂直方向上具有N个样本,且在水平方向上具有N个样本,其中N表示非负整数值。

另外,作为对树块执行编码操作的部分,预测处理单元100可产生用于所述树块的阶层式四叉树数据结构。例如,树块可对应于四叉树数据结构的根节点。如果预测处理单元100将树块的视频块分割成四个子块,那么根节点在四叉树数据结构中具有四个子级节点。所述子节点中的每一者对应于与子块中的一者相关联的CU。如果预测处理单元100将子块中的一者分割成四个子子块,那么对应于与子块相关联的CU的节点可具有四个子级节点,其中的每一者对应于与子子块中的一者相关联的CU。

四叉树数据结构的每一节点可含有用于对应树块或CU的语法数据(例如,语法元素)。例如,四叉树中的节点可包含分裂旗标,其指示对应于所述节点的CU的视频块是否被分割(例如,分裂)成四个子块。用于CU的语法元素可递归地界定,且可取决于所述CU的视频块是否分裂成子块。视频块未被分割的CU可对应于四叉树数据结构中的叶节点。经译码树块可包含基于对应树块的四叉树数据结构的数据。

视频编码器20可对树块的每一未分割CU执行编码操作。当视频编码器20对未分割CU执行编码操作时,视频编码器20产生表示未分割CU的经编码表示的数据。

作为对CU执行编码操作的部分,预测处理单元100可在CU的一或多个PU间分割CU的视频块。视频编码器20及视频解码器30可支持各种PU大小。假定特定CU的大小为2Nx2N,视频编码器20及视频解码器30可支持2Nx2N或NxN的PU大小,及2Nx2N、2NxN、Nx2N、NxN、2NxnU、nLx2N、nRx2N或类似的对称PU大小的帧间预测。视频编码器20及视频解码器30还可支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的不对称分割。在一些实例中,预测处理单元100可执行几何分割以沿并不按直角与CU的视频块的侧会合的边界来在CU的PU间分割CU的视频块。

帧间预测单元121可对CU的每一PU执行帧间预测。帧间预测可提供时间压缩。为了对PU执行帧间预测,运动估计单元122可产生PU的运动信息。运动补偿单元124可基于运动信息和除与CU相关联的图片(例如,参考图片)以外的图片的经解码样本而产生PU的经预测视频块。在本发明中,由运动补偿单元124产生的经预测视频块可称作经帧间预测视频块。

切片可为I切片、P切片,或B切片。运动估计单元122和运动补偿单元124可取决于PU处于I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测。因此,如果PU在I切片中,那么运动估计单元122及运动补偿单元124不对PU执行帧间预测。

如果PU在P切片中,那么含有所述PU的图片与被称作“列表0”的参考图片列表相关联。列表0中的参考图片中的每一者含有可用于其它图片的帧间预测的样本。当运动估计单元122关于P切片中的PU执行运动估计操作时,运动估计单元122可搜索列表0中的参考图片以找出PU的参考块。PU的参考块可为最紧密对应于PU的视频块中的样本的一组样本,例如,样本块。运动估计单元122可使用多种度量来确定参考图片中的一组样本对应于PU的视频块中的样本的紧密程度。例如,运动估计单元122可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定参考图片中的一组样本对应于PU的视频块中的样本的接近程度。

在识别出P切片中的PU的参考块之后,运动估计单元122可产生指示列表0中含有参考块的参考图片的参考索引,以及指示PU与参考块之间的空间位移的运动向量。在各种实例中,运动估计单元122可以不同精确度产生运动向量。举例来说,运动估计单元122可以四分之一样本精确度、八分之一样本精确度或其它分数样本精确度产生运动向量。在分数样本精确度的情况下,参考块值可从参考图片中的整数位置样本值内插。运动估计单元122可将参考索引及运动向量输出为PU的运动信息。运动补偿单元124可基于由PU的运动信息识别的参考块而产生PU的经预测视频块。

如果PU处于B切片中,那么含有PU的图片可与被称作“列表0”和“列表1”的两个参考图片列表相关联。在一些实例中,含有B切片的图片可与为列表0与列表1的组合的列表组合相关联。

此外,如果PU在B切片中,那么运动估计单元122可对PU执行单向预测或双向预测。当运动估计单元122对PU执行单向预测时,运动估计单元122可搜索列表0或列表1中的参考图片以找出用于所述PU的参考块。运动估计单元122可随后产生指示列表0或列表1中的含有参考块的参考图片的参考索引和指示PU与参考块之间的空间位移的运动向量。运动估计单元122可输出参考索引、预测方向指示符和运动向量作为所述PU的运动信息。预测方向指示符可指示参考索引指示列表0还是列表1中的参考图片。运动补偿单元124可基于由PU的运动信息指示的参考块来产生PU的经预测视频块。

当运动估计单元122针对PU执行双向预测时,运动估计单元122可搜索列表0中的参考图片以找到用于所述PU的参考块,且还可搜索列表1中的参考图片以找到用于所述PU的另一参考块。运动估计单元122可随后产生指示列表0和列表1中的含有参考块的参考图片的参考索引和指示参考块与PU之间的空间位移的运动向量。运动估计单元122可输出PU的参考索引及运动向量作为PU的运动信息。运动补偿单元124可基于由PU的运动信息指示的参考块而产生PU的经预测视频块。

在一些情况下,运动估计单元122不将PU的运动信息的完整集合输出到熵编码单元116。实际上,运动估计单元122可参考另一PU的运动信息用信号表示PU的运动信息。举例来说,运动估计单元122可确定PU的运动信息足够类似于相邻PU的运动信息。在此实例中,运动估计单元122可在与PU相关联的语法结构中指示一值,所述值向视频解码器30指示PU具有与相邻PU相同的运动信息。在另一实例中,运动估计单元122可在与PU相关联的语法结构中识别相邻PU和运动向量差(MVD)。运动向量差指示PU的运动向量与所指示的相邻PU的运动向量之间的差。视频解码器30可使用所指示的相邻PU的运动向量及运动向量差来确定PU的运动向量。通过在用信号表示第二PU的运动信息时参考第一PU的运动信息,视频编码器20可能能够使用较少位用信号表示第二PU的运动信息。

作为对CU执行编码操作的部分,帧内预测单元126可对CU的PU执行帧内预测。帧内预测可提供空间压缩。当帧内预测单元126对PU执行帧内预测时,帧内预测单元126可基于同一图片中的其它PU的经解码样本来产生用于PU的预测数据。用于PU的预测数据可包含经预测视频块和各种语法元素。帧内预测单元126可对I切片、P切片和B切片中的PU执行帧内预测。

为了对PU执行帧内预测,帧内预测单元126可使用多个帧内预测模式以产生用于PU的预测数据的多个集合。当帧内预测单元126使用帧内预测模式来产生PU的预测数据的集合时,帧内预测单元126可在与帧内预测模式相关联的方向和/或梯度上跨越PU的视频块从相邻PU的视频块扩展样本。相邻PU可在所述PU的上方、右上方、左上方或左侧,假定对于PU、CU和树块采用从左到右、从上到下的编码次序。帧内预测单元126可取决于PU的大小而使用各种数目个帧内预测模式,例如33个方向性帧内预测模式。

预测处理单元100可从由运动补偿单元124针对PU产生的预测数据或由帧内预测单元126针对PU产生的预测数据当中选择用于PU的预测数据。在一些实例中,预测处理单元100基于预测数据集合的速率/失真度量而选择PU的预测数据。

如果预测处理单元100选择由帧内预测单元126产生的预测数据,那么预测处理单元100可用信号表示用以产生用于PU的预测数据的帧内预测模式,即,选定帧内预测模式。预测处理单元100可以各种方式用传信所选帧内预测模式。举例来说,有可能所选帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为用于当前PU的最可能模式。因此,预测处理单元100可产生用以指示选定帧内预测模式与相邻PU的帧内预测模式相同的语法元素。

如上文所论述,视频编码器20可包含层间预测单元128。层间预测单元128经配置以使用在可缩放视频译码中可用的一或多个不同层(例如,BL或RL)预测当前块(例如,EL中的当前块)。此预测可称作层间预测。层间预测单元128利用预测方法减少层间冗余,借此改进译码效率且降低计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用BL中对处于相同位置的块的重构来预测EL中的当前块。层间运动预测使用BL的运动信息来预测EL中的运动。层间残余预测使用BL的残余来预测EL的残余。下文更详细地论述层间预测方案中的每一者。

在预测处理单元100选择用于CU的PU的预测数据之后,残余产生单元102可通过从CU的视频块减去(例如,由减号指示)CU的PU的经预测视频块而产生用于CU的残余数据。CU的残余数据可包含对应于CU的视频块中的样本的不同样本分量的2D残余视频块。举例来说,残余数据可包含对应于CU的PU的经预测视频块中的样本的明度分量与CU的原始视频块中的样本的明度分量之间的差的残余视频块。另外,CU的残余数据可包含对应于CU的PU的预测视频块中的样本的色度分量与CU的原始视频块中的样本的色度分量之间的差的残余视频块。

预测处理单元100可执行四叉树分割以将CU的残余视频块分割成子块。每一未经划分的残余视频块可与CU的不同TU相关联。与CU的TU相关联的残余视频块的大小及位置可基于或可不基于与CU的PU相关联的视频块的大小及位置。被称为“残余四叉树”(RQT)的四叉树结构可包含与残余视频块中的每一者相关联的节点。CU的TU可以对应于RQT的叶节点。

变换处理单元104可通过将一或多个变换应用于与CU的每一TU相关联的残余视频块而产生用于所述TU的一或多个变换系数块。变换系数块中的每一者可为变换系数的2D矩阵。变换处理单元104可将各种变换应用于与TU相关联的残余视频块。举例来说,变换处理单元104可将离散余弦变换(DCT)、方向性变换或概念上类似的变换应用到与TU相关联的残余视频块。

在变换处理单元104产生与TU相关联的变换系数块之后,量化单元106可量化所述变换系数块中的变换系数。量化单元106可基于与CU相关联的QP值而对与CU的TU相关联的变换系数块进行量化。

视频编码器20可以各种方式使QP值与CU相关联。例如,视频编码器20可对与CU相关联的树块执行速率失真分析。在速率-失真分析中,视频编码器20可通过对树块执行多次编码操作而产生树块的多个经译码表示。在视频编码器20产生树块的不同经编码表示时,视频编码器20可使不同QP值与CU相关联。当给定QP值与具有最低位速率和失真量度的树块的经译码表示中的CU相关联时,视频编码器20可信令所述给定QP值与CU相关联。

逆量化单元108和逆变换单元110可分别将逆量化及逆变换应用于变换系数块以从变换系数块重构残余视频块。重构单元112可将经重构的残余视频块添加到来自由预测处理单元100产生的一或多个预测视频块的对应样本,以产生与TU相关联的经重构视频块。通过以此方式重构CU的每一TU的视频块,视频编码器20可重构CU的视频块。

在重构单元112重构CU的视频块之后,滤波器单元113可执行解块操作以减小与所述CU相关联的视频块中的成块假象。在执行一或多个解块操作之后,滤波器单元113可将CU的经重构视频块存储在经解码图片缓冲器114中。运动估计单元122和运动补偿单元124可使用含有经重构视频块的参考图片来对后续图片的PU执行帧间预测。另外,帧内预测单元126可使用经解码图片缓冲器114中的经重构视频块对处于与CU相同图片中的其它PU执行帧内预测。

熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元116可从量化单元106接收变换系数块并且可从预测处理单元100接收语法元素。当熵编码单元116接收到数据时,熵编码单元116可以执行一或多个熵编码操作以产生经熵编码数据。举例来说,视频编码器20可对所述数据执行CAVLC操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作,或另一类型的熵编码操作。熵编码单元116可输出包含经熵编码数据的位流。

作为对数据执行熵编码操作的一部分,熵编码单元116可选择上下文模型。如果熵编码单元116正执行CABAC操作,那么上下文模型可指示特定二进制数具有特定值的概率的估计。在CABAC的情况下,术语“二进位”用以指语法元素的二进制化版本的位。

多层视频编码器

图2B为说明可实施根据本发明中所描述的方面的技术的多层视频编码器23(也被简称为视频编码器23)的实例的框图。视频编码器23可经配置以处理多层视频帧,例如针对SHVC和多视图译码。另外,视频编码器23可经配置以执行本发明的技术中的任一者或全部。

视频编码器23包括视频编码器20A和视频编码器20B,其中的每一者可经配置为视频编码器20,且可执行上文关于视频编码器20描述的功能。另外,如由参考数字的再使用所指示,视频编码器20A和20B可包括如视频编码器20的系统和子系统中的至少一些。虽然将视频编码器23说明为包含两个视频编码器20A和20B,但视频编码器23不受如此限制,且可包含任何数目个视频编码器20层。在一些实施例中,视频编码器23可包括针对存取单元中的每一图片或帧的视频编码器20。例如,包含五个图片的存取单元可由包含五个编码器层的视频编码器处理或编码。在一些实施例中,视频编码器23可包含比存取单元中的帧更多的编码器层。在一些此类情况下,当处理一些存取单元时,一些视频编码器层可能不在作用中。

除了视频编码器20A和20B之外,视频编码器23可包含再取样单元90。在一些情况下,再取样单元90可对所接收视频帧的BL进行上取样以例如产生EL。再取样单元90可对与帧的所接收到的BL相关联的特定信息进行上取样,但不对其它信息进行上取样。举例来说,再取样单元90可对BL的空间大小或像素数目上取样,但切片的数目或图片次序计数可保持恒定。在一些情况下,再取样单元90可不处理所接收的视频及/或可为任选的。举例来说,在一些情况下,预测处理单元100可执行上取样。在一些实施例中,再取样单元90经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则及/或光栅扫描规则。虽然主要描述为上取样BL或存取单元中的较低层,但在一些状况下,再取样单元90可对层下取样。例如,如果在视频的流式传输期间减小带宽,那么可对帧进行下取样而不是上取样。

再取样单元90可经配置以从较低层编码器(例如,视频编码器20A)的经解码图片缓冲器114接收图片或帧(或与图片相关联的图片信息),并对所述图片(或所接收到的图片信息)进行上取样。可接着将此经上取样图片提供到较高层编码器(例如,视频编码器20B)的预测处理单元100,所述较高层编码器经配置以编码与较低层编码器相同的存取单元中的图片。在一些情况下,较高层编码器为从较低层编码器去除的一个层。在其它情况下,在图2B的层0编码器与层1编码器之间可存在一或多个较高层编码器。

在一些情况下,可省略或绕过再取样单元90。在此类状况下,可直接或在至少不提供到再取样单元90的情况下将来自视频编码器20A的经解码图片缓冲器114的图片提供到视频编码器20B的预测处理单元100。举例来说,如果提供到视频编码器20B的视频数据和来自视频编码器20A的经解码图片缓冲器114的参考图片具有相同大小或分辨率,那么可将参考图片提供到视频编码器20B而无任何再取样。

在一些实施例中,视频编码器23使用下取样单元94对将提供到较低层编码器的视频数据下取样,之后将所述视频数据提供到视频编码器20A。替代地,下取样单元94可为能够对视频数据上取样或下取样的再取样单元90。在另外其它实施例中,可省略下取样单元94。

如图2B中所说明,视频编码器23可进一步包括多路复用器98或mux。多路复用器98可从视频编码器23输出组合的位流。可通过从视频编码器20A和20B中的每一者取得位流且交替在给定时间输出哪一位流来产生组合的位流。虽然在一些情况下,可一次一个位地交替来自两个(或在两个以上视频编码器层的情况下更多)位流的位,但在许多情况下,不同地组合所述位流。举例来说,可通过一次一个块地交替所选位流来产生输出位流。在另一实例中,可通过从视频编码器20A和20B中的每一者输出非1:1比率的块来产生输出位流。举例来说,可针对从视频编码器20A输出的每一块从视频编码器20B输出两个块。在一些实施例中,可预编程来自多路复用器98的输出流。在其它实施例中,多路复用器98可基于从视频编码器23外部的系统(例如从包含源装置12的源装置上的处理器)接收的控制信号而组合来自视频编码器20A、20B的位流。可基于来自视频源18的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订),或基于用于确定来自视频编码器23的所要分辨率输出的任何其它因素来产生控制信号。

视频解码器

图3A为说明可实施根据本发明中所描述的方面的技术的视频解码器的实例的框图。视频解码器30可经配置以处理视频帧的单层(例如,针对HEVC)。此外,视频解码器30可经配置以执行本发明的技术中的任一者或全部。作为一个实例,运动补偿单元162和/或帧内预测单元164可经配置以执行本发明中描述的技术中的任一者或全部。在一个实施例中,视频解码器30可任选地包含层间预测单元166,层间预测单元166经配置以执行本发明中所描述的技术中的任一者或全部。在其它实施例中,层间预测可由预测处理单位152(例如,运动补偿单元162及/或帧内预测单元164)执行,在此情况下,可省略层间预测单元166。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频解码器30的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。

出于解释的目的,本发明描述在HEVC译码的背景下的视频解码器30。然而,本发明的技术可以适用于其它译码标准或方法。图3A中所描绘的实例是针对单层编解码器。然而,如将关于图3B进一步描述,可复制视频解码器30中的一些或全部以用于多层编解码器的处理。

在图3A的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包括熵解码单元150、预测处理单元152、逆量化单元154、逆变换单元156、重构单元158、滤波器单元159和经解码图片缓冲器160。预测处理单元152包括运动补偿单元162、帧内预测单元164和层间预测单元166。在一些实例中,视频解码器30可执行大体与关于图2A的视频编码器20所描述的编码遍次互逆的解码遍次。在其它实例中,视频解码器30可包含较多、较少或不同的功能组件。

视频解码器30可接收包括经编码视频数据的位流。所述位流可包含多个语法元素。当视频解码器30接收到位流时,熵解码单元150可对所述位流执行剖析操作。对位流执行剖析操作的结果是,熵解码单元150可从所述位流提取语法元素。作为执行剖析操作的一部分,熵解码单元150可对位流中的经熵编码语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换单元156、重构单元158及滤波器单元159可执行重构操作,重构操作基于从位流提取的语法元素产生经解码视频数据。

如上文所论述,位流可包括一系列NAL单元。位流的NAL单元可包含视频参数集NAL单元、序列参数集NAL单元、图片参数集NAL单元、SEI NAL单元等等。作为对位流执行剖析操作的一部分,熵解码单元150可执行剖析操作,所述剖析操作从序列参数集NAL单元提取且熵解码序列参数集、从图片参数集NAL单元提取且熵解码图片参数集、从SEI NAL单元提取且熵解码SEI数据等等。

此外,位流的NAL单元可包含经译码切片NAL单元。作为对位流执行剖析操作的部分,熵解码单元150可执行剖析操作,所述剖析操作从经译码切片NAL单元提取且熵解码经译码切片。经译码切片中的每一者可包含切片标头以及切片数据。切片标头可以含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有所述切片的图片相关联的图片参数集的语法元素。熵解码单元150可对经译码切片标头中的语法元素执行熵解码操作(例如,CABAC解码操作),以恢复切片标头。

作为从经译码切片NAL单元提取切片数据的部分,熵解码单元150可执行从切片数据中的经译码CU提取语法元素的剖析操作。所提取的语法元素可包含与变换系数块相关联的语法元素。熵解码单元150可接着对语法元素中的一些执行CABAC解码操作。

在熵解码单元150对未分割的CU执行剖析操作之后,视频解码器30可对未分割的CU执行重构操作。为对未经分割CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构与CU相关联的残余视频块。

作为对TU执行重构操作的部分,逆量化单元154可逆量化(例如,解量化)与TU相关联的变换系数块。逆量化单元154可以类似于针对HEVC所提议或由H.264解码标准定义的逆量化过程的方式对变换系数块进行逆量化。逆量化单元154可使用由视频编码器20针对变换系数块的CU计算的量化参数QP来确定量化程度,且同样地,确定逆量化单元154应用的逆量化的程度。

在逆量化单元154对变换系数块进行逆量化之后,逆变换单元156可产生与变换系数块相关联的TU的残余视频块。逆变换单元156可将逆变换应用到变换系数块以便产生所述TU的残余视频块。举例来说,逆变换单元156可将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆定向变换或另一逆变换应用于变换系数块。在一些实例中,逆变换单元156可基于来自视频编码器20的信令而确定适用于变换系数块的逆变换。在这些实例中,逆变换单元156可基于在用于与变换系数块相关联的树块的四叉树的根节点处的用信号表示的变换来确定逆变换。在其它实例中,逆变换单元156可从例如块大小、译码模式或类似者等一或多个译码特性推断逆变换。在一些实例中,逆变换单元156可应用级联的逆变换。

在一些实例中,运动补偿单元162可通过基于内插滤波器执行内插而精炼PU的预测视频块。用于将用于以子样本精确度进行运动补偿的内插滤波器的识别符可包含在语法元素中。运动补偿单元162可使用由视频编码器20在产生PU的经预测视频块期间使用的相同内插滤波器来计算参考块的子整数样本的内插值。运动补偿单元162可根据所接收的语法元素确定由视频编码器20使用之的内插滤波器且使用所述内插滤波器来产生经预测视频块。

如果PU是使用帧内预测编码,那么帧内预测单元164可执行帧内预测以产生用于PU的经预测视频块。举例来说,帧内预测单元164可基于位流中的语法元素确定用于PU的帧内预测模式。位流可包含帧内预测模块164可用以确定PU的帧内预测模式的语法元素。

在一些情况下,语法元素可指示帧内预测单元164将使用另一PU的帧内预测模式来确定当前PU的帧内预测模式。举例来说,可能有可能当前PU的帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为用于当前PU的最可能模式。因此,在此实例中,位流可包含小语法元素,所述小语法元素指示PU的帧内预测模式与相邻PU的帧内预测模式相同。帧内预测单元164可随后使用帧内预测模式基于在空间上相邻的PU的视频块而产生用于PU的预测数据(例如,经预测样本)。

如上文所论述,视频解码器30还可包括层间预测单元166。层间预测单元166经配置以使用可用于可缩放视频译码中的一或多个不同层(例如,BL或RL)来预测当前块(例如,EL中的当前块)。此预测可称作层间预测。层间预测单元166利用预测方法来减少层间冗余,进而改进译码效率且降低计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用BL中对处于相同位置的块的重构来预测EL中的当前块。层间运动预测使用BL的运动信息来预测EL中的运动。层间残余预测使用BL的残余来预测EL的残余。下文更详细地论述层间预测方案中的每一者。

重构单元158可使用与CU的TU相关联的残余视频块以及CU的PU的经预测视频块(例如,帧内预测数据或帧间预测数据,如果适用)来重构CU的视频块。因此,视频解码器30可基于位流中的语法元素而产生所预测的视频块及残余视频块,且可基于所预测的视频块及残余视频块而产生视频块。

在重构单元158重构CU的视频块之后,滤波器单元159可执行解块操作以减少与CU相关联的块假象。在滤波器单元159执行解块操作以减小与CU相关联的成块假象之后,视频解码器30可将CU的视频块存储在经解码图片缓冲器160中。经解码图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测以及在例如图1A或1B的显示装置32的显示装置上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器160中的视频块对其它CU的PU执行帧内预测或帧间预测操作。

多层解码器

图3B为说明可实施根据本发明中描述的方面的技术的多层视频解码器33(也被简称为视频解码器33)的实例的框图。视频解码器33可经配置以处理多层视频帧(例如,针对SHVC和多视图译码)。另外,视频解码器33可经配置以执行本发明的技术中的任一者或全部。

视频解码器33包括视频解码器30A和视频解码器30B,其中的每一者可经配置为视频解码器30,且可执行上文关于视频解码器30描述的功能。另外,如由参考数字的再使用所指示,视频解码器30A和30B可包括如视频解码器30的系统和子系统中的至少一些。虽然将视频解码器33说明为包含两个视频解码器30A和30B,但视频解码器33不受如此限制,且可包含任何数目个视频解码器30层。在一些实施例中,视频解码器33可包含用于存取单元中的每一图片或帧的视频解码器30。举例来说,可由包含五个解码器层的视频解码器处理或解码包含五个图片的存取单元。在一些实施例中,视频解码器33可包括比存取单元中的帧更多的解码器层。在一些此等情况下,当处理一些存取单元时,一些视频解码器层可能无效。

除了视频解码器30A和30B之外,视频解码器33还可包含上取样单元92。在一些实施例中,上取样单元92可对所接收视频帧的BL进行上取样以产生待添加到帧或存取单元的参考图片列表的增强层。此增强层可存储在经解码图片缓冲器160中。在一些实施例中,上取样单元92可包含关于图2A的再取样单元90描述的实施例中的一些或全部。在一些实施例中,上取样单元92经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则和/或光栅扫描规则。在一些情况下,上取样单元92可为经配置以对所接收的视频帧的层上取样及/或下取样的再取样单元。

上取样单元92可经配置以从较低层解码器(例如,视频解码器30A)的经解码图片缓冲器160接收图片或帧(或与图片相关联的图片信息)并对所述图片(或所接收到的图片信息)进行上取样。接着可将此经上取样图片提供到较高层解码器(例如,视频解码器30B)的预测处理单元152,所述较高层解码器经配置以解码与较低层解码器相同的存取单元中的图片。在一些情况下,较高层解码器为从较低层解码器移除的一个层。在其它情况下,在图3B的层0解码器与层1解码器之间可存在一或多个较高层解码器。

在一些情况下,可省略或绕过上取样单元92。在此类状况下,可直接或在至少不提供到上取样单元92的情况下将来自视频解码器30A的经解码图片缓冲器160的图片提供到视频解码器30B的预测处理单元152。例如,如果提供到视频解码器30B的视频数据及来自视频解码器30A的经解码图片缓冲器160的参考图片具有相同的大小或分辨率,那么可将参考图片提供到视频解码器30B而不需要上取样。此外,在一些实施例中,上取样单元92可为经配置以对从视频解码器30A的经解码图片缓冲器160接收的参考图片进行上取样或下取样的再取样单元90。

如图3B中所说明,视频解码器33可进一步包括多路分用器99或demux。多路分用器99可将经编码视频位流分裂成多个位流,其中由多路分用器99输出的每一位流被提供到不同的视频解码器30A和30B。可通过接收位流来产生多个位流,且视频解码器30A和30B中的每一者在给定时间接收位流的一部分。虽然在一些状况下,可在视频解码器(例如,在图3B的实例中的视频解码器30A和30B)中的每一者之间一次一个位地交替来自在demux 99处所接收到的位流的位,但在许多状况下,以不同方式划分所述位流。举例来说,可通过一次一个块地交替哪一视频解码器接收位流而划分所述位流。在另一实例中,可通过到视频解码器30A和30B中的每一者的块的非1:1比率来划分位流。举例来说,可针对提供到视频解码器30A的每一块而将两个块提供到视频解码器30B。在一些实施例中,可预编程由多路分用器99对位流的划分。在其它实施例中,多路分用器99可基于从视频解码器33外部的系统(例如,从包含目的地装置14的目的地装置上的处理器)接收的控制信号而划分位流。可基于来自输入接口28的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订),或基于用于确定视频解码器33可获得的分辨率的任何其它因素来产生控制信号。

层集合、输出层集合以及分割方案

在一些实施例中,取决于解码器的需要或能力可以不同方式解码或输出来自编码器的视频数据。举例来说,第一解码器可为了产生最高质量图片而解码且输出经编码视频数据的所有层。另一方面,不同解码器可不需要产生最高质量图片(由于屏幕尺寸、处理功率和/或其它限制),且因此可仅解码且输出所述层的子集。

编码器当产生经编码视频数据位流时可指定各种层集合且输出当解码视频数据时可使用的层集合。举例来说,可指定包含视频数据的所有层的第一层集合以及仅包含视频数据层的子集的第二层集合。解码器取决于其特定配置可选择特定层集合和/或输出当解码视频数据时将使用的层集合。

在一些实施例中,视频数据可通过一或多个不同分区在编码器与解码器之间发射,其中分区含有一或多个视频数据层。层到分区的布置可基于指定分割方案而确定。在一些实施例中,可基于使用的层集合和/或输出层集合而使用分割方案。另外,分割方案也可以至少部分地基于解码器的要求和/或视频数据的格式。

图4A和4B说明根据本发明中描述的方面的视频数据层、层集合、输出层集合与分割方案之间的关系。如上文所描述,视频数据可包括多个层402。举例来说,如图4A中所说明,视频数据包括三个不同层:底层“层0”,以及“层1”和“层2”。

视频数据可与一或多个不同层集合相关联。层集合对应于解码器将处理的总层的子集。在一些实施例中,不同解码器可利用不同层集合。举例来说,经编码视频数据可从编码器发射到多个不同解码器。解码器可与具有不同需要或能力的不同类型的输出或应用相关联。举例来说,第一解码器可与大的电视或计算机监视器屏幕相关联,而第二解码器可与小的智能电话屏幕相关联。因此,与第二解码器相比第一解码器可经配置以处理较大层集合以便获得较高质量图片,其中获得最大图片质量可能不是大问题。

如图中所说明,层402可与包括层402的所有三个层的第一层集合404以及包括所述三个层中的仅两个的第二层集合406相关联。如果解码器使用不含层402的所有层的层集合(例如,第二层集合406),那么解码器将仅处理所述层集合中包含的层(例如,层0和层1),同时忽略或丢弃不是所述层集合的部分的任何剩余层(例如,层2)。

在一些实施例中,每一层集合可与一或多个不同输出层集合相关联。与层集合相关联的输出层集合对应于所述层集合中在解码之后将由解码器实际上的层的子集。举例来说,第一层集合404可与第一输出层集合408和第二输出层集合410相关联。类似地,第二层集合406也可以与一或多个不同输出层集合(未图示)相关联。应理解,对一或多个输出层集合的“第一”输出层集合、“第二”输出层集合等的参考不一定参考所述一或多个输出层集合中的特定输出层集合或者所述一或多个输出层集合的特定次序,而是可对应于所述一或多个输出层集合中的任何个别输出层集合。

虽然解码器将处理/解码给定层集合中指定的所有层,但仅作为输出层集合的部分的层将输出而显示。举例来说,使用第二输出层集合410的解码器将解码层集合404的所有三个层(层0、层1和层2)。然而,仅经解码层2将实际上输出用于显示。在一些实施例中,这可能是因为输出层集合中指定的层(例如,层2)取决于不在输出层集合中的其它层(例如,层0、层1),因此迫使层集合的其它层即使它们不实际上输出用于显示也被解码。

经编码视频位流可在编码器与解码器之间作为一或多个分区而发射。在一些实施例中,分区可对应于输送流中的基本流或文件中的轨道,且可含有一或多个视频数据层。在一些实施例中,每一输出层集合可与界定视频数据层如何在不同分区之间当在编码器与解码器之间发射时的一或多个不同分割方案相关联。

举例来说,第一输出层集合408可与其中每一层在其自身的单独分区中的第一分割方案以及其中层0是第一分区的部分而层1和2共享第二分区的第二分割方案相关联。类似地,第二输出层集合410可与其中每一层在其自身的单独分区中的第一分割方案以及不同于第一分割方案的第二分割方案(例如,层0和1共享第一分区,且层2在单独第二分区中)相关联。在一些实施例中,其中每一层在其自身的单独分区中的分割方案视为默认分割方案。

在一些实施例中,使用的分割方案可至少部分地基于与视频数据相关联的媒体文件格式。举例来说,如图4B中所说明,如果视频数据将经由MPEG-2输送流输送,那么可使用特定分割方案(例如,每一层在其自身的单独分区中)。另一方面,如果视频数据将根据基于ISO的媒体文件格式输送,那么可使用不同分割方案。在接收视频数据之后,可使用与分割方案的分区和输出层集合相关联的符合性参数(例如,HRD参数)测试所接收视频数据的符合性。

映射HRD参数

在一些实施例中,假想参考解码器(HRD)参数可用以测试所接收视频数据位流对预期格式的符合性。举例来说,当解码器接收到包括一或多个分区的视频位流时,识别映射到所接收分区的HRD参数。接着可通过将与分割方案内的分区相关联的HRD参数与所接收分区进行比较而测试所接收位流的符合性。

在一些实施例中,不同层集合可与相同分割方案和分区相关联。举例来说,如图4A中所说明,层集合404可与分割方案412和416相关联,所述分割方案是具有相同分区(例如,含有层0的分区#1)的相同分割方案(例如,其中每一层在其自身的单独分区中的默认分割方案)。

虽然一些HRD参数可与分区中的层是否为输出层无关,但如由分割方案相关联的输出层集合界定,其它HRD参数取决于输出层集合。举例来说,HRD参数可包含例如fixed_pic_rate_general_flag[]、fixed_pic_rate_cvs_flag[]、elemental_duration_in_tc_minus1[]等语法元素,其取决于适用于的输出层集合。

因此,因为同一分区(例如,分割方案412中的分区#1和分割方案416中的分区#1)可与不同输出层集合相关联(例如,分割方案412中的层0是输出层,而分割方案416中的层0不是输出层),所以HRD参数通过层集合仅映射到分区是不足的,因为取决于,分区相关联的特定输出层集合,与分区相关联的HRD参数可能需要不同。因此,HRD参数并非仅映射到分区,而是也映射到分区/分割方案相关联的输出层集合。

图5A说明根据本发明中描述的方面的用于映射经编码视频数据中的例如HRD参数等符合性参数的方法的流程图。在一些实施例中,所述方法可由视频编码器执行,例如在图2A和/或2B中说明的编码器。在框502处起始,对视频数据进行译码以形成含有至少一个层的视频数据位流。视频数据可与一或多个层集合相关联。层集合指定视频数据位流的将由解码器处理的层。在一些实施例中,层集合可包括视频数据位流中的所有层,或视频数据位流的层的仅子集。

在框504处,每一层集合与一或多个输出层集合相关联。虽然层集合指定将由解码器处理的视频数据层,但输出层集合指定将实际上由解码器输出的层。输出层集合可包括其相关联层集合的所有层,或层集合中的层的子集。

在框506处,每一输出层集合与一或多个分割方案相关联。分割方案指定在编码器与解码器之间的发射期间将如何分割视频数据层。分割方案的每一分区可含有视频数据的一或多个层。在一些实施例中,每一输出层集合与默认分割方案和一或多个额外分割方案相关联。

在框508处,可作出关于是否将用信号表示一或多个符合性参数(例如,HRD参数)作为视频数据位流的部分的确定。在一些实施例中,是否将用信号表示符合性参数以及将用信号表示何种符合性参数的决策可至少部分地基于编码器和/或一或多个编码器配置设定。

在框510处,响应于将用信号表示一或多个符合性参数作为视频数据位流的部分的确定,至少部分地基于与分割方案相关联的输出层集合,将至少一个符合性参数映射到所述至少一个分割方案当中的分割方案的分区。通过至少部分地基于输出层集合而映射符合性参数,指定相同分区但与不同输出层集合相关联的相同分割方案能够具有不同的映射符合性参数。因此,第一参数可映射到与第一输出层集合相关联的分割方案的分区,而第二不同参数可映射到与第二输出层集合相关联时的分割方案的分区。举例来说,如图4A中所说明的分割方案412和分割方案416尽管是相同分割方案(例如,默认分割方案),但可具有不同的映射符合性参数,因为它们与不同输出层集合相关联。应理解,对一或多个符合性参数的“第一”符合性参数、“第二”符合性参数等的参考不一定指代所述一或多个符合性参数中的特定符合性参数或所述一或多个符合性参数的特定次序,而是可对应于所述一或多个符合性参数中的任何个别符合性参数。

图5B说明根据本发明中描述的方面的用于映射经编码视频数据中的例如HRD参数等符合性参数的方法的流程图。在一些实施例中,所述方法可由视频解码器执行,例如在图3A和3B中说明的解码器。在框512处起始,接收具有至少一个层和至少一个层集合的视频数据位流。

在框514处,识别与位流相关联的所述至少一个层集合当中的层集合。在一些实施例中,经识别层集合对应于将由解码器在对视频数据位流进行解码中使用的层集合。

在框516处,确定与经识别层集合相关联的输出层集合。在一些实施例中,输出层集合对应于将由解码器当确定哪些经解码层输出用于显示时使用的输出层集合。

在框518处,确定与输出层集合相关联的分割方案。在一些实施例中,分割方案对应于其中视频数据位流发射到解码器的分割方案。

在框520处,可做出关于是否用信号表示一或多个符合性参数(例如,HRD参数)作为所接收视频数据位流的部分的确定。在框522处,响应于已用信号表示至少一个符合性参数作为所接收视频数据位流的部分的确定,确定映射到分割方案的分区的至少一个符合性参数。在一些实施例中,所确定的符合性参数可用以对视频数据位流进行解码和/或测试视频数据位流的符合性。

用信号表示默认分割方案

为了向接收解码器用信号表示分割方案和输出层集合的分区,位流将包含指定与输出层集合相关联的分割方案和分区的若干位。在一些实施例中,用以用信号表示分割方案的位数目可至少部分地基于可与输出层集合相关联的可能的分割方案的数目。

在一些实施例中,每个输出层集合与默认分割方案和零个或更多个额外分割方案相关联。默认分割方案可包括其中视频数据中的每一层是单独位流分区的分割方案。在一些实施例中,将常见的是含有例如两个或三个层等少量层的位流仅与默认分割方案相关联。因为默认分割方案一般由编码器和解码器已知,所以其不需要在位流中具体指定。因此将有益的是当位流仅与默认分割方案相关联时减少指定与输出层集合相关联的分割方案和分区所需要的位数目。举例来说,在一些实施例中,当输出层集合仅与默认分割方案相关联时,仅单个位旗标需要为信号,而不需要使用额外位来指定分割方案。

应理解虽然本发明参考其中每一层具有其自身的分区的分割方案作为默认分割方案,但在其它实施例中,不同分割方案可为默认分割方案。

图6说明根据本发明中描述的方面的用于用信号表示分割方案的过程的流程图。在框602处起始,识别输出层集合。在框604处,做出关于多少分割方案与经识别输出层集合相关联的确定。

如上所述,输出层集合可与默认分割方案和零个或更多个额外分割方案相关联。因此,如果确定存在与输出层集合相关联的仅一个分割方案,那么所述分割方案必须为默认分割方案。在框606处,用信号表示单个位旗标,其指示经识别输出层集合仅与默认分割方案相关联。因为解码器将能够理解默认分割方案,所以在位流中不需要发送额外位来指定分割方案。

另一方面,如果确定输出层集合与多于一个分割方案相关联,那么在框608处,不用信号表示单个位旗标,其指示经识别输出层集合与并不仅仅默认分割方案相关联。另外,位流中将发射指定额外分割方案的位。

因此,通过实施单个位旗标来指定输出层集合是否仅与默认分割方案相关联,可极大地减少指示分割方案所需要的位数目。

从基础VPS和VPS VUI数据结构映射HRD参数

在一些实施例中,将映射到分区、输出层集合和层集合的HRD参数包含于一或多个VPS数据结构中。在一些实施例中,VPS数据结构包含基础VPS。举例来说,符合HEVC或HEVC扩展(例如,SHVC、MV-HEVC和/或类似物)的视频数据位流将通常始终含有基础VPS数据结构。另外,在一些实施例中,VPS数据结构还可包含视频可用性信息(VUI)参数集,其可被称为VPS VUI。在一些实施例中,与输出层集合相关联的分区和/或分割方案可在VPS VUI界定或用信号表示。在一些实施例中,为了与基础VPS相关联的HRD参数可由与如由VPS VUI界定的输出层集合相关联的分区使用,HRD参数需要可通过VPS VUI中的参数来存取。举例来说,与VPS VUI相关联的位流分区(BSP)HRD索引参数(bsp_hrd_idx参数)可用于将HRD参数指派为分区特定的,而不是仅层集合特定的。

一或多个HRD参数包含于基础VPS中的HRD参数结构内。另外,一或多个额外HRD参数可包含于VPS VUI中的不同HRD参数结构内。图7说明根据本发明中描述的方面在VPS_VUI中扩展HRD参数以使得可通过与基础VPS相关联的单个数据结构映射HRD参数。如图7中所说明,基础VPS含有具有n个HRD参数(HRD[0]、HRD[1]…HRD[n])的数据结构。另外,VPS VUI含有具有m个额外HRD参数(HRD'[0]、HRD'[1]、…HRD'[m])的数据结构。

在一些实施例中,为了映射基础VPS和VPS VUI数据结构中的HRD参数,至少部分地基于基础VPS结构的参数而扩展VPS VUI的HRD参数(HRD'[0]、HRD'[1]、…HRD'[m])。举例来说,可扩展VPS VUI中的参数而变为基础VPS结构的额外参数(HRD[n+1]、HRD[n+2]、…HRD[n+m+1]),从而允许其附加到基础VPS数据结构。此些扩展允许从单个基础VPS数据结构完成HRD参数映射到位流分区和输出层集合,而不是从单独的基础VPS和VPS VUI结构完成。

通过将VPS VUI的HRD参数扩展为具有与基础VPS的索引连续的索引,与基础VPS相关联的HRD参数以及与VPS VUI相关联的那些HRD参数均可由VPS VUI中的语法元素指代。举例来说,如果VPS VUI的HRD参数未扩展,那么VPS VUI的语法元素(例如,bsp_hrd_idx参数)可用以参考VPS VUI的HRD参数,而非基础VPS的HRD参数(例如,具有0值的bsp_hrd_idx参数将参考VPS VUI的HRD'[0],而不是基础VPS的HRD[0])。如果与基础VPS相关联的任何HRD参数能够参考VPS VUI的语法元素,那么它们将必须在VPS VUI中重复且重新用信号表示。

然而,通过扩展VPS VUI的HRD参数以使得基础VPS和VPS VUI的HRD参数具有连续索引,VPS VUI的语法元素可用以参考与基础VPS或VPS VUI相关联的HRD参数。举例来说,具有0值的bsp_hrd_idx参数将参考基础VPS的HRD[0],而具有n+1的值的bsp_hrd_idx参数将参考VPS VUI的HRD[n+1]。因此,基础VPS的HRD参数可由VPS VUI语法元素参考而不需要在VPS VUI中重复。

SEI消息

在一些实施例中,补充增强信息(SEI)消息可提供关联到视频数据位流的分区的额外信息。举例来说,SEI消息可包含位速率信息、图片速率信息和/或类似物。图8说明根据本发明中描述的方面SEI消息可如何映射到分区。

在一些实施例中,视频数据位流可含有一或多个SEI消息容器(也可被称作嵌套SEI消息),其中一或多个SEI消息包含或嵌套于每一SEI消息容器内。举例来说,图8说明含有SEI消息A和B的第一SEI容器A以及含有SEI消息C和D的第二SEI容器B。

通常,SEI容器用信号表示所述SEI容器以及所述容器内含有的所有SEI消息所关联的分区。举例来说,如图8中所说明,SEI容器A映射到默认分割方案的分区#1。然而,同一分割方案可与不同输出层集合相关联(例如,默认分割方案可与输出层集合#1和输出层集合#2两者相关联)。仅将SEI容器映射到分区/分割方案不考虑分区/分割方案相关联的输出层集合。因此,在一些实施例中,除用信号表示分区之外,SEI容器也将用信号表示与所述分区相关联的输出层集合。

在一些实施例中,每一输出层集合和分割方案与索引值相关联。为了用信号表示SEI容器相关联的输出层集合和分区,SEI容器可用信号表示输出层集合和/或分割方案的索引值。

因此,通过将SEI容器映射到特定输出层集合索引和分割方案索引,与不同输出层集合相关联的相同分区可与不同SEI容器和SEI消息相关联。

HEVC标准

如上文所论述,本文所揭示的系统和方法可应用于HEVC标准。根据一些实施例,可如下所述修改HEVC标准的语法和语义。

测试位流符合性

可使用多个测试来检查位流的符合性,所述位流称为受测试位流。对于每一测试,可以所列次序应用以下步骤:

可通过选择识别目标OLS的TargetOlsIdx的值且选择目标最高TemporalId值HighestTid来选择表示为TargetOp的受测试输出操作点。TargetOlsIdx的值将在0到NumOutputLayerSets-1(包含性)的范围内。HighestTid的值将在0到MaxSubLayersInLayerSetMinus1[OlsIdxToLsIdx[TargetOlsIdx]](包含性)的范围内。随后如MV-HEVC草案JCT3V-H1002-v5的等式8 1指定而导出变量TargetDecLayerSetIdx、TargetOptLayerIdList和TargetDecLayerIdList。受测试的输出操作点具有等于TargetOptLayerIdList的OptLayerIdList、等于TargetDecLayerIdList的OpLayerIdList以及等于HighestTid的OpTid。

可调用如MV-HEVC草案JCT3V-H1002-v5的条款10中指定的子位流提取过程,其中受测试位流、HighestTid和TargetDecLayerIdList作为输入,且输出指派给BitstreamToDecode。分割方案是选自在用于选定OLS的作用中VPS中用信号表示的分割方案列表。选定的选定分割方案表示为TargetPartitioningScheme。

如果存在仅一个用于TargetPartitioningScheme的位流分区,那么可测试位流特定的CPB操作。否则,可测试位流分区特定的CPB操作。后续步骤应用于目标OLS的选定分割方案的每一位流分区,称为受测试位流分区TargetBitstreamPartition。如果存在仅一个位流分区用于TargetPartitioningScheme,那么TargetBitstreamPartition相同于BitstreamToDecode。否则,以MV-HEVC草案JCT3V-H1002-v5的子条款C.6中的用于导出位流分区的多路分用过程导出每一位流分区,其中BitstreamToDecode、TargetBitstreamPartition中的层的列表以及TargetBitstreamPartition中的层的数目作为输入。

可如下选择适用于TargetOp的hrd_parameters()语法结构和sub_layer_hrd_parameters()语法结构:

●如果测试位流特定的CPB操作且TargetDecLayerIdList含有存在于受测试位流中的所有nuh_layer_id值,那么选择用于基础层的作用中SPS中(或经由外部方法提供)的hrd_parameters()语法结构。

●否则,选择应用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的作用中VPS中(或经由外部方法提供)的hrd_parameters()语法结构。

●在选定hrd_parameters()语法结构内,如果TargetBitstreamPartition是I型位流,那么选择紧跟在条件“if(vcl_hrd_parameters_present_flag)”之后的sub_layer_hrd_parameters(HighestTid)语法结构且将变量NalHrdModeFlag设定成等于0;否则,(TargetBitstreamPartition是II型位流),选择紧跟在条件“if(vcl_hrd_parameters_present_flag)”(在此情况下将变量NalHrdModeFlag设定成等于0)或条件“if(nal_hrd_parameters_present_flag)”(在此情况下将变量NalHrdModeFlag设定成等于1)之后的sub_layer_hrd_parameters(HighestTid)语法结构。当TargetBitstreamPartition是II型位流且NalHrdModeFlag等于0时,从TargetBitstreamPartition丢弃除填充符数据NAL单元外的所有非VCL NAL单元以及从NAL单元流形成字节流的所有leading_zero_8bits、zero_byte、start_code_prefix_one_3bytes和trailing_zero_8bits语法元素(当存在时),且将剩余位流指派给TargetBitstreamPartition。

可选择与适用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的缓冲周期SEI消息(存在于BitstreamToDecode中或经由外部方法可用)相关联的存取单元作为HRD初始化点且称为存取单元0。适用的缓冲周期SEI消息经由外部方法可用或是如下选自存取单元0:

●如果测试位流特定的CPB操作且TargetDecLayerIdList含有存在于受测试位流中的所有nuh_layer_id值,那么选择非嵌套缓冲周期SEI消息。

●否则,选择适用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的缓冲周期SEI消息。

●可如下导出变量MultiLayerCpbOperationFlag-如果选定缓冲周期SEI消息是非嵌套的或BitstreamToDecode仅含有基础层,那么将MultiLayerCpbOperationFlag设定成等于0。否则,将MultiLayerCpbOperationFlag设定成等于1。

对于TargetBitstreamPartition中从存取单元0开始的每一存取单元,选择与存取单元相关联且应用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的缓冲周期SEI消息(存在于BitstreamToDecode中或经由外部方法可用),选择与存取单元相关联且应用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的图片时序SEI消息(存在于BitstreamToDecode中或经由外部方法可用),且当SubPicHrdFlag等于1且sub_pic_cpb_params_in_pic_timing_sei_flag等于0时,选择与存取单元中的解码单元相关联且应用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的解码单元信息SEI消息(存在于BitstreamToDecode中或经由外部方法可用),如下:

●如果测试位流特定的CPB操作且TargetDecLayerIdList含有存在于受测试位流中的所有nuh_layer_id值,那么选择非嵌套缓冲周期、图片时序和解码单元信息SEI消息。

●否则,选择直接包含在可缩放嵌套SEI消息中或直接包含在位流分区嵌套SEI消息中且适用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的缓冲周期、图片时序和解码单元信息SEI消息。

可如下选择SchedSelIdx的值:

●如果测试位流特定CPB操作,则选定的SchedSelIdx将处于0到cpb_cnt_minus1[HighestTid](包含性)的范围内,其中在如上选择的sub_layer_hrd_parameters(HighestTid)语法结构中找到cpb_cnt_minus1[HighestTid]。

●否则(测试位流分区特定的CPB操作),选择SchedSelCombIdx用于BitstreamToDecode且用于每一TargetBitstreamPartition。选定SchedSelCombIdx将处于0到num_bsp_sched_combinations_minus1[TargetOlsIdx][TargetPartitioningScheme](包含性)的范围内。将用于TargetBitstreamPartition的选定SchedSelIdx设定成等于bsp_comb_sched_idx[TargetOlsIdx][TargetPartitioningScheme][SchedSelCombIdx][j],其中j是TargetBitstreamPartition的位流分区索引的索引。

可如下导出变量initialAltParamSelectionFlag:

●如果所有以下条件为真,那么将initialAltParamSelectionFlag设定成等于1:

(a)存取单元0中具有等于0的nuh_layer_id的经译码图片具有等于CRA_NUT

或BLA_W_LP的nal_unit_type。

(b)MultiLayerCpbOperationFlag等于0。

(c)选定缓冲周期SEI消息中的irap_cpb_params_present_flag等于1。

●否则,如果所有以下条件为真,那么将initialAltParamSelectionFlag设定成等于1:

(a)存取单元0中具有等于0的nuh_layer_id的经译码图片是IRAP图片。

(b)MultiLayerCpbOperationFlag等于1。

(c)选定缓冲周期SEI消息中的irap_cpb_params_present_flag等于1。

否则,将initialAltParamSelectionFlag设定成等于0。

●当initialAltParamSelectionFlag等于1时,以下适用:

(a)如果选定缓冲周期SEI消息直接包含在可缩放嵌套SEI消息中或直接包含在位流分区嵌套SEI消息中且至少适用于含有多于一个层的一个子位流,那么跳过前导图片的集合skippedPictureList包含与具有等于nuhLayerId的nuh_layer_id的IRAP图片相关联的CL-RAS图片和RASL图片,对于所述图片在解码IRAP图片开始时LayerInitializedFlag[nuhLayerId]等于0且对于所述图片nuhLayerId在TargetDecLayerIdList当中。否则(缓冲周期SEI消息不嵌套在可缩放嵌套SEI消息中),skippedPictureList包含与存取单元0中具有等于0的nuh_layer_id的经译码图片相关联的RASL图片。

(b)以下任一者适用于初始CPB移除延迟和延迟偏移的选择:

(i)如果NalHrdModeFlag等于1,那么选择选定缓冲周期SEI消息中分别由nal_initial_cpb_removal_delay[SchedSelIdx]和nal_initial_cpb_removal_offset[SchedSelIdx]表示的默认初始CPB移除延迟和延迟偏移。否则,选择选定缓冲周期SEI消息中分别由vcl_initial_cpb_removal_delay[SchedSelIdx]和vcl_initial_cpb_removal_offset[SchedSelIdx]表示的默认初始CPB移除延迟和延迟偏移。将变量DefaultInitCpbParamsFlag设定成等于1。

(ii)如果NalHrdModeFlag等于1,那么选择选定缓冲周期SEI消息中分别由nal_initial_alt_cpb_removal_delay[SchedSelIdx]和nal_initial_alt_cpb_removal_offset[SchedSelIdx]表示的替代的初始CPB移除延迟和延迟偏移。否则,选择选定缓冲周期SEI消息中分别由vcl_initial_alt_cpb_removal_delay[SchedSelIdx]和vcl_initial_alt_cpb_removal_offset[SchedSelIdx]表示的替代的初始CPB移除延迟和延迟偏移。将变量DefaultInitCpbParamsFlag设定成等于0,且从BitstreamToDecode丢弃skippedPictureList中的所有图片且将剩余位流指派给BitstreamToDecode。

对于位流分区特定的CPB操作,SubPicHrdFlag可设定成等于1。对于位流特定的CPB操作,当选定hrd_parameters()语法结构中的sub_pic_hrd_params_present_flag等于1时,调度CPB以在存取单元层级(在此情况下变量SubPicHrdFlag设定成等于0)或在子图片层级(在此情况下变量SubPicHrdFlag设定成等于1)操作。

在一个实施方案中,HRD可根据以下方面中的一或多者操作:

可在解码单元0处初始化HRD,其中CPB、DPB的每一子DPB和每一BPB设定成空的(每一子DPB的子DPB充满度设定成等于0)。应注意,在初始化之后,HRD不会被后续缓冲周期SEI消息再次初始化。

对于位流特定的CPB操作,根据指定到达时间表流入CPB中的与解码单元相关联的数据由HSS递送。对于位流分区特定的CPB操作,根据指定到达时间表流入BPB中的与解码单元相关联的数据由HBPS递送。

当使用位流分区特定的CPB操作时,如MV-HEVC草案JCT3V-H1002-v5的子条款C.2指定处理具有索引j的每一位流分区,其中HSS被HBPS代替且SchedSelIdx等于bsp_comb_sched_idx[TargetOlsIdx][TargetPartitioningScheme][SchedSelCombIdx][j]。

与每一解码单元相关联的数据可被移除且在解码单元的CPB移除时间由瞬时解码过程瞬时解码。

每一经解码图片可放入DPB中。

当变为不再需要经解码图片用于帧间预测参考且不再需要其用于输出时可从DPB移除所述经解码图片。

位流符合性

可以与以下一致的语法、语义和约束来构造符合MV-HEVC草案JCT3V-H1002-v5的经译码数据的位流。

位流中的第一存取单元将为IRAP存取单元。

当vps_base_layer_internal_flag等于0时,以下位流符合性约束适用而无需考虑具有等于0的nuh_layer_id的图片,对于所述图片在位流中不存在经译码图片且经解码图片是经由外部方法提供。

假设currPicLayerId等于当前图片的nuh_layer_id。

对于每一当前图片,假设变量maxPicOrderCnt和minPicOrderCnt分别设定成等于具有等于currPicLayerId的nuh_layer_id的以下图片的PicOrderCntVal值的最大值和最小值:

(a)当前图片。

(b)具有等于0的TemporalId且不是RASL图片、RADL图片或子层非参考图片的按解码次序的先前图片。

(c)当前图片的RPS中的短期参考图片。

(d)具有等于1的PicOutputFlag、小于AuCpbRemovalTime[currPic]的AuCpbRemovalTime[n]以及大于或等于AuCpbRemovalTime[currPic]的DpbOutputTime[n]的所有图片n,其中currPic是当前图片。

如MV-HEVC草案JCT3V-H1002-v5的子条款C.1中指定通过HRD测试每一分割方案的每一位流分区的子位流的符合性。

HRD参数语义

MV-HEVC草案JCT3V-H1002-v5的条款E.3.2中的规范以如下修改和添加而应用。

在一个方面中,initial_cpb_removal_delay_length_minus1加1指定缓冲周期SEI消息的nal_initial_cpb_removal_delay[i]、nal_initial_cpb_removal_offset[i]、vcl_initial_cpb_removal_delay[i]和vcl_initial_cpb_removal_offset[i]语法元素的以位为单位的长度。另外,VPS中的第j hrd_parameters()语法结构内的initial_cpb_removal_delay_length_minus1加1指定包含于具有sei_ols_idx、sei_partitioning_scheme_idx和bsp_idx的值的可缩放嵌套SEI消息内的位流分区嵌套SEI消息中的位流分区初始到达时间SEI消息的nal_initial_arrival_delay[k]和vcl_initial_arrival_delay[k]语法元素的以位为单位的长度,使得bsp_comb_hrd_idx[sei_ols_idx][sei_partitioning_scheme_idx][k][bsp_idx]等于j。当initial_cpb_removal_delay_length_minus1语法元素不存在时,推断其等于23。

对视频参数集(VPS)语法的改变

在下文中突出显示对语法、语义和解码过程的改变:以斜体字展示添加且以[[双方括号]]展示删除。表1说明对vps_extension()语法的改变。

表1:VPS_EXTENSION()的实例语法

对VPS VUI位流分区HRD参数语法的改变

表2说明对vps_vui_bsp_hrd_parameters()语法的改变:

表2:VPS_VUI_BSP_HRD_PARAMETERS()的实例语法

视频参数集语义

num_signalled_partitioning_schemes[i]指定用于第i OLS的用信号表示的分割方案的数目。num_signalled_partitioning_schemes[i]的值将处于0到16(包含性)的范围内。当vps_base_layer_internal_flag等于1时,num_signalled_partitioning_schemes[0]的值推断为等于0。

将变量NumPartitioningSchemes[i]设定成等于(num_signalled_partitioning_schemes[i]==0)?1:num_signalled_partitioning_schemes[i]。

num_partitions_in_scheme_minus1[i][j]加1指定用于第i OLS的第j分割方案的位流分区的数目。num_partitions_in_scheme_minus1[i][j]的值将处于0到NumLayersInIdList[OlsIdxToLsIdx[i]]-1(包含性)的范围内。当vps_base_layer_internal_flag等于1时,num_partitions_in_scheme_minus1[0][0]的值推断为等于0。当num_signalled_partitioning_schemes[i]等于0时,num_partitions_in_scheme_minus1[i][j]的值推断为等于NumLayersInIdList[i]-1。

等于1的layer_included_in_partition_flag[i][j][k][r]指定第i OLS中的第r层包含在第i OLS的第j分割方案的第k位流分区中。等于0的layer_included_in_partition_flag[i][j][k][r]指定第i OLS中的第r层未包含在第i OLS的第j分割方案的第k位流分区中。当vps_base_layer_internal_flag等于1时,layer_included_in_partition_flag[0][0][0][0]的值推断为等于1。当num_signalled_partitioning_schemes[i]等于0时,如果k等于r则layer_included_in_partition_flag[i][j][k][r]的值推断为等于1,且否则等于0。这是以下约束适用的位流符合性的要求:

(a)对于第i OLS的第j分割方案,针对处于0到num_partitions_in_scheme_minus1[i][j](包含性)的范围内的k1和k2的任何值,具有索引k1的位流分区将不包含具有索引k2的位流分区中的任何层的直接或间接参考层,使得k2小于k1。

(b)当针对处于1到NumOutputLayerSets-1(包含性)的范围内的i的任何值、处于0到NumPartitioningSchemes[i]-1(包含性)的范围内的j的任何值以及处于0到num_partitions_in_scheme_minus1[i][j](包含性)的范围内的k的任何值,vps_base_layer_internal_flag等于0且layer_included_in_partition_flag[i][j][k][0]等于1时,针对处于1到NumLayersInIdList[OlsIdxToLsIdx[i]]-1(包含性)的范围内的r的至少一个值,layer_included_in_partition_flag[i][j][k][r]的值将等于1。

(c)对于第i OLS的具有索引j的每一分割方案,且对于第i OLS中具有等于currLayerId的nuh_layer_id的每一层,存在处于0到num_partitions_in_scheme_minus1[i][j](包含性)的范围内的k的一个且仅一个值使得layer_included_in_partition_flag[i][j][k][LayerIdxInVps[currLayerId]]等于1。

profile_tier_level_idx[i][j][k]指定应用于第i OLS的第j分割方案的第k位流分区的profile_tier_level()语法结构的到VPS中的profile_tier_level()语法结构的列表中的索引。当num_add_layer_sets大于0且OlsIdxToLsIdx[i]在FirstAddLayerSetIdx到LastAddLayerSetIdx(包含性)的范围中时,第i OLS参考MV-HEVC草案JCT3V H1002-v5的子条款F.10.2的非基础层子树提取过程的输出,其中输入变量lsIdx设定成等于OlsIdxToLsIdx[i],其中输出位流outBitstream的作用中VPS(如果存在)将含有指定与当前VPS的第i OLS相同的层的输出的OLS。profile_tier_level_idx[i][j][k]语法元素的长度是Ceil(Log2(vps_num_profile_tier_level_minus1+1))位。当vps_base_layer_internal_flag等于1时,profile_tier_level_idx[0][0][0]的值推断为等于0。profile_tier_level_idx[i][j][k]的值将处于(vps_base_layer_internal_flag?0:1)到vps_num_profile_tier_level_minus1(包含性)的范围内。

VPS VUI位流分区HRD参数语义

vps_num_add_hrd_parameters指定存在于VPS中的额外hrd_parameters()语法结构的数目。vps_num_add_hrd_parameters的值将处于0到1024-vps_num_hrd_parameters(包含性)的范围内。

等于1的cprms_add_present_flag[i]指定对于所有子层共同的HRD参数存在于第i hrd_parameters()语法结构中。等于0的cprms_add_present_flag[i]指定对于所有子层共同的HRD参数不存在于第i hrd_parameters()语法结构中,且经导出为与第(i-1)hrd_parameters()语法结构相同。

等于1的bsp_hrd_parameters_present_flag[h][i]指定HRD参数对于第h OLS的第i分割方案的所有位流分区存在。等于0的bsp_hrd_parameters_present_flag[h][i]指定HRD参数对于第h OLS的第i分割方案的任何位流分区不存在。

num_bsp_sched_combinations_minus1[h][i]加1指定针对第h OLS的第i分割方案的位流分区指定的递送时间表和hrd_parameters()的组合的数目。

变量SchedCombCnt[h][i]设定成等于num_bsp_sched_combinations_minus1[h][i]+1。

bsp_comb_hrd_idx[h][i][j][k]指定针对用于第h OLS的第i分割方案的第k位流分区指定的递送时间表和hrd_parameters()的第j组合的VPS中的hrd_parameters()语法结构的索引。bsp_comb_hrd_idx[h][i][j][k]语法元素的长度是Ceil(Log2(vps_num_hrd_parameters+vps_num_add_hrd_parameters))位。bsp_comb_hrd_idx[h][i][j][k]的值将处于0到vps_num_hrd_parameters+vps_num_add_hrd_parameters-1(包含性)的范围内。

bsp_comb_sched_idx[h][i][j][k]指定具有在针对用于第h OLS的第i分割方案的第k位流分区指定的递送时间表和hrd_parameters()的第j组合中使用的索引bsp_comb_hrd_idx[h][i][j][k]的hrd_parameters()语法结构内的递送时间表的索引。bsp_comb_sched_idx[h][i][j][k]的值将处于0到cpb_cnt_minus1[HighestTid](包含性)的范围内,其中在来自对应于索引bsp_comb_hrd_idx[h][i][j][k]的hrd_parameters()语法结构的sub_layer_hrd_parameters(HighestTid)语法结构中找到cpb_cnt_minus1[HighestTid]。

对位流分区嵌套SEI消息语法的改变

表3说明对bsp_nesting()语法的改变:

表3:BSP_NESTING()的实例语法

对位流分区初始到达时间SEI消息语法的改变

表4说明对bsp_initial_arrival_time()语法的改变:

表4:BSP_INITIAL_ARRIVAL_TIME()的实例语法

SEI消息的一般语义

在MV-HEVC草案JCT3V-H1002-v5的条款D.3.1中指定的位流符合性的约束可以如下添加而应用。

假设SEI NAL单元或SEI消息的prevVclNalUnitInAu为在相同存取单元中在解码次序上在先的VCL NAL单元(如果存在),且假设SEI NAL单元或SEI消息的nextVclNalUnitInAu为在相同存取单元中在解码次序上的下一VCL NAL单元(如果存在)。

在一个实例中,位流符合性的要求是以下限制适用:当缓冲周期SEI消息、图片时序SEI消息、解码单元信息SEI消息或位流分区初始到达时间SEI消息存在于包含于可缩放嵌套SEI消息中的位流分区嵌套SEI消息中时,所述可缩放嵌套SEI消息将不跟随在所述可缩放嵌套SEI消息的prevVclNalUnitInAu之后且在所述可缩放嵌套SEI消息的nextVclNalUnitInAu之前的任何其它SEI消息,作用中参数集SEI消息、非嵌套缓冲周期SEI消息、非嵌套图片时序SEI消息、非嵌套解码单元信息SEI消息、包含缓冲周期SEI消息、图片时序SEI消息、解码单元信息SEI消息或另一可缩放嵌套SEI消息的可缩放嵌套SEI消息(含有包含缓冲周期SEI消息、图片时序SEI消息、解码单元信息SEI消息或位流分区初始到达时间SEI消息的位流分区嵌套SEI消息)除外。

位流分区嵌套SEI消息语义

位流分区嵌套SEI消息提供使SEI消息与OLS的分割方案的位流分区关联的机制。

当存在时,此SEI消息将包含于可缩放嵌套SEI消息内。当此SEI消息包含于可缩放嵌套SEI消息中时,其将为仅有的嵌套SEI消息。在含有此SEI消息的可缩放嵌套SEI消息中,bitstream_subset_flag将等于1,nesting_op_flag将等于1,default_op_flag将等于0,nesting_num_ops_minus1将等于0,且nesting_op_idx[0]将不等于0。SEI NAL单元的nuh_layer_id将等于列表nestingLayerIdList[0]内的最高值。

位流分区嵌套SEI消息含有一或多个SEI消息。

sei_ols_idx指定所含有SEI消息应用于的OLS的索引。sei_ols_idx的值将处于0到NumOutputLayerSets-1(包含性)的范围内。

位流符合性的要求是OlsIdxToLsIdx[sei_ols_idx]将等于含有位流分区嵌套SEI消息的可缩放嵌套SEI消息的nesting_op_idx[0]。

sei_partitioning_scheme_idx指定所含有SEI消息应用于的分割方案的索引。sei_partitioning_scheme_idx的值将处于0到NumPartitioningSchemes[sei_ols_idx]-1(包含性)的范围内。

bsp_idx指定所含有SEI消息应用于的位流分区的索引。bsp_idx的值将处于0到num_partitions_in_scheme_minus1[sei_ols_idx][sei_partitioning_scheme_idx](包含性)的范围内。

位流分区初始到达SEI消息语义

位流分区初始到达时间SEI消息可指定将在位流分区特定的CPB操作中使用的初始到达时间。

当存在时,此SEI消息将包含于位流分区嵌套SEI消息内,且同一位流分区嵌套SEI消息将也含有缓冲周期SEI消息。

假设针对处于0到SchedCombCnt[sei_ols_idx][sei_partitioning_scheme_idx](包含性)的范围内的i,hrdParamIdx[i]等于bsp_comb_hrd_idx[olsIdx][partitioningSchemeIdx][i][bspIdx]的值,其中olsIdx、partitioningSchemeIdx和bspIdx分别等于含有此位流分区初始到达时间SEI消息的位流分区嵌套SEI消息的sei_ols_idx、sei_partitioning_scheme_idx和bsp_idx。假设initialCpbRemovalDelayLength[i]等于initial_cpb_removal_delay_length_minus1+1,其中在作用中VPS中的第hrdParamIdx[i]hrd_parameters()语法结构中找到initial_cpb_removal_delay_length_minus1。

nal_initial_arrival_delay[i]指定当NAL HRD参数在使用时此SEI消息应用于的位流分区的第i时间表组合的初始到达时间。nal_initial_arrival_delay[i]语法元素的以位为单位的长度等于initialCpbRemovalDelayLength[i]。

vcl_initial_arrival_delay[i]指定当VCL HRD参数在使用时此SEI消息应用于的位流分区的第i时间表组合的初始到达时间。vcl_initial_arrival_delay[i]语法元素的以位为单位的长度等于initialCpbRemovalDelayLength[i]。

其它考虑

可使用多种不同技术和技艺中的任一者来表示本文中所揭示的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。

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

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

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

本发明的技术可在广泛多种装置或设备中实施,包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可以配合合适的软件和/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。

已描述本发明的各种实施例。这些和其它实施例在所附权利要求书的范围内。

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