一种基于H.2 6 4的快速运动估计算法
摘要:H.264是现有最重要数据压缩编码国际标准之一。同时快速运动估计算法一直是视频压缩中的研究热点。本文针对一些快速估计算法过早确定了搜索方向,容易陷入局部最小点,损失了搜索精度的情况,在原有基础上,运用菱形十字搜索算法(DCS)与阈值估计相结合的方法提高了运动估计的性能。实验结果表明,该算法可以用较小的搜索代价取得与全搜索(FS)相当的效果,并且在搜索速度方面优于钻石法DS)。
关键词:运动估计;H.264;视频编码
0 引言
H.264采用了减少视频图像各帧间冗余度的运动估计算法。运动估计算法传统的有全搜索(FS)、三步搜索(TSS)、新三步搜索(NTSS)、四步搜索(FSS)等;常用的是钻石搜索(DS)和非对称十字交叉多层次六边形格点运动搜索算法(UMHexagonS)。运动估计是整个视频编码中运算量最大的模块,可占整个软件编码器运算量的70%以上。因此视频系统中编码器的复杂部分取决于运动估计算法体系结构的复杂性。
1 运动估计算法分析
1.1 钻石搜索(DS)算法
DS算法即钻石搜索算法,被MPEG-4国际标准采用并收入验证模型VM(Verification Model)中,是MPEG-4建议采用的快速运动估计算法。 DS算法采用了两种搜索模板,分别是有9个检测点的大模板和有5个检测点的小模板。搜索时先用大模板LDSP在搜索区域中心及周围8个点处进行匹配计算,当最小块误差出现在中心点处时,将大模板LDSP换为SDSP,再进行匹配计算,这时5个点中的MBD(Minimum Block Distortion)即为最优匹配点;否则,改变中心位置,仍用LDSP重复计算。
1.2 菱形十字搜索(DCS)算法
菱形十字搜索算法(DCS)算法是在DS算法基础上改进而来,DCS的匹配模板是建立在两种不同的搜索模板之上的,即大菱形十字型(LDCSP)和小菱形十字型(SDCSP),如图1所示。其中,十字型可以对应于实际的运动的矢量分布,而交叉型则是为了加速搜索效果。
DCS算法在进行运动估计匹配运算时,有三种可能的情况:
(1)若MBD点位于LDCSP中心位置,说明图像是静止的,DCS算法一步结束;
(2)若MBD点位于LDCSP小十字位置,说明图像的运动较小,则在此基础上按照SDCSP模板反复进行交叉搜索。
(3)若MBD点位于LDCSP大十字位置,说明图像的运动较大,则在此基础上按照LDCSP模板反复进行交叉搜索。
由此可以看出,DCS算法的优点是,可以根据图像的运动类型(如上述三种情况),白适应选择下一步相应的搜索模板,使搜索与图像内容有关(基于内容的搜索),从而得到较好的搜索效果;DCS算法的搜索并不一定要经历模板由大到小的必然过程,有时一步即可完成搜索;用DCS搜索时,十字形模板对应于实际的运动矢量分布,交叉形模板则有准确性“聚焦”特性,这从本质上体现了DCS是粗定位和准确定位的有效结合。
2 运动估计的阈值确定
视频图像的运动矢量大部分为零矢量或运动很小的矢量。运动矢量为零的块称为静止块;运动矢量很小的块(以搜索窗口中心为圆心,两像素为半径的圆内)称为准静止块:而其他的称为运动块。如果有超过80%运动矢量很小的块可被看作静止或准静止块。因此,可设一个阀值T,当运动矢量的值小于T时,可用SDCSP搜索法直接进行精确定位,找出最优点;当运动矢量的值大于T时,可用LDCSP搜索算法找出最优点。
运动矢量空间域的预测方式有运动矢量中值预测、空间域的上层块模式运动矢量;在时间域的预测方式有前帧对应块运动矢量预测和时间域的邻近参考帧运动矢量预测。本文采用运动矢量中值预测方式。根据与当前E块相邻的左边A块,上边B块和右上边C块的运动矢量,取中值作为当前块的预测运动矢量。如图2所示。
设当前要编码块E的运动矢量为MVp。如果运动矢量的值MVp≥T,则与E块相邻的各块间运动的相关性较高,表明该区域的变化比较平缓;如果运动矢量的值MVpT,则与E块相邻的各块间运动的相关性较低,表明该区域变化比较剧烈。通过对missa、grandmother、carphone、salesman的检测可知,取阈值T=2。
3 自适应运动估计算法
结合上述DCS算法和阈值的确定,可采取先对视频图像的运动块进行阈值的判断,再根据判断结果进行最佳匹配块的搜索。具体搜索步骤描述如下:
Step 1:判断当前块运动矢量MVp和阈值确大小。若MVp≥T,则进入Step 2;若MVpT,则进入Step 5。
Step 2:用LDCSP在搜索区域中心及周围8个点进行匹配运算,然后判断,找出MBD点。若MBD点位于中心点,说明宏块是静止的,DCS算法一步结束,得到最优匹配块;否则进行Step 3。
Step 3:若MBD点为LDCSP模版的小十字处,以该点为中心构建SDCSP进行匹配计算,若MBD点位于中心点,所得MBD点为所求。否则,进入Step 4。
Step 4:若MBD点为LDCSP模版的大十字处,以该点为中心构建LCSP进行匹配计算,进入step 2。
Step 5:用LDCSP在搜索区域中心及周围5个点进行匹配运算,然后判断,找出MBD点。若MBD点位于中心点,所得MBD点为所求;否则继续Step 5。
算法流程图如图3所示
- 基于H.264视频压缩快速运动的估计算法(02-01)
- H.264视频压缩快速运动估计算法分析(09-15)
- 小型温控系统的研究(02-17)
- 基于发动机性能虚拟仪器测试系统设计(05-12)
- H.264视频压缩快速运动估计算法 DCS算法(06-07)
- 几种常用的单片机系统RAM测试方法(09-22)