图像解码装置的制作方法

文档序号:12730694阅读:192来源:国知局
图像解码装置的制作方法

技术领域

本发明涉及一种产生预测块的装置,尤其涉及一种产生能最小化残差块的编码比特数的预测块的装置。



背景技术:

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

在帧内预测中,不使用参考图片,而是使用与当前块在空间上相邻的像素的值来对当前图片的当前块进行编码。通过比较通过使用相邻像素值产生的预测块和原始MB,来选取失真小的帧内预测模式。接着,使用所选取的帧内预测模式和相邻像素值来计算当前块的预测值。计算预测值和原始当前块的像素值之间的差,并接着通过变换编码、量化和熵编码进行编码。也对帧内预测模式进行编码。

帧内预测模式一般分为用于亮度分量的4×4帧内预测模式、8×8帧内预测模式、16×16帧内预测模式,和用于色度分量的帧内预测模式。

在根据现有技术的16×16帧内预测模式中,有四种模式:垂直模式、水平模式、直流(DC)模式以及平面模式。

在根据现有技术的4×4帧内预测模式中,有九种模式:垂直模式、水平模式、DC模式、对角线左下模式、对角线右下模式、垂直向右模式、垂直向左模式、水平向上模式、以及水平向下模式。

根据各个模式的使用频率来索引每种预测模式。垂直模式的模式编号0显示出它最可能是最频繁用于对目标块执行帧内预测的模式,并且水平向上模式的模式编号8显示出它最可能是使用最不频繁的。

根据H.264标准,总共使用13种模式对当前块进行编码,即,4×4帧内预测的4种模式和16×16帧内预测的9种模式。根据这些模式中的优选模式产生当前块的比特流。

然而,在与当前块相邻的像素的某些或所有值不存在或尚未编码时,无法将某些或所有帧内预测模式应用到当前块。并且,在相邻参考像素之间具有大的差异时,预测块与原始块之间的差异变大。因而,编码效率变差。



技术实现要素:

技术问题

本发明涉及一种产生类似于原始块的预测块的装置。

技术方案

本发明的一个方面提供了一种装置,包括:帧内预测模式解码单元,被配置为使用在所接收的附加信息载体中包括的附加信息和当前预测单元的可用帧内预测模式候选信息,复原当前预测单元的帧内预测模式;参考像素产生单元,被配置为使用可用参考像素产生参考像素;参考像素滤波单元,被配置为基于当前预测单元的复原的帧内预测模式和当前预测单元的大小来对参考像素适应性地滤波;以及预测块产生单元,被配置为使用与复原的帧内预测模式对应的参考像素产生当前预测单元的预测块。

技术效果

根据本发明的装置产生参考像素并对该参考像素适应性地滤波,以产生将预测块与原始块之间的差最小化的预测块。而且,通过使用不用于产生预测块的参考像素产生或修改预测块,可以重构与原始块类似的预测块,并且可以提高图像压缩。

附图说明

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

图2是示出根据本发明的扫描单元的操作的流程图。

图3是示出根据本发明的运动图片解码装置的框图。

图4是示出根据本发明的帧内预测单元的框图。

图5是示出根据本发明的用于帧内预测的参考像素的位置的原理图。

图6是示出根据本发明的产生参考像素的过程的流程图。

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

具体实施方式

在下文中,将参考附图详细描述本发明的各个实施例。然而,本发明不限于下面公开的示例性实施例,而是可以用各种形式实现。因而,本发明可能有许多其它修改和变化,并且应该明白的是,在所公开的原理的范围内,可以用除了如同已被明确描述的方式之外的方式实现本发明。

对于图像编码,每个图片包括一个或多个切片(slice),且每个切片包括多个编码单元。因为高清晰(HD)级别或更高级别的图像具有许多平滑区域,所以可以用各种大小的编码单元对图像进行编码,以提高图像的压缩。

根据本发明的编码单元的大小可以是16×16、32×32或64×64。编码单元的大小也可以是8×8或更小。具有最大大小的编码单元称为超级宏块(SMB)。SMB的大小用编码单元的最小大小和深度信息表示。深度信息表示SMB的大小与编码单元的最小大小之间的差值。

因此,用于对图片进行编码的编码单元的大小可以是SMB或SMB的子块的大小。将编码单元的大小设定为缺省值或用序列头表示。

