视频信号的运动估计和运动补偿算法

视频信号的运动估计和运动补偿算法
视频信号的运动估计和运动补偿算法

数字视频实验报告

班级:电信科0801班

学号:

姓名:

实验报告二

一、实验名称:视频信号的运动估计和运动补偿算法

二、实验目的

在视频编码和处理系统中,运动估计和运动补偿技术对降低视频序列时间冗余度、提高编码效率起着非常关键的作用。运动估计的准确程度将直接决定视频编码器的编码效率。它极大地消除了视频序列的帧间相关性。运动估计算法的复杂性将直接决定视频压缩编码系统的复杂性,如何提高运动估计的效率,使运动估计算法的搜索过程更快速、更高效一直是人们研究的热点。掌握运动估计的块匹配算法,以及快速运动估计算法。

三、实验内容:

1、分析基于块匹配的全搜索运动估计算法程序,画出

motionEstAnalysis.m 和 motionEstES.m文件流程图

2、编程补充完成costFuncMAD.m 文件中最小绝对误差计算函数

costFuncMAD()和imgPSNR.m文件中峰值信噪比PSNR计算函数imgPSNR()的程序,最终输出运动矢量场;

3、掌握运动补偿算法,编程实现motionComp.m文件中对目标帧的运

动补偿重构函数 motionComp();

4、了解多种快速运动估计算法,例如三步法搜索法、二维对数法、

菱形搜索法等。

5、总结实验结果,比较各种搜索算法的性能和所需时间。

四、实验原理

在帧间预测编码中,由于活动图像邻近帧中的景物存在着一定的相关性。因此,可将活动图像分成若干块或宏块,并设法搜索出每个块或宏块在邻近帧图像中的位置,并得出两者之间的空间位置的相对偏移量,得到的相对偏移量就是通常所指的运动矢量,得到运动矢量的过程被称为运动估计。

运动矢量和经过运动匹配后得到的预测误差共同发送到解码端,在解码端按照运动矢量指明的位置,从已经解码的邻近参考帧图像中找到相应的块或宏块,和预测误差相加后就得到了块或宏块在当前帧中的位置。

运动估计的准确程度往往用补偿图像与原图像比较的PSNR来衡量表示。

五、实验程序

1、motionEstAnalysis.m文件流程图

读取*.AVI文件

并播放文件

开始

设定块大小和搜索

步长

取帧的范围

1

取第i帧,取P帧为

i帧后两帧

读第i、p帧的数据,分别存入imgI、

imgP

计算i帧的大小

分别调用自定义函数计算运动矢量

利用运动估计参数

重构P帧图像

计算峰值信噪比

PSNR

计算代价

i<30?

分别显示i帧、p帧和p

帧重构帧

画运动矢量图

结束

no

yse no yes

2、 motionEstES.m 文件流程图

3、计算最小绝对误差程序(补充costFuncMAD.m 文件程序)

sum=0; for i=1:n for j=1:n

Difference=abs(currentBlk(i,j)-refBlk(i,j)); sum=Difference+sum; end ; end ;

cost=sum/(n.^2);

4、计算峰值信噪比PSNR 程序(补充imgPSNR.m 文件程序)

[row col] = size(imgP); sum2=0; for i3=1:row for j3=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 文件程序)

开始

初始化:定义块中心,矢量及代价

计算运动矢量

比较得到代价最小的运动矢量,作为块的运动矢量

计算块中心点

最后分别计算I 帧各个块的块中心,运动矢量及代价

结束

[row col] = size(imgI);

img=zeros(row,col);

mbCount=0;

for i = 1 : mbSize : row-mbSize+1 for j = 1 : mbSize : 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);

end;

end;

imgComp=img;

六、实验结果

1、运动矢量场图像

2、对目标帧的运动补偿重构程序

第I 帧视频原始图像

第P 帧视频原始图像

第P 帧视频运动补偿重构图像

3、视频重构视频峰值信噪比PSNR Psnr=29.349

运动估计算法比较

大作业 几种运动估计算法比较 一、实验内容 简要介绍各种运动估计算法,并比较不同运动估计算法的性能,主要考虑各算法的运算速度和精度。 二、实验背景 视频原始图像中存在着大量的信息冗余,如时间冗余、空间冗余、信息熵冗余、谱间冗余、几何结构冗余、视觉冗余和知识冗余等等。运动估计是视频压缩编码中的核心技术之一,采用运动估计和运动补偿技术可以消除视频信号的时间冗余以提高编码效率。如何提高运动估计的效率,使运动估计算法的搜索过程更健壮、更快速、更高效成为目前研究的热点。 运动估计的基本思想是尽可能准确地获得序列图像帧间的运动位移,即运动矢量。因为运动估计越准确,预测补偿的图像质量越高,补偿的残差就越小,补偿编码所需位数越少,需要传输的比特率就越小。利用得到的运动矢量在帧间进行运动补偿。补偿残差经过变换、量化、编码后与运动矢量一起经过熵编码,然后以比特流形式发送出去。 运动估计算法多种多样,大体上可以把它们分成四类:块匹配法、递归估计法、贝叶斯估计法和光流法。其中块匹配运动估计算法因其具有算法简单、便于VLSI实现等优点得到广泛应用。所以本文将重点介绍块匹配运动估计算法,并对各种块匹配算法在计算速度和估计精度上进行简单比较。 三、实验原理 (一)、像素递归技术 像素递归技术是基于递归思想。在连续帧中像素数据的变化是因为物体的移位引起的,郑么如果沿着梯度方向在某个像素周圈的若干像素作迭代运算,运算会最后收敛于一个固定的运动估计矢量,从而预测该像素的位移。 (二)、块匹配运动估计 块匹配运动估计是把图像帧划分为若干互不重叠的块,并以块为单位寻找目标帧中每块在参考帧(上一帧或者其它帧)中最优匹配的块的相对位置,假设图像中每块的大小为M

