首页> 中国专利> 通过基于与含有一或多个层的分区相关联的简档、层次和层级确定解码器的能力来对多层视频数据进行解码的方法和装置

通过基于与含有一或多个层的分区相关联的简档、层次和层级确定解码器的能力来对多层视频数据进行解码的方法和装置

摘要

一种多层视频解码器经配置以基于三元组条目列表而确定所述多层视频解码器是否能够对包括多层视频数据的经编码表示的位流进行解码。所述列表中的三元组条目的数目等于所述多层视频解码器中的单层解码器的数目。所述三元组条目列表中的每一相应三元组条目指示用于所述多层视频解码器中的相应单层解码器的简档、层次和层级。所述多层视频解码器经配置以使得基于所述多层视频解码器能够对所述位流进行解码,所述多层视频解码器对所述位流进行解码。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-14

    授权

    授权

  • 2017-03-22

    实质审查的生效 IPC(主分类):H04N21/2343 申请日:20150501

    实质审查的生效

  • 2017-02-22

    公开

    公开

说明书

本申请案主张2014年5月1日申请的第61/987,463号美国临时专利申请案和2014年5月15日申请的第61/993,980号美国临时专利申请案的权益,以上申请案中的每一者的整个内容以引用的方式并入本文中。

技术领域

本发明涉及视频编码和视频解码。

背景技术

数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施视频压缩技术,例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、目前正在开发的高效率视频译码(HEVC)标准及此类标准的扩展中所描述的视频压缩技术。视频装置可以通过实施此类视频压缩技术来更有效率地发射、接收、编码、解码和/或存储数字视频信息。

视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧间编码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。

空间或时间预测产生待译码块的预测性块。残余数据表示待译码原始块与预测性块的间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据编码的。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据自像素域变换至变换域,从而产生残余系数,可接着量化所述残余系数。可扫描最初布置为二维阵列的经量化的系数,以便产生系数的一维向量,且可应用熵译码以实现更多压缩。

可例如从多个视角编码视图来产生多视图译码位流。已经开发利用多视图译码方面的一些三维(3D)视频标准。举例来说,不同视图可发射左眼和右眼视图以支持3D视频。或者,一些3D视频译码过程可应用所谓的多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量而且含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量和一个深度视图分量。

发明内容

一般来说,本发明描述了描述用以基于针对相应视频位流分区指定的简档、层次和层级信息而确定视频解码器对视频位流进行解码的能力的视频位流性质的技术。

在另一实例中,本发明描述一种对多层视频数据进行解码的方法,所述方法包括:基于三元组条目列表而确定多层视频解码器是否能够对包括所述多层视频数据的经编码表示的位流进行解码,其中所述三元组条目列表中的每一相应三元组条目指示用于所述多层视频解码器中的相应单层解码器的简档、层次和层级;以及基于所述多层视频解码器能够对所述位流进行解码,通过所述多层视频解码器对所述位流进行解码。

在另一实例中,本发明描述一种用于对多层视频数据进行解码的装置,所述装置包括:一或多个计算机可读存储媒体,其经配置以存储所述多层视频数据;以及一或多个处理器,其经配置以:基于三元组条目列表而确定多层解码器是否能够对包括所述多层视频数据的经编码表示的位流进行解码,其中所述三元组条目列表中的每一相应三元组条目指示用于所述多层视频解码器中的相应单层解码器的简档、层次和层级。

在另一实例中,本发明描述一种用于对视频数据进行解码的装置,所述装置包括:用于基于三元组条目列表而确定所述装置是否能够对包括多层视频数据的经编码表示的位流进行解码的装置,其中所述三元组条目列表中的每一相应三元组条目指示用于所述装置中的相应单层解码器的简档、层次和层级;以及用于基于所述装置能够对所述位流进行解码而对所述位流进行解码的装置。

在另一实例中,本发明描述一种计算机可读数据存储媒体,其包括存储于其上的指令,所述指令当执行时致使多层视频解码器:基于三元组条目列表而确定所述多层视频解码器是否能够对包括所述多层视频数据的经编码表示的位流进行解码,其中所述三元组条目列表中的每一相应三元组条目指示用于所述多层视频解码器中的相应单层解码器的简档、层次和层级;以及基于所述多层视频解码器能够对所述位流进行解码,对所述位流进行解码。

在附图及以下描述中阐述本发明的一或多个实例的细节。其它特征、目标和优点将从所述描述、图式和权利要求书而显而易见。

附图说明

图1是说明可利用本发明中所描述的技术的实例视频译码系统的框图。

图2是说明根据本发明的技术包括多个单层解码器的视频解码器的实例实施方案的框图。

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

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

图5A是说明根据本发明的技术的视频编码器的实例操作的流程图。

图5B是说明根据本发明的技术的视频解码器的实例操作的流程图。

图6A是说明根据本发明的技术的视频编码器的实例操作的流程图。

图6B是说明根据本发明的技术的视频解码器的实例操作的流程图。

图7是说明根据本发明的技术的视频解码器的实例操作的流程图。

具体实施方式

位流(即视频位流)可包括视频数据的经编码表示。更具体来说,位流可包括一系列网络抽象层(NAL)单元。NAL单元中的每一者可包含NAL单元标头和原始字节序列有效负载(RBSP)。在多层视频译码中,NAL单元可对应于视频数据的各种层。在可缩放视频译码中,所述层可包含基础层和一或多个增强层。在多视图译码中,所述层中的每一者可对应于不同视图,例如视频场景的不同视图。

例如高效率视频译码(HEVC)等某些视频译码标准界定若干不同简档、层次和层级。一般来说,视频译码标准的“简档”是所述视频译码标准中存在的特征和工具的子集。换句话说,简档界定可使用何种译码工具。例如对于视频编码器,简档可设定视频编码器可用来产生符合所述简档的经译码位流的译码工具集合。对于视频解码器,简档可意味着视频解码器必须具有的译码工具集合,以便能够解码所述位流以符合所述简档。

层级是对视频译码标准的语法元素和变量可采取的值的经界定约束集合。层次是强加于位流中的语法元素的值或变量的值的层级约束的指定类别,其中所述层级约束嵌套于一层次内且符合某一层次和层级的解码器将能够对符合同一层次或所述层级或所述层级下方的任何层级的下部层次的所有位流进行解码。因此,层次的层级是强加于位流中的语法元素或在对位流进行解码时使用的变量的值的指定约束集合。

不同视频解码器可具有不同能力。举例来说,一个视频解码器可能够对符合第一简档的位流进行解码,但可能不能够对符合第二简档的位流进行解码。在此实例中,另一视频解码器可能够对符合第一简档和第二简档的位流进行解码。举例来说,关于视频译码的可缩放层,可实现的视频质量水平可跨越层按比例缩放,以使得一些装置可仅能够解码和呈现基本视频质量水平,而其它装置可能够解码和呈现增强视频质量。并且,可缩放层可允许当信道带宽受到限制时更可靠的视频数据接收,例如,有限带宽信道可能仍足以用于基础层的视频数据通信且更稳健的带宽信道可允许基础层和增强层的视频数据通信。一般来说,如果第一处理器能够对符合作为可由第二处理器解码的简档、层次和层级的超集的简档、层次和层级的位流进行解码,那么第一处理器是更复杂的并且因此趋于更昂贵。

类似地,关于多视图译码,多个视图可由一些装置解码,而其它装置可能仅具有解码有限数目的视图的能力。信道带宽约束也可以由多视图译码更有效地利用以使得当带宽受到限制时有限数目的视图可解码,且当带宽允许时大量的视图可解码。

在一些情况下,视频解码器包括多个硬件核心(例如,处理单元或处理模块)。换句话说,视频解码器可使用多个硬件核心来建置。硬件核心中的每一者可能够独立地解码位流的至少低层级语法元素。不同核心在其处理能力方面可类似或不同,但无论如何,多个核心的存在可提供优于单核心解码器的处理优点。在一些实例中,包括多个硬件核心的视频解码器可能够并行地对位流的多个部分进行解码。例如一些处理核心可实施单层解码器。单层解码器可能够对位流的单个层进行解码,例如可缩放视频的基础层或多视图视频中的特定视图。相比之下,多层解码器可能够同时(即,并行地)对位流的多个层进行解码。在一个实例中,单个硬件核心能够对多于一个层进行解码。

视频解码器的不同硬件核心可具有不同能力。举例来说,视频解码器的一个硬件核心可能够对符合第一简档而非第二简档的位流进行解码,虽然视频解码器的第二硬件核心可能够对符合第一简档和第二简档的位流进行解码。视频解码器可带有具有不同能力的硬件核心以便在视频解码器的既定目的的前提下保持视频解码器的总体成本尽可能低。

通常,在其中视频解码器包括多个硬件核心的实例中,视频解码器基于在位流中用信号表示的简档、层次和层级信息而确定视频解码器的最有能力的硬件核心是否能够解码位流。如果是,那么视频解码器确定其能够解码位流。此过程不使得视频解码器能够确定视频解码器的能力较低的硬件核心中的任一者是否能够辅助解码位流的过程。因此,在最有能力的硬件核心对所有位流进行解码的同时,能力较低的硬件核心可为空闲的。然而,视频解码器的能力较低的硬件核心可实际上能够与视频解码器的最有能力的硬件核心并行地解码位流的特定层。因此,不使用能力较低的硬件核心会不必要地延长解码时间。

本发明的一些技术可促进带有具有不同能力的硬件核心的视频解码器中的解码时间的减少。例如,本发明的一些技术可减小基于具有不同能力的多个单层解码器建置的视频解码器中的解码时间。可实现相对于较常规技术的此解码时间的减少而无需改变硬件核心本身(例如,无需修改硬件核心的物理结构)。另外,当硬件核心相同能力时,本发明的一些技术可使得视频解码器能够并行地解码更多层。

根据本发明的一个实例技术,视频解码器可对包括视频数据的经编码表示的位流进行解码。在此实例中,位流包括多个层。作为对位流进行解码的部分,视频解码器可从位流获得指示一或多个分割方案的一或多个语法元素。对于所述一或多个分割方案中的每一相应分割方案,所述相应分割方案指定并集形成输出层集合的不相交分区的相应集合。不相交分区的相应集合的每一相应分区含有所述层中的一或多者。因此,分区可为位流的特定类型的子位流。输出层集合可由所述多个层的所有层或所述多个层的恰当子集组成。此外,视频解码器可使用多个硬件核心中的不同处理核心对特定分割方案的分区中的每一者进行解码,所述特定分割方案是所述一或多个分割方案中的一者。

在一些实例中,对于所述一或多个分割方案中的每一相应分割方案的每一相应分区,视频解码器从位流获得指示所述相应分区的相应简档、层次和层级(PTL)信息的相应语法元素。在一些情况下,视频解码器可基于分割方案的分区的PTL信息而从所述一或多个分割方案选择分割方案。在一些情况下,视频解码器可根据如由可用网络资源决定的特定分割方案接收位流。视频解码器可使用硬件核心中的相应一个对特定分割方案的每一相应分区进行解码。硬件核心中的每一相应一个可实施相应单层解码器。在一些情况下,视频解码器的一个硬件核心可能够解码多于一个层。

本发明的额外技术可提供使用位流分区的位流符合性测试。举例来说,视频处理装置(例如视频编码器、视频解码器或其它装置)可对包括视频数据的经编码表示的位流进行解码。所述位流可包括多个层。作为对位流进行解码的部分,视频解码器可从位流获得指示用于输出层集合的一或多个分割方案的一或多个语法元素。在这些类型的实例中,输出层集合可由所述多个层的所有层或所述多个层的恰当子集(例如,不是所述多个层的所有层)组成。此外,对于所述一或多个分割方案中的每一相应分割方案,所述相应分割方案可指定将输出层集合划分为一或多个分区。输出层集合中的每一层可属于相应分割方案中的确切一个分区。对于所述一或多个分割方案中的每一相应分割方案,视频解码器可从位流中的补充增强信息(SEI)消息或位流中的视频参数集(VPS)中的视频可用性信息(VUI)获得指示用于分割方案的假想参考解码器(HRD)参数集的语法元素的相应集合。另外,对于所述分割方案的每一相应分区,视频处理装置可基于用于相应分割方案的HRD参数集而测试相应分区对例如MV-HEVC或SHVC等视频译码标准的符合性。

根据本发明的一些技术,多层视频解码器可基于三元组条目的列表而确定多层视频解码器是否能够解码(即,经配置以解码)包括多层视频数据的经编码表示的位流。所述列表中的三元组条目的数目可小于或等于多层视频解码器中的单层解码器的数目。三元组条目列表中的每一相应三元组条目指示多层视频解码器中的相应单层解码器能够解码(即,经配置以解码)的简档、层次和层级。基于多层视频解码器能够解码位流,所述多层视频解码器可解码所述位流。在一些实例中,视频处理装置可通过确定位流指定分割方案而确定多层解码器能够解码位流,其中所述分割方案的每一分区的PTL信息指示所述分区可由单层解码器中的至少一者解码。这可使得具有多个单层解码器的多层视频解码器能够确定多层视频解码器是否能够解码位流。

图1是说明可利用本发明的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”一般是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。

如图1中所示,视频译码系统10包含源装置12、目的地装置14和网络元件15。源装置12产生经编码视频数据。因此,源装置12可被称为视频编码装置或视频编码设备。目的地装置14可以对由源装置12所产生的经编码的视频数据进行解码。因此,目的地装置14可以被称为视频解码装置或视频解码设备。源装置12以及目的地装置14可以是视频编解码装置或视频编解码设备的实例。

源装置12及目的地装置14可以包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机(in-car computer)或其类似者。

网络元件15可接收经编码视频数据且输出经处理的经编码视频数据。网络元件15可为媒体感知网络元件(MANE)、内容递送网络(CDN)装置或另一类型的装置(例如,计算装置)。网络装置15可执行本发明的一或多个技术。举例来说,根据本发明的一或多种技术,网络装置15可执行一或多个位流符合性测试。网络元件15、源装置12、目的地装置14以及处理视频数据的其它类型的装置可视为视频处理装置。

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

在另一实例中,信道16可包含储存由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可(例如)经由磁盘存取或卡存取来存取存储媒体。存储媒体可以包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码的视频数据的其它合适数字存储媒体。

在另一实例中,信道16可以包含存储由源装置12产生的经编码的视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可以经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的经编码的视频数据。文件服务器可为能够存储经编码视频数据并且将经编码视频数据传输到目的地装置14的类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络连接存储(NAS)装置和本地磁盘驱动器。

目的地装置14可以通过标准数据连接(例如因特网连接)来存取经编码的视频数据。数据连接的实例类型可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从文件服务器的发射可为流式发射、下载发射或两者的组合。

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

图1仅为实例,且本发明的技术可适用于未必包含编码及解码装置之间的任何数据通信的视频译码设定(例如视频编码或视频解码)。在其它实例中,从本地存储器检索、在网络上流式传输或以类似方式处理数据(例如,视频数据)。视频编码装置可将数据(例如,视频数据)编码且存储到存储器,和/或视频解码装置可从存储器检索且解码数据(例如,视频数据)。在许多实例中,通过并不彼此通信而是简单地编码数据到存储器和/或从存储器检索数据且解码数据(例如,视频数据)的装置执行编码和解码。

在图1的实例中,源装置12包含视频源18、视频编码器20以及输出接口22。在一些情况下,输出接口22可以包含调制器/解调器(调制解调器)和/或发射器。视频源18可以包含视频俘获装置(例如,摄像机)、含有先前俘获的视频数据的视频存档、用于从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此类源的组合。因此,在一些实例中,源装置12包括经配置以俘获视频数据的相机。

