音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于DM642 的G. 729. 1 實現(xiàn)

出處:jack.king 發(fā)布于:2011-06-01 15:34:47

     20 世紀(jì)90 年代, 無線通信系統(tǒng)的變速率語音編碼得到了廣泛的應(yīng)用。特別是移動通信的飛速發(fā)展,把變速率語音編碼推上了前臺。隨著技術(shù)的發(fā)展, 它的應(yīng)用領(lǐng)域越來越廣, 不再限于移動通信系統(tǒng), 在IP電話、互聯(lián)網(wǎng)上也有很好的應(yīng)用前景。ITUT 于2006 年批準(zhǔn)了G. 729. 1 嵌入式變速率可分級寬帶語音編碼標(biāo)準(zhǔn)。

  1  G. 729. 1 編解碼原理

  G. 729. 1 編碼器是一個基于G. 729 的帶寬擴展( 50~ 7 000 Hz) 的8~ 32 kbit / s 可分級編碼器。由編碼產(chǎn)生的比特流有可分級性, 包含了12 個嵌入式層。第1 層稱為層, 編碼速率為8 kbit / s。與G.

  729 的碼流形式相同, 與G. 729 具有互操作性。第2層是一個窄帶增強層, 編碼速率為12 kbit / s, 第3~12 層是寬帶增強層, 每層均在前一層的基礎(chǔ)上增加2kbit/ s 的編碼速率。本研究所涉及的語音處理均是在默認(rèn)模式下進(jìn)行的, 不討論其他模式下的情況。

  G. 729. 1 基本算法是基于3 階段編碼結(jié)構(gòu): 低頻帶(50~ 4 000 Hz) 嵌入式激勵線性估計( CELP) 編碼器, 高頻帶( 4 000~ 7 000 Hz) 時域帶寬擴展( TDBWE)參量編解碼, 以及通過被稱為時域混疊消除( TDAC)的估計變換編解碼技術(shù)實現(xiàn)的全頻帶增強功能。圖1 為G. 729. 1 編解碼算法的軟件流程圖。

圖1 G. 729. 1 算法編碼流程圖

  2  系統(tǒng)硬件

  DM642 是德州儀器公司推出的一款專門為數(shù)字多媒體應(yīng)用而設(shè)計開發(fā)的32 位定點DSP 芯片 。在SEEDVPM642 開發(fā)平臺中, 同時有4 路音頻輸入和輸出接入McASP, 用的協(xié)議為BurstFrameSyncMode 。T LV320AIC23B 的輸入方式為立體聲, 其采樣率為16 kHz, 提供16 bit 的采樣值, ADC 和DAC 的信噪比分別可以達(dá)到90 dB 和100 dB。AIC23B 使用IIC 總線對其進(jìn)行配置, SDIN 作為串行數(shù)據(jù)輸入,SCLK 作為串行時鐘。IIC 總線采用的是七位地址的尋址方式, 并且AIC23B 的寄存器只能寫而不能讀, 因此, 每個WORD 的前7bit 為寄存器地址, 后9bit 為寄存器內(nèi)容。系統(tǒng)實現(xiàn)原理圖如圖2 所示。