运动估计算法简述

运动估计算法简述 标签:搜索运动估计预测矢量算法分类:探索H.2642007-02-03 13:59 马上要做运动估计算法,重点整理了一下这方面的内容。 帧间预测编码可以简单地分为单向预测、双向预测、多帧预测。而H.264 标准采用了多帧预测,参考帧可达5—15帧。 运动补偿采用较多的有运动矢量估计[重叠块运动补偿(OBMC)]、全局运动估计、基于象素点的运动估计、基于区域的运动估计、基于网格的运动估计。1.单向预测原理:将重建帧和参考帧送运动参数估值器(ME)比较得到运动矢量,再将运动矢量和重建帧送到运动补偿预测器中,得预测帧Ft^(x,y)。 Ft^(x,y)=Ft(x+i,y+j) 其中(i,j)即MV 2.基于块匹配算法的运动矢量估计 简单地说就是以块为单位分配运动矢量。在前一帧搜索区(M+2Wx,M+2Wy)内找到与当前帧块相匹配的块,位移d(i,j)即为运动矢量。 常用的块匹配准则有:均方误差(MSE)最小准则,绝对误差均值(MAD)最小准则、NCCF准则。 搜索方法: a.穷尽搜索计算(2Wx+1)×(2Wy+1)个MAD值,全局最优,计算量大。 b.快速搜索 (1)分层的和多分辨率的快速块匹配方法 (2)基于连续消除的快速块匹配方法 (3)固定搜索模式的快速块匹配方法(e.g.三步搜索法) (4)基于时空相关性和视觉特性的快速块匹配方法

3.重叠块运动补偿(OBMC) 为解决方块效应特别是运动矢量估计不准确或物体运动不是简单的平移运动以及一个块中有多个不同物体运动时的问题,采用OBMC方法,即一个像素的预测不仅基于其所属块的MV估计,还基于相邻块的MV估计。 4.运动估计 ?运动表示法: (1)基于块的运动表示法 帧间宏块分割区域大小的选择:大分区,表征MV的选择和区分割类型的比特数较少,但运动压缩的冗余度较高,运动补偿残差在多细节区域能量很高。小分区,运动补偿残差能量较低,但需要较多的表征MV的选择和区分割类型的比特数,运动压缩的冗余度较低。 一般策略:平缓区域大分区,多细节区域小分区。 树状结构运动补偿,宏块和子宏块各4种分割方法。 色度成分均为量度成分水平、垂直尺寸的1/2。 (2)亚像素位置的内插 亚像素运动矢量:亮度精度1/4,色度精度1/8 对亮度成分,用六抽头滤波器对整数像素点内插:左右相邻的6个像素的加权均值得1/2像素点,然后是线性滤波得到1/4像素点。 对色度块以类似方法得到1/4像素点,再次进行线性内插就得到1/8精度MV. (3)运动矢量在时空域的预测方式 空间 (1)运动矢量中值预测 (2)空间域的上层块模式运动矢量(最优) 时间 (1)前帧对应块运动运动矢量预测 (2)时间域的临近参考帧运动矢量预测 (4)匹配误差在时空域上的预测方式 H.264定义的匹配误差函数 J(MV,λMOTION)=SAD(s,c(MV))+λMOTION×R(MV-PMV)。 匹配误差在时空域的预测方式与运动矢量类似 空间 (1)中值预测 (2)上层预测 时间 (1)前帧对应块的预测 (2)时间域的临近参考帧预测(最优) ?运动估计准则分类: (1)MSE最小(2)MAD最小(3)NTD ——子集匹配法大大减少每帧图像的平均搜索时间 ?运动搜索算法 (1)全局搜索算法 (2)分数精度搜索算法 (3)快速搜索算法 1)二位对数搜索法 2)三步搜索法

MEMC-120Hz运动补偿技术

MEMC/120Hz 技术概述 一、概述 液晶发展初期屏幕响应时间高达40ms以上,作为普通文本处理尚可,但观赏影片、玩3D 游戏时,就难免会出现难看的拖影。这也就是为什么液晶初期,被认为不适合打游戏和看电影的原因。液晶厂商着重提高液晶响应时间,从初期黑白响应时间的改善,到降低灰阶响应时间,液晶屏幕也正式开始走向娱乐领域。目前液晶响应时间以可以达到1ms,但实际使用当中,却并没有数字提升带来改观那么大。 目前,液晶电视的100/120Hz刷新频率的技术笔者暂时统一称为插帧倍频技术,其原理就是采用动态映像系统,在传统的两帧图像之间加插一帧运动补偿帧,将普通平板电视的60Hz刷新率提升至120Hz。这样,运动画面更加清晰流畅,优于4毫秒响应效果,从而达到清除上一帧图像的残影、提高动态清晰度的效果,将影像拖尾降至人眼难以感知的程度 就是说比如原来的一副流动画面的帧顺序是: 1 2 3 4 5 6 MEMC技术通过分区块,在水平和垂直两个方向上对图象的运动趋势加以分析以后在起原来各种帧之间插入一个中间帧,插帧后的帧序列变为: 1 1C 2 2C 3 3C 4 4C 5 5C 6 这样原来的场频就不足以显现现在所有的帧,所以就需要讲场频提高一倍,及从 50/60Hz提高到100/120Hz。 所以说MEMC技术和100/120Hz技术是分不开的。 二、MEMC技术的效果和优势 运动抖动消除 运动拖尾消除

