运动矢量获取的方法及设备与流程

文档序号:16278189发布日期:2018-12-14 22:43阅读:307来源:国知局
运动矢量获取的方法及设备与流程

本发明涉及信息处理领域,更具体地,涉及一种运动矢量获取的方法及设备。

背景技术

在视频中,时(间)域相邻块和空(间)域相邻块与当前编码块之间在内容上有很强的相关性,因此他们的运动矢量也有很强的相关性。因此,当前编码块的运动矢量可以参考时域和空域相邻块的运动矢量进行导出以节省直接传输运动矢量的码率开销,提高编码效率。在avs2-3d视频编码标准中,对于采用了skip/direct模式编码的当前编码块,会参考其空域和时域相邻块的运动矢量直接导出当前编码块的运动矢量,在一定程度上提高了编码效率。

在多视点加深度(multi-viewplusdepth)视频中,至少包含一个基本视点和一个依赖视点,每一个视点包括至少两个层,即纹理层和深度层。对于当前纹理层图像,与其对应的深度层图像表示了当前图像中场景的深度信息。对于包含多层(纹理层和深度层)信息的视频,当前图像和与其对应的不同层的图像(层间对应图像)是对同一个场景采集得到,在内容特性上有较强的相关性,所以,当前编码块和层间对应图像中对应的编码块(层间对应块)的运动矢量也会有较强的相关性。avs2-3d视频编码标准的skip/direct模式只参考了当前编码块的时域相邻块和空域相邻块导出当前编码块的运动矢量,并没有考虑到层间(纹理层和深度层之间)的相关性,没有参考层间对应块中的运动矢量。这种方法忽视了层间对应块中的运动矢量信息,因此,其编码效率还存在提升的空间。

有鉴于此,有必要提供一种能够解决上述技术问题的运动矢量获取的方法及设备。



技术实现要素:

本发明的目的在于:克服现有技术的不足,提供一种运动矢量获取的方法及设备,利用该运动矢量获取方法及设备编码和解码得到的视频压缩效率高、传输码率开销小、编码效率高。

为了实现上述目的,本发明提供了一种运动矢量获取方法,其包括以下步骤:

参考当前处理块的层间对应块,确定至少一个层间参考块;

根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量。

优选地,所述参考当前处理块的层间对应块,确定至少一个层间参考块,包括:参考当前处理块的层间对应块内的若干个位置的块,确定若干个层间参考块。

优选地,所述参考当前处理块的层间对应块内的若干个位置的块,确定若干个层间参考块,包括:参考当前处理块的层间对应块内的一个预定位置的块,确定一个层间参考块。

优选地,所述参考当前处理块的层间对应块内的若干个位置的块,确定若干个层间参考块,包括:参考当前处理块的层间对应块内的n个预定位置的块,确定n个层间参考块,其中n为不小于2的整数。

优选地,所述参考当前处理块的层间对应块内的若干个位置的块,确定若干个层间参考块,包括:参考当前处理块的层间对应块内的采用了帧间编码模式的n个位置的块,确定n个层间参考块,其中n为正整数。

优选地,所述参考当前处理块的层间对应块内的若干个位置的块,确定若干个层间参考块,包括:以预定顺序搜索当前处理块的层间对应块内的若干个位置的块,当搜索到任一位置的块采用了帧间编码模式时停止搜索,参考该位置的块确定一个层间参考块。

优选地,所述参考当前处理块的层间对应块内的若干个位置的块,确定若干个层间参考块,包括:

以预定顺序搜索当前处理块的层间对应块内的若干个位置的块;

若搜索到任一位置的块的预测模式与当前处理块的预测模式相同,则停止搜索,并参考该位置的块确定层间参考块;

若未搜索到预测模式与当前处理块预测模式相同的块,则以预定顺序重新搜索当前处理块的层间对应块内的若干个位置的块,当搜索到任一位置的块具有与待导出层间参考块运动矢量类型相同的运动矢量时,则停止搜索,并参考该位置的块确定层间参考块。

优选地,所述参考当前处理块的层间对应块内的若干个位置的块,确定若干个层间参考块,包括:参考当前处理块的层间对应块内的若干个位置的块的运动矢量,确定若干个层间参考块的运动矢量。

优选地,所述参考当前处理块的层间对应块内的若干个位置的块的运动矢量,确定若干个层间参考块的运动矢量,包括:若当前处理块的层间对应块内一个位置的块的运动矢量m为符合当前处理图像合法类型的运动矢量,则根据该运动矢量m导出一个层间参考块的运动矢量。

