欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

解碼語音信號(hào)的方法

文檔序號(hào):2829514閱讀:207來源:國知局
專利名稱:解碼語音信號(hào)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)字通信系統(tǒng),更具體地說,涉及當(dāng)數(shù)字通信系統(tǒng)語境內(nèi)表示語音信號(hào)的比特流部分丟失時(shí)語音質(zhì)量的增強(qiáng)。
背景技術(shù)
在語音編碼中(又是稱作“音頻壓縮”),編碼器將輸入語音或音頻信號(hào)編碼為數(shù)字比特流以便傳輸。解碼器將比特流解碼為輸出語音信號(hào)。編碼器和解碼器的組合稱作多媒體數(shù)字信號(hào)編解碼器。傳輸?shù)谋忍亓魍ǔ1环指顬閹⑶以诜纸M傳輸網(wǎng)絡(luò)中,每個(gè)傳輸?shù)臄?shù)據(jù)包包含有一個(gè)或多個(gè)壓縮比特流組成的幀。在無線網(wǎng)絡(luò)或分組網(wǎng)絡(luò)中,有時(shí)傳輸?shù)膸驍?shù)據(jù)包被擦除或丟失。這種情況在無線網(wǎng)絡(luò)中稱為幀擦除,在分組網(wǎng)絡(luò)中稱為數(shù)據(jù)包丟失。當(dāng)這種情況發(fā)生,為了避免輸出語音質(zhì)量的大幅度降低,解碼器需要執(zhí)行幀擦除隱匿(FEC)或數(shù)據(jù)包丟失隱匿(PLC)以嘗試隱藏因丟失幀的降低質(zhì)量的影響。因?yàn)镕EC和PLC通常指相同類型的技術(shù),因而可替交地使用。因此,方便起見,術(shù)語“幀擦除隱匿”或FEC,在此處代表FEC和PLC兩者。
最早的FEC技術(shù)之一是基于模式匹配的波形替換,由Goodman等人在“Waveform Substitution Techniques for Recovering Missing Speech Segments inVoice Communications”,IEEE Transaction on Acoustics,Speech and SignalProcessing,December 1986,pp.1440-1448中提出。該技術(shù)被應(yīng)用于執(zhí)行直接對(duì)語音波形每個(gè)采樣瞬時(shí)量化的脈沖編碼調(diào)制(PCM)語音編解碼器。該FEC技術(shù)在丟失幀之前使用解碼語音波形的一部分作為模板,然后及時(shí)將該模板與之前的波形對(duì)比,以找出恰當(dāng)?shù)哪茏畲蠡撤N波形近似測(cè)量值(或最小化波形差測(cè)量值)的解碼語音波形。
隨后,Goodman的FEC技術(shù)在最匹配波形片段之后立即使用該波形片段作為丟失幀的替換波形。為了擦除幀邊界的不連續(xù)性,所述技術(shù)還使用升余弦窗在正確解碼的波形和替代波形間執(zhí)行疊加操作。該疊加技術(shù)增加了編碼的延時(shí)。在每個(gè)幀的末端有很多需要被疊加的語音采樣,并且最終值直到下一語音幀被解碼才能確定,因此產(chǎn)生延時(shí)。
基于上述Goodman的成果,David Kapilow開發(fā)了用于G.711 PCM編解碼器的一種更復(fù)雜版本的FEC技術(shù)。該FEC技術(shù)在ITU-T推薦G.711的附錄I中有描述。
Goodman的FEC技術(shù)和Kapilow的FEC技術(shù)均限于使用瞬時(shí)量化的PCM編解碼器(CODEC)。這種PCM編解碼器是塊獨(dú)立的,即沒有幀間或塊間編解碼存儲(chǔ)器,因此語音采樣的一個(gè)塊的解碼操作不依賴于其它塊的解碼語音信號(hào)或語音參數(shù)。
所有的PCM編解碼器都是塊獨(dú)立的編解碼器,但是塊獨(dú)立的編解碼器不一定是PCM編解碼器。例如,一個(gè)編解碼器可具有20ms大小的幀,并且在這20ms的幀中可能存在某些編解碼存儲(chǔ)器,使該幀中某些語音采樣的解碼需要依賴于該幀中其他部分的解碼語音采樣或語音參數(shù)。然而,只要每個(gè)20ms幀的解碼操作不依賴于其它幀的解碼語音采樣或語音參數(shù),那么編解碼器仍然是塊獨(dú)立的。
塊獨(dú)立的編解碼器的一個(gè)優(yōu)點(diǎn)是幀到幀之間沒有錯(cuò)誤傳播。在一幀擦除后,傳輸?shù)恼Z音數(shù)據(jù)的下一個(gè)好幀的解碼操作完全不受前一幀擦除的影響。換句話說,幀擦除后的第一個(gè)好幀可以馬上被解碼為輸出語音的好幀。
對(duì)于語音編碼,最常用的語音編解碼器的類型是基于預(yù)測(cè)編碼??赡艿谝粋€(gè)發(fā)表的用于預(yù)測(cè)編解碼器的FEC技術(shù)是北美數(shù)字蜂窩無線電協(xié)會(huì)的最初的TIA IS-54 VSELP標(biāo)準(zhǔn)(1996年9月廢除)內(nèi)的“錯(cuò)誤幀屏蔽”技術(shù)。第一個(gè)在激發(fā)域(excitation domain)中執(zhí)行波形外推的用于預(yù)測(cè)編解碼器的FEC技術(shù)可能是由Chen為ITU-T推薦G.728低延時(shí)激勵(lì)線性預(yù)測(cè)器(CELP)編解碼器開發(fā)的FEC系統(tǒng),在Chen的美國專利NO.5,615,298“幀擦除或數(shù)據(jù)包丟失過程中激勵(lì)信號(hào)合成(Excitation Signal Synthesis During Frame Erasure or PacketLoss)”中給出了相關(guān)的描述。在這些早期的用于預(yù)測(cè)編解碼器的FEC技術(shù)公布后,又提出了許多許多用于預(yù)測(cè)編解碼器的FEC技術(shù),其中某些技術(shù)相當(dāng)復(fù)雜。
盡管過去15年內(nèi)大多數(shù)標(biāo)準(zhǔn)化的語音編解碼器都是預(yù)測(cè)編解碼器,仍然還有一些應(yīng)用,如網(wǎng)絡(luò)電話(VoIP)還使用G.711(8位對(duì)數(shù)PCM)編解碼器或甚至16位線性PCM編解碼器,以確保非常高的信號(hào)保真度。在該應(yīng)用中,沒有使用用于預(yù)測(cè)編解碼器的高級(jí)FEC技術(shù),相反,使用了典型的G.711附錄I(Kapilow的FEC技術(shù))。然而,G.711附錄I具有下面的缺點(diǎn)(1)因?yàn)榀B加,其需要3.75ms的額外延時(shí),(2)因?yàn)槭褂昧碎L度為最大間距周期的3.5倍的長期緩存,其具有相當(dāng)大的狀態(tài)存儲(chǔ)器要求,(3)其性能沒有其能做到的那么好。
因此,需要一種能避免關(guān)于G.711附錄I提到的不足的用于塊獨(dú)立的語音編解碼器的FEC技術(shù)。更具體地說,需要不增加額外延時(shí)的FEC,還需要有盡可能小的狀態(tài)存儲(chǔ)器,并進(jìn)一步需要達(dá)到比G.711附錄I更好的語音質(zhì)量。

