《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于TMS320C6201的G.723.1多通道語音編解碼的實現
基于TMS320C6201的G.723.1多通道語音編解碼的實現
林 崢 由 紅 陳 健
摘要: 介紹了一種基于TMS320C6201的ITU-T G.723.1全雙工實時多通道語音編解碼的實現。首先簡要介紹了G.723.1標準和C6201的芯片結構,然后提出了基于C語言和匯編語言的各種優化方法以降低計算量,最后給出了各個主要模塊的性能指標。該實現能夠在200MHz的C6201 DSP上實現16路語音信號的實時編解碼,完全符合ITU-T G.723.1標準的定點算法,通過了ITU-T的所有測試矢量。
Abstract:
Key words :

  摘 要: 介紹了一種基于ti" title="ti">title="TMS320C6201" title="TMS320C6201">TMS320C6201">TMS320C6201的ITU-T G.723.1" title="G.723.1">G.723.1全雙工實時多通道" title="多通道">多通道語音編解碼" title="語音編解碼">語音編解碼的實現。首先簡要介紹了G.723.1標準和C6201的芯片結構,然后提出了基于C語言和匯編語言的各種優化方法以降低計算量,最后給出了各個主要模塊的性能指標。該實現能夠在200MHz的C6201 DSP上實現16路語音信號的實時編解碼,完全符合ITU-T G.723.1標準的定點算法,通過了ITU-T的所有測試矢量。
  關鍵詞: 語音編碼 定點數字信號處理器 ITU標準


  當前,Voice over IP(VoIP)技術正在不斷普及,通過Internet的語音通信量也日漸增加。目前VoIP中使用的低碼率語音壓縮標準主要有G.723.1和G.729兩種。 隨著VoIP技術的不斷發展,要求產品的集成度與性能進一步提高,利用新一代高性能DSP芯片,實現單片DSP處理多路語音信號,是今后的發展趨勢。本文根據C6201芯片的特點,作了大量針對G.723.1標準本身的優化,降低了運算量,滿足了多路信號的實時實現。
1 G.723.1標準介紹
  G.723.1標準是ITU組織于1996年推出的一種低碼率編碼算法。主要用于對語音及其他多媒體聲音信號的壓縮,如可視電話系統、數字傳輸系統和高質語音壓縮系統等。
  G.723.1標準可在6.3kbps和5.3kbps兩種碼率下工作。其中,高碼率算法具有較高的重建語音質量,而低碼率算法的計算復雜度則較低。與一般的低碼率語音編碼算法一樣,G.723.1標準采用線性預測的合成分析法(Analysis-by-Synthesis)。對激勵信號進行量化時,高碼率算法采用多脈沖最大似然量化(MP-MLQ),而低碼率算法則采用算術碼本激勵線性預測(ACELP)。目前,G.723.1已經能在多種DSP芯片上實現,如美國TI公司的TMS320C5x、TMS320C54x和朗訊科技公司的DSP16xx等。
  G.723.1編碼器能對以8kHz采樣的話帶語音信號進行壓縮,其結構框圖見圖1(a)。從圖中可以看出,編碼器是基于線性預測合成分析法原理,其目的是最小化感知加權誤差信號。為了降低碼率,G.723.1采用了較長的幀尺寸,每幀240個樣值,即30毫秒幀長。每幀輸入信號首先通過一階高通濾波器濾除直流分量,然后將之分成四個60個樣值的子幀,每個子幀獨立進行LPC分析。為了提高LPC系數的連續性,采用了長度為180個樣值的重疊窗,即同時包含前后兩個子幀,這使算法引入60個樣值的超前時延,因此算法的總時延為37.5毫秒。LPC系數用線性譜頻率(LSF)表示,LSF參數采用預測分裂矢量量化,只對第四子幀進行。為了提高量化感知質量,高通濾波后的語音信號需通過共振峰感知加權濾波器和諧振峰噪聲整形濾波器以生成初始目標信號。前者參數由各子幀的未量化LPC系數構成,后者通過對每兩子幀進行開環基音周期估計得到,其中基音周期的范圍為18到142個樣值。LPC合成濾波器、共振峰感知加權濾波器和諧振峰噪聲整形濾波器用于系統零輸入響應計算和最佳激勵估計。G.723.1編碼器還包括一個五階基音預測器,其參數根據開環基音估計值和脈沖響應進行閉環基音搜尋得到。在進行最佳激勵估計時,需從初始目標信號中減去系統零輸入響應和基音預測器貢獻以得到最終目標信號,然后針對高低碼率分別采用MP-MLQ和ACELP方法進行量化。其中LSF參數、基音值和激勵參數需傳送給解碼器。
  解碼器首先根據得到的LSF參數重建LPC合成濾波器,然后根據基音值和激勵參數得到自適應碼本激勵信號和固定碼本激勵信號。為了提高重建語音的主觀質量,解碼器還包括一個后濾波器,后濾波器由共振峰和基音后濾波器組成。激勵信號依次通過基音后濾波器、合成濾波器和共振峰后濾波器合成重建語音,其結構框圖見圖1(b)。


