《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > G.723.1語音編碼算法的DSP實現
G.723.1語音編碼算法的DSP實現
黃 冰,雷 婷,王 濤
摘要: 提出了在TMS320C5416 DSP硬件開發平臺上實時實現G.723.1的解決方案。根據G.723.1標準實時實現的要求對程序進行了優化,最終在TMS320C5416 DSP上實時實現了該標準。語音質量良好,達到了通信質量的要求。
Abstract:
Key words :

  摘 要: 提出了在title="TMS320C5416">TMS320C5416 DSP硬件開發平臺上實時實現G.723.1的解決方案。根據G.723.1標準實時實現的要求對程序進行了優化,最終在TMS320C5416 DSP上實時實現了該標準。語音質量良好,達到了通信質量的要求。
  關鍵詞: 語音編碼;ITU-T G.723.1協議;ACELP;MPE_LPC;DSP芯片;算法優化

 

  隨著通信、計算機網絡等技術的飛速發展,日益增加的客戶需求量和現有的通信信道容量之間的矛盾愈發突出。如何在有限的信道資源下,通過壓縮信源以提高傳輸效率已成為當前急需解決的問題之一。為此誕生了許多語音壓縮處理方法,G.723.1語音編碼算法便是ITU-T(國際電信聯盟電信標準化部門)制定的H.324協議簇首推的標準算法,主要用于低比特率多媒體業務的話音或其他音頻信號分量的壓縮。它是一種雙速率語音編碼標準,其中6.3 kb/s的速率提供了良好的話音質量,而5.3 kb/s的速率在提供較好通話質量的同時,也為系統設計者提供了更適合的靈活性[1]。
1 算法原理
    G.723.1語音編碼算法按幀(Frame)對語音數據進行壓縮和解壓縮,每幀240個采樣點,壓縮傳遞的參數包括線性預測系數、自適應碼本的延時和增益、激勵脈沖位置、符號及格點比特等。
  首先進行高通濾波,去掉直流分量;接著把一幀信號分成4個子幀,每個子幀60個采樣點,分別進行10階線性預測分析(LPC),得到各子幀的LPC參數,把最后一個子幀的LPC參數轉化成線譜對(LSP)參數進行矢量量化編碼,送到解碼器。利用未量化的LPC參數構造短時感知加權濾波器,信號濾波后得到感覺加權的語音信號。每2個子幀(120樣點)搜索一個開環基音值,并以此為依據為每一個子幀構造一個諧波噪聲成形濾波器,對感知加權的語音信號進行濾波。每一子幀的LPC綜合濾波器、感覺加權濾波器和諧波噪聲成形濾波器聯起來,構成一個聯合濾波器,利用它的沖激響應和開環基音周期,對每一子幀進行閉環基音搜索,對開環搜索的結果進行修正。同時通過一個五階基音預測器對信號進行預測,得到相應子幀的殘差信號。最后進行固定碼本搜索,也就是對每一子幀的殘差信號進行矢量量化,對應兩種不同的編碼速率采用兩種不同的方法:編碼速率為6.3kb/s時,采用多脈沖最大似然量化(MP-MLQ)的方法,具有較高的重建語音質量;編碼速率為5.3kb/d時,采用代數碼本激勵線性預測(ACELP)方法。
  算法的解碼也是按幀進行,主要對符合ITU-T G.723.1的碼流進行解碼,得到相應的參數,根據語音產生的機理,合成語音信號。讀入一幀碼流后,分別進行LSP參數、基音周期和激勵脈沖信號解碼,對LSP參數插值,然后轉化成各子幀的線性預測系數,構成LPC綜合濾波器。通過基音周期和激勵脈沖得到每一子幀的殘差信號,經過基音后濾波,輸入到LPC綜合濾波器,產生合成語音信號。經過共振峰后濾波和增益控制,形成高質量的重建語音信號。
