本文作者:kaifamei

音頻處理方法、裝置、設備、存儲介質及計算機程序產品與流程

更新時間:2025-12-27 15:03:02 0條評論

音頻處理方法、裝置、設備、存儲介質及計算機程序產品與流程



1.本技術涉及數據處理技術,尤其涉及一種音頻處理方法、裝置、電子設備、計算機可讀存儲介質及計算機程序產品。


背景技術:



2.音頻編解碼技術是包括遠程音視頻通話在內的通信服務中的一項核心技術。語音編碼技術,簡單講,就是使用較少的網絡帶寬資源去盡量多的傳遞語音信息。從香農信息論的角度來講,語音編碼是一種信源編碼,信源編碼的目的是在編碼端盡可能的壓縮我們想要傳遞信息的數據量,去掉信息中的冗余,同時在解碼端還能夠無損(或接近無損)的恢復出來。
3.然而,對于如何在保證音頻質量的情況下,有效提高音頻編碼的效率,相關技術尚無有效的解決方案。


技術實現要素:



4.本技術實施例提供一種音頻處理方法、裝置、電子設備、計算機可讀存儲介質及計算機程序產品,能夠在保證音頻質量的情況下,提高音頻編碼效率。
5.本技術實施例的技術方案是這樣實現的:
6.本技術實施例提供一種音頻處理方法,包括:
7.對音頻信號進行子帶分解處理,得到所述音頻信號的低頻子帶信號以及高頻子帶信號;
8.對所述低頻子帶信號進行特征提取處理,得到所述低頻子帶信號的低頻特征;
9.對所述高頻子帶信號進行高頻分析處理,得到所述高頻子帶信號的高頻特征;
10.其中,所述高頻特征的特征維度低于所述低頻特征的特征維度;
11.對所述低頻特征進行量化編碼處理,得到所述音頻信號的低頻碼流,并對所述高頻特征進行量化編碼處理,得到所述音頻信號的高頻碼流。
12.本技術實施例提供一種音頻處理方法,包括:
13.對低頻碼流進行量化解碼處理,得到所述低頻碼流對應的低頻特征,并對高頻碼流進行量化解碼處理,得到所述高頻碼流對應的高頻特征;
14.其中,所述低頻碼流以及所述高頻碼流是對音頻信號經過子帶分解處理后得到的子帶信號分別進行編碼得到的,所述高頻特征的特征維度低于所述低頻特征的特征維度;
15.對所述低頻特征進行特征重建處理,得到所述低頻特征對應的低頻子帶信號;
16.對所述高頻特征進行高頻重建處理,得到所述高頻特征對應的高頻子帶信號;
17.對所述低頻子帶信號以及所述高頻子帶信號進行子帶合成處理,得到所述低頻碼流和所述高頻碼流對應的合成音頻信號。
18.本技術實施例提供一種音頻處理裝置,包括:
19.分解模塊,用于對音頻信號進行子帶分解處理,得到所述音頻信號的低頻子帶信
號以及高頻子帶信號;
20.特征提取模塊,用于對所述低頻子帶信號進行特征提取處理,得到所述低頻子帶信號的低頻特征;
21.高頻分析模塊,用于對所述高頻子帶信號進行高頻分析處理,得到所述高頻子帶信號的高頻特征;
22.其中,所述高頻特征的特征維度低于所述低頻特征的特征維度;
23.編碼模塊,用于對所述低頻特征進行量化編碼處理,得到所述音頻信號的低頻碼流,并對所述高頻特征進行量化編碼處理,得到所述音頻信號的高頻碼流。
24.本技術實施例提供一種音頻處理裝置,包括:
25.解碼模塊,用于對低頻碼流進行量化解碼處理,得到所述低頻碼流對應的低頻特征,并對高頻碼流進行量化解碼處理,得到所述高頻碼流對應的高頻特征;
26.其中,所述低頻碼流以及所述高頻碼流是對音頻信號經過子帶分解處理后得到的子帶信號分別進行編碼得到的,所述高頻特征的特征維度低于所述低頻特征的特征維度;
27.特征重建模塊,用于對所述低頻特征進行特征重建處理,得到所述低頻特征對應的低頻子帶信號;
28.高頻重建模塊,用于對所述高頻特征進行高頻重建處理,得到所述高頻特征對應的高頻子帶信號;
29.合成模塊,用于對所述低頻子帶信號以及所述高頻子帶信號進行子帶合成處理,得到所述低頻碼流和所述高頻碼流對應的合成音頻信號。
30.本技術實施例提供一種用于音頻處理的電子設備,所述電子設備包括:
31.存儲器,用于存儲可執行指令;
32.處理器,用于執行所述存儲器中存儲的可執行指令時,實現本技術實施例提供的音頻處理方法。
33.本技術實施例提供一種計算機可讀存儲介質,存儲有可執行指令,用于引起處理器執行時,實現本技術實施例提供的音頻處理方法。
34.本技術實施例提供一種計算機程序產品,包括計算機程序或指令,所述計算機程序或指令被處理器執行時實現本技術實施例提供的音頻處理方法。
35.本技術實施例具有以下有益效果:
36.通過將音頻信號分解為低頻子帶信號以及高頻子帶信號,由于低頻子帶信號相對于高頻子帶信號對音頻編碼的影響更大,因此對低頻子帶信號以及高頻子帶信號進行差異化的信號處理,使得高頻特征的特征維度低于低頻特征的特征維度,對減小了特征維度的低頻特征以及高頻特征分別進行量化編碼,從而在保證音頻質量的情況下,提高音頻編碼效率。
附圖說明
37.圖1是本技術實施例提供的不同碼率下的頻譜比較示意圖;
38.圖2是本技術實施例提供的音頻編解碼系統的架構示意圖;
39.圖3是本技術實施例提供的電子設備的結構示意圖;
40.圖4是本技術實施例提供的音頻處理方法的流程示意圖;
41.圖5是本技術實施例提供的音頻處理方法的流程示意圖;
42.圖6是本技術實施例提供的端到端的語音通信鏈路示意圖;
43.圖7是本技術實施例提供的基于子帶分解和神經網絡的語音編解碼方法的流程示意圖;
44.圖8是本技術實施例提供的濾波器組示意圖;
45.圖9a是本技術實施例提供的普通卷積網絡的示意圖;
46.圖9b是本技術實施例提供的空洞卷積網絡的示意圖;
47.圖10是本技術實施例提供的頻帶擴展的示意圖;
48.圖11是本技術實施例提供的第一神經網絡的示意圖;
49.圖12是本技術實施例提供的針對高頻子帶信號的神經網絡結構的示意圖;
50.圖13是本技術實施例提供的第二神經網絡的示意圖。
具體實施方式
51.為了使本技術的目的、技術方案和優點更加清楚,下面將結合附圖對本技術作進一步地詳細描述,所描述的實施例不應視為對本技術的限制,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本技術保護的范圍。
52.在以下的描述中,所涉及的術語“第一\第二”僅僅是是區別類似的對象,不代表針對對象的特定排序,可以理解地,“第一\第二”在允許的情況下可以互換特定的順序或先后次序,以使這里描述的本技術實施例能夠以除了在這里圖示或描述的以外的順序實施。
53.除非另有定義,本文所使用的所有的技術和科學術語與屬于本技術的技術領域的技術人員通常理解的含義相同。本文中所使用的術語只是為了描述本技術實施例的目的,不是旨在限制本技術。
54.對本技術實施例進行進一步詳細說明之前,對本技術實施例中涉及的名詞和術語進行說明,本技術實施例中涉及的名詞和術語適用于如下的解釋。
55.1)神經網絡(nn,neural network):是一種模仿動物神經網絡行為特征,進行分布式并行信息處理的算法數學模型。這種網絡依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的。
56.2)深度學習(dl,deep learning):是機器學習(ml,machine learning)領域中一個新的研究方向,深度學習是學習樣本數據的內在規律和表示層次,這些學習過程中獲得的信息對諸如文字,圖像和聲音等數據的解釋有很大的幫助。它的最終目標是讓機器能夠像人一樣具有分析學習能力,能夠識別文字、圖像和聲音等數據。
57.3)量化:是指將信號的連續取值(或者大量離散取值)近似為有限多個(或較少的)離散值的過程。其中,量化包括矢量量化(vq,vector quantization)以及標量量化。
58.其中,矢量量化是一種有效的有損壓縮技術,其理論基礎是香農的速率失真理論。矢量量化的基本原理是用碼書中與輸入矢量最匹配的碼字的索引代替輸入矢量進行傳輸與存儲,而解碼時僅需要簡單地查表操作。例如,將若干個標量數據組成一個矢量空間,將矢量空間劃分為若干個小區域,量化時將落入小區域的矢量,使用對應的索引代替輸入矢量。
59.標量量化是對標量進行量化,即一維的矢量量化,將動態范圍分成若干個小區間,
每個小區間有一個代表值(即索引)。當輸入信號落入某區間時,將輸入信號量化成該代表值。
60.4)熵編碼:編碼過程中按熵原理不丟失任何信息的無損編碼方式,也是有損編碼中的一個關鍵模塊,處于編碼器的末端。熵編碼包括香農(shannon)編碼、哈夫曼(huffman)編碼、指數哥倫布編碼(exp-golomb)和算術編碼(arithmetic coding)。
61.5)正交鏡像濾波器組(qmf,quadrature mirror filters):是一個包含分析-合成的濾波器對,其中,qmf分析濾波器用于子帶信號分解,以降低信號帶寬,使各個子帶信號可順利通過各自通道進行處理;qmf合成濾波器用于將解碼端恢復出的各子帶信號進行合成處理,例如通過零值內插和帶通濾波等方式重建出原始的音頻信號。
62.語音編碼技術就是使用較少的網絡帶寬資源去盡量多的傳遞語音信息。語音編解碼器的壓縮率可以達到10倍以上,也就是原本10mb的語音數據經過編碼器的壓縮后,只需要1mb來傳輸,大大降低了傳遞信息所需消耗的帶寬資源。例如,對于采樣率為16000hz的寬帶語音信號,如果采用16-bit采樣深度(取樣中對語音強度記錄的精細程度),無壓縮版本的碼率(單位時間內傳送數據量)為256kbps;如果使用語音編碼技術,即使是有損編碼,在10-20kbps的碼率范圍內,重建的語音信號的質量可以接近無壓縮版本,甚至聽感上認為無差別。如果需要更高采樣率的服務,比如32000hz的超寬帶語音,碼率范圍至少要達到30kbps以上。
63.在通信系統中,為了保證通信的順利,行業內部部署標準的語音編解碼協議,例如來自itu-t、3gpp、ietf、avs、ccsa等國際國內標準組織的標準,g.711、g.722、amr系列、evs、opus等標準。圖1給出一個不同碼率下的頻譜比較示意圖,以示范壓縮碼率與質量的關系。曲線101為原始語音的頻譜曲線,即沒有壓縮的信號;曲線102為opus編碼器在20kbps碼率下的頻譜曲線;曲線103為opus編碼在6kbps碼率下的頻譜曲線。由圖1可知,隨著編碼碼率的提升,壓縮后的信號更為接近原始信號。
64.相關技術中,語音編碼原理大致如下:語音編碼可以直接對語音波形樣本,逐樣本地進行編碼;或者,基于人的發聲原理,提取相關低維度特征,編碼端對特征進行編碼,解碼端基于這些參數重建語音信號。
65.上述編碼原理均來自語音信號建模,即基于信號處理的壓縮方法。為了相對于基于信號處理的壓縮方法,在保證語音質量的情況下,提高編碼效率。本技術實施例提供一種音頻處理方法、裝置、電子設備、計算機可讀存儲介質及計算機程序產品,能夠提高編碼效率。下面說明本技術實施例提供的電子設備的示例性應用,本技術實施例提供的電子設備可以實施為終端設備,也可以實施為服務器,或者由終端設備和服務器協同實施。下面以電子設備實施為終端設備為例進行說明。
66.示例的,參見圖2,圖2是本技術實施例提供的音頻編解碼系統100的架構示意圖,音頻解碼系統100包括:服務器200、網絡300、終端設備400(即編碼端)和終端設備500(即解碼端),其中,網絡300可以是局域網,或者是廣域網,又或者是二者的組合。
67.在一些實施例中,在終端設備400上運行有客戶端410,客戶端410可以是各種類型的客戶端,例如即時通信客戶端、網絡會議客戶端、直播客戶端、瀏覽器等。客戶端410響應于發送方(例如網絡會議的發起者、主播、語音通話的發起者等)觸發的音頻采集指令,調用終端設備400自帶的麥克風進行音頻信號的采集,并對采集得到的音頻信號進行編碼處理,
得到碼流。
68.例如,客戶端410調用本技術實施例提供的音頻處理方法對采集得到的音頻信號進行編碼,即對音頻信號進行子帶分解處理,得到音頻信號的低頻子帶信號以及高頻子帶信號,對低頻子帶信號進行特征提取處理,得到低頻子帶信號的低頻特征,對高頻子帶信號進行高頻分析處理,得到高頻子帶信號的高頻特征,其中,高頻特征的特征維度低于低頻特征的特征維度,對低頻特征進行量化編碼處理,得到音頻信號的低頻碼流,并對高頻特征進行量化編碼處理,得到音頻信號的高頻碼流。編碼端(即終端設備400)對低頻子帶信號以及高頻子帶信號進行差異化的信號處理,使得高頻特征的特征維度低于低頻特征的特征維度,對減小了特征維度的低頻特征以及高頻特征分別進行量化編碼,從而在保證音頻質量的情況下,提高音頻編碼效率。
69.客戶端410可以將碼流(即低頻碼流以及高頻碼流)通過網絡300發送至服務器200,以使服務器200將碼流發送至接收方(例如網絡會議的參會對象、觀眾、語音通話的接收者等)關聯的終端設備500。
70.客戶端510(例如即時通信客戶端、網絡會議客戶端、直播客戶端、瀏覽器等)在接收到服務器200發送的碼流后,可以對碼流進行解碼處理,以得到音頻信號,從而實現音頻通信。
71.例如,客戶端510調用本技術實施例提供的音頻處理方法對接收到的碼流進行解碼,即對低頻碼流進行量化解碼處理,得到低頻碼流對應的低頻特征,并對高頻碼流進行量化解碼處理,得到高頻碼流對應的高頻特征,對低頻特征進行特征重建處理,得到低頻特征對應的低頻子帶信號,對高頻特征進行高頻重建處理,得到高頻特征對應的高頻子帶信號,對低頻子帶信號以及高頻子帶信號進行子帶合成處理,得到解碼出的音頻信號。
72.在一些實施例中,本技術實施例可以借助云技術(cloud technology)實現,云技術是指在廣域網或局域網內將硬件、軟件、網絡等系列資源統一起來,實現數據的計算、存儲、處理和共享的一種托管技術。
73.云技術是基于云計算商業模式應用的網絡技術、信息技術、整合技術、管理平臺技術、以及應用技術等的總稱,可以組成資源池,按需所用,靈活便利。云計算技術將變成重要支撐。上述服務器200之間的服務交互功能可以通過云技術實現。
74.示例的,圖2中示出的服務器200可以是獨立的物理服務器,也可以是多個物理服務器構成的服務器集或者分布式系統,還可以是提供云服務、云數據庫、云計算、云函數、云存儲、網絡服務、云通信、中間件服務、域名服務、安全服務、cdn、以及大數據和人工智能平臺等基礎云計算服務的云服務器。圖2中示出的終端設備400和終端設備500可以是智能手機、平板電腦、筆記本電腦、臺式計算機、智能音箱、智能手表、車載終端等,但并不局限于此。終端設備(例如終端設備400和終端設備500)以及服務器200可以通過有線或無線通信方式進行直接或間接地連接,本技術實施例中不做限制。
75.在一些實施例中,終端設備或服務器200還可以通過運行計算機程序來實現本技術實施例提供的音頻處理方法。舉例來說,計算機程序可以是操作系統中的原生程序或軟件模塊;可以是本地(native)應用程序(app,application),即需要在操作系統中安裝才能運行的程序,如直播app、網絡會議app、或者即時通信app等;也可以是小程序,即只需要下載到瀏覽器環境中就可以運行的程序;還可以是能夠嵌入至任意app中的小程序。總而言
之,上述計算機程序可以是任意形式的應用程序、模塊或插件。
76.在一些實施例中,多個服務器可組成為一區塊鏈,而服務器200為區塊鏈上的節點,區塊鏈中的每個節點之間可以存在信息連接,節點之間可以通過上述信息連接進行信息傳輸。其中,本技術實施例提供的音頻處理方法所相關的數據(例如音頻處理的邏輯、碼流)可保存于區塊鏈上。
77.參見圖3,圖3是本技術實施例提供的電子設備500的結構示意圖,以電子設備500是終端設備為例說明,圖3所示的電子設備500包括:至少一個處理器520、存儲器550、至少一個網絡接口530和用戶接口540。電子設備500中的各個組件通過總線系統550耦合在一起。可理解,總線系統550用于實現這些組件之間的連接通信。總線系統550除包括數據總線之外,還包括電源總線、控制總線和狀態信號總線。但是為了清楚說明起見,在圖3中將各種總線都標為總線系統550。
78.處理器520可以是一種集成電路芯片,具有信號的處理能力,例如通用處理器、數字信號處理器(dsp,digital signal processor),或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等,其中,通用處理器可以是微處理器或者任何常規的處理器等。
79.用戶接口540包括使得能夠呈現媒體內容的一個或多個輸出裝置541,包括一個或多個揚聲器和/或一個或多個視覺顯示屏。用戶接口540還包括一個或多個輸入裝置542,包括有助于用戶輸入的用戶接口部件,比如鍵盤、鼠標、麥克風、觸屏顯示屏、攝像頭、其他輸入按鈕和控件。
80.存儲器550可以是可移除的,不可移除的或其組合。示例性的硬件設備包括固態存儲器,硬盤驅動器,光盤驅動器等。存儲器550可選地包括在物理位置上遠離處理器520的一個或多個存儲設備。
81.存儲器550包括易失性存儲器或非易失性存儲器,也可包括易失性和非易失性存儲器兩者。非易失性存儲器可以是只讀存儲器(rom,read only memory),易失性存儲器可以是隨機存取存儲器(ram,random access memory)。本技術實施例描述的存儲器550旨在包括任意適合類型的存儲器。
82.在一些實施例中,存儲器550能夠存儲數據以支持各種操作,這些數據的示例包括程序、模塊和數據結構或者其子集或超集,下面示例性說明。
83.操作系統551,包括用于處理各種基本系統服務和執行硬件相關任務的系統程序,例如框架層、核心庫層、驅動層等,用于實現各種基礎業務以及處理基于硬件的任務;
84.網絡通信模塊552,用于經由一個或多個(有線或無線)網絡接口530到達其他計算設備,示例性的網絡接口530包括:藍牙、無線相容性認證(wifi)、和通用串行總線(usb,universal serial bus)等;
85.呈現模塊553,用于經由一個或多個與用戶接口540相關聯的輸出裝置541(例如,顯示屏、揚聲器等)使得能夠呈現信息(例如,用于操作外圍設備和顯示內容和信息的用戶接口);
86.輸入處理模塊554,用于對一個或多個來自一個或多個輸入裝置542之一的一個或多個用戶輸入或互動進行檢測以及翻譯所檢測的輸入或互動。
87.在一些實施例中,本技術實施例提供的音頻處理裝置可以采用軟件方式實現,圖3
示出了存儲在存儲器550中的音頻處理裝置555,其可以是程序和插件等形式的軟件,包括以下軟件模塊:分解模塊5551、特征提取模塊5552、高頻分析模塊5553、編碼模塊5554,或解碼模塊5555、特征重建模塊5556、高頻重建模塊5557以及合成模塊5558,其中,分解模塊5551、特征提取模塊5552、高頻分析模塊5553、編碼模塊5554用于實現音頻編碼功能,解碼模塊5555、特征重建模塊5556、高頻重建模塊5557以及合成模塊5558用于實現音頻解碼功能,這些模塊是邏輯上的,因此根據所實現的功能可以進行任意的組合或進一步拆分。
88.如前所述,本技術實施例提供的音頻處理方法可以由各種類型的電子設備實施。參見圖4,圖4是本技術實施例提供的音頻處理方法的流程示意圖,通過音頻處理方式實現音頻編碼功能,下面結合圖4示出的步驟進行說明。
89.在步驟101中,對音頻信號進行子帶分解處理,得到音頻信號的低頻子帶信號以及高頻子帶信號。
90.作為獲取音頻信號的示例,編碼端響應于發送方(例如網絡會議的發起者、主播、語音通話的發起者等)觸發的音頻采集指令,調用編碼端的終端設備自帶的麥克風進行音頻信號的采集,以獲取音頻信號(又稱輸入信號)。
91.在獲取音頻信號后,通過qmf分析濾波器將音頻信號分解成低頻子帶信號x
lb
(n)和高頻子帶信號x
hb
(n),由于低頻子帶信號相對于高頻子帶信號對音頻編碼的影響更大,以便后續對低頻子帶信號以及高頻子帶信號進行差異化的信號處理。
92.在一些實施例中,對音頻信號進行子帶分解處理,得到音頻信號的低頻子帶信號以及高頻子帶信號,包括:對音頻信號進行采樣處理,得到采樣信號,其中,采樣信號包括采樣得到的多個樣本點;對采樣信號進行低通濾波處理,得到低通濾波信號;對低通濾波信號進行下采樣處理,得到音頻信號的低頻子帶信號;對采樣信號進行高通濾波處理,得到高通濾波信號;對高通濾波信號進行下采樣處理,得到音頻信號的高頻子帶信號。
93.需要說明的是音頻信號為連續的模擬信號,采樣信號為離散的數字信號,采樣點為從音頻信號中采樣得到的采樣值。
94.作為示例,以音頻信號為采樣率fs=32000hz的輸入信號為例,對音頻信號進行采樣,得到包括640個樣本點的采樣信號x(n)。調用qmf濾波器組中的分析濾波器(2通道),對采樣信號進行低通濾波處理,得到低通濾波信號,對采樣信號進行高通濾波處理,得到高通濾波信號,對低通濾波信號進行下采樣處理,得到音頻信號的低頻子帶信號x
lb
(n),對高通濾波信號進行下采樣處理,得到音頻信號的高頻子帶信號x
hb
(n)。低頻子帶信號x
lb
(n)和高頻子帶信號x
hb
(n)的有效帶寬分別是0-8khz和8-16khz,低頻子帶信號x
lb
(n)和高頻子帶信號x
hb
(n)的樣本點數為320。
95.需要說明的是,qmf濾波器組是一個包含分析-合成的濾波器對。對于qmf分析濾波器,可以將輸入的采樣率為fs的信號分解成兩路采樣率為fs/2的信號,分別表示qmf低通信號和qmf高通信號。解碼端恢復出的低通信號和高通信號后,經過qmf合成濾波器進行合成處理,即可以恢復出輸入信號對應的采樣率fs的重建信號。
96.在步驟102中,對低頻子帶信號進行特征提取處理,得到低頻子帶信號的低頻特征。
97.例如,由于低頻子帶信號相對于高頻子帶信號對音頻編碼的影響更大,因此可以通過神經網絡模型對低頻子帶信號進行特征提取處理,得到低頻子帶信號的低頻特征,以
在保證低頻特征的完備性的情況下,盡量減小低頻特征的特征維度。本技術實施例并不局限于神經網絡模型的結構。其中,低頻子帶信號的低頻特征的維度小于低頻子帶信號的維度。
98.在一些實施例中,對低頻子帶信號進行特征提取處理,得到低頻子帶信號的低頻特征,包括:對低頻子帶信號進行卷積處理,得到低頻子帶信號的卷積特征;對卷積特征進行池化處理,得到低頻子帶信號的池化特征;對池化特征進行下采樣處理,得到低頻子帶信號的下采樣特征;對下采樣特征進行卷積處理,得到低頻子帶信號的低頻特征。
99.如圖11所示,基于低頻子帶信號x
lb
(n)調用神經網絡模型,生成更低維度的特征向量f
lb
(n),即低頻特征。首先,通過因果卷積對輸入的低頻子帶信號x
lb
(n)進行卷積處理,得到24
×
320的卷積特征。然后,對24
×
320的卷積特征進行因子為2的池化處理(即預處理),得到24
×
160的池化特征。接下來,對24
×
160的池化特征進行下采樣處理,得到192
×
1的下采樣特征。最后,對192
×
1的下采樣特征,再經過因果卷積進行卷積處理,可以得到一個56維的特征向量f
lb
(n)。
100.在一些實施例中,下采樣處理是通過多個級聯的編碼層實現的;對池化特征進行下采樣處理,得到低頻子帶信號的下采樣特征,包括:通過多個級聯的編碼層中的第一個編碼層,對池化特征進行下采樣處理;將第一個編碼層的下采樣結果輸出到后續級聯的編碼層,通過后續級聯的編碼層繼續進行下采樣處理和下采樣結果輸出,直至輸出到最后一個編碼層;將最后一個編碼層輸出的下采樣結果作為低頻子帶信號的下采樣特征。
101.如圖11所示,級聯3個不同下采樣因子(down_factor)的編碼塊(即編碼層)對池化特征進行下采樣處理,即先通過下采樣因子(down_factor=4)的編碼塊對24
×
160的池化特征進行下采樣處理,得到48
×
40的下采樣結果,然后通過下采樣因子(down_factor=5)的編碼塊對48
×
40的下采樣結果進行下采樣處理,得到96
×
8的下采樣結果,最后通過下采樣因子(down_factor=8)的編碼塊對96
×
8的下采樣結果進行下采樣處理,得到192
×
1的下采樣特征。以編碼塊(down_factor=4)為例,可以先執行1個或者多個空洞卷積,并基于down_factor進行池化,以實現下采樣的作用。
102.需要說明的是,通過一層編碼層的處理后,對下采樣特征的理解就加深一步,通過多層編碼層的學習后,就能夠逐步準確學習到低頻子帶信號的下采樣特征。通過級聯形式的編碼層,能夠獲取精度漸進的低頻子帶信號的下采樣特征。
103.在步驟103中,對高頻子帶信號進行高頻分析處理,得到高頻子帶信號的高頻特征。
104.其中,高頻特征的特征維度低于低頻特征的特征維度。由于低頻子帶信號相對于高頻子帶信號對音頻編碼的影響更大,因此對低頻子帶信號以及高頻子帶信號進行差異化的信號處理,使得高頻特征的特征維度低于低頻特征的特征維度。其中,高頻子帶信號的低頻特征的維度小于高頻子帶信號的維度,高頻分析處理用于對高頻子帶信號進行降維,實現數據壓縮的功能。
105.在一些實施例中,對高頻子帶信號進行高頻分析處理,得到高頻子帶信號的高頻特征,包括:調用第一神經網絡模型,通過第一神經網絡模型對高頻子帶信號進行特征提取處理,得到高頻子帶信號的高頻特征。
106.例如,對高頻子帶信號可以調用與針對低頻子帶信號的神經網絡模型類似的第一
神經網絡模型(如圖12所示),通過第一神經網絡模型對高頻子帶信號進行卷積處理,得到高頻子帶信號的卷積特征;對卷積特征進行池化處理,得到高頻子帶信號的池化特征;對池化特征進行下采樣處理,得到高頻子帶信號的下采樣特征;對下采樣特征進行卷積處理,得到高頻子帶信號的低頻特征。
107.需要說明的是,相對低頻子帶信號,高頻子帶信號對質量的重要程度相對低,因此,針對高頻子帶信號的第一神經網絡模型(圖12)的結構也無需像圖11所示的模型結構那么復雜。相比圖11所示的模型結構,圖12所示的模型結構大幅度減少通道數。
108.在一些實施例中,對高頻子帶信號進行高頻分析處理,得到高頻子帶信號的高頻特征,包括:對高頻子帶信號進行頻帶擴展處理,得到高頻子帶信號的高頻特征。
109.例如,由于相對低頻子帶信號,高頻子帶信號對質量的重要程度相對低,因此可以通過另一種方法壓縮高頻子帶信號,即頻帶擴展(從頻帶受限的窄帶語音信號中恢復寬帶語音信號),以快速壓縮高頻子帶信號,提取高頻子帶信號的高頻特征。
110.在一些實施例中,對高頻子帶信號進行頻帶擴展處理,得到高頻子帶信號的高頻特征,包括:基于高頻子帶信號包括的多個樣本點進行頻域變換處理,得到多個樣本點分別對應的變換系數;將多個樣本點分別對應的變換系數劃分為多個子帶;對每個子帶包括的變換系數進行均值處理,得到每個子帶對應的平均能量,并將平均能量作為每個子帶對應的子帶譜包絡;將多個子帶分別對應的子帶譜包絡確定為高頻子帶信號的高頻特征。
111.需要說明的是,本技術實施例的頻域變換方法包括改進型離散余弦變換(mdct,modified discrete cosine transform)、離散余弦變換(dct,discrete cosine transform)、快速傅立葉變換(fft,fast fourier transform)等,本技術實施例并不局限于頻域變換的方式。本技術實施例的均值處理包括算術平均、幾何平均,本技術實施例并不局限于均值處理的方式。
112.在一些實施例中,基于高頻子帶信號包括的多個樣本點進行頻域變換處理,得到多個樣本點分別對應的變換系數,包括:獲取參考音頻信號的參考高頻子帶信號,其中,參考音頻信號是與音頻信號相鄰的音頻信號;基于參考高頻子帶信號包括的多個樣本點以及高頻子帶信號包括的多個樣本點,對高頻子帶信號包括的多個樣本點進行離散余弦變換處理,得到高頻子帶信號包括的多個樣本點分別對應的變換系數。
113.在一些實施例中,對每個子帶包括的變換系數進行幾何均值處理的過程如下:確定每個子帶包括的樣本點對應的變換系數的平方和;將平方和與子帶包括的樣本點的數量的比值,確定為得到每個子帶對應的平均能量。
114.作為示例,對于包括320點的高頻子帶信號x
hb
(n),調用改進型離散余弦變換(mdct,modified discrete cosine transform),生成320個點的mdct系數(即高頻子帶信號包括的多個樣本點分別對應的變換系數)。具體地,如果是50%交疊,可以將第n+1幀高頻數據(即參考音頻信號)與第n幀高頻數據(即音頻信號)合并(拼接),計算640個點的mdct,獲得320個點的mdct系數。
115.將320個點的mdct系數分成n個子帶(即將多個樣本點分別對應的變換系數劃分為多個子帶),這里的子帶就是將相鄰的多個mdct系數組成一組,320個點的mdct系數可以分成8個子帶。例如,可以均勻分配320個點,即每個子帶包括的點的數量一致。當然,本技術實施例不可以對320個點進行非均勻劃分,比如偏低頻的子帶包括的mdct系數更少(頻率分辨
率更高),偏高頻的子帶包括的mdct系數更多(頻率分辨率更低)。
116.根據奈奎斯特(nyquist)采樣定律(要從抽樣信號中無失真地恢復原信號,抽樣頻率應大于2倍原信號最高頻率,抽樣頻率小于2倍頻譜最高頻率時,信號的頻譜有混疊,抽樣頻率大于2倍頻譜最高頻率時,信號的頻譜無混疊),上述320個點的mdct系數表示了8-16khz的頻譜。但超寬帶語音通信,不一定要求頻譜到16khz,比如,如果設置頻譜到14khz,只需要考慮前240個點的mdct系數,對應地,子帶數可以控制為6。
117.對于每一個子帶,計算當前子帶中所有mdct系數的平均能量(即對每個子帶包括的變換系數進行均值處理)作為子帶譜包絡(頻譜包絡是經過頻譜各主峰值點的平滑曲線),比如,當前子帶中包括的mdct系數為x(n),n=1,2,

