《媒體信號編碼》課件第8章_第1頁
《媒體信號編碼》課件第8章_第2頁
《媒體信號編碼》課件第8章_第3頁
《媒體信號編碼》課件第8章_第4頁
《媒體信號編碼》課件第8章_第5頁
已閱讀5頁,還剩117頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第8章音頻編碼技術(shù)8.1音頻編碼概述

8.2感知音頻編碼理論

8.3

SBR頻帶復(fù)制技術(shù)

8.4子帶編碼與濾波器組

8.5

MP3音頻標(biāo)準(zhǔn)分析

習(xí)題與思考題

8.1音頻編碼概述

8.1.1音頻編碼技術(shù)分類

1.波形編碼技術(shù)

波形編碼是指直接對音頻信號時域或頻域波形樣值進(jìn)行編碼。它主要利用音頻樣值的幅度分布規(guī)律和相鄰樣值間的相關(guān)性進(jìn)行壓縮,目標(biāo)是力圖使重構(gòu)后的音頻信號的波形與原音頻信號波形保持一致。由于這種編碼系統(tǒng)保留了信號原始樣值的細(xì)節(jié)變化,從而保留了信號的各種過渡特征。所以,波形編碼適應(yīng)性強(qiáng),算法復(fù)雜度低,編解碼延遲小,重構(gòu)音頻信號的質(zhì)量一般較高,但壓縮比不高。常見的波形編碼方法主要有增量調(diào)制、自適應(yīng)差分脈沖編碼調(diào)制(AdaptiveDifferentialPulseCodeModulation,ADPCM)等。

2.參數(shù)編碼技術(shù)

與傳統(tǒng)的音頻編碼方法相比,參數(shù)音頻編碼對音頻信號源的模型和聽覺模型進(jìn)行了拓展。這種編碼方法假設(shè)音頻信號是由不同種類的信號成分疊加而成的,每一種信號成分都可以用一種相對簡單的音源模型或一組數(shù)目較少的特征參數(shù)來表示,同時使用聽覺模型,使解碼端重建的輸出信號盡量在聽覺上與編碼端的輸入信號一致。參數(shù)編碼技術(shù)是在信源信號頻率域或其他正交域提取特征參量并將其變換為數(shù)字代碼進(jìn)行傳輸,以及在接收端從數(shù)字代碼中恢復(fù)特征參量,并由特征參量重建音頻信號的一種編碼方式。這種方式在提取音頻特征參量時,往往會利用某種模型在幅度譜上逼近原音頻,其特點是編碼所需速率低,但音頻質(zhì)量不夠好。目前,參數(shù)編碼技術(shù)已用于寬帶音頻編碼中,特別是頻帶復(fù)制技術(shù)(SpectralBandReplication,SBR)和參數(shù)立體聲技術(shù)(ParametricStereo,PS)已經(jīng)成為MPEG的擴(kuò)展標(biāo)準(zhǔn),用于增強(qiáng)原有編解碼器的質(zhì)量。

3.感知音頻編碼技術(shù)

感知音頻編碼(PerceptualAudioCoding,PAC)在編碼形式上也屬于波形編碼,但其發(fā)展基于對音頻信號統(tǒng)計特性和人類聽覺感知特性的應(yīng)用。它有效利用心理聲學(xué)現(xiàn)象中的掩蔽效應(yīng),使用心理聲學(xué)模型,去除人耳不能感知的音頻成分,并且不用追求最小的量化噪聲,只要使量化噪聲不被人耳感知即可,所以感知音頻編碼算法既能提高音頻數(shù)據(jù)壓縮效率,又能保證對音頻信號的編解碼質(zhì)量。現(xiàn)今質(zhì)量較高的音頻編碼方案都基于感知音頻編碼算法,例如當(dāng)今世界最流行的音頻編解碼器MP3(MPEG-1AudioLayer3)及MPEG-2高級音頻編解碼器(AdvancedAudioCoding,AAC),都采用了感知音頻編碼算法。感知音頻編碼算法中廣泛應(yīng)用子帶編碼和變換編碼技術(shù),由于它們都是根據(jù)人耳對聲音信號的感知模型(心理聲學(xué)模型),分析信號頻譜,從而決定子帶樣值或頻域樣值的量化階數(shù)和其他參數(shù)的選擇,因此又可稱為感知編碼技術(shù)。

4.混合編碼技術(shù)

綜上所述,波形感知音頻編碼算法可以獲得較高的音頻編碼質(zhì)量,但是壓縮效率較低,并且由于心理聲學(xué)模型理論的限制,很難進(jìn)一步提高壓縮比;而參數(shù)編碼技術(shù)雖然可以獲得較高的壓縮效率,但是其提取的音源模型和特征參數(shù)由過于抽象,音頻編碼質(zhì)量較低。如果將感知編碼與參數(shù)編碼結(jié)合起來,采用混合編碼的方法,就可以在較低的編碼比特率下獲得較高的音質(zhì)?,F(xiàn)今功能強(qiáng)大的音頻編碼算法EAAC+(EnhancedaacPlus)和MP3Pro都是混合編碼器。EAAC+是AAC與SBR和PS相結(jié)合產(chǎn)生的,MP3Pro是MP3與SBR相結(jié)合產(chǎn)生的,在加入了參數(shù)編碼技術(shù)SBR后,原編解碼器都得到30%左右的壓縮比提高,并且EAAC+在編碼速率48kb/s以上和MP3Pro在編碼速率64kb/s以上時,都能達(dá)到接近CD的“透明”音質(zhì)。但是在編碼速率32kb/s以下時,編碼質(zhì)量有明顯缺陷,需做進(jìn)一步研究來提高質(zhì)量。8.1.2幾種常用的音頻編碼標(biāo)準(zhǔn)

1.MPEG-1音頻編碼標(biāo)準(zhǔn)

MPEG-1音頻編碼是國際上第一個真正意義上的數(shù)字音頻壓縮編碼標(biāo)準(zhǔn)。1989年,活動圖像專家組(MovingPicturesExpertGroup,MPEG)在全世界征求數(shù)字音頻的編解碼

方案,最后得到14種音頻編解碼草案。經(jīng)過篩選,保留了自適應(yīng)頻譜感知熵編碼(AdaptiveSpectralPerceptualEntropyCoding,ASPEC)、自適應(yīng)變換音頻編碼(AdaptiveTransformAudioCodling,ATAC)、掩蔽型自適應(yīng)通用子頻帶集成編碼與復(fù)用(MaskingPatternAdaptiveUniversalSubbandIntegratedCodingAndMultiplexing,MUSICAM)和SB/ADPCM這四種方案。經(jīng)過一系列測試,結(jié)果表明ASPEC和MUSICAM音質(zhì)優(yōu)良,便以此確定了MPEG-1音頻編碼三層算法(LayerⅠ、Ⅱ、Ⅲ),并在1991年11月收入MPEG-1草案,最終在1993年以國際標(biāo)準(zhǔn)ISO/IEC11172-3的形式發(fā)布。

MPEG-1的三層音頻編碼方案實質(zhì)是三種互相關(guān)聯(lián)的編碼方案,而且三層編/解碼算法按層次兼容,即高層兼容低層。三層編碼算法中,每層都支持32kHz、44.1kHz和48kHz三種采樣速率;每層都可以支持下面四種模式:

(1)立體聲(Stereo):左、右聲道的聲源是一個立體聲對。兩聲道分別編碼,形成一個比特流輸出。

(2)聯(lián)合立體聲(Joint-stereo):利用立體聲雙聲道的多余度進(jìn)行左右聲道聯(lián)合編碼,并形成一個比特流輸出。

(3)雙聲道(Dual-channel):兩個聲道的音頻內(nèi)容互不相關(guān)(如兩種語言)。兩聲道分別編碼,形成一個比特流輸出。

(4)單聲道(Single-channel):只有一個聲道有數(shù)據(jù),對該聲道數(shù)據(jù)單獨編碼形成一個比特流輸出。

三層編碼算法分別支持的壓縮比和復(fù)雜度都有所不同:層1支持輸出碼率32~448kb/s,層2支持輸出碼率32~384

kb/s,層3支持輸出碼率32~320kb/s。這三層編碼算法隨著層次的增加,其壓縮比增大、算法時延加長、算法復(fù)雜度增高。也就是說,在相同音頻感知質(zhì)量的條件下層3的碼率最低,層1的碼率最高;或者說,在相同碼率的條件下層3的音頻感知質(zhì)量最高,層1的音頻感知質(zhì)量最低;另外,層3的復(fù)雜度最高。一個由荷蘭LeonVandeKerkhof、德國GerhardStoll、法國Yves-FrancoisDehery和德國KarlheinzBrandenburg組成的工作小組吸收了Musicam和ASPEC的設(shè)計思想,并添加了他們自己的設(shè)計思想從而開發(fā)出了MP3(MPEG-1Layer3)。MP3能夠在128kb/s達(dá)到MP2(MPEG-1LayeⅡ)192kb/s音質(zhì),是目前最為流行和普及的音頻壓縮格式。它采用了子帶分解、分析濾波器組、變換域編碼、熵編碼、動態(tài)比特分配、非線性量化編碼和心理聲學(xué)分析等技術(shù),實現(xiàn)了在雙聲道128kb/s碼率條件下的接近CD音質(zhì)的音頻編碼。

