用于编码图像的装置的制作方法

文档序号:12697152阅读:232来源:国知局
用于编码图像的装置的制作方法

技术领域

本发明涉及一种帧内预测模式中的运动图片的解码方法,更特别的是,涉及一种恢复帧内预测模式、生成非常类似于原始块的预测块、解码剩余块以及利用预测块和剩余块生成重建块的方法。



背景技术:

在诸如运动图像专家组(MPEG)-1、MPEG-2、MPEG-4和H.264/MPEG-4高级视频编码(AVC)的图像压缩方法中,将一张图片分成多个宏块以编码图像。然后,利用帧间预测或帧内预测对各个宏块进行编码。

在帧内预测中,使用与当前块空间上相邻的重建后的像素的值,而不使用参考图片来对图片的当前块进行编码。通过将使用相邻像素值生成的预测块与原始宏块进行比较来选择畸变很小的帧内预测模式。然后,使用选定的帧内预测模式和相邻的像素值,计算当前块的预测值。计算预测值与原始的当前块的像素值之差,然后通过变换编码、量化和熵编码来对该差值进行编码。还对帧内预测模式进行编码。

在4×4的常规帧内预测中,存在九种模式:垂直模式、水平模式、DC模式、对角线左下模式、对角线右下模式、垂直右模式、垂直左模式、水平上模式和水平下模式。

根据H.264标准,在上述九种模式中选定一种模式来生成当前块的预测块。根据正在研发的HEVC标准,存在17或34种帧内预测模式。

然而,当与当前块相邻的像素的某些或全部值不存在或未被编码时,不可能对当前块应用这些或全部帧内预测模式。在这种情况下,如果通过从可用帧内预测模式中选择一种帧内预测模式来实施帧内预测,则预测块与原始块之间的畸变会变大。因此,降低编码效率。

而且,随着帧内预测模式数量增多,需要一种比常规方法更加有效的帧内预测模式编码新方法,以及一种更加有效的解码帧内预测模式并生成重建块的方法。



技术实现要素:

本发明涉及一种恢复帧内预测模式、生成非常类似于原始块的预测块、解码剩余块并且利用预测块和剩余块生成重建块的方法。

本发明的一个方面提供了一种帧内预测模式中的运动图片的解码方法,包括:解复用比特流以提取帧内预测信息和剩余信号,利用帧内预测信息和与当前预测单元相邻的预测单元的帧内预测模式,恢复当前预测单元的帧内预测模式,如果在预测单元中存在不可用参考像素,则利用一个或多个可用参考像素生成参考像素,根据恢复后的帧内预测模式适应性地过滤参考像素,利用恢复后的帧内预测模式和参考像素生成预测块,解码剩余信号以生成剩余块,以及利用预测块和剩余块生成重建块。

根据本发明的方法恢复当前预测单元的帧内预测模式,并且根据恢复后的帧内预测模式适应性过滤参考像素,以便生成使预测块与原始块之间的差别最小的预测块。通过根据帧内预测模式适应性解码剩余信号来生成剩余块。因此,通过生成非常类似于原始块的预测块,解码剩余块所需的比特量被最小化。并且,通过使用多个备选编码当前块的帧内预测模式,提高了帧内预测模式的编码效率。

附图说明

图1是根据本发明的运动图片编码装置的方框图。

图2是根据本发明的运动图片编码装置的帧内预测单元的方框图。

图3是示出根据本发明的用于帧内预测的参考像素位置的概念图。

图4是表示根据本发明的方向性帧内预测模式的概念图。

图5是根据本发明的运动图片解码装置的方框图。

图6是根据本发明的运动图片解码装置的帧内预测单元的方框图。

图7是表示根据本发明的帧内预测模式下解码步骤的流程图。

图8是表示根据本发明的恢复帧内预测模式的步骤的流程图。

图9是表示根据本发明的恢复帧内预测模式的另一步骤的流程图。

具体实施方式

下文中,将参照附图具体描述本发明的各个实施例。然而,本发明不限于下述示例性实施例,而是可以以不同类型实现。因此,对本发明的许多其他修改和变型也是可能的,并且应当理解,在所公开的原理的范围内,可以通过不同于具体描述的方式来实现本发明。

图1是根据本发明的运动图片编码装置的方框图。

参照图1,根据本发明的运动图片编码装置100包括图片分割单元110、转换单元120、量化单元130、扫描单元131、熵编码单元140、帧内预测单元150、帧间预测单元160、反量化单元135、反转换单元125、后处理单元170、图片存储单元180、减法器190和加法器195。

该图片分割单元110分析输入视频信号,以将图片的每个LCU分割成具有预定大小的一个或多个编码单元,确定每个编码单元的预测模式并且确定每个编码单元的预测单元的大小。该图片分割单元110根据预测模式将所要编码的预测单元传送到帧内预测单元150或者帧间预测单元160。而且,该图片分割单元110将所要编码的预测单元传送到减法器190。

该转换单元120转换预测单元的原始块与帧内预测单元150或帧间预测单元160生成的预测块之间的剩余块。剩余块可以具有编码单元的大小。该剩余块可被分成最优转换单元并被转换。可以根据预测模式和帧内预测模式适应性确定转换矩阵类型。可以通过水平和垂直一维(1D)转换矩阵来转换剩余信号的该转换单元。在帧间预测中,应用一种预定的转换矩阵类型。在帧内预测中,当当前预测单元的帧内预测模式为水平时,剩余信号极有可能具有垂直方向性。因此,将基于离散余弦变换(DCT)的整数矩阵用于垂直方向,并且将基于离散正弦变换(DST)或者卡洛南-洛伊变换(KLT)的整数矩阵用于水平方向。当帧内预测模式为垂直时,将基于DST或KLT的整数矩阵用于垂直方向,并且将基于DCT的整数矩阵用于水平方向。而且,在帧内预测中,可以根据转换单元的大小适应性确定转换矩阵。

该量化单元130为每个编码单元确定用于量化剩余块的转换系数的量化步距。为等于或大于预定大小的每个编码单元确定量化步距。预定大小可以是8×8或者16×16。使用所确定的量化步距和根据预测模式确定的量化矩阵,对转换系数进行量化。该量化单元130使用与当前编码单元相邻的一个或多个编码单元的量化步距来生成当前编码单元的量化步距预测值。

