• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于DSP的G.729算法優(yōu)化實現(xiàn)

      2012-09-15 07:20:06張正文張永杰
      關(guān)鍵詞:碼本線譜線性

      張正文,張永杰,王 耿

      (湖北工業(yè)大學(xué)電氣與電子工程學(xué)院,湖北 武漢430068)

      G.729算法復(fù)雜度較大,實時性效果不好,但是隨著運算能力很強的DSP快速發(fā)展及對各種優(yōu)化方法的研究,該算法已經(jīng)成為當(dāng)前中、低速率語音編碼中的主流算法[1].該算法處理的輸入信號需是經(jīng)8kHz采樣編碼產(chǎn)生16位線性PCM的語音信號,編碼處理后輸出速率為8kbps的2進制bit流,壓縮比例約為16∶1.在DSP利用該算法處理語音信號時,需由通訊模塊對語音信號進行采集及必要的處理,如信號放大、A/D等.編碼后的bit流經(jīng)存儲傳輸后可通過相應(yīng)的解碼程序恢復(fù)出高質(zhì)量的語音信號.目前,G.729編譯碼器已被廣泛用于數(shù)據(jù)通信的各個領(lǐng)域,如 H.323及IP Phone等[2].

      1 系統(tǒng)設(shè)計

      系統(tǒng)總體框架圖見圖1,語音信號通過線路輸入或麥克風(fēng)輸入,經(jīng)TLV320AIC23芯片采集預(yù)處理轉(zhuǎn)換,生成符合G.729算法處理的16位的線性PCM.DSP通過片上MCBSP0對TLV320AIC23芯片進行控制,通過MCBSP1與TLV320AIC23芯片進行數(shù)據(jù)交換.PC機通過JTAG口將程序燒錄進DSP,16位的PCM語音信號通過 MCBSP1進入DSP后經(jīng)壓縮編碼算法處理生成bit流,bit流經(jīng)MCBSP1傳至外部通信系統(tǒng)或模塊,用于傳輸或存儲,在解碼端通過相應(yīng)的G.729算法解碼程序還原語音.若是在單片DSP上驗證算法的正確性及重構(gòu)語音質(zhì)量的失真度,可將bit流經(jīng)解碼程序解碼后將數(shù)據(jù)回傳給TLV320AIC23芯片,經(jīng)D/A及放大后回放重建語音.

      圖1 系統(tǒng)框架圖

      1.1 硬件設(shè)計

      系統(tǒng)搭載在北京達盛公司DSP實驗箱上,該實驗板DSP最小系統(tǒng)帶有JTAG口,配有配套的數(shù)據(jù)線及仿真器,且有現(xiàn)成電源及語音輸入輸出口,故硬件設(shè)計主要是TLV320AIC23與DSP的接口設(shè)計.TLV320AIC23芯片是TI公司推出的一款高性能立體聲音頻編解碼器芯片,內(nèi)置耳機輸出放大器,支持麥克風(fēng)及線路輸入兩種輸入方式,且對輸入和輸出都具有可編程的增益調(diào)節(jié)[3].TLV320AIC23的ADC和DAC部件高度集成在芯片內(nèi)部,可以在8~96kHz的頻率范圍內(nèi)提供16bit、20bit、24bit和32bit的采樣.故語音信號經(jīng)TLV320AIC23采集后可產(chǎn)生采樣率為8kHz的16位線性PCM信號,提供符合算法處理的輸入信號.TLV320AIC23的引腳可以分為信號輸入輸出引腳、控制引腳、數(shù)據(jù)傳輸引腳及電源引腳等,其中信號輸入輸出引腳及電源引腳連接比較簡單,參考芯片資料中的典型電路即可連接完成,控制引腳有4個,分別是SCLK、CS、SDIN、MODE,該4管腳主要是用來協(xié)調(diào)主機DSP對TLV320AIC23的初始化,數(shù)據(jù)傳輸引腳有5 個,分 別 是 BCLK、LRCIN、LRCOUT、DIN、DOUT,這些引腳用來與主機DSP進行語音數(shù)據(jù)的交換.主機DSP的6個多通道緩沖串口引腳也可以分為控制引腳和數(shù)據(jù)引腳,控制引腳主要是時鐘發(fā)送接收引腳BCLKX、BCLKR和幀發(fā)送接收引腳BFSX、BFSR,數(shù)據(jù)引腳是BDX、BDR,根據(jù)芯片資料及DSP管腳的功能,TLV320AIC23與主機DSP引腳連接設(shè)計見圖2、圖3.

      1.2 軟件設(shè)計

      TLV320AIC23芯片的初始化及工作過程都是通過軟件控制實現(xiàn)的,DSP接收、處理及發(fā)送數(shù)據(jù)亦是由軟件控制.軟件設(shè)計采用傳統(tǒng)的模塊化、結(jié)構(gòu)化程序設(shè)計思想,程序可分為DSP初始化、MCBSP0與TLV320AIC23芯片通信、MCBSP1與TLV320AIC23芯片的數(shù)據(jù)交換、G.729編碼程序、G.729解碼程序等五大模塊(圖4).

      2 編解碼程序設(shè)計及優(yōu)化

      2.1 編解碼程序設(shè)計

      編碼器處理的對象是每一10ms的語音幀,即80個采樣點,每一幀信號又均分為2子幀.對每一幀信號,進行分析提取相關(guān)模型及激勵參數(shù),對參數(shù)進行編碼即可.為減少運算中的溢出現(xiàn)象,預(yù)處理階段,將輸入信號的幅值進行折半處理,并用截止頻率為140Hz的高通濾波過濾低頻噪聲.線性預(yù)測分析階段,先將樣點數(shù)據(jù)加窗再求自相關(guān)系數(shù),并進行60Hz帶寬擴展修正自相關(guān)系數(shù),然后利用所得系數(shù)經(jīng)Levinson–Durbin算法處理即可得到線性預(yù)測系數(shù).為便于量化及插值,須將預(yù)測系數(shù)轉(zhuǎn)換成線譜對,然后用線譜對系數(shù)進行量化與插值,最后又將線譜對系數(shù)還原成線性預(yù)測系數(shù).加權(quán)使用的是未經(jīng)量化的線性預(yù)測系數(shù)[4].自適應(yīng)碼本分析搜索范圍是通過開環(huán)基因分析得到的,以減少碼本搜索復(fù)雜度.自適應(yīng)碼本和固定碼本搜索對每一子幀都進行.之后,利用下一子幀更新合成濾波器和加權(quán)濾波器的參數(shù),最后對所得參數(shù)按照一定順序編碼,具體的bit分配見表1.

      圖4 軟件設(shè)計流程總體圖

      解碼過程相對簡單.首先將參數(shù)提取出來,對每一子幀,將線譜對系數(shù)進行插值并轉(zhuǎn)化為線性預(yù)測系數(shù);然后將自適應(yīng)碼本和固定碼本乘上增益后的激勵信號,將激勵信號通過線性預(yù)測合成濾波器重構(gòu)語音,加上自適應(yīng)后濾波和高通濾波等后處理完成語音重建.

      表1 壓縮編碼bit分配表

      2.2 算法程序優(yōu)化

      為了實現(xiàn)系統(tǒng)的實時性,需對ITU提供的G.729源代碼進行系列優(yōu)化,優(yōu)化程度可分算法級、C語言級及匯編器級優(yōu)化.算法級優(yōu)化主要可進行以下工作.

      其一,取消5ms前瞻:在LP分析階段,原算法中有5ms數(shù)據(jù)的前瞻,在運算中可將這5ms的數(shù)據(jù)全部用0來代替,可節(jié)省很多計算量.

      其二,開環(huán)基因搜索采用粗化搜索方式,即在計算相關(guān)系數(shù)時,將原算法中的搜索步長增加為2,即將

      代替,其中,k=20,21,…,143,可節(jié)約一半時間,再者由于連續(xù)語音數(shù)據(jù)幀中的基音延時值變化較小,當(dāng)變化小到一定范圍,就可不必搜索,直接用前一幀的值代替.判斷的方法是先確定一個比較的閾值η,然后將相關(guān)的計算結(jié)果與閥值進行比較,只有當(dāng)計算值大于閾值時才需搜索,其中閾值由一段普通話語音測出.經(jīng)大量實驗,筆者將η設(shè)為50 331 604,而每幀的計算值Fi利用線譜對(LSP)系數(shù)按公式計算得出:

      其中wk取值為0.02,0.04,0.04,0.04,0.04,0.09,0.10,0.05,0.07,0.05,采用 Q15格式表示;lspi(k)是第i幀的第k個系數(shù).

      其三,在所有的乘法運算中,舍棄運算結(jié)果為0的運算項.

      其四,固定碼本搜索算法改為脈沖序列重置法:即先將40個可能的脈沖位置依次代入式(1),計算出單個脈沖的貢獻值,然后在同一軌道中按照貢獻值大小重新排序,選擇重置后每個軌道的前四個脈沖位置進行搜索.國外學(xué)者Nam Kyu Ha經(jīng)研究其統(tǒng)計命中率已達95%以上,且該算法搜索次數(shù)僅為4×4×4×4×2=512[5].

      C語言級及匯編器級優(yōu)化方式主要有:省略不必要的溢出判斷;將性質(zhì)相同的函數(shù)排列在一起,利于編譯器將其編譯成具有平行運算結(jié)構(gòu)的代碼;調(diào)用循環(huán)時,使循環(huán)體盡可能短,并且盡量避免轉(zhuǎn)移判斷語句;合并指令數(shù)較少的函數(shù),如自相關(guān)函數(shù)、加窗函數(shù)等,可節(jié)省對堆棧的操作時間;對于指令數(shù)與調(diào)用次數(shù)都較少的函數(shù),在函數(shù)名前加一個關(guān)鍵字inline,編譯時比較省時,是一種空間換時間的優(yōu)化手段.在PC機中,算法實現(xiàn)的軟件平臺是CCS2.0,可以利用一些基于這個平臺的成熟的優(yōu)化方法,如Intrinsic函數(shù)的使用、CCS的C/C++編譯器的選項打開,編譯時采用Release模式,排除Debug信息等,這些優(yōu)化方法對提高系統(tǒng)性能的影響較大.

      3 試驗結(jié)果

      將優(yōu)化后的程序通過仿真器與JTAG口下載到DSP中,將自己錄制的一段語音通過PC機線路輸入給TLV320AIC23輸入接口,通過該系統(tǒng)編解碼后可以還原失真度尚能接受的重建語音,原始語音與重建語音的波形圖見圖5、圖6.若對編解碼程序及系統(tǒng)進行一系列深度優(yōu)化,效果可達更佳,有待進一步努力.

      [1]鄒 翼.基于DSP的G_729語音編碼的研究與實現(xiàn)[D].長沙:湖南大學(xué)圖書館,2009.

      [2]陳明義,龔玉蓉.基于TMS320VC5509DSP通信系統(tǒng)的 G.729算法實現(xiàn)[J].信息技術(shù),2007(2):95-96.

      [3]Stereo Audio CODEC,8to 96kHz,With Integrated Headphone Amplifier TLV320AIC23Data Manu[J].Texal Instruments,2001(6):22-43.

      [4]International Telecommunication Union.Recommendation G.729:Coding of speech at 8kbit/s using conjugate structure algebraic code excited linear prediction(CS-ACELP)[EB/OL].(2007 – 01)http://www.itu.int/rec/T-REC-G.729-200701-I/en.

      [5]呂治國.G.729標準碼本搜索算法分析及優(yōu)化[J].電聲技術(shù),2008,32(9):46-48.

      猜你喜歡
      碼本線譜線性
      Galois 環(huán)上漸近最優(yōu)碼本的構(gòu)造
      免調(diào)度NOMA系統(tǒng)中擴頻碼優(yōu)化設(shè)計
      漸近線性Klein-Gordon-Maxwell系統(tǒng)正解的存在性
      UUV慣導(dǎo)系統(tǒng)多線譜振動抑制研究
      基于有限域上仿射空間構(gòu)造新碼本
      線性回歸方程的求解與應(yīng)用
      二階線性微分方程的解法
      幾類近似達到Welch界碼本的構(gòu)造
      “”維譜在艦船輻射噪聲線譜提取中的應(yīng)用
      基于隱馬爾可夫模型的線譜跟蹤技術(shù)
      乐平市| 怀仁县| 从化市| 海晏县| 镇江市| 洞口县| 会理县| 麦盖提县| 十堰市| 灵川县| 鹤山市| 错那县| 松溪县| 榆社县| 罗源县| 高尔夫| 梨树县| 永济市| 梅河口市| 南岸区| 庄河市| 外汇| 郁南县| 宜城市| 阿坝县| 贞丰县| 海宁市| 麻城市| 福泉市| 宁强县| 五大连池市| 禹城市| 始兴县| 松原市| 邢台市| 杨浦区| 昌江| 理塘县| 花莲县| 丹江口市| 房产|