视频信号的运动估计和运动补偿算法Word格式.docx
《视频信号的运动估计和运动补偿算法Word格式.docx》由会员分享,可在线阅读,更多相关《视频信号的运动估计和运动补偿算法Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
实验报告二
一、实验名称:
二、实验目的
在视频编码和处理系统中.运动估计和运动补偿技术对降低视频序列时间冗余度、提高编码效率起着非常关键的作用。
运动估计的准确程度将直接决定视频编码器的编码效率。
它极大地消除了视频序列的帧间相关性。
运动估计算法的复杂性将直接决定视频压缩编码系统的复杂性.如何提高运动估计的效率.使运动估计算法的搜索过程更快速、更高效一直是人们研究的热点。
掌握运动估计的块匹配算法.以及快速运动估计算法。
三、实验内容:
1、分析基于块匹配的全搜索运动估计算法程序.画出motionEstAnalysis.m和motionEstES.m文件流程图
2、编程补充完成costFuncMAD.m文件中最小绝对误差计算函数costFuncMAD()和imgPSNR.m文件中峰值信噪比PSNR计算函数imgPSNR()的程序.最终输出运动矢量场;
3、掌握运动补偿算法.编程实现motionComp.m文件中对目标帧的运动补偿重构函数motionComp();
4、了解多种快速运动估计算法.例如三步法搜索法、二维对数法、菱形搜索法等。
5、总结实验结果.比较各种搜索算法的性能和所需时间。
四、实验原理
在帧间预测编码中.由于活动图像邻近帧中的景物存在着一定的相关性。
因此.可将活动图像分成若干块或宏块.并设法搜索出每个块或宏块在邻近帧图像中的位置.并得出两者之间的空间位置的相对偏移量.得到的相对偏移量就是通常所指的运动矢量.得到运动矢量的过程被称为运动估计。
运动矢量和经过运动匹配后得到的预测误差共同发送到解码端.在解码端按照运动矢量指明的位置.从已经解码的邻近参考帧图像中找到相应的块或宏块.和预测误差相加后就得到了块或宏块在当前帧中的位置。
运动估计的准确程度往往用补偿图像与原图像比较的PSNR来衡量表示。
五、实验程序
1、motionEstAnalysis.m文件流程图
no
yseno
yes
2、motionEstES.m文件流程图
3、计算最小绝对误差程序(补充costFuncMAD.m文件程序)
sum=0;
fori=1:
n
forj=1:
Difference=abs(currentBlk(i,j)-refBlk(i,j));
sum=Difference+sum;
end;
end;
cost=sum/(n.^2);
4、计算峰值信噪比PSNR程序(补充imgPSNR.m文件程序)
[rowcol]=size(imgP);
sum2=0;
fori3=1:
row
forj3=1:
col
sum2=sum2+(imgComp(i3,j3)-imgP(i3,j3)).^2;
%累加求和
end
end
s=sum2/(row*col);
psnr=10*log10((n*n)/s);
5、对目标帧的运动补偿重构程序(补充motionComp.m文件程序)
[rowcol]=size(imgI);
img=zeros(row,col);
mbCount=0;
fori=1:
mbSize:
row-mbSize+1
forj=1:
col-mbSize+1
mbCount=mbCount+1;
k1=motionVect(1,mbCount);
k2=motionVect(2,mbCount);
img(i:
i+mbSize-1,j:
j+mbSize-1)=imgI(i+k1:
i+mbSize-1+k1,j+k2:
j+mbSize-1+k2);
imgComp=img;
六、实验结果
1、运动矢量场图像
2、对目标帧的运动补偿重构程序
第I帧视频原始图像
第P帧视频原始图像
第P帧视频运动补偿重构图像
3、视频重构视频峰值信噪比PSNR
Psnr=29.349