帧间预测编码运动信息的处理方法、装置和编解码系统的制作方法

文档序号:7980550阅读:222来源:国知局
帧间预测编码运动信息的处理方法、装置和编解码系统的制作方法
【专利摘要】本发明实施例提供帧间预测编码运动信息的处理方法、装置和编解码系统,以提升码流解析速度。所述方法包括:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息;若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。本发明使解码器端可以并行处理这些信息即在解析运动矢量差相关信息的同时根据已解析出的运动矢量预测值标识解码得到运动矢量预测值,从而提高了码流在解码器一端的解码速度。
【专利说明】帧间预测编码运动信息的处理方法、装置和编解码系统
【技术领域】
[0001]本发明涉及图像处理领域,尤其涉及帧间预测编码运动信息的处理方法、装置和编解码系统。
【背景技术】
[0002]现有的视频图像编解码技术包括帧内预测编码与帧间预测编码,其中,帧间预测编码是指利用当前编码图像与已编码图像的时间相关性对当前编码图像进行压缩编码。在H.264/AVC中,一帧图像被分为若干方形的图像块。从已编码的参考帧中搜索出与当前图像块匹配的图像块,计算当前块和匹配块的空间位置的相对偏移量,这一相对偏移量就是运动矢量(Motion Vector, MV),得到运动矢量的过程被称为运动估计(Motion Estimation,ME),利用匹配块对当前图像块进行预测的过程被称为运动补偿(Motion Compensation,MC),当前图像块与匹配块的像素值的差别称作图像块预测残差。
[0003]为了使解码器一端和编码器一端使用的匹配块相同,编码器一端使用的图像块的运动信息需要在码流中传输到解码器一端。如果直接对每个图像块的运动矢量直接进行编码,那么将耗费大量的比特数,特别是当小尺寸的图像块占多数时。由于一个运动物体常常会覆盖多个图像块,空间域相邻图像块的运动矢量具有很强的相关性。因此,当前图像块的运动矢量可以根据邻近已编码图像块的运动矢量进行预测,预测所得到的值被称为运动矢量预测值(motion Vector Predictor, MVP),当前图像块的运动矢量和运动矢量预测值之间的差值被称为运动矢量差(Motion Vector Difference,MVD),即有关系:MV=MVD+MVP。
[0004]作为一种新的视频编码标准,H.264在运动估计过程中采用了多参考帧预测来提高预测精度,即建立储存多个重建图像帧的缓存,并在缓存内的所有的重建图像帧中寻找最优的匹配块进行运动补偿,以便更好地去除时间域的冗余度。H.264的帧间预测编码使用两个如上的缓存,即参考巾贞列表O (reference IistO)和参考巾贞列表I (reference listI)。每一个列表中最优匹配块所在的参考帧用索引值标明,即ref_10_idx和ref_ll_idx。以参考帧列表O为例,该列表内匹配块的运动信息包括参考帧索引值(ref_10_idX)、运动矢量预测值(MVP)和运动矢量差(MVD)。根据这三个信息,解码器这一端就可以在选定的参考帧中找到正确的匹配块。
[0005]现有技术提供的一种帧间预测编码运动信息的处理方法是,以H.264/AVC为视频图像压缩标准,将宏块(16x16像素大小)作为编码处理的基本单元,在帧间预测时,一个宏块可以包含一个或多个运动块,但任意一运动块均为矩形块。这些运动块的参考帧列表值、参考帧索引值和运动矢量差将以宏块为单位进行传输或解码。由于H.264/AVC中运动矢量预测值(MVP)的选取方法唯一确定,所以MVP的相关信息无需在码流中传输。具体地,在编码器这一端,首先传输该宏块的参考帧列表的选择,即当使用参考帧列表O时,按以下顺序编码传输运动信息:依次传输宏块内所有运动块在参考巾贞列表O中使用的参考巾贞索引值ref_idx_10 ;依次传输宏块内所有运动块在参考帧列表O中运动矢量差mvd_10。当使用参考中贞列表I时,按以下顺序编码传输运动信息:依次传输宏块内所有运动块在参考巾贞列表I中使用的参考帧索引值ref_idx_ll ;依次传输宏块内所有运动块在参考帧列表I中运动矢量差mvd_ll。在解码器这一端,当使用参考帧列表O时,按以下顺序解码运动信息:依次解码宏块内所有运动块在参考帧列表O中使用的参考帧索引值ref_idX_10 ;依次解码宏块内所有运动块在参考帧列表O中运动矢量差mvd_10。当使用参考帧列表I时,按以下顺序解码运动信息:依次解码宏块内所有运动块在参考帧列表I中使用的参考帧索引值ref_idx_11 ;依次解码宏块内所有运动块在参考帧列表I中运动矢量差mvd_ll。解码器端和编码器端使用相同的方法选择推导当前图像块的运动矢量预测值MVP。
[0006]在解码器这一端,宏块内每一个运动块可以根据码流中解析得到的参考帧列表和参考帧索引值确定每运动块的匹配块所在的参考帧;宏块内每一个运动块根据码流中解析得出的某一列表(例如,参考帧列表O)的运动矢量差(例如,mvd_10),加上解码器端推导得到的运动矢量预测值,计算得出运动矢量(例如,mv_10),从而确定该列表中匹配块的空间位置,得到需要的匹配块。
[0007]然而,上述现有技术提供的帧间预测编码运动信息的处理方法,其不足在于,由于运动矢量预测值的选取方法唯一,因此,解码器这一端得到的运动矢量预测值对当前图像块未必是最优值,此外,解码器这一端也不是并行处理,解码速度不高。

