用于对运动矢量进行编码和解码的方法和设备的制作方法

文档序号:7848538阅读:235来源:国知局
专利名称:用于对运动矢量进行编码和解码的方法和设备的制作方法
技术领域
与示例性实施例一致的设备和方法涉及对运动矢量进行编码和解码,更具体地,涉及通过预测当前块的运动矢量对运动矢量进行编码和解码。
背景技术
诸如运动图像专家组(MPEG)-4H. 264/MPEG-4先进视频编码(AVC)的编解码器使用与当前块邻近的先前编码块的运动矢量来预测当前块的运动矢量。也就是说,与当前块的左、上和右上侧邻近的先前编码块的运动矢量的中值可被用作当前块的运动矢量预测因子。

发明内容

技术方案一个或多个示例性实施例提供了一种用于对运动矢量进行编码和解码的方法和设备以及其上记录有用于执行所述方法的计算机程序的计算机可读记录介质。有益效果根据本发明,当前块的运动矢量可被精确地预测并基于所述预测被编码。


通过参照附图对示例性实施例进行详细描述,上述和/或其它方面将变得更加清楚,其中图I是根据示例性实施例的用于对图像进行编码的设备的框图;图2是根据示例性实施例的用于对图像进行解码的设备的框图;图3示出根据示例性实施例的分层编码单元;图4是根据示例性实施例的基于编码单元的图像编码器的框图;图5是根据示例性实施例的基于编码单元的图像解码器的框图;图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元的示图;图7示出根据示例性实施例的编码单元和变换单元;图8A到图8D示出根据示例性实施例的编码单元、预测单元和变换单元的划分形状;图9是根据示例性实施例的用于对运动矢量进行编码的设备的框图;图IOA和图IOB示出根据示例性实施例的显式(explicit)模式的运动矢量预测因子候选;图IOC到图IOE示出根据示例性实施例的与当前块邻近的具有各种大小的块;图IlA到图IlC示出根据另一示例性实施例的清晰(clear)模式的运动矢量预测因子候选;图12A示出根据示例性实施例的产生隐式(implicit)模式的运动矢量预测因子的方法;图12B示出根据示例性实施例的搜索隐式模式的运动矢量预测因子的方法;图12C到图12D示出根据示例性实施例的用于产生运动矢量预测因子的模板;图13是根据示例性实施例的用于对运动矢量进行解码的设备的框图;图14是根据示例性实施例的对运动矢量进行编码方法的流程图;图15是根据示例性实施例的对运动矢量进行解码方法的流程图。
具体实施例方式最优模式 根据示例性实施例的一方面,提供了一种对运动矢量进行编码的方法,所述方法包括从第一模式和第二模式中选择第一模式或第二模式,其中,在第一模式下,指示至少一个运动矢量预测因子中的运动矢量预测因子的信息被编码,在第二模式下,指示基于包括在与当前块邻近的先前编码区域中的像素产生运动矢量预测因子的信息被编码;根据选择的模式来确定当前块的运动矢量预测因子,并对关于当前块的运动矢量预测因子的信息进行编码;以及对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行编码,其中,第二模式是指示通过以下步骤产生运动矢量预测因子的信息被编码的模式基于所述至少一个运动矢量预测因子来设置将对运动矢量预测因子进行搜索的范围,并通过使用包括在先前编码区域中的像素在搜索范围内进行搜索。选择第一模式或第二模式的步骤可包括基于深度来选择第一模式或第二模式,其中,深度指示从当前图像或像条的最大编码单元的大小减小到当前块的大小的程度。选择第一模式或第二模式的步骤可包括以包括当前块的当前图像或像条为单位来选择第一模式或第二模式。选择第一模式或第二模式的步骤可包括基于当前块是否在跳过模式下被编码来选择第一模式或第二模式。所述至少一个运动矢量预测因子可包括与当前块的左侧邻近的块的第一运动矢量、与当前块的上侧邻近的块的第二运动矢量以及与当前块的右上侧邻近的块的第三运动矢量。所述至少一个运动矢量预测因子还可包括第一运动矢量、第二运动矢量和第三运动矢量的中值。所述至少一个运动矢量预测因子还可包括基于在参考图像中与当前块共同定位的块的运动矢量以及参考图像与当前图像之间的时间距离而产生的运动矢量预测因子。对关于当前块的运动矢量预测因子的信息进行编码的步骤可包括对指示与当前块共同定位的块是时间上在当前图像之前的图像的块还是时间上在当前图像之后的图像的块的信息进行编码。指示与当前块共同定位的块是时间上在当前图像之前的图像的块还是时间上在当前图像之后的图像的块的信息可被插入到包括当前块的像条的头中。根据另一示例性实施例的一方面,提供了一种对运动矢量进行编码的设备,所述设备包括预测单元,从第一模式和第二模式中选择第一模式或第二模式,其中,在第一模式下,指示至少一个运动矢量预测因子之一的信息被编码,在第二模式下,指示基于包括在与当前块邻近的先前编码区域中的像素产生运动矢量预测因子的信息被编码;第一编码器,根据选择的模式来确定当前块的运动矢量预测因子,并对关于当前块的运动矢量预测因子的信息进行编码;第二编码器,对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行编码,其中,第二模式是指示通过以下步骤产生运动矢量预测因子的信息被编码的模式基于所述至少一个运动矢量预测因子来设置将对运动矢量预测因子进行搜索的范围,并通过使用包括在先前编码区域中的像素在搜索范围内进行搜索。根据另一示例性实施例的一方面,提供了一种对运动矢量进行解码的方法,所述方法包括对根据从第一模式和第二模式中选择的模式编码的关于当前块的运动矢量预测因子的信息进行解码;对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行解码;基于解码的关于当前块的运动矢量预测因子的信息来产生当前块的运动矢量预测因子;以及基于产生的运动矢量预测因子和解码的差矢量来恢复当前块的运动矢量,其中,第一模式是指示至少一个运动矢量预测因子之一的信息被编码的模式,第二模式是指示通过以下步骤产生运动矢量预测因子的信息被编码的模式基于所述至少一个运动矢量预测因子来设置将对运动矢量预测因子进行搜索的范围,并通过使用包括在与当前块邻近的先前编码区域中的像素在搜索范围内进行搜索。 根据另一示例性实施例的一方面,提供了一种对运动矢量进行解码的设备,所述设备包括第一解码器,对根据从第一模式和第二模式中选择的模式编码的关于当前块的运动矢量预测因子的信息进行解码;第二解码器,对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行解码;预测单元,基于解码的关于当前块的运动矢量预测因子的信息来产生当前块的运动矢量预测因子;运动矢量恢复器,基于产生的运动矢量预测因子和解码的差矢量来恢复当前块的运动矢量,其中,第一模式是指示至少一个运动矢量预测因子之一的信息被编码的模式,第二模式是指示通过以下步骤产生运动矢量预测因子的信息被编码的模式基于所述至少一个运动矢量预测因子来设置将对运动矢量预测因子进行搜索的范围,并通过使用包括在与当前块邻近的先前编码区域中的像素在搜索范围内进行搜索。根据另一示例性实施例的一方面,提供了一种其上记录有用于执行对运动矢量进行编码的方法和对运动矢量进行解码的方法的计算机程序的计算机可读记录介质。根据另一示例性实施例的一方面,提供了一种对运动矢量进行编码的方法,所述方法包括从第一模式和第二模式中选择第一模式或第二模式,其中,在第一模式下,指示至少一个运动矢量预测因子中的运动矢量预测因子的信息被编码,在第二模式下,指示基于包括在与当前块邻近的先前编码区域中的像素产生运动矢量预测因子的信息被编码;根据选择的模式来确定当前块的运动矢量预测因子,并对关于当前块的运动矢量预测因子的信息进行编码;以及对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行编码。发明模式在下文中,将参照附图更详细地描述特定示例性实施例。当诸如“…中的至少一个”的表述在列出的元件之后时,所述表述修饰列出的全部元件而不是修饰列出的单个元件。在本说明书中,“图像”可表示用于视频的静止图像或运动图像(即,视频本身)。在以下描述中,即使在不同附图中,相同的标号也被用于相同的元件。提供在说明书中限定的事物(诸如,详细结构和元件)以助于全面了解示例性实施例。然而,可实现示例性实施例而无需那些具体限定的事物。图I是根据示例性实施例的用于对图像进行编码的图像编码设备100的框图。图像编码设备100可被实现为例如计算机的处理器或计算机系统的硬件装置。图像编码设备100或者其一个或多个组件也可被实施为驻留在计算机系统上的软件模块。参照图1,图像编码设备100包括最大编码单元划分器110、编码深度确定器120、图像数据编码器130和编码信息编码器140,上述组件可被实现为例如在图像编码设备100内集成的硬件或软件模块或者与图像编码设备100相分离的硬件或软件模块。最大编码单元划分器110可基于作为最大大小的编码单元的最大编码单元来对当前帧或像条进行划分。也就是说,最大编码单元划分器110可将当前帧或像条划分为至少一个最大编码单元。

