官术网_书友最值得收藏!

2.5 MUSICAM(MPEG-1 Layer2)音頻編碼方法

2.5.1 概述

MUSICAM編碼方法與ISO11172-3 Layer2是一致的,即國際標(biāo)準(zhǔn)MPEG-1的聲音編碼的第2層。MUSICAM(Masking——Pattern adapted Universal Subband Integrated Coding And Multiplexing——掩蔽型自適應(yīng)通用子帶綜合編碼與復(fù)用)編碼方法屬于子頻帶編碼。

它是將寬帶的聲音信號的頻譜分割為寬度均為750Hz的32個子頻帶,利用人耳聽覺的心理聲學(xué)效應(yīng)和音頻信號的統(tǒng)計的內(nèi)在聯(lián)系,確定并清除語言和音樂信號中的冗余和不相關(guān)部分,來實現(xiàn)有效的數(shù)據(jù)壓縮。

2.5.2 MUSICAM編碼器

如圖2-5-1所示是MUSICAM編碼器的原理方框圖。

圖2-5-1 MUSICAM編碼器原理方框圖

編碼器的輸入信號是每聲道為768kb/s的數(shù)字化聲音信號(PCM)信號,其輸出信號是經(jīng)過壓縮編碼的數(shù)字音頻信號,稱為MUSICAM信號,其總數(shù)據(jù)率視不同需要可處于32~384kb/s的范圍,可提供14種不同數(shù)據(jù)率。

需要指出的是,不論工作在何種聲音模式(單聲道、雙聲道、立體聲、聯(lián)合立體聲),總比特率都是指音頻幀中占絕對多數(shù)的聲音取樣值本身以及后面將要提到的一些輔助信息和附加信息的總和。

下面簡要說明編碼器主要功能塊的作用和工作原理。

(1)濾波器組

濾波器組的配置對聲音信號的編碼質(zhì)量有決定性影響。

MUSICAM編碼器中使用的是多相濾波器組,分析(編碼器)與綜合(解碼器)濾波器組的總時延為11.6ms(在48kHz取樣頻率時)。多相濾波器組具有特殊的相位關(guān)系和相等的帶寬;另一個優(yōu)點在于,在同時進(jìn)行混疊補(bǔ)償?shù)那闆r下,信號能完好地重建。

MUSICAM編碼器的濾波器組的配置對聲音信號的編碼質(zhì)量有決定性影響。它的作用是將寬帶的時域中的PCM信號變?yōu)?2個子頻帶,每個子頻帶為750Hz窄帶頻域中的數(shù)字信號。

人耳對音頻信號的低頻率范圍的頻率分辨能力要高于高頻率范圍。因此,對子頻帶的分割理想情況是各子頻帶的寬度不一致,隨著頻率的升高,子頻帶的帶寬也增加。但是,這樣做就會增加信號處理的復(fù)雜程度。因此,在子頻帶編碼方法中,通常各子頻帶寬度是相等的。

此外,子頻帶數(shù)量越多,在保持相同的聲音質(zhì)量下,編碼后的數(shù)據(jù)率越低;當(dāng)傳輸中出現(xiàn)比特差錯時,影響越小,僅限制在很窄的子頻帶內(nèi),干擾作用大大減弱。

每子帶寬為750Hz,在由時域變?yōu)轭l域時,每個子帶取樣頻率為1.5kHz,因此在24ms的時間(相當(dāng)于1個音頻幀長)內(nèi)每子帶有1500×24×10-3=36個樣值,32個子帶每24ms共有36×32=1152個樣值。在48kHz取樣頻率下,每24ms的PCM樣值總數(shù)也是1152個。

在子頻帶編碼方法中,濾波器組的設(shè)計特別重要,要求分析濾波器組輸出端的總的取樣頻率等于輸出信號的取樣頻率。如果設(shè)計成均勻的濾波器組,它有M個獨立通道(M=32),各自的帶寬相等(750Hz),于是各通道的信號必須用M抽選。滿足該條件的系統(tǒng)稱為臨界取樣。

(2)快速傅里葉變換(FFT)