视频编码器20可对来自视频源18的视频数据进行编码。在一些实例中,源装置12经由输出接口22将经编码的视频数据直接发射到目的地装置14。在其它实例中,经编码的视频数据也可存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码和/或回放。

在图1的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。输入接口28可经由信道16接收经编码视频数据。视频解码器30可对经编码视频数据进行解码。显示装置32可显示经解码视频数据。显示装置32可与目的地装置14集成或在目的地装置14外部。显示装置32可以包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

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

本发明通常可指视频编码器20将某些信息“用信号表示”给另一装置(例如,视频解码器30)。术语“用信号表示”通常可指用于对经压缩视频数据进行解码的语法元素及/或其它数据的通信。此通信可实时或几乎实时发生。替代地,此通信可经过一段时间后发生,例如可在编码时以经编码位流将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。

在一些实例中,视频编码器20及视频解码器30根据视频压缩标准(例如ISO/IEC MPEG-4Visual及ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)扩展、多视图视频译码(MVC)扩展及基于MVC的3DV扩展)操作。在一些情况下,符合H.264/AVC的基于MVC的3DV扩展的任何位流始终含有顺应H.264/AVC的MVC扩展的子位流。MVC的最新联合草案描述于2010年3月的“用于通用视听服务的高级视频译码(Advanced video coding for generic audiovisual services)”(ITU-T建议H.264)中。此外,正在致力于产生H.264/AVC的三维视频(3DV)译码扩展,即基于AVC的3DV。在其它实例中,视频编码器20和视频解码器30可根据ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-T H.263以及ISO/IEC MPEG-4视觉来操作。

在其它实例中,视频编码器20及视频解码器30可根据由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的高效率视频译码(HEVC)标准操作。称为“HEVC草案规范”的HEVC标准的草案在布洛斯等人的“高效率视频译码(HEVC)缺陷报告3”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第16次会议,美国圣何塞,2014年1月,文献编号JCTVC-P1003_v1)中描述。HEVC草案规范可得自:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/16_San%20Jose/wg11/JCTVC-P1003-v1.zip。

此外,存在进行中的努力以产生HEVC的可缩放视频译码扩展。HEVC的可缩放视频译码扩展可被称为SHEVC或SHVC。另外,VCEG和MPEG的3D视频译码联合合作小组(JCT-3C)正在开发基于HEVC的3DV标准。基于HEVC的3DV标准的标准化努力的部分包含基于HEVC的多视图视频编解码器(即,MV-HEVC)的标准化。基于HEVC的3DV标准的标准化努力的另一部分包含基于HEVC的3D视频译码(即,3D-HEVC)的标准化。对于3D-HEVC,可包含且支持用于纹理及深度视图两者的新译码工具,包含在译码单元(CU)或预测单元(PU)层级处的那些工具。

下文称为MV-HEVC WD8的MV-HEVC的最近工作草案(WD)可得自:http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/8_Valencia/wg11/JCT3V-H1002-v1.zip。被称为SHVC的对HEVC的可缩放扩展也正由JCT-VC开发。下文称为SHVC WD6的SHVC的最近工作草案(WD)可得自http://phenix.it-sudparis.eu/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1008-v1.zip。

在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可包含三个样本阵列,标示为SL、SCb和SCr。SL是明度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可以被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含明度样本阵列。

为了产生图片的经编码的表示,视频编码器20可以产生一组译码树单元(CTU)。CTU中的每一者可包括明度样本的译码树块、色度样本的两个对应的译码树块,以及用以对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个译码树块和用于对所述译码树块的样本进行译码的语法结构。译码树块可为样本的NxN块。CTU也可以被称为“树块”或“最大译码单元(LCU)”。HEVC的CTU可以广泛地类似于例如H.264/AVC等其它标准的宏块。然而,CTU未必限于特定大小,并且可以包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续排序的整数数目的CTU。

本发明可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块以及用于译码所述一或多个样本块的样本的语法结构。实例类型的视频单元可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。在一些情形中,PU的论述可与宏块或宏块分区的论述互换。

为了产生经译码CTU,视频编码器20可在CTU的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NxN块。CU可包括具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块和色度样本的两个对应的译码块,以及用以对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块和用以对译码块的样本进行译码的语法结构。

视频编码器20可将CU的译码块分割为一或多个预测块。预测块是应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括明度样本的预测块、色度样本的两个对应预测块和用以预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块和用以预测预测块的语法结构。视频编码器20可针对CU的每一PU的预测块(例如,明度、Cb和Cr预测块)产生预测性块(例如,明度、Cb和Cr预测性块)。

视频编码器20可使用帧内预测或帧间预测来产生PU的预测块。如果视频编码器20使用帧内预测以产生PU的预测性块,那么视频编码器20可基于包含PU的图片的经解码样本产生PU的预测性块。

在视频编码器20产生CU的一或多个PU的预测性块(例如,明度、Cb和Cr预测性块)之后,视频编码器20可产生CU的一或多个残余块。举例来说,视频编码器20可产生CU的明度残余块。CU的明度残余块中的每个样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中对应的样本之间的差异。另外,视频编码器20可以产生CU的Cb残余块。CU的Cb残余块中的每一样本可以指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中对应的样本之间的差异。视频编码器20还可产生CU的Cr残余块。CU的Cr残余块中的每一样本可以指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差异。

此外,视频编码器20可使用四叉树分割将CU的残余块(例如,明度、Cb及Cr残余块)分解为一或多个变换块(例如,明度、Cb及Cr变换块)。变换块是应用相同变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可包括明度样本的变换块、色度样本的两个对应变换块及用以对变换块样本进行变换的语法结构。因此,CU的每一TU可具有明度变换块、Cb变换块以及Cr变换块。TU的明度变换块可为CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可以是CU的Cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块和用以对变换块的样本进行变换的语法结构。

视频编码器20可以将一或多个变换应用到TU的变换块以产生TU的系数块。举例来说,视频编码器20可将一或多个变换应用到TU的明度变换块以产生TU的明度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用至TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用至TU的Cr变换块以产生TU的Cr系数块。

在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以量化系数块。量化总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可以对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。

视频编码器20可输出包含形成经译码图片及相关联数据的表示的位元序列的位流。因此,位流包括视频数据的经编码表示。位流可包括一连串网络抽象层(NAL)单元。NAL单元是含有NAL单元中的数据类型的指示和含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一者包含NAL单元标头且囊封RBSP。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有包封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。

不同类型的NAL单元可囊封不同类型的RBSP。举例来说,不同类型的NAL单元可囊封用于视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、经译码切片、补充增强信息(SEI)等的不同RBSP。囊封视频译码数据的RBSP(与参数集及SEI消息的RBSP相对)的NAL单元可被称为视频编码层(VCL)NAL单元。在HEVC(即,非多层HEVC)中,存取单元可为按解码次序连续且含有确切一个经译码图片的NAL单元的集合。除经译码图片的经译码切片NAL单元之外,存取单元还可含有不含经译码图片的切片的其它NAL单元。在一些实例中,对存取单元的解码始终产生经解码图片。补充增强信息(SEI)含有并非对来自VCL NAL单元的经译码图片的样本进行解码所必需的信息。SEI RBSP含有一或多个SEI消息。

视频解码器30可以接收由视频编码器20产生的位流。另外,视频解码器30可以剖析位流以获得来自位流的语法元素。视频解码器30可至少部分地基于从位流获得的语法元素重构视频数据的图片。用于重构视频数据的过程通常可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量来确定当前CU的PU的预测性块。另外,视频解码器30可逆量化当前CU的TU的系数块。视频解码器30可对系数块执行逆变换以重构当前CU的TU的变换块。通过将用于当前CU的PU的预测性块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器30可重构图片。

本发明的技术潜在地适用于多视图译码和/或3DV标准和规范,包含MV-HEVC和3D-HEVC。在例如MV-HEVC和3D-HEVC中界定的多视图译码中,可存在同一场景的从不同视点的多个视图。在多视图译码和可缩放视频译码的上下文中,术语“存取单元”可用以指代对应于同一时间实例的图片的集合。在一些情况下,在多视图译码和可缩放视频译码的上下文中,存取单元可包括根据指定分类规则彼此相关联、按解码次序连续且含有与同一输出时间相关联的所有经译码图片的VCL NAL单元及其相关联非VCL NAL单元的NAL单元的集合。因此,视频数据可经概念化为随时间出现的一系列存取单元。

在例如在3D-HEVC中界定的3DV译码中,“视图分量”可为单个存取单元中的视图的经译码表示。视图分量可含有纹理视图分量和深度视图分量。深度视图分量可为单个存取单元中的视图的深度的经译码表示。纹理视图分量可为单个存取单元中的视图的纹理的经译码表示。在本发明中,“视图”可指与相同视图识别符相关联的一连串视图分量。

视图的一图片集合内的纹理视图分量及深度视图分量可被视为对应于彼此。举例来说,视图的一组图片内的纹理视图分量被视为对应于视图的图片的所述组内的深度视图分量,且反过来也一样(即,深度视图分量对应于其在所述组中的纹理视图分量,且反过来也一样)。如本发明中所使用,对应于深度视图分量的纹理视图分量可被视为纹理视图分量且深度视图分量为单一存取单元的同一视图的部分。

纹理视图分量包含所显示的实际图像内容。举例来说,纹理视图分量可包含明度(Y)和色度(Cb和Cr)分量。深度视图分量可指示其对应纹理视图分量中的像素的相对深度。作为一个实例,深度视图分量可包括仅包含明度值的灰度阶图像,但深度视图分量中的明度值可表示像素或像素集合的深度水平,与将由纹理视图的明度分量传达的像素强度水平相反。换句话说,深度视图分量可不传达任何图像内容,而是提供纹理视图分量中的像素的相对深度的量度。出于说明的目的而提供深度视图分量仅使用明度值(例如,强度值)来识别深度,且不应被视为限制性的。在其它实例中,可利用任何技术来指示纹理视图分量中的像素的相对深度。

在多视图译码和SVC译码中,位流可具有多个层。在多视图译码中,所述层中的每一者可对应于不同视图。如果视频解码器(例如,视频解码器30)可解码层中的图片而无需参考任何其它层中的图片,那么层可被称为“基础层”。如果层的解码取决于在一或多个其它层中的图片的解码,那么所述层可被称为“非基础层”或“相依性层”。当对非基础层中的一者中的图片进行译码时,视频译码器(例如,视频编码器20或视频解码器30)可在图片与视频译码器当前正译码的图片处于不同视图中但在同一时间实例(即,存取单元)内的情况下将所述图片添加到参考图片列表中。如同其它帧间预测参考图片,视频编解码器可在参考图片列表的任何位置处插入视图间预测参考图片。

在SVC中,除基础层外的层可被称为“增强层”且可提供增强从位流解码的视频数据的视觉质量的信息。SVC可增强空间分辨率、信噪比(即,质量)或时间速率。在可缩放视频译码(例如,SHVC)中,“层表示”可为单个存取单元中的空间层的经译码表示。为便于说明,本发明可将视图分量和/或层表示称为“视图分量/层表示”或简称为“图片”。

为了实施所述层,NAL单元的标头可包含nuh_reserved_zero_6bits语法元素,其也可被称作“nuh_layer_id”语法元素。具有指定不同值的nuh_reserved_zero_6bit语法元素的NAL单元属于位流的不同层。因此,在多视图译码(例如,MV-HEVC)、3DV(例如,3D-HEVC)或SVC(例如,SHVC)中,NAL单元的nuh_reserved_zero_6bits语法元素指定所述NAL单元的层识别符(即,层ID)。在一些实例中,如果一NAL单元与多视图译码(例如,MV-HEVC)、3DV译码(例如,3D-HEVC)或SVC(例如,SHVC)中的基础层有关,那么所述NAL单元的nuh_reserved_zero_6bits语法元素等于0。可在不参考位流的任何其它层中的数据的情况下解码位流的基础层中的数据。如果NAL单元并不涉及多视图译码、3DV或SVC中的基础层,那么语法元素的nuh_reserved_zero_6bits语法元素可具有非零值。如上文所指出,在多视图译码和3DV译码中,位流的不同层可对应于不同视图。

此外,在一层内的一些视图分量/层表示可在不参考同一层内的其它视图分量/层表示的情况下加以解码。因此,囊封一层的某些视图分量/层表示的数据的NAL单元可从位流移除,而不影响所述层中的其它视图分量/层表示的可解码性。移除囊封此些视图分量/层表示的数据的NAL单元可减小位流的帧速率。可在不参考在一层内的其它视图分量/层表示的情况下解码的在所述层内的视图分量/层表示的子集可在本文中被称作“子层”或“时间子层”。

NAL单元可包含指定NAL单元的时间识别符(即,TemporalIds)的temporal_id语法元素。NAL单元的时间识别符识别NAL单元属于的子层。因此,位流的每一子层可具有不同时间识别符。一般来说,如果第一NAL单元的时间识别符小于第二NAL单元的时间识别符,那么可在不参考由第二NAL单元囊封的数据的情况下解码由第一NAL单元囊封的数据。

如上文简要地指出,NAL单元可囊封用于视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)的RBSP。VPS是包括应用于零个或更多个完整经译码视频序列(CVS)的语法元素的语法结构。SPS还是包括应用于零个或更多个整个CVS的语法元素的语法结构。SPS可包含识别在SPS在作用中时在作用中的VPS的语法元素。因此,VPS的语法元素可比SPS的语法元素更一般地适用。PPS是包括应用于零个或更多个经译码图片的语法元素的语法结构。PPS可包含识别在PPS在作用中时在作用中的SPS的语法元素。切片的切片标头可包含指示当切片正经译码时在作用中的PPS的语法元素。

参数集、此些VPS、SPS和PPS可包含特定针对对HEVC标准的扩展的扩展语法结构。举例来说,参数集可包含特定针对SHVC、MV-HEVC、3D-HEVC等的扩展。所述扩展语法结构可包含适用于对HEVC标准的扩展的语法元素。下方表1展示SHVC WD6和MV-HEVC WD8中界定的VPS扩展的一部分。

表1

在以上表1的实例和本发明的其它语法表中,具有类型描述符ue(v)的语法元素可为使用左位优先的第0阶指数哥伦布(Exp-Golomb)译码而编码的可变长度无符号整数。在表1和以下表的实例中,具有形式u(n)的描述符的语法元素是长度n的无符号值,其中n是非负整数。

表1中界定的VPS扩展的部分包含界定一或多个输出层集合的语法元素。输出层集合是由VPS中指定的层集合中的一者的层组成的层的集合,其中所述层集合中的一或多个层指示为输出层。如SHVC WD6中界定,输出层是当TargetOptLayerSetIdx等于输出层集合的索引时输出的输出层集合的层。TargetOptLayerSetIdx指定在使用中的操作点和目标输出层集合的层识别符列表。操作点可指代位流中的NAL单元的子集(例如,恰当子集)。此外,如SHVC WD6中界定,目标输出层是将输出的层且是具有索引olsIdx的输出层集合的输出层中的一者以使得TargetOptLayerSetIdx等于olsIdx。因此,一般来说,目标输出层集合可为输出层集合中的特定一者。目标输出层集合的每一层输出(例如,作为视频解码器的输出而提供)。在一些情况下,视频解码器30可对位流的特定层进行解码,但不输出特定层的经解码视频数据。而是,视频解码器30可使用特定层的经解码视频数据对目标输出层集合中的层的视频数据进行解码。

