缓冲周期及恢复点补充增强信息消息的制作方法

文档序号:14099779阅读:412来源:国知局
缓冲周期及恢复点补充增强信息消息的制作方法

技术领域

本发明涉及视频译码。



背景技术:

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

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

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



技术实现要素:

一般来说,本发明中描述的技术涉及视频译码中的经译码图片缓冲器移除时间的发信及导出。

在一实例中,本发明中描述的技术涉及一种用于解码视频数据的方法。所述方法可包含解码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息。所述方法可进一步包含从所述缓冲周期SEI消息解码在所述AU中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与第二DU的CPB移除时间之间的持续时间,其中所述AU具有等于0的TemporalId。所述方法还可包含至少部分基于所述经解码持续时间确定所述第一DU的移除时间。另外,所述方法可包含至少部分基于所述移除时间解码所述第一DU的视频数据。

在又一实例中,提供一种包括视频解码器的视频译码装置。所述视频解码器经配置以解码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息,及从所述缓冲周期SEI消息解码所述AU中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与第二DU的CPB移除时间之间的持续时间,其中所述AU具有等于0的TemporalId。所述视频解码器经进一步配置以至少部分基于所述经解码持续时间确定所述第一DU的移除时间,及至少部分基于所述移除时间解码所述第一DU的视频数据。

本文中描述的技术还包含一种具有存储于其上的指令的计算机可读存储媒体的一实例,所述指令当经执行时使用于译码视频数据的装置的处理器解码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息,及从所述缓冲周期SEI消息解码所述AU中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与第二DU的CPB移除时间之间的持续时间,其中所述AU具有等于0的TemporalId。所述指令可进一步使所述处理器至少部分基于所述经解码持续时间确定所述第一DU的移除时间,及至少部分基于所述移除时间解码所述第一DU的视频数据。

在另一实例中,本发明中描述的技术涉及一种视频解码装置。所述视频解码装置可包含用于解码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息的装置,及用于从所述缓冲周期SEI消息解码所述AU中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与第二DU的CPB移除时间之间的持续时间的装置,其中所述AU具有等于0的TemporalId。所述视频解码装置可进一步包含用于至少部分基于所述经解码持续时间确定所述第一DU的移除时间的装置,及用于至少部分基于所述移除时间解码所述第一DU的视频数据的装置。

在另一实例中,本发明中描述的技术涉及一种用于编码视频数据的方法。所述方法可包含确定存取单元(AU)中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与所述AU中的第二DU的CPB移除时间之间的持续时间,其中所述AU具有等于0的TemporalId。所述方法还可包含编码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息,其中所述持续时间经编码于所述缓冲周期SEI消息内。

在又一实例中,提供一种包括视频编码器的视频译码装置。所述视频编码器经配置以确定存取单元(AU)中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与所述AU中的第二DU的CPB移除时间之间的持续时间,其中所述AU具有等于0的TemporalId。所述视频编码器经进一步配置以编码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息,其中所述持续时间经编码于所述缓冲周期SEI消息内。

本文中描述的技术还包含一种具有存储于其上的指令的计算机可读存储媒体的一实例,所述指令当经执行时使用于译码视频数据的装置的处理器确定存取单元(AU)中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与所述AU中的第二DU的CPB移除时间之间的持续时间,其中所述AU具有等于0的TemporalId。所述指令进一步使所述处理器编码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息,其中所述持续时间经编码于所述缓冲周期SEI消息内。

在另一实例中,本发明中描述的技术涉及一种视频译码装置。所述视频译码装置可包含用于确定存取单元(AU)中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与所述AU中的第二DU的CPB移除时间之间的持续时间的装置,其中所述AU具有等于0的TemporalId。所述视频译码装置可进一步包含用于编码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息的装置,其中所述持续时间经编码于所述缓冲周期SEI消息内。

可一起或分开来实施此些实例技术。还依据经配置以实施所述技术的设备以及存储使一或多个处理器执行所述技术的指令的计算机可读存储媒体来描述本发明的技术。

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

附图说明

图1为说明可利用本发明中描述的技术的实例视频编码及解码系统的框图。

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

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

图4为说明可具有根据本发明中描述的技术确定的解码时间的按连续解码次序的两个存取单元(AU)的概念图。

图5为说明根据本发明中描述的技术的用于基于AU的第二解码单元(DU)的经译码图片缓冲器(CPB)移除时间确定所述AU中的第一DU的CPB移除时间的方法的流程图。

图6为说明根据本发明中描述的技术的用于基于存取单元的第二解码单元的经译码图片缓冲器(CPB)移除时间确定所述存取单元中的第一解码单元的CPB移除时间的另一方法的流程图。

图7为说明根据本发明中描述的技术的用于至少部分基于子图片时序SEI消息导出第一DU的CPB移除时间的方法的流程图。

图8为说明根据本发明中描述的技术的用于至少部分基于编码子图片时序SEI消息导出第一DU的CPB移除时间的另一方法的流程图。

图9为说明根据本发明中描述的技术的用于解码用于子图片层级经译码图片缓冲器参数的序列层级旗标的方法的流程图。

图10为说明根据本发明中描述的技术的用于编码用于子图片层级经译码图片缓冲器参数的序列层级旗标的方法的流程图。

图11为说明根据本发明中描述的技术的用于解码具有扩展定义的DU的方法的流程图。

图12为说明根据本发明中描述的技术的用于编码具有扩展定义的DU的方法的流程图。

图13为说明根据本发明中描述的技术的用于解码缓冲周期的方法的流程图。

图14为说明根据本发明中描述的技术的用于编码缓冲周期的方法的流程图。

图15为说明根据本发明中描述的技术的用于解码经译码图片缓冲器到达及标称移除时间的方法的流程图。

图16为说明根据本发明中描述的技术的用于编码经译码图片缓冲器到达及标称移除时间的方法的流程图。

具体实施方式

本发明描述用于视频译码中的经译码数据单元的经译码图片缓冲器(CPB)移除时间的具错误恢复性及有效率的发信及导出的技术。CPB移除时间也被称为解码时间。本发明提供用于确定独立于任一其它存取单元(AU)的移除时间的用于AU的解码单元(DU)的CPB移除时间的技术。举例来说,将基于AU中按解码次序的下一个DU与当前DU的CPB移除时间之间的持续时间或AU中的最后一个DU与当前DU的CPB移除时间之间的持续时间而发信用于AU的当前DU的CPB移除时间。在另一实例中,按利用在子图片时序补充增强信息(SEI)消息中携带的信息的方式指定CPB移除时间导出。发信按解码次序在AU中的最后一个DU与相关联于子图片时序SEI消息的DU的CPB移除时间之间的持续时间。

另外,根据本文中描述的技术,提供包含序列层级旗标的技术,所述序列层级旗标可经发信以指示子图片CPB参数存在于图片时序SEI消息或子图片时序SEI消息中的仅一者中但从不存在于两者中。旗标等于1指示子图片层级CPB移除延迟参数存在于图片时序SEI消息中,且不存在子图片时序SEI消息。旗标等于0指示子图片层级CPB移除延迟参数存在于子图片时序SEI消息中,且图片时序SEI消息不包含子图片层级CPB移除延迟参数。

本发明还提供用于扩展解码单元的定义的技术。本发明进一步提供用于限制缓冲周期SEI消息及恢复点SEI消息使得其不能与具有大于0的变量TemporalId的AU相关联的技术。变量TemporalId是从与每一AU相关联的语法元素导出。本发明还提供用于提供旗标以发信在AU层级还是子图片层级导出CPB移除时间的技术。