该量化单元130按照以下扫描顺序连续检索编码单元:1)当前编码单元的左编码单元,2)当前编码单元的上编码单元,以及3)当前编码单元的左上编码单元。并且量化单元使用一个或两个有效量化步距生成当前编码单元的量化步距预测值。例如,可以将该扫描顺序中遇到的第一有效量化步距确定为量化步距预测值。当两个或更多个量化步距为有效时,可以将该扫描顺序中检索到的最先的两个有效量化步距的平均值确定为量化步距预测值,并且当仅有一个量化步距为有效时,将这个有效量化步距确定为量化步距预测值。当确定了量化步距预测值时,将量化步距与量化步距预测值之差传送到熵编码单元140。

当前编码单元可以不存在左编码单元、上编码单元和左上编码单元。另一方面,在编码顺序中,当前编码单元可能具有前一编码单元。因此,与当前编码单元相邻的编码单元和前一编码单元可以作为备选。在这种情况下,以上的扫描顺序可以变为如下扫描顺序:1)当前编码单元的左编码单元,2)当前编码单元的上编码单元,3)当前编码单元的左上编码单元以及4)当前编码单元的前一编码单元。扫描顺序可以改变,或者可以在扫描顺序中省略左上编码单元。将量化后的转换块提供给反量化单元135和扫描单元131。

该扫描单元131扫描量化后转换块的量化后转换系数,从而将该量化后转换系数变为1D量化后转换系数。因为量化后转换系数的分布依赖于帧内预测模式,所以根据帧内预测模式来确定扫描方式。还可以根据转换单元的大小来确定扫描方式。可以根据方向性帧内预测模式来确定扫描方式。沿相反方向扫描量化后转换系数。

当量化后转换系数被分成多个子集时,将相同的扫描方式应用于每个子集。该多个子集由一个主子集和一个或多个剩余子集构成。该主子集位于左上侧并且包括DC系数。该一个或多个剩余子集覆盖了不同于主子集的区域。

可以采用折线扫描来扫描子集。扫描子集可以按正向从主子集开始到剩余子集,或者能够按反向扫描。可以将扫描子集的扫描方式设定成与扫描子集中的量化后转换系数的扫描方式相同。在这种情况下,根据帧内预测模式来确定扫描子集的扫描方式。运动图片编码装置100将能够表示转换单元最后一个非零量化后系数的位置的信息传送给解码器。运动图片编码装置100还将能够表示每个子集的最后一个非零量化后系数位置的信息传送给解码器。

反量化单元135反量化该量化后转换系数。反转换单元125由反量化后转换系数恢复空间域的剩余信号。加法器195通过将反转换单元125重建的剩余块与来自帧内预测单元150或帧间预测单元160的预测块相加生成重建块。

后处理单元170实施解块过滤工序,以去除重建图片中生成的块效应;实施适应性偏移施加工序,以补偿重建图片与原始图像的每个像素的差别;以及实施适应性环路过滤工序,以在编码单元中补偿重建图片与原始图像的差别。

可以将解块过滤工序应用于具有预定大小或更大的预测单元之间以及转换单元之间的边界。预定大小可以是8×8。该解块过滤工序包括确定要过滤的边界的步骤、确定所要应用到该边界的边界过滤强度的步骤、确定是否应用解块过滤的步骤以及当确定应用解块过滤时选择应用到该边界的过滤器的步骤。

根据以下内容来确定是否应用解块过滤:i)边界过滤强度是否大于0,以及ii)表示与所要过滤的边界相邻的P块和Q块的边界像素之差的值是否小于根据量化参数确定的第一参考值。

可以存在两个或更多个过滤器。当与块边界相邻的两个像素之差的绝对值等于或大于第二参考值时,选择弱过滤器。该第二基准值是由量化参数和边界过滤强度来确定的。

适应性偏移施加工序意在减少受到解块过滤的像素与原始像素之间的差别(畸变)。能够确定在图片或切片的单元中是否实施适应性偏移施加工序。可以将图片或切片分成多个偏移区域,并且可以确定每个偏移区域的偏移模式。具有四边偏移模式、两带偏移模式和偏移不应用模式。可能存在预定数量的边缘偏移模式(例如四边偏移模式)、两带偏移模式。在边缘偏移模式的情况下,确定每个像素所属的边缘模式并且施加对应于所确定的边缘模式的偏移。根据与当前像素相邻的两个像素的像素值的分布来确定边缘模式。

根据比较原始图像与应用了解块过滤工序或自适应偏移施加工序的重建图像所获得的值,可以实施适应性环路过滤工序。所确定的ALF可以应用于4×4块或8×8块中包含的全部像素。可以为每个编码单元确定是否应用ALF。环路过滤器的大小和系数可以随每个编码单元变化。表示是否对每个编码单元应用ALF的信息可以包含在切片头中并传送到解码器。在色度信号的情况下,可以为每个图片单元确定是否应用ALF。与亮度不同,环路过滤器可以具有矩形形状。

根据切片实施适应性环路过滤工序。因此,表示是否将适应性环路过滤工序应用于当前切片的信息包含在切片头或者图片头中。如果将适应性环路过滤工序应用于当前切片,则切片头或者图片包括表示适应性环路过滤工序中使用的亮度成分的水平过滤长度和/或垂直过滤长度的信息。如果使用预测方法,则切片头或者图片包括预测过滤系数。

还可以适应性地过滤色度成分。切片头或者图片头可以包括是否过滤每种色度成分的信息。为了减少比特量,可以共同编码表示是否过滤Cr成分的信息和表示是否过滤Cb成分的信息。将最小索引分配给Cr成分和Cb成分均未被过滤的情况,这是因为使Cr和Cb成分均不被过滤以便减小复杂性的可能性很高,并且实施熵编码。将最大索引分配给Cr成分和Cb成分均被过滤的情况。

图片存储单元180从后处理单元170接收后处理过的图像,并且将恢复后的图像存储在图片单元中。图片可以是帧或场形式的图像。图片存储单元180具有能够存储多幅图片的缓存(未示出)。

帧间预测单元160利用存储在该图片存储单元180中的一个或多个参考图片实施运动估计,并且确定表示参考图片的一个或多个参考图片索引和一个或多个运动矢量。根据参考图片索引和运动矢量,帧间预测单元160从图片存储单元180中存储的多幅参考图片中选择的参考图片,提取对应于所要编码的预测单元的预测块,并且输出提取出的预测块。

