第9章 MPEG聲音

第9章 MPEG聲音

  與前面章節介紹的波形聲音壓縮編碼(如ADPCM)和參數編碼(如LPC)不同,MPEG-1和MPEG-2的聲音數據壓縮編碼不是依據波形本身的相關性和模擬人的發音器官的特性,而是利用人的聽覺系統的特性來達到壓縮聲音數據的目的,這種壓縮編碼稱爲感知聲音編碼(perceptual audio coding)。進入20世紀80年代之後,尤其最近幾年,人類在利用自身的聽覺系統的特性來壓縮聲音數據方面取得了很大的進展,先後制定了MPEG-1 Audio, MPEG-2 Audio和MPEG-2 AAC等標準。
  本章涉及的許多具體算法已經超出本教材的要求。對於要求深入鑽研的讀者,請參考本章提供的參考文件或者瀏覽網址。

9.1 聽覺系統的感知特性

  許多科學工作者一直在研究聽覺系統對聲音的感知特性,下面介紹已經用在MPEG Audio壓縮編碼算法中的三個特性:響度、音高和掩蔽效應。

9.1.1. 對響度的感知

  聲音的響度就是聲音的強弱。在物理上,聲音的響度使用客觀測量單位來度量,即dyn/cm2(達因/平方釐米)(聲壓)或W/cm2(瓦特/平方釐米)(聲強)。在心理上,主觀感覺的聲音強弱使用響度級“方(phon)”或者“宋(sone)”來度量。這兩種感知聲音強弱的計量單位是完全不同的兩種概念,但是它們之間又有一定的聯繫。
  當聲音弱到人的耳朵剛剛可以聽見時,我們稱此時的聲音強度爲“聽閾”。例如,1 kHz純音的聲強達到10-16w/cm2(定義成零dB聲強級)時,人耳剛能聽到,此時的主觀響度級定爲零方。實驗表明,聽閾是隨頻率變化的。測出的“聽閾—頻率”曲線如圖9-01所示。圖中最靠下面的一根曲線叫做“零方等響度級”曲線,也稱“絕對聽閾”曲線,即在安靜環境中,能被人耳聽到的純音的最小值。
  另一種極端的情況是聲音強到使人耳感到疼痛。實驗表明,如果頻率爲1 kHz的純音的聲強級達到120 dB左右時,人的耳朵就感到疼痛,這個閾值稱爲“痛閾”。對不同的頻率進行測量,可以得到“痛閾—頻率”曲線,如圖9-01中最靠上面所示的一根曲線。這條曲線也就是120方等響度級曲線。
  在“聽閾—頻率”曲線和“痛閾—頻率”曲線之間的區域就是人耳的聽覺範圍。這個範圍內的等響度級曲線也是用同樣的方法測量出來的。由圖9-01可以看出,1 kHz的10 dB的聲音和200 Hz的30 dB的聲音,在人耳聽起來具有相同的響度。


圖9-01 “聽閾—頻率”曲線

  圖9-01說明人耳對不同頻率的敏感程度差別很大,其中對2 kHz~4 kHz範圍的信號最爲敏感,幅度很低的信號都能被人耳聽到。而在低頻區和高頻區,能被人耳聽到的信號幅度要高得多。

9.1.2. 對音高的感知

  客觀上用頻率來表示聲音的音高,其單位是Hz。而主觀感覺的音高單位則是“美(Mel)”,主觀音高與客觀音高的關係是
   Mel=1000 log2( 1+f )
其中f的單位爲Hz,這也是兩個既不相同又有聯繫的單位。
  人耳對響度的感覺有一個範圍,即從聽閾到痛閾。同樣,人耳對頻率的感覺也有一個範圍。人耳可以聽到的最低頻率約20 Hz,最高頻率約18000 Hz。正如測量響度時是以1 kHz純音爲基準一樣,在測量音高時則以40 dB聲強爲基準,並且同樣由主觀感覺來確定。
  測量主觀音高時,讓實驗者聽兩個聲強級爲40 dB的純音,固定其中一個純音的頻率,調節另一個純音的頻率,直到他感到後者的音高爲前者的兩倍,就標定這兩個聲音的音高差爲兩倍。實驗表明,音高與頻率之間也不是線性關係。測出的“音高—頻率”曲線如圖9-02所示。