优选地,

若当前处理图像为单前向帧间预测图像,则所述符合当前处理图像合法类型的运动矢量包括前向运动矢量和第一运动矢量;

若当前处理图像为双前向帧间预测图像,则所述符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和第二运动矢量;

若当前处理图像为双向帧间预测图像,则所述符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和后向运动矢量。

优选地,所述参考当前处理块的层间对应块内的若干个位置的块的运动矢量,确定若干个层间参考块的运动矢量,包括:

确定层间参考块的预测模式;

对于层间参考块的每一个待导出运动矢量,若层间对应块内一个位置的块存在与所述待导出运动矢量类型相同的运动矢量k,则根据运动矢量k导出所述待导出运动矢量;否则,根据层间对应块内所述位置的块的与所述待导出运动矢量类型不同的运动矢量,导出所述待导出运动矢量。

优选地,确定当前处理块的预测模式为层间参考块的预测模式。

优选地,所述参考当前处理块的层间对应块内的若干个位置的块的运动矢量,确定若干个层间参考块的运动矢量,包括:根据距离a与距离b对所述层间对应块内一个位置的块的运动矢量作缩放操作后得到一个层间参考块的运动矢量,其中,距离a为当前处理图像与所述层间参考块的帧间参考图像之间的距离,距离b为层间对应图像与所述层间对应块内一个位置的块的帧间参考图像之间的距离,所述层间对应块内一个位置的块与所述层间参考块相对应。

优选地,所述位置的方位包括左上角、右上角、左下角、右下角和中心点。

优选地,所述相邻块包括时域相邻块和/或空域相邻块。

优选地,所述根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量,包括:根据当前处理块的预测模式,并参考所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量。

优选地,所述预测模式的种类包括前向预测模式、后向预测模式、单前向预测模式、双向预测模式、对称预测模式和双前向预测模式中的至少一项。

为了实现上述目的,本发明还提供了一种视频编码方法,其包括上述的步骤,以及以下步骤:

根据所确定的当前处理块的运动矢量对当前处理块进行帧间预测并编码,该步骤在根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量的步骤完成之后进行。

为了实现上述目的,本发明还提供了一种视频解码方法,其包括上述的步骤,以及以下步骤:

根据所确定的当前处理块的运动矢量对当前处理块进行运动补偿并解码,该步骤在根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量的步骤完成之后进行。

为了实现上述目的,本发明还提供了一种运动矢量获取设备,其包括:

参考块导出模块,用于参考当前处理块的层间对应块,确定至少一个层间参考块;

运动矢量导出模块,用于根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量。

为了实现上述目的,本发明还提供了一种视频编码器,其包括:

参考块导出模块,用于参考当前处理块的层间对应块,确定至少一个层间参考块;

运动矢量导出模块,用于根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量;

帧间预测模块,用于根据所确定的当前处理块的运动矢量对当前处理块进行帧间预测并编码。

为了实现上述目的,本发明还提供了一种视频解码器,其包括:

参考块导出模块,用于参考当前处理块的层间对应块,确定至少一个层间参考块;

运动矢量导出模块,用于根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量;

运动补偿模块,用于根据所确定的当前处理块的运动矢量对当前处理块进行运动补偿并解码。

与现有技术相比,本发明的技术效果包括:

第一,在导出当前处理块的运动矢量时,参考了层间对应块的信息,利用多层视频中的层间相关性,显著提高了视频压缩编码的效率。

第二,同时利用层间对应块、时域相邻块和空域相邻块的信息导出运动矢量,极大提高了运动矢量导出的准确度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明运动矢量获取方法的流程图;

图2为本发明视频编码方法的流程图;

图3为本发明视频解码方法的流程图;

图4为本发明运动矢量获取设备的模块框图;

图5为本发明视频编码器的模块框图;

图6为本发明视频解码器的模块框图。

具体实施方式

为了使本技术领域的人员更好地理解本披露方案,下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述。

在本披露的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。

本披露揭示的方法和设备可以在多层(包括纹理层和深度层)视频的编码和解码过程中应用。

请参阅图1,本披露运动矢量获取方法包括以下步骤:

步骤101,参考当前处理块的层间对应块,确定至少一个层间参考块;

步骤102,根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量。

请参阅图2,本披露视频编码方法包括以下步骤:

步骤201,参考当前处理块的层间对应块,确定至少一个层间参考块;