MP3編碼流程如圖8-1所示。原始PCM音頻輸入信號分為兩路:一路信號送往32路多相濾波器組,將音頻信號分成時域的32個等寬的子帶信號,對每個子帶的音頻信號進(jìn)行重疊50%的MDCT,得到每個子帶的頻域系數(shù);另一路信號進(jìn)行1024點的FFT,然后對頻域的系數(shù)進(jìn)行心理聲學(xué)模型分析。為了進(jìn)行回聲控制,MDCT必須接收心理聲學(xué)模型輸出的窗類型來確定使用長窗(36點)或短窗(12點)進(jìn)行MDCT。經(jīng)MDCT輸出的頻譜系數(shù)和經(jīng)心理聲學(xué)模型輸出的心理聲學(xué)參數(shù)送往比特分配模塊確定出編碼需要的比特,再將頻譜系數(shù)采用比特分配模塊計算出的比特數(shù)進(jìn)行非線性量化,然后將量化完的系數(shù)采用Huffman編碼進(jìn)行熵編碼。最后,編碼后的頻譜數(shù)據(jù)和編碼中使用的各種信息組合成最終的音頻輸出流。圖8-1

MP3編碼框圖

2.Dolby音頻編碼標(biāo)準(zhǔn)

從20世紀(jì)80年代開始,美國Dolby(杜比)實驗室一直進(jìn)行感知音頻編碼算法及標(biāo)準(zhǔn)化工作的研究,代表性成果是由該實驗提出的AC-2和AC-3等算法,其中AC-3算法應(yīng)用得最廣泛。AC-2是一種獨立聲道編碼算法,AC-3是多聲道復(fù)合編碼算法,它已經(jīng)被美國高清晰電視(HDTV)大聯(lián)盟選定為音頻編碼算法,并在1994年10月成為美國高級電視系統(tǒng)委員會(ATSC)的音頻編碼標(biāo)準(zhǔn)。

AC-2是一種變換編碼算法,其特點是按臨界頻帶劃分子帶,對子帶的包絡(luò)和樣點進(jìn)行壓縮編碼,編碼器自適應(yīng)地控制樣點分塊的長度。該算法每個聲道的編碼速率為64~192kb/s,支持雙聲道立體聲編碼。

AC-3是AC-2的多聲道擴(kuò)展算法,支持5.1聲道技術(shù)。在5.1聲道技術(shù)中,5代表著5個基本聲道,獨立連接至五個不同的一般喇叭(20~20kHz),分別是右前(RF)、中置(C)、左前(LF)、右后(RR)、左后(LR);而1則代表1個低音聲道,連接至重低音喇叭(20~120Hz)。與此同時,杜比數(shù)字格式也支持單聲道及立體聲輸出。

AC-3編碼流程如圖8-2所示。輸入音頻信號一路經(jīng)加KBD(凱塞-貝塞爾)窗后自適應(yīng)進(jìn)行MDCT,將輸入信號從時域變換到頻域,而另一路信號經(jīng)暫態(tài)檢測器檢測出信號的變化特性,若在某個輸入音頻信號塊中信號變化比較平緩,則在進(jìn)行MDCT時使用長窗變換(512點);若輸入信號塊中信號變化比較劇烈,則使用多個短塊的MDCT(256點)。對變換后的系數(shù),AC-3采用指數(shù)/尾數(shù)編碼模式,即將MDCT輸出的頻域系數(shù)表示成尾數(shù)和指數(shù)的指數(shù)表示形式,其中尾數(shù)為規(guī)整化后的大于0小于1的數(shù),指數(shù)為0到24之間的整數(shù),為了用二進(jìn)制數(shù)對尾數(shù)進(jìn)行表示,尾數(shù)必須轉(zhuǎn)換為定點形式。然后,MDCT系數(shù)的指數(shù)和尾數(shù)送到指數(shù)編碼器和尾數(shù)量化器中進(jìn)行編碼。在進(jìn)行尾數(shù)的量化時,必須使用到比特分配模塊計算出的量化比特數(shù),為了計算該比特數(shù),必須將MDCT后的頻譜包絡(luò)送到感知模型中,通過頻譜包絡(luò)計算出掩蔽閾值,然后再分配比特數(shù)。最后,經(jīng)過編碼后的尾數(shù)和指數(shù)信息,感知模型參數(shù)及某些比特信息參數(shù)組合成AC-3碼流,完成AC-3編碼過程。圖8-2

AC-3編碼框圖

3.MPEG-2/4高級音頻編碼

MPEG-1音頻的繼續(xù)發(fā)展是MPEG-2/4音頻。在MPEG-2音頻標(biāo)準(zhǔn)的制定過程中,首先由于考慮到向下兼容MPEG-1音頻,因此,制定的音頻標(biāo)準(zhǔn)采用的關(guān)鍵技術(shù)與MPEG-1AudioLayer3類似,只是對輸出碼率和采樣率等進(jìn)行了擴(kuò)展。但是由于存在向下兼容的限制,使得該標(biāo)準(zhǔn)在編碼640kb/s以下的5聲道音頻數(shù)據(jù)時感知效果不太好。因此,為獲得更好的音頻壓縮音質(zhì)和降低信號的編碼比特率,MPEG組織發(fā)展了向下不兼容的高級音頻編碼標(biāo)準(zhǔn),這就是現(xiàn)在的MPEG-2/4AAC(AdvancedAudioCoding),國際標(biāo)準(zhǔn)號為ISO/IEC13818-7。

MPEG-2AAC由FraunhoferIIS、杜比實驗室、AT&T、Sony等公司于1997共同開發(fā)完成,目的是取代MP3格式。2000年,MPEG-4標(biāo)準(zhǔn)出現(xiàn)后,AAC重新集成了新特性,加入了SBR技術(shù)和PS技術(shù),為了區(qū)別于傳統(tǒng)的MPEG-2AAC,又稱為MPEG-4AAC。MPEG-4標(biāo)準(zhǔn)采用了許多以前音頻標(biāo)準(zhǔn)沒使用的技術(shù),如自適應(yīng)窗類型選擇、頻譜系數(shù)預(yù)測、時域噪聲成型、比特率/帶寬縮放操作等。這些新技術(shù)的應(yīng)用使得:

(1)128kb/s的AAC立體聲音頻被專家認(rèn)為不易察覺到與原來未壓縮音頻的區(qū)別;

(2)AAC格式在96kb/s碼率的表現(xiàn)超過了128kb/s的MP3格式;

(3)同樣是128kb/s,AAC格式的音質(zhì)明顯好于MP3;

(4)AAC是目前唯一一個能夠在所有的EBU試聽測試項目的獲得“優(yōu)秀”的網(wǎng)絡(luò)廣播格式。

MPEG-2AAC的編碼算法中采用了一系列的編碼工具,根據(jù)計算機(jī)處理能力和可用存儲量等系統(tǒng)資源和需獲得的音頻質(zhì)量的限制,可以選擇使用三個檔次之一進(jìn)行編碼:主檔次(MainProfile)、低復(fù)雜度檔次(LowComplexityProfile)和可縮放采樣率檔次(ScaleableSamplingRateProfile)。當(dāng)系統(tǒng)處理能力充足但存儲資源受限時采用主檔次,當(dāng)系統(tǒng)處理能力和存儲資源都受限時采用低復(fù)雜度檔次,當(dāng)存儲資源充足但系統(tǒng)處理能力受限時采用可縮放采樣率檔次。各個檔次使用和不使用的編碼工具和編碼效果如下:

(1)主檔次:采用了除增益控制之外的所有編碼工具。該檔次可獲得最佳的編碼效果。

(2)低復(fù)雜度檔次:采用了除預(yù)測、增益控制之外的所有編碼工具,同時時域噪聲成型工具使用受限。該檔次編碼效果最差。

(3)可縮放采樣率檔次:采用了增益控制工具,不采用預(yù)測和耦合聲道工具,同時時域噪聲成型工具使用受限。該檔次根據(jù)編碼帶寬限制動態(tài)地決定編碼效果,其編碼效果處于前兩個檔次之間。

