帧内预测装置的制造方法
【专利摘要】本发明的一种帧内解码设备从接收的比特流复原量化残差系数、帧内预测信息和预测单元尺寸信息;在帧内预测信息和当前预测单元的尺寸信息的基础上复原当前预测单元的帧内预测模式;并且通过产生预测单元的不可用参考像素在帧内预测模式的基础上对参考像素自适应地滤波。并且,本发明通过使用与帧内预测模式对应的参考像素并对其自适应地滤波来产生预测块。另外,本发明使用预测块来产生复原图像并复原残差块。因此,本发明通过复原靠近初始图像的预测块,来提高图像压缩率。
【专利说明】帧内预测装置
[0001 ] 本申请是2011年7月29日向国家知识产权局提交的申请号为201180042188.0、发明名称为“帧内预测解码设备”的专利申请的分案申请。
技术领域
[0002]本发明涉及一种用于对运动图片进行解码的装置,更具体地,涉及一种对帧内预测模式进行解码、根据帧内预测模式自适应地产生预测块和残差块并由此产生重建块的装置。
【背景技术】
[0003]在如运动图像专家组(MPEG)-1、MPEG-2、MPEG-4和H.264/MPEG-4高级视频编码(AVC)的图像压缩方法中,一张图片被分割成多个宏块以对图像进行编码。然后,使用帧间预测或帧内预测对各个宏块进行编码。
[0004]在帧内预测中,不使用参考图片,而是使用与当前块在空间上相邻的像素的值来对当前图片的块进行编码。通过使用相邻的像素值产生的预测块与原始宏块比较,来选择具有较小失真的帧内预测模式。然后,使用选择的帧内预测模块和相邻的像素值,计算出当前块的预测值。并且,计算出预测值和初始当前块的像素值之间的差异,然后通过变换编码、量化和熵编码来编码。帧内预测模式也被编码。
[0005]帧内预测通常分类成用于亮度分量和色度分量的4X4帧内预测、8X8帧内预测和16 X 16帧内预测。
[0006]在根据现有技术的16X 16帧内预测中,有垂直模式、水平模式、直流(DC)模式和平面模式四种模式。
[0007]在根据现有技术的4X 4帧内预测中,有垂直模式、水平模式、DC模式、对角线左下模式、对角线右下模式、垂直向右模式、垂直向左模式、水平向上模式和水平向下模式九种模式。
[0008]根据各个模式的使用频率把每个预测模式编入索引。垂直模式是模式O示出最可能是最频繁用于对目标块执行帧内预测的模式,并且水平向上模式是模式8示出最可能是最不频繁使用的。
[0009]根据H.264标准,使用总计13种模式来对当前块进行编码,即是,4X4帧内预测的4种模式和16X16帧内预测的9种模式。根据这些模式中的最佳模式产生当前块的比特流。
[0010]然而,在与当前块相邻的像素的一些或所有值都不存在或之前没被编码时,不可能对当前块应用这些或所有的帧内预测模式。并且,当相邻参考像素之间的差异很大时,预测块和原始块之间的差异变大。因此,需要新技术来降低初始块和基于用于产生预测块的参考像素的位置产生的预测块之间的差异。
【发明内容】
[0011]技术问题
[0012]本发明涉及一种用于通过产生或重建邻近初始图像的预测块而有效地重建具有高压缩效率的编码图像的帧内预测解码装置。
[0013]技术方案
[0014]本发明的一个方面提供了一种用于对运动图片进行解码的装置,包括:熵解码器,被配置为复原量化残差系数和帧内预测信息;预测模式解码器,被配置为在帧内预测信息的基础上复原帧内预测模式;残差信号解码器,被配置为使用帧内预测模式对量化残差信号进行解码;参考像素产生器,被配置为当存在一个或多个不可用参考像素时产生参考像素,并且被配置为使用帧内预测模式对参考像素自适应地滤波;预测块产生器,被配置为使用由帧内预测模式确定的参考像素产生预测像素;预测块滤波器,被配置为使用帧内预测模式对预测像素的某些预测像素自适应地滤波;以及图像重建器,被配置为使用预测像素和残差信号产生重建的图像。
[0015]有益效果
[0016]根据本发明的用于对运动图片进行解码的装置产生参考像素并且对参考像素自适应地滤波,以产生将预测块与初始块之间的差最小化的预测块。并且,通过使用不用于产生预测块的参考像素产生或修改预测块,能够重建与初始块相似的预测块,并且能够提高图像的压缩。
【附图说明】
[0017]图1是根据本发明的运动图片编码装置的框图;
[0018]图2是根据本发明的帧内预测器的框图;
[0019]图3是显示根据本发明的定向帧内预测模式的示意图;
[0020]图4是示出根据本发明的在预测模式编码器中执行的对预测单元的帧内预测模式进行编码的过程的流程图;
[0021]图5是根据本发明的帧内预测解码装置的框图。
【具体实施方式】
[0022]下文中,将参照附图详细描述本发明的各个实施例。然而,本发明不限于以下公开的示例性实施例,而是能够以各种方式实施。因此,可以对本发明进行许多其他修改和变型,并且将理解的是在所公开的原理的范围内,可以用除了如同已被明确描述的方式之外的方式实现本发明。
[0023]对于图像编码,每张图片由一个或多个切片组成,并且每个切片由多个编码单元组成。由于高清晰度(HD)级别或更高级别的图像具有许多平滑区域,所以可以通过用各种尺寸的编码单元对图像进行编码,以提高图像的压缩。
[0024]根据本发明的编码单元具有四叉树结构并且能够用深度信息被分级地分割。最大尺寸的编码单兀被称作最大编码单兀(LCU),并且最小尺寸的编码单兀被称作最小编码单元(S⑶)。序列参数集(SPS)中可以包括关于IXU和S⑶的信息并且可以传送这些信息。
[0025]IXU是由一个或多个编码单元组成。IXU具有递归编码树的形式,以包括LCU的分割结构和对应的编码单元。当LCU没有被分割成四个编码单元时,编码树可以由表示LCU没有被分割的信息和一个编码单元组成。当LCU被分割成四个编码单元时,编码树可以由表示LCU被分割的信息和四个子编码树组成。同样地,每个子编码树具有与LCU的编码树相同的结构。然而,SCU尺寸的编码单元没有被分割成多个编码单元。
[0026]同时,编码树中的每个编码单元以编码单元自身或子分割物为单位受到帧内预测或帧间预测。其中执行了帧内预测或帧间预测的单元被称作预测单元。在帧内预测中,预测单元的尺寸可以是2~\21^^\1在帧间预测中,预测单元的尺寸可以是2~\212~\1~X 2N或N X N。此处,2N表示编码单元的水平和垂直长度。
[0027]同时,用于帧内预测的预测单元可以不是正方形。例如,正方形编码单元可以被分害械用于帧内预测的四个hNX2N预测单元或四个2NXhN预测单元。在这种情况下,参考像素和用于帧内预测的预测块的像素之间的距离减小,这使得能够提高预测效率。这种帧内预测方法是短距帧内预测(SDIP)。
[0028]编码单元包括在编码单元内部的每个预测单元的预测模式信息和尺寸信息(片段模式)。为了提高编码效率,预测模式信息和尺寸信息可以被组合并联合编码。在这种情况下,每个编码单元包括联合编码预测类型。
[0029]编码单元包括产生每个预测单元的预测块所需要的附加信息和残差信号。编码单元中的每个预测单元都限定了附加信息。在帧内预测中,附加信息包括被编码的帧内预测信息。在帧间预测中,附加信息包括被编码的运动信息。运动信息包括运动向量和参考图片索弓I。
[0030]在每个编码单元中均包括残差信号。残差信号包括一个变换树、一个亮度残差信号载体和两个色度残差信号载体。残差信号载体包括一个或多个变换单元上的被编码的残差信号。变换单元的最大尺寸等于或小于编码单元的尺寸。变换单元可以与最大变换单元或最大变换单元的子变换单元具有相同的尺寸。
[0031]对于编码单元中所包括的残差信号,变换树包括表示变换单元的分割结构的信息。并且,变换树包括表示每个变换单元的残差信号是否为O的信息。
[0032]残差信号载体以编码单元为单位携带在与表示变换树中的分割结构的信息对应的变换单元的被编码的残差信息。
[0033]虽然以上仅仅对通过等分编码单元获得的预测单元做出了描述,但是也可能是不等分的。换句话说,为了压缩残差信号,根据图像的边界在特定方向不等分图像信号并执行帧内或帧间预测可能更有效。
[0034]最简单的自适应模式是使用直线把编码单元分割成两个块,以在局部上提取预测区域的统计相关性。图像的边界与直线匹配并且被分割。在这种情况下,可分割方向可能被限于预定的数量。例如,可以将分割块的方法限于水平、垂直、向上对角线和向下对角线四个方向。并且,也可以仅将分割限于水平和垂直方向。可分割方向的数量可以是三、五、七个等。可分割方向的数量可以根据块的尺寸而变化。例如,对于大尺寸的编码单元,可分割方向的数量可以相对增加。
[0035]在帧间预测中,当为了更多的自适应预测而将一个编码单元分割成两个预测单元时,应该对每个预测单元执行运动估计和运动补偿。在从一个编码单元分割的两个预测单元分别提取预测块后,这两个预测块可以相加,以产生具有与编码单元的尺寸相同的预测块。在这种情况下,为了减少编码单元尺寸的预测块的分割边界的两侧的像素值之间的差异,可以滤波位于分割边界的像素。可以产生预测块,以使得对应于各个预测单元的预测块相重叠,并且可以将重叠边界部分平滑以产生一个预测块。
[0036]图1是根据本发明的运动图片编码装置的框图。
[0037]参照图1,根据本发明的运动图片编码装置100包括:图片分割器110、变换器120、量化器130、扫描器131、熵编码器140、帧内预测器150、帧间预测器160、逆量化器135、逆变换器125、后处理器170、图片存储器180、减法器190和加法器195。
[0038]图片分割器110分析输入的视频信号,以把图片的每张LCU分割成一个或多个具有预定尺寸的编码单元,确定每个编码单元的预测模式,并且确定每个编码单元的预测单元的尺寸。图片分割器110根据预测模式把将被编码的预测单元发送到帧内预测器150或帧间预测器160。并且,图片分割器110把将被编码的预测单元发送到减法器190。
[0039]变换器120变换残差块,该残差块是输入预测单元的初始块和通过帧内预测器150或帧间预测器160产生的预测块之间的残差信号。优选地,残差块可以具有编码单元的尺寸。残差块可以被分割成最佳变换单元并且被变换。可以根据预测模式(帧内或帧间)和帧内预测模式自适应地确定变换矩阵类型。残差信号的变换单元可以通过水平和垂直的一维(ID)变换矩阵而变换。在帧间预测中,应用一个预定的变换矩阵。在帧内预测中,当帧内预测模式是水平时,残差块很可能具有垂直方向性。这样,在垂直方向上应用基于离散余弦变换(DCT)的整数矩阵,并且在水平方向上应用基于离散正弦变换(DST)或卡胡南-洛夫变换(Karhunen Loeve transform(KLT))的整数矩阵。当帧内预测模式是垂直时,在垂直方向上应用基于DST或KLT的整数矩阵,并且在水平方向上应用基于DCT的整数矩阵。二选一地,在帧内预测中,可以根据变换单元的尺寸自适应地确定变换矩阵。
[0040]量化器130确定每个编码单元的量化步长,以量化被变换矩阵变换的残差块的变换系数。确定尺寸等于或大于预定尺寸的每个编码单元的量化步长。预定尺寸可以是8X8或16X16。使用所确定的量化步长和根据预测模式所确定的量化矩阵,量化变换系数。量化器130使用与当前编码单元相邻的编码单元的量化步长作为当前编码单元的量化步长预测器。量化器130按序搜索当前编码单元的左编码单元、上编码单元和左上编码单元,使用一个或多个有效编码单元的量化步长来确定当前编码单元的量化步长预测器,并且把量化步长与当前编码单元的量化步长预测器之间的差传送到熵编码器140。
[0041]当切片被分割成编码单元时,当前编码单元可能没有左编码单元、上编码单元和左上编码单元。另一方面,在编码顺序中当前编码单元可能有前编码单元。这样,与当前编码单元相邻的编码单元和前编码单元可以是候选。在这种情况下,优先权可以按序给与I)当前编码单元的左编码单元,2)当前编码单元的上编码单元,3)当前编码单元的左上编码单元和4)当前编码单元的前编码单元。可以改变顺序,或可以省略左上编码单元。
[0042]把量化的变换块提供到逆量化器135和扫描器131。
[0043]扫描器131扫描量化变换块的系数,并且把该量化变换块的系数转换成ID量化系数。根据预测模式和帧内预测模式确定系数扫描方法。并且,可以根据变换单元的尺寸差别确定系数扫描方法。扫描器131确定是否在当前变换单元的尺寸的基础上把量化变换块分割成多个子集。当变换单元的尺寸大于第一参考尺寸时,扫描器131将量化变换块分割成多个子集。第一参考尺寸可以是4 X 4或8 X 8。
[0044]扫描器131确定将应用到量化变换块的扫描方式。在帧间预测中,可以只应用一个预定的扫描方式(例如,锯齿扫描)。在帧内预测中,能够应用根据帧内预测模式确定的扫描方式。扫描方式可以根据定向帧内预测模式而变化。将锯齿扫描应用到不定向帧内预测模式。不定向模式可以是直流(DC)模式或平面模式。逆向扫描量化变换块的系数。
[0045]当量化变换块被分割成多个子集时,将相同的扫描方式应用到每个子集中的量化系数。多个子集由一个主子集和一个或多个残差子集组成。主子集位于左上侧并且包括DC系数和除了主子集之外的一个或多个的残差子集覆盖区域。
[0046]可以应用锯齿扫描对子集进行扫描。可以在前向方向上从主子集开始到残差子集来扫描子集,或可以在反向方向上扫描子集。可以将用于扫描子集的扫描方式设定为与用于扫描子集中的量化系数的扫描方式相同。在这种情况下,根据帧内预测模式确定用于子集的扫描方式。同时,运动图片编码装置100把能够表示变换单元的最后一个非零量化系数的位置的信息传送到解码器。运动图片编码装置100也把能够表示在每个子集中的最后一个非零量化系数的位置的信息传送到解码器。
[0047]逆量化器135对量化系数进行逆量化。逆变换器125从逆量化系数重建空间域的残差块。加法器195通过把被逆变换器125重建的残差块和来自帧内预测器150或帧间预测器160的预测块相加来产生重建块。
[0048]后处理器170执行:用于移除在重建图片中产生的块效应的去块滤波过程,用于补偿重建图片和初始图像的每个像素之间的差异的自适应偏移应用过程,和用于在编码单元中补偿重建图片和初始图像之间的差异的自适应环路滤波过程。
[0049]去块滤波过程可以被应用到预测单元之间的边界和变换单元之间的边界。预定尺寸可以是8X8。去块滤波过程包括确定将要滤波的边界的步骤、确定将被应用到边界的边界滤波强度的步骤、确定是否应用去块滤波器的步骤、和当确定应用去块滤波器时选择将被应用到边界的滤波器的步骤。
[0050]确定是否应用去块滤波是根据i)边界滤波强度是否大于0,以及ii)表示与将被滤波的边界相邻的两个块(P块和Q块)的边界像素之间的差异的值是否小于根据量化参数确定的第一参考值。
[0051]可以存在两个或更多滤波器。当与块边界相邻的两个像素之间差异的绝对值等于或大于第二参考值时,选择弱滤波器。通过量化参数和边界滤波强度确定第二参考值。
[0052]自适应偏移施加过程意在减少经过去块滤波器的图像中的像素和初始像素之间的差异(失真)。图片或切片可以被分割成多个偏移区域,并且可以对每个偏移区域确定一个偏移模式。有四个边缘偏移模式,两个带偏移模式和一个不施加偏移模式。根据每个偏移模式,在每个偏移区域中的像素被分类成预定数量的种类,并且对应于所分类的种类的偏移被增加到像素。在边缘补偿模式的情况下,通过比较当前像素值和与当前像素相邻的两个或更多像素的像素值来确定当前像素的种类。
[0053]可以在通过比较初始图像和应用了去块滤波过程或自适应偏移应用过程的重建图像获得的值的基础上执行自适应环路滤波过程。在4X4块的基础上通过一个拉普拉斯算子活动值而检测自适应环路滤波器(ALF)。所确定的ALF能够被应用到包括在4 X 4块或8 X 8块中的所有像素。可以根据编码单元确定是否应用ALF。环路滤波器的尺寸和系数可以根据每个编码单元变化。切片头可以包括表示是否对每个编码单元应用ALF的信息、滤波器系数的信息、滤波器形状的信息等等,并且将这些信息传送到解码器。在色度信号的情况下,可以在图片单元中确定是否应用ALF。与亮度不同,环路滤波器可以具有矩形形状。
[0054]图片存储器180从后处理器170接收后处理图像数据,并存储在图片单元中重建的图像。图片可以是以帧或场为单位的图像。图片存储器180具有能够存储多个图片的缓冲区(未示出)。
[0055]帧间预测器160使用存储在图片存储器180中的一个或多个参考图片来执行运动估计,并且确定表示参考图片和运动矢量的参考图片索引。根据参考图片索引和运动矢量,帧间预测器160从存储在图片存储器180中的多个参考图片中选择的一个参考图片中提取出对应于将被编码的预测单元的预测块,并且输出所提取的预测块。
[0056]帧内预测器150使用在包括当前预测单元的图片中的重建像素值来执行帧内预测。帧内预测器150接收将被预测性地编码的当前预测单元,选择预定数量的帧内预测模式的一种,并且执行帧内预测。帧内预测模式的预定数量取决于当前预测单元的尺寸。帧内预测器150对用于产生帧内预测块的参考像素自适应地滤波。当一些参考像素不可用时,可以使用可用参考像素在不可用位置处产生参考像素。
[0057]熵编码器140对被量化器130量化的量化系数、从帧内预测器140接收的帧内预测信息、从帧间预测器160接收的运动信息等进行熵编码。
[0058]图2是根据本发明的帧内预测器150的框图。
[0059]参考图2,帧内预测器140包括预测单元接收器141、参考像素产生器142、预测块产生器143、预测块后处理器144、预测模式确定器145和预测模式编码器146。
[0060]预测单元接收器141接收从图片分割器110输入的预测单元。预测单元接收器141把在接收的预测单元上的尺寸信息传送到预测模式确定器145和参考像素产生器142,并且把预测单元传送到参考像素产生器142和预测块产生器143。
[0061]参考像素产生器142确定接收的当前预测单元的参考像素是否可用。用于帧内预测的当前预测单元的参考像素由位于(x = -l,y = _l)处的角参考像素、位于(χ = 0,…,2L-1,y = -l)处的2L个上参考像素和位于(x = 0,y = 0,…,and 2M-1)处的2M个左参考像素组成。此处,L是当前预测单元的宽度,并且M是当前预测单元的高度。
[0062]当参考像素不可用或不够时,产生参考像素。
[0063]当没有参考像素可用时,产生具有预定值的参考像素。
[0064]当一些参考像素不可用时,确定不可用参考像素是否只存在于从可用像素起的一个方向上或可用像素之间。
[0065]当不可用参考像素只存在于从可用像素起的一个方向上时,通过复制与不可用像素最接近的可用像素的值来产生参考像素。例如,在当前预测单元位于图片或切片的上边界处时,角参考像素和上参考像素不可用。这样,在这种情况下,通过复制位于最靠近位置(x = -l,y = 0)处的参考像素能够产生角参考像素和上参考像素。二选一地,可以使用最靠近位置的可用参考像素和一个或多个可用参考像素产生参考像素。例如,当位于(x = -l,y=0)处的角参考像素和位于(χ = 0,.._,和L-1,y = -l)处的参考像素可用、并且位于(X =L,...,2L-l,y = -l)的参考像素不可用时,能够使用位于(x = L-l,y = -l)处的参考像素值和角参考像素值或另一个参考像素值之间差异的改变在不可用位置处产生参考像素。
[0066]当在可用像素之间存在不可用参考像素时,使用与不可用参考像素相邻的两个可用像素P和q来产生参考像素。例如,当角参考像素和位于(χ = 0,…,and L_1,y = _l)处的L个上参考像素不可用时,能够使用参考像素P和q来产生在位于(x = -l,y = 0)处的参考像素P和位于(x = L,y = -1)处的参考像素q之间存在的参考像素。
[0067]可以通过四舍五入参考像素P和参考像素q的平均值来获得产生的参考像素值。并且,可以使用参考像素P和参考像素q的像素值之间的差异的变化来产生参考像素值。在这种情况下,可以通过根据对应于所产生的像素的位置确定的线性插值或使用两个参考像素的加权平均值来产生参考像素值。
[0068]同时,当多个预测单元在当前预测单元的上侧时,很有可能在两个上预测单元之间的边界的两侧上存在的边界像素之间的差异将大于在每个上预测单元中的相邻像素之间的差异。这是量化系数引起的误差所导致的。很有可能在其中使用两个相邻参考像素产生预测块的定向帧内预测模式中将发生这种误差。
[0069]特别地,最严重地影响图3的与水平或垂直方向成45°方向的定向帧内预测模式(模式编号3、6和9)。在垂直和水平帧内预测模式(模式编号O和I)中,一个像素被用于产生预测块的预测像素,因此垂直和水平帧内预测模式受到轻微地影响。
[0070]为此原因,将滤波器(平滑滤波器)应用到定向帧内预测模式3、6和9中的参考像素,并且不应用到垂直和水平帧内预测模式中的参考像素。在非定向帧内预测模式中的DC模式中,滤波器也没有被应用到参考像素。对于这些模式,无论当前预测单元的尺寸为多大,均可以确定是否应用滤波器。
[0071]在存在于帧内预测模式3、6或9和水平或垂直帧内预测模式之间的定向帧内预测模式中,能够根据预测单元的尺寸自适应地把滤波器应用到参考像素。随着定向帧内预测模式的方向相对地靠近呈45°方向的帧内预测模式的方向,优选增加应用滤波器的可能性。尤其是,当第一定向帧内预测模式比第二定向帧内预测模式在方向上更靠近呈45°方向的帧内预测模式时,如果滤波器被应用到在第二定向帧内预测模式中的参考像素,则滤波器也被应用到第一定向帧内预测模式中的参考像素。另一方面,如果滤波器被应用到第一定向帧内预测模式中的参考像素,则该滤波器可以应用或不应用到第二定向帧内预测模式中的参考像素。
[0072]很可能在大尺寸的预测单元中的像素之间的差异变化将小于小尺寸的预测单元中的像素之间的差异变化。这样,随着预测单元的尺寸增加,应用滤波器的定向模式的数量可以增加或可以应用强滤波器。另一方面,当预测单元变小到小于特定尺寸时,将不应用滤波器。
[0073]举一个例子,在帧内预测模式3、6或9中,第一滤波器可以被应用到尺寸等于或小于第一尺寸的预测单元的参考像素,并且比第一滤波器强的第二滤波器可以被应用到尺寸大于第一尺寸的预测单元的参考像素。第一尺寸可以根据定向预测模式而变化。
[0074]举另一个例子,在垂直帧内预测模式和帧内预测模式6之间存在的帧内预测模式5中,没有滤波器可以被应用到尺寸等于或小于第二尺寸的预测单元,第一滤波器可以被应用到尺寸大于第二尺寸并且等于或小于第三尺寸的预测单元的参考像素,并且第二滤波器可以被应用到尺寸大于第三尺寸的预测单元。第二尺寸和第三尺寸可以根据定向预测模式而变化。
[0075]第一滤波器可以是3抽头滤波器[1,2,1]或5抽头滤波器[1,2,4,2,1]。第二滤波器比第一滤波器具有更大的平滑效果。
[0076]预测块产生器143使用被帧内预测模式确定的参考像素来产生预测块。
[0077]在定向帧内预测模式中,对应的参考像素根据帧内预测模式而变化。例如,在垂直模式中,使用位于(x = 0,...,和L-1,y = _l)处的L个上参考像素,并且在水平模式中,使用位于(x = -l,y = 0,...,和L-1)处的L个左参考像素。
[0078]在非定向帧内预测模式中,使用角像素、位于(x= 0,…,和L-1,y = _l)处的L个上参考像素和位于(x = -l,y = 0,...,和L-1)处的L个左参考像素。非定向帧内预测模式是DC模式或平面模式。
[0079]在平面模式中,使用角参考像素、左参考像素和上参考像素而产生预测块的参考像素。当将要产生的参考像素位于(3,13)处时,使用角参考像素(:(1 = -1,7 = -1)、上参考像素T(x = a,y = _l)和左参考像素L(x = _l,y = b)而产生预测像素X(a,b)。尤其是,X(a,b)可以是L(x = -1,y = b)+T(x = a,y = -l)-C(x = -l,y = -l)。
[0080]在图3的垂直模式(模式编号为O)的右侧存在的帧内预测模式中,如果只使用上参考像素来产生预测块,则有可能所产生的预测块的左下区域的像素和初始预测单元的对应的像素之间的差异将增加。然而,当使用上参考像素和左参考像素产生预测块时,能够降低差异。在帧内预测模式6中该效果最大。同样在图3的水平模式(模式编号为I)的下方存在的帧内预测模式中,将应用相同的方法,并且在帧内预测模式9中该效果最大。
[0081]这样,在帧内预测模式6或9中,可以使用一个上插值参考像素和一个左插值参考像素产生预测像素。可以通过一个上插值参考像素和一个左插值参考像素的线性插值或使用两个插值参考像素的被四舍五入的平均值而产生预测像素。同样地,在与模式6或9相邻的预定数量的帧内预测模式中,能够使用左参考像素和上参考像素产生预测块。例如,在帧内预测模式6或属于与模式6相邻的预定数量(例如,4个)的预测模式的模式中,能够使用左参考像素和上参考像素来产生预测块。在这种情况下,为了降低复杂性,上述方法可以不被应用到模式数量大于预定模式数量(例如,9或17)的帧内预测模式中。并且,该方法可以只应用到尺寸等于或大于预定尺寸的当前预测单元。预定尺寸是8X8或16X16。
[0082]预测块后处理器144对预测块产生器143产生的预测块进行自适应地滤波。为了减少参考像素和与参考像素相邻的像素之间的差异,预测块后处理器144根据帧内预测模式对与不用于产生预测块的参考像素相邻的一些或所有像素自适应地滤波。在预测块中存在与参考像素相邻的像素。
[0083]在平面模式中,使用参考像素产生与参考像素相邻的像素,因而不应用滤波器。
[0084]在DC模式中,使用参考像素的平均值来产生预测像素。能够根据预测单元的尺寸使用不同类型的滤波器。对于大尺寸的预测单元,可以使用与在小尺寸的预测单元中使用的滤波器一样的滤波器,或者使用具有大的平滑效果的强滤波器。
[0085]同时,在存在于图3的垂直模式(模式编号O)的右侧的帧内预测模式中,如果只使用上参考像素产生预测块,则随着预测块中的像素的位置向预测块的左下区域下移,存在预测块中的像素和初始预测单元的对应像素之间的差异将增大的可能性。尤其是,在帧内预测模式6中,差异明显地增加。
[0086]同样地,在存在于图3的水平模式(模式编号I)下方的帧内预测模式中,如果只使用左参考像素产生预测块,则随着预测块中的像素的位置移动到预测块的右上区域,存在预测块中的像素和初始预测单元的对应像素之间的差异增大的可能性。在帧内预测模式9中,差异明显地增加。
[0087]在垂直模式(模式编号O)中,随着预测块中的像素的位置向下移动,预测块中的像素和初始预测单元的对应像素之间的差异增加。在水平模式(模式编号I)中,随着预测块中的像素的位置向右移动,预测块中的像素和初始预测单元的对应像素之间的差异增加。
[0088]因此,为了减少差异,能够根据定向帧内预测模式对预测块中的一些预测像素自适应地滤波。在这种情况下,使用没有被用于产生预测块的预测单元中的参考像素对预测块中的一些预测像素滤波。
[0089]可以根据定向帧内预测模式不同地设定将被滤波的区域。随着帧内预测模式的方向靠近模式6或模式9时,将被滤波的区域变大或保持原样。
[0090]举一个例子,当帧内预测模式6中的预测单元的尺寸是2NX2N时,可以只对与垂直模式(模式编号O)的右侧存在的帧内预测模式中的帧内预测模式6相邻的预定数量(I?3)的帧内预测模式应用滤波器。在这种情况下,为了降低复杂性,可以不对模式数量大于预定模式数量(例如,9到17个)的帧内预测模式应用滤波器。并且,根据预测单元的尺寸,将被滤波的预测块的数量可能会自适应地改变。随着预测单元的尺寸增加,将被滤波的预测像素的数量可以增加或保持原样。
[0091]举另一个例子,在帧内预测模式6中,如果预测单元的尺寸是4X4,可以不对预测块滤波。如果预测单元的尺寸是8 X 8或16 X 16,贝Ij可以只对位于(x = 0,y = 0,...,和7)处的预测块的8个像素中的预测块的四个左下边界像素滤波。如果预测单元的尺寸是32X32或更大,可以对全部8个边界像素均滤波。
[0092]被应用到预测块中的像素的滤波器的强度也可以根据预测单元的尺寸而变化。随着预测单元的尺寸增加,滤波强度可以增加或保持原样。
[0093]预测模式确定器145使用参考像素确定当前预测单元的帧内预测模式。预测模式确定器145可以将具有残差块的最小编码比特的帧内预测模式确定为当前预测单元的帧内预测模式。此处,使用对应于每个帧内预测模式的预测块或后处理预测块来产生残差块。
[0094]预测模式编码器146使用与当前预测单元相邻的预测单元的帧内预测模式来对当前预测单元的帧内预测模式编码。
[0095]图4是示出根据本发明的在预测模式编码器146中执行的对当前预测单元的帧内预测模式进行编码的过程的流程图。
[0096]首先,搜索当前预测单元的帧内预测模式候选(SllO)。当前预测单元的上帧内预测模式和左帧内预测模式可以是帧内预测模式候选。也可以增加角帧内预测模式,或可以根据上帧内预测模式和左帧内预测模式增加任何其他模式。
[0097]在当前预测单元有多个上预测单元时,在预定方向上(例如,从右到左)扫描多个上预测单元,以将第一可用预测单元的帧内预测模式确定为上帧内预测模式。此外,在当前预测单元有多个左预测单元时,在预定方向上(例如,从下到上)扫描多个左预测单元,以将第一可用预测单元的帧内预测模式确定为左帧内预测模式。二选一地,在多个可用的预测单元中,具有最小帧内预测模式数量的可用预测单元的帧内预测模式可以被设定为上帧内预测模式。
[0098]角帧内预测模式可以被设定为与当前预测单元的右上侧或左上侧相邻的预测单元的预测模式。二选一地,角帧内预测模式可以被设定为第一可用帧内预测模式,该第一可用帧内预测模式通过以预定顺序扫描与当前预测单元的左上侧、右上侧和右下侧相邻的帧内预测模式而获得。预定顺序是左上侧、右下侧和右上侧。二选一地,可以增加两个(右上侧和左上侧)或三个(右上侧、左上侧和左下侧)角帧内预测模式,作为当前预测单元的帧内预测模式候选。
[0099]下一步,确定是否改变可用帧内预测模式候选的帧内预测模式(S120)。
[0100]当确定改变帧内预测模式时,改变可用帧内预测模式候选(SI30)。
[0101]详细地,当可用帧内预测模式候选的模式数量等于或大于当前预测单元允许的帧内预测模式的数量时,可用帧内预测模式候选被转换成一个允许模式。允许模式的数量可以根据当前预测单元的尺寸而变化。例如,在当前预测单元的尺寸是4X4时,可用帧内预测模式候选的帧内预测模式被转换成9个模式(模式O?9)或18个模式中的一种,并且在当前预测单元的尺寸是64X64时,可用帧内预测模式候选的帧内预测模式被转换成四个模式(模式O到模式3)中的一种。
[0102]下一步,建立当前预测单元的帧内预测候选列表(S140)。可以按模式编号的顺序列出候选。二选一地,可以按频率的顺序列出候选,并且可以按模式编号的顺序列出具有相同频率的帧内预测候选。当帧内预测模式候选具有相同的模式编号时,帧内预测候选者除了一个之外都被从列表上移除。
[0103]下一步,确定当前预测单元的帧内预测模式是否与建立的列表中的帧内预测模式候选的任何一个相同(S150)。
[0104]在当前预测单元的帧内预测模式与帧内预测模式候选之一相同时,将表示帧内预测模式与帧内预测模式候选之一相同并且将候选索引的信息确定为帧内预测信息(S160)。
[0105]在当前预测单元的帧内预测模式与任何一个帧内预测模式候选都不同时,计算用于改变当前预测单元的帧内预测模式的模式改变值(S170)。模式改变值是帧内预测模式数量不大于当前预测单元的帧内预测模式的数量的帧内预测模式候选的数量。
[0106]下一步,使用模式改变值来改变当前预测单元的帧内预测模式(S180)。将改变的帧内预测模式确定为当前预测单元的帧内预测模式。当前预测单元的改变的帧内预测模式被传送到熵编码器140。
[0107]图5是根据本发明的帧内预测解码装置200的框图。
[0108]根据本发明的帧内预测解码装置200包括熵解码器210、残差信号解码器220、预测模式解码器230、参考像素产生器240、预测块产生器250、预测块滤波器260和图像重建器270。
[0109]熵解码器210从接收的比特流中提取量化的残差系数,并且以变换单元为单位把量化残差系数和变换单元的尺寸传送到残差信号解码器220。并且,熵解码器210把帧内预测信息和将被解码的预测单元的尺寸传送到预测模式解码器230。
[0110]残差信号解码器220把量化的残差系数转换成二维(2D)阵列的逆量化块。为了这个转换,选择多个扫描方式之一。在预测模式和帧内预测模式至少之一的基础上确定变换块的扫描方式。逆扫描操作与图1的扫描器131的操作的逆过程相同。例如,当将被解码的当前变换单元的尺寸大于第一参考尺寸时,根据扫描方式对量化残差系数逆扫描以形成多个子集,并且使用多个子集产生具有变换单元的尺寸的逆量化块。另一方面,当将被解码的当前变换单元的尺寸不大于第一参考尺寸时,根据扫描方式对量化残差系数逆扫描,以产生尺寸与变换单元的尺寸相同的逆量化块。
[0111]预测模式解码器230在关于从熵解码器210接收的当前预测单元的帧内预测信息和尺寸信息的基础上重建当前预测模式的帧内预测模式。通过图4所示的过程的逆过程而复原所接收的帧内预测信息。
[0112]参考像素产生器240产生当前预测单元的不可用参考像素,并且根据从预测模式解码器230接收的当前预测单元的帧内预测模式对参考像素自适应地滤波。产生参考像素的方法和对参考像素滤波的方法与图2的帧内预测器140中参考像素产生器142的方法相同。
[0113]尤其是,确定当前预测单元的参考像素是否可用。用于帧内预测的当前预测单元的参考像素由位于(x = -l,y = _l)处的角参考像素、位于(χ = 0,.._,和2L-1,y = -l)处的2L个上参考像素和位于(x = 0,y = 0,...,和2M-1)处的2M个左参考像素组成。此处,L是当前预测单元的宽度,并且M是当前预测单元的高度。
[0114]当用于产生预测块的参考像素不可用或不够时,产生参考像素。
[0115]当所有的参考像素均不可用时,产生具有预定值的参考像素。
[0116]当一些参考像素不可用时,确定不可用参考像素是否只存在于从可用像素起的一个方向上或可用像素之间。
[0117]当不可用参考像素只存在于从可用像素起的一个方向上时,通过复制最靠近不可用像素的可用像素的值来产生参考像素。例如,在当前预测单元位于图片或切片的上边界处时,角参考像素和上参考像素不可用。这样,在这种情况下,能够通过复制位于(x = -l,y=0)处的参考像素而产生角参考像素和上参考像素。二选一地,可以使用最接近位置的可用参考像素和一个或多个可用参考像素来产生参考像素。例如,当具有(x = -l,y = -l)的位置的角参考像素和位于(X = O,…,和L-1,y = _l)处的参考像素可用时,并且位于(X = L,…,2L-l,y = _l)处的参考像素不可用时,能够使用位于(x = L-l,y = _l)处的参考像素和角参考像素值或另一个参考像素值之间差异的改变而在不可用位置处产生参考像素。
[0118]当在可用像素之间存在不可用参考像素时,使用与不可用参考像素相邻的两个可用像素P和q来产生参考像素。例如,当角参考像素和位于(χ = 0,…,和L-1,y = _l)处的L个上参考像素不可用,能够使用参考像素P和q来产生在位于(x = -l,y = 0)处的参考像素P和位于(x = L, y = _l)处的参考像素q之间存在的参考像素。
[0119]可以通过四舍五入参考像素P和参考像素q的平均值而获得产生的参考像素值。并且,可以使用参考像素P和参考像素q的像素值之间的差异的变化而产生参考像素值。在这种情况下,可以通过根据对应于所产生的像素值的位置线性插值或使用两个参考像素的加权平均值而产生参考像素值。
[0120]同时,当多个预测单元在当前预测单元的上侧时,很有可能在两个上预测单元之间的边界的两侧上存在的边界像素之间的差异将大于在每个上预测单元中的相邻像素之间的差异。这是量化系数引起的误差所导致的。很有可能在其中使用两个相邻参考像素产生预测块的预测像素的定向帧内预测模式中将发生这种误差。
[0121]特别地,最严重地影响图3的与水平或垂直方向成45°方向的模式(模式编号3、6和9)。在垂直和水平模式(模式编号O和I)中,一个像素被用于产生预测块的预测像素,因此垂直和水平模式受到轻微地影响。
[0122]为此原因,将滤波器(平滑滤波器)应用到定向帧内预测模式3、6和9中的参考像素,并且不应用到垂直和水平帧内预测模式中的参考像素。在DC模式中,也不应用滤波器。对于这些模式,无论当前预测单元的尺寸为多大,均可以确定是否应用滤波器。
[0123]在存在于帧内预测模式3、6或9和水平或垂直帧内预测模式之间的定向帧内预测模式中,能够把滤波器自适应地应用到参考像素。随着定向帧内预测模式的方向相对地靠近呈45°方向的帧内预测模式的方向,优选增加应用滤波器的可能性。尤其是,当第一定向帧内预测模式比第二定向帧内预测模式在方向上更靠近呈45°方向的帧内预测模式时,如果滤波器被应用到在第二定向帧内预测模式中的参考像素,则滤波器也被应用到第一定向帧内预测模式中的参考像素。另一方面,如果滤波器被应用到第一定向帧内预测模式中的参考像素,则该滤波器可以应用或不应用到第二定向帧内预测模式中的参考像素。
[0124]很可能在大尺寸的预测单元中的像素之间的差异变化将小于小尺寸的预测单元中的像素之间的差异变化。这样,随着预测单元的尺寸增加,应用滤波器的定向模式的数量可以增加或可以应用强滤波器。另一方面,当预测单元变小到小于特定尺寸时,将不应用滤波器。
[0125]举一个例子,在具有45°方向的帧内预测模式3、6或9中,第一滤波器可以被应用到尺寸等于或小于第一尺寸的预测单元的参考像素,并且比第一滤波器更强的第二滤波器可以被应用到尺寸大于第一尺寸的预测单元的参考像素。第一尺寸可以根据定向预测模式而变化。
[0126]举另一个例子,在垂直帧内预测模式和具有45°方向的帧内预测模式6之间存在的帧内预测模式5中,没有滤波器被应用到等于或小于第二尺寸的预测单元的参考像素,第一滤波器可以被应用到大于第二尺寸并等于或小于第三尺寸的预测单元的的参考像素,并且第二滤波器可以被应用到大于第三尺寸的预测单元的参考像素。第二尺寸和第三尺寸可以根据定向预测模式而变化。
[0127]第一滤波器可以是3抽头滤波器[I,2,I ]或5抽头滤波器[I,2,4,2,I ]。第二滤波器比第一滤波器具有更大的平滑效果。
[0128]预测块产生器250根据从预测模式解码器230接收的当前预测单元的帧内预测模式而产生预测块。产生预测块的方法与图2的帧内预测器140中预测块产生器142的方法相同。
[0129]即是,在定向帧内预测模式中,对应的参考像素根据帧内预测模式变化。例如,在垂直模式中,使用位于(X = O,…,和L-1,y = -1)处的L个上参考像素,并且在水平模式中,使用位于(x = -l, y = 0,...,和L-1)处的L个左参考像素。
[0130]在非定向帧内预测模式中,使用角像素、位于(x= 0,…,和L-1,y = _l)处的L个上参考像素和位于(x = -l,y = 0,...,和L-1)处的L个左参考像素。非定向帧内预测模式是DC模式和平面模式。
[0131]在平面模式中,使用角参考像素、左参考像素和上参考像素产生预测块的参考像素。当将要产生的参考像素位于(3,13)处时,使用角参考像素(:(1 = -1,7 = -1)、上参考像素丁(x = a,y = _l)和左参考像素L(x = _l,y = b)产生预测块X(a,b)的参考像素。尤其是,X(a,b)可以是L(x = _l,y = b)+T(x = a,y = -l)-C(x = _l,y = -1)。
[0132]在图3的垂直模式(模式编号为O)的右侧存在的帧内预测模式中,如果只使用上参考像素来产生预测块,则有可能所产生的预测块的左下区域的像素和初始预测单元的对应像素之间的差异将增加。然而,对于多个模式中的数个模式,当使用上参考像素和左参考像素产生预测块时,能够降低差异。在帧内预测模式6中该效果最大。同样在图3的水平模式(模式编号为I)的下方存在的帧内预测模式中,将应用相同的方法,并且在帧内预测模式9中该效果最大。
[0133]这样,在帧内预测模式6或9中,可以使用一个上插值参考像素和一个左插值参考像素产生预测像素。可以通过一个上插值参考像素和一个左插值参考像素的线性插值或使用四舍五入的平均值而产生预测像素。同样地,在与模式6或9相邻的预定数量的帧内预测模式中,能够使用左参考像素和上参考像素产生预测块。在这种情况下,为了降低复杂性,上述方法可以不被应用到模式数量大于预定模式数量(例如,9或17)的帧内预测模式中。并且,该方法可以只应用到尺寸等于或大于预定尺寸的当前预测单元。预定尺寸是8X8或16X16。
[0134]预测块滤波器260根据从预测模式解码器230接收的当前预测单元的帧内预测模式对预测块产生器250产生的预测块自适应地滤波。预测块滤波器260可以被集成到预测块产生器250中。预测块滤波方法与图2的帧内预测器140的预测块后处理器144的方法相同。
[0135]即是,为了减少参考像素和与参考像素相邻的预测块中的像素之间的像素值的差异,预测块滤波器260根据帧内预测模式对与参考像素相邻的预测块中的一些或所有像素自适应地滤波。在预测块中存在与参考像素相邻的像素。
[0136]在平面模式中,使用参考像素产生与参考像素相邻的预测块中的像素,因而不应用滤波器。
[0137]在DC模式中,使用参考像素的平均值以产生预测像素,因而应用滤波器。能够根据预测单元(预测块的尺寸)的尺寸使用不同类型的滤波器。在大尺寸的预测单元中,可以使用与在小尺寸的预测单元中使用的滤波器一样的滤波器,或使用具有大的平滑效果的强滤波器。
[0138]同时,在存在于图3的垂直模式(模式编号O)的右侧的帧内预测模式中,如果只使用上参考像素产生预测块,则随着预测块中的像素向预测块的左下区域下移,存在在预测块中的像素和初始预测单元的对应像素之间的差异将增大的可能性。尤其是,在帧内预测模式6中,差异明显地增加。
[0139]同样地,在存在于图3的水平模式(模式编号I)之下的帧内预测模式中,如果只使用左参考像素产生预测块,则随着预测块的像素的位置移动到预测块的右上区域,存在可能在预测块中的像素和初始预测单元的对应像素之间的差异增大的可能性。在帧内预测模式9中,差异明显地增加。
[0140]在垂直模式(模式编号O)中,随着预测块中的像素的位置向下移动,预测块中的像素和初始单元的对应像素之间的差异增加。在水平模式(模式编号I)中,随着预测块中的像素的位置向右运动,预测块中的像素和初始预测单元的对应像素之间的差异增加。
[0141]因此,为了减少差异,能够根据定向帧内预测模式对预测块中的一些像素自适应地滤波。在这种情况下,使用没有被用于产生预测块的预测单元中的参考像素对预测块中的一些预测像素滤波。
[0142]可以根据定向帧内预测模式不同地设定将被滤波的区域。随着帧内预测模式的方向靠近模式6或模式9,将被滤波的区域变大或保持原样。
[0143]举一个例子,当预测模式6中的预测单元的尺寸是2NX2N时,可以只将滤波器应用到与垂直模式(模式编号O)的右侧存在的帧内预测模式中的帧内预测模式6相邻的预定数量(I?3)的帧内预测模式。在这种情况下,为了降低复杂性,可以不对模式数量大于预定模式数量(例如,9或17个)的帧内预测模式应用滤波器。并且,将被滤波的预测像素的数量可以根据预测单元的尺寸改变。随着预测单元的尺寸增加,预测像素的数量增加或保持原样。
[0144]举另一个例子,在帧内预测模式6中,如果预测单元的尺寸是4X4,可以不对预测块滤波。如果预测单元的尺寸是8 X 8或16 X 16,贝Ij可以只对位于(x = 0,y = 0,...,和7)处的预测块的8个像素中的预测块的四个左下边界像素滤波。如果预测单元的尺寸是32X32或更大,可以对全部8个边界像素均滤波。
[0145]被应用到预测块中的像素的滤波器的强度也可以根据预测单元的尺寸而变化。随着预测单元的尺寸增加,滤波器强度可以增加或保持原样。
[0146]图像重建器270根据帧内预测模式,以预测单元为单位从预测块产生器250或预测块滤波器260接收预测块。图像重建器270以变换单元为单位接收通过残差信号解码器220重建的残差信号。图像重建器270通过增加复原的预测块和残差信号而产生重建图像。图像可以以编码单元为单位重建。
[0147]尽管参照某些示例性实施例示出并描述了本发明,然而本领域的技术人员将理解,在不偏离如同附加权利要求所限定的本发明的精神和范围的情况下,可以对其做出形式和细节上的各种变化。
【主权项】
1.一种帧内预测装置,所述装置包括: 预测模式解码器,所述预测模式解码器被配置为在帧内预测信息的基础上复原帧内预测模式; 参考像素产生器,所述参考像素产生器被配置为产生对应于不可用参考像素的参考像素,并且被配置为根据帧内预测模式对所述参考像素自适应地滤波; 预测块产生器,所述预测块产生器被配置为使用由所述帧内预测模式确定的参考像素产生预测块; 预测块滤波器,所述预测块滤波器被配置为使用所述帧内预测模式对所述预测块的一部分自适应地滤波; 其中,对于在水平模式与相对于所述水平模式成45°方向的帧内预测模式之间存在的帧内预测模式,所述参考像素产生器根据所述预测块的尺寸对所述参考像素自适应地滤波, 其中,当所述参考像素被滤波以用于第二定向帧内预测模式时,所述参考像素也被滤波以用于第一定向帧内预测模式,所述第一定向帧内预测模式比所述第二定向帧内预测模式更靠近相对于所述水平模式成45°方向的帧内预测模式, 其中,所述第二定向帧内预测模式和所述第一定向帧内预测模式存在于所述水平模式与相对于所述水平模式成45°方向的帧内预测模式之间, 其中,所述滤波器被应用到相对于所述水平模式成45°方向的帧内预测模式,并且不应用到所述水平模式, 其中,应用所述滤波器的定向模式的数量随所述预测块尺寸增加而增加, 其中,所述参考像素产生器不对小于预定尺寸的预测块的参考像素滤波。2.根据权利要求1所述的装置,其中,当所述帧内预测模式是平面模式时,所述预测块产生器使用角参考像素、左参考像素和上参考像素产生预测块的参考像素。3.根据权利要求1所述的装置,其中,当所述帧内预测模式是垂直模式时,所述参考像素产生器不对所述参考像素滤波,并且所述预测块滤波器使用没有被用于产生所述预测块的参考像素对所述预测块滤波。
【文档编号】H04N19/46GK106067981SQ201610630500
【公开日】2016年11月2日
【申请日】2011年7月29日
【发明人】吴秀美, 梁文玉
【申请人】M&K控股株式会社