买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】多级复合预测_谷歌有限责任公司_201780071236.6 

申请/专利权人:谷歌有限责任公司

申请日:2017-10-31

公开(公告)日:2020-07-24

公开(公告)号:CN109983770B

主分类号:H04N19/105(20060101)

分类号:H04N19/105(20060101);H04N19/11(20060101);H04N19/109(20060101);H04N19/573(20060101)

优先权:["20170314 US 15/458,403"]

专利状态码:有效-授权

法律状态:2020.07.24#授权;2019.09.10#实质审查的生效;2019.07.05#公开

摘要:使用多级复合预测器来对当前块进行编译包括:通过组合用于所述当前块的至少两个预测器块来生成第一复合预测器,生成用于所述当前块的第二预测器,以及组合所述第一复合预测器和所述第二预测器,以获得用于对所述当前块进行编码或者解码的预测块。可以从所述编码器向所述解码器发送指示符以指示何时使用多级复合预测来对块进行编码。

主权项:1.一种用于由编解码器对视频流中的当前块进行编译的方法,包括:由所述编解码器的预测阶段通过组合用于所述当前块的至少两个预测器块来生成第一复合预测器,其中,所述第一复合预测器是组合以下中的一个的第一复合预测块:两个帧内预测器、帧内预测器和帧间预测器或者两个帧间预测器;由所述编解码器的所述预测阶段生成用于所述当前块的第二预测器,其中,所述第二预测器是第二复合预测块,所述第二复合预测器是通过组合所述当前块的至少两个其它预测器块来生成的;以及由所述编解码器的所述预测阶段以像素方式组合所述第一复合预测器和所述第二复合预测器,以获得用于对所述当前块进行编译的预测块。

