图像编码方法及装置以及其解码方法及装置转让专利

申请号 : CN201410203600.8

文献号 : CN104053003B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 埃琳娜·阿尔辛娜亚历山大·阿尔辛范迪姆·谢廖金尼古拉·斯利亚科夫马克西姆·高罗替夫

申请人 : 三星电子株式会社

摘要 :

公开一种生成针对将要编码的当前编码单位的第一预测编码单位,且利用构成第一预测编码单位的各像素和至少一个周边像素来变更各像素的像素值,由此生成第二预测编码单位,并且对当前编码单位与第二预测解码单位的差值进行编码,由此提高预测效率的图像编码方法及装置、以及其解码方法及装置。

权利要求 :

1.一种用于对图像进行解码的设备,所述设备包括:

熵解码器,从比特流获得分割信息;

分割器,通过根据分割信息分割最大编码单位,来确定包括在最大编码单位中的至少一个编码单位,并通过将当前编码单位分割至至少一个预测单位来确定当前编码单位的预测单位;

预测器,通过使用当前预测单位的相邻像素来获得当前预测单位的第一预测值,并通过使用获得的第一预测值和至少一个相邻像素,来获得当前预测单位中的位于当前预测单位的上侧边界和左侧边界的像素的第二预测值;

其中,通过使用获得的第一预测值和所述至少一个相邻像素的加权平均值,获得当前预测单位中的位于当前预测单位的上侧边界和左侧边界的像素的第二预测值,其中,当前预测单位的左上侧像素的第二预测值通过使用位于与所述左上侧像素相同列的第一相邻像素和位于与所述左上侧像素相同行的第二相邻像素而获得,其中,图像根据关于编码单位的最大尺寸的信息而被分割为多个最大编码单位,最大编码单位根据分割信息被层级分割为根据深度的一个或更多个编码单位,当前深度k的编码单位是从下位深度(k-1)的编码单位分割的矩形数据单位之一,其中,k为整数,当分割信息指示针对当前深度k进行分割时,当前深度k的编码单位与相邻编码单位独立地被分割至上位深度(k+1)的编码单位,当分割信息指示针对当前深度k不进行分割时,至少一个预测单位从当前深度k的编码单位被获得。

说明书 :

图像编码方法及装置以及其解码方法及装置

[0001] 本申请是申请日为2009年7月2日、申请号为200980134680.3发明名称为“图像编码方法及装置以及其解码方法及装置”的发明专利申请的分案申请。

技术领域

[0002] 本发明涉及通过被预测的图像数据的后处理来提高图像压缩效率的图像编码方法及装置以及其解码方法及装置。

背景技术

[0003] 在如MPEG-1,MPEG-2,MPEG-4,H.264/MPEG-4AVC(Advanced Video Coding)的图像压缩方式中,为了对图像进行编码,将一个图片分为宏块。并且,在可应用于帧间预测(inter prediction)和帧内预测(intra prediction)的所有编码模式中对每个宏块进行编码之后,根据宏块的编码所需的比特率和原宏块与经解码的宏块之间的失真度来选择一个编码模式,以对宏块进行编码。
[0004] 随着对可再现、存储高分辨率或高画质视频内容的硬件的开发和普及,对高分辨率或者高画质视频内容进行编码或解码的视频编解码器(Codec)的需求性逐渐变大。根据现有的视频编解码器,视频根据基于预定大小的宏块而被限制的预测模式被编码。

附图说明

[0005] 图1为根据本发明一实施例的图像编码装置的方框图;
[0006] 图2示出根据本发明一实施例的图像解码装置的方块图;
[0007] 图3示出根据本发明一实施例的层级编码单位;
[0008] 图4示出根据本发明一实施例的基于编码单位的图像编码部的方块图;
[0009] 图5示出根据本发明一实施例的基于编码单位的图像解码部的方块图;
[0010] 图6为示出根据本发明一实施例的按深度(deeper)的编码单位和预测单位;
[0011] 图7示出根据本发明一实施例的编码单位以及变换单位的关系;
[0012] 图8示出根据本发明一实施例的按深度的编码信息;
[0013] 图9示出根据本发明一实施例的按深度的编码单位;
[0014] 图10a和图10b示出根据本发明一实施例的编码单位、预测单位以及频率变换单位的关系;
[0015] 图11示出根据本发明一实施例的按编码单位的编码信息;
[0016] 图12为示出根据本发明一实施例的帧内预测部1200的结构的方框图;
[0017] 图13为根据本发明一实施例的基于编码单位的大小的帧内预测模式的数量;
[0018] 图14a至图14c为用于说明根据本发明一实施例的适用于预定大小的编码单位的帧内预测模式的一例的图;
[0019] 图15为用于说明根据本发明一实施例的适用于预定大小的编码单位的帧内预测模式的另一例的图;
[0020] 图16为用于说明根据本发明一实施例的具有多种方向性的帧内预测模式的参照图;
[0021] 图17为用于说明根据本发明一实施例的双线性模式的参照图;
[0022] 图18为用于说明根据本发明一实施例的第一预测编码单位的后处理动作的参照图;
[0023] 图19为用于说明根据本发明一实施例的后处理部1220的动作的参照图;
[0024] 图20为用于根据本发明一实施例的在后处理部1220中所利用的周边像素的参照图;
[0025] 图21为示出根据本发明一实施例的图像编码方法的流程图;
[0026] 图22为示出根据本发明一实施例的图像解码方法的流程图。

发明内容

[0027] 技术问题
[0028] 本发明所要解决的问题在于提供一种提高图像压缩效率的图像编码方法及装置以及其解码方法及装置。
[0029] 技术方案
[0030] 根据本发明一实施例,通过对预测块进行后处理来变更预测块内部的各像素的像素值,由此生成新的预测块。
[0031] 有益效果
[0032] 根据本发明一实施例,由于通过对预测块进行后处理来变更预测块内部的各像素的像素值,由此生成新的预测块,因此能够提高图像的压缩效率。
[0033] 最佳实施方式
[0034] 根据本发明一实施例的图像编码方法包含:生成针对将要编码的当前编码单位的第一预测编码单位的步骤;利用构成所述第一预测编码单位的各像素和至少一个周边像素来变更所述各像素的像素值,由此生成第二预测编码单位的步骤;以及对所述当前编码单位与所述第二预测解码单位的差值进行编码的步骤。
[0035] 根据本发明一实施例的图像编码装置包含:预测部,生成针对将要编码的当前编码单位的第一预测编码单位;后处理部,利用构成所述第一预测编码单位的各像素和至少一个周边像素来变更所述各像素的像素值,由此生成第二预测编码单位;以及编码部,对所述当前编码单位与所述第二预测解码单位的差值进行编码。
[0036] 根据本发明一实施例的图像解码方法包含:从接收的比特流提取将要被解码的当前解码单位的预测模式信息的步骤;基于被提取的所述预测模式信息生成关于所述当前解码单位的第一预测解码单位的步骤;从所述比特流提取利用构成所述第一预测解码单位的各像素和所述各像素的周边像素的运算信息的步骤;基于所述被提取的运算信息,利用构成所述第一预测解码单位的各像素和所述各像素的周边像素变更所述各像素的像素值,由此生成第二预测解码单位;通过从所述比特流提取相当于所述当前解码单位和所述第二预测解码单位的差值的剩余误差值来进行复原的步骤;以及对所述剩余误差和所述第二预测解码单位进行加法运算,以对所述当前解码单位进行解码。
[0037] 根据本发明一实施例的图像解码装置包含:熵解码器,从接收的比特流提取将要被解码的当前解码单位的预测模式信息以及利用构成针对所述当前解码单位的所述第一预测解码单位的各像素和所述各像素的周边像素的运算信息;预测部;基于被提取的所述预测模式信息生成第一预测解码单位;后处理部,基于被提取的所述运算信息,利用构成所述第一预测解码单位的各像素和所述各像素的周边像素变更所述各像素的像素值,由此生成第二预测解码单位;逆变换以及逆量化部,通过从所述比特流提取相当于所述当前解码单位和所述第二预测解码单位的差值的剩余误差来进行复原;以及加法运算部,对所述剩余误差和所述第二预测解码单位进行加法运算,以对所述当前解码单位进行解码。

