通过控制运动矢量的精度对图像编码/解码的方法和设备的制作方法

文档序号:7912963阅读:223来源:国知局
专利名称:通过控制运动矢量的精度对图像编码/解码的方法和设备的制作方法
技术领域
示例性实施例涉及一种对图像编码/解码的方法和设备,更具体地讲,涉及一种通过使用帧间预测对图像编码/解码的方法和设备。
背景技术
编解码器(例如,运动图像专家组(MPEG) -4、H. ^4/MPEG_4、高级视频编码(AVC)) 通过使用帧内预测或帧间预测来对图像进行预测编码。对于帧间预测,用于对图像编码的设备从参考画面搜索与当前块相同的块或与当前块类似的块,基于搜索结果对当前块执行运动补偿,并对图像编码。因为更准确地估计了运动矢量,因此更准确地执行预测。因此, 增加编码时的压缩比。

发明内容
针对问题的方案示例性实施例提供了一种通过使用帧间预测对图像编码/解码的方法和设备。示例性实施例还提供一种计算机可读记录介质,在所述计算机可读记录介质上记录有用于执行通过使用帧间预测对图像编码/解码的方法的程序。本发明的有益效果根据本申请,可针对每个编码单位自适应地确定运动矢量的精度。最佳实施方式根据示例性实施例的一方面,提供了一种对图像编码的方法,所述方法包括基于深度确定用于预测当前编码单位的运动矢量的精度,所述深度表示从最大编码单位的尺寸减小到预定编码单位的尺寸的程度阶梯;根据确定的运动矢量的精度来估计当前编码单位的运动矢量;通过使用估计的运动矢量来对当前编码单位执行运动补偿;基于执行运动补偿的结果来对当前编码单位编码。根据示例性实施例的一方面,提供了一种对图像编码的设备,所述设备包括精度确定器,基于深度确定用于预测当前编码单位的运动矢量的精度,所述深度表示从最大编码单位的尺寸减小到预定编码单位的尺寸的程度阶梯;运动矢量估计器,根据确定的运动矢量的精度来估计当前编码单位的运动矢量;运动补偿器,通过使用估计的运动矢量来对当前编码单位执行运动补偿;编码器,基于运动补偿的结果来对当前编码单位编码。根据示例性实施例的一方面,提供了一种对图像解码的方法,所述方法包括对关于当前编码单位的数据以及关于用预定精度所估计的运动矢量的数据进行解码;通过使用解码的运动矢量对当前编码单位执行运动补偿;基于对关于当前编码单位的数据的解码的结果和运动补偿的结果来恢复当前编码单位,其中,所述预定精度是基于深度所确定的运动矢量的精度,所述深度表示从最大编码单位的尺寸减小到预定编码单位的尺寸的程度阶梯。根据示例性实施例的一方面,提供了一种对图像解码的设备,所述设备包括解码器,对关于当前编码单位的数据以及关于用预定精度所估计的运动矢量的数据进行解码; 运动补偿器,通过使用解码的关于运动矢量的数据对当前编码单位执行运动补偿;恢复单元,基于对关于当前编码单位的数据的解码的结果和运动补偿的结果来恢复当前编码单位,其中,所述预定精度是基于深度所确定的运动矢量的精度,所述深度表示从最大编码单位的尺寸减小到预定编码单位的尺寸的程度阶梯。根据示例性实施例的另一方面,提供了一种计算机可读记录介质,所述计算机可读记录介质存储用于执行对图像编码的方法和对图像解码的方法的计算机可读程序。


