1.介绍
在数字视频处理中,运动估计是一个重要的研究点,在数据压缩中的应用最为成熟,在目标跟踪方面也有很重要的应用。
下面是一些比较成熟的基于图像块匹配的运动估计。图像块匹配的主要目的是,通过在前后连续的2帧视频序列中,找到图像中最相关的部位,并建立他们的联系。这样就可以通过其中一幅图片及关系信息,还原出另一张图片的信息。而不同算法的主要区别就是在于,匹配时的采取不同的搜索方式,来达到即能较快地建立联系又能较好地保留信息的目的。
2.相关算法
2.1 穷尽搜索法(Exhaustive Search)ES
2.2 三步法(Three Step Search)TSS
2.3 新三步法(New Three Step Search) NTSS
2.4 精简三步法(Simple and Efficient Search) SES
2.5 四步法(Four Step Search) FSS
2.6 菱形法(Diamond Search) DS
2.7 自适应法(Adaptive Rood Pattern Search) ARPS
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、 目前对象编码只适用于特定的有先验知识的场合,比如交通管理、安防系统、视频会议等。
小波编码体系
见我另一篇文章《小波在图像视频压缩领域中的应用分析》
分布式编码体系
记得原先有网友问过这方面的问题,我居然回答成了分布式视频点播方面的内容,误人子弟,惭愧惭愧。
前述的编码体系,都在编码端充分利用了运动估计和运动补偿技术消除时间冗余,而运动估计模块是非常耗时的,也是编码器实现的瓶颈之一^_^。而分布式编码将运动估计模块从编码器中抹去了,放在了解码端!!!
分布式编码中也有I、P、B帧,这里只试举I、P帧做简单说明。I帧和H.26x、Mpeg系列的规定没什么区别,都是消除空域冗余。而对于P帧,由于编码端没有运动估计和运动补偿,所以P帧信息也只用到了帧内压缩方式,而且此时只传输了图像的基本轮廓信息(主要是高频和部分低频)。在解码端,参考I帧进行运动估计和运动补偿,结合P帧信息就得到了重构图像。
分布式编码体系的优点:编码器较为简单,为移动视频设备更有效地集成到现有的网络中提供了条件。
缺点也是显而易见的:1、编码端没用到运动补偿,压缩效率远不及传统的编码方式(虽然理论证明可以无限逼近)。2、编码端没有重建路径,错误扩散严重,I帧的间隔必须比较小。
注:
以上只是我个人的理解,可能划分并不确切,或者漏掉了某些编码体系。各编码体系并不是相互独立的。比如小波编码体系可以用到对象的概念,分布式也可以用到小波变换……
转自 http://blog.youkuaiyun.com/china_video_expert/article/details/5936531