具体实施方式

[0038] 以下参照附图说明根据本发明优选实施例的图像编码装置及图像解码装置,以及图像编码方法和图像解码方法。
[0039] 图1为根据本发明一实施例的图像编码装置的方框图。
[0040] 参照图1,根据本发明一实施例的图像编码装置100包含最大编码单位分割部110、编码深度确定部120、图像数据编码部130以及编码信息编码部140。
[0041] 最大编码单位分割部110基于作为大小最大的编码单位的最大编码单位来分割当前图片或片段。当前图片或当前片段以至少一个最大编码单位被分割。被分割的图像数据可按照至少一个最大编码单位输出到编码深度确定部120。
[0042] 根据本发明一实施例,可利用最大编码单位和深度来表示编码单位。最大编码单位表示当前图片的编码单位中大小最大的编码单位,深度表示编码单位按层级缩小的子编码单位的大小。深度变大的同时,编码单位可以从最大编码单位缩小至最小编码单位,且最大编码单位的深度可定义为最小深度,而最小编码单位的深度可定义为最大深度。由于最大编码单位随着深度变大,按深度的编码单位的大小变小,因此深度为K的子编码单位可包含具有深度为K+1以上的多个子编码单位。
[0043] 如上所述,根据编码单位的最大大小,将当前图片的图像数据以最大编码单位进行分割,而且每个最大编码单位可包含按深度缩小的编码单位。由于根据本发明一实施例的最大编码单位按深度缩小,因此包含于最大编码单位的空间域(spatial domain)的图像数据可根据深度按层级分类。
[0044] 从最大编码单位至最上位编码单位为止,限制将当前编码单位的高度和宽度按层级缩小的总次数的最大深度和编码单位的最大大小可以事先被设定。这种最大编码单位和最大深度可以以图片或片段单位进行设定。即,每个图片或片段都可具有不同的最大编码单位和最大深度,并且可根据最大深度可变地设定包含于最大图像编码单位的最小编码单位的大小。如此,使每个图片或片段都能够可变地设定最大编码单位和最大深度,因此对于平坦的区域的图像可利用较大的最大编码单位来进行编码,由此提高压缩率,而对于复杂度较高的图像可利用大小较小的编码单位,由此提高图像的压缩效率。
[0045] 编码深度确定部120对每个最大编码单位确定不同的最大深度。最大深度可基于率失真代价(Rate-Distortion Cost)计算来确定。所确定的最大深度输出至编码信息编码部140,而每个最大编码单位的图像数据输出至图像数据编码部130。
[0046] 最大编码单位内的图像数据根据最大深度以下的至少一个深度,基于按深度的编码单位而进行编码,并且基于各个按深度的编码单位的编码结果将进行比较。按深度的编码单位的编码误差的比较结果,可选择编码误差最小的深度。每个最大编码单位都可确定至少一个编码深度。
[0047] 最大编码单位的大小随着深度增加,编码单位按层级分割而缩小,且编码单位的数量增加。并且,即便是包含于一个最大编码的相同深度的编码单位,也测出针对各个数据的编码误差,并确定是否缩小至上位深度。因此,即便是包含于一个最大编码单位的数据,按深度的编码误差根据位置也不相同,因此编码深度根据位置而确定为不同。也就是说,可根据不同的深度以不同大小的子编码单位分割最大编码单位。对于一个最大编码单位,可设定一个以上的编码深度,并且可根据一个以上的编码深度的编码单位而分割最大编码单位的数据。
[0048] 并且,包含于最大编码单位的不同大小的子编码单位,基于不同大小的处理单位而被预测或频率变换。也就是说,图像编码装置100可基于各种大小和各种形态的处理单位进行用于图像编码的多个处理步骤。为了对图像数据进行编码,会经过预测、频率变换、熵编码等处理步骤,但是在所有步骤中,可利用相同大小的处理单位,也可以按步骤利用不同大小的处理单位。
[0049] 例如,图像编码装置100为了预测编码单位,可选择与编码单位不同的处理单位。作为一例,编码单位的大小为2N×2N(N为正整数)时,用于预测的处理单位可以是2N×2N、
2N×N、N×2N、N×N。也就是说,也可以基于将编码单位的高度或宽度中的至少一个分为一半的形态的处理单位进行运动预测。以下,成为预测的基础的数据单位称作“预测单位”。
[0050] 预测模式可以是帧内模式、帧间模式以及跳跃模式中的至少一个,特定预测模式仅可以对特定大小或形态的预测单位进行。跳跃模式仅可以对2N×2N大小的预测单位进行。如果编码单位内部具有多个预测单位,则可通过对每个预测单位进行预测而选择编码误差最小的预测模式。
[0051] 并且,图像编码装置100可基于大小不同于编码单位的处理单位对图像数据进行频率变换。为了编码单位的频率变换,可基于大小小于或相同于编码单位的数据单位来进行频率变换。以下,成为频率变换的基础的处理单位称作“变换单位”。
[0052] 编码深度确定部120可利用基于拉格朗日乘数(Lagrangian Multiplier)的率失真优化算法(Rate-Distortion Optimization)来测定按深度的编码单位的编码误差,以确定具有最佳编码误差的最大编码单位的分割形态。也就是说,编码深度确定部120能够确定最大编码单位以何种形态的多个子编码单位被分割,在此,多个子编码单位根据深度而大小不同。
[0053] 图像数据编码部130基于在编码深度确定部120被确定的至少一个编码深度对最大编码单位的图像数据进行编码,由此输出比特流。在编码深度确定部120为了测出最小编码误差而已经进行了编码,因此也可输出据此被编码的数据流。
[0054] 编码信息编码部140基于在编码深度确定部120所确定的至少一个编码深度,每个最大编码单位都对关于按深度的编码模式的信息进行编码,由此输出比特流。关于按深度的编码模式的信息可包含编码深度信息、编码深度的编码单位的预测单位的分割方式信息、按预测单位的预测模式信息、变换单位的大小信息等。
[0055] 编码深度信息利用表示是否不以当前深度进行编码,而是以上位深度的编码单位进行编码的按深度的缩小信息来被定义。若当前编码单位的当前深度为编码深度,则由于当前编码单位以当前深度的编码单位进行编码,因此当前深度的缩小信息可被定义为不再缩小至上位深度。相反,若当前编码单位的当前深度不是编码深度,则由于需要试图进行利用上位深度的编码单位的编码,因此当前深度的缩小信息可被定义为缩小至上位深度的编码单位。
[0056] 若当前深度不是编码深度,则对缩小为上位深度的编码单位的编码单位进行编码。由于在当前深度的编码单位内存在一个以上的上位深度的编码单位,因此对每个上位深度的编码单位都反复进行编码,可使每个相同深度的编码单位进行递归(recursive)编码。
[0057] 一个最大编码单位内至少需要确定一个编码深度,且每个编码深度至少需要确定一个关于编码模式的信息,因此,对于一个最大编码单位可确定有至少一个关于编码模式的信息。并且,最大编码单位的数据根据深度按层级分割,从而编码深度根据位置可能不同,因此可对数据设定编码深度以及关于编码模式的信息。
[0058] 因此,根据一实施例的编码信息编码部140可对包含于最大编码单位的每个最小编码单位都设定相关编码信息。即,编码深度的编码单位包含具有相同编码信息的一个以上的最小编码单位。据此,当邻近的最小编码单位具有相同的按深度的编码信息时,可能是包含于相同的最大编码单位的最小编码单位。
[0059] 根据图像编码装置100的最简单形态的实施例,按深度的编码单位是将一层下位深度的编码单位的高度和宽度分为一半的大小的编码单位。即,如果当前深度(K)的编码单位的大小为2N×2N,则上位深度(K+1)的编码单位的大小为N×N。2N×2N大小的当前编码单位最多可包含N×N大小的四个上位深度编码单位。
[0060] 因此,根据一实施例的图像编码装置100基于考虑到当前图片的特性而确定的最大编码单位的大小和最大深度,对每个最大编码单位都可以确定最佳形态的分割形态。并且,每个最大编码单位都可以利用各种预测模式、频率变换方式等进行编码,因此可通过考虑各种图像大小的编码单位的图像特性来确定最佳的编码模式。
[0061] 如果图像分辨率非常高或数据量非常大的图像以现有的16×16大小的宏块单位进行编码,则每个图像的宏块的数量会过多。据此,每个宏块所生成的压缩信息变多,从而导致压缩信息的传送负担变大,数据压缩效率降低。因此,根据本发明一实施例的图像编码装置,可通过考虑图像大小来使得编码单位的最大大小增加,并通过考虑图像特性来调节编码单位,因此可增大图像压缩效率。
[0062] 图2示出根据本发明一实施例的图像解码装置的方块图。
[0063] 参照图2,根据本发明一实施例的图像解码装置200包含图像数据获取部210、编码信息提取部220以及图像数据解码部230。
[0064] 图像数据获取部210通过解析图像解码装置200所接收的位串,按最大编码单位获取图像数据,并将该图像数据输出至图像解码部230。图像数据获取部210能够从关于当前图片或片段的帧头(header)提取关于当前图片或片段的最大编码单位的信息。根据本发明一实施例的图像解码装置200按最大编码单位对图像数据进行解码。
[0065] 编码信息提取部220通过解析图像解码装置200所接收的位串,从关于当前图片的帧头(header)提取按最大编码单位的编码深度和关于编码模式的信息。所提取的编码深度和关于编码模式的信息被输出至图像数据解码部230。
[0066] 按最大编码单位的编码深度和关于编码模式的信息,可对一个以上的编码深度信息进行设定,关于按编码深度的编码模式的信息可包含按编码单位的预测单位的分割方式信息、预测模式信息以及变换单位的大小信息等。并且,也可以提取作为编码深度信息的按深度的缩小信息。
[0067] 关于最大编码单位的分割形态的信息可根据包含于最大编码单位的深度而包含关于不同大小的子编码单位的信息,关于编码模式的信息可包含关于按子编码单位的预测单位的信息、关于预测模式的信息以及关于变换单位的信息。
[0068] 图像数据解码部230基于从编码信息提取部提取的信息,对每个最大编码单位的图像数据进行解码,以复原当前图片。基于关于最大编码单位的分割形态的信息,图像数据解码部230可以对包含于最大编码单位的子编码单位进行解码。解码过程可包含具备有帧内预测和运动补偿的运动预测过程、以及频率逆变换过程。
[0069] 图像数据解码部230基于按最大编码单位的编码深度和关于编码模式的信息,对各最大编码单位的图像数据进行解码,以复原当前图片。基于按最大编码单位的编码深度信息,图像数据解码部230可对至少一个编码深度的每个编码单位进行图像数据的解码。解码过程可包含具备有帧内预测和运动补偿的预测过程和逆变换过程。
[0070] 图像数据解码部230为了按编码单位进行预测,可基于按编码深度的编码单位的预测单位的分割方式信息和预测模式信息,对每个编码单以各预测单位和预测模式进行帧内预测或运动补偿。并且,为了按最大编码单位进行逆变换,图像数据编码部230可基于每个编码深度的编码单位的变换单位的大小信息,对每个编码单位都以各个变换单位进行逆变换。
[0071] 图像数据解码部230可确定利用按深度的缩小信息的当前最大编码单位的编码深度。如果缩小信息表示以当前深度进行编码,则当前深度即为编码深度。因此,图像数据解码部230对于当前最大编码单位的图像数据,可利用预测单位的分割方式、预测模式以及变换单位大小信息对当前深度的编码单位进行解码。即,可通过观察对最小编码单位设定的编码信息,聚集具有包含相同缩小信息的编码信息的最小编码单位,解码成一个数据单位。
[0072] 根据一实施例的图像解码装置200在编码过程中对每个最大编码单位都递归地进行编码,以获取关于产生最小编码误差的编码单位的信息,从而可应用于对当前图片的编码。即,每个最大编码单位都能够以最佳编码单位进行图像数据的编码。因此,即使是高分辨率的图像或数据量过多的图像,可利用从编码端传送的关于最佳编码模式的信息,根据图像特性适应性确定的编码单位的大小和编码模式而有效地解码并复原图像数据。
[0073] 图3示出根据本发明一实施例的层级编码单位。
[0074] 参照图3,根据本发明的层级编码单位可从宽度×高度为64×64的编码单位,涵盖32×32、16×16、8×8、4×4。除了正四边形形状的编码单位之外,还可存在宽度×高度为64×32、32×64、32×16、16×32、16×8、8×16、8×4、4×8的编码单位。
[0075] 在图3中,对于视频数据310而言,设定为分辨率为1920×1080、最大编码单位的大小为64、最大深度为2。并且,对于视频数据320而言。设定为分辨率为1920×1080、编码单位的最大大小为64、最大深度为4。并且,对于视频数据330而言,设定为分辨率为352×288、编码单位的最大大小为16、最大深度为2。
[0076] 当分辨率高或者数据量多时,为了提高压缩率的同时正确反映图像特性,优选地使编码大小的最大大小相对较大。因此,相比视频数据330,分辨率高的视频数据310、320可选择编码大小的最大大小为64。
[0077] 最大深度表示层级编码单位中的总层数。因此,由于视频数据310的最大深度为2,从而视频数据310的编码单位315可包括从长轴大小为64的最大编码单位至深度增加两层而长轴大小为32、16的编码单位。相反,由于视频数据330的最大深度为2,从而视频数据330的编码单位335可包括从长轴大小为16的编码单位至深度增加两层而长轴大小为8、4的编码单位。
[0078] 由于视频数据320的最大深度为4,从而视频数据320的编码单位可包括从长轴大小为64的编码单位至深度增加四层而长轴大小为32、16、8、4的编码单位。深度越是增加越会基于更小的子编码单位对图像进行编码,因此适合对包含有更加细致的场景的图像进行编码。
[0079] 图4示出根据本发明一实施例的基于编码单位的图像编码部的方块图。
[0080] 参照图4,帧内预测部410对当前帧405中帧内模式的预测单位进行帧内预测,运动估计部420以及运动补偿部425利用当前帧405和参照帧495对帧间模式的预测单位进行帧间预测和运动补偿。
[0081] 基于从帧内预测部410、运动估计部420以及运动补偿部425输出的预测单位生成剩余误差值,所生成的剩余误差值经过频率变换部430和量化部440而输出为被量化的变换系数。尤其,如参照图12后述的根据本发明一实施例的帧内预测部410进行利用其周边像素变更经帧内预测的编码单位的各像素的后处理,并且作为经后处理的编码单位与原编码单位的差值的剩余误差值经过频率变换部430和量化部440而输出为被量化的变换系数。
[0082] 被量化的变换系数通过逆量化部460、频率逆变换部470重新复原为剩余误差值,被复原的剩余误差值经过去块(deblocking)部480以及环路滤波(loop filtering)部490而输出为参照帧495。被量化的变换系数经过熵(entropy)编码部450而输出为比特流455。
[0083] 为了根据本发明一实施例的图像编码方法进行编码,作为图像编码部400的构成要素的帧内预测部410、运动估计部420、运动补偿部425、频率变换部430、量化部440、熵编码部450、逆量化部460、频率逆变换部470、去块部480、以及环路滤波部490等全部都基于最大编码单位、根据深度的子编码单位、预测单位以及变换单位而处理图像编码过程。尤其,帧内预测部410、运动估计部420以及运动补偿部425通过考虑编码单位的最大大小和深度而确定编码单位内的预测单位和预测模式,频率变换部430通过考虑编码单位的最大大小和深度来考虑变换单位的大小。
[0084] 图5示出根据本发明一实施例的基于编码单位的图像解码部的方块图。
[0085] 参照图5,比特流505经过解析部510,从而作为解码对象的被编码的图像数据和为解码而所需的编码信息被解析。被编码的图像数据经过熵解码部520和逆量化部530输出为被逆量化的数据,并经过频率逆变换部540复原为剩余误差值。剩余误差值与帧内预测部550的帧内预测的结果或运动补偿560的运动补偿结果进行加法运算,从而按编码单位被复原。被复原的编码单位经过去块部570和环路滤波部580,被应用于下次编码单位或下次图片的预测。
[0086] 为了根据本发明一实施例的图像解码方法进行解码,作为图像解码部500的构成要素的解析部510、熵解码部520、逆量化部530、频率逆变换部540、帧内预测部550、运动补偿部560、去块部570以及环路滤波部580全部都基于最大编码单位、根据深度的子编码单位、预测单位以及变换单位而处理图像编码过程。尤其,帧内预测部510、运动补偿部560通过考虑编码单位的最大大小和深度而确定编码单位内的预测单位和预测模式,频率逆变换部540通过考虑编码单位的最大大小和深度来考虑变换单位的大小。
[0087] 图6为示出根据本发明一实施例的按深度(deeper)的编码单位和预测单位。
[0088] 根据一实施例的图像编码装置100以及根据一实施例的图像解码装置200为了考虑图像特性而使用层级编码单位。编码单位的最大高度及宽度、最大深度根据图像特性而可适应性地确定,也可以根据用户的要求设定为各种各样。按深度的编码单位的大小也可以根据事先设定的编码单位的最大大小来确定。
[0089] 根据本发明一实施例的编码单位的层级结构600示出的是编码单位的最大高度和宽度为64,最大深度为4的情况。由于深度沿着根据一实施例的编码单位的层级结构600的竖轴增加,因此按深度的编码单位的高度和宽度分别被缩小。并且,沿着编码单位的层级结构600的横轴示出成为各个按深度的编码单位的预测基础的作为部分数据单位的预测单位。
[0090] 最大编码单位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为最小编码单位。
[0091] 并且,参照图6,按各个深度沿横轴示出作为编码单位的预测单位的部分数据单位。即,深度为0且大小为64×64的最大编码单位610的预测单位可以是包含于大小为64×64的编码单位610的大小为64×64的部分数据单位610、大小为64×32的部分数据单位612、大小为32×64的部分数据单位614、大小为32×32的部分数据单位616。
[0092] 深度为1且大小为32×32的编码单位620的预测单位可以是包含于大小为32×32的编码单位620的大小为32×32的部分数据单位620、大小为32×16的部分数据单位622、大小为16×32的部分数据单位624、大小为16×16的部分数据单位626。
[0093] 深度为2且大小为16×16的编码单位630的预测单位可以是包含于大小为16×16的编码单位630的大小为16×16的部分数据单位630、大小为16×8的部分数据单位632、大小为8×16的部分数据单位634、大小为8×8的部分数据单位636。
[0094] 深度为3且大小为8×8的编码单位640的预测单位可以是包含于大小为8×8的编码单位640的大小为8×8的部分数据单位640、大小为8×4的部分数据单位642、大小为4×8的部分数据单位644、大小为4×4的部分数据单位636。
[0095] 最后,深度为4且大小为4×4的编码单位650是最小编码单位,且是最上位深度的编码单位,相关预测单位也是大小为4×4的数据单位650。
[0096] 根据一实施例的图像编码装置的编码深度确定部120为了确定最大编码单位610的编码深度,需要对包含于最大编码单位610的各深度的编码单位都需要进行编码。
[0097] 对于用于包含相同范围和大小的数据的按深度的编码单位的数量而言,随着深度增加,按深度的编码单位的数量也增加。例如,对于包含有一个深度为1的编码单位的数据,深度为2的编码单位需要四个。因此,为了按深度比较相同的数据的编码结果,需要利用一个深度为1的编码单位和四个深度为2的编码单位分别进行编码。
[0098] 为了按各个深度进行编码,沿着编码单位的层级结构600的横轴,对每个按深度的编码单位的预测单元都进行编码,从而能够在相关深度中选择作为最小编码误差的代表编码误差。并且,沿着编码单位的层级结构600的竖轴增加深度,并且对每个深度都进行编码,由此比较按照深度的代表编码误差,以检索出最小编码误差。最大编码单位610中发生最小编码误差的深度可被选为最大编码单位610的编码深度以及分割方式。
[0099] 图7示出根据本发明一实施例的编码单位以及变换单位的关系。
[0100] 根据本发明一实施例的图像编码装置100及图像解码装置200每个最大编码单位都以小于或相同于最大编码单位的大小的编码单位分割图像,以进行编码或解码。在编码过程中,用于频率变换的变换单位的大小可基于不大于每个编码单位的数据单位而选择。例如,当前编码单位710为64×64大小时,可利用32×32大小的变换单位720来进行频率变换。并且,64×64大小的编码单位710的数据分别以64×64大小以下的32×32、16×16、8×
8、4×4大小的变换单位进行频率变换而进行编码之后,可选择出与原始状态之间误差最小的变换单位。
[0101] 图8根据本发明一实施例示出按深度的编码信息。
[0102] 根据本发明一实施例的图像编码装置100的编码信息编码部,针对各个编码深度的每个编码单位,编码关于分割方式的信息800、关于预测模式的信息810、关于变换单位大小的信息820而传送,以作为关于编码模式的信息。
[0103] 关于分割方式的信息800是用于当前编码单位的运动预测的预测单位,表示关于当前编码单位被分割的方式的信息。例如,深度为0且大小为2N×2N的当前编码单位CU_0分割成大小为2N×2N的预测单位802、大小为2N×N的预测单位804、大小为N×2N的预测单位806、大小为N×N的预测单位808中的一个方式,以用作预测单位。此时,关于当前编码单位的分割方式的信息800设定成能够表示大小为2N×2N的预测单位802、大小为2N×N的预测单位804、大小为N×2N的预测单位806以及大小为N×N的预测单位808中的一个预测单位。
[0104] 关于预测模式的信息810表示各个预测单位的运动预测模式。例如,可通过关于预测模式的信息810设定关于分割方式的信息800所表示的预测单位是否用帧内模式812、帧间模式814以及跳跃模式816中的一个进行运动预测。
[0105] 并且,关于变换单位大小的信息820表示基于哪种变换单位对当前编码单位进行频率变换。例如,变换单位可以是第一帧内变换单位大小822、第二帧内变换单位大小824、第一帧间变换单位大小826、第二帧间变换单位大小828中的一个。
[0106] 根据本发明一实施例的图像解码装置200的编码信息提取部,针对各个按深度的编码单位,提取关于分割方式的信息800、关于预测模式的信息810、关于变换单位大小的信息820,以用于解码。
[0107] 图9示出根据本发明一实施例的按深度的编码单位。
[0108] 为了表示深度增加与否,可应用缩小信息。缩小信息表示当前深度的编码单位是否缩小为上位深度的编码单位。
[0109] 用于运动预测深度为0且2N_0×2N_0大小的编码单位的预测单位910可包含2N_0×2N_0大小的分割方式912、2N_0×N_0大小的分割方式914、N_0×2N_0大小的分割方式916、N_0×N_0大小的分割方式918。
[0110] 每个分割方式中,对每个的一个2N_0×2N_0大小的预测单位、两个2N_0×N_0大小的预测单位、两个N_0×2N_0大小的预测单位、四个N_0×N_0大小的预测单位都要进行根据反复运动预测的编码。对于大小为2N_0×N_0以及大小为N_0×N_0的预测单位,可以以帧内模式以及帧间模式进行运动预测,大小为N_0×2N_0以及大小为N_0×N_0的预测单位仅可以以帧间模式进行运动预测。跳跃模式仅可以对大小为2N_0×N_0的预测单位进行。
[0111] 如果根据大小为N_0×N_0的分割方式918的编码误差最小,则将深度0增加为深度1,并对深度为1且大小为N_0×N_0的分割方式的编码单位922、924、926、928反复检索最小编码误差。
[0112] 由于对相同深度的编码单位922、924、926、928反复进行编码,因此举其中一个为例说明深度为1的编码单位的编码。用于运动预测深度为1且大小为2N_1×2N_1(=N_0×N_0)的编码单位的预测单位930可包含大小为2N_1×2N_1的分割方式932、大小为2N_1×N_1的分割方式934、大小为N_1×2N_1的分割方式936、大小为N_1×N_1的分割方式938。每个分割方式,对每个的一个2N_1×2N_1大小的预测单位、两个2N_1×N_1大小的预测单位、两个N_1×2N_1大小的预测单位、四个N_1×N_1大小的预测单位都要进行根据反复运动预测的编码。
[0113] 并且,如果根据大小为N_1×N_1的分割方式938的编码误差最小,则将深度1增加为深度2(940),并对深度为2且大小为N_1×N_1的编码单位942、944、946、948反复检索最小编码误差。
[0114] 如果最大深度为d,则按深度的缩小信息可被设定至深度为d-1为止。即,用于运动预测深度为d-1且大小为2N_(d-1)×2N_(d-1)的编码单位的预测单位950可包含大小为2N_(d-1)×2N_(d-1)的分割方式952、大小为2N_(d-1)×N_(d-1)的分割方式954、大小为N_(d-1)×2N_(d-1)的分割方式956、大小为N_(d-1)×N_(d-1)的分割方式958。
[0115] 每个分割方式,对每个的一个2N_(d-1)×2N_(d-1)大小的预测单位、两个2N_(d-1)×N_(d-1)大小的预测单位、两个N_(d-1)×2N_(d-1)大小的预测单位、四个N_(d-1)×N_(d-1)大小的预测单位都要进行根据反复运动预测的编码。由于最大深度为d,因此深度为d-1的编码单位952不会再进行缩小过程。
[0116] 根据本发明一实施例的图像编码装置100为了确定针对编码单位912的编码深度,通过比较按深度的编码误差来选择发生最小编码误差的深度。例如,针对深度为0的编码单位的编码误差,对每个分割方式912、914、916、918都进行运动预测而进行编码之后确定发生最小编码误差的预测单位。相同地,每个深度0、1、…、d-1都能够检索出编码误差最小的预测单位。在深度d中,通过基于大小为2N_d×2N_d的编码单位的预测单位960的运动预测来确定编码误差。如此,通过比较深度为0、1、…、d-1、d的所有按深度的最小编码误差,从而选择误差最小的深度,以确定为编码深度。编码深度以及相关深度的预测单位将作为与编码模式有关的信息而被编码之后被传送。并且,编码单位从深度0至编码深度为止应缩小,因此,应当仅使编码深度的缩小信息被设定为“0”,而除了编码深度的按深度的缩小信息应被设定为“1”。
[0117] 根据本发明一实施例的图像解码装置200的编码信息提取部220可用于通过提取关于编码单位912的编码深度和关于预测单位的信息来对编码单位912进行解码。根据一实施例的图像解码装置200可利用按深度的缩小信息将缩小信息为“0”的深度确定为编码深度,并可利用关于相关深度的编码模式的信息来用于解码。
[0118] 图10a和图10b示出根据本发明一实施例的编码单位、预测单位以及频率变换单位的关系。
[0119] 编码单位1010为由根据一实施例的图像编码装置100对最大编码单位1000所确定的按编码深度的编码单位。预测单位1060是编码单位1010中的各个按编码深度的编码单位的预测单位,变换单位1070是各个按编码深度的编码单位的变换单位。
[0120] 对于按深度的编码单位1010,如果最大编码单位1000的深度为0,则编码单位1012、1054的深度为1,编码单位1014、1016、1018、1028、1050、1052的深度为2,编码单位
1020、1022、1024、1026、1030、1032、1048的深度为3,编码单位1040、1042、1044、1046的深度为4。
[0121] 预测单元1060中的一部分1014、1016、1022、1032、1048、1050、1052、1054是编码单位分割的方式。即,预测单元1014、1022、1050、1054为2N×N的分割方式,预测单位1016、1048、1052为N×2N的分割方式,预测单元1032为N×N的分割方式。即,按深度的编码单元
1010的预测单元相比各编码单位小或者相同。
[0122] 对于变换单位1070中的一部分1052、1054的图像数据,以小于编码单位的大小的数据单位进行频率变换或者频率逆变换。并且,变换单位1014、1016、1022、1032、1048、1050、1052、1054与预测单位1060中的相应预测单位进行相比,是大小或形态相互不同的数据单位。即,根据本发明一实施例的图像编码装置100和图像解码装置200即便是对相同编码单位的预测以及频率变换/逆变换的动作,也可以分别基于不同的数据单位进行。
[0123] 图11示出根据本发明一实施例的按编码单位的编码信息。
[0124] 根据本发明一实施例的图像编码装置100的编码信息编码部140对按编码单位的编码信息进行编码,根据本发明一实施例的图像解码装置200的编码信息提取部220可提取按编码单位的编码信息。
[0125] 编码信息可以包含关于编码单位的缩小信息、分割方式信息、预测模式信息、变换单位大小信息。图11所示的编码信息仅为能够由根据本发明一实施例的图像编码装置100和图像解码装置200设定的一例,但并不限定于如图所示的情况。
[0126] 缩小信息可以表示相关编码单位的编码深度。即,根据缩小信息不再缩小的深度为编码深度,因此,可对编码深度定义分割方式信息、预测模式、变换单位大小信息。当根据缩小信息,需要再缩小一层时,每个被缩小的四个上位深度的编码单位需要独立进行编码。
[0127] 分割方式信息可将编码深度的编码单位的变换单位的分割方式由2N×2N、2N×N、N×2N以及N×N中的一个来表示。预测模式可将运动预测模式由帧内模式、帧间模式以及跳跃模式中的一个来表示。帧内模式仅可以在分割方式为2N×2N以N×N中被定义,跳跃模式仅可以在分割方式为2N×2N中被定义。变换单位大小在帧内模式中可以被设定为两种类型的大小,在帧间模式中可以被设定为两种类型的大小。
[0128] 每个编码单位内的最小编码单位,都可以按所属的编码深度的编码单位收集编码信息。因此,如果确认相邻的最小编码单位之间分别所具有的编码信息,则可以确认是否包含于相同编码深度的编码单位。并且,如果利用最小编码单位所具有的编码信息,则可以确认相关编码深度的编码单位,由此可以类推最大编码单位内的编码深度的分布。
[0129] 以下,对在根据图4的本发明一实施例的图像编码装置100的帧内预测部410和根据图5的图像解码装置200的帧内预测部550中进行的帧内预测进行具体的说明。在以下说明中,编码单位为在图像的编码步骤中所称的术语,而在图像解码步骤中,编码单位可被定义为解码单位。即,所谓编码单位和解码单位的术语,区别仅在于在图像编码步骤和解码步骤中的哪个步骤中所称,编码步骤中的编码单位在解码步骤中可以被称为解码单位。为了统一术语,除了特殊情况,在编码步骤和解码步骤中统一称为编码单位。
[0130] 图12为示出根据本发明一实施例的帧内预测部1200的结构的方框图。
[0131] 参照图12,根据本发明一实施例的帧内预测部1200包含预测部210和后处理部1220。预测部1210适用根据当前编码单位的大小而定的帧内预测模式进行对当前编码单位的帧内预测,并输出第一预测编码单位。后处理部1220进行利用构成第一预测编码单位的各像素的周边像素来变更第一预测编码单位的各像素的像素值的后处理,以输出经后处理的第二预测编码单位。
[0132] 图13为根据本发明一实施例的基于编码单位的大小的帧内预测模式的数量。
[0133] 基于根据本发明一实施例的编码单位(在解码步骤中为解码单位)的大小,可多样地设定适用于编码单位的帧内预测模式的数量。作为一例,参照图13,当进行帧内预测的编码单位的大小为N×N时,对于各个2×2、4×4、8×8、16×16、32×32、64×64、128×128大小的编码单位,实际进行的帧内预测模式的数量分别可设定为5、9、9、17、33、5、5个(例2的情况)。如此,基于编码单位的大小而差别化实际进行的帧内预测模式的数量的理由为,用于根据编码单位大小对预测模式信息进行编码的开销(overhead)不同。也就是说,如果是较小大小的编码单位,即使在整个图像中所占的部分较小,也可能使得用于传送这种较小的编码单位的预测模式等附加信息的开销增加,因此,当用较多的预测模式对较小的编码单位进行编码时,有可能导致比特量增加而降低压缩效率。并且,具有较大大小的的编码单位、例如具有64×64以上的大小的编码单位一般被选择为图像的平坦区域的编码单位的情况较多,因此对这种平坦区域进行编码时选择较多的较大大小的编码单位用过多的预测模式进行编码,仍然会降低压缩效率。
[0134] 因此,根据本发明一实施例,编码单位大体分为N1×N1(2≤N1≤8,N1为整数)、N2×N2(16≤N2≤32,N2为整数)、N3×N3(64≤N3,N3为整数)的至少三种类型的大小,当将每个具有N1×N1大小的编码单位都进行的帧内预测模式的数量为A1(A1为正整数),每个具有N2×N2大小的编码单位都进行的帧内预测模式的数量为A2(A2为正整数),每个具有N3×N3大小的编码单位都进行的帧内预测模式的数量为A3(A3为正整数)时,优选地设定基于各编码单位的大小而要进行的帧内预测模式的数量,以满足A3≤A1≤A2的关系。即,若当前图片大体分为小尺寸的编码单位,中间尺寸的编码单位、大尺寸的编码单位,优选地设定中间尺寸的编码单位具有最多数量的预测模式,小尺寸的编码单位及大尺寸的编码单位具有相对较少数量的预测模式。但是,并不限定于此,对于小尺寸和大尺寸的编码单位也可以设定为具有更多数量的预测模式。基于图13所示的各编码单位的大小的预测模式的数量仅是一个实施例,基于各编码单位的大小的预测模式的数量可以变更。
[0135] 图14a为用于说明根据本发明一实施例的适用于预定大小的编码单位的帧内预测模式的一例的图。
[0136] 参照13和图14a,作为一例,在进行具有4×4大小的编码单位的帧内预测时,可具有垂直(Vertical)模式(模式0)、水平(Horizontal)模式(模式1)、直流(DC,Direct Current)模式(模式2)、对角线左侧(Diagonal Down-Left)模式(模式3)、对角线右侧(Diagonal Down-Right)模式(模式4)、垂直右侧(Vertical-Right)模式(模式5)、水平下侧(Horizontal-Down)模式(模式6)、垂直左侧(Vertical-Left)模式(模式7)以及水平上侧(Horizontal-Up)模式(模式8)。
[0137] 图14b为示出图14a的帧内预测模式的方向的图。图14b中箭头端部的数表示当沿其方向进行预测时的相关模式值。在此,模式2为没有方向性的DC预测模式,其没有在图中示出。
[0138] 图14c为示出对于图14a所示的编码单位的帧内预测方法的图。
[0139] 参照图14c,基于根据编码单位的大小确定的可利用的帧内模式,利用作为当前编码单位的周边像素的A-M来生成预测编码单位。例如,基于图14a的模式0,即垂直模式说明对4×4大小的当前编码单位进行预测编码的动作。首先将临近于4×4大小的当前编码单位的上侧的像素A至D的像素值预测为4×4当前编码单位的像素值。即,将像素A的值预测为包含于4×4大小的当前编码单位的第一列的4个像素值,将像素B的值预测为包含于4×4大小的当前编码单位的第二列的4个像素值,将像素C的值预测为包含于4×4大小的当前编码单位的第三列的4个像素值,将像素D的值预测为包含于4×4大小的当前编码单位的第四列的4个像素值。然后,使利用所述像素A至D所预测的4×4大小的当前编码单位与包含于原来的
4×4大小的当前编码单位的像素的实际值进行减法运算,求出误差值,并对其误差值进行编码。
[0140] 图15为用于说明根据本发明一实施例的适用于预定大小的编码单位的帧内预测模式的另一例的图。
[0141] 参照图13和图15,作为一例,在进行具有2×2大小的编码单位的帧内预测时,可存在垂直模式、水平模式、直流(DC,Direct Current)、平面(plane)模式以及对角线右侧模式,总共五个模式。
[0142] 另外,当如图13所示具有32×32大小的编码单位具有三十三个帧内预测模式时,需要设定三十三个帧内预测模式的方向。根据本发明一实施例,除了如图14和图15所示的帧内预测模式之外,为了设定多种方向的帧内预测模式,以编码单位内的像素为中心,利用dx、dy参数来设定用于选择将被用作参照像素的周边像素的预测方向。作为一例,当三十三个预测模式分别定义为模式N(N为从0至32的整数)时,模式0设定为垂直模式,模式1为水平模式,模式2为直流模式,模式3为平面模式,而模式4~模式31利用表示为如下表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)中的一个值的(dx,dy)被定义为具有tan-1(dy/dx)的方向性的预测模式。
[0143] 【表一】
[0144]
[0145]
[0146] 最后模式32如利用图17后述,可设定为利用双线性插值(bilinear interpolation)的双线性模式。
[0147] 图16为用于说明根据本发明一实施例的具有多种方向性的帧内预测模式的参照图。
[0148] 如参照表1前述,根据本发明一实施例的帧内预测模式可利用多个(dx,dy)参数而具有tan-1(dy/dx)的各种方向性。
[0149] 参照图16,将位于以当前编码单位内部的所要预测的当前像素P为中心,并具有基于表1中所示的各模式(dx,dy)的值所确定的tan-1(dy/dx)的角度的延长线160上的周边像素(A,B)用作当前像素P的预测像素。此时,用作预测像素的周边像素优选为在之前已被编码并解码的、当前编码单位的上侧和左侧的之前编码单位的像素。并且,当延长线160通过作为不是整数位置的周边像素的整数位置的周边像素之间时,可以将更靠近延长线160的周边像素用作当前像素P的预测像素。并且,如图所示,当存在有与延长线160相遇的上侧的周边像素A和左侧的周边像素B这两个周边像素时,将上侧的周边像素A和左侧的周边像素B的平均值用作当前像素P的预测像素,或者当dx*dy值为正数时,可利用上侧的周边像素A,当dx*dy值为负数时,可利用左侧的周边像素B。
[0150] 如表1所示,优选地具有多种方向性的帧内预测模式在编码端和解码端被预设,由此仅传送各编码单位都设定的帧内预测模式的相关索引(index)。
[0151] 图17为用于说明根据本发明一实施例的双线性模式的参照图。
[0152] 参照图17,双线性(Bi-linear)模式以当前编码单位内部的所要预测的当前像素P为中心计算考虑到当前像素P和其上下左右边界的像素值、从当前像素P到上下左右边界为止的距离的几何平均值,由此将其结果值用作当前像素P的预测像素。即,在双线性模式中利用作为当前像素P的预测像素的位于当前像素P的上下左右边界的像素A171、像素B172、像素D176以及像素E177和从当前像素P到上下左右边界为止的距离的几何平均值。此时,双线性模式仍然是帧内预测模式中的一个,因此需要利用作为预测时的参照像素的之前被编码之后恢复的上侧和左侧的周边像素。因此,对于像素A171和像素B,不是原原本本地利用当前编码单位内部的相关像素值,而是利用通过利用上侧和左侧的周边像素而生成的假想的像素值。
[0153] 具体来讲,首先如下面数学式1,通过计算邻近于当前编码单位的上侧最右侧的周边像素(Rightuppixel)174以及左侧最下侧的周边像素(LeftDownPixel)175的平均值,计算位于当前编码单位的右侧最下端位置的假想的像素C173。
[0154] 【数学式1】
[0155] C=0.5(LeftDownPixel+RightUpPixel)
[0156] 然后,如下面数学式2,考虑从当前像素P到左侧边界为止的距离W1和到右侧边界为止的距离W2,计算将当前像素P朝下端延长时位于最下侧边界线的假想的像素A171的值。
[0157] 【数学式2】
[0158] A=(C*W1+LeftDownPixel*W2)/(W1+W2)
[0159] 类似地,如下面数学式3,考虑从当前像素P到上侧边界为止的距离h1和到下侧边界为止的距离h2,计算将当前像素P向右侧延长时位于最右侧边界线的假想的像素B172的值。
[0160] 【数学式3】
[0161] B=(C*h1+RightUpPixel*h2)/(h1+h2)
[0162] 当利用数学式1至3,确定当前像素P170的下侧边界线上的假想的像素A171以及右侧边界线上的假想的像素B172的值时,可以将A+B+D+E的平均值用作当前像素P170的预测像素。这种双线性预测过程适用于当前编码单位内部的所有像素,以生成基于双线性预测模式的当前编码单位的预测编码单位。
[0163] 根据本发明一实施例,根据基于编码单位的大小设定为多样的帧内预测模式进行预测编码,因此基于图像特性,可进行更加有效的压缩。
[0164] 如上所示,从图12的帧内预测部1200的预测部1210,适用根据编码单位的大小设定为多样的帧内预测模式而输出的预测编码单位,基于所适用的帧内预测模式具有预定的方向性。对于这种预测编码单位内部的方向性来说,当将被编码的当前编码单位的像素具有预定方向性时,可提高预测效率,但是当前编码单位的像素不具有预定方向性时,有可能降低预测效率。因此后处理部1220作为对于通过帧内预测生成的预测编码单位的后处理动作,通过利用预测编码单位内部的各像素和至少一个周边像素来变更预测编码单位内部的各像素的像素值来生成新的预测编码单位,由此可提高图像的预测效率。
[0165] 以下,对图12的后处理部1220中进行的预测编码单位的后处理动作进行说明。
[0166] 后处理部1220通过利用了构成由预测部1210生成的第一预测编码单位的各像素和至少一个周边像素的运算来变更构成第一预测编码单位的各像素的像素值,由此生成第二预测编码单位。在此,预测部1210如上所述,适用基于编码单位的大小的可利用的帧内预测模式,生成第一预测编码单位。
[0167] 图18为用于说明根据本发明一实施例的第一预测编码单位的后处理动作的参照图。在图18,附图符号1810至1860按时间书序示出由后处理部1220进行处理的第一预测编码单位内部的各像素值变更的过程。
[0168] 参照图18,根据本发明一实施例的后处理部1220通过计算第一预测编码单位内部的所要变更的像素和其周边像素的像素值的加权平均值来变更第一预测编码单位的各像素的像素值。例如,在图18中,当将第一预测编码单位1810的所要变更的像素1821的像素值假设为f[1][1],位于上侧的像素1822的像素值假设为f[0][1],位于左侧的像素1823的像素值假设为f[1][0],变更像素1821的像素值f[1][1]的值假设为f′[1][1]时,f′[1][1]可由如下数学式1计算。
[0169] 【数学式1】
[0170]
[0171] 如图18所示,根据本发明一实施例的后处理部1220对于预测编码单位内部的各像素值,通过从最左上侧至最右下侧方向计算所要变更的像素和位于其上侧和左侧的像素的加权平均值来变更第一预测编码单位的各像素的像素值。但是,根据本发明的预测编码单位的后处理动作并不限定于从最左上侧至最右下侧方向,可以沿最右上侧至最左下侧的方向,或者最右下侧至最左上侧的方向,或者最左下侧至最右上侧的方向依次对第一预测编码单位的各像素进行后处理动作。例如,后处理部1220与图18所示的处理顺序相反,沿最右下侧至最左上侧的方向变更第一预测编码单位的像素时,通过计算所要变更的像素和位于其下侧和右侧的像素的加权平均值来变更第一预测编码单位的各像素值。
[0172] 图19和图20为用于说明根据本发明一实施例的后处理部1220的动作的参照图。在图19,附图符号1910表示当前所要变更的第一预测编码单位的第一像素,附图符号1911至1918表示位置第一像素1910的周边的周边像素。
[0173] 参照图19,根据本发明一实施例的后处理部1220如图18所示,并不限定于位于第一预测编码单位的上侧和左侧的周边像素,可利用周边像素1911至1918中所选择的预定数量的周边像素进行对第一像素1910的后处理。即,参照图20,以当前编码单位的第一像素c为中心在其周边像素P1至P8中选择预定数量的周边像素,并通过利用所选择的周边像素和第一像素C的预定的运算来变更第一像素c的像素值。例如,当第一预测编码单位的大小假设为m×n(m和n为正整数),第一预测编码单位内部的所要变更的第i(i为0至m-1的整数)例第j(j为0至n-1的整数)行的第一像素1910的像素值假设为f[i][j],第一像素1910的周边像素1911至1918中用于进行后处理而被选择的n(n为2或3)个的像素的值分别假设为f1至fn时,后处理部1220如下面数学式2,将第一像素1910的像素值f[i][j]变更为f′[i][j]。
[0174] 【数学式2】
[0175] (n=2时)
[0176] (n=3时)
[0177] 后处理部1220对于第一预测编码单位1900内部的所有像素使用前述的数学式2来变更像素值,由此生成第二预测编码单位。前述的数学式2中虽然例示至利用三个的周边像素的情况,但并不限定于此,后处理部1220可利用四个以上的周边像素来进行后处理动作。
[0178] 根据本发明第二实施例的后处理部1220通过第一预测编码单位的所变更的各像素和位于各像素周边位置的像素的加权调和平均值来变更第一预测编码单位的各像素的像素值,由此生成第二预测编码单位。
[0179] 例如,根据本发明第二实施例的后处理部1220如下面数学式3,利用上侧和左侧的周边像素将位于第一预测编码单位的第i行第j列的像素的像素值f[i][j]变更为f′[i][j]。
[0180] 【数学式3】
[0181]
[0182] 在数学式3中,α、β、γ可具有任意的正整数值,作为一例可以为α=2、β=2、γ=1。
[0183] 根据本发明第三实施例的后处理部1220通过第一预测编码单位的将要变更的各像素和各像素的周边限速的加权几何平均值来变更第一预测编码单位的各像素的像素值,由此生成第二预测编码单位。
[0184] 例如,根据本发明的第三实施例的后处理部1220如下面数学式4,利用上侧和左侧的周边像素将位于第一预测编码单位的第i行第j列的像素的像素值f[i][j]变更为f′[i][j]。
[0185] 【数学式4】
[0186]
[0187] 在数学式4中,α、β、γ可具有任意的正整数值,作为一例可以为α=2、β=2、γ=1。在前述的数学式2至数学式4,均对所要变更的像素f[i][j]赋予了相对较大的加权值。
[0188] 如前所示,在根据本发明第一实施例至第三实施例,后处理部1220并不限定于利用所要变更的像素的上侧和左侧的周边像素来进行后处理动作,可以利用如图19所示的周边像素1911至1918中所选择的预定数量的周边像素来进行后处理动作。
[0189] 根据本发明第四实施例的后处理部1220利用第一预测编码单位的所要变更的像素和其周边像素中所选择的一个周边像素的平均值来变更第一预测编码单位的各像素的像素值,由此生成第二预测编码单位。
[0190] 例如,根据本发明第四实施例的后处理部1220如下面数学式5,利用上侧的周边像素将位于第一预测编码单位的第i行第j列的像素的像素值f[i][j]变更为f′[i][j]。
[0191] 【数学式5】
[0192]
[0193] 类似地,根据本发明第五实施例的后处理部1220利用第一预测编码单位的将要变更的像素和位于其左侧的周边像素的平均值来变更第一预测编码单位的各像素的像素值,由此生成第二编码单位。
[0194] 即,根据本发明第五实施例的后处理部1220如下面数学式6,将位于第一预测编码单位的第i行第j列的像素的像素值f[i][j]变更为f′[i][j]。
[0195] 【数学式6】
[0196]
[0197] 根据本发明第六实施例的后处理1220利用第一预测编码单位的所要变更的像素、其周边像素之间的中间值(median)来变更像素值,由此生成第二预测编码单位。例如,再次参照图19,位于第一预测编码单位1900的第i行第j列的第一像素1910的像素值f[i][j]、第二像素1912的像素至f[i][j-1]、第三像素1911的像素值f[i-1][j]假设具有如下大小顺序:f[i][j-1]>f[i-1][j]>f[i][j]。此时,根据本发明第六实施例的后处理部1220将所要变更的第一像素1910的像素值f[i][j]变更为作为中间值的f[i-1][j]。
[0198] 根据本发明第七实施例至第九实施例的后处理部1220没有利用将要变更的像素的周边像素,而是利用在当前编码单位之前被编码之后复原的相邻的编码单位的像素值来生成第二预测编码单位。
[0199] 再次参照图19,根据本发明第七实施例的后处理部1220如下面数学式7计算位于与第一预测编码单位1900内部的所要变更的位于第i行第j列的第一像素1910相同列,且位于当前编码单位的上侧邻近编码单位的像素1921的平均值,以将第一像素1910的像素值变更为f′[i][j]。
[0200] 【数学式7】
[0201]
[0202] 在数学式7中,f[-1][j]表示位于与第一像素1910相同的列且位于当前编码单位的上侧邻近编码单位的像素1921的像素值。
[0203] 类似地,根据本发明第八实施例的后处理部1220如下面数学式8计算位于与第一预测编码单位1900内部的所要变更的位于第i行第j列的第一像素1910相同的行,且位于当前编码单位的左侧邻近编码单位的像素1922的平均值,以将第一像素1910的像素值变更为f′[i][j]。
[0204] 【数学式8】
[0205]
[0206] 在数学式8中,f[i][-1]表示位于与第一像素1910相同的行且位于当前编码单位的左侧邻近编码单位的像素1922的像素值。
[0207] 根据本发明第九实施例的后处理部1220如下面数学式9计算位于第一预测编码单位内部的所要变更的第i行第j列的第一像素1910、位于与第一像素1910相同列且位于当前编码单位的上侧邻近编码单位的像素1921以及位于相同行且位于当前编码单位的左侧邻近编码单位的像素1922的加权平均值,以将第一像素1910的像素值变更为f′[i][j]。
[0208] 【数学式9】
[0209]
[0210] 根据本发明第十实施例的后处理部1220利用下面数学式10至13中的某一个数学式将第一预测编码单位1900内部的所要变更的第一像素的像素值f[i][j]变更为f′[i][j]。
[0211] 【数学式10】
[0212] f'[i][j]=min(f[i][j]+i,255)
[0213] 【数学式11】
[0214] f'[i][j]=min(f[i][j]+j,255)
[0215] 【数学式12】
[0216] f'[i][j]=max(f[i][j]-i,0)
[0217] 【数学式13】
[0218] f'[i][j]=max(f[i][j]-j,0)
[0219] 数学式10以第一预测编码单位的列单位将像素值变更为沿向下方向逐渐增加的值,数学式11以第一预测编码单位的行单位将像素值变更为沿向右方向逐渐增加的值。数学式12以第一预测编码单位的列单位将各像素值变更为沿向下方向逐渐减小的值,数学式13以第一预测编码单位的行单位将各像素值变更为沿向右方向逐渐减小的值。
[0220] 根据本发明第十一实施例的后处理部1220当位于第一预测编码单位内部的所要变更的第i行第j列的第一像素的像素值假设为f[i][j],位于第一预测编码单位的最左上侧的像素的像素值假设为f[0][0],位于与第一像素相同的第j列且位于第一预测编码单位的最上侧行的像素的像素值假设为f[0][j],位于与第一像素相同的第i行且位于第一预测编码单位的最左侧列的像素的像素值假设为f[i][0],且G[i][j]=f[i][0]+f[0][j]+f[0][0]时,如下面数学式14将第一像素的像素值变更为f′[i][j]。
[0221] 【数学式14】
[0222] f'[i][j]=(f[i][j]+G[i][j])/2
[0223] 数学式14作为一种基于波动方程(wave equation)的数学式,为了使第一预测编码内部的像素值平滑化(smoothing),以第一预测编码单位的最上侧上的像素值与最左侧列的像素值作为边界条件计算G[i][j],并计算G[i][j]与f[i][j]的平均值,由此变更第一预测编码单位的像素的像素值。
[0224] 对如根据本发明的第一实施例至第十一实施例适用多种运算模式而生成第二预测编码单位进行编码的比特流的代价(cost)被比较,从而使得用于生成具有最小代价的第二预测编码单位的运算信息被加到比特流的帧头域。在将运算信息加到比特流时,基于在对预定数量的编码单位完成编码之后所确定的运算信息的分布,使用对利用较多的运算信息分配较少的比特的可变长度编码方式,由此区别表示相互不同的运算。例如,当根据本发明第一实施例的运算为在大部分编码单位中产生最小代价的最佳的运算时,可通过对表示根据第一实施例的运算的索引分配最小的比特,将根据第一实施例的运算与其他实施例的运算区别开。
[0225] 另外,当将编码单位划分为更小的子编码单位而进行预测时,可以以各子编码单位使用相互不同的运算来生成第二预测编码单位,并且为了简化计算且降低开销(overhead)的比率,可以使包含于相同的编码单位的子编码单位使用相同的运算。
[0226] 为了确定最佳的运算模式,可利用率失真优化(Rate-Distortion Optimization)算法。根据本发明一实施例的编码方法适用于被用作其他编码单位的参照数据的帧内预测编码单位,因此优选为在率失真优化算法中对失真值(distortion)附上高加权值来计算代价。即,率失真优化算法如下面数学式15,基于作为被编码的图像与原图像的差值的失真值和所产生的比特率计算代价。
[0227] 【数学式15】
[0228] 代价(cost)=失真值+比特率
[0229] 与此相反,根据本发明一实施例的编码方式如下面数学式16,相比现有的率失真优化算法,优选为对失真值分配更高的加权值,以确定最佳的运算模式。
[0230] 【数学式16】
[0231] 代价(cost)=α*失真值+比特率(α为2以上的实数)
[0232] 图21为示出根据本发明一实施例的图像编码方法的流程图。
[0233] 参照图21,在步骤2110,生成关于将要编码的当前编码单位的第一预测编码单位。在此,第一预测编码单位为使用一般的帧内预测方式和如前所述的基于编码单位的大小而具有多种方向性的帧内预测模式来生成的帧内预测块。
[0234] 在步骤2120,利用构成第一预测编码单位的各像素和至少一个周边像素变更第一预测编码单位的各像素的像素值,由此生成第二预测编码单位。如前述的后处理部1220的第一实施例至第十一实施例的说明,以第一预测编码单位的所要变更的像素为中心,对其周边像素适用多种运算模式而变更第一预测编码单位的各像素的像素值,由此生成第二预测编码单位。
[0235] 在步骤2130,对作为当前编码单位与第二预测编码单位的差值的剩余误差进行变换、逆量化以及熵编码而生成比特流。所生成的比特流的预定域中附加用于生成第二预测编码单位的运算信息,由此使得在解码装置生成当前编码单位的第二预测编码单位。
[0236] 图22为示出根据本发明一实施例的图像解码方法的流程图。
[0237] 参照图22,在步骤2210,从所接收的比特流提取将要被解码的当前解码单位的预测模式信息。
[0238] 在步骤2220,基于所提取的预测模式信息生成针对当前解码单位的第一预测解码单位。
[0239] 在步骤2230,从比特流提取利用构成第一预测解码单位的各像素和各像素的周边像素的运算信息。
[0240] 在步骤2240,基于所提取的运算信息,利用构成第一预测解码单位的各像素和各像素的周边像素变更各像素的像素值,以生成第二预测解码单位。
[0241] 在步骤2250,从比特流提取相当于当前解码单位与第二预测解码单位的差值的剩余误差并复原。
[0242] 在步骤2260,剩余误差与第二预测解码单位进行加法运算,以解码当前解码单位。
[0243] 根据本发明的图像编码、解码方法可在计算机可读记录介质上用计算机可读代码实现。计算机可读记录介质包括存储计算机系统可读取的数据的所有类型的记录装置。记录介质的示例包括ROM、RAM、CD-ROM、磁带、软盘、光学数据存储装置等。此外,计算机可读记录介质也可分布于网络连接的计算机系统上,以便计算机可读代码以分布方式被存储并被执行。
[0244] 到目前为止,以优选实施例为中心对本发明进行了说明。但对于本发明所述技术领域的具有通常知识的技术人员来说应当知道,在不脱离本发明的本质性的特征的范围内,能够以变形的形态实现。因此,所公开的实施例不能理解为限定性的,而应当以说明的观点进行考虑。本发明的范围并不体现在前述的说明,而是体现在权利要求书中,与其等同的范围内的所有区别点应当解释为包含于本发明。