参考运动矢量获取方法、模块及编、解码装置的制作方法

文档序号:7566890阅读:176来源:国知局
专利名称:参考运动矢量获取方法、模块及编、解码装置的制作方法
技术领域
本发明涉及信息技术领域,特别涉及一种参考运动矢量获取方法、模块及编、解码
>J-U装直。
背景技术
在现有的视频编解码标准中,一幅图像通常被划分为若干个图像块进行编码和解码,一个图像块又可以进一步划分为多个子图像块。编码端通常搜索与当前图像块或子图像块最相似(即匹配)的邻近的已编码子图像块,将当前图像块或子图像块与匹配的子图像块对应的像素值相减得残差,然后将残差经过变换与量化后进行熵编码,最后将熵编码得到的比特流写入编码码流中。其中,邻近的已编码子图像块被称为子参考图像块。当前图像块或子图像块与匹配的子图像块之间的偏移量称为运动矢量,编码端在进行编码时还要对运动矢量编码并写入编码码流中,以使解码端能够根据该运动矢量获知匹配的子图像块的位置。为了减少运动矢量信息在码流中占用的字节长度,通常采用一个参考运动矢量 (Motion Vector Candidate),将运动矢量与参考运动矢量的差值进行编码并写入编码码流中。现有技术中获取参考运动矢量的方法,编码端和解码端遵循同一候选参考运动矢量表,该候选参考运动矢量表中包括与当前图像块或子图像块相邻的若干个子图像块的运动矢量(作为候选参考运动矢量)及其对应的编号。编码端从该候选参考运动矢量表中选择一个作为候选参考运动矢量,采用变长编码方式对偏移量与参考运动矢量的差值进行编码,并采用变长编码方式对该参考运动矢量的编号进行编码,以使解码端获知编码端所选择的是哪一候选参考运动矢量。然而,现有的获取参考运动矢量的方法,没有考虑当前图像块或子图像块与相邻子图像块的相关度,因此,会影响运动矢量的编码效率。