SMB包括一个或多个编码单元。SMB具有递归编码树的形式,以包括编码单元和编码单元的分割结构。在没有将SMB分割为4个子编码单元时,编码树可以包括表示该SMB没被分割的信息和一个编码单元。在将SMB分割为4个子编码单元时,编码树可以包括表示该SMB被分割的信息和四个子编码树。同样,每个子编码树具有与SMB相同的结构。然而,最小编码单元(SCU)大小的编码单元不再分割为子编码单元。

同时,在编码单元自身或子分割物的多个单元中,对编码树中的每个编码单元进行帧间预测或帧内预测。将执行了帧间预测或帧内预测的单元称作预测单元。用于帧内预测的预测单元的大小可以是2N×2N或N×N。用于帧间预测的预测单元的大小可以是2N×2N、2N×N、N×2N或N×N。这里,2N表示编码单元的水平和垂直长度。

编码单元包括预测单元的预测模式和在预测单元上的大小信息。为提高编码效率,可以将预测模式和大小信息组合并联合编码。在这种情况下,每个编码单元包括联合编码预测类型。

编码单元包括一个或多个附加信息载体。每个附加信息载体包含产生每个预测单元的预测块所需的附加信息。在帧内预测中,附加信息包括被编码的帧内预测信息。在帧间预测中,附加信息包括被编码的运动信息。运动信息包括运动向量和参考图片索引。

编码单元也包括用于容纳编码单元的被编码残差信号的残差信号载体。残差信号载体包含一个变换树、一个亮度残差信号载体以及两个色度残差信号载体。变换树表示了表示用于编码单元中所包括的残差信号的变换单元的分割结构的信息。并且,变换树包括表示每个变换单元的残差信号是否为0的信息。残差信号载体具有递归编码树的形式。如果没有将编码单元分割成4个子编码单元,那么残差信号载体包含量化信息和被编码的残差信号。如果将编码单元分割成4个子编码单元,那么残差信号载体包含量化信息和子层的4个残差信号载体。每个残差信号子载体都具有与编码单元的残差信号载体相同的结构,但不包含量化信息。

可以不均匀地分割预测单元。根据图像的边界在特定方向上不均匀地分割图像信号并执行帧内或帧间预测压缩残余信号可能会更有效率。

最简单的方法是使用直线将编码单元分割为两块,以在局部上提取预测区域的统计相关性。图像的边界与直线匹配并进行分割。在这种情况下,可分割方向可能会限于预定的数量。例如,可以将分割块的方法限于水平、垂直、向上对角线以及向下对角线4个方向。并且,也可以仅将分割限于水平和垂直方向。可分割方向的数量可以是3、5、7等。可以根据编码块的大小改变可分割方向的数量。例如,对大尺寸的编码单元,可以相对增加可分割方向的数量。

在帧间预测中,当为了更多的适应性预测而将一个编码单元分割为两个预测单元时,应该对每个预测单元执行运动估计和运动补偿。推导出每个预测单元的运动信息,并对原始块与从每个预测单元的运动信息中推导出的预测块之间的残差信号进行编码。

在获得从一个编码单元分割的各自两个预测块的残差信号后,可以将这两个残差信号相加,以产生一个编码单元的一个残差信号。将一个编码单元的残差信号变换并进行编码。在这种情况下,具有边界中心的各自两个预测块的残差信号的整体分布之间很可能具有差别,并因此可以通过将任意一个区域的值乘以预定的值来产生一个编码单元的残差信号。此外,也可以使得两个残差信号的边界区域交叠,并且可以在交叠边界区域上执行平滑以产生一个残差信号。

在另外一个方法中,通过根据块的各个分割区域执行填充可以产生块,并进行编码。换言之,在对两个分割区域中的当前分割区域进行编码时,可以通过用当前分割区域的值填充构成该块的另外一个分割区域来配置一个块,并且接着执行二维(2D)变换编码。

图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)或K-L(Karhunen-Loeve)变换(KLT)的整数矩阵。当帧内预测模式垂直时,在垂直方向上应用基于DST或KLT的整数矩阵,并且在水平方向上应用基于DCT的整数矩阵。此外,在帧内预测中,可以根据变换单元的大小来适应性地确定变换矩阵。