全文数据:多级复合预测背景技术数字视频流可以使用帧的序列或者静止图像来表示视频。数字视频能够用于各种应用,包括:例如,视频会议、高清晰度视频娱乐、视频广告、或者共享用户生成的视频。数字视频流能够含有大量数据,并且消耗计算装置的用于处理的大量计算资源或者通信资源、发送或者存储视频数据。已经提出了包括压缩和其它编码技术的各种方法来减少视频流中的数据的量。可以通过将帧或者图像分成基于参考帧的一个或多个预测块预测的块来执行基于运动估计和补偿的编码。在比特流中对块和预测块之间的差即,残余误差进行压缩和编码。解码器使用这些差和参考帧来重新构建帧或图像。发明内容本文公开了针对使用多级复合预测来对块进行编码和解码的方面、特征、元件和实现方式。所公开的实现方式的一个方面是一种用于对当前块进行编码的方法。该方法包括:通过组合用于当前块的至少两个预测器块来生成第一复合预测器;生成用于当前块的第二预测器;以及组合该第一复合预测器和该第二预测器,以获得用于对当前块进行编码的预测块。对当前块进行编码能够包括:对当前块进行编码或者解码。因此,在不会大大增加编码器和解码器复杂性或者不会增加计算能力或者资源要求的情况下,可以实现降低的比特率。可替选地,可以在减少计算资源需求的同时实现相似的比特率。可选地,第二预测器是第二复合预测器,并且生成第二预测器包括:通过组合用于当前块的至少两个其它预测器块来生成第二复合预测器。可选地,生成第二预测器包括:使用帧间预测来生成第二预测器。可选地,生成第二预测器包括:使用NEAREST_MV来对当前块进行帧间预测。可选地,生成第二预测器包括:使用帧内预测来生成第二预测器。可选地,至少两个预测器块包括第一组成预测器和第二组成预测器,生成第一复合预测器包括:平均化第一组成预测器与第二组成预测器的像素,以及组合第一复合预测器和第二预测器包括:平均化第一复合预测器和第二预测器的像素,以获得预测块。可选地,该方法可以进一步包括:在编码比特流中对识别第二预测器是否是复合预测器的指示符进行编码。可选地,该方法可以进一步包括:使用帧间预测来生成至少两个预测器块中的每个预测器块。另一方面是一种用于根据本公开的一种实现方式来对当前块进行编码的设备,该设备包括:存储器;以及处理器。该处理器被配置为执行在存储器中存储的以下操作的指令:通过组合用于当前块的至少两个预测器块来生成第一复合预测器;生成用于当前块的第二预测器;以及组合第一复合预测器和第二预测器,以获得用于对当前块进行编码的预测块。可选地,用于生成第二预测器的指令进一步包括以下操作的指令:通过组合用于当前块的至少两个其它预测器块来生成第二复合预测器。可选地,至少两个其它预测器块包括使用帧内预测生成的第一组成预测器和使用帧间预测生成的第二组成预测器。可选地,用于生成第二预测器的指令包括以下操作的指令:通过使用NEAREST_MV对当前块进行帧间预测来生成第二预测器。可选地,第二预测器是帧内预测器。可选地,至少两个预测器块包括第一组成预测器和第二组成预测器,该第一组成预测器是在对当前块进行帧间预测时使用第一相邻帧作为参考帧来生成的,并且第二组成预测器是在对当前块进行帧间预测时使用第二相邻帧来生成的,第一相邻帧在视频序列中紧接在定位在其中的当前块的当前帧之前,并且第二相邻帧在视频序列中紧接在第一相邻帧之前,以及第二预测器是在对当前块进行帧间预测时使用第一相邻帧作为参考帧来生成的。另一方面是一种用于根据一种实现方式来对当前块进行解码的设备,该设备包括:存储器;以及处理器。该处理器被配置为执行在存储器中存储的以下操作的指令:根据编码比特流,来对识别到使用多级复合预测来对当前块进行编码的指示符进行解码;通过组合用于当前块的至少两个预测器块来生成第一复合预测器;生成用于当前块的第二预测器;以及组合第一复合预测器和第二预测器,以获得用于对当前块进行解码的预测块。可选地,指示符识别第二预测器是否是复合预测器块。可选地,用于组合第一复合预测器和第二预测器的指令包括平均化第一复合预测器和第二预测器的同位像素,以获得预测块的指令。可选地,该指示符识别到用于至少两个预测器块中的每个预测器块的预测模式。可选地,至少两个预测器块包括第一帧间预测器和第二帧间预测器,并且其中,指令包括用于对第一帧间预测器、第二帧间预测器、和第二预测器中的每一个使用相同的帧间预测模式的指令。可选地,用于生成第一复合预测器的指令包括平均化至少两个预测器块的同位像素,以生成第一复合预测器的指令。应当注意的是,上述任何特征可以与本发明的任何特定方面或者实施例一起使用。在以下对实施例、随附权利要求书和附图的详细描述中公开了本公开的这些以及其它方面。附图说明在本文中的描述参考附图,其中,相同的附图标记在若干视图中指代相同的部件。图1是视频编码和解码系统的示意图。图2是能够实现发送站或接收站的计算装置的示例的框图。图3是要对其进行编码并且随后对其进行解码的视频流的图。图4是根据本公开的实现方式的编码器的框图。图5是根据本公开的实现方式的解码器的框图。图6是根据本公开的实现方式的使用多级复合预测来对当前块进行编码的过程的流程图。图7是根据本公开的实现方式的帧间三向预测的图。图8是根据本公开的实现方式的参考帧缓冲器的示例的图。图9是根据本公开的实现方式的帧间-帧内三向预测的图。图10是根据本公开的实现方式的帧间四向预测的图。图11是根据本公开的实现方式的帧间-帧内四向预测的图。图12是根据本公开的实现方式的多级预测的图。图13是根据本公开的实现方式的对当前块进行解码的过程的流程图。具体实现方式如以上提到的,涉及对视频流进行编码的压缩方案可以包括:使用一个或多个技术来将图像分成块并且生成数字视频输出比特流即,编码比特流,以限制在输出比特流中包括的信息。能够对接收到的比特流进行解码以通过有限的信息重新创建块和源图像。对视频流或者其的部分诸如,帧或者块进行编码能够包括:使用视频流中的时间相似性或空间相似性来提高编码效率。例如,可以基于识别先前已编码的像素值之间或者先前已编码的像素值的组合与当前块中的那些像素值之间的差残差来对视频流的当前块进行编码。使用空间相似性的编码能够被称为帧内预测。帧内预测能够尝试使用在块的外围的像素来对视频流的帧的块的像素值进行预测;即,使用在与块相同的帧中但是在块的外部的像素。帧内预测产生的预测块在本文中被称为帧内预测器。能够沿着预测的方向来执行帧内预测,其中,每个方向能够与帧内预测模式相对应。帧内预测模式能够由编码器用信号发送给解码器。使用时间相似性的编码能够被称为帧间预测。帧间预测能够尝试使用来自在时间上邻近的一个或多个帧即,参考帧的可能位移的一个或多个块来对块的像素值进行预测。在时间上邻近的帧是视频流中在时间上比对其进行编码的块的帧更早或者更晚出现的帧。根据帧间预测产生的预测块在本文中被称为帧间预测器。帧间预测使用运动矢量来执行。用于生成预测块的运动矢量是指除了当前帧之外的帧,即,参考帧。参考帧在视频流的序列中能够位于当前帧之前或者之后。一些编解码器使用多达八个参考帧,该八个参考帧能够被存储在帧缓冲器中。运动矢量能够参考即,使用这些帧缓冲器中的参考帧中的一个。能够组合两个预测器块,以形成用于视频图像的块或区域的复合预测器。能够通过组合使用例如上述预测方法即,帧间和或帧内预测确定的两个或更多个预测器来创建复合预测器。例如,复合预测器能够是第一预测器和第二预测器的组合,第一预测器和第二预测器能够是两个帧内预测器即,帧内+帧内、帧内预测器和帧间预测器即,帧内+帧间、或者两个帧间预测器即,帧间+帧间。例如,在帧间+帧间的情况下,复合帧间预测能够采用第一运动矢量来从第一参考帧获得预测器,并且能够采用第二运动矢量来从第二参考帧获得预测器。参考帧能够都是过往的帧,都是未来的帧,或者其某种组合。第二运动矢量能够独立于第一运动矢量,或者能够从第一运动矢量导出第二运动矢量。作为另一示例,并且在帧内-帧内的情况下,复合预测能够采用由帧内预测操作生成的第一预测器和由帧间预测操作生成的第二预测器。在形成复合预测器时,编码器能够例如基于每像素执行平均、加权组合、滤波操作、或者估计每个预测器的值的重要性的更复杂的形式,以使用两个单独的预测器的像素来生成用于组合的预测器的像素值。因此,组合预测器能够产生复合预测器,例如,该复合预测器能够是两个值的平均值或者估计每个预测器的值的重要性的加权平均值。能够从候选参考运动矢量的参考运动矢量列表中选择运动矢量。候选参考运动矢量能够包括来自视频流中的任何先前已编码的或已解码的块的运动矢量,诸如,来自先前已编码的或已解码的的帧的块或者来自先前已编码的或者已解码的同一帧的块。能够从当前块的同位块及其周围的在参考帧中的块获得候选参考运动矢量。例如,周围的块能够包括在同位块的右边、左下方、右下方、或下方的块。在非复合帧间预测即,单次帧间预测的情况下,对于至少一些参考帧,用于块的候选参考运动矢量能够包括每参考帧的单个预测器运动矢量,该每参考帧的单个预测器运动矢量能够是用于该参考帧的最佳运动矢量。在复合帧间预测的情况下,能够对参考帧对进行评估以确定每参考帧对的多个最佳运动矢量。能够将每对的最佳运动矢量包括在参考运动矢量列表中。在任何一种情况下即,帧内、帧间、或者复合预测,预测块被生成,并且能够将预测块从要对其进行编码的块中减去,以形成表示这些块之间的差的残余块。本公开的实现方式能够经由多级复合预测来改进运动预测。使用多级复合预测,能够创建新的种类的复合预测器。多级复合预测为对块或视频的区域进行编码提供更多的候选预测器。例如,使用多级复合预测的运动预测能够更好地适应要对其进行编码的块的特定运动和内容变化,从而实现了压缩改进。鉴于一些视频编解码器可以使用参考帧缓冲器中的参考帧的两个中的最大值,多级复合预测能够通过使用参考帧的附加组合来生成附加的候选参考运动矢量,从而更有效地利用参考帧来识别改进的预测块。能够在维持合理水平的编码器和解码器复杂性的同时改进压缩性能。在首先描述了其中可以实现本文所公开的多级复合预测的环境之后,在本文中描述了细节。图1是视频编码和解码系统100的示意图。发送站102能够是:例如,具有硬件的内部配置的计算机诸如,在图2中描述的计算机。然而,发送站102的其它合适的实现方式是可能的。例如,发送站102的处理能够被分布在多个装置之间。网络104能够将发送站102和接收站106连接用于对视频流进行编码和解码。具体地,能够在发送站102中对视频流进行编码,并且能够在接收站106中对已编码的视频流进行解码。网络104能够是:例如,互联网。网络104还能够是:在该示例中将视频流从发送站102传递至接收站106的局域网LAN、广域网WAN、虚拟专用网VPN、蜂窝电话网、或者任何其它装置。在一个示例中,接收站106能够是具有硬件的内部配置的计算机诸如,在图2中描述的计算机。然而,接收站106的其它合适的实现方式是可能的。例如,接收站106的处理能够被分布在多个装置之间。视频编码和解码系统100的其它实现方式是可能的。例如,实现方式能够省略网络104。在另一实现方式中,能够对视频流进行编码并且然后对其进行存储,用于在稍后的时间处发送至具有存储器的接收站106或者任何其它装置。在一种实现方式中,接收站106例如,经由网络104、计算机总线、和或某一通信路径接收已编码的视频流,并且存储该视频流,用于稍后进行解码。在示例实现方式中,实时传输协议RTP用于通过网络104来发送已编码的视频。在另一实现方式中,可以使用除了RTP之外的传输协议,例如,基于超文本传输协议HTTP的视频流协议。例如,当在视频会议系统中使用时,发送站102和或接收站106可以包括如以下描述的那样来对视频流进行编码和解码的能力。例如,接收站106可以是视频会议参与者,该视频会议参与者从视频会议服务器例如,发送站102接收已编码的视频比特流,以解码并且查看,并且进一步对其自己的视频比特流进行编码并且将其发送至视频会议服务器以供其他参与者进行解码并且查看。图2是能够实现发送站或接收站的计算装置200的示例的框图。例如,计算装置200能够实现图1所示发送站102和接收站106中的一个或两个。计算装置200能够是包括多个计算装置的计算系统的形式或者单个计算装置的形式,例如,移动电话、平板计算机、膝上型计算机、笔记本计算机、台式计算机等。计算装置200中的CPU202能够是中央处理单元。可替选地,CPU202能够是能够操纵或者处理现在存在的或者以后开发的信息的任何其它类型的装置或多个装置。虽然能够利用如图所示单个处理器例如,CPU202来实践所公开的实现方式,但是能够使用不止一个处理器来实现在速度和效率上的优点。在实现方式中,计算装置200中的存储器204能够是只读存储器ROM装置或者随机存取存储器RAM装置。任何其它合适的类型的存储装置能够用作存储器204。该存储器204能够包括由CPU202使用总线212来访问的代码和数据206。存储器204能够进一步包括操作系统208和应用程序210,该应用程序210包括允许CPU202执行此处所描述的方法的至少一个程序。例如,应用程序210能够包括应用1至应用N,该应用1至应用N进一步包括执行此处所描述的方法的视频编码应用。计算装置200还能够包括辅存储装置214,例如,该辅存储装置214能够是与是移动的计算装置200一起使用的存储器卡。因为视频通信会话可能包括大量信息,所以它们能够全部或者部分地被存储在辅助存储装置214中并且根据需要加载到存储器204中以便进行处理。计算装置200还能够包括诸如显示器218的一个或多个输出装置。在一个示例中,显示器218可以是将显示器与是可操作的以感测触摸输入的触敏元件组合的触敏显示器。显示器218能够经由总线212耦合至CPU202。除了显示器218之外或者作为显示器218的替代物,能够提供允许用户对计算装置200进行编程或者以其它方式使用计算装置200的其它输出装置。当输出装置是显示器或者包括显示器时,可以以各种方式来实现显示器,包括通过液晶显示器LCD、阴极射线管CRT显示器、或诸如有机LEDOLED显示器的发光二极管LED显示器。计算装置200还能够包括图像感测装置220或者与图像感测装置220通信,例如,摄像头或者现在存在的或者以后开发的、能够感测图像诸如,操作计算装置200的用户的图像的任何其它图像感测装置220。图像感测装置220能够被定位成使得其指向操作计算装置200的用户。在示例中,图像感测装置220的位置和光轴能够被配置成使得视野包括直接与显示器218相邻并且从其可看见显示器218的区域。计算装置200还能够包括声音感测装置222或者与声音感测装置222通信,例如,麦克风或者现在存在的或者以后开发的能够感测在计算装置200附近的声音的任何其它声音感测装置。声音感测装置222能够被定位成使得其指向操作计算装置200的用户,并且能够被配置为接收在用户操作计算装置200时由用户发出的声音例如,语音或者其它话语。虽然图2将计算装置200的CPU202和存储器204描绘为集成到单个单元中,但是能够利用其它配置。CPU202的操作能够被分布在能够直接耦合或者跨局域网或者其它网络耦合的多个机器每个机器具有一个或多个处理器上。能够跨多个机器分布存储器204,诸如,基于网络的存储器或者执行计算装置200的操作的多个机器中的存储器。虽然此处将计算装置200的总线212描述为单条总线,但是计算装置200的总线212能够由多条总线组成。进一步地,辅存储装置214能够直接耦合至计算装置200的其它组件,或者能够经由网络来访问辅存储装置214,并且辅存储装置214能够包括单个集成单元诸如,存储器卡或者多个单元诸如,多个存储器卡。因此,能够以各种配置来实现计算装置200。图3是要对其进行编码并且随后对其进行解码的视频流300的示例的示意图。视频流300包括视频序列302。在下一级处,视频序列302包括若干相邻帧304。虽然将三个帧描绘为相邻帧304,但是视频序列302能够包括任何数目的相邻帧304。然后,相邻帧304能够被进一步细分成单独的帧,例如,帧306。在下一级处,帧306能够被划分成一系列区段308或者平面。例如,区段308能够是允许进行并行处理的帧的子集。区段308还能够是能够使视频数据分离成单独的颜色的帧的子集。例如,彩色视频数据的帧306能够包括亮度平面和两个色度平面。可以以不同的分辨率来对区段308进行采样。无论帧306是否被划分成区段308,帧306都可以被进一步细分成块310,这些块310能够包含与例如帧306中的16×16个像素相对应的数据。块310还能够被布置为包括来自像素数据的一个或多个区段308的数据。块310还能够是任何其它合适的大小,诸如,4×4个像素、8×8个像素、16×8个像素、8×16个像素、16×16个像素或者更大。图4是根据本公开的实现方式的编码器400的框图。如上所述,编码器400能够诸如通过提供在存储器例如,存储器204中存储的计算机软件程序被实现在发送站102中。该计算机软件程序能够包括机器指令,这些机器指令在由处理器诸如,CPU202执行时使发送站102以本文所描述的方式来对视频数据进行编码。编码器400还能够被实现为在例如,发送站102中包括的专用硬件。编码器400具有以下阶段,以在通过实线连接线示出的前向路径中执行各种功能,从而使用视频流300作为输入来产生编码的或者压缩的比特流420:帧内帧间预测阶段402、变换阶段404、量化阶段406、和熵编码阶段408。编码器400还可以包括用于重新构建帧以便对未来的块进行编码的通过虚线连接线示出的重构路径。在图4中,编码器400具有以下阶段以在重构路径中执行各种功能:去量化阶段410、逆变换阶段412、重构阶段414、和环路滤波阶段416。编码器400的其它结构变化能够用于对视频流300进行编码。当呈现视频流300以进行编码时,能够以块为单位来处理帧306。在帧内帧间预测阶段402处,能够使用帧内预测也被称为帧内预测intra-prediction或者帧间预测也被称为帧间预测inter-prediction或者两者的组合来对块进行编码。在任何情况下,都能够形成预测块。在帧内预测的情况下,可以根据当前帧中的、先前已经被编码和重新构建的样本来形成预测块的全部或者部分。在帧间预测的情况下,可以根据在使用运动矢量确定的一个或多个先前重新构建的参考帧中的样本来形成预测块的全部或者部分。接下来,仍然参照图4,能够在帧内帧间预测阶段402从当前块中减去预测块以产生残余块也被称为残差。变换阶段404使用基于块的变换来将残差变换成在例如频域中的变换系数。这种基于块的变换包括:例如,离散余弦变换DCT和非对称离散正弦变换ADST。其它基于块的变换是可能的。进一步地,可以向单个残差应用不同变换的组合。在应用变换的一个示例中,DCT将残余块变换到变换系数值是基于空间频率的频域中。最低频率DC系数在矩阵的左上方,并且最高频率系数在矩阵的右下方。值得注意的是,预测块的大小并且因此所得的残余块的大小,可以与变换块的大小不同。例如,预测块可以被分成向其应用单独的变换的较小的块。量化阶段406使用量化器值或者量化电平来将变换系数转换成离散量子值该离散量子值被称为量化变换系数。例如,可以将变换系数除以量化器值以及可以截断变换系数。然后,通过熵编码阶段408来对量化变换系数进行熵编码。可以使用任何数目的技术来执行熵编码,包括令牌和二进制树。然后,与用于对块进行解码的其它信息该其它信息可以包括:例如,使用的预测的类型、变换类型、运动矢量和量化器值一起,将已熵编码的系数输出至压缩比特流420。可以将用于对块进行解码的信息熵编码成压缩比特流420内的块、帧、切片和或部段报头。压缩比特流420还能够被称为编码视频流或者编码视频比特流,并且这些术语在本文中将可互换使用。图4中的通过虚线连接线示出重构路径能够用于确保编码器400和解码器500以下描述的使用相同的参考帧和块来对压缩比特流420进行解码。重构路径执行与以下更详细地讨论的在解码过程期间发生的功能相似的功能,包括在去量化阶段410处的对量化变换系数进行去量化和在逆变换阶段412处的对该去量化变换系数进行逆变换,以产生派生残余块也被称为派生残差。在重构阶段414,能够向派生残差添加在帧内帧间预测阶段402处预测的预测块以创建重构块。能够将环路滤波阶段416应用于重构块以减少失真诸如,块伪像。编码器400的其它变化能够用于对压缩比特流420进行解码。例如,针对某些块或者帧在不需要变换阶段404的情况下,基于非变换的编码器400能够直接对残余信号进行量化。在另一实现方式中,编码器400能够将量化阶段406和去量化阶段410组合成单个阶段。图5是根据本公开的实现方式的解码器500的框图。解码器500能够例如通过提供在存储器204中存储的计算机软件程序被实现在接收站106中。该计算机软件程序能够包括机器指令,这些机器指令在由处理器诸如,CPU202执行时使接收站106以本文所描述的方式来对视频数据进行解码。解码器500还能够被实现在包括在例如,发送站102或者接收站106中的硬件中。与以上讨论的编码器400的重构路径相似,在一个示例中,解码器500包括以下阶段以执行各种功能,以从压缩比特流420产生输出视频流516:熵解码阶段502、去量化阶段504、逆变换级506、帧内帧间预测阶段508、重构阶段510、环路滤波阶段512、和去块滤波阶段514。解码器500的其它结构变化能够被用于对压缩比特流420进行解码。当呈现压缩比特流420以进行解码时,能够通过熵解码阶段502来对压缩比特流420内的数据元素进行解码,以产生一组量化变换系数。去量化阶段504例如,通过将量化变换系数乘以量化器值对量化变换系数进行去量化,并且逆变换阶段506使用所选择的变换类型来对去量化变换系数进行逆变换以产生派生残差,该派生残差能够与通过编码器400中的逆变换阶段412创建的派生残差相同。使用从压缩比特流420解码的报头信息,解码器500能够使用帧内帧间预测阶段508来创建与在编码器400中例如,在帧内帧间预测阶段402创建的预测块相同的预测块。在重构阶段510处,能够向派生残差添加预测块以创建重构块。能够将环路滤波阶段512应用于重构块以减少块伪像。能够向重构块应用其它滤波。在该示例中,将去块滤波阶段514应用于重构块以减少块失真,并且将该结果输出为输出视频流516。该输出视频流516还能够被称为解码视频流,并且这些术语在本文中将可互换使用。解码器500的其它变化能够用于对压缩比特流420进行解码。例如,解码器500在不需要去块滤波阶段514的情况下能够产生输出视频流516。在解码器500的一些实现方式中,在环路滤波阶段512之前应用去块滤波阶段514。附加地或者可替选地,除了环路滤波阶段416之外,编码器400还包括去块滤波阶段。图6是根据本公开的实现方式的使用多级复合预测来对当前块进行编码的过程600的流程图。能够在编码器诸如,图4所示编码器400中实现过程600。例如,过程600能够被实现为能够由计算装置诸如,发送站102执行的软件程序。该软件程序能够包括能够存储在存储器诸如,存储器204或者辅存储装置204中并且能够由处理器诸如,CPU202执行,以使计算装置执行过程600的机器可读指令。在至少一些实现方式中,能够通过图4的编码器400的帧内帧间预测阶段402来全部地或者部分地执行过程600。能够使用专用硬件或者固件来实现过程600。一些计算装置能够具有多个存储器、多个处理器、或两者。能够使用不同的处理器、存储器、或两者来分布过程600的步骤或者操作。以单数形式使用术语“处理器”或者“存储器”囊括具有一个处理器或者一个存储器的计算装置以及具有多个处理器或多个存储器的装置,这些装置能够被使用在执行所叙述的步骤中的一些或所有步骤。在602处,通过组合用于当前块的至少两个预测器块来生成第一复合预测器。形成复合预测器的预测器块在本文中可以被称为组成预测器或组成块。在本文所描述的示例中,第一组成预测器和第二组成预测器中的每一个使用如以上针对编码器400说明的帧内或帧间预测被生成。在604处,过程600还使用帧内预测或帧间预测来生成第二预测器。在606处,过程600组合第一复合预测器和第二预测器,以获得预测块。进一步参照图7和图9至图12的非限制性示例来描述过程600。在图7和图9至图12中,REF_x,MV_x分别指示参考帧和相对应的帧间预测器即,通过帧间预测操作生成的预测块的运动矢量。例如,图7的帧间预测器706被指示为使用或参考参考帧REF_0和运动矢量MV_0。以下针对图8描述参考帧。图7是根据本公开的实现方式的帧间三向预测的图700。图7图示了在2级处产生预测块的两级复合预测。在通过线720指示的0级处,过程600在602处生成至少两个预测器块,在该示例中,即,帧间预测器704和帧间预测器706。过程600使用参考帧缓冲器702的参考帧716来生成帧间预测器704,并且如通过线724示出的那样使用参考帧714来生成帧间预测器706。过程600组合帧间预测器706和帧间预测器704,以生成第一复合预测器块,即,1级复合预测器708。在通过线722指示的1级处,过程600经由604生成帧间预测器710即,第二预测器。在这种情况下,第二预测器是帧间预测器即,使用帧间预测而生成。然而,能够使用帧内预测来生成第二预测器。过程600使用参考帧缓冲器702中的参考帧718来生成帧间预测器710。在606处,过程600组合1级复合预测器708即,第一复合预测器和帧间预测器710即,第二预测器,以获得2级复合预测器712。该2级复合预测器712组成当前块的预测块。在一些示例中,产生在1级或2级或两者处的复合预测器作为两个单独的预测器的像素的加权组合。两个单独的预测器能够符合当前块的尺寸,使得针对同位像素在逐像素的基础上执行组合。可以以各种方式来确定预测器的加权。例如,两个预测器的权重能够分别为w0和1-w0,其中,w0是在0和1之间的值。在一些实现方式中,权重w0能够是12,以及权重1-w0能够是12,从而使得平均化两个预测器中的每个预测器的像素。用于权重w0的其它值是可能的。例如,权重w0能够是在0和16之间的数。处于不同级的加权能够是相同的或者是不同的。作为另一示例,能够使用基于楔形wedge的复合预测。在基于楔形的复合预测中,灵活权重能够适应于当前块的纹理和像素位置。基于楔形的复合预测能够基于能够是直的或者倾斜的即,不是直的一条或多条分割线来将当前块分割成两个或更多个分区。能够使用可用分割线partitionlines的码本。基于楔形的复合预测能够基于可用分割线的码本来分割当前块。能够使用帧间和或帧内预测来单独地对块的每个分区进行预测即,块的每个分区能够具有单独的预测器块。能够组合单独的预测器块以形成具有与根据多条分割线预测的当前块相同的尺寸的复合预测器块。在一条分割线的情况下,将当前块划分成两个分区。能够单独地对当前块的每个分区进行帧间预测或帧内预测,以生成第一预测器块和第二预测器块。复合预测器能够是第一预测器块和第二预测器块的平滑加权或者陡峭加权cliff-weighted组合。是平滑加权复合预测器的复合预测器能够具有跨复合预测块相对平稳地变化的权重,或者能够具有恒定权重即,没有变化的权重。与此相反,陡峭加权复合预测器块能够利用转变区域从第一预测器块到第二预测器块急剧地改变权重,与当前块的大小相比较,该转变区域能够是窄的。码本能够包括一个或多个转变区域,并且权重应用于第一预测器块和第二预测器块。图8是根据本公开的实现方式的参考帧缓冲器800的示例的图。如以上针对帧间预测描述的,用于生成预测块的运动矢量参考即,使用参考帧。能够将参考帧存储在参考帧缓冲器中,诸如,参考帧缓冲器800。能够使用参考帧诸如,“最后一个帧”来对当前帧或者帧的当前块或者区域进行编码,该参考帧是视频序列中紧接在当前帧之前的相邻帧。当无顺序地对视频帧进行编码时即,不以它们出现在视频流中的顺序,能够将来自过往的或未来的视频帧的运动信息包括在候选参考运动矢量中。例如,使用所谓的“替代参考帧”,能够发生对视频帧进行编码,这些“替代参考帧”在时间上与紧接在它们之前或者之后被编码的帧相邻。替代参考帧能够是合成帧,该合成帧不出现在输入视频流中,或者是在用于进行预测的输入视频流中的一个帧的复制帧。在进行解码之后,不可以显示替代帧。这种帧能够类似于在非相邻未来的视频帧。其中可能发生无顺序编码的另一示例是使用所谓的“黄金帧”,该“黄金帧”是可以或者可以不与当前帧相邻并且被存储在存储器中以用作参考帧直到例如,用新的黄金帧被替换的重新构建的视频帧。参考帧缓冲器存储用于对视频序列中的帧的块进行编码或者解码的参考帧。参考帧缓冲器能够包括参考帧,诸如,以上描述的那些参考帧。例如,参考帧缓冲器800能够包括最后一个帧LAST_FRAME802、黄金帧GOLDEN_FRAME804、和替代参考帧ALTREF_FRAME806。参考帧缓冲器能够包括更多的、更少的、或者其它参考帧。参考帧缓冲器800被示出为包括八个参考帧。然而,参考帧缓冲器能够包括多于或者少于八个参考帧。最后一个帧LAST_FRAME802能够是:例如,视频序列中紧接在当前帧之前的相邻帧。黄金帧GOLDEN_FRAME804能够是:例如,用于用作可以或者可以不与当前帧相邻的参考帧的重新构建的视频帧。可替选参考帧ALTREF_FRAME806能够是:例如,在非相邻未来的视频帧,该视频帧是后向参考帧。在参考帧缓冲器800中存储的参考帧能够用于识别运动矢量以便对帧的要对其进行编码或者解码的块进行预测。可以根据用于对当前帧的当前块进行预测的预测的类型来使用不同的参考帧。例如,当使用复合预测时,能够使用多个帧诸如,一个用于前向预测例如,LAST_FRAME802或者GOLDEN_FRAME804,并且一个用于后向预测例如,ALTREF_FRAME806来对当前块进行预测。可以存在能够被存储在参考帧缓冲器800内的有限数目的参考帧。如在图8中示出的,参考帧缓冲器800能够存储多达八个参考帧。虽然参考帧缓冲器800中的八个空间中的三个空间由LAST_FRAME802、GOLDEN_FRAME804和ALTREF_FRAME806使用,但是五个空间保持可用于存储其它参考帧。具体地,除了LAST_FRAME802之外,可以使用参考帧缓冲器800中的一个或多个可用空间来存储倒数第二个帧LAST2_FRAME和或倒数第三个帧LAST3_FRAME作为附加的前向参考帧。除了ALTREF_FRAME806之外,还能够存储后向帧BWDREF_FRAME808作为附加的后向预测参考帧。例如,BWDREF_FRAME能够在相对距离上比ALTREF_FRAME806更接近当前帧。在一个示例中,{LAST_FRAME,BWDREF_FRAME}对能够用于生成用于对当前块进行编码的复合预测器。在该示例中,LAST_FRAME是用于前向预测的“最近”前向参考帧,并且BWDREF_FRAME是用于后向预测的“最近”后向参考帧。基于预测模式来对当前块进行预测。可以从多种帧内预测模式中的一种帧内预测模式中选择预测模式。在帧间预测的情况下,可以使用参考帧缓冲器800中的一个或多个参考帧包括:例如,LAST_FRAME802、GOLDEN_FRAME804、ALTREF_FRAME806或者任何其它参考帧来从多种帧间预测模式中的一种帧间模式中选择预测模式。能够在编码比特流诸如,图4至图5所示压缩比特流420中,从编码器诸如,图4所示编码器400来将当前块的预测模式发送至解码器诸如,图5所示解码器500。在示例中,比特流语法能够支持三类帧间预测模式。这些帧间预测模式能够包括:其中使用来自参考帧内的与当前块相同的位置的块作为预测块的模式在本文中被称为ZERO_MV模式、其中发送运动矢量以指示参考帧内的要用作预测块的块的相对于当前块的位置的模式在本文中被称为NEW_MV模式、或者其中不发送运动矢量并且当前块使用由相邻先前已编码的块使用的最后一个或倒数第二个非零运动矢量来生成预测块的模式在本文中被称为REF_MV模式,并且包括NEAR_MV或NEAREST_MV模式。先前已编码的块可以是在当前块之前以扫描顺序例如,光栅扫描顺序或者其它扫描顺序被编码的那些块。能够与可用参考帧中的任何可用参考帧一起使用帧间预测模式。NEAREST_MV和NEAR_MV您好参考用于当前块的最可能的和第二最可能的运动矢量,该最可能的和第二最可能的运动矢量通过在参考的上下文context中调查运动矢量而获得。参考能够是当前帧中的因果邻居。参考可以是前一帧中的同位运动矢量。图9是根据本公开的实现方式的帧内三向预测的图900。图9图示了两级复合预测的另一示例。在通过线920指示的0级处,过程600在602处生成至少两个预测器块,在该示例中,即,帧内预测器904和帧间预测器906。过程600如通过线924看到的那样使用参考帧缓冲器902中的参考帧914来生成帧间预测器906。参考帧缓冲器902能够是图8的参考帧缓冲器800。过程600组合帧间预测器906和帧内预测器904以生成第一复合预测器,即,1级复合预测器908。在通过线922指示的1级处,过程600在604处生成帧间预测器910即,第二预测器。在该示例中,与图7中一样,第二预测器是帧间预测器。然而,第二预测器能够是帧内预测器。过程600使用参考帧缓冲器902中的参考帧918以及可选地参考帧缓冲器902中的参考帧714来生成如通过虚线926指示的帧间预测器910。在606处,过程600组合1级复合预测器908即,第一复合预测器和帧间预测器910即,第二预测器,以获得2级复合预测器912。该2级复合预测器912组成当前块的预测块。过程600能够如针对图7描述的那样组合帧间预测器906和帧内预测器904。在图示的示例中,权重w0_0、w0_1分别用于帧间预测器906和帧内预测器904。过程600能够如针对图7描述的那样组合1级复合预测器908和帧间预测器910。在图示的示例中,权重w1_0、w1_1分别用于1级复合预测器908和帧间预测器910。权重w0_0、w0_1能够与w1_0、w1_1相同或者不同。注意的是,在该实施例或者其它实施例中,可以使用与用于在1级处组合预测器的技术不同的技术来在0级处组合预测器。图10是根据本公开的实现方式的帧间四向预测的图1000。图10图示了两级复合预测的另一示例。在通过线1016指示的0级处,过程600在602处生成至少两个预测器块,即,帧间预测器1002和帧间预测器1004。过程600使用参考帧缓冲器1028中的参考帧1020来生成帧间预测器1002,并且使用参考帧1022来生成帧间预测器1004。参考帧缓冲器1028能够是图8中的参考帧缓冲器800。过程600例如,使用权重12和12组合帧间预测器1002和帧间预测器1004,以生成第一复合预测器,即,1级复合预测器_1010。在604处,过程600生成第二预测器块。在图10中,过程600在通过线1018指示的1级处通过组合用于当前块的至少两个其它预测器块来生成第二复合预测器。即,第二预测器是1级复合预测器-11012,该1级复合预测器-11012是使用参考帧1024生成的帧间预测器1006和使用参考帧1026生成的帧间预测器1008的例如,使用权重12和12的组合。可替选地,可以使用相同预测器块中的一个或两个。可以使用不同的技术来组合相同的预测器块以生成1级复合预测器_11012。在606处,过程600例如,使用权重12和12组合1级复合预测器_01010即,第一复合预测器和1级复合预测器_11012即,第二预测器,以获得2级复合预测器1014。2级复合预测器1014组成当前块的预测块。图11是根据本公开的实现方式的帧内四向预测的图1100。图11图示了两级复合预测的另一示例。在通过线1116指示的0级处,过程600在602处生成至少两个预测器块,即,帧间预测器1102和帧内预测器1104。在该示例中,过程600使用参考帧缓冲器1128中的参考帧1120来生成帧间预测器1102。参考帧缓冲器1128能够是图8的参考帧缓冲器800。过程600例如,使用权重W0_0和W0_1组合帧间预测器1102和帧内预测器1104,以生成第一复合预测器块,即,1级复合预测器_01110。在604处,过程600在通过线1118指示的1级处生成第二预测器块。在图11中,第二预测器块是复合预测器;即,第二预测器是1级复合预测器-11112,该1级复合预测器-11112是至少两个其它预测器块、使用参考帧1124生成的帧间预测器1106和帧内预测器1108的例如,使用权重W0_2和W0_3的组合。可替选地,可以使用相同预测器块中的一个或两个。可以使用不同的技术来组合相同的预测器块,以生成1级复合预测器_11112。权重W0_0和W0_1以及权重W0_2和W0_3可以是相同的或者是不同的。在606处,过程600组合1级复合预测器_01110即,第一复合预测器和1级复合预测器_11112即,第二预测器,以获得2级复合预测器1114。该2级复合预测器1114组成当前块的预测块。在该示例中,使用权重W1_0和W1_1,该权重W1_0和W1_1可以与权重W0_0和W0_1和或权重W0_2和W0_3相同或者不同。图12是根据本公开的实现方式的多级预测的图1200。图12图示了多级复合预测的示例。在该示例中,在级3处生成3级复合预测器1214。该3级复合预测器1214组成当前块的预测块。在通过线1216指示的0级处,过程600在602处生成至少两个预测器块,即,帧内预测器1206和帧内预测器1207,该帧内预测器1206和帧内预测器1207被组合以形成第一复合预测器,即,1级复合预测器_31212。如在图12的示例中示出的,过程600还能够在1级如通过线1218指示的1级处创建通过组合帧间预测器1202和帧内预测器1203的复合预测器_11210和通过组合帧间预测器1204和帧内预测器1205的1级复合预测器_21211。1级复合预测器1210和1级复合预测器-2被组合以在通过线1220指示的2级处生成复合预测器1213。由于没有将1级复合预测器_31212与任何其它1级预测器块复合地或者其它形式地组合,因此过程600能够向前实行到2级。可替选地,过程600能够在替代1级处的2级处生成1级复合预测器_31212。在604处,过程600能够根据复合预测的若干期望级来生成任何数目的第二预测器。例如,1级复合预测器_11210、1级复合预测器_21211、1级复合预测器_31212、和2级复合预测器1213能够是第二预测器。在606处,过程600获得3级复合预测器1214。如针对图1200图示的是,能够经由多个中间级来完成组合第一复合预测器和第二预测器。因此,过程600能够在多个级中创建当前块的预测块。在0级处,创建一个或多个帧内预测器和或帧间预测器。能够如以上描述的那样组合0级预测器例如,图7所示帧间预测器704和帧间预测器706,以生成一个或多个1级复合预测器例如,图7的1级复合预测器708。能够组合1级复合预测器中的一些1级复合预测器例如,图10的1级复合预测器_01010和1级复合预测器_1,以创建一个或多个2级复合预测器例如,图10的2级复合预测器1014。根据数个期望级,能够在其中x大于0的x级处生成附加的帧间和或帧内预测器例如,图7的帧间预测器710和图9的帧间预测器910。能够将这些附加的帧间和或帧内预测器与x级复合预测器组合,以生成x+1级复合预测器例如,组合1级复合预测器708和帧间预测器710以形成图7的2级复合预测器712。虽然在图7和图9至图12中在不同的级处示出了特定帧间预测器和帧内预测器,但是本公开不限于此。能够在任何级处使用任何帧间预测器、帧内预测器、或帧间预测器和帧内预测器的组合。例如,图7的帧间预测器706能够是帧内预测器,图9的帧间预测器910能够是帧内预测器,图11的帧内预测器1108能够是帧间预测器等。此外,虽然图示了组合两个预测器的复合预测器,但是本公开不限于此。能够通过组合任何数目的帧内预测器、帧间预测器、或者复合预测器来获得复合预测器。组合预测器块的附加的方法能够是可用的。如在本文中或者以其它方式公开的,组合预测器块例如,帧内预测器块或者帧间预测器块诸如,帧间预测器704和帧间预测器706以生成复合预测器、具有另一复合预测器的复合预测器例如,具有图10的1级复合预测器-11012的1级复合预测器_01010,或者具有图12的1级复合预测器_21211的1级复合预测器_11210、具有帧内预测器或帧间预测器的复合预测器例如,图7的1级复合预测器708和帧间预测器710或者其任何组合的各种方法可以是可用的。再次参照图7作为说明性示例,描述了确定用于多级复合预测的预测器的实现方式。能够通过对用于参考帧对的运动矢量进行评估即,搜索直到参考帧对的运动矢量的最佳集合被获得,来获得1级复合预测器708。能够对所有或者少于所有可能的参考帧对进行评估即,搜索。形成运动矢量的集合的一个或多个最佳运动矢量与最佳速率-失真值相对应。速率-失真值是指使失真的量即,视频质量的损失与用于进行编码的速率即,比特的数目平衡的比率。在图7中,将与最佳运动矢量MV_0、MV_1相对应的参考帧确定为参考帧714和716。上述搜索过程还能够针对当前块来识别用于参考帧缓冲器702中的参考帧中的至少一些的NEAREST_MV模式和NEAR_MV模式的运动矢量。对于每个搜索到的参考帧,能够识别最佳运动矢量。能够将用于NEAREST_MV和NEAR_MV的运动矢量以及单个运动矢量添加到当前块的参考运动矢量列表。对于低于0级的级,能够执行新的运动搜索,以确定最佳运动矢量和参考帧,从而生成第二预测器例如,帧间预测器710。可替选地,能够使用来自当前块的参考运动矢量列表的最佳单个运动矢量例如,基于最低速率失真值来生成帧间预测器710。在图7中,参考帧714是最佳单个运动矢量,并且能够使用如通过虚线726指示的参考帧714来生成帧间预测器710。在一些实施例中,可以建立针对下一级使用NEAREST_MV或者NEAR_MV帧间预测模式来生成帧间预测器的本身规则,从而减少了用于对运动矢量信息进行编码的比特的数目。利用任一替代方案即,使用单个运动矢量或者使用NEAREST_MV或者NEAR_MV,不执行新的运动搜索而生成第二预测器,从而减少了复杂性。同样,在生成1级复合预测器708时,能够使用已经识别到即,生成的信息来生成多级复合预测器。过程600能够在编码比特流诸如,图4和图5中的压缩比特流420中对复合预测类型的例如,一个或多个语法元素的指示符进行编码。诸如,图5所示解码器500的解码器能够对指示符进行解码以确定例如要从编码比特流解码的参考帧和运动帧的数目,以便解码器执行多级复合预测,该多级复合预测能够与编码器的运动预测相同。例如,指示符能够识别三向预测类型或者四向预测复合预测类型。四向预测的指示符能够识别到第二预测器是复合预测器。在另一示例中,三向预测的指示符能够识别到第二预测器不是复合预测器。在任一情况下,指示符都能够带有通过过程600被编码到比特流中的语法元素,或者在过程600完成之后,指示符指示解码器要执行的多级复合预测的级的数目以及预测器中的每个预测器的预测模式。例如,并且参照图12,编码器能够经由语法元素来指示复合预测的三个级,并且在1级处,三个复合预测器将被生成:第一个是帧间-帧内复合预测器,第二个是帧间-帧内复合预测器,并且第三个是帧内-帧内复合预测器。编码器能够对能够由解码器使用的附加信息进行编码。这种信息能够包括用于预测器的帧内预测模式的标识符和或运动矢量的标识符以及帧间预测参考帧,所述预测器形成了用于对当前块进行编码的预测块。与现有技术相比较,多级复合预测能够在编码比特流中产生对附加比特进行编码以生成预测块。这能够由于需要对识别多个参考帧、多个运动矢量、和或多种帧内预测模式的语法元素进行编码而发生。附加比特能够胜过使用多级复合预测的压缩益处。多级复合预测的实现方式能够包括在维持合理水平的编码器和解码器复杂性的同时减少比特率开销的步骤或技术。在减少比特率开销的示例中,在其中,x0的级x处对帧间预测器执行新运动矢量并且对该新运动矢量进行编码,编码器和解码器两者能够使用参考帧的REF_MV模式来获得帧间预测器。进一步的语法能够指定NEAREST_MV或者NEAR_MV是否将要用于帧间预测。同样,不需要向编码比特流写入运动矢量以在级x其中,x0进行帧间预测。在减少比特率开销的另一示例中,在多级复合预测中的所有帧间预测可以使用单帧间预测模式。例如,指示多级复合预测中的所有帧间预测例如,当存在用于多级复合预测的指示符时使用NEAREST_MV模式的编码器能够用信号发送特定模式。还可以通过更有效地对附加运动矢量进行编码来帮助减少比特率开销。在对例如用于多级复合预测的第三运动矢量或者第四运动矢量例如,与图7中的帧间预测器710相对应的运动矢量或者与图10中帧间预测器1006和1008相对应的运动矢量进行编码的时间之前,已知第一复合预测器的运动矢量例如,与图7的帧间预测器704和706相对应的运动矢量或者与图10的帧间预测器1002和1004相对应的运动矢量。如以上顺便提到的,能够将第一复合预测器的运动矢量添加到候选参考运动矢量的参考运动矢量列表。这些运动矢量可以比NEAREST_MV或者NEAR_MV为对第三运动矢量和或第四运动矢量进行编码提供更好的运动矢量参考。在这种运动矢量为编码提供更好的运动矢量参考的情况下,能够产生对第三运动矢量和或第四运动矢量进行更有效地编码。通过改进所使用的上下文,能够更有效地对参考帧进行编码,从而减少了比特率开销。在熵编码中例如,在熵编码阶段408或熵解码阶段502处,可以使用上下文模型也被称为概率上下文模型或者概率模型,该上下文模型提供对用于对表示变换系数的符号进行编码的条件概率的估计。先前已编码的数据能够用作上下文用于选择以对当前块进行编码的上下文模型。例如,当第三参考帧与第一复合预测器的两个参考帧中的任何一个参考帧相同时,编码器能够应用特定上下文。作为另一示例,编码器能够基于由第一复合预测器使用的参考帧和与第三运动矢量和或第四运动矢量相对应的第三参考帧和或第四参考帧来用信号发送特定模式。例如,当第一复合预测器的参考帧对是特殊模式例如,{LAST_FRAME,BWDREF_FRAME}并且第三参考帧是LAST_FRAME时,编码器就能够经由语法元素来用信号发送,并且不需要对参考标识符进行编码。图13是根据本公开的实现方式的使用多级复合预测来对当前块进行解码的过程1300的流程图。可以通过解码器来执行过程1300。例如,能够通过解码器500的帧内帧间预测阶段508来全部地或者部分地执行过程1300。能够在图4中的编码器400的通过虚线连接线示出的重构路径期间全部地或部分地执行过程1300。例如,能够通过将指令存储在存储器诸如,接收站106或者发送站102的存储器204中以由诸如CPU202的处理器执行来执行过程1300的实现方式。能够使用专用硬件或者固件来实现过程1300。一些计算装置能够具有多个存储器、多个处理器、或者两者。能够使用不同的处理器、存储器、或者两者来分布过程1300的步骤或操作。为了简化说明,将过程1300描绘和描述为一系列步骤或者操作。然而,根据本公开的教导可以以各种顺序和或同时发生。此外,根据本公开的步骤可以与本文未呈现和描述的其它步骤一起发生。此外,并非所有图示的步骤或者操作都可以用于实现根据所公开的主题的方法。在1302处,过程1300根据编码比特流来对识别到使用多级复合预测来对当前块进行编码的指示符进行解码。该指示符能够是引导解码器使用多级复合预测来生成用于当前块的预测块的一个或多个语法元素。例如,可以根据帧头、片报头、或块报头来对指示符进行解码。在一些情况下,指示符可以包括报头之间的语法划分。例如,帧级指示符可以使用多级复合预测来识别帧中的至少一些块,而块级指示符识别多级复合预测的类型以及用于当前块的组成预测器块的帧间预测模式和或帧内预测模式。还可以包括运动矢量和参考帧信息。在1304处,过程1300通过组合用于当前块的至少两个预测器块来生成用于当前块的第一复合预测器。例如,指示符能够包括识别用于预测器块中的每个预测器块的一个或多个参考帧和相对应的运动矢量、一个或多个帧内预测模式、或者其任何组合的语法。基于该信息,过程1300能够通过首先生成组成预测器并且将它们组合以基于由编码器使用的组合技术诸如,权重形成第一复合预测器来产生第一复合预测器诸如,图7的1级复合预测器708、图9的1级复合预测器908、图10的1级复合预测器_01010、图11的1级复合预测器_01110等。能够在编码器和解码器之间先验地决定组合技术,或者能够从编码器用信号发送组合技术以由解码器进行解码和使用。在1306处,过程1300生成用于当前块的第二预测器。例如,指示符可以针对第二预测器识别帧内预测模式或者帧间预测模式。过程1300使用识别到的预测模式来生成第二预测器。指示符可以通过在编码比特流中包括参考帧和或运动矢量来识别第二预测器是帧间预测的。在一些情况下,指示符识别到第二预测器是复合预测器。即,通过组合至少两个预测器块来生成第二预测器。如果是这样,则过程1300在1306处能够根据编码比特流来确定帧间预测模式和或使用的帧间预测模式,并且在将它们组合之后生成组成预测器块以形成第二预测器。可以通过在编码器和解码器之间的先验决定、从编码器向解码器用信号发送的信息来执行该组合。在一些实现方式中,在编码比特流中包括指示符能够指示在一个或多个级中对每个帧间预测的预测器块使用NEAREST_MV。同样,解码器不针对这些块接收单独的运动矢量编码模式。附加地或可替选地,可以实现先验规则,该先验规则允许解码器基于用于1级预测器的一个或多个参考帧来确定用于2级预测器的参考帧。在1308处,过程1300组合第一复合预测器和第二预测器,以获得用于对当前块进行解码的预测块。以与编码器处的组合的方式相同的方式来进行该组合。以上描述的编码和解码的各个方面说明了一些编码和解码技术。然而,将理解的是,编码和解码如在权利要求书中使用的那些术语可以意旨对数据的压缩、解压缩、变换或者任何其它处理或者改变。本文使用词语“示例”或者“实现方式”来意旨用作示例、实例、或者说明。在本文中被描述为“示例”或者“实现方式”的任何方面或设计都不必被解释为优先于或者优于其它方面或设计。相反,使用词语“示例”或者“实现方式”旨在具体地呈现构思。如在本申请中使用的,术语“或者”旨在表示包容性的“或者”而不是排斥性的“或者”。即,除非另有说明,否则通过上下文清楚的是:“X包括A或者B”旨在表示任何自然的包容性置换。即,如果X包括A;X包括B;或者X包括A和B,则在前述实例中的任何实例下,都满足“X包括A或者B”。另外,如在本申请和随附权利要求书中所使用的冠词“一”和“一个”应当被一般地解释为表示“一个或多个”,除非另有说明或者从上下文中明确得知其是指单数形式。此外,贯穿全文,对术语“实现方式”或者“一种实现方式”的使用不旨在意旨相同的实施例或者实现方式,除非如此描述。能够在硬件、软件、或者其任何组合中实现发送站102和或接收站106的实现方式以及存储在发送站102和或接收站106上和或由此包括由编码器400和解码器500执行的算法、方法、指令等。硬件能够包括:例如,计算机、知识产权IP核心、专用集成电路ASIC、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器、或者任何其它合适的电路。在权利要求书中,术语“处理器”应当被理解为单独地或者组合地囊括前述硬件中的任何硬件。术语“信号”和“数据”可互换使用。进一步地,不一定必须以相同的方式来实现发送站102和接收站106的部分。进一步地,在一个方面中,例如,能够使用具有计算机程序的计算机或处理器来实现发送站102或接收站106,该计算机程序在被执行时实施本文所描述的相应方法、算法和或指令中的任何相应方法、算法和或指令。附加地或可替选地,例如,能够利用专用计算机处理器,该专用计算机处理器能够含有用于实行本文所描述的方法、算法、或者指令中的任何方法、算法或者指令的其它硬件。例如,发送站102和接收站106能够被实现在视频会议系统中的计算机上。可替选地,发送站102能够被实现在服务器上,并且接收站106能够被实现在与服务器分离开的装置上,诸如,手持通信装置。在该实例中,发送站102能够使用编码器400来将内容编码成编码视频信号,并且将已编码的视频信号发送至通信装置。接着,通信装置然后能够使用解码器500来对已编码的视频信号进行解码。可替选地,通信装置能够在通信装置上对本地存储的内容进行解码,例如,不是由发送站102发送的内容。其它发送站102和接收站106实施方式是可用的。例如,接收站106能够是通常是固定的个人计算机而不是便携式通信装置,和或包括编码器400的装置也可以包括解码器500。进一步地,本公开的全部或者部分实现方式可以采取可通过例如,有形计算机可用或者计算机可读介质访问的计算机程序产品的形式。计算机可用或者计算机可读介质能够是能够例如,有形地包括、存储、传送或者传输程序以供任何处理器使用或者以便与任何处理器连接的任何装置。介质能够是:例如,电子器件、磁器件、光学器件、电磁器件或者半导体器件。其它合适的介质也是可用的。已经描述了上述实施例、实现方式和方面以使得容易理解本公开,但是不限制本公开。相反,本公开旨在涵盖包括在随附权利要求书的范围内的各种修改和等效布置,随附权利要求书的范围应当被赋予最广泛的解释以囊括法律允许的所有这种修改和等效结构。

