格式参考论文(按照该论文的格式修改)_第1页
格式参考论文(按照该论文的格式修改)_第2页
格式参考论文(按照该论文的格式修改)_第3页
格式参考论文(按照该论文的格式修改)_第4页
格式参考论文(按照该论文的格式修改)_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MPEG-4标准视频压缩算法研究摘要随着计算机技术和通信技术的发展,多媒体压缩技术有了广泛的应用。本课题的目的是对多媒体压缩技术中的视频的压缩问题进行研究。论文首先介绍了MPEG-1/2标准视频压缩和解压的理论基础,主要包括帧内编码开发同一帧内存在的空间相关性;帧间编码开发相邻帧之间存在的时间相关性:以及与之有关的I,P,B帧和运动图像序列、帧、宏块、块等概念。其次介绍了MPEG-4标准对于MPEG-1/2标准的兼容性:视频对象VOP的概念;VOP编码的主要组成部分;MPEG-4每个VOP编码使用的压缩算法是在MPEG-1/2标准的基础上开发的。再次,在VC环境下对XVID进行编译,并实现编码

2、和解码。最后文章针对XVID部分源码对MPEG-4的视频压缩编码部分主要源码进行重点的分析。关键词: 帧;MPEG -4;VOP;XVID;压缩;解压目 录第一章绪论11.1课题的背景和意义11.2课题完成的工作1第二章数字图像压缩理论基础22.1数字图像压缩的必要性22.2数字化信息压缩的可能性22.3图像压缩的基础22.3.1无损压缩32.3.2有损压缩32.4图像压缩的关键技术52.4.1图像分块62.4.2DCT变换62.4.3量化62.4.4熵编码72.4.5运动估计和运动补偿82.4.6解码过程92.4.7混合编码92.4.8I,P,B帧编码模式112.5常用图像的数据结构12第三

3、章MPEG-4标准143.1MPEG-4标准简述143.1.1MPEG-4标准的特点143.1.2MPEG-4标准的构成153.1.3MPEG-4的框架和级别153.2视频编码的基本内容163.2.1从矩形帧到VOP,视频编码的基本结构163.2.2MPEG-4的数据结构183.3VOP编码实现183.3.1形状编码193.3.2运动信息编码203.3.3纹理编码213.4VOP分割223.5Sprite技术背景全景图编码223.6分级编码22第四章基于XVID的主要视频算法分析244.1XVID的技术特性244.1.1多种编码模式244.1.2XVID的量化方式254.1.3运动侦测(Mot

4、ion Search)和曲线平衡分配284.1.4动态关键帧距(I-frame interval)294.1.5全局运动补偿304.2XVID中B帧技术的实现30第五章XVID编译、编码、解码的实现365.1XVID源码的编译环境365.2编码,解码的实现375.2.1编码实现375.2.2解码实现39第六章总结与展望42谢 辞43参考文献4444第一章 绪论1.1 课题的背景和意义近年来,多媒体技术飞速发展,在工商企业、公共场所和社会生活中的应用也越来越广泛,己经成为当今社会密不可分的组成部份。到现在为止已经发布的几个通用的压缩编码标准有:用于64K会议电视及可视电话的H.261,用于静止图

5、像压缩的JPEG,面向1.5M数字视频和音频传输和存储的MPEG-1,面向高清晰度数字电视和音频传输和存储的MPEG-2和适用于低码率视频编码的H.263。这些标准越来越成熟,覆盖的应用领域越来越广。但是这些标准应用单一,主要目标是提高压缩比,并改善音频、视频质量,采用的技术是传统的波形编码理论。与以上标准不同,MPEG-4并不仅仅着眼于定义不同码流下的压缩编码标准,而是更多的强调多媒体通信的交互性和灵活性。MPEG-4是一个包括了未来编码技术发展的开放式标准,它能够与H.263和MPEG-1/2标准兼容,并提出了新的基于内容的存取概念。它提供的码率,低端可低于64Kbps,高端可高于8Mbp

6、s。MPEG-4标准提供对多种图像分辨率的支持,不但可以对自然视频进行高效率的编码,还具有对合成音视频对象、脸部模型、网络对象的编码能力;增加了对网络交互环境的支持,与计算机信息处理6的结合更加密切。在编码方式上的重大改进是提出对象的概念,强调人与媒体对象的交互能力。及时跟踪MPEG-4发展动态,掌握其核心技术,并结合实际应用在某些关键方向上有所创新和发展,这是一项很有意义的工作。本课题介绍了MPEG-1/2标准的主要压缩方法,然后讨论了MPEG-4引入的新的压缩方法。进一步结合基于MPEG-4标准的XVID技术的实现代码,对MPEG-4压缩编码的关键技术进行了分析和研究。并在此基础上,对PG

7、M格式的视频文件进行了压缩和解压,初步掌握了MPEG-4标准的理论基础和开发应用。1.2 课题完成的工作课题主要完成了以下几方面的工作:了解多媒体视频压缩的理论基础、视频压缩技术的发展历史,以及多媒体视频压缩的主要技术。了解MPEG-4标准的主要内容,并对不同于以往的新技术进行深入分析。对XVID源码的部分视频压缩算法进行深入分析。在WINDOWS XP SP2 环境下使用Visual C+6.0对XVID源码进行编译,调试;对PGM格式的视频文件进行压缩和解压工作,初步了解XVID源码对视频文件的压缩解压原理。第二章 数字图像压缩理论基础2.1 数字图像压缩的必要性数字图像具有很多优点,但也