2 算法實現
2.1 硬件設計
  在選擇DSP芯片時,考慮了語音壓縮編碼算法的復雜度以及運算量,并對DPS芯片本身的運算能力、存儲空間大小、性能價格比、開發軟件的完整性等多方面進行綜合比較,最終選用TIC54xx系列的定點運算處理器TMS320C5416,開發平臺是TMS320C5416 DSK。
  TMS320C5416的單指令周期為6.25 ms,每秒執行的指令數為160M,使用了6級指令流水線結構,這些都很適合G.723.1語音編碼算法的實現。采用一個40 bit ALU、128K×16 bit片內RAM(包括64 kB的片內DARAM和64 KB的片內SARAM)、3個獨立的16 bit數據內存總線、1個程序內存總線、3個McBSP、6信道DMA控制器、1個8/16 bit并行增強主機端口接口及2個16 bit計時器[2,3]。
  在DSK的基礎上,可以搭建出語音開發硬件系統平臺,如圖1所示。

 


  輸入語音信號由麥克風輸入,經過立體聲音頻多媒體數字信號編碼芯片PCM3002 A/D轉換后成為數字信號,接著送入DSP內進行編碼壓縮處理。處理后的數據經過解壓得到重建的語音信號,最后送入PCM3002 D/A轉換為模擬信號,通過耳機或揚聲器得以收聽到。
2.2 算法實現流程
  根據G.723.1算法,設計實現流程如圖2所示。


  從流程圖中可以看到,首先關閉中斷、初始化DSP芯片和開發平臺;然后進行程序運行前的硬件配置,主要是配置外設,打開DMA和McBSP。配置結束后打開中斷屏蔽控制寄存器,等待中斷的到來。McBSP接收中斷發生時,DMA接收PCM3002發來的數據并存入緩沖區,并判斷是否滿一幀240個數據。如果不滿幀,就直接等待下一次McBSP接收中斷;如果滿一幀,通過DMA通道3將240個語音數據復制到緩沖區BUFF1,同時置位新幀標志位new_data,然后對數據進行編解碼處理。整個編解碼結束后,將得到的一幀240個合成語音數據復制到緩沖區BUFF2中,等待新幀標志位重新置1后進行下一幀的編解碼處理。McBSP發送中斷時,DMA把發送緩沖區的一個數據發送給PCM3002后,判斷是否滿一幀。如果不滿幀,就直接等到下一次McBSP發送中斷;如果滿一幀,即PCM3002接收到了240個數據,則把BUFF2中新一幀240個合成語音數據復制到發送緩沖區,等待下一次McBSP發送中斷。
2.3 DSP/BIOS的配置
  將成功實現的算法移植到TI公司提供的TMS320C5416上,采用DSP/BIOS技術編程實現。DSP/BIOS配置工具主要是設置DSP/BIOS各個模塊的參數和創建API調用對象[4]。用DSP/BIOS配置工具,對象可以被預先創建和設置,使用這種方法創建靜態對象,不僅可以合理利用內存空間、減小代碼長度、優化數據結構,還有利于程序編譯前通過驗證對象的屬性預先發現錯誤。
3 程序優化
  實時實現語音信號的編解碼最基本的要求是編解一幀語音信號的時間要少于采集一幀語音信號的時間,即要求G.723.1的一幀語音編解碼時間要少于30 ms。對G.723.1標準算法進行時間評估時發現,一幀的運算量大概需要49 M個時鐘周期,約為300 ms,這顯然無法在TMS320C5416 DSP上實時運行。因此有必要從多方面進行優化。
3.1 循環優化
  G.723.1實現中的很多運算是在循環內完成的,在循環內部特別是嵌套較深的循環內部,減少一條指令可以大大降低程序的操作次數。固定碼本搜索中為了確定四個脈沖的位置和幅度,用到了四重嵌套循環,每重循環8次,在最內層循環減少一條指令,整個程序就減少84=4 096條指令。因此在G.723.1的實現過程中,盡量將內層循環的指令搬移到外層,外層循環的指令搬移到整個循環體外,從而縮短程序執行時間,滿足實時性的要求。
  此外,適當選擇循環指令,如RPT(重復下條指令),RPTZ(累加器清零并重復下條指令)和RPTB(塊重復指令)等,也能縮短循環時間。如RPT允許重復執行緊隨其后的一條指令,由于要重復的指令只需要取指一次,與利用跳轉指令BANZ進行循環相比,效率要高得多。特別是對于乘累加和數據傳送多周期指令(MAC、MVDK 和MVPD等),在執行一次之后就變成了單周期指令,大大提高了執行效率。