發(fā)明內(nèi)容
本發(fā)明提出了一種FEC技術(shù),包括通過分析之前的解碼語音推導(dǎo)出濾波器,合適的設(shè)置所述濾波器的內(nèi)部狀態(tài)(存儲(chǔ)器),計(jì)算所述濾波器的“鈴音”信號(hào)(ringing signal),并使用外推的波形對(duì)生成的濾波器鈴音信號(hào)執(zhí)行疊加操作,以確保幀邊界附近的平滑波形轉(zhuǎn)換而不需要G.711附錄I中的額外延時(shí)。在本發(fā)明中,當(dāng)給濾波器的輸入信號(hào)為零時(shí),所述濾波器的“鈴音”信號(hào)便是所述濾波器的輸出信號(hào)。選擇的所述濾波器使得在對(duì)應(yīng)丟失幀之前的最后一個(gè)好幀的最后幾個(gè)采樣的時(shí)間周期內(nèi),濾波器的輸出信號(hào)與所述解碼語音信號(hào)相同。因?yàn)樵趤G失幀開始時(shí)濾波器具有非0內(nèi)部“狀態(tài)”(存儲(chǔ)器),所述輸出信號(hào)通常是非0的,即使從丟失幀開始時(shí)開始所述濾波器輸入信號(hào)被設(shè)為0。以此方法得到的濾波器鈴音信號(hào)具有以平滑方式延續(xù)上一個(gè)好幀的末端的波形至當(dāng)前丟失幀的趨勢(shì)(即,幀邊界沒有明顯的波形不連續(xù))。在一個(gè)實(shí)施例中,所述濾波器包括長期預(yù)測(cè)濾波器和短期預(yù)測(cè)濾波器。
長期預(yù)測(cè)濾波器一般需要有長信號(hào)緩存作為其濾波器存儲(chǔ)器,因此明顯的增加了總存儲(chǔ)器需求量。本發(fā)明的一個(gè)實(shí)施例通過不維持長期預(yù)測(cè)濾波器的存儲(chǔ)器的長期緩存,而當(dāng)需要時(shí)實(shí)時(shí)計(jì)算必要的濾波器存儲(chǔ)器,來實(shí)現(xiàn)非常低的存儲(chǔ)器大小要求,達(dá)到很低的內(nèi)存要求。這可以使用長度僅為最大間距周期的1倍加上預(yù)定義分析窗的長度的語音歷史緩存(history buffer)(而不是G.711附錄I的3.5倍)來完成。
在本發(fā)明的一個(gè)實(shí)施例中,長期和短期預(yù)測(cè)濾波器用于在每個(gè)壞幀(即,丟失幀)的開始以及幀擦除后的第一個(gè)好幀(如,接收到的幀)的開始生成用于疊加操作的所述鈴音信號(hào)。
在本發(fā)明的另一個(gè)實(shí)施例中,長期和短期預(yù)測(cè)濾波器用于僅在幀擦除每次出現(xiàn)的第一錯(cuò)誤幀開始時(shí)生成疊加操作用的鈴音信號(hào)。從第二個(gè)連續(xù)的錯(cuò)誤幀直到出現(xiàn)振擦除后的第一個(gè)好幀,代替濾波器鈴音信號(hào),系統(tǒng)繼續(xù)前一幀的波形外推以獲得從前一幀到當(dāng)前幀的語音波形的平滑擴(kuò)展,并使用所述擴(kuò)展波形與由當(dāng)前壞幀獲得的新外推波形或針對(duì)幀擦除后第一個(gè)好幀的解碼好波形進(jìn)行疊加操作。
根據(jù)本發(fā)明的一個(gè)特征,對(duì)于壞幀以及對(duì)于幀擦除后的第一個(gè)好幀,疊加的長度是分別進(jìn)行調(diào)諧的,并且兩個(gè)最優(yōu)疊加長度通常是不同的。
根據(jù)本發(fā)明的另一個(gè)特征,針對(duì)幀擦除后的第一個(gè)好幀的疊加長度可自適應(yīng)地在用于無聲語音(unvoiced speech)的較短長度和用于有聲語音(voicedspeech)的較長長度之間進(jìn)行轉(zhuǎn)換。
根據(jù)本發(fā)明的另一個(gè)特征,如果正在重建的語音的當(dāng)前幀為純語音(接近周期性的),那么執(zhí)行周期性波形外推;如果語音的當(dāng)前幀為純無聲的,則通過傳送一合適比例的隨機(jī)白噪音序列給短期預(yù)測(cè)濾波器(通常稱作“LPC合成濾波器”)來執(zhí)行波形外推;如果語音當(dāng)前幀位于上述兩個(gè)極端之間,則通過使用混合上述周期性部分和隨機(jī)部分的混合模型來執(zhí)行波形外推,且周期性部分所占比例大致與周期性的程度成比例。
根據(jù)本發(fā)明的另一個(gè)特征,可使用一種計(jì)算有效且存儲(chǔ)器有效的方法來生成上述的隨機(jī)白噪音序列。所述方法基于對(duì)由N個(gè)隨機(jī)白噪音樣本組成的存儲(chǔ)表的等間距采樣和按模數(shù)索引來進(jìn)行,其中各樣本之間的間距取決于幀索引(frame index),并且N是比需要在擦除幀中產(chǎn)生的隨機(jī)白噪音樣本的數(shù)量大的最小素?cái)?shù)。
根據(jù)本發(fā)明的一個(gè)方面,提供一種解碼語音信號(hào)的方法,包括解碼語音信號(hào)的一個(gè)或多個(gè)非擦除幀;檢測(cè)所述語音信號(hào)的第一個(gè)擦除幀;對(duì)檢測(cè)所述第一擦除幀作出如下響應(yīng)基于所述語音信號(hào)的之前解碼的部分推導(dǎo)出濾波器;使用所述濾波器計(jì)算鈴音信號(hào)片段;生成所述第一擦除幀的替代幀,其中生成所述替代幀包括將所述鈴音信號(hào)片段疊加至外推波形。
優(yōu)選地,推導(dǎo)出所述濾波器包括推導(dǎo)出長期濾波器和短期濾波器,且使用所述濾波器計(jì)算所述鈴音信號(hào)片段包括使用長期和短期濾波器計(jì)算所述鈴音信號(hào)片段。
優(yōu)選地,推導(dǎo)出所述長期濾波器包括基于所述語音信號(hào)之前解碼的部分計(jì)算長期濾波器存儲(chǔ)器。
優(yōu)選地,基于所述語音信號(hào)之前解碼的部分計(jì)算所述長期濾波器存儲(chǔ)器包括對(duì)所述語音信號(hào)之前解碼的部分進(jìn)行反向短期濾波。
優(yōu)選地,所述方法進(jìn)一步包括檢測(cè)所述語音信號(hào)的一個(gè)或多個(gè)隨后的擦除幀,所述一個(gè)或多個(gè)隨后的擦除幀及時(shí)緊跟在所述第一個(gè)擦除幀后;使用所述濾波器為每個(gè)所述隨后的擦除幀計(jì)算鈴音信號(hào)片段。
優(yōu)選地,所述方法進(jìn)一步包括檢測(cè)所述語音信號(hào)的一個(gè)或多個(gè)隨后的擦除幀,所述一個(gè)或多個(gè)隨后的擦除幀及時(shí)緊跟在所述第一個(gè)擦除幀后;為所述一個(gè)或多個(gè)隨后的擦除幀中的每一個(gè)生成替代幀,其中生成替代幀包括將對(duì)之前解碼的幀外推獲得的波形的延續(xù)與對(duì)所述擦除幀外推獲得的波形疊加。
優(yōu)選地,所述方法進(jìn)一步包括
檢測(cè)所述第一個(gè)擦除幀后的所述語音信號(hào)的第一個(gè)非擦除幀;使用所述濾波器為所述第一非擦除幀計(jì)算鈴音信號(hào)片段。
優(yōu)選地,所述方法進(jìn)一步包括檢測(cè)所述第一個(gè)擦除幀后的所述語音信號(hào)的第一個(gè)非擦除幀;將對(duì)之前解碼的幀外推獲得的波形的延續(xù)與所述第一個(gè)非擦除幀的一部分疊加。
優(yōu)選地,所述將對(duì)之前解碼的幀外推獲得的波形的延續(xù)與所述第一個(gè)非擦除幀的一部分疊加包括選擇疊加窗的長度。
優(yōu)選地,所述選擇疊加窗的長度包括基于所述語音信號(hào)的之前解碼幀是否為無聲幀選擇疊加窗的長度。
優(yōu)選地,解碼所述語音信號(hào)的一個(gè)或多個(gè)非擦除幀包括以塊獨(dú)立的方式解碼所述語音信號(hào)的一個(gè)或多個(gè)非擦除幀。
根據(jù)本發(fā)明的一個(gè)方面,提供一種解碼語音信號(hào)的方法,包括解碼所述語音信號(hào)的一個(gè)或多個(gè)非擦除幀;檢測(cè)所述語音信號(hào)的擦除幀;對(duì)檢測(cè)所述擦除幀作出如下響應(yīng)基于所述語音信號(hào)之前解碼的部分導(dǎo)出短期濾波器;生成偽隨機(jī)白噪音采樣序列;通過所述短期濾波器對(duì)所述偽隨機(jī)白噪音采樣序列進(jìn)行濾波,生成外推波形;基于所述外推波形生成所述擦除幀的替代幀。
優(yōu)選地,對(duì)于每個(gè)將要生成的樣本,所述生成偽隨機(jī)白噪音采樣序列包括通過統(tǒng)一概率分布函數(shù)計(jì)算偽隨機(jī)數(shù);將偽隨機(jī)數(shù)映射為彎曲的縮放比例(warped scale)。
優(yōu)選地,所述生成偽隨機(jī)白噪音采樣序列包括順序地從預(yù)先計(jì)算的白高斯噪音樣本陣列中讀取樣本。
優(yōu)選地,所述生成偽隨機(jī)白噪音采樣序列包括將N個(gè)偽隨機(jī)高斯白噪音樣本存儲(chǔ)在表內(nèi),其中N是比t大的最小素?cái)?shù),且t表示將要生成的樣本的總數(shù)量;從所述表中獲取t個(gè)樣本組成的序列,其中所述序列中的第n個(gè)樣本使用基于下面函數(shù)的索引獲得cn以N為模,且其中c是所述語音信號(hào)內(nèi)連續(xù)擦除幀的當(dāng)前數(shù)量;基于所述語音信號(hào)的前一解碼部分的周期性,調(diào)整所述周期性波形部分和隨機(jī)波形部分;將所述調(diào)整后的周期性波形部分和調(diào)整后的隨機(jī)波形部分相加。
優(yōu)選地,基于所述語音信號(hào)的前一解碼部分的周期性調(diào)整所述周期性波形部分和隨機(jī)波形部分包括通過比例因子Gp調(diào)整所述周期性波形部分;通過比例因子Gr調(diào)整所述隨機(jī)波形部分;其中Gr按照所述語音信號(hào)的前一解碼部分的周期性的函數(shù)進(jìn)行計(jì)算,且Gp=Gr-1。
優(yōu)選地,推導(dǎo)出所述長期濾波器包括基于所述語音信號(hào)的之前解碼的部分計(jì)算長期濾波器存儲(chǔ)器。
優(yōu)選地,所述基于所述語音信號(hào)的之前解碼的部分計(jì)算長期濾波器存儲(chǔ)器包括反向短期濾波所述語音信號(hào)的前一解碼部分。
優(yōu)選地,使用所述短期濾波器和長期濾波器生成周期性波形部分包括使用所述長期和短期濾波器計(jì)算鈴音信號(hào)片段;將所述鈴音信號(hào)片段疊加至外推波形。
優(yōu)選地,使用所述短期濾波器生成隨機(jī)波形部分包括生成偽隨機(jī)白噪音采樣序列;通過所述短期濾波器對(duì)所述偽隨機(jī)白噪音采樣序列進(jìn)行濾波以生成所述隨機(jī)波形部分。
優(yōu)選地,所述方法進(jìn)一步包括在通過所述短期濾波器對(duì)所述序列濾波之前,比例調(diào)整所述偽隨機(jī)白噪音采樣序列。
優(yōu)選地,調(diào)整所述偽隨機(jī)白噪音采樣序列包括通過與對(duì)語音信號(hào)的之前解碼的非擦除幀計(jì)算出的短期預(yù)測(cè)余量相對(duì)應(yīng)的增益測(cè)量,調(diào)整所述偽隨機(jī)白噪音采樣序列。
優(yōu)選地,解碼所述語音信號(hào)的一個(gè)或多個(gè)非擦除幀包括以塊獨(dú)立的形式解碼所述語音信號(hào)的一個(gè)或多個(gè)非擦除幀。
根據(jù)本發(fā)明的一個(gè)方面,提供一種解碼語音信號(hào)的方法,包括解碼所述語音信號(hào)的一個(gè)或多個(gè)非擦除幀;檢測(cè)所述語音信號(hào)的擦除幀;對(duì)檢測(cè)所述擦除幀作出如下響應(yīng)基于所述語音信號(hào)的之前解碼的部分推導(dǎo)出短期濾波器和長期濾波器;使用所述短期濾波器和長期濾波器生成周期性波形部分;使用所述短期濾波器生成隨機(jī)波形部分;生成所述擦除幀的替代幀,其中生成替代幀包括將所述周期性波形部分和隨機(jī)波形部分混合。
優(yōu)選地,混合所述周期性波形部分和隨機(jī)波形部分包括基于所述語音信號(hào)的之前解碼部分的周期性按比例調(diào)整所述周期性波形部分和隨機(jī)波形部分;將調(diào)整后的周期性波形部分和調(diào)整后的隨機(jī)波形部分相加。
優(yōu)選地,基于所述語音信號(hào)的之前解碼部分的周期性按比例調(diào)整所述周期性波形部分和隨機(jī)波形部分包括通過比例因子Gp調(diào)整所述周期性波形部分;通過比例因子Gr調(diào)整所述隨機(jī)波形部分;其中,Gr按所述語音信號(hào)的之前解碼部分的周期性的函數(shù)進(jìn)行計(jì)算,且Gp=Gr-1。
優(yōu)選地,推導(dǎo)出所述長期濾波器包括基于所述語音信號(hào)的之前解碼部分計(jì)算長期濾波器存儲(chǔ)器。
優(yōu)選地,基于所述語音信號(hào)的之前解碼部分計(jì)算長期濾波器存儲(chǔ)器包括反向短期過濾所述語音信號(hào)的之前解碼部分。
優(yōu)選地,使用所述短期濾波器和長期濾波器生成周期性波形部分包括使用所述長期和短期濾波器計(jì)算鈴音信號(hào)片段;將所述鈴音信號(hào)片段疊加至外推波形。
優(yōu)選地,使用所述短期濾波器生成隨機(jī)波形部分包括生成偽隨機(jī)白噪音采樣序列;通過所述短期濾波器對(duì)所述偽隨機(jī)白噪音采樣序列進(jìn)行濾波以生成所述隨機(jī)波形部分。
優(yōu)選地,對(duì)于每個(gè)將要生成的樣本,所述生成偽隨機(jī)白噪音采樣序列包括使用統(tǒng)一概率分布函數(shù)計(jì)算偽隨機(jī)數(shù);將所述偽隨機(jī)數(shù)映射為彎曲的縮放比例。
優(yōu)選地,生成偽隨機(jī)白噪音采樣序列包括從預(yù)先計(jì)算的白高斯噪音采樣陣列中順序地讀取樣本。
優(yōu)選地,生成偽隨機(jī)白噪音采樣序列包括將N個(gè)偽隨機(jī)高斯白噪音樣本存儲(chǔ)在表內(nèi),其中N是比t大的最小素?cái)?shù),且t表示將要生成的樣本的總數(shù)量;從所述表中獲取t個(gè)樣本組成的序列,其中所述序列中的第n個(gè)樣本使用基于下面函數(shù)的索引獲得cn以N為模,且其中c是所述語音信號(hào)內(nèi)連續(xù)擦除幀的當(dāng)前數(shù)量。
優(yōu)選地,所述方法進(jìn)一步包括在通過所述短期濾波器對(duì)所述序列進(jìn)行濾波之前,按比例調(diào)整所述偽隨機(jī)白噪音采樣序列。
本發(fā)明的優(yōu)點(diǎn)、目的和新特性以及本發(fā)明各個(gè)實(shí)施例的結(jié)構(gòu)和操作,將在后續(xù)結(jié)合附圖給出詳細(xì)的介紹。需要注意的是,本發(fā)明并不限于這些具體實(shí)施例,這些實(shí)施例僅僅是出于解釋的目的。本領(lǐng)域的普通技術(shù)人員基于本申請(qǐng)的教導(dǎo)顯然還可以獲得其他各種實(shí)施例。


