运动搜索算法之钻石搜索(Ver1.0)
作者:rtcodec
前言
DS算法是在运动搜索中使用最为广泛的搜索算法之一,有的地方被翻译成钻石搜索,菱形搜索。不管是硬件还是软件的视频编码器中,都可以看到它的存在。下面文章的内容主要从学报上摘录,希望给视频算法的新手们有些许帮助。
原理
通常,运动矢量总是高度集中在搜索窗口的中心附近。这对于物体作缓慢运动的视频序列来说更加明显,因为静止块和缓慢运动块占主导地位。运动矢量的中心偏移特性提示了在窗口内不用对所有的点进行搜索,只需要对窗口中心附近的那些点进行搜索就能快速搜索到最佳匹配块。因此,搜索模板都是以窗口中心为中心对称的,其形状和大小共同决定了搜索的速度和性能。
图表 1 (LDSP and SDSP)
DS算法用到两个模板,如图表 1 (LDSP and SDSP)所示。左边所示的模板称为大钻石搜索模板(LDSP);右边所示的模板称为小钻石搜索模板(SDSP)。在DS算法中,先反复使用LDSP进行搜索,直到本次搜索误差最小的那个点出现在模板的中心,接着就以这个最小误差点为中心,以SDSP为新的搜索模板进行最后一轮搜索,并将最后一轮搜索中误差最小的那个点作为最佳匹配点。在运用钻石算法的时候,要注意下面三点:
提供音视频编解码器:
可源码级合作。承接其它音视频编解码器开发。
QQ:763393647
www.rtcodec.com