本文中描述的技术可应用于各种视频译码标准。视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(也被称为ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。

此外,存在正由ITU-T视频译码专家组(VCEG)与ISO/IEC动画专家组(MPEG)的关于视频译码的联合合作小组(JCT-VC)开发的新的视频译码标准,即,高效率视频译码(HEVC)。HEVC的最近工作草案(WD)为工作草案8,且在下文被称作HEVC WD8。Bross等人的高效率视频译码(HEVC)文字规范草案8(2012年7月,斯德哥尔摩)从2013年5月2日起可从http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip获得。

HEVC WD8被以引用的方式全部并入本文中。此外,虽然关于HEVC标准描述本发明中描述的技术,但本发明的方面不受如此限制,且可扩展到其它视频译码标准,以及专属视频译码技术。

视频编码器可产生包含经编码的视频数据的位流。位流可包括一系列网络抽象层(NAL)单元。位流的NAL单元可包含视频译码层(VCL)NAL单元及非VCL NAL单元。VCL NAL单元可包含图片的经译码切片。非VCL NAL单元可包含视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、补充增强信息(SEI)或其它类型的数据。VPS为可含有应用到零或多个全部经译码视频序列的语法元素的语法结构。SPS为可含有应用到零或多个全部经译码视频序列的语法元素的语法结构。单个VPS可应用于多个SPS。PPS为可含有应用到零或多个全部经译码图片的语法元素的语法结构。单个SPS可应用于多个PPS。一般来说,可如由HEVC标准所定义形成VPS、SPS及PPS的各种方面。

NAL单元可包含指示temporalId变量的值的语法元素。NAL单元的temporalId指定NAL单元的时间识别符。如果第一NAL单元的时间识别符小于第二NAL单元的时间识别符,那么可不参考由第二NAL单元封装的数据解码由第一NAL单元封装的数据。

每一视频译码标准通常包含视频缓冲模型的规范。在AVC及HEVC中,缓冲模型被称作假想参考解码器(HRD),其描述数据被缓冲以用于解码的方式及经解码的数据被缓冲以用于输出的方式。HRD包含经译码图片缓冲器(CPB)及经解码图片缓冲器(DPB)两者的缓冲模型。CPB为先进先出缓冲器,其按由HRD指定的解码次序含有存取单元。DPB为保持经解码图片以用于参考、输出重排序或由HRD指定的输出延迟的缓冲器。假想参考解码器参数以数学方式指定CPB及DPB的行为。HRD可直接对包含时序、缓冲器大小及位速率的不同参数强加约束,且可间接对位流特性及统计数据强加约束。在一些实例中,一组完整的HRD参数可包含五个基本参数:初始CPB移除延迟、CPB大小、位速率、初始DPB输出延迟及DPB大小。

在AVC及HEVC中,将位流一致性及解码器一致性指定为HRD规范的部分。虽然假想参考解码器的名称指一种解码器,但通常为了位流一致性在编码器侧需要HRD,而未必在解码器侧需要HRD。然而,本发明的方面不受如此限制,且HRD还可为解码器侧的部分。AVC及HEVC可指定两个类型的位流或HRD一致性,即,类型I及类型II。而且,AVC及HEVC指定两个类型的解码器一致性:输出时序解码器一致性及输出次序解码器一致性。

在AVC及HEVC HRD模型中,解码或CPB移除是基于存取单元,且所述标准假定图片解码为瞬时的。在实际应用中,如果相符的解码器严格遵照经发信(例如,在补充增强信息(SEI)消息中)的解码时间以开始解码存取单元,那么输出特定经解码图片的最早可能时间等于所述特定图片的解码时间加上解码所述特定图片所需要的时间。即,输出经解码图片的最早时间为解码时间加上用以解码图片的时间。然而,在现实世界中,解码图片所需要的时间无法等于零。

在HEVC WD8中,假想参考解码器(HRD)被指定于附录C中。HRD依赖于HRD参数,HRD参数可在位流中提供于hrd_parameters()语法结构(在视频参数集(VPS)及/或序列参数集(SPS)中)、缓冲周期SEI消息及图片时序SEI消息中。2012年9月24日申请的第61/705,102号美国临时申请案提议了HRD参数的增强发信及选择。

可存在与用于CPB移除时间(也被称为解码时间)的发信及导出的现有方法相关联的问题。以下描述此些问题中的一些。

当用于存取单元内的解码单元的CPB移除时间取决于来自先前存取单元的时序信息时,解码单元CPB移除时间可能不为具错误恢复性的。存取单元可包括一或多个解码单元。可针对AU中的每一DU确定移除时间。可针对AU及针对AU内的一或多个DU发信CPB移除时间。用于AU的SEI消息可包含用于AU自身的CPB移除时间,其还对应于用于AU内的最后一个DU的CPB移除时间。

经译码图片缓冲器可在两个层级上操作:存取单元层级及子图片层级。当CPB在子图片层级操作时(即,当SubPicCpbFlag等于1时),在丢失来自按解码次序的先前AU的信息的情况下,基于图片时序SEI消息的解码单元(DU)CPB移除时间的发信及导出可能不为具错误恢复性的。举例来说,针对当前AU发信的时序信息包含在当前AU中的第一DU与先前AU中的最后一个DU的CPB移除时间之间的持续时间。因此,如果用于先前AU中的最后一个DU的时序信息丢失,那么解码器不能确定用于当前AU中的第一DU的移除时间,这是因为用于第一DU的移除时间取决于丢失的时序信息。

换句话说,当前AU中的第一解码单元与按解码次序的先前AU中的最后一个DU的CPB移除时间之间的持续时间的发信以及此发信在CPB移除时间导出中的使用使系统或译码器易受到丢失时序信息的影响。举例来说,如果丢失先前AU的CPB移除信息(即,图片时序SEI消息),那么不能正确地导出当前AU中的第一DU的CPB移除时间。此外,除了当前AU的最后一个DU(其CPB移除时间经导出为等于当前AU的CPB移除时间)之外,当前AU中的所有其它DU的CPB移除时间中的每一者依赖于按解码次序的先前DU的CPB移除时间。因此,如果以上丢失发生,那么不能正确地导出当前AU中的每一个DU的CPB移除时间(除了最后一个DU之外)。

相比之下,本文中描述可减少系统或译码器对于丢失时序信息的易损性。举例来说,提供用于确定独立于任一其它存取单元的移除时间的用于AU的DU的经译码图片缓冲器移除时间的技术。举例来说,视频编码器将基于当前DU与AU中按解码次序的下一个DU的CPB移除时间或AU中的最后一个DU的CPB移除时间之间的持续时间而在图片时序SEI消息中发信待由视频解码器接收的用于AU的DU的CPB移除时间。因此,本发明描述用于视频译码中的经译码数据单元的CPB移除时间的更具错误恢复性及有效率的发信及导出的技术,这是因为用于AU中的每一DU的时序信息不取决于来自另一不同AU的时序信息。

与用于发信及导出CPB移除时间的现有方法相关联的另一问题为可能不利用子图片时序SEI消息中的时序信息,即使其存在也是如此。举例来说,可存在携带DU CPB移除延迟信息的子图片时序SEI消息。然而,按视频解码器始终利用图片时序SEI消息且从不利用子图片时序SEI消息的方式指定子图片层级CPB操作。因此,用以表示子图片时序SEI消息的位可能被浪费。此外,在子图片时序SEI消息中发信的DU CPB移除延迟为相关联的DU的CPB移除时间与相关联于缓冲周期SEI消息的先前AU的第一DU的CPB移除时间之间的差。虽然此可为稍微具错误恢复性的,但其还可能不具有效率,因为时间差可为有效值。

然而,本发明中提供用于按可利用在子图片时序补充增强信息(SEI)消息中携带的信息的方式指定CPB移除时间导出的技术。举例来说,按可利用在子图片时序SEI消息中携带的信息的方式指定CPB移除时间导出,且视频编码器可发信AU中按解码次序的最后一个DU与相关联于子图片时序SEI消息的DU的CPB移除之间的持续时间,从而使编码器发信及解码器导出更有效率及错误恢复性。

与用于CPB移除时间的发信及导出的现有方法相关联的另一问题为,在图片时序SEI消息及子图片时序SEI消息两者中皆可存在用于同一功能性的子图片层级CPB参数。可提供所述功能性以支持基于子图片的CPB操作。针对同一功能性复制此些参数可为效率低下的。可能的情况为:在任一类型的SEI消息中的仅一组子图片层级CPB参数就为足够的。本文中描述配置视频编码器以提供序列层级旗标的技术,所述序列层级旗标可经发信以指示子图片CPB参数存在于图片时序SEI消息或子图片时序SEI消息中的仅一者中但非两者中。透过使用此序列层级旗标,视频解码器确定在图片时序SEI消息中还是在子图片时序SEI消息中找到子图片CPB参数,例如,子图片层级CPB移除延迟参数。

与用于CPB移除时间的发信及导出的现有方法相关联的又一问题为,解码单元的定义未考虑nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非VCL NAL单元。因此,当此些非VCL NAL单元中的一些存在时,可能发生意料之外的子图片层级CPB行为。相比之下,本发明提供用于扩展解码单元的定义以包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非VCLNAL单元的技术。

与用于CPB移除时间的发信及导出的现有方法相关联的另一潜在问题为,缓冲周期SEI消息及恢复点SEI消息可与具有时间识别值(TemporalId)的任一值的AU相关联。因此,编码器可在具有大于0的TemporalId的AU处初始化HRD。在此情况下,当支持时间可缩放性时,在同一缓冲周期中的具有较小TemporalId值的AU的CPB移除时间可取决于具有较大TemporalId值的AU中的信息。然而,为了使时间可缩放性起作用,任一AU的解码过程不得取决于具有较大TemporalId的另一AU。本发明进一步提供用于限制缓冲周期SEI消息及恢复点SEI消息使得其不能与具有大于0的TemporalId的AU相关联的技术。

时间识别值(TemporalId)可为指示哪些图片可用于译码当前图片的阶层值。一般来说,具有特定TemporalId值的图片可能为具有相等或较大TemporalId值的图片的参考图片,但并不反之亦然。举例来说,具有TemporalId值1的图片可能为具有TemporalId值1、2、3......的图片的参考图片,但并非具有TemporalId值0的图片的参考图片。

最低TemporalId值还可指示最低显示速率。举例来说,如果视频解码器仅解码具有TemporalId值0的图片,那么显示速率可为每秒7.5个图片。如果视频解码器仅解码具有TemporalId值0及1的图片,那么显示速率可为每秒15个图片,等等。

与用于CPB移除时间的发信及导出的现有方法相关联的再一潜在问题为,在CPB移除时间导出过程中,当sub_pic_cpb_params_present_flag等于1时,CPB移除时间的导出将最后到达时间及标称移除时间用于SubPicCpbFlag等于0(当CPB在AU层级操作时)的情况及SubPicCpbFlag等于1(当CPB在子图片层级操作时)的情况两者。然而,可针对两个情况中的仅一者(例如,对于SubPicCPBFlag等于0或对于SubPicCPBFlag等于1)导出用于最后到达时间及标称移除时间的那些所使用的值,且因此那些所使用的值不可用于另一情况。本文中描述的技术提供旗标以发信解码器将在AU层级还是子图片层级导出CPB移除时间。举例来说,根据本文中描述的技术,解码器与SubPicCpbFlag的值无关地针对AU层级及子图片层级两者导出CPB到达时间及标称移除时间,而解码器当SubPicCpbFlag等于0时仅针对AU层级导出CPB移除时间且当SubPicCpbFlag等于1时仅针对子图片层级导出CPB移除时间。如本文中所描述,CPB标称移除时间可为用于CPB移除时间的默认值。在具有典型条件的一些实例中,CPB移除时间等于CPB标称移除时间。然而,在某些条件下,其不同,且CPB移除时间可稍不同于默认值。

本发明中描述的以下技术可解决以上描述的问题。举例来说,本发明中描述的技术可提供对经译码图片缓冲器移除时间的更具错误恢复性的确定。此外,除了改进的错误恢复性之外,所述技术还可促进发信效率,从而减小带宽、减少发信额外负担且增加译码效率。而且,本发明中描述的技术可允许适当的时间可缩放性。

举例来说,此些技术可包含确定独立于任一其它存取单元(AU)的移除时间的用于存取单元的解码单元(DU)的经译码图片缓冲器移除时间。举例来说,将基于当前DU与AU中按解码次序的下一个DU的CPB移除时间或AU中的最后一个DU的CPB移除时间之间的持续时间而发信用于AU的DU的CPB移除时间。根据本文中描述的技术,所述技术还可包含发信序列层级旗标以控制子图片CPB参数在图片时序SEI消息或子图片时序SEI消息中的仅一者中的存在。所述技术还可包含扩展解码单元的定义。额外技术提供限制缓冲周期SEI消息及恢复点SEI消息,使得其不能与具有大于0的变量TemporalId的AU相关联。所述技术还可包含提供旗标以发信在AU层级还是子图片层级导出CPB移除时间。

以下更详细地描述用于此些技术的实施的细节。未提到的其它部分可与HEVC WD8中相同。

图1为说明可利用本发明中描述的技术的实例视频编码及解码系统10的框图。如在图1中所示,系统10包含源装置12,其产生将在稍后时间由目的地装置14解码的经编码的视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任何者,包含桌上型计算机、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”手机)、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置12及目的地装置14可经配备以进行无线通信。

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

经俘获、预先俘获或计算机产生的视频可由视频编码器20编码。经编码的视频数据可经由源装置12的输出接口22直接发射到目的地装置14。经编码的视频数据还可(或替代性地)存储到存储装置32上,供目的地装置14或其它装置稍后存取,用于解码及/或重放。

目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些情况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码的视频数据。经由链路16传达或在存储装置32上提供的经编码的视频数据可包含由视频编码器20产生以供例如视频解码器30等视频解码器在解码视频数据时使用的各种各样的语法元素。此些语法元素可与在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码的视频数据包含在一起。

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

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

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

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

视频编码器20及视频解码器30可根据视频压缩标准(例如,目前由ITU-T视频译码专家组(VCEG)与ISO/IEC动画专家组(MPEG)的关于视频译码的联合合作小组(JCT-VC)开发中的高效率视频译码(HEVC)标准)操作。视频编码器20及视频解码器30可根据HEVC WD8操作。替代性地,视频编码器20及视频解码器30可根据例如以下各者的其它专属或工业标准操作:ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展,或此些标准的扩展。然而,本发明的技术不限于任一特定译码标准。

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

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

JCT-VC正致力于HEVC标准的开发。HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的演进模型。HM假设了视频译码装置的相对于根据(例如)ITU-T H.264/AVC的现有装置的若干额外能力。举例来说,H.264提供九个帧内预测编码模式,而HM可提供多达三十三个帧内预测编码模式。

一般来说,HM的工作模型描述了视频帧或图片可被分成包含明度及色度样本两者的一连串树块或最大译码单元(LCU)。树块具有与H.264标准的宏块类似的用途。切片包含按译码次序的许多连续树块。视频帧或图片可被分割成一或多个切片。每一树块可根据四叉树分裂成译码单元(CU)。举例来说,作为四叉树的根节点的树块可分裂成四个子节点,且每一子节点又可为父节点且分裂成另外四个子节点。作为四叉树的叶节点的最后未分裂子节点包括译码节点,即,经译码视频块。与经译码的位流相关联的语法数据可定义树块可被分裂的最大次数,且还可定义译码节点的最小大小。

CU包含译码节点及预测单元(PU)及与所述译码节点相关联的变换单元(TU)。CU的大小通常对应于译码节点的大小且在形状上通常为正方形。CU的大小可在从8x8个像素直到具有最大64x64个像素或更大的树块的大小的范围中。每一CU可含有一或多个PU及一或多个TU。与CU相关联的语法数据可描述(例如)将CU分割成一或多个PU。分割模式在CU被跳过或直接模式编码、帧内预测模式编码或是帧间预测模式编码之间可不同。可将PU分割成非正方形形状。与CU相关联的语法数据还可描述(例如)根据四叉树将CU分割成一或多个TU。TU可为正方形或非正方形形状。

HEVC标准允许根据TU的变换,对于不同CU,TU可不同。通常基于在针对分割的LCU定义的给定CU内的PU的大小来设定TU的大小,但情况并非总是如此。TU通常大小与PU相同或小于PU。在一些实例中,可使用被称为“残余四叉树”(RQT)的四叉树结构,将对应于CU的残余样本再分成较小单元。RQT的叶节点可被称作变换单元(TU)。与TU相关联的像素差值可经变换以产生变换系数,其可经量化。

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

一般来说,将TU用于变换及量化过程。具有一或多个PU的给定CU还可包含一或多个变换单元(TU)。在预测后,视频编码器20可根据PU从由译码节点识别的视频块计算残余值。接着更新译码节点以参考残余值,而非原始视频块。残余值包括可使用变换及TU中指定的其它变换信息变换成变换系数、量化及扫描以产生用于熵译码的串行化变换系数的像素差值。可再一次更新译码节点以参考此些串行化变换系数。本发明通常使用术语“视频块”来指代CU的译码节点。在一些特定情况下,本发明还可使用术语“视频块”来指代树块(即,LCU或CU),其包含译码节点及PU及TU。

视频序列通常包含一系列视频帧或图片。图片群组(GOP)通常包括视频图片中的一系列的一或多者。GOP可在GOP的标头、图片中的一或多者的标头中或在其它处包含语法数据,所述语法数据描述包含于GOP中的图片的数目。图片的每一切片可包含描述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块操作以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据所指定译码标准而在大小方面不同。

作为一实例,HM支持按各种PU大小的预测。假定,特定CU的大小为2Nx2N,HM支持按2Nx2N或NxN的PU大小的帧内预测,及按2Nx2N、2NxN、Nx2N或NxN的对称PU大小的帧间预测。HM还支持用于按2NxnU、2NxnD、nLx2N及nRx2N的PU大小的帧间预测的不对称分割。在不对称分割中,CU的一方向未分割,而另一方向被分割成25%及75%。CU的对应于25%分割区的部分由“n”后跟着“上”、“下”、“左”或“右”的指示来指示。因此,举例来说,“2NxnU”指代在水平方向上分割为顶部2Nx0.5N PU及底部2Nx1.5N PU的2Nx2N CU。

在本发明中,“NxN”与“N乘N”可被互换使用以指代视频块的就垂直及水平维度而言的像素尺寸,例如,16x16个像素或16乘16个像素。一般来说,16x16块将在垂直方向上具有16个像素(y=16)且在水平方向上具有16个像素(x=16)。同样地,NxN块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。可按行及列布置块中的像素。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包括NxM个像素,其中M未必等于N。

在使用CU的PU的帧内预测性或帧间预测性译码后,视频编码器20可计算由CU的TU指定的变换所应用于的残余数据。残余数据可对应于未编码的图片的像素与对应于CU的预测值之间的像素差。视频编码器20可形成用于CU的残余数据,且接着变换残余数据以产生变换系数。

在进行任何变换以产生变换系数后,视频编码器20可执行变换系数的量化。量化通常指代变换系数经量化以可能地减少用以表示系数的数据量从而提供进一步压缩的过程。量化过程可减小与所述系数中的一些或所有者相关联的位深度。举例来说,在量化期间可将n位值降值舍位到m位值,其中n大于m。

在一些实例中,视频编码器20可利用预定义的扫描次序来扫描经量化的变换系数,以产生可经熵编码的串行化的向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描了经量化的变换系数以形成一维向量后,视频编码器20可熵编码一维向量,例如,根据上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法。视频编码器20还可熵编码与经编码的视频数据相关联的语法元素,以供视频解码器30在解码视频数据时使用。

为了执行CABAC,视频编码器20可将在上下文模型内的上下文指派到待发射的符号。上下文可涉及(例如)符号的相邻值是否为非零。为了执行CAVLC,视频编码器20可选择用于待发射的符号的可变长度码。在VLC中的码字可经建构,使得相对较短码对应于较可能的符号,而较长码对应于较不可能的符号。以此方式,相较于(例如)将相等长度码字用于待发射的每一符号,对VLC的使用可达成位节省。概率确定可基于指派到符号的上下文。

