• 全搜索算法
  • 三步搜索算法
  • 四步搜索算法
  • 菱形搜索算法

由于搜索方法的不同,因此有多种运动估计算法,较为经典的运动估计搜索算法有全搜索法、三步搜索法、菱形搜索法以及四步搜索法等等。以下是几种运动估计搜索算法的搜索过程:

一、全搜索算法

全搜索算法(FS)是搜索一定范围内的所有点,然后逐一计算最小差值和 SAD,选取率失真最小的点最为最佳搜索点,该点位置和参考帧中所对应块中心像素点点的位置的矢量差作为运动矢量。

步骤如下:

第一步:将搜索窗口的中心点作为搜索的起始点,从起始点开始依照顺时针的方向逐点向外搜索,计算每一个搜索点的 SAD 值;

第二步:比较第一步中所有点的 SAD 值,选取 SAD 最小的点,即为最佳匹配点。


二、三步搜索算法

三步搜索法步骤如下:

第一步:从搜索窗口的一半或者一半多一点开始搜索,在每一步长的搜索中,比较搜索区域正方形的中心点和四周的八个搜索点,计算这九个点的 SAD 值,选择 SAD 值最小的点作为下一次搜索的中心点;

第二步:以上一步中得到的点为中心,将本次搜索步长减为上次搜索步长的一半,然后进行相似的搜索,再得到一个最佳匹配点,在第三次搜索时就能找到最佳匹配位置。


三、四步搜索算法

由于 TSS(三步搜索算法) 第一步搜索时步长较大,容易跳过最佳匹配点,就会出现局部最优的问题。四步搜索改善了这种情况,并且对大范围的运动也有较好的性能。该算法和 TSS(三步搜索算法) 算法类似,而它是基于运动矢量是中心分布的图像特征来实现的,步骤如下:

第一步:
FSS (四步搜索算法)第一步也是方形范围内有九个搜索点,然而它的范围是在 5×5 的搜索窗口上,小的步长可以避免错过最佳搜索点。通过计算这九个点的 SAD 值,取 SAD 最小的点作为下次搜索的中心;

第二步:本次的搜索窗口大小仍然为 5×5,以上一步搜索到的点为中心,继续计算新得到的九个点的 SAD,如果中心点就是 SAD 值最小的点,则减小搜索步长,改为 3×3,进行第三步;如果不是在中心点,则继续第二步的搜索;

第三步:搜索窗口的大小改为 3×3,对中心点四周的八个点进行计算,取 SAD 最小的点作为最优点。


四、菱形搜索算法

菱形搜索(也被称为钻石搜索)算法有大菱形和小菱形两种不同的匹配模板,大菱形有 9 个搜索点,小菱形只有 5个搜索点。首先使用步长较大的大菱形搜索模板进行粗搜索,然后使用小菱形模板进行细搜索。搜索步骤如下:

第一步:首先以搜索窗口的中心点为中心,以菱形为模板,计算中心点和其周围八个点共九个点的 SAD
值,比较得到 SAD 值最小的点;

第二步:如果搜索的中心点就是 SAD 值最小的点,则跳到第三步使用小菱形搜索模板,否则依旧回到第一步的搜索;

第三步:利用搜索点数只有 5 个点的小菱形搜索模板,计算这 5 个点的 SAD 值,取 SAD值最小的点为最佳匹配点。


更多关于视频编码的知识和资源,更精致的文章排版,欢迎关注博主微信公众号,一起交流、学习、进步!!!