发明内容
本发明实施例提供了一种参考运动矢量获取方法、模块及编、解码装置,以解决现有技术没有考虑当前图像块或子图像块与相邻子图像块的相关度,会影响运动矢量的编码效率的问题。本发明实施例提供一种参考运动矢量获取方法,包括获得当前图像块中子图像块的划分方式;根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;从编号后的各候选参考运动矢量中选择参考运动矢量。本发明实施例还提供一种参考运动矢量获取模块,包括
识别单元,用于获得当前图像块中子图像块的划分方式;分析单元,用于根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢编号单元,用于根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;选择单元,用于根据从编号后的各候选参考运动矢量中选择参考运动矢量。本发明实施例还提供一种编码装置,包括预测模块、变换模块、量化模块、熵编码模块和参考运动矢量获取模块;所述参考运动矢量获取模块,用于获得当前图像块中子图像块的划分方式;根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;从编号后的各候选参考运动矢量中选择参考运动矢所述预测模块,用于获取所述子图像块与预测图像块之间的像素残差,以及获取预测图像块的运动矢量与所述参考运动矢量之差;所述变换模块,用于对所述预测模块获取的所述残差进行变换;所述量化模块,用于将经过所述变换模块变换的所述预测模块获取的所述残差进行量化;所述熵编码模块,用于对经过所述量化模块量化的所述残差进行熵编码,并用于对所述预测图像块的运动矢量与所述参考运动矢量之差进行变长熵编码,对所述参考运动矢量对应的编号进行变长熵编码。本发明实施例还提供一种解码装置,包括熵解码模块、反量化模块、反变换模块、 预测补偿模块和参考运动矢量获取模块;所述熵解码模块,用于对接收到的编码码流进行熵解码,获得当前图像块中各子图像块与预测图像块之间的像素残差,获取预测图像块的运动矢量与所述参考运动矢量之差以及参考运动矢量对应的编号;所述反量化模块,用于对所述残差进行反量化;所述反变换模块,用于对经过所述反量化模块反量化的残差进行反变换;所述参考运动矢量获取模块,用于获得当前图像块中子图像块的划分方式;根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;从编号后的各候选参考运动矢量中选择参考运动矢量。所述预测补偿模块,用于根据所述编号获取对应的参考运动矢量,根据所述运动矢量与所述参考运动矢量之差获取所述运动矢量;根据所述运动矢量确定所述预测图像块,再根据所述预测图像块和所述残差获取所述当前图像块。本发明实施例提供的参考运动矢量获取方法、模块及编、解码装置,根据当前图像块中子图像块的划分方式,确定子图像块的第一候选参考运动矢量,并根据第一参考运动矢量对各候选参考运动矢量进行编号,以使第一候选参考运动矢量尽量对应的较小的编号,由于编码端对编号采用变长编码,因此,能够提高编号的编码效率,进而提高视频编解码效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明提供的参考运动矢量获取方法第一实施例的流程图;图2a为将当前图像块非对称划分成左右两个子图像块的示意图;图2b为将当前图像块对称划分成左右两个子图像块的示意图;图3a为将当前图像块非对称划分成上下两个子图像块的示意图;图3b为将当前图像块对称划分成上下两个子图像块的示意图;图4为与当前图像块相邻的子图像块的示意图;图5为通过当前图像块中的划分线与当前图像块的两条边界线或边界线延长线的焦点到图像块端点的距离的比值识别当前图像块中子图像块的示意图;图6为通过当前图像块中划分线的角度和距离识别当前图像块中子图像块的划分方式的示意图;图7为本发明提供的参考运动矢量获取模块第一实施例的结构示意图;图8为本发明提供的参考运动矢量获取模块第二实施例的结构示意图;图9为本发明实施例提供的编码装置第一实施例的结构示意图;图10为本发明实施例提供的解码装置第一实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图I为本发明提供的参考运动矢量获取方法第一实施例的流程图,如图I所示,该方法包括S101、获得当前图像块中子图像块的划分方式;S102、根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或者所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;S103、根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;
S104、从编号后的各候选参考运动矢量中选择参考运动矢量。一幅图像通常包含了各种方向的纹理信息,这些纹理对应的往往不是一个矩形区域,一幅图像中一般包含多个物体,物体与物体间,或者物体与图像背景间会出现明显的边界。在进行视频编码时,通常需要将一幅图像划分成若干个图像块,这些图像块为M * N 的矩形块,其中,M和N均为大于O的整数,并且M和N之间具有倍数关系。由于图像块为进行视频编解码的基本单位,其面积很小,因此,通常情况下,一个图像块包含一至两个以上物体,或者包括一个物体与图像背景的信息,据此,编码端可以根据物体和物体之间的边界,或者是物体与图像背景的边界,将当前图像块划分为两个子图像块,便能够实现对该图像块之间的物体边界进行划分,而这种划分是基于物体与物体之间,或者物体与图像背景之间的实际边界进行划分的,因此,划分之后得到的两个子图像块的大小和形状可能相同, 也可能不同。两个子图像块在的位置可能对称的,也可能不对称的。由于一个图像块的面积很小,因此,一个图像块划分为两个子图像块的划分方式通常有左右划分,如图2a和图2b所示,或者上下划分,如图3a和图3b所示。基于视频图像的连续性,可以获知,与当前图像块相关联的图像块或子图像块与当前图像块是相邻的,这些相邻的图像块或子图像块如图4所示,包括当前模块左侧的图像块或子图像块Atl至Af1,当前图像块上方的图像块或子图像块Btl至Biib+当前图像块左上方的图像块或子图像块D,当前图像块右上方的图像块或子图像块C和当前图像块左下方的图像块或子图像块E。当前图像块采用不同的方式划分出的子图像块,其与当前图像块相邻的各图像块或子图像块的相关度是不同的,相关度表明了当前图像块中的子图像块与相邻的图像块或子图像块中包含的图像信息的相关程度。例如如果当前图像块被划分成如图2a和图2b所示的左右两个子图像块,则可以理解的是,在这种划分方式下,由于左边的子图像块与右边的子图像块分属不同的物体,因此,左右两个子图像块的相关度较弱。而通常情况下,左边的子图像块与其左侧的图像块或子图像块Atl至Aniw的相关度较高,而右边的子图像块与其右上方的图像块或子图像块C的相关度较高。如果当前图像块被划分成如图3a和图3b所示的上下两个子图像块,则可以理解的是,在这种划分方式下,由于上边的子图像块与下边的子图像块分属不同的物体,因此, 上下两个子图像块的相关度较弱。而通常情况下,上边的子图像块与其上方的图像块或子图像块Btl至B1^1的相关度较高,而右边的子图像块与其左侧的图像块或子图像块Atl至An^1 的相关度较高。由此可见,根据当前图像块中子图像块的划分方式,可以分析出各子图像块与当前图像块相邻的图像块或子图像块的相关度。编码端和解码端在进行编码和解码时,需要遵循同一组候选参考运动矢量,这些候选参考运动矢量可以为与当前图像块相邻的若干个图像块或子图像块的运动矢量,还可以包括相邻的若干个图像块或子图像块的运动矢量经过运算后获得的运算矢量,每个候选运动矢量都有其对应的编号。编码端在进行编码时,通过一定的预设规则从这些候选参考运动矢量中选择一个作为最终的参考运动矢量,采用变长编码方式对运动矢量与参考运动矢量的差值进行编码,并采用变长编码方式对该参考运动矢量对应的编号进行编码,以使解码端获知编码端所选择的是哪一个候选参考运动矢量。其中,采用变长编码方式对该参考运动矢量的编号进行编码,是对不同的编号采用不同的编码符号串进行编码。通常可以为对于编号0,则可采用编码符号“I”进行编码; 对于编号1,则可采用编码符号“01”进行编码;对于编号2,则可采用编码符号“10”进行编码......依次类推,可以获知,编号越大,采用的编码符号串中包含的符号个数越多。本实施例以以下一组候选参考运动矢量为例进行说明,但实际上还可以有其他各种类型的运动矢量作为参考运动矢量,并不以此作为对本发明实施例的限制。该组候选参考运动矢量可以包括中值预测法得到的运动矢量;当前图像块/子图像块左侧图像块或子图像块的运动矢量,即图4所示Atl至Ani^1 中第一个可获得的运动矢量;其中,可获得的含义为已编码。当前图像块/子图像块上边图像块或子图像块的运动矢量,即图4所示Btl至Bn^1 中第一个可获得运动矢量;当前图像块/子图像块左上边图像块或子图像块的运动矢量,即图4所示C的运
动矢量;当前图像块/子图像块右上边图像块或子图像块的运动矢量,即图4所示D的运
动矢量;当前图像块/子图像块右下边图像块或子图像块的运动矢量,即图4所示E的运
动矢量;当前图像块/子图像块位置相同的前一编码图像或后一编码图像的运动矢量。需要说明的是,候选参考运动矢量对应的图像块或子图像块,必须是已经编码的图像块或子图像块,即候选参考运动矢量必须是可获得的。其中,中值预测法得到的运动矢量具体通过获取与当前子图像块相邻的图像块或子图像块运动矢量,根据这些运动矢量通过特定规则,如求取这些运动矢量中值、平均值,或根据当前图像块划分方式获取最邻近的图像块或子图像块运动矢量,获得参考运动矢量。这种方法通常称之为中值预测法 (Median Prediction)。其中,当前图像块/子图像块左侧子图像块的运动矢量需要根据Atl至Ani^1右下角编号数值从小至大依次判断Atl至Af1是否已编码,将第一个已编码的运动矢量作为对应的候选运动矢量;同样,当前图像块/子图像块上边子图像块的运动矢量需要根据Btl至Bn^1 右下角编号数值从小至大依次判断Btl至Bf1是否已编码,将第一个已编码的运动矢量作为对应的候选运动矢量。由于编码端采用变长编码的方式对运动矢量和参考运动矢量的差值进行编码,因此,为了提高编码效率,编码端通常选择与运动矢量值最接近的参考运动矢量,即参考运动矢量与运动矢量之间的差值越小,所采用的编码串越短,相应的编码效率越高。因此,参考运动矢量对应的相邻图像块或子图像块与当前图像块中的子图像块越接近,编码效率越闻。而在对运动矢量与参考运动矢量差值进行编码的同时,还要对选定的参考运动矢量的对应编号进行编码,以使解码端获知编码端所选择的是哪一候选参考运动矢量。由于对编号进行编码采用的也是变长编码方法,因此,首选需要从各候选参考运动矢量中确定第一候选参考运动矢量,该第一候选参考运动矢量对应的相邻的图像块或子图像块与当前图像块具有较高或最高的相关度。再根据第一候选参考运动矢量,对各候选参考运动矢量进行编号,使第一候选参考运动矢量对应的编号尽量小,例如编号1,或者是使第一候选参考运动矢量对应最小的编号,例如编号O。由于相关度越高的相邻图像块或子图像块最终被选为参考运动矢量的概率最大, 因此,而第一候选参考运动矢量对应的相邻的图像块或子图像块与当前图像块具有较高或最高的相关度,因此使第一候选参考运动矢量对应的编号尽量小,例如为编号O或编号1, 这样,对编号O或编号I进行编码仅需要编码符号“I”或“01”,因此,能够提高编号的编码效率,从而提高视频编码效率。在根据第一候选参考运动矢量对各候选参考运动矢量进行编号后,从编号后的各候选参考运动矢量中选择一个参考运动矢量作为最终的参考运动矢量,采用变长编码方式对运动矢量与参考运动矢量的差值进行编码,并采用变长编码方式对该参考运动矢量对应的编号进行编码本发明实施例提供的参考运动矢量获取方法,根据当前图像块中子图像块的划分方式,确定子图像块的第一候选参考运动矢量,并根据第一参考运动矢量对各候选参考运动矢量进行编号,以使第一候选参考运动矢量尽量对应的较小的编号,由于编码端对编号采用变长编码,因此,能够提高编号的编码效率,进而提高视频编解码效率。在参考运动矢量获取方法第一实施例的基础上,本发明提供几种识别当前图像块中子图像块的划分方式的较佳实施方式,包括可以根据编码模式标识识别当前图像块中子图像块的划分方式。例如如果编码模式标识为SIZE_2NxN或SIZE_Nx2N等,通常表示划分方式为上下对称划分或左右对称划分;如果编码模式标识为SIZE_2NxnU或SIZE_2NxnD等,通常表示划分方式为上下非对称划分;如果编码模式标识为SIZE_nLx2N或SIZE_nRx2N等,通常表示划分方式为左右非对称划分。或者,还可以根据当前图像块中的划分线与当前图像块的两条边界线或边界线延长线的焦点到图像块端点的距离的比值识别当前图像块中子图像块的划分方式,例如如图5所示,可以通过BO与AO的比例关系来标识划分方式。或者,还可以根据当前图像块中划分线的角度和距离识别当前图像块中子图像块的划分方式。如图6所示,通过几何划分标识方法(GeometricPartition),通过识别划分线的角度Θ来标识划分方式。进一步的,本实施例还提供了根据所述划分方式在各候选参考运动矢量中确定所述子图像块的第一候选参考运动矢量的方法,包括若当前图像块被划分为左右两个子图像块,则当前图像块左侧相邻的图像块或子图像块的运动矢量为所述当前图像块中左边子图像块的第一候选参考运动矢量,所述当前图像块的右上方相邻的图像块或子图像块的运动矢量为所述当前图像块中右边子图像块的第一候选参考运动矢量;若当前图像块被划分为上下两个子图像块,则所述当前图像块的上方相邻的图像块或子图像块的运动矢量为所述当前图像块中上边子图像块的第一候选参考运动矢量,所述当前图像块的左侧相邻的图像块或子图像块的运动矢量为所述当前图像块中下边子图像块第一候选参考运动矢量。由于现有技术中已存多种对各候选参考运动矢量进行编号的规则,因此,作为一种可行的实施方式,根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号,可以为首先根据设定规则对各候选参考运动矢量进行编号;再根据第一候选参考运动矢量对编号后的各候选参考运动矢量进行重排序。其中,根据第一候选参考运动矢量对编号后的各候选参考运动矢量进行重排序可以为可以将第一候选参考运动矢量与编号最小的候选参考运动矢量的编号互换。以参考运动矢量获取方法第一实施例中提供的一组候选参考运动矢量为例,根据现有的一种规则对该组候选参考运动矢量进行编号,得到编号O :中值预测法得到的运动矢量;编号I :当前图像块/子图像块左侧图像块或子图像块的运动矢量,即图4所示Atl 至八#^中第一个可获得的运动矢量;编号2 :当前图像块/子图像块上边图像块或子图像块的运动矢量,即图4所示B。 至Bn^1中第一个可获得的运动矢量;编号3 :当前图像块/子图像块左上边图像块或子图像块的运动矢量,即图4所示 C的运动矢量;编号4 :当前图像块/子图像块右上边图像块或子图像块的运动矢量,即图4所示 D的运动矢量;编号5 :当前图像块/子图像块右下边图像块或子图像块的运动矢量,即图4所示 E的运动矢量;编号6 :当前图像块/子图像块位置相同的前一编码图像或后一编码图像的运动矢量。由于该组候选参考运动矢量中的最小编号为编号O,而该编号O对应的为中值预测法得到的运动矢量,因此,可以将第一候选参考运动矢量与中值预测法得到的运动矢量的编号对调。对于左右划分的划分方式,对于划分后得到的右边的子图像块,由于与其相关度最高的为右上边的图像块或子图像块,即右上边的图像块或子图像块对应的运动矢量为第一候选参考运动矢量,因此,重排序后得到编号O :当前图像块/子图像块右上边图像块或子图像块的运动矢量,即图4所示 D的运动矢量;编号I :当前图像块/子图像块左侧图像块或子图像块的运动矢量,即图4所示Atl 至八#^中第一个可获得的运动矢量;编号2 :当前图像块/子图像块上边图像块或子图像块的运动矢量,即图4所示B。 至Bn^1中第一个可获得的运动矢量;编号3 :当前图像块/子图像块左上边图像块或子图像块的运动矢量,即图4所示 C的运动矢量;编号4 :中值预测法得到的运动矢量;编号5 :当前图像块/子图像块右下边图像块或子图像块的运动矢量,即图4所示E的运动矢量;编号6 :当前图像块/子图像块位置相同的前一编码图像或后一编码图像的运动矢量。对于上下划分的划分方式,对于划分后得到的上边的子图像块,由于与其相关度最高的为上方图像块或子图像块,即上方的图像块或子图像块对应的运动矢量为第一候选参考运动矢量,因此,重排序后的候选参考运动矢量表可以为编号O :当前图像块/子图像块上边的图像块或子图像块的运动矢量,即图4所示 B0至Bn^1中第一个可获得的运动矢量;编号I :当前图像块/子图像块左侧的图像块或子图像块的运动矢量,即图4所示 A0至An^1中第一个可获得的运动矢量;编号2 :中值预测法得到的运动矢量;编号3 :当前图像块/子图像块左上边的图像块或子图像块的运动矢量,即图4所示C的运动矢量;编号4 :当前图像块/子图像块右上边的图像块或子图像块的运动矢量,即图4所示D的运动矢量;编号5 :当前图像块/子图像块右下边的图像块或子图像块的运动矢量,即图4所示E的运动矢量;编号6 :当前图像块/子图像块位置相同的前一编码图像或后一编码图像的运动矢量。而对于左右划分方式后得到的左边的子图像块,以及上下划分的划分方式后得到的下边的子图像块,由于与其相关度最高的为左边子图像块,因此,重排序后的候选参考运动矢量表可以为编号O :当前图像块/子图像块左侧的图像块或子图像块的运动矢量,即图4所示 A0至An^1中第一个可获得的运动矢量;编号I :中值预测法得到的运动矢量;编号2 :当前图像块/子图像块上边的图像块或子图像块的运动矢量,即图4所示 B0至Bn^1中第一个可获得的运动矢量;编号3 :当前图像块/子图像块左上边的图像块或子图像块的运动矢量,即图4所示C的运动矢量;编号4 :当前图像块/子图像块右上边的图像块或子图像块的运动矢量,即图4所示D的运动矢量;编号5 :当前图像块/子图像块右下边的图像块或子图像块的运动矢量,即图4所示E的运动矢量;编号6 :当前图像块/子图像块位置相同的前一编码图像或后一编码图像的运动矢量。本实施例中还提供了另一种重排序方式第一候选参考运动矢量对应的编号调整为最小的编号,其余的候选参考运动矢量对应的编号依次加I。即将需要给予较小编号值的第一候选参考运动矢量的编号赋予一个较小值,如0,该数值之后的编号依次后移。对于左右划分的划分方式,对于划分后得到的右边的子图像块,由于与其相关度最高的为右上边的图像块或子图像块,因此,重排序后的候选参考运动矢量表可以为编号O :当前图像块/子图像块右上边的图像块或子图像块的运动矢量,即图4所示D的运动矢量;编号I :中值预测法得到的运动矢量;编号2:当前图像块/子图像块左侧的图像块或子图像块的运动矢量,即图4所示 A0至An^1中第一个可获得的运动矢量;编号3 :当前图像块/子图像块上边的图像块或子图像块的运动矢量,即图4所示 B0至Bn^1中第一个可获得的运动矢量;编号4 :当前图像块/子图像块左上边的图像块或子图像块的运动矢量,即图4所示C的运动矢量;编号5 :当前图像块/子图像块右下边的图像块或子图像块的运动矢量,即图4所示E的运动矢量;编号6 :当前图像块/子图像块位置相同的前一编码图像或后一编码图像的运动矢量。对于上下划分的划分方式,对于划分后得到的上边的子图像块,由于与其相关度最高的为上边的图像块或子图像块,因此,重排序后的候选参考运动矢量表可以为编号O :当前图像块/子图像块上边的图像块或子图像块的运动矢量,即图4所示 B0至Bn^1中第一个可获得的运动矢量;编号I :中值预测法得到的运动矢量;编号2 :当前图像块/子图像块左侧的图像块或子图像块的运动矢量,即图4所示 A0至An^1中第一个可获得的运动矢量;编号3 :当前图像块/子图像块左上边的图像块或子图像块的运动矢量,即图4所示C的运动矢量;编号4 :当前图像块/子图像块右上边的图像块或子图像块的运动矢量,即图4所示D的运动矢量;编号5 :当前图像块/子图像块右下边的图像块或子图像块的运动矢量,即图4所示E的运动矢量;编号6 :当前图像块/子图像块位置相同的前一编码图像或后一编码图像的运动矢量。而对于左右划分方式后得到的左边的子图像块,以及上下划分的划分方式后得到的下边的子图像块,由于与其相关度最高的为左边的图像块或子图像块,因此,重排序后的候选参考运动矢量表可以为编号O :当前图像块/子图像块左侧的图像块或子图像块的运动矢量,即图4所示A。至 An7V1中第一个可获得的运动矢量;
编号I :中值预测法得到的运动矢量;
编号2 :当前图像块/子图像块上边的图像块或子图像块的运动矢量,即图4所示B。至 BnlV1中第一个可获得的运动矢量;
编号3 :当前图像块/子图像块左上边的图像块或子图像块的运动矢量,即图4所示C的运动矢量;
编号4 :当前图像块/子图像块右上边的图像块或子图像块的运动矢量,即图4所示D的运动矢量;编号5 :当前图像块/子图像块右下边的图像块或子图像块的运动矢量,即图4所示E的运动矢量;编号6 :当前图像块/子图像块位置相同的前一编码图像或后一编码图像的运动矢量。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中, 该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、 只读存储记忆体(Read-OnlyMemory, ROM)或随机存储记忆体(Random Access Memory, RAM)
坐寸ο图7为本发明提供的参考运动矢量获取模块第一实施例的结构示意图,如图7所示,该模块包括识别单元U、分析单元12、编号单元13和选择单元14 ;其中,识别单元11,用于获得当前图像块中子图像块的划分方式;分析单元12,用于根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;编号单元13,用于根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;选择单元14,用于根据从编号后的各候选参考运动矢量中选择参考运动矢量。本发明实施例提供的参考运动矢量获取模块,根据当前图像块中子图像块的划分方式,确定子图像块的第一候选参考运动矢量,并根据第一参考运动矢量对各候选参考运动矢量进行编号,以使第一候选参考运动矢量尽量对应的较小的编号,由于编码端对编号采用变长编码,因此,能够提高编号的编码效率,进而提高视频编码效率。在参考运动矢量获取模块第一实施例的基础上,参见图8,进一步的,编号单元13 包括编号子单元131,用于根据设定规则对所述各候选参考运动矢量进行编号;重排序子单元132,用于根据所述第一候选参考运动矢量对编号后的各候选参考运动矢量进行重排序。其中,重排序子单元132可以具体用于将第一候选参考运动矢量与编号最小的候选参考运动矢量的编号互换;或者,第一候选参考运动矢量对应的编号调整为最小的编号,其余的候选参考运动矢量对应的编号依次加I。进一步的,识别单元11可以具体用于根据编码模式标识识别当前图像块中子图像块的划分方式;或者,根据当前图像块中的划分线与当前图像块的两条边界线或边界线延长线的焦点到图像块端点的距离的比值识别当前图像块中子图像块的划分方式;或者,根据当前图像块中划分线的角度和距离识别当前图像块中子图像块的划分方式。进一步的,分析单元12可以具体用于若当前图像块被划分为左右两个子图像块,则当前图像块左侧相邻的图像块或子图像块的运动矢量为所述当前图像块中左边子图像块的第一候选参考运动矢量,所述当前图像块的右上方相邻的图像块或子图像块的运动矢量为所述当前图像块中右边子图像块的第一候选参考运动矢量;若当前图像块被划分为上下两个子图像块,则所述当前图像块的上方相邻的图像块或子图像块的运动矢量为所述当前图像块中上边子图像块的第一候选参考运动矢量,所述当前图像块的左侧相邻的图像块或子图像块的运动矢量为所述当前图像块中下边子图
像块第一候选参考运动矢量。本发明实施例提供的参考运动矢量获取模块,为执行本发明实施例提供的参考运动矢量获取方法的功能设备,其具体执行过程可参见参考运动矢量获取方法的实施例,在此不再赘述。图9为本发明实施例提供的编码装置第一实施例的结构示意图,如图9所示,该装置包括预测模块I、变换模块2、量化模块3、熵编码模块4和参考运动矢量获取模块5 ;其中,参考运动矢量获取模块5,用于获得当前图像块中子图像块的划分方式;根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;从编号后的各候选参考运动矢量中选择参考运动矢量;预测模块1,用于获取子图像块与预测图像块之间的像素残差,以及获取预测图像块的运动矢量与参考运动矢量之差;变换模块2,用于分别将预测模块I获取的残差进行变换;量化模块3,用于分别将经过变换模块2变换的预测模块获取的残差进行量化;熵编码模块4,用于分别将经过量化模块3量化的残差进行熵编码,并对预测图像块的运动矢量与参考运动矢量之差进行熵编码。本发明实施例提供的编码装置,首先通过预测模块I将当前图像块或子图像块与匹配的子图像块对应的像素值相减得残差,然后依次通过变换模块2和量化模块3对残差进行变换与量化,最后通过熵编码模块4对经过变换和量化的残差进行熵编码,并将熵编码得到的比特流写入编码码流中。同时,预测模块I编码端在进行编码时还根据参考运动矢量获取模块5获取的参考运动矢量,获取预测图像块的运动矢量与参考运动矢量之差,然后送入熵编码模块4,熵编码模块4对运动矢量与参考运动矢量之差进行编码,并且对参考运动矢量在候选参考运动矢量表中对应的编号进行变长熵编码,然后将熵编码得到的比特流写入编码码流中。其中,参考运动矢量的获取过程参见参考运动矢量获取方法实施例,在此不再赘述。本实施例提供的编码装置,根据当前图像块中子图像块的划分方式,确定子图像块的第一候选参考运动矢量,并根据第一参考运动矢量对各候选参考运动矢量进行编号,以使第一候选参考运动矢量尽量对应的较小的编号,由于编码端对编号采用变长编码,因此,能够提高编号的编码效率,进而提高视频编码效率。图10为本发明实施例提供的解码装置第一实施例的结构示意图,如图10所示,该装置包括熵解码模块I’、反量化模块2’、反变换模块3’、预测补偿模块4’和参考运动矢量获取模块5’ ;熵解码模块I’,用于对接收到的编码码流进行熵解码,获得当前图像块中各子图像块与预测图像块之间的像素残差,获取预测图像块的运动矢量与所述参考运动矢量之差以及参考运动矢量对应的编号;反量化模块2’,用于对所述残差进行反量化;反变换模块3’,用于对经过所述反量化模块反量化的残差进行反变换;参考运动矢量获取模块5’,用于获得当前图像块中子图像块的划分方式;根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;从编号后的各候选参考运动矢量中选择参考运动矢量。预测补偿模块4’,用于根据所述编号获取对应的参考运动矢量,根据所述运动矢量与所述参考运动矢量之差获取所述运动矢量;根据所述运动矢量确定所述预测图像块, 再根据所述预测图像块和所述残差获取所述当前图像块。本发明实施例提供的解码装置,根据当前图像块中子图像块的划分方式,确定子图像块的第一候选参考运动矢量,并根据第一参考运动矢量对各候选参考运动矢量进行编号,以使第一候选参考运动矢量尽量对应的较小的编号,由于编码端对编号采用变长编码, 因此,能够提高编号的解码效率,进而提高视频解码效率。本发明实施例提供的编码和解码装置,其功能可以集成到数字信号处理(Digital Signal Processing ;简称DSP)芯片或现场可编程门阵列(Field-Programmable Gate Array ;简称FPGA)芯片上进行软件开发来实现,也可以通过专用集成电路(Application Specific Integrated Circuit ;简称ASIC)的方式固化实现。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种参考运动矢量获取方法,其特征在于,包括获得当前图像块中子图像块的划分方式;根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量, 或者所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;从编号后的各候选参考运动矢量中选择参考运动矢量。
2.根据权利要求I所述的方法,其特征在于,所述根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号,包括根据设定规则对所述各候选参考运动矢量进行编号;根据所述第一候选参考运动矢量对编号后的各候选参考运动矢量进行重排序。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一候选参考运动矢量对编号后的各候选参考运动矢量进行重排序,包括将第一候选参考运动矢量与编号最小的候选参考运动矢量的编号互换;或者,第一候选参考运动矢量对应的编号调整为最小的编号,其余的候选参考运动矢量对应的编号依次加I。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述获得当前图像块中子图像块的划分方式,包括根据编码模式标识识别当前图像块中子图像块的划分方式;或者,根据当前图像块中的划分线与当前图像块的两条边界线或边界线延长线的焦点到图像块端点的距离的比值识别当前图像块中子图像块的划分方式;或者,根据当前图像块中划分线的角度和距离识别当前图像块中子图像块的划分方式。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述划分方式在各候选参考运动矢量中确定所述子图像块的第一候选参考运动矢量,包括若当前图像块被划分为左右两个子图像块,则当前图像块左侧相邻的图像块或子图像块的运动矢量为所述当前图像块中左边子图像块的第一候选参考运动矢量,所述当前图像块的右上方相邻的图像块或子图像块的运动矢量为所述当前图像块中右边子图像块的第一候选参考运动矢量;若当前图像块被划分为上下两个子图像块,则所述当前图像块的上方相邻的图像块或子图像块的运动矢量为所述当前图像块中上边子图像块的第一候选参考运动矢量,所述当前图像块的左侧相邻的图像块或子图像块的运动矢量为所述当前图像块中下边子图像块第一候选参考运动矢量。
6.一种参考运动矢量获取模块,其特征在于,包括识别单元,用于获得当前图像块中子图像块的划分方式;分析单元,用于根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量; 编号单元,用于根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;选择单元,用于根据从编号后的各候选参考运动矢量中选择参考运动矢量。
7.根据权利要求6所述的参考运动矢量获取模块,其特征在于,所述编号单元包括 编号子单元,用于根据设定规则对所述各候选参考运动矢量进行编号;重排序子单元,用于根据所述第一候选参考运动矢量对编号后的各候选参考运动矢量进行重排序。
8.根据权利要求7所述的参考运动矢量获取模块,其特征在于,所述重排序子单元具体用于将第一候选参考运动矢量与编号最小的候选参考运动矢量的编号互换;或者,第一候选参考运动矢量对应的编号调整为最小的编号,其余的候选参考运动矢量对应的编号依次加I。
9.根据权利要求6中所述的参考运动矢量获取模块,其特征在于,所述识别单元用于 根据编码模式标识识别当前图像块中子图像块的划分方式;或者,根据当前图像块中的划分线与当前图像块的两条边界线或边界线延长线的焦点到图像块端点的距离的比值识别当前图像块中子图像块的划分方式;或者,根据当前图像块中划分线的角度和距离识别当前图像块中子图像块的划分方式。
10.根据权利要求6中所述的参考运动矢量获取模块,其特征在于,所述分析单元用于若当前图像块被划分为左右两个子图像块,则当前图像块左侧相邻的图像块或子图像块的运动矢量为所述当前图像块中左边子图像块的第一候选参考运动矢量,所述当前图像块的右上方相邻的图像块或子图像块的运动矢量为所述当前图像块中右边子图像块的第一候选参考运动矢量;若当前图像块被划分为上下两个子图像块,则所述当前图像块的上方相邻的图像块或子图像块的运动矢量为所述当前图像块中上边子图像块的第一候选参考运动矢量,所述当前图像块的左侧相邻的图像块或子图像块的运动矢量为所述当前图像块中下边子图像块第一候选参考运动矢量。
11.一种编码装置,其特征在于,包括预测模块、变换模块、量化模块、熵编码模块和如权利要求6-10任一项所述的参考运动矢量获取模块,其中,所述参考运动矢量获取模块,用于获得当前图像块中子图像块的划分方式;根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;从编号后的各候选参考运动矢量中选择参考运动矢量; 所述预测模块,用于获取所述子图像块与预测图像块之间的像素残差,以及获取预测图像块的运动矢量与所述参考运动矢量之差;所述变换模块,用于对所述预测模块获取的所述残差进行变换;所述量化模块,用于将经过所述变换模块变换的所述预测模块获取的所述残差进行量化;所述熵编码模块,用于对经过所述量化模块量化的所述残差进行熵编码,并用于对所述预测图像块的运动矢量与所述参考运动矢量之差进行变长熵编码,对所述参考运动矢量对应的编号进行变长熵编码。
12.—种解码装置,其特征在于,包括熵解码模块、反量化模块、反变换模块、预测补偿模块和如权利要求6-10任一项所述的参考运动矢量获取模块;所述熵解码模块,用于对接收到的编码码流进行熵解码,获得当前图像块中各子图像块与预测图像块之间的像素残差,获取预测图像块的运动矢量与所述参考运动矢量之差以及参考运动矢量对应的编号;所述反量化模块,用于对所述残差进行反量化;所述反变换模块,用于对经过所述反量化模块反量化的残差进行反变换;所述参考运动矢量获取模块,用于获得当前图像块中子图像块的划分方式;根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;从编号后的各候选参考运动矢量中选择参考运动矢量; 所述预测补偿模块,用于根据所述编号获取对应的参考运动矢量,根据所述运动矢量与所述参考运动矢量之差获取所述运动矢量;根据所述运动矢量确定所述预测图像块,再根据所述预测图像块和所述残差获取所述当前图像块。
全文摘要
本发明实施例提供一种参考运动矢量获取方法、模块及编、解码装置。方法包括获得当前图像块中子图像块的划分方式;根据所述划分方式在所述子图像块的各候选参考运动矢量中确定第一候选参考运动矢量,所述候选参考运动矢量为与所述当前图像块相邻的图像块或子图像块的运动矢量,或所述相邻的图像块或子图像块的运动矢量经过运算后获得的运动矢量;根据所述第一候选参考运动矢量对各候选参考运动矢量进行编号;从编号后的各候选参考运动矢量中选择参考运动矢量。本发明实施例提供的参考运动矢量获取方法、模块及编、码装置,由于编码端对编号采用变长编码,因此能够提高编号的编码效率,进而提高视频编解码效率。
文档编号H04N7/50GK102611881SQ20111002175
公开日2012年7月25日 申请日期2011年1月19日 优先权日2011年1月19日
发明者郑萧桢 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1