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