在一些实例中,视频编码器20及视频解码器30可经配置以实施本发明中描述的一或多个实例技术。视频编码器20可按被分解成一或多个解码单元的存取单元的形式编码视频数据。此些存取单元可临时存储于经译码图片缓冲器中。视频解码器30可基于包含于用于相应AU或DU的语法元素中的时序信息来提取DU以用于按解码次序解码。

根据本发明中描述的技术,术语“解码单元”可被定义如下。解码单元为存取单元或存取单元的子集。如果语法元素SubPicCpbFlag等于0,那么解码单元为存取单元。否则,DU包含AU中的一或多个VCL NAL单元及相关联的非VCL NAL单元。如果非VCL NAL单元具有等于UNSPEC0、EOS_NUT、EOB_NUT、FD_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的nal_unit_type,那么非VCL NAL单元与按解码次序的最近先前VCL NAL单元相关联,否则,非VCL NAL单元与按解码次序的第一个随后VCL NAL单元相关联。为了根据本文中描述的技术正确地考虑非VCL NAL单元,DU可经定义以考虑nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非VCL NAL单元。

根据本发明中描述的技术,术语“操作点”可被定义如下。通过一组nuh_reserved_zero_6bits值(表示为OpLayerIdSet)及TemporalId值(表示为OpTid)及被导出为子位流提取过程(如在HEVC WD8的子条款10.1中所指定)的输出的相关联的位流子集来识别操作点。语法元素OpTid及OpLayerIdSet可充当输入且可被独立地解码。

根据本文中描述的技术产生的位流的一些实例可具有位流一致性层级。HEVC WD8的子条款10.1描述了位流一致性的要求可为:具有等于0到6的范围中的任何值(包含0及6)的tIdTarget及具有含有值0的targetDecLayerIdSet的包含于在子条款10.1中指定的过程的输出中的任何子位流可符合HEVC。

在一些实例中,相符的位流可含有一或多个经译码切片NAL单元,其具有等于0的nuh_reserved_zero_6bits及等于0的TemporalId。

到本文中描述的过程的输入可为变量tIdTarget及列表targetDecLayerIdSet。输出包含子位流。可通过从位流移除TemporalId大于tIdTarget或nuh_reserved_zero_6bits不在targetDecLayerIdSet中的值间的所有NAL单元来导出子位流。

每一NAL单元可与标头信息相关联。对于NAL单元标头语义,可指定以下内容。在解码期间,解码器30可忽略(例如,从位流移除及舍弃)使用nal_unit_type的保留值的所有NAL单元的内容。在如在HEVC WD8的附录C中指定的HRD操作中,取决于测试中的选定操作点,可在CPB到达及移除时间的导出中考虑具有nal_unit_type的保留值的NAL单元,但在解码期间,其可被安全地忽略(移除及舍弃)。

在解码期间,解码器可忽略(例如,从位流移除及舍弃)具有不等于0的nuh_reserved_zero_6bits值的所有NAL单元。在如在HEVC WD8的附录C中指定的HRD操作中,取决于测试中的选定操作点,可在CPB到达及移除时序的导出中考虑具有nuh_reserved_zero_6bits的保留值的NAL单元,但在解码期间,其可被安全地忽略(移除及舍弃)。

经译码图片缓冲器到达时间及移除时间可基于两个层级:存取单元层级及子图片层级。视频译码器(例如,视频编码器20或视频解码器30)可经配置以针对存取单元层级及子图片层级两者导出CPB到达时间及CPB标称移除时间,而与定义DU是否为AU(例如,AU是否包含仅一个DU)的语法元素的值无关。语法元素可为SubPicCpbFlag,其将被针对每一AU发信。如上所论述,当SubPicCpbFlag等于0时,DU组成整个AU。否则,当SubPicCpbFlag等于非零值时,DU包含AU中的一或多个VCLNAL单元及相关联的非VCL NAL单元。在一些实例中,视频译码器可经配置以当语法元素指示DU为AU时还针对AU层级导出CPB移除时间。在此些实例中的一些中,视频译码器可经配置以当语法元素指示DU为AU时仅针对AU层级导出CPB移除时间。

在一些实例中,视频译码器(例如,视频编码器20或视频解码器30)可经配置以还当语法元素指示DU不为AU时针对子图片层级导出CPB移除时间。在此些实例中的一些中,视频译码器可经配置以当语法元素指示DU不为AU时仅针对子图片层级导出CPB移除时间。

视频译码器可经配置以当第二语法元素指定存在子图片层级CPB移除延迟参数且CPB可在AU层级或子图片层级操作时导出CPB到达时间及CPB标称移除时间。第二语法元素可为sub_pic_cpb_params_present_flag。当sub_pic_cpb_params_present_flag等于1时,存在子图片层级CPB移除延迟参数,且CPB可在存取单元层级或子图片层级操作,且当sub_pic_cpb_params_present_flag等于0时,不存在子图片层级CPB移除延迟参数,且CPB在存取单元层级操作。

在sub_pic_cpb_params_present_flag等于1的实例中的一些中,视频译码器可经配置以设定变量subPicParamsPresentFlag等于0,且导出AU初始及最后到达时间。接着,视频译码器可经配置以设定变量subPicParamsPresentFlag等于1,且针对在AU内的DU导出DU初始及最后到达时间。

此外,在一些实例中,视频译码器(例如,视频编码器20或视频解码器30)可经配置以译码(例如,编码或解码)存取单元中的第一解码单元与所述存取单元中的第二DU的CPB移除之间的持续时间。在此实例中,第二DU按解码次序在第一DU之后,且与所述DU在相同的AU中。视频译码器可经配置以至少基于所述经译码持续时间而确定所述第一DU的移除时间。在一些技术中,视频译码器可在不译码初始CPB移除延迟及偏移的情况下确定所述第一DU的移除时间。在一些实例中,第二DU在存取单元中紧跟在第一DU之后。在一些实例中,第二DU按解码次序为存取单元中的最后一个DU。

视频译码器(例如,视频编码器20或视频解码器30)还可经配置以译码子图片层级CPB参数。在此些实例中,视频译码器可基于经译码持续时间及子图片层级CPB参数中的至少一者而确定第一DU的移除时间。举例来说,子图片层级CPB参数可为与第一DU相关联的子图片时序SEI消息。在一些实例中,视频译码器可在子图片SEI消息中译码AU中的按解码次序的最后一个DU与第一DU的移除时间之间的持续时间。在一些实例中,视频译码器可译码序列层级旗标以指示子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。

举例来说,视频编码器20可经配置以编码AU中的第一DU与AU中的第二DU的CPB移除之间的持续时间。视频编码器20可在图片时序SEI消息或子图片时序SEI消息中的一者中编码子图片层级CPB参数,例如,子图片层级CPB移除延迟参数。视频编码器20可编码旗标sub_pic_cpb_params_in_pic_timing_sei_flag以指示子图片层级CPB参数存在于图片时序SEI消息还是子图片时序SEI消息中。

举例来说,视频解码器30可解码AU中的第一DU与AU中的第二DU的CPB移除之间的持续时间。视频解码器30可经配置以至少基于所述经解码持续时间而确定所述第一DU的移除时间。在一些技术中,视频译码器可在不解码初始CPB移除延迟及偏移的情况下确定所述第一DU的移除时间。视频解码器30可从接收自视频编码器20的图片时序SEI消息或子图片时序SEI消息解码子图片层级CPB参数。视频解码器30可基于旗标sub_pic_cpb_params_in_pic_timing_sei_flag的存在而确定在哪一SEI消息中寻找子图片层级CPB参数。

在本发明中描述的实例技术中的一些中,第二DU的时间识别值(TemporalId)可不大于第一DU的TemporalId。在一些实例中,第二DU的TemporalId可不大于零。

举例来说,本发明中描述的技术可提供经译码图片缓冲器移除时间的更具错误恢复性的确定。此外,除了改进的错误恢复性之外,所述技术还可促进发信效率,从而减小带宽、减少发信额外负担且增加译码时间。而且,本发明中描述的技术可允许改进的时间可缩放性。

图2为说明可实施本发明中描述的技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测来减少或移除在给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。

在图2的实例中,视频编码器20包含分割单元35、预测处理单元41、求和器50、变换处理单元52、量化单元54及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。为了视频块重建构,视频编码器20还包含反量化单元58、反变换处理单元60、求和器62、滤波器单元64及经解码图片缓冲器(DPB)66。经解码图片缓冲器66还可被称作参考图片存储器。在其它实例中,视频编码器20可包含更多、更少或不同的功能组件。

如在图2中所示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。视频数据的此分割还可包含将视频数据分割成切片、平铺块或其它较大单元,以及视频块分割,例如,根据LCU及CU的四叉树结构。视频编码器20大体上说明了编码待编码的视频切片内的视频块的组件。切片可分成多个视频块(且可能分成被称作平铺块的视频块集合)。

预测处理单元41可基于错误结果(例如,译码率及失真程度)为当前视频块选择多个可能译码模式中的一者(例如,多个帧内译码模式中的一者或多个帧间译码模式中的一者)。预测处理单元41可将所得帧内或帧间译码的块提供到求和器50以产生残余块数据,且提供到求和器62以重建构经编码的块以用作参考图片。

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

运动估计单元42可经配置以根据用于视频序列的预定模式确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指明为P切片、B切片或GPB切片。运动估计单元42与运动补偿单元44可经集成,但为了概念上的目的,被分开地加以说明。由运动估计单元42执行的运动估计为产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示在当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。

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

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

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

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

在任一情况下,在选择了用于块的帧内预测模式后,帧内预测处理单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技术编码指示选定帧内预测模式的信息。视频编码器20可在发射的位流中包含配置数据,其可包含多个帧内预测模式索引表及多个修改的帧内预测模式索引表(也被称作码字映射表);针对各种块的编码上下文的定义;及用于上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表及修改的帧内预测模式索引表的指示。

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

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

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

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

视频编码器20还包含滤波器单元64,其可滤波块边界以从经重建构的视频移除方块效应假影。即,滤波器单元64可执行一或多个解块操作以减少与CU相关联的译码块中的方块效应假影。滤波器单元64可为解块滤波器且滤波求和器62的输出。除了滤波器单元64之外,还可使用额外环路滤波器(环路内或环路后)。

经解码图片缓冲器66可在滤波器单元64对经重建构的译码块执行了一或多个解块操作后存储经重建构的译码块。预测处理单元41可使用含有经重建构的译码块的参考图片对其它图片的PU执行帧间预测。此外,帧内预测处理单元46可使用经解码图片缓冲器66中的经重建构的译码块来对与CU在相同的图片中的其它PU执行帧内预测。

视频编码器20可根据本文中描述的技术产生与AU内的DU的CPB移除时间有关的语法元素。一旦产生了此些语法元素,视频编码器20便将其编码入一或多个位流且输出所述位流。

根据本发明,预测处理单元41表示用于执行以上描述的实例功能的一个实例单元。在其它实例中,不同于预测处理单元41的单元可实施以上描述的实例。在一些其它实例中,预测处理单元41与视频编码器20的一或多个其它单元相结合可实施以上描述的实例。在又一些其它实例中,视频编码器20的处理器或单元可单独或与视频编码器20的其它单元相结合实施以上描述的实例。

图3为说明可实施本发明中描述的技术的实例视频解码器30的框图。在图3的实例中,视频解码器30包含熵解码单元80、预测处理单元81、反量化单元86、反变换单元88、求和器90及经解码图片缓冲器(DPB)92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。将经译码图片缓冲器(CPB)94展示为到视频解码器30的输入。然而,在一些实例中,CPB 94可为视频解码器30的部分。在一些实例中,视频解码器30可执行与关于来自图2的视频编码器20所描述的编码遍次大体上互逆的解码遍次。

在解码过程期间,视频解码器30接收表示来自视频编码器20的经编码的视频切片及相关联的语法元素的视频块的经编码的视频位流。可从经译码图片缓冲器94提取来自视频编码器20的经编码的视频切片及相关联的语法元素的视频块。来自CPB 94的经编码的视频可包含(例如)包括解码单元(DU)的存取单元(AU)。语法元素可包含指示存取单元及解码单元的CPB移除时间的变量及旗标。

视频解码器30的熵解码单元80熵解码位流以产生经量化的系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转递到预测处理单元81。视频解码器30可在视频切片层级及/或视频块层级接收语法元素。

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

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

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

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

在运动补偿单元82基于运动向量及其它语法元素产生当前视频块的预测性块后,视频解码器30通过将来自反变换处理单元88的残余块与由运动补偿单元82产生的对应的预测性块求和来形成经解码的视频块。求和器90表示执行此求和运算的一或多个组件。如果需要,还可应用解块滤波器以滤波经解码的块以便移除方块效应假影。其它环路滤波器(在译码环路中或在译码环路后)还可用以使像素转变变平滑,或以其它方式改进视频质量。在给定帧或图片中的经解码的视频块接着被存储于DPB 92中,DPB 92存储用于随后运动补偿的参考图片。DPB 92还存储经解码的视频,以供稍后在显示装置(例如,图1的显示装置32)上呈现。

根据本发明,预测处理单元81表示用于执行以上描述的实例功能的一实例单元。在其它实例中,不同于预测处理单元81的单元可实施以上描述的实例。在一些其它实例中,预测处理单元81与视频解码器30的一或多个其它单元相结合可实施以上描述的实例。在又一些其它实例中,视频解码器30的处理器或单元可单独或与视频解码器30的其它单元相结合实施以上描述的实例。