帧内预测单元150利用包含当前预测单元的图片中的重建参考像素实施帧内预测。帧内预测单元150接收所要预测编码的当前预测单元,选择预定数量的帧内预测模式之一,并且实施帧内预测。帧内预测模式的预定数量取决于当前预测单元的大小。该帧内预测单元150适应性地过滤参考像素以生成帧内预测块。当某些参考像素不可用时,可以利用可用参考像素在不可用位置处生成参考像素。

熵编码单元140对经量化单元130量化的量化后转换系数、从帧内预测单元150接收到的帧内预测信息、从帧间预测单元160接收到的运动信息等进行熵编码。

图2是根据本发明的运动图片编码单元100的帧内预测单元150的方框图。

参照图2,该帧内预测单元150包括参考像素生成单元151、参考像素过滤单元152、预测块生成单元153、预测模式确定单元154和预测模式编码单元155。

参考像素生成单元151确定必须生成用于帧内预测的参考像素,并且如果必须生成参考像素则生成参考像素。

图3是示出根据本发明的用于帧内预测的参考像素位置的概念图。如图3所示,当前预测的参考像素是由上参考像素、左参考像素和角落参考像素构成的。当前预测单元的上参考像素是当前预测单元宽度两倍的像素(区域C和D),当前预测单元的左参考像素是当前预测单元长度两倍的像素(区域A和B)。角落参考像素位于(x=-1,y=-1)处。

参考像素生成单元151确定参考像素是否可用。如果一个或多个参考像素是不可用的,则参考像素生成单元151利用可用参考像素在不可用位置处生成参考像素。

当当前预测单元位于图片或切片的上边界处时,当前预测单元的上参考像素(区域C和D)和角落参考像素不存在。当当前预测单元位于图片或切片的左边界处时,左参考像素(区域A和B)和角落参考像素不存在。在这些情况下,通过复制与不可用像素最接近的可用像素的值,生成参考像素。也就是说,当当前预测单元位于图片或切片的上边界处时,通过复制最上部的左参考像素(即位于区域A的最上部位置的参考像素),能够生成上参考像素。当当前预测单元位于图片或切片的左边界处时,通过复制最左侧的上参考像素(即位于区域C的最左侧位置的参考像素),能够生成左参考像素。

首先,将描述可用参考像素相对于不可用参考像素仅存在于一个方向上的情况。

可能的情况是与当前预测单元(区域C)的上边界相邻的参考像素是可用的,但是右上参考像素(D)可能是不可用的。当当前预测单元位于切片或LCU的右边界时,区域D中的参考像素是不可用的。在这种情况下,利用一个或多个可用的上参考像素生成参考像素(D)。通过复制上部最右的像素或者利用两个或多个可用的上参考像素来生成右上参考像素。

当与当前预测单元的左侧相邻的参考像素(区域A)可用时,但左下参考像素(区域B)可能不可用。当当前预测单元位于切片或LCU的下边界时,区域B中的参考像素不可用。在这种情况下,利用一个或多个可用左参考像素生成左下参考像素(区域B)。通过复制左侧最下的像素或者使用两个或多个可用左参考像素来生成左下参考像素。

如上所述,如果可用参考像素相对于不可用像素仅存在于一个方向上,则通过复制与不可用像素最接近的可用像素的值来生成参考像素。可选的是,可以利用与不可用像素最接近的两个或多个可用像素来生成参考像素。

接着,将描述可用参考像素相对于不可用参考像素存在于两个方向上的情况。

例如,当当前预测单元位于切片的上边界并且当前预测单元的右上预测单元可用时,对应于当前预测单元的区域C的参考像素是不可用的,但是位于区域A和D的参考像素是可用的。在存在于两个方向上的参考像素可用的情况下,通过选择最靠近每个方向的可用参考像素并且利用它们(即区域A中最上的参考像素和区域D中最左的参考像素)来生成参考像素。

通过把上述参考像素(即最靠近每个方向的像素)的平均值四舍五入来生成参考像素。但是,可以使用线性内插法来生成参考像素,这是因为上述参考像素值之差很大。具体而言,可以通过考虑相对于两个可用参考像素的位置来生成当前位置的不可用参考像素。

参考像素过滤单元152适应性过滤当前预测单元的参考像素。

参照图4,描述参考像素过滤单元152的工作。图4是表示根据本发明的方向性帧内预测模式的概念图。

参考像素过滤单元152根据帧内预测模式和参考像素位置适应性过滤参考像素。

在垂直模式(模式0)、水平模式(模式1)和DC模式(模式2)中,不过滤参考像素。但是,在不同于模式0、1和2的方向性帧内预测模式中,适应性过滤参考像素。位于(x=2N-1,y=-1)处的上参考像素的最右像素和位于(x=-1,y=2N-1)处的左参考像素的最下像素未被过滤。利用两个相邻的参考像素过滤其他参考像素。

低通滤波器用于使相邻参考像素之差变得平滑。该低通滤波器可以是3分滤波器[1,2,1]或者5分滤波器[1,2,4,2,1]。

由当前预测单元的大小和帧内预测模式来确定低通滤波器的应用。

根据预测单元的大小,将滤波器适应性用于关于水平或垂直方向具有45度方向的方向性帧内预测模式3、6和9中的参考像素。如果预测单元的大小小于预定大小,则应用第一滤波器。如果预测单元的大小等于或大于预定大小,则可以应用比第一滤波器更强的滤波器。该预定大小可以是16×16。

在存在于帧内预测模式3、6或9与水平或垂直帧内预测模式之间的方向性帧内预测模式中,能够根据预测单元大小将滤波器适应性应用于参考像素。在与模式3、6或9最接近的预定数量的帧内预测模式中可以应用滤波器。对于具有相同数量的方向性帧内预测模式的预测单元而言,该预定数量可以随着预测块大小的增加而增加。例如,对于8×8块,将滤波器应用于与模式3、6或9最接近的第一数量帧内预测模式,对于16×16块,将滤波器应用于与模式3、6或9最接近的第二数量帧内预测模式,对于32×32块,将滤波器应用于与模式3、6或9最接近的第三数量帧内预测模式。第一数量等于或小于第二数量,并且第二数量等于或小于第三数量。

预测块生成单元153生成对应于帧内预测模式的预测块。

