运动矢量预测设计简化的制作方法

文档序号:7990891阅读:217来源:国知局
运动矢量预测设计简化的制作方法
【专利摘要】在一个实施例中,一种方法接收视频内容的单元。视频内容的所述单元在双预测模式下被代码化。确定用于所述单元的第一运动矢量的运动矢量预测器候选集合。所述方法然后根据用于所述第一运动矢量的所述运动矢量预测候选集合来确定第一运动矢量预测器,并且计算用于视频内容的所述单元的第二运动矢量的第二运动矢量预测器。所述第二运动矢量预测器基于所述第一运动矢量或所述第一运动矢量预测器被计算。
【专利说明】运动矢量预测设计简化
[0001]相关申请的交叉引用
[0002]本申请要求下列的优先权:
[0003]2011 年7 月 I 日提交的“Method for Simplification of MVP Design for HEVC”的美国临时申请N0.61/504,085 ;
[0004]2011年 7 月 18 日提交的 “Simplification of MVP Design for HEVC” 的美国临时申请 N0.61/508,844 ;
[0005]2011 年 11 月 8 日提交的 “Simplification of MVP Design for HEVC” 的美国临时申请N0.61/557,411 ;以及
[0006]2011 年 11 月 9 日提交的“Parallel Friendly MVP Candidate Calculation forHEVC”的美国临时申请N0.61/557,418,其全部的内容通过引用整体地结合在本文中。
【背景技术】
[0007]运动矢量预测设计
[0008]视频压缩系统对于大多数压缩操作采用块处理。块是一组相邻像素并且可以在压缩操作方面被视为一个代码化单元。理论上,较大的代码化单元被优选来利用中间相邻像素之间的相关性。例如运动图像专家组(MPEG)-l、MPEG-2以及MPEG-4的各种视频压缩标准使用4x4、8x8以及16x16的块尺寸(被称为宏块(MB))。
[0009]高效率视频代码化(HEVC)也是基于块的混合空间和时间预测性代码化方案。HEVC将输入图像分割成如图1中所示出被称为最大代码化单元(LCU)的方形块。不像现有代码化标准,LCU能够和128x128个像素一样大。每个LCU能够被分割成称作代码化单元(⑶)的较小方形块。图2示出了⑶的IXU分割的示例。IXU100被首先分割成四个⑶102。每个⑶102还可以被进一步分成为是⑶102的尺寸的四分之一的四个较小的⑶102。能够基于特定准则重复这个分割过程,诸如可以强加对⑶能够被分割的次数的限制。如图所示,⑶102-1、102-3以及102-4是IXU100的尺寸的四分之一。另外,⑶102-2已被分成四个CU102-5、102-6、102-7 以及 102-8。
[0010]每个⑶102可以包括一个或多个预测单元(PU)。图3示出了 PU的⑶分割的示例。PU可以被用来执行空间预测或时间预测。CU能够在空间上或时间上被预测性代码化。如果CU在帧内模式下被代码化,则CU的每个PU都能够具有它自己的空间预测方向。如果CU在帧间模式下被代码化,则CU的每个PU都能够具有它自己的(一个或多个)运动矢量和(一个或多个)关联参考图像。
[0011]在HEVC中,运动矢量(MV)被预测性地代码化。对于具有一个当前运动矢量和关联参考索引的当前W,运动矢量预测器(MVP)从当前PU的空间上相邻或时间上共址的PU的运动矢量推导出。当前运动矢量与MVP之间的差然后被确定和代码化。这降低开销,因为仅所述差被发送而不是当前运动矢量的信息。
[0012]先进运动矢量预测(AMVP)提出从MVP的候选集合中为当前运动矢量选择最好的MVP。用于当前I3U的当前运动矢量的MVP的候选集合由空间相邻和共址的I3U的运动矢量组成。可以通过去除复制的MVP候选来降低MVP的候选集合。可以在比特流中发射指示所选MVP候选的索引mvpldx以便指示所选MVP。
[0013]在双预测模式下,当前I3U可以具有两个运动矢量,用于参考列表O的运动矢量MVO以及用于参考列表I的运动矢量MVl。由两个运动矢量MVO和MVl所指向的对应参考图像分别由参考列表O和参考列表I来索引。为了对两个运动矢量进行代码化,两个MVP候选集合被首先形成。一个候选集合用于列表O运动矢量并且另一个候选集合用于列表I运动矢量。上面所描述的相同程序适用于为运动矢量MVO和MVl找到最好的MVP。因此,两个候选列表的两个搜索被执行。针对两个列表的两个MVP的确定增加计算过程。然后,还可以在比特流中发射两个MVP索引,这增加开销。
[0014]针对PU的MVP的并行处理
[0015]当前PU的运动矢量预测器(MVP)从当前I3U的空间和时间(布置的)相邻块的运动矢量(MV)推导出。
[0016]图13A和13B示出了两个示例,其中在(a)中,⑶包含相同尺寸的仅一个PU,以及在(b)中,CU具有两个非方形PU(PU0和PUl)。在一些示例中,用于当前I3U的空间相邻块可以或者可以不在当前PU块所驻留的相同CU中。在图13A中,当前PU的所有空间相邻块(用对角线示出)在当前CU之外。另一方面,在图13B中,用于PUO的空间相邻块全部在当前⑶外面。但是,用于PUl的左侧空间相邻块是TOO,PUO是在相同的当前⑶内部。
[0017]图14A和14B示出了其中⑶包括两个PU的两个示例。在图14A中,右侧PU (PUl)将左侧PU(PUO)用作为左侧空间邻居中的一个,并且在图14B,底部PU(PUl)将顶部PU(PUO)用作为上面的空间邻居中的一个。结果,CU内的两个PU不能够被并行处理;S卩,在PUl能够启动它自己的MVP推导之前PUl必须等待PUO完成运动矢量推导。
[0018]而且,用于编码可能的候选集合的固定顺序被使用。用于左侧空间邻居的索引号总是小于用于上面的空间邻居的索引号,而不论PU分割的种类如何。这对于一些特定分割来说可能导致差的代码化性能。

