中文字幕在线视频第一页,黄色毛片在线看,日本爱爱网站,亚洲系列中文字幕一区二区

您當前的位置是:  首頁 > 新聞 > 國內 >
 首頁 > 新聞 > 國內 >

聲網Agora:游戲的語音通話解決方案

2016-06-27 16:22:27   作者:   來源:CTI論壇   評論:0  點擊cti:


  隨著手機性能的提高,手游開始向復雜化發(fā)展。不再是以消消樂這種簡單的小游戲為主,RPG、實時對戰(zhàn)類游戲開始變火。
  這種游戲,由于有玩家間的交互,有團隊作戰(zhàn)、配合,保證玩家能夠進行實時語音通話,成為極大的需求。
  本文將說明游戲語音通話的難點在哪?
  現(xiàn)在的游戲語音通話解決方案存在什么問題?
  目前有兩種解決方案:
  1、第三方通話APP
  這種方案,第三方的APP獨立在后臺運行,比如YY語音手機版。這種方案存在兩個問題:
  • 音效和語音的音量無法控制在一個合理比例,無法統(tǒng)一調節(jié);
  • APP在后臺運行,會自己關閉,或者掉線。
  • 對手機性能要求很高,容易增加耗電量,造成手機發(fā)燙。
  2、集成在游戲APP里的語音功能。
  這種方案存在的問題是:
  由于適配問題,安卓機型上游戲音效會被對方聽到,或者說話會有回聲。
  游戲語音通話方案最注重什么?
  1、游戲玩家最關心游戲語音的實時性。
  高對戰(zhàn)游戲處處要求快,要求低延時。網游中,團隊下副本,最影響團隊成功率的就是加血的角色。一旦這個人加血加慢了,導致一個人犧牲。在激烈的時候,損失一個人的代價基本就宣判團隊的死刑。
  從技術的角度而言,要求的不是加血快,是加血的流程快。我們之前和強大的競爭對手競爭PC上游戲通信軟件地位的時候,是什么案例讓我們活下來,就是一個加血的案例。我們用對手的軟件,隊友說,加血,加血。結果等了1s~2s才傳到保姆那里。可想而知,血還沒加,就掛了。而用我們的軟件,加血成功的概率提高了幾倍幾十倍。就算跨國玩游戲,我們延時也不過百毫秒。所以當時,玩家像愛惜槍一樣愛惜、使用我們的軟件。
  2、游戲廠商最關心的是占用系統(tǒng)資源量和耗電量
  游戲廠商如果選擇語音通話SDK集成方案,那么SDK占用系統(tǒng)資源量和耗電量會起到很大的影響因素。SDK編解碼器、前后端處理性能差,造成手機CPU、內存吃緊,會影響游戲體驗,游戲卡,讓手機發(fā)燙,導致手機耗電量增加。這對一個游戲來說,是致命的硬傷。
  這些恰恰是聲網Agora音視頻引擎通過多年研發(fā)和技術積累能給大家提供的技術特性和產品特性。聲網Agora。io實時云技術團隊,曾經提供10億分鐘每天的運營支撐,最多180w人同時在一個頻道內實時視頻直播服務。并且可以提供多聲道甚至帶有垂直聲道的音頻音效系統(tǒng)。并提供“軍用”級的低延時傳輸系統(tǒng)。通過這些來助力VR游戲實現(xiàn)通信和直播的業(yè)務需求。
  接下來,就以聲網Agora.io的語音通話SDK為例,說明SDK解決方案如何解決這些問題。
  聲網Agora.io是如何做的
  通常整套的實時云通信系統(tǒng)概述下來包括后臺技術、客戶端技術和運維技術等等。
  全高清音頻通信系統(tǒng),首先要怎么搭建這樣一個系統(tǒng),通常搭建一個最小音頻子系統(tǒng)分成下面幾個步驟:
  1、采集播放。如果把采集的數(shù)據存成文件,或是交給播放,就形成一個閉環(huán),我稱他為第一閉環(huán),也可以稱為ADM(audio device module)。
  2、編碼解碼。只有采集播放還不夠,數(shù)據量太大,還要加上編碼解碼,進行數(shù)據壓縮,采集壓縮后的數(shù)據再解壓縮播放,我稱他為第二閉環(huán),加上的這個編解碼模塊叫作ACM(audio coding module)。
  3、網絡模塊。實現(xiàn)網絡發(fā)送接收,ANM(audio network module),我叫他第三閉環(huán)。
  4、前后處理模塊。也就是第四閉環(huán),Audio Processing module。這個模塊主要實現(xiàn)3A引擎:回聲消除AEC,增益控制AGC,噪聲抑制ANS。
  1.回聲消除
  AEC是3A引擎的一部分,是很重要的一部分,為什么第一個問題就是它。因為拿起電話,除非你打不通,打通了,不管質量怎么樣,聲音一出來就是回聲,我在音頻行業(yè)做了11年,說長不長說短不短,深知國內公司做音頻通常有個一很好的標準,“出聲就行”。但是沒有回聲消除,你出聲就是噪聲,最基本的底線都滿足不了。
  那么,是什么問題困擾我們這么久,它就是回聲,準確說是聲學回聲。自己的聲音傳到遠端再通過遠端的麥克風錄音傳回來,就是回聲。回聲從信號特性上看,有線性部分和非線性部分。回聲消除就是要通過信號處理算法消除這些回聲,消除回聲的線性部分和非線性部分。有電話的年頭就有回聲,早期是線路回聲,都是線性的,很好處理,一個自適應濾波器,搞定了。
  回聲消除的算法算算也有幾十年了,為什么今天還要研究?不是搞定了嗎,一個自適應濾波就搞定了。不是的,回聲問題和設備緊密相關。一個回聲消除算法的設計實現(xiàn)和其他算法設計實現(xiàn)有很大的區(qū)別,因為它和設備緊密相關,和系統(tǒng)狀態(tài)緊密相關。早期,GIPS和某些AEC算法提供公司,通常設計AEC模塊的時候,都是給固定電話和移動電話設備設計,是給定的一款設備,也就是說,芯片廠商設計公版硬件,找合作伙伴或是自己設計AEC模塊,然后針對該款設備調試AEC參數(shù),調好之后就不變了,以后所有該款設備的出貨都用這組參數(shù),一旦換了設備,軟件要重新調。當初GIPS,SpritDSP就是做這些事情的公司。如果有人參與過手機出廠的回聲消除設計,你就知道每款手機的回聲消除參數(shù)都不同。
  那么為什么回聲消除為什么和手機設備關系這么大呢?是信號特性決定的,回聲是聲音經過揚聲器傳導到mic,經過了多少路徑就被處理多少次。通常手機由于聲腔的原因,沒辦法設計的音量很大所以當你放大音量的時候,如果是10格調整的音量放大器,前5格還是線性放大,5格以上就是非線性放大,這是揚聲器第一級處理。
  聲音從外部傳給mic,經過空氣和手機殼,設備殼的特性的傳導作用產生第二級的非線性影響。不同的手機殼,鐵殼,塑料殼,甚至手機殼發(fā)熱導致聲傳導特性不一樣,都會影響聲音傳導的處理,導致回聲消除算法不一樣。我曾經遇到過,一套收回聲消除算法,換不換殼,就能決定算法工不工作。這是手機。
  還有pc,如果pc外接音箱,音箱一般多少都會自帶功放,又是非線性放大。設備mic的位置也緊密相關,早期有一款thinkpad,mic和speaker離的非常近,極其難處理。談來談去,好像都是非線性放大的問題嘛,是的,線性的東西是科學,非線性的東西是藝術。可以說,設備的差異性導致非線性問題,非線性信號的處理是回聲消除技術的第一個攔路虎。
  非線性回聲問題是不是全部呢?不是的。回聲消除除了和設備有關,還和系統(tǒng)有關和系統(tǒng)有什么關系,回聲消除兩大模塊,自適應濾波和非線性處理,一個是線性處理,一個是非線性處理。上一段說了非線性處理,線性處理部分還有問題,自適應濾波前置第一個模塊就是延時搜索,其實WebRtc本身的延時搜索技術是非常先進的,是由這個領域的大牛Keilgn大師設計的專利技術。但是大師東西雖好,但是有個依賴,延時估計要在一定范圍內估計,就是要有一個預先設計的值,如果在一個很大的范圍內搜索,會極大消耗CPU資源。而這個預設的delay值通常不準,為什么不準呢?因為安卓系統(tǒng)線程調度設計不是很實時導致。一旦資源搶占,會在安卓底層buffer產生莫名的延時導致delay不準。還是那個問題,每款手機甚至每個手機都不一樣。我遇到過一種情況,某國內手機品牌,不同款手機delay不準,同款手機不同子款比如(帶不帶s)。同款手機不同批次,delay不同,同款手機同一批次不同時間測試delay都不同。如何拿到穩(wěn)定的低延時的聲音信號,為此,谷歌專門有個一視頻教程。無奈,安卓手機的碎片化和私人裁剪導致這個問題無法一致性解決。
  那么Agora怎么做的呢,Agora的回聲消除技術,發(fā)展到今天,已經是第四代回聲消除技術。
  聲網Agora的第三代回聲消除技術,通過逐個機型的適配。累計適配了幾百款機型,而我們的第四代“免”適配技術保證我們實現(xiàn)4000款機型的適配。
  聲網Agora的“免”適配,免帶一個小引號。聲網Agora的免適配和適配相互配合,適配的機型,效果更好。不適配的機型是公版算法,基本也沒有大問題,一般不會出現(xiàn)整句回聲。只會間或的出現(xiàn)小回聲,比如2分鐘1次,或是10分鐘1次的殘留回聲。很小的回聲也會有,不想適配過的手機,你完全聽不到回聲。適配的機型,聲網Agora有整套測試方法驗證;免適配的機型,聲網Agora依靠線上數(shù)據的反饋,判斷“免”的效果。也正是依賴聲網Agora線上數(shù)據的反饋,才能做到“免”適配。
  如果線上數(shù)據反映效果不好,聲網Agora會嘗試聯(lián)系用戶和采購機型進行適配。正是因為聲網Agora充分適配了足夠多的機型,接觸過各式各樣的回聲消除技術和歷史才有這個把握掌握開發(fā)進階技術。如果“免”適配技術無法滿足,立刻有適配技術補上。結合聲網Agora網絡傳輸?shù)膬?yōu)勢,“免”適配和適配互相配合,助力聲網Agora實現(xiàn)很好的回聲消除效果。當然回聲消除只是我們APM引擎的一部分。在APM里,還有降噪技術,單麥克降噪雙麥克降噪,聲網Agora在個別機型上開啟了雙mic降噪功能。
  2.測試評估
  聲網Agora的評估體系有三個層次:
  第一層次,客觀測試。我們把手機出廠測試和VOIP測試相結合,提出了我們的測試方法、這個測試方法是ITU、3GPP、ETSI或是電信運營商要求測試的標準通信測試的交集。按照這套方法,我們經常會去泰爾實驗室做客觀測試。國內我們是第一個互聯(lián)網廠家把這套測試用在云服務標準上的。
  第二個層次,主觀測試。因為客觀測試只是一個基本測試,很多手機出廠都做,但是出廠之后還是有很多很多問題,尤其對我們這樣的全平臺多機型通信引擎,只做客觀測試是不夠的,所以我們定義出很多細的標準,比如,聲音質量、卡、失真、回聲情況、雙講情況、是否有切音、延時等等。安排測試人員,對海量機型,逐個機器逐個機型的去聽,去感受我們音頻的效果。
  第三個層次,線上測試。也就是線上用戶的使用反饋,我們兩個DemoAPP,一個就是我們的Beckon,可以在AppStore搜索到,這個APP是我們用來做實驗和演示的。用戶可以體驗Beckon的效果,我們收集用戶的反饋,判斷我們音頻系統(tǒng)的質量。
  通過這三個層次的測試,我們能保證提供最好的音頻通信引擎。高清音頻通信引擎,整個通信系統(tǒng)都是32khz音頻采樣頻率,對系統(tǒng)的ADM,APM,ACM,ANM要求的處理算法都針對32Khz。我們比通信標準更早的把32Khz代入實際應用,今天VoLTE還沒有普及全高清音頻傳輸系統(tǒng),而我們做到了。
  本文作者:
  高澤華,11年音樂語音編解碼學習經驗。理解幾十種音頻編解碼標準。先后在中磊電子、士蘭微電子、虹軟科技主導音頻項目。任職YY期間負責語音音頻技術工作。對音頻算法在芯片設計、嵌入式系統(tǒng)、桌面軟件。在互聯(lián)網應用和專利分析方面有多年研發(fā)經驗和積累。目前負責聲網Agora。io的音頻開發(fā)工作。

專題

沭阳县| 化州市| 长沙市| 沧州市| 扎赉特旗| 三江| 津南区| 蓬安县| 浙江省| 郎溪县| 田林县| 皮山县| 华亭县| 堆龙德庆县| 安吉县| 彭阳县| 特克斯县| 河曲县| 油尖旺区| 双牌县| 滦平县| 昂仁县| 土默特左旗| 梁平县| 舞钢市| 呼图壁县| 张家口市| 澄迈县| 阳西县| 景德镇市| 和平区| 额尔古纳市| 威远县| 盖州市| 鹤壁市| 太和县| 六安市| 庆城县| 五指山市| 都江堰市| 满城县|