專利名稱:從基于celp的語音編碼器中去除回旋噪聲的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字語音通信,更具體地說是涉及當(dāng)在包括低或中級非周期信號的背景噪聲中進(jìn)行操作時(shí)從象向量和激勵線性預(yù)測(VSELP)編碼器這樣的基于碼激勵線性預(yù)測(CELP)的編碼器中去除回旋噪聲。
北美的蜂窩電信系統(tǒng)正在從當(dāng)前的模擬調(diào)頻(FM)形式向數(shù)字系統(tǒng)發(fā)展。為了進(jìn)行傳輸,數(shù)字系統(tǒng)必須對語音進(jìn)行編碼并接著在接收方從接收到的編碼傳輸信號中合成出語音。對于市場上可接受的系統(tǒng),合成的語音不僅是清晰的,而且要盡可能地接近原始語音。
碼本激勵線性預(yù)測是一種用于語音編碼的技術(shù),其基本技術(shù)包括在隨機(jī)分布激勵向量的碼本中尋找產(chǎn)生一個(gè)與輸入序列最接近的輸出序列(當(dāng)經(jīng)過音調(diào)(pitch)與線性預(yù)測編碼(LPC)短期(short term)合成濾波器濾波后)的向量。為完成這項(xiàng)任務(wù),在碼本中所有的候選激勵向量必須均經(jīng)語音和LPC合成濾波器濾波以產(chǎn)生一個(gè)可與輸入序列進(jìn)行比較的候選輸出序列。使得CELP成為廣泛計(jì)算的算法,它具有包括1024個(gè)入口,每個(gè)入口具有40個(gè)樣本的典型碼本。另外,常使用一個(gè)增加計(jì)算量的誤差加權(quán)濾波器。
許多技術(shù)已被認(rèn)為可以減輕CELP編碼器的計(jì)算量??焖贁?shù)字信號處理器有助于實(shí)時(shí)地實(shí)現(xiàn)象CELP這樣的非常復(fù)雜的算法。另一種策略是被稱作向量和激勵線性預(yù)測編碼(VSELP)的CELP算法的變形。電信工業(yè)組織(TIA)已采納了一個(gè)使用一全速率8.0Kbps VSELP語音編碼器,防錯(cuò)卷積編碼,差分正交移相鍵控(QPSK)調(diào)制和一個(gè)時(shí)分,多址(TDMA)模式的IS54標(biāo)準(zhǔn)。見IS54修訂A,文本號EIA/TIA PN2398。
在Gerson的美國專利第4,817,157號中公開了當(dāng)前采用的VSELP碼本搜尋方法。Gerson指出了針對繁多的碼本搜索存在的極高的計(jì)算復(fù)雜性的問題。Gerson技術(shù)是以用按格雷(Gray)碼排列的一組向量和碼向量對VSELP判斷函數(shù)進(jìn)行遞歸修改為基礎(chǔ)的。通過大量地搜索Gray碼排序碼向量集的集合來獲得取最低碼向量。電子工業(yè)協(xié)會(EIA)在1991年8月出版了作為雙模式移動站,基站蜂窩電話系統(tǒng)兼容標(biāo)準(zhǔn)的EIA/TIA暫行標(biāo)準(zhǔn)PN 2759。該標(biāo)準(zhǔn)采納了Gerson VSELP碼本搜索方法。
使用LPC系數(shù)模擬輸入語音的基于CELP的編碼器適用于純凈的信號;而當(dāng)在輸入信號中出現(xiàn)背景噪音時(shí),編碼器在模擬信號時(shí)效果較差。這就導(dǎo)致當(dāng)在接收方解碼后會出現(xiàn)某些噪聲。這些噪聲嚴(yán)重地降低了傳輸語音的聽覺質(zhì)量。
因而本發(fā)明的一個(gè)目的是當(dāng)在噪聲背景條件下進(jìn)行操作時(shí)通過去除在靜音階段的回旋噪聲從而在由象VSELP編碼器那樣的一個(gè)基于CELP的編碼器處理的語音的聽覺方面提供改進(jìn)。
根據(jù)本發(fā)明,在沒有檢測到語音時(shí)去除輸入信號的低頻部分,從而在靜音階段去除回旋噪聲。這樣導(dǎo)致在接收器方較好的語音聽覺。本發(fā)明使用了語音活動檢測器(VAD)以區(qū)分周期信號(如語音)和非周期信號(如噪聲)。這種VAD使用了許多VSELP編碼器的內(nèi)部參數(shù)來確定語音和非語音條件。更具體地說,即使是實(shí)際輸入信號并不具有任何周期性,VSELP編碼器也傾向于從非周期性輸入信號中確定出音調(diào)信息。這樣從一非語音信號中確定出音調(diào)就產(chǎn)生了在接收器方重現(xiàn)信號中的回旋噪聲。為防止VSELP編碼器根據(jù)非周期信號確定音調(diào),對于輸入信號使用一個(gè)高通濾波器來去除VSELP編碼器搜索的音調(diào)信息。去除音調(diào)信息只允許碼搜索過程產(chǎn)生語音幀信息。可選地,可以使VSELP編碼器說明一個(gè)非音調(diào)條件并繼續(xù)進(jìn)行沒有音調(diào)信息的處理。
根據(jù)下述對一個(gè)參照圖例的本發(fā)明的最優(yōu)實(shí)施例的詳細(xì)描述可以較好地理解前述的和其它的目標(biāo),方面和優(yōu)點(diǎn),其中
圖1為使用兩個(gè)VSELP激勵碼本的語音解碼器的模塊圖;
圖2為使用兩個(gè)VSELP激勵碼本和一個(gè)過去的激勵的長期濾波器的語音合成器的模塊圖;
圖3為用于從VSELP編碼器中去除回旋噪聲的電路的模塊圖;
圖4為一個(gè)說明語音活動檢測處理的結(jié)構(gòu)的模塊圖。
現(xiàn)在參照圖例,更具體地講是參照圖1,在這里給出一個(gè)關(guān)于使用兩個(gè)如上述EIA/TIA暫行標(biāo)準(zhǔn)宣布的VSELP激勵碼本12和14的語音解碼器10的模塊圖。這些碼本通常均用包含長度為N的M個(gè)基向量的只讀存儲器(ROM)來實(shí)現(xiàn),其中M為碼字的位數(shù)而N為向量中的樣值數(shù)。碼本12接收一個(gè)輸入碼1并提供一個(gè)輸出向量。碼本14接收一個(gè)輸入碼H并提供一個(gè)輸出向量。在乘法器16處這些向量均由相應(yīng)的增益項(xiàng)γ1和γ2分別在乘法器16和18處放大。另外,通常為隨機(jī)存取存儲器的長期濾波器狀態(tài)存儲器2。接收一個(gè)輸入滯后碼L并提供一個(gè)表示長期濾波器狀態(tài)的輸出bL(n)。在乘法器22處用增益項(xiàng)b對此加以定標(biāo)。從三個(gè)乘法16,18和22的輸出由求和器24組合以構(gòu)成一個(gè)激勵信號,ex(n)。如虛線所示,這個(gè)組合激勵信號被反饋以修改長期濾波器狀態(tài)存儲器20。該激勵信號也被用于由Z-變換 1/(A(z)) 表示的線性預(yù)測碼(LPC)合成濾波器26。合成濾波器26的轉(zhuǎn)移函數(shù)為由短期濾波器系數(shù)ai控制的時(shí)間變式。當(dāng)用合成濾波器26重新構(gòu)成語音語號后,使用自適應(yīng)頻譜后置濾波器(postfilter)28來增強(qiáng)重新構(gòu)成的語音的質(zhì)量。自適應(yīng)頻譜后置濾波器是語音解碼器中的最終處理步驟,而數(shù)字輸出語音信號被輸入一個(gè)數(shù)模(D/A)轉(zhuǎn)換器(未給出)以產(chǎn)生被一揚(yáng)聲器放大并重現(xiàn)的模擬信號。
下述為針對由EIA/TIA暫行標(biāo)準(zhǔn)規(guī)定的7950 bps語音編碼器和解碼器的基本參數(shù)
圖2為用于產(chǎn)生傳送給圖1中解碼器的碼字I和H,滯后L,增益β,γ1和γ2的編碼器30的模塊圖。編碼器包括兩個(gè)類似于碼本12和14的VSELP激勵碼本32和34。碼本32接收一個(gè)輸入碼I并提供一個(gè)輸出向量。碼本34接收一個(gè)輸入碼H并提供一個(gè)輸出向量。每個(gè)向量均由對應(yīng)的增益項(xiàng)γ1和γ2分別在乘法器36和38處進(jìn)行換算。另外,長期濾波器狀態(tài)存儲器40接收一個(gè)輸入滯后碼L并提供一個(gè)表示長期濾波器狀態(tài)的輸出,bL(n)。在乘法器42處通過一增益項(xiàng)β也對該輸出加以換算。從三個(gè)乘法器36,38和42的輸出被求和器44組合以構(gòu)成一個(gè)激勵信號,ex(n)。這個(gè)組合激勵信號被加到由z-變換H(z)表示的加權(quán)合成濾波器46。這是一個(gè)全極濾波器和帶寬擴(kuò)展合成濾波器 1/(A(γ-1Z)) 。合成濾波器46的輸出為向量P’(n)。采樣語音信號s(n)被輸入到具有一個(gè)由Z-變換W(z)表示的轉(zhuǎn)移函數(shù)的加權(quán)濾波器48以產(chǎn)生加權(quán)語音向量p(n)。p(n)為子幀的加權(quán)輸入語音減去加權(quán)合成濾波器46的零輸入響應(yīng)。向量p’(n)在減法器50從加權(quán)語音向量p′(n)中減去以產(chǎn)生一個(gè)差信號e(n)。信號e(n)經(jīng)模塊52中的平方和分析以產(chǎn)生一個(gè)總加權(quán)誤差的輸出,并輸入給誤差最小化處理54。誤差最小化處理順序地(每次一個(gè))選擇滯后L,碼字I和H以使總加權(quán)誤差最小。
參照目前已做到的,圖3給出了對基本VSELP編碼器的改進(jìn)。輸入信號被模數(shù)(A/D)轉(zhuǎn)換器54數(shù)字化并被提供給開關(guān)56的一極。數(shù)字化輸入信號也通過一個(gè)高通濾波器58提供給開關(guān)56的第二個(gè)極。通過語音活動檢測器(VAD)60控制開關(guān)56來選擇數(shù)字化輸入信號或來自濾波器58的高通濾波輸出。開關(guān)56的輸出被提供給VSELP編碼器62。VAD60接收原始的數(shù)字化輸入信號和VSELP編碼器62的輸出??梢岳斫猓坏┠M輸入信號被A/D轉(zhuǎn)換器54以通常的8KHz采樣速率采樣,則由圖3的模塊圖中剩余模塊表示的所有處理均由如TMS 320C5x單片DSP那樣的數(shù)字信號處理(DSP)來完成。
如上所述,VSECP編碼器62確定音調(diào)和輸入信號轉(zhuǎn)移函數(shù)(即反射系數(shù))。VAD60使用由VSELP編碼器62產(chǎn)生的反射系數(shù)和輸入信號來產(chǎn)生語音(即一個(gè)TRUE輸出)或非語音(即一個(gè)FALSE輸出)的判決。TRUE輸出使開關(guān)56選擇來自A/D轉(zhuǎn)換器54的數(shù)字化輸入信號,而FALSE輸出使開關(guān)56選擇來自高通濾波器58的高通濾波輸出。更具體地講,VAD60使用來自VSELP編碼器62的反射系數(shù)來確定當(dāng)前幀LPC系數(shù)而這些LPC系數(shù)和前面確定的LPC系數(shù)歷史記錄被求平均值并被存儲在緩沖區(qū)中。原始的160個(gè)輸入樣值經(jīng)500Hz高通濾波并用于確定自樣關(guān)函數(shù)(ACF),而這個(gè)ACF和前面確定的ACF被存在一個(gè)緩沖區(qū)中。這種數(shù)據(jù)被VAD的用戶確定是否出現(xiàn)語音。參照前已做的,圖4給出了這種檢測處理的結(jié)構(gòu)。輸入數(shù)字化語音被輸入到語音緩沖區(qū)64,在實(shí)施例中該緩沖區(qū)存儲160個(gè)語音樣值。來自語音緩沖區(qū)64的語音樣值被提供給幀參數(shù)函數(shù)66和余音和音調(diào)檢測器函數(shù)68。幀參數(shù)函數(shù)66使用VSELP反射系數(shù)給音調(diào)檢測器函數(shù)68確定當(dāng)前幀LPC系數(shù)67而音調(diào)檢測器函數(shù)68輸出一個(gè)當(dāng)在語音幀中檢測到音調(diào)時(shí)則為真的布爾變量69。在語音檢測器函數(shù)68中確定周期性信號的存在。幀參數(shù)函數(shù)66也提供一個(gè)作為自相關(guān)函數(shù)(ACF)的當(dāng)前的和前三個(gè)幀的輸出70和作為基于平均ACF函數(shù)的LPC系數(shù)的五個(gè)集合的輸出71。輸出71被提供給平均函數(shù)72,并接著產(chǎn)生一個(gè)表示當(dāng)前余音能量的輸出73。是布爾變量69時(shí),輸出73被輸入給噪聲分類函數(shù)74。作為其輸出,噪聲分類函數(shù)74產(chǎn)生噪聲LPC系數(shù)75,它和來自幀參數(shù)函數(shù)66的輸出70一起輸入給自適應(yīng)濾波和能量計(jì)算函數(shù)76,并輸出當(dāng)前余音能量77。VAD判斷函數(shù)78產(chǎn)生語音/非語音判斷輸出79。
這樣,可以理解VAD 60基本上是一個(gè)能量檢測器。把濾波信號能量和一個(gè)閥值相比較,只要檢測到閥值就檢測到了語音。VAD 60的一個(gè)FALSE輸出導(dǎo)致通過高通濾波器58到VSELP編碼器62的輸入,從而除去輸入信號的低頻(即語音)部分并因此去除VSELP編碼器62在靜音階段產(chǎn)生的回旋噪聲。
這樣根據(jù)一個(gè)最優(yōu)實(shí)施例已對本發(fā)明進(jìn)行了描述,本領(lǐng)域的技術(shù)人員會認(rèn)識到本發(fā)明可以在所附權(quán)利要求書的宗旨和范圍內(nèi)在實(shí)際應(yīng)用中加以修改。
權(quán)利要求
1.從基于碼激勵線性預(yù)測(CELP)的編碼器(62)中去除回旋噪聲的系統(tǒng),該系統(tǒng)包括一個(gè)所連接的接收輸入信號的轉(zhuǎn)換開關(guān)(56),上述輸入信號包括周期和非周期信號;一個(gè)所連接的接收上述輸入信號并可從上述輸入信號中去除低頻分量的高通濾波器(58),上述轉(zhuǎn)換開關(guān)可被控制有選擇地向基于CELP的編碼器提供上述輸入信號和上述高通濾波器的輸出;和一個(gè)所連接的接收上述輸入信號和來自上述基于CELP的編碼器的信息并產(chǎn)生一個(gè)指示在上述輸入信號中存在周期信號的輸出的檢測器(60),而上述檢測器當(dāng)檢測到周期信號時(shí)控制上述轉(zhuǎn)換開關(guān)把上述輸入信號連接到基于CELP的編碼器,而當(dāng)檢測非周期信號時(shí)把上述高通濾波器的輸出連接到上述基于CELP的編碼器。
2.如權(quán)利要求1所述的系統(tǒng),其中上述檢測器接收來自上述基于CELP的編碼器的反射系數(shù)(66)并確定上述輸入信號的能量級(76)從而確定在上述輸入信號中周期信號的存在。
3.如權(quán)利要求1或2所述的系統(tǒng),其中上述由高通濾波器去除的低頻分量對應(yīng)于音調(diào)信息。
4.一個(gè)用于從基于碼激勵線性預(yù)測(CELP)的語音編碼器(62)中去除回旋噪聲的方法,該方法包括的步驟有采樣輸入信號并把輸入信號樣值轉(zhuǎn)換成數(shù)字值(54),上述輸入信號包括周期和非周期信號,上述周期信號為語音類信號而上述非周期信號為噪聲類信號;對輸入信號的上述數(shù)字值進(jìn)行高通濾波從而從輸入信號的樣值中去降低頻分量,上述低頻分量對應(yīng)于語音信息;使用所連接的用以接收上述輸入信號的數(shù)字值和來自上述基于CELP的語音編碼器的信息的語音活動檢測器(VAD)(60)來確定在上述輸入信號中語音類信號的存在;并有選擇地把上述輸入信號的數(shù)字值或高通濾波的數(shù)字值提供(56)給基于CELP的語音編碼器,當(dāng)檢測到語音類信號時(shí)上述輸入信號的數(shù)字值被連接到上述基于CELP的語音編碼器而當(dāng)檢測到噪聲類信號時(shí)高通濾波的數(shù)字值被連接到上述基于CELP的語音編碼器。
5.如權(quán)利要求4所述的方法,該方法進(jìn)一步包括在上述VAD檢測到噪聲類信號時(shí)有選擇地使上述基于CELP的語音編碼器說明一個(gè)非音調(diào)條件,上述基于CELP的語音編碼器繼續(xù)處理沒有音調(diào)信息的輸入信號的數(shù)字值,而當(dāng)上述VAD檢測到語音類信號時(shí),上述基于CELP的語音編碼器恢復(fù)對具有音調(diào)信息的輸入信號的數(shù)字值的處理。
全文摘要
通過去除靜音階段的回旋噪聲改進(jìn)當(dāng)在噪聲背景條件下操作時(shí)由一個(gè)如VSELP編碼器那樣的基于CELP的編碼器處理的語音的聽覺。這是通過在沒有檢測到語音時(shí)去除輸入信號的低頻分量來實(shí)現(xiàn)的。通過使用許多VSELP編碼器內(nèi)部參數(shù)確定語音和非語音條件,語音活動檢測器區(qū)分語音類的周期信號和噪聲類的非周期信號。為防止VSELP編碼器針對非周期信號確定出語音,對輸入信號使用一個(gè)高通濾波器來去除VSELP編碼器所搜尋的語音信息。
文檔編號G10L19/00GK1113586SQ9411298
公開日1995年12月20日 申請日期1994年12月19日 優(yōu)先權(quán)日1993年12月20日
發(fā)明者卡爾彥·甘尼山, 侯·里, 普拉伯海特·格普塔 申請人:休斯航空公司