摘要
隨著深度學習技術的快速發展,基于神經網絡的音頻編解碼技術已成為下一代音頻壓縮的重要研究方向。本文以Google提出的SoundStream為核心分析對象,深入探討其在低碼率語音編解碼領域的創新架構設計和關鍵技術突破。SoundStream通過全卷積編解碼器網絡和殘差向量量化器的端到端聯合訓練,實現了在3-18 kbps碼率范圍內的高質量通用音頻壓縮。本文從架構設計原理、核心組件分析、訓練策略優化、性能評估等多個維度對SoundStream進行系統性分析,并探討其在實際應用中的優勢與局限性。研究表明,SoundStream在3 kbps低碼率下的性能超越了傳統Opus編解碼器在12 kbps的表現,為神經音頻編解碼技術的發展提供了重要的理論基礎和實踐指導。
關鍵詞:神經網絡;音頻編解碼;殘差向量量化;端到端學習;低碼率壓縮;SoundStream
1. 引言
1.1 研究背景與意義
音頻編解碼技術是現代數字通信和多媒體應用的核心技術之一。傳統音頻編解碼器經過數十年的發展,在技術上已趨于成熟,但在極低碼率場景下仍面臨顯著挑戰。波形編解碼器(如Opus、EVS)雖然在中高碼率下表現優異,但在低于12 kbps時會產生明顯的量化噪聲和音質劣化。參數編解碼器(如CELP系列)雖能在極低碼率下保持語音可懂度,但重構音頻具有明顯的機械感,且僅適用于語音信號。
近年來,深度學習技術的突破性進展為音頻編解碼領域帶來了新的發展機遇。神經網絡強大的非線性建模能力和端到端學習特性,為突破傳統編解碼技術的瓶頸提供了可能。Google于2021年提出的SoundStream代表了神經音頻編解碼技術的重要里程碑,首次在低碼率通用音頻壓縮領域實現了與傳統編解碼器的正面競爭。
1.2 SoundStream的技術定位
SoundStream是首個真正意義上的端到端神經音頻編解碼器,具有以下突出特點:
- 通用性:支持語音、音樂、環境音等多種音頻類型的高質量壓縮
- 低碼率優勢:在3-18 kbps范圍內實現高質量音頻重構
- 實時性能:支持流式推理,可在智能手機CPU上實時運行
- 碼率可擴展性:單一模型支持多種碼率配置
- 增強功能集成:可在編碼或解碼端集成音頻增強功能
2. 神經音頻編解碼技術概述
2.1 技術演進歷程
神經音頻編解碼技術的發展可分為三個主要階段:
第一階段(2016-2018):神經增強傳統編解碼
這一階段主要將神經網絡作為后處理模塊,用于改善傳統編解碼器的輸出質量。典型應用包括音頻超分辨率、量化噪聲抑制、丟包隱藏等。雖然取得了一定效果,但本質上仍受限于傳統編解碼器的信息瓶頸。
第二階段(2018-2020):端到端神經編解碼興起
以VQ-VAE為代表的端到端學習框架開始應用于音頻編解碼。WaveNet、LPCNet、SoundStream等方案通過自回歸解碼器實現了顯著的性能突破,但計算延遲較高,限制了實時應用。
第三階段(2021至今):通用高效神經編解碼
SoundStream標志著這一階段的開始,通過全卷積架構解決了延遲問題,實現了低延遲、高質量、通用音頻的編解碼目標。
2.2 核心技術原理
神經編解碼器的基本架構包含三個核心組件:
編碼器(Encoder):將時域音頻信號映射為低維潛在表示。通過下采樣和特征提取,實現信息的緊湊化表示。
量化器(Quantizer):將連續潛在表示轉換為離散符號,實現數據壓縮。量化器的設計直接影響壓縮效率和重構質量。
解碼器(Decoder):從量化表示重構原始音頻信號。通過上采樣和特征重建,恢復原始信號的時域特性。
2.3 技術優勢分析
相比傳統編解碼技術,神經網絡編解碼方法具有以下顯著優勢:
自適應特征學習:通過數據驅動的端到端學習,自動發現最優的音頻表示,避免人工特征設計的局限性。
非線性建模能力:深度神經網絡的強大非線性建模能力使得在極低碼率下仍能保持較好的感知質量。
多目標聯合優化:可同時優化壓縮效率、重構質量、計算復雜度等多個目標,實現全局最優解。
功能集成化:可在編解碼過程中集成降噪、增強等附加功能,實現多功能一體化處理。
3. SoundStream整體架構分析
3.1 設計理念與目標
SoundStream的設計圍繞以下核心目標:
通用音頻支持:不同于專門針對語音的傳統低碼率編解碼器,SoundStream設計為通用音頻編解碼器,能夠高效壓縮語音、音樂和一般音頻內容。
低延遲實現:通過全卷積架構避免自回歸結構的延遲問題,支持實時流式處理,算法延遲僅為13.3ms。
碼率可擴展性:單一模型通過結構化dropout技術支持3-18 kbps的可變碼率,避免為每個目標碼率單獨訓練模型。
端到端優化:編碼器、量化器、解碼器作為整體進行聯合訓練,直接優化最終的感知質量。
3.2 整體架構框圖
SoundStream的整體架構如圖所示,包含以下關鍵組件:
圖片展示了基于殘差向量量化(RVQ)的神經網絡語音編解碼系統的完整架構,包括訓練階段和推理階段的工作流程。
3.2.1 訓練階段(左側)
1. 輸入處理
- 輸入為原始語音波形(藍色波形),包含噪聲或需要壓縮的音頻信號
2. 編碼器(Encoder)
- 將時域音頻信號轉換為低維潛在表示
- 通過卷積神經網絡提取音頻的關鍵特征
- 實現信息的緊湊化和抽象化
3. 殘差向量量化器(RVQ)
- 系統的核心組件,將連續的特征表示量化為離散的碼本索引
- 通過多層量化器逐步減小量化誤差
- "Denoising on/off"表示可以控制降噪功能的開啟或關閉
- 實現數據壓縮和離散化表示
4. 解碼器(Decoder)
- 從量化后的離散表示重構音頻信號
- 輸出清潔的語音波形(棕色波形)
- 與編碼器結構對稱,通過上采樣恢復原始分辨率
5. 判別器(Discriminator)
- 采用對抗訓練機制,比較重構音頻與原始音頻
- 指導編碼器-解碼器系統優化重構質量
- 防止模型學習產生失真的捷徑解法
- 確保重構音頻的感知質量
3.2.2 推理階段(右側)
1. 發送端(Transmitter)
- 僅包含訓練好的編碼器和RVQ模塊
- 將輸入音頻壓縮為量化碼本索引
- 顯著減少傳輸數據量
2. 量化碼傳輸
- 傳輸的是離散的碼本索引(圖中的條形碼表示)
- 相比原始波形,傳輸效率大幅提升
- 實現高壓縮比的音頻編碼
3. 接收端(Receiver)
- 僅使用訓練好的解碼器模塊
- 從接收到的量化索引重構音頻
- 無需傳輸完整的神經網絡模型
4. 輸出重構
- 生成高質量的重構語音波形(棕色波形)
- 在解碼過程中自動實現降噪和質量增強
3.3 技術創新要點
全卷積架構:編碼器和解碼器均采用全卷積結構,避免了循環網絡的序列依賴,支持并行計算和低延遲推理。
殘差向量量化:創新的多層量化策略,通過殘差學習逐步細化量化精度,顯著提升壓縮性能。
結構化dropout:訓練時隨機選擇量化層數,使單模型支持多碼率操作,提高模型的實用性。
多尺度判別器:采用不同時間尺度的判別器網絡,確保重構音頻在各個時間分辨率上的質量。
4. 編碼器架構
-
總體架構:
- SoundStream編碼器是一個全卷積網絡,用于將時域波形映射為一系列嵌入。該結構遵循流式SEANet編碼器的設計,但沒有跳躍連接。
-
具體組件:
-
輸入層:
- 接收單通道錄音 x∈RT x \in \mathbb{R}^T x∈RT(以采樣率 fs f_s fs? 進行采樣)。
-
1D卷積層:
- 編碼器的首部是一個1D卷積層,具有Cenc C_{\text{enc}} Cenc? 個通道,負責初步特征提取。
-
卷積塊:
- 之后是Benc B_{\text{enc}} Benc? 個卷積塊。每個卷積塊包括三個殘差單元(Residual Units),這些單元中含有擴張卷積(Dilated Convolutions),其擴張率分別為1、3和9。
- 每個卷積塊后還跟隨一個步長卷積層,用于下采樣(down-sampling),因此在每次下采樣時,通道數會加倍,起始通道數為Cenc C_{\text{enc}} Cenc? 。
-
輸出層:
- 最后,編碼器有一個1D卷積層,其卷積核長度為3,步長為1,用于將嵌入的維度調至 D D D 。
-
-
實時推理:
- 為了支持實時推理,所有卷積層均為因果卷積,這意味著填充僅應用于過去的數據,而不包括未來的數據。
- 在訓練和離線推理中,使用過去填充;而在流式推理過程中不使用任何填充。
-
激活函數和歸一化:
- 編碼器使用ELU激活函數,且不應用任何形式的歸一化。
-
時間重采樣控制:
- 卷積塊的數量 Benc B_{\text{enc}} Benc? 及其對應的步長序列決定輸入波形與嵌入間的時間重采樣比率。舉例來說,當 Benc=4 B_{\text{enc}} = 4 Benc?=4 并使用步長序列 (2, 4, 5, 8) 時,每320個輸入樣本計算一個嵌入。
-
編碼器輸出
- 編碼器的輸出形式為 enc(x)∈RS×D \text{enc}(x) \in \mathbb{R}^{S \times D} enc(x)∈RS×D ,其中S=T/M S = T/MS=T/M ,T TT 為輸入的長度,M M M 是所有步長的乘積,體現了經過編碼后的嵌入信息。
該編碼器結構的設計旨在高效捕捉音頻信號中的特征,并為后續的量化階段提供充分的表征能力,確保在低比特率條件下仍能高質量地重構音頻。
5. 解碼器結構
-
總體架構:
- SoundStream的解碼器是一個全卷積網絡,負責從量化的嵌入中重構原始音頻波形的近似值。
-
輸入層:
- 解碼器接收量化后的嵌入,通常來自編碼器通過殘差向量量化器(RVQ)生成的輸出。
-
卷積塊:
- 解碼器中的結構與編碼器對稱,但功能上反向操作。
- 解碼器包含多個卷積層和上采樣模塊,逐步將量化嵌入轉換為輸出波形。
- 每個解碼卷積塊也由幾個殘差單元組成,這些單元與編碼器中使用的殘差單元類似,但實現了反向傳播的上采樣操作。
-
上采樣:
- 使用轉置卷積(或上采樣層)來增加特征圖的時間分辨率,以逐步重構出與原始輸入相等分辨率的波形。
- 每次上采樣時,通道數通常會減半,直至最終得到一個有效的輸出通道數 Cdec C_{\text{dec}} Cdec?。
-
輸出層:
- 解碼器的最終輸出通常通過一個1D卷積層完成,該層的卷積核尺寸為7,步長為1,旨在將通道數降低到1,輸出一個單通道的波形。
-
實時推理:
- 類似于編碼器,解碼器中的所有卷積操作也是因果的,以確保聲波信號的實時處理不受到未來數據的影響。
-
可選性:
- 在解碼過程中,解碼器可能會應用一個可選的條件輸入,允許動態調整去噪的應用,以提高最終音頻輸出的質量。
-
解碼器輸出
- 解碼器的最終輸出形式是對原始波形x^∈RT\hat{x} \in \mathbb{R}^T x^∈RT 的有損重構,意在近似于輸入的音頻質量。
SoundStream的解碼器同樣旨在高效地從量化嵌入中重構高質量音頻,同時結合了先進的神經網絡架構,以適應不同的比特率需求,通過高效的上下文利用和條件信號推動解碼過程中的去噪能力。
6. 殘差向量量化器(Residual Vector Quantization,RVQ)結構
-
總體功能:
- 殘差向量量化器的主要功能是將編碼器生成的向量進行量化,以壓縮音頻數據的數據量。
- 殘差向量量化器的主要功能是將編碼器生成的向量進行量化,以壓縮音頻數據的數據量。
-
量化過程:
- 對于每個輸入嵌入,該向量量化器會使用一個有限集合的代碼本中的向量來進行替代,具體操作是將每個嵌入表示替換為多個來自代碼本的向量之和。這一操作可以有效地減少信息表達的復雜度,同時維持較高的音頻質量。
-
多個代碼本:
- RVQ的設計允許使用多個代碼本( Q1,Q2,Q3,…,Qn Q_1, Q_2, Q_3, \ldots, Q_n Q1?,Q2?,Q3?,…,Qn?),通過這些不同的代碼本可以在量化過程中提供更大的靈活性,并且有助于應對不同的輸入特征。
-
聯合訓練:
- 殘差向量量化器是與編碼器和解碼器一起進行端到端聯合訓練的。訓練過程調動了重構損失與對抗性損失的組合,用于優化模型參數,從而提升量化后的音頻質量。
-
可變比特率:
- 通過在量化層引入結構性丟失(structured dropout),該模型能夠在不同的比特率(從3 kbps到18 kbps)下穩定工作,同時對音質的損失幾乎沒有影響。
-
條件信號:
- 量化器的應用可以結合一個條件信號,該信號可以指示在量化過程中是否需要去噪,這有助于在保留音頻信號完整性的同時去除背景噪音。
-
量化器輸出
- 量化器的輸出是經過量化處理后的嵌入,通常用于輸入解碼器。通過這種方式,SoundStream能夠有效地降低存儲和傳輸音頻數據所需的比特數,同時力求盡量保持音頻質量。
SoundStream的殘差向量量化器通過靈活的代碼本管理和結構化量化策略,能夠有效提供高質量音頻壓縮,適用于各種音頻內容類型。
7. 鑒別器架構結構
SoundStream的鑒別器架構可以分為兩種類型:基于波形的鑒別器和基于STFT的鑒別器。以下是這兩種鑒別器的詳細結構描述:
1. 基于波形的鑒別器
- 輸入: 接收單個音頻波形作為輸入。
- 結構:
- 采用多分辨率卷積鑒別器,三個結構相同的模型分別應用于輸入音頻的不同分辨率:原始分辨率、2倍分辨率和4倍分辨率(降采樣)。
- 每個尺度的鑒別器由以下部分組成:
- 一個初始的普通卷積層,使用指定的卷積核大小。
- 四個組卷積層,這些層組的組大小為4,并通過降采樣因子進行特征圖的縮小以及通道數的增加。
- 最終經過兩個普通的卷積層生成輸出,即logits。
2. 基于STFT的鑒別器
-
輸入: 接收輸入波形的復數短時傅里葉變換(STFT),該STFT包含實部和虛部。
-
計算:
- 使用窗口長度 W=1024 W = 1024 W=1024 個樣本和步長 H=256 H = 256 H=256 個樣本進行STFT計算。
-
結構:
- 初始階段通過一個2D卷積層,卷積核大小為 7×7 7 \times 7 7×7 并包含32個通道。
- 之后是多個殘差塊,每個塊的結構如下:
- 首先是 3×3 3 \times 3 3×3 的卷積層,然后是 3×4 3 \times 4 3×4 或 4×4 4 \times 4 4×4的卷積層,步長分別為 (1,2) (1,2) (1,2)或 (2,2)(2,2) (2,2)。
- 這些步長交替使用,共包含6個殘差塊。每個塊增加通道數,逐步構建網絡的深度。
-
最終輸出:
- 最后一個殘差塊的輸出形狀為 T/(H?24)×F/25 T / (H \cdot 2^4) \times F / 2^5T/(H?24)×F/25,其中 T T T是時間域樣本數,F=W/2 F = W / 2 F=W/2 是頻率箱的數量。
- 最后通過一個全連接層(實現為 $$ 1 \times F / 2^6 $$的卷積)聚合輸出,從而在(降采樣的)時間域中生成一個一維信號的logits表示。
基于波形的鑒別器和基于STFT的鑒別器各自有不同的結構和工作方式。基于波形的鑒別器專注于直接處理時域信號,而基于STFT的鑒別器則通過頻域特征來增強對音頻信號的判別能力。這兩種鑒別器共同參與了SoundStream模型的對抗損失計算,為提升音頻重構質量作出了貢獻。
8. Training Objective(訓練目標)
-
結合重構和對抗損失:
- SoundStream模型的訓練目標是通過結合重構損失和對抗損失來優化生成的音頻質量。重構損失確保生成的音頻與原始輸入相似,而對抗損失則通過使用判別器來推動生成音頻的真實性。
- 具體來說,重構損失用于評估生成音頻與原始音頻之間的相似度,而對抗損失則是通過訓練判別器確定生成音頻是否可以被認為是“真實”的。從而促使生成器提高質量。
-
多任務學習:
- 訓練過程中使用多種損失函數,旨在實現多任務學習,提升模型在音頻生成上的多樣性和表現。模型通過優化這些損失,學會在壓縮和生成質量之間找到平衡。
-
個人化和條件處理:
- 文中提到的可選輸入條件也表明模型能夠在訓練時考慮特定的背景噪音情況。這種條件輸入使得模型在處理不同種類的音頻時,可以選擇性地去噪或增強,從而靈活適應不同的應用場景。
9. Joint Compression and Enhancement(聯合壓縮與增強)
-
壓縮與增強的結合:
- SoundStream模型實現了音頻數據的壓縮和質量增強的聯合處理。通過在編碼過程中引入噪聲去除層(降噪層),模型能夠在保證壓縮率的同時,也提升解碼后音頻的質量。
- 聯合壓縮與增強的設計使得模型不僅僅關注數據壓縮的效率,同時也注重音頻信號的聽覺質量。這樣的處理提升了音頻效果,尤其是在需要高質量輸出的應用中。
-
動態控制:
- SoundStream中的時間依賴性條件層使得音頻解碼過程中的噪聲去除是可控的。這意味著在某些情況下可以選擇啟用或禁用噪聲去除,增加了模型的靈活性。
- 這樣的特點尤其適合處理復雜環境中的音頻數據,比如包含背景噪音的實時錄音。能在合適的時候保留一些背景音,避免丟失可能重要的環境信息。
-
實用性:
- 這種結合設計使得SoundStream成為一個通用的音頻編碼器,能夠在實際應用中高效工作,滿足多種音頻處理需求。通過優化聯合流程,模型能夠在保持較低比特率的同時,提供優質的音頻輸出。
總結
在本篇文章中,我們詳細分析了SoundStream模型架構,明確其在現代基于神經網絡的低碼率語音編解碼中的重要性。SoundStream為音頻的高效壓縮和高質量重構提供了創新的解決方案,充分展示了聯合壓縮與增強的潛在價值。同時,學術界也在積極推進其他前沿算法的研究,如EnCodec、Mimi-Codec、TAAE、DAC、SNAC、FunCodec和FocalCodec等。這些算法采用的基本架構同樣圍繞編碼器、殘差向量量化、解碼器和鑒別器展開,反映了多樣化的技術創新。通過這些研究成果,低碼率語音編解碼的領域正向著更高效、靈活的方向持續發展,為未來的應用場景奠定了堅實的基礎。