在DC模式中,预测块由参考像素的平均值构成,并且在与参考像素相邻的预测块中的像素之间会出现步差。因此,利用参考像素过滤与参考像素相邻的上线和左线的预测像素。由3分滤波器来过滤与两个参考像素(上参考像素和左参考像素)相邻的左上预测像素。由2分滤波器过滤与一个参考像素相邻的其他预测像素(预测块中上线的像素和左线的像素)。

在平面模式中,利用角落参考像素、左参考像素和上参考像素生成预测像素。利用位于(x=-1,y=-1)处的角落参考像素、位于(x=a,y=-1)处的上参考像素以及位于(x=-1,y=b)处的左参考像素生成位于(a,b)处的预测像素。在平面模式中,预测像素未被参考像素过滤。

当通过复制垂直模式(模式0)中相应的上参考像素生成预测像素时,预测块中的左参考像素和与该左参考像素相邻的预测像素之间的相关性随着预测像素位置向下而降低。当通过复制水平模式(模式1)中相应的左参考像素生成预测像素时,预测块中的上参考像素和与该上参考像素相邻的预测像素之间的相关性随着预测像素位置向右而降低。出于这个原因,在垂直模式中,预测块与原始预测单元之间的差别随着预测像素的位置向下而增大。

因此,在垂直模式中,可以利用生成预测块时未使用的左参考像素来过滤预测块中的左像素,以便降低上述差别。在水平模式中,可以利用生成预测块时未使用的上参考像素来过滤预测块中的上像素。

在存在于模式0与模式6之间的方向性帧内预测模式(模式编号22、12、23、5、24、13和25)以及模式6中,当仅利用当前预测单元的上参考像素生成预测块时,参考像素与位于所生成的预测块的左线中并且与参考像素相邻的像素之间的差别随着预测像素的位置向下而增大。

在存在于模式1与模式9之间的方向性帧内预测模式(模式编号30、16、31、8、32、17、33)以及模式9中,当仅利用当前预测单元的左参考像素生成预测块时,参考像素与位于所生成的预测块的上线中并且与参考像素相邻的像素之间的差别随着预测像素的位置向右而增大。

因此,对于除DC模式之外的方向性帧内预测模式而言,可以适应性过滤预测块的某些像素,以便抵消上述差别。另外,为了抵消上述差别,可以利用上参考像素和左参考像素来生成预测块。

首先,描述用于过滤预测块的某些像素的方法。

在模式6中,利用上参考像素生成预测块并且过滤与参考像素相邻的左预测像素。所要过滤的预测块中的像素区域可以随着预测单元大小而改变。也就是说,所要过滤的线的数量和线中的像素比例可以随着预测单元大小改变。随着预测单元大小增大,线的数量可以增加或保持不变,或者比例可以降低。并且,过滤强度可以随着相对于参考像素的距离增加而降低。

例如,针对4×4预测单元过滤所生成的预测块中的第一左线(x=0,y=0,…,3)的像素。针对8×8预测单元过滤第一左线的全部预测像素以及第二线的某些预测像素。某些预测像素可以位于(x=1,y=4,…,7)处。针对16×16预测单元过滤第一左线的全部预测像素、第二线的第一数量的预测像素以及第三线的第二数量的预测像素。第一数量的预测像素可以位于(x=1,y=4,…,7)处,第二数量的预测像素可以位于(x=2,y=8,…,15)处。针对32×32预测单元,过滤第一左线的全部预测像素、第二线的第一数量的预测像素、第三线的第二数量的预测像素以及第四线的第三数量的预测像素。第三数量的预测像素可以位于(x=3,y=16,…,31)处。

在最接近模式6并且存在于模式0与模式6之间的第一数量的帧内预测模式中,可以利用与模式6中相同的方法来过滤预测像素。所要过滤的预测像素数量可以随着帧内预测模式的方向远离模式6的方向而降低或保持不变。在最接近模式0并且存在于模式0与模式6之间的第二数量的帧内预测模式中,可以利用与模式0中相同的方法过滤预测像素。

在模式9中,可以利用与模式6中相同的方法来过滤预测像素。在存在于模式1与模式9之间的帧内预测模式中,可以利用与存在于模式0与模式6之间的帧内预测模式中相同的方法过滤预测像素。

同时,在模式6和与模式6相邻的预定数量的帧内预测模式中,能够利用全部上参考像素和左参考像素,而不利用上述过滤预测块中某些像素的方法来生成预测块。在模式9和与模式9相邻的预定数量的帧内预测模式中,应用相同方法。

帧内预测模式确定单元154使用参考像素确定当前预测单元的帧内预测模式。该帧内预测模式确定单元154选择一种其中对于每种帧内预测模式使剩余块的编码比特量最小化的帧内预测模式,作为当前预测单元的帧内预测模式。

帧内预测模式编码单元155将帧内预测模式确定单元154确定的当前预测单元的帧内预测模式编码。可以将帧内预测模式编码单元155集成到帧内预测单元150中或者熵编码单元140中。

帧内预测模式编码单元155利用与当前预测单元相邻的预测单元的帧内预测模式将当前预测单元的帧内预测模式编码。帧内预测模式编码单元155将帧内预测模式分类成多个帧内预测模式组,将表示包括当前预测单元的帧内预测模式的帧内预测模式组的信息以及对应于帧内预测模式组中的当前编码单元的帧内预测模式的模式索引进行编码。优选的是,帧内预测模式组的数量为2个或3个。

当帧内预测模式组的数量为2个时,帧内预测模式编码单元155的操作如下。

首先,获得与当前预测单元相邻的预测单元的帧内预测模式。预测单元可以是左预测单元和上预测单元。当当前预测单元存在多个上预测单元时,沿着预定方向(例如从右到左)扫描该多个上预测单元,以确定第一可用预测单元的帧内预测模式作为上帧内预测模式。同样,当当前预测单元存在多个左预测单元时,沿着预定方向(例如从下到上)扫描该多个左预测单元,以确定第一可用预测单元的帧内预测模式作为左帧内预测模式。可选的是,在多个可用预测单元中,可以将具有最低帧内预测模式编号的可用预测单元的帧内预测模式设定为上帧内预测模式。

接着,当所获得的帧内预测模式编号等于或大于当前预测单元可允许的帧内预测模式编号时,可以将所获得的帧内预测模式转变为当前预测单元可允许的模式之一。

接着,利用所获得的或者经转变的帧内预测模式构建第一帧内预测模式组。

