主权项 |
1、一种自适应运动矢量合成方法,分为主导宏块选择和主导运动矢量选择,其特征在于:主导宏块选择包括以下步骤:第一步骤:当前块为16×16、16×8、8×16、8×8中的一种,当前块的参考块会覆盖一个、两个或四个宏块,如果该参考块在某个宏块中的被覆盖面积大于70%,则选取该宏块为主导宏块;第二步骤:否则,该参考块在相邻宏块中的覆盖面积相差不大,此时如果仍然按照覆盖面积来选取主导宏块会造成较大误差,本方法根据相邻宏块的活动性选择主导宏块,宏块的活动性以参考块所覆盖的8×8DCT块的DC系数或4×4DCT块的DC系数和为判断准则;计算方法如式(1)~(5)所示,其中Iijn-1表示n-1帧参考块覆盖的宏块i中的第j个8×8块,DC(Iijn-1)表示上述8×8块的DC系数值即“DCT以8×8块为单位”或8×8块中所有4×4块的DC系数之和即“DCT以4×4块为单位”;最终,参考块所覆盖的宏块中DC值最大的宏块被选择为主导宏块;DC(I1n-1)=DC(I13n-1)+DC(I14n-1) (1)DC(I2n-1)=DC(I23n-1) (2)DC(I3n-1)=DC(I31n-1)+DC(I32n-1)+DC(I33n-1)+DC(I34n-1) (3)DC(I4n-1)=DC(I41n-1)+DC(I42n-1) (4)DMB=max{DC(I1n-1),DC(I2n-1),DC(I3n-1),DC(I4n-1)} (5)第三步骤:如果各宏块的DC系数和为零,则活动性判断准则失效,此时为克服ADVS引入的近似误差,本方法按照覆盖面积的大小来选择主导宏块;在选定主导宏块后,本方法的主导运动矢量选择策略如下:首先定义主导宏块为DMB,DMB中所有运动矢量的集合为MVgroup,主导运动矢量为DMV;(1)如果DMB分块模式为16×16,MVgroup中只有一个运动矢量,该运动矢量即为DMV;(2)如果主导宏块分块模式为16×8、8×16,MVgroup中有两个运动矢量,若参考块只覆盖了一个块,则该块的运动矢量为DMV;若参考块覆盖了两个块,基于相邻帧运动矢量在时间上的相关性,本方法根据当前块运动矢量的大小来选择DMV;如果当前块运动矢量的绝对值大于16,认为当前块运动位移较大,则DMV选择两个运动矢量中较大的一个,否则DMV选择较小的一个;(3)如果DMB分块模式为8×8,MVgroup中有四个运动矢量,DMV取四个运动矢量的中值;(4)如果DMB为帧内模式,则强制当前宏块采用帧内模式编码;前向主导运动矢量选择法需要重新计算宏块编码模式,本方法对解码得到的宏块编码模式进行重用,具体方法如下:(1)如果解码得到的当前宏块为帧内块,则无需作运动矢量合成,重用当前宏块的帧内模式;(2)如果解码得到的当前宏块为skip模式,将该宏块作为16×16Inter块处理,其运动矢量为相邻块运动矢量预测值;(3)如果解码得到的当前宏块为16×8、8×16、8×8的Inter块,则重用当前宏块的编码模式。 |