.........

您现在的位置: 中国乐手网 >> 专题 >> 电脑音乐 >> 综合知识 >> 专题正文
...

您想找的专题是:

...

MPEG-1 Audio

作者:未知    专题来源:网络    点击数:518    更新时间:2006-8-25
   
声音编码

声音的数据量由两方面决定:采样频率和样本精度。对单声道信号而言,每秒钟的数据量(位数)=采样频率 ´ 样本精度。要减小数据量,就需要降低采样频率或者降低样本精度。但是人耳可听到的频率范围大约是20 Hz~20 kHz。根据奈奎斯特理论,要想不失真地重构信号,采样频率不能低于40 kHz。再考虑到实际中使用的滤波器都不可能是理想滤波器,以及考虑各国所用的交流电源的频率,为保证声音频带的宽度,所以采样频率一般不能低于44.1 kHz。这样,压缩就必须从降低样本精度这个角度出发,即减少每位样本所需要的位数。

第3章介绍了线性预测编码(linear predictive coding,LPC)的方法,这种方法主要是针对话音的编码,这种编码方法称为音源特定编码法(source specific methods)。MPEG-1和MPEG-2的声音压缩采用了另一种方法,称为子带编码(sub-band coding,SBC)方法,这也是一种功能很强而且很有效的声音信号编码方法。与音源特定编码法不同,SBC不局限于只对话音进行编码,也不局限于哪一种声源。这种方法的具体思想是首先把时域中的声音数据变换到频域,对频域内的子带分量分别进行量化和编码,然后根据心理声学模型确定样本的精度,从而达到压缩数据量的目的。

MPEG声音数据压缩的基础是量化。虽然量化会带来失真,但MPEG标准要求量化失真对于人耳来说是感觉不到的。在MPEG标准的制定过程中,MPEG-Audio委员会作了大量的主观测试实验。实验表明,采样频率为48 kHz、样本精度为16比特的声音数据压缩到256 kb/s时,即在6:1的压缩率下,即使是专业测试员也很难分辨出是原始声音还是编码压缩后的声音。

MPEG Audio是一个子带编码系统,声音数据压缩算法的根据是心理声学模型,心理声学模型中一个最基本的概念是听觉系统中存在一个听觉阈值电平,低于这个电平的声音信号就听不到。听觉阈值的大小随声音频率的改变而改变,各个人的听觉阈值也不同。大多数人的听觉系统对2 kHz~5 kHz之间的声音最敏感。一个人是否能听到声音取决于声音的频率,以及声音的幅度是否高于这种频率下的听觉阈值。

心理声学模型中的另一个概念是听觉掩饰特性,意思是听觉阈值电平是自适应的,即听觉阈值电平会随听到的频率不同的声音而发生变化。例如,在一般环境下房间里的普通谈话可以听得很清楚,但在摇滚乐环境下同样的普通谈话就听不清楚了。声音压缩算法也同样可以确立这种特性的模型,根据这个模型可取消冗余的声音数据。MPEG Audio的压缩算法框图如图9-06所示。

 

图9-06 MPEG Audio压缩算法框图

Dolby AC-3同样利用人的听觉系统特性来压缩声音数据,它的压缩编码算法框图如图9-07所示。有兴趣的读者请浏览网址:http://atsc.org/stan&rps.html (浏览日期:1999年2月3日)

 

图9-07 Dolby AC-3压缩编码算法框图

 

9.3.2 声音的性能

目前,除了Dolby公司的数字声音数据压缩编码算法AC-3(Audio Code Number 3)之外,其他的声音压缩算法主要是针对话音。例如,m -law,A-Law,ADPCM(adaptive difference pulse code modulation),GSM(Global System for Mobile communications)、CELP(code excited linear prediction)和MELP(mixed excitation linear prediction)等算法。当这些算法用来压缩宽带声音(如音乐)信号时,在相同压缩比的情况下,输出的声音质量比较低。而MPEG声音(ISO/IEC 11172-3)压缩算法是世界上第一个高保真声音数据压缩国际标准,并且得到了极其广泛的应用。虽然MPEG声音标准是MPEG标准的一部分,但它也完全可以独立应用。MPEG-1声音标准的主要性能如下:

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

 

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

(2) MPEG声音标准提供三个独立的压缩层次:层1(Layer 1)、层2(Layer 2)和层3(Layer 3),用户对层次的选择可在复杂性和声音质量之间进行权衡。

① 层1的编码器最为简单,编码器的输出数据率为384 kb/s,主要用于小型数字盒式磁带(digital compact cassette,DCC)。

② 层2的编码器的复杂程度属中等,编码器的输出数据率为256 kb/s~192 kb/s,其应用包括数字广播声音(digital broadcast audio,DBA)、数字音乐、CD-I(compact disc-interactive)和VCD(video compact disc)等。

③ 层3的编码器最为复杂,编码器的输出数据率为64 kb/s,主要应用于ISDN上的声音传输。