另外,表1中界定的VPS扩展的部分包含界定一或多个简档、层次和层级(PTL)语法结构的语法元素。每一PTL语法结构指定用于每一经译码视频序列的简档、层次和层级。如表1中进一步所示,VPS扩展包含识别适用于相应输出层集合的PTL语法结构的profile_level_tier_idx语法元素。以此方式,VPS扩展指定用于输出层集合中的每一者的PTL信息。

一般来说,“简档”是视频译码标准(例如,HEVC或其扩展)中存在的特征和工具的子集。在由给定简档强加的界限内,仍可能需要取决于位流中的语法元素所取的值(例如,经解码图片的指定大小)而极大地改变编码器和解码器的性能。在许多应用中,实施能够处理特定简档内的语法的所有假设使用的解码器既不实际也不经济。为了处理此问题,在每一简档内指定“层次”和“层级”。

在一些实例中,层级是对视频译码标准(例如,HEVC或其扩展)的语法元素和变量可采取的值的经界定约束集合。此外,在一些实例中,层次是强加于位流中的语法元素的值或变量的值的层级约束的指定类别,其中所述层级约束嵌套于一层次内且符合某一层次和层级的解码器将能够对符合同一层次或所述层级或所述层级下方的任何层级的下部层次的所有位流进行解码。因此,层次的层级是强加于位流中的语法元素的值或变量的值的指定约束集合。这些约束可为对值的简单的限制。替代地,其可呈对值的算术组合的约束形式(例如,图片宽度乘以图片高度乘以每秒经解码的图片数目)。针对更低层指定的级比针对更高层指定之级受到更多约束。在一些上下文中,术语“层级”也可用以指代在按比例缩放之前的变换系数的值。

如上方表1中进一步所示,VPS扩展可包含vps_vui()语法结构。vps_vui()语法结构含有视频可用性信息(VUI)参数。SHVC WD6的段落F.7.3.2.1.4描述vps_vui()语法结构的语法。如HEVC草案规范中指定,通过解码过程构造明度或色度样本不需要VUI参数。不需要符合的解码器来处理此信息用于与本规范的输出次序符合性(参见针对输出次序符合性的规范的附录C)。需要一些VUI参数来检查位流符合性且输出定时解码器符合性。在一些情况下,VUI参数也可以在SPS中指定。

vps_vui()语法结构可包含vps_vui_bsp_hrd_parameters()语法结构。vps_vui_bsp_hrd_parameters()语法结构包含指定用于位流分区的假想参考解码器(HRD)参数的语法元素。如SHVC WD6中界定,位流分区是呈NAL单元流或字节流形式的位序列,其为根据分割的位流的子集。

至少一些视频译码标准指定视频缓冲模型。在H.264/AVC和HEVC中,缓冲模型称为“假想参考解码器”或“HRD”。在HEVC草案规范中,HRD在附录C中描述。HRD描述如何缓冲数据用于解码以及如何缓冲经解码数据用于输出。例如,HRD描述经译码图片缓冲器(“CPB”)、经解码图片缓冲器(“DPB”)以及视频解码过程的操作。CPB为在由HRD指定的解码次序中含有存取单元的先进先出缓冲器。DPB为保持经解码图片以用于通过HRD指定的参考、输出重排序或输出延迟的缓冲器。CPB和DPB的特性可以数学方式指定。HRD可对定时、缓冲器大小和位速率直接强加约束。此外,HRD可对各种位流特性和统计数据间接强加约束。

在H.264/AVC和HEVC中,将位流符合性和解码器符合性指定为HRD规范的部分。换句话说,HRD模型指定确定位流是否符合标准的测试和确定解码器是否符合标准的测试。尽管HRD被称为解码器的某种类型,但视频编码器通常使用HRD来保证位流符合性,而视频解码器通常并不需要HRD。

H.264/AVC和HEVC二者皆指定两种类型的位流符合性或HRD符合性,即I型和II型。I型位流为仅含有用于位流中的所有存取单元的VCL NAL单元和填充数据NAL单元的NAL单元流。在至少一些实例中,NAL单元流是NAL单元的序列。II型位流为含有除用于位流中的所有存取单元的VCL NAL单元和填充数据NAL单元之外的以下各者中的至少一者的NAL单元流:不同于填充数据NAL单元的额外非VCL NAL单元;和从NAL单元流形成字节流的所有leading_zero_8bits、zero_byte、start_coded_prefix_one_3bytes和trailing_zero_8bits语法元素。

当装置执行确定位流是否符合视频译码标准的位流符合性测试时,装置可选择位流的操作点。装置可随后确定适用于所选择操作点的HRD参数集合。装置可使用适用于所选择操作点的HRD参数集合来配置HRD的特性。更具体地说,装置可使用HRD参数的可适用集合来配置HRD的特定组件的特性,例如,假想流调度程序(HSS)、CPB、解码过程、DPB等。随后,HSS可根据特定调度将位流的经译码视频数据注入到HRD的CPB中。此外,装置可调用解码CPB中的经译码视频数据的解码过程。解码过程可将经解码图片输出到DPB。在装置将数据移动通过HRD时,装置可确定是否保持满足约束条件的特定集合。举例来说,所述装置可确定在HRD正解码选定操作点的操作点的同时CPB或DPB中是否发生上溢或下溢条件。装置可以此方式选择和处理位流的每一操作点。如果没有位流的操作点使得违反约束条件,那么装置可确定位流符合视频译码标准。

H.264/AVC和HEVC二者皆指定两种类型的解码器符合性,即输出时序解码器符合性和输出次序解码器符合性。主张对特定简档、层次和层级的符合性的解码器能够成功地解码符合例如HEVC的视频译码标准的位流符合性要求的所有位流。

当装置执行解码器符合性测试以确定受测试解码器(DUT)是否符合视频译码标准时,所述装置可向HRD和DUT两者提供符合所述视频译码标准的位流。HRD可以上文关于位流符合性测试所描述的方式处理位流。所述装置可在由DUT输出的经解码图片的次序匹配于由HRD输出的经解码图片的次序的情况下确定DUT符合视频译码标准。此外,装置可在DUT输出经解码图片的定时匹配于HRD输出经解码图片的定时的情况下确定DUT符合视频译码标准。

在H.264/AVC和HEVC HRD模型中,解码或CPB移除可为基于存取单元的。即,假定HRD一次解码完整的存取单元且从CPB移除完整的存取单元。此外,在H.264/AVC和HEVC HRD模型中,假定图片解码是瞬时的。视频编码器20可在图片定时SEI消息中用信号表示开始存取单元的解码的解码时间。在实际应用中,如果符合的视频解码器严格地跟随用信号表示的开始存取单元解码的解码时间,那么输出特定经解码图片的最早可能时间等于所述特定图片的解码时间加解码所述特定图片需要的时间。然而,在现实世界中,解码图片需要的时间无法等于零。

HRD参数可控制HRD的各种方面。换句话说,HRD可依赖于HRD参数。HRD参数可包含初始CPB移除延迟、CPB大小、位速率、初始DPB输出延迟和DPB大小。视频编码器20可在视频参数集(VPS)和/或序列参数集(SPS)中指定的hrd_parameters()语法结构中用信号表示这些HRD参数。个别VPS和/或SPS可包含用于HRD参数的不同集合的多个hrd_parameters()语法结构。在一些实例中,视频编码器20可在缓冲周期SEI消息或图片定时SEI消息中用信号表示HRD参数。

位流的操作点与层识别符的集合(即,nuh_reserved_zero_6bits值的集合,其也被称作nuh_layer_id值)和时间识别符相关联。操作点可包含与操作点相关联的每一NAL单元。操作点可具有与原始位流不同的帧速率和/或位速率。这是因为操作点可不能包含原始位流的一些图片和/或一些数据。因此,如果视频解码器30当处理原始位流时以特定速率从CPB和/或DPB移除数据且如果视频解码器30当处理操作点时以同一速率从CPB和/或DPB移除数据,那么视频解码器30可能从CPB和/或DPB移除太多或太少的数据。因此,视频编码器20可用信号表示用于不同操作点的HRD参数的不同集合。例如,视频编码器20可在VPS中包含多个hrd_parameters()语法结构,其包含用于不同操作点的HRD参数。

下方表2是用于HEVC中的hrd_parameters()语法结构的实例语法。

表2-HRD参数

在一些实例中,视频解码器30包括多个处理核心。处理核心中的每一者包括独立处理单元,例如ASIC或微处理器。处理核心中的每一者可实施单层解码器。单层解码器是能够对属于位流的单个层的NAL单元进行解码的视频译码器。在此些实例中,因为视频解码器30包括多个处理核心,且因此包括多个单层解码器,所以视频解码器30可能够并行地解码多个层。在一些情况下,视频解码器30的个别硬件核心可能够解码多于一个层。

不同处理核心可具有不同能力。例如,不同处理核心可能够对属于不同简档、层次或层级的视频数据进行解码。举例来说,视频解码器30的第一处理核心可能够处理属于第一层级而非第二层级的视频数据。在此实例中,视频解码器30的第二处理核心可能够处理属于第一层级和第二层级的视频数据。一般来说,与仅能够对属于较低简档、层次和层级的视频数据进行解码的处理核心相比,能够对属于较高简档、层次和层级的视频数据进行解码的处理核心更复杂并且因此更昂贵。因此,视频解码器30的制造商可选择在视频解码器30中包含具有适合于处置所需任务的最低能力的处理核心。

