MPEG编码方法

上传人:沈*** 文档编号:157031918 上传时间:2022-09-28 格式:DOC 页数:30 大小:564.50KB
收藏 版权申诉 举报 下载
MPEG编码方法_第1页
第1页 / 共30页
MPEG编码方法_第2页
第2页 / 共30页
MPEG编码方法_第3页
第3页 / 共30页
资源描述:

《MPEG编码方法》由会员分享,可在线阅读,更多相关《MPEG编码方法(30页珍藏版)》请在装配图网上搜索。

1、 29 第9章 MPEG编码方法第9章 MPEG编码方法在第6章中已经介绍了视频的数字化和MPEG与H系列的国际编码标准。本章将具体介绍MPEG-1/2和MPEG-4的视频压缩算法,以及它们的伴音编码方法。9.1 MPEG-1&2的视频压缩算法MPEG-1和MPEG-2采用的是相同的视频压缩方法,帧内采用的是JPEG静态图像编码,帧间则采用运动补偿算法。9.1.1 简介可以利用视频数据所存在的各种冗余,来对其进行压缩。视频本身在时间上和空间上都含有许多冗余信息,图像自身的构造也有冗余性。此外,利用人的视觉特性也可对图像进行压缩,这叫做视觉冗余。 参见表9-1。表9-1 视频压缩可利用的各种冗余

2、信息种类内容目前用的主要方法统计特性空间冗余像素间的相关性变换编码,预测编码时间冗余时间方向上的相关性帧间预测,移动补偿图像构造冗余图像本身的构造轮廓编码,区域分割知识冗余收发两端对事物的共有认识基于知识的编码视觉冗余人的视觉特性非线性量化,位分配其他不确定性因素MPEG-1/2的视频压缩所采用的技术有两种: 在空间上(帧内),图像数据压缩采用JPEG压缩算法来去掉冗余信息。 在时间方向上(帧间),视频数据压缩采用运动补偿(motion compensation)算法来去掉冗余信息。为了在保证图像质量基本不降低的同时,又能够获得高的压缩比,MPEG专家组为视频的帧系列定义了三种图像:帧内图像I

3、(Intra),预测图像P(Predicted)和双向插值图像B(Bidirectionally interpolated),它们典型的排列如图9-1所示。在MPEG-1/2的视频编码中,对这三种图像将分别采用了三种不同的算法来进行压缩。图9-1 MPEG定义的三种视频图像9.1.2 I帧压缩算法帧内图像I的解码,不需要参照任何过去的或后来的其他图像帧,其压缩编码采用类似JPEG压缩算法,它的框图如图9-2所示。如果视频是用RGB空间表示的,则首先要把它转换成YCrCb空间表示的图像。每个图像平面分成88的图块,对每个图块进行离散余弦变换DCT。DCT变换后经过量化的交流分量系数按照Z字形排序

4、,然后再使用无损压缩技术进行编码。DCT变换后经过量化的直流分量系数用差分脉冲编码DPCM,交流分量系数用行程长度编码RLE,然后再用霍夫曼或算术编码。 图9-2 帧内图像I的压缩编码算法框图9.1.3 P帧压缩算法MPEG视频编码,对P帧图像采用的是,以宏块为单位的前向预测压缩算法。1算法概述预测图像的编码是以图像宏块(macroblock)为基本编码单元,一个宏块定义为IJ像素的图像块,一般取为1616。预测图像P用两种类型的参数来表示:一种是当前要编码的图像宏块与参考图像的宏块之间的差值,另一种是宏块的移动矢量(motion vector运动向量)。移动矢量的概念可用图9-3表示。 图9

5、-3 移动矢量的概念假设编码图像宏块MPI是参考图像宏块MRJ的最佳匹配块,它们的差值就是这两个宏块中相应像素值之差。对所求得的差值进行彩色空间转换,并作4:1:1的子采样得到Y,Cr和Cb分量值,然后仿照JPEG压缩算法对差值进行编码(对计算出的移动矢量也要进行霍夫曼编码)。求解图像宏块差值的方法如图9-4所示。 图9-4 预测图像P的压缩编码算法框图求解移动矢量的方法见图9-5。在求两个宏块差值之前,需要找出编码图像中的预测图像编码宏块MPI相对于参考图像中的参考宏块MRJ所移动的距离和方向,这就是移动矢量。 图9-5 移动矢量的算法框图要使预测图像更精确,就要求找到与参考宏块MRJ最佳匹

6、配的预测图像编码宏块MPI。所谓最佳匹配是指这两个宏块之间的差值最小。通常以绝对值AE(absolute difference)最小作为匹配判据:有些学者提出了以均方误差MSE(mean-square error)最小作为匹配判据:也有些学者提出以平均绝对帧差MAD(mean of the absolute frame difference)最小作为匹配判据:其中,dx和dy分别是参考宏块MRJ的移动矢量d (dx, dy)在X和Y方向上的矢量。从以上分析可知,对预测图像的编码,实际上就是寻找最佳匹配图像宏块,找到最佳宏块之后就找到了(最佳)移动矢量d (dx, dy),从而可进一步计算出对应

