今天參加了聲網 Agora 的《實時語音質量監控系統的過去、現在與未來》,結合之前工作時音訊處理的一些經驗,分享一些自己的理解。
音訊(泛指人能聽到的自然界的所有聲音,人耳能聽到聲音的頻譜範圍一般為 20~20000HZ)和語音 (語音是指人說話的聲音,人說話的聲音訊譜能量範圍大部分分佈在 300~3400HZ)兩者是不同的,可以看出人是可以聽到比人說話更廣範圍的聲音的;這就是人可以聽到像樂器,自然界,尖鳴聲這些聲音,但是人並不能發出來。
為什麼要做質量評估,原因有幾個方面,比如大家除了面對面交流,在通話,刷視訊,聽音樂等等活動中的音訊是經過了編解碼壓縮處理的,是為了便於更小代價的傳輸和儲存;像原始聲音中摻雜噪聲的去除,原始說話聲音的增強處理等;可以看出不管是編解碼處理還是其他語音處理,目的都是讓人聽起來更舒服,因此質量評估方法就是評估在對於聲音進行處理後的人聽起來的感受度情況。
音訊評估方法分為主觀評價和客觀評價。
主觀評價其實就是人憑藉聽覺感受對語音進行打分,常見的有 MOS、CMOS 和 ABX Test;像 AB TEST 在我早期的工作中經常使用到,比如對語音增強演算法做了小的優化,想得到實際聽覺的感受改善情況,就會把原始演算法和優化後演算法處理後的語音進行編組,讓小夥伴們幫忙測試打分,以此判斷是變優還是變差。國際電信聯盟(ITU)將語音質量的主觀評價方法做了標準化處理,代號為 ITU-T P.800.1。其中收聽質量的絕對等級評分(Absolute Category Rating, ACR) 是目前比較廣泛採用的一種主觀評價方法。參與評測的人員對語音整體質量進行打分,分值範圍為 1-5 分,分數越大表示語音質量最好。這種 MOS 值分數後來也應用於客觀質量評價。一般 MOS 應為 4 或者更高的,會被認為是比較好的語音質量,一旦 MOS 低於 3.6,則這個語音質量基本不太能接受。
客觀評價則主要是使用演算法代替人打分的工作,通過演算法來評測聲音的質量。在客觀評價中又分為有參考評價和無參考評價。
- 有參考評價(intrusive method)顧名思義,需要聲音源素材進行對比,因此這種方法只能用線上下處理上,對於實時通話處理是不可能做到的;常見的有像 ITU-T P.861(MNB), ITU-T P.862(PESQ)[2], ITU-T P.863(POLQA)[3], STOI[4], BSSEval[5],
- 無參考評價(non intrusive method)則不需要聲音源素材,常見的有 ITU-T P.563[6], ANIQUE+[7],ITU-T G.107(E-Model)[8],基於 AI 深度學習的 AutoMOS[9], QualityNet[10], NISQA[11], MOSNet[12]等等
下面表中為主流語音編解碼 MOS 值測試評分(來自 Opus 官網,後來又出來了 MOS9,即最高分為 9 分
這裡重點介紹下 PESQ 和 POLQA
PESQ 屬於有參考的客觀評價方案,將兩個音訊訊號作為輸入,其中一個由 itu 組織提供,另一個輸入為經過被測 voip 系統處理後的輸出訊號。Pesq 演算法通過對輸入的兩個訊號提取時頻域或變換域特徵引數的差異,再將特徵引數差異經神經網路模型對映得到客觀的音質分值。PESQ 分值其實就是對 MOS 值的一個對映。
POLQA 演算法是新一代語音質量評估標準,適用於固網、行動通訊網路和 IP 網 絡 中 的 語 音 質 量 評 估 。 POLQA 被 ITU-T(International Telecommunication Union)確定為推薦規範 P.863,可用於高清語音、 3G、4G/VoLTE、5G 網路語音質量評估。它用以替代和升級 2001 年釋出的 PESQ(ITU-TRecommendation P.862)
與傳統 pesq 的區別在於,POLQA 演算法具有以下優點:
- 增加對寬頻(Wideband)和超寬(SuperWideband)語音質量評估的能力,支援寬頻(48khz)。
- 支援最新的語音編碼和 VoIP 傳輸技術,針對現有的 opus、silk 編碼器進行過特殊優化。
- 支援多語言環境,各國語言都支援。ITU 組織提供標準測試語料,可進行鍼對性測試。
當然音訊質量評估不只是評估編解碼,同樣還有其他因素會影響,像 VAD 傳輸,丟包補償,網路質量變化(時延/抖動/丟包),甚至包括裝置採集。
像上述的無論有參考和無參考,都有其應用的侷限性,包括使用場景比較窄,魯棒性差,複雜度高等問題,而要克服上述的問題,就需要一套覆蓋多場景,效能執行幾乎無感知的質量評估演算法及體系,因此聲網自行開發了一套獨有的音訊質量評估手段。包括上行質量評估和下行質量評估。
上行鏈路聲音經歷採集-AEC(回聲消除)-NS(噪聲抑制)-AGC(增益)處理過程,因此質量評估包含了裝置採集穩定性/回聲消除能力/噪聲抑制能力/音量增益能力的處理效果。
下行鏈路則主要是通過裝置播放給人聽,經過編解碼-網路傳輸-弱網對抗(我理解是 VAD/PLC/糾錯等處理)-裝置播放,最終多弱網,多裝置,多模式測試下,其演算法與 POLQA 誤差值小於 0.15,可以說是達到了不錯的效果。
關於音訊質量評估,個人認為後續會按照更細化的領域方向發展,包含元素的不同,比如語音評估和音樂評估應該是屬於不同的;包含場景的不同,比如實時線上處理和線下評估,實時處理需要高實時性,效能消耗小;而線下評估不需要這麼高的要求,對於精準度則要求更高,則可以更多的利用 AI 人工智慧的優勢以及演算法系統上的優化。