王等人的“MV-HEVC/SHVC HLS:关于层级定义”(ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的视频译码联合合作小组(JCT-VC)第17次会议:西班牙巴伦西亚,2014年3月27日-4月4日,文献编号JCTVC-Q0145(下文为“JCTVC-Q0145”)描述与SHVC中的层级定义相关的若干问题。

第一,如果需要720p分辨率的超过4个信噪比(SNR)层(或相等数目的明度像素,例如具有组合空间和SNR层的更多层),那么将必须使用层级5或更高。因此,CtbSizeY的值将等于32或64(一般限制的每项目e)。对于例如720p或更低的分辨率,此限制不允许使用例如16x16等较小的译码树块大小且可因此导致次最佳译码效率。

第二,如果SHVC解码器是以由HEVC 3.1级解码器的4个核心组成的方式实施,且能够解码720p的4个SNR层,那么按照当前层级定义,将必须称为符合4级或更高。因此,解码器可能需要能够解码任何4级位流。然而,关于仅高级语法改变(即,不改变硬件核心),此解码器将不能够解码具有1080p分辨率的2个SNR层的SHVC 4级位流。

第三,如果SHVC解码器不是通过再使用多个现有HEVC解码器核心来实施,而是以可解码1080p的单层HEVC位流和720p的双层SHVC位流的方式实施,那么根据当前层级定义其将标记为3.1级。然而,随后另一能力的表达遗失。

第四,如果SHVC解码器是以由能够解码720p的4个SNR层的HEVC 3.1解码器的4个核心组成的方式实施,那么按照当前层级定义,其将称为符合4级或更高。因此,每一增强层图片可具有超过3个瓦片行和超过3个瓦片列,例如5个瓦片行和5个瓦片列,每一瓦片具有256个明度样本的宽度和144个明度样本的高度。然而,这将超出3.1级限制且因此用于解码增强层的解码器核心将有问题。

第五,HEVC草案规范的子条款A.4.1中的所有项目当前指定为应用于每一层。然而,这些项目中的一些并非直接地可适用于每一层。对于DPB大小的项目d,SPS语法元素不适用于增强层。另外,SHVC WD6中的DPB是共享子DPB设计,因此项目d无法直接应用于每一层。对于CPB大小的项目h和i,针对位流特定的CPB操作,所述参数无法适用于每一层。

第六,需要关于CPB大小的位流特定的限制(通过HEVC草案规范的子条款A.4.1中的项目h和i)。然而,HEVC草案规范的子条款A.4.1中的项目h和i无法直接在位流层级上应用,因为如果直接应用,那么用于单层位流的相同CPB大小限制将也是用于多层位流的限制。此限制不可随层的数目缩放且在存在许多层时仅允许低图片质量。

第七,通过HEVC草案规范的子条款A.4.2中的项目b、c、d、g、h、i和j的限制当前指定为仅层特定的。然而,应指定这些项目的位流特定限制,无论其层特定的对应限制是否被指定。

JVTVC-Q0145提出界定层级和解码器能力的方法以及其它改变以解决以上问题。JCTVC-Q0145中的设计与至少以下问题相关联。第一,所述设计对于各自基于多个HEVC单层解码器而建置而不改变硬件核心(例如,不修改硬件核心的能力)的SHVC/MV-HEVC解码器是次最佳的,其中所述多个HEVC单层解码器具有不同能力,例如不同简档、层次或层级。第二,可在限制方面界定层级。MV-HEVC WD8和SHVC WD6在当解码位流时具有或不具有特定值的语法元素或变量方面界定这些限制中的许多限制。换句话说,将一些层级限制(例如,位速率和取样率)指定为位流特定的。然而,为了使得一个HEVC单层解码器能够作为SHVC/MV-HEVC解码器的部分而无需改变硬件核心且对所述层的子集(即一或多个层,而非输出层集合的所有层)进行解码,此些层级限制可需要特定针对所述层的所述子集。

以下提供根据本发明的各种技术的各种特征的概述。本发明的稍后部分中提供根据本发明的一或多个实例的一些具体实施方案。以下说明的一些特征可独立地应用,且以下说明的一些特征可组合地应用,如所属领域的技术人员将了解。

本发明的一个实例技术提供将层分为用于每一输出层集合的分区的一或多个分割方案的信令,其中每一分割方案含有并集形成输出层集合的不相交分区的集合且每一分区含有一或多个层。换句话说,输出层的每一分割方案指定将输出层集合的层划分为不重叠分区的不同方式。在一些实例中,分区与输出层集合而不是层集合相关联。

在一些实例中,如下界定分割方案和分割单元:输出层集合可具有一或多个分割方案。输出层集合的分割方案将输出层集合中的层划分为一或多个分区。输出层集合中的每一层将属于分割方案中的确切一个分区。

因此,在一个实例中,视频编码器20产生包括视频数据的经编码表示的位流。作为产生位流的部分,视频编码器20在位流中包含指示一或多个分割方案的一或多个语法元素。对于所述一或多个分割方案中的每一相应分割方案,所述相应分割方案指定并集形成输出层集合的不相交分区的相应集合。在此实例中,不相交分区的相应集合的每一相应分区含有一或多个层,输出层集合由所述多个层的所有层或所述多个层的恰当子集组成。此外,视频编码器20输出位流。

在类似实例中,视频解码器30对包括视频数据的经编码表示的位流进行解码。在此实例中,位流包括多个层。在此实例中作为对位流进行解码的部分,视频解码器30从位流获得指示一或多个分割方案的一或多个语法元素。在一些实例中,视频解码器30使用多个硬件核心中的不同处理核心对特定分割方案的分区中的每一者进行解码,所述特定分割方案是所述一或多个分割方案中的一者。

此外,在一些实例中,视频编码器20可在位流中包含指示多个输出层集合的语法元素。对于所述多个输出层集合中的每一相应输出层集合,视频编码器20可在位流中包含指示用于相应输出层集合的一或多个分割方案的语法元素。在类似实例中,视频解码器30可从位流获得指示多个输出层集合的语法元素,所述多个输出层集合包含第一输出层集合。在此实例中,对于所述多个输出层集合中的每一相应输出层集合,视频解码器30可从位流获得指示用于相应输出层集合的一或多个分割方案的语法元素。

根据本发明的一些实例,术语“分割方案”和“分割单元”具有以下定义:

分割方案:输出层集合中的层划分为一或多个分区以使得输出层集合中的每一层包含在分割方案的确切一个分区中且所述分割方案的每一分区含有一或多个层。

分割单元:根据分割方案含有NAL单元的集合的存取单元的子集。

如上文所指出,VPS扩展可指定用于每一相应输出层集合的相应PTL信息。例如,VPS扩展可针对每一相应输出层集合包含用于相应输出层集合的profile_level_tier_idx语法元素,其识别用于所述相应输出层集合的PTL语法结构。用于相应输出层集合的PTL语法结构指定用于相应输出层集合的PTL信息。

因为视频解码器30可使用输出层集合的PTL信息以确定视频解码器30是否能够解码输出层集合,所以输出层集合的PTL信息通常指定整体解码输出层集合所需要的最低简档、层次和层级。然而,输出层集合的一些分区的简档、层次和层级可低于整体的输出层集合的简档、层次和层级。换句话说,输出层集合的简档、层次和层级可为输出层集合的分割方案中的分区的最高简档、层次和层级,其中输出层集合的层中的每一者属于一个分区。

因此,当输出层集合的不同分区具有不同PTL信息时,输出层集合的PTL信息可能不足以表达输出层集合的分区的PTL信息的分集。本发明的一或多个技术可提供用于每一分区的简档、层次和层级的信令。例如,对于在位流中用信号表示的每一相应分割方案的每一相应分区,视频编码器20可在位流中包含用于相应分区的简档、层次和层级(PTL)信息。类似地,对于在位流中用信号表示的每一相应分割方案的每一相应分区,视频解码器30可从位流获得指示用于相应分区的相应PTL信息的相应语法元素(例如,profile_level_tier_partition_idx)。

在一些实例中,视频解码器30基于分割方案的分区的PTL信息而从所述一或多个分割方案选择分割方案。此外,在一些实例中,基于用以将位流发送到解码器的网络的条件而确定分割方案。视频解码器30可使用相应硬件核心对所述确定分割方案的每一相应分区进行解码。硬件核心中的每一者可实施相应单层解码器。在一些实例中,硬件核心中的个别硬件核心解码多于一个层(例如,实施多层解码器)。此外,不同硬件核心可具有不同能力。例如,视频解码器30的多个硬件核心中的至少第一硬件核心可支持与视频解码器30的所述多个硬件核心中的第二硬件核心不同的简档、层次或层级。因此,在一个实例中,视频解码器30可包括第一硬件核心和第二硬件核心。在此实例中,第一硬件核心可实施层级3解码器(即,能够解码HEVC层级3和更低的解码器)且第二硬件核心可实施层级2解码器(即,能够解码HEVC层级2和更低的解码器)。在此实例中,如果第一分区的PTL信息指示第一分区可由层级3或更高的解码器解码且如果PTL信息指示第二分区可由层级2或更高的解码器解码,那么视频解码器30可使用第一硬件核心解码第一分区且可使用第二硬件核心解码第二分区。在一些情况下,当多层视频解码器包含较多硬件核心中的一者以解码分区且解码器核心中的至少一者符合所指定可缩放简档(例如,可缩放主群组或可缩放主群组10)中的一者时,可包含执行图片的再取样或上取样的能力。此再取样能力可在能够解码可缩放简档的每一核心中实施,或实施为多层解码器中的共同块。

如上文简要地描述,视频编码器20可在VPS中包含识别输出层集合的语法元素。因此,可在VPS中用信号表示输出层集合。在一些实例中,输出层集合也可以由外部装置用信号表示。所述外部装置可为除视频位流外的一些机构。因此,由外部装置用信号表示且包括位流的输出层的输出层集合不一定在位流中用信号表示。

根据本发明的一或多种技术,对于每一输出层集合的每一相应分割方案,位流的VPS VUI或SEI消息可识别用于相应分割方案的HRD参数集。因此,在本发明的一些实例中,在VPS中或由外部装置用信号表示的每一输出层集合的每一分割方案的HRD参数是在VPS VUI中或SEI消息中用信号表示。因为针对每一分割方案识别HRD参数集,所以视频解码器30或另一装置可能够使用用于分割方案的HRD参数来测试位流当根据分割方案分割时是否是相符位流。

在一个此类实例中,视频编码器20产生包括视频数据的经编码表示的位流。在此实例中,位流包括多个层。在此实例中作为产生位流的部分,视频编码器20在位流中包含指示用于输出层集合的一或多个分割方案的一或多个语法元素。在此实例中,输出层集合由所述多个层的所有层或所述多个层的恰当子集组成。对于所述一或多个分割方案的每一相应分割方案,相应分割方案指定输出层集合划分为一或多个分区,其中所述输出层集合中的每一层属于相应分割方案中的确切一个分区。此外,在此实例中作为产生位流的部分,视频编码器20可针对每一相应分割方案在位流中的SEI消息中或在位流中的VPS中的VUI中包含指示用于相应分割方案的HRD参数集的语法元素的相应集合。视频编码器20可输出位流。

在类似实例中,例如视频编码器20或视频解码器30等视频处理装置可对包括视频数据的经编码表示的位流进行解码。在此实例中,位流包括多个层。在此实例中作为解码位流的部分,视频处理装置从位流获得指示用于输出层集合的一或多个分割方案的一或多个语法元素。另外,针对每一相应分割方案,视频解码器30可从位流中的SEI消息或位流中的VPS中的视频可用性信息(VUI)获得用于相应分割方案的HRD参数集的相应集合。针对相应分割方案的每一相应分区,视频处理装置基于用于相应分割方案的HRD参数测试相应分区对视频译码标准的符合性。

在例如SHVC WD6、MV-HEVC WD8和HEVC草案规范等至少一些标准文献中,在层级限制和限定方面界定简档、层次和层级。层级限制可指定对语法元素或变量的值的限制。限定可指定要求或约束。举例来说,JCTV3V-H1002界定“立体主要”简档且除了若干其它限制外还包含要求位流含有具有等于i的nuh_layer_id的一个层的限制,其中ViewScalExtLayerFlag[i]等于1。SHVC WD6、MV-HEVC WD8和HEVC草案规范中指定的许多层级限制和限定适用于位流。例如,MV-HEVC WD8的段落G.11.1.2描述“立体主要”简档且以添加的强调指定“符合立体主要简档的位流将遵从以下约束...”

然而,在本发明的一些实例中,不同位流分区可具有不同PTL信息。为了支持具有不同PTL信息的不同位流分区,可在分区而不是位流方面表达层级限制和限定的定义。因此,根据本发明的一些实例技术,除了自然地为层特定的关于图片宽度、图片高度和子解码图片缓冲器(DPB)大小的三个限制外,所有层级限制和限定都指定为分区特定的。例如,除了关于图片宽度、图片高度和子DPB大小的限制和限定外,简档、层次或层级的所有层级限制和限定经界定为分区特定的。

如上所述,子DPB大小限制自然地是层特定的。为了阐明,DPB可实际上分裂为子DPB。每一层的图片存储在单独子DPB中且每一子DPB含有一个层。举例来说,含有两个层的输出层集合,DPB可分裂成两个子DPB,其中第一子DPB含有第一层且第二子DPB含有第二层。并非总体指定DPB大小,在位流中指定子DPB大小(每一层所需的大小)。在此些实例中,层级限制间接地对总体DPB大小施加一些限制。

根据本发明的一或多种技术,引入一或多个额外限制。一个可能的限制例如是针对每一输出层集合,将存在含有仅一个分区的仅一个分割方案且所述分区含有输出层集合中的所有层。每一分割方案给出递送方案的灵活性,即,哪些层可一起递送。当所有层在一个分区中时,可具有不同递送方案的仅有方式是例如具有不同位速率。因此,此约束将帮助减少一些额外语法。

在另一实例限制中,将分区的图片大小的总和限制为小于针对所述分区的层级指定的最大明度样本。此限制可确保如果具有多个层的一个分区由单个核心解码,那么不超过当前核心的总体DPB大小。此外,此限制可确保所有层的图片的总大小不超过可能已经由单层解码器可解码的一个层的图片的大小。此限制可实现单层核心的更容易扩展以用于多层目的(例如,不必潜在地添加额外存储器)。

在另一实例限制中,与输出层集合相关联的简档、层次和层级的用信号表示的三元组也与含有输出层集合中的所有层的分区相关联。

此外,根据本发明的实例技术,将解码器的解码能力表达为符合简档、层次和层级的三元组的列表。在一些实例中,所述列表中的条目的数目指示用以建置多层解码器的单层解码器的数目,且简档、层次和层级的每一三元组指示所述单层解码器中的一者的简档、层次和层级。

因此,在一个实例中,例如视频解码器30或另一装置等视频处理装置可基于三元组条目列表而确定多层视频解码器(例如,视频解码器30)是否能够解码包括多层视频数据的经编码表示的位流。所述列表中的三元组条目的数目可小于或等于多层视频解码器中的单层解码器的数目。三元组条目列表中的每一相应三元组条目指示用于多层视频解码器中的相应单层解码器的简档、层次和层级。在一些实例中,视频处理装置可通过确定位流指定分割方案而确定多层解码器能够解码位流,其中所述分割方案的每一分区的PTL信息指示所述分区可由单层解码器中的至少一者解码。基于多层视频解码器能够解码位流,所述多层视频解码器可解码所述位流。

在本发明的一些实例中,符合简档、层次和层级的三元组列表的解码器需要能够解码任何符合的输出层集合,对于其存在满足以下条件的至少一个分割方案:对于分割方案的每一分区,多层解码器的单层解码器中的一者可经指派用于解码所述分区。当单层解码器经指派用于解码的分区时,所述单层解码器可解码所述分区。在一些实例中,所述分区中的每一者可被指派给单层解码器中的不同一者。在其它实例中,两个或更多个分区可被指派给单层解码器中的单个一者。此外,在一些实例中,由解码器播发的PTL三元组的数目及其每一三元组与核心的关联仅是可能性。在此些实例中,解码器可具有任何内部实施方案(例如,仅一个超核心),但仍播发多个PTL三元组。

因此,在一些实例中,例如视频解码器30或另一装置等视频处理装置可从位流获得指示一或多个分割方案的一或多个语法元素。为了确定例如视频解码器30等多层视频解码器是否能够解码位流,视频处理装置可基于条件被满足而确定所述多层视频解码器能够解码所述位流。在此实例中,基于所述一或多个分割方案中存在合适的分割方案而满足条件。对于合适的分割方案的每一相应分区,多层视频解码器的单层解码器中的一者可经指派用于解码所述相应分区。

根据本发明的另一实例技术,指定位流符合性测试以测试每一分区的符合性,其方式为分区中的层的所有直接或间接参考层的经解码图片和其它必要信息假定为可用,与最近SHVC/MV-HEVC规范中当外部提供基础层时针对基础层的当前规范类似。

在一些实例中,界定用于位流的分区的符合性测试,且基于针对位流指定的每一分割方案的所有分区的符合性而界定位流的符合性。在一些实例中,当选择一个分区用于测试时,相应分割方案中的其它分区的解码被视为根据针对那些分区指定的参数通过HRD而解码。

图2是说明根据本发明的技术包括多个单层解码器的视频解码器30的实例实施方案的框图。在图2的实例中,视频解码器30包括单层解码器50A到50D(共同地为“单层解码器50”)。单层解码器50中的每一者可由相应单独硬件核心实施。单层解码器50中的不同者可具有不同能力。举例来说,单层解码器50中的不同者可能够对符合不同简档、层次和层级的位流进行解码。在一些实例中,视频解码器30可基于分割方案的分区的PTL信息而从所述一或多个分割方案确定特定分割方案。视频解码器30可使用单层解码器50中的相应一个对特定分割方案的每一相应分区进行解码。

图3是说明可实施本发明的技术的实例视频编码器20的框图。图3是出于解释的目的而提供,且不应被视为如本发明所广泛举例说明及描述来限制所述技术。出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可以适用于其它译码标准或方法。

在图3的实例中,视频编码器20包含预测处理单元200、残余产生单元202、变换处理单元204、量化单元206、逆量化单元208、逆变换处理单元210、重构单元212、滤波器单元214、经解码图片缓冲器216以及熵编码单元218。预测处理单元200包含帧间预测处理单元220和帧内预测处理单元226。帧间预测处理单元220包含运动估计单元222和运动补偿单元224。在其它实例中,视频编码器20可包含更多、更少或不同的功能组件。

视频编码器20可以接收视频数据。视频数据存储器201可存储待由视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储在视频数据存储器201中的视频数据。经解码图片缓冲器216可为参考图片存储器,其存储用于由视频编码器20(例如)在帧内或帧间译码模式中对视频数据进行编码的参考视频数据。视频数据存储器201和经解码图片缓冲器216可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器201和经解码图片缓冲器216可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器201可与视频编码器20的其它组件一起在芯片上,或相对于所述组件在芯片外。

视频编码器20可对视频数据的图片的切片中的每个CTU进行编码。CTU中的每一者可具有大小相等的明度译码树块(CTB)和图片的对应CTB。作为对CTU进行编码的一部分,预测处理单元200可执行四叉树分割以将CTU的CTB划分为逐渐更小的块。较小块可为CU的译码块。例如,预测处理单元200可将CTU的CTB分割成四个大小相等的子块,将子块中的一或多者分割成四个大小相等的子子块等。

视频编码器20可对CTU的CU进行编码以产生CU的经编码表示(即,经译码的CU)。作为对CU进行编码的一部分,预测处理单元200可以在CU的一或多个PU当中分割CU的译码块。因此,每一PU可具有明度预测块和对应的色度预测块。视频编码器20和视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小并且PU的大小可指PU的明度预测块的大小。假定特定CU的大小为2Nx2N,视频编码器20及视频解码器30可支持用于帧内预测的2Nx2N或NxN的PU大小,及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似大小的对称PU大小。视频编码器20以及视频解码器30还可以支持用于帧间预测的2NxnU、2NxnD、nLx2N以及nRx2N的PU大小的非对称分割。

帧间预测处理单元220可通过对CU的每一PU执行帧间预测产生用于PU的预测性数据。PU的预测性数据可包含PU的预测性块和PU的运动信息。帧间预测处理单元220可取决于PU是在I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测。因此,如果PU是在I切片中,则帧间预测处理单元220并不对PU执行帧间预测。

如果PU是在P切片中,则运动估计单元222可以对用于PU的参考区域搜索参考图片列表(例如,“RefPicList0”)中的参考图片。用于PU的参考区可为参考图片内含有最接近地对应于PU的预测块的样本的区。运动估计单元222可产生指示含有PU的参考区的参考图片的RefPicList0中的位置的参考索引。另外,运动估计单元222可产生指示PU的译码块与和参考区相关联的参考位置之间的空间位移的运动向量。举例来说,运动向量可以是提供从当前图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元222可将参考索引及运动向量作为PU的运动信息输出。运动补偿单元224可基于由PU的运动向量指示的参考位置处的实际或内插样本产生PU的预测性块。

如果PU是在B切片中,则运动估计单元222可以对PU执行单向预测或双向预测。为了对PU执行单向预测,运动估计单元222可以搜索RefPicList0的参考图片,或用于PU的参考区域的第二参考图片列表(RefPicList1)。运动估计单元222可以将指示含有参考区的参考图片的RefPicList0或RefPicList1中的位置的参考索引、指示PU的预测块与相关联于参考区的参考位置之间的空间移位的运动向量以及指示参考图片是在RefPicList0中或在RefPicList1中的一或多个预测方向指示符输出为PU的运动信息。运动补偿单元224可以至少部分基于由PU的运动向量指示的参考位置处的实际样本或经内插样本来产生PU的预测性块。

为了对PU执行双向帧间预测,运动估计单元222可在用于PU的参考区的RefPicList0中搜索参考图片,并且还可在用于PU的另一参考区的RefPicList1中搜索参考图片。运动估计单元222可产生指示含有参考区的参考图片的RefPicList0及RefPicList1中的位置的参考索引。另外,运动估计单元222可产生指示与参考区相关联的参考位置与PU的预测块之间的空间移位的运动向量。PU的运动信息可包含PU的参考索引和运动向量。运动补偿单元224可至少部分基于在由PU的运动向量指示的参考位置处的实际或内插样本产生PU的预测性块。

帧内预测处理单元226可通过对PU执行帧内预测来产生PU的预测性数据。PU的预测性数据可包含PU的预测性块和各种语法元素。帧内预测处理单元226可以对I切片、P切片以及B切片中的PU执行帧内预测。

为了对PU执行帧内预测,帧内预测处理单元226可使用多个帧内预测模式产生PU的预测性块的多个集合。当使用特定帧内预测模式执行帧内预测时,帧内预测处理单元226可使用来自相邻块的样本的特定集合产生PU的预测性块。假定对于PU、CU及CTU采用从左到右、从上到下的编码次序,相邻块可在PU的预测块的上方、右上方、左上方或左方。帧内预测处理单元226可使用各种数目的帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的预测块的大小。

预测处理单元200可从用于PU的由帧间预测处理单元220产生的预测性数据或用于PU的由帧内预测处理单元226产生的预测性数据当中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元200基于预测性数据集合的速率/失真量度选择CU的PU的预测性数据。所选预测性数据的预测性块在本文中可被称作所选预测性块。

残余产生单元202可基于CU的译码块和CU的PU的选定预测性块而产生CU的残余块。举例来说,残余产生单元202可基于CU的明度、Cb和Cr译码块以及CU的PU的选定预测性明度、Cb和Cr块而产生CU的明度、Cb和Cr残余块。在一些实例中,残余产生单元202可产生CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应所选预测性块中的对应样本之间的差的值。

变换处理单元204可执行四叉树分割以将CU的残余块分割成CU的TU的变换块。因此,TU可具有明度变换块和两个对应的色度变换块。CU的TU的变换块的大小和位置可以或可不基于CU的PU的预测块的大小和位置。

变换处理单元204可以通过将一或多个变换应用到TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元204可将各种变换应用于TU的变换块。例如,变换处理单元204可以将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元204不将变换应用于变换块。在此类实例中,变换块可被视作变换系数块。

量化单元206可以量化系数块中的变换系数。量化过程可减少变换系数中的一些或全部的位深度。举例来说,可在量化期间将n位变换系数降值舍位到m位变换系数,其中n大于m。量化单元206可基于用于CU的量化参数(QP)值而量化CU的TU的系数块。视频编码器20可通过调整用于CU的QP值而调整应用于CU的系数块的量化程度。量化可能使得信息丢失,因此经量化的变换系数可以具有比原始变换系数更低的精度。

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

滤波器单元214可执行一或多个解块操作来减少CU的译码块中的成块假象。经解码图片缓冲器216可在滤波器单元214对经重构的译码块执行一或多个解块操作之后存储经重构的译码块。帧间预测处理单元220可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元226可使用经解码图片缓冲器216中的经重构译码块来对与CU处于相同图片中的其它PU执行帧内预测。

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

根据本发明的一些实例,熵编码单元218可在位流中包含指示一或多个分割方案的一或多个语法元素。对于所述一或多个分割方案中的每一相应分割方案,所述相应分割方案指定并集形成输出层集合的不相交分区的相应集合,其中不相交分区的所述相应集合的每一相应分区含有一或多个层,所述输出层集合可由所述多个层的所有层或所述多个层的恰当子集组成。

图4是说明可实施本发明的技术的实例视频解码器30的框图。出于解释的目的而提供图4,且不应将其视为对如本发明中所广泛例示和描述的技术的限制。出于解释的目的,本发明描述在HEVC译码的背景下的视频解码器30。然而,本发明的技术可以适用于其它译码标准或方法。

在图4的实例中,视频解码器30包含熵解码单元250、预测处理单元252、逆量化单元254、逆变换处理单元256、重构单元258、滤波器单元260和经解码图片缓冲器262。预测处理单元252包含运动补偿单元264和帧内预测处理单元266。在其它实例中,视频解码器30可包含更多、更少或不同的功能组件。

经译码图片缓冲器(CPB)251可接收且存储位流的经编码视频数据(例如,NAL单元)。存储在CPB 151中的视频数据可(例如)从计算机可读媒体16、从例如相机等本地视频源、经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得。CPB 151可形成存储来自经编码视频位流的经编码视频数据的视频数据存储器。经解码图片缓冲器162可为参考图片存储器,其存储用于由视频解码器30(例如)以帧内或帧间译码模式解码视频数据的参考视频数据。CPB 151和经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如,动态随机存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。CPB 151和经解码图片缓冲器162可由相同存储器装置或单独的存储器装置提供。在各种实例中,CPB 151可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。

熵解码单元250可从CPB 251接收NAL单元,并剖析NAL单元以从位流获得语法元素。熵解码单元250可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元252、逆量化单元254、逆变换处理单元256、重构单元258和滤波器单元260可基于从位流获得的语法元素而产生经解码视频数据。

举例来说,熵解码单元250可从位流获得指示一或多个分割方案的一或多个语法元素。预测处理单元252、逆量化单元254、逆变换处理单元256、重构单元258和滤波器单元260可对特定分割方案的分区进行解码。在一些实例中,对于所述一或多个分割方案中的每一相应分割方案,熵解码单元250从位流中的SEI消息或位流中的VPS中的VUI获得用于相应分割方案的HRD参数集的相应集合。视频解码器30可基于用于所述一或多个分割方案的HRD参数而测试所述一或多个分割方案中的每一者的每一分区对视频译码标准的符合性。

位流的NAL单元可包含经译码切片的NAL单元。作为解码位流的部分,熵解码单元250可对来自经译码切片NAL单元的语法元素进行熵解码。经译码切片中的每一者可包含切片标头以及切片数据。切片标头可以含有关于切片的语法元素。

除了从位流获得语法元素之外,视频解码器30可对CU执行解码操作。通过对CU执行解码操作,视频解码器30可重构CU的译码块。

作为对CU执行解码操作的部分,逆量化单元254可逆量化(即,解量化)CU的TU的系数块。逆量化单元254可使用TU的CU的QP值来确定量化的程度,及同样逆量化单元254将应用的逆量化的程度。就是说,压缩比(即,用以表示原始序列及压缩序列的位数目比率)可通过调整当量化变换系数时所使用的QP值来控制。压缩比还可取决于所采用的熵译码的方法。

在逆量化单元254逆量化系数块之后,逆变换处理单元256可以将一或多个逆变换应用于系数块以便产生TU的残余块。例如,逆变换处理单元256可以将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆定向变换或另一逆变换应用于变换系数块。

如果使用帧内预测对PU进行编码,那么帧内预测处理单元266可执行帧内预测以产生用于PU的预测性块。举例来说,帧内预测处理单元266可执行帧内预测以产生PU的明度、Cb及Cr预测性块。帧内预测处理单元266可使用帧内预测模式以基于空间相邻PU的预测块产生PU的预测性块。帧内预测处理单元266可基于从位流获得的一或多个语法元素确定用于PU的帧内预测模式。

预测处理单元252可基于从位流提取的语法元素来构造第一参考图片列表(RefPicList0)及第二参考图片列表(RefPicList1)。此外,如果PU是使用帧间预测编码,那么熵解码单元250可获得PU的运动信息。运动补偿单元264可基于PU的运动信息来确定用于PU的一或多个参考区。运动补偿单元264可基于在用于PU的所述一或多个参考块处的样本而产生PU的预测性块。举例来说,运动补偿单元264可以基于PU的所述一或多个参考块的样本产生PU的明度、Cb及Cr预测性块。

重构单元258可使用来自CU的TU的变换块和CU的PU的预测性块的残余值来重构CU的译码块。举例来说,重构单元258可使用来自CU的TU的明度、Cb及Cr变换块和CU的PU的预测性明度、Cb及Cr块的残余值来重构CU的明度、Cb及Cr译码块。举例来说,重构单元258可将变换块的样本添加到预测性块的对应样本以重构CU的译码块。

滤波器单元260可执行解块操作以减少与CU的译码块相关联的成块假象。视频解码器30可将CU的译码块存储在经解码图片缓冲器262中。经解码图片缓冲器262可提供参考图片以用于后续运动补偿、帧内预测及显示装置(例如,图1的显示装置32)上的显示。举例来说,视频解码器30可基于经解码图片缓冲器262中的块对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可从位流获得系数块的变换系数层级,逆量化变换系数层级,对变换系数层级应用变换以产生变换块,至少部分基于变换块而产生译码块,且输出译码块以用于显示。

本发明的以下部分描述上述本发明的一些实例技术的一些实施细节。以下文字展示实施本发明的一或多个技术的改变。带下划线的文字指示添加的文字。包含在方括号中的斜体文字是删除的文字。以粗体字展示语法元素的名称。

如上文所指出,根据本发明的一些技术,视频编码器20可用信号表示一或多个分割方案。分割方案中的每一者将输出层集合中的层划分为一或多个分区。输出层集合中的每一层将属于分割方案中的确切一个分区。

下表2指示在SHVC WD6和MV-HEVC WD8中界定的对VPS扩展语法的改变以用信号表示分割方案。

表2

在表2的实例中,num_partition_schemes[i]指定针对第i输出层集合指定的分割方案的数目。num_partition_schemes[i]的值将处于0到15(包含性)的范围内。此外,num_partitions_in_scheme_minus1[i][j]加1指定第i输出层集合的第j分割方案中的分区数目。num_partitions_in_scheme_minus1[i][j]的值将处于0到NumLayersInIdList[LayerSetIdxForOutputLayerSet[i]]-1(包含性)的范围内。

此外,在表2的实例中,等于1的layer_included_in_partition_flag[i][j][k][r]指定VPS中指定的第r层包含在第i输出层集合的第j分割方案的第k分区中。等于0的layer_included_in_partition_flag[i][j][k][r]指定VPS中指定的第r层未包含在第i输出层集合的第j分割方案的第k分区中。

因此,对于每一相应分割方案,对于相应分割方案的每一相应分区,对于输出层集合的每一相应层,视频解码器30可从位流获得指示相应层是否包含在相应分区中的语法元素(即,layer_included_in_partition_flag)。在类似实例中,对于所述一或多个分割方案中的每一相应分割方案,对于相应分割方案的每一相应分区,对于输出层集合的每一相应层,视频编码器20可在位流中包含指示相应层是否包含在相应分区中的语法元素(即,layer_included_in_partition_flag)。

在表2的实例中,位流符合性的要求是对于第i输出层集合中具有等于currLayerId的nuh_layer_id的每一层,针对具有第i输出层集合的索引j的每一分割方案,存在一个且仅一个k的值处于0到num_partitions_in_scheme_minus1[i][j](包含性)的范围内,以使得layer_included_in_partition_flag[i][j][k][LayerIdxInVps[currLayerId]等于1。

如上所提到,根据本发明的一些实例,为每一分区提供简档、层次和层级的信令。如表2的实例中所示,profile_level_tier_partition_idx[i][j][k]指定了应用于第i输出层集合的第j分割方案的第k分区的profile_tier_level()语法结构的到VPS中的profile_tier_level()语法结构列表中的索引。profile_level_tier_partition_idx[i]语法元素的长度为Ceil(Log2(vps_num_profile_tier_level_minus1+1))个位。profile_level_tier_idx[0][0][0]的值推断为等于0。profile_level_tier_partition_idx[i]的值将处于0到vps_num_profile_tier_level_minus1(包含性)的范围内。

在另一实例中,可对VPS扩展语法做出表3中所示的改变以便用信号表示分割方案。表3中所示的改变是相对于上方的表2。

表3

在表3的实例中,可对上文参考表2描述的VPS扩展的特定语法元素的语义做出以下改变。

num_partitioning_schemes_minus1[i]加1指定针对第i输出层集合指定的分割方案的数目。num_partitioning_schemes_minus1[i]的值将处于0到15(包含性)的范围内。

num_partitions_in_scheme_minus[[1]]2[i][j]加[[1]]2指定第i输出层集合的第j分割方案中的分区数目。num_partitions_in_scheme_minus[[1]]2[i][j]的值将处于0到NumLayersInIdList[LayerSetIdxForOutputLayerSet[i]]-1(包含性)的范围内。

如下导出变量NumPartitionInScheme[i][j]的值:

NumPartitionsInScheme[i][j]=(j==0)?1:

num_partitions_in_scheme_minus2[i][j]+2.

[[位流符合性的要求是当j大于0时,num_partitions_in_scheme_minus1[i][j]的值将大于0。]]

等于1的layer_included_in_partition_flag[i][j][k][r]指定VPS中指定的第r层包含在第i输出层集合的第j分割方案的第k分区中。等于0的layer_included_in_partition_flag[i][j][k][r]指定VPS中指定的第r层未包含在第i输出层集合的第j分割方案的第k分区中。layer_included_in_partition_flag[i][0][0][r]的值推断为等于针对从0到vps_max_layers_minus1(包含性)的范围内的r的layer_id_included_flag[LayerSetIdxForOutputLayerSet[i]][r]的值。

注意5-[[位流符合性的要求是]]对于第i输出层集合中具有等于currLayerId的nuh_layer_id的每一层,针对具有第i输出层集合的索引j的每一分割方案,存在一个且仅一个k的值处于0到[[n]]Num[[_p]]Partitions[[_i]]In[[_s]]Scheme[[_minus1]][i][j][[(包含性)]]的范围内,以使得layer_included_in_partition_flag[i][j][k][LayerIdxInVps[currLayerId]等于1。

profile_level_tier_partition_idx[i][j][k]指定应用于第i输出层集合的第j分割方案的第k分区的profile_tier_level()语法结构的到VPS中的profile_tier_level()语法结构列表中的索引。profile_level_tier_partition_idx[i][j][k]语法元素的长度是Ceil(Log2(vps_num_profile_tier_level_minus1+1))位。profile_level_tier_partition_idx[0][0][0]的值推断为等于0。profile_level_tier_partition_idx[i][0][0]的值设定成等于针对处于1到NumOutputLayerSets-1(包含性)的范围内的i的profile_level_tier_idx[i]。profile_level_tier_partition_idx[i][j][k]的值将处于0到vps_num_profile_tier_level_minus1(包含性)的范围内。

在一些实例中,添加约束以使得用于每一输出层集合的不超过一个分割方案含有仅一个分区。此外,在一些实例中,不用信号表示语法元素profile_tier_level_idx[i],且profile_tier_tier_partition_idx[i][j][k]语法元素用以用信号表示含有包含输出层集合的所有层的一个分区的输出层集合的分割方案的简档、层次和层级指示。

此外,根据本发明的一些技术,界定简档、层次和层级的层级限制和限定是分区特定的。以下文字指示对MV-HEVC WD8的其它改变以便实施针对简档、层次和层级的分区特定的层级限制和限定。

G.11简档、层次和层级

G.11.1简档

G.11.1.2立体主简档

含有具有符合立体主简档的层的分区的输出层集合的位流将遵从对输出层集合中的每一者的导出子位流的以下约束,其中layerSetIdx是用于输出层集合的层集合的索引,子位流是通过调用如关于位流的子条款F.10中指定的子位流提取过程而导出,tIdTarget等于7,以及以索引layerSetIdx作为输入的含有层集合的nuh_layer_id值的TargetDecLayerIdList,分区是通过调用如关于子位流的子条款C.6中指定的用于导出位流分区的多路分用过程而导出,分区中的层的列表listOfLayersInPartition,以及分区中层的数目numLayersInPartition作为输入。

符合立体主简档的对应于具有层分区的输出层集合的子位流的位流将遵从以下约束:

-以tIdTarget的任何值和layerIdListTarget中的0的值作为输入产生于子位流提取过程的子位流将符合主简档。

-位流将含有具有等于i的nuh_layer_id的一个层,其中ViewScalExtLayerFlag[i]等于1。

-当ViewScalExtLayerFlag[i]等于1时,在用于具有等于i的nuh_layer_id的层的作用中SPS RBSP的sps_multilayer_extension()语法结构中inter_view_mv_vert_constraint_flag将等于1。

-当ViewScalExtLayerFlag[i]等于1时,针对具有等于i的nuh_layer_id的任何经译码图片,对于不等于1的从0到15(包含性)的任何smIdx值,ScalabilityId[LayerIdxInVps[i]][smIdx]将等于0。

-当ViewScalExtLayerFlag[i]等于1时,在用于具有等于i的nuh_layer_id的层的每一作用中SPS中num_scaled_ref_layer_offsets将等于0。

-当ViewScalExtLayerFlag[i]等于1时,用于具有等于i的nuh_layer_id的层的作用中SPS中的pic_width_in_luma_samples和pic_height_in_luma_samples的值将分别等于用于所述层的所有直接参考层的作用中SPS中的pic_width_in_luma_samples和pic_height_in_luma_samples的值。

-所述位流将含有由具有等于0的nuh_layer_id和nuhLayerIdA的两个层组成子位流,其中对于不等于1的从0到15(包含性)的任何smIdx,ScalabilityId[LayerIdxInVps[nuhLayerIdA]][smIdx]将等于0。

-VPS将具有仅等于0的avc_base_layer_flag。

-VPS将具有处于0到15(包含性)范围内的vps_num_rep_formats_minus1。

-SPS将具有对于等于0的i仅等于0且处于2到6(包含性)范围内的sps_extension_type_flag[i]。

-PPS将具有对于处于1到6(包含性)范围内的i仅等于0的pps_extension_type_flag[i]。

在此子条款的其余部分和子条款G.11.3中,对于输出层集合的子位流,general_profile_idc、general_profile_compatibility_flag[i]、general_tier_flag和general_level_idc分别指输出层集合的profile_tier_level()语法结构中的general_profile_idc、general_profile_compatibility_flag[i]、general_tier_flag和general_level_idc。

由等于5的general_profile_idc或等于1的general_profile_compatibility_flag[5]来指示输出层集合的子位流符合立体主简档。

-注意--当general_profile_compatibility_flag[5]等于1时,对于等于1的i的general_profile_compatibility_flag[i]也应等于1。

此外,为了实施针对简档、层次和层级的分区特定的层级限制和限定,可对JCTVC-Q0145的段落G.11.2做出以下改变,其自身修改陈等人的“高效率视频译码(HEVC)可缩放扩展草案5”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的视频译码(JCT-VC)联合合作小组,第16次会议:美国圣何塞,2014年1月9-17日,文献JCTVC-P1008_v4)的段落G.11.2。

G.11.2层次和层级

G.11.2.1一般层次和层级限制

出于比较层次能力的目的,general_tier_flag等于0的层次被视为比general_tier_flag等于1的层次更低的层次。

出于比较级别能力的目的,在特定层级的general_level_idc的值小于其它层级的general_level_idc的值时,特定层次的特定层级被视为比同一层次的某个其它层级更低的层级。

指定以下部分以表达此子条款、子条款G.11.2.2和子条款G.11.3中的约束:

-假设存取单元n为按解码次序的第n个存取单元,其中第一存取单元是存取单元0(即第0存取单元)。

-假设变量fR设定成等于1÷300。

-使变量optLsIdx为位流中所含有的输出层集合的输出层集合索引,且通过调用如子条款F.10中所指定的子位流提取过程而导出输出层集合的子位流,其中位流、tIdTarget等于7、且含有输出层集合的nuh_layer_id值的TargetDecLayerIdList作为输入。

-假设变量partitionIdx为到具有索引optLsIdx的输出层集合的任何特定分区的索引,且分区是通过调用如关于子位流的子条款C.6中指定的多路分用过程而导出,分区中的层列表listOfLayersInPartition和分区中的层数目numLayersInPartition作为输入。

-假设如下导出变量numLayersInOptLayerSet和numLayersInSubBitstream:

numLayersInOptLayerSet=

NumLayersInIdList[LayerSetIdxForOutputLayerSet[optLsIdx]]

if(由外部装置提供输出层集合中的基础层)

numLayersInSubBitstream=numLayersInOptLayerSet-1 (H-63)

else

numLayersInSubBitstream=numLayersInOptLayerSet

-假设如下导出变量partitionSizeInSamplesY:

partitionSizeInSamplesY=0>

for(i=0;i<numLayersInPartition;i++)

partitionSizeInSamplesY+=分区中的第i层的PicSizeInSamplesY

-假设变量scaleFactor设定成等于Ceil(partitionSizeInSamplesY/MaxLumaPs),其中MaxLumaPs是在用于分区的层级的表A-1中指定。

-假设变量maxPartitionSliceSegs设定成等于scaleFactor*MaxSliceSegmentsPerPicture,其中MaxSliceSegmentsPerPicture是在用于分区的层次和层级的表A-1中指定。

符合在指定层次和层级的简档的每一分区将遵从如附录C中指定的针对每一位流符合性测试的以下约束:

a)对于分区中的每一层,PicSizeInSamplesY将小于或等于MaxLumaPs,其中MaxLumaPs是在用于分区的层次和层级的表A-1中指定。

b)对于分区中的每一层,pic_width_in_luma_samples的值应小于或等于Sqrt(MaxLumaPs*8)。

