10 月 24 日,RTC 2019 第五屆實時互聯網大會在北京悠唐皇冠假日酒店如期舉行。在下午的編解碼技術專場上,聲網Agora技術VP高澤華正式宣布,開源聲網自研抗丟包音頻編解碼器Agora SOLO。
目前,編解碼器的源代碼已經開源在 Github
為什么做一款抗丟包音頻編解碼器?
在近些年比較火的應用場景有這么幾類:游戲,比如多人在線對戰游戲、狼人殺等,多人組隊,還需要實時語音;互動直播,比如主播與觀眾連麥、主播與其他主播進行跨直播間連麥,需要實時的互動;在線教育,其中有很多細分的場景,1 對 1、1 對多、雙師等,在當前互動網絡教育中最難解決的問題還是實時性,就是老師跟學生怎么能夠更好的互動。 以上這些實時互動場景,在當前網絡環境下,給技術提出了更高的要求,既要低延時,又要實現高質量的音視頻互動。但是,如果承載信息的包沒有按時到達,即出現丟包,就會產生聲音斷斷續續、音質低等情況,直接影響實時互動的質量。然而,傳統的抗丟包策略不是會浪費帶寬,就是會影響音頻質量,所以我們結合信源和信道編碼的特點,利用充分包交換網絡的特性,基于此,研發出了聲網新的編解碼器——Agora SOLO。
Agora SOLO 是什么?
Agora SOLO(以下簡稱“SOLO”)是由聲網Agora自主研發的一款面向不穩定網絡的音頻編解碼器,它以 Silk 為基礎,融合了帶寬擴展(BWE)和多描述編碼(MDC)等技術,使其能在較低復雜度下擁有弱網對抗能力。SOLO 編解碼器兼容WebRTC,可集成到基于 WebRTC 自主研發的產品中。

圖 1. SOLO編碼器架構

圖2. SOLO解碼器架構
SOLO的抗丟包策略與傳統方法不同。從通信原理來說,信源編碼是盡可能去追求高壓縮比,去冗余。而信道編碼是追求強糾錯,靠加冗余來實現糾錯。Agora SOLO就是把加冗余和減冗余結合起來,不重要的地方減冗余,重要的地方加冗余。 在傳輸過程中,它會將一個包拆分為兩個進行傳輸,如果對端收到其中一個,則解碼恢復出一個有限失真的信號;如果對端收到兩個包,則可解碼恢復出一個高質量的信號。即 SOLO不需要等待對當前網絡丟包狀態的統計,只需要直接把抗丟包做到編解碼內部。好處有三點:1.可實現更低延時;2.可實現更高質量,當收到一個包時質量達到的普通編解碼器水平,收到兩個包達到高質量編解碼水平;3. 可面向多人環境。
SOLO 關鍵技術
01 帶寬擴展
SOLO 使用帶寬擴展的主要原因是希望減少計算復雜度,在 Silk WB 模式中,16khz 的信號都會進入后續處理模塊,而對于語音來說,8khz 以上的信息是非常少的,這部分信息進入到后續處理模塊,會帶來一定的計算資源浪費。MDC 因為要引入額外分析模塊處理多條碼流,又會引入額外的復雜度,這是 MDC 在近些年來落地不順暢的重要原因之一。為了減少復雜度,我們在編碼寬帶信號前,將其分為 0-8k 的窄帶信息和 8-16k 的高頻信息。只有窄帶信息會進入到后續正常分析、編碼流程中,這樣后續的計算量就減少了一半,同時得益于帶寬擴展算法,整體質量不會有明顯下降。高頻信息部分,SOLO 使用獨立的分析與編碼模塊,默認將高頻信息壓縮成 1.6kbps 的碼流。這部分高頻信息可以在解碼器內結合低頻信號恢復出高頻信號。
02 結合 delay-decision 的 MDC
在 Silk 中,delay-decision 模塊是一個滯后計算編碼誤差的模塊,它可以從多個候選碼流中選擇誤差最小的碼流作為編碼輸出,一定程度上來說,它使得標量量化擁有了矢量量化的性能。SOLO 利用 delay-decision 模塊,實現了多描述碼流的分析與構建。SOLO 的MDC主要作用于濾波器輸出的殘差信號, SOLO 會根據當前信號狀態,對殘差信號做多增益控制:計算出 MD 增益 a(0
圖 3. 多描述殘差信號產生
隨后,這兩段殘差信號會進入到新的 delay-decision 模塊中,每個殘差信號使用不同的抖動和量化方法,一共可以產生 8 種不同的備選狀態,兩兩組合起來共有 64 種備選合成狀態,新的 delay-decision 模塊會對每個殘差信號的獨立誤差和兩個殘差信號的合成誤差進行加權求和,決定出最佳的兩個殘差信號進入到編碼模塊。
03 輸出碼流組包
圖 4. 編碼器碼流整合及組包
SOLO 默認配置為每次輸入 40ms(2 幀),輸出兩段互補的多描述碼流,解碼器接收到任一段碼流,即可解碼出 40ms 的信號。為了方便接收端區分碼流的順序,碼流第一個字節的右數第 4 個 bit 是碼流順序標志位,第一段碼流標志位的值是 0,第二段碼流標志位的值是 1。接收端在進行碼流處理時,可依據此標志位進行碼流順序判斷。

-
解碼器
+關注
關注
9文章
1219瀏覽量
43409 -
音頻
+關注
關注
31文章
3188瀏覽量
85563
原文標題:聲網Agora開源抗丟包音頻編解碼器Agora SOLO
文章出處:【微信號:shengwang-agora,微信公眾號:聲網Agora】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
TLV320AIC2x系列編解碼器:高性能音頻解決方案解析
詳解TI的PCM2901/2903立體聲音頻編解碼器
德州儀器AIC111音頻編解碼器:低功耗與高性能的完美結合
深入解析LM4546B AC '97多通道音頻編解碼器
深入剖析LM4549B:高性能音頻編解碼器的技術指南
TLV320AIC3104低功耗立體聲音頻編解碼器:特性、應用與設計要點
探索PCM3168A音頻編解碼器:高性能音頻處理的理想之選
解析PCM5310音頻編解碼器:多功能設計與性能優勢
TLV320AIC3253:超低功耗立體聲音頻編解碼器的卓越之選
深度解析PCM3070:一款高度集成的立體聲音頻編解碼器
TLV320AIC3206:超低功耗立體聲音頻編解碼器的卓越之選
TLV320AIC3263音頻編解碼器:功能特性與設計要點解析
探索MAX9860:16位單聲道音頻語音編解碼器的卓越性能與應用
TLV320AIC12KIDBTR 低功耗單聲道語音頻編解碼器
為什么做一款抗丟包音頻編解碼器?
評論