MSCBSC 移動通信論壇
搜索
登錄注冊
網(wǎng)絡(luò)優(yōu)化工程師招聘專欄 4G/LTE通信工程師最新職位列表 通信實(shí)習(xí)生/應(yīng)屆生招聘職位

  • 閱讀:1254
  • 回復(fù):0
IP電話語音還原技術(shù)的研究與實(shí)現(xiàn)
decitone
初級會員
鎵嬫満鍙風(fēng)爜宸查獙璇? style=


 發(fā)短消息    關(guān)注Ta 

積分 50
帖子 10
威望 3044 個(gè)
禮品券 0 個(gè)
專家指數(shù) 0
注冊 2016-6-30
專業(yè)方向 
回答問題數(shù) 0
回答被采納數(shù) 0
回答采納率 0%
 
發(fā)表于 2017-01-11 15:34:51  只看樓主 

  隨著語音壓縮技術(shù)的成熟,網(wǎng)絡(luò)帶寬的不斷擴(kuò)展,以及市場的需求,IP電話技術(shù)已被從實(shí)驗(yàn)室中推向了成熟的商用領(lǐng)域。然而,要想把此種技術(shù)推向商用,就不得不重視安全問題。IP電話的監(jiān)控和管理是VoIP(Voice over IP)安全領(lǐng)域中非常重要的部分,其中的一項(xiàng)關(guān)鍵技術(shù)就是IP電話語音還原技術(shù)。IP電話語音還原技術(shù)是對IP電話語音捕獲系統(tǒng)捕捉的語音數(shù)據(jù)包進(jìn)行處理,最終還原雙方語音通話過程的技術(shù)。

  VoIP系統(tǒng)音頻數(shù)據(jù)傳輸過程如圖1所示。在通過呼叫控制信令(如H.323、SIP)建立起兩個(gè)終端之間的媒體流通道后,便開始了兩個(gè)終端之間的語音傳遞過程。整個(gè)過程始于對模擬音頻的模數(shù)轉(zhuǎn)換,經(jīng)過抽樣、量化、編碼生成的原始PCM 數(shù)據(jù)再經(jīng)過音頻編碼器的壓縮編碼生成待傳送的音頻數(shù)據(jù),通過RTP、UDP、IP協(xié)議的層層封裝生成包含有音頻抽樣信息的IP報(bào)文發(fā)送到接收終端。接收端接收到含有音頻數(shù)據(jù)的IP報(bào)文取出RTP凈荷中的音頻數(shù)據(jù),送入相應(yīng)的解碼器解碼,然后通過音頻設(shè)備進(jìn)行數(shù)模轉(zhuǎn)換,回放出原始的聲音。

  


  我們所要研究的內(nèi)容就是如何通過處理和解析RTP協(xié)議數(shù)據(jù)包,按照正確的順序取出RTP凈荷,如何對RTP凈荷進(jìn)行解碼生成.wav文件,以及如何把兩路.wav文件合成為一個(gè)包含兩路會話內(nèi)容的.wav文件。

  1 RTP數(shù)據(jù)的處理

  RTP數(shù)據(jù)指的是由IP電話語音捕獲器捕捉并記錄下來的語音會話當(dāng)中傳送的RTP數(shù)據(jù)報(bào)文的集合,如文件、數(shù)據(jù)庫記錄等。以一次通話過程為例,IP電話語音捕捉器將分別生成兩個(gè)獨(dú)立的記錄有雙方通話內(nèi)容的RTP數(shù)據(jù)集,記為forward—RTP和reverseRTP,這就是一次處理過程中待處理的數(shù)據(jù)源。

  RTP數(shù)據(jù)的處理總體上分為兩個(gè)部分:排序處理和補(bǔ)包處理。

  1.1 排序處理

  由于網(wǎng)絡(luò)傳輸存在一定的不可靠性,在數(shù)據(jù)傳輸?shù)倪^程中有可能會導(dǎo)致數(shù)據(jù)包到達(dá)順序的局部混亂,通過排序?qū)⒑芎玫亟鉀Q這個(gè)問題。

  從RTP協(xié)議來看,可以用于進(jìn)行排序的域有兩個(gè),即序列號和時(shí)間戳。在沒有出現(xiàn)亂序的情況下,序列號和時(shí)間戳都應(yīng)該是遞增的,而序列號的遞增量應(yīng)該為1。但是序列號是一個(gè)16bit的域,在長時(shí)間的通話過程中有可能存在溢出的情況,這將導(dǎo)致排序結(jié)果不正確。通過實(shí)驗(yàn)觀察,在實(shí)際通話過程中這種情況確實(shí)存在。如圖2所示為采用Ethereal網(wǎng)絡(luò)數(shù)據(jù)分析軟件抓到的RTP數(shù)據(jù)包,其中就存在序列號溢出。因此,我們采用時(shí)間戳域作為索引對數(shù)據(jù)包進(jìn)行排序。待排序的數(shù)據(jù)特征是數(shù)據(jù)基本有序,通過綜合考慮各種排序算法的時(shí)間復(fù)雜度和程序?qū)崿F(xiàn)的復(fù)雜度,我們采用直接插入排序法,比較順序?yàn)閺暮笙蚯啊?/p>

  


  1.2 補(bǔ)包處理

  網(wǎng)絡(luò)傳輸?shù)牟豢煽啃赃會導(dǎo)致數(shù)據(jù)包的丟失,可以用填補(bǔ)丟失數(shù)據(jù)包的方法解決。然而,前一種情況屬于非正常缺失,出現(xiàn)的概率很小。VolP系統(tǒng)實(shí)現(xiàn)中,常常在檢測出通話靜音期后,采用停發(fā)語音包的方法以減少語音數(shù)據(jù)傳輸所占用的帶寬。補(bǔ)包處理主要是為了解決這種更為普遍的正常缺失情況。如果不進(jìn)行補(bǔ)包處理,通話過程中靜音期的停頓在恢復(fù)出語音后將無法體現(xiàn),勢必嚴(yán)重影響語音還原的效果,還會導(dǎo)致兩路音頻進(jìn)行合路后聲音的嚴(yán)重不同步。

  補(bǔ)包算法是基于RTP協(xié)議中的標(biāo)記域和時(shí)間戳域?qū)崿F(xiàn)的。根據(jù)RFC 1889對于RTP協(xié)議的描述可以得出以下結(jié)論。標(biāo)記域可以用來判斷是否存在靜音期,如果標(biāo)記域置為1,則說明此分組與前一分組之間存在靜音期。時(shí)間戳記錄凈荷中的第一個(gè)抽樣產(chǎn)生的時(shí)間。典型的語音編碼模式的頻率為8000Hz,從一個(gè)分組到另一個(gè)分組的時(shí)間戳值的增量取決于分組中抽樣的數(shù)量。例如,如果一個(gè)分組包括10個(gè)語音抽樣和一個(gè)值為1的時(shí)間戳,那么下一個(gè)分組的時(shí)間戳則為11。考慮到抽樣以8000Hz的速率發(fā)生(每0.125ms),那么時(shí)間戳中10的差別就代表了時(shí)間上1.25ms的差別。如果在靜音期,沒有發(fā)送任何分組,那么下一個(gè)RTP分組可能包含一個(gè)明顯比前一個(gè)RTP分組大得多的時(shí)間戳。

  補(bǔ)包算法的具體描述如下:

  因?yàn)椴煌木幋a方式,有不同的傳輸速率,所以在無靜音期情況下,相鄰的兩個(gè)RTP數(shù)據(jù)包的時(shí)間戳的差值和第一個(gè)包的凈荷的大小之間的關(guān)系因編碼方式的不同而有所不同。

  以△T表示相鄰兩個(gè)包的時(shí)間戳的差值:V表示對應(yīng)于某種編碼方式的傳輸速率(單位kbit/s);Ⅳ表示相鄰的兩個(gè)RIP包的第一個(gè)RTP包的凈荷的大小(單位Byte);l廠表示這種編碼方式對應(yīng)的抽樣頻率(單位Hz);C表示分組持續(xù)的時(shí)間(單位S)那么如果在沒有靜音期的情況下,△T、V、N、f和C應(yīng)該滿足如下的關(guān)系:

  


  除此以外,還需要進(jìn)行一種特殊的補(bǔ)包處理,即補(bǔ)充通話頭,以使兩路通話同步。要實(shí)現(xiàn)兩路會話的同步合成,必須要找到一個(gè)正確的同步點(diǎn)。通常情況下,兩路通話各自的第一個(gè)RTP分組到達(dá)IP電話捕捉器的時(shí)間是不一樣的。例如回鈴音期間,一方已經(jīng)向另一方發(fā)送了回鈴音的RTP分組,而另一方還沒有開始講話,就相當(dāng)于處于靜音期。因此,可以根據(jù)兩路通話各自的第一個(gè)RTP分組到達(dá)時(shí)間差值和公式(1)計(jì)算出需要在缺少靜音數(shù)據(jù)的話路頭補(bǔ)充多大的靜音RTP分組。

  2 音頻解碼和處理

  音頻解碼過程采用于RTP頭中負(fù)載類型相一致的解碼器對RTP凈荷數(shù)據(jù)進(jìn)行解碼,生成l6位的原始PCM 數(shù)據(jù),然后寫入.way文件中,最終生成能夠采用音頻播放器進(jìn)行播放的.wav音頻文件。

  通過前面的處理過程,一次通話的兩路會話都記錄在各自的.way文件中,而且保證其內(nèi)容是同步對齊的。合路處理采用把兩路.wav文件中的數(shù)據(jù)部分按抽樣量化值按比例疊加的方法。下面,通過證明兩個(gè)模擬波形疊加后進(jìn)行模數(shù)轉(zhuǎn)換(抽樣、量化和編碼)生成的數(shù)字音頻與分別模數(shù)轉(zhuǎn)換后再疊加生成的數(shù)字音頻兩者引入的誤差相當(dāng),論證其方法的合理性。

  


  3 解決方案

  基于前面的理論分析,我們提出一套IP電話語音還原的方案,并采用C++編程實(shí)現(xiàn)了全部的功能及算法。方案流程圖如圖3所示。

  


  


  默認(rèn)條件下,MSFTESQL服務(wù)只加載被微軟認(rèn)證的篩選器,使用參數(shù)“0”即可將認(rèn)證取消。

  ②加載篩選器

  EXEC sp— fulhext—service’load—OS— resources’,1

  此命令是用來加載第三方的篩選器。如果將參數(shù)“1”改為“0”,則僅加載SQL Server實(shí)例的篩選器。

  以上兩個(gè)步驟缺一不可,但執(zhí)行順序可以不一樣。除了自行開發(fā)第三方篩選器外,還可以從因特網(wǎng)上去下載其它第三方的篩選器,如PDF、CAB、ZIP等格式文件的篩選器。PDF篩選器可以到WWW.adobe.com網(wǎng)站上下載,在WWW.citeknet.com

  網(wǎng)站上提供有其它文件格式的篩選器下載。

  來自德西特科技http://www.decitone.com/


掃碼關(guān)注5G通信官方公眾號,免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5G NTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《 R16 23501-g60 5G的系統(tǒng)架構(gòu)1
  • 對本帖內(nèi)容的看法? 我要點(diǎn)評

     
    [充值威望,立即自動到帳] [VIP貴賓權(quán)限+威望套餐] 另有大量優(yōu)惠贈送活動,請光臨充值中心
    充值擁有大量的威望和最高的下載權(quán)限,下載站內(nèi)資料無憂

    快速回復(fù)主題    
    標(biāo)題
    內(nèi)容
     上傳資料請點(diǎn)左側(cè)【添加附件】

    當(dāng)前時(shí)區(qū) GMT+8, 現(xiàn)在時(shí)間是 2025-02-02 14:33:00
    渝ICP備11001752號  Copyright @ 2006-2016 mscbsc.com  本站統(tǒng)一服務(wù)郵箱:mscbsc@163.com

    Processed in 0.321012 second(s), 11 queries , Gzip enabled
    TOP
    清除 Cookies - 聯(lián)系我們 - 移動通信網(wǎng) - 移動通信論壇 - 通信招聘網(wǎng) - Archiver