所获得的或经转变的帧内预测模式以及利用该所获得的或者经转变的帧内预测模式按照预定顺序确定的一个或多个帧内预测模式备选用于构建第一帧内预测模式组。当所获得的或经转变的帧内预测模式是方向性模式时,该帧内预测模式备选可以是与该所获得的或经转变的帧内预测模式最接近的一个或多个方向性帧内预测模式。

接着,确定当前预测单元的帧内预测模式是否属于第一帧内预测模式组。

当当前预测单元的帧内预测模式属于第一帧内预测模式组时,将表示第一帧内预测模式组的信息以及该第一帧内预测模式组中对应于当前预测单元的帧内预测模式的索引编码。

但是,当当前预测单元的帧内预测模式不属于第一帧内预测模式组时,将表示第二帧内预测模式组的信息以及该第二帧内预测模式组中对应于当前编码单元的帧内预测模式的索引进行编码。该第二帧内预测模式组包括与属于第一帧内预测模式组的帧内预测模式不同的帧内预测模式。

当上帧内预测模式和左帧内预测模式当中没有一个可用时,将一个或多个帧内预测模式添加到第一帧内预测模式组中。例如,当添加了一个帧内预测模式时可以添加DC模式或者平面模式。当添加两个帧内预测模式时可以添加DC模式和平面或垂直模式。当添加三个帧内预测模式时可以添加DC模式、平面模式和垂直模式与水平模式之一。

当上帧内预测模式和左帧内预测模式之一可用时,或者当上帧内预测模式和左帧内预测模式相同时,可以将一个或两个帧内预测模式添加到第一帧内预测模式组中。例如,当添加一个帧内预测模式时可以添加DC模式或者平面模式。当添加两个帧内预测模式时,所要添加的帧内预测模式根据可用帧内预测模式是否为方向性帧内预测模式改变。如果可用帧内预测模式是非方向性帧内预测模式(即DC模式和平面模式)之一,则可以添加垂直模式和水平模式,或者可以添加其他方向性帧内预测模式和垂直模式。如果可用帧内预测模式是方向性帧内预测模式,则可以添加两侧最接近方向性帧内预测模式的两个帧内预测模式。但是,如果仅在可用帧内预测模式的一侧(即可用帧内预测模式是模式6或模式9)存在相邻帧内预测模式,则可以添加这个相邻的帧内预测模式(模式25或模式33)以及DC模式和平面模式之一。

当当前预测单元的帧内预测模式属于第二帧内预测模式组时,该索引对应于第二帧内预测模式组中当前编码单元的帧内预测模式的重排编号。在这种情况下,可以使用一个VLC表。

帧内预测模式组的数量可以为3。当帧内预测模式组的数量为3时,如果当前预测单元的帧内预测模式不属于第一帧内预测模式组,则确定当前预测单元的帧内预测模式是否属于第二帧内预测模式组。如果当前预测单元的帧内预测模式属于第二帧内预测模式组,则将表示第二帧内预测模式组的信息以及对应于第二帧内预测模式组中当前编码单元的帧内预测模式的索引进行编码。如果当前预测单元的帧内预测模式不属于第二帧内预测模式组,则将表示第三帧内预测模式组的信息以及对应于第三帧内预测模式组中当前编码单元的帧内预测模式的索引进行编码。根据当前预测单元的左预测单元和上预测单元的帧内预测模式生成第二帧内预测模式组。

可选的是,当前预测模式的帧内预测模式可以按照以下方式编码。首先,确定当前预测单元的帧内预测模式是否等于前面的帧内预测单元的帧内预测模式之一。如果当前预测单元的帧内预测模式等于前面的帧内预测单元的帧内预测模式之一,则将表示这种情况的信标(pred_flag)设定为1,并且利用可用的左帧内预测模式或上帧内预测模式将当前预测单元的帧内预测模式编码。另外,将信标(pred_flag)设定为0,并且将表示当前编码单元的帧内预测模式当中不同于左帧内预测模式和上帧内预测模式的有序编号的帧内预测模式的索引编码。

同时,色度成分的帧内预测模式可以包括使用亮度成分的相应帧内预测模式的模式。表示使用亮度成分的相应帧内预测模式的模式是否使用的信标可以包含在顺序参数集(SPS)、图片参数集(PPS)或切片头中。色度成分的帧内预测模式数量可以随预测单元大小变化。可以使用相邻块的帧内预测模式将色度成分的帧内预测模式编码。在这种情况下,编码方法与上述相同。另外,可以不使用相邻块的帧内预测模式信息来编码色度成分的帧内预测模式。在这种情况下,能够使用VLC表。

预测块传送单元156将使用帧内预测模式生成的预测块传送给减法器190。

图5是根据本发明的运动图片解码装置的方框图。

根据本发明的运动图片解码装置包括熵解码单元210、反扫描单元220、反量化单元230、反转换单元240、帧内预测单元250、帧间预测单元260、后处理单元270、图片存储单元280、加法器290和帧内/帧间改变开关295。

熵解码单元210从接收到的比特流中提取帧内预测信息、帧间预测信息和量化系数信息。该熵解码单元210将帧间预测信息传送给帧间预测单元260,将帧内预测信息传送给帧内预测单元250,以及将量化系数信息传送给反扫描单元220。

反扫描单元220将量化系数信息转变为二维量化转换块。在多个反扫描方式中选择一种供转变。根据帧内预测模式选择反扫描方式。如果所要解码的转换单元大小大于预定参考尺寸,则每个子集的量化转换系数根据所选择的反扫描方式被反扫描,以生成多个子集,并且使用多个子集生成具有转换单元的大小的量化转换块。如果所要解码的转换单元的大小等于预定参考尺寸,则量化转换块的量化转换系数根据所选择的反扫描方式被反扫描,以生成具有转换单元的大小的量化转换块。。该多个子集是由一个主子集和一个或多个剩余子集构成的。主子集位于左上侧,并且包括DC系数,一个或多个剩余子集覆盖不同于主子集的区域。

应用于子集的扫描方式可以是折线扫描。可以沿着正向从主子集开始到剩余子集反扫描子集,或者能够沿着相反的方向扫描。可以将扫描子集的反扫描方式设定为与扫描量化转换系数的反扫描方式相同。反扫描单元220利用表示转换单元的最后一个非零量化系数位置的信息实施反扫描程序。