经典运动估计算法之全搜索、三步搜索、四步搜索、菱形搜索相关推荐

  1. 在深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

  2. 再深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP

    转载地址: https://www.zhoulujun.cn/html/theory/ComputerScienceTechnology/network/2015_0708_65.html 如果对网络 ...

  3. 华为畅玩5A 移动增强版cam-tl00四步走 一步BL解锁 二步刷recovery 三步root 四步安装框架Xposed

    荣耀5A解bl锁教程 https://cn.club.vmall.com/thread-26655260-1-1.html 荣耀5A 移动/双4G TWRP3.0.2 一键ROOT  https:// ...

  4. 相位测量轮廓术PMP+相移方法(三维测量——三、四步相移)

    这篇也是我开始学习结构光--三维测量时的一个引导文章,也很感谢作者在我后期的学习中的指导. FTP和PMP 根据我看的文献,PMP方法应该是1984年由Srinivasan等人提出的.FTP是利用傅里 ...

  5. 3.6总结半年来的专业学习——图像处理、光栅投影、四步相移、多频外差,从matlab入门到opencv入门

    2019.9.17 研究生导师定了,老师给了一些论文,并推荐了几本书 1.计算机辅助光学测量/金观昌著 作者是在美国奥克兰大学杨老师实验室做过访问学者,所以书的内容和实验室的研究方向非常切合 2.基于 ...

  6. matlab全搜索运动估计,全零检测的部分失真搜索运动估计算法

    运动估计是视频压缩中的关键技术,能够有效消除帧间的时间冗余,提高压缩比.在现有的各类运动估计方法中,块匹配算法(block-matchingalgorithm,BMA)因具有简单.实用的特点而得到广泛 ...

  7. java 3 9 2 6数字排序_GitHub - JourWon/sort-algorithm: 史上最全经典排序算法总结(Java实现)...

    史上最全经典排序算法总结(Java实现) 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中.因为其实现代码较短,应用较常见.所以在面试中经常会问到排序算法及其相关的问题.但万变不离其宗, ...

  8. 2023年软件测试经典面试题(全三篇)【包含答案】做完面试进入大厂不是梦

    文章目录 前言 软件测试经典面试题(一)共25题 软件测试经典面试题(二)共16题 软件测试经典面试题(三)共16题 一.软件测试基础 二.Linux 三.Python 四.MySQL 五.Web 六 ...

  9. 十大经典排序算法详解(三)-堆排序,计数排序,桶排序,基数排序

    养成习惯,先赞后看!!! 你的点赞与关注真的对我非常有帮助.如果可以的话,动动手指,一键三连吧!!! 十大经典排序算法-堆排序,计数排序,桶排序,基数排序 前言 这是十大经典排序算法详解的最后一篇了. ...

最新文章

  1. php获取数组中,相同键名的键值之和
  2. Laravel 5.0 的新特性
  3. jQuery仿淘宝商城天猫鼠标移动过去,透明度降低
  4. django language_第 58 天:Python Web开发 Django 简介
  5. DSB2017第一名代码尝试运行(记录自用)(二)
  6. HDU 题目分类(转载)
  7. Ubuntu下bin文件的安装
  8. Discuz注册页面的邮箱验证代码分析
  9. Appium自动化测试基础--补充:C/S架构和B/S架构说明
  10. LabVIEW编程LabVIEW开发以编程方式将前面板移动到所需位置
  11. java语音实现_用JAVA实现语音交互的功能(即语音聊天室的功能)
  12. Bootstrap3基础 btn-xs/sm... 按钮的四种大小
  13. linux镜像使用什么pe安装系统,Linux系统ISO镜像文件可不可以用pe启动盘来安装
  14. ECharts热力图指定颜色
  15. flink各版本变化和新增特性
  16. Java、JSP基于JavaEE的智能化跨境电子商务平台的设计
  17. Unity射线与UI碰撞检测
  18. linux下调试thread 类_linux下GDB调试
  19. 关于ARM指令的英文全称(方便记忆|巧记汇编指令)
  20. 有符号拓展:signed-extending无符号拓展:unsigned-extending

热门文章

  1. 《目标检测蓝皮书》第3篇 卷积神经网络
  2. Ubuntu 删除文件和文件夹
  3. 广数系统服务器参数,广州数控车床GSK980TDA数控仿真系统模拟软件 送操作视频教程...
  4. 用Python量化海龟交易法则!
  5. 《论系统工程》--钱学森
  6. dreamweaver html设计,怎么用Dreamweaver设计网页
  7. nexus7刷ubuntu定制系统--详细教程
  8. 思科 Cisco Packet Tracer 标准ACL的配置
  9. python是开源的.它可以被移植_免费搜尔雅网课答案的公众号
  10. 【开关电源】LLC在学习路上疑惑和答案