專利名稱:語音解碼裝置及語音解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及語音解碼裝置及語音解碼方法,特別涉及具有分層結(jié)構(gòu)的可擴(kuò)展編碼解碼器使用的語音解碼裝置及語音解碼方法。
背景技術(shù):
在移動(dòng)通信中,為了有效利用傳輸頻帶,必須進(jìn)行語音或畫像的數(shù)字信息的壓縮編碼。其中,對便攜電話中廣泛利用的語音編碼解碼(編碼/解碼)技術(shù)的期望很高,對于壓縮率較高的現(xiàn)有高效率編碼,要求更高的音質(zhì)。另外,近年來,具有多個(gè)層結(jié)構(gòu)的可擴(kuò)展編碼解碼器作為效率更高、質(zhì)量更高的語音編碼解碼器被用于IPdnternet Protocol,互聯(lián)網(wǎng)協(xié)議)通信網(wǎng)中, ITU-T(International Telecommunication Union-Telecommunication Standardization kctor,國際電信聯(lián)盟遠(yuǎn)程通信標(biāo)準(zhǔn)化組織)或MPEG(Moving Picture Experts Group,動(dòng)態(tài)圖像專家組)正在研究標(biāo)準(zhǔn)化。另外,通過20年前建立的對語音的發(fā)聲機(jī)構(gòu)進(jìn)行建模并且應(yīng)用矢量量化的語音編碼技術(shù)的基本方式即CELP (Code Excited Linear Prediction,碼激勵(lì)線性預(yù)測)、及音頻編碼中使用的變換編碼技術(shù)(MPEG標(biāo)準(zhǔn)ACC、MP3等),使得語音/音樂編碼技術(shù)取得很大進(jìn)步,已能夠進(jìn)行高質(zhì)量的通信及音樂欣賞。并且,近年來,關(guān)注全I(xiàn)P化、無縫化及寬帶化, 覆蓋語音到音頻的可擴(kuò)展編碼解碼器的開發(fā)及標(biāo)準(zhǔn)化(ITU-T SG16 WP3)也得到了發(fā)展。該編碼技術(shù)是如下結(jié)構(gòu)的編碼解碼器傳輸?shù)恼Z音的頻帶分層地形成,另外,在高層對低層的量化誤差進(jìn)行編碼。專利文獻(xiàn)1公開了在高層對低層的量化誤差進(jìn)行編碼的分層型編碼的基本發(fā)明、 及使用采樣變換從低層到高層進(jìn)行更寬頻帶的編碼的方法。另外,在ITU-T中,推薦了 5層的可擴(kuò)展語音編碼解碼器G. 718 (例如,非專利文獻(xiàn)1)。另外,在傳輸可擴(kuò)展編碼解碼器的各層(層)的代碼的情況下,可考慮采用通過對每層不同的分組來傳輸?shù)姆椒?。但是,因通信系統(tǒng)的不同,有時(shí)在解碼器側(cè)各個(gè)幀的各層分組的接收順序或接收定時(shí)不同。但是,即使在這種情況下,在語音通信中,解碼器也必須穩(wěn)定地持續(xù)輸出解碼語音。為了應(yīng)對該問題,可考慮這樣的算法設(shè)置抖動(dòng)吸收緩沖器,將構(gòu)成幀的多個(gè)分組存儲(chǔ)在抖動(dòng)吸收緩沖器中,由此等待構(gòu)成幀的多個(gè)分組的到達(dá),在所有分組到達(dá)后,取得同步并進(jìn)行解碼。另外,此時(shí),利用如下算法連續(xù)地進(jìn)行解碼在對幀的分組進(jìn)行合成的定時(shí)臨近的情況下,先行開始分組的解碼,觀察分組的到達(dá)狀態(tài),并在分組到達(dá)了的情況下,以追加方式進(jìn)行解碼,如果分組未到達(dá)則放棄,丟棄延遲了的分組。在這種處理中,發(fā)生被稱為“延遲抖動(dòng)”或“通信抖動(dòng)”的現(xiàn)象。特別是,關(guān)于語音數(shù)據(jù)的通信,專利文獻(xiàn)2 5示出了應(yīng)對該“抖動(dòng)”的發(fā)明。現(xiàn)有技術(shù)文獻(xiàn)專利文獻(xiàn)專利文獻(xiàn)1 日本特開平8463096號公報(bào)
專利文獻(xiàn)2 日本特開平11-41287號公報(bào)專利文獻(xiàn)3 日本特開2003-87317號公報(bào)專利文獻(xiàn)4 日本特開2000-151694號公報(bào)專利文獻(xiàn)5 日本特開2007-235221號公報(bào)非專利文獻(xiàn)非專利文獻(xiàn)1 ITU-T G. 718標(biāo)準(zhǔn)書,2008年6月
發(fā)明內(nèi)容
發(fā)明要解決的問題但是,在專利文獻(xiàn)2 專利文獻(xiàn)5中,使用1個(gè)分組來傳輸規(guī)定時(shí)間的語音信號, 對于與上述“抖動(dòng)”的關(guān)系,沒有與多個(gè)層的各代碼的處理有關(guān)的記載。即,在專利文獻(xiàn)2 專利文獻(xiàn)5中,具有如下問題在對每幀接收所有層的代碼后一起進(jìn)行解碼,因此存在直到接收所有層的代碼為止的等待時(shí)間,由此每次都發(fā)生處理延遲。另外,即使在先行開始各層的解碼的情況下,也具有如下問題存在直到對每幀接收各層的代碼為止的等待時(shí)間,因此同樣會(huì)發(fā)生處理延遲。因此,在專利文獻(xiàn)2 專利文獻(xiàn)5中,存在不能使解碼器的處理器執(zhí)行需要集中的時(shí)間的其他進(jìn)程的問題。另外,在專利文獻(xiàn)2 專利文獻(xiàn)5中,在中斷從外部進(jìn)入時(shí)處于先行解碼的情況下,不能輸出正在先行解碼的幀的合成音。因此,在專利文獻(xiàn)2 專利文獻(xiàn)5中,提前進(jìn)行先行解碼的處理、將合成音提前地解碼很重要。另外,以往,在便攜終端中會(huì)頻繁地產(chǎn)生時(shí)鐘延遲。時(shí)鐘延遲是指,發(fā)送側(cè)的時(shí)鐘與接收側(cè)的時(shí)鐘之間的時(shí)鐘偏差被累積,成為較大的時(shí)間偏差,不能取得同步的現(xiàn)象。作為該情況下的對策,在接收側(cè)超前的情況下,在無聲區(qū)間中追加1幀的合成音,在接收側(cè)滯后的情況下,丟棄1幀的合成音,輸出丟棄了的幀的下一幀的合成音。因此,在以往的裝置中, 需要提前進(jìn)行解碼處理,提前生成合成音,等待無聲區(qū)間的幀的定時(shí),進(jìn)行合成音的追加或合成音的丟棄。S卩,在以往的裝置中存在如下問題在對于先行解碼及時(shí)鐘延遲的任意的應(yīng)對中, 盡管提前生成合成音非常重要,但是由于產(chǎn)生處理延遲,都不能輸出合成音。本發(fā)明的目的在于提供語音解碼裝置及語音解碼方法,其盡快地進(jìn)行解碼處理而提前生成合成音,因此能夠在規(guī)定時(shí)間內(nèi)連續(xù)地將處理器用于其他用途,并且即使由于緊急中斷而將處理器用于其他用途,也能夠不間斷地生成合成音。解決問題的方案本發(fā)明的語音解碼裝置,包括接收單元,在多個(gè)幀中接收在由多個(gè)層構(gòu)成的語音編碼裝置中生成了的各個(gè)層的代碼并進(jìn)行存儲(chǔ);以及解碼單元,將所述各個(gè)層的代碼進(jìn)行解碼,所述語音解碼裝置還包括選擇單元,選擇與在未解碼狀態(tài)的所述各個(gè)層的代碼中的、最先進(jìn)行解碼的代碼對應(yīng)的幀號和層號,所述接收單元進(jìn)一步存儲(chǔ)表示所述各個(gè)層的代碼是否未接收、是否未解碼、或是否解碼完畢的解碼狀態(tài),并在輸入了更新指示的情況下進(jìn)行所述解碼狀態(tài)的更新,所述選擇單元通過搜索所述解碼狀態(tài),選擇與代碼對應(yīng)的所述幀號及所述層號,并且將所述解碼狀態(tài)的所述更新指示輸出到所述接收單元,所述代碼是在所述接收單元中存儲(chǔ)或更新了所述解碼狀態(tài)時(shí)所述解碼狀態(tài)為未解碼狀態(tài),在存儲(chǔ)或更新后最先進(jìn)行解碼的代碼,所述解碼單元將與所述幀號及所述層號對應(yīng)的代碼進(jìn)行解碼。本發(fā)明的語音解碼方法,包括接收步驟,在多個(gè)幀中接收在由多個(gè)層構(gòu)成的語音編碼裝置中生成的各個(gè)層的代碼,并將其存儲(chǔ)在存儲(chǔ)器中;以及解碼步驟,將所述各個(gè)層的代碼進(jìn)行解碼,所述語音解碼方法還包括選擇步驟,選擇與在未解碼狀態(tài)的所述各個(gè)層的代碼中的、最先進(jìn)行解碼的代碼對應(yīng)的幀號和層號,在所述接收步驟中,進(jìn)一步將表示所述各個(gè)層的代碼是否未接收、是否未解碼、或是否解碼完畢的解碼狀態(tài)存儲(chǔ)在所述存儲(chǔ)器中, 并在被指示了更新的情況下進(jìn)行所述存儲(chǔ)器的所述解碼狀態(tài)的更新,在所述選擇步驟中, 通過搜索所述解碼狀態(tài),選擇與代碼對應(yīng)的所述幀號及所述層號,并且對所述存儲(chǔ)器指示所述解碼狀態(tài)的更新,所述代碼是在所述存儲(chǔ)器中存儲(chǔ)或更新了所述解碼狀態(tài)時(shí)所述解碼狀態(tài)為未解碼狀態(tài),在存儲(chǔ)或更新后最先進(jìn)行解碼的代碼,在所述解碼步驟中,將與所述幀號及所述層號對應(yīng)的代碼進(jìn)行解碼。發(fā)明的效果根據(jù)本發(fā)明,盡可能提前地進(jìn)行解碼處理來提前生成合成音,因此能夠在規(guī)定時(shí)間內(nèi)連續(xù)地將處理器用于其他用途,并且即使由于緊急中斷將處理器用于其他用途,也能夠不間斷地生成合成音。
圖1是表示本發(fā)明實(shí)施方式1的語音解碼裝置的結(jié)構(gòu)的方框圖。圖2是表示本發(fā)明實(shí)施方式1的決定解碼的幀號和層號的方法的流程圖。圖3是表示一例本發(fā)明實(shí)施方式1的狀態(tài)矩陣的圖。圖4是表示一例本發(fā)明實(shí)施方式1的代碼數(shù)據(jù)矩陣的圖。圖5是表示一例本發(fā)明實(shí)施方式1的合成音矩陣的圖。圖6是表示一例本發(fā)明實(shí)施方式1的合成音矩陣的圖。圖7是表示本發(fā)明實(shí)施方式2的語音解碼裝置的結(jié)構(gòu)的方框圖。圖8是表示本發(fā)明實(shí)施方式2的決定解碼的幀號和層號的方法的流程圖。圖9是表示本發(fā)明實(shí)施方式2的語音解碼裝置的解碼單元的結(jié)構(gòu)的方框圖。圖10是表示一例本發(fā)明實(shí)施方式2的無聲標(biāo)記的圖。
具體實(shí)施例方式以下,參照附圖詳細(xì)地說明本發(fā)明的實(shí)施方式。(實(shí)施方式1)圖1是表示本發(fā)明的實(shí)施方式1的語音解碼裝置100的結(jié)構(gòu)的方框圖。語音解碼裝置100是一例可擴(kuò)展解碼器(可擴(kuò)展(多層)編碼解碼器的解碼器)。在本實(shí)施方式的通信系統(tǒng)中,各個(gè)幀由多個(gè)層構(gòu)成,并且對每個(gè)層進(jìn)行編碼而生成代碼,生成存儲(chǔ)了該代碼的分組。由此,傳輸可擴(kuò)展編碼解碼器的各層的代碼。語音解碼裝置100主要包括分組接收單元101、幀號存儲(chǔ)單元102、狀態(tài)/代碼存儲(chǔ)單元103、層選擇單元104、解碼單元105、合成音存儲(chǔ)單元106、定時(shí)器單元107、時(shí)間限制判定單元108、合成音驗(yàn)證單元109、補(bǔ)償單元110、時(shí)鐘延遲檢測單元111、合成單元112、揚(yáng)聲器113。
語音解碼裝置100中的進(jìn)程(process)主要包括進(jìn)程150、160、170、180這4個(gè)進(jìn)程。另外,4個(gè)進(jìn)程150、160、170、180分別獨(dú)立地進(jìn)行動(dòng)作。其中,優(yōu)先次序是,進(jìn)程170最高,接著依序是進(jìn)程180、進(jìn)程160,進(jìn)程150的優(yōu)先級最低。在多個(gè)進(jìn)程同時(shí)訪問同一存儲(chǔ)單元或存儲(chǔ)器的情況下,按照所述的優(yōu)先次序執(zhí)行處理。以下,詳細(xì)說明各結(jié)構(gòu)。分組接收單元101從傳輸路徑接收分組,向傳輸路徑發(fā)送數(shù)據(jù)(ACK),該數(shù)據(jù) (ACK)表示接收到分組。另外,分組接收單元101將接收到的分組進(jìn)行解壓并進(jìn)行解碼,由此取出代碼。即,分組接收單元101分別接收多個(gè)幀的每層的分組,取出接收到的多個(gè)幀的每層的代碼。此時(shí),分組接收單元101在由于檢測到比特差錯(cuò)等原因而不能正常取出代碼的情況下,丟棄分組,請求傳輸路徑重發(fā)所丟棄的幀號及層號的分組。并且,分組接收單元 101也可以不請求重發(fā),而放棄分組的取得。另外,分組接收單元101在正常地取出了代碼的情況下,參照存儲(chǔ)在幀號存儲(chǔ)單元102中的基準(zhǔn)號,即與當(dāng)前從揚(yáng)聲器113輸出的語音對應(yīng)的分組的幀號,計(jì)算相對的幀號。然后,分組接收單元101將計(jì)算出的幀號存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中,由此變更存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中的狀態(tài)矩陣及編碼數(shù)據(jù)矩陣。例如,在基準(zhǔn)號為“761”、 接收到的代碼的幀號為“763”、及接收到的代碼的層號為“2”的情況下,當(dāng)前合成的幀號是前2個(gè)幀號的幀,因此分組接收單元101計(jì)算出相對的幀號“1”,不變更層號“2”。S卩,分組接收單元101從狀態(tài)/代碼存儲(chǔ)單元103中取出狀態(tài)矩陣,將State(IJ)的值設(shè)定為表示代碼到達(dá)(即,將分組解碼完畢,取出了代碼)的“1”,對狀態(tài)矩陣進(jìn)行寫入。然后,分組接收單元101再次將寫入了的狀態(tài)矩陣存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中。另外,分組接收單元101從狀態(tài)/代碼存儲(chǔ)單元103中取出代碼數(shù)據(jù)矩陣,將代碼存儲(chǔ)在coded,2)中。然后,分組接收單元101再次將存儲(chǔ)代碼的代碼數(shù)據(jù)矩陣存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中。 此時(shí),在由10比特表示的情況下,循環(huán)地取0 1023的值,因此注意到基準(zhǔn)號“1023”的后面是“0、1、2... ”,可靠地檢測時(shí)間的先后。另外,分組接收單元101在接收到不能使用的分組的情況下,將其丟棄。這里,所謂不能使用的分組是指,例如在上述例子的情況下,如果基準(zhǔn)號為“761”、及接收到的代碼的幀號為“760”,則合成完畢,該代碼到達(dá)太晚,因此沒有使用的路徑。因此,在該情況下,分組接收單元101不存儲(chǔ)基準(zhǔn)號以下的幀號的代碼,而將其丟棄。通過該處理,能夠避免以后的解碼處理的浪費(fèi)。并且,不能使用的分組是指不能生成合成音,但實(shí)際上可用于生成該幀以后的幀的解碼所需的濾波器或預(yù)測所需的狀態(tài)(state)。在該情況下,所生成的狀態(tài)是解碼所需的重要信息,在獲得了代碼時(shí)優(yōu)選進(jìn)行狀態(tài)的生成。幀號存儲(chǔ)單元102存儲(chǔ)與從合成單元112輸入的當(dāng)前由揚(yáng)聲器113輸出的語音對應(yīng)的分組的幀號。狀態(tài)/代碼存儲(chǔ)單元103存儲(chǔ)狀態(tài)矩陣,該狀態(tài)矩陣表示各個(gè)幀的每層的通信狀況、以及各個(gè)幀的每層的代碼是否解碼完畢。狀態(tài)矩陣是表示狀態(tài)的3級的數(shù)值的2維矩陣。具體而言,“0”表示分組未到達(dá)語音解碼裝置100,“1”表示雖然分組到達(dá)語音解碼裝置(即,在分組接收單元101中分組已解碼,取出了代碼(也稱為編碼信息))但代碼(編碼信息)未解碼,“2”表示代碼(編碼信息)已解碼。另外,狀態(tài)/代碼存儲(chǔ)單元103將分組接收單元101接收到的代碼作為代碼數(shù)據(jù)矩陣存儲(chǔ)。此外,關(guān)于狀態(tài)矩陣及代碼數(shù)據(jù)矩陣,在后面進(jìn)行敘述。
層選擇單元104參照定時(shí)器單元107計(jì)測的時(shí)間,并且參照存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中的狀態(tài)矩陣,決定接下來解碼的幀號(相對的幀號)和層號。然后,層選擇單元104將決定了的幀號和層號通知給解碼單元105。另外,層選擇單元104在從時(shí)間限制判定單元108接收到解碼的結(jié)束通知的情況下,結(jié)束規(guī)定時(shí)間(例如4個(gè)幀)內(nèi)的幀的解碼處理,開始下一個(gè)規(guī)定時(shí)間內(nèi)的幀的解碼處理。另外,層選擇單元104在重新開始解碼時(shí)將 “解碼開始”通知給時(shí)間限制判定單元108。另外,層選擇單元104根據(jù)從合成單元112輸入的合成音的解碼結(jié)果而選擇幀和層。關(guān)于決定解碼的幀號和層號的方法,在后面進(jìn)行敘述。解碼單元105參照從層選擇單元104通知的幀號和層號,將存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中的代碼數(shù)據(jù)矩陣Code(i,j)的代碼(編碼信息)根據(jù)規(guī)定的算法(在本實(shí)施方式中進(jìn)行ITU-T標(biāo)準(zhǔn)G. 718的解碼,算法在非專利文獻(xiàn)1中有所記載,因此省略說明)進(jìn)行解碼,得到時(shí)間序列的合成音yt、或頻譜的合成音zf。另外,解碼單元105參照幀號,對于存儲(chǔ)在合成音存儲(chǔ)單元106中的合成音矩陣syn(i,t)或spec (i,f),寫入得到的合成音yt 或 。式⑴及式⑵示出該處理?!ぴ搶拥暮铣梢魹闀r(shí)間序列的情況syn(i, t) = syn(i, t)+yt t = 0. . . L (1)L 合成音的幀長度·該層的合成音為頻譜的情況spec(i, f) = spec(i, f)+zf f = 0. . . M (2)Μ:合成音的頻譜長度S卩,解碼單元105在由層選擇單元104選擇出的幀(在(1)式及( 式中是幀號 i)中,將對由層選擇單元104選擇出的層的代碼進(jìn)行解碼所得的解碼結(jié)果(時(shí)間序列的合成音yt、或頻譜的合成音zf)與代碼解碼完畢的其他層的解碼結(jié)果(合成音矩陣syn(i,t) 或speC(i,f))進(jìn)行合成,得到合成音。然后,解碼單元105將通過上述處理而寫入了合成音的合成音矩陣syn(i,t)或Spec(i,f)再次存儲(chǔ)在合成音存儲(chǔ)單元106中。然后,解碼單元105取出存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中的狀態(tài)矩陣,將幀號i及層號j的值從“1” 改寫成“2”,將改寫后的狀態(tài)矩陣再次存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中。由此,通過參照狀態(tài)矩陣,得知幀號i及層號j的代碼解碼完畢。另外,解碼單元105在規(guī)定時(shí)間的解碼處理結(jié)束了的情況下,將“解碼完畢”通知給時(shí)間限制判定單元108。合成音存儲(chǔ)單元106存儲(chǔ)隨著解碼的進(jìn)行而在解碼單元105中依序被改寫的合成音矩陣。在可擴(kuò)展編碼解碼器中相加了層的合成音所得的合成音是最終的合成音,因此,合成音存儲(chǔ)單元106對于每幀具有1幀長度的合成音緩沖器。但是,在本實(shí)施方式中,劃分緩沖器來存儲(chǔ)時(shí)間序列的信號和頻譜的信號。其原因在于,一般情況下,在主要由高層使用的變換編碼的層中,將各層的合成音通過頻譜(例如MDCT(Modified Discrete Cosine Transform,改進(jìn)離散余弦變換)頻譜)進(jìn)行相加,最后進(jìn)行逆變換(例如IDCT(Inverse Discrete Cosine Transform,離散余弦逆變換)),變換成時(shí)間序列。關(guān)于合成音矩陣,將在后面敘述。定時(shí)器單元107具有計(jì)測時(shí)間的功能,具有根據(jù)計(jì)測的實(shí)際時(shí)間使表示設(shè)定了的時(shí)間的數(shù)值T趨于0而精確地減少的功能。定時(shí)器單元107的時(shí)刻能夠從外部觀察,并且還能重新設(shè)定時(shí)間T。在從揚(yáng)聲器113輸出合成音的期間內(nèi)進(jìn)行解碼處理,定時(shí)器單元107 具有計(jì)測到進(jìn)行下次合成為止的時(shí)間的功能。定時(shí)限制判定單元108參照定時(shí)器單元107示出的數(shù)值T,在數(shù)值T為下限值Tlimit 以上的情況下可繼續(xù)解碼進(jìn)程,因此將該情況通知給層選擇單元104。S卩,在成為時(shí)間下限值Tlimit為止繼續(xù)解碼進(jìn)程。另外,時(shí)間限制判定單元108在數(shù)值T小于下限值Tlimit的情況下,將“解碼處理結(jié)束”通知給層選擇單元104。另外,時(shí)間限制判定單元108從層選擇單元104接收解碼開始通知,由此開始比較定時(shí)器單元107示出的數(shù)值T和下限值Tlimit。這里,下限值Tlimit是預(yù)先決定的常數(shù)。在定時(shí)器單元107中,設(shè)定了的時(shí)間趨于0而不斷減少,在該時(shí)間小于某時(shí)間的情況下,如果不從解碼處理轉(zhuǎn)移到生成合成音的處理,則來不及進(jìn)行下一個(gè)合成音輸出。下限值Tlimit是表示該時(shí)間的常數(shù)。下限值Tlimit可根據(jù)“(合成音驗(yàn)證單元109的處理所花費(fèi)的時(shí)間)+ (補(bǔ)償單元110估計(jì)的必要時(shí)間內(nèi)的最大時(shí)間)+ (合成單元112向揚(yáng)聲器113輸出合成音的時(shí)間)+ (1層的解碼所花費(fèi)的時(shí)間的最大時(shí)間)”來求。合成音驗(yàn)證單元109從狀態(tài)/代碼存儲(chǔ)單元103取出狀態(tài)矩陣,參照接下來輸出的幀的狀態(tài)state (0,*)。另外,在全部為“2”的情況下,由于解碼在所有層中完畢,因此合成音驗(yàn)證單元109從合成音存儲(chǔ)單元106取出合成音矩陣syn(0,t)或speC(0,f)。另外, 合成音驗(yàn)證單元109對取出了的speC(0,f)的頻譜進(jìn)行逆變換(例如IDCT),得到時(shí)間序列的合成音,將得到的合成音與syn(0,t)相加,并將得到的(syn(0,t)、t = 0-L)輸出到合成單元112。在此之前,合成音驗(yàn)證單元109從層0向高的層參照狀態(tài)矩陣的狀態(tài)。此時(shí),如果存在不是“2”的層,則比該層高的層都沒有代碼而未被解碼,因此可能需要對未被解碼的層進(jìn)行補(bǔ)償處理。這里,需要進(jìn)行補(bǔ)償處理的情況是從層0起都沒有合成音的情況、 或在層2中頻率像頻率擴(kuò)展那樣發(fā)生變化的情況。與上述情況相對,在其他情況下,與補(bǔ)償導(dǎo)致的音質(zhì)惡化相比,因沒有高層的代碼(編碼信息)而無法將低層的編碼失真進(jìn)行解碼時(shí)的音質(zhì)惡化具有聽覺惡化較少的趨勢,因此一般情況下不需要進(jìn)行補(bǔ)償處理,而直接輸出合成音。合成音驗(yàn)證單元109在需要補(bǔ)償?shù)那闆r下,將合成音(syn(0,t)、t = 0_L)或 (spec(0, f), f = -Μ)輸出到補(bǔ)償單元110。補(bǔ)償單元110對于從合成音驗(yàn)證單元109輸入的合成音進(jìn)行補(bǔ)償處理。再有,沒有代碼時(shí)的補(bǔ)償處理的具體方法記載在非專利文獻(xiàn)1中,因此省略其說明。時(shí)鐘延遲檢測單元111監(jiān)視作為發(fā)送側(cè)的未圖示的語音編碼裝置和作為接收側(cè)的語音解碼裝置100間的時(shí)鐘偏差的大小,根據(jù)時(shí)鐘的偏差設(shè)定標(biāo)記(flag),通過標(biāo)記向合成單元112發(fā)送指示。具體而言,時(shí)鐘延遲檢測單元111在沒有時(shí)鐘偏差的情況下發(fā)送標(biāo)記“0”,在時(shí)鐘偏差沒有超過1幀但大于規(guī)定值的情況下,發(fā)送標(biāo)記“1”,在時(shí)鐘偏差超過 1幀的情況下發(fā)送標(biāo)記“2”。這樣,時(shí)鐘延遲檢測單元111將時(shí)鐘偏差轉(zhuǎn)換為標(biāo)記來發(fā)送, 對于合成單元112進(jìn)行指示。合成單元112在從合成音驗(yàn)證單元109輸入合成音的情況下立即將合成音傳輸?shù)綋P(yáng)聲器113的輸出用緩沖器。然后,合成單元112在進(jìn)行了 1幀的合成后,使所有的狀態(tài)前進(jìn)1幀。具體而言,合成單元112求將存儲(chǔ)在幀號存儲(chǔ)單元102中的基準(zhǔn)號加1后的數(shù)值, 在求出的數(shù)值超過上限值的情況下將0存儲(chǔ)在幀號存儲(chǔ)單元102中,在求出的數(shù)值未超過上限值的情況下將求出的數(shù)值存儲(chǔ)在幀號存儲(chǔ)單元102中。另外,進(jìn)行存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中的狀態(tài)矩陣和代碼數(shù)據(jù)矩陣、及存儲(chǔ)在合成音存儲(chǔ)單元106中的合成音矩陣的存儲(chǔ)器移位(memory shift)和初始化。然后,合成單元112將進(jìn)行了存儲(chǔ)器移位和初始化的狀態(tài)矩陣及代碼數(shù)據(jù)矩陣再次存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中,并且將進(jìn)行了存儲(chǔ)器移位和初始化的合成音矩陣再次存儲(chǔ)在合成音存儲(chǔ)單元106中。式C3)示出存儲(chǔ)器移位及初始化的方法。state (i,j) = state (i+1, j) i = 0 2 j = 0 4code (i,j) = code (i+1,j) i=0 2j = 0 4syn(i, t) = syn(i+l, t) i=0 2t = 0 Lspec (i,f) = spec (i+1,f) i=0 2f = 0 M上述存儲(chǔ)器移位后,進(jìn)行下述初始化。(3)state (3,j) = 0 j = 0 4code (3,j) = allO j = 0 4syn(3, t) = 0 t = 0 Lspec (3, f) = 0 f = 0 M另外,合成單元112將定時(shí)器單元107的時(shí)間T重新設(shè)定成揚(yáng)聲器113輸出1幀的合成音所需的時(shí)間。另外,合成單元112始終監(jiān)視從時(shí)鐘延遲檢測單元111發(fā)送的信號。 另外,在從時(shí)鐘延遲檢測單元111發(fā)來了調(diào)整指示的情況下,合成單元112在將合成音傳輸?shù)綋P(yáng)聲器113的輸出用緩沖器之前確認(rèn)輸出的合成音的功率。然后,合成單元112在判斷為過于超前而且合成音的功率為無聲區(qū)間的情況下(以下記為“狀態(tài)1”),先將無聲區(qū)間發(fā)送到揚(yáng)聲器113,然后發(fā)送當(dāng)前幀的合成音。另外,合成單元112在判斷為滯后而且合成音的功率為無聲區(qū)間的情況下,并且在合成音存儲(chǔ)單元106中2幀以上的合成音已經(jīng)被解碼的情況下(以下記為“狀態(tài)2”),不輸出當(dāng)前幀的合成音而將其丟棄,將第2合成音發(fā)送到揚(yáng)聲器113。合成單元112在“狀態(tài)2”的情況下,進(jìn)行再多1幀的存儲(chǔ)器移位處理。另外, 合成單元112在從時(shí)鐘延遲檢測單元111發(fā)來了調(diào)整指示的情況下而且不符合上述“狀態(tài) 1 ”及“狀態(tài)2”的情況下,一直等待到成為“狀態(tài)1 ”或“狀態(tài)2”為止,在無聲區(qū)間到來而成為了能夠應(yīng)對的定時(shí)之時(shí),進(jìn)行調(diào)整幀的輸出的處理。揚(yáng)聲器113具有2幀量的輸出緩沖器,具有使一幀量進(jìn)行數(shù)字/模擬(D/A)輸出同時(shí)等待向另一幀量的輸出緩沖器的輸入的功能。另外,在輸出緩沖器由比幀長度稍長的1 個(gè)觸發(fā)緩沖器(toggle buffer)構(gòu)成的情況下,有助于節(jié)約存儲(chǔ)器容量。在本實(shí)施方式的語音解碼裝置100中,如果不是1幀量即將被D/A輸出,則不會(huì)補(bǔ)充1幀的合成音,因此通過利用這種功能,能夠節(jié)約空閑的存儲(chǔ)器容量。接著,使用圖2說明決定解碼的幀號和層號的方法。圖2是表示決定解碼的幀號和層號的方法的流程圖。首先,層選擇單元104選擇相對的幀號0 (i = 0)的幀(步驟(以下稱為ST) 201), 判定相對的幀號是否大于“3”(ST202)。層選擇單元104在相對的幀號大于“3”的情況下 (ST202 “是”),返回到 ST201。另一方面,層選擇單元104在相對的幀號不大于“3”的情況下(ST202 “否”),選擇層號0(j = 0)的層(ST203),判定層號是否大于“4”(ST204)。在層號大于“4”的情況下(ST204 “是”),層選擇單元104選擇下一幀(ST205),進(jìn)行ST202的判定。另一方面,在層號不大于“4”的情況下(ST204:“否”),層選擇單元104通過參照狀態(tài)矩陣,對選擇的幀號i的層號j,判定是否存在表示雖然已到達(dá)但未解碼的序號 “1”(ST206)。其中,此時(shí),在即將參照狀態(tài)矩陣state(i,j)之前,必定重讀狀態(tài)/代碼存儲(chǔ)單元103的狀態(tài)矩陣的內(nèi)容。在每次判定時(shí)進(jìn)行重讀的原因在于,在分組到達(dá)分組接收單元101的情況下,通過優(yōu)先進(jìn)行處理的進(jìn)程150的分組接收單元101的功能,改寫了狀態(tài) /代碼存儲(chǔ)單元103的狀態(tài)矩陣的內(nèi)容。在存在序號“1”的情況下(ST206 “是”),層選擇單元104將該幀號i和層號j輸出到解碼單元105。另一方面,在不存在“1”號的情況下(ST206 “否”),層選擇單元104對選擇出的幀號i的層號j,搜索表示解碼完畢的“2”號,判定是否存在“2”號(ST207)。在存在“2”號的情況下(ST207:“是”),層選擇單元104選擇下一層(ST208),進(jìn)行ST204的判定。另一方面,在不存在“2”號的情況下(ST207 “否”),層選擇單元104選擇下一幀 (ST205),進(jìn)行ST202的判定。這樣,層選擇單元104通過參照狀態(tài)矩陣,對每個(gè)幀從低層到高層搜索表示雖然已到達(dá)但未解碼的“1”號。此時(shí),層選擇單元104在檢測到表示分組未到達(dá)的號“0”的情況下,即使搜索比其高的層也不能解碼,所以搜索下一幀。即,層選擇單元104對多個(gè)幀中的每一個(gè),搜索各個(gè)幀的多個(gè)層中的特定層(狀態(tài)矩陣的號“1”的層)或特定的最低層(狀態(tài)矩陣的號“1”的最低層),由此選擇所述特定層或所述特定最低層(圖2中的層號j)、以及包含特定的最低層或特定層的特定幀(圖2中的幀號i),所述特定層是比某層下位的所有層中取出的代碼均解碼完畢(狀態(tài)矩陣的號“2”)、且比該層高的層中取出的代碼未解碼的、不是最低層的層,所述特定低層是取出的代碼未解碼的特定的最低層。另外,層選擇單元104從幀0起向時(shí)間的行進(jìn)方向?qū)M(jìn)行搜索。即,層選擇單元104從多個(gè)幀中的時(shí)刻較早的幀(即,幀0)起依序進(jìn)行所述搜索。另外,層選擇單元104在層的號超過層數(shù)后開始下一幀的搜索,在幀號超過幀數(shù)后返回到最初的幀,繼續(xù)搜索。該處理在理論上是無限循環(huán),在優(yōu)先進(jìn)行處理的進(jìn)程170的定時(shí)器單元107中的數(shù)值T小于下限值Tlimit的情況下, 作為中斷處理,必須輸出下一個(gè)合成音。因此,層選擇單元104判定定時(shí)器單元107的數(shù)值 T是否小于下限值Tlimit (ST209),在定時(shí)器單元107的數(shù)值T小于下限值Tlimit的情況下,向時(shí)間限制判定單元108通知中斷處理。但是,在該中斷處理中,不返回剛剛中斷了的原來的步驟。其原因在于,通過進(jìn)行合成,前進(jìn)了 1幀,因此由于合成單元112的動(dòng)作,狀態(tài)/代碼存儲(chǔ)單元103和合成音存儲(chǔ)單元106的存儲(chǔ)器內(nèi)容發(fā)生了很大變化。至此,結(jié)束決定要解碼的幀號和層號的方法的說明。圖3是表示一例狀態(tài)矩陣的圖。在圖3中,幀0是應(yīng)近前輸出的合成音的代碼的各層的狀態(tài)。幀1是在幀0之后輸出的合成音的代碼的各層的狀態(tài)。這樣,狀態(tài)矩陣存儲(chǔ)以后輸出的合成音的代碼的狀態(tài)。圖4是表示一例狀態(tài)矩陣code (i,j)的圖。圖4表示存儲(chǔ)了在圖3的狀態(tài)矩陣的狀態(tài)下接收到的代碼。在圖4中,對分組已到達(dá)語音解碼裝置100的幀及層標(biāo)注了陰影,并且對分組未到
11達(dá)語音解碼裝置100的幀及層標(biāo)注了空白。通過將這些代碼進(jìn)行解碼,得到合成音(解碼音)。在上述內(nèi)容中,幀0是即將輸出的合成音的代碼。幀1是在幀0之后輸出的合成音的代碼。這樣,存儲(chǔ)以后輸出的合成音的代碼。圖5和圖6是表示一例合成音矩陣的圖。圖5是表示圖4的代碼數(shù)據(jù)矩陣的狀態(tài)下的合成音矩陣syn(i,t)的圖。另外,圖6是表示圖4的代碼數(shù)據(jù)矩陣的狀態(tài)下的合成音矩陣speC(i,f)的圖。在圖5及圖6中,幀2由于層0的代碼未到達(dá)而沒有合成音,幀3由于代碼已到達(dá)但未解碼而沒有合成音。幀0及幀1由于層0的代碼已解碼而存在合成音。這里,幀0是即將輸出的合成音。幀1是在幀0之后輸出的合成音,這樣,存儲(chǔ)以后輸出的合成音。艮口, 在本實(shí)施方式中,除了即將輸出的幀0以外,還能夠?qū)⒃趲?之后輸出的幀1的合成音進(jìn)行解碼。再有,揚(yáng)聲器113在所有進(jìn)程的期間內(nèi)持續(xù)輸出1幀長度的合成音。這樣,根據(jù)本實(shí)施方式,盡可能提前地進(jìn)行解碼處理而提前生成合成音,因此能夠在規(guī)定時(shí)間內(nèi)連續(xù)地將處理器用于其他用途,并且即使由于緊急中斷將處理器用于其他用途,也能夠不間斷地生成合成音。(實(shí)施方式2)在本實(shí)施方式中,語音解碼裝置還判定各個(gè)幀是否是無聲區(qū)間,根據(jù)是否是無聲區(qū)間,選擇應(yīng)解碼的幀及層。圖7是表示本實(shí)施方式的語音解碼裝置200的結(jié)構(gòu)的方框圖。圖7所示的語音解碼裝置200具有與實(shí)施方式1示出的語音解碼裝置100(圖1)相同的基本結(jié)構(gòu),對相同的結(jié)構(gòu)要素附加相同的標(biāo)號,省略其說明。無聲標(biāo)記存儲(chǔ)單元201存儲(chǔ)隨著解碼的進(jìn)行而在解碼單元203中生成的無聲標(biāo)記。這里,無聲標(biāo)記sflag(i)是表示幀號i的幀的狀態(tài)的3級的數(shù)值。具體而言,“0”表示到層2為止代碼(編碼信息)未被解碼,“1”表示到層2為止代碼(編碼信息)被解碼、并且合成音是有聲還是無聲的判定(以下稱為有聲/無聲判定)的判定結(jié)果是有聲,“2”表示到層2為止代碼(編碼信息)被解碼、并且合成音是有聲/無聲判定的判定結(jié)果是無聲。層選擇單元202與實(shí)施方式1的層選擇單元104相同,參照定時(shí)器單元107計(jì)測的時(shí)間,并且參照存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中的狀態(tài)矩陣及存儲(chǔ)在無聲標(biāo)記存儲(chǔ)單元201中的無聲標(biāo)記,決定接下來要解碼的幀號(相對的幀號)和層號。然后,層選擇單元 202將決定了的幀號和層號通知給解碼單元203。關(guān)于層選擇單元202中的決定要解碼的幀號和層號的方法,在后面進(jìn)行敘述。解碼單元203與實(shí)施方式1的解碼單元105相同,參照從層選擇單元202通知了的幀號和層號,根據(jù)規(guī)定的算法(在本實(shí)施方式中進(jìn)行ITU-T標(biāo)準(zhǔn)G. 718的解碼,算法在非專利文獻(xiàn)1中有所記載,因此省略說明),將存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中的代碼數(shù)據(jù)矩陣COde(i,j)的代碼(編碼信息)進(jìn)行解碼,得到時(shí)間序列的合成音yt、或頻譜的合成音 ^。另外,解碼單元203與實(shí)施方式1相同,參照幀號,按照式(1)及式0),對于存儲(chǔ)在合成音存儲(chǔ)單元106中的合成音矩陣syn(i,t)或speC(i,f)寫入得到的合成音yt或、。在本實(shí)施方式中,作為一例,使用ITU-T標(biāo)準(zhǔn)G. 718的5層(層0 層4)的可擴(kuò)展編碼解碼器。該情況下,層2是合成音從窄頻帶變化成寬頻帶的層,并且是合成音從時(shí)間序列變化成頻譜的層。因此,解碼單元203將到層0,1為止的合成音寫入時(shí)間序列的合成音矩陣即syn(i,t),將層2 4為止的合成音寫入頻譜的合成音矩陣即SpeC(i,f)。另外,在層2的合成音被寫入時(shí),矩陣的存儲(chǔ)器被清零。另外,通過IMDCT(Inverse Modified Discrete Cosine Transform,改進(jìn)離散余弦逆變換),將頻譜spec (i,f)變換為時(shí)間序列, 將變換后的合成音與時(shí)間序列的合成音矩陣syn(i,t)相加,由此計(jì)算層2以上的最終的合成首。然后,解碼單元203將通過上述處理而寫入了合成音的合成音矩陣syn(i,t)或 spec(i, f)再次存儲(chǔ)在合成音存儲(chǔ)單元106中。然后,解碼單元203取出存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中的狀態(tài)矩陣,將幀號i及層號j的值從“1”改寫成“2”,將改寫后的狀態(tài)矩陣再次存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中。由此,可通過參照狀態(tài)矩陣,得知幀號i及層號j的代碼解碼完畢。另外,解碼單元203在解碼了的代碼的層號j為“2”的情況下,判定幀號i的幀是否是無聲區(qū)間(進(jìn)行合成音的有聲/無聲判定)。然后,解碼單元203將無聲標(biāo)記Sflag(i) 輸出到無聲標(biāo)記存儲(chǔ)單元201中,該無聲標(biāo)記sflag (i)表示對幀號i的合成音的有聲/無聲判定的判定結(jié)果。這里,在本實(shí)施方式中,作為一例,使用了 ITU-T標(biāo)準(zhǔn)G. 718的5層(層0 層 4)的可擴(kuò)展編碼解碼器,將層0,1設(shè)為窄頻帶OOOHz 3. 4kHz),將層2 4設(shè)為寬頻帶 (IOHz 7kHz)。因此,解碼單元203在從層0起依序進(jìn)行解碼時(shí),直到解碼到層2為止,可得到寬頻帶的合成音。因此,如果解碼單元203解碼到層2為止,則能夠判定其幀是有聲還是無聲。換言之,解碼單元203如果僅通過層0、1,是無法檢測有無高頻帶成分的,因此無法進(jìn)行該幀的有聲/無聲判定。因此,解碼單元203根據(jù)解碼到層2為止所得的合成音,即時(shí)間序列的合成音矩陣syn(i,t)及頻譜的合成音矩陣specif),進(jìn)行有聲/無聲判定。然后,解碼單元203對每幀(這里是4幀(幀0 3))用數(shù)值(“0” “2”)標(biāo)示無聲標(biāo)記, 該無聲標(biāo)記表示判定結(jié)果。關(guān)于解碼單元203的有聲/無聲判定處理的詳細(xì)情況,在后面進(jìn)行敘述。合成音驗(yàn)證單元204從狀態(tài)/代碼存儲(chǔ)單元103取出狀態(tài)矩陣,參照接下來輸出的幀的狀態(tài)state (0, *)。另外,在幀的狀態(tài)state (0, *)全部為“2”的情況下,由于幀號i =0的代碼(編碼信息)的解碼在所有層中完畢,因此合成音驗(yàn)證單元204從合成音存儲(chǔ)單元106中取出合成音矩陣syn(0,t)或speC(0,f)。另外,合成音驗(yàn)證單元204將取出的 spec(0, f)的頻譜進(jìn)行逆變換(例如IDCT),得到時(shí)間序列的合成音,并將得到的合成音與 syn(0,t)相加,將作為相加結(jié)果的合成音(syn(0,t)、t = 0-L)輸出到合成單元205。在此之前,合成音驗(yàn)證單元204從層0向高層參照狀態(tài)矩陣的狀態(tài)。此時(shí),如果存在狀態(tài)矩陣的狀態(tài)不是“2”的層,則比該層高的層都沒有代碼而未被解碼,因此可能需要對未被解碼的層進(jìn)行補(bǔ)償處理。這里,需要進(jìn)行補(bǔ)償處理的情況是從層0起就全部沒有合成音的情況、或在層2中頻率像頻率擴(kuò)展那樣發(fā)生變化的情況。對于上述情況,在其他情況下,與補(bǔ)償導(dǎo)致的音質(zhì)惡化相比,因沒有高層的代碼(編碼信息)而無法將低層的編碼失真進(jìn)行解碼時(shí)的音質(zhì)惡化具有聽覺惡化較少的趨勢,因此一般情況下不需要進(jìn)行補(bǔ)償處理,而直接輸出合成音。另外,在存儲(chǔ)在無聲標(biāo)記存儲(chǔ)單元201中的無聲標(biāo)記中的、與幀號i = 0(即,下一個(gè)輸出的幀)對應(yīng)的無聲標(biāo)記Sflag(O)為“2”的情況下,即到層2為止的解碼完成并且判定為無聲的情況下,不進(jìn)行補(bǔ)償單元110對層3、4的補(bǔ)償處理,合成音驗(yàn)證單元204將合成音輸出到合成單元205。另一方面,合成音驗(yàn)證單元204在需要補(bǔ)償?shù)那闆r下,將合成音(syn (0, t)、t = 0-L)或(spec(0,f), f = -Μ)輸出到補(bǔ)償單元 110。合成單元205與實(shí)施方式1的合成單元112相同,在從合成音驗(yàn)證單元204輸入了合成音的情況下立即將合成音傳輸?shù)綋P(yáng)聲器113的輸出用緩沖器。然后,合成單元205 在進(jìn)行了 1幀量的合成后,使所有的狀態(tài)前進(jìn)1幀。另外,與實(shí)施方式1相同,按照式(3), 進(jìn)行存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中的狀態(tài)矩陣和代碼數(shù)據(jù)矩陣、及存儲(chǔ)在合成音存儲(chǔ)單元106中的合成音矩陣的存儲(chǔ)器移位和初始化。然后,合成單元205將進(jìn)行了存儲(chǔ)器移位和初始化后的狀態(tài)矩陣及代碼數(shù)據(jù)矩陣再次存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103中,并且將進(jìn)行了存儲(chǔ)器移位和初始化后的合成音矩陣再次存儲(chǔ)在合成音存儲(chǔ)單元106中。此外,進(jìn)行存儲(chǔ)在無聲標(biāo)記存儲(chǔ)單元201中的無聲標(biāo)記的存儲(chǔ)器移位及初始化。然后,合成單元205 將進(jìn)行了存儲(chǔ)器移位及初始化后的無聲標(biāo)記再次存儲(chǔ)在無聲標(biāo)記存儲(chǔ)單元201中。式(4) 示出無聲標(biāo)記的存儲(chǔ)器移位及初始化的方法。sflag(i) = sflag(i+l) i = 0 2上述存儲(chǔ)器移位后,進(jìn)行下述初始化。(4)sflag (3) = 0另外,合成單元205與實(shí)施方式1的合成單元112相同,將定時(shí)器單元107的時(shí)間 T重新設(shè)定成揚(yáng)聲器113輸出1幀的合成音所需的時(shí)間。另外,合成單元205始終監(jiān)視從時(shí)鐘延遲檢測單元111發(fā)送的信號。另外,在從時(shí)鐘延遲檢測單元111發(fā)來了調(diào)整指示的情況下,如果調(diào)整指示為“過于超前”而且來自無聲標(biāo)記存儲(chǔ)單元201的無聲標(biāo)記為“2”(無聲區(qū)間)(以下記為“狀態(tài)1”),則合成單元205先將無聲區(qū)間發(fā)送到揚(yáng)聲器113,然后發(fā)送當(dāng)前幀的合成音。另外,合成單元205在調(diào)整指示為“滯后”而且來自無聲標(biāo)記存儲(chǔ)單元201 的無聲標(biāo)記為“2”的情況下,并且在合成音存儲(chǔ)單元106中2幀以上的合成音已經(jīng)被解碼的情況下(以下記為“狀態(tài)2”),不輸出當(dāng)前幀的合成音而將其丟棄,將第2個(gè)合成音發(fā)送到揚(yáng)聲器113。合成單元205在狀態(tài)2的情況下,進(jìn)行再多1幀的存儲(chǔ)器移位處理。另外, 合成單元205在從時(shí)鐘延遲檢測單元111發(fā)來了調(diào)整指示的情況下而且不符合上述“狀態(tài) 1”及“狀態(tài)2”的情況下,等待到成為“狀態(tài)1”或“狀態(tài)2”為止,在無聲標(biāo)記為“2”的區(qū)間 (無聲區(qū)間)到來而成為能夠應(yīng)對的定時(shí)時(shí),進(jìn)行調(diào)整幀的輸出的處理。接著,使用圖8說明層選擇單元202的決定解碼的幀號和層號的方法。圖8是表示決定解碼的幀號和層號的方法的流程圖。在圖8中,對與圖2所示的流程圖相同的處理附加相同的標(biāo)號,并省略說明。首先,層選擇單元202選擇相對的幀號0 (i = 0)的幀(ST301),判定相對的幀號是否大于“3”(ST302)。層選擇單元202在相對的幀號大于“3”的情況下(ST302 “是”),進(jìn)入 ST201。另一方面,層選擇單元202在相對的幀號不大于“3”的情況下(ST302 “否”),選擇層號0(j = 0)的層(ST303)。另外,層選擇單元202判定層號j是否大于“4”或?qū)犹杍 是否大于“2”而且無聲標(biāo)記sflag(i)是否為“2”(ST304)。其中,此時(shí),在即將參照狀態(tài)矩陣state(i,j)之前,必定重讀狀態(tài)/代碼存儲(chǔ)單元201的狀態(tài)矩陣的內(nèi)容。在每次判定時(shí)重讀無聲標(biāo)記的內(nèi)容的原因在于,需要使用最新的無聲標(biāo)記的內(nèi)容進(jìn)行判定,無聲標(biāo)記存儲(chǔ)單元201的內(nèi)容有可能已被解碼單元203以及合成單元205改寫。
在層號大于“4”的情況下或?qū)犹杍大于“2”而且無聲標(biāo)記sflag(i)為“2”的情況下(ST304 “是”),層選擇單元202選擇下一幀(ST305),進(jìn)行ST302的判定。另一方面,在層號不大于“4”而且層號j不大于“2”并且無聲標(biāo)記sflag(i)不為 “2”的情況下(ST304 “否”),層選擇單元202通過參照狀態(tài)矩陣state (i, j),對選擇出的幀號i的層號j,判定是否存在號“ 1”,該號“ 1”表示雖然已到達(dá)(即,分組已解碼,取出了代碼(編碼信息))但代碼(編碼信息)未被解碼。其中,此時(shí),在即將參照狀態(tài)矩陣state(i, j)之前,與實(shí)施方式1 (圖2所示的ST206及207)相同,必定重讀狀態(tài)/代碼存儲(chǔ)單元103 的狀態(tài)矩陣的內(nèi)容。在存在號“1”的情況下(ST306 “是”),層選擇單元202將該幀號i和層號j輸出到解碼單元203。另一方面,在不存在號“ 1,,的情況下(ST306 “否”),層選擇單元202對選擇出的幀號i的層號j,搜索表示解碼完畢的號“2”,判定是否存在號“2” (ST307)。在存在號“2”的情況下(ST307 “是”),層選擇單元202選擇下一層(ST308),進(jìn)行ST304的判定。另一方面,在不存在號“2”的情況下(ST307 “否”),層選擇單元202選擇下一幀 (ST305),進(jìn)行ST302的判定。另外,層選擇單元202在ST202中相對的幀號大于“3”的情況下(ST202 “是”), 返回到ST301。這樣,層選擇單元202通過參照狀態(tài)矩陣及無聲標(biāo)記,對每幀從低層到高層,在 state (i, j)中搜索號“1”,該號“1”表示分組已到達(dá)但從分組中取出的代碼(編碼信息) 仍未被解碼。此時(shí),層選擇單元202在檢測到表示分組未到達(dá)的號“0”的情況下,由于即使在檢測到“0”的幀中搜索比其高的層也不能解碼,因此搜索下一幀。另外,作為在層選擇單元202中決定解碼的代碼的幀號及層號的算法,如圖8所示,將近似了的結(jié)構(gòu)的2種算法(圖8所示的ST301 308的算法、及ST201 208的算法)串行地連結(jié)。這里,在圖8所示的ST301 308中,層選擇單元202在判定為搜索的幀是無聲區(qū)間的情況下(圖8所示的ST304 “是”),中止該幀的搜索,轉(zhuǎn)移到下一幀的搜索。 即,層選擇單元202在層號j大于4的情況(搜索了該幀的所有層的情況)和層號j大于 2(層3以上)而且無聲標(biāo)記sflag(i)為“2”(無聲區(qū)間)的情況下,都中止該幀的搜索, 轉(zhuǎn)移到下一幀的搜索。即,層選擇單元202在多個(gè)幀中的、無聲標(biāo)記Sflag(i)為“2”的幀 (有聲/無聲判定的判定結(jié)果顯示為無聲區(qū)間的幀)以外的幀中,進(jìn)行狀態(tài)矩陣的號為“1” 的層的搜索。即,層選擇單元202在無聲標(biāo)記sflag(i)為“2”的情況下,判斷為通過對層 3、4的代碼的解碼所得的合成音的功率非常小,并判斷為對層3、4的代碼的解碼的必要性低。另一方面,在圖8所示的ST201 208中,層選擇單元202在ST301 308的幀搜索中未發(fā)現(xiàn)具有應(yīng)解碼的代碼的層的情況下(圖8所示的ST302 “是”),不參照無聲標(biāo)記 sflag (i),而僅參照狀態(tài)矩陣state (i,j),再次搜索表示已到達(dá)但未解碼的號“ 1 ”。S卩,層選擇單元202在圖8所示的ST301 308中通過參照無聲標(biāo)記,降低作為無聲區(qū)間的幀的高層(層3、4)的代碼的解碼優(yōu)先級(即,跳過高層的代碼的解碼),進(jìn)行其他幀的搜索。然后,層選擇單元202在未發(fā)現(xiàn)具有應(yīng)解碼的代碼的層的情況下,在圖8所示的ST201 208中對所有層搜索具有應(yīng)解碼的代碼的層。至此,結(jié)束決定解碼代碼的幀號和層號的方法的說明。接著,詳細(xì)說明解碼單元203的有聲/無聲判定處理。圖9是表示本實(shí)施方式的解碼單元203的內(nèi)部結(jié)構(gòu)中的進(jìn)行有聲/無聲判定處理的結(jié)構(gòu)單元的結(jié)構(gòu)的方框圖。在圖9中,振幅搜索單元231從合成音存儲(chǔ)單元106中取出時(shí)間序列的合成音 syn(i, t)及頻譜的合成音speC(i,f)。然后,振幅搜索單元231搜索合成音syn(i,t)及 spec(i,f)各自振幅的最大值。具體而言,振幅搜索單元231通過比較合成音syn(i,t)或 spec(i, f)的各信號值的絕對值,搜索合成音syn(i,t)及speC(i,f)各自振幅的最大值。 這里,將syn (i,t)的最大振幅設(shè)為maxsyn (i),將spec (i,f)的最大振幅設(shè)為maxspec (i)。 并且,振幅搜索單元231將作為搜索結(jié)果的maxSyn(i)及maXSpec(i)輸出到比較單元233。常數(shù)存儲(chǔ)單元232存儲(chǔ)對合成音syn (i,t)及spec (i,f)各自的常數(shù)。這里,將對 syn(i,t)的常數(shù)設(shè)為Msyn,將對spec(i,f)的常數(shù)設(shè)為Mspec。2個(gè)常數(shù)Msyn及Mspec預(yù)先被設(shè)定為可在聽覺上判斷為無聲的十分小的值。比較單元233將從振幅搜索單元231輸入的maxsyn (i)及maxspec (i)和存儲(chǔ)在常數(shù)存儲(chǔ)單元232中的常數(shù)Msyn及Mspec分別進(jìn)行比較。S卩,比較單元233比較maxsyn (i) 與Msyn,并且比較maxspec(i)與Mspec。然后,比較單元233在比較的結(jié)果為maxsyn (i) 小于Msyn、且maxspec (i)小于Mspec的情況下,將幀號i的幀判斷為無聲,生成“2”作為無聲標(biāo)記sflag(i)。另一方面,比較單元233在上述以外的情況下,將幀號i的幀判斷為有聲,生成“1”作為無聲標(biāo)記sflag(i)。然后,比較單元233將生成的無聲標(biāo)記sflag(i)輸出到無聲標(biāo)記存儲(chǔ)單元201中。這樣,解碼單元203僅在某幀的所有合成音小于預(yù)先設(shè)定了的振幅(常數(shù))的情況下,判定為該幀無聲。換言之,解碼單元203在即使某幀的任意一個(gè)合成音為預(yù)先設(shè)定的振幅(常數(shù))以上的情況下,也會(huì)判定為該幀有聲。另外,解碼單元203分別進(jìn)行時(shí)間序列的合成音syn(i,t)及頻譜的合成音speC(i,f)的有聲/無聲判定,僅在判定為兩者是無聲的情況下,判定為幀號i的幀是無聲。換言之,解碼單元203即使在判定為時(shí)間序列的合成音syn(i,t)及頻譜的合成音specif)中任意一個(gè)為有聲的情況下,也會(huì)判定為幀號i 的幀是有聲。這樣,語音解碼裝置200通過使用解碼單元203中的層2的解碼時(shí)得到的無聲標(biāo)記,估計(jì)層3、4的代碼(編碼信息)的重要性。具體而言,語音解碼裝置200在無聲標(biāo)記表示無聲區(qū)間的情況(“2”的情況)下,估計(jì)為層3、4的代碼的重要性較小。其原因在于,在可擴(kuò)展編碼解碼器中,低層的編碼誤差(編碼失真)在高層中被編碼,因此越是高層,則功率期望值越小。即,對于層2的解碼時(shí)被判定為無聲區(qū)間的幀,即使將對層2的高層即層3、 4的代碼(編碼信息)進(jìn)行解碼所得的合成音和低層的合成音相加,加算結(jié)果也很有可能被判定為無聲區(qū)間。因此,語音解碼裝置200降低對無聲標(biāo)記為“2”(即無聲區(qū)間)的幀的層 3、4的代碼的解碼優(yōu)先級(即,跳過對層3、4的代碼的解碼),由此能夠高效地進(jìn)行可擴(kuò)展編碼解碼器的解碼。圖10是表示一例無聲標(biāo)記sflag(i)的圖。圖10是圖3所示的狀態(tài)矩陣的狀態(tài)及圖4所示的代碼數(shù)據(jù)矩陣的狀態(tài)的情況下存儲(chǔ)在無聲標(biāo)記存儲(chǔ)單元201中的無聲標(biāo)記。在圖10所示的幀0中,如圖3所示那樣,解碼到層2的代碼為止,因此進(jìn)行了有聲/無聲判定。在圖10中,幀0是表示語音為有聲的“1”。另一方面,關(guān)于圖10所示的幀1 3,如圖3所示那樣,未將層2以后的代碼進(jìn)行解碼,因此未進(jìn)行有聲/無聲判定。因此,在圖10中,幀1 3是表示未將層2以后的代碼進(jìn)行解碼的“0”。這樣,在本實(shí)施方式中,與實(shí)施方式1相同,語音解碼裝置在搜索具有應(yīng)解碼的代碼的層時(shí),在各個(gè)幀中不進(jìn)行高于分組未到達(dá)的層的高層的搜索,就搜索下一幀。并且,語音解碼裝置在搜索具有應(yīng)解碼的代碼的層時(shí),在各個(gè)幀的某層中判定為無聲區(qū)間的情況下,不進(jìn)行高于該層的高層的搜索,就搜索下一幀。由此,根據(jù)本實(shí)施方式,與實(shí)施方式1相比,進(jìn)一步提前地進(jìn)行解碼處理來提前生成合成音,因此能夠在規(guī)定時(shí)間內(nèi)連續(xù)地將處理器用于其他用途,并且即使由于緊急中斷將處理器用于其他用途,也能夠不間斷地生成合成首。以上對本發(fā)明的各實(shí)施方式進(jìn)行了說明。在上述實(shí)施方式中,說明了將4幀及5層的代碼進(jìn)行解碼的情況,但本發(fā)明不限于此,可應(yīng)用于各種層數(shù)的可擴(kuò)展編碼解碼器。例如,ITU-T標(biāo)準(zhǔn)G. 729. 1的可擴(kuò)展編碼解碼器由12層構(gòu)成,因此在上述實(shí)施方式中,也可與該規(guī)格相配。即,本發(fā)明不取決于層數(shù)。另外,幀數(shù)也可根據(jù)系統(tǒng)來進(jìn)行各種變更。在使用多幀的代碼數(shù)據(jù)矩陣時(shí),即使分組分散地到達(dá),也有與其幀數(shù)相應(yīng)的余量,因此使用發(fā)送的所有代碼數(shù)據(jù)進(jìn)行高質(zhì)量的解碼的概率提高,并且分組不會(huì)浪費(fèi)。在根據(jù)系統(tǒng)的性能需要盡量減少分組的處理延遲的情況下,只要調(diào)整幀數(shù)減少延遲即可。即,本發(fā)明不取決于幀數(shù)。另外,在上述實(shí)施方式中,全部是使用了 5層,但本發(fā)明不限于此,即使是決定在語音解碼裝置中使用的層的最大數(shù)、將最大數(shù)的層的代碼的解碼結(jié)果合成而輸出生成了的合成音的規(guī)格,本發(fā)明也是有效的。在該情況下,在分組接收單元101中,可以丟棄不需要的高層的分組。即,本發(fā)明不取決于語音解碼裝置與語音編碼裝置的層數(shù)差異。另外,在上述實(shí)施方式中,利用合成單元112(或合成單元205)的功能,在存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103及合成音存儲(chǔ)單元106中的矩陣的更新時(shí)進(jìn)行了存儲(chǔ)器移位。但是,本發(fā)明不限于此,也可以對于幀循環(huán)地使用各矩陣的存儲(chǔ)器,不進(jìn)行存儲(chǔ)器移位。由此, 能夠節(jié)約存儲(chǔ)器移位的運(yùn)算量。另外,在上述實(shí)施方式中,公開了按照不同順序發(fā)送各層分組的情況,但本發(fā)明不限于此,即使在幾個(gè)層的代碼被匯總傳輸?shù)那闆r下,本發(fā)明也是有效的。原因在于,在該情況下,只要對存儲(chǔ)在狀態(tài)/代碼存儲(chǔ)單元103及合成音存儲(chǔ)單元106中的矩陣匯總讀寫即可。另外,即使不匯總讀寫,也可以將其匯總作為1層的代碼來處理。即,本發(fā)明不取決于傳輸?shù)姆纸M的層數(shù)。另外,在上述實(shí)施方式中,說明了如下情況在來不及對分組進(jìn)行合成的情況下, 或者例如層0、1的分組到達(dá)、層2的分組未到達(dá)、層3、4的分組到達(dá)的情況下,層3、4的分組的解碼結(jié)果不能應(yīng)用于合成。但是,本發(fā)明不限于此,能夠?qū)?、4的分組的解碼結(jié)果用于生成以后的幀的解碼時(shí)使用的濾波器或預(yù)測的狀態(tài)。由此,能夠確保以后的幀的解碼性能。另外,在上述實(shí)施方式中,說明了語音解碼裝置從多個(gè)幀中的時(shí)刻較早的幀(即, 幀號較小的幀)起依序搜索狀態(tài)矩陣的號為“1”的層的情況。但是,在本發(fā)明中,語音解碼裝置也可與幀號順序無關(guān)地選擇幀。
再者,上述實(shí)施方式是本發(fā)明的優(yōu)選實(shí)施方式的例證,本發(fā)明的范圍并不限定于此。只要是具有語音解碼裝置的系統(tǒng),則本發(fā)明可適用于任何情況。另外,在上述實(shí)施方式中說明的語音解碼裝置可搭載在移動(dòng)通信系統(tǒng)的通信終端裝置及基站裝置中,這樣,可提供具有與上述相同的作用效果的通信終端裝置、基站裝置及移動(dòng)通信系統(tǒng)。另外,在上述實(shí)施方式中,說明了以硬件構(gòu)成本發(fā)明的情況,但本發(fā)明也可通過軟件來實(shí)現(xiàn)。例如,通過編程語言記述本發(fā)明的算法,并預(yù)先將該程序存儲(chǔ)在存儲(chǔ)器中,由信息處理單元執(zhí)行該程序,從而可實(shí)現(xiàn)與本發(fā)明的語音解碼裝置等同樣的功能。另外,上述實(shí)施方式的各功能塊典型地通過集成電路的LSI (大規(guī)模集成電路)來實(shí)現(xiàn)。這些塊既可以被單獨(dú)地集成為一個(gè)芯片,也可以包含一部分或全部地被集成為一個(gè)芯片。另外,根據(jù)集成程度的不同,LSI有時(shí)也稱為IC(集成電路)、系統(tǒng)LSI、超大LSI (Super LSI)、或特大 LSI (Ultra LSI)等。另外,實(shí)現(xiàn)集成電路化的方法不僅限于LSI,也可使用專用電路或通用處理器來實(shí)現(xiàn)。也可以利用可在UI制造后編程的FPGA (Field Programmable Gate Array 現(xiàn)場可編程門陣列),或者可重構(gòu)LSI內(nèi)部的電路單元的連接或設(shè)定的可重構(gòu)處理器(Reconfigurable Processor)0再者,如果由于半導(dǎo)體技術(shù)的進(jìn)步或派生的別的技術(shù)而出現(xiàn)了替代LSI的集成電路化的技術(shù),則當(dāng)然也可以用該技術(shù)來進(jìn)行功能塊的集成化。還存在著適用生物技術(shù)等的可能性。在2009年3月13日提交的特愿第2009-060792號的日本專利申請及在2009年 7月15日提交的特愿第2009-166796號的日本專利申請所包含的說明書、附圖和說明書摘要的公開內(nèi)容,全部引用于本申請。工業(yè)實(shí)用性本發(fā)明的語音解碼裝置特別適合用于具有分層結(jié)構(gòu)的可擴(kuò)展編碼解碼器。
權(quán)利要求
1.語音解碼裝置,包括接收單元,在多個(gè)幀中接收在由多個(gè)層構(gòu)成的語音編碼裝置中生成了的各個(gè)層的代碼并進(jìn)行存儲(chǔ);以及解碼單元,將所述各個(gè)層的代碼進(jìn)行解碼, 所述語音解碼裝置還包括選擇單元,選擇與在未解碼狀態(tài)的所述各個(gè)層的代碼中的、最先進(jìn)行解碼的代碼對應(yīng)的幀號和層號,所述接收單元進(jìn)一步存儲(chǔ)表示所述各個(gè)層的代碼是否未接收、是否未解碼、或是否解碼完畢的解碼狀態(tài),并在輸入了更新指示的情況下進(jìn)行所述解碼狀態(tài)的更新,所述選擇單元通過搜索所述解碼狀態(tài),選擇與代碼對應(yīng)的所述幀號及所述層號,并且將所述解碼狀態(tài)的所述更新指示輸出到所述接收單元,所述代碼是在所述接收單元中存儲(chǔ)或更新了所述解碼狀態(tài)時(shí)所述解碼狀態(tài)為未解碼狀態(tài),在存儲(chǔ)或更新后最先進(jìn)行解碼的代碼,所述解碼單元將與所述幀號及所述層號對應(yīng)的代碼進(jìn)行解碼。
2.如權(quán)利要求1所述的語音解碼裝置,所述選擇單元在所述解碼狀態(tài)的搜索中,對于1幀,將所述解碼狀態(tài)為未解碼狀態(tài)的層中的、存在于比所述解碼狀態(tài)為解碼完畢的層高1層的層的代碼、或者所述1幀中的最低層的代碼作為最先進(jìn)行解碼的代碼,并選擇與所述最先進(jìn)行解碼的代碼對應(yīng)的所述幀號及所述層號,在對于所述1幀不能進(jìn)行所述選擇的情況下,對下一幀繼續(xù)進(jìn)行搜索。
3.如權(quán)利要求1所述的語音解碼裝置,還包括 判定單元,對每個(gè)幀判定是否為無聲區(qū)間;以及 判定結(jié)果存儲(chǔ)單元,對每個(gè)幀存儲(chǔ)所述判定單元的判定結(jié)果, 所述選擇單元使用所述解碼狀態(tài)和所述判定結(jié)果,進(jìn)行所述解碼狀態(tài)的搜索。
4.如權(quán)利要求3所述的語音解碼裝置,所述選擇單元跳過在所述多個(gè)幀中的、所述判定結(jié)果為無聲區(qū)間的幀而進(jìn)行所述解碼狀態(tài)的搜索。
5.如權(quán)利要求1所述的語音解碼裝置,還包括合成單元,對于1幀,將所述解碼單元中對所述幀號及所述層號的代碼進(jìn)行解碼而生成了的解碼信號和解碼完畢的其他層的解碼信號合成,生成合成音。
6.語音解碼方法,包括接收步驟,在多個(gè)幀中接收在由多個(gè)層構(gòu)成的語音編碼裝置中生成了的各個(gè)層的代碼,并將其存儲(chǔ)在存儲(chǔ)器中;以及解碼步驟,將所述各個(gè)層的代碼進(jìn)行解碼, 所述語音解碼方法還包括選擇步驟,選擇與在未解碼狀態(tài)的所述各個(gè)層的代碼中的、最先進(jìn)行解碼的代碼對應(yīng)的幀號和層號,在所述接收步驟中,進(jìn)一步將表示所述各個(gè)層的代碼是否未接收、是否未解碼、或是否解碼完畢的解碼狀態(tài)存儲(chǔ)在所述存儲(chǔ)器中,并在被指示了更新的情況下進(jìn)行所述存儲(chǔ)器的所述解碼狀態(tài)的更新,在所述選擇步驟中,通過搜索所述解碼狀態(tài),選擇與代碼對應(yīng)的所述幀號及所述層號, 并且對所述存儲(chǔ)器指示所述解碼狀態(tài)的更新,所述代碼是在所述存儲(chǔ)器中存儲(chǔ)或更新了所述解碼狀態(tài)時(shí)所述解碼狀態(tài)為未解碼狀態(tài),在存儲(chǔ)或更新后最先進(jìn)行解碼的代碼, 在所述解碼步驟中,將與所述幀號及所述層號對應(yīng)的代碼進(jìn)行解碼。
全文摘要
公開了語音解碼裝置,其能夠在規(guī)定時(shí)間內(nèi)連續(xù)地將處理器用于其他用途,并且即使由于緊急中斷而將處理器用于其他用途,也可以不間斷地生成合成音。在該裝置中,分組接收單元(101)接收多個(gè)幀的各層的分組,并且從接收到的分組中取出代碼。狀態(tài)/代碼存儲(chǔ)單元(103)存儲(chǔ)代碼和代碼的解碼狀態(tài)。層選擇單元(104)根據(jù)解碼狀態(tài)選擇與最先應(yīng)該解碼的代碼對應(yīng)的幀號和層號。解碼單元(105)將選擇出的幀號及層號的代碼進(jìn)行解碼。
文檔編號G10L19/00GK102349102SQ20108001137
公開日2012年2月8日 申請日期2010年3月12日 優(yōu)先權(quán)日2009年3月13日
發(fā)明者森井利幸, 江原宏幸 申請人:松下電器產(chǎn)業(yè)株式會(huì)社