8、存在着数据量太大的问题。一幅640480像素中等分辨率的彩色图像(24bit/像素),其数据量约为1.31Mbit/s,播放一秒钟运动图像通常要30帧,则视频信号传输速率为220Mbit/s,一张650M的光盘只能播放20多秒钟,可见对数字化信息进行压缩非常必要。要用尽可能少的数据来表达信息,节省传输和存储的开销。2.2 数字化信息压缩的可能性能对数字化信息进行压缩,主要存在以下两点原因:第一、图像信号存在大量的冗余度并且可在编解码后无失真的恢复。第二、可以利用人的视觉特性,在图像变化不被觉察的条件下以一定的失真换取数据压缩。图像信号的冗余度,主要表现为空间(帧内)和时间(帧间)相关性。所谓相

9、关性,就是能够根据给出的一部分数据判断出其相邻的数据。一帧图像内的任何一个场景都是又若干像素点构成的,因此一个像素通常与它周围的某些像素在亮度和色度上存在一定的关系,这种关系即空间相关性;一个节目中的一个情节常常由若干帧连续图像组成的图像序列构成,一个图像序列中前后帧图像间也存在一定的关系,这种关系即时间相关性。这两种相关性使得图像中存在大量的冗余信息。如果出去冗余信息,而只保留少量非相关信息进行传输,就可以大大降低信息存储容量和传输速率。与此同时,由于人眼对图像的细节分辨率、运动分辨率和对比度分辨率的感觉有一定的界限,只要在图像处理时引入的失真不是很大,就不易察觉,仍会认为图像时完好的或是足

10、够好的。因此可以在满足对图像质量一定要求的前提下,通过压缩编码方法,实现数据压缩。上述思想既是MPEG-1/2的主要理论基础,也是MPEG-4的理论基础。2.3 图像压缩的基础压缩机制通常分为两种无损压缩和有损压缩。无损压缩是指可以精确重建数据,没有信息丢失;有损压缩是指数据不能无失真的重建,有一定的信息丢失。对于有损压缩,我们允许压缩后产生质量上的误差,可以让压缩后的数据代替原始数据。任何压缩机制的根本思想都是去除数据中存在的相关性。一个好的压缩编码方案,要能够最大限度地去除图像中的冗余信息。对空间相关性,可以根据图像中某一点的像素值推断出其相邻点的像素值;对时间相关性,通过运动预测,参考前

11、一帧图像与这一帧图像的相似情况,去掉与前一帧相似的冗余数据,而只记录这一帧与上一帧不同的数据。以下介绍图像压缩编码中的基本编码方法。2.3.1 无损压缩常用无损压缩编码技术有以下几种:行程编码技术行程编码(Run-length Coding)是一种相对简单的编码技术,主要思想是将一个相同值的连续串用一个代表串长和值的组合码字(Run,Level)来代替。其中行程(Run)表示系数系列中连零系数的长度;量化电平(Level)表示连零系数之后第一个非零系数的值。行程编码适用于二值图像。行程编码的效率不如Huffman编码方法高,但它的码字结构相对简单,故在许多情况下也被采用。为达到较好的压缩效果,

12、行程编码经常和其他一些编码方法混合使用。Huffman编码压缩变字长编码的最佳编码定理:在变字长编码中,对于出现概率大的信息符号编以短字长的码,对于概率小的符号编以长字长的码。Huffman编码是根据可变长度最佳编码定理,应用Huffman算法得到的一种编码方法。它是整数编码的一种最佳码,即它的平均码长在具有相同输入概率的前提下,比其它任何一种唯一译码都短,是图像压缩中的重要编码方法。算术编码算术编码是另一种利用信源编码概率分布特性,能够趋近熵极限的编码方法。尽管它也是对出现概率大的符号采用短码,对出现概率小的符号采用长码,但其编码原理与Huffman编码并不相同,它和Huffman编码的最大

13、区别在于它不是使用整数码。算术编码的方法是将被编码的每一个信源消息按其概率大小表示成实数轴01之间的一个区域(或称之区间),概率越大,所占间隔越大,表示这一间隔所需的二进制分数值位数就越小;反之就越大。算术编码所产生的码字实际上就是一个二进制分数值的指针,该指针指向所编符号对应的概率区间,该区间为半开区间,包括左端点,不包括右端点。2.3.2 有损压缩率失真理论指出,在给定信号允许失真度的条件下,为了减少图像传输的比特率,应尽量减小传输信号的方差。预测编码和变换编码正是根据这一理论对原始图像进行压缩,使处理后的图像信号的方差减小,最终达到压缩编码的目的。常用有损压缩编码方法有:预测编码方法对于

14、绝大多数图像来说,在局部空间和时间上是高度相关的,因而可以在己知像素的基础上,通过对当前像素预测来减少图像的数据量。即可以利用xi-1,xi-2xi-m来预测xi,的值,由于差值di的方差比原始图像系列的方差要小,因此,传输其差值只需比较少的比特数。帧内预测编码二维图像中像素间存在很强的相关性,因此可用已知的前面几个像素值来预测当前像素值。这些像素可以是前几行的或前几帧的,分别称为一维、二维和三维预测,然后对实际值与预测值的差值(预测误差)进行量化和编码。帧间预测编码视频信号的相邻核间存在极强的相关性,利用这种时间相关性进行帧间编码,可获得比帧内DPCM高得多的压缩比。采用的预测方法有:帧重复

