MPEG4视频编程技术研究毕业设计论文Word格式文档下载.docx
《MPEG4视频编程技术研究毕业设计论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MPEG4视频编程技术研究毕业设计论文Word格式文档下载.docx(50页珍藏版)》请在冰豆网上搜索。
1895年电影的诞生第一次将视频信号带给了人类社会,随着电视的发明和普及,视频信号走进了千家万户。
数字技术的广泛应用,对视频信号的存储和传输带来了一次革命,但是从模拟转换到数字的原始视频信号的数据量是惊人的,单纯地靠提高存储容量或信道传输速率的做法是不切实际的,以传输未经处理的标准清晰度电视(SDTV,StandardDefinitionTelevision)的图像格式为例,704像素(水平)*480像素(垂直),帧频60HZ/隔行扫描,其每秒的数据量是:
704*480*30*1.5(4:
2:
0)=15206400Bytes。
更不用说,现在流行的高清电视(HDTV,HignDefinitionTelevision),其数据量是标清的5倍多,这显然远远超出了目前Intemet通信信道的能力,而且直接把未经处理的视频数据发送到通信信道上,也是对通信带宽的极大浪费。
因此,研究有效的视频压缩编码方法具有很重要的现实意义。
视频压缩编码技术是多媒体应用的核心技术,对视频编码的研究已成为信息技术领域的研究重点,并制定了一系列的视频标准。
其中MPEG-4利用很窄的带宽【l】,使用帧重建技术,压缩数据,以最少的代价获得最佳的图像质量。
因此,其广泛应用于实时、高效、适合网络传输等特点的领域,如数字监控、可视电话和手机视频等。
本课题设计了实时MPEG.4视频编码系统,能够实现CIF格式(352*288)数据每秒30帧的处理能力,结合该系统功耗低、体积小、性价比突出的特点,在进一步改进的基础上,具有广阔的工程应用前景。
1.2数字视频编码发展历程
1-2.1编码方法的发展
第一代编码方法。
1948年Oliver提出了第一个编码理论~脉冲编码调制(PCM,PulseCodingModulation)。
同年Shannon的经典论文《通信的数学原理》中首次提出并建立了信息率失真函数概念;
1959年Shannon进一步确立了码率失真理谢21。
以上工作奠定了经典信息编码的理论基础,在此基础上视频编码理论和技术取得了长足的发展,其主要的编码方法有:
预测编码、变换编码和统计编码,也称为三大经典编码方法。
其中预测编码的基本思想是:
根据数据的统计特性得到预测值,然后传输图像像素与其预测值的残值信号,使传输的码率降低,达到压缩的目的。
变换编码的基本思想是:
由于数字图像像素间存在高度相关性,因此可以进行某种变换来消除这种相关性。
变换编码不直接对空域图像像素编码,而是先将它变换到频域,得到一组变换系数。
虽然变换并不对数据进行压缩,但经过变换后,能量相对集中,通过后续的量化、编码就能达到压缩的目的。
变换编码方法中的离散余弦变换(DCT,DiscreteCosineTransform)和小波变换在视频/图像压缩中得到了广泛应用。
统计编码的基本思想是:
根据信息码字出现概率的分布特征而进行压缩编码,寻找概率与码字长度间的最优匹配。
统计编码主要针对无记忆信源,它又可分为定长码和变长码(VLC,VariableLength
Coding)。
Hufman编码和算术编码是两种常见的变长码字编码方法。
第一代编码技术【3】只是以信息论和数字信号处理技术为理论基础,旨在去除图像数据中的线性相关性,其压缩比不是很高,对于视频图像来讲一般在40:
1左右。
为了克服第一代视频编码技术的局限性,Kunt等人于1985年提出了第二代视频编码技术。
而第二代编码技术不再局限于信息论的框架,从更为底层的基础上探索视频图像信息的表述机制,充分利用人的视觉生理心理特性和图像信源的各种特征,实现从“波形’’编码到“模型”编码的转变,以期获得更高压缩比。
第二代编码方法主要有:
基于分形的编码方法、基于模型的编码方法、基于区域分割的编码方法和基于神经网络的编码方法等。
分形编码是一种不对称的编码技术,适于自相似性较强的自然景物图像。
基于模型或知识的方法,是把计算机视觉和计算机图形学中的方法应用到视频编码,在编码端通过各种分析手段,提取所建模型的特征与状态参数,在解码端通过这些参数通过模型及相关知识生成所建模的信源。
基于区域分割与合并的视频编码方法,是根据图像的空域特征将图像分成纹理和轮廓两部分,然后分别对它们进行预处理、编码。
预处理将图像分割成纹理和轮廓两部分,对纹理可采用预测编码和变换编码,对轮廓则采用链码方法进行编码,较好地保存了对人眼十分重要的边缘轮廓信息,因此,在压缩比很高时解码图像质量仍然很好。
神经网络法是模仿人脑处理问题的方法,通过各种人工神经元网络模型对数据进行非线性压缩,目前还处在探索阶段。
第二代基于内容和语义的编码方法为视频压缩编码开拓了广阔的前景,但同时也大大增加了分析的难度和实现的复杂度,要得到充分应用还有赖于进一步深入研究以及相关辅助学科的同步发展。
1.2.2视频编码标准的发展
1988年形成草案,1990年通过的ITU.TH.261标准是视频编码技术走向实用化的里程碑,被誉为“图像编码40年经验之总结”。
从此开始,视频编码的技术得到迅速的发展和应用,制定了多个视频编码的国际标准,即国际电信联盟ITU—T关于电视电话/会议电视的视频编码标准H261、H.263及H.264和国际标准化组织ISO和国际电工委员会IEC关于活动图像的编码标准MPEG.1、MPEG.2和MPEG·
4等。
这些标准图像编码算法融合了各种性能优良的图像编码方法,体现了图像编码的发展水平。
1.MPEG.1
1993年8月通过的MPEG.1【4】是1.5Mbps数据传输率的数字存储媒体运动图像及其伴音编码的国际标准。
它的视频部分与H.261及H.263原理图大致相同。
然而,MPEG.1主要是针对存储媒体的视频编码标准,而H.261和H.263主要是针对传输的视频编码标准,故MPEG.1在顾及图像质量、压缩比的同时还要考虑对序列图像进行随机访问和编辑的方便,MPEG.1在充分参考H.261以及JPEG的基础上,加入了双向预测帧B帧,从而提高了压缩比。
对随机访问和编辑的支持由每秒2个I帧来支持,不需依赖P帧和B帧而独立解码。
2.MPEG.2
1994年11月通过的MPEG.2t5】主要是针对数字视频广播(DVB,DigitalVideoBroadcasting)、高清晰度电视(HDTV)、数字视盘(DVD,DigitalVersatileDisc)等制定的高于1.5Mbps运动图像及其伴音的国际标准。
MPEG.2的制定,充分的考虑了对MPEG.1兼容,对图像质量和数据率的多层次需求,因此其最大的特点在于支持格式多、兼容性好并易于扩展。
MPEG.2不仅支持帧编码而且支持场编码;
不仅支持MPEG.1比特流,而且支持更高时域和空域分辨率。
MPEG.2另一特点是其可伸缩性。
3.MPEG.4
MPEG.4t6】标准专家组成立与1993年,于1998年正式成为国际标准。
其最初的目标是极低比特率的音频/视频编码压缩标准,主要适用于公共交换电话网络(PSTN,PublicSwitchedTelephoneNetwork)上的视频通信或移动通信网络,但是随着研究工作的深入,它所包含的内容和将起到的作用远远超过了最初的设计思想。
MPEG-4目的是寻求支持数字音频/视频数据通信、存取和管理的新途径,它为多媒体数据编码提供了一个更为广阔的平台,它更多定义的是一种格式和框架,而不是具体的算法,以支持各种各样新颖的和高效的功能。
1.3视频编码器研究现状
考虑到实时视频编码算法所需的运算资源和存储空间,进行系统设计重点考察了下列三种技术成熟并在市场上存在商业应用方案。
在此基础上,选定本课题编码器采用的系统设计方案。
1.通用PC机软件实现
通用PC的发展异常迅速,目前可以已近1000元买到Intel双核处理器,单核主频是2330MHZ(参考2008年3月24日IntelCore2DuoE6550报价)。
该方案的优点是通用PC系统的主频性价比非常高,并且拥有最丰富的软件工具。
并且提供了较完整的多媒体指令集和流水线控制,但是通用PC应用广泛,其内核支持各种应用,而不只限于特定的多媒体处理,且功耗过高,软件实现存在执行效率上的损失。
2.专业DSP芯片实现该方案的优点是DSPt7】提供了极其强大的多媒体处理能力,并且具有众多的多媒体接口,相关厂商提供了丰富的开发包和必要的开发资源。
如PHILIPSTrimedia系列,应用于数字电视,监控设备,机顶盒等。
其缺点是成本高,功耗较大,不适应于小型设备的开发。
3.通用DSP芯片实现如ADI的Blackfin系列【引。
其优点是主频高,功耗低,并且具有很强大的功耗控制模块,芯片体积小,适用于小型设备的研发。
厂商提供了非常多的开发资源,便于开发人员的快速上手。
处理器支持众多的多媒体接口,利用系统的扩展和商业应用。
结合课题研究的目的,综合比较上述三种解决方案,最后选定采用通用DSP芯片进行项目的研发。
比较ADIBlackfin系列产品的特点,最后选用ADSP.BF561。
ADSP.BF561是美国模拟器件公司(ADI)和Intel联合开发的高性能双核DSP。
这一产品专为通信和互联网应用而设计,能处理互联网的大量的图像、声音、文本等数据流。
其特点是结合多媒体处理器和普通微处理控制单元(MCU,MicroControllerUnit),较高的主频,较低的价格,加上极低的功耗,加上体积小的特性,极其设和数据流巨大的实时视频处理设备。
1.4研究的内容
本课题的研究工作主要着眼于实时视频编码工作,这是当前研究的热点之一。
综合考虑各种成熟的设计方案后,选用ADSP.BF561进行MPEG.4实时编码系统的开发,系统的设计目标是达到CIF格式(352*288)YUV数据每秒30帧的处理能力。
针对这一目标,本课题首先深入研究了MPEG.4视频压缩标准。
分析MPEG.4各种应用框架的复杂程度以及系统实时编码的设计目标,决定采用MPEG-4SP层次框架结构。
在研读MPEG.4SP源代码的基础上,首先在通用PC上面实现完整版本的纯C语言程序,进行正确的MPEG.4编码。
以此版本作为通用PC机上的研究基础,对计算量大的模块,进行算法改进,提高效率。
移植到DSP上后,根据DSP的特点,对代码进行优化,以达到系统设计要求。
1.5论文的结构安排
本课题以MPEG.4参考模型Xvidcorl.0.2为蓝本,采用ADSP.BF561作为主处理平台,研究编码算法在DSP上的实现和优化。
本文主要章节结构安排如下:
第一章绪论介绍课题提出的原因,视频编码的发展情况,以及采用通用DSP方案的原因。
第二章研究了MPEG-4编码标准的特点和关键技术,以及双核BF561适用于多媒体处理的原因。
第三章是本论文的重点章节,重点研究了影响编码效率的关键算法改进。
通过对计算量要求最大的DCT和运动估计补偿算法的改进,获得较好的效率提高。
第四章讨论了MPEG.4SP编码框架的软硬件设计,以及移植到DSP上的方法。
并重点设计基于双核BF561的宏块层并行处理算法流程。
第五章讨论了编码器的优化问题。
其涉及到各个层次上的优化:
编译器优化、存储空间优化、C语言级优化和汇编优化等。
在优化过程中,充分利用BF561硬件特性,提高编码的效率,最终实现系统设计的要求。
第六章对全文进行总结,并对下一步工作进行展望。
第二章MPEG.4视频编码技术和双核DSP561开发基础
课题选用了BF561进行MPEG.4视频编码技术进行研究与开发。
进行深入探讨之前,对课题涉及到的两大关键点:
MPEG.4视频编码技术和DSP处理器BF561进行详细的介绍。
MPEG.4视频编码部分重点介绍了与本文开发相关的SP框架下的关键技术;
BF561部分重点介绍与并行处理、存储和DMA相关的基础内容。
这些基础内容与论文后续章节的论述密切相关,为论文提供基础知识。
2.1MPGE-4标准开发基础
2.1.1发展简况
ISO于1991年5月提出关于视频音频编码的MPEG-4项目,设有系统、音频、视频、需求、实现研究、测试及自然合成混合编码等几个小组。
MPEG.4于1998年11月成为国际标准,ISO于1999年1月公布了MPEG.4(视频和音频对象的压缩)标准的第一版,随后又于1999年12月公布了此标准的第二版,MPEG.4的正式ISO命名为ISO/IECl4496。
在拟定MPEG.4的初期,其主要目标是低码率视频通讯,MPEG.4V2.0版本的“SimpleProfile"
支持无线多媒体通信。
其支持5-64Kbiffs的甚低比特率视频通信业务的算法和工具,支持极低分辨率(从每行每列几个象素到CIF级分辨率)和极低帧率(O--15Hz)的图像序列。
随着研究工作的进一步深入,MPEG.4逐渐发展为一个功能强大的多媒体编码标准,它不仅仅是一个低码率的音像编码标准,其编码速率己扩展到涵盖从64Kbps到10Mbps的范围。
MPEG-4旨在提供在多媒体环境中有效存储、传送以及操作视频数据的核心标准技术,建立一种能被多媒体传输、多媒体存储、多媒体检索等应用领域普遍采纳的统一的多媒体数据格式。
由于所要覆盖的应用范围如此广阔,而且各种应用本身的要求又如此不同,因此,为了提高和改善编码效率,MPEG-4提供了如下新功能【9】:
1.具有对被称为视听对象(AVO,AudioVisualObjects)的混合媒体数据的高效编码能力。
这些混合媒体数据包括:
视频图像、图形、文本、音频、语音等。
2.具有用合成文本(Script)组合成的混合媒体对象来产生多媒体信息表现
的能力。
3.压缩的数据在噪声信道传输中具有恢复差错的鲁棒性。
4.具有对任意形状视频对象进行编码的能力。
5.具有在网络信道所提供的适合于特有对象性质的业务质量下实现音视频对象同步与复用的能力。
6.具有在接收端与视听场景进行交互的能力。
2.1.2MPEG-4的核心思想
在MPEG.4制定之前,MPEG.1、MPEG.2、H.261、H.263都是采用第一代压缩编码技术,着眼于图像信号的统计特性来设计编码器,属于波形编码的范畴。
第一代压缩编码方案把视频序列按时问先后分为一系列帧,每一帧图像划分为宏块进行运动补偿和编码,这种编码方案存在以下缺陷【Io】:
1.将图像固定地分成相同大小的块,在高压缩比的情况下会出现严重的块效应,即马赛克效应。
2.不能对图像内容进行访问、编辑和回放等操作。
3.未充分利用人类视觉系统(HVS,HumanVisualSystem)的特性。
MPEG-4则代表了基于模型/对象的第二代压缩编码技术,它充分利用了人眼视觉特性,抓住了图像信息传输的本质,从轮廓、纹理思路出发,支持基于视觉内容的交互功能,适应了多媒体信息的应用由播放型转向基于内容的访问、检索及操作的发展趋势,如图2-1所示。
AV(AudioVideo)In]x,-t象是MPEG.4为支持基于内容编码而提出的重要概
念。
对象是指在一个场景中能够访问和操纵的实体,对象的划分可根据其独特的纹理、运动、形状、模型和高层语义为依据。
在MPEG-4中所见的视音频己不再是过去MPEG-l、MPEG.2中图像帧的概念,而是一个个视听场景(AV场景),这些不同的AV场景由不同的AV对象组成。
AV对象是听觉、视觉、或者视听内容的表示单元,其基本单位是原始AV对象,它可以是自然的或合成的声音、图像。
原始AV对象具有高效编码、高效存储与传输以及可交互操作的特性,它又可进一步组成复合AV对象。
因此MPEG.4标准的基本内容就是对AV对象进行高效编码、组织、存储与传输。
AV对象的提出,使多媒体通信具有高度交互及高效编码的能力,AV对象编码就是MPEG-4的核心编码技术。
MPEG-4不仅可提供高压缩率,同时也可实现更好的多媒体内容互动性及全
方位的存取性,它采用开放的编码系统,可随时加入新的编码算法模块,同时也
可根据不同应用需求现场配置解码器,以支持多种多媒体应用【12】。
MPEG-4采用了新一代视频编码技术,它在视频编码发展史上第一次把编码
对象从图像帧拓展到具有实际意义的任意形状视频对象[13】,从而实现了从基于
像素的传统编码向基于对象和内容的现代编码的转变,因而引领着新一代智能图
像编码的发展潮流。
2.1.3MPEG.4的框架及应用场合
MPEG.4的应用领域非常广泛,即可以用于高质量的数字电视,也可以用于极低码率的无线多媒体通信,还可以进行交互式处理,为了适应各种应用对编码特性的需求,同时满足编码结构的清晰,MPEG-4设计了各种层次的框架(Profile)结构【¨
】,以适应于不同领域的编码需求。
每一个框架下定义了多个级(Level),用于限制计算的复杂度,也适应于不同编码领域的细分要求,具有很大的灵活性。
MPEG.4中的Profile@Level组合形式,其作用是:
允许编码器的厂家仅仅实现标准的子集,加上上级子集对下级子集的全兼容,这样可以最大限度的实现与其他MPEG-4设备的互通。
由于MPEG-4是一个完整的多媒体应用框架【l51,设计的范围非常广泛,视频编码仅仅是其中的一部分,而且涉及到编码部分就包含自然景物、三维图像等领域。
结合目前图像分割技术的不完善,本文仅仅研究基于矩形编码类的框架。
所以,考虑表2.1所列三类编码框架。
本课题研究的CIF格式实时MPEG.4编码系统,因为高级简单框架涉及B.VOP编码,具有后向预测部分,需要根据视频对象平面组层的排列,存储多帧数据,不利于实时处型16】。
对比而言,简单编码框架(SimpleProfile),虽然在编码的压缩率方面存在一定的损失,针对本课题实时编码的研究,压缩率上的损失是可以接受,并因其编码的复杂度最低,具有很好的成本控制能力,所以本课题选用该框架结构。
2.1.4MPEG.4SP框架的关键技术分析
MPEG-4是MPEG系列的最新发展,其借鉴了其他视频标准的优秀算法,并在其基础上进行了一系列的改进。
本章节重点介绍课题应用的SP框架关键的技术,为后续章节的论述,打下基础。
1.I-VOP/P-VOP
MPEG-4编码的基本单元是VOP(VideoObjectPlane),相对于以前编码标准中“帧’’的概念。
I-VOP:
帧内VOP,称为I帧。
I-VOP是独立压缩编码的,不需要其他VOP作为参考。
是后续的P-VOP所需运动估计的参考点,因此,在视频码流中需要周期性的插入I-VOP。
P-VOP:
帧间VOP,称为P帧。
利用前一帧编码的I—VOP或者P-VOP做帧间预测编码。
为了减少编码误差,所使用的预测参考帧不是那帧图像的原始图像,而是该帧的重构帧。
在实际的编码中,一个视频对象组(GOV)包括一个I—VOP和多个P-VOP。
开始的是I-VOP,其与前面的VOP无依赖关系,可以独立编码,因此出现误码,也不会传播到下面的GOV,后面的是P-VOP,其参考重构的I—VOP编码,提高码流压缩率。
2.运动估计补偿技术
运动估计补偿技术n71其主要目的是除去视频序列的时域相关性,其基本的原理这里不进行叙述。
运动估计补偿模块是编码标准的关键算法:
其很大程度上决定编码的效率。
好的运动估计算法可以快速确定匹配的运动估计向量,大大减少计算量,提高编码速率。
据估计,运动估计算法占到编码计算量约60%,对编码速度的影响很大。
目前,MPEG-4编码验证模型采用的运动估计算法是钻石搜索法,又叫菱形搜索法。
本课题对其进行了细致的研究,并进行了较大的改进,详细论述见章节3.2。
下面主要介绍MPEG一4SP框架区别于以前编码标准的一些特点:
(1)1/2或者1/4像素精度估计
考虑到前后两帧的物体运动不一定是整数像素,为提供运动估计的精度,需要在1/2或者1/4像素位置内插一个参考帧。
可以提高估计精度,但增大了运算开销和存储容量。
(2)无限制运动向量
无限制运动向量(UMv)¨
砌通过填充技术,针对边界处的宏块,根据搜索窗口的大小,等值扩充边界,提高搜索精度。
因运动向量超出原有图像的边界,因此称为无限制运动向量。
(3)四运动向量模式
16*16的亮度宏块可以作为一个整体进行运动补偿n91,或者作为4个8*8块单独进行运动补偿,即为四运动向量模式,每个8*8的亮度块对应于一个运动向量,小尺度的块更适应于图像细节部分的运动估计,提高编码压缩率。
3.容错性
由于MPEG-4的应用范围很广,为了有效的消除错误的影响,MPEG-4提供了三种错误恢复工具:
再同步、数据恢复和错误掩盖与刷新啪3。
(1)再同步机制类似MPEG-2的slice层语法提供的功能。
在MPEG-4中以视频包作为再同步单位瞳¨
,由于错误发生的随机性和码字的不均匀性,MPEG一4决定使用固定比特数的视频包。
如果当前视频包中比特数超过一个预定的门限时,在下一个宏块的丌始处就创建一个新包。
视频包中含有重新开始解码过程所必要的信息。
(2)在重新建立同步之后,用数据恢复工具恢复前面丢失的数据。
数据恢复主要利用RVLC(ReversibleVariableLengthCode)的逆向可解性进行。
(3)错误掩盖与刷新。
首先将数据分区为纹理信息和运动信息两部分,中间插一个标志位“motionmarker”。
若纹理信息发生错误,则用运动信息从上一个解码的VOP中恢复出当前的纹理。
错误刷新方法有两种,一是用帧内编码周期性或自适应地刷新VOP或宏块;
二是利用具有上行通道的帧间编码技术选择J下确的参考帧从而避免误差扩散,称为NEWPRED方式(高级实时简单框架所采用)。
NEWPRED方式适用于实时通信环境,而帧内刷新不仅适用于实时通信,而且可用
于广播和存储媒体。
实际使用时可将两种方式结合起来。
2.2双核BF561性能分析
Blackfin系列DSP是AnalogDevices与Intel联合开发的体现高性能体系架构的第四代DSP产品。
这一新产品是专为通信和互联网应用而设计的通用处理器,能处理广泛用于互联网的大量图像、声音、