视频解码器30可将呈位流(包含AU及DU)的形式的所接收的视频数据存储于经译码图片缓冲器(CPB)94中。视频解码器30可在根据视频解码器30在位流中接收的语法元素所确定的移除时间从CPB 94提取DU及AU。SEI消息中存在的旗标及变量可通知视频解码器30在何时从CPB 94移除DU。在当前DU的所确定的移除时间,视频解码器30从CPB 94提取当前DU且解码DU。在一些实例中,在当前DU为AU的最后一个DU时,视频解码器30还提取AU。

以下描述CPB 94的操作。此描述可独立地适用于CPB参数中的存在的每一者,且适用于在HEVC WD8中的图C-1所展示的类型I及类型II一致性点,其中按HEVC WD8的子条款C.1中的指定选择所述组CPB参数。CPB 94的操作可包含位流到达的时序及解码单元移除及解码单元的解码的时序。依次描述每一者。

首先,将描述位流到达的时序。对于位流到达的时序,在HRD初始化前,CPB 94为空的。在一些实例中,在初始化后,可不通过随后缓冲周期SEI消息再次初始化HRD。

在本发明中描述的实例中,每一存取单元被称作存取单元“n”,其中数目“n”识别特定存取单元。与初始化CPB 94的缓冲周期SEI消息相关联的存取单元被称作存取单元0。对于按解码次序的每一个随后存取单元,将n的值递增1。

每一解码单元被称作解码单元“m”,其中数目“m”识别特定解码单元。存取单元0中的按解码次序的第一解码单元被称作解码单元0。对于按解码次序的每一个随后解码单元,将m的值递增1。

当sub_pic_cpb_params_present_flag等于1时,对于存取单元n的存取单元(AU)初始及最后到达时间的导出,首先调用以下过程,其中变量subPicParamsPresentFlag被设定为等于0。接着,对于存取单元n中的解码单元的解码单元初始及最后到达时间的导出,调用以下过程,其中subPicParamsPresentFlag被设定为等于1。

变量InitCpbRemovalDelay[SchedSelIdx]及InitCpbRemovalDelayOffset[SchedSelIdx]可被设定如下:如果以下三个条件中的一者为真,那么在缓冲周期SEI消息中将InitCpbRemovalDelay[SchedSelIdx]及InitCpbRemovalDelayOffset[SchedSelIdx]分别设定为对应于NalHrdModeFlag的initial_alt_cpb_removal_delay[SchedSelIdx]及initial_alt_cpb_removal_delay_offset[SchedSelIdx]的值。第一条件可为存取单元0为断链存取(BLA)存取单元(其经译码图片具有等于BLA_W_DLP或BLA_N_LP的nal_unit_type)且缓冲周期SEI消息的rap_cpb_params_present_flag的值等于1。第二条件可为DefaultInitCpbParamsFlag等于0。第三条件可为subPicParamsPresentFlag等于1。注意,在一些实例中,当sub_pic_cpb_params_present_flag等于1时,经译码视频序列可不具有清晰随机存取(CRA)或BLA图片,且因此前两个条件可皆为假。

否则,如果以上三个条件皆不为真,那么在按HEVC WD8的子条款C.1中的指定所选择的相关联的缓冲周期SEI消息中将InitCpbRemovalDelay[SchedSelIdx]及InitCpbRemovalDelayOffset[SchedSelIdx]分别设定为对应于NalHrdModeFlag的initial_cpb_removal_delay[SchedSelIdx]及initial_cpb_removal_delay_offset[SchedSelIdx]的值。

在本文中描述的实例中,解码单元m的第一位开始进入CPB 94的时间被称作初始到达时间tai(m)。如下导出解码单元m的初始到达时间。如果解码单元为解码单元0(即,m=0),那么tai(0)=0。即,第一解码单元在时间0到达。否则,对于在第一解码单元后的解码单元(m>0的解码单元m),以下适用。

如果cbr_flag[SchedSelIdx]等于1,那么解码单元m的初始到达时间等于解码单元m-1(先前解码单元)的最后到达时间(tai,在以下导出)。等式1提供关系式:

tai(m)=taf(m-1) (1)

否则(例如,cbr_flag[SchedSelIdx]等于0),解码单元m(例如,对于m>0)的初始到达时间由等式(“等式”)2导出:

tai(m)=MAX(taf(m-1),tai,earliest) (2)

如下导出解码单元到达时间tai,earliest。如果解码单元m并非随后缓冲周期的第一解码单元,那么如等式3中所示导出tai,earliest

其中tr,n(m)为来自CPB 94的解码单元m的标称移除时间。

通过等式4导出解码单元m的最后到达时间:

其中b(m)为解码单元m的大小(以位计)。如果类型I一致性点适用,那么b(m)包含计数VCLNAL单元及填充符数据NAL单元的位。如果类型II一致性点适用,那么b(m)包含计数类型II一致性点的类型II位流的所有位。类型I及类型II一致性点是如HEVC WD8的附录C的图C-1中所示。

SchedSelIdbx、BitRate[SchedSelIdx]及CpbSize[SchedSelIdx]的值受如下约束。如果用于含有解码单元m的AU与按解码次序的先前AU(按解码次序)的选定hrd_parameters()语法结构的内容不同,那么递送调度器(HSS)从提供于用于含有解码单元m的存取单元的选定hrd_parameters()语法结构中的SchedSelIdx的值中选择SchedSelIdx的值SchedSelIdx1,所述值SchedSelIdx1导致用于含有解码单元m的存取单元的BitRate[SchedSelIdx1]或CpbSize[SchedSelIdx1]。BitRate[SchedSelIdx1]或CpbSize[SchedSelIdx1]的值可不同于针对SchedSelIdx的用于先前存取单元的值SchedSelIdx0的BitRate[SchedSelIdx0]或CpbSize[SchedSelIdx0]的值。否则,如果两个AU的选定hrd_parameters()语法结构的内容相同,那么HSS继续通过SchedSelIdx、BitRate[SchedSelIdx]及CpbSize[SchedSelIdx]的先前值操作。

当HSS选择不同于先前存取单元的BitRate[SchedSelIdx]或CpbSize[SchedSelIdx]的值的BitRate[SchedSelIdx]或CpbSize[SchedSelIdx]的值时,以下适用。变量BitRate[SchedSelIdx]在时间tai(m)开始生效。变量CpbSize[SchedSelIdx]在某些条件下开始生效。

如果CpbSize[SchedSelIdx]的新值大于旧的CPB大小,那么CpbSize[SchedSelIdx]在时间tai(m)开始生效。否则,如果CpbSize[SchedSelIdx]的新值小于或等于旧的CPB大小,那么CpbSize[SchedSelIdx]的新值在含有解码单元m的存取单元的最后一个解码单元的CPB移除时间开始生效。

当SubPicCpbFlag等于1时,将存取单元n的初始CPB到达时间tai(n)设定为存取单元n中的第一解码单元的初始CPB到达时间。将存取单元n的最后CPB到达时间taf(n)设定为存取单元n中的最后一个解码单元的最后CPB到达时间。当SubPicCpbFlag等于0时,每一DU为AU,因此,存取单元n的初始及最后CPB到达时间为解码单元n的初始及最后CPB到达时间。

本发明现转向关于解码单元移除及解码单元的解码的时序来描述CPB 94的操作。

将变量InitCpbRemovalDelay[SchedSelIdx]及InitCpbRemovalDelayOffset[SchedSelIdx]用于DU移除时间。如下设定此两个变量。如果两个条件中的任一者为真,那么在缓冲周期SEI消息中将InitCpbRemovalDelay[SchedSelIdx]及InitCpbRemovalDelayOffset[SchedSelIdx]分别设定为对应于NalHrdModeFlag的Initial_alt_cpb_removal_delay[SchedSelIdx]及Initial_alt_cpb_removal_delay_offset[SchedSelIdx]的值。第一条件为:存取单元0为BLA存取单元(其经译码图片具有等于BLA_W_DLP或BLA_N_LP的nal_unit_type),且缓冲周期SEI消息的rap_cpb_params_present_flag的值等于1。第二条件为DefaultInitCpbParamsFlag等于0。

如果那些两个条件皆不为真,那么在按HEVC WD8的附录C的子条款C.1中的指定所选择的相关联的缓冲周期SEI消息中将InitCpbRemovalDelay[SchedSelIdx]及InitCpbRemovalDelayOffset[SchedSelIdx]分别设定为对应于NalHrdModeFlag的initial_cpb_removal_delay[SchedSelIdx]及initial_cpb_removal_delay_offset[SchedSelIdx]的值。

当sub_pic_cpb_params_present_flag等于1时,可如下导出与从CPB 94移除解码单元m的延迟时间有关的变量CpbRemovalDelay(m)。如果sub_pic_cpb_params_in_pic_timing_sei_flag等于0,那么在与解码单元m相关联的子图片时序SEI消息中将CpbRemovalDelay(m)设定为du_spt_cpb_removal_delay。可按HEVC WD8的附录C的子条款C.1中的指定选择子图片时序SEI消息。

如果du_common_cpb_removal_delay_flag等于0,那么在与含有解码单元m的存取单元相关联的按HEVC WD8的附录C的子条款C.1中的指定所选择的图片时序SEI消息中将变量CpbRemovaIDelay(m)设定为用于解码单元m的du_cpb_removal_delay_minus1[i]+1的值。对于含有解码单元m的存取单元中的最初num_nalus_in_du_minus1[0]+1个连续解码单元,i的值为0,对于同一存取单元中的随后num_nalus_in_du_minus1[1]+1个解码单元,i的值为1,对于同一存取单元中的随后num_nalus_in_du_minus1[2]+1个解码单元,i的值为2,等等。

否则,如果sub_pic_cpb_params_present_flag既不等于1且du_common_cpb_removal_delay_flag又不等于0,那么在与含有解码单元m的存取单元相关联的按HEVC WD8的附录C的子条款C.1中的指定所选择的图片时序SEI消息中将CpbRemovalDelay(m)设定为du_common_cpb_removal_delay_minus1+1的值。

存取单元n从CPB 94的标称移除时间还可被如下确定。如果存取单元n为存取单元0(即,初始化HRD的存取单元),那么存取单元0从CPB 94的标称移除时间tr,n(0)由等式5指定:

否则,对于存取单元n(其中n为非零或尚未初始化HRD),以下适用。当存取单元n为缓冲周期的未初始化HRD的第一存取单元,那么存取单元n从CPB 94的标称移除时间tr,n(n)由等式6指定:

tr,n(n)=tr,n(nb)+tc·(au_cpd_removal_delay_minus1(n)+1) (6)

其中tr,n(nb)为先前缓冲周期的第一存取单元的标称移除时间,且au_cpd_removal_delay_minus1(n)为与存取单元n相关联的按HEVC WD8附录C子条款C.1中的指定所选择的图片时序SEI消息中的au_cpd_removal_delay_plus1的值。当存取单元n为缓冲周期的第一存取单元时,在存取单元n的标称移除时间tr,n(n),设定nb等于n。当存取单元n并非缓冲周期的第一存取单元时,tr,n(n)由等式6给出,其中tr,n(nb)为当前缓冲周期的第一存取单元的标称移除时间。

当sub_pic_cpb_params_present_flag等于1时,如下指定用于从CPB 94移除解码单元m的标称移除时间,其中tr,n(n)为存取单元n的标称移除时间:如果解码单元m为存取单元n中的最后一个解码单元,那么将解码单元m的标称移除时间tr,n(m)设定为tr,n(n)。即,在大致同一时间从CPB 94移除存取单元及其最后一个解码单元。否则(即,解码单元m并非存取单元n中的最后一个解码单元),如等式7中所示导出解码单元m的标称移除时间tr,n(m),其中tr,n(n)为存取单元n的标称移除时间。

if(sub_pic_cpb_params_in_pic_timing_sei_flag)

tr,n(m)=tr,n(m+1)-tc_sub·CpdRemovalDelay(m)

else (7)

tr,n(m)=tr,n(n)-tc_sub·CpdRemovalDelay(m)

如下在等式8中指定存取单元n从CPB 94的移除时间,其中taf(m)及tr,n(m)分别为存取单元n中的最后一个解码单元的最后到达时间及标称移除时间。

当SubPicCpbFlag等于1时,解码单元m从CPB 94的移除时间被如下指定。如果low_delay_hrd_flag等于0或tr,n(m)≥taf(m),那么解码单元m的移除时间由等式9指定:

tr(m)=tr,n(m) (9)

否则,如果解码单元m并非存取单元n的最后一个解码单元,那么解码单元m的移除时间由等式10指定:

否则,如果解码单元m为存取单元n的最后一个解码单元,那么解码单元m的移除时间由等式11指定:

tr(m)=tr,n(n) (11)

在一些实例中,当low_delay_hrd_flag等于1且tr,n(m)<taf(m)时,解码单元m的大小b(m)如此之大以至于其防止在标称移除时间被移除。

在解码单元m的CPB移除时间,对解码单元进行瞬时解码。在解码了图片n的最后一个解码单元后,将所述图片视为经解码。

下列表说明可用以实施本发明中描述的实例技术的语法及语义。表1提供缓冲周期SEI消息的实例语法及语义。表2提供图片时序SEI消息的实例语法及语义。可通过SEI消息的语法及语义确定CPB 94的功能性。举例来说,视频解码器30至少部分基于缓冲周期及图片时序SEI消息而从CPB 94提取DU。

缓冲周期补充增强信息(SEI)消息提供初始CPB移除延迟及初始CPB移除延迟偏移的信息。所述缓冲周期SEI消息语法可与在2012年9月24日申请的第61/705,102号美国临时申请案中的缓冲周期SEI消息语法相同,且语义做如下改变。在以下展示的表1中提供缓冲周期SEI消息语法。

表1:缓冲周期SEI消息语法

