首页> 中国专利> 一种H.264运动估计编码的全面运动估计改进算法

一种H.264运动估计编码的全面运动估计改进算法

摘要

本发明公开了一种H.264运动估计编码的全面运动估计改进算法,包括以下步骤:1)提出了整像素精度下的,基于UMHexagonS算法的自适应视频运动估计搜索算法,包括自适应地改进非对称十字搜索步长和范围以及自适应地改进5×5中心偏置螺旋搜索;2)提出了分像素精度下的,基于FFPS、CBFPS算法的多矢量相关预测快速搜索算法,即根据当前最佳运动矢量的整数部分和相邻块运动矢量的整数部分具有相似性的特点,将相关特性结合,确定分像素起始运动矢量的选择;3)分析各种类型的视频运动估计时间。本发明对于减少视频运动估计搜索,提高视频运动估计时间具有重要意义。实验表明,改进算法在引起少量的质量失真和码率增加的情况下,平均减少了15%的运动估计时间。

著录项

  • 公开/公告号CN103957420A

    专利类型发明专利

  • 公开/公告日2014-07-30

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN201410182288.9

  • 发明设计人 缪云彬;陈泽琳;姜莎莎;

    申请日2014-04-30

  • 分类号H04N19/523(20140101);H04N19/533(20140101);

  • 代理机构44245 广州市华学知识产权代理有限公司;

  • 代理人蔡茂略

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-12-17 00:40:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-07

    未缴年费专利权终止 IPC(主分类):H04N19/523 专利号:ZL2014101822889 申请日:20140430 授权公告日:20170215

    专利权的终止

  • 2017-02-15

    授权

    授权

  • 2014-08-27

    实质审查的生效 IPC(主分类):H04N19/523 申请日:20140430

    实质审查的生效

  • 2014-07-30

    公开

    公开

说明书

技术领域

本发明涉及视频编码算法的技术领域,尤其是指一种H.264运动估计编码 的全面运动估计改进算法(CIME-Comprehensive Improvement of Motion  Estimation)。

背景技术

众所周知,H.264是新一代数字视频压缩格式,其目标应用涵盖了大部分的 视频服务,如有线电视远程监控、交互媒体、数字电视、视频会议、视频点播、 流媒体服务等,提高H.264的编码性能是人们一直追求的目标。

在H.264的预测编码中,运动估计编码约占总编码时间的60%~80%,目前 的运动估计编码方法还有许多不足之处:

1、UMHexagonS算法对所有运动类型的视频序列都采用同样的十字搜索步 长和范围,从而导致了很多不必要的搜索;

2、UMHexagonS算法对所有块的运动矢量都采用5×5螺旋全搜索,存在 计算冗余;

3、分数像素搜索时的预测条件分析不足,从而导致了很多不必要的搜索。

发明内容

本发明的目的在于克服现有技术的不足与缺点,提供一种H.264运动估计 编码的全面运动估计改进算法,可以有效地改进编码的预测精度和速度。

为实现上述目的,本发明所提供的技术方案为:一种H.264运动估计编码 的全面运动估计改进算法,包括以下步骤:

1)提出了整像素精度下的,基于UMHexagonS算法的自适应视频运动估计 搜索算法,包括自适应地改进非对称十字搜索步长和范围以及自适应地改进5×5 中心偏置螺旋搜索;

2)提出了分像素精度下的,基于FFPS、CBFPS算法的多矢量相关预测快 速搜索算法,即根据当前最佳运动矢量的整数部分和相邻块运动矢量的整数部 分具有相似性的特点,将相关特性结合,确定分像素起始运动矢量的选择,根 据不同情况改进搜索范围;

3)根据步骤1)和步骤2)所得的算法,分析各种类型的视频运动估计时 间。

在步骤1)中,自适应地改进非对称十字搜索步长和范围,如下:

根据经验值设定运动程度阈值:平缓运动阈值为Threshold1,剧烈运动阈值 为Threshold2;则十字搜索的步长Step和范围(Wx,Wy)分别定义为:

其中,SADcurr为当前块的最小SAD;运动程度阈值的定义分别为:

threshold1=(1+β1)×pred_SAD

threshold2=(1+β2)×pred_SAD

其中,pred_SAD为当前块的SAD,β1、β2为自适应系数,定义如下:

β1=Bsize[blocktype]pred_SAD2-α1[blocktype]

β2=Bsize[blocktype]pred_SAD2-α2[blocktype]

其中,

α1[blocktype]={0.06,0.07,0.07,0.08,0.12,0.11,0.15}

α2[blocktype]={0.01,0.01,0.01,0.02,0.03,0.03,0.04}。

在步骤1)中,自适应地改进5×5中心偏置螺旋搜索,如下:

由于相邻块的运动矢量有很高的空间相关性,为每一个已搜索的块设置标 志,在搜索当前块时,根据相邻块的标志,决定搜索选择,包括以下三种搜索 选择情况:

①5×5螺旋全搜索,当左相邻块、上相邻块、右上相邻块的标志都为1时;

②八边形和小钻石混合模板搜索,当3个相邻块中只有1个或者2个标志 为1时;

③四边形搜索,当所有相邻块标志都为0时。

在步骤2)中,包括由矢量相关性确定1/4分数像素搜索起始位置以及由单 一误差平面特性确定1/2分数像素的搜索;其中,

对于由矢量相关性确定1/4分数像素搜索起始位置,由于当前最佳运动矢量 的整数部分和邻近块运动矢量的整数部分具有相似性特性,所以运用当前块的 运动矢量和邻近块的运动矢量的相关性,确定分数像素起始运动矢量pred_mv 的选择,即判断最佳运动矢量整像素部分和中值预测、上层块预测、邻近块预 测的运动矢量整像素部分是否相等,确定分数像素起始运动矢量,如下式所示:

故当前块的分数像素预测运动矢量为:

frac_pred_mv=(pred_mv-mv)%β

其中,mv为最佳整像素矢量,%为取模运算,β可以取4,因为只需取1/4搜索 精度即可;

对于由单一误差平面特性确定1/2分数像素的搜索,由于分数像素的值是由 整像素插值得到,所以分数像素搜索范围的误差相关性比整像素要大得多,因 此在分像素精度下,单一误差平面的性质更加突出和准确,利用这个特点,在 1/2亚像素精度下不必完全搜索最佳整数点周围的八个1/2亚像素点;在1/2亚 像素搜索阶段,只搜索最优整像素点右下角的三个1/2亚像素点,比较三个点和 起始中心点的SAD误差值COST,确定继续搜索的方向。

本发明与现有技术相比,具有如下优点与有益效果:

1、改进了H.264的视频编码的运动估计算法,相对于原快速编码算法,编 码时间平均减少了15%,为视频压缩和视频传输等提供了更高效的方法;

2、可广泛应用于视频监控设备为主体的编码设备上,或应用于移动流媒体 的视频压缩和传输技术等方面。

附图说明

图1a为本发明所述的5×5螺旋搜索的八边形和小钻石混合模板搜索示意 图。

图1b为本发明所述的5×5螺旋搜索的四边形搜索示意图。

图2为当前块E与邻近块A、B、C、D的分布关系图。

图3为1/2亚像素局部搜索点位置图。

图4为本发明所述全面运动估计改进算法的流程图。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

本实施例所述的H.264运动估计编码的全面运动估计改进算法(CIME- Comprehensive Improvement of Motion Estimation),是基于H.264运动估计的 UMHexagonS、FFPS和CBFPS算法提出的改进方案,简称CIME算法。所述CIME 算法在整数像素精度下,根据视频序列的剧烈运动程度合理改进十字搜索的步 长和搜索范围;根据中心偏置特性和邻近分块的空间相关性,减少5×5螺旋搜 索步骤的搜索点数;利用分数像素精度下运动矢量相关性、单一误差平面的性 质等特征,预测最好的匹配位置区域,简少1/2亚像素的搜索点数。以上CIME 算法提高了整像素和分数像素的运动估计速度。其具体情况如下:

1、提出了整像素精度下的,基于UMHexagonS算法的自适应视频运动估计 搜索算法,包括自适应地改进非对称十字搜索步长和范围以及自适应地改进5×5 中心偏置螺旋搜索。

1)对于自适应地改进非对称十字搜索步长和范围:在UMHexagonS算法中, 当视频的运动程度不同,如果采用不同的非对称十字搜索步长和搜索范围,则 可以极大地提高预测搜索点的准确度和速度。本发明根据经验值设定运动程度 阈值:平缓运动阈值为Threshold1,剧烈运动阈值为Threshold2。则十字搜索的 步长Step和范围(Wx,Wy)分别定义为:

其中,SADcurr为当前块的最小SAD。运动程度阈值的定义分别为:

threshold1=(1+β1)×pred_SAD

threshold2=(1+β2)×pred_SAD

其中,pred_SAD为当前块的SAD,β1、β2为自适应系数,定义如下:

β1=Bsize[blocktype]pred_SAD2-α1[blocktype]

β2=Bsize[blocktype]pred_SAD2-α2[blocktype]

其中,

α1[blocktype]={0.06,0.07,0.07,0.08,0.12,0.11,0.15}

α2[blocktype]={0.01,0.01,0.01,0.02,0.03,0.03,0.04}

改进的算法是根据物体自然运动的特性,设置不同的搜索步长和搜索范围, 提高了搜索的准确性和速度。

2)对于自适应地改进5×5中心偏置螺旋搜索:在UMHexagonS算法中,根 据中心偏置特性,采用了5×5螺旋全搜索。原算法中除去已处理过的中心点, 共需搜索24个点。而实际上,不是每个块的运动矢量都落于5×5的范围内, 所以原算法存在计算冗余。

由于相邻块的运动矢量有很高的空间相关性,我们提出的改进算法是为每 一个已搜索的块设置标志,在搜索当前块时,根据相邻块的标志,决定搜索选 择。本算法设置三种搜索选择情况:

①5×5螺旋全搜索,当左相邻块、上相邻块、右上相邻块的标志都为1时。

②八边形和小钻石混合模板搜索,如图1a所示,当3个相邻块中只有1个 或者2个标志为1时。

③四边形搜索,如图1b所示,当所有相邻块标志都为0时。

改进的算法中,平均搜索的点的个数为(24+12+8)/3=18。比原算法减少6个 点,平均减少1/4的搜索点数。

2、提出了分像素精度下的,基于FFPS、CBFPS算法的多矢量相关预测快 速搜索算法,即根据当前最佳运动矢量的整数部分和相邻块运动矢量的整数部 分具有相似性的特点,将相关特性结合,确定分像素起始运动矢量的选择,根 据不同情况改进搜索范围,包括由矢量相关性确定1/4分数像素搜索起始位置以 及由单一误差平面特性确定1/2分数像素的搜索。

1)对于由矢量相关性确定1/4分数像素搜索起始位置:在CBFPS算法中, 起始搜索点只对小块使用中值预测,对于宏块类型(16×16,16×8,8×16)则进 行完全搜索,即先进行1/2像素全搜索,再进行1/4像素全搜索,这样就增加了 运动估计的时间。因为分数像素搜索是整像素搜索的后续步骤,其运动矢量的 整数部分结果已经确定,且所有的预测运动矢量都是以1/4像素为单位,同时包 含了整像素和分像素部分。因此,我们的改进方法是,由于当前最佳运动矢量 的整数部分和邻近块运动矢量的整数部分具有相似性特性,所以运用当前块的 运动矢量和邻近块的运动矢量的相关性,确定分数像素起始运动矢量pred_mv 的选择,即判断最佳运动矢量整像素部分和中值预测、上层块预测、邻近块预 测的运动矢量整像素部分是否相等,确定分数像素起始运动矢量,如下式所示。 而当前块E与邻近块A、B、C、D的分布如图2所示。

故当前块的分数像素预测运动矢量为:

frac_pred_mv=(pred_mv-mv)%β

其中,mv为最佳整像素矢量,%为取模运算,β可以取4,因为只需取1/4 搜索精度即可。