2 TMS320C6201芯片結構簡介
  TMS320C6201是一種32位的定點DSP,工作頻率最高達200MHz。它有兩組運算單元,每組4個,共8個。除M單元只能作乘法外,其他單元都可以靈活使用,如D單元可以做Load、Store和加減操作,S單元可以進行移位和加減。C6201有32個通用寄存器,分為A、B兩側。兩側的寄存器有交叉通路,同一指令可以同時訪問雙側的寄存器。C6201采用了超長指令字結構,一次最多可以同時執行8條指令(每個單元一條)。它有11級流水,所有的指令都是精簡指令。C6201允許使用緩存(Cache)模式,可以運行大型程序而不降低速度。圖2是C6201的結構。


3 標準的實現
  用C6201實現G.723.1標準的最大優勢在于它極強的并行處理能力,用一塊DSP可以實現多路語音的壓縮,大大簡化了硬件的設計。C6201是TI公司推出的第一種支持C編譯器的DSP芯片。通常,C編譯器能完成整個工作的70%,而30%的進一步優化必須通過手寫匯編來實現,所以對整個程序的優化分為C語言級和匯編語言級兩部分。
3.1 C語言級的優化
3.1.1 循環展開(loop-unrolling)

  使用具有并行能力的DSP開發軟件時,一個重要的思想就是充分利用DSP的字長和數目眾多的運算單元,盡量把循環體展開。通過增加每次循環中執行的指令數來減少總的循環次數,可使得在同樣的時鐘周期內能運行更多的指令,提高了循環的效率。
3.1.2 提高寄存器的利用率
  DSP芯片內部的運算單元運行效率非常高,但如果寄存器和數據總線之間的數據交換頻繁,將使DSP的執行效率大打折扣。因為DSP在進行內存操作時,往往需要若干周期的延遲,如Load指令要有4個周期的延遲,Store指令需要2個周期的延遲。為了減少耗時的內存操作,可以在程序進入循環體之前,將要頻繁使用的數據預先放入寄存器,然后反復調用,實踐證明這種方法可以提高一部分效率。
3.1.3 使用內在函數(Intrinsic)
  內在函數是在某些C6201DSP的匯編指令前加上“_”構成、它可以方便地實現某些需若干C語句才能實現的功能。它是一種非常簡便高效的優化方法,它的調用格式和普通C函數一樣,但在編譯時編譯器會自動將Intrinsic用對應的匯編指令替代。C6201指令集中絕大多數的運算邏輯指令都可以這樣使用,比如飽和絕對值、飽和加、飽和減、飽和乘、兩個字中的對應半字同時加或同時減、兩個字中的對應半字同時乘或交叉乘、歸一化及位操作等。經過此步優化后,大部分循環體都可以生成較為有效的流水內核(piplined kernel)。用Intrinsic替代G.723.1原先的C代碼,運算量下降為原來的1/10。
3.1.4 對算法的冗余部分合理精簡
  經過檢查,發現ITU-T G.723.1的C代碼存在冗余部分。象6.3k碼率的MP-MLQ搜索模塊中,只需要用到偶數位置的脈沖響應的自相關,所以對奇數位置的脈沖響應自相關計算可以省略。
  另外,在G.723.1標準中存在大量的10階FIR和10階IIR濾波器運算,如編碼部分的感知加權、零輸入響應、解碼部分綜合濾波器和后濾波等,FIR和IIR的通用形式可以表示為:
  
  每次循環,FIR濾波器內存要用新的輸入值更新,IIR濾波器內存要用新的輸出值更新,使用按標準提供的算法,要專門用一個10階循環更新內存。如果用一個10單位大小的循環緩存區,每次用新值覆蓋最老的樣值,動態調整循環緩存區的頭指針,可以節省原先用于內存更新的cycle。
3.2 匯編級優化
  由于C編譯器只能完成70%的工作、且對于復雜的循環,C編譯器無法生成高效率的代碼,所以對運算量大的模塊只能用手寫匯編。
