对帧内预测模式进行解码的方法与流程

文档序号:12697296阅读:221来源:国知局
对帧内预测模式进行解码的方法与流程

技术领域

本发明涉及一种帧内预测模式解码方法和帧内预测模式解码设备,并且更具体地,涉及使用当前块的左侧块和上部块的帧内预测模式生成MPM组并且使用该MPM组、帧内预测模式组指示符和预测模式索引对帧内预测模式进行解码的方法和设备。



背景技术:

图像数据必须被编码以有效地存储或发送图像数据。已知MPEG-1、MPEG-2、MPEG-4、H.264/MPEG-4AVC(高级视频编码)等被对图像数据进行编码的技术。在这些技术中,图片被划分成多个宏块,以宏块为单元来确定应当执行帧内编码或或帧间编码中的哪一种,并且使用确定的编码方法对宏块进行编码。

在作为最新的图像压缩技术的H.264中,执行帧内预测以增强帧内编码的效率。即,使用在空间上与待编码的当前块相邻的像素值来产生预测块,而不是参照参考图片来编码当前块。具体地,通过与使用相邻像素值原始宏块相比较来选择具有很小失真的帧内预测模式,并且使用所选择的帧内预测模式和相邻的像素值来创建待编码的当前块到的预测块。创建包括当前块与预测块之间的差异信号的残留块,并且对残留块进行变换、量化和熵编码。还对用于创建预测块的帧内预测模式进行编码。

然而,在H.264中,不管当前块的左侧块和上部块的帧内预测模式的方向性,均对当前块的帧内预测模式进行编码,因此存在编码效率低的问题。当帧内预测模式的数量增加以增强残留块的编码效率时,需要一种具有比H.264的帧内预测模式编码方法效率高的帧内预测编码方法和帧内预测模式解码方法。



技术实现要素:

技术问题

本发明的目的在于提供一种方法和设备,其能够通过使用当前块的左侧块和上部块的帧内预测模式创建MPM组并且使用该MPM组并使用该MPM组对当前块的帧内预测模式进行编码来增强图像的压缩效率和解压缩效率。

技术方案

根据本发明的一个方面,提供了一种帧内预测模式解码方法,该方法包括如下步骤:重构帧内预测模式组指示符和预测模式索引;使用当前块的左侧块和上部块的有效帧内预测模式来构造MPM组,所述MPM组包括三个帧内预测模式;当所述帧内预测模式组指示符指示所述MPM组时,确定与所述MPM组中的所述预测模式索引相对应的帧内预测模式作为所述当前块的帧内预测模式;以及当所述帧内预测模式组指示符不指示所述MPM组时,使用所述预测模式索引和所述MPM组的帧内预测模式来确定所述当前块的所述帧内预测模式。非方向性模式的模式编号比所述方向性模式的模式编号低。

在所述帧内预测模式解码方法中,当仅所述当前块的所述左侧块和所述上部块的所述帧内预测模式中的一个帧内预测模式有效时,所述MPM组中包括两个附加帧内预测模式,并且所述两个附加的帧内预测模式根据所述帧内预测模式来确定。模式0被指派给平面模式并且模式1被指派给DC模式。

在所述帧内预测模式解码方法中,当所述当前块的所述左侧块和所述上部块的所述帧内预测模式全部有效、彼此不相同并且所述帧内预测模式中的至少一个是非方向性模式时,向所述MPM组添加方向性模式;并且当所述当前块的所述左侧块和所述上部块的所述帧内预测模式全部有效、彼此相同并且是方向性模式时,向所述MPM组添加两个方向性模式。

有益效果

在根据本发明的图像编码方法中,重构了帧内预测模式组指示符和预测模式索引,使用当前块的左侧块和上部块的有效帧内预测模式来构造包括三个帧内预测模式的MPM组,当帧内预测模式组指示符指示MPM组时确定与MPM组中的预测模式索引相对应的帧内预测模式作为当前块的帧内预测模式,并且当帧内预测模式组指示符不指示MPM组时使用预测模式索引和MPM组的帧内预测模式来确定当前块的帧内预测模式。非方向性模式的模式编号比方向性模式的模式编号低。