在尽可能保持CD音质为前提的条件下,MPEG声音标准一般所能达到的压缩率如表9-02所示,从编码器的输入到输出的延迟时间如表9-03所示。

表9-02 MPEG声音的压缩率

层次

算法

压缩率

立体声信号所对应的

位率( kb/s)

1

MUSICAM*

4:1

384

2

MUSICAM*

6:1 ~ 8:1

256 ~ 192

3

ASPEC**

10:1 ~ 12:1

128 ~ 112

* MUSICAM(Masking pattern adapted Universal Subband Integrated Coding And Multiplexing) 自适应声音掩蔽特性的通用子带综合编码和复合技术

** ASPEC(Adaptive Spectral Perceptual Entropy Coding of high quality musical signal) 高质量音乐信号自适应谱感知熵编码(技术)

表9-03 MPEG编码解码器的延迟时间

延迟时间

理论最小值( ms)

实际实现中的一般值( ms)

层1(Layer 1)

19

< 50

层2(Layer 2)

35

100

层3(Layer 3)

59

150

(3) 可预先定义压缩后的数据率,如表9-04所示。另外,MPEG声音标准也支持用户预定义的数据率。

表9-04 MPEG层3在各种数据率下的性能:

音质要求

声音带宽(kHz)

方式

数据率( kb/s)

压缩比

电话

2.5

单声道

8

96 :1

优于短波

5.5

单声道

16

48 :1

优于调幅广播

7.5

单声道

32

24 :1

类似于调频广播

11

立体声

56 ~ 64

26 ~ 24 :1

接近CD

15

立体声

96

16 :1

CD

> 15

立体声

112 ~ 128

12 ~ 10 :1

(4) 编码后的数据流支持循环冗余校验CRC(cyclic redundancy check)。

(5) MPEG声音标准还支持在数据流中添加附加信息。

9.3.3 子带编码

在第三章已经介绍了子带编码的基本思想,MPEG-1使用子带编码来达到既压缩声音数据又尽可能保留声音原有质量的目的。听觉系统有许多特性,子带编码的理论根据是听觉系统的掩蔽特性,并且主要是利用频域掩蔽特性。SBC的基本想法就是在编码过程中保留信号的带宽而扔掉被掩蔽的信号,其结果是编码之后还原的声音,也就是解码或者叫做重构的声音信号与编码之前的声音信号不相同,但人的听觉系统很难感觉到它们之间的差别。这也就是说,对听觉系统来说这种压缩是“无损压缩”。

大多数SBC编码器都使用如图9-09所示的结构,这也是MPEG-1声音编码器的结构图。输入声音信号经过一个“时间-频率多相滤波器组”变换到频域里的多个子带中。输入声音信号同时经过“心理声学模型(计算掩蔽特性)”,该模型计算以频率为自变量的噪声掩蔽阈值(masking threshold),查看输入信号和子带中的信号以确定每个子带里的信号能量与掩蔽阈值的比率。“量化和编码”部分用信掩比(signal-to-mask ratio,SMR)来决定分配给子带信号的量化位数,使量化噪声低于掩蔽阈值。最后通过“数据流帧包装”将量化的子带样本和其他数据按照规定的称为“帧(frame)”的格式组装成位数据流。

信掩比是指最大的信号功率与全局掩蔽阈值之比,图9-10表示了某个子带中的信掩比。

 

图9-09 MPEG声音编码器结构图

 

SNR(signal noise ratio) —— 信号噪声比

SMR(signal-to-mask ratio) —— 信号掩蔽比

NMR(noise-to-mask ratio) —— 噪声掩蔽比

图9-10 掩蔽阈值和SMR

图9-11是MPEG-1声音解码器的结构图。解码器对位数据流进行解码,恢复被量化的子带样本值以重建声音信号。由于解码器无需心理声学模型,只需拆包、重构子带样本和把它们变换回声音信号,因此解码器就比编码器简单得多。

 

图9-11 MPEG声音解码器结构图

9.3.4 多相滤波器组

在图9-09中,用来分割子带也就是时间-频率变换部件是一个多相滤波器组。在MPEG-1中,多相滤波器组是MPEG声音压缩的关键部分部件之一,它把输入信号变换到32个频域子带中去。子带的划分方法有两种,一种是线性划分,另一种是非线性划分。如果把声音频带划分成带宽相等的子带,这种划分就不能精确地反映人耳的听觉特性,因为人耳的听觉特性是以“临界频带”来划分的,在一个临界频带之内,很多心理声学特性都是一样的。图9-12对多相滤波器组的带宽和临界频带的带宽作了比较。从图中可以看到,在低频区域,一个子带覆盖好几个临界频带。在这种情况下,某个子带中量化器的比特分配就不能根据每个临界频带的掩蔽阈值进行分配,而要以其中最低的掩蔽阈值为准。

如果需要具体计算多相滤波器组的输出信号,请参看参考文献和站点[1]

 