对角线补偿:重显斜线图像信息时,消除了阶梯状的轮廓 清晰度增强:恢复原汁原味的边际轮廓定义 三、MEMC技术的缺陷 MEMC看起来有诸多的优点,但是向其他任何事物都是一把双刃剑一样,MEMC技术也有起固有的缺陷。 1、MEMC带来的Holu MEMC是通过特定的插帧算法来实现的,这种技术本身会带来运动中图象的边缘不清晰,称之为Holu。 2、MEMC算法对运动不规则的图象失效 MEMC算法的局限性决定了起并不能对各种场景下的图象都能起到相应的补偿作用,当屏幕中的物体运动的路线无法预测时,则MEMC算法有失效的可能,由于各Solution厂家的MEMC技术虽都购买了PHILPS的专利技术,但具体实现各厂家不尽相同,所以具体在什么情况下失效,各厂家并完全相同。比如一个高速运动的物体高速向左运动,突然再向右运动,在物体转向的时刻,图象的边沿一般会很糟糕,比普通电视的效果还差。 3、对低场频的片源转成50/60Hz码流播出的图象效果不好 不如原来是24Hz的电影信号转成普通的码流播出的信号,由于原信号场频很低,很多相邻场的画面是完全相同的,及码流中的图象是时而运动时而静止的,在这种情况下MEMC的插帧将表现出起副作用,产生图象的剧烈抖动。

运动估计与运动补偿复习课程

运动估计与运动补偿

运动估计与运动补偿 运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。运动估计是从视频序列中抽取运动信息的一整套技术。 运动估计与运动补偿技术 MPEG-4采用I-VOP、P-VOP、B-VOP三种帧格式来表征不同的运动补偿类型。它采用了H.263中的半像素搜索(half pixel searching)技术和重叠运动补偿(overlapped motion compensation)技术,同时又引入重复填充(repetitive padding)技术和修改的块(多边形)匹配(modified block(polygon)matching)技术以支持任意形状的VOP区域。 此外,为提高运动估计算法精度,MPEG-4采用了MVFAST(Motion Vector Field Adaptive Search Technique)和改进的PMVFAST(Predictive MVFAST)方法用于运动估计。对于全局运动估计,则采用了基于特征的快速顽健的FFRGMET(Feature-based Fast and Robust Global Motion Estimation Technique)方法。 编解码器用来减少视频序列中的空域冗余。它也可以用来进行去交织(deinterlacing)的操作。 定义 运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。 分类

包括全局运动补偿和分块运动补偿两类。运动补偿是一种描述相邻帧(相邻在这里表示在编码关系上相邻,在播放顺序上两帧未必相邻)差别的方法,具体来说是描述前面一帧(相邻在这里表示在编码关系上的前面,在播放顺序上未必在当前帧前面)的每个小块怎样移动到当前帧中的某个位置去。这种方法经常被视频压缩/视频编解码器用来减少视频序列中的空域冗余。它也可以用来进行去交织(deinterlacing)的操作。一个视频序列包含一定数量的图片--通常称为帧。相邻的图片通常很相似,也就是说,包含了很多冗余。使用运动补偿的目的是通过消除这种冗余,来提高压缩比。 最早的运动补偿 早期解析 最早的运动补偿的设计只是简单的从当前帧中减去参考帧,从而得到通常含有较少能量(或者成为信息)的"残差",从而可以用较低的码率进行编码。解码器可以通过简单的加法完全恢复编码帧。一个稍微复杂一点的设计是估计一下整帧场景的移动和场景中物体的移动,并将这些运动通过一定的参数编码到码流中去。这样预测帧上的像素值就是由参考帧上具有一定位移的相应像素值而生成的。这样的方法比简单的相减可以获得能量更小的残差,从而获得更好的压缩比--当然,用来描述运动的参数不能在码流中占据太大的部分,否则就会抵消复杂的运动估计带来的好处。通常,图像帧是一组一组进行处理的。每组的第一帧(通常是第一帧)在编码的时候不使用运动估计的办法,这种帧称为帧内编码帧(Intra frame)或者I帧。该组中的其它帧使用帧间编码帧(Inter frame),通常是P帧。这种编码方式通常被称为IPPPP,表示编码的时候第一帧是I帧,其它帧是P帧。在进行预测的时候,不仅仅可以从过去的帧来预测当前帧,还可以使用未来的帧来预测当前帧。当然在编码的时候,未来的帧必须比当前帧更早的编码,也就是说,编码的顺序和播放的顺序是不同的。通常

基于线性搜索的快速运动估计算法