圖9-02 “音高—頻率”曲線

9.1.3. 掩蔽效應

  一種頻率的聲音阻礙聽覺系統感受另一種頻率的聲音的現象稱爲掩蔽效應。前者稱爲掩蔽聲音(masking tone),後者稱爲被掩蔽聲音(masked tone)。掩蔽可分成頻域掩蔽和時域掩蔽。
  1. 頻域掩蔽
  一個強純音會掩蔽在其附近同時發聲的弱純音,這種特性稱爲頻域掩蔽,也稱同時掩蔽(simultaneous masking)。如圖9-03所示,一個聲強爲60 dB、頻率爲1000 Hz的純音,另外還有一個1100 Hz的純音,前者比後者高18 dB,在這種情況下我們的耳朵就只能聽到那個1000 Hz的強音。如果有一個1000 Hz的純音和一個聲強比它低18 dB的2000 Hz的純音,那麼我們的耳朵將會同時聽到這兩個聲音。要想讓2000 Hz的純音也聽不到,則需要把它降到比1000 Hz的純音低45 dB。一般來說,弱純音離強純音越近就越容易被掩蔽。


圖9-03 聲強爲60 dB、頻率爲1000 Hz純音的掩蔽效應

  在圖9-04中的一組曲線分別表示頻率爲250 Hz、1 kHz、4 kHz和8 kHz純音的掩蔽效應,它們的聲強均爲60 dB。從圖中可以看到:①在250 Hz、1 kHz、4 kHz和8 kHz純音附近,對其他純音的掩蔽效果最明顯,②低頻純音可以有效地掩蔽高頻純音,但高頻純音對低頻純音的掩蔽作用則不明顯。


圖9-04 不同純音的掩蔽效應曲線

  由於聲音頻率與掩蔽曲線不是線性關係,爲從感知上來統一度量聲音頻率,引入了“臨界頻帶(critical band)”的概念。通常認爲,在20 Hz到16 kHz範圍內有24個臨界頻帶,如表9-01所示。臨界頻帶的單位叫Bark(巴克),
  1 Bark = 一個臨界頻帶的寬度
  f(頻率)< 500 Hz的情況下, 1 Bark >> f/100
  f(頻率) > 500 Hz的情況下, 1Bark >> 9 + 4log(f/1000)
  以上我們討論了響度、音高和掩蔽效應,尤其是人的主觀感覺。其中掩蔽效應尤爲重要,它是心理聲學模型的基礎。

表9-01 臨界頻帶[16]

臨界

頻率 (Hz)

臨界

頻率 (Hz)

頻帶

低端

高端

寬度

頻帶

低端

高端

寬度

0

0

100

100

13

2000

2320

320

1

100

200

100

14

2320

2700

380

2

200

300

100

15

2700

3150

450

3

300

400

100

16

3150

3700

550

4

400

510

110

17

3700

4400

700

5

510

630

120

18

4400

5300

900

6

630

770

140

19

5300

6400

1100

7

770

920

150

20

6400

7700

1300

8

920

1080

160

21

7700

9500

1800

9

1080

1270

190

22

9500

12000

2500

10

1270

1480

210

23

12000

15500

3500

11

1480

1720

240

24

15500

22050

6550

12

1720

2000

280

 

 

 

 

除了同時發出的聲音之間有掩蔽現象之外,在時間上相鄰的聲音之間也有掩蔽現象,並且稱爲時域掩蔽。時域掩蔽又分爲超前掩蔽(pre-masking)和滯後掩蔽(post-masking),如圖9-05所示。產生時域掩蔽的主要原因是人的大腦處理信息需要花費一定的時間。一般來說,超前掩蔽很短,只有大約5~20 ms,而滯後掩蔽可以持續50~200 ms。這個區別也是很容易理解的。

  2. 時域掩蔽
  

9.2 MPEG Audio與感知特性

 

9.3 MPEG-1 Audio