因此,通过向第一组添加具有与当前块的帧内预测模式相同的较高可能性的帧内预测模式,可以减少用于对当前块的帧内预测模式进行编码的信息量。此外,通过向非方向性模式指派最低模式编,可以减少信息量。

附图说明

图1是例示根据本发明实施方式的运动图像编码设备的框图。

图2是例示根据本发明另一实施方式的运动图像解码设备的框图。

图3是例示在根据本发明实施方式运动图像解码设备中创建帧内预测块的方法的图。

图4是例示根据本发明实施方式的帧内预测模式的概念图。

图5是例示根据本发明实施方式的帧内预测模式编码顺序的图。

具体实施方式

在下文中,将参照附图详细描述本发明的各种实施方式。本发明可以按照各种形式来修改并且可以具有各种实施方式。这些实施方式不旨在限制本发明,而应当被理解为本发明包括属于本发明的精神和技术范围内的所有的变型、等同物和替换。在参照附图来描述本发明时,相同的元件由相同的附图标记表示。

根据本发明的运动图像编码设备和运动图像解码设备可以是用户终端,诸如个人计算机、笔记本式个人计算机、个人数字助理、便携式多媒体播放器、智能电话、无线通信终端以及电视机或提供服务的服务器。运动图像编码设备和运动图像解码设备可以是这样一种设备,该设备具有:诸如通信调制解调器的用于与各种装置或无线或有线通信网络通信的通信设备;存储用于对图像进行编码或解码的各种程序和数据的存储器;以及执行所述程序以执行操作和控制的微处理器。

图1是例示根据本发明实施方式的运动图像编码设备的框图。

根据本发明实施方式的运动图像编码设备100包括:帧内预测模块110、帧间预测模块120、变换与量化模块130、熵编码模块140、逆量化与逆变换模块150、后处理模块160、图片缓冲器170、减法模块190和加法模块195。

帧内预测模块110使用当前块所属的图片或片段的重构像素来创建帧内预测块。帧内预测模块110根据要被预测编码的当前块的大小来选择预定数量个帧内预测模式中的一个,并且利用所选择的帧内预测模式来创建预测块。

帧间预测模块120使用存储在图片缓冲器170中的参考图片来执行运动估计运算,并且确定用于运动估计运算的参考图片索引和运动向量。然后,帧间预测模块120使用参考图片索引和运动向量来创建当前块的帧间预测块。

变换与量化模块130对由帧内预测模块110或帧间预测模块120创建的预测块的残留块进行变换和量化。使用在水平和垂直方向上的一维变换矩阵来执行该变换。使用根据变换块的大小(即,残留块的大小)和帧内预测模块而确定的变换矩阵来变换用于帧内预测的残留块。使用预定的变换矩阵来变换用于帧间预测的残留块。

变换与量化模块130使用量化步长对变换块进行量化。量化步长可以按照等于或大于预定大小的编码单元来改变。

量化的变换块被提供给逆量化与逆变换模块150和熵编码模块140。

逆量化与逆变换模块150对量化的变换块进行逆量化并且对逆量化的变换块进行逆变换以重构残留块。加法模块将逆量化与逆变换模块150重构的残留块和来自帧内预测模块110或帧间预测模块120的预测块相加以创建重构块。

后处理模块160用于重构的图片的图像质量,并且包括去块滤波器模块161、补偿(offset)模块162以及环路滤波器模块163。

去块滤波器模块161将去块滤波器自适应地应用于预测块和变换块的边界。可以将边界限制为8×8网格的边界。去块滤波器模块161确定待滤波的边界,确定其边界强度,并且在边界强度大于0时确定是否应将去块滤波器应用于边界。当确定了应对边界滤波时,去块滤波器模块161选择要应用于边界的滤波器并且利用所选择的滤波器对边界滤波。