根据示例性实施例,编码单元可使用最大编码单元和深度来表征。如上所述,最大编码单元指示当前帧的编码单元中具有最大大小的编码单元,深度指示分层减小编码单元的程度。随着深度加深,编码单元可从最大编码单元减小为最小编码单元,其中,最大编码单元的深度被定义为最小深度,最小编码单元的深度被定义为最大深度。由于编码单元的大小随着深度加深而从最大编码单元开始减小,因此,第k深度的子编码单元可包括多个第(k+n)深度的子编码单元(其中,k和n是等于或大于I的整数)。根据将被编码的帧的大小的增加,按照更大的编码单元对图像进行编码可引起更高的图像压缩率。然而,如果更大的编码单元被固定,则可能无法通过反映连续改变的图像特征来对图像进行有效编码。例如,当诸如海或天空的平滑区域被编码时,编码单元越大,压缩率可提高得越多。然而,当诸如人或建筑物的复杂区域被编码时,编码单元越小,压缩率可提高得越多。因此,在示例性实施例中,针对每个帧或像条设置不同的最大图像编码单元和不同的最大深度。由于最大深度表示编码单元可减小的最大次数,故包括在最大图像编码单元中的每个最小编码单元的大小可根据最大深度而被不同地设置。可针对每个帧或像条或者针对每个最大编码单元不同地确定最大深度。编码深度确定器120确定最大编码单元的划分形状。可基于率失真(RD)代价的计算来确定划分形状。确定的最大编码单元的划分形状被提供给编码信息编码器140,并且根据最大编码单元的图像数据被提供给图像数据编码器130。最大编码单元可根据不同深度被划分为具有不同大小的子编码单元,包括在最大编码单元中的具有不同大小的子编码单元可基于具有不同大小的处理单元被预测或频率变换。换句话说,图像编码设备100可基于具有各种大小和各种形状的处理单元来执行用于图像编码的多个处理操作。为了对图像数据进行编码,诸如预测、变换和熵编码的处理操作被执行,其中,可针对每个操作使用具有相同大小或不同大小的处理单元。例如,图像编码设备100可选择与编码单元不同的处理单元来对编码单元进行预测。当编码单元的大小是2NX2N(其中,N是正整数)时,用于预测的处理单元可以是2NX2N、2NXN、NX2N和NXN。换句话说,可基于具有编码单元的高度和宽度中的至少一个被二等分的形状的处理单元来执行运动预测。以下,作为预测的基础的处理单元被定义为预测单元。预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个,可仅对具有特定大小或特定形状的预测单元执行特定预测模式。例如,可仅对具有正方形形状的大小为2NX2N和NXN的预测单元执行帧内模式。此外,可仅对大小为2NX2N的预测单元执行跳过模式。如果多个预测单元存在于编码单元中,则在对每个预测单元执行预测之后,可选择具有最小编码误差的预测模式。可选择地,图像编码设备100可基于具有与编码单元不同大小的处理单元对图像数据执行频率变换。对于编码单元中的频率变换,可基于具有与编码单元相同的大小或小于编码单元的大小的处理单元来执行频率变换。以下,作为频率变换的基础的处理单元被定义为变换单元。频率变换可以是离散余弦变换(DCT)或Karhunen-Loeve变换(KLT)。编码深度确定器120可通过使用基于拉格朗日乘子的RD优化来确定包括在最大编码单元中的子编码单元。换句话说,编码深度确定器120可确定从最大编码单元划分的 多个子编码单元具有何种形状,其中,多个子编码单元根据子编码单元的深度而具有不同大小。图像数据编码器130通过基于由编码深度确定器120确定的划分形状对最大编码单元进行编码来输出比特流。编码信息编码器140对关于由编码深度确定器120确定的最大编码单元的编码模式的信息进行编码。换句话说,编码信息编码器140通过对以下信息进行编码来输出比特流关于最大编码单元的划分形状的信息、关于最大深度的信息和关于每个深度的子编码单元的编码模式的信息。关于子编码单元的编码模式的信息可包括关于子编码单元的预测单元的信息、关于每个预测单元的预测模式的信息和关于子编码单元的变换单元的信息。关于最大编码单元的划分形状的信息可以是指示每个编码单元是否被划分的标志信息。例如,当最大编码单元被划分并被编码时,指示最大编码单元是否被划分的信息被编码。另外,当从最大编码单元划分的子编码单元被划分并被编码时,指示子编码单元是否被划分的信息被编码。由于在每个最大编码单元中存在具有不同大小的子编码单元并且针对每个子编码单元确定关于编码模式的信息,故可针对一个最大编码单元确定关于至少一个编码模式的信息。图像编码设备100可根据深度的增加通过将最大编码单元的高度和宽度进行二等分来产生子编码单元。也就是说,当第k深度的编码单元的大小是2NX2N时,第(k+1)深度的编码单元的大小是NXN。因此,图像编码设备100可考虑图像特征,基于最大编码单元的大小和最大深度,针对每个最大编码单元确定最优划分形状。通过考虑图像特征可变地调整最大编码单元的大小并通过将最大编码单元划分为不同深度的子编码单元而对图像进行编码,具有不同分辨率的图像可被更有效地编码。图2是根据示例性实施例的用于对图像进行解码的图像解码设备200的框图。图像解码设备200可被实现为诸如计算机的处理器或计算机系统的硬件设备。图像解码设备200或其一个或多个组件也可被实现为驻留在计算机系统上的软件模块。参照图2,图像解码设备200包括图像数据获取单元210、编码信息提取器220和图像数据解码器230,上述组件可被实现为例如在图像解码设备200内集成的硬件或软件模块或者与图像解码设备200相分离的硬件或软件模块。图像数据获取单元210通过对由图像解码设备200接收的比特流进行解析来获取根据最大编码单元的图像数据,并将图像数据输出到图像数据解码器230。图像数据获取单元210可从当前帧或像条的头提取关于当前帧或像条的最大编码单元的信息。换句话说,图像数据获取单元210按照最大编码单元来划分比特流,从而图像数据解码器230可根据最大编码单元对图像数据进行解码。编码信息提取器220通过对由图像解码设备200接收的比特流进行解析来从当前帧的头提取关于最大编码单元、最大深度、最大编码单元的划分形状和子编码单元的编码模式的信息。关于划分形状的信息和关于编码模式的信息被提供给图像数据解码器230。

