国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于小波變換的音頻信號壓縮編/解碼方法

      文檔序號:2829876閱讀:1025來源:國知局
      專利名稱:一種基于小波變換的音頻信號壓縮編/解碼方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)壓縮方法,尤其是基于小波變換的音頻信號壓縮編/解碼方法。
      目前廣泛使用的寬帶音頻壓縮,主要采用MPEG-1或2、杜比AC-3等標準,用于CD、MD、MPC、VCD、DVD、HDTV和電影配音等。MPEG音頻壓縮標準為許多音頻數(shù)據(jù)定義了多種算法,都采用了子帶劃分并利用人類聽覺心理聲學模型壓縮的方法。MPEG音頻的基本算法為子帶分解將輸入的音頻信號分解成多個頻帶,然后進行比例因子處理和量化,每一個子帶的量化步長選擇由頻域分析函數(shù)完成對采樣值進行編碼(層次1和2為定長,層次3為Huffman可變長編碼),并用附加信息進行格式化以便于傳輸。解碼器解包并對系數(shù)和附加信息進行解碼和逆量化,將樣本映射回重構(gòu)值;在每個子帶上都用合適的比例因子將其放大,并應(yīng)用子帶分解去覆蓋一個時域信號。數(shù)字音頻信號源,不管是單聲道還是立體聲,采樣頻率對于MPEG-1為32、44.1或48kHz,或?qū)τ贛PEG-2為16、22.05、24、44.1或48kHz。源數(shù)據(jù)都要進行子帶分解,比例因子處理并量化后進行編碼。解碼器首先逆編碼,逆量化,逆縮放和子帶組合重構(gòu)源信號。在子帶分解方面,對于層1和層2,MPEG采用32個等帶寬正交鏡像濾波器組(QMF)進行子帶濾波;對于層3,MPEG采用QMF后緊跟MDCT的方法使頻率分辨率提高到一個更好的層次。通過該濾波器可以有效地分離出最多576個子頻帶。子帶分解都嚴格采樣,每個子帶的采樣率乘以子帶數(shù)應(yīng)為總的采樣率。在現(xiàn)有音視頻信號的壓縮算法中,都采用了子帶分解來進行壓縮編碼。例如在MPEG中,利用32個等帶寬的多相濾波器組(multiplephase filter bands)對信號進行處理,得到32個等寬子帶上的信號樣本,進而通過心理聲學模型對各個子帶樣本進行壓縮。等帶寬多相濾波器組的優(yōu)勢是各子帶濾波器的階數(shù)相同,計算中不存在延遲問題,且濾波器具有較好的抗混疊性質(zhì)。但是利用等帶寬的濾波器組的不可避免的缺陷在于不能充分的利用人耳的聽覺特性實現(xiàn)冗余信息的最大限度的去除,即實現(xiàn)更高壓縮比下的無失真編碼。在傳統(tǒng)的子帶編碼中,對人的心理聲學模型并沒有很好的利用,原因在于,能夠接近人耳的聽覺特性的非等帶寬濾波器組設(shè)計涉及一些技術(shù)方面的困難。例如,MPEG用32個等帶寬的子帶濾波器組來劃分人耳聽覺的頻率帶寬。在這種子帶的劃分中,在低頻部分一個子帶包含多個臨界頻帶,而在高頻部分,一個臨界頻帶有被分成多個子帶,子帶的利用效率很低,不可能很好的逼近人耳的聽覺特性(在低頻部分尤其如此)。利用這種濾波器組進行音頻壓縮編碼,技術(shù)實現(xiàn)上比較簡單,但人耳的聽覺特性的利用率是有限的,很難實現(xiàn)高壓縮比的無失真編碼。
      本發(fā)明的主要目的是提供一種基于小波的音頻信號編/解碼方法,以使得對寬帶音頻信號的音樂進行處理時,在同樣采用心理聲學模型的情況下,無失真壓縮率(相對意義上)比通常MPEG有明顯的提高。
      本發(fā)明主要是針對MPEG寬帶音頻壓縮算法的改進,用小波技術(shù)取代傳統(tǒng)的濾波器組,結(jié)合人耳的聽覺特性,實現(xiàn)高增益、高質(zhì)量的音頻編碼,并解決了小波技術(shù)應(yīng)用于音頻壓縮編解碼中的濾波及提高預(yù)算速度等幾項核心問題。為達到此目的,對音頻信號按如下方法進行編/解碼操作。編碼過程(1)從麥克風或其它輸入線路采入音頻信號(2)經(jīng)低通濾波器濾除高頻信號(3)經(jīng)模擬數(shù)字轉(zhuǎn)換器轉(zhuǎn)換后成為數(shù)字信號PCM流(4)數(shù)字信號進入數(shù)字信號處理器,移入128點新樣本于緩沖池,同時從緩沖池中移出128點最舊的樣本(此緩沖池長度為1250個點)(5)將該緩沖池中的序列分別與16個小波分析濾波器(分析濾波器的實現(xiàn)方法在下面單獨說明)卷積,并進行臨界再采樣,獲16個分解序列對應(yīng)16個頻帶,由于子帶的非均勻性,各子帶的再采樣率是不一樣的,具體如下子帶1~4抽樣各為1個樣本,子帶5~6各為2個樣本,子帶7~13各為8個樣本,子帶14~15各為16個樣本,子帶16為32個樣本;(6)以3*128點為一個群,這樣各子帶中的樣本數(shù)為原來的三倍,即子帶1~4中各有3個樣本,子帶5~6各有6個樣本,子帶7~13各有24個樣本,子帶14~15各有48個樣本,子帶16有96個樣本;分別找出各子帶的尺度因子(方法同MP2),將各子帶歸一化;(7)同時該3*128點的頻譜信息,代入心理聲學模型(1或2),求得各子帶的量化位數(shù);(8)根據(jù)(4)獲得的量化位數(shù)量化各子帶中的樣本,量化方法如下設(shè)每子帶的量化位數(shù)為a,該子帶的樣本數(shù)為Num,則各樣本的量化后結(jié)果為bb=a>>(16-Num)(9)無失真編碼(采用霍夫曼編碼);(10)打包,編碼輸出;(11)單片機讀入壓縮碼流,寫入存儲介質(zhì)。解碼過程(1)單片機從存儲介質(zhì)或PC上讀入壓縮碼流;(2)將壓縮碼流傳入DSP;(3)輸入編碼序列,以與編碼過程相反的順序解包及霍夫曼解,還原為16個子帶上的樣本,推入16個緩沖池;(4)將各子帶上的樣本反量化,同時除于尺度因子;(5)相應(yīng)于編碼過程(2)中的再采樣,將各子帶上的樣本間插零值,具體個數(shù)為子帶1~4中2個樣本間插入127個零,子帶5~6中2個樣本間插入63個零,子帶7~13中2個樣本間插入15個零,子帶14~15中2個樣本間插入7個零,子帶16中2個樣本間插入3個零;(6)將16個緩沖池中的序列與合成濾波器組分別卷積各得128個數(shù)據(jù),將16個128點對應(yīng)相加的一128點序列,該序列即為輸出值;(7)輸出該序列,形成PCM流;(8)PCM流經(jīng)數(shù)字模擬轉(zhuǎn)換器轉(zhuǎn)換后形成模擬信號;(9)模擬信號通過低通濾波器濾去高頻信號;(10)濾去高頻信號的模擬信號經(jīng)耳機或揚聲器播出。
      本發(fā)明上述編碼過程步驟(5)中的分析慮波器的實現(xiàn)方法利用卷積對線性系統(tǒng)滿足結(jié)合律的特點,把各個小波濾波器先進行卷積運算;另一方面考慮上下采樣的影響來控制各個小波濾波器在小波包分解與合成樹中所處的位置,由此可得到相應(yīng)的子帶劃分多相濾波器組,其對應(yīng)的公式如下所示 其中S1,D1輸入信號;f1,f2小波分解濾波器rf1,rf2小波重構(gòu)濾波器 下采樣n倍 上采樣n倍解碼時小波重構(gòu)濾波器的實現(xiàn)方法是上面所說分析濾波器實現(xiàn)方法的逆過程。
      在對由音頻小波包編碼器得到的音頻壓縮碼流進行解碼時,對解碼速度和內(nèi)存資源有較高的要求,這是小波算法雖然具有許多優(yōu)越于DCT算法的數(shù)學性質(zhì)但難于實用的瓶頸所在,本發(fā)明提供了小波包解碼器中小波重構(gòu)的一個快速算法,根據(jù)在小波的重構(gòu)過程中需要多次插0值的特性,為降低小波重構(gòu)的計算量,利用子帶0插值的規(guī)則性,在計算時避開了這些0插值點的計算;為降低存儲空間上的開銷,只需用一個緩沖存儲器去存儲必要的數(shù)據(jù)。
      本發(fā)明所說的基于小波變換的音頻信號壓縮編/解碼方法應(yīng)用于寬帶音頻信號的音樂進行處理時,在采用同樣心理聲學模型的情況下,其無失真壓縮率(相對意義上)比通常MPEG要有明顯提高,而且本發(fā)明中對小波慮波器劃分方法以及解碼過程中的快速算法上有比以往的小波技術(shù)有所突破,克服了小波應(yīng)用中的瓶頸問題,充分利用了小波和小波包變換的時頻局域化和多分辨率分析性質(zhì)。
      下面將結(jié)合附圖對本發(fā)明的一個實施例進行詳細說明。
      本實施例應(yīng)用DSP作為主要的運算器件,完成音頻數(shù)據(jù)的編碼和解碼算法,用一片單片機作為主要邏輯件。


      圖1是本發(fā)明主要電路結(jié)構(gòu)的方框圖。
      圖2是解碼器結(jié)構(gòu)。
      圖3是編碼器結(jié)構(gòu)。
      圖4是臨界頻帶的典型劃分表。
      圖5是MPEG子帶濾波器組頻帶劃分與臨界頻帶帶寬的比較。
      圖6是小波包子帶分解的一個實例。
      圖7是小波包分解樹和合成樹。
      圖8是一個小波包子帶及其樣本點實例。
      圖9是小波包解碼中子帶合成的過程。
      圖10是小波樹結(jié)構(gòu)及計算量和RAM空間占用情況對比。
      在詳細論述本發(fā)明技術(shù)方案前,涉及基于小波音頻壓縮技術(shù)的心理聲學模型由以下背景資料提供。
      數(shù)字音頻壓縮編碼技術(shù)能夠以比較低的速率獲得高質(zhì)量的編碼效果,其基本原理在于1)設(shè)法消除音頻信號的冗余度;2)充分利用人耳聽覺特性。正常人可以聽到頻率范圍在20Hz~20kHz,強度范圍為-5dB~130dB的聲音,并具有判別響度、音調(diào)和音色的本領(lǐng)。人耳的聽覺特性涉及了有關(guān)心理聲學和生理聲學等方面的問題。人耳聽覺特性在寬帶音頻編碼中的應(yīng)用主要體現(xiàn)在以下幾個方面聽覺的強度和頻率范圍特性;掩蔽效應(yīng)及人耳的高頻定位特性。前者是在編碼中將聽閾曲線以下的聲音信號濾掉,以減少記錄傳輸?shù)男畔⒘?,?jié)約編碼的比特數(shù)。利用掩蔽效應(yīng)原理,低于掩蔽門限的弱信號可不做編碼,以提高比特利用率;并將量化噪聲控制在掩蔽門限以下,從而節(jié)省了量化的比特數(shù),消除聲音的聽覺無關(guān)度。根據(jù)人耳的高頻定位特性,在多通道立體聲編碼中可以對高頻成分特殊處理,大量減少高頻信息冗余,提高壓縮效率。在變換編碼中,時域幀長(即時域窗長度)的選擇受兩個互相矛盾的因素制約幀長越大,則編碼增益越高;而過大的幀長將會使時域分辨率降低,而產(chǎn)生嚴重的“預(yù)回聲”。因此,選擇一個合適的幀長,使編碼增益和“預(yù)回聲”的抑制都達到一個最佳的平衡點,是很重要的。實驗證明,當幀長縮短到2ms~5ms時,由于前向掩蔽效應(yīng),“預(yù)回聲”會被其后面的沖擊響應(yīng)所掩蔽。例如,在48kHz采樣時,窗長為256時,其時域分辨率為2.7ms,由于前掩蔽效應(yīng),人耳察覺不到“預(yù)回聲”。在心理聲學中,一個純音可以被以它為中心,且具有一定帶寬的連續(xù)噪聲所掩蔽,若在這一頻帶內(nèi)噪聲功率等于該純音的功率,此時該純音處于剛好能被聽到的臨界狀態(tài),即稱這一頻帶為臨界帶寬(單位為Bark)。臨界頻帶的一個典型劃分如圖4所示。臨界頻帶是編碼中子帶劃分的心理聲學依據(jù)。人耳對音頻信號的分析以臨界頻帶為基礎(chǔ),類似一個非等帶寬濾波器組,在不同的子帶中差異很大,子帶編碼就是利用了這一性質(zhì)而設(shè)計出來。因此,臨界頻帶是編碼中子帶劃分的心理聲學依據(jù)。在子帶編碼中,子帶的劃分應(yīng)盡量與人耳臨界頻帶的寬度接近,以便更好的適應(yīng)人耳的聽覺特性。在傳統(tǒng)的子帶編碼中,這一要求并沒有能夠得到很好的滿足。原因在于,能夠接近人耳的聽覺特性的非等帶寬濾波器組設(shè)計涉及一些技術(shù)方面的困難。例如,MPEG用32個等帶寬的子帶濾波器組來劃分人耳聽覺的頻率帶寬,如圖5所示。在這種子帶的劃分中,在低頻部分一個子帶包含多個臨界頻帶,而在高頻部分,一個臨界頻帶又被分成多個子帶,子帶的利用效率很低,不可能很好的逼近人耳的聽覺特性(在低頻部分尤其如此)。但其優(yōu)點在于,等帶寬多相濾波器組的優(yōu)勢是各子帶濾波器的階數(shù)相同,計算中不存在延遲問題,且濾波器具有較好的抗混疊性質(zhì)。利用這種濾波器組進行音頻壓縮編碼,技術(shù)實現(xiàn)上比較簡單,但人耳的聽覺特性的利用率是有限的,很難實現(xiàn)高壓縮比的無失真編碼。
      基于小波的音頻壓縮技術(shù),就是為了從根本上解決傳統(tǒng)音頻壓縮編碼中的上述瓶頸問題而提出的,小波分析是近年來發(fā)展很快的一門數(shù)學分支,具有信號時頻局部化分析和多尺度分析的能力,在有限個子帶分解中,基于小波的子帶分解可以更好的接近人耳的臨界頻帶,即更好的利用人耳的心理聽覺特性,因而極大的推動了數(shù)字信號處理技術(shù)的發(fā)展。
      根據(jù)以上原理,在本發(fā)明中,利用聽覺的前向掩蔽效應(yīng),在保證較高的編碼增益下,有效的抑制因時域分辨率不足而造成的“預(yù)回聲”現(xiàn)象;利用掩蔽效應(yīng),確定量化級別,控制量化噪聲使之低于或盡可能接近人耳的掩蔽門限,實現(xiàn)無失真音頻編碼以及在低碼率下提高音頻編碼的質(zhì)量。本發(fā)明中的一個小波包子帶分解實例如圖6所示。
      本發(fā)明所說的技術(shù)方案總體上可以分為音頻信號編碼和解碼兩個部分的操作,其流程分別如下編碼過程(1)從麥克風或輸入線路中采入音頻信號;(2)經(jīng)低通濾波器濾除高頻信號;(3)經(jīng)AD轉(zhuǎn)換后成為數(shù)字信號PCM流;(4)數(shù)字信號進入DSP,利用本專利所述的算法進行壓縮編碼,形成壓縮碼流;(5)單片機讀入壓縮碼流,寫入存儲介質(zhì)。解碼過程(1)單片機從存儲介質(zhì)或PC上讀出壓縮碼流;(2)將壓縮碼流傳入DSP;(3)DSP利用本專利所述的算法進行解壓縮,形成PCM流;(4)PCM流經(jīng)DA轉(zhuǎn)換后形成模擬信號;(5)模擬信號通過低通濾波器濾去高頻信號;(6)濾去高頻信號的模擬信號經(jīng)耳機或揚聲器播出;編碼過程中,麥克風或其它輸入線路采入音頻信號,然后經(jīng)低通濾波器濾除高頻信號,其后是經(jīng)模擬數(shù)字轉(zhuǎn)換器轉(zhuǎn)換后成為數(shù)字信號PCM流,這幾步通過現(xiàn)有技術(shù)即可實現(xiàn)。
      接著,數(shù)字信號進入數(shù)字信號處理器(DSP)。在數(shù)字信號處理器中(本實施例中采用的型號是TMS320C54XX),對信號處理的方法是本發(fā)明技術(shù)方案要解決的主要技術(shù)問題,主要包括音頻信號的小波分析慮波器的獲得及編碼器的獲得。這里所說的分析和重構(gòu)濾波器及編碼器和解碼器的功能均是在DSP中實現(xiàn)的。因為在解碼過程中在數(shù)字信號處理器中的操作過程是編碼過程的相反步驟,所以這里將小波分析和重構(gòu)濾波器、編碼器和解碼器的實現(xiàn)方法一并闡述,其處理過程分別如下DSP中基本的編碼過程如下,見附圖2(1)移入128點新樣本于緩沖池,同時從緩沖池中移出128點最舊的樣本(此緩沖池長度為1250個點);(2)將該緩沖池中的序列分別與16個小波分析濾波器卷積,并進行臨界再采樣,獲16個分解序列對應(yīng)16個頻帶,由于子帶的非均勻性,各子帶的再采樣率是不一樣的,具體如下子帶1~4抽樣各為1個樣本,子帶5~6各為2個樣本,子帶7~13各為8個樣本,子帶14~15各為16個樣本,子帶16為32個樣本;(3)以3*128點為一個群,這樣各子帶中的樣本數(shù)為原來的三倍,即子帶1~4中各有3個樣本,子帶5~6各有6個樣本,子帶7~13各有24個樣本,子帶14~15各有48個樣本,子帶16有96個樣本;分別找出各子帶的尺度因子(方法同MP2),將各子帶歸一化;(4)同時該3*128點的頻譜信息,代入心理聲學模型(1或2),求得各子帶的量化位數(shù);(5)根據(jù)(4)獲得的量化位數(shù)量化各子帶中的樣本,量化方法如下設(shè)每子帶的量化位數(shù)為a,該子帶的樣本數(shù)為Num,則各樣本的量化后結(jié)果為bb=a>>(16-Num)(6)無失真編碼(采用霍夫曼編碼);(7)打包,編碼輸出。
      解碼過程與編碼過程相反,其基本的過程如下,見附圖3(1)輸入編碼序列,以與編碼過程相反的順序解包及霍夫曼解,還原為16個子帶上的樣本,推入16個緩沖池;(2)將各子帶上的樣本反量化,同時除于尺度因子;(3)相應(yīng)于編碼過程(2)中的再采樣,將各子帶上的樣本間插零值,具體個數(shù)為子帶1~4中2個樣本間插入127個零,子帶5~6中2個樣本間插入63個零,子帶7~13中2個樣本間插入15個零,子帶14~15中2個樣本間插入7個零,子帶16中2個樣本間插入3個零;(4)將16個緩沖池中的序列與合成濾波器組分別卷積各得128個數(shù)據(jù),將16個128點對應(yīng)相加的一128點序列,該序列即為輸出值;(5)輸出該序列。
      目前,利用小波對信號進行處理時,為進一步提高頻率分辨率,需要將信號繼續(xù)分解,通常的做法是進行類Mallat算法,如圖7所示。傳統(tǒng)的做法是逐層分解和逐層合成,其具體方法如下所述
      在分解過程中將信號與分解濾波器進行卷積,然后進行下采樣,重復(fù)這一過程直至到達二叉樹相應(yīng)的子帶結(jié)點;而在重構(gòu)過程中則需要把每一葉子結(jié)點上的小波系數(shù)與重構(gòu)濾波器進行卷積,然后進行上采樣(一般為添零),直至回到二叉樹的根結(jié)點。很顯然,在實現(xiàn)卷積的數(shù)值計算過程中不可避免地會多次引入截斷誤差,而每次卷積之后的上、下采樣則會使該誤差擴散,多次重復(fù)這一過程則會導(dǎo)致誤差累積。當層次較深時,誤差甚至會擴散到整個子帶上,從而整個子帶上的數(shù)據(jù)都成為虛假數(shù)據(jù)。
      本發(fā)明中小波分解和重構(gòu)濾波器的獲得是通過預(yù)先卷積濾波器,利用卷積對線性系統(tǒng)滿足結(jié)合律的特點,把各個小波濾波器先進行卷積運算;另一方面考慮上下采樣的影響來控制各個小波濾波器在小波包分解與合成樹中所處的位置,由此可得到相應(yīng)的子帶劃分多相濾波器組。其對應(yīng)的公式如下所示 其中S1,D1輸入信號;f1,f2小波分析濾波器rf1,rf2小波重構(gòu)濾波器 下采樣n倍 上采樣n倍設(shè)所采用小波包二叉樹如圖7的三層小波包二叉樹,以子帶2為例進行說明,設(shè)源信號序列為resSig,子帶2上得到的分解系數(shù)序列為sub2Sig,分解低通小波濾波器為LD,分解高通小波濾波器為HD,*為卷積運算,則該子帶分析濾波器及該子帶分解序列的生成方法為 其中bigFilter2為該子帶最終生成的分析濾波器,上采樣為間插零,Sub2Sig為已下采樣的該子帶的分解序列。
      若低通小波重構(gòu)濾波器為LR,高通小波重構(gòu)濾波器為HR,*為卷積運算,則該子帶分解濾波器和該子帶合成序列的生成方法為 其中RecFilter2為該子帶最終生成的合成濾波器,Rec2Sig為該子帶的合成序列,所有各子帶上的合成序列對應(yīng)相加即為合成樣本。
      其它子帶分析濾波器和重構(gòu)濾波器可以由類似的方法得到。
      解碼過程中,對由音頻小波包編碼器得到的音頻壓縮碼流進行解碼時,對解碼速度和內(nèi)存資源有較高的要求,本發(fā)明根據(jù)子帶的特點,為減少計算量和存儲空間,本發(fā)明提出了快速算法,該算法可以極大地降低計算量和存儲空間,它為音頻數(shù)據(jù)小波包壓縮方案的實現(xiàn)提供了保證。
      以如圖8所示的小波包分解為例,其分解樣本每幀長度為128點,其中第1~4子帶各為1個樣本點,第5~6子帶各為2個樣本點,第7~13子帶各為8個樣本點,第14~15子帶各為16個樣本點,第16子帶為32個樣本點。
      合成子帶時,按常規(guī)方法,各子帶插值分別與合成小波濾波器卷積后相加,如圖9所示。
      然而這種方法有很明顯的沒有效率的地方,首先各子帶均有相當多的零參與卷積,而且需要系統(tǒng)分配大量RAM去存儲16個序列,明顯缺乏執(zhí)行效率。
      因此根據(jù)小波分解序列的特點,利用子帶0插值的規(guī)則性,在計算時避開了這些0插值點的計算;只需用一個緩沖存儲器去存儲必要的數(shù)據(jù),因此極大地減少了存儲空間。
      本專利的快速算法和通常卷積算法均采用DB-10小波作為小波基,小波樹結(jié)構(gòu)均如圖10所示,其重構(gòu)128點的計算量和RAM空間占用情況對比如下(濾波器長度分別為1144,1144,1144,1144,568,568,136,136,136,136,136,136,136,64,64,28)常規(guī)方法計算量(乘法)=16*(4*(1144*128)+2*(568*128)+7*(136*128)+2*(64*128)+28*128)=872960*16;常規(guī)方法RAM空間=4*(1144+128)+2*(568+128)+7*(136+128)+2*(64+128)+28+128=8868本文算法計算量(乘法)=16*(4*(1144/128*128)+2*(568/64*128)+7*(136/16*128)+2*(64/8*128)+28/4*128)=17408*16本文算法RAM空間=4*(1144+128)/128+2*(568+128)/64+7*(136+128)/16+2*(64+128)/8+(28+128)/4=264結(jié)合某一具體小波濾波器前后還具有許多零元,則其計算量還可以大幅低。實現(xiàn)本發(fā)明快速算法的核心C-偽代碼<pre listing-type="program-listing"><![CDATA[for(ii=0;ii<子帶數(shù);ii++){samplept=sample+幀長-1;//指向數(shù)據(jù)幀的末尾for(int i=0;i<樣本序列長度;i++){ConvResult=0;for(int j=0;j<該子帶中的樣本數(shù);j++){//計算該次計算所對應(yīng)的濾波器和輸入樣本序列的起始運算位置//gap為該子帶樣本間的0插值數(shù)。
      kBegin=((i-j*gap+0x7F) &amp; 0xFFFFFF80);for(int k=kBegin;k<=子帶濾波器長度;k+=幀長) ConvResult+=樣本序列[k]*子帶濾波器[k];}(*samplept--)+=ConvResult; }}//End ii loop]]></pre>在編碼過程中,編碼打包輸出后,由單片機讀入壓縮碼流,寫入存儲介質(zhì),完成音頻信號的壓縮編碼過程??偟膩碚f,解碼過程是編碼過程的逆順序,單片機從存儲介質(zhì)或PC上讀入壓縮碼流,將壓縮碼流傳入DSP,在DSP中的處理已在上面分析編碼方法中做出說明,DSP輸出該序列形成PCM流,PCM流經(jīng)數(shù)字模擬轉(zhuǎn)換器轉(zhuǎn)換后形成模擬信號,模擬信號通過低通濾波器濾去高頻信號,濾去高頻信號的模擬信號經(jīng)耳機或揚聲器播出。
      本實施例只是結(jié)合一些特定的硬件對本發(fā)明所述的方法進行闡述,本發(fā)明技術(shù)方案的實施并不局限與此,由本領(lǐng)域普通技術(shù)人員所能做出的各種變化或改進都不會脫離本發(fā)明的范圍。
      權(quán)利要求
      1.一種基于小波變換的音頻信號壓縮編/解碼方法,該方法通過由低通濾波器、模數(shù)和數(shù)模轉(zhuǎn)換器、數(shù)字信號處理器、單片機組成的裝置執(zhí)行對音頻信號的壓縮編/解碼,其特征在于進行以下步驟的操作編碼過程(1)從麥克風或其它輸入線路采入音頻信號;(2)經(jīng)低通濾波器濾除高頻信號;(3)經(jīng)模擬數(shù)字轉(zhuǎn)換器轉(zhuǎn)換后成為數(shù)字信號PCM流;(4)數(shù)字信號進入數(shù)字信號處理器,移入128點新樣本于緩沖池,同時從緩沖池中移出128點最舊的樣本(此緩沖池長度為1250個點);(5)將該緩沖池中的序列分別與16個小波分析濾波器卷積,并進行臨界再采樣,獲16個分解序列對應(yīng)16個頻帶,由于子帶的非均勻性,各子帶的再采樣率是不一樣的,具體如下子帶1~4抽樣各為1個樣本,子帶5~6各為2個樣本,子帶7~13各為8個樣本,子帶14~15各為16個樣本,子帶16為32個樣本;(6)以3*128點為一個群,這樣各子帶中的樣本數(shù)為原來的三倍,即子帶1~4中各有3個樣本,子帶5~6各有6個樣本,子帶7~13各有24個樣本,子帶14~15各有48個樣本,子帶16有96個樣本;分別找出各子帶的尺度因子(方法同MP2),將各子帶歸一化;(7)同時該3*128點的頻譜信息,代入心理聲學模型(1或2),求得各子帶的量化位數(shù);(8)根據(jù)(4)獲得的量化位數(shù)量化各子帶中的樣本,量化方法如下設(shè)每子帶的量化位數(shù)為a,該子帶的樣本數(shù)為Num,則各樣本的量化后結(jié)果為bb=a>>(16-Num)(9)無失真編碼(采用霍夫曼編碼);(10)打包,編碼輸出;(11)單片機讀入壓縮碼流,寫入存儲介質(zhì)。解碼過程(1)單片機從存儲介質(zhì)或PC上讀入壓縮碼流;(2)將壓縮碼流傳入數(shù)字信號處理器;(3)輸入編碼序列,以與編碼過程相反的順序解包及霍夫曼解,還原為16個子帶上的樣本,推入16個緩沖池;(4)將各子帶上的樣本反量化,同時除于尺度因子;(5)相應(yīng)于編碼過程(2)中的再采樣,將各子帶上的樣本間插零值,具體個數(shù)為子帶1~4中2個樣本間插入127個零,子帶5~6中2個樣本間插入63個零,子帶7~13中2個樣本間插入15個零,子帶14~15中2個樣本間插入7個零,子帶16中2個樣本間插入3個零;將16個128點對應(yīng)相加的一128點序列,該序列即為輸出值;(7)輸出該序列,形成PCM流;(8)PCM流經(jīng)數(shù)字模擬轉(zhuǎn)換器轉(zhuǎn)換后形成模擬信號;(9)模擬信號通過低通濾波器濾去高頻信號;(10)濾去高頻信號的模擬信號經(jīng)耳機或揚聲器播出。
      2.根據(jù)權(quán)利要求1所述的音頻信號壓縮編/解碼方法,其特征在于,編碼過程步驟(5)中所說的小波分析濾波器的實現(xiàn)方法是利用卷積對線性系統(tǒng)滿足結(jié)合律的特點,把各個小波濾波器先進行卷積運算;另一方面根據(jù)上下采樣的影響來控制各個小波濾波器在小波包分解與合成樹中所處的位置,由此可得到相應(yīng)的子帶劃分多相濾波器組,其對應(yīng)的公式如下所示 其中S1,D1輸入信號;f1,f2小波分解濾波器rf1,rf2小波重構(gòu)濾波器 下采樣n倍 上采樣n倍解碼時小波重構(gòu)濾波器的實現(xiàn)方法是上面所說分析濾波器實現(xiàn)方法的逆過程。
      3.根據(jù)權(quán)利要求1所述的音頻信號壓縮編/解碼方法,其特征在于,解碼過程中小波包解碼器中小波重構(gòu)采取一種快速算法,根據(jù)在小波的重構(gòu)過程中需要多次插0值的特性,利用子帶0插值的規(guī)則性,在計算時避開這些0插值點的計算;只用一個緩沖存儲器存儲必要的數(shù)據(jù)。
      全文摘要
      本發(fā)明涉及一種基于小波變換的音頻信號壓縮編/解碼方法。根據(jù)小波和小波包變換的時頻局域化和多分辨率分析性質(zhì),本發(fā)明采用小波技術(shù)取代傳統(tǒng)的濾波器組,結(jié)合人耳的聽覺特性,實現(xiàn)高增益、高質(zhì)量的音頻編碼,并解決了小波技術(shù)應(yīng)用中的濾波及提高預(yù)算速度等幾項核心問題,使得對寬帶音頻信號的音樂進行處理時,在同樣采用心理聲學模型的情況下,無失真壓縮率(相對意義上)比通常MPEG有明顯的提高,而且克服了小波應(yīng)用中的瓶頸問題。
      文檔編號G10L19/00GK1375817SQ0110968
      公開日2002年10月23日 申請日期2001年3月19日 優(yōu)先權(quán)日2001年3月19日
      發(fā)明者陳笑天, 潘興德, 顧春來 申請人:北京阜國數(shù)字技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1