补偿模块162按图片或片段来确定是否应施加补偿以减少经历去块滤波器模块的图像中的像素与相应的原始像素之间的失真。另选地,将片段划分成多个补偿区并且可以强度各个补偿区的补偿类型。补偿类型可以包括预定数量个边缘补偿类型和带补偿类型。当补偿类型是边缘补偿类型时,确定各个像素所属的边缘类型并向其应用对应的补偿。边缘类型是基于与当前像素相邻的两个像素值的分布而确定的。

环路滤波器模块163在对经历了补偿模块162的重构图像与原始图像相比较的结果的基础上对重构图像自适应地环路滤波。按照编码单元来确定是否应对重构图像进行环路滤波。可以按照编码单元来改变要应用的环路滤波器的大小和系数。可以在每个片段的头部中包括指示是否应当按照编码单元施加自适应环路滤波器的信息。在色度信号的情况下,可以确定是否应当按图片来应用自适应环路滤波器。因此,可以在片段头部或图片头部中包括指示是否对色度分量进行滤波的信息。

图片缓冲器170从后处理模块160中接收经后处理的图像数据并且以图片为单元来重构并存储图像。图片可以是以帧为单元的图像或者以字段为单元的图像。

熵编码模块140对由变换与量化模块130量化的量化系数信息、从帧内预测模块140接收到的帧内预测信息、从帧间预测单元150接收到的运动信息进行熵编码。熵编码模块140包括扫描模块145,扫描模块145用于将经量化的变换块的系数变换成一维量化系数。

扫描模块145确定用于将经量化的变换块的系数变换成一维量化系数的扫描类型。扫描类型可以根据方向性帧内预测模式和变换块的大小而变化。在向后的方向上扫描量化系数。

当经量化的变换块大于预定大小时,变换系数被划分成多个子块并且被扫描。应用于子块的变换系数的扫描类型是相同的。应用于子块的扫描类型可以是Z字形扫描,或者可以是与应用于子块的变换系数相同的扫描类型。

图2是例示根据本发明另一实施方式的运动图像解码设备200的框图。

根据本发明实施方式的运动图像解码设备200包括:熵解码模块210、逆量化模块220、逆变换模块230、帧内预测模块240、帧间预测模块250、后处理模块260、图片缓冲器270和加法模块280。

熵解码模块210对接收到的比特流进行解码并且将所述比特流分离成帧内预测信息、帧间预测信息、量化系数信息等。熵解码模块210将解码的帧内预测信息提供给帧内预测模块240,并且将解码的帧间预测信息提供给帧间预测模块250。熵解码模块210包括逆扫描模块215,逆扫描模块215对解码的量化系数信息进行逆扫描。

逆扫描模块215将量化系数信息转换成二维量化块。为了转换,选择多个扫描类型中的一个。扫描类型可以根据方向性帧内预测模式和变换块的大小而变化。在向后的方向上扫描量化系数。当量化变换块大于预定大小时,变换系数被划分成多个子块并且被扫描。应用于子块的变换系数的扫描类型是相同的。应用于子块的扫描类型可以是Z字形扫描,或者可以是与施加到子块的变换系数相同的扫描类型。

逆量化模块220确定当前编码单元的量化步长预报值,并且将所确定的量化步长预报值与接收到的残留量化步长相加以重构当前编码单元的量化步长。逆量化模块220使用所述量化步长和逆量化矩阵对量化块进行逆量化。量化矩阵是根据量化块的大小和预测模式而确定的。即,量化矩阵是在当前块的预测模式和针对具有预定大小的量化块的帧内预测模式中的至少一个的基础上选择的。

逆变换模块230对逆量化的变换块进行逆变换以重构残留块。要应用于逆量化的块的逆变换矩阵可以根据预测模式和帧内预测模式来确定。

加法模块280将由帧内预测模块240或帧间预测模块250创建的预测块与由逆变换模块230重构的残留块相加以创建重构块。