反量化单元230确定当前编码单元的量化步距预测值。确定量化步距预测值的操作与图1的量化单元130的程序相同。反量化单元添加确定后的量化步距预测值以及接收到的剩余量化步距,以生成当前编码单元的量化步距。反量化单元230使用由量化步距确定的量化矩阵恢复反量化后的系数。该量化矩阵根据所要恢复的当前块的尺寸变化。可以根据当前块的预测模式和帧内预测模式中的至少一个为具有相同尺寸的块选择量化矩阵。

反转换单元240反转换该反量化后的块,以恢复剩余块。根据预测模式(以及帧内预测模式,适应性地确定将要用于反量化后的块的反转换矩阵。反转换矩阵的确定程序与图1的转换单元120中的程序相同。

加法器290将反转换单元240恢复的恢复后剩余块和帧内预测单元250或帧间预测单元260生成的预测块相加,以生成重建的图像块。

帧内预测单元250根据从熵解码单元210接收到的帧内预测信息恢复当前块的帧内预测模式,并且根据恢复后的帧内预测模式生成预测块。

帧间预测单元260根据从熵解码单元210接收到的帧间预测信息恢复参考图片索引和运动矢量,并且使用该参考图片索引和运动矢量生成预测块。当应用具有部分精度的运动补偿时,利用内插滤波器生成预测块。

后处理单元270与图3的后处理单元160的工作方式相同。

图片存储单元280存储经后处理单元270后处理后的重建图像。

图6是根据本发明的运动图片解码装置200的帧内预测单元250的方框图。

参照图6,根据本发明的帧内预测单元250包括帧内预测模式解码单元251、参考像素生成单元252、参考像素过滤单元253、预测块生成单元254以及预测块传送单元255。

该帧内预测模式解码单元251从熵解码单元210接收帧内预测信息,并且使用帧内预测信息恢复当前预测单元的帧内预测模式。帧内预测信息包括表示所要解码的当前预测单元所属的帧内预测模式组的信息以及帧内预测模式索引。

该帧内预测模式解码单元251获得与当前预测单元相邻的预测单元的帧内预测模式。该帧内预测模式可以是当前预测单元的左帧内预测单元和上帧内预测单元的帧内预测模式。当当前预测单元存在多个上预测单元时,沿着预定方向(例如从右到左)扫描该多个上预测单元,以确定第一可用预测单元的帧内预测模式作为上帧内预测模式。同样,当当前预测单元存在多个左预测单元时,沿着预定方向(例如从下到上)扫描该多个左预测单元,以确定第一可用预测单元的帧内预测模式作为左帧内预测模式。可选的是,在多个可用预测单元当中,可以将具有最低帧内预测模式编号的可用预测单元的帧内预测模式设定为上帧内预测模式。

当上帧内预测模式编号或左帧内预测模式编号等于或大于当前预测单元可允许的帧内预测模式编号时,将该上帧内预测模式或左帧内预测模式转变为可允许模式之一。

利用所获得的或经转变的帧内预测模式构建第一帧内预测模式组。该所获得的或经转变的帧内预测模式以及由该所获得的或经转变的帧内预测模式按照预定顺序确定的一个或多个帧内预测模式备选可以包含在该第一帧内预测模式组中。当所获得的或经转变的帧内预测模式是方向性模式时,该一个或多个帧内预测模式备选可以是与所获得的或经转变的帧内预测模式最接近的至少一个方向性帧内预测模式。

该帧内预测模式解码单元251确定表示帧内预测模式组的信息是否表示第一帧内预测模式组。

如果表示帧内预测模式组的信息表示第一帧内预测模式组,则从第一帧内预测模式组中选择对应于接收到的帧内预测模式索引的帧内预测模式,并且将选择的帧内预测模式设定为当前预测单元的帧内预测模式。

如果表示帧内预测模式组的信息表示第二帧内预测模式组,则从第二帧内预测模式组中选择对应于接收到的帧内预测模式索引的帧内预测模式,并且将选择的帧内预测模式设定为当前预测单元的帧内预测模式。第二帧内预测模式组包括不同于属于第一帧内预测模式组的帧内预测模式的帧内预测模式。可以参考帧内预测模式索引重排编号第二帧内预测模式的帧内预测模式。可以基于帧内预测模式索引和左和上帧内预测模式来重排编号第二帧内预测模式的当前帧内预测模式。

当上帧内预测模式和左帧内预测模式均不可用时,将一个或多个帧内预测模式添加到第一帧内预测模式组中。例如,当添加一个帧内预测模式时可以添加DC模式或平面模式。当添加两个帧内预测模式时可以添加DC模式和平面或垂直模式。当添加三个帧内预测模式时可以添加DC模式、平面模式以及垂直模式和水平模式之一。

当上帧内预测模式和左帧内预测模式之一可用时,或者当上帧内预测模式和左帧内预测模式相同时,可以将一个或两个帧内预测模式添加到第一帧内预测模式组。例如,当添加一个帧内预测模式时可以添加DC模式或者平面模式。当添加两个帧内预测模式时,所添加的帧内预测模式根据可用帧内预测模式是否为方向性帧内预测模式而变化。如果该可用帧内预测模式是非方向性帧内预测模式之一(即DC模式或平面模式),则可以添加垂直模式和水平模式,或者可以添加其他非方向性帧内预测模式(即平面模式或DC模式)和垂直模式。如果可用帧内预测模式是方向性帧内预测模式,则可以添加在两侧最接近可用帧内预测模式的两个帧内预测模式。但是,如果仅在可用帧内预测模式(即模式6或者模式9)的一侧具有相邻帧内预测模式,可以添加相邻的帧内预测模式(模式25或模式33)以及DC模式和平面模式之一。

可选的是,预测模式解码单元251可以如下解码当前预测模式的帧内预测模式。首先,解析出表示当前预测单元的帧内预测模式是否等于在先帧内预测单元(例如上预测单元和左预测单元)的帧内预测模式之一的信标(pred_flag)。如果该信标(pred_flag)为1,则利用可用的左帧内预测模式和可用的上帧内预测模式确定当前预测单元的帧内预测模式。如果信标(pred_flag)为0,则利用剩余预测模式信息(rem_pred_mode)确定当前预测单元的帧内预测模式。该剩余预测模式信息(rem_pred_mode)表示当前帧内预测单元的可用帧内预测模式当中不同于可用左帧内预测模式和可用上帧内预测模式的帧内预测模式的顺序。

参考像素生成单元252利用与编码装置100的参考像素生成单元151所述相同的方法生成参考像素。但是,参考像素生成单元252可以仅在用于生成预测块和由帧内预测模式确定的参考像素不可用时,根据恢复后的帧内预测模式适应性地生成参考像素。

该参考像素过滤单元253根据恢复后的帧内预测模式和预测块的大小适应性地过滤参考像素。过滤条件和方法与编码装置100的参考像素过滤单元152的相同。

预测块生成单元254根据恢复后的帧内预测模式,利用参考像素生成预测块。用于生成预测块的方法与编码装置100的预测块生成单元154中使用的方法相同。

预测块传送单元255将从预测块生成单元254接收到的预测块传送到加法器290。

图7是表示根据本发明的帧内预测模式中的解码程序的流程图。

首先,在步骤S100中,从接收到的比特流中解复用帧内预测信息和剩余信号。在编码单元的单元中实施步骤S100。从编码单元中的预测单元语法中提取帧内预测信息。从编码单元中的转换单元语法中提取剩余信号。

在步骤S110中,利用帧内预测信息恢复当前预测单元的帧内预测模式。如果该帧内预测信息不包括帧内预测模式索引,则将帧内预测信息设为0。该帧内预测模式组标识符表示当前预测单元的帧内预测模式所属的帧内预测模式组。如果帧内预测模式组的数量为2,则帧内预测模式组标识符(pred_mode)可以是1比特的信标。帧内预测模式组的数量可以是2个或3个。

图8是表示根据本发明的恢复帧内预测模式的程序的流程图。属于第一帧内预测模式组的帧内预测模式的数量变化。将描述帧内预测模式组的数量为2的情况。

首先,在步骤S111中,利用与当前预测单元相邻的预测单元的帧内预测模式构建第一帧内预测模式组。

例如,该第一帧内预测模式组是由当前预测单元的上帧内预测单元和左帧内预测单元的可用帧内预测模式构成的。如果上和左帧内预测单元的帧内预测模式均是不可用的,则可以将DC模式或平面模式添加到第一帧内预测模式组。第一帧内预测模式组可以包括至少一个附加的帧内预测模式,其为恢复当前预测单元的右上帧内预测模式、左下帧内预测模式、左上帧内预测模式时遇到的第一可用帧内预测模式。

当当前预测单元存在多个上预测单元时,沿着预定方向(例如从左到右)扫描该多个上预测单元,以确定第一可用预测单元的帧内预测模式作为上帧内预测模式。同样,当当前预测单元存在多个左预测单元时,沿着预定方向(例如从上到下)扫描该多个左预测单元,以确定第一可用预测单元的帧内预测模式作为左帧内预测模式。

如果可用帧内预测模式不等于当前预测单元可允许的帧内预测模式之一,则将该可用帧内预测模式转变为当前预测单元可允许的帧内预测模式之一。

在步骤S112中,根据帧内预测模式组标识符确定当前预测单元的帧内预测模式是否属于第一帧内预测模式组。

如果当前预测单元的帧内预测模式属于第一帧内预测模式组,则在步骤S113中,确定帧内预测模式索引是否存在。

如果帧内预测模式索引存在,则在步骤S114中,将第一帧内预测模式组中对应于该帧内预测模式索引的帧内预测模式确定为当前预测单元的帧内预测模式。

如果帧内预测模式索引不存在,则在步骤S115中,将帧内预测模式索引设定为0,并且将第一帧内预测模式组中对应于帧内预测模式索引0的帧内预测模式确定为当前预测单元的帧内预测模式。也就是说,如果帧内预测模式索引不存在,则在第一帧内预测模式组中仅包括一种帧内预测模式。

如果当前预测单元的帧内预测模式不属于第一帧内预测模式组,则在步骤S116中,将第二帧内预测模式组中对应于帧内预测模式索引的帧内预测模式确定为当前预测单元的帧内预测模式。该第二帧内预测模式组包括不同于属于第一帧内预测模式组的帧内预测模式的全部帧内预测模式。可以按照第二帧内预测模式组的帧内预测模式的模式编号的顺序分配帧内预测模式索引。

图9是表示根据本发明的用于恢复帧内预测模式的另一程序的流程图。属于第一帧内预测模式的帧内预测模式数量是固定的。

首先,在步骤S211中,利用与当前预测单元相邻的预测单元的帧内预测模式构建第一帧内预测模式组。

当第一帧内预测模式组包括两种帧内预测模式时,如下构建第一帧内预测模式组。

确定当前预测单元的上和左帧内预测单元的帧内预测模式是否可用。如果可用的帧内预测模式不是当前预测单元可允许的帧内预测模式之一,则将可用帧内预测模式转变为可允许的帧内预测模式之一。当上和左帧内预测单元的帧内预测模式均可用并且不相同时,该第一帧内预测模式组是由上和左帧内预测单元的帧内预测模式构成的。当上和左帧内预测单元仅有一种帧内预测模式可用,或者当上和左帧内预测单元的帧内预测模式相同时,第一帧内预测模式组是由可用帧内预测模式和一种附加帧内预测模式构成的。如果可用帧内预测模式不是DC模式,则附加帧内预测模式可以是DC模式。如果可用帧内预测模式是DC模式,则附加帧内预测模式可以是平面模式或垂直模式。

当第一帧内预测模式组包括三种帧内预测模式时,如下构建第一帧内预测模式组。

确定当前预测单元的上和左帧内预测单元的帧内预测模式是否可用。如果可用帧内预测模式不是当前预测单元可允许的帧内预测模式之一,则可将该可用帧内预测模式转变为可允许的帧内预测模式之一。

当上和左帧内预测单元的帧内预测模式均可用并且相互不同时,第一帧内预测模式组是由两个可用帧内预测模式和一个附加帧内预测模式构成的。该附加的帧内预测模式与两个可用的帧内预测模式不同,并且是垂直模式、水平模式和DC模式之一。该附加的帧内预测模式是能够添加到DC模式、垂直模式和水平模式的顺序中的第一帧内预测模式。

当上和左帧内预测单元仅有一个帧内预测模式可用时,或者当上和左帧内预测单元的帧内预测模式相同时,第一帧内预测模式组是由一个可用帧内预测模式和两个附加的帧内预测模式构成的。根据可用帧内预测模式和预测单元的大小适应性地确定两个附加的帧内预测模式。如果帧内预测单元的大小等于或小于预定尺寸,并且可用帧内预测模式是方向性模式时,选择方向最接近可用帧内预测模式方向的两个帧内预测模式作为两个附加的帧内预测模式。但是,如果仅存在一个帧内预测模式具有与可用帧内预测模式的方向最接近的方向(即可用帧内预测模式是模式6或9),则选择模式6或9作为其他附加的帧内预测模式。如果可用帧内预测模式是非方向性帧内预测模式,则两个附加的帧内预测模式是垂直模式和水平模式,或者其他非方向性帧内预测模式和垂直模式。

当上和左帧内预测单元的全部帧内预测模式可用时,第一帧内预测模式组是由三个附加帧内预测模式构成的。该三个附加的帧内预测模式可以是DC模式、垂直模式和水平模式,或者DC模式、平面模式和垂直模式。

当当前预测单元存在多个上预测单元时,沿着预定方向(例如从左到右)扫描该多个上预测单元,以确定第一可用预测单元的帧内预测模式作为上帧内预测模式。同样,当当前预测单元存在多个左预测单元时,沿着预定方向(例如从上到下)扫描该多个左预测单元,以确定第一可用预测单元的帧内预测模式作为左帧内预测模式。

接着,在步骤S212中,根据帧内预测模式组标识符确定当前预测单元的帧内预测模式是否属于第一帧内预测模式组。

如果当前预测单元的帧内预测模式属于第一帧内预测模式组,则在步骤S213中,将第一帧内预测模式组对应于帧内预测模式索引的帧内预测模式确定为当前预测单元的帧内预测模式。

如果当前预测单元的帧内预测模式不属于第一帧内预测模式组,则在步骤S214中,将第二帧内预测模式组对应于帧内预测模式索引的帧内预测模式确定为当前预测单元的帧内预测模式。该第二帧内预测模式组包括不同于属于第一帧内预测模式组的帧内预测模式的全部帧内预测模式。

按照第二帧内预测模式组的帧内预测模式的模式编号的顺序分配帧内预测模式的索引。

接着,在步骤S120中,根据当前预测单元恢复后的帧内预测模式适应性地生成参考像素。

当仅在不可用参考像素位置的一侧存在可用参考像素时,通过复制最接近不可用像素的可用像素的值生成参考像素。可选的是,利用最接近不可用像素的两个可用像素生成参考像素。当可用像素之间存在不可用参考像素时,利用两侧最接近不可用像素的两个可用参考像素生成参考像素。所生成的参考像素的值可以是两侧最接近不可用像素的两个可用参考像素的平均值。当两个可用参考像素之差很大时,可以使用线性内插法来生成参考像素。

接着,根据恢复后的帧内预测模式适应性地过滤参考像素(S130)。当恢复后的帧内预测模式是垂直模式(模式0)、水平模式(模式1)或者DC模式(模式2)时,不过滤参考像素。在不同于垂直模式和水平模式的方向性帧内预测模式中,适应性地过滤参考像素。不过滤位于(x=2N-1,y=-1)的上参考像素的最右参考像素以及位于(x=-1,y=2N-1)的左参考像素的最下参考像素。利用两个相邻参考像素过滤剩余的参考像素。

低通滤波器用于使相邻参考像素之差变得平滑。该低通滤波器可以是3分过滤器[1,2,1]或者5分过滤器[1,2,4,2,1]。

在水平或垂直模式与相对于水平或垂直方向成45°的帧内预测模式之间存在的方向性帧内预测模式下,根据预测块的大小将滤波器适应性地应用于参考像素。根据预测块的大小,可以将滤波器适应性地应用于水平模式与相对于水平模式成45°的模式之间存在的模式,或者垂直模式与相对于垂直模式成45°的模式之间存在的模式。预定的数量会随着预测块尺寸增大而增大。例如,针对8×8预测块,将滤波器应用于最接近模式3、6、9的第一数量的帧内预测模式;针对16×16预测块,将滤波器应用于最接近模式3、6、9的第二数量的帧内预测模式;针对32×32预测块,将滤波器应用于最接近模式3、6、9的第三数量的帧内预测模式,第一数量等于或小于第二数量,第二数量等于或小于第三数量。

接着,在步骤S140中,根据恢复后的帧内预测模式利用参考像素生成预测块。生成预测块的方法与图6的帧内预测模块生成单元254的方法相同。

在步骤S150中,熵解码剩余信号。

在步骤S160中,反扫描剩余信号。即,将剩余信号转变为二维量化后转换块。在多个反扫描方式中选择用于上述转变的一种反扫描方式。根据当前预测单元的帧内预测模式确定该反扫描方式。如果转换单元的大小比预定尺寸大,则在子集单元中反扫描剩余信号并且使用多个子集生成量化后的转换块。如果转换单元的大小等于预定尺寸,则在转换单元的单元中反扫描该剩余信号并且生成量化后的转换单元。

在步骤S170中,反量化二维量化后转换块。为反量化确定当前编码单元的量化步距预测值。利用与图5的反量化单元230相同的方法确定量化步距预测值。将所确定的量化步距预测值和接收到的剩余量化步距相加以生成将要应用于转换块的量化步距。利用量化步距确定的量化矩阵恢复转换系数。

在步骤S180中反转换经反量化的块。根据恢复后的帧内预测模式可以适应性地确定反转换矩阵。可以由水平和垂直一维(1D)转换矩阵来反转换该转换块的剩余信号。在帧内预测中,当当前预测单元的帧内预测模式为水平时,则剩余信号很有可能具有垂直方向性。因此,将基于DCT的整数矩阵应用于垂直方向,并且将基于DST或者KLT的整数矩阵应用于水平方向。当帧内预测模式为垂直时,将基于反DST或KLT的整数矩阵应用于垂直方向,并且将基于反DCT的整数矩阵应用于水平方向。当帧内预测模式为DC模式时,在两个方向上均应用基于反DCT的整数矩阵。

将预测块和反转换后的块相加以生成重建图像(S190)。可以在编码单元的单元中将恢复后的剩余信号和恢复后的预测信号相加。

尽管参照本发明的某些示例性实施例示出并描述了本发明,但是本领域技术人员可以理解,可以在不背离所附权利要求限定的本发明精神和范围的情况下对本发明中的形式和细节进行各种改变。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1