在视频译码中的低延迟视频缓冲的制作方法

文档序号:7792355阅读:140来源:国知局
在视频译码中的低延迟视频缓冲的制作方法
【专利摘要】作为一个实例,一种译码视频数据的方法包括将视频数据的一或多个解码单元存储在经译码图片缓冲器CPB中。所述方法进一步包括获得用于所述一或多个解码单元的相应缓冲器移除时间。所述方法进一步包括根据用于所述解码单元中的每一者的所述所获得缓冲器移除时间而从所述CPB移除所述解码单元。所述方法进一步包括确定所述CPB在存取单元级别还是子图片级别处操作。所述方法进一步包括译码对应于所述经移除解码单元的视频数据。如果所述CPB在存取单元级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元。如果所述CPB在子图片级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元子集。
【专利说明】在视频译码中的低延迟视频缓冲
[0001]本申请案主张2012年4月4日申请的美国临时申请案第61/620,266号及2012年5月I日申请的美国临时申请案第61/641,063号的权利,所述临时申请案中的每一者的全部内容是以引用方式并入本文中。

【技术领域】
[0002]本发明是关于视频译码。

【背景技术】
[0003]数字视频能力可并入到广泛范围的装置中,所述装置包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、便携式或台式计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电话、视频电话会议装置,及其类似者。视频译码标准包括 ITU-T H.261、IS0/IEC MPEG-1 Visual、ITU-T H.262或 IS0/IEC MPEG-2 Visual、ITU-T H.263、IS0/IEC MPEG-4 Visual,及 ITU-T H.264(也被称为IS0/IEC MPEG-4 AVC),包括其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。另外,高效率视频译码(HEVC)为由ITU-T视频译码专家组(VCEG)及IS0/IEC运动图片专家组(MPEG)的研究视频译码的联合协作小组(JCT-VC)开发的视频译码标准。被称为“HEVC工作草稿6”或“HEVC WD6”的即将到来的HEVC标准的新近草稿被描述在Bross等人的文档 JCTVC-H1003 的 “High efficiency video coding (HEVC) text specificat1ndraft 6”(ITU-T SG16 WP3及IS0/IEC JTC1/SC29/WG11的研究视频译码的联合协作小组(JCT-VC),第8次会议:美国加利福尼亚圣荷西,2012年2月)中,到2012年5月I日为止,所述文档可从 http://phenix.1nt-evry.fr/jet/doc_end_user/documents/8_San %20Jose/wgll/JCTVC-H1003-v22.zip 处下载。
[0004]视频压缩技术执行空间预测及/或时间预测以缩减或移除为视频序列所固有的冗余。对于基于块的视频译码,可将视频帧或切片分割成若干宏块。可进一步分割每一宏块。使用关于相邻宏块的空间预测来编码经帧内译码(I)帧或切片中的宏块。经帧间译码(P或B)帧或切片中的宏块可使用关于所述同一帧或切片中的相邻宏块的空间预测,或关于其它参考帧的时间预测。


【发明内容】

[0005]大体上,本发明描述用以以可互操作方式实现缩减编码解码器延迟的各种技术。在一个实例中,这些技术可经由一般的基于子图片的经译码图片缓冲器(CPB)行为而实现。
[0006]在一个实例中,一种译码视频数据的方法包括将视频数据的一或多个解码单元存储在经译码图片缓冲器(CPB)中。所述方法进一步包括获得用于所述一或多个解码单元的相应缓冲器移除时间。所述方法进一步包括根据用于所述解码单元中的每一者的所述所获得缓冲器移除时间而从所述CPB移除所述解码单元。所述方法进一步包括确定所述CPB在存取单元级别还是子图片级别处操作。所述方法进一步包括译码对应于所述经移除解码单元的视频数据。如果所述CPB在存取单元级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元。如果所述CPB在子图片级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元子集。
[0007]在另一实例中,一种用于译码视频数据的装置经配置以将视频数据的一或多个解码单元存储在经译码图片缓冲器(CPB)中。所述装置经进一步配置以获得用于所述一或多个解码单元的相应缓冲器移除时间。所述装置经进一步配置以根据用于所述解码单元中的每一者的所述所获得缓冲器移除时间而从所述CPB移除所述解码单元。所述装置经进一步配置以确定所述CPB在存取单元级别还是子图片级别处操作。所述装置经进一步配置以译码对应于所述经移除解码单元的视频数据。如果所述CPB在存取单元级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元。如果所述CPB在子图片级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元子集。
[0008]在另一实例中,一种用于译码视频数据的设备包括用于将视频数据的一或多个解码单元存储在经译码图片缓冲器(CPB)中的装置。所述设备进一步包括用于获得用于所述一或多个解码单元的相应缓冲器移除时间的装置。所述设备进一步包括用于根据用于所述解码单元中的每一者的所述所获得缓冲器移除时间而从所述CPB移除所述解码单元的装置。所述设备进一步包括用于确定所述CPB在存取单元级别还是子图片级别处操作的装置。所述设备进一步包括用于译码对应于所述经移除解码单元的视频数据的装置。如果所述CPB在存取单元级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元。如果所述CPB在子图片级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元子集。
[0009]在另一实例中,一种计算机可读存储媒体包含存储在其上的指令,所述指令在执行时使处理器将视频数据的一或多个解码单元存储在经译码图片缓冲器(CPB)中。所述指令进一步使处理器获得用于所述一或多个解码单元的相应缓冲器移除时间。所述指令进一步使处理器根据用于所述解码单元中的每一者的所述所获得缓冲器移除时间而从所述CPB移除所述解码单元。所述指令进一步使处理器确定所述CPB在存取单元级别还是子图片级别处操作。所述指令进一步使处理器译码对应于所述经移除解码单元的视频数据。如果所述CPB在存取单元级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元。如果所述CPB在子图片级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元子集。
[0010]在随附图式及以下描述中阐述一或多个实例的细节。其它特征、目标及优点将从所述描述及所述图式以及从权利要求书变得显而易见。

【专利附图】

【附图说明】
[0011]图1为根据本发明的技术的说明可利用用于对视频块之间的边缘进行去块的技术的实例视频编码及解码系统的框图。
[0012]图2为根据本发明的技术的说明可实施用于对视频块之间的边缘进行去块的技术的视频编码器的实例的框图。
[0013]图3为根据本发明的技术的说明解码经编码视频序列的视频解码器的实例的框图。
[0014]图4为说明可实施本发明的技术中的任一者或全部的实例目的地装置的框图。
[0015]图5为根据本发明的技术的说明包括根据所获得缓冲器移除时间而从图片缓冲器移除视频数据的解码单元的实例方法的流程图。
[0016]图6为根据本发明的技术的说明包括根据所获得缓冲器移除时间而从图片缓冲器移除视频数据的解码单元的另一实例方法的流程图。
[0017]图7为根据本发明的技术的说明处理视频数据的另一实例方法的流程图,所述方法包括在提高进程中输出经剪裁图片。