AAC音頻編碼流程如圖8-3所示。輸入信號經(jīng)感知模型計算出MDCT所需的窗類型,時域噪聲成形(TNS)編碼所需的感知熵和M/S強(qiáng)度立體聲所需的若干信息,同時輸出每個子帶的信號掩蔽比到迭代循環(huán)控制模塊;同時另一路信號輸入到增益控制模塊進(jìn)行增益控制,增益控制模塊由多相濾波器組、增益檢測器和增益修改器組成,三者共同對不同比特率限制的輸入信號采用不同的增益從而完成增益控制。該模塊輸出的信號送到MDCT模塊中進(jìn)行時域到頻域的變換。在該轉(zhuǎn)換中,為了消除預(yù)回聲控制,必須根據(jù)感知模型中輸出的窗類型確定短窗或長窗的使用,即MDCT的長度是256個樣本點還是2048個樣本點。MDCT的輸出感知熵去控制TNS模塊對一幀內(nèi)的頻譜信號進(jìn)行線性預(yù)測,再將幀內(nèi)的預(yù)測殘差進(jìn)行編碼;由于只有在頻譜變換比較平穩(wěn)時使用TNS編碼預(yù)測較精確且預(yù)測殘差較小,因此在確定對于哪些幀需要進(jìn)行TNS編碼時,必須使用到感知模型輸出的感知熵,即通過感知熵來確定該幀數(shù)據(jù)是否變化比較平穩(wěn)。經(jīng)過TNS編碼后的信號再經(jīng)過M/S立體聲和強(qiáng)度立體聲模塊去除掉多聲道信號中左右聲道的相關(guān)信息。此外,以上TNS編碼模塊去除的是幀內(nèi)的冗余相關(guān)信息,為了去除幀間的冗余相關(guān)信息,可采用預(yù)測編碼,預(yù)測編碼即利用前兩幀的頻譜預(yù)測當(dāng)前幀的頻譜,然后求出幀間的預(yù)測殘差,再對預(yù)測殘差進(jìn)行編碼從而達(dá)到去除幀間冗余相關(guān)信息的目的。經(jīng)過以上TNS編碼,M/S強(qiáng)度立體聲編碼和預(yù)測編碼后,幀內(nèi)及幀間的相關(guān)冗余信息已大大減少。接著,經(jīng)過以上模塊后的頻譜信號再經(jīng)過量化和無噪聲編碼模塊得到編碼后的頻譜信號。在量化過程中,為利用人耳感知特性進(jìn)行數(shù)據(jù)壓縮,需要用到縮放因子信息,而縮放因子根據(jù)感知模塊中得到的各個子帶的信號掩蔽比并通過迭代循環(huán)控制模塊經(jīng)雙循環(huán)迭代得到,經(jīng)過量化后的信號再經(jīng)過Huffman編碼得到編碼后的頻譜數(shù)據(jù)。最后,編碼后的頻譜數(shù)據(jù)和編碼中使用的信息組合成最終的AAC碼流。圖8-3

AAC音頻編碼流程框圖8.1.3音質(zhì)比較

以下是ITU-RBS.1116對于雙聲道的立體聲編碼,其中包括MPEG-1層2、MPEG-1層3、MPEG-2AAC、DolbyAC-3編碼的主觀音質(zhì)測試。下表的測試結(jié)果顯示了不同比特率和不同音頻編碼方法的平均等級差異分,此差異分絕對值越小越好(等于0代表與基準(zhǔn)信號無差異,參見圖2-15)。表8-1顯示128kb/s的AAC碼流和192kb/s的AC3碼流顯示有最好的性能,即有最好的平均等級差異分。MPEG-2AAC是感知音頻編碼中唯一滿足ITU-RRecBS.1115定義的音質(zhì)要求的編碼,即可實現(xiàn)與CD相同的音質(zhì)。表8-1基于雙聲道的不同比特率的音頻壓縮標(biāo)準(zhǔn)音質(zhì)比較 8.2感知音頻編碼理論

8.2.1絕對聽覺閾值

首先介紹一下聲壓級(SoundPressureLevel,SPL)的定義。SPL是一個對聲音刺激強(qiáng)度大小進(jìn)行度量的物理量,單位為dB。用數(shù)學(xué)公式表示為

式中,p是聲音壓強(qiáng),單位為Pa;p0是參考聲壓,為20mPa。正常聽覺的頻率范圍為20Hz~20kHz,強(qiáng)度為-5~130dB,動態(tài)范圍大約為150dBSPL。(8-1)絕對聽覺閾值(AbsoluteThresholdofHearing)表征了在一個無噪聲環(huán)境中能被聽者所感知的純音音調(diào)的聲壓級別,用dBSPL表示。Fletcher早在1940年就報導(dǎo)了不同頻率的聽覺閾值測試結(jié)果。

絕對聽覺閾值與頻率之間的非線性函數(shù)關(guān)系如下:(8-2)在音頻信號壓縮中,以上絕對聽覺閾值可作為頻域編碼引起的失真的最大允許能量級別。正常人的絕對聽覺閾值如圖8-4所示,但必須指出兩點:①圖8-4的絕對聽覺閾值曲線是通過純音刺激得到的,而在實際的感知編碼中量化噪聲的頻譜比純音的要復(fù)雜得多。②由于算法設(shè)計者對音量控制沒有什么先驗知識,因此在編碼時曲線的最低點(4kHz附近)等同于信號能量±1比特。絕對聽覺閾值曲線呈拋物線形狀,即低頻和高頻處絕對閾值較大,而在中間頻段絕對閾值較小。進(jìn)行音頻壓縮時,當(dāng)量化誤差低于絕對聽覺閾值時,量化引起的誤差此時不能被人耳感知到,因而達(dá)到音頻壓縮的目的。圖8-4正常人絕對聽覺閾值曲線8.2.2關(guān)鍵子帶

利用絕對聽覺閾值進(jìn)行音頻壓縮只是感知編碼的第一步。那么,如何在給定任意刺激條件下對復(fù)雜的量化噪聲譜進(jìn)行絕對閾值檢測呢?事實上,刺激通常是時變的,因而閾值也應(yīng)該是時變的。為正確確定動態(tài)變化的絕對閾值,我們必須分析人耳是如何進(jìn)行頻譜分析的。人耳在進(jìn)行聲音頻譜分析時,在內(nèi)耳的耳蝸實現(xiàn)頻率到特定位置振動的轉(zhuǎn)換。工作原理如下:一個聲音刺激從鼓膜傳到聽小骨,聽小骨在將振動傳遞到內(nèi)耳的耳蝸,一旦耳蝸受到振動刺激,振動就會在耳蝸基膜傳遞并在耳蝸基膜的不同位置引起振動,這些振動轉(zhuǎn)換為與基膜相連的神經(jīng)感受器的神經(jīng)信號,從而被大腦感知。在與特定頻率對應(yīng)的基膜位置由于振動的傳遞會引起最強(qiáng)烈的刺激,因此不同的神經(jīng)感受器根據(jù)位置的不同分辨出不同的頻率帶寬。對于正弦波的聲音激勵,傳輸波形從耳蝸的輸入窗口經(jīng)耳蝸基膜傳動到對應(yīng)頻率位置附近時,波形傳輸速度減慢從而使得波形幅度達(dá)到峰值,而該峰值所在區(qū)域?qū)?yīng)的頻率稱為特征頻率。由于內(nèi)耳實現(xiàn)頻率到位置的轉(zhuǎn)換從信號處理的角度來看,在功能上內(nèi)耳相當(dāng)于一組重疊的帶通濾波器,而帶寬是非線性的,隨著頻率的增加帶寬也相應(yīng)增加。因此,把每一個帶寬稱之為一個關(guān)鍵子帶(CriticalBands)。實驗表明,對于關(guān)鍵子帶內(nèi)的一特定聲壓級別的噪聲源,當(dāng)該噪聲源帶寬在關(guān)鍵子帶的帶寬范圍內(nèi)時,無論噪聲源帶寬如何變化,人耳感受到的音量相等。人們用這個方法劃分的人耳的理想的關(guān)鍵子帶如表8-2所示。表8-2人耳的理想的關(guān)鍵子帶劃分從表8-2可以看出,關(guān)鍵子帶的帶寬在500Hz以內(nèi)為常數(shù)100Hz,超過500Hz后帶寬每次都增加中心頻率的20%。另外,關(guān)鍵子帶的帶寬也有如下的經(jīng)驗公式(f為中心頻率):

有時也把一個關(guān)鍵子帶帶寬稱為1巴克(Bark)。巴克與頻率的換算公式如下:(8-4)(8-3)8.2.3同時掩蔽

同時掩蔽指的是由于一個聲音的存在而造成另外一個聲音不能被人耳感知。當(dāng)一個或多個激勵同時發(fā)生時,此時人的聽覺就會發(fā)生掩蔽效應(yīng)。從頻域的角度來看,掩蔽信號和被掩蔽信號之間的相對形狀決定了相互間的掩蔽程度;從時域角度來看,激勵之間的相位關(guān)系決定了掩蔽效果。對于該現(xiàn)象的簡單解釋是:當(dāng)強(qiáng)噪聲或音調(diào)出現(xiàn)時會在內(nèi)耳的對應(yīng)位置引起足夠強(qiáng)的振動,從而使得內(nèi)耳無法檢測到該位置的弱信號。

1.分類

雖然復(fù)雜的音頻頻譜包括各種掩蔽場景,但出于研究編碼噪聲的目的,可將掩蔽效應(yīng)分為三類:噪聲掩蔽音調(diào)(NoiseMaskingTone,NMT)、音調(diào)掩蔽噪聲(ToneMaskingNoise,TMN)、噪聲掩蔽噪聲(NoiseMaskingNoise,NMN)。

