灰鴿子遠程控制軟件

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

查看: 12425|回復: 2
打印 上一主題 下一主題

灰鴿子遠程控制軟件音頻算法實際應用中的難點及解決方案(二)

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2017-12-17 14:43:30 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
灰鴿子遠程控制軟件音頻算法實際應用中的難點及解決方案(二)

如果僅僅依靠上述的技術就能實現一個效果良好的應用于廣域網上的語音對話系統,那就沒什么太大的必要來撰寫此文了。正是有很多現實的因素為上述的概念模型引入了眾多挑戰,使得網絡語音系統的實現不是那么簡單,其涉及到很多專業技術。當然,這些挑戰大多已經有了成熟的解決方案。首先,我們要為“效果良好”的語音對話系統下個定義,我覺得應該達到如下幾點:
(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通道,那么混音就只能在客戶端進行了。如果是在客戶端混音,通常,混音是播放之前的最后一個環節。

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

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

評帖賺銀幣(0) 收起
分享到:  QQ好友和群QQ好友和群
收藏收藏
回復

使用道具 舉報

板凳
發表于 2018-3-9 07:33:53 | 只看該作者
真的牛,雙手贊成,謝謝了
評帖賺銀幣(0) 收起
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

Archiver|手機版|小黑屋|灰鴿子遠程控制軟件|灰鴿子遠程控制軟件 ( 魯ICP備14000061號-4 )

GMT+8, 2025-3-13 00:07 , Processed in 0.088769 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 红桃AV一区二区三区在线无码AV| 日韩a级无码免费视频| 性饥渴少妇AV无码毛片| 无码aⅴ精品一区二区三区| 东京热加勒比无码视频| 精品无码久久久久国产动漫3d| 无码的免费不卡毛片视频| 精品无码一区二区三区爱欲 | 亚洲国产精品无码一线岛国| 在人线av无码免费高潮喷水| 亚洲一级特黄无码片| 一本色道无码道DVD在线观看| 国产在线无码精品电影网| 亚洲AV无码国产一区二区三区| 中文字幕无码乱人伦| 亚洲v国产v天堂a无码久久| 亚洲aⅴ无码专区在线观看春色 | 中文字幕人妻三级中文无码视频 | 精品久久久久久无码人妻蜜桃| 无码人妻一区二区三区一| 亚洲中文久久精品无码| 国产精品无码素人福利| 成人免费无码大片A毛片抽搐色欲| 毛片无码免费无码播放| 久久老子午夜精品无码| 中文字幕丰满伦子无码| 无码专区一va亚洲v专区在线| 亚洲精品GV天堂无码男同| 亚洲av永久无码精品天堂久久| 国产精品无码成人午夜电影| 久久久久成人精品无码| 日韩精品无码人成视频手机| 无码人妻精品一区二区三区99不卡 | 无码av免费网站| 久久青草亚洲AV无码麻豆| 亚洲AV无码1区2区久久| 色噜噜综合亚洲av中文无码| 亚洲中文字幕在线无码一区二区| 乱色精品无码一区二区国产盗| 日韩精品无码久久久久久| 无码无遮挡又大又爽又黄的视频|