【具体实施方式】
[0018]视频应用程序可包括本地播放、流式处理、广播/多播及交谈应用程序。交谈应用程序可包括视频电话及视频会议,且也被称为低延迟应用程序。交谈应用程序需要全部系统的相对低的端对端延迟,即,视频帧被捕获时的时间与视频帧被显示时的时间之间的延迟。通常,针对交谈应用程序的可接受的端对端延迟应小于400毫秒(ms),且大约150ms的端对端延迟可被视为极好。每一处理步骤可促成整体端对端延迟,例如,捕获延迟、预处理延迟、编码延迟、传输延迟、接收缓冲延迟(针对去抖动)、解码延迟、经解码图片输出延迟、后处理延迟,及显示延迟。因此,通常,编码解码器延迟(编码延迟、解码延迟及经解码图片输出延迟)在交谈应用程序中应最小化。特别地,译码结构应确保图片的解码顺序与输出顺序完全相同,使得经解码图片输出延迟等于零。
[0019]视频译码标准可包括视频缓冲模型的规范。在AVC及HEVC中,缓冲模型被称为假设参考解码器(HRD),其包括经译码图片缓冲器(CPB)及经解码图片缓冲器(DPB)两者的缓冲模型,且CPB行为及DPB行为是以数学方式指定。HRD对不同计时、缓冲器大小及位速率直接强加约束,且对位流特性及统计间接强加约束。HRD参数的完整集合包括五个基本参数:初始CPB移除延迟、CPB大小、位速率、初始DPB输出延迟,及DPB大小。
[0020]在AVC及HEVC中,作为HRD规范的部分,指定位流一致性及解码器一致性。尽管HRD被命名为一种类型的解码器,但通常在编码器侧处需要HRD以保证位流一致性,而在解码器侧处通常不需要HRD。指定两种类型的位流或HRD —致性,S卩,Type I及Type II。同样地,指定两种类型的解码器一致性:输出计时解码器一致性及输出顺序解码器一致性。
[0021]在AVC及HEVC HRD模型中,解码或CPB移除是基于存取单元,且假设图片解码瞬时。在实际应用中,如果一致解码器严格地遵循(例如)在图片计时补充增强信息(SEI)消息中发信的解码时间以开始存取单元的解码,那么输出特定经解码图片的最早可能时间等于那个特定图片的解码时间加解码那个特定图片所需要的时间。不同于AVC及HEVC HRD模型,在现实世界中解码图片所需要的时间不等于零。如贯穿本发明所使用的术语“瞬时”及“瞬时地”可指可在一或多个译码模型或任何一或多个译码模型的理想化方面中被假设为瞬时的任何持续时间,其中应理解,这种情形可不同于在物理或文本意义上“瞬时”。举例来说,出于本发明的目的,如果函数或进程发生在针对所述待执行函数或进程的假设或理想化最早可能时间的实际边限时或内,那么所述函数或进程可被视为名义上“瞬时”。在一些实例中,如本文所使用的语法及变量名称可根据其在HEVC模型内的含义加以理解。
[0022]基于子图片的CPB行为是在Kazui 等人的“Enhancement on operat1n of codedpicture buffer^(ITU-T SG16 WP3 及 ISO/IEC JTC1/SC29/WG11 的研究视频译码的联合协作小组(JCT-VC),第 7 次会议:日内瓦,CH 21-30,2011 年 11 月,JCTVC-G188 (可在 http://phenix.1nt-evry.fr/jet/doc_end_user/documents/7_Geneva/wgll/JCTVC-G188-v2.zip处得到))中被提出,以便以可互操作方式实现一个以下图片周期的译码延迟。可如下汇总JCTVC-G188方法:可将图片均匀地划分成M个树块组,即,所述图片的树块光栅扫描中的第一 M个树块属于第一树块组,所述图片的树块光栅扫描中的第二 M个树块属于第二树块组,等等。值M可在缓冲周期SEI消息中被发信。这个值可用以导出每一树块组的CPB移除时间(即,解码时间)。在这种意义上,JCTVC-G188CPB行为是基于子图片,其中每一子图片为树块组。在一些实例中,子图片可对应于一或多个切片、一或多个波(用于图片的波前分割),或一或多个图像块。在JCTVC-G188的这种方法中假设存取单元级别CPB移除时间照常被发信(使用图片计时SEI消息),且在每一存取单元内,用于树块组的CPB移除时间被假设为线性地或均匀地划分从上一存取单元的CPB移除时间到当前存取单元的CPB移除时间的间隔。
[0023]JCTVC-G188的这种方法进一步暗示以下假设或位流要求:(I)在每一图片内,每一树块组是以需要相同量的解码时间的方式被编码(不仅在HRD模型中,而且针对现实世界解码器),其中第一树块组的经译码数据被视为包括在同一存取单元中且在第一 VCL(视频译码层)NAL(网络抽象层)单元之前的所有非VCL NAL单元;(2)在每一图片内,用于每一树块组的位的数目完全相同,其中第一树块组的经译码数据被视为包括在同一存取单元中且在第一 VCL NAL单元之前的所有非VCL NAL单元。
[0024]用于指定基于子图片的CPB行为的现有方法是与至少以下问题相关联:(I)用于经译码图片中的每一树块组的经译码数据的量完全相同的要求难以用平衡的译码性能而实现(其中图片中具有更详细纹理或运动活动的区域的树块组可使用更多位)。(2)当一个以上树块组包括在切片中时,可不存在容易的方式来拆分属于不同树块组的树块的经译码位,及在编码器侧处单独地发送所述位且从CPB单独地移除所述位(即,单独地解码所述位)。
[0025]为了解决以上问题,本发明用各种替代例来描述用于支持基于子图片的CPB行为的一般设计。在一些实例中,本发明的基于子图片的CPB技术的特征可包括以下技术的方面:(1)每一子图片可包括在解码顺序方面连续的经译码图片的数个译码块。译码块可完全相同于树块,或树块的子集;(2)可照常执行子图片的译码及位到图片中的不同子图片的分配,而不假设或要求用相同量的位来译码一个图片中的每一子图片(即,树块组)。因此,用于每一子图片的CPB移除时间可在位流中被发信,而非根据经发信图片级别CPB移除时间而导出;(3)当一个以上子图片包括在切片中时,可在每一子图片结束时应用字节对准,这与(例如)用于HEVC WD6中的图像块的字节对准形成对比。此外,每一子图片(惟经译码图片中的第一子图片除外)的入口点可被发信,这与(例如)用于HEVC WD6中的图像块的字节对准形成对比。举例来说,经接收发信值可指示在视频数据的较大集合(诸如,切片、图像块或帧)内的子图片中的至少一者的字节对准。特征(I)到(3)中的每一者可被独立地应用或结合其它特征而应用。
[0026]在一个实例中,可如下汇总包括基于子图片的CPB行为的HRD操作:当发信指示基于子图片的CPB行为在使用中时(例如,经由等于I的语法元素Sub_piC_Cpb_flag的序列级别发信),CPB移除或解码是基于子图片,或等效地,是基于解码单元,解码单元可为存取单元或存取单元的子集。换言之,每当从CPB移除解码单元(无论是存取单元还是存取单元的子集)以供解码时,就可从经发信初始CPB移除延迟及针对解码单元而发信的CPB移除延迟导出解码单元离开CPB的移除时间。CPB下溢被指定为如下条件:对于m的任何值,解码单元m的名义CPB移除时间tM(m)小于解码单元m的最终CPB移除时间taf (m)。在一个实例中,当语法元素low_delay_hrd_flag等于O时,要求CPB永不下溢。
[0027]在一个实例中,DPB输出及移除进程可仍在图片级别或存取单元级别处操作,即,每当从DPB输出或移除整个经解码图片时。经解码图片从DPB的移除可在存取单元η (含有当前图片)的第一解码单元的CPB移除时间瞬时地发生。
[0028]图1为说明可利用尤其用于以下操作的技术的实例视频编码及解码系统10的框图:将视频数据的一或多个解码单元存储在图片缓冲器中;获得用于一或多个解码单元的相应缓冲器移除时间;根据用于解码单元中的每一者的所获得缓冲器移除时间而从图片缓冲器移除解码单元;及译码对应于经移除解码单元的视频数据。
[0029]如图1所示,系统10包括源装置12,源装置12经由通信信道16而将经编码视频传输到目的地装置14。源装置12及目的地装置14可包含广泛范围的装置中的任一者。在一些状况下,源装置12及目的地装置14可包含无线通信装置,诸如,无线手机、所谓的蜂窝或卫星无线电话,或可经由通信信道16而传达视频信息的任何无线装置,在这种状况下,通信信道16是无线的。然而,本发明的技术未必限于无线应用或设置。举例来说,这些技术可应用于空中电视广播、有线电视传输、卫星电视传输、因特网视频传输、编码到存储媒体上的经编码数字视频,或其它情境。因此,通信信道16可包含适合于经编码视频数据的传输或存储的无线媒体、有线媒体或存储媒体的任何组合。
[0030]替代地,经编码数据可从传输器24输出到存储装置34。相似地,经编码数据可由接收器26从存储装置34存取。存储装置34可包括多种分布式或本地存取式数据存储媒体中的任一者,诸如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另外实例中,存储装置34可对应于文件服务器、虚拟服务器、数据中心、数据中心的冗余网络,或可保持由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式处理或下载而从存储装置34存取经存储视频数据。存储装置34或其部分的文件服务器实施可为能够存储经编码视频数据且将那个经编码视频数据传输到目的地装置14的任何服务器类型。实例文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置,或本地磁盘驱动器。目的地装置14可经由包括因特网连接的任何标准数据连接而存取经编码视频数据。这种连接可包括适合于存取存储在远程或非本地存储装置34上的经编码视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、电缆调制解调器,等等),或这两者的组合。经编码视频数据从存储装置34的传输可为流式处理传输、下载传输,或这两者的组合。
[0031]在图1的实例中,源装置12包括视频源18、视频编码器20、调制器/解调器(调制解调器)22及传输器24。目的地装置14包括接收器26、调制解调器28、视频解码器30及显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用尤其用于以下操作的技术:将视频数据的一或多个解码单元存储在图片缓冲器中;获得用于一或多个解码单元的相应缓冲器移除时间;根据用于解码单元中的每一者的所获得缓冲器移除时间而从图片缓冲器移除解码单元;及译码对应于经移除解码单元的视频数据。在其它实例中,源装置及目的地装置可包括其它组件或排列。举例来说,源装置12可从外部视频源(诸如,夕卜部相机)而非整合式视频源18接收视频数据。同样地,目的地装置14可与外部显示装置界接,而非包括整合式显示装置32。
[0032]图1的所说明系统10仅仅为一个实例。用于以下操作的技术可由任何数字视频编码及/或解码装置执行:将视频数据的一或多个解码单元存储在图片缓冲器中;获得用于一或多个解码单元的相应缓冲器移除时间;根据用于解码单元中的每一者的所获得缓冲器移除时间而从图片缓冲器移除解码单元;及译码对应于经移除解码单元的视频数据。尽管本发明的技术通常是由视频编码装置执行,但所述技术也可由通常被称为“CODEC”的视频编码器/解码器执行。此外,本发明的技术也可由视频预处理器执行。源装置12及目的地装置14仅仅为这些译码装置的实例,其中源装置12产生经译码视频数据以供传输到目的地装置14。在一些实例中,装置12、14可以大体上对称方式而操作,使得装置12、14中的每一者包括视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传输,例如,用于视频流式处理、视频播放、视频广播或视频电话。
[0033]源装置12的视频源18可包括诸如摄像机的视频捕获装置、含有经以前捕获视频的视频存档,及/或来自视频内容提供者的视频馈送。作为另外替代例,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频与经计算机产生视频的组合。在一些状况下,如果视频源18为摄像机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明所描述的技术大体上可适用于视频译码,且可应用于无线及/或有线应用。在每一状况下,经捕获、经预捕获或经计算机产生视频可由视频编码器20编码。经编码视频信息接着可由调制解调器22根据通信标准而调制,且经由传输器24而传输到目的地装置14。调制解调器22可包括各种混频器、滤波器、放大器,或经设计用于信号调制的其它组件。传输器24可包括经设计用于传输数据的电路,包括放大器、滤波器及一或多个天线。
[0034]目的地装置14的接收器26经由信道16而接收信息,且调制解调器28解调所述信息。同样地,视频编码进程可实施本文所描述的技术中的一或多者,尤其以将视频数据的一或多个解码单元存储在图片缓冲器中、获得用于一或多个解码单元的相应缓冲器移除时间、根据用于解码单元中的每一者的所获得缓冲器移除时间而从图片缓冲器移除解码单元,且译码对应于经移除解码单元的视频数据。经由信道16而传达的信息可包括由视频编码器20定义的语法信息,所述语法信息也可由视频解码器30使用,其包括描述宏块、译码树单元、切片及其它经译码单元(例如,图片组(GOP))的特性及/或处理的语法元素。显示装置32向用户显示经解码视频数据,且可包含多种显示装置中的任一者,诸如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
[0035]在图1的实例中,通信信道16可包含任何无线或有线通信媒体,诸如,射频(RF)频谱或一或多个物理传输线,或无线媒体与有线媒体的任何组合。通信信道16可形成基于数据包的网络的部分,诸如,局域网、广域网,或诸如因特网的全局网络。通信信道16通常表示用于将视频数据从源装置12传输到目的地装置14的任何合适通信媒体或不同通信媒体的集合,包括有线或无线媒体的任何合适组合。通信信道16可包括路由器、交换机、基站,或可用以促进从源装置12到目的地装置14的通信的任何其它设备。在其它实例中,源装置12可将经编码数据存储到存储媒体上,诸如,存储在存储装置34中,而非传输所述数据。同样地,目的地装置14可经配置以从存储装置34或另一存储媒体或装置检索经编码数据。
[0036]视频编码器20及视频解码器30可根据诸如本文所描述的标准的视频压缩标准而操作。然而,本发明的技术不限于任何特定译码标准。尽管图1中未图示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器整合,且可包括适当MUX-DEMUX单元或其它硬件及软件,以处置公共数据流或单独数据流中的音频及视频两者的编码。适用时,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或诸如用户数据报协议(m)P)的其它协议。
[0037]视频编码器20及视频解码器30可各自被实施为多种合适编码器电路中的任一者,诸如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、包括诸如编码器或解码器的视频译码装置的无线通信装置、离散逻辑、软件、硬件、固件,或其任何组合。视频编码器20及视频解码器30中的每一者可包括在一或多个编码器或解码器中,所述一或多个编码器或解码器中的任一者可在相应相机、计算机、移动装置、订户装置、广播装置、机顶盒、服务器或其它装置中整合为组合式编码器/解码器(CODEC)的部分。
[0038]视频序列通常包括一系列视频帧。图片组(GOP)通常包含一系列一或多个视频帧。GOP可包括在GOP的标头中、在GOP的一或多个帧的标头中或在别处的语法数据,所述语法数据描述包括在GOP中的帧的数目。每一帧可包括描述用于相应帧的编码模式的帧语法数据。视频编码器20通常对个别视频帧内的视频块(也被称为译码单元(CU))进行操作,以便编码视频数据。视频块可对应于最大译码单元(LCU)或LCU的分区。视频块可具有固定或变化大小,且其大小可根据指定译码标准而不同。每一视频帧可包括多个切片。每一切片可包括多个LCU,所述IXU可排列成若干分区,也被称为子⑶。IXU也可被称为译码树单元。
[0039]作为实例,ITU-T H.264标准支持以下各者:以各种块大小的帧内预测,诸如,针对亮度分量的16乘16、8乘8或4乘4,及针对色度分量的8X8 ;以及以各种块大小的帧间预测,诸如,针对亮度分量的16X16、16X8、8X16、8X8、8X4、4X8及4X4,及针对色度分量的对应缩放大小。在本发明中,“NXN”与“N乘N”可互换式地用以在垂直维度及水平维度方面指块的像素尺寸,例如,16X16像素或16乘16像素。一般而言,16X16块将具有在垂直方向上的16个像素(y = 16),及在水平方向上的16个像素(x = 16)。同样地,NXN块通常具有在垂直方向上的N个像素及在水平方向上的N个像素,其中N表示非负整数值。块中的像素可以行及列而排列。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包含NXM像素,其中M未必等于N。
[0040]视频块可包含在像素域中的像素数据块,或在变换域中的变换系数块,例如,在将诸如离散余弦变换(DCT)、整数变换、小波变换或概念上相似变换的变换应用于表示经译码视频块与预测性视频块之间的像素差的残余视频块数据之后。在一些状况下,视频块可包含在变换域中的经量化变换系数块。
[0041]较小视频块可提供较好分辨率,且可用于视频帧的包括高细节级别的位置。一般而言,可将块及各种分区(有时被称为子块)视为视频块。另外,可将切片视为多个视频块,诸如,块及/或子块。每一切片可为视频帧的可独立解码单元。替代地,帧自身可为可解码单元,或帧的其它部分可被定义为可解码单元。术语“经译码单元”可指视频帧的任何可独立解码单元,诸如,整个帧或帧的切片、也被称为经译码视频序列的图片组(GOP),或根据适用译码技术而定义的另一可独立解码单元。
[0042]在进行帧内预测性或帧间预测性译码以产生预测性数据及残余数据之后,且在进行任何变换(诸如,在H.264/AVC中使用的4X4或8X8整数变换,或离散余弦变换DCT)以产生变换系数之后,可执行变换系数的量化。量化通常是指量化变换系数以可能地缩减用以表示所述系数的数据的量的进程。量化进程可缩减与系数中的一些或全部相关联的位深度。举例来说,η位值可在量化期间降值舍入到m位值,其中η大于m。
[0043]HEVC将视频数据块称为译码单元(⑶),所述⑶可包括一或多个预测单元(PU)及/或一或多个变换单元(TU)。本发明也可使用术语“块”以指⑶、PU或TU中的任一者。位流内的语法数据可定义最大译码单元(LCU),所述LCU在像素的数目方面为最大译码单元。一般而言,CU具有与H.264的宏块的目的相似的目的,惟CU不具有大小区别除外。因此,CU可拆分成若干子CU。一般而言,在本发明中对CU的参考可指图片的最大译码单元,或LCU的子⑶。IXU可拆分成若干子⑶,且每一子⑶可进一步拆分成若干子⑶。用于位流的语法数据可定义LCU可被拆分的最大次数,被称为CU深度。因此,位流也可定义最小译码单元(SCU)。
[0044]IXU可与四叉树数据结构相关联。一般而言,四叉树数据结构包括每⑶一个节点,其中根节点对应于LCU。如果CU拆分成四个子CU,那么对应于所述CU的节点包括四个叶节点,所述叶节点中的每一者对应于所述子CU中的一者。四叉树数据结构的每一节点可提供用于对应CU的语法数据。举例来说,四叉树中的节点可包括拆分旗标,所述拆分旗标指示对应于所述节点的CU是否拆分成若干子CU。用于CU的语法元素可被递归地定义,且可取决于CU是否拆分成若干子CU。如果CU未被进一步拆分,那么其被称为叶CU。在本发明中,叶CU的4个子CU也将被称为叶CU,但不存在原始叶CU的显式拆分。举例来说,如果以16X16大小的⑶未被进一步拆分,那么四个8X8子⑶也可被称为叶⑶,但16X16CU尚未被拆分。
[0045]此外,叶⑶的TU也可与相应四叉树数据结构相关联。即,叶⑶可包括指示叶⑶如何拆分成若干TU的四叉树。本发明将指示LCU如何被分割的四叉树称为CU四叉树,且将指示叶CU如何分割成若干TU的四叉树称为TU四叉树。TU四叉树的根节点通常对应于叶⑶,而⑶四叉树的根节点通常对应于IXU。TU四叉树的未被拆分的TU可被称为叶TU。
[0046]叶⑶可包括一或多个预测单元(PU)。一般而言,PU表示对应⑶的全部或部分,且可包括用于检索用于所述PU的参考样本的数据。举例来说,当PU被帧间模式编码时,PU可包括定义用于PU的运动矢量的数据。定义运动矢量的数据可描述(例如)运动矢量的水平分量、运动矢量的垂直分量、用于运动矢量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动矢量所指向的参考帧,及/或用于运动矢量的参考列表(例如,列表O或列表I)。定义I3U的用于叶CU的数据也可描述(例如)CU成为一或多个I3U的分割。取决于CU未被译码、被帧内预测模式编码还是被帧间预测模式编码,分割模式可不同。对于帧内译码,PU可被视为与下文所描述的叶变换单元相同。
[0047]叶⑶可包括一或多个变换单元(TU)。所述变换单元可使用TU四叉树结构予以指定,如上文所论述。即,拆分旗标可指示叶CU是否拆分成四个变换单元。接着,每一变换单元可进一步拆分成4个子TU。当TU未被进一步拆分时,其可被称为叶TU。一般而言,拆分旗标可指示叶TU拆分成若干正方形TU。为了指示TU拆分成若干非正方形TU,可包括其它语法数据,例如,指示TU将根据非正方形四叉树变换(NSQT)而分割的语法数据。
[0048]通常,对于帧内译码,属于叶⑶的所有叶TU共享相同帧内预测模式。S卩,通常应用相同帧内预测模式以计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可使用帧内预测模式来计算每一叶TU的残余值,作为预测性值的对应于TU的部分与原始块之间的差。残余值可被变换、量化及扫描。对于帧间译码,视频编码器可在PU级别处执行预测,且可计算用于每一 PU的残余。对应于叶CU的残余值可被变换、量化及扫描。对于帧间译码,叶TU可大于或小于PU。对于帧内译码,I3U可与对应叶TU并置。在一些实例中,叶TU的最大大小可为对应叶CU的大小。
[0049]一般而言,本发明使用术语⑶及TU以分别指叶⑶及叶TU,除非另有提到。一般而言,本发明的技术是关于变换、量化、扫描及熵编码CU的数据。作为实例,本发明的技术包括选择待使用的变换,以基于用以预测经帧内预测块的帧内预测模式来变换所述块的残余值。本发明也使用术语“方向性变换”或“经设计变换”以指取决于帧内预测模式方向的此类变换。即,视频编码器可选择方向性变换以应用于变换单元(TU)。如上文所提到,帧内预测包括从图片的经以前译码⑶及TU预测所述同一图片的当前⑶的TU。更具体地说,视频编码器可使用特定帧内预测模式来帧内预测图片的当前TU。
[0050]在量化之后,可(例如)根据内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)或另一熵译码方法来执行经量化数据的熵译码。经配置用于熵译码的处理单元或另一处理单元可执行其它处理功能,诸如,经量化系数的零行程长度译码,及/或语法信息的产生,诸如,经译码块样式(CBP)值、宏块类型、译码模式、用于经译码单元(诸如,帧、切片、宏块或序列)的最大宏块大小,或其它语法信息。
[0051]视频编码器20可经配置以执行反量化及反变换,以将待作为参考而用于预测后续块的经解码块存储在(例如)待在时间上预测的同一或相同帧中。视频编码器20可(例如)在帧标头、块标头、切片标头或GOP标头中进一步将诸如基于块的语法数据、基于帧的语法数据及基于GOP的语法数据的语法数据发送到视频解码器30。GOP语法数据可描述相应GOP中的帧的数目,且帧语法数据可指示用以编码对应帧的编码/预测模式。
[0052]适用时,视频编码器20及视频解码器30可各自被实施为多种合适编码器或解码器电路中的任一者,诸如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件,或其任何组合。视频编码器20及视频解码器30中的每一者可包括在一或多个编码器或解码器中,所述一或多个编码器或解码器中的任一者可整合为组合式视频编码器/解码器(CODEC)的部分。包括视频编码器20及/或视频解码器30的设备可包含集成电路、微处理器,及/或无线通信装置,诸如,蜂窝电话。
[0053]根据本发明的技术,视频编码器20及/或视频解码器30可经配置尤其以将视频数据的一或多个解码单元存储在图片缓冲器中、获得用于一或多个解码单元的相应缓冲器移除时间、根据用于解码单元中的每一者的所获得缓冲器移除时间而从图片缓冲器移除解码单元,且译码对应于经移除解码单元的视频数据。
[0054]以下定义是关于实例视频编码器20及/或视频解码器30而提供,视频编码器20及/或视频解码器30经配置尤其以将视频数据的一或多个解码单元存储在图片缓冲器中、获得用于一或多个解码单元的相应缓冲器移除时间、根据用于解码单元中的每一者的所获得缓冲器移除时间而从图片缓冲器移除解码单元,且译码对应于经移除解码单元的视频数据。
[0055]出于描述一个实例集合的目的,可如下定义术语“解码单元”:
[0056]解码单元:存取单元或存取单元的子集。如果sub_pic_cpb_flag等于O,那么解码单元为存取单元;否则,解码单元为存取单元的子集。当sub_pic_cpb_flag等于I时,存取单元中的第一解码单元包括存取单元中的所有非VCL NAL单元,及同一存取单元中的第一 VCL NAL单元,且存取单元中的每一其它解码单元为并非存取单元中的第一经译码切片NAL单元的经译码切片NAL单元。
[0057]出于描述第二实例集合的目的,可如下定义术语“解码单元”,其中术语“子图片”的额外定义是如“解码单元”的对应实例定义中所使用:
[0058]解码单元:存取单元或存取单元的子集。如果sub_pic_cpb_flag等于O,那么解码单元为存取单元;否则,解码单元为存取单元的子集。当sub_pic_cpb_flag等于I时,存取单元中的第一解码单元包括存取单元中的所有非VCL NAL单元,及同一存取单元中的图片的第一子图片,且存取单元中的每一其它解码单元为并非存取单元中的第一子图片的子图片。
[0059]子图片:在解码顺序方面连续的经译码图片的数个译码块。
[0060]在根据上文所提供的第二实例集合的定义中,当一个以上子图片包括在切片中时,可在每一子图片结束时应用字节对准,这与(例如)用于HEVC WD6中的图像块的字节对准形成对比。此外,每一子图片(惟经译码图片中的第一子图片除外)的入口点可被发?目。
[0061]在一些替代例中,当位流含有多个可缩放层或视图时,解码单元可被定义为层表示或视图组件。在层表示或视图组件的第一 VCL NAL单元之前的所有非VCL单元也属于含有层表示或视图组件的解码单元。
[0062]提供实例假设参考解码器(HRD)操作、经译码图片缓冲器的实例操作、位流到达的实例计时、解码单元移除的实例计时、解码单元的实例解码、经解码图片缓冲器的实例操作、图片从经解码图片缓冲器的实例移除、实例图片输出以及实例当前经解码图片标记及存储的以下描述以说明视频编码器20及/或视频解码器30的实例,除其它功能外,视频编码器20及/或视频解码器30还可经配置以将视频数据的一或多个解码单元存储在图片缓冲器中、获得用于一或多个解码单元的相应缓冲器移除时间、根据用于解码单元中的每一者的所获得缓冲器移除时间而从图片缓冲器移除解码单元,且译码对应于经移除解码单元的视频数据。在其它实例中,可不同地定义或执行所述操作。以此方式,视频编码器20及/或视频解码器30可经配置以根据下文所描述的HRD操作的各种实例而操作。
[0063]作为一个实例,可如下概括地描述HRD操作:CPB大小(位的数目)为CpbSize [SchedSelIdx]。用于时间层X的DPB大小(图片存储缓冲器的数目)针对在 O 到 max_temporal_layers_minusl (包括在内)的范围内的每一 X 为 max_dec_pic_buffering[X]+l。在这个实例中,HRD可操作如下:与根据指定到达调度而流动到CPB中的存取单元相关联的数据可由假设流调度器(HSS) ( S卩,传递调度器)传递。与每一解码单元相关联的数据可通过瞬时解码进程在CPB移除时间瞬时地移除及解码。每一经解码图片可放置在DPB中。在DPB输出时间或经解码图片变得不再为帧间预测参考所需要的时间中的较迟一者,可从DPB移除经解码图片。
[0064]可用真实值来进行这些实例中的算术,使得不传播舍入误差。举例来说,恰好在解码单元的移除之前或之后的CPB中的位的数目未必为整数。
[0065]变量t。可被导出如下,且可被称为时钟计时周期:
[0066]tc = num_units_in_tick + time_scale(C-1)
[0067]可指定以下内容以用于表达在对HEVC的实例附件修改中的约束:
[0068]使存取单元η为按解码顺序的第η存取单元,其中第一存取单元为存取单元O ;
[0069]使图片η为存取单元η的经译码图片或经解码图片;
[0070]使解码单元m为按解码顺序的第m解码单元,其中第一解码单元为解码单元O。
[0071]如下描述用于操作经译码图片缓冲器(CPB)的一些实例技术。根据一些视频译码技术,可实施CPB操作的各种方法。HEVC WD6关于CPB操作的章节中的规范可由本发明修改,且可独立地应用于所存在的每一 CPB参数集合且应用于Type I 一致性点及Type II 一致性点两者。
[0072]如下描述涉及位流到达的计时的一些实例。HRD可以缓冲周期补充增强信息(SEI)消息中的任一者予以初始化。在初始化之前,CPB可空白。在初始化之后,HRD可不再次通过后续缓冲周期SEI消息初始化。
[0073]与初始化CPB的缓冲周期SEI消息相关联的存取单元可被称为存取单元O。每一解码单元可被称为解码单元m,其中编号m识别特定解码单元。存取单元O中按解码顺序的第一解码单元可被称为解码单元O。m的值针对按解码顺序的每一后续解码单元可递增I。
[0074]解码单元m的第一位开始进入CPB的时间可被称为初始到达时间tai (m)。可如下导出解码单元的初始到达时间:
[0075]如果解码单元为解码单元0,那么tai (O) = O,
[0076]否则(解码单元为解码单元m,其中m > O),以下内容可适用:
[0077]如果cbr_flag[SchedSelIdx]等于I,那么用于解码单元m的初始到达时间等于解码单元m-Ι的最终到达时间(其在下文被导出),即,
[0078]tai(m) = taf(m-l)(C_2)
[0079]否则(cbr_flag[SchedSelIdx]等于O),用于解码单元m的初始到达时间是由下式导出:
[0080]tai (m) = Max (taf (m_l),tai, earliest (m))(C_3)
[0081]其中

