处理视频数据的方法和设备及计算机可读介质转让专利

申请号 : CN201580033042.8

文献号 : CN106464922B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王益魁

申请人 : 高通股份有限公司

摘要 :

本发明提供用于处理视频数据的装置和方法。所述方法可包含从所接收的视频数据提取输出操作点。如果所述输出操作点对应于整个位流和所述整个位流的时间子集中的一者,其中仅基础层作为输出,那么所述方法可包含执行第一位流符合性测试。如果所述输出操作点对应于由活动视频参数集VPS的基础VPS规定的层集合和所述层集合的时间子集中的一者,其中将仅输出所述基础层,那么所述方法可包含执行第二位流符合性测试。如果所述输出操作点对应于由所述活动VPS的VPS扩展规定的输出层集合OLS和所述OLS的时间子集中的一者,那么所述方法可包含执行第三位流符合性测试。

权利要求 :

1.一种处理视频数据的方法,其包括:

接收具有多个输出操作点的经译码视频数据;

从所述多个输出操作点提取选定输出操作点,所述选定输出操作点是整个位流的子位流;和响应于所述选定输出操作点对应于将仅输出基础层的整个位流和将仅输出所述基础层的所述整个位流的时间子集中的一者,对所述选定输出操作点执行第一位流符合性测试,所述第一位流符合性测试是基于基础层的活动序列参数集SPS中的序列层级假想参考解码器HRD参数的集合,以及一或多个非嵌套式补充增强信息SEI消息,所述一或多个非嵌套式SEI消息中的每一非嵌套式SEI消息直接包含于SEI网络抽象层NAL单元中,响应于所述选定输出操作点对应于由活动视频参数集VPS的基础VPS规定的层集合和将仅输出所述基础层的所述层集合的时间子集中的一者,对所述选定输出操作点执行第二位流符合性测试,所述第二位流符合性测试是基于所述基础VPS中的序列层级HRD参数的集合以及直接嵌套式SEI消息,所述直接嵌套式SEI消息直接包含于可缩放嵌套式SEI消息中,和响应于所述选定输出操作点对应于由所述活动VPS的VPS扩展规定的输出层集合OLS和所述OLS的时间子集中的一者,对所述选定输出操作点执行第三位流符合性测试,所述第三位流符合性测试是基于所述活动VPS中的序列层级HRD参数的集合以及间接嵌套式SEI消息,所述间接嵌套式SEI消息含于位流分割区嵌套式SEI消息中,所述位流分割区嵌套式SEI消息含于可缩放嵌套式SEI消息中。

2.根据权利要求1所述的方法,其进一步包括仅当所述选定输出操作点对应于在所述活动VPS的基础部分中标识的OLS时,应用直接嵌套式SEI消息,所述直接嵌套式SEI消息是缓冲器周期BP、图片时序PT和解码器单元信息DUI SEI消息中的一者。

3.根据权利要求1所述的方法,其进一步包括仅当所述选定输出操作点对应于在所述VPS扩展中规定的OLS时,应用所述间接嵌套式SEI消息,所述间接嵌套式SEI消息是BP、PT和DUI SEI消息中的一者。

4.根据权利要求1所述的方法,其进一步包括在所述SPS、所述基础VPS和所述VPS扩展中的一者中的hrd_parameters()语法结构中包含序列层级HRD参数的所述集合。

5.根据权利要求1所述的方法,其中所述SEI消息包括BP、PT和DUI SEI消息中的一者。

6.根据权利要求1所述的方法,其进一步包括对所述选定输出操作点执行所述第三位流符合性测试,所述第三位流符合性测试进一步基于所述活动VPS中的序列层级HRD参数的所述集合以及位于所述基础VPS和所述VPS扩展中的一者中的间接嵌套式SEI消息。

7.根据权利要求1所述的方法,其进一步包括从所述经译码视频数据的所述多个输出操作点选择所述选定输出操作点。

8.一种用于处理视频数据的装置,其包括:

存储器,其经配置以存储经译码视频数据,所述经译码视频数据具有多个输出操作点;

处理器,其可操作地耦合到所述存储器且经配置以:

从所述多个输出操作点提取选定输出操作点,所述选定输出操作点是整个位流的子位流;和响应于所述选定输出操作点对应于将仅输出基础层的整个位流和将仅输出所述基础层的所述整个位流的时间子集中的一者,对所述选定输出操作点执行第一位流符合性测试,所述第一位流符合性测试是基于基础层的活动序列参数集SPS中的序列层级假想参考解码器HRD参数的集合,以及一或多个非嵌套式补充增强信息SEI消息,所述一或多个非嵌套式SEI消息中的每一非嵌套式SEI消息直接包含于SEI网络抽象层NAL单元中,响应于所述选定输出操作点对应于由活动视频参数集VPS的基础VPS规定的层集合和将仅输出所述基础层的所述层集合的时间子集中的一者,对所述选定输出操作点执行第二位流符合性测试,所述第二位流符合性测试是基于所述基础VPS中的序列层级HRD参数的集合以及直接嵌套式SEI消息,所述直接嵌套式SEI消息直接包含于可缩放嵌套式SEI消息中,和响应于所述选定输出操作点对应于由所述活动VPS的VPS扩展规定的输出层集合OLS和所述OLS的时间子集中的一者,对所述选定输出操作点执行第三位流符合性测试,所述第三位流符合性测试是基于所述活动VPS中的序列层级HRD参数的集合以及间接嵌套式SEI消息,所述间接嵌套式SEI消息含于位流分割区嵌套式SEI消息中,所述位流分割区嵌套式SEI消息含于可缩放嵌套式SEI消息中。

9.根据权利要求8所述的装置,其中所述处理器经进一步配置以仅当所述选定输出操作点对应于在所述活动VPS的基础部分中标识的OLS时,应用直接嵌套式SEI消息,所述直接嵌套式SEI消息是缓冲器周期BP、图片时序PT和解码器单元信息DUI SEI消息中的一者。

10.根据权利要求8所述的装置,其中所述处理器经进一步配置以仅当所述选定输出操作点对应于在所述VPS扩展中规定的OLS时,应用间接嵌套式SEI消息,所述间接嵌套式SEI消息是BP、PT和DUI SEI消息中的一者。

11.根据权利要求8所述的装置,其中序列层级HRD参数的所述集合包含在所述SPS、所述基础VPS和所述VPS扩展中的一者中的hrd_parameters()语法结构中。

12.根据权利要求8所述的装置,其中所述SEI消息包括BP、PT和DUI SEI消息中的一者。

13.根据权利要求8所述的装置,其中所述处理器经进一步配置以对所述选定输出操作点执行所述第三位流符合性测试,所述第三位流符合性测试进一步基于所述活动VPS中的序列层级HRD参数的所述集合以及位于所述基础VPS和所述VPS扩展中的一者中的间接嵌套式SEI消息。

14.根据权利要求8所述的装置,其中所述处理器经进一步配置以从所述经译码视频数据的所述多个输出操作点选择所述选定输出操作点。

15.一种用于处理视频数据的设备,其包括:

存储器装置,其用于存储经译码视频数据,所述经译码视频数据具有多个输出操作点;

解码器装置,其可操作地耦合到所述存储器装置以用于:

从所述多个输出操作点提取选定输出操作点,所述选定输出操作点是整个位流的子位流;和响应于所述选定输出操作点对应于将仅输出基础层的整个位流和将仅输出所述基础层的所述整个位流的时间子集中的一者,对所述选定输出操作点执行第一位流符合性测试,所述第一位流符合性测试是基于基础层的活动序列参数集SPS中的序列层级假想参考解码器HRD参数的集合,以及一或多个非嵌套式补充增强信息SEI消息,所述一或多个非嵌套式SEI消息中的每一非嵌套式SEI消息直接包含于SEI网络抽象层NAL单元中,响应于所述选定输出操作点对应于由活动视频参数集VPS的基础VPS规定的层集合和将仅输出所述基础层的所述层集合的时间子集中的一者,对所述选定输出操作点执行第二位流符合性测试,所述第二位流符合性测试是基于所述基础VPS中的序列层级HRD参数的集合以及直接嵌套式SEI消息,所述直接嵌套式SEI消息直接包含于可缩放嵌套式SEI消息中,和响应于所述选定输出操作点对应于由所述活动VPS的VPS扩展规定的输出层集合OLS和所述OLS的时间子集中的一者,对所述选定输出操作点执行第三位流符合性测试,所述第三位流符合性测试是基于所述活动VPS中的序列层级HRD参数的集合以及间接嵌套式SEI消息,所述间接嵌套式SEI消息含于位流分割区嵌套式SEI消息中,所述位流分割区嵌套式SEI消息含于可缩放嵌套式SEI消息中。

16.根据权利要求15所述的设备,其中所述解码器装置是由至少一个处理器实施的假想参考解码器。

17.根据权利要求15所述的设备,其中所述解码器装置经配置以仅当所述选定输出操作点对应于在所述活动VPS的VPS基础中标识的OLS时,应用直接嵌套式SEI消息,所述直接嵌套式SEI消息是缓冲器周期BP、图片时序PT和解码器单元信息DUI SEI消息中的一者。