FFT是離散傅里葉變換的快速算法。為了準(zhǔn)確地模擬在低頻率范圍內(nèi)聽覺分析所需的頻譜準(zhǔn)確度,輸入的PCM信號同時還送入快速傅里葉變換器。這樣,既可以通過多相濾波器組使信號具有高的時間分辨率,又可以使信號通過FFT具有高的頻率分辨率。足夠高的頻率分辨率可以實現(xiàn)盡可能低的數(shù)據(jù)率,而足夠高的時間分辨率可以確保在短暫沖擊聲音信號情況下,編碼的聲音信號也有足夠高的質(zhì)量。

由于在濾波器組信號處理需要一定的時延,因此,為了進(jìn)行時延的均衡,在FFT之前,應(yīng)設(shè)置一個時延單元,延時時間為256個樣值,在48kHz取樣頻率時相當(dāng)于5.3ms。

FFT的輸出值送入心理聲學(xué)模型進(jìn)一步處理。

(3)心理聲學(xué)模型

心理聲學(xué)模型是模擬人耳聽覺掩蔽特性的一個數(shù)學(xué)模型。相應(yīng)于1152個輸入樣值的每一幀(24ms長)都要確定比特分配,32個子頻帶的比特分配均以各子頻帶的信號掩蔽比(SMR)為基礎(chǔ)進(jìn)行計算。因此,對于每個子頻帶來說,確定用dB表示的最大信號聲級與最小掩蔽閾是必要的。

心理聲學(xué)模型利用FFT的輸出值,進(jìn)行信號掩蔽比的計算。信號掩蔽比(SMR)形成比特分配運(yùn)算的相關(guān)輸入量。

編碼器中的每個“塊”包含12個連續(xù)的樣值,在48kHz的取樣頻率下,每子帶每塊相當(dāng)于8ms。

(4)比例因子的確定和編碼

在量化前,濾波器組的輸出值應(yīng)被歸一化。比例因子是一個無量綱的系數(shù),一組數(shù)值在量化前是用比例因子標(biāo)定的,通過同時傳送相應(yīng)的比例因子,在解碼器就可以正確恢復(fù)出每個樣值相應(yīng)的幅度。每個子頻帶中12個彼此相繼的取樣值被歸并成一個塊,這是鑒于人類聽覺的時間掩蔽特性確定的,在取樣頻率為48kHz時相當(dāng)于8ms。這樣的塊長可得到比例因子低的傳輸率和整個塊中存在的量化噪聲的不可聽性之間的最佳折中。每個子帶比例因子的計算是在12個子帶樣值的塊上進(jìn)行的,在每個塊上確定出12個樣值中的最大的絕對值。

每12個樣值的最大值是不一樣大的,把它們分為63個等級,級差(或稱分辨率)為2dB,如表2-5-1所示是部分比例因子。63個比例因子,用6比特的字長來編碼,當(dāng)比例因子標(biāo)記為0時,比例因子編碼數(shù)據(jù)為“000000”,標(biāo)記為62時,比例因子編碼數(shù)據(jù)為“111110”。

比例因子的總的動態(tài)范圍(相應(yīng)于允許的節(jié)目的動態(tài)范圍)約為120dB。

只有被分配到某一子頻帶的比特數(shù)不為零時,該子帶的比例因子才被傳送。需要指出的是,在音頻幀中的比特流中傳送的比例因子(簡稱SCF)是比例因子的6比特編碼數(shù)據(jù),而不是表2-5-1中列出的比例因子的大小。根據(jù)編碼數(shù)據(jù),解碼器就會知道相應(yīng)的比例因子數(shù)值的大小,從而恢復(fù)出相應(yīng)的幅度。

表2-5-1 Layer2部分比例因子

(5)比例因子選擇信息(SCFSI)及其編碼

一個Layer2音頻幀(24ms)相應(yīng)于每子帶36個子帶樣值,因此每個子帶每幀有3個比例因子,原則上必須傳送3個比例因子,但為了降低用于傳送比例因子的數(shù)據(jù)率,應(yīng)用了一種附加的編碼手段。

比例因子的統(tǒng)計試驗表明,不僅每一時間塊的相鄰子帶比例因子有很大的依賴關(guān)系,而且在同一子帶中時間上彼此相繼的塊的比例因子也有很大的依賴關(guān)系。

