MPEG编码方法.docx

上传人:b****7 文档编号:9029700 上传时间:2023-02-02 格式:DOCX 页数:37 大小:416.57KB
下载 相关 举报
MPEG编码方法.docx_第1页
第1页 / 共37页
MPEG编码方法.docx_第2页
第2页 / 共37页
MPEG编码方法.docx_第3页
第3页 / 共37页
MPEG编码方法.docx_第4页
第4页 / 共37页
MPEG编码方法.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

MPEG编码方法.docx

《MPEG编码方法.docx》由会员分享,可在线阅读,更多相关《MPEG编码方法.docx(37页珍藏版)》请在冰豆网上搜索。

MPEG编码方法.docx

MPEG编码方法

第9章MPEG编码方法

在第6章中已经介绍了视频的数字化和MPEG与H系列的国际编码标准。

本章将具体介绍MPEG-1/2和MPEG-4的视频压缩算法,以及它们的伴音编码方法。

9.1MPEG-1&2的视频压缩算法

MPEG-1和MPEG-2采用的是相同的视频压缩方法,帧内采用的是JPEG静态图像编码,帧间则采用运动补偿算法。

9.1.1简介

可以利用视频数据所存在的各种冗余,来对其进行压缩。

视频本身在时间上和空间上都含有许多冗余信息,图像自身的构造也有冗余性。

此外,利用人的视觉特性也可对图像进行压缩,这叫做视觉冗余。

参见表9-1。

表9-1视频压缩可利用的各种冗余信息

种类

内容

目前用的主要方法

统计

特性

空间冗余

像素间的相关性

变换编码,预测编码

时间冗余

时间方向上的相关性

帧间预测,移动补偿

图像构造冗余

图像本身的构造

轮廓编码,区域分割

知识冗余

收发两端对事物的共有认识

基于知识的编码

视觉冗余

人的视觉特性

非线性量化,位分配

其他

不确定性因素

MPEG-1/2的视频压缩所采用的技术有两种:

①在空间上(帧内),图像数据压缩采用JPEG压缩算法来去掉冗余信息。

②在时间方向上(帧间),视频数据压缩采用运动补偿(motioncompensation)算法来去掉冗余信息。

为了在保证图像质量基本不降低的同时,又能够获得高的压缩比,MPEG专家组为视频的帧系列定义了三种图像:

帧内图像I(Intra),预测图像P(Predicted)和双向插值图像B(Bidirectionallyinterpolated),它们典型的排列如图9-1所示。

在MPEG-1/2的视频编码中,对这三种图像将分别采用了三种不同的算法来进行压缩。

图9-1MPEG定义的三种视频图像

9.1.2I帧压缩算法

帧内图像I的解码,不需要参照任何过去的或后来的其他图像帧,其压缩编码采用类似JPEG压缩算法,它的框图如图9-2所示。

如果视频是用RGB空间表示的,则首先要把它转换成YCrCb空间表示的图像。

每个图像平面分成8×8的图块,对每个图块进行离散余弦变换DCT。

DCT变换后经过量化的交流分量系数按照Z字形排序,然后再使用无损压缩技术进行编码。

DCT变换后经过量化的直流分量系数用差分脉冲编码DPCM,交流分量系数用行程长度编码RLE,然后再用霍夫曼或算术编码。

图9-2帧内图像I的压缩编码算法框图

9.1.3P帧压缩算法

MPEG视频编码,对P帧图像采用的是,以宏块为单位的前向预测压缩算法。

1.算法概述

预测图像的编码是以图像宏块(macroblock)为基本编码单元,一个宏块定义为I×J像素的图像块,一般取为16×16。

预测图像P用两种类型的参数来表示:

一种是当前要编码的图像宏块与参考图像的宏块之间的差值,另一种是宏块的移动矢量(motionvector运动向量)。

移动矢量的概念可用图9-3表示。

图9-3移动矢量的概念

假设编码图像宏块MPI是参考图像宏块MRJ的最佳匹配块,它们的差值就是这两个宏块中相应像素值之差。

对所求得的差值进行彩色空间转换,并作4:

1:

1的子采样得到Y,Cr和Cb分量值,然后仿照JPEG压缩算法对差值进行编码(对计算出的移动矢量也要进行霍夫曼编码)。

求解图像宏块差值的方法如图9-4所示。

图9-4预测图像P的压缩编码算法框图

求解移动矢量的方法见图9-5。

在求两个宏块差值之前,需要找出编码图像中的预测图像编码宏块MPI相对于参考图像中的参考宏块MRJ所移动的距离和方向,这就是移动矢量。

图9-5移动矢量的算法框图

要使预测图像更精确,就要求找到与参考宏块MRJ最佳匹配的预测图像编码宏块MPI。

所谓最佳匹配是指这两个宏块之间的差值最小。

通常以绝对值AE(absolutedifference)最小作为匹配判据:

有些学者提出了以均方误差MSE(mean-squareerror)最小作为匹配判据:

也有些学者提出以平均绝对帧差MAD(meanoftheabsoluteframedifference)最小作为匹配判据:

 

其中,dx和dy分别是参考宏块MRJ的移动矢量d(dx,dy)在X和Y方向上的矢量。

从以上分析可知,对预测图像的编码,实际上就是寻找最佳匹配图像宏块,找到最佳宏块之后就找到了(最佳)移动矢量d(dx,dy),从而可进一步计算出对应图像宏块的差值参数。

2.最佳宏块搜索法

为减少寻找最佳匹配宏块的搜索次数,已经开发出了许多简化算法用来加快搜索过程。

注意,编码时采用哪种具体的搜索方法,不会影响到解码过程,而只会影响编码时的速度和解码后的图像质量。

下面介绍三种常用的最佳宏块搜索法。

●二维对数搜索法

二维对数搜索法(2D-logarithmicsearch)采用的匹配判据是MSE为最小,它的搜索策略是沿着最小失真方向搜索。

具体搜索方法如图9-6所示,图中的标有数字i的小方框表示第i步的搜索点、箭头表示搜索移动的方向和大小。

图9-6二维对数搜索法

在搜索时,每移动一次就检查上下左右和中央这5个搜索点。

如果最小失真在中央或在图像边界,就减少搜索点之间的距离。

在这个例子中,步骤1,2,…,5得到的近似移动矢量d为(i,j-2)、(i,j-4)、(i+2,j-4)、(i+2,j-6)和(i+2,j-6),最后得到的移动矢量为d(i+2,j-6)。

●三步搜索法

三步搜索法(three-stepsearch)与二维对数搜索法很接近。

不过在开始搜索时,搜索点离(i,j)这个中心点有3个像素远,每一步测试周围的8个搜索点,然后减小搜索点的距离,三步完成,如图9-7所示。

在这个例子中,点(i+3,j-3)作为第一个近似的移动矢量;第二步,搜索点在(i+3,j-3)附近,找到的点假定为(i+3,j-5);第三步给出了最后的移动矢量为d(i+2,j-6)。

本例采用MAD作为匹配判据。

图9-7三步搜索法

●对偶搜索法

对偶搜索法(conjugatesearch)是一个很有效的搜索方法,采用先横向后纵向的单步搜索,该法使用MAD作为匹配判据,搜索过程参见图9-8。

在第一次搜索时,通过计算点(i-1,j)、(i,j)和(i+1,j)处的MAD值来决定i方向上的最小失真。

如果计算结果表明点(i+1,j)处的MAD为最小,就计算点(i+2,j)处的MAD,并从(i,j),(i+1,j)和(i+2,j)的MAD中找出最小值。

按这种方法一直进行下去,直到在i方向上找到最小MAD值及其对应的点。

图9-8对偶搜索法

在这个例子中,假定在i方向上找到的点为(i+2,j)。

在i方向上找到最小MAD值对应的点之后,就沿j方向去找最小MAD值对应的点,方法与i方向的搜索方法相同。

最后得到的移动矢量为d(i+2,j-6)。

在整个MPEG图像压缩过程中,寻找最佳匹配宏块要占据相当多的计算时间,匹配得越好,重构的图像质量越高。