18.根据权利要求15所述的设备,其中所述解码器装置经配置以仅当所述选定输出操作点对应于在所述活动VPS的所述VPS扩展中规定的OLS时,应用间接嵌套式SEI消息,所述间接嵌套式SEI消息是BP、PT和DUI SEI消息中的一者。

19.一种含有指令的非暂时性计算机可读介质,所述指令在由处理器执行时致使计算机:接收具有多个输出操作点的经译码视频数据;

从所述多个输出操作点提取选定输出操作点,所述选定输出操作点是整个位流的子位流;和响应于所述选定输出操作点对应于将仅输出基础层的整个位流和将仅输出所述基础层的所述整个位流的时间子集中的一者,对所述选定输出操作点执行第一位流符合性测试,所述第一位流符合性测试是基于基础层的活动序列参数集SPS中的序列层级假想参考解码器HRD参数的集合,以及一或多个非嵌套式补充增强信息SEI消息,所述一或多个非嵌套式SEI消息中的每一非嵌套式SEI消息直接包含于SEI网络抽象层NAL单元中,响应于所述选定输出操作点对应于由活动视频参数集VPS的基础VPS规定的层集合和将仅输出所述基础层的所述层集合的时间子集中的一者,对所述选定输出操作点执行第二位流符合性测试,所述第二位流符合性测试是基于所述基础VPS中的序列层级HRD参数的集合以及直接嵌套式SEI消息,所述直接嵌套式SEI消息直接包含于可缩放嵌套式SEI消息中,和响应于所述选定输出操作点对应于由所述活动VPS的VPS扩展规定的输出层集合OLS和所述OLS的时间子集中的一者,对所述选定输出操作点执行第三位流符合性测试,所述第三位流符合性测试是基于所述活动VPS中的序列层级HRD参数的集合以及间接嵌套式SEI消息,所述间接嵌套式SEI消息含于位流分割区嵌套式SEI消息中,所述位流分割区嵌套式SEI消息含于可缩放嵌套式SEI消息中。

20.根据权利要求19所述的非暂时性计算机可读介质,其中所述指令进一步致使所述计算机仅当所述选定输出操作点对应于在所述活动VPS的基础部分中标识的OLS时,应用直接嵌套式SEI消息,所述直接嵌套式SEI消息是缓冲器周期BP、图片时序PT和解码器单元信息DUI SEI消息中的一者。

21.根据权利要求19所述的非暂时性计算机可读介质,其中所述指令进一步致使所述计算机仅当所述选定输出操作点对应于在所述VPS扩展中规定的OLS时,应用间接嵌套式SEI消息,所述间接嵌套式SEI消息是BP、PT和DUI SEI消息中的一者。

22.根据权利要求19所述的非暂时性计算机可读介质,序列层级HRD参数的所述集合包含在所述SPS、所述基础VPS和所述VPS扩展中的一者中的hrd_parameters()语法结构中。

23.根据权利要求19所述的非暂时性计算机可读介质,其中所述间接嵌套式SEI消息含于缓冲周期BP嵌套SEI消息中,所述BP嵌套SEI消息含于可缩放嵌套SEI消息中。

24.根据权利要求19所述的非暂时性计算机可读介质,其中一或多个并非仅输出基础层的OLS经历所述第三位流符合性测试,所述第三位流符合性测试进一步基于所述基础VPS和所述VPS扩展中的一者中的hrd_parameters()语法结构。

说明书 :

处理视频数据的方法和设备及计算机可读介质

技术领域

[0001] 本发明涉及多层视频译码。更确切地说,本发明涉及用于多层视频译码中符合性和互操作性的方法,包含用信号发送简档、层次和层级信息,用信号发送输出层集合的,使用假想参考解码器(HRD)参数,以及位流符合性测试。

背景技术

