本發(fā)明涉及信號(hào)處理領(lǐng)域和語(yǔ)音壓縮編碼領(lǐng)域,屬于基于信號(hào)處理的語(yǔ)音壓縮編解碼方法,尤其涉及一種基于mdct系數(shù)殘差矢量量化的分層語(yǔ)音編解碼方法。
背景技術(shù):
1、語(yǔ)音編碼的目的在于對(duì)語(yǔ)音信號(hào)進(jìn)行壓縮,從而減少所需的傳輸帶寬和存儲(chǔ)空間,并盡可能保持語(yǔ)音的清晰度和自然性,是通信領(lǐng)域的核心技術(shù)之一。近年來(lái)隨著通信技術(shù)的不斷發(fā)展、通信帶寬的不斷增加以及人們對(duì)語(yǔ)音通信質(zhì)量要求的不斷提高,語(yǔ)音編碼技術(shù)也正逐漸朝著寬頻帶、可變速率、高集成度的方向發(fā)展;同時(shí)在網(wǎng)絡(luò)質(zhì)量差或通信狀況突變的低碼率環(huán)境條件下具備魯棒性,以應(yīng)對(duì)各種實(shí)際通信場(chǎng)景。
2、現(xiàn)有的語(yǔ)音編解碼技術(shù),主要分為基于信號(hào)處理的語(yǔ)音編解碼技術(shù),以及基于深度學(xué)習(xí)的編解碼方法兩類,但它們存在如下缺陷:很多傳統(tǒng)編解碼器只在固定的碼率或頻帶范圍下正常編碼,不能根據(jù)實(shí)際通信情況動(dòng)態(tài)調(diào)節(jié)碼率。例如g.729編碼器的編碼碼率固定為8kbps,而g.722.1支持的頻帶范圍僅為窄帶(0.05~7khz頻段),在實(shí)際應(yīng)用場(chǎng)景中的泛用性較差。其次,基于信號(hào)處理的語(yǔ)音編碼方法所涉及的音頻信號(hào)理論廣泛,例如aac算法的系統(tǒng)整體架構(gòu)復(fù)雜且耦合性強(qiáng),難以在其基礎(chǔ)上進(jìn)行迭代改進(jìn)或代碼移植;同時(shí),傳統(tǒng)的基于信號(hào)處理的算法的編碼語(yǔ)音質(zhì)量往往不及深度學(xué)習(xí)算法,且傳統(tǒng)算法的編碼碼率普遍較高。最后,基于深度學(xué)習(xí)的編解碼模型如soundstream或基于transformer的語(yǔ)音編解碼器,網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜且需要大量的推理計(jì)算成本,計(jì)算復(fù)雜度較高;同時(shí)基于深度學(xué)習(xí)的編解碼器的算法可解釋性與理論性始終存在欠缺。
技術(shù)實(shí)現(xiàn)思路
1、根據(jù)現(xiàn)有技術(shù)存在的問題,本發(fā)明公開了一種基于mdct系數(shù)殘差矢量量化的分層語(yǔ)音編解碼方法,具體包括如下步驟:
2、離線碼書訓(xùn)練生成過程(訓(xùn)練過程):
3、s1:預(yù)處理用于訓(xùn)練的音頻數(shù)據(jù),處理后的語(yǔ)音逐幀通過mdct變換提取mdct系數(shù),并對(duì)提取得到的mdct系數(shù),在0~48khz的頻帶范圍上進(jìn)行分組分割,將分割后的子數(shù)據(jù)集作為網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù);
4、s2:對(duì)分組后的各mdct數(shù)據(jù)集,通過rvq-vae網(wǎng)絡(luò)進(jìn)行無(wú)監(jiān)督學(xué)習(xí),實(shí)現(xiàn)mdct的特征提取與壓縮降維,生成mdct的多級(jí)量化碼書,應(yīng)用于編碼與解碼過程;離線碼書訓(xùn)練生成過程獨(dú)立于編解碼過程中,其只需執(zhí)行一次。為簡(jiǎn)略起見,在本發(fā)明中,離線碼書訓(xùn)練生成過程將簡(jiǎn)稱為訓(xùn)練過程。
5、編碼過程:
6、s3:輸入語(yǔ)音通過預(yù)加重濾波器,對(duì)信號(hào)進(jìn)行高通濾波增強(qiáng)高頻分量。對(duì)預(yù)加重后語(yǔ)音進(jìn)行加窗后,通過快速算法生成mdct系數(shù)。
7、s4:對(duì)計(jì)算得到的mdct系數(shù)按其頻率范圍分組后;在碼書搜索函數(shù)中,通過碼書搜索函數(shù),基于訓(xùn)練得到的對(duì)應(yīng)碼書,根據(jù)最小均方誤差準(zhǔn)則計(jì)算得到碼書索引;根據(jù)當(dāng)前分配的編碼碼率,確定比特的分配模式;將編碼控制比特與碼書索引通過霍夫曼編碼壓縮后,將碼流傳輸至信道。
8、解碼過程:s5:對(duì)接收到的碼流進(jìn)行霍夫曼解碼,得到編碼控制比特與各幀的mdct碼書索引;在mdct碼書中通過碼書索引,檢索得到mdct矢量,并按幀還原原始mdct系數(shù);對(duì)原始mdct系數(shù)進(jìn)行mdct逆變換后,通過去加重濾波還原原始語(yǔ)音信號(hào)。
9、進(jìn)一步的,采用rvq-vae作為矢量量化器,對(duì)輸入的mdct系數(shù)進(jìn)行特征學(xué)習(xí),實(shí)現(xiàn)數(shù)據(jù)的壓縮降維。將原s×n維的mdct數(shù)據(jù)集,通過無(wú)監(jiān)督學(xué)習(xí)映射至一個(gè)d×n維矢量碼書上。由于每次量化均會(huì)產(chǎn)生量化殘差,rvq-vae對(duì)這些殘差繼續(xù)量化并生成新的量化碼書。
10、在編碼過程中,生成mdct系數(shù)時(shí),通過基于fft的mdct快速算法減少mdct生成模塊的浮點(diǎn)運(yùn)算數(shù)量,降低系統(tǒng)的計(jì)算復(fù)雜度。
11、對(duì)mdct的定義式進(jìn)行奇偶分解,得到離散傅里葉變換dft的形式,繼續(xù)數(shù)學(xué)變換化簡(jiǎn)dft表達(dá)式,并通過非基2-fft的素因子算法,將一維dft轉(zhuǎn)換成二維dft標(biāo)準(zhǔn)形式并通過快速算法求解得到目標(biāo)mdct系數(shù)。
12、進(jìn)一步的,在編碼過程中,對(duì)各組mdct系數(shù)通過對(duì)應(yīng)的一級(jí)矢量碼書進(jìn)行碼書搜索,并對(duì)量化殘差通過二級(jí)矢量碼書再次碼書搜索,以此類推。碼書搜索以最小均方誤差為準(zhǔn)則,最小化量化后的mdct與原始mdct矢量的誤差;
13、在解碼過程中,通過霍夫曼解碼得到的按照頻帶劃分的每組mdct,根據(jù)其編碼時(shí)的分層量化模式,對(duì)各級(jí)碼書的mdct矢量進(jìn)行重疊相加重建原始的mdct,并通過mdct逆變換與后處理還原得到編碼后的語(yǔ)音信號(hào)。
14、由于采用了上述技術(shù)方案,本發(fā)明提供的一種基于mdct系數(shù)殘差矢量量化的分層語(yǔ)音編解碼方法,本方法中編碼參數(shù)僅以mdct系數(shù)為主,相較于傳統(tǒng)算法,無(wú)需進(jìn)行大量編碼參數(shù)的復(fù)雜計(jì)算。同時(shí)mdct系數(shù)可以通過基于fft的快速算法進(jìn)行計(jì)算。因此系統(tǒng)的計(jì)算復(fù)雜度相較于其它語(yǔ)音編解碼器有著明顯降低,另外本發(fā)明通過對(duì)mdct分層編碼的設(shè)計(jì),使得編碼器可視碼率情況動(dòng)態(tài)調(diào)節(jié)編碼比特分配,從而適應(yīng)實(shí)際的通信環(huán)境并應(yīng)對(duì)突發(fā)網(wǎng)絡(luò)情況。同時(shí)基于頻帶的mdct分組,使得系統(tǒng)同時(shí)支持窄帶(8khz)、寬帶(16khz)、超寬帶(32khz),以及全帶(48khz)等采樣率,相較于其它固定碼率與采樣率的編解碼器更為靈活實(shí)用,最后,在訓(xùn)練過程將通過rvq-vae預(yù)先訓(xùn)練得到矢量碼書,可在編碼與解碼中重復(fù)調(diào)用,而非在語(yǔ)音編碼器中使用復(fù)雜的網(wǎng)絡(luò)模型進(jìn)行推理。此外,本發(fā)明的編解碼框架結(jié)構(gòu)較為簡(jiǎn)單直接,系統(tǒng)整體的計(jì)算復(fù)雜度較低。
1.一種基于mdct系數(shù)殘差矢量量化的分層語(yǔ)音編解碼方法,其特征在于包括:
2.根據(jù)權(quán)利要求1所述的一種基于mdct系數(shù)殘差矢量量化的分層語(yǔ)音編解碼方法,其特征在于:所述生成多級(jí)矢量碼書時(shí):采用rvq-vae作為矢量量化器,采用無(wú)監(jiān)督學(xué)習(xí)方式進(jìn)行訓(xùn)練,通過對(duì)輸入的mdct數(shù)據(jù)進(jìn)行高維特征提取和壓縮降維處理從而生成mdct的多級(jí)量化碼書。
3.根據(jù)權(quán)利要求1所述的一種基于mdct系數(shù)殘差矢量量化的分層語(yǔ)音編解碼方法,其特征在于:生成mdct系數(shù)時(shí):對(duì)mdct變換的定義式進(jìn)行奇偶分解和數(shù)學(xué)變換,轉(zhuǎn)換為離散傅里葉變換的形式,基于fft算法減少mdct生成模塊的浮點(diǎn)運(yùn)算數(shù)量,結(jié)合非基2-fft的互質(zhì)因子算法與基2-fft算法,將一維dft轉(zhuǎn)換成二維dft標(biāo)準(zhǔn)形式,并通過fft算法獲得mdct系數(shù)。
4.根據(jù)權(quán)利要求1所述的一種基于mdct系數(shù)殘差矢量量化的分層語(yǔ)音編解碼方法,其特征在于:對(duì)各組mdct系數(shù)通過對(duì)應(yīng)的一級(jí)mdct碼書,在碼書搜索函數(shù)中進(jìn)行碼書搜索,并對(duì)量化殘差通過二級(jí)mdct碼書再次碼書搜索,以此類推;碼書搜索過程中,以最小均方誤差為準(zhǔn)則,在碼書中找出與原始mdct矢量最接近的一組mdct矢量,并記錄其在碼書中的索引位置、即為碼書索引。
5.根據(jù)權(quán)利要求1所述的一種基于mdct系數(shù)殘差矢量量化的分層語(yǔ)音編解碼方法,其特征在于:所述確定比特分配模式時(shí):根據(jù)語(yǔ)音采樣率確定頻帶分組情況,并根據(jù)編碼時(shí)設(shè)置的碼率計(jì)算編碼當(dāng)前語(yǔ)音幀的可使用比特?cái)?shù),按照頻帶范圍和量化層數(shù)的次序遍歷比特分配表并按序分配比特,直到已無(wú)剩余比特為止。
6.根據(jù)權(quán)利要求1所述的一種基于mdct系數(shù)殘差矢量量化的分層語(yǔ)音編解碼方法,其特征在于:還原原始的語(yǔ)音信號(hào)時(shí):基于碼書索引檢索出對(duì)應(yīng)的mdct系數(shù),根據(jù)編碼過程的分組和分層模式,重建原始的mdct,并通過mdct逆變換和去加重濾波處理,恢復(fù)出原始語(yǔ)音信號(hào)。