将缓冲周期指定为按解码次序在缓冲周期SEI消息的两个连续实例之间的存取单元的集合。

以下应用于缓冲周期SEI消息语法及语义。位流(或其一部分)指代与缓冲周期SEI消息应用于的操作点中的任何者相关联的位流子集(或其一部分)。

对于缓冲周期SEI消息,语法元素initial_cpb_removal_delay_length_minus1及sub_pic_cpb_params_present_flag及变量NalHrdBpPresentFlag、VclHrdBpPresentFlag、CpbSize[SchedSelIdx]、BitRate[SchedSelIdx]及CpbCnt可见于可适用于缓冲周期SEI消息应用于的操作点中的任何者的hrd_parameters()语法结构及sub_layer_hrd_parameters()语法结构中的语法元素中或从所述语法元素导出。

缓冲周期SEI消息可具有两个操作点,其具有不同OpTid值——tIdA及tIdB。使任何两个操作点具有不同OpTid值指示可适用于相应操作点的hrd_parameters()语法结构中所译码的cpb_cnt_minus1[tIdA]与cpb_cnt_minus1[tIdB]的值相同。另外,缓冲周期SEI消息可具有在缓冲周期SEI消息中的两个操作点,其具有不同OpLayerIdSet值——layerIdSetA及layerIdSetB。使任何两个操作点具有不同OpLayerIdSet值指示对于可分别适用于两个操作点的两个hrd_parameters()语法结构,nal_hrd_parameters_present_flag与vcl_hrd_parameters_present_flag的值相同。

如果NalHrdBpPresentFlag或VclHrdBpPresentFlag等于1,那么可适用于指定操作点的缓冲周期SEI消息可存在于经译码视频序列中的具有等于0的TemporalId的任一AU中,且可适用于指定操作点的缓冲周期SEI消息可存在于每一随机存取点(RAP)AU中及与恢复点SEI消息相关联的每一AU中。否则(NalHrdBpPresentFlag及VclHrdBpPresentFlag皆等于0),经译码视频序列中无存取单元可具有可适用于指定操作点的缓冲周期SEI消息。

对于一些应用,缓冲周期SEI消息的频繁存在可为合乎需要的。

当含有缓冲周期SEI消息且具有等于0的nuh_reserved_zero_6bits的SEI NAL单元存在时,SEI NAL单元可按解码次序在AU中的第一VCL NAL单元前。

与缓冲周期SEI消息相关联的存取单元可具有等于0的TemporalId。

将变量CpbCnt导出为等于cpb_cnt_minus1[tId]+1,其中在可适用于缓冲周期SEI消息应用于且具有等于tId的OpTid的操作点中的任何者的hrd_parameters()语法结构中译码cpb_cnt_minus1[tId]。

可如下定义缓冲周期SEI消息中的下列语法元素及变量:seq_parameter_set_id指代作用中序列参数集。seq_parameter_set_id的值可等于由与缓冲周期SEI消息相关联的经译码图片参考的图片参数集(“PPS”)中的seq_parameter_set_id的值。seq_parameter_set_id的值可在0到31的范围中(包含0及31)。

旗标rap_cpb_params_present_flag等于l指定initial_alt_cpb_removal_delay[SchedSelIdx]及initial_alt_cpb_removal_delay_offset[SchedSelIdx]语法元素的存在。当不存在时,rap_cpb_params_present_flag的值可被推断为等于0。当相关联的图片既非CRA图片又非BLA图片时,rap_cpb_params_present_flag的值可等于0。

序列元素initial_cpb_removal_delay[SchedSelIdx]及initial_alt_cpb_removal_delay[SchedSelIdx]分别指定第SchedSelIdx个CPB的默认及替代性初始CPB移除延迟。所述语法元素具有由initial_cpb_removal_delay_length_minus1+1给出的以位计的长度,且以(例如)90kHz时钟为单位。语法元素的值可不等于0,且可小于或等于

其为CPB大小的以90kHz时钟为单位的时间当量。

语法元素initial_cpb_removal_delay_offset[SchedSelIdx]及initial_alt_cpb_removal_delay_offset[SchedSelIdx]分别指定第SchedSelIdx个CPB的默认及替代性初始CPB移除偏移。所述语法元素具有由initial_cpb_removal_delay_length_minus1+1给出的长度(以位计),且以90kHz时钟为单位。此些语法元素可不由解码器使用,且可能仅需要用于在HEVC WD8的附录C中指定的递送调度器(HSS)。

在整个经译码视频序列上,initial_cpb_removal_delay[SchedSelIdx]与initial_cpb_removal_delay_offset[SchedSelIdx]的总和对于SchedSelIdx的每一值可为恒定的,且initial_alt_cpb_removal_delay[SchedSelIdx]与initial_alt_cpb_removal_delay_offset[SchedSelIdx]的总和对于SchedSelIdx的每一值可为恒定的。

图片时序SEI消息提供与SEI消息相关联的存取单元的CPB移除延迟及DPB输出延迟的信息。图片时序SEI消息语法及语义的一实例是如下表2中。

表2:图片时序SEI消息语法及语义

以下内容适用于图片时序SEI消息语法及语义。语法元素sub_pic_cpb_params_present_flag、sub_pic_cpb_params_in_pic_timing_sei_flag、cpb_removal_delay_length_minus1、dpb_output_delay_length_minus1及du_cpb_removal_delay_length_minus1及变量CpbDpbDelaysPresentFlag可见于可适用于图片时序SEI消息应用于的操作点中的任何者的hrd_parameters()语法结构及sub_layer_hrd_parameters()语法结构中的语法元素中或从所述语法元素导出。

位流(或其一部分)指代与图片时序SEI消息应用于的操作点中的任何者相关联的位流子集(或其一部分)。然而,注意,图片时序SEI消息的语法可取决于可适用于图片时序SEI消息应用于的操作点的hrd_parameters()语法结构的内容。此些hrd_parameters()语法结构可在对于与图片时序SEI消息相关联的经译码图片在作用中的视频参数集及/或序列参数集中。当图片时序SEI消息与为位流中的第一存取单元的CRA存取单元、IDR存取单元或BLA存取单元相关联时,除非其前面有在同一存取单元内的缓冲周期SEI消息,否则视频参数集及序列参数集的启动(及对于并非位流中的第一图片的IDR或BLA图片,对经译码图片为IDR图片或BLA图片的确定)直到解码了经译码图片的第一经译码切片NAL单元才发生。由于经译码图片的经译码切片NAL单元按NAL单元次序跟在图片时序SEI消息后,因此可存在解码器有必要存储含有图片时序SEI消息的原始字节序列有效负载(RBSP)直到确定作用中视频参数集及/或作用中序列参数集且接着执行图片时序SEI消息的剖析的情况。

如下指定图片时序SEI消息在位流中的存在。如果CpbDpbDelaysPresentFlag等于1,那么可适用于指定操作点的一个图片时序SEI消息可存在于经译码视频序列的每一存取单元中。否则,举例来说,如果CpbDpbDelaysPresentFlag等于0,那么无可适用于指定操作点的图片时序SEI消息可存在于经译码视频序列的任一存取单元中。

当含有图片时序SEI消息且具有等于0的nuh_reserved_zero_6bits的SEI NAL单元存在时,SEI NAL单元可按解码次序在存取单元中的第一VCL NAL单元前。

语法元素au_cpb_removal_delay_minus1加l指定在从CPB(例如,CPB 94)移除与先前存取单元中的最近缓冲周期SEI消息相关联的存取单元后,在从CPB 94移除与图片时序SEI消息相关联的存取单元前,等待多少时钟刻度。此值还可用以计算存取单元数据到用于HSS的CPB的最早可能到达时间。语法元素为固定长度码,其长度(以位计)由cpb_removal_delay_length_minus1+1给出。

确定语法元素au_cpb_removal_delay_minus1的长度(以位计)的cpb_removal_delay_length_minus1的值为在对于与图片时序SEI消息相关联的经译码图片在作用中的视频参数集或序列参数集中所译码的cpb_removal_delay_length_minus1的值,尽管au_cpb_removal_delay_minus1加1指定了相对于含有缓冲周期SEI消息的先前存取单元(其可为不同经译码视频序列的存取单元)的移除时间的时钟刻度的数目。

语法元素pic_dpb_output_delay用以计算图片的DPB输出时间。pic_dpb_output_delay指定在从CPB移除存取单元中的最后一个解码单元后,在从DPB输出经解码图片前等待多少时钟刻度。在图片仍被标记为“用于短期参考”或“用于长期参考”时,可不在图片的输出时间从DPB移除图片。在一些实例中,针对经解码图片,仅指定一个pic_dpb_output_delay。

语法元素pic_dpb_output_delay的长度由dpb_output_delay_length_minus1+1给出(以位计)。当sps_max_dec_pic_buffering[minTid]等于1时,其中minTid为图片时序SEI消息应用于的所有操作点的OpTid值中的最小者,pic_dpb_output_delay应等于0。从输出自符合输出时序的解码器的任一图片的pic_dpb_output_delay导出的输出时间可在从按解码次序的任一随后经译码视频序列中的所有图片的pic_dpb_output_delay导出的输出时间之前。由此语法元素的值建立的图片输出次序应为与由PicOrderCntVal的值(即,指示图片的输出或显示次序的POC值)建立的次序相同的次序。

对于因为按解码次序在具有等于l或推断为等于l的no_output_of_prior_pics_flag的瞬时解码刷新(IDR)图片或断链存取(BLA)图片之前而未通过“提升”过程输出的图片,从pic_dpb_output_delay导出的输出时间可随着关于同一经译码视频序列内的所有图片的PicOrderCntVal的值增大而增加。

语法元素num_decoding_units_minus1加l指定与图片时序SEI消息相关联的存取单元中的解码单元的数目。num_decoding_units_minus1的值可在0到PicSizeInCtbsY-1的范围中(包含0及PicSizeInCtbsY-1)。旗标du_common_cpb_removal_delay_flag等于1指定存在语法元素du_common_cpb_remova1delay_minus1。du_common_cpb_removal_delay_flag等于0指定不存在语法元素du_common_cpb_removal_delay_minus1。

语法元素du_common_cpb_removal_delay_minus1加1指定在与图片时序SEI消息相关联的存取单元中的按解码次序的任何两个连续解码单元从CPB(例如,CPB 94)的移除之间的持续时间,其以子图片时钟刻度为单位(见HEVC WD8的子条款E.2.1)。此值还用以计算解码单元数据到用于HSS的CPB的最早可能到达时间,如在HEVC WD8附录C中所指定。语法元素为固定长度码,其长度(以位计)由du_cpb_removal_delay_length_minus1+1给出。

语法元素num_nalus_in_du_minus1[i]加1指定与图片时序SEI消息相关联的AU的第i个DU中的NAL单元的数目。num_nalus_in_du_minus1[i]的值应在0到PicSizeInCtbsY-1的范围中(包含0及PicSizeInCtbsY-1)。举例来说,视频解码器30可基于解码来自图片时序SEI消息的语法元素num_nalus_in_du_minus1[i]加1确定有多少NAL单元在当前DU中。

AU的第一DU可包含AU中的按解码次序之前num_nalus_in_du_minus1[0]+1个连续NAL单元。AU的第i个(其中i大于0)DU由按解码次序紧跟着AU的先前DU中的最后一个NAL单元之后的num_nalus_in_du_minus1[i]+1个连续NAL单元组成。在每一DU中可存在至少一VCL NAL单元。与VCL NAL单元相关联的所有非VCL NAL单元应与所述VCL NAL单元包含于相同的DU中。视频解码器30基于解码例如num_nalus_in_du_minus1[i]等语法元素来确定DU中的NAL单元。

语法元素du_cpb_removal_delay_minus1[i]加1指定与图片时序SEI消息相关联的AU中的按解码次序的第(i+1)个DU与第i个DU从CPB(例如,CPB 94)的移除之间的持续时间,其以子图片时钟刻度为单位。此值还可用以计算DU数据到用于HSS的CPB的最早可能到达时间,如在HEVC WD8附录C中所指定。语法元素为固定长度码,其长度(以位计)由du_cpb_removal_delay_length_minus1+1给出。

在一些实例中,虽然所述语法元素的长度与du_common_cpb_removal_delay_minus1相同,但可能已相对于缓冲周期的开始时的AU的CPB移除时间指定了所述值。举例来说,视频解码器30可相对于经解码CPB移除时间确定语法元素的值。在一些实例中,此可能与du_common_cpb_removal_delay_minus1的语义不一致。举例来说,此可潜在地与等式7(HEVC WD8附录C中的等式C-10)有冲突,其定义如果标示了sub_piccpb_params_in_pic_timing_sei_flag,那么tr,n(m)=tr,n(m+1)-tc_sub·CpdRemovalDelay(m)。

在一些实例中,du_cpb_removal_delay_minus1[i]加1替代性地指定从CPB移除与图片时序SEI消息相关联的AU与相关联于图片时序SEI消息的AU中的第i个DU之间的持续时间,其以子图片时钟刻度为单位。在此情况下,可避免发信AU中的最后一个DU的值。因此,视频解码器30不必从图片时序SEI消息确定AU中的最后一个DU的值,这是因为最后一个DU的移除时间与对应的AU的移除时间相同。

替代性地,在au_cpb_removal_delay_minus1的语义中,du_common_cpb_removal_delay_minus1及du_cpb_removal_delay_minus1[i]指定“标称CPB移除时间”而非“CPB移除时间”之间的延迟/差/持续时间。

下表3提供一实例子图片时序SEI消息语法。子图片时序SEI消息提供用于与SEI消息相关联的解码单元的CPB移除延迟信息。一实例子图片时序SEI消息语法及语义为如下。

表3:子图片时序SEI消息语法