量化单元130确定用于量化残差块的变换系数的量化步长。对具有一个或多个预定大小的每个编码单元确定量化步长。预定大小可以是8×8或16×16。使用所确定的量化步长和预测模式所确定的量化矩阵,将变换系数量化。量化单元130使用一个或多个相邻编码单元的量化步长,以产生当前编码单元的量化步长预测器。量化单元130用以下扫描顺序逐一搜索编码单元:1)当前编码单元的左编码单元、2)当前编码单元的上编码单元以及3)当前编码单元的左上编码单元。接下来,量化单元130使用一个或两个有效的量化步长来产生当前编码单元的量化步长预测器。例如,可以将在扫描顺序中遇到的第一个有效量化步长确定为量化步长预测器。当两个或更多个量化步长有效时,可以将在扫描顺序中搜索的前两个量化步长的平均值确定为量化步长预测器,并且在仅有一个量化步长有效时,可以将一个有效量化步长确定为量化步长预测器。在确定了量化步长预测器时,将量化步长和量化步长预测器的差传送到熵编码单元140。

在将切片分割为编码单元时,当前编码单元可能没有左编码单元、上编码单元以及左上编码单元。但是,在最大编码单元的编码顺序中,当前编码单元可以有前置编码单元。因而,可以将与当前编码单元相邻的编码单元和在前置编码单元作为候选。在这种情况下,上述扫描顺序可以变为下述扫描顺序:1)当前编码单元的左编码单元,2)当前编码单元的上编码单元,3)当前编码单元的左上编码单元,以及4)当前编码单元的前置编码单元。可以改变扫描顺序,或在扫描顺序中可以省略左上编码单元。

将量化的变换块提供给逆向量化单元135和扫描单元131。

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

逆向量化单元135将已量化的变换系数逆向量化。逆向变换单元125从逆向量化的变换系数复原到空间域的残差块。加法器195通过将逆向变换单元125重构的残差块和来自帧内预测单元150或帧间预测单元160的预测块相加,来产生重构块。

后处理单元170执行:去块滤波过程,以移除在重构的图片中产生的块效应;适应性偏移施加过程,以补偿重构的图片和原始图像的每个像素之间的差;以及适应性环路滤波过程,以在编码单元中补偿重构的图片和原始图像之间的差。

去块滤波过程可以应用到具有一个或多个预定大小的多个预测单元之间的边界和多个变换单元之间的边界。预定的大小可以是8×8。去块滤波过程包括:确定被滤波的边界的步骤;确定被应用到边界的边界滤波强度的步骤;确定是否应用去块滤波器的步骤;以及在确定了应用去块滤波器后,选取被应用到边界的滤波器的步骤。

确定是否应用去块滤波的根据是i)边界滤波强度是否大于0;ii)表示P块与Q块的边界像素之间的差的值是否小于根据量化参数确定的第一参考值。

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

适应性偏移施加过程意图减小经过去块滤波器的像素与原始像素之间的差(失真)。可以根据图片或切片来确定是否执行适应性偏移施加过程。可以将一个图片或切片分割为多个偏移区域,并且可以对每个偏移区域确定偏移模式。可以有四种边偏移模式和两种带偏移模式。在边偏移类型中,确定每个像素属于的边类型并应用与边类型相应的偏移。基于与当前像素相邻的像素的两个值的分布来确定边的类型。

可以基于比较原始图像和应用了去块滤波过程或适应性偏移施加过程的重构图像所得到的值,来执行适应性环路滤波过程。基于4×4块通过一个拉普拉斯算子活性值来检测适应性环路滤波器(ALF)。所确定的ALF可以应用到4×4块或8×8块包括的所有像素。可以根据编码单元确定是否应用ALF。环路滤波器的大小和系数可以根据每个编码单元而变化。切片头可以包括表示是否对每个编码单元应用ALF的信息、滤波器系数信息、以及滤波器形状信息等等。在色度成分的情况下,可以在图片单元中确定是否应用ALF。与亮度不同,环路滤波器可以具有矩形形状。

图片存储单元180从后处理单元170接收后处理图像数据,并将图像存储到图片单元中。图片可以是以帧(frame)或场(field)为单位的图像。图片存储单元180具有能存储多个图片的缓冲区(未示出)。