关于最大编码单元的划分形状的信息可包括关于根据深度具有不同大小并包括 在最大编码单元中的子编码单元的信息,并可以是指示每个编码单元是否被划分的标志信肩、O关于编码模式的信息可包括关于根据子编码单元的预测单元的信息、关于预测模式的信息以及关于变换单元的信息。图像数据解码器230通过基于由编码信息提取器220提取的信息对每个最大编码单元的图像数据进行解码来恢复当前帧。图像数据解码器230可基于关于最大编码单元的划分形状的信息对包括在最大编码单元中的子编码单元进行解码。解码处理可包括预测处理和逆变换处理,预测处理包括帧内预测和运动补偿。图像数据解码器230可基于关于预测单元的信息和关于用于对预测单元进行预测的预测模式的信息执行帧内预测或帧间预测。图像数据解码器230还可基于关于子编码单元的变换单元的信息对每个子编码单元执行逆变换。图3示出根据示例性实施例的分层编码单元。参照图3,分层编码单元可包括宽度和高度是64X64、32X32、16X16、8X8和4X4的编码单元。除了这些具有完全正方形形状的编码单元之外,还可存在宽度和高度是64X32、32X64、32X16、16X32、16X8、8X16、8X4 和 4X8 的编码单元。参照图3,对于分辨率是1920 X 1080的图像数据集310,最大编码单元的大小被设置为64 X 64,最大深度被设置为2。对于分辨率是1920X1080的图像数据集320,最大编码单元的大小被设置为64X64,最大深度被设置为3。对于分辨率是352X288的图像数据集330,最大编码单元的大小被设置为16X16,最大深度被设置为I。当分辨率高或者数据量大时,编码单元的最大大小可被设置为相对大以提高压缩率并更精确地反映图像特征。因此,对于具有比图像数据集330更高的分辨率的图像数据集310和320,可选择64X64作为最大编码单元的大小。最大深度指示分层编码单元中的层的总数量。由于图像数据集310的最大深度是2,故图像数据集310的编码单元315可根据深度的增加而包括长轴大小是64的最大编码单元和长轴大小是32和16的子编码单元。另一方面,由于图像数据集330的最大深度是1,故图像数据集330的编码单元335可根据深度的增加而包括长轴大小是16的最大编码单元以及长轴大小是8的编码单J Li o然而,由于图像数据集320的最大深度是3,故图像数据集320的编码单元325可根据深度的增加而包括长轴大小是64的最大编码单元以及长轴大小是32、16、8和4的子编码单元。由于基于随着深度增加的较小子编码单元对图像进行编码,示例性实施例可适用于对包括更多精细场景的图像进行编码。图4是根据示例性实施例的基于编码单元的图像编码器400的框图。图像编码器400或其一个或多个部件可被实现为诸如计算机的处理器的硬件部件或驻留在计算机系统上的软件模块。帧内预测器410对当前帧405中的帧内模式的预测单元执行帧内预测,运动估计器420和运动补偿器425使用当前帧405和参考帧495对帧间模式的预测单元执行帧间预测和运动补偿。帧内预测器410、运动估计器420、运动补偿器425和参考帧495可被实现为例如在图像编码器400内集成的硬件或软件模块或者与图像编码器400相分离的硬件或 软件模块。基于从帧内预测器410、运动估计器420和运动补偿器425输出的预测单元产生残差值。产生的残差值通过变换器430和量化器440而被输出为量化的变换系数。量化的变换系数通过反量化器460和逆变换器470而被恢复为残差值,并且恢复的残差值通过去块单元480和环路滤波单元490被后处理,并被输出为参考帧495。量化的变换系数可通过熵编码器450而被输出为比特流455。为了基于根据示例性实施例的编码方法执行编码,图像编码器400的帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元480和环路滤波单元490基于最大编码单元、根据深度的子编码单元、预测单元和变换单元来执行图像编码处理。图5是根据示例性实施例的基于编码单元的图像解码器500的框图。图像解码器500或其一个或多个部件可被实现为诸如计算机的处理器的硬件部件或驻留在计算机系统上的软件模块。比特流505经过解析器510,从而将被解码的编码图像数据以及用于解码的编码信息被解析。编码图像数据通过熵解码器520和反量化器530而被输出为反量化的数据,并通过逆变换器540而被恢复为残差值。通过根据编码单元将残差值与帧内预测器550的帧内预测结果或运动补偿器560的运动补偿结果相加来恢复残差值。恢复的编码单元通过去块单元570和环路滤波单元580而被用于下一编码单元或下一帧的预测。解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580可被实现为例如在图像解码器500内集成的硬件或软件模块或者与图像解码器500相分离的硬件或软件模块。为了执行基于根据示例性实施例的解码方法的解码,图像解码器500的解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580基于最大编码单元、根据深度的子编码单元、预测单元和变换单元来执行图像解码处理。特别地,帧内预测器550和运动补偿器560通过考虑最大编码单元和深度来按照子编码单元确定预测单元和预测模式,逆变换器540通过考虑变换单元的大小来执行逆变换。图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元的示图。图I中示出的图像编码设备100和图2中示出的图像解码设备200通过考虑图像特征使用分层编码单元以执行编码和解码。最大编码单元和最大深度可根据图像特征而被自适应地设置,或根据用户的需要而被不同地设置。在图6中,分层编码单元结构600具有最大编码单元610,其中,最大编码单元610是高度和宽度是64并且最大深度是4的最大编码单元。深度沿着分层编码单元结构600的垂直轴增加,并且随着深度增加,子编码单元620到650的高度和宽度减小。最大编码单元610和子编码单元620到650的预测单元沿着分层编码单元结构600的水平轴被显示。最大编码单元610的深度为0,编码单元的大小(或者高度和宽度)是64X64。深度沿着垂直轴增加,并且存在大小是32X 32且深度是I的第一子编码单元620,大小是16 X 16且深度是2的第二子编码单元630,大小是8X8且深度是3的第三子编码单元640, 以及大小是4X4且深度是4的最小编码单兀650。大小是4X4且深度是4的最小编码单元650是最小编码单元,并且最小编码单元可被划分为预测单元,每个预测单元小于最小编码单元。参照图6,预测单元的示例根据每个深度沿着水平轴而被示出。也就是说,深度是0的最大编码单元610的预测单元可以是大小等于最大编码单元的大小64X64的预测单元,或者具有小于大小是64X64的最大编码单元的大小的大小是64X32的预测单元612、大小是32X64的预测单元614或大小是32X32的预测单元616。深度是I的第一子编码单元620的预测单元可以是大小等于第一子编码单元的大小32X32的预测单元,或者具有小于大小是32X32的第一子编码单元620的大小的大小是32 X 16的预测单元622、大小是16X32的预测单元624或大小是16 X 16的预测单元626。深度是2且大小是16 X 16的第二子编码单元630的预测单元可以是大小等于第一子编码单元630的大小16X16的预测单元,或者具有小于大小是16X16的第二子编码单元630的大小的大小是16X8的预测单元632、大小是8X16的预测单元634或大小是8X8的预测单元636。深度是3且大小是8X8的第三子编码单元640的预测单元可以是大小等于第三子编码单元640的大小8 X 8的预测单元,或者具有小于大小是8 X 8的第三子编码单元640的大小的大小是8X4的预测单元642、大小是4X8的预测单元644或大小是4X4的预测单元646。深度是4且大小是4X4的最小编码单兀650是最小编码单兀和最大深度的编码单元。最小编码单元650的预测单元可以是大小是4X4的预测单元650、大小是4X2的预测单元652,大小是2X4的预测单元654或大小是2X2的预测单元656。图7示出根据示例性实施例的编码单元和变换单元。图I中示出的图像编码设备100和图2中示出的图像解码设备200使用最大编码单元本身或者从最大编码单元划分的等于或小于最大编码单元的子编码单元来执行编码和解码。在编码和解码处理中,用于频率变换的变换单元的大小被选择为不大于相应的编码单元的大小。例如,如果当前编码单元710的大小是64X64,则可使用大小是32X32的变换单元720执行频率变换。图8A、图8B、图8C和图8D示出根据示例性实施例的编码单元810、预测单元860和变换单元870的划分形状。图8A和图8B示出根据示例性实施例的编码单元810和预测单元860。图8A示出由图I中示出的图像编码设备100选择的用于对最大编码单元810进行编码的划分形状。图像编码设备100将最大编码单元810划分为各种形状,执行编码,并通过基于RD代价将各种划分形状的编码结果彼此进行比较来选择最优划分形状。当照其原样对最大编码单元810进行编码最优时,如图8A到图8D所示,可对最大编码单元810进行编码而不划分最大编码单元810。参照图8A,通过将深度是0的最大编码单元810划分为深度等于或大于I的子编码单元来对最大编码单元810进行编码。也就是说,最大编码单元810被划分为4个深度是I的子编码单元,所有或一些深度是I的子编码单元被划分为深度是2的子编码单元814、 816、818、828、850 和 852。深度是I的子编码单元中位于右上侧的子编码单元和位于左下侧的子编码单元被划分为深度等于或大于2的子编码单元。一些深度等于或大于2的子编码单元可被划分为深度等于或大于3的子编码单元820、822、824、826、830、832、840、844和848。图8B示出用于最大编码单元810的预测单元860的划分形状。参照图8B,用于最大编码单元810的预测单元860可从最大编码单元810被不同地划分。换句话说,用于每个子编码单元的预测单元可小于相应的子编码单元。例如,用于位于深度是I的子编码单元812、854中的右下侧的子编码单元854的预测单元可小于子编码单元854。此外,用于深度是2的子编码单元814、816、818、828、850和852的子编码单元814、816、850和852的预测单元可分别小于子编码单元814、816、850和 852。此外,用于深度是3的子编码单元822、832和848的预测单元可分别小于子编码单元822、832和848。预测单元可具有各个子编码单元按照高度或宽度的方向被二等分的形状或具有各个子编码单元按照高度或宽度的方向被四等分的形状。图8C和图8D示出根据示例性实施例的预测单元860和变换单元870。图8C示出用于图8B中示出的最大编码单元810的预测单元860的划分形状,图8D示出最大编码单元810的变换单元870的划分形状。参照图8D,变换单元870的划分形状可从预测单元860而被不同地设置。例如,即使以子编码单元854的高度被二等分的形状来选择用于深度是I的子编码单元854的预测单元,也可以以子编码单元854的原始大小来选择变换单元。相似地,即使以子编码单元814和850中的每一个的高度被二等分的形状来选择用于深度是2的子编码单元814和850的预测单元,也可以以与子编码单元814和850中的每一个的原始大小相同的大小来选择变换单元。可以以小于预测单元的大小来选择变换单元。例如,当以子编码单元852的宽度被二等分的形状来选择用于深度是2的子编码单元852的预测单元时,可以以子编码单元852按照高度和宽度的方向被四等分的具有小于预测单元形状的大小的形状来选择变换单
J Li o
图9是根据示例性实施例的用于对运动矢量进行编码的设备900的框图。用于对运动矢量进行编码的设备900可包括在上面参照图I描述的设备100中或上面参照图4描述的图像解码器400中。参照图9,根据示例性实施例的运动矢量编码设备900包括预测单元910、第一编码器920和第二编码器930。为了对使用帧间预测(S卩,帧间图像预测)编码的块进行解码,使用关于指示当前块与参考图像中的相似块之间的位置差的运动矢量的信息。因此,关于运动矢量的信息在图像编码处理中被编码并被插入到比特流中。然而,如果关于运动矢量的信息照其原样被编码并被插入,则用于对关于运动矢量的信息进行编码的开销增大,从而降低图像数据的压缩率。