以下内容适用于子图片时序SEI消息语法及语义。语法元素sub_pic_cpb_params_present_flag、sub_pic_cpb_params_in_pic_timing_sei_flag及cpb_removal_delay_length_minus1及变量CpbDpbDelaysPresentFlag可见于可适用于子图片时序SEI消息应用于的操作点中的任何者的hrd_parameters()语法结构及sub_layer_hrd_parameters()语法结构中的语法元素中或从所述语法元素导出。位流(或其一部分)指代与子图片时序SEI消息应用于的操作点中的任何者相关联的位流子集(或其一部分)。

如下指定子图片时序SEI消息在位流中的存在。如果CpbDpbDelaysPresentFlag等于1,sub_pic_cpb_params_present_flag等于1,且sub_pic_cpb_params_in_pic_timing_sei_flag等于0,那么在经译码视频序列中的每一解码单元中可存在可适用于指定操作点的一个子图片时序SEI消息。否则,无可适用于指定操作点的子图片时序SEI消息存在于经译码视频序列中。因此,如果视频解码器30解码旗标且确定所述值为如上所设定,那么视频解码器30确定不存在可适用于指定操作点的子图片时序SEI消息。

与子图片时序SEI消息相关联的解码单元按解码次序由含有子图片时序SEI消息的SEI NAL单元、接着为不含有子图片时序SEI消息的一或多个NAL单元(包含直到但不包含含有子图片时序SEI消息的任何随后SEI NAL单元的AU中的所有随后NAL单元)组成。在每一DU中可存在至少一VCLNAL单元。与一个VCLNAL单元相关联的所有非VCLNAL单元可与所述VCLNAL单元包含于相同的DU中。

在一些实例中,语法元素du_spt_cpb_removal_delay指定在从CPB移除含有子图片时序SEI消息的当前存取单元中的按解码次序的最后一个解码单元与相关联于子图片时序SEI消息的解码单元之间的持续时间,其以子图片时钟刻度为单位(见HEVC WD8的子条款E.2.1)。此值还可用以计算解码单元数据到用于HSS的CPB的最早可能到达时间,如在HEVC WD8附录C中所指定。所述语法元素由长度(以位计)由du_cpb_removal_delay_length_minus1+1给出的固定长度码表示。当与子图片时序SEI消息相关联的DU为当前AU中的最后一个DU时,du_spt_cpb_removal_delay的值应等于0。

替代性地,在其它实例中,语法元素du_spt_cpb_removal_delay指定在从CPB 94移除含有子图片时序SEI消息的当前AU中的按解码次序的下一个DU与相关联于子图片时序SEI消息的DU之间的持续时间,其以子图片时钟刻度为单位(见HEVC WD8的子条款E.2.1)。此值还可用以计算解码单元数据到用于HSS的CPB 94的最早可能到达时间,如在HEVC WD8附录C中所指定。所述语法元素由长度(以位计)由du_cpb_removal_delay_length_minus1+1给出的固定长度码表示。当与子图片时序SEI消息相关联的解码单元为当前存取单元中的最后一个解码单元时,du_spt_cpb_removal_delay的值应等于0。替代性地,无子图片时序SEI消息与每一存取单元中的最后一个解码单元相关联。

在一些实例中,语法元素du_spt_cpb_removal_delay被替代性地译码为du_spt_cpb_removal_delay_minus1。语法元素du_spt_cpb_removal_delay_minus1加1指定在视频解码器30从CPB 94移除与先前AU的最近缓冲周期SEI消息相关联的AU中的最后一个DU后,在从CPB 94移除与子图片时序SEI消息相关联的DU前要等待多少子图片时钟刻度。此值还可用以计算解码单元数据到用于HSS的CPB的最早可能到达时间,如在HEVC WD8附录C中所指定。所述语法元素由长度(以位计)由cpb_removal_delay_length_minus1+1给出的固定长度码表示。

以下提供的表4描述HRD参数语法及语义的一实例。对于以下不包含其语义的语法元素,其语义与2012年9月24日申请的第61/705,102号美国临时申请案中相同。HRD参数语法及语义可为如下。

表4:HRD参数语法及语义

语法元素sub_pic_cpb_params_in_pic_timing_sei_flag等于1指定子图片层级CPB移除延迟参数存在于图片时序SEI消息中,且不存在子图片时序SEI消息。sub_pic_cpb_params_in_pic_timing_sei_flag等于0指定子图片层级CPB移除延迟参数存在于子图片时序SEI消息中,且图片时序SEI消息不包含子图片层级CPB移除延迟参数。

语法元素sub_pic_cpb_params_present_flag等于1指定存在子图片层级CPB移除延迟参数,且CPB可在存取单元层级或子图片层级操作。sub_pic_cpb_params_present_flag等于0时指定不存在子图片层级CPB移除延迟参数,且CPB在存取单元层级操作。当sub_pic_cpb_params_present_flag不存在时,其值可被推断为等于0。

图4为说明可具有根据本发明中描述的技术的解码时间的按连续解码次序的两个存取单元100及102的概念图。将就AU 100及102以及用于与AU 100及102相关联的SEI消息的语法元素及变量来论述实例经译码图片缓冲器移除时间。图4还说明时间表130。

如本文中所描述,AU 100为存取单元n,且AU 102为存取单元n+1,其中n按解码次序在时间上比n+1早。AU 100包含四个解码单元110-1、110-2、110-3及110-4(统称作“解码单元110”)。如本文中所描述,举例来说,DU 110-1可被称作DU-M,DU 110-2可被称作DU-M+1,DU 110-3可被称作DU-M+2,且DU 110-4可被称作DU-M+3。AU102包含四个解码单元112-1、112-2、112-3及112-4(统称作“解码单元112”)。

类似地,如本文中所描述,举例来说,DU 112-1可被称作DU-M,DU 112-2可被称作DU-M+1,DU 112-3可被称作DU-M+2,且DU 112-4可被称作DU-M+3。然而,任一存取单元可为“存取单元n”,且任一解码单元可为“解码单元m”。在其它实例中,AU 100及102可分别具有不同数目个DU 110及112。任一DU 110或112可为nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非视频译码层(VCL)网络抽象层(NAL)单元。

在此实例中,存取单元100及102存储于经译码图片缓冲器(例如,图3的CPB 94)中。视频解码器30从CPB 94提取解码单元110及112及存取单元100及102,以用于在确定的时间解码。用于从CPB 94提取AU或DU的时间被称作CPB移除时间。如图4中所示,用于AU 100中的DU 110的CPB移除时间为CPB移除时间140-1、140-2、140-3及140-4(统称作“CPB移除时间140”)。同样地,用于AU 102中的DU 112的CPB移除时间为CPB移除时间142-1、142-2、142-3及142-4(统称作“CPB移除时间142”)。AU的CPB移除时间可与AU的最后一个DU的CPB移除时间相同。举例来说,AU 100的CPB移除时间大致与DU 110-4的CPB移除时间(CPB移除时间140-4)相同。

在一实例中,对于AU 102中的每一DU 112,发信AU 102中的按解码次序的下一个DU 112与特定DU 112的CPB移除时间之间的持续时间。举例来说,DU 112-2为按解码次序待从CPB 94提取且由视频解码器30解码的当前DU。例如在与存取单元102相关联的SEI消息中发信用于DU 112-2的CPB移除时间142-2与用于DU 112-3(按解码次序的下一个DU)的CPB移除时间142-3之间的持续时间132。视频解码器30基于所发信的持续时间132确定用于DU 112-2的CPB移除时间142-2。即,视频解码器30可基于用于AU 102内的DU 112的移除时间且不基于用于其它AU(例如,按解码次序的先前AU 100)内的其它DU的任何移除时间导出用于存取单元102中的每一DU 112的CPB移除时间。因此,视频解码器30可具有对于DU及AU的CPB移除时间的改进的发信及错误恢复性。

可以替代方式发信用于AU 102的DU 112-2的CPB移除时间。举例来说,在与AU102相关联的SEI消息中,发信用于DU 112-2的CPB移除时间142-2与用于AU 102中的最后一个DU(DU 112-4)的CPB移除时间142-4之间的持续时间134。视频解码器30基于DU 112-4的所发信的CPB移除时间142-4确定用于DU 112-2的CPB移除时间142-2。

在以上实例中的任一者中,视频解码器30根据同一AU内的其它DU确定用于DU的CPB移除时间。以此方式,用于任一DU的CPB移除时间不取决于除特定DU的AU之外的任一其它AU。先前AU中的CPB移除时序信息的丢失将不造成当前AU的CPB移除时间的不正确导出。举例来说,用于AU 100的CPB移除时间140的丢失将不影响对用于AU 102的CPB移除时间142的确定。因此,视频解码器30可对于确定DU及AU的CPB移除时间具有改进的发信及错误恢复性。

视频解码器30还可至少部分基于在子图片时序SEI消息中携带的子图片层级CPB参数而确定CPB移除时间。在此实例中,CPB移除时间的发信及CPB移除时间的导出既有效率又具错误恢复性。序列层级旗标可经发信以控制子图片层级CPB参数在图片时序SEI消息或在子图片时序SEI消息中但从不在两者中的存在。序列层级旗标可为以上描述的sub_pic_cpb_params_present_flag。所述旗标还可控制将来自哪一类型的SEI消息的子图片层级CPB参数用于子图片层级CPB操作。当sub_pic_cpb_params_present_flag等于1时,发信针对AU层级及子图片层级两者的CPB到达时间及CPB移除时间,而与SubPicCpbFlag的值无关。

在一些实例中,如果AU(例如,AU 100)具有大于0的TemporalId,那么无缓冲周期SEI消息或恢复点SEI消息可与AU 100相关联。

图5为说明根据本发明中描述的技术的用于基于用于存取单元的第二解码单元的经译码图片缓冲器(CPB)移除时间确定所述存取单元中的第一解码单元的CPB移除时间的方法的流程图。视频解码器可执行图5的方法。举例来说,视频解码器可为图1或图3的视频解码器30。

图5的方法包含解码在AU中的第一DU的CPB移除与第二DU的CPB移除之间的持续时间,其中所述第二DU按解码次序在所述第一DU之后且与所述第一DU在相同的AU中(200)。第二DU可按解码次序紧随在AU中的第一DU之后。替代性地,第二DU可为AU中的按解码次序的最后一个DU。举例来说,视频解码器30可从视频编码器20接收位流,且在CPB 94中缓冲AU及其相应DU以用于在确定的移除时间提取。举例来说,视频解码器30可解码在AU中的第一DU从CPB 94的CPB移除与第二DU从CPB 94的CPB移除之间的持续时间,其中所述第二DU按解码次序在所述第一DU之后且与所述第一DU在相同的AU中。

所述方法进一步包含至少部分基于经译码持续时间确定所述第一DU的移除时间(202)。举例来说,视频解码器30可基于AU中的第一DU的CPB移除与第二DU的CPB移除之间的经解码持续时间而确定第一DU的CPB移除时间。视频解码器30可大致在确定的CPB移除时间从CPB 94提取DU。

在一些实例中,图5的方法进一步包含解码子图片层级CPB参数,其中确定第一DU的移除时间包括至少部分基于经解码持续时间及子图片层级CPB参数确定第一DU的移除时间。解码子图片层级CPB参数可包含解码与第一DU相关联的子图片时序补充增强信息(SEI)消息。

在第二DU为AU中的按解码次序的最后一个DU的实例中,译码子图片SEI消息包含解码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。在一些实例中,序列层级旗标经解码以确定子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。举例来说,响应于解码序列层级旗标且确定子图片层级CPB参数存在于图片时序SEI消息中,视频解码器30可解码图片时序SEI消息以剖析子图片层级CPB参数。同样地,响应于解码序列层级旗标且确定子图片层级CPB参数存在于子图片时序SEI消息中,视频解码器30可解码子图片时序SEI消息以剖析子图片层级CPB参数。

在一些实例中,确定第一DU的移除时间包含在不解码初始CPB移除延迟及偏移的情况下确定第一DU的移除时间。当AU具有小于或等于0的TemporalId时,所述方法可进一步包含解码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。

本文中描述的解码单元可为任一解码单元,以及nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非视频译码层(VCL)网络抽象层(NAL)单元。因此,视频解码器30可根据本发明中描述的技术解码DU,DU包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非VCL NAL单元。

在另一实例中,所述方法包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。举例来说,视频解码器30在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间,而与定义第一DU是否为AU的语法元素的值无关。

在一些实例中,所述方法包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。所述方法可包含当语法元素指示第一DU为AU时导出针对AU层级的CPB移除时间。导出针对AU层级的CPB移除时间可包含当语法元素指示DU为AU时,导出仅针对AU层级的CPB移除时间。

语法元素可为SubPicCpbFlag,其中当SubPicCpbFlag等于0时,DU为AU,否则,DU包含AU中的一或多个视频译码层(VCL)网络抽象层(NAL)单元及相关联的非VCL NAL单元。在一些实例中,语法元素包含第一语法元素,且其中导出CPB到达时间及CPB标称移除时间包括当第二语法元素指定存在子图片层级CPB移除延迟参数且CPB可在存取单元层级或子图片层级操作时导出CPB到达时间及CPB标称移除时间。

第二语法元素可为sub_pic_cpb_params_present_flag,其中当sub_pic_cpb_params_present_flag等于1时,存在子图片层级CPB移除延迟参数,且CPB可在存取单元层级或子图片层级操作,且当sub_pic_cpb_params_present_flag等于0时,不存在子图片层级CPB移除延迟参数,且CPB在存取单元层级操作。第二语法元素指定存在子图片层级CPB移除延迟参数且CPB可在AU层级或子图片层级操作,且所述方法可进一步包含确定变量subPicParamsPresentFlag等于0,导出AU初始到达时间及AU最后到达时间,确定变量subPicParamsPresentFlag等于1,及导出用于存取单元内的解码单元的DU初始到达时间及DU最后到达时间。

