<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于TMS320C6201的G.723.1多通道語(yǔ)音編解碼的實(shí)現

基于TMS320C6201的G.723.1多通道語(yǔ)音編解碼的實(shí)現

作者: 時(shí)間:2008-06-02 來(lái)源:嵌入式開(kāi)發(fā)網(wǎng) 收藏

  當前,Voice overIP()技術(shù)正在不斷普及,通過(guò)Internet的語(yǔ)音通信量也日漸增加。目前中使用的低碼率語(yǔ)音壓縮標準主要有G.723.1和G.729兩種。隨著(zhù)技術(shù)的不斷發(fā)展,要求產(chǎn)品的集成度與性能進(jìn)一步提高,利用新一代高性能芯片,實(shí)現單片處理多路語(yǔ)音信號,是今后的發(fā)展趨勢。本文根據C6201芯片的特點(diǎn),作了大量針對G.723.1標準本身的優(yōu)化,降低了運算量,滿(mǎn)足了多路信號的實(shí)時(shí)實(shí)現。

本文引用地址:http://dyxdggzs.com/article/83480.htm

  1 G.723.1標準介紹

 ?。牵罚玻常睒藴适牵桑裕战M織于1996年推出的一種低碼率編碼算法。主要用于對語(yǔ)音及其他多媒體聲音信號的壓縮,如可視電話(huà)系統、數字傳輸系統和高質(zhì)語(yǔ)音壓縮系統等。

 ?。牵罚玻常睒藴士稍冢叮常耄猓穑蠛停担常耄猓穑髢煞N碼率下工作。其中,高碼率算法具有較高的重建語(yǔ)音質(zhì)量,而低碼率算法的計算復雜度則較低。與一般的低碼率算法一樣,G.723.1標準采用線(xiàn)性預測的合成分析法(Analysis-by-Synthesis)。對激勵信號進(jìn)行量化時(shí),高碼率算法采用多脈沖最大似然量化(MP-MLQ),而低碼率算法則采用算術(shù)碼本激勵線(xiàn)性預測(ACELP)。目前,G.723.1已經(jīng)能在多種芯片上實(shí)現,如美國TI公司的TMS320C5x、TMS320C54x和朗訊科技公司的DSP16xx等。

 ?。牵罚玻常本幋a器能對以8kHz采樣的話(huà)帶語(yǔ)音信號進(jìn)行壓縮,其結構框圖見(jiàn)圖1(a)。從圖中可以看出,編碼器是基于線(xiàn)性預測合成分析法原理,其目的是最小化感知加權誤差信號。為了降低碼率,G.723.1采用了較長(cháng)的幀尺寸,每幀240個(gè)樣值,即30毫秒幀長(cháng)。每幀輸入信號首先通過(guò)一階高通濾波器濾除直流分量,然后將之分成四個(gè)60個(gè)樣值的子幀,每個(gè)子幀獨立進(jìn)行LPC分析。為了提高LPC系數的連續性,采用了長(cháng)度為180個(gè)樣值的重疊窗,即同時(shí)包含前后兩個(gè)子幀,這使算法引入60個(gè)樣值的超前時(shí)延,因此算法的總時(shí)延為37.5毫秒。LPC系數用線(xiàn)性譜頻率(LSF)表示,LSF參數采用預測分裂矢量量化,只對第四子幀進(jìn)行。為了提高量化感知質(zhì)量,高通濾波后的語(yǔ)音信號需通過(guò)共振峰感知加權濾波器和諧振峰噪聲整形濾波器以生成初始目標信號。前者參數由各子幀的未量化LPC系數構成,后者通過(guò)對每?jì)勺訋M(jìn)行開(kāi)環(huán)基音周期估計得到,其中基音周期的范圍為18到142個(gè)樣值。LPC合成濾波器、共振峰感知加權濾波器和諧振峰噪聲整形濾波器用于系統零輸入響應計算和最佳激勵估計。G.723.1編碼器還包括一個(gè)五階基音預測器,其參數根據開(kāi)環(huán)基音估計值和脈沖響應進(jìn)行閉環(huán)基音搜尋得到。在進(jìn)行最佳激勵估計時(shí),需從初始目標信號中減去系統零輸入響應和基音預測器貢獻以得到最終目標信號,然后針對高低碼率分別采用MP-MLQ和ACELP方法進(jìn)行量化。其中LSF參數、基音值和激勵參數需傳送給解碼器。

  解碼器首先根據得到的LSF參數重建LPC合成濾波器,然后根據基音值和激勵參數得到自適應碼本激勵信號和固定碼本激勵信號。為了提高重建語(yǔ)音的主觀(guān)質(zhì)量,解碼器還包括一個(gè)后濾波器,后濾波器由共振峰和基音后濾波器組成。激勵信號依次通過(guò)基音后濾波器、合成濾波器和共振峰后濾波器合成重建語(yǔ)音,其結構框圖見(jiàn)圖1(b)。

  2 TMS320C6201芯片結構簡(jiǎn)介

 ?。裕停樱常玻埃茫叮玻埃笔且环N32位的定點(diǎn)DSP,工作頻率最高達200MHz。它有兩組運算單元,每組4個(gè),共8個(gè)。除M單元只能作乘法外,其他單元都可以靈活使用,如D單元可以做Load、Store和加減操作,S單元可以進(jìn)行移位和加減。C6201有32個(gè)通用寄存器,分為A、B兩側。兩側的寄存器有交叉通路,同一指令可以同時(shí)訪(fǎng)問(wèn)雙側的寄存器。C6201采用了超長(cháng)指令字結構,一次最多可以同時(shí)執行8條指令(每個(gè)單元一條)。它有11級流水,所有的指令都是精簡(jiǎn)指令。C6201允許使用緩存(Cache)模式,可以運行大型程序而不降低速度。圖2是C6201的結構。

  3 標準的實(shí)現

  用C6201實(shí)現G.723.1標準的最大優(yōu)勢在于它極強的并行處理能力,用一塊DSP可以實(shí)現多路語(yǔ)音的壓縮,大大簡(jiǎn)化了硬件的設計。C6201是TI公司推出的第一種支持C編譯器的DSP芯片。通常,C編譯器能完成整個(gè)工作的70%,而30%的進(jìn)一步優(yōu)化必須通過(guò)手寫(xiě)匯編來(lái)實(shí)現,所以對整個(gè)程序的優(yōu)化分為C語(yǔ)言級和匯編語(yǔ)言級兩部分。

  3.1 C語(yǔ)言級的優(yōu)化

 ?。常保?循環(huán)展開(kāi)(loop-unrolling)

  使用具有并行能力的DSP開(kāi)發(fā)軟件時(shí),一個(gè)重要的思想就是充分利用DSP的字長(cháng)和數目眾多的運算單元,盡量把循環(huán)體展開(kāi)。通過(guò)增加每次循環(huán)中執行的指令數來(lái)減少總的循環(huán)次數,可使得在同樣的時(shí)鐘周期內能運行更多的指令,提高了循環(huán)的效率。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>