1.找到一些预测的运动矢量,包括用中值预测得来的运动矢量,还有在这个中值预测得来的运动矢量所指向的宏块的左边,上边和右上位置的宏块的运动矢量,以及(0,0)这个运动矢量。从这些运动矢量指向的点中找到具有最小匹配误差的点作为搜索起点(搜索中心)。
2.在找到的搜索起点上依次用不同的步长X去执行diamond搜索,X=1,2,4,8,16,32,64当搜索范围=64时,搜索的过程如下所示。
![JMVC中TZSearch算法的过程 JMVC中TZSearch算法的过程](https://i-blog.csdnimg.cn/blog_migrate/43ac86412e7f5b5477f99fc85d12df94.jpeg)
3.用Y来表示从步骤2中得到的最优点与当前的搜索中心的距离。如果Y=0,结束搜索。如果Y>Z(raster搜索的步长),运行步长为Z的raster搜索。如果0<Y<Z,则运行步骤4.
4.选用最优点重新作为搜索起点,重复步骤2.如此循环往复,直到Y=0。
暂时先记录这么多,后面会补充。
参考:
1.An Analysis of TZSearch Algorithm in JMVC