3.2.1 字長優化
  C6201的字長為32位,它支持按字節、半字、字存取。對于16位的數組,當它在內存中連續排列時,用32位讀寫指令LDW或STW替代16位讀寫指令LDH或STH,循環次數可減少一半。另外,C6201的匯編指令支持兩個32位寄存器的高16位和低16位之間互乘,結果分別放到不同的寄存器中,互不影響。具體指令為SMPY(L×L)、SMPYH(H×H)、SMPYHL(H×L)和SMPYLH(L×H)。通過字長優化,可以大大提高程序的運行效率。必須注意的是,在使用字長優化時,數組在內存中的位置必須對齊32位邊界。
3.2.2 對外循環的優化
  C6201的C編譯器對多重循環的最內層一般能較好地優化到一句到兩句,但對外循環的優化效率則差很多。手寫匯編時,可以先將內循環展開,再把外循環的指令并入其中,可以減少所耗費的cycle數。
  C6201的循環一般分前導(Prolog)、內核(Kernel)及排空(Epilog)三部分。代碼的并行程度從Prolog開始不斷提高,Kernel內的并行程度最高,Epilog與Prolog相反,并行性逐漸降低。在多重循環中,如果盡量把內循環前導部分的指令與填入排空部分未用的單元,一起執行,可以在執行本次循環的排空語句的同時執行下次循環的前導語句。這樣可不多花cycle而提高整個循環的效率。
4 實現結果
  經過C語言級和匯編級的多種優化,最后實現了一路G.723.1的編解碼需要花費10.6MCPS,整個代碼的程序空間為208K byte(程序中包括了部分c6201的庫函數),數據空間為8K byte,碼本大小20k byte,多通道的上下文數據為1.48K byte。200MHz的C6201每秒可以實時編解碼16路語音信號。所有代碼全部通過了ITU-T測試矢量的測試。表1是各主要模塊的運算量。


  本文提出的利用C6201 DSP進行ITU-T G.723.1全雙工、實時多通道語音編解碼的實現。該實現可以在IP電話、視頻會議中得到廣泛應用。