3.2 使用內聯函數
  CCS提供的內聯函數集中有一些常用的基本運算函數,如加、飽和加、減、飽和減、長數乘等。這些函數可以很方便地被調用,就像調用C函數一樣,只要在函數名前加一個“_”,例如_L_SUB(a,b)。這些內聯函數是用匯編語句編寫的,編譯時C編譯器將這些內聯函數用對應的匯編語句代替,所以執行效率很高。在程序的開始部分頭文件中,用#include“intrindefs.h”,代替#include“basic.h”,就是把文件“basic.c”從工程中去掉,從而實現對“basic.c”中許多基本運算函數的優化,提高了執行效率。
3.3 使用宏定義
  在G.723.1標準的定點C程序中,所有基本運算都以調用子函數的形式執行。這樣做對程序的規范化設計有好處,同時也在很大程度上降低了程序的運算效率。將基本運算由子函數調用改為宏定義可以去掉函數調用的開銷,加快運算速度,程序的運算效率明顯提高。這種優化方式會帶來代碼量的增大,但還是在芯片存儲空間的容許范圍內。
3.4 合理使用流水線操作
  C54芯片具有6級深度的流水線,可以完成預取指、取指、譯碼、產生操作數地址、讀取操作數和執行等6個操作,這就出現了指令的重疊。然而CPU總線、寄存器資源是有限的,當不同級別的流水線試圖利用同一條總線或訪問同一資源時,就可能發生時序上的沖突。如果流水線沖突,CPU自動通過指令延遲的方法解決,有些沖突指令延遲后可以避免,有些則不能避免,需要在指令中間加入NOP空指令才能解決。但這樣消耗了額外的時鐘周期。重新安排指令順序有時可以避免沖突,提高程序執行效率,尤其是當NOP指令在循環內部時,可以節省不少的開銷。分析程序編譯后生成的匯編語言程序,觀察分析是否可以進行優化??梢杂脛摻ㄏ嚓P圖,重新分配運算單元和寄存器、創建排序表重新調整指令順序等方法去掉NOP指令,同時避免流水線沖突。
3.5 優化效果
  G.723.1語音編解碼程序經過優化保證了該算法在DSP中的實時實現。G.723.1協議幀長30 ms,另外有7.5 ms的前瞻,故總幀長為37.5 ms。在硬件仿真模式下對整個程序運行進行測試,結果表明,一幀語音信號的編解碼在5.3 kb/s模式下需要3 402 338 clocks,約20.3 ms;在6.3 kb/s模式下需要5 134 901 clocks,約22.83 ms,均低于算法要求的30 ms,在TMS320VC5416上最終完成了G.723.1標準的實時實現。其中各主要模塊和主要代碼段在優化前后占用周期和空間的對比分別如表1和表2所示。


  信噪比是衡量語音編解碼質量的客觀標準,計算時常用長時信噪比和短時(分段)信噪比兩種準則。短時(分段)信噪比采用分段(通常是10 ms~30 ms)的方法來分別計算每一段語音信號的信噪比,因此很適合反映量化器對不同電平輸入段的量化質量。本文采用短時(分段)信噪比作為衡量標準。
  設每段有N個語音采樣點,則第m段的分段信噪比定義為:
  

x(n)是原始信號,y(n)是輸出信號,N是幀長,M是幀的總數。
  本文對G.723.1標準進行測試,就圖3所示語音信號計算其短時信噪比。圖中總幀數150幀,幀長為240個采樣點,按照上式計算SNR=13.56dB。因此可知G.723.1有較高的短時信噪比,語音編解碼質量較好,得到的語音信號比較清晰。

 


