RTC 音频质量评价和保障
導讀:隨著 5G 網絡的普及以及疫情帶來的影響,人們對實時音視頻技術的應用場景會越來越多,包括會議、連麥、音視頻通話、在線教育、遠程醫療等,這些實時互動場景對 RTC 音頻的質量提出了越來越高的要求。如何對 RTC 音頻的效果開展測試,通過構建客觀、標準、可重復的評價體系來保證好的音頻傳輸質量,也成為目前比較緊急和重要的課題。
文|馬建立?網易云信資深音視頻測試工程師?
理想的溝通模型
日常溝通中面對面的交流一般有比較好的效果,如果在一個安靜的實驗室內,減少環境的干擾和影響,會得到理想的溝通效果。我們再把這個模型抽象一下,大體可以看出有以下的特點:
環境安靜:NR15 的底噪,相當于在極其安靜的夜晚,人耳能不受到其他影響的干擾,集中注意力聽目標人聲。
適宜聽音的混響環境:混響通常會影響聽音者的理解程度,混響越大,語音的拖尾越長,可懂度也就越低。比如在混響較大的演唱廳,對于樂器和歌聲來說,會有一定的美化效果,但是對于人的溝通交流是不利的。
語音清晰、自然:講話者心理和生理都處在極佳的狀態,發音清楚,頻率均衡,語音流暢,語速適中。
?
聲音大小適中:研究表明,音量對音質的影響是顯著的,在其他條件一致的情況下,音量越大,主觀聽感越好。講話者說話聲音洪亮,在一定程度上能提升聽音者的可懂度。
?
響應及時、溝通順暢:在 RTC 的實時溝通中,延時也是一個非常重要的指標,一般來說,200ms 以內人的延時人的主觀感覺無明顯的障礙和遲滯感,200ms-400ms 能正常溝通,超過 400ms 就會有的遲滯感,更嚴重時會出現搶話的現象,直接影響通話的體驗。在面對面的溝通場景下,時延只有 3ms 左右。
RTC 音量鏈路
上圖是通過 RTC 實時溝通的兩個人,從圖上可以看出,講話者 A 開始說話,聲音經過空氣傳播、麥克風采集、A/D 轉換、增強處理(降噪、回聲消除、音量控制、去混響)、編碼、打包傳輸、接收端解碼、NetEQ、D/A?轉換到下行播放,然后 B 聽到聲音。這是單工狀態下的完整的聲音傳輸的路徑。
與理想的溝通模型相比,實際的 RTC 鏈路中存在多種類型的干擾和影響,比如環境影響、硬件影響、鏈路影響和網絡影響,每個環節都有可能引入音頻質量的下降。這些影響綜合下來,會導致如下幾個方面的聲音的問題。
- 音量問題:無聲、音量小、聲音大導致的削波、刺耳等、忽大忽小。
- 回聲類問題:漏回聲、回聲殘留、語音損傷如壓制、剪切、斷續。
- 噪聲類問題:噪聲殘留不平穩。
- 系統引入問題:雜音、電流音、popo音。
- 狹義的音質問題:語音模糊、語音失真、語音發悶、語音尖銳、機械音。
- 網絡問題:卡頓、斷續、快放、慢放、機械音。
主觀測試方法
最早的主觀測試以兩個人通話為主,A 和 B 建立起 RTC 的鏈接,通過分別或者同時講話,還原真實場景的用戶使用場景,主要關注的以下 3 個維度。
Listening Quality:聽音者的音質,是單工的使用場景,比如 A 在講話,B 聽到的聲音的質量,就是 Listening Quality,Listening Quality 描述了大部分情況下的語音質量,也是最基礎的部分,目前業界已有的客觀評價方法和手段基本上都是基于 Listening Quality。
Talking Quality:講話者的音質,是講話人自己聽到的聲音質量,與回聲、側音掩蔽、本地的環境都有一定的關系。
Conversation Quality:對話音質,除了包含 A/B 兩個人的 Listening Quality 和 Talking Quality,還跟雙工通話有關系,主要的影響因素有回聲雙講和端到端延時。
?主觀測試關注的維度?
主觀測試要關注的點如上圖所示,分為音質、音色、音量、延時、回聲、降噪等幾個大的方面。
音色
音色又稱之為音品,是聽覺感到的聲音的特色,音色主要決定于聲音的頻譜。在 RTC 的鏈路中,影響聲音的頻率響應主要是麥克風的頻率特性、中間處理如 EQ、高低通濾波、以及音量控制的算法(DRC/AGC)、揚聲器/耳機得到頻響等。不同人的發聲頻率分布也有差異,一般來說男性聲音低頻多,聲音渾厚或者偏悶,女性或者小孩有更多的高頻成分,聲音明亮甚至有些尖銳。
音質:音質分為 3 個維度,清晰度、流暢度和自然度。
- 清晰度在音頻領域也叫可懂度。表示對語義內容的理解程度,影響可懂度的方面有很多,比如:語音中混入噪聲使得語音聽不清楚,導致可懂度下降;語音中有大混響,導致語音拖尾,聽不清楚。
- 流暢度表示語音的連續程度。直接影響的因素有:網絡環境差導致語音斷續、卡頓、丟字等;QoS 調整導致的聲音快放、慢放;回聲和降噪等算法導致的語音損傷。
- 自然度表示與原始語音的相似程度。影響自然度的典型問題有:算法處理引入的失真;揚聲器的非線性失真;聲音放大過多造成的削波、過載等。
音量
對于 RTC 的 SDK 供應商來說,面臨的最大挑戰是設備多樣性,不同的平臺(Mac、Windows、Android、iOS、Web),以及不同機型和不同的外接設備,不同的機型或者設備采集、播放音量差異大。音量控制的策略在于能夠保證不同平臺設備之間的一致性,保證用戶能夠聽到足夠大小的聲音,且不會顯性的帶來音質損傷和下降。
噪聲
降噪算法的目的在于去除環境或者設備引入的噪聲干擾,盡可能多的還原人聲,提升信噪比。實際的降噪算法在處理噪聲的過程中,都不可避免的、或多或少的損傷音質。因此評價降噪主要從兩個方面考慮:?
- 噪聲的抑制水平。包括收斂時間、抑制力度、殘留平穩性等。
- 語音的損傷程度。好的降噪算法總是能夠在這兩者之間達到一個相對的平衡,既能有效的抑制噪聲,又沒有明顯的損傷語音。
回聲
回聲消除是 RTC 鏈路中比較重要的一個模塊,目的是消除設備的回聲,保證順暢的通話體驗。評價回聲也主要從兩個點出發:
- 回聲的抑制力度。回聲是否有殘留。
- 對近端語音的損傷情況。在 RTC 的應用場景,回聲也與設備、平臺、機型和外接設備關系很大,因此回聲的測試需要覆蓋 TOP 機型。? ?
延時
網絡傳輸中音頻對抗丟包的算法如 FEC、RED、ARQ,以及對抗丟包的算法如 Jitter Buffer 等,都會產生額外的延時,導致端到端的延時增大,對于實時溝通交流帶來負面的影響和體驗下降。尤其是對于一些低時延的場景來說,端到端延時是一個衡量弱網對抗性能的重要指標。
?主觀測試的痛點?
目前 RTC 音頻的主流評價方式主要依靠主觀測試和聽音,這種方式對于人的專業能力要求比較高,而且效率比較低。主要有以下幾個方面的痛點:
- 可重復性差:主觀測試很難保證兩次測試的一致,比如聲場環境的變化、說話人發音變化、音量大小變化、與設備之間的距離差異等等,不可控因素太多,沒辦法得到準確的對比測試結果。
- 測試效率低:主觀測試需要兩個人全程參與,長時間的測試無論聽音還是發聲,都會產生疲勞和懈怠感,且需要根據用例切換場景,測試效率非常低。
- 測試覆蓋率低:因為效率的問題,實測只能覆蓋有限的場景和有限的鏈路組合,通常來說只能保證重點場景。且測試人員本身的聲音有局限性,沒有辦法覆蓋更多種類的人聲。
- 主觀因素影響大:聲音是很主觀的東西,同一段聲音在不同人的聽感不盡相同,單個人的測試結果有可能會導致結論有失偏頗。且人的發聲和聽音,與生理和心理的狀態有著極大的關系,同一個人在不同時間段會給出截然不同的判斷和結論。
針對以上的痛點問題,網易云信目前在音頻效果的評價和測試上,打造了一套從實驗室構建、環境模擬、采集播放、評價方法端到端的客觀評價方法。
?標準實驗室
上圖是網易云信的聲學實驗室,主要的設備和硬件配置如下所示:
- 頭肩模擬器:內置嘴部模擬器和經過較準的耳部模擬器(符合 IEC 60318–4/ITU‐T Rec. P.57 Type 3.3 標準)的人體模型,可以真實再現普通成年人頭部和軀干的聲學特性,進行精準的雙耳聲學信號 采集和嘴部發聲。
- 4* 高保真音響:構造均勻的散射聲場,在線模擬并回放不同場景和信噪比的噪聲環境。
- 多路聲卡:支持同時8入8出的聲音采集和播放,滿足多種音頻測試的場景設置。
- 4路電信號接口:支持多人語音測試 和 回聲單雙講測試。
通過構建專業的音頻測試實驗室,滿足音頻自動化測試/競品分析評測/版本間基線效果快速對比測試的需求,獲得可重復的客觀測試結果,同時能夠滿足研發音頻算法仿真和原型驗證的需求。還可以一人完成 3A 主觀測試:降噪、音質、回聲單雙講測試。目前 AI 算法越來越多,數據是 AI 類算法的關鍵,有了聲學實驗室和噪聲模擬系統,通過編寫自動化腳本的方式,可以實現 AI 數據自動采集和標注,大大降低數據購買和標記成本。目前云信的聲學實驗室組網如上圖所示,實驗室的引入提升了開發和測試的專業度,主要有以下方面的應用:
- 自動化測試:客觀的 3A 自動化測試,如回聲測試、噪聲測試,可模擬多人入會場景。
- AI 數據自動化采集:開源的語音、目標噪聲分別通過人頭和噪聲回放系統播放,在目標端或者平臺上回錄,錄制的過程中可以打標簽,同時解決序列采集和標記的問題。
- 主觀測試:定量的播放環境和安靜的聽音環境。
- 其它:機型覆蓋測試、機型適配、算法原型優化驗證。
客觀測試標準
實驗室主要是提供了客觀可重復的測試環境,硬件設備支持自定義的采集和播放,除此之外,目前網易云信的音頻實驗室還引入了客觀的測試標準,作為最終數據的評價方法。音頻測試標準按照不同維度有不同的劃分。
主觀/客觀
主觀是基于人類的主觀評價,客觀方法是用模型來計算和評估語音質量。典型的主觀評測標準如P.800,客觀的語音質量評測方法如 PESQ。
有參考/無參考
完全參考/無參考 (FR/NR) 描述所用測量算法的類型。FR 算法有兩個信號:原始信號和失真信號。NR 算法只需要一個失真信號。典型的 FR 算法是例如 PESQ。典型的 NR 測量是 P.563,NR 方法也常被稱為“單端”測試。
感知/非感知
通常,此類測量算法會嘗試對人類感知進行建模。感知建模不僅用于質量的評估。其他著名的感知算法例如使用感知模型的 MP3 或 AAC 用于壓縮音樂。非感知指標是一般的物理或技術指標,例如電平或信噪比。
?基于感知模型的客觀標準?
基于感知模型的客觀指標最經典也是應用最廣泛的是有源客觀語音質量測試標準 p.86x 系列,也是就常說的 PESQ/POLQA,是一種典型的有參考的語音評價標準, PESQ/POLQA 總的思路是:對原始信號(參考信號)和通過測試系統的信號進行電平調整到標準聽覺電平,再用輸入濾波器模擬標準電話聽筒進行濾波。
對通過電平調整和濾波后的兩個信號在時間上對準,并進行聽覺變換,這個變換包括對系統中線性濾波和增益變化的補償和均衡。兩個聽覺變換后的信號之間的不同作為擾動(即差值),分析擾動曲面提取出兩個失真參數,在頻率和時間上累積起來,映射到對主觀平均意見分的預測值。POLQA 相對于 PESQ 做了大量精度的優化,使得客觀測試結果與主觀測試結果的一致性更高,在語音評測方面有個非常廣泛的應用。
自動化測試
?POLQA 自動化測試?
網絡測試中,為減少硬件采集播放和聲學鏈路的影響采用電信號鏈路的測試。發送端和接受端的兩臺設備使用 3.5mm 的音頻線與聲卡連接。此外,有一套 TC 系統來提供網損環境,被測試的兩臺設備接入 TC 的 Router,通過腳本控制兩端設備的丟包、延時、抖動和帶寬。
如上圖所示,測試主機通過聲卡將信號發送給測試設備 A,測試設備經過本端的 RTC 音頻處理后,經過網絡傳輸發送到接收端設備 B,在這個過程中,通過弱網系統實時添加不同類型和程度的網損。聲卡接收到測試設備 B 的信號,通過與原始信號的比對和分析,來衡量 RTC 對于弱網對抗模塊的性能。
- 支持 Android 端、iOS 端、Windows 端、Mac 端、Web 端的互通測試;
- 使用 TC 腳本自動化控制網絡環境;
- 使用 API 自動化控制入會、切換 profile、參數控制、離開會議;
- 自動化獲取測試過程中的碼率、丟包、卡頓等打點信息作為輔助標準;
- 一鍵執行,生成版本基線報告;
?3A 客觀自動化?
網易云信目前基于實驗室搭建了端到端的 3A 自動化測試,架構框圖如上圖所示,主要分為用例管理層、API/UI 控制層、采集和播放、自動校準、分析與計算、數據和報告幾個大的模塊。主要用于回聲、噪聲和音量控制的綜合評價,目前在版本基線測試、版本迭代對比、競品對比等測試環節中應用。
?作者介紹?
馬建立,網易云信資深音視頻測試工程師,網易云信音視頻媒體實驗室核心成員,負責音頻測試質量體系建設和音視頻質量保障工作。
總結
以上是生活随笔為你收集整理的RTC 音频质量评价和保障的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 资讯|WebRTC M98 更新
- 下一篇: Gitlab-ci 替代 webhook