经解码图片缓冲器管理的制作方法

文档序号:7989146阅读:124来源:国知局
经解码图片缓冲器管理的制作方法
【专利摘要】本发明中描述的实例技术大体涉及经解码图片缓冲器管理。存储在所述经解码图片缓冲器中的一个或一个以上图片可用于预测,且其它图片不可用于预测。可用于预测的图片可称为参考图片。本文描述的实例技术可确定是否应将当前指示为可用于帧间预测的参考图片指示为不可用于帧间预测。
【专利说明】经解码图片缓冲器管理
[0001]本申请案主张2011年3月7日申请的第61/449,805号美国临时申请案、2011年5月10日申请的第61/484,630号美国临时申请案和2011年10月13日申请的第61/546,868号美国临时申请案的优先权,以上美国临时申请案的内容以全文引用方式并入本文。
【技术领域】
[0002]本发明涉及视频编码和解码,且更特定来说涉及管理经解码图片缓冲器。
【背景技术】
[0003]例如视频编码器或视频解码器等视频译码器包含经解码图片缓冲器(DPB),其存储一个或一个以上经解码图片。这些经解码图片中的一者或一者以上可用作参考图片。参考图片可为可用于帧间预测目的以对其它图片进行编码的图片。举例来说,视频译码器可使用一个或一个以上参考图片来对当前图片的视频块进行帧间预测。换句话说,参考存储在经解码图片缓冲器中的一个或一个以上参考图片来对当前图片进行译码。

【发明内容】

[0004]大体上,本发明描述用以确定是否应将当前指示为可用作参考图片的图片指示为不可用作参考图片的实例技术。举例来说,所述技术可利用包含具有不同时间水平值的参考图片的参考图片窗口方案,其具有关于哪些图片应基于图片的时间水平值和图片的译码次序而经指示为可用作或不可用作参考图片的约束。
[0005]在一个实例中,本发明描述一种用于视频译码的方法,其包含:参考存储在经解码图片缓冲器(DPB)中的一个或一个以上参考图片来对图片进行译码;确定所述经译码图片的时间水平值;以及从存储在所述DPB中的所述参考图片识别一组参考图片,所述参考图片中的每一者当前经指示为可用于帧间预测且具有等于或大于所述经译码图片的所述时间水平值的时间水平值。所述方法还包含确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序;以及确定所述参考图片不再可用于帧间预测。
[0006]在一个实例中,本发明描述一种视频译码装置,其包含:经解码图片缓冲器(DPB),其经配置以存储当前经指示为可用于帧间预测的参考图片;以及视频译码器,其耦合到所述DBP。所述视频译码器经配置以参考存储在DPB中的一个或一个以上参考图片来对图片进行译码;确定所述经译码图片的时间水平值;以及从存储在所述DPB中的所述参考图片识别一组参考图片,所述参考图片中的每一者当前经指示为可用于帧间预测且具有等于或大于所述经译码图片的所述时间水平值的时间水平值。所述视频译码器还经配置以确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序;以及确定所述参考图片不再可用于帧间预测。
[0007]在一个实例中,本发明描述一种包括指令的计算机可读存储媒体,所述指令致使一个或一个以上处理器:参考存储在经解码图片缓冲器(DPB)中的一个或一个以上参考图片来对图片进行译码;确定所述经译码图片的时间水平值;以及从存储在所述DPB中的所述参考图片识别一组参考图片,所述参考图片中的每一者当前经指示为可用于帧间预测且具有等于或大于所述经译码图片的所述时间水平值的时间水平值。所述指令还致使所述一个或一个以上处理器确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序;以及确定所述参考图片不再可用于帧间预测。
[0008]在一个实例中,本发明描述一种视频译码装置,其包含:经解码图片缓冲器,其经配置以存储当前经指示为可用于帧间预测的参考图片。所述视频译码装置还包含:用于参考存储在所述DPB中的一个或一个以上参考图片来对图片进行译码的装置;用于确定所述经译码图片的时间水平值的装置;以及用于从存储在所述DPB中的所述参考图片识别一组参考图片的装置,所述参考图片中的每一者当前经指示为可用于帧间预测且具有等于或大于所述经译码图片的所述时间水平值的时间水平值。所述视频译码装置进一步包含:用于确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序的装置;以及用于确定所述参考图片不再可用于帧间预测的装置。
[0009]在附图和以下描述中陈述本发明的一个或一个以上方面的细节。从描述和图式以及从权利要求书将明了本发明的其它特征、目的和优点。
【专利附图】