权利要求:1.一种用于对当前块进行编译的方法,包括:通过组合用于所述当前块的至少两个预测器块来生成第一复合预测器;生成用于所述当前块的第二预测器;以及组合所述第一复合预测器和所述第二预测器,以获得用于对所述当前块进行编译的预测块。2.根据权利要求1所述的方法,其中,所述第二预测器是第二复合预测器并且生成所述第二预测器包括:通过组合用于所述当前块的至少两个其它预测器块来生成所述第二复合预测器。3.根据权利要求1或2所述的方法,其中,生成所述第二预测器包括:使用帧间预测来生成所述第二预测器。4.根据权利要求3所述的方法,其中,生成所述第二预测器包括:使用NEAREST_MV来对所述当前块进行帧间预测。5.根据权利要求1所述的方法,其中,生成所述第二预测器包括:使用帧内预测来生成所述第二预测器。6.根据前述权利要求中的任意一项所述的方法,其中,所述至少两个预测器块包括第一组成预测器和第二组成预测器,生成所述第一复合预测器包括:平均化所述第一组成预测器与所述第二组成预测器的像素,以及组合所述第一复合预测器和所述第二预测器包括:平均化所述第一复合预测器和所述第二预测器的像素,以获得所述预测块。7.根据前述权利要求中的任意一项所述的方法,其进一步包括:在编码比特流中对识别所述第二预测器是否是复合预测器的指示符进行编码。8.根据前述权利要求中的任意一项所述的方法,其进一步包括:使用帧间预测来生成所述至少两个预测器块中的每个预测器块。9.一种用于对当前块进行编码的设备,所述设备包括:存储器;以及处理器,所述处理器被配置为执行在所述存储器中存储的指令以:通过组合用于所述当前块的至少两个预测器块来生成第一复合预测器;生成用于所述当前块的第二预测器;以及组合所述第一复合预测器和所述第二预测器,以获得用于对所述当前块进行编码的预测块。10.根据权利要求9所述的设备,其中,用于生成所述第二预测器的所述指令进一步包括用于以下的指令:通过组合用于所述当前块的至少两个其它预测器块来生成第二复合预测器。11.根据权利要求10所述的设备,其中,所述至少两个其它预测器块包括使用帧内预测生成的第一组成预测器和使用帧间预测生成的第二组成预测器。12.根据权利要求9至11中的任意一项所述的设备,其中,用于生成所述第二预测器的所述指令包括用于以下的指令:通过使用NEAREST_MV对所述当前块进行帧间预测来生成所述第二预测器。13.根据权利要求9所述的设备,其中,所述第二预测器是帧内预测器。14.根据权利要求9至13中的任意一项所述的设备,其中,所述至少两个预测器块包括第一组成预测器和第二组成预测器,所述第一组成预测器是在对所述当前块进行帧间预测时使用第一相邻帧作为参考帧来生成的,并且所述第二组成预测器是在对所述当前块进行帧间预测时使用第二相邻帧来生成的,所述第一相邻帧在所述视频序列中紧接在定位在其中的所述当前块的当前帧之前,并且所述第二相邻帧在所述视频序列中紧接在所述第一相邻帧之前,以及所述第二预测器是在对所述当前块进行帧间预测时使用所述第一相邻帧作为参考帧来生成的。15.一种用于对当前块进行解码的设备,所述设备包括:存储器;以及处理器,所述处理器被配置为执行在所述存储器中存储的指令以:根据编码比特流,来对识别使用多级复合预测来对所述当前块进行编码的指示符进行解码;通过组合用于所述当前块的至少两个预测器块来生成第一复合预测器;生成用于所述当前块的第二预测器;以及组合所述第一复合预测器和所述第二预测器,以获得用于对所述当前块进行解码的预测块。16.根据权利要求15所述的设备,其中,所述指示符识别所述第二预测器是否是复合预测器块。17.根据权利要求15或16所述的设备,其中,用于组合所述第一复合预测器和所述第二预测器的所述指令包括用于以下的指令:平均化所述第一复合预测器和所述第二预测器的同位像素,以获得所述预测块。18.根据权利要求15至17中的任意一项所述的设备,其中,所述指示符识别用于所述至少两个预测器块中的每个预测器块的预测模式。19.根据权利要求18所述的设备,其中,所述至少两个预测器块包括第一帧间预测器和第二帧间预测器,并且其中,所述指令包括用于以下的指令:对所述第一帧间预测器、所述第二帧间预测器和所述第二预测器中的每一个使用相同的帧间预测模式。20.根据权利要求15至19中的任意一项所述的设备,其中,用于生成所述第一复合预测器的所述指令包括用于以下的指令:平均化所述至少两个预测器块的同位像素,以生成所述第一复合预测器。21.一种包括指令的计算机程序产品,所述指令在由计算机执行时使所述计算机实行根据权利要求1至8中的任意一项所述的方法。

百度查询: 谷歌有限责任公司 多级复合预测

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。