使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备的制作方法

文档序号:7848637阅读:190来源:国知局
专利名称:使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备的制作方法
技术领域
本发明涉及ー种用于对图像进行编码/解码的方法和设备,更具体地说,涉及一种用于基于帧间预测对图像进行编码/解码的方法和设备。
背景技术
根据视频压缩标准(诸如MPEG-I、MPEG-2和MPEG-4H. 264/MPEG-4AVC(先进视频编码)),通过将图像划分为预定大小的块来对图像进行编码。接下来,通过使用帧间预测或帧内预测来对每个预定大小的块进行预测编码。对于帧间预测,通过搜索与当前块相同或相似的块的至少ー个參考帧来执行运动估计,通过执行运动估计而产生的运动矢量与像素值一起被编码,编码的结果被随后插入比特流。·

发明内容
技术方案本发明的ー个或多个方面提供了 ー种图像编码方法和设备以及图像解码方法和设备,以及记录有用于执行所述图像编码方法和/或所述图像解码方法的程序的计算机可读记录介质,其中,在所述图像编码方法和设备以及图像解码方法和设备中,基于至少ー个先前块的运动矢量来确定当前块的运动矢量,并基于确定的运动矢量来对图像进行编码/解码。有益效果根据本发明,使用至少ー个先前块的运动矢量作为当前块的运动矢量来执行编码,从而増加编码模式的命中率以及预测的精度。因此,可使用更高的压缩率来对图像进行编码和解码。


图I是根据本发明的实施例的图像编码设备的框图。图2是根据本发明的实施例的图像解码设备的框图。图3示出根据本发明的实施例的分层编码単元。图4是根据本发明的实施例的基于编码単元的图像编码器的框图。图5是根据本发明的实施例的基于编码単元的图像解码器的框图。图6示出根据本发明的实施例的最大编码单元、子编码单元和预测单元。图7示出根据本发明的实施例的编码单元和变换单元。图8a和图Sb示出根据本发明的实施例的编码单元、预测单元和变换单元的划分形状。图9是根据本发明的另ー实施例的图像编码设备的框图。
图10是示出根据本发明的实施例的对包括在双向预测图像中的块进行预测的方法的示图。图Ila和图Ilb是示出根据本发明的实施例的基于先前编码块的运动矢量来确定当前块的运动矢量的方法的示图。图12a和图12b是示出根据本发明的实施例的基于先前编码块的运动矢量来确定当前块的运动矢量的方法的示图。图13a和图13b是示出根据本发明的实施例的基于先前编码块的运动矢量来确定当前块的运动矢量的方法的示图。图14是根据本发明的另ー实施例的图像解码设备的框图。图15是示出根据本发明的实施例的图像编码方法的流程图。
图16是示出根据本发明的实施例的图像解码方法的流程图。最佳模式根据本发明的一方面,提供了一种基于在当前块被解码之前解码的至少ー个块的运动矢量来确定当前块的运动矢量并基于确定的运动矢量来对当前块进行解码的图像解码方法,所述方法包括对关于在第一方向、第二方向和双向中将被用于对当前块进行解码的预测方向的信息以及关于当前块的像素值的信息进行解码;基于对关于预测方向的信息进行解码的结果,确定当前块将被预测的预测方向,确定用于按照确定的预测方向对当前块进行预测的至少ー个运动矢量;基于所述至少ー个运动矢量和对关于像素值的信息进行解码的结果,恢复当前块。第一方向是从当前图像到先前图像的方向,第二方向是从当前图像到后续图像的方向。根据本发明的另一方面,提供了一种基于在当前块被编码之前编码的至少ー个块的运动矢量来确定当前块的运动矢量并基于确定的运动矢量来对当前块进行编码的图像编码方法,所述方法包括基于所述至少ー个块的运动矢量确定当前块的第一方向运动矢量和第二方向运动矢量;基于第一方向运动矢量和第二方向运动矢量,从第一方向预测、第二方向预测和双向预测中确定将被用于对当前块进行编码的预测方法;对关于在确定的预测方法中使用的预测方向的信息以及关于基于所述预测方法产生的当前块的像素值的信息进行编码。第一方向是从当前图像到先前图像的方向,第二方向是从当前图像到后续图像的方向。根据本发明的另一方面,提供了一种基于在当前块被解码之前解码的至少ー个块的运动矢量来确定当前块的运动矢量并基于确定的运动矢量来对当前块进行解码的图像解码设备,所述设备包括解码器,对关于在第一方向、第二方向和双向中将被用于对当前块进行解码的预测方向的信息以及关于当前块的像素值的信息进行解码;运动矢量确定器,基于对关于预测方向的信息进行解码的结果,确定当前块将被预测的预测方向,确定用于按照确定的预测方向对当前块进行预测的至少ー个运动矢量;恢复单元,基于所述至少一个运动矢量和对关于像素值的信息进行解码的结果,恢复当前块。第一方向是从当前图像到先前图像的方向,第二方向是从当前图像到后续图像的方向。根据本发明的另一方面,提供了一种基于在当前块被编码之前编码的至少ー个块的运动矢量来确定当前块的运动矢量并基于确定的运动矢量来对当前块进行编码的图像编码设备,所述设备包括运动矢量确定器,基于所述至少ー个块的运动矢量确定当前块的第一方向运动矢量和第二方向运动矢量;编码器,基于第一方向运动矢量和第二方向运动矢量,从第一方向预测、第二方向预测和双向预测中确定将被用于对当前块进行编码的预测方法,对关于在确定的预测方法中使用的预测方向的信息以及关于基于所述预测方法产生的当前块的像素值的信息进行编码。第一方向是从当前图像到先前图像的方向,第二方向是从当前图像到后续图像的方向。根据本发明的另一方面,提供了一种记录有用于执行所述图像编码方法和/或所述图像解码方法的程序的计算机可读记录介质。
具体实施方式

