会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑图像 / 运动矢量 / 运动矢量预测设计简化

运动矢量预测设计简化

阅读:417发布:2020-05-13

IPRDB可以提供运动矢量预测设计简化专利检索,专利查询,专利分析的服务。并且在一个实施例中,一种方法接收视频内容的单元。视频内容的所述单元在双预测模式下被代码化。确定用于所述单元的第一运动矢量的运动矢量预测器候选集合。所述方法然后根据用于所述第一运动矢量的所述运动矢量预测候选集合来确定第一运动矢量预测器,并且计算用于视频内容的所述单元的第二运动矢量的第二运动矢量预测器。所述第二运动矢量预测器基于所述第一运动矢量或所述第一运动矢量预测器被计算。,下面是运动矢量预测设计简化专利的具体信息内容。

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差。

说明书全文

运动矢量预测设计简化

[0001] 相关申请的交叉引用
[0002] 本申请要求下列的优先权:
[0003] 2011年7月1日提交的“Method for Simplification of MVP Design for HEVC”的美国临时申请No.61/504,085;
[0004] 2011年7月18日提交的“Simplification of MVP Design for HEVC”的美国临时申请No.61/508,844;
[0005] 2011年11月8日提交的“Simplification of MVP Design for HEVC”的美国临时申请No.61/557,411;以及
[0006] 2011年11月9日提交的“Parallel Friendly MVP Candidate Calculation for HEVC”的美国临时申请No.61/557,418,其全部的内容通过引用整体地结合在本文中。

背景技术

[0007] 运动矢量预测设计
[0008] 视频压缩系统对于大多数压缩操作采用块处理。块是一组相邻像素并且可以在压缩操作方面被视为一个代码化单元。理论上,较大的代码化单元被优选来利用中间相邻像素之间的相关性。例如运动图像专家组(MPEG)-1、MPEG-2以及MPEG-4的各种视频压缩标准使用4x4、8x8以及16x16的块尺寸(被称为宏块(MB))。
[0009] 高效率视频代码化(HEVC)也是基于块的混合空间和时间预测性代码化方案。HEVC将输入图像分割成如图1中所示出被称为最大代码化单元(LCU)的方形块。不像现有代码化标准,LCU能够和128x128个像素一样大。每个LCU能够被分割成称作代码化单元(CU)的较小方形块。图2示出了CU的LCU分割的示例。LCU100被首先分割成四个CU102。
每个CU102还可以被进一步分成为是CU102的尺寸的四分之一的四个较小的CU102。能够基于特定准则重复这个分割过程,诸如可以强加对CU能够被分割的次数的限制。如图所示,CU102-1、102-3以及102-4是LCU100的尺寸的四分之一。另外,CU102-2已被分成四个CU102-5、102-6、102-7以及102-8。
[0010] 每个CU102可以包括一个或多个预测单元(PU)。图3示出了PU的CU分割的示例。PU可以被用来执行空间预测或时间预测。CU能够在空间上或时间上被预测性代码化。如果CU在帧内模式下被代码化,则CU的每个PU都能够具有它自己的空间预测方向。如果CU在帧间模式下被代码化,则CU的每个PU都能够具有它自己的(一个或多个)运动矢量和(一个或多个)关联参考图像。
[0011] 在HEVC中,运动矢量(MV)被预测性地代码化。对于具有一个当前运动矢量和关联参考索引的当前PU,运动矢量预测器(MVP)从当前PU的空间上相邻或时间上共址的PU的运动矢量推导出。当前运动矢量与MVP之间的差然后被确定和代码化。这降低开销,因为仅所述差被发送而不是当前运动矢量的信息。
[0012] 先进运动矢量预测(AMVP)提出从MVP的候选集合中为当前运动矢量选择最好的MVP。用于当前PU的当前运动矢量的MVP的候选集合由空间相邻和共址的PU的运动矢量组成。可以通过去除复制的MVP候选来降低MVP的候选集合。可以在比特流中发射指示所选MVP候选的索引mvpIdx以便指示所选MVP。
[0013] 在双预测模式下,当前PU可以具有两个运动矢量,用于参考列表0的运动矢量MV0以及用于参考列表1的运动矢量MV1。由两个运动矢量MV0和MV1所指向的对应参考图像分别由参考列表0和参考列表1来索引。为了对两个运动矢量进行代码化,两个MVP候选集合被首先形成。一个候选集合用于列表0运动矢量并且另一个候选集合用于列表1运动矢量。上面所描述的相同程序适用于为运动矢量MV0和MV1找到最好的MVP。因此,两个候选列表的两个搜索被执行。针对两个列表的两个MVP的确定增加计算过程。然后,还可以在比特流中发射两个MVP索引,这增加开销。
[0014] 针对PU的MVP的并行处理
[0015] 当前PU的运动矢量预测器(MVP)从当前PU的空间和时间(布置的)相邻块的运动矢量(MV)推导出。
[0016] 图13A和13B示出了两个示例,其中在(a)中,CU包含相同尺寸的仅一个PU,以及在(b)中,CU具有两个非方形PU(PU0和PU1)。在一些示例中,用于当前PU的空间相邻块可以或者可以不在当前PU块所驻留的相同CU中。在图13A中,当前PU的所有空间相邻块(用对角线示出)在当前CU之外。另一方面,在图13B中,用于PU0的空间相邻块全部在当前CU外面。但是,用于PU1的左侧空间相邻块是PU0,PU0是在相同的当前CU内部。
[0017] 图14A和14B示出了其中CU包括两个PU的两个示例。在图14A中,右侧PU(PU1)将左侧PU(PU0)用作为左侧空间邻居中的一个,并且在图14B,底部PU(PU1)将顶部PU(PU0)用作为上面的空间邻居中的一个。结果,CU内的两个PU不能够被并行处理;即,在PU1能够启动它自己的MVP推导之前PU1必须等待PU0完成运动矢量推导。
[0018] 而且,用于编码可能的候选集合的固定顺序被使用。用于左侧空间邻居的索引号总是小于用于上面的空间邻居的索引号,而不论PU分割的种类如何。这对于一些特定PU分割来说可能导致差的代码化性能。

