青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

淺談網絡語音技術

轉載自:http://www.cnblogs.com/zhuweisky/archive/2012/06/08/2514889.html

      當我們使用像Skype、QQ這樣的工具和朋友流暢地進行語音視頻聊天時,我們可曾想過其背后有哪些強大的技術在支撐?本文將對網絡語音通話所使用到的技術做一些簡單的介紹,算是管中窺豹吧。

一.概念模型

      網絡語音通話通常是雙向的,就模型層面來說,這個雙向是對稱的。為了簡單起見,我們討論一個方向的通道就可以了。一方說話,另一方則聽到聲音。看似簡單而迅捷,但是其背后的流程卻是相當復雜的。我們將其經過的各個主要環節簡化成下圖所示的概念模型:

     

      這是一個最基礎的模型,由五個重要的環節構成:采集、編碼、傳送、解碼、播放。

1.語音采集

      語音采集指的是從麥克風采集音頻數據,即聲音樣本轉換成數字信號。其涉及到幾個重要的參數:采樣頻率、采樣位數、聲道數。

      簡單的來說:采樣頻率,就是在1秒內進行采集動作的次數;采樣位數,就是每次采集動作得到的數據長度。

      而一個音頻幀的大小就等于:(采樣頻率×采樣位數×聲道數×時間)/8。     

      通常一個采樣幀的時長為10ms,即每10ms的數據構成一個音頻幀。假設:采樣率16k、采樣位數16bit、聲道數1,那么一個10ms的音頻幀的大小為:(16000*16*1*0.01)/8 = 320 字節。計算式中的0.01為秒,即10ms。

2.編碼

      假設我們將采集到的音頻幀不經過編碼,而直接發送,那么我們可以計算其所需要的帶寬要求,仍以上例:320*100 =32KBytes/s,如果換算為bits/s,則為256kb/s。這是個很大的帶寬占用。而通過網絡流量監控工具,我們可以發現采用類似QQ等IM軟件進行語音通話時,流量為3-5KB/s,這比原始流量小了一個數量級。而這主要得益于音頻編碼技術。

      所以,在實際的語音通話應用中,編碼這個環節是不可缺少的。目前有很多常用的語音編碼技術,像G.729、iLBC、AAC、SPEEX等等。

3.網絡傳送

      當一個音頻幀完成編碼后,即可通過網絡發送給通話的對方。對于語音對話這樣Realtime應用,低延遲和平穩是非常重要的,這就要求我們的網絡傳送非常順暢。

4.解碼

      當對方接收到編碼幀后,會對其進行解碼,以恢復成為可供聲卡直接播放的數據。    

5.語音播放

      完成解碼后,即可將得到的音頻幀提交給聲卡進行播放。

二.實際應用中的難點及解決方案

      如果僅僅依靠上述的技術就能實現一個效果良好的應用于廣域網上的語音對話系統,那就沒什么太大的必要來撰寫此文了。正是有很多現實的因素為上述的概念模型引入了眾多挑戰,使得網絡語音系統的實現不是那么簡單,其涉及到很多專業技術。當然,這些挑戰大多已經有了成熟的解決方案。首先,我們要為“效果良好”的語音對話系統下個定義,我覺得應該達到如下幾點:

(1)低延遲。只有低延遲,才能讓通話的雙方有很強的Realtime的感覺。當然,這個主要取決于網絡的速度和通話雙方的物理位置的距離,就單純軟件的角度,優化的可能性很小。

(2)背景噪音小。

(3)聲音流暢、沒有卡、停頓的感覺。

(4)沒有回音。

      下面我們就逐個說說實際網絡語音對話系統中額外用到的技術。

 1.回音消除 AEC

      現在大家幾乎都已經都習慣了在語音聊天時,直接用PC或筆記本的聲音外放功能。殊不知,這個小小的習慣曾為語音技術提出了多大的挑戰。當使用外放功能時,揚聲器播放的聲音會被麥克風再次采集,傳回給對方,這樣對方就聽到了自己的回音。所以,實際應用中,回音消除的功能是必需的。

      在得到采集的音頻幀后,在編碼之前的這個間隙,是回音消除模塊工作的時機。     

     

      其原理簡單地來說就是,回音消除模塊依據剛播放的音頻幀,在采集的音頻幀中做一些類似抵消的運算,從而將回聲從采集幀中清除掉。這個過程是相當復雜的,而且其還與你聊天時所處的房間的大小、以及你在房間中的位置有關,因為這些信息決定了聲波反射的時長。 智能的回音消除模塊,能動態調整內部參數,以最佳適應當前的環境。

2.噪聲抑制 DENOISE

      噪聲抑制又稱為降噪處理,是根據語音數據的特點,將屬于背景噪音的部分識別出來,并從音頻幀中過濾掉。有很多編碼器都內置了該功能。