第38卷 第2期2004年2月 西 安 交 通 大 学 学 报 J OU RNAL OF XI′AN J IAO TON G UN IV ERSIT Y Vol.38 №2 Feb.2004基于线性搜索的快速运动估计算法 丁贵广,郭宝龙 (西安电子科技大学机电工程学院,710071,西安) 摘要:为了减小快速运动估计算法的计算复杂度和提高运动补偿的准确性,提出了一种新的块匹配运动估计算法,称为线性正方形搜索算法.该算法采用运动估计的线性搜索策略,对于不重要的搜索区域利用线性搜索技术进行快速搜索以减小算法的计算复杂度,而对于重要搜索区域,即最佳点所在区域,用9点的正方形模块进行精细搜索以提高算法的搜索精度.实验结果证明,该算法与菱形算法相比不仅计算复杂度减小了10%以上,而且视频编码效率可以提高约011dB. 关键词:块匹配算法;运动估计;线性搜索;视频编码 中图分类号:TP391 文献标识码:A 文章编号:0253-987X(2004)02-0136-04 N e w F ast Motion Estimation Algorithm B ased on Line Search Di ng Guiguang,Guo B aolong (School of Electromechanical Engineering,Xidian University,Xi′an710071,China) Abstract:In order to reduce the computational complexity of the fast motion estimation and improve the accuracy of motion compensation,a new block2matching algorithm called line2square search(L SS)algorithm was pro2 posed,in which the strategy of the line search was introduced.The L SS algorithm performed the line search for the unimportant area to reduce the computation complexity.For the important search area in which optimal points were existed,a square search pattern consisted of9checking points was used to carry out the refined search,thus the search accuracy and the prediction quality were https://www.360docs.net/doc/d512460098.html,pared with the diamond search algorithm,experimental results showed that the computational complexity could be reduced up to10%and the coding efficiency could be increased about011dB by the L SS algorithm. K eyw ords:block2m atchi ng al gorithm;motion esti m ation;li ne search;vi deo codi ng 对于视频序列图像,由于相邻帧之间存在很大的时间相关性,即时间冗余,所以通过减少时间冗余,可以大幅度提高视频编码的效率.基于块匹配的运动估计算法是一种有效的方法,它已经被许多视频编码标准所采纳[1,2].在块匹配运动估计算法中,全搜索(FS)算法精度最高,但由于它要对搜索区内的每个搜索点进行检测,因此计算复杂度高,软硬件实现困难.后来人们相继提出了许多快速搜索算法,如三步法(TSS)[3]、四步法(FSS)[4]、二维对数法(TDL)[5]、基于块的梯度下降法(BB G DS)[6]、交叉法(CS)[7]和菱形法(DS)[8,9\〗等,它们通过设计不同的搜索模板和搜索策略,在计算复杂度上比FS 减小了许多,但搜索的准确性比不上FS.因此,有必要寻找更加高效的块匹配运动估计算法. 本文在分析运动矢量和绝对差和(Sum of Ab2 solute Difference,SAD)的空间分布特性的基础上,设计了一种新的搜索算法———线性正方形搜索算法(Line2Square Search,L SS).实验结果表明,本文提出的L SS算法在计算复杂度和准确性上都明显优于DS等块匹配算法. 收稿日期:2003-05-05. 作者简介:丁贵广(1976~),男,博士生;郭宝龙(联系人),男,教授,博士生导师. 基金项目:国家自然科学基金资助项目(69975015);教育部优秀青年教师计划资助项目.

基于块的全搜索运动估计算法实现实验报告

数字视频处理实验报告 学院:通信与信息工程学院 系班:电信科0901班 姓名: 学号: 时间:2012 年11月23号

一、实验名称:基于块的全搜索运动估计算法实现 二、实验目的: 1、掌握运动估计算法的实现原理。 2、掌握运动估计算法的研究现状及多种计算方法。 3、学习基于块的全搜索运动估计算法,研究分析其Matlab实现 程序过程,并补充完成程序,对实验结果进行分析比较。 三、实验要求 三、实验要求 1、对实验程序motionEstAnalysis.m进行分析,完成主程序流程图。 函数流程图: 2、编写补充完成部分不全程序代码,调试程序使其能正确运行 (1) motionEstES( ) % Computes motion vectors using exhaustive search method(全搜索法计算运动矢量) % % Input % imgP : The image for which we want to find motion vectors(当前图像) % imgI : The reference image(参考图像) % mbSize : Size of the macroblock(宏块尺寸) % p : Search parameter (read literature to find what this means)(搜索参数) % % Ouput % motionVect : the motion vectors for each integral macroblock in imgP (当前图像中每一个积分宏块的运动矢量) % EScomputations: The average number of points searched for a macroblock(每个宏块搜索的平均点数) % % Written by Aroh Barjatya

视频信号的运动估计和运动补偿算法

数 字 视 频 实 验 报 告 班 级:电信科0801班 学 号: 姓 名: 实 验 报 告 二 1、 实验名称:视频信号的运动估计和运动补偿算法 二、实验目的 在视频编码和处理系统中,运动估计和运动补偿技术对降低视频序列时间冗余度、提高编码效率起着非常关键的作用。运动估计的准确程