帧间预测单元160使用存储在图片存储单元180中的一个或多个参考图片来执行运动估计,并确定表示参考图片和运动向量的参考图片索引。根据参考图片索引和运动向量,帧间预测单元160从图片存储单元180中存储的多个参考图片中选取的一个参考图片提取与被编码的预测单元对应的预测块,并输出所提取的预测块。

帧内预测单元150使用当前图片中的重构的参考像素值执行帧内预测。帧内预测单元150接收被预测编码的当前预测单元,选取预定数量的帧内预测模式之一,并执行帧内预测。帧内预测模式的预定数量可以依赖于当前预测单元的大小。帧内预测单元150对参考像素适应性地滤波,以产生帧内预测块。当某些参考像素不可用时,可以使用一个或多个可用参考像素在不可用位置处产生参考像素。

熵编码单元140将由量化单元130量化变换系数、从帧内预测单元150接收的帧内预测信息以及从帧间预测单元160接收的运动信息等进行熵编码。

图2是示出根据本发明的扫描单元131的操作的流程图。

确定是否将量化变换块分割成多个子集(S110)。这一确定基于量化变换块的大小,即当前变换单元的大小。如果当前变换单元的大小比第一参考大小要大,那么将量化变换块的量化变换系数分割为多个子集。第一参考大小可以是4×4或8×8。通过图片头或切片头可以将第一参考大小传送到解码器。

在没有将量化变换块分割为多个子集时,确定应用到量化变换块的扫描方式(S120)。步骤S120可以先于步骤S110执行或不关心步骤S110。

根据所确定的扫描方式扫描量化变换块的量化系数(S130)。根据预测模式和帧内预测模式适应性地确定扫描方式。在帧间预测模式中,仅可以应用一种预定的扫描方式(例如,锯齿扫描(zigzag scan))。并且,可以选取预定数量的扫描方式之一来扫描所述系数,并且可以将扫描方式信息传送到解码器。在帧内预测模式中,可以应用根据帧内预测模式来确定的扫描模式。例如,将水平扫描应用到垂直帧内预测模式和与垂直预测模式相邻的预定数量的帧内预测模式。将垂直扫描应用到水平帧内预测模式和与水平帧内预测模式相邻的预定数量的帧内预测模式。所述预定数量根据预测单元允许的帧内预测模式的数量(或定向帧内预测模式的数量)或预测块的大小而变化。例如,如果在当前预测单元上允许的定向帧内预测模式的数量是16个,那么基于水平或垂直帧内预测模式的两个方向的每个方向上的预定数量可以是两个。如果允许定向帧内预测模式的数量是33个,那么基于水平或垂直帧内预测模式的两个方向的每个方向上的预定数量可以是四个。同时,将锯齿扫描应用于无向帧内预测模式。无向模式可以是直流(DC)模式或平面模式。

如果确定将量化变换块分割为多个子集,那么将量化变换块分割成多个子集(S140)。多个子集包括一个主子集和一个或多个剩余子集。主子集位于左上方并覆盖DC系数,并且一个或多个剩余子集覆盖主子集之外的区域。

确定应用到子集的扫描方式(S150)。将所确定的扫描方式应用到所有的子集。依据预测模式和帧内预测模式适应性地确定扫描方式。步骤S150可以先于步骤S110执行或不关心步骤S110。

如果量化变换块的大小(即,变换单元的大小)大于第二参考大小,那么可以对量化变换块应用预定的扫描方式(锯齿扫描)。例如,第二参考大小是8×8。因而,在第一参考大小小于第二参考大小时执行步骤S150。

在帧间预测模式中,对每个子集仅能应用一种预定的扫描方式(例如,锯齿扫描)。在帧内预测模式中,用与步骤S130相同的方式适应性地确定扫描方式。

下一步,根据扫描方式扫描每个子集的量化变换系数(S160)。在反方向上扫描每个子集中的量化变换系数。即,根据扫描方式从最后一个非零系数到其他非零系数扫描量化的变换系数,并进行熵编码。

可以应用锯齿扫描对子集进行扫描。可以在前向方向上从主子集开始到剩余子集扫描子集,或可以在反向方向上扫描子集。可以将用于扫描子集的扫描方式设定为与用于扫描子集中的量化变换系数的扫描方式相同。

根据本发明的运动图片编码装置100将能表示变换单元的最后一个非零量化系数的位置的信息传送到解码器。运动图片编码装置100也将能表示每个子集中的最后一个非零量化系数的位置的信息传送到解码器。

