国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種甚低碼率聲碼器的設(shè)計(jì)

2018-12-27 03:23強(qiáng),張玲,朱蘭,明
關(guān)鍵詞:濁音基音子幀

李 強(qiáng),張 玲,朱 蘭,明 艷

(重慶郵電大學(xué) 信號與信息處理重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400065)

0 引 言

低碼率和甚低碼率語音編碼技術(shù)主要應(yīng)用在保密通信、衛(wèi)星移動通信、軍事通信和水下通信等頻帶資源極其寶貴的領(lǐng)域。在低碼率語音編碼標(biāo)準(zhǔn)中,混合激勵線性預(yù)測(mixed excitation linear prediction, MELP)將混合激勵信號作為合成濾波器的輸入[1],以線性預(yù)測編碼(linear prediction coding, LPC)為基礎(chǔ),采用附加參數(shù)來獲得更加準(zhǔn)確的激勵源信息[2],在低于2.4 kbit/s的編碼速率上可重構(gòu)出較高質(zhì)量的合成語音。因此,MELP算法在600 bit/s~2.4 kbit/s速率的聲碼器中應(yīng)用較多。

目前,很多研究者在MELP算法基礎(chǔ)上,通過改進(jìn)語音特征參數(shù)提取方法,采用高效的矢量量化技術(shù),進(jìn)一步提高了合成語音質(zhì)量,設(shè)計(jì)出滿足應(yīng)用需求的不同速率聲碼器。文獻(xiàn)[3]對8 kHz采樣的語音信號以180個樣點(diǎn)為1個子幀,3個子幀組成一個超幀,根據(jù)子幀的清/濁音類型將超幀劃分為8種不同的模式,對不同模式采用不同的比特分配方案,實(shí)現(xiàn)了一個0.9 kbit/s MELP聲碼器;文獻(xiàn)[4]將240個樣點(diǎn)作為1個子幀,相鄰2個子幀構(gòu)成一個超幀,對每個超幀用72 bit進(jìn)行聯(lián)合量化,實(shí)現(xiàn)了一個碼率為1.2 kbit/s的MELP聲碼器。

本文提出了一種600 bit/s的MELP聲碼器實(shí)現(xiàn)方法,通過采用多幀聯(lián)合量化、幀間預(yù)測和線性插值等方法提高了語音特征參數(shù)的編碼效率。針對傳統(tǒng)的矢量量化算法空間復(fù)雜度較高、分類不夠準(zhǔn)確、量化效率不高等缺點(diǎn),設(shè)計(jì)了一種基于高斯混合模型的預(yù)測分類分裂矢量量化(GMM-based predictive switched split vector quantization, GMM-PSSVQ)算法。以合成語音的譜失真為評價(jià)指標(biāo),對GMM-PSSVQ算法進(jìn)行性能測試,結(jié)果表明,該算法能有效減少線譜頻率(line spectrum frequency, LSF)的量化失真。通過客觀感知語音質(zhì)量評估(perceptual evaluation of speech quality, PESQ)和判斷韻字測試(diagnostic rhymer test, DRT)對本文實(shí)現(xiàn)的聲碼器進(jìn)行性能評估,測試結(jié)果表明,該聲碼器合成的語音具有較高的清晰度和可懂度。

1 基于GMM的預(yù)測分類分裂矢量量化器

