视频图像编码方法、解码方法和装置的制作方法

文档序号:7761693阅读:264来源:国知局
专利名称:视频图像编码方法、解码方法和装置的制作方法
技术领域
本发明实施例涉及通信技术领域,尤其涉及视频图像技术中的一种视频图像编码方法、解码方法和装置。
背景技术
在视频序列中,时间相邻的两帧中的景物存在着一定的相关性。帧间预测编码能够去除这种时间冗余,是视频压缩处理系统的一个重要组成部分。帧间预测编码的过程可以为将每一帧的图像划分成若干块,并搜索得到每个块在时间参考图像中的匹配块,其中当前块与匹配块间的空间位置的相对偏移量即为该当前块的运动矢量(Motion Vector,以下简称为MV),获得当前块的MV的过程称为运动估计(Motion htimation,简称为ME); 然后,该匹配块被用作参考,对当前块进行预测编码,并将当前块的运动矢量和预测误差信号发送到解码端。解码端按照运动矢量指明的位置,从已知的时间参考图像中找到相应的参考块(即上述的匹配块),并将该参考块信号与预测误差信号相加,从而得到该当前块。现有的一种运动估计方法可以如下设t时刻的帧图像为当前帧f(x,y),t’时刻的帧图像为参考帧f’(x,y),其中,参考帧在时间上可以超前或者滞后于当前帧,当t’ <t 时,称为前向运动估计,当t’ >t时,称为后向运动估计。当在参考帧f’ (χ, y)中搜索到当前帧f(x,y)中的块的最佳匹配时,可以得到运动矢量d(x,y ;t,t+At)。如果对当前帧每个块的运动矢量直接进行编码,将大大增加编码开销。尤其是当使用小尺寸的块进行帧间预测编码时,对每个块的运动矢量都直接进行编码的开销巨大。利用运动矢量的相关性,无需对每个块的运动矢量都直接进行编码,由此减少了开销。具体可以如下由于一个运动物体会覆盖多个块,空间域相邻块的运动矢量具有相关性;又由于物体运动的连续性,时间域相邻帧的对应块的运动矢量也存在相关性。因此可以使用空间邻近已编码块的运动矢量或时间邻近参考帧的运动矢量作为对当前块运动矢量的运动矢量预测值(Motion Vector I^redictor,简称为MVP),其中,空间邻近已编码块的运动矢量称为空间MVP,时间邻近参考帧的运动矢量称为时间MVP。计算当前块的运动矢量与空间MVP或时间MVP的运动矢量差值(Motion VectorDifference,以下简称为MVD),从而将该MVD传送到解码端,即可使解码端根据该MVD和MVP就可以得到当前块的MV。现有技术提出一种率失真最优化的时空运动矢量预测方法,该方法包括首先构造一组矢量预测值,该组矢量预测值中可以包括多个MVP;然后再通过一个改进的率失真代价函数,从这一组矢量预测值中选择一个最优的MVP作为当前块的MVP ;最后将所选择的 MVP的标识进行编码,并将该MVP的标识和当前块相对于该MVP的MVD传输到解码端,以使解码端获得该当前块的MV。在现有的方法中,为了使解码端能获知MVD对应的MVP,需要编码端将选择的MVP 的标识写入码流传送到解码端,然而,该MVP的标识所需的比特开销很大,例如,一组矢量预测值中包含两个MVP,在中低码率应用中该标识通常要占运动信息码率的12%以上,相当于占总码率的4%以上,由此大大增加了编码开销,降低了编码效率。