第一種依賴關(guān)系表明了音頻信號的頻譜包絡(luò)曲線的特征,在較高頻率時頻譜能量分布是典型下降,比例因子從低頻子頻帶到高頻子頻帶出現(xiàn)連續(xù)降低。

第二種依賴關(guān)系,基于時間性的依賴關(guān)系,在一個子頻帶中彼此相繼的比例因子差別很小,相繼的比例因子可能出現(xiàn)大于2dB的差別的概率小于10%。

比例因子的編碼手段,一方面是根據(jù)這種統(tǒng)計聯(lián)系,另一方面是依賴于聽覺的時間同聽閾(時間掩蔽關(guān)系)。三個相連續(xù)的比例因子是共同地被考慮,并被分配為典型的比例因子樣板。根據(jù)當(dāng)時的樣板,確定傳送三個、兩個或一個比例因子。同時,還要傳送一個相應(yīng)的比例因子選擇信息(scfsi)。在靜態(tài)聲音信號時多數(shù)情況下只傳送一個比例因子,但在短的沖擊信號時,多數(shù)情況下三個比例因子都要傳送。采用這種編碼方法,平均而言用于傳送比例因子所需的數(shù)據(jù)率可以由22.5kb/s降低到7.5kb/s。

描述每子頻帶需要傳送的比例因子的數(shù)量和位置的信息稱為比例因子選擇信息,簡稱SCFSI,是逐幀變化的,比例因子選擇信息僅2比特,可編碼為“00”、“01”、“10”和“11”,分別代表傳送三個比例因子、僅傳送第一個(對第一和第二個8ms有效)和第三個比例因子、僅傳送第一個比例因子(對所有三個8ms都有效)、僅傳送第一個和第二個比例因子(第二個對比例因子對第二和第三個8ms有效)。

(6)動態(tài)比特分配信息及其編碼

將比特分配給每個子頻帶的基本原則是,使音頻幀期間的總的噪聲掩蔽比達(dá)到最小。提供使用的數(shù)據(jù)率,扣除用于傳送比例因子、比例因子選擇信息、動態(tài)比特分配(BAL),數(shù)據(jù)幀頭與必要的差錯檢測和附加數(shù)據(jù)后,用作傳送音頻取樣值。

為了同時滿足比特率和掩蔽要求,比特分配器應(yīng)考慮來自濾波器組的輸出樣值和來自心理聲學(xué)模型的信號掩蔽比(SMR)。

所謂“動態(tài)比特分配”,就是根據(jù)每個新的同聽閾的計算來變化子頻帶信號的分辨率(即量化的粗細(xì)),使音頻數(shù)據(jù)以相應(yīng)的比特分配進(jìn)行量化,由于音頻信號是不斷變化的,因此得到一個動態(tài)比特率。

動態(tài)比特分配的試驗表明,該信息只需每24ms傳輸一次,該值正好與講話和音樂信號的停頓期相吻合。對于整個動態(tài)比特分配的傳輸來說,需要的比特率僅為3.4kb/s。

需要說明的是,比特分配是一個迭代過程,從初始狀態(tài)(分配給聲音取樣值的比特數(shù)為零、比例因子的比特數(shù)為零,比例因子選擇信息的比特數(shù)為零)開始,每次迭代包括下列步驟:確定所有子頻帶的掩蔽噪聲比(MNR)的最小值;提高有最小MNR的子頻帶的量化精度;計算該子頻帶的MNR;根據(jù)所需的附加比特數(shù)不斷修改子頻帶取樣值比特數(shù),剩余比特數(shù)adb用下形式表示:

式中各項代表的意義是:

cb:可用比特數(shù);

bbal:比特分配所需的比特數(shù);

bsel:比例因子選擇信息比特數(shù);

bscf:比例因子比特數(shù);

bspl子頻帶樣值比特數(shù);

banc:附加數(shù)據(jù)業(yè)務(wù)所需的比特數(shù)。

只要adb不小于一次循環(huán)內(nèi)bspl、bsel和bscf的任何可能的增加,迭代過程就一直重復(fù)進(jìn)行下去。