9.3.1 聲音編碼

  聲音的數據量由兩方面決定:採樣頻率和樣本精度。對單聲道信號而言,每秒鐘的數據量(位數)=採樣頻率´ 樣本精度。要減小數據量,就需要降低採樣頻率或者降低樣本精度。但是人耳可聽到的頻率範圍大約是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


圖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增加很多。增加的主要是編碼器的複雜度和解碼器所需要的存儲容量。

9.4 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),因爲它與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採樣頻率,②擴展了編碼器的輸出速率範圍,由32~384 kb/s擴展到8~640 kb/s,③增加了聲道數,支持5.1聲道和7.1聲道的環繞聲。此外MPEG-2還支持Linear PCM(線性PCM)和Dolby AC-3(Audio Code Number 3)編碼。它們的差別如表9-05所示。

表9-05 MPEG-1和-2的聲音數據規格

參數名稱

Linear PCM

Dolby AC-3

MPEG-2 Audio

MPEG-1 Audio

採用頻率

48/96 kHz

32/44.1/48 kHz

16/22.05/24/ 32/44.1/48 kHz

32/44.1/48 kHz

樣本精度
(每個樣本的比特數)

16/20/24

壓縮(16 bits)

壓縮(16 bits)

16

最大數據傳輸率

6.144 Mb/s

448 kb/s

8~640 kb/s

32~448 kb/s

最大聲道數

8

5.1

5.1/7.1

2

  MPEG-2 Audio的“5.1環繞聲”也稱爲“3/2-立體聲加LFE”,其中的“.1”就是指LFE聲道。它的含義是播音現場的前面可有3個喇叭聲道(左、中、右),後面可有2個環繞聲喇叭聲道,LFE(low frequency effects)是低頻音效的加強聲道,如圖9-19(a)所示。7.1聲道環繞立體聲與5.1類似,如圖9-19(b)所示。


圖9-19(a) 5.1聲道立體環繞聲


圖9-19(b) 7.1聲道立體環繞聲

  Dolby AC-3支持5個聲道(左、中、右、左環繞、右環繞和0.1 kHz以下的低音音效聲道),聲音樣本的精度爲20比特,每個聲道的採樣率可以是32 kHz, 44.1 kHz或者48 kHz。
  MPEG-2聲音標準的第3部分(Part 3)是MPEG-1聲音標準的擴展,擴展部分就是多聲道擴展(multichannel extension),如圖9-20所示。這個標準稱爲MPEG-2後向兼容多聲道聲音編碼(MPEG-2 backwards compatible multichannel audio coding)標準,簡稱爲MPEG-2 BC。


圖9-20 MPEG-2 Audio的數據塊
(引自 ISO/IEC 13818-3)

9.5 MPEG-2 AAC

9.5.1 MPEG-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)或者叫做多語言聲道(multilingual channel)和16個數據流。MPEG-2 AAC在壓縮比爲11:1,即每個聲道的數據率爲(44.1×16 )/11=64 kb/s,而5個聲道的總數據率爲320 kb/s的情況下,很難區分還原後的聲音與原始聲音之間的差別。與MPEG的層2相比,MPEG-2 AAC的壓縮率可提高1倍,而且質量更高,與MPEG的層3相比,在質量相同的條件下數據率是它的70%。

9.5.2 MPEG-2 AAC的配置

  開發MPEG-2 AAC標準採用的方法與開發MPEG Audio標準採用的方法不同。後者採用的方法是對整個系統進行標準化,而前者採用的方法是模塊化的方法,把整個AAC系統分解成一系列模塊,用標準化的AAC工具(advanced audio coding tools)對模塊進行定義,因此在文獻中往往把“模塊(modular)”與“工具(tool)”等同對待。
  AAC定義的編碼和解碼的基本結構如圖9-21和圖9-22所示。AAC標準定義了三種配置:基本配置、低複雜性配置和可變採樣率配置:
  1. 基本配置(Main Profile)
  在這種配置中,除了“增益控制(Gain Control)”模塊之外,AAC系統使用了圖中所示的所有模塊,在三種配置中提供最好的聲音質量,而且AAC的解碼器可以對低複雜性配置編碼的聲音數據進行解碼,但對計
  2. 低複雜性配置(Low Complexity Profile)
  在這種配置中,不使用預測模塊和預處理模塊,瞬時噪聲定形(temporal noise shaping,TNS)濾波器的級數也有限,這就使聲音質量比基本配置的聲音質量低,但對計算機的存儲器和處理能力的要求可明顯減少。
  3. 可變採樣率配置(Scalable Sampling Rate Profile)
  在這種配置中,使用增益控制對信號作預處理,不使用預測模塊,TNS濾波器的級數和帶寬也都有限制,因此它比基本配置和低複雜性配置更簡單,可用來提供可變採樣頻率信號。