【发明内容】

[0019]在一个实施例中,一种方法接收视频内容的单元。视频内容的单元在双预测模式下被代码化。确定用于单元的第一运动矢量的运动矢量预测器候选集合。所述方法然后根据用于第一运动矢量的运动矢量预测候选集合来确定第一运动矢量预测器,并且计算用于视频内容的单元的第二运动矢量的第二运动矢量预测器。所述第二运动矢量预测器基于第一运动矢量或第一运动矢量预测器被计算。
[0020]在一个实施例中,一种方法被提供,所述方法包括:接收视频内容的第一单元;接收视频内容的第二单元,其中视频内容的第一单元和视频内容的第二单元是在视频内容的第三单元内;由计算装置来确定用于视频内容的第一单元的第一运动矢量的第一运动矢量预测器;由计算装置根据视频内容的第一单元的第一运动矢量预测器或第一运动矢量来计算用于视频内容的第二单元的第一运动矢量预测器。
[0021]在一个实施例中,一种设备被提供,所述设备包括:一个或多个计算机处理器;以及包括指令的计算机可读存储介质,所述指令当被执行时,控制一个或多个计算机处理器操作用于:接收视频内容的单元,其中视频内容的单元在双预测模式下被代码化;确定用于单元的第一运动矢量的运动矢量预测器候选集合;根据用于第一运动矢量的运动矢量预测候选集合来确定第一运动矢量预测器;以及计算用于的视频内容的单元第二运动矢量的第二运动矢量预测器,所述第二运动矢量预测器基于第一运动矢量或第一运动矢量预测器被计算。
[0022]在一个实施例中,一种设备被提供,所述设备包括:一个或多个计算机处理器;以及包括指令的计算机可读存储介质,所述指令当被执行时,控制一个或多个计算机处理器操作用于:接收视频内容的第一单元;接收视频内容的第二单元,其中视频内容的第一单元和视频内容的第二单元是在视频内容的第三单元内;由计算装置来确定用于视频内容的第一单元的第一运动矢量的第一运动矢量预测器;由计算装置根据视频内容的第一单元的第一运动矢量预测器或第一运动矢量来计算用于视频内容的第二单元的第一运动矢量预测器。
[0023]以下【具体实施方式】和附图提供对特定实施例的本质和优点的更好理解。
【专利附图】

