0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

运用菱形十字搜索算法提高快速运动估计算法的性能

电子设计 来源:郭婷 作者:电子设计 2019-01-15 08:10 次阅读

引言

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是粗定位和准确定位的有效结合。

视频图像的运动矢量大部分为零矢量或运动很小的矢量。运动矢量为零的块称为静止块;运动矢量很小的块(以搜索窗口中心为圆心,两像素为半径的圆内)称为准静止块:而其他的称为运动块。如果有超过80%运动矢量很小的块可被看作静止或准静止块。因此,可设一个阀值T,当运动矢量的值小于T时,可用SDCSP搜索法直接进行精确定位,找出最优点;当运动矢量的值大于T时,可用LDCSP搜索算法找出最优点。

运动矢量空间域的预测方式有运动矢量中值预测、空间域的上层块模式运动矢量;在时间域的预测方式有前帧对应块运动矢量预测和时间域的邻近参考帧运动矢量预测。本文采用运动矢量中值预测方式。根据与当前E块相邻的左边A块,上边B块和右上边C块的运动矢量,取中值作为当前块的预测运动矢量。如图2所示。

运用菱形十字搜索算法提高快速运动估计算法的性能

设当前要编码块E的运动矢量为MVp。如果运动矢量的值MVp≥T,则与E块相邻的各块间运动的相关性较高,表明该区域的变化比较平缓;如果运动矢量的值MVp

3 自适应运动估计算法

结合上述DCS算法和阈值的确定,可采取先对视频图像的运动块进行阈值的判断,再根据判断结果进行最佳匹配块的搜索。具体搜索步骤描述如下:

Step 1:判断当前块运动矢量MVp和阈值确大小。若MVp≥T,则进入Step 2;若MVp

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所示。

运用菱形十字搜索算法提高快速运动估计算法的性能

实验结果及说明

用搜索时间和PSNR值两个指标来验证DCS的性能。本节实验用到的所有视频文件均为QCIF(Quartet commonintermediate format)格式。实验以主频1.8GHz的PC机上运行的VisualC++6.0为平台。测试对象为:missa、salesman、news、grandmother、foreman、carphone、claire,搜索范围为16×16的矩形框,量化范围为2~12,测试序列中每帧图像的大小为176×144。

4.1 搜索时间的比较

为了时间测试的准确性,测试时采用的是VC++提供的两个精确时间函数:QueryPerformanceFrequency()和OuerPerformanceCounter()精度对标准测试序列missa、salesman、news、grandmother、foreman、carphone进行精确测定,得表1(数据均为三次测量所求得的平均值)。

从表1可知:a.FS搜索效果最佳,但耗时太长;DS算法有较大改进,可以实现实时压缩;DCS比DS,运行时间都有不同程度的减少,故DCS算法在搜索速度有优势。b.从单个序列来看,DCS算法对missa和salesman时间优化最为显著,分别只占FS算法的7.42%、7.50%和DS算法的98.17%、97.49%;对carphone序列的搜索速度也有很大优化,占FS搜索算法的7.97%和DS算法的97.82%。综合视频特性可知:DCS算法针对运动平缓的视频对象搜索速度优化明显。

4.2 信噪比的比较

对标准测试序列claire和carphone序列进行测定,计算PSNR得表2。

运用菱形十字搜索算法提高快速运动估计算法的性能

表2中FS的平均PSNR最高,达到42.38,但搜索时间最长;DS的PSNR最低,为42.31,而DCS为42.35,高于DS算法,且仅低于FS算法0.03dB。从单个序列来看,DCS算法对claire的优化程度最大,超过了FS的PSNR值,说明DCS算法身体静止仅面部表情运动特点视频适用。用DCS算法计算得到的carphone的PSNR值虽然低于FS算法,但高于DS算法;missa序列的DCS算法的PSNR值和FS、DS法的相差不大。故DCS算法在搜索速度、图像质量上均有保证。

5 结束语

本文从搜索时间和图像质量两方面对各种块匹配运动估计算法进行了性能分析比较。实验结果表明,将菱形十字交叉搜索算法和阈值判断结合,在搜索速度方面,有很大程度的优化,而且能得到与FS、DS搜索算法相当的图像质量。DCS算法针对运动平缓的视频作用明显,由此推知该算法适用于电视电话、远程教育等实时视频压缩。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3641

    浏览量

    134473
  • 视频
    +关注

    关注

    6

    文章

    1945

    浏览量

    72902
  • 算法
    +关注

    关注

    23

    文章

    4611

    浏览量

    92867