在常用的矢量量化技術(shù)中,分裂矢量量化具有量化過程簡單、空間復(fù)雜度較高的特點(diǎn);而預(yù)測矢量量化通過消除語音特征參數(shù)在幀內(nèi)和幀間的相關(guān)性,降低碼書的空間復(fù)雜度。由于以一幀語音特征參數(shù)作為一個矢量進(jìn)行整體量化時,存儲量和計(jì)算量較大,且量化誤差相對獨(dú)立,因此,在很多語音編碼中,將預(yù)測矢量量化和分裂矢量量化相結(jié)合得到預(yù)測分裂矢量量化(predictive split vector quantization, PSVQ)算法[5],在提高量化質(zhì)量的同時降低空間復(fù)雜度。而分類矢量量化按一定規(guī)則將輸入矢量進(jìn)行分類后,選擇不同的碼本對矢量進(jìn)行量化,以降低時間復(fù)雜度[6]。因此,將分類矢量量化應(yīng)用于PSVQ算法中,可以進(jìn)一步提高量化性能。由于GMM可以很好地逼近語音特征參數(shù)的概率分布,且所需參數(shù)較少,為了提高分類的準(zhǔn)確性,本文采用GMM[7]對量化矢量進(jìn)行聚類分析,設(shè)計(jì)出了一種基于GMM的預(yù)測分類分裂矢量量化算法。

GMM-PSSVQ算法包括編碼端設(shè)計(jì),解碼端設(shè)計(jì)和碼本設(shè)計(jì)3個部分。下面以LSF參數(shù)量化為例,說明GMM-PSSVQ算法的具體應(yīng)用。

1.1 編碼端的設(shè)計(jì)

設(shè)第n幀的LSF矢量為f(n),設(shè)計(jì)步驟如下。

(1)

2)求殘差矢量r(n)

r(n)=z(n)-p(n)

(2)

(2)式中,p(n)為LSF的預(yù)測值,其計(jì)算公式為

p(n)=α×r(n-1)

(3)

(3)式中:α為預(yù)測系數(shù);r(n-1)是前一幀量化后的LSF殘差。若編碼幀為第1幀,則p(n)={0,0,…,0};

3)對r(n)進(jìn)行分類分裂矢量量化:首先,將r(n)分裂成K個子矢量;然后,依次搜索M個碼本集。選擇與所有子矢量總失真最小的碼本集,記錄并傳輸碼本集編號;最后,用選中的碼本集中的子碼本對每個子矢量進(jìn)行矢量量化,記錄并傳輸索引值。在設(shè)計(jì)矢量量化器時,K值越大,量化效果越差,但空間復(fù)雜度越?。欢鳰值越大,分類越準(zhǔn)確,但空間復(fù)雜度卻越高。

1.2 解碼端的設(shè)計(jì)

解碼是編碼的逆過程,實(shí)現(xiàn)步驟如下。

1)解碼出重構(gòu)矢量。根據(jù)接收到的碼本號查找相應(yīng)碼本集,在每個子碼本中查找編號與索引值相同的碼矢,解碼出每個子矢量的量化值,重構(gòu)成一個N維殘差矢量r′(n);

2)將r′(n)與預(yù)測值p(n)相加得到z′(n)為

z(n)=r(n)+p(n)

(4)

(5)

1.3 碼本設(shè)計(jì)

設(shè)訓(xùn)練矢量集為F,訓(xùn)練矢量個數(shù)為N,將訓(xùn)練矢量中的LSF參數(shù)表示為

(6)

碼本設(shè)計(jì)步驟如下。

(7)

2)利用(8)式分別對每個訓(xùn)練矢量去平均值,得到矢量z(n)為

(8)

3)根據(jù)(2)式求出z(n)的預(yù)測殘差矢量r(n);

4)用含有M個高斯分量的GMM對r(n)進(jìn)行建模,將r(n)矢量集分成M類;

5)對每個類的所有r(n),分裂成K個子矢量,得到K個子矢量集,然后用LBG[8]算法對每個子矢量集分別設(shè)計(jì)碼本,最終得到M個碼本集,每個碼本集中有K個子碼本。

1.4 性能分析