图3是示出根据本发明的运动图片解码装置的框图。

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

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

逆向扫描单元220将量化系数信息转换为二维的量化变换块。在多个逆向扫描方式中选取一个逆向扫描方式用于转换。基于预测模式和帧内预测模式的至少一个选取逆向扫描方式。逆向扫描单元220的操作与图1中扫描单元131的逆向操作相同。例如,如果被解码的变换单元的大小大于第一参考大小,那么根据所选取的逆向扫描逆向扫描每个子集的量化变换系数,并且使用多个子集产生具有变换单元大小的量化变换块。

逆向量化单元230确定当前编码单元的量化步长预测器。用于确定量化步长预测器的操作与图1中量化单元130的步骤相同。逆向量化单元将所确定的量化步长预测器和接收的残差量化步长相加,以产生当前编码单元的量化步长。逆向量化单元230使用量化步长确定的量化矩阵复原逆向量化系数。量化矩阵根据当前块的大小而变化。基于当前块的预测模式和帧内预测模式的至少一个,可以对具有相同大小的块选用该量化矩阵。

逆向变换单元240将逆向量化块逆向变换,以复原残差块。根据预测模式和帧内预测模式适应性地确定被应用到逆向量化块的逆向变换矩阵。逆向变换矩阵的确定步骤与图1的变换单元120中的步骤相同。

加法器290将由逆向变换单元240复原的复原残差块和由帧内预测单元250或帧间预测单元260产生的预测块相加,以产生重构的图像块。

帧内预测单元250基于从熵解码单元210接收的帧内预测信息复原当前块的帧内预测模式,并根据复原的帧内预测模式产生预测块。

帧间预测单元260基于从熵解码单元210接收的帧间预测信息复原参考图片索引和运动向量,并使用参考图片索引和运动向量产生预测块。当应用具有小数精度的运动补偿时,使用内插滤波器产生预测块。

后处理单元270的操作和图1的后处理单元160的操作相同。

图片存储单元280存储通过后处理单元270后处理的重构图像。

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

参考图4,帧内预测单元150包括参考像素产生单元151、参考像素滤波单元152、预测块产生单元153、预测块滤波单元154、预测模式确定单元155、预测模式编码单元156以及预测块传送单元157。

参考像素产生单元151确定是否需要为帧内预测产生参考像素,并在需要产生参考像素时产生参考像素。

图5是示出根据本发明的用于帧内预测的参考像素的位置的原理图。如图5所示,用于帧内预测的当前预测单元的参考像素包括上参考像素、左参考像素和角参考像素。上参考像素覆盖区域C和D位于(x=0,...,2L-1,y=-1)处,并且左参考像素覆盖区域A和B位于(x=-1,y=0,...,and 2M-1)处。这里,L是当前预测块的宽度,并且M是当前预测块的高度。

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

首先,将描述被编码的当前预测单元的上区域和左区域的任何一个中的所有参考像素都不可用的情况。

例如,在当前预测单元位于图片或切片的上边界处时,当前预测单元的上参考像素(区域C和D)和角参考像素不存在。在当前预测单元位于图片或切片的左边界处时,左参考像素(区域A和B)和角参考像素不存在。在这些情况下,通过拷贝最接近不可用像素的可用像素的值产生参考像素。即,在当前预测单元位于图片或切片的上边界处时,可以通过拷贝最上方的左参考像素(即,位于区域A的最上方位置中的参考像素)产生上参考像素。在当前预测单元位于图片或切片的左边界处时,可以通过拷贝最左方的上参考像素(即,位于区域C的最左方位置中的参考像素)产生左参考像素。缺省应用上面提到的方法,但在必要时,该方法可以随每个序列、图片或切片而改变。

当左参考像素或上参考像素的某些像素不可用时,如下产生参考像素。

如果仅在从可用像素起的一个方向上存在不可用参考像素,则通过拷贝最接近不可用像素的可用像素的值来产生参考像素。例如,在当前块位于位于图片、切片或LCU的下边界处时,参考像素覆盖区域B不可用。使用最接近不可用像素的两个或更多个可用像素来产生参考像素。