,40,則通過幾何均值計算平均能量y=((x(1)2+x(2)2+

+x(40)2)/40)。對于320個點的mdct系數分成8個子帶的情況,可以獲得8個子帶譜包絡,這8個子帶譜包絡就是生成的高頻子帶信號的特征向量f
hb
(n),即高頻特征。
118.在步驟104中,對低頻特征進行量化編碼處理,得到音頻信號的低頻碼流,并對高頻特征進行量化編碼處理,得到音頻信號的高頻碼流。
119.例如,對低頻子帶信號以及高頻子帶信號進行差異化的信號處理,使得高頻特征的特征維度低于低頻特征的特征維度,對減小了特征維度的低頻特征以及高頻特征分別進行量化編碼,并傳輸高頻碼流以及低頻碼流至解碼端,通過解碼端對高頻碼流以及低頻碼流進行解碼,以恢復出音頻信號,從而在保證音頻質量的情況下,提高音頻編碼效率。
120.在一些實施例中,對低頻特征進行量化編碼處理,得到音頻信號的低頻碼流,包括:對低頻特征進行量化處理,得到低頻特征的索引值;對低頻特征的索引值進行熵編碼處理,得到音頻信號的低頻碼流;對高頻特征進行量化編碼處理,得到音頻信號的高頻碼流,包括:對高頻特征進行量化處理,得到高頻特征的索引值;對高頻特征的索引值進行熵編碼處理,得到音頻信號的高頻碼流。
121.例如,對于低頻子帶信號的特征向量f
lb
(n)和高頻子帶信號的特征向量f
hb
(n),均可以進行標量量化(各分量單獨量化)和熵編碼的方法。另外,本技術實施例也不限制矢量量化(相鄰多個分量組合成一個矢量進行聯合量化)和熵編碼的技術組合,將編碼得到的高頻碼流以及低頻碼流傳輸至解碼端,通過解碼端對高頻碼流以及低頻碼流進行解碼。
122.如前所述,本技術實施例提供的音頻處理方法可以由各種類型的電子設備實施。參見圖5,圖5是本技術實施例提供的音頻處理方法的流程示意圖,通過音頻處理方式實現音頻解碼功能,下面結合圖5示出的步驟進行說明。
123.在步驟201中,對低頻碼流進行量化解碼處理,得到低頻碼流對應的低頻特征,并對高頻碼流進行量化解碼處理,得到高頻碼流對應的高頻特征。
124.其中,低頻碼流以及高頻碼流是對音頻信號經過子帶分解處理后得到的子帶信號分別進行編碼得到的,高頻特征的特征維度低于低頻特征的特征維度。
125.例如,通過如圖4所示的音頻處理方法編碼得到高頻碼流以及低頻碼流后,將編碼得到的高頻碼流以及低頻碼流傳輸至解碼端,解碼端接收到高頻碼流以及低頻碼流后,對低頻碼流進行量化解碼處理,得到低頻碼流對應的低頻特征,并對高頻碼流進行量化解碼處理,得到高頻碼流對應的高頻特征。
126.需要說明的是,量化解碼是量化編碼的逆過程。對于收到碼流,先進行熵解碼,并
通過查量化表(即逆量化,量化表為編碼過程中量化所產生的映射表),獲得低頻的特征向量的估計值f