為了評估GMM-PSSVQ算法性能,運(yùn)用多級矢量量化(multi-stage vector quantizations, MSVQ)算法、PSVQ算法和本文的GMM-PSSVQ算法對標(biāo)準(zhǔn)2.4 kbit/s MELP語音編碼器中的10維LSF參數(shù)進(jìn)行量化,測試和對比3種量化方式下合成語音的譜失真。采用MSVQ算法時,對LSF進(jìn)行3級矢量量化;在PSVQ算法中,將訓(xùn)練矢量分裂成3個子矢量,每個子矢量的維數(shù)分別為4,3和3;在GMM-PSSVQ算法中,將高斯分量M設(shè)置為2,即用1 bit傳輸分類信息,再將輸入矢量分裂成K個子矢量,每個子矢量的維數(shù)分別為4,3和3。測試語音數(shù)據(jù)來自《SJ20852-2002軍用通信系統(tǒng)音質(zhì)評價(jià)測試語音數(shù)據(jù)庫》。從數(shù)據(jù)庫中選擇男女各45條,總時長約20 min的語音用于提取LSF參數(shù)。測試結(jié)果如表1所示,括號中的數(shù)字分別對應(yīng)每個子矢量的量化比特?cái)?shù)。

表1 3種量化方法的平均譜失真結(jié)果對比圖Tab.1 Comparison of average spectral distortion results of three quantization methods

由表1可知,GMM-PSSVQ算法與PSVQ算法、MSVQ算法相比,在每幀編碼比特?cái)?shù)為20 bit時,平均譜失真分別下降了0.055 3 dB和0.059 9 dB;在編碼比特?cái)?shù)為22 bit時,平均譜失真分別下降了0.045 8 dB和0.035 dB;在編碼比特?cái)?shù)為24 bit時,譜失真分別下降了0.029 dB和0.015 8 dB。測試結(jié)果說明,GMM-PSSVQ算法能有效地減少LSF參數(shù)的量化失真。

2 600 bit/s MELP聲碼器的設(shè)計(jì)

美國聯(lián)邦標(biāo)準(zhǔn)的2.4 kbit/s MELP聲碼器對8 kHz的語音信號,以180個樣點(diǎn)為一幀,用54 bit進(jìn)行編碼。編碼端提取和量化的語音特征參數(shù)有LSF、基音周期、增益、非周期標(biāo)志、殘差諧波幅度和帶通清/濁音強(qiáng)度。在解碼端,為了提高合成語音質(zhì)量,在MELP聲碼器中引入了混合脈沖、噪聲激勵、自適應(yīng)增強(qiáng)和殘差諧波幅度等機(jī)制[9]。

LSF、基音周期、增益和帶通清/濁音強(qiáng)度提取的準(zhǔn)確性決定了聲碼器合成語音的質(zhì)量,而殘差諧波幅度需要根據(jù)其他參數(shù)的量化結(jié)果計(jì)算,對語音的質(zhì)量影響不大[10],為了節(jié)省量化比特?cái)?shù)和降低聲碼器算法復(fù)雜度,本文算法只對LSF、基音周期、增益和帶通清/濁音強(qiáng)度這4種參數(shù)進(jìn)行量化。以20 ms,即160個樣點(diǎn)為1個子幀,連續(xù)5個子幀組成1個超幀,對每個超幀用60 bit進(jìn)行量化編碼,實(shí)現(xiàn)一個編碼速率為600 bit/s的聲碼器。

2.1 超幀結(jié)構(gòu)

本文把連續(xù)5個子幀的清/濁音狀態(tài)值視為1個超幀結(jié)構(gòu)。濁音子幀用V表示,清音子幀用U表示。通過對大量的語音信號進(jìn)行U/V狀態(tài)的提取,統(tǒng)計(jì)出了每種超幀結(jié)構(gòu)出現(xiàn)的概率,取概率最大的16種結(jié)構(gòu)作為本文設(shè)計(jì)聲碼器的超幀類型,剩余16種超幀結(jié)構(gòu)歸類到與之相近的超幀類型中,超幀結(jié)構(gòu)劃分如表2所示。

2.2 語音特征參數(shù)量化

編碼端針對不同的超幀結(jié)構(gòu)采取不同的方式對語音特征參數(shù)進(jìn)行量化。