当语法元素指示DU并非AU时,还可导出针对子图片层级的CPB移除时间。导出针对子图片层级的CPB移除时间可包含当语法元素指示DU并非AU时,导出仅针对子图片层级的CPB移除时间。举例来说,当语法元素指示DU并非AU时,视频解码器30可导出针对子图片层级的CPB移除时间。

图6为说明根据本发明中描述的技术的用于基于用于存取单元的第二解码单元的经译码图片缓冲器(CPB)移除时间确定所述存取单元中的第一解码单元的CPB移除时间的另一方法的流程图。视频编码器可执行图6的方法。举例来说,视频编码器可为图1或图2的视频编码器20。

所述方法包含针对包含第一解码单元DU的AU确定第二DU的CPB移除时间,其中所述第二DU按解码次序在第一DU之后且与第一DU在相同的AU中(210)。第二DU可按解码次序紧随在AU中的第一DU之后。替代性地,第二DU可为AU中的按解码次序的最后一个DU。在一些实例中,视频编码器20调度用于AU的CPB移除时间。在一些实例中,CPB移除时间由在视频编码器20外部的装置调度,且将所述调度提供到视频编码器20。

用于AU的CPB移除时间可与用于AU中的最后一个DU的CPB移除时间相同。因此,视频编码器20可基于AU的经调度的CPB移除时间确定第二DU的CPB移除时间。在一些实例中,基于AU的经调度的CPB移除时间确定第二DU的CPB移除时间包含确定有多少DU包含于AU中及确定每一CPB的经调度的时间。举例来说,根据本文所述的技术,视频编码器20可针对包含第一解码单元DU的AU确定第二DU的CPB移除时间,其中所述第二DU按解码次序在第一DU之后且与第一DU在相同的AU中。

所述方法进一步包含确定第一DU的CPB移除时间与第二DU的经确定CPB移除时间之间的持续时间(212)。举例来说,视频编码器20可基于AU的经调度的CPB移除时间及AU中的DU的数目确定第一DU的CPB移除时间之间的持续时间。在一些实例中,视频编码器20基于用于AU中的每一DU的经调度的CPB移除时间而确定持续时间。

所述方法进一步包含编码经确定持续时间(214)。视频编码器20可(例如)在子图片层级CPB参数集中将经确定持续时间编码为一语法元素。举例来说,所述方法可进一步包含编码子图片层级CPB参数,其中编码经确定持续时间包含将经确定持续时间编码为一或多个子图片层级CPB参数。编码子图片层级CPB参数可包含编码与第一DU相关联的子图片时序补充增强信息(SEI)消息。在一实例中,将经确定持续时间编码为一或多个子图片层级CPB参数进一步包括在子图片时序SEI消息中编码经确定持续时间。

在第二DU为AU中的按解码次序的最后一个DU的实例中,编码子图片SEI消息包含编码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。在一些实例中,序列层级旗标经编码以指示子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。在一些实例中,确定第一DU的移除时间包含在不编码初始CPB移除延迟及偏移的情况下确定第一DU的移除时间。

当AU具有小于或等于0的TemporalId时,所述方法可进一步包含编码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。

本文中描述的DU可为任一类型的DU,以及nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非视频译码层(VCL)网络抽象层(NAL)单元。视频编码器20可根据本发明中描述的技术编码任何DU,包含为nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非VCL NAL单元的DU。

在另一实例中,所述方法包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。

在一些实例中,所述方法包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。所述方法可包含当语法元素指示第一DU为AU时导出针对AU层级的CPB移除时间。导出针对AU层级的CPB移除时间可包含当语法元素指示DU为AU时,导出仅针对AU层级的CPB移除时间。

语法元素可为SubPicCpbFlag,其中当SubPicCpbFlag等于0时,DU为AU,否则,DU包含AU中的一或多个视频译码层(VCL)网络抽象层(NAL)单元及相关联的非VCL NAL单元。在一些实例中,语法元素包含第一语法元素,且其中导出CPB到达时间及CPB标称移除时间包括当第二语法元素指定存在子图片层级CPB移除延迟参数且CPB可在存取单元层级或子图片层级操作时导出CPB到达时间及CPB标称移除时间。

第二语法元素可为sub_pic_cpb_params_present_flag,其中当sub_pic_cpb_params_present_flag等于1时,存在子图片层级CPB移除延迟参数,且CPB可在存取单元层级或子图片层级操作,且当sub_pic_cpb_params_present_flag等于0时,不存在子图片层级CPB移除延迟参数,且CPB在存取单元层级操作。第二语法元素指定存在子图片层级CPB移除延迟参数且CPB可在AU层级或子图片层级操作,且所述方法可进一步包含设定变量subPicParamsPresentFlag等于0,导出AU初始到达时间及AU最后到达时间,设定变量subPicParamsPresentFlag等于1,及导出用于存取单元内的解码单元的DU初始到达时间及DU最后到达时间。

当语法元素指示DU并非AU时,还可导出针对子图片层级的CPB移除时间。导出针对子图片层级的CPB移除时间可包含当语法元素指示DU并非AU时,导出仅针对子图片层级的CPB移除时间。举例来说,当语法元素指示DU并非AU时,视频编码器20可导出针对子图片层级的CPB移除时间。

图7为说明根据本发明中描述的技术的用于至少部分基于子图片时序SEI消息导出第一DU的CPB移除时间的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及3的视频解码器30。

所述方法包含解码与存取单元的第一解码单元相关联的子图片时序SEI消息(300)。举例来说,根据本文中描述的技术,视频解码器30可解码包含经编码的数据及对应的语法元素及与AU的第一DU相关联的子图片时序SEI消息的位流。视频解码器30可在CPB 94中缓冲AU及其相应DU,以用于在确定的移除时间提取。举例来说,视频解码器30可解码与AU的第一DU相关联的子图片时序SEI消息。

在一些实例中,所述方法包含解码序列层级旗标以确定子图片层级CPB参数在与第一DU相关联的子图片时序SEI消息或图片时序SEI消息中的存在。所述方法可进一步包含解码子图片层级CPB参数,其中确定第一DU的CPB移除时间进一步至少部分基于子图片层级CPB参数。响应于接收到经编码的位流,视频解码器30可解码序列层级旗标,且从序列层级旗标的值确定在子图片时序SEI消息还是图片时序SEI消息中发现子图片层级CPB参数。基于序列层级旗标的值,视频解码器30可解码子图片时序SEI消息或图片时序SEI消息以解码子图片层级CPB参数。

在序列层级旗标指示子图片层级CPB参数将存在于子图片时序SEI消息中的实例中,解码子图片层级CPB参数可包含解码与第一DU相关联的子图片时序SEI消息。在第二DU为AU中的按解码次序的最后一个DU的实例中,解码子图片SEI消息可进一步包括解码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。

所述方法进一步包含解码子图片SEI消息中的AU的按解码次序的第二DU的经译码图片缓冲器(CPB)移除与第一DU的CPB移除之间的持续时间,其中所述持续时间在子图片时序SEI消息中(302)。举例来说,从所接收的位流,视频解码器30可解码子图片SEI消息中的AU的按解码次序的第二DU的经译码图片缓冲器(CPB)移除与第一DU的CPB移除之间的持续时间。

所述方法还包含至少部分基于子图片时序SEI消息导出第一DU的CPB移除时间(304)。视频解码器30可在经确定的CPB移除时间从CPB 94提取第一DU供解码。

在一些实例中,第二DU为AU中的按解码次序的最后一个DU。第二DU可按解码次序紧随在AU中的第一DU之后。在一些实例中,确定第一DU的移除时间包括在不译码初始CPB移除延迟及偏移的情况下确定第一DU的移除时间。

DU可为任一类型的解码单元,包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非视频译码层(VCL)网络抽象层(NAL)单元。

本文中描述的技术可提供经译码图片缓冲器移除时间的更具错误恢复性的确定。此外,除了改进的错误恢复性之外,所述技术还可促进发信效率,从而减小带宽、减少发信额外负担且增加译码时间。而且,本发明中描述的技术可允许适当的时间可缩放性。

此些技术可包含(例如)确定独立于任一其它存取单元的移除时间的用于AU的DU的经译码图片缓冲器移除时间。举例来说,将基于AU中的按解码次序的下一个DU的CPB移除时间之间的持续时间或AU中的最后一个DU的CPB移除时间之间的持续时间发信用于AU的DU的CPB移除时间。根据本文中描述的技术,所述技术还可包含发信序列层级旗标以控制子图片CPB参数在图片时序SEI消息或子图片时序SEI消息中的仅一者中的存在。所述技术还可包含扩展解码单元的定义。额外技术提供限制缓冲周期SEI消息及恢复点SEI消息,使得其不能与具有大于0的变量TemporalId的AU相关联。所述技术还可包含提供旗标以发信在AU层级还是子图片层级导出CPB移除时间。

图8为说明根据本发明中描述的技术的用于至少部分基于编码子图片时序SEI消息导出第一DU的CPB移除时间的另一方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及2的视频编码器20。

所述方法包含确定存取单元(AU)中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与AU中的第二DU的CPB移除时间之间的持续时间(310)。可(例如)根据从用于第二DU的经调度CPB移除时间减去用于第一DU的经调度CPB移除时间确定持续时间。

所述方法进一步包含在与AU相关联的子图片时序补充增强信息(SEI)消息中编码持续时间(312)。举例来说,视频编码器20可在位流中的子图片SEI消息中编码AU的按解码次序的第二DU的经译码图片缓冲器(CPB)移除与第一DU的CPB移除之间的持续时间。举例来说,根据本文中描述的技术,视频编码器20可编码包含经编码的数据及对应的语法元素、与AU的第一DU相关联的子图片时序SEI消息的位流。

在一些实例中,图8的方法包含编码序列层级旗标以指示子图片层级CPB参数在与第一DU相关联的子图片时序SEI消息或图片时序SEI消息中的存在。所述方法可进一步包含译码子图片层级CPB参数,其中确定第一DU的CPB移除时间进一步至少部分基于子图片层级CPB参数。举例来说,视频编码器20可在位流中编码序列层级旗标以指示子图片层级CPB参数在与第一DU相关联的子图片时序SEI消息或图片时序SEI消息中的存在。视频编码器20可进一步在位流中编码子图片层级CPB参数。

在序列层级旗标指示子图片层级CPB参数将存在于子图片时序SEI消息中的实例中,编码子图片层级CPB参数可包含编码与第一DU相关联的子图片时序SEI消息。在第二DU为AU中的按解码次序的最后一个DU的实例中,编码子图片SEI消息可进一步包括在子图片时序SEI消息中编码最后一个DU的移除时间与第一DU的移除时间之间的持续时间。

在一些实例中,第二DU为AU中的按解码次序的最后一个DU。第二DU可按解码次序紧随在AU中的第一DU之后。在一些实例中,确定第一DU的移除时间包括在不编码初始CPB移除延迟及偏移的情况下确定第一DU的移除时间。

DU可为任一类型的解码单元,包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非视频译码层(VCL)网络抽象层(NAL)单元。

图9为说明根据本发明中描述的技术的用于解码用于子图片层级经译码图片缓冲器参数的序列层级旗标的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及3的视频解码器30。

所述方法包含解码序列层级旗标以确定用于AU的DU的一或多个子图片层级CPB参数在与所述DU相关联的图片时序SEI消息或子图片时序SEI消息中的存在(400)。举例来说,视频解码器30解码序列层级旗标以确定一或多个子图片层级CPB参数的存在。视频解码器30还解码序列层级旗标以确定一或多个子图片层级CPB参数的位置。序列层级旗标可为sub_pic_cpb_params_present_flag。在一些实例中,一或多个子图片层级CPB参数存在于图片时序SEI消息或子图片时序SEI消息中的仅一者中。

所述方法可进一步包含基于序列层级旗标从图片时序SEI消息或子图片时序SEI消息解码一或多个子图片层级CPB参数(402)。举例来说,响应于序列层级旗标指示一或多个子图片层级CPB参数存在于图片时序SEI消息中,视频解码器30解码图片时序SEI消息以确定一或多个子图片层级CPB参数。同样地,响应于序列层级旗标指示一或多个子图片层级CPB参数存在于子图片时序SEI消息中,视频解码器30解码子图片时序SEI消息以确定一或多个子图片层级CPB参数。

所述方法可进一步包含至少部分基于所述一或多个子图片层级CPB参数确定DU的CPB移除时间。在一些实例中,确定DU的CPB移除时间包括在不解码初始CPB移除延迟及偏移的情况下确定DU的CPB移除时间。

在序列层级旗标指示子图片层级CPB参数存在于子图片时序SEI消息中的实例中,解码子图片层级CPB参数可包含解码与DU相关联的子图片时序SEI消息。在另一实例中,所述方法可包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。即,视频解码器30可在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者。

在另一实例中,DU为第一DU,且所述方法进一步包含至少部分基于子图片层级CPB参数导出第一DU的CPB移除时间,及解码AU的按解码次序的第二DU的CPB移除时间与第一DU的CPB移除时间之间的持续时间。所述方法可进一步包含至少部分基于CPB移除时间解码所述第一DU的视频数据。在一些实例中,第二DU为AU中的按解码次序的最后一个DU,或按解码次序紧随AU中的第一DU之后。

DU可为任一DU,包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC12的范围中的非VCLNAL单元。

在AU具有等于0的TemporalId的实例中,所述方法可进一步包含解码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。举例来说,视频解码器30可解码与具有等于0的TemporalId值的AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。

图10为说明根据本发明中描述的技术的用于编码用于子图片层级经译码图片缓冲器参数的序列层级旗标的方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及2的视频编码器20。