通过参照附图详细描述本发明的示例性实施例,示例性实施例的以上和其他特征和优点将变得更清楚,其中图1是根据示例性实施例的用于对图像编码的设备的框图;图2是根据示例性实施例的用于对图像解码的设备的框图;图3示出根据示例性实施例的分级编码单位;图4是根据示例性实施例的基于编码单位的图像编码器的框图;图5是根据示例性实施例的基于编码单位的图像解码器的框图;图6示出根据示例性实施例的最大编码单位、子编码单位和预测单位;图7示出根据示例性实施例的编码单位和变换单位;图8A和图8B示出根据示例性实施例的编码单位、预测单位和频率变换单位的划分形状;图9是根据另一示例性实施例的对图像编码的设备的框图;图IOA和图IOB示出根据示例性实施例的插值的参考画面;图11是根据另一示例性实施例的对图像解码的设备的框图;图12是示出根据示例性实施例的对图像编码的方法的流程图;图13是示出根据示例性实施例的对图像解码的方法的流程图。
具体实施例方式现在将参照附图更全面地描述示例性实施例,在附图中示出示例性实施例。在示例性实施例中,根据上下文,“单位”可以表示尺寸单位,也可以不表示尺寸单位。在本说明书中,“图像”可表示用于视频的静止图像或者运动图像,即,视频自身。图1是根据示例性实施例的用于对图像编码的设备100的框图。参照图1,设备100包括最大编码单位划分器110、编码深度确定器120、图像数据编码器130和编码信息编码器140。最大编码单位划分器110可基于最大编码单位(其为最大尺寸的编码单位)来划分当前画面或像条(slice)。即,最大编码单位划分器110可划分当前画面或像条,以获得至少一个最大编码单位。根据示例性实施例,可通过使用最大编码单位和深度来表示编码单位。如上所述, 最大编码单位表示当前画面的编码单位中具有最大尺寸的编码单位,深度表示通过分级地减小编码单位获得的子编码单位的尺寸。随着深度增加,编码单位的尺寸从最大编码单位
5减小到最小编码单位,其中,最大编码单位的深度被定义为最小深度,最小编码单位的深度被定义为最大深度。由于编码单位的尺寸随着深度增加而从最大编码单位减小,所以第k 深度的子编码单位可包括第(k+n)深度的多个子编码单位(k和η为等于或大于1的整数)。根据将被编码的画面的尺寸的增加,以较大的编码单位对图像编码可导致较高的图像压缩比。然而,如果较大的编码单位被固定,则考虑到连续改变的图像特性,无法对图像进行有效编码。例如,当对诸如大海或天空的平滑区域编码时,编码单位越大,可增加压缩比。然而,当对诸如人或建筑的复杂区域编码时,编码单位越小,压缩比可增加的越多。因此,根据示例性实施例,针对每个画面或像条设置不同的最大图像编码单位和不同的最大深度。由于最大深度表示编码单位可减小的最大倍数,最大图像编码单位中包括的每个最小编码单位的尺寸可根据最大深度被变化地设置。编码深度确定器120确定最大深度。可基于率失真(R-D)代价的计算来确定最大深度。可针对每个画面或像条或者针对每个最大编码单位来不同地确定最大深度。确定的最大深度被提供给编码信息编码器140,根据最大编码单位的图像数据被提供给图像数据编码器130。最大深度表示具有可被包括在最大编码单位中的最小尺寸的编码单位,S卩,最小编码单位。换句话讲,可根据不同深度将最大编码划分成具有不同尺寸的子编码单位。稍后将参照图8Α和图8Β对此进行详细描述。另外,可基于具有不同尺寸的处理单位来预测或变换最大编码单位中包括的具有不同尺寸的子编码单位。换句话讲,设备100可基于具有各种尺寸和各种形状的处理单位来对图像执行多个处理操作。为了对图像数据编码,可执行诸如预测、变换和熵编码的处理操作,其中,可对每个操作使用具有相同尺寸的处理单位,或者可对每个操作使用具有不同尺寸的处理单位。例如,设备100可选择与编码单位不同的处理单位,以预测编码单位。当编码单位的尺寸是2ΝΧ2Ν(其中,N为正整数)时,用于预测的处理单位可以是 2ΝΧ2Ν、2ΝΧΝ、ΝΧ2Ν、ΝΧΝ。换句话讲,可基于具有由此编码单位的高度和宽度中的至少一个被均除以2的形状的处理单位来执行运动预测。以下,作为预测基础的处理单位被定义为“预测单位”。预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个,可仅对具有特定尺寸或形状的预测单位执行特定预测模式。例如,可仅对形状是正方形的尺寸为2ΝΧ2Ν和 NXN的预测单位执行帧内模式。此外,可仅对尺寸为2ΝΧ2Ν的预测单位执行跳过模式。如果在编码单位中存在多个预测单位,则在对每个预测单位执行了预测之后,可选择具有最少编码误差的预测模式。或者,设备100可基于尺寸与编码单位不同的处理单位来对图像数据执行频率变换。针对编码单位中的频率变换,可基于尺寸等于或小于编码单位的尺寸的处理单位来执行频率变换。以下,作为频率变换基础的处理单位被定义为“变换单位”。频率变换可以是离散余弦变换(DCT)或Karhunen Loeve变换(KLT)。编码深度确定器120可基于拉格朗日乘法器通过使用RD优化来确定最大编码单位中包括的子编码单位。换句话讲,编码深度确定器120可确定从最大编码单位划分的多个子编码单位的形状,其中,所述多个子编码单位根据其深度具有不同的尺寸。图像数据编码器130基于由编码深度确定器120确定的划分形状(即,划分最大编码单位的形状)通过对最大编码单位编码来输出比特流。编码信息编码器140对关于由编码深度确定器120确定的最大编码单位的编码模式的信息进行编码。换句话讲,编码信息编码器140通过对关于最大编码单位的划分形状的信息、关于最大深度的信息、关于针对每个深度的子编码单位的编码模式的信息进行编码来输出比特流。关于子编码单位的编码模式的信息可包括关于子编码单位的预测单位的信息、关于针对每个预测单位的预测模式的信息、关于子编码单位的变换单位的信息。由于针对每个最大编码单位存在具有不同尺寸的子编码单位,并且针对每个子编码单位必须确定关于编码模式的信息,所以可针对一个最大编码单位确定关于至少一个编码模式的信息。设备100可根据深度的增加将最大编码单位的高度和宽度均除以2来产生子编码单位。即,当第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,针对分辨率为1920X 1080的图像数据310,最大编码单位的尺寸被设置为64X64,最大深度被设置为2。针对分辨率为1920X1080的图像数据320,最大编码单位的尺寸被设置为 64X64,最大深度被设置为3。针对分辨率为352X^8的图像数据330,最大编码单位的尺寸被设置为16 X 16,最大深度被设置为1。当分辨率为高或者数据量大时,优选而不必须的是,编码单位的最大尺寸相对大, 以增加压缩比并准确地反映图像特性。因此,针对分辨率高于图像数据330的图像数据310 和320,可选择64X64作为最大编码单位的尺寸。最大深度表示在分级编码单位中层的总数量。由于图像数据310的最大深度是2, 因此,根据深度的增加,图像数据310的编码单位315可包括长轴尺寸为64的最大编码单位以及长轴尺寸为32和16的子编码单位。另一方面,由于图像数据330的最大深度为1,因此,根据深度的增加,图像数据 330的编码单位335可包括长轴尺寸为16的最大编码单位以及长轴尺寸为8的编码单位。然而,由于图像数据320的最大深度为4,所以,根据深度的增加,图像数据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的框图。比特流505通过解析器510,从而将被解码的编码图像数据和解码所必需的编码信息被解析。编码图像数据通过熵解码器520和逆量化器530被输出为逆量化数据,并通过逆变换器540被恢复为残差值。残差值通过被加上帧内预测单元550的帧内预测结果或者运动补偿器560的运动补偿结果根据编码单位被恢复。恢复的编码单位通过去块单元570 和环路滤波单元580被用于随后的编码单位或下一画面的预测。
为了基于根据示例性实施例的解码方法执行解码,图像解码器500的部件(即,解析器510、熵解码器520、逆量化器530、逆变换器M0、帧内预测单元550、运动补偿器560、 去块单元570和环路滤波单元580)基于最大编码单位、根据深度的子编码单位、预测单位和变换单位执行图像解码处理。具体地讲,帧内预测单元550和运动补偿器560通过考虑最大编码单位和深度确定子编码单位中的预测模式和预测单位,逆变换器540通过考虑变换单位的尺寸执行频率逆变换。图6示出根据示例性实施例的最大编码单位、子编码单位和预测单位。根据示例性实施例的设备100和设备200考虑图像特性使用分级编码单位执行编码和解码。最大编码单位和最大深度可根据图像特性被自适应地设置,或者根据用户需求被不同地设置。根据示例性实施例的分级编码单位结构600示出高和宽为64以及最大深度为4 的最大编码单位610。深度沿着分级编码单位结构600的纵轴增加,随着深度增加,子编码单位620至650的高度和宽度减小。沿着分级编码结构600的横轴示出了最大编码单位 610以及子编码单位620至650的预测单位。最大编码单位610深度为0,编码单位的尺寸(S卩,高和宽)为64X64。深度沿着纵轴增加,存在尺寸为32X32并且深度为1的子编码单位620、尺寸为16X16并且深度为 2的子编码单位630、尺寸为8X8并且深度为3的子编码单位640、尺寸为4X4并且深度为 4的子编码单位650。尺寸为4X4并且深度为4的子编码单位650是最小编码单位,最小编码单位可被划分成多个预测单位,所述多个预测单位中的每一个小于最小编码单位。参照图6,根据每个深度沿横轴示出了预测单位的示例。S卩,深度为0的最大编码单位610的预测单位可以是尺寸等于编码单位610的尺寸(即,64X64)的预测单位,或者深度为0的最大编码单位610的预测单位可以是尺寸为64X32的预测单位612、尺寸为 32 X 64的预测单位614或者尺寸为32 X 32的预测单位616,其中,预测单位612、614或616 的尺寸小于尺寸为64X64的编码单位610的尺寸。深度为1并且尺寸为32X32的编码单位620的预测单位可以是尺寸等于编码单位620的尺寸(即,32X32)的预测单位,或者编码单位620的预测单位可以是尺寸为 32X16的预测单位622、尺寸为16X32的预测单位6 或者尺寸为16X 16的预测单位626, 其中,预测单位622、6M或者626的尺寸小于尺寸为32X32的编码单位620的尺寸。深度为2并且尺寸为16 X 16的编码单位630的预测单位可以是尺寸等于编码单位630的尺寸(S卩,16X 16)的预测单位,或者编码单位620的预测单位可以是尺寸为16X8 的预测单位632、尺寸为8X 16的预测单位634或者尺寸为8X8的预测单位636,其中,预测单位632、634或者636的尺寸小于尺寸为16 X 16的编码单位630的尺寸。深度为3并且尺寸为8X8的编码单位640的预测单位可以是尺寸等于编码单位 640的尺寸(即,8X8)的预测单位,或者编码单位640的预测单位可以是尺寸为8X4的预测单位642、尺寸为4X8的预测单位644或者尺寸为4X4的预测单位646,其中,预测单位 642、644或者646的尺寸小于尺寸为8X8的编码单位640的尺寸。最后,深度为4并且尺寸为4X4的编码单位650是最小编码单位和最大深度的编码单位,编码单位650的预测单位可以是尺寸为4X4的预测单位650、尺寸为4X2的预测单位652、尺寸为2X4的预测单元6M或者尺寸为2X2的预测单位656。图7示出根据示例性实施例的编码单位和变换单位。根据示例性实施例的设备100和设备200使用最大编码单位自身或者使用从最大编码单位划分的等于或小于最大编码单位的子编码单位执行编码。在编码处理中,选择用于频率变换的变换单位的尺寸以不大于相应编码单位的尺寸。例如,在当前编码单位710尺寸为64X64时,可通过使用尺寸为32X32的变换单位 720来执行频率变换。图8A和图8B示出根据示例性实施例的编码单位、预测单位和变换单位的划分形状。图8A示出根据示例性实施例的编码单位和预测单位。图8A的左侧示出根据示例性实施例的由设备100选择的划分形状,以对最大编码单位810编码。设备100将最大编码单位810划分成不同形状,执行编码,并通过基于R-D 代价对各划分形状的编码结果进行相互比较来选择最优划分形状。当保持原样对最大编码单位810编码为最优时,可在不划分最大编码单位810的情况下对最大编码单位810编码, 如图8A和图8B所示。参照图8A的左侧,通过将深度为0的最大编码单位810划分成深度等于或大于1 的子编码单位来对最大编码单位810编码。S卩,最大编码单位810被划分成深度为1的四个子编码单位,深度为1的所有或一些子编码单位被划分成深度为2的子编码单位。深度为1的子编码单位中位于右上侧的子编码单位和位于左下侧的子编码单位被划分成深度等于或大于2的子编码单位。深度等于或大于2的子编码单位中的一些可被划分成深度等于或大于3的子编码单位。图8A的右侧示出最大编码单位810的预测单位的划分形状。参照图8A的右侧,可与最大编码单位810不同地来划分最大编码单位810的预测单位860。换句话讲,每个子编码单位的预测单位可小于相应的子编码单位。例如,深度为1的子编码单位中位于右下侧的子编码单位854的预测单位可小于子编码单位854。另外,深度为2的子编码单位814、816、818、828、850和852中的一些子编码单位(814、816、850和852)的预测单位可分别小于子编码单位814、816、850和852。另夕卜,深度为3的子编码单位822、832和848的预测单位可分别小于子编码单位822、832和 848。预测单位可具有由此各子编码单位在高度或宽度方向被均除以2的形状,或者可具有由此各子编码单位在高度和宽度方向被均除以4的形状。图8B示出根据示例性实施例的预测单位和变换单位。图8B的左侧示出在图8的右侧示出的最大编码单位810的预测单位的划分形状, 图8B的右侧示出最大编码单位810的变换单位的划分形状。例如,即使深度为1的编码单位854的预测单位被选择具有由此编码单位854的高度被均除以2的形状,变换单位可被选择具有与编码单位854的尺寸相同的尺寸。同样地,即使深度为2的编码单位814和850的预测单位被选择具有由此编码单位814和850 中的每一个的高度被均除以2的形状,变换单位可被选择具有与编码单位814和850中的每一个的原始尺寸相同的尺寸。变换单位可被选择具有比预测单位小的尺寸。例如,当深度为2的编码单位852的预测单位被选择具有由此编码单位852的宽度被均除以2的形状时,变换单位可被选择具有由此编码单位852沿着高度和宽度的方向被均除以4的形状,该形状具有比预测单位的形状小的尺寸。图9是根据另一示例性实施例的对图像编码的设备900的框图。参照图9,根据当前示例性实施例的对图像编码的设备900可以是图1中示出的对图像编码的设备100,或者是这样的对图像编码的设备,该设备将被包括在图4中示出的图像编码器400中,并通过执行稍后将描述的对图像编码的方法来对图像编码。参照图9,根据当前示例性实施例的对图像编码的设备900包括精度确定器910、运动矢量估计器920、 运动补偿器930和编码器940。精度确定器910确定用于预测当前编码单位的运动矢量的精度。例如,精度确定器910在多个精度(S卩,整像素单位、1/2像素单位、1/4像素单位、1/8像素单位等精度)中确定一个精度作为用于预测当前编码单位的运动矢量的精度。传统的图像编解码器根据运动矢量的固定精度来对图像编码。例如,H. 264图像编解码器以1/4像素为单位估计具有固定精度的运动矢量,对图像执行运动补偿和预测编码。在传统图像编解码器中,运动矢量的精度被固定。因此,存在如下问题。首先,如果运动矢量的精度被固定为低,则不能准确地估计运动矢量,因此,不能准确地执行运动补偿, 从而预测编码的效率被降低。相反,如果运动矢量的精度被固定为高,则需要许多比特来对运动矢量编码,从而降低编码时的压缩比。因此,精度确定器910通过可变地确定运动矢量的精度考虑图像的特性来对图像进行自适应编码。换句话讲,通过对将使用较高精度的运动矢量进行编码的图像以及对可用较低精度的运动矢量被有效编码的图像确定运动矢量的不同精度,可考虑图像的特性对图像进行自适应编码。精度确定器910可基于以上参照图3、图6、图8A和图8B所述的深度确定运动矢量的精度。因此,现在将描述用于确定各种精度的标准。根据示例性实施例,精度确定器910可基于最大深度确定当前编码单位的运动矢量的精度。在这种情况下,由于针对每个像条单位、每个画面单位或每个最大编码单位来确定最大深度,所以还针对每个像条单位、每个画面单位或每个最大编码单位来确定运动矢量的精度。精度确定器910可通过随着最大深度的增加减小运动矢量的精度来估计运动矢量。最大深度表示从最大编码单位的尺寸减小到最小编码单位的尺寸的程度阶梯(degree stepwise) 0随着最大深度的增加,最大编码单位可包括小尺寸的最小编码单位。如果最小编码单位是小的,则可将最大编码单位拆分成较小的子部分(partition)。因此,可增加每个最大编码单位的运动矢量的数量。因此,当通过随最大深度的增加进一步减小运动矢量的精度来估计运动矢量时,可不管运动矢量数量的增加来增加编码时的压缩比。或者,精度确定器910可通过随最大深度的增加而增加运动矢量的精度来估计运动矢量。如上所述,随着最大深度的增加,最小编码单位的尺寸减小。另外,在复杂图像区域中可将最小编码单位设置为小的概率为高。因此,应该更准确地执行运动补偿,以增加编码时的压缩比。为了更准确的运动补偿,应该进一步增加运动矢量的精度。根据另一示例性实施例,精度确定器910可基于当前编码单位的深度确定运动矢
11量的精度。可针对具有不同深度的每个编码单位确定运动矢量的精度。如上所述,当前编码单位的深度表示从最大编码单位的尺寸减小到当前编码单位的尺寸的程度阶梯。精度确定器910可通过随着当前编码单位的增加而增加运动矢量的精度来确定运动矢量。如上所述,在复杂图像区域中编码单位的尺寸可能为小的概率为高,在复杂图像区域中,应该更准确地执行运动补偿,从而可增加编码时的压缩比。然而,随着当前编码单位的深度的增加,当前编码单位的尺寸越小。因此,为了更准确的运动补偿,可通过增加运动矢量的精度来估计运动矢量。相反,精度确定器910可通过随当前编码单位的深度的减小而增加运动矢量的精度来估计运动矢量。因为当前编码单位的尺寸增加,所以压缩比可不受不准确的运动补偿的影响。在平坦区域中编码单位的尺寸可能是大的概率为高,在平坦区域中,可不需要增加运动矢量的精度就可执行准确的运动补偿。因此,随着当前编码单位的深度的减小,即随着当前编码单位的尺寸的增加,通过减小运动矢量的精度来估计运动矢量。当由精度确定器910确定了运动矢量的精度时,运动矢量估计器920根据确定的精度估计当前编码单位的运动矢量。运动矢量估计器920根据确定的精度对参考画面进行插值,并通过使用插值的参考画面来估计当前编码单位的运动矢量。运动矢量估计器920 可通过仅对将被搜索的参考画面的预定区域进行插值来估计运动矢量。图IOA和图IOB示出根据示例性实施例的插值的参考画面。参照图10A,当精度确定器910确定当前编码单位的运动矢量的精度为1/2像素单位时,运动矢量估计器920通过对参考画面进行插值在整像素1000、1002、1004和1006中产生1/2像素1010至1016。参照图10B,当精度确定器910确定当前编码单位的运动矢量的精度为1/4像素单位时,运动矢量估计器920在整像素1000至1016与1/2像素1010至1016之间或者在 1/2像素1010至1016之间产生1/4像素。回头参照图9,运动矢量估计器920可基于预测单位进行估计。如图3、图6、图8A 和图8B所示,编码单位(最大编码单位和子编码单位)可与预测单位不同。因此,当在当前编码单位中包括多个预测单位时,运动矢量估计器920针对所述多个预测单位中的每一个估计运动矢量。运动补偿器930通过使用由运动矢量估计器920估计的运动矢量对当前编码单位执行运动补偿。运动补偿器930根据运动矢量搜索与当前编码单位相应的块,并基于搜索结果来预测当前编码单位。当在当前编码单位中包括多个预测单位时,运动补偿器930通过对所述多个预测单位中的每一个执行运动补偿来预测当前编码单位。编码器940基于运动补偿器930的运动补偿结果来对当前编码单位编码。编码器 940基于对当前编码单位的预测结果来产生当前编码单位的残差块,并通过对产生的残差块执行变换、量化和熵编码来产生关于当前编码单位的数据。另外,编码器940通过对由运动矢量估计器920产生的具有预定精度的运动矢量执行熵编码来产生关于运动矢量的数据。根据另一示例性实施例,对图像编码的设备900可对所有运动矢量精度重复执行编码,以确定运动矢量的最优精度。例如,对图像编码的设备900根据整像素单位精度执行运动矢量估计、运动补偿和编码,并根据1/2像素单位精度重复执行运动矢量估计、运动补偿和编码。然后,对图像编码的设备900通过比较针对每个精度的编码结果来确定运动矢量的最优精度。对图像编码的设备900可对更多的各种精度(即,整像素单位、1/2像素单位、1/4像素单位、1/8像素单位精度)如上所述执重复执行运动矢量估计、运动补偿和编码,还可通过比较编码结果来确定运动矢量的最优精度。图11是根据另一示例性实施例的对图像解码的设备1100的框图。参照图11,根据当前示例性实施例的对图像解码的设备1100可以是图2中示出的对图像编码的设备200,或者是这样的对图像编码的设备所述设备将包括在图5中示出的图像解码器500中,并通过执行稍后将被描述的对图像解码的方法来对图像解码。参照图 11,根据当前示例性实施例的对图像编码的设备1100包括解码器1110、运动补偿器1120和恢复单元1130。解码器1110通过接收比特流对关于当前编码单位的数据和关于运动矢量的数据进行解码。关于当前编码单位的数据是关于当前编码单位的残差块的数据。解码器1110 通过对关于残差块的数据执行熵编码、逆量化、逆变换来恢复当前编码单位的残差块。当前编码单位的运动矢量是根据受控精度而估计的运动矢量。解码器1110通过对关于运动矢量的数据执行熵解码来恢复运动矢量。可根据当前编码单位的深度或最大深度来确定运动矢量的精度。如上所述,当根据最大深度确定运动矢量的精度时,运动矢量的精度可被确定为画面单位、像条单位或最大编码单位。运动补偿器1120根据由解码器1110恢复的运动矢量来执行运动补偿,并预测当前编码单位。运动补偿器1120根据所恢复的运动矢量的精度对参考画面进行插值,并通过根据运动矢量搜索插值的参考画面来预测当前编码单位。恢复单元1130基于由解码器1110执行的对关于当前编码单位的数据的解码的结果以及由运动补偿器1120执行的运动补偿的结果来恢复当前编码单位。恢复单元1130通过将由解码器1110恢复的当前编码单位的残差块加上由运动补偿器1120产生的运动补偿结果来恢复当前编码单位。图12是示出根据示例性实施例的对图像编码的方法的流程图。在操作1210,根据示例性实施例的对图像编码的设备基于深度确定用于预测当前编码单位的运动矢量的精度。如上所述,深度可以是针对每个画面、像条或最大编码单位确定的最大深度。另外,基于当前编码单位的深度确定运动矢量的精度,从而还可针对所有编码单位确定运动矢量的不同的精度。在操作1220,对图像编码的设备根据在操作1210确定的运动矢量的精度估计当前编码单位的运动矢量。根据确定的精度对参考画面进行插值,并基于插值的参考画面来估计当前编码单位的运动矢量。通过使用预定评价函数来搜索与当前编码单位相同的块或与当前编码单位类似的块,并根据搜索结果来估计当前编码单位的运动矢量。在操作1230,对图像编码的设备通过使用在操作1220估计的运动矢量执行当前编码单位的运动补偿。通过根据在操作1220中估计的运动矢量搜索插值的参考画面来预测当前编码单位。在操作1M0,对图像编码的设备基于在操作1230的运动补偿的结果来对当前编码单位编码。基于运动补偿的结果产生当前编码单位的残差块,并通过对残差块执行变换、 量化和熵编码来产生关于当前编码单位的数据。另外,通过对当前编码单位的运动矢量执行熵编码来产生关于运动矢量的数据。对图像编码的设备可通过针对运动的不同精度重复执行操作1220至操作1240来确定当前编码单位的运动矢量的精度。可通过针对整像素单位、1/2像素单位、1/4像素单位、1/8像素单位等精度重复执行操作1220至操作1240并比较编码结果,来确定当前编码单位的运动矢量的最优精度。图13是示出根据示例性实施例的对图像解码的方法的流程图。参照图13,在操作1310,根据示例性实施例的对图像解码的设备对关于当前编码单位的数据和关于运动矢量的数据进行解码。通过对关于当前编码单位的数据执行熵解码、逆量化和逆变换来恢复当前编码单位的残差块。另外,通过对关于运动矢量的数据执行熵解码来恢复当前编码单位的运动矢量。如上参照图12所述,可基于当前编码单位的深度或最大深度来准确地确定恢复的运动矢量的精度。在操作1320,通过使用在操作1310解码的运动矢量对当前编码单位执行运动补偿。根据在操作1310解码的运动矢量的精度来对参考画面插值,并通过使用运动矢量来搜索插值的参考画面。基于搜索结果来预测当前编码单位。在操作1330,对图像解码的设备基于在操作1310对关于当前编码单位的数据的解码的结果以及在操作1320的运动补偿的结果来恢复当前编码单位。通过将在操作1310 恢复的当前编码单位的残差块加上在操作1320的运动补偿的结果来恢复当前编码单位。尽管已参照本发明的示例性实施例具体显示和描述了示例性实施例,但本领域普通技术人员应该理解,在不脱离由权利要求限定的示例性实施例的精神和范围的情况下, 可进行形式和细节方面的各种改变。另外,可通过使用计算机可读记录介质中的计算机可读代码来实现根据示例性实施例的系统。例如,根据示例性实施例的对图像编码的设备、对图像解码的设备、图像编码器、 图像解码器可包括连接到图1、图2、图4、图5、图9和图11中示出的每个装置的单元的总线以及连接到该总线的至少一个处理器。另外,如上所述的连接到用于执行命令的至少一个处理器的存储器可被包括和连接到总线,以存储所述命令和接收的消息或产生的消息。计算机可读记录介质是可存储其后可被计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-R0M、 磁带、软盘、光学数据存储装置。计算机可读记录介质还可分布于联网的计算机系统,以使计算机可读代码以分布式方式被存储和执行。
权利要求
1.一种对图像编码的方法,所述方法包括基于深度确定用于预测当前编码单位的运动矢量的精度,所述深度表示从最大编码单位的尺寸减小到预定编码单位的尺寸的阶梯尺寸;根据确定的运动矢量的精度来估计当前编码单位的运动矢量; 通过使用估计的运动矢量来对当前编码单位执行运动补偿; 基于执行运动补偿的结果来对当前编码单位编码。
2.如权利要求1所述的方法,其中,确定运动矢量的精度的步骤包括基于最大深度来确定运动矢量的精度,其中,最大深度表示从最大编码单位的尺寸减小到最小编码单位的尺寸的阶梯尺寸。
3.如权利要求1所述的方法,其中,针对每个像条或画面设置最大深度。
4.如权利要求1所述的方法,其中,确定运动矢量的精度的步骤包括基于深度确定运动矢量的精度,其中,所述深度表示从最大编码单位的尺寸减小到当前编码单位的尺寸的阶梯。
5.如权利要求1所述的方法,其中,估计运动矢量的步骤包括 基于确定的运动矢量的精度来对参考画面插值;通过使用差值的参考画面来估计当前编码单位的运动矢量。
6.一种对图像编码的设备,所述设备包括精度确定器,基于深度确定用于预测当前编码单位的运动矢量的精度,所述深度表示从最大编码单位的尺寸减小到预定编码单位的尺寸的阶梯尺寸;运动矢量估计器,根据确定的运动矢量的精度来估计当前编码单位的运动矢量; 运动补偿器,通过使用估计的运动矢量来对当前编码单位执行运动补偿; 编码器,基于运动补偿的结果来对当前编码单位编码。
7.如权利要求6所述的设备,其中,精度确定器基于最大深度来确定运动矢量的精度, 其中,最大深度表示从最大编码单位的尺寸减小到最小编码单位的尺寸的阶梯尺寸。
8.一种对图像解码的方法,所述方法包括对关于当前编码单位的数据以及关于用预定精度所估计的运动矢量的数据进行解码;通过使用解码的关于运动矢量的数据对当前编码单位执行运动补偿; 基于对关于当前编码单位的数据的解码的结果和执行运动补偿的结果来恢复当前编码单位,其中,所述预定精度是基于深度所确定的运动矢量的精度,所述深度表示从最大编码单位的尺寸减小到预定编码单位的尺寸的阶梯尺寸。
9.如权利要求8所述的方法,其中,运动矢量的精度是基于最大深度所确定的运动矢量的精度,其中,所述最大深度表示从最大编码单位的尺寸减小到最小编码单位的尺寸的阶梯尺寸。
10.如权利要求9所述的方法,其中,最大深度针对每个像条或画面被设置。
11.如权利要求8所述的方法,其中,运动矢量的精度是基于深度所确定的运动矢量的精度,其中,所述深度表示从最大编码单位的尺寸减小到当前编码单位的尺寸的阶梯尺寸。
12.—种对图像解码的设备,所述设备包括解码器,对关于当前编码单位的数据以及关于用预定精度所估计的运动矢量的数据进行解码;运动补偿器,通过使用解码的关于运动矢量的数据对当前编码单位执行运动补偿; 恢复单元,基于对关于当前编码单位的数据的解码的结果和运动补偿的结果来恢复当前编码单位,其中,所述预定精度是基于深度所确定的运动矢量的精度,所述深度表示从最大编码单位的尺寸减小到预定编码单位的尺寸的阶梯尺寸。
13.如权利要求12所述的设备,其中,运动矢量的精度是基于最大深度所确定的运动矢量的精度,其中,所述最大深度表示从最大编码单位的尺寸减小到最小编码单位的尺寸的阶梯尺寸。
14.一种记录有用于执行如权利要求1所述的方法的程序的计算机可读记录介质。
15.一种记录有用于执行如权利要求8所述的方法的程序的计算机可读记录介质。
全文摘要
公开了这样一种对图像编码的方法和设备以及一种对由所述对图像编码的设备和方法编码的图像解码的方法和设备,通过所述对图像编码的方法和设备可变地控制运动矢量的精度来预测当前编码单位,并根据预测结果执行运动补偿。
文档编号H04N7/50GK102474611SQ201080036027
公开日2012年5月23日 申请日期2010年8月13日 优先权日2009年8月13日
发明者崔钟凡, 李相来, 韩宇镇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1