版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、,第8章 音頻編碼技術(shù),8.1 音頻編碼概述 8.2 感知音頻編碼理論 8.3 SBR 頻帶復(fù)制技術(shù) 8.4 子帶編碼與濾波器組 8.5 MP3音頻標準分析 習題與思考題,8.1 音頻編碼概述 8.1.1 音頻編碼技術(shù)分類 1. 波形編碼技術(shù) 波形編碼是指直接對音頻信號時域或頻域波形樣值進行編碼。它主要利用音頻樣值的幅度分布規(guī)律和相鄰樣值間的相關(guān)性進行壓縮,目標是力圖使重構(gòu)后的音頻信號的波形與原音頻信號波形保持一致。由于這種編碼系統(tǒng)保留了信號原始樣值的細節(jié)變化,從而保留了信號的各種過渡特征。所以,波形編碼適應(yīng)性強,算法復(fù)雜度低,編解碼延遲小,重構(gòu)音頻信號的質(zhì)量一般較高,但壓縮比不高。常見的波形
2、編碼方法主要有增量調(diào)制、自適應(yīng)差分脈沖編碼調(diào)制(Adaptive Differential Pulse Code Modulation, ADPCM)等。,2. 參數(shù)編碼技術(shù) 與傳統(tǒng)的音頻編碼方法相比,參數(shù)音頻編碼對音頻信號源的模型和聽覺模型進行了拓展。這種編碼方法假設(shè)音頻信號是由不同種類的信號成分疊加而成的,每一種信號成分都可以用一種相對簡單的音源模型或一組數(shù)目較少的特征參數(shù)來表示,同時使用聽覺模型,使解碼端重建的輸出信號盡量在聽覺上與編碼端的輸入信號一致。,參數(shù)編碼技術(shù)是在信源信號頻率域或其他正交域提取特征參量并將其變換為數(shù)字代碼進行傳輸,以及在接收端從數(shù)字代碼中恢復(fù)特征參量,并由特征參量
3、重建音頻信號的一種編碼方式。這種方式在提取音頻特征參量時,往往會利用某種模型在幅度譜上逼近原音頻,其特點是編碼所需速率低,但音頻質(zhì)量不夠好。目前,參數(shù)編碼技術(shù)已用于寬帶音頻編碼中,特別是頻帶復(fù)制技術(shù)(Spectral Band Replication,SBR)和參數(shù)立體聲技術(shù)(Parametric Stereo, PS)已經(jīng)成為 MPEG 的擴展標準,用于增強原有編解碼器的質(zhì)量。,3. 感知音頻編碼技術(shù) 感知音頻編碼(Perceptual Audio Coding, PAC)在編碼形式上也屬于波形編碼,但其發(fā)展基于對音頻信號統(tǒng)計特性和人類聽覺感知特性的應(yīng)用。它有效利用心理聲學現(xiàn)象中的掩蔽效應(yīng),
4、使用心理聲學模型,去除人耳不能感知的音頻成分,并且不用追求最小的量化噪聲,只要使量化噪聲不被人耳感知即可,所以感知音頻編碼算法既能提高音頻數(shù)據(jù)壓縮效率,又能保證對音頻信號的編解碼質(zhì)量?,F(xiàn)今質(zhì)量較高的音頻編碼方案都基于感知音頻編碼算法,例如當今世界最流行的音頻編解碼器 MP3(MPEG-1 Audio Layer3)及MPEG-2高級音頻編解碼器(Advanced Audio Coding, AAC),都采用了感知音頻編碼算法。,感知音頻編碼算法中廣泛應(yīng)用子帶編碼和變換編碼技術(shù),由于它們都是根據(jù)人耳對聲音信號的感知模型(心理聲學模型),分析信號頻譜,從而決定子帶樣值或頻域樣值的量化階數(shù)和其他參數(shù)
5、的選擇,因此又可稱為感知編碼技術(shù)。 4. 混合編碼技術(shù) 綜上所述,波形感知音頻編碼算法可以獲得較高的音頻編碼質(zhì)量,但是壓縮效率較低,并且由于心理聲學模型理論的限制,很難進一步提高壓縮比;而參數(shù)編碼技術(shù)雖然可以獲得較高的壓縮效率,但是其提取的音源模型和特征參數(shù)由過于抽象,音頻編碼質(zhì)量較低。如果將感知編碼與參數(shù)編碼結(jié)合起來,采用混合編碼的方法,就可以在較低的編碼比特率下獲得較高的音質(zhì)。,現(xiàn)今功能強大的音頻編碼算法EAAC+(Enhanced aacPlus)和MP3Pro都是混合編碼器。EAAC+是AAC與SBR和PS相結(jié)合產(chǎn)生的,MP3Pro是MP3與SBR相結(jié)合產(chǎn)生的,在加入了參數(shù)編碼技術(shù)SB
6、R后,原編解碼器都得到30%左右的壓縮比提高,并且EAAC+在編碼速率48 kb/s以上和MP3Pro在編碼速率64 kb/s以上時,都能達到接近CD的“透明”音質(zhì)。但是在編碼速率32 kb/s以下時,編碼質(zhì)量有明顯缺陷,需做進一步研究來提高質(zhì)量。,8.1.2 幾種常用的音頻編碼標準 1. MPEG-1音頻編碼標準 MPEG-1音頻編碼是國際上第一個真正意義上的數(shù)字音頻壓縮編碼標準。1989年,活動圖像專家組(Moving Pictures Expert Group, MPEG)在全世界征求數(shù)字音頻的編解碼 方案,最后得到14種音頻編解碼草案。經(jīng)過篩選,保留了自適應(yīng)頻譜感知熵編碼(Adapti
7、ve Spectral Perceptual Entropy Coding, ASPEC)、自適應(yīng)變換音頻編碼(Adaptive Transform Audio Codling, ATAC)、掩蔽型自適應(yīng)通用子頻帶集成編碼與復(fù)用 (Masking Pattern AdaptiveUniversal Subband Integrated Coding And Multiplexing, MUSICAM)和SB/ADPCM這四種方案。經(jīng)過一系列測試,結(jié)果表明ASPEC和MUSICAM音質(zhì),優(yōu)良,便以此確定了MPEG-1音頻編碼三層算法(Layer、),并在1991年11月收入MPEG-1草案,最終
8、在1993年以國際標準ISO/IEC 11172-3的形式發(fā)布。 MPEG-1的三層音頻編碼方案實質(zhì)是三種互相關(guān)聯(lián)的編碼方案,而且三層編/解碼算法按層次兼容,即高層兼容低層。三層編碼算法中,每層都支持32 kHz、44.1 kHz和48 kHz三種采樣速率;每層都可以支持下面四種模式: (1) 立體聲(Stereo):左、右聲道的聲源是一個立體聲對。兩聲道分別編碼,形成一個比特流輸出。 (2) 聯(lián)合立體聲(Joint-stereo):利用立體聲雙聲道的多余度進行左右聲道聯(lián)合編碼,并形成一個比特流輸出。,(3) 雙聲道(Dual-channel):兩個聲道的音頻內(nèi)容互不相關(guān)(如兩種語言)。兩聲道
9、分別編碼,形成一個比特流輸出。 (4) 單聲道(Single-channel):只有一個聲道有數(shù)據(jù),對該聲道數(shù)據(jù)單獨編碼形成一個比特流輸出。 三層編碼算法分別支持的壓縮比和復(fù)雜度都有所不同:層1支持輸出碼率32448 kb/s,層2支持輸出碼率32384 kb/s,層3支持輸出碼率32320 kb/s。這三層編碼算法隨著層次的增加,其壓縮比增大、算法時延加長、算法復(fù)雜度增高。也就是說,在相同音頻感知質(zhì)量的條件下層3的碼率最低,層1的碼率最高;或者說,在相同碼率的條件下層3的音頻感知質(zhì)量最高,層1的音頻感知質(zhì)量最低;另外,層3的復(fù)雜度最高。,一個由荷蘭Leon Van de Kerkhof、德國
10、Gerhard Stoll、法國Yves-Francois Dehery和德國Karlheinz Brandenburg 組成的工作小組吸收了Musicam和ASPEC的設(shè)計思想,并添加了他們自己的設(shè)計思想從而開發(fā)出了MP3(MPEG-1 Layer 3)。MP3能夠在128 kb/s達到MP2 (MPEG-1 Laye)192 kb/s 音質(zhì),是目前最為流行和普及的音頻壓縮格式。它采用了子帶分解、分析濾波器組、變換域編碼、熵編碼、動態(tài)比特分配、非線性量化編碼和心理聲學分析等技術(shù),實現(xiàn)了在雙聲道128 kb/s碼率條件下的接近CD音質(zhì)的音頻編碼。,MP3編碼流程如圖8-1所示。原始PCM音頻輸
11、入信號分為兩路:一路信號送往32路多相濾波器組,將音頻信號分成時域的32個等寬的子帶信號,對每個子帶的音頻信號進行重疊50%的MDCT,得到每個子帶的頻域系數(shù);另一路信號進行1024點的FFT,然后對頻域的系數(shù)進行心理聲學模型分析。為了進行回聲控制,MDCT必須接收心理聲學模型輸出的窗類型來確定使用長窗(36點)或短窗(12點)進行MDCT。經(jīng)MDCT輸出的頻譜系數(shù)和經(jīng)心理聲學模型輸出的心理聲學參數(shù)送往比特分配模塊確定出編碼需要的比特,再將頻譜系數(shù)采用比特分配模塊計算出的比特數(shù)進行非線性量化,然后將量化完的系數(shù)采用Huffman編碼進行熵編碼。最后,編碼后的頻譜數(shù)據(jù)和編碼中使用的各種信息組合成
12、最終的音頻輸出流。,圖8-1 MP3編碼框圖,2. Dolby音頻編碼標準 從20世紀80年代開始,美國Dolby(杜比)實驗室一直進行感知音頻編碼算法及標準化工作的研究,代表性成果是由該實驗提出的AC-2和AC-3等算法,其中AC-3算法應(yīng)用得最廣泛。AC-2是一種獨立聲道編碼算法,AC-3是多聲道復(fù)合編碼算法,它已經(jīng)被美國高清晰電視(HDTV)大聯(lián)盟選定為音頻編碼算法,并在1994年10月成為美國高級電視系統(tǒng)委員會(ATSC)的音頻編碼標準。 AC-2是一種變換編碼算法,其特點是按臨界頻帶劃分子帶,對子帶的包絡(luò)和樣點進行壓縮編碼,編碼器自適應(yīng)地控制樣點分塊的長度。該算法每個聲道的編碼速率為
13、64192 kb/s,支持雙聲道立體聲編碼。,AC-3是AC-2的多聲道擴展算法,支持5.1聲道技術(shù)。在5.1聲道技術(shù)中,5代表著5個基本聲道,獨立連接至五個不同的一般喇叭(2020 kHz),分別是右前(RF)、中置(C)、左前(LF)、右后(RR)、左后(LR);而1則代表1個低音聲道,連接至重低音喇叭(20120 Hz)。與此同時,杜比數(shù)字格式也支持單聲道及立體聲輸出。 AC-3編碼流程如圖8-2所示。輸入音頻信號一路經(jīng)加KBD(凱塞-貝塞爾)窗后自適應(yīng)進行MDCT,將輸入信號從時域變換到頻域,而另一路信號經(jīng)暫態(tài)檢測器檢測出信號的變化特性,若在某個輸入音頻信號塊中信號變化比較平緩,則在進
14、行MDCT時使用長窗變換(512點);若輸入信號塊中信號變化比較劇烈,則使用多個短塊的MDCT(256點)。對變,換后的系數(shù),AC-3采用指數(shù)/尾數(shù)編碼模式,即將MDCT輸出的頻域系數(shù)表示成尾數(shù)和指數(shù)的指數(shù)表示形式,其中尾數(shù)為規(guī)整化后的大于0小于1的數(shù),指數(shù)為0到24之間的整數(shù),為了用二進制數(shù)對尾數(shù)進行表示,尾數(shù)必須轉(zhuǎn)換為定點形式。然后,MDCT系數(shù)的指數(shù)和尾數(shù)送到指數(shù)編碼器和尾數(shù)量化器中進行編碼。在進行尾數(shù)的量化時,必須使用到比特分配模塊計算出的量化比特數(shù),為了計算該比特數(shù),必須將MDCT后的頻譜包絡(luò)送到感知模型中,通過頻譜包絡(luò)計算出掩蔽閾值,然后再分配比特數(shù)。最后,經(jīng)過編碼后的尾數(shù)和指數(shù)信
15、息,感知模型參數(shù)及某些比特信息參數(shù)組合成AC-3碼流,完成AC-3編碼過程。,圖8-2 AC-3編碼框圖,3. MPEG-2/4高級音頻編碼 MPEG-1音頻的繼續(xù)發(fā)展是MPEG-2/4音頻。在MPEG-2音頻標準的制定過程中,首先由于考慮到向下兼容MPEG-1音頻,因此, 制定的音頻標準采用的關(guān)鍵技術(shù)與MPEG-1 Audio Layer 3類似,只是對輸出碼率和采樣率等進行了擴展。但是由于存在向下兼容的限制,使得該標準在編碼640 kb/s以下的5聲道音頻數(shù)據(jù)時感知效果不太好。因此, 為獲得更好的音頻壓縮音質(zhì)和降低信號的編碼比特率,MPEG組織發(fā)展了向下不兼容的高級音頻編碼標準,這就是現(xiàn)在
16、的MPEG-2/4 AAC(Advanced Audio Coding),國際標準號為ISO/IEC 13818-7。,MPEG-2 AAC由Fraunhofer IIS、杜比實驗室、AT 二是對盡量少的短窗用高的比特流壓縮來減小前回聲效應(yīng)也是很合適的。雖然窗切換的方法很成功,但還是存在很大的缺點。如前面在基于MDCT的變換中,通常需要過渡窗才能實現(xiàn)窗切換,但這會造成編碼效率的下降,另外一個問題就是會造成編碼延遲大,或者對于周期音調(diào)信號過多的使用短窗。,3. 時域噪聲成形 時域噪聲成形(Temporal Noise Shaping, TNS)技術(shù)也被用來解決前回聲問題。TNS技術(shù)是一個頻域采用
17、的技術(shù)。噪聲成形的作用是把量化噪聲轉(zhuǎn)移到頻譜數(shù)據(jù)幅度較大的部分,然后利用聽覺的掩蔽特性使得噪聲的感覺下降。在噪聲成形中,一般要用到頻域預(yù)測濾波方法。具體的做法是:對一幀內(nèi)的頻譜信號變換較平緩之處,采用一幀內(nèi)的前幾個頻譜數(shù)據(jù)預(yù)測出當前位置的頻譜數(shù)據(jù),并與當前位置的頻譜數(shù)據(jù)進行比較得到預(yù)測殘差;然后對預(yù)測殘差進行量化編碼,并使其噪聲成形于本幀內(nèi)頻譜幅度較大之處。在編碼時是否采用TNS技術(shù)取決于本幀的感知熵。當感知熵大于預(yù)定值時就使用TNS技術(shù)。TNS技術(shù)在MPEG-2 NBC音頻編碼中得到了很好的應(yīng)用。,4. 其他方法 還有許多其他的控制前回聲的方法,如混合濾波器組切換和增益調(diào)整?;旌蠟V波器組切換
18、根據(jù)信號特點在不同的濾波器組之間進行切換,它的難點在于切換選擇。增益調(diào)整是在頻譜分析前,先將瞬態(tài)信號的增益進行預(yù)調(diào)整達到平滑瞬態(tài)信號的目的,然后再進行正常的感知編碼。時變的增益和時間間隔作為邊信息寫入編碼碼流中。這種方法的主要缺點是編碼的復(fù)雜性大大增加。,8.5 MP3音頻標準分析 8.5.1 MP3音頻壓縮碼流的組成 1. 碼流總體結(jié)構(gòu) MP3音頻壓縮碼流有實際音頻幀和邏輯音頻幀的區(qū)分。實際音頻幀指的是原始的1152個音頻采樣點壓縮后形成的碼流,邏輯音頻幀是為了傳輸而設(shè)計的,它們的關(guān)系可參見8.5.2節(jié)。不做特別聲明,下文所指的幀都是邏輯幀。MP3音頻壓縮碼流是由邏輯幀一幀一幀組成的,邏輯幀
19、是組成MP3壓縮碼流的基本單位,如圖8-15所示。,幀也有自己的結(jié)構(gòu),每幀碼流由四部分組成:頭信息、CRC校驗信息、邊信息、主數(shù)據(jù),如圖8-16所示。 不過并不是每一幀都存在CRC效驗信息,是否存在CRC信息由幀頭信息中的相關(guān)標志位指定。事實上,典型的音頻幀里面經(jīng)常不包括CRC校驗信息。,圖8-15 MP3壓縮碼流的組成(每個邏輯幀固定長度),圖8-16 MP3壓縮碼流的幀組成,每一幀的主數(shù)據(jù)分為兩個顆粒(Granule),每個顆粒分為兩個聲道。具體的順序為:首先是第一個顆粒的第一個聲道的信息,然后是第一個顆粒的第二個聲道的信息;接著是第二個顆粒的第一個聲道的信息,然后是第二個顆粒的第二個聲道
20、的信息。如果是單聲道模式的話,首先是第一個顆粒的第一個聲道的信息,然后是第二個顆粒的第一個聲道的信息。每個聲道信息解碼后包含576根譜線,經(jīng)過處理后,也就是時域中的576個PCM樣點。每個聲道信息塊的內(nèi)部分為兩個部分,第一部分是量化因子信息,第二部分是Huffman碼字信息。這樣一個完整的典型音頻幀的組成結(jié)構(gòu)如圖8-17所示。,圖8-17 MP3壓縮碼流的音頻幀的結(jié)構(gòu),2. 幀頭信息說明 幀頭信息共有32個比特。具體說明如下: (1) 前12個比特為同步字(Sync Word),必須全為1,即12b1111_1111_1111。同步字標志著一幀的開始。當開始解碼一個MP3文件時,必須得到第一幀
21、的位置,采用通過搜索同步字的方法得到。同步字表達成十六進制方式時為0 xfff。同步字在整個MP3文件中必須是字節(jié)對齊(Byte Aligned)。 (2) 同步字之后的第一個比特是ID標志,必須為1。 (3) 接下來的2個比特是Layer標志,其中11表示這是一個MPEG-1的第一層的音頻文件,10表示是第二層的音頻文件,01表示是第三層的音頻文件,00是保留字。,(4) 接下來的1個比特是protection_bit標志,為0時表示存在CRC校驗信息,為1時表示不存在CRC校驗信息。 (5) 接下來的4個比特為bitrate_index標志,表示這一幀的碼率。 具體含義如下:0000為fr
22、ee; 0001為32 kb/s;0010為40 kb/s;0011為48 kb/s;0100為56 kb/s;0101為64 kb/s;0110為80 kb/s;0111為96 kb/s;1100為224 kb/s;1101為256 kb/s;1110為320 kb/s;1111為保留字。 (6) 接下來的2個比特為sampling_frequency標志,表示采樣頻率,其具體含義如下:00表示為44.1 kHz;01為48 kHz;10為32 kHz;11為保留字。 (7) 接下來的1個比特是padding_bit標志,在計算一幀的大小的時候會用到它。 (8) 接下來的1個比特是priva
23、te_bit標志。,(9) 接下來的2個比特是mode標志,表示單雙聲道及立體聲。具體含義如下:00為stereo;01為joint stereo;10為dual_channel;11為single_channel。 (10) 接下來的2個比特是mode_extension標志,當mode標志說明為立體聲方式時,mode_extension標志說明哪一種joint_stereo方式被采用。具體含義如表8-3所示。 (11) 接下來的1個比特是copyright標志,0表示無版權(quán),1表示有版權(quán)。 (12) 接下來的1個比特是original_copy標志,0表示復(fù)制品,1表示原版。 (13) 最
24、后2個比特是emphasis標志,具體含義為:00表示無加重;01表示50/15 ms;10表示保留字;11表示CCITT J.17。,表8-3 Mode_extension編碼,3. CRC校驗信息 當幀頭信息的proctection_bit為0時,說明存在CRC校驗信息,CRC校驗信息為兩個字節(jié),即16個比特。通常我們可以略過CRC校驗信息而不去處理。當幀頭信息的protection_ bit為1時, 說明不存在CRC校驗信息,那么幀頭信息之后就是邊信息。,4. 邊信息說明 當幀頭信息的mode標志說明為單聲道時,邊信息為17個字節(jié);否則為32個字節(jié)。 邊信息一開始的9個比特是所謂的mai
25、n_data_begin標志。當main_data_begin不為0時,說明本幀的主數(shù)據(jù)部分并不是一個完整的主數(shù)據(jù),必須要用到前邊幀的主數(shù)據(jù),即必須將前邊幀主數(shù)據(jù)最后的main_data_begin個字節(jié)的數(shù)據(jù)和本幀的主數(shù)據(jù)合起來,才算是一個完整的主數(shù)據(jù)部分。當然,如果下一幀的main_data_begin不為0的話,也說明本幀的主數(shù)據(jù)部分最后的main_data_begin(下一幀的main_data_begin數(shù)據(jù))個字節(jié)歸下一幀的主數(shù)據(jù)所有。當然,一個MP3文件的第一幀的main_data_begin的值是一定為0的。,接著是private_bits標志。當單聲道時它為5個比特,其他情況
26、下為3個比特。 然后是兩個聲道的scfsi信息(scale factor select information,量化因子的選擇信息)。如果是單聲道模式的話,接下來的只是一個聲道的scfsi信息。每一個聲道的量化因子帶分為4個部分(每個部分包含幾個量化因子帶),其中每個部分的scfsi信息由一個比特組成。當某個部分的scfsi標志為1時,說明第二個顆粒中,這個聲道的這個部分的量化因子信息和第一個顆粒中這個聲道的這個部分的量化因子相同。也就是說,MP3文件中不再包含第二個顆粒中這個聲道的這個部分的量化因子信息。當某個部分的scfsi標志為0時,說明第二個顆粒中這個聲道的這個部分的量化因子信息,需要
27、從文件中獲得,和第一個顆粒的相應(yīng)數(shù)據(jù)并不相同。當這個聲道信息的block_type為2時,它的四個scfsi標志都為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信息。
28、每個聲道信息解碼后的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_ values2根譜線;01部分譜線的個數(shù)在Huffman解碼的時候可由part2
29、_3_length和big_values的值計算出。,(3) 接下來是8個比特的global_gain信息,這一信息在反量化的時候會用到。 (4) 接下來是4個比特的scalefac_compress信息,scalefac_compress信息在讀取本聲道的量化因子信息時,會用來計算每個量化因子為多少個比特。 (5) 接下來是1個比特的win_switch_flag信息。當win_ switch_flag為0時,說明本聲道的Huffman碼字部分全部為長塊。當win_switch_flag為1時,說明有兩種可能:一種是兩個長塊加短塊,另一種可能全部是短塊。,后邊的結(jié)構(gòu)隨著win_switch_
30、flag的不同而有區(qū)別。 (1) 當win_switch_flag為1時,結(jié)構(gòu)如下: 首先是2個比特的block_type信息。 具體含義為:0表示保留字;1表示開始塊;2表示3個短窗類型的塊;3表示結(jié)束塊。 然后是1個比特的mixed_block_type信息。它的含義我們稍后說明。 接下來的5個比特是table_select0的信息,它表示大數(shù)部分的第一個區(qū)域應(yīng)該選擇哪一個Huffman碼表進行解碼。 然后的5個比特是table_select1信息,它表示大數(shù)部分的第二個區(qū)域應(yīng)該選擇哪一個Huffman碼表進行解碼。 注意,win_switch_flag為1時,大數(shù)部分只有兩個區(qū)域,沒有第
31、三個區(qū)域。所以沒有table_select2的信息。,接下來是3個subblock_gain信息,每個subblock_gain信息為3個比特。在處理短塊中三個短窗的反量化時使用。排列順序為subblock_gain0、subblock_gain1、subblock_gain2。 當block_type為2且mixed_block_type為0時,大數(shù)部分的第一個區(qū)域有8根譜線,否則第一個部分有7根譜線(region0_ count)。 不過第一部分和第二部分共有20根譜線。所以,得到了第一個區(qū)域譜線的個數(shù)后,可以計算出第二部分譜線的個數(shù)(region1_count)。,(2) 當win_sw
32、itch_flag為0時,結(jié)構(gòu)如下: 首先,本聲道的block_type為0,這是由標準所規(guī)定的。 之后,是大數(shù)部分的3個table_select信息,每個占用5個比特。排列順序為table_select0, table_select1,table_ select2。 接下來的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個比特的p
33、reflag信息。在進行重新量化的時候,需要用到這個信息。 然后是1個比特的scalefac_scale信息。在進行重新量化的時候,需要用到這個信息。 下來是一個比特的count1table_select信息。用以表示01部分選擇哪個Huffman碼表進行解碼。(只有兩個碼表可以選擇。),(4) 對win_switch_flag、block_bype及mixed_block_type的說明。 當win_switch_flag為0時,說明本聲道的Huffman碼字部分全為長塊。(解碼之后的譜線也為長塊。) 當win_switch_flag為1時,若block_type不為2,仍然全部為長塊。 當
34、win_switch_flag為1時,若block_type為2,根據(jù)mixed_block_type的取值不同則有兩種情況。當mixed _block_type為1時,說明前36根譜線為2個長塊,后邊全為短塊;當mixed_block_type為0時,說明全部為短塊。 最后需要說明的是,單聲道模式下,我們在邊信息中要讀取兩個這樣的聲道信息數(shù)據(jù)塊;否則需要讀取4個這樣的聲道信息數(shù)據(jù)塊。,5. 主數(shù)據(jù)部分的大致結(jié)構(gòu)說明 每一幀的主數(shù)據(jù)部分存放著兩個顆粒的信息,單聲道時,每個顆粒存放一個聲道的數(shù)據(jù)。圖8-18為主數(shù)據(jù)部分的大致結(jié)構(gòu),圖中為雙聲道時的情形。,圖8-18 主數(shù)據(jù)結(jié)構(gòu),每個聲道信息包括量
35、化因子信息和Huffman碼字信息。 在處理每個聲道的時候,我們首先要取得它的量化因子信息。對于每個聲道而言,在邊信息中存有它的一個scalefac_compress信息。使用scalefac_compress的值查表,可以得到slen1和slen2兩個信息,如表8-4所示。,表8-4 量化因子的長度,8.5.2 MP3音頻壓縮碼流的比特池技術(shù) 為了最大可能地壓縮音頻信號,同時又保證接近CD質(zhì)量的音質(zhì)和滿足恒定比特流的要求,MP3在編碼時采用了一種稱為“比特池”的技術(shù)。簡單地說,“比特池”技術(shù)就是在進行編碼時,如果當前音頻幀適合壓縮,那么就可以用更少的比特編碼;反之,就需要用更多比特進行編碼。
36、但是,這樣帶來的一個問題就是每個音頻幀實際需要的編碼比特數(shù)是不一樣的。實際的MP3壓縮碼流是以邏輯幀(通過同步字區(qū)分)為單位的,每個邏輯幀的大小一樣(最多差一個字節(jié)),這樣就需要編碼復(fù)雜的音頻幀時從“比特池”取出額外比特,編碼簡單的音頻幀還給“比特池”比特。這種復(fù)雜的比特池技術(shù)造,成由同步字劃分的音頻邏輯幀包含的主數(shù)據(jù)不一定就是本幀音頻實際的編碼數(shù)據(jù)。本幀音頻實際的編碼數(shù)據(jù)一般在前面幀(最多兩幀)或者本幀中,但絕對不會出現(xiàn)在后面的音頻幀的主數(shù)據(jù)中。比特池技術(shù)如圖8-19所示。,圖8-19 MP3碼流中的比特池技術(shù),8.5.3 MP3音頻壓縮碼流解碼流程 根據(jù)ISO 11172-3音頻標準,MP
37、3解碼流程如圖8-20所示。其中關(guān)鍵的耗時解碼模塊分別是Huffman解碼、反量化、IMDCT、子帶綜合。,圖8-20 MP3解碼程序流程框圖,1. Huffman解碼 Hufman解碼是Huffman編碼的逆過程,Huffman編碼屬于無損壓縮編碼,這也就是說,Huffman解碼以后得到的數(shù)據(jù)應(yīng)該和Huffman編碼之前的數(shù)據(jù)完全一致。Huffman解碼一般通過查表完成,不同的查表方法需要的碼表大小和完成周期數(shù)不一樣。每個音頻顆粒在Huffman解碼之后得到的數(shù)據(jù)isi如圖8-21所示,Big_values是大值區(qū),一個Huffman碼字對應(yīng)2個isi;Count1是1值區(qū)(這個區(qū)內(nèi)的isi的值不大于1),一個Huffman碼字對應(yīng)4個isi; rzero是0值區(qū)(這個區(qū)內(nèi)的isi值都為0),不需要Huffman碼字。,圖8-21 Huffman解碼完成后isi的值的分布情況,2. 反量化 反量化的作用是恢復(fù)原始的音頻頻譜值xri。我們知道,量化是有損的,這就是說,在編碼端量化前的音頻頻譜值與反量化后的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 景區(qū)門票退票手續(xù)規(guī)范制度
- 河南省新鄉(xiāng)市2026屆高二上生物期末達標檢測模擬試題含解析
- 食品企業(yè)衛(wèi)生監(jiān)控制度
- 2026安徽蚌埠自貿(mào)區(qū)城發(fā)人力資源有限公司第一期招聘6人備考題庫及完整答案詳解1套
- 2026上半年重慶事業(yè)單位聯(lián)考重慶市屬單位招聘高層次和緊缺人才310人備考題庫完整答案詳解
- 2026廣東深圳市福田區(qū)總工會招聘工會社會工作者6人備考題庫及答案詳解參考
- 2026對外經(jīng)濟貿(mào)易大學事業(yè)編專職輔導(dǎo)員、其他專技人員招聘備考題庫及完整答案詳解1套
- 2026內(nèi)蒙古昌都市丁青縣消防救援大隊補招政府專職消防員4人備考題庫及答案詳解參考
- 2026四川巴中市通江產(chǎn)業(yè)投資集團有限公司及下屬企業(yè)招聘11人備考題庫及答案詳解一套
- 銀行票據(jù)管理財務(wù)制度
- 市政管網(wǎng)工程投標方案(技術(shù)方案)
- JT∕T 1496-2024 公路隧道施工門禁系統(tǒng)技術(shù)要求
- 2024版美團商家合作協(xié)議合同范本
- 一年級上冊數(shù)學應(yīng)用題50道(重點)
- 嵌入式系統(tǒng)實現(xiàn)與創(chuàng)新應(yīng)用智慧樹知到期末考試答案章節(jié)答案2024年山東大學
- 線纜及線束組件檢驗標準
- 人教部編版語文三年級下冊生字表筆順字帖可打印
- 口述史研究活動方案
- 房屋租賃合同txt
- 珍稀植物移栽方案
- THBFIA 0004-2020 紅棗制品標準
評論
0/150
提交評論