用于使用帧内预测进行图像编码和解码的方法和设备与流程

文档序号:14943030发布日期:2018-07-13 21:33阅读:155来源:国知局
本发明涉及图像的编码和解码,更具体地,涉及一种用于图像的帧内预测编码和帧内预测解码的方法和设备,其中,通过使用各种方向和新的帧内预测模式提高了图像的压缩效率。
背景技术
:在图像压缩方法(诸如,运动图像专家组(mpeg)-1、mpeg-2、mpeg-4或h.264/mpeg-4先进的视频编码(avc))中,为了对图像进行编码,画面被划分为宏块。按照所有编码模式(其中,所有编码模式可被用于帧间预测或帧内预测)对每个宏块进行编码,并随后按照根据用于对宏块进行编码的比特率和基于原始宏块的解码宏块的失真程度来选择的编码模式对每个宏块进行编码。随着用于再现和存储高分辨率或高质量视频内容的硬件的发展和提供,对于能够有效对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需要日益增加。在传统的视频编解码器中,以每个具有预定尺寸的宏块为单位对视频进行编码。技术实现要素:本发明的技术目标本发明提供一种用于图像的帧内预测编码和帧内预测解码的方法和设备,其中,经由使用与当前预测单元邻近的像素的新的帧内预测方法,来根据图像特征提高了编码效率。实现本发明目标的方法本发明还提供一种使用与当前预测单元邻近的像素的新的帧内预测模式。有益效果根据本发明的一个或多个方面,通过经由使用邻近像素的各种帧内预测方法,根据图像特征来应用最优帧内预测方法,图像的编码效率可被提高。附图说明图1是示出根据本发明的实施例的用于对视频进行编码的设备的框图;图2是示出根据本发明的实施例的用于对视频进行解码的设备的框图;图3是用于描述根据本发明的实施例的编码单元的构思的示图;图4是示出根据本发明的实施例的基于编码单元的图像编码器的框图;图5是示出根据本发明的实施例的基于编码单元的图像解码器的框图;图6是示出根据本发明的实施例的根据深度的更深层编码单元和分区的更深层编码单元的示图;图7是用于描述根据本发明的实施例的编码单元和变换单元之间的关系的示图;图8是用于描述据本发明的实施例的与编码深度相应的编码单元的编码信息的示图;图9是示出根据本发明的实施例的根据深度的更深层编码单元的示图;图10至图12是用于描述根据本发明的实施例的编码单元、预测单元和变换单元之间的关系的示图;图13是用于描述根据表1的编码模式信息的编码单元、预测单元和变换单元之间的关系的示图;图14是示出根据本发明的实施例的根据预测单元的尺寸的帧内预测模式的数量的表格;图15是用于描述根据本发明的实施例的具有各种方向的帧内预测模式的参考示图;图16是用于描述根据本发明的实施例的当前像素和具有(dx,dy)的方向性的延长线上的邻近像素之间的关系的示图;图17和图18是示出根据本发明的实施例的帧内预测模式方向的示图;图19是用于示出本发明的实施例的具有33个方向性的帧内预测模式的方向;图20a和图20b是用于描述根据本发明的实施例的平面模式的示图;图21是示出根据本发明的实施例的在当前预测单元周围滤波的邻近像素的示图;图22是用于描述邻近像素的滤波处理的参考示图;图23是示出根据本发明的实施例的根据平面模式的帧内预测方法的流程图。最佳模式根据本发明的一方面,提供一种对图像进行帧内预测的方法,所述方法包括:通过使用位于当前预测单元的右上侧的至少一个邻近像素,来获取位于与当前预测单元的当前预测像素相同行上同时与位于当前预测单元的最右侧的像素相应的第一虚拟像素;通过使用位于当前预测单元的左下侧的至少一个邻近像素,来获取位于与当前预测像素相同列上同时与位于当前预测单元最下侧的像素相应的第二虚拟像素;经由使用第一虚拟像素和与当前预测像素相同行上的邻近左侧像素的线性插值获取当前预测像素的第一预测值;经由使用第二虚拟像素和与当前预测像素相同列上的邻近上侧像素的线性插值获取当前预测像素的第二预测值;通过使用第一预测值和第二预测值获取当前预测像素的预测值。根据本发明的另一方面,提供一种用于对图像进行帧内预测的设备,所述设备包括:帧内预测器,用于通过使用位于当前预测单元的右上侧的至少一个邻近像素,来获取位于与当前预测单元的当前预测像素相同行上同时与位于当前预测单元的最右侧的像素相应的第一虚拟像素,通过使用位于当前预测单元的左下侧的至少一个邻近像素,来获取位于与当前预测像素相同列上同时与位于当前预测单元最下侧的像素相应的第二虚拟像素,经由使用第一虚拟像素和与当前预测像素相同行上的邻近左侧像素的线性插值获取当前预测像素的第一预测值,经由使用第二虚拟像素和与当前预测像素相同列上的邻近上侧像素的线性插值获取当前预测像素的第二预测值,通过使用第一预测值和第二预测值获取当前预测像素的预测值。具体实施方式以下,将参照示出本发明的示例性实施例的附图更充分地描述本发明。图1是示出根据本发明的实施例的视频编码设备100的框图。视频编码设备100包括最大编码单元划分器110、编码单元确定器120和输出单元130。最大编码单元划分器110可基于用于图像的当前画面的最大编码单元,来对当前画面进行划分。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个最大编码单元。根据本发明的实施例的最大编码单元可以是具有32×32、64×64、128×128或256×256等尺寸的数据单元,其中,数据单元的形状是具有宽度和长度为2的幂次方的正方形。图像数据可根据所述至少一个最大编码单元被输出到编码单元确定器120。根据本发明的实施例的编码单元特点在于最大尺寸和深度。深度表示编码单元从最大编码单元空间划分的次数,并且随着深度加深,根据深度的更深层编码单元可从最大编码单元被划分为最小编码单元。最大编码单元的深度是最更高深度,最小编码单元的深度是最更低深度。由于随着最大编码单元的深度加深,与每个深度相应的编码单元的尺寸减小,因此与更高深度相应的编码单元可包括多个与更低深度相应的编码单元。如上所述,当前画面的图像数据根据编码单元的最大尺寸被划分为最大编码单元,并且每个最大编码单元可包括根据深度被划分的更深层编码单元。由于根据深度对根据本发明的实施例的最大编码单元进行划分,因此包括在最大编码单元中的空间域的图像数据可根据深度分层划分。可预先确定编码单元的最大深度和最大尺寸,所述最大深度和最大尺寸限制对最大编码单元的高度和宽度进行分层划分的次数。编码单元确定器120对通过根据深度对最大编码单元的区域进行划分而获取的至少一个划分区域进行编码,并且根据所述至少一个划分区域来确定最终编码结果将被输出的深度。也就是说,编码单元确定器120根据当前画面的每个最大编码单元,根据深度对根据更深层编码单元的图像数据进行编码,选择具有最小编码误差的深度。确定的编码深度和根据确定的编码深度的图像数据被输出到输出单元130。基于与等于或低于最大深度的至少一个深度相应的更深层编码单元对在最大编码单元中的图像数据进行编码,并且基于每个更深层编码单元中的每一个将对图像数据进行编码的结果进行比较。在将更深层编码单元的编码误差进行比较之后,可选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。随着编码单元根据深度而被分层划分,并且随着编码单元的数量增加,最大编码单元的尺寸被划分。另外,即使在一个编码单元中编码单元相应于相同的深度,也通过分别测量每个编码单元的图像数据的编码误差来确定是否将与相同的深度相应的每个编码单元划分为更低深度。因此,即使当图像数据被包括在一个最大编码单元中时,由于编码误差可根据一个最大编码单元中的区域而不同,因此编码深度可根据在图像数据中的区域而不同。因此,在一个最大编码单元中可确定一个或多个编码的深度,并且可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。因此,编码单元确定器120可确定具有包括在当前最大编码单元中的树结构的编码单元。根据本发明的实施例的“具有树结构的编码单元”包括与具有从包括在当前最大编码单元中的所有更深层编码单元中确定的编码深度的深度相应的编码单元。可根据在最大编码单元中的相同区域中的深度来分层确定编码深度的编码单元。类似地,可与另一区域的编码深度独立地确定当前区域的编码深度。根据本发明的实施例的最大深度是关于从最大编码单元到最小编码单元的划分次数的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元的总划分次数。根据本发明实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度等级的总数量。例如,当最大编码单元的深度是0时,通过对最大编码单元进行一次划分的编码单元的深度可被设置为1,通过对最大编码单元进行两次划分的编码单元的深度可被设置为2。这里,如果最小编码单元是通过对最大编码单元进行四次划分的编码单元,深度0、1、2、3和4的深度等级存在,并且因此第一最大深度可被设置为4,并且第二最大深度可被设置为5。可根据最大编码单元执行预测编码和变换。还根据每个最大编码单元,基于根据深度等于或小于最大深度的更深层编码单元,来执行预测编码和变换。由于无论何时根据深度对最大编码单元进行划分,更深层编码单元的数量均增加,因此对所有随着深度加深产生的更深层编码单元执行包括预测编码和变换的编码。为了方便描述,将基于最大编码单元中的当前深度的编码单元来描述预测编码和变换。视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸和形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,同时,相同的数据单元可被用于所有操作,或者不同数据单元可被用于不同操作。例如,视频编码设备100可不仅选择用于对图像数据进行编码的编码单元,还可选择不同于编码单元的数据单元,以对在编码单元中的图像数据执行预测编码。为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,不再划分到与较低层深度相应的编码单元的编码单元)来执行预测编码。以下,不再划分且成为用于预测编码的基本单元的编码单元被称为“预测单元”。通过划分预测单元获取的分区可包括预测单元和通过对预测单元的高度和宽度中的至少一个进行划分而获取的数据单元。例如,当2n×2n(n是正整数)的尺寸的编码单元不再被划分并成为2n×2n的预测单元时,分区的尺寸可以是2n×2n、n×n、n×2n或n×n。分区类型的示例可包括通过对预测单元的高度和宽度进行对称地划分而获取的对称分区、通过对预测单元的高度和宽度进行非对称地划分(诸如,按照1:n或n:1)而获取的分区、通过对预测单元进行几何地划分而获取的分区、以及具有任意形状的分区。预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可对2n×2n、2n×n、n×2n或n×n的分区执行帧内模式和帧间模式。另外,可仅对2n×2n的分区执行跳过模式。可对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。视频编码设备100还可不仅基于用于对图像数据进行编码的编码单元,还基于不同于编码单元的数据单元,对编码单元中的图像数据执行变换。为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的数据单元可包括帧间模式的数据单元和帧内模式的数据单元。用作变换的基础的数据单元现在可被称为“变换单元”。与编码单元相似,在编码单元中的变换单元可被递归地划分为更小尺寸的区域,使得可以以区域为单元独立地确定变换单元。因此,可根据具有基于变换深度的树结构的变换单元对编码单元的残差数据进行划分。还可在变换单元中设置变换深度,所述变换深度指示通过对编码单元的高度和宽度进行划分而到达变换单元的划分次数。例如,在2n×2n的当前编码单元中,当变换单元的尺寸是2n×2n时,变换深度可以是0,当变换单元的尺寸是n×n时,变换深度可以是0,当变换单元的尺寸是n×n时,变换深度可以是1,并且当变换单元的尺寸是n/2×n/2时,变换深度可以是2。换言之,可根据变换深度设置具有树结构的变换单元。根据与编码深度相应的编码单元的编码信息不仅需要关于编码深度的信息,还需要关于与预测编码和变换相关的信息。因此,编码单元确定器120不仅确定确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式和用于变换的变换单元的尺寸。稍后将参照图3到图12详细解释根据本发明的实施例的最大编码单元中的根据树结构的编码单元和确定分区的方法。编码单元确定器120可通过使用基于拉格朗日乘数的率失真优化,来测量更深层编码单元的编码误差。图像数据输出单元130在比特流中输出最大编码单元的图像数据和关于根据编码深度的编码模式的信息,其中,所述最大编码单元的图像数据基于由编码单元确定器120确定的所述至少一个编码深度被编码。可通过对图像的残差数据进行编码而获取编码图像数据。关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于在预测单元中的分区类型的信息、关于预测模式的信息和关于变换单元的大小的信息。可通过使用指示是否对较低层深度而不是当前深度的编码单元执行编码的根据深度的划分信息来定义关于编码深度的信息。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码和输出,因此划分信息可被定义为不将当前编码单元划分到较低层深度。可选择地,如果当前编码单元的当前深度不是编码深度,对较低层深度的编码单元执行编码,因此划分信息可被定义为对当前编码单元进行划分来获取较低层深度的编码单元。如果当前深度不是编码深度,则对被划分为较低层深度的编码单元执行编码。由于较低层深度的至少一个编码单元存在于当前深度的一个编码单元中,因此可对较低层深度的每个编码单元重复执行编码,并因此可对具有相同深度的编码单元递归地执行编码。由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,所以可针对一个最大编码单元确定关于至少一个编码模式的信息。另外,由于可根据深度分层地对最大编码单元的图像数据进行划分,并因此最大编码单元的图像数据的编码深度可根据位置而不同,因此可针对图像数据设置关于编码深度和编码模式的信息。因此,输出单元130可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。根据本发明的实施例的最小单元是通过将构成最低层深度的最小编码单元划分4次而获取正方形数据单元。可选择地,最小单元可以是可被包括在最大编码单元中所包括的所有编码单元、预测单元和变换单元中的最大正方形数据单元中。例如,通过输出单元130输出的编码信息可被分类为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区的尺寸的信息。关于预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息,以及关于帧内模式的插值方法的信息。另外,根据画面、像条或gop定义的关于编码单元的最大尺寸的信息和关于最大深度的信息可被插入比特流的头部。根据视频编码设备100中,更深层编码单元可以是通过将作为上一层的更高深度的编码单元的高度或宽度除以二而获取的编码单元。换言之,当当前深度的编码单元的尺寸是2n×2n时,较低层深度的编码单元的尺寸是n×n。另外,当前深度的具有2n×2n的尺寸的编码单元可包括最多4个较低层深度的编码单元。因此,视频编码设备100可通过基于考虑当前画面的特点而确定的最大编码单元的尺寸和最大深度,针对每个最大编码单元确定具有最优形状和最优尺寸的编码单元来形成具有树结构的编码单元。另外,由于可通过使用任意不同预测模式和变换对每个最大编码单元执行编码,因此可考虑不同图像尺寸的编码单元的特点来确定最优编码模式。因此,如果按照传统宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块的数量极度增加。因此,针对每个宏块产生的压缩信息的条数增加,因此难以发送压缩的信息,并且数据压缩效率降低。然而,通过使用视频编码设备100,由于在考虑图像的特点时,在增加编码单元的最大尺寸时,在考虑图像的尺寸时调整编码单元,所以可提高图像压缩效率。图2是根据本发明的实施例的视频解码设备200的框图。视频解码设备200包括接收器210、图像数据和编码信息提取器220和图像数据解码器230。用于视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照图1和视频编码设备100的描述相同。接收器210接收和解析编码视频的比特流。图像数据和编码信息提取器220针对从解析的比特流提取用于每个编码单元的编码图像数据,并将提取的图像数据输出到图像数据解码器230,其中,所述编码单元具有根据每个最大编码单元的树结构。图像数据和编码信息提取器220可从关于当前画面的头提取当前画面的编码单元的最大尺寸的信息。另外,图像数据和编码信息提取器220从解析的比特流提取关于用于具有根据每个最大编码单元的树结构的编码单元的编码深度和编码模式的信息。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换言之,比特流中的图像数据被划分为最大编码单元,使得图像数据解码器230针对每个最大编码单元对图像数据进行解码。可针对关于与编码深度相应的至少一个编码单元的信息设置关于根据最大编码单元的编码深度和编码模式的信息,关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。另外,根据深度的划分信息可被提取为关于编码深度的信息。由图像数据和编码信息提取器220提取的关于根据每个最大编码单元的编码深度和编码模式的信息是关于编码深度和编码模式的信息,其中,所述编码深度和编码模式被确定为在编码端(诸如,设备100)通过重复对根据最大编码单元的每个更深层编码单元重复执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对数据进行解码来恢复图像。由于关于编码深度和编码模式的编码信息可被分配给相应的编码单元、预测单元和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可根据预定数据单元提取关于编码深度和编码模式的信息。如果根据预定数据单元记录了关于相应的最大编码单元的编码深度和编码模式的信息,则分配了关于编码深度和编码模式的相同信息的预定数据单元可被推断为是包括在相同的最大编码单元中的数据单元。图像数据解码器230通过基于关于根据最大编码单元的编码深度和编码模式的信息对每个最大编码单元中的图像数据进行解码来恢复当前画面。换言之,图像数据解码器230可基于提取的关于包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元的分区类型、预测模式和变换单元的信息,对编码的图像数据进行解码。解码处理可包括包含帧内预测和运动补偿的预测和反变换。编码数据解码器230可基于关于根据编码深度的编码单元的预测单元的分区类型预测模式的信息,根据每个编码单元的每个分区和预测模式,执行帧内预测或运动补偿。另外,图像数据解码器230可基于关于根据编码深度的编码单元的变换单元的尺寸的信息,根据编码单元中的每个变换单元来执行反变换,以执行根据最大编码单元的反变换。图像数据解码器器230可通过使用根据每个深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息指示图像数据在当前深度中不再划分,则当前深度是编码深度。因此,图像数据解码器230可通过使用关于与编码深度相应的每个编码单元的预测单元的分区类型、预测模式和变换单元的尺寸的信息,对与当前最大编码单元中的每个编码深度相应的至少一个编码单元的编码数据进行解码。换言之,可通过观察分配给编码单元、预测单元和最小单元中的预定数据单元的编码信息来收集包含包括相同划分信息的编码信息的数据单元,并且收集的数据单元可被认为是将由图像数据解码器230按照相同编码模式进行解码的一个数据单元。视频解码设备200可获取关于当递归地对每个最大编码单元执行编码时产生最小编码误差的编码单元的信息,并且可使用所述信息来对当前画面进行解码。换言之,确定为每个最大编码单元中的最优编码单元的具有树结构的编码单元的可被解码。因此,即使图像数据具有高分辨率或大数据量,也可通过使用从编码器接收的关于最优编码模式的信息,使用根据图像的特点而自适应确定的编码单元的尺寸和编码模式来有效地解码和恢复图像数据。现在将参照图3到图13详细描述确定具有树结构的编码单元、预测单元和变换单元的方法。图3是用于描述根据本发明的实施例的编码单元的概念的示图。编码单元的尺寸可被表示为宽×高,并可以是64×64、32×32、16×16和8×8。64×64的编码单元可被划分为64×64、64×32、32×64和32×32的分区,32×32的编码单元可被划分为32×32、32×16、16×32和16×16的分区,16×16的编码单元可被划分为16×16、16×8、8×16和8×8的分区,8×8的编码单元可被划分为8×8、8×4、4×8和4×4的分区。在视频数据310中,分辨率是1920×1080,编码单元的最大尺寸是64,最大深度是2。在视频数据320中,分辨率是1920×1080,编码单元的最大尺寸是64,最大深度是3。在视频数据330中,分辨率是352×288,编码单元的最大尺寸是16,最大深度是1。图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对帧间模式的编码单元执行帧间预测和运动补偿。从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过反量化器460和反变换器470被恢复为空间域中的数据,恢复的空间域中的数据在通过去块滤波单元408和环路滤波单元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对帧间模式的编码单元执行运动补偿。通过帧内预测器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,尺寸(即,长乘宽)是64×64。沿着纵轴深度加深,存在具有32×32的尺寸和1的深度的编码单元620、具有16×16的尺寸和2的深度的编码单元630和具有8×8的尺寸和3的深度的编码单元640和具有4×4的尺寸和4的深度的编码单元650。具有4×4的尺寸和4的深度的编码单元650是最小编码单元。根据每个深度沿着横轴布置编码单元的预测单元和分区。换句话说,如果具有64×64的尺寸和0的深度的编码单元610是预测单元,则预测单元可被划分为包括在编码单元610中的分区,即,具有64×64的尺寸的分区610、具有64×32的尺寸的分区612、具有32×64的尺寸的分区614或具有32×32的尺寸的分区616。相似地,具有32×32的尺寸和1的深度的编码单元620的预测单元可被划分为包括在编码单元620中的分区,即,具有32×32的尺寸的分区620、具有32×16的尺寸的分区622、具有16×32的尺寸的分区624和具有16×16的尺寸的分区626。相似地,具有16×16的尺寸和2的深度的编码单元630的预测单元可被划分为包括在编码单元630中的分区,即包括在编码单元630中的16×16的尺寸的分区、具有16×8的尺寸的分区632、具有8×16的尺寸的分区634和具有8×8的尺寸的分区636。类似地,具有8×8的尺寸和3的深度的编码单元640的预测单元可被划分为包括在编码单元640中的分区,即包括在编码单元640中的8×8的尺寸的分区、具有8×4的尺寸的分区642、具有4×8的尺寸的分区644和具有4×4的尺寸的分区646。具有4×4的尺寸和4的深度的编码单元650是最小编码单元和最低层深度的编码单元。编码单元650的预测单元仅被分配给具有4×4的尺寸的分区。为了确定构成最大编码单元610的编码单元的至少一个编码深度,视频编码设备100的编码单元确定器120对与包括在最大编码单元610中的与每个深度相应的编码单元执行编码。根据深度的包括在相同范围和相同尺寸的更深层编码单元的数量随着深度加深而增加。例如,与2的深度相应的四个编码单元被要求覆盖包括在与1的深度相应的一个编码单元中的数据。因此,为了比较根据深度的相同数据的编码结果,与1的深度相应的编码单元和与2的深度相应的四个编码单元均被编码。为了针对多个深度中的当前深度执行编码,可通过沿着分层结构600的横轴,对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度选择最小编码误差。可选择地,可通过随着深度沿着分层结构600的纵轴加深对每个深度执行编码来比较根据深度的最小编码误差,来搜索最小编码误差。在编码单元610中的具有最小编码误差的深度和分区可被选择为编码单元610的编码深度和分区类型。图7是用于描述根据本发明的实施例的编码单元710的变换单元720之间的关系的示图。视频编码设备100或视频解码设备200针对每个最大编码单元根据具有小于或等于最大编码单元的尺寸的编码单元对图像进行编码或解码。可基于不大于相应的编码单元的数据单元来选择用于在编码期间变换的变换单元的尺寸。例如,在视频编码设备100或视频解码设备200中,如果编码单元710的尺寸是64×64,则可通过使用具有32×32的尺寸的变换单元720来执行变换。另外,可通过对具有小于64×64的32×32、16×16、8×8和4×4的尺寸的每个变换单元执行变换来对具有64×64的尺寸的编码单元710的数据进行编码,并随后选择具有最小编码误差的变换单元。图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。视频编码设备100的输出单元130可对与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810和关于变换单元的尺寸的信息820进行编码并发送为关于编码模式的信息。信息800指示关于通过对当前编码单元的预测单元进行划分而获取的分区的形状的信息,其中,所述分区作为用于对当前编码单元进行预测编码的数据单元。例如,具有2n×2n的尺寸的当前编码单元cu_0可被划分为具有2n×2n的尺寸的分区802、具有2n×n的尺寸的分区804、具有n×2n的尺寸的分区806和具有n×n的尺寸的分区808中的任意一个。这里,关于分区类型的信息800被设置为指示具有2n×n的尺寸的分区804、具有n×2n的尺寸的分区806和具有n×n的尺寸的分区808中的一个。信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行预测编码的模式(即,帧内模式812、帧间模式814或跳过模式816)。信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间变换单元828。视频解码设备200的图像数据和编码信息提取器220可根据每个更深层编码单元提取并使用用于编码的信息800、信息810和信息820。图9是示出根据本发明的实施例的根据深度的更深层编码单元的示图。划分信息可被用于指示深度的变化。划分信息指示当前深度的编码单元是否被划分为更低深度的编码单元。用于对具有0的深度和2n_0×2n_0的尺寸的编码单元900进行预测编码的预测单元910可包括具有2n_0×2n_0的尺寸的分区类型912、具有2n_0×n_0的尺寸的分区类型914、具有n_0×2n_0的尺寸的分区类型916和具有n_0×n_0的尺寸的分区类型918的分区。图9仅示出通过对预测单元910进行对称划分而获取的分区类型912至918,但是分区类型并不限于此,并且预测单元910的分区可包括非对称分区、具有预定形状的分区或具有几何形状的分区。根据每个划分类型对具有2n_0×2n_0的尺寸的一个分区、具有2n_0×n_0的尺寸的两个分区、具有n_0×2n_0的尺寸的两个分区和具有n_0×n_0的尺寸的四个分区重复执行预测编码。可对具有2n_0×2n_0、n_0×2n_0、2n_0×n_0和n_0×n_0的尺寸的分区执行帧内模式和帧间模式的预测编码。仅对具有2n_0×2n_0的尺寸的分区执行跳过模式的预测编码。如果编码误差在分区类型912至916中的一个中是最小的,则预测单元910可划分至较低层深度。如果编码误差在划分类型918中是最小的,则在操作920中,深度从0被改变为1来对分区类型918进行划分,对具有2的深度和n_0×n_0的尺寸的编码单元930重复执行编码来搜索最小编码误差。用于对具有1的深度和2n_1×2n_1(=n_0×n_0)的尺寸的编码单元930执行预测编码的预测单元940可包括具有2n_1×2n_1的尺寸的分区类型942、具有2n_1×n_1的尺寸的分区类型944、具有n_1×2n_1的尺寸的分区类型946和具有n_1×n_1的分区类型948的分区。如果编码误差在分区类型948中是最小的,则在操作950中,深度从1改变为2来对分区类型948进行划分,并且对具有2的深度和n_2×n_2的尺寸的编码单元960重复执行编码来搜索最小编码误差。当最大深度是d时,根据每个深度的划分信息可被执行直到深度变为d-1位置,并且划分信息可被编码直到深度变为d-2为止。也就是说,在操作970中,在与d-2的深度相应的编码单元被划分之后,当编码被执行直到深度是d-1时,用于对具有d-1的深度和2n_(d-1)×2n_(d-1)的尺寸的编码单元980执行预测编码的预测单元990可包括具有2n_(d-1)×2n_(d-1)的尺寸的分区类型992、具有2n_(d-1)×n_(d-1)的尺寸的分区类型994、具有n_(d-1)×2n_(d-1)的尺寸的分区类型996和具有n_(d-1)×n_(d-1)的尺寸的分区类型998。可对分区类型992至998中的具有2n_(d-1)×2n_(d-1)的尺寸的一个分区、具有2n_(d-1)×n_(d-1)的尺寸的两个分区和具有n_(d-1)×n_(d-1)的尺寸的四个分区重复执行预测编码,来搜索具有最小编码误差的分区类型。即使分区类型998具有最小编码误差,但是由于最大深度是d,因此具有d-1的深度的编码单元cu_(d-1)不再被划分至更低深度,并且构成当前最大编码单元900的编码单元的编码深度可被确定为d-1,当前最大编码单元900的分区类型可被确定为n_(d-1)×n_(d-1)。另外,由于最大深度是d,并且具有d-1的最低深度的最小编码单元980不再划分为更低深度,因此不再设置用于最小编码单元980的划分信息。数据单元999可以是当前最大编码单元的“最小单元”。根据本发明的实施例的最小单元可以是通过将最小编码单元划分为4个而获取的正方形数据单元。通过重复执行编码,视频编码设备100可通过对根据编码单元900的深度的编码误差进行比较,选择产生最小编码误差的深度,来确定编码深度,并且将相应的分区类型和预测模式设置为编码深度的编码模式。这样,可在1至d的所有深度中比较根据深度的最小编码误差,并且具有最小编码误差的深度可被确定为编码深度。预测单元的编码深度、分区类型和预测模式可被编码并发送为关于编码模式的信息。另外,由于编码单元从0的深度到编码深度被划分,因此仅编码深度的划分信息被设置为0,并且根据除了编码深度以外的深度的划分信息被设置为“1”。视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度和预测单元的信息信息来对分区类型912进行解码。视频解码设备200可通过使用根据深度的划分信息将划分信息是“0”的深度确定为编码深度,并且使用关于相应的深度的编码模式的信息,来进行解码。图10至图12是用于描述根据本发明的实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。编码单元1010是最大编码单元1000中的与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是每个编码单元1010的预测单元的分区,变换单元1070是每个编码单元1010的变换单元。当编码单元1010中最大编码单元的深度是0时,编码单元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中的分区类型具有2n×n的尺寸,编码单元1016、1048和1052的分区类型具有n×2n的尺寸,编码单元1032的分区类型具有n×n的尺寸。编码单元1010的预测单元和分区小于或等于每个编码单元。对小于编码单元1052的数据单元中的变换单元1070中的编码单元1052的图像数据执行变换或反变换。另外,在尺寸和形状方面,变换单元1070中的变换单元1014、1016、1022、1032、1048、1050和1052不同于预测单元1060中的变换单元。换句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据单元独立地执行帧内预测、运动估计、运动补偿、变换和反变换。因此,由于通过对最大编码单元的每个区域中的具有分层结构的编码单元递归地执行编码来确定最优编码单元,因此可获取具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表1示出可由视频编码设备100和视频解码设备200设置的编码信息。表1视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的图像数据和编码信息提取单元220可从接收到的比特流中提取关于具有树结构的编码单元的编码信息。划分信息指示当前编码单元是否被划分为较低层深度的编码单元。如果d的当前深度的划分信息是0,则由于不再被划分为更低编码单元的当前编码单元的深度是编码深度,因此可针对编码深度定义关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。如果当前编码单元根据划分信息需要进一步被划分时,对较低层深度的4个划分编码单元独立地执行编码。预测模式可以是帧内模式、帧间模式和跳过模式中的一个。可在所有分区类型中定义帧内模式和帧间模式,可仅在具有2n×2n的尺寸的分区类型中定义跳过模式。关于分区类型的信息可指示通过对称地对预测单元的高和宽进行划分而获取的具有2n×2n、2n×n、n×2n和n×n的尺寸的对称分区类型,和通过非对称地对预测单元的高或宽进行划分而获取的具有2n×nu、2n×nd、nl×2n和nr×2n的尺寸的非对称分区类型。通过按照1:3和3:1对高进行划分分别获取具有2n×nu和2n×nd的尺寸的非对称分区类型,通过按照1:3和3:1对宽进行划分而分别获取的具有nl×2n和nr×2n的尺寸的非对称分区类型。变换单元的尺寸可被设置为帧内模式下的两种类型,和帧间模式下的两种类型。也就是说,如果关于变换单元的划分信息是0,则变换单元的尺寸被设置为作为当前编码单元的尺寸的2n×2n。如果变换单元的划分信息是1,则可通过对当前编码单元进行划分来获取变换单元。另外,如果具有2n×2n的尺寸的当前编码单元的分区类型是非对称分区类型,则变换单元的尺寸可以是n×n,如果当前编码单元的分区类型是对称分区类型,则变换单元的尺寸可以是n/2×n/2。具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一个。与编码深度相应的编码单元可包括包含相同编码信息的预测单元和最小单元中的至少一个。因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否被包括在与编码深度相应的相同编码单元中。另外,由于通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,因此可确定在最大编码单元中的编码深度的分布。因此,如果基于邻近数据单元的编码信息预测当前编码单元,则可直接参照并使用与当前编码单元邻近的更深层编码单元中的数据单元的编码信息。可选择地,如果基于邻近编码单元的编码信息预测当前编码单元,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,搜索的邻近编码单元可被参考用于预测当前编码单元。图13是用于描述根据表1的编码模式信息的编码单元、预测单元或分区和变换单元之间的关系的示图。最大编码单元1300包括编码深度的编码单元1302、编码单元1304、编码单元1306、编码单元1312、编码单元1314、编码单元1316和编码单元1318。这里,由于编码单元1318是编码深度的编码单元,因此划分信息可被设置为0。具有2n×2n的尺寸的编码单元1318的分区类型信息可被设置为具有2n×2n的尺寸的分区类型1322、具有2n×n的尺寸的分区类型1324、具有n×2n的尺寸的分区类型1326、具有n×n的尺寸的分区类型1328、具有2n×nu的尺寸的分区类型1332、具有2n×nd的尺寸的分区类型1334、具有nl×2n的尺寸的分区类型1336和具有nr×2n的尺寸的分区类型1338中的一个。当分区类型被设置为对称(即,分区类型1322、具有2n×n的尺寸的分区类型1324、1326或1328)时,如果变换单元的划分信息(tu尺寸标记)是0,则具有2n×2n的尺寸的变换类型1342被设置,如果变换单元的划分信息是1,则具有n×n的尺寸的变换单元1344被设置。当分区类型被设置为非对称(即,分区类型1332、1334、1366或1338)时,如果tu尺寸标记是0,则具有2n×2n的尺寸的变换单元1352可被设置,如果tu尺寸标记是1,则具有n/2×n/2的尺寸的变换单元1354被设置。以下,将详细描述由图4的视频编码设备100的帧内预测器410和图5的视频解码设备200的帧内预测器550对预测单元执行的帧内预测。帧内预测器410和550执行通过使用当前预测单元的邻近像素来执行用于获取当前预测单元的预测因子的帧内预测。考虑预测单元具有等于或大于16×16的尺寸,帧内预测器410和550使用(dx,dy)参数以及根据相关技术的具有有限方向性的帧内预测模式额外地执行具有不同方向性的帧内预测模式。将稍后详细描述根据本发明的实施例的具有不同方向性的帧内预测模式。此外,为了获取当前像素的预测因子,帧内预测器410和550可经由沿着当前像素的水平方向的线性插值产生预测因子p1,经由沿着当前像素的垂直方向的线性插值产生预测因子p2,并将预测因子p1和p2的平均值用作当前像素的预测因子。通过组合经由沿水平方向的线性插值和沿垂直方向的线性差值获取的预测因子来产生当前像素的预测因子的帧内预测模式被定义为平坦模式。具体地,帧内预测器410和550通过使用位于当前预测单元右上侧的至少一个邻近像素来产生用于沿水平方向的线性插值的虚拟像素,并通过使用位于平坦模式中的当前预测单元左下侧的至少一个邻近像素来产生用于沿着垂直方向的线性插值的虚拟像素。将稍后描述根据本发明的实施例的平坦模式。图14是示出根据本发明的实施例的根据预测单元的尺寸的帧内预测模式的数量的表格。帧内预测器410和550可不同地设置将应用于根据预测单元的尺寸的预测单元的帧内预测模式的数量。例如,参照图14,在示例2中,当将被帧内预测的预测单元的尺寸是n×n时,则对具有2×2、4×4、8×8、16×16、32×32、64×64和128×128尺寸的预测单元实际执行的帧内预测模式的数量可分别被设置为5、9、9、17、33和5。因为用于对预测模式信息进行编码的开销根据预测单元的尺寸而不同,所以实际执行的帧内预测模式的数量根据预测单元的尺寸而不同。换句话说,即使占据整个图像的预测单元的部分小,但是用于发送附加信息(诸如,这样的小预测单元的预测模式)的开销可以是大的。因此,当以很多预测模式对具有小的尺寸的预测单元进行编码时,比特的数量会增加,并因此压缩效率会降低。另外,由于具有大的尺寸的预测单元(例如,具有等于或大于64×64的尺寸的预测单元)一般地被主要选择为图像的平坦单元的预测单元,因此在很多预测模式下,在对主要选为对平坦区域进行编码的具有大尺寸的预测单元进行编码的压缩效率方面会不足。因此,当预测单元的尺寸相比于预定尺寸过大或过小时,仅可应用相对少量的帧内预测模式。然而,根据预测单元的尺寸应用的帧内预测模式的数量不限于图14,并且可不同。根据如图14所示的预测单元的尺寸应用的帧内预测模式的数量仅是示例,并且可不同。可选择地,无论预测单元的尺寸如何,应用于预测单元的帧内预测模式的数量可总是统一的。如帧内预测模式应用于预测单元,帧内预测器410和550可包括这样的帧内模式:通过使用基于在预测单元中的像素具有预定角度的线并使用确定的邻近参考像素作为像素的预测因子来确定邻近参考像素。可通过使用参数(dx,dy)(其中,dx和dy均是整数)设置这样的线的角度。例如,当33个预测模式被定义为模式n(其中,n是从0到32的整数)时,模式0被设置为垂直模式、模式1被设置为水平模式、模式2被设置为dc模式、模式3被设置为平面模式,模式32被设置为平坦模式。另外,模式4至模式31可被定义为这样的帧内模式:通过使用具有tan-1(dy/dx)的方向性的线并且使用用于帧内预测的确定的邻近参考像素来确定邻近参考像素,其中,tan-1(dy/dx)使用的(dx,dy)被分别表示为表1的(1,-1)、(1,1)、(1,2)、(2,1)、(1,-2)、(2,1)、(1,-2)、(2,-1)、(2,-11)、(5,-7)、(10,-7)、(11,3)、(4,3)、(1,11)、(1,-1)、(12,-3)、(1,-11)、(1,-7)、(3,-10)、(5,-6)、(7,-6)、(7,-4)、(11,1)、(6,1)、(8,3)、(5,3)、(5,7)、(2,7)、(5,-7)和(4,-3)。表2帧内预测器410和550使用的帧内预测模式的数量不限于表2,并可基于当前预测单元是色度分量还是亮度分量或基于当前预测单元的尺寸变化。另外,每个模式n可表示不同于上述的帧内预测模式。例如,帧内预测模式的数量可以是36,其中,模式0是稍后描述的平坦模式,模式1是dc模式,模式2至34是具有稍后描述的33种方向性的帧内预测模式,并且模式35是使用与色度分量中的预测单元相应的亮度分量中的预测单元的帧内预测模式intra_fromluma。模式35(即,使用与色度分量中的预测单元相应的亮度分量中的预测单元的帧内预测模式intra_fromluma)仅被应用于色度分量中的预测单元,并且不被用于对亮度分量中的预测单元进行帧内预测。图15是用于描述根据本发明的实施例的具有各种方向性的帧内预测模式的参考示图。如上所述,帧内预测器410和550可通过使用由多个(dx,dy)参数确定的具有tan-1(dy/dx)的角度的线来确定邻近参考像素,并通过使用确定的邻近参考像素来执行帧内预测。参照图15,位于基于当前预测单元中的将被预测的当前像素p的延长线150上的邻近像素a和邻近像素b可被用作当前像素p的预测因子,其中,所述延长线150具有根据符合表2的帧内预测模式的值确定的tan-1(dy/dx)的角度。这里,用作预测因子的邻近像素可以是先前预测单元的像素,所述先前预测单元被预编码和预恢复,并位于当前编码单元的上侧、左侧、左上或右下。这样,通过执行根据具有各种方向性的帧内预测模式的预测编码,压缩可根据图像的特征被有效地执行。在图15中,当通过使用位于延长线150上或接近延长线150的邻近像素产生了当前像素p的预测因子时,延长线150实际具有tan-1(dy/dx)的方向性,并且需要(dx,dy)的除法来确定使用延长线150的邻近像素,因此硬件或软件可包括小数点操作,从而增加计算量。因此,当通过使用(dy,dx)参数设置了用于选择参考像素的预测方向时,dx和dy可被设置以减少计算量。图16是用于描述根据本发明的实施例的当前像素和布置在具有(dx,dy)的方向性的延长线上的邻近像素之间的关系的示图。参照图16,p1610表示位于(j,i)的当前像素,a1611和b1612分别表示位于穿过当前像素p1610的具有方向性(即,tan-1(dy/dx)的角度)的延长线上的邻近上侧像素和邻近左侧像素。假设包括当前像素p1610的预测单元的尺寸是ns×ns(其中,ns是正整数),预测单元的像素的位置是从(0,0)到(ns-1,ns-1)中的一个,x轴上的邻近上侧像素a1611的位置是(m,-1)(其中,m是整数),y轴上的邻近左侧像素b1612的位置是(-1,n)(其中,n是整数)。与穿过当前像素p1610的延长线相遇的邻近上侧像素a1611的位置是(j+i×dx/dy,-1),邻近左侧像素b1612的位置是(-1,i+j×dy/dx)。因此,为了确定邻近上侧像素a1611或邻近左侧像素b1612来预测当前像素p1610,需要诸如dx/dy或dy/dx的除法运算。如上所述,由于除法运算的运算复杂度高,因此软件或硬件中的运算速度会降低。因此,表示用于确定邻近像素的预测模式的方向性的dx和dy中的至少一个的值可被确定为是2的指数幂。也就是,当n和m是整数时,dx和dy可分别是2^n和2^m。当邻近左侧像素b1612被用作当前像素p1610的预测因子并且dx具有2^n的值时,确定(-1,i+j×dy/dx)(即,邻近左侧像素b1612的位置)所需要的j×dy/dx运算可以是(i×dy)/(2^n),并且可通过移位运算(诸如(i×dy)>>n)实现使用2的指数幂的除法运算,从而减少计算量。类似地,当邻近上侧像素a1611被用作当前像素p1610的预测因子,并且dy具有2^m的值时,确定(j+i×dx/dy,-1)(即,邻近上侧像素a1611的位置)的所需要的i×dx/dy运算可以是(i×dx)/(2^m),可通过移位运算(诸如,(i×dx)>>m)来实现使用2的指数幂的除法运算。图17和图18是示出根据本发明的实施例的帧内预测模式的方向的示图。一般地,在图像或视频信号中的线性模式主要是垂直或水平的。因此,当通过使用(dx,dy)参数定义具有不同方向性的帧内预测模式时,通过如下定义dx和dy的值可提高图像的编码效率。详细地,当dy具有2^m的固定值时,可设置dx的绝对值,使得接近垂直方向的预测方向之间的间隔窄,并且预测模式之间的间隔朝向接近水平方向的预测方向增加。例如,参照图17,当dy是2^5(即,32)时,dx可被设置为2、5、9、13、17、21、26、32、-2、-5、-9、-13、-17、-21、-26和-32,使得接近垂直方向的预测方向之间的间隔相对窄,并且预测模式之间的间隔朝向接近水平方向的预测方向增加。类似地,当dx具有2^n的固定值时,可设置dy的绝对值,使得接近水平方向的预测方向之间的间隔窄,预测模式之间的间隔朝向接近垂直方向的预测方向增加。例如,参照图18,当dx是2^5(即,32)时,dy可被设置为2、5、9、13、17、21、26、32、-2、-5、-9、-13、-17、-21、-26和-32,使得接近水平方向的预测方向之间的间隔相对窄,预测模式之间的间隔朝向接近垂直方向的预测方向增加。另外,当dx和dy中的一个被固定时,另一值可被设置为根据预测模式增加。例如,当dy的值被固定时,dx的值之间的间隔可被设置为根据预定值增加。可根据在水平方向和垂直方向之间划分的角度设置这样的增量。例如,当dy被固定时,dx可具有垂直轴的角度小于15°的区间中的增量a、角度在15°和30°之间的区间中的增量b、以及角度大于30°的区间中的增量c。例如,具有使用(dx,dy)的tan-1(dy/dx)的方向性的预测模式可由表3到表5中示出的(dx,dy)参数定义。表3表4dxdydxdydxdy-323219323210-253225323214-193232323219-143232-253225-103232-193232-63232-14-33232-10-13232-603232-313232-133232063232110323231432326表5如上所述,使用(dx,dy)参数的帧内预测模式使用邻近左侧像素(-1,i+j×dy/dx)或邻近上侧像素(j+i×dx/dy,-1)作为位于(j,i)的像素的预测因子。如表2中所示,当dx和dy的值中的至少一个具有2的指数幂时,无需使用除法运算,可仅通过乘法和移位运算获取邻近左侧像素的位置(-1,i+j×dy/dx)和邻近上侧像素的位置(j+i×dx/dy,-1)。当表2所示的(dx,dy)中的dx是2^n(即,32)时,由于使用dx的除法可被右移运算代替,因此无需除法运算,可基于(i×dy)>>n获取邻近左侧像素的位置。相似地,当如表2所示的(dx,dy)中的dy是2^m(即,32)时,由于使用2^m的除法运算可被右移运算代替,因此可无需除法运算,基于(i×dx)>>m可获取邻近上侧像素的位置。图19是用于描述根据本发明的实施例的具有33种方向性的帧内预测模式的方向的示图。帧内预测器410和550可根据如图19中所示的具有33种方向性的帧内预测模式,确定将被用作当前像素的预测因子的邻近像素。如上所述,帧内模式的方向可被设置,使得预测模式之间的间隔朝向水平或垂直方向减少,并远离垂直或水平方向增加。图20a和图20b是用于描述根据本发明的实施例的平坦模式的示图。如上所述,在平坦模式下,帧内预测器410和550通过使用位于当前预测单元右上侧的至少一个邻近像素来产生在沿水平方向的线性插值中使用的虚拟像素,通过使用位于当前预测单元的左下侧的至少一个邻近像素来产生在沿垂直方向的线性插值中使用的虚拟像素。另外,帧内预测器410和550通过使用经由使用虚拟像素和邻近像素沿水平和垂直方向的线性插值产生的两个预测因子的平均值来产生当前像素的预测值。参照图20a,帧内预测器410和550通过使用当前预测单元2010右上侧的至少一个邻近像素2020,获取位于与当前预测单元2010中的当前预测像素2011相同行上并与位于当前预测单元2010的最远右侧的像素相应的第一虚拟像素2012。用于获取第一虚拟像素2012的邻近像素2020的数量可被预先确定。例如,帧内预测器410和550可将通过使用作为最初的两个右上侧邻近像素的t12021和t22022的平均值或加权平均值产生的值确定为第一虚拟像素2012。另外,帧内预测器410和550可基于当前预测单元2010的尺寸,确定用于获取第一虚拟像素2012的邻近像素2020的数量。例如,当当前预测单元2010的尺寸是ns×ns(其中,ns是整数)时,帧内预测器410和550可从用于获取第一虚拟像素2012的邻近像素2020中选择ns/(2^m)(其中,m是满足2^m不高于ns的条件的整数)右上侧邻近像素,并通过选择的右上侧邻近像素的平均值或加权平均值获取第一虚拟像素2012。换句话说,帧内预测器410和550可从邻近像素2020中选择ns/2、ns/4、ns/8等像素。例如,当当前预测单元2010的尺寸是32×32时,帧内预测器410和550可选择32/2、32/4、32/8、32/16、32/32,即,1至16右上侧邻近像素。相似地,参照图20b,帧内预测器410和550通过使用位于当前预测单元2011左下侧的至少一个邻近像素2030,获取位于与当前预测单元2010中的当前预测像素相同列上并与位于当前预测单元2010下方最远的像素相应的第二虚拟像素2014。用于获取第一虚拟像素2014的邻近像素2030的数量可被预先确定。例如,可将通过使用作为最初的两个左下侧邻近像素的l12031和l22032的平均值或加权平均值产生的值确定为第二虚拟像素2014。另外,帧内预测器410和550可基于当前预测单元2010的尺寸,确定用于获取第二虚拟像素2014的邻近像素2030的数量。如上所述,当当前预测单元2010的尺寸是ns×ns(其中,ns是整数)时,帧内预测器410和550可从用于获取第二虚拟像素2014的邻近像素2030中选择ns/(2^m)(其中,m是满足2^m不高于ns的条件的整数)左下侧邻近像素,并通过选择的左下侧邻近像素的平均值或加权平均值获取第二虚拟像素2014。同时,如果邻近像素2020由于被包括在当前预测单元2010之后被编码的预测单元中而不可使用,则帧内预测器410和550可使用刚好在邻近像素2020左边的像素t0作为第一虚拟像素2012。另一方面,如果邻近像素2030因为被包括在当前预测单元2010之后被编码的预测单元中而不可使用,则帧内预测器410和550可使用刚好在邻近像素2030的上边像素l0作为第二虚拟像素2014。返回参照图20a,考虑当前预测像素2011和从邻近像素2020获取的第一虚拟像素2012之间的距离以及当前预测像素2011和与当前预测像素2011在相同行上的邻近左侧像素2013之间的距离,帧内预测器410和550通过使用以上距离的几何平均值执行线性插值来产生当前预测像素2011的第一预测值p1。当邻近左侧像素2013的像素值是rec(-1,y)时,位于(ns-1,y)的第一虚拟像素2012的像素值为t(其中t是实数),当前预测像素2011的预测值是p(x,y),其中x,y=0至ns-1,其中(x,y)表示当前预测单元2010的当前预测像素2011的位置,rec(x,y)表示当前预测单元2010的邻近像素,其中(x,y=-1至2×ns-1),第一预测值p1(x,y)可根据等式p1(x,y)=(ns-1-x)×rec(-1,y)+(x+1)×t。这里,(ns-1-x)与当前预测像素2011和第一虚拟像素2012之间的距离相应,并且(x+1)与当前预测像素2011和邻近左侧像素2013之间的距离相应。这样,帧内预测器410和550通过使用第一虚拟像素2012和当前预测像素2011之间的距离、当前预测像素2011和与当前预测像素2011在相同行上的邻近左侧像素2013之间的距离、第一虚拟像素2012的像素值以及邻近左侧像素2013的像素值的线性插值来产生第一预测值p1。返回参照图20b,考虑当前预测像素2011和从邻近像素2030获取的第二虚拟像素2014之间的距离以及当前预测像素2011和与当前预测像素2011在相同列上的邻近上侧像素2015之间的距离,帧内预测器410和550通过使用以上距离的几何平均值执行线性插值来产生当前预测像素2011的第二预测值p2。当邻近上侧像素2015的像素值是rec(x,-1)时,位于(x,ns-1)的第二虚拟像素2014的像素值为l(其中l是实数),当前预测像素2011的预测值是p(x,y),其中x,y=0至ns-1,其中(x,y)表示当前预测单元2010的当前预测像素2011的位置,rec(x,y)表示当前预测单元2010的邻近像素,其中(x,y=-1至2×ns-1),可根据等式p2(x,y)=(ns-1-y)×rec(x,-1)+(y+1)×l来获得第二预测值p2(x,y)。这里,(ns-1-y)与当前预测像素2011和第二虚拟像素2014之间的距离相应,并且(y+1)与当前预测像素2011和邻近上侧像素2015之间的距离相应。这样,帧内预测器410和550通过使用第二虚拟像素2014和当前预测像素2011之间的距离、当前预测像素2011和与当前预测像素2011在相同列上的邻近上侧像素2015之间的距离、第二虚拟像素2014的像素值和邻近上侧像素2015的像素值的线性插值来产生第二预测值p2。这样,当经由水平和垂直方向的线性插值获取了第一预测值p1(x,y)和第二预测值p2(x,y)时,帧内预测器410和550通过使用第一预测值p1(x,y)和第二预测值p2(x,y)的平均值来获取当前预测像素2011的预测值p(x,y)。详细地,帧内预测器410和550可通过使用等式p(x,y)={p1(x,y)+p2(x,y)+ns}>>(k+1)来获取当前预测像素2011的预测值p(x,y),其中k是log2ns。可选择地,帧内预测器410和550可通过使用滤波的邻近右上侧像素和滤波的邻近左下侧像素,而不是使用邻近右上侧像素和邻近左下侧像素本身,来获取第一虚拟像素和第二虚拟像素。图21是示出根据本发明的实施例的在当前预测单元2100周围的被滤波的邻近像素2110和2120。参照图21,帧内预测器410和550通过对被当前帧内预测的当前预测单元2100上方的x邻近像素2110和当前预测单元2100的左侧的y邻近像素2120执行至少一次滤波来产生滤波的邻近像素。这里,当当前预测单元2100的尺寸是ns×ns时,x可以是2ns并且y可以为2ns。当contextorg[n]表示具有ns×ns尺寸的当前预测单元2100的上方和左侧的x+y原始邻近像素,其中n是从0至x+y-1的整数,在邻近左侧像素中的邻近最下侧像素中n是0,(即,contextorg[0]),并且在邻近上侧像素中的邻近最右侧像素中n是x+y-1,(即,contextorg[x+y-1])。图22是用于描述邻近像素的滤波处理的参考示图。参照图22,当contextorg[n]表示当前预测单元的上侧和左侧的原始邻近像素,其中,n是从0到为4ns-1的整数,原始邻近像素可经由原始邻近像素之间的加权平均值被滤波。当contextfiltered1[n]表示一次滤波的邻近像素时,通过对原始邻近像素应用3抽头滤波器的邻近像素contextorg[n]可根据等式contextfiltered1[n]=(contextorg[n-1]+2×contextorg[n]+contextorg[n+1])/4被获取。类似地,两次滤波的邻近像素contextfiltered2[n]可通过再次计算一次滤波的邻近像素contextfiltered1[n]之间的加权平均值来产生。例如,通过对滤波的邻近像素应用3抽头滤波器滤波的邻近像素可根据等式contextfiltered2[n]=(contextfiltered1[n-1]+2×contextfiltered1[n]+contextfiltered1[n+1])/4来产生。可选择地,可通过使用各种方法中的任意一个对邻近像素滤波,并随后如上所述,帧内预测器410和550可从至少一个邻近滤波的右上侧像素获得第一虚拟像素,从至少一个邻近滤波的左下侧像素获取第二虚拟像素,并随后经由如上所述的线性差值产生当前像素的预测值。邻近滤波像素的使用可基于当前预测单元的尺寸被确定。例如,仅当当前预测单元的尺寸等于或大于16×16时,邻近滤波的像素可被使用。图23是根据本发明的实施例的根据平坦模式的帧内预测方法的流程图。在操作2310,帧内预测器410和550通过使用位于当前预测单元的右上侧的至少一个邻近像素来获取位于与当前预测单元的当前预测像素相同行上并与位于当前预测单元的最右侧的像素相应的第二虚拟像素。如上所述,用于获取第一虚拟像素的邻近像素的数量可被预确定,或基于当前预测单元的尺寸被确定。在操作2320,帧内预测器410和550通过使用位于当前预测单元的左下侧的至少一个邻近像素来获取位于与当前预测像素相同行上并与位于当前预测像素的最下侧的像素相应的第一虚拟像素。如上所述,用于获取第二虚拟像素的邻近像素的数量可被预确定,或基于当前预测单元的尺寸被确定。在操作2330,帧内预测器410和550经由使用第一虚拟像素和位于与当前预测像素的相同行上的邻近左侧像素的线性插值来获取当前预测像素的第一预测值。如上所述,当当前预测像素的位置是(x,y)时,其中,x和y均是从0至ns-1,当前预测单元的邻近像素是rec(x,y),其中x和y均是从-1到2×ns-1,邻近左侧像素的像素值是rec(-1,y),位于(ns-1,y)的第一虚拟像素的像素值为t,其中t是实数,当前预测像素的预测值是p(x,y),其中x和y均是从0到ns-1,可根据等式p1(x,y)=(ns-1-x)×rec(-1,y)+(x+1)×t来获取第一预测值p1(x,y)。在操作2340,帧内预测器410和550使用第二虚拟像素和位于与当前预测像素相同列上的邻近上侧像素的线性插值来获取当前预测像素的第二预测值。当邻近上侧像素的像素值是rec(x,-1)并且位于(x,ns-1)的第二虚拟像素的像素值为l时,其中l是实数,可根据等式p2(x,y)=(ns-1-y)×rec(x,-1)+(y+1)×l获取第二预测值p2(x,y)。在操作2350,帧内预测器410和550通过使用第一和第二预测值来获取当前预测像素的预测值。如上所述,当第一预测值p1(x,y)和第二预测值p2(x,y)经由沿水平和垂直方向的线性插值被获取时,帧内预测器410和550通过使用第一p1(x,y)和第二预测值p2(x,y)的平均值来获取当前预测的像素的预测值p(x,y)。详细地,帧内预测器410和550可根据等式p(x,y)={p1(x,y)+p2(x,y)+ns}>>(k+1)来获取预测值p(x,y),其中,k是log2ns。根据本发明的一个或多个实施例,通过经由使用邻近像素的各种帧内预测,应用根据图像特征的最优帧内预测方法可提高图像的编码效率。本发明的实施例可被编写为计算机程序,并可被实现为通过使用计算机可读记录介质执行程序的通用数字计算机。计算机可读记录介质的示例包括磁存储介质(例如,rom、软盘、硬盘等)、光学记录介质(例如,cd-rom或dvd)以及存储介质。虽然参照本发明的优选实施例具体地示出和描述了本发明,但是本领域的普通技术人员将理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可在其中进行各种形式和细节的改变。优选实施例应该仅被认为是描述性的意义而不是为了限制的目的。因此,本发明的范围不是由本发明的详细描述限定,而是由权利要求限定,并且所述范围内的所有差别将被解释为包括在本发明中。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1