lb
(n),即低頻碼流對應的低頻特征,獲得高頻的特征向量的估計值f

hb
(n),即高頻碼流對應的高頻特征。需要說明的是,解碼端對接收到的碼流進行解碼的過程是編碼端進行編碼的過程的逆過程,因此,解碼過程中產生的值是相對于編碼過程中的值的估計值,例如解碼過程中產生的高頻特征相對于編碼過程中的高頻特征是一種估計值。
127.例如,對低頻碼流進行量化解碼處理,得到低頻碼流對應的低頻特征,包括:對低頻碼流進行熵解碼處理,得到低頻碼流對應的索引值;對低頻碼流對應的索引值進行逆量化處理,得到低頻碼流對應的低頻特征;對高頻碼流進行量化解碼處理,得到高頻碼流對應的高頻特征,包括:對高頻碼流進行熵解碼處理,得到高頻碼流對應的索引值;對高頻碼流對應的索引值進行逆量化處理,得到高頻碼流對應的高頻特征。
128.在步驟202中,對低頻特征進行特征重建處理,得到低頻特征對應的低頻子帶信號。
129.例如,特征重建是特征提取的逆過程,對低頻特征進行特征重建處理,得到低頻特征對應的低頻子帶信號(一種估計值)。
130.在一些實施例中,對低頻特征進行特征重建處理,得到低頻特征對應的低頻子帶信號,包括:對低頻特征進行卷積處理,得到低頻特征的卷積特征;對卷積特征進行上采樣處理,得到低頻特征的上采樣特征;對上采樣特征進行池化處理,得到低頻特征的池化特征;對池化特征進行卷積處理,得到低頻特征對應的低頻子帶信號。
131.如圖13所示,基于低頻特征向量f