圖9-21 MPEG-2 AAC編碼器框圖


圖9-22 MPEG-2 AAC解碼器框圖

9.5.3 MPEG-2 AAC的基本模塊

  文獻[2]對MPEG-2 AAC編碼器和解碼器的結構和計算方法做了非常詳細的介紹,它們的框圖分別示於圖9-21和圖9-22。現將其中的幾個模塊作一些說明。
  1. 增益控制(Gain control)
  增益控制模塊用在可變採樣率配置中,它由多相正交濾波器PQF(polyphase quadrature filter)、增益檢測器(gain detector)和增益修正器(gain modifier)組成。這個模塊把輸入信號分離到4個相等帶寬的頻帶中。在解碼器中也有增益控制模塊,通過忽略PQF的高子帶信號獲得低採樣率輸出信號。
  2. 濾波器組(Filter Bank)
  濾波器組是把輸入信號從時域變換到頻域的轉換模塊,它是MPEG-2 AAC系統的基本模塊。這個模塊採用了改進離散餘弦變換MDCT,它是一種線性正交交迭變換,使用了一種稱爲時域混迭取消TDAC(time domain aliasing cancellation)技術。
  MDCT使用KBD(Kaiser-Bessel derived)窗口或者使用正弦(sine)窗口,正向MDCT變換可使用下式表示:
   
逆向MDCT變換可使用下式表示:
      k=0,…, N-1
其中,
  n=樣本號,
  N=變換塊長度,
  i=塊號
  
  3. 瞬時噪聲定形TNS
  在感知聲音編碼中,TNS模塊是用來控制量化噪聲的瞬時形狀的一種方法,解決掩蔽閾值和量化噪聲的錯誤匹配問題。這種技術的基本想法是,在時域中的音調聲信號在頻域中有一個瞬時尖峯,TNS使用這種雙重性來擴展已知的預測編碼技術,把量化噪聲置於實際的信號之下以避免錯誤匹配。
  4. 聯合立體聲編碼
  聯合立體聲編碼(joint stereo coding)是一種空間編碼技術,其目的是爲了去掉空間的冗餘信息。MPEG-2 AAC系統包含兩種空間編碼技術:M/S編碼(Mid/Side encoding)和聲強/耦合(Intensity /Coupling)。
  M/S編碼使用矩陣運算,因此把M/S編碼稱爲矩陣立體聲編碼(matrixed stereo coding)。M/S編碼不傳送左右聲道信號,而是使用標稱化的“和”信號與“差”信號,前者用於中央M(middle)聲道,後者用於邊S(side)聲道,因此M/S編碼也叫做“和-差編碼(sum-difference coding)”。
  聲強/耦合編碼的名稱也很多,有的叫做聲強立體聲編碼(intensity stereo coding),或者叫做聲道耦合編碼(channel coupling coding),它們探索的基本問題是聲道間的不相關性(irrelevance)。
  5. 預測(Prediction)
  這是在話音編碼系統中普遍使用的一種技術,它主要用來減少平穩(stationary)信號的冗餘度。
  6. 量化器(Quantizer)
  使用了非均勻量化器。
  7. 無噪聲編碼(Noiseless coding)
  無噪聲編碼實際上就是霍夫曼編碼,它對被量化的譜系數、比例因子和方向信息進行編碼。