15、、闭值法、帧内插、运动补偿预测。帧重复,对于静止或活动很慢的视频信号,可以少传一些帧;阈值法,即只传送像素亮度的帧间差值超过某一阈值的像素;帧内插,对活动缓慢的图像,可以使用前后两帧图像进行内插以得到实际图像的预测图像,然后对实际帧与预测的差值信号进行编码。正交变换编码图像经过正交变换后能够实现图像数据压缩的物理本质在于:经过多维坐标系中的适当的坐标旋转和变换,能够把散布在各个坐标轴上的原始图像数据,在新的适当的坐标系中集中到少数坐标轴上,因而有可能用较少的编码比特数来表示一幅图像,实现图像的压缩编码。绝大部分图像信号在空间域中像素之间的相关性是很大的。它们经过正交变换后,其能量主要集中在低频

16、部分,而且经过正交变换后相关性大大降低。变换编码的基本思路就是利用上述特点,在编码时略去某些能量很小的高频分量,或在量化时对方差较小的分量分配以较少的比特数。另外,变换编码还可以根据人眼对不同频率分量的敏感程度而对不同系数采用不同的量化台阶,以进一步提高压缩比。经过变换其频谱系数将被量化(可采用标量或矢量量化)。量化过程将在重建图像中引入量化噪声而导致图像的损伤。接下来要对量化的结果进行无损熵编码,此时可采用哈夫曼码或算术码。熵编码的目的是进一步去除符号的冗余度。在图像压缩中,最常用的变换方法是DCT。DCT变换矩阵的大小可以从去除相关程度和实现难易程度等方面来综合考虑,88通常被认为是一种较

17、好的选择。其二维DCT及IDCT变换如下: (2-1) (2-2)其中:f(i,j)表示输入图像的样点值F(u,v)表示DCT变换后的变换系数在各种图像编码标准(H.261/263,MPEG)中均使用了88DCT变换编码。二维DCT及IDCT的实现有多种算法,其快速算法的基本思想一般是先将二维DCT转化为一维DCT,利用DCT与DFT的联系,使用蝶形结构的DFT计算。变换编码在当前的软件水平上易于实现,且具有良好的压缩性能,通常在10倍压缩比的情况下提供优良的图像质量。但另一方面,变换编码也有其固有的缺点:变换编码是一种块结构编码方法,因此若处理不当,很容易出现所谓的“块效应”,即块与块之间的

18、不连续性。图像中的边界、纹理处理出现较明显的损伤。因为图像的边界、纹理部分有较丰富的高频成分,在高压缩比条件下,高频系数常常被粗糙的量化,甚至被丢弃,导致高频信息的损失,这使得在这些区域的图像变得模糊,影像图像质量。子带编码子带编码先将原图像用若干数字滤波器(分解滤波器)分解成不同频率成分的分量,再对这些分量进行亚抽样,形成子带图像,最后对不同的子带图像分别用与其相匹配的方法进行编码,在接收端,将解码后的子带图像补零、放大,并经合成滤波器的内插,将各子带信号相加,进行图像复原。与DCT编码相比,子带编码的最大优点是复原图像无方块效应,因此得到广泛的研究,是一种有潜力的图像编码方法。2.4 图像

19、压缩的关键技术基于DCT的图像压缩主要包括以下几个步骤:图像分块、DCT变换、量化、熵编码、运动估计与运动补偿以及速率控制等主要几个步骤。2.4.1 图像分块在基于DCT的压缩编码过程中,变换是对一个一个的图像块进行的,所以在进行DCT变换之前需要将图像分为互不重叠的图像块。假设一帧图像的大小为MN,我们将其分为尺寸为LL要求彼此没有重叠的子图像。M、N必须为L的整数倍。2.4.2 DCT变换对于88的二维图像块,离散余弦变换的定义见(2-1)、(2-2)在对图像进行二维DCT时,处理对象为NN且不与其他子块重叠的方形子图像。一般说来,尺寸越大越能利用图像的空间相关性,压缩效果会好一些。但研究

20、表明,当尺寸大到一定程度时,由于图像像素之间的相关性减弱,使得压缩效果的改善不明显,而且导致运算复杂性增加。实验表明,在具有相同图像质量的情况下,压缩比与选取的尺寸有如下图2.1关系:图2.1压缩比与图像块尺寸的关系由图可知,当子块尺寸超过88时,压缩效果的改善不是很大,所以一般选择88的尺寸为DCT的处理单元。现在的VLSI(very large scale integrated circuits,超大规模集成电路)技术很容易地实现88的DCT运算功能。需要说明:DCT变换是无损变换,即对得到的变换系数进行反变换,从理论上应该得到原始的输入图像块。但由于在计算机中进行DCT变换需要进行浮点计

21、算存在字长效应,因此反变换得到的信号与原始信号会有很小的差别。2.4.3 量化DCT变换将时间域图像变换到频率域,其中有关系数分别对应于图像的低频信息和高频信息。由于人的眼睛对图像低频特性(如物体的总体亮度)之类的信息敏感,而对图像中高频信息不敏感,因此在传送过程中可以少传或不传送高频信息,而只传送低频的信息。图像压缩编码正是利用人眼的这种特性来进行图像压缩的。基于DCT的图像压缩编码算法通过量化过程来判断是否要传送某一个频率分量。量化的目的是去除人眼视觉不敏感的信息,从而降低信息传送速率。量化的过程用以下公式表示: (2-3)其中:FQ(u,v)表示经过量化后的DCT系数F(u,v)表示量化

