用于视频编码的方法和装置制造方法

文档序号:7993998阅读:192来源:国知局
用于视频编码的方法和装置制造方法
【专利摘要】本发明涉及一种用于视频信息的用于编码的方法、用于解码的方法、装置、计算机程序产品、编码器和解码器。从基于先前编码的运动矢量确定的运动矢量预测候选集合预测用于视频图像中的块的运动矢量。基于与第一空间运动矢量预测候选关联的块的位置并且与已经在集合中的运动矢量预测候选比较,来将运动矢量预测候选包括在集合中。
【专利说明】用于视频编码的方法和装置

【技术领域】
[0001]提供一种用于编码的方法、用于解码的方法、装置、计算机程序产品、编码器和解码器。

【背景技术】
[0002]本节旨在于提供在权利要求中记载的本发明的背景或者情境。这里的描述可以包括如下概念,这些概念可以被探求、但是未必是先前已经设想或者探求的概念。因此,除非这里另有指示,在本节中描述的内容不是在本申请中的说明书和权利要求书之前的现有技术并且未因包含于本节中而被承认为现有技术。
[0003]视频编码解码器可以包括将输入视频变换成适合用于存储和/或传输的压缩的表示的编码器以及可以将压缩的视频表示解压回成可查看形式的解码器,或者该编码器和该解码器中的任一个。编码器可以丢弃原有视频序列中的一些信息以便以更紧凑形式、例如在更低比特率表示视频。
[0004]例如根据国际电信联盟的ITU-T H.263和H.264编码标准操作的许多混合视频编码解码器在两个阶段中对视频信息进行编码。在第一阶段中,预测在某个画面区域或者“块”中的像素值。可以例如通过运动补偿机制预测这些像素值,这些运动补偿机制涉及到发现和指示在先前编码的视频帧中的与正在被编码的块接近地对应的一个先前编码的视频帧(或者以后编码的视频帧)中的区域。此外,可以通过空间机制预测像素值,这些空间机制涉及到例如通过使用在将以指定的方式编码的块周围的像素值来发现和指示空间区域关系。
[0005]使用来自先前(或者以后)图像的图像信息的预测方式也可以称为帧间预测方法,而使用在相同图像内的图像信息的预测方式也可以称为帧内预测方法。
[0006]第二阶段是对在预测的像素块与原有像素块之间的误差进行编码的阶段。这通常是通过使用指定的变换来变换像素值差值而实现的。这一变换通常是离散余弦变换(DCT)或者其变体。在变换差值之后,变换的差值可以被量化和熵编码。
[0007]通过改变量化过程的保真度,编码器可以控制在像素表示的准确度(换而言之,画面的质量)与所得编码的视频表示的大小(换而言之,文件大小或者传输比特率)之间的平衡。
[0008]解码器通过应用与编码器为了形成像素块的预测的表示而使用的预测机制相似的预测机制(使用由编码器创建的并且在图像的压缩的表示中存储的运动或者空间信息)和预测误差解码(预测误差编码的用于在空间域中恢复量化的预测误差信号的逆操作)来重构输出视频。
[0009]在应用像素预测和误差解码过程之后,解码器组合预测和预测误差信号(像素值)以形成输出视频帧。
[0010]解码器(和编码器)也可以应用附加滤波过程,以便在传递输出视频用于显示和/或存储为用于在视频序列中的即将来临的帧的预测参考之前提高它的质量。
[0011]在一些视频编码解码器、比如高效率视频编码工作草案4中,可以将视频画面划分成覆盖画面的区域的编码单元(CU)。编码单元由一个或者多个预测单元(PU)和一个或者多个变换单元(TU)构成,该一个或者多个定义用于在编码单元内的采样的预测过程,该一个或者多个TU定义用于在编码单元中的采样的预测误差编码过程。编码单元可以由具有从可能编码单元大小的预定义集合可选择的大小的采样方块构成。具有最大允许的大小的编码单元可以称为最大编码单元(LCU),并且可以将视频画面划分为多个非重叠最大编码单元。可以例如递归地拆分最大编码单元和所得编码单元来将最大编码单元进一步拆分成更小编码单元的组合。每个所得编码单元可以具有至少一个预测单元和与它关联的至少一个变换单元。可以将每个预测单元和变换单元进一步划分成更小预测单元和变换单元以便分别增加预测和预测误差编码过程的粒度。每个预测单元可以具有与它关联的预测信息,该预测信息定义对于在该预测单元内的像素将应用什么种类的预测(例如用于帧间预测的预测单元的运动矢量信息和用于帧内预测的预测单元的帧内预测有向信息)。相似地,每个变换单元可以与描述用于在变换单元内的采样的预测误差解码过程的信息(例如包括离散余弦变换(DCT)系数信息)关联。可以在编码单元用信号发送对于每个编码单元是否将应用预测误差编码。在没有与编码单元关联的预测误差残留值的情况下,可以认为没有用于编码单元的变换单元。可以在比特流中用信号发送将图像划分成编码单元以及将编码单元划分成预测单元和变换单元从而允许解码器再现这些单元的既定结构。
[0012]在一些视频编码解码器中,运动信息由与每个运动补偿的图像块关联的运动矢量指示。这些运动矢量表示在将(在编码器中)编码或者(在解码器中)解码的画面中的图像块和在先前编码或者解码的图像(或者画面)之一中的预测源块的移位。为了高效表示运动矢量,可以关于块特定的预测的运动矢量对运动矢量差分地进行编码。在一些视频编码解码器中,以预定义的方式、例如通过计算相邻块的编码或者解码的运动矢量的中值来创建预测的运动矢量。
[0013]用于创建运动矢量预测的另一方式是从在当前帧中的块和/或在时间参考画面中的共同定位或者其它的块生成候选预测列表或者集合并且用信号发送选择的候选作为运动矢量预测。空间运动矢量预测是仅基于与当前帧相同的帧的一个或者多个块的信息获得的预测,而时间运动矢量预测是基于与当前帧不同的帧的一个或者多个块的信息获得的预测。也可以有可能通过组合一个或者多个编码的块的空间和时间预测信息二者来获得运动矢量预测。这些种类的运动矢量预测称为空间-时间运动矢量预测。
[0014]除了预测运动矢量值之外,还可以预测在参考画面列表中的参考索引。可以从在当前帧中的块和/或在时间参考画面中的共同定位或者其它的块来预测参考索引。另外,一些高效率视频编码解码器运用常称为合并化/合并模式的附加运动信息编码/解码机制,其中预测和使用包括用于每个可用参考画面列表的运动矢量和对应参考画面索引的所有运动场信息而无任何修改或者校正。相似地,使用在当前帧中的块和/或在时间参考画面中的共同定位或者其它的块的运动场信息来执行对运动场信息的预测,并且在用在当前帧中的可用块和/或在时间参考画面中的共同定位或者其它的块的运动信息填充的运动场候选列表之中来用信号发送使用的运动场信息。
[0015]在一些视频编码解码器中,首先用变换内核(比如DCT)变换在运动补偿之后的预测残留值、然后对该预测残留值进行编码。对于这一点的原因在于经常仍然存在残留值之间的一些相关性,并且变换可以在许多情况下帮助减少这一相关性并且提供更高效编码。
[0016]一些视频编码解码器利用拉格朗日成本函数以发现最优编码模式、例如希望的宏块模式和关联运动矢量。这一种成本函数使用加权因子λ以将由于有损编码方法所致的(确切或者估计的)图像失真与为了表示在图像区域中的像素值而需要的(确切或者估计的)信息量连结在一起。
[0017]C = D+ λ R (I)
[0018]其中C是待最小化的拉格朗日成本,D是在考虑模式和运动矢量时的图像失真(例如均方误差),并且R是为了表示所需数据以在解码器中创建图像块而需要的位数(包括用于表示候选运动矢量的数据量)。
[0019]一些视频编码解码器、比如混合视频编码解码器可以生成由空间相邻块的运动矢量(空间MVP)和/或在先前解码的帧中的块的运动矢量(时间MVP)构成的运动矢量预测(MVP)列表。用信号发送在列表中的候选运动矢量之一以用作当前块的运动矢量预测。在生成列表之后,运动矢量预测候选中的一些运动矢量预测候选可以具有相同运动信息。在这一情况下,可以去除相同运动矢量预测候选以减少冗余。在解码期间,如果时间运动矢量预测信息例如由于丢失参考帧而不可用,则解码器可能不知道是否将去除在列表中的时间运动矢量预测候选。这可能导致对于从解码的候选索引到候选的映射的不确定性,这些候选的去除判决是基于对运动信息与时间运动矢量预测的比较的。作为结果,运动矢量预测候选的错误指派可能出现,该错误指派可能导致贯穿解码过程的画面质量的下降和错误运动信息漂移。


【发明内容】