7、图像宏块的差值参数。 2最佳宏块搜索法为减少寻找最佳匹配宏块的搜索次数,已经开发出了许多简化算法用来加快搜索过程。注意,编码时采用哪种具体的搜索方法,不会影响到解码过程,而只会影响编码时的速度和解码后的图像质量。下面介绍三种常用的最佳宏块搜索法。l 二维对数搜索法二维对数搜索法(2D-logarithmic search)采用的匹配判据是MSE为最小,它的搜索策略是沿着最小失真方向搜索。具体搜索方法如图9-6所示,图中的标有数字i的小方框表示第i步的搜索点、箭头表示搜索移动的方向和大小。图9-6 二维对数搜索法在搜索时,每移动一次就检查上下左右和中央这5个搜索点。如果最小失真在中央或在图像边界

8、,就减少搜索点之间的距离。在这个例子中,步骤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)。 l 三步搜索法三步搜索法(three-step search)与二维对数搜索法很接近。不过在开始搜索时,搜索点离(i,j)这个中心点有3个像素远,每一步测试周围的8个搜索点,然后减小搜索点的距离,三步完成,如图9-7所示。在这个例子中,点(i+3,j-3)作为第一个近似的移动矢量;第二步,搜索点在(i+3,j-3)附近,找到的点假定为(i+3,j-5);第三步给出了最后的移动矢量为d(

9、i+2,j-6)。本例采用MAD作为匹配判据。 图9-7 三步搜索法l 对偶搜索法对偶搜索法(conjugate search)是一个很有效的搜索方法,采用先横向后纵向的单步搜索,该法使用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方

10、向上找到的点为(i+2,j)。在i方向上找到最小MAD值对应的点之后,就沿j方向去找最小MAD值对应的点,方法与i方向的搜索方法相同。最后得到的移动矢量为d(i+2,j-6)。 在整个MPEG图像压缩过程中,寻找最佳匹配宏块要占据相当多的计算时间,匹配得越好,重构的图像质量越高。 9.1.4 B帧压缩算法双向插值图像B的压缩编码框图如图9-7所示。具体计算方法与预测图像P的算法类似,这里不再重复。 图9-9 双向预测图像B的压缩编码算法框图9.1.5 视频帧结构I帧可以用于视频的随机定位和快进快退,但是占用的存储空间较多。MPEG编码器算法允许选择I图像出现的频率和位置。I图像的频率是指每秒钟

11、出现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-10 MPEG电视帧编排I、P和B图像压缩后的大小如表9-2所示,单位为比

12、特。从表中可以看到,I帧图像的数据量最大,而B帧图像的数据量最小。 表9-2 三种图像的压缩后的典型值(KB)图像类型IPB平均数据/帧MPEG-1 CIF 格式(1.15 Mb/s)150502038MPEG-2 601 格式(4.00 Mb/s)400200801309.2 MPEG-4视频编码MPEG-4视频编码算法支持由MPEG-1和MPEG-2提供的所有功能,包括对各种输入格式下的标准矩形图像、帧速率、位速率和隔行扫描图像源的支持。MPEG-4视频算法的核心是支持基于内容(content-based)的编码和解码功能,也就是对场景中使用分割算法抽取的单独的视听对象进行编码和解码。MP

13、EG-4视频还提供管理这些视频内容的最基本方法。MPEG视频专家组建立了一个用来开发图像和视频编码技术的模型,叫做“试验模型(Test Model)”或“验证模型(VM = Verification Model)”。这个模型描述了一个核心的编码算法平台,包括编码器、解码器以及位流(bitstream)的语法和语义。本节就MPEG-4视频的编码和解码的基本方法作一个简单介绍,其他内容请看有关的参考文献和站点。9.2.1 视频对象平面的概念为了实现预想的基于内容交互等功能,MPEG-4 视频验证模型引进了一个叫做“视频对象平面(Video Object Plane,VOP)”的概念。如图9-11所

14、示,图中的上图表示支持MPEG-1和MPEG-2的普通(generic)MPEG-4编码器,图中的下图表示MPEG-4的甚低速率视频(Very Low Bitrate Video,VLBV)的核心编码器(core coder)。MPEG-4视频验证模型,不像MPEG-1/2视频那样,把视频都认为是一个矩形区,而是假设每帧图像被分割成许多任意形状的图像区,每个图像区都有可能覆盖描述场景中感兴趣的物理对象或者内容,这种区被定义为视频对象平面(VOP)。 编码器输入的是任意形状的图像区,图像区的形状和位置也可随帧的变化而改变。属于相同物理对象的连续的VOP组成视频对象(Video Objects,V

15、O)。例如,一个没有背景图像的正在演讲的人,如图9-11中的下图所示。图9-11 MPEG-4的两种编码器MPEG-4可单独对属于相同视频对象(VO)的VOP的形状(shape)、移动(motion运动)和纹理(texture)信息进行编码和传送,或者把它们编码成一个单独的视频对象层(Video Object Layer,VOL)。VOP、VO和VOL的关系如图9-12所示。图9-12 VOP、VO和VOL的关系图视频对象平面VOP:视频帧场景中人们感兴趣的物理对象或内容之图像区视频对象VO:在视频帧序列中属于相同物理对象的VOP序列视频对象层VOL:属于同一VO的诸VOP的形状、移动和纹理等

16、信息的编码此外,需要标识每个视频对象层(VOL)的信息也包含在编码后的位流(bitstream)中,这些信息包括各种VOL的视频在接收端应该如何进行组合,以便重构完整的原始图像序列。这样就可以对每个VOP进行单独解码,提供了管理视频序列的灵活性。 9.2.2 视频编码方案MPEG-4视频验证模型对每个视频对象(VO)的形状、移动和纹理信息进行编码形成单独的VOL层,以便能够单独对视频对象(VO)进行解码。如果输入图像序列只包含标准的矩形图像,就不需要形状编码,在这种情况下,MPEG-4视频所使用的编码算法结构也就与MPEG-1和MPEG-2使用的算法结构相同。MPEG-4视频验证模型对每个视频