度将直接决定视频编码器的编码效率。它极大地消除了视频序列的帧间相关性。运动估计算法的复杂性将直接决定视频压缩编码系统的复杂性,如何提高运动估计的效率,使运动估计算法的搜索过程更快速、更高效一直是人们研究的热点。掌握运动估计的块匹配算法,以及快速运动估计算法。 三、实验内容: 1、 分析基于块匹配的全搜索运动估计算法程序,画出 motionEstAnalysis.m 和 motionEstES.m文件流程图 2、 编程补充完成costFuncMAD.m 文件中最小绝对误差计算函数 costFuncMAD()和imgPSNR.m文件中峰值信噪比PSNR计算函数 imgPSNR()的程序,最终输出运动矢量场; 3、 掌握运动补偿算法,编程实现motionComp.m文件中对目标帧的 运动补偿重构函数 motionComp(); 4、 了解多种快速运动估计算法,例如三步法搜索法、二维对数 法、菱形搜索法等。 5、 总结实验结果,比较各种搜索算法的性能和所需时间。 四、实验原理 在帧间预测编码中,由于活动图像邻近帧中的景物存在着一定的相关性。因此,可将活动图像分成若干块或宏块,并设法搜索出每个块或宏块在邻近帧图像中的位置,并得出两者之间的空间位置的相对偏移量,得到的相对偏移量就是通常所指的运动矢量,得到运动矢量的过程被称为运动估计。 运动矢量和经过运动匹配后得到的预测误差共同发送到解码端,在解码端按照运动矢量指明的位置,从已经解码的邻近参考帧图像中找到相应的块或宏块,和预测误差相加后就得到了块或宏块在当前帧中的位置。 运动估计的准确程度往往用补偿图像与原图像比较的PSNR来衡量表示。 五、实验程序 1、 motionEstAnalysis.m文件流程图

一种有效的三步运动估计算法