所述方法包含在图片时序SEI消息或子图片时序SEI消息中编码用于存取单元(AU)的解码单元(DU)的一或多个子图片层级经译码图片缓冲器(CPB)参数(410)。视频编码器20可在图片时序SEI消息中编码所述一或多个子图片层级CPB参数。替代性地,视频编码器20可在子图片时序SEI消息中编码所述一或多个子图片层级CPB参数。

所述方法进一步包含编码序列层级旗标以指示用于AU的DU的一或多个子图片层级CPB参数在与所述DU相关联的图片时序SEI消息或子图片时序SEI消息中的存在(412)。举例来说,视频编码器20编码序列层级旗标以指示一或多个子图片层级CPB参数的存在及位置。序列层级旗标可为sub_pic_cpb_params_present_flag。在一些实例中,视频编码器20在图片时序SEI消息或子图片时序SEI消息中的仅一者中编码一或多个子图片层级CPB参数。

所述方法可进一步包含至少部分基于所述一或多个子图片层级CPB参数确定DU的CPB移除时间。在一些实例中,确定DU的CPB移除时间包括在不编码初始CPB移除延迟及偏移的情况下确定DU的CPB移除时间。

在一实例中,编码所述一或多个子图片层级CPB参数进一步包括在与DU相关联的子图片时序SEI消息中编码一或多个子图片层级CPB参数。在此实例中,视频编码器20编码序列层级旗标以指示子图片层级CPB参数存在于子图片时序SEI消息中。在另一实例中,编码所述一或多个子图片层级CPB参数进一步包括在与DU相关联的图片时序SEI消息中编码一或多个子图片层级CPB参数。在所述实例中,视频编码器20编码序列层级旗标以指示子图片层级CPB参数存在于图片时序SEI消息中。

在另一实例中,DU为第一DU,且所述方法进一步包含至少部分基于子图片层级CPB参数导出第一DU的CPB移除时间,及编码AU的按解码次序的第二DU的CPB移除时间与第一DU的CPB移除时间之间的持续时间。所述方法可进一步包含至少部分基于CPB移除时间编码所述第一DU的视频数据。在一些实例中,第二DU为AU中的按解码次序的最后一个DU,或按解码次序紧随AU中的第一DU之后。

DU可为任一DU,包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC12的范围中的非VCLNAL单元。

在AU具有等于0的TemporalId的实例中,所述方法可进一步包含编码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。举例来说,视频编码器20可编码与具有等于0的TemporalId值的AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。

图11为说明根据本发明中描述的技术的用于解码具有扩展定义的DU的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及3的视频解码器30。

所述方法包含解码存取单元(AU)中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除与第二DU的CPB移除之间的持续时间,其中第一DU包括nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非视频译码层(VCL)网络抽象层(NAL)单元(500)。即,除了在HEVC WD8中定义的其它DU类型之外,视频解码器30还可解码为nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非视频译码层(VCL)网络抽象层(NAL)单元的DU。

在一些实例,第二DU按解码次序在第一DU之后,且与第一DU在相同的AU中。第二DU可按解码次序紧随在AU中的第一DU之后。在其它实例中,第二DU为AU中的按解码次序的最后一个DU。

所述方法还包含至少部分基于经解码持续时间确定所述第一DU的移除时间(502)。所述方法进一步包含至少部分基于移除时间解码所述第一DU的视频数据(504)。举例来说,视频解码器30部分基于经解码持续时间确定第一DU的移除时间且接着基于移除时间解码第一DU的视频数据。

在一实例中,所述方法可进一步包含解码一或多个子图片层级CPB参数,其中确定第一DU的移除时间包括至少部分基于经解码持续时间及子图片层级CPB参数而确定第一DU的移除时间。解码一或多个子图片层级CPB参数可进一步包含解码与第一DU相关联的子图片时序补充增强信息(SEI)消息。

在第二DU为AU中的按解码次序的最后一个DU的另一实例中,解码子图片SEI消息包含解码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。在一些实例中,视频解码器30解码序列层级旗标以确定子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。

在AU具有等于0的TemporalId的另一实例中,视频解码器30可解码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。所述方法还可包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。

图12为说明根据本发明中描述的技术的用于编码具有扩展定义的DU的方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及2的视频编码器20。

所述方法包含针对包含第一DU的AU确定第二DU的CPB移除时间,其中第二DU按解码次序在第一DU之后,且与第一DU在相同的AU中,且其中第一DU包括nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非视频译码层(VCL)网络抽象层(NAL)单元(510)。即,除了在HEVC WD8中定义的其它DU类型之外,视频编码器20还可编码为nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非VCL NAL单元的DU。第二DU可按解码次序在第一DU之后(包含紧随其后),且与第一DU在相同的AU中。在其它实例中,第二DU为AU中的按解码次序的最后一个DU。

所述方法还包含确定第一DU的CPB移除时间与第二DU的经确定CPB移除时间之间的持续时间(512)。对第一DU的CPB移除时间与第二DU的经确定CPB移除时间之间的持续时间的确定可基于AU的经调度CPB移除时间。所述方法进一步包含编码经确定持续时间(514)。举例来说,视频编码器20确定第一DU与第二DU的CPB移除之间的持续时间,且接着将经确定持续时间编码为语法元素。

在一实例中,所述方法可进一步包含编码一或多个子图片层级CPB参数,其中确定第一DU的经确定持续时间包括至少部分基于经解码持续时间及子图片层级CPB参数而确定第一DU的移除时间。编码一或多个子图片层级CPB参数可进一步包含编码与第一DU相关联的子图片时序SEI消息。

在第二DU为AU中的按解码次序的最后一个DU的另一实例中,编码子图片SEI消息包含在子图片时序SEI消息中编码最后一个DU的移除时间与第一DU的移除时间之间的持续时间。在一些实例中,视频编码器20编码序列层级旗标以指示子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。

在AU具有等于0的TemporalId的另一实例中,视频编码器20可编码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。所述方法还可包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。

图13为说明根据本发明中描述的技术的用于解码缓冲周期及恢复点SEI消息的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及3的视频解码器30。

所述方法包含解码与AU相关联的缓冲周期SEI消息(530)。所述AU具有等于或小于0的temporalId。即,缓冲周期SEI消息受到限制,使得其不能与具有大于0的temporalId的AU相关联。

所述方法进一步包含从缓冲周期SEI消息解码AU中的第一DU的CPB移除与第二DU的CPB移除之间的持续时间(532)。第二DU可与第一DU在相同的AU中。第二DU可按解码次序在第一DU之后(包含紧随其后)。在其它实例中,第二DU可为AU中的按解码次序的最后一个DU。DU可为在HEVC WD8中被接受的任一DU类型,且进一步可为nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的VCL NAL单元。

所述方法可进一步包含至少部分基于所述经解码持续时间确定所述第一DU的移除时间(534)。在一些实例中,视频解码器30可解码一或多个子图片层级CPB参数。确定第一DU的移除时间可进一步包含至少部分基于经解码持续时间及子图片层级CPB参数而确定第一DU的移除时间。解码一或多个子图片层级CPB参数可进一步包含解码与第一DU相关联的子图片时序SEI消息。

所述方法可进一步包含至少部分基于移除时间解码所述第一DU的视频数据(536)。在第二DU为AU中的按解码次序的最后一个DU的实例中,解码子图片SEI消息进一步包含解码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。

所述方法可进一步包含解码序列层级旗标以确定子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。所述方法还可包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。

图14为说明根据本发明中描述的技术的用于编码缓冲周期SEI消息的方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及2的视频编码器20。

所述方法包含编码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息,其中在缓冲周期SEI消息或恢复点SEI消息中的至少一者内编码所述持续时间(540)。因为所述AU具有等于或小于0的temporalId,所以缓冲周期SEI消息受到限制,使得其不能与具有大于0的temporalId的AU相关联。

所述方法还可包含从缓冲周期SEI消息编码在AU中的第一DU的CPB移除时间与第二DU的CPB移除时间之间的持续时间,其中所述AU具有等于0的temporalId(542)。所述方法可进一步包含至少部分基于所述经解码持续时间确定所述第一DU的移除时间(544)。另外,所述方法可包含编码第一DU的视频数据(546)。

所述方法可进一步包含确定在存取单元(AU)中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除与所述AU中的第二DU的CPB移除之间的持续时间,其中所述AU具有等于0的TemporalId。所述第二DU可与所述第一DU在相同的AU中。第二DU可按解码次序在第一DU之后(包含紧随其后)。在其它实例中,第二DU可为AU中的按解码次序的最后一个DU。DU可为在HEVC WD8中被接受的任一DU类型,且进一步可为nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的VCL NAL单元。

在一实例中,确定第一DU的CPB移除之间的持续时间可包含确定第一与第二DU的移除时间。可从第二DU的移除时间减去第一DU的移除时间以确定持续时间。

在一些实例中,视频编码器20可编码一或多个子图片层级CPB参数。确定第一DU的移除时间可进一步包含至少部分基于经编码持续时间及子图片层级CPB参数而确定第一DU的移除时间。编码一或多个子图片层级CPB参数可进一步包含编码与第一DU相关联的子图片时序SEI消息。

所述方法可进一步包含编码第一DU的视频数据。编码第一DU的视频数据可至少部分基于移除时间。在第二DU为AU中的按解码次序的最后一个DU的实例中,编码子图片SEI消息进一步包含在子图片时序SEI消息中编码最后一个DU的移除时间与第一DU的移除时间之间的持续时间。

所述方法可进一步包含编码序列层级旗标以指示子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。所述方法还可包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。

图15为说明根据本发明中描述的技术的用于解码经译码图片缓冲器到达及标称移除时间的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及3的视频解码器30。

所述方法包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义DU是否为整个AU的语法元素的值无关。DU可与AU相关联(560)。所述方法可包含视频解码器30确定语法元素的值。所述语法元素可具有SubPicCpbFlag的形式。响应于所述语法元素具有真值(例如,SubPicCpbFlag为1),所述方法可包含仅针对AU层级导出CPB移除时间。响应于所述语法元素具有假值(例如,SubPicCpbFlag为0),仅针对子图片层级导出CPB移除时间。在一些实例中,仅当指示存在CPB参数的语法旗标具有真值时,才导出CPB到达时间及CPB标称移除时间中的至少一者。

所述方法可进一步包含至少部分基于CPB到达时间及CPB标称移除时间中的一者确定AU的移除时间(562)。所述方法进一步包含至少部分基于移除时间而解码所述AU的视频数据(564)。

所述方法可进一步包含解码AU中的第一DU的CPB移除与第二DU的CPB移除之间的持续时间,至少部分基于经解码持续时间而确定第一DU的移除时间,及至少部分基于移除时间、CPB到达时间及CPB标称移除时间中的至少一者解码第一DU的视频数据。在一些实例,第二DU按解码次序在第一DU之后,且与第一DU在相同的AU中。所述方法可进一步包含解码一或多个子图片层级CPB参数,其中确定第一DU的移除时间包括至少部分基于经解码持续时间及子图片层级CPB参数而确定第一DU的移除时间。

在一些实例中,所述方法还包含解码序列层级旗标以确定子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。

DU可为HEVC WD8中描述的任一类型的DU,包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非VCL NAL单元。

在AU具有不大于0的TemporalId的另一实例中,所述方法进一步包含解码与AU相关联的缓冲周期补充增强信息(SEI)消息或恢复点SEI消息中的至少一者。

图16为说明根据本发明中描述的技术的用于编码经译码图片缓冲器到达及标称移除时间的方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及2的视频编码器20。

所述方法包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义DU是否为整个AU的语法元素的值无关。DU可与AU相关联(570)。所述方法可包含视频编码器20确定语法元素的值。所述语法元素可具有SubPicCpbFlag的形式。响应于所述语法元素具有真值(例如,SubPicCpbFlag为1),视频编码器20可仅针对AU层级导出CPB移除时间。响应于所述语法元素具有假值(例如,SubPicCpbFlag为0),视频编码器20可仅针对子图片层级导出CPB移除时间。在一些实例中,仅当指示存在CPB参数的语法旗标具有真值时,才导出CPB到达时间及CPB标称移除时间中的至少一者。

所述方法可进一步包含至少部分基于CPB到达时间及CPB标称移除时间中的一者确定AU的移除时间(572)。所述方法进一步包含编码经确定的移除时间(574)。在一些实例中,编码移除时间可包含编码AU中的第一DU的CPB移除与第二DU的CPB移除之间的持续时间,至少部分基于经编码持续时间确定第一DU的移除时间,及至少部分基于移除时间、CPB到达时间及CPB标称移除时间中的至少一者编码第一DU的视频数据。在一些实例中,第二DU按解码次序在第一DU之后,且与第一DU在相同的AU中。所述方法可进一步包含编码一或多个子图片层级CPB参数,其中确定第一DU的移除时间包括至少部分基于经编码持续时间及子图片层级CPB参数而确定第一DU的移除时间。所述方法可进一步包含编码AU中的第一DU的CPB移除与第二DU的CPB移除之间的持续时间,其中编码移除时间进一步包括编码持续时间。

在一些实例中,所述方法还包含编码序列层级旗标以指示子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。

DU可为HEVC WD8中描述的任一类型的DU,包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的非VCL NAL单元。

在AU具有不大于0的TemporalId的另一实例中,所述方法进一步包含编码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。

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

通过实例而非限制,此些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器或可用以存储呈指令或数据结构的形式的所要的程序代码且可由计算机存取的任何其它媒体。而且,将任何连接恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电及微波)而从网站、服务器或其它远程源发射指令,那么同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时媒体,而是针对非暂时的有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软性磁盘及Blu-ray光盘,其中磁盘通常以磁性的方式复制数据,而光盘通过激光以光学的方式复制数据。以上的组合还应包含于计算机可读媒体的范围内。

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

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

已描述各种实例。此些及其它实例处于所附权利要求书的范围内。

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