[0002] 数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施一或多种视频译码技术。视频装置可通过实施此类视频译码技术来更有效率地发射、接收、编码、解码和/或存储数字视频信息。
[0003] 视频译码技术包含(但不限于)在由ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉及ITU-T H.264或ISO/IEC MPEG-4高级视频译码(AVC)(包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展)及相对新的高效视频译码(HEVC)标准定义的标准中所描述的技术。HEVC标准最近被国际电信联盟电信标准化部门(ITU-T)的视频译码专家组(VCEG)与由国际标准化组织(ISO)及国际电工委员会(IEC)形成的移动图片专家组(MPEG)的视频译码联合合作小组(JCT-VC)定案。可从phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip获得HEVC规范的最新工作草案(WD)(被称为HEVC WD10)。HEVC的多视图扩展(即MV-HEVC)也正由JCT-3V开发。下文中的最近工作草案MV-HEVC WD3可从phenix.it-sudparis.eu/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V-C1004-v4.zip获得。被称为SHVC的对HEVC的可缩放扩展也正由JCT-VC开发。下文中被称为SHVC WD2的最近SHVC工作草案可从phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M1008-v1.zip获得。
[0004] 视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,视频切片((例如,视频帧或视频帧的一部分)可以分割成视频块,所述视频块也可被称为树块、译码单元(CU)和/或译码节点。使用相对于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。
[0005] 空间或时间预测产生用于待译码块的预测块。残余数据表示待译码原始块与预测块之间的像素差。经帧间译码块是根据指向形成预测块的参考样本块的运动向量和指示经译码块与预测块之间的差的残余数据经编码。经帧内译码块是根据帧内译码模式和残余数据经编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可量化所述残余变换系数。可扫描一开始按二维阵列排列的经量化变换系数,以便产生变换系数的一维向量,且可应用熵译码以实现更多压缩。
[0006] 可通过(例如)从多个视角编码视图来产生多视图译码位流。已经开发使用多视图译码方面的一些三维(3D)视频标准。举例来说,不同视图可传输左眼和右眼视图以支持3D视频。替代地,一些3D视频译码过程可应用所谓的多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量,而且含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量和一个深度视图分量。

发明内容

[0007] 一般来说,本发明描述与多层视频译码中的位流符合性和互操作性改进有关的系统和方法。本发明的系统、方法和装置各自具有若干创新方面,其中没有单个方面单独负责本文中所揭示的合乎需要的属性。
[0008] 本发明的一个方面提供一种处理视频数据的方法。所述方法可包含接收具有多个输出操作点的经译码视频数据。所述方法也可包含从所述多个输出操作点提取选定输出操作点。响应于所述选定输出操作点对应于整个位流和所述整个位流的时间子集中的一者,其中将仅输出基础层,所述方法也可包含对所述选定输出操作点执行第一位流符合性测试,所述第一位流符合性测试是基于基础层的活动序列参数集(SPS)中的序列层级假想参考解码器(HRD)参数的集合,以及一或多个非嵌套式补充增强信息(SEI)消息。响应于所述选定输出操作点对应于由活动视频参数集(VPS)的基础VPS规定的层集合和所述层集合的时间子集中的一者,其中将仅输出所述基础层,所述方法也可包含对所述选定输出操作点执行第二位流符合性测试,所述第二位流符合性测试是基于所述基础VPS中的序列层级HRD参数的集合以及直接嵌套式SEI消息。响应于所述选定输出操作点对应于由所述活动VPS的VPS扩展规定的输出层集合(OLS)和所述OLS的时间子集中的一者,所述方法也可包含对所述选定输出操作点执行第三位流符合性测试,所述第三位流符合性测试是基于所述活动VPS中的序列层级HRD参数的集合以及间接嵌套式SEI消息。
[0009] 本发明的另一态样提供一种用于处理视频数据的装置。所述装置可具有经配置以存储经译码视频数据的存储器,所述经译码视频数据具有多个输出操作点。所述装置也可具有处理器,所述处理器可操作地耦合到所述存储器且经配置以从所述多个输出操作点提取选定输出操作点。响应于所述选定输出操作点对应于整个位流和所述整个位流的时间子集中的一者,其中将仅输出基础层,所述处理器可经进一步配置以对所述选定输出操作点执行第一位流符合性测试,所述第一位流符合性测试是基于基础层的活动序列参数集(SPS)中的序列层级假想参考解码器(HRD)参数的集合,以及一或多个非嵌套式补充增强信息(SEI)消息。响应于所述选定输出操作点对应于由活动视频参数集(VPS)的基础VPS规定的层集合和所述层集合的时间子集中的一者,其中将仅输出所述基础层,所述处理器可经进一步配置以对所述选定输出操作点执行第二位流符合性测试,所述第二位流符合性测试是基于所述基础VPS中的序列层级HRD参数的集合以及直接嵌套式SEI消息。响应于所述选定输出操作点对应于由所述活动VPS的VPS扩展规定的输出层集合(OLS)和所述OLS的时间子集中的一者,所述处理器可经进一步配置以对所述选定输出操作点执行第三位流符合性测试,所述第三位流符合性测试是基于所述活动VPS中的序列层级HRD参数的集合以及间接嵌套式SEI消息。
[0010] 本发明的另一方面提供一种用于处理视频数据的设备。所述设备可具有用于存储经译码视频数据的存储器装置,所述视频数据具有多个输出操作点。所述设备也可具有解码器装置,所述解码器装置可操作地耦合到所述存储器装置以用于从所述多个输出操作点提取选定输出操作点。响应于所述选定输出操作点对应于整个位流和所述整个位流的时间子集中的一者,其中将仅输出基础层,所述解码器装置也可对所述选定输出操作点执行第一位流符合性测试,所述第一位流符合性测试是基于基础层的活动序列参数集(SPS)中的序列层级假想参考解码器(HRD)参数的集合,以及一或多个非嵌套式补充增强信息(SEI)消息。响应于所述选定输出操作点对应于由活动视频参数集(VPS)的基础VPS规定的层集合和所述层集合的时间子集中的一者,其中将仅输出所述基础层,所述解码器装置也可对所述选定输出操作点执行第二位流符合性测试,所述第二位流符合性测试是基于所述基础VPS中的序列层级HRD参数的集合以及直接嵌套式SEI消息。响应于所述选定输出操作点对应于由所述活动VPS的VPS扩展规定的输出层集合(OLS)和所述OLS的时间子集中的一者,所述解码器装置也可对所述选定输出操作点执行第三位流符合性测试,所述第三位流符合性测试是基于所述活动VPS中的序列层级HRD参数的集合以及间接嵌套式SEI消息。
[0011] 本发明的另一态样提供一种用于处理视频数据的非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可含有指令,所述指令在由处理器执行时致使计算机接收具有多个输出操作点的经译码视频数据。所述指令也可致使计算机从所述多个输出操作点提取选定输出操作点。响应于所述选定输出操作点对应于整个位流和所述整个位流的时间子集中的一者,其中将仅输出基础层,所述指令也可致使计算机对所述选定输出操作点执行第一位流符合性测试,所述第一位流符合性测试是基于基础层的活动序列参数集(SPS)中的序列层级假想参考解码器(HRD)参数的集合,以及一或多个非嵌套式补充增强信息(SEI)消息。响应于所述选定输出操作点对应于由活动视频参数集(VPS)的基础VPS规定的层集合和所述层集合的时间子集中的一者,其中将仅输出所述基础层,所述指令也可致使计算机对所述选定输出操作点执行第二位流符合性测试,所述第二位流符合性测试是基于所述基础VPS中的序列层级HRD参数的集合以及直接嵌套式SEI消息。响应于所述选定输出操作点对应于由所述活动VPS的VPS扩展规定的输出层集合(OLS)和所述OLS的时间子集中的一者,所述指令也可致使计算机对所述选定输出操作点执行第三位流符合性测试,所述第三位流符合性测试是基于所述活动VPS中的序列层级HRD参数的集合以及间接嵌套式SEI消息。
[0012] 本发明的其它特征和优点应从以实例方式说明本发明的各方面的以下描述显而易见。

附图说明

[0013] 本发明的实施例的关于其结构与操作两者的细节可通过研究附图而被部分地搜集,其中相同参考标号指代相同部分,且在附图中:
[0014] 图1是视频译码系统的功能框图;
[0015] 图2是图1的视频编码器的功能框图;
[0016] 图3是说明图1的视频解码器的框图;和
[0017] 图4是描述符合性测试实施方法的流程图。

具体实施方式

[0018] 一般来说,本发明描述与多层视频译码中的位流符合性和互操作性改进有关的系统和方法。所述方法中的一些包含用信号发送简档、层次和层级信息,用信号发送输出层集合,使用HRD参数,以及位流符合性测试。
[0019] 本发明标识当前HEVC规范关于用信号发送简档、层次和层级信息、用信号发送输出层集合、使用HRD参数以及位流符合性测试的某些缺点。这些缺点中的一些包含以下各项:
[0020] 可在视频参数集(VPS)的扩展部分中用信号发送除了第0输出层集合(OLS)以外的其它仅输出基础层的OLS的最优层次和层级。仅输出基础层的OLS是其中仅存在一个输出层且仅有输出层是基础层的OLS。不需要此类用信号发送,这是因为HEVC不需要针对在基础VPS中用信号发送的每一层集合而在VPS扩展中用信号发送仅输出基础层的OLS。替代地在基础VPS中用信号发送整个位流的简档、层次和层级信息。因而,从HEVC版本1的视角,在仅检查对整个位流的仅层次和层级的约束时,对所有操作点使用其自身HRD参数执行位流符合性测试是不理想的。这可允许除对应于整个位流的操作点以外的所有操作点的HRD参数在仍然满足符合性测试的同时远远“高于”最优。
[0021] HEVC允许在VPS扩展中用信号发送仅输出基础层的OLS。然而,基础VPS已经满足此类作用。因此,VPS扩展中的此类用信号发送是不必要,从而引起增加的开销。
[0022] HEVC标准不清楚非嵌套式和直接嵌套式缓冲周期(BP)、图片时序(PT)以及关于应选择哪些补充增强信息(SEI)消息以供在某些位流符合性测试中使用的解码单元信息(DUI)SEI消息的适用性。
[0023] 在位流符合性测试期间未清楚地规定简档、层次、层级(PTL)语法结构的使用。举例来说,缺失针对仅输出基础层的OLS的某些位流符合性测试。hrd_parameters()语法结构和BP、PT和DUI SEI消息的使用对于某些符合性测试来说是不清楚的。
[0024] 下文结合附图阐述的详细描述既定作为各种实施例的描述,且无意表示可实践本发明的仅有实施例。所述详细描述为了提供对实施例的透彻理解而包括特定细节。然而,所属领域的技术人员将在无这些具体细节的情况下明白本发明。在一些情况下,为描述的简洁起见,以简化形式示出众所周知的结构和组件。
[0025] 视频译码系统
[0026] 图1是视频译码系统的功能框图。视频译码系统(“系统”)10可使用根据本发明中描述的方面的方法。如本文中所描述地使用,术语“视频译码器”通常是指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”通常可指视频编码和视频解码。
[0027] 如图1中所示,系统10包含源装置12,所述源装置可以产生稍后将由目的地装置14进行解码的经编码视频数据。源装置12和目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”手机)、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置12和目的地装置14可经装备以用于无线通信。
[0028] 目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括使得源装置12能够实时地将经编码视频数据直接传输到目的地装置14的通信媒体。源装置12可根据例如无线通信协议的通信标准调制经编码视频数据,且将其传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成分组网络(例如,局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任一其它设备。
[0029] 可将经编码数据从输出接口22输出到存储装置34。类似地,可由目的地装置14的输入接口28从存储装置34存取经编码数据。存储装置34可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另一实例中,存储装置34可对应于可保存由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式传输或下载而从存储装置34存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置34的传输可为流式传输、下载传输或两者的组合。
[0030] 本发明的方法不必限于无线应用或设置。所述方法可应用于支持例如以下各项的多种多媒体应用中的任一者的视频译码:空中电视广播、有线电视传输、卫星电视传输、流式视频传输(例如,经由因特网)、对数字视频进行编码以存储于数据存储媒体上、对存储于数据存储媒体上的数字视频进行解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
[0031] 在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包含例如以下各项的源:视频捕获装置(例如,摄像机)、含有先前所捕获的视频的视频存档、用以从视频内容提供者接收视频的视频馈送接口和/或用于产生计算机图形数据以作为源视频的计算机图形系统,或此类源的组合。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中描述的方法一般可适用于视频译码,且可应用于无线和/或有线应用。
[0032] 视频编码器20可以对所捕获、预捕获或计算机产生的视频进行编码。另外,在一些实施例中,视频解码器30可基于第一位流的参数集ID和唯一参数集ID区分第一位流与第二位流。在其它实例中,源装置12的输出接口22可经由链路16将经编码视频数据直接传输到目的地装置14。经编码视频数据还可(或替代地)存储到存储装置34上以供稍后被目的地装置14或其它装置存取,以用于解码和/或重放。
[0033] 目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传送或提供于存储装置34上的经编码视频数据可包含由视频编码器20产生的多种语法元素以供例如视频解码器30的视频解码器在解码视频数据时使用。此类语法元素可与在通信媒体上传输、存储于存储媒体上或存储文件服务器的经编码视频数据包含在一起。
[0034] 显示装置32可与目的地装置14集成或者在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,并且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0035] 视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述方法部分地实施于软件中时,装置可将软件的指令存储于适合的非暂时性计算机可读媒体上并且使用一或多个处理器执行硬件中的指令以执行本发明的方法。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,其中的任一者可集成为相应装置中的组合式编码器/解码器(编码解码器)的一部分。
[0036] HEVC标准化努力是基于被称为HEVC测试模型(HM)的视频译码装置的进化的模型。HM假设视频译码装置相对于根据例如ITU-T H.264/AVC的现有装置的若干额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但HM可提供多达三十三种帧内预测编码模式。
[0037] 一般来说,HM的工作模型描述视频帧或图片可以分成包含明度和色度样本两者的树块或最大译码单元(LCU)序列。树块具有与H.264标准的宏块类似的目的。切片包含按译码次序的若干连续树块。视频帧或图片可以被分割成一或多个切片。每一树块可以根据四叉树拆分成译码单元(CU)。举例来说,作为四叉树的根节点的树块可拆分成四个子节点,且每一子节点又可为父代节点且可拆分成另外四个子节点。最后的未经拆分的子节点(作为四叉树的叶节点)包括译码节点,即经译码视频块。与经译码位流相关联的语法数据可界定树块可拆分的最大次数,且还可界定译码节点的最小大小。
[0038] CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小可介于从8×8像素到高达具有64×64像素或更大像素的最大值的树块的大小的范围内。每一CU可以含有一或多个PU和一或多个TU。举例来说,与CU相关联的语法数据可描述CU分割成一或多个PU。分割模式可在CU是被跳过还是经直接模式编码、帧内预测模式编码或帧间预测模式编码之间不同。PU可以分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据四叉树分割成一或多个TU。TU可为正方形或非正方形形状。
[0039] HEVC标准允许根据TU的变换,TU可针对不同CU而有所不同。可基于针对经分割LCU定义的给定CU内的PU的大小而对TU进行大小设定,但是情况可能并不总是如此。TU可与PU大小相同或小于PU。在一些实例中,可以使用被称为“残余四叉树”(RQT)的四叉树结构将对应于CU的残余样本细分成较小单元。RQT的叶节点可被称为变换单元(TU)。可以变换与TU相关联的像素差值以产生变换系数,所述变换系数可经量化。
[0040] 一般来说,PU包含与预测程序有关的数据。举例来说,当PU经帧内模式编码时,PU可以包含描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的运动向量的数据。举例来说,定义PU的运动向量的数据可以描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片和/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
[0041] 一般来说,TU用于变换和量化过程。具有一或多个PU的给定CU还可以包含一或多个变换单元(TU)。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差值,所述像素差值可变换成变换系数、经量化且使用TU进行扫描以产生串行化变换系数以用于熵译码。如本文所使用,术语“视频块”通常可指CU的译码节点。在一些特定情况下,本发明还可使用术语“视频块”指代包含译码节点以及PU和TU的树块,即LCU或CU。
[0042] 视频编码器20可产生包含经编码视频数据的位流。位流可包含一系列网络抽象层(NAL)单元。位流的NAL单元可包含视频译码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元可包含图片的经译码切片。非VCL NAL单元可包含VPS、序列参数集(SPS)、图片参数集(PPS)、SEI或其它类型的数据。VPS是可含有适用于0或大于0个完整经译码视频序列的语法元素的语法结构。SPS是可含有适用于0或大于0个完整经译码视频序列的语法元素的语法结构。单个VPS可适用于多个SPS。PPS为可含有适用于0或大于0个完整经译码图片的语法元素的语法结构。单个SPS可适用于多个PPS。VPS、SPS和PPS的各个方面可大体上如HEVC标准所定义地形成。视频编码器20可使用SEI消息以在位流中包含正确解码图片的样本值所不需要的元数据。然而,视频解码器30或其它装置可将包含于SEI消息中的元数据用于各种其它目的。举例来说,视频解码器30可将SEI消息中的元数据用于图片输出时序、图片显示、丢失检测和差错隐藏。
[0043] 高层级语法
[0044] NAL单元可含有由视频编码器20进行编码并且传输到视频解码器30的语法元素。描述位流的结构或提供适用于多个图片或适用于图片内的多个经译码块区域的信息的语法元素(例如参数集(例如,SPS、VPS、PPS等))、参考图片管理语法以及SEI消息被称为HEVC的“高层级语法”(HLS)部分。
[0045] 特定来说,HEVC采用与本发明相关的以下方面:
[0046] 参数集结构:参数集含有可被共享以用于对经解码视频的数个区域的解码的信息。参数集结构提供用于传达解码过程所必需的数据的稳固机制。
[0047] 补充增强信息(SEI):语法包含对被称为SEI的各种类型的元数据的支持。此类数据提供关于视频图片的时序的信息、对在视频信号中使用的色彩空间的适当解释、3-D立体帧填充信息、其它显示提示信息等。
[0048] 图2是图1的视频编码器的功能框图。视频编码器20可包含分割模块35,所述分割模块经配置以接收所捕获的视频数据并且将所述视频数据分割成视频块。分割模块35可将视频数据分割成切片、图块或其它较大单元。分割模块35也可例如根据LCU和CU的四叉树结构来分割视频块。视频编码器20可将切片分成多个视频块(并且可能分成被称为图块的视频块的集合)。
[0049] 视频编码器20也可具有可操作地耦合到分割模块35且经配置以接收经分割的视频数据的预测模块41。预测模块41可基于差错结果(例如,译码速率和失真的水平)选择多个可能的译码模式中的一者(例如,多个帧内译码模式中的一者或多个帧间译码模式中的一者)以用于当前视频块。预测模块41可允许视频编码器20执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减少或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或去除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指代若干基于时间的压缩模式中的任一者。
[0050] 预测模块41可包含运动估计模块42、运动补偿模块44和帧内预测模块46。这些组件中的每一者可以可操作地连接或集成在视频编码器20内的一或多个处理器中。虽然出于概念性目的单独地论述,但是运动估计模块42、运动补偿模块44和帧内预测模块46可高度集成。
[0051] 运动估计模块42可经配置以根据用于视频序列的预定模式确定用于视频切片的帧间预测模式。当前视频块相对于一或多个参考图片中的一或多个预测块的此类帧间预测或帧间预测译码可以提供时间压缩。预定模式可将序列中的视频切片标明为P切片、B切片或GPB切片。如本文所使用,运动估计通常可指产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考帧或参考图片内的预测块的位移。参考帧可存储在可操作地耦合到预测模块41的参考图片存储器64中。参考帧存储器64可进一步包含或在本文中被称为经解码图片缓冲器(DPB)。参考帧存储器64或DPB可在滤波器模块63对经重构译码块执行解块操作之后存储经重构的译码块。
[0052] 预测块是被发现在像素差方面与待译码视频块的PU密切匹配的块,所述像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,运动预测模块(“预测模块”)41可计算存储在参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,预测模块41可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计模块42可执行相对于全像素位置和分数像素位置的运动搜索并且输出具有分数像素精度的运动向量。
[0053] 运动估计模块42可通过比较PU的位置与参考图片的预测块的位置来计算经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一者标识存储在参考图片存储器64中的一或多个参考图片。运动估计模块42可将所计算的运动向量发送到运动补偿模块44和熵编码模块56。
[0054] 运动补偿可涉及基于通过运动估计确定的运动向量提取或产生预测块。这可包含到子像素精度的内插。在接收到当前视频块的PU的运动向量后,运动补偿模块44可在参考图片列表中的一者中定位运动向量指向的预测块。运动补偿模块44还可产生与视频块和视频切片相关联的语法元素以供视频解码器30在对视频切片的视频块进行解码时使用。
[0055] 预测模块41内的帧内预测模块46可执行当前视频块相对于同一帧或切片中的一或多个相邻块的帧内预测译码以提供空间压缩。作为对如上文所描述的通过运动估计模块42和运动补偿模块44执行的帧间预测的替代方案,帧内预测模块46可对当前块进行帧内预测。特定来说,帧内预测模块46可确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测模块46可例如在单独的编码遍次期间使用各种帧内预测模式对当前块进行编码。举例来说,帧内预测模块46可使用速率-失真分析计算各个经测试帧内预测模式的速率-失真值,并且从所述经测试模式当中选择具有最优速率-失真特性的帧内预测模式。速率-失真分析可确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(即,位数)。帧内预测模块46可从各个经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块呈现最优速率失真值。
[0056] 帧内预测模块46可将指示用于所述块的选定帧内预测模式的信息提供到熵编码模块56。熵编码模块56可对指示选定帧内预测模式的信息进行编码。视频编码器20可在传输的位流中包含配置数据,所述配置数据可包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也被称作码字映射表)、对各种块的编码上下文的定义,以及对将用于所述上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示。
[0057] 在预测模块41经由帧间预测或帧内预测产生用于当前视频块的预测块之后,视频编码器20通过从当前视频块减去预测块来形成残余视频块。此过程可产生像素差值。所述像素差值形成所述块的残余数据,并且可包含明度和色度差分量两者。可操作地耦合到预测模块41和分割模块35的求和器50表示可经配置以执行此减法运算的一或多个组件。
[0058] 残余块中的残余视频数据可包含在一或多个TU中且应用到可操作地耦合到求和器50的变换模块52。变换模块52可使用例如离散余弦变换(DCT)或概念上类似的变换的变换将残余视频数据变换成残余变换系数。变换模块52可将残余视频数据从像素域转换到变换域,例如频域。预测模块41可将所得的经帧内或帧间译码块提供到求和器50以产生残余块数据。所得的经帧内或帧间译码块可另外提供到求和器62以重构经编码块用作参考图片。
[0059] 视频编码器20也可包含可操作地耦合到求和器62的滤波器模块63。滤波器模块63可表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管滤波器模块63在图2中展示为环内滤波器,但在其它配置中,滤波器模块63可实施为环路后滤波器(post loop filter)。滤波器模块63可将参考图片提供到参考图片存储器64。
[0060] 变换模块52可将所得变换系数发送到量化模块54。量化模块54可对变换系数进行量化以进一步降低位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数修改量化的程度。在一些实例中,量化模块54接着可执行对包含对经量化变换系数的矩阵的扫描。在一些实施例中,熵编码模块56可执行所述扫描。
[0061] 在量化之后,熵编码模块56可对经量化的变换系数进行熵编码。举例来说,熵编码模块56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法。视频编码器20还可对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在解码视频数据时使用。
[0062] 在通过熵编码模块56进行熵编码之后,经编码位流可传输到视频解码器30。位流也可存档以用于稍后的传输或由视频解码器30检索。熵编码模块56还可对正被译码的当前视频切片的运动向量和其它语法元素进行熵编码。
[0063] 视频编码器20也可包含可操作地耦合到熵编码模块56的逆量化模块58。逆变换模块60也可以可操作地耦合到逆量化模块58和求和器62。逆量化模块58和逆变换模块60可分别应用逆量化和逆变换以在像素域中重构残余块,以供稍后用作参考图片的参考块。运动补偿模块44可通过将残余块添加到参考图片列表中的一者内的参考图片中的一者的预测块中来计算参考块。求和器62可将经重构的残余块添加到由运动补偿模块44产生的经运动补偿预测块以产生参考块用于存储在参考图片存储器64中。参考块可由运动估计模块42和运动补偿模块44用作参考块以对后续视频帧或图片中的块进行帧间预测。
[0064] 在一些实例中,视频编码器20产生位流。由视频编码器20产生的位流可包含可作为子位流从位流中提取的多个操作点。操作点可包含例如多个层和/或视图以及多个帧速率。视频编码器20可对指示VPS中的输出操作点的信息进行编码。在一些实例中,对于视频编码器20在VPS中用信号发送的与位流相关联的操作点中的每一者,操作点语法结构规定用以标识位流中的属于给定操作点的子位流的NAL单元的层标识符(ID)的集合。以此方式,可基于NAL单元的层标识符从原始位流提取组成给定操作点的子位流的NAL单元。
[0065] 在一些情况下,如下文更详细地论述,视频编码器20可进一步对与所述操作点中的一或多者有关的HRD参数进行编码。在此情况下,视频编码器20在VPS中用信号发送HRD参数信息。视频编码器20可含有HRD的实施方案以确保所产生的每一位流是相符位流。HRD实施方案也可为例如解码器(例如,视频解码器30)和位流分析器的其它实体的一部分以检查位流是否为相符位流。如下文更详细地论述,对于具有HRD参数的一或多个操作点中的每一者,HRD参数语法结构可规定定义用以检查给定操作点的子位流的符合性的HRD的HRD参数的集合。
[0066] 如本文所使用,操作点是通过将另一位流、目标最高temporal_ID和目标层标识符列表作为输入的子位流提取过程的操作从另一位流形成的位流。更具体来说,“操作点”是可从在时间上可缩放以及/或具有多个层和/或视图的原始位流中提取的子位流。也就是说,操作点是通过将另一位流、目标最高时间ID和目标层标识符列表作为输入的子位流提取过程的操作从另一位流形成的位流。所述位流包含一或多个视图,其包含操作点的一或多个视图。目标最高temporal_ID定义时间子集。目标层列表包含层的集合:针对操作点的待解码的层的集合,以及针对输出操作点的待输出的层的集合。输出操作点尤其是与输出层(即,在输出层集合中标识的层,其为待输出的层)的集合相关联。一般来说,每一位流可含有一或多个输出层集合。每一输出层集合可含有一或多个输出操作点。对每一输出操作点执行位流符合性测试以确保对应的子位流是相符位流。
[0067] 术语“层集合”用以指代待解码的层的集合。“层集合”类似于操作点,不同之处在于层集合并不与时间ID的特定值相关联。实情为,存在于所述层中的时间子层全部关于所述层集合。类似地,层集合可被称为与最高可能的时间ID相关联。因此,存在于所述层中的时间子层全部属于所述层集合。可以与可从位流导出操作点的方式相同的方式从位流导出层集合,其中最高时间ID为最高的可能值。
[0068] 术语“输出层集合”是指规定输出层的层集合。因此,虽然待解码的层的集合被规定为层集合,但是待输出的层的集合是针对输出层集合规定的。在一些实例中,输出层集合通过包含到对应的层集合的索引来标识对应的层集合,其中对应的层集合标识待解码的层。在其它实例中,输出层集合以某一其它方式标识对应的层集合。
[0069] 不为输出为目标的层集合中的层例如在用于层间(或视图间)预测时仍然可被解码。以输出为目标的层是待解码的层的子集:待解码的层中的一个、一些或全部可以输出为目标。应理解,术语“子集”不一定意味着待输出的层是待解码的层的严格的子集。也就是说,在一些实例中,待解码的层与待输出的层是相同的。因此,如上文所描述,输出层集合与输出操作点之间的区别类似于层集合与操作点之间的区别。
[0070] 可基于标识位流的输出操作点的层标识符(标识输出操作点的层)和时间子层标识符(标识输出操作点的时间子集)的值从位流中提取子位流。可在位流内的VPS中用信号发送输出操作点。对于操作点中的每一者,操作点语法结构规定用以标识位流中的属于给定操作点的子位流的网络抽象层(NAL)单元的层标识符的集合。以此方式,可基于NAL单元的层标识符和与输出操作点相关联最高时间ID从原始位流提取组成给定输出操作点的子位流的NAL单元。NAL单元是经译码视频数据的组分;经译码视频数据经组织成NAL单元。
[0071] 图3是说明图1的视频解码器的框图。出于解释的目的,本发明描述在HEVC译码的上下文中的视频解码器30。然而,本发明可适用于其它译码标准或方法。
[0072] 视频解码器30可包含熵解码模块70、预测模块71、逆量化模块76、逆变换模块78、求和器80、滤波器模块84和经解码图片缓冲器(DPB)82。预测模块71可包含运动补偿模块72和帧内预测模块74。在其它实例中,视频解码器30可包含更多、更少或不同功能组件。
[0073] 经译码图片缓冲器(CPB)90可接收且存储位流的经编码视频数据(例如,NAL单元)。熵解码模块70可从CPB 90接收NAL单元,且解析NAL单元以解码语法元素。熵解码模块70可对NAL单元中的经熵编码语法元素进行熵解码。预测模块71、逆量化模块76、逆变换模块78、求和器80和滤波器模块84可基于从位流提取的语法元素产生经解码视频数据。
[0074] 位流的NAL单元可包含经译码切片NAL单元。作为对位流进行解码的一部分,熵解码模块70可从经译码切片NAL单元提取语法元素并且对所述语法元素进行熵解码。经译码切片中的每一者可包含切片标头和切片数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包含标识与含有切片的图片相关联的PPS的语法元素。
[0075] 除了对来自位流的语法元素进行解码之外,视频解码器30还可对未经分割的CU执行重构操作。为了对未分割的CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构CU的残余块。
[0076] 作为对CU的TU执行重构操作的一部分,逆量化模块76可逆量化(即,解量化)与TU相关联的系数块。逆量化模块76可使用与TU的CU相关联的量化参数(QP)值确定量化的程度,以及同样地逆量化单元模块76将应用的逆量化的程度。也就是说,可通过调整在量化变换系数时所使用的QP的值来控制压缩比,即用以表示原始序列与经压缩序列的位的数目的比率。压缩比还可取决于所采用的熵译码的方法。
[0077] 在逆量化模块76逆量化系数块之后,逆变换模块78可将一或多个逆变换应用于系数块以便产生与TU相关联的残余块。举例来说,逆变换模块78可将逆DCT、逆整数变换、逆定向变换或另一逆变换应用于系数块。
[0078] 如果使用帧内预测对PU进行编码,那么帧内预测模块74可执行帧内预测以产生用于PU的预测块。帧内预测模块74可使用帧内预测模式,以基于空间上相邻的PU的预测块产生PU的预测性亮度、Cb和Cr块。帧内预测模块74可基于从位流解码的一或多个语法元素确定用于PU的帧内预测模式。
[0079] 预测模块71可基于从位流提取的语法元素来构建第一参考图片列表(RefPicList0)和第二参考图片列表(RefPicList1)。此外,如果使用帧间预测对PU进行编码,那么熵解码模块70可提取用于PU的运动信息。运动补偿模块72可基于PU的运动信息确定用于PU的一或多个参考区。运动补偿模块72可基于PU的一或多个参考块处的样本块产生用于PU的预测性亮度、Cb和Cr块。
[0080] 求和器80可在适当时使用与CU的TU相关联的亮度、Cb和Cr变换块以及CU的PU的预测性亮度、Cb和Cr块(即,帧内预测数据或帧间预测数据)来重构CU的亮度、Cb和Cr译码块。举例来说,求和器80可将亮度、Cb和Cr变换块的样本添加到预测性亮度、Cb和Cr块的对应的样本以重构CU的亮度、Cb和Cr译码块。
[0081] 滤波器模块84可为例如解块滤波器,并且执行解块操作以减小与CU的亮度、Cb和Cr译码块相关联的成块假象。视频解码器30接着可将CU的亮度、Cb和Cr译码块存储在经解码图片缓冲器82中。经解码图片缓冲器82可提供参考图片以用于后续运动补偿、帧内预测和呈现在显示装置(例如,图1的显示装置32)上。举例来说,视频解码器30可基于经解码图片缓冲器82中的亮度、Cb和Cr块对其它CU的PU执行帧内预测或帧间预测操作。因此,视频解码器30可从位流解码显著亮度系数块的变换系数层级,逆量化变换系数层级,对变换系数层级应用变换以产生变换块、至少部分基于变换块而产生译码块,且输出译码块以用于显示。
[0082] 子位流提取
[0083] 视频译码标准可包含支持子位流提取过程的各种特征。举例来说,位流的视频数据可分成层的集合。对于所述层中的每一者,较低层中的数据可在不参考任何较高层中的数据的情况下被解码。个别NAL单元仅封装单个层的数据。因此,可将封装位流的剩余的最高层的数据的NAL单元从位流去除,而不影响位流的剩余的较低层中的数据的可解码性。在SVC、SHVC和其它可缩放视频译码方法中,较高层可包含改进较低层中的图片的质量(质量可缩放性)、放大较低层中的图片的空间格式(空间可缩放性)或增加较低层中的图片的时间速率(时间可缩放性)的增强数据。在MVC、MV-HEVC和其它三维视频译码中,较高层可包含额外视图。
[0084] NAL单元可规定NAL单元的时间标识符。如果第一NAL单元的时间标识符小于第二NAL单元的时间标识符,那么可在不参考由第二NAL单元封装的数据的情况下解码由第一NAL单元封装的数据。
[0085] 位流的每一操作点与层标识符的集合和时间标识符相关联。层标识符的集合可标示为OpLayerIdSet,且时间标识符可标示为TemporalId。如果NAL单元的层标识符在操作点的层标识符的集合中,且NAL单元的时间标识符小于或等于所述操作点的时间标识符,那么所述NAL单元与所述操作点相关联。子位流是与操作点相关联的位流子集。子位流可包含与操作点相关联的每一NAL单元。子位流不包含不与操作点相关联的VCL NAL单元。
[0086] 假想参考解码器
[0087] 视频译码标准规定视频缓冲模型(其也被称为HRD)。HRD描述资料经缓冲以用于解码的方式和经解码资料经缓冲以用于输出的方式。举例来说,HRD描述视频译码系统10的CPB和DPB的操作。CPB和DPB可分别包括CPB 90(图3)和参考图片存储器64(图2)。在一些实施例中,所述DPB也可类似于DPB 82(图3)。CPB可为含有按HRD所规定的解码次序的存取单元的先进先出缓冲器。DPB为保存经解码图片以用于由HRD规定的参考、输出重排序或输出延迟的缓冲器。
[0088] 视频编码器20可用信号发送序列层级HRD参数的集合。序列层级HRD参数控制HRD的各个方面。序列层级HRD参数包含初始CPB去除延迟、CPB大小、位速率、初始DPB输出延迟和DPB大小。这些序列层级HRD参数在VPS和/或SPS中规定的hrd_parameters()语法结构中经译码。可在BP、PT或DUI SEI消息中规定图片层级或子图片层级HRD参数。
[0089] (例如操作点的)子位流可具有不同于其原始位流的帧速率和/或位速率。这是因为子位流可不包含一些图片和/或原始位流的一些数据。因此,如果视频解码器20以处理原始位流的特定速率从CPB和/或DPB去除数据以及如果视频解码器30以与处理子位流相同的速率从CPB和/或DPB去除数据,那么视频解码器30可从CPB和/或DPB去除太多或太少数据。因此,视频编码器20可用信号发送不同操作点的不同HRD参数的集合。在HEVC中,视频编码器20可在VPS中用信号发送HRD参数的集合,或视频编码器20可在SPS中用信号发送HRD参数的集合。
[0090] 在HEVC的某些版本中,仅选择VPS中的HRD参数的集合以用于HRD操作。也就是说,虽然可在SPS中提供HRD参数,但是HEVC视频解码器不选择SPS中的HRD参数的集合用于HRD操作。视频解码器30可解析和解码位流的VPS。因此,视频解码器30可解析和解码VPS的HRD参数的集合。这不管位流是否包含非基础层NAL单元都可能发生。
[0091] 视频编码器20可产生包含适用于图片序列的SPS的位流。在一些实施例中,SPS包含HRD参数的集合。HRD参数的集合适用于位流的具有匹配目标层标识符的集合的层标识符的集合的每一操作点。因此,SPS中的HRD参数的集合不被浪费,而是实际上可用于HRD操作。举例来说,装置可从VPS中的HRD参数的集合和SPS中的HRD参数的集合当中选择适用于特定操作点的HRD参数的集合。视频编码器20可至少部分地基于适用于特定操作点的HRD参数的集合执行位流符合性测试,其测试与特定操作点相关联的位流子集符合视频译码标准。
[0092] 视频编码器20、视频解码器30或另一类型的装置(例如内容递送网络(CDN)装置、媒体感知网络元件(MANE))可对操作点的子位流执行位流符合性测试。所述位流符合性测试可验证子位流符合视频译码标准,例如HEVC。
[0093] 在H.264/AVC和HEVC中,将位流符合性和解码器符合性规定为HRD规范的一部分。HRD模型规定用以确定位流是否符合标准的测试以及用以确定解码器是否符合标准的测试。虽然HRD被称为一种的解码器,但视频编码器20可使用HRD保证位流符合性,而视频解码器30可实际上不需要HRD。
[0094] 两种类型(即I型和II型)的位流子集经历HRD符合性。I型位流为仅含有用于位流中的所有存取单元的VCL 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语法元素。
[0095] 当装置(例如,视频编码器20)执行确定位流是否符合视频译码标准的位流符合性测试时,所述装置可选择位流的操作点。所述装置接着可确定适用于选定操作点的HRD参数的集合。所述装置可使用适用于选定操作点的HRD参数的集合配置HRD的行为。更特定来说,所述装置可使用适用的HRD参数的集合来配置HRD的特定组件的行为,例如假想流调度程序(HSS)、CPB、解码过程、DPB等。
[0096] 此外,所述装置可调用对CPB 90中的经译码视频数据进行解码的解码过程。所述解码过程可将经解码图片输出到DPB 82。在所述装置移动数据通过HRD时,所述装置可确定特定约束的集合是否保持被满足。举例来说,所述装置可确定在HRD对选定操作点的子位流进行解码时在CPB 90或DPB 82中是否会发生溢出或下溢状况。所述装置可以此方式选择和处理位流的每一操作点。如果没有位流的操作点会致使违反约束条件,那么所述装置可确定位流符合视频译码标准。
[0097] H.264/AVC和HEVC二者都规定两种类型的解码器符合性,即输出时序解码器符合性和输出次序解码器符合性。符合具体简档、层次和层级(PTL)的解码器(例如,视频解码器30)能够成功地解码符合视频译码标准(例如HEVC)的位流符合性要求的所有位流。如本文中所使用,“简档”通常可指位流语法的子集。可在每一简档内规定“层次”和“层级”。层次的级可为强加于位流中的语法元素的值的经规定的约束的集合。此类约束可为对各种值的简单限制。替代地,其可呈对值的算术组合的约束形式(例如,图片宽度乘以图片高度乘以每秒解码的图片的数目)。针对较低层次规定的层级比针对较高层次规定的层级受到更多约束。
[0098] HEVC标准基于视频数据的内容规定位流符合性测试的两个集合。位流符合性测试的第一集合是用于测试整个位流和其时间子集的符合性,而不管是否存在由活动VPS所规定的含有存在于整个位流中的VCL NAL单元的所有nuh_layer_id值的层集合。位流符合性测试的第二集合是用于测试由活动VPS规定的层集合和其时间子集的符合性。对于所有这些测试,当调用解码过程时,解码器仅解码基础层图片(即,具有等于0的nuh_layer_id的图片)且忽略其它图片。
[0099] 在基础VPS中用信号发送的层集合
[0100] 在一些实例中,视频编码器20可在VPS中用信号发送一或多个层集合。如由HEVC标准定义的VPS是含有适用于如由video_parameter_set_id语法元素的内容所确定的0或大于0的全部经译码视频序列的语法元素的语法结构,所述video_parameter_set_id语法元素发现于由seq_parameter_set_id语法元素所指代的SPS中,所述seq_parameter_set_id语法元素发现于由在每一切片片段标头中发现的pic_parameter_set_id语法元素所指代的PPS中。
[0101] 因为VPS适用于全部经译码视频序列,所以VPS包含不频繁发生改变的语法元素。某些版本的HEVC中的VPS、SPS和PPS机制使不频繁发生改变的信息的传输与经译码视频块数据的传输分离。在HEVC中,可针对每一参数集译码VPS、SPS或PPS的标识符(ID)。每一SPS包含SPS ID和VPS ID,每一PPS包含PPS ID和SPS ID,且每一切片标头包含PPS ID和可能地APS ID。因此,ID可用以标识用于不同情况的适当参数集。
[0102] VPS含有两个部分,即基础VPS和VPS扩展。如第一版本中定义的基础VPS含有与HEVC版本1兼容层有关的信息,以及对应于层集合的操作点。基础VPS也含有时间可缩放性信息,其包含最大数目的时间层。VPS扩展含有与除基础层以外的额外层有关的信息。
[0103] 在MV-HEVC WD8和SHVC WD6中,在基础VPS中用信号发送的所有层集合相当于其中仅有一个输出层是基础层的输出层集合(OLS)。这在本文中通常被称为“仅输出基础层的OLS”。一般来说,第0醇是仅输出基础层的OLS中的一者,然而,可存在也为仅输出基础层的OLS的其它OLS。这是因为符合在HEVC规范的附件A中定义的简档的视频解码器30和其对应的HRD仅解码基础层,忽略增强层,即使在解码OLS时在CPB操作中对增强层的所有位进行计数,情况仍会如此。
[0104] 在一些实例中,也允许在VPS扩展中用信号发送仅输出基础层的OLS。然而,由于这已经在基础VPS中实现,因此在VPS扩展中的此类用信号发送可相当于位的浪费。因此,在一些实施例中,HEVC标准可能不允许在VPS扩展中用信号发送仅输出基础层的OLS。
[0105] 另外,不管整个位流是否对应于在基础VPS中用信号发送的层集合,其还是相当于仅输出基础层的OLS。为方便起见,其中存在至少一个不为基础层的输出层的OLS在本文中通常被称为“并非仅输出基础层的OLS”。
[0106] 简档、层次、层级
[0107] PTL信息规定用于跨越各种具有类似功能要求的应用以可互操作方式实施标准(例如,HEVC)的符合性点。简档定义可在产生相符位流时使用的译码工具或算法的集合,而层级将约束置于位流的某些关键参数(对应于解码器处理负载和存储器能力)上。在最大取样率、最大图片大小、最大位速率、最小压缩比和DPB的能力方面建立层级限定,且经译码图片缓冲器(CPB)出于数据流管理目的在经压缩数据解码之前保存所述经压缩数据。在HEVC的设计中,确定存在仅在最大位速率和CPB能力方面具有不同要求的某些应用。
[0108] 所述简档对于所有仅输出基础层的OLS(包含对应于整个位流的OLS)是相同的。这即使在基础层是从外部提供时(在此情况下,不规定简档)仍为正确的。举例来说,在此情况下,基础VPS中的PTL语法结构仅含有所有零位。
[0109] 当基础层处于位流中时,在基础层的活动SPS的PTL语法结构中以及在活动VPS的第一PTL语法结构(也就是说,在活动VPS的基础部分中的PTL语法结构)中用信号发送用于所有仅输出基础层的OLS的简档。
[0110] 在基础层的活动SPS的PTL语法结构中和在活动VPS的第一PTL语法结构中用信号发送的层次和层级是用于整个位流,其可或可不对应于在VPS中用信号发送的层集合或OLS。然而,如上所述,整个位流可对应于仅输出基础层的OLS。
[0111] 在此实例中,基础VPS不含有用于其它用信号发送的仅输出基础层的OLS(包含仅在层集合中含有基础层本身的第0OLS)的层次和层级信息。因此,整个位流的层次和层级还将适用于除对应于整个位流的仅输出基础层的OLS以外但潜在地处于次优速率的仅输出基础层的OLS中的任一者。这可因为用于所述位流的层次和层级信息被标识。因此,对于整个位流的子集,所述层次和简档信息可为次优的。举例来说,整个位流的子集的最优层级可低于整个位流的最优层级。
[0112] 除了第0OLS以外,可在VPS扩展中用信号发送其它仅输出基础层的OLS的最优层次和层级信息,但这并非必需。这可因为不存在针对在基础VPS中用信号发送的每一层集合在VPS扩展中用信号发送一个仅输出基础层的OLS的要求。
[0113] 从HEVC版本1视角,使用其自身HRD参数以及用于整个位流的仅层次和层级信息的位流符合性测试并非最优。这可允许除对应于整个位流的操作点以外的所有操作点的HRD参数在仍然通过符合性测试的同时为次优的。因此,应考虑到对符合性测试的某些改变。这在下文结合图4进行描述。
[0114] hrd_parameters( )语法结构中的HRD参数
[0115] HEVC规定用以处置位速率波动以及在以恒定或几乎恒定的位速率进行传输时经压缩视频的变化的视频缓冲模型。因此,视频编码器20和视频解码器30可将数据缓存于分别使用HRD的CPB或DPB中。HRD描述资料经缓冲以用于解码的方式和经解码资料经缓冲以用于输出的方式。
[0116] HRD可用以检查各个操作点处的位流和解码器符合性。如上所述,操作点定义用于子位流提取的参数,其包含目标层列表和目标最高时间层。可规定特定位流的多个操作点。规定其输出层的操作点在本文中通常被称为输出操作点。
[0117] 在视频译码标准中,兼容位流必须可通过连接到视频编码器20的输出且由至少一预解码器缓冲器、解码器和输出/显示单元(例如,显示装置32)组成的HRD解码。
[0118] 位流在其可通过HRD解码而无缓冲器溢出或下溢的情况下为兼容的。缓冲器溢出在当缓冲器已满时仍有更多位放置到所述缓冲器中的情况下发生。缓冲器下溢在当将从缓冲器提取位以用于解码/重放时某些位不处于缓冲器中的情况下发生。
[0119] 视频编码器20可用信号发送HRD参数的集合以将约束强加到图片的经编码大小以及辅助决定必需的缓冲器大小和启动延迟。
[0120] 对于HRD,可使用两种类型的HRD参数集(NAL HRD参数和VCL HRD参数)。在一些实例中,通过hrd_parameters()语法结构(其可为SPS语法结构或VPS语法结构的一部分)用信号发送序列层级HRD参数集。
[0121] 在hrd_parameters()语法结构内部,仅三个语法元素与DPB操作有关。其它元素仅用于CPB操作。这三个DPB相关语法元素是:
[0122] fixed_pic_rate_general_flag[i],
[0123] fixed_pic_rate_within_cvs_flag[i],和
[0124] elemental_duration_in_tc_minus1[i],针对TemporalId的每一值的一个集合。
[0125] 当图片经交叉层对准(也就是说,每一存取单元(AU)具有针对层集合中的每一层的图片,且使用固定图片速率)时,适用于层集合的hrd_parameters()语法结构将适用于与层集合相关联的所有OLS。然而,在其它情况下,适用于层集合的hrd_parameters()语法结构可不适用于与除仅输出基础层的OLS外的层集合相关联的所有其它OLS。
[0126] 换句话说,有必要启用在VPS扩展中针对在VPS扩展中规定的OLS的hrd_parameters()语法结构的用信号发送。
[0127] 非嵌套式和直接嵌套式BP/PT/DUI SEI消息的适用性
[0128] SEI消息可含有关于视频图片的时序的信息、对在视频信号中使用的色彩空间的适当解释、3-D立体帧填充信息、其它显示提示信息等。BP、PT和DUI SEI消息含有图片层级和子图片层级HRD参数。非嵌套式BP、PT和DUI SEI消息可适用于整个位流,而不管其是否对应于在VPS中用信号发送的层集合或OLS。
[0129] 直接嵌套式BP、PT和DUI SEI消息是指直接含于可缩放嵌套SEI消息中而非间接嵌套的BP、PT和DUI SEI消息。间接嵌套式是指含于位流分割区嵌套SEI消息中继而含于可缩放嵌套SEI消息中的SEI消息。非嵌套式SEI消息是直接包含在SEI NAL单元中,其并非直接或间接嵌套式。
[0130] 根据HEVC版本1,直接嵌套式BP、PT和DUI SEI消息适用于对应于在基础VPS中用信号发送的层集合(其相当于仅输出基础层的OLS)的操作点。在一些实例中,直接嵌套式BP、PT和DUI SEI消息不适用于并非仅输出基础层的OLS,这是由于不存在通过直接嵌套这些SEI消息来使这些SEI消息与并非仅输出基础层的OLS相关联的方式。
[0131] 然而,在一些实例中,基于当前标准,非嵌套式和直接嵌套式BP、PT和DUI SEI消息的适用性并非清楚的。因此,通常不清楚应选择此类SEI消息中的哪些以供在某些位流符合性测试中使用。
[0132] 在一些实施例中,可为有利的是规定哪些SEI消息与何种符合性测试相关。因此,可选择直接嵌套式SEI消息以供与对应于仅输出基础层的OLS的操作点一起使用。在一些实施例中,可仅选择直接嵌套式SEI消息以供与对应于仅输出基础层的OLS的操作点一起使用。这可消除某些多义性。在一些其它实施例中,SEI消息可为BP、PT和DUI SEI消息中的一者。
[0133] 在一些实施例中,间接嵌套式SEI消息可应用于在VPS扩展中规定的并非仅输出基础层的OLS。在一些其它实施例中,间接嵌套式SEI消息可为BP、PT和DUI SEI消息中的一者。
[0134] 位流符合性测试
[0135] 在一些实例中,除了第0OLS以外,可在VPS扩展中用信号发送仅输出基础层的的OLS的最优层次和层级信息。在HEVC中,这可能不是必需的。这是因为视频编码器20无需在VPS扩展中针对在基础VPS中用信号发送的每一层集合用信号发送仅输出基础层的OLS。在基础VPS中,用信号发送PTL信息的仅一个集合,但可用信号发送多个hrd_parameters()结构,例如,一个hrd_parameters()结构针对每一仅输出基础层的OLS。因此,仅输出基础层的OLS的符合性点的位流符合性针对其自身HRD参数进行测试。然而,仅针对整个位流的层次和层级信息检查约束。这是在基础VPS中用信号发送的仅PTL信息,所述PTL信息由VPS基础所规定的所有仅输出基础层的OLS共享。现有要求接着可允许除对应于整个位流的操作点以外的所有操作点的HRD参数在仍然通过符合性测试的同时“高于”最优。在一些实例中,层次和层级信息提供HRD参数中的许多的上限。因而,整个位流的层次或层级可高于仅输出基础层的OLS的最优层次或层级。因此,对不同的仅输出基础层的OLS根据其相应内容实施位流符合性测试可为有利的。这可通过用信号发送不同的仅输出基础层的OLS的不同层次和层级信息来实现。
[0136] 在一些实施例中,可存在所实施的位流符合性测试的三个集合。位流符合性测试的第一集合是用于测试整个位流和其时间子集的符合性,而不管是否存在由含有存在于整个位流中的VCL NAL单元的所有nuh_layer_id值的活动VPS规定的层集合。位流符合性测试的第二集合是用于测试由活动VPS的基础部分(例如,VPS基础)规定的层集合和其时间子集的符合性。对于所有这些测试,在调用解码过程时,解码器仅解码基础层图片(即,具有等于0的nuh_layer_id的图片)且忽略其它图片。位流符合性测试的第三集合可经实施以用于测试由活动VPS的VPS扩展规定的OLS和所述OLS的时间子集的符合性。
[0137] 在一些实施例中,对一或多个输出操作点进行三个符合性测试。所述输出操作点可从构成位流的经译码视频数据选择和提取。在一些实施例中,所述输出操作点的选择是基于参数集(例如,SPS、VPS、PPS)的内容和位流的内容。
[0138] 在一些情况下,可通过选择层标识符列表(OpLayerIdList)和目标最高时间ID(OpTid)将选定输出操作点标识为受测试的输出操作点(还标示为“目标Op”)。所述层标识符列表包含存在于位流中的VCL NAL单元的所有层ID(nuh_layer_id)或包含由活动VPS规定的层集合的层ID。在此类实例中,第一或第二位流符合性测试中的一者应用于选定输出操作点。
[0139] 如上所述,第三位流符合性测试应用于由活动VPS的VPS扩展部分规定的OLS和其时间子集。对于位流符合性测试的第三集合中的每一测试,可以稍微不同于第一和第二位流符合性测试的方式选择一或多个输出操作点。通过标识VPS扩展中的目标OLS和OLS内的最高时间ID(HighestTid)来选择选定输出操作点(例如,受测试的输出操作点,或TargetOp)。
[0140] 图4是描述符合性测试实施方法的流程图。在框410处,译码系统10可接收包含多个输出操作点的经译码视频数据。经译码视频数据也可包含将针对输出操作点中的每一者输出哪些层的指示。所述指示可包含在参数集(例如,VPS、SPS)中。当输出操作点对应于整个位流或整个位流的时间子集;或由VPS基础规定的层集合或层集合的时间子集时,所述指示也可为隐式的。在隐式情况下,将仅输出基础层。在框415处,译码系统10可根据位流符合性测试提取待测试的输出操作点。可基于对OLS、OLS的时间子集、整个位流的时间子集的标识或以在VPS基础或VPS扩展中指示的其它方式选择所述输出操作点。包括视频编码器20和视频解码器30的一或多个处理器接着可对输出操作点(例如,经译码视频数据)基于其内容实施给定符合性测试。
[0141] 举例来说,在决策框420处,如果选定输出操作点对应于整个位流或整个位流的时间子集,其中仅基础层作为输出,那么方法400可移动到框430。在框430处,处理器(例如,HRD)可基于基础层的活动SPS中的序列层级HRD参数的集合和非嵌套式SEI消息(例如,BP、PT和DUI)对选定输出操作点执行第一位流符合性测试。可在活动SPS中的hrd_parameters()语法结构中规定序列层级HRD参数的集合。在一些实施例中,第一位流符合性测试可进一步基于活动SPS中的PTL语法结构。
[0142] 如果在决策框420处,选定输出操作点不对应于整个位流或整个位流的时间子集,其中仅基础层作为输出,那么方法400移动到决策框440。如果在决策框440处,选定输出操作点对应于由活动VPS基础规定的层集合或层集合的时间子集中的一者,其中将仅输出基础层,那么处理器可在框450处执行第二位流符合性测试。可基于基础VPS中的序列层级HRD参数的集合和直接嵌套式BP、PT或DUI SEI消息,对选定输出操作点执行第二位流符合性测试。可在活动的基础VPS中的hrd_parameters()语法结构中规定序列层级HRD参数的集合。
[0143] 如果在决策框440处,经译码视频数据不对应于由活动VPS的基础部分规定的层集合或层集合的时间子集中的一者,其中将仅输出基础层,那么经译码视频数据对应于由活动VPS的VPS扩展规定的OLS或OLS的时间子集中的一者,如在框460中所展示。在框470处,处理器(例如,HRD)可基于活动VPS的基础或扩展部分中的序列层级HRD参数的集合和间接嵌套式BP、PT或DUI SEI消息,对选定输出操作点执行第三位流符合性测试。可在活动VPS的基础或扩展部分中的hrd_parameters()语法结构中规定序列层级HRD参数的集合。因此,对于三种单独类型的符合性测试,用于不同类型的输出操作点的位流符合性测试以向后兼容HEVC版本1的规范的方式经清楚且有效地规定。
[0144] 在一些实施例中,对于在VPS扩展中规定的所有OLS当中的仅输出基础层的OLS(如果存在的话),使用活动VPS的基础部分中的适用hrd_parameters()语法结构,以及适用的直接嵌套式BP、PT和DUI SEI消息。现有语法和过程以向后兼容HEVC版本1的方式允许此情况,然而,在VPS扩展中规定的其它OLS并不允许此情况。
[0145] 应注意,如果并非仅输出基础层的OLS含有整个位流中的所有层,那么仍然可仅使用间接嵌套式BP、PT和DUI SEI消息,而不是非嵌套式BP、PT和DUI SEI消息,这是因为非嵌套式BP、PT和DUI SEI消息是针对含有整个位流中的所有层的仅输出基础层的OLS。
[0146] PTL语法结构的使用对于在VPS扩展中规定的所有OLS当中的仅输出基础层的OLS和并非仅输出基础层的OLS两者是相同的。使用基础VPS中的或VPS扩展中的最恰当地适用的PTL语法结构。
[0147] 应注意,如果并非仅输出基础层的OLS含有整个位流中的所有层,那么仍然可仅使用VPS中的PTL语法结构,而非基础层的活动SPS中的PTL语法结构,这是因为所述PTL语法结构是用于含有整个位流中的所有层的仅输出基础层的OLS。
[0148] 可使用多种不同技术和方法中的任一者来表示本文中所揭示的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个以上描述中参考的数据、指令、命令、信息、信号、位、符号以及码片。
[0149] 结合本文中所揭示的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为清晰地说明硬件与软件的此可互换性,上文已大体就其功能性描述了各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用和施加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为引起偏离本发明的范围。
[0150] 本文中所描述的实施例可实施于硬件、软件、固件或其任何组合中。此类实施例可实施于多种装置中的任一者中,例如通用目的计算机、无线通信装置手持机,或具有包含在无线通信装置手持机和其它装置中的应用的多个用途的集成电路装置。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述方法可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在执行时会执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等等。另外或替代地,所述方法可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式携载或传送程序代码且可由计算机存取、读取和/或执行,例如传播的信号或波。
[0151] 程序代码可由可包含一或多个处理器的处理器执行,所述处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效的集成或离散逻辑电路。此类处理器可经配置以执行本发明中所描述的方法和过程中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心,或任何其它此类配置。相应地,如本文所使用术语“处理器”可指上述结构中的任一者、上述结构的任何组合或适用于本文中所描述的方法的实施的任何其它结构或设备。另外,在一些方面,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入于组合式视频编码器-解码器(编码解码器)中。
[0152] 虽然本发明的实施例是在上文中针对特定实施例描述的,但是本发明的许多变化是可能的。举例来说,各种组件的数目可增加或减少,确定电源电压的模块和步骤可经修改以确定频率、另一系统参数或参数的组合。另外,可不同于上文所描述的那些组合的组合对各种实施例的特征进行组合。
[0153] 所属领域的技术人员将理解,结合本文中所揭示的实施例描述的各种说明性块和模块可以各种形式实施。上文已经大体上就其功能性描述了一些块和模块。如何实施此类功能性取决于施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为引起对本发明的范围的偏离。另外,模块、块或步骤内的功能的分组是为了易于描述。具体功能或步骤可从一个模块或块中移动或跨越模块或块分布而不会脱离本发明。
[0154] 提供对所揭示的实施例的先前描述以使得所属领域的技术人员能够制作或使用本发明的标的物。所属领域的技术人员将易于理解对这些实施例的各种修改,且可在不脱离本发明的精神或范围的情况下将本文中描述的一般原理应用到其它实施例。因此,应理解,本文中呈现的描述和图式表示本发明的当前优选的实施方案,且因此表示广泛地由本发明涵盖的标的物。进一步理解,本发明的范围充分涵盖对所属领域的技术人员来说可能显而易见的其它实施例,且本发明的范围因此仅受到所附权利要求书的限制。