lb
(n),調用如圖13所示的神經網絡模型,生成低頻子帶信號x

lb
(n)。其中,如圖13所示的神經網絡模型與如圖11所示的神經網絡模型類似,比如因果卷積、后處理結構與預處理類似。解碼塊的結構與編碼端的編碼塊是對稱地:編碼端的編碼塊是先做空洞卷積再池化完成下采樣,解碼端的解碼塊是先進行池化完成上采樣,再做空洞卷積。
132.首先,通過因果卷積對輸入的低頻特征向量f

lb
(n)進行卷積處理,得到192
×
1的卷積特征。然后,對192
×
1的卷積特征進行上采樣處理,得到24
×
160的上采樣特征。接下來,對24
×
160的上采樣特征進行池化處理(即后處理),得到24
×
320的池化特征。最后,對池化特征,再經過因果卷積進行卷積處理,可以得到一個320維的低頻子帶信號x

lb
(n)。
133.在一些實施例中,上采樣處理是通過多個級聯的解碼層實現的;對卷積特征進行上采樣處理,得到低頻特征的上采樣特征,包括:通過多個級聯的解碼層中的第一個解碼層,對卷積特征進行上采樣處理;將第一個解碼層的上采樣結果輸出到后續級聯的解碼層,通過后續級聯的解碼層繼續進行上采樣處理和上采樣結果輸出,直至輸出到最后一個解碼層;將最后一個解碼層輸出的上采樣結果作為低頻特征的上采樣特征。
134.如圖13所示,級聯3個不同上采樣因子(up_factor)的解碼塊(即解碼層)對卷積特征進行上采樣處理,即先通過上采樣因子(up_factor=8)的解碼塊對192
×
1的卷積特征進行上采樣處理,得到96
×
8的上采樣結果,然后通過上采樣因子(up_factor=5)的解碼塊對96
×
8的上采樣結果進行上采樣處理,得到48
×
40的上采樣結果,最后通過上采樣因子(up_factor=4)的解碼塊對48
×
40的上采樣結果進行上采樣處理,得到24
×
160的上采樣特征。以解碼塊(up_factor=4)為例,可以先并基于up_factor進行池化,然后執行1個或者多個空洞卷積,以實現上采樣的作用。
135.需要說明的是,通過一層解碼層的處理后,對上采樣特征的理解就加深一步,通過多層解碼層的學習后,就能夠逐步準確學習到低頻特征的上采樣特征。通過級聯形式的解碼層,能夠獲取精度漸進的低頻特征的上采樣特征。
136.在步驟203中,對高頻特征進行高頻重建處理,得到高頻特征對應的高頻子帶信號。
137.例如,高頻重建是高頻分析的逆過程,通過高頻重建處理對高頻特征進行升維,實現數據解壓的功能。
138.在一些實施例中,對高頻特征進行高頻重建處理,得到高頻特征對應的高頻子帶信號,包括:調用第二神經網絡模型,通過第二神經網絡模型對高頻特征進行特征重建處理,得到高頻特征對應的高頻子帶信號。
139.例如,當編碼端是對高頻子帶信號進行特征提取,獲得高頻特征時,則解碼端對高頻特征進行特征重建處理,得到高頻特征對應的高頻子帶信號。
140.在一些實施例中,對高頻特征進行高頻重建處理,得到高頻特征對應的高頻子帶信號,包括:對高頻特征進行頻帶擴展的逆處理,得到高頻特征對應的高頻子帶信號。
141.例如,當編碼端是對高頻子帶信號進行頻帶擴展,獲得高頻特征時,則解碼端對高頻特征進行頻帶擴展的逆處理,得到高頻特征對應的高頻子帶信號。
142.在一些實施例中,對高頻特征進行頻帶擴展的逆處理,得到高頻特征對應的高頻子帶信號,包括:基于低頻子帶信號包括的多個樣本點進行頻域變換處理,得到多個樣本點分別對應的變換系數;對多個樣本點分別對應的變換系數中的后半部分的變換系數進行頻譜復制處理,得到參考高頻子帶信號的參考變換系數;基于高頻特征對應的子帶譜包絡,對參考高頻子帶信號的參考變換系數進行增益處理,得到增益后的參考變換系數;對增益后的參考變換系數進行反頻域變換處理,得到高頻特征對應的高頻子帶信號。
143.需要說明的是,本技術實施例的頻域變換方法包括改進型離散余弦變換(mdct,modified discrete cosine transform)、離散余弦變換(dct,discrete cosine transform)、快速傅立葉變換(fft,fast fourier transform)等,本技術實施例并不局限于頻域變換的方式。
144.在一些實施例中,基于高頻特征對應的子帶譜包絡,對參考高頻子帶信號的參考變換系數進行增益處理,得到增益后的參考變換系數,包括:基于高頻特征對應的子帶譜包絡,將參考高頻子帶信號的參考變換系數劃分為多個子帶;針對多個子帶中的任意子帶執行以下處理:確定子帶譜包絡中與子帶對應的第一平均能量,并確定子帶對應的第二平均能量;基于第一平均能量與第二平均能量的比值,確定增益因子;將增益因子與子帶包括的每個參考變換系數相乘,得到增益后的參考變換系數。
145.作為示例,先將解碼端生成的低頻子帶信號x

lb
(n),也進行編碼端類似的640點的mdct變換,生成320個點的mdct系數(即低頻部分的mdct系數),即基于低頻子帶信號包括的多個樣本點進行頻域變換處理,得到多個樣本點分別對應的變換系數。
146.然后,將由x

lb
(n)生成的320個點的mdct系數進行復制,生成高頻部分的mdct系數(即參考高頻子帶信號的參考變換系數)。參考語音信號基本特征,低頻部分諧波更多,高頻部分諧波更少。因此,為了避免簡單復制,造成人工生成的高頻部分的mdct譜包含過多諧波,可以將低頻子帶信號依賴的320個點的mdct系數中的后160點作為母版,頻譜拷貝2次,
生成320個點的參考高頻子帶信號的mdct系數的參考值(即參考高頻子帶信號的參考變換系數),即對多個樣本點分別對應的變換系數中的后半部分的變換系數進行頻譜復制處理,得到參考高頻子帶信號的參考變換系數。
147.接下來,調用前面獲得的8個子帶譜包絡(即通過查詢量化表后得到的8個子帶譜包絡,即高頻特征對應的子帶譜包絡),這8個子帶譜包絡對應8個高頻子帶,并將生成的320個點的參考高頻子帶信號的mdct系數的參考值分為8個參考高頻子帶(即將參考高頻子帶信號的參考變換系數劃分為多個子帶),分帶地,基于一個高頻子帶與對應的參考高頻子帶,對生成的320點的參考高頻子帶信號的mdct系數的參考值進行增益控制(頻域上就是做乘法),例如根據高頻子帶的平均能量(即第一平均能量)與對應的參考高頻子帶的平均能量(第二平均能量)計算增益因子,將該對應的參考高頻子帶中的每個點對應的mdct系數乘以增益因子,確保解碼虛擬生成的高頻mdct系數的能量,與編碼端原始的系數能量接近。
148.例如,假定復制過去生成的參考高頻子帶信號的高頻子帶的平均能量是y_l,當前要做增益控制的高頻子帶(即基于碼流解碼出來的子帶譜包絡對應的高頻子帶)的平均能量是y_h,則計算一個增益因子a=sqrt(y_h/y_l)。有了增益因子a后,直接將從復制生成的參考高頻子帶中的每個點均乘以a。
149.最后,調用mdct反變換,生成高頻子帶信號的估計值x

