实现的算法:
FS(全搜索算法)、4SS(4步搜索算法)、BBGDS(基于块的梯度下降搜索算法)、DS(钻石搜索)、HS六边形搜索算法(hexagonal search, HS)、CDHS(交叉砖石六边形搜索法)、MVFAST(运动矢量场自适应搜索算法,MPeG)、PMVFAST(预测运动矢量场自适应搜索算法)、ARPS(自适应十字模式搜索)、ARPS3
原本想实现UMHexagonS(非对称十字形多层次六边形格点运动搜索算法,H.264)和EZPS算法,但这两种算法都针对H.264做了特殊的优化。本程序只考虑了16*16块的方式,对其实现的结果是不公平的。
另:AVPS是自己的算法,没有写完。有兴趣请参考,实际上跟PMVFAST、EZPS很想像。
#define OPEN_FILE "E:\\foreman_cif.yuv"
#define REF_FILE "E:\\foreman_cif.yuv.enc"
OPEN_FILE是用jm或x264等编码时产生的重建序列,REF_FILE是原始序列,这里作参考帧之用。
for( j=0;j<Y;j++)
{
memset(_flag_search,0,SEARCH_RANGE*SEARCH_RANGE);
search_ARPS3(i,j,BLOCK_HEIGTH,BLOCK_WIDTH);
rebuilt(i,j,BLOCK_HEIGTH,BLOCK_WIDTH);
}
要使用具体某种搜索算法,只需修改上面的search_ARPS3函数名即可。search_ARPS3表示ARPS3搜索算法,类似的search_MVFAST表示MVFAST搜索算法。
程序的输出:
frame cost psnr
0 6.63 33.28
1 7.52 32.57
2 7.33 33.02
3 7.82 32.13
frame表示帧数,cost是平均每块的搜索点数,psnr是匹配图象与原始图象的峰值信噪比(也即忽略了所有的残差信息)
运动估计方法比较
需积分: 29 59 浏览量
2018-08-17
15:56:04
上传
评论 2
收藏 919KB RAR 举报
瞳小妞x
- 粉丝: 9
- 资源: 4