參考文獻
[1] ITU-T.ITU-T Recommendation G.723.1 dual rate speech coder multimedia communications transmitting at 5.3 and 6.3 Kb/s[S].2006,5.
[2] Texas Instruments.TMS320VC5416 DSK technical reference[R].2002.
[3] Texas Instruments.TMS320VC5416 fixed-point digital signal processor data manual[R].2004.
[4] Texas Instruments.TMS320C54x DSP/BIOS application oro-gramming interface(API) reference guide[R].SPRU404g,2004.
[5] 彭啟琮,管慶.DSP集成開發環境-CCS及DSP/BIOS的原理與應用[M].北京:電子工業出版社,2004.
[6] 趙力.語音信號處理[M].北京:機械工業出版社,2003,4.
[7] 韓紀慶.語音信號處理[M].北京:清華大學出版社,2004.
[8] 黃永峰.因特網語音通信技術及其應用[M].北京:人民郵電出版社,2002.

此內容為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>
          欧美久久综合| 国产精品av久久久久久麻豆网| 国产精品美女久久久久久免费| 亚洲第一在线视频| 午夜免费久久久久| 亚洲七七久久综合桃花剧情介绍| 欧美xart系列在线观看| 99国产一区| 国产精品久久一级| 国产麻豆成人精品| 久久五月激情| 欧美~级网站不卡| 激情久久影院| 欧美日韩国产三级| 樱花yy私人影院亚洲| 亚洲欧洲日产国产网站| 狠狠色噜噜狠狠色综合久| 亚洲欧洲免费视频| 亚洲高清视频中文字幕| 国产精品99久久不卡二区| 欧美极品色图| 欧美成人免费在线视频| 久久精品国产精品亚洲精品| 久久综合国产精品台湾中文娱乐网| 国产综合视频在线观看| 日韩天堂在线视频| 久久精品国产亚洲一区二区三区| 午夜精品影院在线观看| 一本久久精品一区二区| 美国三级日本三级久久99| 国产精品久久久久久久久久三级| 欧美一级免费视频| 亚洲伦伦在线| 久久精品中文字幕一区二区三区| 99精品视频免费观看视频| 在线播放亚洲一区| 欧美日产国产成人免费图片| 欧美视频在线观看免费网址| 欧美成人午夜影院| 欧美日韩免费一区二区三区| 欧美性大战久久久久| 午夜欧美大尺度福利影院在线看| 欧美成人有码| 欧美三日本三级少妇三99| 欧美一级一区| 99国产精品私拍| 欧美国产一区二区三区激情无套| 在线观看国产成人av片| 免费成年人欧美视频| 中文国产成人精品久久一| 国产精品成人在线观看| 国产精品久久久久久av下载红粉| 樱花yy私人影院亚洲| 在线观看亚洲a| 欧美日韩高清一区| 在线视频亚洲一区| 欧美午夜精品久久久久久超碰| 一区二区三区日韩精品视频| 久久精品夜色噜噜亚洲a∨| 午夜久久久久久| 久久久国产精品一区二区三区| 国产精品免费一区豆花| 国产免费成人在线视频| 欧美国产日本高清在线| 亚洲精品国精品久久99热| 校园春色综合网| 欧美成人综合在线| 蜜臀91精品一区二区三区| 欧美亚洲动漫精品| 国产亚洲人成a一在线v站| 国内精品久久久久国产盗摄免费观看完整版| 欧美紧缚bdsm在线视频| 一区二区三区无毛| 夜夜精品视频| 国产精品日日做人人爱| 亚洲国产日韩一区二区| 麻豆精品视频| 欧美色123| 亚洲欧美成人精品| 国产精品人人爽人人做我的可爱| 一区二区欧美视频| 国产性做久久久久久| 国产精品99一区| 欧美午夜精品| 欧美—级a级欧美特级ar全黄| 亚洲欧美区自拍先锋| 国产精品日韩欧美大师| 欧美电影在线观看完整版| 另类激情亚洲| 欧美大片在线观看一区| 一区二区三区国产盗摄| 亚洲精品中文字幕女同| 国产字幕视频一区二区| 亚洲国产精品第一区二区| 亚洲欧美视频在线观看视频| 亚洲国产精品成人综合| 国内免费精品永久在线视频| 亚洲视频专区在线| 欧美日韩一区二区三区在线视频| 欧美日韩三级| 久久另类ts人妖一区二区| 国产伦理精品不卡| 亚洲精品久久久久| 亚洲精品免费看| 久久精品国产2020观看福利| 欧美色精品天天在线观看视频| 久久女同精品一区二区| 欧美日韩在线播放一区二区| 精品99一区二区| 国外成人在线视频网站| 91久久精品国产91久久性色tv| 国产精品自拍视频| 久久亚洲美女| 免费成人在线视频网站| 国产一区二区三区视频在线观看| 永久免费毛片在线播放不卡| 国产毛片一区二区| 一本色道久久加勒比精品| 亚洲一区二区三区色| 欧美一区在线直播| 小黄鸭精品密入口导航| 亚洲影院色无极综合| 欧美日本韩国一区二区三区| 欧美一区二区三区四区视频| 欧美少妇一区二区| 亚洲国产精品久久久久秋霞影院| 国产精品国产精品国产专区不蜜| 欧美区亚洲区| 亚洲午夜久久久久久久久电影网| 国产精品福利av| 一区二区三区四区五区精品视频| 亚洲欧美日韩天堂一区二区| 欧美性猛交一区二区三区精品| 亚洲欧美日韩国产综合精品二区| 久久gogo国模裸体人体| 一本在线高清不卡dvd| 亚洲与欧洲av电影| 免费观看成人www动漫视频| 国产精品九九久久久久久久| 久久精品欧美| 久久精品毛片| 亚洲综合色激情五月| 久久影视精品| 午夜精品久久久久久久久久久久| 亚洲国产高清在线| 久久午夜色播影院免费高清| 麻豆久久久9性大片| 午夜精品美女自拍福到在线| 国产一区视频观看| 欧美日韩在线视频一区二区| 欧美一区二区网站| 日韩午夜电影av| 亚洲欧美激情四射在线日| 亚洲国产精品va在线观看黑人| 久久嫩草精品久久久精品| 欧美日韩精品免费观看视频| 欧美一区二区三区免费大片| 亚洲欧美日韩网| 亚洲肉体裸体xxxx137| 欧美中文字幕精品| 国产精品稀缺呦系列在线| 99国产精品99久久久久久粉嫩| 伊人精品在线| 精品va天堂亚洲国产| 136国产福利精品导航网址| 久久精品免费观看| 鲁鲁狠狠狠7777一区二区| 国产一区二区三区丝袜| 在线电影院国产精品| 国产精品久久久久秋霞鲁丝| 国内外成人免费激情在线视频网站| 欧美在线视频免费| 国产综合一区二区| 日韩午夜电影在线观看| 久久亚洲私人国产精品va| 一本久道久久综合中文字幕| 一区二区三区四区五区精品视频| 一区二区三区回区在观看免费视频| 欧美乱人伦中文字幕在线| 欧美一区二区三区另类| 一本色道久久综合精品竹菊| 国产精品乱子久久久久| 欧美视频一区在线观看| 9l国产精品久久久久麻豆| 中日韩午夜理伦电影免费| 欧美午夜精品久久久久久浪潮| 精品不卡视频| 亚洲女与黑人做爰| 亚洲国产高清aⅴ视频| 欧美国产综合| 99人久久精品视频最新地址| 亚洲精品国产日韩| 亚洲最新在线视频| 日韩午夜av在线| 黄色在线成人| 国产精品入口福利| 怡红院精品视频| 久久久久久久一区二区三区| 欧美日韩亚洲一区二区三区四区| 亚洲国产三级| 国产视频自拍一区| 蜜桃av一区二区在线观看| 亚洲国产专区校园欧美| 国产拍揄自揄精品视频麻豆| 久久先锋影音| 在线观看一区二区精品视频| 国产日韩高清一区二区三区在线| 国产精品中文在线| 日韩一区二区精品视频| 亚洲欧美卡通另类91av| 激情五月综合色婷婷一区二区| 日韩视频在线免费观看| 日韩午夜高潮| 99精品欧美一区二区三区| 国产日本欧美一区二区| 国产伦精品一区二区三区免费| 免费成人av在线| 一区二区三区自拍| 亚洲大黄网站| 国产精品日韩二区| 国产精品美女| 亚洲一区二区日本| 国产综合精品一区| 亚洲精品影视在线观看| 久热精品视频在线免费观看| 亚洲精品字幕| 欧美日韩国产高清视频| 国产精品九九| 欧美精品一区三区在线观看| 国产裸体写真av一区二区| 亚洲一区二区三区久久| 国产一区二区三区在线观看精品| 国产欧美日韩伦理| 狠狠色狠狠色综合人人| 亚洲精品乱码久久久久久按摩观| 国产一区二区主播在线| 久久久久久日产精品| 欧美aⅴ一区二区三区视频| 国产一区二区三区久久精品| 久久久久久9| 欧美一区午夜精品| 欧美日韩日本视频| 欧美黄色网络| 免费成人在线观看视频| 欧美极品欧美精品欧美视频| 一本色道久久综合一区| 亚洲国产精品悠悠久久琪琪| 国产欧美激情| 亚洲欧美日产图| 激情亚洲网站| 亚洲三级国产| 亚洲三级影片| 欧美在线啊v| 国产一区视频网站| 亚洲免费在线视频| 国产精品自拍一区| 亚洲一区二区不卡免费| 国产精品视频精品| 日韩亚洲综合在线| 美女网站在线免费欧美精品| 亚洲一区二区四区| 亚洲欧美欧美一区二区三区| 欧美亚洲系列| 激情亚洲一区二区三区四区| 中文av字幕一区| 麻豆av一区二区三区| 久久av免费一区| 99国产精品99久久久久久粉嫩| 亚洲香蕉网站| 国产精品激情偷乱一区二区∴| 欧美精品三级在线观看| 国产精品国产三级国产普通话蜜臀| 韩国欧美一区| 欧美一区二区三区另类| 又紧又大又爽精品一区二区| 国产精品欧美久久久久无广告| 亚洲精品四区| 欧美精品九九99久久| 国语自产精品视频在线看8查询8| 久久人91精品久久久久久不卡| 久久综合网色—综合色88| ●精品国产综合乱码久久久久| 欧美日韩一区二区在线| 欧美国产一区二区在线观看| 欧美专区亚洲专区| 欧美了一区在线观看| 这里只有视频精品| 国产欧美日韩视频在线观看| 好吊视频一区二区三区四区| 免费人成网站在线观看欧美高清| 亚洲影院免费| 国产精品嫩草影院一区二区| 欧美一区二区三区免费看| 一本一本久久a久久精品综合妖精| 欧美国产日韩一区二区三区| 1000部精品久久久久久久久| 亚洲国产精品一区二区第四页av| 蜜月aⅴ免费一区二区三区| 久久精品视频免费播放| 国产精品网站在线| 国产精品大片wwwwww| 国产精品日韩在线| 久久综合亚洲社区| 亚洲精品国产精品久久清纯直播| 亚洲精品日韩一| 欧美午夜理伦三级在线观看| 久久一日本道色综合久久| 亚洲精选视频在线| 欧美精品久久久久久久久老牛影院| 国产精品久久久久久av下载红粉| 亚洲成人在线视频播放| 美女国内精品自产拍在线播放| 在线视频观看日韩| 亚洲一区高清| 国产精品国产三级国产a| 国产精品视频专区| 国产欧美视频一区二区| 亚洲午夜精品在线| 国产欧美亚洲精品| 欧美日韩在线播放一区| 亚洲午夜久久久久久尤物| 国产午夜精品全部视频播放| 久久久久久97三级| 久久免费国产精品| 亚洲精品亚洲人成人网| 亚洲一区三区视频在线观看| 久久国产福利国产秒拍| 在线观看91久久久久久|