帧内预测模块240在从熵解码模块210接收到的帧内预测信息的基础上重构当前块的帧内预测模式。然后,帧内预测模块240根据重构的帧内预测模式来创建预测块。

帧间预测模块250在从熵解码模块210接收到的帧间预测信息的基础上重构参考图片索引和运动向量。然后,帧间预测模块250使用所述参考图片索引和运动向量来创建当前块的预测块。当应用具有十进制预测的运动补偿时,应用选择的内插滤波器以创建预测块。

后处理模块260的操作与图1所示的后处理模块160的操作相同,并且因此将不再描述。

图片缓冲器270以图片为单元存储经过后处理模块260后处理的解码图像。

图3是例示根据本发明实施方式的在运动图像解码设备200中创建帧内预测块的方法的图。

首先,熵解码模块210对来自接收到的比特流的帧内预测信息进行熵解码(S110)。

帧内预测信息包括帧内预测模式组指示符和预测模式索引。帧内预测模式组指示符指示当前块的帧内预测模式是属于MPM组还是MPM组以外的组。预测模式索引是指示由帧内预测模式组指示符所指示的帧内预测模式组中的特定帧内预测模式的信息。

然后,帧内预测模块240使用与当前块相邻的块的帧内预测模式来创建MPM组并接着重构当前块的帧内预测模式(S120)。MPM组包括三个帧内预测模式。这将参照图4来描述。图4是例示根据本发明实施方式的帧内预测模式的图。

(1)在当前块的上部块或左侧块的帧内预测模式都存在并且彼此不同时,MPM组包括两个帧内预测模式和一个附加帧内预测模式。

当两个帧内预测模式中的一个是DC模式并且另一个不是平面模式时,附加帧内预测模式可以是平面模式。类似地,当两个帧内预测模式中的一个是平面模式并且另一个不是DC模式时,附加帧内预测模式可以是DC模式。

当两个帧内预测模式是DC模式和平面模式时,附加帧内预测模式可以是垂直模式或水平模式。

当两个帧内预测模式既不是DC模式又不是平面模式时,附加帧内预测模式可以是在两个帧内预测模式之间具有方向性的帧内预测模式,或者是DC模式或平面模式。

(2)在当前块的上部块或左侧块的帧内预测模式都存在且彼此相同时,MPM组包括帧内预测模式和两个附加帧内预测模式。

当帧内预测模式既不是DC模式又不是平面模式时,两个附加帧内预测模式被设置为与帧内预测模式相邻的两个帧内预测模式。当帧内预测模式是DC模式时,两个附加帧内预测模式可以是平面模式和垂直模式。

(3)当只存在当前块的上部块或左侧块的帧内预测模式中的一个时,MPM组包括帧内预测模式和两个附加帧内预测模式。两个附加帧内预测模式根据帧内预测模式而确定。

(4)在当前块的上部块或左侧块的帧内预测模式根本不存在时,MPM组包括DC模式、平面模式和垂直模式。

当帧内预测模式组指示符指示MPM组时,帧内预测模块240从该MPM组中选择由预测模式索引指示的帧内预测模式,并且将所选择的帧内预测模式确定为当前块的帧内预测模式。帧内预测模式组指示符可以是表示当前块的帧内预测模式是属于MPM组还是MPM组以外的组的标记信息。

当帧内预测模式组指示符不指示MPM组时,帧内预测模块240将属于MPM组的帧内预测模式以外的帧内预测模式(在下文中被称作残留帧内预测模式)中的预测模式索引所指示的帧内预测模式确定为当前块的帧内预测模式。指派给残留帧内预测模式的预测模式索引可以根据MPM组的配置来改变。也就是说,解码的预测模式索引指示根据MPM组的配置而重新排列的残留帧内预测模式的索引。因此,帧内预测模块240根据解码的预测模式索引和属于MPM组的帧内预测模式从残留帧内预测模式中选择当前块的帧内预测模式。