(7)子帶樣值的量化與編碼

在MUSICAM編碼方法中,量化級數(shù)與子頻帶號有關(guān)。在低頻子頻帶提供15個不同的量化等級,在中頻子頻帶提供7個,在高頻子頻帶僅提供3個不同的量化等級。這些可能的量化級包括3、5、7、9、15、31、63、…、65535。

現(xiàn)將子頻帶樣值的量化和編碼的具體步驟簡述如下:

每子頻帶12個連續(xù)的樣值每個都除以比例子因子進(jìn)行歸一化,得到用X表示的值,并通過以下步驟進(jìn)行量化:

① 計算A· X+B

② 取N個最高有效位;

③ 反轉(zhuǎn)最高有效位。

AB是量化系數(shù),它與量化級相對應(yīng),如表2-5-2所示。N是每個碼字的比特數(shù)量。

表2-5-2 量化系數(shù)

在編碼時,反轉(zhuǎn)最高有效位(即“0”變?yōu)椤?”,“1”變?yōu)椤?”)是為了避免在數(shù)據(jù)流的該位置出現(xiàn)全“1”碼時與同步字相混淆,在解碼時,最高有效位必須再反轉(zhuǎn)回來。

(8)Layer2的幀結(jié)構(gòu)

編碼器中的幀形成器將比特分配、比例因子選擇信息、比例因子和量化的子頻帶樣值與幀頭信息及一些用于差錯檢測的碼字組合在一起,格式化為ISO11172-層Ⅱ的比特流,它進(jìn)一步將比特流分為音頻幀,在取樣頻率為48kHz時,每個音頻幀相當(dāng)1152個PCM音頻樣值,持續(xù)期為24ms。

如圖2-5-2所示是編碼的聲音信號的幀結(jié)構(gòu)。

圖2-5-2 MPEG-1 Layer2音頻幀結(jié)構(gòu)

每一音頻幀由幀頭開始,它由同步字(12比特)和聲音系統(tǒng)相關(guān)信息(20比特)組成。幀頭后的一個循環(huán)冗余檢驗(CRC,16比特)用以保護(hù)幀頭信息、比特分配和比例因子選擇信息區(qū)域的部分信息。CRC之后是比特分配、比例因子選擇信息和比例因子。再接著便是被解碼器用來重建PCM聲音信號的子頻帶樣值,最后是長度可變的附加數(shù)據(jù)區(qū)域。

因為ISO/MPEG音頻標(biāo)準(zhǔn)覆蓋了不同應(yīng)用的大的范圍,各種應(yīng)用所必要的所有全部參數(shù)必須在編碼幀中自己攜帶。通過這種原則,即信號的所有分析在編碼器中進(jìn)行,而只對解碼器傳送控制信息,這樣可以實現(xiàn)一種簡單的解碼器。

對于DAB系統(tǒng)應(yīng)用來說,采用了必需的具有附加特定信息的ISO11172-3層Ⅱ格式。特定信息包括擴(kuò)展節(jié)目相關(guān)數(shù)據(jù)(X-PAD)、聲音比例因子差錯校驗(SCF-CRC)和固定節(jié)目相關(guān)數(shù)據(jù)(F-PAD)。

最后,為了使讀者有一個系統(tǒng)概念,這里給出MUSICAM編碼器處理信號的流程圖,如圖2-5-3所示。

圖2-5-3 MUSICAM(Layer2)編碼器處理信號流程圖

主站蜘蛛池模板: 甘德县| 海原县| 德江县| 巴彦淖尔市| 隆回县| 紫金县| 高青县| 龙海市| 扬州市| 扶风县| 开江县| 洪湖市| 磴口县| 松潘县| 砚山县| 农安县| 陇南市| 朝阳县| 郁南县| 大安市| 兴海县| 泰顺县| 衡南县| 青铜峡市| 中阳县| 客服| 白银市| 平原县| 宁南县| 鞍山市| 定远县| 仙游县| 邵阳县| 修水县| 鸡东县| 晋江市| 丹东市| 永靖县| 古丈县| 中方县| 宜昌市|