因此,在图像编码处理中,通过对当前块的运动矢量进行预测、仅对作为预测结果而产生的运动矢量预测因子与原始运动矢量之间的差矢量进行编码、并将编码的差矢量插入到比特流中,来对关于运动矢量的信息进行压缩。图9示出使用这样的运动矢量预测因子的用于对运动矢量进行编码的设备900。参照图9,预测单元910确定当前块的运动矢量是基于显式模式还是隐式模式而被预测编码。如上所述,这样的诸如MPEG-4H. 264/MPEG-4AVC的编解码器使用与当前块邻近的先前编码块的运动矢量以对当前块的运动矢量进行预测。例如,与当前块的左、上和右上侧邻近的先前编码块的运动矢量的中值可被用作当前块的运动矢量预测因子。由于使用相同的方法对使用帧间预测编码的所有块的运动矢量进行预测,故关于运动矢量预测因子的信息不必被分离地编码。然而,根据示例性实施例的设备100或图像解码器400使用关于运动矢量预测因子的信息未被分离地编码的模式以及关于运动矢量预测因子的信息被编码的模式两者,以更准确地对运动矢量进行预测,现将进行详细描述。(I)显式模式一种可被预测单元910选择的对运动矢量预测因子进行编码的方法可以是对关于当前块的运动矢量预测因子的信息进行显式编码的模式。显式模式是对指示至少一个运动矢量预测因子候选中的哪个运动矢量预测因子被用于对当前块的运动矢量进行预测的信息分离地进行编码的模式。将参照图10A、图IOB和图IlA到图IlC对根据示例性实施例的运动矢量预测因子候选进行描述。图IOA和图IOB示出根据示例性实施例的显式模式的运动矢量预测因子候选。参照图10A,根据示例性实施例的运动矢量预测方法可使用与当前块邻近的先前编码块的运动矢量之一作为当前块的运动矢量预测因子。与当前块的上侧邻近的块中的最左侧的块a0、与当前块的左侧邻近的块中的最上侧的块b0、与当前块的右上侧邻近的块C、与当前块的左上侧邻近的块d、以及与当前块的左下侧邻近的块e可被用于当前块的运动矢量预测因子。在根据示例性实施例的对图像进行编码的方法和对图像进行解码的方法中,图像基于具有根据深度而不同的不同大小的编码单元而被编码和解码。因此,与当前块的左下侧邻近的块得运动矢量也可被用作当前块的运动矢量预测因子。参照图8A,如果当前块是编码单元820,则与当前块的左上侧邻近的编码单元814、与当前块的上侧邻近的块中在最左侧的块中的编码单元816、与当前块的左侧邻近的块中在最上侧的块中的编码单元818、与当前块的右上侧邻近的编码单元822、以及与当前块的左下侧邻近的编码单元824在当前块之前被编码。因此,与当前块的左下侧邻近的块的运动矢量可被用作当前块的运动矢量预测因子。参照图10B,与当前块邻近的所有块的运动矢量可被用作当前块的运动矢量预测因子。换句话说,不仅与当前块的上侧邻近的块中在最左侧的块a0而且与当前块的上侧邻近的所有块aO到an的运动矢量可被用作当前块的运动矢量预测因子,不仅与当前块的左侧邻近的块中在最上侧的块bO而且与当前块的左侧邻近的所有块bO到bn的运动矢量可被用作当前块的运动矢量预测因子。可选择的,邻近块的运动矢量的中值可被用作运动矢量预测因子。换句话说,中值(mv_a0, mv_b0, mv_c)可被用作当前块的运动矢量预测因子,其中,mv_a0指示块aO的运动矢量,mv_b0指示块bO的运动矢量,mv_c指示块c的运动矢量。当前块的运动矢量预测因子候选可根据当前块的大小和与当前块邻近的块的大小而被限制。这将参照图IOC到图IOE来详细描述。 图10C到图10E示出根据示例性实施例的与当前块邻近的具有各种大小的块。如上所述,在根据示例性实施例的对图像进行编码的方法和对图像进行解码的方法中,使用根据深度确定的具有各种大小的编码单元和具有各种大小的预测单元对图像进行编码。因此,与当前块邻近的块的大小可改变。因此,如果当前块的大小极大地不同于一些与当前块邻近的块的大小,则与当前块邻近的具有不同大小的一个或多个块的运动矢量可不被用作当前块的运动矢量预测因子。参照图10C,与当前块1010的上侧邻近的块1014到1018是具有小于当前块1010的大小的大小的块。由于与当前块1010邻近并具有与当前块1010相同大小的块1012的运动矢量可与当前块1010的运动矢量相同或相似的可能性可能较高,故预测单元910可仅使用与当前块1010邻近并具有与当前块1010相同大小的块1012的运动矢量作为运动矢
量预测因子。即使块1012的大小与当前块1010的大小不同,仅与当前块1010邻近并具有预定大小的块的运动矢量可被用作运动矢量预测因子。例如,仅具有等于或大于当前块1010的大小的1/4的大小的块1012和1018的运动矢量可被用作运动矢量预测因子。参照图10D,与当前块1020的左侧邻近的块1022的大小是当前块1020的大小的16倍,它们之间具有极大的差别。由于这种极大的差别,与当前块1020的左侧邻近的块1022的运动矢量可以与当前块1020的运动矢量相同或相似的可能性可能较低。因此,与当前块1020的左侧邻近的块1022的运动矢量可不被用作当前块1020的运动矢量预测因子,并且仅与当前块1020的上侧邻近的块1024的运动矢量以及与当前块1020的左上侧邻近的块1026的运动矢量可被用作当前块1020的运动矢量预测因子。参照图10E,当前块1030的大小大于与当前块1030邻近的所有块1031到1037的大小。在这种情况下,如果与当前块1030邻近的所有块1031到1037的运动矢量被用作当前块1030的运动矢量预测因子,则当前块1030的运动矢量预测因子候选的数量会太大。随着当前块1030的大小与邻近于当前块1030的块1031到1037的大小之间的差别增大,运动矢量预测因子候选的数量增大。因此,图9中示出的预测单元910不使用与当前块1030邻近的一个或多个块的运动矢量作为当前块1030的运动矢量预测因子。
例如,在图IOE的示例性实施例中,与当前块1030的左下侧邻近的块1031的运动矢量和与当前块1030的右上侧邻近的块1037的运动矢量可不被用作当前块1030的运动
矢量预测因子。因此,如果当前块1030的大小等于或大于预定大小,则在预测方向上与当前块1030邻近的块的运动矢量可不被用作当前块1030的运动矢量预测因子。图IlA到图IlC示出根据另一示例性实施例的显式模式的运动矢量预测因子候选。图IlA示出根据示例性实施例的对双向预测图像(称为“B图像”)的运动矢量预测因子进行计算的方法。当包括当前块的当前图像是执行双向预测的B图像时,基于时间距离产生的运动矢量可以是运动矢量预测因子。可使用时间上在前的图像1112的共同定位的位置中的块1120的运动矢量来产生 当前图像1110的当前块1100的运动矢量预测因子mv_temporal。例如,如果在与当前块1100共同定位的位置中的块1120的运动矢量mv_coIA被产生用于当前图像1110的时间上在后的图像1114的搜索的块1122,则可根据以下等式产生当前块1100的运动矢量预测因子候选 mv_L0A 和 mv_LlA mv_LlA = (tl/t2) Xmv_colAmv_L0A = mv_L I A-mv_c o IA其中,mv_L0A指示用于时间上在前的图像1112的当前块1100的运动矢量预测因子,mv_LlA指示用于时间上在后的图像1114的当前块1100的运动矢量预测因子。在图IlA的示例性实施例中,作为B图像的当前图像1110存在于时间上在前的图像1112与时间上在后的图像1114之间。在这种情况下,如果在与当前块1100共同定位的位置中的块1120的运动矢量mv_colA从时间上在后的图像1114被产生,则当前块1100的运动矢量可基于mv_LlA而被更准确地预测。换句话说,与当mv_colA是具有与图IlA中示出的方向相反的方向的运动矢量的情况(即,当mv_colA是从时间上在前的图像1112之前的另一图像被产生时,并当mv_ColA是按照图IlA的方向的运动矢量时的情况下)相比,当前块1100的运动矢量可被更准确地预测。因此,如果从当前块1100到在与当前块1100共同定位的位置中的块1120的方向是方向ListO,在与当前块1100共同定位的位置中的块1120的运动矢量mv_colA应处于方向Listl,从而如图IlA中示出的时间上在前的图像1112与时间上在后的图像1114之间可存在当前图像1110的可能性可增加,并且当前块1100的运动矢量可基于mv_colA而被更准确地预测。此外,由于图IlA中示出的图像1110到1114按照时间顺序排列,故当前块1100的运动矢量预测因子mv_temporal可基于图像序列号(POC)而被产生。由于被当前块1100参考的图像可以是与图IlA中示出的图像1112和1114不同的图像,故当前块1100的运动矢量预测因子mv_temporal基于POC被产生。例如,如果当前图像的POC是CurrPOC,并且被当前图像参考的图像的POC是CurrRefPOC,贝U可根据以下等式产生当前块1100的运动矢量预测因子mv_temporal Scale = (CurrPOC-CurrRefPOC)/(ColPOC-ColRefPOC)mv—temporal = Scale Xmv—colA
其中,ColPOC是包括在与当前块1100共同定位的位置中的块1120的时间上在前的图像1112的POC,ColRefPOC是包括被在与当前块1100共同定位的位置中的块1120参考的块1122的时间上在后的图像1114的P0C。图IlB示出根据另一示例性实施例的产生B图像的运动矢量预测因子的方法。与图IIA中示出的方法相比,在与当前块1100共同定位的位置中的块存在于时间上在后的图像1114中。参照图11B,可使用时间上在后的图像1114的共同定位的位置中的块1130的运动矢量来产生当前图像1110的当前块1100的运动矢量预测因子。例如,如果在与当前块1100共同定位的位置中的块1130的运动矢量mv_colB被产生用于当前图像1110的时间上在前的图像1112的搜索的块1132,则可根据以下等式产生当前块1100的运动矢量预测因子候选 mv_L0B 和 mv_LlB mv_L0B = (t3/t4) Xmv_colB
mv_LlB = mv_L0B-mv_colB其中,mv_L0B指示用于时间上在前的图像1112的当前块1100的运动矢量预测因子,mv_LlB指示用于时间上在后的图像1114的当前块1100的运动矢量预测因子。与图IlA相似,在图IlB的示例性实施例中,作为B图像的当前图像1110存在于时间上在前的图像1112与时间上在后的图像1114之间。因此,如果在与当前块1100共同定位的位置中的块1130的mv_L0B被产生用于时间上在前的图像1112,则当前块1100的运动矢量可基于mv_L0B而被更准确地预测。换句话说,与当mv_colB是具有与图IlB中示出的方向相反方向的运动矢量时的情况(即,当mv_colB是从时间上在后的图像1114之后的另一图像被产生时,并当mV_colB是按照图IlB的方向的运动矢量时的情况)相比,当前块1100的运动矢量可被更准确地预测。因此,如果从当前块1100到在与当前块1100共同定位的位置中的块1130的方向是方向Listl,在与当前块1100共同定位的位置中的块1130的运动矢量mv_colB应处于方向ListO,从而如图IlB中示出的时间上在前的图像1112与时间上在后的图像1114之间可存在当前图像1110的可能性可增加,并且当前块1100的运动矢量可基于mv_colB而被更准确地预测。此外,由于被当前块1100参考的图像可以是除图IlB中示出的图像1112和1114之外的图像,故当前块1100的运动矢量预测因子可基于POC被产生。例如,如果当前图像的POC是CurrPOC,并且被当前图像参考的图像的POC是CurrRefPOC,则可根据以下等式产生当前块1100的运动矢量预测因子Scale = (CurrPOC-CurrRefPOC)/(ColPOC-ColRefPOC)mv—temporal = Scale Xmv—colB其中,ColPOC是包括在与当前块1100共同定位的位置中的块1130的时间上在后的图像1114的P0C,ColRefPOC是包括被在与当前块1100共同定位的位置中的块1130参考的块1132的时间上在前的图像1112的P0C。在通过使用预测单元910产生B图像的当前块1100的运动矢量中,在图IlA和图IlB中示出的方法之一可被使用。换句话说,由于使用在与当前块1100共同定位的位置中的块1120或1130的运动矢量和时间距离来产生运动矢量预测因子,故仅在在共同定位的位置中的块1120和1130的运动矢量存在时使用图IlA和图IlB中示出的方法产生运动矢量预测因子。因此,根据示例性实施例的预测单元910仅使用在共同定位的位置中的块1120和1130中具有运动矢量的块来产生当前块1100的运动矢量预测因子。例如,当使用帧内预测代替帧间预测对时间上在前的图像1112的共同定位的位置中的块1120进行编码时,块1120的运动矢量不存在,从而不能使用图IlA中示出的产生运动矢量预测因子的方式来产生当前块1100的运动矢量预测因子。如图IlA和图IlB中所示,时间上在前的图像1112的共同定位的位置中的块1120和时间上在后的图像1114的共同定位的位置中的块1130可被用于通过使用预测单元910产生B图像的当前图像1110的运动矢量预测因子。因此,可仅在用于对运动矢量进行编码 的设备900知道在与当前块1100共同定位的位置中的块1120和1130中的哪个块被用于产生运动矢量预测因子mvjemporal时,对当前块1100的运动矢量预测因子进行解码。为此,用于对运动矢量进行编码的设备900可对用于指定在与当前块1100共同定位的位置中的块1120和1130中的哪个块被用于产生运动矢量预测因子mv_temporal的信息进行编码,并可将编码的信息插入到块头或像条头。图IlC示出根据示例性实施例的产生P图像的运动矢量预测因子的方法。参照图11C,可使用时间上在前的图像1112的共同定位的位置中的块1140的运动矢量来产生当前图像1110的当前块1100的运动矢量预测因子。例如,如果在与当前块1100共同定位的位置中的块1140的运动矢量mv_colC被产生用于另一时间上在前的图像1116的搜索的块1142,则可根据以下等式产生当前块1100的运动矢量预测因子候选mv_LOC mv_L0C = (t6/t5) Xmv_colC如上参照图IlA和图IlB所述,mv_L0C还可基于POC被产生。基于当前图像1110的P0C、被当前图像1110参考的图像的P0C、时间上在前的图像1112的POC以及另一时间上在前的图像1116的P0C,可产生mv_L0C。由于当前图像1110是P图像,与图IlA和图IlB不同,当前块1100的运动矢量预测因子的数量是I。综上所述,可根据以下等式产生根据图10A、图IOB以及图IlA到图IlC的运动矢量预测因子候选的集C :C= {median(mv_a0, mv_b0 mv_c), mv_a0, mv_al, mv_aN, mv_b0, mv_bl,mv_bN, mv_c, mv_d, mv_e, mv_temporal}可选择地,可根据以下等式通过减少运动矢量预测因子候选的数量来产生集C C = {median (mv_a,,mv_b,,mv_c,),mv_a,,mv_b,,mv_c,,mv_temporal}这里,mv_x指示块X的运动矢量,medianO指示中值,mv_temporal指示使用上面参照图IlA到图IlC所述的时间距离产生的运动矢量预测因子候选。此外,mv_a’指示mv_aO, mv_al, ···, mv_aN中的真正(very)第一有效运动矢量。例如,当块aO已经使用帧内预测而被编码或参考与被当前块参考的图像不同的图像时,当前块aO的运动矢量mv_aO无效,从而mv_a’ = mv_al,如果块al的运动矢量也无效,则mv_B — mv—β2 ο相似地,mv_b’指示mv_bO, mv_bl, ···, mv_bN中的真正第一有效运动矢量,mv_c’指示mv_c, mv_d, mv_e中的真正第一有效运动矢量。与当前块邻近的块的运动矢量中的参考与被当前块参考的图像不同的图像的块的运动矢量可能不会对当前块的运动矢量进行有效地预测。因此,参考与被当前块参考的图像不同的图像的块的运动矢量可从运动矢量预测因子候选的集C中被排除。显式模式是对指示哪个运动矢量已被用于当前块的运动矢量预测因子的信息进行编码的模式。例如,当运动矢量在显式模式下被编码时,二进制数可被分配给集C中的每个元素(即,运动矢量预测因子候选),如果它们中的一个被用作当前块的运动矢量预测因子,则相应的二进制数可被输出。由于相应的二进制数被分配给每个运动矢量预测因子候选以指定集C中的元素的一个并且所述相应的二进制数被输出,故随着集C的元素的数量减少,可以以更少比特的二进制数来指定集C的元素。因此,如果重复的运动矢量预测因子候选在集C中出现,则所述重复的运动矢量 预测因子候选可从集C中被排除,并且二进制数被分配给运动矢量预测因子候选。例如,当如上所述集 C = {median(mv_a,,mv_b,,mv_c,),mv_a,,mv_b,,mv_c,,mv_tempo;ral}时,如果 mv_a’、mv_b’ 和 mv_c’ 全部相同,则集 C 可被确定为如 C = {median (mv_a’, mv_b’,mv_c’),mv_a’,mv_temporal}中的三个元素,并且二进制数可被分配。如果在从集C中排除重复的运动矢量预测因子候选之前可使用3比特来指定集C中的元素,则在从集C中排除重复的运动矢量预测因子候选之后可使用2比特来指定集C中的元素。取代于从集C中排除重复的运动矢量预测因子候选,可添加预定权重以增加重复的运动矢量预测因子候选可被确定为当前块的运动矢量预测因子的可能性。在如上所述的示例中,由于mv_a’、mv_b ’和mv_c ’全部相同并且仅mv_a’包括在集C中,故可通过将预定权重添加到mv_a’来增加mv_a’可被确定为当前块的运动矢量预测因子的可能性。此外,当仅存在一个运动矢量预测因子候选时,不管显式模式,可不对用于指定运动矢量预测因子候选中的一个的二进制数进行编码。例如,当集C= {median(mv_a0,mv_b0, mv_c), mv_a0, mv_al, mv_aN, mv_b0, mv_bI, mv_bN, mv_c, mv_d, mv_e, mv_temporal}时并且如果块aO到aN、块bO到bN、块C、块d和块e是巾贞内预测的块,则集C ={mvjemporal},从而实质上包括一个元素。因此,在这种情况下,用于对运动矢量进行编码的设备900可不管显式模式而不对用于从多个运动矢量预测因子候选中指定一个运动矢量预测因子候选的二进制数进行编码。本领域的普通技术人员将容易地理解,可使用除了上面参照显式模式描述的运动矢量预测因子候选之外的其它运动矢量预测因子候选。(2)隐式模式可由预测单元910选择的对运动矢量预测因子进行编码的另一方法是仅对指示基于包括在与当前块邻近的先前编码区域中的块或像素来产生当前块的运动矢量预测因子的信息进行编码的模式。与显式模式不同,隐式模式是对指示在隐式模式下运动矢量预测因子的产生的信息进行编码而不对用于指定运动矢量预测因子的信息进行编码的模式。如上所述,诸如MPEG-4H. 264/MPEG-4AVC的编解码器使用与当前块邻近的先前编码块的运动矢量以对当前块的运动矢量进行预测。也就是说,与当前块的左、上和右上侧邻近的先前编码块的运动矢量的中值被用作当前块的运动矢量预测因子。在这种情况下,与显式模式不同,用于选择运动矢量预测因子候选中的一个的信息不是必须被编码。换句话说,如果在图像编码处理中仅对指示当前块的运动矢量预测因子已经在隐式模式下被编码的信息进行编码,则在图像解码处理中与当前块的左、上和右上侧邻近的先前编码块的运动矢量的中值可被用作当前块的运动矢量预测因子。此外,根据示例性实施例的图像编码方法提供了一种通过将与当前块邻近的先前编码像素值用作模板来产生运动矢量预测因子的新的隐式模式。这将参照图12A进行详细描述。图12A示出根据示例性实施例的产生隐式模式的运动矢量预测因子的方法。参照图12A,包括在与当前图像1210的当前块1200邻近的先前编码区域1220中的像素1222被用于产生当前块1200的运动矢量预测因子。通过使用邻近像素1222搜索参 考图像1212来确定相应的像素1224。可通过计算绝对差和(SAD)来确定相应的像素1224。当相应的像素1224被确定时,邻近像素1222的运动矢量mvjemplate被产生,并且运动矢量mv_template可被用作当前块1200的运动矢量预测因子。运动矢量预测因子候选的集C可被用于从参考图像1212搜索mv_template。这将参照图12B进行详细描述。图12B示出根据示例性实施例的搜索隐式模式的运动矢量预测因子的方法。参照图12B,当预测单元910通过使用与当前块1200邻近的像素1222搜索参考图像1212时,可设置预定的搜索范围1226,并可仅在预定的搜索范围1226内搜索相应的像素1224。可基于如上所述的运动矢量预测因子候选来设置搜索范围1226。可基于运动矢量预测因子候选来确定搜索范围1226的中心,并且包括在预定的像素范围中的区域可被设置为来自搜索范围的确定的中心的搜索范围1226。由于可存在多个运动矢量预测因子候选,故多个搜索范围1226可被设置,并且搜索范围1226可在不同图像中被设置。通过搜索多个搜索范围1226来确定具有最小SAD的相应的像素1224,并基于所述确定来产生mv_template。与当前块1200邻近的像素1222的大小和形状可改变。因此,现将参照图12C进行详细描述。图12C示出根据示例性实施例的用于产生运动矢量预测因子的模板。参照图12C,用于通过使用预测单元910产生当前块1200的运动矢量预测因子的与当前块1200邻近的像素1222(如图12A中所示)可具有不同的大小和形状。例如,当当前块1200的大小是4X4时,与当前块1220邻近的像素1222可被设置为仅包括9个像素,如图12C中所述,与当前块1220邻近的像素1228可被设置为包括9个或更多像素。此外,像素1222可被设置为具有除形状“ 之外的形状,如图12A到图12C所示。图12D示出根据另一示例性实施例的用于产生运动矢量预测因子的模板。在SAD的计算中,不是所有与当前块1200邻近的像素均被使用,而是可仅使用与当前块1200邻近的像素1222中的一些。例如,可仅使用与当前块1200邻近的大小为4X4的9个像素1222中的3、5或7个像素来计算SAD。图12D示出通过仅使用与当前块的左上侧邻近的像素、与当前块的上侧邻近的像素中在最右侧的像素以及与当前块的左侧邻近的像素中在最下侧的像素来计算SAD的模板。
以上参照图12B到图12D描述的关于模板的不同大小和形状的信息可与运动矢量分离地编码,可被编码为像条参数并被插入到像条头,或可被编码为序列参数并被插入到比特流中。如果使用邻近块的运动矢量的中值作为运动矢量预测因子的模式被定义为“implicit mode」”,并且如果使用与当前块邻近的像素来产生运动矢量预测因子的模式被定义为“implicit mode_2”,则可使用两个隐式模式implicit mode_l和implicitmode_2中的一个通过在图像编码处理中对关于两个隐式模式中的一个的信息进行编码并在图像解码处理中参照关于模式的信息来产生运动矢量预测因子。(3)模式选择可存在用于预测单元910选择上述显式模式和隐式模式中的一个的各种标准。由于在显示模式下选择了多个运动矢量预测因子候选中的一个,故与当前块的运 动矢量更相似的运动矢量预测因子可被选择。相反,由于指示多个运动矢量预测因子候选中的一个的信息被编码,故可比在隐式模式下发生更大的开销。因此,对于具有较大大小的编码单元,合适的是在显式模式下对运动矢量进行编码,这是由于增加当运动矢量被错误预测时发生误差的可能性对于具有较大大小的编码单元来说高于具有较小大小的编码单元,并且当编码单元的大小较大时对每个图像开销发生的频率减小。例如,当平均地划分为大小为64X64的m个编码单元的图像在显式模式中被编码时,开销发生的次数是m。然而,当平均地划分为大小为32X32的4m个编码单元的具有相同大小的图像在显式模式中被编码时,开销发生的次数是4m。因此,根据示例性实施例的预测单元910可在当前块的运动矢量被编码时,基于编码单兀的大小来选择显式模式和隐式模式中的一个。由于使用深度来呈现在上面参照图I到图8所述的根据示例性实施例的图像编码方法和图像解码方法中的编码单元的大小,故预测单元910基于当前块的深度来选择当前块的运动矢量在显式模式还是在隐式模式中被编码。例如,当深度是O和I的编码单元被帧间预测时,编码单元的运动矢量在显式模式下被编码,当深度等于或大于2的编码单元被帧间预测时,编码单元的运动矢量在隐式模式下被编码。根据另一示例性实施例,预测单元910可针对每个图像或像条单元来选择显式模式或隐式模式。由于图像特征对于每个图像或像条单元是不同的,故可通过考虑这些图像特征针对每个图像或像条来选择显式模式或隐式模式。可通过考虑R-D代价从显式模式和隐式模式中选择最优模式来对包括在当前图像或像条中的编码单元的运动矢量进行预测编码。例如,如果包括在当前图像或像条中的编码单元的运动矢量可在不使用显式模式的情况下被准确地预测,故包括在当前图像或像条中的所有编码单元的运动矢量可在隐式模式下被预测编码。根据另一示例性实施例,预测单元910可基于当前块是否已经在跳过模式下被编码来选择显式模式或隐式模式。跳过模式是仅对指示当前块已经在跳过模式下被编码的标志信息进行编码而不对像素值进行编码的编码模式。跳过模式是在通过使用作为当前块的运动矢量的运动矢量预测因子执行运动补偿而产生的预测块性相似于当前块的情况下当前块的像素值不被编码的模式。因此,由于运动矢量预测因子被产生为更相似于当前块的运动矢量,在跳过模式下对当前块进行编码的可能性更高。因此,在跳过模式下编码的块可在显式模式下被编码。参照回图9,当预测单元910选择显式模式和隐式模式中的一个并根据选择的模式确定运动矢量预测因子时,第一编码器920和第二编码器930对关于编码模式和运动矢量的信息进行编码。第一编码器920对关于当前块的运动矢量预测因子的信息进行编码。更详细地,当预测单元910选择当前块的运动矢量在显式模式下被编码时,第一编码器920对以下信息进行编码指示运动矢量预测因子已经在显式模式下被产生的信息以及指示运动矢量预测因子候选已被用作当前块的运动矢量预测因子的信息。此外,如果多个运动矢量预测因子候选包括上面参照图IlA到图IlC描述的mv_temporal,则指示在与当前块共同定位的位置中的块1200或1300 (作为用于产生mv_temporal的基础)是时间上在前的图像的块还是时间上在后的图像的块的信息也被编码。

