用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备的制作方法

文档序号:7850082阅读:183来源:国知局
专利名称:用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备的制作方法
技术领域
本发明涉及对视频进行编码和解码,更具体地说,涉及对视频更精确地执行双向运动预测和补偿的处理。
背景技术
随着用于再现和存储高分辨率或高质量视频内容的硬件的发展和提供,对有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求正在增加。在传统的视频编解码器中,基于具有预定尺寸的宏块,根据受限的编码方法对视频进行编码。

发明内容
技术问题本发明提供用于对图像进行编码和解码的方法和设备,所述方法和设备在对运动信息进行编码所需的比特数量无需大量增加的情况下,精确地执行像素单位的双向运动预测和补偿。技术方案根据本发明的实施例,通过基于参考画面的像素的光流以及块单位的运动补偿的结果执行像素单位的运动补偿,在与运动补偿模式有关的信息的附加开销无需增加的情况下,执行更精确的运动预测和补偿。有益效果根据本发明,在对运动信息进行编码所需的比特数量无需大量增加的情况下,执行精确的像素单位的双向运动预测和补偿。


图I是根据本发明的实施例的用于对视频进行编码的设备的框图;图2是根据本发明的实施例的用于对视频进行解码的设备的框图;图3是用于描述根据本发明的实施例的编码单元的概念的示图;图4是根据本发明的实施例的基于编码单元的图像编码器的框图;图5是根据本发明的实施例的基于编码单元的图像解码器的框图;图6是示出根据本发明的实施例的根据深度的较深层编码单元以及分区的示图;图7是用于描述根据本发明的实施例的编码单元和变换单元之间的关系的示图;图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图;图9是根据本发明的实施例的根据深度的较深层编码单元的示图;图10至图12是用于描述根据本发明的实施例的编码单元、预测单元和变换单元之间的关系的示图13是用于描述根据表I的编码模式信息的编码单元、预测单元或分区以及变换单元之间的关系的示图;图14是根据本发明的实施例的运动补偿器的框图;图15是用于描述根据本发明的实施例的基于块的双向运动预测和补偿的处理的参考示图;图16是用于描述根据本发明的实施例的执行像素单位的运动补偿的处理的参考示图;图17是用于描述根据本发明的实施例的计算水平方向梯度和垂直方向梯度的处 理的参考示图;图18是用于描述根据本发明的另一实施例的计算水平方向梯度和垂直方向梯度的处理的参考示图;图19是示出根据本发明的实施例的梯度计算滤波器的滤波器系数的表;图20是用于描述根据本发明的实施例的确定水平方向位移矢量和垂直方向位移矢量的处理的参考示图;图21是示出根据本发明的实施例的对视频进行编码的方法的流程图;图22是根据本发明的实施例的包括在解码设备中的运动补偿器的框图;图23是示出根据本发明的实施例的对视频进行解码的方法的流程图。最佳实施方式根据本发明的一方面,提供了一种对视频进行编码的方法,所述方法包括执行用于确定第一运动矢量和第二运动矢量的双向运动预测,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。根据本发明的另一方面,提供了一种对视频进行解码的方法,所述方法包括从比特流提取关于将被解码的当前块的运动预测模式的信息;当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,从比特流提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。根据本发明的另一方面,提供了一种用于对视频进行编码的设备,所述设备包括运动预测器,执行用于确定第一运动矢量和第二运动矢量的双向运动预测,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;块单位的运动补偿器,通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;像素单位的运动补偿器,通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;预测值产生器,通过块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。根据本发明的另一方面,提供了一种用于对视频进行解码的设备,所述设备包括熵解码器,从比特流提取关于将被解码的当前块的运动预测模式的信息,当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,从比特流提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;块单位的运动补偿器,通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;像素单位的运动补偿器,通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;预测值产生器,通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
具体实施例方式以下,将参考附图更充分地描述本发明,在附图中示出本发明的示例性实施例。图I是根据本发明的实施例的视频编码设备100的框图。视频编码设备100包括最大编码单元划分器110、编码单元确定器120和输出单元130。最大编码单元划分器110可基于图像的当前画面的最大编码单元对当前画面进行划分。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个最大编码单元。根据本发明的实施例的最大编码单元可以是尺寸为32X32、64X64、128X 128、256X256等的数据单元,其中,数据单元的形状是宽度和高度为2的若干次方并 大于8的正方形。图像数据可根据所述至少一个最大编码单元被输出到编码单元确定器120。根据本发明的实施例的编码单元可由最大尺寸以及深度来表征。深度表示编码单元从最大编码单元被空间划分的次数,并且随着深度加深,根据深度的较深层编码单元可从最大编码单元被划分为最小编码单元。最大编码单元的深度是最上层深度,最小编码单元的深度是最下层深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此,与上层深度相应的编码单元可包括多个与下层深度相应的编码单元。如上所述,当前画面的图像数据根据编码单元的最大尺寸而被划分为最大编码单元,所述最大编码单元中的每一个可包括根据深度被划分的较深层编码单元。由于根据本发明的实施例的最大编码单元根据深度被划分,因此包括在最大编码单元中的空间域的图像数据可根据深度被分层划分。可预先确定编码单元的最大深度和最大尺寸,所述最大深度和最大尺寸限定最大编码单元的高度和宽度被分层划分的总次数。编码单元确定器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分的区域进行编码,并根据所述至少一个划分的区域确定用于输出最终编码的图像数据的深度。换句话说,编码单元确定器120通过根据当前画面的最大编码单元按照根据深度的较深层编码单元对图像数据进行编码,并选择具有最小编码误差的深度,来确定编码深度。确定的编码深度和根据确定的编码深度的编码图像数据被输出到输出单元130。
基于与等于或低于最大深度的至少一个深度相应的较深层编码单元对最大编码单元中的图像数据进行编码,并基于较深层编码单元中的每一个来比较对图像数据进行编码的结果。在比较较深层编码单元的编码误差之后,可选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。随着编码单元根据深度而被分层划分,并且随着编码单元的数量增加,最大编码单元的尺寸被划分。此外,即使在一个最大编码单元中编码单元相应于相同深度,也通过分别测量每个编码单元的图像数据的编码误差来确定是否将与相同深度相应的编码单元中的每一个划分到下层深度。因此,即使当图像数据被包括在一个最大编码单元中时,在所述一个最大编码单元中,编码误差也可根据区域而不同,因此,编码深度可根据图像数据中的区域而不同。因此,在一个最大编码单元中可确定一个或多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
因此,编码单元确定器120可确定包括在最大编码单元中的具有树结构的编码单元。根据本发明的实施例的“具有树结构的编码单元”包括有在最大编码单元中包括的所有较深层编码单元中与被确定为编码深度的深度相应的编码单元。在最大编码单元的相同区域中,编码深度的编码单元可根据深度被分层确定,在不同的区域中,编码深度的编码单元可被独立地确定。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。根据本发明的实施例的最大深度是关于从最大编码单元到最小编码单元的划分次数的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元的总划分次数。根据本发明的实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度为O时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度O、1、2、3和4这5个深度级,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的较深层编码单元来执行预测编码和变换。由于每当最大编码单元根据深度被划分时较深层编码单元的数量增加,因此可针对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于描述,现在将基于最大编码单元中的当前深度的编码单元来描述预测编码和变换。视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可选择与编码单元不同的数据单元,以便对编码单元中的图像数据执行预测编码。为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与下层深度相应的编码单元的编码单元)执行预测编码。以下,现将不再被划分并且变成用于预测编码的基本单元的编码单元称为“预测单元”。通过对预测单元进行划分所获得的分区(partition)可包括预测单元或通过对预测单元的高度和宽度中的至少一个进行划分所获得的数据单元。
例如,当2NX2N (其中,N是正整数)的编码单元不再被划分,并且变成2NX2N的预测单元时,分区的尺寸可以是2NX 2N、2NX N、NX 2N或NX N。分区类型的示例包括通过对预测单元的高度或宽度进行对称划分所获得的对称分区、通过对预测单元的高度或宽度进行不对称划分(诸如l:n或η: I)所获得的分区、通过对预测单元进行几何划分所获得的分区以及具有任意形状的分区。预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可针对2ΝX 2Ν、2ΝX N、NX 2Ν或NX N的分区执行帧内模式或帧间模式。此外,可仅针对2ΝΧ2Ν的分区执行跳过模式。针对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。视频编码设备100还可不仅基于用于对图像数据进行编码的编码单元,还基于不同于编码单元的数据单元,对编码单元中的图像数据执行变换。为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的数据单元可包括用于帧内模式的数据单元和用于帧间模式的数据单元。现将用作变换的基础的数据单元称为“变换单元”。与编码单元类似,编码单元中的变换单元可被递归地划分为更小尺寸的区域,从而可以以区域为单位独立地确定变换单元。因此,编码单元中的残差数据可基于根据变换深度的具有树结构的变换单元被划分。还可在变换单元中设置变换深度,所述变换深度指示通过对编码单元的高度和宽度进行划分来实现变换单元的划分次数。例如,在2ΝΧ2Ν的当前编码单元中,当变换单元的尺寸为2ΝΧ2Ν时,变换深度可以是0,当变换单元的尺寸是NXN时,变换深度可以是1,当变换单元的尺寸是Ν/2 X Ν/2时,变换深度可以是2。换句话说,可根据变换深度设置具有树结构的变换单元。根据与编码深度相应的编码单元的编码信息不仅需要关于编码深度的信息,还需要关于与预测编码和变换有关的信息的信息。因此,编码单元确定器120不仅确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式和用于变换的变换单元的尺寸。稍后将参照图3至图12详细描述根据本发明的实施例的最大编码单元中的根据树结构的编码单元以及确定分区的方法。编码单元确定器120可通过使用基于拉格朗日乘子的率失真优化来测量根据深度的较深层编码单元的编码误差。输出单元130在比特流中输出最大编码单元的图像数据以及关于根据编码深度的编码模式的信息,其中,所述图像数据基于由编码单元确定器120确定的至少一个编码深度被编码。可通过对图像的残差数据进行编码来获得编码图像数据。关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型的信息、预测模式以及变换单元的尺寸。可通过使用根据深度的划分信息来定义关于编码深度的信息,所述划分信息指示是否针对下层深度而不是当前深度的编码单元来执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码并被输出,因此划分信息可被定义为不将当前编码单元划分到下层深度。可选地,如果当前编码单元的当前深度不是编码深度,则针对下层深度的编码单元来执行编码,因此,划分信息可被定义为划分当前编码单元以获得下层深度的编码单元。如果当前深度不是编码深度,则针对被划分为下层深度的编码单元的编码单元来执行编码。由于在当前深度的一个编码单元中存在下层深度的至少一个编码单元,因此针对下层深度的每个编码单元重复执行编码,因此,可针对具有相同深度的编码单元递归地执行编码。由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,因此,可针对一个最大编码单元确定关于至少一个编码模式的信息。此外,由于图像数据根据深度被分层划分,因此,最大编码单元的图像数据的编码深度可根据位置而不同,因此,可针对图像数据设置关于编码深度和编码模 式的信息。因此,输出单元130可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。根据本发明的实施例的最小单元是通过将构成最低深度的最小编码单元划分4次所获得的正方形数据单元。可选地,最小单元可以是最大正方形数据单元,所述最大正方形数据单元可包括在最大编码单元中所包括的所有编码单元、预测单元、分区单元和变换单元中。例如,通过输出单元130输出的编码信息可被分为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息和关于帧内模式的插值方法的信息。此外,关于根据画面、条带或GOP定义的编码单元的最大尺寸的信息以及关于最大深度的信息可被插入比特流的头中。在视频编码设备100中,较深层编码单元可以是通过将作为上一层的上层深度的编码单元的高度或宽度划分两次所获得的编码单元。换句话说,当当前深度的编码单元的尺寸为2NX2N时,下层深度的编码单元的尺寸是NXN。此外,尺寸为2NX 2N的当前深度的编码单元可最多包括下层深度的4个编码单元。因此,视频编码设备100可通过基于考虑当前画面的特性所确定的最大编码单元的尺寸和最大深度,针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。此外,由于可通过使用各种预测模式和变换中的任何一个来针对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。因此,如果以传统的宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块数量过度增加。因此,针对每个宏块产生的压缩信息的条数增加,因此难以发送压缩信息,并且数据压缩效率降低。然而,通过使用视频编码设备100,由于在考虑图像尺寸的同时增加编码单元的最大尺寸,同时在考虑图像特性的同时调整编码单元,因此可提高图像压缩效率。图2是根据本发明的实施例的视频解码设备200的框图。
视频解码设备200包括接收器210、图像数据和编码信息提取器220以及图像数据解码器230。用于视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照图I和视频编码设备100描述的那些术语相同。接收器210接收并解析编码视频的比特流。图像数据和编码信息提取器220从解析的比特流提取每个编码单元的编码图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个最大编码单元的树结构。图像数据和编码信息提取器220可从关于当前画面的头提取关于当前画面的编码单元的最大尺寸的信息。此外,图像数据和编码信息提取器220从解析的比特流提取关于编码单元的编码深度和编码模式的信息,其中,编码单元具有根据每个最大编码单元的树结构。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换句话说,比特流中的图像数据被划分为最大编码单元,从而图像数据解码器230对每个最大编码单元的图像数据进行解码。可针对关于与编码深度相应的至少一个编码单元的信息,来设置关于根据最大编码单元的编码深度和编码模式的信息,并且关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息和变换单元的尺寸。此外,根据深度的划分信息可被提取作为关于编码深度的信息。由图像数据和编码信息提取器220提取的关于根据每个最大编码单元的编码深度和编码模式的信息是关于如下编码深度和编码模式的信息,其中,所述编码深度和编码模式被确定为用于当编码器(诸如视频编码设备100)根据每个最大编码单元对每个根据深度的较深层编码单元重复执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来恢复图像。由于关于编码深度和编码模式的编码信息可被分配给相应编码单元、预测单元和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可根据预定数据单元提取关于编码深度和编码模式的信息。如果根据预定数据单元记录关于相应最大编码单元的编码深度和编码模式的信息,则被分配关于编码深度和编码模式的相同信息的预定数据单元可被推断为包括在相同最大编码单元中的数据单元。图像数据解码器230通过基于关于根据最大编码单元的编码深度和编码模式的信息对每个最大编码单元中的图像数据进行解码,来恢复当前画面。换句话说,图像数据解码器230可基于提取的关于包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元的分区类型、预测模式和变换单元的信息,来对编码图像数据进行解码。解码处理可包括预测(包括帧内预测和运动补偿)和反变换。图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的分区类型和预测模式的信息,根据每个编码单元的分区和预测模式执行帧内预测或运动补偿。此外,图像数据解码器230可基于关于根据编码深度的编码单元的变换单元的尺寸的信息,根据编码单元中的每个变换单元执行反变换,从而根据最大编码单元执行反变换。图像数据解码器230可通过使用根据深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息指示图像数据在当前深度下不再被划分,则当前深度是编码深度。因此,图像数据解码器230可通过使用与编码深度相应的每个编码单元的关于预测单元的分区类型、预测模式和变换单元尺寸的信息,对当前最大编码单元中与每个编码深度相应的至少一个编码单元的编码数据进行解码。换句话说,可通过观察为编码单元、预测单元和最小单元中的预定数据单元分配的编码信息集来收集包括编码信息(包括相同划分信息)的数据单元,收集的数据单元可被视为将由图像数据解码器230以相同的编码模式进行解码的一个数据单元。视频解码设备200可获得关于当针对每个最大编码单元递归执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式来有效地对图像数据进行解码和恢复,其中,通过使用从编码器接收 的关于最佳编码模式的信息,根据图像数据的特性来自适应地确定所述编码单元的尺寸和所述编码模式。现在将参照图3至图13描述根据本发明的实施例的确定具有树结构的编码单元、预测单元和变换单元的方法。图3是用于描述根据本发明的实施例的编码单元的概念的示图。编码单元的尺寸可被表示为宽度X高度,可以是64\64、32父32、16\16和8父8。64X64的编码单元可被划分为64X64、64X32、32X64或32X32的分区,32X32的编码单元可被划分为32X32、32X16、16X32或16X16的分区,16X16的编码单元可被划分为16X16、16X8、8X16或8X8的分区,8X8的编码单元可被划分为8X8、8X4、4X8或4X4的分区。在视频数据310中,分辨率为1920 X 1080,编码单元的最大尺寸为64,最大深度为2。在视频数据320中,分辨率为1920 X 1080,编码单元的最大尺寸为64,最大深度为3。在视频数据330中,分辨率为352X288,编码单元的最大尺寸为16,最大深度为I。图3中示出的最大深度指示从最大编码单元到最小解码单元的总划分次数。如果分辨率高或数据量大,则编码单元的最大尺寸可较大,从而不仅提高了编码效率还精确地反映出图像的特性。因此,分辨率高于视频数据330的视频数据310和视频数据320的编码单元的最大尺寸可以是64。由于视频数据310的最大深度是2,因此,由于通过将最大编码单元划分两次,深度被加深两层,因此视频数据310的编码单元315可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32和16的编码单元。同时,由于视频数据330的最大深度是1,因此,由于通过将最大编码单元划分一次,深度被加深一层,因此视频数据330的编码单元335可包括长轴尺寸为16的最大编码单元以及长轴尺寸为8的编码单元。由于视频数据320的最大深度为3,因此,由于通过将最大编码单元划分三次,深度被加深3层,因此视频数据320的编码单元325可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32、16和8的编码单元。随着深度加深,可精确地表达详细信息。图4是根据本发明的实施例的基于编码单元的图像编码器400的框图。图像编码器400执行视频编码设备100的编码单元确定器120的操作以对图像数据进行编码。换句话说,帧内预测器410对当前帧405中的帧内模式下的编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495,对当前帧405中的帧间模式下的编码单元执行帧间估计和运动补偿。从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出作为量化的变换系数。具体地,在双向运动预测和补偿期间,运动估计器420和运动补偿器425除了执行基于块的双向运动预测和补偿之外,还执行像素单位的双向运动补偿。这将在以下参照图14被详细描述。量化的变换系数通过反量化器460和反变换器470被恢复为空间域中的数据,恢复的空间域中的数据在通过去块单元480和环路滤波单元490进行后处理之后被输出为参考帧495。量化的变换系数可通过熵编码器450被输出为比特流455。
为了将图像编码器400应用在视频编码设备100中,图像编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度的同时,基于具有树结构的编码单元中的每个编码单元来执行操作。具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度的同时确定具有树结构的编码单元中的每个编码单元的分区和预测模式,变换器430确定具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。图5是根据本发明的实施例的基于编码单元的图像解码器500的框图。解析器510从比特流505解析将被解码的编码图像数据以及解码所需的关于编码的信息。编码图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的数据通过反变换器540被恢复为空间域中的图像数据。帧内预测器550针对空间域中的图像数据,对帧内模式下的编码单元执行帧内预测,运动补偿器560通过使用参考帧585对帧间模式下的编码单元执行运动补偿。具体地,在双向运动补偿期间,运动补偿器560除了执行基于块的双向运动补偿之外,还执行像素单位的双向运动补偿。这将在以下参照图14被详细描述。通过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580进行后处理之后被输出为恢复的帧595。此外,通过去块单元570和环路滤波单元580进行后处理的图像数据可被输出为参考帧585。为了在视频解码设备200的图像数据解码器230中对图像数据进行解码,图像解码器500可执行在解析器510之后执行的操作。为了将图像解码器500应用在视频解码设备200中,图像解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、反变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)针对每个最大编码单元基于具有树结构的编码单元执行操作。具体地,帧内预测器550和运动补偿器560基于具有树结构的编码单元中的每个编码单元的分区和预测模式执行操作,反变换器540基于每个编码单元的变换单元的尺寸执行操作。图6是示出根据本发明的实施例的根据深度的较深层编码单元以及分区的示图。
视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特性。可根据图像的特性适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸来确定根据深度的较深层编码单元的尺寸。在根据本发明的实施例的编码单元的分层结构600中,编码单元的最大高度和最大宽度均为64,最大深度为4。由于深度沿分层结构600的纵轴加深,因此较深层编码单元的高度和宽度均被划分。此外,沿分层结构600的横轴示出作为用于每个较深层编码单元的预测编码的基础的预测单元和分区。换句话说,编码单元610是分层结构600中的最大编码单元,其中,深度为0,尺寸(即,高度乘宽度)为64X64。深度沿纵轴加深,存在尺寸为32X32且深度为I的编码单元620、尺寸为16 X 16且深度为2的编码单元630、尺寸为8 X 8且深度为3的编码单元640以 及尺寸为4X4且深度为4的编码单元650。尺寸为4X4且深度为4的编码单元650是最小编码单元。编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果尺寸为64X64且深度为O的编码单元610是预测单元,则预测单元可被划分为包括在编码单元610中的分区,即,尺寸为64X64的分区610、尺寸为64X32的分区612、尺寸为32X64的分区614或尺寸为32X32的分区616。类似地,尺寸为32X32且深度为I的编码单元620的预测单元可被划分为包括在编码单元620中的分区,即,尺寸为32X32的分区620、尺寸为32X16的分区622、尺寸为16X32的分区624和尺寸为16X16的分区626。类似地,尺寸为16X16且深度为2的编码单元630的预测单元可被划分为包括在编码单元630中的分区,即,包括在编码单元630中的尺寸为16X16的分区630、尺寸为16X8的分区632、尺寸为8X16的分区634和尺寸为8X8的分区636。类似地,尺寸为8X8且深度为3的编码单元640的预测单元可被划分为包括在编码单元640中的分区,S卩,包括在编码单元640中的尺寸为8 X 8的分区640、尺寸为8 X 4的分区642、尺寸为4X8的分区644和尺寸为4X4的分区646。尺寸为4X4且深度为4的编码单元650是最小编码单元和最下层深度的编码单元。编码单元650的预测单元仅被分配给尺寸为4X4的分区。为了确定组成最大编码单元610的编码单元的至少一个编码深度,视频编码设备100的编码单元确定器120针对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。随着深度加深,以相同范围和相同尺寸包括数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度2相应的编码单元,以覆盖包括在一个与深度I相应的编码单元中的数据。因此,为了比较相同数据根据深度的编码结果,与深度I相应的编码单元和四个与深度2相应的编码单元各自被编码。为了针对深度中的当前深度执行编码,可通过沿分层结构600的横轴,针对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度选择最小编码误差。可选地,可通过随着深度沿分层结构600的纵轴加深针对每个深度执行编码来比较根据深度的最小编码误差,从而搜索最小编码误差。在编码单元610中具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。图7是用于描述根据本发明的实施例的编码单元710和变换单元720之间的关系的示图。视频编码设备100或视频解码设备200针对每个最大编码单元,根据具有小于或等于最大编码单元的尺寸的编码单元来对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择在编码期间用于变换的变换单元的尺寸。例如,在视频编码设备100或视频解码设备200中,如果编码单元710的尺寸是64X64,则可通过使用尺寸为32X32的变换单元720来执行变换。此外,可通过对小于64X64的尺寸为32X32、16X 16、8X8和4X4的变换单元中的每一个执行变换,来对尺寸为64X64的编码单元710的数据进行编码,随后可选择具有 最小编码误差的变换单元。图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。视频编码设备100的输出单元130可对与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810和关于变换单元的尺寸的信息820进行编码和发送,以作为关于编码模式的信息。信息800指示关于通过对当前编码单元的预测单元进行划分而获得的分区的形状的信息,其中,所述分区是用于对当前编码单元进行预测编码的数据单元。例如,尺寸为2NX2N的当前编码单元CU_0可被划分为尺寸为2NX2N的分区802、尺寸为2NXN的分区804、尺寸为NX2N的分区806和尺寸为NXN的分区808中的任意一个。这里,关于分区类型的信息800被设置为指示尺寸为2NXN的分区804、尺寸为NX2N的分区806和尺寸为NXN的尺寸的分区808之一。信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧内变换单元828。视频解码设备200的图像数据和编码信息提取器220可根据每个较深层编码单元提取和使用用于解码的信息800、810和820。图9是根据本发明的实施例的根据深度的较深层编码单元的示图。划分信息可被用于指示深度的改变。划分信息指示当前深度的编码单元是否被划分为下层深度的编码单元。用于对深度为O且尺寸为2N_0X2N_0的编码单元900进行预测编码的预测单元910可包括以下分区类型的分区尺寸为2N_0X2N_0的分区类型912、尺寸为2N_0XN_0的分区类型914、尺寸为N_0X2N_0的分区类型916、尺寸为Ν_0ΧΝ_0的分区类型918。图9仅示出通过对预测单元910进行对称划分而获得的分区类型912至918,但分区类型不限于此,预测单元910的分区可包括不对称分区、具有预定形状的分区和具有几何形状的分区。根据每个分区类型,对一个尺寸为2N_0X2N_0的分区、两个尺寸为2N_0XN_0的分区、两个尺寸为N_0X2N_0的分区和四个尺寸为Ν_0ΧΝ_0的分区重复执行预测编码。可对尺寸为2N_0 X 2N_0、N_0 X 2N_0、2N_0 X N_0和N_0 X N_0的分区执行帧内模式和帧间模式下的预测编码。仅对尺寸为2N_0X2N_0的分区执行跳过模式下的预测编码。如果在分区类型912至916之一中编码误差最小,则预测单元910可不被划分到下层深度。如果在分区类型918中编码误差最小,则深度从O改变到I以在操作920对分区类型918进行划分,并对深度为2且尺寸为Ν_0ΧΝ_0的编码单元930重复执行编码,以搜
索最小编码误差。用于对深度为I且尺寸为2N_1X2N_1 (= Ν_0ΧΝ_0)的编码单元930进行预测编码的预测单元940可包括以下分区类型的分区尺寸为2N_1X2N_1的分区类型942、尺寸为2N_1XN_1的分区类型944、尺寸为N_1X2N_1的分区类型946、尺寸为N_1 XN_1的分区类型948。
如果在分区类型948中编码误差最小,则深度从I改变到2以在操作950对分区类型948进行划分,并对深度为2且尺寸为N_2XN_2的编码单元960重复执行编码,以搜
索最小编码误差。当最大深度为d时,可执行根据每个深度的划分操作,直到深度变为d-Ι,并且划分信息可被编码,直到深度为O到d-2中的一个。换句话说,当编码被执行直到在操作970与深度d-2相应的编码单元被划分之后深度为d-Ι时,用于对深度为d-Ι且尺寸为2N_(d-1) X2N_(d-l)的编码单元980进行预测编码的预测单元990可包括以下分区类型的分区尺寸为2N_(d-l) X2N_(d-l)的分区类型992、尺寸为2N_(d_l) XN_(d_l)的分区类型994、尺寸为N_(d-1) X2N_(d-l)的分区类型996、尺寸为N_(d_l) XN_(d_l)的分区类型998。可在分区类型992至998中对一个尺寸为2N_(d_l) X2N_(d_l)的分区、两个尺寸为2N_(d-l) XN_(d-l)的分区、两个尺寸为N_(d-1) X2N_(d-l)的分区、四个尺寸为N_(d-1) XN_(d-l)的分区重复执行预测编码,以搜索具有最小编码误差的分区类型。即使当分区类型998具有最小编码误差时,由于最大深度为d,因此深度为d-Ι的编码单元cu_(d-l)也不再被划分到下层深度,用于组成当前最大编码单元900的编码单元的编码深度被确定为d-Ι,当前最大编码单元900的分区类型可被确定为N_(d-1) XN_(d-1)。此外,由于最大深度为d并且具有最下层深度d-Ι的最小编码单元980不再被划分到下层深度,因此不设置最小编码单元980的划分信息。数据单元999可以为当前最大编码单元的“最小单元”。根据本发明的实施例的最小单元可以是通过将最小编码单元980划分4次而获得的正方形数据单元。通过重复执行编码,视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度以确定编码深度,并将相应的分区类型和预测模式设置为编码深度的编码模式。这样,在I至d的所有深度中比较根据深度的最小编码误差,具有最小编码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式可作为关于编码模式的信息被编码和发送。此外,由于编码单元从深度O被划分到编码深度,因此仅编码深度的划分信息被设置为0,除了编码深度之外的深度的划分信息被设置为I。视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度和预测单元的信息以对分区912进行解码。视频解码设备200可通过使用根据深度的划分信 息将划分信息为O的深度确定为编码深度,并使用关于相应深度的编码模式的信息以进行解码。图10至图12是用于描述根据本发明的实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。编码单元1010是最大编码单元中与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是编码单元1010中的每一个的预测单元的分区,变换单元1070是编码单元1010中的每一个的变换单元。当编码单元1010中的最大编码单元的深度是O时,编码单元1012和1054的深度是 1,编码单元 1014、1016、1018、1028、1050 和 1052 的深度是 2,编码单元 1020、1022、1024、1026、1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。在预测单元1060中,通过对编码单元1010中的编码单元进行划分来获得某些编码单元 1014、1016、1022、1032、1048、1050、1052 和 1054。换句话说,编码单元 1014、1022、1050和1054中的分区类型具有2NXN的尺寸,编码单元1016、1048和1052中的分区类型具有NX2N的尺寸,编码单元1032的分区类型具有NXN的尺寸。编码单元1010的预测单元和分区小于或等于每个编码单元。对小于编码单元1052的数据单元中的变换单元1070中的编码单元1052的图像数据执行变换或反变换。此外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052在尺寸和形状方面与预测单元1060中的编码单元1014、1016、1022、1032、1048,1050和1052不同。换句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据单元分别执行帧内预测、运动估计、运动补偿、变换和反变换。因此,对最大编码单元的每个区域中具有分层结构的编码单元中的每一个递归地执行编码,以确定最佳编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表I示出可由视频编码设备100和视频解码设备200设置的编码信息。表I
权利要求
1.一种对视频进行解码的方法,所述方法包括 从比特流提取关于将被解码的当前块的运动预测模式的信息; 当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,从比特流提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域; 通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿; 通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿; 通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
2.如权利要求I所述的方法,其中,执行像素单位的运动补偿的步骤包括通过使用第一参考画面的与当前块的每个像素相应的第一相应像素的水平方向梯度和垂直方向梯度、第二参考画面的与当前块的每个像素相应的第二相应像素的水平方向梯度和垂直方向梯度、以及通过使用第一参考画面和第二参考画面的像素确定的水平方向位移矢量和垂直方向位移矢量,产生当前块的每个像素的像素单位的运动补偿值。
3.如权利要求2所述的方法,其中,以这样的方式确定水平方向位移矢量和垂直方向位移矢量第一位移值和第二位移值之间的差在具有预定尺寸的窗口中是最小值,其中,通过使用水平方向位移矢量、垂直方向位移矢量、以及第一相应像素的水平方向梯度和垂直方向梯度来移动第一参考画面的第一相应像素来获得第一位移值,通过使用水平方向位移矢量、垂直方向位移矢量、以及第二相应像素的水平方向梯度和垂直方向梯度来移动第二参考画面的第二相应像素来获得第二位移值。
4.如权利要求3所述的方法,其中,当(i,j)表示被双向预测的当前块的像素的位置,其中,i和j均为整数,PO(i, j)表示第一参考画面的与被双向预测的当前块的像素相应的第一相应像素的像素值,Pl(i, j)表示第二参考画面的与被双向预测的当前块的像素相应的第二相应像素的像素值,GradXO (i, j)表示第一相应像素的水平方向梯度,GradYO (i, j)表示第一相应像素的垂直方向梯度,GradXia,j)表示第二相应像素的水平方向梯度,GradYKi, j)表示第二相应像素的垂直方向梯度,Vx表示水平方向位移矢量,Vy表示垂直方向位移矢量时, 第一位移值具有根据等式 PO (i,j)+Vx X GradXO (i, j)+Vy XGradYO (i,j)的值, 第二位移值具有根据等式 Pl (i,j)-VxXGradXKi, j)-Vy XGradYl (i,j)的值, 以这样的方式来确定水平方向位移矢量和垂直方向位移矢量第一位移值和第二位移值之间的差(Aij)是最小值。
5.如权利要求3所述方法,其中,当窗口(Ω j)具有基于被双向预测的当前块的像素的(2M+1) X (2N+1)的尺寸,其中,M和N均为整数,(i’,j’)表示在窗口中被双向预测的当前块的像素的位置,P0(i’,j’)表示第一参考画面的与被双向预测的当前块的像素相应的第一相应像素的像素值,Pl(i’,j’)表示第二参考画面的与被双向预测的当前块的像素相应的第二相应像素的像素值,GradX0(i’,j’)表示第一相应像素的水平方向梯度,GradYOa’,j’)表示第一相应像素的垂直方向梯度,GradXl (i’,j’)表示第二相应像素的水平方向梯度,GradYKi', j')表示第二相应像素的垂直方向梯度,Vx表示水平方向位移矢量,Vy表不垂直方向位移矢量时, 第一位移值具有根据等式 PO(i,,j’)+Vx X GradXO (i’,j’)+Vy XGradYO (i’,j’)的值, 第二位移值具有根据等式 Pl (i,,j')-Vx X GradXl (i,,j’)-Vy XGradYl (i,,j’)的值, 以这样的方式确定水平方向位移矢量和垂直方向位移矢量根据等式
6.如权利要求5所述的方法,其中,当根据以下的等式计算Si至s6时,
7.如权利要求5所述的方法,其中,当dO表示当前块的当前画面与第一参考画面之间的时间距离,且dl表示当前画面与第二参考画面之间的时间距离时,d=dl/dO,并且当根据以下的等式计算si至s6时,
8.如权利要求5所述的方法,其中,当q表示第一相应区域的像素和第二相应区域的像素之间的像素值的差的平均值,dO表示当前块的当前画面与第一参考画面之间的时间距离,dl表示当前画面与第二参考画面之间的时间距离时,d=dl/dO,并且当根据以下的等式计算si至s6时,
9.如权利要求2所述的方法,其中,通过计算第一相应像素和第二相应像素的水平方向上和垂直方向上的子像素位置处的像素值的改变量,确定水平方向梯度和垂直方向梯度。
10.如权利要求2所述的方法,其中,通过使用预定滤波器来计算水平方向梯度和垂直方向梯度。
11.如权利要求I所述的方法,其中,产生双向运动预测值的步骤包括iP_OpticalFlow(i, j)表示当前块的在(i, j)位置处的像素的双向运动预测值,P0(i, j)表示第一参考画面的与在当前块(i,j)位置处的像素相应的第一相应像素的像素值,GradXO (i, j)表不第一参考画面的第一相应像素的水平方向梯度,GradYO (i, j)表不第一参考画面的第一相应像素的垂直方向梯度,Pl(i, j)表示第二参考画面的与当前块的(i, j)位置处的像素相应的第二相应像素的像素值,GradXKi, j)表示第二参考画面的第二相应像素的水平方向梯度,GradYKi, j)表示第二参考画面的第二相应像素的垂直方向梯度,Vx表不水平方向位移矢量,Vy表不垂直方向位移矢量时, 通过将根据等式(PO (i, j) +Pl (i, j)) /2计算的块单位的双向运动补偿值与根据等式(VxX (GradXO (i, j)-GradXl (i, j))+VyX (GradYO (i, j)-GradYl (i, j)))/2 计算的像素单位的运动补偿值相加,来确定双向运动预测值P_0pticalFlow(i, j)。
12.如权利要求11所述的方法,还包括将通过将预定权重与像素单位的运动补偿值相乘而获得的值确定为像素单位的运动补偿值。
13.一种用于对视频进行解码的设备,所述设备包括 熵解码器,从比特流提取关于将被解码的当前块的运动预测模式的信息,当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,从比特流提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域; 块单位的运动补偿器,通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿; 像素单位的运动补偿器,通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿; 预测值产生器,通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
14.一种对视频进行编码的方法,所述方法包括 执行用于确定第一运动矢量和第二运动矢量的双向运动预测,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域; 通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿; 通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿; 通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
15.一种用于对视频进行编码的设备,所述设备包括 运动预测器,执行用于确定第一运动矢量和第二运动矢量的双向运动预测,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域; 块单位的运动补偿器,通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿; 像素单位的运动补偿器,通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿; 预测值产生器,通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
全文摘要
通过使用像素单位的双向运动补偿来对视频进行编码和解码的方法和设备。根据对视频进行编码的方法,除了对当前块执行块单位的双向运动补偿之外,还通过使用用于双向运动预测和补偿的第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿,并通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,来产生当前块的双向运动预测值。
文档编号H04N7/32GK102934444SQ201180027776
公开日2013年2月13日 申请日期2011年4月6日 优先权日2010年4月6日
发明者亚历山大·阿尔辛, 艾林娜·阿尔辛娜, 尼古拉·斯利亚科夫, 李泰美 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1