9.1.4B帧压缩算法

双向插值图像B的压缩编码框图如图9-7所示。

具体计算方法与预测图像P的算法类似,这里不再重复。

图9-9双向预测图像B的压缩编码算法框图

9.1.5视频帧结构

I帧可以用于视频的随机定位和快进快退,但是占用的存储空间较多。

MPEG编码器算法允许选择I图像出现的频率和位置。

I图像的频率是指每秒钟出现I图像的次数,位置是指时间方向上帧所在的位置。

一般情况下,I图像的频率为2。

MPEG编码器也允许在一对I图像或者P图像之间选择B图像的数目。

I图像、P图像和B图像数目的选择依据主要是根节目的内容。

例如,对于快速运动的图像,I图像的频率可以选择高一些,B图像的数目可以选择少一点;对于慢速运动的图像,帧内图像I的频率可以低一些,而B图像的数目可以选择多一点。

此外,在实际应用中还要考虑媒体的播放速率。

一个典型的I、P、B图像安排如图9-10所示。

编码参数为:

帧内图像I的距离为N=15,预测图像(P)的距离为M=3。

图9-10MPEG电视帧编排

I、P和B图像压缩后的大小如表9-2所示,单位为比特。

从表中可以看到,I帧图像的数据量最大,而B帧图像的数据量最小。

表9-2三种图像的压缩后的典型值(KB)

图像类型

I

P

B

平均数据/帧

MPEG-1CIF格式(1.15Mb/s)

150

50

20

38

MPEG-2601格式(4.00Mb/s)

400

200

80

130

 

9.2MPEG-4视频编码

MPEG-4视频编码算法支持由MPEG-1和MPEG-2提供的所有功能,包括对各种输入格式下的标准矩形图像、帧速率、位速率和隔行扫描图像源的支持。

MPEG-4视频算法的核心是支持基于内容(content-based)的编码和解码功能,也就是对场景中使用分割算法抽取的单独的视听对象进行编码和解码。

MPEG-4视频还提供管理这些视频内容的最基本方法。

MPEG视频专家组建立了一个用来开发图像和视频编码技术的模型,叫做“试验模型(TestModel)”或“验证模型(VM=VerificationModel)”。

这个模型描述了一个核心的编码算法平台,包括编码器、解码器以及位流(bitstream)的语法和语义。

本节就MPEG-4视频的编码和解码的基本方法作一个简单介绍,其他内容请看有关的参考文献和站点。

9.2.1视频对象平面的概念

为了实现预想的基于内容交互等功能,MPEG-4视频验证模型引进了一个叫做“视频对象平面(VideoObjectPlane,VOP)”的概念。

如图9-11所示,图中的上图表示支持MPEG-1和MPEG-2的普通(generic)MPEG-4编码器,图中的下图表示MPEG-4的甚低速率视频(VeryLowBitrateVideo,VLBV)的核心编码器(corecoder)。

MPEG-4视频验证模型,不像MPEG-1/2视频那样,把视频都认为是一个矩形区,而是假设每帧图像被分割成许多任意形状的图像区,每个图像区都有可能覆盖描述场景中感兴趣的物理对象或者内容,这种区被定义为视频对象平面(VOP)。

编码器输入的是任意形状的图像区,图像区的形状和位置也可随帧的变化而改变。

属于相同物理对象的连续的VOP组成视频对象(VideoObjects,VO)。

例如,一个没有背景图像的正在演讲的人,如图9-11中的下图所示。

图9-11MPEG-4的两种编码器

MPEG-4可单独对属于相同视频对象(VO)的VOP的形状(shape)、移动(motion运动)和纹理(texture)信息进行编码和传送,或者把它们编码成一个单独的视频对象层(VideoObjectLayer,VOL)。

VOP、VO和VOL的关系如图9-12所示。

图9-12VOP、VO和VOL的关系图

视频对象平面VOP:

视频帧场景中人们感兴趣的物理对象或内容之图像区

视频对象VO:

在视频帧序列中属于相同物理对象的VOP序列