【发明内容】

[0008]本发明实施例提供帧间预测编码运动信息的处理方法、装置和编解码系统,以提升码流解析速度。
[0009]本发明实施例提供一种帧间预测编码运动信息的处理方法,所述方法包括:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表I中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关息写入码流。
[0010]本发明实施例提供一种帧间预测编码运动信息的处理方法,所述方法包括:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表I中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述所述确定的所用参考帧列表内匹配块运动矢量差相关信息。
[0011]本发明实施例提供一种帧间预测编码运动信息的处理装置,所述装置包括:确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考巾贞列表包括参考巾贞列表O和参考巾贞列表I中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;写入模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块确定,则将所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块运动矢量差相关信息写入码流。
[0012]本发明实施例提供一种帧间预测编码运动信息的处理装置,所述装置包括:待解析确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表I中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;解析模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块确定,则先解析所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块运动矢量差相关信息。
[0013]本发明实施例提供一种编解码系统,所述编解码系统包括编码器和解码器,所述编码器包括确定模块和写入模块,所述解码器包括待解析确定模块和解析模块;所述确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考巾贞列表包括参考巾贞列表O和参考巾贞列表I中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;所述写入模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块确定,则将所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块运动矢量差相关信息写入码流;所述待解析确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息;所述解析模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块确定,则先解析所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。
[0014]从上述本发明实施例可知,由于传输到解码器端的匹配块的运动信息包括运动矢量预测值标识,并且在传输过程中,是将对应参考帧列表内匹配块的运动矢量预测值标识先于运动矢量差相关信息写入码流。因此,与现有技术提供的帧间预测编码运动信息的处理相比,本发明实施例提供的方法可以使解码器一端根据运动矢量预测值标识取得对当前图像块而言最优的运动矢量预测值,而运动矢量预测值标识先于运动矢量差相关信息写入码流也使得解码器端可以并行处理这些信息即在解析运动矢量差相关信息的同时根据已解析出的运动矢量预测值标识解码得到运动矢量预测值,从而提高了码流在解码器一端的解码速度。
【专利附图】

