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

文档序号:7553964阅读:115来源:国知局
专利名称:对视频编码的方法和设备以及对视频解码的方法和设备的制作方法
技术领域
示例性实施例涉及对视频编码和解码,更具体地讲,涉及这样一种对视频编码和解码的方法和设备,所述方法和设备通过根据帧内预测数据单元的大小选择帧内预测模式来执行帧内预测。
背景技术
根据图像压缩标准,诸如运动图像专家组(MPEG) -1、MPEG-2, MPEG-4或H.264/MPEG4先进视频编码(AVC),画面被分割为用于视频编码的宏块。在以帧间预测编码模式和帧内预测编码模式中的任意一种对每个宏块编码之后,根据对宏块编码所需的比特率以及原始的宏块和解码的宏块之间的允许的失真来选择适当的编码模式。然后,以选择的编码模式对宏块编码。随着用于再现和存储高清晰度视频内容或高质量视频内容的硬件被开发和供应,对有效地编码或解码高清晰度视频内容或高质量视频内容的视频编解码器的需求日益增长。在传统的视频编解码器中,基于具有预定大小的宏块根据有限编码方法对视频编码。

发明内容
技术问题在传统的视频编解码器中,基于具有预定大小的宏块根据有限编码方法对视频编码。技术方案示例性实施例提供这样一种对视频编码和解码的方法和设备,所述方法和设备基于具有各种大小的分级编码单元使用具有各种指向性的帧内预测方法。有益效果根据本发明,视频编码的编码效率被提高。