以下,将參照附图更详细地描述本发明的示例性实施例。图I是根据本发明的实施例的图像编码设备100的框图。參照图1,图像编码设备100包括最大编码单元划分器110、编码深度确定器120、图像数据编码器130和编码信息编码器140。最大编码单元划分器110可基于作为具有最大大小的编码单元的最大编码单元来对当前帧或像条进行划分。也就是说,最大编码单元划分器110可将当前帧或像条划分为至少ー个最大编码单元。根据本发明的实施例,可使用最大编码单元和深度来表示编码单元。如上所述,最大编码単元指示当前帧的多个编码単元中具有最大大小的编码单元,深度指示编码单元分层减小的程度。随着深度増加,编码单元从最大编码单元减小到最小编码单元,其中,最大编码单元的深度被定义为最小深度,最小编码单元的深度被定义为最大深度。由于随着深度増加,编码单元的大小从最大编码单元开始减小,第k深度的子编码单元可包括多个第k+n深度的子编码单元(k和η是等于或大小I的整数)。根据将被编码的帧的大小的増加,按照较大的编码单元对图像进行编码可导致较高的图像压缩率。然而,如果较大的编码单元被固定,则可能无法通过反映连续变化的图像特征来对图像进行有效地编码。例如,当平滑区域(诸如海洋或天空)被编码时,编码単元越大,压缩率可提高得越大。然而,当复杂的区域(诸如人或建筑物)被编码时,编码単元越小,压缩率可提高得越大。因此,根据本发明的实施例,针对每个帧或像条设置不同最大图像编码单元和不同最大深度。由于最大深度表示编码单元可减小的最大次数,因此,包括在最大图像编码单元中的每个最小编码单元的大小可根据最大深度被不同地设置。编码深度确定器120确定最大深度。可基于率失真(RD)代价的计算来确定最大深度。可针对每个帧或像条或者针对每个最大编码单元不同地确定最大深度。确定的最大深度被提供给编码信息编码器140,根据最大编码单元的图像数据被提供给图像数据编码器 130。最大深度表示可包括在最大编码单元中的具有最小大小的编码单元(即,最小编码单元)。换句话说,最大编码单元可根据不同深度被划分为具有不同大小的子编码单元(具体參见图8a和图Sb)。包括在最大编码单元中的具有不同大小的子编码单元可基于具有不同大小的处理单元被预测或变换。变换可以是离散余弦变换(DCT)或Karhunen Loever变换(KLT),在所述变换中,空间域的像素值被变换为频域系数。
换句话说,图像编码设备100可基于具有各种大小和各种形状的处理单元来执行用于图像编码的多个处理操作。为了对图像数据进行编码,多个处理操作(诸如预测、变换和熵编码)被执行,其中,针对每个操作可使用具有相同大小或不同大小的处理单元。例如,图像编码设备100可选择与编码单元不同的处理单元来对所述编码单元进行预测。当编码单元的大小是2NX2N (其中,N是正整数)时,用于预测的处理单元可以是2NX2N、2NXN、NX2N和NXN。换句话说,可基于具有将编码单元的高度和宽度中的至少ー个二等分的形状的处理单元来执行运动预測。以下,作为预测的基础的处理单元被定义为 “预测単元”。预测模式可以是帧内模式、帧间模式和跳过模式中的至少ー个,可仅对具有特定大小或特定形状的预测单元执行特定预测模式。例如,可仅对具有正方形形状的大小为2NX2N和NXN的预测单元执行帧内模式。此外,可仅对大小为2NX2N的预测单元执行跳过模式。如果多个预测单元存在于编码単元中,则在对每个预测单元执行预测之后,可选择具有最小编码误差的预测模式。可选择地,图像编码设备100可基于具有与编码单元不同大小的处理单元对图像数据执行变换。对于编码单元中的变换,可基于具有与编码单元相同的大小或小于编码单元的大小的处理单元来执行变换。以下,作为变换的基础的处理单元被定义为“变换単元”。编码深度确定器120可通过使用基于拉格朗日乘子的RD优化来确定包括在最大编码单元中的子编码单元。换句话说,编码深度确定器120可确定从最大编码单元划分的多个子编码单元具有何种形状,其中,所述多个子编码单元根据所述多个子编码单元的深度而具有不同大小。图像数据编码器130通过基于由编码深度确定器120确定的划分形状对最大编码单元进行编码来输出比特流。编码信息编码器140对关于由编码深度确定器120确定的最大编码单元的编码模式的信息进行编码。换句话说,编码信息编码器140通过对以下信息进行编码来输出比特流关于最大编码单元的划分形状的信息、关于最大深度的信息和关于每个深度的子编码単元的编码模式的信息。关于子编码单元的编码模式的信息可包括关于子编码单元的预测単元的信息、关于每个预测単元的预测模式的信息和关于子编码单元的变换单元的信息。关于最大编码单元的划分形状的信息可以是指示每个编码单元是否被划分的信息,例如,标志信息。例如,当最大编码单元被划分并被编码时,指示最大编码单元是否被划分的信息被编码。另外,当从最大编码单元划分的子编码单元被划分并被编码时,指示子编码单元是否被划分的信息被编码。由于在每个最大编码单元中存在具有不同大小的子编码单元并且针对每个子编码单元确定关于编码模式的信息,故可针对ー个最大编码单元确定关于至少ー个编码模式的信息。图像编码设备100可根据深度的増加通过将最大编码单元的高度和宽度二等分来产生子编码单元。也就是说,当第k深度的编码单元的大小是2NX2N时,第(k+Ι)深度的编码单元的大小是NXN。因此,图像编码设备100可考虑图像特征,基于最大编码单元的大小和最大深度,针对每个最大编码单元确定最优划分形状。通过考虑图像特征可变地调整最大编码单元的大小并通过将最大编码单元划分为不同深度的子编码单元而对图像进行编码,具有不同分辨率的图像可被更有效地编码。图2是根据实施例的图像解码设备200的框图。參照图2,图像解码设备200包括图像数据获取単元210、编码信息提取器220和图像数据解码器230。图像数据获取単元210通过对由图像解码设备200接收的比特流进行解析来获取根据最大编码单元的图像数据,并将图像数据输出到图像数据解码器230。图像数据获取单元210可从当前帧或像条的头提取关于当前帧或像条的最大编码单元的信息。换句话说,图像数据获取単元210划分最大编码单元,从而图像数据解码器230可根据最大编码单元对图像数据进行解码。编码信息提取器220通过对由图像解码设备200接收的比特流进行解析来从当前 帧的头提取关于最大编码单元、最大深度、最大编码单元的划分形状和子编码单元的编码模式的信息。关于最大编码单元的划分形状的信息和关于编码模式的信息被提供给图像数据解码器230。关于最大编码单元的划分形状的信息可包括关于根据深度具有不同大小并包括在最大编码单元中的子编码单元的信息。如上所述,关于划分形状的信息可以是指示每个编码单元是否被划分的信息,例如,标志信息。关于编码模式的信息可包括关于根据子编码単元的预测单元的信息、关于预测模式的信息以及关于变换単元的信息。图像数据解码器230通过基于由编码信息提取器220提取的信息对每个最大编码単元的图像数据进行解码来恢复当前帧。图像数据解码器230可基于关于最大编码单元的划分形状的信息对包括在最大编码单元中的子编码单元进行解码。解码处理可包括预测处理和逆变换处理,预测处理包括帧内预测和运动补偿。图像数据解码器230可基于关于每个子编码单元的预测单元的信息和关于预测模式的信息执行帧内预测或帧间预测,从而对每个子编码单元进行预測。图像数据解码器230还可基于关于子编码单元的变换单元的信息对每个子编码单元执行逆变换。图3示出根据本发明的实施例的分层编码単元。參照图3,分层编码单元可包括宽度X高度是64X64、32X32、16X16、8X8和4X4的编码单元。除了这些具有完全正方形形状的编码单元之外,还可存在宽度X高度是64X32、32X64、32X16、16X32、16X8、8X16、8X4 和 4X8 的编码单元。參照图3,对于分辨率是1920 X 1080的图像数据310,最大编码单元的大小被设置为64 X 64,最大深度被设置为2。对于分辨率是1920X1080的图像数据320,最大编码单元的大小被设置为64X64,最大深度被设置为3。对于分辨率是352X288的图像数据330,最大编码单元的大小被设置为16X16,最大深度被设置为2。当分辨率高或者数据量大吋,编码单元的最大大小可以相对大以提高压缩率并精确地反映图像特征。因此,对于具有比图像数据330更高的分辨率的图像数据310和320,可选择64X 64作为最大编码单元的大小。最大深度指示分层编码単元中的层的总数量。由于图像数据310的最大深度是2,故图像数据310的编码单元315可根据深度的增加而包括长轴大小是64的最大编码单元和长轴大小是32和16的子编码单元。另ー方面,由于图像数据330的最大深度是1,故图像数据330的编码单元335可根据深度的增加而包括长轴大小是16的最大编码单元以及长轴大小是8和4的编码单元。然而,由于图像数据320的最大深度是3,故图像数据320的编码单元325可根据深度的增加而包括长轴大小是64的最大编码单元以及长轴大小是32、16、8和4的子编码単元。由于基于随着深度増加的更小的子编码单元对图像进行编码,实施例可适用于对包括更多精细场景的图像进行编码。图4是根据本发明的实施例的基于编码単元的图像编码器400的框图。帧内预测单元410对当前帧405中的帧内模式的预测单元执行帧内预测,运动估计器420和运动补偿器425使用当前帧405和參考帧495对帧间模式的预测单元执行帧间预测和运动补偿。 基于从帧内预测单元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的框图。參照图5,比特流505经过解析器510,从而将被解码的编码图像数据以及解码所必需的编码信息被解析。编码图像数据通过熵解码器520和反量化器530而被输出为反量化的数据,并通过逆变换器540而被恢复为残差值。通过根据编码单元将残差值与帧内预测单元550的帧内预测结果或运动补偿器560的运动补偿结果相加来恢复残差值。恢复的编码单元通过去块単元570和环路滤波単元580而被用于下ー编码单元或下一帧的预測。为了基于根据本发明的实施例的图像解码方法执行解码,图像解码器500的组件(即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测单元550、运动补偿器560、去块单元570和环路滤波単元580)基于最大编码单元、根据深度的子编码单元、预测単元和变换单元来执行图像解码处理。特别地,帧内预测单元550和运动补偿器560通过考虑最大编码单元和深度来按照子编码单元确定预测单元和预测模式,逆变换器540通过考虑变换单元的大小来执行逆变换。图6示出根据本发明的实施例的最大编码单元、子编码单元和预测单元。图I中示出的图像编码设备100和图2中示出的图像解码设备200通过考虑图像特征使用分层编码単元以执行编码和解码。最大编码单元和最大深度可根据图像特征而被自适应地设置,或根据用户的需要而被不同地设置。在图6中,分层编码单元结构600具有高度和宽度是64并且最大深度是4的最大编码单元610。深度沿着分层编码単元结构600的垂直轴增加,并且随着深度増加,子编码单元620到650的高度和宽度减小。最大编码单元610和子编码单元620到650的预测单元沿着分层编码単元结构600的水平轴被显示。最大编码单元610的深度为0,编码单元大小(S卩,高度和宽度)是64X64。深度沿着垂直轴增加,并且存在大小是32X32且深度是I的子编码单元620,大小是16 X 16且深度是2的子编码单元630,大小是8X8且深度是3的子编码单元640,以及大小是4X4且深度是4的子编码单元650。大小是4X4且深度是4的子编码单元650是最小编码单元。參照图6,预测单元的示例根据每个深度沿着水平轴而被示出。也就是说,深度是O的最大编码单元610的预测单元可以是大小等于编码単元610 (S卩,64X64)的预测单元,或者具有小于大小是64X64的编码单元610的大小的大小是64X32的预测单元612、大小是32 X 64的预测单元614或大小是32X32的预测单元616。
深度是I且大小是32X32的编码单元620的预测单元可以是大小等于编码单元620(S卩,32 X 32)的预测单元,或者具有小于大小是32 X 32的编码单元620的大小的大小是32X16的预测单元622、大小是16X32的预测单元624或大小是16X16的预测单元626。深度是2且大小是16X 16的编码单元630的预测单元可以是大小等于编码单元630 (S卩,16X16)的预测单元,或者具有小于大小是16X16的编码单元630的大小的大小是16X8的预测单元632、大小是8X16的预测单元634或大小是8X8的预测单元636。深度是3且大小是8X8的编码单元640的预测单元可以是大小等于编码单元640(即,8X8)的预测单元,或者具有小于大小是8X8的编码单元640的大小的大小是8X4的预测单元642、大小是4X8的预测单元644或大小是4X4的预测单元646。最后,深度是4且大小是4X4的编码单元650是最大深度的编码单元。编码单元 650的预测单元可以是大小等于预测単元650的大小的预测单元。然而,即使编码单元具有最大深度,编码单元的大小也不需要总是等于该编码单元的预测单元的大小。与编码单元610到640类似,也可通过将编码单元650划分为作为预测単元的子编码单元来对编码単元650进行预測。图7示出根据本发明的实施例的编码单元和变换单元。图I中示出的图像编码设备100和图2中示出的图像解码设备200对最大编码单元本身或者通过分别将最大编码单元划分为大小等于或小于最大编码单元的大小的至少ー个子编码单元来执行编码和解码。在编码和解码处理中,可以以这样的方式来选择变换単元的大小不管编码单元和预测单元而最大化压缩率。例如,參照图7,当当前编码单元710的大小是64X64时,可使用大小是32X32的变换单元720执行变换。图8a和图Sb示出根据本发明的实施例的编码单元、预测单元和变换单元的划分形状。在图8a中,左示图示出由图I中示出的图像编码设备100选择的用于对最大编码単元810进行编码的划分形状。图像编码设备100将最大编码单元810划分为各种形状,执行编码,并通过基于R-D代价将各种划分形状的编码结果彼此进行比较来选择最优划分形状。当照其原样对最大编码单元810进行编码最优时,如图8a和图8b所示,可对最大编码单元810进行编码而不划分最大编码单元810。在图8a的左示图中,通过将深度是O的最大编码单元810划分为深度等于或大于I的子编码单元来对最大编码单元810进行编码。也就是说,最大编码单元810被划分为4个深度是I的子编码单元,所有或ー些深度是I的子编码单元被划分为深度是2的子编码单元。深度是I的子编码单元中位于右上侧的子编码单元和位于左下侧的子编码单元被划分为深度等于或大于2的子编码单元。ー些深度等于或大于2的子编码单元可被划分为深度等于或大于3的子编码单元。在图8a中,右示图示出最大编码单元810的预测单元的划分形状。在图8a中的右示图中,用于最大编码单元810的预测单元860可从最大编码单元810被不同地划分。换句话说,用于每个子编码单元的预测单元可小于相应的子编码单元。例如,用于深度是I的子编码单元中位于右下侧的子编码单元854的预测单元可小于子编码单元854。此外,用于深度是2的子编码单元814、816、818、828、850和852中的一些子编码单元814、816、850和852的预测单元可分别小于子编码单元814、816、850和·852。此外,用于深度是3的子编码单元822、832和848的预测单元可分别小于子编码单元822、832和848。预测单元可具有各个子编码单元按照高度或宽度的方向被二等分的形状或具有各个子编码单元按照高度或宽度的方向被四等分的形状。图Sb示出根据本发明的实施例的预测单元和变换单元。在图8b中,左示图示出用于图8a中示出的最大编码单元810的预测单元的划分形状,右示图示出最大编码单元810的变换单元的划分形状。在图8b的右示图中,变换单元870的划分形状可与预测单元860不同地被设置。例如,即使以深度是I的编码单元854的高度被二等分的形状来选择用于编码单元854的预测单元,也可以以与编码单元854相同的大小来选择变换单元。相似地,即使以深度是2的编码单元814和850中的每ー个的高度被二等分的形状来选择用于编码单元814和850的预测单元,也可以以与编码单元814和850中的每ー个的原始大小相同的大小来选择变换单元。可以以小于预测単元的大小来选择变换单元。例如,当以深度是2的编码单元852的宽度被二等分的形状来选择用于编码単元852的预测单元时,可以以编码单元852按照高度和宽度的方向被四等分的形状来选择变换单元。图9是根据本发明的另ー实施例的图像编码设备900的框图。參照图9,图像编码设备900可被包括在图I的图像编码设备100或图4的图像编码器400中以基于帧间预测对当前块进行编码。參照图9,图像编码设备900包括运动矢量确定器910和编码器920。在ー些编码模式中,基于已被先前编码的至少ー个块的运动矢量来确定当前块的运动矢量,基于确定的运动矢量来对当前块进行编码。这些编码模式的示例是直接预测模式和跳过模式。在直接预测模式和跳过模式中,基于已被先前编码的信息来确定当前块的运动矢量,当前块的运动矢量被另外编码为关于当前块的信息。然而,在直接预测模式中,通过从当前块减去使用运动矢量产生的预测块而产生的残差块被编码为关于像素值的信息,然而,在跳过模式中,预测块被视为与当前块相同,只有指示在跳过模式下执行编码的标志信息被编码为关于像素值的信息。
虽然直接预测模式和跳过模式都是基于帧间预测的编码模式,但是由于运动矢量不被另外编码,因此压缩率高。然而,在直接预测模式和跳过模式中,由于通过仅按照特定方向对当前块进行预测来对当前块进行编码,因此这些模式中的每个模式的命中率和预测的精度可能会低。因此,当根据直接预测模式或跳过模式对包括在双向预测图像中的当前块进行编码吋,图像编码设备900通过按照各种方向执行预测来对当前块进行编码,这在以下将详细描述。图10是示出根据本发明的实施例的对包括在双向预测图像中的块进行预测的方法的示图。參照图10,通过參照在当前图像1000之前的先前图像和在当前图像1000之后的后续图像1030中的至少ー个,对包括在作为双向预测图像的当前图像1000中的当前块1010进行预测编码。从先前图像1020和后续图像1030中的至少ー个检测与当前块1010相应的至少ー个块(例如,先前块1022和后续块1032),随后基于检测的块1022或1032来对当前块1010进行预测编码。 换句话说,如果从当前图像1000到先前图像1020的方向是第一方向(L0方向),则可按照第一方向基于从先前图像1020检测的先前块1022来对当前块1010进行预测(以下,称为“第一方向预测”)。同样,如果从当前图像1000到后续图像1030的方向是第二方向(LI方向),则可按照第二方向基于从后续图像1030检测的后续块1032来对当前块1010进行预测(以下,称为“第二方向预测”)。此外,可对当前块1010执行第一方向预测和第二方向预测两者,即,当前块1010可被双向预测。然而,仅当当前块1010被双向预测时,可执行根据现有技术的直接预测模式。换句话说,当基于第一方向预测或第二方向预测对当前块1010进行预测编码吋,当前块1010不能在所述直接预测模式下被编码。同样,仅当当前块1010被双向预测时,可执行根据现有技术的跳过模式。在根据现有技术的跳过模式下,基于与当前块1010邻近的先前块的运动矢量确定的当前块1010的运动矢量是第一方向上的运动矢量mv_L0,根据第一方向预测产生的预测块被视为与当前块1010相同,指示根据跳过模式执行编码的标志信息被编码。也就是说,根据现有技术,虽然可对包括在双向预测图像中的块执行第一方向预测、第二方向预测和双向预测,但是仅当按特定方向执行预测时,才可使用直接预测模式和跳过模式。因此,导致压缩率提高的直接预测模式和跳过模式的使用受到限制。为了解决这个问题,根据当前实施例的图像编码设备900根据这样的图像编码方法执行编码基于先前编码信息确定当前块1010的运动矢量,可按照各种方法执行预测而不必对运动矢量进行编码。运动矢量确定器910确定当前块1010的第一方向运动矢量和第二方向运动矢量以执行第一方向预测、第二方向预测和双向预测。基于在当前块1010被编码之前已先前编码的至少ー个块的运动矢量来确定第一方向运动矢量和第二方向运动矢量。可使用根据现有技术确定运动矢量的方法来确定第一方向运动矢量和第二方向运动矢量。例如,如果基于直接预测模式对当前块1010进行编码,则可使用根据基于H. 264/AVC的直接预测模式确定运动矢量的方法来确定运动矢量,其中,在直接预测模式下,关于当前块1010的运动矢量的信息不被编码,而关于残差块的信息被编码。如果基于跳过模式对当前块1010进行编码,则可使用根据基于H. 264/AVC的跳过模式确定运动矢量的方法来确定运动矢量,其中,在跳过模式下,关于运动矢量的信息和关于残差块的信息被编码。基于H. 264/AVC的直接预测模式可被分为时间直接预测模式和空间直接预测模式。因此,运动矢量确定器910可通过使用在基于H. 264/AVC的时间直接预测模式下确定运动矢量的方法或通过使用在基于H. 264/AVC的空间直接预测模式下确定运动矢量的方法来确定第一方向运动矢量和第二方向运动矢量。现在将參照图Ila和图Ilb详细描述这些方法。图Ila是示出根据本发明的实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。參照图11a,当基于时间直接预测模式对包括在当前图像1110中的当前块1010进行编码时,可使用后续块1120的运动矢量mv_ColA来产生当前块1010的运动矢量,其中,后续块1120被包括在当前图像1110之后的后续图像1114中,并与当前块1010并置。
换句话说,如果后续图像1114是锚(anchor )图像,则可使用包括在锚图像1114中的后续块1120的运动矢量mv_ColA来确定当前块1010的第一方向运动矢量mv_L0A和第二方向运动矢量mv_LlA。可通过基于当前图像1110与在当前图像1110之前的先前图像1112之间的时间距离以及锚图像1114与先前图像1112之间的时间距离对后续块1120的运动矢量mv_colA进行缩放(scale),来确定当前块1010的第一方向运动矢量mv_L0A和第二方向运动矢量mv_LlA。例如,如果后续块1120的运动矢量mv_colA针对从先前图像1112检测的块1122被产生,则可使用以下等式来产生当前块1110的第一方向运动矢量mv_L0A和第二方向运动矢量mv_LlA mv_L0A= (tl/t2) Xmv_colAmv_L I A=mv_L0A-mv_c o IA,其中,“mv_L0A”和“mv_LlA”分别表示当前块1010的第一方向运动矢量和第二方
向运动矢量。图Ilb是示出根据本发明的另ー实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。參照图11b,可基于与当前块1100邻近的块1130、1132和1134的运动矢量mv_A、mv_B和mv_C来确定当前块1010的第一方向运动矢量和第二方向运动矢量。可基于位于当前块1010的左侧、上侧和最右上侧的块的运动矢量来确定当前块1010的第一方向运动矢
量和第二方向运动矢量。当根据空间直接预测模式对当前块1010进行编码时,运动矢量mv_A、mv_B和mv_C中的至少ー个第一方向运动矢量之间的中值被确定为当前块1010的第一方向运动矢量,运动矢量mv_A、mv_B和mv_C中的至少ー个第二方向运动矢量之间的中值被确定为当前块1010的第二方向运动矢量。通过将所述至少ー个第二方向运动矢量设置为“O”来计算所述至少ー个第一方向运动矢量之间的中值,来确定第一方向运动矢量,通过将所述至少ー个第一方向运动矢量设置为“O”来计算至少ー个第二方向运动矢量之间的中值,来确定第二方向运动矢量。在由运动矢量mv_A、mv_B和mv_C确定的參考图像中与最小第一方向參考索引相应的图像被确定为第一方向參考图像,在由运动矢量mv_A、mv_B和mv_C确定的參考图像中与最小第二方向參考索引相应的图像被确定为第二方向參考图像。当根据跳过模式对当前块1010进行编码时,如图Ilb所示,与当前块1010邻近的块1130、1132和1134的运动矢量mv_A、mv_B和mv_C中的至少一个第一方向运动矢量之间的中值可被确定为当前块1010的运动矢量。如果图9的图像编码设备900如以上參照图Ila或图Ilb所述确定当前块的运动矢量并对当前块进行编码,则解码端如以上參照图Ila或图Ilb所述确定当前块的运动矢量并恢复当前图像。换句话说,图像编码端和图像解码端可隐含地共享相同的确定运动矢量的方法,井根据共享的方法来确定当前块的运动矢量。然而,根据本发明的另ー实施例,图像编码端可基于在当前块被编码之前编码的多个先前块的运动矢量来产生多个运动矢量候选,对指定所述多个运动矢量候选中的当前块的运动矢量的信息进行明确地编码,并将编码的结果插入比特流。在这种情况下,图像解码端可基于插入比特流的编码的结果来确定当前块的运动矢量。现将參照图12a和图12b 来描述这样的方法。图12a和图12b是示出根据本发明的实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。參照图12a,图9的运动矢量确定器910可基于与当前块邻近的先前编码块的运动矢量来产生多个运动矢量候选。所述多个运动矢量候选可以是与当前块的上侧邻近的块中的最左侧块%的运动矢量、与当前块的左侧邻近的最上侧块K的运动矢量、与当前块的右上侧邻近的块c的运动矢量、与当前块的左上侧邻近的块d的运动矢量以及与当前块的右下侧邻近的块e的运动矢量。最左侧块Btl、最上侧块Idci、块c和块d的运动矢量中的第一方向运动矢量之一可被确定为当前块的第一方向运动矢量。最左侧块%、最上侧块Idci、块c和块d的运动矢量中的第二方向运动矢量之一可被确定为当前块的第二方向运动矢量。例如,如果最左侧块Stl、最上侧块K、块C和块d中的最左侧块%和最上侧块b的运动矢量是第一方向运动矢量,则最左侧块%和最上侧块K的运动矢量之一可被确定为当前块的第一方向运动矢量,块C和块d的运动矢量之一可被确定为当前块的第二方向运动矢量。各种方法可被用于将所述多个运动矢量候选之ー确定为当前块的运动矢量,但是,通常可按照这样的方法来选择当前块的运动矢量当前块可基于运动矢量被更精确地预测。如果当在用为第一方向运动矢量的最左侧块%和最上侧块Idci的运动矢量中使用最左侧块Btl的运动矢量时当前块被更精确地预测,则最左侧块Btl的运动矢量可被确定为当前块的第一方向运动矢量。可从当前块减去通过分别使用所述多个运动矢量候选的运动矢量来预测当前块而获得的预测块以产生残差块,所述残差块中的每ー个的绝对值和(SAD)可被计算,然后,在所述多个运动矢量候选中具有最小SAD的运动矢量可被确定为当前块的运动矢量。參照图12b,与当前块邻近的所有块的运动矢量可被用作多个运动矢量候选。换句话说,不仅与当前块的上侧邻近的块(包括最左侧块aj的运动矢量,而且与当前块的左侧邻近的块(包括最上侧块bj的运动矢量都可被用作所述多个运动矢量候选。如以上參照图12b所述,与当前块邻近的所有块的多个运动矢量候选中的第一方向运动矢量之一和第二方向运动矢量之一可分别被确定为当前块的第一方向运动矢量和第二方向运动矢量。因此,參照图11a、图lib、图12a和图12b,运动矢量确定器910可通过使用以下等
式来将多个运动矢量候选之ー确定为当前块的运动矢量C= {median unv_a0,mv_b0, mv_cj,mv_a0, mv_aI. . . , mv_aN, mv_b0, mv_bI, . . . , mv_bN, mv_c, mv_d, mv_e, mv_L0A, mv_LlA},其中,“mv_L0A”和“mv_LlA”可表示根据图I la的方法而获得的运动矢量,“median(mv_aO, mv_b0, mv_c) ”可表示根据图Ilb的方法获得的运动矢量。如以上參照图12a和图12b描述了其它运动矢量。可从包括在以上描述的C集中的第一方向运动矢量确定当前块的第一方向运动矢量,可从包括在C集中的第二方向运动矢量确定当前块的第二方向运动矢量。 根据本发明的另ー实施例,运动矢量候选的总数量可被确定为小,并且当前块的运动矢量可基于以下等式从运动矢量候选中被确定C= !median (mv_a ,mv_b,,mv_c ), mv_a , mv_b , mv_c , mv_L0A, mv_LlA},其中,“ mv_x”表示块X的运动矢量,“ median () ”表示中值,“mv_a”表示运动矢量mv_a0、mv_al、…、mv_aN中的第一有效运动矢量。例如,如果使用巾贞间预测对块a0进行编码,则块a0的运动矢量mv_a0无效,因此mv_a’ =mv_al。如果块al的运动矢量mv_al也无效,则 mv_a’ =mv_a2。同样,“mv_b”表示运动矢量mv_b0、mv_bl、…、mv_bN中的第一有效运动矢量,“mv_c”表示运动矢量mv_c、mv_d、…、mv_e中的第一有效运动矢量。“mv_L0A”和“mv_LlA”可表示根据图Ila的方法获得的运动矢量。根据本发明的另ー实施例,取代于运动矢量mv_L0A和mv_LlA,使用邻近图像之间的时间距离产生的运动矢量可被用作运动矢量候选。将參照图13a和图13b详细描述该实施例。图13a和图13b是示出根据本发明的实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。參照图13a,基于时间距离的运动矢量候选可与根据现有技术的时间直接预测模式不同地被确定。包括在当前图像1110中的当前块1010的运动矢量候选可从块1320的运动矢量产生,其中,块1320包括在当前图像1110之前的先前图像1112中并与当前块1010并置。例如,如果与当前块1010并置的块1320的运动矢量mv_colB针对从后续图像1114检测的块1322被产生,则可使用以下等式来产生当前块1010的运动矢量候选mv_L0B和mv_LlB mv_LlB= (t3/14) Xmv_colBmv_L0B=mv_L I B-mv_co IB,其中,“mv_L0B”表示当前块1010的第一方向运动矢量候选,“mv_LlB”表示当前块
1010的第二方向运动矢量候选。參照图13b,可使用块1330的运动矢量mv_colC来确定包括在当前图像1110中的当前块1010的运动矢量候选mv_L0C,其中,块1330包括在先前图像1112中,并与当前块1010并置。例如,当与当前块1010并置的块1330的运动矢量mv_colC针对从另一先前图像1116检测的块1332被产生时,可使用以下等式来产生当前块1010的运动矢量候选mv_LOC mv_L0C= (t6/15) Xmv_colC。以上參照图13a和图13b描述的运动矢量候选mv_L0B和mv_LlB可被包括在上述的当前块1010的运动矢量候选的上述C集中。也就是说,取代于运动矢量候选mv_L0A和mv_LlA,运动矢量候选mv_L0B和mv_LlB可被包括在C集中,或者运动矢量候选mv_L0B和mv_LlB可被附加地包括在C集中。返回參照图9,如果运动矢量确定器910基于先前编码块的运动矢量确定当前块的运动矢量,则编码器920对关于当前块的信息进行编码。如果当前块的第一方向运动矢量和第二方向运动矢量被确定,则编码器920基于第一方向运动矢量和第二方向运动矢量来执行第一方向预测、第二方向预测和双向预测。随后,当前块可被最精确地预测的预测方向被确定。通过执行第一方向预测、第二方向预测和双向预测而获得的预测块可与当前块进行比较,可产生具有最小SAD的残差块的方向可·被确定为预测方向。否则,可通过执行第一方向预测、第二方向预测和双向预测,对执行的结果进行编码并基于RD代价对编码的结果互相比较,来确定预测方向。在预测方向被确定之后,关于预测方向的信息和关于像素值的信息被编码。关于预测方向的信息可被编码为序列參数、像条參数或块參数。预定ニ进制数可被分配给第一方向、第二方向和双向,与当前块被编码的预测方向相应的ニ进制数可被熵编码,随后熵编码的结果可被插入比特流。与关于像素值的信息一祥,关于残差块的信息(例如,直接预测模式)可被附加地编码。可通过从当前块减去通过按照确定的预测方向执行预测而产生的预测块来获得残差块,可通过对残差块执行变换来产生频域系数,随后,频域系数可被量化和熵编码。所述变换可以是DCT变换或KLT变换。此外,与关于像素值的信息一祥,仅根据现有技术的跳过模式以及指示预测块和当前块相同的标志信息可被编码。也就是说,由于通过按照确定的预测方向执行预测而获得的预测块被视为与当前块相同,因此可仅对跳过模式和标志信息进行编码。可基于先前编码块的參考索引来推断用于预测当前块的參考图像。如上參照图Ilb所述,可基于先前编码块的參考索引来确定当前块的參考索引和与当前块相应的參照图像。此外,与由运动矢量确定器910确定的运动矢量相应的参考图像可被确定为当前块的參考图像。例如,如以上參照图Ila所述,如果运动矢量mv_L0A被确定为当前块的第一方向运动矢量,则根据运动矢量mv_L0A的先前图像1112可被自动确定为当前块的參考图像。如果运动矢量确定器910如以上參照图12a、图12b、图13a和图13b所述在多个运动矢量候选中明确地确定第一方向运动矢量和第二方向运动矢量,则编码器920可对指示第一方向运动矢量和第二方向运动矢量中的至少ー个的信息进行编码。如果预测方向被确定为第一方向,则指示所述多个运动矢量候选中的仅第一方向运动矢量的信息被编码。如果预测方向被确定为第二方向,则仅指示第二方向运动矢量的信息可被编码。然而,如果预测方向被确定为双向执行,则指示所述多个运动矢量候选中的第一方向运动矢量和第二方向运动矢量的信息可被编码。ニ进制数可被分别分配给包括在上述的C集中的所有运动矢量,分配给被确定为当前块的运动矢量的第一方向运动矢量和/或第二方向运动矢量的ニ进制数可被编码。然而,由于如上所述C集中的第一方向运动矢量之一被确定为当前块的第一方向运动矢量,因此分配给C集中的第一方向运动矢量的ニ进制数中的分配给当前块的第一方向运动矢量的ニ进制数可被编码为指示第一方向运动矢量的信息。同样,分配给C集中的第二方向运动矢量的ニ进制数中的分配给当前块的第二方向运动矢量的ニ进制数可被编码为指示第二方向运动矢量的信息。图14是根据本发明的另ー实施例的图像解码设备1400的框图。图像解码设备1400可被包括在图2的图像解码设备200或图5的图像解码设备500中,并可通过执行帧间预测来对当前块进行解码。參照图14,图像解码设备1400包括解码器1410、运动矢量确定器1420和恢复单元 1430.解码器1410接收包含关于当前块的数据的比特流,并对关于当前块被预测的预测方向的信息进行解码。图像解码设备1400基于在当前块被解码之前已被先前解码的至 少ー个块的运动矢量来确定当前块的运动矢量,并在用于恢复当前块的解码模式下基于确定的运动矢量来对当前块进行解码。因此,在当前块的运动矢量被确定之前对关于预测方向的信息进行解码。关于预测方向的信息可以是例如包括在比特流中的序列參数、像条參数或块參数。在基于先前编码/解码块的运动矢量确定当前块的运动矢量的编码/解码模式(例如,直接预测模式或跳过模式)下,仅基于按照特定方向执行的预测来对当前块进行编码/解码。然而,在根据本发明的实施例的编码/解码方向中,可基于按照第一方向、第二方向和双向执行预测的结果,在直接预测模式或跳过模式下对当前块进行编码/解码。为此,图9的图像编码设备900对关于预测方向的信息进行编码,将编码的结果插入比特流。解码器1410对通过使用图像编码设备900被插入比特流的关于预测方向的信息进行解码。解码器1410可对指示多个运动矢量候选中的当前块的运动矢量的信息以及关于预测方向的信息一起进行解码。如果如上所述基于在编码端和解码端之间共享的确定运动矢量的方法隐式地确定当前块的运动矢量,则根据共享的方法和指示当前块的运动矢量不需要被解码的信息确定当前块的ー个运动矢量的总数。然而,当如上所述基于多个先前編码块的运动矢量产生多个运动矢量候选并且从所述多个运动矢量候选中确定当前块的运动矢量时,指示所述多个运动矢量候选中的当前块的运动矢量的信息可被解码。此外,解码器1410对关于当前块的像素值的信息进行解码。在这种情况下,关于当前块的残差块的信息或指示当前块与预测块相同的标志信息被解码。解码器1410可通过对关于残差块的信息进行熵解码、反量化或逆变换来恢复残差块。运动矢量确定器1420基于通过使用解码器1410对关于预测方向的信息进行解码的结果来确定当前块的运动矢量,从而按照预定方向预测当前块。如果基于解码的结果确定按照第一方向执行预测,则第一方向运动矢量被确定为当前块的运动矢量。如果基于解码的结果确定按照第二方向执行预测,则第二方向运动矢量被确定为当前块的运动矢量。如果基于解码的结果确定双向执行预测,则第一方向运动矢量和第二方向运动矢量被确定为当前块的运动矢量。当将根据编码端和解码端之间共享的确定运动矢量的方法隐式地确定当前块的运动矢量时,根据共享的方法确定当前块的运动矢量。以上參照图Ila和图Ilb描述了该方法。然而,当将从多个运动矢量候选中确定当前块的运动矢量时,基于指示所述多个运动矢量候选中的由解码器1410解码的当前块的运动矢量的信息来确定当前块的运动矢量。使用在当前块被解码之前已解码的至少ー个块的运动矢量来产生所述多个运动矢量候选,并从所述多个运动矢量候选中确定当前块的运动矢量。如果仅按照第一方向预测当前块,则基于使用解码器1410解码的指示第一方向运动矢量的信息,从所述多个运动矢量候选确定第一方向运动矢量。如果仅按照第二方向预测当前块,则基于使用解码器1410解码的指示第二方向运动矢量的信息,从所述多个运动矢量候选确定第二方向运动矢量。如果当前块被双向预测,则基于使用解码器1410解码的指示第一方向运动矢量的信息和指示第二方向运动矢量的信息,从而所述多个运动矢量候选确定第一方向运动矢量和第二方向运动矢量。恢复单元1430基于使用解码器1410解码的关于像素值的信息以及使用运动矢量 确定器1420确定的当前块的运动矢量来恢复当前块。通过根据使用运动矢量确定器1420确定的运动矢量按照第一方向、第二方向或双向预测当前块来产生预测块。如果通过使用解码器1410对关于像素值的信息进行解码来恢复残差块,则恢复的残差块与预测块组合以恢复当前块。如果解码器1410对指示预测块与当前块相同的标志信息进行解码,则预测块可被直接用作恢复的当前块。可基于先前解码块的參考索引来參考用于预测当前块的參考图像。如上參照图Ilb所述,可基于先前解码块的參考索引来确定当前块的參考索引和与当前块相应的參考图像。此外,与通过运动矢量确定器1420确定的运动矢量相应的參考图像可被确定为当前块的參考图像。例如,如以上參考图Ila所述,如果运动矢量mv_L0A被确定为当前块的第一方向运动矢量,则根据运动矢量mv_L0A的先前图像1112可被自动确定为当前块的參考图像。图15是示出根据本发明的实施例的图像编码方法的流程图。參照图15,在操作1510,图像编码设备确定当前块的运动矢量。例如,在操作1510,包括在当前画面的被双向预测的当前块的第一方向运动矢量和第二方向运动矢量被确定。如以上參照图Ila和图Ilb所述,可根据在编码端和解码端之间共享的确定运动矢量的方法来隐式地确定当前块的运动矢量。另外,如以上參照图12a、图12b、图13a和图13b所述,产生多个运动矢量候选,并可从所述多个运动矢量候选中确定第一方向运动矢量和第二方向运动矢量。在操作1520,图像编码设备从第一方向预测、第二方向预测和双向预测中确定预测方法以对当前块进行编码。从使用第一方向运动矢量的第一方向预测、使用第二方向运动矢量的第二方向预测以及使用第一方向运动矢量和第二方向运动矢量两者的双向预测来确定预测方法以对当前块进行编码。第一方向预测、第二方向预测和双向预测中更精确地预测当前块的预测方法可被用于对当前块进行编码。如上所述,获得预测块和当前块之间的最小SAD的预测方法可被用于对当前块进行编码。在操作1530,图像编码设备对关于在操作1520确定的预测方法中使用的预测方向的信息进行编码。ニ进制数可被分别分配给第一方向、第二方向和双向,分配给用于对当前块进行编码的预测方向的ニ进制数可被编码。可根据预定熵编码方法对编码的ニ进制数进行熵编码。关于预测方向的信息可被编码为序列參数、像条參数或块參数。还对关于当前块的像素值的信息进行编码。在这种情况下,可对关于通过从当前块减去预测块而获得的残差块的残差值的信息进行编码。残差块可被变换、量化和熵编码。此外,如上所述,可仅对指示预测块与当前块相同的标志信息进行编码。还可对定义多个运动矢量候选中用于对当前块进行编码的运动矢量的信息进行编码。如果基于在当前块被编码之前编码的至少ー个块的运动矢量来产生所述多个运动矢量候选,并且所述多个运动矢量候选之ー被选择并被用作当前块的运动矢量,则指示选择的运动矢量的信息可被编码。如果在操作1520第一方向预测被确定为预测方法,则可仅对关于第一方向运动矢量的信息进行编码。如果在操作1520第二方向预测被确定为预测方法,则可仅对关于第二方向运动矢量的信息进行编码。如果在操作1520双向预测被确定为 预测方法,则仅对关于第一方向运动矢量和第二方向运动矢量两者的信息进行编码。图16是示出根据本发明的实施例的图像解码方法的流程图。參照图16,在操作1610,图像解码设备对关于第一方向、第二方向和双向中将被用于对当前块进行解码的预测方向的信息进行解码。在这种情况下,可对包括在比特流中的关于预测方向的信息进行解码。可对分别分配给第一方向、第二方向和双向的ニ进制数中分配给预测方向的ニ进制数进行解码。包括在比特流中的关于预测方向的信息可被解码为序列參数、像条參数或块參数。在操作1610,图像解码设备还对关于当前块的像素值的信息进行编码。可对关于当前块的残差块的残差值的信息进行编码。可对关于残差块的信息进行熵解码、反量化和逆变换以恢复残差块。此外,可对指示当前块与预测块相同的信息进行解码。当如上所述从多个运动矢量候选中确定当前块的运动矢量时,可对定义所述多个运动矢量候选中的将被用于对当前块进行解码的运动矢量的信息进行解码。如果对关于预测方向的信息进行解码的结果显示预测方向是第一方向,则可对指示所述多个运动矢量候选中的当前块的第一方向运动矢量的信息进行解码。如果对关于预测方向的信息进行解码的结果显示预测方向是第二方向,则可对指示所述多个运动矢量候选中的当前块的第二方向运动矢量的信息进行解码。如果对关于预测方向的信息进行解码的结果显示预测方向是双向,则可对指示所述多个运动矢量候选中的第一方向运动矢量的信息和指示所述多个运动矢量候选中的第二方向运动矢量的信息进行解码。在操作1620,图像解码设备基于在操作1610解码的关于预测方向的信息来确定当前块将被预测的预测方向。基干与预测方向相应的ニ进制数来确定当前块将被预测的预测方向,其中,预测方向的信息在操作1610被解码。如果当前块将被预测的预测方向被确定,则用于按照确定的预测方向预测当前块的至少ー个运动矢量被确定。如上所述,可根据在编码端和解码端之间共享的确定运动矢量的方法来隐式地确定当前块的运动矢量。如果从多个运动矢量候选中显式地选择当前块的运动矢量,则基于在当前块被解码之前解码的至少ー个块运动矢量来产生所述多个运动矢量候选,并从所述多个运动矢量候选中确定当前块的运动矢量。可基于在操作1610解码的指示所述多个运动矢量候选中的当前块的运动矢量的信息,确定当前块的运动矢量。可基于在操作1610解码的信息来确定第一方向运动矢量和第二方向运动矢量中的至少ー个。在操作1630,图像解码设备恢复当前块。基于在操作1620确定的当前块的运动矢量来确定当前块的预测块,基于预测块恢复当前块。可通过在操作1620确定的基于第一方向运动矢量和/或第二方向运动矢量来执行第一方向预测、第二方向预测和双向预测之一,产生当前块的预测块。如果在操作1610残差块被恢复,则预测块与恢复的残差块组合以恢复当前块。如果指示预测块与当前块相同的信息被解码,则预测块被用作当前块。虽然參照本发明的示例性实施例和附图具体显示和描述了本发明,但本领域的普通技术人员将理解,在不脱离本发明的原理和精神的情况下可对这些示例性实施例进行改变,本发明的范围在权利要求及其等同物中被限定。此外,根据本发明的实施例的系统可被实现为计算机可读记录介质中的计算机可读代码。
例如,根据本发明的示例性实施例的图像编码设备、图像解码设备、运动矢量编码设备、运动矢量解码设备可包括与在图I、图2、图4、图5、图9和图14中不出的设备的各单元连接的总线以及与总线连接的至少ー个处理器。所述设备中的每ー个还可包括存储器,存储器与总线连接以存储命令、接收的消息或产生的消息,并与用于执行上述操作的所述至少ー个处理器连接。计算机可读记录介质可以是任何能够存储由计算机系统读取的数据的记录设备,例如,只读存储器(ROM)、随机存取存储器(RAM)、紧凑盘(CD) -ROM、磁带、软盘、光数据存储装置等。计算机可读记录介质可被分布在通过网络内联的计算机系统中,本发明可被存储和实现为分布式系统中的计算机可读代码。
权利要求
1.一种基于在当前块被解码之前解码的至少一个块的运动矢量确定当前块的运动矢量并基于确定的运动矢量对当前块进行解码的图像解码方法,所述方法包括 对关于第一方向、第二方向和双向中将被用于对当前块进行解码的预测方向的信息以及关于当前块的像素值的信息进行解码; 基于对关于预测方向的信息进行解码的结果,确定当前块将被预测的预测方向,确定用于按照确定的预测方向预测当前块的至少一个运动矢量; 基于所述至少一个运动矢量以及对关于像素值的信息进行解码的结果,恢复当前块, 其中,第一方向是从当前图像到先前图像的方向, 第二方向是从当前图像到后续图像的方向。
2.如权利要求I所述的方法,其中,对关于当前块的像素值的信息进行解码的步骤包括对关于当前块的残差块的数据进行解码, 恢复当前块的步骤包括 通过基于所述至少一个运动矢量预测当前块来产生当前块的预测块; 基于解码的残差块以及预测块来恢复当前块。
3.如权利要求I所述的方法,其中,对关于当前块的像素值的信息进行解码的步骤包括对指示通过按照预定方向预测当前块产生的预测块与当前块相同的标志信息进行解码, 恢复当前块的步骤包括通过基于所述至少一个运动矢量预测当前块来恢复当前块。
4.如权利要求I所述的方法,其中,确定所述至少一个运动矢量的步骤包括在基于所述至少一个块的运动矢量产生的多个运动矢量候选中确定第一方向运动矢量和第二方向运动矢量中的至少一个。
5.如权利要求4所述的方法,其中,对关于将被用于对当前块进行解码的预测方向的信息以及关于当前块的像素值的信息进行解码的步骤包括对指示所述多个运动矢量候选中的所述至少一个运动矢量的信息进行解码。
6.如权利要求I所述的方法,其中,所述至少一个块的运动矢量包括在当前图像被解码之前解码的锚图像中包括的并与当前块并置的块的运动矢量。
7.如权利要求6所述的方法,其中,所述至少一个运动矢量包括基于当前图像和先前图像之间的时间距离和先前图像和后续图像之间的时间距离确定的第一方向运动矢量和第二方向运动矢量中的至少一个。
8.一种基于在当前块被编码之前编码的至少一个块的运动矢量确定当前块的运动矢量并基于确定的运动矢量对当前块进行编码的图像编码方法,所述方法包括 基于所述至少一个块的运动矢量确定当前块的第一方向运动矢量和第二方向运动矢量; 基于第一方向运动矢量和第二方向运动矢量,从第一方向预测、第二方向预测和双向预测中确定将被用于对当前块进行编码的预测方法; 对关于在确定的预测方法中的预测方向的信息以及关于基于预测方法产生的当前块的像素值的信息进行编码, 其中,第一方向是从当前图像到先前图像的方向, 第二方向是从当前图像到后续图像的方向。
9.如权利要求8所述的方法,其中,对关于预测方向的信息以及关于当前块的像素值的信息进行编码的步骤包括对关于预测方向的信息以及根据确定的预测方法产生的残差块进行编码。
10.如权利要求8所述的方法,其中,对关于预测方向的信息以及关于当前块的像素值的信息进行编码的步骤包括对关于预测方向的信息以及指示根据确定的预测方法产生的预测块与当前块相同的标志信息进行编码。
11.如权利要求8所述的方法,其中,确定第一方向运动矢量和第二方向运动矢量的步骤包括从基于所述至少一个块的运动矢量产生的多个运动矢量候选中确定第一方向运动矢量和第二方向运动矢量。
12.如权利要求11所述的方法,其中,对关于预测方向的信息以及关于当前块的像素值的信息进行编码的步骤包括对指示所述多个运动矢量候选中的用于执行确定的预测方法的至少一个运动矢量的信息进行编码。
13.—种基于在当前块被解码之前解码的至少一个块的运动矢量确定当前块的运动矢量并基于确定的运动矢量对当前块进行解码的图像解码设备,所述设备包括 解码器,对关于第一方向、第二方向和双向中将被用于对当前块进行解码的预测方向的信息以及关于当前块的像素值的信息进行解码; 运动矢量确定器,基于对关于预测方向的信息进行解码的结果,确定当前块将被预测的预测方向,确定用于按照确定的预测方向预测当前块的至少一个运动矢量; 恢复单元,基于所述至少一个运动矢量以及对关于像素值的信息进行解码的结果,恢复当前块, 其中,第一方向是从当前图像到先前图像的方向, 第二方向是从当前图像到后续图像的方向。
14.一种基于在当前块被编码之前编码的至少一个块的运动矢量确定当前块的运动矢量并基于确定的运动矢量对当前块进行编码的图像编码设备,所述设备包括 运动矢量确定器,基于所述至少一个块的运动矢量确定当前块的第一方向运动矢量和第二方向运动矢量; 编码器,基于第一方向运动矢量和第二方向运动矢量,从第一方向预测、第二方向预测和双向预测中确定将被用于对当前块进行编码的预测方法,对关于在确定的预测方法中使用的预测方向的信息以及关于基于预测方法产生的当前块的像素值的信息进行编码, 其中,第一方向是从当前图像到先前图像的方向, 第二方向是从当前图像到后续图像的方向。
15.一种记录有用于执行如权利要求I至12中的任何一个所述的方法的程序的计算机可读记录介质。
全文摘要
一种这样的方法和设备基于在当前块被编码/解码之前编码/解码的至少一个块的运动矢量确定当前块的运动矢量,根据确定的运动矢量,基于第一方向预测、第二方向预测和双向预测之一对当前块进行预测编码/解码。
文档编号H04N7/32GK102835111SQ201180014824
公开日2012年12月19日 申请日期2011年1月19日 优先权日2010年1月19日
发明者李泰美, 韩宇镇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1