视频对象层VOL:

属于同一VO的诸VOP的形状、移动和纹理等信息的编码

此外,需要标识每个视频对象层(VOL)的信息也包含在编码后的位流(bitstream)中,这些信息包括各种VOL的视频在接收端应该如何进行组合,以便重构完整的原始图像序列。

这样就可以对每个VOP进行单独解码,提供了管理视频序列的灵活性。

9.2.2视频编码方案

MPEG-4视频验证模型对每个视频对象(VO)的形状、移动和纹理信息进行编码形成单独的VOL层,以便能够单独对视频对象(VO)进行解码。

如果输入图像序列只包含标准的矩形图像,就不需要形状编码,在这种情况下,MPEG-4视频所使用的编码算法结构也就与MPEG-1和MPEG-2使用的算法结构相同。

MPEG-4视频验证模型对每个视频对象平面(VOP)进行编码使用的压缩算法是在MPEG-1和MPEG-2视频标准的基础上开发的,它也是以图像块为基础的混合DPCM和变换编码技术。

MPEG-4编码算法也定义了帧内视频对象平面(Intra-FrameVOP,I-VOP)编码方式和帧间视频对象平面预测(Inter-frameVOPprediction,简写为P-VOP)编码方式,它也支持双向预测视频对象平面(B-directionallypredictedVOP,B-VOP)方式。

在对视频对象平面(VOP)的形状编码之后,颜色图像序列分割成宏块进行编码,如图9-13所示。

图中的Y1、Y2、Y3和Y4表示亮度宏块,U、V分别表示红色差和蓝色差宏块。

图9-13视频序列中的I-VOP和P-VOP编码方式和宏块结构

图9-14描绘了MPEG-4视频的编码算法,用来对矩形和任意形状的输入图像序列进行编码。

这个基本编码算法结构图包含了移动矢量(motionvector,MV)的编码,以及以离散余弦变换(DCT)为基础的纹理编码。

图9-14MPEG-4视频编码器的算法方框图

MPEG-4采用基于内容编码方法的一个重要优点是,使用合适的和专门的基于对象的移动预测工具,可以明显提高场景中某些视频对象的压缩效率。

图9-15表示MPEG-4对视频序列进行编码的一个实际例子。

左上角的图是背景全景图。

右上角的图是一个没有背景的子图像全景图,可以把网球运动员当作是一个视频对象(VO),经常把这种可以独立移动的小图像称为子图像(sprite子画面)。

下面的图是接收端合成的全景图。

在编码之前这个子图像全景图从背景全背景图序列中抽出来,然后分别对它们进行编码、传送和解码,最后再合成。

图9-15MPEG-4电视序列编码举例

9.2.3视频分辨率可变编码

“视频分辨率”是指视频空间分辨率(spatialresolution)和时间分辨率(temporalresolution)。

空间分辨率是指一帧图像包含的行数与每行显示的像素数之乘积,而时间分辨率是指每秒种显示或者传输的图像帧数。

设置视频分辨率可变编码功能的一个重要目的是为了能够灵活支持性能不同(例如不同传输带宽)的各种视频接收或显示设备,或者支持浏览视频数据库等网络方面的应用。

另一个目的是提供分层次的视频数据位流,这样可按应用所要求的先后次序进行传输。

MPEG-2也有视频分辨率可变编码功能,但它是以图像的帧为基础进行编码。

而MPEG-4视频分辨率可变编码是以任意形状的视频对象平面(VOP)为基础进行编码。

对那些没有能力或者不愿意接收高分辨率图像的接收器,它可以接收分辨率比较低的视频,降低空间分辨率或者时间分辨率意味降低图像的质量。

空间分辨率可变性(spatialscalability)和时间分辨率可变性(temporalscalability)的实现方法类似。

9-16图描述了多分辨视频编码(multiscalevideocoding)方案。

该方案提供三个层次的编码/解码,每一层都支持在不同空间分辨率下进行编码/解码。

从图中可以看到,多种空间分辨率的实现是通过降低输入电视信号的采样率来获得的。

图9-16VOP空间分辨率可变编码方法