图1是根据示例性实施例的对视频编码的设备的框图;图2是根据示例性实施例的对视频解码的设备的框图;图3是用于解释根据示例性实施例的编码单元的概念的示图;图4是根据示例性实施例的基于编码单元的图像编码器的框图;图5是根据示例性实施例的基于编码单元的图像解码器的框图;图6是示出根据示例性实施例的根据深度的更深的编码单元以及分块的示图;图7是用于解释根据示例性实施例的编码单元和变换单元之间的关系的示图8是用于解释根据示例性实施例的与编码的深度相应的编码单元的编码信息的示图;图9是根据示例性实施例的根据深度的更深的编码单元的示图;图10至图12是用于解释根据示例性实施例的编码单元、预测单元和变换单元之间的关系的不图;图13是用于解释根据表I的编码模式信息的编码单元、预测单元或分块和变换单兀之间的关系的不图;图14示出根据示例性实施例的根据编码单元的大小的帧内预测模式的数量;图15A至图15C是用于解释根据示例性实施例的应用于具有预定大小的编码单元的帧内预测模式的示图;图16是用于解释根据另一示例性实施例的应用于具有预定大小的编码单元的帧内预测模式的示图;图17是用于解释根据示例性实施例的具有各种方向性的帧内预测模式的参考示图;图18是用于解释根据示例性实施例的双线性模式的参考示图;图19是用于解释根据示例性实施例的产生当前编码单元的帧内预测模式的预测值的处理的示图;图20是用于解释根据示例性实施例的使具有不同大小的编码单元的帧内预测模式一致的映射处理的参考示图;图21是用于解释根据示例性实施例的将相邻编码单元的帧内预测模式映射到代表性的帧内预测模式之一的处理的参考示图;图22是根据示例性实施例的帧内预测设备的框图;图23是示出根据示例性实施例的对图像编码的方法的流程图;图24是示出根据示例性实施例的对图像解码的方法的流程图;图25是用于解释当前像素和位于具有方向性(dx,dy)的延长线上的相邻像素之间的关系的不图;图26是用于解释根据示例性实施例的位于具有方向性(dx,dy)的延长线上的相邻像素根据当前像素的位置的改变的示图;图27和图28是用于解释根据示例性实施例的确定帧内预测模式方向的方法的示图;图29是示出根据示例性实施例的将被用于帧内预测的当前编码单元和相邻像素的示图。最佳模式根据示例性实施例,提供了一种对图像编码的方法,所述方法包括:将当前画面划分为具有预定大小的至少一个块;根据将被编码的当前块的大小确定将被应用于当前块的帧内预测模式;根据确定的帧内预测模式对当前块执行帧内预测,其中,帧内预测模式包括通过使用延长线来执行预测的预测模式,所述延长线关于当前块内部的每个像素具有角度tarT1 (dy/dx) (dx 和 dy 是整数)。根据示例性实施例的另一方面,提供了一种对图像解码的方法,所述方法包括:将当前画面划分为具有预定大小的至少一个块;从比特流提取关于应用于将被解码的当前块的帧内预测模式的信息;根据提取的帧内预测模式对当前块执行帧内预测,其中,帧内预测模式包括通过使用延长线来执行预测的预测模式,所述延长线关于当前块的每个像素具有角度 tarT1 (dy/dx) (dx 和 dy 是整数)。根据示例性实施例的另一方面,提供了一种对图像编码的设备,所述设备包括:帧内预测模式确定器,根据将被编码的当前块的大小确定将被执行的帧内预测模式;帧内预测执行器,根据帧内预测模式对将被编码的当前块执行帧内预测,其中,帧内预测模式包括通过使用延长线来执行预测的预测模式,所述延长线关于当前块内部的每个像素具有角度tarT1 (dy/dx) (dx 和 dy 是整数)。根据示例性实施例的另一方面,提供了一种对图像解码的设备,所述设备包括:熵解码器,从比特流提取关于应用于将被解码的当前块的帧内预测模式的信息;帧内预测执行器,根据帧内预测模式对当前块执行帧内预测,其中,帧内预测模式包括通过使用延长线来执行预测的预测模式,所述延长线关于当前块的每个像素具有角度tan—Ydy/dx) (dx和dy是整数)。根据示例性实施例的另一方面,提供了一种在其上实现用于执行所述方法的程序的计算机可读记录介质。根据示例性实施例的另一方面,提供了一种在其上实现用于执行所述方法的程序的计算机可读记录介质。根据示例性实施例,通过沿各种方向对具有各种大小的编码单元执行帧内预测编码,可提高图像压缩效率。
具体实施例方式以下,将参照附图更全面地描述示例性实施例,示例性实施例显示在附图中。在本说明书中,根据示例性实施例,“编码单元”是在编码器侧对图像数据编码的编码数据单元和在解码器侧对编码的图像数据解码的编码的数据单元。此外,“编码深度”表示对编码单元编码的深度。此外,视频包括静止图像和运动图像。在示例性实施例中,“单元,,根据上下文可表示大小的单位,或者不表示大小的单位。首先将参照图1至图13描述根据示例性实施例的对视频编码的方法和设备以及对视频解码的方法和设备。图1是根据示例性实施例的对视频编码的设备100的框图。设备100包括最大编码单元分割器110、编码单元确定器120和输出单元130。最大编码单元分割器110可基于用于图像的当前画面的最大编码单元来分割当前画面。如果当前画面大于最大编码单元,则当前画面的图像数据可被分割为至少一个最大编码单元。根据示例性实施例的最大编码单元可以是具有32X32,64X64,128X 128、256X256等大小的数据单元,其中,数据单元的形状是具有宽度和高度为2的若干次方的正方形。根据至少一个最大编码单元,图像数据可被输出到编码单元确定器120。根据示例性实施例的编码单元可由最大大小和深度来表示特性。深度表示从最大编码单元空间分割编码单元的次数,并且随着深度加深或增大,可从最大编码单元到最小编码单元分割根据深度的更深的编码单元。最大编码单元的深度是最高的深度,最小编码单元的深度是最低的深度。因为与每个深度相应的编码单元的大小随着最大编码单元的深度加深而减小,所以与最高的深度相应的编码单元可包括与较低的深度对应的多个编码单
J Li o如上所述,当前画面的图像数据根据编码单元的最大大小被分割为多个最大编码单元,并且每个最大编码单元可包括根据深度分割的更深的编码单元。因为根据示例性实施例的最大编码单元根据深度被分割,所以包括在最大编码单元中的空域的图像数据可根据深度被分层地分类。编码单元的最大深度和最大大小可以被预先确定,所述最大深度和最大大小限制最大编码单元的高度和宽度被分层分割的总次数。编码单元确定器120对通过根据深度分割最大编码单元的区域获得的至少一个分割区域编码,并根据至少一个分割区域确定深度以输出最终编码的图像数据。换句话说,编码单元确定器120根据当前画面的最大编码单元,通过根据深度以更深的编码单元对图像数据编码来确定编码深度,并选择具有最小编码错误的深度。因此,与确定的编码深度相应的编码单元的编码的图像数据被最终输出。此外,与编码深度相应的编码单元可被视为编码的编码单元。确定的编码深度和根据确定的编码深度的编码的图像数据被输出到输出单元130。基于与等于或小于最大深度的至少一个深度相应的更深的编码单元对最大编码单元中的图像数据编码,并且基于每个更深的编码单元比较编码图像数据的结果。可在比较更深的编码单元的编码错误之后选择具有最小编码错误的深度。可为每个最大编码单元选择至少一个编码深度。随着根据深度对编码单元进行分层分割且随着编码单元的数量的增加,最大编码单元的大小被分割。另外,即使在一个最大编码单元中多个编码单元对应于相同深度,也可通过单独测量每个编码单元的图像数据的编码错误来将与相同深度对应的每个编码单元分割至更低的深度。因此,即使在图像数据被包括在一个最大编码单元中时,也根据深度将图像数据分割至多个区域,在所述一个最大编码单元中编码错误可根据区域而不同,因此,在图像数据中,编码深度可根据区域而不同。因此,可在一个最大编码单元中确定一个或多个编码深度,并可根据至少一个编码深度的编码单元对最大编码单元的图像数据进行划分。因此,编码单元确定器120可确定具有包括在最大编码单元中的树结构的编码单元。根据示例性实施例的具有树结构的编码单元包括在最大编码单元中所包括的所有更深的编码单元中与确定为编码深度的深度相应的编码单元。可在最大编码单元的相同区域中根据深度来分层确定编码深度的编码单元,并且可在不同区域中独立地确定编码深度的编码单元。类似地,当前区域中的编码深度可与另一区域中的编码深度被独立地确定。根据示例性实施例的最大深度是与从最大编码单元到最小编码单元的分割次数相关的索引。根据示例性实施例的第一最大深度可表示从最大编码单元到最小编码单元的总分割次数。根据示例性实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度为0时,最大编码单元被分割一次的编码单元的深度可被设置为1,最大编码单元被分割两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被分割四次的编码单元,则存在深度0、1、2、3和4的5个深度级,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的更深的编码单元,执行预测编码和变换。可根据正交变换或整数变换的方法来执行变换。因为每当最大编码单元根据深度被分割时更深的编码单元的数量都增加,所以对随着深度加深而产生的所有的更深的编码单元执行包括预测编码和变换的编码。为了方便描述,现在将基于最大编码单元中的当前深度的编码单元描述预测编码和变换。设备100可不同地选择用于对图像数据编码的数据单元的大小和形状。为了对图像数据编码,执行诸如预测编码、变换和熵编码的操作,并且同时,相同的数据单元可被用于所有的操作,或者不同的数据单元可被用于各个操作。例如,设备100可不仅选择用于对图像数据编码的编码单元,还可选择与编码单元不同的数据单元以对编码单元中的图像数据执行预测编码。为了以最大编码单元执行预测编码,可基于与编码深度相应的编码单元,S卩,基于不再被分割为与更低的深度相应的编码单元的编码单元,执行预测编码。以下,不再被分割并且变为用于预测编码的基本单元的编码单元现将被称为预测单元。通过分割预测单元获得的分块可包括通过分割预测单元的高度和宽度中的至少一个获得的数据单元。例如,当2NX2N (其中,N是正整数)的编码单元不再被分割并且变为2NX2N的预测单元时,所述分块的大小可以是2NX2N、2NXN、NX2N或者NXN。分块类型的示例包括通过对称地分割预测单元的高度或宽度获得的对称分块、通过非对称地分割预测单元的高度或宽度(诸如1:n或n:1)获得的分块、通过几何地分割预测单元获得的分块、以及具有任意形状的分块。编码单元的预测模式可以是帧内模式、帧间模式和跳跃模式中的至少一个。例如,可对2N X 2N、2N X N、N X 2N或N X N的分块执行帧内模式或帧间模式。另外,可仅对2N X 2N的分块执行跳跃模式。对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码错误的预测模式。设备100还可不仅基于用于对图像数据编码的编码单元,而且基于与该编码单元不同的数据单元,对编码单元中的图像数据执行变换。为了以编码单元执行变换,可基于具有小于或等于所述编码单元的大小的数据单元来执行变换。例如,用于变换的数据单元可包括针对帧内模式的数据单元和针对帧间模式的数据单元。用作变换的基础的数据单元现将被称为变换单元。指示通过分割编码单元的高度和宽度达到变换单元的分割次数的变换深度也可被设置在变换单元中。例如,在2NX2N的当前编码单元中,当变换单元的大小也为2NX2N时,变换深度可以为0 ;当当前编码单元的高度和宽度分别被分割为两个相等部分,总共被分割为41个变换单元,并且变换单元的大小因而为NXN时,变换深度可以为I ;当当前编码单元的高度和宽度分别被分割为四个相等部分,总共被分割为42个变换单元,并且变换单元的大小因而为N/2XN/2时,变换深度可以为2。例如,可根据分层树结构来设置变换单元,在分层树结构中,较高的变换深度的变换单元根据变换深度的分层特性被分割为较低的变换深度的四个变换单元。
与编码单元相似,编码单元中的变换单元可被递归地分割为更小的区域,从而可以以区域为单位独立地确定变换单元。因此,编码单元中的残差数据可根据变换深度按照具有树结构的变换被划分。根据与编码深度相应的编码单元的编码信息不仅需要关于编码深度的信息,还需要关于与预测编码和变换相关的信息。因此,编码单元确定器120不仅确定具有最小编码错误的编码深度,还确定用于预测单元中的分块类型、根据预测单元的预测模式以及用于变换的变换单元的大小。稍后将参照图3至图12详细地描述根据示例性实施例的最大编码单元中的根据树结构的编码单元以及确定分块的方法。编码单元确定器120可通过使用基于拉格朗日乘法(Lagrangian multiplier)的率失真最优化,测量根据深度的更深的编码单元的编码错误。输出单元130在比特流中输出最大编码单元的图像数据和关于根据编码深度的编码模式的信息,其中,基于由编码单元确定器120确定的至少一个编码深度对最大编码单元的图像数据编码。可通过对图像的残差数据编码来获得编码的图像数据。关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分块类型、预测模式和变换单元的大小的信息。可通过使用根据深度的分割信息定义关于编码深度的信息,所述根据深度的分割信息指示是否对更低深度而非当前深度的编码单元执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码和输出,并且因此分割信息可被定义为不将当前编码单元分割至更低深度。可选择地,如果当前编码单元的当前深度不是编码深度,则对更低深度的编码单元执行编码,并且因此分割信息可被定义为对当前编码单元进行分割以获得更低深度的编码单元。如果当前深度不是编码深度,则对被分割为更低深度的编码单元的编码单元执行编码。因为在当前深度的一个编码单元中存在更低深度的至少一个编码单元,所以对更低深度的每个编码单元重复执行编码,从而可针对具有相同深度的编码单元递归地执行编码。因为针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,所以可针对一个最大编码单元确定关于至少一个编码模式的信息。另外,因为根据深度分层地分割图像数据,所以最大编码单元的图像数据的编码深度可根据位置而不同,从而可为图像数据设置关于编码深度和编码模式的信
肩、O因此,输出单元130可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。根据示例性实施例的最小单元是通过将组成最低深度的最小编码单位划分为4份而获得的矩形数据单元。可选择地,最小单元可以是最大矩形数据单元,所述最大矩形数据单元可被包括在最大编码单元中所包括的所有编码单元、预测单元、分块单元和变换单元中。例如,通过输出单元130输出的编码信息可被分类为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息以及关于分块的大小的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息以及关于帧内模式的插值方法的信息。另外,关于根据画面、像条或GOP定义的编码单元的最大大小的信息以及关于最大深度的信息可被插入到比特流的头或SPS (序列参数集)中。在设备100中,更深的编码单元可以是通过将上层深度的编码单元的高度或宽度除以2而获得的编码单元。换句话说,在当前深度的编码单元的大小是2NX2N时,较低深度的编码单元的大小是NXN。另外,具有2NX2N的大小的当前深度的编码单元可包括最多4个较低深度的编码单元。因此,设备100可基于最大编码单元的大小和考虑当前画面的特性而确定的最大深度,通过针对每个最大编码单元确定具有最佳形状和最佳大小的编码单元,来形成具有树结构的编码单元。另外,因为可通过使用各种预测模式和变换中的任意一种来对每个最大编码单元执行编码,所以可考虑各种图像大小的编码单元的特性来确定最佳编码模式。因此,如果以传统的宏块对具有高分辨率或大数据量的图像编码,则每个画面的宏块的数量急剧增加。因此,针对每个宏块产生的压缩信息的条数增加,从而难以发送压缩信息并且数据压缩效率下降。然而,通过使用设备100,因为在考虑图像的大小而增大编码单元的最大大小的同时,考虑图像的特性调整了编码单元,所以图像压缩效率可提高。图2是根据示例性实施例的对视频解码的设备200的框图。设备200包括接收器210、图像数据和编码信息提取器220以及图像数据解码器230。用于设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元以及关于各种编码模式的信息)的定义与参照图1和设备100所描述的术语的定义相同。接收器210接收并解析已编码的视频的比特流。图像数据和编码信息提取器220从解析的比特流中提取每个编码单元的编码的图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个最大编码单元的树结构。图像数据和编码信息提取器220可从关于当前画面的头或SPS提取关于当前画面的编码单元的最大大小的信肩、O此外,图像数据和编码信息提取器220从解析的比特流提取关于编码单元的编码深度和编码模式的信息,其中,编码单元具有根据每个最大编码单元的树结构。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换句话说,比特流中的图像数据被分割为最大编码单元,从而图像数据解码器230对每个最大编码单元的图像数据解码。可针对关于与编码深度对应的至少一个编码单元的信息设置关于根据最大编码单元的编码深度和编码模式的信息,关于编码模式的信息可包括关于与编码深度对应的相应的编码单元的的分块类型的信息、关于预测模式以及变换单元的大小的信息。另外,根据深度的分割信息可被提取作为关于编码深度的信息。关于由图像数据和编码信息提取器220提取的根据每个最大编码单元的编码模式和编码深度的信息是这样的信息,即:关于被确定为当编码器(诸如设备100)根据每个最大编码单元针对根据深度的每个更深的编码单元重复执行编码时产生最小编码错误的编码深度和编码模式的信息。因此,设备200可通过根据产生最小编码错误的编码深度和编码模式对图像数据解码来恢复图像。因为关于编码深度和编码模式的编码信息可被分配给相应的编码单元、预测单元和最小单元中的预定数据单元,所以图像数据和编码信息提取器220可根据预定数据单元提取关于编码深度和编码模式的信息。被分配有相同的关于编码深度和编码模式的信息的预定数据单元可被推断为是包括在同一最大编码单元中的数据单元。图像数据解码器230通过基于关于根据最大编码单元的编码深度和编码模式的信息,对每个最大编码单元中的图像数据解码来恢复当前画面。换句话说,图像数据解码器230可基于针对包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元提取的关于分块类型、预测模式和变换单元的信息,来对编码的图像数据解码。解码处理可包括预测和逆变换,所述预测包括帧内预测和运动补偿。可根据逆正交变换或逆整数变换的方法来执行逆变换。图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的预测模式和分块类型的信息,根据每个编码单元的预测模式和分块执行帧内预测或运动补偿。此外,图像数据解码器230可基于关于根据编码深度的编码单元的变换单元的大小的信息,根据编码单元中的每个变换单元来执行逆变换,以根据最大编码单元执行逆变换。图像数据解码器230可通过使用根据深度的分割信息,确定当前最大编码单元的至少一个编码深度。如果所述分割信息指示在当前深度中不再分割图像数据,则当前深度是编码深度。因此,图像数据解码器230可通过使用关于预测单元的分块类型、预测模式、针对与编码深度相应的每个编码单元的变换单元的大小的信息,对当前最大编码单元中的与每个编码深度相应的至少一个编码单元的已编码的数据进行解码,并输出当前最大编码单元的图像数据。换句话说,可通过观察为编码单元、预测单元和最小单元中的预定数据单元分配的编码信息,聚集包含编码信息(所述编码信息包括相同的分割信息)的编码单元,并且聚集的数据单元可被考虑为一个数据单元,从而通过图像数据解码器230以相同的编码模式被解码。设备200可在对每个最大编码单元递归地执行编码时,获得关于产生最小编码错误的至少一个编码单元的信息,并且设备200可使用所述信息来对当前画面解码。换句话说,可以对在每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。此外,考虑图像数据的分辨率和数据量来确定编码单元的最大大小。因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的大小和编码模式对所述图像数据进行有效地解码和恢复,其中,通过使用从编码器接收的关于最佳编码模式的信息,根据图像数据的特性来自适应地确定编码单元的大小和编码模式。现在将参照图3至图13描述根据示例性实施例的确定具有树结构的编码单元、预测单元和变换单元的方法。图3是用于解释根据示例性实施例的编码单元的概念的示图。可以以宽度X高度来表示编码单元的大小,并且编码单元的大小可以是64X64、32X32、16X16 和 8X8。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的长轴(long axis)大小的最大编码单元,以及由于通过分割最大编码单元两次将深度加深至两层而具有32和16的长轴大小的编码单元。同时,因为视频数据330的最大深度是1,所以视频数据330的编码单元335可包括具有16的长轴大小的最大编码单元,以及由于通过分割最大编码单元一次将深度加深至一层而具有8的长轴大小的编码单元。因为视频数据320的最大深度是3,所以视频数据320的编码单元325可包括具有64的长轴大小的最大编码单元,以及由于通过分割最大编码单元三次将深度加深至3层而具有32、16和8的长轴大小的编码单元。随着深度加深,详细信息可被精确地表示。图4是根据示例性实施例的基于编码单元的图像编码器400的框图。图像编码器400执行设备100的编码单元确定器120的操作,以对图像数据编码。换句话说,在当前帧405中,帧内预测器410在帧内模式下对编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495,在当前帧405中,在帧间模式下对编码单元执行帧间估计和运动补偿。从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过逆量化器460和逆变换器470被恢复为在空域中的数据,并且空域中的恢复的数据在通过去块单元480和循环滤波器490进行后处理之后,被输出为参考帧495。量化的变换系数可通过熵编码器450被输出为比特流455。为了在设备100中应用图像编码器400,图像编码器400的所有部件(S卩,帧内预测器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之后执行的操作。为了在设备200中应用图像解码器500,图像解码器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、大小为16X16且深度为2的编码单元630、大小为8X8且深度为3的编码单元640、大小为4X4且深度为4的编码单元650。大小为4X4且深度为4的编码单元650是最小编码单元。编码单元的预测单元和分块根据每个深度沿横轴排列。换句话说,如果大小为64X64且深度为0的编码单元610是预测单元,则预测单元可被分割为包括在编码单元610中的分块,即,大小为64X64的分块610、大小为64X32的分块612、大小为32X64的分块614以及大小为32X32的分块616。类似地,大小为32X32且深度为I的编码单元620的预测单元可被分割为包括在编码单元620中的分块,即,大小为32X32的分块620、大小为32 X 16的分块622、大小为16X32的分块624以及大小为16X16的分块626。类似地,大小为16X 16且深度为2的编码单元630的预测单元可被分割为包括在编码单元630中的分块,即,包括在编码单元630中的大小为16X16的分块、大小为16X8的分块632、大小为8X 16的分块634以及大小为8X8的分块636。类似地,大小为8X8且深度为3的编码单元640的预测单元可被分割为包括在编码单元640中的分块,即,包括在编码单元640中的大小为8X8的分块、大小为8X4的分块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来执行变换。此外,可通过对大小为小于64X 64的32 X 32、16 X 16、8 X 8以及4X4的每个变换单元执行变换来对大小为64X64的编码单元710的数据编码,随后可选择具有最小编码错误的变换单元。图8是用于解释根据示例性实施例的与编码的深度相应的编码单元的编码信息的示图。设备100的输出单元130可对关于分块类型的信息800、关于预测模式的信息810和关于与编码深度相应的每个编码单元的变换单元的大小的信息820进行编码和发送,作为关于编码模式的信息。信息800指示通过分割当前编码单元的预测单元获得的分块的形状的信息,其中,所述分块是用于对当前编码单元进行预测编码的数据单元。例如,大小为2NX2N的当前编码单元CU_0可被分割为大小为2NX2N的分块802、大小为2NXN的分块804、大小为NX 2N的分块806以及大小为NXN的分块808中的任意一个。这里,关于分块类型的信息800被设置为指示大小为2NXN的分块804、大小为NX 2N的分块806以及大小为NXN的分块808中的一个。信息810指示每个分块的预测模式。例如,信息810可指示对由信息800指示的分块执行的预测编码的模式,即,帧内模式812、帧间模式814或跳跃模式816。信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间变换单元828。设备200的图像数据和编码信息提取器220可提取并使用信息800、810和820以
进行解码。图9是根据示例性实施例的根据深度的更深的编码单元的示图。分割信息可被用于指示深度的改变。分割信息指示当前深度的编码单元是否被分割成更低深度的编码单元。用于对深度为0且大小为2N_0X2N_0的编码单元900进行预测编码的预测单元910可包括大小为2N_0X2N_0的分块类型912的分块、大小为2N_0XN_0的分块类型914的分块、大小为N_0X2N_0的分块类型916的分块以及大小为N_0XN_0的分块类型918的分块。图9仅示出了通过对称地分割预测单元910获得的分块类型912至918,但是分块类型不限于此,并且预测单元910的分块可包括非对称的分块、具有预定形状的分块和具有几何形状的分块。根据每个分块类型,对大小为2N_0X2N_0的一个分块、大小为2N_0XN_0的两个分块、大小为N_0X2N_0的两个分块以及大小为N_0XN_0的四个分块重复执行预测编码。可对大小为2N_0X2N_0、N_0X2N_0、2N_0XN_0以及N_0XN_0的分块执行帧内模式和帧间模式下的预测编码。可仅对大小为2N_0X2N_0的分块执行跳跃模式下的预测编码。比较包括分块类型912至分块类型918中的预测编码的编码的错误,并在分块类型中确定最小编码错误。如果在分块类型912至分块类型916中的一个分块类型中编码错误最小,则预测单元910可以不被分割至更低的深度。如果在分块类型918中编码错误最小,则深度从0改变至I以在操作920中分割分块类型918,并可针对深度为2且大小为N_0 XN_0的编码单元930重复执行编码,以搜索
最小编码错误。用于对深度为I且大小为2N_1X2N_1 (=N_0XN_0)的编码单元930进行预测编码的预测单元940可包括大小为2N_1 X 2N_1的分块类型942的分块、大小为2N_1 XN_1的分块类型944的分块、大小为N_1 X 2N_1的分块类型946的分块以及大小为N_1 XN_1的分块类型948的分块。如果在分块类型948中编码错误最小,则深度从I改变至2以在操作950中分割分块类型948,并且针对深度为2且大小为N_2 XN_2的编码单元960重复执行编码,以搜索
最小编码错误。当最大深度是d时,根据每个深度的分割操作可被执行,直到深度变为d-1为止,并且分割信息可被编码,直到深度为0至d-2为止。换句话说,在操作970中将与深度为d-2相应的编码单元分割之后,当执行编码直到深度为d-1时,用于对深度为d-1且大小为2N_(d-l) X2N_(d-l)的编码单元980进行预测编码的预测单元990可包括大小为2N_(d-1) X2N_(d-l)的分块类型992的分块、大小为2N_(d-l) XN_(d_l)的分块类型994的分块、大小为1 (d-1) X2N_(d-l)的分块类型996的分块以及大小为N_ (d-1) 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-1的编码单元CU_(d-l)也不再被分割至更低深度,构成当前最大编码单元900的编码单元的编码深度被确定为d-1,并且编码单元900的分块类型可被确定为N_(d-1) XN_(d-l)。此外,因为最大深度为d,并且具有最低深度d-1的最小编码单元980不再被分割至更低深度,所以不设置用于编码单元980的分割信息。数据单元999可以是用于当前最大编码单元的最小单元。根据示例性实施例的最小单元可以是通过将最小编码单元980分割为4份而获得的矩形数据单元。通过重复地执行编码,设备100可通过比较根据编码单元900的深度的编码错误来选择具有最小编码错误的深度以确定编码深度,并且可将相应的分块类型和预测模式设置为编码深度的编码模式。因此,在所有深度I至d中比较根据深度的最小编码错误,并且具有最小编码错误的深度可被确定为编码深度。编码深度、预测单元的分块类型和预测模式可被编码和发送,作为关于编码模式的信息。此外,因为从深度0至编码深度来分割编码单元,所以只有编码深度的分割信息被设置为0,并且除了编码深度之外的深度的分割信息被设置为I。设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度以及预测单元的信息,以对分块912解码。设备200可通过使用根据深度的分割信息将分割信息为0的深度确定为编码深度,并且可使用关于相应深度的编码模式的信息进行解码。图10至图12是用于解释根据示例性实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。编码单元1010是最大编码单元中的、与由设备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 中,一些编码单元 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中的编码单元在大小和形状上不同。换句话说,设备100和设备200可分别对相同编码单元中的数据单元执行帧内预测、运动估计、运动补偿、变换和逆变换。因此,对每个编码单元递归地执行编码以确定最佳编码单元,从而可获得具有递归树结构的编码单元,其中,每个编码单元在最大编码单元的每个区域中具有分层结构。编码信息可包括关于编码单元的分割信息、关于分块类型的信息、关于预测模式的信息以及关于变换单元的大小的信息。表I示出了可由设备100和设备200设置的编码信息。[表I]
权利要求
1.一种对图像解码的方法,所述方法包括: 从比特流提取指示应用于将被解码的当前块的帧内预测模式的信息; 根据由提取的信息指示的帧内预测模式对当前块执行帧内预测, 其中,帧内预测模式指示用于位于当前块的位置(i,j)的当前像素的帧内预测,其中,i和j是整数,帧内预测包括: 确定第一先前块的左方相邻像素和第二先前块的上方相邻像素之一,第一先前块与当前块的左侧相邻并且在当前块之前被解码,第二先前块与当前块的上侧相邻并且在当前块之前被解码,左方相邻像素基于作为使用2的幂的除法运算的移位运算j*dy n被确定,上方相邻像素基于作为使用2的幂的除法运算的移位运算i*dx>>m被确定,其中,dx、dy、m和n是整数; 使用确定的左方相邻像素和上方相邻像素之一执行帧内预测, 其中,基于深度信息通过分层分割作为具有最大大小的编码单元的最大编码单元获得当前块, 其中,深度信息指示最大编码单元被分割的次数。
2.根据权利要求1的方法,其中,通过使用通过当前像素延长的线来确定左方相邻像素和上方相邻像素之一,所述线关于当前像素具有tan—Hdy/dx)角度。
3.根据权利要求1所述的方法,其中,m和n是5,dx和dy是-32、-26、-21、-17、-13、-9`、-5、-2、0、2、5、9、13、17、21、26 和 32 之一。
全文摘要
公开了一种对视频编码的方法和设备以及一种对视频解码的方法和设备,其中,用于对将被编码的当前块执行帧内预测的相邻像素被过滤,并且通过使用过滤的相邻像素来执行帧内预测。
文档编号H04N7/50GK103179403SQ201310096270
公开日2013年6月26日 申请日期2010年8月17日 优先权日2009年8月17日
发明者宋学燮, 闵正惠 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1