22、前的DCT系数Q(u,v)表示量化加权矩阵q表示量化步长round表示归整,即将输出的值取为与之最接近的整数值。类似地可以写出反量化的表达式:F(u,v)=FQ(u,v)Q(u,v)q (2-4)由于量化过程是一个非线性过程,信号F(u,v)经过量化和反量化后得到的值F(u,v)与F(u,v)本身是不同的,即存在一定的误差。由于人眼对不同的频率分量具有不同敏感度,因此在量化过程中可以对不同的系数采用不同的加权系数,使得在量化步长为9时,不同的系数具有不同的误差。量化加权矩阵是很多的国际性组织和研究者经过对多种图像综合统计后给出的。在实际应用中的量化方法还要复杂一些,并且可能有多个量化加权矩阵,

23、但最终的目的是相同的,那就是更好地利用人眼的特性,以最低的信息速率获得最好的图像质量。量化过程的另一个重要参数是量化步长9。它的作用是控制量化误差的大小。调整9的值可以改变编码后所需要的比特数目,实际上是牺牲图像质量来换取较低的传送速率或用宽的带宽来换取较高的图像质量。事实上目前的图像编码器的输出速率之所以能在较大的范围内变化,最主要的原因就是它可以调节量化器的量化步长。2.4.4 熵编码在图像压缩编码中经常采用的熵编码有行程编码(RLC)及变字长编码(VLC)等,这两个编码方法常结合使用。行程编码一般用于在数字信号中经常有相同码字连续出现的场合。在图像压缩编码时,数据经DCT等变换编码后,其

24、系数按照一定的方式排列后,高频系数经常会出现连0的情况。此时如果对0的长度(游程)进行编码,则可以有效地对这些系数进行压缩。行程编码与变字长编码相结合,可获得更高的压缩比。当对M个字长为B比特的码字进行编码时,如果码字出现的概率不是均匀分布,则由信息论的理论可知,一定存在一种编码方法,能够以每样值的平均码长少于B比特的码字对该数据进行编码。在变字长编码中,Huffman编码方法得到的码字平均码长最短。由以上讨论可得出如下结论:对于图像序列的压缩,不仅要考虑到图像空间方向的相关性,而且还要考虑序列在时间轴上的相关性,同时还要利用无损编码来达到可观的压缩性能。这三者结合起来能更有效地对图像数据进行

25、压缩。2.4.5 运动估计和运动补偿运动估计与补偿是活动图像压缩的关键技术之一。目前己成为重要的图像压缩算法,从H.261,H.263,MPEG-1,MPEG-2到MPEG-4等国际标准,都使用了运动补偿(简称MC)技术。运动补偿的基本原理简述如下,当编码器对图像序列中的第N帧进行处理时,利用运动估值技术得到第N帧的预测帧N。在实际编码传输时,并不总是传输第N帧,而是第N帧和其预测帧N的差值。如果运动估计十分有效,中的概率基本上分布在零的附近,从而导致比原始图像第N帧的能量小的多,编码传输所需的比特数也就少的多,这就是运动补偿技术能够去除信源中时间冗余度的本质所在。图 2.2 运动估值原理运动

26、补偿(MC)是消除图像序列时间方向冗余度的有效手段,它常常和各种其它技术组合在一起实现完整的编码器。运动估值技术(如上图2.2所示)一般将输入图像分割成若干彼此不相重叠的方块(通常为1616大小的块),然后为每一个块寻找一个运动矢量,寻找运动矢量的过程是一个优化过程,即按照某种匹配准则(如MSE,最小均方误差准则)为当前块在参考图像中寻找一个误差最小的块,图像块这两个图像块的相对位移便是运动矢量。运动补偿是将运动矢量所指的“粘贴”到当前块所在位置,作为当前块的预测值,如图2.3所示。图 2.3 运动补偿原理图像分割是运动补偿预测的基础,但实际上要把图像分割成不同运动的物体是比较困难的。通常采用

27、两种比较简单的方法:一是把图像划分成矩形子块,适当选择子块大小,把子块分为静止和运动两类,估计出运动子块的位移,进行预测编码,这种方法称之为块匹配法(BMA)。另一种方法是对每个像素的位移都进行递归估计,因此称之为像素递归法(PRA)。这两种算法各有其特点,通常像素递归法较块匹配法精度商,对运动画面的适应能力也强,但只能跟踪较小的位移,且实现复杂。块匹配法虽然精度低于像素递归法,但由于其位移跟踪能力强,且实现简单,因此在实际中得到了广泛的应用。得到运动物体的位移估计值后,即可送入MC预测器和一切预测编码一样,输入到预测器的数据都要用图像恢复数据,即原始输入为N,预测值为N,二者之差经过量化后为

28、,图像恢复数据为S0=N+,与原始数据S0相比含有量化误差q0=。把恢复数存进帧存储器存储后,即为前一帧的数据,把前一数据和当前数据送进运动参数估值器后就得到运动位移的估值,有了运动位移参数和前帧复原数据,就可以做出当前像素的预测值。2.4.6 解码过程接收端首先要根据接收到的码流解出不同的二维事件,然后根据事件中的游程和数据值恢复出量化后的系数矩阵。接下来进行反量化,即用与量化过程相反的计算公式来推算DCT系数。在DCT系数矩阵的基础上可以进行IDCT变换,最终得到原始的在时间域图像的像素值。2.4.7 混合编码现在的国际标准(H.261/263,MPEG1/2和MPEG-4)都同时采用上面

