專利名稱:周期性語音編碼法的制作方法
背景技術(shù):
I、發(fā)明領(lǐng)域本發(fā)明涉及語音信號編碼。具體而言,本發(fā)明涉及通過只量化信號的原型部分而對準(zhǔn)周期性語音信號編碼。
II、相關(guān)技術(shù)的說明當(dāng)今的許多通信系統(tǒng),特別是遠(yuǎn)距與數(shù)字無線電話應(yīng)用中,都把話音當(dāng)作數(shù)字信號發(fā)射。這類系統(tǒng)的性能部分取決于以最少的位數(shù)精確地代表話音信號。簡單地通過采樣與數(shù)字化來發(fā)送語音,為了達(dá)到普通模擬電話的語音質(zhì)量,要求數(shù)據(jù)速率為每秒64kb(kbps)。然而,現(xiàn)有的編碼技術(shù)可明顯減少正常語音再現(xiàn)所需的數(shù)據(jù)速率。
術(shù)語“聲碼器”一般指根據(jù)人類語音發(fā)生模型通過提取諸參數(shù)來壓縮發(fā)出的語音的裝置。聲碼器包括編碼器與解碼器,編碼器分析送入的語音并提取相關(guān)的參數(shù),解碼器用經(jīng)傳輸信道接收自編碼器的諸參數(shù)合成語音。通常把語音信號分成幾幀數(shù)據(jù)與字塊供聲碼器處理。
聲碼器建立垢基于線性預(yù)測的時域編碼方案,在數(shù)量上遠(yuǎn)遠(yuǎn)超過了其它各類編碼器。這類技術(shù)從語音信號里提取諸相關(guān)的單元,只編碼不相關(guān)的單元?;镜木€性預(yù)測濾波器預(yù)測的當(dāng)前樣本作為過去樣本的一種線性組合。Thomas E.Tremain等人撰寫的論文“一種4.8kbps碼受激線性預(yù)測編碼器”(移動衛(wèi)星會議錄,1998),描術(shù)了一例這類特定的編碼算法。
這類編碼方案除去語音中固有的所有自然冗余度(即相關(guān)單元),把數(shù)字化語音信號壓縮成低位速率信號。許語一般呈現(xiàn)出唇與舌的機(jī)械動作造成的短期冗余度和聲帶振動造成的長期冗余度。線性預(yù)測方案把這些動作模擬成濾波器,除去冗余度,再將得到的剩余編碼器通過發(fā)送濾波器系數(shù)和量化噪聲而不是發(fā)送全帶寬的語音信號,可以減小位速率。
然而,即使是這些減小的位速率,也往往超過了有效帶寬,其中語音信號必須遠(yuǎn)距離傳播(如地面到衛(wèi)星),或在擁擠的信道中與許多其它信號共存。因此,要求有一種改進(jìn)的編碼方案,以實(shí)現(xiàn)比線性預(yù)測方案更低的位速率。
發(fā)明內(nèi)容
本發(fā)明是一種編碼準(zhǔn)周期性語音信號的新穎改進(jìn)方法。語音信號表示為用線性預(yù)測編碼(LPC)分析濾波器濾波語音信號而產(chǎn)生的剩余信號,通過從其當(dāng)前幀中提取原型周期而編碼。算出單一組參數(shù),該組參數(shù)描繪如何將前一個原型周期更新到接近當(dāng)前原型周期。選擇一個或多個代模矢量,相加時,接近當(dāng)前原型刪期與被修改的前一原型周期之差。第二組參數(shù)描繪這些選擇的代碼矢量。解碼器根據(jù)第一與第二組參數(shù)至建當(dāng)前原型周期,合成輸出語音信號。然后,將剩余信號內(nèi)插在當(dāng)前重建的原型周期與前一重建的原型周期之間的區(qū)域上,解碼器根據(jù)該內(nèi)插的剩余信號合成輸出語音。
本發(fā)明的一個特征是用原型周期代表并重建語音信號。編碼原型周期而不是整個語音信號,減小了要求的位速率,由此轉(zhuǎn)換成更高的容量,更大的距離與更小的功率要求。
本發(fā)明的另一特征是把過去原型周期用作當(dāng)前原型周期的預(yù)測器。對當(dāng)前原型周期與優(yōu)化旋轉(zhuǎn)縮放的前一原型周期之差作編碼與發(fā)送,進(jìn)一步減小了要求的位速率。
本發(fā)明的再一特征是解碼器根據(jù)連續(xù)原型周期的加權(quán)平均和平均滯后,在連續(xù)重建的原型周期之間作內(nèi)插,重建剩余信號。
本發(fā)明的又一特征是用多級代碼簿對發(fā)送的誤差矢量編碼,代碼簿可有效地存貯和搜索代碼數(shù)據(jù)。為達(dá)到期望的精度等級,另可加級。
本發(fā)明的再一特征是用彎曲器有效地改變第一信號的長度以與第二信號長度匹配,其中編碼操作要求兩信號同長。
本發(fā)明的還有一個特征是提取的原型周期須經(jīng)“無切割”區(qū),避免了輸出因沿幀邊界分割高能區(qū)而造成不連續(xù)。
通過以下結(jié)合附圖所作的詳述,本發(fā)明的特征、目的和優(yōu)點(diǎn)將更清楚,圖中用同樣的標(biāo)號表示同樣或功能上類擬的元件。另外,標(biāo)號最左邊的數(shù)字表示首次出現(xiàn)該標(biāo)號的圖。
附圖概述
圖1是表示信號傳輸環(huán)境的圖;圖2是詳細(xì)示出編碼器102和解碼器104的圖;
圖3是表示本發(fā)明可變速率語音編碼的流程圖;圖4A是表示一幀話音語音分割為若干子幀的圖;圖4B是表示一幀非話音語音分割為若干子幀的圖;圖4C是表示一幀過渡語音分為若干子幀的圖;圖5是描繪原始參數(shù)計(jì)算的流程圖;圖6是描繪語音分類為有效或無效的流程圖;圖7A是表示CELP編碼器的圖;圖7B是表示CELP解碼器的圖;圖8是表示音調(diào)濾波器模塊的圖;圖9A是表示PPP編碼器的圖;圖9B是表示PPP解碼器的圖;圖10是表示PPP編碼法(包括編解碼)步驟的流程圖;圖11是措述原型剩余周期提取流程圖;圖12是示出從當(dāng)前幀剩余信號提取的原型剩余周期和從前一幀提取的原型剩余周期的圖;圖13是計(jì)算旋轉(zhuǎn)參數(shù)的流程圖;圖14是表明編碼代碼簿工作的流程圖;圖15A是表示第一濾波器更新模塊實(shí)施例的圖;圖15B是表示第一周期內(nèi)插器模塊實(shí)施例的圖;圖16A是表示第二濾波器更新模塊實(shí)施例的圖;圖16B是表示第二周期內(nèi)插器模塊實(shí)施例的圖;圖17是描述第一濾波器更新模塊實(shí)施例的工作的流程圖;圖18是描述第二濾波器更模塊實(shí)施例的工作的流程圖;圖19是描述原型剩余周期對準(zhǔn)與內(nèi)插的流程圖;圖20是描述第一實(shí)施例根據(jù)原型剩余周期重建語音信號的流程圖;圖21是描述第二實(shí)施例根據(jù)原型剩余周期重建語音信號的流程圖;圖22A是表示NELP編碼器的圖;圖22B是表示NELP解碼器的圖;和圖23是描述NELP編碼法的流程圖。
本發(fā)明的較件實(shí)施方式
I.環(huán)境概述II.發(fā)明概述III.原始參數(shù)確定A.計(jì)算LPC系數(shù)B.LSI計(jì)算C.NACF計(jì)算D.音調(diào)軌跡與滯后計(jì)算E.計(jì)算帶能與零交叉率F.計(jì)算元音共振峰(formant)余量IV.有效/無效語音分類A.拖尾(hangover)幀V.有效語音幀分類VI.編碼器/解碼器模式選擇VII.代碼受激的線性預(yù)測(CELP)編碼模式A.音調(diào)編碼模塊B.編碼代碼簿C.CELP解碼器D.濾波器更新模塊VIII.原型音調(diào)周期(PPP)編碼模式A.提取模式B.旋轉(zhuǎn)相關(guān)器C.編碼代碼簿D.濾波器更新模塊E.PPP解碼器F.周期內(nèi)插器IX.噪聲激勵的線性預(yù)測(NELP)編碼模式X.結(jié)論。
I.環(huán)境概述要發(fā)明針對可變速率語音編碼的新穎改進(jìn)的方法和設(shè)備。圖1示出信號傳輸環(huán)境100,它包括編碼器102、解碼器104和信號傳輸媒體106。編碼器102對語音信號s(n)編碼,形成的編碼語音信號senc(n)通過傳輸媒體106傳輸給解碼器104,后者對senc(n)解碼而生成合成的語音信號(n)。
這里的“編碼”一般指包括編碼二者的方法。一般而言,編碼方法和設(shè)備試圖將通過傳輸媒體106發(fā)送的位數(shù)減至最少(即將senc(n)的帶寬減至最少),同時保持可接受的語音再現(xiàn)(即(n)≈s(n))。編碼語音信號的成分隨具體的語音編碼方法而不同。下面描述根據(jù)它們工作的各種編碼器102、解碼器104和編碼方法。
下述編碼器102和解碼器104的元件,可用電子硬件,計(jì)算機(jī)軟件或二者的組合構(gòu)成,下面按其功能描述這些元件。功能用硬件實(shí)施還是用軟件實(shí)施,將取決于具體應(yīng)用和對整個系統(tǒng)的設(shè)計(jì)限制性。熟練的技術(shù)人員應(yīng)該知道硬軟件在這些場合中的互換性以及如何最佳地實(shí)施對每個具體應(yīng)用描述的功能。
本領(lǐng)域的技術(shù)人員應(yīng)明白,傳輸媒體106可以代表許多不同的傳輸媒體,包括(但不限于)陸基通信線路、基站與衛(wèi)星間的鏈路、蜂窩電話與基站或蜂窩電話與衛(wèi)星間的無線通信。
本領(lǐng)域的技術(shù)人員還將明白,通信的每一方通常都作發(fā)射與接收,因此每一方都要求有編碼器102和解碼器104。然而,下面將把信號傳輸環(huán)境100描述成在傳輸媒體106的一端包括編碼器102,另一端包括解碼器104。技術(shù)人員將容易明白如何將這些設(shè)想擴(kuò)展到雙向通信。
為了進(jìn)行描述,假定s(n)是在一般交談中得到的數(shù)字語音信號,交談包括不同的語音發(fā)聲與靜寂周期。語音信號s(n)最好分成若干幀,每個幀又分成若干子幀(最好為4個)。在作字快處理時,如在本文情況下,一般應(yīng)用這些任意選擇的幀/子幀邊界,對幀敘述的操作也適用于子幀,在這方面幀與子幀在這里可互換使用。然而,若是連續(xù)處理而不是字塊處理,s(n)就根本無須分為幀/子幀。技術(shù)人員很容易明白如何將下述的字塊技術(shù)擴(kuò)展到連續(xù)處理。
在一較佳實(shí)施例中,s(n)以8kHz作數(shù)字采樣。每幀最好含20ms數(shù)據(jù),即在8kHz速率下為160個樣本,所以各子幀含40個數(shù)據(jù)樣本。要著重指出,下面的許多公式都假設(shè)了這些值。然而,技術(shù)人員將明白,雖然這些參數(shù)適合語音編碼,但是僅僅為了示例,可以應(yīng)用其它合適的替代參數(shù)。
II.發(fā)明概述本發(fā)明的方法和設(shè)備涉及到編碼與語音信號s(n)。圖2詳細(xì)示出了編碼器102和解碼器104。根據(jù)本發(fā)明,編碼器102包括原始參數(shù)計(jì)算模塊202,分類模塊208和一種或多種編碼器模式204。解碼器104包括一種或多種解碼器模式206。解碼器模式數(shù)Nd一般等于編碼器模式數(shù)Ne。如技術(shù)人員所知,編碼器模式,與解碼器模式1相聯(lián)系,其它依次類推。如圖所示,編碼的語音信號senc(n)通過傳輸媒體106發(fā)送。
在一較佳實(shí)施例中,根據(jù)哪一模式最適合當(dāng)前幀規(guī)定的s(n)特性,編碼器102在各幀的多個編碼器模式之間作動態(tài)切換,解碼器104也在各幀的相應(yīng)解碼器模式之間作動態(tài)切換。對每一幀選擇一具體模式,以獲得最低位速率并保持解碼器可接受的信號再現(xiàn)。這一過程稱為可變速率語音編碼,因?yàn)榫幋a器的位速率隨時間而變化(作為信號變化的特點(diǎn))。
圖3是流程圖300,描述了本發(fā)明的可變速率語音編碼法。在步驟302,原始參數(shù)計(jì)算模塊202根據(jù)當(dāng)前幀的數(shù)據(jù)計(jì)算各種參數(shù)。在一較佳實(shí)施例中,這些參數(shù)包括下列參數(shù)之一或幾個線性預(yù)測編碼(LPC)濾波器系數(shù)、線路譜信息(LSI)系數(shù)、歸一化自相關(guān)函數(shù)(MACF)、開環(huán)滯后、帶能、零交叉速率和元音共振峰分剩余信號。
在步驟304、分類模塊208把當(dāng)前幀分為含“有效”或“無效”的語音。如上所述,s(n)假定對普通談話包括語音周期與靜寂周期。有效語音包括說出的單詞,而無效語音包括其它任何內(nèi)容,如背景噪聲、靜寂、間歇。下面詳細(xì)描述本發(fā)明把語音分為有效/無效的方法。
如圖3所示,步驟306研究當(dāng)前幀在步驟304是否被分為有效或無效,若有效,控制流程進(jìn)到步驟308;若無效,控制流程進(jìn)到步驟310。
被分為有效的幀在步驟308再分為話音幀、非話音幀或過渡幀。技術(shù)人員應(yīng)明白,人類語音可用多種不同的方法分類。兩種常用的語音分類是話音聲與非話音聲。根據(jù)本發(fā)明,把非話音語音都?xì)w為過渡語音。
圖4A示出一例含話音語音402的s(n)部分。產(chǎn)生話音聲時,迫使空氣通過喉門并調(diào)節(jié)聲帶的緊度,以松馳振蕩方式振動,由此產(chǎn)生激發(fā)發(fā)音系統(tǒng)的準(zhǔn)周期空氣脈沖。話音語音測出的一個共同特性是圖4A所示的音調(diào)周期。
圖4B示出一例含非話音語音404的s(n)部分。產(chǎn)生非話音時,在發(fā)音系統(tǒng)的某一點(diǎn)形成收縮部(通常朝向嘴端),迫使空氣以足夠高的速度通過該收縮部而產(chǎn)生擾動,得到的非話音語音信號類似于有色噪聲。
圖4C示出一例含過渡語音406(即既不是話音也不是非話音的語音)的s(n)部分。圖4C列舉的過渡語音406可以代表s(n)在非話音語音與話音語音音的轉(zhuǎn)變。技術(shù)人員將明白,可根據(jù)這里描述的技術(shù)應(yīng)用多種不同的語音分類獲得到可比的結(jié)果。
在步驟310,根據(jù)步驟306和308作出的幀分類,選擇編碼器/解碼器模式。各種編/解碼器模式平行連接,如圖2所示,一種或多種此類模式可在規(guī)定時間工作。但如下所述,最好在規(guī)定時間只有一種模式工作,并按當(dāng)前幀分類選擇。
以下幾段描述幾種編/解碼器模式。不同的編/解碼器模式按不同的編碼方案工作。有些模式在語音信號s(n)呈現(xiàn)某些特點(diǎn)的編碼部分更為有效。
在一較佳實(shí)施例中,對分類為過渡語音的代碼幀選用“代碼受激線性預(yù)測”(CELP)模式,該模式用量化型線性預(yù)測剩余信號激發(fā)線性預(yù)測發(fā)音系統(tǒng)模型。這里描述的所有編/解碼器模式中,CELP通常產(chǎn)生最準(zhǔn)確的語音再現(xiàn),但要求最高的位速率。
對分類為話音語音的代碼幀,最好選用“原型音調(diào)周期”(PPP)模式。話音語音包含可被PPP模式利用的慢時變周期分量。PPP模式只對每幀內(nèi)音調(diào)周期的子組編碼。語音信號的其余周期通過這些原型周期間的內(nèi)插而重建。利用話音語音的周期性,PPP能實(shí)現(xiàn)比CELP更低的位速率。且仍能以感性的精確方式再現(xiàn)該語音信號。
對分類為非話音語音的代碼幀,可選用“噪聲受激線性預(yù)測”(CELP)模式,它用經(jīng)濾波的偽隨機(jī)噪聲信號模擬非話音語音。NELP對編碼語音應(yīng)用最簡單的模型,所以位速率最低。
同一種編碼技術(shù)能以不同的位速率頻繁地工作,性能級別不同。因此,圖2中不同的編碼器/解碼器模式可代表不同的編碼技術(shù)的相同編碼技術(shù),或上述情況相組合。技術(shù)人員應(yīng)明白,增加編/解碼器模式數(shù)量,選擇模式更靈活,且能導(dǎo)致更低的平均位速率,不過整個系統(tǒng)會更復(fù)雜。在指定系統(tǒng)中應(yīng)用的具體組合,將決定于現(xiàn)有的系統(tǒng)資源與特定的信號環(huán)境。
在步驟312,選用的編碼器模式204對當(dāng)前幀編碼,最好將編碼的數(shù)據(jù)裝入數(shù)據(jù)包傳輸。在步驟314,對應(yīng)的解碼器模式206打開數(shù)據(jù)包,對收到的數(shù)據(jù)解碼并重建該語音信號。下面針對合適的編/解碼器模式詳細(xì)描述這些操作。
III.原始參數(shù)確定圖5是更詳細(xì)說明步驟302的流程圖。各種原始參數(shù)按本發(fā)明計(jì)算。這些參數(shù)最好包括如LPC系數(shù)、線路譜信息(LSI)系數(shù)、歸一化自相關(guān)函數(shù)(NACF)、開環(huán)滯后、帶能、零交叉速率和元音共振峰剩余信號,這些參數(shù)在整個系統(tǒng)內(nèi)按各種方式使用,如下所述。
在一較佳實(shí)施例中,原始參數(shù)計(jì)算模塊202應(yīng)用“超前(look ahead)”的160+40個樣本,這有幾個原因。首先,160樣本超前可用下一幀的信息計(jì)算音調(diào)頻率軌跡,明顯增強(qiáng)了下述話音編碼與音調(diào)周期估算技術(shù)的耐用性。其次,160樣本超前可對將來一幀計(jì)算LPC系數(shù)、幀能和話音活性,這能有效地多幀量化幀能與LPC系數(shù)。再次,附加的40樣本超前可對下述的漢明窗語音計(jì)算LPC系數(shù)。因此,處理當(dāng)前幀之前緩沖的樣本數(shù)是160+160+40,包括當(dāng)前幀和160+40樣本超前。
A.計(jì)算LPC系數(shù)本發(fā)明用LPC預(yù)測誤差濾波器消除語音信號中的短期冗余度。LPC濾波器的傳遞函為A(z)=1-Σi=110aiz-i]]>本發(fā)明最好構(gòu)制一種十階濾波器,如前述公式所示。解碼器中的LPC合成濾波器重新插入冗余度,并由A(z)的倒數(shù)規(guī)定1A(z)=11-Σi=110aiz-i]]>在步驟502,LPC系數(shù)ai由s(n)計(jì)算如下。在對當(dāng)前幀編碼期間,最好對下一幀計(jì)算LPC參數(shù)。
對中心位于第119與第120樣本之間的當(dāng)前幀應(yīng)用漢明窗(假定較佳的160樣本幀有一“超前”)。窗示語音信號sw(n)為sw(n)=s(n+40)(0.5+0.46*cos(πn-79.580)),0≤n<160]]>40樣本的偏移導(dǎo)致該語音窗的中心位于較佳語音160樣本幀的第119與120樣本之間。
最好將11個自相關(guān)值計(jì)算成R(k)=Σm=0159-ksw(m)sw(m+k),0≤k≤10]]>對自相關(guān)值開窗可減少丟失線路譜對(LSP)的根的可能性,LSP對由LPC系數(shù)得出R(k)=h(k)R(k),0≤k≤10導(dǎo)致帶寬略有擴(kuò)展,如25Hz。值h(k)最好取自255點(diǎn)漢明窗的中心。
接著用Durbin遞歸從開窗的自相關(guān)值獲取LPC系數(shù),Durbin遞歸是眾所周知的高效運(yùn)算方法,在Rabiner & Schafer提出的文本“語音信號數(shù)字處理法”中作了討論。
B.LSI計(jì)算在步驟504,把LPC系數(shù)變換成線路譜信息(LSI)系數(shù)作量化和內(nèi)插。LSI系數(shù)按本發(fā)明以下述方式計(jì)算如前一樣,A(z)為A(z)=1-a1z-1-…-a10z-10式中ai是LPC系數(shù),且1<i<10PA(z)與QA(z)定義如下PA(z)=A(z)+z-11A(z-1)=p0+p1z-1+…+p11z-11,QA(z)=A(z)-z-11A(z-1)=q0+q1z-1+…+q11z-11,其中pi=-ai-a11-i,1≤i≤10qi=-ai+a11-i,1≤i≤10和P0=1 P11=1q0=1 q11=-1線路譜余弦(LSC)是下述兩函數(shù)中-0.1<X<1.0的10個根P′(x)=p′0cos(5cos-1(x))+p′1(4cos-1(x))+…+p′4+p′5/2Q′(x)=q′0cos(5cos-1(x))+q′1(4cos-1(x))+…+q′4x+q′5/2式中
p′0=1q′0=1p′i=pi-p′i-11≤i≤5q′i=qi+q′i-11≤i≤5然而以下式計(jì)算LSI系數(shù) LSC可按下式從LSI系數(shù)里取回 LPC濾波器的穩(wěn)定性確保這兩個函數(shù)的根交替,即最小根lsc1就是P′(x)的最小根,下一最小根1sc2就是Q(X)的最小根,等等。因此,lsc1、1sc3、lsc5、lsc7、lsc9都是p’(x)的根,而lsc2、1sc4、lsc6、lsc8與1sc0都是Q’(x)的根。
技術(shù)人員將明白,最好應(yīng)用某種計(jì)算LSI系數(shù)靈敏度的方法來量化。量化處理中可用“靈敏度加權(quán)”對每個LSI中的量化誤差合理地加權(quán)。
LSI系數(shù)用多級矢量量化器(VQ)量化,級數(shù)最好取決于所用的具體位速率與代碼簿,而代碼簿的選用以當(dāng)前幀是否為話音為依據(jù)。
矢量量化將如下定義的加權(quán)均方誤差(WMSE)減至最小E(x→,y→)=Σi=0P-1wi(xi-yi)2]]>式中 是量化的矢量, 是與其有關(guān)的加權(quán), 是代碼矢量。在一較佳實(shí)施例中, 是靈敏度權(quán)和,p=10。
LSI矢量由LSI碼重建,而LSI碼是量化成 得到的,其中CBi是話音或非話音幀的第i級VQ代碼簿(基于指明選擇代碼簿的代碼),codei是第i級的LSI代碼。
在LSI系靈敏變換成LPC系數(shù)之前,要作穩(wěn)定性檢查,確保得到的LPC濾波器不因量化噪聲或?qū)⒃肼曌⑷隠SI系數(shù)的語道誤差而不穩(wěn)定。若LSI系數(shù)保持有序的,則要確保穩(wěn)定性。
計(jì)算原始LPC系數(shù)時,使用中心位于幀的第119與120樣本之間的語音窗。該幀其它各點(diǎn)的LPC系數(shù)可在前一幀的LSC與當(dāng)前幀的LSC之間內(nèi)插近似,得到的內(nèi)插LSC再到變換回LPC系數(shù)。各子幀使用的正確內(nèi)插為ilscj=(1-ai)lscprevj+ailsccurrp1≤j≤10式中ai是40個樣本中各四個子幀的內(nèi)插系數(shù)0.375、0.625、0.875、1.000,ilsc是內(nèi)插的LSC。用內(nèi)插的LSC計(jì)算 和 為P^A(z)=(1+z-1)Πj=151-2ilsc2j-1z-1+z-2]]>Q^A(z)=(1-z-1)Πj=151-2ilsc2jz-1+z-2]]>所有四個子幀內(nèi)插的LPC系數(shù)作為下式的系數(shù)來計(jì)算A^(z)=P^A(z)+Q^A(z)2]]>因此 C.NACF計(jì)算在步驟506,歸一化自相關(guān)函數(shù)(WACF)按本發(fā)明計(jì)算。
下一幀的元音共振峰余量對40個樣本子幀計(jì)算成r(n)=s(n)-Σi=110a~is(n-i)]]>式中 是相應(yīng)子幀第i次內(nèi)插的LPC系數(shù),內(nèi)插在當(dāng)前幀的非量化LSC與下一幀的LSC之間進(jìn)行。下一幀的能量也計(jì)算成En=0.5log2(Σi=0159r2(n)160)]]>上述計(jì)算的余量經(jīng)低通濾波和抽取,最好使用一種零相FIR濾波器實(shí)施,其長度為15,其系數(shù)dfi(-7<i<7)為{0.0800,0.1256,0.2532,0.4376,0.6424,0.8268,0.9544,1.000,0.9544,0.8268,0.6424,0.4376,0.2532,0.1256,0.0800}。低通濾波、抽取的余量計(jì)算為rd(n)=Σi=-77dfir(Fn+i),0≤n<160/F]]>式中f=2為抽取系數(shù),r(Fn+i),-7≤Fn+i≤6根據(jù)非量化LPC系數(shù)從當(dāng)前幀的余量的最后14個值得到。如上所述,這些LPC系數(shù)在前一幀計(jì)算和存貯。
下一幀兩子幀(40樣本抽取)的WACF的計(jì)算如下Exxk=Σi=039rd(40k+i)rd(40k+i),k=0,1]]>Exyk,j=Σi=039rd(40k+i)rd(40k+i-j),]]>12/2≤j<128/2,k=0,1Eyyk,j=Σi=039rd(40k+i-j)rd(10k+i-j),]]>12/2≤j<128/2,k=0,1n_corrk,j-12/2=(Exyk,j)2ExxEyyk,j,]]>12/2≤j<128/2,k=0,1對n為負(fù)的rd(n),一般使用當(dāng)前幀的低通濾波和抽取的余量(前一幀存貯的)。當(dāng)前子幀c_corr的NACF也在前一幀計(jì)算和存貯。
D.音調(diào)軌跡與滯后計(jì)算在步驟508,按本發(fā)明計(jì)算音調(diào)軌跡音調(diào)滯后。最好按下列公式用有反向軌跡的Viterbi類搜索法計(jì)算音調(diào)滯后R1i=n_corr0,j+max{n_corr1,j+FAN1,0},]]>0≤i<116/2,0≤j<FANi,2R2i=c_corri,j+max{R1j+FANi,0),]]>0≤i<116/2,0≤j<FANi,1RM2i=R2i+max{c_corr0,j+FANi,0),]]>0≤i<116/2,0≤j<FANi,1其中FANij是2×58矩陣,{{0,2},{0,3},{2,2},{2,3},{2,4},{3,4},{4,4},{5,4},
{5,5},{6,5},(7,5},{8,6},{9,6},{10,6},{11,6},{11,7},{12,7},{13,7},{14,8},{15,8},{16,8},{16,9},{17,9},{18,9},{19,9},{20,10},{21,10},{22,10},{22,11},{23,11},{24,11},{25,12},{26,12},{27,12},{28,12},{28,13},{29,13},{30,13},{31,14},{32,14},{33,14},{33,15},{34,15},{35,15},{36,15},{37,16},{38,16},{39,16},{39,17},{40,17},{41,16},{42,16},{43,15},{44,14},{45,13},{45,13},{46,12},{47,11}}。
矢量RM2i經(jīng)內(nèi)插得R2i+1值為RMiF+1=Σj=04cfjRM(i-1+j)F,1≤i<112/2]]>RM1=(RM0+RM2)/2RM2*56+1=(RM2*56+RM2*57)/2RN2*57+1=RM2*57其中cfj是內(nèi)插濾波器,系數(shù)為{-0.0625,0.5625,0.5625,-0.0625}。然后選擇滯后Lc,使RLc-12=max{Ri},4≤i<116,將當(dāng)前幀的NACF置成RLc-12/4。再搜索對應(yīng)于大于0.9RLc-12的最大相關(guān)的滯后,消除滯后倍數(shù),其中Rmax{[Lc/M]-14.16}…R[Lc/M]-10for all1≤M≤[Lc/16]]]>E.計(jì)算帶能與零交叉速率在步驟510,按本發(fā)明計(jì)算0-2kHz帶與2kHz-4Khz帶內(nèi)的能量EL=Σi=0159sL2(n)]]>EH=Σi=0159sH2(n)]]>其中SL(z)=S(z)bl0+Σi=115bliz-ial0+Σi=115aliz-i]]>SH(z)=S(z)bh0+Σi=115bhiz-iah0+Σi=115ahiz-i]]>S(z),SL(z)和SH(z)分別是輸入語音信號s(n),低通信號SL(n)和高通信號Sh(n)的z變換,bl={0.0003,0.0048,0.0333,0.1443,0.4329,
0.9524,1.5873,2.0409,2.0409,1.5873,0.9524,0.4329,0.1443,0.0333,0.0048,0.0003),al={1.0,0.9155,2.4074,1.6511,2.0597,1.0584,0.7976,0.3020,0.1465,0.0394,0.0122,0.0021,0.0004,0.0,0.0,0.0},bh={0.0013,-0.0189,0.1324,-0.5737,1.7212,-3.7867,6.3112,-8.1144,8.1144,-6.3112,3.7867,-1.7212,0.5737,-0.1324,0.0189,-0.0013}andah={1.0,-2.8818,5.7550,-7.7730,8.2419,-6.8372,4.6171,-2.5257,1.1296,-0.4084,0.1183,-0.0268,0.0046,-0.0006,0.0,0.0}.
語音信號能量本身為 。零交叉速率ECR計(jì)算為if(s(n)s(n+1)<0)ZCR=ZCR+1,0≤n<159F.計(jì)算元音振峰余量在步驟512,對四個子幀計(jì)算當(dāng)前幀的元音共振峰余量rcurr(n)=s(n)-Σi=110a^is(n-i)]]>其中ai,是相應(yīng)子幀的第i個LPC系數(shù)。
IV.有效/無效語音分類再參照圖3,在步驟304,把當(dāng)前幀分類為有效語音(如講出的單詞)或無效語音(如背景噪聲,靜寂)。圖6的流程圖600詳細(xì)列出了步驟304。在一較佳實(shí)施例中,用基于雙能帶的取域值方法確定有無有效語音。下帶(帶0)跨越頻率為0.1-2.0kHz,上帶(帶1)為2.0-4.0kHz。在當(dāng)前幀編碼時,最好以下述方法確定下一幀的話音有效性檢測。
在步驟602,對各帶i=0,1計(jì)算帶能Eb[i]用下列遞歸公式將III、A節(jié)中的自相關(guān)序列擴(kuò)展到19R(k)=Σi=110aiR(k-i),11≤k≤19]]>利用該公式,從R(1)到R(10)中算出R(11),從R(2)-R(11)中算出R(12),依次類推。再用下式從擴(kuò)展的自相關(guān)序列中算出帶能Eb(i)=log2(R(0)Rh(0)(0)+Σk=119R(k)Rh(i)(k)),i=0,1]]>式中R(K)是當(dāng)前幀擴(kuò)展的自相關(guān)序列,Rh(i)(k)是表1中帶i的帶濾波器自相關(guān)序列。
表1計(jì)算帶能的濾波器自相關(guān)序列
在步驟604,平滑帶能估值,并用下式對各幀更新平滑的帶能估值Esm(i)Esm(i)=0.6Esm(i)+0.4Eb(i),i=0,1在步驟606,更新信號能與噪聲能的估值。信號能估值Es(i)最好用下式更新。
Es(i)=max(Esm(i),Es(i)),i=0,1噪聲能估值En(i)最好用下式更新Es(i)=min(Esm(i),En(i)),i=0,1在步驟608,兩帶的長期信噪比SNR(i)計(jì)算為SNR(i)=Es(i)-En(i),i=0,1在步驟610,這些SNR值最好分成8個區(qū)RegSNR(i),定義為
在步驟612,以下述方式按本發(fā)明判斷話音有效性。若Eb(0)-En(0)>THRESH(RegSNR(O)),或Eb(1)-En(1)>THRESH(RegSNR(1)),則判定該語音幀有效,反之為無效。THRESH值由表2規(guī)定。
信號能估值Es(i)最好用下式更新Es(i)=Es(i)-0.014499,i=0,1.
表2閾值系數(shù)與SNR區(qū)的函數(shù)關(guān)系
噪聲能估值En(i)最好用下式更新
A.拖尾幀信噪比很低時,最好加“拖尾”幀提高重建語音的質(zhì)量。若三個前幀分為有效而當(dāng)前幀為無效,則包括當(dāng)前幀在內(nèi)的后M幀分類為有效語音。拖尾幀數(shù)M確定時與表3中規(guī)定的SNR(0)成函數(shù)關(guān)系。
表3拖尾幀與SNR(0)的函數(shù)關(guān)系
V.有效語音幀的分類再參照照圖3,在步驟308,在步驟304分為有效的當(dāng)前幀再按語音信號s(n)呈現(xiàn)的特性分類。在一較佳實(shí)施例中,有效語音分為話音,非話音或過渡。有效語音信號呈現(xiàn)的周期性程度確定了它的分類。話音語音呈現(xiàn)最高度的周期性(準(zhǔn)周期特性)。非話音語音很少或不呈現(xiàn)周期性,過渡語音的周期性程度在上述二者之間。
然而,這里描述的一般框架不限于該較佳分類方式,下面描述特定的編/解碼器模式。有效語音可以不同方式分類,編碼則有不同的編/解碼器模式。技術(shù)人員應(yīng)明白,分類與編/解碼器模式可以有許多組合方式。許多這樣的組合可以按這里描述的一般框架降低平均位速率即一般框架即是把語音分成無效或有效,再對有效語音作分類,然后用特別適合于每一類范圍內(nèi)語音的編/解碼器模式編碼語音信號。
雖然有效語音分類基于周期性程度,但是分類判斷最好不以某種周期性的直接測量為基礎(chǔ),而是從步驟302計(jì)算的各種參數(shù)為基礎(chǔ),如上下帶中的信噪比和NACF。較佳的分類可用下列偽碼描述。
<pre listing-type="program-listing"><![CDATA[ifnot(previousN ACF<0.5 and currentN ACF>0.6) if(currentN ACF<0.75and ZCR>60)UNVOICED else if(previousN ACF<0.5 and currentN ACF<0.55 and ZCR>50)UNVOICED else if(currentN ACF<0.4 and ZCR>40)UNVOICED if(UNVOICED and currentSNR>28dB and EL>aEH)TRANSIENT if(previousN ACF<0.5 and currentN ACF<0.5 andE<5e4+N)UNVOICED if(VOICED and low-bandSNR>high-bandSNR andpreviousN ACF<0.8 and 0.6<currentN ACF<0.75)TRANSIENT]]></pre>其中 Nnoise是背景噪聲估值,Eprev是前一幀輸入能。
用該偽碼描述的方法可按實(shí)施的特定環(huán)境提煉。技術(shù)人員應(yīng)明白,上面給出的各種閾值僅作為示例,實(shí)踐中可根據(jù)實(shí)施情況要求調(diào)節(jié)。該方法還可通過增加附加的分類目錄予以精煉,如將TRASIENT分成兩類一類用于從高能轉(zhuǎn)為低能的信號,另一類用于從低能轉(zhuǎn)為高能的信號。
技術(shù)人員應(yīng)明白,其它方法也可以區(qū)分話音、非話音與過渡有效語音,還可能有其它有效語音的分類方法。
VI.編/解碼器模式選擇在步驟310,根據(jù)步驟304與308分類的當(dāng)前幀選擇編/解碼器模式。根據(jù)一較佳實(shí)施例,模式選成如下選擇用NELP模式對無效幀和有效非話音幀編碼,用PPP模式對有效話音幀編碼,用CELP模式對有效過渡幀編碼。下面描述各編/譯碼器模式。
在一替代實(shí)施例中,無效幀用零速率模式編碼。技術(shù)人員應(yīng)明白,有許多要求很低位速率的其它零速率模式。研究過去的模式選擇,可改良零速率模式的選擇。例如,若前一幀分為有效,就可不對當(dāng)前幀選擇零速率模式。同樣地,若下一幀有效,可不對當(dāng)前幀選擇零速率模式。另一方法是不對過多的連續(xù)幀(如9個連續(xù)幀)選用零速率模式。技術(shù)人員應(yīng)明白,可對基本的選模判斷作其它許多更改,以改善其在某些環(huán)境中的操作。
如上所述,在相同一框架內(nèi),可交替地應(yīng)用許多其它分類的組合和編/解碼器模式。下面詳述本發(fā)明的幾種編/解碼器模式,先介紹CELP模式,然后敘述PPP與NELP模式。
VII.代碼受激的線性預(yù)測(CELP)編碼模式如上所述,當(dāng)當(dāng)前幀分為有效過渡語音時,可應(yīng)用CELP編/解碼模式。該模式能最精確地再現(xiàn)信號(與這里描述的其它模式相比),但是位速率最高。
圖7詳細(xì)示出了CELP編碼器模式204和CELP解碼器模式206。如圖7A圖所示,CELP編碼器模式204包括音調(diào)編碼模塊702,編碼代碼簿704和濾波器更新模塊706。模式204輸出編碼的語音信號Senc(n),最好包括傳輸給CELP編碼器模式206的代碼簿參數(shù)與音調(diào)濾波器參數(shù)。如圖7B所示,模式206包括解碼代碼簿模塊708,音調(diào)濾波器710和LPC合成濾波器712。CELP模式206接收編碼的語音信號而輸出合成的語音信號(n)。
A.音調(diào)編碼模塊音調(diào)編碼模塊702接收語音信號s(n)和前一幀量化的余量Pc(n)(下述)。根據(jù)該輸入,音調(diào)解碼模塊702產(chǎn)生目標(biāo)信號x(n)與一組音調(diào)濾波器參數(shù)。在一實(shí)施例中,這類參數(shù)包括最佳音調(diào)滯后L*與最佳音調(diào)增益b*。這類參數(shù)按“分析加合成”法選擇,其中解碼處理選擇的音調(diào)濾波器參數(shù),可將輸入語音與用這些參數(shù)合成的語音之間的加權(quán)誤差減至最小。
圖8示出了音調(diào)編碼模塊702,這包括感性加權(quán)濾波器803,加法器804與816,加權(quán)的LPC合成濾波器806與808,延遲與增益810及最小平方和812。
感性加權(quán)濾波器802用于對原始語音與以感性有意義的方式合成的語音之間的誤差加權(quán)。
感性加權(quán)濾波器的形式為W(z)=A(z)A(z/γ)]]>式中A(z)是LPC預(yù)測誤差濾波器,γ最好等于0.8。加權(quán)的LPC分析濾波器806接收原始參數(shù)計(jì)算模塊202算出的LPC系數(shù)。濾波器806輸出的azir(n)是給出LPC系數(shù)的零輸入響應(yīng)。加法器804將負(fù)輸入azir(n)與濾波的輸入信號相加以形成目標(biāo)信號x(n)。
延遲與增益810對給定的音調(diào)滯后L與音調(diào)增益B輸出估算的間調(diào)濾波器輸出bpL(n),延遲與增益810接收前一幀量化的剩余樣本Pc(n)和估算的音調(diào)濾波器將來的輸出P0(n),按下式形成P(n)。 然后延遲L個樣本,用b標(biāo)定,形成bpL(n)。Lp是子幀長度(最好為40樣本)。在一較佳實(shí)施例中,音調(diào)滯后L用8位代表,可以取值20.0,20.5,21.0,21.5….126.0,126.5,127.0,127.5。
加權(quán)的LPC分析濾波器808用當(dāng)前LPC系數(shù)濾波bpL(n)而得出bY2(n)。加法器816將負(fù)輸入byL(n)與x(n)相加,其輸出被最小平方和812接收,后者選擇標(biāo)為L*的最佳L和標(biāo)為b*的最佳b,而L和b的值按下式將Epitch(L)減至最小Epitch(L)=Σn=0Lp-1{x(n)-byL(n)}2]]>若 ,且 ,則對規(guī)定的L值將Epitch減至最小的b值為b*=Exy(L)Eyy(L)]]>因此Epitch(L)=K-Exy(L)2Eyy(L)]]>式中K是可以忽略的常數(shù)首先確定使Epitch(L)最小的L值,再計(jì)算b*,求出L與b的最佳值(L*與b*)最好對各子幀算出這些音調(diào)濾波器參數(shù),量化后作有效傳輸。在一實(shí)施例中,第j個子幀的傳輸代碼PLAGj與PGAINj計(jì)算成PGAINj=[min{b*,2}82+0.5]-1]]> 若PLAGj置0,則將PGAINj調(diào)至-1。這些傳輸代碼發(fā)送給CELP解碼器模式206作為音調(diào)濾波器參數(shù),成為編碼的語音信號Senc(n)的組成部分。
B.編碼代碼簿編碼代碼簿704接收目標(biāo)信號x(n),并確定一組供CELP解碼器模式206使用的代碼簿激勵參數(shù),與音調(diào)濾波器參數(shù)一起,以重建量化的剩余信號。
編碼代碼簿704首先將x(n)更新如下x(n)=x(n)-ypxir(n),0≤n<40式中ypzir(n)是加權(quán)的LPC合成濾波器(帶有從前一幀結(jié)尾保留數(shù)據(jù)的存儲器)對某一輸入的輸出,而該輸入是帶參數(shù)L*與b*(和前一子幀處理的存儲器)的音調(diào)濾波器的零輸入響應(yīng)。
由于 用而建立一反濾波目標(biāo) 0<n<40,其中 是脈沖響應(yīng)矩陣,由脈沖響應(yīng){hn}和 0≤n<40形成,同樣產(chǎn)生了兩個以上矢量 和 s→=sign(d→)]]> 其中 編碼代碼簿704將值Exy*與Eyy*初始化為零,并按以下公式最好用四個N值(0,1,2,3)搜索最佳激勵參數(shù)。p→=(N+{0,1,2,3,40})%5]]>A={p0,p0+5,…,i′<40}B={p1,p1+5,…,k′<40}Deni,k=2φ0+siskφ|k-i|,i∈A k∈B]]> {S0,S1}={sI0,sI1}]]>Exy0=|dI0|+|dI1|]]>Eyy0=EyyI0,I1]]>A={p2,p2+5,…,i′<40}B={p3,p3+5,…,k′<40}Deni,k=Eyy0+2φ0+si(S0φ|I0-i|+S1φ|I1-i|)]]>+sk(S0φ|I0-k|+S1φ|I1-k|)+siskφ|k-i|]]>i∈Ak∈B {S2,S3}={sI2,sI3}]]>Exy1=Exy0+|dI2|+|dI3|]]>Eyy1=DenI2,I3]]>A={p4,p4+5,…,i′<40}Deni=Eyy1+φ0+si(S0φ|I0-i|+S2φ|I1-i|+S2φ|I2-i|+S3φ|I3-i|),i∈A]]>I4=argmaxi∈A{Exy1+|di|Deni}]]>S4=sI4]]>Exy2=Exy1+|dI4|]]>Eyy2=DenI4]]>若<pre listing-type="program-listing"><![CDATA[ Exy2Eyy*>Exy2Eyy2{ Exy*=Exy2 Eyy*=Eyy2 {indp0,indp1,indp2,indp3,indp4}={I0,I1,I2,I3,I4} {sgnp0,sgnp1,sgnp2,sgnp3,sgnp4}={S0,S1,S2,S3,S4}}]]></pre>編碼代碼簿704把代碼簿增益G*計(jì)算成Exy*/Eyy*,然后對第j個子幀將該組激勵參數(shù)量化成下列傳輸碼DBIjk=[indk5],0≤k<5]]> CBGj=[min{log2(max{1,G*}),11.2636}3111.2636+0.5]]]>量化的增益 *為 除去音調(diào)解碼模塊702,只作代碼簿搜索以對四個子幀都確定指數(shù)I與增益G,就可實(shí)現(xiàn)CELP編/解碼器模式的較低位速率實(shí)施例。技術(shù)人員應(yīng)明白如何擴(kuò)充上述想法來實(shí)現(xiàn)該較低的位速率實(shí)施例。
C.CELP解碼器CELP解碼器模式206從CELP解碼器模式204接收解碼的語音信號,最好包括代碼簿激勵參數(shù)與音調(diào)濾波器參數(shù),并根據(jù)該數(shù)據(jù)輸出合成的語音(n)。解碼代碼簿模塊708接收代碼簿激勵參數(shù),產(chǎn)生增益為G的激勵信號Cb(n)。j個子幀的激勵信號Cb(n)包含大多數(shù)零,但五個位置例外Ik=5CBIjk+k,0≤k<5它相應(yīng)地具有脈沖值Sk=1-2SIGNjk,0≤k<5所有值均用計(jì)算為 的增益G標(biāo)定,以提供Gcb(n)。
音調(diào)濾波器710按下列公式對接收傳輸代碼的音調(diào)濾波器參數(shù)解碼L*^=PLAGj2]]> 音調(diào)濾波器710接著濾波Gcb(n),濾波器的傳遞函數(shù)為1P(z)=11-b*z-L*]]>在一實(shí)施例中,在音調(diào)濾波器710之后,CELP解碼器模式706還加接了額外的濾波操作的音調(diào)前置濾波器(未示出)。音調(diào)前置濾波器的滯后與音調(diào)濾波器710的滯后相同,但其增益最好是最高達(dá)0.5的音調(diào)增益的一半。LPC合成濾波器712接收重建的量化剩余信號 ,輸出合成的語音信號(n)。
D.濾波器更新模塊濾波器更新模塊706像前一節(jié)描述的那樣合成語音,以便更新濾波器存儲器。濾波器更新模塊706接收代碼簿激勵參數(shù)與音調(diào)濾波器參數(shù),產(chǎn)生激勵信號cb(n),對Gcb(n)作音調(diào)濾波,再合成(n)。在解碼器作這一合成,就更新了音調(diào)濾波器與LPC合成濾波器中的存儲器,供處理后面的子幀使用。
VIII.原型音調(diào)周期(PPP)編碼模式原型音調(diào)周期(PPP)編碼法利用語音信號的周期性實(shí)現(xiàn)比CELP編碼法可得到的更低的位速率。一般而言,PPP編碼法涉及提取一代表性的剩余個周期,這里稱為原型余量,然后用該原型通過在當(dāng)前幀的原型余量與前一幀的類似音調(diào)周期(如果最后幀是PPP,即為原型余量)之間作內(nèi)插,在該幀內(nèi)建立早期音調(diào)周期,PPP編碼法的有效性(降低位速率)部分取決于如何使當(dāng)前與前一原型余量精密地類似于介入的音調(diào)周期。為此,最好將PPP編碼法應(yīng)用于呈現(xiàn)出相對高度周期性的語音信號(如話音語音),這里指準(zhǔn)周期語音信號。
圖9詳細(xì)示出了PPP編碼器模式204和PPP解碼器模式206,前者包括提取模塊904,旋轉(zhuǎn)相關(guān)器906,編碼代碼簿908和濾波器更新模塊910。PPP編碼器模式204接收剩余信號r(n),輸出編碼的語音信號senc(n),最好包括代碼簿參數(shù)和旋轉(zhuǎn)參數(shù)。PPP解碼器模式206包括代碼簿解碼器912、旋轉(zhuǎn)器914,加法器916,周期內(nèi)插器920和彎曲濾波器918。
圖10的流程圖1000示出PPP編碼的步驟,包括編碼與解碼。這些步驟與PPP編碼器模式204和PPP解碼器模式206一起討論。
A.提取模塊在步驟1002,提取模塊904從剩余信號r(n)中提取原型余量rp(n)。如III、F、節(jié)所述,初始參數(shù)計(jì)算模塊202用LPC分析濾波器計(jì)算各幀的rp(n)。在一實(shí)施例中,如VII、A節(jié)所述,該濾波器的LPC系數(shù)作感性加權(quán)。rp(n)的長度等于原始參數(shù)計(jì)算模塊202在當(dāng)前幀最后一個子幀中算出的音調(diào)滯后L。
圖11是詳細(xì)示出步驟1002的流程圖。PPP提取模塊904最好盡量接近幀結(jié)束時選擇音調(diào)周期,并加下述的某些限制。圖12示出一例基于準(zhǔn)周期語音計(jì)算的剩余信號,包括當(dāng)前幀與前一幀的最后一個子幀。
在步驟1102,確定“無切割區(qū)”。無切割區(qū)限定一組余量中不能是原型余量終點(diǎn)的樣本。無切割區(qū)保證余量的高能區(qū)不出現(xiàn)在原型的開始或結(jié)束(會造成輸出中允許出現(xiàn)的斷續(xù)性)。計(jì)算r(n)最后L個樣本每一樣本的絕對值。變量Ps置成等于最大絕對值(這里稱為“音調(diào)尖峰”)樣本的時間指數(shù)。例如,若音調(diào)尖峰出現(xiàn)在最后L個樣本的最后一個樣本中,Ps=L-1。在一實(shí)施例中,無切割區(qū)的最小樣本CFmin置成Ps-6或Ps-0.25L,無論哪個更小。無切割區(qū)的最大值CFmax置成Ps+6或Ps+0.25L,無論哪個更大。
在步驟1104,從余量中切割L個樣本,選擇原型余量,在區(qū)域終點(diǎn)不能在無切割區(qū)內(nèi)的約束下,選擇的區(qū)域盡量接近幀的結(jié)束處。用以下列偽碼描述的算法確定原型余量的L個樣本
<pre listing-type="program-listing"><![CDATA[ (CFmin<0){ for(i=0 to L+CFmin-1)rp(i)=r(i+160-L) for(i=CFmin to L-1)rp(i)=r(i+160-2L) }else if (CFmin≤L( for(i=0toCFmin-1)rp(i)=r(i+160-L) for(i=CFmin to L-1)rp(i)=r(i+160-2L)else{ for(i=0toL-1)rp(i)=r(i+160-L)]]></pre>B.旋轉(zhuǎn)相關(guān)器再參照圖10,在步驟1004,旋轉(zhuǎn)相關(guān)器906根據(jù)當(dāng)前原型余量rp(n)和前一幀的原型余量rprev(n)計(jì)算一組旋轉(zhuǎn)參數(shù)。這些參數(shù)描述怎樣最佳地旋轉(zhuǎn)和標(biāo)定rprev以用作rp(n)的預(yù)測器。在一實(shí)施例中,這組旋轉(zhuǎn)參數(shù)包括最佳旋轉(zhuǎn)R*與最佳增益b*。圖13是詳細(xì)示出步驟1004的流程圖。
在步驟1302,對原型音調(diào)余量周期rp(n)作循環(huán)濾波,算出感性加權(quán)的目標(biāo)信號x(n)。這是按如下方式實(shí)現(xiàn)的。由rp(n)產(chǎn)生臨時信號tmp1(n) 將其用零存儲器的加權(quán)LPC合成濾波器濾波,以提供輸出tmp2(n)。在一實(shí)施例中,使用的LPC系數(shù)是對應(yīng)于當(dāng)前幀最后一個子幀的感性加權(quán)系數(shù)。于是,目標(biāo)信號x(n)為x(n)=tmp2(n)+tmp2(n+L),0 ≤n<L在步驟1304,從前一幀量化的元音共振峰余量(也存在音調(diào)濾波器的存儲器中)中提取前一幀的原型余量γprev(n)。該前一原型余量最好定義為前一幀元音共振峰余量的最后LP值,若前一幀不是PPP幀,Lp等于L,否則置成前一音調(diào)滯后。
在步驟1306,把γprev(n)的長度改為與x(n)一樣長,從而正確地計(jì)算相關(guān)性。這里把改變采樣信號長度的這種技術(shù)稱為彎曲。彎曲的音調(diào)激勵信號γwprev(n)可以描述成rwprev(n)=rprev(n*TWF),0≤n<L
式中TWF是時間彎曲系數(shù)Lp/L。最好用一套sinc函數(shù)表計(jì)算非整數(shù)點(diǎn)n*TWF的樣本值。選擇的sinc序列是sinc(-3-F4-F),F(xiàn)是n*TWF的小數(shù)部分,含入最接近的1/8倍數(shù)。該序列的開頭對準(zhǔn)rprev(N-3)%Lp),N是n*TWF在含入最接近第八位后的整數(shù)部分。
在步驟1308,循環(huán)濾波彎曲的音調(diào)激勵信號rwprev(n),得出y(n)。該操作與上述對步驟1302作的操作一樣,但應(yīng)用于rwprev(n)。
在步驟1310,計(jì)算音調(diào)旋轉(zhuǎn)搜索范圍,首先計(jì)算期望的旋轉(zhuǎn)ErotErot=L-round(L frac((160-L)(Lp+L)2LpL))]]>frac(x)給出X的小數(shù)部分。若L<80,則音調(diào)旋轉(zhuǎn)搜索范圍定義為{Erot-8,Erot-7.5….Erot+7.5}和{Erot-16,Erot-15…Erot+15},其中L>80。
在步驟1312,計(jì)算旋轉(zhuǎn)參數(shù),最佳旋轉(zhuǎn)R*與最佳增益b*。在x(n)和y(n)之間導(dǎo)致最佳預(yù)測的音調(diào)旋轉(zhuǎn)與相應(yīng)的增益b一起選擇。這些參數(shù)最好選成將誤差信號e(n)=x(n)-y(n)減至最小。最佳旋轉(zhuǎn)R*與最佳增益b*是導(dǎo)致ExyR2/Eyy最大值的那些旋轉(zhuǎn)R與增益b值,其中 和 在旋轉(zhuǎn)R*時的最佳增益b*為ExyR*/Eyy。對于旋轉(zhuǎn)的小數(shù)值,通過對在整數(shù)旋轉(zhuǎn)值時算出的ExyR值作內(nèi)插,求出ExyR的近似值。應(yīng)用了一種簡單的四帶內(nèi)插濾波器,如ExyR=0.54(ExyR′+ExyR′+1)-0.04*(ExyR′-1+ExyR′+2)R是非整數(shù)的旋轉(zhuǎn)(精度0.5),R’=|R|。
在一實(shí)施例中,旋轉(zhuǎn)參數(shù)作量化以有效地傳輸。最佳增益 最好在0.0625和4.0之間均勻地量化成PGAIN=max{min([63(b*-0.06254-0.0625)+0.5],63),0]]>式中PGAIN為傳輸碼,量化增益b*由max{0.0625+(PGAIN(4-0.0625)/63),0.0625}給出。將最佳旋轉(zhuǎn)R*量化成傳輸碼PROT,若L<80。將其置成2(R*-Erot+8),L≥80,則R*-Erot+16。
C.編碼代碼簿再參照圖10,在步驟1006,編碼代碼簿908根據(jù)接收的目標(biāo)信號x(n)產(chǎn)生一組代碼簿參數(shù)。代碼簿908設(shè)法求出一個或多個代碼矢量,經(jīng)標(biāo)定,相加和濾波后,加成接近x(n)的信號。在一實(shí)施例中,編碼代碼簿908構(gòu)成多級代碼簿,最好是三級,每級產(chǎn)生一種標(biāo)定的代碼矢量。因此,該組代碼簿參數(shù)包括了對應(yīng)于三種代碼矢量的標(biāo)引和增益。圖14是詳細(xì)示出步驟1006的流程圖。
在步驟1402,搜索代碼簿之前,將目標(biāo)信號x(n)更新成x(n)=x(n)-by(n-R*)%L),0≤n<L若在上述減法中旋轉(zhuǎn)R*不是整數(shù)(即有小數(shù)0.5),則y(i-0.5)=-0.0073(y(i-4)+y(i+3))+0.0322(y(i-3)+y(i+2))-0.1363(y(i-2)+y(i+1))+0.6076(y(i-1)+y(i))式中i=n-|R*|在步驟1404,將代碼簿值分成多個區(qū)域。根據(jù)一實(shí)旋例,把代碼簿確定為 式中CBP是隨機(jī)或訓(xùn)練的代碼簿值。技術(shù)人員應(yīng)知道這些代碼簿值是如何產(chǎn)生的。把代碼簿劃分成多個區(qū)域,長度各為L。第一區(qū)是單脈沖,其余各區(qū)由隨機(jī)或訓(xùn)練的代碼簿值組成。區(qū)數(shù)N將為[128/L]。
在步驟1406,代碼簿的多個區(qū)都作循環(huán)濾波而產(chǎn)生濾波的代碼簿,yreg(n),其串聯(lián)是信號y(n)。對每一區(qū),按上述步驟1302作循環(huán)濾波。
在步驟1408,計(jì)算各區(qū)濾波的代碼簿能量Eyy(reg)并存貯起來Eyy(reg)=Σi=0L-1yreg(i),0≤reg<N]]>在步驟1410,計(jì)算多級代碼簿各級的代碼簿參數(shù)(即代碼矢量標(biāo)引與增益)。根據(jù)一實(shí)施例,使Region(I)=reg,定義為其中有樣本I的區(qū)即,
并假定將Exy(I)定義為Exy(I)=Σi=0L-1x(i)yRegton(I)((i+I)%L)]]>第j代碼簿級的代碼簿參數(shù)I*與G*用下列偽碼計(jì)算Exy*=0,Eyy*=0for(I=Oto127){computeExy(I) Exy*=Exy(I)Eyy*=Eyy(Region(I)I*=I}}而且G*=Exy*/Eyy*。
根據(jù)一實(shí)施例,代碼簿參數(shù)量化后作有效傳輸。傳輸代碼CBIj(j=級數(shù)-0,1或2)最好置成I*,而傳輸代碼CBGj與SIGNj通過量化增益G*而設(shè)置 CBGj=[min{max{0,log2(|G*|)},11.25}43+0.5]]]>量化的增益 為 然后減量當(dāng)前級代碼簿矢量的貢獻(xiàn),更新目標(biāo)信號x(n)x(n)=x(n)-G^*yRegion(I*)((n+I*)%L),0≤n<L]]>上述從偽碼開始的步驟重復(fù)進(jìn)行,對第二和第三級計(jì)算I*,G*和相應(yīng)的傳輸代碼。
D.濾波器更新模塊再參照圖10,在步驟1008,濾波器更新模塊910更新PPP解碼器模式204所使用的濾波器。圖15A與16A示出兩個替代的濾波器更新模塊910的實(shí)施例。如圖15A的第一替代實(shí)施例,濾波器更新模塊910包括解碼代碼簿1502,旋轉(zhuǎn)器1504,彎曲濾波器1506,加法器1510,對準(zhǔn)與內(nèi)插模塊1508,更新音調(diào)濾波器模塊1512,和LPC合成濾波器1514。圖16A的第二實(shí)施例包括解碼代碼簿1602,旋轉(zhuǎn)器1604,彎曲濾波器1606,加法器1608,更新音調(diào)濾波器模塊1610,循環(huán)LPC合成濾波器1612和更新LPC濾波器模塊1614,圖17與18是詳細(xì)示出這兩個實(shí)施例中步驟1008的流程圖。
在步驟1702(和1802,兩實(shí)施例的第一步驟),由代碼簿參數(shù)與旋轉(zhuǎn)參數(shù)重建當(dāng)前重建的原型余量rcurr(n),長度為L樣本,。在一實(shí)施例中,旋轉(zhuǎn)器1504(和1604)按下式旋轉(zhuǎn)彎曲型的前一原型余量rcurr((n+R*)%L)=brwprev(n),0≤n<L式中rcurr是要建立的當(dāng)前原型,rwprev是由音調(diào)濾波器存儲器中最新L個樣本獲得的彎曲型前一周期(如VIIIA節(jié)所述,TWF=Lp/L),由包傳輸碼獲得的音調(diào)增益b和旋轉(zhuǎn)R為b=max{0.0625(PGAIN(4-0.0625)63),0.0625}]]> 其中Erot是上述VIIIB節(jié)算出的期望的旋轉(zhuǎn)。
解碼代碼簿1502(和1602)將三個代碼簿級的每級的貢獻(xiàn)加到rcurr(n) 式中I=CBIj,G如上節(jié)所述由CBGj和SIGj獲得,j為級數(shù)。
在這方面,濾波器更新模塊910的這兩個替代實(shí)施例有所不同。先參照圖15A的實(shí)施例,在步驟1704,從當(dāng)前幀開頭到當(dāng)前原型余量開頭,對準(zhǔn)與內(nèi)插模塊1508填入剩余樣本的其余部分(如圖12所示)。這里對剩余信號對準(zhǔn)和內(nèi)插。然而,如下所述,還對語音信號作同樣的操作。圖19是詳細(xì)描述步驟1704的流程圖。
在步驟1902,確定前一滯后LP是否相對于當(dāng)前滯后L為兩倍或是一半。在一實(shí)施例中,其它倍數(shù)不太可能,故不予考慮。若Lp>1.85L,LP為一半,只使用前一周期rprev(n)的前一半。若Lp>0.54L,當(dāng)前滯后L可能加倍,因而LP也加倍,前一周期Rprev(n)反復(fù)擴(kuò)展。
在步驟1904,如步驟1306所述,rprev(n)彎成rwprev(n),TWF-LP/L,因而兩原型余量的的長度現(xiàn)在相同。注意,該操作在步驟1702執(zhí)行,如上所述,做法是彎曲濾波器1506。技術(shù)人員應(yīng)明白,若彎曲濾波器1506對對準(zhǔn)與內(nèi)插模塊1508有輸出,就不需要步驟1904。
在步驟1906,計(jì)算允許的對準(zhǔn)旋轉(zhuǎn)范圍。期望的對準(zhǔn)旋轉(zhuǎn)EA的計(jì)算與VIIIB節(jié)所述的Erot的計(jì)算相同。對準(zhǔn)旋轉(zhuǎn)搜索范圍定義為{EA-δA,EA-δA+0.5,EA-δA+1…EA-δA-1.5,EA-δA-1},δA=max{6,0.15L}。
在步驟1908,把整數(shù)對準(zhǔn)旋轉(zhuǎn)R前一與當(dāng)前原型周期之間的交叉相關(guān)性計(jì)算成C(A)=Σi=0L-1rcurr((i+A)%L)rwprev(i)]]>通過在整數(shù)旋轉(zhuǎn)處內(nèi)插相關(guān)值,近似算出非整數(shù)旋轉(zhuǎn)A的交叉相關(guān)性C(A)=0.54(C(A′)+C(A′+1))-0.04(C(A′-1)+C(A′+2))式中A’=A-0.5。
在步驟1910,將導(dǎo)致C(A)最大值的A值(在允許旋轉(zhuǎn)范圍內(nèi))選為最佳對準(zhǔn),A*。
在步驟1912,按下述方法算出中間樣本的平均滯后或音調(diào)周期Lav。周期數(shù)估值Nper算為Nper=round(A*L+(160-L)(Lp+L)2LpL)]]>中間樣本的平均滯后為Lav=(160-L)LNperL-A*]]>在步驟1914,根據(jù)下述在前一與當(dāng)前原型余量之間的內(nèi)插,算出當(dāng)前幀中其余的剩余樣本
式中x=L/Lav。非整數(shù)點(diǎn) 的樣本值(等于nα或nα+A*)用一套sinc函數(shù)表計(jì)算。選擇的sinc序列為sinc(-3-F4-F),其中F是n舍入最接近l/8倍數(shù)的小數(shù)部分,序列開頭對準(zhǔn)rprev(N-3)%LP),N是 舍入最接近1/8后的整數(shù)部分。
注意,該操作與上述步驟1306的彎曲基本上相同。因此,在一替代實(shí)施例中,步驟1914的內(nèi)插值用彎曲濾波器計(jì)算。技術(shù)人員應(yīng)明白,對于這里描述的各種目的,重復(fù)使用單個彎曲濾波器更經(jīng)濟(jì)。
參照圖17,在步驟1706,更新音調(diào)濾波器模塊1512從重建的余量 將值復(fù)制到音調(diào)濾波器存儲器。同樣地,也要更新音調(diào)濾波器的存儲器。在步驟1708,LPC合成濾波器1514對重建的余量 濾波,作用是更新LPC合成濾波器的存儲器。
現(xiàn)在描述圖16A的第二個濾波器更新模塊910實(shí)施例。如步驟1702所述,在步驟1802,由代碼簿與旋轉(zhuǎn)參數(shù)重建原型余量,導(dǎo)致Tcurr(n)。
在步驟1804,按下式從rcurr(n)復(fù)制L樣本復(fù)制件,更新音調(diào)濾波器模塊1610更新音調(diào)濾波器存儲器。
pitch_mem(i)=rcurr((L-(131%L)+i)%L),0≤i<131或者potch_mem(131-l-i)=rcurr(L-1-i%L),0≤i<131其中131最好是最大滯后為127.5的音調(diào)濾波器階數(shù)。在一實(shí)施例中,音調(diào)前置濾波器的存儲器同樣用當(dāng)前周期rcurr(n)的復(fù)制件替換pitch_prefilt_mem(i)=pitch_mem(i),0≤i<131在步驟1806,rcurr(n)最好應(yīng)用感性加權(quán)的LPC系數(shù)循環(huán)濾波,如VIIIB節(jié)所述,導(dǎo)致sc(n)。
在步驟1808,用sc(n)的值,最好是后10個值(對第10階LPC濾波器)更新LPC合成濾波器的存儲器。
E.PPP解碼器參照圖9和10,在步驟1010,PPP解碼器模式206根據(jù)收到的代碼簿與旋轉(zhuǎn)參數(shù)重建原型余量rcurr(n)。解碼代碼簿912,旋轉(zhuǎn)器914和彎曲濾波器918的工作方式如上節(jié)所述。周期內(nèi)插器920接收重建的原型余量rcurr(n)和前一重建的原型余量rcurr(n),在兩個原型之間內(nèi)插樣本,并輸出合成的語音信號 。下節(jié)描述周期內(nèi)插器920。
F.周期內(nèi)插器在步驟1012,周期內(nèi)插器920接收rcurr(n),輸出合成的語音信號(n)。圖15A與16b是兩個周期內(nèi)插器920的替代實(shí)施例。在圖15B的第一例中,周期內(nèi)插器920包括對準(zhǔn)與內(nèi)插模塊1516,LPC合成濾波器1518和更新音調(diào)濾波器模塊1520。圖16B的第二例包括循環(huán)LPC合成濾波器1616,對準(zhǔn)與內(nèi)插模塊1618,更新音調(diào)濾波器模塊1622和更新LPC濾波器模塊1620。圖20和21表示兩實(shí)施例的步驟1012的流程圖。
參照圖15B,在步驟2002,對準(zhǔn)與內(nèi)插模塊1516對當(dāng)前剩余原型rcurr(n)與前一剩余原型rprev(n)之間的樣本重建剩余信號,形成 模塊1516以步驟1704所述的方式(圖19)操作。
在步驟2004,更新音調(diào)濾波器模塊1520根據(jù)重建的剩余信號 更新音調(diào)濾波器存儲器,如步驟1706所述。
在步驟2006,LPC合成濾波器1518根據(jù)重建的剩余信號 合成輸出語音信號 操作時,LPC濾波器存儲器自動更新。
參照圖16B和21,在步驟2102,更新音高調(diào)濾波器模塊1622根據(jù)重建的當(dāng)前剩余原型rcurr(n)更新音調(diào)濾波器存儲器,如步驟1804所示。
在步驟2104,循環(huán)LPC合成濾波器1616接收rcurr(n),合成當(dāng)前語音原型sc(n)(長為L樣本),如VIIIB節(jié)所述。
在步驟2106更新LPC濾波器模塊1620更新LPC濾波器存儲器,如步驟1808所述。
在步驟2108,對準(zhǔn)與內(nèi)插模塊1618在前一與當(dāng)前原型周期之間重建語音樣本。前一原型余量rprev(n)循環(huán)濾波(在LPC合成結(jié)構(gòu)中),僅內(nèi)插可以語音域進(jìn)行。對準(zhǔn)與內(nèi)插模塊1618以步驟1704的方式操作(見圖19),只是對語音原型而不是對剩余原型操作。對準(zhǔn)與內(nèi)插的結(jié)果就是合成的語音信號s(n)。
IX.噪聲激勵的線性預(yù)測(NELP)編碼模式噪聲激勵的線性預(yù)測(NELP)編碼法將語音信號模擬成一個偽隨機(jī)噪聲序列,由此實(shí)現(xiàn)比CELP或PPP編碼法更低的位速率。用信號再現(xiàn)來衡量,NELP解碼的操作最有效,此時語音信號很少有或沒有音調(diào)結(jié)構(gòu),如非話音或背景噪聲。
圖22詳細(xì)示出了NELP編碼器模式204和NELP解碼器模式206,前者包括能量估算器2202和編碼代碼簿2204,后者包括解碼代碼簿2206,隨機(jī)數(shù)發(fā)生器2210,乘法器2212和LPC合成濾波器2208。
圖23是示明NELP編碼步驟的流程圖2300,包括編碼和解碼。這些步驟與NELP編/解碼器模式的各種元件一起討論。
在步驟2302,能量估算器2202將四個子幀的剩余信號能量都算成Esfi=0.5log2(Σn=40i40i+39s2(n)40),0≤i<4]]>在步驟2304,編碼代碼簿2204計(jì)算一組代碼簿參數(shù),形成編碼的語音信號senc(n)。在一實(shí)施例中,該組代碼簿參數(shù)包括單個參數(shù),即標(biāo)引I0,它被置成等于j值,并將 其中0≤j<128減至最小。代碼簿矢量SFEQ用于量化子幀能量Esfi,并包括等于幀內(nèi)子幀數(shù)的元數(shù)(在實(shí)施例中為4)。這些代碼簿矢量最好按技術(shù)人員已知的普通技術(shù)產(chǎn)生,用于建立隨機(jī)或訓(xùn)練的代碼簿。
在步驟2306,解碼代碼簿2206對收到的代碼簿參數(shù)解碼。在一實(shí)施例中,按下式解碼該組子幀增益GiG1=2SFEQ(10,1),或G1=20.2SFEQ(10,1)+0.2log,Gprev-2(用零速率編碼方案對前一幀編碼)其中0≤i<4,Gprev是代碼簿激勵增益,對應(yīng)于前一幀的最后一個子幀。
在步驟2308,隨機(jī)數(shù)發(fā)生器2210產(chǎn)生一單位變化隨機(jī)矢量nz(n),該矢量在步驟2310按各子幀內(nèi)合適的增益Gi標(biāo)定,建立激勵信號Ginz(n)。
在步驟2312,LPC合成濾波器2208對激勵信號Ginz(n)濾波,形成輸出語音信號 在一實(shí)施例中,也應(yīng)用了零速率模式,其中對當(dāng)前幀的各子幀使用了從最近非零速率NWLP子幀獲得的增益G,與LPC參數(shù)。技術(shù)人員應(yīng)明白,在連續(xù)出現(xiàn)多個NELP幀時,可有效地應(yīng)用這種零速率模式。
X.結(jié)論雖然以上描述了本發(fā)明的各種實(shí)施例,但應(yīng)明白,這些都是示例,不用來作限制,因此,本發(fā)明的范圍不受上述任一示例性實(shí)施例限制,僅由所附的權(quán)項(xiàng)及其等效物限定。
上述諸較佳實(shí)施例的說明可供任何技術(shù)人員用于制作或應(yīng)用本發(fā)明。盡管參照諸較佳實(shí)施例具體示出并描述了本發(fā)明,但是技術(shù)人員應(yīng)明白,在不違背本發(fā)明的精神與范圍的情況下,可在形式上和細(xì)節(jié)上作出各種變化。
權(quán)利要求
1.一種準(zhǔn)周期語音信號的編碼方法,其中語音信號由用線性預(yù)測編碼(LPC)分析濾波器對語音信號濾波而產(chǎn)生的剩余信號代表,其中將剩余信號分成數(shù)據(jù)幀,其特征在于所述方法包括步驟(a)從剩余信號的當(dāng)前幀里提取當(dāng)前原型;(b)計(jì)算第一組參數(shù),該組參數(shù)描述如何將前一原型修改成使所述更新的前一原型接近于所述當(dāng)前原型;(c)從第一代碼簿中選擇一個或多個代碼矢量,其中所述代碼矢量相加時接近于所述當(dāng)前原型與所述更新的前一原型之差,而且其中所述代碼矢量用第二組參數(shù)描述;(d)根據(jù)所述第一與第二組參數(shù)重建當(dāng)前原型;(e)在所述當(dāng)前重建的原型與前一重建的原型之間的區(qū)域內(nèi)插剩余信號;(f)根據(jù)所述內(nèi)插的剩余信號合成輸出語音信號。
2.如權(quán)利要求1所述的方法,其中所述當(dāng)前幀有一音調(diào)滯后,而所述當(dāng)前原型的長度等于所述音調(diào)滯后。
3.如權(quán)利要求1所述的方法,其中所述提取當(dāng)前原型的步驟從屬于“無切割區(qū)”。
4.如權(quán)利要求3所述的方法,其中所述當(dāng)前原型從所述當(dāng)前幀結(jié)束處提取,并從屬于所述無切割區(qū)。
5.如權(quán)利要求1所述的方法,其中所述計(jì)算第一組參數(shù)的步驟包括以下步驟(i)循環(huán)濾波所述當(dāng)前原型,形成目標(biāo)主號;(ii)提取所述前一原型;(iii)彎曲所述前一原型,使所述前一原型的長度等于所述當(dāng)前原型的長度;(iv)循環(huán)濾波所述彎曲的前一原型;和(v)計(jì)算最佳旋轉(zhuǎn)和第一最佳增益,其中由所述最佳旋到轉(zhuǎn)的并由所述第一最佳增益標(biāo)定的所述濾波的彎曲前一原型,最佳地接近所述目標(biāo)信號。
6.如權(quán)利要求5所述的方法,其中所述計(jì)算最佳旋轉(zhuǎn)和第一最佳增益的步驟從屬于音調(diào)旋轉(zhuǎn)搜索范圍。
7.如權(quán)利要求5所述的方法,其中所述計(jì)算最佳旋轉(zhuǎn)和第一最佳增益的步驟,將所述濾波器的彎曲前一原型與所述目標(biāo)信號的均方差減至最小。
8.如權(quán)利要求5所述的方法,其中所述第一代碼簿包括一級或多級,而所述選擇一個或多個代碼矢量的步驟包括以下步驟(i)減去由所述最佳旋轉(zhuǎn)轉(zhuǎn)動并由所述第一最佳增益標(biāo)定的所述濾波的彎曲前一原型,更新所述目標(biāo)信號;(ii)將所述第一代碼簿劃分成多個區(qū)域,其中每個所述區(qū)域形成一代碼矢量;(iii)循環(huán)濾波每個所述代碼矢量;(iv)選擇最接近所述更新的目標(biāo)信號的所述濾的代碼矢量之一,其中所述特定代碼矢量用一最用一最佳標(biāo)引描述;(v)根據(jù)所述更新的目標(biāo)信號與所述選擇的濾波代碼矢量間的相關(guān)性,計(jì)算第二最佳增益;(vi)減去所述第二最佳增益標(biāo)定的所述選擇的濾波代碼矢量,更新所述目標(biāo)信號;和(vii)對所述第一代碼簿里每個所述級重復(fù)步驟(iV)-(Vi),其中所述第二組參數(shù)包括每個所述級的所述最佳標(biāo)引和所述第二最佳增益。
9.如權(quán)利要求8所述的方法,其中所述重建當(dāng)前原型的步驟包括以下步驟(i)彎曲前一重建的原型,使其長度等于所述當(dāng)前重建的原型的長度;(ii)所述彎曲的前一重建原型用所述最佳旋轉(zhuǎn)轉(zhuǎn)動并用所述第一最佳增益標(biāo)定,由此形成所述當(dāng)前重建的原型;(iii)從第二代碼簿接收第二代碼矢量,其中所述第二代碼矢量用所述最佳標(biāo)引識別,而且所述第二代碼簿包括的級數(shù)等于所述第一代碼簿的級數(shù);(iv)用所述第二最佳增益標(biāo)定所述第二代碼矢量;(v)將所述標(biāo)定的第二代碼矢量與所述當(dāng)前重建的原型相加;和(vi)對所述第二代碼簿中各所述級重復(fù)步驟(iii)-(v)。
10.如權(quán)利要求9所述的方法,其中所述內(nèi)插剩余信號的步驟包括以下步驟(i)計(jì)算所述彎曲的前一重建原型與所述當(dāng)前重建的原型之間的最佳對準(zhǔn);(ii)根據(jù)所述最佳對準(zhǔn),計(jì)算所述彎曲的前一重建原型與所述當(dāng)前重建原型之間的平均滯后;和(iii)內(nèi)插所述彎曲的前一重建原型與所述當(dāng)前重建原型,由此在所述二者之間的區(qū)域內(nèi)形成剩余信號,其中所述內(nèi)插的剩余信號具有所述平均滯后。
11.權(quán)項(xiàng)10的方法,其中所述合成輸出語音信號的步驟包括用LPC合成濾波器濾波所述內(nèi)插的剩余信號的步驟。
12.一種準(zhǔn)周期語音信號的編碼方法,其中語音信號由用線性預(yù)測編碼(LPC)分析濾波器對語音信號濾波而產(chǎn)生的剩余信號代表,其中將剩余信號分成數(shù)據(jù)幀,其特征在于所述方法包括步驟(a)從剩余信號的當(dāng)前幀里提取當(dāng)前原型;(b)計(jì)算第一組參數(shù),該組參數(shù)描述如何將前一原型修改成使所述更新的前一原型接近于所述當(dāng)前原型;(c)從第一代碼簿中選擇一個或多個代碼矢量,其中所述代碼矢量相加時接近于所述當(dāng)前原型與所述更新的前一原型之差,而且其中所述代碼矢量用第二組參數(shù)描述;(d)根據(jù)所述第一與第二組參數(shù)重建當(dāng)前原型;(e)用LPC合成濾波器所述當(dāng)前重建原型;(f)用所述LPC合成濾波器濾波前一重建原型;(g)在所述濾波的當(dāng)前重建原型與所述濾波的前一重建原型之間的區(qū)域內(nèi)作內(nèi)插,由此形成輸出語音信號。
13.一種準(zhǔn)周期語音信號的編碼方法,其中語音信號由用線性預(yù)測編碼(LPC)分析濾波器對語音信號濾波而產(chǎn)生的剩余信號代表,其中將剩余信號分成數(shù)據(jù)幀,其特征在于所述方法包括步驟從剩余信號的當(dāng)前幀里提取當(dāng)前原型的裝置;從第一代碼簿選擇一個或多個代碼矢量的裝置,其中所述代碼矢量相加后接近所述當(dāng)前原型與所述更新的前一原型之差,而且所述代碼矢量用第二組參數(shù)描述;根據(jù)所述第一與第二組參數(shù)重建當(dāng)前重建的原型的裝置;在所述當(dāng)前重建的原型與前一重建的原型之間的區(qū)域內(nèi)內(nèi)插剩余信號的裝置;根據(jù)所述內(nèi)插的剩余信號合成輸出語音信號的裝置。
14.如權(quán)利要求13所述的系統(tǒng),其中所述當(dāng)前幀有一音調(diào)滯后,而所述當(dāng)前原型的長度等于所述音調(diào)滯后。
15.如權(quán)利要求13所述的系統(tǒng),其中所述提取所述當(dāng)前原型的裝置從屬于“無切割區(qū)”。
16.如權(quán)利要求15所述的系統(tǒng),其中所述從所述當(dāng)前幀結(jié)束時提取所述當(dāng)前原型的裝置從屬于所述無切割區(qū)。
17.如權(quán)利要求13所述的系統(tǒng),其中計(jì)算第一組參數(shù)的所述裝置包括第一循環(huán)LPC合成濾器,耦合成接收所述當(dāng)前原型并輸出目標(biāo)信號;從前一幀提取所述前一原型的裝置;彎曲濾波器,耦合成接收所述前一原型,其中所述彎曲濾波器輸出彎曲的前一原型,其長度等于所述當(dāng)前原型的長度;第二循環(huán)LPC合成濾波器,耦合成接收所述彎曲的前一原型,其中所述第二循環(huán)LPC合成濾波器輸出濾波的彎曲前一原型;和計(jì)算最佳旋轉(zhuǎn)與第一最佳增益的裝置,其中所述濾波的彎曲前一原型由所述最佳旋轉(zhuǎn)轉(zhuǎn)動,并由所述第一最佳增益標(biāo)定而最佳地接近于所述目標(biāo)信號。
18.如權(quán)利要求17所述的系統(tǒng),其中所述計(jì)算裝置計(jì)算從屬于音調(diào)旋轉(zhuǎn)搜索范圍的所述最佳旋轉(zhuǎn)和所述第一最佳增益。
19.如權(quán)利要求17所述的系統(tǒng),其中計(jì)算裝置將所述濾波的彎曲前一原型與所述目標(biāo)信號的均方差減至最小。
20.如權(quán)利要求17所述的系統(tǒng),其中所述第一代碼簿包括一級或多級,而所述選擇一個或多個代碼矢量的裝置包括減去由所述最佳旋轉(zhuǎn)轉(zhuǎn)動并由所述第一最佳增益標(biāo)定的所述濾波的彎曲前一原型,更新所述目標(biāo)信號的裝置;將所述第一代碼簿劃分成多個區(qū)域,其中每個所述區(qū)域形成一代碼矢量的裝置;耦合成接收所述代碼矢量的第三循環(huán)LPC合成濾波器,其中所述第三循環(huán)LPC合成濾波器輸出濾波的代碼矢量;對所述第一代碼簿中各級計(jì)算最佳標(biāo)引與第二最佳增益的裝置,其特征在于包括選擇所述濾波的代碼矢量之一的裝置,其中用一最佳標(biāo)引描述最接近所述目標(biāo)信號的所述選擇的濾波代碼矢量。根據(jù)所述目標(biāo)信號與所述選擇的濾波代碼矢量的相關(guān)性計(jì)算第二最佳增益的裝置,和通過減去所述第二最佳增益標(biāo)定的所述選樣的濾波代碼矢量而更新所述目標(biāo)信的裝置;其中所述第二組參數(shù)包括各所述級的所述最佳標(biāo)引與所述第二最佳增益。
21.如權(quán)利要求20所述的系統(tǒng),其中所述重建當(dāng)前原型的裝置包括耦合成接收前一重建原型的第二彎曲濾波器,其中所述第二彎曲濾波器輸出彎曲的前一重建原型,其長度等于所述當(dāng)前重建原型的長度;用所述最佳旋轉(zhuǎn)轉(zhuǎn)動所述彎曲的前一重建原型并用所述第一最佳增益標(biāo)定的裝置,以此形成所述發(fā)前重建的原型;和對所述第二組參數(shù)數(shù)譯碼的裝置,其中對第二代碼簿的每級譯碼第二代碼矢量,第二代碼簿的級數(shù)等于所述第一代碼簿的級數(shù),所述裝置包括從所述第二代碼簿檢索所述第二代碼矢量的裝置,其中所述第二代碼矢量用所述最佳標(biāo)引標(biāo)識;用所述第二最佳增益標(biāo)定所述第二代碼矢量的裝置,和將所述標(biāo)定的第二代碼矢量加到所述當(dāng)前重建的原型的裝置。
22.如權(quán)利要求21所述的系統(tǒng),其中所述內(nèi)插剩余信號的裝置包括計(jì)算所述彎曲的前一重建原型與所述當(dāng)前重建原型之間最佳對準(zhǔn)的裝置;根據(jù)所述最佳對準(zhǔn)計(jì)算所述彎曲的前一重建原型與所述當(dāng)前重建原型之間的平均滯后的裝置;和內(nèi)插所述彎曲的前一重建原型與所述當(dāng)前重建原型,從而在所述二者之間的區(qū)域內(nèi)形成剩余信號的裝置,其中所述內(nèi)插的剩余信號具有所述平均滯后。
23.如權(quán)利要求22所述的系統(tǒng),其中所述合成輸出語音信號的裝置包括LPC合成濾波器。
24.一種準(zhǔn)周期語音信號的編碼方法,其中語音信號由用線性預(yù)測編碼(LPC)分析濾波器對語音信號濾波而產(chǎn)生的剩余信號代表,其中將剩余信號分成數(shù)據(jù)幀,其特征在于所述方法包括步驟從剩余信號的當(dāng)前幀提取當(dāng)前原型的裝置;計(jì)算第一組參數(shù)的裝置,所述參數(shù)描述如何將前一原型修改成使所述更新的前一原型接近于所述當(dāng)前原型;從第一代碼簿中選擇一個或多個代碼矢量的裝置,其中所述代碼矢量相加后接近所述當(dāng)前原型與所述更新的前一原型之差,而且所述代碼矢量用第二組參數(shù)描述;根據(jù)所述第一與第二組參數(shù)重建當(dāng)前重建的原型的裝置;耦合成接收所述當(dāng)前重建原型的第一LPC合成濾波器,其中所述第一LPC合成濾波器輸出濾的前一重建原型;在所述濾的當(dāng)前重建原型與所述濾波的前一重建原型之間的區(qū)域內(nèi)內(nèi)插而形成輸出語音信號的裝置。
全文摘要
本發(fā)明提供了一種準(zhǔn)周期語音信號的編碼方法和設(shè)備。語音信號由用線性預(yù)測編碼(LPC)分析濾波器對語音信號濾波而產(chǎn)生的剩余信號代表。從剩余信號的當(dāng)前幀里提取當(dāng)前原型而對剩余信號編碼。計(jì)算第一組參數(shù),該組參數(shù)描述如何將前一原型修改成使所述更新的前一原型接近于所述當(dāng)前原型。從第一代碼簿中選擇一個或多個代碼矢量,其中所述代碼矢量相加時接近于所述當(dāng)前原型與所述更新的前一原型之差,而且其中所述代碼矢量用第二組參數(shù)描述。根據(jù)所述第一與第二組參數(shù)重建當(dāng)前原型。在所述當(dāng)前重建的原型與前一重建的原型之間的區(qū)域內(nèi)插剩余信號。根據(jù)所述內(nèi)插的剩余信號合成輸出語音信號。
文檔編號G10L19/00GK1331825SQ99814821
公開日2002年1月16日 申請日期1999年12月21日 優(yōu)先權(quán)日1998年12月21日
發(fā)明者S·曼朱納什, W·加德納 申請人:高通股份有限公司