运动估计——块匹配算法

1.介绍

        在数字视频处理中,运动估计是一个重要的研究点,在数据压缩中的应用最为成熟,在目标跟踪方面也有很重要的应用。
    下面是一些比较成熟的基于图像块匹配的运动估计。图像块匹配的主要目的是,通过在前后连续的2帧视频序列中,找到图像中最相关的部位,并建立他们的联系。这样就可以通过其中一幅图片及关系信息,还原出另一张图片的信息。而不同算法的主要区别就是在于,匹配时的采取不同的搜索方式,来达到即能较快地建立联系又能较好地保留信息的目的。


2.相关算法


2.1 穷尽搜索法(Exhaustive Search)ES


     顾名思义,穷尽法就是对搜索范围内的每个位置都进行计算并比较,从原图像块中找到与待匹配块最相似(误差最小)位置的方法。对于一个搜索范围为[-7,7]的区域来说,x,y两个方向全部搜索一遍需要进行 15X15 = 225 次计算。穷尽法的缺点很明显就是计算量太大,速度很慢,另一方面,由于全部范围都进行了计算,其匹配精度是最高的。

2.2 三步法(Three Step Search)TSS


      三步法通过三步搜索来确定匹配位置。
以搜索范围[-7,7]为例:
第一步:以匹配块当前位置为中心,间隔为4的距离,上下左右及斜对角,搜索8个点。加上中心点构成一个边长为8的”田“字。
第二步:以第一步搜索结果中,最接近点为中心,同样上下左右及斜对角搜索8个点。但是这一次,间隔要减半,搜索边长为4的”田“字。
第三步:重复第二部,将间隔再减半,减为1,此时找到的最相似点就是,匹配误差最小点。
三步法一共需要25次计算就能确定位置,但这个位置并不一定是误差最小的。

2.3 新三步法(New Three Step Search) NTSS


      新三步法对三步法有两个改进:
1.第一步中增加紧邻中心的8个点,作为检测点,共搜索17个点。
2.当搜索最小值为中心点时,立即以此为结果并停止搜索。

       这是基于运动矢量中心偏置分布的特性进行的改进。当第一步搜索结果为较远的8个点时,其余步骤与三步法无异。当第一步结果为中心时,搜索停止。
当第一步结果为紧邻中心的点时,以该点为中心,计算其紧邻的8个位置的匹配误差,误差最小的即为最佳匹配位置。

2.4 精简三步法(Simple and Efficient Search) SES


        精简三步法是对三步法计算量方面的改进。它认为误差函数是单峰的,即不存在两个不同方向上的位置点能同时到达误差最小。
因而它将三步法的搜索区域进行了四象限的划分,并根据中心点和相邻正交两点的计算值来决定最小误差位置所在的象限,并只搜索选定象限内的位置点,以此达到了减少计算量的目的。
令中心点为a,原三步法中,其右边的点为b,其正下方的点为c。分别计算a,b,c三个位置的误差函数。记为f(a),f(b),f(c)。
f(a)>=f(b),f(a)>=f(c) 则下一步选择第四象限;
f(a)>=f(b),f(a)<f(c) 则下一步选择第一象限;
f(a)<f(b),f(a)<f(c) 则下一步选择第二象限;
f(a)<f(b),f(a)>=f(c) 则下一步选择第三象限;
由于a,b,c三点已经搜索过了,固相应象限内若涉及这三个点就不用计算了。于是这一步通过一次判定从而减少了对误差函数的计算次数。

确定了在下一步搜索的中心位置,将搜索间隔减半,继续采用这种策略,直到间隔为1,找到误差最小点。

2.5 四步法(Four Step Search) FSS

        虽然叫四步法,但它与三步法及其改进法不同,三步法不管怎样改进,搜索步骤在三步之内就结束了。而四步法并不会在四步之内结束,这里的四步指的是搜索结果的四种情况,只有第四种情况会使算法结束,而其他情况会使算法继续进行下一步。