9.6 MPEG-4 Audio

  MPEG-4 Audio標準可集成從話音到高質量的多通道聲音,從自然聲音到合成聲音,編碼方法還包括參數編碼(parametric coding),碼激勵線性預測(code excited linear predictive,CELP)編碼,時間/頻率T/F(time/frequency)編碼,結構化聲音SA(structured audio)編碼和文本-語音TTS(text-to-speech)系統的合成聲音等。

9.6.1 自然聲音

MPEG-4聲音編碼器支持數據率介於2 kb/s和64 kb/s之間的自然聲音(natural audio)。爲了獲得高質量的聲音,MPEG-4定義了三種類型的聲音編碼器分別用於不同類型的聲音,它的一般編碼方案如圖9-23所示。
  1. 參數編碼器
  使用聲音參數編碼技術。對於採樣率爲8 kHz的話音(speech),編碼器的輸出數據率爲2~4 kb/s;對於採樣頻率爲8 kHz或者16 kHz的聲音(audio),編碼器的輸出數據率爲4~16 kb/s。
  2. CELP編碼器
  使用CELP(code excited linear predictive)技術。編碼器的輸出數據率在6~24 kb/s之間,它用於採樣頻率爲8 kHz的窄帶話音或者採樣頻率爲16 kHz的寬帶話音。
  3. T/F編碼器
  使用時間-頻率(time-to-frequency,T/F)技術。這是一種使用矢量量化(vector quantization,VQ)和線性預測的編碼器,壓縮之後輸出的數據率大於16 kb/s,用於採樣頻率爲8 kHz的聲音信號。


* UMTS (universal mobile telecommunication system) 通用移動遠程通信系統
圖9-23 MPEG-4 Audio編碼方框圖(引自參考文獻[7])

9.6.2 合成聲音

  MPEG-4的譯碼器支持合成樂音和TTS聲音。合成樂音通常叫做MIDI(Musical Instrument Data Interface)樂音,這種聲音是在樂譜文件或者描述文件控制下生成的聲音,樂譜文件是按時間順序組織的一系列調用樂器的命令,合成樂音傳輸的是樂譜而不是聲音波形本身或者聲音參數,因此它的數據率可以相當低。隨着科學技術突飛猛進的發展,尤其是網絡技術的迅速崛起和飛速發展,文-語轉換TTS(text to speech)系統在人類社會生活中有着越來越廣泛的應用前景,已經逐漸變成相當普遍的接口,並且在各種多媒體應用領域開始扮演重要的角色。TTS編碼器的輸入可以是文本或者帶有韻律參數的文本,編碼器的輸出數據率可以在200 bps ~ 1.2 kb/s範圍裏。
  1. MIDI合成聲音
  MIDI是1983年制定的樂器和計算機的標準語言,是一套指令即命令的約定,它指示樂器即MIDI設備要做什麼和怎麼做,如播放音符、加大音量、生成音響效果等。MIDI不是聲音信號,在MIDI電纜上傳送的不是聲音,而是發給MIDI設備或其它裝置讓它產生聲音或執行某個動作的指令。由於MIDI具有控制設備的功能,因此它不僅用於樂器,而且越來越多的應用正在被髮掘。詳見“2.6 MIDI系統”。
  2. 文-語轉換
  文-語轉換是將文本形式的信息轉換成自然語音的一種技術,其最終目標是使計算機輸出清晰而又自然的聲音,也就是說,要使計算機像人一樣,根據文本的內容可帶各種情調來朗讀任意的文本。TTS是一個十分複雜的系統,涉及到語言學、語音學、信號處理、人工智能等諸多的學科。
  由於TTS系統具有巨大的應用潛力和商業價值,許多研究機構都在從事這方面的研究。目前的TTS系統一般能夠較爲準確清晰地朗讀文本,但是不太自然。TTS系統最根本的問題便在於它的自然度,自然度是衡量一個TTS系統好壞的最重要指標。人們是無法忍受與自然語音相差甚遠的語音,自然度問題已經成爲嚴重阻礙TTS系統的推廣和應用的桎梏。因此,研究更好的文語轉換方法,提高合成語音的自然度就成爲當務之急。
  一個相當完整的TTS系統如圖9-24所示。儘管現有的TTS系統結構各異,轉換方法不同,但是基本上可以分成兩個相對獨立的部分。在圖中,虛線左邊的部分是文本分析部分,通過對輸入文本進行詞法分析、語法分析,甚至語義分析,從文本中抽取音素和韻律等發音信息。虛線右邊的部分是語音合成部分,它使用從文本分析得到的發音信息去控制合成單元的譜特徵(音色)和韻律特徵(基頻、時長和幅度),送入聲音合成器(軟件或硬件)產生相應的語音輸出。