一种有效的三步运动估计算法 摘 要:为了减小运动估计算法的计算复杂度及提高序列图像超分辨率重建的可靠性,提出了一种有效的三步搜索算法。该算法采用多步搜索策略,根据运动矢量分布的中心偏移性及并行处理的思想,在最佳匹配点所在的区域使用菱形小模板代替原有的正方形小模板来进行精细搜索,以提高算法的搜索精度。实验结果表明,该算法在保证搜索精度的同时能大幅度缩短消耗时间。 关键词:超分辨率重建;运动估计;块匹配;运动矢量 由于误差表面通常并不是单调的,所以搜索窗口太小,就容易陷入局部最优;而搜索窗口太大,又容易产生错误的搜索路径[7]。3SS 搜索法第一步搜索步长较大,在图像运动较小的时候会影响运动估计的效果,使运动估计的精度明显下降。在超分辨率图像重建中,序列图像的每一帧变化都很小,帧与帧之间大多为小运动估计,而在实际应用中,除了要保证运动估计的精度之外,对算法的实时性也提出了更高的要求。根据这个特点,本文提出一种根据N3SS 法演变而来的一种有效的三步搜索算法(effective three step search ,E3SS)。图2为E3SS 的搜索模板,搜索窗宽度为5,即搜索范围是)5,5(±±j i 。 i j 6-i 6 +i 6 +j 6 -j 图2 E3SS 搜索模板 在真实的视频序列中,运动矢量的分布具有中心偏移的特点,由全搜索算法FS 的匹配结果表明,匹配点在中心点的概率最高,其次为在中心点周围上、下、左、右的4个邻点,而在中心点周围左上、右上、右下、左下4个对角点的概率最小[8],因此在搜索窗口的中心采用了一个小的菱形搜索模板来替代N3SS 算法

中的正方形小模板。 首先,搜索模板上的13个检测点,如果最小块误差(minimum block distortion ,MBD) 点 (SAD 值最小的点),在搜索窗口的中心则算法结束。 如果MBD 点位于中心点的4个相邻点中,移动菱形小模板到上一步的MBD 点,继续搜索菱形小模板中的其他点,直到MBD 点是菱形中心的点或者菱形小模板到达搜索窗口边缘为止,如图3(a)中,点(0,-1)是第一步的MBD 点,也是第二阶段的MBD 点,且位于搜索窗中心,故最终运动矢量就是(0,-1)。图中每个点上的数字表明了不同阶段搜索时的检测点。 如果MBD 点是99 模板中的8点之一,搜索方法同3SS ,即将步长减半,中心点移到上一步的MBD 点,重新在周围距离步长的8个点处进行块匹配计算并比较,重复此步骤,直到步长为1,该点所在位置即对应最优运动矢量,如图3(b)中,(4,4)是第一步的MBD 点,然后以(4,4)为中心点进行第二步搜索,此时搜索半径已经缩减为2像素,最后以当前MBD 点(2,6)完成第三步搜索,找到最优匹配点。 -1 1 -2-3-4-5-6-702 3 4567 -11-2-3-4-5-6-7 0234567-11-2-3-4-5-6-7 0234567-11 -2-3-4-5-6-702 3 4 5 6 7 (a) (b) 图3 E3SS 搜索示意图 4 实验结果与分析 为了验证E3SS 算法的性能,在相同条件下进行了一系列的仿真实验。实验的搜索区域在水平与竖直方向的最大位移均为±7,块的大小为16×16,并采用SAD 作为最佳匹配准则。实验时,首先利用预测帧的峰值信噪比(peak signal to noise ratio ,PSNR)来度量搜索的准确性,同时选取多个不同性质的序列图像来检

视频信号的运动估计和运动补偿算法

数字视频实验报告 班级:电信科0801班 学号: 姓名:

实验报告二 一、实验名称:视频信号的运动估计和运动补偿算法 二、实验目的 在视频编码和处理系统中,运动估计和运动补偿技术对降低视频序列时间冗余度、提高编码效率起着非常关键的作用。运动估计的准确程度将直接决定视频编码器的编码效率。它极大地消除了视频序列的帧间相关性。运动估计算法的复杂性将直接决定视频压缩编码系统的复杂性,如何提高运动估计的效率,使运动估计算法的搜索过程更快速、更高效一直是人们研究的热点。掌握运动估计的块匹配算法,以及快速运动估计算法。 三、实验内容: 1、分析基于块匹配的全搜索运动估计算法程序,画出 motionEstAnalysis.m 和 motionEstES.m文件流程图 2、编程补充完成costFuncMAD.m 文件中最小绝对误差计算函数 costFuncMAD()和imgPSNR.m文件中峰值信噪比PSNR计算函数imgPSNR()的程序,最终输出运动矢量场; 3、掌握运动补偿算法,编程实现motionComp.m文件中对目标帧的运 动补偿重构函数 motionComp(); 4、了解多种快速运动估计算法,例如三步法搜索法、二维对数法、

菱形搜索法等。 5、总结实验结果,比较各种搜索算法的性能和所需时间。 四、实验原理 在帧间预测编码中,由于活动图像邻近帧中的景物存在着一定的相关性。因此,可将活动图像分成若干块或宏块,并设法搜索出每个块或宏块在邻近帧图像中的位置,并得出两者之间的空间位置的相对偏移量,得到的相对偏移量就是通常所指的运动矢量,得到运动矢量的过程被称为运动估计。 运动矢量和经过运动匹配后得到的预测误差共同发送到解码端,在解码端按照运动矢量指明的位置,从已经解码的邻近参考帧图像中找到相应的块或宏块,和预测误差相加后就得到了块或宏块在当前帧中的位置。 运动估计的准确程度往往用补偿图像与原图像比较的PSNR来衡量表示。 五、实验程序 1、motionEstAnalysis.m文件流程图

运动估计算法MATLAB课程设计

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 运动估计算法 初始条件: MATLAB软件平台 要求完成的主要任务: 1.设计任务 设计视频压缩系统中的运动估计算法:全搜索法(FS: Full Search)和三步法(TSS: Three Step Search),比较二种方法的搜索点和每帧的峰值信噪比(PSNR:peak signal to noise ratio) 2.设计要求 编制算法代码;对视频进行运动估计;计算PSNR 时间安排: 答辩时间2013年1月24日。 指导教师签名:年月日 系主任签名:年月日

摘要 (1) 1运动估计算法概念 (2) 1.1 运功估计算法基本思想 (2) 1.2 运动估计算法实验原理 (2) 2 设计原理和方法 (3) 2.1 三步法 (3) 2.2 新三步法 (3) 2.3 全搜索法 (4) 2.4 峰值信噪比 (5) 3 运动估计算法的MATLAB编程 (6) 3.1全搜索法 (6) 3.2三步法 (9) 3.3全搜索法指标 (11) 3.4三步法指标 (11) 3.4仿真结果分析 (11) 4 小结与体会 (11) 参考文献 (11) 附录 (12)

运动估计的基本思想是尽可能准确地获得序列图像帧间的运动位移,即运动 矢量。因为运动估计越准确,预测补偿的图像质量越高,补偿的残差就越小,补偿编码所需位数越少,需要传输的比特率就越小。利用得到的运动矢量在帧间进行运动补偿。补偿残差经过变换、量化、编码后与运动矢量一起经过熵编码,然后以比特流形式发送出去。 在视频编码和处理系统中,运动估计和运动补偿技术对降低视频序列时间冗余度、提高编码效率起着非常关键的作用。运动估计的准确程度将直接决定视频 编码器的编码效率。 关键词:运动估计、运动补偿技术、位移(运动)矢量 Abstract The basic idea is that the motion estimation as accurate as possible the image sequence interframe motion displacement, i.e. the motion vector. Motion estimation more accurate prediction compensation, the higher the image quality is compensated residuals is smaller, less compensation coding bits required, the smaller the transmission bit rate. Performing motion compensation using the motion vector obtained in the interframe. Compensation residuals through transformation, quantization, entropy-coded together with the motion vector is encoded, and then sent out in the form of a bit stream. In video coding and processing system, the motion estimation and motion compensation to reduce the temporal redundancy of video sequence to improve the coding efficiency plays a crucial role. The degree of accuracy of the motion estimation will directly determine the encoding efficiency of the video encoder. Keywords:Motion estimation Motion compensation techniques The vector of displacement (movement)

运动估计算法比较 块匹配 全搜索 四步法 三步法

大作业 运动估计算法比较 一、实验内容 简要介绍各种运动估计算法,并比较不同运动估计算法的性能,主要考虑各算法的运算速度和精度。 二、实验背景 视频原始图像中存在着大量的信息冗余,如时间冗余、空间冗余、信息熵冗余、谱间冗余、几何结构冗余、视觉冗余和知识冗余等等。运动估计是视频压缩编码中的核心技术之一,采用运动估计和运动补偿技术可以消除视频信号的时间冗余以提高编码效率。如何提高运动估计的效率,使运动估计算法的搜索过程更健壮、更快速、更高效成为目前研究的热点。 运动估计的基本思想是尽可能准确地获得序列图像帧间的运动位移,即运动矢量。因为运动估计越准确,预测补偿的图像质量越高,补偿的残差就越小,补偿编码所需位数越少,需要传输的比特率就越小。利用得到的运动矢量在帧间进行运动补偿。补偿残差经过变换、量化、编码后与运动矢量一起经过熵编码,然后以比特流形式发送出去。 运动估计算法多种多样,大体上可以把它们分成四类:块匹配法、递归估计法、贝叶斯估计法和光流法。其中块匹配运动估计算法因其具有算法简单、便于VLSI实现等优点得到广泛应用。所以本文将重点介绍块匹配运动估计算法,并对各种块匹配算法在计算速度和估计精度上进行简单比较。 三、实验原理 (一)、像素递归技术 像素递归技术是基于递归思想。在连续帧中像素数据的变化是因为物体的移位引起的,郑么如果沿着梯度方向在某个像素周圈的若干像素作迭代运算,运算会最后收敛于一个固定的运动估计矢量,从而预测该像素的位移。 (二)、块匹配运动估计 块匹配运动估计是把图像帧划分为若干互不重叠的块,并以块为单位寻找目标帧中每块在参考帧(上一帧或者其它帧)中最优匹配的块的相对位置,假设图像中每块的大小为M

几种经典快速块匹配运动估计算法的比较研究

Computer Knowledge and Technology 电脑知识 与技术计算机工程应用技术本栏目责任编辑:梁书 第6卷第32期(2010年11月)几种经典快速块匹配运动估计算法的比较研究 肖敏连 (湖南人文科技学院计算机科学技术系,湖南娄底417000) 摘要:块匹配运动估计算法被许多视频编码标准采用以消除视频序列帧间的时间冗余信息,而运动估计往往是视频编码器中的最耗时的部分,为了加快视频编码速度,许多快速运动估计被相继提出,该文首先对三种经典的快速运动估计算法进行详细的分析,然后把这三种经典快速运动估计算法嵌入到国际视频编码标准H.264/AVC 中,在相同的条件下分别对这三种算法进行性能测试,最后通过比较测试结果对三种经典快速运动估计算法的各自的特点进行了总结。 关键词:块匹配;运动估计;算法 中图分类号:TP312文献标识码:A 文章编号:1009-3044(2010)32-9152-03 Comparative Research on Several Classical Rapid Algorithms of Block-matching Motion Estimation XIAO Min-lian (Department of Computer Science and Technology of Hunan Institute of Humanities,Science and Technology,Loudi 417000,China) Abstract:Block-matching motion estimation was adopted by many video standards to eliminate the temporal redundancy information be -tween successive frames,and usually the motion estimation is the most time consuming part of the whole encoding process.Many rapid motion estimation algorithms are developed in the past twenty years successively.This paper firstly analyzed the three classical rapid block-matching motion estimation algorithms.Then these algorithms were inserted into the H.264/AVC reference software.The three classic rapid block-matching motion estimation algorithms'performances were tested under the same condition.Finally,the characteristics of the three classical rapid algorithms were summarized according to the experimental results. Key words:block-matching;motion estimation;algorithm 对于视频图像序列,如果帧与帧之间不是场景变换,运动幅度不是很大,则两帧之间就会存在很大的时间相关性即时间冗余,可以通过运动估计来消除时间冗余,从而达到视频压缩的目的。块匹配运动估计算法是目前应用最广泛的一种运动估计算法,它已被许多视频编码标准所采纳,如MPEG-1/2/4、H.261、H.263及H.264/AVC 等等[1-2]。最基本的块匹配算法是全搜索(FS ,Full Search )算法,虽然它能通过对搜索范围内所有的点进行搜索而找到最佳匹配点,但其计算量非常巨大,因此寻求快速的块匹配运动估计算法成了视频编码中热点问题。 1几种快速经典运动估计算法的搜索策略 运动搜索的目的就是要寻找最优匹配点。在搜索过程中可以采用上述不同的起点预测方法和块匹配准则来加快搜索速度或提高精度。搜索策略选择适当与否对运动估计的准确性、运动估计的速度都有很大的影响。最简单、最可靠、搜索精度最高的是全搜索法,但由于它计算复杂度高,不易于实时应用,为此人们提出了各种改进的快速算法,下面介绍几种经典的快速运动估计算法。 1.1三步搜索算法 三步搜索算法[3](Three Step Search ,TSS)于1981年由T.KOGA 等人提出,作为 一种简单有效的运动估计技术,被广泛使用在低比特率视频压缩场合中,当最大搜 索距离为7,搜索精度取1个像素,则步长为4、2、1,共需三步即可满足要求,因此 而得名三步法。 TSS 采用一种由粗到细的搜索模式,从搜索窗中心点开始,按一定步长取周围 8个点构成每次搜索的点群,然后进行匹配计算,跟踪到最小块误差MBD 点。 TSS 算法具体执行步骤:①它先确定一个中心点,确定最大搜索长度,然后以 最大搜索长度的1/2作为步长,在中心点周围取离中心点距离为一个步长的8个 点,将这9个点按照匹配原则进行计算,得到最佳匹配点;②然后以上一步得到的 最匹配的块为中心,搜索与此相距为最大搜索长度1/4搜索窗口距离的8个点进 行比较,再通过比较找出最匹配的块;③最后比到步长为1时,找出此时的最佳匹 配点就是最终的结果。 图1为TSS 的一个搜索图示。该算法简单、健壮、性能良好。但第一步的搜索步收稿日期:2010-09-07 基金项目:湖南人文科技学院教改课题(RKJGY0928,RKJGZ0706)资助 作者简介:肖敏连(1969-),女,湖南娄底人,实验师,本科,主要研究方向为多媒体技术。 图1TSS 搜索图示 ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.6,No.32,November 2010,pp.9152-9154E-mail:kfyj@https://www.360docs.net/doc/d512460098.html, https://www.360docs.net/doc/d512460098.html, Tel:+86-551-569096356909649152

帧间预测运动估计算法研究

帧间预测运动估计算法研究 帧间预测编码法是视频编码过程中消除冗余的重要方法。运动估计和运动补偿技术是视频帧间预测编码中的核心技术。详细研究了块匹配运动估计的基本原理,重点介绍了几种经典的块匹配运动估计算法,通过实验定性地评价了各算法的性能特点,分析了各算法的优缺点,总结出了运动估计算法优化的方向,对目前运动估计技术的研究和设计具有重要意义。 标签:帧间预测编码;时间冗余;块匹配;运动估计;运动矢量 Abstract:Motion estimation and motion compensation are the core technologies in video inter-frame prediction coding. The basic principle of block matching motion estimation is studied in detail,and several classical block matching motion estimation algorithms are introduced in detail. The performance characteristics of each algorithm are evaluated qualitatively through experiments,and the advantages and disadvantages of each algorithm are analyzed. Keywords:interframe prediction coding;time redundancy;block matching;motion estimation;motion vector 引言 幀间预测是视频编码的关键内容,而运动估计是其核心。据统计在H.264/A VC编码中运动估计约占全部计算量的60%到80%,所以运动估计算法的性能至关重要。块匹配算法广泛应用标准视频编码。 在基于块匹配的运动估计算法中,对每一帧图像都被分成大小相同的宏块,然后以宏块为基本处理单元。最后对预测差值、运动矢量和相应的参考索引进行编码。 1 帧间预测原理 1.1 运动估计 在序列图像中,邻近帧存在着一定的相关性。因此,可将活动图像分成若干块或宏块,在参考帧中定义的搜索区域,按照一定的匹配准则,搜索出每个块或宏块在参考帧图像中的匹配块,并得出两者之间的空间位置的相对偏移量,即运动矢量。当前块从参考帧中求取最佳匹配块得到运动矢量的过程被称为运动估计[2]。运动估计的原理如图1。 假设当前帧为P,参考帧为Pr,当前编码块为B,B*与B在图像中坐标位置相同。在Pr中,按照搜索准则,寻找与B块相减残差最小的匹配块Br。这个过程就是运动估计,Br左上角坐标(xr,yr)与B*左上角坐标(x,y)之差,

基于块匹配算法的运动估计

基于块匹配算法的运动估计 摘要:本文首先介绍了运动估计和块匹配的概念和思想,然后详细介绍了块匹配的搜索算法。最后根据块匹配算法的运动估计给出了一个设计。 关键字:运动估计,块匹配,算法 1 研究背景 随着现代信息社会对通信业务要求的不断增长,图像通信与通信网容量的矛盾日益突出,尤其是具有庞大数据量的视频图像通信,更是很难传输和存储,极大的制约了图像通信的发展。例如,按CCIR601建议,普通质量的电视信号数字视频的码率约为216Mbit/s,而高清晰度电视HDTV则在1.2Gb/s以上,如果没有高效率的压缩技术,则难以传输和存储。而运动检测与估计不仅是军事领域中目标探测与跟踪的有效技术之一,同时也是视频图象编码与压缩的常用方法与核心技术。因此,该项研究对于复杂背景下的目标探测以及视频处理均具有重要的应用价值。 运动估计和运动补偿是紧密联系的,它是视频图像压缩编码中使用的一项核心技术,很好的解决了视频图像中时间冗余的问题,经验表明,实用化的压缩方法可以将运动图像数据压缩30倍而不失真。运动估计技术主要分为两大类:象素递归法和块匹配法。考虑到计算复杂度和实时性要求,块匹配法已成为目前最常用的方法。显然,要想获得好的运动补偿,关键是要有准确的运动估计,因此运动估计算法的研究成为视频压缩算法的研究重点。运动估计研究的主要内容就是如何快速、有效的获得有足够精度的运动矢量。即把前一帧的运动部分根据运动矢量补过来,同时用其它方法得到其剩余的不同部分的过程称为运动补偿(Motion Compensation,MC)。就这样,采用运动估计和补偿可以有效地去除视频信号在时间方向的重复信息,达到压缩的目的。其中,在这方面的一种有效方法就是块匹配运动估计BMME(Block-Matching Motion Estimation),它目前已被许多视频编码标准所采纳。为了提高搜索速度和效率,目前研究最多的是基于块匹配(Block Matching,BM)的快速搜索算法,例如三步法,四步法,二维对数法,菱形法等。 随着计算机网络的普及和发展,很多信息可以通过网络实现共享。形色兼具

相关文档
最新文档