專(zhuān)利名稱(chēng):可變速率聲碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及語(yǔ)音處理。具體講,本發(fā)明涉及一種用于壓縮語(yǔ)音的新穎且已改進(jìn)的方法和系統(tǒng),其中,壓縮量動(dòng)態(tài)地變化,但對(duì)再生語(yǔ)音的質(zhì)量影響最小。此外,由于壓縮后的語(yǔ)音數(shù)據(jù)要通過(guò)一個(gè)有可能引入錯(cuò)誤的信道傳送,故而本發(fā)明的方法和系統(tǒng)還會(huì)將信道傳輸錯(cuò)誤對(duì)聲音的影響減至最小。
背景技術(shù):
利用數(shù)字技術(shù)傳送聲音已經(jīng)得到廣泛的應(yīng)用,在遠(yuǎn)距離和數(shù)字式無(wú)線(xiàn)電話(huà)設(shè)備中尤其如此。這轉(zhuǎn)而使人們有興趣確定在保持再生語(yǔ)音聽(tīng)覺(jué)質(zhì)量的信道上能夠傳送的最低信息量。如果語(yǔ)音是在簡(jiǎn)單取樣并數(shù)字化后傳送的,那么,為了達(dá)到普通模擬式電話(huà)機(jī)的語(yǔ)音質(zhì)量,就需要64千比特/每秒(Kbps)數(shù)量級(jí)的數(shù)據(jù)速率。但是,通過(guò)采用語(yǔ)音分析,再進(jìn)行適當(dāng)?shù)木幋a、傳送,在接收器中進(jìn)行再合成,就能顯著地降低數(shù)據(jù)速率。
采用人類(lèi)語(yǔ)言信號(hào)產(chǎn)生模型所提取的參數(shù)來(lái)完成語(yǔ)聲壓縮技術(shù)的裝置通常稱(chēng)為聲碼器。這類(lèi)裝置由一個(gè)分析傳入的語(yǔ)音以提取相關(guān)參數(shù)的編碼器和一個(gè)利用在傳輸信道中接收到的參數(shù)重新合成語(yǔ)音的譯碼器組成。為了精確些,模型必須不時(shí)地變化。這樣,語(yǔ)音被劃分成時(shí)間段或分析幀,每一幀內(nèi)進(jìn)行參數(shù)的計(jì)算。然后對(duì)每一新的幀更新參數(shù)。
在不同類(lèi)別的語(yǔ)音編碼器中,編碼激勵(lì)線(xiàn)性預(yù)測(cè)編碼(CELP)、隨機(jī)編碼或矢量激勵(lì)語(yǔ)音編碼是屬于一類(lèi)的。在湯姆斯E.特萊門(mén)等人所著,發(fā)表于1988年移動(dòng)衛(wèi)星研討會(huì)論文集上的論文“一種4.8Kbps編碼激勵(lì)線(xiàn)性預(yù)測(cè)編碼器”中描述了這一特定類(lèi)別的一個(gè)編碼算法例子。
聲碼器的功能是消除語(yǔ)音中固有的自然冗余,從而將數(shù)字化語(yǔ)音信號(hào)壓縮成低比特率信號(hào)。通常,語(yǔ)音中含有主要是因聲道的濾波動(dòng)作而產(chǎn)生的短期冗余,和因發(fā)聲區(qū)域聲帶的激勵(lì)而產(chǎn)生的長(zhǎng)期冗余。在CELP編碼器中,這些發(fā)聲區(qū)域的動(dòng)作用兩個(gè)濾波器來(lái)模擬,一個(gè)是短期共振峰濾波器,另一個(gè)是長(zhǎng)期音調(diào)濾波器(pitchfilter)。一旦除去這些冗余,得到的剩余信號(hào)就能模擬成白色高斯噪聲,這也必須編碼。這種技術(shù)的基礎(chǔ)是計(jì)算一個(gè)稱(chēng)為L(zhǎng)PC濾波器的參數(shù),該濾波器利用人的聲道模型來(lái)進(jìn)行語(yǔ)音波形的短期預(yù)測(cè)。另外,與語(yǔ)音的音調(diào)有關(guān)的長(zhǎng)期作用則通過(guò)計(jì)算一個(gè)主要模擬人的聲帶的音調(diào)濾波器的參數(shù)而得到模擬。最后,這些濾波器還必須被激勵(lì),這是通過(guò)從碼書(shū)的大量隨機(jī)激勵(lì)波形中確定一個(gè)在激勵(lì)上述兩個(gè)濾波器的時(shí)候產(chǎn)生最接近原始語(yǔ)音的效果的波形而完成的。這樣,被傳送的參數(shù)涉及到三項(xiàng)(1)LPC濾波器,(2)音調(diào)濾波器,(3)碼書(shū)激勵(lì)。
聲碼技術(shù)的應(yīng)用在嘗試減少信道中傳送的信息量而仍舊保持再生語(yǔ)音的質(zhì)量這一點(diǎn)上離目標(biāo)更進(jìn)了一步,雖然如此,但還需要采用其它技術(shù),來(lái)實(shí)現(xiàn)進(jìn)一步的縮減。以前用來(lái)縮減信息傳送量的一種技術(shù)是聲音動(dòng)作選通。在這種技術(shù)中,語(yǔ)音停頓時(shí)不傳送信息。這種技術(shù)實(shí)現(xiàn)了預(yù)期的數(shù)據(jù)縮減效果,但存在著幾個(gè)缺陷。
在許多情況下,由于削去了字語(yǔ)的初始部分,語(yǔ)音質(zhì)量降低了。在不動(dòng)作時(shí)切斷信道的另一問(wèn)題是系統(tǒng)用戶(hù)感覺(jué)到缺少了通常伴隨著語(yǔ)音的背景噪聲,因此認(rèn)為信道的質(zhì)量低于普通電話(huà)。動(dòng)作選通的再一個(gè)問(wèn)題是,在沒(méi)有語(yǔ)音時(shí)背景中偶然的突發(fā)噪聲會(huì)引發(fā)發(fā)送器,在接收器中產(chǎn)生惱人的噪聲群。
改進(jìn)聲音動(dòng)作選通系統(tǒng)中合成語(yǔ)音的質(zhì)量的一個(gè)嘗試是在譯碼過(guò)程中加入合成的令人舒適的噪聲。雖然通過(guò)加入舒適的噪聲達(dá)到了質(zhì)量上的某些提高,但是,由于舒適的噪聲并不模擬編碼器中的實(shí)際背景噪聲,所以它并不能顯著地改進(jìn)總體質(zhì)量。
進(jìn)行數(shù)據(jù)壓縮以實(shí)現(xiàn)需要傳送的信息的縮減的一種更好的技術(shù)是進(jìn)行可變速率聲音編碼。因?yàn)檎Z(yǔ)音本身含有靜默期間,例如停頓,所以,代表這些期間所需的數(shù)據(jù)量可以縮減。可變速率聲音編碼通過(guò)降低這些靜默期間的數(shù)據(jù)速率而最有效地利用了這一事實(shí)。在靜默期間數(shù)據(jù)速率的降低,與數(shù)據(jù)傳送完全停止相反,克服了與聲音動(dòng)作選通相關(guān)的難題,同時(shí)實(shí)現(xiàn)了傳送信息的縮減。
因而,本發(fā)明的一個(gè)目的是提供一種利用可變速率聲音編碼技術(shù)來(lái)壓縮語(yǔ)音的新穎和改進(jìn)的方法和系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明采用了上述類(lèi)別語(yǔ)音編碼器的聲音編碼算法,即編碼激勵(lì)線(xiàn)性預(yù)測(cè)編碼(CELP)、隨機(jī)編碼或矢量激勵(lì)語(yǔ)音編碼。CELP技術(shù)本身就能使表示語(yǔ)音所必需的數(shù)據(jù)量顯著減少,并在重新合成時(shí)給出高質(zhì)量的語(yǔ)音。如前所述,聲碼器參數(shù)就每一幀進(jìn)行更新。本發(fā)明的聲碼器藉助于改變模型參數(shù)的頻率和精度,形成可變的輸出數(shù)據(jù)速率。
本發(fā)明極顯著地不同于基本的CELP技術(shù),在語(yǔ)音動(dòng)作的基礎(chǔ)上產(chǎn)生可變的輸出數(shù)據(jù)速率。其結(jié)構(gòu)被定義后,使得參數(shù)在語(yǔ)音停頓過(guò)程中較少或以較低精度進(jìn)行更新。該技術(shù)使得要傳送的信息量更加減少。被利用來(lái)降低數(shù)據(jù)速率的關(guān)鍵是聲音動(dòng)作因子,它是某一指定說(shuō)話(huà)者在交談過(guò)程中實(shí)際說(shuō)話(huà)的平均時(shí)間百分比,就通常的雙向電話(huà)交談而言,該平均數(shù)據(jù)速率可降到1/2或更多。在語(yǔ)音停頓過(guò)程中,聲碼器只對(duì)背景噪聲進(jìn)行編碼。在這些時(shí)候,與人的聲道模型有關(guān)的某些參數(shù)勿需傳送。
如前所述,先前在靜默過(guò)程中限制信息傳送量的途徑稱(chēng)為聲音動(dòng)作選通,這是一種在靜默的期間不傳送信息的技術(shù)。在接收側(cè),該期間中加入合成的“舒適噪聲”。與此相反,可變速率聲碼器持續(xù)不斷地進(jìn)行數(shù)據(jù)傳送,在較佳實(shí)施例中是以大約介于8Kbps和1Kbps之間的速率進(jìn)行的。進(jìn)行連續(xù)數(shù)據(jù)傳送的聲碼器消除了對(duì)“舒適噪聲”的需求,而以背景噪聲的編碼給重新合成的語(yǔ)音提供更真實(shí)的質(zhì)量。因而,本發(fā)明在語(yǔ)音和背景音之間進(jìn)行平滑的轉(zhuǎn)變,藉此,在重新合成的語(yǔ)音質(zhì)量上,比聲音動(dòng)作選通有了更顯著的改善。
本發(fā)明還結(jié)合了一種掩蓋發(fā)生的錯(cuò)誤的新穎技術(shù)。因?yàn)閿?shù)據(jù)要通過(guò)一個(gè)可能有噪音的信道傳送,如在無(wú)線(xiàn)電線(xiàn)路中傳送,所以,它必須在數(shù)據(jù)中能容錯(cuò)。利用信道編碼來(lái)減少所遇到的出錯(cuò)總數(shù)的先有技術(shù)在減少錯(cuò)誤方面能夠有某些成功之處。但是,僅有信道編碼還不能完全達(dá)到保證高質(zhì)量再生語(yǔ)言所必需的錯(cuò)誤警戒水平。在聲音編碼持續(xù)進(jìn)行的可變速率聲碼器中,一個(gè)錯(cuò)誤可能會(huì)破壞涉及到某個(gè)重要的語(yǔ)音內(nèi)容的數(shù)據(jù),例如與一個(gè)單詞或一個(gè)音節(jié)開(kāi)頭部分有關(guān)的數(shù)據(jù)?;诰€(xiàn)性預(yù)測(cè)編碼的聲碼器所帶來(lái)的一個(gè)典型難題是,與聲道模型有關(guān)的參數(shù)中的錯(cuò)誤會(huì)產(chǎn)生類(lèi)似人聲的聲音,還會(huì)將原始單詞的發(fā)音改變到足以使聽(tīng)者迷惑的程度。在本發(fā)明中,錯(cuò)誤被掩蓋住,以降低其可覺(jué)察程度。這樣,本發(fā)明所采用的錯(cuò)誤掩蓋技術(shù)使得錯(cuò)誤對(duì)語(yǔ)音清晰度的影響急劇減少。
因?yàn)槿魏螀?shù)能夠改變的最大數(shù)量在低速率下被限制在較小范圍中,所以,在這些速率下所傳送的參數(shù)中的錯(cuò)誤會(huì)較少地影響語(yǔ)音質(zhì)量。由于在不同速率下的錯(cuò)誤對(duì)語(yǔ)音質(zhì)量有不同的可覺(jué)察的影響,所以,傳送系統(tǒng)可以最優(yōu)化,以對(duì)較高速率的數(shù)據(jù)提供更多保護(hù)。因而,作為一個(gè)附加特征,本發(fā)明容忍信道錯(cuò)誤能力較強(qiáng)(具有魯棒性)。
本發(fā)明通過(guò)采用可變速率輸出形式的CELP算法,使得語(yǔ)音壓縮率根據(jù)聲音大小不同在8∶1到64∶1范圍內(nèi)動(dòng)態(tài)地變動(dòng)。剛才的壓縮因子是對(duì)μ律輸入而言的,對(duì)于線(xiàn)性輸入,該壓縮因子將增大一倍。速率的確定是對(duì)各個(gè)幀分別進(jìn)行的,以便充分地得益于聲音動(dòng)作因子。即使由于語(yǔ)音停頓而產(chǎn)生較少的數(shù)據(jù),重新合成的背景噪聲讓人察覺(jué)到的質(zhì)量降低也是最小的。利用本發(fā)明的技術(shù),在最大數(shù)據(jù)速率8Kbps下可以實(shí)現(xiàn)質(zhì)量近似于長(zhǎng)途電話(huà)的語(yǔ)音,在普通對(duì)話(huà)中的平均數(shù)據(jù)速率處于3.5Kbps的量級(jí)。
本發(fā)明能夠檢測(cè)出語(yǔ)音中的短暫停頓,因而實(shí)現(xiàn)了有效聲音動(dòng)作因子的降低。速率確定是逐幀進(jìn)行的,沒(méi)有遺漏,因而,在短到一個(gè)幀周期的語(yǔ)音停頓間隙內(nèi)數(shù)據(jù)速率可放慢,對(duì)較佳實(shí)施例,幀周期的典型值為20msec。因而,可以捕捉諸如在音節(jié)之間的那些停頓。因?yàn)椴粌H詞組之間的長(zhǎng)間歇停頓可以編碼成較低速率,而且短暫停頓也可以,所以,這一技術(shù)降低了聲音動(dòng)作因子,在程度上超過(guò)了通常所考慮到。
因?yàn)樗俾蚀_定是逐幀進(jìn)行的,所以不會(huì)象聲音動(dòng)作選通系統(tǒng)那樣,削去單詞的初始部分。在聲音動(dòng)作選通系統(tǒng)中發(fā)生的這種性質(zhì)的削去歸因于語(yǔ)音檢測(cè)和數(shù)據(jù)傳送再開(kāi)始之間的延遲。在每一幀基礎(chǔ)上進(jìn)行的速率確定使得語(yǔ)音中所有的變化都有自然的聲調(diào)。
在聲碼器正常傳送的情況下,在接收端一直能聽(tīng)到講話(huà)者周?chē)谋尘霸肼?,因而在語(yǔ)音停頓時(shí)有更自然的聲音。這樣,本發(fā)明實(shí)現(xiàn)了向背景噪聲的平穩(wěn)轉(zhuǎn)換。聽(tīng)者在語(yǔ)音中聽(tīng)到的背景音不會(huì)象聲音動(dòng)作選通系統(tǒng)中那樣,在停頓時(shí)突然轉(zhuǎn)變成一種合成的舒適噪聲。
因?yàn)楸尘霸肼暢掷m(xù)地被編碼后進(jìn)行傳送,所以,背景中的重要事件可以完整清晰地得到傳送。在某些情況下,重要的背景噪聲甚至可以以最高速率進(jìn)行編碼。例如,當(dāng)背景中有一個(gè)人大聲說(shuō)話(huà),或者有一輛救護(hù)車(chē)從站在街角處的一個(gè)用戶(hù)身旁開(kāi)過(guò)的時(shí)候,可能進(jìn)行最高速率編碼。但是,一成不變或者緩慢變化的背景噪聲會(huì)以低速率進(jìn)行編碼。
利用可變速率聲音編碼能夠確?;诖a分多路訪問(wèn)(CDMA)的數(shù)字蜂窩式電話(huà)系統(tǒng)的容量增加一倍以上。因?yàn)樵贑DMA中,信道間的干擾隨著任一信道中數(shù)據(jù)傳送速率的降低而自動(dòng)地減少,所以,CDMA和可變速率聲音編碼是完全匹配的。與此相反,看一下指定傳送時(shí)隙的系統(tǒng),如TDMA或FDMA等。為了使這種系統(tǒng)得益于數(shù)據(jù)傳送速率的降低,需要進(jìn)行外部干預(yù),以協(xié)調(diào)將不用的時(shí)隙轉(zhuǎn)讓給其它用戶(hù)。這種系統(tǒng)中固有的延遲意味著只有在長(zhǎng)時(shí)的語(yǔ)音停頓過(guò)程中才可能轉(zhuǎn)讓信道。因而,不能充分地得益于聲音動(dòng)作因子。但是,出于上述其它原因,在外部協(xié)調(diào)下,可變速率聲音編碼在CDMA之外的系統(tǒng)中有用。
在CDMA系統(tǒng)中,當(dāng)需要附加的系統(tǒng)容量時(shí)可以略微降低語(yǔ)音質(zhì)量。簡(jiǎn)而言之,該聲碼器可以看作是多個(gè)聲碼器以不同的速率工作,產(chǎn)生不同的語(yǔ)音質(zhì)量。因而,語(yǔ)音質(zhì)量可以混合起來(lái),以進(jìn)一步降低平均數(shù)據(jù)傳送速率。初步的實(shí)驗(yàn)顯示出,將全速和半速聲音編碼語(yǔ)音混合起來(lái),亦即最大允許數(shù)據(jù)速率在8Kbps與4Kbps之間逐幀變化,藉此,得到的語(yǔ)音比半速可變,即最大值為4Kbps情況下質(zhì)量要好,而差于全速可變,即8Kbps最大值的情況。
眾所周知,在絕大多數(shù)電話(huà)交談中,每次只有一個(gè)人說(shuō)話(huà)。全雙工電話(huà)線(xiàn)路可以增加一個(gè)速率聯(lián)鎖的附加功能。如果線(xiàn)路的一個(gè)方向上以最高傳送速率進(jìn)行傳送,那么,另一方向就被迫以最低速率傳送。鏈路兩個(gè)方向上的聯(lián)鎖保證對(duì)鏈路每一方向的平均使用不超過(guò)50%。但是,當(dāng)信道切斷時(shí),例如在動(dòng)作選通中速率聯(lián)鎖情況下,收聽(tīng)者在對(duì)話(huà)中無(wú)法打斷對(duì)方的談話(huà),成為說(shuō)話(huà)者。本發(fā)明容易地提供了藉助于設(shè)定聲音編碼速率的控制信號(hào)進(jìn)行速率聯(lián)鎖的能力。
最后應(yīng)該注意到,利用可變速率聲音編碼系統(tǒng),通信信息可以和對(duì)語(yǔ)音質(zhì)量影響極小的語(yǔ)音數(shù)據(jù)分享信道。例如,一個(gè)高速率幀可以分割成兩半,一半用于傳送較低速率聲音數(shù)據(jù),另一半用于通信數(shù)據(jù)。在較佳實(shí)施例的聲碼器中實(shí)現(xiàn)了聲音傳送在全速率和半速率聲音編碼語(yǔ)音之間僅有輕微的語(yǔ)音質(zhì)量降低。因而,為了與其它數(shù)據(jù)分享傳送而以較低速率進(jìn)行語(yǔ)音的聲音編碼在語(yǔ)音質(zhì)量上只給用戶(hù)帶來(lái)幾乎不能察覺(jué)的差異。
從下文中與附圖相結(jié)合的詳細(xì)說(shuō)明中,本發(fā)明的特征、目的和優(yōu)點(diǎn)將更為顯而易見(jiàn),在所有附圖中,類(lèi)似的標(biāo)號(hào)標(biāo)志相應(yīng)的對(duì)象,其中圖1a-1e以圖線(xiàn)形式示出聲碼器在各種速率下的分析幀和子幀;圖2a-2d是一系列表示聲碼器在不同速率下輸出位分布的圖表;圖3是一例示編碼器的大致框圖;圖4是編碼器的流程圖;圖5是例示譯碼器的大致框圖;
圖6是譯碼器流程圖;圖7是編碼器更詳細(xì)的功能性框圖;圖8是一例示漢明窗口和自相關(guān)子系統(tǒng)的框圖;圖9是一例示速率確定子系統(tǒng)的框圖;圖10是一例示LPC分析子系統(tǒng)的框圖;圖11是一例示LPC至LSP轉(zhuǎn)換子系統(tǒng)的框圖;圖12是一例示LPC量化子系統(tǒng)的框圖;圖13是例示LSP插值及LSP至LPC轉(zhuǎn)換子系統(tǒng)的框圖;圖14是用于音調(diào)檢索的自適應(yīng)碼書(shū)的框圖;圖15是編碼器的譯碼器的框圖;圖16是音調(diào)檢索子系統(tǒng)的框圖;圖17是碼書(shū)檢索子系統(tǒng)的框圖;圖18是數(shù)據(jù)壓縮子系統(tǒng)的框圖;圖19是譯碼器更詳盡的功能性框圖;圖20a-20d是顯示譯碼器在不同速率下接收到的參數(shù)和子幀譯碼數(shù)據(jù)的圖表;圖21a-21d是進(jìn)一步顯示譯碼器在特定場(chǎng)合下接收到的參數(shù)及子幀譯碼數(shù)據(jù)的圖表;圖22是LSP反量化子系統(tǒng)的框圖;圖23是帶有后置濾波及自動(dòng)增益控制的譯碼器更詳細(xì)的框圖;圖24是自適應(yīng)亮度濾波器特性的圖線(xiàn)。
具體實(shí)施例方式
根據(jù)本發(fā)明,利用眾所周知的技術(shù)對(duì)諸如語(yǔ)音和/或背景噪聲之類(lèi)聲音進(jìn)行取樣并數(shù)字化。例如,模擬信號(hào)可以用標(biāo)準(zhǔn)的8位/μ律格式轉(zhuǎn)換成數(shù)字格式,然后進(jìn)行μ律/標(biāo)準(zhǔn)編碼轉(zhuǎn)換。在另一方式下,模擬信號(hào)可以直接轉(zhuǎn)換成標(biāo)準(zhǔn)脈沖編碼調(diào)制(PCM)格式的數(shù)字形式。這樣,在該較佳實(shí)施例中,每一取樣由一16位的數(shù)據(jù)字表示。眾多取樣被組織成輸入數(shù)據(jù)的幀,每一幀由預(yù)定量的取樣組成。在現(xiàn)在揭示的實(shí)施例中,就8KHz的取樣頻率進(jìn)行考慮。對(duì)于8KHz取樣頻率,每幀由160個(gè)取樣或20msec的語(yǔ)音組成。應(yīng)該理解,其它取樣頻率和幀尺寸也可以采用。
聲音編碼領(lǐng)域包括許多不同的語(yǔ)音編碼技術(shù),其中之一是CELP編碼技術(shù)。在前文提到論文“一種4.8Kbps的編碼激勵(lì)線(xiàn)性預(yù)測(cè)編碼器”中描述了這種CELP編碼技術(shù)的概要。本發(fā)明采用一種形式的CELP編碼技術(shù),以提供編碼語(yǔ)音數(shù)據(jù)的可變速率,其中,LPC分析是對(duì)一定量的取樣進(jìn)行的,而音調(diào)和碼書(shū)檢索則是根據(jù)傳送速率對(duì)變量的取樣進(jìn)行的。在原理上,參照?qǐng)D3和5討論應(yīng)用于本發(fā)明中的CELP編碼技術(shù)。
在本發(fā)明的該較佳實(shí)施例中,語(yǔ)音分析幀為20ms長(zhǎng),意味著所提取的參數(shù)以每秒50次的脈沖進(jìn)行傳送。此外,數(shù)據(jù)傳送速率大致從8Kbps變化至4Kbps、2Kbps和1Kbps。在全速率(亦稱(chēng)為速率1)下,數(shù)據(jù)傳送處于8.55Kbps的速率下,為每一幀而編碼的參數(shù)用了171位,其中包括一個(gè)11位的內(nèi)部CRC(循環(huán)冗余檢驗(yàn))。除去CRC位,速率將是8Kbps。在半速率(亦稱(chēng)為速率1/2)下,數(shù)據(jù)傳送以4Kbps的速率進(jìn)行,每一幀的編碼參數(shù)用了80位。在四分之一速率(亦稱(chēng)為速率1/4)下,數(shù)據(jù)傳送為2Kbps的速率,每幀的編碼數(shù)據(jù)用了40位。在八分之一速率(亦稱(chēng)為速率1/8)下,數(shù)據(jù)傳送速率略低于1Kbps,各幀的編碼參數(shù)使用16位。
圖1例示出語(yǔ)音數(shù)據(jù)的一個(gè)分析幀10,以及它與在LPC分析中采用的漢明窗口12的關(guān)系。不同速率下的LPC分析幀、音調(diào)和碼書(shū)子幀以圖表形式在圖2a-2d中示出。應(yīng)該理解,LPC分析幀在所有速率下是大小相同的。
現(xiàn)在參見(jiàn)附圖,具體講是圖1a,LPC分析是采用幀10的160個(gè)語(yǔ)音數(shù)據(jù)取樣完成的,它們由漢明窗口12窗口化。如圖1a所示,各個(gè)幀中的取樣s(n)記數(shù)為0-159。漢明窗口12是這樣定位的,偏離幀10中的60個(gè)取樣。該漢明窗口12從當(dāng)前的數(shù)據(jù)幀10的第60個(gè)取樣s(59)開(kāi)始,延續(xù)進(jìn)入下一數(shù)據(jù)幀14,包括其第59個(gè)取樣s(58)。因而,為當(dāng)前幀幀10產(chǎn)生的加權(quán)數(shù)據(jù)也含有以下一幀幀14的數(shù)據(jù)為依據(jù)的數(shù)據(jù)。
根據(jù)數(shù)據(jù)傳送速率,對(duì)于圖1b-1e中示出的數(shù)據(jù)幀10的不同子幀進(jìn)行多次檢索,以計(jì)算出音調(diào)濾波器和碼書(shū)激勵(lì)參數(shù)。應(yīng)該理解成,在本實(shí)施例中,給幀10只選擇一個(gè)速率,因而音調(diào)和碼書(shū)檢索在不同大小的子幀中對(duì)應(yīng)于下面說(shuō)明的選擇速率進(jìn)行。然而為了示意,在圖1b-1e中示出在本較佳實(shí)施例的各種允許速率下對(duì)幀10的音調(diào)和碼書(shū)檢索的子幀結(jié)構(gòu)。
如圖1a所示,在所有速率下,對(duì)每一幀10都有一次LPC計(jì)算。如圖1b所示,在全速率下,對(duì)應(yīng)每一音調(diào)子幀16有兩個(gè)碼書(shū)子幀18。在全速率下有四次音調(diào)更新,四個(gè)音調(diào)子幀16各一次,每次長(zhǎng)為40個(gè)取樣(5ms)。此外,在全速率下,有八次碼書(shū)更新,八個(gè)碼書(shū)子幀18各一次,每次長(zhǎng)為20個(gè)取樣(2.5ms)。
在半速率下,如圖1C所示,對(duì)應(yīng)每一音調(diào)子幀20,有兩個(gè)碼書(shū)子幀22。音調(diào)更新兩次,兩個(gè)音調(diào)子幀20各一次,而碼書(shū)更新四次,四個(gè)碼書(shū)子幀22各一次。在四分之一速率下,如圖1d所示,對(duì)單個(gè)音調(diào)子幀20有兩個(gè)碼書(shū)子幀26。對(duì)音調(diào)子幀24進(jìn)行一次音調(diào)更新,而碼書(shū)則為兩次,兩個(gè)碼書(shū)子幀26各一次。如圖1e所示,在八分之一速率下,不確定音調(diào),在對(duì)應(yīng)于幀10的幀28中碼書(shū)只更新一次。
另外,雖然LPC系數(shù)每幀只計(jì)算一次,但是,在線(xiàn)頻譜對(duì)(LSP)表示式中,利用從前一幀得到的LSP頻率對(duì)它們線(xiàn)性?xún)?nèi)插達(dá)四次,以逼近漢明窗口位于每一幀中心時(shí)的LPC分析的結(jié)果。其例外情況是在全速率下對(duì)碼書(shū)子幀LPC系數(shù)不被內(nèi)插。LSP頻率計(jì)算的細(xì)節(jié)在此后說(shuō)明。
在較低速率下音調(diào)和碼書(shū)檢索較少地進(jìn)行,此外,給LPC系數(shù)的傳送也分配少量位數(shù)。在不同速率下配置的位的數(shù)量示出在圖2a-2d中。圖2a-2d中的每一個(gè)表示出分配給語(yǔ)音的每一160取樣幀的聲碼器編碼數(shù)據(jù)位的數(shù)量。在圖2a-2d中,各個(gè)LPC塊30a-30d中的數(shù)量是在相應(yīng)速率下用于短期LPC系數(shù)編碼的位數(shù)。在本較佳實(shí)施例中,用于LPC系數(shù)編碼的位數(shù)在全、半、四分之一和八分之一速率下分別是40、20、10和10。
為了采用可變速率編碼,LPC首先變換成線(xiàn)頻譜對(duì)(LSP),得到的LSP頻率用DPCM編碼器單獨(dú)進(jìn)行編碼。LPC的階數(shù)為10,因而有10個(gè)LSP頻率和10個(gè)獨(dú)立的DPCM編碼器。對(duì)DPCM編碼器的位分配按照表I進(jìn)行。
表I
在編碼器和譯碼器中,LSP頻率都在用于音調(diào)和碼書(shū)檢索之前轉(zhuǎn)換回LPC濾波器系數(shù)。
關(guān)于音調(diào)檢索,圖2a示出在全速率下,音調(diào)更新計(jì)算四次,對(duì)語(yǔ)音幀的每四分之一長(zhǎng)度各一次。對(duì)于全速率下的每次音調(diào)更新,新的音調(diào)參數(shù)編碼用了10位。如圖2b-2d所示,在其它速率下,音調(diào)更新的次數(shù)不相同。當(dāng)速率降低時(shí),更新的次數(shù)也減少。圖2b示出在半速率下的音調(diào)更新,它計(jì)算兩次,對(duì)語(yǔ)音幀的每一半各進(jìn)行一次。與此類(lèi)似,圖2c示出在四分之一速率下的音調(diào)更新,對(duì)每個(gè)語(yǔ)音幀計(jì)算一次。同全速率一樣,每次半速率和四分之一速率音調(diào)更新也用了10位來(lái)將新的音調(diào)參數(shù)編碼。但在八分之一速率下,如圖2d所示,不計(jì)算音調(diào)更新,因?yàn)樵跊](méi)有或很少語(yǔ)音以及音調(diào)冗余不存在的時(shí)候,就采用該速率來(lái)對(duì)各個(gè)幀編碼。
在每10位音調(diào)更新值中,7位表示音調(diào)滯后,而3位表示音調(diào)增益。音調(diào)滯后限制在17和143之間。音調(diào)增益線(xiàn)性是量化至0和2之間,以便用3位的值來(lái)表示。
關(guān)于碼書(shū)檢索,圖2a示出,在全速率下碼書(shū)更新計(jì)算八次,語(yǔ)音幀的每八分之一各一次。全速率下的每次碼書(shū)更新用10位來(lái)進(jìn)行新的碼書(shū)參數(shù)編碼。圖2b-2d中示出,在其它速率下進(jìn)行不同次數(shù)的碼書(shū)更新。然而,隨著速率降低,碼書(shū)更新次數(shù)也減少。圖2b示出半速率下的碼書(shū)更新,它計(jì)算四次,對(duì)語(yǔ)音幀的每四分之一各一次。圖2c示出四分之一速率下的碼書(shū)更新,計(jì)算兩次,對(duì)語(yǔ)音幀的每一半各一次。同全速率下一樣,每個(gè)半速率和四分之一速率音調(diào)更新用10位來(lái)將新碼書(shū)參數(shù)編碼。最后,圖2d示出八分之一速率下的碼書(shū)更新,對(duì)每一語(yǔ)音幀進(jìn)行一次計(jì)算。要注意到,在八分之一速率下,傳送了6位,其中兩位代表碼書(shū)增益,其余四位是隨機(jī)位。后文將進(jìn)一步討論碼書(shū)更新的位分配。
為碼書(shū)更新而分配的位數(shù)表示將音調(diào)預(yù)測(cè)余量矢量量化所需的數(shù)據(jù)位。在全、半和四分之一速率下,每次碼書(shū)更新由7位碼書(shū)索引加3位碼書(shū)增益總共10位數(shù)據(jù)組成。碼書(shū)增益是用工作在對(duì)數(shù)區(qū)域的差分脈碼調(diào)制(DPCM)編碼器進(jìn)行編碼的。對(duì)于八分之一速率,雖然也可以采用類(lèi)似的位分布,但最好用一不同的方案。在八分之一速率下,碼書(shū)增益用兩位表示,而四個(gè)隨機(jī)產(chǎn)生的位則與接收到的數(shù)據(jù)一起使用,作為替代碼書(shū)的偽隨機(jī)數(shù)發(fā)生器的種子。
參見(jiàn)圖3所示的編碼器框圖,LPC分析是以開(kāi)環(huán)方式進(jìn)行的。從輸入語(yǔ)音取樣s(n)的各個(gè)幀中計(jì)算出LPC系數(shù)(α1-α10),如后文中說(shuō)明,由LPC分析/量化器50來(lái)完成,已供共振峰合成濾波器60使用。
然而,音調(diào)檢索的計(jì)算是以閉環(huán)方式進(jìn)行的,通常這稱(chēng)作分析-合成方法。但是,在實(shí)際應(yīng)用中,采用一種新穎的閉環(huán)/開(kāi)環(huán)混合技術(shù)來(lái)進(jìn)行音調(diào)檢索。在音調(diào)檢索中,通過(guò)選取使輸入語(yǔ)音與合成語(yǔ)音的均方之差為最小的參數(shù)而進(jìn)行編碼。為了簡(jiǎn)化這部分的討論,速率的問(wèn)題不作考慮。但在下文中將更詳細(xì)地討論選出的速率對(duì)音調(diào)和碼書(shū)檢索的影響。
在圖3所示的初步實(shí)施例中,感知加權(quán)濾波器52由下列等式特征化W(z)=A(z)A(z/μ)---(1)]]>其中A(z)=1-Σi=110αiZ-i---(2)]]>它是共振峰預(yù)測(cè)濾波器,μ是感知加權(quán)參數(shù),在本實(shí)施例中,μ=0.8。音調(diào)合成濾波器58由下列等式特征化1P(z)=11-bz-L---(3)]]>下文討論共振峰合成濾波器60,它是加權(quán)濾波器,由下列等式特征化H(z)=(1A(z))W(z)=1A(z/μ)---(4)]]>輸入語(yǔ)音取樣S(n)由感知加權(quán)濾波器52加權(quán),所產(chǎn)生的加權(quán)語(yǔ)音取樣X(jué)(n)作為和輸入提供給加法器62。感知加權(quán)用于給低信號(hào)功率頻率中的錯(cuò)誤加權(quán)。在這些低信號(hào)功率頻率中,噪聲更易察覺(jué)。合成的語(yǔ)音取樣X(jué)′(n)從共振峰合成濾波器60輸出作為差輸入加到加法器62與X(n)作減法運(yùn)算。加法器62輸出的取樣值之差輸入至均方差(MSE)單元64,它們被平方后累加。WSE單元64的結(jié)果提供給最小化單元66,它產(chǎn)生音調(diào)滯后L、音調(diào)增益b、碼書(shū)索引I和碼書(shū)增益G的數(shù)值。
在最小化單化66中P(z)中的音調(diào)滯后參數(shù)L的所有可能值與來(lái)自乘法器56的數(shù)值c(n)一起輸入音調(diào)合成濾波器58。在音調(diào)檢索過(guò)程中,碼書(shū)沒(méi)有任何貢獻(xiàn),即c(n)=0。由最小化單元66選出使輸入語(yǔ)音與合成語(yǔ)音的加權(quán)差最小的L和b的數(shù)值。音調(diào)合成濾波器58產(chǎn)生并輸出P(n)值給共振峰合成濾波器60,一旦找到音調(diào)濾波器的音調(diào)滯后L和音調(diào)增益b,就以類(lèi)似方式進(jìn)行碼書(shū)檢索。
應(yīng)該理解,圖3是本發(fā)明所采取的分析-合成方法的原理表示。在本發(fā)明的例示應(yīng)用中,這些濾波器不應(yīng)用在典型的閉環(huán)反饋結(jié)構(gòu)中。在本發(fā)明中,在檢索過(guò)程中反饋聯(lián)系被切斷,而代之以開(kāi)環(huán)共振峰余量,其細(xì)節(jié)在下文中提供。
最小化單元66然后產(chǎn)生碼書(shū)索引I和碼書(shū)增益G的值。碼書(shū)54的輸出值是按照碼書(shū)索引I從許多隨機(jī)高斯矢量值中選出的,在乘法器56中乘以碼書(shū)增益G,產(chǎn)生音調(diào)合成濾波器58中所用的c(n)值序列。選取使均方差為最小的碼書(shū)索引I和碼書(shū)增益G用于傳送。
應(yīng)注意到,感知加權(quán)W(z)既通過(guò)感知加權(quán)濾波器52加在輸入語(yǔ)音上,也通過(guò)共振峰合成濾波器60中包含的加權(quán)功能加在合成語(yǔ)音上。因而,共振峰合成濾波器60實(shí)際上是加權(quán)后的共振峰合成濾波器,它把等式1的加權(quán)功能與典型的共振峰預(yù)測(cè)濾波器特性 組合起來(lái),產(chǎn)生等式3的加權(quán)共振峰合成功能。
應(yīng)該理解的是,換種方式,感知加權(quán)濾波器52可以放在加法器62和MSE單元64之間。在這種情況下,共振峰合成濾波器60具有通常的濾波器特性 圖4示出用圖3的編碼器對(duì)語(yǔ)音編碼時(shí)所需步驟的流程。為了說(shuō)明,涉及速率判定的步驟包含在圖4的流程中。在步驟80,從取樣電路獲取數(shù)字化語(yǔ)音取樣,在步驟82中計(jì)算出LPC系數(shù)。在LPC系數(shù)計(jì)算中用到了漢明窗口和自相關(guān)技術(shù)。在步驟84,在本實(shí)施例中依據(jù)幀能量對(duì)重要的幀作出初步的速率確定。
為了有效地以少量位數(shù)將LPC系數(shù)編碼,在步驟86,LPC系數(shù)轉(zhuǎn)成線(xiàn)頻譜對(duì)(LSP)頻率,然后在步驟88量化,以便傳送。一種選擇方案是,在步驟90可以進(jìn)行附加的速率確定,在步驟92,如果認(rèn)為對(duì)初始速率作的LSP量化不充分,則可增加速率。
在步驟94,對(duì)于處在分析中的語(yǔ)音幀的第1個(gè)音調(diào)子幀,LSP頻率經(jīng)內(nèi)插后轉(zhuǎn)換成LPC系數(shù),用于進(jìn)行音調(diào)檢索。在音調(diào)檢索中,碼書(shū)激勵(lì)設(shè)置為零。在步驟96和98的作為由先前討論的合成方法所進(jìn)行的一種分析的音調(diào)檢索中,就每一可能的音調(diào)滯后L,將合成語(yǔ)音與原始語(yǔ)音比較。對(duì)于每一L值,確定一個(gè)取整數(shù)值的最佳音調(diào)增益b。在L和b值的組合中,最佳的L和b值組合給出合成語(yǔ)音與原始語(yǔ)音之間的最小感知加權(quán)均方誤差。在所確定的音調(diào)子幀的L、b最佳值中,在步驟100將b值量化,以便與對(duì)應(yīng)的L值一起傳送。在音調(diào)檢索的另一種實(shí)現(xiàn)方法中,b值可以作為音調(diào)檢索一部分進(jìn)行量化,這些量化值用于進(jìn)行音調(diào)檢索。因而,在這種實(shí)現(xiàn)方式中消除了在音調(diào)檢索之后選中的b值在步驟100的量化要求。
對(duì)于處在分析中的語(yǔ)音幀的第1碼書(shū)子幀,在步驟102,LSP頻率經(jīng)內(nèi)插后轉(zhuǎn)換成LPC系數(shù),以用于進(jìn)行碼書(shū)檢索。然而,在本實(shí)施例中,在全速率下,LSP頻率僅僅內(nèi)插至音調(diào)子幀水平。由于在各個(gè)頻率下音調(diào)和碼書(shū)子幀的大小有差異,在音調(diào)檢索之外,對(duì)碼書(shū)檢索也進(jìn)行這種內(nèi)插和轉(zhuǎn)換步驟。只有速率1/8是例外,因?yàn)椴挥?jì)算音調(diào)數(shù)據(jù),所以這一問(wèn)題懸而未決。在步驟104和106的碼書(shū)檢索中,在音調(diào)合成濾波器中用到音調(diào)滯后L和音調(diào)增益b的最佳值,使得就每一個(gè)可能的碼書(shū)索引I,將會(huì)成語(yǔ)音與原始語(yǔ)音作比較。對(duì)于每個(gè)I值,確定一個(gè)取整數(shù)值的最佳碼書(shū)增益G。I和G值組合中,最佳的I和G值組合給出合成語(yǔ)音與原始語(yǔ)音之間最小的誤差。在給碼書(shū)子幀確定的最佳值I和G中,G值在步驟108被量化,以便與對(duì)應(yīng)I值一起傳送。在碼書(shū)檢索的另一種變換應(yīng)用中,G值可以量化成碼書(shū)檢索的一部分,這些量化值用于進(jìn)行碼書(shū)檢索。在這種變換應(yīng)用中,省除了碼書(shū)檢索之后在步驟108將選中的G值量化的要求。
在碼書(shū)檢索之后,編碼器中的一個(gè)譯碼器在I、G、L和b的最佳值下運(yùn)行。編碼中的譯碼器的運(yùn)行使得編碼濾波存儲(chǔ)器重組,以用于以后的子幀。
然后在步驟110進(jìn)行驗(yàn)證,以確定剛完成分析的該碼書(shū)子幀是否對(duì)應(yīng)于已進(jìn)行音調(diào)檢索的音調(diào)子幀的碼書(shū)子幀組中的最后一個(gè)碼書(shū)子幀。換句話(huà)說(shuō),確認(rèn)是否還有其他對(duì)應(yīng)于該音調(diào)子幀的碼書(shū)子幀。在本實(shí)施例中,對(duì)應(yīng)每一音調(diào)子幀有兩個(gè)碼書(shū)子幀。如果確認(rèn)有另一個(gè)對(duì)應(yīng)于該音調(diào)幀的碼書(shū)子幀,則對(duì)該碼書(shū)子幀重復(fù)步驟102-108。
如果不再有對(duì)應(yīng)于該音調(diào)幀的碼書(shū)子幀,則在步驟112進(jìn)行驗(yàn)證,以確定處于分析中的語(yǔ)音幀中是否有其他任何音調(diào)子幀存在。如果在當(dāng)前處于分析中的語(yǔ)音幀中有另一個(gè)音調(diào)子幀存在,則對(duì)每個(gè)音調(diào)子幀和對(duì)應(yīng)的碼書(shū)子幀重復(fù)步驟94-110。當(dāng)目前處于分析中的語(yǔ)音幀的計(jì)算都已完成之后,在步驟114,將代表語(yǔ)音幀的LPC系數(shù)的數(shù)值,即各音調(diào)子幀的音調(diào)滯后L和增益b和各碼書(shū)子幀的碼書(shū)索引I和增益G進(jìn)行壓縮,以便傳送。
參見(jiàn)圖5,其中示出一個(gè)譯碼器框圖,按收到的LPC系數(shù)(αi),音調(diào)滯后和增益(L&b)、碼書(shū)索引和增益(I&G)用來(lái)合成語(yǔ)音。同圖3一樣,為了簡(jiǎn)化討論,在圖5中也不考慮速率信息。數(shù)據(jù)速率信息可以作為輔助信息傳送,在某些情況下,可以在信道解調(diào)級(jí)導(dǎo)出。
譯碼器由碼書(shū)130組成,得到所接收到的碼書(shū)索引,或者在八分之一速率下得到隨機(jī)種子。碼書(shū)130的輸出提供給乘法器132的一個(gè)輸入端,而乘法器132的另一輸出端接收碼書(shū)增益G。乘法器132的輸出與音調(diào)滯后L和增益b一起供給音調(diào)合成濾波器134。音調(diào)合成濾波器134的輸出與LPC系數(shù)αi一起供給共振峰合成濾波器136。共振峰合成濾波器136的輸出供給自適應(yīng)后置濾波器138,其中濾波和輸出的是再生語(yǔ)音。后文中將討論,有一種形式譯碼器是在編碼器中實(shí)現(xiàn)的。編碼器的譯碼器不包括自適應(yīng)后置濾波器138,但是包括一個(gè)感知加權(quán)濾波器。
圖6是與圖5譯碼器的動(dòng)作相對(duì)應(yīng)的流程。在步驟150譯碼器中,根據(jù)接收到的參數(shù)重建語(yǔ)音。具體來(lái)講,在步驟152,接收到的碼書(shū)索引值輸入進(jìn)碼書(shū),產(chǎn)生碼矢量或碼書(shū)輸出值。在步驟154,乘法器接收該碼矢量和碼書(shū)增益G,并將這些值相乘,得出的信號(hào)提供給音調(diào)濾波器。應(yīng)該注意到,碼書(shū)增益G是通過(guò)將收到的DPCM參數(shù)譯碼和反量化而得以重建的。在步驟156,音調(diào)合成濾波器得到所接收到的音調(diào)滯后L和增益b,以及乘法器輸出信號(hào),以對(duì)乘法器輸出進(jìn)行濾波。
音調(diào)合成濾波器對(duì)碼書(shū)矢量濾波后得到的數(shù)值輸入共振峰合成濾波器。在步驟158,LPC系數(shù)αi與供給共振峰合成濾波器,用于對(duì)音調(diào)合成濾波器的輸出信號(hào)濾波。在譯碼器中,將收到的參數(shù)譯碼成量化LSP頻率,將LSP頻率反量化并轉(zhuǎn)換成LPC系數(shù)αi,藉此重建LPC系數(shù),以進(jìn)行內(nèi)插。在步驟160,共振峰合成濾波器的輸出提供給自適應(yīng)后置濾波器,量化噪聲在其中被掩蓋,重建后的語(yǔ)音得到增益控制。在步驟162,重建后的語(yǔ)音輸出,以轉(zhuǎn)換成模擬形式。
現(xiàn)在參見(jiàn)圖7a和7b的框圖,說(shuō)明本發(fā)明的語(yǔ)音編碼技術(shù)的進(jìn)一步細(xì)節(jié)。在圖7a中,各個(gè)數(shù)字化語(yǔ)音取樣的幀提供給一個(gè)漢明窗口系統(tǒng)200,在該子系統(tǒng)中,輸入語(yǔ)音在自相關(guān)子系統(tǒng)202進(jìn)行自相關(guān)系數(shù)計(jì)算之前被窗口化。
圖8的例示應(yīng)用中示出了漢明窗口子系統(tǒng)200和自相關(guān)子系統(tǒng)202。漢明窗口子系統(tǒng)200由通常是80×16位的ROM的查算表250和乘法器252組成。在每一速率下,語(yǔ)音的窗口中心處于160個(gè)取樣長(zhǎng)的分析幀的第139和140個(gè)取樣之間。這樣,用于計(jì)算自相關(guān)系數(shù)的窗口偏移分析幀60個(gè)取樣。
因?yàn)闈h明窗口是中心對(duì)稱(chēng)的,所以窗口化是利用包含有160個(gè)WH(n)值中的80個(gè)值的ROM表進(jìn)行的。漢明窗口的偏移是通過(guò)將ROM的地址指針相對(duì)于分析幀的第一個(gè)取樣偏移60個(gè)位置而實(shí)現(xiàn)的。這些值由乘法器以單精度與對(duì)應(yīng)的輸入語(yǔ)音取樣相乘。在分析窗口中,將s(n)作為輸入語(yǔ)音信號(hào),因而窗口化的語(yǔ)音信號(hào)Sw(n)被定義為Sw(n)=s(n+60)WH(n 0<=n<=79(5)和Sw(n)=s(n+60)WH(159-n)80<=n<=159 (6)查算表250內(nèi)容的16進(jìn)制例示值在表II中給出。這些數(shù)值解釋成具有14個(gè)小數(shù)位的二進(jìn)制補(bǔ)碼,表格要從左到右、從上到下閱讀。
表II0x051f 0x0525 0x0536 0x0554 0x057d 0x05b1 0x05f2 0x063d0x0694 0x06f6 0x0764 0x07dc 0x085e 0x08ec 0x0983 0x0a240x0ad0 0x0b84 0x0c42 0x0d09 0x0dd9 0x0eb0 0x0f90 0x10770x1166 0x125b 0x1357 0x1459 0x1560 0x166d 0x177f 0x18950x19af 0x1acd 0x1bee 0x1d11 0x1e37 0x1f5e 0x2087 0x21b00x22da 0x2403 0x252d 0x2655 0x277b 0x28a0 0x29c2 0xael0x2bfd 0x2d15 0x2e29 0x2f39 0x3043 0x3148 0x3247 0x333f0x3431 0x351c 0x3600 0x36db 0x37af 0x387a 0x393d 0x39f60x3aa6 0x3b4c 0x3be9 0xec7b 0x3d03 0x3d80 0xdf3 0x3e5b0x3eb7 0x3f09 0x3f4f 0x3f89 0x3fb8 0x3fdb 0x3ff3 0x3fff自相關(guān)子系統(tǒng)202由寄存器254、多路轉(zhuǎn)換器256、移位寄存器258、乘法器260、加法器262、循環(huán)移位寄存器264和緩存器266組成。窗口化的語(yǔ)音取樣Sw(n)每隔20ms運(yùn)算一次并鎖存在寄存器254中。在LPC分析幀的第一個(gè)取樣Sw(o)上,移位寄存器258和264中復(fù)位到0。在每一個(gè)新的取樣Sw(n)上,多路轉(zhuǎn)換器256接收一個(gè)新的取樣選擇信號(hào)。該信號(hào)使取樣能夠從寄存器254進(jìn)入多路轉(zhuǎn)換器。新的取樣Sw(n)也提供給乘法器260。與取樣Sw(n-10)相乘,取樣Sw(n-10)處在移位寄存器258的未位SR10上。得到的數(shù)值在加法器262中與循環(huán)移位寄存器264的未位CSR11上的數(shù)值相加。
移位寄存器258和260每收到一次時(shí)鐘脈沖,就在移位寄存器258的首位SR1中用Sw(n)替換Sw(n-1),并替換先前在位置CSR10中的數(shù)值。在移位寄存器258有時(shí)鐘脈沖時(shí),新脈沖選擇信號(hào)從多路轉(zhuǎn)換器256的輸入端中去除,使得當(dāng)前處在移位寄存器260位SR10中的取樣Sw(n-9)被允許進(jìn)入多路轉(zhuǎn)換器256。在循環(huán)移位寄存器264中,先前在位CSR11上的數(shù)值移入首位CSR1中。新取樣選擇信號(hào)從多路轉(zhuǎn)換器中去除后,移位寄存器258置位,以和循環(huán)移位寄存器264一樣,進(jìn)行數(shù)據(jù)的循環(huán)移位。
對(duì)每個(gè)取樣,移位寄存器258和264總共都得到11次時(shí)鐘脈沖,因而執(zhí)行11次乘積/累加動(dòng)作。在對(duì)160個(gè)取樣進(jìn)行時(shí)鐘輸入后包含在循環(huán)移位寄存器264中的自相關(guān)結(jié)果作為R(0)-R(10)值時(shí)鐘輸入緩存器266。所有移位寄存器復(fù)位到零,對(duì)窗口化語(yǔ)音取樣的下一個(gè)幀重復(fù)此過(guò)程。
回頭再參見(jiàn)圖7a,對(duì)語(yǔ)音幀計(jì)算好自相關(guān)系數(shù)后,速率確定子系統(tǒng)204和LPC分析子系統(tǒng)206就利用該數(shù)據(jù)來(lái)分別計(jì)算幀數(shù)據(jù)速率和LPC系數(shù)。由于這些運(yùn)算是彼此獨(dú)立的,所以,它們可以以任何順序甚至同時(shí)計(jì)算。這里為了說(shuō)明,而首先討論速率確定。
速率確定子系統(tǒng)204有兩個(gè)功能;(1)確定當(dāng)前幀的速率,(2)重新估算背景噪聲水平。當(dāng)前分析幀的速率最初是依據(jù)當(dāng)前幀的能量、背景噪聲水平的先前估值、先前速率和來(lái)自一控制微機(jī)的速率指令確定的。而新的背景噪聲水平是利用背景噪聲水平的先前估值和當(dāng)前幀能量估算出的。
本發(fā)明將自適應(yīng)閾值技術(shù)用于速率確定。當(dāng)背景噪聲變化時(shí),用于選擇速率的閾值也變化。在本實(shí)施例中,計(jì)算三個(gè)閾值,以確定初始的速率選擇RTP。這些閾值是背景噪聲先前估值的二次函數(shù),示出如下T1(B)=-5.544613(10-6)B2+4.047152B+363.1293(7)T2(B)=-1.529733(10-5)B2+8.750045B+1136.214(8)和T3(B)=-3.957050(10-5)B2+18.89962B+3346.789(9)其中,B是背景噪聲的先前估值。
幀能量與三個(gè)閾值T1(B)、T2(B)和T3(B)作比較。如果幀能量低于所有三個(gè)閾值,則選擇最低的傳送速率(1Kbps),即RTP=4速率1/8。如果幀能量低于兩個(gè)閾值,則選擇第二個(gè)傳送速率(2Kbps),即RTP=3,速率1/4。如果幀能量?jī)H低于一個(gè)閾值,就選擇第三個(gè)傳送速率(4Kbps),即RTP=2,速率1/2。如果幀能量高于所有閾值,則選取最高傳送速率(8Kbps),即RTP=1,速率1。
此后,可以依據(jù)前一幀的最終速率RTr來(lái)修改初始速率RTp。如果初始速率RTP低于前一幀的最終速率減1,即(RTr-1),則設(shè)定一個(gè)中間速率RTm=(RTr-1)。在發(fā)生高能量信號(hào)向低能量信號(hào)的轉(zhuǎn)換時(shí),這種修改過(guò)程使得速率緩慢地降低。然而,如果初始速率選擇等于或大于前一速率減1,即(RTr-1),則中間速率RTm設(shè)置成與初始速率RTP相同,即RTm=RTP。在這種場(chǎng)合,當(dāng)發(fā)生低能量信號(hào)向高能量信號(hào)的轉(zhuǎn)換時(shí),速率會(huì)立即提高。
最后,中間速率RTm由來(lái)自微機(jī)的速率約束指令作進(jìn)一步修改。如果速率RTm大于微機(jī)所允許的最高速率,則設(shè)定初始速率RTi為最高允許值。與此類(lèi)似,如果中間速率RTm小于微機(jī)允許的最低速率,則初始速率RTi設(shè)為最低允許值。
在某些情況下,可能會(huì)要求以微機(jī)決定的速率對(duì)所有語(yǔ)音編碼。速率約束指令通過(guò)將最高和最低允許速率設(shè)為期望速率,而將幀速率設(shè)置成期望速率。速率約束指令可用于特殊的速率控制場(chǎng)合,如用于速率聯(lián)鎖和模糊及突發(fā)傳送,這些都在后文說(shuō)明。
圖9給出速率確定算法的例示執(zhí)行過(guò)程。要起動(dòng)運(yùn)算,寄存器270要預(yù)先裝入提供給加法器272的數(shù)值1。循環(huán)移位寄存器274、276和278分別裝載二次閾值等式(7)-(9)的第1、2和3系數(shù)。例如,循環(huán)移位寄存器274的末位、中位和首位分別裝載計(jì)算T1、T2和T3的等式的第1系數(shù)。與此類(lèi)似,循環(huán)移位寄存器276的末位、中位和首位分別裝入計(jì)算T1、T2和T3的等式的第2系數(shù)。最后,循環(huán)移位寄存器278的末位、中位和首位分別裝入計(jì)算T1、T2和T3的等式的常數(shù)項(xiàng)。在各個(gè)循環(huán)移位寄存器274、276和278中,數(shù)值從末位輸出。
在計(jì)算第1閾值T1時(shí),先前幀的背景噪聲估值B在乘法器280中自乘。得到的B2值乘以第1系數(shù)-5.544613(10-6),該系數(shù)從循環(huán)移位寄存器274的末位輸出。得到的結(jié)果在加法器286中加上來(lái)自乘法器284的背景噪聲B與循環(huán)移位寄存器276末位輸出的第2系數(shù)4.047152的乘積。然后,加法器286的輸出值在加法器288中加上循環(huán)移位寄存器278的末位輸出的常數(shù)項(xiàng)363.1293。加法器288的輸出即為T(mén)1的計(jì)算值。
加法器288輸出的T1計(jì)算值在加法器290中減去幀能量值Ef,在本實(shí)施例中,Ef是線(xiàn)性區(qū)域中的數(shù)值R(0),由自相關(guān)子系統(tǒng)提供。
換種方式,幀能量Ef也可以以分貝數(shù)在對(duì)數(shù)域中表示,它近似為由有效窗口長(zhǎng)度歸一化后的第一自相關(guān)系數(shù)R(0)的對(duì)數(shù)值Ef=10log10R(0)LA/2---(10)]]>其中,LA是自相關(guān)窗口長(zhǎng)度。應(yīng)該理解到,聲音動(dòng)作也可以從包括音調(diào)預(yù)測(cè)增益或共振峰預(yù)測(cè)增益Ga在內(nèi)的其它各種參數(shù)中測(cè)得Ga=10log10E(10)E(10)---(11)]]>其中,E(10)是第10次疊代后的預(yù)測(cè)殘留能量,而E(0)是初始LPC預(yù)測(cè)殘留能量,后文中說(shuō)明,在LPC分析中與R(0)相等。
利用比較器或限幅器292,從加法器290的輸出中提取二進(jìn)制補(bǔ)碼差值符號(hào)位的補(bǔ)碼,并提供給加法器272,與寄存器270的輸出相加。這樣,如果R(0)與T1之差為正,則寄存器270增量1。如果差值為負(fù),寄存器270保持原樣。
然后,循環(huán)寄存器274、276和278進(jìn)行循環(huán),因而,T2的等式(8)的系數(shù)出現(xiàn)在其輸出端。同討論閾值T1的過(guò)程一樣,重復(fù)計(jì)算閾值T2和將它與幀能量比較的過(guò)程。然后,循環(huán)寄存器264、276和278再次循環(huán),使T3的等式(9)的系數(shù)出現(xiàn)在其輸出端。閾值T3的計(jì)算和與幀能量的比較與上文中說(shuō)明的相同。在完成所有三個(gè)閾值的計(jì)算和比較后,寄存器270包含有初始速率估算值RTi。初始速率估算值RTP提供給速率緩降邏輯294。存儲(chǔ)在寄存器298中來(lái)自LSP頻率量化子系統(tǒng)的先前幀最終速率RTr也供給邏輯294。邏輯296計(jì)算數(shù)值(RTr-1),并提供初始速率估算值RTP和數(shù)值(RTr-1)中的較大者作為輸出。數(shù)值RTm給到速率限制邏輯296。
前面說(shuō)到,微機(jī)提供速率限制指令給聲碼器,具體講是給邏輯296。在用到數(shù)字信號(hào)處理器時(shí),該指令在編碼過(guò)程的LPC分析部分結(jié)束之前送入邏輯296中。邏輯296確認(rèn)該速率不超過(guò)速率限制值,并在RTm值超出限制值時(shí)修改它。如果RTm值在允許速率范圍內(nèi),它就作為初始速率值RTi從邏輯296中輸出。初始速率值RTi從邏輯296輸出到圖7a的LSP量化子系統(tǒng)210中。
前面提到的背景噪聲估算值用于計(jì)算自適應(yīng)速率閾值。先前幀的背景噪聲估算值B用于建立當(dāng)前幀的速率閾值。然而,對(duì)于每一個(gè)幀,背景噪聲估算值被更新后用于為下一個(gè)幀確定速率閾值。新的背景噪聲估算值B′是根據(jù)先前幀的背景噪聲估算值B和當(dāng)前幀能量Ef在當(dāng)前幀中確定的。
在確定用于下一幀的新的背景噪聲估算值B′(作為先前幀背景噪聲值B)時(shí),要計(jì)算兩個(gè)數(shù)值。第1個(gè)值V1僅僅是當(dāng)前幀能量Ef。第2個(gè)值V2是B+1和KB中的較大者,K=1.00547。為了防止第2個(gè)值變得太大,將其限制在一個(gè)很大的常數(shù)M=160,000之下。選擇兩個(gè)值V1和V2中小的一方作為新的背景噪聲估算值B′。
數(shù)學(xué)表示為V1=R(0) (12)V2=min(160000,max(KB,B+1)) (13)新的背景噪聲估算值B′是B′=min(V1,V2) (14)其中,min(x,y)是x,y中的最小值,而max(x,y)是x,y中的最大值。
圖9進(jìn)一步示出了背景噪聲估算算法的例示執(zhí)行過(guò)程。第一個(gè)值V1僅僅是直接提供給多路轉(zhuǎn)換器300一個(gè)輸入端的當(dāng)前幀能量Ef。
第二個(gè)值V2從首先算出的數(shù)值KB和B+1中計(jì)算得到。在計(jì)算數(shù)值KB和B+1時(shí),存儲(chǔ)在寄存器302中的先前幀背景噪聲估算值B輸出到加法器304和乘法器306中。應(yīng)該注意到,存儲(chǔ)在寄存器302中的用于當(dāng)前幀的先前幀背景噪聲估算值B與在先前幀中計(jì)算出的新的背景噪聲估算值B′相等。加法器304還得到一個(gè)輸入值1與數(shù)值B相加,從而產(chǎn)生B+1。乘法器304還得到一個(gè)輸入值K與數(shù)值B相乘,從而產(chǎn)生KB。B+1和KB分別從加法器304和乘法器306輸出到多路轉(zhuǎn)換器308和加法器310的各個(gè)輸入端。
加法器310和比較器或限幅器312用于選擇B+1和KB中較大的一方。加法器310從KB中減去B+1并將結(jié)果提供給比較器或限幅器312。限幅器312提供一個(gè)控制信號(hào)給多路轉(zhuǎn)換器308,選擇B+1和KB較大的一方作為輸出。選出的B+1或KB(選中項(xiàng))從多路轉(zhuǎn)換器308輸出到限幅器314,限幅器314是飽和型限幅器,當(dāng)選中項(xiàng)低于常數(shù)值M時(shí),輸出選中項(xiàng)或者在選中項(xiàng)超出數(shù)值M時(shí)輸出數(shù)值M。限幅器314的輸出作為第二輸入供給多路轉(zhuǎn)換器300并作為加法器316的一個(gè)輸入。
加法器316在另一個(gè)輸入端還接收到幀能量值Ef。加法器316和比較器或限幅器318用于選擇數(shù)值Ef和限幅器314的輸出中較小的一方。加法器316從限幅器314的輸出值中減去幀能量值,并將結(jié)果提供給比較器或限幅器318。限幅器318向多路轉(zhuǎn)換器300提供一個(gè)控制信號(hào)。用于選擇Ef值和限幅器314的輸出值中較小的一方。多路轉(zhuǎn)換器300輸出的選中數(shù)值作為新的背景噪聲估算值B′提供給寄存器302,存儲(chǔ)后作為當(dāng)前幀背景噪聲估算值B用在下一幀中。
再參見(jiàn)圖7,各自相關(guān)系數(shù)R(0)-R(10)從自相關(guān)子系統(tǒng)202輸出到LPC分析子系統(tǒng)206中。在LPC分析子系統(tǒng)206中計(jì)算出的LPC系數(shù)用在感知加權(quán)濾波器52和共振峰合成濾波器60中。
LPC系數(shù)可以通過(guò)采用德賓(Durbin)遞推式的自相關(guān)方法獲得,該方法在“語(yǔ)音信號(hào)數(shù)字化處理”(賴(lài)賓納和謝弗,普藍(lán)蒂斯-豪公司1978年出版)一書(shū)中討論過(guò)。這種技術(shù)是用于獲得LPC系數(shù)的高效計(jì)算方法。該算法可以用下列等式表示E(0)=R(0),i=1; (15)ki={R(i)-Σj=1i-1αj(i-1)R(i-j)}/Ei-1;---(16)]]>αi(i)=Ki;---(17)]]>αj(i)=αj(i-1)-kiαi-j(i-1)1<=j<=i-1;---(18)]]>E(i)=(1-ki2)E(i-1)---(19)]]>如果i<10,則進(jìn)到等式(16),并取i=i+1(20)十個(gè)LPC系數(shù)標(biāo)為αj(10),1<=j(luò)<=10。
在將LPC系數(shù)編碼之前必須確保濾波器的穩(wěn)定性。濾波器的穩(wěn)定性是這樣實(shí)現(xiàn)的,將濾波器的極點(diǎn)沿徑向向內(nèi)微量移動(dòng),這一變化減小峰值頻率響應(yīng)的幅值而擴(kuò)展峰值的帶寬。這種技術(shù)作為帶寬擴(kuò)展是眾所周知的,在拖苦拉等人所著的“PARCOR語(yǔ)音分析-合成中的頻譜平滑”一文(ASSP學(xué)報(bào))中有進(jìn)一步說(shuō)明。在現(xiàn)情況下通過(guò)按比例改變各LPC系數(shù),可以迅速地完成帶寬擴(kuò)展。因而如表III中所得到的LPC都乘以對(duì)應(yīng)的十六進(jìn)制數(shù)值以產(chǎn)生LPC分析子系統(tǒng)206的最終輸出LPC系數(shù)α1-α10。應(yīng)該注意到,表III中列出的數(shù)值是十六進(jìn)制形式的。用二進(jìn)制補(bǔ)碼標(biāo)記時(shí)有十五位。在這種形式下數(shù)值0×8000表示-1.0,向數(shù)值0×7333(或29491)表示0.899994等于29491/32768。
表IIIα1=α1(10)·0x7333α2=α2(10)·0x67aeα3=α3(10)·0x5d4fα4=α4(10)·0x53fbα5=α5(10)·0x4b95α6=α6(10)·0x4406α7=α7(10)·0x3d38α8=α8(10)·0x3719α9=α9(10)·0x3196α10=α10(10)·0x2ca1這些運(yùn)算最好以雙精度進(jìn)行,即進(jìn)行32位的除法、乘法和加法。最好有雙精度的準(zhǔn)確度,以保持自相關(guān)函數(shù)和濾波器系數(shù)的動(dòng)態(tài)范圍。
在圖10中示出了LPC子系統(tǒng)206的一個(gè)例示實(shí)施例的方框圖,它用到上述等式(15)-(20)。LPC子系統(tǒng)206由三個(gè)電路部分組成,一個(gè)計(jì)算電路330和兩個(gè)用于更新主計(jì)算電路330的寄存器的緩存更新電路332和334。計(jì)算首先是從數(shù)值R(1)到R(10)裝入緩存器340中開(kāi)始的。為了啟動(dòng)計(jì)算寄存器346,通過(guò)多路轉(zhuǎn)換器344預(yù)先裝入數(shù)值R(1)。寄存器由多路轉(zhuǎn)換器354用R(0)初始化,緩存器352(它保存十個(gè)αj(i-1)數(shù)值)由多路轉(zhuǎn)換器354初始化為全零,緩存器356(它保持十個(gè)αj(i)數(shù)值)由多數(shù)轉(zhuǎn)換器358初始化為全零,對(duì)于計(jì)算循環(huán)i設(shè)定為1。為了明了起見(jiàn),計(jì)數(shù)器i和j以及其它運(yùn)算循環(huán)控制在圖中未畫(huà)出,但是這種類(lèi)型的邏輯電路的設(shè)計(jì)和綜合是處在數(shù)字邏輯設(shè)計(jì)領(lǐng)域中普通熟練者的能力范圍之內(nèi)的。
αj(i-1)數(shù)值從緩存器356輸出,以計(jì)算等式(14)中的KiE(i-1)項(xiàng)。各個(gè)數(shù)值R(i-j)從緩存器340輸出,在乘法器360中與αj(i-1)相乘。得到的數(shù)值與來(lái)自寄存器346的數(shù)值在加法器362中作減法,每次相減的結(jié)果存儲(chǔ)在寄存器346中以供作下一項(xiàng)減法。在第i個(gè)循環(huán)中,如等式(14)的求和項(xiàng)中所示,有i-1次乘法和累加運(yùn)算。在該循環(huán)的最后,寄存器346中的數(shù)值在除法器364中除以來(lái)自寄存器348的數(shù)值E(i-1),產(chǎn)生數(shù)值ki。
然后,該數(shù)值ki用在緩存更新電路332中,計(jì)算等式(19)中的E(i),數(shù)值E(i)在ki的下一個(gè)計(jì)算循環(huán)中用作為數(shù)值E(i-1)。當(dāng)前循環(huán)的數(shù)值ki在乘法器366中自乘以獲得數(shù)值ki2。然后,數(shù)值ki2在加法器368中被減去1。這一加法器運(yùn)算的結(jié)果在乘法器370中乘以來(lái)自寄存348的數(shù)值E(i)。其結(jié)果E(i)通過(guò)多路轉(zhuǎn)換器350輸入寄存器348存儲(chǔ)起來(lái)作為下一周期的數(shù)值E(i-1)。
然后,數(shù)值ki用來(lái)以等式(15)計(jì)算數(shù)值αi(i)。在這種情況下,數(shù)值ki通過(guò)多路轉(zhuǎn)換器358輸出緩存器356。數(shù)值ki還用在緩存更新電路334中,以等式(18)從數(shù)值αi(i-1)計(jì)算出數(shù)值αj(i)。緩存器352中現(xiàn)存的數(shù)值用于計(jì)算αj(i)。如等式(18)所示,在第i個(gè)循環(huán)中有i-1次運(yùn)算。在i=1的迭代中,不需要這些運(yùn)算。對(duì)于第i次循環(huán)的各個(gè)j值,計(jì)算出一個(gè)αj(i)值。在計(jì)算各αj(i)值時(shí),各αi-j(i-1)值在乘法器372中乘以數(shù)值ki,以輸出到加法器374。在加法器374中,從另外輸入加法器374的數(shù)值αj(i-1)中減去數(shù)值kiαi-j(i-1)。各個(gè)乘法和加法的結(jié)果作為αj(i)值通過(guò)多路轉(zhuǎn)換器358供給緩存器356。
對(duì)當(dāng)前循環(huán)計(jì)算出αi(i)和αj(i)值后,就將剛算出并存儲(chǔ)于緩存器356中的這些數(shù)值通過(guò)多路轉(zhuǎn)換器354輸出給緩存器352。存在緩存器356中的數(shù)值存儲(chǔ)于緩存器352的相應(yīng)位置中。這樣,緩存器352得到更新,以計(jì)算i+1循環(huán)的數(shù)值ki。
在前一循環(huán)的最后產(chǎn)生的數(shù)據(jù)αj(i-1)在當(dāng)前循環(huán)中用于為下一循環(huán)產(chǎn)生更新數(shù)據(jù)αj(i),注意到這一點(diǎn)是很重要的。必須保留該前一循環(huán)的數(shù)據(jù),以便為下一循環(huán)完整地產(chǎn)生更新數(shù)據(jù)。這樣,兩個(gè)緩存器356和352用于將前一循環(huán)的數(shù)據(jù)保存到更新數(shù)據(jù)完全產(chǎn)生為止。
上述說(shuō)明是針對(duì)在完成更新數(shù)值的計(jì)算時(shí)數(shù)據(jù)從緩存器356向緩存器352并行轉(zhuǎn)送作出的。這種執(zhí)行方式確保舊的數(shù)據(jù)在計(jì)算新數(shù)據(jù)的整個(gè)過(guò)程中得以保留,而不會(huì)象在設(shè)置單個(gè)緩存器情況下,舊的數(shù)據(jù)在完全利用之前就丟失了。上述方式是實(shí)現(xiàn)相同結(jié)果的現(xiàn)有幾個(gè)方式之一。例如,緩存器352和356可以經(jīng)過(guò)多路轉(zhuǎn)換,以使得在當(dāng)前循環(huán)中依據(jù)存儲(chǔ)在一個(gè)第一緩存器中的數(shù)值計(jì)算數(shù)值ki時(shí),更新數(shù)據(jù)存在第二緩存器中,用在下一計(jì)算循環(huán)中。在下一循環(huán)中,數(shù)值ki依據(jù)存在第二緩存器中的數(shù)值算出。第二緩存器中的數(shù)值和數(shù)值ki用于為下一循環(huán)產(chǎn)生更新數(shù)據(jù),這些更新數(shù)據(jù)存在第一緩存器中。緩存器的這種替換使得前一計(jì)算循環(huán)的數(shù)據(jù)得以保存,以此產(chǎn)生更新數(shù)據(jù),并在不重寫(xiě)需要用來(lái)產(chǎn)生更新數(shù)據(jù)的先前數(shù)據(jù)的情況下存儲(chǔ)更新數(shù)據(jù)。使用這種技術(shù)能夠?qū)⑴c下一循環(huán)ki值的計(jì)算相關(guān)的延遲減至最小。因而,在計(jì)算ki時(shí)乘積/累加的更新可以在計(jì)算下一αj(i-1)值的同時(shí)進(jìn)行。
在完成最后一個(gè)計(jì)算循環(huán)(i=10)后存在緩存器356中的10個(gè)LPC系數(shù)αj(10)換算到相應(yīng)的最后LPC系數(shù)αj。向多路轉(zhuǎn)換器344、376和378提供一個(gè)換算選擇信號(hào),因而,存在系數(shù)查算表342中的換算數(shù)值,即表III的十六進(jìn)制數(shù)值,被選中,通過(guò)多路轉(zhuǎn)換器344輸出。存在表342中的數(shù)值按順序在時(shí)鐘脈沖控制下輸出,并輸入乘法器360。乘法器360還通過(guò)多路轉(zhuǎn)換器370接收從寄存器356順序輸出的數(shù)值αj(10)。換算后的數(shù)值通過(guò)多路轉(zhuǎn)換器378從乘法器360輸出到LPC至LSP轉(zhuǎn)換子系統(tǒng)208(圖7)。
為了迅速有效地以少量位數(shù)將10個(gè)換算后的LPC系數(shù)編碼,各系數(shù)轉(zhuǎn)換成線(xiàn)頻譜對(duì)頻率,在宋和江發(fā)表于ICASSP′84中的文章“線(xiàn)頻譜對(duì)(LSP)和語(yǔ)音數(shù)據(jù)壓縮”中對(duì)此有說(shuō)明。在下列等式(21)和(22)及表IV中示出了LSP參數(shù)的計(jì)算。
LSP頻率是處在0和π之間的下列等式的十個(gè)根P(ω)=cos5ω+P1cos4ω+…+P4cosω+P5/2(21)Q(ω)=cos5ω+q1cos4ω+…+q4cosω+q5/2(22)其中,Pn和qn對(duì)n=1、2、3、4分別取值,并在表IV中遞歸定義表IVP1=-(α1+α10)-1 q1=-(α1-α10)+1P2=-(α2+α9)-P1q2=-(α2-α9)+q1P3=-(α3+α8)-P2q3=-(α3-α8)+q2P4=-(α4+α7)-P3q4=-(α4-α7)+q3P5=-(α5+α6)-P4q5=-(α5-α6)+q4表IV中,α1,……,α10是從LPC分析得到的換算系數(shù)。為了簡(jiǎn)化,等式(21)和(22)的10個(gè)根換算成0到0.5之間的值。LSP頻率的特性是,當(dāng)LPC濾波器穩(wěn)定時(shí),兩個(gè)等式的根變動(dòng);即,最低的根ω1是P(ω)的最低的根,次最低的根ω2是Q(ω)的最低的根,以此類(lèi)推。在10個(gè)頻率中,奇頻率是P(ω)的根,而偶頻率是Q(ω)的根。
根的查找方法如下。首先,如上面所示那樣將LPC系數(shù)加入,從而以雙精度計(jì)算出P和q系數(shù)。然后,每隔π/256弧度計(jì)算一次P(ω),再觀察這些值的符號(hào)變化,辨別在該子區(qū)域中的一個(gè)根。如果找到一個(gè)根,則在該區(qū)域兩端之間進(jìn)行一次線(xiàn)性?xún)?nèi)插,以迫近根的真實(shí)位置。由于頻率的定序特性,在每對(duì)P根之間保證存在一個(gè)Q根(第5個(gè)Q根處于第5個(gè)P根與π之間)。在每對(duì)P根之間進(jìn)行對(duì)分查找,確定Q根的位置。為了簡(jiǎn)便,每個(gè)P根近似取最近的π/256數(shù)值,在這些近似值之間進(jìn)行對(duì)分查找。如果未找到根,則使用先前找到根的最近的幀的LSP頻率的非量化值。
現(xiàn)在參見(jiàn)圖11,其中示出一個(gè)用于產(chǎn)生LSP頻率的例示電路。上述操作需要總共257個(gè)在0和π之間的可能的余弦值,它們?cè)陔p精度下存儲(chǔ)在余弦表400中,該表格由模256計(jì)數(shù)器402尋址。對(duì)于輸入表400的各個(gè)j值,給出cosω、cos2ω、cos3ω、cos4ω和cos5ω輸出,其中ω=j(luò)π/256 (23)j是計(jì)數(shù)值。
余弦表400輸出的數(shù)值cosω、cos2ω、cos3ω和cos4ω輸入到相應(yīng)的各個(gè)乘法器404、406、408和410,而數(shù)值cos5ω則直接輸入加法器412中。這些值在各乘法器404、406、408和410中分別乘以通過(guò)多路轉(zhuǎn)換器414、416、418和420輸入其中的數(shù)值P4、P3、P2和P1。
相乘結(jié)果也輸入累加器412。此外,數(shù)值P5通過(guò)多路轉(zhuǎn)換器422送到乘法器424,同時(shí),常數(shù)0.5,即1/2也送到乘法器424。乘法器424的輸出結(jié)果也作為另一個(gè)輸入給加法器412。為了利用同一電路計(jì)算P(ω)和Q(ω)值,根據(jù)P/q系數(shù)選通信號(hào),多路轉(zhuǎn)換器414-422在P1-P5或q1-q5之間作出選擇。圖中未示出產(chǎn)生P1-P5或q1-q5的電路,但是,利用一系列將LPC系數(shù)和P1-P5或q1-q5進(jìn)行加減運(yùn)算的加法器,以及存儲(chǔ)P1-P5或q1-q5值的寄存器,很容易實(shí)現(xiàn)該電路。
加法器412將輸入值相加,依情況而定,輸出P(ω)或Q(ω)。為了簡(jiǎn)便,在以后的討論中將考慮P(ω)值的情況,Q(ω)值以類(lèi)似方式利用q1-q5數(shù)值算出。加法器412輸出P(ω)的當(dāng)前值,存儲(chǔ)在寄存器426中。先前存在寄存器426中的前一P(ω)值移位至寄位器428中。當(dāng)前和先前的P(ω)值的符號(hào)位在異或門(mén)430中異或,以傳給線(xiàn)性?xún)?nèi)插器434的起動(dòng)信號(hào)的形式顯示零交叉或符號(hào)變換。P(ω)的當(dāng)前和先前數(shù)值也從寄存器426和428輸出到線(xiàn)性?xún)?nèi)插器434,該內(nèi)插器響應(yīng)起動(dòng)信號(hào),在P(ω)發(fā)生零交叉的兩個(gè)值之間進(jìn)行內(nèi)插。該線(xiàn)性?xún)?nèi)插小數(shù)值結(jié)果,即與數(shù)值j-1的距離,與來(lái)自計(jì)數(shù)器256的數(shù)值j一起提供給緩存器436。門(mén)430還將起動(dòng)信號(hào)提供給緩存器436,緩存器436允許數(shù)值j和對(duì)應(yīng)的小數(shù)值FVj存入。
在加法器438中,數(shù)值j中減去該小數(shù)值,作為緩存器436的輸出,或者換種方式,減去后輸入緩存器436。在替換方式下,在輸入緩存器436的j線(xiàn)中用一個(gè)寄存器,使得數(shù)值j-1與小數(shù)值輸入一起輸入緩存器436。小數(shù)值可以在存入寄存器436之前或從中輸出時(shí)加到數(shù)值j-1上。在任何情況下,混合值j+FVj或(j-1)+FVj輸出到除法器440,除以輸入的常數(shù)512。只需改變二進(jìn)制字中的二進(jìn)制小數(shù)點(diǎn)位置,就可以簡(jiǎn)單地完成除法操作。這一除法操作為達(dá)到處于0和0.5之間的LSP頻率而提供必需的換算。
P(ω)或Q(ω)的函數(shù)計(jì)算需要5次余弦值查表,4次雙精度乘法運(yùn)算和4次加法運(yùn)算。算出的根通常只精確到大約13位,并在單精度下存放。LSP頻率提供給LSP量化子系統(tǒng)210(圖7),用于量化。
LSP頻率算出之后,就必須量化,以便傳送。十個(gè)LSP頻率中的每一個(gè)都大致以一偏置數(shù)為中心。應(yīng)該注意到,當(dāng)輸入語(yǔ)音具有平坦的LSP頻譜特性曲線(xiàn)并且不能做任何短期預(yù)測(cè)時(shí)LSP頻率接近偏置數(shù)。偏置數(shù)從編碼器中取出,并且用到一個(gè)簡(jiǎn)單的DPCM量化器。在譯碼器中,偏置數(shù)又加回去。由LPC至LSP轉(zhuǎn)換子系統(tǒng)所提供的各LSP頻率ω1-ω10的偏置數(shù)的非,以十六進(jìn)制形式給出在表V中。表V中給出的數(shù)值也是二進(jìn)制補(bǔ)碼,有15個(gè)小數(shù)位。十六進(jìn)制數(shù)值0x8000(或-32768)表示-1.0。這樣,表V的第一個(gè)值0xfa2f(或-1489)表示-0.045441=-1489/32768。
表V
子系統(tǒng)中用的預(yù)測(cè)器等于子系統(tǒng)一個(gè)緩存器中存儲(chǔ)的來(lái)自先前幀的量化LSP頻率的0.9倍。加入衰減常數(shù)0.9,因而信道錯(cuò)誤最終將消除掉。
用到的量化器是線(xiàn)性的,但動(dòng)態(tài)范圍和步長(zhǎng)隨速率而變。在高速率幀中,每一LSP頻率有更多位數(shù)要傳送,因而,量化級(jí)數(shù)依賴(lài)于速率。在表VI中,示出了每速率下對(duì)各頻率的量化的位分配和動(dòng)態(tài)范圍。例如,在速率1,ω1統(tǒng)一量化成4位(即16級(jí)),最高量化級(jí)為0.025,而最低的是-0.025。
表VI
如果由速率確定算法選中的速率的量化范圍不夠大,或者發(fā)生斜率溢出,則速率提高到下一個(gè)較高的速率上。速率持續(xù)提升,一直到動(dòng)態(tài)范圍得到調(diào)節(jié)或達(dá)到全速率為止。在圖12中,給出了運(yùn)用選擇速率提高技術(shù)的裝置的一個(gè)例示框圖。
圖12以框圖形式示出了LSP量化子系統(tǒng)210的一個(gè)例示設(shè)備,它包括速率提升電路。圖12中,當(dāng)前幀LSP頻率從除法器440(圖11)輸出到寄存器442,存儲(chǔ)起來(lái),以在下一幀中進(jìn)行速率提升限定時(shí)輸出。先前幀LSP頻率和當(dāng)前幀LSP頻率分別從寄存器442和除法器440輸出到速率提升邏輯444,進(jìn)行當(dāng)前幀的速率提升限定。速率提升邏輯442還接收到初始速率決定,以及來(lái)自速率限定子系統(tǒng)204的速率限制指令。在確定是否必須增大速率時(shí),邏輯444根據(jù)當(dāng)前和先前幀LSP頻率差值的平方之和,將先前幀LSP頻率與當(dāng)前幀LSP頻率比較。其結(jié)果再與一個(gè)閾值比較,閾值如被超出,則顯示有必要提升速率來(lái)確保高質(zhì)量的語(yǔ)音編碼。在超出閾值時(shí),邏輯444將初始速率增加一個(gè)速率級(jí)別,從而給出整個(gè)編碼器通用的最終速率。
圖12中,各LSP頻率值ω1-ω10逐個(gè)與對(duì)應(yīng)的偏置數(shù)一起輸入加法器450。從輸入的LSP值中減去偏置數(shù),其結(jié)果輸出給加法器452。加法器452還收到一個(gè)輸入-預(yù)測(cè)值,即乘以衰減常數(shù)后的先前幀對(duì)應(yīng)的LSP值。加法器452從加法器450的輸出中減去預(yù)測(cè)值。加法器452的輸出作為量化器454的一個(gè)輸入。
量化器454由限幅器456、最小動(dòng)態(tài)范圍查算表458、逆步長(zhǎng)查算表460、加法器462、乘法器464和位屏蔽466組成。在量化器454中進(jìn)行量化,首先確定輸入值是否處在量化器454的動(dòng)態(tài)范圍內(nèi)。輸入值提供給限幅器456,如果該輸入超出了表458提供的限定值,限幅器456就將它限制在動(dòng)態(tài)范圍的上界和下界內(nèi)。查算表458按照表VI,響應(yīng)輸入其中的速率和LSP頻率索引i,向限幅器456提供存儲(chǔ)的限定值。限幅器456的輸出值輸入加法器462,從中減去表458提供的動(dòng)態(tài)范圍的最小值。按照表VI中所列的最小動(dòng)態(tài)范圍值,先不管其符號(hào),依據(jù)速率和LSP頻率索引i再次確定表格458的輸出值。例如,對(duì)于(全速率,ω1),查算表458的值為0.025。
加法器462的輸出在乘法器464中乘以一個(gè)選自查算表460的數(shù)值。查算表460包含有與表VI中所列數(shù)值一致的、各個(gè)速率下的各LSP值的步長(zhǎng)之逆相對(duì)應(yīng)的數(shù)值。依據(jù)速率和LSP頻率索引i來(lái)選擇查算表460的輸出值。對(duì)于各個(gè)速率和LSP頻率索引i,存在查表460中的數(shù)值是((2n-1)/動(dòng)態(tài)范圍),其中,n是代表量化值的位數(shù)。例如,對(duì)于(速率1,ω1),查算表460的數(shù)值是(15/0.05)或300。
乘法器464的輸出是介于0和2n-1之間的一個(gè)數(shù)值,它供給位屏蔽466。位屏蔽466響應(yīng)速率和LSP頻率索引,根據(jù)表VI,從輸入值中提取適當(dāng)?shù)奈粩?shù)。提出的是輸入值中的n個(gè)整數(shù)位,從而形成位限制輸出Δωi。數(shù)值Δωi是量化未偏置差分編碼LSP頻率,從代表LPC系數(shù)的信道中傳送。
數(shù)值Δωi也通過(guò)一個(gè)由逆量化器468、加法器470、緩存器472和乘法器474組成的預(yù)測(cè)器反饋。逆量化器468由步長(zhǎng)查算表476、最小動(dòng)態(tài)范圍查算表478、乘法器480和加法器482組成。
數(shù)值Δωi與選自查算表476的一個(gè)數(shù)值一起輸入乘法器480。查算表476含有在各個(gè)速率下依據(jù)于表VI中所列數(shù)值的各LSP數(shù)值的步長(zhǎng)所對(duì)應(yīng)的數(shù)值。依據(jù)速率和LSP頻率索引i,從查算表476中選擇輸出值。對(duì)于各個(gè)速率和LSP頻率索引i,存在查算表460中的數(shù)值是(動(dòng)態(tài)范圍/2n-1),其中,n是代表量化值的位數(shù)。乘法器480將輸入值相乘,提供輸出給加法器482。
加法器482從另一輸入接收表478的一個(gè)數(shù)值。表478的輸出數(shù)值根據(jù)表VI中所列最小動(dòng)態(tài)范圍數(shù)值,無(wú)視其符號(hào),由速率和LSP頻率索引i來(lái)確定。加法器482將表478提供的最小動(dòng)態(tài)范圍值與乘法器480的輸出值相加,結(jié)果輸出給加法器470。
加法器470在另一輸入端接收到乘法器474的預(yù)測(cè)值輸出。這些值在加法器470中相加,并存儲(chǔ)在十個(gè)字容量的緩存器472中。在當(dāng)前幀中緩沖器472的每個(gè)先前幀輸出值在乘法器474中乘以常數(shù)0.9。乘法器474輸出的預(yù)測(cè)值如前面討論過(guò)的那樣,供給加法器452和470。
在當(dāng)前幀中,緩存器472中存儲(chǔ)的數(shù)值是先前幀重建LSP值減去偏置值。相類(lèi)似,在當(dāng)前幀中,加法器470的輸出值是不帶偏置的當(dāng)前幀重建的LSP值。在當(dāng)前幀中,緩存器472和加法器470的輸出分別提供給加法器484和486,加上偏置數(shù)。加法器484和486的輸出值分別是先前幀重建LSP頻率和當(dāng)前幀重建LSP頻率值。依照下列等式在更低速率下進(jìn)行LSP平滑化平滑后LSP=a(當(dāng)前LSP)+(1-a)(先前LSP)(24)其中a=0全速率下a=0.1 半速度下a=0.5 四分之一速率下a=0.85 八分之一速率下先前幀(f-1)重建LSP頻率值ω′i,f-1和當(dāng)前幀(f)重建頻率值ω′i,f從量化子系統(tǒng)210輸出到音調(diào)子幀LSP內(nèi)插子系統(tǒng)216和碼書(shū)子幀LSP內(nèi)插子系統(tǒng)226。量化后的LSP頻率值Δωj從LSP量化子系統(tǒng)210輸出到數(shù)據(jù)匯編子系統(tǒng)236,用于傳送。
以后說(shuō)明的加權(quán)濾波器和共振峰合成濾波器所用到的LPC系數(shù)對(duì)于正在編碼的音調(diào)子幀是合適的。對(duì)各個(gè)音調(diào)子幀,LPC系數(shù)的內(nèi)插對(duì)每個(gè)音調(diào)子幀進(jìn)行一次,如表VII表VII速率1ωi=0.75ω′i,f-1+0.25ω′i,f音調(diào)子幀1ωi=0.5ω′i,f-1+0.5ω′i,-f音調(diào)子幀2ωi=0.25ω′i,f-1+0.75ω′i,f音調(diào)子幀3ωi=ω′i,f音調(diào)子幀4速率1/2ωi=0.625ω′i,f-1+0.375ω′i,f音調(diào)子幀1ωi=0.125ω′i,f-1+0.875ω′i,f音調(diào)子幀2速率1/4ωi=0.625ω′i,f-1+0.375ω′i,f音調(diào)子幀1速率1/8不進(jìn)行音調(diào)檢索音調(diào)子幀計(jì)數(shù)器224用于跟蹤計(jì)算音調(diào)參數(shù)的音調(diào)子幀,計(jì)數(shù)器的輸出提供給音調(diào)子幀LSP內(nèi)插子系統(tǒng)216,用于音調(diào)子幀LSP內(nèi)插。音調(diào)子幀計(jì)數(shù)器224還提供一個(gè)輸出給數(shù)據(jù)壓縮子系統(tǒng)236,指示在選中速率下音調(diào)子幀的結(jié)束。
圖13示出音調(diào)子幀LSP內(nèi)插子系統(tǒng)216的一個(gè)例示裝置,它用于對(duì)相關(guān)音調(diào)子幀的LSP頻率進(jìn)行內(nèi)插。在圖13中,先前和當(dāng)前LSP頻率ω′i,f-1和ω′i,f分別從LSP量化子系統(tǒng)輸出到乘法器500和502,再分別乘以存儲(chǔ)器504提供的常數(shù)。存儲(chǔ)器504存儲(chǔ)一組常數(shù),并且,根據(jù)來(lái)自音調(diào)子幀計(jì)數(shù)器的音調(diào)子幀數(shù)輸入(這在后文討論),提供一個(gè)表VII中所列的常數(shù)輸出,與先前和當(dāng)前幀LSP數(shù)值相乘。乘法器500和502的輸出按照表VII中的等式在加法器506中相加,形成該音調(diào)子幀的LSP頻率值。對(duì)于各音調(diào)子幀,LSP頻率的內(nèi)插一旦完成,就執(zhí)行LSP至LPC的反向轉(zhuǎn)換,以獲得感知加權(quán)濾波器和A(z)的當(dāng)前系數(shù)值。這樣,內(nèi)插后的LSP頻率提供給圖7的LSP至LPC轉(zhuǎn)換子系統(tǒng)218。
LSP至LPC轉(zhuǎn)換子系統(tǒng)218將內(nèi)插LSP頻率逆轉(zhuǎn)換成LPC系數(shù),用于語(yǔ)音的再合成。先前的參考文章,宋和江所著的“線(xiàn)頻譜對(duì)(LSP)和語(yǔ)音數(shù)據(jù)壓縮”中對(duì)本發(fā)明在轉(zhuǎn)換過(guò)程中用的算法有全面的討論和推導(dǎo)。計(jì)算特征是這樣的,P(z)和Q(z)可以利用LSP頻率由下列等式表示P(z)=(1+Z-1)πi=15(1-2cos(ω2i-1)Z-1+Z-2)---(25)]]>其中,ωi是P′多項(xiàng)式的根(奇頻率),Q(z)=(1-Z-1)πi=15(1-2cos(ω2i)Z-1+Z-2)---(26)]]>其中,ωi是Q′多項(xiàng)式的根(偶頻率),A(z)=Pz+Qz2---(27)]]>這一運(yùn)算首先是對(duì)所有奇頻率i算出數(shù)值2cos(ωi)。利用零附近的余弦的5階單精度泰勒級(jí)數(shù)展開(kāi)式完成該計(jì)算。在余弦表中最接近點(diǎn)處的泰勒展開(kāi)式可能更準(zhǔn)確,但是,零附近的展開(kāi)式有足夠精度,并且,不會(huì)帶來(lái)多余的計(jì)算。
接下去,計(jì)數(shù)P多項(xiàng)式的系數(shù)。多項(xiàng)式之積的系數(shù)是單個(gè)多項(xiàng)式的系數(shù)序列的卷積。上述等式(25)中6個(gè)z多項(xiàng)式系數(shù)序列的卷積{1,-2cos(ω1),1},{1,-2cos(ω3),1}……{1,-2cos(ω9),1}和{1,1}被算出。
P多項(xiàng)式一經(jīng)算出,就對(duì)Q多項(xiàng)式重復(fù)相同的程序,上述等式(26)中的6個(gè)z多項(xiàng)式系數(shù)序列{1,-2cos(ω2),1},{1,-2cos(ω4),1}……{1,-2cos(ω10),1}和{1,1}以及適當(dāng)?shù)南禂?shù)被加起來(lái),并除以2,即移動(dòng)1位,以形成LPC系數(shù)。
圖13還詳細(xì)地示出LSP至LPC轉(zhuǎn)換子系統(tǒng)的例示執(zhí)行過(guò)程。電路部分508依據(jù)輸入值ωi計(jì)算出數(shù)值-2cos(ωi)。電路部分508由緩存器509、加法器510和515、乘法器511、512、514、517和518、寄存器513和516組成。在計(jì)算數(shù)值-2cos(ωi)時(shí),寄存器513和516被初始化為零。因?yàn)樵撾娐肥怯?jì)算sin(ωi)的,所以,在加法器510中首先先以輸入常數(shù)值π/2減ωi。該數(shù)值由乘法器511取平方,然后,用乘法器512和寄存器513依次計(jì)算數(shù)值(π/2-ωi)2、(π/2-ωi)4、(π/2-ωi)6和(π/2-ωi)8。
泰勒級(jí)數(shù)展開(kāi)式系數(shù)C[1]-C[4]依次和乘法器512的輸出值一起輸入乘法器514。乘法器514的輸出值輸入加法器515,與寄存器516的輸出相加,這些值累加形成輸出C[1](π/2-ωi)2+C[2](π/2-ωi)4+C[3](π/2-ωi)6+C[4](π/2-ωi)8,輸給乘法器517。來(lái)自寄存器516的乘法器的輸入與來(lái)自加法器510的輸出(π/2-ωi)在乘法器517中相乘。來(lái)自乘法器517的數(shù)值cos(ωi)在乘法器518中乘以常數(shù)-2,從而形成輸出-2cos(ωi),提供給電路部分520。
電路部分520用于計(jì)算P多項(xiàng)式的系數(shù),它由存儲(chǔ)器512、乘法器522和加法器523組成。存儲(chǔ)器單元P(1)…P(11)的陣列除P(1)置為1之外其余初始化為0。已標(biāo)到的-2cos(ωi)數(shù)值送入乘法器524,執(zhí)行卷積(1,-2cos(ωi),1),其中,1≤i≤5,1≤j≤2i+1,j<1時(shí)P(j)=0。電路部分520是雙份的(未示出),以便計(jì)算Q多項(xiàng)式的系數(shù)。得到的P(1)-P(11)和Q(1)-Q(11)新的最終值送給電路部分524。
電路524用來(lái)完成i=1至i=10的十個(gè)音調(diào)子幀LPC系數(shù)αi的計(jì)算。它由緩存器525和526、加法器527、528和529、除法器或位移位器530組成。最終值P(i)和Q(i)存儲(chǔ)在緩存器525和526中。P(i)和P(i+1)數(shù)值在加法器527中相加,而相應(yīng)的Q(i)和Q(i+1)值在加法器528中相減,這里1≤i≤10。加法器527和528的輸出,分別為P(z)和Q(z),輸入加法器529,相加并輸出數(shù)值(P(z)+Q(z))。將各個(gè)位移動(dòng)一位,從而將加法器的輸出除以2。各移位后的數(shù)值(P(z)+Q(z))/2是LPC系數(shù)αi輸出。音調(diào)子幀LPC系數(shù)送給圖7的音調(diào)檢索子系統(tǒng)220。
除了全速率之外,對(duì)選中速率所確定的各個(gè)碼書(shū)子幀,LSP頻率也經(jīng)過(guò)內(nèi)插。內(nèi)插的計(jì)算方式與音調(diào)子幀LSP內(nèi)插的相同。碼書(shū)子幀LSP內(nèi)插在碼書(shū)子幀LSP內(nèi)插子系統(tǒng)226中運(yùn)算,并提供給LSP至LPC轉(zhuǎn)換子系統(tǒng)228,轉(zhuǎn)換是以類(lèi)似于LSP至LPC轉(zhuǎn)換子系統(tǒng)218的方式進(jìn)行的。
在參見(jiàn)圖3時(shí)討論過(guò),音調(diào)檢索是一種利用合成技術(shù)的分析,通過(guò)選擇使輸入語(yǔ)音和合成語(yǔ)音的誤差最小的參數(shù)來(lái)進(jìn)行編碼。在音調(diào)檢索中,語(yǔ)音是用等式(2)表示頻率特性的音調(diào)合成濾波器合成的。每隔20ms,語(yǔ)音幀被劃分成一定量的音調(diào)子幀,如前所述,它依賴(lài)于為該幀所選擇的數(shù)據(jù)速率。對(duì)于每一個(gè)音調(diào)子幀分別計(jì)算一次參數(shù)b和L,即音調(diào)增益和滯后。在這兒例示的執(zhí)行過(guò)程中,音調(diào)滯后L介于17和143之間的,在b=0的情況下,為了傳送原因L=16。
語(yǔ)音編碼器用到了在等式(1)中所列形式的感知噪聲加權(quán)濾波器。如前所述,感知加權(quán)濾波器的目的是給處在低能量的頻率中的錯(cuò)誤加權(quán),從而減少錯(cuò)誤引起的噪聲的影響。感知加權(quán)濾波器是從以前建立的短期預(yù)測(cè)濾波器中導(dǎo)出的。在該加權(quán)濾波器以及后文將說(shuō)明的共振峰合成濾波器中用到的LPC系數(shù)是為正在編碼的子幀適當(dāng)?shù)貎?nèi)插過(guò)的數(shù)值。
在進(jìn)行合成-分析操作時(shí),在編碼器中用到語(yǔ)音譯碼器/合成器的備份。在語(yǔ)音編碼器中所用的合成濾波器的形式由等式(3)和(4)給出。等式(3)和(4)對(duì)應(yīng)于一個(gè)其后有感知加權(quán)濾波器的譯碼語(yǔ)音合成濾波器,因而稱(chēng)其為加權(quán)合成濾波器。
在假設(shè)當(dāng)前幀時(shí)碼書(shū)基值為零,即G=0情況下,進(jìn)行音調(diào)檢索。對(duì)于每個(gè)可能的音調(diào)滯后L進(jìn)行語(yǔ)音合成,并將它與原始語(yǔ)音比較。輸入語(yǔ)音和合成語(yǔ)音之間的誤差在計(jì)算其均方誤差(MSE)之前由感知加權(quán)濾波器加權(quán)。其目的是從所有可能的L和b值中選取使感知加權(quán)語(yǔ)音和感知加權(quán)合成語(yǔ)音之間的誤差最小的L和b數(shù)值。誤差的最小化可以用下列等式表示MSE=1LPΣn=0Lp-1(x(n)-x′(n))2---(28)]]>其中,Lp是音調(diào)子幀中取樣的數(shù)量,在本實(shí)施例中,對(duì)全速率音調(diào)子幀為40。計(jì)算出使MSE最小的音調(diào)增益b。對(duì)所有允許的L數(shù)值重復(fù)這些運(yùn)算,并給音調(diào)濾波器選擇產(chǎn)生最小MSE的L和b。
最佳音調(diào)滯后的計(jì)算涉及在n=-Lmax與n=(Lp-Lmin)-1之間所有時(shí)間下的共振峰余量(圖3中的P(n)),其中Lmax是最大音調(diào)滯后值,Lmin是最小音調(diào)滯后值,而Lp是選中速率下的音調(diào)子幀長(zhǎng)度,n=0是音調(diào)子幀的起點(diǎn)。在本實(shí)施例中,Lmax=143,而Lmax=17。采用圖14中給出的編號(hào)方案,對(duì)于速率1/4,n=-143到n=142,而對(duì)于速率1/2,n=-143到n=62,對(duì)于速率1,n=-143到n=22。當(dāng)n<0時(shí),共振峰余量就是來(lái)自先前音調(diào)子幀的音調(diào)濾波器輸出,它保存在音調(diào)濾波器存儲(chǔ)器中,稱(chēng)為閉環(huán)共振峰余量。在n>=0的時(shí)候,共振峰余量是共振峰分析濾波器的輸出,該濾波器具有濾波特性A(z),其輸入是當(dāng)前分析幀語(yǔ)音取樣。在n>=0時(shí),共振峰余量稱(chēng)為開(kāi)環(huán)共振峰余量,并且當(dāng)音調(diào)濾波器和碼書(shū)在該子幀中作了極好的預(yù)測(cè)時(shí),正好為P(n)。對(duì)于從相關(guān)的共振峰余量值計(jì)算出最佳音調(diào)滯后的說(shuō)明將參照?qǐng)D14-17給出。
音調(diào)檢索是對(duì)143個(gè)重建的閉環(huán)共振峰余量取樣P(n)(n<0)以及Lp-Lmin非量化開(kāi)環(huán)共振峰余量取樣Po(n)(n≥0)作出的。該檢索有效地從一種基本開(kāi)環(huán)檢索,其中L是小的,并且所用到的大部分余量取樣為n>0,逐漸轉(zhuǎn)變成一種基本閉環(huán)檢索,其中L是大的,因而用到的所有余量取樣是n<0。例如,在全速率下利用圖14中的編號(hào)方案,其中,音調(diào)子幀由40個(gè)語(yǔ)音取樣組成,則語(yǔ)音檢索從采用號(hào)碼n=-17到n=22的共振峰余量取樣組開(kāi)始進(jìn)行。在這一方案中,從n=-17到n=-1,取樣為閉環(huán)共振峰余量取樣,而從n=0到n=22,取樣為開(kāi)環(huán)共振峰余量取樣。用于確定最佳音調(diào)滯后的下一組共振峰余量取樣是編號(hào)由n=-18到n=21的取樣。而從n=-18到n=-1,取樣是閉環(huán)共振峰余量取樣,從n=0到n=21,則是開(kāi)環(huán)共振峰余量取樣。對(duì)所有取樣組進(jìn)行該過(guò)程,直到給最后的共振峰余量取樣組n=-143至n=-104計(jì)算出音調(diào)滯后為止。
前面就等式(28)討論過(guò),目的是在隨機(jī)碼書(shū)給出零基值(G=0)的情況下,對(duì)于所有可能的L和b值,使x(n)與x′(n)之間的誤差最小,這里x(n)是感知加權(quán)語(yǔ)音減去加權(quán)共振峰濾波器的零輸入特性曲線(xiàn)(ZIR),x′(n)是濾波器中無(wú)存儲(chǔ)時(shí)的感知加權(quán)合成語(yǔ)音。等式(28)可以重寫(xiě)成關(guān)于b的等式MSE=1LPΣn=0Lp-1(x(n)-by(n))2---(29)]]>其中y(n)=h(n)*P(n-L)0≤n≤Lp-1 (30)其中,y(n)當(dāng)b=1時(shí)是帶有音調(diào)滯后L的加權(quán)合成語(yǔ)音,而h(n)是具有等式(3)的濾波特性的加權(quán)共振峰合成濾波器的沖激響應(yīng)。
該最小化過(guò)程等同于使EL值最大化,其中EL=(Exy)2Eyy---(31)]]>其中Exy=Σn=0Lp-1x(n)y(n)---(32)]]>及Eyy=Σn=0Lp-1y(n)y(n)---(33)]]>對(duì)于給定的L,最佳值b為bL=ExyEyy---(34)]]>這一檢索對(duì)所有允許的L值重復(fù)進(jìn)行。最佳值b限制為正,因而,對(duì)于在檢索中導(dǎo)致任何負(fù)的Exy值的L值不作考慮。最后,選出使EL值最大的音調(diào)滯后L和音調(diào)增益b用于傳送。
如前所述,x(n)實(shí)際是輸入語(yǔ)音與加權(quán)共振峰濾波器的ZIR之間的感知加權(quán)差,這是因?yàn)椋瑢?duì)于后面的等式(35)-(38)中設(shè)定的遞歸卷積,已假設(shè)濾波器A(z)總是從濾波器存儲(chǔ)器中的零起始。然而,濾波器從濾波器存儲(chǔ)器中的零起始并非實(shí)際情況。在合成時(shí),濾波器處在從先前子幀保留下來(lái)的狀態(tài)下。在執(zhí)行過(guò)程中,在起始點(diǎn),從感知加權(quán)語(yǔ)音中除去初始狀態(tài)的影響。在這種方式下,對(duì)每一L值,只需計(jì)算穩(wěn)態(tài)濾波器A(z)的特性曲線(xiàn)直到p(n),所有存儲(chǔ)器最初為0,并且可以用到遞歸卷積。x(n)的值只需計(jì)算一次,但是,共振峰濾波器對(duì)音調(diào)濾波器的輸出的零狀態(tài)響應(yīng)y(n)要就每一滯后L進(jìn)行計(jì)算。各y(n)的計(jì)算涉及許多次不必就每一滯后都進(jìn)行的冗余乘法運(yùn)算。下文中說(shuō)明的遞歸卷積方法用于將所需計(jì)算減至最少。
關(guān)于遞歸卷積,數(shù)值yL(n)用y(n)值定義成yL(n)=h(n)*P(n-L) 17≤L≤143 (35)或yL(n)=h(i)p(n-L-i) 17≤L≤143 (36)從等式(32)和(33)可看出yL(o)=P(-L)h(o)(37)yL(n)=y(tǒng)L-1(n-1)+p(-L)h(n) 1≤n≤Lp,17≤L≤143(38)這樣,一旦完成y17(n)的初始卷積,余下的卷積就可以遞歸地進(jìn)行,大大減少了所需的計(jì)算次數(shù)。對(duì)于速率1的上述特定例子,利用編號(hào)為n=-17到n=22的共振峰余量取樣組藉助等式(36)計(jì)算出數(shù)值y17(n)。
參見(jiàn)圖15,編碼器包括圖5譯碼器的備份,即圖7的譯碼器子系統(tǒng)235,但不帶自適應(yīng)后置濾波器。在圖15中,音調(diào)合成濾波器550的輸入是碼書(shū)值c1(n)與碼書(shū)增益G的乘積。輸出的共振峰余量取樣p(n)輸入共振峰合成濾波器552,經(jīng)過(guò)濾波并作為重建語(yǔ)音取樣s′(n)輸出。在加法器554中,從對(duì)應(yīng)的輸入語(yǔ)音取樣s(n)中減去重建語(yǔ)音取樣s′(n)。取樣s′(n)與s(n)之差輸入感知加權(quán)濾波器556。關(guān)于音調(diào)合成濾波器550、共振峰合成濾波器552和感知加權(quán)濾波器556,每一濾波器含有一個(gè)濾波器狀態(tài)記憶,其中Mp是音調(diào)合成濾波器550中的記憶;Ma是共振峰合成濾波器552中的記憶,而Mw是感知加權(quán)濾波器556中的記憶。
來(lái)自譯碼器子系統(tǒng)共振峰合成濾波器552的濾波器狀態(tài)Ma提供給圖7的音調(diào)檢索子系統(tǒng)220。在圖16中,濾波器狀態(tài)Ma用來(lái)計(jì)算濾波器560的零輸入響應(yīng)(ZIR),濾波器560計(jì)算共振峰合成濾波器552的ZIR。在加法器562中從輸入語(yǔ)音取樣s(n)中減去計(jì)算出的ZIR值,其結(jié)果由感知加權(quán)濾波器564加權(quán)。感知加權(quán)濾波器564的輸出xp(n)用在等式(28)-(34)中作為加權(quán)輸入語(yǔ)音,其中,x(n)=xp(n)。
再參見(jiàn)圖14和15,圖14中示出的音調(diào)合成濾波器552輸出到自適應(yīng)碼書(shū)568,后者基本上是一個(gè)存儲(chǔ)器,用于存儲(chǔ)如上文討論的那樣計(jì)算出的閉環(huán)和開(kāi)環(huán)共振峰余量取樣。閉環(huán)共振峰余量存在存儲(chǔ)器部分570中,而開(kāi)環(huán)共振峰余量存在存儲(chǔ)器部分572中。這些取樣按照前文討論過(guò)的編號(hào)方案存儲(chǔ)。如上文中討論的那樣,按照各音調(diào)滯后L檢索中的使用情況來(lái)組織閉環(huán)共振峰余量。開(kāi)環(huán)共振峰余量用共振峰分析濾波器574從各音調(diào)子幀的輸入語(yǔ)音取樣中算出,濾波器574在計(jì)算po(n)值時(shí)用到譯碼器子系統(tǒng)共振峰濾波器552的記憶Ma。用于各當(dāng)前音調(diào)子幀的Po(n)數(shù)值移位通過(guò)一系列延遲元件576,提供給自適應(yīng)碼書(shū)568的存儲(chǔ)器部分572。開(kāi)環(huán)共振峰余量被存儲(chǔ)起來(lái),所產(chǎn)生的第一個(gè)余量取樣編號(hào)為0,而最后一個(gè)編號(hào)為142。
現(xiàn)參見(jiàn)圖16,共振峰濾波器的沖激響應(yīng)h(n)在濾波器566中算出,并輸出給移位寄存器580。在濾波器中為每一音調(diào)子幀計(jì)算這些數(shù)值,這在上文中談到共振峰濾波器h(n)的沖激響應(yīng)時(shí),即談到等式(29)-(30)和(35)-(38)時(shí)討論過(guò)。為了進(jìn)一步減少音調(diào)濾波器子系統(tǒng)的計(jì)算需求,共振峰濾波器h(n)的沖激響應(yīng)截?cái)酁?0個(gè)取樣。
移位寄存器580及乘法器582、加法器584和移位寄存器586組合起來(lái),如上文中討論的那樣,進(jìn)行來(lái)自移位寄存器580的數(shù)值h(n)與來(lái)自自適應(yīng)碼書(shū)568的數(shù)值c(m)之間的遞歸卷積。執(zhí)行這一卷積操作是為了在假定音調(diào)增益設(shè)為1的情況下尋找共振峰濾波器對(duì)來(lái)自音調(diào)濾波器存儲(chǔ)器的輸入的零狀態(tài)響應(yīng)(ZSR)。在卷積電路的操作中,對(duì)每一m值,n從Lp循環(huán)至1,而m從(Lp-17)-1循環(huán)至-143。在寄存器586中,當(dāng)n=1時(shí)數(shù)據(jù)不移動(dòng),而當(dāng)n=Lp時(shí)不鎖存數(shù)據(jù)。當(dāng)m≤-17時(shí),數(shù)據(jù)提供為卷積電路的輸出。
繼卷積電路之后的是相關(guān)和比較電路,執(zhí)行檢索,以尋找最佳音調(diào)滯后L和音調(diào)增益b。相關(guān)電路亦稱(chēng)為均方誤差(MSE)電路,計(jì)算ZSR與共振峰濾波器的ZIR和輸入語(yǔ)音即x(n)之間的感知加權(quán)差的自相關(guān)性和互相關(guān)性。利用這些數(shù)值,相關(guān)電路就每一音調(diào)滯后數(shù)值計(jì)算出最佳音調(diào)增益b的數(shù)值。相關(guān)電路由移位寄存器588、乘法器590和592、加法器594和596、寄存器598和600、除法器602組成。在相關(guān)電路中,計(jì)算是這樣進(jìn)行的,即n從Lp循環(huán)至1,而m從(Lp-17)-1循環(huán)至-143。
相關(guān)電路之后是比較電路,它執(zhí)行數(shù)據(jù)比較和存儲(chǔ),以確定音調(diào)滯后L和增益b的最佳值。比較電路由乘法器604、比較器606、寄存器608、610和612、量化器614組成。比較電路為每一音調(diào)子幀輸出使合成語(yǔ)音和輸入語(yǔ)音之間的誤差最小的L和b值。b的值由量化器614量化到8級(jí),用一3位的數(shù)值表示,當(dāng)L=16時(shí)導(dǎo)出一個(gè)附加級(jí),b=0級(jí)。這些L和b值提供給碼書(shū)檢索子系統(tǒng)230和數(shù)據(jù)緩存器222。它們通過(guò)數(shù)據(jù)壓縮子系統(tǒng)238或數(shù)據(jù)緩存器222提供給譯碼器234,用于音調(diào)檢索。
類(lèi)似于音調(diào)檢索,碼書(shū)檢索是一種由合成編碼系統(tǒng)進(jìn)行的分析,在系統(tǒng)中,編碼是通過(guò)選取使輸入語(yǔ)音與用這些參數(shù)合成的語(yǔ)音之間的誤差最小的參數(shù)完成的。對(duì)于速率1/8,音調(diào)增益b設(shè)為零。
如前文中討論的那樣,每20ms分成多個(gè)碼書(shū)子幀,如前所述,它們依賴(lài)于為該幀所選取的數(shù)據(jù)速率。對(duì)每一碼書(shū)子幀分別計(jì)算一次參數(shù)G和I,即碼書(shū)增益和索引。在計(jì)算這些參數(shù)時(shí),除了全速率之外,在碼書(shū)子幀LSP內(nèi)插子系統(tǒng)226中以類(lèi)似于對(duì)音調(diào)子幀LSP內(nèi)插子系統(tǒng)216說(shuō)明過(guò)的方式對(duì)該子幀進(jìn)行LSP頻率內(nèi)插。對(duì)于每個(gè)碼書(shū)子幀,碼書(shū)子幀內(nèi)插LSP頻率也由LSP至LPC轉(zhuǎn)換子系統(tǒng)228轉(zhuǎn)換成LPC系數(shù)。碼書(shū)子幀計(jì)數(shù)器232用于跟蹤計(jì)算碼書(shū)參數(shù)的碼書(shū)子幀,計(jì)數(shù)器輸出提供給碼書(shū)子幀LSP內(nèi)插子系統(tǒng)226,用于碼書(shū)子幀LSP內(nèi)插。碼書(shū)子幀計(jì)數(shù)器232也提供一個(gè)輸出給音調(diào)子幀計(jì)數(shù)器224,顯示在選中速率下的碼書(shū)子幀的結(jié)束。
激勵(lì)碼書(shū)由2M個(gè)碼矢量組成,它們是依據(jù)一種單元變量白色高斯隨機(jī)序列而建立的。M=7時(shí),碼書(shū)中有128個(gè)入口。碼書(shū)以某種遞歸方式組織,以使各個(gè)碼矢量與相鄰的碼矢量相差一個(gè)取樣,即一個(gè)碼矢量中的取樣移動(dòng)一位,在一端移入一個(gè)新的取樣,而在另一端拋掉一個(gè)取樣。因而,一個(gè)遞歸碼書(shū)可以作為一個(gè)長(zhǎng)2M+(Lc-1)的線(xiàn)性陣列存儲(chǔ),其中,Lc是碼書(shū)子幀長(zhǎng)度。然而,為了簡(jiǎn)化執(zhí)行過(guò)程,和保存存儲(chǔ)器空間,采用2M個(gè)取樣長(zhǎng)的循環(huán)碼書(shū)(128個(gè)取樣)。
為了減少計(jì)算量,碼書(shū)中的高斯數(shù)值的中心部分值被消除。這些數(shù)值最初選自方差為1的白色高斯過(guò)程。然后,將小于1.2的數(shù)值設(shè)為零。這有效地將大約75%的數(shù)值設(shè)置成零,產(chǎn)生一個(gè)脈沖碼書(shū)。碼書(shū)的中心削除將在碼書(shū)檢索中執(zhí)行遞歸卷積所需的計(jì)算量降低到1/4,因?yàn)閷?duì)零無(wú)須進(jìn)行計(jì)算。用在當(dāng)前執(zhí)行過(guò)程中的碼書(shū)在下面的表VII中給出。
表VII0x0000 0x0000 0x0000 0x0000 0x2afe 0x0000 0x0000 0x00000x41da 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x00000x0000 0x0000 0x0000 0x0000 0x0000 0x3bb3 0x0000 0x363e0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x417d 0x00000x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x00000x0000 0x0000 0x0000 0x0000 0x0000 0x9dfe 0x0000 0x00000x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x00000x0000 0xc58a 0x0000 0x0000 0x0000 0x0000 0x0000 0x00000x0000 0xc8db 0xd365 0x0000 0x0000 0xd6a8 0x0000 0x00000x0000 0x3e53 0x0000 0x0000 0xd5ed 0x0000 0x0000 0x00000xd08b 0x0000 0x0000 0x0000 0x0000 0x3d14 0x396a 0x00000x0000 0x0000 0x0000 0x0000 0x0000 0x4ee7 0xd7ca 0x00000x0000 0x438c 0x0000 0x0000 0xad49 0x30b1 0x0000 0x00000x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x00000x0000 0x0000 0x3fcd 0x0000 0x0000 0xd187 0x2e16 0xd09b0xcd8d 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x32ff又語(yǔ)音編碼器采用包括公式(3)給出形式的加權(quán)合成濾波器在內(nèi)的公式(1)給出形式的感知噪聲加權(quán)濾波器。對(duì)于各個(gè)碼書(shū)指數(shù)I,合成語(yǔ)音并與原來(lái)的語(yǔ)音比較。在計(jì)算出其MSE前誤差由感知加權(quán)濾波器加權(quán)。
如前所述,目的是使X(n)和X′(n)之間的誤差在I和G的所有可能值上為極小。該誤差的極小化可以由下面公式表示MSE=1LcΣn=0Lc-1(X(n)-X′(n))2---(39)]]>這里L(fēng)c是碼書(shū)子幀中的樣本數(shù)。這里對(duì)于G公式(38)可改寫(xiě)MSE=1LcΣn=0Lc-1(X(n)-GY(n))2---(40)]]>這里Y是通過(guò)用第1碼矢量并假定G=1卷積共振峰主頻成分濾波器的沖激響應(yīng)而得到的。使該MSE極小轉(zhuǎn)而等效于使大E1=(Exy)2Eyy---(41)]]>為極大,這里Exy=Σn=0Lc-1X(n)Y(n)---(42)]]>和Eyy=Σn=0Lc-1y(n)Y(n)---(43)]]>根據(jù)下面的公式得到對(duì)于所給的I最優(yōu)的G,G1=ExyEyy]]>對(duì)于I的所有允許值重復(fù)這檢索。與音調(diào)檢索相反,該最優(yōu)增益G允許為正值或負(fù)值。最后使E1極大的指數(shù)I,和碼書(shū)增益G被選擇用于傳送。
還應(yīng)注意加權(quán)音調(diào)和共振峰主頻成分的濾波器的ZIR跟輸入語(yǔ)音之間的感知加權(quán)差值X(n)僅需計(jì)算一次。而對(duì)于各個(gè)碼矢量的音調(diào)和共振峰主頻成分濾波器的零狀態(tài)響應(yīng)需對(duì)于各個(gè)指數(shù)I來(lái)計(jì)算。由于采用循環(huán)碼書(shū),用于音調(diào)檢索的所述遞歸卷積方法可用來(lái)使所需的計(jì)算量為最小。
再參見(jiàn)圖15,編碼器包括與圖5中的譯碼器一樣的即圖7的譯碼器子系統(tǒng)在此計(jì)算出濾波器狀態(tài)。其中Mp是在音調(diào)合成濾波器550中的記憶,Ma是在共振峰合成濾波器552中的記憶;Mw是在感知加權(quán)濾波器中的記憶。
分別來(lái)自譯碼器子系統(tǒng)的音調(diào)合成和共振峰濾波器的濾波器狀態(tài)Mp和Ma送給圖7的碼書(shū)檢索子系統(tǒng)230。在圖17中濾波器狀態(tài)Mp和Ma送給零沖激響應(yīng)(ZIR)濾波器620以計(jì)算音調(diào)和共振峰合成濾波器550和552的ZIR。在加法器622中從所輸入的輸入語(yǔ)音樣值S(n)減去計(jì)算出的音調(diào)和共振峰濾波器的ZIR,該結(jié)果由感知加權(quán)濾波器加權(quán)。感知加權(quán)濾波器的輸出Xc(n)用作上面的MSE公式(39)-(44)中的加權(quán)了的輸入語(yǔ)音則X(n)=Xc(n)。
圖17,在濾波器626中計(jì)算共振峰濾波器的沖激響應(yīng)h(n)并輸出至移位寄存器628。對(duì)于各個(gè)碼書(shū)子幀計(jì)算共振峰濾波器的沖激響應(yīng)h(n)。為進(jìn)一步減少所需的計(jì)算量,該共振峰濾波器的沖激響應(yīng)h(n)截取20個(gè)樣本。
移位寄存器628隨同乘法器630、加法器632和移位寄存器634一起進(jìn)行來(lái)自移位寄存器628的值h(n)與來(lái)自于如上所述含有碼書(shū)矢量的碼書(shū)636的值c(m)間的遞歸卷積。假定碼書(shū)增量為1,進(jìn)行這卷積運(yùn)算以對(duì)各個(gè)碼矢量尋找共振峰濾波器的零狀態(tài)響應(yīng)。該卷積電路的運(yùn)行,對(duì)于每個(gè)m,n從Lc到1循環(huán),而m則從1到256循環(huán)。在寄存器586中當(dāng)n=1數(shù)據(jù)不送出而當(dāng)n=Lc數(shù)據(jù)不鎖存。當(dāng)m≤1數(shù)據(jù)才作為該卷積電路的輸出給出。應(yīng)該注意的是在開(kāi)始緊接在卷積電路后的相關(guān)與比較電路前必須起動(dòng)卷積電路以通過(guò)循環(huán)m子幀大小次數(shù)進(jìn)行遞歸卷積運(yùn)算。
該相關(guān)與比較電路進(jìn)行實(shí)際的碼書(shū)檢索產(chǎn)生碼書(shū)指數(shù)I值和碼書(shū)增益G值。該相關(guān)電路除了被作為均方差(MSE)電路借用以外,還由音調(diào)與共振峰濾波器的ZIR跟輸入語(yǔ)音X′(n)之間的感知加權(quán)差值來(lái)計(jì)算ZSR的自相關(guān)和互相關(guān)。換句話(huà)說(shuō)該相關(guān)電路對(duì)碼書(shū)指數(shù)I的各個(gè)值計(jì)算碼書(shū)增益G。該相關(guān)電路包括移位寄存器638,乘法器640和642,加法器644和646,寄存器648和650,和除法器652。在相關(guān)電路中計(jì)算是n從Lc到1循環(huán)而m從1到256循環(huán)的。
接在相關(guān)電路后的比較電路為確定碼書(shū)指數(shù)I和增益G的最優(yōu)值進(jìn)行數(shù)據(jù)的比較和存儲(chǔ)。該比較電路包括乘法器654,比較器656,寄存器658、660和662,和量化器664。該比較電路為各個(gè)碼書(shū)子幀提供使合成語(yǔ)音與輸入語(yǔ)音之間的誤差為極小的I和G的值。該碼書(shū)增益G在量化器614中量化,DPCM在量化期間以類(lèi)似于參考圖12所述的偏置消除的LSP頻率量化和編碼對(duì)該值編碼。這些I和G值然后送給數(shù)據(jù)緩沖器222。
在量化和該碼書(shū)的DPCM編碼中增益G是按照下面的公式計(jì)算的。
量化后的Gi=20logGi-0.45(20logGi-1+20logGi-2)(45)這里20logGi-1和20logGi-2分別是對(duì)前一幀(i-1)和再前一幀(i-2)計(jì)算出的值。
該LSP、I、G、L和b值隨同速率送到數(shù)據(jù)壓縮子系統(tǒng)236以安排這數(shù)據(jù)用于傳輸。在一項(xiàng)實(shí)施中該LSP、I、G、L和b值隨同速率可經(jīng)數(shù)據(jù)壓縮子系統(tǒng)236送給譯碼器234。在另一項(xiàng)實(shí)施中這些數(shù)據(jù)可經(jīng)數(shù)據(jù)緩沖器222送給譯碼器234以用于音調(diào)檢索。而在較佳實(shí)施例中在數(shù)據(jù)壓縮子系統(tǒng)236中所采用的對(duì)碼書(shū)符號(hào)位的保護(hù)會(huì)影響碼書(shū)指數(shù)。所以I和G數(shù)據(jù)直接從數(shù)據(jù)緩沖器222送出時(shí)必須考慮到該保護(hù)。
在數(shù)據(jù)壓縮子系統(tǒng)236中數(shù)據(jù)可根據(jù)各種傳輸格式壓縮。圖18示出數(shù)據(jù)壓縮子系統(tǒng)236的功能單元的說(shuō)明性實(shí)施例。數(shù)據(jù)壓縮子系統(tǒng)236包括偽隨機(jī)數(shù)發(fā)生器(PN)670,循環(huán)冗余校驗(yàn)(CRC),計(jì)算單元672,數(shù)據(jù)保護(hù)邏輯674和數(shù)據(jù)組合器676。PN發(fā)生器670接收速率并對(duì)八分之一速率產(chǎn)生一4位的隨機(jī)數(shù)送給數(shù)據(jù)組合器676。CRC單元672接收碼書(shū)增益和LPS值以及速率,并對(duì)全速率產(chǎn)生一11位內(nèi)部CRC碼送到數(shù)據(jù)組合器676。
數(shù)據(jù)組合器676接收該隨機(jī)數(shù),CRC碼,以及來(lái)自數(shù)據(jù)緩沖器222(圖7b)的速率和LSP、I、G、L和b值將輸出送到傳輸信道數(shù)據(jù)處理子系統(tǒng)234。在該項(xiàng)實(shí)施中數(shù)據(jù)以最小量直接從數(shù)據(jù)緩沖器222送到譯碼器234則PN發(fā)生器4位數(shù)則從PN發(fā)生器670經(jīng)數(shù)據(jù)組合器676送到譯碼器234,在全速率時(shí)包括CRC位在內(nèi)隨同幀數(shù)據(jù)作為從數(shù)據(jù)組合器674的輸出,而在八分之一速率該碼書(shū)指數(shù)丟下并由隨機(jī)4位數(shù)取代。
在該例示實(shí)施例中最好向碼書(shū)增益符號(hào)位提供保護(hù)。對(duì)該位的保護(hù)會(huì)使聲碼器的譯碼器對(duì)在該位的單個(gè)位的誤碼不敏感。如果因一個(gè)未檢出的誤碼而使該符號(hào)位改變,該碼書(shū)指數(shù)就會(huì)指向與最優(yōu)值不相關(guān)的矢量。在誤碼情況下沒(méi)有保護(hù),就會(huì)選取該最優(yōu)矢量的相反量,實(shí)質(zhì)上為所要采用的可能矢量的最差矢量。這里所采用的保護(hù)方案確保增益符號(hào)位中的單個(gè)位誤碼不會(huì)使該最優(yōu)矢量的相反量在該誤碼情況下被選用。數(shù)據(jù)保護(hù)邏輯674接收該碼書(shū)指數(shù)和增益并檢查該增益值的符號(hào)位。若確定出增益值符號(hào)位是相反的對(duì)相關(guān)聯(lián)的碼書(shū)指數(shù)加該值89,取模128。該碼書(shū)指數(shù)不論是否修改都從數(shù)據(jù)保護(hù)邏輯674輸出到數(shù)據(jù)組合器676。
在該例示實(shí)施例中最好在全速時(shí)例如由一內(nèi)部CRC(循環(huán)冗余校驗(yàn))保護(hù)所壓縮的話(huà)音包數(shù)據(jù)在感覺(jué)上最敏感的位。11特殊位被用來(lái)進(jìn)行可校正所保護(hù)的任何單個(gè)誤碼的這種誤碼校驗(yàn)功能。所保護(hù)的塊包括10個(gè)LSP頻率的最重要位和8個(gè)碼書(shū)增益值的最重要位。若在該塊中出現(xiàn)無(wú)法校正的誤碼,該包則被廢棄并標(biāo)明下面述及的消除記錄。否則該音調(diào)增益設(shè)為0而余下的參數(shù)仍用收到的值。在例示實(shí)施例中讓一生成多項(xiàng)式g(X)=1+X3+X5+X6+X8+X9+X10產(chǎn)生一(31,21)循環(huán)碼來(lái)選出循環(huán)碼。但應(yīng)注意的是也可用其他生成多項(xiàng)式。附加一總的奇偶校驗(yàn)位使它為-(32,21)碼。既然僅有18個(gè)信息位,則該碼字中的前3位置零并且未被傳輸。該項(xiàng)技術(shù)提供附加的保護(hù),這樣若校正子表明在這些位置有誤碼,這就意味著有無(wú)法校正的誤碼。系統(tǒng)地對(duì)循環(huán)碼的編碼涉及當(dāng)X10μ(X)模g(X)奇偶校驗(yàn)位的計(jì)算則μ(X)是信息多項(xiàng)式。
在譯碼結(jié)束時(shí),該校正子是用g(X)除所接收到的矢量計(jì)算得出的余數(shù)。若該校正子未顯示有誤碼,則不論總的奇偶校驗(yàn)位的狀態(tài)均接收該包。若該校正子顯示有單個(gè)誤碼,若未對(duì)總的奇偶校驗(yàn)位的狀態(tài)檢查則該誤碼被校正若該校正子顯示有多于一個(gè)的誤碼,則該包被廢棄。關(guān)于這些誤碼防護(hù)方案的更詳細(xì)內(nèi)容可在林和科斯特羅的“誤碼控制編碼基礎(chǔ)及應(yīng)用”4.5節(jié)中校正子計(jì)算的詳細(xì)內(nèi)容中找到。
在CDMA蜂窩式電話(huà)系統(tǒng)實(shí)施中為在20秒數(shù)據(jù)傳送幀內(nèi)傳送將數(shù)據(jù)從數(shù)據(jù)組合器674送到傳輸信道數(shù)據(jù)處理子系統(tǒng)238用于數(shù)據(jù)壓縮。在其中聲碼器設(shè)定為全速率的傳輸幀中,由于有效位速率為9.6Kbps故傳輸192位。本例中的傳輸幀包括1位用以指示混合幀形式(0=僅為話(huà)音,1=話(huà)音和數(shù)據(jù)/信號(hào)碼)的混合方式位;160位聲碼器數(shù)據(jù)隨同11位內(nèi)部CRC位;12位外部或幀CRC位;和8位尾部位或嵌入位。在半速率時(shí),由于4.8Kbps的有效位速率故傳送80位聲碼器數(shù)據(jù)位以及8位幀CRC位和8位尾部位。在四分之一速率時(shí),由于2.4Kbps的有效位速率故傳送40位聲碼器數(shù)據(jù)位以及8位尾部位。最后在八分之一速率時(shí),由于1.2Kbps的有效位速率故傳送16位聲碼器數(shù)據(jù)位以及8位尾部位。
要應(yīng)用本發(fā)明聲碼器的CDMA系統(tǒng)中所采用的調(diào)制的更詳細(xì)細(xì)節(jié)在1990年6月25日申請(qǐng)的申請(qǐng)?zhí)枮?7/543,496,轉(zhuǎn)讓給本發(fā)明的受讓人的題為“用于產(chǎn)生CDMA蜂窩式電話(huà)系統(tǒng)中信號(hào)波形的系統(tǒng)和方法”的共同待批專(zhuān)利申請(qǐng)中揭示。在這種系統(tǒng)中在不是全速率的速率時(shí)采用了數(shù)據(jù)位組織成位組而位組偽隨機(jī)地置于20ms的數(shù)據(jù)傳送幀中的方案。應(yīng)該理解除了那些用于這里對(duì)聲碼器和CDMA系統(tǒng)實(shí)施作說(shuō)明的還可現(xiàn)成地采用其他幀速率和位表示,這樣別的實(shí)施例可用于聲碼器和其他系統(tǒng)的應(yīng)用。
在CDMA系統(tǒng)與也適用的其他子系統(tǒng)中,以一幀接一幀為基礎(chǔ)的處理子系統(tǒng)238可中斷聲碼器數(shù)據(jù)的傳輸以傳輸諸如信號(hào)碼數(shù)據(jù)或其他非語(yǔ)音數(shù)據(jù)之類(lèi)的其他數(shù)據(jù)。傳輸情況的這種特殊形式是指“間隔和突發(fā)”。處理器子系統(tǒng)238必須用在該幀所要傳輸?shù)臄?shù)據(jù)取代該聲碼器數(shù)據(jù)。
會(huì)出現(xiàn)另一種情況人們希望在同一數(shù)據(jù)傳輸幀期間傳輸聲碼器數(shù)據(jù)和其他數(shù)據(jù)。傳輸情況的這種特殊形式是指“遲緩和突發(fā)”。在“遲緩和突發(fā)”傳輸中,該聲碼器沒(méi)有速率約束指令以設(shè)定聲碼器最終速率在所需要的速率上,例如半速率。該半速率編碼的聲碼器數(shù)據(jù)送給處理器子系統(tǒng)238而為該數(shù)據(jù)傳輸幀插入隨同聲碼數(shù)據(jù)的附加數(shù)據(jù)。
提供給全雙工電話(huà)線(xiàn)路的另一個(gè)附加功能是速率聯(lián)鎖。若線(xiàn)路的一個(gè)方向以最高的傳輸速率傳輸,那么上線(xiàn)路的另一個(gè)方向則被迫以最低的速率傳輸。甚至以最低速率,對(duì)于主動(dòng)談話(huà)者有足夠的理解以意識(shí)到他正被打斷和要停止談話(huà)是可行的,藉此允許該線(xiàn)路別的方向估計(jì)主動(dòng)談話(huà)者一方。而且若主動(dòng)談話(huà)者在企圖中斷時(shí)繼續(xù)談話(huà),因?yàn)樗约旱恼Z(yǔ)音干擾了感覺(jué)質(zhì)量的能力也可能會(huì)未感覺(jué)出質(zhì)量的降級(jí)。該聲碼器還能通過(guò)采用速率限制指令設(shè)定成以低于通常速率的速率對(duì)話(huà)音進(jìn)行聲音編碼。
應(yīng)該理解當(dāng)在CDMA系統(tǒng)中需要額外的容量時(shí)該速率限制指令可設(shè)定該聲碼器最大速率低于全速率。在其中公共頻譜用于傳輸?shù)腃DMA系統(tǒng)中某用戶(hù)信號(hào)會(huì)對(duì)該系統(tǒng)中的別的用戶(hù)有干擾。系統(tǒng)用戶(hù)容量因而由系統(tǒng)用戶(hù)引起的總干擾所限制。隨著干擾水平的上升,通常是由于在該系統(tǒng)中的用戶(hù)的增長(zhǎng),由于干擾的增加用戶(hù)體驗(yàn)到質(zhì)量的降級(jí)。
各個(gè)用戶(hù)對(duì)CDMA系統(tǒng)的干擾的貢獻(xiàn)是用戶(hù)傳輸數(shù)據(jù)速率的函數(shù)。通過(guò)設(shè)定聲碼器以低于通常的速率對(duì)語(yǔ)音編碼,該編碼數(shù)據(jù)隨后以相應(yīng)降低的數(shù)據(jù)速率傳輸,以降低由該用戶(hù)所引起的干擾的水平。所以通過(guò)以較低速率對(duì)語(yǔ)音進(jìn)行聲音編碼系統(tǒng)容量會(huì)得到實(shí)質(zhì)性的提高。隨著系統(tǒng)的需求上升,可由系統(tǒng)管理機(jī)或蜂窩基地站指令用戶(hù)聲碼器降低編碼速率。本發(fā)明的聲碼器具有一種良好的質(zhì)量,語(yǔ)音以全速和半速編碼時(shí)雖然兩者可感覺(jué)有些差異但量很小。因而語(yǔ)音以例如半速率的較低速率進(jìn)行聲音編碼對(duì)系統(tǒng)用戶(hù)間的通信質(zhì)量的后果不及因系統(tǒng)用戶(hù)數(shù)量的上升所引起的干擾水平的上升所帶來(lái)的后果嚴(yán)重。
因而可采用各種方案為低于通常的聲音編碼的速率來(lái)設(shè)定各自的聲音編碼器速率界限。例如可指令在蜂窩中的所有用戶(hù)以半速率對(duì)語(yǔ)音編碼。這種辦法實(shí)質(zhì)上以很小的用戶(hù)間通信質(zhì)量的損失降低系統(tǒng)的干擾,而為額外客戶(hù)在容量上提供實(shí)質(zhì)的增長(zhǎng)。直到由額外用戶(hù)引起的系統(tǒng)的總干擾量上升到降級(jí)水平故而不會(huì)對(duì)用戶(hù)間的通信質(zhì)量形成沖擊。
如前所述,為實(shí)現(xiàn)對(duì)語(yǔ)音樣本幀編碼的分析一合成技術(shù)該編碼器包括一個(gè)與譯碼器相同的復(fù)本如圖7所示,譯碼器234接收經(jīng)過(guò)數(shù)據(jù)壓縮子系統(tǒng)238或數(shù)據(jù)緩沖器222的L,b,I和G值以重建合成的語(yǔ)音來(lái)與輸入語(yǔ)音比較。譯碼器的輸出如前所述為Mp,Ma和Mw值。用于編碼器和在傳輸信道另一端重建合成語(yǔ)音的譯碼器234的更詳細(xì)細(xì)節(jié)可參見(jiàn)圖19-24說(shuō)明。
圖19是本發(fā)明譯碼器例示性實(shí)施例的流程圖。在編碼器中和在接收機(jī)中所實(shí)施的譯碼器具有共同的結(jié)構(gòu),因而這些實(shí)施例在一起說(shuō)明。對(duì)圖19的說(shuō)明主要針對(duì)在傳輸信道一端的譯碼器,因?yàn)樵谀抢锝邮盏降臄?shù)據(jù)必須在譯碼器中預(yù)處理正象在編碼器的譯碼器中直接從數(shù)據(jù)壓縮子系統(tǒng)238或數(shù)據(jù)緩沖器222收到合適數(shù)據(jù)(速率,I,G,L和b)。不過(guò)對(duì)于實(shí)施編碼器和譯碼器來(lái)說(shuō)譯碼器的基本功能是相同的。
如前面參見(jiàn)圖5所討論的那樣,對(duì)各個(gè)碼書(shū)子幀由該碼書(shū)指數(shù)I所規(guī)定的碼書(shū)矢量是從存儲(chǔ)的碼書(shū)中檢索出的。該矢量以該碼書(shū)增益G隨后對(duì)每音調(diào)子幀由音調(diào)濾波器濾波產(chǎn)生共振峰余量。該共振峰余量由共振峰濾波器濾波隨后通過(guò)一自適應(yīng)共振峰后置濾波器和一清晰度后置濾波器,以及自動(dòng)增益控制(AGC)以產(chǎn)生輸出語(yǔ)音信號(hào)。
盡管碼書(shū)和音調(diào)子幀的長(zhǎng)度是變化的,為方便實(shí)施在40樣本塊中進(jìn)行譯碼。所收到的壓縮數(shù)據(jù)首先被分解成碼書(shū)增益,碼書(shū)指數(shù),音調(diào)增益,音調(diào)滯后和LSP頻率。該LSP頻率如參見(jiàn)圖22所說(shuō)明的那樣必須經(jīng)他們各自的逆向量化器和DPCM譯碼器處理。類(lèi)似地碼書(shū)增益值除了沒(méi)有偏置必須以與LSP頻率相似的方式處理。音調(diào)增益值也被逆向量化。這些參數(shù)隨后送給各個(gè)譯碼子幀。在各個(gè)譯碼子幀中,2套碼書(shū)參數(shù)(G和I),1套音調(diào)參數(shù)(b和I)和一套LPC系數(shù)需產(chǎn)生40個(gè)輸出樣本。圖20和21對(duì)于各種速度和其他幀狀況示出例示性子幀譯碼參數(shù)。
對(duì)于全速率幀,有8套收到的碼書(shū)參數(shù)和4套收到的音調(diào)參數(shù)。LSP頻率被內(nèi)插4次產(chǎn)生4套LSP頻率。所收到的參數(shù)和相應(yīng)的子幀信息列于圖20a中。
對(duì)于半速率幀,4套收到碼書(shū)參數(shù)的各套重復(fù)一次,2套收到的音調(diào)參數(shù)的各套重復(fù)一次。LSP頻率被內(nèi)插3次產(chǎn)生4套LSP頻率。所收到的參數(shù)和相應(yīng)的子幀信息列于圖20b中。
對(duì)于四分之一速率幀,2套收到的碼書(shū)參數(shù)的各套重復(fù)4次,該套音調(diào)參數(shù)也被重復(fù)4次。LSP頻率被內(nèi)插一次產(chǎn)生2套LSP頻率。所收到的參數(shù)和相應(yīng)的子幀信息列于圖20c中。
對(duì)于八分之一速率幀,該套收到的碼書(shū)參數(shù)用于整個(gè)幀。音調(diào)參數(shù)對(duì)于八分之一速率未給出且該音調(diào)增益簡(jiǎn)單地設(shè)為零。該LSP頻率內(nèi)插1次產(chǎn)生1套LSP頻率。所收到的參數(shù)和相應(yīng)的子幀信息列于圖20d中。
有時(shí),話(huà)音包可按序空出讓CDMA單元或移動(dòng)臺(tái)傳輸信號(hào)碼信息。當(dāng)聲碼器收到一空白幀,它繼續(xù)對(duì)前一幀參數(shù)作較小的改動(dòng)。碼書(shū)增益設(shè)為零。前一幀的音調(diào)滯后和增益用于當(dāng)前幀的音調(diào)滯后和增益,除非該增益被限定成某值或更小。就像沒(méi)有內(nèi)插而用前一幀的LSP頻率。注意編碼端和譯碼端一直被同步且聲碼器能很快從一空白幀復(fù)原。所收到的參數(shù)和相應(yīng)的子幀信息列于圖21a。
在因信道差錯(cuò)而丟失一幀的情況下,該聲碼器試圖通過(guò)保持前一幀的能量部分且平滑地過(guò)渡到背景噪聲來(lái)屏蔽該差錯(cuò)。在該例中音調(diào)增益設(shè)成零;通過(guò)用前一幀的碼書(shū)指數(shù)加89選取一隨機(jī)碼書(shū);碼書(shū)增益則是前一子幀的碼書(shū)增益的0.7倍。應(yīng)該注意的是數(shù)89沒(méi)有什么特別的東西,這只是選取偽隨機(jī)碼書(shū)矢量的通常方法。該前一幀的LSP頻率被迫向他們偏置值衰落為ωi=0.9(前面的ωi-ωi的偏置值)+ωi的偏置值(47)該LSP頻率偏置值在表5中示出。所收到的數(shù)據(jù)和相應(yīng)的子幀信息列于圖21b中。
若在接收機(jī)中未能確定出速率,該包被廢棄并標(biāo)上消除記錄。然而若接收機(jī)確定有很大可能該幀是以全速率傳輸?shù)模M管帶有差錯(cuò)仍進(jìn)行下面的過(guò)程。如前所述在全速率時(shí)該壓縮的話(huà)音包數(shù)據(jù)的感覺(jué)上最敏感的位由內(nèi)部CRC保護(hù)。在譯碼端正如接收到的矢量除以來(lái)自公式(46)的g(X)而得出余式那樣計(jì)算出校正子。若校正子顯示無(wú)誤碼,則不論總的奇偶校驗(yàn)位而接收該包。若該校正子顯示單個(gè)誤碼,若總的奇偶校驗(yàn)位不檢查該誤碼被校正。若該校正子顯示多于一個(gè)誤碼。該包則被廢棄。若在該塊中出現(xiàn)無(wú)法校正的誤碼,該包被廢棄且標(biāo)明消除記錄。否則該音調(diào)增益被置零而其余的參數(shù)如圖21c所示隨著校碼被接收而被采用。
本實(shí)施例中所采用的后置濾波器首先在J.H.陳等人的“用自適應(yīng)后置濾波以4800BPS實(shí)時(shí)向量APC語(yǔ)言編碼”(Proc.ICASSP,1987)中揭示。既然語(yǔ)音共振峰主頻成分比起頻譜凹谷在感覺(jué)上更為重要,該后置濾波器促使該共振峰主頻成分稍微提升以改善該編碼語(yǔ)音的感性質(zhì)量。通過(guò)相對(duì)于原來(lái)的徑向地對(duì)共振峰主頻成分的極點(diǎn)定標(biāo)來(lái)進(jìn)行。然而全極點(diǎn)后置濾波器通常引入頻譜傾斜而導(dǎo)致濾波后的語(yǔ)音消音。通過(guò)增加具有與極點(diǎn)相同相位角而較小直徑的零點(diǎn)來(lái)減少該全極點(diǎn)后置濾波器的頻率的傾斜,從而后置濾波器具有形式H(z)=A(z/ρ)A(z/σ)0<ρ<σ<1---(48)]]>這里A(z)是共振峰主頻成分預(yù)測(cè)濾波器,且ρ和σ值為后置濾波器定標(biāo)因數(shù)這里ρ設(shè)為0.5,σ設(shè)為0.8。
加上一自適應(yīng)清晰度濾波器就能進(jìn)一步補(bǔ)償由該共振峰主頻成分后置濾波器引進(jìn)的頻譜傾斜。該清晰度濾波器具有形式B(z)=1-KZ-11-KZ-1---(49)]]>
這里K值(分接濾波器的系數(shù))由與A(z)的頻譜傾斜中的變化相近似的LSP頻率平均值確定。
為避免因后置濾波器引起的任何大的增益漂移,采用AGC環(huán)路對(duì)語(yǔ)音輸出定標(biāo)使它具有與未后置濾波的語(yǔ)音近乎相同的能量。通過(guò)用40個(gè)濾波器輸出樣本的平方和除40個(gè)濾波器輸入樣本的平方和來(lái)實(shí)現(xiàn)增益控制以獲得反向?yàn)V波器增益。隨后使該增益因數(shù)的平方根平滑平滑后的p=0.2當(dāng)前β+0.98前一個(gè)然后濾波器輸出乘以該平滑后反向增益以產(chǎn)生輸出語(yǔ)音。
在圖19中來(lái)自信道的數(shù)據(jù)以及隨同數(shù)據(jù)傳輸或由其他裝置得到的速率被送給數(shù)據(jù)壓縮子系統(tǒng)700。在一個(gè)CDMA系統(tǒng)的實(shí)施例中當(dāng)以各種不同速率進(jìn)行譯碼時(shí)就可從所收到的數(shù)據(jù)的誤碼率來(lái)得到速度判定。在數(shù)據(jù)分解子系統(tǒng)700中,在全速率時(shí)對(duì)差錯(cuò)進(jìn)行CRC檢碼因而該檢碼送到子幀數(shù)據(jù)分解子系統(tǒng)702。子系統(tǒng)700將諸如空白幀,消除幀或具有可用數(shù)據(jù)的差錯(cuò)幀之類(lèi)異常幀狀況的標(biāo)志送到子系統(tǒng)702。子系統(tǒng)700將對(duì)于該幀的速率以及I,G,L,和b參數(shù)送到子系統(tǒng)702。在提供碼書(shū)指數(shù)I和增益G值時(shí),該增益值的符號(hào)位在子系統(tǒng)702中被檢碼。若符號(hào)位相反,從關(guān)聯(lián)的碼書(shū)指數(shù)減去值89,取模(mod)128。而且在子系統(tǒng)中該碼書(shū)增益被反向量化且DPCM編碼,同時(shí)音調(diào)增益被反向量化。
子系統(tǒng)700還將速率與LSP頻率送到LSP反向量化/內(nèi)插子系統(tǒng)704。子系統(tǒng)700還將空白幀、消除幀或有可用數(shù)據(jù)的差錯(cuò)幀的標(biāo)志送到子系統(tǒng)704。編碼子幀計(jì)數(shù)器706將子幀計(jì)數(shù)值i和j的標(biāo)志送到子系統(tǒng)702和704。
在子系統(tǒng)704中該LSP頻率被反向量化和內(nèi)插。圖22示出子系統(tǒng)704的反向量化部分的實(shí)施例,而該內(nèi)插部分與參見(jiàn)圖12說(shuō)明的那種在實(shí)質(zhì)上是相同的。在圖22中,子系統(tǒng)704的反向量化部分包括反向量化器750,它與圖12中的反向量化器468結(jié)構(gòu)相同且以相似方式工作。反向量化器750的輸出作為輸入送到加法器752。加法器752的其他輸入則由乘法器754的輸出提供。加法器752的輸出送給寄存器756存儲(chǔ)并輸出在乘法器754與常數(shù)0.9相乘。加法器752的輸出回被送到加法器758將偏置值加回給LSP頻率。由邏輯760確保LSP頻率的序列使LSP頻率具有最小間隔。除非在傳輸中出現(xiàn)差錯(cuò)一般不會(huì)出現(xiàn)強(qiáng)迫分隔的需要。該LSP頻率如參見(jiàn)圖13和參見(jiàn)圖20a-20d和21a-21c說(shuō)明的那樣是內(nèi)插值。
再參見(jiàn)圖19,存儲(chǔ)器706與子系統(tǒng)704連接存儲(chǔ)前一幀LSPs,ωi,f-1,還可用來(lái)存儲(chǔ)偏置值bwi。這些前一幀值對(duì)于所有速率都用于內(nèi)插。在空白幀,消除幀或有可用數(shù)據(jù)的差錯(cuò)幀的情況下,按照?qǐng)D21a-21c中的表應(yīng)用前一幀的LSPs,ωi,ωi,f-1。響應(yīng)來(lái)自子系統(tǒng)700的空白幀標(biāo)志,子系統(tǒng)704檢取出存于存儲(chǔ)器708的前一幀LSP頻率用于當(dāng)前幀。響應(yīng)消除幀標(biāo)志,子系統(tǒng)704隨同偏置值再?gòu)拇鎯?chǔ)器708檢取出前一幀LSP頻率以如上所述計(jì)算當(dāng)前幀的LSP頻率。在進(jìn)行該計(jì)算時(shí),在一加法器中從前一幀LSP頻率減去所存儲(chǔ)的偏置值,該結(jié)果在一乘法器中乘以常數(shù)值0.9,其結(jié)果在一加法器中加到所存儲(chǔ)的偏置值。響應(yīng)具有可用數(shù)據(jù)的差錯(cuò)幀標(biāo)志,對(duì)于全速率若CRC通過(guò)該LSP頻率就被內(nèi)插。
該LSPs送到LSP至LPC轉(zhuǎn)換子系統(tǒng)710將LSP頻率變換回LPC值。子系統(tǒng)710實(shí)質(zhì)上與圖7的LSP至LPC轉(zhuǎn)換子系統(tǒng)218和228相同并如參見(jiàn)圖13說(shuō)明的那樣。該LPC系數(shù)αi隨后送給共振峰主頻成分濾波器714和共振峰主頻成分后置濾波器716。該LSP頻率在LSP平均值子系統(tǒng)還在子幀上取平均并作為值K送給自適應(yīng)清晰度濾波器718。
子系統(tǒng)702隨同速率或異常幀狀態(tài)標(biāo)志從子系統(tǒng)700接收該幀的參數(shù)I、G、L和b。子系統(tǒng)702還從子幀計(jì)數(shù)器收到對(duì)于各個(gè)譯碼子幀1-4中的每個(gè)i計(jì)數(shù)的j計(jì)數(shù)。子系統(tǒng)702還連接存儲(chǔ)器720以存儲(chǔ)用于異常幀狀態(tài)的G,I,L和b的前一幀值。子系統(tǒng)702處于正常幀狀態(tài),除去八分之一速率,要將碼書(shū)指數(shù)值Ij送到碼書(shū)722;將碼書(shū)增益Gj送到乘法器724,音調(diào)滯后L和增益b值按照20a-20d送到音調(diào)濾波器726。對(duì)于八分之一速率,由于所送的碼書(shū)指數(shù)沒(méi)有值,對(duì)于八分之一速率,由于所送的碼書(shū)指數(shù)沒(méi)有值,對(duì)于八分之一速率是16位參數(shù)值的包種籽隨同度標(biāo)志送到碼書(shū)722。在異常幀狀態(tài)子系統(tǒng)702按照?qǐng)D21a-21c提供這些數(shù)據(jù)。而且對(duì)于八分之一速率,如參見(jiàn)圖23所說(shuō)明的那樣向碼書(shū)722提供標(biāo)志。
響應(yīng)來(lái)自子系統(tǒng)700的空白幀標(biāo)志,子系統(tǒng)702檢取出存在存儲(chǔ)器中的前一幀音調(diào)滯后L值和增益b值除了該增益限制為某值或小些,以用于當(dāng)前幀的譯碼子幀。而且未提供碼書(shū)指數(shù)I且碼書(shū)增益G被設(shè)為零。響應(yīng)消除幀標(biāo)志,子系統(tǒng)702再?gòu)拇鎯?chǔ)器720檢取出前一幀子幀碼書(shū)指數(shù)并在加法器加89的值。該前一幀子幀碼書(shū)增益在乘法器乘以常數(shù)0.7以產(chǎn)生各自子幀的G值。未提供音調(diào)滯后值并將音調(diào)增益置零。響應(yīng)具有可用數(shù)據(jù)的差錯(cuò)幀標(biāo)志,當(dāng)在全速率幀中假使CRC通過(guò)就運(yùn)用碼書(shū)指數(shù)和增益,而不提供音調(diào)滯后值且音調(diào)增益置零。
如參考分析-合成技術(shù)中的編碼器的譯碼器所說(shuō)明的那樣,該碼書(shū)指數(shù)I用作該碼書(shū)值的起動(dòng)地址以向乘法器724輸出。該碼書(shū)增益值在乘法器724乘以來(lái)自碼書(shū)722的輸出值該結(jié)果送到音調(diào)濾波器726。音調(diào)濾波器用輸入的音調(diào)滯后L值和增益b值以產(chǎn)生輸出給共振峰主頻成分濾波器714的共振峰主頻成分余量。在共振峰主頻成分濾波器714 LPC系數(shù)用來(lái)對(duì)共振峰主頻成分余量濾波以重建語(yǔ)音。在接收端的譯碼器重建語(yǔ)音進(jìn)一步由共振峰主頻成分后置濾波器716和自適應(yīng)清晰度濾波器718濾波。在共振峰主頻成分濾波器714和共振峰主頻成分后置濾波器716的輸出采用AGC回路,其輸出在乘法器730中乘以自適應(yīng)清晰度濾波器718的輸出。乘法器730輸出的重建語(yǔ)音利用熟知技術(shù)變換成模擬形式并送給聽(tīng)眾。在編碼器的譯碼器中,為更新它的記憶,在輸出端設(shè)置感知加權(quán)濾波器。
參見(jiàn)圖22,說(shuō)明實(shí)施譯碼器本身的更詳細(xì)節(jié)。在圖22中碼書(shū)722包括與參見(jiàn)圖17所說(shuō)明的那種相類(lèi)似的存儲(chǔ)器750。然而為便于說(shuō)明,對(duì)于存儲(chǔ)器75。說(shuō)明稍有差異的方法并在圖22中示出其編址。碼書(shū)722還包括開(kāi)關(guān)752,多路轉(zhuǎn)換器753和偽隨機(jī)數(shù)發(fā)生器(PN)754。開(kāi)關(guān)752如參見(jiàn)圖17說(shuō)明的那樣響應(yīng)該碼書(shū)指數(shù)以指向存儲(chǔ)器750的指數(shù)地址位置。存儲(chǔ)器750是有開(kāi)關(guān)752指向起始記憶位置的循環(huán)存儲(chǔ)器,數(shù)值移過(guò)存儲(chǔ)器而輸出。該碼書(shū)數(shù)值經(jīng)開(kāi)關(guān)752從存儲(chǔ)器750輸出作為多路轉(zhuǎn)換器753的輸入。多路轉(zhuǎn)換器753響應(yīng)全速率,半速率和四分之一速率以將經(jīng)開(kāi)關(guān)752提供的數(shù)值送到碼書(shū)增益放大器,乘法器724。多路轉(zhuǎn)換器753還響應(yīng)八分之一速率標(biāo)志以選取PN發(fā)生器754的輸出使碼書(shū)722的輸出送到乘法器724。
為維持在CELP編碼的高話(huà)音質(zhì)量,編碼器和譯碼器必須有相同數(shù)值存儲(chǔ)在他們的內(nèi)部濾波器存儲(chǔ)器中。這可通過(guò)傳輸碼書(shū)指數(shù)進(jìn)行,使譯碼器和編碼器的濾波器由數(shù)值的相同序列激勵(lì)。而對(duì)高話(huà)音質(zhì)量這些序列包括大多數(shù)零,并有一些尖峰分布其間。這種激勵(lì)方式對(duì)于對(duì)背景噪聲編碼不是最優(yōu)的。
在對(duì)背景噪聲的編碼中,以最低速率進(jìn)行,可實(shí)現(xiàn)偽隨機(jī)序列激勵(lì)濾波器。為確保該濾波器存儲(chǔ)器在編碼器和譯碼器中的相同,這兩個(gè)偽隨機(jī)序列必須相同。不管怎樣必須傳輸種籽到接收機(jī)譯碼器。既然沒(méi)有額外的位可用以送該種籽,所傳輸包位可用作種籽,似乎它們構(gòu)成一個(gè)數(shù)。該技術(shù)可進(jìn)行是因?yàn)槭且缘退俾视猛耆嗤珻ELP分析合成結(jié)構(gòu)來(lái)確定碼書(shū)增益和指數(shù)的。差異是該碼書(shū)指數(shù)被扔掉而編碼器的濾波器存儲(chǔ)器用一偽隨機(jī)序列來(lái)更新。因而分析完后可確定出用于激勵(lì)的種籽。為確保包本身不在一套位模式周期地循環(huán),在該八分之一速率的包中插入4位隨機(jī)位來(lái)取代該碼書(shū)指數(shù)值。因此該包種籽是如圖2所見(jiàn)到的16位數(shù)據(jù)。
NP發(fā)生器754用熟知技術(shù)構(gòu)筑并可由各種算法實(shí)施。在例示性實(shí)施例中所采用的算法其本質(zhì)在保羅·門(mén)恩的文章“DSP片采用已證明的算法可產(chǎn)生隨機(jī)數(shù)”(EDN,1991,1,21)中說(shuō)明。所傳輸?shù)奈话脕?lái)產(chǎn)生序列的種籽(來(lái)自圖18中的子系統(tǒng)700)。在一實(shí)施例中種籽乘以數(shù)值521且加上數(shù)值259。從這合成數(shù)值的最不重要的位用來(lái)作為有符號(hào)的16位數(shù)。該數(shù)值隨后用作產(chǎn)生下一碼書(shū)數(shù)值的種籽。由PN發(fā)生器產(chǎn)生的序列被歸一化而具有1的方差。
從碼書(shū)722輸出的各個(gè)數(shù)值在乘法器724中乘以如在譯碼子幀期間所提供的碼書(shū)增益G。該數(shù)值作為輸入送給音調(diào)濾波器726的加法器756。音調(diào)濾波器726還包括乘法器758和存儲(chǔ)器760。該音調(diào)滯后L確定存儲(chǔ)器760分接位置被輸出給乘法器758。該存儲(chǔ)器760的輸出在乘法器758中乘以音調(diào)增益值b,結(jié)果輸出給加法器756。加法器756的輸出送到存儲(chǔ)器760的輸入端,它是諸如移位寄存器的一系列的延時(shí)單元。該數(shù)值經(jīng)存儲(chǔ)器760移出(沿箭頭所指方向)且如L值所確定那樣在所選取的分接輸出端給出。既然該值經(jīng)存儲(chǔ)器760移出,比143移出值更老的值被廢棄。加法器756的輸出還作為輸入送到共振峰主頻成分濾波器714。
加法器756的輸出送到共振峰主頻成分濾波器714的加法器762的一個(gè)輸入端。共振峰主頻成分濾波器還包括乘法器764a-764j的存儲(chǔ)單位和存儲(chǔ)器766。該加法器762的輸出作為輸入送到存儲(chǔ)器766,它也構(gòu)建成一系列分接的延時(shí)單元如移位寄存器。該數(shù)值經(jīng)存儲(chǔ)器766移出(沿箭頭所指方向)且最后清出每個(gè)單元有分接口以將存在那里的數(shù)據(jù)作為輸入送給乘法器764a-764j的相應(yīng)的分接口。每個(gè)乘法器764a-764j還接收LPC系數(shù)α1-α10的各個(gè)值來(lái)乘以來(lái)自存儲(chǔ)器766的輸出。來(lái)自加法器762的輸出送給作為共振峰主頻成分濾波器的輸出。
共振峰主頻成分濾波器714的輸出作為輸入送到共振峰主頻成分后置濾波器716和AGC子系統(tǒng)728。共振峰主頻成分濾波器716包括加法器768和770以及存儲(chǔ)器772和乘法器774a-774j,776a-776j,和782a-782j。隨著該數(shù)值經(jīng)存儲(chǔ)器772移出它們?cè)谙鄳?yīng)的分接口輸出用來(lái)乘以定標(biāo)的LPC系數(shù)值而在加法器768和770累加。共振峰主要頻率成分后置濾波器716的輸出作為輸入送給自適應(yīng)清晰度濾波器718。
自適應(yīng)清晰度濾波器718包括加法器784和786,寄存器788和790,和乘法器792和794。圖24是說(shuō)明自適應(yīng)清晰度濾波器特點(diǎn)的圖表。共振峰主頻成分后置濾波器716作為輸入送給加法器784而另一輸入由乘法器792的輸出提供。加法器784的輸出送給寄存器788并存儲(chǔ)一循環(huán)而在下一循環(huán)隨同圖19的LSP平均器712提供的K值輸出給乘法器792和794。乘法器792和794的輸出被送給加法器784和786。加法器786的輸出送給AGC子系統(tǒng)728和移位寄存器790。寄存器790作為延時(shí)線(xiàn)以確保從共振峰主頻成分濾波器714輸出給AGC子系統(tǒng)728的數(shù)據(jù)與經(jīng)共振峰主頻成分后置濾波器716提供給自適應(yīng)清晰度濾波器718的數(shù)據(jù)間的協(xié)調(diào)。
AGC子系統(tǒng)728接收來(lái)自共振峰主頻成分濾波器和自適應(yīng)清晰度濾波器的數(shù)據(jù)以對(duì)語(yǔ)音輸出能量定標(biāo)至大約輸入到共振峰主頻成分后置濾波器716和自適應(yīng)清晰度應(yīng)濾波器718的語(yǔ)音的能量。AGC子系統(tǒng)728包括乘法器798、800、802和804,加法器806、808和810,寄存器812、814和816,除法器818,和平方根單元820。從共振峰主頻成分濾波器輸出的40個(gè)樣本在乘法器798平方并在包括加法器806和寄存器812的累加器中累加以產(chǎn)生數(shù)值“X”。相似地從自適應(yīng)清晰度濾波器718輸出的40樣本,優(yōu)先于存儲(chǔ)器790,在乘法器800中平方并在包括加法器808和寄存器814的累加器中累加以產(chǎn)生數(shù)值“Y”。該數(shù)值“Y”在除法器816中除以數(shù)值“X”以產(chǎn)生該濾波器的反向增益。在單元818得到該反向增益因數(shù)的平方根其結(jié)果被平滑。通過(guò)當(dāng)前增益G值在乘法器802乘以常數(shù)0.02,該結(jié)果在加法器810加上如寄存器820和乘法器804所計(jì)算出的0.98倍的前增益的結(jié)果來(lái)實(shí)現(xiàn)平滑工作。濾波器718的輸出隨后在乘法器730乘以平滑后的反向增益以提供輸出的重建語(yǔ)音。該輸出語(yǔ)音用各種已知變換技術(shù)變換成模擬形式輸出給用戶(hù)。
應(yīng)該理解這里所揭示的本發(fā)明的實(shí)施例只是例示性的實(shí)施例,對(duì)該實(shí)施例作出的改變可認(rèn)為在功能上的等同物。本發(fā)明可以在合適的程序控制下在數(shù)字信息處理機(jī)中實(shí)施,提供如這里所公開(kāi)的對(duì)語(yǔ)音樣本編碼并對(duì)該編碼的語(yǔ)音譯碼的功能操作。在本發(fā)明的另一個(gè)實(shí)施例中可以在實(shí)用熟知的超大規(guī)模集成(VLSZ)技術(shù)的專(zhuān)用集成電路(ASIC)來(lái)實(shí)現(xiàn)。
所提供的對(duì)較佳實(shí)施例的前面的說(shuō)明能使本領(lǐng)域技術(shù)人員運(yùn)用本發(fā)明。對(duì)這些實(shí)施例的各種變動(dòng)對(duì)于本領(lǐng)域技術(shù)人員將是現(xiàn)成明顯的,這里確定的總原則可不需要?jiǎng)?chuàng)造性勞動(dòng)就可應(yīng)用于其他實(shí)施例中。因而本發(fā)明希望不是限定在這所示出的實(shí)施例而是給予與這里所說(shuō)的原則和新穎特征相一致的最大保護(hù)范圍。
權(quán)利要求
1.一種為多幀語(yǔ)音信號(hào)中一幀語(yǔ)音的背景噪聲生成當(dāng)前估算的方法,其特征在于,包括以下步驟計(jì)算一幀語(yǔ)音信號(hào)的能量電平;獲得前一幀語(yǔ)音信號(hào)的背景噪聲估算;和根據(jù)所述能量電平和前一幀語(yǔ)音信號(hào)的背景噪聲估算生成當(dāng)前背景噪聲估算。
2.如權(quán)利要求1所述的方法,其特征在于,所述生成步驟包括限制當(dāng)前背景噪聲估算相對(duì)于前一幀語(yǔ)音信號(hào)之背景噪聲估算的增量,使其低于一預(yù)定值。
3.如權(quán)利要求2所述的方法,其特征在于,所述限制步驟包括將當(dāng)前背景噪聲估算限制為小于或等于能量電平的值。
4.如權(quán)利要求2所述的方法,其特征在于,所述增量由一增量百分?jǐn)?shù)構(gòu)成。
5.如權(quán)利要求1所述的方法,其特征在于,所述增量由一絕對(duì)增量構(gòu)成。
6.一種語(yǔ)音處理器,用于處理包含多個(gè)幀的語(yǔ)音信號(hào),其特征在于,所述語(yǔ)音處理器包括計(jì)算裝置,用于計(jì)算一幀語(yǔ)音信號(hào)的能量電平;獲取裝置,用于獲得前一幀語(yǔ)音信號(hào)的背景噪聲估算;和生成裝置,用于根據(jù)能量電平和前一幀語(yǔ)音信號(hào)的背景噪聲估算生成當(dāng)前背景噪聲估算。
7.如權(quán)利要求6所述的語(yǔ)音處理器,其特征在于,所述生成裝置包括限制裝置,用于限制當(dāng)前背景噪聲估算相對(duì)于前一幀語(yǔ)音信號(hào)之背景噪聲估算的增量,使其低于一預(yù)定值。
8.如權(quán)利要求7所述的語(yǔ)音處理器,其特征在于,所述限制裝置包括將當(dāng)前背景噪聲估算限制為小于或等于能量電平的值的裝置。
9.如權(quán)利要求7所述的語(yǔ)音處理器,其特征在于,所述增量由一增量百分?jǐn)?shù)構(gòu)成。
10.如權(quán)利要求7所述的語(yǔ)音處理器,其特征在于,所述增量由一絕對(duì)增量構(gòu)成。
11.一種語(yǔ)音處理器,用于處理包含多個(gè)幀的語(yǔ)音信號(hào),其特征在于,所述語(yǔ)音處理器包括第一電路,用于計(jì)算一幀語(yǔ)音信號(hào)的能量電平;第二電路,用于計(jì)算前一幀語(yǔ)音信號(hào)的背景噪聲估算,并且對(duì)前一幀語(yǔ)音信號(hào)的背景噪聲估算增加一預(yù)定量,生成一增大的估算值;第一多種轉(zhuǎn)換器,它與第一和第二電路耦連,用于接收增大的估算值以及能量電平,并且選擇增大的估算值或能量電平,作為語(yǔ)音信號(hào)當(dāng)前幀的背景噪聲估算。
12.如權(quán)利要求11所述的語(yǔ)音處理器,其特征在于,還包括第一限制器,它與第二電路耦連,用于將所述增大的估算值限制為低于一預(yù)定值的值。
13.如權(quán)利要求12所述的語(yǔ)音處理器,其特征在于,還包括第二限制器,它與第一多種轉(zhuǎn)換器耦連,用于將語(yǔ)音信號(hào)當(dāng)前幀的背景噪聲估算限制為小于或等于能量電平的值。
14.如權(quán)利要求12所述的語(yǔ)音處理器,其特征在于,第二電路包括第一加法器,用于將一標(biāo)稱(chēng)常數(shù)與前一幀語(yǔ)音信號(hào)的背景噪聲估算相加,生成一絕對(duì)增大的估算值;乘法器,用于將前一幀語(yǔ)音信號(hào)的背景噪聲估算乘以一個(gè)略大于1的常數(shù),生成一百分?jǐn)?shù)增大的估算值;第二多種轉(zhuǎn)換器,它與第一加法器和所述乘法器耦連,用于接收絕對(duì)增大的估算值和百分?jǐn)?shù)增大的估算值;第三電路,它與第一加法器、第二乘法器和第二多種轉(zhuǎn)換器耦連,用于控制第二多種轉(zhuǎn)換器,選擇絕對(duì)增大的估算值和百分?jǐn)?shù)增大的估算值中的較大者,作為增大的估算值。
全文摘要
本發(fā)明揭示了一種為多幀語(yǔ)音信號(hào)中一幀語(yǔ)音的背景噪聲生成當(dāng)前估算的方法和設(shè)備。該方法和設(shè)備計(jì)算一幀語(yǔ)音信號(hào)的能量電平;獲得前一幀語(yǔ)音信號(hào)的背景噪聲估算;并根據(jù)能量電平和前一幀語(yǔ)音信號(hào)的背景噪聲估算生成當(dāng)前背景噪聲估算。
文檔編號(hào)G10LGK1398052SQ0210551
公開(kāi)日2003年2月19日 申請(qǐng)日期2002年4月9日 優(yōu)先權(quán)日1991年6月11日
發(fā)明者保羅·E·雅各布, 威廉·R·加德納, 沖·U·李, 克萊恩·S·吉豪森, S·凱瑟琳·蘭姆, 民昌·蔡 申請(qǐng)人:夸爾柯姆股份有限公司