1)超幀結(jié)構(gòu)狀態(tài)值的量化。由于需要傳輸16種不同超幀模式的狀態(tài)值,因此,在幀結(jié)構(gòu)中,采用了4 bit對超幀模式進(jìn)行標(biāo)量量化。

2)LSF參數(shù)的量化。對超幀中的2~3個子幀的10維LSF參數(shù)進(jìn)行預(yù)測分裂矢量量化,具體步驟如下。

步驟1將LSF系數(shù)表示為f=[f0,f1,…,f9];

步驟2對LSF矢量去均值,得到z(n);

(9)

表2 超幀結(jié)構(gòu)劃分Tab.2 Partition of super frame structure

步驟3用一階滑動平均預(yù)測法求出當(dāng)前幀的LSF預(yù)測殘差矢量,具體計(jì)算方法由(4)式和(5)式給出,其中,預(yù)測值的預(yù)測系數(shù)α取0.65。

對LSF殘差矢量r(n)進(jìn)行分裂矢量量化。若子幀為清音幀,用9 bit進(jìn)行量化,將r(n)劃分成維數(shù)均為5的2個子矢量,對每個子矢量分別用5 bit和4 bit進(jìn)行矢量量化;若子幀為濁音幀,用16 bit進(jìn)行量化,將r(n)劃分成維數(shù)分別為4,3和3的3個子矢量,分別對3個子矢量用7,5和4 bit進(jìn)行矢量量化。

3)基音周期的量化。對于沒有濁音子幀的超幀,無需量化基音周期;對于只有一個濁音子幀的超幀,將濁音子幀的基音周期值取對數(shù)后進(jìn)行7 bit標(biāo)量量化;對于有2個或2個以上濁音子幀的超幀,將該超幀中所有子幀的基音周期組成一個5維矢量,取對數(shù)后用9 bit進(jìn)行矢量量化。在搜索碼本時,采用加權(quán)歐氏距離測度。當(dāng)子幀為清音幀時,權(quán)值為0;當(dāng)子幀為濁音幀時,權(quán)值為1。

4)增益的量化。每個子幀需提取2個增益值,一個超幀中的10個增益值組成一個10維矢量G=[g1,g2,…,g10],然后用8 bit對矢量G進(jìn)行單級矢量量化。

5)帶通清/濁音強(qiáng)度的量化。對每個子幀分成5個子帶,然后分別判斷出每個子帶的清/濁強(qiáng)度,用“1”表示清音子帶,“0”表示濁音子帶。由于每個子幀第1子帶的清/濁音強(qiáng)度作為該子幀的清/濁判決標(biāo)識,隨超幀的狀態(tài)值一起量化。每個子幀的其余4個子帶的清/濁音強(qiáng)度組成一個20維矢量進(jìn)行矢量量化。如果超幀沒有濁音子幀,不傳輸帶通清/濁音強(qiáng)度值;如果超幀只有一個濁音子幀,對超幀的20維清/濁音狀態(tài)矢量進(jìn)行4 bit的矢量量化;對于有2個或2個以上濁音子幀的超幀,對超幀的20維清/濁音狀態(tài)進(jìn)行5 bit矢量量化。

在設(shè)計(jì)矢量量化碼本時,首先提取大量語音的帶通清/濁音強(qiáng)度參數(shù),對這20維矢量可能出現(xiàn)的各種結(jié)果進(jìn)行統(tǒng)計(jì)排序,取前16或32個矢量作為碼本。

2.3 糾錯編碼

本文將某些超幀結(jié)構(gòu)中沒有使用的比特用于前向糾錯編碼,以保護(hù)該幀結(jié)構(gòu)中某些重要的特征參數(shù),具體方案如下。

1)在UUUUU模式下,對27 bit的LSF系數(shù)用7個漢明(7,4)碼編碼保護(hù);

2)在VUUUU模式下,對4 bit狀態(tài)值進(jìn)行漢明(7,4)碼編碼保護(hù);