1)NMT

在NMT掩蔽場景下,如圖8-5(a)所示,只要音調(diào)強(qiáng)度低于窄帶噪聲引起的聽力閾值之下,窄帶噪聲(帶寬為1巴克)就能掩蔽在同一個關(guān)鍵子帶的音調(diào)。掩蔽閾值或最小的信號掩蔽率(SignaltoMaskRatio,SMR)發(fā)生在被掩蔽信號的頻率接近掩蔽信號的中心頻率處。圖8-5

NMT和TMN掩蔽效果圖

2)TMN

在TMN掩蔽場景下,如圖8-5(b)所示,關(guān)鍵子帶中心頻率處的純音調(diào)能掩蔽同一個子帶內(nèi)的任何形狀的噪音,只要此噪音強(qiáng)度低于某個可預(yù)測的閾值。在圖8-5(b)中,純音調(diào)頻率為1kHz,強(qiáng)度為80dBSPL,它能掩蔽任何在同一子帶下強(qiáng)度小于56dBSPL的噪聲。

3)NMN

NMN場景下,一個窄帶噪聲掩蔽另一個窄帶噪聲,此時由于它們之間復(fù)雜的相位關(guān)系的影響,很難像TMN或NMT一樣給出具體的特性。本質(zhì)上,不同的相對相位導(dǎo)致不同的SMR值。

2.特性

1)掩蔽的不對稱性

圖8-5給出的掩蔽效果圖明顯展示了NMT和TMN之間掩蔽效果的不對稱性。在圖8-5中,雖然兩個掩蔽的強(qiáng)度相同,都為80dBSPL,但SMR值卻相差20dB,噪聲掩蔽信號效果好,而信號掩蔽噪聲效果差。事實上,這三種掩蔽特性的知識對音頻量化編碼失真的處理都很有用。在每個時域分析間隔,編碼器的感知模型應(yīng)該在音頻信號和編碼失真之間識別出此時的頻譜是類似噪音譜(noise-like)還是音調(diào)譜(tone-like),然后感知模型應(yīng)用合適的掩蔽模型。最后結(jié)合下述的掩蔽擴(kuò)散特性構(gòu)建全局的掩蔽閾值曲線。

2)掩蔽擴(kuò)散特性

由于頻率掩蔽并不局限于某一關(guān)鍵子帶內(nèi),即某一關(guān)鍵子帶的掩蔽信號除能掩蔽同一子帶的信號外,它還能掩蔽其他關(guān)鍵子帶內(nèi)的信號,這些子帶間的掩蔽效應(yīng)稱之為掩蔽擴(kuò)展。在通用音頻編碼中,該擴(kuò)展效應(yīng)可以使用式(8-5)來表征,該函數(shù)有+25dB/Bark和-10dB/Bark的正負(fù)斜率,即

其中,x的單位為Bark。在分析完關(guān)鍵子帶和掩蔽擴(kuò)散效應(yīng)后,感知編碼器的掩蔽閾值通過式(8-6)以dB給出:(8-5)(8-6)8.2.4非同時掩蔽

圖8-6給出了掩蔽信號在時域的掩蔽效果圖。從圖8-6中可以看出,除了產(chǎn)生同時掩蔽外,還造成時域的前掩蔽(被掩蔽信號在掩蔽信號前)和后掩蔽(被掩蔽信號在掩蔽信號后)。掩蔽信號持續(xù)的時間和它的強(qiáng)度決定了前后掩蔽的時間和大小。通常,前掩蔽持續(xù)約5ms,而后掩蔽持續(xù)50~300ms。后掩蔽比前掩蔽好理解。實驗表明,后掩蔽可以通過掩蔽信號的頻率、強(qiáng)度、持續(xù)時間進(jìn)行準(zhǔn)確的預(yù)測。雖然對前掩蔽進(jìn)行了許多研究,但對它的機(jī)理還是不是很清楚。事實上,關(guān)于前掩蔽的最大時間,各種文獻(xiàn)中的意見不一致。但前掩蔽與接受實驗的主觀對象有很大關(guān)系這一點大家是普遍接受的。圖8-6掩蔽效應(yīng)在時域的典型掩蔽效果8.2.5感知熵

感知熵(PerceptualEntropy,PE),即在某一音頻信號中的感知相關(guān)信息的量度,其單位為比特/樣點。目前研究表明,CD質(zhì)量的音頻可以透明(聽不出明顯失真)壓縮到2.1比特/樣點。PE的估計過程如下:首先,信號被加窗,然后轉(zhuǎn)換到頻域;然后根據(jù)掩蔽理論和感知特性得到掩蔽閾值;最后決定不產(chǎn)生可感知到的噪聲量化頻譜需要的比特數(shù)。

頻域轉(zhuǎn)換通過加漢明窗的2048點的快速傅里葉變換(FFT)實現(xiàn)。PE(單位為比特/樣點,bit/sample)的具體計算公式如下:(8-8)(8-7)8.2.6心理聲學(xué)模型2

心理聲學(xué)模型是用數(shù)學(xué)模型表征人的聽覺感知的統(tǒng)計特性。在音頻壓縮編碼中,心理聲學(xué)模型可以在主觀聽感劣化不多的條件下,大大降低數(shù)字音頻信號編碼碼率。MPEG組織在制定MPEG音頻標(biāo)準(zhǔn)時,曾經(jīng)標(biāo)準(zhǔn)化過兩個心理聲學(xué)模型,即心理聲學(xué)模型1和心理聲學(xué)模型2,原則上兩個聲學(xué)模型可以用在MPEG的任何一層。兩個聲學(xué)模型基本原理一致,但模型2在主要環(huán)節(jié)的處理上更復(fù)雜,這使得它的計算結(jié)果更精確、計算復(fù)雜度也更高。實際應(yīng)用中,MPEG-1音頻層1和層2編碼采用心理聲學(xué)模型1,層3(MP3)編碼采用心理聲學(xué)模型2,下面簡要介紹心理聲學(xué)模型2。心理聲學(xué)模型2的基本原理如下:它計算每個關(guān)鍵子帶的掩蔽閾值,由于掩蔽效應(yīng)在頻域內(nèi)進(jìn)行,所以必須對輸入的音頻信號進(jìn)行加窗傅里葉變換,從而實現(xiàn)從時域到頻域的轉(zhuǎn)換。因為有調(diào)和無調(diào)的掩蔽效應(yīng)不一樣,因而必須在輸入的音頻信號中分出有調(diào)部分和無調(diào)部分。心理聲學(xué)模型2并不直接將某一頻譜區(qū)劃分為有調(diào)和無調(diào),而是先將頻譜數(shù)據(jù)根據(jù)關(guān)鍵子帶劃分為若干關(guān)鍵子帶分區(qū),然后在每個關(guān)鍵子帶分區(qū)估算有調(diào)和無調(diào)成分的比值。具體算法是先將頻域系數(shù)轉(zhuǎn)換成極坐標(biāo)的形式,再根據(jù)前兩幀的頻域系數(shù)的極坐標(biāo)形式預(yù)測出當(dāng)前音頻幀的頻域系數(shù)的極坐標(biāo)值,并分別將預(yù)測幅度和相位與實際幅度和相位在極坐標(biāo)里進(jìn)行非預(yù)測量度計算。同時,為計算每個子帶的掩蔽閾值,必須在每個關(guān)鍵子帶先計算出子帶總能量和不可預(yù)測量,然后將不可預(yù)測量歸一化后將其作為計算每個關(guān)鍵子帶信噪比的依據(jù)。具體算法是首先根據(jù)頻率系數(shù)的幅值計算出分區(qū)總能量,根據(jù)分區(qū)各頻率處的不可預(yù)測量計算出分區(qū)不可預(yù)測量,然后將分區(qū)總能量和不可預(yù)測量與擴(kuò)展函數(shù)進(jìn)行卷積運算計算出擴(kuò)展分區(qū)能量和擴(kuò)展分區(qū)不可預(yù)測量;經(jīng)過歸一化操作后根據(jù)NMT和TMN計算出每個分區(qū)的信噪比。再根據(jù)信噪比計算出每個分區(qū)的掩蔽閾值,并與靜音的絕對閾值進(jìn)行對比,取較大的值作為該關(guān)鍵子帶區(qū)的掩蔽閾值。最后將關(guān)鍵子帶分區(qū)的閾值擴(kuò)展到整個頻譜內(nèi),并在縮放因子帶的范圍內(nèi)計算每個子帶的信噪比。同時,為確定對該音頻幀是采用長塊還是短塊進(jìn)行編碼,還必須根據(jù)分區(qū)能量和分區(qū)掩蔽閾值計算出對該音頻塊的感知熵信息,并根據(jù)感知熵的大小確定是采用長塊還是短塊進(jìn)行編碼。具體的心理聲學(xué)模型2算法如下:①對輸入音頻信號進(jìn)行加窗傅里葉變換。首先用輸入的信號重構(gòu)若干相繼樣點,在對這些樣點進(jìn)行加窗操作,實際應(yīng)用中一般采用漢明窗。然后對加窗后的信號進(jìn)行1024點的標(biāo)準(zhǔn)前向傅里葉變換,最后將變換后的數(shù)據(jù)表示成極坐標(biāo)的形式以便更精確地進(jìn)行非預(yù)測量度的計算。

