学习笔记:帧率转换之三维递归搜索块匹配算法

Posted 神遁克里苏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记:帧率转换之三维递归搜索块匹配算法相关的知识,希望对你有一定的参考价值。

帧率转换一般基于运动估计和运动补偿。帧率转换的效果极大程度上依赖于运动矢量的准确性


       由于块匹配具有较高的准确度和较低的计算复杂度,目前帧率转换算法中的运动估计多采用块匹配算法,其基本思想是将序列的每一帧分成许多互不重叠的块,并认为块内所有像素的位移量都相同,然后对于当前帧中的每一块,在前一帧或后一帧某一给定搜索区域内根据一定的匹配准则找出与它最相似的块,即匹配块,由匹配块与当前块的相对位置计算出运动位移,所得运动位移即为当前块的运动矢量。

       常用的有三维递归搜索块匹配算法(3-D Recursive Search,3DRS),该算法收敛快,精度高,包含了对运动场的平滑限制,并且计算量也可以满足硬件要求。

3DRS基于两个假设:①图像中物体比匹配块大 ②物体具有惯性

物体的形状属性产生了运动矢量场的空间相关性,也就是说物体可能分布在很多块中,这些块的运动矢量基本一致;物体的惯性产生了运动矢量场的时间相关性,即物体在前一帧的运动位移可能和物体在后一帧的运动位移相同。这两个假设保证了图像中某块的最佳位移矢量可以从时空相邻块的位移矢量中得到,而不必搜索所有可能的位移矢量,并且保证了相邻块运动矢量的一致性,起到了平滑限制的作用。其根本思想就是认为运动矢量在时间和空间上的一致性。

如上图所示:

候选MV如下,3DRS会在零MV、a方向MV以及b方向MV中找出SAD最小的MV。对于空域MV还会在其基础上加上offset,其中大offset有利于加速收敛,小offset有利于保持矢量场的平滑性。

①零MV

②a方向

  • 空域Sa的MV
  • 空域Sa的MV+offset
  • 时域Ta的MV

③b方向

  • 空域Sb的MV
  • 空域Sb的MV+offset
  • 时域Tb的MV

在以上候选中通过SAD选出最好的MV,这里的SAD指示的是p0与p2之间的SAD。

当找到p0和p2之间对应的最佳MV之后,就可以使用MV/2将p0映射到当前要插的帧对应的块中,也就是图中p1的块。

 

整体来说,三维递归搜索块匹配运动估计算法候选运动矢量,数目较传统块匹配搜索法大大减少,而且相邻块的运动矢量存在相关性,保证了运动场的平滑,运动矢量的准确性更高。
 


 

以上是关于学习笔记:帧率转换之三维递归搜索块匹配算法的主要内容,如果未能解决你的问题,请参考以下文章

数字图像处理学习笔记之二 灰度变换与空间滤波

算法学习笔记之三:八皇后问题(递归回溯)

Python学习笔记 之 递归二维数组顺时针旋转90°正则表达式

玩转数据结构5之二分搜索树(学习笔记)

数据结构笔记

数据结构笔记