3)在UUUUV模式下,對4 bit狀態(tài)值進(jìn)行漢明(7,4)碼編碼保護(hù)。

2.4 比特分配

本文設(shè)計(jì)的聲碼器在16種超幀模式下,幀結(jié)構(gòu)的比特分配方案如表3所示。

2.5 解碼器的設(shè)計(jì)

解碼端從接收到的比特流中解析出超幀的狀態(tài)值,確定超幀的模式,根據(jù)超幀模式依次解碼出語音特征參數(shù)的初值。對編碼端沒有傳送參數(shù)的子幀,其值先通過線性插值得出,然后進(jìn)行參數(shù)完整性重構(gòu)。殘差諧波幅度值設(shè)置為默認(rèn)值1.0,抖動值與標(biāo)準(zhǔn)MELP中的設(shè)置方法一樣。最后利用解析出的語音特征參數(shù)重構(gòu)出合成語音。

(10)

(11)

2)基音周期的譯碼。解碼得到超幀模式后,根據(jù)超幀中濁音子幀的個數(shù)對基音周期進(jìn)行解碼即可。若子幀全為清音幀,將5個基音周期值都設(shè)為50;若超幀中有一個濁音幀,解碼出濁音幀的值,將清音子幀的基音周期值設(shè)為50;在其他情況下,直接根據(jù)索引解碼出基音周期值。

3)增益的譯碼。增益值的譯碼根據(jù)索引值搜索碼本直接得到。

4)帶通清/濁音強(qiáng)度譯碼。解碼端解碼出超幀狀態(tài)值后,根據(jù)表2可以得到每個子幀第1子帶的清/濁音狀態(tài)值,然后對高四位子帶的清/濁音強(qiáng)度進(jìn)行解碼。對于不含濁音子幀的超幀,將所有子幀高四位子帶的帶通清/濁音強(qiáng)度都設(shè)為0;對于含有濁音幀的超幀,根據(jù)索引值搜索相應(yīng)碼本得到高四位子帶的帶通清/濁音強(qiáng)度。

表3 不同超幀模式下的比特分配方案Tab.3 Scheme of bit allocation in different super frame modes

3 聲碼器的性能測試

3.1 客觀PESQ值測試

為了驗(yàn)證600 bit/s MELP聲碼器的性能,對用該聲碼器合成的語音進(jìn)行客觀PESQ值測試[11]。從《SJ20852-2002軍用通信系統(tǒng)音質(zhì)評價(jià)測試語音數(shù)據(jù)庫》中隨機(jī)選擇男女各8組語音作為測試對象。并通過與本實(shí)驗(yàn)室研究并實(shí)現(xiàn)的1.2 kbit/s MELP聲碼器性能進(jìn)行比較,分析本文聲碼器合成語音質(zhì)量。測試結(jié)果如表4所示。

表4 600 bit/s和1.2 kbit/s MELP聲碼器合成語音的PESQ值對比Tab.4 PESQ value comparison of synthesized speech of 600 bit/s and 1.2 kbit/s MELP vocoder

本文設(shè)計(jì)的600 bit/s聲碼器合成語音女聲平均PESQ值為2.21,男聲平均PESQ值為2.39,總的平均值為2.30。與1.2 kbit/s聲碼器相比,在編碼速率降低了一半的情況下,平均PESQ值只下降了0.21,說明本文采用多幀聯(lián)合量化編碼方法設(shè)計(jì)出的聲碼器具有較好的語音質(zhì)量。這2種不同速率的聲碼器合成的女聲語音質(zhì)量都要低于男聲,這是由于MELP聲碼器在合成語音時,脈沖整型濾波器的系數(shù)是根據(jù)男聲基音周期的固定三角脈沖計(jì)算得到的,對男聲的濾波效果要好于女聲。

3.2 主觀DRT測試