c)对于分区中的每一层,pic_height_in_luma_samples的值应小于或等于Sqrt(MaxLumaPs*8)。

d)对于分区中具有等于currLayerId的nuh_layer_id的每一层,max_vps_dec_pic_buffering_minus1[optLsIdx][LayerIdxInVps[currLayerId]][HighestTid]的值将小于或等于如由等式A-2导出的MaxDpbSize,其中对于分区的层次和层级,PicSizeInSamplesY被partitionSizeInSamplesY替换

e)对于层级5和更高层级,用于分区中的每一层的CtbSizeY的值将等于32或64。

f)用于分区中的每一图片的NumPicTotalCurr的值将小于或等于8。

g)当对分区中的每一经译码图片进行解码时num_tile_columns_minus1的值将小于MaxTileCols且num_tile_rows_minus1将小于MaxTileRows,其中MaxTileCols和MaxTileRows是在用于分区的层次和层级的表A-1中指定。

h)对于分区的VCL>用于分区的层次和层级的表A-1中指定,以1000位为单位。

i)对于分区的NAL>用于分区的层次和层级的表A-1中指定,以1100位为单位。

表A-1指定对每一层次的每一层级的限制。

分区符合的层次和层级由语法元素general_tier_flag和general_level_idc如下指示:

-根据表A-1中指定的层次约束,等于0的general_tier_flag指示对主层次的符合性,且等于1的general_tier_flag指示对高层次的符合性。对于低于4级的层级(对应于表A-1中标记有“-”的条目),general_tier_flag将等于0。