29、叙述的编码算法,即变换编码+运动补偿+熵编码的混合编码方案来实现图像序列(图像)的压缩。即用DCT变换消除图像帧内相关性,用运动估计和运动补偿去除图像的帧间相关性,用熵编码进一步提高压缩的效率等。图2.4给出了混合编码的模型。图2.4 基于DCT的图像压缩编码系统由图可看出,对当前输入的图像首先要进行分块。分块得到的小图像再与经过运动补偿的预测图像块相减得到差值图像块X(m,n),然后对该差值图像块进行DCT变换和量化。量化的输出有两个不同应用:一是送给熵编码器进行编码,编码后的比特流输出到一个缓冲器中保存,等待信号的传输部分将其读出送到线路上去;另一应用是进行反量化和反变换后得到信号x(m,

30、n),该信号将与运动补偿输出的图像块相加得到新的预测图像信号,并将新的预测图像块送帧存储器。帧存储器的作用是保存前面一帧图像的值以便用于运动估计和运动补偿。从图中可以看到每输入一个图像块,运动估计均要根据当前输入的图像块和保存在帧存储器中的参考图像来确定运动矢量,输入的运动矢量要送给运动补偿模块,运动补偿将根据运动矢量从帧存储器中保存的参考图像中取出一个小块的图像作为当前输入图像块的预测值,并将该值送给减法器以便得到X(m,n)。另外还可看出:信息经过熵编码送入缓冲器。通常情况下缓冲器的大小是固定的,如果某个时刻输入图像很复杂,编码后输出的比特数比较多,而此时后续的电路还没有将缓冲器中已经编码

31、的图像数据取出,那么当前编码的数据就没有地方可以保存,从而造成缓冲器的上溢出;相反,如果当前编码的图像很简单,编码后输出的比特数很少,而此时后续电路读取信息的速率很快,那么就可能出现缓冲器中无数据可读的状态,即缓冲器出现下溢出。为了避免这两种情况,通常从缓冲器到量化器上会有一条反馈通路,用以控制编码器输出的比特数。当发现缓冲器快出现上溢出时,控制电路会要求量化器提高量化步长,更多的DCT系数在量化后变成了0,这样经过熵编码后输出的比特数就很少,从而使缓冲器不会出现上溢出的现象。反之,如果发现缓冲器快出现下溢出时,控制电路会要求量化器减小量化步长,更多的DCT系数在量化后不为0,这样经过熵编码后

32、输出的比特数就比较多,从而使缓冲器不会出现下溢出的现象,即速率控制,它使得同样一个编码器能在多种不同输出速率的环境中正常工作。解码的过程比编码的过程相对要简单。图2.5给出了解码的系统框图。接收端接收到的信息首先要经过熵解码,还原为量化系数,然后送给量化器进行反量化,得到DCT系数,最后通过DCT的反变换恢复原始的图像数据。由于在编码端编码的只是当前图像和参考图像的差值,所以在接收端必须要将解码获得的差值图像和参考图像相加,以恢复最原始图像。在解码过程中需要利用运动矢量等边信息以确定参考图像块在前面图像中的位置。图2.5解码系统框图2.4.8 I,P,B帧编码模式在基于DCT的图像压缩编码中常

33、常采用I,B,P帧的编码模式。在编码过程中,编码算法将输入到编码器的每一帧图像分为I(Intra)帧、B(Bi-direction prediction)和P(Prediction)帧三种不同的类型,并且具有一定的排列顺序。如图2.6所示的I,B,P帧的组织结构是一种典型的组织结构。图2.6 典型的I,B,P帧结构顺序不同类型的帧在编码过程中有不同的处理方法。对于I图像(帧内图像)来说,它利用图像自身的相关性进行压缩,提供压缩数据流中的随机存取的点,采用基于DCT的编码技术,编码不需要其它帧的图像作参考,这些帧图像为译码器提供随机存取的点,是预测图像(P)帧和双向预测图像(B)帧的参考图像,所

34、以压缩率不高。P图像(预测图像)是参考过去的帧内图像或者过去预测得到的图像用运动补偿预测技术进行编码,编码实际上是对当前图像与运动补偿图像的差值进行编码。这些预测图像通常作为进一步预测的参考,预测图像的编码效率较高。B图像(差补图或双向预测图像)的编码方式与P图像相似,唯一不同的地方是在编码过程中它要利用在当前位置前面的I或P图像和后面的I或P图像进行预测,并从中选出一个最佳的运动矢量,它的编码效率最高,但它不能作为预测的参考图像。图2.7给出了I,B,P帧图像在编码时使用参考图像的情况。从图中可以看出在对第4帧的P图像进行编码时需要使用第1帧的I图像作为预测帧,而对位于第2帧的B图像进行编码

35、时需要使用位于第1帧的I图像和位于第4帧的P图像作为参考帧。图2.7 B、P帧编码时使用的参考帧从图中可以看出编码端在进行图像编码时需要对图像编码的顺序进行调整,通常需要在编码器中有一个大的输入缓冲器将当前输入的图像进行缓存。解码过程与编码过程相似。解码后的图像也要先写入缓冲器,然后再按照显示顺序从缓冲器中读出要显示的图像帧,利用这样的方法就可以保证输入图像和输出图像在时间顺序上的一致性。在解码过程中只有I帧图像才能独立的解码,B和P图像均需要利用参考图像并结合运动矢量完成解码过程。2.5 常用图像的数据结构视频序列:编码比特流中最高语法结构是视频序列。一个视频序列以一个序列头开始,后面可选地