參考文獻
1 Dual Rate Speech Coder for Multimedia Communications Transmitting at 5.3&6.3 kbit/s.ITU-T Recommendation G.723.1、 Helsinki、 March 1996
2 TMS320C62x/C67x Prorammer’s Guide.Texas Instru-ments Inc、 1998
3 TMS320C62x/C67x CPU and Instruction Set Reference Guide.Texas Instruments Inc、 1998
4 TMS320C6000 Optimizing C Compiler User′s Guide.Texas Instruments Inc、 1999

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲图片在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 99视频+国产日韩欧美| 免费h精品视频在线播放| 亚洲成人在线免费| 国产欧美视频一区二区三区| 一区二区三区四区五区精品视频| 国产精品久久久久久户外露出| 日韩午夜黄色| 噜噜噜躁狠狠躁狠狠精品视频| 欧美视频在线观看一区| 亚洲欧美资源在线| 1024成人网色www| 国产婷婷97碰碰久久人人蜜臀| 亚洲国产成人午夜在线一区| 欧美午夜片欧美片在线观看| 伊人男人综合视频网| 亚洲欧美精品在线| 亚洲精品国产品国语在线app| 亚洲欧洲日夜超级视频| 亚洲人成77777在线观看网| 欧美成年人视频网站欧美| 美女脱光内衣内裤视频久久网站| 国产无遮挡一区二区三区毛片日本| 一区二区在线不卡| 狠狠色狠狠色综合| **网站欧美大片在线观看| 亚洲色图自拍| 亚洲自拍偷拍网址| 欧美丝袜一区二区三区| 亚洲免费观看高清完整版在线观看| 欧美日韩卡一卡二| 亚洲专区欧美专区| 亚洲主播在线| 激情成人综合| 亚洲欧美日韩在线| 亚洲午夜国产成人av电影男同| 国产精品久久久久7777婷婷| 在线观看日韩专区| 91久久线看在观草草青青| 99亚洲精品| 狠狠狠色丁香婷婷综合久久五月| 亚洲视频在线观看免费| 久久久精品国产免大香伊| 国产精品无码专区在线观看| 卡一卡二国产精品| 亚洲三级网站| 免费观看在线综合| 欧美精品18videos性欧美| 美女成人午夜| 国产精品亚洲一区二区三区在线| 国产精品久久久久久久久久妞妞| 国产欧美日韩视频一区二区三区| 国产日产高清欧美一区二区三区| 欧美视频在线观看视频极品| 久久精品99久久香蕉国产色戒| 亚洲香蕉成视频在线观看| 一区二区三区在线视频观看| 久久国产精品一区二区三区| 欧美日韩国产91| 国产视频一区免费看| 国产精品亚洲а∨天堂免在线| 欧美高清视频一区| 欧美激情中文字幕在线| 亚洲观看高清完整版在线观看| 亚洲一级影院| 欧美不卡激情三级在线观看| 国产精品美女在线观看| 国产色综合网| 国产亚洲日本欧美韩国| 欧美日韩一区二区三区四区在线观看| 国产精品国内视频| 好吊色欧美一区二区三区视频| 性色av一区二区怡红| 亚洲精品永久免费精品| 久久久久久久波多野高潮日日| 日韩亚洲一区在线播放| 亚洲免费电影在线观看| 模特精品裸拍一区| 亚洲一区区二区| 亚洲欧美伊人| 欧美图区在线视频| 亚洲欧洲av一区二区三区久久| 国产一区二区丝袜高跟鞋图片| 国一区二区在线观看| 久久综合网色—综合色88| 一本色道久久综合亚洲二区三区| 黄色小说综合网站| 国产日韩欧美视频| 亚洲欧美电影在线观看| 欧美精品国产一区| 国产一区二区在线免费观看| 国产女同一区二区| 久久国产精品第一页| 欧美三级欧美一级| 欧美精品www在线观看| 狠狠久久亚洲欧美专区| 国产亚洲欧美日韩精品| 一区电影在线观看| 久久一区亚洲| 欧美日韩福利在线观看| 狠狠久久婷婷| 国产精品国产三级国产| 欧美偷拍一区二区| 99精品视频一区二区三区| 久久超碰97中文字幕| aaa亚洲精品一二三区| 国产麻豆午夜三级精品| 欧美大香线蕉线伊人久久国产精品| 久久久久一区二区三区四区| 国产视频自拍一区| 在线观看91精品国产麻豆| 亚洲欧美日韩区| 99在线热播精品免费| 国产精品久久久久毛片软件| 久久频这里精品99香蕉| 亚洲视频在线观看网站| 亚洲视频中文字幕| 久久综合九色综合久99| 亚洲手机成人高清视频| 免费在线播放第一区高清av| 激情文学综合丁香| 狠狠综合久久av一区二区小说| 欧美日本久久| 一区二区视频欧美| 欧美日韩亚洲综合一区| 一区二区在线观看视频| 亚洲高清不卡av| 久久久久久电影| 欧美精品福利在线| 亚洲永久视频| 亚洲午夜精品久久久久久浪潮| 精品999成人| 国产精品欧美日韩| 在线日韩电影| 久久综合一区二区三区| 国产一区二区电影在线观看| 国产日韩欧美精品综合| 国产日本欧美在线观看| 欧美a级一区| 亚洲最新视频在线| 欧美黄色大片网站| 一区二区三区三区在线| 国产一区久久久| 欧美日韩精品伦理作品在线免费观看| 欧美日韩在线精品| 欧美mv日韩mv亚洲| 国内久久婷婷综合| 欧美黄色aa电影| 在线视频国内自拍亚洲视频| 一区二区三区 在线观看视频| 欧美日韩精品欧美日韩精品| 一区在线观看| 国产精品私房写真福利视频| 欧美午夜免费| 国模吧视频一区| 国产精品爽黄69| 性久久久久久久久| 久久综合色天天久久综合图片| 亚洲欧美日韩成人高清在线一区| 国产精品久久久久久久午夜片| 国产精品私房写真福利视频| 欧美日韩精品伦理作品在线免费观看| 亚洲精品日韩激情在线电影| 国产欧美一区二区精品性| 亚洲电影天堂av| 久久视频在线免费观看| 欧美视频日韩| 久久综合国产精品台湾中文娱乐网| 欧美精品一区二区视频| 国产日韩欧美高清免费| 国产精品ⅴa在线观看h| 久久精品国产在热久久| 欧美精品一区二区三区在线播放| 亚洲国产日韩欧美在线动漫| 国产精品99久久久久久久久| 欧美日本国产一区| 国产视频不卡| 亚洲日本成人| 欧美一区二区黄色| 亚洲天堂av在线免费观看| 亚洲福利久久| 亚洲一区在线观看免费观看电影高清| 久久亚洲影院| 一区二区日本视频| 欧美专区在线观看| 亚洲伊人色欲综合网| 欧美成人资源| 国产精品乱码| 激情欧美一区| 欧美伊人精品成人久久综合97| 国产一区在线免费观看| 老司机精品视频一区二区三区| 欧美成人精品不卡视频在线观看| 在线观看av不卡| 亚洲网站在线播放| 在线观看91精品国产入口| 亚洲免费在线精品一区| 国产精品久久777777毛茸茸| 国产精品视频99| 国产精品都在这里| 尤妮丝一区二区裸体视频| 在线观看欧美一区| 欧美日韩国产小视频在线观看| 久久久久女教师免费一区| 久久久噜噜噜久久| 欧美调教视频| 国产日韩欧美中文| 国产精品免费观看视频| 国产精品一区二区在线| 欧美一级黄色网| 国内综合精品午夜久久资源| 亚洲国产成人不卡| 欧美日韩精品一区二区天天拍小说| 亚洲午夜女主播在线直播| 国产麻豆精品久久一二三| 欧美激情一二区| 在线观看91久久久久久| 国产婷婷色一区二区三区| 免费一级欧美在线大片| 欧美国产精品中文字幕| 亚洲精品午夜精品| 国产女人18毛片水18精品| 亚洲国产精品视频一区| 亚洲三级免费观看| 欧美精品播放| 国产精品video| 亚洲国产日韩欧美一区二区三区| 欧美黑人在线观看| 欧美精品少妇一区二区三区| 久久成人精品无人区| 午夜精品在线| 亚洲一区二区欧美| 国产午夜精品视频免费不卡69堂| 久久精品视频在线免费观看| 久久国产主播| 久久国产精品99精品国产| 国产精品永久入口久久久| 国产日韩1区| 国产欧美精品在线| 美女脱光内衣内裤视频久久网站| 小辣椒精品导航| 国产精品扒开腿做爽爽爽视频| 国产精品久久久久久久午夜片| 欧美美女日韩| 欧美日韩在线观看一区二区三区| 国产精品日本欧美一区二区三区| 国产精品久久久久国产精品日日| 久久免费高清视频| 在线成人www免费观看视频| 欧美日韩免费观看一区| 国产美女精品免费电影| 国模吧视频一区| 一区二区电影免费观看| 欧美高清视频一区二区三区在线观看| 校园春色国产精品| 欧美不卡一区| 欧美一区亚洲一区| 欧美区在线播放| 久久久精品一区二区三区| 久久尤物电影视频在线观看| 亚洲精品久久久久久久久久久| 99热这里只有成人精品国产| 亚洲精品一二三| 久久婷婷综合激情| 久久久久久噜噜噜久久久精品| 欧美在线亚洲一区| 免费一区二区三区| 久久看片网站| 久久精视频免费在线久久完整在线看| 久久精品欧美日韩精品| 亚洲免费观看高清在线观看| 欧美日本高清| 日韩亚洲视频在线| 午夜视频在线观看一区| 欧美亚洲动漫精品| 亚洲电影免费观看高清完整版在线观看| 亚洲人体1000| 国内久久视频| 欧美极品影院| 卡通动漫国产精品| 欧美日韩国产片| 国产精品视频导航| 欧美国产极速在线| 欧美国产精品日韩| 美女91精品| 国产精品高清免费在线观看| 国自产拍偷拍福利精品免费一| 在线不卡中文字幕播放| 亚洲无线观看| 亚洲精品一区二区在线观看| 亚洲国产日韩欧美在线99| 亚洲午夜在线| 99这里有精品| 在线播放国产一区中文字幕剧情欧美| 国产精品亚洲аv天堂网| 一本色道久久综合亚洲精品高清| 国产精品欧美在线| 国产精品色一区二区三区| 欧美高清hd18日本| 欧美日韩亚洲一区在线观看| 猫咪成人在线观看| 香蕉久久精品日日躁夜夜躁| 最新国产乱人伦偷精品免费网站| 黄色一区二区在线观看| 欧美成人日本| 欧美激情亚洲另类| 欧美亚洲一区二区在线观看| 尤物在线观看一区| 欧美性天天影院| 欧美11—12娇小xxxx| 欧美日韩国产区| 国产一区欧美| 在线看国产一区| 好看的亚洲午夜视频在线| 狠狠爱综合网| 亚洲一区二区三区在线观看视频| 国产在线成人| 在线亚洲一区观看| 亚洲三级电影全部在线观看高清| 欧美日韩一区二区精品| 亚洲综合色噜噜狠狠| 欧美精品国产精品日韩精品| 翔田千里一区二区| 国产欧美日韩伦理| 在线日韩av永久免费观看| 午夜久久资源| 国产日韩久久|