<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ACELP碼算法的網(wǎng)絡(luò)通信的實現(xiàn)及應(yīng)用

          基于ACELP碼算法的網(wǎng)絡(luò)通信的實現(xiàn)及應(yīng)用

          作者: 時間:2014-04-20 來源:網(wǎng)絡(luò) 收藏

          其中bits為137比特編碼比特幀,signal為240*16bits的語音樣點數(shù)據(jù),pCodParam和pDecParam為編、譯碼過程中的中間結(jié)構(gòu)體參量。

          本文引用地址:http://www.ex-cimer.com/article/236792.htm

          3 編譯碼算法在網(wǎng)絡(luò)通信中的應(yīng)用

          采用網(wǎng)絡(luò)服務(wù)器、客戶端通信模式,將編譯碼模塊應(yīng)用到網(wǎng)絡(luò)語音通信中,最終實現(xiàn)了基于算法的網(wǎng)絡(luò)語音通信。具體通信過程為:服務(wù)器端采用聲卡以8 kHz采樣,16比特量化方式對語音信號進行實時采集,對采集到的語音信號每240樣點作為一幀送入ACELP編碼模塊進行壓縮編碼,壓縮后編碼數(shù)據(jù)幀長為137比特,每幀數(shù)據(jù)進一步封裝處理后通過網(wǎng)絡(luò)實時發(fā)送到客戶端。客戶端通過網(wǎng)絡(luò)實時接收服務(wù)器端編碼語音數(shù)據(jù)包,經(jīng)ACELP譯碼處理后實時發(fā)送到聲卡進行播放處理,從而實現(xiàn)網(wǎng)絡(luò)語音通信。

          3.1 語音信號實時采集與播放技術(shù)實現(xiàn)

          在語音信號實時采集與播放實現(xiàn)過程中,如何實現(xiàn)聲卡采集與播放數(shù)據(jù)的實時性、連續(xù)性和可靠性是軟件設(shè)計的關(guān)鍵所在。在本文軟件系統(tǒng)中,通過直接凋用Windows最底層波形音頻接口函數(shù),實現(xiàn)聲卡的編程控制,系統(tǒng)中采用了多線程多緩沖技術(shù),即在服務(wù)器端,聲卡采集與語音壓縮編碼使用不同的工作線程,同時給聲卡提供多個用于承載采集數(shù)據(jù)的緩沖區(qū),在同一時刻部分緩沖區(qū)供聲卡采集線程裝載數(shù)據(jù)的同時,另外已經(jīng)裝滿數(shù)據(jù)的緩沖區(qū)供語音壓縮數(shù)據(jù)處理線程處理,從而使得語音信號采集和壓縮編碼處理工作同時進行,有效保證了采集數(shù)據(jù)的連續(xù)性和信號處理的實時性。服務(wù)器端聲卡實時采集原理框圖如圖3所示。

           

           

          3.2 網(wǎng)絡(luò)通信技術(shù)實現(xiàn)

          軟件系統(tǒng)采用客戶/服務(wù)器模式和TCP/IP協(xié)議,利用Socket套接字編程技術(shù)實現(xiàn)數(shù)據(jù)接收與發(fā)送。其中數(shù)據(jù)接收模塊采用VC++的CSo cket類,具體通信過程為:1)程序啟動的時候在指定端口創(chuàng)建網(wǎng)絡(luò)監(jiān)聽套接字,用以監(jiān)聽客戶端的連接請求。2)當有客戶請求連接時,創(chuàng)建接收套接字與客戶端建立連接。3)當有數(shù)據(jù)需要接收時,CAcceptSocket響應(yīng)OnReceive消息,調(diào)用Receive函數(shù)從緩沖里獲取客戶端傳來的數(shù)據(jù),實時的交給ACELP譯碼線程進行譯碼還原處理。4)當通信結(jié)束時,關(guān)閉監(jiān)聽套接字和接收套接字并釋放資源。數(shù)據(jù)發(fā)送接口采用SOCKET通信技術(shù),為了使系統(tǒng)在實時編碼處理的同時及時將編碼數(shù)據(jù)發(fā)送到服務(wù)器端,軟件采用多線程技術(shù);同時為了避免由于待發(fā)送數(shù)據(jù)流不均勻?qū)е碌臄?shù)據(jù)幀丟失等情況發(fā)生,系統(tǒng)采用了多緩沖機制。主程序編碼模塊將要發(fā)送的編碼數(shù)據(jù)源源不斷的向緩沖隊列中寫,同時發(fā)送線程不斷的檢測緩沖隊列中緩沖情況,當有緩沖滿時及時進行發(fā)送。由于多線程與多緩沖機制的有效使用,使得網(wǎng)絡(luò)通信能夠?qū)崟r高效的運行。

          3.3 系統(tǒng)情況介紹

          該系統(tǒng)實現(xiàn)了基于ACELP算法的網(wǎng)絡(luò)語音通信,能夠?qū)νㄐ胚^程中的語音波形樣本數(shù)據(jù)、ACELP編碼數(shù)據(jù)等進行實時存儲和網(wǎng)絡(luò)發(fā)送,對通行過程中的波形進行實時顯示等。系統(tǒng)運行穩(wěn)定,延遲較小,語音通信質(zhì)量較好。圖4所示為本文設(shè)計的軟件系統(tǒng)運行截圖。

           

           

          4 結(jié)束語

          文中研究了系統(tǒng)采用的ACELP語音編譯碼算法,在此基礎(chǔ)上基于VC++編程技術(shù)實現(xiàn)ACELP編、譯碼軟件模塊,并采用動態(tài)鏈接庫對其進行封裝處理,接口簡單,使用方便。最后開發(fā)相應(yīng)系統(tǒng),實現(xiàn)了ACELP編譯碼算法在網(wǎng)絡(luò)語音通信中的應(yīng)用。經(jīng)實踐證明,ACELP算法編碼質(zhì)量高,性能優(yōu)異,具有較好的應(yīng)用價值。

          濾波器相關(guān)文章:濾波器原理


          濾波器相關(guān)文章:濾波器原理


          c++相關(guān)文章:c++教程


          通信相關(guān)文章:通信原理


          網(wǎng)線測試儀相關(guān)文章:網(wǎng)線測試儀原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: TETRA ACELP

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();