发明内容
本发明实施例提供一种视频图像编码方法、解码方法和装置,以降低编码开销,提高编码效率。本发明实施例提供一种视频图像编码方法,包括根据待编码的当前块的k个运动矢量预测值MVP在参考图像中对应的k个互不相同的MVP像素点,对所述参考图像的搜索区域进行区域划分;划分得到的区域中包括k个待划分区域,每个所述待划分区域包括一个所述MVP像素点,其中,k大于等于2 ;从所述k个待划分区域中划分出k个待搜索子区域;所述k个待搜索子区域与所述k个待划分区域一一对应;对每个所述待搜索子区域和所述参考图像的搜索区域中除所述k个待划分区域以外的区域进行运动估计,确定出所述当前块的运动矢量MV;若确定的所述当前块的MV对应的像素点包含在任一所述待搜索子区域中,则根据所述MV和所述MV对应的像素点所在的所述待搜索子区域对应的MVP,得到所述当前块的运动矢量差值MVD ;将所述MVD进行编码后发送给解码端。本发明实施例提供一种视频图像解码方法,包括根据待解码的当前块的k个MVP和解码得到的所述当前块的MVD,确定所述当前块的MV指向的参考图像中的区域;所述参考图像包括k个待划分区域,每个所述待划分区域包括一个所述MVP在所述参考图像中对应的一个MVP像素点,其中,k大于等于2 ;若所述当前块的MV指向所述k个待划分区域,则根据所述当前块的MVD,确定所述当前块的MV指向的子区域;根据所述子区域所属的待划分区域对应的MVP和所述MVD,得到所述当前块的MV。本发明实施例提供一种视频图像编码装置,包括区域划分模块,用于根据待编码的当前块的k个运动矢量预测值MVP在参考图像中对应的k个互不相同的MVP像素点,对所述参考图像的搜索区域进行区域划分;划分得到的区域中包括k个待划分区域,每个所述待划分区域包括一个所述MVP像素点,其中,k大于等于2;待搜索子区域划分模块,用于从所述区域划分模块划分得到的所述k个待划分区域中划分出k个待搜索子区域;所述k个待搜索子区域与所述k个待划分区域一一对应;运动估计模块,用于对所述待搜索子区域划分模块划分出的每个所述待搜索子区域和所述参考图像的搜索区域中除所述k个待划分区域以外的区域进行运动估计,确定出所述当前块的运动矢量MV;第一计算发送模块,用于若所述运动估计模块确定的所述当前块的MV对应的像素点包含在任一所述待搜索子区域中,则根据所述MV和所述MV对应的像素点所在的所述待搜索子区域对应的MVP,得到所述当前块的运动矢量差值MVD,并将得到的所述MVD进行编码后发送给解码端。本发明提供一种视频图像解码装置,包括第一确定模块,根据待解码的当前块的k个MVP和解码得到的所述当前块的MVD,确定所述当前块的MV指向的参考图像中的区域;所述参考图像包括k个待划分区域,每个所述待划分区域包括一个所述MVP在所述参考图像中对应的一个MVP像素点,其中,k大于等于2;第二确定模块,用于若所述第一确定模块确定所述当前块的MV指向所述k个待划分区域,则根据所述当前块的MVD,确定所述当前块的MV指向的子区域,并根据所述子区域所属的待划分区域对应的MVP和所述MVD,得到所述当前块的MV。本发明实施例提供的技术方案,根据待编码的当前块的k个MVP在参考图像中对应的MVP像素点,对参考图像的搜索区域进行区域划分,并从划分得到的待划分区域中划分出k个待搜索子区域,然后对每个待搜索子区域和参考图像的搜索区域的其他区域进行运动估计,若经运动估计确定出的当前块的MV对应的像素点包含在任一待搜索子区域中, 则根据该MV和该MV对应的MVP,得到当前块的MVD,并将该MVD进行编码后发送给解码端, 从而解码端根据MVD就可以判断出该MVD对应的MVP,所以编码端无需将MVD对应的MVP的标识发送给解码端,从而可以降低编码开销,提高编码效率。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图
获得其他的附图。
图1为本发明视频图像编码方法实施例一-的流程图2为本发明视频图像解码方法实施例一-的流程图3为本发明视频图像编码方法实施例二-的流程图4为本发明视频图像解码方法实施例二-的流程图5a为本发明视频图像编码方法实施例_三的流程图
图5b为图fe所示实施例中区域划分方法示意图5c为图如所示实施例中子区域划分方法示意图6为本发明视频图像解码方法实施例三的流程图7为本发明实施例中k = 3时区域划分方法示意图
图8为本发明视频图像编码装置实施例一-的示意图9为本发明视频图像编码装置实施例二-的示意图10为本发明视频图像解码装置实施例-一的示意图
图11为本发明视频图像解码装置实施例—二的示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明视频图像编码方法实施例一的流程图,如图1所示,该方法包括
1
步骤101、根据待编码的当前块的k个MVP在参考图像中对应的k个互不相同的 MVP像素点,对参考图像的搜索区域进行区域划分。当待编码的当前块确定后,编码端可以根据现有的方法获取到当前块的k个MVP, 其中k大于等于2,k个MVP互不相同,且k个MVP可以包括多个空间MVP (简称为MVPs),也可以包括多个时间MVP (简称为MVPt),还可以包括一个或多个MVPs以及一个或多个MVPt。 例如,编码端可以根据H. 264标准中对应的方法获取到当前块的一个MVI^s和一个MVPt。其中,MVPs为与当前块相邻的已编码块的MVP,MVPt为从已编码的非当前帧的图像中获取的 MVP。每个MVP在当前块的参考图像中对应一个像素点,与MVP对应的像素点即为本发明实施例中所称的MVP像素点,互不相同的k个MVP就对应互不相同的k个MVP像素点。其中,根据搜索精度,该参考图像可以是插值滤波后的图像,MVP像素点可以是不同精度的像素点或亚像素点。编码端将参考图像的搜索区域划分得到的区域可以包括k个待划分区域和其他区域;其中,每个待划分区域包括一个MVP像素点,任两个待划分区域包括的MVP像素点互不相同,并且任两个待划分区域互不重叠。上述的其他区域为参考图像的搜索区域中除去 k个待划分区域以外的区域。步骤102、从k个待划分区域中划分出k个待搜索子区域。需要说明的是参考图像的搜索区域中的每个像素点都对应k个MVP中的一个,每个像素点根据其相对于k个MVP像素点的位置,可能对应不同的MVP。相对于k个MVP像素点,当参考图像中的一个像素点与第i个MVP像素点(i = 1 k)的距离最短时,该像素点对应的MVP就是该第i个MVP像素点对应的MVP。在参考图像中的k个待划分区域中,会存在多组k个MVD数值相同的像素点,并且这k个像素点分别对应k个MVP,也就是说,这k个像素点中的第i个像素点距离k个MVP像素点中的第i个MVP像素点的距离最短,并且任两个像素点相对于其距离最短的MVP像素点的位移相同,由此使得这k个像素点相对于当前块的MVD数值相同。所以,如果编码端只将MVD发送给解码端时,解码端将无法判断出哪个MVP与该MVD相对应,从而也就无法解码出当前块的MV。本发明实施例为了解决解码端无法判断的问题,将k个待划分区域进行进一步划分。以使得解码端根据MVD即可判断出与其对应的MVP,即通过MVD就可以判断出编码端的与该MVD对应的像素点所对应的MVP。 由此编码端就无需向解码端传输MVP的标识,而只需要传输MVD的值即可。编码端从k个待划分区域中划分出k个待搜索子区域,k个待搜索子区域与k个待划分区域一一对应,且每个待搜索子区域为与其对应的待划分区域的一部分,例如第i 个待搜索子区域与第i个待划分区域对应,第i个待搜索子区域为与其对应的第i个待划分区域的一部分,并且第i个待搜索子区域中的每个像素点对应的MVP均为第i个待划分区域对应的MVP。每个待搜索子区域中的每个像素点对应的MVP即为每个待搜索子区域对应的MVP ;每个待搜索子区域对应的MVP为该待搜索子区域所在的待划分区域对应的MVP ; 每个待划分区域对应的MVP为该待划分区域包括的MVP像素点对应的MVP。需要说明的是, 本发明实施例中所述的编码端从k个待划分区域中划分出k个待搜索子区域,并不是限定编码端只能从k个待划分区域中划分出k个待搜索子区域,而是根据具体情况,编码端还可以从k个待划分区域中划分出其他的处理区域。
编码端从k个待划分区域中划分出k个待搜索子区域的过程具体可以为从每个待划分区域中划分出k个子区域,然后从每个待划分区域划分得到的k个子区域中选取一个子区域作为该待划分区域对应的待搜索子区域,由此得到k个待搜索子区域。进一步的, 编码端可以通过以下方法从一个待划分区域划分出k个子区域编码端以该待划分区域包括的MVP像素点为坐标原点,然后根据该待划分区域中的每个像素点的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,从该待划分区域划分出k个子区域。从k 个待划分区域中的每个中选取一个待搜索子区域,以选取k个待搜索子区域时,要保证每个待搜索子区域中像素点的坐标分量(横坐标分量和纵坐标分量、横坐标分量或纵坐标分量)的数值特征不同,由此才能使得解码端根据MVD的坐标分量的数值特征判断出该MVD 对应的子区域。步骤103、对每个待搜索子区域和参考图像的搜索区域的除k个待划分区域以外的区域进行运动估计,确定出当前块的MV。其中,该参考图像的搜索区域中除去k个待划分区域以外的区域即为步骤102中所述的参考图像的搜索区域的其他区域。在对参考图像的搜索区域中的像素点进行运动估计时,并不是对待划分区域中的每个像素点都进行运动估计,而是只对待划分区域中的待搜索子区域中的每个像素点进行运动估计。需要说明的是,本发明各实施例中所说的对区域进行运动估计,即为对该区域内的每个像素点进行运动估计。步骤104、若确定的当前块的MV对应的像素点包含在任一待搜索子区域中,则根据MV和MV对应的像素点所在的待搜索子区域对应的MVP,得到当前块的MVD。在步骤103中对参考图像进行运动估计后,衡量所有被搜索的像素点对应的率失真(Rate Distortion,以下简称为RD)代价,可以获得最小RD代价的像素点,该像素点对应的MV即可作为当前块的MV,由此就确定了当前块的MV。当前块的MV对应的像素点可能包含在任一待搜索子区域中,也可能包含在参考图像的搜索区域的其他区域。若当前块的 MV对应的像素点包含在任一待搜索子区域中,则该MV对应的MVP即为该MV对应的像素点所在的待搜索子区域所对应的MVP,由此可以根据该MV和该MV对应的MVP得到当前块的 MVD,其中,MVD = MV-MVP。步骤105、将得到的MVD进行编码后发送给解码端。编码端得到当前块的MVD后,将该MVD进行编码后发送给解码端。本发明实施例,编码端根据待编码的当前块的k个MVP在参考图像中对应的MVP 像素点,从参考图像的搜索区域中划分出k个待划分区域,并从k个待划分区域中划分出k 个待搜索子区域,然后对每个待搜索子区域和参考图像的搜索区域的其他区域进行运动估计,若经运动估计确定出的当前块的MV对应的像素点包含在任一待搜索子区域中,则根据该MV和该MV对应的MVP,得到当前块的MVD,并将该MVD进行编码后发送给解码端;从而使得解码端根据MVD就可以判断出该MVD对应的MVP,所以编码端无需将MVD对应的MVP的标识发送给解码端,从而可以降低编码开销,提高编码效率。图2为本发明视频图像解码方法实施例一的流程图,本实施例与图1所示的编码方法相对应,如图2所示,该方法包括步骤201、根据待解码的当前块的k个MVP和解码得到的当前块的MVD,确定当前块的MV指向的参考图像中的区域。当待解码的当前块确定后,解码端根据与编码端相同的方法可获取到当前块的k 个MVP,其中k大于等于2,k个MVP互不相同,这k个MVP与编码端获取到的k个MVP相同。 每个MVP在当前块的参考图像中对应一个MVP像素点。其中,参考图像包括k个待划分区域和其他区域,具体可以参见图1所示实施例步骤101中的描述。当前块的MV可能指向参考图像中的k个待划分区域,也可能指向参考图像的其他区域;其中所述的指向参考图像中的k个待划分区域指的是指向k个待划分区域的并集区域。解码端对接收到的数据解码后可以得到当前块的MVD,然后解码端根据当前块的 k个MVP和MVD,能够确定当前块的MV指向的区域,即能够确定当前块的MV是指向参考图像中的k个待划分区域,还是指向参考图像的其他区域。步骤202、若当前块的MV指向k个待划分区域,则根据当前块的MVD,确定当前块的MV指向的子区域。当解码端确定出当前块的MV指向k个待划分区域后,解码端可以再根据当前块的 MVD确定出当前块的MV指向的子区域。在编码的过程中,编码端从k个待划分区域中划分出k个待搜索子区域,然后只对待搜索子区域中的像素点进行了运动估计;相应的,在解码端,参考图像的k个待划分区域中有相应的k个子区域,这k个子区域中每个子区域对应一个MVP,这k个子区域与编码时的k个待搜索子区域相对应。由此,若解码端得到当前块的MV指向k个待划分区域,则解码端需要再判断当前块的MV指向的是k个子区域中的哪一个,以最终判断出该当前块对应的 MVP。具体的,解码端可以根据当前块的MVD的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,确定当前块的MV指向的子区域。例如解码端可以根据当前块的MVD的横坐标分量和纵坐标分量的幅度和、横坐标分量的幅度或纵坐标分量的幅度除以 k得到的余数,确定当前块的MV指向的子区域。步骤203、根据子区域所属的待划分区域对应的MVP和MVD,得到当前块的MV。当解码端确定出当前块的MV指向的子区域后,根据该子区域对应的MVP就可以确定当前块的对应的MVP ;其中,该子区域对应的MVP即为该子区域所属的待划分区域对应的 MVP,待划分区域对应的MVP为待划分区域包括的MVP像素点对应的MVP。其中,解码端和编码端可以预先约定子区域与待划分区域的对应关系,或者解码端从编码端接收到子区域与待划分区域的对应关系。解码端获取到当前块的MVP后,根据当前块的MVD和MVP,就可以得到当前块的 MV。本发明实施例,解码端接收到编码端发送的当前块的MVD后,根据该MVD和当前块的k个MVP,可以确定该当前块的MV指向的参考图像的区域,若当前块的MV指向k个待划分区域,则根据当前块的MVD,可以确定当前块的MV指向的子区域,然后根据该MVD和该子区域对应的MVP就可以得到当前块的MV。因此,由于解码端根据MVD就可以判断出该MVD 对应的MVP,所以编码端无需将MVD对应的MVP的标识发送给解码端,从而可以降低编码开销,提高编码效率。
图3为本发明视频图像编码方法实施例二的流程图,如图3所示,该方法包括步骤301、根据待编码的当前块的k个MVP在参考图像中对应的k个互不相同的 MVP像素点,对参考图像的搜索区域进行区域划分。该步骤的具体内容与图1所示实施例步骤101中的描述相同,在此不再赘述。步骤302、从每个待划分区域中去除MVP像素点,从去除MVP像素点的待划分区域划分出k个子区域。为了能使解码端判断出MVD对应的MVP,编码端需要从划分出的每个待划分区域再划分出k个子区域。然而,在有些编码条件下,最终运动估计得到的与当前块的匹配块对应的像素点是MVP像素点的概率比较大,此时,若还将MVP像素点作为划分得到的某个子区域中的一点,则在运动估计中会使k-Ι个MVP像素点都不与当前块进行匹配运算,从而会带来性能损失。由此,可以把MVP像素点作为单独的一个处理区域。当编码端将k个MVP像素点作为单独的处理区域时,编码端从每个待划分区域中把MVP像素点去除掉,然后再从去除MVP像素点的待划分区域划分出k个子区域。具体的,编码端从去除MVP像素点的待划分区域划分出k个子区域的过程可以为 编码端根据去除MVP像素点的待划分区域中的每个像素点的横坐标分量和纵坐标分量的幅度和、横坐标分量的幅度或纵坐标分量的幅度除以k得到的余数j,从待划分区域划分出 k个子区域;其中余数j相同的像素点构成一个子区域,j = 0 k-Ι。需要说明的是,当不从待划分区域中去除MVP像素点时,也可以用上述方法从待划分区域划分出k个子区域。步骤303、从每个待划分区域划分得到的k个子区域中选取一个子区域作为待划分区域的待搜索子区域。编码端将去除MVP像素点的每个待划分区域划分成k个子区域后,从每一个待划分区域的k个子区域中选取一个子区域作为待搜索子区域,从而得到k个待搜索子区域。当基于余数j将待划分区域划分成k个子区域时,从任意两个待划分区域中选取的两个待搜索子区域对应的余数j互不相同。其中,每个待搜索子区域对应的MVP为该待搜索子区域所在的待划分区域对应的 MVP ;每个待划分区域对应的MVP为该待划分区域包括的MVP像素点对应的MVP。步骤304、对每个待搜索子区域、参考图像的搜索区域中除k个待划分区域以外的区域、以及每个MVP像素点进行运动估计,确定出当前块的MV。由于本实施例将MVP像素点作为一个单独的处理区域进行处理,所以在进行运动估计时,除了对每个待搜索子区域和参考图像的搜索区域中除k个待划分区域以外的区域进行运动估计以外,还需要对每个MVP像素点进行运动估计。其中,对参考图像的任一区域进行运动估计得到当前块的MV的过程可以为根据式(1)计算每个像素点对应的RD代价;然后找到具有最小RD代价的像素点, 并将该像素点对应的MV作为当前图像块的MV ;式⑴为J = D+Xm。ti。nRm。ti。n,其中,D为当前块与MV所指参考块的失真,可使用 SAD衡量;λ m。ti。n为编码器所设定的用于运动估计的权重因子;Rm。ti。n为编码运动信息,即该 MV对应的MVD所带来的比特开销J为RD代价。步骤305、若确定的当前块的MV对应的像素点为任一 MVP像素点,则根据MV和MV 对应的MVP像素点对应的MVP,得到当前块的MVD,并将MVD和MVD对应的MVP的标识进行编码后发送给解码端。若编码端确定的当前块的MV对应的像素点为一个MVP像素点时,根据该MV和该 MV对应的MVP得到当前块的MVD,此时MVD为(0,0),然后将该MVD和该MVD对应的MVP的标识进行编码后发送给解码端。由于编码端和解码端均能获取到当前块对应的k个MVP,并且编码端和解码端预先协商这k个MVP对应的标识,所以编码端只需要将该MVD对应的MVP的标识发送给解码端,解码端就能根据该标识确定出该MVD对应于哪一个MVP0若确定的当前块的MV对应的像素点包含在任一待搜索子区域中,则根据MV和MV 对应的像素点所在的待搜索子区域对应的MVP,得到当前块的MVD ;该过程参见图1所示实施例步骤104中的描述。 本发明实施例提供的编码方法,使得解码端在接收到该MVD后,根据该MVD和当前块的k个MVP,即可确定出当前块的MV指向的子区域(或者MVP像素点),然后根据该MVD 和该子区域(或者MVP像素点)对应的MVP就可以得到当前块的MV。由此本实施例具有与图1所示实施例的相同的优点,除此之外,本实施例中,编码端在将k个待划分区域划分子区域的过程中,将k个MVP像素点先从k个待划分区域中除去,再将除去MVP像素点的待划分区域划分成子区域,然后在进行运动估计时,对每个MVP像素点都进行运动估计,由此可以提高运动估计的精度。图4为本发明视频图像解码方法实施例二的流程图,本实施例与图3所示的编码方法相对应,如图4所示,该方法包括步骤401、根据待解码的当前块的k个MVP和解码得到的当前块的MVD,确定当前块的MV指向的参考图像中的区域。该步骤的具体内容参见图2所示实施例的步骤201中的描述。其中,解码端根据当前块的k个MVP和MVD,能够确定当前块的MV指向的区域,该区域可以是参考图像中的k 个待划分区域,也可以是参考图像的其他区域,还可以是k个MVP像素点组成的处理区域。步骤402、若当前块的MVD为(0,0),则决定进一步接收编码端发送的MVD对应的 MVP的标识,并根据该标识对应的MVP和接收到的MVD,得到当前块的MV。当解码端解码得到当前块的MVD为(0,0)时,可以判断当前块的MV对应的是k个 MVP像素点中的一个;当MVD为(0,0)时,编码端会将该MVD对应的MVP的标识也发送给解码端。然后解码端根据编码端发送的MVP的标识,获知该MVD对应的MVP,然后就能根据该MVD和MVP得到当前块的MV。若当前块的MV指向k个待划分区域,则参见图2所示实施例中步骤202中的描述。本发明实施例除了具有图2所示实施例的优点以外,由于编码端在进行编码时将 k个MVP像素点作为一个单独的处理区域,并且在当前块的MV对应MVP像素点时,编码端会发送该MVP像素点对应的MVP的标识给解码端,所以解码端在接收到的当前块的MVD为 (0,0)时,则决定进一步接收当前块对应的MVP的标识,再按上述描述得到当前块的MV。图3和图4所示的编解码方法,由于将k个MVP像素点作为一个单独区域进行处理,能够在提高编码效率的同时,提高运动估计的精度。图fe为本发明视频图像编码方法实施例三的流程图,图6为本发明视频图像解码方法实施例三的流程图,图6所示的解码方法与图fe所示的编码方法相对应。在图如和图6所示的实施例中,以k = 2为例进行说明。如图fe所示,该编码方法包括步骤501、编码端获取当前块的MVPs与MVPt。当待编码的当前块确定后,编码端根据H. 264标准中对应的方法获取当前块的 MVPs与MVPt。本实施例中当前块对应两个MVP,这两个MVP以MVPs和MVPt为例进行说明, 但是本实施例并不限于此,这两个MVP可以是两个不同的MVPs,也可以是两个不同的MVPt。其中,本实施例中的MVI3S相当于第一 MVP,MVPt相当于第二 MVP,则MVI3S像素点即相当于第一 MVP像素点,MVPt即相当于第二 MVP像素点。步骤502、编码端根据当前块的MVPs和MVPt在参考图像中对应的MVPs像素点和 MVPt像素点,对参考图像的搜索区域进行区域划分。对参考图像的搜索区域进行区域划分的具体方法参见图恥进行说明,图恥为图 fe所示实施例中区域划分方法示意图,如图恥所示,编码端对参考图像的搜索区域进行区域划分的具体过程为步骤bl、连接MVPs像素点和MVPt像素点得到线段线段 的长度为2d ;其中, MVPs像素点为MVPs在参考图像中对应的像素点,MVPt像素点为MVPt在参考图像中对应的像素点;步骤1^2、将线段 分别向两端延长d得到线段 ;步骤b3、通过线段%的两端点分别作平行于直线I1的直线12和I3 ;其中,直线I1 为线段 的垂直平分线。关于本实施例中提供的上述区域划分的方法,本发明实施例不限于此,任何能达到上述划分效果的等同或类似的方法都可以应用在本发明实施例中。直线I1U2和I3将参考图像的搜索区域划分为区域A、区域B、区域C和区域D ;其中,区域B包括MVPs像素点,区域C包括MVPt像素点,区域B和区域C均为待划分区域;区域A为区域B的邻近区域,区域D为区域C的邻近区域。其中,区域A和区域B中的像素点距MVPs像素点的距离比距MVPt像素点的距离远,所以区域A和区域B中的每个像素点对应的MVP均为MVPs ;同理,区域C和区域D中的每个像素点对应的MVP均为MVPt。若最终运动估计的结果是当前块的MV指向区域A或区域D,则解码端可以根据当前块的MVD判断出指向的区域(A或D),从而可以得到对应的MVP ;但是,若最终运动估计的结果是当前块的 MV指向区域B或区域C,则解码端根据MVD只能判断出指向区域为区域B和区域C的并集区域,而无法判断出是指向区域B还是指向区域C,从而也就无法判断出该MVD对应的MVP。 所以本实施例要对区域B和区域C进一步划分,以使解码端可以根据MVD判断出是指向区域B还是指向区域C。步骤503、编码端将区域B和区域C分别划分为2个子区域。编码端将区域B划分成2个子区域的具体方法参见图5c进行说明,图5c为图fe 所示实施例中子区域划分方法示意图,如图5c所示,编码端将区域B划分成2个子区域的具体过程为以MVPs像素点为坐标原点,然后根据区域B中的每个像素点的横坐标分量和纵坐标分量的幅度和除以2,余数为0的像素点称为偶数点,即图5c中的方块,方块所表示的像素点的X分量与1分量满足(I χ I + I y I) % 2 = 0 ;余数为1的像素点称为奇数点,即图5c中的圆圈,圆圈所表示的像素点的χ分量与y分量满足(|x| + |y|)% 2 = 1 ;所有偶数点组成一个子区域,称为偶数点子区域,所有奇数点组成另一个子区域,称为奇数点子区域。同理,可以将区域C分成2个子区域。进一步的,在将区域B和区域C划分子区域时,还可以根据每个像素点的横坐标分量的幅度或纵坐标分量的幅度除以2得到的余数,将区域B和区域C划分子区域。编码端可以使用三种方式(横坐标分量的幅度、纵坐标分量的幅度以及横坐标分量和纵坐标分量的幅度和)中的任一种对区域B和区域C进行子区域划分,具体使用哪一种方式,可以是编码端和解码端预先预定好,也可以在编码端为每一个编码图像遍历各种子区域划分方式, 并选择使用最优的划分方式,然后在图像头中传输标识将选择的划分方式告知解码端。其中,在图5c中,网格精度为编码端设定的运动搜索精度。例如,当运动搜索精度为四分之一像素,则水平与竖直方向两个相邻网格点距离为四分之一像素间隔。若图中的像素点非整像素点,网格点处的像素值可采用各种插值方法计算得到。步骤504、编码端从区域B的2个子区域中选取一个作为待搜索子区域,从区域C 的2个子区域中也选取一个作为待搜索子区域。编码端可以根据与解码端的约定,从区域B中选取奇数点子区域作为待搜索子区域,从区域C中选取偶数点子区域作为待搜索子区域;或者从区域B中选取偶数点子区域作为待搜索子区域,从区域C中选取奇数点子区域作为待搜索子区域。也就是说,编码端为 MVPs和MVPt分别选取了一个子区域,且选取的两个子区域中像素点的坐标分量的幅度特征是不同,即必须一个是偶数点子区域,一个是奇数点子区域。当然,在编码端为MVPs和MVPt选取子区域时,可以不根据与解码端的约定,而是确定选取的规则后,将该规则发送给解码端。需要说明的是,本实施例可以使用自适应子区域划分来代替固定子区域划分。例如,编码端和解码端可以统计以前一个或多个同类型编码图像或者当前编码图像的已编码块中MVP集每一个元素(即MVPs和MVPt)的概率分布,分别统计MVPs与MVPt的使用概率, 并将使用概率大的MVP与包括像素点多的子区域相对应;例如如果MVPs使用概率显著大于MVPt使用概率,则为MVPs选择偶数点子区域(即在区域B中选择偶数点子区域作为待搜索子区域),为MVPt选择奇数点子区域;如果MVPs使用概率小于MVPt使用概率,则为MVPs 选择奇数点子区域(即在区域B中选择奇数点子区域作为待搜索子区域),为MVPt选择偶数点子区域;其中,在区域B和区域C中包含的像素点相同时,偶数点子区域中的包含的像素点的数量大于奇数点子区域中包含的像素点的数量。然后编码端将选择的MVPs和MVPt 与奇数点子区域和偶数点子区域的对应关系发送给解码端。本实施例中,在将区域B和区域C划分子区域时,可以将MVPs像素点和MVPt像素点单独处理,具体可以参见图3所示实施例步骤302中的描述。其中,将MVPs像素点和MVPt 像素点单独处理,相当于对MVD为(0,0)的情况单独处理。在该情况下,可以先统计MVD为 (0,0)的概率。具体为编码端和解码端可以统计以前一个或多个同类型编码图像或者当前编码图像的已编码块中MVD为(0,0)的概率;若MVD为(0,0)的概率大于某一预设门限值,则将MVD (0,0)作为单独的子区域处理,并将该MVD对应MVP的标识传输给解码端。步骤505、对区域B和C中的2个待搜索子区域、以及区域A、区域D进行运动估计,确定出当前块的MV。具体的运动估计方法参见图3所示实施例步骤304中的描述。若在步骤504中将MVPs像素点和MVPt像素点单独处理时,还要对MVPs像素点和 MVPt像素点进行运动估计。步骤506、根据确定的MV所指的像素点所属的区域或子区域确定所使用的MVP,然后根据MV和MVP计算得到MVD,并对该MVD进行编码后发送给解码端。具体在运动估计过程中,可以按照以下方法判断每一个像素点所属的区域,从而可以选择对应的MVP 步骤C1、以MVPs像素点与MVPt像素点的连线的中点作为坐标原点,以MVI3s像素点与MVPt像素点的连线作为χ轴,并以MVPs像素点指向MVPt像素点的方向为χ轴的方向;步骤c2、将当前像素点的向量在χ轴上作投影,即计算该像素点的χ分量,根据Χ 分量的取值判断该像素点所属的区域,具体可以分为下面几种情况若XE (-①,-2d),则该像素点属于区域A;若χ e [_2d,0),则该像素点属于区域B ;若χ e
若dp > d,则确定当前块的MV指向的区域D,则当前块的MV对应的MVP为MVPt。当确定当前块的MV指向区域B和区域C时,执行步骤603 ;当确定当前块的MV指向的区域A或区域D时,执行步骤604。其中,在步骤sl_s3的具体实现过程中,可以不计算出(!和‘,而是根据d2和1^的大小关系来判断当前块的MV指向的区域;具体为若-2d2 ^ Dp ^ 2d2,则确定当前块的MV指向待划分区域,当Dp < -2d2时,确定当前块的MV指向的区域A ;当Dp > 2d2时,确定当前块的MV指向的区域D。步骤603、解码端根据当前块的MVD,确定当前块的MV指向的子区域;然后执行步骤 604。对应于编码端奇数点子区域与偶数点子区域的划分,可按照以下方法确定MV指向的子区域若(|MVD.x| + |MVD.x|) % 2 = 0,则判断MV指向偶数点子区域;若(|MVD. x| + |MVD.x|)% 2 = 1,则判断MV指向奇数点子区域。步骤604、解码端确定当前块的MV所对应的MVP。当确定当前块的MV指向的区域A时,则可以确定当前块的MV对应MVPs ;当确定当前块的MV指向的区域D时,则可以确定当前块的MV对应MVPt。需要说明的是,根据步骤 602中,当计算出Clp < -d时,就可以获知当前块的MV对应MVPs,当计算出dp > d时,就可以获知当前块的MV对应MVPt,而无需首先判断MV指向的区域。事实上,在本发明所有实施例中,判断MV指向的区域只是逻辑上的步骤,可以不是具体实现中的步骤。关于奇数点子区域和偶数点子区域与MVf^s和MVPt的对应关系,解码端与编码端有约定,或者编码端会将该对应关系发送给解码端。由此,当确定当前块的MV指向偶数点子区域或奇数点子区域时,解码端根据约定或者编码端发送的对应关系,即可确定当前块的MV指向区域B还是指向区域C,也就可以确定当前块的MV对应的MVP。步骤605、解码端根据当前块的MVD和MVP,即可计算得到当前块的MV。在上述图fe和图6所示的实施例中,是以k = 2为例进行具体说明的。然而本发明实施例提供的方案还可以应用的k > 2的场景中,当k > 2时,编码和解码的流程与前述实施例相同,编码端具体对k个待划分区域进行子区域划分的方法,以及解码端根据当前块的MVD值确定当前块的MV对应的MVP的方法与前述k = 2时相类似。下面参见图7,对k = 3时,对参考图像的搜索区域进行区域划分的情况进行描述。 图7为本发明实施例中k = 3时区域划分方法示意图,如图7所示当前块对应3个MVP,即MVP1、MVP2和MVP3,参见图所示实施例中对参考图像的搜索区域进行区域划分的方法,根据其中任意两个MVP对该参考图像的搜索区域进行区域划分;例如将MVPl点和MVP2点连接,得到长度为2d12的线段,将该线段向两端各延长d12,然后在两端点做该线段的垂直平分线的平行线,由此将参考图像的搜索区域进行了划分,并且,对MVPl点和MVP3点,以及MVP2点和MVP3点也进行同样的处理,由此将参考图像的搜索区域进行了划分,如图7所示。其中,前述实施例中所述的待划分区域包括图7中的区域1、区域2和区域3。对于区域1、区域2和区域3可分别划分出3个子区域,具体的过程如上述各实施例中的描述。解码端根据当前块的MVD、MVP1、MVP2和MVP3,可以确定出当前块的MV指向的区域,具体的过程可以为解码端根据MVD和每两个MVP,按照图6所示实施例中的公式1_公式3,可以计算得到dp,12、dp,13和dp,23 ;dp,12为MVD在过MVPl点与MVP2点的直线上投影计算得到的数值, 该直线方向由MVPl点指向MVP2点;dp,13为MVD在过MVPl点与MVP3点的直线上投影计算得到的数值,该直线方向由MVPl点指向MVP3点;dp,23为MVD在过MVP3点与MVP2点的直线上投影计算得到的数值,该直线方向由MVP2点指向MVP3点;d12为MVPl点与MVP2点连线距离数值的一半;d13为MVPl点与MVP3点连线距离数值的一半;d23为MVP2点与MVP3点连线距离数值的一半。若‘12 < -d12,且dp,13 < -d13,则当前块的MV指向区域A,区域A对应的MVP为 MVPl ;若dp, 12 > d12,且dp,u < -d23,则当前块的MV指向区域D,区域D对应的MVP为MVP2 ·’若dp,13 > d13,且dp,23 > d23,则当前块的MV指向区域G,区域G对应的MVP为MVP3 ;若-d12彡dp,12彡d12,且-d23彡dp,23彡d23,且-d13彡dp,13彡d13,则确定当前块的 MV指向区域1、区域2和区域3组成的并集区域;此时根据当前块的MVD的χ分量幅度、y 分量幅度或者χ与y分量幅度之和除以3得到的余数可以具体确定当前块的MV指向的区域,具体参见上述实施例中的描述;若当前块的MV指向区域B、C、E、F、H、I时,dp,12、dp,13和dp,23的取值范围约束为除上述以外的其他情况,此时,解码端根据dp,12、dp,13和dp,u的取值情况的组合,可以排除一个MVP被选到的可能性。因此仅需要从每个区域分别划分出两个子区域,即可按照前述实施例中的方法区分另外两个MVP。下面以区域B和C为例进行说明。若‘13<-(113或(11),23 < -d23且-d12彡dp,12彡d12,此时判断当前块的MV指向区域B或C(即指向区域B和区域C 组成的并集区域)。可以排除MVP3,但是无法判断该MVD对应MVPl还是对应MVP2。此时, 可参见前一实施例k为2的情况,在编码端将区域B与C作为待划分区域进行处理。对应的,解码端在判断当前块的MV指向区域B或C后,可参见前一实施例k为2的情况进行处理,从而区分选择MVPl还是MVP2。本发明实施例,编码端根据待编码的当前块的MVPs和MVPt在参考图像中对应的 MVPs像素点和MVPt像素点,从参考图像的搜索区域中划分出2个待划分区域,并从2个待划分区域中划分出2个待搜索子区域,然后对每个待搜索子区域和参考图像的搜索区域的其他区域进行运动估计,若经运动估计确定出的当前块的MV对应的像素点包含在任一待搜索子区域中,则根据该MV和该MV对应的MVP,得到当前块的MVD,并将该MVD进行编码后发送给解码端;以使解码端在接收到该MVD后,根据该MVD和当前块的MVPs和MVPt,可以确定该当前块的MV指向的参考图像的区域,若当前块的MV指向2个待划分区域,则根据当前块的MVD,可以确定当前块的MV指向的子区域,然后根据该MVD和该子区域对应的MVP就可以得到当前块的MV。因此,由于解码端根据MVD就可以判断出该MVD对应的MVP,所以编码端无需将MVD对应的MVP的标识发送给解码端,从而可以降低编码开销,提高编码效率。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图8为本发明视频图像编码装置实施例一的示意图,如图8所示,该装置包括区域划分模块81、待搜索子区域划分模块83、运动估计模块85和第一计算发送模块87。区域划分模块81用于根据待编码的当前块的k个运动矢量预测值MVP在参考图像中对应的k个互不相同的MVP像素点,对参考图像的搜索区域进行区域划分。划分得到的区域中包括k个待划分区域,每个待划分区域包括一个MVP像素点,其中,k大于等于2。待搜索子区域划分模块83用于从区域划分模块81划分得到的k个待划分区域中划分出k个待搜索子区域。k个待搜索子区域与k个待划分区域一一对应。运动估计模块85用于对待搜索子区域划分模块83划分出的每个待搜索子区域和参考图像的搜索区域中除k个待划分区域以外的区域进行运动估计,确定出当前块的运动矢量MV。第一计算发送模块87用于若运动估计模块85确定的当前块的MV对应的像素点包含在任一待搜索子区域中,则根据MV和MV对应的像素点所在的待搜索子区域对应的 MVP,得到当前块的运动矢量差值MVD,并将得到的MVD进行编码后发送给解码端。本实施例用于实现图1所示的方法实施例,本实施例中各个模块的工作流程和工作原理参见上述图1所示的方法实施例中的描述,在此不再赘述。本实施例中的视频图像编码装置位于方法实施例中所述的编码端。本发明实施例,区域划分模块根据待编码的当前块的k个MVP在参考图像中对应的MVP像素点,从参考图像的搜索区域中划分出k个待划分区域,待搜索子区域划分模块从 k个待划分区域中划分出k个待搜索子区域,然后运动估计模块对每个待搜索子区域和参考图像的搜索区域的其他区域进行运动估计,若经运动估计确定出的当前块的MV对应的像素点包含在任一待搜索子区域中,则第一计算发送模块根据该MV和该MV对应的MVP,得到当前块的MVD,并将该MVD进行编码后发送给解码端;从而使得解码端根据MVD就可以判断出该MVD对应的MVP,所以编码端无需将MVD对应的MVP的标识发送给解码端,从而可以降低编码开销,提高编码效率。图9为本发明视频图像编码装置实施例二的示意图,在图8所示实施例的基础上, 如图9所示待搜索子区域划分模块83包括第一划分单元831和第一选取单元833。第一划分单元831用于从每个待划分区域划分出k个子区域。第一选取单元833 用于从第一划分单元831从每个待划分区域划分得到的k个子区域中选取一个子区域作为待划分区域对应的待搜索子区域。第一划分单元具体用于以待划分区域包括的MVP像素点为坐标原点,根据待划分区域中的每个像素点的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,从待划分区域划分出k个子区域。进一步的,第一划分单元具体用于根据待划分区域中的每个像素点的横坐标分量和纵坐标分量的幅度和、横坐标分量的幅度或纵坐标分量的幅度除以k得到的余数j,从待划分区域划分出k个子区域。其中余数j相同的像素点构成一个子区域,j = 0 k-1 ; 从任意两个待划分区域中选取的两个待搜索子区域对应的余数j互不相同。在另一种实现方式中,待搜索子区域划分模块83可以包括去除单元830、第二划分单元832和第二选取单元834。此时,运动估计模块85具体用于对每个待搜索子区域、参考图像的搜索区域中除k个待划分区域以外的区域、以及每个MVP像素点进行运动估计,确定出当前块的MV。去除单元830用于从每个待划分区域中去除MVP像素点。第二划分单元832用于从通过去除单元830去除MVP像素点的每个待划分区域划分出k个子区域。第二选取单元 834用于从第二划分单元832划分得到的k个子区域中选取一个子区域作为待划分区域对应的待搜索子区域。进一步的,该视频图像编码装置还可以包括第二计算发送模块89。第二计算发送模块89用于若确定的当前块的MV对应的像素点为任一 MVP像素点,则根据MV和MV对应的MVP像素点对应的MVP,得到当前块的MVD,并将MVD和MVD对应的MVP的标识进行编码后发送给解码端。当k等于2,当前块的k个MVP包括第一 MVP和第二 MVP时,区域划分模块81包括第一执行单元811和第二执行单元813。第一执行单元811用于连接第一 MVP像素点和第二 MVP像素点得到线段 ,将线段 分别向两端延长d得到线段a20线段 的长度为2d,第一 MVP像素点为第一 MVP在参考图像中对应的像素点,第二 MVP像素点为第二 MVP在参考图像中对应的像素点。第二执行单元813用于通过线段 的两端点分别作平行于直线I1的直线I2和13。 直线I1为线段%的垂直平分线。I1U2* I3将参考图像的搜索区域划分为区域A、区域B、区域C和区域D ;其中,区域B包括第一 MVP像素点,区域C包括第二 MVP像素点,区域B和区域C为待划分区域;区域A为区域B的邻近区域,区域D为区域C的邻近区域。进一步的,该视频图像编码装置还包括第三计算发送模块80。第三计算发送模块80用于若确定的当前块的MV对应的像素点包含在区域A或区域D中,则根据MV和MV对应的像素点所在的区域对应的MVP,得到当前块的MVD,并将得到的MVD进行编码后发送给解码端。区域A对应的MVP为第一 MVP,区域D对应的MVP为第二 MVP。本实施例用于实现上述各方法实施例,本实施例中各个模块和单元的工作流程和工作原理参见上述各方法实施例中的描述,在此不再赘述。本实施例中的视频图像编码装置位于方法实施例中所述的编码端。除了具有与图8所示的实施例相同的优点以外,本实施例中,编码端在将k个待划分区域划分子区域的过程中,还可以将k个MVP像素点先从k个待划分区域中除去,再将除去MVP像素点的待划分区域划分成子区域,然后在进行运动估计时,对每个MVP像素点都进行运动估计,由此可以提高运动估计的精度。本实施例的优点具体可以参见上述各方法实施例中的描述。图10为本发明视频图像解码装置实施例一的示意图,如图10所示,该装置包括 第一确定模块11和第二确定模块13。第一确定模块11用于根据待解码的当前块的k个MVP和解码得到的当前块的 MVD,确定当前块的MV指向的参考图像中的区域。参考图像包括k个待划分区域,每个待划分区域包括一个MVP在参考图像中对应的一个MVP像素点,其中,k大于等于2。第二确定模块13用于若第一确定模块11确定当前块的MV指向k个待划分区域,则根据当前块的MVD,确定当前块的MV指向的子区域,并根据子区域所属的待划分区域对应的MVP和MVD,得到当前块的MV。本实施例用于实现图3所示的方法实施例,本实施例中各个模块的工作流程和工作原理参见上述图3所示的方法实施例中的描述,在此不再赘述。本实施例中的视频图像解码装置位于方法实施例中的解码端。本发明实施例,接收到编码端发送的当前块的MVD后,第一确定模块根据该MVD和当前块的k个MVP,可以确定该当前块的MV指向的参考图像的区域,若当前块的MV指向k 个待划分区域,则第二确定模块根据当前块的MVD,可以确定当前块的MV指向的子区域,然后根据该MVD和该子区域对应的MVP就可以得到当前块的MV。因此,由于解码端根据MVD 就可以判断出该MVD对应的MVP,所以编码端无需将MVD对应的MVP的标识发送给解码端, 从而可以降低编码开销,提高编码效率。图11为本发明视频图像解码装置实施例二的示意图,在图10所示实施例的基础上,如图11所示第二确定模块13具体用于若第一确定模块11确定当前块的MV指向k个待划分区域,则根据当前块的MVD的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,确定当前块的MV指向的子区域,并根据子区域所属的待划分区域对应的MVP和MVD, 得到当前块的MV。进一步的,第二确定模块13具体用于若第一确定模块11确定当前块的MV指向 k个待划分区域,则根据当前块的MVD的横坐标分量和纵坐标分量的幅度和、横坐标分量的幅度或纵坐标分量的幅度除以k得到的余数,确定当前块的MV指向的子区域,并根据子区域所属的待划分区域对应的MVP和MVD,得到当前块的MV。进一步的,该视频图像解码装置还可以包括第三确定模块15。第三确定模块15用于若第一确定模块确定当前块的MVD为(0,0),则接收编码端发送的MVD对应的MVP的标识,并根据MVP的标识对应的MVP和MVD,得到当前块的MV。当k等于2,当前块的k个MVP包括第一 MVP和第二 MVP时,第一确定模块11具体可以包括第一计算单元111、第二计算单元113和第一确定单元115。第一计算单元111用于根据公式1计算得到d。公式1为:4d2 = (MVPt. X-MVPs. x)2+(MVPt. y-MVPs. y)2,其中,MVPs. χ与MVPs. y分别表示第一 MVP的横坐标分量与纵坐标分量;MVPt. χ与MVPt. y分别表示第二 MVP的横坐标分量与纵坐标分量。第二计算单元113用于根据公式2和公式3计算得到当前块的MVD在MVPs与MVPt 差值矢量上的投影 dp。公式 2 为DP = MVD. χ* (MVPt. X-MVPs. χ) +MVD. y* (MVPt. y-MVPs. y), 其中,MVD. χ与MVD. y分别表示当前块的MVD的横坐标分量与纵坐标分量。公式3为dp = Dp/2d。第一确定单元115用于若-d彡dp彡d,则确定当前块的MV指向待划分区域。进一步的,当k = 2时,第一确定模块11还可以包括第二确定单元117和第三确定单元119。第二确定单元117用于若dp < -d,则确定当前块的MV指向的区域对应的MVP为第一 MVP,并根据第一 MVP和MVD,得到当前块的MV。第三确定单元119用于若dp > d,则确定当前块的MV指向的区域对应的MVP为第二 MVP,并根据第二 MVP和MVD,得到当前块的MV。本实施例用于实现上述各方法实施例,本实施例中各个模块和单元的工作流程和工作原理参见上述各方法实施例中的描述,在此不再赘述。本实施例中的视频图像解码装置位于方法实施例中所述的解码端。除了具有与图10所示的实施例相同的优点以外,图10和图11所示的实施例在进行编解码时,由于将k个MVP像素点作为一个单独区域进行处理,能够在提高编码效率的同时,提高运动估计的精度。本实施例的优点具体可以参见上述各方法实施例中的描述。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种视频图像编码方法,其特征在于,包括根据待编码的当前块的k个运动矢量预测值MVP在参考图像中对应的k个互不相同的 MVP像素点,对所述参考图像的搜索区域进行区域划分;划分得到的区域中包括k个待划分区域,每个所述待划分区域包括一个所述MVP像素点,其中,k大于等于2 ;从所述k个待划分区域中划分出k个待搜索子区域;所述k个待搜索子区域与所述k 个待划分区域一一对应;对每个所述待搜索子区域和所述参考图像的搜索区域中除所述k个待划分区域以外的区域进行运动估计,确定出所述当前块的运动矢量MV;若确定的所述当前块的MV对应的像素点包含在任一所述待搜索子区域中,则根据所述MV和所述MV对应的像素点所在的所述待搜索子区域对应的MVP,得到所述当前块的运动矢量差值MVD ;将所述MVD进行编码后发送给解码端。
2.根据权利要求1所述的方法,其特征在于,所述从所述k个待划分区域中划分出k个待搜索子区域包括从每个所述待划分区域划分出k个子区域;从每个所述待划分区域划分得到的所述k个子区域中选取一个子区域作为所述待划分区域对应的所述待搜索子区域。
3.根据权利要求2所述的方法,其特征在于,通过以下方法从一个所述待划分区域划分出k个子区域以所述待划分区域包括的MVP像素点为坐标原点,根据所述待划分区域中的每个像素点的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,从所述待划分区域划分出k个子区域。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待划分区域中的每个像素点的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,从所述待划分区域划分出k个子区域包括根据所述待划分区域中的每个像素点的横坐标分量和纵坐标分量的幅度和、横坐标分量的幅度或纵坐标分量的幅度除以k得到的余数j,从所述待划分区域划分出k个子区域;其中余数j相同的像素点构成一个子区域,j = 0 k-Ι ;从任意两个所述待划分区域中选取的两个待搜索子区域对应的余数j互不相同。
5.根据权利要求1所述的方法,其特征在于,所述从所述k个待划分区域中划分出k个待搜索子区域包括从每个所述待划分区域中去除MVP像素点,从去除所述MVP像素点的所述k个待划分区域中划分出k个待搜索子区域;所述对每个所述待搜索子区域和所述参考图像的搜索区域中除所述k个待划分区域以外的区域进行运动估计,确定出所述当前块的MV具体包括对每个所述待搜索子区域、 所述参考图像的搜索区域中除所述k个待划分区域以外的区域、以及每个所述MVP像素点进行运动估计,确定出所述当前块的MV。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括若确定的所述当前块的MV对应的像素点为任一所述MVP像素点,则根据所述MV和所述MV对应的MVP像素点对应的MVP,得到所述当前块的MVD,并将所述MVD和所述MVD对应的MVP的标识进行编码后发送给解码端。
7.根据权利要求1-6任一所述的方法,其特征在于,k等于2,所述当前块的k个MVP包括第一 MVP和第二 MVP,所述根据待编码的当前块的k个MVP在参考图像中对应的k个互不相同的MVP像素点,对所述参考图像的搜索区域进行区域划分包括连接第一MVP像素点和第二MVP像素点得到线段 ;线段 的长度为2d ;所述第一MVP 像素点为所述第一 MVP在所述参考图像中对应的像素点,所述第二 MVP像素点为所述第二 MVP在所述参考图像中对应的像素点;将线段%分别向两端延长d得到线段% ;通过线段%的两端点分别作平行于直线I1的直线I2和I3 ;直线I1为线段%的垂直平分线;I1U2* I3将所述参考图像的搜索区域划分为区域A、区域B、区域C和区域D ;其中,所述区域B包括所述第一 MVP像素点,所述区域C包括所述第二 MVP像素点,所述区域B和区域C为所述待划分区域;所述区域A为所述区域B的邻近区域,所述区域D为所述区域C的邻近区域。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括若确定的所述当前块的MV对应的像素点包含在区域A或区域D中,则根据所述MV和所述MV对应的像素点所在的区域对应的MVP,得到所述当前块的MVD ;所述区域A对应的MVP 为所述第一 MVP,所述区域D对应的MVP为所述第二 MVP ;将所述MVD进行编码后发送给解码端。
9.一种视频图像解码方法,其特征在于,包括根据待解码的当前块的k个MVP和解码得到的所述当前块的MVD,确定所述当前块的 MV指向的参考图像中的区域;所述参考图像包括k个待划分区域,每个所述待划分区域包括一个所述MVP在所述参考图像中对应的一个MVP像素点,其中,k大于等于2 ;若所述当前块的MV指向所述k个待划分区域,则根据所述当前块的MVD,确定所述当前块的MV指向的子区域;根据所述子区域所属的待划分区域对应的MVP和所述MVD,得到所述当前块的MV。
10.根据权利要求9所述的方法,其特征在于,所述根据所述当前块的MVD,确定所述当前块的MV指向的子区域包括根据所述当前块的MVD的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,确定所述当前块的MV指向的子区域。
11.根据权利要求10所述的方法,其特征在于,所述根据所述当前块的MVD的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,确定所述当前块的MV指向的子区域包括根据所述当前块的MVD的横坐标分量和纵坐标分量的幅度和、横坐标分量的幅度或纵坐标分量的幅度除以k得到的余数,确定所述当前块的MV指向的子区域。
12.根据权利要求9-11任一所述的方法,其特征在于,所述方法还包括若所述当前块的MVD为(0,0),则接收所述MVD对应的MVP的标识,并根据所述MVP的标识对应的MVP和所述MVD,得到所述当前块的MV。
13.根据权利要求9-11任一所述的方法,其特征在于,k等于2,所述当前块的k个MVP包括第一 MVP和第二 MVP,所述根据待解码的当前块的k个MVP和解码得到的所述当前块的 MVD,确定所述当前块的MV指向的区域包括 根据公式1计算得到d ;根据公式2和公式3计算得到所述当前块的MVD在MVPs与MVPt差值矢量上的投影dp ;公式 1 为4d2 = (MVPt. X-MVPs. χ)2+ (MVPt. y-MVPs. y)2,其中,MVPs. χ 与 MVPs. y 分别表示第一 MVP的横坐标分量与纵坐标分量;MVPt. χ与MVPt. y分别表示第二 MVP的横坐标分量与纵坐标分量;公式 2 为DP = MVD. χ* (MVPt. X-MVPs. χ) +MVD. y* (MVPt. y-MVPs. y),其中,MVD. χ 与 MVD. y分别表示所述当前块的MVD的横坐标分量与纵坐标分量; 公式 3 为dp = Dp/2d ;若-d彡dp彡d,则确定所述当前块的MV指向所述待划分区域。
14.根据权利要求13所述的方法,其特征在于,还包括若dp < -d,则确定所述当前块的MV指向的区域对应的MVP为第一 MVP,并根据所述第一MVP和所述MVD,得到所述当前块的MV ;若dp > d,则确定所述当前块的MV指向的区域对应的MVP为第二 MVP,并根据所述第二MVP和所述MVD,得到所述当前块的MV。
15.根据权利要求9所述的方法,其特征在于,所述方法还包括根据与编码端预先约定或者从编码端接收的指示,获取所述子区域与所述待划分区域的对应关系。
16.一种视频图像编码装置,其特征在于,包括区域划分模块,用于根据待编码的当前块的k个运动矢量预测值MVP在参考图像中对应的k个互不相同的MVP像素点,对所述参考图像的搜索区域进行区域划分;划分得到的区域中包括k个待划分区域,每个所述待划分区域包括一个所述MVP像素点,其中,k大于等于2;待搜索子区域划分模块,用于从所述区域划分模块划分得到的所述k个待划分区域中划分出k个待搜索子区域;所述k个待搜索子区域与所述k个待划分区域一一对应;运动估计模块,用于对所述待搜索子区域划分模块划分出的每个所述待搜索子区域和所述参考图像的搜索区域中除所述k个待划分区域以外的区域进行运动估计,确定出所述当前块的运动矢量MV;第一计算发送模块,用于若所述运动估计模块确定的所述当前块的MV对应的像素点包含在任一所述待搜索子区域中,则根据所述MV和所述MV对应的像素点所在的所述待搜索子区域对应的MVP,得到所述当前块的运动矢量差值MVD,并将得到的所述MVD进行编码后发送给解码端。
17.根据权利要求16所述的视频图像编码装置,其特征在于,所述待搜索子区域划分模块包括第一划分单元,用于从每个所述待划分区域划分出k个子区域; 第一选取单元,用于从所述第一划分单元从每个所述待划分区域划分得到的所述k个子区域中选取一个子区域作为所述待划分区域对应的所述待搜索子区域。
18.根据权利要求17所述的视频图像编码装置,其特征在于,所述第一划分单元具体用于以所述待划分区域包括的MVP像素点为坐标原点,根据所述待划分区域中的每个像素点的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,从所述待划分区域划分出k个子区域。
19.根据权利要求18所述的视频图像编码装置,其特征在于,所述第一划分单元具体用于根据所述待划分区域中的每个像素点的横坐标分量和纵坐标分量的幅度和、横坐标分量的幅度或纵坐标分量的幅度除以k得到的余数j,从所述待划分区域划分出k个子区域;其中余数j相同的像素点构成一个子区域,j = 0 k-1 ;从任意两个所述待划分区域中选取的两个待搜索子区域对应的余数j互不相同。
20.根据权利要求16所述的视频图像编码装置,其特征在于, 所述待搜索子区域划分模块包括去除单元,用于从每个所述待划分区域中去除MVP像素点;第二划分单元,用于从去除所述MVP像素点的每个所述待划分区域划分出k个子区域;第二选取单元,用于从所述第二划分单元划分得到的所述k个子区域中选取一个子区域作为所述待划分区域对应的所述待搜索子区域;所述运动估计模块具体用于对每个所述待搜索子区域、所述参考图像的搜索区域中除所述k个待划分区域以外的区域、以及每个所述MVP像素点进行运动估计,确定出所述当前块的MV。
21.根据权利要求20所述的视频图像编码装置,其特征在于,所述装置还包括 第二计算发送模块,用于若确定的所述当前块的MV对应的像素点为任一所述MVP像素点,则根据所述MV和所述MV对应的MVP像素点对应的MVP,得到所述当前块的MVD,并将所述MVD和所述MVD对应的MVP的标识进行编码后发送给解码端。
22.根据权利要求16-21任一所述的视频图像编码装置,其特征在于,k等于2,所述当前块的k个MVP包括第一 MVP和第二 MVP,所述区域划分模块包括第一执行单元,用于连接第一 MVP像素点和第二 MVP像素点得到线段 ,将线段 分别向两端延长d得到线段 ;线段 的长度为2d,所述第一 MVP像素点为所述第一 MVP在所述参考图像中对应的像素点,所述第二 MVP像素点为所述第二 MVP在所述参考图像中对应的像素点;第二执行单元,用于通过线段%的两端点分别作平行于直线I1的直线I2和I3 ;直线I1 为线段 的垂直平分线;I1U2* I3将所述参考图像的搜索区域划分为区域A、区域B、区域C和区域D ;其中,所述区域B包括所述第一 MVP像素点,所述区域C包括所述第二 MVP像素点,所述区域B和区域C为所述待划分区域;所述区域A为所述区域B的邻近区域,所述区域D为所述区域C的邻近区域。
23.根据权利要求22所述的视频图像编码装置,其特征在于,所述装置还包括 第三计算发送模块,用于若确定的所述当前块的MV对应的像素点包含在区域A或区域D中,则根据所述MV和所述MV对应的像素点所在的区域对应的MVP,得到所述当前块的MVD,并将得到的所述MVD进行编码后发送给解码端;所述区域A对应的MVP为所述第一 MVP,所述区域D对应的MVP为所述第二 MVP。
24.一种视频图像解码装置,其特征在于,包括第一确定模块,用于根据待解码的当前块的k个MVP和解码得到的所述当前块的MVD, 确定所述当前块的MV指向的参考图像中的区域;所述参考图像包括k个待划分区域,每个所述待划分区域包括一个所述MVP在所述参考图像中对应的一个MVP像素点,其中,k大于等于2;第二确定模块,用于若所述第一确定模块确定所述当前块的MV指向所述k个待划分区域,则根据所述当前块的MVD,确定所述当前块的MV指向的子区域,并根据所述子区域所属的待划分区域对应的MVP和所述MVD,得到所述当前块的MV。
25.根据权利要求M所述的视频图像解码装置,其特征在于,所述第二确定模块具体用于若所述第一确定模块确定所述当前块的MV指向所述k个待划分区域,则根据所述当前块的MVD的横坐标分量和纵坐标分量、横坐标分量或纵坐标分量的数值特征,确定所述当前块的MV指向的子区域,并根据所述子区域所属的待划分区域对应的MVP和所述MVD,得到所述当前块的MV。
26.根据权利要求25所述的视频图像解码装置,其特征在于,所述第二确定模块具体用于若所述第一确定模块确定所述当前块的MV指向所述k个待划分区域,则根据所述当前块的MVD的横坐标分量和纵坐标分量的幅度和、横坐标分量的幅度或纵坐标分量的幅度除以k得到的余数,确定所述当前块的MV指向的子区域,并根据所述子区域所属的待划分区域对应的MVP和所述MVD,得到所述当前块的MV。
27.根据权利要求M46任一所述的视频图像解码装置,其特征在于,所述装置还包括第三确定模块,用于若所述第一确定模块确定所述当前块的MVD为(0,0),则接收所述 MVD对应的MVP的标识,并根据所述MVP的标识对应的MVP和所述MVD,得到所述当前块的 MV。
28.根据权利要求M46任一所述的视频图像解码装置,其特征在于,k等于2,所述当前块的k个MVP包括第一 MVP和第二 MVP,所述第一确定模块包括第一计算单元,用于根据公式1计算得到d ;第二计算单元,用于根据公式2和公式3计算得到所述当前块的MVD在MVPs与MVPt 差值矢量上的投影dp ;第一确定单元,用于若-d彡dp彡d,则确定所述当前块的MV指向所述待划分区域; 公式 1 为4d2 = (MVPt. X-MVPs. χ)2+ (MVPt. y-MVPs. y)2,其中,MVPs. χ 与 MVPs. y 分别表示第一 MVP的横坐标分量与纵坐标分量;MVPt. χ与MVPt. y分别表示第二 MVP的横坐标分量与纵坐标分量;公式 2 为DP = MVD. χ* (MVPt. X-MVPs. χ) +MVD. y* (MVPt. y-MVPs. y),其中,MVD. χ 与 MVD. y分别表示所述当前块的MVD的横坐标分量与纵坐标分量; 公式 3 为dp = Dp/2d。
29.根据权利要求观所述的视频图像解码装置,其特征在于,所述第一确定模块还包括第二确定单元,用于若dp < -d,则确定所述当前块的MV指向的区域对应的MVP为第一 MVP,并根据所述第一 MVP和所述MVD,得到所述当前块的MV ;第三确定单元,用于若dp > d,则确定所述当前块的MV指向的区域对应的MVP为第二 MVP,并根据所述第二 MVP和所述MVD,得到所述当前块的MV。
全文摘要
本发明实施例提供一种视频图像编码方法、解码方法和装置,该编码方法包括根据待编码的当前块的k个MVP在参考图像中对应的k个MVP像素点,对参考图像的搜索区域进行区域划分;从k个待划分区域中划分出k个待搜索子区域;对每个待搜索子区域和参考图像的搜索区域中除k个待划分区域以外的区域进行运动估计,确定出当前块的MV;若确定的当前块的MV对应的像素点包含在任一待搜索子区域中,则根据MV和MV对应的MVP,得到当前块的MVD;将MVD编码后发送给解码端。本发明实施例提供的编码方法,使得解码端根据MVD就可以判断出该MVD对应的MVP,所以编码端无需将MVD对应的MVP的标识发送给解码端,从而可以提高编码效率。
文档编号H04N7/26GK102447894SQ20101050228
公开日2012年5月9日 申请日期2010年9月30日 优先权日2010年9月30日
发明者刘猛, 李厚强 申请人:中国科学技术大学, 华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1