【附图说明】
[0024]图1示出了被分割成称为最大代码化单元(LCU)的方形块的输入图像。
[0025]图2示出了⑶的IXU分割的示例。
[0026]图3示出了 PU的⑶分割的示例。
[0027]图4描绘了根据一个实施例用于编码和解码视频内容的系统的示例。
[0028]图5示出了根据一个实施例其中运动矢量MVO和MVl两者都指向过去的参考图像的示例。
[0029]图6示出了根据一个实施例其中运动矢量MVO指向过去的参考图像并且运动矢量MVl指向将来的参考图像的另一示例。
[0030]图7示出了根据一个实施例其中运动矢量MVO和MVl指向过去的参考图像的示例。
[0031]图8示出了根据一个实施例其中运动矢量MVO指向过去的参考图像并且运动矢量MVl指向将来的参考图像的第二示例。
[0032]图9描绘了根据一个实施例用于确定第二运动矢量预测器的方法的简化流程图。
[0033]图1OA和图1OB描绘了根据一个实施例基于其中多个PU存在于⑶内的第一 I3U的信息来计算第二 I3U的第一和第二运动矢量预测器MVP_listO或/和MVP_listl的示例。
[0034]图11描绘了根据一个实施例用于当在代码化单元中找到两个I3U时确定MVP的方法的简化流程图。
[0035]图12A描绘了根据一个实施例的编码器的示例。
[0036]图12B描绘了根据一个实施例的解码器的示例。
[0037]图13A和13B示出了两个示例,其中在(a)中,⑶包含相同尺寸的仅一个PU,以及在(b)中,CU具有两个非方形PU (PU0和PUl)。
[0038]图14A和14B示出了其中⑶包括两个I3U的两个示例。
[0039]图15A和15B描绘了根据一个实施例用作候选的块的不例。
【具体实施方式】[0040]本文中所描述的是用于视频压缩系统的技术。在以下描述中,出于解释的目的,许多示例和特定细节被阐述以便提供对特定实施例的彻底理解。如由权利要求书所限定的特定实施例可以单独或者与在下面所描述的其它特征相结合地包括这些示例中的特征中的一些或全部,并且可以进一步包括本文中所描述的特征和构思的修改和等同物。
[0041]运动矢量预测设计
[0042]图4描绘了根据一个实施例用于编码和解码视频内容的系统400的示例。编码器402包括运动矢量预测器(MVP)管理器406-1并且解码器404包括MVP管理器406-2。MVP管理器406执行运动矢量预测以便为诸如PU或其它块尺寸的视频内容的单元确定MVP。在一个实施例中,MVP管理器406为PU确定两个运动矢量预测器。用于当前图像(例如,PU)的运动矢量MVO和MVl指向由第一参考列表O和第二参考列表I所索引的两个参考图像(或块)。
[0043]特定实施例从另一运动矢量或另一运动矢量预测器推导出第二运动矢量预测器。例如,MVP管理器406首先为运动矢量MVO获得第一运动矢量预测器MVP_listO。这可以像上面所描述的那样通过为相邻PU和共址的确定运动矢量来计算。应该注意的是,讨论将描述如被首先获得的第一运动矢量预测器MVP_listO,但可以首先获得第二运动矢量预测器MVP_listl。在获得第一运动矢量预测器MVP_listO之后,MVP管理器406根据运动矢量MVO或第一运动矢量预测器MVP_listO来计算第二运动矢量预测器MVP_listl。例如,如将在下面所描述的,调节被用来计算第二运动矢量预测器MVP_listl。调节可以是基于诸如时间距离或图像顺序计数(POC)的不同特性的。
[0044]在一个实施例中,MVP管理器406为运动矢量MVO确定MVP候选集合。MVP候选集合可以使用用于相邻I3U和共址的I3U的运动矢量来确定。MVP管理器406然后从MVP候选集合中为运动矢量MVO选择最好的MVP候选、第一运动矢量预测器MVP_listO以及对应的索引mVpIdX_listO。用于当前运动矢量MVO的参考被用来标识哪一个邻居(空间或时间邻居)PU被选择为第一运动矢量预测器MVP_listO。在一个实施例中,如果运动矢量MVO的参考列表O与mvpldx_list0不同,则第一运动矢量预测器MVP_listO也被调节,使得第一运动矢量预测器MVP_listO像运动矢量MVO所做的那样指向相同的参考图像。第一运动矢量预测器MVP_listO在下面将被假定它已经被调节了。一旦邻居被选择,则用于该邻居PU的参考也是已知的。因此,mvpldx_list0从当前PU的信息推导出。
[0045]MVP管理器406然后根据运动矢量MVO或第一运动矢量预测器MVP_listO为运动矢量MVl计算第二 MVP候选、第二运动矢量预测器MVP_listl。该计算被执行而不是从候选集合中进行选择。
[0046]时间距离
[0047]在一个实施例中,MVP管理器406-1使用时间距离来计算用于运动矢量MVl的第二运动矢量预测器MVP_listl。第一时间距离TRl是在当前图像与由运动矢量MVO所指向的参考图像之间。第二时间距离TR2是在当前图像与由运动矢量MVl所指向的参考图像之间。用于运动矢量MVl的第二运动矢量预测器MVP_listl根据运动矢量MVO被计算。例如,下列的可以被用来计算第二运动矢量预测器MVP_list如下:
[0048]MVP_listl=(正负号)(TR2/TR1)*MV0
[0049]其中如果运动矢量MVO和运动矢量MVl两者都指向过去或将来,则正负号是正的(+),或否则,正负号是负的(_)。使用正负号的原因是因为运动矢量MVO和MVl可以指在相反方向上,并且因此负号需要被应用于调节。
[0050]图5示出了根据一个实施例其中运动矢量MVO和MVl两者都指向过去的参考图像的示例。当前图像502包括正被编码的PU。当前图像502连同第一参考图像504-1和第二参考图像504-2 —起被示出。与当前图像502相比参考图像504-1和504-2是在过去(具有较低显示顺序)。时间间隔被示出为TRl=O和TR2=8。这可以指示参考图像504-1是过去的四个图像并且参考图像504-2是过去的八个图像。还可以测量其它时间距离。
[0051]用于运动矢量MVl的第二运动矢量预测器MVP_listl可以被计算为:
[0052]MVP_listl=(TR2/TR1)*MV0=(8/4)*MV0=MV0〈〈1
[0053]在这种情况下,第二运动矢量预测器MVP_listl基于8/4的时间距离比值*运动矢量MVO被计算。运动矢量MVO的调节被使用,使得第二运动矢量预测器MVP_listl被示出为指向参考图像504-2。运动矢量MVl与第二运动矢量预测器MVP_listl之间的差然后能够被计算和代码化。
[0054]图6示出了根据一个实施例其中运动矢量MVO指向过去的参考图像并且运动矢量MVl指向将来的参考图像的另一示例。时间差TRl是4个图像的间隔,并且时间距离TR2是8个图像的间隔。
[0055]用于运动矢量MVl的第二运动矢量预测器MVP_listl能够被确定如下:
[0056]MVP_listl=- (TR2/TR1) *MV0=_ (8/4) *MV0=_ (MV0?1)
[0057]在这种情况下,·第二运动矢量预测器MVP_listl等于运动矢量MVO的调节的负数。这是因为运动矢量MVl指向将来的参考图像而不是过去的参考图像。如图所示,运动矢量MVO的调节被使用使得第二运动矢量预测器MVP_listl指向参考图像504-2。在使用第一运动矢量MVO来计算第二运动矢量预测器MVP_listl时,降低了计算复杂性。
[0058]因为第一运动矢量预测器MVP_listO在编码器402和解码器404两者处是可用的,所以可以使用第一运动矢量预测器MVP_listO而不是运动矢量MVO来计算第二运动矢量预测器MVP_listl。下列的可以被用来计算第二运动矢量预测器MVP_listl如下:
[0059]MVP_listl=(正负号)(TR2/TRl)*MVP_listO
[0060]其中TRl是当前图像与由运动矢量MVO所指向的参考图像之间的时间距离(在一个示例中,第一运动矢量预测器MVP_listO已经通过使用运动矢量MVO的参考索引而被归一化了。换句话说,运动矢量MVO和第一运动矢量预测器MVP_listO指向相同的参考图像),并且TR2是当前图像与由运动矢量MVl所指向的参考图像之间的时间距离。如果第一运动矢量预测器MVP_listO和运动矢量MVl指向过去或将来,则正负号是正的。否则,正负号是负的。在使用第一运动矢量预测器MVP_listO来计算第二运动矢量预测器MVP_listl时,降低了计算复杂性。
[0061]因此,第二运动矢量预测器MVP_listl根据运动矢量MVO或第一运动矢量预测器MVP_listO被计算而不是从MVP候选集合中选择MVP候选。因此,不存在针对第二列表来代码化和发送MVP索引所需要的开销,这导致比特的节约。而且,无需实现MVP选择程序来确定第二 MVP候选MVP_listl。结果,与对于列表1使用MVP选择程序相比,特定实施例的复杂性被降低了一半。
[0062]当编码器402对当前PU的比特流编码时,MVP管理器406_1使用在针对第一运动矢量预测器MVP_listO的比特流中发送的索引来确定第一运动矢量预测器MVP_listO。然后,MVP管理器406-1可以计算第二运动矢量预测器MVP_listl。例如,MVP管理器406-1可以使用上面所描述的方法来计算第二运动矢量预测器MVP_listl。编码器402然后确定第一运动矢量MVO与第一运动矢量预测器MVP_listO以及第二运动矢量MVl与第二运动矢量预测器MVP_listl之间的差。编码器402然后在比特流中将所述差发送到解码器404。
[0063]当解码器404对当前PU的比特流解码时,MVP管理器406_2使用在针对第一运动矢量预测器MVP_listO的比特流中发送的索引来确定第一运动矢量预测器MVP_listO。然后,MVP管理器406-2可以计算第二运动矢量预测器MVP_listl。例如,MVP管理器406-2可以使用上面所描述的方法来计算第二运动矢量预测器MVP_listl。解码器404然后使用在比特流中使用第一运动矢量预测器MVP_listO所发送的差来确定第一运动矢量MV0,并且使用在比特流中使用经计算的运动矢量预测器MVP_listl所发送的差来确定第二运动矢量MV1。第二运动矢量预测器MVP_listl可以是根据第一运动矢量MVO或第一运动矢量预测器MVP_listO所计算的调节的版本。然后可以在时间预测过程中使用运动矢量MVO和MVl。
[0064]可以使用用于计算第二运动矢量预测器MVP_listl的其它示例。还可以使用其它等式。例如,可以使用下列的:
[0065]MVP_1istl=MVP0
[0066]MVP_listl=MVP_listO
[0067]还可以使用其它等式。编码器402和解码器404可以选择被使用的计算方法。例如,一个PU可以使用调节而另一 I3U可以使用等式MVP_1 iSt I=MVPO。
[0068]使用POC的MVP候选计算
[0069]在一个实施例中,图像顺序计数(POC)可以被用来为运动矢量MVl推导出第二运动矢量预测器MVP_listl。对于给定PU,用于当前图像和参考图像的POC分别可以是poc_curr>poc_ref_listO以及poc_ref_listl。当前图像与由第一参考列表ref_list0所索引的参考图像之间的POC差diff_poc_curr_listO如下:
[0070]diff_poc_curr_li stO=poc_curr-poc_ref_listO
[0071]其中diff_poc_curr_listO是当前POC与列表O中第一参考图像的POC之间的差。
[0072]类似地,当前图像与由第二参考列表ref_l iSt I所索引的参考图像之间的POC差diff_poc_curr_listl 被定义如下:
[0073]diff_poc_curr_li stl=poc_curr-poc_ref_listl
[0074]其中diff_poc_curr_listl是当前图像的POC与列表I中第二参考图像的POC之间的差。
[0075]特定实施例通过调节运动矢量MVO来确定用于运动矢量MVl的第二运动矢量预测器MVP_listl。示例计算可以是如下:
[0076]MVP_listl=(diff_poc_curr_listl/diff_poc_curr_listO)*MV0
[0077]图7示出了根据一个实施例其中运动矢量MVO和MVl指向过去的参考图像的示例。在图7中,当前图像502具有8的P0C。运动矢量MVO指向具有4的POC的参考图像504-1,并且运动矢量MVl指向具有O的POC的参考图像504-2。用于运动矢量MVl的第二运动矢量预测器MVP_listl被计算为:[0078]MVP_1 i st 1= ((8-0) / (8-4)) MV0=MV0?1
[0079]运动矢量MVO的调节被使用使得第二运动矢量预测器MVP_listl被示出为指向参考图像504-2。然后能够计算和代码化运动矢量MVl与第二运动矢量预测器MVP_listl之间的差。
[0080]图8示出了根据一个实施例其中运动矢量MVO指向过去的参考图像504-1并且运动矢量MVl指向将来的参考图像504-2的第二示例。用于运动矢量MVl的MVP候选被计算如下:
[0081]MVP_listl= ((8-16) /8-4)) MVO=- (MV0?1)
[0082]如图8中所示,当前图像502具有8的P0C,参考图像504-1具有4的P0C,以及参考图像504-2具有16的P0C。正负号在这种情况下是负的以便指示第二 MVP预测器MVP_Iistl是在运动矢量MVO的相反方向上。
[0083]附加地,还能够使用POC而应用相对于时间差上面所描述的其它计算。例如,运动矢量预测器可以被用来计算第二运动矢量预测器MVP_listl。
[0084]图9描绘了根据一个实施例用于确定第二运动矢量预测器的方法的简化流程图900。在902处,该方法接收视频内容的当前单元。视频内容的当前单元在双预测模式下被代码化。在904处,方法确定用于视频内容的当前单元的第一运动矢量的运动矢量预测器候选集合。在906处,第一运动矢量预测器根据用于第一运动矢量的运动矢量预测候选集合被确定。在908处,该方法计算用于`视频内容的当前单元的第二运动矢量的第二运动矢量预测器。第二运动矢量预测器基于第一运动矢量或第一运动矢量预测器被计算。
[0085]针对CU内的两个I3U的MVP计算
[0086]图1OA和图1OB描述了根据一个实施例基于其中多个PU存在于⑶内的第一 I3U的信息来计算第二 I3U的第一和第二运动矢量预测器MVP_listO或/和MVP_listl的示例。将理解的是,可以领会CU的其它分割。在图1OA和IOB中,PUO在代码化顺序方面被认为是⑶中的第一 PU并且后面是I3Ul。这两个PU应该具有高相关性,并且用于PUO和PUl的MVP可以是类似的。
[0087]特定实施例从PUO的MVP推导出用于I3Ul的MVP。PUO和PUl可以是单预测和双预测的任何组合。例如,PUO和PUl两者都可以是单预测,PUO可以是单预测而PUl是双预测,或者PUO和PUl都是双预测。在一个示例中,PUO可以具有多达两个运动矢量MV0_PU0和MV1_PU0,两个运动矢量MV0_PU0和MV1_PU0指向由第一参考列表ref_PU0_list0和第二参考列表ref_PU0_listl所索引的两个参考图像。类似地,PUl可以具有多达两个运动矢量MV0_PU1和MV1_PU1,两个运动矢量MV0_PU1和MV1_PU1指向由第一参考列表ref_PUl_IistO和第二参考列表ref_PUl_listl所索引的两个参考图像。用于PUO的第一运动矢量预测器MVP0_PU0和MVP1_PU0首先被确定,并且然后用于PUl的第二运动矢量预测器MVP0_PUl和MVP1_PU1然后能够从第一运动矢量预测器MVP0_PU0和MVP1_PU0推导出。以下计算可以调节第一运动矢量预测器MVP0_PU0和MVP1_PU0。例如,调节可以是基于时间距离或POC的。以下可以被用来计算用于PUl的第一运动矢量预测器MVP0_PU1:
[0088]MVP0_PU1=(TR0_PU1/TR0_PU0)*MVP0_PU0
[0089]类似地,用于I3Ul的第二运动矢量预测器MVP1_PU1根据MVP1_PU0被计算。特定示例如下:[0090]MVP1_PU1=(TR1_PU1/TR1_PU0)*MVP1_PU0
[0091]在一个实施例中,上述两个等式TR0_PU0是当前图像POC与由运动矢量MV0_PU0所指向的参考图像POC之间的差,TR0_PUI是当前图像POC与由运动矢量MV0_PUI所指向的参考图像POC之间的差,TR1_PU0是当前图像POC与由MV1_PU0所指向的参考图像POC之间的差,以及TR1_PU1是当前图像POC与由运动矢量MV1_PU1所指向的参考图像POC之间的差。还可以使用其它时间差。
[0092]PU可以不使用参考列表O和参考列表I两者。例如,PUO可以仅使用参考列表O或参考列表I。另一方面,PUI仍然可以使用参考列表O和参考列表I两者。在这种情况下,第二运动矢量预测器MVP0_PU1和MVP1_PU1能够从第一运动矢量预测器MVP0_PU0或MVP1_PUO推导出。例如,如果仅MVP0_PU0是可用的,则第二运动矢量预测器MVP0_PU1和MVP1_PUl能够被确定如下:
[0093]MVP0_PU1=(TR0_PU1/TR0_PU0)*MVP0_PU0
[0094]MVP1_PU1=(TR1_PU1/TR0_PU0)*MVP0_PU0
[0095]在另一情况下,如果两个PU都按照单预测,如果仅MVP0_PU0是可用的,则第二运动矢量预测器MVP0_PU1根据MVP0_PU0而被确定。图11描绘了根据一个实施例用于当在代码化单元中找到两个I3U时确定MVP的方法的简化流程图1100。在1102处,该方法接收视频内容的第一单元。在1104处,该方法接收视频内容的第二单元。视频内容的第一单元(PUO)和视频内容的第二单元(I3Ul)是在视频内容的第三单元(CU)内。视频内容的第一单元或第二单元可以在单预测或双预测模式下被代码化。这个示例是其中两个单元都按照双预测,但将领会到其它示例。在1106处,确定用于视频内容的第一单元的第一运动矢量的第一运动矢量预测器。在1108处,确定用于视频内容的第一单元的第二运动矢量的第二运动矢量预测器。在1110处,该方法根据视频内容的第一单元的第一运动矢量预测器为视频内容的第二单元计算第一运动矢量预测器,并且根据视频内容的第一单元的第二运动矢量预测器为视频内容的第二单元计算第二运动矢量预测器。
[0096]编码器和解码器不例
[0097]图12A描绘了根据一个实施例的编码器402的示例。现将对编码器402的通用操作进行描述;然而,将理解的是,本领域的技术人员在此基于本公开和教导将领会对描述的编码过程的变化。
[0098]对于当前TO,x、通过空间预测或时间预测来获得预测PU,X’。然后从当前减去预测PU,产生残差PU,e。空间预测块1204可以包括每PU不同的空间预测方向,诸如水平的、垂直的、45度对角的、135度对角的、DC(单调平均的)以及平面的。
[0099]时间预测块1206通过运动估计操作来执行时间预测。运动估计操作遍及参考图像为当前PU搜索最好的匹配预测。最好的匹配预测由运动矢量(MV)和相关联的参考图像(refldx)来描述。运动矢量和相关联的参考图像被包括在经代码化的比特流中。
[0100]变换块1207用残差PU,e来执行变换操作。变换块1207输出变换域E中的残差PU。
[0101]量化器1208然后量化残差PU,E的变换系数。量化器1208将变换系数转换成有限数目的可能的值。熵代码化块1210对经量化的系数熵代码化,这导致最后的压缩比特被发射。可以使用不同的熵代码化方法,诸如上下文自适应可变长度代码化(CAVLC)或上下文自适应二进制算术代码化(CABAC)。
[0102]而且,在编码器402内的解码过程中,去量化器1212去量化残差的经量化的变换系数。去量化器1212然后输出残差PU,E’的经去量化的变换系数。逆变换块1214接收经去量化的变换系数,其然后被逆变换导致重建的残差PU,e,。经重建的PU,e’然后被加到对应的预测X’ (空间的或时间的),以便形成新的重建的PU,X’ ’。环路滤波器1216对重建的PU,x’ ’执行去块,以便降低块效应。附加地,环路滤波器1216可以在对经解码的图像完成去块滤波过程之后执行抽样自适应偏移过程,这补偿了重建的像素与原始像素之间的像素值偏移。而且,环路滤波器1216可以在经重建的PU之上执行自适应环路滤波,这最小化输入和输出图像之间的代码化失真。附加地,如果经重建的图像是参考图像,则参考图像被存储在参考缓冲器1218中以用于将来的时间预测。
[0103]图12B描绘了根据一个实施例的解码器404的示例。现将对解码器404的通用操作进行描述;然而,将理解的是,本领域的技术人员在此基于本公开和教导将领会对描述的解码过程的变化。解码器404从编码器400接收输入比特以得到编码的视频内容。
[0104]熵解码块1230对输入比特流执行熵解码以生成残差I3U的量化的变换系数。去量化器1232去量化残差的经量化的变换系数。去量化器1232然后输出残差的经去量化的变换系数PU,E’。逆变换块1234接收经去量化的变换系数,其然后被逆变换导致重建的残差 I3U, e’。
[0105]经重建的PU,e’然后被加到对应的预测X’ (空间的或时间的),以便形成新的重建的环路滤波器1236对经重建的PU,x’’执行去块,以便降低块效用。附加地,环路滤波器1236可以在对经解码的图像完成去块滤波过程之后执行抽样自适应偏移过程,这补偿了重建的像素与原始像素之间的像素值偏移。而且,环路滤波器1236可以在经重建的之上执行自适应环路滤波,这最小化输入和输出图像之间的代码化失真。附加地,如果经重建的图像是参考图像,则参考图像被存储在参考缓冲器1238中以用于将来的时间预测。
[0106]预测TO,x’通过空间预测或时间预测来获得。空间预测块1240可以接收每PU解码的空间预测方向,诸如水平的、垂直的、45度对角的、135度对角的、DC (单调平均的)以及平面的。空间预测方向被用来确定预测PU,X’。
[0107]时间预测块1206通过运动估计操作来执行时间预测。解码的运动矢量被用来确定预测PU,X’。可以在运动估计操作中使用内插。
[0108]针对PU的MVP的并行处理
[0109]在一个实施例中,如果在一个⑶内存在两个PU,则MVP管理器406并行处理这两个W。然而,按照惯例,图14A中的右侧I3U或图14B中的底部I3U未被并行处理,因为它们必须使用在与空间邻居中的一个相同的CU中的左侧PU或上面的PU。特定实施例仅将空间相邻⑶中的PU用作为当前PU的空间候选。这样,MVP管理器406并行处理相同⑶中的PU。
[0110]图15A和15B描绘了根据一个实施例用作候选的块的不例。在图15A中,块AO而不是块Al ( BP, PU0)被用作为右侧I3U(即,PUl)的左侧空间块。块A2和A3仍然被视为右侧I3U(PUl)的左下和左上块。类似地,在图15B中,块BO而不是块BI ( S卩,PU0)被用作为底部S卩,PUl)的上面的空间块,并且块B2和B3被视为底部PU(PUl)的右上和左上块。因此,PUO在用来找到MVP的PUl的处理中未被用作为空间相邻块。这允许PUO和PUl被并行处理以便为PUO和PUl找到运动矢量预测器。在可替换的实施例中,MVP管理器406将图14A的示例中的左侧邻居和图14B的示例中的上面的邻居视为不可用的。因此,这两个邻居未被用在MVP计算中并且PUO和PUl能够被并行处理。
[0111]为了改善代码化性能,特定实施例可以修改空间和时间邻居的索引。更具体地,如果在一个CU内存在仅一个ro,则当前索引被保持不变,其中用于左侧邻居块的索引小于用于上面的邻居块的索引。
[0112]如果在一个CU内存在两个I3U,则用于左侧块和上面的块的索引可以被交换。交换可能取决于不同的因素,诸如取决于PU分割类型。例如,图15A和15B示出了根据一个实施例的不同分割类型。在图15A中,如果I3U类型是Nx2N、nLx2N或nRx2N,则对于左侧PU( SP,PU0)来说,用于左侧相邻块(即,A0)的索引可以被分配比用于上面的相邻块(即,A3)的编号更小的编号,并且对于右侧PU(S卩,TOl)来说,用于上面的相邻块(即,A3)的索引可以被分配比用于左侧相邻块(即,A0)的编号更小的编号。
[0113]在图15B中,如果I3U类型是2NxN、2NxnU或2NxnD,则对于上面的PU( S卩,PU0)来说,用于上面的相邻块(即,B0)的索引可以被分配比用于左侧相邻块(即,B3)的编号更小的编号,并且对于底部PU( S卩,PUl)来说,用于左侧相邻块(即,B3)的索引可以被分配比用于上面的相邻块(即,B0)的编号更小的编号。
[0114]特定实施例可以被实现在非暂时性计算机可读存储介质中以供由指令执行系统、设备、系统或机器使用或者与其相结合地使用。计算机可读存储介质包含用于控制计算机系统执行由特定实施例所描述的方法的指令。所述指令当被一个或多个计算机处理器执行时,可以操作来执行在特定实施例中所描述的内容。
[0115]如在此在本描述中和遍及权利要求书所使用的那样,除非上下文明确地另外规定,否则“一”、“一个”以及“该”包括复数参考。并且,如在此在本描述中和遍及权利要求书所使用的那样,除非上下文明确地另外规定,否则“在...中”的意义包括“在...中”和“在...上”。
[0116]上述描述连同可以如何实现特定实施例的方面的示例一起说明了各种实施例。上述示例和实施例不应该被认为是仅有的实施例,并且被呈现来说明如由权利要求书所定义的特定实施例的灵活性和优点。基于上述公开和权利要求书,在不背离如由本权利要求书所定义的其范围的情况下可以采用其它布置、实施例、实施方式以及等同物。
【权利要求】
1.一种方法,包括: 接收视频内容的单元,其中视频内容的所述单元在双预测模式下被代码化; 确定用于所述单元的第一运动矢量的运动矢量预测器候选集合; 由计算装置根据用于所述第一运动矢量的所述运动矢量预测候选集合,来确定第一运动矢量预测器;以及 由所述计算装置计算用于视频内容的所述单元的第二运动矢量的第二运动矢量预测器,基于所述第一运动矢量或所述第一运动矢量预测器来计算所述第二运动矢量预测器。
2.根据权利要求1所述的方法,其中基于所述第一运动矢量或所述第一运动矢量预测器的调节,来计算所述第二运动矢量预测器。
3.根据权利要求1所述的方法,其中基于第一时间距离和第二时间距离来计算所述第二运动矢量预测器,所述第一时间距离位于所述单元与由所述第一运动矢量所指向的第一参考图像之间,所述第二时间距离位于所述单元与由所述第二运动矢量所指向的第二参考图像之间。
4.根据权利要求3所述的方法,其中通过按所述第二时间距离与所述第一时间距离的比值调节所述第一运动矢量或所述第一运动矢量预测器,来计算所述第二运动矢量预测器。
5.根据权利要求1 所述的方法,其中基于所述单元与由所述第一运动矢量所指向的第一参考图像之间的第一图像顺序计数POC差和所述单元与由所述第二运动矢量所指向的第二参考图像之间的第二图像顺序计数差,来计算所述第二运动矢量预测器。
6.根据权利要求5所述的方法,其中通过按所述第二POC差与所述第一 POC差的比值调节所述第一运动矢量或所述第一运动矢量预测器,来计算所述第二运动矢量预测器。
7.根据权利要求1所述的方法,其中所述第二运动矢量预测器不是选自第二运动矢量候选列表。
8.一种方法,包括: 接收视频内容的第一单元; 接收视频内容的第二单元,其中视频内容的所述第一单元和视频内容的所述第二单元是在视频内容的第二单兀内; 由计算装置确定用于视频内容的所述第一单元的第一运动矢量的第一运动矢量预测器; 由所述计算装置根据视频内容的所述第一单元的所述第一运动矢量预测器或所述第一运动矢量,来计算用于视频内容的所述第二单元的第一运动矢量预测器。
9.根据权利要求8所述的方法,进一步包括: 当视频内容的所述第一单元是在单预测模式下并且视频内容的所述第二单元是在双预测模式下时,根据视频内容的所述第一单元的所述第一运动矢量预测器或所述第一运动矢量,来计算用于视频内容的所述第二单元的第一运动矢量预测器和第二运动矢量预测器; 当视频内容的所述第一单元是在所述双预测模式下并且视频内容的所述第二单元是在所述双预测模式下时,根据视频内容的所述第一单元的第一运动矢量预测器或第一运动矢量、和第二运动矢量预测器或第二运动矢量,来计算用于视频内容的所述第二单元的第一运动矢量预测器和第二运动矢量预测器;以及 当视频内容的所述第一单元是在所述双预测模式下并且视频内容的所述第二单元是在所述单预测模式下时,根据视频内容的所述第一单元的所述第一运动矢量预测器、所述第一运动矢量、视频内容的所述第一单元的第二运动矢量预测器或第二运动矢量,来计算用于视频内容的所述第二单元的第一运动矢量预测器。
10.根据权利要求8所述的方法,进一步包括: 确定用于视频内容的所述第一单元的所述第一运动矢量的第一运动矢量预测器候选集合; 确定用于视频内容的所述第一单元的第二运动矢量的第二运动矢量预测器候选集合,其中: 根据所述第一运动矢量预测器候选集合,确定用于视频内容的所述第一单元的所述第一运动矢量的所述第一运动矢量预测器, 根据所述第二运动矢量预测器候选集合,确定用于视频内容的所述第一单元的所述第二运动矢量的第二运动矢量预测器。
11.根据权利要求8所述的方法,其中基于视频内容的所述第一单元的所述第一运动矢量预测器或所述第一运动矢量的调节,来计算视频内容的所述第二单元的所述第一运动矢量预测器。
12.根据权利要求8所述的方法,其中所述调苄基于时间距离或POC差。
13.—种设备,包括: 一个或多个计算机处理器;以及 包括指令的计算机可读存储介质,所述指令当被执行时,控制所述一个或多个计算机处理器,以操作用于: 接收视频内容的单元,其中视频内容的所述单元在双预测模式下被代码化; 确定用于所述单元的第一运动矢量的运动矢量预测器候选集合; 根据用于所述第一运动矢量的所述运动矢量预测候选集合,来确定第一运动矢量预测器;以及 计算用于视频内容的所述单元的第二运动矢量的第二运动矢量预测器,基于所述第一运动矢量或所述第一运动矢量预测器,来计算所述第二运动矢量预测器。
14.根据权利要求13所述的设备,其中基于所述第一运动矢量或所述第一运动矢量预测器的调节,来计算所述第二运动矢量预测器。
15.根据权利要求13所述的设备,其中基于第一时间距离和第二时间距离来计算所述第二运动矢量预测器,所述第一时间距离位于所述单元与由所述第一运动矢量所指向的第一参考图像之间,所述第二时间距离位于所述单元与由所述第二运动矢量所指向的第二参考图像之间。
16.根据权利要求13所述的设备,基于所述单元与由所述第一运动矢量所指向的第一参考图像之间的第一图像顺序计数POC差和所述单元与由所述第二运动矢量所指向的第二参考图像之间的第二图像顺序计数差,来计算其中所述第二运动矢量预测器。
17.—种设备,包括: 一个或多个计算机处理器;以及包括指令的计算机可读存储介质,所述指令当被执行时,控制所述一个或多个计算机处理器,以操作用于: 接收视频内容的第一单元; 接收视频内容的第二单元,其中视频内容的所述第一单元和视频内容的所述第二单元是在视频内容的第二单兀内; 由计算装置确定用于视频内容的所述第一单元的第一运动矢量的第一运动矢量预测器; 由所述计算装置根据视频内容的所述第一单元的所述第一运动矢量预测器或所述第一运动矢量,来计算用于视频内容的所述第二单元的第一运动矢量预测器。
18.根据权利要求17所述的设备,进一步操作用于: 当视频内容的所述第一单元是在单预测模式下并且视频内容的所述第二单元是在双预测模式下时,根据视频内容的所述第一单元的所述第一运动矢量预测器或所述第一运动矢量,来计算用于视频内容的所述第二单元的第一运动矢量预测器和第二运动矢量预测器; 当视频内容的所述第一单元是在所述双预测模式下并且视频内容的所述第二单元是在所述双预测模式下时,根据视频内容的所述第一单元的第一运动矢量预测器或第一运动矢量、和第二运动矢量预测器或第二运动矢量,来计算用于视频内容的所述第二单元的第一运动矢量预测器和第二运动矢量预测器;以及 当视频内容的所述第一单元是在所述双预测模式下并且视频内容的所述第二单元是在所述单预测模式下时,根据视频内容的所述第一单元的所述第一运动矢量预测器、所述第一运动矢量、视频内容的所述第一单元的第二运动矢量预测器或第二运动矢量,来计算用于视频内容的所述第二单元的第一运动矢量预测器。
19.根据权利要求17所述的设备,其中基于视频内容的所述第一单元的所述第一运动矢量预测器或所述第 一运动矢量的调节,来计算视频内容的所述第二单元的所述第一运动矢量预测器。
20.根据权利要求17所述的设备,其中所述调苄基于时间距离或POC差。
【文档编号】H04N19/159GK103797795SQ201280032859
【公开日】2014年5月14日 申请日期:2012年6月28日 优先权日:2011年7月1日
【发明者】余越, 克里特·帕努索波内, 王利民 申请人:摩托罗拉移动有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1