漢明窗窗函數(shù)為

②計算預(yù)測幅度和相位。設(shè)r和f是上一步驟得到的每個塊處的幅度和相位,采用如下公式計算預(yù)測值:(8-9)(8-10)③計算非預(yù)測量度Cw值。計算公式如下:

④在每個分區(qū)中計算出不可預(yù)測量和分區(qū)頻率總能量。計算公式如下:(8-11)(8-12)⑤各分區(qū)能量和不可預(yù)測量與擴(kuò)展函數(shù)進(jìn)行卷積運算并歸一化,公式如下:

⑥將不可預(yù)測量轉(zhuǎn)換為聲調(diào)索引并計算出每個分區(qū)的信噪比,公式如下:

tb(b)=-0.299-0.43ln[cb(b)](8-16)

SNR(b)=tb(b)*TMN(b)+[1-tb(b)]%NMT(b)(8-17)(8-13)(8-14)(8-15)⑦計算每個分區(qū)的能量閾值,即

nb(b)=en(b)×10-SNR(b)/10(8-18)

⑧前回聲控制和靜音閾值,即

nb(b)=min{max[qsthr(b),nb(b)],max[qsthr(b),nb_l(b)*rpelev]}

(8-19)

⑨計算感知熵PE并根據(jù)其大小使用長塊或者短塊

⑩計算每個縮放因子帶的信噪比。

最后根據(jù)每個縮放因子帶的信噪比值確定對每個縮放因子帶的頻譜數(shù)據(jù)需要分配多少比特用于編碼,從而完成整個心理聲學(xué)模型的分析。(8-20) 8.3

SBR頻帶復(fù)制技術(shù)

由于人耳對低頻信號比較敏感,所能容忍的量化誤差較?。欢鴮Ω哳l信號則不那么敏感,所能容忍的誤差較大。因此,目前的數(shù)字音頻編碼技術(shù),在低速率編碼時,被迫舍棄高頻信號的編碼質(zhì)量,尤其是感知音頻編碼算法,為了避免量化誤差突破掩蔽閾值,將比特集中分配給人耳較為敏感的低頻部分,大量損失高頻部分,使音質(zhì)變的沉悶、不明亮。

為解決這個問題,CodingTechnologies(CT)公司在1997年提出SBR(SpectralBandReplication)技術(shù)。SBR是一種高頻重建技術(shù),可以有效重建高頻頻譜,解決了低碼率時的高頻損失問題,在保證同等編碼效率的條件下大幅提升可感知的音頻質(zhì)量。

MPEG組織在2003年把SBR標(biāo)準(zhǔn)化為音頻擴(kuò)展技術(shù)1(AudioExtension1),成為國際標(biāo)準(zhǔn)。SBR采用波形和參數(shù)相結(jié)合的編碼方法,其理論基礎(chǔ)是音頻信號低頻和高頻成分之間具有很大的相關(guān)性,音頻信號的高頻部分可以有效地用低頻部分重建。SBR通過分析高頻和低頻成分之間的相關(guān)性與差異性,提取反映關(guān)聯(lián)和差異的參數(shù)或函數(shù)集,然后利用低頻信號實現(xiàn)高頻重建功能。

SBR算法實質(zhì)上是音頻編碼的增強(qiáng)技術(shù),必須與核心編碼技術(shù)相結(jié)合。SBR編解碼器與核心編碼解碼器的結(jié)合框圖如圖8-7所示。一般核心編碼器的采樣頻率是SBR編碼器采樣頻率的一半,這樣可以增強(qiáng)核心編碼器的頻率解析度,并且可以增進(jìn)聽覺掩蔽作用的利用。圖8-7

SBR編解碼器系統(tǒng)框圖

SBR解碼器與核心編解碼器結(jié)合后,在結(jié)構(gòu)上,SBR編解碼器與核心編解碼器是并行的處理單元;在功能上,SBR編碼器相當(dāng)于核心編碼器的預(yù)處理過程,SBR解碼器相當(dāng)于核心解碼器的后處理過程。在編碼端,核心編碼器對輸入音頻信號的低頻部分進(jìn)行編碼,SBR編碼器負(fù)責(zé)分析、提取高頻重建所需的參數(shù)信息,并將參數(shù)碼流添加到核心編碼器碼流中。解碼端接收到碼流后,先將碼流分解,并分別傳送到核心解碼器和SBR解碼器,核心解碼器輸出解碼的低頻信號,SBR先利用核心解碼器輸出的低頻信號復(fù)制出高頻成分,然后根據(jù)提取的高頻重建參數(shù)對包絡(luò)進(jìn)行調(diào)整。SBR高頻重建過程如圖8-8所示。圖8-8

SBR高頻重建過程 8.4子帶編碼與濾波器組

8.4.1子帶編碼技術(shù)

1.子帶編碼的基本原理

子帶編碼的工作原理如圖8-9所示。首先用一組帶通濾波器將輸入信號分成若干子頻帶(簡稱子帶)信號,然后將這些子帶信號通過頻率搬移變成基帶信號,再對它們分別進(jìn)行采樣、量化和編碼,最后再將各子帶的編碼數(shù)據(jù)復(fù)接成一路數(shù)據(jù)傳輸?shù)浇邮斩?。圖8-9子帶編碼框圖每個子帶采樣頻率fsk應(yīng)滿足采樣定理的要求,為使數(shù)據(jù)率最小,一般取fsk=2Δwk,其中Δwk為第k個子帶的信號帶寬。每個子帶信號量化時,應(yīng)根據(jù)感知模型分析的結(jié)果決定子帶樣值或子帶頻域樣值的量化階數(shù)和選擇其他參數(shù),即動態(tài)比特分配。動態(tài)比特分配的原則就是使各子帶的量化噪聲盡量處于對應(yīng)子帶的掩蔽閾值以下。量化后的樣值和編碼參數(shù)都要進(jìn)行編碼,編碼方法一般采用第四章介紹的熵編碼方法。在這個過程中,關(guān)鍵是要利用有用的聲音信號將噪聲掩蔽掉,使得人耳無法察覺;同時由于子帶分析/綜合的運用,各頻帶內(nèi)的噪聲將被限制在頻帶內(nèi),不會對其他頻帶的信號產(chǎn)生影響。其結(jié)果是在一定的碼率條件下,可以達(dá)到“完全透明”的聲音質(zhì)量。

2.子帶帶寬選擇

在子帶編碼中,各子帶的帶寬Δwk可以是相等的,也可以是不等的,前者稱為等帶寬子帶編碼,后者稱為不等帶寬子帶編碼,硬件實現(xiàn)上等帶寬編碼更容易。在等帶寬條件下,子帶的帶寬Δwk為

其中,W是輸入信號總的帶寬,M是子帶總數(shù)。在不等寬子帶編碼中,常用的子帶劃分方法是令子帶帶寬隨k的增加而增加,即

Δwk+1>Δwk,

k=1,2,…,M(8-22)(8-21)也就是說,低頻子帶的帶寬窄,高頻子帶的帶寬寬。這樣做的理論依據(jù)在于研究表明,聲音信號的能量主要集中在低頻段,低頻段的子帶劃分得細(xì)一些,量化精度高一些,可使整個重建音頻信號的質(zhì)量高一些。但是,在等帶寬劃分子帶時,對重要子帶分配多的比特數(shù)、不重要子帶分配少的比特數(shù),也能獲得較好的重建音頻質(zhì)量。

子帶劃分是由濾波器組實現(xiàn)的,具體實現(xiàn)時濾波器組有兩種情況。一種情況如圖8-10(a)所示,各子帶濾波器之間有重疊的區(qū)域。第二種情況如圖8-10(b)所示,各子帶之間有一定的間隔。圖8-10四子帶濾波器組幅頻響應(yīng)特性根據(jù)帶通信號采樣定理,對第k個子帶信號采樣的最小采樣頻率fsk滿足:

(8-23)

3.數(shù)字信號的子帶編碼

以上討論的是模擬信號的子帶編碼基本原理。在實際應(yīng)用中,輸入一般都是已經(jīng)用fs=2W采樣后的數(shù)字信號,W為整個信號帶寬,此時子帶編碼靠數(shù)字抽取和內(nèi)插實現(xiàn),如圖8-11所示。圖8-11(a)是第k個子帶的工作原理框圖,而圖8-11(b)和(c)對應(yīng)于k=2、M=4的一個特例,說明其頻譜經(jīng)抽取后的變化過程。圖8-11數(shù)字信號的整數(shù)子帶編碼工作原理

4.寬帶音頻信號子帶編碼的優(yōu)點

將子帶編碼用于寬帶音頻編碼,具有語音編碼中使用子帶編碼相同的優(yōu)點,具體如下:

(1)由于音頻頻譜的非平坦性,如果對不同子帶合理地分配比特數(shù),就有可能分別控制各子帶的量化電平數(shù)目以及相應(yīng)的重建誤差方差,使碼率更精確地與各子帶的信源統(tǒng)計特性相匹配。

(2)調(diào)整不同子帶的量化比特數(shù)即可將噪聲譜按人耳的主觀噪聲感知特性來形成。

(3)各子帶的量化噪聲都束縛在本子帶內(nèi),這樣就能避免能量較小頻帶內(nèi)的輸入信號被其他頻段的量化噪聲所遮蓋。8.4.2時頻分析濾波器組設(shè)計原則

時頻分析是現(xiàn)代音頻編碼器的一個重要組成部分。時頻分析的重要工具就是濾波器組,通常這個濾波器組由許多帶通濾波器構(gòu)成,所有帶通濾波器的帶寬和等于音頻信號的頻譜帶寬。這些濾波器組將原始音頻信號分成子帶信號,然后根據(jù)心理聲學(xué)模型的掩蔽原則確定每個子帶內(nèi)的掩蔽閾值。也就是說,這些濾波器組使得心理聲學(xué)分析和量化噪聲成形變得實際可操作。另外,通過將聲音信號分成連續(xù)的頻帶信號,濾波器組也能起到減少信號冗余的作用。

濾波器組對感知音頻編碼的質(zhì)量有至關(guān)重要的作用。高效、透明的音頻信號壓縮必然有一個性能非常優(yōu)越的濾波器組。音頻信號壓縮的質(zhì)量直接與濾波器組的頻譜特性和信號的頻譜特性匹配程度有關(guān)。在設(shè)計濾波器組時,第一個問題就是在時域分辨率和頻域分辨率取得平衡(通常這兩者是矛盾的)。沒有唯一的分辨率平衡對所有信號是最優(yōu)的,這種困境如圖8-12所示。圖8-12給出了短板和短笛的時域頻域掩蔽閾值分布圖。在圖8-12中,黑的部分代表高的掩蔽閾值。為取得最大編碼效率,有許多諧波的短笛信號要求精確的頻率分辨率和低的時間分辨率,因為掩蔽閾值在時域是均勻分布,而頻域具有本地性(localized)特點;而短板信號正好相反,它需要精確的時間分辨率和粗糙的頻率分辨率。圖8-12時域頻域掩蔽閾值分布圖不幸的是,大多數(shù)音頻源既包括有調(diào)成分,又包括無調(diào)成分;另外,既有穩(wěn)定的狀態(tài),又有短暫的間隔。一句話,信號模型為非平穩(wěn)的,一般為一段時間很穩(wěn)定,然后忽然變化。因此,理想的編碼器要能自適應(yīng)地決定最優(yōu)的時間頻率分解,理想的濾波器組在時域和頻域有時變的分辨率。這個事實導(dǎo)致了算法設(shè)計者應(yīng)用混合濾波器組結(jié)構(gòu),根據(jù)信號的屬性決定時頻分辨率。濾波器組設(shè)計時模仿人的聽覺屬性,如將濾波器組設(shè)計成不等寬的關(guān)鍵子帶帶寬濾波器。這些濾波器經(jīng)過實驗證明對一些高度瞬時信號(如短板信號)特別有效。相反,這些濾波器組對類似短笛的信號就不那么有效了??傊?,如下的一些問題在設(shè)計音頻編碼濾波器時必須考慮:

(1)自適應(yīng)的時頻調(diào)整;

(2)低分辨率的關(guān)鍵子帶模式,如32個子帶;

(3)高分辨率的模式,如高達(dá)4096個子帶;

(4)高效的分辨率模式切換;

(5)最小的塊效應(yīng);

(6)好的通道隔離效果;

(7)強(qiáng)的截止帶衰減;

(8)完美的重建能力;

(9)關(guān)鍵點采樣;

(10)可得到的快速算法。8.4.3音頻編碼中常見的濾波器組和窗函數(shù)

1.偽正交鏡像濾波器組

偽正交鏡像濾波器組(Pseudo-QuadratureMirrorFiltering,PQMF)有如下特點:

(1)簡單的FIR原型濾波器;

(2)線性相位,恒定組延遲;

(3)快速算法;

(4)低復(fù)雜性;

(5)關(guān)鍵點采樣。

PQMF濾波器組的分析濾波器和綜合濾波器脈沖響應(yīng)滿足鏡像條件,即滿足(hk(n)、gk(n)分別為分析濾波器和綜合濾波器的脈沖響應(yīng)):

圖8-13給出了一個2子帶的等帶寬PQMF濾波器的頻率特性,可以看到,高通濾波器和低通濾波器的頻率特性在歸一化頻率軸上的π/2處(相當(dāng)于采樣頻率的處)互為鏡像。以上表達(dá)式確定下來后,濾波器設(shè)計的重點就是窗函數(shù)的設(shè)計了。(8-26)(8-25)(8-24)圖8-13

2子帶的等帶寬PQMF濾波器的幅頻響應(yīng)

2.余弦調(diào)制的可完美重建的M通道濾波器組

雖然PQMF濾波器組已成功應(yīng)用于感知音頻編碼,但因為其非完美的重建能力,所以在系統(tǒng)設(shè)計中必須彌補(bǔ)由此帶來的編碼失真。彌補(bǔ)策略非常簡單,如增加原型濾波器的長度。通過研究發(fā)現(xiàn),當(dāng)原型濾波器w(n)和綜合濾波器gk(n)加以適當(dāng)?shù)募s束,實現(xiàn)可重建的余弦濾波器組是可能的,如利用時域參數(shù)開發(fā)了時域混疊去除(Time-DomainAliasingCancellation,TDAC)的濾波器組、利用調(diào)制重疊變換技術(shù)(ModulatedLappedTransform,MLT)實現(xiàn)了完美重建濾波器組。目前,工程上一致認(rèn)為修正余弦變換(ModifiedDiscreteCosineTransform,MDCT)是最好的完美重建濾波器組。這些濾波器組都有一個共同特點,即滿足L=2M。由此,MDCT濾波器組的分析綜合濾波器的脈沖響應(yīng)為

MDCT正反變換的計算公式在第6章變換編碼中已經(jīng)給出,最后還剩下一個問題——原型FIR濾波器w(n)的系數(shù)確定。對于MDCT變換,一個滿足如下約束條件的窗函數(shù)也可以實現(xiàn)完全重建:

w(n)=w(2M-1-n),

w2(n)+w2(n+M)=1

(8-29)

必須指出的是,以上給出的窗函數(shù)的約束條件只是實現(xiàn)完美重建MDCT的充分條件。例如,在音頻編碼中還用到的正交或雙正交的窗函數(shù)。(8-28)(8-27)

3.窗函數(shù)

由Malvar提出的面向MDCT應(yīng)用的正弦窗函數(shù)[19]如下:

此窗函數(shù)在音頻編碼中應(yīng)用的非常普遍,如在MPEG-1Layer3的混合濾波器組、MPEG-2AAC和MPEG-4T-F濾波器組中等。這個窗函數(shù)的主要特點在于:直流分量集中在一個系數(shù)上;濾波器通道有24dB的旁瓣衰減;就編碼效率而言,它是漸進(jìn)最優(yōu)濾波器。Ferreira曾提出一個更為復(fù)雜的參數(shù)窗函數(shù)[20]。這個窗函數(shù)能平衡在時域粗量化造成的噪聲和頻域的截止帶的泄漏之間。(8-30)提高截止帶的衰減對感知編碼增益是有好處的,特別是對有豐富諧波的音頻信號。這就使杜比AC-2/AC-3、MPEG-2AAC/MPEG-4T-F算法設(shè)計者使用定制窗而不使用標(biāo)準(zhǔn)正弦窗。愷撒-貝賽爾窗(Kaiser-Bessel)是由杜比實驗室開發(fā)的替換正弦窗的窗函數(shù)。以犧牲過渡帶的靈敏性為代價,愷撒-貝賽爾窗取得了更好的阻帶衰減效應(yīng)。因此,對于某一個在特定MDCT子帶的中心頻率處的純音調(diào),愷撒-貝賽爾窗能將更多的能量集中在一個轉(zhuǎn)換系數(shù)上,從而對于有豐富音調(diào)的信號,愷撒-貝賽爾窗能減少轉(zhuǎn)換后的系數(shù),節(jié)約編碼需要的比特數(shù)。時變窗是音頻編碼窗函數(shù)研究中的另一個重點。前面已經(jīng)說過,對于一個信號,最好是能根據(jù)信號內(nèi)容決定窗函數(shù)的選擇。這也就說,窗函數(shù)是隨傳輸內(nèi)容時變的。在實踐上,MPEG音頻編碼器是通過改變窗函數(shù)的長度來實現(xiàn)時變特性的。當(dāng)一個信號變化較少且具有穩(wěn)態(tài)特性時,可通過使用長窗來取得最大的編碼效率和良好的通道隔離;當(dāng)一個信號變化較快或較大時,可通過使用短窗來取得更好的時間分辨特性、較好的前回聲控制(Preecho)和較小的時域塊噪聲。當(dāng)需要窗切換時,為實現(xiàn)完美的重建,通常要使用經(jīng)過精心設(shè)計的過渡窗函數(shù)。當(dāng)然,也有不通過窗模式切換的方式實現(xiàn)時變窗的技術(shù)。MPEG-1和杜比AC-3都使用了窗切換的方式實現(xiàn)時變窗,MPEG-1Layer3是使用過渡窗實現(xiàn)窗切換,而AC-3未使用過渡窗。8.4.4前回聲失真和前回聲控制