17、对象平面(VOP)进行编码使用的压缩算法是在MPEG-1和MPEG-2视频标准的基础上开发的,它也是以图像块为基础的混合DPCM和变换编码技术。MPEG-4编码算法也定义了帧内视频对象平面(Intra-Frame VOP,I-VOP)编码方式和帧间视频对象平面预测(Inter-frame VOP prediction,简写为P-VOP)编码方式,它也支持双向预测视频对象平面(B-directionally predicted VOP,B-VOP)方式。在对视频对象平面(VOP)的形状编码之后,颜色图像序列分割成宏块进行编码,如图9-13所示。图中的Y1、Y2、Y3和Y4表示亮度宏块,U、V分别

18、表示红色差和蓝色差宏块。 图9-13 视频序列中的I-VOP和P-VOP编码方式和宏块结构图9-14描绘了MPEG-4视频的编码算法,用来对矩形和任意形状的输入图像序列进行编码。这个基本编码算法结构图包含了移动矢量(motion vector, MV)的编码,以及以离散余弦变换(DCT)为基础的纹理编码。 图9-14 MPEG-4视频编码器的算法方框图MPEG-4采用基于内容编码方法的一个重要优点是,使用合适的和专门的基于对象的移动预测工具,可以明显提高场景中某些视频对象的压缩效率。图9-15表示MPEG-4对视频序列进行编码的一个实际例子。左上角的图是背景全景图。右上角的图是一个没有背景的子

19、图像全景图,可以把网球运动员当作是一个视频对象(VO),经常把这种可以独立移动的小图像称为子图像(sprite子画面)。下面的图是接收端合成的全景图。在编码之前这个子图像全景图从背景全背景图序列中抽出来,然后分别对它们进行编码、传送和解码,最后再合成。 图9-15 MPEG-4电视序列编码举例9.2.3 视频分辨率可变编码“视频分辨率”是指视频空间分辨率(spatial resolution)和时间分辨率(temporal resolution)。空间分辨率是指一帧图像包含的行数与每行显示的像素数之乘积,而时间分辨率是指每秒种显示或者传输的图像帧数。设置视频分辨率可变编码功能的一个重要目的是为

20、了能够灵活支持性能不同(例如不同传输带宽)的各种视频接收或显示设备,或者支持浏览视频数据库等网络方面的应用。另一个目的是提供分层次的视频数据位流,这样可按应用所要求的先后次序进行传输。MPEG-2也有视频分辨率可变编码功能,但它是以图像的帧为基础进行编码。而MPEG-4视频分辨率可变编码是以任意形状的视频对象平面(VOP)为基础进行编码。对那些没有能力或者不愿意接收高分辨率图像的接收器,它可以接收分辨率比较低的视频,降低空间分辨率或者时间分辨率意味降低图像的质量。空间分辨率可变性(spatial scalability)和时间分辨率可变性(temporal scalability)的实现方法类

21、似。9-16图描述了多分辨视频编码(multiscale video coding)方案。该方案提供三个层次的编码/解码,每一层都支持在不同空间分辨率下进行编码/解码。从图中可以看到,多种空间分辨率的实现是通过降低输入电视信号的采样率来获得的。 图9-16 VOP空间分辨率可变编码方法MPEG-4/AVC(H.264) 标准压缩系统由视频编码层(Video Coding Layer,VCL)和网络提取层(Network Abstraction Layer,NAL)两部分组成。VCL中包括VCL 编码器与VCL 解码器,主要功能是视频数据压缩编码和解码,它包括运动补偿、变换编码、熵编码等压缩单元

22、。NAL 则用于为VCL 提供一个与网络无关的统一接口,它负责对视频数据进行封装打包后使其在网络中传送,它采用统一的数据格式,包括单个字节的包头信息、多个字节的视频数据与组帧、逻辑信道信令、定时信息、序列结束信号等。通过NAL 单元,H.264可以支持大部分基于包的网络。有关MPEG-4的基于IP网络的DMIF(Delivery Multimedia Integration Framework传输多媒体集成框架),将在本书的第19章中再作介绍。9.3 MPEG音频编码近些年来,人类在利用自身的听觉系统特性来压缩声音数据方面取得了很大的进展,先后制定了采用音感编码的MPEG-1 Audio, M

23、PEG-2 Audio和MPEG-2 AAC等标准。而MPEG-4则采用了基于音频对象的编码方法,包括自然声音的编码和音乐与语音的合成。现在十分流行的MP3采用的就是MPEG-1 Audio Layer 编码,而MP4采用的则是MPEG-2 AAC的音频编码(MP4的另一个含义是MPEG-4视频编码)。本节先较为详细地讨论MPEG-1和MPEG-2的音频编码方法,然后再简单介绍MPEG-4的音频编码。9.3.1 MPEG-1 Audio在第3章中,已经介绍了人的各种听觉特性,MPEG的音频编码正是利用人类的这些听觉系统的特性来达到压缩声音数据的目的。称这种压缩编码为感知声音编码(percept

24、ual audio coding),简称为音感编码(musicality coding)。1MPEG Audio与感知特性MPEG Audio标准在这里是指MPEG-1/2的音频编码,包括MPEG-1 Audio、MPEG-2 Audio、MPEG-2 AAC和MPEG-2中使用的Dolby AC-3,它们处理10 Hz20000 Hz范围里的声音数据,数据压缩的主要依据是人耳朵的听觉特性,使用“心理声学模型(psychoacoustic model)”来达到压缩声音数据的目的。心理声学模型中一个基本的概念就是听觉系统中存在一个听觉阈值电平,低于这个电平的声音信号就听不到,因此就可以把这部分信