tai, earliest
(m)被导出如下。
[0082]如果解码单元m并非后续缓冲周期的第一解码单元,那么tai, eartiest (m)可被导出为:
[0083]tai, earliest (m) = tr, n (m)_ (in ? t ? al_cpb_r emo val_de I ay [SchedSelldx] +initial_cpb_removal_delay_offset[SchedSelldx])+90000(C_4)
[0084]其中tr,n(m)为如所指定的解码单元m离开CPB的名义移除时间,且initial_cpb_removal_delay[SchedSelldx]及 initial_cpb_removal_delay_offset[SchedSelldx]被指定在上一缓冲周期SEI消息中;
[0085]否则(解码单元m为后续缓冲周期的第一解码单元),tai, —(m)可被导出为:
[0086]tai, earliest (m) = tr, n (m) - (in i t i al_cpb_r emo va l_de I ay [SchedSe 11 dx] + 90000)(C-5)
[0087]其中initial_cpb_removal_delay [SchedSelldx]被指定在与含有解码单兀 m 的存取单元相关联的缓冲周期SEI消息中。
[0088]用于解码单元m的最终到达时间可由下式导出:
[0089]taf (m) = tai (m)+b (m)+BitRate [SchedSelldx](C_6)
[0090]其中b (m)可为解码单元m的以位为单位的大小,其针对Type I 一致性点而计数VCL NAL单元及填充物数据NAL单元的位或针对Type II —致性点而计数Type II位流的所有位。
[0091]在一些实例中,可如下约束SchedSelldx、BitRate[SchedSelldx]及CpbSize[SchedSelldx]的值:
[0092]如果用于含有解码单元m的存取单元的活动序列参数集合的内容与用于上一存取单元的活动序列参数集合的内容不同,那么HSS从提供在用于含有解码单元m的存取单元的活动序列参数集合中的SchedSelldx的值当中选择SchedSelldx的值SchedSelIdxl,所述值SchedSelIdxl针对含有解码单元m的存取单元引起BitRate [SchedSel Idxl]或 CpbSize[SchedSelIdxl]。 BitRate[SchedSelIdxl]或 CpbSize[SchedSelIdxl]的值可不同于针对在使用中用于上一存取单元的SchedSelldx的值SchedSelIdxO的BitRate [SchedSelIdxO]或 CpbSize [SchedSelIdxO]的值;
[0093]否则,HSS继续用 SchedSelIdx、BitRate [SchedSelldx]及 CpbSize [SchedSelldx]的先前值而操作。
[0094]当HSS选择不同于上一存取单元的值的BitRate [SchedSelldx]或CpbSize[SchedSelldx]的值时,以下内容在一些实例中可适用:
[0095]变量BitRate [SchedSelldx]在时间 tai(m)开始生效
[0096]变量CpbSize [SchedSelldx]开始生效如下:
[0097]如果CpbSize [SchedSelldx]的新值超过旧CPB大小,那么其在时间tai (m)开始生效,
[0098]否则,CpbSize [SchedSelldx]的新值在含有解码单元m的存取单元的最后解码单元的CPB移除时间开始生效。
[0099]当sub_pic_cpb_flag等于I时,存取单元η的初始CPB到达时间tai (η)可设置到存取单元η中的第一解码单元的初始CPB到达时间,且存取单元η的最终CPB到达时间taf(n)可设置到存取单元η中的最后解码单元的最终CPB到达时间。
[0100]如下描述涉及解码单元移除的计时及解码单元的解码的一些实例。当解码单元m为m等于O的解码单元(初始化HRD的存取单元的第一解码单元)时,解码单元离开CPB的名义移除时间可由下式指定:
[0101]tr,n(0) = initial_cpb_removal_delay [SchedSelldx]+90000 (C_7)
[0102]当解码单元m为并不初始化HRD的缓冲周期的第一存取单元的第一解码单元时,解码单元离开CPB的名义移除时间可由下式指定:
[0103]tr,n(m) = tr,n(mb)+tc*cpb_removal_delay (m)(C_8)
[0104]其中tr,n(mb)为上一缓冲周期的第一解码单元的名义移除时间,且cpb_removal_delay (m)为在与含有解码单元m的存取单元相关联的图片计时SEI消息中所指定的用于解码单兀 m 的 cpb_removal_delay [i]的值。
[0105]当解码单元η为缓冲周期的第一解码单元时,mb可设置为在解码单元η的移除时间仁,n(m)等于m。并非缓冲周期的第一解码单元的解码单元m的名义移除时间仁,n(m)可由下式给出:
[0106]tr,n(m) = tr,n(mb)+tc*cpb_removal_delay (m)(C_9)
[0107]其中tr,n(mb)为当前缓冲周期的第一解码单元的名义移除时间,且cpb_removal_delay (m)为在与含有解码单元m的存取单元相关联的图片计时SEI消息中所指定的用于解码单兀 m 的 cpb_removal_delay [i]的值。
[0108]可如下指定解码单元m的移除时间:
[0109]如果low_delay_hrd_flag等于O或1^,n(m) >= taf (m),那么解码单元η的移除时间可由下式指定:
[0110]tr(m) = tr,n(m)(C-1O)
[0111]否则(low_delay_hrd_flag等于I且tin(m) < U(m)),解码单元m的移除时间是由下式指定:
[0112]tr(m) = tr,n(m)+tc*Ceil ((taf (m)_tr,n(m))+tc)(C-1l)
[0113]后一状况指示解码单元m的大小b(m)如此大以致于其防止在名义移除时间的移除。
[0114]当sub_pic_cpb_flag等于I时,存取单元η的名义CPB移除时间tr,n(n)可设置到存取单元η中的最后解码单元的正常CPB移除时间,存取单元η的CPB移除时间仁(η)可设置到存取单元η中的最后解码单元的CPB移除时间。
[0115]在一些实例中,在解码单元m的CPB移除时间,所述解码单元可被瞬时地解码。
[0116]如下描述经解码图片缓冲器(DPB)的操作的一些实例。所述经解码图片缓冲器可含有图片存储缓冲器。所述图片存储缓冲器中的每一者可含有经解码图片,所述经解码图片被标记为“用于参考”或经保持以供未来输出。在初始化之前,DPB可空白(DPB充满度设置到零)。本发明的技术的这些实例的以下步骤可以所列出序列而发生。
[0117]如下描述图片从经解码图片缓冲器(DPB)的移除的一些实例。在一些实例中,在当前图片的解码之前(但在分析当前图片的第一切片的切片标头之后)图片从DPB的移除可在存取单元η (含有当前图片)的第一解码单元的CPB移除时间瞬时地发生,且可进行如下。
[0118]可调用如在HEVC WD6的子条款8.3.2中所指定的用于参考图片集合的解码进程。如果当前图片为瞬时解码器刷新(IDR)图片,那么以下内容可适用:
[0119]1.当IDR图片并非经解码的第一 IDR图片(例如,当无先前图片输出旗标具有不等于I的值时)且从活动序列参数集合导出的pic_width_in_luma_samples (例如,亮度样本中的图片宽度)或 pic_height_in_luma_samples 或 max_dec_pic_buffering 的值分别不同于从针对前一图片为活动的序列参数集合导出的pic_width_in_luma_samples或Pic_height_in_luma_sampIes 或 max_dec_pic_buffering 的值时,no_output_of_pr1r_pics_flag可推断为等于I或由HRD设置为等于I,而不管no_output_of_pr1r_pics_flag白勺实际值女口?可。才目 t:匕于关于 pic_width_in_luma_samples 或 pic_height_in_luma_samples的改变的HRD,解码器实施可更从容地处置图片或DPB大小改变。
[0120]2.当no_output_of_pr1r_pics_flag等于I或设置为或推断为等于I时,可使DPB中的所有图片存储缓冲器空白而没有其所含有的图片的输出,且DPB充满度可设置到
O0
[0121]可从DPB移除DPB中的所有图片k(对于所述图片,所有以下条件成立):图片k被标记为“未用于参考”;图片k具有等于O的PicOutputFlag,或其DPB输出时间小于或等于当前图片η的第一解码单元(被表示为解码单元m)的CPB移除时间;SP,
[0122]t0j dpb (k) < = tr (m)
[0123]当从DPB移除图片时,DPB充满度可递减I。
[0124]如下描述图片输出的一些实例。以下情形可在存取单元η(含有当前图片)的最后解码单元(被表示为解码单元m)的CPB移除时间t Jm)瞬时地发生。图片η可在所述图片的最后解码单元被解码之后被视为经解码。
[0125]变量maxPicOrderCnt (对于最大图片顺序计数(POC))可设置为等于当前图片及DPB中当前被标记为“用于短期参考”或具有大于t,(m)的DPB输出时间的所有图片的PicOrderCntVal (对于图片顺序计数(POC)值)值的最大值。变量minPicOrderCnt (对于最小图片顺序计数(POC))可设置为等于当前图片及DPB中当前被标记为“用于短期参考”或具有大于t,(m)的DPB输出时间的所有图片的PicOrderCntVal的最小值。以下内容可为位流一致性的要求:maxPicOrderCnt-minPicOrderCnt 的值应小于 MaxPic0rderCntLsb/2。
[0126]当图片η具有等于I的PicOutputFlag时,其DPB输出时间t。, dpb(η)可由下式导出:
[0127]t。, dpb(n) = tr (m)+tc*dpb_output_delay (n)(C-12)
[0128]其中dpb_output_delay (n)为在与存取单元n相关联的图片计时SEI消息中所指定的dpb_output_delay的值。可如下指定当前图片的输出:
[0129]如果PicOutputFlag等于I ? t0, dpb (η) = tr (m),那么当前图片被输出;
[0130]否则,如果PicOutputFlag等于0,那么当前图片未被输出,但可存储在DPB中,如下文进一步所指定;
[0131]否则(PicOutputFlag等于I且t。.(n) > (m)),当前图片稍后被输出且将存储在DPB中(如下文进一步所指定),且在时间^dpb(Ii)被输出,除非被指示不会通过等于I的no_output_of_pr1r_pics_flag的解码或推断在I^dpb(Ii)之前的时间被输出。
[0132]当被输出时,当前或选定图片可使用在活动序列参数集合中所指定的剪裁矩形予以剪裁,从而基于选定图片(即,当前图片)来产生经剪裁图片。当图片η为被输出且并非被输出的位流的最后图片的图片时,(η)的值被定义为:
[0133]Δ t0, dpb (n) = t0, dpb (nn) _t0, dpb (n)(C-13)
[0134]其中nn指示在输出顺序方面跟随在图片n之后且具有等于I的PicOutputFlag的图片。下文进一步提供提高进程及剪裁进程的另外细节。
[0135]如下描述涉及当前经解码图片标记及存储的一些实例。以下情形可在存取单元η(含有当前图片)的最后解码单元的CPB移除时间tjm)瞬时地发生。当前经解码图片可在DPB中存储在空白图片存储缓冲器中,且DPB充满度可递增I。如果当前图片为参考图片,那么其可被标记为“用于参考”,否则,其可被标记为“未用于参考”。
[0136]用于CPB行为模式的发信的以下实例语法及语义是关于实例视频编码器20及/或视频解码器30而提供,视频编码器20及/或视频解码器30经配置尤其以将视频数据的一或多个解码单元存储在图片缓冲器中、获得用于一或多个解码单元的相应缓冲器移除时间、根据用于解码单元中的每一者的所获得缓冲器移除时间而从图片缓冲器移除解码单元,且译码对应于经移除解码单元的视频数据。
[0137]如下描述用于CPB行为模式的发信的语法及语义的一些实例。可通过添加子图片CPB旗标sub_pic_cpb_flag来改变视频可用性信息(VUI)参数的语法,如下表1所示:
[0138]表1
[0139]

