HK1207776B - Method and apparatus for coded picture buffer removal times - Google Patents
Method and apparatus for coded picture buffer removal times Download PDFInfo
- Publication number
- HK1207776B HK1207776B HK15108250.1A HK15108250A HK1207776B HK 1207776 B HK1207776 B HK 1207776B HK 15108250 A HK15108250 A HK 15108250A HK 1207776 B HK1207776 B HK 1207776B
- Authority
- HK
- Hong Kong
- Prior art keywords
- sub
- sei message
- picture
- cpb
- video
- Prior art date
Links
Description
本申请案主张2012年9月24日申请的第61/705,119号美国临时申请案及2012年10月1日申请的第61/708,475号美国临时申请案的优先权,所述申请案中的每一者的全部内容被以引用的方式并入。This application claims priority to U.S. Provisional Application No. 61/705,119, filed September 24, 2012, and U.S. Provisional Application No. 61/708,475, filed October 1, 2012, each of which is incorporated by reference in its entirety.
技术领域Technical Field
本发明涉及视频译码。The present invention relates to video decoding.
背景技术Background Art
可将数字视频能力并入到广泛范围的装置内,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能手机”、视频电话会议装置、视频流式传输装置及类似者。数字视频装置实施视频压缩技术,例如,在由MPEG-2、MPEG-4、ITU-T H.263、 ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)描述的标准、高效率视频译码 (HEVC)标准及此些标准的扩展中描述的技术。视频装置可通过实施此些视频压缩技术来较有效率地发射、接收、编码、解码及/或存储数字视频信息。Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital live broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, tablet computers, e-book readers, digital cameras, digital recording devices, digital media players, video game devices, video game consoles, cellular or satellite radio telephones, so-called "smartphones," video teleconferencing devices, video streaming devices, and the like. Digital video devices implement video compression techniques, such as those described in the standards described by MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4 Part 10 Advanced Video Coding (AVC), the High Efficiency Video Coding (HEVC) standard, and extensions of such standards. By implementing such video compression techniques, video devices can more efficiently transmit, receive, encode, decode, and/or store digital video information.
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分) 分割成视频块,其还可被称作树块、译码单元(CU)及/或译码节点。图片的帧内译码(I)切片中的视频块是使用关于同一图片中的相邻块中的参考样本的空间预测来编码的。图片的帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。Video compression techniques perform spatial (intra-picture) prediction and/or temporal (inter-picture) prediction to reduce or remove redundancy inherent in video sequences. For block-based video coding, a video slice (i.e., a video frame or portion of a video frame) may be partitioned into video blocks, which may also be referred to as treeblocks, coding units (CUs), and/or coding nodes. Video blocks in an intra-coded (I) slice of a picture are encoded using spatial prediction with respect to reference samples in neighboring blocks in the same picture. Video blocks in an inter-coded (P or B) slice of a picture may use spatial prediction with respect to reference samples in neighboring blocks in the same picture or temporal prediction with respect to reference samples in other reference pictures. Pictures may be referred to as frames, and reference pictures may be referred to as reference frames.
空间或时间预测导致用于待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量编码帧间译码的块,且残余数据指示经译码的块与预测性块之间的差。根据帧内译码模式及残余数据编码帧内译码的块。为了进一步压缩,残余数据可从像素域变换到变换域,从而导致接着可被量化的残余变换系数。可扫描最初按二维阵列布置的经量化的变换系数以便产生变换系数的一维向量,且可应用熵译码以达成甚至更多的压缩。Spatial or temporal prediction results in a predictive block for the block to be coded. Residual data represents the pixel differences between the original block to be coded and the predictive block. Inter-coded blocks are encoded according to motion vectors pointing to a block of reference samples forming the predictive block, and the residual data indicates the difference between the coded block and the predictive block. Intra-coded blocks are encoded according to an intra-coding mode and the residual data. For further compression, the residual data can be transformed from the pixel domain to the transform domain, resulting in residual transform coefficients that can then be quantized. The quantized transform coefficients, initially arranged in a two-dimensional array, can be scanned to produce a one-dimensional vector of transform coefficients, and entropy coding can be applied to achieve even more compression.
发明内容Summary of the Invention
一般来说,本发明中描述的技术涉及视频译码中的经译码图片缓冲器移除时间的发信及导出。In general, the techniques described in this disclosure relate to signaling and derivation of coded picture buffer removal times in video coding.
在一实例中,本发明中描述的技术涉及一种用于解码视频数据的方法。所述方法可包含解码在存取单元(AU)中的第一解码单元(DU)的经译码图片缓冲器(CPB)移除时间与第二DU的CPB移除时间之间的持续时间,其中所述第二DU按解码次序在所述第一 DU之后且与所述第一DU在相同的AU中。所述方法可进一步包含至少部分基于所述经解码持续时间确定所述第一DU的移除时间及至少部分基于所述移除时间解码所述第一DU的视频数据。In one example, the techniques described in this disclosure relate to a method for decoding video data. The method may include decoding a duration between a coded picture buffer (CPB) removal time of a first decoding unit (DU) and a CPB removal time of a second DU in an access unit (AU), wherein the second DU follows the first DU in decoding order and is in the same AU as the first DU. The method may further include determining a removal time of the first DU based at least in part on the decoded duration and decoding video data of the first DU based at least in part on the removal time.
在另一实例中,本发明中描述的技术涉及一种用于编码视频数据的方法。所述方法可包含编码在AU中的第一DU的CPB移除时间与第二DU的CPB移除时间之间的持续时间,其中所述第二DU按解码次序在所述第一DU之后且与所述第一DU在相同的 AU中。所述方法可进一步包含至少部分基于所述经编码持续时间确定所述第一DU的移除时间。In another example, the techniques described in this disclosure relate to a method for encoding video data. The method may include encoding a duration between a CPB removal time of a first DU and a CPB removal time of a second DU in an AU, wherein the second DU follows the first DU in decoding order and is in the same AU as the first DU. The method may further include determining a removal time for the first DU based at least in part on the encoded duration.
在又一实例中,提供一种包括视频译码器的视频译码装置。所述视频译码器经配置以译码在AU中的第一DU与第二DU的CPB移除时间之间的持续时间,其中所述第二 DU按解码次序在所述第一DU之后且与所述第一DU在相同的AU中。所述视频译码器经进一步配置以至少基于所述经译码持续时间确定所述DU的移除时间。In another example, a video coding device is provided that includes a video coder configured to code a duration between CPB removal times of a first DU and a second DU in an AU, wherein the second DU follows the first DU in decoding order and is in the same AU as the first DU. The video coder is further configured to determine a removal time of the DU based at least on the coded duration.
本文中描述的技术还包含一种具有存储于其上的指令的计算机可读存储媒体的一实例,所述指令当经执行时使用于译码视频数据的装置的处理器译码AU中的第一DU 与第二DU的CPB移除时间之间的持续时间,其中所述第二DU按解码次序在所述第一 DU之后且与所述第一DU在相同的AU中。所述指令当经执行时还使所述处理器至少基于所述经译码持续时间确定所述DU的移除时间。The techniques described herein also include an example of a computer-readable storage medium having stored thereon instructions that, when executed, cause a processor of a device for decoding video data to code a duration between CPB removal times of a first DU and a second DU in an AU, wherein the second DU follows the first DU in decoding order and is in the same AU as the first DU. The instructions, when executed, further cause the processor to determine a removal time for the DU based at least on the coded duration.
在另一实例中,本发明中描述的技术涉及一种视频译码装置。所述视频译码装置可包含用于译码在存取单元(AU)中的第一解码单元(DU)与第二DU的经译码图片缓冲器(CPB)移除时间之间的持续时间的装置,其中所述第二DU按解码次序在所述第一DU 之后且与所述第一DU在相同的AU中。所述视频译码装置可进一步包含用于至少基于所述经译码持续时间确定所述DU的移除时间的装置。In another example, the techniques described in this disclosure relate to a video coding device. The video coding device may include means for coding a duration between a first decoding unit (DU) and a coded picture buffer (CPB) removal time of a second DU in an access unit (AU), wherein the second DU follows the first DU in decoding order and is in the same AU as the first DU. The video coding device may further include means for determining a removal time of the DU based at least on the coded duration.
可一起或分开来实施此些实例技术。还依据经配置以实施所述技术的设备以及存储使一或多个处理器执行所述技术的指令的计算机可读存储媒体来描述本发明的技术。Such example techniques may be implemented together or separately.The techniques of this disclosure are also described in terms of an apparatus configured to implement the techniques and a computer-readable storage medium storing instructions that cause one or more processors to perform the techniques.
在附图及以下描述中阐明了一或多个实例的细节。从描述及图式且从权利要求书,其它特征、目标及优势将显而易见。The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为说明可利用本发明中描述的技术的实例视频编码及解码系统的框图。1 is a block diagram illustrating an example video encoding and decoding system that may utilize the techniques described in this disclosure.
图2为说明可实施本发明中描述的技术的实例视频编码器的框图。2 is a block diagram illustrating an example video encoder that may implement the techniques described in this disclosure.
图3为说明可实施本发明中描述的技术的实例视频解码器的框图。3 is a block diagram illustrating an example video decoder that may implement the techniques described in this disclosure.
图4为说明可具有根据本发明中描述的技术确定的解码时间的按连续解码次序的两个存取单元(AU)的概念图。4 is a conceptual diagram illustrating two access units (AUs) in consecutive decoding order, which may have decoding times determined according to the techniques described in this disclosure.
图5为说明根据本发明中描述的技术的用于基于AU的第二解码单元(DU)的经译码图片缓冲器(CPB)移除时间确定所述AU中的第一DU的CPB移除时间的方法的流程图。5 is a flow diagram illustrating a method for determining a coded picture buffer (CPB) removal time for a first decoding unit (DU) in an AU based on the CPB removal time of a second DU of the AU, according to the techniques described in this disclosure.
图6为说明根据本发明中描述的技术的用于基于存取单元的第二解码单元的经译码图片缓冲器(CPB)移除时间确定所述存取单元中的第一解码单元的CPB移除时间的另一方法的流程图。6 is a flowchart illustrating another method for determining a coded picture buffer (CPB) removal time for a first decoding unit in an access unit based on the CPB removal time of a second decoding unit of the access unit, according to the techniques described in this disclosure.
图7为说明根据本发明中描述的技术的用于至少部分基于子图片时序SEI消息导出第一DU的CPB移除时间的方法的流程图。7 is a flow diagram illustrating a method for deriving a CPB removal time for a first DU based at least in part on a sub-picture timing SEI message, according to the techniques described in this disclosure.
图8为说明根据本发明中描述的技术的用于至少部分基于编码子图片时序SEI消息导出第一DU的CPB移除时间的另一方法的流程图。8 is a flow diagram illustrating another method for deriving a CPB removal time for a first DU based at least in part on an encoded sub-picture timing SEI message, according to the techniques described in this disclosure.
图9为说明根据本发明中描述的技术的用于解码用于子图片层级经译码图片缓冲器参数的序列层级旗标的方法的流程图。9 is a flowchart illustrating a method for decoding sequence level flags for sub-picture level coded picture buffer parameters according to the techniques described in this disclosure.
图10为说明根据本发明中描述的技术的用于编码用于子图片层级经译码图片缓冲器参数的序列层级旗标的方法的流程图。10 is a flowchart illustrating a method for encoding sequence level flags for sub-picture level coded picture buffer parameters according to the techniques described in this disclosure.
图11为说明根据本发明中描述的技术的用于解码具有扩展定义的DU的方法的流程图。11 is a flowchart illustrating a method for decoding a DU with an extended definition according to the techniques described in this disclosure.
图12为说明根据本发明中描述的技术的用于编码具有扩展定义的DU的方法的流程图。12 is a flowchart illustrating a method for encoding a DU with an extended definition according to the techniques described in this disclosure.
图13为说明根据本发明中描述的技术的用于解码缓冲周期的方法的流程图。13 is a flow diagram illustrating a method for decoding buffering periods according to the techniques described in this disclosure.
图14为说明根据本发明中描述的技术的用于编码缓冲周期的方法的流程图。14 is a flow diagram illustrating a method for encoding a buffering period according to the techniques described in this disclosure.
图15为说明根据本发明中描述的技术的用于解码经译码图片缓冲器到达及标称移除时间的方法的流程图。15 is a flowchart illustrating a method for decoding coded picture buffer arrival and nominal removal times according to the techniques described in this disclosure.
图16为说明根据本发明中描述的技术的用于编码经译码图片缓冲器到达及标称移除时间的方法的流程图。16 is a flowchart illustrating a method for encoding coded picture buffer arrival and nominal removal times according to the techniques described in this disclosure.
具体实施方式DETAILED DESCRIPTION
本发明描述用于视频译码中的经译码数据单元的经译码图片缓冲器(CPB)移除时间的具错误恢复性及有效率的发信及导出的技术。CPB移除时间也被称为解码时间。本发明提供用于确定独立于任一其它存取单元(AU)的移除时间的用于AU的解码单元(DU) 的CPB移除时间的技术。举例来说,将基于AU中按解码次序的下一个DU与当前DU 的CPB移除时间之间的持续时间或AU中的最后一个DU与当前DU的CPB移除时间之间的持续时间而发信用于AU的当前DU的CPB移除时间。在另一实例中,按利用在子图片时序补充增强信息(SEI)消息中携带的信息的方式指定CPB移除时间导出。发信按解码次序在AU中的最后一个DU与相关联于子图片时序SEI消息的DU的CPB移除时间之间的持续时间。This disclosure describes techniques for error-resilient and efficient signaling and derivation of coded picture buffer (CPB) removal times for coded data units in video coding. The CPB removal time is also referred to as the decoding time. This disclosure provides techniques for determining the CPB removal time for a decoding unit (DU) of an access unit (AU) independent of the removal times of any other AUs. For example, the CPB removal time for a current DU of an AU is signaled based on the duration between the CPB removal time of the next DU in decoding order in the AU and the current DU, or the duration between the CPB removal time of the last DU in the AU and the current DU. In another example, CPB removal time derivation is specified using information carried in a sub-picture timing supplemental enhancement information (SEI) message. The duration between the CPB removal time of the last DU in the AU in decoding order and the DU associated with the sub-picture timing SEI message is signaled.
另外,根据本文中描述的技术,提供包含序列层级旗标的技术,所述序列层级旗标可经发信以指示子图片CPB参数存在于图片时序SEI消息或子图片时序SEI消息中的仅一者中但从不存在于两者中。旗标等于1指示子图片层级CPB移除延迟参数存在于图片时序SEI消息中,且不存在子图片时序SEI消息。旗标等于0指示子图片层级CPB移除延迟参数存在于子图片时序SEI消息中,且图片时序SEI消息不包含子图片层级CPB 移除延迟参数。In addition, according to the techniques described herein, techniques are provided that include a sequence-level flag that can be signaled to indicate that sub-picture CPB parameters are present in only one of a picture timing SEI message or a sub-picture timing SEI message, but never in both. A flag equal to 1 indicates that the sub-picture-level CPB removal delay parameters are present in the picture timing SEI message and that no sub-picture timing SEI message is present. A flag equal to 0 indicates that the sub-picture-level CPB removal delay parameters are present in the sub-picture timing SEI message and that the picture timing SEI message does not include the sub-picture-level CPB removal delay parameters.
本发明还提供用于扩展解码单元的定义的技术。本发明进一步提供用于限制缓冲周期SEI消息及恢复点SEI消息使得其不能与具有大于0的变量TemporalId的AU相关联的技术。变量TemporalId是从与每一AU相关联的语法元素导出。本发明还提供用于提供旗标以发信在AU层级还是子图片层级导出CPB移除时间的技术。This disclosure also provides techniques for extending the definition of decoding units. It further provides techniques for restricting buffering period SEI messages and recovery point SEI messages so that they cannot be associated with AUs with a variable TemporalId greater than 0. The variable TemporalId is derived from syntax elements associated with each AU. It also provides techniques for providing a flag to signal whether CPB removal time is derived at the AU level or the sub-picture level.
本文中描述的技术可应用于各种视频译码标准。视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IECMPEG-4Visual及ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。The techniques described herein may be applied to various video coding standards, including ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 or ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, and ITU-T H.264 (also known as ISO/IEC MPEG-4 AVC), including its scalable video coding (SVC) and multi-view video coding (MVC) extensions.
此外,存在正由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获得。In addition, there is a new video coding standard, High Efficiency Video Coding (HEVC), being developed by the Joint Collaboration Team on Video Coding (JCT-VC) of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG). The most recent working draft (WD) of HEVC is Working Draft 8, hereinafter referred to as HEVC WD8. The High Efficiency Video Coding (HEVC) Text Specification Draft 8 by Bross et al. (Stockholm, July 2012) is available from http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip as of May 2, 2013.
HEVC WD8被以引用的方式全部并入本文中。此外,虽然关于HEVC标准描述本发明中描述的技术,但本发明的方面不受如此限制,且可扩展到其它视频译码标准,以及专属视频译码技术。HEVC WD8 is incorporated herein by reference in its entirety.In addition, although the techniques described in this disclosure are described with respect to the HEVC standard, aspects of this disclosure are not so limited and may be extended to other video coding standards, as well as proprietary video coding techniques.
视频编码器可产生包含经编码的视频数据的位流。位流可包括一系列网络抽象层(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的各种方面。A video encoder may generate a bitstream containing encoded video data. The bitstream may include a series of network abstraction layer (NAL) units. The NAL units of the bitstream may include video coding layer (VCL) NAL units and non-VCL NAL units. VCL NAL units may include coded slices of pictures. Non-VCL NAL units may include video parameter sets (VPSs), sequence parameter sets (SPSs), picture parameter sets (PPSs), supplemental enhancement information (SEI), or other types of data. A VPS is a syntax structure that may contain syntax elements that apply to zero or more entire coded video sequences. An SPS is a syntax structure that may contain syntax elements that apply to zero or more entire coded video sequences. A single VPS may apply to multiple SPSs. A PPS is a syntax structure that may contain syntax elements that apply to zero or more entire coded pictures. A single SPS may apply to multiple PPSs. In general, various aspects of the VPS, SPS, and PPS may be formed as defined by the HEVC standard.
NAL单元可包含指示temporalId变量的值的语法元素。NAL单元的temporalId指定NAL单元的时间识别符。如果第一NAL单元的时间识别符小于第二NAL单元的时间识别符,那么可不参考由第二NAL单元封装的数据解码由第一NAL单元封装的数据。A NAL unit may include a syntax element indicating the value of a temporalId variable. The temporalId of a NAL unit specifies the temporal identifier of the NAL unit. If the temporal identifier of a first NAL unit is less than the temporal identifier of a second NAL unit, the data encapsulated by the first NAL unit may be decoded without reference to the data encapsulated by the second NAL unit.
每一视频译码标准通常包含视频缓冲模型的规范。在AVC及HEVC中,缓冲模型被称作假想参考解码器(HRD),其描述数据被缓冲以用于解码的方式及经解码的数据被缓冲以用于输出的方式。HRD包含经译码图片缓冲器(CPB)及经解码图片缓冲器(DPB) 两者的缓冲模型。CPB为先进先出缓冲器,其按由HRD指定的解码次序含有存取单元。 DPB为保持经解码图片以用于参考、输出重排序或由HRD指定的输出延迟的缓冲器。假想参考解码器参数以数学方式指定CPB及DPB的行为。HRD可直接对包含时序、缓冲器大小及位速率的不同参数强加约束,且可间接对位流特性及统计数据强加约束。在一些实例中,一组完整的HRD参数可包含五个基本参数:初始CPB移除延迟、CPB大小、位速率、初始DPB输出延迟及DPB大小。Each video coding standard typically includes specifications for a video buffering model. In AVC and HEVC, the buffering model is called a Hypothetical Reference Decoder (HRD), which describes how data is buffered for decoding and how decoded data is buffered for output. The HRD includes buffering models for both the Coded Picture Buffer (CPB) and the Decoded Picture Buffer (DPB). The CPB is a first-in, first-out buffer that contains access units in the decoding order specified by the HRD. The DPB is a buffer that holds decoded pictures for reference, output reordering, or output delay specified by the HRD. Hypothetical Reference Decoder parameters mathematically specify the behavior of the CPB and DPB. The HRD can directly impose constraints on various parameters, including timing, buffer size, and bitrate, and can indirectly impose constraints on bitstream characteristics and statistics. In some examples, a complete set of HRD parameters may include five basic parameters: initial CPB removal delay, CPB size, bitrate, initial DPB output delay, and DPB size.
在AVC及HEVC中,将位流一致性及解码器一致性指定为HRD规范的部分。虽然假想参考解码器的名称指一种解码器,但通常为了位流一致性在编码器侧需要HRD,而未必在解码器侧需要HRD。然而,本发明的方面不受如此限制,且HRD还可为解码器侧的部分。AVC及HEVC可指定两个类型的位流或HRD一致性,即,类型I及类型II。而且,AVC及HEVC指定两个类型的解码器一致性:输出时序解码器一致性及输出次序解码器一致性。In AVC and HEVC, bitstream conformance and decoder conformance are specified as part of the HRD specification. Although the name of the hypothetical reference decoder refers to a decoder, HRD is generally required on the encoder side for bitstream conformance, but not necessarily on the decoder side. However, aspects of the present invention are not so limited, and HRD can also be part of the decoder side. AVC and HEVC may specify two types of bitstream or HRD conformance, namely Type I and Type II. Furthermore, AVC and HEVC specify two types of decoder conformance: output timing decoder conformance and output order decoder conformance.
在AVC及HEVC HRD模型中,解码或CPB移除是基于存取单元,且所述标准假定图片解码为瞬时的。在实际应用中,如果相符的解码器严格遵照经发信(例如,在补充增强信息(SEI)消息中)的解码时间以开始解码存取单元,那么输出特定经解码图片的最早可能时间等于所述特定图片的解码时间加上解码所述特定图片所需要的时间。即,输出经解码图片的最早时间为解码时间加上用以解码图片的时间。然而,在现实世界中,解码图片所需要的时间无法等于零。In the AVC and HEVC HRD models, decoding or CPB removal is based on access units, and the standards assume that picture decoding is instantaneous. In practice, if a conforming decoder strictly adheres to the decode time signaled (e.g., in a Supplemental Enhancement Information (SEI) message) to start decoding an access unit, then the earliest possible time to output a particular decoded picture is equal to the decode time of that particular picture plus the time required to decode that particular picture. That is, the earliest time to output a decoded picture is the decode time plus the time used to decode the picture. However, in the real world, the time required to decode a picture cannot be equal to zero.
在HEVC WD8中,假想参考解码器(HRD)被指定于附录C中。HRD依赖于HRD 参数,HRD参数可在位流中提供于hrd_parameters()语法结构(在视频参数集(VPS)及/或序列参数集(SPS)中)、缓冲周期SEI消息及图片时序SEI消息中。2012年9月24日申请的第61/705,102号美国临时申请案提议了HRD参数的增强发信及选择。In HEVC WD8, the Hypothetical Reference Decoder (HRD) is specified in Annex C. The HRD relies on HRD parameters, which can be provided in the bitstream in the hrd_parameters() syntax structure (in the Video Parameter Set (VPS) and/or Sequence Parameter Set (SPS)), the buffering period SEI message, and the picture timing SEI message. U.S. Provisional Application No. 61/705,102, filed on September 24, 2012, proposes enhanced signaling and selection of HRD parameters.
可存在与用于CPB移除时间(也被称为解码时间)的发信及导出的现有方法相关联的问题。以下描述此些问题中的一些。There may be problems associated with existing methods for signaling and derivation of CPB removal time (also referred to as decoding time). Some of these problems are described below.
当用于存取单元内的解码单元的CPB移除时间取决于来自先前存取单元的时序信息时,解码单元CPB移除时间可能不为具错误恢复性的。存取单元可包括一或多个解码单元。可针对AU中的每一DU确定移除时间。可针对AU及针对AU内的一或多个DU 发信CPB移除时间。用于AU的SEI消息可包含用于AU自身的CPB移除时间,其还对应于用于AU内的最后一个DU的CPB移除时间。When the CPB removal time for a decoding unit within an access unit depends on timing information from a previous access unit, the decoding unit CPB removal time may not be error-resilient. An access unit may include one or more decoding units. A removal time may be determined for each DU in an AU. A CPB removal time may be signaled for an AU and for one or more DUs within the AU. An SEI message for an AU may include the CPB removal time for the AU itself, which also corresponds to the CPB removal time for the last DU within the AU.
经译码图片缓冲器可在两个层级上操作:存取单元层级及子图片层级。当CPB在子图片层级操作时(即,当SubPicCpbFlag等于1时),在丢失来自按解码次序的先前AU 的信息的情况下,基于图片时序SEI消息的解码单元(DU)CPB移除时间的发信及导出可能不为具错误恢复性的。举例来说,针对当前AU发信的时序信息包含在当前AU中的第一DU与先前AU中的最后一个DU的CPB移除时间之间的持续时间。因此,如果用于先前AU中的最后一个DU的时序信息丢失,那么解码器不能确定用于当前AU中的第一DU的移除时间,这是因为用于第一DU的移除时间取决于丢失的时序信息。The coded picture buffer operates at two levels: the access unit level and the sub-picture level. When the CPB operates at the sub-picture level (i.e., when SubPicCpbFlag is equal to 1), the signaling and derivation of the decoding unit (DU) CPB removal time based on the picture timing SEI message may not be error-resilient if information from the previous AU in decoding order is lost. For example, the timing information signaled for the current AU includes the duration between the CPB removal times of the first DU in the current AU and the last DU in the previous AU. Therefore, if the timing information for the last DU in the previous AU is lost, the decoder cannot determine the removal time for the first DU in the current AU because the removal time for the first DU depends on the lost timing information.
换句话说,当前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之外)。In other words, the signaling of the duration between the first decoding unit in the current AU and the CPB removal time of the last DU in the previous AU in decoding order, and its use in CPB removal time derivation, makes the system or decoder vulnerable to lost timing information. For example, if the CPB removal information (i.e., picture timing SEI message) of the previous AU is lost, the CPB removal time of the first DU in the current AU cannot be correctly derived. Furthermore, except for the last DU in the current AU (whose CPB removal time is derived to be equal to the CPB removal time of the current AU), each of the CPB removal times of all other DUs in the current AU depends on the CPB removal time of the previous DU in decoding order. Therefore, if this loss occurs, the CPB removal time of every DU in the current AU (except the last DU) cannot be correctly derived.
相比之下,本文中描述可减少系统或译码器对于丢失时序信息的易损性。举例来说,提供用于确定独立于任一其它存取单元的移除时间的用于AU的DU的经译码图片缓冲器移除时间的技术。举例来说,视频编码器将基于当前DU与AU中按解码次序的下一个DU的CPB移除时间或AU中的最后一个DU的CPB移除时间之间的持续时间而在图片时序SEI消息中发信待由视频解码器接收的用于AU的DU的CPB移除时间。因此,本发明描述用于视频译码中的经译码数据单元的CPB移除时间的更具错误恢复性及有效率的发信及导出的技术,这是因为用于AU中的每一DU的时序信息不取决于来自另一不同AU的时序信息。In contrast, described herein are techniques that can reduce the vulnerability of a system or decoder to lost timing information. For example, techniques are provided for determining a coded picture buffer removal time for a DU of an AU that is independent of the removal time of any other access unit. For example, a video encoder would signal the CPB removal time for the DU of an AU in a picture timing SEI message to be received by a video decoder based on the duration between the current DU and the CPB removal time of the next DU in decoding order in the AU or the CPB removal time of the last DU in the AU. Thus, the present invention describes techniques for more error-resilient and efficient signaling and derivation of CPB removal times for coded data units in video decoding because the timing information for each DU in an AU does not depend on timing information from another different AU.
与用于发信及导出CPB移除时间的现有方法相关联的另一问题为可能不利用子图片时序SEI消息中的时序信息,即使其存在也是如此。举例来说,可存在携带DU CPB 移除延迟信息的子图片时序SEI消息。然而,按视频解码器始终利用图片时序SEI消息且从不利用子图片时序SEI消息的方式指定子图片层级CPB操作。因此,用以表示子图片时序SEI消息的位可能被浪费。此外,在子图片时序SEI消息中发信的DU CPB移除延迟为相关联的DU的CPB移除时间与相关联于缓冲周期SEI消息的先前AU的第一 DU的CPB移除时间之间的差。虽然此可为稍微具错误恢复性的,但其还可能不具有效率,因为时间差可为有效值。Another issue associated with existing methods for signaling and deriving CPB removal time is that timing information in sub-picture timing SEI messages may not be utilized, even if it exists. For example, a sub-picture timing SEI message may exist that carries DU CPB removal delay information. However, sub-picture-level CPB operation is specified in such a way that video decoders always utilize picture timing SEI messages and never sub-picture timing SEI messages. Therefore, bits used to represent the sub-picture timing SEI message may be wasted. Furthermore, the DU CPB removal delay signaled in the sub-picture timing SEI message is the difference between the CPB removal time of the associated DU and the CPB removal time of the first DU of the previous AU associated with the buffering period SEI message. While this may be somewhat error-resilient, it may also be inefficient because the time difference may be a significant value.
然而,本发明中提供用于按可利用在子图片时序补充增强信息(SEI)消息中携带的信息的方式指定CPB移除时间导出的技术。举例来说,按可利用在子图片时序SEI消息中携带的信息的方式指定CPB移除时间导出,且视频编码器可发信AU中按解码次序的最后一个DU与相关联于子图片时序SEI消息的DU的CPB移除之间的持续时间,从而使编码器发信及解码器导出更有效率及错误恢复性。However, this disclosure provides techniques for specifying CPB removal time derivation in a manner that can utilize information carried in a sub-picture timing supplemental enhancement information (SEI) message. For example, CPB removal time derivation is specified in a manner that can utilize information carried in a sub-picture timing SEI message, and a video encoder can signal the duration between the last DU in decoding order in an AU and the CPB removal of the DU associated with the sub-picture timing SEI message, thereby making encoder signaling and decoder derivation more efficient and error resilient.
与用于CPB移除时间的发信及导出的现有方法相关联的另一问题为,在图片时序SEI消息及子图片时序SEI消息两者中皆可存在用于同一功能性的子图片层级CPB参数。可提供所述功能性以支持基于子图片的CPB操作。针对同一功能性复制此些参数可为效率低下的。可能的情况为:在任一类型的SEI消息中的仅一组子图片层级CPB参数就为足够的。本文中描述配置视频编码器以提供序列层级旗标的技术,所述序列层级旗标可经发信以指示子图片CPB参数存在于图片时序SEI消息或子图片时序SEI消息中的仅一者中但非两者中。透过使用此序列层级旗标,视频解码器确定在图片时序SEI消息中还是在子图片时序SEI消息中找到子图片CPB参数,例如,子图片层级CPB移除延迟参数。Another problem associated with existing methods for signaling and deriving CPB removal time is that sub-picture level CPB parameters for the same functionality may be present in both picture timing SEI messages and sub-picture timing SEI messages. The functionality may be provided to support sub-picture based CPB operations. Duplicating such parameters for the same functionality may be inefficient. It may be the case that only one set of sub-picture level CPB parameters in either type of SEI message is sufficient. Techniques are described herein that configure a video encoder to provide a sequence level flag that may be signaled to indicate that sub-picture CPB parameters are present in only one of the picture timing SEI message or the sub-picture timing SEI message, but not both. By using this sequence level flag, the video decoder determines whether to find sub-picture CPB parameters, e.g., sub-picture level CPB removal delay parameters, in the picture timing SEI message or in the sub-picture timing SEI message.
与用于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的范围中的非VCL NAL单元的技术。Another problem associated with existing methods for signaling and deriving CPB removal time is that the definition of decoding units does not take into account non-VCL NAL units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63. Therefore, when some of these non-VCL NAL units are present, unexpected sub-picture level CPB behavior may occur. In contrast, this disclosure provides techniques for extending the definition of decoding units to include non-VCL NAL units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
与用于CPB移除时间的发信及导出的现有方法相关联的另一潜在问题为,缓冲周期 SEI消息及恢复点SEI消息可与具有时间识别值(TemporalId)的任一值的AU相关联。因此,编码器可在具有大于0的TemporalId的AU处初始化HRD。在此情况下,当支持时间可缩放性时,在同一缓冲周期中的具有较小TemporalId值的AU的CPB移除时间可取决于具有较大TemporalId值的AU中的信息。然而,为了使时间可缩放性起作用,任一AU的解码过程不得取决于具有较大TemporalId的另一AU。本发明进一步提供用于限制缓冲周期SEI消息及恢复点SEI消息使得其不能与具有大于0的TemporalId的 AU相关联的技术。Another potential issue associated with existing methods for signaling and deriving CPB removal times is that buffering period SEI messages and recovery point SEI messages can be associated with AUs with any temporal identification value (TemporalId). Consequently, the encoder can initialize the HRD at AUs with a TemporalId greater than 0. In this case, when temporal scalability is supported, the CPB removal time of AUs with smaller TemporalId values within the same buffering period can depend on information in AUs with larger TemporalId values. However, for temporal scalability to work, the decoding process of any AU must not depend on another AU with a larger TemporalId. This disclosure further provides techniques for restricting buffering period SEI messages and recovery point SEI messages so that they cannot be associated with AUs with a TemporalId greater than 0.
时间识别值(TemporalId)可为指示哪些图片可用于译码当前图片的阶层值。一般来说,具有特定TemporalId值的图片可能为具有相等或较大TemporalId值的图片的参考图片,但并不反之亦然。举例来说,具有TemporalId值1的图片可能为具有TemporalId 值1、2、3……的图片的参考图片,但并非具有TemporalId值0的图片的参考图片。A temporal identifier (TemporalId) is a hierarchical value that indicates which pictures can be used to code the current picture. Generally speaking, a picture with a particular TemporalId value may be a reference picture for pictures with an equal or greater TemporalId value, but not vice versa. For example, a picture with a TemporalId value of 1 may be a reference picture for pictures with TemporalId values of 1, 2, 3, etc., but not for a picture with a TemporalId value of 0.
最低TemporalId值还可指示最低显示速率。举例来说,如果视频解码器仅解码具有 TemporalId值0的图片,那么显示速率可为每秒7.5个图片。如果视频解码器仅解码具有TemporalId值0及1的图片,那么显示速率可为每秒15个图片,等等。The lowest TemporalId value can also indicate the lowest display rate. For example, if the video decoder only decodes pictures with a TemporalId value of 0, the display rate can be 7.5 pictures per second. If the video decoder only decodes pictures with TemporalId values 0 and 1, the display rate can be 15 pictures per second, and so on.
与用于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移除时间可稍不同于默认值。Yet another potential problem associated with existing methods for signaling and deriving CPB removal times is that, during CPB removal time derivation, when sub_pic_cpb_params_present_flag is equal to 1, the derivation of the CPB removal time uses the last arrival time and the nominal removal time for both the case where SubPicCpbFlag is equal to 0 (when the CPB operates at the AU level) and the case where SubPicCpbFlag is equal to 1 (when the CPB operates at the sub-picture level). However, those used values for the last arrival time and the nominal removal time may be derived for only one of the two cases (e.g., for SubPicCPBFlag equal to 0 or for SubPicCPBFlag equal to 1), and therefore may not be used for the other case. The techniques described herein provide a flag to signal whether the decoder will derive the CPB removal time at the AU level or the sub-picture level. For example, according to the techniques described herein, a decoder derives the CPB arrival time and nominal removal time for both the AU level and the sub-picture level, regardless of the value of SubPicCpbFlag. However, the decoder derives the CPB removal time only for the AU level when SubPicCpbFlag is 0 and only for the sub-picture level when SubPicCpbFlag is 1. As described herein, the CPB nominal removal time may be a default value for the CPB removal time. In some examples with typical conditions, the CPB removal time is equal to the CPB nominal removal time. However, under certain conditions, this may be different, and the CPB removal time may differ slightly from the default value.
本发明中描述的以下技术可解决以上描述的问题。举例来说,本发明中描述的技术可提供对经译码图片缓冲器移除时间的更具错误恢复性的确定。此外,除了改进的错误恢复性之外,所述技术还可促进发信效率,从而减小带宽、减少发信额外负担且增加译码效率。而且,本发明中描述的技术可允许适当的时间可缩放性。The following techniques described in this disclosure may address the issues described above. For example, the techniques described in this disclosure may provide a more error-resilient determination of coded picture buffer removal time. Furthermore, in addition to improved error resilience, the techniques may also improve signaling efficiency, thereby reducing bandwidth, reducing signaling overhead, and increasing coding efficiency. Furthermore, the techniques described in this disclosure may allow for appropriate temporal scalability.
举例来说,此些技术可包含确定独立于任一其它存取单元(AU)的移除时间的用于存取单元的解码单元(DU)的经译码图片缓冲器移除时间。举例来说,将基于当前DU与 AU中按解码次序的下一个DU的CPB移除时间或AU中的最后一个DU的CPB移除时间之间的持续时间而发信用于AU的DU的CPB移除时间。根据本文中描述的技术,所述技术还可包含发信序列层级旗标以控制子图片CPB参数在图片时序SEI消息或子图片时序SEI消息中的仅一者中的存在。所述技术还可包含扩展解码单元的定义。额外技术提供限制缓冲周期SEI消息及恢复点SEI消息,使得其不能与具有大于0的变量 TemporalId的AU相关联。所述技术还可包含提供旗标以发信在AU层级还是子图片层级导出CPB移除时间。For example, such techniques may include determining a coded picture buffer removal time for a decoding unit (DU) of an access unit (AU) independent of the removal time of any other access unit (AU). For example, the CPB removal time for a DU will be signaled based on the duration between the current DU and the CPB removal time of the next DU in decoding order in the AU, or the CPB removal time of the last DU in the AU. According to the techniques described herein, the techniques may also include signaling a sequence-level flag to control the presence of sub-picture CPB parameters in only one of a picture timing SEI message or a sub-picture timing SEI message. The techniques may also include extending the definition of a decoding unit. Additional techniques provide for limiting the buffering period SEI message and the recovery point SEI message so that they cannot be associated with AUs with a variable TemporalId greater than 0. The techniques may also include providing a flag to signal whether the CPB removal time is derived at the AU level or the sub-picture level.
以下更详细地描述用于此些技术的实施的细节。未提到的其它部分可与HEVC WD8中相同。The implementation details for these techniques are described in more detail below. Other parts not mentioned may be the same as in HEVC WD8.
图1为说明可利用本发明中描述的技术的实例视频编码及解码系统10的框图。如在图1中所示,系统10包含源装置12,其产生将在稍后时间由目的地装置14解码的经编码的视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任何者,包含桌上型计算机、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”手机)、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置12及目的地装置14可经配备以进行无线通信。FIG1 is a block diagram illustrating an example video encoding and decoding system 10 that may utilize the techniques described in this disclosure. As shown in FIG1 , system 10 includes a source device 12 that generates encoded video data to be decoded at a later time by a destination device 14. Source device 12 and destination device 14 may comprise any of a wide range of devices, including desktop computers, notebook (e.g., laptop) computers, tablet computers, set-top boxes, telephone handsets (e.g., so-called "smart" phones), so-called "smart" pads, televisions, cameras, display devices, digital media players, video game consoles, video streaming devices, or the like. In some cases, source device 12 and destination device 14 may be equipped for wireless communication.
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。在源装置12中,视频源18可包含例如视频俘获装置(例如,视频相机)、含有先前俘获的视频的视频存档、接收来自视频内容提供者的视频的视频馈入接口及/或用于产生计算机图形数据作为源视频的计算机图形系统等源或此些源的组合。作为一实例,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中描述的技术一般可适用于视频译码,且可应用于无线及/或有线应用。1 , source device 12 includes a video source 18, a video encoder 20, and an output interface 22. In some cases, output interface 22 may include a modulator/demodulator (modem) and/or a transmitter. In source device 12, video source 18 may include sources such as a video capture device (e.g., a video camera), a video archive containing previously captured video, a video feed interface that receives video from a video content provider, and/or a computer graphics system for generating computer graphics data as source video, or a combination of such sources. As an example, if video source 18 is a video camera, source device 12 and destination device 14 may form so-called camera phones or video phones. However, the techniques described in this disclosure may be applicable to video coding generally and may be applied to wireless and/or wired applications.
经俘获、预先俘获或计算机产生的视频可由视频编码器20编码。经编码的视频数据可经由源装置12的输出接口22直接发射到目的地装置14。经编码的视频数据还可(或替代性地)存储到存储装置32上,供目的地装置14或其它装置稍后存取,用于解码及/ 或重放。The captured, pre-captured, or computer-generated video may be encoded by video encoder 20. The encoded video data may be transmitted directly to destination device 14 via output interface 22 of source device 12. The encoded video data may also (or alternatively) be stored on storage device 32 for later access by destination device 14 or other devices for decoding and/or playback.
目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些情况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28经由链路16 接收经编码的视频数据。经由链路16传达或在存储装置32上提供的经编码的视频数据可包含由视频编码器20产生以供例如视频解码器30等视频解码器在解码视频数据时使用的各种各样的语法元素。此些语法元素可与在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码的视频数据包含在一起。Destination device 14 includes an input interface 28, a video decoder 30, and a display device 32. In some cases, input interface 28 may include a receiver and/or a modem. Input interface 28 of destination device 14 receives encoded video data via link 16. The encoded video data communicated via link 16 or provided on storage device 32 may include various syntax elements generated by video encoder 20 for use by a video decoder, such as video decoder 30, when decoding the video data. Such syntax elements may be included with the encoded video data transmitted on a communication medium, stored on a storage medium, or stored on a file server.
显示装置32可与目的地装置14集成在一起或在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,且还可经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32对用户显示经解码的视频数据,且可包括各种各样的显示装置中的任一者,例如,液晶显示器(LCD)、等离子体显示器、点矩阵显示器、有机发光二极管(OLED)显示器、电子墨水或另一类型的显示装置。Display device 32 may be integrated with destination device 14 or external to destination device 14. In some examples, destination device 14 may include an integrated display device and may also be configured to interface with an external display device. In other examples, destination device 14 may be a display device. Generally, display device 32 displays the decoded video data to a user and may include any of a variety of display devices, such as a liquid crystal display (LCD), a plasma display, a dot matrix display, an organic light emitting diode (OLED) display, electronic ink, or another type of display device.
目的地装置14可经由链路16接收待解码的经编码的视频数据。链路16可包括能够将经编码的视频数据从源装置12移动到目的地装置14的任一类型的媒体或装置。在一实例中,链路16可包括通信媒体以使源装置12能够实时地将经编码的视频数据直接发射到目的地装置14。经编码的视频数据可根据通信标准(例如,无线通信协议)来调制,且发射到目的地装置14。通信媒体可包括任一无线或有线通信媒体,例如,射频(RF) 频谱或一或多个物理传输线。通信媒体可形成例如局域网、广域网或全球网络(例如,因特网)等基于包的网络的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任一其它设备。Destination device 14 may receive the encoded video data to be decoded via link 16. Link 16 may comprise any type of medium or device capable of moving the encoded video data from source device 12 to destination device 14. In one example, link 16 may comprise a communication medium to enable source device 12 to transmit the encoded video data directly to destination device 14 in real time. The encoded video data may be modulated according to a communication standard (e.g., a wireless communication protocol) and transmitted to destination device 14. The communication medium may comprise any wireless or wired communication medium, such as a radio frequency (RF) spectrum or one or more physical transmission lines. The communication medium may form part of a packet-based network, such as a local area network, a wide area network, or a global network (e.g., the Internet). The communication medium may include routers, switches, base stations, or any other equipment that may be used to facilitate communication from source device 12 to destination device 14.
替代性地,可将经编码的数据从输出接口22输出到存储装置32。类似地,可通过输入接口从存储装置32存取经编码的数据。存储装置32可包含各种各样分散式或本地存取的数据存储媒体中的任一者,例如,硬盘驱动器、Blu-ray光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码的视频数据的任一其它合适数字存储媒体。在再一实例中,存储装置32可对应于文件服务器或可保持由源装置12产生的经编码的视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置32存取存储的视频数据。文件服务器可为能够存储经编码的视频数据且将所述经编码的视频数据发射到目的地装置14的任一类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任一标准数据连接(包含因特网连接)存取经编码的视频数据。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或两者的适合于存取存储于文件服务器上的经编码的视频数据的组合。经编码的视频数据从存储装置32的传输可为流式传输、下载传输或两者的组合。Alternatively, the encoded data may be output from output interface 22 to storage device 32. Similarly, the encoded data may be accessed from storage device 32 via input interface. Storage device 32 may include any of a variety of distributed or locally accessed data storage media, such as a hard drive, Blu-ray disc, DVD, CD-ROM, flash memory, volatile or non-volatile memory, or any other suitable digital storage medium for storing encoded video data. In yet another example, storage device 32 may correspond to a file server or another intermediate storage device that can hold the encoded video generated by source device 12. Destination device 14 may access the stored video data from storage device 32 via streaming or downloading. A file server may be any type of server capable of storing encoded video data and transmitting it to destination device 14. Example file servers include a web server (e.g., for a website), an FTP server, a network attached storage (NAS) device, or a local disk drive. Destination device 14 may access the encoded video data via any standard data connection, including an Internet connection. This may include a wireless channel (e.g., a Wi-Fi connection), a wired connection (e.g., DSL, cable modem, etc.), or a combination of both suitable for accessing encoded video data stored on a file server. The transmission of the encoded video data from storage device 32 may be a streaming transmission, a download transmission, or a combination of both.
本发明的技术未必限于无线应用或设定。所述技术可应用于支持各种各样的多媒体应用(例如,空中电视广播、有线电视传输、卫星电视传输、流式视频传输(例如,经由因特网)、用于在数据存储媒体上存储的数字视频的编码、存储于数据存储媒体上的数字视频的解码或其它应用)中的任何者的视频译码。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频重放、视频广播及/或视频电话等应用。The techniques of this disclosure are not necessarily limited to wireless applications or settings. The techniques may be applied to video coding to support any of a variety of multimedia applications, such as over-the-air television broadcasts, cable television transmissions, satellite television transmissions, streaming video transmissions (e.g., via the Internet), encoding of digital video for storage on data storage media, decoding of digital video stored on data storage media, or other applications. In some examples, system 10 may be configured to support one-way or two-way video transmission to support applications such as video streaming, video playback, video broadcasting, and/or video telephony.
视频编码器20及视频解码器30可根据视频压缩标准(例如,目前由ITU-T视频译码专家组(VCEG)与ISO/IEC动画专家组(MPEG)的关于视频译码的联合合作小组 (JCT-VC)开发中的高效率视频译码(HEVC)标准)操作。视频编码器20及视频解码器30 可根据HEVC WD8操作。替代性地,视频编码器20及视频解码器30可根据例如以下各者的其它专属或工业标准操作:ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262 或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展,或此些标准的扩展。然而,本发明的技术不限于任一特定译码标准。Video encoder 20 and video decoder 30 may operate according to a video compression standard, such as the High Efficiency Video Coding (HEVC) standard currently under development by the Joint Collaboration Team on Video Coding (JCT-VC) of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Motion Picture Experts Group (MPEG). Video encoder 20 and video decoder 30 may operate according to HEVC WD8. Alternatively, video encoder 20 and video decoder 30 may operate according to other proprietary or industry standards, such as ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 or ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, and ITU-T H.264 (also known as ISO/IEC MPEG-4 AVC), including its scalable video coding (SVC) and multi-view video coding (MVC) extensions, or extensions of such standards. However, the techniques of this disclosure are not limited to any particular coding standard.
在一些实例中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当MUX-DEMUX单元或其它硬件及软件,以处置在共同数据流或分开数据流中的音频及视频两者的编码。在一些实例中,如果可应用,那么MUX-DEMUX单元可符合ITUH.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。In some examples, video encoder 20 and video decoder 30 may each be integrated with an audio encoder and decoder and may include appropriate MUX-DEMUX units or other hardware and software to handle the encoding of both audio and video in a common data stream or separate data streams. In some examples, the MUX-DEMUX units may conform to the ITU H.223 multiplexer protocol or other protocols such as the User Datagram Protocol (UDP), if applicable.
视频编码器20及视频解码器30可各自实施为各种各样的合适编码器电路中的任一者,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器执行指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,其中的任一者可集成为相应装置中的组合式编码器/解码器(编解码器,CODEC)的部分。Video encoder 20 and video decoder 30 may each be implemented as any of a variety of suitable encoder circuits, such as one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic, software, hardware, firmware, or any combination thereof. When the techniques are partially implemented in software, the device may store instructions for the software in a suitable non-transitory computer-readable medium and execute the instructions in hardware using one or more processors to perform the techniques of this disclosure. Each of video encoder 20 and video decoder 30 may be included in one or more encoders or decoders, either of which may be integrated as part of a combined encoder/decoder (CODEC) in the respective device.
JCT-VC正致力于HEVC标准的开发。HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的演进模型。HM假设了视频译码装置的相对于根据(例如)ITU-TH.264/AVC的现有装置的若干额外能力。举例来说,H.264提供九个帧内预测编码模式,而HM可提供多达三十三个帧内预测编码模式。The JCT-VC is working on the development of the HEVC standard. The HEVC standardization effort is based on an evolving model of a video coding device known as the HEVC Test Model (HM). The HM assumes several additional capabilities of video coding devices compared to existing devices based on, for example, ITU-T H.264/AVC. For example, while H.264 provides nine intra-frame prediction coding modes, the HM can accommodate up to 33 intra-frame prediction coding modes.
一般来说,HM的工作模型描述了视频帧或图片可被分成包含明度及色度样本两者的一连串树块或最大译码单元(LCU)。树块具有与H.264标准的宏块类似的用途。切片包含按译码次序的许多连续树块。视频帧或图片可被分割成一或多个切片。每一树块可根据四叉树分裂成译码单元(CU)。举例来说,作为四叉树的根节点的树块可分裂成四个子节点,且每一子节点又可为父节点且分裂成另外四个子节点。作为四叉树的叶节点的最后未分裂子节点包括译码节点,即,经译码视频块。与经译码的位流相关联的语法数据可定义树块可被分裂的最大次数,且还可定义译码节点的最小大小。In general, the working model of the HM describes that a video frame or picture can be divided into a series of treeblocks or largest coding units (LCUs) that include both luma and chroma samples. Treeblocks have a similar purpose to macroblocks in the H.264 standard. A slice includes many consecutive treeblocks in coding order. A video frame or picture can be partitioned into one or more slices. Each treeblock can be split into coding units (CUs) according to a quadtree. For example, a treeblock that is the root node of a quadtree can be split into four child nodes, and each child node can be a parent node and split into another four child nodes. The last unsplit child node that is a leaf node of the quadtree comprises a coding node, i.e., a coded video block. Syntax data associated with the coded bitstream can define the maximum number of times a treeblock can be split, and can also define the minimum size of a coding node.
CU包含译码节点及预测单元(PU)及与所述译码节点相关联的变换单元(TU)。CU的大小通常对应于译码节点的大小且在形状上通常为正方形。CU的大小可在从8x8个像素直到具有最大64x64个像素或更大的树块的大小的范围中。每一CU可含有一或多个 PU及一或多个TU。与CU相关联的语法数据可描述(例如)将CU分割成一或多个PU。分割模式在CU被跳过或直接模式编码、帧内预测模式编码或是帧间预测模式编码之间可不同。可将PU分割成非正方形形状。与CU相关联的语法数据还可描述(例如)根据四叉树将CU分割成一或多个TU。TU可为正方形或非正方形形状。A CU includes a coding node and a prediction unit (PU) and a transform unit (TU) associated with the coding node. The size of a CU typically corresponds to the size of the coding node and is typically square in shape. The size of a CU can range from 8x8 pixels up to the size of a treeblock having a maximum of 64x64 pixels or larger. Each CU may contain one or more PUs and one or more TUs. Syntax data associated with a CU may describe, for example, the partitioning of the CU into one or more PUs. The partitioning mode may differ depending on whether the CU is skip or direct mode coded, intra-prediction mode coded, or inter-prediction mode coded. A PU may be partitioned into a non-square shape. Syntax data associated with a CU may also describe, for example, the partitioning of the CU into one or more TUs according to a quadtree. A TU may be square or non-square in shape.
HEVC标准允许根据TU的变换,对于不同CU,TU可不同。通常基于在针对分割的LCU定义的给定CU内的PU的大小来设定TU的大小,但情况并非总是如此。TU 通常大小与PU相同或小于PU。在一些实例中,可使用被称为“残余四叉树”(RQT)的四叉树结构,将对应于CU的残余样本再分成较小单元。RQT的叶节点可被称作变换单元(TU)。与TU相关联的像素差值可经变换以产生变换系数,其可经量化。The HEVC standard allows for transforms based on TUs, which can be different for different CUs. The size of a TU is typically set based on the size of the PU within a given CU defined for a partitioned LCU, but this is not always the case. A TU is typically the same size as or smaller than a PU. In some examples, a quadtree structure called a "residual quadtree" (RQT) can be used to subdivide the residual samples corresponding to a CU into smaller units. The leaf nodes of the RQT can be referred to as transform units (TUs). Pixel difference values associated with a TU can be transformed to produce transform coefficients, which can be quantized.
一般来说,PU包含与预测过程有关的数据。举例来说,当PU经帧内模式编码时, PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义用于PU的运动向量的数据。定义用于PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。In general, a PU includes data related to the prediction process. For example, when the PU is intra-mode encoded, the PU may include data describing the intra-prediction mode used for the PU. As another example, when the PU is inter-mode encoded, the PU may include data defining a motion vector for the PU. The data defining the motion vector for the PU may describe, for example, the horizontal component of the motion vector, the vertical component of the motion vector, the resolution of the motion vector (e.g., quarter-pixel precision or eighth-pixel precision), the reference picture to which the motion vector points, and/or the reference picture list for the motion vector (e.g., List 0, List 1, or List C).
一般来说,将TU用于变换及量化过程。具有一或多个PU的给定CU还可包含一或多个变换单元(TU)。在预测后,视频编码器20可根据PU从由译码节点识别的视频块计算残余值。接着更新译码节点以参考残余值,而非原始视频块。残余值包括可使用变换及TU中指定的其它变换信息变换成变换系数、量化及扫描以产生用于熵译码的串行化变换系数的像素差值。可再一次更新译码节点以参考此些串行化变换系数。本发明通常使用术语“视频块”来指代CU的译码节点。在一些特定情况下,本发明还可使用术语“视频块”来指代树块(即,LCU或CU),其包含译码节点及PU及TU。In general, TUs are used for the transform and quantization process. A given CU with one or more PUs may also include one or more transform units (TUs). After prediction, video encoder 20 may calculate residual values from the video blocks identified by the coding nodes based on the PUs. The coding nodes are then updated to reference the residual values rather than the original video blocks. The residual values include pixel difference values that can be transformed into transform coefficients using the transform and other transform information specified in the TU, quantized, and scanned to produce serialized transform coefficients for entropy coding. The coding nodes may again be updated to reference these serialized transform coefficients. This disclosure generally uses the term "video block" to refer to the coding nodes of a CU. In some specific cases, this disclosure may also use the term "video block" to refer to a treeblock (i.e., an LCU or CU), which includes the coding nodes and the PUs and TUs.
视频序列通常包含一系列视频帧或图片。图片群组(GOP)通常包括视频图片中的一系列的一或多者。GOP可在GOP的标头、图片中的一或多者的标头中或在其它处包含语法数据,所述语法数据描述包含于GOP中的图片的数目。图片的每一切片可包含描述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块操作以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据所指定译码标准而在大小方面不同。A video sequence typically includes a series of video frames or pictures. A group of pictures (GOP) typically includes a series of one or more of the video pictures. A GOP may include syntax data in a header of the GOP, a header of one or more of the pictures, or elsewhere that describes the number of pictures included in the GOP. Each slice of a picture may include slice syntax data that describes the coding mode of the corresponding slice. Video encoder 20 typically operates on video blocks within individual video slices to encode the video data. A video block may correspond to a coding node within a CU. Video blocks may have a fixed or varying size and may differ in size according to a specified coding standard.
作为一实例,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。As an example, the HM supports prediction for various PU sizes. Assuming a particular CU is 2Nx2N, the HM supports intra prediction for PU sizes of 2Nx2N or NxN, and inter prediction for symmetric PU sizes of 2Nx2N, 2NxN, Nx2N, or NxN. The HM also supports asymmetric partitioning for inter prediction for PU sizes of 2NxnU, 2NxnD, nLx2N, and nRx2N. In asymmetric partitioning, the CU is unpartitioned in one direction and partitioned into 25% and 75% partitions in the other direction. The portion of the CU corresponding to the 25% partition is indicated by an "n" followed by an indication of "up," "down," "left," or "right." Thus, for example, "2NxnU" refers to a 2Nx2N CU that is partitioned horizontally into a 2Nx0.5N PU at the top and a 2Nx1.5N PU at the bottom.
在本发明中,“NxN”与“N乘N”可被互换使用以指代视频块的就垂直及水平维度而言的像素尺寸,例如,16x16个像素或16乘16个像素。一般来说,16x16块将在垂直方向上具有16个像素(y=16)且在水平方向上具有16个像素(x=16)。同样地,NxN 块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。可按行及列布置块中的像素。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包括NxM个像素,其中M未必等于N。In this disclosure, "NxN" and "N by N" may be used interchangeably to refer to the pixel dimensions of a video block in terms of vertical and horizontal dimensions, e.g., 16x16 pixels or 16 by 16 pixels. Generally speaking, a 16x16 block will have 16 pixels in the vertical direction (y=16) and 16 pixels in the horizontal direction (x=16). Similarly, an NxN block typically has N pixels in the vertical direction and N pixels in the horizontal direction, where N represents a non-negative integer value. The pixels in a block may be arranged in rows and columns. Furthermore, a block need not necessarily have the same number of pixels in the horizontal direction as in the vertical direction. For example, a block may comprise NxM pixels, where M is not necessarily equal to N.
在使用CU的PU的帧内预测性或帧间预测性译码后,视频编码器20可计算由CU 的TU指定的变换所应用于的残余数据。残余数据可对应于未编码的图片的像素与对应于CU的预测值之间的像素差。视频编码器20可形成用于CU的残余数据,且接着变换残余数据以产生变换系数。After intra-predictive or inter-predictive coding of a PU of a CU, video encoder 20 may calculate residual data to which the transform specified by the TU of the CU is applied. The residual data may correspond to pixel differences between pixels of an unencoded picture and prediction values corresponding to the CU. Video encoder 20 may form the residual data for the CU and then transform the residual data to produce transform coefficients.
在进行任何变换以产生变换系数后,视频编码器20可执行变换系数的量化。量化通常指代变换系数经量化以可能地减少用以表示系数的数据量从而提供进一步压缩的过程。量化过程可减小与所述系数中的一些或所有者相关联的位深度。举例来说,在量化期间可将n位值降值舍位到m位值,其中n大于m。After performing any transforms to generate transform coefficients, video encoder 20 may perform quantization of the transform coefficients. Quantization generally refers to a process in which transform coefficients are quantized to potentially reduce the amount of data used to represent the coefficients, thereby providing further compression. The quantization process may reduce the bit depth associated with some or all of the coefficients. For example, during quantization, an n-bit value may be truncated to an m-bit value, where n is greater than m.
在一些实例中,视频编码器20可利用预定义的扫描次序来扫描经量化的变换系数,以产生可经熵编码的串行化的向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描了经量化的变换系数以形成一维向量后,视频编码器20可熵编码一维向量,例如,根据上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码 (CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率区间分割熵(PIPE) 译码或另一熵编码方法。视频编码器20还可熵编码与经编码的视频数据相关联的语法元素,以供视频解码器30在解码视频数据时使用。In some examples, video encoder 20 may utilize a predefined scan order to scan the quantized transform coefficients to produce a serialized vector that can be entropy encoded. In other examples, video encoder 20 may perform adaptive scanning. After scanning the quantized transform coefficients to form a one-dimensional vector, video encoder 20 may entropy encode the one-dimensional vector, for example, according to context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), syntax-based context-adaptive binary arithmetic coding (SBAC), probability interval partitioning entropy (PIPE) coding, or another entropy encoding method. Video encoder 20 may also entropy encode syntax elements associated with the encoded video data for use by video decoder 30 when decoding the video data.
为了执行CABAC,视频编码器20可将在上下文模型内的上下文指派到待发射的符号。上下文可涉及(例如)符号的相邻值是否为非零。为了执行CAVLC,视频编码器20 可选择用于待发射的符号的可变长度码。在VLC中的码字可经建构,使得相对较短码对应于较可能的符号,而较长码对应于较不可能的符号。以此方式,相较于(例如)将相等长度码字用于待发射的每一符号,对VLC的使用可达成位节省。概率确定可基于指派到符号的上下文。To perform CABAC, video encoder 20 may assign a context within a context model to a symbol to be transmitted. Context may relate to, for example, whether neighboring values of a symbol are nonzero. To perform CAVLC, video encoder 20 may select a variable length code for the symbol to be transmitted. Codewords in VLC may be constructed such that relatively shorter codes correspond to more likely symbols, while longer codes correspond to less likely symbols. In this way, the use of VLC may achieve bit savings compared to, for example, using an equal-length codeword for each symbol to be transmitted. Probability determination may be based on the context assigned to the symbol.
在一些实例中,视频编码器20及视频解码器30可经配置以实施本发明中描述的一或多个实例技术。视频编码器20可按被分解成一或多个解码单元的存取单元的形式编码视频数据。此些存取单元可临时存储于经译码图片缓冲器中。视频解码器30可基于包含于用于相应AU或DU的语法元素中的时序信息来提取DU以用于按解码次序解码。In some examples, video encoder 20 and video decoder 30 may be configured to implement one or more example techniques described in this disclosure. Video encoder 20 may encode video data in the form of access units that are decomposed into one or more decoding units. Such access units may be temporarily stored in a coded picture buffer. Video decoder 30 may extract a DU for decoding in decoding order based on timing information included in syntax elements for the corresponding AU or 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单元。According to the techniques described in this disclosure, the term "decoding unit" may be defined as follows. A decoding unit is an access unit or a subset of an access unit. If the syntax element SubPicCpbFlag is equal to 0, then the decoding unit is an access unit. Otherwise, a DU contains one or more VCL NAL units and associated non-VCL NAL units in an AU. If the non-VCL NAL unit has nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, FD_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63, then the non-VCL NAL unit is associated with the most immediately preceding VCL NAL unit in decoding order; otherwise, the non-VCL NAL unit is associated with the first subsequent VCL NAL unit in decoding order. To correctly consider non-VCL NAL units according to the techniques described herein, a DU may be defined to consider non-VCL NAL units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
根据本发明中描述的技术,术语“操作点”可被定义如下。通过一组 nuh_reserved_zero_6bits值(表示为OpLayerIdSet)及TemporalId值(表示为OpTid)及被导出为子位流提取过程(如在HEVC WD8的子条款10.1中所指定)的输出的相关联的位流子集来识别操作点。语法元素OpTid及OpLayerIdSet可充当输入且可被独立地解码。According to the techniques described in this disclosure, the term "operation point" may be defined as follows. An operation point is identified by a set of nuh_reserved_zero_6bits values (denoted as OpLayerIdSet) and TemporalId values (denoted as OpTid) and an associated bitstream subset derived as the output of the sub-bitstream extraction process (as specified in subclause 10.1 of HEVC WD8). The syntax elements OpTid and OpLayerIdSet may serve as input and may be independently decodable.
根据本文中描述的技术产生的位流的一些实例可具有位流一致性层级。HEVC WD8的子条款10.1描述了位流一致性的要求可为:具有等于0到6的范围中的任何值(包含0 及6)的tIdTarget及具有含有值0的targetDecLayerIdSet的包含于在子条款10.1中指定的过程的输出中的任何子位流可符合HEVC。Some examples of bitstreams generated according to the techniques described herein may have a level of bitstream conformance. Subclause 10.1 of HEVC WD8 describes that the requirement for bitstream conformance may be that any sub-bitstream included in the output of the process specified in subclause 10.1 that has a tIdTarget equal to any value in the range of 0 to 6 (inclusive) and a targetDecLayerIdSet containing a value of 0 may conform to HEVC.
在一些实例中,相符的位流可含有一或多个经译码切片NAL单元,其具有等于0 的nuh_reserved_zero_6bits及等于0的TemporalId。In some examples, a conforming bitstream may contain one or more coded slice NAL units with nuh_reserved_zero_6bits equal to 0 and TemporalId equal to 0.
到本文中描述的过程的输入可为变量tIdTarget及列表targetDecLayerIdSet。输出包含子位流。可通过从位流移除TemporalId大于tIdTarget或nuh_reserved_zero_6bits不在 targetDecLayerIdSet中的值间的所有NAL单元来导出子位流。The input to the process described herein may be the variable tIdTarget and the list targetDecLayerIdSet. The output comprises a sub-bitstream. The sub-bitstream may be derived by removing from the bitstream all NAL units whose TemporalId is greater than tIdTarget or whose nuh_reserved_zero_6bits is not between the values in targetDecLayerIdSet.
每一NAL单元可与标头信息相关联。对于NAL单元标头语义,可指定以下内容。在解码期间,解码器30可忽略(例如,从位流移除及舍弃)使用nal_unit_type的保留值的所有NAL单元的内容。在如在HEVC WD8的附录C中指定的HRD操作中,取决于测试中的选定操作点,可在CPB到达及移除时间的导出中考虑具有nal_unit_type的保留值的NAL单元,但在解码期间,其可被安全地忽略(移除及舍弃)。Each NAL unit may be associated with header information. For NAL unit header semantics, the following may be specified. During decoding, decoder 30 may ignore (e.g., remove and discard from the bitstream) the contents of all NAL units that use the reserved value of nal_unit_type. In HRD operation as specified in Annex C of HEVC WD8, NAL units with the reserved value of nal_unit_type may be considered in the derivation of CPB arrival and removal times, depending on the selected operation point in the test, but may be safely ignored (removed and discarded) during decoding.
在解码期间,解码器可忽略(例如,从位流移除及舍弃)具有不等于0的 nuh_reserved_zero_6bits值的所有NAL单元。在如在HEVC WD8的附录C中指定的HRD 操作中,取决于测试中的选定操作点,可在CPB到达及移除时序的导出中考虑具有 nuh_reserved_zero_6bits的保留值的NAL单元,但在解码期间,其可被安全地忽略(移除及舍弃)。During decoding, the decoder may ignore (e.g., remove from the bitstream and discard) all NAL units with a nuh_reserved_zero_6bits value not equal to 0. In HRD operation as specified in Annex C of HEVC WD8, NAL units with a reserved value of nuh_reserved_zero_6bits may be considered in the derivation of CPB arrival and removal timing, depending on the selected operation point in the test, but may be safely ignored (removed and discarded) during decoding.
经译码图片缓冲器到达时间及移除时间可基于两个层级:存取单元层级及子图片层级。视频译码器(例如,视频编码器20或视频解码器30)可经配置以针对存取单元层级及子图片层级两者导出CPB到达时间及CPB标称移除时间,而与定义DU是否为AU(例如,AU是否包含仅一个DU)的语法元素的值无关。语法元素可为SubPicCpbFlag,其将被针对每一AU发信。如上所论述,当SubPicCpbFlag等于0时,DU组成整个AU。否则,当SubPicCpbFlag等于非零值时,DU包含AU中的一或多个VCL NAL单元及相关联的非VCL NAL单元。在一些实例中,视频译码器可经配置以当语法元素指示DU为 AU时还针对AU层级导出CPB移除时间。在此些实例中的一些中,视频译码器可经配置以当语法元素指示DU为AU时仅针对AU层级导出CPB移除时间。Coded picture buffer arrival and removal times may be based on two levels: the access unit level and the sub-picture level. A video coder (e.g., video encoder 20 or video decoder 30) may be configured to derive CPB arrival and CPB nominal removal times for both the access unit level and the sub-picture level, regardless of the value of the syntax element that defines whether a DU is an AU (e.g., whether the AU includes only one DU). The syntax element may be SubPicCpbFlag, which is signaled for each AU. As discussed above, when SubPicCpbFlag is equal to 0, the DU constitutes the entire AU. Otherwise, when SubPicCpbFlag is equal to a non-zero value, the DU includes one or more VCL NAL units and associated non-VCL NAL units in the AU. In some examples, the video coder may be configured to also derive CPB removal times for the AU level when the syntax element indicates that the DU is an AU. In some of these examples, the video coder may be configured to derive the CPB removal time only for the AU level when the syntax element indicates that the DU is an AU.
在一些实例中,视频译码器(例如,视频编码器20或视频解码器30)可经配置以还当语法元素指示DU不为AU时针对子图片层级导出CPB移除时间。在此些实例中的一些中,视频译码器可经配置以当语法元素指示DU不为AU时仅针对子图片层级导出CPB 移除时间。In some examples, a video coder (e.g., video encoder 20 or video decoder 30) may be configured to also derive the CPB removal time for the sub-picture level when the syntax element indicates that the DU is not an AU. In some of these examples, the video coder may be configured to derive the CPB removal time only for the sub-picture level when the syntax element indicates that the DU is not an AU.
视频译码器可经配置以当第二语法元素指定存在子图片层级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在存取单元层级操作。The video coder may be configured to derive the CPB arrival time and the CPB nominal removal time when a second syntax element specifies that sub-picture level CPB removal delay parameters are present and the CPB may operate at either the AU level or the sub-picture level. The second syntax element may be sub_pic_cpb_params_present_flag. When sub_pic_cpb_params_present_flag is equal to 1, the sub-picture level CPB removal delay parameters are present and the CPB may operate at either the access unit level or the sub-picture level. When sub_pic_cpb_params_present_flag is equal to 0, the sub-picture level CPB removal delay parameters are not present and the CPB operates at the access unit level.
在sub_pic_cpb_params_present_flag等于1的实例中的一些中,视频译码器可经配置以设定变量subPicParamsPresentFlag等于0,且导出AU初始及最后到达时间。接着,视频译码器可经配置以设定变量subPicParamsPresentFlag等于1,且针对在AU内的DU 导出DU初始及最后到达时间。In some of the examples where sub_pic_cpb_params_present_flag is equal to 1, the video coder may be configured to set the variable subPicParamsPresentFlag equal to 0 and derive the AU initial and final arrival times. Then, the video coder may be configured to set the variable subPicParamsPresentFlag equal to 1 and derive the DU initial and final arrival times for the DUs within the AU.
此外,在一些实例中,视频译码器(例如,视频编码器20或视频解码器30)可经配置以译码(例如,编码或解码)存取单元中的第一解码单元与所述存取单元中的第二DU 的CPB移除之间的持续时间。在此实例中,第二DU按解码次序在第一DU之后,且与所述DU在相同的AU中。视频译码器可经配置以至少基于所述经译码持续时间而确定所述第一DU的移除时间。在一些技术中,视频译码器可在不译码初始CPB移除延迟及偏移的情况下确定所述第一DU的移除时间。在一些实例中,第二DU在存取单元中紧跟在第一DU之后。在一些实例中,第二DU按解码次序为存取单元中的最后一个DU。Furthermore, in some examples, a video coder (e.g., video encoder 20 or video decoder 30) may be configured to code (e.g., encode or decode) the duration between the removal of the CPB of a first decoding unit in an access unit and a second DU in the access unit. In this example, the second DU follows the first DU in decoding order and is in the same AU as the first DU. The video coder may be configured to determine the removal time of the first DU based at least on the coded duration. In some techniques, the video coder may determine the removal time of the first DU without coding the initial CPB removal delay and offset. In some examples, the second DU immediately follows the first DU in the access unit. In some examples, the second DU is the last DU in the access unit in decoding order.
视频译码器(例如,视频编码器20或视频解码器30)还可经配置以译码子图片层级CPB参数。在此些实例中,视频译码器可基于经译码持续时间及子图片层级CPB参数中的至少一者而确定第一DU的移除时间。举例来说,子图片层级CPB参数可为与第一 DU相关联的子图片时序SEI消息。在一些实例中,视频译码器可在子图片SEI消息中译码AU中的按解码次序的最后一个DU与第一DU的移除时间之间的持续时间。在一些实例中,视频译码器可译码序列层级旗标以指示子图片层级CPB参数在图片时序SEI 消息中或在子图片时序SEI消息中的存在。A video coder (e.g., video encoder 20 or video decoder 30) may also be configured to code sub-picture-level CPB parameters. In such examples, the video coder may determine a removal time for the first DU based on at least one of a coded duration and the sub-picture-level CPB parameters. For example, the sub-picture-level CPB parameters may be a sub-picture timing SEI message associated with the first DU. In some examples, the video coder may code the duration between the last DU in decoding order in the AU and the removal time of the first DU in the sub-picture SEI message. In some examples, the video coder may code a sequence-level flag to indicate the presence of the sub-picture-level CPB parameters in a picture timing SEI message or in a sub-picture timing SEI message.
举例来说,视频编码器20可经配置以编码AU中的第一DU与AU中的第二DU的 CPB移除之间的持续时间。视频编码器20可在图片时序SEI消息或子图片时序SEI消息中的一者中编码子图片层级CPB参数,例如,子图片层级CPB移除延迟参数。视频编码器20可编码旗标sub_pic_cpb_params_in_pic_timing_sei_flag以指示子图片层级CPB 参数存在于图片时序SEI消息还是子图片时序SEI消息中。For example, video encoder 20 may be configured to encode the duration between CPB removal for a first DU in an AU and a second DU in the AU. Video encoder 20 may encode sub-picture-level CPB parameters, such as sub-picture-level CPB removal delay parameters, in one of a picture timing SEI message or a sub-picture timing SEI message. Video encoder 20 may encode a flag, sub_pic_cpb_params_in_pic_timing_sei_flag, to indicate whether the sub-picture-level CPB parameters are present in the picture timing SEI message or the sub-picture timing SEI message.
举例来说,视频解码器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参数。For example, video decoder 30 may decode the duration between CPB removal of a first DU in an AU and a second DU in the AU. Video decoder 30 may be configured to determine the removal time of the first DU based at least on the decoded duration. In some techniques, the video coder may determine the removal time of the first DU without decoding the initial CPB removal delay and offset. Video decoder 30 may decode sub-picture level CPB parameters from a picture timing SEI message or a sub-picture timing SEI message received from video encoder 20. Video decoder 30 may determine in which SEI message to look for sub-picture level CPB parameters based on the presence of the flag sub_pic_cpb_params_in_pic_timing_sei_flag.
在本发明中描述的实例技术中的一些中,第二DU的时间识别值(TemporalId)可不大于第一DU的TemporalId。在一些实例中,第二DU的TemporalId可不大于零。In some of the example techniques described in this disclosure, the temporal identification value (TemporalId) of the second DU may be no greater than the TemporalId of the first DU. In some examples, the TemporalId of the second DU may be no greater than zero.
举例来说,本发明中描述的技术可提供经译码图片缓冲器移除时间的更具错误恢复性的确定。此外,除了改进的错误恢复性之外,所述技术还可促进发信效率,从而减小带宽、减少发信额外负担且增加译码时间。而且,本发明中描述的技术可允许改进的时间可缩放性。For example, the techniques described in this disclosure may provide for a more error-resilient determination of coded picture buffer removal time. Furthermore, in addition to improved error resilience, the techniques may also facilitate signaling efficiency, thereby reducing bandwidth, reducing signaling overhead, and increasing decoding time. Furthermore, the techniques described in this disclosure may allow for improved temporal scalability.
图2为说明可实施本发明中描述的技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测来减少或移除在给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。FIG2 is a block diagram illustrating an example video encoder 20 that may implement the techniques described in this disclosure. Video encoder 20 may perform intra- and inter-coding of video blocks within a video slice. Intra-coding relies on spatial prediction to reduce or remove spatial redundancy in video within a given video frame or picture. Inter-coding relies on temporal prediction to reduce or remove temporal redundancy in video within adjacent frames or pictures of a video sequence. Intra-mode (I-mode) may refer to any of several spatial-based compression modes. Inter-mode, such as unidirectional prediction (P-mode) or bidirectional prediction (B-mode), may refer to any of several temporal-based compression modes.
在图2的实例中,视频编码器20包含分割单元35、预测处理单元41、求和器50、变换处理单元52、量化单元54及熵编码单元56。预测处理单元41包含运动估计单元 42、运动补偿单元44及帧内预测处理单元46。为了视频块重建构,视频编码器20还包含反量化单元58、反变换处理单元60、求和器62、滤波器单元64及经解码图片缓冲器 (DPB)66。经解码图片缓冲器66还可被称作参考图片存储器。在其它实例中,视频编码器20可包含更多、更少或不同的功能组件。2 , video encoder 20 includes a partition unit 35, a prediction processing unit 41, a summer 50, a transform processing unit 52, a quantization unit 54, and an entropy encoding unit 56. Prediction processing unit 41 includes a motion estimation unit 42, a motion compensation unit 44, and an intra-prediction processing unit 46. For video block reconstruction, video encoder 20 also includes an inverse quantization unit 58, an inverse transform processing unit 60, a summer 62, a filter unit 64, and a decoded picture buffer (DPB) 66. Decoded picture buffer 66 may also be referred to as a reference picture memory. In other examples, video encoder 20 may include more, fewer, or different functional components.
如在图2中所示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。视频数据的此分割还可包含将视频数据分割成切片、平铺块或其它较大单元,以及视频块分割,例如,根据LCU及CU的四叉树结构。视频编码器20大体上说明了编码待编码的视频切片内的视频块的组件。切片可分成多个视频块(且可能分成被称作平铺块的视频块集合)。2, video encoder 20 receives video data, and partitioning unit 35 partitions the data into video blocks. This partitioning of video data may also include partitioning the video data into slices, tiles, or other larger units, as well as video block partitioning, for example, according to a quadtree structure of LCUs and CUs. Video encoder 20 generally illustrates the components that encode video blocks within a video slice to be encoded. A slice may be divided into multiple video blocks (and possibly into sets of video blocks called tiles).
预测处理单元41可基于错误结果(例如,译码率及失真程度)为当前视频块选择多个可能译码模式中的一者(例如,多个帧内译码模式中的一者或多个帧间译码模式中的一者)。预测处理单元41可将所得帧内或帧间译码的块提供到求和器50以产生残余块数据,且提供到求和器62以重建构经编码的块以用作参考图片。Prediction processing unit 41 may select one of multiple possible coding modes (e.g., one of multiple intra-coding modes or one of multiple inter-coding modes) for the current video block based on the error results (e.g., coding rate and distortion level). Prediction processing unit 41 may provide the resulting intra- or inter-coded block to summer 50 to generate residual block data and to summer 62 to reconstruct the encoded block for use as a reference picture.
在预测处理单元41内的帧内预测处理单元46可执行相对于与待译码的当前块在同一帧或切片中的一或多个相邻块的当前视频块的帧内预测性译码以提供空间压缩。在预测处理单元41内的运动估计单元42及运动补偿单元44执行相对于一或多个参考图片中的一或多个预测性块的当前视频块的帧间预测性译码以提供时间压缩。Intra-prediction processing unit 46 within prediction processing unit 41 may perform intra-predictive coding of the current video block relative to one or more neighboring blocks in the same frame or slice as the current block to be coded to provide spatial compression. Motion estimation unit 42 and motion compensation unit 44 within prediction processing unit 41 perform inter-predictive coding of the current video block relative to one or more predictive blocks in one or more reference pictures to provide temporal compression.
运动估计单元42可经配置以根据用于视频序列的预定模式确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指明为P切片、B切片或GPB切片。运动估计单元42与运动补偿单元44可经集成,但为了概念上的目的,被分开地加以说明。由运动估计单元42执行的运动估计为产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示在当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。Motion estimation unit 42 may be configured to determine an inter-prediction mode for a video slice according to a predetermined pattern for a video sequence. The predetermined pattern may designate a video slice in the sequence as a P slice, a B slice, or a GPB slice. Motion estimation unit 42 and motion compensation unit 44 may be integrated but are illustrated separately for conceptual purposes. Motion estimation, performed by motion estimation unit 42, is the process of generating motion vectors that estimate motion for video blocks. For example, a motion vector may indicate the displacement of a PU of a video block within a current video frame or picture relative to a predictive block within a reference picture.
预测性块为被发现在像素差方面紧密匹配待译码的块的PU的块,像素差可由绝对差和(SAD)、平方差和(SSD)或其它差量度确定。在一些实例中,视频编码器20可计算存储于经解码图片缓冲器66中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插四分之一像素位置、八分之一像素位置或参考图片的其它分率像素位置的值。因此,运动估计单元42可执行相对于完全像素位置及分率像素位置的运动搜索,且输出具有分率像素精度的运动向量。A predictive block is a block that is found to closely match the PU of the block to be coded, in terms of pixel difference, which may be determined by sum of absolute difference (SAD), sum of squared difference (SSD), or other difference metrics. In some examples, video encoder 20 may calculate values for sub-integer pixel positions of a reference picture stored in decoded picture buffer 66. For example, video encoder 20 may interpolate values for quarter-pixel positions, eighth-pixel positions, or other fractional pixel positions of the reference picture. Thus, motion estimation unit 42 may perform a motion search relative to full and fractional pixel positions and output a motion vector with fractional pixel precision.
运动估计单元42通过将PU的位置与参考图片的预测性块的位置比较来计算用于经帧间译码的切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中每一者识别存储于经解码图片缓冲器66中的一或多个参考图片。运动估计单元42将计算得的运动向量发送到熵编码单元56及运动补偿单元44。Motion estimation unit 42 calculates a motion vector for a PU of a video block in an inter-coded slice by comparing the position of the PU to the position of a predictive block of a reference picture. The reference picture may be selected from a first reference picture list (List 0) or a second reference picture list (List 1), each of which identifies one or more reference pictures stored in decoded picture buffer 66. Motion estimation unit 42 sends the calculated motion vector to entropy encoding unit 56 and motion compensation unit 44.
由运动补偿单元44执行的运动补偿可涉及基于通过运动估计确定的运动向量而获取或产生预测性块,可能执行到子像素精度的内插。在接收到用于当前视频块的PU的运动向量时,运动补偿单元44可在参考图片列表中的一者中寻找运动向量指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值而形成像素差值来形成残余视频块。像素差值形成块的残余数据,且可包含明度及色度差分量。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素,以供视频解码器30在解码视频切片的视频块时使用。Motion compensation performed by motion compensation unit 44 may involve retrieving or generating a predictive block based on the motion vector determined by motion estimation, possibly performing interpolation to sub-pixel precision. Upon receiving the motion vector for the PU of the current video block, motion compensation unit 44 may search one of the reference picture lists for the predictive block to which the motion vector points. Video encoder 20 forms a residual video block by subtracting pixel values of the predictive block from the pixel values of the current video block being coded, forming pixel difference values. The pixel difference values form residual data for the block and may include luma and chroma difference components. Summer 50 represents the one or more components that perform this subtraction operation. Motion compensation unit 44 may also generate syntax elements associated with the video block and video slice for use by video decoder 30 when decoding the video block of the video slice.
作为对如上所述由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可帧内预测当前块。详细来说,帧内预测处理单元46可确定将用以编码当前块的帧内预测模式。在一些实例中,帧内预测处理单元46可使用各种帧内预测模式编码当前块(例如,在分开的编码遍次期间),且帧内预测处理单元46(或在一些实例中,模式选择单元40)可从所测试的模式中选择适当帧内预测模式以使用。举例来说,帧内预测处理单元46可使用针对各种所测试的帧内预测模式的速率失真分析来计算速率失真值,且在所测试的模式间选择具有最佳速率失真特性的帧内预测模式。速率失真分析大体上确定经编码的块与经编码以产生经编码块的原始的未编码块之间的失真(或误差)的量,以及用以产生经编码块的位速率(即,位数目)。帧内预测处理单元 46可从各种经编码块的失真及速率计算比率以确定哪一帧内预测模式对于所述块展现最佳速率失真值。As an alternative to the inter-prediction performed by motion estimation unit 42 and motion compensation unit 44, as described above, intra-prediction processing unit 46 may intra-predict the current block. In particular, intra-prediction processing unit 46 may determine an intra-prediction mode to be used to encode the current block. In some examples, intra-prediction processing unit 46 may encode the current block using various intra-prediction modes (e.g., during separate encoding passes), and intra-prediction processing unit 46 (or, in some examples, mode selection unit 40) may select an appropriate intra-prediction mode to use from the tested modes. For example, intra-prediction processing unit 46 may calculate rate-distortion values using a rate-distortion analysis for the various tested intra-prediction modes and select the intra-prediction mode with the best rate-distortion characteristics among the tested modes. Rate-distortion analysis generally determines the amount of distortion (or error) between an encoded block and the original, unencoded block that was encoded to produce the encoded block, as well as the bit rate (i.e., the number of bits) used to produce the encoded block. Intra-prediction processing unit 46 may calculate ratios from the distortions and rates for the various encoded blocks to determine which intra-prediction mode exhibits the best rate-distortion value for the block.
在任一情况下,在选择了用于块的帧内预测模式后,帧内预测处理单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技术编码指示选定帧内预测模式的信息。视频编码器20可在发射的位流中包含配置数据,其可包含多个帧内预测模式索引表及多个修改的帧内预测模式索引表(也被称作码字映射表);针对各种块的编码上下文的定义;及用于上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表及修改的帧内预测模式索引表的指示。In either case, after selecting an intra-prediction mode for a block, intra-prediction processing unit 46 may provide information indicating the selected intra-prediction mode for the block to entropy encoding unit 56. Entropy encoding unit 56 may encode the information indicating the selected intra-prediction mode according to the techniques of this disclosure. Video encoder 20 may include configuration data in the transmitted bitstream, which may include multiple intra-prediction mode index tables and multiple modified intra-prediction mode index tables (also referred to as codeword mapping tables); definitions of encoding contexts for various blocks; and indications of the most probable intra-prediction mode, intra-prediction mode index tables, and modified intra-prediction mode index tables for each of the contexts.
在预测处理单元41经由帧间预测或帧内预测产生了当前视频块的预测性块后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中且被应用到变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似的变换等变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域(例如,频域)。After prediction processing unit 41 generates a predictive block for the current video block via inter-prediction or intra-prediction, video encoder 20 forms a residual video block by subtracting the predictive block from the current video block. The residual video data in the residual block may be contained in one or more TUs and applied to transform processing unit 52. Transform processing unit 52 transforms the residual video data into residual transform coefficients using a transform, such as a discrete cosine transform (DCT) or a conceptually similar transform. Transform processing unit 52 may convert the residual video data from the pixel domain to a transform domain (e.g., the frequency domain).
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位速率。量化过程可减小与所述系数中的一些或所有者相关联的位深度。可通过调整量化参数来修改量化的程度。在一些实例中,量化单元54可接着执行对包含经量化的变换系数的矩阵的扫描。替代性地,熵编码单元56可执行扫描。Transform processing unit 52 may send the resulting transform coefficients to quantization unit 54. Quantization unit 54 quantizes the transform coefficients to further reduce the bit rate. The quantization process may reduce the bit depth associated with some or all of the coefficients. The degree of quantization may be modified by adjusting a quantization parameter. In some examples, quantization unit 54 may then perform a scan of the matrix containing the quantized transform coefficients. Alternatively, entropy encoding unit 56 may perform the scan.
在量化后,熵编码单元56可熵编码经量化的变换系数。举例来说,熵编码单元56可执行上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码 (CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率区间分割熵(PIPE) 译码或另一熵编码方法或技术。在由熵编码单元56进行的熵编码后,经编码的位流可被发射到视频解码器30,或经封存以供稍后发射或由视频解码器30检索。熵编码单元 56还可熵编码用于正被译码的当前视频切片的运动向量及其它语法元素。After quantization, entropy encoding unit 56 may entropy encode the quantized transform coefficients. For example, entropy encoding unit 56 may perform context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), syntax-based context adaptive binary arithmetic coding (SBAC), probability interval partitioning entropy (PIPE) coding, or another entropy encoding method or technique. After entropy encoding by entropy encoding unit 56, the encoded bitstream may be transmitted to video decoder 30 or archived for later transmission or retrieval by video decoder 30. Entropy encoding unit 56 may also entropy encode motion vectors and other syntax elements for the current video slice being coded.
反量化单元58及反变换处理单元60分别应用反量化及反变换以重建构像素域中的残余块,以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到在参考图片列表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元 44还可将一或多个内插滤波器应用到重建构的残余块以计算用于在运动估计中使用的子整数像素值。求和器62将经重建构的残余块添加到由运动补偿单元44产生的经运动补偿的预测块以产生参考块供存储于经解码图片缓冲器66中。参考块可由运动估计单元42及运动补偿单元44用作参考块以帧间预测在随后视频帧或图片中的块。Inverse quantization unit 58 and inverse transform processing unit 60 apply inverse quantization and inverse transform, respectively, to reconstruct the residual block in the pixel domain for later use as a reference block for a reference picture. Motion compensation unit 44 may calculate a reference block by adding the residual block to a predictive block of one of the reference pictures within one of the reference picture lists. Motion compensation unit 44 may also apply one or more interpolation filters to the reconstructed residual block to calculate sub-integer pixel values for use in motion estimation. Summer 62 adds the reconstructed residual block to the motion compensated prediction block produced by motion compensation unit 44 to produce a reference block for storage in decoded picture buffer 66. The reference block may be used by motion estimation unit 42 and motion compensation unit 44 as a reference block to inter-predict a block in a subsequent video frame or picture.
视频编码器20还包含滤波器单元64,其可滤波块边界以从经重建构的视频移除方块效应假影。即,滤波器单元64可执行一或多个解块操作以减少与CU相关联的译码块中的方块效应假影。滤波器单元64可为解块滤波器且滤波求和器62的输出。除了滤波器单元64之外,还可使用额外环路滤波器(环路内或环路后)。Video encoder 20 also includes filter unit 64, which may filter block boundaries to remove blocking artifacts from the reconstructed video. That is, filter unit 64 may perform one or more deblocking operations to reduce blocking artifacts in the coding blocks associated with the CU. Filter unit 64 may be a deblocking filter and filters the output of summer 62. In addition to filter unit 64, additional loop filters (in-loop or post-loop) may also be used.
经解码图片缓冲器66可在滤波器单元64对经重建构的译码块执行了一或多个解块操作后存储经重建构的译码块。预测处理单元41可使用含有经重建构的译码块的参考图片对其它图片的PU执行帧间预测。此外,帧内预测处理单元46可使用经解码图片缓冲器66中的经重建构的译码块来对与CU在相同的图片中的其它PU执行帧内预测。Decoded picture buffer 66 may store the reconstructed coding block after filter unit 64 performs one or more deblocking operations on the reconstructed coding block. Prediction processing unit 41 may use a reference picture containing the reconstructed coding block to perform inter prediction on PUs of other pictures. Furthermore, intra-prediction processing unit 46 may use the reconstructed coding block in decoded picture buffer 66 to perform intra prediction on other PUs in the same picture as the CU.
视频编码器20可根据本文中描述的技术产生与AU内的DU的CPB移除时间有关的语法元素。一旦产生了此些语法元素,视频编码器20便将其编码入一或多个位流且输出所述位流。Video encoder 20 may generate syntax elements related to CPB removal time for DUs within an AU according to the techniques described herein.Once such syntax elements are generated, video encoder 20 encodes them into one or more bitstreams and outputs the bitstreams.
根据本发明,预测处理单元41表示用于执行以上描述的实例功能的一实例单元。在其它实例中,不同于预测处理单元41的单元可实施以上描述的实例。在一些其它实例中,预测处理单元41与视频编码器20的一或多个其它单元相结合可实施以上描述的实例。在又一些其它实例中,视频编码器20的处理器或单元可单独或与视频编码器20 的其它单元相结合实施以上描述的实例。According to this disclosure, prediction processing unit 41 represents an example unit for performing the example functionality described above. In other examples, units other than prediction processing unit 41 may implement the examples described above. In some other examples, prediction processing unit 41, in combination with one or more other units of video encoder 20, may implement the examples described above. In still other examples, a processor or unit of video encoder 20, alone or in combination with other units of video encoder 20, may implement the examples described above.
图3为说明可实施本发明中描述的技术的实例视频解码器30的框图。在图3的实例中,视频解码器30包含熵解码单元80、预测处理单元81、反量化单元86、反变换单元88、求和器90及经解码图片缓冲器(DPB)92。预测处理单元81包含运动补偿单元82 及帧内预测处理单元84。将经译码图片缓冲器(CPB)94展示为到视频解码器30的输入。然而,在一些实例中,CPB 94可为视频解码器30的部分。在一些实例中,视频解码器 30可执行与关于来自图2的视频编码器20所描述的编码遍次大体上互逆的解码遍次。FIG3 is a block diagram illustrating an example video decoder 30 that may implement the techniques described in this disclosure. In the example of FIG3, video decoder 30 includes an entropy decoding unit 80, a prediction processing unit 81, an inverse quantization unit 86, an inverse transform unit 88, a summer 90, and a decoded picture buffer (DPB) 92. Prediction processing unit 81 includes a motion compensation unit 82 and an intra-prediction processing unit 84. A coded picture buffer (CPB) 94 is shown as an input to video decoder 30. However, in some examples, CPB 94 may be part of video decoder 30. In some examples, video decoder 30 may perform a decoding pass that is generally reciprocal to the encoding pass described with respect to video encoder 20 from FIG2.
在解码过程期间,视频解码器30接收表示来自视频编码器20的经编码的视频切片及相关联的语法元素的视频块的经编码的视频位流。可从经译码图片缓冲器94提取来自视频编码器20的经编码的视频切片及相关联的语法元素的视频块。来自CPB 94的经编码的视频可包含(例如)包括解码单元(DU)的存取单元(AU)。语法元素可包含指示存取单元及解码单元的CPB移除时间的变量及旗标。During the decoding process, video decoder 30 receives an encoded video bitstream representing video blocks of encoded video slices and associated syntax elements from video encoder 20. The video blocks of encoded video slices and associated syntax elements from video encoder 20 may be extracted from coded picture buffer 94. The encoded video from CPB 94 may include, for example, access units (AUs) including decoding units (DUs). Syntax elements may include variables and flags that indicate CPB removal time for access units and decoding units.
视频解码器30的熵解码单元80熵解码位流以产生经量化的系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转递到预测处理单元81。视频解码器30可在视频切片层级及/或视频块层级接收语法元素。Entropy decoding unit 80 of video decoder 30 entropy decodes the bitstream to generate quantized coefficients, motion vectors, and other syntax elements. Entropy decoding unit 80 forwards the motion vectors and other syntax elements to prediction processing unit 81. Video decoder 30 may receive the syntax elements at the video slice level and/or the video block level.
当将视频切片译码为帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84 可基于所发信的帧内预测模式及来自当前帧或图片的先前解码的块的数据产生用于当前视频切片的视频块的预测数据。当将视频帧译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素而产生当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储于经解码图片缓冲器92中的参考图片使用默认建构技术来建构参考帧列表——列表0及列表1。When the video slice is coded as an intra-coded (I) slice, intra-prediction processing unit 84 of prediction processing unit 81 may generate prediction data for the video block of the current video slice based on the signaled intra-prediction mode and data from previously decoded blocks of the current frame or picture. When the video frame is coded as an inter-coded (i.e., B, P, or GPB) slice, motion compensation unit 82 of prediction processing unit 81 generates predictive blocks for the video block of the current video slice based on motion vectors and other syntax elements received from entropy decoding unit 80. The predictive blocks may be generated from one of the reference pictures within one of the reference picture lists. Video decoder 30 may construct reference frame lists, List 0 and List 1, using a default construction technique based on the reference pictures stored in decoded picture buffer 92.
运动补偿单元82通过剖析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用预测信息来产生正被解码的当前视频块的预测性块。举例来说,运动补偿单元82使用所接收的语法元素中的一些确定用以译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、用于切片的参考图片列表中的一或多者的建构信息、用于切片的每一帧间编码的视频块的运动向量、用于切片的每一帧间译码的视频块的帧间预测状态及用以解码当前视频切片中的视频块的其它信息。Motion compensation unit 82 determines prediction information for video blocks of the current video slice by parsing motion vectors and other syntax elements, and uses the prediction information to generate predictive blocks for the current video block being decoded. For example, motion compensation unit 82 uses some of the received syntax elements to determine the prediction mode (e.g., intra- or inter-prediction) used to code the video blocks of the video slice, the inter-prediction slice type (e.g., B-slice, P-slice, or GPB-slice), construction information for one or more of the reference picture lists for the slice, motion vectors for each inter-coded video block of the slice, inter-prediction status for each inter-coded video block of the slice, and other information used to decode video blocks in the current video slice.
运动补偿单元82还可基于内插滤波器来执行内插。运动补偿单元82可使用如由视频编码器20在视频块的编码期间使用的内插滤波器来计算用于参考块的子整数像素的内插值。在此情况下,运动补偿单元82可从所接收的语法元素确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器产生预测性块。Motion compensation unit 82 may also perform interpolation based on interpolation filters. Motion compensation unit 82 may calculate interpolated values for sub-integer pixels of a reference block using interpolation filters as used by video encoder 20 during encoding of the video block. In this case, motion compensation unit 82 may determine the interpolation filters used by video encoder 20 from the received syntax elements and use the interpolation filters to produce the predictive blocks.
反量化单元86反量化(即,解量化)在位流中提供且由熵解码单元80解码的经量化的变换系数。反量化过程可包含将由视频编码器20计算的量化参数用于视频切片中的每一视频块以确定量化程度,及同样地,确定应应用的反量化的程度。反变换处理单元 88将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用到变换系数以便在像素域中产生残余块。Inverse quantization unit 86 inverse quantizes (i.e., dequantizes) the quantized transform coefficients provided in the bitstream and decoded by entropy decoding unit 80. The inverse quantization process may include applying the quantization parameters calculated by video encoder 20 to each video block in the video slice to determine the degree of quantization, and likewise, the degree of inverse quantization that should be applied. Inverse transform processing unit 88 applies an inverse transform (e.g., an inverse DCT, an inverse integer transform, or a conceptually similar inverse transform process) to the transform coefficients to produce residual blocks in the pixel domain.
在运动补偿单元82基于运动向量及其它语法元素产生当前视频块的预测性块后,视频解码器30通过将来自反变换处理单元88的残余块与由运动补偿单元82产生的对应的预测性块求和来形成经解码的视频块。求和器90表示执行此求和运算的一或多个组件。如果需要,还可应用解块滤波器以滤波经解码的块以便移除方块效应假影。其它环路滤波器(在译码环路中或在译码环路后)还可用以使像素转变变平滑,或以其它方式改进视频质量。在给定帧或图片中的经解码的视频块接着被存储于DPB 92中,DPB 92 存储用于随后运动补偿的参考图片。DPB 92还存储经解码的视频,以供稍后在显示装置(例如,图1的显示装置32)上呈现。After motion compensation unit 82 generates a predictive block for the current video block based on the motion vectors and other syntax elements, video decoder 30 forms a decoded video block by summing the residual block from inverse transform processing unit 88 with the corresponding predictive block generated by motion compensation unit 82. Summer 90 represents one or more components that perform this summing operation. If desired, a deblocking filter may also be applied to filter the decoded block to remove blocking artifacts. Other loop filters (either in the decoding loop or after the decoding loop) may also be used to smooth pixel transitions or otherwise improve video quality. The decoded video blocks in a given frame or picture are then stored in DPB 92, which stores reference pictures used for subsequent motion compensation. DPB 92 also stores the decoded video for later presentation on a display device (e.g., display device 32 of FIG. 1 ).
根据本发明,预测处理单元81表示用于执行以上描述的实例功能的一实例单元。在其它实例中,不同于预测处理单元81的单元可实施以上描述的实例。在一些其它实例中,预测处理单元81与视频解码器30的一或多个其它单元相结合可实施以上描述的实例。在又一些其它实例中,视频解码器30的处理器或单元可单独或与视频解码器30 的其它单元相结合实施以上描述的实例。According to this disclosure, prediction processing unit 81 represents an example unit for performing the example functionality described above. In other examples, units other than prediction processing unit 81 may implement the examples described above. In some other examples, prediction processing unit 81, in combination with one or more other units of video decoder 30, may implement the examples described above. In still other examples, a processor or unit of video decoder 30, alone or in combination with other units of video decoder 30, may implement the examples described above.
视频解码器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。Video decoder 30 may store received video data in the form of a bitstream (including AUs and DUs) in a coded picture buffer (CPB) 94. Video decoder 30 may extract the DUs and AUs from CPB 94 at removal times determined according to syntax elements received in the bitstream by video decoder 30. Flags and variables present in SEI messages may inform video decoder 30 when to remove a DU from CPB 94. At the determined removal time of the current DU, video decoder 30 extracts the current DU from CPB 94 and decodes the DU. In some examples, video decoder 30 also extracts the AU when the current DU is the last DU of the AU.
以下描述CPB 94的操作。此描述可独立地适用于CPB参数中的存在的每一者,且适用于在HEVC WD8中的图C-1所展示的类型I及类型II一致性点,其中按HEVC WD8 的子条款C.1中的指定选择所述组CPB参数。CPB 94的操作可包含位流到达的时序及解码单元移除及解码单元的解码的时序。依次描述每一者。The following describes the operation of CPB 94. This description applies independently to each of the CPB parameters present, and to the Type I and Type II conformance points shown in FIG. C-1 of HEVC WD8, where the set of CPB parameters is selected as specified in subclause C.1 of HEVC WD8. The operation of CPB 94 may include the timing of bitstream arrival and the timing of decoding unit removal and decoding of decoding units. Each is described in turn.
首先,将描述位流到达的时序。对于位流到达的时序,在HRD初始化前,CPB 94 为空的。在一些实例中,在初始化后,可不通过随后缓冲周期SEI消息再次初始化HRD。First, the timing of the bitstream arrival will be described. For the timing of the bitstream arrival, before the HRD is initialized, the CPB 94 is empty. In some examples, after initialization, the HRD may not be initialized again through a subsequent buffering period SEI message.
在本发明中描述的实例中,每一存取单元被称作存取单元“n”,其中数目“n”识别特定存取单元。与初始化CPB 94的缓冲周期SEI消息相关联的存取单元被称作存取单元0。对于按解码次序的每一个随后存取单元,将n的值递增1。In the examples described in this disclosure, each access unit is referred to as access unit "n," where the number "n" identifies the specific access unit. The access unit associated with the buffering period SEI message that initializes CPB 94 is referred to as access unit 0. For each subsequent access unit in decoding order, the value of n is incremented by 1.
每一解码单元被称作解码单元“m”,其中数目“m”识别特定解码单元。存取单元0中的按解码次序的第一解码单元被称作解码单元0。对于按解码次序的每一个随后解码单元,将m的值递增1。Each decoding unit is referred to as decoding unit "m," where the number "m" identifies the particular decoding unit. The first decoding unit in decoding order in access unit 0 is referred to as decoding unit 0. For each subsequent decoding unit in decoding order, the value of m is incremented by one.
当sub_pic_cpb_params_present_flag等于1时,对于存取单元n的存取单元(AU)初始及最后到达时间的导出,首先调用以下过程,其中变量subPicParamsPresentFlag被设定为等于0。接着,对于存取单元n中的解码单元的解码单元初始及最后到达时间的导出,调用以下过程,其中subPicParamsPresentFlag被设定为等于1。When sub_pic_cpb_params_present_flag is equal to 1, for the derivation of access unit (AU) initial and final arrival times for access unit n, the following procedure is first called with the variable subPicParamsPresentFlag set to 0. Then, for the derivation of decoding unit initial and final arrival times for decoding units in access unit n, the following procedure is called with subPicParamsPresentFlag set to 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图片,且因此前两个条件可皆为假。The variables InitCpbRemovalDelay[SchedSelIdx] and InitCpbRemovalDelayOffset[SchedSelIdx] may be set as follows: InitCpbRemovalDelay[SchedSelIdx] and InitCpbRemovalDelayOffset[SchedSelIdx] are set to the values of initial_alt_cpb_removal_delay[SchedSelIdx] and initial_alt_cpb_removal_delay_offset[SchedSelIdx], respectively, corresponding to NalHrdModeFlag in the buffering period SEI message if one of the following three conditions is true: The first condition may be that access unit 0 is a broken-link access (BLA) access unit (whose coded pictures have nal_unit_type equal to BLA_W_DLP or BLA_N_LP) and the value of rap_cpb_params_present_flag of the buffering period SEI message is equal to 1. The second condition may be DefaultInitCpbParamsFlag equal to 0. The third condition may be subPicParamsPresentFlag equal to 1. Note that in some examples, when sub_pic_cpb_params_present_flag is equal to 1, the coded video sequence may not have clear random access (CRA) or BLA pictures, and thus the first two conditions may both be false.
否则,如果以上三个条件皆不为真,那么在按HEVC WD8的子条款C.1中的指定所选择的相关联的缓冲周期SEI消息中将InitCpbRemovalDelay[SchedSelIdx]及InitCpbRemovalDelayOffset[SchedSelIdx]分别设定为对应于NalHrdModeFlag的initial_cpb_removal_delay[SchedSelIdx]及initial_cpb_removal_delay_offset[SchedSelIdx] 的值。Otherwise, if none of the above three conditions are true, then InitCpbRemovalDelay[SchedSelIdx] and InitCpbRemovalDelayOffset[SchedSelIdx] are set to the values of initial_cpb_removal_delay[SchedSelIdx] and initial_cpb_removal_delay_offset[SchedSelIdx], respectively, corresponding to NalHrdModeFlag, in the associated buffering period SEI message selected as specified in subclause C.1 of HEVC WD8.
在本文中描述的实例中,解码单元m的第一位开始进入CPB 94的时间被称作初始到达时间tai(m)。如下导出解码单元m的初始到达时间。如果解码单元为解码单元0(即, m=0),那么tai(0)=0。即,第一解码单元在时间0到达。否则,对于在第一解码单元后的解码单元(m>0的解码单元m),以下适用。In the examples described herein, the time at which the first bit of decoding unit m begins to enter CPB 94 is referred to as the initial arrival time t ai (m). The initial arrival time of decoding unit m is derived as follows. If the decoding unit is decoding unit 0 (i.e., m=0), then t ai (0)=0. That is, the first decoding unit arrives at time 0. Otherwise, for decoding units after the first decoding unit (decoding unit m with m>0), the following applies.
如果cbr_flag[SchedSelIdx]等于1,那么解码单元m的初始到达时间等于解码单元 m-1(先前解码单元)的最后到达时间(tai,在以下导出)。等式1提供关系式:If cbr_flag[SchedSelIdx] is equal to 1, then the initial arrival time of decoding unit m is equal to the last arrival time (t ai , derived below) of decoding unit m-1 (the previous decoding unit). Equation 1 provides the relationship:
tai(m)=taf(m-1) (1)t ai (m) = t af (m-1) (1)
否则(例如,cbr_flag[SchedSelIdx]等于0),解码单元m(例如,对于m>0)的初始到达时间由等式(“等式”)2导出:Otherwise (eg, cbr_flag[SchedSelIdx] is equal to 0), the initial arrival time of decoding unit m (eg, for m>0) is derived by equation (“Equation”) 2:
tai(m)=MAX(taf(m-1),tai,earliest) (2)t ai (m)=MAX(t af (m-1),t ai,earliest ) (2)
如下导出解码单元到达时间tai,earliest。如果解码单元m并非随后缓冲周期的第一解码单元,那么如等式3中所示导出tai,earliest:The decoding unit arrival time tai ,earliest is derived as follows. If the decoding unit m is not the first decoding unit of the subsequent buffering period, then tai ,earliest is derived as shown in Equation 3:
其中tr,n(m)为来自CPB 94的解码单元m的标称移除时间。where t r,n (m) is the nominal removal time of decoding unit m from CPB 94 .
通过等式4导出解码单元m的最后到达时间:The final arrival time of decoding unit m is derived by Equation 4:
其中b(m)为解码单元m的大小(以位计)。如果类型I一致性点适用,那么b(m)包含计数VCL NAL单元及填充符数据NAL单元的位。如果类型II一致性点适用,那么b(m) 包含计数类型II一致性点的类型II位流的所有位。类型I及类型II一致性点是如HEVC WD8的附录C的图C-1中所示。Where b(m) is the size of decoding unit m in bits. If the Type I conformance point applies, then b(m) contains bits that count VCL NAL units and filler data NAL units. If the Type II conformance point applies, then b(m) contains bits that count all bits of the Type II bitstream for the Type II conformance point. Type I and Type II conformance points are as shown in Figure C-1 of Annex C of HEVC WD8.
SchedSelIdx、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]的先前值操作。The values of SchedSelIdx, BitRate[SchedSelIdx], and CpbSize[SchedSelIdx] are constrained as follows: If the contents of the selected hrd_parameters() syntax structure for the access unit containing decoding unit m differ from those of the previous AU (in decoding order) in decoding order, the delivery scheduler (HSS) selects a value of SchedSelIdx, SchedSelIdx1, from the values of SchedSelIdx provided in the selected hrd_parameters() syntax structure for the access unit containing decoding unit m that results in BitRate[SchedSelIdx1] or CpbSize[SchedSelIdx1] for the access unit containing decoding unit m. The value of BitRate[SchedSelIdx1] or CpbSize[SchedSelIdx1] may be different from the value of BitRate[SchedSelIdx0] or CpbSize[SchedSelIdx0] for the previous access unit SchedSelIdx0. Otherwise, if the contents of the selected hrd_parameters() syntax structure are the same for both AUs, the HSS continues to operate with the previous values of SchedSelIdx, BitRate[SchedSelIdx], and CpbSize[SchedSelIdx].
当HSS选择不同于先前存取单元的BitRate[SchedSelIxd]或CpbSize[SchedSelIdx]的值的BitRate[SchedSelIdx]或CpbSize[SchedSelIdx]的值时,以下适用。变量BitRate[SchedSelIdx] 在时间tai(m)开始生效。变量CpbSize[SchedSelIdx]在某些条件下开始生效。When the HSS selects a value for BitRate[SchedSelIdx] or CpbSize[SchedSelIdx] that is different from the value of BitRate[SchedSelIxd] or CpbSize[SchedSelIdx] of the previous access unit, the following applies. The variable BitRate[SchedSelIdx] becomes effective at time t ai (m). The variable CpbSize[SchedSelIdx] becomes effective under certain conditions.
如果CpbSize[SchedSelIdx]的新值大于旧的CPB大小,那么CpbSize[SchedSelIdx]在时间tai(m)开始生效。否则,如果CpbSize[SchedSelIdx]的新值小于或等于旧的CPB大小,那么CpbSize[SchedSelIdx]的新值在含有解码单元m的存取单元的最后一个解码单元的CPB 移除时间开始生效。If the new value of CpbSize[SchedSelIdx] is greater than the old CPB size, then CpbSize[SchedSelIdx] takes effect at time t ai (m). Otherwise, if the new value of CpbSize[SchedSelIdx] is less than or equal to the old CPB size, then the new value of CpbSize[SchedSelIdx] takes effect at the CPB removal time of the last decoding unit of the access unit containing decoding unit m.
当SubPicCpbFlag等于1时,将存取单元n的初始CPB到达时间tai(n)设定为存取单元n中的第一解码单元的初始CPB到达时间。将存取单元n的最后CPB到达时间taf(n) 设定为存取单元n中的最后一个解码单元的最后CPB到达时间。当SubPicCpbFlag等于 0时,每一DU为AU,因此,存取单元n的初始及最后CPB到达时间为解码单元n的初始及最后CPB到达时间。When SubPicCpbFlag is 1, the initial CPB arrival time t ai (n) of access unit n is set to the initial CPB arrival time of the first decoding unit in access unit n. The final CPB arrival time t af (n) of access unit n is set to the final CPB arrival time of the last decoding unit in access unit n. When SubPicCpbFlag is 0, each DU is an AU; therefore, the initial and final CPB arrival times of access unit n are the initial and final CPB arrival times of decoding unit n.
本发明现转向关于解码单元移除及解码单元的解码的时序来描述CPB 94的操作。This disclosure now turns to describing the operation of CPB 94 with respect to the timing of decoding unit removal and decoding of decoding units.
将变量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等于0The variables InitCpbRemovalDelay[SchedSelIdx] and InitCpbRemovalDelayOffset[SchedSelIdx] are used for DU removal time. These two variables are set as follows. If either of the two conditions is true, InitCpbRemovalDelay[SchedSelIdx] and InitCpbRemovalDelayOffset[SchedSelIdx] are set to the values of Initial_alt_cpb_removal_delay[SchedSelIdx] and Initial_alt_cpb_removal_delay_offset[SchedSelIdx], respectively, corresponding to NalHrdModeFlag, in the buffering period SEI message. The first condition is that access unit 0 is a BLA access unit (its coded picture has nal_unit_type equal to BLA_W_DLP or BLA_N_LP), and the value of rap_cpb_params_present_flag in the buffering period SEI message is equal to 1. The second condition is that DefaultInitCpbParamsFlag is equal to 0
如果那些两个条件皆不为真,那么在按HEVC WD8的附录C的子条款C.1中的指定所选择的相关联的缓冲周期SEI消息中将InitCpbRemovalDelay[SchedSelIdx]及InitCpbRemovalDelayOffset[SchedSelIdx]分别设定为对应于NalHrdModeFlag的initial_cpb_removal_delay[SchedSelIdx]及initial_cpb_removal_delay_offset[SchedSelIdx] 的值。If neither of those two conditions is true, then InitCpbRemovalDelay[SchedSelIdx] and InitCpbRemovalDelayOffset[SchedSelIdx] are set to the values of initial_cpb_removal_delay[SchedSelIdx] and initial_cpb_removal_delay_offset[SchedSelIdx], respectively, corresponding to NalHrdModeFlag, in the associated buffering period SEI message selected as specified in subclause C.1 of Annex C of HEVC WD8.
当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消息。When sub_pic_cpb_params_present_flag is equal to 1, the variable CpbRemovalDelay(m), which is related to the delay time for removing decoding unit m from CPB 94, may be derived as follows. If sub_pic_cpb_params_in_pic_timing_sei_flag is equal to 0, then CpbRemovalDelay(m) is set to du_spt_cpb_removal_delay in the sub-picture timing SEI message associated with decoding unit m. The sub-picture timing SEI message may be selected as specified in subclause C.1 of Annex C of HEVC WD8.
如果du_common_cpb_removal_delay_flag等于0,那么在与含有解码单元m的存取单元相关联的按HEVC WD8的附录C的子条款C.1中的指定所选择的图片时序SEI消息中将变量CpbRemovalDelay(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,等等。If du_common_cpb_removal_delay_flag is equal to 0, then the variable CpbRemovalDelay(m) is set to the value of du_cpb_removal_delay_minus1[i] + 1 for decoding unit m in the picture timing SEI message selected as specified in subclause C.1 of Annex C of HEVC WD8, associated with the access unit containing decoding unit m. The value of i is 0 for the first num_nalus_in_du_minus1[0]+1 consecutive decoding units in the access unit containing decoding unit m, 1 for the following num_nalus_in_du_minus1[1]+1 decoding units in the same access unit, 2 for the following num_nalus_in_du_minus1[2]+1 decoding units in the same access unit, and so on.
否则,如果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的值。Otherwise, if sub_pic_cpb_params_present_flag is not equal to 1 and du_common_cpb_removal_delay_flag is not equal to 0, then CpbRemovalDelay(m) is set to the value of du_common_cpb_removal_delay_minus1+1 in the picture timing SEI message selected as specified in subclause C.1 of Annex C of HEVC WD8, associated with the access unit containing decoding unit m.
存取单元n从CPB 94的标称移除时间还可被如下确定。如果存取单元n为存取单元0(即,初始化HRD的存取单元),那么存取单元0从CPB 94的标称移除时间tr,n(0)由等式5指定:The nominal removal time of access unit n from CPB 94 may also be determined as follows. If access unit n is access unit 0 (i.e., the access unit that initializes the HRD), then the nominal removal time tr ,n (0) of access unit 0 from CPB 94 is specified by Equation 5:
否则,对于存取单元n(其中n为非零或尚未初始化HRD),以下适用。当存取单元 n为缓冲周期的未初始化HRD的第一存取单元,那么存取单元n从CPB 94的标称移除时间tr,n(n)由等式6指定:Otherwise, for access unit n (where n is non-zero or the HRD has not been initialized), the following applies. When access unit n is the first access unit of a buffering period without an initialized HRD, then the nominal removal time tr,n (n) of access unit n from CPB 94 is given by Equation 6:
tr,n(n)=tr,n(nb)+tc·(au_cpd_removal_delay_minus1(n)+1) (6)t r,n (n)=t r,n (n b )+t c ·(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) 为当前缓冲周期的第一存取单元的标称移除时间。where t r,n (n b ) is the nominal removal time of the first access unit of the previous buffering period, and au_cpd_removal_delay_minus1(n) is the value of au_cpd_removal_delay_plus1 in the picture timing SEI message associated with access unit n, selected as specified in HEVC WD8 Annex C, subclause C.1. When access unit n is the first access unit of a buffering period, at the nominal removal time t r,n (n) of access unit n, set n b equal to n. When access unit n is not the first access unit of a buffering period, t r,n (n) is given by Equation 6, where t r,n (n b ) is the nominal removal time of the first access unit of the current buffering period.
当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的标称移除时间。When sub_pic_cpb_params_present_flag is equal to 1, the nominal removal time for removing decoding unit m from CPB 94 is specified as follows, where t r,n (n) is the nominal removal time of access unit n: If decoding unit m is the last decoding unit in access unit n, then the nominal removal time t r,n (m) for decoding unit m is set to t r,n (n). That is, the access unit and its last decoding unit are removed from CPB 94 at approximately the same time. Otherwise (that is, decoding unit m is not the last decoding unit in access unit n), the nominal removal time t r,n (m) for decoding unit m is derived as shown in Equation 7, where t r,n (n) is the nominal removal time of access unit n.
如下在等式8中指定存取单元n从CPB 94的移除时间,其中taf(m)及tr,n(m)分别为存取单元n中的最后一个解码单元的最后到达时间及标称移除时间。The removal time of access unit n from CPB 94 is specified as follows in Equation 8, where taf (m) and tr ,n (m) are the final arrival time and nominal removal time of the last decoding unit in access unit n, respectively.
当SubPicCpbFlag等于1时,解码单元m从CPB 94的移除时间被如下指定。如果low_delay_hrd_flag等于0或tr,n(m)≥taf(m),那么解码单元m的移除时间由等式9指定:When SubPicCpbFlag is equal to 1, the removal time of decoding unit m from CPB 94 is specified as follows: If low_delay_hrd_flag is equal to 0 or t r,n (m) ≥ t af (m), then the removal time of decoding unit m is specified by Equation 9:
tr(m)=tr,n(m) (9)t r (m)=t r,n (m) (9)
否则,如果解码单元m并非存取单元n的最后一个解码单元,那么解码单元m的移除时间由等式10指定:Otherwise, if decoding unit m is not the last decoding unit of access unit n, then the removal time of decoding unit m is specified by Equation 10:
否则,如果解码单元m为存取单元n的最后一个解码单元,那么解码单元m的移除时间由等式11指定:Otherwise, if decoding unit m is the last decoding unit of access unit n, then the removal time of decoding unit m is specified by Equation 11:
tr(m)=tr,n(n) (11)t r (m)=t r,n (n) (11)
在一些实例中,当low_delay_hrd_flag等于1且tr,n(m)<taf(m)时,解码单元m的大小b(m)如此之大以至于其防止在标称移除时间被移除。In some examples, when low_delay_hrd_flag is equal to 1 and t r,n (m) < t af (m), the size b(m) of decoding unit m is so large that it prevents it from being removed at the nominal removal time.
在解码单元m的CPB移除时间,对解码单元进行瞬时解码。在解码了图片n的最后一个解码单元后,将所述图片视为经解码。At the CPB removal time of decoding unit m, decoding unit is instantaneously decoded. After the last decoding unit of picture n is decoded, the picture is considered decoded.
下列表说明可用以实施本发明中描述的实例技术的语法及语义。表1提供缓冲周期 SEI消息的实例语法及语义。表2提供图片时序SEI消息的实例语法及语义。可通过SEI消息的语法及语义确定CPB 94的功能性。举例来说,视频解码器30至少部分基于缓冲周期及图片时序SEI消息而从CPB 94提取DU。The following tables illustrate syntax and semantics that may be used to implement example techniques described in this disclosure. Table 1 provides example syntax and semantics for a buffering period SEI message. Table 2 provides example syntax and semantics for a picture timing SEI message. The functionality of CPB 94 may be determined by the syntax and semantics of the SEI messages. For example, video decoder 30 extracts DUs from CPB 94 based at least in part on the buffering period and picture timing SEI messages.
缓冲周期补充增强信息(SEI)消息提供初始CPB移除延迟及初始CPB移除延迟偏移的信息。所述缓冲周期SEI消息语法可与在2012年9月24日申请的第61/705,102号美国临时申请案中的缓冲周期SEI消息语法相同,且语义做如下改变。在以下展示的表1 中提供缓冲周期SEI消息语法。The Buffering Period Supplemental Enhancement Information (SEI) message provides information about the initial CPB removal delay and the initial CPB removal delay offset. The Buffering Period SEI message syntax may be the same as the Buffering Period SEI message syntax described in U.S. Provisional Application No. 61/705,102, filed on September 24, 2012, with the following semantic changes. The Buffering Period SEI message syntax is provided in Table 1 below.
表1:缓冲周期SEI消息语法Table 1: Buffering period SEI message syntax
将缓冲周期指定为按解码次序在缓冲周期SEI消息的两个连续实例之间的存取单元的集合。The buffering period is specified as the set of access units between two consecutive instances of the buffering period SEI message in decoding order.
以下应用于缓冲周期SEI消息语法及语义。位流(或其一部分)指代与缓冲周期SEI消息应用于的操作点中的任何者相关联的位流子集(或其一部分)。The following applies to the buffering period SEI message syntax and semantics.A bitstream (or a portion thereof) refers to a bitstream subset (or a portion thereof) associated with any of the operation points to which the buffering period SEI message applies.
对于缓冲周期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()语法结构中的语法元素中或从所述语法元素导出。For the buffering period SEI message, the syntax elements initial_cpb_removal_delay_length_minus1 and sub_pic_cpb_params_present_flag, and the variables NalHrdBpPresentFlag, VclHrdBpPresentFlag, CpbSize[SchedSelIdx], BitRate[SchedSelIdx], and CpbCnt may be found in or derived from syntax elements in the hrd_parameters() syntax structure and the sub_layer_hrd_parameters() syntax structure that may be applicable to any of the operation points to which the buffering period SEI message applies.
缓冲周期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的值相同。A buffering period SEI message may have two operation points with different OpTid values, tIdA and tIdB. Having any two operation points with different OpTid values indicates that the values of cpb_cnt_minus1[tIdA] and cpb_cnt_minus1[tIdB] coded in the hrd_parameters() syntax structure applicable to the respective operation points are the same. Additionally, a buffering period SEI message may have two operation points in the buffering period SEI message with different OpLayerIdSet values, layerIdSetA and layerIdSetB. Having any two operation points with different OpLayerIdSet values indicates that the values of nal_hrd_parameters_present_flag and vcl_hrd_parameters_present_flag are the same for the two hrd_parameters() syntax structures applicable to the two operation points, respectively.
如果NalHrdBpPresentFlag或VclHrdBpPresentFlag等于1,那么可适用于指定操作点的缓冲周期SEI消息可存在于经译码视频序列中的具有等于0的TemporalId的任一 AU中,且可适用于指定操作点的缓冲周期SEI消息可存在于每一随机存取点(RAP)AU 中及与恢复点SEI消息相关联的每一AU中。否则(NalHrdBpPresentFlag及 VclHrdBpPresentFlag皆等于0),经译码视频序列中无存取单元可具有可适用于指定操作点的缓冲周期SEI消息。If NalHrdBpPresentFlag or VclHrdBpPresentFlag is equal to 1, the buffering period SEI message applicable to the specified operation point may be present in any AU in the coded video sequence with a TemporalId equal to 0, and the buffering period SEI message applicable to the specified operation point may be present in each random access point (RAP) AU and in each AU associated with the recovery point SEI message. Otherwise (both NalHrdBpPresentFlag and VclHrdBpPresentFlag are equal to 0), no access unit in the coded video sequence may have a buffering period SEI message applicable to the specified operation point.
对于一些应用,缓冲周期SEI消息的频繁存在可为合乎需要的。For some applications, frequent presence of buffering period SEI messages may be desirable.
当含有缓冲周期SEI消息且具有等于0的nuh_reserved_zero_6bits的SEI NAL单元存在时,SEI NAL单元可按解码次序在AU中的第一VCL NAL单元前。When a SEI NAL unit containing a buffering period SEI message and with nuh_reserved_zero_6bits equal to 0 is present, the SEI NAL unit may precede the first VCL NAL unit in the AU in decoding order.
与缓冲周期SEI消息相关联的存取单元可具有等于0的TemporalId。The access unit associated with the buffering period SEI message may have a TemporalId equal to 0.
将变量CpbCnt导出为等于cpb_cnt_minus1[tId]+1,其中在可适用于缓冲周期SEI消息应用于且具有等于tId的OpTid的操作点中的任何者的hrd_parameters()语法结构中译码cpb_cnt_minus1[tId]。The variable CpbCnt is derived to be equal to cpb_cnt_minus1[tId]+1, where cpb_cnt_minus1[tId] is coded in the hrd_parameters() syntax structure applicable to any of the operation points to which the buffering period SEI message applies and with OpTid equal to tId.
可如下定义缓冲周期SEI消息中的下列语法元素及变量:seq_parameter_set_id指代作用中序列参数集。seq_parameter_set_id的值可等于由与缓冲周期SEI消息相关联的经译码图片参考的图片参数集(“PPS”)中的seq_parameter_set_id的值。 seq_parameter_set_id的值可在0到31的范围中(包含0及31)。The following syntax elements and variables in the buffering period SEI message may be defined as follows: seq_parameter_set_id refers to the active sequence parameter set. The value of seq_parameter_set_id may be equal to the value of seq_parameter_set_id in the picture parameter set ("PPS") referenced by the coded picture associated with the buffering period SEI message. The value of seq_parameter_set_id may be in the range of 0 to 31, inclusive.
旗标rap_cpb_params_present_flag等于1指定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。The flag rap_cpb_params_present_flag equal to 1 specifies the presence of the initial_alt_cpb_removal_delay[SchedSelIdx] and initial_alt_cpb_removal_delay_offset[SchedSelIdx] syntax elements. When not present, the value of rap_cpb_params_present_flag may be inferred to be equal to 0. The value of rap_cpb_params_present_flag may be equal to 0 when the associated picture is neither a CRA picture nor a BLA picture.
序列元素initial_cpb_removal_delay[SchedSelIdx]及initial_alt_cpb_removal_delay [SchedSelIdx]分别指定第SchedSelIdx个CPB的默认及替代性初始CPB移除延迟。所述语法元素具有由initial_cpb_removal_delay_length_minus1+1给出的以位计的长度,且以(例如)90kHz时钟为单位。语法元素的值可不等于0,且可小于或等于The sequence elements initial_cpb_removal_delay[SchedSelIdx] and initial_alt_cpb_removal_delay[SchedSelIdx] specify the default and alternative initial CPB removal delays for the SchedSelIdx-th CPB, respectively. The syntax elements have a length in bits given by initial_cpb_removal_delay_length_minus1+1 and are in units of, for example, a 90 kHz clock. The value of the syntax element may not be equal to 0 and may be less than or equal to
其为CPB大小的以90kHz时钟为单位的时间当量。It is the time equivalent of the CPB size in units of a 90kHz clock.
语法元素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)。The syntax elements initial_cpb_removal_delay_offset[SchedSelIdx] and initial_alt_cpb_removal_delay_offset[SchedSelIdx] specify the default and alternative initial CPB removal offsets for the SchedSelIdx-th CPB, respectively. These syntax elements have a length (in bits) given by initial_cpb_removal_delay_length_minus1+1 and are in units of a 90 kHz clock. These syntax elements may not be used by the decoder and may only be needed for the delivery scheduler (HSS) specified in Annex C of HEVC WD8.
在整个经译码视频序列上,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的每一值可为恒定的。Over the entire coded video sequence, the sum of initial_cpb_removal_delay[SchedSelIdx] and initial_cpb_removal_delay_offset[SchedSelIdx] may be constant for each value of SchedSelIdx, and the sum of initial_alt_cpb_removal_delay[SchedSelIdx] and initial_alt_cpb_removal_delay_offset[SchedSelIdx] may be constant for each value of SchedSelIdx.
图片时序SEI消息提供与SEI消息相关联的存取单元的CPB移除延迟及DPB输出延迟的信息。图片时序SEI消息语法及语义的一实例是如下表2中。The picture timing SEI message provides information on the CPB removal delay and DPB output delay of the access unit associated with the SEI message. An example of the picture timing SEI message syntax and semantics is shown in Table 2 below.
表2:图片时序SEI消息语法及语义Table 2: Picture Timing SEI Message Syntax and Semantics
以下内容适用于图片时序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()语法结构中的语法元素中或从所述语法元素导出。The following applies to picture timing SEI message syntax and semantics. The syntax elements 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, and du_cpb_removal_delay_length_minus1, and the variable CpbDpbDelaysPresentFlag may be found in or derived from syntax elements in the hrd_parameters() and sub_layer_hrd_parameters() syntax structures that may be applicable to any of the operation points to which the picture timing SEI message applies.
位流(或其一部分)指代与图片时序SEI消息应用于的操作点中的任何者相关联的位流子集(或其一部分)。然而,注意,图片时序SEI消息的语法可取决于可适用于图片时序SEI消息应用于的操作点的hrd_parameters()语法结构的内容。此些hrd_parameters()语法结构可在对于与图片时序SEI消息相关联的经译码图片在作用中的视频参数集及/ 或序列参数集中。当图片时序SEI消息与为位流中的第一存取单元的CRA存取单元、IDR 存取单元或BLA存取单元相关联时,除非其前面有在同一存取单元内的缓冲周期SEI 消息,否则视频参数集及序列参数集的启动(及对于并非位流中的第一图片的IDR或 BLA图片,对经译码图片为IDR图片或BLA图片的确定)直到解码了经译码图片的第一经译码切片NAL单元才发生。由于经译码图片的经译码切片NAL单元按NAL单元次序跟在图片时序SEI消息后,因此可存在解码器有必要存储含有图片时序SEI消息的原始字节序列有效负载(RBSP)直到确定作用中视频参数集及/或作用中序列参数集且接着执行图片时序SEI消息的剖析的情况。A bitstream (or a portion thereof) refers to a bitstream subset (or a portion thereof) associated with any of the operation points to which the picture timing SEI message applies. However, note that the syntax of the picture timing SEI message may depend on the contents of the hrd_parameters() syntax structure applicable to the operation point to which the picture timing SEI message applies. Such hrd_parameters() syntax structures may be in the active video parameter set and/or sequence parameter set for the coded picture associated with the picture timing SEI message. When a picture timing SEI message is associated with a CRA access unit, an IDR access unit, or a BLA access unit that is the first access unit in the bitstream, activation of the video parameter set and sequence parameter set (and, for an IDR or BLA picture that is not the first picture in the bitstream, determination that the coded picture is an IDR or BLA picture) does not occur until the first coded slice NAL unit of the coded picture is decoded, unless it is preceded by a buffering period SEI message within the same access unit. Since the coded slice NAL units of a coded picture follow the picture timing SEI message in NAL unit order, there may be situations where it is necessary for the decoder to store the original byte sequence payload (RBSP) containing the picture timing SEI message until the active video parameter set and/or active sequence parameter set is determined and then perform parsing of the picture timing SEI message.
如下指定图片时序SEI消息在位流中的存在。如果CpbDpbDelaysPresentFlag等于1,那么可适用于指定操作点的一个图片时序SEI消息可存在于经译码视频序列的每一存取单元中。否则,举例来说,如果CpbDpbDelaysPresentFlag等于0,那么无可适用于指定操作点的图片时序SEI消息可存在于经译码视频序列的任一存取单元中。The presence of picture timing SEI messages in the bitstream is specified as follows. If CpbDpbDelaysPresentFlag is equal to 1, then one picture timing SEI message applicable for the specified operation point may be present in each access unit of the coded video sequence. Otherwise, for example, if CpbDpbDelaysPresentFlag is equal to 0, then no picture timing SEI message applicable for the specified operation point may be present in any access unit of the coded video sequence.
当含有图片时序SEI消息且具有等于0的nuh_reserved_zero_6bits的SEI NAL单元存在时,SEI NAL单元可按解码次序在存取单元中的第一VCL NAL单元前。When a SEI NAL unit containing a picture timing SEI message and with nuh_reserved_zero_6bits equal to 0 is present, the SEI NAL unit may precede the first VCL NAL unit in an access unit in decoding order.
语法元素au_cpb_removal_delay_minus1加1指定在从CPB(例如,CPB 94)移除与先前存取单元中的最近缓冲周期SEI消息相关联的存取单元后,在从CPB 94移除与图片时序SEI消息相关联的存取单元前,等待多少时钟刻度。此值还可用以计算存取单元数据到用于HSS的CPB的最早可能到达时间。语法元素为固定长度码,其长度(以位计) 由cpb_removal_delay_length_minus1+1给出。The syntax element au_cpb_removal_delay_minus1 plus 1 specifies how many clock ticks to wait after removing the access unit associated with the most recent buffering period SEI message in the previous access unit from the CPB (e.g., CPB 94) before removing the access unit associated with the picture timing SEI message from CPB 94. This value can also be used to calculate the earliest possible arrival time of access unit data at the CPB for the HSS. The syntax element is a fixed-length code whose length (in bits) is given by 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消息的先前存取单元(其可为不同经译码视频序列的存取单元)的移除时间的时钟刻度的数目。The value of cpb_removal_delay_length_minus1, which determines the length (in bits) of the syntax element au_cpb_removal_delay_minus1, is the value of cpb_removal_delay_length_minus1 coded in the active video parameter set or sequence parameter set for the coded picture associated with the picture timing SEI message, although au_cpb_removal_delay_minus1 plus 1 specifies the number of clock ticks relative to the removal time of the previous access unit containing the buffering period SEI message (which may be an access unit of a different coded video sequence).
语法元素pic_dpb_output_delay用以计算图片的DPB输出时间。 pic_dpb_output_delay指定在从CPB移除存取单元中的最后一个解码单元后,在从DPB 输出经解码图片前等待多少时钟刻度。在图片仍被标记为“用于短期参考”或“用于长期参考”时,可不在图片的输出时间从DPB移除图片。在一些实例中,针对经解码图片,仅指定一个pic_dpb_output_delay。The syntax element pic_dpb_output_delay is used to calculate the DPB output time of a picture. pic_dpb_output_delay specifies how many clock ticks to wait before outputting a decoded picture from the DPB after the last decoding unit in an access unit is removed from the CPB. A picture may not be removed from the DPB at its output time while it is still marked as "used for short-term reference" or "used for long-term reference." In some examples, only one pic_dpb_output_delay is specified for a decoded picture.
语法元素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值)建立的次序相同的次序。The length of the syntax element pic_dpb_output_delay is given (in bits) by dpb_output_delay_length_minus1+1. When sps_max_dec_pic_buffering[minTid] is equal to 1, where minTid is the minimum of the OpTid values of all operation points to which the picture timing SEI message applies, pic_dpb_output_delay shall be equal to 0. The output time derived from pic_dpb_output_delay for any picture output from a decoder that conforms to the output timing may precede the output time derived from pic_dpb_output_delay for all pictures in any subsequently coded video sequence in decoding order. The picture output order established by the value of this syntax element shall be the same order as the order established by the value of PicOrderCntVal (i.e., the POC value indicating the output or display order of the pictures).
对于因为按解码次序在具有等于1或推断为等于1的no_output_of_prior_pics_flag 的瞬时解码刷新(IDR)图片或断链存取(BLA)图片之前而未通过“提升”过程输出的图片,从pic_dpb_output_delay导出的输出时间可随着关于同一经译码视频序列内的所有图片的PicOrderCntVal的值增大而增加。For pictures that are not output by the "promotion" process because they precede, in decoding order, an instantaneous decoding refresh (IDR) picture or a broken-link access (BLA) picture with no_output_of_prior_pics_flag equal to 1 or inferred to be equal to 1, the output time derived from pic_dpb_output_delay may increase as the value of PicOrderCntVal increases for all pictures within the same coded video sequence.
语法元素num_decoding_units_minus1加1指定与图片时序SEI消息相关联的存取单元中的解码单元的数目。num_decoding_units_minus1的值可在0到PicSizeInCtbsY-1的范围中(包含0及PicSizeInCtbsY-1)。旗标du_common_cpb_removal_delay_flag等于1指定存在语法元素du_common_cpb_removal_delay_minus1。du_common_cpb_removal_delay_flag 等于0指定不存在语法元素du_common_cpb_removal_delay_minus1。The syntax element num_decoding_units_minus1 plus 1 specifies the number of decoding units in the access unit associated with the picture timing SEI message. The value of num_decoding_units_minus1 can be in the range of 0 to PicSizeInCtbsY-1, inclusive. The flag du_common_cpb_removal_delay_flag equal to 1 specifies that the syntax element du_common_cpb_removal_delay_minus1 is present. du_common_cpb_removal_delay_flag equal to 0 specifies that the syntax element du_common_cpb_removal_delay_minus1 is not present.
语法元素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给出。The syntax element du_common_cpb_removal_delay_minus1 plus 1 specifies the duration, in sub-picture clock ticks (see subclause E.2.1 of HEVC WD8), between the removal of any two consecutive decoding units in decoding order from the CPB (e.g., CPB 94) in the access unit associated with the picture timing SEI message. This value is also used to calculate the earliest possible arrival time of decoding unit data at the CPB for the HSS, as specified in HEVC WD8 Annex C. The syntax element is a fixed-length code whose length (in bits) is given by 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中。The syntax element num_nalus_in_du_minus1[i] plus 1 specifies the number of NAL units in the i-th DU of the AU associated with the picture timing SEI message. The value of num_nalus_in_du_minus1[i] should be in the range of 0 to PicSizeInCtbsY-1, inclusive. For example, video decoder 30 may determine how many NAL units are in the current DU based on decoding the syntax element num_nalus_in_du_minus1[i] plus 1 from the picture timing SEI message.
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单元。The first DU of an AU may include the first num_nalus_in_du_minus1[0]+1 consecutive NAL units in the AU in decoding order. The i-th (where i is greater than 0) DU of an AU consists of the num_nalus_in_du_minus1[i]+1 consecutive NAL units that immediately follow the last NAL unit in the previous DU of the AU in decoding order. At least one VCL NAL unit may be present in each DU. All non-VCL NAL units associated with a VCL NAL unit should be included in the same DU as the VCL NAL unit. Video decoder 30 determines the NAL units in a DU based on decoding syntax elements such as num_nalus_in_du_minus1[i].
语法元素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给出。The syntax element du_cpb_removal_delay_minus1[i] plus 1 specifies the duration, in sub-picture clock ticks, between the (i+1)th DU in decoding order in the AU associated with the picture timing SEI message and the removal of the i-th DU from the CPB (e.g., CPB 94). This value can also be used to calculate the earliest possible arrival time of DU data at the CPB for the HSS, as specified in HEVC WD8 Annex C. The syntax element is a fixed-length code whose length (in bits) is given by 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_pic_ cpb_params_in_pic_timing_sei_flag,那么tr,n(m)=tr,n(m+1)-tc_sub·CpdRemovaIDelay(m)。In some examples, although the length of the syntax element is the same as du_common_cpb_removal_delay_minus1, the value may have been specified relative to the CPB removal time of the AU at the start of the buffering period. For example, video decoder 30 may determine the value of the syntax element relative to the decoded CPB removal time. In some examples, this may not be consistent with the semantics of du_common_cpb_removal_delay_minus1. For example, this may potentially conflict with Equation 7 (Equation C-10 in Appendix C of HEVC WD8), which defines that if sub_pic_cpb_params_in_pic_timing_sei_flag is indicated, then t r,n (m) = t r,n (m+1) - t c_sub · CpdRemovaIDelay(m).
在一些实例中,du_cpb_removal_delay_minus1[i]加1替代性地指定从CPB移除与图片时序SEI消息相关联的AU与相关联于图片时序SEI消息的AU中的第i个DU之间的持续时间,其以子图片时钟刻度为单位。在此情况下,可避免发信AU中的最后一个DU的值。因此,视频解码器30不必从图片时序SEI消息确定AU中的最后一个DU 的值,这是因为最后一个DU的移除时间与对应的AU的移除时间相同。In some examples, du_cpb_removal_delay_minus1[i] plus 1 instead specifies the duration, in sub-picture clock ticks, between the removal of the AU associated with the picture timing SEI message from the CPB and the i-th DU in the AU associated with the picture timing SEI message. In this case, signaling the value of the last DU in the AU can be avoided. Therefore, video decoder 30 does not need to determine the value of the last DU in the AU from the picture timing SEI message because the removal time of the last DU is the same as the removal time of the corresponding AU.
替代性地,在au_cpb_removal_delay_minus1的语义中,du_common_cpb_removal_delay_minus1及du_cpb_removal_delay_minus1[i]指定“标称 CPB移除时间”而非“CPB移除时间”之间的延迟/差/持续时间。Alternatively, in the semantics of au_cpb_removal_delay_minus1, du_common_cpb_removal_delay_minus1 and du_cpb_removal_delay_minus1[i] specify the delay/difference/duration between the “nominal CPB removal time” instead of the “CPB removal time”.
下表3提供一实例子图片时序SEI消息语法。子图片时序SEI消息提供用于与SEI消息相关联的解码单元的CPB移除延迟信息。一实例子图片时序SEI消息语法及语义为如下。Table 3 below provides an example sub-picture timing SEI message syntax. The sub-picture timing SEI message provides CPB removal delay information for the decoding unit associated with the SEI message. An example sub-picture timing SEI message syntax and semantics are as follows.
表3:子图片时序SEI消息语法Table 3: Sub-picture timing SEI message syntax
以下内容适用于子图片时序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消息应用于的操作点中的任何者相关联的位流子集(或其一部分)。The following applies to sub-picture timing SEI message syntax and semantics. The syntax elements sub_pic_cpb_params_present_flag, sub_pic_cpb_params_in_pic_timing_sei_flag, and cpb_removal_delay_length_minus1, and the variable CpbDpbDelaysPresentFlag may be found in or derived from syntax elements in the hrd_parameters() and sub_layer_hrd_parameters() syntax structures applicable to any of the operation points to which the sub-picture timing SEI message applies. A bitstream (or a portion thereof) refers to a bitstream subset (or a portion thereof) associated with any of the operation points to which the sub-picture timing SEI message applies.
如下指定子图片时序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消息。The presence of a sub-picture timing SEI message in the bitstream is specified as follows. If CpbDpbDelaysPresentFlag is equal to 1, sub_pic_cpb_params_present_flag is equal to 1, and sub_pic_cpb_params_in_pic_timing_sei_flag is equal to 0, then there may be one sub-picture timing SEI message applicable for the specified operation point in each decoding unit in the coded video sequence. Otherwise, no sub-picture timing SEI message applicable for the specified operation point is present in the coded video sequence. Therefore, if video decoder 30 decodes the flag and determines that the value is set as above, video decoder 30 determines that there is no sub-picture timing SEI message applicable for the specified operation point.
与子图片时序SEI消息相关联的解码单元按解码次序由含有子图片时序SEI消息的 SEI NAL单元、接着为不含有子图片时序SEI消息的一或多个NAL单元(包含直到但不包含含有子图片时序SEI消息的任何随后SEI NAL单元的AU中的所有随后NAL单元) 组成。在每一DU中可存在至少一VCL NAL单元。与一个VCL NAL单元相关联的所有非VCL NAL单元可与所述VCL NAL单元包含于相同的DU中。A decoding unit associated with a sub-picture timing SEI message consists, in decoding order, of the SEI NAL unit containing the sub-picture timing SEI message, followed by one or more NAL units that do not contain the sub-picture timing SEI message (including all subsequent NAL units in the AU up to, but not including, any subsequent SEI NAL unit containing the sub-picture timing SEI message). At least one VCL NAL unit may be present in each DU. All non-VCL NAL units associated with a VCL NAL unit may be included in the same DU as the VCL NAL unit.
在一些实例中,语法元素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。In some examples, the syntax element du_spt_cpb_removal_delay specifies the duration, in units of sub-picture clock ticks (see subclause E.2.1 of HEVC WD8), between the removal from the CPB of the last decoding unit in decoding order in the current access unit containing the sub-picture timing SEI message and the decoding unit associated with the sub-picture timing SEI message. This value can also be used to calculate the earliest possible arrival time of decoding unit data at the CPB for the HSS, as specified in HEVC WD8 Annex C. The syntax element is represented by a fixed-length code whose length (in bits) is given by du_cpb_removal_delay_length_minus1+1. When the DU associated with the sub-picture timing SEI message is the last DU in the current AU, the value of du_spt_cpb_removal_delay shall be equal to 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消息与每一存取单元中的最后一个解码单元相关联。Alternatively, in other examples, the syntax element du_spt_cpb_removal_delay specifies the duration, in units of sub-picture clock ticks (see subclause E.2.1 of HEVC WD8), between the removal of the next DU in decoding order in the current AU containing the sub-picture timing SEI message from the CPB 94 and the DU associated with the sub-picture timing SEI message. This value can also be used to calculate the earliest possible arrival time of decoding unit data at the CPB 94 for the HSS, as specified in HEVC WD8 Annex C. The syntax element is represented by a fixed-length code whose length (in bits) is given by du_cpb_removal_delay_length_minus1+1. When the decoding unit associated with the sub-picture timing SEI message is the last decoding unit in the current access unit, the value of du_spt_cpb_removal_delay should be equal to 0. Alternatively, no sub-picture timing SEI message is associated with the last decoding unit in each access unit.
在一些实例中,语法元素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给出的固定长度码表示。In some examples, the syntax element du_spt_cpb_removal_delay is alternatively coded as du_spt_cpb_removal_delay_minus1. The syntax element du_spt_cpb_removal_delay_minus1 plus 1 specifies how many sub-picture clock ticks to wait before removing the DU associated with the sub-picture timing SEI message from the CPB 94 after the video decoder 30 removes the last DU in the AU associated with the most recent buffering period SEI message for the previous AU from the CPB 94. This value may also be used to calculate the earliest possible arrival time of decoding unit data at the CPB for the HSS, as specified in HEVC WD8 Annex C. The syntax element is represented by a fixed-length code whose length (in bits) is given by cpb_removal_delay_length_minus1+1.
以下提供的表4描述HRD参数语法及语义的一实例。对于以下不包含其语义的语法元素,其语义与2012年9月24日申请的第61/705,102号美国临时申请案中相同。HRD 参数语法及语义可为如下。Table 4 provided below describes an example of HRD parameter syntax and semantics. For the following syntax elements whose semantics are not included, their semantics are the same as those in U.S. Provisional Application No. 61/705,102 filed on September 24, 2012. The HRD parameter syntax and semantics may be as follows.
表4:HRD参数语法及语义Table 4: HRD parameter syntax and semantics
语法元素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移除延迟参数。The syntax element sub_pic_cpb_params_in_pic_timing_sei_flag equal to 1 specifies that the sub-picture level CPB removal delay parameters are present in the picture timing SEI message and that no sub-picture timing SEI message is present. The syntax element sub_pic_cpb_params_in_pic_timing_sei_flag equal to 0 specifies that the sub-picture level CPB removal delay parameters are present in the sub-picture timing SEI message and that the picture timing SEI message does not include the sub-picture level CPB removal delay parameters.
语法元素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。The syntax element sub_pic_cpb_params_present_flag equal to 1 specifies that the sub-picture level CPB removal delay parameters are present and the CPB can operate at either the access unit level or the sub-picture level. When sub_pic_cpb_params_present_flag is equal to 0, it specifies that the sub-picture level CPB removal delay parameters are not present and the CPB operates at the access unit level. When sub_pic_cpb_params_present_flag is not present, its value can be inferred to be equal to 0.
图4为说明可具有根据本发明中描述的技术的解码时间的按连续解码次序的两个存取单元100及102的概念图。将就AU 100及102以及用于与AU 100及102相关联的 SEI消息的语法元素及变量来论述实例经译码图片缓冲器移除时间。图4还说明时间线 130。FIG4 is a conceptual diagram illustrating two access units 100 and 102 in consecutive decoding order that may have decoding times according to the techniques described in this disclosure. Example coded picture buffer removal times will be discussed with respect to the AUs 100 and 102 and syntax elements and variables used for SEI messages associated with the AUs 100 and 102. FIG4 also illustrates a timeline 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。AU 102包含四个解码单元112-1、112-2、112-3及112-4(统称作“解码单元112”)。As described herein, AU 100 is access unit n, and AU 102 is access unit n+1, where n is earlier in time than n+1 in decoding order. AU 100 includes four decoding units 110-1, 110-2, 110-3, and 110-4 (collectively referred to as "decoding units 110"). As described herein, for example, DU 110-1 may be referred to as DU-M, DU 110-2 may be referred to as DU-M+1, DU 110-3 may be referred to as DU-M+2, and DU 110-4 may be referred to as DU-M+3. AU 102 includes four decoding units 112-1, 112-2, 112-3, and 112-4 (collectively referred to as "decoding units 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)单元。Similarly, as described herein, for example, DU 112-1 may be referred to as DU-M, DU 112-2 may be referred to as DU-M+1, DU 112-3 may be referred to as DU-M+2, and DU 112-4 may be referred to as DU-M+3. However, any access unit may be "access unit n," and any decoding unit may be "decoding unit m." In other examples, AUs 100 and 102 may have different numbers of DUs 110 and 112, respectively. Any DU 110 or 112 may be a non-video coding layer (VCL) network abstraction layer (NAL) unit with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
在此实例中,存取单元100及102存储于经译码图片缓冲器(例如,图3的CPB 94)中。视频解码器30从CPB 94提取解码单元110及112及存取单元100及102,以用于在确定的时间解码。用于从CPB 94提取AU或DU的时间被称作CPB移除时间。如图 4中所示,用于AU100中的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)相同。In this example, access units 100 and 102 are stored in a coded picture buffer (e.g., CPB 94 of FIG. 3 ). Video decoder 30 extracts decoding units 110 and 112 and access units 100 and 102 from CPB 94 for decoding at a determined time. The time used to extract an AU or DU from CPB 94 is referred to as a CPB removal time. As shown in FIG. 4 , the CPB removal times for DU 110 in AU 100 are CPB removal times 140-1, 140-2, 140-3, and 140-4 (collectively, “CPB removal times 140”). Similarly, the CPB removal times for DU 112 in AU 102 are CPB removal times 142-1, 142-2, 142-3, and 142-4 (collectively, “CPB removal times 142”). The CPB removal time of an AU may be the same as the CPB removal time of the last DU of the AU. For example, the CPB removal time of the AU 100 is substantially the same as the CPB removal time of the DU 110 - 4 (CPB removal time 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确定用于DU112-2的CPB移除时间142-2。即,视频解码器30可基于用于AU 102内的DU 112的移除时间且不基于用于其它AU(例如,按解码次序的先前AU 100)内的其它DU的任何移除时间导出用于存取单元102中的每一DU 112的CPB 移除时间。因此,视频解码器30可具有对于DU及AU的CPB移除时间的改进的发信及错误恢复性。In one example, for each DU 112 in an AU 102, the duration between the next DU 112 in decoding order in the AU 102 and the CPB removal time of the particular DU 112 is signaled. For example, DU 112-2 is the current DU to be extracted from CPB 94 in decoding order and decoded by video decoder 30. The duration 132 between the CPB removal time 142-2 for DU 112-2 and the CPB removal time 142-3 for DU 112-3 (the next DU in decoding order) is signaled, for example, in an SEI message associated with access unit 102. Video decoder 30 determines the CPB removal time 142-2 for DU 112-2 based on the signaled duration 132. That is, video decoder 30 may derive the CPB removal time for each DU 112 in access unit 102 based on the removal time for DU 112 within AU 102 and not based on any removal times for other DUs within other AUs (e.g., previous AU 100 in decoding order). Thus, video decoder 30 may have improved signaling and error resilience for CPB removal times of DUs and AUs.
可以替代方式发信用于AU 102的DU 112-2的CPB移除时间。举例来说,在与AU 102相关联的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。The CPB removal time for DU 112-2 of AU 102 may be signaled in an alternative manner. For example, the duration 134 between the CPB removal time 142-2 for DU 112-2 and the CPB removal time 142-4 for the last DU (DU 112-4) in AU 102 is signaled in an SEI message associated with AU 102. Video decoder 30 determines the CPB removal time 142-2 for DU 112-2 based on the signaled CPB removal time 142-4 of DU 112-4.
在以上实例中的任一者中,视频解码器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移除时间具有改进的发信及错误恢复性。In any of the above examples, video decoder 30 determines the CPB removal time for a DU based on other DUs within the same AU. In this way, the CPB removal time for any DU does not depend on any other AUs besides the AU for that particular DU. Loss of CPB removal timing information in a previous AU will not result in an incorrect derivation of the CPB removal time for the current AU. For example, loss of CPB removal time 140 for AU 100 will not affect the determination of CPB removal time 142 for AU 102. Thus, video decoder 30 can have improved signaling and error resilience for determining CPB removal times for DUs and AUs.
视频解码器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的值无关。The video decoder 30 may also determine the CPB removal time based at least in part on the sub-picture level CPB parameters carried in the sub-picture timing SEI message. In this example, the signaling of the CPB removal time and the derivation of the CPB removal time are both efficient and error resilient. A sequence level flag may be signaled to control the presence of the sub-picture level CPB parameters in the picture timing SEI message or in the sub-picture timing SEI message, but never in both. The sequence level flag may be the sub_pic_cpb_params_present_flag described above. The flag may also control which type of SEI message the sub-picture level CPB parameters from are used for the sub-picture level CPB operation. When sub_pic_cpb_params_present_flag is equal to 1, the CPB arrival time and the CPB removal time are signaled for both the AU level and the sub-picture level, regardless of the value of SubPicCpbFlag.
在一些实例中,如果AU(例如,AU 100)具有大于0的TemporalId,那么无缓冲周期SEI消息或恢复点SEI消息可与AU 100相关联。In some examples, if an AU (eg, AU 100 ) has a TemporalId greater than 0, no buffering period SEI message or recovery point SEI message may be associated with AU 100 .
图5为说明根据本发明中描述的技术的用于基于用于存取单元的第二解码单元的经译码图片缓冲器(CPB)移除时间确定所述存取单元中的第一解码单元的CPB移除时间的方法的流程图。视频解码器可执行图5的方法。举例来说,视频解码器可为图1或图3 的视频解码器30。FIG5 is a flowchart illustrating a method for determining a coded picture buffer (CPB) removal time for a first decoding unit in an access unit based on a CPB removal time for a second decoding unit of the access unit, according to the techniques described in this disclosure. A video decoder may perform the method of FIG5 . For example, the video decoder may be video decoder 30 of FIG1 or FIG3 .
图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中。5 includes decoding a duration between CPB removal of a first DU in an AU and CPB removal of a second DU, wherein the second DU follows the first DU in decoding order and is in the same AU as the first DU (200). The second DU may immediately follow the first DU in the AU in decoding order. Alternatively, the second DU may be the last DU in the AU in decoding order. For example, the video decoder 30 may receive a bitstream from the video encoder 20 and buffer the AU and its corresponding DU in the CPB 94 for extraction at a determined removal time. For example, the video decoder 30 may decode a duration between CPB removal of a first DU in the AU from the CPB 94 and CPB removal of a second DU from the CPB 94, wherein the second DU follows the first DU in decoding order and is in the same AU as the first DU.
所述方法进一步包含至少部分基于经译码持续时间确定所述第一DU的移除时间(202)。举例来说,视频解码器30可基于AU中的第一DU的CPB移除与第二DU的CPB 移除之间的经解码持续时间而确定第一DU的CPB移除时间。视频解码器30可大致在确定的CPB移除时间从CPB 94提取DU。The method further includes determining a removal time for the first DU based at least in part on the coded duration (202). For example, video decoder 30 may determine the CPB removal time for the first DU based on the decoded duration between the CPB removal of the first DU and the CPB removal of the second DU in the AU. Video decoder 30 may extract the DU from CPB 94 at approximately the determined CPB removal time.
在一些实例中,图5的方法进一步包含解码子图片层级CPB参数,其中确定第一 DU的移除时间包括至少部分基于经解码持续时间及子图片层级CPB参数确定第一DU 的移除时间。解码子图片层级CPB参数可包含解码与第一DU相关联的子图片时序补充增强信息(SEI)消息。In some examples, the method of FIG. 5 further includes decoding sub-picture-level CPB parameters, wherein determining the removal time of the first DU includes determining the removal time of the first DU based at least in part on the decoded duration and the sub-picture-level CPB parameters. Decoding the sub-picture-level CPB parameters may include decoding a sub-picture timing supplemental enhancement information (SEI) message associated with the first DU.
在第二DU为AU中的按解码次序的最后一个DU的实例中,译码子图片SEI消息包含解码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。在一些实例中,序列层级旗标经解码以确定子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。举例来说,响应于解码序列层级旗标且确定子图片层级CPB参数存在于图片时序SEI消息中,视频解码器30可解码图片时序SEI消息以剖析子图片层级CPB参数。同样地,响应于解码序列层级旗标且确定子图片层级CPB参数存在于子图片时序SEI消息中,视频解码器30可解码子图片时序SEI 消息以剖析子图片层级CPB参数。In an example where the second DU is the last DU in decoding order in the AU, the coded sub-picture SEI message includes the duration between the removal time of the last DU in the decoded sub-picture timing SEI message and the removal time of the first DU. In some examples, the sequence level flag is decoded to determine the presence of sub-picture level CPB parameters in the picture timing SEI message or in the sub-picture timing SEI message. For example, in response to decoding the sequence level flag and determining that the sub-picture level CPB parameters are present in the picture timing SEI message, video decoder 30 may decode the picture timing SEI message to parse the sub-picture level CPB parameters. Similarly, in response to decoding the sequence level flag and determining that the sub-picture level CPB parameters are present in the sub-picture timing SEI message, video decoder 30 may decode the sub-picture timing SEI message to parse the sub-picture level CPB parameters.
在一些实例中,确定第一DU的移除时间包含在不解码初始CPB移除延迟及偏移的情况下确定第一DU的移除时间。当AU具有小于或等于0的TemporalId时,所述方法可进一步包含解码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。In some examples, determining the removal time of the first DU includes determining the removal time of the first DU without decoding an initial CPB removal delay and offset. When the AU has a TemporalId less than or equal to 0, the method may further include decoding at least one of a buffering period SEI message or a recovery point SEI message associated with the AU.
本文中描述的解码单元可为任一解码单元,以及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单元。The decoding units described herein may be any decoding unit, as well as non-VCL network abstraction layer (NAL) units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63. Thus, video decoder 30 may decode a DU including a non-VCL NAL unit with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63 according to the techniques described in this disclosure.
在另一实例中,所述方法包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。举例来说,视频解码器30在存取单元层级及子图片层级两者导出用于 AU的CPB到达时间及CPB标称移除时间,而与定义第一DU是否为AU的语法元素的值无关。In another example, the method includes deriving at least one of a CPB arrival time and a CPB nominal removal time for the AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element defining whether the first DU is an AU. For example, video decoder 30 derives the CPB arrival time and the CPB nominal removal time for the AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element defining whether the first DU is an AU.
在一些实例中,所述方法包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。所述方法可包含当语法元素指示第一DU为AU时导出针对AU层级的 CPB移除时间。导出针对AU层级的CPB移除时间可包含当语法元素指示DU为AU时,导出仅针对AU层级的CPB移除时间。In some examples, the method includes deriving at least one of a CPB arrival time and a CPB nominal removal time for an AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element defining whether a first DU is an AU. The method may include deriving the CPB removal time for the AU level when the syntax element indicates that the first DU is an AU. Deriving the CPB removal time for the AU level may include deriving the CPB removal time only for the AU level when the syntax element indicates that the DU is an AU.
语法元素可为SubPicCpbFlag,其中当SubPicCpbFlag等于0时,DU为AU,否则, DU包含AU中的一或多个视频译码层(VCL)网络抽象层(NAL)单元及相关联的非VCL NAL单元。在一些实例中,语法元素包含第一语法元素,且其中导出CPB到达时间及 CPB标称移除时间包括当第二语法元素指定存在子图片层级CPB移除延迟参数且CPB 可在存取单元层级或子图片层级操作时导出CPB到达时间及CPB标称移除时间。The syntax element may be SubPicCpbFlag, wherein when SubPicCpbFlag is equal to 0, the DU is an AU, otherwise the DU includes one or more video coding layer (VCL) network abstraction layer (NAL) units and associated non-VCL NAL units in the AU. In some examples, the syntax element includes a first syntax element, and wherein deriving the CPB arrival time and the CPB nominal removal time includes deriving the CPB arrival time and the CPB nominal removal time when a second syntax element specifies that a sub-picture level CPB removal delay parameter is present and the CPB can operate at an access unit level or a sub-picture level.
第二语法元素可为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最后到达时间。The second syntax element may be sub_pic_cpb_params_present_flag, wherein when sub_pic_cpb_params_present_flag is equal to 1, the sub-picture level CPB removal delay parameter is present and the CPB can operate at the access unit level or the sub-picture level, and when sub_pic_cpb_params_present_flag is equal to 0, the sub-picture level CPB removal delay parameter is not present and the CPB operates at the access unit level. The second syntax element specifies that the sub-picture level CPB removal delay parameter is present and the CPB can operate at the AU level or the sub-picture level, and the method may further include determining a variable subPicParamsPresentFlag to be equal to 0, deriving an AU initial arrival time and an AU last arrival time, determining a variable subPicParamsPresentFlag to be equal to 1, and deriving a DU initial arrival time and a DU last arrival time for decoding units within the access unit.
当语法元素指示DU并非AU时,还可导出针对子图片层级的CPB移除时间。导出针对子图片层级的CPB移除时间可包含当语法元素指示DU并非AU时,导出仅针对子图片层级的CPB移除时间。举例来说,当语法元素指示DU并非AU时,视频解码器 30可导出针对子图片层级的CPB移除时间。When the syntax element indicates that the DU is not an AU, a CPB removal time for the sub-picture level may also be derived. Deriving the CPB removal time for the sub-picture level may include deriving the CPB removal time only for the sub-picture level when the syntax element indicates that the DU is not an AU. For example, when the syntax element indicates that the DU is not an AU, video decoder 30 may derive the CPB removal time for the sub-picture level.
图6为说明根据本发明中描述的技术的用于基于用于存取单元的第二解码单元的经译码图片缓冲器(CPB)移除时间确定所述存取单元中的第一解码单元的CPB移除时间的另一方法的流程图。视频编码器可执行图6的方法。举例来说,视频编码器可为图1或图2的视频编码器20。FIG6 is a flowchart illustrating another method for determining a coded picture buffer (CPB) removal time for a first decoding unit in an access unit based on a CPB removal time for a second decoding unit of the access unit according to the techniques described in this disclosure. A video encoder may perform the method of FIG6. For example, the video encoder may be video encoder 20 of FIG1 or FIG2.
所述方法包含针对包含第一解码单元DU的AU确定第二DU的CPB移除时间,其中所述第二DU按解码次序在第一DU之后且与第一DU在相同的AU中(210)。第二DU 可按解码次序紧随在AU中的第一DU之后。替代性地,第二DU可为AU中的按解码次序的最后一个DU。在一些实例中,视频编码器20调度用于AU的CPB移除时间。在一些实例中,CPB移除时间由在视频编码器20外部的装置调度,且将所述调度提供到视频编码器20。The method includes determining, for an AU that includes a first decoding unit (DU), a CPB removal time for a second DU, wherein the second DU follows the first DU in decoding order and is in the same AU as the first DU (210). The second DU may immediately follow the first DU in the AU in decoding order. Alternatively, the second DU may be the last DU in the AU in decoding order. In some examples, video encoder 20 schedules the CPB removal time for the AU. In some examples, the CPB removal time is scheduled by a device external to video encoder 20 and the schedule is provided to video encoder 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中。The CPB removal time for an AU may be the same as the CPB removal time for the last DU in the AU. Thus, video encoder 20 may determine the CPB removal time for a second DU based on the scheduled CPB removal time for the AU. In some examples, determining the CPB removal time for the second DU based on the scheduled CPB removal time for the AU includes determining how many DUs are included in the AU and determining the scheduled time for each CPB. For example, according to the techniques described herein, video encoder 20 may determine the CPB removal time for a second DU for an AU that includes a first decoding unit DU, where the second DU follows the first DU in decoding order and is in the same AU as the first DU.
所述方法进一步包含确定第一DU的CPB移除时间与第二DU的经确定CPB移除时间之间的持续时间(212)。举例来说,视频编码器20可基于AU的经调度的CPB移除时间及AU中的DU的数目确定第一DU的CPB移除时间之间的持续时间。在一些实例中,视频编码器20基于用于AU中的每一DU的经调度的CPB移除时间而确定持续时间。The method further includes determining a duration between a CPB removal time of the first DU and a determined CPB removal time of the second DU (212). For example, video encoder 20 may determine the duration between the CPB removal times of the first DU based on the scheduled CPB removal time of the AU and the number of DUs in the AU. In some examples, video encoder 20 determines the duration based on the scheduled CPB removal time for each DU in the AU.
所述方法进一步包含编码经确定的持续时间(214)。视频编码器20可(例如)在子图片层级CPB参数集中将经确定的持续时间编码为一语法元素。举例来说,所述方法可进一步包含编码子图片层级CPB参数,其中编码经确定的持续时间包含将经确定的持续时间编码为一或多个子图片层级CPB参数。编码子图片层级CPB参数可包含编码与第一DU 相关联的子图片时序补充增强信息(SEI)消息。在一实例中,将经确定的持续时间编码为一或多个子图片层级CPB参数进一步包括在子图片时序SEI消息中编码经确定的持续时间。The method further includes encoding the determined duration (214). Video encoder 20 may, for example, encode the determined duration as a syntax element in a sub-picture level CPB parameter set. For example, the method may further include encoding sub-picture level CPB parameters, wherein encoding the determined duration includes encoding the determined duration as one or more sub-picture level CPB parameters. Encoding the sub-picture level CPB parameters may include encoding a sub-picture timing supplemental enhancement information (SEI) message associated with the first DU. In one example, encoding the determined duration as the one or more sub-picture level CPB parameters further includes encoding the determined duration in the sub-picture timing SEI message.
在第二DU为AU中的按解码次序的最后一个DU的实例中,编码子图片SEI消息包含编码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。在一些实例中,序列层级旗标经编码以指示子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。在一些实例中,确定第一DU的移除时间包含在不编码初始CPB移除延迟及偏移的情况下确定第一DU的移除时间。In an example where the second DU is the last DU in decoding order in the AU, the encoded sub-picture SEI message includes a duration between a removal time of the last DU in the encoded sub-picture timing SEI message and a removal time of the first DU. In some examples, a sequence level flag is encoded to indicate the presence of sub-picture level CPB parameters in a picture timing SEI message or in a sub-picture timing SEI message. In some examples, determining the removal time of the first DU includes determining the removal time of the first DU without encoding an initial CPB removal delay and offset.
当AU具有小于或等于0的TemporalId时,所述方法可进一步包含编码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。When the AU has a TemporalId less than or equal to 0, the method may further include encoding at least one of a buffering period SEI message or a recovery point SEI message associated with the AU.
本文中描述的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。The DUs described herein may be any type of DU, as well as non-VCL network abstraction layer (NAL) units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63. Video encoder 20 may encode any DU according to the techniques described in this disclosure, including DUs that are non-VCL NAL units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
在另一实例中,所述方法包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。In another example, the method includes deriving at least one of a CPB arrival time and a CPB nominal removal time for the AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element defining whether the first DU is an AU.
在一些实例中,所述方法包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。所述方法可包含当语法元素指示第一DU为AU时导出针对AU层级的 CPB移除时间。导出针对AU层级的CPB移除时间可包含当语法元素指示DU为AU时,导出仅针对AU层级的CPB移除时间。In some examples, the method includes deriving at least one of a CPB arrival time and a CPB nominal removal time for an AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element defining whether a first DU is an AU. The method may include deriving the CPB removal time for the AU level when the syntax element indicates that the first DU is an AU. Deriving the CPB removal time for the AU level may include deriving the CPB removal time only for the AU level when the syntax element indicates that the DU is an AU.
语法元素可为SubPicCpbFlag,其中当SubPicCpbFlag等于0时,DU为AU,否则, DU包含AU中的一或多个视频译码层(VCL)网络抽象层(NAL)单元及相关联的非VCL NAL单元。在一些实例中,语法元素包含第一语法元素,且其中导出CPB到达时间及CPB标称移除时间包括当第二语法元素指定存在子图片层级CPB移除延迟参数且CPB 可在存取单元层级或子图片层级操作时导出CPB到达时间及CPB标称移除时间。The syntax element may be SubPicCpbFlag, wherein when SubPicCpbFlag is equal to 0, the DU is an AU, otherwise the DU includes one or more video coding layer (VCL) network abstraction layer (NAL) units and associated non-VCL NAL units in the AU. In some examples, the syntax element includes a first syntax element, and wherein deriving the CPB arrival time and the CPB nominal removal time includes deriving the CPB arrival time and the CPB nominal removal time when a second syntax element specifies that a sub-picture level CPB removal delay parameter is present and the CPB may operate at an access unit level or a sub-picture level.
第二语法元素可为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最后到达时间。The second syntax element may be sub_pic_cpb_params_present_flag, wherein when sub_pic_cpb_params_present_flag is equal to 1, the sub-picture level CPB removal delay parameter is present and the CPB can operate at the access unit level or the sub-picture level, and when sub_pic_cpb_params_present_flag is equal to 0, the sub-picture level CPB removal delay parameter is not present and the CPB operates at the access unit level. The second syntax element specifies that the sub-picture level CPB removal delay parameter is present and the CPB can operate at the AU level or the sub-picture level, and the method may further include setting a variable subPicParamsPresentFlag to 0, deriving an AU initial arrival time and an AU last arrival time, setting a variable subPicParamsPresentFlag to 1, and deriving a DU initial arrival time and a DU last arrival time for decoding units within the access unit.
当语法元素指示DU并非AU时,还可导出针对子图片层级的CPB移除时间。导出针对子图片层级的CPB移除时间可包含当语法元素指示DU并非AU时,导出仅针对子图片层级的CPB移除时间。举例来说,当语法元素指示DU并非AU时,视频编码器 20可导出针对子图片层级的CPB移除时间。When the syntax element indicates that the DU is not an AU, a CPB removal time for the sub-picture level may also be derived. Deriving the CPB removal time for the sub-picture level may include deriving the CPB removal time only for the sub-picture level when the syntax element indicates that the DU is not an AU. For example, when the syntax element indicates that the DU is not an AU, video encoder 20 may derive the CPB removal time for the sub-picture level.
图7为说明根据本发明中描述的技术的用于至少部分基于子图片时序SEI消息导出第一DU的CPB移除时间的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及图3的视频解码器30。FIG7 is a flowchart illustrating a method for deriving a CPB removal time for a first DU based at least in part on a sub-picture timing SEI message according to the techniques described in this disclosure. The method may be performed by a video decoding device, for example, the video decoder 30 of FIG1 and FIG3.
所述方法包含解码与存取单元的第一解码单元相关联的子图片时序SEI消息(300)。举例来说,根据本文中描述的技术,视频解码器30可解码包含经编码的数据及对应的语法元素及与AU的第一DU相关联的子图片时序SEI消息的位流。视频解码器30可在 CPB94中缓冲AU及其相应DU,以用于在确定的移除时间提取。举例来说,视频解码器30可解码与AU的第一DU相关联的子图片时序SEI消息。The method includes decoding a sub-picture timing SEI message associated with a first decoding unit of an access unit (300). For example, according to the techniques described herein, video decoder 30 may decode a bitstream including coded data and corresponding syntax elements and a sub-picture timing SEI message associated with a first DU of an AU. Video decoder 30 may buffer the AU and its corresponding DU in CPB 94 for retrieval at a determined removal time. For example, video decoder 30 may decode the sub-picture timing SEI message associated with the first DU of the AU.
在一些实例中,所述方法包含解码序列层级旗标以确定子图片层级CPB参数在与第一DU相关联的子图片时序SEI消息或图片时序SEI消息中的存在。所述方法可进一步包含解码子图片层级CPB参数,其中确定第一DU的CPB移除时间进一步至少部分基于子图片层级CPB参数。响应于接收到经编码的位流,视频解码器30可解码序列层级旗标,且从序列层级旗标的值确定在子图片时序SEI消息还是图片时序SEI消息中发现子图片层级CPB参数。基于序列层级旗标的值,视频解码器30可解码子图片时序SEI 消息或图片时序SEI消息以解码子图片层级CPB参数。In some examples, the method includes decoding a sequence level flag to determine the presence of sub-picture level CPB parameters in a sub-picture timing SEI message or a picture timing SEI message associated with the first DU. The method may further include decoding the sub-picture level CPB parameters, wherein determining the CPB removal time for the first DU is further based at least in part on the sub-picture level CPB parameters. In response to receiving the encoded bitstream, video decoder 30 may decode the sequence level flag and determine from the value of the sequence level flag whether the sub-picture level CPB parameters are found in a sub-picture timing SEI message or a picture timing SEI message. Based on the value of the sequence level flag, video decoder 30 may decode the sub-picture timing SEI message or the picture timing SEI message to decode the sub-picture level CPB parameters.
在序列层级旗标指示子图片层级CPB参数将存在于子图片时序SEI消息中的实例中,解码子图片层级CPB参数可包含解码与第一DU相关联的子图片时序SEI消息。在第二DU为AU中的按解码次序的最后一个DU的实例中,解码子图片SEI消息可进一步包括解码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。In instances where the sequence-level flag indicates that sub-picture-level CPB parameters will be present in the sub-picture timing SEI message, decoding the sub-picture-level CPB parameters may include decoding the sub-picture timing SEI message associated with the first DU. In instances where the second DU is the last DU in decoding order in the AU, decoding the sub-picture SEI message may further include decoding the duration between the removal time of the last DU in the sub-picture timing SEI message and the removal time of the first DU.
所述方法进一步包含解码子图片SEI消息中的AU的按解码次序的第二DU的经译码图片缓冲器(CPB)移除与第一DU的CPB移除之间的持续时间,其中所述持续时间在子图片时序SEI消息中(302)。举例来说,从所接收的位流,视频解码器30可解码子图片SEI消息中的AU的按解码次序的第二DU的经译码图片缓冲器(CPB)移除与第一DU 的CPB移除之间的持续时间。The method further includes decoding a duration between coded picture buffer (CPB) removal of a second DU in decoding order and CPB removal of a first DU of the AU in a sub-picture SEI message, wherein the duration is in a sub-picture timing SEI message (302). For example, from the received bitstream, video decoder 30 may decode the duration between coded picture buffer (CPB) removal of a second DU in decoding order and CPB removal of a first DU of the AU in the sub-picture SEI message.
所述方法还包含至少部分基于子图片时序SEI消息导出第一DU的CPB移除时间(304)。视频解码器30可在经确定的CPB移除时间从CPB 94提取第一DU供解码。The method also includes deriving a CPB removal time for the first DU based at least in part on the sub-picture timing SEI message (304).Video decoder 30 may extract the first DU from CPB 94 for decoding at the determined CPB removal time.
在一些实例中,第二DU为AU中的按解码次序的最后一个DU。第二DU可按解码次序紧随在AU中的第一DU之后。在一些实例中,确定第一DU的移除时间包括在不译码初始CPB移除延迟及偏移的情况下确定第一DU的移除时间。In some examples, the second DU is the last DU in the AU in decoding order. The second DU may immediately follow the first DU in the AU in decoding order. In some examples, determining the removal time of the first DU includes determining the removal time of the first DU without decoding the initial CPB removal delay and offset.
DU可为任一类型的解码单元,包含nal_unit_type等于UNSPEC0、EOS_NUT、 EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63 的范围中的非视频译码层(VCL)网络抽象层(NAL)单元。A DU may be any type of decoding unit, including a non-video coding layer (VCL) network abstraction layer (NAL) unit with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
本文中描述的技术可提供经译码图片缓冲器移除时间的更具错误恢复性的确定。此外,除了改进的错误恢复性之外,所述技术还可促进发信效率,从而减小带宽、减少发信额外负担且增加译码时间。而且,本发明中描述的技术可允许适当的时间可缩放性。The techniques described herein may provide for more error-resilient determination of coded picture buffer removal time. Furthermore, in addition to improved error resilience, the techniques may also facilitate signaling efficiency, thereby reducing bandwidth, reducing signaling overhead, and increasing decoding time. Furthermore, the techniques described in this disclosure may allow for appropriate temporal scalability.
此些技术可包含(例如)确定独立于任一其它存取单元的移除时间的用于AU的DU的经译码图片缓冲器移除时间。举例来说,将基于AU中的按解码次序的下一个DU的 CPB移除时间之间的持续时间或AU中的最后一个DU的CPB移除时间之间的持续时间发信用于AU的DU的CPB移除时间。根据本文中描述的技术,所述技术还可包含发信序列层级旗标以控制子图片CPB参数在图片时序SEI消息或子图片时序SEI消息中的仅一者中的存在。所述技术还可包含扩展解码单元的定义。额外技术提供限制缓冲周期SEI 消息及恢复点SEI消息,使得其不能与具有大于0的变量TemporalId的AU相关联。所述技术还可包含提供旗标以发信在AU层级还是子图片层级导出CPB移除时间。Such techniques may include, for example, determining a coded picture buffer removal time for a DU of an AU independently of the removal time of any other access units. For example, the CPB removal time for a DU of an AU may be signaled based on the duration between the CPB removal times of the next DU in decoding order in the AU or the duration between the CPB removal times of the last DU in the AU. According to the techniques described herein, the techniques may also include signaling a sequence-level flag to control the presence of sub-picture CPB parameters in only one of a picture timing SEI message or a sub-picture timing SEI message. The techniques may also include extending the definition of decoding units. Additional techniques provide for restricting buffering period SEI messages and recovery point SEI messages so that they cannot be associated with AUs with a variable TemporalId greater than 0. The techniques may also include providing a flag to signal whether CPB removal times are derived at the AU level or the sub-picture level.
图8为说明根据本发明中描述的技术的用于至少部分基于编码子图片时序SEI消息导出第一DU的CPB移除时间的另一方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及图2的视频编码器20。FIG8 is a flowchart illustrating another method for deriving a CPB removal time for a first DU based at least in part on an encoded sub-picture timing SEI message according to the techniques described in this disclosure. The method may be performed by a video encoding device, for example, the video encoder 20 of FIG1 and FIG2.
所述方法包含确定存取单元(AU)中的第一解码单元(DU)的经译码图片缓冲器(CPB) 移除时间与AU中的第二DU的CPB移除时间之间的持续时间(310)。可(例如)根据从用于第二DU的经调度CPB移除时间减去用于第一DU的经调度CPB移除时间确定持续时间。The method includes determining a duration between a coded picture buffer (CPB) removal time of a first decoding unit (DU) in an access unit (AU) and a CPB removal time of a second DU in the AU (310). The duration may be determined, for example, based on subtracting a scheduled CPB removal time for the first DU from a scheduled CPB removal time for the second DU.
所述方法进一步包含在与AU相关联的子图片时序补充增强信息(SEI)消息中编码持续时间(312)。举例来说,视频编码器20可在位流中的子图片SEI消息中编码AU的按解码次序的第二DU的经译码图片缓冲器(CPB)移除与第一DU的CPB移除之间的持续时间。举例来说,根据本文中描述的技术,视频编码器20可编码包含经编码的数据及对应的语法元素、与AU的第一DU相关联的子图片时序SEI消息的位流。The method further includes encoding the duration in a sub-picture timing supplemental enhancement information (SEI) message associated with the AU (312). For example, video encoder 20 may encode the duration between coded picture buffer (CPB) removal of the second DU in decoding order and CPB removal of the first DU of the AU in the sub-picture SEI message in the bitstream. For example, according to the techniques described herein, video encoder 20 may encode a bitstream including the coded data and corresponding syntax elements, a sub-picture timing SEI message associated with the first DU of the AU.
在一些实例中,图8的方法包含编码序列层级旗标以指示子图片层级CPB参数在与第一DU相关联的子图片时序SEI消息或图片时序SEI消息中的存在。所述方法可进一步包含译码子图片层级CPB参数,其中确定第一DU的CPB移除时间进一步至少部分基于子图片层级CPB参数。举例来说,视频编码器20可在位流中编码序列层级旗标以指示子图片层级CPB参数在与第一DU相关联的子图片时序SEI消息或图片时序SEI 消息中的存在。视频编码器20可进一步在位流中编码子图片层级CPB参数。In some examples, the method of FIG8 includes encoding a sequence-level flag to indicate the presence of sub-picture-level CPB parameters in a sub-picture timing SEI message or a picture timing SEI message associated with the first DU. The method may further include decoding the sub-picture-level CPB parameters, wherein determining the CPB removal time for the first DU is further based at least in part on the sub-picture-level CPB parameters. For example, video encoder 20 may encode a sequence-level flag in the bitstream to indicate the presence of sub-picture-level CPB parameters in a sub-picture timing SEI message or a picture timing SEI message associated with the first DU. Video encoder 20 may further encode the sub-picture-level CPB parameters in the bitstream.
在序列层级旗标指示子图片层级CPB参数将存在于子图片时序SEI消息中的实例中,编码子图片层级CPB参数可包含编码与第一DU相关联的子图片时序SEI消息。在第二DU为AU中的按解码次序的最后一个DU的实例中,编码子图片SEI消息可进一步包括在子图片时序SEI消息中编码最后一个DU的移除时间与第一DU的移除时间之间的持续时间。In instances where the sequence-level flag indicates that sub-picture-level CPB parameters are to be present in the sub-picture timing SEI message, encoding the sub-picture-level CPB parameters may include encoding a sub-picture timing SEI message associated with the first DU. In instances where the second DU is the last DU in decoding order in the AU, encoding the sub-picture SEI message may further include encoding, in the sub-picture timing SEI message, a duration between a removal time of the last DU and a removal time of the first DU.
在一些实例中,第二DU为AU中的按解码次序的最后一个DU。第二DU可按解码次序紧随在AU中的第一DU之后。在一些实例中,确定第一DU的移除时间包括在不编码初始CPB移除延迟及偏移的情况下确定第一DU的移除时间。In some examples, the second DU is the last DU in the AU in decoding order. The second DU may immediately follow the first DU in the AU in decoding order. In some examples, determining the removal time of the first DU includes determining the removal time of the first DU without encoding the initial CPB removal delay and offset.
DU可为任一类型的解码单元,包含nal_unit_type等于UNSPEC0、EOS_NUT、 EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63 的范围中的非视频译码层(VCL)网络抽象层(NAL)单元。A DU may be any type of decoding unit, including a non-video coding layer (VCL) network abstraction layer (NAL) unit with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
图9为说明根据本发明中描述的技术的用于解码用于子图片层级经译码图片缓冲器参数的序列层级旗标的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及图3的视频解码器30。FIG9 is a flowchart illustrating a method for decoding a sequence level flag for sub-picture level coded picture buffer parameters according to the techniques described in this disclosure. The method may be performed by a video decoding device, for example, the video decoder 30 of FIG1 and FIG3.
所述方法包含解码序列层级旗标以确定用于AU的DU的一或多个子图片层级CPB参数在与所述DU相关联的图片时序SEI消息或子图片时序SEI消息中的存在(400)。举例来说,视频解码器30解码序列层级旗标以确定一或多个子图片层级CPB参数的存在。视频解码器30还解码序列层级旗标以确定一或多个子图片层级CPB参数的位置。序列层级旗标可为sub_pic_cpb_params_present_flag。在一些实例中,一或多个子图片层级 CPB参数存在于图片时序SEI消息或子图片时序SEI消息中的仅一者中。The method includes decoding a sequence level flag to determine the presence of one or more sub-picture level CPB parameters for a DU of an AU in a picture timing SEI message or a sub-picture timing SEI message associated with the DU (400). For example, video decoder 30 decodes the sequence level flag to determine the presence of the one or more sub-picture level CPB parameters. Video decoder 30 also decodes the sequence level flag to determine the location of the one or more sub-picture level CPB parameters. The sequence level flag may be sub_pic_cpb_params_present_flag. In some examples, the one or more sub-picture level CPB parameters are present in only one of the picture timing SEI message or the sub-picture timing SEI message.
所述方法可进一步包含基于序列层级旗标从图片时序SEI消息或子图片时序SEI消息解码一或多个子图片层级CPB参数(402)。举例来说,响应于序列层级旗标指示一或多个子图片层级CPB参数存在于图片时序SEI消息中,视频解码器30解码图片时序SEI 消息以确定一或多个子图片层级CPB参数。同样地,响应于序列层级旗标指示一或多个子图片层级CPB参数存在于子图片时序SEI消息中,视频解码器30解码子图片时序SEI 消息以确定一或多个子图片层级CPB参数。The method may further include decoding one or more sub-picture level CPB parameters from a picture timing SEI message or a sub-picture timing SEI message based on the sequence level flag (402). For example, in response to the sequence level flag indicating that the one or more sub-picture level CPB parameters are present in the picture timing SEI message, video decoder 30 decodes the picture timing SEI message to determine the one or more sub-picture level CPB parameters. Similarly, in response to the sequence level flag indicating that the one or more sub-picture level CPB parameters are present in the sub-picture timing SEI message, video decoder 30 decodes the sub-picture timing SEI message to determine the one or more sub-picture level CPB parameters.
所述方法可进一步包含至少部分基于所述一或多个子图片层级CPB参数确定DU的CPB移除时间。在一些实例中,确定DU的CPB移除时间包括在不解码初始CPB移除延迟及偏移的情况下确定DU的CPB移除时间。The method may further include determining a CPB removal time for the DU based at least in part on the one or more sub-picture level CPB parameters. In some examples, determining the CPB removal time for the DU includes determining the CPB removal time for the DU without decoding an initial CPB removal delay and offset.
在序列层级旗标指示子图片层级CPB参数存在于子图片时序SEI消息中的实例中,解码子图片层级CPB参数可包含解码与DU相关联的子图片时序SEI消息。在另一实例中,所述方法可包含在存取单元层级及子图片层级两者导出用于AU的CPB到达时间及 CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。即,视频解码器30可在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者。In an example where the sequence-level flag indicates that the sub-picture-level CPB parameters are present in the sub-picture timing SEI message, decoding the sub-picture-level CPB parameters may include decoding the sub-picture timing SEI message associated with the DU. In another example, the method may include deriving at least one of a CPB arrival time and a CPB nominal removal time for the AU at both the access unit level and the sub-picture level, regardless of the value of the syntax element defining whether the first DU is an AU. That is, video decoder 30 may derive at least one of a CPB arrival time and a CPB nominal removal time for the AU at both the access unit level and the sub-picture level.
在另一实例中,DU为第一DU,且所述方法进一步包含至少部分基于子图片层级CPB参数导出第一DU的CPB移除时间,及解码AU的按解码次序的第二DU的CPB 移除时间与第一DU的CPB移除时间之间的持续时间。所述方法可进一步包含至少部分基于CPB移除时间解码所述第一DU的视频数据。在一些实例中,第二DU为AU中的按解码次序的最后一个DU,或按解码次序紧随AU中的第一DU之后。In another example, the DU is a first DU, and the method further includes deriving a CPB removal time for the first DU based at least in part on sub-picture-level CPB parameters and a duration between the CPB removal time of a second DU in decoding order of the decoded AU and the CPB removal time of the first DU. The method may further include decoding video data of the first DU based at least in part on the CPB removal time. In some examples, the second DU is the last DU in decoding order in the AU, or immediately follows the first DU in decoding order.
DU可为任一DU,包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在 RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC12的范围中的非 VCL NAL单元。DU can be any DU, including non-VCL NAL units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC12.
在AU具有等于0的TemporalId的实例中,所述方法可进一步包含解码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。举例来说,视频解码器30可解码与具有等于0的TemporalId值的AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。In examples where the AU has a TemporalId value equal to 0, the method may further include decoding at least one of a buffering period SEI message or a recovery point SEI message associated with the AU. For example, video decoder 30 may decode at least one of a buffering period SEI message or a recovery point SEI message associated with the AU having a TemporalId value equal to 0.
图10为说明根据本发明中描述的技术的用于编码用于子图片层级经译码图片缓冲器参数的序列层级旗标的方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及图2的视频编码器20。FIG10 is a flowchart illustrating a method for encoding a sequence level flag for sub-picture level coded picture buffer parameters according to the techniques described in this disclosure. The method may be performed by a video encoding device, for example, the video encoder 20 of FIG1 and FIG2.
所述方法包含在图片时序SEI消息或子图片时序SEI消息中编码用于存取单元(AU) 的解码单元(DU)的一或多个子图片层级经译码图片缓冲器(CPB)参数(410)。视频编码器 20可在图片时序SEI消息中编码所述一或多个子图片层级CPB参数。替代性地,视频编码器20可在子图片时序SEI消息中编码所述一或多个子图片层级CPB参数。The method includes encoding one or more sub-picture level coded picture buffer (CPB) parameters for a decoding unit (DU) of an access unit (AU) in a picture timing SEI message or a sub-picture timing SEI message (410). Video encoder 20 may encode the one or more sub-picture level CPB parameters in the picture timing SEI message. Alternatively, video encoder 20 may encode the one or more sub-picture level CPB parameters in the sub-picture timing SEI message.
所述方法进一步包含编码序列层级旗标以指示用于AU的DU的一或多个子图片层级CPB参数在与所述DU相关联的图片时序SEI消息或子图片时序SEI消息中的存在 (412)。举例来说,视频编码器20编码序列层级旗标以指示一或多个子图片层级CPB参数的存在及位置。序列层级旗标可为sub_pic_cpb_params_present_flag。在一些实例中,视频编码器20在图片时序SEI消息或子图片时序SEI消息中的仅一者中编码一或多个子图片层级CPB参数。The method further includes encoding a sequence level flag to indicate the presence of one or more sub-picture level CPB parameters for a DU of an AU in a picture timing SEI message or a sub-picture timing SEI message associated with the DU (412). For example, video encoder 20 encodes a sequence level flag to indicate the presence and location of the one or more sub-picture level CPB parameters. The sequence level flag may be sub_pic_cpb_params_present_flag. In some examples, video encoder 20 encodes the one or more sub-picture level CPB parameters in only one of the picture timing SEI message or the sub-picture timing SEI message.
所述方法可进一步包含至少部分基于所述一或多个子图片层级CPB参数确定DU的CPB移除时间。在一些实例中,确定DU的CPB移除时间包括在不编码初始CPB移除延迟及偏移的情况下确定DU的CPB移除时间。The method may further include determining a CPB removal time for the DU based at least in part on the one or more sub-picture level CPB parameters. In some examples, determining the CPB removal time for the DU includes determining the CPB removal time for the DU without encoding an initial CPB removal delay and offset.
在一实例中,编码所述一或多个子图片层级CPB参数进一步包括在与DU相关联的子图片时序SEI消息中编码一或多个子图片层级CPB参数。在此实例中,视频编码器 20编码序列层级旗标以指示子图片层级CPB参数存在于子图片时序SEI消息中。在另一实例中,编码所述一或多个子图片层级CPB参数进一步包括在与DU相关联的图片时序SEI消息中编码一或多个子图片层级CPB参数。在所述实例中,视频编码器20编码序列层级旗标以指示子图片层级CPB参数存在于图片时序SEI消息中。In one example, encoding the one or more sub-picture level CPB parameters further includes encoding the one or more sub-picture level CPB parameters in a sub-picture timing SEI message associated with the DU. In this example, video encoder 20 encodes a sequence level flag to indicate that the sub-picture level CPB parameters are present in the sub-picture timing SEI message. In another example, encoding the one or more sub-picture level CPB parameters further includes encoding the one or more sub-picture level CPB parameters in a picture timing SEI message associated with the DU. In this example, video encoder 20 encodes a sequence level flag to indicate that the sub-picture level CPB parameters are present in the picture timing SEI message.
在另一实例中,DU为第一DU,且所述方法进一步包含至少部分基于子图片层级CPB参数导出第一DU的CPB移除时间,及编码AU的按解码次序的第二DU的CPB 移除时间与第一DU的CPB移除时间之间的持续时间。所述方法可进一步包含至少部分基于CPB移除时间编码所述第一DU的视频数据。在一些实例中,第二DU为AU中的按解码次序的最后一个DU,或按解码次序紧随AU中的第一DU之后。In another example, the DU is a first DU, and the method further includes deriving a CPB removal time for the first DU based at least in part on sub-picture-level CPB parameters, and encoding a duration between the CPB removal time of a second DU in decoding order of the AU and the CPB removal time of the first DU. The method may further include encoding video data of the first DU based at least in part on the CPB removal time. In some examples, the second DU is the last DU in decoding order in the AU, or immediately follows the first DU in decoding order.
DU可为任一DU,包含nal_unit_type等于UNSPEC0、EOS_NUT、EOB_NUT、在 RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC12的范围中的非 VCL NAL单元。DU can be any DU, including non-VCL NAL units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC12.
在AU具有等于0的TemporalId的实例中,所述方法可进一步包含编码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。举例来说,视频编码器20可编码与具有等于0的TemporalId值的AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。In examples where the AU has a TemporalId value equal to 0, the method may further include encoding at least one of a buffering period SEI message or a recovery point SEI message associated with the AU. For example, video encoder 20 may encode at least one of a buffering period SEI message or a recovery point SEI message associated with the AU having a TemporalId value equal to 0.
图11为说明根据本发明中描述的技术的用于解码具有扩展定义的DU的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及图3的视频解码器30。FIG11 is a flowchart illustrating a method for decoding a DU with an extended definition according to the techniques described in this disclosure. The method may be performed by a video decoding device, for example, the video decoder 30 of FIG1 and FIG3.
所述方法包含解码存取单元(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。The method includes decoding a duration between coded picture buffer (CPB) removal of a first decoding unit (DU) in an access unit (AU) and CPB removal of a second DU, wherein the first DU comprises a non-video coding layer (VCL) network abstraction layer (NAL) unit with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63 (500). That is, in addition to other DU types defined in HEVC WD8, video decoder 30 can also decode DUs with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63 as non-video coding layer (VCL) network abstraction layer (NAL) units.
在一些实例,第二DU按解码次序在第一DU之后,且与第一DU在相同的AU中。第二DU可按解码次序紧随在AU中的第一DU之后。在其它实例中,第二DU为AU 中的按解码次序的最后一个DU。In some examples, the second DU follows the first DU in decoding order and is in the same AU as the first DU. The second DU may immediately follow the first DU in the AU in decoding order. In other examples, the second DU is the last DU in the AU in decoding order.
所述方法还包含至少部分基于经解码持续时间确定所述第一DU的移除时间(502)。所述方法进一步包含至少部分基于移除时间解码所述第一DU的视频数据(504)。举例来说,视频解码器30部分基于经解码持续时间确定第一DU的移除时间且接着基于移除时间解码第一DU的视频数据。The method also includes determining a removal time for the first DU based at least in part on the decoded duration (502). The method further includes decoding video data of the first DU based at least in part on the removal time (504). For example, video decoder 30 determines the removal time for the first DU based in part on the decoded duration and then decodes the video data of the first DU based on the removal time.
在一实例中,所述方法可进一步包含解码一或多个子图片层级CPB参数,其中确定第一DU的移除时间包括至少部分基于经解码持续时间及子图片层级CPB参数而确定第一DU的移除时间。解码一或多个子图片层级CPB参数可进一步包含解码与第一DU相关联的子图片时序补充增强信息(SEI)消息。In one example, the method may further include decoding one or more sub-picture level CPB parameters, wherein determining the removal time of the first DU comprises determining the removal time of the first DU based at least in part on the decoded duration and the sub-picture level CPB parameters. Decoding the one or more sub-picture level CPB parameters may further include decoding a sub-picture timing supplemental enhancement information (SEI) message associated with the first DU.
在第二DU为AU中的按解码次序的最后一个DU的另一实例中,解码子图片SEI 消息包含解码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。在一些实例中,视频解码器30解码序列层级旗标以确定子图片层级 CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。In another example where the second DU is the last DU in decoding order in the AU, the decoded sub-picture SEI message includes the duration between the removal time of the last DU in the decoded sub-picture timing SEI message and the removal time of the first DU. In some examples, video decoder 30 decodes the sequence level flag to determine the presence of sub-picture level CPB parameters in the picture timing SEI message or in the sub-picture timing SEI message.
在AU具有等于0的TemporalId的另一实例中,视频解码器30可解码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。所述方法还可包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。In another example where the AU has a TemporalId equal to 0, video decoder 30 may decode at least one of a buffering period SEI message or a recovery point SEI message associated with the AU. The method may also include deriving at least one of a CPB arrival time and a CPB nominal removal time for the AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element defining whether the first DU is an AU.
图12为说明根据本发明中描述的技术的用于编码具有扩展定义的DU的方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及图2的视频编码器20。FIG12 is a flowchart illustrating a method for encoding a DU with an extended definition according to the techniques described in this disclosure. The method may be performed by a video encoding device, for example, the video encoder 20 of FIG1 and FIG2.
所述方法包含针对包含第一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)。即,除了在HEVCWD8中定义的其它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。The method includes determining a CPB removal time for a second DU for an AU including a first DU, wherein the second DU follows the first DU in decoding order and is in the same AU as the first DU, and wherein the first DU includes a non-video coding layer (VCL) network abstraction layer (NAL) unit (510) with a nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63. That is, in addition to other DU types defined in HEVC WD8, video encoder 20 may also encode a DU with a nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63 as a non-VCL NAL unit. The second DU may follow (including immediately follow) the first DU in decoding order and be in the same AU as the first DU. In other examples, the second DU is the last DU in the AU in decoding order.
所述方法还包含确定第一DU的CPB移除时间与第二DU的经确定CPB移除时间之间的持续时间(512)。对第一DU的CPB移除时间与第二DU的经确定CPB移除时间之间的持续时间的确定可基于AU的经调度CPB移除时间。所述方法进一步包含编码经确定的持续时间(514)。举例来说,视频编码器20确定第一DU与第二DU的CPB移除之间的持续时间,且接着将经确定的持续时间编码为语法元素。The method also includes determining a duration between the CPB removal time of the first DU and the determined CPB removal time of the second DU (512). The determination of the duration between the CPB removal time of the first DU and the determined CPB removal time of the second DU may be based on the scheduled CPB removal time of the AU. The method further includes encoding the determined duration (514). For example, video encoder 20 determines the duration between the CPB removal of the first DU and the second DU, and then encodes the determined duration as a syntax element.
在一实例中,所述方法可进一步包含编码一或多个子图片层级CPB参数,其中确定第一DU的经确定的持续时间包括至少部分基于经解码持续时间及子图片层级CPB参数而确定第一DU的移除时间。编码一或多个子图片层级CPB参数可进一步包含编码与第一DU相关联的子图片时序SEI消息。In one example, the method may further include encoding one or more sub-picture level CPB parameters, wherein determining the determined duration of the first DU includes determining a removal time of the first DU based at least in part on the decoded duration and the sub-picture level CPB parameters. Encoding the one or more sub-picture level CPB parameters may further include encoding a sub-picture timing SEI message associated with the first DU.
在第二DU为AU中的按解码次序的最后一个DU的另一实例中,编码子图片SEI 消息包含在子图片时序SEI消息中编码最后一个DU的移除时间与第一DU的移除时间之间的持续时间。在一些实例中,视频编码器20编码序列层级旗标以指示子图片层级 CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。In another example where the second DU is the last DU in decoding order in the AU, encoding the sub-picture SEI message includes encoding the duration between the removal time of the last DU and the removal time of the first DU in the sub-picture timing SEI message. In some examples, video encoder 20 encodes a sequence level flag to indicate the presence of sub-picture level CPB parameters in a picture timing SEI message or in a sub-picture timing SEI message.
在AU具有等于0的TemporalId的另一实例中,视频编码器20可编码与AU相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。所述方法还可包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。In another example where the AU has a TemporalId equal to 0, video encoder 20 may encode at least one of a buffering period SEI message or a recovery point SEI message associated with the AU. The method may also include deriving at least one of a CPB arrival time and a CPB nominal removal time for the AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element defining whether the first DU is an AU.
图13为说明根据本发明中描述的技术的用于解码缓冲周期及恢复点SEI消息的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及图 3的视频解码器30。FIG13 is a flowchart illustrating a method for decoding a buffering period and recovery point SEI message according to the techniques described in this disclosure. The method may be performed by a video decoding device, for example, the video decoder 30 of FIG1 and FIG3.
所述方法包含解码与AU相关联的缓冲周期SEI消息(530)。所述AU具有等于或小于0的temporalId。即,缓冲周期SEI消息受到限制,使得其不能与具有大于0的temporalId 的AU相关联。The method includes decoding a buffering period SEI message associated with an AU (530). The AU has a temporalId equal to or less than 0. That is, the buffering period SEI message is restricted such that it cannot be associated with an AU having a temporalId greater than 0.
所述方法进一步包含从缓冲周期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单元。The method further includes decoding, from the buffering period SEI message, a duration between removal of the CPB of a first DU and removal of the CPB of a second DU in the AU (532). The second DU may be in the same AU as the first DU. The second DU may be after (including immediately after) the first DU in decoding order. In other examples, the second DU may be the last DU in decoding order in the AU. The DU may be any DU type accepted in HEVC WD8 and may further be a VCL NAL unit with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
所述方法可进一步包含至少部分基于所述经解码持续时间确定所述第一DU的移除时间(534)。在一些实例中,视频解码器30可解码一或多个子图片层级CPB参数。确定第一DU的移除时间可进一步包含至少部分基于经解码持续时间及子图片层级CPB参数而确定第一DU的移除时间。解码一或多个子图片层级CPB参数可进一步包含解码与第一DU相关联的子图片时序SEI消息。The method may further include determining a removal time of the first DU based at least in part on the decoded duration (534). In some examples, video decoder 30 may decode one or more sub-picture level CPB parameters. Determining the removal time of the first DU may further include determining the removal time of the first DU based at least in part on the decoded duration and the sub-picture level CPB parameters. Decoding the one or more sub-picture level CPB parameters may further include decoding a sub-picture timing SEI message associated with the first DU.
所述方法可进一步包含至少部分基于移除时间解码所述第一DU的视频数据(536)。在第二DU为AU中的按解码次序的最后一个DU的实例中,解码子图片SEI消息进一步包含解码子图片时序SEI消息中的最后一个DU的移除时间与第一DU的移除时间之间的持续时间。The method may further include decoding video data of the first DU based at least in part on the removal time (536). In an example where the second DU is the last DU in decoding order in the AU, the decoded sub-picture SEI message further includes a duration between the removal time of the last DU in the decoded sub-picture timing SEI message and the removal time of the first DU.
所述方法可进一步包含解码序列层级旗标以确定子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。所述方法还可包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。The method may further include decoding a sequence level flag to determine the presence of sub-picture level CPB parameters in a picture timing SEI message or in a sub-picture timing SEI message. The method may also include deriving at least one of a CPB arrival time and a CPB nominal removal time for an AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element defining whether the first DU is an AU.
图14为说明根据本发明中描述的技术的用于编码缓冲周期SEI消息的方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及图2的视频编码器20。FIG14 is a flowchart illustrating a method for encoding a buffering period SEI message according to the techniques described in this disclosure. The method may be performed by a video encoding device, for example, the video encoder 20 of FIG1 and FIG2.
所述方法包含编码与存取单元(AU)相关联的缓冲周期补充增强信息(SEI)消息,其中在缓冲周期SEI消息或恢复点SEI消息中的至少一者内编码所述持续时间(540)。因为所述AU具有等于或小于0的temporalId,所以缓冲周期SEI消息受到限制,使得其不能与具有大于0的temporalId的AU相关联。The method includes encoding a buffering period supplemental enhancement information (SEI) message associated with an access unit (AU), wherein the duration is encoded within at least one of a buffering period SEI message or a recovery point SEI message (540). Because the AU has a temporalId equal to or less than 0, the buffering period SEI message is restricted such that it cannot be associated with an AU having a temporalId greater than 0.
所述方法还可包含从缓冲周期SEI消息编码在AU中的第一DU的CPB移除时间与第二DU的CPB移除时间之间的持续时间,其中所述AU具有等于0的temporalId(542)。所述方法可进一步包含至少部分基于所述经解码持续时间确定所述第一DU的移除时间 (544)。另外,所述方法可包含编码第一DU的视频数据(546)。The method may also include encoding a duration between a CPB removal time of a first DU and a CPB removal time of a second DU in an AU from a buffering period SEI message, wherein the AU has a temporalId equal to 0 (542). The method may further include determining a removal time of the first DU based at least in part on the decoded duration (544). Additionally, the method may include encoding video data of the first 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单元。The method may further include determining a duration between removal of a coded picture buffer (CPB) of a first decoding unit (DU) in an access unit (AU) and removal of the CPB of a second DU in the AU, wherein the AU has a TemporalId equal to 0. The second DU may be in the same AU as the first DU. The second DU may be after (including immediately after) the first DU in decoding order. In other examples, the second DU may be the last DU in the AU in decoding order. The DU may be any DU type accepted in HEVC WD8 and may further be a VCL NAL unit with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
在一实例中,确定第一DU的CPB移除之间的持续时间可包含确定第一与第二DU 的移除时间。可从第二DU的移除时间减去第一DU的移除时间以确定持续时间。In one example, determining the duration between CPB removal of the first DU may include determining removal times of the first and second DUs. The removal time of the first DU may be subtracted from the removal time of the second DU to determine the duration.
在一些实例中,视频编码器20可编码一或多个子图片层级CPB参数。确定第一DU的移除时间可进一步包含至少部分基于经编码持续时间及子图片层级CPB参数而确定第一DU的移除时间。编码一或多个子图片层级CPB参数可进一步包含编码与第一DU 相关联的子图片时序SEI消息。In some examples, video encoder 20 may encode one or more sub-picture level CPB parameters. Determining the removal time of the first DU may further include determining the removal time of the first DU based at least in part on the encoded duration and the sub-picture level CPB parameters. Encoding the one or more sub-picture level CPB parameters may further include encoding a sub-picture timing SEI message associated with the first DU.
所述方法可进一步包含编码第一DU的视频数据。编码第一DU的视频数据可至少部分基于移除时间。在第二DU为AU中的按解码次序的最后一个DU的实例中,编码子图片SEI消息进一步包含在子图片时序SEI消息中编码最后一个DU的移除时间与第一DU的移除时间之间的持续时间。The method may further include encoding video data of the first DU. Encoding the video data of the first DU may be based at least in part on the removal time. In an example where the second DU is the last DU in decoding order in the AU, encoding the sub-picture SEI message further includes encoding, in the sub-picture timing SEI message, a duration between the removal time of the last DU and the removal time of the first DU.
所述方法可进一步包含编码序列层级旗标以指示子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。所述方法还可包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义第一DU是否为AU的语法元素的值无关。The method may further include encoding a sequence level flag to indicate the presence of sub-picture level CPB parameters in a picture timing SEI message or in a sub-picture timing SEI message. The method may also include deriving at least one of a CPB arrival time and a CPB nominal removal time for an AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element defining whether the first DU is an AU.
图15为说明根据本发明中描述的技术的用于解码经译码图片缓冲器到达及标称移除时间的方法的流程图。所述方法可由视频解码装置执行。举例来说,视频解码装置可为图1及3的视频解码器30。15 is a flowchart illustrating a method for decoding coded picture buffer arrival and nominal removal times according to the techniques described in this disclosure. The method may be performed by a video decoding device, for example, the video decoder 30 of FIGS. 1 and 3 .
所述方法包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义DU是否为整个AU的语法元素的值无关。 DU可与AU相关联(560)。所述方法可包含视频解码器30确定语法元素的值。所述语法元素可具有SubPicCpbFlag的形式。响应于所述语法元素具有真值(例如,SubPicCpbFlag 为1),所述方法可包含仅针对AU层级导出CPB移除时间。响应于所述语法元素具有假值(例如,SubPicCpbFlag为0),仅针对子图片层级导出CPB移除时间。在一些实例中,仅当指示存在CPB参数的语法旗标具有真值时,才导出CPB到达时间及CPB标称移除时间中的至少一者。The method includes deriving at least one of a CPB arrival time and a CPB nominal removal time for an AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element that defines whether the DU is an entire AU. The DU may be associated with the AU (560). The method may include video decoder 30 determining a value of a syntax element. The syntax element may have the form of a SubPicCpbFlag. In response to the syntax element having a true value (e.g., SubPicCpbFlag is 1), the method may include deriving the CPB removal time only for the AU level. In response to the syntax element having a false value (e.g., SubPicCpbFlag is 0), the CPB removal time is derived only for the sub-picture level. In some examples, at least one of the CPB arrival time and the CPB nominal removal time is derived only when a syntax flag indicating the presence of CPB parameters has a true value.
所述方法可进一步包含至少部分基于CPB到达时间及CPB标称移除时间中的一者确定AU的移除时间(562)。所述方法进一步包含至少部分基于移除时间而解码所述AU 的视频数据(564)。The method may further include determining a removal time of the AU based at least in part on one of a CPB arrival time and a CPB nominal removal time (562).The method further includes decoding video data of the AU based at least in part on the removal time (564).
所述方法可进一步包含解码AU中的第一DU的CPB移除与第二DU的CPB移除之间的持续时间,至少部分基于经解码持续时间而确定第一DU的移除时间,及至少部分基于移除时间、CPB到达时间及CPB标称移除时间中的至少一者解码第一DU的视频数据。在一些实例,第二DU按解码次序在第一DU之后,且与第一DU在相同的AU 中。所述方法可进一步包含解码一或多个子图片层级CPB参数,其中确定第一DU的移除时间包括至少部分基于经解码持续时间及子图片层级CPB参数而确定第一DU的移除时间。The method may further include decoding a duration between CPB removal of a first DU and CPB removal of a second DU in the AU, determining a removal time of the first DU based at least in part on the decoded duration, and decoding video data of the first DU based at least in part on at least one of the removal time, a CPB arrival time, and a CPB nominal removal time. In some examples, the second DU follows the first DU in decoding order and is in the same AU as the first DU. The method may further include decoding one or more sub-picture-level CPB parameters, wherein determining the removal time of the first DU includes determining the removal time of the first DU based at least in part on the decoded duration and the sub-picture-level CPB parameters.
在一些实例中,所述方法还包含解码序列层级旗标以确定子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。In some examples, the method also includes decoding a sequence level flag to determine presence of sub-picture level CPB parameters in a picture timing SEI message or in a sub-picture timing SEI message.
DU可为HEVC WD8中描述的任一类型的DU,包含nal_unit_type等于UNSPEC0、 EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48 到UNSPEC63的范围中的非VCL NAL单元。The DU may be any type of DU described in HEVC WD8, including non-VCL NAL units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
在AU具有不大于0的TemporalId的另一实例中,所述方法进一步包含解码与AU 相关联的缓冲周期补充增强信息(SEI)消息或恢复点SEI消息中的至少一者。In another example where the AU has a TemporalId not greater than 0, the method further includes decoding at least one of a buffering period supplemental enhancement information (SEI) message or a recovery point SEI message associated with the AU.
图16为说明根据本发明中描述的技术的用于编码经译码图片缓冲器到达及标称移除时间的方法的流程图。所述方法可由视频编码装置执行。举例来说,视频编码装置可为图1及图2的视频编码器20。16 is a flowchart illustrating a method for encoding coded picture buffer arrival and nominal removal times according to the techniques described in this disclosure. The method may be performed by a video encoding device, for example, the video encoder 20 of FIG. 1 and FIG. 2 .
所述方法包含在存取单元层级及子图片层级两者处导出用于AU的CPB到达时间及CPB标称移除时间中的至少一者,而与定义DU是否为整个AU的语法元素的值无关。 DU可与AU相关联(570)。所述方法可包含视频编码器20确定语法元素的值。所述语法元素可具有SubPicCpbFlag的形式。响应于所述语法元素具有真值(例如,SubPicCpbFlag 为1),视频编码器20可仅针对AU层级导出CPB移除时间。响应于所述语法元素具有假值(例如,SubPicCpbFlag为0),视频编码器20可仅针对子图片层级导出CPB移除时间。在一些实例中,仅当指示存在CPB参数的语法旗标具有真值时,才导出CPB到达时间及CPB标称移除时间中的至少一者。The method includes deriving at least one of a CPB arrival time and a CPB nominal removal time for an AU at both the access unit level and the sub-picture level, regardless of a value of a syntax element that defines whether the DU is an entire AU. The DU may be associated with the AU (570). The method may include video encoder 20 determining a value of a syntax element. The syntax element may be in the form of SubPicCpbFlag. In response to the syntax element having a true value (e.g., SubPicCpbFlag is 1), video encoder 20 may derive the CPB removal time only for the AU level. In response to the syntax element having a false value (e.g., SubPicCpbFlag is 0), video encoder 20 may derive the CPB removal time only for the sub-picture level. In some examples, at least one of the CPB arrival time and the CPB nominal removal time is derived only when a syntax flag indicating the presence of CPB parameters has a true value.
所述方法可进一步包含至少部分基于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移除之间的持续时间,其中编码移除时间进一步包括编码持续时间。The method may further include determining a removal time for the AU based at least in part on one of a CPB arrival time and a CPB nominal removal time (572). The method further includes encoding the determined removal time (574). In some examples, encoding the removal time may include encoding a duration between CPB removal of a first DU and CPB removal of a second DU in the AU, determining the removal time of the first DU based at least in part on the encoded duration, and encoding video data of the first DU based at least in part on at least one of the removal time, the CPB arrival time, and the CPB nominal removal time. In some examples, the second DU follows the first DU in decoding order and is in the same AU as the first DU. The method may further include encoding one or more sub-picture level CPB parameters, wherein determining the removal time for the first DU includes determining the removal time for the first DU based at least in part on the encoded duration and the sub-picture level CPB parameters. The method may further include encoding a duration between CPB removal of the first DU and CPB removal of the second DU in the AU, wherein encoding the removal time further includes the encoded duration.
在一些实例中,所述方法还包含编码序列层级旗标以指示子图片层级CPB参数在图片时序SEI消息中或在子图片时序SEI消息中的存在。In some examples, the method also includes encoding a sequence level flag to indicate presence of sub-picture level CPB parameters in a picture timing SEI message or in a sub-picture timing SEI message.
DU可为HEVC WD8中描述的任一类型的DU,包含nal_unit_type等于UNSPEC0、 EOS_NUT、EOB_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48 到UNSPEC63的范围中的非VCL NAL单元。The DU may be any type of DU described in HEVC WD8, including non-VCL NAL units with nal_unit_type equal to UNSPEC0, EOS_NUT, EOB_NUT, in the range of RSV_NVCL44 to RSV_NVCL47, or in the range of UNSPEC48 to UNSPEC63.
在AU具有不大于0的TemporalId的另一实例中,所述方法进一步包含编码与AU 相关联的缓冲周期SEI消息或恢复点SEI消息中的至少一者。In another example where the AU has a TemporalId not greater than 0, the method further includes encoding at least one of a buffering period SEI message or a recovery point SEI message associated with the AU.
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体来发射,且可由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted via a computer-readable medium as one or more instructions or codes and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media (which corresponds to tangible media such as data storage media) or communication media, which includes, for example, any media that facilitates the transfer of a computer program from one place to another according to a communication protocol. In this manner, computer-readable media may generally correspond to (1) non-transitory, tangible computer-readable storage media, or (2) communication media such as signals or carrier waves. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, codes, and/or data structures for implementing the techniques described in this disclosure. A computer program product may include computer-readable media.
通过实例而非限制,此些计算机可读存储媒体可包括RAM、ROM、EEPROM、 CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器或可用以存储呈指令或数据结构的形式的所要的程序代码且可由计算机存取的任何其它媒体。而且,将任何连接恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电及微波)而从网站、服务器或其它远程源发射指令,那么同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时媒体,而是针对非暂时的有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软性磁盘及Blu-ray光盘,其中磁盘通常以磁性的方式复制数据,而光盘通过激光以光学的方式复制数据。以上的组合还应包含于计算机可读媒体的范围内。By way of example, and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies (such as infrared, radio, and microwave), then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies (such as infrared, radio, and microwave) are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but rather refer to non-transitory, tangible storage media. As used herein, disk and disc include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc, where disks typically reproduce data magnetically, while discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media.
指令可由一或多个处理器执行,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。此外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或被并入于组合的编解码器中。同样,所述技术可完全地实施于一或多个电路或逻辑元件中。Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Thus, the term "processor," as used herein, may refer to any of the foregoing structures or any other structure suitable for implementing the techniques described herein. Furthermore, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated into a combined codec. Likewise, the techniques may be fully implemented in one or more circuits or logic elements.
本发明的技术可实施于广泛的各种各样的装置或设备中,包含无线手持机、集成电路(IC)或IC的集合(例如,芯片组)。在本发明中描述了各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必要求通过不同硬件单元实现。相反,如上所述,各种单元可组合于编解码器硬件单元中或由互操作的硬件单元(包含如上所述的一或多个处理器)的集合结合合适的软件及/或固件来提供。The techniques of this disclosure can be implemented in a wide variety of devices or apparatuses, including wireless handsets, integrated circuits (ICs), or collections of ICs (e.g., chipsets). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require implementation by different hardware units. Instead, as described above, the various units may be combined in a codec hardware unit or provided by a collection of interoperable hardware units (including one or more processors as described above) in conjunction with appropriate software and/or firmware.
已描述各种实例。此些及其它实例处于所附权利要求书的范围内。Various examples have been described. These and other examples are within the scope of the following claims.
Claims (36)
Applications Claiming Priority (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261705119P | 2012-09-24 | 2012-09-24 | |
| US61/705,119 | 2012-09-24 | ||
| US201261708475P | 2012-10-01 | 2012-10-01 | |
| US61/708,475 | 2012-10-01 | ||
| US14/033,191 US9491456B2 (en) | 2012-09-24 | 2013-09-20 | Coded picture buffer removal times signaled in picture and sub-picture timing supplemental enhancement information messages |
| US14/033,191 | 2013-09-20 | ||
| PCT/US2013/061220 WO2014047580A1 (en) | 2012-09-24 | 2013-09-23 | Coded picture buffer removal times signaled in picture and sub-picture timing supplemental enhancement information messages |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1207776A1 HK1207776A1 (en) | 2016-02-05 |
| HK1207776B true HK1207776B (en) | 2019-11-01 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104662917B (en) | Decoded picture buffer in video coding reaches and nominal removal time | |
| HK1207776B (en) | Method and apparatus for coded picture buffer removal times | |
| HK1207928B (en) | Method and device for decoding video data | |
| HK1208581B (en) | Methods and devices for encoding and decoding video data and computer-readable storage medium | |
| HK1206524B (en) | Coded picture buffer arrival and nominal removal times in video coding | |
| HK1206177B (en) | Decoding method, apparatus, and readable medium | |
| HK1206527B (en) | Buffering period and recovery point supplemental enhancement information messages |