25、号去掉。听觉阈值的大小随声音频率的改变而改变,各个人的听觉阈值也不同。大多数人的听觉系统对2 kHz5 kHz之间的声音最敏感。一个人是否能听到声音取决于声音的频率,以及声音的幅度是否高于这种频率下的听觉阈值。心理声学模型中的另一个概念是听觉掩饰特性,意思是听觉阈值电平是自适应的,即听觉阈值电平会随听到的不同频率的声音而发生变化。声音压缩算法可以确立这种特性的模型来取消更多的冗余数据。 MPEG Audio采纳两种感知编码,一种叫做感知子带编码(perceptual subband coding ),另一种(用于MPEG-2)是由杜比实验室(Dolby Laboratories)开发的Dolb

26、y AC-3 (Audio Code number 3)编码,简称AC-3。它们都利用人的听觉系统的特性来压缩数据,只是压缩数据的算法有所不同。 感知子带编码的简化算法框图如图9-17所示。输入信号通过“滤波器组(filter bank)”进行滤波之后被分割成许多子带,每个子带信号对应一个“编码器(coder)”,然后根据心理声学模型对每个子带信号进行量化和编码,输出量化信息和经过编码的子带样本,最后通过“多路复用器(multiplexer)”把每个子带的编码输出按照传输或者存储格式的要求复合成数据位流。解码过程与编码过程相反。感知子带编码将在后面的第4小小节“子带编码”中做进一步介绍。图9-

27、17 MPEG Audio压缩算法框图Dolby AC-3是MPEG-2采纳的声音编码技术,为便于和感知子带编码作比较,也安排在这里进行简单的介绍。Dolby AC-3是一种支持5.1声道环绕立体声的多通道(multichannel)音乐信号压缩技术,它可支持5个3 Hz20 000 Hz频率范围的全频通道和1个3Hz120Hz的低频效果声道(LFE)。AC-3压缩编码算法的简化框图如图9-18所示。它的输入是未被压缩的PCM样本,而PCM样本的采样频率必须是32, 44.1或者48 kHz,样本精度可多到20位,输出位流的速率为32 640 kbps。图9-18 Dolby AC-3压缩编码

28、算法框图图9-18中各部分的功能如下:l 分析滤波器组(analysis filter bank):它的功能是把用PCM时间样本表示的声音信号变换成用频率系数块(frequencies coefficients block)表示的声音信号。输入信号从时间域变换到频率域是用时间窗(time window)乘由512个时间样本组成的交叠块(overlapping block)来实现的。在频率域中用因子2对每个系数块进行抽取,因此每个系数块就包含256个频率系数。单个频率系数用浮点二进制的指数(exponent)和尾数(mantissa)表示;l 频谱包络(spectral envelope enc

29、oding):它的功能是对“分析滤波器组”输出的指数进行编码。指数代表粗糙的信号频谱,因此称为(频)“谱包络编码”;l 位分配(bit allocation):它的功能是使用“谱包络编码”输出的信息确定尾数编码所需要的位数;l 尾数量化(mantissa quantization):它的功能是按照“位分配”输出的位分配信息对尾数进行量化;l AC-3帧格式(AC-3 frame formatting):它的功能是把“尾数量化”输出的量化尾数和“谱包络编码”输出的频谱包络组成AC-3帧。一帧由6个声音块(1356个声音样本)组成。“AC-3帧格式”输出的是AC-3编码位流。有关AC-3的进一步信

30、息,可以参考ATSC的A/52B号标准文档,http:/atsc.org/standards/a_52b.pdf。2声音编码第3章所介绍的A-Law、ADPCM、LPC等话音编码方法,都属于音源特定编码法(source specific methods),它们的编码对象主要是针对人说话的话音。当这些算法用来压缩宽带声音(如音乐)信号时,在相同压缩比的情况下,输出的声音质量比较低。MPEG-1 Audio的编码对象是2020000Hz的宽带声音,因此它采用了感知子带编码,(简称为子带编码sub-band coding,SBC)。子带编码是一种功能很强而且很有效的声音数据编码方法。与音源特定编码法

31、不同,SBC的编码对象不局限于话音数据,也不局限于哪一种声源。这种方法的具体思想是首先把时域中的声音数据变换到频域,对频域内的子带分量分别进行量化和编码,根据心理声学模型确定样本的精度,从而达到压缩数据量的目的。MPEG声音数据压缩的基础是量化。虽然量化会带来失真,但MPEG标准要求量化失真对于人耳来说是感觉不到的。在MPEG标准的制定过程中,MPEG-Audio委员会作了大量的主观测试实验。实验表明,采样频率为48 kHz、样本精度为16位的立体声音数据压缩到256 kb/s时,即在6:1的压缩率下,即使是专业测试员也很难分辨出是原始声音还是编码压缩后的声音。3声音的性能MPEG-1 Aud