hb
(n)(即高頻特征對應的高頻子帶信號)。對增益后的320點的mdct系數進行mdct反變換,生成640個點的估計值,通過交疊,取有效的前320個點的估計值作為x

hb
(n)。
150.在步驟204中,對低頻子帶信號以及高頻子帶信號進行子帶合成處理,得到低頻碼流和高頻碼流對應的合成音頻信號。
151.例如,子帶合成處理是子帶分解處理的逆過程,解碼端對低頻子帶信號以及高頻子帶信號進行子帶合成處理,以恢復出音頻信號,其中合成音頻信號即為恢復出的音頻信號。
152.在一些實施例中,對低頻子帶信號以及高頻子帶信號進行子帶合成處理,得到低頻碼流和高頻碼流對應的合成音頻信號,包括:對低頻子帶信號進行上采樣處理,得到低通濾波信號;對高頻子帶信號進行上采樣處理,得到高頻濾波信號;對低通濾波信號以及高頻濾波信號進行濾波合成處理,得到合成音頻信號。
153.例如,在獲取低頻子帶信號以及高頻子帶信號后,通過qmf合成濾波器對低頻子帶信號以及高頻子帶信號進行子帶合成以恢復出音頻信號。
154.下面,將說明本技術實施例在一個實際的應用場景中的示例性應用。
155.本技術實施例可以應用于各種音頻場景,例如語音通話、即時通信等。下面以語音通話為例進行說明:
156.相關技術中,語音編碼原理大致如下:語音編碼可以直接對語音波形樣本,逐樣本地進行編碼;或者,基于人的發聲原理,提取相關低維度特征,編碼端對特征進行編碼,解碼端基于這些參數重建語音信號。
157.上述編碼原理均來自語音信號建模,即基于信號處理的壓縮方法。為了相對于基于信號處理的壓縮方法,在保證語音質量的情況下,提高編碼效率。本技術實施例提供基于子帶分解和神經網絡的語音編解碼方法(即音頻處理方法),基于語音信號特點,將特定采樣率的語音信號,分解成低頻子帶信號和高頻子帶信號,不同的子帶信號可以采用不同的
數據壓縮機制進行壓縮。對于重要的部分(低頻子帶信號),基于神經網絡(nn,neural network)技術進行處理后,會得到比輸入的低頻子帶信號更低維度的特征向量。對于相對不重要的部分(高頻子帶信號),使用更少的比特進行編碼。
158.本技術實施例可應用于如圖6所示的語音通信鏈路,以基于網際互連協議的語音傳輸(voip,voice over internet protocol)會議系統為例,將本技術實施例涉及的語音編解碼技術部署在編碼和解碼部分,以解決語音壓縮的基本功能。編碼器部署在上行客戶端601,解碼器部署在下行客戶端602,通過上行客戶端采集語音,并進行前處理增強、編碼等處理,將編碼得到的碼流通過網絡傳輸至下行客戶端602,通過下行客戶端602進行解碼、增強等處理,以在下行客戶端602回放解碼出的語音。
159.考慮前向兼容(即新的編碼器與已有的編碼器兼容),需要在系統的后臺(即服務器)部署轉碼器,以解決新的編碼器與已有的編碼器互聯互通問題。例如,如果發送端(上行客戶端)是新的nn編碼器,接收端(下行客戶端)是公用電話交換網(pstn,public switched telephone network)(g.722)。在后臺,需要執行nn解碼器生成語音信號,然后調用g.722編碼器生成特定碼流,以實現轉碼功能,才能讓接收端基于特定碼流進行正確解碼。
160.下面結合圖7說明本技術實施例提供的基于子帶分解和神經網絡的語音編解碼方法:
161.對于編碼端執行如下處理:
162.對第n幀的輸入語音信號x(n),使用分析濾波器分解為低頻子帶信號x
lb
(n)和高頻子帶信號x
hb
(n)。
163.對于低頻子帶信號x
lb
(n),調用第一nn,獲得低維度的特征向量f
lb
(n),特征向量f
lb
(n)的維度小于低頻子帶信號的維度,以減少數據量。例如,對于每幀x
lb
(n),調用空洞卷積網絡(dilated cnn),生成更低維的特征向量f
lb
(n)。本技術實施例不限制其它的nn結構,例如自編碼器(autoencoder),全連接(fc,full-connection)網絡,長短期記憶(lstm,long short-term memory)網絡、卷積神經網絡(cnn,convolutional neural network)+lstm等等。
164.對于高頻子帶信號x
hb
(n),考慮到高頻對質量的重要性沒有低頻那么重要,高頻子帶信號x
hb
(n)可以采用其它方案提取特征向量f
hb
(n)。例如,基于語音信號分析的頻帶擴展技術,可以只用1-2kbps碼率實現高頻子帶信號的生成;還可以使用與低頻子帶信號一樣的nn結構或者更精簡的網絡(比如輸出的特征向量比低頻的特征向量f
lb
(n)更小)。
165.對子帶對應的特征向量(即f
lb
(n)以及f
hb
(n))進行矢量量化或者標量量化,并將量化后的索引值進行熵編碼,并編碼后得到的碼流傳輸到解碼端。
166.對于解碼端執行如下處理:
167.對解碼端接收到碼流進行解碼,分別獲得低頻的特征向量的估計值f

lb
(n)和高頻的特征向量的估計值f

hb
(n)。
168.對于低頻部分,基于低頻的特征向量的估計值f

lb
(n)調用第二nn,生成低頻子帶信號估計值x

lb
(n)。
169.對于高頻部分,基于高頻的特征向量的估計值f

hb
(n)調用高頻重建,生成高頻子帶信號估計值x

hb
(n)。
170.最后,調用qmf合成濾波,生成重建的語音信號x

(n)。
171.下面在具體介紹本技術實施例提供的基于子帶分解和神經網絡的語音編解碼方法之前,先介紹qmf濾波器組、空洞卷積網絡以及頻帶擴展技術。
172.qmf濾波器組是一個包含分析-合成的濾波器對。對于qmf分析濾波器,可以將輸入的采樣率為fs的信號分解成兩路采樣率為fs/2的信號,分別表示qmf低通信號和qmf高通信號。如圖8所示的qmf濾波器的低通部分h_low(z)和高通部分h_high(z)的頻譜響應。基于qmf分析濾波器組的相關理論知識,可以容易地描述上述低通濾波和高通濾波的系數之間的相關性,如公式(1)所示:
173.h
high
(k)=-1
khlow
(k)
??
(1)
174.其中,h
low
(k)表示低通濾波的系數,h
high
(k)表示高通濾波的系數。
175.類似地,根據qmf相關理論,可以基于qmf分析濾波器組h_low(z)和h_high(z),描述qmf合成濾波器組,如公式(2)所示。
176.g
low
(z)=h
low
(z)
177.g
high
(z)=(-1)*h
high
(z)
??
(2)
178.其中,g
low
(z)表示恢復出的低通信號,g
high
(z)表示恢復出的高通信號。解碼端恢復出的低通和高通信號,經過qmf合成濾波器組進行合成處理,即可以恢復出輸入信號對應的采樣率fs的重建信號。
179.參見圖9a和圖9b,圖9a是本技術實施例提供的普通卷積網絡的示意圖,圖9b是本技術實施例提供的空洞卷積網絡的示意圖。相對普通卷積網絡,空洞卷積能夠增加感受野的同時保持特征圖的尺寸不變,還可以避免因為上采樣、下采樣引起的誤差。雖然圖9a和圖9b中示出的卷積核大小(kernel size)均為3
×
3;但是,圖9a所示的普通卷積的感受野901只有3,而圖9b所示的空洞卷積的感受野902達到了5。也就是說,對于尺寸為3
×
3的卷積核,圖9a所示的普通卷積的感受野為3、擴張率(dilation rate)(卷積核中的點的間隔數量)為1;而圖9b所示的空洞卷積的感受野為5、擴張率為2。
180.卷積核還可以在類似圖9a或者圖9b的平面上進行移動,這里是涉及移位率(stride rate)(步長)概念。比如,每次卷積核移位1格,則對應的移位率為1。
181.此外,還有卷積通道數的概念,就是用多少個卷積核對應的參數去進行卷積分析。理論上,通道數越多,對信號的分析更為全面,精度越高;但是,通道越高,復雜度也越高。比如,一個1
×
320的張量,可以使用24通道卷積運算,輸出就是24
×
320的張量。
182.需要說明的是,可以根據實際應用需要,自行定義空洞卷積核大小(例如:針對語音信號,卷積核的大小可以設置為1
×
3)、擴張率、移位率和通道數,本技術實施例對此不作具體限定。
183.如圖10所示的頻帶擴展(或者頻帶復制)示意圖,先重建寬帶信號,然后將寬帶信號復制到超寬帶信號上,最后基于超寬帶包絡進行整形,圖10示出的頻域實現方案具體包括:1)在低采樣率下,實現一個核心層編碼;2)選擇低頻部分的頻譜復制到高頻;3)根據提前記錄的邊界信息(描述高頻與低頻的能量相關性等),對復制的高頻頻譜進行增益控制。僅需1-2kbps碼率,就可以產生采樣率翻倍的效果。
184.下面對本技術實施例提供的基于子帶分解和神經網絡的語音編解碼方法進行具體說明。
185.在一些實施例中,以采樣率fs=32000hz的語音信號為例(需要說明的是,本技術
實施例提供的方法也適用于其他采樣率的場景,包括但不限于:8000hz、32000hz、48000hz)。同時,假設幀長設置為20ms,因此,對于fs=32000hz,相當于每幀包含640個樣本點。
186.下面參考圖7所示的流程圖,將編碼端和解碼端進行詳細描述。
187.關于編碼端的流程如下:
188.1、生成輸入信號。
189.針對采樣率fs=32000hz的語音信號,對于第n幀的輸入信號包括640個樣本點,記為輸入信號x(n)。
190.2、qmf信號分解。
191.調用qmf分析濾波器(2通道qmf),進行下采樣,可以獲得兩部分子帶信號,即低頻子帶信號x
lb
(n)和高頻子帶信號x
hb
(n)。低頻子帶信號x
lb
(n)和高頻子帶信號x
hb
(n)的有效帶寬分別是0-8khz和8-16khz,低頻子帶信號x
lb
(n)和高頻子帶信號x
hb
(n)的樣本點數為320。
192.3、將低頻子帶信號x
lb
(n)輸入第一nn進行數據壓縮。
193.基于低頻子帶信號x
lb
(n),調用第一nn,生成更低維度的特征向量f
lb
(n)。需要說明的是,x
lb
(n)的維度為320,f
lb
(n)的維度為56,從數據量看,第一nn起到了“降維”的作用,實現數據壓縮的功能。
194.參見圖11所示的第一nn的網絡結構圖,下面具體說明第一nn進行數據壓縮的流程:
195.首先,調用一個24通道的因果卷積,可以將輸入的張量(即向量),擴展為24
×
320的張量。
196.然后,對24
×
320的張量進行預處理。例如,對24
×
320的張量做因子為2的池化(pooling)操作、且激活函數可以為relu,以生成24乘以160的張量。
197.接下來,級聯3個不同下采樣因子(down_factor)的編碼塊。以編碼塊(down_factor=4)為例,可以先執行1個或者多個空洞卷積,每個卷積核大小均固定為1
×
3、移位率(stride rate)為1。此外,1個或者多個空洞卷積的擴張率(dilation rate)可根據需求設置,比如3,當然,本技術實施例也不限制不同空洞卷積設置的擴展率。然后,3個編碼塊的down_factor分別設置為4、5、8,等效于設置了不同大小的池化因子,起到下采樣的作用。最后,3個編碼塊通道數分別設置為48、96、192。因此,經過3個編碼塊,24
×
160的張量依次轉換成48
×
40、96
×
8和192
×
1的張量。
198.最后,對192
×
1的張量,再經過類似預處理的因果卷積,可以輸出一個56維的特征向量f
lb
(n)。
199.4、對高頻子帶信號x
hb
(n)進行高頻分析。
200.高頻分析的目的是提取高頻子帶信號x
hb
(n)的關鍵信息,生成更低維度的特征向量f
hb
(n)。
201.在一些實施例中,可以參考第3步,引入另一個類似的nn結構,生成低維度的特征向量。相對低頻子帶信號,高頻子帶信號對質量的重要程度相對低,因此,針對高頻子帶信號的nn結構也無需像第一nn那么復雜。如圖12所示的針對高頻子帶信號的nn結構,該nn結構與第一nn的結構類似,但是相比第一nn的結構,大幅度減少通道數。
202.然而,對于高頻子帶信號,雖然通過如圖12所示的nn結構,高頻子帶信號的數據量減少很多(從320維降為8維),但nn結構的模型復雜度不是最優的。因此,本技術實施例提出另一種方法壓縮高頻子帶信號,即頻帶擴展(從頻帶受限的窄帶語音信號中恢復寬帶語音信號)。下面具體介紹本技術實施例中頻帶擴展的應用:
203.對于包括320點的高頻子帶信號x
hb
(n),調用改進型離散余弦變換(mdct,modified discrete cosine transform),生成320個點的mdct系數。具體地,如果是50%交疊,可以將第n+1幀高頻數據與第n幀高頻數據合并(拼接),計算640個點的mdct,獲得320個點的mdct系數。
204.將320個點的mdct系數分成n個子帶,這里的子帶就是將相鄰的多個mdct系數組成一組,320個點的mdct系數可以分成8個子帶。例如,可以均勻分配320個點,即每個子帶包括的點的數量一致。當然,本技術實施例不可以對320個點進行非均勻劃分,比如偏低頻的子帶包括的mdct系數更少(頻率分辨率更高),偏高頻的子帶包括的mdct系數更多(頻率分辨率更低)。
205.根據奈奎斯特(nyquist)采樣定律(要從抽樣信號中無失真地恢復原信號,抽樣頻率應大于2倍原信號最高頻率,抽樣頻率小于2倍頻譜最高頻率時,信號的頻譜有混疊,抽樣頻率大于2倍頻譜最高頻率時,信號的頻譜無混疊),上述320個點的mdct系數表示了8-16khz的頻譜。但超寬帶語音通信,不一定要求頻譜到16khz,比如,如果設置頻譜到14khz,只需要考慮前240個點的mdct系數,對應地,子帶數可以控制為6。
206.對于每一個子帶,計算當前子帶中所有mdct系數的平均能量作為子帶譜包絡(頻譜包絡是經過頻譜各主峰值點的平滑曲線),比如,當前子帶中包括的mdct系數為x(n),n=1,2,...,40,則平均能量y=((x(1)2+x(2)2+...+x(40)2)/40)。對于320個點的mdct系數分成8個子帶的情況,可以獲得8個子帶譜包絡,這8個子帶譜包絡就是生成的高頻子帶信號的特征向量f
hb
(n)。
207.總之,使用上述兩種方法(nn結構和頻帶擴展)中任意一種方法,均可以將320維的高頻子帶信號,輸出為一個8維的特征向量。因此,只需少量數據量,即可表示高頻信息,編碼效率顯著提升。
208.5、量化編碼。
209.對于低頻子帶信號的特征向量f
lb
(n)和高頻子帶信號的特征向量f
hb
(n),均可以進行標量量化(各分量單獨量化)和熵編碼的方法。另外,本技術實施例也不限制矢量量化(相鄰多個分量組合成一個矢量進行聯合量化)和熵編碼的技術組合。
210.對特征向量進行量化編碼后,可以生成對應的碼流。根據實驗,通過6-10kbps碼率就可以對32khz超寬帶信號實現高質量壓縮。
211.關于解碼端的流程如下:
212.1、量化解碼。
213.量化解碼是量化編碼的逆過程。對于收到碼流,先進行熵解碼,并通過查量化表,獲得低頻的特征向量的估計值f