-general_level_idc将被设定成等于表A-1中所指定的层级数目的30倍的值。

JCTVC-Q0145包含附件(JCTVC-Q0145_MvHevcText),其描述对泰克(Tech)等人的“MV-HEVC草案文本7”(ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,第7次会议:美国圣何塞,2014年1月11-17日,JCT3V-G1004-v7)的改变。以下文字指示对JCTVC-Q0145_MvHevcText的改变以便实施针对简档、层次和层级的分区特定的层级限制和限定。为了简洁,以下省略了从JCTVC-Q0145_MvHevcText删除的文字。

G.11.2.2针对主简档、主简档10和立体主简档的简档特定的层级限制

在指定层次和层级符合立体主简档的每一分区将遵从如附录C中指定的针对每一位流符合性测试的以下约束,其中“存取单元”用以表示包含于分区中的图片连同其相关联非VCL>

a)如子条款C.2.3中指定的来自CPB的存取单元n(其中n大于0)的标称移除时间将满足AuNominalRemovalTime[n]-AuCpbRemovalTime[n-1]大于或等于Max(partitionSizeInSamplesY÷MaxLumaSr,fR)的约束,其中partitionSizeInSamplesY是用于存取单元n-1的partitionSizeInSamplesY的值且MaxLumaSr是在用于分区的层次和层级应用于存取单元n-1的表A-2中指定的值。

b)如子条款C.3.3中指定的来自DPB的图片的连续输出时间之间的差将满足DpbOutputInterval[n]大于或等于Max(partitionSizeInSamplesY÷MaxLumaSr,fR)的约束,其中partitionSizeInSamplesY是存取单元n的partitionSizeInSamplesY的值,且MaxLumaSr是用于分区的层次和层级的用于存取单元n的表A-2中指定的值,其条件是存取单元n是具有输出的图片且不是此些存取单元中的最后一者的存取单元。

c)存取单元0的移除时间将满足存取单元0中的经译码切片片段的数目小于或等于Min(Max(numLayersInPartitionMaxSliceSegmentsPerPicture*MaxLumaSr/MaxLumaPs*(AuCpbRemovalTime[0]-AuNominalRemovalTime[0])+MaxSliceSegmentsPerPicture*partitionSizeInSamplesY/MaxLumaPs),MaxSliceSegmentsPerPicture),其中MaxSliceSegmentsPerPicture、MaxLumaPs和MaxLumaSr是在用于分区的层次和层级的表A-1和表A-2中指定的值。

d)存取单元n和n-1(其中n大于0)的连续CPB移除时间之间的差将满足存取单元n中的经译码切片片段的数目小于或等于Min((Max(numLayersInPartitionMaxSliceSegmentsPerPicture*MaxLumaSr/MaxLumaPs*(AuCpbRemovalTime[n]-AuCpbRemovalTime[n-1])),MaxSliceSegmentsPerPicture)的约束,其中numLayersInPartition是用于存取单元n的值,且MaxSliceSegmentsPerPicture、MaxLumaPs和MaxLumaSr是在用于分区的层次和层级的应用于存取单元n的表A-1和表A-2中指定的值。

e)对于用于分区的VCL>用于分区的层次和层级的表A-3中指定。

f)对于用于分区的NAL>用于分区的层次和层级的表A-3中指定。

g)用于存取单元0的NumBytesInNalUnit变量的总和将小于或等于FormatCapabilityFactor*(Max(partitionSizeInSamplesY,fR*MaxLumaSr)+MaxLumaSr*(AuCpbRemovalTime[0]-AuNominalRemovalTime[0]))÷MinCr,其中MaxLumaSr和MinCr是表A-2中指定的值且FormatCapabilityFactor是用于分区的层次和层级的应用于图片0的表A-3中指定的值。

h)用于存取单元n(其中n大于0)的NumBytesInNalUnit变量的总和将小于或等于FormatCapabilityFactor*MaxLumaSr*(AuCpbRemovalTime[n]-AuCpbRemovalTime[n-1])÷MinCr,其中MaxLumaSr和MinCr是在表A-2中指定的值且FormatCapabilityFactor是在于分区的层次和层级的应用于图片n的表A-3中指定的值。

i)存取单元0的移除时间将满足存取单元0中的经译码图片中的瓦片数目小于或等于Min(Max(numLayersInPartition,MaxTileCols*MaxTileRows*120*(AuCpbRemovalTime[0]-AuNominalRemovalTime[0])+MaxTileCols*MaxTileRows),MaxTileCols*MaxTileRows)的约束,其中MaxTileCols和MaxTileRows是用于分区的层次和层级的表A-1中指定的值。

j)存取单元n和n-1(其中n大于0)的连续CPB移除时间之间的差将满足存取单元n中的经译码图片中的瓦片数目小于或等于Min(Max(numLayersInPartition,MaxTileCols*MaxTileRows*120*(AuCpbRemovalTime[n]-AuCpbRemovalTime[n-1])),MaxTileCols*MaxTileRows)的约束,其中numLayersInPartition是用于存取单元n的值,且MaxTileCols和MaxTileRows是在用于分区的层次和层级的应用于存取单元n的表A-1中指定的值。

此外,根据本发明的一些实例,可对MV-HEVC WD8的段落G.11.1.2立体主简档做出以下改变。在下方的文字中,展示相对于本发明中上述段落G.11.1.2的实例版本的改变。

G.11.1.2立体主简档

对于具有符合立体主简档的分区的含有输出层集合的位流,假设

-olsIdx为输出层集合的输出层集合索引。

-layerSetIdx为用于输出层集合的层集合索引。

-输出层集合的子位流是通过调用如子条款F.10中指定的子位流提取过程而导出,具有以下输入:位流,等于6的tIdTarget,以及含有包含在具有索引layerSetIdx的层集合中且作为主要图片层的层的nuh_layer_id值的layerIdListTarget。

-基础层位流是通过调用如子条款F.10中指定的子位流提取过程而导出,其中位流、等于6的tIdTarget以及含有仅一个等于0的nuh_layer_id值的layerIdListTarget作为输入。

A[[含有具有符合立体主简档的层的分区的输出层集合的位流将遵从对输出层集合中的每一者的所导出子位流的以下约束,其中layerSetIdx是用于输出层集合的层集合的索引,子位流是通过调用如子条款F.10中指定的子位流提取过程而导出,其中位流、等于7的tIdTarget以及含有具有索引layerSetIdx的层集合的nuh_layer_id值的TargetDecLayerIdList作为输入,分区是通过调用如子条款C.6中指定的用于导出位流分区的多路分用过程而导出,其中子位流、分区中的层列表listOfLayersInPartition以及分区中的层数目numLayersInPartition作为输入B]]含有具有[[层的]]分区的输出层集合的[[对应于子位流]]的符合简档的位流将遵从以下约束:

-所有作用中VPS将具有仅等于1的vps_base_layer_internal_flag。

-所有作用中VPS将具有处于0到15(包含性)范围内的vps_num_rep_formats_minus1。

-[[含有符合立体主简档的输出层集合的位流将遵从对用于输出层集合中的每一者的所导出子位流的以下约束,其中输出层集合索引olsIdx和layerSetIdx是用于输出层集合的层集合,且子位流是通过调用如子条款F.10中指定的子位流提取过程而导出,具有以下输入:位流、等于6的tIdTarget以及含有包含在具有索引layerSetIdx的层集合中且作为主要图片层的层的nuh_layer_id值的layerIdListTarget。]]

[[含有符合立体主简档的输出层集合的位流将也遵从对通过调用如子条款F.10中指定的子位流提取过程而导出的基础层位流的以下约束,其中位流、等于6的tIdTarget以及含有仅一个等于0的nuh_layer_id值的layerIdListTarget作为输入。]]