圖9-24 TTS系統方框圖

  在漢語TTS系統中,漢語語音的傳統分析方法是將一個漢語的音節分爲聲母和韻母兩部分。聲母是音節開頭的輔音,韻母是音節中聲母以外的部分。聲母不等同於輔音,韻母不等同於元音。另外,音調具有辨義功能,這也是漢語語音的一大特點。可以說,聲母、韻母和聲調是漢語語音的三要素。
  漢語的音節一般由聲母、韻母和聲調三部分組成。漢語有21個聲母,39個韻母,4個聲調。共能拼出400多個無調音節,1200多個有調音節。除個別情況外,一個漢字就是一個音節,但是一個音節往往對應多個漢字,這就是漢語中的多音字現象。漢字到其發音的轉換一般可以藉助一張一一對應的表來實現,但對多音字的讀音,一般要依據它所在的詞來判斷,有的還要藉助語法甚至語義分析,依據語義或者上下文來判斷。在漢語TTS系統中,分詞是基礎,只有分詞正確,纔有可能正確地給多音字註音,正確地進行語法分析,獲得正確的讀音和韻律信息。
  在我國,許多高等院校和科研單位先後開展了對漢語TTS系統的的研究工作,並取得了可喜的成績,但在合成聲音的自然度方面還有一段漫長的路要走。清華大學計算機系“智能技術與系統國家重點實驗室”在20世紀90年代末期也加強了對漢語TTS的研究工作,從語言學、語音學、信號處理和人工智能等方面進行綜合研究,重點是提高漢語TTS系統輸出的聲音的自然度。

練習與思考題

  1. 列出你所知道的聽覺系統的特性。
  2. 什麼叫做聽閾?什麼叫做痛閾?
  3. 什麼叫做頻域掩蔽?什麼叫做時域掩蔽?
  4. MPEG-1的層1、2和3編碼器的聲音輸出速率範圍分別是多少?
  5. MPEG-1的聲音質量是: AM FM 電話 near-CD CD-DA
  6. 什麼叫做5.1聲道立體環繞聲?什麼叫做7.1聲道立體環繞聲?
  7. 簡述MPEG-2 AAC的特性。
  8. 什麼叫做自然聲音?什麼叫做合成聲音?
  9. 什麼叫做TTS?至少列舉TTS的3個潛在應用例子。

參考文獻和站點