发明内容

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

附图说明

[0024] 图1示出了被分割成称为最大代码化单元(LCU)的方形块的输入图像。
[0025] 图2示出了CU的LCU分割的示例。
[0026] 图3示出了PU的CU分割的示例。
[0027] 图4描绘了根据一个实施例用于编码和解码视频内容的系统的示例。
[0028] 图5示出了根据一个实施例其中运动矢量MV0和MV1两者都指向过去的参考图像的示例。
[0029] 图6示出了根据一个实施例其中运动矢量MV0指向过去的参考图像并且运动矢量MV1指向将来的参考图像的另一示例。
[0030] 图7示出了根据一个实施例其中运动矢量MV0和MV1指向过去的参考图像的示例。
[0031] 图8示出了根据一个实施例其中运动矢量MV0指向过去的参考图像并且运动矢量MV1指向将来的参考图像的第二示例。
[0032] 图9描绘了根据一个实施例用于确定第二运动矢量预测器的方法的简化流程图。
[0033] 图10A和图10B描绘了根据一个实施例基于其中多个PU存在于CU内的第一PU的信息来计算第二PU的第一和第二运动矢量预测器MVP_list0或/和MVP_list1的示例。
[0034] 图11描绘了根据一个实施例用于当在代码化单元中找到两个PU时确定MVP的方法的简化流程图。
[0035] 图12A描绘了根据一个实施例的编码器的示例。
[0036] 图12B描绘了根据一个实施例的解码器的示例。
[0037] 图13A和13B示出了两个示例,其中在(a)中,CU包含相同尺寸的仅一个PU,以及在(b)中,CU具有两个非方形PU(PU0和PU1)。
[0038] 图14A和14B示出了其中CU包括两个PU的两个示例。
[0039] 图15A和15B描绘了根据一个实施例用作候选的块的示例。

