基于块匹配算法的运动估计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于块匹配算法的运动估计
摘要:本文首先介绍了运动估计和块匹配的概念和思想,然后详细介绍了块匹配的搜索算法。最后根据块匹配算法的运动估计给出了一个设计。
关键字:运动估计,块匹配,算法
1 研究背景
随着现代信息社会对通信业务要求的不断增长,图像通信与通信网容量的矛盾日益突出,尤其是具有庞大数据量的视频图像通信,更是很难传输和存储,极大的制约了图像通信的发展。例如,按CCIR601建议,普通质量的电视信号数字视频的码率约为216Mbit/s,而高清晰度电视HDTV则在1.2Gb/s以上,如果没有高效率的压缩技术,则难以传输和存储。而运动检测与估计不仅是军事领域中目标探测与跟踪的有效技术之一,同时也是视频图象编码与压缩的常用方法与核心技术。因此,该项研究对于复杂背景下的目标探测以及视频处理均具有重要的应用价值。
运动估计和运动补偿是紧密联系的,它是视频图像压缩编码中使用的一项核心技术,很好的解决了视频图像中时间冗余的问题,经验表明,实用化的压缩方法可以将运动图像数据压缩30倍而不失真。运动估计技术主要分为两大类:象素递归法和块匹配法。考虑到计算复杂度和实时性要求,块匹配法已成为目前最常用的方法。显然,要想获得好的运动补偿,关键是要有准确的运动估计,因此运动估计算法的研究成为视频压缩算法的研究重点。运动估计研究的主要内容就是如何快速、有效的获得有足够精度的运动矢量。即把前一帧的运动部分根据运动矢量补过来,同时用其它方法得到其剩余的不同部分的过程称为运动补偿(Motion Compensation,MC)。就这样,采用运动估计和补偿可以有效地去除视频信号在时间方向的重复信息,达到压缩的目的。其中,在这方面的一种有效方法就是块匹配运动估计BMME(Block-Matching Motion Estimation),它目前已被许多视频编码标准所采纳。为了提高搜索速度和效率,目前研究最多的是基于块匹配(Block Matching,BM)的快速搜索算法,例如三步法,四步法,二维对数法,菱形法等。
随着计算机网络的普及和发展,很多信息可以通过网络实现共享。形色兼具
的视频信息在网络传输的信息中所占据的比例也越来越高。但由于视频信息本身十分庞大,限制了其在网络中的传播速度。于是视频信息的压缩成为视频传输的一个重要环节。数字视频信息是由数字图像的时间序列构成的,每一幅数字图像称为一帧。视频编码的一个主(frame)要目的就是在保证一定重构质量的前提下,以尽量少的比特数来表征视频信息。视频编码是视频压缩的关键技术。视频编码与的原理是:由于表示图像和视频信息所需的大量的数据往往是高度相关的,这些相关性会引起信息的冗余,因此可以通过去除这些冗余信息来实现对视频数据的压缩。静止图像的压缩是在保持重建图像质量可以接收的同时,尽量去除图像本身存在的空间冗余,而视频信号的压缩,除了去除空间冗余之外,还可以通过去除时间冗余达到较高的压缩比。
运动估计技术是视频图像压缩编码中使用的一项核心技术,很好的解决了视频图像中时间冗余的问题,运动估计技术主要分为两大类:象素递归法和块匹配算法。考虑到计算复杂度和实时性要求,块匹配法已成为目前最常用的方法。
2 实验原理
如图1 所示, 运动估计的基本思想是将图像序列的每一帧图像分成许多互不重叠的宏块, 并假设块内各像素只作相等的平移, 然后对于当前帧中的每一块到前一帧或后一帧某一给定搜索范围内根据一定的匹配准则找出与当前块最相似的块, 即匹配块, 由匹配块与当前块的相对位置计算出运动位移, 所得运动位移即为当前块的运动矢量。宏块大小为M×N, 一般取16×16。搜索范围一般由最大偏移矢量来决定, 设可能的最大偏移矢量为( dxmax, dymax) , 则搜索范围为(M+2dxmax) ×(N+2dymax)。
图1 运动估计基本原理
2.1 块匹配介绍
按照一般的想法,运动估计应当首先将图像中静止背景和运动物体区分开来,然后对运动物体的实际位移进行估计。但块匹配方法却不是这样,它的思想是将图像划分为许多互不重叠的子块(例如16×16),并认为子块内所有像素的位移量都相同。这意味着每个子块被视为运动物体。假设在图像序列中,t时刻对应于第k帧图像,t-τ时刻对应于第k-1帧图像。对于k帧中的一个子块,在k-1帧中寻找与其最相似的子块,这个过程称为寻找匹配块,并认为该匹配块在k-1帧中所处的位置就是k帧子块位移前的位置,这种位置的变化用运动矢量D 来表示。
将图像分割成M×N的小块,并假设块内象素作相同的运动,且只作平移运动。虽然实际上块内各点运动不一定相同,也不定只有平移运动,但当M×N较小时,上述假设可近似成立。这样做的目的只是为了简化运算。块匹配法对当前帧图像的每一块,在上一帧的一定范围内搜索最优匹配,并认为本块就是从上一帧最优匹配块位置处平移过来的。设可能的最大偏移矢量为(r,r),则搜索范围为(p+2r)×(q+2r)。图2示出了待匹配块与搜索区的几何位置关系。随着图像压缩编码技术的发展和对压缩效率愈来愈高的要求,在很多场合均要求运动矢量精确到亚象素元级。
图2 待匹配块与搜索区的几何位置关系
块的大小受到两个矛盾的约束:块大时,块内各像素作平移运动的假设易被破坏,影响估计的精度;块小时,则易受噪声影响,估计不够可靠,而且运算量增加,所需传输的附加信息也增加了。因此必须恰到好处地选择块的大小,以做
到两者兼顾。目前的视频压缩标准,如H.26x 和MPEG 等,一般均以16×16大小的块作为块匹配单元,这是一个已为实践证明的较好的折衷结果。
2.2 离散余弦变换(DCT)
离散余弦变换(DCT )是利用傅立叶变换的对称性,将图象描述为不同幅值和频率的正弦值之和的形式;是图象压缩JPEG 压缩算法的基础和核心。是一个无信号损失的双向数学过程。通过DCT 变换能去除视频信号的空间冗余。
一个N ×N 矩阵的二维DCT 定义如下:
(1)正变换
1100(21)(21)
(,)()()(,)cos(
)cos()22N N c x y u x v y F u v c u c v f x y N N ππ--==++=∑∑ (2.1)
(2)反变换
1100(21)(21)
(,)()()(,)cos(
)cos()22N N c u v x u y v f x y c x c y F v N N ππμ--==++=∑∑ (2.2)
其中
1/0)()1)
k c k k N ⎧=⎪=≤≤-
2.3 块匹配的准则
运动估计算法中常用的匹配准则有三种,即最小绝对差(拟D)、最小均方误差(MSE)和归一化互相关函数(NCCF)。分别定义如下:
1、互相关函数(Cross-Correlation Function,简称
CCF)
(1,2,)(11,22,1)
s n n k s n d n d k ρ⨯+++=∑ (2.3)
其中,1,2p n n p -≤≤。(2.3)式是计算当前帧中(X ×Y)矩阵域与前帧相对应的(X +2P, Y +2P)矩阵区域互相关函数。
2、均方误差函数(MSE)