摘 要:针对运动估计非常耗时这一特点,本文从算法和代码两个方面对运动估计进行优化。实验证明改进后的算法明显减少了编码时间,而图像质量只有少量变化。
关键词:H.264;运动估计;视频压缩;优化
运动估计(Motion Estimation, ME)是H.264/AVC[1]最重要的组成部分之一。运动估计的实现,能够去除图像序列时域上的冗余(Temporal Redundancy),且大大提高视频压缩的效率,但是运动估计也耗时最多[2]。目前搜索精度最高的是全搜索算法(FS)[3],它对搜索范围内的每一个像素点进行匹配以得到最优的运动矢量。但它的计算复杂度最高,不适合实时应用,为此人们提出了许多快速运动估计算法。已有快速运动估计算法实际上就是在运动矢量的精确度和搜索过程中的计算复杂度间进行折衷,寻找最优的平衡点[4]。本文对运动估计从算法和代码上进行优化。
1.算法级优化
本文采用菱形和方形结合算法的方式进行算法级优化。
算法的具体实现步骤总结如下:
第一步:使用式(1.1)预测当前块的初始运动矢量并根据预测值设置初始搜索中心。 (1.1)
第二步:把菱形模板置于初始搜索中心并对包括中心点在内的5个点进行检测,如果MBD位于菱形模板的中心,则最佳运动矢量已经找到,转第五步;否则,把得到的MBD作为新的搜索中心点后,转第三步。
第三步:
{
在新的搜索中心点按正方形模板进行搜索,并对正方形模板上的4个点进行测试。
}
Else if((