一种帧间预测编解码方法及装置的制作方法

文档序号:7682638阅读:73来源:国知局

专利名称::一种帧间预测编解码方法及装置的制作方法
技术领域
:本发明涉及视频编码技术,特别涉及一种帧间预测编解码方法及装置。
背景技术
:在基于混合编码技术的视频编码中,帧间预测技术得到了广泛应用。所谓帧间预测是指利用数据的时间冗余,即活动图像序列中相邻帧之间的像素存在的相关性,根据相邻帧进行图像预测的技术。根据统计,在前后两帧运动图像中,只有不超过10%的像素的亮度值发生的改变超过2%,色度值改变则更少。目前,基于运动补偿的帧间预测技术的变化体现在参考帧数、参考方向、像素精度以及块大小划分的不同上。其主要技术点包括1、釆用不同大小的匹配块,如16x16的宏块,或者,将16x16的宏块进一步划分为更小的块,如大小为16x8、8x16、8x8以及4x4等的块,以进行运动匹配搜索;2、运动向量精度和像素插值,运动估计包括整像素运动估计和非整像素运动估计,非整像素运动估计又包括半像素和四分之一像素运动估计;3、参考帧,可分为前向参考帧和后向参考帧,或者单参考帧和多参考帧;4、运动矢量(MV)预测,利用已编码的运动矢量来预测当前运动矢量,然后传输当前矢量和预测矢量的差值。在帧间预测技术的基础上,目前,国际上主要的一见频编码标准和正在制定的编码标准,如H.264、数字音视频编解码技术标准工作组(AVS)、H.264可升级视频编码(SVC)以及H.264多视角视频编码(MVC)等中,均提出了基于运动补偿的帧间预测技术,该技术能够极大地提高编码效率。在具有运动补偿的帧间预测中,在编码端,利用运动估计技术,得到用于运动补偿的运动矢量信息,并将该运动矢量信息写入到编码码流中传送给解码端;其中,编码端发送的码流中还将进一步包括宏块类型以及残差信息;解码端利用从码流中解码出来的运动矢量信息进行运动补偿,从而解码图像。在利用帧间预测技术编码的图像码流中,运动矢量信息占用了很大一部分码流。图1为现有基于运动补偿的帧间预测技术实现示意图。如图l所示,输入帧经过变换计算、量化、逆量化以及逆变换等过程,存储到帧存储器中;随后时刻,系统根据帧存储器存储的前一帧对当前输入的帧进行运动估计,得到运动矢量,其中,运动估计过程可采用现有技术中的任何一种运动估计算法进行;根据运动估计结果进行运动补偿;对运动补偿后的结果进行变换计算、量化以及编码等过程,输出到解码端。现有技术中定义了多种基于运动补偿的帧间预测技术,比如,在现有H.264/高级视频编码(AVC)的帧间预测中,根据从码流中解码出的运动矢量信息,解码端生成参考帧中对应位置的预测信号,根据该得到的预测信号以及码流中携带的残差信息,即变换系数信息得到解码后对应位置的像素的亮度值;在编码端,在编码当前块的运动矢量信息时,使用与当前块相邻的块的运动矢量进行当前块的运动矢量预测,以减少传递当前块的运动矢量信息所需的码流。如图2所示,图2为现有运动矢量预测方式示意图。其中,当前块的运动矢量预测值(MVP),可根据与其相邻的块A、B、C、D的运动矢量推导而出。这里所提到的当前块可以^块、块或分割。根据当前块的分割情况,MVP的预测可分为中值预测和非中值预测。当当前块被分割为图3所示情况时,可采用非中值预测,具体来说如果分割为8x16的块,当左边块为当前块时,其MVP等于MVA,当右边块为当前块时,其MVP等于MVC;如果分割为16><8的块,那么上边块的MVP等于MVB,下边块的MVP等于MVA。其余情况可采用中值预测,即当前块的MVP等于MVA、MVB和MVC的中值。得到当前块的MVP后,可进一步计算运动矢量差(MVD),即,MVD=MV-MVP。其中,MV为采用现有任一运动估计算法估计出的当前块的运动矢量。之后,对MVD进行熵编码,写入码流,发送到解码端。上述方式虽然能够实现基于运动补偿的帧间预测,但该方式中必须将运动矢量信息显式的写入到码流中进而传递给解码端,这会造成额外的码率增加。现有技术中还提出了一种基于模板匹配技术的帧间预测方式。模板匹配技术用于为NxN像素的目标区域,即当前块推导预测信号。由于目标区域还没有重建,所以可以在目标区域已重建的邻近区域中定义一个模板。图4为现有模板定义方式示意图。如图4所示,通常情况下,在目标区域的上边和左边区域选择一个L形区域作为模板。模板尺寸M定义为从目标区域左边界被模板覆盖的左边开始的水平方向上的像素数,当然,也可以是从目标区域的上边界被模板覆盖的上边开始的垂直方向上的像素数。由图4可知,模板覆盖区域的像素凄t为2xNxM+MxM。在实际应用中,除L形以外,还可以采用其它形状的模板。同时还可以为模板中的不同区域设置不同的权重,以用于提高后续计算代价函数时的准确度。模板匹配的执行过程与传统运动估计中的匹配方式类似,即计算模板在参考帧的不同区域搜索时对应不同位置的代价函数。这里所提到的代价函数可以是指位于模板区域内的像素与其在参考帧中进行匹配搜索时的区域内对应的像素的绝对和。当然,这里的代价函数也可以是方差以及包含对运动矢量场有平坦约束的其它代价函数。上述模板匹配的搜索过程可以根据需要采用不同的搜索范围或不同的搜索方式,比如可以采用全像素和半像素相结合的搜索方式,以降低模板匹配过程的复杂度。在模板匹配帧间预测方式中,编码端发送到解码端的码流中包括当前块的宏块类型信息,此外,还可进一步包括残差信息;解码端在接收到该码流后,通过模板匹配方式找到当前块对应的运动矢量,进而在参考帧中找到当前块的对应位置,并用对应位置上的像素值或对应位置上的像素值加上残差信息作为解码后当前块的像素值。当采用模板匹配方式进行编码时,需要增加一个宏块类型来标识当前块编码是采用现有运动补偿方式还是采用模板匹配方式进行编码。但是,采用这种方式后,由于要引入特定的宏块类型来传递模板匹配方式的标识信息,因此,造成额外的码率增加。可见,现有各帧间预测方式由于各种不同原因,均会在编码过程中造成码率不同程度的增加。
发明内容本发明实施例提供一种帧间预测编码方法,能够在帧间预测过程中较好地节省码率。本发明实施例提供一种帧间预测解码方法,能够在帧间预测过程中较好地节省码率。本发明实施例提供一种帧间预测编码装置,能够在帧间预测过程中较好地节省码率。本发明实施例提供一种帧间预测解码装置,能够在帧间预测过程中较好地节省码率。本发明实施例的技术方案是这样实现的一种帧间预测编码方法,包括获取当前块的模板匹配运动矢量以及运动矢量预测值;比较所述模板匹配运动矢量以及所述运动矢量预测值,根据比较结果确定编码方式并进行编码。一种帧间预测解码方法,包括*接收来自编码端的码流;获取当前块的模板匹配运动矢量以及运动矢量预测值;比较所述模板匹配运动矢量以及所述运动矢量预测值,根据比较结果确定解码方式并进行解码。一种帧间预测编码装置,包括获取单元以及确定单元;所述获取单元,用于获取当前块的模板匹配运动矢量以及运动矢量预测值;所述确定单元,用于比较所述模板匹配运动矢量信息以及运动矢量预测值,根据比较结果确定编码方式并进行编码。一种帧间预测解码装置,包括确定单元以及解码单元;所述确定单元,用于接收来自编码端的码流,比较获取到的当前块的模板匹配运动矢量以及运动矢量预测值,根据比较结果确定解码方式;所述解码单元,用于按照所述确定的解码方式进行解码。一种帧间预测解码方法,该方法包括4姿收来自编码端的码流;预设当前块的模板匹配运行矢量或确定膜板匹配块信息来得到当前块的模板匹配运行矢量;获取所述当前块的模板匹配运动矢量,根据所述码流中携带的是否使用模板匹配标志的指示,按照模板匹配方式进行解码。可见,采用本发明实施例的技术方案,以当前块的模板匹配运动矢量和运动矢量预测值作为上下文信息,通过比较来确定编码方式并进行编码;解码端接收到码流后,获得当前块的模板匹配运动矢量和运动矢量预测值,通过比较来确定解码方式并进行解码。与现有技术相比,本发明实施例所述方案能够根据获得的当前块的模板匹配运动矢量以及运动矢量预测值信息,灵活选择最适合当前情况的优化编解码方式,从而达到最大程度上的节省码率的目的。图1为现有基于运动补偿的帧间预测技术实现示意图。图2为现有运动矢量预测方式示意图。图3为现有当前块分割情况示意图。图4为现有模板定义方式示意图。图5为本发明方法实施例的流程图。图6为本发明方法实施例中编码端进行编码的流程示意图。图7为本发明方法实施例中解码端进行解码的流程示意图。图8为本发明另一方法实施例中解码端进行解码的流程示意图。图9为本发明编码装置实施例的组成结构示意图。图IO为本发明解码装置实施例的组成结构示意图。图11为本发明实施例所述方案与现有技术在编码性能方面的比较示意图。具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步地详细说明。本发明实施方式中,利用模板匹配方式生成运动矢量信息的特点,以模板匹配中生成的运动矢量和现有传统运动矢量预测值作为上下文信息,通过对两者进行比较来确定为当前块编码时码流中所包含的语法元素信息。本发明所述实施方式可基于现有跳过(Skip)技术中的前向跳过(P-Skip)技术实现。在现有基于运动补偿的帧间预测技术中,除了利用运动矢量预测技术提高编码效率外,还提供了一种Skip模式。该模式对应的编码码流中只携带有宏块类型中的宏块模式信息,而没有运动矢量信息和残差信息。这种情况下,解码端可以根据从接收到的码流中解码出的宏块模式信息,获知在当前帧中与该宏块相邻的块的运动矢量,冲艮据相邻块的运动矢量信息推导出当前块的运动矢量;而当前块的重建值则可通过根据当前块的运动矢量信息确定出该当前块在参考帧中的对应位置后,直接用参考帧对应位置上的预测值进行代替。本发明实施例所述方案对现有P-Skip技术进行扩展,提供了一种基于条件编码标志的模板匹配预测方法。本发明的实施方式中,P-Skip宏块能够自适应地改变运动特性,不需要专门的编码运动矢量信息,只需要很少的额外编码即可。图5为本发明方法实施例的流程图。如图5所示,包括以下步骤步骤51:编码端对获取到的当前块的模板匹配运动矢量(TM_MV)以及运动矢量预测值进行比较,根据比较结果确定为当前块进行编码的编码方式并进行编码。本步骤中,编码端确定编码方式并进行编码的方式可以是编码端确定为当前块编码的码流元素,按照确定的码流元素进行编码,并将编码后的码流发送到解码端。本实施例中的码流元素为宏块类型和/或是否使用模板匹配标志;编码端确定为当前块编码的码流元素的方式可以为编码端比较当前块的模板匹配运行矢量与运动矢量预测值是否一致,如果一致,则只在码流中编入宏块类型信息;如果不一致,则在码流中编入宏块类型以及是否使用模板匹配标志信息,以指示解码端按照模板匹配方式或运动补偿方式对接收到的码流进行解码。其中,在向码流中编入宏块类型以及是否使用模板匹配标志信息之前,进一步包括编码端确定需要指示解码端按照模板匹配方式还是运动补偿方式对所述码流进行解码,比如编码端通过率失真优化(RDO)算法比较采用模板匹配运动矢量以及运动矢量预测值进行编解码的率失真性能,指示解码端按照率失真性能较优的方式进行解码。步骤52:解码端接收来自编码端的码流,对获取到的当前块的模板匹配运动矢量以及运动矢量预测值进行比较,根据比较结果确定解码方式并进行解码。本步骤中,解码端根据接收到的码流中携带的宏块类型信息,确定针对当前块的帧间预测方式是否为P_Skip模式;如果是,则比较获取到的当前块的模板匹配运行矢量以及运动矢量预测值是否一致,如果一致,则按照运动补偿方式对所述码流进行解码;如果不一致,则根据码流中携带的是否使用模板匹配标志中的指示,按照模板匹配方式或运动补偿方式进行解码。解码端在解析当前宏块的边界信息时,通过解码重构模板的像素在当前片的参考帧中寻获匹配块信息来获取到当前宏块块的模板匹配运行矢量,其解析和解石马的过程混合实施。另一实施方式中,步骤52,解码端接收来自编码端的码流,预设当前块的模板匹配运行矢量或确定膜板匹配块信息来得到当前块的模板匹配运行矢量,获取所述当前块的模板匹配运动矢量,根据所述码流中携带的是否使用模板匹配标志中的指示,按照模板匹配方式进行解码。本步骤中,解码端根据接收到的码流中携带的宏块类型信息,确定针对当前块的帧间预测方式是否为P一Skip模式,如果是,并且可以得到所述宏块中当前块的模板匹配运行矢量,则比较获取到的当前块的模板匹配运行矢量以及运动矢量预测值是否一致,如果一致,则按照运动补偿方式对所述码流进行解码;如果不一致,则根据码流中携带的是否使用模板匹配标志中的指示,按照模板匹配方式或运动补偿方式进行解码。若不可以得到所述宏块中当前块的模板匹配运行矢量,则根据码流中携带的是否使用模板匹配标志中的指示,按照模板匹配方式或运动补偿方式进行解码,所述解析和解码的过程分开实施。下面通过具体实施例,^A编码以及解码两端分别对本发明所述方案作进一步地详细说明图6为本发明方法实施例中编码端进行编码的流程示意图。如图6所示,包括以下步骤步骤61:编码端利用模板匹配方式计算当前块的模板匹配运动矢量。本步骤中,编码端在需要对当前块进行编码时,首先通过模板匹配方式计算当前块的模板匹配运动矢量。具体计算方式与现有技术中相同,即将预先选择的模板区域,比如L形模板区域在参考帧中进行匹配搜索,找到最佳匹配位置,根据该位置计算当前块的运动矢量,即当前块在当前帧中的位置与在参考帧中的位置偏移。步骤62:编码端预测当前块的运动矢量预测值。具体预测方式如图2和3所示,编码端根据与当前块相邻的块A、B、C、D的运动矢量预测当前块的运动矢量预测值。根据当前块的分割情况,MVP的预测可具体分为中值预测和非中值预测。当当前块被分割为图3所示情况时,可采用非中值预测;其余情况可采用中值预测,即当前块的MVP等于MVA、MVB和MVC的中值。步骤63:编码端判断才莫;仗匹配运动矢量与运动矢量预测值是否一致,如果一致,则执行步骤64;否则,执行步骤65。步骤64:编码端针对当前块进行编码,并将编码后的码流发送至解码端,结束流程。本步骤中,由于模板匹配运动矢量与运动矢量预测值一致,所以,编码端在编码时不会编入是否使用模板匹配的标志。这样,编码端发送到解码端的码流中只包括宏块类型信息。步骤65:编码端针对当前块进行编码,并将设置了是否使用模板匹配标志的码流发送至解码端,结束流程。由于模板匹配运动矢量与运动矢量预测值不一致,所以,编码端需要在编码的码流中加入是否使用模板匹配标志信息。在这之前,编码端需要首先确定,在是否使用模板匹配标志中指示解码端按照模板匹配方式还是运动补偿方式进行解码。其中,编码端确定在是否使用模板匹配标志中指示解码端按照模板匹配方式还是运动补偿方式进行解码的方式为编码端对模板匹配运动矢量以及运动矢量预测值分别进行编解码,通过率失真优化算法比较两次编解码中哪次性能更好,比如,比较采用哪种方式编码后的重建图像与原始图像的偏差最小,根据比较结果确定该是否使用模板匹配标志的具体设置。在具体实现中,可以将码流中的一个比特位设置为是否使用模板匹配标志位。如果根据模板匹配运动矢量进行编解码的方式性能较好,则将该是否使用模板匹配标志位设置为1;如果根据运动矢量预测值进行编解码的方式性能较好,则将该是否使用模板匹配标志设置为0。本步骤中,编码端发送到解码端的码流中包括宏块类型以及是否使用模板匹配标志信息。后续过程中,解码端即可根据接收到的码流进行解码。图7为本发明方法实施例中解码端进行解码的流程示意图。如图7所示,包括以下步骤步骤71:解码端对接收到的当前块的码流进行解码,判断该码流是否为P一Skip模式,如果是,则执行步骤72,否则,执行步骤73。本步骤中,解码端根据码流中携带的宏块类型信息确定该码流对应的帧间预测方式是否为P—Skip模式。其中,宏块类型信息可以通过人为规定的方式,设置特定的标识来表示该码流对应的帧间预测方式为P_Skip模式。步骤72:解码端计算针对当前块的模板匹配运动矢量,并推导运动矢量预测值,然后执行步骤74。模板匹配运动矢量与运动矢量预测值的获取方式与现有技术中相同,不再赘述。其中,计算模板匹配运动矢量的过程中,可以以获取到的运动矢量预测值为中心,在其周围设定的区域内进4亍搜索,以加快搜索过程。步骤73:解码端按照其它现有方式对当前块进行解码,由于与本发明无关,所以具体解码过程不再赘述。步骤74:解码端判断当前块的模板匹配运动矢量与运动矢量预测值是否一致,如果一致,则执行步骤75;否则,执行步骤76。步骤75:解码端直接利用运动矢量预测值进行解码,结束流程。如果模板匹配运动矢量与运动矢量预测值一致,那么码流中没有是否使用才莫;敗匹配标志,所以解码端可直接利用当前块的运送矢量预测值进行解码。具体解码方式与现有技术相同,不再赘述。步骤76:解码端根据解码出的码流中的是否使用模板匹配标志的指示,按照指示的方式进行解码,结束流程。本步骤中,解码端根据解码出的码流中的是否使用模板匹配标志位的指示,选择对应的运动矢量,并进行后续解码,结束流程。比如,如果是否使用模板匹配标志位设置为1,则解码端按照模板匹配方式进行解码;如果是否使用模板匹配标志位设置为0,则解码端利用运动矢量预测值,按照运动补偿方式进行解码。具体解码过程为现有技术,不再赘述。需要说明的是,本实施例中,由于编码端发送的码流中不包括残差信息,所以后续过程中解码端进行解码时,只需要将参考帧中与当前块对应位置的像素值作为当前块解码后的像素值。在另一实施例中,如图8所示,对于解码端,所述实施方式步骤701同步骤71。本步骤中,解码端根据码流中携带的宏块类型信息确定该码流对应的帧间预测方式是否为P一Skip模式。其中,宏块类型信息可以通过人为规定的方式,设置特定的标识来表示该码流对应的帧间预测方式为P一Skip模式。步骤702:解码端计算针对当前块的模板匹配运动矢量,并推导运动矢量预测值,如果所述宏块的当前块的膜板匹配运动矢量不可获得,执行步骤706,否则^丸行步骤704。步骤703-步骤706同步骤73-步骤76。步骤706中,解码端根据解码出的码流中的是否使用模板匹配标志位的指示,选择对应的运动矢量,并进行后续解码,结束流程。比如,如果是否使用模板匹配标志位设置为1,则解码端按照模板匹配方式进行解码,此时模板匹配运行矢量预先设0或者原先通过解码所需的模板信息等于前一个解码模板信息,用来寻获匹配块信息来获取到当前块的模板匹配运行矢量;如果是否使用模板匹配标志位设置为0,则解码端利用运动矢量预测值,按照运动补偿方式进行解码。具体解码过程为现有技术,不再赘述。为实现图6和7所示流程,需要对现有P—Skip模式的语法进行修改,修改后的P_Skip^t式语法如下<table>tableseeoriginaldocumentpage18</column></row><table>函数UserTMVector()用于执行模板匹配操作。如果针对当前块的模板匹配运动矢量和运动矢量预测值的结果不一致,则函数返回true,否则返回false。需要说明的是,图6和图7所示实施例中的描述只涉及到单颜色分量信号,即亮度值,在实际应用中,通过扩展目标和模板区域到所有分量的相同位置的像素,本发明实施例所述方案可同样运用到多分量信号上。但是,如果不同的分量采用不同的采样率,可能需要满足一些限制条件。比如,对于YCbCr之比为4:2:0的颜色子采样,其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量,模板区域大小和目标区域的大小需要成2倍关系。而且,本发明实施例所述方案不仅仅适用于图6和图7所示的单视角视频编码环境中,也同样适用于多视角视频编码环境中。另外,上述图6和图7所示实施例中,利用4莫板匹配生成的运动矢量可作为当前块的运动矢量预测值,即可将本次利用模板匹配技术生成的运动矢量用于后续当前块的运动矢量预测中,在率失真优化和MVD计算编码过程中起到作用,从而为当前块提供更多的运动矢量预测适用性,提高运动矢量预测的准确程度。上述图6和图7所示实施例中的模板匹配运动矢量和运动矢量预测值还可以作为上下文信息,来选择对当前块进行编解码时的上下文模型。比如,对于基于上下文的算数编码CABAC来说,可以利用模板匹配运动矢量和运动矢量预测值之间的比较关系,决定对当前块信息进行CABAC编码的概率模型。其中,编码的具体过程如下1)计算当前块的模板匹配运动矢量并荻取运动矢量预测值;2)将模板匹配运动矢量与运动矢量预测值进行比较,当两者一致时,选择概率模型P1对当前块进行编码;如果不一致,选择概率模型P2进行编码。解码的具体过程如下1)计算当前块的模板匹配运动矢量并获取运动矢量预测值;2)将模板匹配运动矢量与运动矢量预测值进行比较,当两者一致时,选择概率模型Pl对当前块进行解码;如果不一致,选择概率模型P2进行解码。由于CABAC编码为现有技术,本领域技术人员应该清楚其实现过程,故此处不再赘述。基于上述方法,图9为本发明编码装置实施例的组成结构示意图。如图9所示,该装置包括获耳又单元81以及确定单元82;获取单元81,用于获取当前块的模板匹配运动矢量以及运动矢量预测值;确定单元82,用于比较模板匹配运动矢量信息以及运动矢量预测值是否一致,根据比较结果确定编码方式并进行编码。其中,确定单元82中具体包括比较子单元821以及编码子单元822;比较子单元821,用于比较当前块的模板匹配运行矢量以及运动矢量预测值是否一致,并将比较结果发送给编码子单元822;编码子单元822,用于根据比较结果进行编码,如果比较结果一致,则只在码流中编入宏块类型信息;如果不一致,则在码流中编入宏块类型以及是否使用模板匹配标志,以指示解码端按照模板匹配方式或运动补偿方式对码流进行解码。该单元还可进一步用于,如果比较结果不一致,比较采用模板匹配运动矢量以及运动矢量预测值进行编解码的不同性能,指示解码端按照性能较优的方式进行解码。上述确定单元82中还可进一步包括选择子单元823,用于根据当前块的模板匹配运动矢量信息以及运动矢量预测值的比较结果,选择对当前块进行编码的模型,并通知编码子单元822。图IO为本发明解码装置实施例的组成结构示意图。如图IO所示,该装置包括确定单元91以及解码单元92;确定单元91,用于接收来自编码端的码流,比较获取到的当前块的模板匹配运动矢量以及运动矢量预测值是否一致,根据比较结果确定采用的解码方式;解码单元92,用于按照确定的解码方式进行解码。其中,确定单元91可具体包括比较子单元912,用于接收来自编码端的码流,比较当前块的模板匹配运行矢量与运动矢量预测值是否一致,如果一致,则通知解码单元92按照运动补偿方式对该码流进行解码;如果不一致,则根据该码流中携带的是否使用模板匹配标志中的指示,通知解码单元92按照^^莫板匹配方式或运动补偿方式进行解码。此外,确定单元91中还可进一步包括模式确定子单元911和/或选择子单元913:模式确定子单元911;用于根据接收到的码流中携带的宏块类型信息,确定针对当前块的帧间预测方式为P一Skip模式后,通知比较子单元执行912执行其自身功能。选择子单元913,用于根据当前块的模板匹配运动矢量以及运动矢量预测值比较结果,选择对该码流进行解码的模型,并通知解码单元92。图9和图10所示实施例的具体工作流程请参照方法相应部分的说明,此处不再赘述。可见,釆用本发明实施例的技术方案,以冲莫板匹配运动矢量和运动矢量预测值为上下文信息,通过比较来确定当前码流中包含的信息并进行编解码。由于本发明实施例所迷方案基于P一Skip模式实现,因此不会额外的增加码流,可以节省传递运动矢量所用的传递代价,并为运动矢量预测提供更多的选择余地,同时通过作为编解码端都可以获得的信息,可以为当前编解码提供熇编码等上下文决策信息,增强技术的自适应性,提高编码效率。图11为本发明实施例所述方案与现有技术相比在编码性能方面的比较示意图。如图11所示,假设序列编码类型为IPPP,即第一帧按照帧内预测方式编码,其余帧按照帧间预测方式编码。其中,JM12.3为在H.264/AVC平台上使用现有运动补偿方式的技术效果;TMSkip为在H.264/AVC平台上使用本发明所述方案的^技术效果;TM16x168x8为采用现有模板匹配方式的^L术效果;TMSkip16x168x8为在采用现有模板匹配方式的基础上结合本发明所迷方案后的技术效果。图11中的横坐标表示码率,纵坐标表示信噪比(PSNR),即表示重建图像与原始图像的差异。从图ll可以看出,本发明实施例所述方案能够达到较好的节省码率的效果。综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种帧间预测编码方法,其特征在于,该方法包括获取当前块的模板匹配运动矢量以及运动矢量预测值;比较所述模板匹配运动矢量以及所述运动矢量预测值,根据比较结果确定编码方式并进行编码。2、根据权利要求1所述的方法,其特征在于,所述根据比较结果确定编码方式并进行编码的步骤包括根据比较结果确定为所述当前块进行编码时所需的码流元素,根据所述确定的码流元素按照不同的编码方式进行编码。3、根据权利要求2所述的方法,其特征在于,所述码流元素为宏块类型和/或是否使用模板匹配标志;所述根据比较结果确定为所述当前块进行编码时所需的码流元素的步骤包括如果所述当前块的模板匹配运行矢量和运动矢量预测值一致,则只在码流中编入宏块类型信息;如果不一致,则在所述码流中编入宏块类型以及是否使用模板匹配标志信息,以指示所述解码端按照模板匹配方式或运动补偿方式对所述码流进行解码。4、根据权利要求3所述的方法,其特征在于,所述在所述码流中编入宏块类型以及是否使用模板匹配标志信息之前,进一步包括确定需要指示所述解码端按照模板匹配方式还是运动补偿方式对所述码流进行解码,包括比较采用所述模板匹配运动矢量以及所述运动矢量预测值进行编解码的不同性能,指示所述解码端按照所述性能较优的方式进行解码。5、根据权利要求1所述的方法,其特征在于,在获取所述当前块的模板匹配运动矢量过程中,以所述当前块的运动矢量预测值为中心,在其周边预定范围Aiiil匹配搜^6、根据权利要求1所述的方法,其特征在于,所述根据比较结果确定编码方式的步骤包括根据比较结果选择对所述当前块进行编码的模型,按照所选择的编码模型进行编码。7、根据权利要求1所述的方法,其特征在于,所述根据比较结果确定编码方式并进行编码之后,进一步包括将所述获取到的模板匹配运动矢量用于为后续当前块进行的运动矢量预测中。8、一种帧间预测解码方法,其特征在于,该方法包括接收来自编码端的码流;获取当前块的模板匹配运动矢量以及运动矢量预测值;比较所述模板匹配运动矢量以及所述运动矢量预测值,根据比较结果确定解码方式并进行解码。9、根据权利要求8所述的方法,其特征在于,所述根据比较结果确定解码方式并进行解码的步骤包括如果所述当前块的模板匹配运动矢量与运动矢量预测值一致,则4安照运动补偿方式对所述码流进行解码;如果不一致,则根据所述码流中携带的是否使用模板匹配标志中的指示,按照模板匹配方式或运动补偿方式进行解码。10、根据权利要求8所述的方法,其特征在于,所述比较所述模板匹配运动矢量以及所述运动矢量预测值之前,进一步包括根据所述码流中携带的宏块类型信息,确定针对所述当前块的帧间预测方式为前向跳过P—Skip模式。11、根据权利要求8所述的方法,其特征在于,在获取所述当前块的模板匹配运动矢量过程中,以所述当前块的运动矢量预测值为中心,在其周边预定范围内进行匹配搜索。12、根据权利要求8所述的方法,其特征在于,所述根据比较结果确定解码方式的步骤包括根据比较结果选择对所述当前块进行解码的模型,按照所选择的解码模型进行解码。13、根据权利要求8所述的方法,其特征在于,所述根据比较结果确定解码方式并进行解码之后,进一步包括将所述获取到的模板匹配运动矢量用于为后续当前块进行的运动矢量预测中。14、一种帧间预测编码装置,其特征在于,该装置包括获取单元以及确定单元;所述获取单元,用于获取当前块的模板匹配运动矢量以及运动矢量预测值;所述确定单元,用于比较所述模板匹配运动矢量信息以及运动矢量预测值,根据比较结果确定编码方式并进行编码。15、根据权利要求14所述的装置,其特征在于,所述确定单元中具体包括比较子单元以及编码子单元;所述比较子单元,用于比较当前块的模板匹配运行矢量以及运动矢量预测值,并将比较结果发送给所述编码子单元;所述编码子单元,用于根据所述比较结果进行编码,如果比较结果一致,则只在码流中编入宏块类型信息;如果不一致,则在所述码流中编入宏块类型以及是否使用模板匹配标志信息,以指示所述解码端按照模板匹配方式或运动补偿方式对所述码流进行解码。16、根据权利要求15所述的装置,其特征在于,所述编码子单元进一步用于,如果比较结果不一致,比较采用所述模板匹配运动矢量以及所述运动矢量预测值进行编解码的不同性能,指示所述解码端按照所述性能较优的方式进行解码。17、根据权利要求15所述的装置,其特征在于,所述确定单元中进一步包括选择子单元,用于根据所述比较子单元中对当前块的模板匹配运动矢量以及运动矢量预测值的比较结果,选择对所述当前块进行编码的模型,并通知所述编码子单元。18、一种帧间预测解码装置,其特征在于,该装置包括确定单元以及解码单元;所述确定单元,用于接收来自编码端的码流,比较获取到的当前块的模板匹配运动矢量以及运动矢量预测值,根据比较结果确定解码方式;所述解码单元,用于按照所述确定的解码方式进行解码。19、根据权利要求18所述的装置,其特征在于,所述确定单元具体包括比较子单元,用于接收来自编码端的码流,比较当前块的模板匹配运行矢量与运动矢量预测值,如果一致,则通知所述解码单元按照运动补偿方式对所述码流进行解码;如果不一致,则根据所述码流中携带的是否使用模板匹配标志中的指示,通知所述解码单元按照模板匹配方式或运动补偿方式进行解码。20、根据权利要求19所述的装置,其特征在于,所述确定单元中进一步包括模式确定子单元,用于根据所述码流中携带的宏块类型信息,确定针对所述当前块的帧间预测方式为P—Skip模式后,通知所述比较子单元执行自身功能。21、根据权利要求19所述的装置,其特征在于,所述确定单元中进一步包括选择子单元,用于根据所述比较子单元对当前块的模板匹配运行矢量与运动矢量预测值的比较结果,选择对所述码流进行解码的模型,并通知所述解码单元。22、一种帧间预测解码方法,其特征在于,该方法包括接收来自编码端的码流;预设当前块的模板匹配运行矢量或确定膜板匹配块信息来得到当前块的模板匹配运行矢量;获取所述当前块的模板匹配运动矢量,根据所述码流中携带的是否使用;漢板匹配标志的指示,按照模板匹配方式进行解码。23、根据权利要求22所述的方法,其特征在于,所述得到当前块的模板匹配运行矢量之前,进一步包括根据所述码流中携带的宏块类型信息,确定针对所述当前块的帧间预测方式为前向跳过P一Skip才莫式。24、根据根据权利要求22所述的方法,其特征在于,所述预设前块的模板匹配运行矢量为0或通过解码所需的模板信息等于前一个解码模板信息,用来寻获匹配块信息来获取到当前块的模板匹配运行矢量。全文摘要本发明实施例公开了一种帧间预测编解码方法,包括编码端通过比较获取到的当前块的模板匹配运动矢量以及运动矢量预测值,确定编码方式并进行编码;解码端接收来自编码端的码流,通过比较获取到的当前块的模板匹配运动矢量以及运动矢量预测值,确定解码方式并进行解码。本发明实施例同时公开了一种帧间预测编码装置和解码装置。应用本发明实施例所述的方法和装置,能够在进行帧间预测过程中较好地节省码率。文档编号H04N7/26GK101415122SQ20081000287公开日2009年4月22日申请日期2008年1月8日优先权日2007年10月15日发明者斯蒂芬·坎普,熊联欢,迈克尔·爱文兹,马蒂尔斯·韦恩申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1