32、io(ISO/IEC 11172-3)压缩算法是世界上第一个高保真声音数据压缩国际标准,并且得到了极其广泛的应用。虽然MPEG声音标准是MPEG标准的一部分,但它也完全可以独立应用。MPEG-1声音标准的主要性能如下:1) MPEG编码器的输入信号为线性PCM信号,采样率为32, 44.1或48 kHz,输出码率为32 kb/s384 kb/s,参见图9-19。图9-19 MPEG编码器的输入/输出2) MPEG声音标准提供三个独立的压缩层次:层1 (Layer I,)、层2 (Layer II)和层3 (Layer III),用户对层次的选择可在复杂性和声音质量之间进行权衡。(1) 层1的编

33、码器最为简单,编码器的输出数据率为384 kb/s,主要用于小型数字盒式磁带(digital compact cassette,DCC)。(2) 层2的编码器的复杂程度属中等,编码器的输出数据率为256 kb/s192 kb/s,其应用包括数字广播声音(digital broadcast audio,DBA)、数字音乐、CD-I(compact disc-interactive)和VCD(video compact disc)等。(3) 层3的编码器最为复杂,编码器的输出数据率为64 kb/s,主要应用于ISDN上的声音传输和MP3编码。3) 可预先定义压缩后的数据率,如表9-5所示。另外,M

34、PEG声音标准也支持用户预定义的数据率。表9-5 MPEG层3在各种数据率下的性能音质要求声音带宽(kHz)方式数据率( kb/s)压缩比电话2.5单声道896 :1优于短波5.5单声道1648 :1优于调幅广播7.5单声道3224 :1类似于调频广播11立体声56 6426 24 :1接近CD15立体声9616 :1CD 15立体声112 12812 10 :14) 编码后的数据流支持循环冗余校验CRC(cyclic redundancy check)。5) MPEG声音标准还支持在数据流中添加附加信息。在尽可能保持CD音质为前提的条件下,MPEG声音标准一般所能达到的压缩率如表9-3所示,

35、从编码器的输入到输出的延迟时间如表9-4所示。 表9-3 MPEG声音的压缩率层次算法压缩率立体声信号所对应的位率( kb/s)1MUSICAM4 : 138426 : 1 8 : 1256 1923ASPEC10 : 1 12 : 1128 112其中:l MUSICAM = Masking pattern adapted Universal Subband Integrated Coding And Multiplexing 自适应声音掩蔽特性的通用子带综合编码和复合技术l ASPEC = Adaptive Spectral Perceptual Entropy Coding of hig

36、h quality musical signal高质量音乐信号自适应谱感知熵编码(技术)表9-4 MPEG编码解码器的延迟时间延迟时间理论最小值( ms)实际实现中的一般值( ms)层1(Layer 1)19 50层2(Layer 2)35100层3(Layer 3)591504子带编码 MPEG-1使用子带编码来达到既压缩声音数据又尽可能保留声音原有质量的目的。听觉系统有许多特性,子带编码的理论根据是听觉系统的掩蔽特性,并且主要是利用频域掩蔽特性。SBC的基本想法就是在编码过程中保留信号的带宽而扔掉被掩蔽的信号,其结果是编码之后还原的声音,也就是解码或者叫做重构的声音信号与编码之前的声音信号

37、不相同,但人的听觉系统很难感觉到它们之间的差别。这也就是说,对听觉系统来说这种压缩是“无损压缩”。MPEG-1声音编码器的结构如图9-20所示。输入声音信号经过一个“时间-频率多相滤波器组”变换到频域里的多个子带中。输入声音信号同时经过“心理声学模型(计算掩蔽特性)”,该模型计算以频率为自变量的噪声掩蔽阈值(masking threshold),查看输入信号和子带中的信号以确定每个子带里的信号能量与掩蔽阈值的比率。“量化和编码”部分用信掩比(SMR = Signal-to-Mask Ratio)来决定分配给子带信号的量化位数,使量化噪声低于掩蔽阈值。最后通过“数据流帧包装”将量化的子带样本和其

38、他数据按照规定的称为“帧(frame)”的格式组装成位数据流。图9-20 MPEG声音编码器结构图信掩比(SMR)是指最大的信号功率与全局掩蔽阈值之比。图9-21表示某个临界频带中的掩蔽阈值和信掩比,人们把“掩蔽音”电平和“掩蔽阈值”之间的距离叫做信掩比。在图中所示的临界频带中,“掩蔽阈值”曲线之下的声音可被“掩蔽音”掩蔽掉。此外,在图中还表示了信噪比(SNR = Signal Noise Ratio,)和噪掩比(NMR = Noise-to-Mask Ratio)。图9-21 掩蔽阈值和SMR图9-22是MPEG-1声音解码器的结构图。解码器对位数据流进行解码,恢复被量化的子带样本值以重建声

39、音信号。由于解码器无需心理声学模型,只需拆包、重构子带样本和把它们变换回声音信号,因此解码器就比编码器简单得多。 图9-22 MPEG声音解码器结构图5多相滤波器组在“MPEG声音编码器结构图”(图9-20)中,用来分割子带也就是时间-频率变换部件是一个多相滤波器组。在MPEG-1中,多相滤波器组是MPEG声音压缩的关键部件之一,它把输入信号变换到32个频域子带中去。子带的划分方法有两种,一种是线性划分,另一种是非线性划分。如果把声音频带划分成带宽相等的子带,这种划分就不能精确地反映人耳的听觉特性,因为人耳的听觉特性是以“临界频带”来划分的,在一个临界频带之内,很多心理声学特性都是一样的。图9