3.抖動緩沖區 JitterBuffer

      抖動緩沖區用于解決網絡抖動的問題。所謂網絡抖動,就是網絡延遲一會大一會小,在這種情況下,即使發送方是定時發送數據包的(比如每100ms發送一個包),而接收方的接收就無法同樣定時了,有時一個周期內一個包都接收不到,有時一個周期內接收到好幾個包。如此,導致接收方聽到的聲音就是一卡一卡的。

      JitterBuffer工作于解碼器之后,語音播放之前的環節。即語音解碼完成后,將解碼幀放入JitterBuffer,聲卡的播放回調到來時,從JitterBuffer中取出最老的一幀進行播放。     

     

      JitterBuffer的緩沖深度取決于網絡抖動的程度,網絡抖動越大,緩沖深度越大,播放音頻的延遲就越大。所以,JitterBuffer是利用了較高的延遲來換取聲音的流暢播放的,因為相比聲音一卡一卡來說,稍大一點的延遲但更流暢的效果,其主觀體驗要更好。

      當然,JitterBuffer的緩沖深度不是一直不變的,而是根據網絡抖動程度的變化而動態調整的。當網絡恢復到非常平穩通暢時,緩沖深度會非常小,這樣因為JitterBuffer而增加的播放延遲就可以忽略不計了。

4.靜音檢測 VAD

      在語音對話中,要是當一方沒有說話時,就不會產生流量就好了。靜音檢測就是用于這個目的的。靜音檢測通常也集成在編碼模塊中。靜音檢測算法結合前面的噪聲抑制算法,可以識別出當前是否有語音輸入,如果沒有語音輸入,就可以編碼輸出一個特殊的的編碼幀(比如長度為0)。

      特別是在多人視頻會議中,通常只有一個人在發言,這種情況下,利用靜音檢測技術而節省帶寬還是非常可觀的。

5.混音算法

      在多人語音聊天時,我們需要同時播放來自于多個人的語音數據,而聲卡播放的緩沖區只有一個,所以,需要將多路語音混合成一路,這就是混音算法要做的事情。即使,你可以想辦法繞開混音而讓多路聲音同時播放,那么對于回音消除的目的而言,也必需混音成一路播放,否則,回音消除最多就只能消除多路聲音中的某一路。

      混音可以在客戶端進行,也可以在服務端進行(可節省下行的帶寬)。如果使用了P2P通道,那么混音就只能在客戶端進行了。如果是在客戶端混音,通常,混音是播放之前的最后一個環節。

 

      綜合上面的概念模型以及現實中用到的網絡語音技術,下面我們給出一個完整的模型圖:

     

        本文是我們在實現OMCS語音部分功能的一個粗略的經驗總結。在這里,我們只是對圖中各個環節做了一個最簡單的說明,而任何一塊深入下去,都可以寫成一篇長篇論文甚至是一本書。所以,本文就算是為那些剛剛接觸網絡語音系統開發的人提供一個入門的地圖,給出一些線索。