MPEG-4/AVC(H.264)标准压缩系统由视频编码层(VideoCodingLayer,VCL)和网络提取层(NetworkAbstractionLayer,NAL)两部分组成。

VCL中包括VCL编码器与VCL解码器,主要功能是视频数据压缩编码和解码,它包括运动补偿、变换编码、熵编码等压缩单元。

NAL则用于为VCL提供一个与网络无关的统一接口,它负责对视频数据进行封装打包后使其在网络中传送,它采用统一的数据格式,包括单个字节的包头信息、多个字节的视频数据与组帧、逻辑信道信令、定时信息、序列结束信号等。

通过NAL单元,H.264可以支持大部分基于包的网络。

有关MPEG-4的基于IP网络的DMIF(DeliveryMultimediaIntegrationFramework传输多媒体集成框架),将在本书的第19章中再作介绍。

9.3MPEG音频编码

近些年来,人类在利用自身的听觉系统特性来压缩声音数据方面取得了很大的进展,先后制定了采用音感编码的MPEG-1Audio,MPEG-2Audio和MPEG-2AAC等标准。

而MPEG-4则采用了基于音频对象的编码方法,包括自然声音的编码和音乐与语音的合成。

现在十分流行的MP3采用的就是MPEG-1AudioLayerⅢ编码,而MP4采用的则是MPEG-2AAC的音频编码(MP4的另一个含义是MPEG-4视频编码)。

本节先较为详细地讨论MPEG-1和MPEG-2的音频编码方法,然后再简单介绍MPEG-4的音频编码。

9.3.1MPEG-1Audio

在第3章中,已经介绍了人的各种听觉特性,MPEG的音频编码正是利用人类的这些听觉系统的特性来达到压缩声音数据的目的。

称这种压缩编码为感知声音编码(perceptualaudiocoding),简称为音感编码(musicalitycoding)。

1.MPEGAudio与感知特性

MPEGAudio标准在这里是指MPEG-1/2的音频编码,包括MPEG-1Audio、MPEG-2Audio、MPEG-2AAC和MPEG-2中使用的DolbyAC-3,它们处理10Hz~20000Hz范围里的声音数据,数据压缩的主要依据是人耳朵的听觉特性,使用“心理声学模型(psychoacousticmodel)”来达到压缩声音数据的目的。

心理声学模型中一个基本的概念就是听觉系统中存在一个听觉阈值电平,低于这个电平的声音信号就听不到,因此就可以把这部分信号去掉。

听觉阈值的大小随声音频率的改变而改变,各个人的听觉阈值也不同。

大多数人的听觉系统对2kHz~5kHz之间的声音最敏感。

一个人是否能听到声音取决于声音的频率,以及声音的幅度是否高于这种频率下的听觉阈值。

心理声学模型中的另一个概念是听觉掩饰特性,意思是听觉阈值电平是自适应的,即听觉阈值电平会随听到的不同频率的声音而发生变化。

声音压缩算法可以确立这种特性的模型来取消更多的冗余数据。

MPEGAudio采纳两种感知编码,一种叫做感知子带编码(perceptualsubbandcoding),另一种(用于MPEG-2)是由杜比实验室(DolbyLaboratories)开发的DolbyAC-3(AudioCodenumber3)编码,简称AC-3。

它们都利用人的听觉系统的特性来压缩数据,只是压缩数据的算法有所不同。

感知子带编码的简化算法框图如图9-17所示。

输入信号通过“滤波器组(filterbank)”进行滤波之后被分割成许多子带,每个子带信号对应一个“编码器(coder)”,然后根据心理声学模型对每个子带信号进行量化和编码,输出量化信息和经过编码的子带样本,最后通过“多路复用器(multiplexer)”把每个子带的编码输出按照传输或者存储格式的要求复合成数据位流。

解码过程与编码过程相反。

感知子带编码将在后面的第4小小节“子带编码”中做进一步介绍。

图9-17MPEGAudio压缩算法框图

DolbyAC-3是MPEG-2采纳的声音编码技术,为便于和感知子带编码作比较,也安排在这里进行简单的介绍。