[[从符合立体主简档的位流导出的]]基础层位流将遵从以下约束:

-基础层位流应遵从子条款A.3.2中所指定的主简档的所有约束。

-用于基础层[[位流]][[的]]所有作用中SPS将具有等于1的general_profile_idc或等于1的general_profile_compatibility_flag[1]。

[[符合立体主简档]]的每一[[用于]]输出层集合的[[导出的]]子位流将遵从以下约束:

-子位流的所有作用中SPS应仅具有等于1的chroma_format_idc。

-从用于子位流[[的]]任何作用中SPS导出的CtbLog2SizeY将处于4到6(包含性)的范围内。

-针对不等于1的任何smIdx值且针对用于子位流的j的任何值,ScalabilityId[j][smIdx]将等于0。

在此子条款和子条款G.11.3的其余部分中,对于输出层集合的子位流,general_profile_idc、general_profile_compatibility_flag[i]、general_tier_flag以及general_level_idc分别参考用于[[输出层集合]]分区的profile_tier_level()语法结构中的general_profile_idc、general_profile_compatibility_flag[i]、general_tier_flag和general_level_idc。

[[输出层集合]]分区的子位流对立体主简档的符合性是通过general_profile_idc等于6[[5]]或general_profile_compatibility_flag[6[[5]]]等于1来指示。

-注意-当general_profile_compatibility_flag[6[[5]]]等于1时,[[针对等于1的i]]general_profile_compatibility_flag[1[[i]]]应当也等于1。

此外,在本发明的一些实例中,可对MV-HEVC WD8的段落G.11.2.1做出以下改变。下方文字指示对本发明中上述的段落G.11.2.1的实例版本的一部分的改变。

G.11.2.1一般层次和层级限制

如下改变条件(a):

j)[[对于其中每一层]]分区的值[[,]]PicSizeInSamplesY将小于或等于MaxLumaPs,其中MaxLumaPs是在用于分区的层次和层级的表A-1中指定。

另外,在本发明的一些实例中,对MV-HEVC WD8的段落G.11.2.2做出以下改变。下方文字指示对本发明中上述的段落G.11.2.1的实例版本的一部分的改变。

G.11.2.2针对主简档、主简档10和立体主简档的简档特定的层级限制

在指定层次和层级符合立体主简档的每一分区将遵从如附录C中指定的针对[[每一位流]]符合性测试的以下约束,其中“存取单元”用以表示包含于分区中的图片连同其相关联非VCL NAL单元、包含于分区中且具有相同输出时间的层的集合,且CPB理解为BPB:

此外,如根据本发明的一或多种技术在别处所描述,对于每一输出层集合的每一相应分割方案,位流的VPS VUI或SEI消息可识别用于相应分割方案的HRD参数集。可对MV-HEVC WD8和SHVC WD6的段落F.7.3.2.1.6中界定的VPS VUI位流分区HRD参数语法结构做出表4中所示的改变以实施此些实例。

表4

根据表4的实例,可对MV-HEVC WD8和SHVC WD6的段落F.7.4.3.1.6中界定的VPS VUI位流分区HRD参数的语义做出以下改变。

[[num_bitstream_partitions[h]指定对于具有索引h的层集合指定HRD参数的位流分区的数目。

layer_in_bsp_flag[h][i][j]指定具有索引j的层是具有索引h的层集合内具有索引i的位流分区的一部分。]]

num_bsp_sched_combinations_minus1[h][i]加1指定针对[[具有索引h]]的第h输出层集合的第i分割方案的位流分区指定的递送时间表和hrd_parameters()的组合的数目。

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

bsp_comb_hrd_idx[h][i][j][k]指定在针对[[具有索引h]]的第h输出层集合的第i分割方案的[[具有索引j]]的[[位流]]第k分区指定的递送时间表和hrd_parameters()的[[i]]第j组合中使用的vps_vui_bsp_hrd_parameters()语法结构内的hrd_parameters()的索引。

bsp_comb_sched_idx[h][i][j][k]指定具有针对[[具有索引h]]的第h输出层集合的第i分割方案[[和]]的[[具有索引j]]的[[位流]]第k分区指定的递送时间表和hrd_parameters()的[[i]]第j组合中使用的索引bsp_comb_hrd_idx[h][i][j][k]的hrd_parameters()语法结构内的递送时间表的索引。

此外,根据本发明的一或多种技术,可对MV-HEVC WD8和SHVC WD6的段落F.14.1.5中界定的位流分区HRD参数SEI消息语法做出以下表5中所示的改变。

表5

此外,在表5的实例中,位流分区嵌套SEI消息提供使SEI消息与输出层集合的位流分区关联的机制。在表5的实例中,可对MV-HEVC WD8和SHVC WD6的段落F.14.2.5做出对位流分区HRD参数SEI消息语义的以下改变。

num_sei_partitioning_schemes_minus1[olsIdx]加1指定为具有索引olsIdx的输出层集合指定的分割方案的数目。num_sei_partitioning_schemes_minus1[olsIdx]的值将处于0到15(包含性)的范围内。

num_sei_bitstream_partitions_minus2[[1]][olsIdx][i]加[[1]]2指定针对具有索引olsIdx的输出层集合的第i分割方案指定HRD参数的位流分区的数目。num_sei_bitstream_partitions_minus1[olsIdx][i]的值将处于0到NumLayersInIdList[LayerSetIdxForOutputLayerSet[olsIdx]]-1(包含性)的范围内。num_sei_bitstream_partitions_minus1[olsIdx][0]的值推断为等于0。

如下导出变量NumPartitionInScheme[i][j]的值:

NumSeiBitstreamPartitions[olsIdx][i]=(i==0)?1:num_sei_bitstream_partitions_minus2[i][j]+2。

sei_layer_in_bsp_flag[olsIdx][i][j][k]指定具有索引[[j]]k的层是具有索引olsIdx的层集合的具有索引i的分割方案内的具有索引[[i]]j的位流分区的一部分。对在从0到vps_max_layers_minus1(包含性)的范围内的k,layer_included_in_partition_flag[olsIdx][0][0][k]的值推断为等于layer_id_included_flag[LayerSetIdxForOutputLayerSet[olsIdx]][k]的值。

位流符合性的要求是针对处于0到N[[n]]um[[_s]]Sei[[_b]]Bitstream[[_p]]Partitions[[_minus1]][olsIdx][i][[,(包含性)]]范围内的[[i]]m和[[j]]n的任何值,具有索引[[j]]n的位流分区将不包含具有索引[[i]]m的位流分区中的任何层的直接或间接参考层,以使得[[i]]m小于[[j]]n

sei_num_bsp_sched_combinations_minus1[olsIdx][i]加1指定针对具有索引olsIdx的输出层集合的具有索引i的分割方案的位流分区指定的递送时间表和hrd_parameters()的组合的数目。

变量SchedCombCnt[olsIdx][i]设定成等于sei_num_bsp_sched_combinations_minus1[olsIdx][i]+1。

sei_bsp_comb_hrd_idx[olsIdx][i][j][k]指定在针对具有索引olsIdx的输出层集合的具有索引i的分割方案[[和]]的具有索引[[j]]k的位流分区指定的递送时间表和hrd_parameters()的[[i]]第j组合中使用的此SEI消息内的hrd_parameters()的索引。

sei_bsp_comb_sched_idx[olsIdx][i][j][k]指定在针对具有索引olsIdx的输出层集合的具有索引i的分割方案[[和]]的具有索引[[j]]k的位流分区指定的递送时间表和hrd_parameters()的[[i]]第j组合中使用的具有索引sei_bsp_comb_hrd_idx[olsIdx][i][j][k]的hrd_parameters()语法结构内的递送时间表的索引。

MV-HEVC WD8和SHVC WD6中的附录C描述HRD。更确切地说,MV-HEVC WD8和SHVC WD6的段落C.1指示可需要多个测试用于检查位流的符合性,所述位流称为受测试位流。此外,MV-HEVC WD8和SHVC WD6的段落C.1指示将应用以便检查位流的符合性的一系列步骤。

在本发明的一些实例中,修改MV-HEVC WD8和SHVC WD6的段落C.1中描述的系列步骤以便支持本发明中在别处描述的分割方案。例如,可对MV-HEVC WD8和SHVC WD6的段落C.1做出以下修改。

对于每一测试,以所列次序应用以下步骤:

1.通过选择识别目标输出层集合的TargetOutputLayerSetIdx的值且选择目标最高TemporalId值HighestTid来选择表示为TargetOp的受测试操作点。TargetOutputLayerSetIdx的值将在0到NumOutputLayerSets-1(包含性)的范围内。HighestTid的值将处于0到MaxSubLayersInLayerSetMinus1[LayerSetIdxForOutputLayerSet[TargetOutputLayerSetIdx]](包含性)的范围内。接着如由等式8-1所指定而导出变量TargetDecLayerSetIdx、TargetOptLayerIdList及TargetDecLayerIdList。受测试操作点具有等于TargetOptLayerIdList的OptLayerIdList、等于TargetDecLayerIdList的OpLayerIdList及等于HighestTid的OpTid。

2.以受测试位流、HighestTid和TargetDecLayerIdList作为输入调用如条款10中指定的子位流提取过程,且输出指派给BitstreamToDecode。从在用于选定输出层集合的作用中VPS中用信号表示的分割方案的列表选择分割方案。在此之后,对于选定分割方案,从用于选定输出层集合的VPS中用信号表示的分区的列表选择分区。

3.如果选定分区含有选定输出层集合的所有层,那么选择位流特定的CPB操作。否则,选择位流分区特定的CPB操作。后续步骤应用于选定分区的子位流,所述分区称为受测试位流分区,[[当vps_vui_bsp_hrd_parameters()语法结构存在于作用中VPS中时,通过选择处于1到num_partitioning_schemes_minus1[TargetOutputLayerSetIdx](包含性)范围内的TargetPartitioningSchemeIdx的值而选择表示为TargetPartitioningScheme的分割方案。当num_bitstream_partitionsnNum_pPartitions_iIn_sScheme_minus1[TargetDecOutputLayerSetIdx][TargetPartitioningSchemeIdx]大于1时,其中TargetPartitioningSchemeIdx是处于1到num_partitioning_schemes_minus1[TargetOutputLayerSetIdx]范围内的选定TargetPartitioningScheme的索引,或位流分区HRD参数SEI消息存在且所述SEI消息含有大于0的语法元素num_sei_bitstream_partitions_in_schemebitstream_partitions_minus1[TargetDecOutputLayerSetIdx][TargetPartitioningSchemeIdx],则选择位流特定CPB操作或位流分区特定CPB操作用于符合性测试,且将测试这两种CPB操作以检查位流的符合性。当测试位流特定CPB操作时,后续步骤应用于受测试位流。当测试位流分区特定CPB操作时,后续步骤应用于受测试位流的每一位流分区,所述分区称为受测试位流分区。当测试位流分区特定CPB操作且对HRD的输入是位流时,位流分区是]]以子条款C.6中的用于导出位流分区的多路分用过程导出。当选择位流分区特定CPB操作时,选定输出层集合的同一分割方案的其它分区的位流分区假定将通过除HRD外但可用于HRD的解码能力来解码,如根据那些分区的HRD参数而调度。

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

-如果测试位流特定CPB操作,则以下适用:

-如果TargetDecLayerIdList含有存在于受测试位流中的所有nuh_layer_id值,那么选择用于基础层的作用中SPS中的hrd_parameters()语法结构(或通过本说明书中未指定的外部装置而提供)。

-否则,选择应用于TargetOp的作用中VPS中的hrd_parameters()语法结构(或通过本说明书中未指定的一些外部装置提供)。

-否则,如下选择hrd_parameters()语法结构:

-如果以下条件两者为真,则可选择以下条件中的hrd_parameters()语法结构中的任一者:

-vps_vui_bsp_hrd_parameters()语法结构存在于作用中VPS中(或通过本说明书未指定的一些外部装置可用)且含有应用于TargetOp、TargetPartitioningScheme以及受测试位流分区的hrd_parameters()语法结构。

-包含在应用于TargetOp的可缩放嵌套SEI消息中且含有应用于TargetOp、TargetPartitioningScheme和受测试位流分区的hrd_parameters()语法结构的位流分区HRD参数SEI消息存在(或通过本说明书未指定的一些外部装置可用)。

-否则,如果vps_vui_bsp_hrd_parameters()语法结构存在于作用中VPS中(或通过本说明书中未指定的一些外部装置可用)且含有应用于TargetOp、TargetPartitioningScheme和受测试位流分区的hrd_parameters()语法结构,则选择所述hrd_parameters()语法结构。

-否则,应用于TargetOp和TargetPartitioningScheme的包含在可缩放嵌套SEI消息中的位流分区HRD参数SEI消息中的应用于受测试位流分区的hrd_parameters()语法结构将存在(或将通过本说明书中未指定的一些外部装置可用)且被选择。

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

5.与适用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部装置可用)相关联的存取单元被选择为HRD初始化点且称为存取单元0。适用的缓冲周期SEI消息通过本说明书中未指定的外部装置可用或如下选自存取单元0:

-如果测试位流特定CPB操作,则以下适用:

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

-否则,选择包含在具有等于1的bitstream_subset_flag的可缩放嵌套SEI消息且适用于TargetOp的缓冲周期SEI消息。

-否则,选择包含在适用于受测试位流分区的位流分区嵌套SEI消息中的缓冲周期SEI消息。

如下导出变量MultiLayerCpbOperationFlag:

-如果选定缓冲周期SEI消息是非嵌套的或包含在仅应用于仅含有基础层的子位流的可缩放嵌套SEI消息中,则将MultiLayerCpbOperationFlag设定成等于0。

-否则,将MultiLayerCpbOperationFlag设定成等于1。

6.对于从存取单元0开始的BitstreamToDecode中的每一存取单元,选择与所述存取单元相关联且应用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部装置可用),选择与所述存取单元相关联且应用于TargetOp的图片定时SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部装置可用),且当SubPicHrdFlag等于1且sub_pic_cpb_params_in_pic_timing_sei_flag等于0时,如下选定与所述存取单元中的解码单元相关联且应用于TargetOp的解码单元信息SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部装置可用):

-如果测试位流特定CPB操作,则以下适用:

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

-否则,选择包含在具有等于1的bitstream_subset_flag的可缩放嵌套SEI消息中且适用于TargetOp的缓冲周期、图片定时和解码单元信息SEI消息。

-否则,选择包含在位流分区嵌套SEI消息中且适用于受测试位流分区的缓冲周期、图片定时和解码单元信息SEI消息。

7.如下选择SchedSelIdx的值:

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

-否则(测试位流分区特定CPB操作),针对受测试位流选择SchedSelCombIdx且用于每一受测试位流分区。以下适用:

-如果vps_vui_bsp_hrd_parameters()语法结构存在于作用中VPS中(或通过本说明书中未指定的外部装置可用)且含有应用于TargetOp和受测试位流分区的选定hrd_parameters()语法结构,则选定SchedSelCombIdx将处于0到num_bsp_sched_combinations_minus1[TargetOutput[[Dec]]LayerSetIdx][TargetPartitioningSchemeIdx](包含性)的范围内,且选定SchedSelIdx将等于bsp_comb_sched_idx[TargetOutput[[Dec]]LayerSetIdx][TargetPartitioningSchemeIdx][SchedSelCombIdx][j],其中j是受测试位流分区的索引,其中TargetPartitioningSchemeIdx是处于1到num_partitioning_schemes_minus1[TargetOutputLayerSetIdx]范围内的选定TargetPartitioningScheme的索引。