【附图说明】
[0015]为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其他的附图。
[0016]图1是本发明实施例提供的帧间预测编码运动信息的处理方法流程示意图;
[0017]图2是本发明另一实施例提供的帧间预测编码运动信息的处理方法流程示意图;
[0018]图3是本发明实施例提供的帧间预测编码运动信息的处理装置结构示意图;
[0019]图4是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;
[0020]图5是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;[0021]图6是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;
[0022]图7是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;
[0023]图8是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;
[0024]图9是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;
[0025]图10是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;
[0026]图11是本发明实施例提供的编解码系统结构示意图。
【具体实施方式】
[0027]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0028]请参阅附图1,是本发明实施例提供的帧间预测编码运动信息的处理方法流程示意图,其执行主体可以是采用帧间预测编码技术的通信系统的编码器。附图1示例的方法主要包括步骤SlOl和步骤S102:
[0029]S101,根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息。
[0030]在本发明实施例中,参考帧列表包括参考帧列表O (reference list O)和参考帧列表I (reference list I)中的至少一个,即可能是参考巾贞列表O、可能是参考巾贞列表I或可能是参考帧列表O和参考帧列表1,每个参考帧列表作用与【背景技术】提及的参考帧列表相同。与现有技术的参考帧列表内匹配块的运动信息只需要包括参考帧索引值和运动矢量差不同,在本发明实施例中,参考帧列表内匹配块的运动信息除了包括参考帧索引值和运动矢量差之外,还包括运动矢量预测值标识(以下使用MVP_flag表示)。参考巾贞列表内匹配块的运动信息包括包括参考帧列表O内匹配块的运动信息、参考帧列表I内匹配块的运动信息或参考帧列表O内匹配块的运动信息和参考帧列表I内匹配块的运动信息。运动矢量预测值标识(MVP_flag)即用于表明编码器端选择的运动矢量预测值是mvp_0还是mvp_l ;当编码器将运动矢量预测值标识传输至解码器端时,也相当于告知了解码器编码器端在编码时选择的运动矢量预测值是mvp_0还是mvp_l。
[0031]相应于mvp_0和mvp_l,对于每一个预测单元(Prediction Unit, PU)的运动矢量差(Motion Vector Difference, MVD),其可能由 MV — mvp_0 或 MV — mvp_l 得到。
[0032]需要说明的是,在本发明实施例中,预测单元类似于H.264/AVC中的运动块即使用帧间预测技术的宏块下划分出来的更小的块;由于每一个这样的块都可以有自己的运动矢量,因此,每一个预测单元也都可以拥有自己的运动矢量。
[0033]对于编码器端当前所用的是哪一个参考帧列表以及传输的是哪一个参考帧列表内匹配块的运动信息,在本发明实施例中,是根据语法元素即inter_pred_idc的值来确定。具体地,若当前PU属于双向预测条带,则传输语法元素inter_pred_idc,其值可以是Pred_L0> Pred_Ll 或 Pred_BI ;进一步地,当 inter_pred_idc 的值为 Pred_L0 时,则确定所用的是参考帧列表0,并且需要传输的是参考帧列表O内匹配块的运动信息,当inter_pred_idc的值为Pred_Ll时,则确定所用的是参考帧列表1,并且需要传输的是参考帧列表I内匹配块的运动信息;当inter_pred_idc的值为Pred_BI时,则确定所用的是参考中贞列表O和参考巾贞列表I,并且需要传输的是参考巾贞列表O和参考巾贞列表I内匹配块的运动信息。若当前PU不属于双向预测条带,则不传输语法元素inter_pred_idc,即语法元素inter_pred_idc 的值默认为是 Pred_0。
[0034]至于确定是否需要传输运动信息,则可以根据预测模式来确定,即若当前PU的帧间预测模式不是Merge模式,则确定传输运动信息,否则缺省运动信息。
[0035]S102,若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。
[0036]若编码器端确定当前所用的是哪一个参考帧列表以及需要传输的是哪一个参考帧列表内匹配块的运动信息,则作为将所述确定的所用参考帧列表内匹配块的参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流的一个实施例,可以是先将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,再将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。具体地,若编码器端确定当前所用的是参考帧列表O以及需要传输的是参考帧列表O内匹配块的运动信息,则依次写入码流的运动信息包括参考帧列表O内匹配块的参考帧索引值(以下使用ref_idX_10表示)、参考帧列表O内匹配块的运动矢量预测值标识(以下使用mvp_10_flag表示)和参考帧列表O内匹配块的运动矢量差(以下使用mvd_10表示)相关信息;若编码器端确定当前所用的是参考帧列表I以及需要传输的是参考帧列表I内匹配块的运动信息,则依次写入码流的运动信息包括参考帧列表I内匹配块的参考帧索引值(以下使用ref_idx_ll表示)、参考帧列表I内匹配块的运动矢量预测值标识(以下使用mvp_ll_flag表示)和参考帧列表I内匹配块的运动矢量差(以下使用mvd_ll表示)相关信息;若编码器端确定当前所用的是参考帧列表O和参考帧列表I以及需要传输的是参考帧列表O和参考帧列表I内匹配块的运动信息,则依次写入码流的运动信息包括参考帧列表O内匹配块的ref_idx_10、mvp_10_flag以及mvd_10相关信息,和参考巾贞列表I内匹配块的ref_idx_l I > mvp_l l_f lag 以及 mvd_ll 相关信息。
[0037]作为将所述确定的所用参考帧列表内匹配块的参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流的另一实施例,可以先将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,再将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。具体地,若编码器端确定当前需要传输的是参考帧列表O内匹配块的运动信息,则依次写入码流的运动信息包括mvp_10_flag、ref_idx_10和mvd_10相关信息;若编码器端确定当前需要传输的是参考帧列表I内匹配块的运动信息,则依次写入码流的运动信息包括mvp_ll_flag、ref_idx_ll和mvd_11相关信息;若编码器端确定当前需要传输的是参考巾贞列表O和参考巾贞列表I内匹配块的运动信息,则依次写入码流的运动信息包括mvp_10_flag、ref_idx_10以及mvd_10相关信息,和 mvp_ll_flag、ref_idx_ll、以及 mvd_ll 相关信息。
[0038]上述运动信息,可以按照写入码流的顺序传输至解码器端,即解码器端最终可以按照运动信息在编码器端写入码流的顺序读取解析码流。
[0039]以下以参考巾贞列表I为例,说明传输mvd_10相关信息的技术方案;传输mvd_ll相关信息的技术方案与传输mvd_10相关信息的技术方案类似,不做赘述。
[0040]具体地,mvd_10相关信息包括mvd_10水平分量的绝对值大于O标识(以下使用abs_mvd_greater0_flag[0]表示)、mvd_10竖直分量的绝对值大于O标识(以下使用abs_mvd_greaterO_flag[l]表示)、mvd_10水平分量绝对值大于I标识(以下使用abs_mvd_greaterl_flag[0]表示)、mvd_10竖直分量绝对值大于I标识(以下使用abs_mvd_greater l_f lag [I]表示)、mvd_10水平分量绝对值减2后的幅值(以下使用abs_mvd_minus2 [O]表示)、mvd_10水平分量的正负号(以下使用mvd_sign_flag[0]表示)、mvd_10竖直分量绝对值减2后的幅值(以下使用abs_mvd_minus2[l]表示)和mvd_10竖直分量的正负号(以下使用 mvd_sign_flag[l]表不)。对于 abs_mvd_greaterl_flag[0]、abs_mvd_greaterl_flag[I]、abs_mvd_minus2 [0]、mvd_sign_flag[0]、abs_mvd_minus2 [I]和 mvd_sign_flag[l]都是有条件传输,即,若mvd_10水平分量绝对值大于O,则传输abs_mvd_greaterl_f lag[0] ;gmvd_10 竖直分量绝对值大于 0,则传输 abs_mvd_greaterl_flag[l];若mvd_10水平分量绝对值大于1,则传输abs_mvd_minus2[O]和mvd_sign_flag[0];若mvd_10 竖直分量绝对值大于 I,则传输 abs_mvd_minus2 [I]和 mvd_sign_flag[l]。
[0041]从上述本发明实施例提供的帧间预测编码运动信息的处理方法可知,由于传输到解码器端的匹配块的运动信息包括运动矢量预测值标识,并且在传输过程中,是将对应参考帧列表内匹配块的运动矢量预测值标识先于运动矢量差相关信息写入码流。因此,与现有技术提供的帧间预测编码运动信息的处理相比,本发明实施例提供的方法可以使解码器一端根据运动矢量预测值标识取得对当前图像块而言最优的运动矢量预测值,而运动矢量预测值标识先于运动矢量差相关信息写入码流也使得解码器可以并行处理这些信息即在解析运动矢量差相关信息的同时根据已解析出的运动矢量预测值标识解码得到运动矢量预测值,从而提高了码流在解码器一端的解码速度。
[0042]请参阅附图2,是本发明另一实施例提供的帧间预测编码运动信息的处理方法流程示意图,其执行主体可以是采用帧间预测编码技术的通信系统的解码器。附图2示例的方法主要包括步骤S201和步骤S02:
[0043]S201,根据语法元素的值确定所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息。
[0044]与附图1的实施例类似,在本实施例中,参考帧列表内匹配块的运动信息包括参考帧索引值、运动矢量差和运动矢量预测值标识;参考帧列表内匹配块的运动信息包括参考中贞列表O (reference list O)内匹配块的运动信息和/或参考巾贞列表I (referencelist I)内匹配块的运动信息,即包括参考帧列表O内匹配块的运动信息、参考帧列表I内匹配块的运动信息或参考帧列表O内匹配块的运动信息和参考帧列表I内匹配块的运动信息。当解码器端收到编码器传输过来的运动矢量预测值标识时,解码器获知编码器端在编码时选择的运动矢量预测值是mvp_0还是mvp_l。
[0045]对于解码器端当前所用的是哪一个参考帧列表以及需要解析的是哪个一个参考帧列表内匹配块的运动信息,在本实施例中,是根据语法元素即inter_pred_idc的值来确定。具体地,若当前PU属于双向预测条带,则读取并解析语法元素inter_pred_idc,其值可以是 Pred_LO、Pred_Ll 或 Pred_BI ;进一步地,当 inter_pred_idc 的值为 Pred LO 时,则确定所用的是参考帧列表0,需要读取并解析的是参考帧列表O内匹配块的运动信息,当inter_pred_idc的值为Pred_Ll时,则确定所用的是参考巾贞列表1,需要读取并解析的是参考中贞列表I内匹配块的运动信息;当inter_pred_idc的值为Pred_BI时,则确定所用的是参考巾贞列表O和参考巾贞列表I,需要读取并解析的是参考巾贞列表O和参考巾贞列表I内匹配块的运动信息。若当前PU不属于双向预测条带,贝U不解析语法元素inter_pred_idc,即语法元素inter_pred_idc的值默认为是Pred_0。
[0046]至于确定是否需要读取并解析运动信息,则可以根据预测模式来确定,即若当前PU的帧间预测模式不是Merge模式,则确定读取并解析运动信息,否则缺省运动信息。
[0047]S202,若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。
[0048]若解码器端确定当前所用的是哪一个参考帧列表以及需要解析的是哪一个参考帧列表内匹配块的运动信息,则作为先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息的一个实施例,可以是依次读取并解析码流中所述确定的所用参考帧列表内匹配块的参考帧索引值、运动矢量预测值标识和运动矢量差相关信息。具体地,若解码器端确定当前所用的是参考帧列表O以及需要解析的是参考帧列表O内匹配块的运动信息,则依次读取并解析码流中参考帧列表O内匹配块的参考帧索引值(以下使用ref_idx_10表示)、参考帧列表O内匹配块的运动矢量预测值标识(以下使用mvp_10_f lag表示)和参考帧列表O内匹配块的运动矢量差(以下使用mvd_10表示)相关信息;若解码器端确定当前所用的是参考帧列表I以及需要解析的是参考帧列表I内匹配块的运动信息,则依次读取并解析码流中参考帧列表I内匹配块的参考帧索引值(以下使用ref_idx_ll表示)、参考帧列表I内匹配块的运动矢量预测值标识(以下使用mvp_ll_flag表示)和参考帧列表I内匹配块的运动矢量差(以下使用mvd_ll表示)相关信息;若解码器端确定当前所用的是参考帧列表O和参考帧列表I以及需要解析的是参考帧列表O和参考帧列表I内匹配块的运动信息,则依次读取并解析码流中 ref_idx_10、mvp_10_flag 以及 mvd_10 相关信息,和 ref_idx_ll、mvp_ll_flag 以及mvd_ll相关信息。
[0049]作为先解析所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识的后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息的另一实施例,可以是依次读取码流中确定的所用参考帧列表内匹配块的所述运动矢量预测值标识、参考帧索引值和运动矢量差相关信息。具体地,若解码器端确定当前所用的是参考帧列表O以及需要解析的是参考巾贞列表O内匹配块的运动信息,则依次读取并解析码流中mvp_10_flag、ref_idx_10和mvd_10相关信息;若解码器端确定当前所用的是参考帧列表I以及需要解析的是参考巾贞列表I内匹配块的运动信息,则依次读取并解析码流中mvpv_ll_flag、ref_idx_11和mvd_ll相关信息;若解码器端确定当前所用的是参考帧列表O和参考帧列表I以及需要解析的是参考帧列表O和参考帧列表I内匹配块的运动信息,则依次读取并解析码流中mvp_10_flag> ref_idx_10 以及 mvd_10 相关信息,和 mvp_ll_flag、ref_idx_ll 以及 mvd_11相关信息。以下以参考帧列表O为例,说明解码器解析mvdl_0的技术方案;解码器解析mvd_lI相关信息的技术方案与解析mvd_10相关信息的技术方案类似,不做赘述。
[0050]具体地,在本实施例中,mvd_10相关信息包括mvd_10水平分量的绝对值大于O标识(以下使用abs_mvd_greater0_flag[0]表示)、mvd_10竖直分量的绝对值大于O标识(以下使用abs_mvd_greaterO_flag[l]表示)、mvd_10水平分量绝对值大于I标识(以下使用abs_mvd_greaterl_flag[0]表示)、mvd_10竖直分量绝对值大于I标识(以下使用abs_mvd_greaterl_flag[l]表示)、mvd_10水平分量绝对值减2后的幅值(以下使用abs_mvd_minus2 [O]表示)、mvd_10水平分量的正负号(以下使用mvd_sign_flag[0]表示)、mvd_10竖直分量绝对值减2后的幅值(以下使用abs_mvd_minus2[l]表示)和mvd_10竖直分量的正负号(以下使用 mvd_sign_flag[l]表不)。对于 abs_mvd_greaterl_flag[0]、abs_mvd_greaterl_flag[I]、abs_mvd_minus2 [0]、mvd_sign_flag[0]、abs_mvd_minus2 [I]和 mvd_sign_flag[l]都是有条件解析,即,若mvd_10水平分量绝对值大于0,则解码器读取并解析abs_mvd_greaterl_flag[0];若mvd_10竖直分量绝对值大于O,则解码器读取并解析abs_mvd_greaterl_flag[l] ;Smvd_10水平分量绝对值大于1,则解码器读取并解析abs_mvd_minus2[0]和mvd_sign_flag[0];若mvd_10竖直分量绝对值大于I,则解码器读取并解析abs_mvd_minus2[I]和 mvd_sign_flag[l]。
[0051]对于附图2示例的帧间预测编码运动信息的处理方法,由于运动矢量预测值标识在码流中的位置先于运动矢量差相关信息,因此,解码器可以先将运动矢量预测值标识解析出来,然后解析运动矢量差相关信息。与先解析运动矢量差相关信息,在解析运动矢量差相关信息完成后,再解析运动矢量预测值标识的方案相比,附图2示例的帧间预测编码运动信息的处理方法使得解码器端解码速度大大加快,利于其并行处理。这是因为,运动矢量差相关信息相较于运动矢量预测值标识要复杂。假设解析运动矢量差相关信息耗费的时间是T1,解码运动矢量预测值耗费的时间是T2。若采用先解析运动矢量差相关信息,在解析运动矢量差相关信息完成后,再解析运动矢量预测值标识,然后根据解析出来的运动矢量预测值标识解码运动矢量预测值(MVP)的方案,则解析运动矢量差相关信息和解码运动矢量预测值总共耗费的时间是两者的时间和即T1 + Τ2。若采用先解析运动矢量预测值标识,在解析运动矢量预测值标识完成后,再解析运动矢量差相关信息,然后,在解析运动矢量差相关信息的同时根据已经解析出来的运动矢量预测值标识解码运动矢量预测值,则解析运动矢量差相关信息和解码运动矢量预测值总共耗费的时间是max (T1, T2)即两者中的最大值,显然,max (T1, T2)要小于 T1 + T20
[0052]在附图2示例的方法中,先解析对应参考帧列表内匹配块的运动矢量预测值标识后,再解析运动矢量差相关信息的步骤之后,进一步包括:根据所述参考帧索引值确定匹配块所在的参考帧;重建对应参考帧列表内匹配块的运动矢量;根据所述确定的匹配块所在的参考帧和所述重建的对应参考帧列表内匹配块的运动矢量,获取当前帧间预测单元在对应参考帧列表内的匹配块。
[0053]以解码器端选择的是参考帧列表O为例(选择参考帧列表I时类似,不做赘述),在重建对应参考帧列表内匹配块的运动矢量时,具体可以是:
[0054]SI,根据所述确定的所用参考帧列表内匹配块的运动矢量差相关信息恢复所述确定的所用参考帧列表内匹配块的运动矢量差;具体地,参考帧列表O内匹配块的运动矢量差(mvd_10)相关信息包括mvd_10水平分量(以下使用mvd_x表示)和mvd_10竖直分量(以下使用mvd_y表示),其中,mvd_x可按照以下方式计算:
[0055]mvd_x=abs_mvd_greaterO_flag[O] * (abs_mvd_minus2[O]+2)*(l_2*mvd_sign_flag[0]);
[0056]mvd_y可按照以下方式计算:
[0057]mvd_y=abs_mvd_greaterO_flag[l] * (abs_mvd_minus2[I]+2) * (l_2*mvd_sign_flag[l]);
[0058]上述mvd_x 和 mvd_y 的表不式中,abs_mvd_greater0_flag[0]、abs_mvd_minus2 [0] > mvd_sign_flag[0] > abs_mvd_greaterO_flag[l] > abs_mvd_minus2 [I]以 及abs_mvd_minus2[l]的意义可参阅前述实施例,此处不做赘述。
[0059]S2,根据所述确定的所用参考帧列表内匹配块的参考帧列表内匹配块的运动矢量预测值标识确定当前帧间预测单元(PU)的运动矢量预测值;
[0060]S3,将所述恢复的运动矢量差与所述确定的当前帧间预测单元的运动矢量预测值相加,得到对应参考帧列表内匹配块的运动矢量。
[0061]在重建当前图像块时,可仅使用一个列表中的匹配块,或两个列表中匹配块加权后得到的加权匹配块。具体有关使用的列表的选择在码流中有相应的语法元素指明;重建的当前图像块为图像预测残差块与(加权)匹配块相加得到。
[0062]请参阅附图3,是本发明实施例提供的帧间预测编码运动信息的处理装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图3示例的帧间预测编码运动信息的处理装置可以是采用帧间预测编码技术的通信系统的编码器。附图3示例的帧间预测编码运动信息的处理装置包括确定模块301和写入模块302,其中:
[0063]确定模块301,用于根据语法元素的值确定当前所用参考帧列表以及所述所用需要传输的参考巾贞列表内需要传输的匹配块的运动信息。
[0064]在本实施例中,参考帧列表包括参考帧列表O (reference list O)和参考帧列表I (reference list I)中的至少一个,即可能是参考巾贞列表O、可能是参考巾贞列表I或可能是参考帧列表O和参考帧列表1,每个参考帧列表的作用与前述实施例或【背景技术】提及的参考帧列表的作用相同。参考帧列表内匹配块的运动信息除了包括参考帧索引值和运动矢量差之外,还包括运动矢量预测值标识(以下使用MVP_flag表示)。参考帧列表内匹配块的运动信息包括参考帧列表O (reference list O)内匹配块的运动信息和/或参考帧列表I (reference list I)内匹配块的运动信息,即包括参考帧列表O内匹配块的运动信息、参考帧列表I内匹配块的运动信息或参考帧列表O内匹配块的运动信息和参考帧列表I内匹配块的运动信息。运动矢量预测值标识(MVP_flag)即用于表明编码器端选择的运动矢量预测值是mvp_0还是mvp_l ;当编码器将运动矢量预测值标识传输至解码器端时,也相当于告知了解码器编码器端在编码时选择的运动矢量预测值是mvp_0还是mvp_l。
[0065]具体地,若当前PU属于双向预测条带,则传输语法元素inter_pred_idc,其值可以是 Pred_L0、Pred_Ll 或 Pred_BI ;进一步地,当 inter_pred_idc 的值为 Pred_L0 时,则确定模块301确定所用的是参考巾贞列表O,并且需要传输的是参考巾贞列表O内匹配块的运动信息,当inter_pred_idC的值为Pred_Ll时,则确定模块301确定所用的是参考帧列表1,并且需要传输的是参考巾贞列表I内匹配块的运动信息;当inter_pred_idc的值为Pred_BI时,则确定模块301确定所用的是参考帧列表O和参考帧列表1,并且需要传输的是参考帧列表O和参考帧列表I内匹配块的运动信息。若当前不属于双向预测条带,则不传输语法元素inter_pred_idc,即语法元素inter_pred_idc的值默认为是Pred_0。
[0066]写入模块302,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块301确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。
[0067]以参考巾贞列表I为例,说明传输mvd_10相关信息的技术方案;传输mvd_ll相关信息的技术方案与传输mvd_10相关信息的技术方案类似,不做赘述。
[0068]具体地,mvd_10相关信息包括mvd_10水平分量的绝对值大于O标识(以下使用abs_mvd_greater0_flag[0]表示)、mvd_10竖直分量的绝对值大于O标识(以下使用abs_mvd_greaterO_flag[l]表示)、mvd_10水平分量绝对值大于I标识(以下使用abs_mvd_greaterl_flag[0]表示)、mvd_10竖直分量绝对值大于I标识(以下使用abs_mvd_greater l_f lag [I]表示)、mvd_10水平分量绝对值减2后的幅值(以下使用abs_mvd_minus2 [O]表示)、mvd_10水平分量的正负号(以下使用mvd_sign_flag[0]表示)、mvd_10竖直分量绝对值减2后的幅值(以下使用abs_mvd_minus2[l]表示)和mvd_10竖直分量的正负号(以下使用 mvd_sign_flag[l]表不)。对于 abs_mvd_greaterl_flag[0]、abs_mvd_greaterl_flag[I]、abs_mvd_minus2 [0]、mvd_sign_flag[0]、abs_mvd_minus2 [I]和 mvd_sign_flag[l]都是有条件传输,即,若mvd_10水平分量绝对值大于O,则传输abs_mvd_greaterl_f lag[0] ;gmvd_10 竖直分量绝对值大于 0,则传输abs_mvd_greaterl_f lag[l];若mvd_10水平分量绝对值大于1,则传输abs_mvd_minus2[O]和mvd_sign_flag[0];若mvd_10 竖直分量绝对值大于 I,则传输 abs_mvd_minus2 [I]和 mvd_sign_flag[l]。
[0069]需要说明的是,以上帧间预测编码运动信息的处理装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述帧间预测编码运动信息的处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的确定模块,可以是具有执行前述根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列别内需要传输的运动信息的硬件,例如确定器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的传输模块,可以是具有执行前述若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块(或确定器)确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流功能的硬件,例如传输器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
[0070]附图3示例的写入模块302可以包括第一写入单元401,如附图4所示本发明另一实施例提供的帧间预测编码运动信息的处理装置。第一写入单元401用于先将所述确定的所用参考帧列表内匹配块的所述参考帧索引值写入码流,再将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关息写入码流。
[0071]附图3示例的传输模块302可以包括第二写入单元501,如附图5所示本发明另一实施例提供的帧间预测编码运动信息的处理装置。第二写入单元501用于先将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,再将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关息写入码流。
[0072]请参阅附图6,是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图6示例的帧间预测编码运动信息的处理装置可以是采用帧间预测编码技术的通信系统的解码器。附图6示例的帧间预测编码运动信息的处理装置包括待解析确定模块601和解析模块602,其中:
[0073]待解析确定模块601,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关?目息。[0074]解析模块602,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块601确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢
量差相关信息。
[0075]需要说明的是,以上帧间预测编码运动信息的处理装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述帧间预测编码运动信息的处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的待解析确定模块,可以是具有执行前述根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息的硬件,例如待解析确定器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的解析模块,可以是具有执行前述若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块(或待解析确定器)确定,则先解析所述确定的所用参考帧列表内匹配块的所述所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述运动矢量差相关信息功能的硬件,例如解析器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
[0076]附图6示例的解析模块602可以包括第一析取单元701,如附图7所示本发明另一实施例提供的帧间预测编码运动信息的处理装置。第一析取单元701,用于依次读取并解析码流中所述确定的所用参考帧列表内匹配块的参考帧索引值、运动矢量预测值标识和运动矢量差相关?目息。
[0077]附图6示例的解析模块602也可以包括第二析取单元801,如附图8所示本发明另一实施例提供的帧间预测编码运动信息的处理装置。第二析取单元801,用于依次读取并解析码流中所述确定的所用参考帧列表内匹配块的运动矢量预测值标识、参考帧索引值和运动矢量差相关息。
[0078]附图6示例的帧间预测编码运动信息的处理装置还可以包括参考帧确定模块901、重建模块902和获取模块903,如附图9所示本发明另一实施例提供的帧间预测编码运动信息的处理装置,其中:
[0079]参考帧确定模块901,用于根据所述参考帧索引值确定匹配块所在的参考帧;
[0080]重建模块902,用于重建所述确定的所用参考帧列表内匹配块的运动矢量;
[0081]获取模块903,用于根据所述确定的匹配块所在的参考帧和所述重建的运动矢量,获取当前帧间预测单元在所述确定的所用参考帧列表内的匹配块。
[0082]附图9示例的重建模块902可以包括运动矢量差恢复单元1001、运动矢量预测值确定单元1002和求和单元1003,如附图10所示本发明另一实施例提供的帧间预测编码运动信息的处理装置,其中:
[0083]运动矢量差恢复单元1001,用于根据所述确定的所用参考帧列表内匹配块的运动矢量差相关信息恢复所述确定的所用参考帧列表内匹配块的运动矢量差;
[0084]以参考帧列表O为例,参考帧列表O内匹配块的运动矢量差(mvd_10)相关信息包括mvd_10水平分量(mvd_x)和mvd_10竖直分量(mvd_y),运动矢量差恢复单元1001可按照以下方式计算mvd_x:
[0085]mvd_x=abs_mvd_greaterO_flag[O] * (abs_mvd_minus2[O]+2)*(l_2*mvd_sign_flag[0]);
[0086]运动矢量差恢复单元1001可按照以下方式计算mvd_y:
[0087]mvd_y=abs_mvd_greaterO_flag[l] * (abs_mvd_minus2[I]+2) * (l_2*mvd_sign_flag[l]);
[0088]上述mvd_x 和 mvd_y 的表不式中,abs_mvd_greater0_flag[0]、abs_mvd_minus2 [0] > mvd_sign_flag[0] > abs_mvd_greaterO_flag[l] > abs_mvd_minus2 [I]以 及abs_mvd_minus2[l]的意义可参阅前述实施例,此处不做赘述。
[0089]运动矢量预测值确定单元1002,用于根据所述所述确定的所用参考帧列表内匹配块的运动矢量预测值标识确定当前帧间预测单元的运动矢量预测值;
[0090]求和单元1003,用于将所述恢复的参考帧列表内匹配块的运动矢量差与所述确定的当前帧间预测单元的运动矢量预测值相加,得到对应参考帧列表内匹配块的运动矢量。
[0091]请参阅附图11,是本发明实施例提供的编解码系统结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图11示例的编解码系统包括附图3至附图5任意一实施例提供的编码器111和附图6至附图10任意一实施例提供的解码器112,其中,编码器111包括确定模块1111和传输模块1112,解码器112包括解码器包括待解析确定模块1121和解析模块1122,其中:
[0092]确定模块1111,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考中贞列表内需要传输的匹配块的运动信息,所述参考巾贞列表包括参考巾贞列表O和参考巾贞列表I中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;
[0093]传输模块1112,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块1111确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流;
[0094]待解析确定模块1121,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息;
[0095]解析模块1122,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块1121确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述所述确定的所用参考帧列表内匹配块的
运动矢量差相关信息。
[0096]需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0097]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,比如以下各种方法的一种或多种或全部:
[0098]方法一:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考巾贞列表包括参考巾贞列表O和参考巾贞列表I中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;
[0099]若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。
[0100]方法二:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表I中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;
[0101]若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。
[0102]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
[0103]以上对本发明实施例提供的帧间预测编码运动信息的处理方法、装置和编解码系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种帧间预测编码运动信息的处理方法,其特征在于,所述方法包括: 根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息; 若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。
2.如权利要求1所述的方法,其特征在于,所述将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流包括: 先将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,再将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。
3.如权利要求1所述的方法,其特征在于,所述将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流包括: 先将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,再将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。
4.一种帧间预测编码运动信息的处理方法,其特征在于,所述方法包括: 根据语法元素的值确定当前 所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息; 若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。
5.如权利要求4所述的方法,其特征在于,所述先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用运动矢量差相关信息包括: 依次读取并解析码流中所述确定的所用参考帧列表内匹配块的参考帧索引值、运动矢量预测值标识和运动矢量差相关信息。
6.如权利要求4所述的方法,其特征在于,所述先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用运动矢量差相关信息包括: 依次读取并解析码流中所述确定的所用参考帧列表内匹配块的运动矢量预测值标识、参考帧索引值和运动矢量差相关信息。
7.如权利要求4所述的方法,其特征在于,所述先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用运动矢量差相关信息的步骤之后,所述方法进一步包括: 根据所述参考帧索引值确定匹配块所在的参考帧; 重建所述确定的所用参考帧列表内匹配块的运动矢量;根据所述确定的匹配块所在的参考帧和所述重建的参考帧列表内匹配块的运动矢量,获取当前帧间预测单元在对应参考帧列表内的匹配块。
8.如权利要求7所述的方法,其特征在于,所述重建对应参考帧列表内匹配块的运动矢量包括: 根据所述确定的所用参考帧列表内匹配块的运动矢量差相关信息恢复所述确定的所用参考帧列表内匹配块的运动矢量差; 根据所述确定的所用参 考帧列表内匹配块的运动矢量预测值标识确定当前帧间预测单元的运动矢量预测值; 将所述恢复的参考帧列表内匹配块的运动矢量差与所述确定的当前帧间预测单元的运动矢量预测值相加,得到所述确定的所用参考帧列表内匹配块的运动矢量。
9.一种帧间预测编码运动信息的处理装置,其特征在于,所述装置包括: 确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息; 写入模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。
10.如权利要求9所述的装置,其特征在于,所述写入模块包括: 第一写入单元,用于先将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,再将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。
11.如权利要求9所述的装置,其特征在于,所述写入模块包括: 第二写入单元,用于先将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,再将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。
12.—种帧间预测编码运动信息的处理装置,其特征在于,所述装置包括: 待解析确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表I中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息; 解析模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。
13.如权利要求12所述的装置,其特征在于,所述解析模块包括: 第一析取单元,用于依次读取并解析码流中所述确定的所用参考帧列表内匹配块的参考帧索引值、运动矢量预测值标识和运动矢量差相关信息。
14.如权利要求12所述的装置,其特征在于,所述解析模块包括: 第二析取单元,用于依次读取并解析码流中所述确定的所用参考帧列表内匹配块的运动矢量预测值标识、参考帧索引值和运动矢量差相关信息。
15.如权利要求12所述的装置,其特征在于,所述装置进一步包括: 参考帧确定模块,用于根据所述参考帧索引值确定匹配块所在的参考帧; 重建模块,用于重建所述确定的所用参考帧列表内匹配块的运动矢量; 获取模块,用于根据所述确定的匹配块所在的参考帧和所述重建的参考帧列表内匹配块的运动矢量,获取当前帧间预测单元在对应参考帧列表内的匹配块。
16.如权利要求15所述的装置,其特征在于,所述重建模块包括: 运动矢量差恢复单元,用于根据所述确定的所用参考帧列表内匹配块的运动矢量差相关信息恢复所述确定的所用参考帧列表内匹配块的运动矢量差; 运动矢量预测值确定单元,用于根据所述确定的所用参考帧列表内匹配块的运动矢量预测值标识确定当前帧间预测单元的运动矢量预测值; 求和单元,用于将所述恢复的参考帧列表内匹配块的运动矢量差与所述确定的当前帧间预测单元的运动矢量预测值相加,得到所述确定的所用参考帧列表内匹配块的运动矢量。
17.一种编解码系统,其特征在于,所述编解码系统包括编码器和解码器,所述编码器包括确定模块和写入模块,所述解码器包括待解析确定模块和解析模块; 所述确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表O和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息; 所述写入模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流; 所述待解析确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息; 所述解析模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述 确定的所用参考帧列表内匹配块运动矢量差相关信肩、O
【文档编号】H04N19/52GK103533376SQ201210225481
【公开日】2014年1月22日 申请日期:2012年7月2日 优先权日:2012年7月2日
【发明者】杨海涛, 张星宇, 时永方, 區子廉 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1