图9-12 滤波器组的带宽与临界频带带宽的比较[1]

 

9.3.5 编码层

MPEG声音压缩定义了3个分明的层次,它们的基本模型是相同的。层1是最基础的,层2和层3都在层1的基础上有所提高。每个后继的层次都有更高的压缩比,但需要更复杂的编码解码器。MPEG声音的每一个层都自含SBC编码器,其中包含如图9-09所示的“时间-频率多相滤波器组”、“心理声学模型(计算掩蔽特性)”、“量化和编码”和“数据流帧包装”,而高层SBC可使用低层SBC编码的声音数据。

MPEG的声音数据分成帧(frame),层1每帧包含384个样本的数据,每帧由32个子带分别输出的12个样本组成。层2和层3每帧为1152个样本,如图9-13所示。

 

图9-13 层1、2和层3的子带样本

MPEG编码器的输入以12个样本为一组,每组样本经过时间-频率变换之后进行一次比特分配并记录一个比例因子(scale factor)。比特分配信息告诉解码器每个样本由几位表示,比例因子用6比特表示,解码器使用这个6比特的比例因子乘逆量化器的每个输出样本值,以恢复被量化的子带值。比例因子的作用是充分利用量化器的量化范围,通过比特分配和比例因子相配合,可以表示动态范围超过120 DB的样本。

1. 层1

层1和层2的比较详细的框图如图9-14所示。层1的子带是频带相等的子带,它的心理声学模型仅使用频域掩蔽特性。层1的“时间-频率多相滤波器组”使用类似于离散余弦变换DCT(discrete cosine transform)的分析滤波器组进行变换,以获得详细的信号频谱信息。根据信号的频率、强度和音调,滤波器组的输出可用来找出掩蔽阈值,然后组合每个子带的单个掩蔽阈值以形成全局的掩蔽阈值。使用这个阈值与子带中的最大信号进行比较,产生信掩比SMR之后再输入到“量化和编码器”。

“量化和编码器”首先检查每个子带的样本,找出这些样本中的最大的绝对值,然后量化成6比特,这个比特数称为比例因子(scale factor)。“量化和编码器”然后根据SMR确定每个子带的比特分配(bit allocation),子带样本按照比特分配进行量化和编码。对被高度掩蔽的子带自然就不需要对它进行编码。

 

图9-14 ISO/MPEG audio层1和层2编码器和解码器的结构

“数据流帧包装”按规定的帧格式进行包装,实际上就是一个多路复合器MUX。层1的帧结构如图9-15所示。每帧都包含:①用于同步和记录该帧信息的同步头,长度为32比特,它的结构如图9-16所示,②用于检查是否有错误的循环冗余码CRC(cyclic redundancy code),长度为16比特,③用于描述比特分配的比特分配域,长度为4比特,④比例因子域,长度为6比特,⑤子带样本域,⑥有可能添加的附加数据域,长度未规定。

 

图9-15 层1的帧结构

 

图9-16 MPEG声音比特流同步头的格式

2. 层2

层2对层1作了一些直观的改进,相当于3个层1的帧,每帧有1152个样本。它使用的心理声学模型除了使用频域掩蔽特性之外还利用了时间掩蔽特性,并且在低、中和高频段对比特分配作了一些限制,对比特分配、比例因子和量化样本值的编码也更紧凑。由于层2采用了上述措施,因此所需的比特数减少了,这样就可以有更多的比特用来表示声音数据,音质也比层1更高。

层1是对一个子带中的一个样本组(由12个样本组成)进行编码,而层2和层3是对一个子带中的三个样本组进行编码。图9-13也表示了层2和层3的分组方法。

如图9-17所示,层2使用与层1相同的同步头和CRC结构,但描述比特分配的位数(即比特数)随子带不同而变化:低频段的子带用4比特,中频段的子带用3比特,高频段的子带用2比特。层2比特流中有一个比例因子选择信息(scale factor selection information,SCFSI)域,解码器根据这个域的信息可知道是否需要以及如何共享比例因子。

 

图9-17 层2比特流数据格式

3. 层3

层3使用比较好的临界频带滤波器,把声音频带分成非等带宽的子带,心理声学模型除了使用频域掩蔽特性和时间掩蔽特性之外,还考虑了立体声数据的冗余,并且使用了霍夫曼(Huffman)编码器。层3编码器的详细框图如图9-18所示。

 

图9-18 ISO/MPEG audio层3编码器和解码器的结构

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

除了使用MDCT外,层3还采用了其他许多改进措施来提高压缩比而不降低音质。虽然层3引入了许多复杂的概念,但是它的计算量并没有比层2增加很多。增加的主要是编码器的复杂度和解码器所需要的存储容量。

将MPEG-1 Audio加入网摘:

365Key  | 新浪ViVi  | 和讯网摘  | 天极网摘  | POCO网摘 

MPEG-1 Audio文章录入:专题录入:admin    责任编辑:admin 

...
发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口