前回聲失真是一個很重要的噪聲,它是由于變換編碼器使用感知編碼規(guī)則引起的。當(dāng)一個很陡峭的信號出現(xiàn)在一個塊結(jié)束點附近時,編碼后會出現(xiàn)前回聲。這種情況在敲擊樂器的編碼中最容易出現(xiàn),如圖8-14所示。對于基于塊的算法,在時域編碼和量化時,由于掩蔽閾值和塊平均頻譜估計的需要,在反變換時量化噪聲將會平均分布在整個譜線上,如圖8-14(b)所示。這樣,在解碼器端就會造成未掩蔽的噪聲出現(xiàn)。雖然前掩蔽效應(yīng)可能掩蔽前回聲,但是這需要轉(zhuǎn)換塊足夠小,和典型前掩蔽持續(xù)時間持平(例如2~5ms)。敲擊聲音不是唯一的可能引起前回聲的信號。周期的音調(diào)信號包含有脈沖爆破聲時也會引起前回聲。在音頻編碼中如何減少前回聲的影響是音頻編碼的一個重要研究課題。圖8-14前回聲實例

1.比特池技術(shù)

一些編碼器采用這項技術(shù)來滿足瞬時的、大的比特數(shù)的需要。盡管大多數(shù)算法都是恒定比特率的,但實際上每幀的掩蔽閾值、瞬時的比特率都是時變的。因此,實際編碼時,需要用比特池技術(shù)平滑幾幀的數(shù)據(jù)速率。在實際幀編碼速率非常高時,需要往比特池中存儲過剩的比特數(shù);在實際幀編碼速率較低時,則從比特池中取比特,從而造成平均的固定輸出比特率。但是,處理某些信號,如周期音調(diào)信號,則需要很大的比特池。在MPEG-1Layer3中就使用了比特池技術(shù)。

2.窗切換

Elder首先引入了窗切換的方法來減小前回聲的影響。后來,這個方法普遍應(yīng)用于基于MDCT的變換算法中。窗切換方法通過改變窗長度來改變分析塊的長度從而消除或減小前回聲的影響。具體方法是:當(dāng)檢測到穩(wěn)態(tài)信號時用長窗,從而時域的分析塊變長,如典型25ms;當(dāng)檢測到瞬態(tài)信號時用短窗,從而時域的分析塊變短,如典型4ms等。有兩個原因促進(jìn)了這個方法的應(yīng)用:一是對瞬態(tài)信號用短窗能減少時域的噪聲擴(kuò)散;二是對盡量少的短窗用高的比特流壓縮來減小前回聲效應(yīng)也是很合適的。雖然窗切換的方法很成功,但還是存在很大的缺點。如前面在基于MDCT的變換中,通常需要過渡窗才能實現(xiàn)窗切換,但這會造成編碼效率的下降,另外一個問題就是會造成編碼延遲大,或者對于周期音調(diào)信號過多的使用短窗。

3.時域噪聲成形

時域噪聲成形(TemporalNoiseShaping,TNS)技術(shù)也被用來解決前回聲問題。TNS技術(shù)是一個頻域采用的技術(shù)。噪聲成形的作用是把量化噪聲轉(zhuǎn)移到頻譜數(shù)據(jù)幅度較大的部分,然后利用聽覺的掩蔽特性使得噪聲的感覺下降。在噪聲成形中,一般要用到頻域預(yù)測濾波方法。具體的做法是:對一幀內(nèi)的頻譜信號變換較平緩之處,采用一幀內(nèi)的前幾個頻譜數(shù)據(jù)預(yù)測出當(dāng)前位置的頻譜數(shù)據(jù),并與當(dāng)前位置的頻譜數(shù)據(jù)進(jìn)行比較得到預(yù)測殘差;然后對預(yù)測殘差進(jìn)行量化編碼,并使其噪聲成形于本幀內(nèi)頻譜幅度較大之處。在編碼時是否采用TNS技術(shù)取決于本幀的感知熵。當(dāng)感知熵大于預(yù)定值時就使用TNS技術(shù)。TNS技術(shù)在MPEG-2NBC音頻編碼中得到了很好的應(yīng)用。

4.其他方法

還有許多其他的控制前回聲的方法,如混合濾波器組切換和增益調(diào)整。混合濾波器組切換根據(jù)信號特點在不同的濾波器組之間進(jìn)行切換,它的難點在于切換選擇。增益調(diào)整是在頻譜分析前,先將瞬態(tài)信號的增益進(jìn)行預(yù)調(diào)整達(dá)到平滑瞬態(tài)信號的目的,然后再進(jìn)行正常的感知編碼。時變的增益和時間間隔作為邊信息寫入編碼碼流中。這種方法的主要缺點是編碼的復(fù)雜性大大增加。 8.5

MP3音頻標(biāo)準(zhǔn)分析

8.5.1

MP3音頻壓縮碼流的組成

1.碼流總體結(jié)構(gòu)

MP3音頻壓縮碼流有實際音頻幀和邏輯音頻幀的區(qū)分。實際音頻幀指的是原始的1152個音頻采樣點壓縮后形成的碼流,邏輯音頻幀是為了傳輸而設(shè)計的,它們的關(guān)系可參見8.5.2節(jié)。不做特別聲明,下文所指的幀都是邏輯幀。MP3音頻壓縮碼流是由邏輯幀一幀一幀組成的,邏輯幀是組成MP3壓縮碼流的基本單位,如圖8-15所示。

幀也有自己的結(jié)構(gòu),每幀碼流由四部分組成:頭信息、CRC校驗信息、邊信息、主數(shù)據(jù),如圖8-16所示。不過并不是每一幀都存在CRC效驗信息,是否存在CRC信息由幀頭信息中的相關(guān)標(biāo)志位指定。事實上,典型的音頻幀里面經(jīng)常不包括CRC校驗信息。圖8-15

MP3壓縮碼流的組成(每個邏輯幀固定長度)圖8-16

MP3壓縮碼流的幀組成每一幀的主數(shù)據(jù)分為兩個顆粒(Granule),每個顆粒分為兩個聲道。具體的順序為:首先是第一個顆粒的第一個聲道的信息,然后是第一個顆粒的第二個聲道的信息;接著是第二個顆粒的第一個聲道的信息,然后是第二個顆粒的第二個聲道的信息。如果是單聲道模式的話,首先是第一個顆粒的第一個聲道的信息,然后是第二個顆粒的第一個聲道的信息。每個聲道信息解碼后包含576根譜線,經(jīng)過處理后,也就是時域中的576個PCM樣點。每個聲道信息塊的內(nèi)部分為兩個部分,第一部分是量化因子信息,第二部分是Huffman碼字信息。這樣一個完整的典型音頻幀的組成結(jié)構(gòu)如圖8-17所示。圖8-17

MP3壓縮碼流的音頻幀的結(jié)構(gòu)

2.幀頭信息說明

幀頭信息共有32個比特。具體說明如下:

(1)前12個比特為同步字(SyncWord),必須全為1,即12′b1111_1111_1111。同步字標(biāo)志著一幀的開始。當(dāng)開始解碼一個MP3文件時,必須得到第一幀的位置,采用通過搜索同步字的方法得到。同步字表達(dá)成十六進(jìn)制方式時為0xfff。同步字在整個MP3文件中必須是字節(jié)對齊(ByteAligned)。

(2)同步字之后的第一個比特是ID標(biāo)志,必須為1。

(3)接下來的2個比特是Layer標(biāo)志,其中11表示這是一個MPEG-1的第一層的音頻文件,10表示是第二層的音頻文件,01表示是第三層的音頻文件,00是保留字。

(4)接下來的1個比特是protection_bit標(biāo)志,為0時表示存在CRC校驗信息,為1時表示不存在CRC校驗信息。

(5)接下來的4個比特為bitrate_index標(biāo)志,表示這一幀的碼率。具體含義如下:0000為free;0001為32kb/s;0010為40kb/s;0011為48kb/s;0100為56kb/s;0101為64kb/s;0110為80kb/s;0111為96kb/s;1100為224kb/s;1101為256kb/s;1110為320kb/s;1111為保留字。

(6)接下來的2個比特為sampling_frequency標(biāo)志,表示采樣頻率,其具體含義如下:00表示為44.1kHz;01為48kHz;10為32kHz;11為保留字。

(7)接下來的1個比特是padding_bit標(biāo)志,在計算一幀的大小的時候會用到它。

(8)接下來的1個比特是private_bit標(biāo)志。