-否则,选定SchedSelCombIdx将处于0到sei_num_bsp_sched_combinations_minus1[TargetOutput[[Dec]]LayerSetIdx][TargetPartitioningSchemeIdx](包含性)的范围内,且选定SchedSelIdx将等于适用于TargetOp的位流分区HRD参数SEI消息的sei_bsp_comb_sched_idx[TargetOutput[[Dec]]LayerSetIdx][TargetPartitioningSchemeIdx][SchedSelCombIdx][j],其中j是受测试位流分区的索引。

HRD如下操作:

-在解码单元0处初始化HRD,其中CPB、DPB的每一子DPB和每一BPB设定成空的(每一子DPB的子DPB充满度设定成等于0)。

注意6-在初始化之后,不会再次通过后续缓冲周期SEI消息初始化HRD。

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

-当使用位流分区特定CPB操作时,如条款C.2中指定处理具有索引j的每一位流分区,其中HSS被HPBS代替且SchedSelIdx等于bsp_comb_sched_idx[TargetOutput[[Dec]]LayerSetIdx][TargetPartitioningSchemeIdx][SchedSelCombIdx][j],如果vps_vui_bsp_hrd_parameters()语法结构存在于作用中VPS中或通过本说明书中未指定的一些外部装置可用),或否则等于适用于TargetOp的位流分区HRD参数SEI消息的sei_bsp_comb_sched_idx[TargetOutput[[Dec]]LayerSetIdx][TargetPartitioningSchemeIdx][SchedSelCombIdx][j]。

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

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

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

如上所述,当HRD测试每一分割方案的每一分区时,基于所述一或多个分割方案的特定分割方案的不含有输出层集合的所有层的选定分区,HRD可应用分区特定的经译码图片缓冲器(CPB)操作。例如,HRD可从VUI内的位流调度参数(BSP)语法结构获得一或多个HRD参数集。在类似实例中,HRD可从SEI消息内的BSP语法结构获得一或多个HRD参数集。对于输出层集合的所述一或多个分割方案的每一相应分割方案,对于所述相应分割方案的一或多个时间表组合的集合中的每一相应组合,对于相应分割方案的每一相应分区,HRD可从BSP语法结构获得指定用于BSP语法结构中的相应分区的HRD参数集的相应语法元素(例如,bsp_comb_hrd_idx)以及指定递送时间表的相应语法元素(例如,sei_bsp_comb_sched_idx)。

在对应实例中,视频编码器20在VUI内的BSP语法结构中包含一或多个HRD参数集。对于用于相应分割方案的一或多个时间表组合的集合中的每一相应组合,对于相应分割方案的每一相应分区,视频编码器20可在BSP语法结构中包含指定用于BSP语法结构中的相应分区的HRD参数集的相应语法元素以及指定递送时间表的相应语法元素。在另一实例中,视频编码器20在SEI消息内的BSP语法结构中包含一或多个HRD参数集。对于用于相应分割方案的一或多个时间表组合的集合中的每一相应组合,对于相应分割方案的每一相应分区,视频编码器20在BSP语法结构中包含指定用于BSP语法结构中的相应分区的HRD参数集的相应语法元素以及指定递送时间表的相应语法元素。

此外,在一些实例中,如下修改MV-HEVC WD8和SHVC WD6的段落C.4:

移除以下句子:

如子条款C.1中指定由HRD测试位流的符合性。

添加以下句子:

如子条款C.1中指定由HRD测试每一分割方案的每一分区的子位流的符合性。

如上文所指出,视频处理装置可能够确定多层视频解码器是否能够基于针对多层解码器指定的简档、层次和层级的三元组列表而解码位流。以下文字是这可如何实施的实例。

G.11.3解码器能力

针对处于0到q-1(包含性)的范围内(其中q是正整数)的i,符合由(Pi,Ti,Li)表示的简档、层次和层级三元组的集合的解码器将能够以具有p个分区的至少一个分割方案对输出层集合的所有子位流进行解码,其中所有以下条件适用:

-针对处于0到p-1(包含性)的范围内(其中p小于或等于q)的j,假设变量Partition[j]表示分割方案中的第j分区。

-包含于从Partition[0]到Partition[p-1](包含性)的分区中的层的并集表示输出层集合中的所有层。

-针对处于0到p-1(包含性)的范围内的j,假设变量PartitionAssignment[j]用以指示对Partition[j]的简档、层次和层级三元组(PPartitionAssignment[j],TPartitionAssignment[j],LPartitionAssignment[j])的解码指派。如下导出PartitionAssignment[j]的值:

-假设UnassignedProfileTierLevelTriples为简档、层次和层级三元组的阵列,其中针对处于0到q-1(包含性)范围内的i,UnassignedProfileTierLevelTriples[i]是相等(Pi,Ti,Li)。

-以下适用:

-针对处于0到p-1(包含性)范围内的j,在等于-1的PartitionAssignment[j]中将不存在条目。

图5A是说明根据本发明的技术的视频编码器20的实例操作的流程图。在图5A的实例中,视频编码器20产生包括视频数据的经编码表示的位流(300)。所述位流包括多个层。作为产生位流的部分,视频编码器20在位流中包含指示一或多个分割方案的一或多个语法元素(302)。对于所述一或多个分割方案中的每一相应分割方案,所述相应分割方案指定并集形成输出层集合的不相交分区的相应集合,其中不相交分区的所述相应集合的每一相应分区含有一或多个层,所述输出层集合由所述多个层的所有层或所述多个层的恰当子集组成。

在一些实例中,作为产生位流的部分,对于所述一或多个分割方案的每一相应分割方案的每一相应分区,视频编码器20可在位流中指示出指示用于所述相应分区的简档、层次和层级的相应语法元素。

此外,在一些实例中,视频编码器20可在位流中包含指示多个输出层集合的语法元素,所述多个输出层集合包含所述第一输出层集合。对于所述多个输出层集合中的每一相应输出层集合,视频编码器20可在位流中包含指示用于相应输出层集合的一或多个分割方案的语法元素。

在一些实例中,作为用信号表示指示所述一或多个分割方案的所述一或多个语法元素的部分,对于所述一或多个分割方案的每一相应分割方案,对于相应分割方案的每一相应分区,对于输出层集合的每一相应层,视频编码器20可在位流中包含指示所述相应层是否包含在相应分区中的语法元素。

此外,在图5A的实例中,视频编码器20输出所述位流(304)。举例来说,视频编码器20可将所述位流输出到输出接口,例如输出接口22。在一些实例中,视频编码器20可将所述位流输出到一或多个计算机可读数据存储媒体用于存储。

图5B是说明根据本发明的技术的视频解码器30的实例操作的流程图。在图5B的实例中,视频解码器30对包括视频数据的经编码表示的位流进行解码,所述位流包括多个层(320)。作为对位流进行解码的部分,视频解码器30从位流获得指示一或多个分割方案的一或多个语法元素(322)。对于所述一或多个分割方案中的每一相应分割方案,所述相应分割方案指定并集形成输出层集合的不相交分区的相应集合。不相交分区的相应集合的每一相应分区含有所述层中的一或多者。输出层集合可由所述多个层的所有层或所述多个层的恰当子集组成。在一些实例中,作为获得所述一或多个语法元素的部分,对于所述一或多个分割方案的每一相应分割方案,对于相应分割方案的每一相应分区,对于输出层集合的每一相应层,视频解码器30可从位流获得指示所述相应层是否包含在相应分区中的语法元素。

此外,作为对位流进行解码的部分,视频解码器30使用多个硬件核心中的不同处理核心对特定分割方案的分区中的每一者进行解码,所述特定分割方案是所述一或多个分割方案中的一者(324)。在一些实例中,作为对位流进行解码的部分,视频解码器30可对于所述一或多个分割方案的每一相应分割方案的每一相应分区从位流获得指示用于所述相应分区的相应简档、层次和层级(PTL)信息的相应语法元素。

在一些实例中,视频解码器30可基于分割方案的分区的PTL信息而从所述一或多个分割方案确定特定分割方案。此外,在此些实例中,视频解码器30可使用硬件核心中的相应一个对特定分割方案的每一相应分区进行解码,其中所述硬件核心中的每一相应一个实施相应单层解码器。在一些实例中,所述多个硬件核心中的至少第一硬件核心支持与所述多个硬件核心中的第二硬件核心不同的简档、层次或层级。在其它实例中,所述多个硬件核心中的至少第一硬件核心和所述多个硬件核心中的第二不同硬件核心支持相同的简档、层次和层级的集合。

在一些实例中,当视频解码器30对位流进行解码时,视频解码器30从位流获得指示多个输出层集合的语法元素,所述多个输出层集合包含所述第一输出层集合。在此些实例中,对于所述多个输出层集合中的每一相应输出层集合,视频解码器30可从位流获得指示用于相应输出层集合的一或多个分割方案的语法元素。

图6A是说明根据本发明的技术的视频编码器20的实例操作的流程图。在图6A的实例中,视频编码器20产生包括视频数据的经编码表示的位流(350)。所述位流包括多个层。作为产生位流的部分,视频编码器20在位流中包含指示用于输出层集合的一或多个分割方案的一或多个语法元素(352)。在图6A的实例中,输出层集合由所述多个层的所有层或所述多个层的恰当子集组成。此外,对于所述一或多个分割方案的每一相应分割方案,相应分割方案指定输出层集合划分为一或多个分区,其中所述输出层集合中的每一层属于相应分割方案中的确切一个分区。另外,作为产生位流的部分,对于所述一或多个分割方案的每一相应分割方案,视频编码器20在位流中的SEI消息或位流中的VPS中的VUI中包含指示用于相应分割方案的HRD参数集的语法元素(例如,bsp_comb_hrd_idx语法元素)的相应集合(354)。视频编码器20输出所述位流(356)。举例来说,视频编码器20可将所述位流输出到输出接口,例如输出接口22。在一些实例中,视频编码器20可将所述位流输出到一或多个计算机可读数据存储媒体用于存储。

在一些实例中,作为包含指示用于所述一或多个分割方案中的每一者的HRD参数集的语法元素的相应集合的部分包括,视频编码器20可在VUI内的位流调度参数(BSP)语法结构中包含一或多个HRD参数集。此外,在此些实例中,对于用于相应分割方案的一或多个时间表组合的集合中的每一相应组合,对于相应分割方案的每一相应分区,视频编码器20可在BSP语法结构中包含指定用于BSP语法结构中的相应分区的HRD参数集的相应语法元素以及指定递送时间表的相应语法元素。

在一些实例中,作为包含指示用于所述一或多个分割方案中的每一者的HRD参数集的语法元素的相应集合的部分包括,视频编码器20可在SEI消息内的位流调度参数(BSP)语法结构中包含一或多个HRD参数集。此外,在此些实例中,对于用于相应分割方案的一或多个时间表组合的集合中的每一相应组合,对于相应分割方案的每一相应分区,视频编码器20可在BSP语法结构中包含指定用于BSP语法结构中的相应分区的HRD参数集的相应语法元素以及指定递送时间表的相应语法元素。

图6B是说明根据本发明的技术的视频解码器30的实例操作的流程图。在图6B的实例中,视频解码器30从包括视频数据的经编码表示的位流获得指示用于输出层集合的一或多个分割方案的一或多个语法元素(370)。在图6B的实例中,输出层集合由所述多个层的所有层或所述多个层的恰当子集组成。对于所述一或多个分割方案的每一相应分割方案,相应分割方案指定输出层集合划分为一或多个分区,其中所述输出层集合中的每一层属于相应分割方案中的确切一个分区。

此外,在图6B的实例中,对于所述一或多个分割方案的每一相应分割方案,视频解码器30从位流中的SEI消息或位流中的VPS中的VUI获得指示用于相应分割方案的HRD参数集的语法元素(例如,bsp_comb_hrd_idx语法元素)的相应集合(372)。

在一些实例中,作为获得指示用于相应分割方案的HRD参数集的语法元素的相应集合的部分,视频解码器30从VUI内的位流调度参数(BSP)语法结构获得一或多个HRD参数集。在此些实例中,对于用于相应分割方案的一或多个时间表组合的集合中的每一相应组合,对于相应分割方案的每一相应分区,视频解码器30可从BSP语法结构获得指定用于BSP语法结构中的相应分区的HRD参数集的相应语法元素以及指定递送时间表的相应语法元素。

在一些实例中,作为获得指示用于相应分割方案的HRD参数集的语法元素的相应集合的部分,视频解码器30从SEI消息内的位流调度参数(BSP)语法结构获得一或多个HRD参数集。在此些实例中,对于用于相应分割方案的一或多个时间表组合的集合中的每一相应组合,对于相应分割方案的每一相应分区,视频解码器30可从BSP语法结构获得指定用于BSP语法结构中的相应分区的HRD参数集的相应语法元素以及指定递送时间表的相应语法元素。

对于相应分割方案的每一相应分区,视频解码器30基于用于相应分割方案的HRD参数测试相应分区的符合性(374)。在一些实例中,作为测试子位流的部分,视频解码器30基于所述一或多个分割方案的特定分割方案的不含有输出层集合的所有层的选定分区而应用分区特定CPB操作。在一些实例中,测试特定分区的符合性假定来自分区中的层的直接和间接参考层且不包含于特定分区中的经解码图片和其它必要信息在对所述特定分区中的层的图片进行解码时是可用的。

图7是说明根据本发明的技术的视频解码器30的实例操作的流程图。在图7的实例中,视频解码器30基于三元组条目列表确定视频解码器30(即,多层视频解码器)是否能够对包括多层视频数据的经编码表示的位流进行解码(400)。在一些实例中,所述列表中的三元组条目的数目小于或等于多层视频数据中的单层解码器的数目。在一些实例中,视频解码器30的单个硬件核心可对多个层进行解码。三元组条目列表中的每一相应三元组条目指示用于多层视频解码器中的相应单层解码器的简档、层次和层级。基于所述多层视频解码器能够对位流进行解码,视频解码器30对位流进行解码(402)。

在一些实例中,视频解码器30从位流获得指示一或多个分割方案的一或多个语法元素。对于所述一或多个分割方案中的每一相应分割方案,所述相应分割方案指定并集形成输出层集合的不相交分区的相应集合。不相交分区的相应集合的每一相应分区含有一或多个层,输出层集合由所述多个层的所有层或所述多个层的恰当子集组成。作为确定多层视频解码器是否能够对位流进行解码的部分,视频解码器30可基于条件被满足而确定所述多层视频解码器能够对位流进行解码。在此些实例中,基于所述一或多个分割方案中存在合适的分割方案而满足条件。此外,在此些实例中,对于合适的分割方案的每一相应分区,可指派单层解码器中的一者用于对相应分区进行解码。在一些实例中,作为确定多层视频解码器能够对位流进行解码的部分,对于合适的分割方案的每一相应分区,基于以下条件被满足,所述多层视频解码器可确定可对单层解码器中的一者指派相应分区:与所述单层解码器相关联的层级大于或等于针对相应分区用信号表示的层级,与所述单层解码器相关联的层次大于或等于针对相应分区用信号表示的层次,且与相应分区相关联的简档使得所述单层解码器支持简档的解码。

在一或多个实例中,所描述的功能可在硬件、软件、固件或其任何组合中实施。如果用软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体(例如数据存储媒体),或包含促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)有形计算机可读存储媒体,其是非暂时的,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或者一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。

借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可以用来存储指令或数据结构的形式的期望程序代码并且可以由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。

可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号