posted on 2013-02-26 06:21 楊粼波 閱讀(1459) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜在线视频观看日韩17c| 亚洲黄色影片| 久久精品亚洲| 99re6热在线精品视频播放速度| 久久国产精品久久久| 99re在线精品| 一区二区三区四区五区精品视频| 国产亚洲va综合人人澡精品| 国产精品久久激情| 久久视频精品在线| 性欧美1819性猛交| 欧美一区二区精品在线| 欧美在线亚洲一区| 久久久.com| 亚洲第一区色| 一区二区三区高清不卡| 亚洲欧美日韩另类| 毛片一区二区三区| 欧美三级网址| 永久免费精品影视网站| 亚洲免费成人av| 欧美亚洲免费| 91久久精品国产91久久性色tv| 亚洲精品资源| 麻豆精品视频在线| 国产乱码精品| 亚洲视频网站在线观看| 免费欧美高清视频| 香蕉成人伊视频在线观看| 欧美黄色一区二区| 亚洲国产视频直播| 久久精彩免费视频| 亚洲激情自拍| 欧美1区免费| 亚洲国产成人午夜在线一区| 欧美一级视频免费在线观看| 最新国产成人av网站网址麻豆| 欧美在线视频在线播放完整版免费观看 | 激情欧美一区二区三区| 欧美日韩美女在线观看| 亚洲黄色成人网| 午夜精品久久久久久久久久久久久 | 欧美一区在线看| 9国产精品视频| 欧美日韩的一区二区| 一级成人国产| 性欧美暴力猛交69hd| 激情伊人五月天久久综合| 玖玖精品视频| 欧美日韩免费高清一区色橹橹| 亚洲精品久久久久久久久| 亚洲国产精品久久久久| 欧美精选在线| 久久久久网址| 欧美精品一区二区三区在线播放| 亚洲视频在线免费观看| 欧美亚洲免费电影| 亚洲精品日韩欧美| 欧美一级在线播放| 99精品国产在热久久| 欧美在线一级va免费观看| 亚洲国产99精品国自产| 在线亚洲一区观看| 亚洲日本中文字幕区| 欧美一区二区视频网站| 亚洲网站在线播放| 欧美承认网站| 欧美激情区在线播放| 一本高清dvd不卡在线观看| 国产精品乱码一区二区三区| 美女免费视频一区| 国产亚洲精品bt天堂精选| 日韩视频在线观看国产| 亚洲精品一区在线观看| 噜噜噜久久亚洲精品国产品小说| 亚洲欧美日韩国产| 国产精品激情电影| 亚洲精选一区| 亚洲网站在线| 国产精品视频区| 欧美一区二区三区四区在线观看地址| 一区二区三区欧美成人| 欧美日韩三区四区| 99视频精品| 销魂美女一区二区三区视频在线| 欧美日韩精品综合| 一区二区三区久久网| 欧美在线亚洲| 亚洲韩日在线| 欧美日韩精品综合| 久久国产精品亚洲va麻豆| 久热精品视频| 亚洲欧洲精品天堂一级| 欧美日韩视频在线| 欧美伊人精品成人久久综合97| 久久久精品一区二区三区| 亚洲风情亚aⅴ在线发布| 欧美日韩国产综合久久| 欧美在线中文字幕| 99国产一区二区三精品乱码| 小处雏高清一区二区三区| 亚洲国产一区二区精品专区| 欧美日韩免费一区二区三区视频 | 午夜精品美女自拍福到在线| 在线视频日韩精品| 免费在线观看成人av| 日韩午夜在线| 亚洲日韩欧美视频一区| 国产一区二区三区四区在线观看| 欧美成年人视频网站| 亚洲永久免费| 亚洲男人影院| 亚洲欧美日韩国产精品 | 欧美在线观看网址综合| 亚洲精品在线视频观看| 亚洲国产精品免费| 亚洲国产日日夜夜| 99国内精品久久久久久久软件| 亚洲国产精品久久精品怡红院| 国产一区二区中文字幕免费看| 国产精品色婷婷久久58| 国产精品久久久久久久免费软件| 欧美日韩久久久久久| 国产精品magnet| 国产午夜精品一区二区三区欧美| 国产精品久久久久久久午夜 | 亚洲全部视频| 中日韩高清电影网| 亚洲欧美一区二区精品久久久| 午夜精品www| 欧美大片免费| 中日韩美女免费视频网址在线观看 | 宅男精品视频| 久久综合久久综合久久| 欧美+日本+国产+在线a∨观看| 久久久久国产一区二区| 亚洲激情网址| 亚洲欧美视频一区| 欧美国产日产韩国视频| 亚洲欧美高清| 久久久久高清| 久久全球大尺度高清视频| 久久免费偷拍视频| 欧美一区二区三区的| 免费不卡亚洲欧美| 国产亚洲亚洲| 亚洲午夜一二三区视频| 91久久夜色精品国产九色| 亚洲一区中文| 欧美日韩综合网| 亚洲毛片网站| 亚洲高清视频一区二区| 久久久91精品国产| 国产一区二区成人| 亚洲欧洲av一区二区| 一区二区三区.www| 国产精品美女一区二区| 亚洲欧美99| 亚洲一区欧美一区| 国产精品嫩草99a| 欧美一区二区视频观看视频| 中文在线一区| 国产情人节一区| 久久中文字幕一区| 欧美福利视频一区| 亚洲一区二区三区午夜| 亚洲午夜成aⅴ人片| 国产综合色精品一区二区三区| 久久精品国产欧美激情| 久久aⅴ国产欧美74aaa| 亚洲精品黄网在线观看| 亚洲美女啪啪| 国产一区二区日韩精品| 亚洲国产另类精品专区| 国产精品hd| 欧美激情网站在线观看| 国产精品久久一卡二卡| 欧美成人午夜免费视在线看片 | 欧美成人午夜激情视频| 亚洲一区二区三区中文字幕 | 亚洲国产免费看| 国产精品夫妻自拍| 欧美粗暴jizz性欧美20| 国产午夜亚洲精品不卡| 一本色道久久综合狠狠躁篇怎么玩 | 亚洲伦理一区| 在线观看日韩av先锋影音电影院| 亚洲毛片在线免费观看| 日韩一级裸体免费视频| 狼人天天伊人久久| 猛男gaygay欧美视频| 韩国精品在线观看| 欧美一区二区三区婷婷月色 | 黄色小说综合网站| 亚洲免费在线视频| 午夜免费日韩视频| 国产一区二区精品在线观看| 午夜视频在线观看一区二区三区| 在线视频精品一| 国产精品久久久久久久久婷婷 |