具体地说,按照模式编号次序重新排列当前块的残留帧内尔预测模式,并且将与接收到的预测模式索引相对应的帧内预测模式选择为当前块的帧内预测模式。在这种情况下,可以重新排列残留帧内预测模式,但是当前块的帧内预测模式可以通过将属于MPM组的帧内预测模式编号与当前块的帧内预测模式索引进行比较来确定。

这种方法可应用于模式编号2被指派给非方向性模式的DC模式,模式编号34被指派给平面模式,并且方向性模式编号被指派给其它模式的情况。然而,由于选择平面模式和DC模式作为当前块的帧内预测模式的概率高于其它方向性模式,因此将小的模式编号(例如,模式编号0)指派给平面模式并且可以应用上述方法。在这种情况下,其它排序较低的模式的模式编号增加1。

另选地,可以将最低的索引指派给非方向性模式。例如,在当前块的帧内预测模式是平面模式并且残留帧内预测模式包括平面模式时,帧内预测模式索引可以包括0。例如,当残留帧内预测模式包括平面模式和DC模式时,在按照平面模式、DC模式和方向性模式的次序来排列这些模式的状态下,可以将预测模式索引相对应的帧内预测模式设置为当前块的帧内预测模式。例如,模式编号0和模式编码1可以分别指派给平面模式和DC模式,或者模式编号0和模式编码1可以分别指派给DC模式和平面模式。在这种情况下,可以将当前块的帧内预测模式索引属于MPM组的帧内预测模式编号进行比较以确定当前块的帧内预测模式。

帧内预测模块240使用指示当前块的变换大小的信息来确定预测块的大小(S130)。

当预测块的大小等于当前块的大小时,使用当前块的帧内预测模式和当前块的参考像素来创建预测块。参考像素是在当前块之前被重构或创建的像素。

当预测块的大小小于当前块的大小时(即,在当前块可以被划分成多个子块并且可以对这些子块执行帧内预测时),使用同一帧内预测模式(即,当前块的帧内预测模式)来创建每个子块的预测块。解码次序中的第二子块或随后子块的预测块使用之前子块的重构像素来创建。因此,在以子块为单元创建预测块、残留块和重构块之后,下一个子块的预测块被创建。

帧内预测模块240确定与预测块的大小相对应的块的参考像素是否全部有效(S140)。参考像素是之前解码或重构的像素。当确定参考像素中的至少一个无效时,创建该参考像素(S150)。

具体地说,当确定参考像素根本无效时,使用值2L-1替换参考像素值。这里,L表示代表亮度分量的灰度的比特的数量。

当仅在无效参考像素的位置的一个方向上存在有效的参考像素时,复制有效参考像素中的最靠近参考像素以创建参考像素。

当在针对无效参考像素的位置的两个方向上存在有效的参考像素时,可以复制位于预定方向上的最靠近位置的参考像素可以,或者可以取在两个方向上的两个最靠近的参考像素的平均值以创建参考像素。

帧内预测模块240确定是否应当对参考像素进行过滤(S160)。根据重构的帧内预测模式和预测块的大小对参考像素进行自适应过滤(S170)。

当帧内预测模式是DC模式时,帧内预测模块240不对参考像素进行过滤。当帧内预测模式是垂直模式和水平模式时,帧内预测模块240也不过滤参考像素。然而,当帧内预测模式是垂直模式和水平模式以外的方向性模式时,根据帧内预测模式和预测块的大小对参考像素进行自适应过滤。当预测块的大小是4×4时,不管帧内预测模式如何,出于降低复杂性的目的,不对参考像素进行过滤。过滤用于使参考像素之间的像素值的变化平滑并使用低通滤波器。低通滤波器可以是作为3-tap滤波器的[1,2,1]或者作为5-tap滤波器的[1,2,4,2,1]。当预测块的大小的范围从8×8到32×32时,随着预测块的大小的增加,在更多帧内预测模式中对参考像素进行过滤。

帧内预测模块240根据帧内预测模式来创建预测块(S180)。用于预测块的参考像素可以是根据预测块的大小和帧内预测模式而被自适应过滤的像素。