四步法的四种情况:
1.开始搜索时,不管指定的搜索区域为多大,四步法总是采用两点间隔为2的,“田”字搜索范围作为第一步。
2.第一步搜索结果若为中心位置,则跳至第4种情况;搜索结果若为8邻域中4个较远点,则跳至第3种情况。搜索结果若为4邻域中的点,则将中心移到该点,并搜索该点8邻域内未被计算过的剩下3个位置点。并将结果再次进行判断,并选择下一步。
3.将中心移至该点,并计算其间隔为2的8邻域内,未被计算过的5个位置的误差值。然后跳至第二步再次进行判断。
4.搜索该点间隔为1的8邻域点,找到误差最小位置,并结束。

四步法的好处是能避免局部极值的一些干扰,能进行一定程度上的全局搜索。

2.6 菱形法(Diamond Search) DS

        菱形法是目前应用最广的一种方法。它跟四步法很接近,也是采用循环搜索直到找到最佳位置才结束的搜索算法。
其不同之处在于,他的搜索模板,不是8邻域而是菱形。
        像四步法一样,前面先用大的菱形模板搜索,当搜索结果为菱形中心时,再进行一次小菱形搜索并结束。
大菱形:
**********1*************
*******2******3********
***4******5********6***
*******7******8********    
**********9*************
小菱形:
***********1***********
*********2 3 4*********
***********5***********
菱形法的优势就是,不限制搜索步骤,能够在整个搜空间中找到,最优的位置。可能菱形这种结构比正方形有优势,因而菱形法比四步法得到跟广的应用。

2.7 自适应法(Adaptive Rood Pattern Search) ARPS

        自适应法的核心就是,考虑到相邻图像块的运动有很强的相关性,因而在第一步搜索时,用相邻块的运动估计值预测一个可能的位置并加入搜索。同时,将搜索的间隔设定为相邻块的运动估计值的长度,以此来尽快找到最小误差位置。
其搜索大模板为:
*********1***********
*****2~  3  ~4*******
*********5***********

        大模板的间隔并非固定,而是根据上一个图形块的运动估计值来选取,若该块为边缘块,则选取一个固定值。
最后一步小模板为:
**********1*********
*********234*******
**********5*********

        自适应法在搜索策略上与菱形很相似,他比菱形法优势的地方在于,对于相邻块的运动估计为0的位置,即变化很小的位置,它直接用小模板直接得出结果。同时,对于运动位移很大的块,采用变间隔的大模板能更快地收敛到最小误差位置。

3.块编码、对象编码、小波编码、分布式编码

人类获取的信息中70%来自于视觉,视频信息在多媒体信息中占有重要地位;同时视频数据冗余度最大,经压缩处理后的视频质量高低是决定多媒体服务质量的关键因素。因此数字视频技术是多媒体应用的核心技术,对视频编码的研究已成为信息技术领域的热门话题。

传统压缩编码建立在仙农信息论基础之上的,以经典集合论为工具,用概率统计模型来描述信源,其压缩思想基于数据统计,因此只能去除数据冗余,属于低层压缩编码的范畴。

伴随着视频编码相关学科及新兴学科的迅速发展,新一代数据压缩技术不断诞生并日益成熟,其编码思想由像素块或基于内容 (content-based)。它突破了仙农信息论框架的束缚,充分考虑了人眼视觉特性及信源特性,通过去除内容冗余来实现数据压缩。下面主要讲与之相关的四种编码体系:块编码(H.261、Mpeg2、H.263、H.264、AVS、VC1等)、对象编码(Mpeg4)、小波编码、分布式编码。

块编码体系

视频序列按时间先后分为一系列帧,每一帧图像又分成(宏)块以进行运动估计和运动补偿,得到运动矢量和残差。对运动矢量进行差分编码,对残差进行变换、量化、zigzag扫描、熵编码,从而得到最终的压缩码流。

去除冗余主要在如下几个模块:RGB转YCbCr减少视觉冗余、帧内预测减少空域冗余、运动补偿减少时域冗余、熵编码减少码间冗余、变换量化则保证了在有限的码流下包含最大的信息量。

该编码体系规则简单、高效,便于软硬件实现。发展迅速,也最为成熟,被大多数视频编码标准所采纳。