[0020]本发明介绍一种用于为图像块生成运动矢量预测列表的方法。在一些实施例中,视频编码解码器在运动预测候选列表构造中运用一种用于减少实施的复杂性的方式。这可以通过执行在候选对之间的有限数目的运动信息比较以去除冗余候选而不是比较每个可能候选对来实现。是否比较两个候选的判决可以依赖于将被考虑用于列表的候选的顺序和/或与候选关联的块的编码/预测模式和/或位置。在一些实施例中,视频编码解码器运用用于运动信息编码的合并过程并且创建运动预测候选列表,来自该运动预测候选列表的候选之一将被发信号作为用于当前编码或者预测单元的运动信息。运动预测候选可以由若干空间运动预测和时间运动预测构成。从例如空间相邻块的运动信息获得空间候选。
[0021]根据本发明的第一方面,提供一种方法,该方法包括:
[0022]接收包括预测单元的像素块;
[0023]确定用于像素块的空间运动矢量预测候选集合;空间运动矢量预测候选提供有运动信息;
[0024]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0025]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0026]比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息;
[0027]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0028]根据本发明的第二方面,提供一种方法,该方法包括:
[0029]接收包括预测单元的编码的像素块;
[0030]确定用于编码的像素块的空间运动矢量预测候选集合;空间运动矢量预测候选提供有运动信息;
[0031]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0032]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0033]比较第一空间运动矢量预测候选的运动信息与空间运动矢量预测候选子集的另一空间运动矢量预测候选的运动信息;
[0034]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0035]根据本发明的第三方面,提供一种装置,该装置包括处理器和包括计算机程序代码的存储器,存储器和计算机程序代码被配置用于与处理器使该装置:
[0036]接收包括预测单元的像素块;
[0037]确定用于像素块的空间运动矢量预测候选集合;空间运动矢量预测候选提供有运动信息;
[0038]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0039]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0040]比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息;
[0041]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0042]根据本发明的第四方面,提供一种装置,该装置包括处理器和包括计算机程序代码的存储器,存储器和计算机程序代码被配置用于与处理器使该装置:
[0043]接收包括预测单元的编码的像素块;
[0044]确定用于编码的像素块的空间运动矢量预测候选集合;空间运动矢量预测候选提供有运动信息;
[0045]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0046]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0047]比较第一空间运动矢量预测候选的运动信息与空间运动矢量预测候选子集的另一空间运动矢量预测候选的运动信息;
[0048]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0049]根据本发明的第五方面,提供一种具有在其上存储的用于由编码器使用的计算机可执行程序代码的存储介质,所述程序代码包括用于以下操作的指令:
[0050]接收包括预测单元的像素块;
[0051]确定用于像素块的空间运动矢量预测候选集合;空间运动矢量预测候选提供有运动信息;
[0052]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0053]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0054]比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息;
[0055]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0056]根据本发明的第六方面,提供一种具有在其上存储的用于由解码器使用的计算机可执行程序代码的存储介质,所述程序代码包括用于以下操作的指令:
[0057]接收包括预测单元的编码的像素块;
[0058]确定用于编码的像素块的空间运动矢量预测候选集合;空间运动矢量预测候选提供有运动信息;
[0059]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0060]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0061]比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息;
[0062]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0063]根据本发明的第七方面,提供一种装置,该装置包括:
[0064]用于接收包括预测单元的像素块的装置;
[0065]用于确定用于像素块的空间运动矢量预测候选集合的装置;空间运动矢量预测候选提供有运动信息;
[0066]用于从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选的装置;
[0067]用于基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集的装置;
[0068]用于比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息的装置;
[0069]用于如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应则从合并列表排除第一空间运动矢量预测候选的装置。
[0070]根据本发明的第八方面,提供一种装置,该装置包括:
[0071]用于接收包括预测单元的编码的像素块的装置;
[0072]用于确定用于编码的像素块的空间运动矢量预测候选集合的装置;空间运动矢量预测候选提供有运动信息;
[0073]用于从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选的装置;
[0074]用于基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集的装置;
[0075]用于比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息的装置;
[0076]用于如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应则从合并列表排除第一空间运动矢量预测候选的装置。

【专利附图】

