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