相反,当预测单元910选择当前块的运动矢量在隐式模式下被编码时,第一编码器920对指示当前块的运动矢量预测因子已经在隐式模式下被产生的信息进行编码。换句话说,第一编码器920对指示已经使用与当前块邻近的块或像素产生了当前块的运动矢量预测因子的信息进行编码。如果两个或更多隐式模式被使用,则第一编码器920还可对指示哪个隐式模式已被用于产生当前块的运动矢量预测因子的信息进行编码。隐式模式可以是通过以下步骤产生当前块的运动矢量预测因子的模式基于当前块的运动矢量预测因子候选来设置搜索范围,并在基于与当前块邻近的先前编码区域的像素设置的搜索范围内进行搜索,如图12C所示。第二编码器930基于由预测单元910确定的运动矢量预测因子对当前块的运动矢量进行编码。可选择地,第二编码器930通过从作为运动补偿的结果而产生的当前块的运动矢量中减去由预测单元910产生的运动矢量预测因子来产生差矢量,并对关于差矢量的信息进行编码。图13是根据示例性实施例的用于对运动矢量进行解码的设备1300的框图。现将详细描述可包括在上面参照图2描述的图像解码设备200或上面参照图5描述的图像解码器500中的用于对运动矢量进行解码的设备1300。参照图13,运动矢量解码设备1300包括第一解码器1310、第二解码器1320、预测单元1330和运动矢量恢复器1340。第一解码器1310对包括在比特流中的关于当前块的运动矢量预测因子的信息进行解码。详细地,第一解码器1310对指示当前块的运动矢量预测因子已在显式模式还是隐式模式下被编码的信息进行解码。当当前块的运动矢量预测因子已在显式模式下被编码时,第一解码器1310还对指示多个运动矢量预测因子中的被用作当前块的运动矢量预测因子的一个运动矢量预测因子的信息进行解码。此外,如果多个运动矢量预测因子候选包括上面参照图IlA到图IlC描述的mv_temporal,则指示在与当前块共同定位的位置中的块1200或1300 (作为用于产生mv_temporal的基础)是时间上在前的图像的块还是时间上在后的图像的块的信息也被解码。当当前块的运动矢量预测因子已在隐式模式中被解码时,第一解码器1310还可对指示多个隐式模式中的一个已被用于对当前块的运动矢量预测因子进行编码的信息进行解码。隐式模式可以是通过以下步骤产生当前块的运动矢量预测因子的模式基于当前块的运动矢量预测因子候选来设置搜索范围,并在基于与当前块邻近的先前编码区域的像素设置的搜索范围内进行搜索,如图12C所示。第二解码器1320对包括在比特流中的当前块的运动矢量与运动矢量预测因子之间的差矢量进行解码。预测单元1330基于已由第一解码器1310解码的关于当前块的运动矢量预测因子的信息来产生当前块的运动矢量预测因子。当已在显式模式中被编码的关于当前块的运动矢量预测因子的信息被解码时,预测单元1330在上面参照图10A、图IOB和图IlA到图IlC中描述的运动矢量预测因子候选中产生一个运动矢量预测因子,并使用其作为当前块的运动矢量预测因子。

