推导帧内预测模式的方法和设备的制作方法

文档序号:7864744阅读:242来源:国知局
专利名称:推导帧内预测模式的方法和设备的制作方法
技术领域
本发明涉及一种推导帧内预测模式的方法和设备,更具体而言,涉及一种利用相邻帧内预测模式构造MPM组和利用MPM组和帧内预测信息推导帧内预测模式的方法。
背景技术
在诸如MPEG-l、MPEG-2、MPEG-4和H.264/MPEG-4AVC的图像压缩方法中,一幅图画被分成宏块以对图像编码。然后,利用帧间预测或帧内预测对相应宏块编码。在帧内预测中,不利用参考图画,而是利用空间上与当前块相邻的重构像素的值对图画的当前块编码。通过比较利用相邻像素值产生的预测块和初始块从多个帧内预测模式中选择失真小的最佳预测模式。然后,利用所选的帧内预测模式和相邻像素值,计算当前块的预测值。计算初始当前块的预测值和像素值之间的差异,然后通过转换编码、量化和熵编码进行编码。也对帧内预测模式进行编码。根据H.264标准,4X4帧内预测中有九种模式。九种模式是垂直模式、水平模式、DC模式、对角线左下模式、对角线右下模式、垂直右模式、垂直左模式、水平上模式和水平下模式。在九种模式中选择一种模式以产生当前块的预测块,将模式信息发送到解码器。在发展中的HEVC标准中,帧内预测模式的数量增加到18或35个,编码单元的大小介于8X8和128X128之间。编码单元与H.264/AVC的宏块目的相似。因此,如果利用H.264/AVC的相同方法对帧内预测模式编码,编码效率会下降,因为帧内预测模式的数量大于H.264/AVC的数量。而且,随着编码单元大小增加且帧内预测模式数量增加,应当改进量 化方法和扫描方法以提高编码效率。

发明内容
技术问题本发明涉及一种利用相邻帧内预测模式构造MPM组并利用MPM组和帧内预测信息导出帧内预测模式的方法和设备。技术方案本发明的一个方面提供了一种导出当前预测单元的帧内预测模式的方法,包括:对模式组指示符和预测模式索引进行熵解码;构造包括三个帧内预测模式的MPM组;判断所述模式组指示符是否表示MPM组;如果所述模式组指示符指示MPM组,将所述预测模式索引指定的MPM组的帧内预测确定为当前预测单元的帧内预测模式;以及如果所述模式组指示符不指示MPM组,利用所述预测模式索引和所述MPM组的三个预测模式导出所述当前预测单元的帧内预测模式。有利效果根据本发明的方法构造包括三个帧内预测模式的MPM组;如果所述模式组指示符指示MPM组,将所述预测模式索引指定的MPM组的帧内预测确定为当前预测单元的帧内预测模式;以及如果所述模式组指示符不指示MPM组,利用所述预测模式索引和所述MPM组的三个预测模式导出所述当前预测单元的帧内预测模式。因此,通过利用多个最可能的候选对当前块的帧内预测模式编码提高了帧内预测模式的编码效率。而且,通过产生非常类似于初始块的预测块并通过使对残余块编码所需的比特量最小化,提高了帧内预测模式的编码效率。


