影像处理方法、利用其的影像解码及编码方法
技术领域
本发明涉及一种影像编码及解码,更详细而言,涉及将视频图像分割为多个块进行帧内预测及变换的方法。
背景技术
影像压缩方法中将一个图像区分为具有预定大小的多个块来执行编码。并且,为了提高压缩效率,利用去除多个图像之间的冗余的帧间预测(inter prediction)及帧内预测(intra prediction)技术。
此时,利用帧内预测及帧间预测生成残差信号(residual signal),求残差信号是因为利用残差信号进行编码时,由于数据量小而数据压缩率变高,预测越好,残差信号的值越小。
帧内预测方法利用当前块的周边像素来预测当前块的数据。将实际值和预测值的差称为残差信号。HEVC的情况下,帧内预测方法从现有的H.264/AVC中使用的9个预测模式增加为35个预测模式,从而,更加细化预测。
帧间预测方法中,通过将当前块与周边的多个像素内的块进行比较搜索最相似的块。此时,将对所搜索的块的位置信息(Vx、Vy)称为运动矢量(motion vector)。将利用当前块和运动矢量所预测的预测块之间的块内像素值之间的差称为残差信号(residualsignal)块(motion-compensated residual block)。
如此,虽进一步细化帧内预测和帧间预测而残差信号的数据量减少,但是,用于处理视频的计算量大大增加。
尤其,因确定用于影像编码及解码的图像内分割结构的过程变复杂,因此,在实现管线等时存在困难,在现有的块分割方法以及由此分割的块的大小可能不适合高分辨率影像的编码。
发明内容
本发明是为解决如上所述的问题而提出的,其目的在于,提供一种适合高分辨率影像的编码及解码的影像处理方法以及利用其的影像解码及编码方法。
为解决上述的问题,根据本发明的一实施例的影像处理方法,其中,包括:将影像的图像分割为执行帧间预测或帧内预测的基本单位的多个编码单元的步骤;以及对于在所述经分割的编码单元中经帧内预测的单元选择性地构建预测模式列表用以从与解码对象块相邻的周边块的帧内预测方向导出所述解码对象块的预测方向,所述编码单元分割步骤包括将所述图像或所述经分割的编码单元分割为二叉树结构的步骤。
根据本发明的一实施例的影像解码方法,包括:输入得到经编码的比特流的步骤;对所述所输入的比特流进行逆量化及逆变换而获得残差块的步骤;执行帧间预测或帧内预测获得预测块的步骤;对所述所获得的残差块和预测块相加而重建影像的步骤;以及对所述重建的影像,按所述编码单元执行自适应环路滤波的步骤,执行所述帧间预测或帧内预测的基本单位的编码单元是采用二叉树结构从编码树单元分割的块,获得所述预测块的步骤进一步包括对于在所述经分割的编码单元中经帧内预测的单元选择性地构建预测模式列表用以从与解码对象块相邻的周边块的帧内预测方向导出所述解码对象块的预测方向。
另外,所述方法可由计算机可读记录介质实现,在计算机可读记录介质上记录在计算机执行的程序。
发明效果
根据本发明的实施例,通过将执行帧间预测或帧内预测的基本单位的编码单元分割为二叉树结构,并对分割的编码单元从周围块构建用于帧内预测的预测模式列表,从而,能够提高对高分辨率影像的编码效率。
附图说明
图1是示出根据本发明的一实施例的影像编码装置的结构的框图。
图2至图5是用于说明以块单位处理影像的方法的第一实施例的图。
图6是用于说明在影像编码装置执行帧间预测的方法的一实施例的框图。
图7是示出根据本发明的一实施例的影像解码装置的结构的框图。
图8是用于说明在影像解码装置执行帧间预测的方法的一实施例的框图。
图9是用于说明以块单位处理影像的方法的第二实施例的图。
图10是示出以块单位处理影像时所使用的语法(Syntax)结构的一实施例的图。
图11是用于说明以块单位处理影像的方法的第三实施例的图。
图12是用于说明将编码单元分割为二叉树结构构建变换单元的方法的一实施例的图。
图13是用于说明以块单位处理影像的方法的第四实施例的图。
图14至图16是用于说明以块单位处理影像的方法的其他实施例的图。
图17及图18是用于说明执行速率失真优化(Rate distortion Optimization)确定变换单元的分割结构的方法的实施例的图。
图19是用于说明根据本发明的基于块的自适应环路滤波器方法的第一实施例的图。
图20是用于说明根据本发明的基于块的自适应环路滤波器方法的第二实施例的图。
图21是用于说明执行根据本发明的一实施例的帧内预测的解码装置的动作的流程图。
图22至图24是用于说明从根据本发明的实施例的周边块构建MPM模式的方式的参考图。
图25是用于说明根据本发明的实施例的MPM目录构建方法的流程图。
图26及图27是用于说明根据本发明的实施例在不是MPM模式的情况下的帧内预测模式解码方法的流程图。
图28是用于说明根据本发明的实施例的MPM模式及非MPM模式的基于更新的解码方式的流程图。
具体实施方式
下面参照附图详细说明本发明的实施方式。在说明本发明的实施例时,若判断对相关公知结构或功能的具体说明会使本说明书的要旨不明确时,可以省略对其的详细说明。
当被提及某种结构要素与另一结构要素“连接”或“联接”时,应当理解为可以直接与其他结构要素相连接或相联接,但在中间也可存在其他组成要素。并且,在本发明中描述为“包含”特定结构的内容并不排除相应结构之外的结构,而可意味着在本发明的实施或本发明的技术思想范围内可包含附加结构。
第一和/或第二等术语可用于说明多种结构要素,但所述结构要素并不局限于所述术语。所述术语以从其他结构要素区分一个结构要素为目的而使用。例如在不脱离本发明的权利范围的情况下,第一结构要素可以被称为第二结构要素,类似地,第二结构要素也可以被称为第一结构要素。
独立地示出本发明的实施例中所示的构成部件,以表示彼此不同的特征功能。因此,这并不意指每个组成部分都是以单独的硬件或软件的组成单元组成的。换句话说,为了方便起见,每个构成部分都包括每个列举的组成部分。因此,每个构成部分的至少两个构成部分可以被组合以形成一个构成部分,或者一个构成部分可以被分成多个构成部分以执行每个功能。如果不偏离本发明的本质,组合每个构成部分的实施例和分离其中一个构成部分的实施例也包括在本发明的范围内。
此外,一些组分可能不是执行本发明的基本功能的不可缺少的组分,而是仅仅改善其性能的选择性组分。除了用于改善性能的组分之外,本发明可以通过仅包括用于实现本发明的本质的必不可少的组分来实现。除了仅用于提高性能的选择性组分以外,仅包含不可缺少的组分的结构也包含在本发明的范围内。
图1是示出根据本发明的一实施例的影像编码装置的结构的框图,影像编码装置10,包括:图像分割部110、变换部120、量化部130、扫描部131、熵编码部140、帧内预测部150、帧间预测部160、逆量化部135、逆变换部125、后处理部170、图像存储部180、减法部190以及加法部195。
参照图1,图像分割部110分析所输入的视频信号以编码单位分割图像后确定预测模式,并按所述编码单元确定预测单元的大小。
所述图像分割部110根据预测模式(或预测方法)将待编码的预测单元传送至帧内预测部150或帧间预测部160。并且,图像分割部110将待编码的预测单元传送至减法部190。
此处,影像的图像由多个切片构成,切片可分割为用于分割图像的基本单位的多个编码树单元CTU(Coding Tree Unit:)。
所述编码树单元可分割为执行帧间预测(inter prediction)或帧内预测(intraprediction)的基本单位的一个以上的编码单元CU(Coding Unit)。
编码单元CU可分割为执行预测的基本单位的一个以上的预测单元PU(Predictionunit)。
此时,编码装置10对所述经分割的编码单元CU分别以预测方法确定帧间预测及帧内预测中的一个,但是,对每个预测单元PU可生成不同的预测块。
一方面,编码单元CU可分割为对残差块residual block进行变换的基本单位的一个以上的变换单元TU(Transform Unit)。
此时,图像分割部110以如上所述分割的块单位(例如,预测单元PU或变换单元TU)将影像数据传送至减法部190。
参照图2,最大具有256×256像素尺寸的编码树单元CTU分割为四叉树(quadtree)结构,从而,可以分割为具有正方形形态的4个编码单元CU。
具有正方形形态的4个编码单元CU分别可再分割为四叉树结构,如上所述,被分割为四叉树结构的编码单元CU的深度(Depth)可具有0至3中的一个整数值。
编码单元CU根据预测模式可分割为一个以上的预测单元PU。
在帧内预测模式下编码单元CU的大小为2N×2N时,预测单元PU的大小可为如图3(a)所示的2N×2N或图3(b)所示的N×N。
一方面,在帧间预测模式下编码单元CU的大小为2N×2N时,预测单元PU的大小可为如图4(a)所示的2N×2N、图4(b)所示的2N×N、图4(c)所示的N×2N、图4(d)所示的N×N、图4(e)所示的2N×nU、图4(f)所示的2N×nD、图4(g)所示的nL×2N及图4(h)所示的nR×2N中的一个大小。
参照图5,编码单元CU分割为四叉树quad tree结构,从而,可分割为具有正方形形态的4个变换单元TU。
具有正方形形态的4个编码单元CU分别可再分割为四叉树结构,如上所述,被分割为四叉树结构的变换单元TU的深度(Depth)可具有0至3中的一个整数值。
此处,编码单元CU为帧间预测模式时,从该编码单元CU分割的预测单元PU与变换单元TU可具有相互独立的分割结构。
编码单元CU为帧内预测模式时,从该编码单元CU分割的变换单元TU不能大于预测单元PU的大小。
而且,如上所述分割的变换单元最大具有64×64像素尺寸。
变换部120对所输入的预测单元PU的原始块和在帧内预测部150或帧间预测部160生成的预测块之间的残差信号的残差块进行变换,所述变换将变换单元TU作为基本单位执行。
在所述变换过程中,可根据预测模式(intra or inter)确定相互不同的变换矩阵,帧内预测的残差信号根据帧内预测模式具有方向性,因此,变换矩阵根据帧内预测模式可自适应地确定。
变换单位可通过2个(水平、垂直)一维变换矩阵变换,例如,帧间预测的情况下可确定事先确定的一个变换矩阵。
一方面,帧内预测情况下,在帧内预测模式为水平时,残差块具有垂直方向的方向性地概率变高,因此,垂直方向适用基于DCT的整数矩阵,水平方向适用基于DST或基于KLT的整数矩阵,帧内预测模式为垂直时,垂直方向适用基于DST或基于KLT的整数矩阵,水平方向适用基于DCT的整数矩阵。
并且,在DC模式下两方向均可适用基于DCT的整数矩阵。
而且,帧内预测情况下,可基于变换单元TU的大小自适应地确定变换矩阵。
量化部130确定用于量化通过所述变换矩阵变换的残差块的系数的量化步长,可按照预设大小以上的量化单元确定量化步长。
量化单元的大小可为8×8或16×16,量化部130利用根据量化步长及预测模式而确定的量化矩阵对多个变换块的系数进行量化。
而且,量化部130作为当前量化单元的量化步长的预测子,可以利用与当前量化单元相邻的量化单元的量化步长。
量化部130以当前量化单元的左侧量化单元、上侧量化单元、左上侧量化单元的顺序进行搜索,可利用1个或2个有效的量化步长生成当前量化单元的量化步长预测子。
例如,量化部130将由所述顺序搜索的有效的第一个量化步长确定为量化步长预测子,或者将由所述顺序搜索的有效的2个量化步长的平均值确定为量化步长预测子,或者在只有1个量化步长有效时,可将其确定为量化步长预测子。
若确定所述量化步长预测子,量化部130将当前量化单元的量化步长和量化步长预测子之间的差分值传送至熵编码部140。
一方面,当前编码单元的左侧编码单元、上侧编码单元、左上侧编码单元可以都不存在,或者在最大编码单元内的编码顺序上可以存在之前存在的编码单元。
因此,按照编码的顺序,在与当前编码单元相邻的量化单元和所述最大编码单元内紧前面的量化单元的量化步长成为候选。
此时,可以以1)当前编码单元的左侧量化单元、2)当前编码单元的上侧量化单元、3)当前编码单元的左上侧量化单元、4)按照编码顺序紧前面的量化单元的顺序设定优先顺序。所述顺序可以改变,还可以省略所述左上侧量化单元。
一方面,如上所述经量化的变换块被传送至逆量化部135和扫描部131。
扫描部131对经量化的变换块的系数进行扫描并将它们变换成一维量化系数,此时,由于量化后的变换块的系数分布会取决于帧内预测模式,非零因此,可以根据帧内预测模式确定扫描方式。
并且,可以根据变换单位的大小不同地确定系数扫描方式,并且,所述扫描方式可根据方向性帧内预测模式而不同,此时,量化系数的扫描顺序可以在相反方向上扫描。
当所述经量化的系数被分割为多个子集时,对每个子集内的量化系数适用相同的扫描方式,子集之间的扫描方式可以是Z字形扫描或对角线扫描。
一方面,优选地,所述扫描方式从包括DC的主子集扫描到正向的剩余子集,但是,也可以进行反向扫描。
另外,可以以与子集中经量化的系数的扫描方式相同的方式设置子集之间的扫描方式,可根据帧内预测模式确定子集之间的扫描方式。
另一方面,编码装置10使可以指示在所述变换单元PU中非零的最后量化系数的位置和每个子集中非零的最后量化系数的位置的信息包括在比特流并传送至解码装置20。
逆量化部135对如上所述经量化的量化系数进行逆量化,逆变换部125以变换单元TU执行逆变换,可以将经逆量化的变换系数重建为空间区域的残差块。
加法部195相加由所述逆变换部125重建的残差块和自帧内预测部150或帧间预测部160接收的预测块,可以生成重建块。
另外,后处理部170可以执行解块(deblocking)滤波过程,以消除在重建的图像中产生的方块效应;样本自适应偏移SAO(Sample Adaptive Offset)适用过程,以像素单位补偿与原始图像之间的差值;以及自适应环路滤波ALF(Adaptive Loof Filtering),以编码单元补偿与原始图像之间的差值。
解块滤波过程可适用于具有预定大小以上的大小的预测单元PU或变换单元TU的边界。
例如,解块滤波过程可包括:确定待滤波的边界(bounary)的步骤;确定适用于所述边界的边界滤波强度的步骤;确定是否适用解块滤波器的步骤;以及确定适用解块滤波器时,选择适用于所述边界的滤波器的步骤。
另一方面,是否适用所述解块滤波器可取决于i)所述边界滤波强度是否大于0;以及ii)与所述待滤波的边界相邻的2个块(P块、Q块)边界部份的像素值是否小于表示变化程度的值的量化参数所确定的第一参考值。
所述滤波器优选至少为2个。若位于块边界的2个像素之间的差值的绝对值大于或等于第二参考值,则选择执行相对弱滤波的滤波器。
所述第二参考值由所述量化参数和所述边界滤波强度而确定。
此外,样本自适应偏移SAO适用过程用于减小适用解块滤波的影像内的像素和原始像素之间的差值(distortion),可以以图像或切片单位确定是否适用样本自适应偏移SAO。
图像或切片可分割为多个偏移区域,可对每个偏移区域确定偏移类型,所述偏移类型可包括预定数量(例如4个)的边缘偏移类型和2个带偏移类型。
例如,当偏移类型为边缘偏移类型时,确定各像素所属的边缘类型来适用与其相对应的偏移,所述边缘类型可以基于与当前像素相邻的2个像素值的分布来确定。
自适应环路滤波ALF过程可以基于比较经解块滤波过程或自适应偏移适用过程的重建影像和原始影像的值进行滤波。
图像存储部180从后处理部170接收经后处理的影像数据,并以图像单位重建影像进行存储,图像可为帧单位的影像或场单位的影像。
帧间预测部160可以使用存储在图像存储部180中的至少一个参考图像执行运动估计,并可以确定表示参考图像的参考图像索引和运动矢量。
此时,根据所确定的参考图像索引和运动矢量可从存储在图像存储部180中的多个参考图像中用于运动估计的参考图像提取对应于待编码的预测单元的预测块。
帧内预测部150可以使用包括当前预测单元的图像中重建像素值来执行帧内预测编码。
帧内预测部150接收待预测编码的当前预测单元,并根据当前块的大小选择预定数量的帧内预测模式中的一个来执行帧内预测。
帧内预测部150可以自适应地滤波参考像素以生成帧内预测块,在不能利用参考像素时,可以利用可用参考像素来生成参考像素。
熵编码部140可以对通过量化部130量化的量化系数、自帧内预测部150接收的帧内预测信息,自帧间预测部160接收的运动信息等进行熵编码。
图6是示出在编码装置10执行帧间预测的结构的一实施例的框图,图示的帧间预测编码器可包括,运动信息确定部161,运动信息编码模式确定部162、运动信息编码部163、预测块生成部164、残差块生成部165、残差块编码部166及多路复用器167。
参照图6,运动信息确定部161确定当前块的运动信息,运动信息包括参考图像索引和运动矢量,参考图像索引可表示已被编码重建图像中的一个。
可包括对当前块进行单向帧间预测编码时,表示属于列表0(L0)的参考图像中的一个,对当前块进行双向预测编码时,表示列表0(L0)的参考图像中的一个的参考图像索引和表示列表1(L1)的参考图像中的一个的参考图像索引。
并且,还可包括对当前块进行双向预测编码时,表示结合列表0和列表1而生成的复合列表(L/C)的参考图像中的一个或2个图像的索引。
运动矢量表示每个参考图像索引所指示的图像中的预测块的位置,所述运动矢量可以是像素单位(整数单位)或子像素单位。
例如,所述运动矢量可具有1/2、1/4、1/8或1/16像素的分辨率,当运动向量不是整数单位时,预测块可由整数单位的像素生成。
运动信息编码模式确定部162可以由跳过模式、合并模式及AMVP模式中的一个来确定对当前块的运动信息的编码模式。
跳过模式在存在具有与当前块的运动信息相同的运动信息的跳过候选的情况下适用,残差信号为0的情况下适用,所述跳过模式可在预测单元PU即当前块的大小与编码单元CU和相同时适用。
合并模式在存在具有与当前块的运动信息相同的运动信息的合并候选的情况下适用,所述合并模式在当前块的大小与编码单元CU不同或相同时,存在残差信号的情况下适用。一方面,合并候选可与跳过候选相同。
AMVP模式是在不适用跳过模式和合并模式的情况下适用,可以将具有与当前块的运动向量最相似的运动向量的AMVP候选选择为AMVP预测子。
运动信息编码部163可根据由运动信息编码模式确定部162确定的方式对运动信息进行编码。
例如,运动信息编码部163在运动信息编码模式为跳过模式或合并模式时执行合并运动矢量编码过程,当AMVP模式时执行AMVP编码过程。
预测块生成部164利用当前块的运动信息生成预测块,运动向量为整数单位时,复制与参考图像索引所指示的图像中的运动矢量表示的位置相对应的块,生成当前块的预测块。
一方面,当运动矢量不是整数单位时,预测块生成部164可以从由参考图像索引所指示的图像中的整数单位像素生成预测块的像素。
此时,对亮度像素可使用8抽头内插滤波器生成预测像素,并且对色度像素可使用4抽头内插滤波器生成预测像素。
残差块生成部165使用当前块和当前块的预测块生成残差块,当当前块的大小为2N×2N时,可以利用当前块和与当前块对应的大小为2N×2N的预测块生成残差块。
一方面,当用于预测的当前块的大小为2N×N或N×2N时,分别对构建2N×2N的2个2N×N块求预测块之后,可以利用2个2N×N预测块生成大小为2N×2N的最终预测块。
并且,还可以利用大小为2N×2N的预测块生成大小为2N×2N的残差块,为了解决大小为2N×N的2个预测块的边界部分的不连续性,对边界部分的像素可以适用重叠平滑。非零
残差块编码部166将所述残差块分割为一个以上的变换单元TU,并且可以对各变换单元TU进行变换编码、量化和熵编码。
残差块编码部166可以利用基于整数的变换矩来变换由帧间预测方法生成的残差块,并且,所述变换矩可为基于整数的DCT矩阵。
一方面,残差块编码部166利用量化矩阵来对由变换矩阵而变换的残差块的系数进行量化,并且,所述量化矩阵可由量化参数确定。
所述量化参数可按照预定大小以上的编码单元CU而确定,当前编码单元CU小于所述预定大小时,在所述预定大小内的编码单元CU中按编码顺序只对第一个编码单元CU的量化参数进行编码,而剩余编码单元CU的量化参数与所述参数相同,因此,可以不进行编码。
另外,可以使用根据所述量化参数和预测模式确定的量化矩阵来对所述变换块的系数进行量化。
可以使用与当前编码单元CU相邻的编码单元CU的量化参数来对按照所述预定大小以上的编码单元CU确定的量化参数进行预测编码。
以当前编码单元CU的左侧编码单元CU、上侧编码单元CU的顺序进行搜索利用1个或2个有效的量化参数生成当前编码单元CU的量化参数预测子。
例如,可以将以上述顺序搜索的有效的第一个量化参数确定为量化参数预测子,并且,以左侧编码单元CU、按编码顺序紧前面的编码单位CU的顺序进行搜索来将有效的第一个量化参数确定为量化参数预测子。
扫描经量化的变换块的系数并将其变换为一维量化系数,并且,可以根据熵编码模式不同地设置扫描方式。
例如,用CABAC进行编码时,可以按预定的一种方式(之字形或对角线方向进行光栅扫描)扫描经帧间预测编码的量化系数,在使用CAVLC进行编码时,可以与上述方式不同的方式进行扫描。
例如,帧间扫描时采用之字形扫描,帧内扫描时可根据帧内预测模式确定扫描方式,并且,可以根据变换单元的大小不同地确定系数扫描方式。
一方面,所述扫描方式可根据方向性帧内预测模式而不同,并且,量化系数的扫描顺序可以以相反方向扫描。
多路复用器167对由所述运动信息编码部163进行编码的运动信息和由所述残差块编码部166进行编码的残差信号进行多路分配。
所述运动信息可根据编码模式而不同。例如,在跳过模式或合并模式的情况下,所述运动信息仅包括指示预测子的索引,在AMVP模式的情况下,所述运动信息可以包括当前块的参考图像索引、差分运动矢量和AMVP索引。
下面,将详细说明图1中所示的帧内预测部150的操作的一实施例。
首先,帧内预测部150从图像分割部110接收预测模式信息及预测单元PU的大小,并且,从图像存储部180读取参考像素来确定预测单元PU的帧内预测模式。
帧内预测部150通过检查是否存在不可用的参考像素来判断是否生成参考像素,并且,所述参考像素可用于确定当前块的帧内预测模式。
当前块位于当前图像的上边界时,不定义与当前块上侧相邻的像素,当前块位于当前图像的左边界时,不定义与当前块的左侧相邻的像素,可以确定所述像素不是可用像素。
而且,在当前块位于切片边界而与切片的上侧或左侧相邻的像素不是先经编码而重建的像素时,也可以判断为不是可用的像素。
如上所述,当没有与当前块的左侧或上侧相邻的像素时,或者没有预先经编码重建的像素时,可以仅使用可用像素来确定当前块的帧内预测模式。
一方面,还可以利用当前块的可用参考像素来生成不可用位置的参考像素,例如,当上部块的像素不可用时,可以利用左侧像素的局部或全部来生成上侧像素,反之亦然。
即,从不可用位置的参考像素复制在预定方向上最近位置的可用参考像素来生成参考像素,或者在预定方向上没有可用的参考像素时,可以复制相反方向上最近位置的可用参考像素来生成参考像素。
一方面,存在当前块的上侧像素或左侧像素时,也可以根据所述像素所属块的编码模式将确定为不可用像素。
例如,与当前块的上侧相邻的参考像素所属块为被帧间编码而重建的块时,可以将所述像素判断为不可用像素。
此时,可以利用属于与当前块相邻的块被帧内编码而重建的块的像素来生成可用的参考像素,编码装置10根据编码模式将判断为可用的参考像素的信息传送至解码装置20。
帧内预测部150利用所述参考像素确定当前块的帧内预测模式,当前块中可允许的帧内预测模式的数量可以根据块的大小而不同。
例如,当前块的大小为8×8、16×16、32×32时,可以存在34个帧内预测模式,当前块的大小为4×4时,可以存在17个帧内预测模式。
所述34个或17个帧内预测模式可由至少一个非方向性模式和多个方向性模式组成。
至少一个非方向性模式可为DC模式及/或平面模式。当DC模式及平面模式为非方向性模式时,无论当前块的大小如何,都可能存在35个帧内预测模式。
在这种情况下,可以包括2个非方向性模式(DC模式和平面模式)及33个方向性模式。
在平面模式时,利用位于当前块的右下侧的至少一个像素值(或所述像素值的预测值,以下称为第一参考值)和参考像素来生成当前块的预测块。
根据本发明的一实施例的影像解码装置的组成可以从参照图1至图6说明的影像编码装置10的组成导出,例如,通过相反地执行参照图1至图6所说明的影像编码方法的过程可以对影像进行解码。
图7是示出根据本发明的一实施例的视频解码装置的结构的框图,解码装置20包括熵解码部210、逆量化/逆变换部220、加法器270、解块滤波器250、图像存储部260、帧内预测部230、运动补偿预测部240以及帧内/帧间切换开关280。
熵解码部210输入得到在影像编码装置10上经编码的位流进行解码,划分为帧内预测模式索引、运动信息、量化系数序列等,并将经解码的运动信息传送至运动补偿预测部240。
熵解码部210将帧内预测模式索引传送至帧内预测部230及逆量化/逆变换部220,将逆量化系数序列传送至逆量化/逆变换部220。
逆量化/逆变换部220将所述量化系数序列变换为二维排列的逆量化系数,为进行所述变换,可从多个扫描方式中选择一种,例如,可基于当前块的预测模式(即帧内预测或帧间预测)和帧内预测模式选择扫描方式。
逆量化/逆变换部220对二维排列的逆量化系数适用从多个量化矩阵中选择的量化矩阵来重建量化系数。
一方面,根据要重建的当前块的大小适用相互不同的量化矩阵,对相同大小的块也可基于所述当前块的预测模式及帧内预测模式中的至少一个选择量化矩阵。
逆量化/逆变换部220对所述重建的量化系数进行逆变换重建残差块,所述逆变换过程可将变换单元TU作为基本单位执行。
加法器270对通过逆量化/逆变换部220重建的残差块和通过帧内预测部230或运动补偿预测部40生成的预测块进行相加重建影像块。
截块滤波器250对通过加法器270生成的重建影像进行解块滤波处理,可以减小在量化过程中因影像损失而导致的截块伪影。
图像存储部260是帧存储器,用于存储通过截块滤波器250执行截块滤波处理的解码影像。
帧内预测部230基于从熵解码部210接收的帧内预测模式索引重建当前块的帧内预测模式,根据重建的帧内预测模式生成预测块。
运动补偿预测部240基于运动向量信息从存储在图像存储部260的图像生成对当前块的预测块,适用小数精密度的运动补偿时,适用所选择的内插滤波器生成预测块。
帧内/帧间切换开关280基于编码模式可向加法器270提供在帧内预测部230和运动补偿预测部240中的一个生成的预测块。
图8是示出在影像解码装置20执行帧间预测的组成的一实施例的框图,帧间预测解码器,包括:多路复用器241、运动信息编码模式判断部242、合并模式运动信息解码部243、AMVP模式运动信息解码部244、预测块生成部245、残差块解码部246以及重建块生成部247。
参照图8,多路复用器241对从所接收的比特流至当前经编码的运动信息和经编码的残差信号进行多路分配,将经多路分配的运动信息传送至运动信息编码模式判断部242,将经多路分配的残差信号传送至残差块解码部246。
运动信息编码模式判断部242判断当前块的运动信息编码模式,所接收的比特流的skip_flag为1时,可以判断当前块的运动信息编码模式以跳过编码模式被编码。
运动信息编码模式判断部242,当所接收的比特流的skip_flag为0,由多路复用器241接收的运动信息只具有合并索引时,可以判断当前块的运动信息编码模式以合并模式被编码。
运动信息编码模式判断部242,当所接收的比特流的skip_flag为0,由多路复用器241接收的运动信息具有参考图像索引和差分运动向量和AMVP索引时,可以判断当前块的运动信息编码模式以AMVP模式被编码。
合并模式运动信息解码部243当运动信息编码模式判断部242将当前块的运动信息编码模式判断为跳过模式或合并模式时被激活,AMVP模式运动信息解码部244当运动信息编码模式判断部242将当前块的运动信息编码模式判断为AMVP模式时被激活。
预测块生成部245利用由合并模式运动信息解码部243或AMVP模式运动信息解码部244重建的运动信息生成当前块的预测块。
运动向量为整数单位时,可以复制与参考图像索引所指示的图像中的运动矢量表示的位置对应的块,生成当前块的预测块。
一方面,当运动矢量不是整数单位时,从参考图像索引所指示的图像中的整数单位像素来生成预测块的像素,当亮度像素时,可使用8插头内插滤波器来生成预测像素,当色度像素时,可使用4抽头内插滤波器来生成预测像素。
残差块解码部246对残差信号进行熵解码,并且,对经熵解码的系数进行逆扫描生成二维量化系数块,逆扫描方式可根据熵解码方式而不同。
例如,基于CABAC进行解码时适用对角线方向的光栅逆扫描方式,基于CAVLC的解码时适用之字形逆扫描方式,可以适用所述逆扫描方式。而且,所述逆扫描方式可根据预测块的大小而不同地确定。
残差块解码部246将如所述生成的系数块利用逆量化矩阵进行逆量化,为了导出所述量化矩阵可以重建量化参数。此处,量化步长可按预定大小以上的编码单元重建。
残差块解码部260对所述逆量化系数块进行逆变化重建残差块。
重建块生成部270对由所述预测块生成部250生成的预测块和由所述残差块解码部260生成的残差块进行相加而生成重建块。
下面,再次参照图7说明通过帧内预测重建当前块的过程的一实施例。
首先,从接收的比特流对当前块的帧内预测模式进行解码,为此,熵解码部210参照多个帧内预测模式表中的一个重建当前块的第一帧内预测模式索引。
所述多个帧内预测模式表是编码装置10和解码装置20共享的表,可适用对与当前块相邻的多个块按照帧内预测模式的分布选择的任一表。
例如,当前块的左侧块的帧内预测模式和当前块的上侧块的帧内预测模式相同时,可以适用第一帧内预测模式表重建当前块的第一帧内预测模式索引,若不相同,则可以适用第二帧内预测模式表重建当前块的第一帧内预测模式索引。
作为其他例,当前块的上侧块和左侧块的帧内预测模式均为方向性预测模式(directional intra prediction)的情况下,所述上侧块的帧内预测模式的方向与所述左侧块的帧内预测模式的方向在预定角度以内时,可以适用第一帧内预测模式表重建当前块的第一帧内预测模式索引,若超过预定角,则可以适用第二帧内预测模式表重建当前块的第一帧内预测模式索引。
熵解码部210将重建的当前块的第一帧内预测模式索引传送至帧内预测部230。
接收第一帧内预测模式索引的帧内预测部230,当所述索引具有最小值时(即0),可以将当前块的最大可能模式确定为当前块的帧内预测模式。
一方面,帧内预测部230,当所述索引具有0之外的值时,对当前块的最大可能模式所表示的索引和所述第一帧内预测模式索引进行比较,比较结果所述第一帧内预测模式索引大于等于所述当前块的最大可能模式所表示的索引时,将与对所述第一帧内预测模式索引加1的第二帧内预测模式索引相对应的帧内预测模式确定为当前块的帧内预测模式,若不是,则可以将对应于所述第一帧内预测模式索引的帧内预测模式确定为当前块的帧内预测模式。
对当前块可允许的帧内预测模式可由至少一个非方向性模式和多个方向性模式组成。
至少一个非方向性模式可为DC模式及/或平面模式。并且,DC模式及平面模式中的一个可自适应地包含于所述可允许的帧内预测模式集合。
为此,对图像首标或切片首标可包含特定在所述可允许的帧内预测模式集合中包含的非方向性模式的信息。
接着,帧内预测部230为了生成帧内预测块而从图像存储部260读取参考像素,并判断是否存在不可用参考像素。
所述判断可根据适用当前块的经解码的帧内预测模式生成帧内预测块时所利用的参考像素的存在与否而执行。
接着,有必要生成参考像素时,帧内预测部230可以利用预先重建的可用参考像素生成不可用位置的参考像素。
对不可用参考像素的定义及参考像素的生成方法可与图1的帧内预测部150的操作相同,但是,根据当前块的经解码的帧内预测模式可选择性地重建生成帧内预测块时利用的参考像素。
而且,帧内预测部230为了生成预测块判断对参考像素是否适用滤波器,即基于所述经解码的帧内预测模式及当前预测块的大小确定为了生成当前块的帧内预测块对参考像素是否适用滤波器。
而且,块的大小越大解块伪影的问题也越大,因此,块的大小越大,可以增加对参考像素进行滤波的预测模式的数量,但是,块大于预定大小时会看成平坦的区域,因此,为了减小复杂度,对参考像素可以不进行滤波。
若判断对所述参考像素有必要进行滤波,则帧内预测部230利用滤波器对所述参考像素进行滤波。
根据所述参考像素之间的差异程度,可以自适应地适用至少2个滤波器。所述滤波器的滤波系数相对称为佳。
另外,可以根据当前块的大小自适应地适用至少2个滤波器,并且,当适用滤波器时,对于具有小尺寸的块适用窄带滤波器,对于具有大尺寸的块适用宽带滤波器。
在DC模式下,由于由参考像素的平均值生成预测块,因此不需要适用滤波器,在不同的垂直方向上具有关联性的垂直模式下,对参考像素不必适用滤波器,影像在水平方向上具有关联性的水平模式下也不必对参考像素适用滤波器。
如此,是否适用滤波与当前块的帧内预测模式也有关联,因此,可以基于当前块的帧内预测模式和预测块的大小自适应地滤波参考像素。
接着,帧内预测部230根据所述重建的帧内预测模式利用参考像素或经滤波的参考像素生成预测块,所述预测块的生成可以与在编码装置10的工作相同,因此,将省略对其的详细说明。
帧内预测部230判断是否对所生成的预测块进行滤波,可根据切片首标或编码单元首标中包含的信息或者当前块的帧内预测模式确定是否进行滤波。
若判断为对所生成的预测块进行滤波,则帧内预测部230可通过对利用与当前块相邻的可用参考像素生成的预测块的特定位置的像素进行滤波而生成新的像素。
例如,在DC模式下,可以利用与预测像素接触的参考像素来滤波在预测像素中与参考像素接触的预测像素。
因此,根据预测像素的位置利用1个或2个参考像素对预测像素进行滤波,并且可以将DC模式下的预测像素的滤波适用于所有大小的预测块。
一方面,在垂直模式下,可利用生成所述预测块时利用的除上侧像素以外的参考像素来变更预测块的预测像素中与左侧参考像素接触的预测像素。
同样地,在水平模式下,可利用生成所述预测块时利用的除左侧像素以外的参考像素来变更所生成的预测块中与上侧参考像素接触的预测像素。
通过利用以这种方式重建的当前块的预测块和经解码的当前块的残差块,可以重建当前块。
图9是用于说明将影像以块单位分割处理的方法的第二实施例的图。
参照图9,最多具有256×256像素尺寸的编码树单元CTU先分割为四叉树(四叉树)结构,从而,可分割为具有正方形形态的4个编码单元CU。
此处,被分割为所述四叉树结构的编码单元中的至少一个分割为二叉树(bunarytree)结构,然后,可再分割为具有矩形形态的2个编码单元CU。
一方面,被分割为所述四叉树结构的编码单元中的至少一个分割为四叉树结构,然后,可再分割为具有正方形形态的4个编码单元CU。
一方面,再分割为所述二叉树结构的编码单元中的至少一个再分割为二叉树结构,然后,可分割为具有正方形或矩形形态的2个编码单元CU。
一方面,再分割为所述四叉树结构的编码单元中的一个再分割为四叉树结构或二叉树结构,然后,可分割为具有正方形或矩形形态的编码单元CU。
如上所述,分割为二叉树结构而构建的编码块CB可以用于预测和变换而不会再分割。即,属于图9所示的编码块CB的预测单元PU和变换单元TU的大小可与相应编码块CB的大小相同。
如上所述,可以利用参照图3和图4说明的方法将分割为四叉树结构的编码单元分割为一个以上的预测单元PU。
另外,如上所述分割为四叉树结构的编码单元可以利用参照图5说明的方法分割为一个以上的变换单元TU,所述经分割的变换单元TU最大可具有64×64的像素尺寸。
图10示出用于将影像以块单位分割处理时使用的语法结构的一实施例。
参照图10,利用split_cu_flag来表示是否分割参照图9说明的编码单元CU,并利用binary_depth来表示采用二叉树分割的编码单元CU的深度。
而且,还可由另外的binary_split_flag表示编码单元CU是否分割为二叉树结构。
对通过参照图9及图10说明的方法分割的块(例如,编码单元CU、预测单元PU、以及变换单元TU)适用参照图1至图8说明的方法,对影像进行编码及解码。
下面,参照图11至图16说明将编码单元CU分割为1个以上的变换单元TU的方法的其他实施例。
根据本发明的实施例,编码单元CU分割为二叉树结构,并可分为对残差块进行变换的基本单位的变换单元TU。
参照图11,分割为二叉树结构,且具有大小为N×2N或2N×N的矩形编码块(CB0、CB1)中的至少一个再次分割为二叉树结构,从而,可分割为大小为N×N的正方形变换单元(TU0、TU1)。
如上所述,基于块的影像编码方法可以执行预测、变换、量化及熵编码的步骤。
在所述预测步骤中,通过参照执行当前编码的块和现有已经编码的影像或周边影像生成预测信号,通过此预测信号可以计算与当前块的差分信号。
并且,在变换步骤中,输入所述差分信号并使用各种变换函数执行变换,所述经变换后的信号分为DC系数和AC系数,并执行能量压缩,可以提高编码效率。
并且,在量化步骤中,通过输入变换系数来执行量化,然后,对量化的信号执行熵编码,从而可以对影像进行编码。
一方面,影像解码方法以与上述的编码过程相反顺序执行,并且,在量化步骤中会发生影像质量失真的现象。
作为提高编码效率的同时减小影像质量失真现象,根据在变换步骤中输入的差分信号的分布及影像的特征,可以多样地设定变换单元TU的大小或形状以及所适用的变换函数的种类。
例如,在预测步骤中,通过基于块的运动估计过程搜索与当前块相似的块时,利用SAD(绝对差之和)或MSE(均方差)等成本(cost)测定方法,差分信号的分布可根据影像的特性具有多样的形态。
因此,通过基于各种差分信号的分布选择性地确定变换单元CU的大小或形状,从而,可以有效地进行编码。
参照图12,当在某个编码块CBx中如12(a)所示发生差分信号时,如图12(b)所示,将该编码块CBx分割为二叉树结构并分割为2个变换单元TU,从而,可以有效地进行变换。
例如,可以说通常DC值表示输入信号的平均值,因此,当接收到在变换过程输入如图12(a)所示的差信号时,编码块CBx分割为2个变换单元TU,从而,可以有效地表示DC值。
参照图13,将大小为2N×2N的正方形编码单元(CU0)分割为二叉树结构,并可分割为大小为N×2N或2N×N的矩形变换单元(TU0、TU1)。
根据本发明的另一实施例,如上所述,将编码单元CU分割为二叉树结构的步骤可以重复执行2次以上,从而,可以分割为多个变换单元TU。
参照图14,将大小为N×2N的矩形编码块(CB1)分割为二叉树结构,并将所述经分割的大小为N×N的块再分割为二叉树结构构建大小为N/2×N或N×N/2的矩形块,然后,将大小为N/2×N或N×N/2的块再分割为二叉树结构,从而,可以分割为大小为N/2×N/2的正方形变换单元(TU1、TU2、TU4、TU5)。
参照图15,将大小为2N×2N的正方形编码块(CB0)分割为二叉树结构,并将所述经分割的大小为N×2N的块再分割为二叉树结构构建大小为N×N的正方形块,然后,将大小为N×N的块再分割为二叉树结构,从而,可以分割为大小为N/2×N的矩形变换单元(TU1、TU2)。
参照图16,将大小为2N×N的矩形编码块(CB0)分割为二叉树结构,并将所述经分割的大小为N×N的块再分割为四叉树结构,从而,可以将大小为N/2×N/2的块分割为正方形变换单元(TU1、TU2、TU3、TU4)。
通过对参照图11至图16说明的方法分割的块(例如,编码单元CU、预测单元PU及变换单元TU)适用与参照图1至8非零说明的相同的方法,从而,可以对影像进行编码及解码。
下面,说明根据本发明的编码装置10确定块分割结构的方法的实施例。
设置在影像编码装置10中的图像分割部110按照预定顺序执行速率失真优化(Rate distortion Optimization,RDO),可以确定如上所述可分割的编码单元CU、预测单元PU及变换单元TU的分割结构。
例如,为了确定块分割结构,图像分割部110在执行速率失真优化(Ratedistortion Optimization,RDO)的同时,可在比特流和失真方面确定最佳的块分割结构。
参照图17,当编码单元CU具有2N×2N的像素尺寸的形态时,以图17(a)所示的2N×2N像素尺寸、图17(b)所示的N×N像素尺寸、图17(c)所示的N×2N像素尺寸、图17(d)所示的2N×N像素尺寸的变换单元PU分割结构顺序执行速率失真优化,以确定变换单元PU的最佳分割结构。
参照图18,当编码单元CU具有N×2N或2N×N像素尺寸的形态时,以图18(a)所示的N×2N(或2N×N)的像素尺寸、图18(b)所示的N×N的像素尺寸、图18(c)所示的N/2×N(或N×N/2)及N×N的像素尺寸、图18(d)所示的N/2×N/2、N/2×N及N×N的像素尺寸、图18(e)所示的N/2×N的像素尺寸的变换单元PU分割结构顺序执行速率失真优化,以确定变换单元PU的最佳分割结构。
以上尽管通过执行速率失真优化(RDO)来确定块分割结构的情况为例说明了本发明的块分割方法,但是,图像分割部110通过利用绝对差之和(Sum of Absolutedifference,SAD)和均方差(Mean Square Error,MSE)确定块分割结构,从而,可以降低复杂性,并保持适当的效率。
根据本发明的一实施例,可根据如上所述分割的编码单元CU、预测单元PU或变换单元TU为单位确定是否适用自适应环路滤波(Adaptive Loof Filtering,ALF)。
例如,可以以编码单元CU单位确定是否适用自适应环路滤波器ALF,并且,所适用的环路滤波器的大小或系数可根据编码单元CU而不同。
此时,表示是否针对每个编码单元CU适用自适应环路滤波器ALF的信息可以包括在每个切片首标中。
在色度信号的情况下,可以以图像单位确定是否适用自适应环路滤波器ALF,与亮度不同,环路滤波器的形状也可以具有矩形形状。
另外,所述自适应环路滤波ALF可以按照切片确定是否适用。因此,表示自适应环路滤波ALF是否适用于当前切片的信息可以包含在切片首标或图像首标。
若表示对当前切片适用了自适应环路滤波,则切片首标或图像首标可另外包括表示在自适应环路滤波过程中使用的亮度分量的水平及/或垂直方向的滤波器长度的信息。
切片首标或图像首标可包括表示滤波器组的数量的信息,滤波器组的数量为2个以上时,滤波器系数可以使用预测方法进行编码。
因此,切片首标或图像首标可以包括表示滤波器系数是否用预测方法编码的信息,使用预测方法时可以包含预测的滤波器系数。
一方面,除了亮度之外对色度分量也可以自适应地进行滤波,此时,表示对每个色度分量是否进行滤波的信息可以包括在切片首标或图像首标中,为了减少比特数,可以与表示对Cr和Cb是否进行滤波的信息一起联合编码(即多重编码)。
此时,在色度分量的情况下,为了减低复杂度,对Cr和Cb都不进行滤波的可能性频繁地发生,因此,在对Cr和Cb都不进行滤波时,可以分配最小的索引,来执行熵编码。
对于Cr和Cb都进行滤波的情况下,可以分配最大的索引来执行熵编码。
参照图19,如图19(a)所示,最大具有256×256像素尺寸的编码树单元CTU分割为四叉树结构,从而,可分割为具有正方形形态的4个编码单元CU。
另外,所述具有正方形形态的4个编码单元CU分别可再分割为四叉树结构,如上所述分割为四叉树结构的编码单元CU的深度可具有0至3中的一个整数。
如图19(a)所示,可以确定对经分割的编码单元CU是否适用自适应环路滤波ALF,并且,包括是否适用自适应环路滤波ALF的编码单元CU的分割结构可以如图19(b)表示。
此处,split_cu_flag表示是否对节点进行分割,split_cu_flag为0时,相应节点的编码单元CU不被分割为更小尺寸的块,split_cu_flag为1时,相应节点的编码单元CU分割为更小尺寸的编码单元CU。
并且,ALF_on/off_flag表示对节点是否适用自适应环路滤波器,ALF_on/off_flag为0时,对该节点的编码单元CU不适用自适应环路滤波器ALF,ALF_on/off_flag为1时,对该节点的编码单元CU适应自适应环路滤波器ALF。
参照图20,如图20(a)所示,最大具有256×256像素尺寸的编码树单元CTU先分割为四叉树结构,然后可分割为具有正方形形态的4个编码单元CU。
此时,分割为所述四叉树结构的编码单元中的至少一个分割为二叉树结构,然后,可以再分割为具有矩形形状的2个编码单元CU。
一方面,分割为所述四叉树结构的编码单元中的至少一个分割为四叉树结构,从而,可以再分割为具有正方形形态的4个编码单元CU。
并且,再分割为所述二叉树结构的编码单元中的至少一个再分割为二叉树结构,从而,可以分割为具有正方形或矩形形状的2个编码单元CU。
一方面,再分割为所述四叉树结构的编码单元中的至少一个再分割为四叉树结构或二叉树结构,从而,可以分割为具有正方形或矩形形状的编码单元CU。
如图20(a)所示,可以确定对经分割的编码单元CU是否分别适用自适应环路滤波ALF,包含是否适用自适应环路滤波ALF的编码单元CU的分割结构如图20(b)表示。
图20(b)中,连接节点的实线表示上侧的节点分割为四叉树结构而形成下侧的节点,连接节点的虚线表示上侧的节点分割为二叉树结构而形成下侧的节点。
图21是用于说明根据本发明的一实施例的执行帧内预测的解码装置20的动作的流程图。
根据本发明的另一实施例,影像编码装置10可以对帧内预测模式进行编码而传送。影像编码装置10针对对编码对象块的帧内预测模式进行编码而传送时,为了减少要传送的比特量并提高编码效率,可以使用通过帧内预测部150对上述的帧内预测方向预测帧内预测模式的方法。解码装置20接收对帧内预测的信号信息,可以利用选自帧内预测模式候选的预测模式执行帧内预测解码。
尤其,编码对象块的预测模式与相邻的周边(Neighboring)块的预测模式相同的概率较高,因此,影像编码装置10通过帧内预测部150可以利用与编码对象块相邻的周边块的预测模式可以对编码对象块的预测模式进行编码。下面,用作对编码对象块的帧内预测模式的预测值的预测模式称为MPM(Most Probable Mode),下面,周边块(NeighboringBlock)指与当前块相邻的块。
帧内预测部150从与编码对象块相邻的周边块可以导出(Derivation)MPM候选模式,利用导出的MPM候选模式可以生成MPM列表(MPM List)。此时,帧内预测部150可以将从周边块导出的MPM候选模式分配给MPM列表。并且,帧内预测部150可以利用MPM列表对帧内预测模式进行编码。
影像编码装置10可以利用MPM列表对编码对象块的预测模式执行帧内预测编码。如此,当对当前编码块通过周边块的预测模式的导出方式执行编码方法时,影像编码装置10可以将其他的标志发送到解码器。
更具体而言,周边块的预测模式候选可从MPM列表构建,当利用所述MPM列表中的至少一个预测模式导出当前块的预测模式时,影像编码装置10利用MPM列表判断是否进行帧内预测编码,并可以对应此向MPM标志(MPM Flag)分配预定值。
并且,MPM标志可以被发送到影像解码装置20,影像解码装置20以与影像编码装置10的编码方法相同的方式构建MPM列表,可以对当前块执行解码。此时,作为用于判断当前块是否利用MPM列表执行编码的标志可以利用MPM标志(MPM Flag)。作为一实施例,发送到影像解码装置20的MPM标志(MPM Flag)可以通过诸如prev_intra_luma_pred_flag或MPM_Flag的等语句来表达。例如,当前块为在MPM列表内诱导预测方向执行编码的块时,对MPM标志(MPM标志)可以分配1,否则为0。
另一方面,影像编码装置10,在不使用MPM模式编码时(MPM Flag==False)根据选择模式(Selected Mode)或非选择模式(Non-Selected Mode)中的任一个程序执行帧内预测模式编码。
在选择模式执行编码时,影像编码装置10根据方向模式数量对不包括在MPM模式中的预测方向模式执行定长编码(Fixed Length Code),并传送至影像解码装置20。此时,影像编码装置10可以向影像解码装置20传送选择模式标志(Selected Mode Flag)表示是否通过选择模式执行帧内预测编码。
此处,影像编码装置10在选择模式下执行帧内预测编码时,可以对Selected_mode_Flag分配1,在非选择模式下执行帧内预测编码时,可以对Selected_mode_flag分配0。在非选择模式下执行帧内预测编码时,影像编码装置10通过截断二进制编码(TRUNCATEDBINARY CODING)对在MPM模式及选择模式中未选择的预测方向中的一个进行编码,并传送至影像解码装置20。
并且,在MPM列表内存在与编码对象块的预测模式相同的MPM候选模式时,编码器可以向解码器传送指示编码对象块的预测模式在MPM列表内MPM候选模式中的从哪个MPM候选模式诱导的索引。下面,将所述索引称为MPM索引。作为一实施例,MPM索引可由mpm_idx表示。
在构建所述MPM列表的步骤中,影像编码装置10可以通过修剪处理方法等去除冗余预测模式以便去除冗余预测模式。另外,在构建MPM列表的顺序中,影像编码装置10可以通过当前块的周边块的画面内预测模式和任意预测模式来构建MPM列表。
作为构建所述MPM列表的一例,影像编码装置10可以以当前块的左块(Leftblock)、上块(Above block)、左下块(Below-Left block)、右上块(Above-Right block),左上块(Above-Left block)等的顺序构建MPM列表,可以通过从周边块中去除冗余预测模式填满MPM列表之后构建DC或Planar模式来完成MPM列表的构建。如此构建时,MPM列表的现有/基本模式(Initial Mode)可包括Left、Above、Planar、DC、Below-Left、Above-Right、Above-left,所述顺序可根据标准及编码效率等调整。
尤其,根据本发明的实施例,分割为所述四叉树结构的编码单元中的至少一个分割为二叉树结构(binary tree),然后,再分割为具有矩形形态的2个编码单元CU或者再分割为具有正方形形态的4个编码单元CU,或者在分割为所述二叉树结构的编码单元中的至少一个再分割为二叉树结构,从而,可以分割为正方形或矩形形态的2个编码单元CU。并且,对所述分割结构的信息可利用于构成所述MPM候选列表。
此时,通过联合适用如上所述的四叉树结构和二叉树结构,在编码及解码过程中,为了提高效率,对应是否利用MPM候选模式及不是MPM模式的情况,可以需要附加处理。
作为画面内预测编码的详细实施例,如上述图9所示,用于执行编码的编码单元可分割为正方形块和水平方向的矩形块或垂直方向的矩形块。当利用水平/垂直方向的矩形块执行画面内预测时,可以根据块的特性、周边块的特性以及周边块被编码的条件来确定执行预测的方向,由此,影像编码装置10可以调整MPM列表的组成顺序。此时,块的特性可举块的形状、深度、宽度、高度及块的尺寸等。根据编码的周边块的特性执行画面内预测编码的当前块的MPM列表的组成顺序调整例可以如下。当周边块中的一个在水平的画面内预测方向(Horizontal intra-direction)上已被编码的情况下,执行画面内预测的当前块为水平方向的矩形块(Horizontally Oriented Rectangular Block)时,影像编码装置10可以调整MPM列表的组成顺序,将在与当前块的特性和形状类似的预测方向上编码的周边块优先或最优先构成MPM列表。
类似地,当周边块中的一个在垂直的画面内预测方向(Vertical Intra-direction)上已被编码的情况下,执行画面内预测的当前块为垂直方向的矩形块(Vertically Oriented Rectangular Block)时,影像编码装置10可以调整MPM列表的组成顺序,将在与当前块的特性和形状类似的预测方向上编码的周边块优先或最优先构成MPM列表。
如所述一实施例调整MPM列表时,例如,当一般情况下的现有或最初MPM列表为{Planar、DC、2、Hor、Ver、Digonal}时,根据周边块的预测模式方向性及当前块的特性,可以如{Hor、Planar、DC、2、Ver、Digonal}或{Ver、Planar、DC、2、Hor、Diagonal}优先及最优先调整具有水平或垂直方向的预测模式。此时,影像编码设备10可以通过解码装置20和预定规则或者通过向解码装置20另外传送特定信号来判断是否进行调整。
更具体而言,解码装置20从所述结构的周边块的帧内预测方向导出当前进行解码的块的预测方向来确定帧内预测模式,可以如图21进行工作。
首先,解码装置20根据MPM标志(prev_intra_luma_pred_flag或MPM_Flag)判断是否为MPM模式(S101)。
并且,MPM模式时,解码装置20利用MPM索引(MPM_idx)构建用于预测MPM模式的候选列表(S103)。
此处,解码装置20利用从当前进行解码的块可参考的周边块的预测模式可以构建MPM候选列表。例如,解码装置20基于周边至少5个块的预测模式构建最多6个MPM列表。
并且,解码装置20,为了预测当前进行解码的块,剖析MPM模式标志及MPM索引,导出当前块的预测方向可以执行帧内预测解码。例如,在预测方向可以利用65个模式和DC及Planar mode,作为候选参考从当前块编码成周边的左/左上/左下/上/右上的帧内块的至少5个块,从而,可以构建所述MPM列表。
若不能通过周边块的预测模式填满MPM列表时,解码装置20可以对已填满的预测模式(Angular mode)适用+1、+2、+3、…或者-1、-2、-3、…等偏移值由固有的预测模式(Unique angular mode)构成MPM列表。以如上所述的方法也不能构成MPM列表时,可以由任意预定的MPM List table或已定义的MPM List set构成MPM列表。
一方面,不是MPM模式时,可以举2个模式。第一个是选择模式,所述选择模式可由选择模式标志(Selected Mode Flag)表示。解码装置20根据选择模式标志(Selected_Mode_Flag)的值为0或1,可以确定选择模式(S105)。
在不是MPM模式时,为了导出预测方向,可包含通过预定的制约可不相朝重复的方向构建的附加模式,此时的索引可由定长度编码(FIXED LENGTH CODING)或截断二进制编码(TRUNCATED BINARY CODING)而处理。区分上面两种情况构建模式集合,可分别设定选择模式和非选择模式进行处理。
在选择模式下,如上所述,解码装置20构建预定的选择模式集合,并基于此执行预测(S107)。
选择模式列表可基于预定自然数的倍数而构建。并且,解码装置20接收选择模式索引或选择模式标志(Selected mode Flag==True),可以导出所述选择模式集合中的一个预测方向。并且,在对选择模式的索引进行预测编码时,例如可以有4位定长编码。
在非选择模式下(If Selected Mode Flag==False),解码装置20构建由不包含于所述选择模式的模式构建的非选择模式集合,基于此执行预测(S107)。
并且,解码装置20接收非选择模式索引,可以导出非选择模式集合中的一个预测方向。并且,对选择模式的索引进行预测编码时,例如可以有截断二进制编码。
作为根据选择模式和非选择模式的解码方法的一实施例,不包括在MPM列表中的61个预测模式包括具有16个预测模式的选择模式集合(Selected Modes Set)和剩余45个预测模式的非选择模式集合(Non-Selected Modes Set)。此时,选择模式可以由16个集合组成,并且初始预测模式可以由4的倍数组成,或者对初期4的倍数适用任意偏移值等来组成。非选择模式可由通过编码器及预设的方法不与包括在MPM列表及选择模式集合的预测模式重叠的预测模式构成非选择模式集合。
此时,选择模式的画面内预测的解码方法,通过4位定长编码对从编码器接收的选择模式标志(Selected mode flag==true)和在选择模式集合(Selected mode set)中选择的预测模式进行解码,从而,可以通过经解码的预测模式执行对当前块的解码。
向非选择模式画面内预测的解码方法可在选择模式标志的值为0或错误(false)执行,并对从编码器接收的截断二进制码进行解码,可以从非选择模式集合解码一个预测模式以解码当前块。图22至图24是用于说明从根据本发明的实施例的周边块构建MPM模式的方式的参考图。
参照图22,根据本发明的实施例,解码装置20在编码步骤中可从当前块的周边的至少5个块对预测模式(Angular模式)的预测子构建6个MPM列表并导出。
例如,如图22所示,对周边块进行帧间编码的情况下,影像编码装置10可参考从当前块Current Block位于上侧的上端块Top、上端的周边块所谓左上Top-Left及右上Top-Right块时,可选择这些作为MPM候选的一部分,并可根据编码效率确定是否加入至MPM列表中。
并且,影像编码装置10可参考从当前块位于周边的左侧的左侧块Left、左下块Left-Down时,可选择这些作为MPM候选的一部分,并可根据编码效率确定是否加入至MPM列表中。
并且,如上所述,如图9周边块编码成正方形或矩形结构时,块在左侧或上端等进行二进制分割而可以具有一个以上的上端块候选或一个以上的左侧块候选,此时,可以向MPM列表引导最多7个帧内预测块候选。
参照图23,图23是示出对67个帧内预测的角度模式的图,可以指0:Planar/1:DC模式。然后,根据方向可以存在65个预测模式(角度模式)。在本说明书中,将朝向左下端的方向称为非零Diagonal_2,朝向右上端的方向称为Diagonal_65。
并且,影像编码装置10及解码装置20基于MPM预测模式进行编码及解码过程中,为了从5个周边块填充至少6个MPM列表,根据后述的第一方法和第二方法确定模式之后,从周边再也块没有待确定的模式时,可根据第三方法构建列表。此时,Planar与DC的情况下,即便不能从周边块导出预测模式,也能通过第一方法进行确定。
第一方法:当周边块被帧内编码的情况下,影像编码装置10将周边块设置为参考块,附加与对列表不重复的参考块的预测模式(角度模式)及DC/Planar模式可以构建MPM列表。
第二方法:若通过第一方法不能填满所有6个MPM列表时,影像编码装置10可以在列表中附加从已填满的模式使用变量值(加法或差值@值,@=1,2,3…等)计算的预测模式。若仍不能填满6个MPM列表而因重复的预测模式(角度模式)在MPM列表中没有DC或Planar模式时,影像编码装置10将Planar和DC模式添加到列表中。
第三方法:影像编码装置10,通过所述第二方法及第三方法不能构建6个MPM列表时,基于垂直/水平/对角线_2(from Left-Down towards Right-Top Conner)/Diagonal_65(from Right-Top towards Left-Down Conner)构建6个MPM列表。通过第一方法在列表中已存在Planar及DC。
图24是根据本发明的实施例的四叉树块分割结构中由MPM模式对帧内C进行编码时的实施例。
在现有的四叉树块分区中,在一个编码单元CU中不能存在分割的预测单元PU,当以帧内块进行编码时,只能存在N×N的4个块或2N×2N的块分区。
然而,根据本发明的实施例,考虑上述的可以二叉树分割的四叉树块分区,在终端节点确定预测单位及编码单元的单位具有相同的大小时,可以如图24所示进行分割。因此,如以往,在周边5个所有块上不能参考帧内预测方向,此时,如上所述,可以提出如上所述用于构建MPM列表的方法。
图24所示,影像编码装置10可以通过第一方法将对帧内C的Planar模式和DC模式构建为MPM列表。并且,影像编码装置10由于不存在可参考的预测模式(角度模式),因此,可以跳过第二方法。并且,影像编码装置10可以通过第三方法按垂直/水平及两个对角线方向的顺序构建剩下的MPM列表来构建6个MPM列表。即便如此,MPM列表未按照固有的预测方向填满时,如上所述,可以将从已填满的模式使用变量值(加法或差值@值,@=1,2,3…等)计算的预测模式添加到列表。
图25是用于说明根据本发明的实施例的构建MPM列表的方法的流程图。
如在图22至图24所说明,根据本发明的实施例的解码装置20可通过帧内预测部230利用第一方法至第三方法依次构建用于MPM模式的MPM列表。按步骤说明列表的构建方法为如下。
首先,解码装置20判断当前块是否为帧内编码块(S201),不是帧内编码时执行帧间预测解码(S203)。
并且,当帧内编码块时,解码装置20基于MPM标志判断是否为MPM模式(S205)。
当不是MPM模式时,解码装置20通过非MPM模式进行解码(S207),对其将在后面进行详述。
并且,当MPM模式时,解码装置20判断当前块的上端或上端周边块是否可利用于帧内方向模式预测(S209)。
可用时,解码装置20将基于上端及上端周边块的预测模式加入至MPM列表(S211)。
不可用时,解码装置20重新判断是否可利用左侧及左侧周边块,可用时,将基于左侧及左侧周边块的预测模式加入至MPM列表(S213)。
然后,解码装置20判断是否已填满MPM列表(S215)。
未填满时,解码装置20判断是否存在对MPM列表可附加的预测模式(S217),并将可附加的预测模式添加到MPM列表(S219)。
不存在时,解码装置20将DC或Planner预测模式可分别附加添加到MPM列表(S221)。
然后,解码装置20可以判断MPM列表是否仍未填满(S223),未填满时,可以利用基本模式(默认模式)添加到MPM列表中(S225)。
此处,基本模式根据编码效率及标准等可以存在由任意预测模式集合构成的多个基本模式集合(Default Mode Set)。此时,为了填满MPM列表选择基本模式集合(DefaultMode Set)时,根据块的结构及特性选择多个基本模式集合中的一个或者通过另外的信令信号选择来构成MPM列表。
一方面,MPM列表已填满时,即例如MPM列表的数量成为6个时,解码装置20结束对MPM列表的构建,剖析对其的MPM索引信息,根据当前块的帧内预测模式进行解码。
图26及图27是用于说明根据本发明的实施例在不是MPM模式下的帧内预测模式解码方法的流程图。
参照图26,首先,解码装置20可以根据是否为MPM模式来确定多个非MPM模式。多个非MPM模式可为预设模式Non_MPM_mode_1、Non_MPM_mode_2,...中的任一个,可根据各自的标志确定。此处,Non_MPM_mode_1、Non_MPM_mode_2的名称可根据编码标准等而改变。作为一实施例,如图21的编码及解码方法,Non_MPM_mode_1由选择模式Selected mode执行,Non_MPM_mode_2由非选择模式Non-Selected mode执行,可以执行帧内预测编码及解码。
如图27所示,解码装置20根据MPM模式标志和选择模式标志是否为真(TRUE)进入各自的预测模式(MPM、选择模式和非选择模式),并可从MPM列表、选择模式集合或非选择模式集合导出预测模式。
首先,解码装置20可以通过剖析上述的MPM模式标志MPM mode Flag来确认MPM模式。
并且,在MPM模式的情况下,解码装置20可以以MPM模式执行解码。如上所述,在MPM模式下,可以通过67个帧内预测模式处理解码,其可以包括65个角度模式和DC/Planar模式。
一方面,当未通过MPM模式进行编码时,解码装置20可通过非MPM模式处理,此时,可以适用通过不包含于MPM模式的61个帧内模式中的一个进行解码的选择模式和非选择模。
此时,当通过现有方法执行定长编码时,总共需要6比特,因此,解码装置20将剩余61个帧内模式分类为多个非MPM模式,并且,可以根据经分类的非MPM模式按种类的预定算法来构建非MPM模式集合。
在当前解码块通过非MPM模式进行编码时,解码装置20对选择非MPM模式的种类的语法和所选择的非MPM模式集合的索引进行解码而可以导出解码块的预测模式(角度模式)。当以这种方式对非MPM模式的块进行编码及解码时,可根据分类的非MPM模式的数量和构建每个非MPM模式集合的规则来实现比特节省效果,并且可以提高编码效率。
作为一实施例,如图26所示,非MPM模式可分为2个。其中一个非MPM模式作为选择模式(Selected mode),将预测模式集合(Angular set)作为选择模式集合。
一方面,另一个可称为非选择模式(Non-Selected mode),对其的角集合(Angularset)可称为非选择模式集合,此时,非选择模式可以仅由不包含于选择模式集合中的角度模式构建。
例如,若将选择模式集合由4的倍数构建,则可以将在Planar和DC模式及MPM列表中不包含的2至67为止的角度模式构建如Set A={0,4,8,12,16,..60}总共16个集合,解码装置20对在编码步骤中选择的角度模式选择其中一个索引。
一方面,在非MPM模式中以选择模式选择解码块时,解码装置20可以对角度模式进行解码。附加地,由于可以用4位定长编码来进行编码及解码,因此与现有方法相比可以提高压缩效率。
接着,解码装置20可通过非选择模式集合(Non-MPM mode set)中不包含在MPM列表(6个预测方向模式)及选择模式(16个预测方向模式)的45个角度模式构建为Set B={1,2,3,5,6,7,......,59},将其通过截断二进制编码来进行解码,而可以提高编码及解码效率。
图28是用于说明根据本发明的实施例的MPM模式及非MPM模式的基于更新的解码方式的流程图。
参照图28,在通过非MPM模式解码的块中,直到更新为止通过设置为初始值的多个非MPM模式集合导出帧内方向模式(Intra angular),然后,可以通过更新基本设定的非MPM模式的集合构建来导出解码块的方向预测模式(Angular mode)。
因此,解码装置20先判断是否为MPM模式(S301),当MPM模式时,从MPM列表导出预测模式(S315),不是MPM模式而是非MPM模式时(S303)时,判断是否存在非MPM模式集合的更新信息(S305)。
为此,影像编码装置10可以在切片首标或图像首标包含非MPM更新信息并发送。非MPM更新信息可包括在非MPM模式中选择的模式信息或集合构建的预定规则的更新信息。
当没有更新时,解码装置20可以从初始非MPM模式集合导出预测模式(Angularmode)(S311)。
此时,当非MPM模式由2个构建时,解码装置20将其中一个模式构建为选择模式,将另一个模式构建为非选择模式后,将选择模式作为4的倍数集合、将非选择模式作为包含不包含于选择模式的模式的集合,构建初始非MPM集合(Initial Non-MPM set)。
若包含更新信息,则解码装置20可以更新选择模式集合和非MPM模式集合的角度模式的信息(S307),从更新的非MPM模式集合可以导出预测模式(Angular mode)。
例如,解码装置20构建基本模式列表(Default mode set),从图像首标、切片首标或图块首标获取与非MPM模式的多个基本模式集合(Default mode set)相对应的附加信息或者获取与预定的集合(Set)相对应的变化值,从而,可以更新多个非MPM模式集合。
此处,在周边块以不同的预测模式编码时,当用MPM模式的基本值(Default)填满MPM列表时,会存在压缩效率降低的可能性。因此,影像编码装置10通过作为差分信号值传送用于选择非MPM模式的默认集合的一部分的默认集合的索引和与所述索引相对应的方向预测模式(Angular mode)的附加预测模式(角度模式),可以有效地导出非MPM模式的角度。
例如,若基本模式集合如Default mode set={2,18,34,50,60}构建,则影像编码装置10可以仅传送与所述索引相对应的差分信号{1,0,3,3,2}。因此,解码装置20构建基本模式集合之后接收所述差分信号来获得更新的模式集合{3,18,37,52,62}。
并且,在使用对所述非MPM模式的多个模式列表时,解码装置20根据GOP单位可通过使用在前面的GOP选择预定频率以上的非MPM模式,从而,可以更新当前GOP。
并且,解码装置20基于通过步骤S311、步骤S309或步骤S315选择的预测模式对当前帧内块执行解码(S317)。
根据如上所述的本发明的方法被制作成可在计算机执行的程序,所述程序存储于计算机可读记录介质上,记录介质的例子包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储设备等,还包括以载波(例如,通过因特网的传播)形态体现。
计算机可读记录介质分布在由网络连接的计算机系统上,因此计算机可读代码以分布的形式被存储和执行。用于实现所述方法的功能性程序、编码以及编码段可由本发明所属领域的程序编制员容易推论。
以上示出并说明了本发明的优选实施例,但本发明并不局限于所述特定实施例,本发明所属技术领域的普通技术人员在不脱离发明要求保护范围所要求的本发明的主旨的范围内可对本发明进行多种变形实施,这种变形实施不能脱离本发明的技术思想或前景而单独被理解。