圖2 系統(tǒng)實現(xiàn)原理圖

  3  G. 729. 1 的實現(xiàn)

  3. 1  基于VC 6. 0 的實現(xiàn)

  在將代碼進(jìn)行移植之前, 采用便于進(jìn)行軟件調(diào)試的環(huán)境 微軟VC 6. 0, 對源代碼進(jìn)行實現(xiàn), 為隨后將代碼移植到目標(biāo)DSP 上做準(zhǔn)備。在VC 下建立相應(yīng)的工程, 對其進(jìn)行編譯連接生成編碼和解碼器。對結(jié)果進(jìn)行分析驗證。

  3. 2  基于DM642 的實現(xiàn)

  源代碼在PC 機上測試正確后再移植到DSP上。T I 公司提供了一個DSP 開發(fā)平臺CCS ( CodeCom po ser Studio) , CCS 的語法規(guī)則與VC 有許多不同, 進(jìn)行代碼移植之前要使其符合CCS 的語法規(guī)則。因此, C 語言仿真程序搬到DSP 上運行時需要注意數(shù)據(jù)類型、大/ 小端存放模式的轉(zhuǎn)換、存儲器分配及CCS 編譯選項等方面。

  DM642 是T I 公司的高端產(chǎn)品, 主頻高、處理速度快、存儲容量大等優(yōu)點。在CCS 開發(fā)環(huán)境中建立起和VC 6. 0 平臺對應(yīng)的G. 729. 1 編碼器工程, 在對目標(biāo)文件進(jìn)行鏈接之前, 確定目標(biāo)文件在存儲器中的位置, 實現(xiàn)代碼在DSP 存儲器中的地址映射, 需要編寫cmd 文件, 添加所有有關(guān)的源文件, 然后編譯、鏈接。在鏈接完成后, 全速執(zhí)行程序。在初步實現(xiàn)編碼時發(fā)現(xiàn), 未加任何改動的原始源碼在CCS 平臺下運行速度非常慢, 因此, 需對代碼進(jìn)行進(jìn)一步的優(yōu)化。

  4  代碼的優(yōu)化

  采用的優(yōu)化方法主要為比較簡單的算法優(yōu)化和C 語言級別上的優(yōu)化, 不涉及匯編級別的優(yōu)化。

  4. 1  優(yōu)化思路

  從代碼性能的角度上講, 每段代碼的重要性是不同的: 在程序的運行過程中, 有的代碼調(diào)用頻繁, 如果這段代碼的執(zhí)行效率非常低下, 則可能成為整個程序的瓶頸。因此, 代碼優(yōu)化的重點首先應(yīng)該是對這些代碼進(jìn)行優(yōu)化。在優(yōu)化代碼的過程中, 應(yīng)該結(jié)合DSP硬件結(jié)構(gòu)來編寫或者優(yōu)化代碼。

  優(yōu)化一般從以下3 方面考慮: 速度、程序空間和數(shù)據(jù)空間大小。然而, 速度和程序空間、數(shù)據(jù)空間的優(yōu)化是相互抵觸的, 需要結(jié)合實際情況綜合考慮在做定奪。

  4. 2  算法優(yōu)化

  在碼本搜索過程中, 所有碼矢量( 輸入矢量和碼本中碼矢量) 按照誤差準(zhǔn)則進(jìn)行匹配。該輸入矢量的量化矢量為均方誤差值對應(yīng)的碼矢量, 因此, 在每次搜索都需保存上的均方誤差值。

  下一碼矢量, 如果其值大于保存的均方誤差值,則剩下的計算可以忽略, 顯然, 下一碼矢量并不是搜尋的量化矢量, 鑒于此, 該算法的改進(jìn)可以在Lsp_pre_select( ) 中增加相應(yīng)的判斷代碼, 從而節(jié)省代碼執(zhí)行時間 。

  4. 3  C 語言優(yōu)化

  C 語言優(yōu)化有多種方法, 本研究只使用了以下幾種方法。

  4. 3. 1  C 編譯器優(yōu)化

  CCS 提供了多種編譯器選項, 通過這些選項對編譯器的操作進(jìn)行控制, 可以對代碼進(jìn)行多種優(yōu)化,減少代碼長度和提高代碼的執(zhí)行效率。其優(yōu)化選項包括( - o ( - o1、- o2、- o3) 、- mt、- pm、- ms0、-mh[ n] 、- k、- s、- mw 、- g、- mg) 。為了起到更好的優(yōu)化作用, 達(dá)到更好的效果, 經(jīng)過實驗后使用組合- 03、- pm。

  4. 3. 2  使用內(nèi)聯(lián)函數(shù)進(jìn)行優(yōu)化

  內(nèi)聯(lián)函數(shù)是C6x 編譯器提供的專門函數(shù), 與C6x 的匯編指令一一對應(yīng)。對函數(shù)優(yōu)化的步是在函數(shù)中的基本數(shù)學(xué)運算使用內(nèi)聯(lián)函數(shù)代替, 內(nèi)聯(lián)函數(shù)可以直接映射為C6000 內(nèi)部指令、快速優(yōu)化C 代碼。在以后所有用到該運算的函數(shù)中, 這個運算在一個周期就可以完成。有些函數(shù)可以直接或稍作修改就能使用內(nèi)聯(lián)函數(shù)替換 , 如表1 所示。

表1 直接使用內(nèi)聯(lián)函數(shù)優(yōu)化表

  從表1 可以看出, 使用內(nèi)聯(lián)函數(shù)可以大大提高代碼的執(zhí)行效率, 其中一些函數(shù)需做大量修改才能使用內(nèi)聯(lián)函數(shù)。

  4. 3. 3  軟件流水

  軟件流水是編排循環(huán)指令, 從而使循環(huán)的多次迭代能并行執(zhí)行的一種技術(shù)。軟件流水僅限于對嵌套循環(huán)中內(nèi)層循環(huán)的優(yōu)化, 因此, 應(yīng)盡可能的創(chuàng)造大的內(nèi)部循環(huán)。要實現(xiàn)上述要求就要在程序中把執(zhí)行周期少的內(nèi)循環(huán)展開, 增加并行指令數(shù), 改進(jìn)軟件流水的編排。使用該方法時, 有諸多的注意事項, 應(yīng)特別注意以下幾個方面: A 不能包含函數(shù)調(diào)用; B 不可以使用指令有條件的終止循環(huán); C 循環(huán)必須采用遞減計數(shù), 且當(dāng)其減為0 時終止循環(huán)。D 由于寄存器數(shù)量有限, 循環(huán)體代碼不能太大, 必要時大循環(huán)應(yīng)先進(jìn)行拆分。

  經(jīng)過以上方法的優(yōu)化, 優(yōu)化后效果比較明顯。運行速度明顯加快, 比優(yōu)化前快了1 倍多, 特別是對G.729. 1_TDBWE _encoder ( ) 、G. 729. 1_TDAC_mdct( ) 、G. 729. 1_MAIN_QMF_ana( ) 這3 個函數(shù)的優(yōu)化更加明顯, 所需運算周期數(shù)減少為原來的1/ 3 左右。

  5  結(jié)束語

  G. 729. 1 語音編碼算法經(jīng)過簡單的算法優(yōu)化和C 語言級別的優(yōu)化, DSP/ BIOS 配置, 成功移植到SEEDVPM642 平臺, 實現(xiàn)了語音的變速率壓縮和解壓處理。優(yōu)化后的算法, 其運行效率有明顯的提高,語音質(zhì)量能滿足通信的要求。

參考文獻(xiàn):

[1]. PC  datasheet http://m.58mhw.cn/datasheet/PC+_2043275.html.

關(guān)鍵詞:基于DM642 的G. 729. 1 實現(xiàn)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!