当已在显式模式中被编码的关于当前块的运动矢量预测因子的信息被解码时,预测单元1330使用包括在与当前块邻近的先前编码区域中的块或像素来产生当前块的运动矢量预测因子。更详细地,预测单元1330产生与当前块邻近的块的运动矢量的中值作为当前块的运动矢量预测因子,或通过使用与当前块邻近的像素搜索参考图像来产生当前块的运动矢量预测因子。运动矢量恢复器1340通过将由预测单元1330产生的运动矢量预测因子与由第二解码器1320解码的差矢量相加来恢复当前块的运动矢量。恢复的运动矢量被用于当前块的运动补偿。图14是根据示例性实施例的对运动矢量进行编码方法的流程图。参照图14,在操作1410,根据示例性实施例的运动矢量编码设备选择显式模式和隐式模式中的一个作为对关于运动矢量预测因子的信息进行编码的模式。显式模式是对作为关于运动矢量预测因子的信息的指示至少一个运动矢量预测因子候选中的一个运动矢量预测因子候选进行编码的模式,隐式模式是对作为关于运动矢量预测因子的信息的指示已基于包括在与当前块邻近的先前编码区域中的块或像素产生了运动矢量预测因子的信息进行编码的模式。已在上面参照图IOA到图10E、图IlA到图IlC和图12A到图12C给出了其详细描述。可基于当前块的大小(即,当前块的深度)来选择模式,或可以以包括当前块的当前图像或像条为单位来选择模式。可选择地,可根据当前块是否已在跳过模式下被编码来选择模式。在操作1420,运动矢量编码设备根据在操作1410中选择的模式来确定运动矢量预测因子。详细地,运动矢量编码设备基于在操作1410中选择的显式模式或隐式模式来确定当前块的运动矢量预测因子。更详细地,运动矢量编码设备在显式模式下在至少一个运动矢量预测因子候选中确定一个运动矢量预测因子候选作为当前块的运动矢量预测因子,或者在隐式模式下基于与当前块邻近的块或像素来确定当前块的运动矢量预测因子。在操作1430,运动矢量编码设备对在操作1420中确定的关于运动矢量预测因子的信息进行编码。在显式模式的情况下,运动矢量编码设备对以下信息进行编码指示至少一个运动矢量预测因子候选中的一个运动矢量预测因子的信息以及指示关于当前块的运动矢量预测因子的信息已在显式模式下被编码的信息。此外,如果多个运动矢量预测因子候选包括上面参照图IlA到图IlC描述的mv_temporal,则指示在与当前块共同定位的位置中的块1200或1300 (作为用于产生mv_temporal的基础)是时间上在前的图像的块还是时间上在后的图像的块的信息也被编码。在隐式模式的情况下,运动矢量编码设备对指示已经基于包括在与当前块邻近的先前编码区域中的块或像素产生了当前块的运动矢量预测因子的信息进行编码。在多个隐式模式的情况下,运动矢量编码设备还可对指示多个隐式模式中的一个的信息进行编码。隐式模式可以是通过以下步骤产生当前块的运动矢量预测因子的模式基于当前块的运动矢量预测因子候选来设置搜索范围,并在基于与当前块邻近的先前编码区域的像素设置的搜索范围内进行搜索,如图12C所示。 在操作1440,运动矢量编码设备对通过从当前块的运动矢量减去在操作1420中确定的运动矢量预测因子而产生的差矢量进行编码。图15是根据示例性实施例的对运动矢量进行解码方法的流程图。参照图15,在操作1510,根据示例性实施例的运动矢量解码设备对包括在比特流中的关于当前块的运动矢量预测因子的信息进行解码。详细地,运动矢量解码设备对关于显式模式或隐式模式中的用于对当前块的运动矢量预测因子进行编码的模式的信息进行解码。在显式模式的情况下,运动矢量解码设备对指示当前块的运动矢量预测因子已在显式模式下被编码的信息以及关于至少一个运动矢量预测因子候选中的一个运动矢量预测因子候选的信息进行解码。此外,如果多个运动矢量预测因子候选包括上面参照图IlA到图IlC描述的mv_temporal,则指示在与当前块共同定位的位置中的块1200或1300 (作为用于产生mv_temporal的基础)是时间上在前的图像的块还是时间上在后的图像的块的信息也被解码。在隐式模式的情况下,运动矢量解码设备对指示已经基于包括在与当前块邻近的先前编码区域中的块或像素产生了当前块的运动矢量预测因子的信息进行解码。在多个隐式模式的情况下,运动矢量解码设备还可对指示多个隐式模式中的一个的信息进行解码。隐式模式可以是通过以下步骤产生当前块的运动矢量预测因子的模式基于当前块的运动矢量预测因子候选来设置搜索范围,并在基于与当前块邻近的先前编码区域的像素设置的搜索范围内进行搜索,如图12C所示。在操作1520,运动矢量解码设备对关于差矢量的信息进行解码。差矢量是当前块的运动矢量预测因子与当前块的运动矢量之间的差的矢量。在操作1530,运动矢量解码设备基于已在操作1510中解码的关于运动矢量预测因子的信息来产生当前块的运动矢量预测因子。详细地,运动矢量解码设备根据显式模式或隐式模式产生当前块的运动矢量预测因子。更详细地,运动矢量解码设备通过在至少一个运动矢量预测因子候选中选择一个运动矢量预测因子候选或通过使用包括在与当前块邻近的先前解码区域中的块或像素,来产生当前块的运动矢量预测因子。在操作1540,运动矢量解码设备通过将在操作1520中解码的差矢量与在操作1530中产生的运动矢量预测因子相加来恢复当前块的运动矢量。如上所述,根据示例性实施例,可通过使用关于运动矢量的信息不被分离地编码的模式和关于运动矢量预测因子的信息被编码的模式两者来更准确地对运动矢量进行预测。虽然上面已经具体示出和描述了示例性实施例,但是本领域的普通技术人员将理解,在不脱离范围由权利要求及其等同物限定的本发明构思的精神和范围的情况下可做出形式和细节上的各种改变。另外,示例性实施例可被实现为计算机可读记录介质上的计算机可读代码。例如,在图I、图2、图4、图5、图9和图13中示出的图像编码或解码设备、图像编码器或解码器、用于对运动矢量进行编码的设备和用于对运动矢量进行解码的设备可包括连接到所述设备或编码器的每个单元的总线、连接到总线并用于执行命令的至少一个处理器以及连接到总线以存储命令、接收的消息和产生的消息的存储器。计算机可读记录介质是可存储其后可被计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-R0M、磁带、软盘和光数据存储装置。计算机可读记录介质还可分布于联网的计算机系统,从而以 分布式方式存储和执行计算机可读代码。
权利要求
1.ー种对运动矢量进行编码的方法,所述方法包括 从第一模式和第二模式中选择第一模式或第二模式,其中,在第一模式下,指不至少一个运动矢量预测因子中的运动矢量预测因子的信息被编码,在第二模式下指示基于包括在与当前块邻近的先前编码区域中的像素产生运动矢量预测因子的信息被编码; 根据选择的模式来确定当前块的运动矢量预测因子,并对关于当前块的运动矢量预测因子的信息进行编码;以及 对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行编码, 其中,第二模式是指示通过以下步骤产生运动矢量预测因子的信息被编码的模式基于所述至少ー个运动矢量预测因子来设置将对运动矢量预测因子进行搜索的范围,并通过使用包括在先前编码区域中的像素在搜索范围内进行搜索。
2.如权利要求I所述的方法,其中,选择第一模式或第二模式的步骤包括基于深度来选择第一模式或第二模式,其中,深度指示从当前图像或像条的最大编码单元的大小减小到当前块的大小的程度。
3.如权利要求I所述的方法,其中,选择第一模式或第二模式的步骤包括以包括当前块的当前图像为単位或以包括当前块的像条为单位来选择第一模式或第二模式。
4.如权利要求I所述的方法,其中,选择第一模式或第二模式的步骤包括基于当前块是否在跳过模式下被编码来选择第一模式或第二模式。
5.如权利要求I所述的方法,其中,所述至少一个运动矢量预测因子包括与当前块的左侧邻近的块的第一运动矢量、与当前块的上侧邻近的块的第二运动矢量以及与当前块的右上侧邻近的块的第三运动矢量。
6.如权利要求5所述的方法,其中,所述至少一个运动矢量预测因子还包括第一运动矢量、第二运动矢量和第三运动矢量的中值。
7.如权利要求5所述的方法,其中,所述至少一个运动矢量预测因子还包括基于在參考图像中与当前块共同定位的块的运动矢量以及參考图像与当前图像之间的时间距离而产生的运动矢量预测因子。
8.如权利要求7所述的方法,其中,对关于当前块的运动矢量预测因子的信息进行编码的步骤包括对指示与当前块共同定位的块是时间上在当前图像之前的图像的块还是时间上在当前图像之后的图像的块的信息进行编码。
9.如权利要求8所述的方法,其中,指示与当前块共同定位的块是时间上在当前图像之前的图像的块还是时间上在当前图像之后的图像的块的信息被插入到包括当前块的像条的头中。
10.ー种对运动矢量进行编码的设备,所述设备包括 预测单元,从第一模式和第二模式中选择第一模式或第二模式,其中,在第一模式下,指示至少ー个运动矢量预测因子中的运动矢量预测因子的信息被编码,在第二模式下,指示基于包括在与当前块邻近的先前编码区域中的像素产生运动矢量预测因子的信息被编码; 第一编码器,根据选择的模式来确定当前块的运动矢量预测因子,并对关于当前块的运动矢量预测因子的信息进行编码;以及 第二编码器,对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行编码, 其中,第二模式是指示通过以下步骤产生运动矢量预测因子的信息被编码的模式基于所述至少ー个运动矢量预测因子来设置将对运动矢量预测因子进行搜索的范围,并通过使用包括在先前编码区域中的像素在搜索范围内进行搜索。
11.ー种对运动矢量进行解码的方法,所述方法包括 对根据从第一模式和第二模式中选择的模式编码的关于当前块的运动矢量预测因子的信息进行解码; 对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行解码; 基于解码的关于当前块的运动矢量预测因子的信息来产生当前块的运动矢量预测因子;以及 基于产生的运动矢量预测因子和解码的差矢量来恢复当前块的运动矢量, 其中,第一模式是指示至少ー个运动矢量预测因子中的运动矢量预测因子的信息被编码的模式,第二模式是指示通过以下步骤产生运动矢量预测因子的信息被编码的模式基于所述至少ー个运动矢量预测因子来设置将对运动矢量预测因子进行搜索的范围,并通过使用包括在与当前块邻近的先前编码区域中的像素在搜索范围内进行搜索。
12.如权利要求11所述的方法,其中,从第一模式和第二模式中选择的模式是基于深度而选择的模式,其中,所述深度指示从当前图像或像条的最大编码单元的大小逐步减小到当前块的大小的程度。
13.如权利要求11所述的方法,其中,从第一模式和第二模式中选择的模式是以包括当前块的当前图像为単位或以包括当前块的像条为单位而选择的模式。
14.ー种对运动矢量进行解码的设备,所述设备包括 第一解码器,对根据从第一模式和第二模式中选择的模式编码的关于当前块的运动矢量预测因子的信息进行解码; 第二解码器,对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行解码; 预测单元,基于解码的关于当前块的运动矢量预测因子的信息来产生当前块的运动矢量预测因子;以及 运动矢量恢复器,基于产生的运动矢量预测因子和解码的差矢量来恢复当前块的运动矢量, 其中,第一模式是指示至少ー个运动矢量预测因子中的运动矢量预测因子的信息被编码的模式,第二模式是指示通过以下步骤产生运动矢量预测因子的信息被编码的模式基于所述至少ー个运动矢量预测因子来设置将对运动矢量预测因子进行搜索的范围,并通过使用包括在与当前块邻近的先前编码区域中的像素在搜索范围内进行搜索。
15.ー种其上记录有用于执行权利要求I到权利要求9以及权利要求11到权利要求13之一的方法的计算机程序的计算机可读记录介质。
全文摘要
提供了一种用于对运动矢量进行编码和解码的方法和设备。所述对运动矢量进行编码的方法包括从第一模式和第二模式中选择模式,其中,在第一模式下,指示至少一个运动矢量预测因子中的运动矢量预测因子的信息被编码,在第二模式下,指示基于包括在与当前块邻近的先前编码区域中的像素产生运动矢量预测因子的信息被编码;根据选择的模式来确定当前块的运动矢量预测因子,并对关于当前块的运动矢量预测因子的信息进行编码;以及对当前块的运动矢量与当前块的运动矢量预测因子之间的差矢量进行编码。
文档编号H04N7/32GK102792697SQ201180014025
公开日2012年11月21日 申请日期2011年1月14日 优先权日2010年1月14日
发明者李泰美, 闵正惠, 韩宇镇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1