收藏 人收藏

    评论

    相关推荐

    结合遗传分割的多分辨率预测匹配算法

    目.实验结果表明,该算法与经典菱形搜索算法相比,搜索时间平均减少7.6m s,信噪比平均提高1.2dB【关键词】:视频压缩;;遗传
    发表于 04-24 09:53

    五种运动搜索算法简介

    (九)帧间编码2:运动搜索算法简介
    发表于 07-17 15:09

    Viterbi搜索算法

    自然语言处理——65 Viterbi搜索算法
    发表于 04-14 11:44

    改进的二进制搜索算法原理是什么?有什么优势?

    改进的二进制搜索算法原理是什么?改进的二进制搜索算法有什么优势?
    发表于 05-20 07:12

    介绍一种基于H.264标准的快速运动估计算法

    本文介绍了一种基于H.264标准的快速运动估计算法
    发表于 06-03 06:27

    方向性多层抽样继承排除全搜索算法

    运动估计是视频压缩中的关键技术,是视频编码中的主要开销。全搜索算法是最简单可靠的块匹配算法。本文在传统全搜索算法的基础上,提出一种方向性多层
    发表于 05-30 13:44 17次下载

    基于IBM CELL多核处理器的快速运动估计算法

    为了充分利用CELL BE 处理器SIMD 技术的数据并行处理能力,本文介绍一种运动估计算法,和已有的钻石搜索算法(DS)相比该算法能够实现更精确的
    发表于 01-27 14:09 12次下载

    基于DSP技术的H.263视频编码协议算法

    摘 要:对H.263编码原理进行了简单介绍,对运动估值中几种主要搜索算法性能进行了分析比较,完成了H.263的运动图象的编码模拟,最后对其中的搜索
    发表于 03-03 22:36 25次下载

    一种改进的快速搜索算法

    提出了一种基于预测的自适应六边形搜索方法,并将此算法与其他常用的快速运动估计算法进行实验比较。实验结果表明:该
    发表于 07-02 15:53 19次下载

    H.264视频压缩快速运动估计算法 DCS算法

    H.264是现有最重要数据压缩编码国际标准之一。 快速运动估计算法一直是视频压缩中的研究热点。本文针对一些快速估计算法过早确定了
    发表于 06-25 11:50 1765次阅读
    H.264视频压缩<b class='flag-5'>快速</b><b class='flag-5'>运动</b><b class='flag-5'>估计算法</b> DCS<b class='flag-5'>算法</b>

    分数像素快速块匹配运动估计方法综述

    介绍了 视频压缩 中分数像素快速块匹配运动估计的基础原理,由于全搜索算法计算量很大,需要发展快速算法
    发表于 08-30 16:17 14次下载
    分数像素<b class='flag-5'>快速</b>块匹配<b class='flag-5'>运动</b><b class='flag-5'>估计</b>方法综述

    基于UMHexagonS的运动估计算法优化

    针对UMHexagonS算法冗余搜索的问题,使用大十字搜索判定结果,改进原有的运动估计算法。改进
    发表于 11-24 10:51 2次下载
    基于UMHexagonS的<b class='flag-5'>运动</b><b class='flag-5'>估计算法</b>优化

    一种基于H.264标准的快速运动估计算法

    搜索精度的情况,在原有基础上,运用菱形十字搜索算法(DCS)与阈值估计相结合的方法
    发表于 10-08 07:00 497次阅读

    如何使用FPGA实现运动估计算法的设计

    为进一步提高编码效率,在研究菱形算法的基础上,采用了“十字”形运动估计算法,设计了硬件电路,并用
    发表于 02-03 14:46 13次下载
    如何使用FPGA实现<b class='flag-5'>运动</b><b class='flag-5'>估计算法</b>的设计

    二分搜索算法运用的框架套路

    。 但是前文总结的二分搜索代码框架仅仅局限于「在有序数组中搜索指定元素」这个基本场景,具体的算法问题没有这么直接,可能你都很难看出这个问题能够用到二分搜索。 对于二分
    的头像 发表于 08-25 16:06 1833次阅读