雖然現(xiàn)在已經(jīng)有光纖通信等大容量通信手段,但是,在移動通信、衛(wèi)星通信、軍事通信中,節(jié)省帶寬仍然非常重要。傳統(tǒng)的PCM等占用大量信道帶寬的語音編碼技術(shù),已遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)代數(shù)字通信的需要。歐美、日本等國一直在努力通過降低語音編碼速率來擴(kuò)大通信系統(tǒng)的容量。在我國,對低速率語音編碼技術(shù)也有迫切的需要,如保密通信、短波信道、水聲信道等對碼率要求嚴(yán)格的應(yīng)用場合。但現(xiàn)有語音編碼的國際標(biāo)準(zhǔn)傳輸速率都較高(一般在8 Kb/s以上),而現(xiàn)有的一些低速率語音編碼方案的話音質(zhì)量又不盡人意。因此,如何有效地降低編碼速率將一直是重要的研究課題。多帶激勵語音聲碼器(MultiBand Excited,MBE)在2.4~4.8 Kb/s速率上能合成出音質(zhì)比傳統(tǒng)聲碼器好得多的語音,而且具有較好的自然度和容忍環(huán)境噪聲的能力,是目前這一速率范圍內(nèi)比較理想的參數(shù)編碼方案。
1 MBE編碼(語音分析)
1.1 MBE模型
美國MIT大學(xué)林肯實(shí)驗(yàn)室1988年提出了多帶激勵(MBE)語音編碼方案。
MBE語音模型如圖1所示,把激勵頻譜分成許多互不交迭的頻帶,對每一頻帶分別進(jìn)行二元清、濁音判決,這就是多帶激勵的由來。這樣就允許特定語音幀的激勵信號可以是周期能量(濁音)和噪聲能量(清音)的混合,在一定程度上增加了模擬激勵的自由度,因而使MBE語音模型能產(chǎn)生高質(zhì)量的語音,而且使MBE語音模型有更強(qiáng)的抗背景噪聲能力。
1.2參數(shù)提取算法
MBE語音模型主要參數(shù)包括:基音周期;各諧波帶清濁音判決信息;各諧波對應(yīng)譜包絡(luò)幅度。
按照MBE算法原理圖(圖2),參數(shù)提取算法的實(shí)現(xiàn)分為如下四個步驟:
(1)基音周期粗估
基音周期的粗估采用在時域內(nèi)進(jìn)行的方法。因?yàn)閷?shí)際計算中證明,頻域中計算量特別大,并不好用。為解決這一問題,本文采用時域自相關(guān)函數(shù)來估計基音周期的方法,這個方法的計算量比頻域法少得多,但只能在基音周期的整數(shù)點(diǎn)值上進(jìn)行。MBE算法就是對每一幀語音信號,在基音周期預(yù)估值范圍內(nèi)(一般在P=20~147之間),計算誤差函數(shù)Ep(P),使誤差函數(shù)最小的頻率值P就是基音估計的粗估值P1。誤差函數(shù):
(2)基音周期細(xì)搜索
基音周期的細(xì)搜索采用在頻域內(nèi)進(jìn)行的方法,可以進(jìn)一步在頻域范圍內(nèi)進(jìn)行非整數(shù)基音周期的估計,從而提高基音周期估計的精度。即在粗估基音P1鄰域內(nèi)進(jìn)行細(xì)搜索,確定更精確的基音周期候選值Pt:P1-9/8,P1-7/8,…,P1+7/8,P1+9/8。通過上述算法,可以得到真正基音周期P0。
(3)諧波帶清濁音判決(U/V判決)
研究證明,清音帶與濁音帶不會頻繁交替,而是保持著一定的連續(xù)性,這樣在編碼速率較低時,可以將相鄰的幾個諧波頻帶劃分在一起,共同進(jìn)行清濁音判決。本文將相鄰的3個諧頻帶劃分在一起,整個頻帶采用最多分成12個帶的方法進(jìn)行清濁判決。判決閾值采用自適應(yīng)值,如果擬合誤差小于閾值,判為濁音,否則判為清音。
(4)譜幅度估計
確定U/V后,就可以對各諧波的包絡(luò)幅度做最后的確定:
2 MBE解碼(語音合成)
多帶激勵模型語音合成的方法大體分為兩類,即頻域合成法與時域合成法。頻域合成法先用收到的參數(shù)構(gòu)成重建語音譜,然后利用傅里葉反變換得到時域序列,相當(dāng)于分析過程的逆過程。這種方法比較直接,但不能保證合成語音基音周期的平滑變化,特別當(dāng)幀長比較長的時候會產(chǎn)生基音周期跳變,使合成語音不自然。時域合成法能利用插值實(shí)現(xiàn)幀與幀之間基音周期平滑過渡,合成出更自然的語音。因此在實(shí)際的MBE算法中都采用這種方法。如圖3所示,濁音Sv(n)與清音SU(n)是分開合成的,最后將他們相加,形成完整的合成語音SR(n)。
本文對于濁音部分的語音采用時域合成法,因?yàn)樵摲椒衫貌逯祵?shí)現(xiàn)幀與幀之間基音周期的平滑過渡,合成出更自然的語音。而對于清音部分的語音,采用頻域短時傅里葉變換法合成,因?yàn)閹?a href="http://www.nxhydt.com/tags/濾波器/" target="_blank">濾波器在頻域中易于實(shí)現(xiàn),用FFT實(shí)現(xiàn),計算復(fù)雜度更低。
3靜音檢測
3.1概念
研究表明,人們在電話交流時,單向通話的時間通常只占總的通信時間的40%或更少,其他約60%的時間為聆聽對方講話和通信中靜默期。靜默期的參數(shù)(背景噪聲參數(shù))比較簡單,用很少的比特數(shù)即可表示。如果能準(zhǔn)確地判斷出語音/靜音幀,在靜音期間,只發(fā)送很少的比特數(shù),從理論上來看,語音編碼率應(yīng)該可以降低50%左右。
靜音檢測,又稱端點(diǎn)檢測(Voice Activation Detection,VAD),其目的是從聲音信號流里識別長時間的靜音期(背景噪聲),使得在不降低業(yè)務(wù)質(zhì)量的情況下達(dá)到節(jié)省帶寬資源的作用。
3.2算法
本文采用了“基于熵的VAD檢測法”。熵VAD檢測方法是通過對信號幅值分布概率的統(tǒng)計取對數(shù),以得到熵值。如果語音的幅值的絕對值在1.0左右變化,則不能統(tǒng)計出所期望的概率。為了便于統(tǒng)計計算,因此在處理16位的語音文件時,不能將其歸一化處理,而是通過預(yù)處理,使其幅度值分布在[-50,+50]之間。計算前10~20幀信號的熵值的平均值,乘以某個倍數(shù)作為閾值。然后將每一幀的熵值與閾值比較,大于閾值,則VAD=1,否則置0。當(dāng)VAD=1,暫時記為語音的開始點(diǎn),如果向后連續(xù)幾幀都判為1,則該點(diǎn)為起始點(diǎn),否則重新向后搜索。結(jié)束點(diǎn)的搜索方法與開始點(diǎn)相同,只不過是向前搜索而已。
4仿真試驗(yàn)
4.1算法實(shí)現(xiàn)的整體流程圖
前面已經(jīng)詳細(xì)說明了語音幀的編解碼過程與算法,對于加入靜音檢測模塊的整體算法流程圖(圖4),現(xiàn)在簡單說明本文采用的靜音幀的編解碼方法:
(1)靜音幀編碼
當(dāng)VAD檢測結(jié)果為0時,為降低編碼率,靜音幀只發(fā)送該靜音幀的幅度均。
(2)靜音幀的解碼
在解碼端,若VAD判決為0時,即當(dāng)前幀為靜音幀,則生成一均值為0,方差為1的類似白噪聲的隨機(jī)序列u(n),再與編碼端發(fā)送的靜音幀的幅度均值相乘得到自適應(yīng)的白噪聲序列。
4.2試驗(yàn)結(jié)果
原始語音與合成語音時域波形圖比較,如圖5所示。原始語音與合成語音頻譜圖比較,如圖6所示。
4.3結(jié)果分析
仿真結(jié)果表明,基于VAD檢測的MBE模型聲碼器對于語音信號可以很好地區(qū)分出語音幀和靜音幀。同時,采用VAD檢測算法后,對于被檢測出的語音幀執(zhí)行MBE編解碼處理,靜音幀只傳送幀幅度均值,有效地降低了語音編碼速率,對于正常語速的通話,本文的編碼率可以在原來的基礎(chǔ)上減少50%左右。從聽覺效果上來看,采用VAD檢測的MBE算法的合成語音與未采用VAD檢測的一般MBE算法的合成語音幾乎沒有區(qū)別,兩種方法有較好的主觀聽覺效果和可懂度。
5結(jié)語
(1)合成波形失真
從仿真試驗(yàn)結(jié)果的波形圖中可以看出,合成語音波形相對于原始語音波形有一些失真,這與信號處理前的高通濾波器和基音周期粗估前的低通濾波器的設(shè)計有關(guān)。因?yàn)楦咄V波器可使輸入信號抗工頻(50~60 Hz)干擾,低通濾波器可減少高頻共振峰和外來高頻噪聲對基音周期提取的影響。因此,濾波器的設(shè)計在MBE編碼中至關(guān)重要,這也就是下步工作中首要解決的問題。
(2)基音粗估后加入基音平滑模塊,提高基音準(zhǔn)確度、平滑語音
由于噪聲的干擾,造成基音周期粗估值的錯鎖(通常是1/2倍頻或1/3倍頻),而基音細(xì)搜索只在基音粗估值的附近進(jìn)行,這就使得基音頻率以及幀之間有很大跳變,合成語音有停頓感。因此,在基音粗估后加入基音平滑模塊,有利于提取基音頻率較高時的基音周期,又不至于影響提取基音周期頻率較低時的基音周期;它既能保證基音周期的正確估計,又能保證基音演變的平滑性,最終得到音質(zhì)好的合成語音。
評論
查看更多