如果在可用像素之间存在不可用参考像素,则使用在两个方向上最接近不可用像素的两个可用参考像素来产生参考像素。例如,在当前块位于切片的上边界处并且当前块的左上块可用时,参考像素覆盖区域C不可用,但参考像素覆盖区域A和D可用。通过对两个可用参考像素求平均值,来产生参考像素。但是,当由不可用参考像素覆盖的区域较大时,线性插值可用于产生参考。

在所有参考像素都不可用时,通过使用位于预测单元内部的两个或更多个像素来产生参考像素。例如,在当前块位于图片或切片的左上边界处时,所有的参考像素均不可用。

图6是示出根据本发明的产生参考像素的过程的流程图。

参考图6,使用两个像素产生参考像素的过程如下。可使用当前预测单元的左上像素、右上像素、左下像素Δ以及右下像素。在使用当前预测单元的左上像素和右上像素时,将左上像素和右上像素拷贝到上边的对应位置,并且右上像素和所拷贝的参考像素用于产生参考像素覆盖区域C。使用平均或线性插值产生参考像素。通过拷贝右上像素或通过使用多个已产生的上方像素来产生参考像素覆盖D。在使用左上像素和左下像素Δ时,应用相同的方法。在使用左上像素和右下像素时,在水平方向和垂直方向上拷贝右下像素以产生两个对应的参考像素,接下来用与上面的描述相同的方式产生剩余的参考像素。

使用三个像素产生参考像素的过程如下。可使用当前预测单元的左上像素、右上像素、左下像素Δ。拷贝像素,以产生与像素对应的参考像素。用与上面的描述相同的方式产生剩余的参考像素。

同时,将用于产生参考像素的像素的值传送到解码器。为最小化被传送的比特数,左上像素的值、左上像素的值与其他像素的值的差。左上像素的值可以是量化的值或被熵编码。

在切片类型是帧内(I)时,使用两个或更多个像素产生参考像素更有效。

将描述另外一种在被编码的当前预测单元的上方和左方的所有参考像素都不可用时产生参考像素的方法。该方法在切片类型不是帧内(I)时也有效。

首先,确定在与预先编码为当前块的参考图片中的当前预测单元的参考像素的相同位置处是否存在像素。当存在像素时,拷贝在参考图片中的像素以产生当前预测单元的参考像素。

在不存在像素时,确定在与当前预测单元的参考像素的最近位置处(1个像素的距离)是否存在像素。当存在像素时,拷贝该像素并将其用作当前预测的参考像素。

参考像素滤波单元152对当前预测单元的参考像素适应性地滤波。应用低通滤波器来平滑相邻像素间差异。该低通滤波器可以是3抽头滤波器[1,2,1]或5抽头滤波器[1,2,4,2,1]。

可以根据当前块的大小适应性地应用滤波器。如果当前块的大小等于或小于预定大小,可以不应用所述滤波器。该预定大小可以是4×4。

也可以根据当前块的大小和帧内预测模式适应性地应用滤波器。

如果帧内预测模式是水平模式或垂直模式,那么使用一个参考像素产生一个预测像素。因而,在水平模式和垂直模式中不应用滤波器。在DC模式中,用参考像素的平均值产生预测像素。因此,由于预测像素不受参考像素之间的差的影响,所以在DC模式中不应用滤波器。

在方向与水平或垂直方向成45°的帧内预测模式3、6或9中,无论预测单元的大小是多少都会应用滤波器,并在当前块比最小预测单元大时也会应用滤波器。可以对小于预定大小的预测单元应用第一滤波器,并且可以对大小等于或大于预定大小的预测单元应用比第一滤波器更强的第二滤波器。预定大小可以是16×16。

在除了垂直模式、水平模式、DC模式以及帧内预测模式3、6和9之外的帧内预测模式中,可以根据当前预测单元的大小和帧内预测模式适应性地应用滤波器。然而,在平面模式中,可以执行参考像素的滤波。

预测块产生单元153产生与帧内预测模式对应的预测块。基于帧内预测模式,使用参考像素或参考像素的线性组合产生预测块。用于产生预测块的参考像素可以被参考像素滤波单元152滤波。

根据帧内预测模式,预测块滤波单元154适应性地将所产生的预测块滤波,使得预测块与被编码的当前块之间的残差信号最小。参考像素和与参考像素相邻的预测像素间的差随着帧内预测模式而变化。因而,对与参考像素相邻的预测像素进行滤波使该差变小。