下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,附圖中第一次出現(xiàn)的部件由對(duì)應(yīng)的引用標(biāo)號(hào)中最左邊的數(shù)位表示圖1是本發(fā)明一個(gè)優(yōu)選實(shí)施例的框圖;圖2是本發(fā)明一個(gè)實(shí)施例中所區(qū)別的不同類別的幀的示意圖;圖3是實(shí)現(xiàn)本發(fā)明的一個(gè)優(yōu)選方法的第一部分的流程圖;圖4是圖3所示的優(yōu)選方法中第二部分的流程圖;圖5是在其內(nèi)實(shí)現(xiàn)本發(fā)明一個(gè)實(shí)施例的計(jì)算機(jī)系統(tǒng)的示意圖。
具體實(shí)施例方式
以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。在不脫離本發(fā)明的精神實(shí)質(zhì)和范圍情況下,可以提出其它的實(shí)施例和對(duì)本申請(qǐng)書中的實(shí)施例進(jìn)行修改。因此,以下的詳細(xì)描述不是對(duì)本發(fā)明的限制,本發(fā)明的范圍由權(quán)利要求來定義。
對(duì)本領(lǐng)域技術(shù)人員顯而易見的是,如下所述,本發(fā)明可實(shí)現(xiàn)于許多硬件、軟件、固件和/或圖示的實(shí)體構(gòu)成的實(shí)施例中。實(shí)現(xiàn)本發(fā)明的任何實(shí)際的軟家代碼以及專用的控制硬件均不是對(duì)本發(fā)明的限制。因此,本發(fā)明的操作和動(dòng)作將基于以下理解進(jìn)行描述,即可以對(duì)本申請(qǐng)中的實(shí)施例進(jìn)行各種修改和變更。在詳細(xì)描述本發(fā)明之前,先介紹實(shí)現(xiàn)本發(fā)明的環(huán)境將有助于理解本發(fā)明。
A.本發(fā)明一個(gè)實(shí)施例的語音解碼器的實(shí)現(xiàn)本發(fā)明可用于塊獨(dú)立的語音編解碼器的解碼器環(huán)境中隱匿幀擦除或數(shù)據(jù)包丟失產(chǎn)生的質(zhì)量降低影響。本發(fā)明的通用原理可以應(yīng)用于任何塊獨(dú)立的編解碼器中。然而,本發(fā)明的應(yīng)用不僅限于塊獨(dú)立的編解碼器,下面描述的技術(shù)也可應(yīng)用于其他類型的編解碼器,如預(yù)測(cè)編解碼器。圖1是本發(fā)明優(yōu)選實(shí)施例100的框圖。
在該優(yōu)選實(shí)施例中,解碼器接收的語音信號(hào)的每個(gè)幀分為以下5個(gè)不同的級(jí)別(1)一串連續(xù)的擦除幀中的第一個(gè)擦除(壞)幀;如果一次擦除僅包括一個(gè)壞幀,那么該壞幀屬于此類;
(2)一次擦除中有兩個(gè)或多個(gè)幀的情況下,一串連續(xù)的擦除幀中的第二個(gè)壞幀;(3)不是一次擦除中的上述第一個(gè)或第二個(gè)壞幀的壞幀;(4)擦除后立即接收到的第一個(gè)(好)幀,(5)非擦除后立即接收到的第一個(gè)好幀的好幀。
圖2是由本發(fā)明優(yōu)選實(shí)施例所區(qū)分的5個(gè)不同類別的一系列幀200的示意圖。在圖2中,長的水平軸是時(shí)間軸,每個(gè)垂直的記號(hào)表示2個(gè)臨近的幀的邊界位置。圖2中的幀越靠右,幀就越新(隨后出現(xiàn))。陰影的幀是“好”幀,或者是那些由語音解碼器接收的無傳輸錯(cuò)誤的幀。無陰影的幀是“壞”幀,或者是那些未由解碼器接收的或在解碼器處被嚴(yán)重破壞的幀,因此認(rèn)為“被擦除”。一串兩個(gè)或多個(gè)連續(xù)的壞幀在此稱為單次“擦除”。
本發(fā)明的該優(yōu)選實(shí)施例為不同類別的幀執(zhí)行不同的任務(wù);此外,為某一類別的幀執(zhí)行的任務(wù)的計(jì)算結(jié)果可隨后用于其它類別的幀。因此,很難通過傳統(tǒng)的框圖展示該FEC技術(shù)的一幀接一幀的操作。
為了克服這個(gè)問題,圖1所示為本發(fā)明實(shí)施例100的特殊類型的框圖。圖1的目標(biāo)是為了說明本發(fā)明的基本概念,而不是一步接一步、一個(gè)模塊接一個(gè)模塊的操作。圖1中的各個(gè)功能塊可處于非無用狀態(tài)或被旁路,這依賴于當(dāng)前幀所屬的類別。下面的描述將會(huì)解釋清楚在哪個(gè)類別的幀中哪個(gè)功能塊為激活狀態(tài)。同樣,為了更清楚的描述操作順序和控制流程,在圖3和圖4中示出了實(shí)現(xiàn)本發(fā)明的優(yōu)選方法的流程圖。
首先對(duì)圖1中的框圖100進(jìn)行描述,隨后詳細(xì)介紹圖3和4的流程圖。
參照?qǐng)D1,實(shí)心箭頭表示語音信號(hào)流或其它相關(guān)的信號(hào)。虛線箭頭表示涉及濾波器參數(shù)、濾波存儲(chǔ)器等等的更新的控制流。
以下將描述當(dāng)前幀為好幀的情況。對(duì)于好幀,模塊105將輸入比特流解碼為解碼語音信號(hào)的當(dāng)前幀,并傳送至模塊110以存儲(chǔ)在解碼語音緩存器中;隨后,模塊115、125和130被激活。在優(yōu)選實(shí)施例中,解碼語音緩存器的大小是最大間距周期(pitch period)的一倍加上預(yù)定義分析窗的大小。最大間距周期可以為,例如17和20ms之間,而分析窗的大小可以在5和10ms之間。
使用存儲(chǔ)于緩存器內(nèi)的解碼語音信號(hào),模塊115執(zhí)行長期預(yù)測(cè)分析以導(dǎo)出長期濾波器參數(shù)(間距周期、抽頭權(quán)重(tap weight)等等)。同樣地,模塊130執(zhí)行短期預(yù)測(cè)分析以導(dǎo)出短期濾波器參數(shù)并計(jì)算當(dāng)前幀中短期預(yù)測(cè)殘留信號(hào)的平均幅度。短期濾波器和短期預(yù)測(cè)殘留在語音編碼文獻(xiàn)中也被稱作LPC(線性預(yù)測(cè)編碼)濾波器和LPC預(yù)測(cè)殘留。模塊125取出當(dāng)前幀中解碼語音的最后幾個(gè)采樣樣本,顛倒其順序并將其存儲(chǔ)在短期濾波存儲(chǔ)器中。
如果當(dāng)前幀是好幀但不是擦除后的第一個(gè)好幀(即第五類幀),那么模塊135、155、160、165和170不被激活,模塊140、145、150、175、180和185被繞開。換句話說,解碼語音的當(dāng)前幀被作為輸出語音信號(hào)直接播出。
另一方面,如果當(dāng)前幀是擦除后的第一個(gè)好幀(即第四類幀),那么在緊靠的最后幀(即最后一次擦除的最后一個(gè)壞幀)內(nèi),應(yīng)該有已經(jīng)計(jì)算出并存儲(chǔ)在模塊135內(nèi)的鈴音信號(hào)片段(稍后作解釋)。在這種情況下,模塊155、160、165和170也不被激活,并且模塊140被繞開。模塊145執(zhí)行存儲(chǔ)于模塊135中的鈴音信號(hào)片段與存儲(chǔ)于模塊110中的解碼語音信號(hào)之間的疊加操作以得到從存儲(chǔ)的鈴音信號(hào)至解碼語音的平滑轉(zhuǎn)換。這是為了避免當(dāng)前幀開始時(shí)的波形不連續(xù)性。疊加長度一般短于幀的大小。在疊加操作之后,模塊145使用存儲(chǔ)于模塊110內(nèi)的解碼語音信號(hào)中對(duì)應(yīng)的采樣填充當(dāng)前幀的剩余部分。模塊150、175、180和185被繞開。即,解碼語音的疊加后的當(dāng)前幀作為輸出語音信號(hào)被直接播出。
如果當(dāng)前幀是一次擦除中的第一個(gè)壞幀(即第一類幀),模塊115不提取間距距離或抽頭權(quán)重(它僅使用為上一個(gè)好幀提取的值),但它將計(jì)算語音測(cè)量值以確定存儲(chǔ)于模塊110內(nèi)的解碼語音信號(hào)的周期性如何。所述語音測(cè)量值隨后用于分別控制模塊175和170的增益值Gp和Gr。此外,模塊115也對(duì)最后幾個(gè)幀求平均值計(jì)算每個(gè)幀的間距周期改變。模塊120通過使用短期濾波器僅對(duì)比當(dāng)前幀開始時(shí)的疊加周期早的一個(gè)間距周期內(nèi)的片段進(jìn)行解碼語音的反向?yàn)V波,來計(jì)算長期濾波器存儲(chǔ)器。如語音編碼文獻(xiàn)中提到的,反向?yàn)V波的結(jié)果是“LPC預(yù)測(cè)殘留”。隨后,模塊135對(duì)由長期濾波器抽頭權(quán)重計(jì)算的長期濾波存儲(chǔ)器片段進(jìn)行比例調(diào)整,然后將生成的信號(hào)通過短期合成濾波器傳送,該短期合成濾波器的系數(shù)由模塊130在前一幀中更新,并且其濾波存儲(chǔ)器也在前一幀中由模塊125設(shè)置。所述短期合成濾波器的輸出信號(hào)是將在當(dāng)前幀的開始時(shí)使用的鈴音信號(hào)(一次擦除中第一個(gè)壞幀)。
接下來,模塊140使用模塊115在前一個(gè)好幀期間確定的間距周期和外推比例因子執(zhí)行解碼語音的第一階段周期波形外推,直到疊加周期結(jié)束。具體地,模塊140將比當(dāng)前疊加周期早一個(gè)間距周期的解碼語音波形片段乘以外推比例因子,并將生成的信號(hào)片段存儲(chǔ)在對(duì)應(yīng)當(dāng)前疊加周期的地址中。隨后,模塊145執(zhí)行疊加操作以獲得從模塊135計(jì)算的鈴音信號(hào)到模塊140產(chǎn)生的外推語音信號(hào)的平滑轉(zhuǎn)換。接下來,模塊150接收并執(zhí)行第二階段周期波形外推,從當(dāng)前幀的疊加周期末直至下一個(gè)幀的疊加周期末(即當(dāng)前幀的末尾加上疊加長度)。然后,在發(fā)送給加法器180之前,在模塊175內(nèi)通過增益值Gp對(duì)外推波形的當(dāng)前幀部分以及模塊150內(nèi)下一幀的疊加周期進(jìn)行比例調(diào)整。
模塊155分別為當(dāng)前幀加上下一幀的疊加周期生成隨機(jī)白噪音序列。(稍后給出詳細(xì)描述。)所述白噪音序列通過模塊160使用增益值avm進(jìn)行比例調(diào)整,avm為前一幀的LPC預(yù)測(cè)殘留信號(hào)的平均幅度,在前一幀過程中由模塊130計(jì)算得到。隨后,模塊165對(duì)比例調(diào)整后的白噪音信號(hào)進(jìn)行濾波以生成該調(diào)整后白噪音的濾波后版本。模塊165的輸出在被發(fā)送至加法器180之前,在模塊170中進(jìn)一步由增益值Gr進(jìn)行比例調(diào)整。
比例因子Gp和Gr分別是周期性部分的增益和隨機(jī)部分的增益。Gp和Gr的值由模塊115中計(jì)算的語音測(cè)量值來控制。如果語音測(cè)量值表示存儲(chǔ)于模塊110的緩存器內(nèi)的解碼語音信號(hào)本質(zhì)上是周期性的,那么Gp=1且Gr=0。另一方面,如果語音測(cè)量值表示解碼語音本質(zhì)上是無聲音頻或呈現(xiàn)非周期性,那么Gp=0且Gr=1。如果該語音測(cè)量值在所述兩個(gè)極限之間,那么Bp和Gr均非0,Gp大致與解碼語音的周期度成比例,且Gp+Gr=1。
周期信號(hào)部分(模塊150的輸出)和隨機(jī)信號(hào)部分(模塊165的輸出)分別由Gp和Gr進(jìn)行比例調(diào)整,并且生成的2個(gè)調(diào)整后信號(hào)由加法器180相加。所述加法操作用于在下一幀開始時(shí)將當(dāng)前幀加上疊加長度。超出當(dāng)前幀末端的額外的采樣對(duì)于生成當(dāng)前幀的輸出樣本來說是不需要的。因而此時(shí)對(duì)其進(jìn)行計(jì)算并存儲(chǔ)為模塊145為下一幀進(jìn)行疊加操作用的鈴音信號(hào)。
如果當(dāng)前幀在一次擦除內(nèi)不是很“深”,即,如果它離當(dāng)前的一串連續(xù)擦除幀的開始(onset)不是太遠(yuǎn),那么模塊185被繞開,加法器180的輸出作為輸出語音直接播出。如果當(dāng)前幀超出了從當(dāng)前擦除的開始(onset)開始的特定距離閥值,那么模塊185對(duì)加法器180的輸出波進(jìn)行增益衰減,這樣的話,當(dāng)前幀離當(dāng)前擦除的開始越遠(yuǎn),應(yīng)用的增益衰減就越多,直到波形幅度達(dá)到0。
需要注意的是,上面的闡述假設(shè)周期信號(hào)部分(模塊150的輸出)和隨機(jī)信號(hào)部分(模塊165的輸出)均被計(jì)算。這可使程序控制更簡單。然而,這可能會(huì)導(dǎo)致計(jì)算的浪費(fèi)。計(jì)算上更有效的方法是首先檢驗(yàn)語音測(cè)量值,隨后,如果根據(jù)語音測(cè)量值Gp將被設(shè)置為0,那么跳過周期信號(hào)部分的計(jì)算,而如果根據(jù)語音測(cè)量值Gr設(shè)置為0,則跳過隨機(jī)信號(hào)部分的計(jì)算。
如果當(dāng)前幀是一次擦除中的第二個(gè)壞幀(即第二類幀),模塊120、125、130和135不被激活。模塊115通過將在前一幀(第一類幀)期間計(jì)算每幀的平均間距周期改變與前一幀的間距周期相加,推導(dǎo)出新的間距周期。模塊140使用由模塊115計(jì)算的新間距周期以與第一類幀中同樣的方式工作。模塊145同樣以與第一類幀同樣的方式工作,除了其使用的鈴音信號(hào)不同之外。具體地,此時(shí)模塊145不使用模塊135的輸出,而使用存儲(chǔ)于前一幀的鈴音信號(hào)作為超出前一幀(第一類幀)末端的模塊180的額外輸出樣本。模塊150、155、160、165、170、175、180和185均以與第一類幀內(nèi)相同的方式工作。
如果當(dāng)前幀是壞幀,并且不是一次擦除的第一個(gè)壞和第二個(gè)壞幀(第三類幀),那么圖1中所有模塊均以與第二類幀中相同的方式工作,除了模塊115不將每個(gè)幀的平均間距周期改變與前一幀的間距周期相加。相反,模塊115簡單地再使用前一幀的間距周期作為給模塊140的輸出間距周期。
B.根據(jù)本發(fā)明一個(gè)實(shí)施例的幀擦除隱匿方法接下來將介紹實(shí)現(xiàn)本發(fā)明的優(yōu)選方法的流程圖,如圖3和4所示。圖3和4對(duì)應(yīng)一個(gè)流程,介紹了處理語音信號(hào)的一個(gè)幀的步驟。然而,由于所述流程圖太大,不能夠在一頁紙中表示出來,因此,流程圖被分為圖3和4,節(jié)點(diǎn)“A”是連接兩部分的連接點(diǎn)。
在所述流程圖中,圖3的左邊的1/3部分(步驟306至步驟316)對(duì)應(yīng)于僅在好幀期間執(zhí)行的處理,圖3右邊的2/3部分(步驟318至348)對(duì)應(yīng)于僅在壞幀期間執(zhí)行的處理。
參照?qǐng)D3,每個(gè)幀的處理開始于左上角的節(jié)點(diǎn)302,標(biāo)記為“開始”。第一處理步驟是在判斷步驟304中確定當(dāng)前幀是否被擦除或未被擦除。如果結(jié)果是“否”(即當(dāng)前幀是好幀),那么,判斷步驟306進(jìn)一步確定當(dāng)前幀是否為一次擦除后的第一個(gè)好幀。如果結(jié)果是”否”(即當(dāng)前幀為第5類幀),處理308中將當(dāng)前幀中的解碼語音樣本復(fù)制至輸出緩存器中對(duì)應(yīng)的地址。
如果判斷步驟306的結(jié)果為“是”(即當(dāng)前幀為第4類幀),那么,判斷步驟310進(jìn)一步確定輸出解碼語音信號(hào)的前一幀是否為“無聲音頻”。如果結(jié)果為“是”,那么,處理312中使用短疊加窗執(zhí)行疊加(OLA)操作。該OLA在兩個(gè)信號(hào)間執(zhí)行(1)解碼語音的當(dāng)前幀,(2)在前一幀中為當(dāng)前幀的開始部分計(jì)算的鈴音信號(hào),這樣的話,OLA操作的輸出逐漸地從鈴音信號(hào)轉(zhuǎn)換至當(dāng)前幀的解碼語音。具體地,該鈴音信號(hào)被從1至0“向下傾斜”的窗口“加權(quán)”(即相乘),而該解碼語音被從0至1“向上傾斜”的窗口加權(quán)。然后將這兩個(gè)窗口加權(quán)的信號(hào)相加在一起,生成的信號(hào)放在輸出緩存器內(nèi)對(duì)應(yīng)當(dāng)前幀開始部分的一部分中。向下傾斜窗口和向上傾斜窗口的和在任何給定時(shí)間均為1。因而可使用典型的窗口如三角窗或升余弦窗。所述OLA操作是本領(lǐng)域技術(shù)人員所熟知的。一個(gè)示例中,處理312中使用的短窗口的長度(或者疊加長度)約等于1ms,是8KHz電話帶寬語音的8個(gè)采樣,以及16KHz帶寬語音的16個(gè)采樣。無聲語音的OLA長度相對(duì)較短以避免OLA輸出信號(hào)的幅度中的偶然出現(xiàn)的偏角。從疊加周期的末端到當(dāng)前幀的末端,處理312中簡單地將當(dāng)前幀中解碼語音采樣的對(duì)應(yīng)部分復(fù)制至輸出緩存器器中對(duì)應(yīng)的部分內(nèi)。
如果判斷步驟310的結(jié)果是”否”,那么處理314中使用長疊加窗執(zhí)行近似地疊加操作。處理314本質(zhì)上與處理312相同。唯一的區(qū)別是處理314中使用了至少2.5ms的較長的疊加窗。
處理308、312或314完成后,控制流程跳至處理316,執(zhí)行“LPC分析”(LPC分析為本領(lǐng)域技術(shù)人員熟知的技術(shù)),以更新短期預(yù)測(cè)器系數(shù)。設(shè)M是短期預(yù)測(cè)器的濾波器階數(shù)(filter order),那么短期預(yù)測(cè)器可表示為傳遞函數(shù)P(z)=Σi=1Maiz-i,]]>其中ai,i=1,2,...,M是短期預(yù)測(cè)器系數(shù)。
在處理316完成后,控制流程跳至標(biāo)記為“A”的節(jié)點(diǎn)350,其與圖4中的節(jié)點(diǎn)402一致。至此完成對(duì)好幀期間執(zhí)行的處理步驟的描述,接下來介紹僅在壞幀期間執(zhí)行的處理步驟。
如果判斷步驟304的結(jié)果為“是”(如當(dāng)前幀被擦除),那么判斷步驟318進(jìn)一步確定當(dāng)前幀是否為當(dāng)前擦除數(shù)據(jù)流中第一個(gè)幀。如果結(jié)果為“是”,當(dāng)前幀是第一類幀,那么將執(zhí)行處理步驟320、322和324。這三個(gè)處理步驟可以任何順序執(zhí)行,不限于圖3中所示的特定步驟順序。
處理320對(duì)解碼語音的當(dāng)前幀計(jì)算“語音測(cè)量值”。語音測(cè)量值是值依賴于語音信號(hào)的聲音強(qiáng)度大小的一個(gè)優(yōu)值。如果解碼語音波形的當(dāng)前幀聲音強(qiáng)度很強(qiáng)且具有很高的周期性(如元音區(qū)域),則處理320計(jì)算的語音測(cè)量值將很高。如果語音是無聲的(隨機(jī)和類似噪音的,如摩擦輔音),語音測(cè)量值將較低。如果語音不屬于上述兩者任何一種情況,如混合音或過渡區(qū),那么語音測(cè)量值將為中間值。估算語音測(cè)量值有很多種技術(shù),多使用間距預(yù)測(cè)增益、標(biāo)準(zhǔn)化自相關(guān)、零相交率或其各種組合。這些技術(shù)為本領(lǐng)域技術(shù)人員所熟知的技術(shù)。處理步驟320中可以使用任何合理的音頻測(cè)量估計(jì)器。
如果最后幾個(gè)幀內(nèi)的間距周期均位于一個(gè)小范圍內(nèi)(即語音的有聲區(qū)內(nèi)的情況),處理322中將計(jì)算最后幾個(gè)幀期間內(nèi)間距周期的平均改變。幀到幀間距周期改變的平均值通常是分?jǐn)?shù)(即非整數(shù)),其被隨后用于處理第二類幀。如果間距周期改變很大,那么間距周期的平均改變被人為的設(shè)為0,以便隨后在處理328中不會(huì)產(chǎn)生預(yù)期外的結(jié)果。
處理步驟324中,計(jì)算級(jí)聯(lián)長期合成濾波器和短期合成濾波器的鈴音信號(hào)。對(duì)于有聲語音,該鈴音信號(hào)趨向于自然的以平滑的方式將前一幀的語音波形“延伸”至當(dāng)前幀。因此,在處理步驟332中(隨后描述)將該鈴音信號(hào)與周期性的外推語音波形疊加是有用的,可以確保從前一幀到當(dāng)前丟失幀的平滑過渡。
長期合成濾波器可以是單抽頭的或多抽頭的。為簡便起見,可使用單抽頭長期合成濾波器。實(shí)現(xiàn)單抽頭全極長期合成濾波器的常用方法是維持長的延遲線(即濾波器存儲(chǔ)器),且延遲元件的數(shù)量等于最大可能的間距周期。因?yàn)樵摓V波器是全極濾波器,存儲(chǔ)于這一延遲線內(nèi)的采樣樣本與長期合成濾波器輸出中的采樣樣本相同。為了節(jié)省該長延遲線所需的數(shù)據(jù)RAM的存儲(chǔ)空間,在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,該延遲線被刪除,而長期濾波器操作所需的延遲線部分近似于并從解碼語音緩存器計(jì)算得到。
為了描述方便,使用向量符號(hào)來展示此方案如何工作。設(shè)符號(hào)x(1:N)表示包含有陣列x()的第一至第N個(gè)元素的N維向量。換句話說,如果x(1:N)是行向量,則x(1:N)是向量[x(1)x(2)x(3)...x(N)]的縮寫。設(shè)xq()為輸出語音緩存。并設(shè)F是采樣中幀的大小,Q為xq()緩存中之前的輸出語音采樣的數(shù)量,以及,設(shè)L是圖3的處理步驟332中使用的疊加操作的長度。隨后,向量xq(1:Q)對(duì)應(yīng)于之前的輸出語音采樣,直至最后一幀的最后一個(gè)采樣,向量xq(Q+1:Q+F)對(duì)應(yīng)于當(dāng)前幀,處理步驟324的目的是計(jì)算對(duì)應(yīng)于xq(Q+1:Q+L)的濾波器鈴音信號(hào)。
為了計(jì)算對(duì)應(yīng)xq(Q+1:Q+L)的時(shí)間周期的濾波器鈴音信號(hào),該操作所需的長期濾波器存儲(chǔ)器的一部分比xq(Q+1:Q+L)的時(shí)間周期早一個(gè)間距周期。設(shè)e(1:L)是長期合成濾波存儲(chǔ)器的一部分(即長期合成濾波器輸出),當(dāng)通過短期合成濾波器時(shí),將產(chǎn)生需要的對(duì)應(yīng)xq(Q+1:Q+L)的時(shí)間周期的濾波器鈴音信號(hào)。此外,設(shè)pp為用于當(dāng)前幀的間距周期。那么,向量e(1:L)可通過xq(Q+1-pp:Q+L-pp)的反向短期濾波逼近。
所述反向短期濾波的實(shí)現(xiàn)如下首先指定xq(Q+1-pp-M:Q-pp)為表示為A(z)=1-P(z)的短期預(yù)測(cè)器錯(cuò)誤濾波器的初始存儲(chǔ)器(或“狀態(tài)”),然后使用這一合適的初始化濾波器A(z)對(duì)向量xq(Q+1-pp:Q+L-pp)進(jìn)行濾波。對(duì)應(yīng)的濾波輸出向量便是向量e(1:L)的期望近似值。我們可稱該近似向量為(1:L),其可用于處理步驟332?!n(1:L)僅僅是一個(gè)近似值,這是因?yàn)槿绻鹥p很大,用于當(dāng)前幀的A(z)的系數(shù)將與對(duì)應(yīng)于xq(Q+1-pp:Q+L-pp)的時(shí)間周期的A(z)的一組系數(shù)不同。
如果需要,可將之前的多組A(z)系數(shù)儲(chǔ)存起來,依據(jù)間距周期pp,可重新獲取適合的一組或多組A(z)系數(shù)并用于上述的反向短期濾波中。那么,該操作將與長期合成濾波器的維持長延遲線完全相同。然而,這樣做將需要額外的存儲(chǔ)器存儲(chǔ)多組A(z)系數(shù),并且決定何時(shí)使用哪組A(z)系數(shù)會(huì)很復(fù)雜和麻煩。在實(shí)踐中發(fā)現(xiàn),不存儲(chǔ)之前的A(z)系數(shù)組而僅使用當(dāng)前的A(z)系數(shù)組,可省下更多的存儲(chǔ)器并可以達(dá)到同樣滿意的結(jié)果。因此,本發(fā)明的一個(gè)優(yōu)選實(shí)施例中使用這種簡單的方法。
需要注意的是,向量xq(Q+1-pp:Q+L-pp)簡單地包含有將被濾波的向量xq(Q+1-pp:Q+L-pp)之前的M個(gè)采樣樣本,因此它可用于初始化全零濾波器A(z)的存儲(chǔ)器,這樣的話,在其達(dá)到這個(gè)點(diǎn)之前,全零濾波器A(z)就好像正對(duì)xq()信號(hào)進(jìn)行濾波。
在使用A(z)對(duì)向量xq(Q+1-pp:Q+L-pp)進(jìn)行反向短期濾波之后,將產(chǎn)生的輸出向量(1:L)乘以長期濾波器存儲(chǔ)器比例因子β,β是用于生成鈴音信號(hào)的單抽頭長期合成濾波器的抽頭權(quán)重的近似值。比例調(diào)整后的長期濾波器存儲(chǔ)器β(1:L)是xq(Q+1-pp:Q+L-pp)的時(shí)間周期內(nèi)的長期合成濾波器輸出的近似值。該比例因子β(1:L)進(jìn)一步傳送通過表示為1/A(z)的全極短期合成濾波器以獲得想得到的濾波器鈴音信號(hào),表示為r(1:L)。在1/A(z)濾波操作開始前,所述全極濾波器1/A(z)的濾波器存儲(chǔ)器被初始化為xq(Q-M+1:Q),即最后幀的輸出語音的最后M個(gè)采樣。濾波器存儲(chǔ)器的初始化使得對(duì)應(yīng)ai的延遲元件被初始化為xq(Q+1-i),其中i=1,2,...,M。
短期合成濾波器1/A(z)的所述濾波器存儲(chǔ)器初始化基本上設(shè)置濾波器1/A(z)為好像已被用于濾波操作以生成xq(Q-M+1:Q),或者前一幀內(nèi)輸出語音的最后M個(gè)采樣,并已準(zhǔn)備好濾波下一個(gè)采樣樣本xq(Q+1)。通過以這種方式設(shè)置短期合成濾波器1/A(z)的初始存儲(chǔ)器(濾波器狀態(tài)),并隨后通過這樣一個(gè)合適的經(jīng)初始化的短期合成濾波器傳送β(1:L),便可生成濾波器鈴音信號(hào),趨向于自然地平滑地將前一幀中的語音波形“延伸”至當(dāng)前幀。
處理步驟324中計(jì)算出濾波器鈴音信號(hào)向量r(1:L)后,將其存儲(chǔ)以便隨后用于處理步驟332中。然后處理繼續(xù)至判斷步驟330,詳細(xì)介紹將在下面給出。
如果判斷步驟318中確定當(dāng)前幀不是當(dāng)前擦除數(shù)據(jù)流中的第一幀,那么前述步驟320、322和324被繞過,流程跳至判斷步驟326。判斷步驟326確定當(dāng)前幀是否是當(dāng)前擦除中的第二幀。如果結(jié)果為“是”,那么處理步驟328中改變間距周期,通過將之前在步驟322中計(jì)算得到的平均間距周期改變值與前一幀的間距周期相加,并使用生成的值作為這一幀的新間距周期。然后控制流程進(jìn)行至判斷步驟330。另一方面,如果步驟326中結(jié)果是”否”,控制流程跳過步驟328而直接進(jìn)入判斷步驟330。
需要注意的是,步驟322中計(jì)算的平均間距周期改變值通常是分?jǐn)?shù)。因此,如果本發(fā)明的實(shí)施例僅使用整數(shù)間距周期用于周期性波形外推,那么處理步驟328中會(huì)將更新后的間距周期四舍五入為最接近的整數(shù)值。
判斷步驟330中確定步驟320中計(jì)算的語音測(cè)量值是否大于第一閥值T1。如果結(jié)果為“否”,則認(rèn)為前一幀的波形不具有任何周期性,不能進(jìn)行任何周期波形外推,則跳過處理步驟332而進(jìn)入判斷步驟334。另一方面,如果結(jié)果為“是”,則認(rèn)為前一幀的波形具有至少某些程度的周期性,那么,處理步驟332中通過疊加波形平滑法執(zhí)行周期波形外推。
處理步驟332中主要執(zhí)行圖1中模塊140、145和150的操作。具體地,設(shè)t為外推比例因子,并假設(shè)間距周期大于疊加周期(即pp≥L),那么處理步驟332中首先計(jì)算xq(Q+1:Q+L)=t×xq(Q+1-pp:Q+L-pp)。接下來,xq(Q+1:Q+L)與r(1:L)疊加。即xq(Q+n)=wu(n)×xq(Q+n)+wd(n)×r(n),n=1,2,...,L,其中wu(n)和wd(n)分別是向上傾斜窗和向下傾斜窗的第n個(gè)采樣,且wu(n)+wd(n)=1。這是通過疊加實(shí)現(xiàn)的第一階段的外推。
最后,處理步驟332中,在當(dāng)前幀的末端后,進(jìn)一步外推語音信號(hào)至K個(gè)采樣樣本,其中K可與L相等,但是通常情況下兩者不相同。所述第二階段的外推實(shí)現(xiàn)為xq(Q+L+1:Q+F+K)=t×xq(Q+L+1-pp:Q+F+K-pp)。K的值是用于擦除后第一個(gè)好幀的長疊加窗的長度,即用于處理步驟314中的疊加長度。當(dāng)前幀后的外推語音的額外的K個(gè)采樣,即xq(Q+F+1:Q+F+K)內(nèi)的樣本,被視為下一幀開始時(shí)用于疊加操作的“鈴音信號(hào)”。
如果間距周期小于疊加周期(pp<L),第一階段的外推以一個(gè)采樣接一個(gè)采樣的形式執(zhí)行以避免復(fù)制波形從所述幀的開始到疊加操作執(zhí)行前的一個(gè)間距周期后的不連續(xù)。具體地,使用疊加操作的第一階段的外推應(yīng)通過下面的算法執(zhí)行對(duì)于N=1,2,3,...,L,xq(Q+n)=wu(n)×t×xq(Q+n-pp)+wd(n)×r(n)事實(shí)上,該算法的執(zhí)行不考慮pp和L之間的關(guān)系;因此,一個(gè)實(shí)施例中,其可廣泛用于避免檢查pp和L之間的關(guān)系。
執(zhí)行完判斷步驟330或處理步驟332后,在判斷步驟334中確定在處理步驟320中計(jì)算的語音測(cè)量值是否小于第二閥值T2。如果結(jié)果為“否”,則認(rèn)為前一幀的波形具有很高的周期性,不需要在輸出語音中混入任何隨機(jī)噪音成分;因此,跳過處理步驟336到344,控制流程進(jìn)入判斷步驟346。
另一方面,如果判斷步驟344的結(jié)果為“是”,那么處理步驟336到344將生成白噪音序列,使用短期合成濾波器對(duì)該噪音進(jìn)行濾波,并將濾波后的噪音與處理步驟322中產(chǎn)生的周期性外推語音混合。
處理步驟336類似于圖1中所示的模塊155,生成偽隨機(jī)白噪音序列。理想情況下,該噪音不應(yīng)均勻分布,相反,其應(yīng)為高斯或近似高斯的分布。有很多方法可以實(shí)現(xiàn)該模塊。例如,該噪音序列可以在工作中一個(gè)采樣接一個(gè)采樣的進(jìn)行計(jì)算,首先使用已知的算法通過統(tǒng)一概率分布函數(shù)(PDF)計(jì)算偽隨機(jī)數(shù),隨后使用映射器將該偽隨機(jī)數(shù)映射為彎曲的縮放比例,這樣生成的數(shù)字具有高斯PDF。然而,這種方法需要很復(fù)雜的計(jì)算量。
另一種方法是存儲(chǔ)預(yù)先計(jì)算的白高斯噪音采樣陣列,并順序地讀取所述陣列以獲得想要數(shù)量的噪音采樣。這種方法存在的潛在問題是,如果有許多丟失幀的擴(kuò)展幀擦除需要比存儲(chǔ)于預(yù)先計(jì)算的噪音陣列中的噪音采樣更多的噪音采樣,那么輸出噪音序列會(huì)以固定形式重復(fù),可能產(chǎn)生不想要的周期性,聽起來像嗡嗡聲。為了避免這種情況,需要在陣列中存儲(chǔ)相當(dāng)大量的噪音采樣。例如,如果最差的情況是在輸出語音由處理步驟348衰減為0之前,產(chǎn)生60ms的白噪音,那么對(duì)于16KHz寬帶的信號(hào),該預(yù)先計(jì)算的噪音陣列將不得不存儲(chǔ)16×60=960個(gè)預(yù)先計(jì)算的白高斯噪音采樣。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,處理步驟336中使用特定的表格查找和模數(shù)索引(modulo indexing)方法產(chǎn)生所述偽隨機(jī)高斯白噪音序列。這種方法避免了實(shí)時(shí)計(jì)算方法的計(jì)算復(fù)雜度和普通表格查找方法的高存儲(chǔ)量要求。以下舉一個(gè)例子介紹該方法。
假設(shè)采樣率是16KHz,幀的大小是F=80個(gè)樣本(5ms),超出當(dāng)前幀的末端外推得出的額外采樣樣本的數(shù)量是K=40個(gè)樣本。那么,處理步驟336中需要每次生成F+K=120個(gè)白噪音樣本。該方法首先找出比120大的最小素?cái)?shù)。該素?cái)?shù)是127。然后,該方法將離線預(yù)計(jì)算偽隨機(jī)高斯白噪音的127個(gè)采樣樣本并將其存儲(chǔ)在表格中。設(shè)wn(1:127)為包含所述127個(gè)噪音采樣的向量。設(shè)c為當(dāng)前壞幀所在的一次擦除中的壞幀的數(shù)量。例如,如果當(dāng)前幀是一次擦除中的第一個(gè)壞幀,那么c=1;如果當(dāng)前幀是當(dāng)次擦除的第二個(gè)連續(xù)的壞幀,那么c=2,依此類推。那么,該方法生成的噪音序列的第n個(gè)采樣樣本通過w(n)=m×wn(mod(cn,127)),n=1,2,3,...,120獲得,其中m是期望的比例因子或“增益”,將w(n)序列帶入適當(dāng)?shù)男盘?hào)級(jí)。模索引“mod(cn,127)”表示cn除以127后的余數(shù),可定義為mod(cn,127)=cn-[cn/127]×127,其中符號(hào)[x]表示小于或等于x的最大整數(shù)。
例如,對(duì)于進(jìn)入擦除的第一幀,存儲(chǔ)的白噪音表格wn(1:127)的前120個(gè)采樣樣本用作輸出白噪音。對(duì)于進(jìn)入擦除的第二幀,wn(2)、wn(4)、wn(6)、wn(8)、...、wn(126)、wn(1)、wn(3)、wn(5)、...、wn(113)用作輸出白噪音的120個(gè)采樣。對(duì)于進(jìn)入擦除的第三幀,輸出白噪音序列為wn(3)、wn(6)、wn(9)、wn(12)、...、wn(123)、wn(126)、wn(2)、wn(5)、wn(8)、...、wn(122)wn(125)、wn(1)、wn(4)、wn(7)、...、wn(106)。同樣地,對(duì)于進(jìn)入擦除的第四幀,輸出白噪音序列為wn(4)、wn(8)、wn(12)、wn(16)、...、wn(120)、wn(124)、wn(1)、wn(5)、wn(9)、...、wn(121)wn(125)、wn(2)、wn(6)、wn(10)、...、wn(122)、wn(126)、wn(3)、wn(7)、wn(11)、...、wn(99)。
從上面的四個(gè)例子中可以看出,對(duì)于進(jìn)入擦除的每個(gè)新幀,以沒有任何重復(fù)的不同方式從存儲(chǔ)的白噪音表格wn(1:127)中提取出102個(gè)采樣樣本。當(dāng)然,如果c非常大,那么最終噪音提取形式將會(huì)出現(xiàn)重復(fù)。但是實(shí)踐中,如果在50至100ms或更長的擦除之后,輸出語音衰減至0,則只需要12至20個(gè)非重復(fù)噪音形式的幀。上述模索引方法不會(huì)出現(xiàn)12至12幀的噪音形式重復(fù)。通過僅有的127個(gè)存儲(chǔ)的噪音樣本,所述方法可生成噪音形式不重復(fù)的幾千個(gè)噪音樣本。
在所述方法的一個(gè)實(shí)施例中,為了節(jié)省計(jì)算指令周期,不執(zhí)行除法操作cn/127。相反地,將一計(jì)數(shù)器初始化為0,并且在每次從白噪音表格中提取新樣本之前,所述計(jì)數(shù)器以c遞增,并與素?cái)?shù)127進(jìn)行比較。如果計(jì)數(shù)器值比127小,則將該計(jì)數(shù)器的值用作從白噪音表格中提取噪音樣本的地址。如果計(jì)數(shù)器的值大于127,則將計(jì)數(shù)器值減去127,得到的余數(shù)用作從白噪音表格中提取噪音樣本的地址。通過這種實(shí)現(xiàn)方法,僅需要簡單的加法、減法和比較操作。事實(shí)上,多數(shù)數(shù)字信號(hào)處理器(DSP)均具有模索引的硬件支持。
處理步驟336中產(chǎn)生F+K個(gè)偽隨機(jī)高斯白噪音的樣本后,處理步驟338隨后將這些噪音樣本傳送給全極短期合成濾波器1/A(z),該全極短期合成濾波器以與處理步驟324中初始化全極短期合成濾波器相同的方式將初始濾波器存儲(chǔ)器設(shè)置為前一幀的最后M個(gè)輸出語音采樣。在噪音序列通過該短期合成濾波器濾波后,產(chǎn)生的濾波后噪音信號(hào)將大致具有與前一幀輸出語音相同的頻譜包絡(luò)(spectral envelope)。然后將所述濾波后噪音信號(hào)的F+K個(gè)樣本存儲(chǔ)以供隨后處理步驟342中使用。
接下來,判斷步驟340確定處理步驟320中計(jì)算的語音測(cè)量值是否大于閥值T1。如果結(jié)果是“否”,則認(rèn)為前一幀的波形不具有任何周期性,因此不需要將該濾波后噪音信號(hào)和處理步驟332中計(jì)算的周期性外推語音信號(hào)混合。因此,該濾波后噪音信號(hào)的前F個(gè)采樣樣本將用作輸出語音信號(hào)xq(Q+1:Q+F)。
如果判斷步驟340的結(jié)果為“是”,那么由于判斷步驟340位于判斷步驟334的“是”分支內(nèi),可以推出語音測(cè)量值位于閥值T1和T2之間。在這種情況下,處理步驟342將處理步驟338產(chǎn)生的濾波后噪音信號(hào)和處理步驟332產(chǎn)生的周期性外推語音信號(hào)混合。在混合之前,需要為此兩個(gè)信號(hào)部分推導(dǎo)出適合的比例因子Gr和Gp,且Gr+Gp=1。如果語音測(cè)量值接近T1,則用于濾波后噪音的比例因子Gr接近1,且用于周期性外推語音的比例因子應(yīng)接近0。相反地,如果語音測(cè)量值接近T2,那么Gr應(yīng)接近0,且Gp應(yīng)接近1。簡單起見,用于濾波后噪音的比例因子Gr可計(jì)算為Gr=(T2-v)/(T2-T1),其中v是語音測(cè)量值。計(jì)算出Gr之后,Gp可根據(jù)Gp=1-Gr計(jì)算得出。
假設(shè)處理步驟332中計(jì)算得到的周期性外推語音存儲(chǔ)在xq(Q+1:Q+F+K)內(nèi),而處理步驟338中計(jì)算出的濾波后噪音存儲(chǔ)于fn(1:F+K)內(nèi)。那么,一旦計(jì)算出比例因子Gr和Gp后,處理步驟342中將兩個(gè)信號(hào)混合為xq(Q+n)=Gr×fn(n)+Gp×xq(Q+n),n=1,2,...,F(xiàn)+K,并將混合信號(hào)存儲(chǔ)于輸出信號(hào)緩存器中。
接下來,判斷步驟346中檢查當(dāng)前擦除是否太長,即當(dāng)前幀是否在此次擦除中位于太“深”位置。合理的閥值是20至30ms之間。如果當(dāng)前擦除的長度未超過所述閥值,那么控制流程將進(jìn)入圖3中的節(jié)點(diǎn)350(標(biāo)為“A”),也即圖4中節(jié)點(diǎn)402。如果當(dāng)前擦除的長度超過了所述閥值,那么在處理步驟348中應(yīng)用增益衰減,逐漸將輸出信號(hào)幅度降低至0,隨后控制流程進(jìn)入節(jié)點(diǎn)350。將增益衰減至0是非常必要的,因?yàn)橥馔撇ㄐ翁L會(huì)導(dǎo)致輸出信號(hào)聽起來不自然,像嗡嗡聲,這將被認(rèn)為是非常差的偽信號(hào)(artifacts)。為了避免出現(xiàn)不自然的音調(diào)和嗡嗡聲,在大約60ms至80ms之后將輸出信號(hào)衰減至0是合理的。本領(lǐng)域的技術(shù)人員能夠理解,執(zhí)行所述增益衰減的方法有很多種,因此在此不作討論。至此完成了圖3中的幀擦除細(xì)節(jié)處理的描述。
參照?qǐng)D4,在圖3中的處理完成后,處理步驟404通過數(shù)模轉(zhuǎn)換器播放包含在向量xq(Q+1:Q+F)中的輸出信號(hào)樣本。隨后處理步驟406中計(jì)算當(dāng)前幀的短期預(yù)測(cè)殘留信號(hào),將該輸出信號(hào)向量xq(Q+1:Q+F)傳遞通過短期預(yù)測(cè)誤差濾波器A(z),且初始濾波存儲(chǔ)器保持在前一幀進(jìn)行處理步驟406中的濾波后的狀態(tài)。處理步驟406針對(duì)每一幀執(zhí)行。
處理步驟408計(jì)算在處理步驟406中計(jì)算的短期預(yù)測(cè)殘留信號(hào)的“增益”。然后存儲(chǔ)該增益,并用作白噪音生成過程中處理步驟336對(duì)下一幀使用的平均增益m,使用等式w(n)=m×wn(mod(cn,127))進(jìn)行計(jì)算。所述“增益”可以是多個(gè)表示信號(hào)級(jí)高度的可能量之一。例如,其可以是當(dāng)前幀中短期預(yù)測(cè)殘留信號(hào)的平均幅度,也可以是短期預(yù)測(cè)殘留信號(hào)或其他增益測(cè)量值的均方根(RMS)。只要以與處理步驟336產(chǎn)生白噪音序列一致的形式使用,任何量均可被選擇為“增益”。
接下來,判斷步驟410確定當(dāng)前幀是否被擦除。如果結(jié)果為“是”,那么跳過處理步驟412、414和416,并進(jìn)入步驟418。如果結(jié)果為“否”,表示當(dāng)前幀是好幀,那么執(zhí)行處理步驟412、414和416。
處理步驟412可使用大量可能的間距估計(jì)器中的任何一個(gè)生成估計(jì)的間距周期pp,該間距周期pp可由處理步驟320、322、324、328和332在下一幀中使用。因?yàn)殚g距估計(jì)是本領(lǐng)域技術(shù)人員熟知的技術(shù),本申請(qǐng)?jiān)诖瞬贿M(jìn)行詳細(xì)介紹。然而,因?yàn)樘幚聿襟E412僅在好幀期間執(zhí)行,需要注意的是,如果處理步驟412中使用的間距估計(jì)器算法要求某些處理步驟對(duì)語音信號(hào)的每個(gè)幀均執(zhí)行,那么這些處理步驟可作為附加處理插入處理步驟408和判斷步驟410之間。
處理步驟414計(jì)算可由處理步驟332在下一幀中使用的外推比例因子t。這一步驟也有很多方法可以完成所述計(jì)算。一種方法是為單抽頭長期預(yù)測(cè)器計(jì)算最優(yōu)抽頭權(quán)重,所述單抽頭長期預(yù)測(cè)器通過加權(quán)后的xq(Q+1-pp:Q+F-pp)預(yù)測(cè)xq(Q+1:Q+F)。該最優(yōu)權(quán)重的推導(dǎo)是本領(lǐng)域技術(shù)人員熟知的技術(shù),該最優(yōu)權(quán)重可用作外推比例因子t。這個(gè)方法的一個(gè)潛在問題是,如果兩個(gè)波形向量xq(Q+1:Q+F)和xq(Q+1-pp:Q+F-pp)不是非常相關(guān)的(即標(biāo)準(zhǔn)化相關(guān)度不接近1),那么處理步驟332中計(jì)算的周期性外推波形將很快地衰減到0。一種避免這個(gè)問題的方法是將向量xq(Q+1:Q+F)的平均幅度除以向量xq(Q+1-pp:Q+F-pp)的平均幅度,并將生成的商用作外推比例因子t。在當(dāng)向量xq(Q+1-pp:Q+F-pp)的平均幅度為0的特殊情況下,t可設(shè)為0。此外,如果xq(Q+1:Q+F)和xq(Q+1-pp:Q+F-pp)之間的相關(guān)度是負(fù)數(shù),則可對(duì)上面計(jì)算的商值求反并將結(jié)果用作t。最后,為了防止外推波形“過大(blowing up)”,可對(duì)t的值進(jìn)行限制以使其幅度不超過1。
處理步驟416計(jì)算可用于下一幀的處理步驟324中的長期濾波存儲(chǔ)器比例因子β。獲得該β值的一種現(xiàn)有方法是首先計(jì)算短期預(yù)測(cè)殘留信號(hào),然后在間距周期pp內(nèi)為所述短期預(yù)測(cè)殘留信號(hào)計(jì)算單抽頭長期預(yù)測(cè)器的最優(yōu)抽頭權(quán)重。生成的最優(yōu)抽頭權(quán)重可用作β。然而,這樣作需要對(duì)短期預(yù)測(cè)殘留信號(hào)使用一個(gè)長的緩存器。為了降低計(jì)算的復(fù)雜程度和存儲(chǔ)器使用量,通過以小于1的正值調(diào)整外推比例因子t也可以獲得合理的性能。而且按照β=0.75×t計(jì)算長期濾波存儲(chǔ)器比例因子可以得出很好的結(jié)果。
處理步驟418更新將在下一幀中由處理步驟322使用的間距周期歷史緩存。這通過如下方法實(shí)現(xiàn);首先將用于之前幀的之前的間距周期值(已經(jīng)存儲(chǔ)于間距周期歷史緩存中)移一個(gè)位置,然后將當(dāng)前幀的新間距周期pp寫入由上述移位操作清空的間距周期歷史緩存中的該位置處。如果對(duì)于當(dāng)前幀,判斷步驟410的結(jié)果為“否”,那么處理步驟412中獲得的間距周期值pp便是當(dāng)前幀的間距周期。如果判斷步驟410的結(jié)果為“是”,那么前一幀的間距周期被重新用作當(dāng)前幀的間距周期。兩種方法中,當(dāng)前幀的間距周期均被寫入通過上述移位操作清空的間距周期歷史緩存內(nèi)的該位置。
處理步驟420更新可在下一幀中用于處理步驟324和338的短期合成濾波器存儲(chǔ)器。所述濾波器存儲(chǔ)器更新操作的目的是為了在下一幀內(nèi)處理步驟324和338的濾波操作開始前,初始化短期合成濾波器1/A(z)的存儲(chǔ)器。當(dāng)然,如果處理步驟324和338分別將該濾波器存儲(chǔ)器初始化作為處理的一部分執(zhí)行,那么可以跳過處理步驟420?;蛘?,短期濾波器存儲(chǔ)器可在處理步驟420中更新,隨后對(duì)于下一幀,處理步驟324和338可直接使用該已更新的濾波器存儲(chǔ)器。在這種情況下,所述濾波器存儲(chǔ)器初始化的執(zhí)行使得對(duì)應(yīng)ai的延遲元件被初始化為xq(Q+F+1-i),i=1,2,...,M。需要注意的是,當(dāng)前幀的xq(Q+F+1-i)與下一幀的xq(Q+1-i)相同,因?yàn)閤q()緩存在處理進(jìn)行至下一幀之前移位F個(gè)采樣樣本。
處理步驟422執(zhí)行輸出語音緩存的移位和更新?;旧?,該步驟中將向量xq(1+F:Q+F)復(fù)制到xq(1:Q)占據(jù)的向量位置。換句話說,輸出語音緩存的內(nèi)容將移位F個(gè)采樣樣本。
處理步驟424將超出當(dāng)前幀的末端的外推語音信號(hào)的額外的樣本存儲(chǔ)為下一幀的鈴音信號(hào)。換句話說,xq(Q+F+1:Q+F+L)被存儲(chǔ)為鈴音信號(hào)r(1:L)。需要注意的是,如果下一幀是第一類幀(即一次擦除中的第一個(gè)壞幀),所述鈴音信號(hào)r(1:L)將被由處理步驟324計(jì)算得到的新的濾波器鈴音信號(hào)r(1:L)所替代。如果下一幀是除第一類之外的其它任何類的幀,那么按照r(1:L)=xq(Q+F+1:Q+F+L)計(jì)算的所述鈴音信號(hào)將用作處理步驟332中的鈴音信號(hào)。
在處理步驟424執(zhí)行完后,控制流程進(jìn)入節(jié)點(diǎn)426,在圖4中表示為“結(jié)束”。節(jié)點(diǎn)426表示幀處理環(huán)路的結(jié)束。隨后,控制流程返回至標(biāo)記為“開始”的節(jié)點(diǎn)302,以開始下一幀的幀處理。然后再次執(zhí)行圖3和4中所示的整個(gè)流程,直到再次達(dá)到節(jié)點(diǎn)426“結(jié)束”。所述處理流程針對(duì)每個(gè)新的幀進(jìn)行重復(fù)。
C.硬件和軟件實(shí)現(xiàn)為了完整介紹本發(fā)明,下面描述一個(gè)通用計(jì)算機(jī)系統(tǒng)。本發(fā)明可通過硬件或硬件與軟件的結(jié)合來實(shí)現(xiàn)。因此,本發(fā)明可實(shí)現(xiàn)于計(jì)算機(jī)系統(tǒng)或其它處理系統(tǒng)內(nèi)。圖5是本發(fā)明計(jì)算機(jī)系統(tǒng)的一個(gè)示例500的示意圖。在本發(fā)明中,圖1-4所示的所有處理模塊或步驟可在例如一個(gè)或多個(gè)不同的計(jì)算機(jī)系統(tǒng)500上執(zhí)行以實(shí)現(xiàn)本發(fā)明的各種方法。所述計(jì)算機(jī)系統(tǒng)500包括一個(gè)或多個(gè)處理器,如處理器504。處理器504可以是專用的或通用的數(shù)字信號(hào)處理器。處理器504與通信設(shè)施502(如總線或網(wǎng)絡(luò))連接。各種軟件實(shí)現(xiàn)均基于該示例計(jì)算機(jī)系統(tǒng)進(jìn)行描述。根據(jù)本申請(qǐng)的介紹,本領(lǐng)域的技術(shù)人員能夠理解如何使用其它計(jì)算機(jī)系統(tǒng)和/或計(jì)算機(jī)架構(gòu)實(shí)現(xiàn)本發(fā)明。
計(jì)算機(jī)系統(tǒng)500還包括有主存儲(chǔ)器506,優(yōu)選為隨機(jī)訪問存儲(chǔ)器(RAM),并還可包括有次存儲(chǔ)器520。次存儲(chǔ)器520可包括例如硬盤驅(qū)動(dòng)器522和/或可移動(dòng)存儲(chǔ)驅(qū)動(dòng)器524,例如軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器等等??梢苿?dòng)存儲(chǔ)驅(qū)動(dòng)器524以熟知的方式讀寫可移動(dòng)存儲(chǔ)單元528??梢苿?dòng)存儲(chǔ)單元528可以是軟盤、磁帶、光盤等等,由可移動(dòng)存儲(chǔ)驅(qū)動(dòng)器524進(jìn)行讀寫。能夠理解的是,所述可移動(dòng)存儲(chǔ)單元528包括已存儲(chǔ)有計(jì)算機(jī)軟件和數(shù)據(jù)的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)。
在另一個(gè)實(shí)施例中,次存儲(chǔ)器520可包括有其它類似的裝置以允許計(jì)算機(jī)程序或其它指令裝載入計(jì)算機(jī)系統(tǒng)500內(nèi)。所述裝置包括例如可移動(dòng)存儲(chǔ)單元530和接口526。所述裝置還包括盒式磁帶和盒式磁帶接口(視頻游戲設(shè)備中可以找到)、可移動(dòng)存儲(chǔ)芯片(如EPROM或PROM)和相關(guān)的插口,以及其它可移動(dòng)存儲(chǔ)單元530和允許軟件和數(shù)據(jù)從可移動(dòng)存儲(chǔ)單元530傳輸至計(jì)算機(jī)系統(tǒng)500的接口526。
計(jì)算機(jī)系統(tǒng)500還包括有通信接口540。通信接口540實(shí)現(xiàn)軟件和數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)500和外部設(shè)備之間傳輸。通信接口540的例子包括調(diào)制解調(diào)器、網(wǎng)絡(luò)接口(如以太網(wǎng)卡)、通信端口、PCMCIA槽和卡等等。通過通信接口540傳輸?shù)能浖蛿?shù)據(jù)以信號(hào)的形式傳輸,可為電子信號(hào)、電磁信號(hào)、光信號(hào)或其它能夠被通信接口540接收的信號(hào)。這些信號(hào)通過通信路徑542提供給通信接口540。通信路徑542傳送信號(hào),可使用電線或電纜、光纖、電話線、蜂窩電話鏈路、RF鏈路和其它通信信道實(shí)現(xiàn)。
本申請(qǐng)中所使用的術(shù)語“計(jì)算機(jī)程序介質(zhì)”和“計(jì)算機(jī)可用介質(zhì)”用于指各種媒介,如可移動(dòng)存儲(chǔ)單元528和530、硬盤驅(qū)動(dòng)器522中安裝的硬盤,以及通信接口540接收的信號(hào)。所述計(jì)算機(jī)程序產(chǎn)品是提供軟件給計(jì)算機(jī)系統(tǒng)500的裝置。
計(jì)算機(jī)程序(也稱作計(jì)算機(jī)控制邏輯)存儲(chǔ)于主存儲(chǔ)器506和/或次存儲(chǔ)器520內(nèi)。計(jì)算機(jī)程序也可通過通信接口540接收。執(zhí)行所述計(jì)算機(jī)程序時(shí),可激活計(jì)算機(jī)系統(tǒng)500實(shí)現(xiàn)本發(fā)明。具體來說,執(zhí)行所述計(jì)算機(jī)程序可激活處理器500執(zhí)行本發(fā)明的處理流程,例如圖3和4所示的方法。因此,所述計(jì)算機(jī)程序代表計(jì)算機(jī)系統(tǒng)500的控制器。若本發(fā)明使用軟件實(shí)現(xiàn),所述軟件可存儲(chǔ)于計(jì)算機(jī)程序產(chǎn)品內(nèi),并使用可移動(dòng)存儲(chǔ)驅(qū)動(dòng)器524、接口526或通信接口540載入計(jì)算機(jī)系統(tǒng)500內(nèi)。
在本發(fā)明的另一個(gè)實(shí)施例中,本發(fā)明的特征主要在使用例如硬件部件(例如專用集成電路(ASICs)和門陣列)的硬件內(nèi)實(shí)現(xiàn)。通過硬件狀態(tài)機(jī)來實(shí)現(xiàn)本發(fā)明也是本領(lǐng)域技術(shù)人員熟知的。
D.總結(jié)以上介紹了本發(fā)明的各種具體實(shí)施例,但是上述各種具體實(shí)施例不是對(duì)本發(fā)明的限制。本領(lǐng)域的普通技術(shù)人員可知,可以對(duì)本發(fā)明的形式或細(xì)節(jié)做出各種改變而不脫離本發(fā)明的范圍和精神實(shí)質(zhì)。例如,盡管本發(fā)明的優(yōu)選實(shí)施例中使用長期預(yù)測(cè)濾波器和短期預(yù)測(cè)濾波器生成鈴音信號(hào),本領(lǐng)域的技術(shù)人員能夠理解,該鈴音信號(hào)能夠僅使用長期預(yù)測(cè)濾波器或僅使用短期預(yù)測(cè)濾波器來生成。此外,本發(fā)明并不限于預(yù)測(cè)濾波器的使用,本領(lǐng)域的技術(shù)人員能夠理解,長期和短期濾波器一般均可用于實(shí)現(xiàn)本發(fā)明。
本發(fā)明通過功能模塊和方法步驟對(duì)其中的特定功能和關(guān)系進(jìn)行了描述。這些功能模塊和方法步驟的邊界,為了描述方便起見,在說明書中任意地給出了定義。只要特定的功能和關(guān)系被正確執(zhí)行,本發(fā)明還可以定義其它的邊界而不脫離本發(fā)明的范圍和精神實(shí)質(zhì)。本領(lǐng)域的技術(shù)人員可知,這些功能模塊可通過獨(dú)立的部件、專用集成電路、執(zhí)行適當(dāng)軟件的處理器及其各種組合來實(shí)現(xiàn)。因此,本發(fā)明的范圍不限于任何上述的具體實(shí)施例,而應(yīng)由本發(fā)明的權(quán)利要求及其等效替換來定義。
權(quán)利要求
1.一種解碼語音信號(hào)的方法,包括解碼語音信號(hào)的一個(gè)或多個(gè)非擦除幀;檢測(cè)所述語音信號(hào)的第一個(gè)擦除幀;對(duì)檢測(cè)所述第一擦除幀作出如下響應(yīng)基于所述語音信號(hào)的之前解碼的部分推導(dǎo)出濾波器;使用所述濾波器計(jì)算鈴音信號(hào)片段;生成所述第一擦除幀的替代幀,其中生成所述替代幀包括將所述鈴音信號(hào)片段疊加至外推波形。
2.如權(quán)利要求1所述的方法,其特征在于,推導(dǎo)出所述濾波器包括推導(dǎo)出長期濾波器和短期濾波器,且使用所述濾波器計(jì)算所述鈴音信號(hào)片段包括使用長期和短期濾波器計(jì)算所述鈴音信號(hào)片段。
3.如權(quán)利要求2所述的方法,其特征在于,推導(dǎo)出所述長期濾波器包括基于所述語音信號(hào)之前解碼的部分計(jì)算長期濾波器存儲(chǔ)器。
4.如權(quán)利要求3所述的方法,其特征在于,基于所述語音信號(hào)之前解碼的部分計(jì)算所述長期濾波器存儲(chǔ)器包括對(duì)所述語音信號(hào)之前解碼的部分進(jìn)行反向短期濾波。
5.如權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括;檢測(cè)所述語音信號(hào)的一個(gè)或多個(gè)隨后的擦除幀,所述一個(gè)或多個(gè)隨后的擦除幀及時(shí)緊跟在所述第一個(gè)擦除幀后;使用所述濾波器為每個(gè)所述隨后的擦除幀計(jì)算鈴音信號(hào)片段。
6.一種解碼語音信號(hào)的方法,包括解碼所述語音信號(hào)的一個(gè)或多個(gè)非擦除幀;檢測(cè)所述語音信號(hào)的擦除幀;對(duì)檢測(cè)所述擦除幀作出如下響應(yīng)基于所述語音信號(hào)之前解碼的部分導(dǎo)出短期濾波器;生成偽隨機(jī)白噪音采樣序列;通過所述短期濾波器對(duì)所述偽隨機(jī)白噪音采樣序列進(jìn)行濾波,生成外推波形;基于所述外推波形生成所述擦除幀的替代幀。
7.如權(quán)利要求6所述的方法,其特征在于,對(duì)于每個(gè)將要生成的樣本,所述生成偽隨機(jī)白噪音采樣序列包括通過統(tǒng)一概率分布函數(shù)計(jì)算偽隨機(jī)數(shù);將偽隨機(jī)數(shù)映射為彎曲的縮放比例。
8.如權(quán)利要求6所述的方法,其特征在于,所述生成偽隨機(jī)白噪音采樣序列包括順序地從預(yù)先計(jì)算的白高斯噪音樣本陣列中讀取樣本。
9.一種解碼語音信號(hào)的方法,包括解碼所述語音信號(hào)的一個(gè)或多個(gè)非擦除幀;檢測(cè)所述語音信號(hào)的擦除幀;對(duì)檢測(cè)所述擦除幀作出如下響應(yīng)基于所述語音信號(hào)的之前解碼的部分推導(dǎo)出短期濾波器和長期濾波器;使用所述短期濾波器和長期濾波器生成周期性波形部分;使用所述短期濾波器生成隨機(jī)波形部分;生成所述擦除幀的替代幀,其中生成替代幀包括將所述周期性波形部分和隨機(jī)波形部分混合。
10.如權(quán)利要求9所述的方法,其特征在于,混合所述周期性波形部分和隨機(jī)波形部分包括基于所述語音信號(hào)的之前解碼部分的周期性按比例調(diào)整所述周期性波形部分和隨機(jī)波形部分;將調(diào)整后的周期性波形部分和調(diào)整后的隨機(jī)波形部分相加。
全文摘要
本發(fā)明公開了一種解碼語音信號(hào)的方法。語音信號(hào)的一個(gè)或多個(gè)非擦除幀以獨(dú)立塊的方式解碼。當(dāng)檢測(cè)到被擦除的幀時(shí),基于語音信號(hào)的之前解碼部分推導(dǎo)出短期預(yù)測(cè)濾波器和長期預(yù)測(cè)濾波器。周期性波形部分使用短期預(yù)測(cè)濾波器和長期預(yù)測(cè)濾波器產(chǎn)生。隨機(jī)波形部分使用短期預(yù)測(cè)濾波器產(chǎn)生。所述方法生成替代幀以代替被擦除的幀。所述替代幀可基于周期性波形部分、隨機(jī)波形部分或兩者的混合生成。
文檔編號(hào)G10L21/02GK1873778SQ20061008407
公開日2006年12月6日 申請(qǐng)日期2006年5月19日 優(yōu)先權(quán)日2005年5月20日
發(fā)明者朱因韋·陳 申請(qǐng)人:美國博通公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
庆元县| 明水县| 喜德县| 孝义市| 当雄县| 安乡县| 海淀区| 金坛市| 资源县| 高阳县| 龙江县| 克山县| 新平| 固安县| 文化| 古浪县| 大化| 镇雄县| 邵武市| 屏东县| 云浮市| 宁河县| 高州市| 中阳县| 绍兴县| 凤冈县| 溧阳市| 吉林省| 沈丘县| 安福县| 新化县| 洪雅县| 贞丰县| 九龙坡区| 思茅市| 梨树县| 安新县| 漠河县| 朝阳县| 梨树县| 博湖县|