具体实施方式

[0040] 本文中所描述的是用于视频压缩系统的技术。在以下描述中,出于解释的目的,许多示例和特定细节被阐述以便提供对特定实施例的彻底理解。如由权利要求书所限定的特定实施例可以单独或者与在下面所描述的其它特征相结合地包括这些示例中的特征中的一些或全部,并且可以进一步包括本文中所描述的特征和构思的修改和等同物。
[0041] 运动矢量预测设计
[0042] 图4描绘了根据一个实施例用于编码和解码视频内容的系统400的示例。编码器402包括运动矢量预测器(MVP)管理器406-1并且解码器404包括MVP管理器406-2。MVP管理器406执行运动矢量预测以便为诸如PU或其它块尺寸的视频内容的单元确定MVP。在一个实施例中,MVP管理器406为PU确定两个运动矢量预测器。用于当前图像(例如,PU)的运动矢量MV0和MV1指向由第一参考列表0和第二参考列表1所索引的两个参考图像(或块)。
[0043] 特定实施例从另一运动矢量或另一运动矢量预测器推导出第二运动矢量预测器。例如,MVP管理器406首先为运动矢量MV0获得第一运动矢量预测器MVP_list0。这可以像上面所描述的那样通过为相邻PU和共址的PU确定运动矢量来计算。应该注意的是,讨论将描述如被首先获得的第一运动矢量预测器MVP_list0,但可以首先获得第二运动矢量预测器MVP_list1。在获得第一运动矢量预测器MVP_list0之后,MVP管理器406根据运动矢量MV0或第一运动矢量预测器MVP_list0来计算第二运动矢量预测器MVP_list1。例如,如将在下面所描述的,调节被用来计算第二运动矢量预测器MVP_list1。调节可以是基于诸如时间距离或图像顺序计数(POC)的不同特性的。
[0044] 在一个实施例中,MVP管理器406为运动矢量MV0确定MVP候选集合。MVP候选集合可以使用用于相邻PU和共址的PU的运动矢量来确定。MVP管理器406然后从MVP候选集合中为运动矢量MV0选择最好的MVP候选、第一运动矢量预测器MVP_list0以及对应的索引mvpIdx_list0。用于当前运动矢量MV0的参考被用来标识哪一个邻居(空间或时间邻居)PU被选择为第一运动矢量预测器MVP_list0。在一个实施例中,如果运动矢量MV0的参考列表0与mvpIdx_list0不同,则第一运动矢量预测器MVP_list0也被调节,使得第一运动矢量预测器MVP_list0像运动矢量MV0所做的那样指向相同的参考图像。第一运动矢量预测器MVP_list0在下面将被假定它已经被调节了。一旦邻居PU被选择,则用于该邻居PU的参考也是已知的。因此,mvpIdx_list0从当前PU的信息推导出。
[0045] MVP管理器406然后根据运动矢量MV0或第一运动矢量预测器MVP_list0为运动矢量MV1计算第二MVP候选、第二运动矢量预测器MVP_list1。该计算被执行而不是从候选集合中进行选择。
[0046] 时间距离
[0047] 在一个实施例中,MVP管理器406-1使用时间距离来计算用于运动矢量MV1的第二运动矢量预测器MVP_list1。第一时间距离TR1是在当前图像与由运动矢量MV0所指向的参考图像之间。第二时间距离TR2是在当前图像与由运动矢量MV1所指向的参考图像之间。用于运动矢量MV1的第二运动矢量预测器MVP_list1根据运动矢量MV0被计算。例如,下列的可以被用来计算第二运动矢量预测器MVP_list如下:
[0048] MVP_list1=(正负号)(TR2/TR1)*MV0
[0049] 其中如果运动矢量MV0和运动矢量MV1两者都指向过去或将来,则正负号是正的(+),或否则,正负号是负的(-)。使用正负号的原因是因为运动矢量MV0和MV1可以指在相反方向上,并且因此负号需要被应用于调节。
[0050] 图5示出了根据一个实施例其中运动矢量MV0和MV1两者都指向过去的参考图像的示例。当前图像502包括正被编码的PU。当前图像502连同第一参考图像504-1和第二参考图像504-2一起被示出。与当前图像502相比参考图像504-1和504-2是在过去(具有较低显示顺序)。时间间隔被示出为TR1=0和TR2=8。这可以指示参考图像504-1是过去的四个图像并且参考图像504-2是过去的八个图像。还可以测量其它时间距离。
[0051] 用于运动矢量MV1的第二运动矢量预测器MVP_list1可以被计算为:
[0052] MVP_list1=(TR2/TR1)*MV0=(8/4)*MV0=MV0<<1
[0053] 在这种情况下,第二运动矢量预测器MVP_list1基于8/4的时间距离比值*运动矢量MV0被计算。运动矢量MV0的调节被使用,使得第二运动矢量预测器MVP_list1被示出为指向参考图像504-2。运动矢量MV1与第二运动矢量预测器MVP_list1之间的差然后能够被计算和代码化。
[0054] 图6示出了根据一个实施例其中运动矢量MV0指向过去的参考图像并且运动矢量MV1指向将来的参考图像的另一示例。时间差TR1是4个图像的间隔,并且时间距离TR2是8个图像的间隔。
[0055] 用于运动矢量MV1的第二运动矢量预测器MVP_list1能够被确定如下:
[0056] MVP_list1=-(TR2/TR1)*MV0=-(8/4)*MV0=-(MV0<<1)
[0057] 在这种情况下,第二运动矢量预测器MVP_list1等于运动矢量MV0的调节的负数。这是因为运动矢量MV1指向将来的参考图像而不是过去的参考图像。如图所示,运动矢量MV0的调节被使用使得第二运动矢量预测器MVP_list1指向参考图像504-2。在使用第一运动矢量MV0来计算第二运动矢量预测器MVP_list1时,降低了计算复杂性。
[0058] 因为第一运动矢量预测器MVP_list0在编码器402和解码器404两者处是可用的,所以可以使用第一运动矢量预测器MVP_list0而不是运动矢量MV0来计算第二运动矢量预测器MVP_list1。下列的可以被用来计算第二运动矢量预测器MVP_list1如下:
[0059] MVP_list1=(正负号)(TR2/TR1)*MVP_list0
[0060] 其中TR1是当前图像与由运动矢量MV0所指向的参考图像之间的时间距离(在一个示例中,第一运动矢量预测器MVP_list0已经通过使用运动矢量MV0的参考索引而被归一化了。换句话说,运动矢量MV0和第一运动矢量预测器MVP_list0指向相同的参考图像),并且TR2是当前图像与由运动矢量MV1所指向的参考图像之间的时间距离。如果第一运动矢量预测器MVP_list0和运动矢量MV1指向过去或将来,则正负号是正的。否则,正负号是负的。在使用第一运动矢量预测器MVP_list0来计算第二运动矢量预测器MVP_list1时,降低了计算复杂性。
[0061] 因此,第二运动矢量预测器MVP_list1根据运动矢量MV0或第一运动矢量预测器MVP_list0被计算而不是从MVP候选集合中选择MVP候选。因此,不存在针对第二列表来代码化和发送MVP索引所需要的开销,这导致比特的节约。而且,无需实现MVP选择程序来确定第二MVP候选MVP_list1。结果,与对于列表1使用MVP选择程序相比,特定实施例的复杂性被降低了一半。
[0062] 当编码器402对当前PU的比特流编码时,MVP管理器406-1使用在针对第一运动矢量预测器MVP_list0的比特流中发送的索引来确定第一运动矢量预测器MVP_list0。然后,MVP管理器406-1可以计算第二运动矢量预测器MVP_list1。例如,MVP管理器406-1可以使用上面所描述的方法来计算第二运动矢量预测器MVP_list1。编码器402然后确定第一运动矢量MV0与第一运动矢量预测器MVP_list0以及第二运动矢量MV1与第二运动矢量预测器MVP_list1之间的差。编码器402然后在比特流中将所述差发送到解码器404。
[0063] 当解码器404对当前PU的比特流解码时,MVP管理器406-2使用在针对第一运动矢量预测器MVP_list0的比特流中发送的索引来确定第一运动矢量预测器MVP_list0。然后,MVP管理器406-2可以计算第二运动矢量预测器MVP_list1。例如,MVP管理器406-2可以使用上面所描述的方法来计算第二运动矢量预测器MVP_list1。解码器404然后使用在比特流中使用第一运动矢量预测器MVP_list0所发送的差来确定第一运动矢量MV0,并且使用在比特流中使用经计算的运动矢量预测器MVP_list1所发送的差来确定第二运动矢量MV1。第二运动矢量预测器MVP_list1可以是根据第一运动矢量MV0或第一运动矢量预测器MVP_list0所计算的调节的版本。然后可以在时间预测过程中使用运动矢量MV0和MV1。
[0064] 可以使用用于计算第二运动矢量预测器MVP_list1的其它示例。还可以使用其它等式。例如,可以使用下列的:
[0065] MVP_list1=MVP0
[0066] MVP_list1=MVP_list0
[0067] 还可以使用其它等式。编码器402和解码器404可以选择被使用的计算方法。例如,一个PU可以使用调节而另一PU可以使用等式MVP_list1=MVP0。
[0068] 使用POC的MVP候选计算
[0069] 在一个实施例中,图像顺序计数(POC)可以被用来为运动矢量MV1推导出第二运动矢量预测器MVP_list1。对于给定PU,用于当前图像和参考图像的POC分别可以是poc_curr、poc_ref_list0以及poc_ref_list1。当前图像与由第一参考列表ref_list0所索引的参考图像之间的POC差diff_poc_curr_list0如下:
[0070] diff_poc_curr_list0=poc_curr-poc_ref_list0
[0071] 其中diff_poc_curr_list0是当前POC与列表0中第一参考图像的POC之间的差。
[0072] 类似地,当前图像与由第二参考列表ref_list1所索引的参考图像之间的POC差diff_poc_curr_list1被定义如下:
[0073] diff_poc_curr_list1=poc_curr-poc_ref_list1
[0074] 其中diff_poc_curr_list1是当前图像的POC与列表1中第二参考图像的POC之间的差。
[0075] 特定实施例通过调节运动矢量MV0来确定用于运动矢量MV1的第二运动矢量预测器MVP_list1。示例计算可以是如下:
[0076] MVP_list1=(diff_poc_curr_list1/diff_poc_curr_list0)*MV0
[0077] 图7示出了根据一个实施例其中运动矢量MV0和MV1指向过去的参考图像的示例。在图7中,当前图像502具有8的POC。运动矢量MV0指向具有4的POC的参考图像504-1,并且运动矢量MV1指向具有0的POC的参考图像504-2。用于运动矢量MV1的第二运动矢量预测器MVP_list1被计算为:
[0078] MVP_list1=((8-0)/(8-4))MV0=MV0<<1
[0079] 运动矢量MV0的调节被使用使得第二运动矢量预测器MVP_list1被示出为指向参考图像504-2。然后能够计算和代码化运动矢量MV1与第二运动矢量预测器MVP_list1之间的差。
[0080] 图8示出了根据一个实施例其中运动矢量MV0指向过去的参考图像504-1并且运动矢量MV1指向将来的参考图像504-2的第二示例。用于运动矢量MV1的MVP候选被计算如下:
[0081] MVP_list1=((8-16)/8-4))MV0=-(MV0<<1)
[0082] 如图8中所示,当前图像502具有8的POC,参考图像504-1具有4的POC,以及参考图像504-2具有16的POC。正负号在这种情况下是负的以便指示第二MVP预测器MVP_list1是在运动矢量MV0的相反方向上。
[0083] 附加地,还能够使用POC而应用相对于时间差上面所描述的其它计算。例如,运动矢量预测器可以被用来计算第二运动矢量预测器MVP_list1。
[0084] 图9描绘了根据一个实施例用于确定第二运动矢量预测器的方法的简化流程图900。在902处,该方法接收视频内容的当前单元。视频内容的当前单元在双预测模式下被代码化。在904处,方法确定用于视频内容的当前单元的第一运动矢量的运动矢量预测器候选集合。在906处,第一运动矢量预测器根据用于第一运动矢量的运动矢量预测候选集合被确定。在908处,该方法计算用于视频内容的当前单元的第二运动矢量的第二运动矢量预测器。第二运动矢量预测器基于第一运动矢量或第一运动矢量预测器被计算。
[0085] 针对CU内的两个PU的MVP计算
[0086] 图10A和图10B描述了根据一个实施例基于其中多个PU存在于CU内的第一PU的信息来计算第二PU的第一和第二运动矢量预测器MVP_list0或/和MVP_list1的示例。将理解的是,可以领会CU的其它分割。在图10A和10B中,PU0在代码化顺序方面被认为是CU中的第一PU并且后面是PU1。这两个PU应该具有高相关性,并且用于PU0和PU1的MVP可以是类似的。
[0087] 特定实施例从PU0的MVP推导出用于PU1的MVP。PU0和PU1可以是单预测和双预测的任何组合。例如,PU0和PU1两者都可以是单预测,PU0可以是单预测而PU1是双预测,或者PU0和PU1都是双预测。在一个示例中,PU0可以具有多达两个运动矢量MV0_PU0和MV1_PU0,两个运动矢量MV0_PU0和MV1_PU0指向由第一参考列表ref_PU0_list0和第二参考列表ref_PU0_list1所索引的两个参考图像。类似地,PU1可以具有多达两个运动矢量MV0_PU1和MV1_PU1,两个运动矢量MV0_PU1和MV1_PU1指向由第一参考列表ref_PU1_list0和第二参考列表ref_PU1_list1所索引的两个参考图像。用于PU0的第一运动矢量预测器MVP0_PU0和MVP1_PU0首先被确定,并且然后用于PU1的第二运动矢量预测器MVP0_PU1和MVP1_PU1然后能够从第一运动矢量预测器MVP0_PU0和MVP1_PU0推导出。以下计算可以调节第一运动矢量预测器MVP0_PU0和MVP1_PU0。例如,调节可以是基于时间距离或POC的。以下可以被用来计算用于PU1的第一运动矢量预测器MVP0_PU1:
[0088] MVP0_PU1=(TR0_PU1/TR0_PU0)*MVP0_PU0
[0089] 类似地,用于PU1的第二运动矢量预测器MVP1_PU1根据MVP1_PU0被计算。特定示例如下:
[0090] MVP1_PU1=(TR1_PU1/TR1_PU0)*MVP1_PU0
[0091] 在一个实施例中,上述两个等式TR0_PU0是当前图像POC与由运动矢量MV0_PU0所指向的参考图像POC之间的差,TR0_PU1是当前图像POC与由运动矢量MV0_PU1所指向的参考图像POC之间的差,TR1_PU0是当前图像POC与由MV1_PU0所指向的参考图像POC之间的差,以及TR1_PU1是当前图像POC与由运动矢量MV1_PU1所指向的参考图像POC之间的差。还可以使用其它时间差。
[0092] PU可以不使用参考列表0和参考列表1两者。例如,PU0可以仅使用参考列表0或参考列表1。另一方面,PU1仍然可以使用参考列表0和参考列表1两者。在这种情况下,第二运动矢量预测器MVP0_PU1和MVP1_PU1能够从第一运动矢量预测器MVP0_PU0或MVP1_PU0推导出。例如,如果仅MVP0_PU0是可用的,则第二运动矢量预测器MVP0_PU1和MVP1_PU1能够被确定如下:
[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描绘了根据一个实施例用于当在代码化单元中找到两个PU时确定MVP的方法的简化流程图1100。在1102处,该方法接收视频内容的第一单元。在1104处,该方法接收视频内容的第二单元。视频内容的第一单元(PU0)和视频内容的第二单元(PU1)是在视频内容的第三单元(CU)内。视频内容的第一单元或第二单元可以在单预测或双预测模式下被代码化。这个示例是其中两个单元都按照双预测,但将领会到其它示例。在1106处,确定用于视频内容的第一单元的第一运动矢量的第一运动矢量预测器。在1108处,确定用于视频内容的第一单元的第二运动矢量的第二运动矢量预测器。在1110处,该方法根据视频内容的第一单元的第一运动矢量预测器为视频内容的第二单元计算第一运动矢量预测器,并且根据视频内容的第一单元的第二运动矢量预测器为视频内容的第二单元计算第二运动矢量预测器。
[0096] 编码器和解码器示例
[0097] 图12A描绘了根据一个实施例的编码器402的示例。现将对编码器402的通用操作进行描述;然而,将理解的是,本领域的技术人员在此基于本公开和教导将领会对描述的编码过程的变化。
[0098] 对于当前PU,x、通过空间预测或时间预测来获得预测PU,x’。然后从当前PU减去预测PU,产生残差PU,e。空间预测块1204可以包括每PU不同的空间预测方向,诸如水平的、垂直的、45度对角的、135度对角的、DC(单调平均的)以及平面的。
[0099] 时间预测块1206通过运动估计操作来执行时间预测。运动估计操作遍及参考图像为当前PU搜索最好的匹配预测。最好的匹配预测由运动矢量(MV)和相关联的参考图像(refIdx)来描述。运动矢量和相关联的参考图像被包括在经代码化的比特流中。
[0100] 变换块1207用残差PU,e来执行变换操作。变换块1207输出变换域E中的残差PU。
[0101] 量化器1208然后量化残差PU,E的变换系数。量化器1208将变换系数转换成有限数目的可能的值。熵代码化块1210对经量化的系数熵代码化,这导致最后的压缩比特被发射。可以使用不同的熵代码化方法,诸如上下文自适应可变长度代码化(CAVLC)或上下文自适应二进制算术代码化(CABAC)。
[0102] 而且,在编码器402内的解码过程中,去量化器1212去量化残差PU的经量化的变换系数。去量化器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对输入比特流执行熵解码以生成残差PU的量化的变换系数。去量化器1232去量化残差PU的经量化的变换系数。去量化器1232然后输出残差的经去量化的变换系数PU,E’。逆变换块1234接收经去量化的变换系数,其然后被逆变换导致重建的残差PU,e’。
[0105] 经重建的PU,e’然后被加到对应的预测x’(空间的或时间的),以便形成新的重建的PU,x’’。环路滤波器1236对经重建的PU,x’’执行去块,以便降低块效用。附加地,环路滤波器1236可以在对经解码的图像完成去块滤波过程之后执行抽样自适应偏移过程,这补偿了重建的像素与原始像素之间的像素值偏移。而且,环路滤波器1236可以在经重建的PU之上执行自适应环路滤波,这最小化输入和输出图像之间的代码化失真。附加地,如果经重建的图像是参考图像,则参考图像被存储在参考缓冲器1238中以用于将来的时间预测。
[0106] 预测PU,x’通过空间预测或时间预测来获得。空间预测块1240可以接收每PU解码的空间预测方向,诸如水平的、垂直的、45度对角的、135度对角的、DC(单调平均的)以及平面的。空间预测方向被用来确定预测PU,x’。
[0107] 时间预测块1206通过运动估计操作来执行时间预测。解码的运动矢量被用来确定预测PU,x’。可以在运动估计操作中使用内插。
[0108] 针对PU的MVP的并行处理
[0109] 在一个实施例中,如果在一个CU内存在两个PU,则MVP管理器406并行处理这两个PU。然而,按照惯例,图14A中的右侧PU或图14B中的底部PU未被并行处理,因为它们必须使用在与空间邻居中的一个相同的CU中的左侧PU或上面的PU。特定实施例仅将空间相邻CU中的PU用作为当前PU的空间候选。这样,MVP管理器406并行处理相同CU中的PU。
[0110] 图15A和15B描绘了根据一个实施例用作候选的块的示例。在图15A中,块A0而不是块A1(即,PU0)被用作为右侧PU(即,PU1)的左侧空间块。块A2和A3仍然被视为右侧PU(PU1)的左下和左上块。类似地,在图15B中,块B0而不是块B1(即,PU0)被用作为底部PU(即,PU1)的上面的空间块,并且块B2和B3被视为底部PU(PU1)的右上和左上块。因此,PU0在用来找到MVP的PU1的处理中未被用作为空间相邻块。这允许PU0和PU1被并行处理以便为PU0和PU1找到运动矢量预测器。在可替换的实施例中,MVP管理器406将图14A的示例中的左侧邻居和图14B的示例中的上面的邻居视为不可用的。因此,这两个邻居未被用在MVP计算中并且PU0和PU1能够被并行处理。
[0111] 为了改善代码化性能,特定实施例可以修改空间和时间邻居的索引。更具体地,如果在一个CU内存在仅一个PU,则当前索引被保持不变,其中用于左侧邻居块的索引小于用于上面的邻居块的索引。
[0112] 如果在一个CU内存在两个PU,则用于左侧块和上面的块的索引可以被交换。交换可能取决于不同的因素,诸如取决于PU分割类型。例如,图15A和15B示出了根据一个实施例的不同分割类型。在图15A中,如果PU类型是Nx2N、nLx2N或nRx2N,则对于左侧PU(即,PU0)来说,用于左侧相邻块(即,A0)的索引可以被分配比用于上面的相邻块(即,A3)的编号更小的编号,并且对于右侧PU(即,PU1)来说,用于上面的相邻块(即,A3)的索引可以被分配比用于左侧相邻块(即,A0)的编号更小的编号。
[0113] 在图15B中,如果PU类型是2NxN、2NxnU或2NxnD,则对于上面的PU(即,PU0)来说,用于上面的相邻块(即,B0)的索引可以被分配比用于左侧相邻块(即,B3)的编号更小的编号,并且对于底部PU(即,PU1)来说,用于左侧相邻块(即,B3)的索引可以被分配比用于上面的相邻块(即,B0)的编号更小的编号。
[0114] 特定实施例可以被实现在非暂时性计算机可读存储介质中以供由指令执行系统、设备、系统或机器使用或者与其相结合地使用。计算机可读存储介质包含用于控制计算机系统执行由特定实施例所描述的方法的指令。所述指令当被一个或多个计算机处理器执行时,可以操作来执行在特定实施例中所描述的内容。
[0115] 如在此在本描述中和遍及权利要求书所使用的那样,除非上下文明确地另外规定,否则“一”、“一个”以及“该”包括复数参考。并且,如在此在本描述中和遍及权利要求书所使用的那样,除非上下文明确地另外规定,否则“在...中”的意义包括“在...中”和“在...上”。
[0116] 上述描述连同可以如何实现特定实施例的方面的示例一起说明了各种实施例。上述示例和实施例不应该被认为是仅有的实施例,并且被呈现来说明如由权利要求书所定义的特定实施例的灵活性和优点。基于上述公开和权利要求书,在不背离如由本权利要求书所定义的其范围的情况下可以采用其它布置、实施例、实施方式以及等同物。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用