40、-23对多相滤波器组的带宽和临界频带的带宽作了比较。从图中可以看到,在低频区域,一个子带覆盖好几个临界频带。在这种情况下,某个子带中量化器的位分配就不能根据每个临界频带的掩蔽阈值进行分配,而要以其中最低的掩蔽阈值为准。图9-23 滤波器组的带宽与临界频带带宽的比较6编码层MPEG声音压缩定义了3个层次,它们的基本模型是相同的。层1是最基础的,层2和层3都在层1的基础上有所提高。每个后继的层次都有更高的压缩比,但需要更复杂的编码解码器。MPEG声音的每一个层都自含SBC编码器,其中包含如图9-20所示的“时间-频率多相滤波器组”、“心理声学模型(计算掩蔽特性)”、“量化和编码”和“数据流帧包装”

41、,而高层SBC可使用低层SBC编码的声音数据。MPEG的声音数据分成帧(frame),层1每帧包含384个样本的数据,每帧由32个子带分别输出的12个样本组成。层2和层3每帧为1152个样本,如图9-24所示。 图9-24 层1、2和层3的子带样本MPEG编码器的输入以12个样本为一组,每组样本经过时间-频率变换之后进行一次位分配并记录一个比例因子(scale factor)。位分配信息告诉解码器每个样本由几位表示,比例因子用6位表示,解码器使用这个6位的比例因子乘逆量化器的每个输出样本值,以恢复被量化的子带值。比例因子的作用是充分利用量化器的量化范围,通过位分配和比例因子相配合,可以表示动态

42、范围超过120 dB的样本。 l 层1层1的子带是频带相等的子带,它的心理声学模型仅使用频域掩蔽特性。层1和层2的比较详细的框图如图9-25所示。在图中,“分析滤波器组”相当于第四小节的“MPEG声音编码器结构图”中的“时间-频率多相滤波器组”,它使用与离散余弦变换(discrete cosine transform,DCT)类似的算法对输入信号进行变换。与此同时,使用与“分析滤波器组”并行的快速傅立叶变换(fast Fourier transform,FFT)对输入信号进行频谱分析,并根据信号的频率、强度和音调,计算出掩蔽阈值,然后组合每个子带的单个掩蔽阈值以形成全局的掩蔽阈值。使用这个阈值

43、与子带中的最大信号进行比较,产生信掩比(SMR)。在图9-25中,“比例和量化器”和“动态比特和比例因子分配器和编码器”合在一起相当于第四小节的“MPEG声音编码器结构图”中的“量化和编码器”。“比例和量化器”首先检查每个子带的样本,找出这些样本中的最大的绝对值,然后量化成6位,这个位数称为比例因子(scale factor)。“动态比特和比例因子分配器和编码器”根据SMR确定每个子带的位分配(bit allocation),子带样本按照位分配进行量化和编码。对被高度掩蔽的子带自然就不需要对它进行编码。图9-25 MPEG audio层1和层2编码器和解码器的结构在图9-25中,MUX(MUl

44、tipleXer, 多路转换复用器)相当于3.7.3的第3小小节的“MPEG声音编码器结构图”中的“数据流帧包装”,它按规定的帧格式对声音样本和编码信息(包括比特分配合比例因子等)进行包装。层1的帧结构如图9-26所示。每帧都包含:用于同步和记录该帧信息的同步头,长度为32位,它的结构如图9-27所示,用于检查是否有错误的循环冗余码(cyclic redundancy code,CRC),长度为16位,用于描述位分配的位分配域,长度为4位,比例因子域,长度为6位,子带样本域,有可能添加的附加数据域,长度未规定。图9-26 层1的帧结构图9-27 MPEG声音位流同步头的格式l 层2层2对层1作

45、了一些直观的改进,相当于3个层1的帧,每帧有1152个样本。它使用的心理声学模型除了使用频域掩蔽特性之外还利用了时间掩蔽特性,并且在低、中和高频段对位分配作了一些限制,对位分配、比例因子和量化样本值的编码也更紧凑。由于层2采用了上述措施,因此所需的位数减少了,这样就可以有更多的位用来表示声音数据,音质也比层1更高。层1是对一个子带中的一个样本组(由12个样本组成)进行编码,而层2和层3是对一个子带中的三个样本组进行编码。本小节开始处的“层1、2和层3的子带样本”图也表示了层2和层3的分组方法。如图9-28所示,层2使用与层1相同的同步头和CRC结构,但描述位分配的位数随子带不同而变化:低频段的

46、子带用4位,中频段的子带用3位,高频段的子带用2位。层2位流中有一个比例因子选择信息(scale factor selection information,SCFSI)域,解码器根据这个域的信息可知道是否需要以及如何共享比例因子。 图9-28 层2位流数据格式l 层3 层3使用比较好的临界频带滤波器,把声音频带分成非等带宽的子带,心理声学模型除了使用频域掩蔽特性和时间掩蔽特性之外,还考虑了立体声数据的冗余,并且使用了霍夫曼(Huffman)编码器。层3编码器的详细框图如图9-29所示。 图9-29 MPEG audio层3编码器和解码器的结构层3使用了从ASPEC(Audio Spectral

47、 Perceptual Entropy Encoding)和OCF(optimal coding in the frequency domain)导出的算法,比层1和层2都要复杂。虽然层3所用的滤波器组与层1和层2所用的滤波器组的结构相同,但是层3还使用了改进离散余弦变换(modified discrete cosine transform,MDCT),对层1和层2的滤波器组的不足作了一些补偿。MDCT把子带的输出在频域里进一步细分以达到更高的频域分辨率。而且通过对子带的进一步细分,层3编码器已经部分消除了多相滤波器组引入的混迭效应。层3指定了两种MDCT的块长:长块的块长为18个样本,短块的

