运动估计块匹配算法分析与研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第22卷第3期2006年6月 河北北方学院学报(自然科学版)Journal of Hebei Nort h University (Nat ural Science Edition )
Vol 122No 13J une 2006 收稿日期:20060424
作者简介:乔月圆(19702),男,山西大同人,山西大同大学讲师.
运动估计块匹配算法分析与研究
乔月圆1,冯贵良2,兰安怡2
(11山西大同大学,山西大同037003;21河北北方学院计算机科学系,河北张家口075000)
摘要:视频序列图像存在很强的相关性,采用运动估计和运动补偿技术可以消除时间冗余以提高编码效
率,本文介绍了运动估计的原理以及一些常用的块匹配算法,并对这些算法的优劣性作了分析比较.
关键词:运动估计;块匹配;算法
中图分类号:TP 30116 文献标识码:A 文章编号:167321492(2006)0320067204
The R esearch of B lock Matching Algorithms for Motion Estimation
Q IAO Yue 2yuan 1,FEN G Gui 2liang ,L AN An 2yi 2
(11Shanxi Datong University ,Datong ,Shanxi 037003,China ;
21Department of Computer Science ,Hebei North University ,Zhangjiakou ,Hebei 075000,China )
Abstrcat :There is a st rong relativity between video f requency images.To improve t he coding efficien 2cy ,we can remove redundancy information by using motion estimation and compensation techniques.This paper introduces t he t heory of motion estimation and some block matching algorit hms being used f requent 2ly ,and compares t he virt ues and shortcomings between t his algorit hms.
K ey w ord :motio n estimation ;block matching ;algorit hms
自然视频序编码的运动估计方法,就是计算当前帧(待编码的图像)的各像素块与其相邻帧(预测图像)的像素块的运动矢量,然后由其构成一个对当前帧的预测帧,求得其最佳预测误差,编码时只须传送预测误差值和运动矢量.由于预测误差的信息量通常会大大少于原图像的信息量,再对其施以适当的统计编码方法,则可以得到比较大的视频数据压缩.而在解码端,根据接收的运动矢量,采用运动补偿,将预测误差与己知的预测图像重合,生成解码.近年来,研究人员提出了很多运动估计块匹配算法,但是每种算法各有其优缺点和适用范围.
1 运动估计的块匹配算法原理
运动估计块匹配法的基本思想是将每一帧图像分割成一系列子块图像,宏块大小为M ×N (一般取16×16).计算当前帧中每一子块与相邻帧中的各子块的误差函数,
把具有最小误差的相邻帧的对应子块
图1 运动估计块基本原理
作为当前块的预测块,并把两块的相对位移定义为位移矢量(运动矢量).其基本原理如图1所示.
设当前帧的图像亮度信号为f k(m,n),前次传送的相邻帧的图像亮度信号为f k2N
5
(m,n),其中N s
为帧差数目(通常N s可取1,3,5,…,15).假定当前帧f k(m,n)中当前块是从前帧f k2N
5
(m,n)平行移而来,并设该子块内M×N个像素都具有同一个位移值(i,j),假定运动物体在帧差Ns时间内水
平和垂直方向的最大位移都为w,则我们可以在前帧f k2N
5
(m,n)对应的搜索区内进行搜索,寻找当前帧中的当前块在前帧对应的匹配块,搜索区面积为(M+2w)(N+2w).
2 块匹配的准则
运动估计算法中常用的准则有以下3种:
1)归一化相关函数NCCF(Normalized Cro ss2Correctio n Function)
N CC F(i,j)=
∑
M-1
m=0
∑
N-1
n=0
f k(m,n)f k-N s(m+i,n+j)
∑
M-1
m=0
∑
N-1
n=0
f2k(m,n)12∑
M-1
m=0
∑
N-1
n=0
f2k-N
5
k(m+i,n+j)12
归一化相关函数NCCF的计算工作量很大,在实际应用中
,一般用以下的均方误差函数和平均绝对
误差函数来代替.
2)平均均方误差函数MSD(Mean Square Difference)
M S D(i,f)=
1
M N
∑
M-1
m=0
∑
N-1
n=0
f k(m,n)-f k-N s(m+i,n+j)2
3)平均绝对差函数MAD(Mean Absolute Difference)
M A D(i,f)=
1
M N
∑
M-1
m=0
∑
N-1
n=0
|f k(m,n)-f k-N s(m+i,n+j)|
通常使用求和绝对差SAD代替MAD,即SAD(i,j)=MN3MAD(i,j))
在搜索区域内,如果某子块使得以上公式所计算的均方差值或绝对差值达到最小,该块就是所要找的匹配块,其位移量(i,j)就是当前帧中的当前块相对于其前帧的匹配块的运动矢量.匹配准则对匹配的精度影响不大,所以上面不含乘除法的求和绝对差SAD成为最常用的匹配准则FS(Full Search).
全搜索匹配法对搜索区内的所有子块进行搜索,因此能够得到搜索区内与当前块最为匹配的块.其中前向水平、垂直搜索窗口高度和反向水平、垂直搜索窗口高度应当根据具体图像特征进行选择.如果图像变化不大,则为了提高搜索速度,可以用小的搜索窗口;反之,如果处理的序列有很多的激烈场面,帧与帧之间的变化很大,则必须用大的窗口进行搜索,以达到要求的编码质量.
由于全搜索法需要对搜索窗口内每个宏块进行匹配,运算量非常大,有时甚至能占去整个编码器资源消耗的近80%.
3 三步搜索法TSS(Three Step Search)
如图2所示,TSS算法的基本思想是采用一种由粗到细的搜索模式.其搜索步骤一般为:第一步,从原点开始,以最大搜索长度的一半为步长检测中心点及周围8个相邻点的SAD值,找到SAD值最小点;第二步,以该SAD最小点为中心,搜索步长减半,并在缩小的方形的中心点及周围8个点找SAD最小点;第三步,重复第二步,直到步长为1,得到最后的运动向量.
三步搜索法在搜索的第一步采用固定步长的搜索模式,这样可能导致该算法对细小的运动进行估计时效果不理想,并且极有可能陷入局部最小点.现实中很多图像序列的运动经常是平稳、光滑和变化缓慢的,这时全局最小值一般是基于中心分布的,而不是均匀分布的.新三步搜索法算法就是基于中心的测试模式,在原有的三步搜索法的第一步的测试点的基础上再增加了中心点的82邻域作为测试点,并且采用了半途终止的策略(Halfway2stop Technique),若最小的块位移量矩(BDM,Block Distortion Measure) 2006年6月 河北北方学院学报(自然科学版) 第3期