lb
(n)和高頻的特征向量的估計值f

hb
(n)。
214.2、將低頻的特征向量的估計值f

lb
(n)輸入第二nn。
215.基于低頻的特征向量的估計值f

lb
(n),調用如圖13所示的第二nn,生成低頻子帶信號的估計值x

lb
(n)。
216.其中,第二nn與第一nn類似,比如因果卷積、第二nn中的后處理結構與第一nn中的預處理類似。解碼塊的結構與編碼端的編碼塊是對稱地:編碼端的編碼塊是先做空洞卷積再池化完成下采樣,解碼端的解碼塊是先進行池化完成上采樣,再做空洞卷積。
217.3、對高頻的特征向量的估計值f

hb
(n)進行高頻重建。
218.與編碼端的高頻分析類似,本技術實施例中的高頻重建包含兩種方案。
219.高頻重建的第一種實現,對應于編碼端中高頻分析的第一種實現(對應圖12所示的nn結構)。基于高頻的特征向量的估計值f

hb
(n),調用深度神經網絡,生成高頻子帶信號的估計值x

hb
(n)。
220.深度神經網絡的結構與高頻分析的第一種實現(圖12)類似,比如因果卷積,后處理結構類似于高頻分析的第一種實現中的預處理。
221.解碼塊結構與編碼端的編碼塊是對稱地:編碼端的編碼塊是先做空洞卷積再池化完成下采樣,解碼端的解碼塊是先進行池化完成上采樣,再做空洞卷積。
222.高頻重建的第二種實現,對應于編碼端高頻分析的第一種實現(對應頻帶擴展技術)。基于碼流中解碼出來的8個子帶譜包絡,即高頻的特征向量的估計值f

hb
(n)進行如下操作:
223.先將解碼端生成的低頻子帶信號的估計值x

lb
(n),也進行編碼端類似的640點的mdct變換,生成320個點的mdct系數(即低頻部分的mdct系數)。
224.然后,將由x

lb
(n)生成的320個點的mdct系數進行復制,生成高頻部分的mdct系數。參考語音信號基本特征,低頻部分諧波更多,高頻部分諧波更少。因此,為了避免簡單復制,造成人工生成的高頻部分的mdct譜包含過多諧波,可以將低頻子帶依賴的320個點的mdct系數中的后160點作為母版,頻譜拷貝2次,生成320個點的高頻子帶信號的mdct系數的參考值。
225.接下來,調用前面獲得的8個子帶譜包絡(即通過查詢量化表后得到的8個子帶譜包絡),這8個子帶譜包絡對應8個高頻子帶,并將生成的320個點的高頻子帶信號的mdct系數的參考值分為8個參考高頻子帶,分帶地,基于一個高頻子帶與對應的參考高頻子帶,對生成的320點的高頻子帶信號的mdct系數的參考值進行增益控制(頻域上就是做乘法),例如根據高頻子帶的平均能量與對應的參考高頻子帶的平均能量計算增益因子,將該對應的參考高頻子帶中的每個點對應的mdct系數乘以增益因子,確保解碼虛擬生成的高頻mdct系數的能量,與編碼端原始的系數能量接近。
226.例如,假定復制過去生成的高頻子帶信號的高頻子帶的平均能量是y_l,當前要做增益控制的高頻子帶(即基于碼流解碼出來的子帶譜包絡對應的高頻子帶)的平均能量是y_h,則計算一個增益因子a=sqrt(y_h/y_l)。有了增益因子a后,直接將從復制生成的高頻子帶中的每個點均乘以a。
227.最后,調用mdct反變換,生成高頻子帶信號的估計值x

hb
(n)。對增益后的320點的mdct系數進行mdct反變換,生成640個點的估計值,通過交疊,取有效的前320個點的估計值作為x

hb
(n)。
228.4、合成濾波器
229.在解碼端獲得了低頻子帶信號的估計值x

lb
(n)和高頻子帶信號的估計值x

hb
(n)之后,只需要上采樣并調用qmf合成濾波器,就可以生成640個點的重建信號x