36、跟着一组图像的头和一个或更多的编码帧。图:有三种图:内部编码图(I)、预测编码图(P)和双向编码图(B)。一个编码图由一个图像头、紧跟后面的可选扩展项以及数据组成。组块:一个组块是一系列任意数目的宏块。一个组块至少要包含一个宏块。组块之间不能重叠。宏块:宏块包含一部分亮度分量和相关色差分量。一个宏块可以有几种色差格式。对于每种不同的色差格式,宏块中的块的顺序会有不同。块:术语“块”既可以指源图像数据和重构数据,也可以指DCT系数或相应的编码数据单元。当“块”指源图像数据或重构数据时,它指的时亮度分量或色差分量的正交部分。在块中有8行,每行8个样点。第三章 MPEG-4标准本章将讨论MPEG-4

37、标准的主要内容。3.1 MPEG-4标准简述MPEG-4标准的制定有两个目标:低比特率的多媒体通信和多工业的多媒体通信的综合。MPEG-4遵循灵活的编码工具框架体系,设计了一个开放的编码系统,对于不同的应用采用不同的编码算法,以达到低比特率通信的目标。3.1.1 MPEG-4标准的特点MPEG-4解码器是可编程的,相应的解码信息可与内容本身一起传输下载。采用了基于对象(object-based)的编码是MPEG-4的主要特征,所谓的对象是在一个场景中能够访问和操纵的实体。与现有的MPEG-1和MPEG-2视频压缩相比,MPEG-4视频有一些重要改进:基于内容的交互功能。MPEG-4提供了全新的

38、交互方式,可实现对多媒体视频对象(VO)的时域随机存取,改变场景的视角,改变场景中物体的位置、大小和形状,或对该对象进行置换甚至清除。支持自然及合成信息的混合编码(NHC:Synthetic and Natural Hybrid Coding)。可对合成的VO及其活动信息进行参数化描述。高效编码。包括VO的高效编码和多个并发数据的有效同步编码。基于内容的伸缩性。是指分级编码后,纹理、图像和视频基于内容的伸缩性,视频序列中时域、空间及质量的伸缩性,表现为时域实时或非实时、数据率大小及重建的图像质量上。可变的最终输出。不同的码率意味着支持不同的功能集。功能集的底层是VLBV(VLBV:Very L

39、ow Bit Rate Video)核心,它为564kbits/s视频操作与应用提供算法与工具,支持较低的空间分辨率(低于352288像素)和较低的帧频(低于15Hz)。VLBV核心功能包括:矩形图像序列的有效编码、多媒体数据库的搜索和随机存取。MPEG-4的HBV(HBV:High Bit Rate Video,范围在64kbits/s-4Mbits/s之间)同样支持上述功能,但它同时还支持较高的空间与时间分辨率。其输入可以是ITU-R601的标准信号,因此其典型应用为数字电视广播与交互式检索。MPEG-4应用领域主要有:因特网应用、交互式视频游戏、实时可视通信、广播电视、虚拟会议、移动通信

40、条件下的多媒体应用、远程视频监控等。3.1.2 MPEG-4标准的构成MPEG-4标准包括以下部分。DMIF(Delivery Multimedia Integration Framework)。多媒体传送整体框架协议。MPEG-4标准将众多多媒体应用集成于一个完整的框架内,旨在为多媒体通信及应用环境提供灵活的算法及工具,用于实现音视频数据的有效编码及更为灵活的存取。它重点解决了多领域中多媒体应用个性化交互操作的问题。解码器。定义了MPEG-4系统特殊的解码模式,要求特殊的缓冲区和实时模式。音频编码。支持自然声音和合成声音,支持音频的对象特征。视频编码。支持自然和合成的视觉对象,合成的视觉对象

41、包括2D,3D动画和人面部表情动画等。场景描述BIFS(Binary Format for Scene description)。关于一组VO的时空结构关系的参数信息,主要描述了各VO在具体背景下的相互关系与同步等问题,以及VO及其背景的知识产权保护等问题。BIFS与VO对象特征信息的编码、传输是相对独立的。场景描述信息编码及其的独立传输是实现用户端编辑操作的关键:在解码之后和场景合成之前,用户可以通过对BIFS参数的重新设置来对VO进行多种编辑操作,如增减、缩放、平移,甚至一些特技效果。3.1.3 MPEG-4的框架和级别MPEG-4提供了大量的音视频对象的编码工具,能够满足多种需要。对于某

42、一特定需要,只有一部分系统、视频和音频对象的编码工具被采用。框架(profile)就是针对特定的应用确定要采用的编码工具,它是MPEG-4提供的工具集的一个子集。每一个框架又有一个或多个级别(level)来限制计算的复杂度。MPEG-4共有四类框架:视频框架、音频框架、图形框架和场景描述框架。其中视频框架又有5个级别,分别如下:Simple Visual Profile。提供矩形视频对象高效有容错能力的编码工具,适合应用于移动网络。Simple Scalable Visual Profile。在Simple Profile基础上增加了对象时域和空域扩展编码功能,应用于提供多级服务质量的应用,如

43、internet。Core Visual Profile。在Simple Profile基础上增加了任意形状对象编码和时域扩展功能,适用于相对简单的内容交互应用,如internet应用。Main Visual Profile。在Core Profile基础上增加了Sprite对象编码功能,适用于DVD应用等。N-Bit Visual Profile。在Core Profile基础上增加了具有不同像素深度视频对象编码功能,适用于监控应用。3.2 视频编码的基本内容3.2.1 从矩形帧到VOP,视频编码的基本结构传统图像编码方法依据信源编码理论的框架,将图像作为随机信号,利用其随机特性来达到压缩的