在DC模式中,位于(x=0,…,N-1,y=-1)的位置处的N个上部参考像素、位于(x=1-,y=0,…,M-1)的位置处的M个左侧参考像素、以及位于(x=-1,y=-1)的位置处的角部像素的平均值可以确定为预测块的预测像素。然而,可以使用该平均值的加权平均和与预测像素相邻的参考像素来创建与参考像素相邻的预测像素。在平面模式中,可以按照与DC模式中相同的方式来创建预测像素。

在垂直模式中,位于垂直方向上的参考像素被设置为预测像素。然而,可以使用位于垂直方向上的参考像素以及左侧参考像素之间的变化来创建与左侧参考像素相邻的预测像素。所述变化表示角部参考像素和与预测像素相邻的参考像素之间的变化。在水平模式中,除了方向之外,可以按照与垂直模式相同的方式来创建预测像素。

图5是例示根据本发明实施方式的帧内预测模式编码顺序的图。下面将描述在图1所示的运动图像编码设备中对当前块的帧内预测模式进行编码的方法。这种方法可以由图1所示的帧内预测模块110和熵编码模块140来执行。

首先,确定当前块的帧内预测模式(S210)。

然后,创建当前块的MPM组(S220)。创建MPM组的方法与在图2所示的帧内预测模式240中创建MPM组的方法相同,并且因此将不再描述。

随后,确定当前块的帧内预测模式是否属于MPM组(S230)。

当帧内预测模式属于MPM组时,确定指示MPM组的标记(即,帧内预测模式组指示符)和指示MPM组中的特定帧内预测模式的预测模式索引(S240)。

当帧内预测模式不属于MPM组时,确定未指示MPM组的标记和指示MPM组的帧内预测模式以外的帧内预测模式(下文中被称作残留帧内预测模式)中的特定帧内预测模式的预测模式索引(S250)。

指示残留帧内预测模式中的当前块的帧内预测模式的预测模式索引根据MPM组的配置而改变。也就是说,预测模式索引表示根据MPM组的配置而重新排列的残留帧内预测模式的索引。因此,预测模式索引根据当前块的帧内预测模式和属于MPM组的帧内预测模式而确定。

具体地说,可以按照模式编号次序来重新排列当前块的残留的帧内预测模式,并且当前块的帧内预测模式的次序可以确定为预测模式索引。另选地,残留的帧内预测模式可以重新排列,但是当前块的帧内预测模式可以通过将属于MPM组的帧内预测模式编号与当前块的帧内预测模式索引进行比较来确定。

这种方法可应用于模式编号2被指派给非方向性模式的DC模式,模式编号34被指派给平面模式,并且方向性模式编号被指派给其它模式的情况。然而,由于选择平面模式和DC模式作为当前的帧内预测模式的概率高于其它方向性模式,因此将小的模式编号(例如,模式编号0)指派给平面模式并且可以应用上述方法。在这种情况下,其它排序较低的模式的模式编号增加1。另选地,可以将最低索引指派给非方向性模式。例如,在当前块的帧内预测模式是平面模式并且残留帧内预测模式包括平面模式时,帧内预测模式索引可以包括0。例如,当残留帧内预测模式包括平面模式和DC模式时,在按照平面模式、DC模式和方向性模式的次序对这些模式进行排列的情况下,可以将与预测模式索引相对应的帧内预测模式设置为当前块的帧内预测模式。例如,模式编号0和模式编码1可以分别指派给平面模式和DC模式,或者模式编号0和模式编码1可以分别指派给DC模式和平面模式。在这种情况下,当前块的帧内预测模式索引可以与属于MPM组的帧内预测模式编号进行比较以确定当前块的帧内预测模式。

尽管参照上述实施方式对本发明进行了描述,但是本领域普通技术人员能够理解的是,在不脱离所附的权利要求所描述到的本发明的精神和范围的情况下,可以以各种形式对本发明做出修改和改变。

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