网易云信实时音频框架背后:算法优化带来产品体验全面提升
2018年10月19日,LiveVideoStackCon音視頻技術大會在北京召開。本屆會議以“技術開啟新‘視’界”為主題,匯集資深的音視頻技術工程師,探討在音頻、視頻、圖像等技術的實踐與思考。網易云信資深音頻算法工程師李備在教育專場中的主題演講上,分享了軟件層實時音頻解決方案中,網易云信NRTC針對WebRTC 源生算法不足的優化,以及在音樂內容特殊場景下的新思考。
火爆的市場衍生更豐富的音視頻應用場景
互聯網產品對實時音視頻技術的需求正在各個千億、百億規模的市場中爆發,并逐漸成為基礎設施型的重要技術。李備認為,隨著未來更多可玩性的開發被挖掘,音視頻的應用仍有很大增長空間。此外,實時音視頻技術助推了互聯網產品的創新和進化,賦予了產品以更豐富、更高效的場景表達,也促進了實時音視頻技術自身的進化。
實時音視頻技術需要與行業和應用場景緊密結合。當前及未來,客戶的核心訴求除了對穩定高效等技術性能的要求之外,個性化的需求也在增加。李備介紹,網易云信基于自研的全功能工業級的音視頻技術框架NRTC,進行了諸多場景化和針對性的技術優化,形成了對實時音頻應用的觀察與思考。
網易云信NRTC優化算法,彌補WebRTC源生算法的局限
李備強調,盡管當前針對一般行業的軟件層實時音頻框架已經日益成熟,但仍然有兩個較明顯的痛點需要解決:一是在復雜變化的網絡狀況中,因為信號弱或者網路擁塞而造成的延時或丟包現象;二是隨著終端種類和應用場景跨度的增加,不同類型終端設備和使用環境的巨大差異對整體解決方案的適配度提出了更高的要求。一般行業基于交流的目的,在對于實時音頻的諸多需求中,首先看重框架的流暢性,低延時、音量足夠大的同時沒有明顯的回聲、噪聲和雜音。在滿足以上需求之外,最后才會去關注音質、雙講體驗以及其他性能。
那么一個解決以上痛點穩定運轉的音頻框架該如何設計?以WEBRTC的音頻框架圖為例:
WebRTC的線程模型與數據驅動方式,不同顏色表示不同線程,藍色箭頭表現數據驅動方式
但每個模塊為了保障實時音頻的穩定都有很多方面的問題需要注意,例如采集回聲非線性、音量大小,以及delay中系統內在延遲的大小與變化等,都是平臺下音頻采集和播放的常見問題。
由于音頻前處理的挑戰及WebRTC 源生算法的一些不足等原因,需要技術人員進一步優化以提升整個框架的技術表現,確保終端用戶的產品體驗。網易云信的全功能工業級的音視頻技術框架NRTC針對這些不足做了一系列的優化。比如,采集回聲的非線性是目前線上采集面臨的普遍問題,其穩定性會直接影響回聲的消除和處理效果。WebRTC在這方面的不足使得一些廠商為了服務回聲消除,不得不以降低音量為代價。針對源生WebRTC Delay Estimation 的穩定性問題,網易云信的NRTC將遠端和近段的delay進行了對齊優化,提升了整體框架消除回聲、雜音和降噪方面的性能。
再譬如,對于用戶在溝通中產生的氣聲的采集和處理,也是音頻框架面臨的普遍難點之一。因為氣聲發音能量低,回聲大,而且能量集中在中高頻,所以正常算法無法滿足處理需求。以源生WebRTC AEC 和NRTC 在iPhone6P氣音發音下的表現進行對比,經NRTC框架進行算法優化后的效果明顯更優。
網易云信針對音樂場景下實時音頻解決方案如何取舍的新思考
除了一般性溝通場景下的音視頻應用,音樂內容及其應用場景對技術有更為特殊的要求。李備介紹,與普通場景相比,音樂內容場景對聲音的要求存在較大差異。譬如,人耳對于音樂的感知是更加敏感的,稍有音質的下降人耳就能察覺,這對于聲音處理提出了更高的要求。而相對于以交流為目的一般場景,音樂內容對實時音頻技術要求的優先級也有所不同:穩定和音質成為第一訴求,降噪和低延遲降級為次要需求。
由于音樂內容場景的上述特殊性,一般的實時音頻框架在音樂內容場景下便會呈現某些局限性。比如,適用于一般場景的音頻框架的低采樣率、非全頻段處理、對近端聲音和對雙講的粗糙處理、碼率設置較低、簡單的Audio QoS都不足以支撐音樂內容的特殊場景。再如,在采用更高碼率的情況下,如果還沿用一般的策略,便會造成比較嚴重的擁塞或丟包。那么,面對這些新的需求、痛點和局限性,在資源有限的情況下如何取舍,李備分享了網易云信的四點新思考:
- AGC(auto gain control) 在音樂內容下新需求——因為音樂場景下有情感投入的特殊需求,比如在情感舒緩的時候音量較低,在情感猛烈時音量較高。因此,如果在AGC算法中對能量進行相近處理,對于音樂內容的傳輸是非常大的傷害;
- Howling Control 在音樂場景下的危害——在對音樂demo處理時,如果對某個頻段的回聲做過分的消除處理,會對人的聽覺感受造成很大影響;
- NS(Noise Suppression)在音樂內容下的痛處——有些音樂場景樂器眾多,NS處理會對某些聲音造成一定的損傷。為了追求對原聲的極致體驗,有些工程師干脆關閉NS模塊,寧愿忍受噪聲,也不愿損失音樂效果。李備介紹,網易云信深知這一技術問題給產品和用戶造成的困擾,在實踐中不斷優化自己的NS算法,力爭給到客戶更好的技術服務;
- TSM(Time Scale Modification)在音樂場景下的影響——如果將用于一般場景的TSM算法直接照搬到音樂內容場景下,會導致音樂內容在傳輸時節拍的變化,所以需要做出專門適配音樂場景的TSM算法。
“在垂直領域愈發豐富的今天,針對不同的場景,對策略進行調整,是每個底層技術提供商應該思考的問題,也是網易云信一直努力的方向。”李備總結道。讓技術匹配客戶,讓服務更加細致,既是整個行業生態追求的結果,也是推動行業生態進步的動力。
?
另外,想要獲取更多產品干貨、技術干貨,記得關注網易云信博客。
?
總結
以上是生活随笔為你收集整理的网易云信实时音频框架背后:算法优化带来产品体验全面提升的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网1分钟 |1119
- 下一篇: 浅析State-Thread