(n)。
230.本技術實施例可以通過采集數據,對編碼端和解碼端的相關網絡進行聯合訓練,獲得最優參數。用戶僅需準備好數據和設置相應的網絡結構,在后臺完成訓練后,即可將訓練好的模型投入使用。
231.綜上,本技術實施例提供的基于子帶分解和神經網絡的語音編解碼方法通過信號分解、信號處理技術與深度神經網絡的有機結合,在保證音頻質量、且復雜度可接受的情況下,較信號處理方案顯著提升提高編碼效率。
232.至此已經結合本技術實施例提供的終端設備的示例性應用和實施,說明本技術實施例提供的音頻處理方法。本技術實施例還提供音頻處理裝置,實際應用中,音頻處理裝置中的各功能模塊可以由電子設備(如終端設備、服務器或服務器集)的硬件資源,如處理器等計算資源、通信資源(如用于支持實現光纜、蜂窩等各種方式通信)、存儲器協同實現。圖3示出了存儲在存儲器550中的音頻處理裝置555,其可以是程序和插件等形式的軟件,例如,軟件c/c++、java等編程語言設計的軟件模塊、c/c++、java等編程語言設計的應用軟件或大型軟件系統中的專用軟件模塊、應用程序接口、插件、云服務等實現方式,下面對不同的實現方式舉例說明。
233.其中,音頻處理裝置555包括一系列的模塊,包括分解模塊5551、特征提取模塊5552、高頻分析模塊5553、編碼模塊5554。下面繼續說明本技術實施例提供的音頻處理裝置555中各個模塊配合實現音頻編碼的方案。
234.分解模塊,用于對音頻信號進行子帶分解處理,得到所述音頻信號的低頻子帶信號以及高頻子帶信號;特征提取模塊,用于對所述低頻子帶信號進行特征提取處理,得到所述低頻子帶信號的低頻特征;高頻分析模塊,用于對所述高頻子帶信號進行高頻分析處理,得到所述高頻子帶信號的高頻特征;其中,所述高頻特征的特征維度低于所述低頻特征的特征維度;編碼模塊,用于對所述低頻特征進行量化編碼處理,得到所述音頻信號的低頻碼流,并對所述高頻特征進行量化編碼處理,得到所述音頻信號的高頻碼流。
235.在一些實施例中,所述分解模塊還用于對所述音頻信號進行采樣處理,得到采樣信號,其中,所述采樣信號包括采樣得到的多個樣本點;對所述采樣信號進行低通濾波處理,得到低通濾波信號;對所述低通濾波信號進行下采樣處理,得到所述音頻信號的低頻子帶信號;對所述采樣信號進行高通濾波處理,得到高通濾波信號;對所述高通濾波信號進行下采樣處理,得到所述音頻信號的高頻子帶信號。
236.在一些實施例中,所述特征提取模塊還用于對所述低頻子帶信號進行卷積處理,得到所述低頻子帶信號的卷積特征;對所述卷積特征進行池化處理,得到所述低頻子帶信號的池化特征;對所述池化特征進行下采樣處理,得到所述低頻子帶信號的下采樣特征;對所述下采樣特征進行卷積處理,得到所述低頻子帶信號的低頻特征。
237.在一些實施例中,所述下采樣處理是通過多個級聯的編碼層實現的;所述特征提取模塊還用于通過所述多個級聯的編碼層中的第一個編碼層,對所述池化特征進行下采樣處理;將所述第一個編碼層的下采樣結果輸出到后續級聯的編碼層,通過所述后續級聯的編碼層繼續進行下采樣處理和下采樣結果輸出,直至輸出到最后一個編碼層;將所述最后一個編碼層輸出的下采樣結果作為所述低頻子帶信號的下采樣特征。
238.在一些實施例中,所述高頻分析模塊還用于調用第一神經網絡模型,通過所述第一神經網絡模型對所述高頻子帶信號進行特征提取處理,得到所述高頻子帶信號的高頻特
征;或者,對所述高頻子帶信號進行頻帶擴展處理,得到所述高頻子帶信號的高頻特征。
239.在一些實施例中,所述高頻分析模塊還用于基于所述高頻子帶信號包括的多個樣本點進行頻域變換處理,得到所述多個樣本點分別對應的變換系數;將所述多個樣本點分別對應的變換系數劃分為多個子帶;對每個所述子帶包括的變換系數進行均值處理,得到每個所述子帶對應的平均能量,并將所述平均能量作為每個所述子帶對應的子帶譜包絡;將所述多個子帶分別對應的子帶譜包絡確定為所述高頻子帶信號的高頻特征。
240.在一些實施例中,所述高頻分析模塊還用于獲取參考音頻信號的參考高頻子帶信號,其中,所述參考音頻信號是與所述音頻信號相鄰的音頻信號;基于所述參考高頻子帶信號包括的多個樣本點以及所述高頻子帶信號包括的多個樣本點,對所述高頻子帶信號包括的多個樣本點進行離散余弦變換處理,得到所述高頻子帶信號包括的多個樣本點分別對應的變換系數。
241.在一些實施例中,所述高頻分析模塊還用于確定每個所述子帶包括的樣本點對應的變換系數的平方和;將所述平方和與所述子帶包括的樣本點的數量的比值,確定為得到每個所述子帶對應的平均能量。
242.在一些實施例中,所述編碼模塊還用于對所述低頻特征進行量化處理,得到所述低頻特征的索引值;對所述低頻特征的索引值進行熵編碼處理,得到所述音頻信號的低頻碼流;所述對所述高頻特征進行量化編碼處理,得到所述音頻信號的高頻碼流,包括:對所述高頻特征進行量化處理,得到所述高頻特征的索引值;對所述高頻特征的索引值進行熵編碼處理,得到所述音頻信號的高頻碼流。
243.其中,音頻處理裝置555包括一系列的模塊,包括解碼模塊5555、特征重建模塊5556、高頻重建模塊5557以及合成模塊5558。下面繼續說明本技術實施例提供的音頻處理裝置555中各個模塊配合實現音頻解碼的方案。
244.解碼模塊,用于對低頻碼流進行量化解碼處理,得到所述低頻碼流對應的低頻特征,并對高頻碼流進行量化解碼處理,得到所述高頻碼流對應的高頻特征;
245.其中,所述低頻碼流以及所述高頻碼流是對音頻信號經過子帶分解處理后得到的子帶信號分別進行編碼得到的,所述高頻特征的特征維度低于所述低頻特征的特征維度;
246.特征重建模塊,用于對所述低頻特征進行特征重建處理,得到所述低頻特征對應的低頻子帶信號;
247.高頻重建模塊,用于對所述高頻特征進行高頻重建處理,得到所述高頻特征對應的高頻子帶信號;
248.合成模塊,用于對所述低頻子帶信號以及所述高頻子帶信號進行子帶合成處理,得到所述低頻碼流和所述高頻碼流對應的合成音頻信號。
249.在一些實施例中,所述特征重建模塊還用于對所述低頻特征進行卷積處理,得到所述低頻特征的卷積特征;對所述卷積特征進行上采樣處理,得到所述低頻特征的上采樣特征;對所述上采樣特征進行池化處理,得到所述低頻特征的池化特征;對所述池化特征進行卷積處理,得到所述低頻特征對應的低頻子帶信號。
250.在一些實施例中,所述上采樣處理是通過多個級聯的解碼層實現的;所述特征重建模塊還用于通過所述多個級聯的解碼層中的第一個解碼層,對所述卷積特征進行上采樣處理;將所述第一個解碼層的上采樣結果輸出到后續級聯的解碼層,通過所述后續級聯的
解碼層繼續進行上采樣處理和上采樣結果輸出,直至輸出到最后一個解碼層;將所述最后一個解碼層輸出的上采樣結果作為所述低頻特征的上采樣特征。
251.在一些實施例中,所述高頻重建模塊還用于調用第二神經網絡模型,通過所述第二神經網絡模型對所述高頻特征進行特征重建處理,得到所述高頻特征對應的高頻子帶信號;或者,對所述高頻特征進行頻帶擴展的逆處理,得到所述高頻特征對應的高頻子帶信號。
252.在一些實施例中,所述高頻重建模塊還用于基于所述低頻子帶信號包括的多個樣本點進行頻域變換處理,得到所述多個樣本點分別對應的變換系數;對所述多個樣本點分別對應的變換系數中的后半部分的變換系數進行頻譜復制處理,得到參考高頻子帶信號的參考變換系數;基于所述高頻特征對應的子帶譜包絡,對所述參考高頻子帶信號的參考變換系數進行增益處理,得到增益后的所述參考變換系數;對增益后的所述參考變換系數進行反頻域變換處理,得到所述高頻特征對應的高頻子帶信號。
253.在一些實施例中,所述高頻重建模塊還用于基于所述高頻特征對應的子帶譜包絡,將所述參考高頻子帶信號的參考變換系數劃分為多個子帶;針對所述多個子帶中的任意所述子帶執行以下處理:確定所述子帶譜包絡中與所述子帶對應的第一平均能量,并確定所述子帶對應的第二平均能量;基于所述第一平均能量與所述第二平均能量的比值,確定增益因子;將所述增益因子與所述子帶包括的每個所述參考變換系數相乘,得到增益后的所述參考變換系數。
254.在一些實施例中,所述解碼模塊還用于對所述低頻碼流進行熵解碼處理,得到所述低頻碼流對應的索引值;對所述低頻碼流對應的索引值進行逆量化處理,得到所述低頻碼流對應的低頻特征;對所述高頻碼流進行熵解碼處理,得到所述高頻碼流對應的索引值;對所述高頻碼流對應的索引值進行逆量化處理,得到所述高頻碼流對應的高頻特征。
255.在一些實施例中,所述合成模塊還用于對所述低頻子帶信號進行上采樣處理,得到低通濾波信號;對所述高頻子帶信號進行上采樣處理,得到高頻濾波信號;對所述低通濾波信號以及所述高頻濾波信號進行濾波合成處理,得到所述合成音頻信號。
256.本技術實施例提供了一種計算機程序產品或計算機程序,該計算機程序產品或計算機程序包括計算機指令,該計算機指令存儲在計算機可讀存儲介質中。電子設備的處理器從計算機可讀存儲介質讀取該計算機指令,處理器執行該計算機指令,使得該電子設備執行本技術實施例上述的音頻處理方法。
257.本技術實施例提供一種存儲有可執行指令的計算機可讀存儲介質,其中存儲有可執行指令,當可執行指令被處理器執行時,將引起處理器執行本技術實施例提供的音頻處理方法,例如,如圖4-5示出的音頻處理方法。
258.在一些實施例中,計算機可讀存儲介質可以是fram、rom、prom、eprom、eeprom、閃存、磁表面存儲器、光盤、或cd-rom等存儲器;也可以是包括上述存儲器之一或任意組合的各種設備。
259.在一些實施例中,可執行指令可以采用程序、軟件、軟件模塊、腳本或代碼的形式,按任意形式的編程語言(包括編譯或解釋語言,或者聲明性或過程性語言)來編寫,并且其可按任意形式部署,包括被部署為獨立的程序或者被部署為模塊、組件、子例程或者適合在計算環境中使用的其它單元。
260.作為示例,可執行指令可以但不一定對應于文件系統中的文件,可以可被存儲在保存其它程序或數據的文件的一部分,例如,存儲在超文本標記語言(html,hyper text markup language)文檔中的一個或多個腳本中,存儲在專用于所討論的程序的單個文件中,或者,存儲在多個協同文件(例如,存儲一個或多個模塊、子程序或代碼部分的文件)中。
261.作為示例,可執行指令可被部署為在一個計算設備上執行,或者在位于一個地點的多個計算設備上執行,又或者,在分布在多個地點且通過通信網絡互連的多個計算設備上執行。
262.可以理解的是,在本技術實施例中,涉及到用戶信息等相關的數據,當本技術實施例運用到具體產品或技術中時,需要獲得用戶許可或者同意,且相關數據的收集、使用和處理需要遵守相關國家和地區的相關法律法規和標準。
263.以上所述,僅為本技術的實施例而已,并非用于限定本技術的保護范圍。凡在本技術的精神和范圍之內所作的任何修改、等同替換和改進等,均包含在本技術的保護范圍之內。

技術特征:


1.一種音頻處理方法,其特征在于,所述方法包括:對音頻信號進行子帶分解處理,得到所述音頻信號的低頻子帶信號以及高頻子帶信號;對所述低頻子帶信號進行特征提取處理,得到所述低頻子帶信號的低頻特征;對所述高頻子帶信號進行高頻分析處理,得到所述高頻子帶信號的高頻特征;其中,所述高頻特征的特征維度低于所述低頻特征的特征維度;對所述低頻特征進行量化編碼處理,得到所述音頻信號的低頻碼流,并對所述高頻特征進行量化編碼處理,得到所述音頻信號的高頻碼流。2.根據權利要求1所述的方法,其特征在于,所述對音頻信號進行子帶分解處理,得到所述音頻信號的低頻子帶信號以及高頻子帶信號,包括:對所述音頻信號進行采樣處理,得到采樣信號,其中,所述采樣信號包括采樣得到的多個樣本點;對所述采樣信號進行低通濾波處理,得到低通濾波信號;對所述低通濾波信號進行下采樣處理,得到所述音頻信號的低頻子帶信號;對所述采樣信號進行高通濾波處理,得到高通濾波信號;對所述高通濾波信號進行下采樣處理,得到所述音頻信號的高頻子帶信號。3.根據權利要求1所述的方法,其特征在于,所述對所述低頻子帶信號進行特征提取處理,得到所述低頻子帶信號的低頻特征,包括:對所述低頻子帶信號進行卷積處理,得到所述低頻子帶信號的卷積特征;對所述卷積特征進行池化處理,得到所述低頻子帶信號的池化特征;對所述池化特征進行下采樣處理,得到所述低頻子帶信號的下采樣特征;對所述下采樣特征進行卷積處理,得到所述低頻子帶信號的低頻特征。4.根據權利要求3所述的方法,其特征在于,所述下采樣處理是通過多個級聯的編碼層實現的;所述對所述池化特征進行下采樣處理,得到所述低頻子帶信號的下采樣特征,包括:通過所述多個級聯的編碼層中的第一個編碼層,對所述池化特征進行下采樣處理;將所述第一個編碼層的下采樣結果輸出到后續級聯的編碼層,通過所述后續級聯的編碼層繼續進行下采樣處理和下采樣結果輸出,直至輸出到最后一個編碼層;將所述最后一個編碼層輸出的下采樣結果作為所述低頻子帶信號的下采樣特征。5.根據權利要求1所述的方法,其特征在于,所述對所述高頻子帶信號進行高頻分析處理,得到所述高頻子帶信號的高頻特征,包括:調用第一神經網絡模型,通過所述第一神經網絡模型對所述高頻子帶信號進行特征提取處理,得到所述高頻子帶信號的高頻特征;或者,對所述高頻子帶信號進行頻帶擴展處理,得到所述高頻子帶信號的高頻特征。6.根據權利要求5所述的方法,其特征在于,所述對所述高頻子帶信號進行頻帶擴展處理,得到所述高頻子帶信號的高頻特征,包括:基于所述高頻子帶信號包括的多個樣本點進行頻域變換處理,得到所述多個樣本點分別對應的變換系數;將所述多個樣本點分別對應的變換系數劃分為多個子帶;
對每個所述子帶包括的變換系數進行均值處理,得到每個所述子帶對應的平均能量,并將所述平均能量作為每個所述子帶對應的子帶譜包絡;將所述多個子帶分別對應的子帶譜包絡確定為所述高頻子帶信號的高頻特征。7.根據權利要求6所述的方法,其特征在于,所述基于所述高頻子帶信號包括的多個樣本點進行頻域變換處理,得到所述多個樣本點分別對應的變換系數,包括:獲取參考音頻信號的參考高頻子帶信號,其中,所述參考音頻信號是與所述音頻信號相鄰的音頻信號;基于所述參考高頻子帶信號包括的多個樣本點以及所述高頻子帶信號包括的多個樣本點,對所述高頻子帶信號包括的多個樣本點進行離散余弦變換處理,得到所述高頻子帶信號包括的多個樣本點分別對應的變換系數。8.根據權利要求6所述的方法,其特征在于,所述對每個所述子帶包括的變換系數進行均值處理,得到每個所述子帶對應的平均能量,包括:確定每個所述子帶包括的樣本點對應的變換系數的平方和;將所述平方和與所述子帶包括的樣本點的數量的比值,確定為得到每個所述子帶對應的平均能量。9.根據權利要求1所述的方法,其特征在于,所述對所述低頻特征進行量化編碼處理,得到所述音頻信號的低頻碼流,包括:對所述低頻特征進行量化處理,得到所述低頻特征的索引值;對所述低頻特征的索引值進行熵編碼處理,得到所述音頻信號的低頻碼流;所述對所述高頻特征進行量化編碼處理,得到所述音頻信號的高頻碼流,包括:對所述高頻特征進行量化處理,得到所述高頻特征的索引值;對所述高頻特征的索引值進行熵編碼處理,得到所述音頻信號的高頻碼流。10.一種音頻處理方法,其特征在于,所述方法包括:對低頻碼流進行量化解碼處理,得到所述低頻碼流對應的低頻特征,并對高頻碼流進行量化解碼處理,得到所述高頻碼流對應的高頻特征;其中,所述低頻碼流以及所述高頻碼流是對音頻信號經過子帶分解處理后得到的子帶信號分別進行編碼得到的,所述高頻特征的特征維度低于所述低頻特征的特征維度;對所述低頻特征進行特征重建處理,得到所述低頻特征對應的低頻子帶信號;對所述高頻特征進行高頻重建處理,得到所述高頻特征對應的高頻子帶信號;對所述低頻子帶信號以及所述高頻子帶信號進行子帶合成處理,得到所述低頻碼流和所述高頻碼流對應的合成音頻信號。11.根據權利要求10所述的方法,其特征在于,所述對所述低頻特征進行特征重建處理,得到所述低頻特征對應的低頻子帶信號,包括:對所述低頻特征進行卷積處理,得到所述低頻特征的卷積特征;對所述卷積特征進行上采樣處理,得到所述低頻特征的上采樣特征;對所述上采樣特征進行池化處理,得到所述低頻特征的池化特征;對所述池化特征進行卷積處理,得到所述低頻特征對應的低頻子帶信號。12.根據權利要求11所述的方法,其特征在于,所述上采樣處理是通過多個級聯的解碼層實現的;
所述對所述卷積特征進行上采樣處理,得到所述低頻特征的上采樣特征,包括:通過所述多個級聯的解碼層中的第一個解碼層,對所述卷積特征進行上采樣處理;將所述第一個解碼層的上采樣結果輸出到后續級聯的解碼層,通過所述后續級聯的解碼層繼續進行上采樣處理和上采樣結果輸出,直至輸出到最后一個解碼層;將所述最后一個解碼層輸出的上采樣結果作為所述低頻特征的上采樣特征。13.根據權利要求10所述的方法,其特征在于,所述對所述高頻特征進行高頻重建處理,得到所述高頻特征對應的高頻子帶信號,包括:調用第二神經網絡模型,通過所述第二神經網絡模型對所述高頻特征進行特征重建處理,得到所述高頻特征對應的高頻子帶信號;或者,對所述高頻特征進行頻帶擴展的逆處理,得到所述高頻特征對應的高頻子帶信號。14.根據權利要求13所述的方法,其特征在于,所述對所述高頻特征進行頻帶擴展的逆處理,得到所述高頻特征對應的高頻子帶信號,包括:基于所述低頻子帶信號包括的多個樣本點進行頻域變換處理,得到所述多個樣本點分別對應的變換系數;對所述多個樣本點分別對應的變換系數中的后半部分的變換系數進行頻譜復制處理,得到參考高頻子帶信號的參考變換系數;基于所述高頻特征對應的子帶譜包絡,對所述參考高頻子帶信號的參考變換系數進行增益處理,得到增益后的所述參考變換系數;對增益后的所述參考變換系數進行反頻域變換處理,得到所述高頻特征對應的高頻子帶信號。15.根據權利要求14所述的方法,其特征在于,所述基于所述高頻特征對應的子帶譜包絡,對所述參考高頻子帶信號的參考變換系數進行增益處理,得到增益后的所述參考變換系數,包括:基于所述高頻特征對應的子帶譜包絡,將所述參考高頻子帶信號的參考變換系數劃分為多個子帶;針對所述多個子帶中的任意所述子帶執行以下處理:確定所述子帶譜包絡中與所述子帶對應的第一平均能量,并確定所述子帶對應的第二平均能量;基于所述第一平均能量與所述第二平均能量的比值,確定增益因子;將所述增益因子與所述子帶包括的每個所述參考變換系數相乘,得到增益后的所述參考變換系數。16.根據權利要求10所述的方法,其特征在于,所述對低頻碼流進行量化解碼處理,得到所述低頻碼流對應的低頻特征,包括:對所述低頻碼流進行熵解碼處理,得到所述低頻碼流對應的索引值;對所述低頻碼流對應的索引值進行逆量化處理,得到所述低頻碼流對應的低頻特征;所述對高頻碼流進行量化解碼處理,得到所述高頻碼流對應的高頻特征,包括:對所述高頻碼流進行熵解碼處理,得到所述高頻碼流對應的索引值;對所述高頻碼流對應的索引值進行逆量化處理,得到所述高頻碼流對應的高頻特征。17.根據權利要求10所述的方法,其特征在于,所述對所述低頻子帶信號以及所述高頻
子帶信號進行子帶合成處理,得到所述低頻碼流和所述高頻碼流對應的合成音頻信號,包括:對所述低頻子帶信號進行上采樣處理,得到低通濾波信號;對所述高頻子帶信號進行上采樣處理,得到高頻濾波信號;對所述低通濾波信號以及所述高頻濾波信號進行濾波合成處理,得到所述合成音頻信號。18.一種音頻處理裝置,其特征在于,所述裝置包括:分解模塊,用于對音頻信號進行子帶分解處理,得到所述音頻信號的低頻子帶信號以及高頻子帶信號;特征提取模塊,用于對所述低頻子帶信號進行特征提取處理,得到所述低頻子帶信號的低頻特征;高頻分析模塊,用于對所述高頻子帶信號進行高頻分析處理,得到所述高頻子帶信號的高頻特征;其中,所述高頻特征的特征維度低于所述低頻特征的特征維度;編碼模塊,用于對所述低頻特征進行量化編碼處理,得到所述音頻信號的低頻碼流,并對所述高頻特征進行量化編碼處理,得到所述音頻信號的高頻碼流。19.一種電子設備,其特征在于,所述電子設備包括:存儲器,用于存儲可執行指令;處理器,用于執行所述存儲器中存儲的可執行指令時,實現權利要求1至17任一項所述的音頻處理方法。20.一種計算機可讀存儲介質,其特征在于,存儲有可執行指令,用于被處理器執行時實現權利要求1至17任一項所述的音頻處理方法。21.一種計算機程序產品,包括計算機程序或指令,其特征在于,所述計算機程序或指令被處理器執行時實現權利要求1至17任一項所述的音頻處理方法。

技術總結


本申請提供了一種音頻處理方法、裝置、電子設備、計算機可讀存儲介質及計算機程序產品;方法包括:對音頻信號進行子帶分解處理,得到音頻信號的低頻子帶信號以及高頻子帶信號;對低頻子帶信號進行特征提取處理,得到低頻子帶信號的低頻特征;對高頻子帶信號進行高頻分析處理,得到高頻子帶信號的高頻特征;其中,高頻特征的特征維度低于低頻特征的特征維度;對低頻特征進行量化編碼處理,得到音頻信號的低頻碼流,并對高頻特征進行量化編碼處理,得到音頻信號的高頻碼流。通過本申請,能夠提高音頻編碼效率。頻編碼效率。頻編碼效率。


技術研發人員:

王蒙 陽珊 黃慶博 康迂勇 史裕鵬 肖瑋 商世東 蘇丹

受保護的技術使用者:

騰訊科技(深圳)有限公司

技術研發日:

2022.06.15

技術公布日:

2022/9/26


文章投稿或轉載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-29066-0.html

來源:專利查詢檢索下載-實用文體寫作網版權所有,轉載請保留出處。本站文章發布于 2022-12-10 12:31:24

發表評論

驗證碼:
用戶名: 密碼: 匿名發表
評論列表 (有 條評論
2人圍觀
參與討論