48、块长为6个样本,相邻变换窗口之间有50%的重叠。长块对于平稳的声音信号可以得到更高的频域分辨率,而短块对跳变的声音信号可以得到更高的时域分辨率。在短块模式下,3个短块代替1个长块,而短块的大小恰好是一个长块的1/3,所以MDCT的样本数不受块长的影响。对于给定的一帧声音信号,MDCT可以全部使用长块或全部使用短块,也可以长短块混合使用。因为低频区的频域分辨率对音质有重大影响,所以在混合块长模式下,MDCT对最低频的2个子带使用长块,而对其余的30个子带使用短块。这样,既能保证低频区的频域分辨率,又不会牺牲高频区的时域分辨率。长块和短块之间的切换有一个过程,一般用一个带特殊长转短或短转长数据窗口

49、的长块来完成这个长短块之间的切换。除了使用MDCT外,层3还采用了其他许多改进措施来提高压缩比而不降低音质。虽然层3引入了许多复杂的概念,但是它的计算量并没有比层2增加很多。增加的主要是编码器的复杂度和解码器所需要的存储容量。9.3.2 MPEG-2 Audio MPEG-2标准委员会定义了两种声音数据压缩格式,一种称为MPEG-2 Audio,或者称为MPEG-2多通道(Multichannel)声音,因为它与MPEG-1 Audio是兼容的,所以又称为MPEG-2 BC (Backward Compatible)。另一种称为MPEG-2 AAC (Advanced Audio Coding

50、),因为它与MPEG-1声音格式不兼容,因此通常称为非后向兼容MPEG-2 NBC(Non-Backward-Compatible)标准。这节先介绍MPEG-2 Audio。MPEG-2 Audio(ISO/IEC 13818-3)和MPEG-1 Audio(ISO/IEC 1117-3)标准都使用相同种类的编译码器,层-1, -2和-3的结构也相同。MPEG-2声音标准与MPEG-1标准相比,MPEG-2做了如下扩充:增加了16 kHz, 22.05 kHz和24 kHz采样频率,扩展了编码器的输出速率范围,由32384 kb/s扩展到8640 kb/s,增加了声道数,支持5.1声道和7.1

51、声道的环绕声。此外MPEG-2还支持Linear PCM(线性PCM)和Dolby AC-3(Audio Code Number 3)编码。它们的差别如下表所示。 表9-6 MPEG-1和-2的声音数据规格参数名称Linear PCMDolby AC-3MPEG-2 AudioMPEG-1 Audio采用频率48/96 kHz32/44.1/48 kHz16/22.05/24/32/ 44.1/48 kHz32/44.1/48 kHz样本精度(位数)16/20/24压缩(16 bits)压缩(16 bits)16最大数据传输率 6.144 Mb/s448 kb/s8640 kb/s32448

52、kb/s最大声道数85.15.1/7.12MPEG-2 Audio的“5.1环绕声”也称为“3/2-立体声加LFE”,其中的“.1”就是指LFE(low frequency effects/enhancement低频音效/增强)声道。5.1的含义是播音现场的前面可有3个喇叭声道(左、中、右),后面可有2个环绕声喇叭声道,及一个超低音LFE加强声道(120Hz)。7.1声道环绕立体声与5.1类似,只是在前声场中增加了中左和中右两个声道。参见图3-19。 Dolby AC-3支持5个声道(左、中、右、左环绕、右环绕和0.1 kHz以下的低音音效声道),声音样本的精度为20位,每个声道的采样率可以是

53、32 kHz, 44.1 kHz或者48 kHz。MPEG-2声音标准的第3部分(Part 3)是MPEG-1声音标准的扩展,扩展部分就是多声道扩展(multichannel extension),如图30所示。这个标准称为MPEG-2后向兼容多声道声音编码(MPEG-2 backwards compatible multichannel audio coding)标准,简称为MPEG-2 BC。 图9-30 MPEG-2 Audio的数据块CRC:Cyclic Redundancy Check循环冗余校验SCFSI:SCale Factor Selection Information比例因子

54、选择信息MC:MultiChannel多通道9.3.3 MPEG-2 AAC1MPEG-2 AAC是什么MPEG-2 AAC是MPEG-2标准中的一种非常灵活的声音感知编码标准。就像所有感知编码一样,MPEG-2 AAC主要使用听觉系统的掩蔽特性来减少声音的数据量,并且通过把量化噪声分散到各个子带中,用全局信号把噪声掩蔽掉。AAC支持的采用频率可从8 kHz到96 kHz,AAC编码器的音源可以是单声道的、立体声的和多声道的声音。AAC标准可支持48个主声道、16个低频音效加强通道LFE (low frequency effects)、16个配音声道(overdub channel)或者叫做多

55、语言声道(multilingual channel)和16个数据流。MPEG-2 AAC在压缩比为11:1,即每个声道的数据率为(44.116 )/11=64 kb/s,而5个声道的总数据率为320 kb/s的情况下,很难区分还原后的声音与原始声音之间的差别。与MPEG的层2相比,MPEG-2 AAC的压缩率可提高1倍,而且质量更高,与MPEG的层3相比,在质量相同的条件下数据率是它的70%。2MPEG-2 AAC的档次 开发MPEG-2 AAC标准采用的方法与开发MPEG Audio标准采用的方法不同。后者采用的方法是对整个系统进行标准化,而前者采用的方法是模块化的方法,把整个AAC系统分解