【附图说明】
[0010]图1是说明实例视频编码和解码系统的框图。
[0011]图2是说明包含呈显示次序的图片的实例视频序列的概念图。
[0012]图3是说明可实施根据本发明的一个或一个以上方面的技术的视频编码器的实例的框图。
[0013]图4是说明可实施根据本发明的一个或一个以上方面的技术的视频解码器的实例的框图。
[0014]图5是说明根据本发明的一个或一个以上方面的实例操作的流程图。
[0015]图6是说明根据本发明的一个或一个以上方面的实例操作的流程图。
【具体实施方式】
[0016]本发明中描述的实例技术是针对管理经解码图片缓冲器(DPB)。视频编码器和视频解码器(共同称为“视频译码器”)各自包含经解码图片缓冲器。DPB存储可潜在地用于对当前图片进行帧间预测的经解码图片。视频译码器可指示存储在DPB中的哪些图片可用于帧间预测目的。举例来说,视频译码器可将图片标记为“用于参考”或“未用于参考”。标记为“用于参考”的图片是可用于对图片进行帧间预测的图片,且标记为“未用于参考”的图片是不可用于对图片进行帧间预测的参考图片。经指示用于帧间预测的图片(例如,标记为“用于参考”)可称为参考图片。
[0017]在一些实例中,即使标记为“未用于参考”的图片也可保持存储在DPB中,因为这些图片将显示的时刻尚未发生。一旦标记为“未用于参考”的图片经输出(例如,由包含视频解码器的装置显示或由包含视频编码器的装置发信号通知),那么可从DPB移除标记为“未用于参考”的图片。然而,此移除可能并非在每个实例中都需要。
[0018]本发明的方面涉及确定应将经解码图片缓冲器中的哪些图片指示为不可用于参考(例如,标记为“未用于参考”)的技术。在一些实例中,这些技术可为隐式技术,且可由视频编码器和视频解码器(各自一般称为视频译码器)两者应用。举例来说,视频解码器可确定哪一图片不再可用于帧间预测而无需接收经编码视频位流中的显式信令,所述信令界定视频解码器应确定哪一图片不可用于帧间预测的方式。类似地,视频解码器可确定哪一图片不再可用于帧间预测而无需接收经编码视频位流中的显式信令,所述信令指示哪一图片不再可用于帧间预测。
[0019]如更详细描述,视频译码器可在窗口方案中利用由图片编号值指示的图片的时间水平值和译码次序来确定图片是可用作还是不可用作用于帧间预测的图片。在窗口方案中,在DPB中当前标记为“用于参考”的图片(例如,参考图片)是窗口的部分。当图片经译码(例如,由视频编码器编码或由视频解码器解码)时,所述技术可确定当前在窗口中的参考图片是否现在应确定为不可用于帧间预测。所述技术可基于窗口中的参考图片和经译码图片的时间水平值以及参考图片的译码次序来执行确定。
[0020]如果所述技术确定当前在窗口中的图片不再可用作参考图片,那么所述技术可如此指示。举例来说,所述技术可将当前在窗口中的此图片在DPB中标记为“未用于参考”,且此图片可不再是窗口的部分。在一些实例中,当从窗口移除图片时,所述技术可用经译码图片代替移除的图片。举例来说,所述技术可例如通过将经译码图片在DPB中标记为“用于参考”来指示经译码图片可用于帧间预测。经译码图片随后可为窗口的部分。
[0021]如果所述技术确定不应从窗口移除任何参考图片,那么所述技术可指示经译码图片不可用于帧间预测(例如,将经译码图片标记为“未用于参考”)。换句话说,当所述技术确定不应从窗口移除任何参考图片时,在窗口中识别的图片保持相同(例如,没有对窗口的修改),且经译码图片经标记为“未用于参考”。所述技术可随后继续到下一经译码图片(即,将窗口滑动到下一经译码图片)。
[0022]可存在视频译码器可用来确定参考图片(例如,当前经指示为可用于帧间预测的图片)是否不可用作参考图片(例如,不可用于帧间预测)的隐式技术的各种实例。作为隐式技术的一个实例,当(I)参考图片的时间水平值等于或大于经译码图片的时间水平值且
(2)参考图片的译码次序早于具有等于或大于经译码图片的时间水平值的时间水平值的所有参考图片的译码次序时,视频译码器可确定当前经指示为可用于帧间预测的参考图片不再可用于帧间预测。作为隐式技术的另一实例,当(I)参考图片的时间水平值等于或大于经译码图片的时间水平值,(2)没有其它参考图片具有大于参考图片的时间水平值的时间水平值,且(3)参考图片的译码次序早于具有等于参考图片的时间水平值的时间水平值的所有参考图片的译码次序时,视频译码器可确定当前经指示为可用于帧间预测的参考图片不再可用于帧间预测。
[0023]上文描述的隐式技术可涉及短期参考图片,然而,本发明的方面不限于此。短期参考图片可称为不需要存储在DPB中历时相对长时期以用于预测目的的参考图片。另一方面,长期参考图片可称为需要存储在DPB中历时相对长时期的参考图片,因为这些参考图片可重复使用且用于对在译码次序上远得多的图片进行帧间预测。大体上,对于本发明的技术,视频译码器管理DPB中的长期参考图片的方式可为不重要的。举例来说,本发明的技术可以大体上类似方式起作用,无论存储在DPB中的长期参考图片的数目如何。
[0024]图1是说明实例视频编码和解码系统10的框图,所述系统可利用用于有效译码的技术,包含根据本发明的实例用以指示哪些图片可用于帧间预测且哪些图片不可用于帧间预测的技术。大体上,术语“图片”可指代视频的一部分,且可与术语“帧”可互换地使用。在本发明的方面中,图片内的一个或一个以上块可从其它图片中的一个或一个以上块或同一图片内的一个或一个以上块进行预测。帧内预测指代从同一图片内的一个或一个以上块预测图片中的块。帧间预测指代从不同图片中的一个或一个以上块预测图片中的块。
[0025]如更详细描述,本发明的实例技术涉及确定可当前用于帧间预测的图片是否应不再用于预测。所述技术还包含确定经译码图片是否可用于帧间预测或不可用于帧间预测。可用于帧间预测的图片可称为参考图片,因为此些图片用作用于对当前图片内的块进行帧间预测的参考。
[0026]如图1所示,系统10包含源装置12,所述源装置12产生经编码视频用于由目的地装置14解码。源装置12和目的地装置14可各自为视频译码装置的实例。源装置12可经由通信信道16将经编码视频发射到目的地装置14或可将经编码视频存储在存储媒体17或文件服务器19上,使得经编码视频可由目的地装置14在需要时存取。
[0027]源装置12和目的地装置14可包括广泛多种装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的智能电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台或类似装置。在许多情况下,此些装置可经装备以用于无线通信。因此,通信信道16可包括适合于发射经编码视频数据的无线信道、有线信道或无线与有线信道的组合。类似地,文件服务器19可由目的地装置14通过任何标准数据连接(包含因特网连接)存取。这可包含适于存取存储在文件服务器上的经编码视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等)或两者的组合。
[0028]根据本发明中描述的实例的技术可应用于视频译码以支持多种多媒体应用中的任一种,例如空中电视广播、闭路电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、为存储在数据存储媒体上而对数字视频的编码、对存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
[0029]在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器(调制解调器)22和输出接口 24。在源装置12中,视频源18可包含例如以下各项的源:例如摄像机等视频俘获装置、含有先前俘获视频的视频档案、用以从视频内容提供者接收视频的视频馈送接口,和/或用于产生计算机图形作为源视频的计算机图形系统,或此些源的组合。作为一个实例,如果视频源18是摄像机,则源装置12和目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中描述的技术可大体上适用于视频译码,且可适用于无线和/或有线应用。
[0030]所俘获、预俘获或计算机产生的视频可由视频编码器20编码。经编码视频信息可由调制解调器22根据例如无线通信协议等通信标准而调制,且经由输出接口 24发射到目的地装置14。调制解调器22可包含为了信号调制而设计的各种混频器、滤波器、放大器或其它组件。输出接口 24可包含为了发射数据而设计的电路,包含放大器、滤波器和一个或一个以上天线。
[0031]由视频编码器20编码的所俘获、预俘获或计算机产生的视频也可存储到存储媒体17或文件服务器19上以供稍后使用。存储媒体17可包含蓝光光盘、DVD、⑶-ROM、快闪存储器或任何其它合适的用于存储经编码视频的数字存储媒体。存储在存储媒体17上的经编码视频可随后由目的地装置14存取以用于解码和重放。
[0032]文件服务器19可为能够存储经编码视频且将所述经编码视频发射到目的地装置14的任一类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置、本地磁盘驱动器,或能够存储经编码视频数据且将其发射到目的地装置的任一其它类型的装置。经编码视频数据从文件服务器19的发射可为流式发射、下载发射或两者的组合。文件服务器19可由目的地装置14通过任何标准数据连接(包含因特网连接)存取。这可包含适于存取存储在文件服务器上的经编码视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、电缆调制解调器、以太网、USB等等)或两者的组合。
[0033]在图1的实例中,目的地装置14包含输入接口 26、调制解调器28、视频解码器30和显示装置32。目的地装置14的输入接口 26经由信道16接收信息,且调制解调器28对所述信息进行解调以产生用于视频解码器30的经解调位流。经解调位流可包含由视频编码器20产生以供视频解码器30用于对视频数据进行解码的多种语法信息。此语法也可与存储在存储媒体17或文件服务器19上的经编码视频数据一起包含。作为一个实例,所述语法可与经编码视频数据嵌在一起,但本发明的方面不应视为限于此要求。由视频编码器20定义的还由视频解码器30使用的语法信息可包含描述预测单元(TO)、译码单元(CU)或经译码视频的其它单元(例如,视频切片、视频图片和视频序列或图片群组(GOP))的特性和/或处理的语法元素。视频编码器20和视频解码器30中的每一者可形成能够对视频数据进行编码或解码的相应编码器-解码器(CODEC)的部分。
[0034]显示装置32可与目的地装置14集成或在目的地装置14的外部。在一些实例中,目的地装置14可包含集成显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。大体上,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
[0035]在图1的实例中,通信信道16可包括任何无线或有线通信媒体,例如射频(RF)频谱或者一种或一种以上物理传输线,或无线与有线媒体的任何组合。通信信道16可形成基于包的网络的部分,所述网络例如为局域网、广域网或例如因特网的全球网。通信信道16大体上表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。
[0036]视频编码器20和视频解码器30可根据例如新兴的高效视频译码(HEVC)标准或ITU-T H.264标准(或者称为MPEG-4第10部分高级视频译码(AVC))等视频压缩标准来操作。HEVC标准当前由ITU-T/IS0/IEC视频译码联合合作小组(JCT-VC)开发。然而本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2和ITU-T H.263。
[0037]虽然图1中未图示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
[0038]视频编码器20和视频解码器30各自可实施为多种合适编码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任一组合。当所述技术部分地以软件实施时,装置可将用于所述软件的指令存储在合适的非暂时性计算机可读媒体中,且使用一个或一个以上处理器执行硬件中的指令以执行本发明的技术。
[0039]视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,其中任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。在一些实例中,视频编码器20和视频解码器30可共同称为对信息(例如,图片和语法元素)进行译码的视频译码器。当视频译码器对应于视频编码器20时,信息的译码可称为编码。当视频译码器对应于视频解码器30时,信息的译码可称为解码。
[0040]此外,本发明中描述的技术可指代视频编码器20发信号通知例如语法元素等信息。当视频编码器20发信号通知信息时,本发明的技术一般涉及视频编码器20提供所述信息的任何方式。举例来说,当视频编码器20向视频解码器30发信号通知语法元素时,可意味着视频编码器20经由输出接口 24和通信信道16将语法元素发射到视频解码器30,或视频编码器20经由输出接口 24将语法元素存储在存储媒体17和/或文件服务器19上以供视频解码器30最终接收。以此方式,从视频编码器20到视频解码器30的信令不应解释为要求来自视频编码器20的由视频解码器30立即接收的发射,但这可为可能的。而是,从视频编码器20到视频解码器30的信令应解释为视频编码器20提供信息供视频解码器30最终接收的任何技术。
[0041]在本发明中描述的实例中,视频编码器20可使用帧内预测或帧间预测对视频数据的图片的一部分(称为视频块)进行编码。视频块可为切片的一部分,切片可为图片的部分。为了说明,本发明中描述的实例技术是相对于切片的视频块进行一般描述。举例来说,切片的经帧内预测视频块意味着切片内的视频块是帧内预测的(例如,相对于切片或包含切片的图片内的相邻块而预测)。类似地,切片的经帧间预测视频块意味着切片内的视频块是帧间预测的(例如,相对于参考图片的一个或两个视频块而预测)。
[0042]对于称为经帧内译码视频块的经帧内预测视频块,视频编码器20相对于图片内的其它部分预测且编码视频块。视频解码器30可在不参考视频数据的任何其它图片的情况下对经帧内译码视频块进行解码。对于称为经帧间译码视频块的经帧间预测视频块,视频编码器20相对于一个或两个其它图片内的一个或两个部分预测且编码视频块。这些其它图片称为参考图片,其也可为参考再其它参考图片预测的图片或帧内预测图片。
[0043]切片内的经帧间预测视频块可包含相对于指向一个参考图片的一个运动向量或指向两个不同参考图片的两个运动向量而预测的视频块。当视频块是相对于指向一个参考图片的一个运动向量预测的时,所述视频块被视为单向预测的。当视频块是相对于指向两个不同参考图片的两个运动向量预测的时,所述视频块被视为双向预测的。在一些实例中,运动向量也可包含参考图片信息(例如,指示运动向量指向哪一参考图片的信息)。然而,本发明的方面不限于此。
[0044]视频编码器20和视频解码器30可各自包含经解码图片缓冲器(DPB)。相应DPB可存储经解码图片,且这些经解码图片中的一者或一者以上可用于帧间预测目的(例如,单向预测或双向预测)。举例来说,作为编码过程的部分,视频编码器20可将刚经编码的图片的经解码版本存储在其DPB中。所述经解码版本经解码且重构以在像素域中再生图片。视频编码器20可随后利用此经解码版本用于对当前图片的块进行帧间预测。举例来说,视频编码器20可利用经解码图片的一个或一个以上块作为参考以用于对当前图片的块进行编码的目的。在一些实例中,在对接收的图片进行解码之后,视频解码器30可将所接收的图片的经解码版本存储在其DPB中,因为视频解码器30可能需要使用此经解码图片用于对后续图片进行帧间预测。举例来说,视频解码器30可利用经解码图片的一个或一个以上块作为参考以用于对后续图片的块进行解码的目的。
[0045]然而,并非存储在相应DPB中的所有图片均可用于帧间预测。在本发明中,可用于帧间预测的图片可称为参考图片,因为这些图片用作用于对当前图片的块进行编码或解码的参考。视频编码器20和视频解码器30可管理DPB以指示哪些图片是参考图片且哪些图片不是参考图片。
[0046]举例来说,视频编码器20和视频解码器30可将存储在其相应DPB中的图片标记为“用于参考”或“未用于参考”。经标记为“用于参考”的图片是参考图片,且经标记为“未用于参考”的图片不是参考图片。经标记为“用于参考”的那些图片(例如,参考图片)可用于帧间预测,且经标记为“未用于参考”的图片不可用于帧间预测。将图片标记为“用于参考”或“未用于参考”是仅为说明目的而提供且不应视为限制性的。大体上,视频编码器20和视频解码器30可实施任何技术以指示图片是可用于帧间预测还是不可用于帧间预测。
[0047]如下文更详细论述,本发明的技术可涉及管理视频编码器20和视频解码器30的经解码图片缓冲器(DPB)。举例来说,本发明中描述的实例可提供一种或一种以上技术,视频编码器20和视频解码器30通过所述技术可确定图片是可用于帧间预测还是不可用于帧间预测。这些实例技术可为隐式技术,这可意味着视频编码器20和视频解码器30可能够实施这些技术而无需发射或接收显式信令,所述信令包含关于如何确定图片是可用于帧间预测还是不可用于帧间预测的指令。隐式技术还可允许视频编码器20和视频解码器30实施技术以确定DPB中的哪些图片可用于帧间预测且哪些图片不可用于帧间预测而无需发射或接收显示信令,所述信令指示DPB中的哪些图片可用于帧间预测且哪些图片不可用于帧间预测。
[0048]在一个或一个以上实例中,隐式技术可依赖于参考图片窗口方案。举例来说,视频编码器20和视频解码器30可维持相应窗口。相应窗口可包含图片可用于帧间预测的识别符。在一些实例中,这些识别符可为图片的图片次序计数(POC)值,但本发明的方面不限于此。在一些实例中,替代于POC值或除了 POC值之外可使用有时称为帧编号值的图片编号值。
[0049]POC值界定输出或呈现(例如,在显示器上)图片的次序。举例来说,具有较低POC值的图片早于具有较高POC值的图片而显示。然而,具有较高POC值的图片可能早于具有较低POC值的图片而编码或解码(例如,译码)。也称为帧编号值的图片编号值界定对图片进行译码(例如,编码或解码)的次序。举例来说,具有较低图片编号值的图片早于具有较高图片编号值的图片而译码。然而,具有较高图片编号值的图片可能早于具有较低图片编号值的图片而显示。[0050]对于视频编码器20,对于正经编码以用于发射的当前图片,视频编码器20可确定所述图片是否应为可用于后续帧间预测的图片(例如,帧间预测后续图片)。类似地,对于视频解码器30,对于正经解码以用于后续显示的当前图片,视频解码器30可确定所述图片是否应为可用于后续帧间预测的图片。
[0051]对于视频编码器20和视频解码器30两者,如果当前图片将用于帧间预测,那么视频编码器20和视频解码器30可确定当前参考图片(例如,经指示可用于帧间预测的图片)是否应不再用于帧间预测。如果存在应不再用于帧间预测的参考图片,那么可从参考图片窗口移除其识别符,且可将用于当前图片的识别符放置到窗口中。视频编码器20和视频解码器30可随后继续到下一经译码图片(例如,将窗口移动到下一图片),且执行类似功能。如果当前图片将不用于帧间预测,那么视频编码器20和视频解码器30可继续到下一图片且执行类似功能。
[0052]存在视频编码器20和视频解码器30可用来确定图片是否应用于帧间预测或应不用于帧间预测的隐式技术的各种实例。在做出此确定时,所述技术可依赖于可由图片编号值指示的时间水平值和译码次序。当前图片的时间水平值(有时称为temporal_id)是阶层式值,其指示哪些图片可能是用于当前图片的参考图片(例如,可用于帧间预测)。仅时间水平值小于或等于当前图片的时间水平值的图片可用作用于当前图片的参考图片(例如,可用于对当前图片进行帧间预测)。作为一个实例,假定当前经帧间预测图片的时间水平值(例如,temporal_id)为2。在此实例中,具有O、I或2的时间水平值的图片可为可用以对当前经帧间预测图片进行解码的参考图片,且具有为3或3以上的时间水平值的图片不可为可用以对当前经帧间预测图片进行解码的参考图片。
[0053]用于图片的译码次序指代对图片进行译码(例如,编码或解码)的次序。举例来说,如上所述,每一图片与图片编号值相关联,图片编号值指示所述图片经译码时的次序。在本发明中描述的实例中,视频编码器20和视频解码器30可基于图片的相应图片编号值来确定图片的译码次序。
[0054]在本发明中描述的隐式技术中,视频译码器(例如,视频编码器20和/或视频解码器30)可对当前图片进行译码(例如,编码或解码)。视频译码器可确定经译码图片的时间水平值。举例来说,视频编码器20可设定经译码图片的时间水平值以使得经译码图片的时间水平值大于或等于用以对图片进行译码的一个或一个以上参考图片的时间水平值。视频编码器20可以此方式设定时间水平值,因为仅时间水平值小于或等于图片的时间水平值的那些图片可用作用于待译码图片的参考图片。
[0055]在一些实例中,视频编码器20可发信号通知图片的时间水平值作为图片的网络抽象层(NAL)单元标头中的语法元素。在这些实例中,为了确定图片的时间水平值,视频解码器30可从图片的标头的NAL单元接收图片的时间水平值。用于时间水平值的语法元素可称为 temporal_id0
[0056]大体上,时间水平值可指定用于NAL单元的时间识别符。时间水平值的值对于一存取单元的所有NAL单元可为相同的。存取单元可视为图片。举例来说,每一存取单元的解码可得到一个经解码图片。在一些实例中,当存取单元包含具有等于5的nal_unit_type的任何NAL单元时,用于所述存取单元的时间水平值可等于O。
[0057]可存在对时间水平值的一些约束。举例来说,对于具有等于tldA的temporal_id的每一存取单元auA,具有等于tldB的temporal_id的存取单元auB(其中tldB小于或等于tldA)在存在具有等于tide的temporal_id的存取单元auC(其中tldC小于tldB)并且存取单元auC在解码次序上在存取单元auB之后且在存取单元auA之前时不可由帧间预测参考。对时间水平值的这个约束是仅为了说明目的而提供且不应视为限制性的。在一些实例中,视频编码器20可基于用于确定时间水平值的任何潜在约束而设定图片的时间水平值且将其包含在NAL单元中。
[0058]在本发明中描述的实例技术中,视频译码器可确定存储在DPB中的参考图片的时间水平值。换句话说,视频译码器可确定经指示可用于帧间预测(例如,标记为“用于参考”)且在参考图片窗口中识别的图片的时间水平值。
[0059]在隐式技术的一个实例中,视频译码器可在满足以下两个准则的情况下确定参考图片(例如,在窗口中当前识别的图片)不再可用于帧间预测。在此实例中,视频译码器可确定(I)参考图片的时间水平值是否等于或大于经译码图片的时间水平值,这可为第一准贝U。另外,视频译码器可确定(2)参考图片的译码次序是否早于具有等于或大于经译码图片的时间水平值的时间水平值的所有参考图片的译码次序,这可为第二准则。举例来说,参考图片的图片编号值应小于具有等于或大于经译码图片的时间水平值的时间水平值的所有参考图片的图片编号值。
[0060]如果参考图片满足这两个准则,那么视频译码器可确定参考图片不再可用于帧间预测。特定来说,如果参考图片具有等于或大于经译码图片的时间水平值的时间水平值,且参考图片的译码次序早于具有等于或大于经译码图片的时间水平值的时间水平值的所有参考图片的译码次序,那么视频译码器确定参考图片不再可用于经译码图片的帧间预测。如果不存在满足这两个准则的参考图片,那么视频译码器可确定当前经指示可用于帧间预测的所有参考图片应仍经指示可用于帧间预测。然而,在此实例中,视频译码器可确定经译码图片不可用于帧间预测。关于以下表I更详细描述隐式技术的此实例的说明性实例。
[0061]举例来说,如关于以下表I更详细说明,视频译码器可参考存储在DPB中的一个或一个以上参考图片对图片进行译码。视频译码器可确定经译码图片的时间水平值。视频译码器还可从存储在DPB中的参考图片识别一组参考图片,其中每一者当前经指示为可用于帧间预测且具有等于或大于经译码图片的时间水平值的时间水平值。视频译码器可进一步确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序。视频译码器可随后确定参考图片不再可用于帧间预测。
[0062]在隐式技术的另一实例中,视频译码器可在满足以下三个准则的情况下确定参考图片(例如,在参考图片窗口中当前识别的图片)不再可用于帧间预测。在此实例中,视频译码器可确定(I)参考图片的时间水平值是否等于或大于经译码图片的时间水平值,这可为第一准则。视频译码器可确定(2)是否存在具有大于参考图片的时间水平值的时间水平值的任何参考图片,其可为第二准则。视频译码器可进一步确定(3)参考图片的译码次序是否早于具有等于参考图片的时间水平值的时间水平值的所有参考图片的译码次序。
[0063]如果满足全部这三个准则,那么视频译码器确定参考图片不再可用于帧间预测。换句话说,当参考图片的时间水平值等于或大于经译码图片的时间水平值、没有其它参考图片具有大于参考图片的时间水平值的时间水平值,且参考图片的译码次序早于具有等于参考图片的时间水平值的时间水平值的所有参考图片的译码次序时,视频译码器可确定参考图片不再可用于帧间预测。在此实例中,参考图片的图片编号值应小于具有等于参考图片的时间水平值的时间水平值的所有参考图片的图片编号值。
[0064]如果不存在满足全部这三个准则的参考图片,那么视频译码器可确定当前经指示可用于帧间预测的所有参考图片应仍经指示可用于帧间预测。即使当没有当前参考帧经确定不可用于帧间预测时,视频译码器也可能确定经译码图片应可用于帧间预测。关于以下表I更详细描述隐式技术的此实例的说明性实例。
[0065]在隐式技术的以上两个实例中,视频编码器20和视频解码器30可维持单个参考图片窗口。举例来说,所述窗口可包含可用于帧间预测的所有图片的识别符(例如,所有参考图片的识别符)。在一些实例中,在窗口中识别的图片的时间水平值可彼此不同。
[0066]利用时间水平值来确定图片是否应用于帧间预测的一些其它技术依赖于具有各自对应于一时间水平值的不同大小的不同滑动窗口,且需要用于每一滑动窗口的不同准则来确定图片是否应用于帧间预测。例如在本发明的以上两个实例中利用单个参考图片窗口可减少管理复杂性。举例来说,无论参考图片的时间水平值如何,视频编码器20和视频解码器30均可管理单个参考图片窗口,而不是针对时间水平值中的每一者的多个滑动窗口。此外,用于上述两个实例技术的准则适用于单个参考图片窗口的整体。然而,其它技术可能针对每一滑动窗口需要不同准则来确定图片是否可用于帧间预测。
[0067]换句话说,隐式技术的两个实例可利用独立于时间水平值的单个参考图片窗口来确定参考图片是否应经指示不可用于帧间预测。举例来说,一个参考图片的时间水平值可不同于另一参考图片的时间水平值,且这些参考图片两者可在同一单个参考图片窗口中识另|J。举例来说,存储在DPB中的经标记为“用于参考”的图片可为同一参考图片窗口的部分,且这些图片的时间水平值可为不同的。随后,当对下一图片进行译码时,视频编码器20和视频解码器30可将所述经译码图片的时间水平值与在窗口内当前识别的图片的时间水平值和译码次序进行比较,而不是如其它技术中的情况那样仅与在对应于经译码图片的时间水平值的滑动窗口中的那些参考图片进行比较。
[0068]除了利用单参考图片窗口方案之外,隐式技术可依赖于如上所述的时间水平值和译码次序两者来确定图片是可用于帧间预测还是不可用于帧间预测。依赖于时间水平值可潜在地导致视频编码器20和视频解码器30将对于帧间预测合意的参考图片保持为可用于帧间预测。举例来说,如上所述,时间水平值指示哪些图片可潜在地用于帧间预测(例如,具有低于或等于当前图片的时间水平值的时间水平值的图片可用以对当前图片进行帧间预测)。因此,在一些实例中,可为有益的是将具有较低时间水平值的图片保持为参考图片,因为此些图片与具有较高时间水平值的图片相比可潜在地用于对更多图片进行帧间预测。
[0069]然而,仅将具有低时间水平值的那些图片保持为参考图片可能潜在地不确保最佳帧间预测。举例来说,可能有益的是利用最近译码的图片作为用于后续图片的参考图片,使得视频编码器20和视频解码器30可限制需要存储在DPB中的参考图片的数目。举例来说,如果具有相对低时间水平值的图片在显示装置32上显示,那么视频解码器30可将从DPB移除此图片以释放用于后续图片的DPB中的存储空间(即,使存储空间可用)视为有益的。因此,在一个或一个以上实例中,用以确定图片是否应用于帧间预测还是不用于帧间预测的隐式技术可依赖于时间水平值和译码次序两者。
[0070]一些其它技术可依赖于单个滑动窗口,其使用译码次序来确定图片是否应用于帧间预测,但不可考虑时间水平值。举例来说,在这些其它技术中,以先入先出(FIFO)方式从滑动窗口移除图片。举例来说,当滑动窗口满时,首先移除包含在滑动窗口中的图片,且将当前经译码图片包含在滑动窗口中,无论当前图片、从滑动窗口移除的图片或滑动窗口内的图片中的任一者的时间水平值如何。此类似于FIFO的技术可导致图片经标记为“未用于参考”,即使当可能希望保持此些图片用于帧间预测时也是如此。
[0071]在另一实例技术中,视频编码器发信号通知语法元素,所述语法元素具体指示哪些图片应标记为“用于参考”且哪些图片应标记为“未用于参考”。此信令消耗宝贵的发射和接收带宽。此外,此些技术要求视频编码器变得较复杂,因为视频编码器需要决定哪些图片应用于帧间预测。做出此些确定对于视频编码器来说可为困难的,且尤其是当图片群组(GOP)的大小是自适应的时。
[0072]如上文论述,本发明的技术提供视频编码器20和视频解码器30可实施的隐式技术的实例。因为所述技术是隐式的,所以视频编码器20和视频解码器30可经预编程或以其它方式经配置以或可操作以执行所述隐式技术而无需发射或接收指示视频编码器20和视频解码器30应确定哪些图片可用于帧间预测且哪些图片不可用于帧间预测的方式的信息。换句话说,本发明中描述的技术可不要求界定视频编码器20和视频解码器30需要执行以确定哪些图片可用于帧间预测且哪些图片不可用于帧间预测的特定步骤或功能的信息的发射或接收。而且,本发明中描述的技术可不要求识别可用于帧间预测或不可用于帧间预测的特定图片的信息的发射和接收。
[0073]在一些实例中,隐式技术可包含初始化阶段,由此视频编码器20和视频解码器30初始地指示哪些图片可用于帧间预测(例如,哪些图片是参考图片)。举例来说,可存在可用于帧间预测的阈值数目的图片(M)。视频编码器20可在有效序列参数集(SPS)、图片参数集(PPS)、切片标头、图片标头中或在任一语法层级处发信号通知M的值。
[0074]在视频编码器20和视频解码器30对图片进行译码时,视频编码器20和视频解码器30可指示这些经译码图片中的每一者可用于帧间预测(例如,每一图片是参考图片)直到经指示为参考图片的图片的总数等于M为止。随后,对于下一图片,视频编码器20和视频解码器30可实施上述实例隐式技术来确定当前参考图片是否不再可用于帧间预测。
[0075]作为实例,假定M的值等于5。在此实例中,对于图片群组(GOP)中的前五个经译码图片(例如,具有图片编号值O到4的图片),视频编码器20和视频解码器30可确定这些图片中的每一者是参考图片。随后,对于下一经译码图片(例如,具有图片编号值5的图片),视频编码器20和视频解码器30可基于时间水平值和译码次序而确定具有图片编号值O到4的参考图片中的任一者是否不再可用于帧间预测。以此方式,参考图片的总数等于或大于M的值的发生可触发视频编码器20和视频解码器30实施上文论述的隐式技术。
[0076]在一些实例中,本发明中描述的隐式技术可针对短期参考图片。短期参考图片指代需要在相对短时期内作为参考图片的图片。一般地(但并非总是),短期参考图片用于对在译码次序上在时间上接近的图片进行帧间预测。长期参考图片指代需要在相对长时期内作为参考图片的图片。在一些实例中,长期参考图片可用于对在译码次序上在时间上较远的图片进行帧间预测。
[0077]作为一个实例,在参考图片窗口中识别的图片可各自为短期参考图片,且窗口可不识别任何长期参考图片。在此实例中,当视频编码器20或视频解码器30对经识别为长期参考图片的图片进行译码时,隐式技术可绕过此图片(例如,可不做出关于此长期参考图片是可用于帧间预测还是不可用于帧间预测的确定)。大体上,本发明的技术可如上所述起作用,无论视频编码器20和视频解码器30管理长期参考图片的方式如何;然而,本发明的方面不限于此。
[0078]—些其它技术可提供对上述实例隐式技术的改进。举例来说,视频编码器20可发信号通知旗标,视频解码器30接收所述旗标。此旗标可用于具有时间水平值O的图片,且视频编码器20可在图片的切片标头中发信号通知所述旗标。当视频解码器30将此旗标解码为真(例如,当旗标值为“I”)时,视频解码器30可确定所有先前短期图片不可用于帧间预测,在译码次序上最靠近当前图片的具有时间水平值O的短期图片除外。换句话说,当旗标为真时,视频解码器30可将在参考图片窗口中识别的每一图片标记为“未用于参考”,作为具有时间水平值O的图片当中最新经译码图片的具有时间水平值O的图片除外。
[0079]应了解,上述旗标不是界定视频编码器20和视频解码器30确定图片是可用于帧间预测还是不可用于帧间预测的方式的语法元素。而是,上述旗标向视频解码器30指示视频解码器30应实施确定参考图片窗口中的图片不可用于帧间预测的技术,具有时间水平值O的图片当中最后经译码的具有时间水平值O的参考图片除外。上述旗标不是在隐式技术的每个实例中都是必要的,且隐式技术可在不包含上述实例旗标的情况下起作用。
[0080]作为另一改进,隐式技术可能够甚至在图片丢失时起作用。举例来说,由于例如在通信信道16、存储媒体17和服务器19中的某种发射错误,由视频编码器20发信号通知的图片可能不由视频解码器30接收。在此情况下,视频解码器30可能不能确定此丢失图片的时间水平值,但可能能够确定此丢失图片的译码次序。举例来说,当图片丢失时,在图片编号值的连续次序中可存在间隙。作为说明性值,如果视频解码器30接收到具有图片编号值5的图片且随后接收到具有图片编号值7的图片,那么在图片编号值中存在间隙。在此实例中,由于图片编号值中的间隙,视频解码器30可确定一个图片丢失,且其图片编号值为6。
[0081]即使在图片丢失的实例中,视频解码器30仍可利用本发明中描述的隐式技术。在视频解码器30确定一个或一个以上图片丢失的情形中,视频解码器30可将最高可能时间水平值指派给这些丢失图片。视频解码器30可随后利用上述隐式技术,其中丢失图片的时间水平值是最高可能时间水平值。
[0082]如上所述,JCT-VC正致力于HEVC标准的开发。下文是用以帮助理解的对HEVC标准的更详细描述。然而,如上文指示,本发明的技术不限于HEVC标准,且可大体适用于其它视频译码标准和视频译码。举例来说,隐式技术可应用于大体符合H.264/AVC标准但适于利用本发明中描述的技术的视频译码。
[0083]HEVC标准化努力是基于称为HEVC测试模型(HM)的视频译码装置的模型。HM假设视频译码装置相对于符合例如ITU-T H.264/AVC的现存装置的若干额外能力。举例来说,
H.264提供9种帧内预测编码模式,而HM提供多达33种帧内预测编码模式。
[0084]HM将视频数据块称为译码单元(CU)。位流内的语法数据可定义最大译码单元(LCU),其为在像素数目方面最大的译码单元。大体上,CU具有与H.264标准的宏块类似的目的,不同的是CU不具有大小区别。因此,CU可分裂为若干子CU。大体上,本发明中对CU的参考可指代图片的最大译码单元(IXU)或IXU的子⑶。IXU可分裂为若干子⑶,且每一子CU可进一步分裂为若干子CU。位流的语法数据可定义LCU可经分裂的最大次数,称为CU深度。因此,位流也可定义最小译码单元(SCU)。
[0085]未进一步分裂的⑶可包含一个或一个以上预测单元(PU)。大体上,PU表示对应CU的全部或一部分,且包含用于检索I3U的参考样本的数据。举例来说,当I3U经帧内模式编码(即,帧内预测)时,PU可包含描述的帧内预测模式的数据。作为另一实例,当经帧间模式编码(即,帧间预测)时,PU可包含界定的运动向量的数据。
[0086]界定的运动向量的数据可描述例如运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/或运动向量的参考图片列表。定义PU的CU的数据还可描述例如CU分割为一个或一个以上PU。分割模式在⑶经跳过或直接模式编码、经帧内预测模式编码还是经帧间预测模式编码之间可不同。
[0087]具有一个或一个以上I3U的⑶还可包含一个或一个以上变换单元(TU)。在使用PU的预测后,视频编码器20可计算CU的对应于的部分的残余值。残余值对应于像素差值,所述像素差值可变换为经量化变换系数且经扫描以产生用于熵译码的经串行化变换系数。TU不一定限于PU的大小。因此,TU可大于或小于同一⑶的对应PU。在一些实例中,TU的最大大小可为对应CU的大小。本发明使用术语“视频块”来指代CU、PU或TU中的任一者O
[0088]视频序列通常包含一系列视频图片。图片群组(GOP)通常包括一系列一个或一个以上视频图片。GOP可在GOP的标头、GOP的一个或一个以上图片的标头或其它地方包含描述所述GOP中包含的图片数目的语法数据。每一图片可包含描述相应图片的编码模式的图片语法数据。视频编码器20通常对个别视频图片内的视频块进行操作以便对视频数据进行编码。视频块可对应于译码单元(CU)或CU的分区单元(PU)。视频块可具有固定或变化的大小,且可根据指定译码标准而大小不同。每一视频图片可包含多个切片。每一切片可包含多个⑶,⑶可包含一个或一个以上PU。
[0089]作为一实例,HEVC测试模型(HM)支持各种⑶大小下的预测。IXU的大小可由语法信息定义。假定特定CU的大小为2NX2N,则HM支持2Nx2N或NxN的大小的帧内预测以及2Nx2N、2NxN、Nx2N或NxN的对称大小的帧间预测。HM还支持2NxnU、2NxnD、nLx2N和nRx2N的巾贞间预测的不对称分裂。在不对称分裂中,CU的一个方向未分裂,而另一方向分裂为25%和75%。CU的对应于25%分裂的部分由“η”指示,随后是“上(U)”、“下(D) ”、“左(L) ”或“右(R) ”的指示。因此,举例来说,“2NxnU”指代经水平分裂的2Νχ2Ν⑶,其中顶部为 2ΝχΟ.5Ν PU 且底部为 2Νχ1.5Ν PU。
[0090]在本发明中,“ΝχΝ”和“N乘N”可以互换地使用以在垂直和水平尺寸方面指代视频块(例如,CU、PU或TU)的像素尺寸,例如16x16像素或16乘16像素。大体上,16x16块将在垂直方向上具有16个像素(y = 16)且在水平方向上具有16个像素(x = 16)。同样,NxN块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可布置成若干行和列。而且,块无需一定在水平方向上具有与垂直方向上相同数目的像素。举例来说,块可包括NxM个像素,其中M不一定等于N。
[0091]在帧内预测或帧间预测译码以产生CU的后,视频编码器20可计算残余数据以产生⑶的一个或一个以上变换单元(TU)。⑶的I3U可包括空间域(也称为像素域)中的像素数据,而CU的TU可包括例如在对残余视频数据应用例如离散余弦变换(DCT)、整数变换、小波变换等变换或概念上类似的变换后的变换域中的系数。残余数据可对应于未经编码图片的像素之间的像素差和CU的PU的预测值。视频编码器20可形成包含CU的残余数据的一个或一个以上TU。视频编码器20可随后变换TU以产生变换系数。
[0092]在任何变换以产生变换系数后,可执行变换系数的量化。量化大体上指代其中变换系数经量化以可能地减少用以表示所述系数的数据量从而提供进一步压缩的过程。量化过程可产生与系数中的一些或全部相关联的位深度。举例来说,在量化期间可将η位值舍去到m位值,其中η大于m。
[0093]在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数以产生可经熵编码的经串行化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)或另一熵编码方法对所述一维向量进行熵编码。
[0094]为了执行CABAC,视频编码器20可选择上下文模型以应用于某一上下文来对待发射的符号进行编码。所述上下文可例如涉及相邻值是否为非零。为了执行CAVLC,视频编码器20可针对待发射符号选择可变长度译码。VLC中的码字可经建构以使得相对较短的码对应于较可能的符号,而较长的码对应于较不可能的符号。以此方式,VLC的使用可例如针对待发射的每一符号使用相等长度码字来实现位节省。概率确定可基于对符号指派的上下文。
[0095]视频解码器30可以与视频编码器20基本上对称的方式来操作。举例来说,视频解码器30可对接收的视频位流进行熵解码,且以与视频编码器20对图片进行编码的方式对称的方式对图片进行解码。举例来说,视频编码器20可参考在参考图片窗口中识别的一个或一个以上参考图片对图片进行编码。视频解码器30可参考相同的一个或一个以上参考图片对图片进行解码。利用本发明中描述的隐式技术可确保在视频编码器20侧处在参考图片窗口中识别的图片是在视频解码器30侧处在参考图片窗口中识别的相同图片。
[0096]图2是说明以显示次序包含图片34、35A、36A、38A、35B、36B、38B和35C的实例视频序列33的概念图。在一些情况下,视频序列33可称为图片群组(GOP)。图片39是在序列33之后发生的序列的在显示次序上的第一图片。图2大体上表示视频序列的示范性预测结构,且既定仅说明用于对不同的帧间预测图片进行编码的图片参考。举例来说,说明的箭头指向用作参考图片以对箭头所发出的图片进行帧间预测的图片。实际视频序列可含有呈不同显示次序的较多或较少视频图片。
[0097]在图2中,GOP 33可包含关键图片,以及在输出/显示次序上位于此关键图片与下一关键图片之间的所有图片。举例来说,图片34和图片39可各自为关键图片。在此实例中,GOP 33包含图片34和直到图片39的所有图片。例如图片34和图片39等关键图片可为并不参考任何其它图片译码的图片(例如,帧内预测图片),然而,本发明的方面不限于此。
[0098]对于基于块的视频译码,包含于序列33中的视频图片中的每一者可经分割为若干视频块或译码单元(CU)。视频图片的每一CU可包含一个或一个以上预测单元(PU)。经帧内预测图片中的视频块或PU是使用相对于同一图片中的相邻块的空间预测来编码的。经帧间预测图片中的视频块或PU可使用相对于同一图片中的相邻块的空间预测或相对于其它参考图片的时间预测。
[0099]一些视频块可使用双预测性译码来编码以从两个参考图片计算两个运动向量。一些视频块可使用从所识别的一个参考图片的单向预测性译码来编码。根据本发明中描述的一个或一个以上实例,这些图片(例如,图片34、图片35A到35C和图片39)中的每一者可为可用于帧间预测的参考图片。这些图片中的每一者可与界定所述图片对于哪些图片可作为参考图片的时间水平值相关联。举例来说,在图2中,图片36A内的至少一个块是从图片34内的块进行帧间预测。在此实例中,图片34的时间水平值至少等于或小于图片36A的时间水平值。在一些实例中,关键图片中的每一者的时间水平值可为0,然而,诸方面不限于此。
[0100]在图2的实例中,第一图片34经指定用于作为I图片的帧内预测。在其它实例中,第一图片34可以帧间预测进行译码。视频图片35A到35C(统称为“视频图片35”)经帧间预测且经指定用于使用参考过去图片和未来图片的双向预测而译码为B图片。在所说明实例中,参考第一图片34和图片36A将图片35A编码为B图片,如从图片34和图片36A到视频图片35A的箭头所指示。图片35B和35C类似地经编码。
[0101]视频图片36A到36B(统称为“视频图片36”)经帧间预测且可经指定用于使用参考过去图片的单向预测而译码为P图片或B图片。在所说明实例中,参考第一图片34将图片36A编码为P图片或B图片,如从图片34到视频图片36A的箭头所指示。类似地参考图片38A将图片36B编码为P图片或B图片,如从图片38A到视频图片36B的箭头所指示。
[0102]视频图片38A到38B(统称为“视频图片38”)经帧间预测且可经指定用于使用参考同一过去图片的单向预测而译码为P图片或B图片。在所说明实例中,以对图片36A的两个参考来对图片38A进行编码,如从图片36A到视频图片38A的两个箭头所指示。类似地相对于图片36B对图片38B进行编码。
.[0103]根据本发明的技术,视频编码器20和视频解码器30可管理其相应的经解码图片缓冲器(DPB)以确定图2中说明的图片中的哪些图片应标记为“用于参考”且哪些图片不应标记为“用于参考”。举例来说,在视频编码器20和视频解码器30对图2中说明的图片进行译码时,视频编码器20和视频解码器30可利用本发明中描述的实例技术中的一者或一者以上确定当前经指示用于帧间预测的任何图片是否应不再经指示用于帧间预测。
[0104]举例来说,下文关于表I提供具有假设值的说明性实例。这些假设值用以说明上述实例隐式技术的技术。在表I中,图片的GOP大小为16。表I的第一行包含图片的译码次序,且可由图片的图片编号值表示。表I的第二行包含图片的显示次序,且可由图片次序计数(POC)值表示。如表I中可见,图片的译码次序和图片的显示次序可不同。表I中的第三行包含图片的时间水平值。
[0105]表I
[0106]
图片编号值 I O I I I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11 I 12 I 13 I 14 I 15
图片次序计数(POCKirTmiirTiTYHH 14 13
NI司平值 |o|o|o|l|2|i|3|2|3|3|l|2|3|3|2|3
[0107]此外,假定可用于帧间预测的图片的阈值数目(M)为5。而且,假定具有1、3、5、7、
9、11和13的POC值的图片是长期参考图片,其为了清楚而在表I中加粗、加下划线且为斜体。长期参考图片可为基于由视频编码器20选择的各种准则的长期参考图片。大体上,无论用以确定哪些图片是长期参考图片的准则或经确定为长期参考图片的图片的数目如何,本发明的技术都可以大体上类似的方式起作用;然而,本发明的方面不应视为限于此。这些假定和假设值适用于以下两个实例。
[0108]在隐式技术的实例中,视频编码器20和视频解码器30可首先用图片的识别符填充参考图片窗口,直到窗口中的图片的总数目等于阈值M为止,M在此实例中为5。而且,用以指定参考图片窗口中的图片的识别符可为POC值。因此,在此实例中,在对具有POC值O的图片(在表I的实例中为译码次序上的第一图片,因为其图片编号值也是O)进行译码之后,参考图片窗口中的识别符可为{O}。在对具有POC值16的图片(在表I的实例中为译码次序上的下一图片,因为其图片编号值是I)进行译码之后,参考图片窗口中的识别符可为{0,16}。此过程可继续直到具有POC值2的图片(例如,直到经识别为参考图片的图片数目等于M),且参考图片窗口中的识别符可为{0,16,8,4,2}。如此,具有POC值0、16、8、4和2的图片是参考图片(例如,经指示为可用于参考)且可在视频编码器20和视频解码器30的DPB中标记为“用于参考”。
[0109]在此接合点处,在参考图片窗口中识别的图片的数目等于阈值M,这可触发隐式技术的实例。然而,在此实例中,接下来两个图片(例如,具有POC值I和3的图片)均为长期图片;因此,隐式技术绕过这两个图片且移动到具有POC值6的图片。视频编码器20和视频解码器30可随后对具有POC值6的图片进行译码,且可确定DPB中的参考图片中的任一者(例如,在参考图片窗口中识别)是否应变为不可用于帧间预测,或具有POC值6的图片是否应不可用于帧间预测。
[0110]在隐式技术的第一实例中,视频编码器20或视频解码器30可在以下两个准则对于参考图片为真时确定当前经指示为可用于帧间预测的参考图片不再可用于帧间预测。举例来说,视频编码器20和视频解码器30可确定参考图片的时间水平值等于或大于经译码图片的时间水平值是否为真。视频编码器20和视频解码器30还可确定参考图片的译码次序早于具有等于或大于经译码图片的时间水平值的时间水平值的所有参考图片的译码次序是否为真。
[0111]举例来说,视频编码器20和视频解码器30从存储在DPB中的参考图片识别一组参考图片,其中每一者当前经指示为可用于帧间预测且具有等于或大于经译码图片的时间水平值的时间水平值。视频编码器20和视频解码器30可确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序。
[0112]如果参考图片满足这两个准则,那么在隐式技术的第一实例中,视频编码器20和视频解码器30可确定参考图片现在不可用于帧间预测,且可确定经译码图片可用于帧间预测。否则,视频编码器20和视频解码器30可确定经译码图片不再可用于帧间预测。
[0113]举例来说,在具有POC值6的图片经译码之后,视频编码器20和视频解码器30可确定具有POC值6的图片的时间水平值为2。在此情况下,在参考图片窗口中的图片(例如,可用于帧间预测的参考图片)中,仅具有POC值2的图片满足第一准则(例如,其时间水平值等于或大于具有POC值6的图片的时间水平值)。在此情况下,视频编码器20和视频解码器30可仅将具有POC值2的图片识别为具有等于或大于具有POC值6的图片的时间水平值的时间水平值的所述组参考图片。而且,具有POC值2的图片满足第二准则(即,具有POC值2的图片的译码次序早于具有大于或等于时间水平值2的时间水平值的任何图片的译码次序)。举例来说,具有POC值2的图片的图片编号值小于具有大于或等于时间水平值2的时间水平值的任何图片的图片编号值。在此情况下,根据隐式技术的第一实例,视频编码器20和视频解码器30可从参考图片窗口移除具有POC值2的图片,且改为插入具有POC值6的图片。因此,参考图片窗口现在可为{0,16,8,4,6}。
[0114]接下来的两个图片(例如,具有POC值5和7的图片)均为长期参考图片。因此,在此实例中,隐式技术可在确定是否存在对在参考图片窗口中识别的图片的任何改变时绕过这两个图片,且移动到具有POC值12的图片。
[0115]在具有POC值12的图片经译码之后,视频编码器20和视频解码器30可确定具有POC值12的图片的时间水平值为I。在此情况下,在参考图片窗口中的图片(例如,可用于帧间预测的参考图片)中,具有POC值4和6的图片满足第一准则(即,具有POC值4和6的图片的时间水平值等于或大于具有POC值12的图片的时间水平值)。在此实例中,视频编码器20和视频解码器30可将具有POC值4和6的图片识别为属于一组参考图片,其中每一者当前经指示为可用于帧间预测且具有等于或大于具有POC值12的图片的时间水平值的时间水平值。然而,仅具有POC值4的图片满足第二准则(例如,具有POC值4的图片的译码次序早于具有大于或等于具有POC值12的图片的时间水平值的时间水平值的任何图片的译码次序)。换句话说,具有POC值4的图片的图片编号值小于具有大于或等于具有POC值12的图片的时间水平值的时间水平值的任何图片的图片编号值(例如,具有POC值4的图片的图片编号值小于具有POC值6的图片的图片编号值)。
[0116]因此,仅具有POC值4的图片满足隐式技术的第一实例的第一和第二准则两者。在此情况下,根据隐式技术的第一实例,视频编码器20和视频解码器30可从参考图片窗口移除具有POC值4的图片,且改为插入具有POC值12的图片,因为具有POC值12的图片是刚经译码的图片。因此,参考图片窗口现在可为{0,16,8,6,12},且视频编码器20和视频解码器30可继续到下一图片(例如,具有POC值10的图片)。
[0117]在具有POC值10的图片经译码之后,视频编码器20和视频解码器30可确定具有POC值10的图片的时间水平值为2。在此情况下,在参考图片窗口中的图片(例如,可用于帧间预测的参考图片)中,仅具有POC值6的图片满足第一准则(例如,其时间水平值等于或大于具有POC值10的图片的时间水平值)。在此情况下,具有POC值6的图片可为所识别组的参考图片中的仅有图片。而且,具有POC值6的图片满足第二准则(例如,基于具有POC值6的图片的图片编号值的译码次序早于具有大于或等于时间水平值2的时间水平值的任何图片的译码次序)。在此情况下,根据隐式技术的第一实例,视频编码器20和视频解码器30可从参考图片窗口移除具有POC值6的图片,且改为插入具有POC值10的图片。因此,参考图片窗口现在可为{0,16,8,12,10}。
[0118]接下来两个图片(例如,具有POC值9和11的图片)均为长期参考图片。因此,在此实例中,隐式技术可在确定是否存在对在参考图片窗口中识别的图片的任何改变时绕过这两个图片(具有POC值9和11的图片),且移动到具有POC值14的图片。
[0119]在具有POC值14的图片经译码之后,视频编码器20和视频解码器30可确定具有POC值14的图片的时间水平值为2。在此情况下,在参考图片窗口中的图片(例如,可用于帧间预测的参考图片)中,仅具有POC值10的图片满足第一准则(例如,其时间水平值等于或大于具有POC值14的图片的时间水平值)。在此情况下,具有POC值10的图片可为所识别组的参考图片中的仅有图片。而且,具有POC值10的图片满足第二准则(例如,具有POC值10的图片的译码次序早于具有大于或等于时间水平值2的时间水平值的任何图片的译码次序)。在此情况下,根据隐式技术的第一实例,视频编码器20和视频解码器30可从参考图片窗口移除具有POC值10的图片,且改为插入具有POC值14的图片。因此,参考图片窗口现在可为{0,16,8,12,10}。
[0120]在此情况下,具有POC值13的图片是长期参考图片。因此,在此实例中,隐式技术可在确定是否存在对在参考图片窗口中识别的图片的任何改变时绕过具有POC值13的图片。以此方式,上文说明视频编码器20和视频解码器30可实施隐式技术的第一实例的方式的实例。举例来说,对于视频编码器20和视频解码器30实施第一实例可能不需要语法元素的信令。此外,所述技术可基于时间水平值与译码次序的组合。
[0121]下文更详细地说明基于表I的假设值和上述假定的隐式技术的第二实例。举例来说,类似于第一实例,在第二实例中,参考图片窗口初始可为{0,16,8,4,2},使得在参考图片窗口中识别的图片的总数目等于M(即,5)。而且,类似于上文,因为具有POC值I和3的图片是长期参考图片,所以隐式技术的第二实例在确定是否存在对在参考图片窗口中识别的图片的任何改变时绕过这些图片(具有POC值I和3的图片)。隐式技术的第二实例可以具有POC值6的图片开始。
[0122]在隐式技术的第二实例中,视频编码器20或视频解码器30可在以下三个准则对于参考图片为真时确定当前经指示为可用于帧间预测的参考图片不再可用于帧间预测。举例来说,视频编码器20和视频解码器30可确定参考图片的时间水平值等于或大于经译码图片的时间水平值是否为真。视频编码器20和视频解码器30可确定没有其它参考图片具有大于参考图片的时间水平值的时间水平值是否为真。视频编码器20和视频解码器20可确定参考图片的译码次序早于具有等于参考图片的时间水平值的时间水平值的所有参考图片的译码次序是否为真。
[0123]如果参考图片满足全部这三个准则,那么在隐式技术的第二实例中,视频编码器20和视频解码器30可确定参考图片现在不可用于帧间预测,且可确定经译码图片可用于帧间预测。否则,视频编码器20和视频解码器30可确定经译码图片可用于帧间预测。
[0124]举例来说,在具有POC值6的图片经译码之后,视频编码器20和视频解码器30可确定具有POC值6的图片的时间水平值为2。在此情况下,仅具有POC值2的图片满足第一准则,因为具有POC值2的图片是时间水平值等于或大于具有POC值6的图片的时间水平值的仅有图片。而且,具有POC值2的图片满足第二准则,因为不存在具有比具有POC值2的图片大的时间水平值的其它参考图片。而且,具有POC值2的图片满足第三准则,因为具有POC值2的图片的译码次序早于具有等于具有POC值2的图片的时间水平值的时间水平值的所有参考图片的译码次序。因此,在此实例中,视频编码器20和视频解码器30可从参考图片窗口移除具有POC值2的图片,且改为插入具有POC值6的图片。参考图片窗口现在可为{0,16,8,4,6}。
[0125]如前,接下来两个图片(例如,具有POC值5和7的图片)均为长期参考图片。因此,在此实例中,隐式技术可在确定是否存在对在参考图片窗口中识别的图片的任何改变时绕过这两个图片(具有POC值5和7的图片),且移动到具有POC值12的图片。[0126]在具有POC值12的图片经译码之后,视频编码器20和视频解码器30可确定具有POC值12的图片的时间水平值为I。具有POC值4和6的图片可满足第一准则,因为其相应时间水平值大于或等于具有POC值12的图片的时间水平值。在具有POC值4和6的图片之间,具有POC值6的图片满足第二准则,因为具有POC值6的图片的时间水平值大于具有POC值4的图片的时间水平值。具有POC值6的图片也满足第三准则,因为具有POC值6的图片的译码次序早于具有等于具有POC值6的图片的时间水平值的时间水平值的所有参考图片的译码次序。因此,在此实例中,视频编码器20和视频解码器30可从参考图片窗口移除具有POC值6的图片,且改为插入具有POC值12的图片。参考图片窗口现在可为{0,16,8,4,12},且所述技术可移动到具有POC值10的图片。
[0127]在具有POC值10的图片经译码之后,视频编码器20和视频解码器30可确定具有POC值10的图片的时间水平值为2。在此情形中,不存在满足第一准则的参考图片。举例来说,具有POC值0、16、8、4和12的图片的时间水平值各自小于具有POC值10的图片的时间水平值。因此,可能不需要第二和第三准则的分析,因为没有图片满足第一准则。在此实例中,隐式技术的第二实例可不从参考图片窗口移除任何图片,且可改为在参考图片窗口中包含具有POC值10的图片。参考图片窗口现在可为{0,16,8,4,12,10}。
[0128]接下来两个图片(例如,具有POC值9和11的图片)均为长期参考图片。因此,在此实例中,隐式技术可在确定是否存在对在参考图片窗口中识别的图片的任何改变时绕过这两个图片(具有POC值9和11的图片),且移动到具有POC值14的图片。
[0129]在具有POC值14的图片经译码之后,视频编码器20和视频解码器30可确定具有POC值14的图片的时间水平值为2。在此情形中,具有POC值10的图片是满足第一准则的仅有图片,因为没有其它图片的时间水平值等于或大于具有POC值14的图片的时间水平值。具有POC值10的图片也可满足第二准则,因为没有其它参考图片具有大于具有POC值10的图片的时间水平值的时间水平值。而且,具有POC值10的图片也可满足第三准则,因为具有POC值10的图片的译码次序早于具有等于具有POC值10的图片的时间水平值的时间水平值的所有参考图片的译码次序。因此,在此实例中,隐式技术的第二实例可移除具有POC值10的图片,且改为插入具有POC值14的图片。所得参考图片窗口可为{0,16,8,4,12,14}。
[0130]如上所述,具有POC值13的图片是长期参考图片。因此,在此实例中,隐式技术可在确定是否存在对在参考图片窗口中识别的图片的任何改变时绕过具有POC值13的图片。以此方式,上文说明视频编码器20和视频解码器30可实施隐式技术的第二实例的方式的实例。举例来说,如前所述,对于视频编码器20和视频解码器30实施第一实例可能不需要语法元素的信令。此外,所述技术可基于时间水平值与译码次序的组合。
[0131]而且,如上可见,在隐式技术的第一实例中,作为非限制性条件,参考图片窗口中的图片的数目可从不大于图片的阈值数目(M)。在一些实例中,除了在基于译码次序和时间水平值对参考图片是否应指示为不再可用于帧间预测的确定开始之前所需的图片的数目之外,图片的阈值数目(M)可界定可用于帧间预测的图片的最大数目(例如,参考图片窗口内的图片的最大数目)。
[0132]在隐式技术的第二实例中,作为非限制性条件,参考图片窗口中的图片数目可能大于图片的阈值数目(M)。在此情况下,图片的阈值数目(M)可界定在基于译码次序和时间水平值对参考图片是否应指示为不再可用于帧间预测的确定开始之前所需的图片的数目。
[0133]图3是说明可实施根据本发明的一个或一个以上方面的技术的视频编码器20的实例的框图。视频编码器20可执行视频图片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减少或移除给定视频图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者。例如单向预测(P模式)和双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。
[0134]在图3的实例中,视频编码器20包含模式选择单元40、预测模块41、经解码图片缓冲器(DPB) 64、求和器50、变换模块52、量化单元54以及熵编码单元56。预测模块41包含运动估计单元42、运动补偿单元44和帧内预测单元46。对于视频块重构,视频编码器20还包含逆量化单元58、逆变换模块60和求和器62。还可包含解块滤波器(图3中未图示)以对块边界进行滤波以从经重构视频移除成块假象。如果需要,则解块滤波器将通常对求和器62的输出进行滤波。
[0135]如图3所示,视频编码器20接收待编码视频图片或切片内的当前视频块。作为一个实例,所述图片或切片可划分为多个视频块或CU,但也包含PU和TU。模式选择单元40可基于误差结果而为当前视频块选择译码模式中的一者(帧内或帧间),且预测模块41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重构经编码块以用作参考图片。
[0136]在一些实例中,模式选择单元40可实施上述实例技术。举例来说,模式选择单元40可经配置以管理DPB 64。作为几个实例,模式选择单元40对DPB 64的管理可包含:存储过程,其中将来自求和器62的经重构图片(称为经解码图片)存储在DPB 64中;所存储图片的标记过程(例如,将图片标记为“用于参考”或“未用于参考”);以及DPB 64中的解码图片的输出和移除过程。作为一个实例,移除过程可指代在发信号通知图片之后从DPB64移除图片。
[0137]举例来说,模式选择单元40可实施上述隐式技术的实例中的至少一者以确定当前经指示为可用于帧间预测的存储在DPB 64中的参考图片是否不再可用于帧间预测。根据上述隐式技术,模式选择单元40可如本发明中所述维持参考图片窗口,且在图片变为从求和器62可用之后移除所述图片且将其插入到参考图片窗口中。
[0138]模式选择单元40还可经由熵编码单元56发信号通知旗标以供视频解码器30接收。模式选择单元40可随具有时间水平值O的图片包含此旗标,且作为一个实例可在切片标头中发信号通知此旗标,但模式选择单元40可在图片参数集(PPS)、序列参数集(SPS)中或任一其它层级处发信号通知此旗标。当模式选择单元40将旗标设定为真时,所述旗标可指示所有先前短期图片不可用于帧间预测,在译码次序上最靠近当前图片的具有时间水平值O的短期图片除外。
[0139]应了解,将模式选择单元40描述为执行本发明中描述的实例技术是仅为了说明和便于理解的目的而提供,且不应视为限制性的。举例来说,除模式选择单元40外的单元也可实施隐式技术的实例。举例来说,处理器(未图示)可实施所述技术。在一些实例中,视频编码器20的各种模块或单元可共享上述隐式技术的实例的实施方案。
[0140]预测模块41内的帧内预测单元46可相对于与待译码当前块相同的图片或切片中的一个或一个以上相邻块执行当前视频块的帧内预测译码以提供空间压缩。预测模块41内的运动估计单元42和运动补偿单元44相对于一个或一个以上参考图片中的一个或一个以上预测块执行当前视频块的帧间预测译码以提供时间压缩。
[0141 ] 运动估计单元42和运动补偿单元44可高度集成,但为了概念目的而分开来说明。由运动估计单元42执行的运动估计是产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示当前视频图片内的视频块相对于参考图片内的预测块的位移。预测块为被发现在像素差方面紧密匹配于待译码视频块的块,所述像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差量度来确定。在一些实例中,视频编码器20可计算存储在DPB 64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可计算参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行相对于全像素位置和分数像素位置的运动搜索,且输出具有分数像素精度的运动向量。在一些实例中,运动估计单元42可从DPB 64中经标记为“用于参考”的参考图片而不是从经标记为“未用于参考”的图片执行运动搜索。
[0142]运动估计单元42通过将视频块的位置与参考图片的预测块的位置进行比较来计算经帧间译码视频块的视频块的运动向量。此参考图片可为由模式选择单元40管理的参考图片窗口中的参考图片中的一者。举例来说,当视频块经单向预测时,运动估计单元42可使用所述视频块的单向预测译码,且从一个参考图片计算单个运动向量。在另一实例中,当视频切片经双向预测时,运动估计单元42可使用所述视频块的双向预测译码,且从两个不同参考图片计算两个运动向量。这些参考图片可为由模式选择单元40管理的参考图片窗口中的参考图片。
[0143]运动估计单元42将所计算的运动向量发送到熵编码单元56和运动补偿单元44。由运动补偿单元44执行的运动补偿可涉及基于由运动估计确定的运动向量来获取或产生预测块。在接收到当前视频块的运动向量后,运动补偿单元44可即刻定位运动向量指向的预测块。视频编码器20通过从正译码的当前视频块的像素值减去预测块的像素值而形成像素差值,来形成残余视频块。像素差值形成块的残余数据,且可包含亮度和色度差分量两者。求和器50表示执行此减法运算的组件。
[0144]大体上,运动补偿单元44发信号通知从其预测当前视频块的每一参考图片的运动向量信息。运动补偿单元44还发信号通知指示在参考图片列表(有时称为列表O和列表I)中何处识别出参考图片的索引值的信息。
[0145]在视频块是相对于单个参考图片预测的实例中,运动补偿单元44发信号通知视频块与参考图片的匹配块之间的残余。在视频块是相对于两个参考图片预测的实例中,运动补偿单元44可发信号通知视频块与参考图片中的每一者的匹配块之间的残余。运动补偿单元44可发信号通知此残余,视频解码器30根据所述残余对视频块进行解码。
[0146]在运动补偿单元44产生当前视频块的预测块之后,视频编码器20通过从当前视频块减去预测块而形成残余视频块。变换模块52可从残余块形成一个或一个以上变换单元(TU)。变换模块52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于TU,从而产生包括残余变换系数的视频块。变换可将残余块从像素域转换为变换域,例如频域。
[0147]变换模块52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位速率。量化过程可产生与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可随后执行对包含经量化变换系数的矩阵的扫描。或者,熵编码单元56可执行扫描。
[0148]在量化后,熵编码单元56对经量化变换系数进行熵译码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵(PIPE)或另一熵编码技术。在熵编码单元56的熵编码之后,经编码位流可发射到例如视频解码器30等视频解码器,或经归档以用于稍后发射或检索。
[0149]熵编码单元56还可对正译码的当前视频图片的运动向量和其它预测语法元素进行熵编码。举例来说,熵编码单元56可建构包含由运动补偿单元44产生的适当语法元素的标头信息以用于在经编码位流中发射。为了对语法元素进行熵编码,熵编码单元56可执行CABAC且基于上下文模型将语法元素二进制化为一个或一个以上二进制位。熵编码单元还可执行CAVLC,且根据基于上下文的概率将语法元素编码为码字。
[0150]逆量化单元58和逆变换模块60分别应用逆量化和逆变换以重构像素域中的残余块,用于稍后用作参考图片的参考块。运动补偿单元44可通过将残余块加到参考图片中的一者的预测块来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重构残余块以计算子整数像素值以用于运动估计。求和器62将经重构残余块加到由运动补偿单元44产生的经运动补偿预测块以产生参考图片以存储在DPB 64中。参考图片可由运动估计单元42和运动补偿单元44用作参考块以对后续视频图片中的块进行帧间预测。
[0151]图4是说明可实施根据本发明的一个或一个以上方面的技术的实例视频解码器30的框图。在图4的实例中,视频解码器30包含熵解码单元80、预测模块81、逆量化单元86、逆变换单元88、求和器90以及经解码图片缓冲器(DPB) 92。预测模块81包含运动补偿单元82和帧内预测单元84。在一些实例中,视频解码器30可执行与关于视频编码器20 (图3)描述的编码遍次大体上互逆的解码遍次。
[0152]在解码过程期间,视频解码器30接收经编码视频位流,其包含经编码视频块和表示来自视频编码器(例如,视频编码器20)的译码信息的语法元素。视频解码器30的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量和其它预测语法。熵解码单元80将运动向量和其它预测语法转发到预测模块81。视频解码器30可在视频预测单元层级、视频译码单元层级、视频切片层级、视频图片层级和/或视频序列层级处接收语法元素。
[0153]当视频切片经译码为经帧内译码(I)切片时,预测模块81的帧内预测单元84可基于发信号通知的帧内预测模式和来自当前帧的先前经解码块的数据来产生当前视频图片的视频块的预测数据。当视频块经帧间预测时,预测模块81的运动补偿单元82基于从熵解码单元80接收的运动向量和预测语法来产生当前视频图片的视频块的预测块。
[0154]运动补偿单元82通过剖析运动向量和预测语法来确定当前视频块的预测信息,且使用预测信息来产生正解码的当前视频块的预测块。举例来说,运动补偿单元82使用所接收语法元素中的一些来确定用以对当前图片进行编码的CU的大小、描述图片的每一 CU如何分裂的分裂信息、指示每一分裂如何编码(例如,帧内或帧间预测)的模式、图片的每一经帧间预测视频块的运动向量、图片的每一经帧间预测视频块的运动预测方向,以及用以对当前视频图片进行解码的其它信息。
[0155]运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用由视频编码器20在视频块编码期间使用的内插滤波器来计算参考块的子整数像素的经内插值。运动补偿单元82可根据所接收语法元素来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测块。
[0156]在一些实例中,预测模块81可实施上述实例技术。举例来说,预测模块81可类似于上文关于图3描述的对DPB 64的管理来管理DPB 92。举例来说,预测模块81可实施上述隐式技术的实例中的至少一者以确定当前经指示为可用于帧间预测的存储在DPB 92中的参考图片是否不再可用于帧间预测。根据上述隐式技术,预测模块81可维持参考图片窗口,且在图片变为从求和器90可用之后移除所述图片且将其插入到参考图片窗口中。
[0157]预测模块81还可经由熵解码单元80接收从视频编码器20发信号通知的旗标。当预测模块81确定旗标为真时,预测模块81可确定存储在DPB 92中的所有先前短期图片不可用于帧间预测,在译码次序上最靠近当前图片的具有时间水平值O的短期图片除外。
[0158]应了解,预测模块81执行本发明中描述的实例技术是为了说明和便于理解的目的而提供,且不应视为限制性的。举例来说,除预测模块81外的单元也可实施隐式技术的实例。举例来说,处理器(未图示)可实施所述技术。在一些实例中,视频解码器30的各种模块或单元可共享上述隐式技术的实例的实施方案。
[0159]逆量化单元86逆量化(即,解量化)在位流中提供且由熵解码单元80解码的经量化变换系数。逆量化过程可包含使用由视频编码器20针对每一视频块或CU计算的量化参数QPy来确定量化程度,且同样确定应当应用的逆量化程度。逆变换模块88对变换系数应用逆变换,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残余块。
[0160]在运动补偿单元82基于运动向量和预测语法元素产生当前视频块的预测块之后,视频解码器30通过将来自逆变换模块88的残余块与由运动补偿单元82产生的对应预测块进行求和来形成经解码视频块。求和器90表示执行此求和运算的组件。如果需要,则还可应用解块滤波器以对经解码块进行滤波以便移除成块假象。随后将经解码视频块存储在DPB 92中,所述DPB提供参考图片的参考块用于后续运动补偿。DPB 92还产生经解码视频用于在例如图1的显示装置32等显示装置上呈现。
[0161]图5是说明根据本发明的一个或一个以上方面的实例操作的流程图。图5中说明的实例可对应于隐式技术的第一实例。视频编码器20和视频解码器30中的任一者或两者可实施图5中说明的实例隐式技术。为了简明,将图5的实例描述为由视频译码器执行,视频译码器的实例包含视频编码器20和视频解码器30。
[0162]视频译码器可对图片进行译码(例如,编码或解码)(100)。视频译码器可确定经译码图片的时间水平值(102)。在一些实例中,视频译码器可随后从存储在DPB中的参考图片识别一组参考图片,其中每一者当前经指示为可用于帧间预测且具有等于或大于经译码图片的时间水平值的时间水平值(104)。举例来说,视频编码器20的DPB 64或视频解码器30的DPB 92可存储当前经指示为可用于帧间预测的参考图片。举例来说,参考图片可经标记为“用于参考”。
[0163]视频译码器可确定参考图片的译码次序(例如,由图片编号指示)早于具有等于或大于经译码图片的时间水平值的时间水平值的任何其它参考图片(经指示为可用于帧间预测且存储在DPB中)的译码次序(106)。举例来说,视频译码器可确定参考图片的图片编号值小于具有等于或大于经译码图片的时间水平值的时间水平值的存储在DPB中的任何其它参考图片的图片编号值。
[0164]视频译码器可随后基于先前确定而确定参考图片不再可用于帧间预测(108)。举例来说,当发生以下情况时视频译码器可确定参考图片不再可用于帧间预测:(I)参考图片的时间水平等于或大于经译码图片的时间水平值,和(2)参考图片的译码次序早于具有等于或大于经译码图片的时间水平值的时间水平值的所有其它参考图片的译码次序。
[0165]图6是说明根据本发明的一个或一个以上方面的实例操作的流程图。图6中说明的实例可对应于隐式技术的第二实例。视频编码器20和视频解码器30中的任一者或两者可实施图6中说明的实例隐式技术。如同图5,为了简明,将图6的实例描述为由视频译码器执行,视频译码器的实例包含视频编码器20和视频解码器30。
[0166]类似于图5,视频译码器可对图片进行译码(例如,编码或解码)(110)。视频译码器可确定经译码图片的时间水平值(112)。在一些实例中,视频译码器可随后确定存储在DPB中且当前经指示为可用于帧间预测的参考图片的时间水平值是否等于或大于经译码图片的时间水平值(114)。
[0167]在一些实例中,视频译码器可确定存储在DPB中的任何参考图片是否具有大于参考图片的时间水平值的时间水平值(116)。视频译码器还可确定参考图片的译码次序是否早于具有等于参考图片的时间水平值的时间水平值的所有参考图片的译码次序(118)。
[0168]基于先前确定,视频译码器可确定参考图片不再可用于帧间预测(120)。举例来说,当发生以下情况时视频译码器可确定参考图片不再可用于帧间预测:(I)参考图片的时间水平值等于或大于经译码图片的时间水平值,(2)没有其它参考图片具有大于参考图片的时间水平值的时间水平值,和(3)参考图片的译码次序早于具有等于参考图片的时间水平值的时间水平值的所有参考图片的译码次序。
[0169]在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体传输,且由基于硬件的处理单元执行。计算机可读媒体可包含对应于例如数据存储媒体等有形媒体的计算机可读存储媒体,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(I)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或者一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0170]举例来说且并非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它媒体。而且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而应了解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对非瞬时有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上文的组合也应包含在计算机可读媒体的范围内。
[0171]可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
[0172]本发明的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或一个以上处理器)的集合结合合适软件和/或固件来提供。
[0173]已描述了各种实例。这些和其它实例属于所附权利要求书的范围内。
【权利要求】
1.一种用于视频译码的方法,其包括: 参考存储在经解码图片缓冲器DPB中的一个或一个以上参考图片来对图片进行译码; 确定所述经译码图片的时间水平值; 从存储在所述DPB中的所述参考图片识别一组参考图片,所述参考图片中的每一者当前经指示为可用于帧间预测且具有等于或大于所述经译码图片的所述时间水平值的时间水平值; 确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序;以及 确定所述参考图片不再可用于帧间预测。
2.根据权利要求1所述的方法,其中确定所述经译码图片的所述时间水平值包括设定所述经译码图片的所述时间水平值以使得所述经译码图片的所述时间水平值大于或等于用以对所述图片进行译码的所述一个或一个以上参考图片的所述时间水平值。
3.根据权利要求1所述的方法,其中确定所述经译码图片的所述时间水平值包括接收所述经译码图片的所 述时间水平值。
4.根据权利要求3所述的方法,其中接收所述经译码图片的所述时间水平值包括在网络抽象层NAL单元中接收所述经译码图片的所述时间水平值。
5.根据权利要求1所述的方法,其中从存储在所述DPB中的所述参考图片识别各自当前经指示为可用于帧间预测的所述组参考图片包括从存储在所述DPB中的经标记为用于参考的所述参考图片识别所述组参考图片。
6.根据权利要求1所述的方法,其进一步包括: 当确定所述参考图片不再可用于帧间预测时将所述参考图片标记为不再可用于帧间预测; 当确定所述参考图片不再可用于帧间预测时指示所述经译码图片可用于帧间预测;以及 将所述经译码图片添加到所述DPB中。
7.根据权利要求1所述的方法,其中确定所述参考图片的所述译码次序早于任何其它参考图片的所述译码次序包括确定所述参考图片的图片编号值小于所述组参考图片中的任何其它参考图片的图片编号值。
8.根据权利要求1所述的方法,其中确定所述参考图片不再可用于帧间预测包括当经指示为可用于帧间预测的参考图片的总数目等于阈值(M)时确定所述参考图片不再可用于帧间预测。
9.根据权利要求1所述的方法,其中对所述图片进行译码包括对所述图片进行解码,其中确定所述经译码图片的所述时间水平值包括确定所述经解码图片的所述时间水平值,且其中确定所述组参考图片中的所述参考图片的所述译码次序早于所述组参考图片中的任何其它参考图片的所述译码次序包括确定所述参考图片的解码次序早于所述组参考图片中的任何其它参考图片的解码次序。
10.根据权利要求1所述的方法,其中对所述图片进行译码包括对所述图片进行编码,其中确定所述经译码图片的所述时间水平值包括确定所述经编码图片的所述时间水平值,且其中确定所述组参考图片中的所述参考图片的所述译码次序早于所述组参考图片中的任何其它参考图片的所述译码次序包括确定所述参考图片的编码次序早于所述组参考图片中的任何其它参考图片的编码次序。
11.根据权利要求1所述的方法,其中确定所述参考图片不再可用于帧间预测包括确定短期参考图片不再可用于帧间预测。
12.根据权利要求1所述的方法,其中确定所述参考图片不再可用于帧间预测包括在不使用界定应将所述参考图片确定为不再可用于帧间预测的方式的语法元素的情况下确定所述参考图片不再可用于帧间预测。
13.—种视频译码装置,其包括: 经解码图片缓冲器DPB,其经配置以存储当前经指示为可用于帧间预测的参考图片;以及 视频译码器,其耦合到所述DBP,且经配置以: 参考存储在所述DPB中的一个或一个以上参考图片来对图片进行译码; 确定所述经译码图片的时间水平值; 从存储在所述DPB中的所述参考图片识别一组参考图片,所述参考图片中的每一者当前经指示为可用于帧间预测且具有等于或大于所述经译码图片的所述时间水平值的时间水平值; 确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序;以及 确定所述参考图片不再可用于帧间预测。
14.根据权利要求13所述的视频译码装置,其中为了确定所述经译码图片的所述时间水平值,所述视频译码器经配置以设定所述经译码图片的所述时间水平值以使得所述经译码图片的所述时间水平值大于或等于用以对所述图片进行译码的所述一个或一个以上参考图片的所述时间水平值。
15.根据权利要求13所述的视频译码装置,其中为了确定所述经译码图片的所述时间水平值,所述视频译码器经配置以接收所述经译码图片的所述时间水平值。
16.根据权利要求15所述的视频译码装置,其中所述视频译码器经配置以在网络抽象层NAL单元中接收所述经译码图片的所述时间水平值。
17.根据权利要求13所述的视频译码装置,其中为了从存储在所述DPB中的所述参考图片识别各自当前经指示为可用于帧间预测的所述组参考图片,所述视频译码器经配置以从存储在所述DPB中的经标记为用于参考的所述参考图片识别所述组参考图片。
18.根据权利要求13所述的视频译码装置,其中所述视频译码器经配置以: 当确定所述参考图片不再可用于帧间预测时将所述参考图片标记为不再可用于帧间预测; 当所述视频译码器确定所述参考图片不再可用于帧间预测时指示所述经译码图片可用于帧间预测;以及 将所述经译码图片添加到所述DPB中。
19.根据权利要求13所述的视频译码装置,其中所述视频译码器经配置以确定所述参考图片的图片编号值小于具有等于或大于所述经译码图片的所述时间水平值的时间水平值的任何其它参考图片的图片编号值,以确定所述参考图片的所述译码次序早于所述组参考图片中的任何其它参考图片的所述译码次序。
20.根据权利要求13所述的视频译码装置,其中所述视频译码器经配置以当经指示为可用于帧间预测的参考图片的总数目等于阈值(M)时确定所述参考图片不再可用于帧间预测。
21.根据权利要求13所述的视频译码装置,其中所述视频译码器包括视频解码器,其中所述经译码图片包括经解码图片,且其中所述视频解码器经配置以确定所述参考图片的解码次序早于所述组参考图片中的任何其它参考图片的解码次序。
22.根据权利要求13所述的视频译码装置,其中所述视频译码器包括视频编码器,其中所述经译码图片包括经编码图片,且其中所述视频编码器经配置以确定所述参考图片的编码次序早于所述组参考图片中的任何其它参考图片的编码次序。
23.根据权利要求13所述的视频译码装置,其中所述视频译码器经配置以确定短期参考图片不再可用于帧间预测。
24.根据权利要求13所述的视频译码装置,其中所述视频译码器经配置以在不对界定应将所述参考图片确定为不再可用于帧间预测的方式的语法元素进行译码的情况下确定所述参考图片不再可用于帧间预测。
25.—种包括指令 的计算机可读存储媒体,所述指令致使一个或一个以上处理器: 参考存储在经解码图片缓冲器DPB中的一个或一个以上参考图片来对图片进行译码; 确定所述经译码图片的时间水平值; 从存储在所述DPB中的所述参考图片识别一组参考图片,所述参考图片中的每一者当前经指示为可用于帧间预测且具有等于或大于所述经译码图片的所述时间水平值的时间水平值; 确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序;以及 确定所述参考图片不再可用于帧间预测。
26.根据权利要求25所述的计算机可读存储媒体,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令: 当确定所述参考图片不再可用于帧间预测时将所述参考图片标记为不再可用于帧间预测; 当确定所述参考图片不再可用于帧间预测时指示所述经译码图片可用于帧间预测;以及 将所述经译码图片添加到所述DPB中。
27.根据权利要求25所述的计算机可读存储媒体,其中所述致使所述一个或一个以上处理器确定所述参考图片的所述译码次序早于任何其它参考图片的所述译码次序的指令包括致使所述一个或一个以上处理器确定所述参考图片的图片编号值小于所述组参考图片中的任何其它参考图片的图片编号值的指令。
28.根据权利要求25所述的计算机可读存储媒体,其中所述致使所述一个或一个以上处理器确定所述参考图片不再可用于帧间预测的指令包括致使所述一个或一个以上处理器当经指示为可用于帧间预测的参考图片的总数目等于阈值(M)时确定所述参考图片不再可用于帧间预测的指令。
29.根据权利要求25所述的计算机可读存储媒体,其中所述致使所述一个或一个以上处理器确定所述参考图片不再可用于帧间预测的指令包括致使所述一个或一个以上处理器确定短期参考图片不再可用于帧间预测的指令。
30.一种视频译码装置,其包括: 经解码图片缓冲器,其经配置以存储当前经指示为可用于帧间预测的参考图片; 用于参考存储在所述DPB中的一个或一个以上参考图片来对图片进行译码的装置; 用于确定所述经译码图片的时间水平值的装置; 用于从存储在所述DPB中的所述参考图片识别一组参考图片的装置,所述参考图片中的每一者当前经指示为可用于帧间预测且具有等于或大于所述经译码图片的所述时间水平值的时间水平值; 用于确定所述组参考图片中的参考图片的译码次序早于所述组参考图片中的任何其它参考图片的译码次序的装置;以及 用于确定所述参考图片不再可用于帧间预测的装置。
31.根据权利要求30所述的视频译码装置,其中所述用于确定所述参考图片的所述译码次序早于任何其它参考图片的所述译码次序的装置包括用于确定所述参考图片的图片编号值小于所述组参考图片中的任何其它参考图片的图片编号值的装置。
32.根据权利要求30所述的视频译码装置,其中所述用于确定所述参考图片不再可用于帧间预测的装置包括用于当经指示为可用于帧间预测的参考图片的总数目等于阈值(M)时确定所述参考图片不再 可用于帧间预测的装置。
【文档编号】H04N7/26GK103430539SQ201280011975
【公开日】2013年12月4日 申请日期:2012年3月6日 优先权日:2011年3月7日
【发明者】陈盈, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1