44、目的。无论是JPEG还是MPEG-1/2,都是以DCT矩形变换块为变换编码单元,对DCT块内图像的亮度和色度进行特征取样和提取像素;采用帧间编码、运动估测技术,在参考帧帧内DCT编码的基础上,对DCT块内图像的像素特征进行差值预测编码。基于矩形DCT编码的视频编码,在设计思想上只考虑到对信号数据进行处理的需要(比如小的比特率以利于传输、高的比特率以保证质量),但未考虑视频信息即图像内容本身的含义和重要性,以及视频信息应用者的主观需求(比如部分内容的提取功能)。另外,这种基于块的压缩算法在低码率时容易产生“方块效应”,大大缩小了视频信息的应用领域。但正是由于信源编码理论的限定,使传统的编码具有较

45、高的概括性和综合性,基于矩形帧编码的传统编码标准如H.261、MPEG-1/2在实际应用中也获得了巨大成功。而MPEG-4采用现代图像编码方法,利用人眼的视觉特性,抓住图像信息传输的本质,从轮廓纹理的思路出发,支持基于视觉内容的交互功能。实现居于内容交互功能的关键在于基于视频对象的编码,为此MPEG-4引入了视频对象平面VOP(Video Object Plane)的概念。在这一概念中,根据人眼感兴趣的一些特性如形状、运动、纹理等,将图像序列中每一帧中的场景,看成是有不同视频对象平面VOP所组成,而同一对象连续的VOP称为视频对象VO(Video Object),VOP是VO在某个时间的存在。

46、VO可以是视频序列中的人物或具体的景物,例如电视新闻中的播音员;也可以是计算机图形技术生成的二维或三维图形。图3.1表示MPEG-4对电视图像序列进行编码的一个例子。左上角的图是全景图,右上角的图是一个没有背景的子图像,可以把网球运动员当作是一个视频对象。在编码之前把这个视频对象从全景图序列中抽出来,然后分别对它们进行编码、传送和解码,最后再合成。图3.1 MPEG-4电视图像编码举例MPEG-4采用基于内容编码方法的一个重要优点是:使用合适的和专门的对象基于移动预测工具可以明显提高场景中某些视频对象的压缩效率。图3.2为MPEG-4基于内容图像编码方法的简化原理图。InputVOP定义VOP

47、0编码VOP1编码VOP2编码复合Bitstream图3.2 MPEG-4基于内容图像编码方法的简化原理图第一步是VO的形成,先要从原始视频流中分割出VO,之后由编码控制机制为不同的VO以及各个VO的三类信息分配码率。之后对各个VO分别独立编码,最后将各个VO的码流复合成一个位流。其中,在编码控制机制和复合阶段可以加入用户的交互控制或由智能化的算法进行控制。解码则相反。3.2.2 MPEG-4的数据结构MPEG-4可以认为有四个层次的数据结构,他们都以类的形式定义。数据结构类分级图的形象描述见图3.3。VS(Video Session):是包含其他三个类的一个类,一个完整的视频序列可以由几个V

48、S组成。VO(Video Object):是场景中的某个物体,它由时间连续的多个帧构成。VOL(Video Object Layer):VO的三种属性信息编码于这个类中,这个类的引入主要用来扩展VO的时域或空域分辨率。VOP:可以看作是VO在某一时刻的表象,即某一帧VO。图3.3 MPEG-4中的数据结构类分级图总之,每个VS(即一段完整的视频)由一个或多个VO构成,而每个VO可能由一个或多个VOL层次,如基本层、增强层。每个层就是VO的某一分辨率的表示。在每个层中,都有时间上连续的一系列VOP。3.3 VOP编码实现视频编码器包括形状编码(对于任意形状)、运动信息编码和纹理编码。基本编码方法

49、为:首先对输入的原图像序列进行场景分析和对象分割,以划分不同的VOP,得到各个VOP的形状和位置信息,它可以用平面来表示。对平面进行压缩编码和传送,在接收端就可以恢复平面。提取的形状和位置信息又用来控制VOP的运动和纹理编码。对运动和纹理信息编码仍然采用经典的运动预测补偿法。输入第N帧的VOP与帧存储器中存储的第N-1帧的VOP进行比较,找到运动矢量,然后对两帧VOP的差值进行量化、编码。编码后得到的纹理信息,与运动编码器和形状编码器输出的运动信息和形状信息复合形成改VOP的比特流层。不同视频对象的VOP序列分别进行编码,形成各自的比特流层,经过复合后在信道上传送。传送的顺序依次为形状信息、运