步骤202,根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量;

步骤203,根据所确定的当前处理块的运动矢量对当前处理块进行编码。

请参阅图3,本披露视频解码方法包括以下步骤:

步骤301,参考当前处理块的层间对应块,确定至少一个层间参考块;

步骤302,根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量;

步骤303,根据所确定的当前处理块的运动矢量对当前处理块进行解码。

在本披露中,采用前向预测模式的块和采用单前向预测模式的块分别拥有一个前向运动矢量,采用后向预测模式的块拥有一个后向运动矢量,采用双向预测模式的块和采用对称预测模式的块分别拥有一个前向运动矢量和一个后向运动矢量,采用双前向预测模式的块拥有一个第一运动矢量和一个第二运动矢量,采用帧内预测模式的块无运动矢量。下面通过几个实施例介绍本披露运动矢量获取方法、视频编码方法与视频解码方法的实施过程。

实施例一

在当前处理块的层间对应块内,编码器(或解码器)使用某一个固定位置的块t’导出一个层间参考块t。该固定位置包括但不限于层间对应块内的左上角、右上角、左下角、右下角和中心点。

该层间参考块t的运动矢量通过以下方式得到。

对于t’的每一个运动矢量,如果该t’的运动矢量为符合当前处理图像合法类型的运动矢量,则根据该t’的运动矢量导出t的相应类型的运动矢量。例如,如果当前处理图像是单前向帧间预测图像(p图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量和第一运动矢量;如果当前图像是双前向帧间预测图像(f图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和第二运动矢量;如果当前图像是双向帧间预测图像(b图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和后向运动矢量。在这里可以认为前向运动矢量和第一运动矢量属于同类型的运动矢量。

具体地,可以根据距离a与距离b对t’的运动矢量作缩放操作后得到t的运动矢量。距离a为当前处理图像与t的帧间参考图像之间的距离,距离b为层间对应图像与t’的帧间参考图像之间的距离。其中,t的帧间参考图像的导出方法可以由解码端规定。

编码器(或解码器)确定了层间参考块t的运动矢量之后,根据当前处理块的预测模式,并参考层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,通过某种预设的方法导出当前处理块的运动矢量。其中,其他相邻块可以为时域相邻块和/或空域相邻块,预测模式的种类包括前向预测模式、后向预测模式、单前向预测模式、双向预测模式、对称预测模式、双前向预测模式中的至少一项。

对于编码的情况,上述的当前处理块即指当前编码块。编码器获得当前编码块的运动矢量后,根据当前编码块的运动矢量对当前编码块进行帧间预测并编码。

对于解码的情况,上述的当前处理块即指当前解码块。解码器获得当前解码块的运动矢量后,根据当前解码块的运动矢量对当前解码块进行运动补偿并解码。

实施例二

在当前处理块的层间对应块内,编码器(或解码器)使用若干个位置的块导出一个层间参考块t。该若干个位置包括但不限于层间对应块内的左上角、右上角、左下角、右下角和中心点。编码器(或解码器)按照预定的顺序搜索各个可能的位置(即对应层间对应块内的若干个位置的块),当搜索到某个位置的块采用了帧间编码模式时停止搜索,根据该位置的块(记为t’)确定一个层间参考块t。

该层间参考块t的运动矢量通过以下方式得到。

对于t’的每一个运动矢量,如果该t’的运动矢量为符合当前处理图像合法类型的运动矢量,则根据该t’的运动矢量导出t的相应类型的运动矢量。例如,如果当前处理图像是单前向帧间预测图像(p图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量和第一运动矢量;如果当前图像是双前向帧间预测图像(f图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和第二运动矢量;如果当前图像是双向帧间预测图像(b图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和后向运动矢量。在这里可以认为前向运动矢量和第一运动矢量属于同类型的运动矢量。

具体地,可以根据距离a与距离b对t’的运动矢量作缩放操作后得到t的运动矢量。距离a为当前处理图像与t的帧间参考图像之间的距离,距离b为层间对应图像与t’的帧间参考图像之间的距离。其中,t的帧间参考图像的导出方法可以由编码器和解码器任意约定。

编码器(或解码器)确定了层间参考块t的运动矢量之后,根据当前处理块的预测模式,并参考层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,通过某种预设的方法导出当前处理块的运动矢量。其中,其他相邻块可以为时域相邻块和/或空域相邻块,预测模式的种类包括前向预测模式、后向预测模式、单前向预测模式、双向预测模式、对称预测模式、双前向预测模式中的至少一项。

对于编码的情况,上述的当前处理块即指当前编码块。编码器获得当前编码块的运动矢量后,根据当前编码块的运动矢量对当前编码块进行帧间预测并编码。

对于解码的情况,上述的当前处理块即指当前解码块。解码器获得当前解码块的运动矢量后,根据当前解码块的运动矢量对当前解码块进行运动补偿并解码。

实施例三

在当前处理块的层间对应块内,编码器(或解码器)使用n个固定位置的块t’i(i=1,2,…,n)导出n个层间参考块ti(i=1,2,…,n),其中n为大于等于2的整数。该n个固定位置包括但不限于层间对应块内的左上角、右上角、左下角、右下角和中心点。

该n个层间参考块ti(i=1,2,…,n)的运动矢量通过以下方式得到。

对于对应的t’i的每一个运动矢量,如果该t’i的运动矢量为符合当前处理图像合法类型的运动矢量,则根据该t’i的运动矢量导出ti的相应类型的运动矢量。例如,如果当前处理图像是单前向帧间预测图像(p图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量和第一运动矢量;如果当前图像是双前向帧间预测图像(f图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和第二运动矢量;如果当前图像是双向帧间预测图像(b图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和后向运动矢量。在这里可以认为前向运动矢量和第一运动矢量属于同类型的运动矢量。

具体地,可以根据距离a与距离b对t’i的运动矢量作缩放操作后得到ti的运动矢量。距离a为当前处理图像与ti的帧间参考图像之间的距离,距离b为层间对应图像与t’i的帧间参考图像之间的距离。其中,ti的帧间参考图像的导出方法可以由编码器和解码器任意约定。

编码器(或解码器)确定了层间参考块ti(i=1,2,…,n)的运动矢量之后,根据当前处理块的预测模式,并参考层间参考块ti(i=1,2,…,n)的运动矢量、以及当前处理块的其它相邻块的运动矢量,通过某种预设的方法导出当前处理块的运动矢量。其中,其他相邻块可以为时域相邻块和/或空域相邻块,预测模式的种类包括前向预测模式、后向预测模式、单前向预测模式、双向预测模式、对称预测模式、双前向预测模式中的至少一项。

对于编码的情况,上述的当前处理块即指当前编码块。编码器获得当前编码块的运动矢量后,根据当前编码块的运动矢量对当前编码块进行帧间预测并编码。

对于解码的情况,上述的当前处理块即指当前解码块。解码器获得当前解码块的运动矢量后,根据当前解码块的运动矢量对当前解码块进行运动补偿并解码。

实施例四

在当前处理块的层间对应块内,编码器(或解码器)使用n个固定位置的块t’i(i=1,2,…,n)导出若干个层间参考块tj(j=1,2,…,m),其中n为大于等于2的整数,m小于等于n。该n个固定位置包括但不限于层间对应块内的左上角、右上角、左下角、右下角和中心点。具体地,在n个固定位置的块t’i(i=1,2,…,n)中的任何一个块t’i,如果t’i采用了帧间编码模式,则编码器(或解码器)使用该块导出一个层间参考块tj。

若干个层间参考块tj(j=1,2,…,m)的运动矢量通过以下方式得到。

对于对应的t’i的每一个运动矢量,如果该t’i的运动矢量为符合当前处理图像合法类型的运动矢量,则根据该t’i的运动矢量导出tj的相应类型的运动矢量。例如,如果当前处理图像是单前向帧间预测图像(p图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量和第一运动矢量;如果当前图像是双前向帧间预测图像(f图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和第二运动矢量;如果当前图像是双向帧间预测图像(b图像),则符合当前处理图像合法类型的运动矢量包括前向运动矢量、第一运动矢量和后向运动矢量。在这里可以认为前向运动矢量和第一运动矢量属于同类型的运动矢量。

具体地,可以根据距离a与距离b对t’i的运动矢量作缩放操作后得到tj的运动矢量。距离a为当前处理图像与tj的帧间参考图像之间的距离,距离b为层间对应图像与t’i的帧间参考图像之间的距离。其中,tj的帧间参考图像的导出方法可以由编码器和解码器任意约定。

编码器(或解码器)确定了层间参考块tj(j=1,2,…,m)的运动矢量之后,根据当前处理块的预测模式,并参考层间参考块tj(j=1,2,…,m)的运动矢量、以及当前处理块的其它相邻块的运动矢量,通过某种预设的方法导出当前处理块的运动矢量。其中,其他相邻块可以为时域相邻块和/或空域相邻块,预测模式的种类包括前向预测模式、后向预测模式、单前向预测模式、双向预测模式、对称预测模式、双前向预测模式中的至少一项。

对于编码的情况,上述的当前处理块即指当前编码块。编码器获得当前编码块的运动矢量后,根据当前编码块的运动矢量对当前编码块进行帧间预测并编码。

对于解码的情况,上述的当前处理块即指当前解码块。解码器获得当前解码块的运动矢量后,根据当前解码块的运动矢量对当前解码块进行运动补偿并解码。

实施例五

在当前处理块的层间对应块内,编码器(或解码器)使用某一个固定位置的块t’导出一个层间参考块t。该固定位置包括但不限于层间对应块内的左上角、右上角、左下角、右下角和中心点。如果t’中存在运动矢量,则把t的预测模式设置为当前处理块的预测模式。

该层间参考块t的运动矢量通过以下方式得到。

对于t的每一个待导出运动矢量c,如果t’中存在与其类型相同的运动矢量d,则根据运动矢量d导出运动矢量c;否则,如果t’中不存在与运动矢量c类型相同的运动矢量d,则根据t’的与运动矢量c类型不同的运动矢量导出运动矢量c。在这里可以认为前向运动矢量和第一运动矢量属于同类型的运动矢量。

具体地,可以根据距离a与距离b对t’的运动矢量作缩放操作后得到t的运动矢量。距离a为当前处理图像与t的帧间参考图像之间的距离,距离b为层间对应图像与t’的帧间参考图像之间的距离。其中,t的帧间参考图像的导出方法可以由编码器和解码器任意约定。

编码器(或解码器)确定了层间参考块t的运动矢量之后,根据当前处理块的预测模式,并参考层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,通过某种预设的方法导出当前处理块的运动矢量。其中,其他相邻块可以为时域相邻块和/或空域相邻块,预测模式的种类包括前向预测模式、后向预测模式、单前向预测模式、双向预测模式、对称预测模式、双前向预测模式中的至少一项。

对于编码的情况,上述的当前处理块即指当前编码块。编码器获得当前编码块的运动矢量后,根据当前编码块的运动矢量对当前编码块进行帧间预测并编码。

对于解码的情况,上述的当前处理块即指当前解码块。解码器获得当前解码块的运动矢量后,根据当前解码块的运动矢量对当前解码块进行运动补偿并解码。

实施例六

在当前处理块的层间对应块内,编码器(或解码器)使用若干个位置的块导出一个层间参考块t。该若干个位置包括但不限于层间对应块内的左上角、右上角、左下角、右下角和中心点。编码器(或解码器)按照预定的顺序搜索各个可能的位置(即对应层间对应块内的若干个位置的块),当搜索到某个位置的块(记为t’)采用了帧间编码模式时停止搜索,根据t’确定一个层间参考块t。如果t’中存在运动矢量,则把t的预测模式设置为当前处理块的预测模式。

该层间参考块t的运动矢量通过以下方式得到。

对于t的每一个待导出运动矢量c,如果t’中存在与其类型相同的运动矢量d,则根据运动矢量d导出运动矢量c;否则,如果t’中不存在与运动矢量c类型相同的运动矢量d,则根据t’的与运动矢量c类型不同的运动矢量导出运动矢量c。在这里可以认为前向运动矢量和第一运动矢量属于同类型的运动矢量。

具体地,可以根据距离a与距离b对t’的运动矢量作缩放操作后得到t的运动矢量。距离a为当前处理图像与t的帧间参考图像之间的距离,距离b为层间对应图像与t’的帧间参考图像之间的距离。其中,t的帧间参考图像的导出方法可以由编码器和解码器任意约定。

编码器(或解码器)确定了层间参考块t的运动矢量之后,根据当前处理块的预测模式,并参考层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,通过某种预设的方法导出当前处理块的运动矢量。其中,其他相邻块可以为时域相邻块和/或空域相邻块,预测模式的种类包括前向预测模式、后向预测模式、单前向预测模式、双向预测模式、对称预测模式、双前向预测模式中的至少一项。

对于编码的情况,上述的当前处理块即指当前编码块。编码器获得当前编码块的运动矢量后,根据当前编码块的运动矢量对当前编码块进行帧间预测并编码。

对于解码的情况,上述的当前处理块即指当前解码块。解码器获得当前解码块的运动矢量后,根据当前解码块的运动矢量对当前解码块进行运动补偿并解码。

实施例七

在当前处理块的层间对应块内,编码器(或解码器)使用若干个位置的块导出一个层间参考块t。该若干个位置包括但不限于层间对应块内的左上角、右上角、左下角、右下角和中心点。t的预测模式设置为当前处理块的预测模式。

该层间参考块t的运动矢量通过以下方式得到。

编码器(或解码器)按照预定的顺序搜索各个可能的位置(即对应层间对应块内的若干个位置的块),若搜索到某个位置的块(记为t’)的预测模式与当前处理块的预测模式相同时停止搜索,根据t’的运动矢量确定层间参考块t的运动矢量。若编码器(或解码器)按照预定的顺序搜索各个可能的位置(即层间对应块内的若干个位置的块)后,未发现有预测模式与当前处理块预测模式相同的块,则对于t的每一个待导出运动矢量c,以预定顺序重新搜索各个可能的位置(即层间对应块内的若干个位置的块),当搜索到某个位置的块(记为t”)具有与运动矢量c类型相同的运动矢量d时,则停止搜索,并根据运动矢量d确定运动矢量c。

具体地,可以根据距离a与距离b对t’/t”的运动矢量作缩放操作后得到t的运动矢量。距离a为当前处理图像与t的帧间参考图像之间的距离,距离b为层间对应图像与t’/t”的帧间参考图像之间的距离。其中,t的帧间参考图像的导出方法可以由编码器和解码器任意约定。

编码器(或解码器)确定了层间参考块t的运动矢量之后,根据当前处理块的预测模式,并参考层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,通过某种预设的方法导出当前处理块的运动矢量。其中,其他相邻块可以为时域相邻块和/或空域相邻块,上述的预测模式的种类包括前向预测模式、后向预测模式、单前向预测模式、双向预测模式、对称预测模式、双前向预测模式中的至少一项。

对于编码的情况,上述的当前处理块即指当前编码块。编码器获得当前编码块的运动矢量后,根据当前编码块的运动矢量对当前编码块进行帧间预测并编码。

对于解码的情况,上述的当前处理块即指当前解码块。解码器获得当前解码块的运动矢量后,根据当前解码块的运动矢量对当前解码块进行运动补偿并解码。

请参阅图4,本披露的运动矢量获取设备包括:

参考块导出模块11,用于参考当前处理块的层间对应块,确定至少一个层间参考块;

运动矢量导出模块12,用于根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量。

参考块导出模块11、运动矢量导出模块12的工作过程分别对应于本披露运动矢量获取方法的步骤101、102,此处不再赘述。

请参阅图5,本披露的视频编码器包括:

参考块导出模块21,用于参考当前处理块的层间对应块,确定至少一个层间参考块;

运动矢量导出模块22,用于根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量;

帧间预测模块23,用于根据所确定的当前处理块的运动矢量对当前处理块进行编码。

参考块导出模块21、运动矢量导出模块22、帧间预测模块23的工作过程分别对应于本披露视频编码方法的步骤201、202、203,此处不再赘述。

请参阅图6,本披露的视频解码器包括:

参考块导出模块31,用于参考当前处理块的层间对应块,确定至少一个层间参考块;

运动矢量导出模块32,用于根据所确定的层间参考块的运动矢量、以及当前处理块的其它相邻块的运动矢量,确定当前处理块的运动矢量;

运动补偿模块33,用于根据所确定的当前处理块的运动矢量对当前处理块进行解码。

参考块导出模块31、运动矢量导出模块32、运动补偿模块33的工作过程分别对应于本披露视频解码方法的步骤301、302、303,此处不再赘述。

结合以上对本披露的详细描述可以看出,与现有技术相比,本披露至少具有以下有益的技术效果:

第一,通过参考层间对应块的运动矢量信息导出当前处理块的运动矢量,层间参考块的预测模式能根据需要灵活地构造,由于层间对应块与当前处理块在帧间运动上有很强的相关性,因此可以实现更为精确的帧间预测,去除更多的图像间冗余信息,显著提高视频压缩编码和解码的效率。

第二,同时利用层间对应块、时域相邻块和空域相邻块的信息导出运动矢量,极大提高了运动矢量导出的精准度。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本披露各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

以上对本披露所提供的方法和装置进行了详细介绍,对于本领域的一般技术人员,依据本披露实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本披露的限制。

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