DolbyAC-3是一种支持5.1声道环绕立体声的多通道(multichannel)音乐信号压缩技术,它可支持5个3Hz~20000Hz频率范围的全频通道和1个3Hz~120Hz的低频效果声道(LFE)。

AC-3压缩编码算法的简化框图如图9-18所示。

它的输入是未被压缩的PCM样本,而PCM样本的采样频率必须是32,44.1或者48kHz,样本精度可多到20位,输出位流的速率为32~640kbps。

图9-18DolbyAC-3压缩编码算法框图

图9-18中各部分的功能如下:

●分析滤波器组(analysisfilterbank):

它的功能是把用PCM时间样本表示的声音信号变换成用频率系数块(frequenciescoefficientsblock)表示的声音信号。

输入信号从时间域变换到频率域是用时间窗(timewindow)乘由512个时间样本组成的交叠块(overlappingblock)来实现的。

在频率域中用因子2对每个系数块进行抽取,因此每个系数块就包含256个频率系数。

单个频率系数用浮点二进制的指数(exponent)和尾数(mantissa)表示;

●频谱包络(spectralenvelopeencoding):

它的功能是对“分析滤波器组”输出的指数进行编码。

指数代表粗糙的信号频谱,因此称为(频)“谱包络编码”;

●位分配(bitallocation):

它的功能是使用“谱包络编码”输出的信息确定尾数编码所需要的位数;

●尾数量化(mantissaquantization):

它的功能是按照“位分配”输出的位分配信息对尾数进行量化;

●AC-3帧格式(AC-3frameformatting):

它的功能是把“尾数量化”输出的量化尾数和“谱包络编码”输出的频谱包络组成AC-3帧。

一帧由6个声音块(1356个声音样本)组成。

“AC-3帧格式”输出的是AC-3编码位流。

有关AC-3的进一步信息,可以参考ATSC的A/52B号标准文档,http:

//atsc.org/standards/a_52b.pdf。

2.声音编码

第3章所介绍的A-Law、ADPCM、LPC等话音编码方法,都属于音源特定编码法(sourcespecificmethods),它们的编码对象主要是针对人说话的话音。

当这些算法用来压缩宽带声音(如音乐)信号时,在相同压缩比的情况下,输出的声音质量比较低。

MPEG-1Audio的编码对象是20~20000Hz的宽带声音,因此它采用了感知子带编码,(简称为子带编码[sub-bandcoding,SBC])。

子带编码是一种功能很强而且很有效的声音数据编码方法。

与音源特定编码法不同,SBC的编码对象不局限于话音数据,也不局限于哪一种声源。

这种方法的具体思想是首先把时域中的声音数据变换到频域,对频域内的子带分量分别进行量化和编码,根据心理声学模型确定样本的精度,从而达到压缩数据量的目的。

MPEG声音数据压缩的基础是量化。

虽然量化会带来失真,但MPEG标准要求量化失真对于人耳来说是感觉不到的。

在MPEG标准的制定过程中,MPEG-Audio委员会作了大量的主观测试实验。

实验表明,采样频率为48kHz、样本精度为16位的立体声音数据压缩到256kb/s时,即在6:

1的压缩率下,即使是专业测试员也很难分辨出是原始声音还是编码压缩后的声音。

3.声音的性能

MPEG-1Audio(ISO/IEC11172-3)压缩算法是世界上第一个高保真声音数据压缩国际标准,并且得到了极其广泛的应用。

虽然MPEG声音标准是MPEG标准的一部分,但它也完全可以独立应用。

MPEG-1声音标准的主要性能如下:

1)MPEG编码器的输入信号为线性PCM信号,采样率为32,44.1或48kHz,输出码率为32kb/s~384kb/s,参见图9-19。

图9-19MPEG编码器的输入/输出

2)MPEG声音标准提供三个独立的压缩层次:

层1(LayerI,)、层2(LayerII)和层3(LayerIII),用户对层次的选择可在复杂性和声音质量之间进行权衡。

(1)层1的编码器最为简单,编码器的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1