甚低碼率聲碼器大多采用參數(shù)編碼方式,合成語音的清晰度和可懂度是其最重要的一個性能指標(biāo)。因此,本文采用DRT對聲碼器的合成語音進(jìn)行主觀質(zhì)量評估。從《GBT 16532.1996通信設(shè)備清晰度DRT法評價(jià)用語音材料庫》的2個基本字表中隨機(jī)選擇12張發(fā)音字表,男聲和女聲各半。與發(fā)音字表對應(yīng)的12條測試語音采用本文設(shè)計(jì)的600 bit/s聲碼器進(jìn)行編解碼得到合成語音。選擇男女各5名在校大學(xué)生作為測試人。測試環(huán)境、測試設(shè)備、測試記錄表和數(shù)據(jù)統(tǒng)計(jì)方法均滿足《GBT 13504.2008漢語清晰度診斷押韻測試(DRT)法》。表5和表6分別表示女聲和男生DRT得分統(tǒng)計(jì)結(jié)果。其中,加下劃線的數(shù)字是按照Chauvent準(zhǔn)則應(yīng)于剔出的數(shù)字。

表5 女聲DRT得分統(tǒng)計(jì)表Tab.5 DRT scoring statistics of female voice

表6 男聲DRT得分統(tǒng)計(jì)表Tab.6 DRT scoring statistics of male voice

表5和表6中的鼻音性和低沉性的DRT得分在均在75%以下,說明鼻音和低沉音的合成語音清晰度較低。這是因?yàn)镸ELP聲碼器基于線性預(yù)測模型,采用的是全極點(diǎn)模型來模擬聲道,而鼻音和低沉音需要用零極點(diǎn)模型才能進(jìn)行較好的模擬。因此,MELP聲碼器在對鼻音和低沉音進(jìn)行編碼時,產(chǎn)生的失真較大。測試結(jié)果中的緊密性的DRT得分達(dá)到了75%以上,清晰度為中等;而濁音性、送氣性和持續(xù)性的DRT得分在85%以上,清晰度為良好;女聲和男聲的平均DRT得分分別達(dá)到了83.47%和84.38%,清晰度接近良好。由于整句話中相鄰字、相鄰詞之間存在著較強(qiáng)的相關(guān)性,即使幾個字聽不太清楚,聽者也可以正確理解整句話的意思,因此,當(dāng)DRT得分在80%以上時,整句話的可懂度能接近100%。

4 結(jié) 論

本文在MELP算法原理的基礎(chǔ)上,實(shí)現(xiàn)了一種碼率為600 bit/s的甚低碼率聲碼器。通過采用多幀聯(lián)合編碼技術(shù),以超幀為單位,分模式對子幀的語音特征參數(shù)進(jìn)行聯(lián)合量化編碼,提高了聲碼器的編碼效率。經(jīng)譜失真測試,表明采用本文設(shè)計(jì)的GMM-PSSVQ量化器,可對LSF參數(shù)進(jìn)行高效的矢量量化,降低了量化誤差,提高了合成語音質(zhì)量;經(jīng)客觀PESQ和主觀DRT測試,表明本文設(shè)計(jì)的聲碼器具有較高的清晰度和可懂度,可應(yīng)用在頻帶資源極其寶貴的通信領(lǐng)域中。

猜你喜歡
濁音基音子幀
基于多分類支持向量機(jī)和主體延伸法的基音檢測算法
基于基音跟蹤的語音增強(qiáng)研究
日語半濁音的變化規(guī)律研究
清濁音分離抗噪的語音識別算法的研究
有關(guān)鼻濁音使用實(shí)態(tài)的研究
——以NHK新聞為中心
中國移動LTE FDD&TDD載波聚合部署建議
LAA系統(tǒng)在非授權(quán)頻段上的動態(tài)子幀配置策略
一種基音周期檢測中減小中值平滑誤差的方法
TD—LTE特殊子幀配比的優(yōu)化設(shè)計(jì)
Relay技術(shù)在LTE覆蓋解決方案中的應(yīng)用研究