图1是根据本发明的图像编码设备的方框图。图2是示出了根据本发明的帧内预测模式的示意图。图3是根据本发明的图像解码设备的方框图。图4是流程图,示出了根据本发明在帧内预测中产生预测块的方法。图5是流程图,示出了根据本发明恢复帧内预测模式的流程。图6是示意图,示出了根据本发明当前块的参考像素的位置。图7是方框图,示出了根据本发明在帧内预测中产生预测块的设备。
具体实施例方式在下文中,将参考附图详细描述本发明的各实施例。不过,本发明不限于下文公开的示范性实施例,而是可以通过各种方式实施。因此,本发明很多其他修改和变化都是可能的,要理解的是,在所公开的概念范围之内,可以通过与具体所述不同的方式实践本发明。图1是根据本发明的图像编码设备100的方框图。参考图1,根据本发明的图像编码设备100包括图画分割单元101、变换单元103、量化单元104、扫描单元105、熵编码单元106、逆量化单元107、逆变换单元108、后期处理单元110、图画存储单元111、帧内预测单元112、帧间预测单元113、减法器102和加法器109。图画分割单元101将图画或切片(slice)划分成多个最大编码单元(IXU),并将每个LCU划分成一个或多个编码单元。图画分割单元101确定每个编码单元的预测模式和预测单元大小与变换单元大小。IXU包括一个或多个编码单元。IXU具有递归的四叉树结构,以指定IXU的分割结构。指定编码单元的最大大小和最小大小的信息包括在序列参数集中。由一个或多个分裂编码单元标志(split_cu_flag)指定分割结构。编码单元的大小是2NX2N。编码单元包括一个或多个预测单元。在帧内预测中,预测单元的大小是2NX2N或NXN0在帧间预测中,预测单元的大小是2NX2N、2NXN、NX2N或NXN。当预测单元在帧间预测中是不对称分割时,预测单元的大小也可以是hNX 2N、( 2-h) NX 2N、2NX hN和2NX(2-h)N 之一。h 的值为 1/2。编码单元包括一个或多个变换单元。变换单元具有递归的四叉树结构,以指定分割结构。由一个或多个分裂变换单元标记(split_tu_flag)指定分割结构。指定变换单元的最大大小和最小大小的信息包括在序列参数集中。帧内预测单元112确定当前预测单元的帧内预测模式并利用帧内预测模式产生一个或多个预测块。预测块具有与变换单元同样的大小。如果当前块有不可用的参考像素,帧内预测单元112产生参考像素,根据当前块的大小和帧内预测模式自适应地对当前块的参考像素滤波并产生当前块的预测块。当前块具有与预测块同样的大小。
图2是示出了根据本发明的帧内预测模式的示意图。如图2所示,帧内预测模式的数量为35。DC模式和平面模式是非方向性帧内预测模式,其他是方向性帧内预测模式。帧间预测单元113利用图画存储单元111中存储的一个或多个參考图画确定当前预测单元的运动信息并产生预测单元的预测块。运动信息包括指示參考图画的ー个或多个參考图画索引和一个或多个运动矢量。变换单元103利用初始块和预测块变换残余信号以产生变换块。在变换单元中变换残余信号。变换类型由预测模式和变换单元的大小确定。变换类型是基于DCT的整数变换或基于DST的整数变换。量化单元104确定用于量化变换块的量化參数。量化參数是量化步长。针对大小等于或大于參考大小的每个量化单元确定量化參数。具有參考大小的量化単元被称为最小量化单元。如果编码单元的大小等于或大于參考大小,编码单元变为量化单元。最小量化単元中可以包括多个编码単元。參考大小是编码単元可允许大小之一。參考大小针对每幅图画被确定并包括在图画參数集中。量化単元104产生量化參数预测器并通过从量化參数减去量化參数预测器来产生差分量化參数。对差分量化參数进行编码并发送到解码器。如果编码単元中没有要发送的残余信号,可以不发送编码单元的差分量化參数。利用相邻编码単元的量化參数和/或先前编码单元的量化參数产生量化參数预测器。量化单元104按照下述次序顺序检索左量化參数、上量化參数和前量化參数。在有至少两个量化參数可用时,将按照所述次序检索的前两个可用量化參数的平均值设置为量化參数预测器。在仅有ー个量化參数可用时,将该可用的量化參数设置为量化參数预测器。左量化參数是左相邻编码单元的量化參数。上量化參数是上相邻编码单元的量化參数。前量化參数是编码次序中前编码单元的量化參数。量化単元104利用量化矩阵和量化參数对变换块进行量化以产生量化块。向逆量化单元107和扫描单元105提供量化块。扫描单兀105确定扫描模式并向量化块应用该扫描模式。在将CABAC (语境自适应ニ进制算木编码)用于熵编码时,如下确定扫描模式。在帧内预测中,由帧内预测模式和变换单元的大小确定扫描模式。在对角线扫描、垂直扫描和水平扫描间选择扫描模式。将量化块的量化变换系数分成显著系数、符号标记和级别。将所述扫描模式分别应用于显著系数、符号标记和级别。在变换单元的大小等于或小于第一大小时,为垂直模式和垂直模式的预定数量的相邻帧内预测模式选择水平扫描,为水平模式和水平模式的预定数量的相邻帧内预测模式选择垂直扫描,为其他巾贞内预测模式选择对角线扫描。第一大小为8X8。在变换单兀的大小大于第一大小时,为所有巾贞内预测模式选择对角线扫描。在帧间预测中,使用预定扫描模式。预定扫描模式是对角线扫描。在变换单元的大小大于第二大小时,量化块被分成多个子集并被扫描。第二大小是4X4。用于扫描子集的扫描模式与用于扫描每个子集的量化变换系数的扫描模式相同。沿相反方向扫描每个子集的量化变换系数。也沿反向扫描子集。对最后非零位置编码并发送到解码器。最后非零位置指定最后非零量化变换系数在变换单元中的位置。非零子集标志被确定并被编码。非零子集标志指示子集是否包含非零系数。不针对覆盖DC系数的子集和覆盖最后非零系数的子集定义非零子集标志。逆量化单元107对量化块的量化的变换系数进行逆量化。逆变换单元108对逆量化块进行逆变换以产生空间域的残余信号。加法器109通过将残余块和预测块相加来产生重构块。后期处理单元110执行解块过滤过程,以清除重建图画中产生的分块人为噪声。图画存储单元111从后期处理单元110接收经后期处理的图像并在图画单元中存储图像。图画可以是帧或场。熵编码单元106对从扫描单元105接收的一维系数信息、从帧内预测单元112接收的帧内预测信息、从帧间预测单元113接收的运动信息等进行熵编码。图3是根据本发明的图像解码设备200的方框图。根据本发明的图像解码设备200包括熵解码单元201、逆扫描单元202、逆量化单元203、逆变换单元204、加法器205、后期处理单元206、图画存储单元207、帧内预测单元208和帧间预测单元209。熵解码单元201从接收的比特流提取帧内预测信息、帧间预测信息和一维系数信息。熵解码单元201向帧间预测单元209发送帧间预测信息,向帧内预测单元208发送帧内预测信息,向逆扫描单元202发送系数信息。逆扫描单元202使用逆扫描模式产生二维量化块。应该将CABAC用作熵编码方法。逆扫描模式是对角线扫描、垂直扫描和水平扫描之一。在帧内预测中,由帧内预测模式和变换单元的大小确定逆扫描模式。在对角线扫描、垂直扫描和水平扫描间选择逆扫描模式。将选择的逆扫描模式分别应用于显著系数、符号标记和级别以产生量化块。在变换单元的大小等于或小于第一大小时,为垂直模式和垂直模式预定数量的相邻帧内预测模式选择水平扫描,为水平模式和水平模式预定数量的相邻帧内预测模式选择垂直扫描,为其他巾贞内预测模式选择对角线扫描。第一大小为8X8。在变换单兀的大小大于第一大小时,为所有巾贞内预测模式选择对角线扫描。在帧间预测中,使用对角线扫描。在变换单元的大小大于第二大小时,以子集为单元逆扫描显著系数、符号标志和级别以产生子集。并对该子集进行逆扫描以产生量化块。第二大小是4X4。用于产生每个子集的逆扫描模式与用于产生量化块的逆扫描模式相同。沿相反方向对显著系数、符号标记和级别进行扫描。也沿反向扫描子集。从编码器接收最后非零位置和非零子集标志。使用最后非零位置确定要产生的子集数量。使用非零子集标志确定要通过应用逆扫描模式产生的子集。利用逆扫描模式产生覆盖DC系数的子集和覆盖最后非零系数的子集,因为未发送针对覆盖DC系数的子集和覆盖最后非零系数的子集的非零子集标志。逆量化单元203从熵解码单元201接收差分量化参数并产生量化参数预测器。通过图1的量化单元104的相同操作产生量化参数预测器。然后,逆量化单元203将差分量化参数和量化参数预测器相加以产生当前编码单元的量化参数。如果当前编码单元等于或大于最小量化単元且不从编码器接收用于当前编码单元的差分量化參数,将差分量化參数设置为O。逆量化単元203对量化块进行逆量化。逆变换单元204对逆量化块进行逆变换以恢复残余块。根据预测模式和变换单元的大小自适应地确定逆变换类型。逆变换类型是基于DCT的整数变换或基于DST的整数变换。帧内预测单元208利用接收的帧内预测信息恢复当前预测单元的帧内预测模式,井根据恢复的帧内预测模式产生预测块。预测块具有与变换单元同样的大小。如果当前块有不可用的參考像素,帧内预测单元250产生參考像素,根据当前块的大小和帧内预测模式自适应地对当前块的參考像素滤波。当前块具有与变换单元相同的大小。帧间预测单元209利用接收的帧间预测信息恢复当前预测单元的运动信息,井利用运动信息产生预测块。后期处理单元206与图1的后期处理单元110同样工作。图画存储单元207从后期处理单元206接收经后期处理的图像并在图画单元中存储图像。图画可以是帧或场。加法器205将恢复的残余块和预测块相加以产生重构块。图4是流程图,示出了根据本发明在帧内预测中产生预测块的方法。对当前预测单元的帧内预测信息进行熵解码(SI 10)。帧内预测信息包括模式组指示符和预测模式索引。模式组指示符是表示当前预测単元的帧内预测模式是否属于最可能的模式组(MPM组)的标志。如果标志是1,当前预测単元的帧内预测单元属于MPM组。如果标志是0,当前预测单元的帧内预测单元属于残余模式组。残余模式组包括除属于MPM组的帧内预测模式之外的所有帧内预测模式。预测模式索引指定由模式组指示符指定的组之内当前预测单元的帧内预测模式。利用帧内预测信息导出当前预测单元的帧内预测模式(S120)。图5是流程图,示出了根据本发明导出帧内预测模式的流程。利用以下有次序的步骤导出当前预测单元的帧内预测模式。利用相邻预测单元的帧内预测模式构造MPM组(S121)。由左帧内预测模式和上帧内预测模式自适应地确定MPM组的帧内预测模式。左帧内预测模式是左相邻预测単元的帧内预测模式,上帧内预测模式是上相邻预测単元的帧内预测模式。MPM组由三个帧内预测模式构成。如果不存在左或上相邻预测单元,将左或上相邻单元的帧内预测模式设置为不可用。例如,如果当前预测单元位于图画的左或上边界,则不存在左或上相邻预测单元。如果左或上相邻单元位于其他切片或其他区块之内,将左或上相邻单元的帧内预测模式设置为不可用。如果左或上相邻单元是帧间编码的,将左或上相邻单元的帧内预测模式设置为不可用。如果上相邻单元位于其他LCU之内,可以将左或上相邻单元的帧内预测模式设置为不可用。在左帧内预测模式和上帧内预测模式都可用且彼此不同吋,将左帧内预测模式和上帧内预测模式包括在MPM组中,将ー个额外的帧内预测模式加到MPM组。将索引0分配给模式编号小的一个帧内预测模式,将索引I分配给另ー个。或者,可以向左帧内预测模式分配索引O,可以向上帧内预测模式分配索引I。如下由左和上帧内预测模式确定额外的帧内预测模式。如果左和上帧内预测模式之一是非方向性模式,另一个是方向性模式,将另一个非方向性模式加给MPM组。例如,如果左和上帧内预测模式之一是DC模式,将平面模式加到MPM组。如果左和上帧内预测模式之一是平面模式,将DC模式加到MPM组。如果左和上帧内预测模式都是非方向性模式,将垂直模式加到MPM组。如果左和上帧内预测模式都是方向性模式,将DC模式或平面模式加到MPM组。在仅有左帧内预测模式和上帧内预测模式之一可用时,将可用的帧内预测模式包括在MPM组中,将额外的两个帧内预测模式加到MPM组。如下通过可用的帧内预测模式确定增加的两个帧内预测模式。如果可用的帧内预测模式是非方向性模式,将其他非方向性模式和垂直模式增加到MPM组。例如,如果可用的帧内预测模式是DC模式,将平面模式和垂直模式增加到MPM组。如果可用的帧内预测模式是平面模式,将DC模式和垂直模式增加到MPM组。如果可用的帧内预测模式是方向性模式,将两个非方向性模式(DC模式和平面模式)增加到MPM组。在左帧内预测模式和上帧内预测模式都可用且彼此相同时,将可用帧内预测模式包括在MPM组中,将两个额外的帧内预测模式增加到MPM组。如下通过可用的帧内预测模式确定增加的两个帧内预测模式。 如果可用的帧内预测模式是方向性模式,将两个相邻方向性模式增加到MPM组。例如,如果可用的帧内预测模式是模式23,将左相邻模式(模式I)和右相邻模式(模式13)增加到MPM组。如果可用的帧内预测模式是模式30,将两个相邻模式(模式2和模式16)增加到MPM组。如果可用的帧内预测模式是非方向性模式,将其他非方向性模式和垂直模式增加到MPM组。例如,如果可用的帧内预测模式是DC模式,将平面模式和垂直模式增加到MPM 组。在左帧内预测模式和上帧内预测模式都不可用时,将三个额外的帧内预测模式增加到MPM组。三个帧内预测模式是DC模式、平面模式和垂直模式。按照DC模式、平面模式和垂直模式的次序或平面模式、DC模式和垂直模式的次序将索引0、1和2分配给三个帧内预测模式。判断模式组指示符是否指示MPM组(S122)。如果模式组指示符指示MPM组,将预测模式索引指定的MPM组的帧内预测确定为当前预测单元的帧内预测模式(S123 )。如果模式组指示符不指示MPM组,将预测模式索引指定的残余模式组的帧内预测确定为当前预测单元的帧内预测模式(S124)。如以下顺序步骤那样利用预测模式索引和MPM组的帧内预测模式导出当前单元的帧内预测模式。I)按照模式编号次序重新排列MPM组的三个帧内预测模式的顺序。将模式编号最低的帧内预测模式设置为第一候选。将模式编号中间的帧内预测模式设置为第二候选。将模式编号最高的帧内预测模式设置为第三候选。2)将预测模式索引与第一候选比较。如果预测模式索引等于或大于MPM组的第一候选,将预测模式索引的值增加一。否则,维持预测模式索引的值。3)将预测模式索引与第二候选比较。如果预测模式索引等于或大于MPM组的第二候选,将预测模式索引的值增加一。否则,維持预测模式索引的值。4)将预测模式索引与第三候选比较。如果预测模式索引等于或大于MPM组的第三候选,将预测模式索引的值增加一。否则,維持预测模式索引的值。5)将最后预测模式索引的值设置为当前预测单元的帧内预测模式的模式编号。基于指定变换单元大小的变换大小信息确定预测块的大小(S130)。变换大小信息可以是ー个或多个指定变换单元大小的split_transform_flag。如果变换单元的大小等于当前预测单元的大小,预测块的大小等于当前预测单元的大小。如果变换单元的大小小于当前预测单元的大小,预测块的大小等于变换单元的大小。在这种情况下,对当前预测单元的每个子块执行产生重构块的过程。亦即,产生当前子块的预测块和残余块,通过将预测块和残余块相加产生每个子块的重构块。然后,产生解码次序中下一子块的预测块、残余块和重构块。使用恢复的帧内预测模式产生所有子块的所有预测块。将当前子块的重构块的一些像素用作下一子块的參考像素。因此,能够产生更类似于初始子块的预测块。接下来,判断是否当前块的所有參考像素都可用,如果ー个或多个參考像素不可用,产生參考像素(S140)。当前块是当前预测单元或当前子块。当前块的大小是变换単元的大小。图6是示意图,示出了根据本发明当前块的參考像素的位置。如图6所示,当前块的參考像素由位于(x=0,…,2N-1, y=_l)的上參考像素、位于(x=-l, y=0,…,2M-1)的左參考像素和位于(x=-l,y=-l)的角像素构成。N是当前块的宽度,M是当前块的高度。如果在对应位置不存在重构像素或重构像素位于另ー切片之内,将參考像素设置为不可用。在受约束帧内预 测模式(CIP模式)中,也将帧间模式的重构像素设置为不可用。如果ー个或多个參考像素不可用,如下针对ー个或多个不可用的參考像素产生ー个或多个參考像素。如果所有參考像素都不可用,用值替代所有參考像素的值。L的值是用于表示亮度像素值的比特数。如果可用參考像素仅位于不可用參考像素的ー侧,则用最接近不可用像素的參考像素值替代不可用參考像素。如果可用參考像素位于不可用參考像素的两侧,则用在每侧最接近不可用像素的參考像素的平均值或在预定方向上最接近不可用像素的參考像素值替代每个不可用參考像素。接下来,基于帧内预测模式和当前块的大小(S150)自适应地对參考像素进行过滤。当前块的大小是变换単元的大小。在DC模式中,不对參考像素进行过滤。在垂直模式和水平模式中,不对參考像素进行过滤。在除了垂直和水平模式的方向性模式中,根据当前块的大小调整參考像素。如果当前的大小是4X4,在所有帧内预测模式中都不对參考像素过滤。对于8X8、16X 16和32X32的大小,随着当前块的大小变大,对參考像素进行过滤的帧内预测模式的数量増大。例如,在垂直模式和垂直模式的预定数量的相邻帧内预测模式中不对參考像素进行过滤。在水平模式和水平模式预定数量的相邻帧内预测模式中也不对參考像素进行过滤。预定数量介于0到7之间,随着当前块大小变大而减小。接下来,根据恢复的帧内预测模式利用参考像素产生当前块的预测块(S160)。在DC模式中,通过对位于(x=0,…N-l,y=_l)的N个参考像素和位于(x=_l,y=0,..M-l)的M个参考像素求平均值来产生预测块的预测像素。然后,利用一个或两个相邻参考像素对与参考像素相邻的预测像素进行过滤。在垂直模式中,通过拷贝对应垂直参考像素的值来产生预测块的预测像素。然后,由左相邻参考像素和角像素对与左参考像素相邻的预测像素进行过滤。在水平模式中,通过拷贝对应水平参考像素的值来产生预测块的预测像素。然后,由上相邻参考像素和角像素对与上参考像素相邻的预测像素进行过滤。图7是方框图,示出了根据本发明在帧内预测中产生预测块的设备300。根据本发明的设备300包括语法分析单元310、预测模式解码单元320、预测大小确定单元330、参考可用性检查单元340、参考像素产生单元350、参考像素过滤单元360和预测块产生单元370。语法分析单元310从比特流恢复当前预测单元的帧内预测信息。该帧内预测信息包括模式组指示符和预测模式索引。模式组指示符是表示当前预测单元的帧内预测模式是否属于最可能的模式组(MPM组)的标志。如果该标志是1,当前预测单元的帧内预测单元属于MPM组。如果标志是0,当前预测单元的帧内预测单元属于残余模式组。残余模式组包括除属于MPM组的帧内预测模式之外的所有帧内预测模式。预测模式索引指定由模式组指示符指定的组之内当前预测单元的帧内预测模式。预测模式解码单元320包括MPM组构造单元321和预测模式恢复单元322。MPM组构造单元321构造当前预测单元的MPM组。利用相邻预测单元的帧内预测模式构造MPM组。由左帧内预测模式和上帧内预测模式自适应地确定MPM组的帧内预测模式。左帧内预测模式是左相邻预测单元的帧内预测模式,上帧内预测模式是上相邻预测单元的帧内预测模式。MPM组由三个帧内预测模式构成。MPM组构造单元321检查左帧内预测模式和上帧内预测模式的可用性。如果不存在左或上相邻预测单元,将左或上相邻单元的帧内预测模式设置为不可用。例如,如果当前预测单元位于图画的左或上边界,则不存在左或上相邻预测单元。如果左或上相邻单元位于其他切片或其他区块之内,将左或上相邻单元的帧内预测模式设置为不可用。如果左或上相邻单元是帧间编码的,将左或上相邻单元的帧内预测模式设置为不可用。如果上相邻单元位于其他IXU之内,将左或上相邻单元的帧内预测模式设置为不可用。MPM组构造单元321如下构造MPM组。 在左帧内预测模式和上帧内预测模式都可用且彼此不同时,左帧内预测模式和上帧内预测模式包括在MPM组中,将一个额外的帧内预测模式加到MPM组。将索引0分配给模式编号小的一个帧内预测模式,将索引1分配给另一个。或将索引0分配给左帧内预测模式,将索引I分配给上帧内预测模式。如下由左和上帧内预测模式确定增加的帧内预测模式。如果左和上帧内预测模式之一是非方向性模式,另一个是方向性模式,将另一个非方向性模式加给MPM组。例如,如果左和上帧内预测模式之一是DC模式,将平面模式加到MPM组。如果左和上帧内预测模式之一是平面模式,将DC模式加到MPM组。如果左和上帧内预测模式都是非方向性模式,将垂直模式加到MPM组。如果左和上帧内预测模式都是方向性模式,将DC模式或平面模式加到MPM组。在仅有左帧内预测模式和上帧内预测模式之一可用时,将该可用的帧内预测模式包括在MPM组中,将另外两个帧内预测模式加到MPM组。如下通过可用的帧内预测模式确定增加的两个帧内预测模式。如果可用的帧内预测模式是非方向性模式,将其他非方向性模式和垂直模式增加到MPM组。例如,如果可用的帧内预测模式是DC模式,将平面模式和垂直模式增加到MPM组。如果可用的帧内预测模式是平面模式,将DC模式和垂直模式增加到MPM组。如果可用的帧内预测模式是方向性模式,将两个非方向性模式(DC模式和平面模式)增加到MPM组。在左帧内预测模式和上帧内预测模式都可用且彼此相同时,将可用帧内预测模式包括在MPM组中,将两个额外的帧内预测模式增加到MPM组。如下通过可用的帧内预测模式确定增加的两个帧内预测模式。如果可用的帧内预测模式是方向性模式,将两个相邻方向性模式增加到MPM组。例如,如果可用的帧内预测模式是模式23,将左相邻模式(模式I)和右相邻模式(模式13)增加到MPM组。如果可用的帧内预测模式是模式30,将两个相邻模式(模式2和模式16)增加到MPM组。如果可用的帧内预测模式是非方向性模式,将其他非方向性模式和垂直模式增加到MPM组。例如,如果可用的帧内预测模式是DC模式,将平面模式和垂直模式增加到MPM 组。在左帧内预测模式和上帧内预测模式都不可用时,将三个额外的帧内预测模式增加到MPM组。这三个帧内预测模式是DC模式、平面模式和垂直模式。按照DC模式、平面模式和垂直模式的次序或平面模式、DC模式和垂直模式的次序将索引0、1和2分配给三个帧内预测模式。预测模式恢复单元322如下利用模式组指示符和预测模式索引导出当前预测单元的帧内预测模式。预测模式恢复单元322判断模式组指示符是否指示MPM组。如果模式组指示符指示MPM组,预测模式恢复单元322将预测模式索引指定的MPM组的帧内预测确定为当前预测单元的帧内预测模式。如果模式组不指示符指示MPM组,预测模式恢复单元322将预测模式索引指定的残余模式组的帧内预测确定为当前预测单元的帧内预测模式。如以下顺序步骤那样利用预测模式索引和MPM组的帧内预测模式导出当前单元的帧内预测模式。I)按照模式编号次序重新排列MPM组的三个帧内预测模式的顺序。将模式编号最低的帧内预测模式设置为第一候选。将模式编号中间的帧内预测模式设置为第二候选。将模式编号最高的帧内预测模式设置为第三候选。2)将预测模式索引与第一候选比较。如果预测模式索引等于或大于MPM组的第一候选,将预测模式索引的值增加一。否则,维持预测模式索引的值。3)将预测模式索引与第二候选比较。如果预测模式索引等于或大于MPM组的第二候选,将预测模式索引的值增加一。否则,维持预测模式索引的值。4)将预测模式索引与第三候选比较。如果预测模式索引等于或大于MPM组的第三候选,将预测模式索引的值增加一。否则,维持预测模式索引的值。
5)将最后预测模式索引的值设置为当前预测单元的帧内预测模式的模式编号。预测大小确定单元330基于指定变换单元大小的变换大小信息确定预测块的大小。变换大小信息可以是ー个或多个指定变换单元大小的split_transform_flag。如果变换单元的大小等于当前预测单元的大小,则预测块的大小等于当前预测单元的大小。如果变换单元的大小小于当前预测单元的大小,则预测块的大小等于变换单元的大小。在这种情况下,对当前预测单元的每个子块执行产生重构块的过程。亦即,产生当前子块的预测块和残余块,通过将预测块和残余块相加产生每个子块的重构块。然后,产生解码次序中下一子块的预测块、残余块和重构块。使用恢复的帧内预测模式产生所有子块的所有预测块。将当前子块的重构块的一些像素用作下一子块的參考像素。因此,能够产生更类似于初始子块的预测块。參考像素可用性检查单元340判断是否当前块的所有參考像素都可用。当前块是当前预测单元或当前子块。当前块的大小是变换単元的大小。如果当前块的ー个或多个參考像素不可用,參考像素产生单元350产生參考像素。如果所有參考像素都不可用,用值替代所有參考像素的值。L的值是用于表示亮度像素值的比特数量。如果可用參考像素仅位于不可用參考像素的ー侧,则用最接近不可用像素的參考像素值替代不可用參考像素。如果可用參考像素 位于不可用參考像素的两侧,则用在每侧最接近不可用像素的參考像素的平均值或在预定方向上最接近不可用像素的參考像素值替代每个不可用參考像素。參考像素过滤单元360基于帧内预测模式和当前块的大小自适应地对參考像素进行过滤。在DC模式中,不对參考像素进行过滤。在垂直模式和水平模式中,不对參考像素进行过滤。在除了垂直和水平模式的方向性模式中,根据当前块的大小调整參考像素。如果当前块的大小是4X4,在所有帧内预测模式中都不对參考像素过滤。对于8 X 8、16 X 16和32 X 32的大小,随着当前块的大小变大,对參考像素进行过滤的帧内预测模式数量増大。例如,在垂直模式和垂直模式的预定数量的相邻帧内预测模式中不对參考像素进行过滤。在水平模式和水平模式的预定数量的相邻帧内预测模式中也不对參考像素进行过滤。所述预定数量介于0到7之间,随着当前块大小变大而减小。预测块产生单元370根据恢复的帧内预测模式利用參考像素产生当前块的预测块。在DC模式中,通过对位于(x=0,…N-l,y=_l)的N个參考像素和位于(x=_l,y=0,..M-1)的M个參考像素求平均值来产生不与參考像素相邻的预测块的预测像素。利用所述平均值和ー个或两个相邻參考像素产生与參考像素相邻的预测像素。在垂直模式中,通过拷贝垂直參考像素的值来产生与左參考像素不相邻的预测像素。由垂直參考像素以及角像素和左相邻像素间的方差产生与左參考像素相邻的预测像素。
在水平模式中,使用相同方法产生预测像素。尽管已经參考其某些示范性实施例示出并描述了本发明,但本领域的技术人员将理解,可以在其中做出各种形式和细节的改变而不脱离如所附权利要求界定的本发明精神和范围。
权利要求
1.一种导出当前预测单元的帧内预测模式的方法,包括: 对模式组指示符和预测模式索引进行熵解码; 构造包括三个帧内预测模式的MPM组; 判断所述模式组指示符是否指示该MPM组; 如果所述模式组指示符指示该MPM组,将所述预测模式索引指定的所述MPM组的帧内预测模式确定为当前预测单元的帧内预测模式;以及 如果所述模式组指示符不指示所述MPM组,利用所述预测模式索引和所述MPM组的三个预测模式导出所述当前预测单元的帧内预测模式。
2.根据权利要求1所述的方法,其中导出所述当前预测单元的预测模式的步骤包括: 如果所述预测模式索引等于或大于所述MPM组的第一候选,将所述预测模式索引的值增加ー; 如果所述预测模式索引等于或大于所述MPM组的第二候选,将所述预测模式索引的值增加ー; 如果所述预测模式索引等于或大于所述MPM组的第三候选,将所述预测模式索引的值増加一;以及 将所述预测模式索引的值确定为当前预测单元的帧内预测模式的模式编号。
3.根据权利要求2所述的方法,其中所述第一候选是模式编号最低的帧内预测模式,所述第二候选是模式编号在中间的帧内预测模式,所述第三候选是模式编号最高的帧内预测模式。
4.根据权利要求2所述的方法,其中按照模式编号的次序重新排列三个帧内预测模式的次序以确定第一候选、第二候选和第三候选。
5.根据权利要求1所述的方法,其中利用左帧内预测模式和上帧内预测模式构造MPM组。
6.根据权利要求1所述的方法,其中在仅有左帧内预测模式和上帧内预测模式之一可用时,所述MPM组由可用的帧内预测模式和两个额外帧内预测模式构成,所述两个额外帧内预测模式是根据所述可用的帧内预测模式确定的。
7.根据权利要求6所述的方法,其中如果所述可用的帧内预测模式是两个非方向性帧内预测模式之一,所述两个额外帧内预测模式是另ー个非方向性帧内预测模式和垂直模式。
8.根据权利要求7所述的方法,其中如果所述可用的帧内预测模式是平面模式,所述两个额外帧内预测模式是DC模式和垂直模式。
9.根据权利要求6所述的方法,其中如果所述可用的帧内预测模式是方向性帧内预测模式之一,所述两个额外帧内预测模式是两个非方向性帧内预测模式。
10.根据权利要求9所述的方法,其中所述两个非方向性帧内预测模式是DC模式和平面模式。
全文摘要
本发明提供了一种方法,构造包括三个帧内预测模式的MPM组;如果所述模式组指示符指示MPM组,将所述预测模式索引指定的MPM组的帧内预测确定为当前预测单元的帧内预测模式;以及如果所述模式组指示符不指示MPM组,利用所述预测模式索引和所述MPM组的三个预测模式导出所述当前预测单元的帧内预测模式。因此,有效地减少了帧内预测模式数量增加导致的额外比特。而且,通过产生类似于初始块的预测块,可以提高图像压缩比。
文档编号H04N7/50GK103096069SQ201210436599
公开日2013年5月8日 申请日期2012年11月5日 优先权日2011年11月4日
发明者吴秀美 申请人:吴秀美
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1