56、成一系列模块,用标准化的AAC工具(advanced audio coding tools)对模块进行定义,因此在文献中往往把“模块(modular)”与“工具(tool)”等同对待。AAC定义的编码和解码的基本结构如下两图所示。AAC标准定义了三种档次(profile):主要档次、低复杂性档次和可变采样率档次。1)主要档次在这种档次中,除了“增益控制(Gain Control)”模块之外,AAC系统使用了图中所示的所有模块,在三种档次中提供最好的声音质量,而且AAC的解码器可以对低复杂性档次编码的声音数据进行解码,但对计算机的存储器和处理能力的要求方面,基本档次比低复杂性档次的要求高。2)低

57、复杂性档次在低复杂性档次(Low Complexity Profile)中,不使用预测模块和预处理模块,瞬时噪声定形(temporal noise shaping,TNS)滤波器的级数也有限,这就使声音质量比基本档次的声音质量低,但对计算机的存储器和处理能力的要求可明显减少。3)可变采样率档次在可变采样率档次(Scalable Sampling Rate Profile)中,使用增益控制对信号作预处理,不使用预测模块,TNS滤波器的级数和带宽也都有限制,因此它比基本档次和低复杂性档次更简单,可用来提供可变采样频率信号。 3MPEG-2 AAC的基本模块 MPEG-2 AAC编码器的流程见图9-

58、31,解码是对应于编码的逆过程。下面对其中的几个模块作一些说明。图9-31 MPEG-2 AAC编码器流程图其中:TNS = Temporal Noise Shaping瞬时噪声定型1)增益控制增益控制(Gain control)模块用在可变采样率档次中,它由多相正交滤波器PQF(polyphase quadrature filter)、增益检测器(gain detector)和增益修正器(gain modifier)组成。这个模块把输入信号分离到4个相等带宽的频带中。在解码器中也有增益控制模块,通过忽略PQF的高子带信号获得低采样率输出信号。2)滤波器组滤波器组(Filter Bank)是把

59、输入信号从时域变换到频域的转换模块,它是MPEG-2 AAC系统的基本模块。这个模块采用了改进离散余弦变换MDCT,它是一种线性正交交迭变换,使用了一种称为时域混迭取消TDAC(time domain aliasing cancellation)技术。MDCT使用KBD(Kaiser-Bessel derived)窗口或者使用正弦(sine)窗口,正向MDCT变换可使用下式表示:逆向MDCT变换可使用下式表示: 其中,n 样本号,N 变换块长度,i = 块号,。3)瞬时噪声定形TNS在感知声音编码中,TNS模块是用来控制量化噪声的瞬时形状的一种方法,解决掩蔽阈值和量化噪声的错误匹配问题。这种技

60、术的基本想法是,在时域中的音调声信号在频域中有一个瞬时尖峰,TNS使用这种双重性来扩展已知的预测编码技术,把量化噪声置于实际的信号之下以避免错误匹配。4)联合立体声编码联合立体声编码(joint stereo coding)是一种空间编码技术,其目的是为了去掉空间的冗余信息。MPEG-2 AAC系统包含两种空间编码技术:M/S立体声编码(Mid/Side encoding)和声强/耦合(Intensity /Coupling)。M/S编码使用矩阵运算,因此把M/S编码称为矩阵立体声编码(matrixed stereo coding)。M/S编码不传送左右声道信号,而是使用标称化的“和”信号与“

61、差”信号,前者用于中央M(middle)声道,后者用于边S(side)声道,因此M/S编码也叫做“和-差编码(sum-difference coding)”。声强/耦合编码的名称也很多,有的叫做声强立体声编码(intensity stereo coding),或者叫做声道耦合编码(channel coupling coding),它们探索的基本问题是声道间的不相关性(irrelevance)。5)预测预测(Prediction)是在话音编码系统中普遍使用的一种技术,它主要用来减少平稳(stationary)信号的冗余度。6)量化器使用了非均匀量化器(Quantizer)。7)无噪声编码无噪声编

62、码(Noiseless coding)实际上就是霍夫曼编码,它对被量化的谱系数、比例因子和方向信息进行编码。9.3.4 MPEG-4 AudioMPEG-4 Audio标准可集成从话音到高质量的多通道声音,从自然声音到合成声音,编码方法还包括参数编码(parametric coding),码激励线性预测(code excited linear predictive,CELP)编码,时间/频率T/F(time/frequency)编码,结构化声音SA(structured audio)编码和文本-语音TTS(text-to-speech)系统的合成声音等。1自然声音 MPEG-4声音编码器支持数

63、据率介于2 kb/s和64 kb/s之间的自然声音(natural audio)。为了获得高质量的声音,MPEG-4定义了三种类型的声音编码器分别用于不同类型的声音,它的一般编码方案如下图所示。* UMTS (universal mobile telecommunication system) 通用移动远程通信系统图9-32 MPEG-4 Audio编码方框图1)参数编码器使用声音参数编码技术。对于采样率为8 kHz的话音(speech),编码器的输出数据率为24 kb/s;对于采样频率为8 kHz或者16 kHz的声音(audio),编码器的输出数据率为416 kb/s。2)CELP编码器使用CELP(code excited linear predictive)技术。编码器的输出数据率在624 kb/s之间,它用于采样频率为8 kHz的窄带话音或者采样频率为16 kHz的宽带话音。3)T/F编码器使用时间-频率(time-to-frequency,T/F)技术。这是一种使用矢量量化(vec

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!