在DC模式中,由于预测像素是参考像素的平均值,从而该差可能会较大。因而,使用参考像素对与参考像素相邻的上边线和左边线的预测像素进行滤波。使用3抽头滤波器对与两个参考像素(上参考像素和左参考像素)相邻的左上预测像素进行滤波。使用2抽头滤波器对与一个参考像素相邻的其它预测像素(在预测块中的上边线的像素和左边线的像素)进行滤波。

在垂直模式(模式0)、对角线左下模式(模式6)、以及在模式0和模式6之间的帧内预测模式(模式22、12、23、5、24、13、25)中,仅使用预测单元的上参考像素产生预测块。因而,参考像素和与参考像素相邻的、预测块中的上边线的预测像素之间的差可以随着预测像素位置向下而变大。

并且,在水平模式(模式1)、对角线右下模式(模式9)、以及在模式1和模式9之间的帧内预测模式(模式30、16、31、8、32、17、33)中,仅使用左参考像素产生预测块。因而,参考像素和与参考像素相邻的预测像素之间的差可以随着预测像素位置向右而变大。

据此,可以对预测块的某些预测像素滤波,以补偿在除了DC模式之外的定向帧内预测模式中的差。

在模式6中,对与左参考像素相邻的、预测块中的左边线的所有或某些预测像素进行滤波。例如,左边线的像素可以是在左边线下部中的N/2个像素。这里的N是当前预测单元的高度。

在模式9中,对与上参考像素相邻的、预测块中的上边线的所有或某些预测像素进行滤波。例如,上边线的像素可以是在上边线右部中的M/2个像素。这里的M是当前预测单元的宽度。

在接近模式6并在模式0与模式6之间存在的预定数量的定向帧内预测模式中,能使用与模式6相同的滤波方法。在这种情况下,一个模式与模式编码6越远,被滤波的像素的数量可能会越少或相同。

在模式1和模式9之间的定向帧内预测模式中,可以使用相同的滤波方法。

同时,根据当前预测单元的大小适应性地应用滤波器。例如,根据帧内预测模式,对等于或小于预定大小的预测单元不应用滤波器。

预测块滤波单元154可以集成到预测块产生单元153中。或者,通过使用产生操作和滤波操作的组合产生预测块。

使用参考像素,帧内预测模式确定单元155确定当前预测单元的帧内预测模式。帧内预测模式确定单元155选择一种将残差块的编码比特数最小化的帧内预测模式作为当前预测单元的帧内预测模式。可以使用经过参考像素滤波单元152滤波后的参考像素产生预测块,或预测块可以是经过预测块滤波单元154滤波后的块。

预测块传送单元157将基于帧内预测模式由预测模式确定单元155产生的预测块传送到减法器190。

预测模式编码单元156对帧内预测模式确定单元155确定的当前预测单元的帧内预测模式进行编码。帧内预测模式编码单元156可以集成到帧内预测单元150或熵编码单元140。

预测模式编码单元156使用当前预测单元的上帧内预测模式和当前预测单元的左帧内预测模式,对当前预测单元的帧内预测模式进行编码。

首先,推导出当前预测单元的上帧内预测模式和左帧内预测模式。在当前预测单元存在多个上预测单元时,在预定的方向上(例如,从右到左)扫描多个上预测单元,以确定第一个可用预测单元的帧内预测模式作为上帧内预测模式。并且,在当前预测单元存在多个左预测单元时,在预定的方向上(例如,从下到上)扫描多个左预测单元,以确定第一个可用预测单元的帧内预测模式作为左帧内预测模式。可选地,在多个可用预测单元中,可以将具有最小帧内预测模式数量的可用预测单元的帧内预测模式设定为上帧内预测模式。

在上帧内预测模式或左帧内预测模式不可用时,可以将DC模式(模式2)设定为上帧内预测模式或左帧内预测模式。在不存在对应的预测单元时,将上帧内预测模式或左帧内预测模式看作不可用。

下一步,在上帧内预测模式数量或左帧内预测模式数量等于或大于当前预测单元的允许帧内预测模式数量时,将上帧内预测模式或左帧内预测模式转换为当前预测单元的允许模式之一。例如,在当前预测单元大小是4×4时,将帧内预测模式转换为九个模式(模式0到模式8)中的一个,并且,在当前预测单元大小是64×64时,将帧内预测模式转换到为三个模式(模式0到模式2)中的一个。帧内预测模式可以转换为当前预测单元允许的帧内预测模式之一。