50、动信息和纹理信息。图3.4是MPEG-4 Video编码的基本框图,可对任意形状的输入图像序列进行编码。图3.4 MPEG-4视频编码器的算法框图在某一时刻,VO以VOP的形式出现,编码也主要针对这个时刻该VO的形状、运动、纹理这三类信息来进行。3.3.1 形状编码图3.5 MPEG-4中的VOP形状编码VOP形状编码见图3.5。VO的形状信息有两类:二值形状信息和灰度形状信息。二值形状信息用0、1表示VOP的形状,0表示非VOP区域,1表示VOP区域。二值形状信息的编码采用基于运动补偿块的技术,可以是无损或有损编码。灰度形状信息用0255之间的数值来表示VOP的透明度,其中0表示完全透明(相

51、当于二值形状信息中的0),255表示完全不透明(相当于二值形状信息中的1)。灰度形状信息是二值形状信息的扩展,它可以用来表示透视的物体,并降低混迭的现象。灰度形状信息编码采用基于块的运动补偿DCT方法(同纹理编码相似),属于有损编码。目前标准中采用矩阵的形式来表示二值或灰度形状信息,称之为位图(或平面)。对于模糊边缘部分,可将其视为灰度信息从周围已知VOP区域的灰度值向0值的过渡区域,采用内插法确定其形状信息。MPEG-4中采用位图法来表示这两类形状信息。VOP被限定在一个矩形窗口内,称之为VOP窗口,窗口的长、宽均为16的整数倍,同时保证VOP窗口中非VOP的宏块数目最少。位图法实际上是一个

52、边框矩阵,取值为0255(后0、1),编码变为对这个矩阵的编码。矩阵被分成1616的“形状块”,允许进行有损编码,这通过对边界信息进行子采样实现,同时允许使用宏块的运动向量来做形状块的运动补偿。实验表明,位图表示法具有较高的编码效率和较低的运算复杂度。形状编码在输入VOP是一个矩形帧时倍屏蔽掉,以便与现有编码系统相兼容,如图3.6所示。其中的上图表示在MPEG-4中,矩形帧被认为是VOP的一个特例,这时编码系统不用处理形状信息,退化为类似于MPEG-1/2的传统编码系统,实现了与现有标准的兼容。其中的下图表示MPEG-4的甚低速率图像的核心编码器。Video ObjectPlaneMotion

53、(MV)Texture(DCT)Generic MPEG-4 CoderbitstreamMPEG-4 VLBV Core CoderVideo ObjectPlaneShapeMotion(MV)Texture(DCT)Bitstream图3.6 普通MPEG-4编码器和MPEG-4 VLBV核心编码器3.3.2 运动信息编码类似于现有的视频编码标准,MPEG-4采用运动预测和运动补偿技术来去除图像信息中的时间冗余成分,而这些运动信息的编码技术可视为现有标准向任意形状的VOP的延伸。VOP的编码有三种模式,即帧内(Intra-frame)编码模式(I-VOP),帧间(Inter-frame)

54、预测编码模式(P-VOP),帧间双向(Bidirectionally)预测编码模式(B-VOP)。VOP如形状编码一样,外加了边框,边框分成1616的宏块,宏块内是88的块。在MPEG-4中运动预测和运动补偿可以是基于1616像素宏块的,也可以是基于88像素宏块的。为了适应任意形状的VOP,MPEG-4引入了图像填充技术和多边形匹配技术。图像填充技术利用VOP内部的像素值来外推VOP外的像素值,以此获得运动预测的参考值。多边形匹配技术则将VOP的轮廓宏块的活跃部分包含在多边形之内,以此来增加运动估值的有效性。3.3.3 纹理编码纹理信息有两种。可能是内部编码的I-VOP的像素值,也可能是帧间编

55、码的P-VOP、B-VOP的运动估计残差值。为了达到简单、高性能、容错性好的目的,仍采用基于分块的纹理编码。VOP边框仍被分成1616的宏块。图3.7 MPEG-4中任意形状VOP的基于宏块的纹理编码在已得到实际应用的MPEG-4中,VOP的纹理编码基本上仍采用基于88像素块的DCT方法,有3种情况,如图3.7所示。一是VOP外、边框内的块,不编码;二是VOP内的块,采用经典的DCT方法;三是部分在VOP内,部分在VOP外的块则首先采用图像填充技术来获取VOP之外的像素值,之后再进行DCT编码。这是为了增加块内数据的空域相关性,从而有利于DCT变换和量化去块内的空域冗余。DCT系数要经量化、Z

56、扫描、行程及哈夫曼熵编码。量化有两种类型:类似于H.263那样用一个量化参数针对块内所有AC系数,这个值可以根据要求质量和目标码率变化;或类似于MPEG-2那样使用量化矩阵。纹理编码主要采用传统算法,MPEG-4中只是有一些改进。在intra方式下主要为DCT变换,由于在VOP边缘处宏块内有些点不是VOP内的点,为了减少编码系数,对于非VOP内的点不必变换编码,MPEG-4中提出形状自适应DCT(SA-DCT)变换,主要步骤为:首先进行一维的列变换(不等长),然后进行一维的行变换。对于intra方式编码的DC和AC系数进行预测。DC系数用邻近块DC系数预测,AC系数用同块内临近的其它AC系数来

57、预测。纹理编码最重要,它将在最大程度上决定图像质量和压缩比。对于甚低码率(6.4kbits/s)下的应用,由于方块效应较明显,所以需用除方块滤波器进行相应处理,3.4 VOP分割基于纹理的分割基于纹理的分割主要是应用模式识别的技术来聚类,但要注意分割结果适度。分割的太粗,不能有效的压缩;而分割的太细,就有可能是物体的各个部分,这样对于压缩和基于内容的操作都不利。基于运动的分割将具有同一运动参数模型的区域聚类,从而达到分割的目的。这种方法可以分割出运动的物体,但会使得基于运动一致性的分割实现起来非常困难,效果也不太理想。纹理和运动结合的分割在运动一致性表现的非常明显的区域用运动分割,在一些细节或运动复杂区域仍采用纹理分割。或者采用由粗到细的分层次分割策略,用纹理分割进行低层的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论