【附图说明】
[0077]为了更好地理解本发明,现在将通过示例参照附图,在附图中:
[0078]图1示意地示出运用本发明的一些实施例的电子设备;
[0079]图2示意地示出适合用于运用本发明的一些实施例的用户设备;
[0080]图3进一步示意地示出使用无线和有线网络连接而连接的运用本发明的实施例的电子设备;
[0081]图4a示意地示出如在编码器内并入的本发明的一个实施例;
[0082]图4b示意地示出根据本发明的一些实施例的预测参考列表生成和修改的一个实施例;
[0083]图5a和图5b不出流程图,该流程图不出关于如图4a中所不编码器的本发明的一个实施例的操作;
[0084]图6a图示预测单元的空间和时间预测的示例;
[0085]图6b图示预测单元的空间和时间预测的另一示例;
[0086]图7示意地示出如在解码器内并入的本发明的一个实施例;
[0087]图8a和图8b示出流程图,该流程图示出关于如图7中所示解码器的本发明的一个实施例的操作;
[0088]图9图示编码单元和编码单元的一些相邻块的示例;
[0089]图1Oa图示编码单元的水平划分的示例;
[0090]图1Ob图示编码单元的垂直划分的示例;
[0091]图1la图示用于作为水平划分的编码单元的第二预测单元而生成的预测单元的五个空间邻居A0、A1、B0、B1、B2的位置;
[0092]图1lb图示用于作为垂直划分的编码单元的第二预测单元而生成的预测单元的五个空间邻居的位置;并且
[0093]图12图示在编码单元的一些空间邻居之间的块的示例。
具体实施例
[0094]下文进一步具体描述的用于提供提供提升预测准确性、因此可能减少将在视频编码系统中传输的信息的适当装置和可能机制。就这一点而言,首先参照图1,该图示出示例装置或者电子设备50的示意框图,该装置或者电子设备可以并入根据本发明的一个实施例的编码解码器。
[0095]电子设备50可以例如是无线通信系统的移动终端或者用户设备。然而将理解可以在可能需要对视频图像进行编码和解码或者编码或者解码的任何电子设备或者装置内实施本发明的实施例。
[0096]装置50可以包括用于并入和保护设备的壳30。装置50还可以包括形式为液晶显示器的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或者视频的任何适当显示器技术。装置50还可以包括小键盘34。在本发明的其它实施例中,可以运用任何适当数据或者用户接口机制。例如可以实施用户接口为虚拟键盘或者数据录入系统作为触敏显示器的部分。装置可以包括麦克风36或者任何适当音频输入,该音频输入可以是数字或者模拟信号输入。装置50还可以包括如下音频输出设备,该音频输出设备在本发明的实施例中可以是以下各项中的任何一项:耳机38、扬声器或者模拟音频或者数字音频输出连接。装置50也可以包括电池40 (或者在本发明的其它实施例中,设备可以由任何适当移动能量设备、比如太阳能电池、燃料电池或者时钟机构生成器供电)。装置还可以包括用于与其它设备的近程视线通信的红外线端口 42。在其它实施例中,装置50还可以包括任何适当近程通信解决方案、如比如蓝牙无线连接或者USB/火线有线连接。
[0097]装置50可以包括用于控制装置50的控制器56或者处理器。控制器56可以连接到存储器58,该存储器在本发明的实施例中可以存储形式为图像的数据和音频数据二者和/或也可以存储用于在控制器56上实施的指令。控制器56还可以连接到适合于实现音频和/或视频数据的编码和解码或者辅助由控制器56实现的编码和解码的编码解码器电路装置54。
[0098]装置50还可以包括用于提供用户信息并且适合于提供用于在网络认证和授权用户的认证信息的读卡器48和智能卡46、例如nCC和nCC读取器。
[0099]装置50可以包括无线电接口电路装置52,该无线电接口电路装置连接到控制器并且适合于生成例如用于与蜂窝通信网络、无线通信系统或者无线局域网通信的无线通信信号。装置50还可以包括天线44,该天线连接到无线电接口电路装置52用于向其它装置发送在无线电接口电路装置52生成的射频信号以及用于从其它装置接收射频信号。
[0100]在本发明的一些实施例中,装置50包括能够记录或者检测个别帧的相机,这些帧然后向编码解码器54或者控制器传递用于处理。在本发明的一些实施例中,装置可以在传输和/或存储之前从另一设备接收视频图像数据用于处理。在本发明的一些实施例中,装置50可以无线或者通过有线连接接收图像用于编码/解码。
[0101]关于图3,示出可以在其中利用本发明的实施例的系统的示例。系统10包括可以通过一个或者多个网络通信的多个通信设备。系统10可以包括有线或者无线网络的任何组合、这些有线或者无线网络包括但不限于无线蜂窝电话网络(比如GSM、UMTS、CDMA网络等)、比如IEEE802.X标准中的任何标准定义的无线局域网(WLAN)、蓝牙专用网络、以太网局域网、令牌环局域网、广域网和因特网。
[0102]系统10可以包括适合用于实施本发明的实施例的有线和无线通信设备二者或者装置50。
[0103]例如图3中所示系统示出移动电话网络11并且示出因特网28的表示。与因特网28的连通可以包括但不限于远程无线连接、近程无线连接和各种有线连接,这些有线连接包括但不限于电话线路、线缆线路、功率线路和相似通信途径。
[0104]系统10中所示示例通信设备可以包括但不限于电子设备或者装置50、个人数字助理(PDA)和移动电话14的组合、PDA16、集成消息接发设备(MD) 18、桌面型计算机20、笔记本计算机22。装置50可以静止或者在由移动的个人携带时可移动。装置50也可以位于运输模式中,该运输模式包括但不限于小汽车、卡车、出租车、公共汽车、火车、船只、飞机、自行车、摩托车或者任何相似的适当运输模式。
[0105]一些或者更多装置可以发送和接收呼叫和消息并且通过与基站24的无线连接25与服务提供商通信。基站24可以连接到网络服务器26,该网络服务器允许在移动电话网络11与因特网28之间的通信。系统可以包括附加通信设备和各种类型的通信设备。
[0106]通信设备可以使用各种传输技术来通信,这些传输技术包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-网际协议(TCP-1P)、短消息接发服务(SMS)、多媒体消息接发服务(MMS)、电子邮件、即时消息接发服务(MS)、蓝牙、IEEE802.11和任何相似无线通信技术。参与实施本发明的各种实施例的通信设备可以使用各种介质来通信,这些介质包括但不限于无线电、红外线、激光、线缆连接和任何适当连接。
[0107]关于图4a示出适合用于实现本发明的实施例的视频编码器的框图。另外关于图5a和图5b,示出编码器的操作为流程图,该操作具体关于选择构造候选预测列表举例说明本发明的实施例。
[0108]图4a示出编码器为包括像素预测器302、预测误差编码器303和预测误差解码器304。图4a也示出像素预测器302的一个实施例为包括帧间预测器306、帧内预测器308、模式选择器310、滤波器316和参考帧存储器318。在这一实施例中,模式选择器310包括块处理器381和成本评估器382。编码器还可以包括用于对比特流进行熵编码的熵编码器330。
[0109]图4b描绘帧间预测器306的一个实施例。帧间预测器306包括用于选择一个或者多个参考帧的参考帧选择器360、运动矢量定义器361、预测列表修改器363和运动矢量选择器364。这些单元或者它们中的一些单元可以是预测处理器362的部分或者可以通过使用其它装置来实施它们。
[0110]像素预测器302接收将在帧间预测器306 (该帧间预测器确定在图像与运动补偿的参考帧318之间的差值)和帧内预测器308(该帧内预测器仅基于当前帧或者画面的已经处理的部分确定对于图像块的预测)二者编码的图像300。可以向模式选择器310传递帧间预测器和帧内预测器二者的输出。帧内预测器308可以具有多于一个帧内预测模式。因此,每个模式可以执行帧内预测并且向模式选择器310提供预测的信号。模式选择器310也接收图像300的副本。
[0111]模式选择器310确定使用哪个编码模式对当前块进行编码。如果模式选择器310判决使用帧间预测模式,则它将向模式选择器310的输出传递帧间预测器306的输出。如果模式选择器310判决使用帧内预测模式,则它将向模式选择器310的输出传递帧内预测器模式之一的输出。
[0112]向第一求和设备321传递模式选择器的输出。第一求和设备可以从图像300减去像素预测器302的输出以产生向预测误差编码器303输入的第一预测误差信号320。
[0113]像素预测302还从初步重构器339接收图像块312的预测表示和预测误差解码器304的输出338的组合。可以向帧内预测器308和向滤波器316传递初步重构的图像314。接收初步表示的滤波器316可以对初步表示进行滤波并且输出可以在参考帧存储器318中保存的最终重构的图像340。参考帧存储器318可以连接到帧间预测器306以用作在帧间预测操作中将来图像300与之比较的参考图像。
[0114]像素预测器302的操作可以被配置用于执行本领域已知的任何已知像素预测算法。
[0115]像素预测器302也可以包括用于在从像素预测器302输出预测的值之前对它们进行滤波的滤波器385。
[0116]下文将进一步具体描述预测误差编码器302和预测误差解码器304的操作。在下文中,编码器按照将要形成全图像或者画面的16x16像素宏块生成图像。因此,对于以下示例,像素预测器302输出大小为16x16个像素的系列预测的宏块,并且第一求和设备321输出系列16x16像素残留值数据宏块,这些残留值数据宏块可以表示在图像300中的第一宏块与预测的宏块(像素预测器302的输出)之间的差值。将连接可以使用其它大小的宏块。
[0117]预测误差编码器303包括变换块342和量化器344。变换块342将第一预测误差信号320变换到变换域。变换例如是DCT变换。量化器344量化变换域信号、例如DCT系数以形成量化的系数。
[0118]预测误差解码器304从预测误差编码器303接收输出并且执行预测误差编码器303的逆过程以产生解码的预测误差信号338,该解码的预测误差信号在第二求和设备339处与图像块312的预测表示组合时产生初步重构的图像314。可以认为预测误差解码器包括去量化器346和逆变换块348,该去量化器346将量化的系数值、例如DCT系数去量化以重构变换信号,该逆变换块348对重构的变换信号执行逆变换,其中逆变换块348的输出包含重构的块。预测误差解码器也可以包括可以根据进一步解码的信息和滤波器参数对重构的宏块进行滤波的宏块滤波器(未示出)。
[0119]在下文中,将更具体描述帧间预测器306的一个示例实施例的操作。帧间预测器306接收用于帧间预测的当前块。假设对于当前块,已经存在已经编码的一个或者多个邻近块,并且已经为它们定义运动矢量。例如在当前块的左侧上的块和/或之上的块可以是这样的块。可以例如通过使用在相同片或者帧中的编码的邻近块和/或非相邻块的运动矢量、使用空间运动矢量预测的线性或者非线性函数、使用各种空间运动矢量与线性或者非线性运算的组合或者通过未利用时间参考信息的任何其它适当手段,来形成用于当前块的空间运动矢量预测。也可以有可能通过合并一个或者多个编码的块的空间和时间预测信息二者来获得运动矢量预测。这些种类的运动矢量预测器也可以称为空间-时间运动矢量预测器。
[0120]已经向参考帧存储器404存储在对邻近块进行编码时使用的参考帧。参考帧可以是短期参考或者长期参考,并且每个参考帧可以具有指示参考帧在参考帧存储器中的位置的唯一索引。在参考帧不再用作参考帧时,可以从参考帧存储器去除它或者标记它为非参考帧,其中为新参考帧占用该参考帧的存储位置。除了邻近块的参考帧之外,参考帧选择器360也可以选择一个或者多个其它帧作为潜在参考帧并且向参考帧存储器存储它们。
[0121]也向存储器中存储编码的块的运动矢量信息,从而帧间预测器306能够在处理用于当前块的运动矢量候选时取回运动矢量信息。
[0122]在一些实施例中,向一个或者多个列表中存储运动矢量。例如可以向称为列表O的列表存储单向预测的帧(例如P帧)的运动矢量。对于双向预测的帧(例如B帧),可以有两个列表(列表O和列表I),并且对于多预测的巾贞,可以有多于两个列表。也可以在一个或者多个列表中存储可能与运动矢量关联的参考帧索引。
[0123]在一些实施例中,可以有两个或者更多运动矢量预测过程,并且每个过程可以具有它自己的候选集合创建过程。在一个过程中,仅使用运动矢量值。在可以称为合并模式的另一过程中,每个候选元素可以包括I)是否‘仅使用列表O来单预测块块’或者‘仅使用列表I来单预测块’或者‘使用列表O和列表I来双预测块’这样的信息、2)用于列表O的运动矢量值、3)在列表O中的参考画面索引、4)用于列表I的运动矢量值、5)在列表I中的参考画面索引。因此,无论何时将比较两个预测矢量,不仅比较运动矢量值,而且可以比较以上提到的五个值以确定它们是否相互对应。在另一方面,如果比较中的任何比较指示预测候选无相等运动信息,则无需执行进一步比较。
[0124]运动矢量定义器361通过使用当前块在相同帧中的一个或者多个相邻块和/或其它块和/或当前块在一个或者多个其它帧中的共同定位的块和/或其它块的运动矢量中的一个或者多个运动矢量,来定义用于当前帧的候选运动矢量。这些候选运动矢量可以称为候选预测器集合或者预测器集合。每个候选预测器因此表示一个或者多个已经编码的块的运动矢量。在一些实施例中,如果当前块和相邻块引用用于相同列表的相同参考帧,则对于该列表设置候选预测器的运动矢量等于相邻块的运动矢量。也对于时间预测,可以有一个或者多个先前编码的帧,其中可以选择在先前编码的帧中的共同定位的块或者其它块的运动矢量作为用于当前块的候选预测器。可以通过利用除了当前帧之外的帧的任何手段来生成时间运动矢量预测器候选。
[0125]也可以通过使用一个或者多个其它块(比如当前块的邻近块和/或在一个或者多个其它帧中的共同定位的块)的多于一个运动矢量,来获得候选运动矢量。作为示例,可以使用在当前块的左侧的块的运动矢量、在当前块以上的块的运动矢量、以及在当前块的右上角的块(即在当前块之上块的右侧的块)的运动矢量的任何组合。组合可以是运动矢量的中值或者通过使用其它公式来计算。例如可以按照缩放因子缩放将在组合中使用的运动矢量中的一个或者多个运动矢量、可以添加偏移和/或可以添加恒定运动矢量。在一些实施例中,组合的运动矢量基于时间和空间运动矢量二者、例如当前块的相邻块或者其它块中的一个或者多个块的运动矢量、以及在另一帧中的共同定位的块或者其它块的运动矢量。
[0126]如果相邻块无任何运动矢量信息,则可以代之以使用默认运动矢量、比如零运动矢量。
[0127]图9图示编码单元900和编码单元的一些相邻块901-905的示例。如从图9可见,如果编码单元900表示当前块,则标注为A0、Al、B0、BI和B2的邻近块901-905可以是这样的可在获得候选运动矢量时被使用的相邻块。
[0128]可能在当前候选数目有限或者不足时需要基于先前添加的预测器创建附加或者额外运动矢量预测。可以通过组合先前两个预测和/或通过缩放或者添加偏移和/或添加具有各种参考索引的零运动矢量处理一个先前候选,来执行这种创建附加候选。因此,运动矢量定义器361可以检查可以定义多少运动矢量候选以及对于当前块存在多少潜在候选运动矢量。如果潜在运动矢量候选数目小于阈值,则运动矢量定义器361可以创建附加运动矢量预测。
[0129]在一些实施例中,组合的运动矢量可以基于在不同列表中的运动矢量。例如可以例如在邻近或者共同定位的块是双向预测的块并且存在有用于双向预测的块的在列表O中的一个运动矢量和在列表I中的一个运动矢量时、通过组合来自列表O的一个运动矢量和来自列表I的一个运动矢量,来定义一个运动矢量。
[0130]为了区分当前块与编码/解码的块,这些编码/解码的块的运动矢量用作候选运动矢量,这些编码/解码的块在本申请中也称为参考块。
[0131]在一些实施例中,不仅获得参考块的运动矢量信息(例如通过复制),而且可以向候选列表复制在参考画面列表中的参考块的参考索引。也可以复制关于是否仅使用列表O来单预测该块,还是仅使用列表I来单预测该块,还是使用列表O和列表I来双预测该块的信息。候选列表也可以称为候选集合或者运动矢量预测候选集合。
[0132]图6a图示预测单元的空间和时间预测的示例。描绘有在帧600中的当前块601和已经编码的相邻块602。运动矢量定义器361已经定义用于相邻块602的运动矢量603,该运动矢量指向在先前605中的块604。这一运动矢量可以用作为用于当前块的潜在空间运动矢量预测610。图6a描绘在先前帧605中的共同定位的块606、即在与当前块相同的位置、但是在先前帧中的块具有运动矢量607,该运动矢量指向在另一帧608中的块609。这一运动矢量607可以用作为用于当前帧的潜在时间运动矢量预测611。
[0133]图6b图示预测单元的空间和时间预测的另一示例。在这一示例中,先前帧605的块606使用基于在帧605前面的帧的块609和基于在当前帧600后面的块612的双向预测。可以通过使用运动矢量607、614 二者或者它们中的任一运动矢量来形成用于当前块601的时间运动矢量预测。
[0134]现在将参照图5a和图5b的流程图更具体描述预测列表修改器363的操作。预测列表修改器363在图5a的块500中将运动矢量预测列表初始化成默认值。预测列表修改器363也可以将列表索引初始化成初始值、比如零。然后在块501中,预测列表修改器校验是否有将处理的任何运动矢量候选。如果在预测器集合中存在用于处理的至少一个运动矢量候选,则预测列表修改器363生成下一运动矢量候选,该下一运动矢量候选可以是时间运动矢量或者空间运动矢量。比较可以是相等性/等价性校验或者比较(绝对)差值与阈值或者任何其它相似性度量。
[0135]在下文中,将更具体描述根据一个示例实施例的用于运动信息编码的合并过程。编码器创建运动预测候选列表,来自该运动预测候选列表的候选之一将被信令通知作为用于当前编码单元或者预测单元的运动信息。运动预测候选可以由若干空间运动预测和时间运动预测构成。可以从例如空间相邻块A0、Al、B0、B1、B2的运动信息获得空间候选,这些空间候选的运动信息用作空间候选运动预测。可以通过处理在除了当前帧之外的帧中的块的运动来获得时间运动预测候选。在这一示例实施例中,用于为空间候选构造合并列表的编码器操作可以包括以下操作。操作可以例如由预测列表修改器363执行。
[0136]可以定义将在合并列表中包括的空间运动预测候选的最大数目。这一最大数目可以已经例如被存储到装置50的存储器58或者另一适当地点。也有可能通过使用其它手段来确定最大数目或者可以在装置50的编码器的软件中确定它。
[0137]在一些实施例中,将在合并列表中包括的空间运动预测候选的最大数目是四个,但是在一些实施例中,最大数目可以小于四个或者大于四个。
[0138]在这一示例中,空间运动预测候选是空间相邻块A0、A1、B0、B1、B2。在编码/解码顺序是从待编码/解码的帧、片或者另一实体的左到右和上到下时空间运动矢量预测候选Al位于预测单元的左侧。分别地,空间运动矢量预测候选BI位于预测单元之上;空间运动矢量预测候选BI在空间运动矢量预测候选BI的右侧;空间运动矢量预测候选AO在空间运动预测候选Al之下;并且空间运动矢量预测候选B2位于与空间运动矢量预测候选Al相同的列和与空间运动矢量预测候选BI相同的行处。换而言之,空间运动矢量预测候选B2如例如从图9可见与预测单元对角邻近。
[0139]可以按照预定顺序、例如Al、B1、B0、Al和B2处理这些空间运动预测候选。将被选择用于进一步检查的第一空间运动预测候选因此是Al。在对于选择的空间运动预测候选进行进一步检查之前,可以确定合并列表是否已经包含最大数目的空间运动预测候选。因此,预测列表修改器363比较502在合并列表中的空间运动预测候选的数目与最大数目,并且如果在合并列表中的空间运动预测候选的数目不小于最大数目,则不在合并列表中包括选择的空间运动预测候选,并且可以停止526构造合并列表的过程。在另一方面,如果在合并列表中的空间运动预测候选的数目小于最大数目,则执行选择的空间运动预测候选的进一步分析(块504-522)。
[0140]对于将被执行进一步分析的所有空间运动预测候选,可以测试以下条件中的一些或者所有条件用于确定是否在合并列表中包括空间运动预测候选。
[0141]预测列表修改器363检查504覆盖空间运动预测候选块的预测单元或者块是否不可用于运动预测。如果是这样,则不在合并列表中包括候选。块不可用的原因可以是块在帧内模式中被编码、或者驻留在不同片或者在画面区域以外。
[0142]除了以上公共条件之外,对于每个空间运动预测候选,如果以下条件中的每个条件成立,则不在合并列表中包括候选,否则包括它。
[0143]预测列表修改器363确定506空间运动预测候选集合的哪个空间运动预测候选被讨论。如果空间运动预测候选是块Al,则可以检查508、510以下条件中的一个或者多个条件以确定是否在合并列表中包括这一空间运动预测候选。如果当前编码单元100如图1Ob中描绘的那样被垂直拆分成两个矩形预测单元103、104,并且当前预测单元是按照编码/解码顺序的第二预测单元104 (508),则不在合并列表中包括这一空间运动预测候选。如果当前编码单元100未被垂直拆分成两个矩形预测单元,但是它如图1Oa中描绘的那样被水平拆分成两个矩形预测单元101、102,并且当前预测单元是按照编码/解码顺序的第二预测单元,而且块Al具有与块BI相同的运动信息(510),则不在合并列表中包括这一空间运动预测候选(块Al)。在图1Oa的示例中,第二预测单元是编码单元100的下预测单元102,而在图1Ob的示例中,第二预测单元是编码单元100的最右预测单元104。如果未满足以上条件中的任何条件,则在合并列表中包括块Al作为空间运动预测候选(524)。
[0144]如果空间运动预测候选是块BI,则可以检查512、514以下条件中的一个或者多个条件以确定是否在合并列表中包括这一空间运动预测候选。如果当前编码单元100如图1Oa中描绘的那样被水平拆分成两个矩形预测单元101、102,并且当前预测单元是按照编码/解码顺序的第二预测单元104(512),则不在合并列表中包括这一空间运动预测候选。如果当前编码单元100未被水平拆分成两个矩形预测单元,并且如果块BI具有与块Al相同的运动信息(514),则不在合并列表中包括这一空间运动预测候选(块BI)。如果未满足以上条件中的任何条件,则不在合并列表中包括块BI作为空间运动预测候选(524)。
[0145]如果空间运动预测候选是块BO,那么如果块BO具有与块BI相同的运动信息,则不在合并列表中包括这一空间运动预测候选(516)。否则,如果在合并列表中的空间运动预测候选的数目小于空间运动预测候选的最大数目,则在合并列表中包括这一空间运动预测候选(块 B0) (524)。
[0146]如果空间运动预测候选是块AO,那么如果块AO具有与块AI相同的运动信息,则不在合并列表中包括这一空间运动预测候选(518)。否则,如果在合并列表中的空间运动预测候选的数目小于空间运动预测候选的最大数目,则在合并列表中包括这一空间运动预测候选(块 A0) (524)。
[0147]如果空间运动预测候选是块B2,那么如果空间运动预测候选的最大数目是四个,并且其它块A0、Al、BO和BI都被判决被包括在合并列表中,则不在合并列表中包括这一空间运动预测候选(520)。否则,如果在合并列表中的空间运动预测候选的数目小于空间运动预测候选的最大数目,那么如果块B2具有与块BI或者块Al相同的运动信息,则不在合并列表中包括块B2 (522)。
[0148]然后,在处理块Al、B1、BO、AO和B2并且基于以上描述的条件在合并列表中包括它们的子集之后,不再执行在这些候选之间的更多冗余性校验,并且可以处理其余时间运动预测候选和/或其它可能附加候选。
[0149]可以通过比较运动信息的所有元素来执行比较两个块它们是否具有相同运动、SPI)是否‘预测单元仅使用参考画面列表O来单预测’或者‘预测单元仅使用参考画面列表I来单预测’或者‘预测单元使用参考画面列表O和列表I 二者来双预测’这样的信息、2)与参考画面列表O对应的运动矢量值、3)在参考画面列表O中的参考画面索引、4)与参考画面列表I对应的运动矢量值、5)在参考画面列表I中的参考画面索引。
[0150]在一些实施例中,如果通过拆分成四个或者任何数目的预测单元对当前编码源进行编码/解码,则可以应用用于比较候选对的相似约束。
[0151]合并列表候选的最大数目可以是任何非零值。在以上示例中,合并列表候选是空间相邻块A0、Al、B0、B1、B2和时间运动预测候选,但是可以有多于一个时间运动预测候选并且也有除了空间相邻块之外的其它空间运动预测候选。在一些实施例中,也可以有除了块A0、A1、B0、B1、B2之外的其它空间相邻块。
[0152]也有可能的是包括在列表中的空间运动预测候选的最大数目可以不同于四个。
[0153]在一些实施例中,合并列表候选的最大数目和在列表中包括的空间运动预测候选的最大数目可以依赖于是否在列表中包括时间运动矢量候选。
[0154]可以处理位于当前帧中的各种位置的不同数目的空间运动预测候选。位置可以与A1、B1、B0、A0和B2相同或者不同。
[0155]可以在两个步骤中实现在列表中包括哪些空间运动预测候选的判决。在第一步骤中,通过校验候选块是否可用和/或候选块的预测模式是否为帧内和/或当前块是否为用两个预测单元编码的编码单元的第二预测单元以及候选是否具有与第一预测单元相同的运动,来消除候选中的一些候选。在第二步骤中,检查其余候选,并且在合并列表中包括它们中的一些或者所有候选。在第二步骤中的检查不包括比较每个可能候选对的运动信息、但是包括可能比较组合的子集。
[0156]可以按照Al、B1、BO、AO和B2的任何顺序或者并行独立做出对于候选的判决。
[0157]对于每个候选和/或候选的子集,也可以校验以下条件:在当前编码单元被拆分成两个矩形预测单元并且当前预测单元是按照编码/解码顺序的第二预测单元时,候选块是否具有与当前编码单元的第一预测单元相同的运动。
[0158]与当前和/或先前片和/或当前和/或相邻块的各种性质有关的附加条件可以用于确定是否在列表中包括候选。
[0159]可以通过比较整个运动信息的子集来实现运动比较。例如可以仅比较用于一些或者所有参考画面列表的运动矢量值和/或用于一些或者所有参考画面列表的参考索引和/或向每个块指派的用于表示它的运动信息的标识符值。比较可以是相同性或者等价性校验或者比较(绝对)差值与阈值或者任何其它相似性度量。
[0160]用于判决是否将在列表中包括候选的条件可以包括只要未最终比较所有可能候选对就与候选的任何子集的运动信息比较。
[0161]判决是否将在列表中包括时间运动矢量候选可以基于比较它的运动信息与空间运动矢量预测候选的子集的运动信息。
[0162]在比较两个块的运动信息时,也可以考虑附加块的运动信息。例如在比较块B2和块Al时,校验在块B2与块Al之间的所有块(图12中所示)它们是否具有相同运动;并且在比较块B2和块BI时,校验在块B2与块BI之间的所有块(图12中所示)它们是否具有相同运动。可以实施这一实施例使得每个预测单元的最右块或者每个预测单元的所有块可以存储与之上块的多少连续块具有相同运动信息这样的信息。使用这一信息,可以通过校验在BO左侧的具有相同运动的连续块的数目是否大于O来实现用于不在列表中包括BO的条件。可以通过校验在AO之上的具有相同运动的连续块的数目是否大于O来实现用于不在列表中包括AO的条件。可以修改用于不包括B2的条件如下:
[0163]未检查块B2是否具有与块BI相同的运动或者块B2是否具有与块Al相同的运动、而是检查在块BI左侧存在多少连续块具有与块BI相同的运动和/或在块Al之上存在多少连续块具有相同运动。如果在块BI左侧的具有相同运动的连续块的数目大于在B2与BI之间的块的数目,或者如果在块Al之上的具有相同运动的连续块的数目大于在块B2与块Al之间的块的数目,则不在合并列表中包括块B2。
[0164]如果使用以上实现方式,则可以通过直接比较运动信息或者校验预测模式和/或如果块运用合并过程则校验合并索引,来确定在左侧/之上的多少连续块具有相同运动信息的值。
[0165]在对选择的合并索引进行编码/解码时,可以考虑合并过程是否被运用用于对跳跃模式编码单元或者帧间合并模式预测单元进行编码/解码。例如,如果上下文自适应二进制算术编码器(CABAC)用于熵编码/编码,则不同上下文可以根据当前块的编码模式(跳跃模式或者帧间合并模式)而被用于仓(bin)。另外,可以仅对于合并索引的最高有效仓应用根据是否在跳跃模式编码单元或者帧间合并模式预测单元中运用合并过程来指派两个上下文。
[0166]在去除冗余候选的过程期间,在运动矢量预测候选之间的比较可以基于除了运动矢量值之外的任何其它信息。例如它可以基于运动矢量值的线性或者非线性函数、用来获得运动信息的块的编码或者预测类型、块大小、在帧/(最大)编码单元/宏块中的空间位置、块是否共享与块的相同运动的信息、块是否在相同编码/预测单元中的信息等。
[0167]以下伪代码举例说明用于构造合并列表的本发明的一个示例实施例。
[0168]向这一过程的输入是:
[0169]-照度位置(xP,yP),该照度位置指定当前预测单元相对于当前画面的左上采样而言的左上照度采样;
[0170]-变量,这些变量指定用于照度的预测单元的宽度和高度nPSW和nPSH;以及
[0171]-变量Partldx,该变量指定当前预测单元在当前编码单元内的索引。
[0172]这一过程的输出是(令N被ArApBc^B1或者B2取代并且令X被O或者I取代):
[0173]-邻近预测单元的可用性标志availableFlagN,
[0174]-邻近预测单元的参考索引refldxLXN,
[0175]-邻近预测单元的预测列表利用标志predFlagLXN,
[0176]-邻近预测单元的运动矢量mvLXN。
[0177]为了推导 availableFlagN,令 N 为 A。、A1、B。、B1 或者 B2 并且(xN, yN)为(xP-Ι, yP+nPSH)、(xP-1, yP+nPSH-1)、(xP+nPSW, yP_l)、(xP+nPSff-1, yP-Ι)或者(xP-Ι, yP-Ι),以下适用。
[0178]-如果条件之一成立,则availableFlagN被设置成0,两个分量mvLXN被设置等于0,并且覆盖照度位置(xN, yN)的预测单元的refldxLXN和predFlagLX[xN, yN]被分别指派给 mvLXN、refldxLXN 和 predFlagLXN。
[0179]-N 等于 B2 并且 availableFlagAd+availableFlagAi+availableFlagBd+avaiIableFlagB1 等于 4。
[0180]-覆盖照度位置(xN,yN)的预测单元不可用或者PredMode是M0DE_INTRA。
[0181]-N等于Al并且当前预测单元的PartMode是PART_Nx2N或者PART_nLx2N或者PART_nRx2N 并且 PartIdx 等于 I。
[0182]-N等于Al并且当前预测单元的PartMode是PART_2NxN或者PART_2NxnU或者PART_2NxnD并且PartIdx等于I并且覆盖照度位置(xP+nPSW-1,yP-Ι) (N = BI)和照度位置(xN, yN) (Cand.N)的预测单元具有相同运动参数:
[0183]-mvLX[xP+nPSff-1, yP-Ι] = = mvLX[xN, yN]
[0184]-ref IdxLX[xP+nPSff-1, yP-Ι] == ref IdxLX[xN, yN]
[0185]-predFlagLX[xP+nPSff-1, yP-Ι] == predFlagLX[xN, yN]
[0186]-N等于BI并且当前预测单元的PartMode是2NxN或者PART_2NxnU或者PART_2NxnD 以及 PartIdx 等于 I。
[0187]-N等于BI并且覆盖照度位置(xP-1,yP+nPSH-Ι) (N = Al)和照度位置(xN,yN)(Cand.N)的预测单元具有相同运动参数:
[0188]-mvLX[xP-l, yP+nPSH-1] = = mvLX[xN, yN]
[0189]-refIdxLX[xP-Ι, yP+nPSH-1] == refIdxLX[xN, yN]
[0190]-predFlagLX [xP-1, yP+nPSH-Ι] == predFlagLX [xN, yN]
[0191]-N等于BO并且覆盖照度位置(xP+nPSW-1,yP-Ι) (N = BI)和照度位置(xN,yN)(Cand.N)的预测单元具有相同运动参数:
[0192]-mvLX[xP+nPSW-1, yP-Ι] = = mvLX[xN, yN]
[0193]-refIdxLX[xP+nPSW-1, yP-Ι] == refIdxLX[xN, yN]
[0194]-predFlagLX [xP+nPSW-1, yP-Ι] == predFlagLX [xN, yN]
[0195]-N等于AO并且覆盖照度位置(xP-1,yP+nPSH-Ι) (N = Al)和照度位置(xN,yN)(Cand.N)的预测单元具有相同运动参数:
[0196]-mvLX[xP-l, yP+nPSH-Ι] = = mvLX[xN, yN]
[0197]-refIdxLX[xP-1, yP+nPSH-Ι] == refIdxLX[xN, yN]
[0198]-predFlagLX [xP-1, yP+nPSH-Ι] == predFlagLX [xN, yN]
[0199]-N等于B2并且覆盖照度位置(xP+nPSW-1,yP-Ι) (N = BI)和照度位置(xN,yN)(Cand.N)的预测单元具有相同运动参数:
[0200]-mvLX[xP+nPSW-1, yP-Ι] = = mvLX[xN, yN]
[0201]-refIdxLX[xP+nPSW-1, yP-Ι] == refIdxLX[xN, yN]
[0202]-predFlagLX [xP+nPSW-1, yP-Ι] == predFlagLX [xN, yN]
[0203]-N等于B2并且覆盖照度位置(xP-1,yP+nPSH-Ι) (N = Al)和照度位置(xN,yN)(Cand.N)的预测单元具有相同运动参数:
[0204]-mvLX[xP-l, yP+nPSH-Ι] = = mvLX[xN, yN]
[0205]-refIdxLX[xP-1, yP+nPSH-Ι] == refIdxLX[xN, yN]
[0206]-predFlagLX [xP-1, yP+nPSH-Ι] == predFlagLX [xN, yN]
[0207]-当前预测单元的PartMode是PARTNxN并且PartIdx等于3并且覆盖照度位置(xP-Ι, yP) (Partldx = 2)和照度位置(xP_l,yP_l) (Partldx = O)的预测单元具有相同运动参数:
[0208]-mvLX[xP-l, yP] = = mvLX[xP-l, yP-Ι]
[0209]-ref IdxLX[xP-Ι, yP] == refIdxLX[xP-l, yP-1]
[0210]-predFlagLX [xP-Ι, yP] == predFlagLX [xP-Ι, yP-1]
[0211]并且覆盖照度位置(xP,yP-Ι) (Partldx = I)和照度位置(xN,yN) (Cand.N)的预测单元具有相同运动参数:
[0212]-mvLX[xP, yP-Ι] = = mvLX[xN, yN]
[0213]-ref IdxLX[xP, yP-Ι] == ref IdxLX[xN, yN]
[0214]-predFlagLX [xP, yP-Ι] == predFlagLX [xN, yN]
[0215]-当前预测单元的PartMode是PART—NxN并且Partldx等于3并且覆盖照度位置(xP, yP-Ι) (Partldx = I)和照度位置(xP_l,yP_l) (Partldx = 0)的预测单元具有相同运动参数:
[0216]-mvLX[xP, yP-Ι] = = mvLX[xP-l, yP-Ι]
[0217]-ref IdxLX[xP, yP-Ι] = = ref IdxLX[xP_l,yP_l]
[0218]-predFlagLX [xP, yP-Ι] == predFlagLX [xP-Ι, yP-1]
[0219]并且覆盖照度位置(xP-1,yP) (Partldx = 2)和照度位置(xN,yN) (Cand.N)的预测单元具有相同运动参数:
[0220]-mvLX[xP-l, yP] = = mvLX [xN, yN]
[0221 ] -refIdxLX[xP_l, yP] = = refldxLX[xN, yN]
[0222]-predFlagLX [xP-Ι, yP] == predFlagLX [xN, yN]
[0223]-否则,availableFlagN被设置等于I并且覆盖照度位置(xN,yN)的预测单兀的变量 mvLX[xN, yN]、ref IdxLX [xN, yN]和 predFlagLX [xN, yN]被分别指派给 mvLXN、refldxLXN 和 predFlagLXN。
[0224]对于运动矢量预测器候选列表生成过程,每个列表候选可以包括比运动矢量值更多的信息、比如使用的参考列表、在每个列表中使用的参考帧和用于每个列表的运动矢量。
[0225]在已经检查所有运动矢量候选时,选择一个运动矢量以用作为用于当前块的运动矢量。运动矢量选择器364可以检查在列表中的不同运动矢量并且确定哪个运动矢量提供最高效编码结果,或者运动矢量的选择也可以基于其它标准。为模式选择器提供所选择的运动矢量的信息以用于编码和向解码器发送,或者用于在模式选择器确定将帧间预测用于当前块时存储该信息。信息可以包括运动矢量在列表中的索引和/或运动矢量参数或者其它适当信息。
[0226]选择的运动矢量和涉及运动矢量的块用来生成图像块312的作为模式选择器的输出而提供的预测表示。输出可以如以上描述的那样由第一求和设备321用来产生第一预测误差信号320。
[0227]选择的运动矢量预测器候选可以通过添加运动矢量差值来修改或者可以直接用作块的运动矢量。另外,在通过使用选择的运动矢量预测器候选来执行运动补偿之后,块的残留值信号可以被变换编码或者略去编码。
[0228]虽然已经关于宏块的大小为16x16个像素来描述以上实施例,但是将清楚描述的方法和装置可以被配置用于处置不同像素大小的宏块。
[0229]在下文中,参照图7更具体描绘解码器600的一个示例实施例的操作。
[0230]在解码器侧,执行相似操作以重构图像块。图7示出适合用于实现本发明的实施例的视频解码器700的框图,并且图8a和Sb示出在视频解码器中的方法的示例的流程图。可以从编码器、从网元、从存储介质或者从另一来源接收待解码的比特流。解码器了解比特流的结果,从而它可以确定熵编码的码字的含义,并且可以通过对接收的信号执行熵解码的熵解码器701对比特流进行解码。熵解码器因此执行与以上描述的熵编码器330相逆的操作。熵解码器701向预测误差解码器702和像素预测器704输出熵解码的结果。
[0231 ] 在一些实施例中,可以未使用熵编码,但是可以使用另一信道编码或者可以向解码器700提供编码的比特流而无信道编码。解码器700可以包括用于从接收的信号获得编码的码字的对应信道解码器。
[0232]像素预测器704接收熵解码器701的输出。熵解码器701的输出可以包括关于在对当前块进行编码时使用的预测模式的指示。在像素预测器704内的预测器选择器714确定将执行帧内预测或者帧间预测。预测器选择器714另外向第一组合器713输出图像块716的预测的表示。图像块716的预测的表示与重构的预测误差信号712结合用来生成初步重构的图像718。可以在预测器714中使用或者可以向滤波器720传递初步重构的图像718。滤波器720如果被使用则应用滤波,该滤波输出最终重构的信号722。最终重构的信号722可以存储于参考帧存储器724中,参考帧存储器724进一步连接到用于预测操作的预测器714。
[0233]预测误差解码器702也接收熵解码器701的输出。预测误差解码器702的去量化器792可以去量化熵解码器701的输出,并且逆变换块793可以执行对去量化器792输出的去量化的信号执行逆变换操作。熵解码器701的输出也可以指示将不被应用预测误差信号,并且在这一情况下,预测误差解码器产生全零输出信号。
[0234]解码器选择将重构的16x16像素残留宏块。这一残留宏块也称为当前块。
[0235]解码器可以接收关于在当前块的编码中使用的编码模式的信息。在必要时对指示进行解码并且向预测选择器714的重构处理器791提供指示。重构处理器791检查指示并且如果指示是指示已经使用帧内预测对块进行编码则选择帧内预测模式或者如果指示是指示已经使用帧间预测对块进行编码则选择帧间预测模式。
[0236]对于帧间预测模式,重构处理器791可以包括与编码器的预测处理器362对应的一个或者多个单元、比如运动矢量定义器、预测列表修改器和/或运动矢量选择器。
[0237]重构处理器791在块800中将运动矢量预测列表初始化成默认值。与在编码部分中的情况一样,在这一示例中,空间运动预测候选是空间相邻块4041』0、81』2,并且按照与在编码器中相同的预定顺序处理这些空间运动预测候选:A1、B1、B0、A0和B2。被选择用于进一步检查的第一空间运动预测候选因此是Al。在对于选择的空间运动预测候选执行进一步检查之前,检查合并列表是否已经包含最大数目的空间运动预测候选。如果在合并列表中的空间运动预测候选的数目不小于最大数目,则不在合并列表中包括选择的空间运动预测候选,并且可以停止826构造合并列表的过程。在另一方面,如果在合并列表中的空间运动预测候选的数目小于最大数目,则执行对选择的空间运动预测候选的进一步分析(块804-822)。
[0238]解码器检查804覆盖空间运动预测候选块的预测单元或者块是否可用于运动预测。如果是这样,则不在合并列表中包括该候选。块不可用的原因可能是,块被以帧内模式编码或者块驻留在不同片中或者在画面区域以外。
[0239]除了以上公共条件之外,对于每个空间运动预测候选,如果以下条件成立,则不在合并列表中包括该候选,否则将包括它。
[0240]解码器确定806空间运动预测候选集合的哪个空间运动预测候选被讨论。如果空间运动预测候选是块Al,则可以检查808、810以下条件中的一个或者多个条件,以确定是否在合并列表中包括这一空间运动预测候选。如果当前编码单元100如图1Ob中描绘的那样被垂直拆分成两个矩形预测单元103、104,并且当前预测单元是按照编码/解码顺序的第二预测单元104 (808),则不在合并列表中包括这一空间运动预测候选。如果当前编码单元100不是被垂直拆分成两个矩形预测单元,而是它如图1Oa中描绘的那样被水平拆分成两个矩形预测单元101、102,并且当前预测单元是按照编码/解码顺序的第二预测单元,而且块Al具有与块BI相同的运动信息(810),则不在合并列表中包括这一空间运动预测候选(块Al)。在图1Oa的示例中,第二预测单元是编码单元100的下预测单元102,而在图1Ob的示例中,第二预测单元是编码单元100的最右预测单元104。如果未满足以上条件中的任何条件,则在合并列表中包括块Al作为空间运动预测候选(824)。
[0241]如果空间运动预测候选是块BI,则可以检查812、814以下条件中的一个或者多个条件以确定是否在合并列表中包括这一空间运动预测候选。如果当前编码单元100如图1Oa中描绘的那样被水平拆分成两个矩形预测单元101、102,并且当前预测单元是按照编码/解码顺序的第二预测单元104(812),则不在合并列表中包括这一空间运动预测候选。如果当前编码单元100未被水平拆分成两个矩形预测单元,并且如果块BI具有与块Al相同的运动信息(814),则不在合并列表中包括这一空间运动预测候选(块BI)。如果未满足以上条件中的任何条件,则不在合并列表中包括块BI作为空间运动预测候选(824)。
[0242]如果空间运动预测候选是块B0,那么如果块BO具有与块BI相同的运动信息,则不在合并列表中包括这一空间运动预测候选(816)。否则,如果在合并列表中的空间运动预测候选的数目小于空间运动预测候选的最大数目,则在合并列表中包括这一空间运动预测候选(块 B0) (824)。
[0243]如果空间运动预测候选是块A0,那么如果块AO具有与块Al相同的运动信息,则不在合并列表中包括这一空间运动预测候选(818)。否则,如果在合并列表中的空间运动预测候选的数目小于空间运动预测候选的最大数目,则在合并列表中包括这一空间运动预测候选(块 A0) (824)。
[0244]如果空间运动预测候选是块B2,那么如果空间运动预测候选的最大数目是四个,并且其它块A0、Al、BO和BI都被判决未被包括在合并列表中,则不在合并列表中包括这一空间运动预测候选(820)。否则,如果在合并列表中的空间运动预测候选的数目小于空间运动预测候选的最大数目,那么如果块B2具有与块BI或者块Al相同的运动信息,则不在合并列表中包括块B2 (822)。
[0245]然后,在处理块Al、B1、BO、AO和B2并且基于以上描述的条件在合并列表中包括它们的子集之后,未执行在这些候选之间的更多冗余性校验,并且可以处理其余时间运动预测候选和/或其它可能附加候选。
[0246]在已经构造合并列表时,解码器可以使用828从编码器接收的运动矢量的指示以选择用于对当前块进行解码的运动矢量。指示可以例如是对合并列表的索引。
[0247]基本上,如果重构处理器791具有与编码器具有的相同信息可用,则在重构处理器791已经重构合并列表之后,它将与编码器构造的合并列表对应。如果已经在从编码器向解码器传输信息期间丢失一些信息,则它可能影响在解码器700中生成合并列表。
[0248]以上示例描述主要在合并模式中的操作,但是编码器和解码器也可以在其它模式中操作。
[0249]以上描述的本发明的实施例按照分离的编码器和解码器装置描述编码解码器以便辅助理解涉及到的过程。然而将理解可以实施装置、结构和操作为单个编码器-解码器装置/结构/操作。另外,在本发明的一些实施例中,编码器和解码器可以共享一些或者所有公共单元。
[0250]虽然以上示例描述在电子设备内的编码解码器内操作的本发明的实施例,但是将理解可以实施如以下描述的本发明为任何视频编码解码器的部分。因此例如可以在视频编码解码器中实施本发明的实施例,该视频编码解码器可以通过固定或者有线通信路径实施视频编码。
[0251]因此,用户设备可以包括视频编码解码器、比如以上在本发明的实施例中描述的视频编码解码器。
[0252]应当理解所属用户设备旨在于覆盖任何适当类型的无线用户设备、比如移动电话、便携数据处理设备或者便携网上浏览器。
[0253]另外,公共陆地移动网络(PLMN)的单元也可以包括如以上描述的视频编码解码器。
[0254]一般而言,可以在硬件或者专用电路、软件、逻辑或者其任何组合中实施本发明的各种实施例。例如可以在硬件中实施一些方面而可以在控制器、微处理器或者其它计算设备可以执行的固件或者软件中实施其它方面,但是本发明不限于此。尽管本发明的各种方面可以被图示和描述为框图、流程图或者使用一些其它图形表示来图示和描述,但是应合理地理解,可以在作为非限制示例的硬件、软件、固件、专用电路或者逻辑、通用硬件或者控制器或者其它计算设备或者其某个组合中实施这里描述的这些块、装置、系统、技术或者方法。
[0255]可以通过移动设备的数据处理器、比如在处理器实体中可执行的计算机软件或者通过硬件或者通过软件和硬件的组合实施本发明的实施例。另外就这一点而言,应当注意如各图中的逻辑流程的任何块可以代表程序步骤或者互连的逻辑电路、块和功能或者程序步骤和逻辑电路、块和功能的组合。软件可以存储于比如在处理器内实施的存储器芯片或者存储器块、磁介质、比如硬盘或者软盘和光学介质、如例如DVD及其数据变体CD这样的物理介质上。
[0256]存储器可以是适合于本地技术环境的任何类型并且可以使用任何适当数据存储技术、比如基于半导体的存储器设备、磁存储器设备和系统、光学存储器设备和系统、固定存储器和可拆卸存储器来实施。数据处理器可以是适合于本地技术环境的任何类型并且可以包括作为非限制示例的通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一项或者多项。
[0257]可以在各种部件、比如集成电路模块中实现本发明的实施例。集成电路的设计主要是高度自动化过程。复杂而强大的软件工具可用于将逻辑级设计转换成准备好在半导体衬底上蚀刻和形成的半导体电路设计。
[0258]程序、比如Mountain View, California 的 Synopsys 公司和 San Jose, California的Cadence Design提供的程序使用建立好的设计规则以及预存的设计模块的库在半导体芯片上自动对导体布线和对部件定位。一旦已经完成用于半导体电路的设计,就可以按照标准化电子格式(例如Opus、GDSII等)向半导体制作设施或者“fab”发送所得设计用于制作。
[0259]前文描述已经通过示例而非限制的示例提供对本发明示例实施例的完全而有启发的描述。然而各种修改和适配鉴于在与附图和所附权利要求结合阅读时的前文描述可以变得为相关领域技术人员所清楚。然而对本发明的教导的所有这样和相似的修改仍将落入本发明的范围内。
[0260]在下文中,将提供一些示例。
[0261 ] 在一些实施例中,一种方法包括:
[0262]接收包括预测单元的像素块;
[0263]确定用于像素块的空间运动矢量预测候选集合;空间运动矢量预测候选提供有运动信息;
[0264]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将在用于预测单元的合并列表中包括的潜在空间运动矢量预测候选;
[0265]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0266]比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息;
[0267]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0268]在一些实施例中,该方法包括在空间运动矢量预测候选集合中包括接收的像素块的邻近块。
[0269]在一些实施例中,该方法包括通过使用在与像素块相同的帧中的一个或者多个编码的块的运动矢量来构造空间运动矢量预测集合。
[0270]在一些实施例中,该方法包括按照预定顺序从空间运动矢量预测候选集合选择空间运动矢量预测候选作为潜在空间运动矢量预测候选。
[0271]在一些实施例中,该方法包括比较潜在空间运动矢量预测候选的运动信息与空间运动矢量预测候选集合的至多一个其它空间运动矢量预测候选的运动信息。
[0272]在一些实施例中,该方法包括预测单元和第二预测单元;并且如果是这样,那么如果预测单元是第二预测单元,则从合并列表排除潜在空间运动矢量预测候选。
[0273]在一些实施例中,该方法包括:
[0274]确定将包括在合并列表中的空间运动矢量预测候选的最大数目;并且
[0275]限制在合并列表中包括的空间运动矢量预测候选的数目小于或者等于最大数目。
[0276]在一些实施例中,该方法包括:
[0277]检查在合并列表中的空间运动矢量预测候选的数目是否小于最大数目;
[0278]如果是这样,则检查潜在空间运动矢量预测候选所属的预测单元是否可用于运动预测;
[0279]如果是这样,则执行以下操作中的至少一个操作:
[0280]对于在预测单元的左侧的潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从合并列表排除潜在空间运动矢量预测候选:
[0281]-接收的像素块被垂直划分成第一预测单元和第二预测单元,并且预测单元是第二预测单元;
[0282]-接收的像素块被水平划分成第一预测单元和第二预测单元,并且如果预测单元是第二预测单元,并且潜在空间运动矢量预测候选具有与在预测单元以上的空间运动矢量预测候选基本上相似的运动信息;
[0283]对于在预测单元之上的潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从合并列表排除潜在空间运动矢量预测候选:
[0284]-接收的像素块被水平划分成第一预测单元和第二预测单元,并且预测单元是第二预测单元;
[0285]-潜在空间运动矢量预测候选具有与在预测单元的左侧的空间运动矢量预测候选基本上相似的运动?目息;
[0286]对于在预测单元以上的潜在空间运动矢量预测候选的右侧的潜在空间运动矢量预测候选,如果潜在空间运动矢量预测候选具有与在预测单元之上的空间运动矢量预测候选基本上相似的运动信息,则从合并列表排除潜在空间运动矢量预测候选;
[0287]对于在预测单元的左侧的潜在空间运动矢量预测候选之下的潜在空间运动矢量预测候选,如果潜在空间运动矢量预测候选具有与在预测单元的左侧的空间运动矢量预测候选基本上相似的运动信息,则从合并列表排除潜在空间运动矢量预测候选;
[0288]对于与预测单元对角邻近的潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从合并列表排除潜在空间运动矢量预测候选:
[0289]-已经在合并列表中包括所有其它潜在空间运动矢量预测候选;
[0290]-潜在空间运动矢量预测候选具有与在预测单元之上的空间运动矢量预测候选基本上相似的运动信息;
[0291]-潜在空间运动矢量预测候选具有与在预测单元的左侧的空间运动矢量预测候选基本上相似的运动信息。
[0292]在一些实施例中,该方法包括向合并列表中包括时间运动预测候选。
[0293]在一些实施例中,该方法包括从合并列表选择一个运动矢量预测候选以表示用于像素块的运动矢量预测。
[0294]在一些实施例中,根据第二方面的一种方法包括:
[0295]接收包括预测单元的编码的像素块;
[0296]确定用于编码的像素块的空间运动矢量预测候选集合;空间运动矢量预测候选具有运动信息;
[0297]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0298]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0299]比较第一空间运动矢量预测候选的运动信息与空间运动矢量预测候选集合的另一空间运动矢量预测候选的运动信息;
[0300]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0301]在一些实施例中,该方法包括在空间运动矢量预测候选集合中包括接收的编码的像素块的邻近块。
[0302]在一些实施例中,该方法包括通过使用在与接收的编码的像素块相同的帧中的一个或者多个解码的块的运动矢量来构造空间运动矢量预测集合。
[0303]在一些实施例中,该方法包括按照预定顺序从空间运动矢量预测候选集合选择空间运动矢量预测候选作为潜在空间运动矢量预测候选。
[0304]在一些实施例中,该方法包括比较潜在空间运动矢量预测候选的运动信息与空间运动矢量预测候选集合的至多一个其它空间运动矢量预测候选的运动信息。
[0305]在一些实施例中,该方法包括检查接收的编码的像素块是否被划分成第一预测单元和第二预测单元;并且如果是这样,那么如果预测单元是第二预测单元,则从合并列表排除潜在空间运动矢量预测候选。
[0306]在一些实施例中,该方法包括:
[0307]确定将在合并列表中包括的空间运动矢量预测候选的最大数目;并且
[0308]限制在合并列表中包括的空间运动矢量预测候选的数目小于或者等于最大数目。
[0309]在一些实施例中,该方法包括:
[0310]检查在合并列表中的空间运动矢量预测候选的数目是否小于最大数目;
[0311]如果是这样,则检查潜在空间运动矢量预测候选所属的预测单元是否可用于运动预测;
[0312]如果是这样,则执行以下操作中的至少一个操作:
[0313]对于在预测单元的左侧的潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从合并列表排除潜在空间运动矢量预测候选:
[0314]-接收的编码的像素块被垂直划分成第一预测单元和第二预测单元,并且预测单元是第二预测单元;
[0315]-接收的编码的像素块被水平划分成第一预测单元和第二预测单元,并且如果预测单元是第二预测单元,并且潜在空间运动矢量预测候选具有与在预测单元之上的空间运动矢量预测候选基本上相似的运动信息;
[0316]对于在预测单元之上的潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从合并列表排除潜在空间运动矢量预测候选:
[0317]-接收的编码的像素块被水平划分成第一预测单元和第二预测单元,并且预测单元是第二预测单元;
[0318]-潜在空间运动矢量预测候选具有与在预测单元的左侧的空间运动矢量预测候选基本上相似的运动?目息;
[0319]对于在预测单元以上的潜在空间运动矢量预测候选的右侧的潜在空间运动矢量预测候选,如果潜在空间运动矢量预测候选具有与在预测单元之上的空间运动矢量预测候选基本上相似的运动信息,则从合并列表排除潜在空间运动矢量预测候选;
[0320]对于在预测单元的左侧的潜在空间运动矢量预测候选之下的潜在空间运动矢量预测候选,如果潜在空间运动矢量预测候选具有与在预测单元的左侧的空间运动矢量预测候选基本上相似的运动信息,则从合并列表排除潜在空间运动矢量预测候选;
[0321]对于与预测单元对角邻近的潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从合并列表排除潜在空间运动矢量预测候选:
[0322]-已经在合并列表中包括了所有其它潜在空间运动矢量预测候选;
[0323]-潜在空间运动矢量预测候选具有与在预测单元之上的空间运动矢量预测候选基本上相似的运动信息;
[0324]-潜在空间运动矢量预测候选具有与在预测单元的左侧的空间运动矢量预测候选基本上相似的运动信息。
[0325]在一些实施例中,该方法包括向合并列表中包括时间运动预测候选。
[0326] 在一些实施例中,该方法包括从合并列表选择一个运动矢量预测候选以表不用于接收的编码的像素块的运动矢量预测。
[0327]在一些实施例中,根据第三方面的一种装置包括处理器和包括计算机程序代码的存储器,存储器和计算机程序代码被配置为与处理器一起使该装置:
[0328]接收包括预测单元的像素块;
[0329]确定用于像素块的空间运动矢量预测候选集合;空间运动矢量预测候选提供有运动信息;
[0330]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0331]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0332]比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息;
[0333]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0334]在一些实施例中,根据第四方面的一种装置包括处理器和包括计算机程序代码的存储器,存储器和计算机程序代码被配置为与处理器一起使该装置:
[0335]接收包括预测单元的编码的像素块;
[0336]确定用于编码的像素块的空间运动矢量预测候选集合;空间运动矢量预测候选具有运动信息;
[0337]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0338]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0339]比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息;
[0340]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0341 ] 在一些实施例中,一种具有在其上存储计算机程序代码的存储介质,用于由编码器使用的计算机可执行程序代码,所述程序代码包括用于由编码器使用的指令,所述程序代码包括用于以下操作的指令:
[0342]接收包括预测单元的像素块;
[0343]确定用于像素块的空间运动矢量预测候选集合;空间运动矢量预测候选提供有运动信息;
[0344]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0345]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0346]比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息;
[0347]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0348]在一些实施例中,一种具有在其上存储计算机程序代码的存储介质,用于由编码器使用的计算机可执行程序代码,所述程序代码包括用于由编码器使用的指令,所述程序代码包括用于以下操作的指令:
[0349]接收包括预测单元的编码的像素块;
[0350]确定用于编码的像素块的空间运动矢量预测候选集合;空间运动矢量预测候选具有运动信息;
[0351]从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选;
[0352]基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集;
[0353]比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息;
[0354]如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应,则从合并列表排除第一空间运动矢量预测候选。
[0355]在一些实施例中,一种装置包括:
[0356]用于接收包括预测单元的像素块的装置;
[0357]用于从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选的装置;
[0358]用于基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集的装置;
[0359]用于比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息的装置;
[0360]用于如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应则从合并列表排除第一空间运动矢量预测候选的装置。
[0361 ] 在一些实施例中,一种装置包括:
[0362]用于接收包括预测单元的编码的像素块的装置;
[0363]用于确定用于编码的像素块的空间运动矢量预测候选集合的装置;空间运动矢量预测候选提供有运动信息;
[0364]用于从空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于预测单元的合并列表中的潜在空间运动矢量预测候选的装置;
[0365]用于基于与第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集的装置;
[0366]用于比较第一空间运动矢量预测候选的运动信息与在确定的空间运动矢量预测候选子集中的空间运动矢量预测候选的运动信息的装置;
[0367]用于如果比较中的至少一个比较指示空间运动矢量预测候选的运动矢量信息相互对应则,从合并列表排除第一空间运动矢量预测候选的装置。
【权利要求】
1.一种方法,包括: 接收包括预测单元的像素块; 确定用于所述像素块的空间运动矢量预测候选集合;所述空间运动矢量预测候选提供有运动信息; 从所述空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于所述预测单元的合并列表中的潜在空间运动矢量预测候选; 基于与所述第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集; 比较所述第一空间运动矢量预测候选的运动信息与在确定的所述空间运动矢量预测候选子集中的所述空间运动矢量预测候选的运动信息; 如果所述比较中的至少一个比较指示所述空间运动矢量预测候选的所述运动矢量信息相互对应,则从所述合并列表排除所述第一空间运动矢量预测候选。
2.根据权利要求1所述的方法,包括按照预定顺序从所述空间运动矢量预测候选集合选择空间运动矢量预测候选作为所述潜在空间运动矢量预测候选。
3.根据权利要求1或者2所述的方法,包括比较所述潜在空间运动矢量预测候选的运动信息与所述空间运动矢量预测候选集合的至多一个其它空间运动矢量预测候选的运动信息。
4.根据权利要求1至3中的任一权利要求所述的方法,包括检查所述接收的像素块是否被划分成第一预测单元和第二预测单元;并且如果是这样,那么如果所述预测单元是所述第二预测单元,则从所述合并列表排除所述潜在空间运动矢量预测候选。
5.根据权利要求1至4中的任一权利要求所述的方法,还包括: 确定将包括在合并列表中的空间运动矢量预测候选的最大数目;并且 限制在所述合并列表中包括的空间运动矢量预测候选的数目小于或者等于所述最大数目。
6.根据权利要求1至5中的任一权利要求所述的方法,包括: 检查在所述合并列表中的空间运动矢量预测候选的数目是否小于所述最大数目; 如果是这样,则检查所述潜在空间运动矢量预测候选所属的预测单元是否可用于运动预测; 如果是这样,则执行以下操作中的至少一个操作: 对于在所述预测单元的左侧的潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从所述合并列表排除所述潜在空间运动矢量预测候选: -所述接收的像素块被垂直划分成第一预测单元和第二预测单元,并且所述预测单元是所述第二预测单元; -所述接收的像素块被水平划分成第一预测单元和第二预测单元,并且如果所述预测单元是所述第二预测单元,并且所述潜在空间运动矢量预测候选具有与在所述预测单元之上的所述空间运动矢量预测候选基本上相似的运动信息; 对于在所述预测单元之上的所述潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从所述合并列表排除所述潜在空间运动矢量预测候选: -所述接收的像素块被水平划分成第一预测单元和第二预测单元,并且所述预测单元是所述第二预测单元; -所述潜在空间运动矢量预测候选具有与在所述预测单元的左侧的所述空间运动矢量预测候选基本上相似的运动信息; 对于在所述预测单元之上的所述潜在空间运动矢量预测候选的右侧的所述潜在空间运动矢量预测候选,如果所述潜在空间运动矢量预测候选具有与在所述预测单元之上的所述空间运动矢量预测候选基本上相似的运动信息,则从所述合并列表排除所述潜在空间运动矢量预测候选; 对于在所述预测单元的左侧的所述潜在空间运动矢量预测候选之下的所述潜在空间运动矢量预测候选,如果所述潜在空间运动矢量预测候选具有与在所述预测单元的左侧的所述空间运动矢量预测候选基本上相似的运动信息,则从所述合并列表排除所述潜在空间运动矢量预测候选; 对于与所述预测单元对角邻近的所述潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从所述合并列表排除所述潜在空间运动矢量预测候选: -已经在所述合并列表中包括了所有其它潜在空间运动矢量预测候选; -所述潜在空间运动矢量预测候选具有与在所述预测单元之上的所述空间运动矢量预测候选基本上相似的运动信息; -所述潜在空间运动矢量预测候选具有与在所述预测单元的左侧上的所述空间运动矢量预测候选基本上相似 的运动信息。
7.根据权利要求1至6中的任一权利要求所述的方法,还包括向所述合并列表中包括时间运动预测候选。
8.根据权利要求1至7中的任一权利要求所述的方法,包括从所述合并列表选择一个运动矢量预测候选以表示用于所述像素块的运动矢量预测。
9.一种方法,包括: 接收包括预测单元的编码的像素块; 确定用于所述编码的像素块的空间运动矢量预测候选集合;所述空间运动矢量预测候选具有运动信息; 从所述空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于所述预测单元的合并列表中的潜在空间运动矢量预测候选; 基于与所述第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集; 比较所述第一空间运动矢量预测候选的运动信息与所述空间运动矢量预测候选集合的另一空间运动矢量预测候选的运动信息; 如果所述比较中的至少一个比较指示所述空间运动矢量预测候选的所述运动矢量信息相互对应,则从所述合并列表排除所述第一空间运动矢量预测候选。
10.根据权利要求9所述的方法,包括比较所述潜在空间运动矢量预测候选的运动信息与所述空间运动矢量预测候选集合的至多一个其它空间运动矢量预测候选的运动信息。
11.根据权利要求9或者10所述的方法,包括检查所述接收的编码的像素块是否被划分成第一预测单元和第二预测单元;并且如果是这样,那么如果所述预测单元是所述第二预测单元,则从所述合并列表排除所述潜在空间运动矢量预测候选。
12.根据权利要求9至11中的任一权利要求所述的方法,还包括: 确定将包括在合并列表中的空间运动矢量预测候选的最大数目;并且 限制在所述合并列表中包括的空间运动矢量预测候选的数目小于或者等于所述最大数目。
13.根据权利要求9至12中的任一权利要求所述的方法,包括: 检查在所述合并列表中的空间运动矢量预测候选的数目是否小于所述最大数目; 如果是这样,则检查所述潜在空间运动矢量预测候选所属的预测单元是否可用于运动预测; 如果是这样,则执行以下操作中的至少一个操作: 对于在所述预测单元的左侧的所述潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从所述合并列表排除所述潜在空间运动矢量预测候选: -所述接收的编码的像素块被垂直划分成第一预测单元和第二预测单元,并且所述预测单元是所述第二预测单元; -所述接收的编码的像素块被水平划分成第一预测单元和第二预测单元,并且如果所述预测单元是所述第二预 测单元,并且所述潜在空间运动矢量预测候选具有与在所述预测单元之上的所述空间运动矢量预测候选基本上相似的运动信息; 对于在所述预测单元之上的所述潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从所述合并列表排除所述潜在空间运动矢量预测候选: -所述接收的编码的像素块被水平划分成第一预测单元和第二预测单元,并且所述预测单元是所述第二预测单元; -所述潜在空间运动矢量预测候选具有与在所述预测单元的左侧的所述空间运动矢量预测候选基本上相似的运动信息; 对于在所述预测单元之上的所述潜在空间运动矢量预测候选的右侧的所述潜在空间运动矢量预测候选,如果所述潜在空间运动矢量预测候选具有与在所述预测单元之上的所述空间运动矢量预测候选基本上相似的运动信息,则从所述合并列表排除所述潜在空间运动矢量预测候选; 对于在所述预测单元的左侧的所述潜在空间运动矢量预测候选之下的所述潜在空间运动矢量预测候选,如果所述潜在空间运动矢量预测候选具有与在所述预测单元的左侧的所述空间运动矢量预测候选基本上相似的运动信息,则从所述合并列表排除所述潜在空间运动矢量预测候选; 对于与所述预测单元对角邻近的所述潜在空间运动矢量预测候选,如果满足以下条件中的任何条件,则从所述合并列表排除所述潜在空间运动矢量预测候选: -已经在所述合并列表中包括了所有其它潜在空间运动矢量预测候选; -所述潜在空间运动矢量预测候选具有与在所述预测单元之上的所述空间运动矢量预测候选基本上相似的运动信息; -所述潜在空间运动矢量预测候选具有与在所述预测单元的左侧的所述空间运动矢量预测候选基本上相似的运动信息。
14.根据权利要求9至13中的任一权利要求所述的方法,包括从所述合并列表选择一个运动矢量预测候选以表示用于所述接收的编码的像素块的运动矢量预测。
15.一种包括处理器和存储器的装置,所述存储器包括计算机程序代码,所述存储器和所述计算机程序代码被配置为与所述处理器一起使所述装置: 接收包括预测单元的像素块; 确定用于所述像素块的空间运动矢量预测候选集合;所述空间运动矢量预测候选提供有运动信息; 从所述空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于所述预测单元的合并列表中的潜在空间运动矢量预测候选; 基于与所述第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集; 比较所述第一空间运动矢量预测候选的运动信息与在确定的所述空间运动矢量预测候选子集中的所述空间运动矢量预测候选的运动信息; 如果所述比较中的至少一个比较指示所述空间运动矢量预测候选的所述运动矢量信息相互对应,则从所述合并列表排除所述第一空间运动矢量预测候选。
16.一种包括处理器和存储器的装置,所述存储器包括计算机程序代码,所述存储器和所述计算机程序代码 被配置为与所述处理器一起使所述装置: 接收包括预测单元的编码的像素块; 确定用于所述编码的像素块的空间运动矢量预测候选集合;所述空间运动矢量预测候选提供有运动信息; 从所述空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于所述预测单元的合并列表中的潜在空间运动矢量预测候选; 基于与所述第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集; 比较所述第一空间运动矢量预测候选的运动信息与在确定的所述空间运动矢量预测候选子集中的所述空间运动矢量预测候选的运动信息; 如果所述比较中的至少一个比较指示所述空间运动矢量预测候选的所述运动矢量信息相互对应,则从所述合并列表排除所述第一空间运动矢量预测候选。
17.一种具有在其上存储用于由编码器使用的计算机可执行程序代码的存储介质,所述程序代码包括用于由编码器使用的指令,所述程序代码包括用于以下操作的指令: 接收包括预测单元的像素块; 确定用于所述像素块的空间运动矢量预测候选集合;所述空间运动矢量预测候选提供有运动信息; 从所述空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于所述预测单元的合并列表中的潜在空间运动矢量预测候选; 基于与所述第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集; 比较所述第一空间运动矢量预测候选的运动信息与在确定的所述空间运动矢量预测候选子集中的所述空间运动矢量预测候选的运动信息; 如果所述比较中的至少一个比较指示所述空间运动矢量预测候选的所述运动矢量信息相互对应,则从所述合并列表排除所述第一空间运动矢量预测候选。
18.一种具有在其上存储用于由编码器使用的计算机可执行程序代码的存储介质,所述程序代码包括用于由编码器使用的指令,所述程序代码包括用于以下操作的指令: 接收包括预测单元的编码的像素块; 确定用于所述编码的像素块的空间运动矢量预测候选集合;所述空间运动矢量预测候选提供有运动信息; 从所述空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于所述预测单元的合并列表中的潜在空间运动矢量预测候选; 基于与所述第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集; 比较所述第一空间运动矢量预测候选的运动信息与在确定的所述空间运动矢量预测候选子集中的所述空间运动矢量预测候选的运动信息; 如果所述比较中的至少一个比较指示所述空间运动矢量预测候选的所述运动矢量信息相互对应,则从所述合并列表排除所述第一空间运动矢量预测候选。
19.一种装置,包 括: 用于接收包括预测单元的像素块的装置; 用于确定用于所述像素块的空间运动矢量预测候选集合的装置;所述空间运动矢量预测候选提供有运动信息; 用于从所述空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将包括在用于所述预测单元的合并列表中的潜在空间运动矢量预测候选的装置; 用于基于与所述第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集的装置; 用于比较所述第一空间运动矢量预测候选的运动信息与在确定的所述空间运动矢量预测候选子集中的所述空间运动矢量预测候选的运动信息的装置; 用于如果所述比较中的至少一个比较指示所述空间运动矢量预测候选的所述运动矢量信息相互对应,则从所述合并列表排除所述第一空间运动矢量预测候选的装置。
20.一种装置,包括: 用于接收包括预测单元的编码的像素块的装置; 用于确定用于所述编码的像素块的空间运动矢量预测候选集合的装置;所述空间运动矢量预测候选提供有运动信息; 用于从所述空间运动矢量预测候选集合选择第一空间运动矢量预测候选作为将在用于所述预测单元的合并列表中包括的潜在空间运动矢量预测候选的装置; 用于基于与所述第一空间运动矢量预测候选关联的块的位置确定空间运动矢量预测子集的装置; 用于比较所述第一空间运动矢量预测候选的运动信息与在确定的所述空间运动矢量预测候选子集中的所述空间运动矢量预测候选的运动信息的装置; 用于如果所述比较中的至少一个比较指示所述空间运动矢量预测候选的所述运动矢量信息相互对应,则从所述合并列表排除所述第一空间运动矢量预测候选的装置。
【文档编号】H04N19/52GK104054350SQ201280065777
【公开日】2014年9月17日 申请日期:2012年11月2日 优先权日:2011年11月4日
【发明者】M·O·比奇, J·莱内玛, K·宇居尔 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1