(9)接下來的2個比特是mode標(biāo)志,表示單雙聲道及立體聲。具體含義如下:00為stereo;01為jointstereo;10為dual_channel;11為single_channel。

(10)接下來的2個比特是mode_extension標(biāo)志,當(dāng)mode標(biāo)志說明為立體聲方式時,mode_extension標(biāo)志說明哪一種joint_stereo方式被采用。具體含義如表8-3所示。

(11)接下來的1個比特是copyright標(biāo)志,0表示無版權(quán),1表示有版權(quán)。

(12)接下來的1個比特是original_copy標(biāo)志,0表示復(fù)制品,1表示原版。

(13)最后2個比特是emphasis標(biāo)志,具體含義為:00表示無加重;01表示50/15ms;10表示保留字;11表示CCITTJ.17。表8-3

Mode_extension編碼

3.CRC校驗信息

當(dāng)幀頭信息的proctection_bit為0時,說明存在CRC校驗信息,CRC校驗信息為兩個字節(jié),即16個比特。通常我們可以略過CRC校驗信息而不去處理。當(dāng)幀頭信息的protection_bit為1時,說明不存在CRC校驗信息,那么幀頭信息之后就是邊信息。

4.邊信息說明

當(dāng)幀頭信息的mode標(biāo)志說明為單聲道時,邊信息為17個字節(jié);否則為32個字節(jié)。

邊信息一開始的9個比特是所謂的main_data_begin標(biāo)志。當(dāng)main_data_begin不為0時,說明本幀的主數(shù)據(jù)部分并不是一個完整的主數(shù)據(jù),必須要用到前邊幀的主數(shù)據(jù),即必須將前邊幀主數(shù)據(jù)最后的main_data_begin個字節(jié)的數(shù)據(jù)和本幀的主數(shù)據(jù)合起來,才算是一個完整的主數(shù)據(jù)部分。當(dāng)然,如果下一幀的main_data_begin不為0的話,也說明本幀的主數(shù)據(jù)部分最后的main_data_begin(下一幀的main_data_begin數(shù)據(jù))個字節(jié)歸下一幀的主數(shù)據(jù)所有。當(dāng)然,一個MP3文件的第一幀的main_data_begin的值是一定為0的。接著是private_bits標(biāo)志。當(dāng)單聲道時它為5個比特,其他情況下為3個比特。

然后是兩個聲道的scfsi信息(scalefactorselectinformation,量化因子的選擇信息)。如果是單聲道模式的話,接下來的只是一個聲道的scfsi信息。每一個聲道的量化因子帶分為4個部分(每個部分包含幾個量化因子帶),其中每個部分的scfsi信息由一個比特組成。當(dāng)某個部分的scfsi標(biāo)志為1時,說明第二個顆粒中,這個聲道的這個部分的量化因子信息和第一個顆粒中這個聲道的這個部分的量化因子相同。也就是說,MP3文件中不再包含第二個顆粒中這個聲道的這個部分的量化因子信息。當(dāng)某個部分的scfsi標(biāo)志為0時,說明第二個顆粒中這個聲道的這個部分的量化因子信息需要從文件中獲得,和第一個顆粒的相應(yīng)數(shù)據(jù)并不相同。當(dāng)這個聲道信息的block_type為2時,它的四個scfsi標(biāo)志都為0。如果是雙聲道的話,這個部分共有8個比特;單聲道時為4個比特。

邊信息剩下的部分可以分成4個數(shù)據(jù)塊,分別是第一個顆粒的第一個聲道的信息,第一個顆粒的第二個聲道的信息,第二個顆粒的第一個聲道的信息,第二個顆粒的第二個聲道的信息。在邊信息中的每個聲道數(shù)據(jù)塊內(nèi),具體結(jié)構(gòu)如下:

(1)首先是12個比特的part2_3_length信息,表示在主數(shù)據(jù)部分本聲道信息共有多少個比特(包括量化因子部分和Huffman碼字部分的總共的大小)。

(2)接著是9個比特的big_values信息。每個聲道信息解碼后的576個譜線分為三個部分,第一個部分就是大數(shù)部分,這一部分的信息表示低頻的譜線,因為人的聽覺對低頻比較敏感,所以這一部分采用較多的比特數(shù)來量化。第二部分為01部分,這一部分量化后的數(shù)值只有0、1、-1三種可能。第三部分為r0部分,這一部分處于高頻,Huffman解碼后的數(shù)據(jù)全部為0。需要說明的是,主數(shù)據(jù)中的Huffman碼字部分只包含大數(shù)部分和01部分的數(shù)據(jù),r0部分的數(shù)據(jù)自然沒有必要出現(xiàn)了。(注意,大數(shù)部分內(nèi)部又分為三個區(qū)域,每個區(qū)域采用不同的Huffman表解碼。)其中大數(shù)部分具有big_values×2根譜線;01部分譜線的個數(shù)在Huffman解碼的時候可由part2_3_length和big_values的值計算出。

(3)接下來是8個比特的global_gain信息,這一信息在反量化的時候會用到。

(4)接下來是4個比特的scalefac_compress信息,scalefac_compress信息在讀取本聲道的量化因子信息時,會用來計算每個量化因子為多少個比特。

(5)接下來是1個比特的win_switch_flag信息。當(dāng)win_switch_flag為0時,說明本聲道的Huffman碼字部分全部為長塊。當(dāng)win_switch_flag為1時,說明有兩種可能:一種是兩個長塊加短塊,另一種可能全部是短塊。后邊的結(jié)構(gòu)隨著win_switch_flag的不同而有區(qū)別。

(1)當(dāng)win_switch_flag為1時,結(jié)構(gòu)如下:

首先是2個比特的block_type信息。具體含義為:0表示保留字;1表示開始塊;2表示3個短窗類型的塊;3表示結(jié)束塊。

然后是1個比特的mixed_block_type信息。它的含義我們稍后說明。

接下來的5個比特是table_select[0]的信息,它表示大數(shù)部分的第一個區(qū)域應(yīng)該選擇哪一個Huffman碼表進(jìn)行解碼。

然后的5個比特是table_select[1]信息,它表示大數(shù)部分的第二個區(qū)域應(yīng)該選擇哪一個Huffman碼表進(jìn)行解碼。

注意,win_switch_flag為1時,大數(shù)部分只有兩個區(qū)域,沒有第三個區(qū)域。所以沒有table_select[2]的信息。接下來是3個subblock_gain信息,每個subblock_gain信息為3個比特。在處理短塊中三個短窗的反量化時使用。排列順序為subblock_gain[0]、subblock_gain[1]、subblock_gain[2]。

當(dāng)block_type為2且mixed_block_type為0時,大數(shù)部分的第一個區(qū)域有8根譜線,否則第一個部分有7根譜線(region0_count)。

不過第一部分和第二部分共有20根譜線。所以,得到了第一個區(qū)域譜線的個數(shù)后,可以計算出第二部分譜線的個數(shù)(region1_count)。

(2)當(dāng)win_switch_flag為0時,結(jié)構(gòu)如下:

首先,本聲道的block_type為0,這是由標(biāo)準(zhǔn)所規(guī)定的。

之后,是大數(shù)部分的3個table_select信息,每個占用5個比特。排列順序為table_select[0],table_select[1],table_select[2]。

接下來的4個比特表示大數(shù)部分第一個區(qū)域的譜線個數(shù)(region0_count)。

然后的3個比特表示大數(shù)部分第二個區(qū)域的譜線個數(shù)(region1_count)。

至于第3個區(qū)域的譜線個數(shù),可以通過前兩個區(qū)域譜線的個數(shù)和big_values的值計算出來。

(3)后邊的結(jié)構(gòu)與win_switch_flag無關(guān)。

首先是1個比特的preflag信息。在進(jìn)行重新量化的時候,需要用到這個信息。

然后是1個比特的scalefac_scale信息。在進(jìn)行重新量化的時候,需要用到這個信息。

下來是一個比特的count1table_select信息。用以表示01部分選擇哪個Huffman碼表進(jìn)行解碼。(只有兩個碼表可以選擇。)

(4)對win_switch_flag、block_bype及mixed_block_type的說明。

當(dāng)win_switch_flag為0時,說明本聲道的Huffman碼字部分全為長塊。(解碼之后的譜線也為長塊。)

當(dāng)win_switch_flag為1時,若block_type不為2,仍然全部為長塊。

當(dāng)win_switch_flag為1時,若block_type為2,根據(jù)mixed_block_type的取值不同則有兩種情況。當(dāng)mixed

_block_type為1時,說明前36根譜線為2個長塊,后邊全為短塊;當(dāng)mixed_block_type為0時,說明全部為短塊。

最后需要說明的是,單聲道模式下,我們在邊信息中要讀取兩個這樣的聲道信息數(shù)據(jù)塊;否則需要讀取4個這樣的聲道信息數(shù)據(jù)塊。

5.主數(shù)據(jù)部分的大致結(jié)構(gòu)說明

每一幀的主數(shù)據(jù)部分存放著兩個顆粒的信息,單聲道時,每個顆

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論