下一步,如果当前预测单元的帧内预测模式与上帧内预测模式和左帧内预测模式中的任何一个相同,那么表示当前预测单元的帧内预测模式的一个标志与上帧内预测模式和左帧内预测模式的任何一个相同,并且,将表示上帧内预测模式和左帧内预测模式中的一个的标志传送到解码器。在这种情况下,如果上帧内预测模式和左帧内预测模式相同,那么可以省略表示上帧内预测模式和左帧内预测模式中的一个的标志。并且,如果上帧内预测模式和左帧内预测模式的仅一个可用并且可用帧内预测模式与当前预测块的帧内预测模式相同,则可以省略表示上帧内预测模式和左帧内预测模式中的一个的标志。

但是,如果当前预测单元的帧内预测模式与上帧内预测模式和左帧内预测模式中的任何一个都不相同,那么将当前预测单元的帧内预测模式数量与上帧内预测模式数量和左帧内预测模式数量相比较。对模式改变值进行计数。模式改变值是具有不大于当前预测单元的帧内预测模式数量的帧内预测模式的数量。接着,使用模式改变值来改变当前预测单元的帧内预测模式。确定改变的帧内预测模式,作为被传送的最终帧内预测模式信息。

根据上帧内预测模式与左帧内预测模式是否相同,选择用于对最终帧内预测模式进行编码的表。

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

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

预测模式解码单元251按如下方式复原当前预测单元的帧内预测模式。

首先,帧内预测模式解码单元251接收在附加信息载体中包括的用于产生预测块的附加信息。附加信息包括预测标志和剩余的预测信息。预测标志表示当前预测单元的预测模式是否与相邻预测单元的预测模式的一个相同。剩余的预测信息包括以预测标志确定的信息。如果预测标志是1,那么剩余的预测信息可以包括帧内预测模式候选的索引。帧内预测模式的索引指明帧内预测模式候选。如果预测标志是0,那么剩余的信息可以包括剩余的帧内预测模式数量。

推导出当前预测单元的帧内预测模式候选。使用相邻预测单元的帧内预测模式推导出帧内预测模式候选。例如,相邻预测单元是上预测单元和左预测单元。在有多个上预测单元或多个左预测单元时,将上预测单元或左预测单元的帧内预测模式确定为操作与在编码装置100的帧内预测编码单元156中描述的操作相同。并且,在可用的帧内预测模式候选的模式数量等于或大于当前预测单元允许的帧内预测模式数量时,如同在帧内预测编码模块156中描述的,将可用的帧内预测模式候选的模式转换为当前预测单元允许的一个模式。

下一步,如果接收的预测标志表示当前预测单元的帧内预测模式与帧内预测候选之一相同并且存在帧内预测模式候选的索引,那么将该索引表示的帧内预测模式设定为当前预测单元的帧内预测模式。

如果接收的预测标志表示当前预测单元的帧内预测模式与帧内预测候选之一相同并且不存在帧内预测模式候选的索引,那么将那个可用帧内预测模式设定为当前预测单元的帧内预测模式。

如果接收的预测标志表示当前预测单元的帧内预测模式与任何一个帧内预测候选均不相同,通过比较残余帧内预测模式数量和可用帧内预测模式候选的模式数量来复原当前预测单元的帧内预测模式。

参考像素产生单元252使用与在编码装置100的参考像素产生单元151中描述方法相同的方法产生参考像素。但是,仅在用于产生预测块和由帧内预测模式确定时的参考像素不可用时,参考像素产生单元252可以产生参考像素。

基于由预测解码单元251复原的帧内预测模式和预测块的大小,参考像素滤波单元253对参考像素适应性地滤波。滤波条件和方法与编码装置100的参考像素滤波单元152的滤波条件和方法相同。

预测块产生单元254根据由预测模式解码单元251复原的帧内预测模式,使用参考像素产生预测块。

预测块滤波单元255根据由预测模式解码单元251复原的复原帧内预测模式,对预测块适应性地滤波。滤波操作与编码装置100的预测块滤波单元154的滤波操作相同。

预测块传送单元256将从预测块产生器254或预测块滤波单元255接收的预测块传送到加法器290。

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