李 強(qiáng),舒勤軍,謝虹恩,明 艷
(重慶郵電大學(xué) 信號與信息處理重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400065)
一種基于混合MELP /CELP 的4 kbit /s 聲碼器
李 強(qiáng),舒勤軍,謝虹恩,明 艷
(重慶郵電大學(xué) 信號與信息處理重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400065)
利用混合激勵線性預(yù)測 (mixed excitation linear prediction,MELP )算法和碼激勵線性預(yù)測(code excitation linear prediction,CELP)算法的優(yōu)點(diǎn),提出了一種混合MELP/CELP語音編碼模型。編碼端對強(qiáng)濁音幀采用MELP編碼,對弱濁音幀和清音幀進(jìn)行CELP編碼。MELP編碼器采用相位對齊技術(shù)提取強(qiáng)濁音幀的相位參數(shù),解決了合成語音與原始語音在時間上不同步的問題。對實(shí)現(xiàn)的4 kbit/s混合MELP/CELP聲碼器進(jìn)行客觀MOS(mean opinion score)值和主觀DRT(diagnostic rhythm test)清晰度測試,結(jié)果表明,該聲碼器的合成語音具有較高的可懂度和清晰度。
低碼率聲碼器;混合激勵線性預(yù)測;碼激勵線性預(yù)測;相位對齊
混合激勵線性預(yù)測(mixed excitation linear prediction,MELP)[1]算法在線性預(yù)測編碼模型的基礎(chǔ)上,采用非周期脈沖、混合激勵、自適應(yīng)譜增強(qiáng)、脈沖散布濾波器和殘差諧波幅度等技術(shù),有效地提高了語音編碼器合成語音質(zhì)量。由于MELP采用了語音參數(shù)編碼方案,可實(shí)現(xiàn)0.6 kbit/s-2.4 kbit/s速率的聲碼器,主要應(yīng)用在衛(wèi)星通信、軍事保密通信等頻帶資源有限的語音通信系統(tǒng)中。碼激勵線性預(yù)測(code excitation linear prediction,CELP)[2]以碼本為激勵源,采取合成分析(analysis-by-synthesis,ABS)搜索、感覺加權(quán)矢量量化和線性預(yù)測等技術(shù),合成的語音具有質(zhì)量高、抗噪性強(qiáng)等優(yōu)點(diǎn)。基于CELP的聲碼器廣泛應(yīng)用在IP電話、蜂窩移動通信等領(lǐng)域。
由于MELP采用的是諧波編碼結(jié)構(gòu)模型,適合表現(xiàn)周期性較強(qiáng)的強(qiáng)濁音信號[3],對于清音、爆破音、過渡音等非周期或準(zhǔn)周期語音信號來說,表現(xiàn)效果不佳。而CELP是一種混合編碼模型,采用ABS和感知加權(quán)均方誤差最小原則,在時域上對目標(biāo)語音做波形匹配。由于需要引入固定碼本來還原激勵源,需使用較多的編碼比特,因此適用4 kbit/s以上速率的編碼器。在較低編碼速率下,對周期信號的表現(xiàn)效果不如MELP,但是對非周期或準(zhǔn)周期信號的表現(xiàn)效果較好[4]。
本文利用MELP和CELP算法各自的優(yōu)點(diǎn),實(shí)現(xiàn)了一種混合MELP/CELP的4 kbit/s聲碼器。編碼端將輸入語音幀分為強(qiáng)濁音幀、弱濁音幀和清音幀3種類型。對強(qiáng)濁音幀使用MELP編碼模型,對弱濁音幀和清音幀采用CELP編碼模型,并利用相位對齊技術(shù)解決了MELP在提取原始語音信號特征參數(shù)[5]時沒有考慮相位,造成合成語音與原始語音在時間上不同步的問題。為了與CELP聲碼器編碼幀長一致,把MELP的編碼幀長由22.5 ms改為20 ms,重新構(gòu)建了線譜對頻率(line spectrum frequency,LSF)、傅氏級數(shù)幅度語音特征參數(shù)的矢量量化碼本?;旌螹ELP/CELP的4 kbit/s聲碼器用C語言進(jìn)行了實(shí)現(xiàn),經(jīng)測試,本文實(shí)現(xiàn)的4 kbit/s聲碼器的合成語音具有較高的可懂度和清晰度。
圖1為混合MELP/CELP語音編碼流程框圖。編碼器輸入的是8 kHz采樣、16 bit均勻量化的語音信號,幀長為20 ms。對經(jīng)過預(yù)處理后的語音幀進(jìn)行線性預(yù)測分析,得到線性預(yù)測系數(shù)和殘差信號,殘差信號用于后續(xù)語音特征參數(shù)的提取。編碼端以語音幀的濁音強(qiáng)度值的大小來判定幀的類型,如果是強(qiáng)濁音幀,進(jìn)行MELP編碼,若是弱濁音幀或清音幀則采用CELP編碼。在進(jìn)行MELP編碼時,提取強(qiáng)濁音幀的相位參數(shù)以實(shí)現(xiàn)相位對齊[6]。語音特征參數(shù)量化編碼后形成比特流,最后加上指示該幀是MELP編碼還是CELP編碼的1 bit模式判決位后打包輸出。
圖2是混合MELP/CELP語音解碼流程框圖。接收端對接收到的比特流進(jìn)行解碼,根據(jù)模式判決信息選擇相應(yīng)的MELP或CELP解碼算法。將解碼得到的參數(shù)生成MELP模型激勵源或CELP模型激勵源,通過線性預(yù)測合成濾波器后,重構(gòu)出語音信號。將重構(gòu)的語音信號進(jìn)行后置濾波[7]得到最終的合成語音信號。
圖1 混合MELP/CELP聲碼器編碼流程圖Fig.1 Block diagram of hybrid MELP/CELP speech coding
圖2 混合MELP/CELP聲碼器解碼流程圖Fig.2 Block diagram of hybrid MELP/CELP speech decoding
CELP編碼是以逼近原始語音波形為目的,在傳輸?shù)男畔⒅泻邢辔粎?shù),因此合成的語音波形與原始語音波形在時間上是同步的。而MELP提取的原始語音特征參數(shù)中沒有包含相位信息,導(dǎo)致了合成語音與原始語音在時間上不同步,表現(xiàn)出波形包絡(luò)不一致。因此,混合MELP/CELP聲碼器不能簡單地把解碼后合成的語音信號進(jìn)行疊接,否則在聽覺上感覺會不自然,導(dǎo)致合成語音質(zhì)量下降。為了解決相位對齊問題,MELP編碼端需提取強(qiáng)濁音幀的相位參數(shù)。
2.1 相位參數(shù)的提取
本文采用相關(guān)法來提取強(qiáng)濁音幀的相位參數(shù)。參與相關(guān)運(yùn)算的一個信號是欲編碼的線性預(yù)測殘差語音信號e(n);另一個是利用本幀提取的殘差諧波譜幅度M(k)和基音周期Tp重建的激勵殘差信號e′(n),其計算公式為
(1)
由于e(n)和e′(n)信號長度可能不同,因此在做相關(guān)運(yùn)算前需加窗截斷。所加矩形窗的中心位于當(dāng)前幀的最后一個樣點(diǎn),窗長取大于120的當(dāng)前幀的基音周期值的最小整數(shù)倍值。將e′(n)在e(n)上滑動計算歸一化相關(guān)系數(shù),將相關(guān)系數(shù)的最大值以該幀的基音周期值為參數(shù)進(jìn)行換算,其結(jié)果即為本幀的相位[8]。
2.2 立方相位內(nèi)插
在標(biāo)準(zhǔn)MELP編碼算法中,幀長為N的第l幀的語音特征參數(shù)是通過本幀語音特征參數(shù)Al與上一幀語音特征參數(shù)Al-1線性內(nèi)插得到的,其內(nèi)插公式為
n=0,1,…,N-1
(2)
但是,這種方法不能用于相位內(nèi)插,因?yàn)橄辔沪萳-1和θl是以2π取模得到的,不是常規(guī)的線性關(guān)系。本文采用立方相位內(nèi)插[9]來解決這個問題。設(shè)相位內(nèi)插函數(shù)為三次多項(xiàng)式,為方便起見,將該基波相位寫成時間變量t的連續(xù)函數(shù),即
θ(t)=a3t3+a2t2+a1t+a0
(3)
由于相位的導(dǎo)數(shù)為角頻率,將 (3) 式做微分運(yùn)算后,得到如 (4) 式的基波角頻率。
ω(t)=3a3t2+2a2t+a1
(4)
設(shè)第l幀信號的起始點(diǎn)時間為0,終點(diǎn)時間為語音幀的時長T,起始點(diǎn)的基波相位和角頻率分別為θl-1和ωl-1,終點(diǎn)的基波相位和角頻率分別為θl和ωl,這里的θl-1和ωl-1也是第l-1幀的終點(diǎn)的基波相位和角頻率。通過(3)式和(4)式可內(nèi)插出第l幀的中間點(diǎn)的相位和角頻率,得到如(5)式所示的4個方程式。
(5)
由于末端相位θl是以2π取模得到的,所以必須加上2πM,這里的M是未知數(shù)。把(5)式寫成如(6)式的矩陣形式后,通過解方程,可得到計算a0~a3的(7)式。
(6)
(7)
把a(bǔ)0~a3代入(3)式和(4)式,得到計算第l幀的非線性相位和時變頻率。
為了確定M的值,需要找到相位變化最平坦的曲線區(qū)域,即是“最大程度平滑”。如果頻率是常數(shù)且聲道為平穩(wěn)的,則實(shí)際相位是線性變化的,相位的一階導(dǎo)數(shù)為常數(shù),二階導(dǎo)數(shù)為0。所以,找最平坦區(qū)域的過程就是選擇合適的M,使得
(10)
為最小。經(jīng)推導(dǎo)可以證明,使(10)式為最小的M值可表示為
(11)
(11)式中,INT表示取整。由于聲碼器處理的對象是離散時間語音信號,因此可將(8)式改寫為(12)式的離散形式。
(12)式中:pl-1和pl分別是上一幀和當(dāng)前幀的基音周期值。
MELP解碼端加入相位信息后,脈沖激勵信號的計算公式為
(13)
本文采用增強(qiáng)型變速率(enhanced variable rate codec,EVRC)[10]中的半速率算法來實(shí)現(xiàn)4 kbit/s的CELP聲碼器,而4 kbit/s的MELP聲碼器是在標(biāo)準(zhǔn)2.4 kbit/s 的MELP算法基礎(chǔ)上實(shí)現(xiàn)的。為了與CELP編碼器幀長一致,將MELP的幀長由22.5 ms調(diào)整為20 ms。在設(shè)計MELP幀結(jié)構(gòu)時,除了考慮需要傳送編碼端的相位信息外,還重新劃分了子帶,增加了增益和殘差諧波幅度的量化比特數(shù),以提高聲碼器的合成語音質(zhì)量。下面重點(diǎn)介紹4 kbit/s的MELP編解碼器的實(shí)現(xiàn)。
3.1 預(yù)處理
對原始語音信號進(jìn)行高通濾波和噪聲抑制,以濾除50 Hz的工頻干擾和其他噪聲。
3.2 MELP聲碼器的實(shí)現(xiàn)
3.2.1 參數(shù)提取與量化
MELP聲碼器在編碼端提取的參數(shù)有:LSF、基音周期、帶通清/濁音強(qiáng)度、增益、殘差諧波譜幅度和對齊相位。每幀量化編碼輸出80 bit。為了能更精確地表示語音信號的特征,除了LSF、殘差諧波譜幅度和對齊相位每幀提取一次外,其他參數(shù)每子幀(10 ms)提取一次。相位參數(shù)的提取方法見2.2節(jié),其他參數(shù)的提取方法與標(biāo)準(zhǔn)MELP一樣。但是在子帶劃分和殘差諧波譜幅度的量化上有所不同。
1)子帶的劃分。標(biāo)準(zhǔn)MELP編碼器將一幀語音信號的頻譜劃分為5個固定子頻帶,對每個子頻帶進(jìn)行清/濁音判決后,將判決結(jié)果傳送給解碼端。采用這種多帶混合模型使得合成激勵信號更加準(zhǔn)確[11]。為了對激勵信號進(jìn)行更精細(xì)地劃分,本文將原來的5個固定子頻帶擴(kuò)展到7個。采用7個六階的巴特沃斯帶通濾波器把輸入的語音信號分為如下7個子頻帶:0-500 Hz,500-1 000 Hz,1 000-1 500 Hz,1 500-2 000 Hz,2 000-2 500 Hz,2 500-3 000 Hz和3 000-4 000 Hz。第1子帶的清濁音強(qiáng)度值用來判斷當(dāng)前幀的清/濁音狀態(tài),后6個子帶的清濁音強(qiáng)度值用來確定各子帶的清/濁音類型。
2)殘差諧波幅度的量化。殘差諧波幅度主要用于提升合成語音低頻段的準(zhǔn)確性,增加合成語音的自然度[12],對女聲和帶有背景噪聲的語音質(zhì)量也有一定程度的改善。為了進(jìn)一步提高殘差諧波幅度的精度,本文采用11 bit對其進(jìn)行矢量量化。首先從大量的中英文語音中提取10維的殘差諧波幅度值,然后采用LBG算法生成矢量量化碼本。
3.2.2 幀結(jié)構(gòu)的設(shè)計
語音幀的LSF和殘差諧波幅度分別用25 bit和11 bit進(jìn)行矢量量化。其中,LSF采用7666四級矢量量化:對齊相位則用6 bit進(jìn)行標(biāo)量量化;每子幀的基音周期、通帶清/濁音判決和增益分別用7 bit,6 bit和6 bit進(jìn)行標(biāo)量量化。4 kbit/s的MELP聲碼器比特分配方案如表1所示。
表1 MELP聲碼器比特分配方案
3.2.3 參數(shù)插值
由于聲碼器的編碼端只對強(qiáng)濁音幀采用MELP方式編碼,因此解碼端語音合成過程與標(biāo)準(zhǔn)MELP略有不同,即不用考慮清音幀的合成。解碼端對強(qiáng)濁音幀的參數(shù)解碼后,LSF和殘差諧波譜幅度與標(biāo)準(zhǔn)MELP的插值方式一樣,對齊相位則采用2.2節(jié)的三次插值方式。由于增益、基音周期和帶通清濁判決每幀提取2次參數(shù),且MELP解碼端是按照基音周期長度進(jìn)行語音合成的,因此,這些參數(shù)需根據(jù)合成語音信號的起始點(diǎn)進(jìn)行參數(shù)插值,具體分為以下2種情況:
1)如果合成語音信號的起點(diǎn)小于80,則判斷前一幀是否為MELP編碼幀,若是,則對前一幀的第2個子幀的參數(shù)與當(dāng)前幀的第1個子幀的參數(shù)進(jìn)行線性插值;否則不進(jìn)行線性插值,直接使用當(dāng)前幀的第1子幀的參數(shù);
2)若合成語音信號起點(diǎn)大于80,對當(dāng)前幀的兩子幀參數(shù)進(jìn)行線性插值。
4.1 客觀MOS值測試
在相同條件下對FS-1016標(biāo)準(zhǔn)中的4.8 kbit/s CELP聲碼器、EVRC的4 kbit/s聲碼器和本文實(shí)現(xiàn)的4 kbit/s聲碼器采用符合ITU-T P.862標(biāo)準(zhǔn)的PESQ軟件進(jìn)行客觀MOS(mean opinion score)值測試。測試對象為P.862標(biāo)準(zhǔn)中男女各8組語音。表2和表3分別是3種聲碼器合成語音的MOS值測試結(jié)果。
表2 男聲MOS值比較
表3 女聲MOS值比較
與FS-1016標(biāo)準(zhǔn)中的4.8 kbit/s聲碼器相比,本文聲碼器的男聲和女聲的平均MOS值都有一定提高。其中,女聲的平均MOS值提高幅度較大。與EVRC中的4 kbit/s聲碼器相比,本文的聲碼器男聲和女聲的平均MOS值均有所降低,平均降了0.05和0.04。由于PESQ是通過比較編碼前后語音信號之間的差異,得到編碼過程中引入的失真,計算出一個類似人工聽力評估測試的MOS分值。如果原始語音與合成語音波形差別較大,測試出來的MOS值較低。由于本文實(shí)現(xiàn)的4 kbit/s聲碼器對強(qiáng)濁音幀采用了參數(shù)編碼方式,而EVRC對所有語音幀均采用波形編碼和參數(shù)編碼的混合方式,因此EVRC聲碼器的合成語音信號在時域波形上要更接近原始語音信號,4 kbit/s 的EVRC聲碼器合成語音的MOS值要略高于本文聲碼器。
4.2 DRT測試
判斷韻字測試(diagnostic rhyme test,DRT)是反映語音清晰度或可懂度的一種主觀測試方法,主要用于低碼率語音編碼器的質(zhì)量評估。本文采用國家標(biāo)準(zhǔn)《GBT 13504—2008漢語清晰度診斷押韻測試(DRT)法》對聲碼器質(zhì)量進(jìn)行測試,測試語音選自《GBT 16532—1996通信設(shè)備清晰度DRT法評價語音材料庫》,測試人員為5男5女在校大學(xué)生。表4是DRT的清晰度等級劃分。
表4 DRT清晰度等級劃分
表5是本文4 kbit/s聲碼器按漢語輔音的6個區(qū)別特征進(jìn)行DRT測試的結(jié)果。女聲和男聲的濁音性和送氣性得分在95以上,這2項(xiàng)的DRT清晰度等級為優(yōu),其他4個區(qū)別特征DRT清晰度等級為良好。男聲和女聲平均DRT得分為93.4,聲碼器清晰度等級為良好。
表5 本文聲碼器DRT測試得分
表6是4 kbit/s 的EVRC聲碼器DRT清晰度測試結(jié)果。女聲的濁音性和緊密型,男聲的濁音性、低層性和持續(xù)性的DRT清晰度得分略高于本文聲碼器,其他區(qū)別特征的DRT清晰度得分均低于本文聲碼器。
本文聲碼器女聲平均DRT清晰度得分比4 kbit/s EVRC聲碼器高了2.3,男聲略低了0.5,男聲和女聲平均DRT清晰度得分要高0.9。測試結(jié)果說明本文聲碼器合成語音的清晰度要略優(yōu)于4 kbit/s EVRC聲碼器。
表6 EVRC聲碼器的 DRT測試得分
結(jié)合MELP和CELP算法的優(yōu)點(diǎn),本文提出并實(shí)現(xiàn)了一種編碼速率為4 kbit/s的混合MELP/CELP聲碼器。通過PESQ客觀MOS值測試,女聲和男聲的MOS值達(dá)到了3.2和3.4以上。采用主觀DRT清晰度測試,女聲和男聲的平均DRT清晰度值分別達(dá)到了94.3和92.5,接近清晰度為優(yōu)的等級。本文實(shí)現(xiàn)的4kbit/s聲碼器的合成語音清晰度高,可應(yīng)用在公眾通信、保密通信和衛(wèi)星移動通信等語音通信系統(tǒng)中。
[1] MCCREE A, TRUONG K, GEORGE E, et al. A 2.4 kbits/s MELP coder candidate for the new US Federeal Standard[C]//Proc. of ICASSP. [s.l.]: IEEE, 1996: 200-203.
[2] TANDEL M, SHAH V, PATEL B. Implementation of CELP coder and to evaluate the performance in terms of bit rate, coding delay and quality of speech[C]//2011 3rd International Conference on Electronics Computer Technology (ICECT). Piscataway, N. J: IEEE Press, 2011: 86-89.
[3] MCCREE A, STACHURSKI J, UNNO T, et al. A 4 kbit/s hybrid MELP/CELP speech coding candidate for ITU standardization[C]//2002 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP). Piscataway, N. J: IEEE Press, 2002: I-629-I-632.
[4] STACHURSKI J, MCCREE A, VISWANATHAN V, et al. Hybrid MELP/CELP coding at bit rates from 6.4 to 2.4 kbit/s[C]//2003 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP). Piscataway, N. J: IEEE Press, 2003: II-153- II-156.
[5] STACHURSKI J, MCCREE A, VISWANATHAN V. High quality MELP coding at bit-rates around 4kbit/s[C]//1999 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP). Piscataway, N. J: IEEE Press, 1999: 485-488.
[6] STACHURSKI J, MCCREE A. A 4 kbit/s hybrid MELP/CELP coder with alignment phase encoding and zero-phase equalization[C]//2000 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP).Piscataway,N.J:IEEE Press,2000:1379-1382.
[7] 馬震. 混合激勵 MVDR 語音編碼技術(shù)研究[D]. 濟(jì)南: 山東大學(xué), 2005. MA Zhen, Research on the MVDR Speech Coding Technology [D].Jinan: Shandong University, 2005.
[8] 劉斌. HYBRID-MELP/CELP語音壓縮編解碼算法的研究[D].成都: 電子科技大學(xué),2005. LIU Bin. Research on HYBRID-MELP/CELP Speech Compression Encoding and Decoding Algorithm [D]. Chengdu: University of Electronic Science and Technology of China, 2005.
[9] QUATIERI T F.離散時間語音信號處理:原理與應(yīng)用[M].趙勝輝,譯.北京:電子工業(yè)出版社,2004:347-350. QUATIERI T F. Discrete time speech signal processing: principle and application [M]. ZHAO Shenghui, Translate. Beijing: Publishing House of Electronics Industry, 2004:347-350.
[10] 王炳錫, 王洪. 變速率語音編碼[M]. 西安: 西安電子科技大學(xué)出版社, 2004: 161-169. WANG Bingxi, WANG Hong. Variable rates speech coding [M]. Xi’an: Xi’an University of Electronic Science and Technology Press, 2004:161-169.
[11] WANG Dusheng, LI Lizhong, ZHANG Jiankang, et al. An Adaptive variable low bit rate multi-band excitation speech coder[C]//2007IEEE International Conference on Industrial Electronics and Applications (ICIEA). Piscataway, N.J: IEEE Press, 2007: 2244-2247.
[12] 計哲. 低速率語音編碼算法研究[D]. 北京: 清華大學(xué), 2011: 17-18. JI Zhe. Research on Low bit Rate Speech Coding Algorithm [D].Beijing: Tsinghua University, 2011:17-18.
(編輯:魏琴芳)
A 4 kbit/s vocoder based on hybrid MELP/CELP
LI Qiang, SHU Qinjun,XIE Hongen, MING Yan
(Chongqing Key Laboratory of Signal and Information Processing, Chongqing University of Posts and Telecommunications, Chongqing 400065, P.R. China)
Taking advantages of mixed excitation linear prediction(MELP) algorithm and code excitation linear prediction(CELP) algorithm, a hybrid MELP/CELP algorithm model is proposed. At the encoder, strongly voiced frames are coded by MELP while weakly voiced frames and unvoiced frames are coded by CELP. In MELP vocoder, the phase alignment technology is adopted to deal with the synchronization issue of original speech and synthesized speech. Objective mean opinion score(MOS) test and subjective diagnostic rhythm test(DRT) on 4 kbit/s hybrid MELP vocoder results indicate that the proposed algorithm offers good performance on high frequency speech signal and the synthesized speech, which achieves high intelligibility and clarity.
low bit rate speech coding;mixed excitation linear prediction;code excitation linear prediction;phase alignment
10. 3979 /j. issn. 1673-825X. 2017. 02. 001
2015-06-24
2016-01-22 通訊作者:李 強(qiáng) liqiang@cqupt.edu.cn
國家高技術(shù)研究發(fā)展計劃(863計劃)(2012AA01A508)
Foundation Item:The National 863 High Tech Research and Development Projects (2012AA01A508)
TN912.3
A
1673-825X(2017)02-0143-06
李 強(qiáng)(1968-),男,湖南人,副教授,主要研究方向?yàn)橐粢曨l信號處理。E-mail: liqiang@cqupt.edu.cn。
舒勤軍(1989-),男,湖北荊州人,碩士研究生,主要研究方向?yàn)檎Z音壓縮編碼及其DSP實(shí)現(xiàn)。E-mail:490005369@qq.com。