通过本算法的改进,满足上述情况的像素块不需再进行1/2像素全搜索,只 需直接进行1/4像素的钻石搜索,且迭代次数从原算法的3降为1,因为若当前 块满足上述要求,根据矢量的强相关性,分数像素预测已经足够准确。

2)对于由单一误差平面特性确定1/2分数像素的搜索:对于不满足上述由 矢量相关性确定1/4分数像素搜索起始位置的像素块,若块类型小于或等于8×8, 仍采用CBFPS算法进行运动估计。若块类型为16×16,8×16,16×8,则采用以 下改进后的FFPS完全搜索。

由于分数像素的值是由整像素插值得到,所以分数像素搜索范围的误差相 关性比整像素要大得多。因此在分像素精度下,单一误差平面的性质更加突出 和准确。利用这个特点,在1/2亚像素精度下不必完全搜索最佳整数点周围的八 个1/2亚像素点。本算法改进为,如图3所示,在1/2亚像素搜索阶段,只搜索 最优整像素点(0位置)右下角的三个1/2亚像素点(1、2、3位置),比较三个 点和起始中心点的SAD误差值COST,确定继续搜索的方向。改进后的算法一 般只需要搜索一个点(a、b虚线圈)、二个点(c、d虚线圈)或三个点(e虚线 圈)。最优整像素点和三个1/2亚像素点的比较时的搜索情况如下表所示:

COST(0)>=COST(1) COST(0)>=COST(2) COST(0)>=COST(3) 搜索 T T T T T F 5个点 T F T a或b T F F c或d F T T a或b F T F c或d F F T 5个点 F F F e

原算法的1/2亚像素全搜索点个数为8,改进后的算法其1/2亚像素搜索点 的个数为((3+1)*2+(3+2)*2+(3+3)+(3+5)*2)/8=5,减少了搜索点的个数,加快了 分数像素运动估计的速度。

3、根据步骤1和步骤2所得的算法,分析各种类型的视频运动估计时间, 为各种类型的视频运动估计提供更准确和有效的方法。

本实施例提出的CIME算法实验环境为JM18.4测试模型。对缓慢、中等、 快速的运动序列分别选取2个测试实例,包括:Akiyo、News、Mobile、Coastguard、 Foreman、Stefan等6个QCIF格式的序列帧。测试实例的编码参数分别设置为: 序列帧数是100帧,帧速是30hz,QP是32,图片类型是IPPP,参考帧数是5。 其余参数值为encoder_baseline.cfg中的默认值。

在相同下的实验条件下,本算法与原快速运动估计算法的运动估计时间、 峰值信噪比、视频码率等进行比较。下表给出了实验数据和比较结果。

其中,ME-time表示运动估计时间,SNR-Y表示图像质量,Bit-rate表示视频 码率。比较标准是如果ME-time减少,SNR-Y增大,Bit-rate减小,则结果最好。 从实验数据可以看出,两个算法的SNR-Y差值变化在0.1dB以下,即图像质量 几乎不变,且Bit-rate变化率平均增加3.5%的情况下,运动估计时间ME-time 平均减少了15%。同时,对低速运动的视频效果更好,运动估计时间ME-time 减少了20%以上,这是因为低速运动的复杂性较低,CIME算法的适应性更好。 图4为本发明所述全面运动估计改进算法(CIME算法)的流程图,从图中可知 本CIME算法的具体流程。

在采用以上方案后,本发明是在分析H.264现有运动估计编码方法基础上, 提出的一种全面运动估计改进算法(CIME-Comprehensive Improvement of  Motion Estimation),改进了H.264的视频编码的运动估计算法,实验表明, 相对于原快速编码算法,编码时间平均减少了15%,为视频压缩和视频传输等提 供了更高效的方法。本发明可广泛应用于视频监控设备为主体的编码设备上, 或应用于移动流媒体的视频压缩和传输技术等方面,对于减少视频运动估计搜 索,提高了视频运动估计时间具有重要意义,值得推广。

以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实 施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范 围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号