【权利要求】
1.一种译码视频数据的方法,所述方法包含: 将视频数据的一或多个解码单元存储在经译码图片缓冲器CPB中; 获得用于所述一或多个解码单元的相应缓冲器移除时间; 根据用于所述解码单元中的每一者的所述所获得缓冲器移除时间而从所述CPB移除所述解码单元; 确定所述CPB在存取单元级别还是子图片级别处操作 '及 译码对应于所述经移除解码单元的视频数据, 其中,如果所述CPB在存取单元级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元;且 其中,如果所述CPB在子图片级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元子集。
2.根据权利要求1所述的方法,其中确定所述CPB在存取单元级别还是子图片级别处操作包含: 在子图片经译码图片缓冲器优选旗标具有值O时或在子图片经译码图片缓冲器参数存在旗标具有值O时确定所述CPB在存取单元级别处操作 '及 在所述子图片经译码图片缓冲器优选旗标具有值I且所述子图片经译码图片缓冲器参数存在旗标具有值I时确定所述CPB在子图片级别处操作。
3.根据权利要求2所述的方法,其进一步包含接收所述子图片经译码图片缓冲器优选旗标的所述值。
4.根据权利要求2所述的方法,其进一步包含在未接收到所述子图片经译码图片缓冲器优选旗标的值时针对所述子图片经译码图片缓冲器优选旗标设置值O。
5.根据权利要求2所述的方法,其进一步包含接收所述子图片经译码图片缓冲器参数存在旗标的所述值。
6.根据权利要求1所述的方法,其进一步包含: 以连续解码顺序接收视频数据的所述一或多个解码单元, 其中将视频数据的所述一或多个解码单元存储在所述CPB中包含以所述连续解码顺序将视频数据的所述一或多个解码单元存储在所述CPB中。
7.根据权利要求1所述的方法,其中获得用于所述一或多个解码单元的所述相应缓冲器移除时间包含接收指示用于所述解码单元中的至少一者的所述相应缓冲器移除时间的相应发信值。
8.根据权利要求7所述的方法,其中指示用于所述解码单元中的所述至少一者的所述缓冲器移除时间的所述发信值包含指示由所述解码单元中的所述至少一者包含的网络抽象层NAL单元的数目的发信值。
9.根据权利要求1所述的方法,其中所述一或多个解码单元包含相应子图片,所述方法进一步包含接收指示在所述视频数据的较大集合内的至少一个子图片的字节对准的发信值。
10.一种用于译码视频数据的装置,所述装置包含视频译码器,所述视频译码器经配置以: 将视频数据的一或多个解码单元存储在经译码图片缓冲器CPB中; 获得用于所述一或多个解码单元的相应缓冲器移除时间; 根据用于所述解码单元中的每一者的所述所获得缓冲器移除时间而从所述CPB移除所述解码单元; 确定所述CPB在存取单元级别还是子图片级别处操作 '及 译码对应于所述经移除解码单元的视频数据, 其中,如果所述CPB在存取单元级别处操作,那么为了译码所述视频数据,所述视频译码器经进一步配置以译码包含在所述解码单元中的存取单元;且 其中,如果所述CPB在子图片级别处操作,那么为了译码所述视频数据,所述视频译码器经进一步配置以译码包含在所述解码单元中的存取单元子集。
11.根据权利要求10所述的装置,其中,为了确定所述CPB在存取单元级别还是子图片级别处操作,所述视频译码器经进一步配置以: 在子图片经译码图片缓冲器优选旗标具有值O时或在子图片经译码图片缓冲器参数存在旗标具有值O时确定所述CPB在存取单元级别处操作 '及 在所述子图片经译码图片缓冲器优选旗标具有值I且所述子图片经译码图片缓冲器参数存在旗标具有值I时确定所述CPB在子图片级别处操作。
12.根据权利要求11所述的装置,其中所述视频译码器经进一步配置以接收所述子图片经译码图片缓冲器优选旗标的所述值。
13.根据权利要求11所述的装置,其中所述视频译码器经进一步配置以在未接收到所述子图片经译码图片缓冲器优选旗标的值时针对所述子图片经译码图片缓冲器优选旗标设置值O。
14.根据权利要求11所述的装置,其中所述视频译码器经进一步配置以接收所述子图片经译码图片缓冲器参数存在旗标的所述值。
15.根据权利要求10所述的装置,其中所述视频译码器经进一步配置以: 以连续解码顺序接收视频数据的所述一或多个解码单元, 其中将视频数据的所述一或多个解码单元存储在所述CPB中包含以所述连续解码顺序将视频数据的所述一或多个解码单元存储在所述CPB中。
16.根据权利要求10所述的装置,其中获得用于所述一或多个解码单元的所述相应缓冲器移除时间包含接收指示用于所述解码单元中的至少一者的所述相应缓冲器移除时间的相应发信值。
17.根据权利要求16所述的装置,其中指示用于所述解码单元中的所述至少一者的所述缓冲器移除时间的所述发信值包含指示由所述解码单元中的所述至少一者包含的网络抽象层NAL单元的数目的发信值。
18.根据权利要求10所述的装置,其中所述一或多个解码单元包含相应子图片,且所述视频译码器经进一步配置以接收指示在所述视频数据的较大集合内的至少一个子图片的字节对准的发信值。
19.根据权利要求10所述的装置,其中所述装置包含以下各者中的至少一者: 一或多个集成电路; 一或多个微处理器 '及 无线通信装置,其包括所述视频译码器。
20.一种用于译码视频数据的设备,所述设备包含: 用于将视频数据的一或多个解码单元存储在经译码图片缓冲器CPB中的装置; 用于获得用于所述一或多个解码单元的相应缓冲器移除时间的装置; 用于根据用于所述解码单元中的每一者的所述所获得缓冲器移除时间而从所述CPB移除所述解码单元的装置; 用于确定所述CPB在存取单元级别还是子图片级别处操作的装置 '及 用于译码对应于所述经移除解码单元的视频数据的装置, 其中,如果所述CPB在存取单元级别处操作,那么所述用于译码所述视频数据的装置包含用于译码包含在所述解码单元中的存取单元的装置;且 其中,如果所述CPB在子图片级别处操作,那么所述用于译码所述视频数据的装置包含用于译码包含在所述解码单元中的存取单元子集的装置。
21.根据权利要求20所述的设备,其中所述用于确定所述CPB在存取单元级别还是子图片级别处操作的装置包含: 用于在子图片经译码图片缓冲器优选旗标具有值O时或在子图片经译码图片缓冲器参数存在旗标具有值O时确定所述CPB在存取单元级别处操作的装置 '及 用于在所述子图片经译码图片缓冲器优选旗标具有值I且所述子图片经译码图片缓冲器参数存在旗标具有值I时确定所述CPB在子图片级别处操作的装置。
22.根据权利要求21所述的设备,其进一步包含用于接收所述子图片经译码图片缓冲器优选旗标的所述值的装置。
23.根据权利要求21所述的设备,其进一步包含用于在未接收到所述子图片经译码图片缓冲器优选旗标的值时针对所述子图片经译码图片缓冲器优选旗标设置值O的装置。
24.根据权利要求21所述的设备,其进一步包含用于接收所述子图片经译码图片缓冲器参数存在旗标的所述值的装置。
25.根据权利要求20所述的设备,其进一步包含: 用于以连续解码顺序接收视频数据的所述一或多个解码单元的装置, 其中所述用于将视频数据的所述一或多个解码单元存储在所述CPB中的装置包含用于以所述连续解码顺序将视频数据的所述一或多个解码单元存储在所述CPB中的装置。
26.根据权利要求20所述的设备,其中所述用于获得用于所述一或多个解码单元的所述相应缓冲器移除时间的装置包含用于接收指示用于所述解码单元中的至少一者的所述相应缓冲器移除时间的相应发信值的装置。
27.根据权利要求26所述的设备,其中指示用于所述解码单元中的所述至少一者的所述缓冲器移除时间的所述发信值包含指示由所述解码单元中的所述至少一者包含的网络抽象层NAL单元的数目的发信值。
28.根据权利要求20所述的设备,其中所述一或多个解码单元包含相应子图片,所述设备进一步包含用于接收指示在所述视频数据的较大集合内的至少一个子图片的字节对准的发信值的装置。
29.根据权利要求20所述的设备,其中所述设备包含以下各者中的至少一者: 一或多个集成电路; 一或多个微处理器 '及 无线通信装置,其包括视频译码装置。
30.一种计算机程序产品,其包含计算机可读存储媒体,所述计算机可读存储媒体包含存储在其上的指令,所述指令在执行时使处理器: 将视频数据的一或多个解码单元存储在经译码图片缓冲器CPB中; 获得用于所述一或多个解码单元的相应缓冲器移除时间; 根据用于所述解码单元中的每一者的所述所获得缓冲器移除时间而从所述CPB移除所述解码单元; 确定所述CPB在存取单元级别还是子图片级别处操作 '及 译码对应于所述经移除解码单元的视频数据, 其中,如果所述CPB在存取单元级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元;且 其中,如果所述CPB在子图片级别处操作,那么译码所述视频数据包含译码包含在所述解码单元中的存取单元子集。
31.根据权利要求30所述的计算机程序产品,其中确定所述CPB在存取单元级别还是子图片级别处操作包含: 在子图片经译码图片缓冲器优选旗标具有值O时或在子图片经译码图片缓冲器参数存在旗标具有值O时确定所述CPB在存取单元级别处操作;及 在所述子图片经译码图片缓冲器优选旗标具有值I且所述子图片经译码图片缓冲器参数存在旗标具有值I时确定所述CPB在子图片级别处操作。
32.根据权利要求31所述的计算机程序产品,其中所述指令进一步使所述处理器接收所述子图片经译码图片缓冲器优选旗标的所述值。
33.根据权利要求31所述的计算机程序产品,其中所述指令进一步使所述处理器在未接收到所述子图片经译码图片缓冲器优选旗标的值时针对所述子图片经译码图片缓冲器优选旗标设置值O。
34.根据权利要求31所述的计算机程序产品,其中所述指令进一步使所述处理器接收所述子图片经译码图片缓冲器参数存在旗标的所述值。
35.根据权利要求30所述的计算机程序产品,其中所述指令进一步使所述处理器: 以连续解码顺序接收视频数据的所述一或多个解码单元, 其中将视频数据的所述一或多个解码单元存储在所述CPB中包含以所述连续解码顺序将视频数据的所述一或多个解码单元存储在所述CPB中。
36.根据权利要求30所述的计算机程序产品,其中获得用于所述一或多个解码单元的所述相应缓冲器移除时间包含接收指示用于所述解码单元中的至少一者的所述相应缓冲器移除时间的相应发信值。
37.根据权利要求36所述的计算机程序产品,其中指示用于所述解码单元中的所述至少一者的所述缓冲器移除时间的所述发信值包含指示由所述解码单元中的所述至少一者包含的网络抽象层NAL单元的数目的发信值。
38.根据权利要求30所述的计算机程序产品,其中所述一或多个解码单元包含相应子图片,方法进一步包含接收指示在所述视频数据的较大集合内的至少一个子图片的字节对准的发信值。
【文档编号】H04N19/70GK104205849SQ201380018546
【公开日】2014年12月10日 申请日期:2013年2月26日 优先权日:2012年4月4日
【发明者】王益魁, 陈颖 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1