基于块的操作一个主要缺陷是:将图像固定地分成相同大小的块,在高压缩比的情况下会出现严重的块效应,即马赛克效应。以前的学术论文中,出现了很多去块效应算法。最新的压缩标准H.264中,规定了具体的环状滤波算法,该算法综合使用了运动矢量、残差、量化系数、预测模式等信息确定滤波强度,效果俱佳。一下子学术论文中探讨滤波的少多了,^_^,提出一个更好的算法实在太难。

基于块的操作另一个主要缺陷是:交互性差 ^_^ 这就引出了mpeg4的对象编码。

对象编码体系

MPEG4标准是对运动图像中的内容进行编码,其具体的编码对象就是图像中的音频和视频,称为AV对象。AV对象可以组成AV场景。因此,MPEG4标准就是围绕着AV对象的编码、存储、传输和组合而制定的,高效率地编码、组织、存储、传输AV对象是MPEG4标准的基本内容。

MPEG-4的特点是其更适于交互AV服务以及远程监控。这是一个有交互性的动态图像标准。主要用于三个领域:数字电视、交互式的图形应用(包括内容上的合成技术)、交互式多媒体领域等。MPEG-4提供了标准的技术使其能被整合到产品、分类、内容访问等过程中去,为解决日渐庞大的图像、声音信息的管理和迅速搜索提供了可行性,这是基于块的编码体系所远远不能比拟的。

然而,视频对象分割本身就是一个多义、病态的问题,涉及对视频内容的分析和理解,计算机还不具有观察、识别、理解图像的能力;同时关于计算机视觉的研究也表明要实现正确的图像分割需要在更高层次上对视频内容进行理解。视频压缩中,当然可以运动帧间冗余信息加速对象分割,但对于复杂的运动物体还是困难重重。比如,行进的人,手、腿、身体运动趋势各不相同,甚至还可能伴随面部表情,如何有效的提取一个人体对象出来?如果不考虑整体,只根据运动信息获取局部的甚至没有实际意义的对象,这样的分割对于交互、对于图像检索又有什么意义?如果要在编解码段建立对象模型,这样的模型又怎能保证适合千差万别的实际序列?

因此,尽管MPEG-4 框架已经制定,但至今仍没有通用的有效方法根本解决视频对象分割问题,视频对象分割被认为是一个具有挑战性的难题,基于语义的分割则更加困难。

另:(以下纯属个人理解)

1、  mpeg4引入了对象,就增加了形状编码,也即对象的实现是牺牲码流为代价的。

2、  mpeg4中的运动补偿、变换、量化、熵编码,还是以块为单元,也就是mpeg4还不是完全意义上的对象编码。

3、  目前对象编码只适用于特定的有先验知识的场合,比如交通管理、安防系统、视频会议等。

小波编码体系

见我另一篇文章《小波在图像视频压缩领域中的应用分析》

分布式编码体系

记得原先有网友问过这方面的问题,我居然回答成了分布式视频点播方面的内容,误人子弟,惭愧惭愧。

前述的编码体系,都在编码端充分利用了运动估计和运动补偿技术消除时间冗余,而运动估计模块是非常耗时的,也是编码器实现的瓶颈之一^_^。而分布式编码将运动估计模块从编码器中抹去了,放在了解码端!!!

分布式编码中也有IPB帧,这里只试举IP帧做简单说明。I帧和H.26xMpeg系列的规定没什么区别,都是消除空域冗余。而对于P帧,由于编码端没有运动估计和运动补偿,所以P帧信息也只用到了帧内压缩方式,而且此时只传输了图像的基本轮廓信息(主要是高频和部分低频)。在解码端,参考I帧进行运动估计和运动补偿,结合P帧信息就得到了重构图像。

分布式编码体系的优点:编码器较为简单,为移动视频设备更有效地集成到现有的网络中提供了条件。

缺点也是显而易见的:1、编码端没用到运动补偿,压缩效率远不及传统的编码方式(虽然理论证明可以无限逼近)。2、编码端没有重建路径,错误扩散严重,I帧的间隔必须比较小。

注:

以上只是我个人的理解,可能划分并不确切,或者漏掉了某些编码体系。各编码体系并不是相互独立的。比如小波编码体系可以用到对象的概念,分布式也可以用到小波变换……

转自  http://blog.youkuaiyun.com/china_video_expert/article/details/5936531

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值