Davis Pan. A Tutorial on MPEG/Audio Compression. IEEE Multimedia,1995, pp60-74 Bosi Metal. ISO/IEC MPEG-2 Advanved Audio Coding. Journal of the Audio Engineering Society, No. 10, Oct 1997, pp789-813 Princen J, Bradley A. Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation. IEEE Transactions, ASSP-34, No.5, Oct 1986, pp 1153-1161 Princen J, Johnson A, Bradley A. Subband/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation. Proc. of the ICASSP 1987, pp2161-2164 Dennis H. Klatt. Review of text-to-speech conversion for English. J. Acoust. Soc. Am. 82(3), September 1987 ISO/IEC JTC1/SC29/WG11. N2323, Overview of the MPEG-4 Standard. July 1998/Dublin MPEG-4 Audio文件:
① ISO/IEC FCD 14496-3,Information Technology - Very Low Bitrate Audio- Visual Coding,Part 3:Audio,Subpart 1:Main Document,1998-05-15
② ISO/IEC FCD 0.1 14496-3,Information Technology - Coding of Audiovisual Objects,Part 3:Audio,Subpart 2: Parametric Coding,1998-03-20
③ ISO/IEC FCD 14496-3,Information Technology - Coding of Audiovisual Objects,Part 3:Audio,Subpart 3:CELP,1998-05-15
④ ISO/IEC CD 14496-3,Information Technology - Coding of Audiovisual Objects,Part 3:Audio,Subpart 4:Time/Frequency Coding,1998-05-15.
⑤ ISO/IEC FCD 14496-3,Information Technology - Coding of Audiovisual Objects,Part 3:Audio,Subpart 5:Structured Audio,1998-05-15
⑥ ISO/IEC CD 14496-3,Information Technology - Coding of Audiovisual Objects,Part 3:Audio,Subpart 6 :Text-to-Speech, 1997-10-31 http://www.mpeg.org/~tristan/MPEG/mp3.html(瀏覽日期:1999年2月) http://fas.sfu.ca/cs/undergrad/CourseMaterials/CMPT479/material/notes/Chap4/ (瀏覽日期:1999年2月) http://www.tnt.uni-hannover.de/project/mpeg/audio/ (瀏覽日期:1999年2月) http://drogo.cselt.stet.it/mpeg/#The_MPEG_standards (瀏覽日期:1999年2月) MPEG-Audio:http://www.tnt.uni-hannover.de/project/mpeg/audio/ (瀏覽日期:1999年2月) http://www.umiacs.umd.edu/~desin/Speech1/new.html (瀏覽日期:1999年2月) Kyoya Tsutsui, Hiroshi Suzuki, Osamu Shimoyoshi, Mito Sonohara, Kenzo Akagiri, Robert M. Heddle, ATRAC: Adaptive Transform Acoustic Coding for MiniDisc, Sony Corporate Research Laboratories.
http://www.amulation.co.uk/minidisc/minidisc/aes_atrac.html(瀏覽日期:1999年2月) http://www.cselt.it/mpeg/standards/mpeg-2/mpeg-2.htm(瀏覽日期:1999年2月) Theile, G.Stoll and M.Link. Low bit-rate coding of high-quality audio signals - An introduction to the MASCAM system. EBU Review - Technical,Augst 1988,230. Yves Francois Dehery, Michel Lever and Pierre Urcum. A MUSICAM Source CODEC for Digital Audio Broadcasting and Storage. CH2977-7/91/0000-3605, IEEE 1991.  

  層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)域,解碼器根據這個域的信息可知道是否需要以及如何共享比例因子。
  MPEG Audio標準在本書中是指MPEG-1 Audio、MPEG-2 Audio和MPEG-2 AAC,它們處理10 Hz~20000 Hz範圍裏的聲音數據,數據壓縮的的主要依據是人耳朵的聽覺特性,使用“心理聲學模型(psychoacoustic model)”來達到壓縮聲音數據的目的。
  心理聲學模型中一個基本的概念就是聽覺系統中存在一個聽覺閾值電平,低於這個電平的聲音信號就聽不到,因此就可以把這部分信號去掉。聽覺閾值的大小隨聲音頻率的改變而改變,各個人的聽覺閾值也不同。大多數人的聽覺系統對2 kHz~5 kHz之間的聲音最敏感。一個人是否能聽到聲音取決於聲音的頻率,以及聲音的幅度是否高於這種頻率下的聽覺閾值。
  心理聲學模型中的另一個概念是聽覺掩飾特性,意思是聽覺閾值電平是自適應的,即聽覺閾值電平會隨聽到的不同頻率的聲音而發生變化。例如,同時有兩種頻率的聲音存在,一種是1000 Hz的聲音,另一種是1100 Hz的聲音,但它的強度比前者低18分貝,在這種情況下,1100 Hz的聲音就聽不到。也許你有這樣的體驗,在一安靜房間裏的普通談話可以聽得很清楚,但在播放搖滾樂的環境下同樣的普通談話就聽不清楚了。聲音壓縮算法也同樣可以確立這種特性的模型來取消更多的冗餘數據。

圖9-05時域掩蔽
發佈了12 篇原創文章 · 獲贊 2 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章