本發明涉及對聲音信號等時序信號進行編碼或者解碼的技術。
背景技術:
作為表示聲音信號等時序信號的特征的參數,已知lsp等參數(例如,參照非專利文獻1)。
由于lsp包含多個值,所以有時難以直接使用于聲音的分類或區間估計。例如,由于lsp包含多個值,所以使用了lsp的基于閾值的處理不能說是簡單。
另外,雖然沒有成為公知,但由發明人提出了參數η。該參數η是在對利用例如3gppevs(增強語音服務(enhancedvoiceservices))標準中使用的線性預測包絡的頻域的系數的量化值進行算術編碼的編碼方式中,確定算術碼的編碼對象所屬的概率分布的形狀參數。參數η與編碼對象的分布具有關聯性,若適當地確定參數η則能夠進行效率高的編碼以及解碼。
此外,參數η可成為表示時序信號的特征的指標。因此,雖然沒有成為公知,但考慮基于參數η而確定適當的編碼處理或者解碼處理的結構,進行所確定的結構的編碼處理或者解碼處理。
【現有技術文獻】
【非專利文獻】
【非專利文獻1】守谷健弘,“高圧縮音聲符號化の必須技術:線スペクトル対(lsp)”,ntt技術ジャーナル,2014年9月,p.58-60
技術實現要素:
發明要解決的課題
但是,至今還不知道基于參數η而確定適當的編碼處理或者解碼處理的結構,進行所確定的結構的編碼處理或者解碼處理的技術。
本發明的目的在于,提供一種基于參數η而確定適當的編碼處理或者解碼處理的結構,進行所確定的結構的編碼處理或者解碼處理的編碼裝置、解碼裝置、它們的方法、程序以及記錄介質。
用于解決課題的手段
根據本發明的一方式的編碼裝置,在頻域中對每預定時間區間的時序信號進行編碼,其中,將參數η設為正數,將與時序信號對應的參數η作為對白化頻譜序列(whitenedspectralsequence)的直方圖進行近似的廣義高斯分布的形狀參數,按每預定時間區間能夠選擇多個參數η中的任一個或者參數η可變,上述白化頻譜序列是將頻域樣本串除以通過將與該時序信號對應的頻域樣本串的絕對值的η次方當作功率譜而估計出的頻譜包絡頻譜包絡所得的序列,所述編碼裝置包括:編碼部,通過至少基于每預定時間區間的參數η而確定的結構的編碼處理,對每預定時間區間的時序信號進行編碼。
根據本發明的一方式的編碼裝置,在頻域中對每預定時間區間的時序信號進行編碼,其中,將參數η設為正數,按每預定時間區間能夠選擇多個參數η中的任一個或者參數η可變,所述編碼裝置包括:編碼部,按每預定時間區間,通過基于通過將與時序信號對應的頻域樣本串的絕對值的η次方當作功率譜的頻譜包絡的估計而估計出的頻譜包絡的值來改變比特分配或者比特分配實質上發生改變的編碼處理,對與時序信號對應的頻域樣本串進行編碼而得到碼并輸出,輸出表示與輸出的碼對應的參數η的參數碼。
根據本發明的一方式的解碼裝置,其中,將參數η設為正數,將表示參數η的參數碼作為表示對白化頻譜序列的直方圖進行近似的廣義高斯分布的形狀參數的碼,上述白化頻譜序列是將頻域樣本串除以通過將與該參數η對應的頻域樣本串的絕對值的η次方當作功率譜而估計出的頻譜包絡頻譜包絡所得的序列,所述解碼裝置包括:參數碼解碼部,對輸入的參數碼進行解碼而得到參數η;確定部,至少基于得到的參數η而確定解碼處理的結構;以及解碼部,通過所確定的結構的解碼處理而進行所輸入的碼的解碼。
根據本發明的一方式的解碼裝置,通過頻域中的解碼而得到與時序信號對應的頻域樣本串,其中,所述解碼裝置包括:參數碼解碼部,對輸入的參數碼進行解碼而得到參數η;線性預測系數解碼部,通過對輸入的線性預測系數碼進行解碼,得到能夠轉換為線性預測系數的系數;非平滑化頻譜包絡序列生成部,使用得到的參數η,得到非平滑化頻譜包絡序列,該非平滑化頻譜包絡序列是將與能夠轉換為線性預測系數的系數對應的振幅頻譜包絡的序列進行了1/η次方的序列;以及解碼部,根據基于非平滑化頻譜包絡序列而發生改變的比特分配或者實質上發生改變的比特分配,進行所輸入的整數信號碼的解碼,從而得到與時序信號對應的頻域樣本串。
發明效果
能夠基于參數η而確定適當的編碼處理或者解碼處理的結構,進行所確定的結構的編碼處理或者解碼處理。
附圖說明
圖1是用于說明現有的編碼裝置的例子的框圖。
圖2是用于說明現有的編碼部的例子的框圖。
圖3是用于說明廣義高斯分布的圖。
圖4是用于說明編碼裝置的例子的框圖。
圖5是用于說明編碼方法的例子的流程圖。
圖6是用于說明編碼部的例子的框圖。
圖7是用于說明編碼部的例子的框圖。
圖8是用于說明編碼部的處理的例子的流程圖。
圖9是用于說明解碼裝置的例子的框圖。
圖10是用于說明解碼方法的例子的流程圖。
圖11是用于說明解碼部的處理的例子的流程圖。
圖12是用于說明編碼裝置的例子的框圖。
圖13是用于說明編碼方法的例子的流程圖。
圖14是用于說明參數決定裝置的例子的框圖。
圖15是用于說明參數決定方法的例子的流程圖。
圖16是用于說明技術背景的直方圖。
圖17是用于說明編碼裝置的例子的框圖。
圖18是用于說明編碼方法的例子的流程圖。
圖19是用于說明解碼裝置的例子的框圖。
圖20是用于說明解碼方法的例子的流程圖。
圖21是用于說明參數決定部的例子的框圖。
圖22是用于說明參數決定部的例子的流程圖。
圖23是用于說明廣義高斯分布的圖。
具體實施方式
[技術背景]
作為低比特(例如,10kbit/s~20kbit/s左右)的聲音信號的編碼方法,已知dft(離散傅里葉轉換)或mdct(變形離散余弦轉換)等頻域中的對于正交轉換系數的自適應編碼。例如,作為標準規范技術的mepgusac(統一語音和音頻編碼(unifiedspeechandaudiocoding))具有tcx(transformcodedexcitation:轉換編碼激勵)編碼模式,其中,將mdct系數按每個幀進行歸一化而量化后進行可變長編碼(例如,參照參考文獻1)。
〔參考文獻1〕m.neuendorf,etal.,“mpegunifiedspeechandaudiocoding-theiso/mpegstandardforhigh-efficiencyaudiocodingofallcontenttypes”,aes132ndconvention,budapest,hungary,2012.
圖1表示基于現有的tcx的編碼裝置的結構例。以下,說明圖1的各部。
<頻域轉換部11>
在頻域轉換部11中,被輸入作為時域的時序信號的聲音信號。聲音信號例如是語音信號或者音響信號。
頻域轉換部11以預定的時間長度的幀為單位,將被輸入的時域的聲音信號轉換為頻域的n點的mdct系數串x(0),x(1),…,x(n-1)。n為正整數。
轉換后的mdct系數串x(0),x(1),…,x(n-1)被輸出到包絡歸一化部14。
<線性預測分析部12>
在線性預測分析部12中,被輸入作為時域的時序信號的聲音信號。
線性預測分析部12通過以幀為單位進行對于所輸入的聲音信號的線性預測分析,從而生成線性預測系數α1,α2,…,αp。此外,線性預測分析部12對被生成的線性預測系數α1,α2,…,αp進行編碼,從而生成線性預測系數碼。線性預測系數碼的例子是和與線性預測系數α1,α2,…,αp對應的lsp(線譜對(linespectrumpairs))參數串的量化值的串對應的碼即lsp碼。p為2以上的整數。
此外,線性預測分析部12生成與被生成的線性預測系數碼對應的線性預測系數即量化線性預測系數^α1,^α2,…,^αp。
被生成的量化線性預測系數^α1,^α2,…,^αp被輸出到平滑化振幅頻譜包絡序列生成部14以及非平滑化振幅頻譜包絡序列生成部13。此外,被生成的線性預測系數碼被輸出到解碼裝置。
在線性預測分析中,例如使用如下方法:以幀為單位求出對于輸入的聲音信號的自相關,利用求出的自相關進行levinson-durbin算法,從而得到線性預測系數。或者,也可以使用如下方法:對線性預測分析部12輸入由頻域轉換部11求出的mdct系數串,對將mdct系數串的各系數的平方值的序列進行了傅里葉逆轉換所得的序列,進行levinson-durbin算法,從而得到線性預測系數。
<平滑化振幅頻譜包絡序列生成部14>
在平滑化振幅頻譜包絡序列生成部14中,被輸入由線性預測分析部12生成的量化線性預測系數^α1,^α2,…,^αp。
平滑化振幅頻譜包絡序列生成部14使用量化線性預測系數^α1,^α2,…,^αp,生成通過以下的式(b1)而定義的平滑化振幅頻譜包絡序列^wγ(0),^wγ(1),…,^wγ(n-1)。將·作為實數,exp(·)是以納皮爾數為底的指數函數,j是虛數單位。γ是1以下的正的常數,是削弱通過以下的式(b2)而定義的振幅頻譜包絡序列^w(0),^w(1),…,^w(n-1)的振幅的凹凸的系數,換言之,是將振幅頻譜包絡序列進行平滑化的系數。
【數1】
被生成的平滑化振幅頻譜包絡序列^wγ(0),^wγ(1),…,^wγ(n-1)輸出到包絡歸一化部15和編碼部16的方差參數決定部163。
<非平滑化振幅頻譜包絡序列生成部13>
在非平滑化振幅頻譜包絡序列生成部13中,被輸入由線性預測分析部12所生成的量化線性預測系數^α1,^α2,…,^αp。
非平滑化振幅頻譜包絡序列生成部13使用量化線性預測系數^α1,^α2,…,^αp,生成通過上述的式(b2)而定義的非平滑化振幅頻譜包絡序列^w(0),^w(1),…,^w(n-1)。
被生成的非平滑化振幅頻譜包絡序列^w(0),^w(1),…,^w(n-1)輸出到編碼部16的方差參數決定部163。
<包絡歸一化部15>
在包絡歸一化部15中,被輸入由頻域轉換部11所生成的mdct系數串x(0),x(1),…,x(n-1)以及由平滑化振幅頻譜包絡序列生成部14所輸出的平滑化振幅頻譜包絡序列^wγ(0),^wγ(1),…,^wγ(n-1)。
包絡歸一化部15通過使用平滑化振幅頻譜包絡序列的各值^wγ(k)對mdct系數串的各系數x(k)進行歸一化,從而生成歸一化mdct系數串xn(0),xn(1),…,xn(n-1)。即,xn(k)=x(k)/^wγ(k)[k=0,1,…,n-1]。
被生成的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)輸出到編碼部16。
在此,為了實現如在聽覺上失真減小的量化,包絡歸一化部15使用削弱振幅頻譜包絡的序列即平滑化振幅頻譜包絡序列^wγ(0),^wγ(1),…,^wγ(n-1),以幀為單位對mdct系數串x(0),x(1),…,x(n-1)進行歸一化。
<編碼部16>
在編碼部16中,被輸入由包絡歸一化部15所生成的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)、由平滑化振幅頻譜包絡序列生成部14所輸出的平滑化振幅頻譜包絡序列^wγ(0),^wγ(1),…,^wγ(n-1)、由非平滑化振幅頻譜包絡序列生成部13所輸出的非平滑化振幅頻譜包絡序列^w(0),^w(1),…,^w(n-1)。
編碼部16生成與歸一化mdct系數串xn(0),xn(1),…,xn(n-1)對應的碼。
與被生成的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)對應的碼被輸出到解碼裝置。
將歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的各系數除以增益(全局增益)g,將對將其結果進行量化的整數值的序列即量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)進行編碼而得到的碼設為整數信號碼。在非專利文獻1的技術中,編碼部16決定該整數信號碼的比特數為預先分配的比特數即分配比特數b以下且盡量成為大的值的增益g。并且,編碼部16生成與該決定的增益g對應的增益碼和與該決定的增益g對應的整數信號碼。
該生成的增益碼以及整數信號碼作為與歸一化mdct系數串xn(0),xn(1),…,xn(n-1)對應的碼而被輸出到解碼裝置。
[編碼部16進行的編碼處理的具體例]
說明編碼部16進行的編碼處理的具體例。
圖2表示編碼部16的具體例的結構例。如圖2所示,編碼部16例如具備增益取得部161、量化部162、方差參數決定部168、算術編碼部169、增益編碼部165、判定部166和增益更新部167。以下,說明圖2的各部。
<增益取得部161>
增益取得部161根據被輸入的歸一化mdct系數串xn(0),xn(1),…,xn(n-1),決定整數信號碼的比特數為預先分配的比特數即分配比特數b以下且盡量成為大的值的全局增益g,并輸出。增益取得部161得到的全局增益g成為在量化部162中使用的全局增益的初始值。
<量化部162>
量化部162得到將被輸入的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的各系數除以由增益取得部161或者增益更新部167得到的全局增益g所得的結果的整數部分的序列即量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1),并輸出。
這里,量化部162在第一次執行時使用的全局增益g是由增益取得部161得到的全局增益g、即全局增益的初始值。此外,量化部162在第二次以后執行時使用的全局增益g是由增益更新部167得到的全局增益g、即全局增益的更新值。
<方差參數決定部163>
方差參數決定部163根據被輸入的非平滑化振幅頻譜包絡序列^w(0),^w(1),…,^w(n-1)和被輸入的平滑化振幅頻譜包絡序列^wγ(0),^wγ(1),…,^wγ(n-1),通過下述的式(b3)而得到對于各頻率的方差參數
【數2】
<算術編碼部164>
算術編碼部164使用由方差參數決定部163得到的方差參數
【數3】
<判定部166>
判定部166在增益的更新次數為預先決定的次數的情況下,輸出整數信號碼,且對增益編碼部165輸出對由增益更新部167得到的全局增益g進行編碼的指示信號,在增益的更新次數小于預先決定的次數的情況下,對增益更新部167輸出由算術編碼部164所測量的消耗比特數c。
<增益更新部167>
增益更新部167在算術編碼部164所測量的消耗比特數c多于分配比特數b的情況下,將全局增益g的值更新為大的值并輸出,在消耗比特數c少于分配比特數b的情況下,將全局增益g的值更新為小的值,并輸出更新后的全局增益g的值。
<增益編碼部165>
增益編碼部165根據判定部166所輸出的指示信號,對增益更新部167得到的全局增益g進行編碼而得到增益碼,并輸出。
判定部166輸出的整數信號碼和增益編碼部165輸出的增益碼作為與歸一化mdct系數串對應的碼而被輸出到解碼裝置。
如以上所示,在基于現有的tcx的編碼中,使用削弱非平滑化振幅頻譜包絡的平滑化振幅頻譜包絡序列而對mdct系數串進行歸一化之后,對歸一化mdct系數串進行編碼。在上述的mpeg-4usac等中采用該編碼方法。
在現有的編碼裝置中,通過算術碼對拉普拉斯分布進行了最佳的比特分配。并且,由于在算術編碼時利用頻譜包絡的凹凸的信息,所以根據包絡的值來生成與上述的拉普拉斯分布的方差對應的方差參數。但是,在編碼對象所屬的概率分布上有多樣性,不是一概遵照拉普拉斯分布。這樣,若對屬于從假設排除的分布的編碼對象進行同樣的比特分配,則壓縮效率有可能降低。此外,在導入其他分布時,要不是也還與現有的編碼裝置同樣地生成對于該分布的方差參數并準確地編入頻譜包絡的凹凸的信息的話,改善效率是比較困難的。
另外,與基于非平滑化振幅頻譜包絡序列的歸一化相比,基于平滑化振幅頻譜包絡的mdct序列x(0),x(1),…,x(n-1)的歸一化不會對mdct序列x(0),x(1),…,x(n-1)進行白化。具體而言,與將mdct系數串x(0),x(1),…,x(n-1)通過非平滑化振幅頻譜包絡序列^w(0),^w(1),…,^w(n-1)進行歸一化而得到的歸一化后的序列x(0)/^w(0),x(1)/^w(1),…,x(n-1)/^w(n-1)相比,將mdct系數串x(0),x(1),…,x(n-1)通過平滑化振幅頻譜包絡序列^wγ(0),^wγ(1),…,^wγ(n-1)進行歸一化而得到的歸一化mdct系數串xn(0)=x(0)/^wγ(0),xn(1)=x(1)/^wγ(1),…,xn(n-1)=x(n-1)/^wγ(n-1),只有^w(0)/^wγ(0),^w(1)/^wγ(1),…,^w(n-1)/^wγ(n-1)的凸凹大。因此,若假設將mdct系數串x(0),x(1),…,x(n-1)通過非平滑化振幅頻譜包絡序列^w(0),^w(1),…,^w(n-1)進行歸一化而得到的歸一化后的序列x(0)/^w(0),x(1)/^w(1),…,x(n-1)/^w(n-1)的包絡的凸凹成為平坦化以適合編碼部16中的編碼的程度,則在被輸入到編碼部16的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)中,留下由^w(0)/^wγ(0),^w(1)/^wγ(1),…,^w(n-1)/^wγ(n-1)的序列(以下,歸一化振幅頻譜包絡序列^wn(0),^wn(1),…,^wn(n-1))表示的包絡的凹凸。
圖16表示在歸一化mdct序列的包絡的凹凸^w(0)/^wγ(0),^w(1)/^wγ(1),…,^w(n-1)/^wγ(n-1)取各值的情況下的、歸一化mdct系數串中包含的各系數的值的出現頻度。envelope:0.2-0.3的曲線表示與歸一化mdct序列的包絡的凹凸^w(k)/^wγ(k)為0.2以上且小于0.3的樣本k對應的歸一化mdct系數xn(k)的值的頻度。envelope:0.3-0.4的曲線表示與歸一化mdct序列的包絡的凹凸^w(k)/^wγ(k)為0.3以上且小于0.4的樣本k對應的歸一化mdct系數xn(k)的值的頻度。envelope:0.4-0.5的曲線表示與歸一化mdct序列的包絡的凹凸^w(k)/^wγ(k)為0.4以上且小于0.5的樣本k對應的歸一化mdct系數xn(k)的值的頻度。
看圖16的話可知,在歸一化mdct系數串中包含的各系數的值的平均大致為0,但方差與包絡的值具有關聯性。即,歸一化mdct序列的包絡的凹凸越大則表示頻度的曲線的腳部越寬,所以可知有歸一化mdct系數的方差大的關聯性。為了實現更加有效的壓縮,進行利用了該關聯性的編碼。具體而言,對成為編碼的對象的頻域系數串的各系數,進行基于頻譜包絡而改變比特分配或者比特分配實質上發生改變的編碼。
為此,例如,在對量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)進行算術編碼的情況下,使用基于頻譜包絡而決定的方差參數。
此外,在編碼對象所屬的概率分布上有多樣性時,若將假設了屬于某概率分布(例如,拉普拉斯分布)的編碼對象的最佳的比特分配,對屬于從該假設排除的概率分布的編碼對象進行,則壓縮效率有可能下降。
因此,作為編碼對象所屬的概率分布,使用能夠表現各種概率分布的分布、即通過以下的式而表示的廣義高斯分布。
【數4】
廣義高斯分布通過改變作為形狀參數的參數η(>0),如圖3所示,在η=1時為拉普拉斯分布、在η=2時為高斯分布這樣能夠表現各種分布。η是大于0的預定的數。η的值可以預先決定、或者在作為預定時間區間的每個幀進行選擇或可變。此外,上式的
例如,進一步引入除了預測殘差的能量σ2以及全局增益g的信息之外還使用的分布的信息,例如通過以下的式(a1)而計算對于量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)的各系數的方差參數。
【數5】
其中,σ為σ2的平方根。
具體而言,對將mdct系數的絕對值進行了η次方后的值的序列進行了傅里葉逆轉換的序列進行levinson-durbin算法,代替量化線性預測系數^α1,^α2,…,^αp而使用對由此得到的線性預測系數進行了量化的β1,^β2,…,^βp,將非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)和平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)分別通過下述的式(a2)和式(a3)
【數6】
而求出,并將求出的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)的各系數除以對應的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)的各系數而得到歸一化振幅頻譜包絡序列^hn(0)=^h(0)/^hγ(0),^hn(1)=^h(1)/^hγ(1),…,^hn(n-1)=^h(n-1)/^hγ(n-1),根據歸一化振幅頻譜包絡序列和全局增益g,通過上述的式(a1)而計算方差參數。
這里,式(a1)的σ2/η/g是與熵密切相關的值,要是比特率固定的話每個幀的值的變動小。因此,作為σ2/η/g,還能夠使用預先決定的固定值。在這樣使用固定值的情況下,不需要為了本發明的方法而新追加信息。
上述技術是基于將在對量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)進行算術編碼時的碼長作為標準的最小化問題的技術。以下,敘述上述技術的導出。
若充分細致地進行了量化,則將量化歸一化完畢系數xq(k)分別通過方差參數
【數7】
成比例。為了減小該碼長,考慮基于已經成為量化以及編碼的線性預測系數而求出方差參數序列
【數8】
其中,設為ln是將納皮爾數作為底的對數,c是對于方差參數的常數,并且,dis(x|y)是x離y的板倉-齋藤距離
【數9】
即,對于方差參數序列的碼長l的最小化問題歸結到
【數10】
若忽略量化的影響,則量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)能夠使用mdct序列x(0),x(1),…,x(n-1)和平滑化振幅頻譜包絡^hγ(0),^hγ(1),…,^hγ(n-1)、全局增益g而分別表示為xq(k)=x(k)/(g^hγ(k)),所以依賴于式(a5)的方差參數的項通過式(a6),如
【數11】
所示,表示為mdct系數序列的絕對值和全極型的頻譜包絡的板倉-齋藤距離。已知現有的線性預測分析、即對將功率譜進行了傅里葉逆轉換的序列應用levinson-durbin算法是求出將功率譜和全極型的頻譜包絡的板倉-齋藤距離最小化的線性預測系數的操作。因此,上述的碼長最小化問題通過對將振幅譜的η次方、即mdct系數序列的絕對值的η次方進行了傅里葉逆轉換的序列應用levinson-durbin算法,能夠與現有方法相同地求出最優解。
[第一實施方式]
(編碼)
圖4表示第一實施方式的編碼裝置的結構例。如圖4所示,第三實施方式的編碼裝置例如具備頻域轉換部21、線性預測分析部22、非平滑化振幅頻譜包絡序列生成部23、平滑化振幅頻譜包絡序列生成部24、包絡歸一化部25、編碼部26和參數決定部27。圖5表示由該編碼裝置所實現的第一實施方式的編碼方法的各處理的例子。
以下,說明圖4的各部。
<參數決定部27>
在第一實施方式中,能夠由參數決定部27按每預定時間區間選擇多個參數η中的任一個。
設在參數決定部27中,多個參數η作為參數η的候選而被存儲。參數決定部27依次讀出多個參數中的一個參數η,并輸出到線性預測分析部22、非平滑化振幅頻譜包絡序列生成部23以及解碼部26(步驟a0)。
頻域轉換部21、線性預測分析部22、非平滑化振幅頻譜包絡序列生成部23、平滑化振幅頻譜包絡序列生成部24、包絡歸一化部25以及編碼部26基于參數決定部27依次讀出的各參數η,例如進行以下說明的步驟a1至步驟a6的處理,對與相同的預定時間區間的時序信號對應的頻域樣本串生成碼。一般,將參數η設為給定,存在對與相同的預定時間區間的時序信號對應的頻域樣本串得到2個以上的碼的情況。此時,對于與相同的預定時間區間的時序信號對應的頻域樣本串的碼是匯總了這些得到的2個以上的碼的碼。在該例中,碼匯總了線性預測系數碼、增益碼和整數信號碼。由此,得到對于與相同的預定時間區間的時序信號對應的頻域樣本串的每個參數η的碼。
在步驟a6的處理之后,參數決定部27從對與相同的預定時間區間的時序信號對應的頻域樣本串按每參數η得到的碼中選擇一個碼,并決定與所選擇的碼對應的參數η(步驟a7)。該決定的參數η成為對于與該相同的預定時間區間的時序信號對應的頻域樣本串的參數η。并且,參數決定部27將表示所選擇的碼以及所決定的參數η的碼輸出到解碼裝置。參數決定部27進行的步驟a7的處理的細節將在后面敘述。
以下,設由參數決定部27讀出一個參數η,對該讀出的一個參數η進行處理。
<頻域轉換部21>
在頻域轉換部21中,被輸入作為時域的時序信號的聲音信號。聲音信號的例子是語音數字信號或者音響數字信號。
頻域轉換部21以預定的時間長度的幀為單位,將輸入的時域的聲音信號轉換為頻域的n點的mdct系數串x(0),x(1),…,x(n-1)(步驟a1)。n是正整數。
得到的mdct系數串x(0),x(1),…,x(n-1)被輸出到線性預測分析部22和包絡歸一化部25。
只要沒有特別限定,則設為以后的處理以幀為單位進行。
這樣,頻域轉換部21求出與聲音信號對應的、例如mdct系數串即頻域樣本串。
<線性預測分析部22>
在線性預測分析部22中,被輸入由頻域轉換部21得到的mdct系數串x(0),x(1),…,x(n-1)。
線性預測分析部22使用mdct系數串x(0),x(1),…,x(n-1),對通過以下的式(a7)而定義的~r(0),~r(1),…,~r(n-1)進行線性預測分析而生成線性預測系數β1,β2,…,βp,并對生成的線性預測系數β1,β2,…,βp進行編碼而生成線性預測系數碼和與線性預測系數碼對應的被量化的線性預測系數即量化線性預測系數^β1,^β2,…,^βp(步驟a2)。
【數12】
所生成的量化線性預測系數^β1,^β2,…,^βp被輸出到非平滑化頻譜包絡序列生成部23和平滑化振幅頻譜包絡序列生成部24。另外,在線性預測分析處理的過程中計算出預測殘差的能量σ2。此時,計算出的預測殘差的能量σ2被輸出到編碼部26的方差參數決定部268。
此外,所生成的線性預測系數碼被發送給參數決定部27。
具體而言,線性預測分析部22首先進行將mdct系數串x(0),x(1),…,x(n-1)的絕對值的η次方當作功率譜的相當于傅里葉逆轉換的運算、即式(a7)的運算,從而求出與mdct系數串x(0),x(1),…,x(n-1)的絕對值的η次方對應的時域的信號串即偽相關函數信號串~r(0),~r(1),…,~r(n-1)。并且,線性預測分析部22使用求出的偽相關函數信號串~r(0),~r(1),…,~r(n-1)進行線性預測分析,生成線性預測系數β1,β2,…,βp。并且,線性預測分析部22通過對所生成的線性預測系數β1,β2,…,βp進行編碼,得到線性預測系數碼和與線性預測系數碼對應的量化線性預測系數^β1,^β2,…,^βp。
線性預測系數β1,β2,…,βp是與在將mdct系數串x(0),x(1),…,x(n-1)的絕對值的η次方當作功率譜時的時域的信號對應的線性預測系數。
線性預測分析部22的線性預測系數碼的生成通過例如現有的編碼技術進行。現有的編碼技術是例如將與線性預測系數本身對應的碼設為線性預測系數碼的編碼技術、將線性預測系數轉換為lsp參數而將與lsp參數對應的碼設為線性預測系數碼的編碼技術、將線性預測系數轉換為parcor系數而將與parcor系數對應的碼設為線性預測系數碼的編碼技術等。例如,將與線性預測系數本身對應的碼設為線性預測系數碼的編碼技術是如下技術:預先決定多個量化線性預測系數的候選,各候選預先與線性預測系數碼相對應地存儲,候選中的任一個作為對于所生成的線性預測系數的量化線性預測系數而被決定,得到量化線性預測系數和線性預測系數碼。例如,將與線性預測系數本身對應的碼設為線性預測系數碼的編碼技術是如下技術:預先決定多個量化線性預測系數的候選,各候選預先與線性預測系數碼相對應地存儲,候選中的任一個作為對于所生成的線性預測系數的量化線性預測系數而被決定,得到量化線性預測系數和線性預測系數碼。
這樣,線性預測分析部22例如使用通過進行將作為mdct系數串的頻域樣本串的絕對值的η次方當作功率譜的傅里葉逆轉換而得到的偽相關函數信號串進行線性預測分析,生成能夠轉換為線性預測系數的系數。
<非平滑化振幅頻譜包絡序列生成部23>
在非平滑化振幅頻譜包絡序列生成部23中,被輸入由線性預測分析部22所生成的量化線性預測系數^β1,^β2,…,^βp。
非平滑化振幅頻譜包絡序列生成部23生成與量化線性預測系數^β1,^β2,…,^βp對應的振幅頻譜包絡的序列即非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)(步驟a3)。
所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)被輸出到編碼部26。
非平滑化振幅頻譜包絡序列生成部23使用量化線性預測系數^β1,^β2,…,^βp,作為非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1),生成通過式(a2)而定義的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)。
【數13】
這樣,非平滑化振幅頻譜包絡序列生成部23通過得到將與由線性預測分析部22所生成的能夠轉換為線性預測系數的系數對應的振幅頻譜包絡的序列進行了1/η次方的序列即非平滑化頻譜包絡序列,進行頻譜包絡的估計。這里,將c作為任意的數,將由多個值構成的序列進行了c次方的序列是由將多個值中的每個值進行了c次方的值構成的序列。例如,將振幅頻譜包絡的序列進行了1/η次方的序列是由將振幅頻譜包絡的各系數進行了1/η次方的值構成的序列。
非平滑化振幅頻譜包絡序列生成部23進行的1/η次方的處理是由在線性預測分析部22中進行的將頻域樣本串的絕對值的η次方當作功率譜的處理所引起的。即,非平滑化振幅頻譜包絡序列生成部23進行的1/η次方的處理是為了將通過在線性預測分析部22中進行的將頻域樣本串的絕對值的η次方當作功率譜的處理而成為η次方的值返回到原來的值而進行的。
<平滑化振幅頻譜包絡序列生成部24>
在平滑化振幅頻譜包絡序列生成部24中,被輸入由線性預測分析部22所生成的量化線性預測系數^β1,^β2,…,^βp。
平滑化振幅頻譜包絡序列生成部24生成削弱與量化線性預測系數^β1,^β2,…,^βp對應的振幅頻譜包絡的序列的振幅的凸凹的序列即平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)(步驟a4)。
所生成的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)被輸出到包絡歸一化部25以及編碼部26。
平滑化振幅頻譜包絡序列生成部24使用量化線性預測系數^β1,^β2,…,^βp和校正系數γ,作為平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1),生成通過式(a3)而定義的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)。
【數14】
這里,校正系數γ是預先決定的小于1的常數,且是削弱非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)的振幅的凹凸的系數,換言之是將非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)進行平滑化的系數。
<包絡歸一化部25>
在包絡歸一化部25中,被輸入由頻域轉換部21得到的mdct系數串x(0),x(1),…,x(n-1)以及由平滑化振幅頻譜包絡生成部24所生成的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)。
包絡歸一化部25通過使用對應的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)的各值對mdct系數串x(0),x(1),…,x(n-1)的各系數進行歸一化,從而生成歸一化mdct系數串xn(0),xn(1),…,xn(n-1)(步驟a5)。
所生成的歸一化mdct系數串被輸出到編碼部26。
包絡歸一化部25例如設為k=0,1,…,n-1,將mdct系數串x(0),x(1),…,x(n-1)的各系數x(k)除以平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1),從而生成歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的各系數xn(k)。即,設為k=0,1,…,n-1,xn(k)=x(k)/^hγ(k)。
<編碼部26>
在編碼部26中,被輸入由包絡歸一化部25所生成的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)、由非平滑化振幅頻譜包絡生成部23所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)、由平滑化振幅頻譜包絡生成部24所生成的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)以及由線性預測分析部22所計算出的平均殘差的能量σ2。
編碼部26通過進行例如圖8所示的步驟a61至步驟a65的處理,從而進行編碼(步驟a6)。
編碼部26求出與歸一化mdct系數串xn(0),xn(1),…,xn(n-1)對應的全局增益g(步驟a61),求出對將歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的各系數除以全局增益g所得的結果進行了量化的整數值的序列即量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)(步驟a62),根據全局增益g和非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)和平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)和平均殘差的能量σ2,通過式(a1)而求出與量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)的各系數對應的方差參數
【數15】
這里,上述的式(a1)中的歸一化振幅頻譜包絡序列^hn(0),^hn(1),…,^hn是將非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)的各值除以對應的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)的各值所得的值,即,是通過以下的式(a8)而求出的值。
【數16】
所生成的整數信號碼和增益碼作為與歸一化mdct系數串對應的碼而被輸出到參數決定部27。
通過步驟a61至步驟a65,編碼部26實現如下功能:決定整數信號碼的比特數為預先分配的比特數即分配比特數b以下且盡量成為大的值的全局增益g,并生成與所決定的全局增益g對應的增益碼和與該所決定的全局增益g對應的整數信號碼。
在編碼部26進行的步驟a61至步驟a65中包括特征性的處理的是步驟a63,通過對全局增益g和量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)的每一個進行編碼而得到與歸一化mdct系數串對應的碼的編碼處理本身中,存在包括在非專利文獻1中記載的技術的各種公知技術。以下,說明編碼部26進行的編碼處理的2個具體例。
[編碼部26進行的編碼處理的具體例1]
作為編碼部26進行的編碼處理的具體例1,說明不包括循環處理的例子。
圖6表示具體例1的編碼部26的結構例。如圖6所示,具體例1的編碼部26例如具備增益取得部261、量化部262、方差參數決定部268、算術編碼部269和增益編碼部265。以下,說明圖6的各部。
<增益取得部261>
在增益取得部261中,被輸入由包絡歸一化部25所生成的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)。
增益取得部261從歸一化mdct系數串xn(0),xn(1),…,xn(n-1)中,決定整數信號碼的比特數為預先分配的比特數即分配比特數b以下且盡量成為大的值的全局增益g并輸出(步驟s261)。增益取得部261例如將歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的能量的合計的平方根和與分配比特數b具有負相關的常數的乘法值作為全局增益g來獲得并輸出。或者,增益取得部261也可以將歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的能量的合計、分配比特數b、全局增益g的關系預先表格化,通過參照該表格而得到全局增益g并輸出。
這樣,增益取得部261得到用于對例如歸一化mdct系數串即歸一化頻域樣本串的全部樣本進行除法運算的增益。
得到的全局增益g被輸出到量化部262以及方差參數決定部268。
<量化部262>
在量化部262中,被輸入由包絡歸一化部25所生成的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)以及由增益取得部261得到的全局增益g。
量化部262得到將歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的各系數除以全局增益g所得的結果的整數部分的序列即量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1),并輸出(步驟s262)。
這樣,量化部262例如將歸一化mdct系數串即歸一化頻域樣本串的各樣本除以增益,且量化而求出量化歸一化完畢系數序列。
得到的量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)被輸出到算術編碼部269。
<方差參數決定部268>
在方差參數決定部268中,被輸入由參數決定部27所讀出的參數η、由增益取得部261所得到的全局增益g、由非平滑化振幅頻譜包絡生成部23所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)、由平滑化振幅頻譜包絡生成部24所生成的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)以及由線性預測分析部22所得到的預測殘差的能量σ2。
方差參數決定部268根據全局增益g、非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)、平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)和預測殘差的能量σ2,通過上述的式(a1)、式(a8),得到方差參數序列
得到的方差參數序列
<算術編碼部269>
在算術編碼部269中,被輸入由參數決定部27讀出的參數η、量化部262得到的量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)以及方差參數決定部268得到的方差參數序列
算術編碼部269使用方差參數序列
算術編碼部269在算術編碼時,通過算術碼進行在量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)的各系數遵照廣義高斯分布
得到的整數信號碼被輸出到參數決定部27。
也可以橫跨量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)中的多個系數而進行算術編碼。此時,從式(a1)、式(a8)可知,方差參數序列
<增益編碼部265>
在增益編碼部265中,被輸入由增益取得部261得到的全局增益g。
增益編碼部265對全局增益g進行編碼而得到增益碼,并輸出(步驟s265)。
所生成的整數信號碼和增益碼作為與歸一化mdct系數串對應的碼而被輸出到參數決定部27。
本具體例1的步驟s261、s262、s268、s269、s265分別對應于上述的步驟a61、a62、a63、a64、a65。
[編碼部26進行的編碼處理的具體例2]
作為編碼部26進行的編碼處理的具體例2,說明包括循環處理的例子。
圖7表示具體例2的編碼部26的結構例。如圖7所示,具體例2的編碼部26例如具備增益取得部261、量化部262、方差參數決定部268、算術編碼部269、增益編碼部265、判定部266和增益更新部267。以下,說明圖7的各部。
<增益取得部261>
在增益部261中,被輸入由包絡歸一化部25所生成的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)。
增益取得部261從歸一化mdct系數串xn(0),xn(1),…,xn(n-1)中,決定整數信號碼的比特數為預先分配的比特數即分配比特數b以下且盡量成為大的值的全局增益g并輸出(步驟s261)。增益取得部261例如將歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的能量的合計的平方根和與分配比特數b具有負相關的常數的乘法值作為全局增益g來獲得并輸出。
得到的全局增益g被輸出到量化部262以及方差參數決定部268。
增益取得部261得到的全局增益g成為在量化部262以及方差參數決定部268中使用的全局增益的初始值。
<量化部262>
在量化部262中,被輸入由包絡歸一化部25所生成的歸一化mdct系數串xn(0),xn(1),…,xn(n-1)以及由增益取得部261或者增益更新部267得到的全局增益g。
量化部262得到將歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的各系數除以全局增益g所得的結果的整數部分的序列即量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1),并輸出(步驟s262)。
這里,量化部262在第一次執行時使用的全局增益g是由增益取得部261得到的全局增益g、即全局增益的初始值。此外,量化部262在第二次以后執行時使用的全局增益g是由增益更新部267得到的全局增益g、即全局增益的更新值。
得到的量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)被輸出到算術編碼部269。
<方差參數決定部268>
在方差參數決定部268中,被輸入由參數決定部27所讀出的參數η、由增益取得部261或者增益更新部267得到的全局增益g、由非平滑化振幅頻譜包絡生成部23所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)、由平滑化振幅頻譜包絡生成部24所生成的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)以及由線性預測分析部22得到的預測殘差的能量σ2。
方差參數決定部268根據全局增益g、非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)、平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)和預測殘差的能量σ2,通過上述的式(a1)、式(a8),得到方差參數序列
這里,方差參數決定部268在第一次執行時使用的全局增益g是由增益取得部261得到的全局增益g、即全局增益的初始值。此外,方差參數決定部268在第二次以后執行時使用的全局增益g是由增益更新部267得到的全局增益g、即全局增益的更新值。
得到的方差參數序列
<算術編碼部269>
在算術編碼部269中,被輸入由參數決定部27所讀出的參數η、由量化部262得到的量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)以及由方差參數決定部268得到的方差參數序列
算術編碼部269使用方差參數序列
算術編碼部269在算術編碼時,構成在量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)的各系數遵照廣義高斯分布
得到的整數信號碼以及消耗比特數c被輸出到判定部266。
也可以橫跨量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)中的多個系數而進行算術編碼。此時,從式(a1)、式(a8)可知,由于方差參數序列
<判定部266>
在判定部266中,被輸入由算術編碼部269得到的整數信號碼。
判定部266在增益的更新次數為預先決定的次數的情況下,輸出整數信號碼,且對增益編碼部265輸出對由增益更新部267得到的全局增益g進行編碼的指示信號,在增益的更新次數小于預先決定的次數的情況下,對增益更新部267輸出由算術編碼部264所測量的消耗比特數c(步驟s266)。
<增益更新部267>
在增益更新部267中,被輸入由算術編碼部264所測量的消耗比特數c。
增益更新部267在消耗比特數c多于分配比特數b的情況下,將全局增益g的值更新為大的值并輸出,在消耗比特數c少于分配比特數b的情況下,將全局增益g的值更新為小的值,并輸出更新后的全局增益g的值(步驟s267)。
增益更新部267得到的更新后的全局增益g被輸出到量化部262以及增益編碼部265。
<增益編碼部265>
在增益編碼部265中,被輸入來自判定部266的輸出指示以及由增益更新部267得到的全局增益g。
增益編碼部265根據指示信號,對全局增益g進行編碼而得到增益碼并輸出(步驟265)。
判定部266輸出的整數信號碼和增益編碼部265輸出的增益碼作為與歸一化mdct系數串對應的碼而被輸出到參數決定部27。
即,在本具體例2中,最后進行的步驟s267對應于上述的步驟a61,步驟s262、s263、s264、s265分別對應于上述的步驟a62、a63、a64、a65。
另外,關于編碼部26進行的編碼處理的具體例2,在國際公開公報wo2014/054556等中進一步詳細說明。
[編碼部26的變形例]
編碼部26也可以通過進行例如以下的處理,進行基于所估計的頻譜包絡(非平滑化振幅頻譜包絡)而改變比特分配的編碼。
編碼部26首先求出與歸一化mdct系數串xn(0),xn(1),…,xn(n-1)對應的全局增益g,求出對將歸一化mdct系數串xn(0),xn(1),…,xn(n-1)的各系數除以全局增益g所得的結果進行了量化的整數值的序列即量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)。
假設與該量化歸一化完畢系數序列xq(0),xq(1),…,xq(n-1)的各系數對應的量化比特在有xq(k)的分布的范圍內一致,能夠根據包絡的估計值而決定該范圍。還能夠對每多個樣本的包絡的估計值進行編碼,但編碼部26例如能夠使用如以下的式(a9)那樣基于線性預測的歸一化振幅頻譜包絡序列的值^hn(k)來決定xq(k)的范圍。
【數17】
在對某k中的xq(k)進行量化時,為了將xq(k)的平方誤差設為最小,能夠基于
【數18】
的限制,設定要分配的比特數b(k)
【數19】
b是預先決定的正整數。此時,編碼部26可以進行四舍五入以使b(k)成為整數或者在小于0的情況下設為b(k)=0等,進行b(k)的再調整的處理。
此外,編碼部26還能夠匯總多個樣本而決定分配比特數,而不是每個樣本的分配,對于量化也進行匯總多個樣本的每個矢量的量化,而不是每個樣本的標量量化。
若樣本k的xq(k)的量化比特數b(k)在上面提供,按每個樣本進行編碼,則xq(k)可取-2b(k)-1至2b(k)-1這2b(k)種整數。編碼部26以b(k)比特對各樣本進行編碼而得到整數信號碼。
所生成的整數信號碼被輸出到解碼裝置。例如,與所生成的xq(k)對應的b(k)比特的整數信號碼從k=0開始依次輸出到解碼裝置。
假設xq(k)超過上述的-2b(k)-1至2b(k)-1的范圍的情況下,被置換為最大值或者最小值。
g過小則在該置換中產生量化失真,g過大則量化誤差變大,xq(k)可取的范圍與b(k)相比變得過小,不能有效利用信息。因此,可以進行g的優化。
編碼部26對全局增益g進行編碼而得到增益碼并輸出。
如該編碼部26的變形例所示,編碼部26可以進行算術編碼以外的編碼。
<參數決定部27>
通過步驟a1至步驟a6的處理,對與相同的預定時間區間的時序信號對應的頻域樣本串按每個參數η生成的碼(在該例中,線性預測系數碼、增益碼以及整數信號碼)被輸入到參數決定部27。
參數決定部27從對與相同的預定時間區間的時序信號對應的頻域樣本串按每個參數η得到的碼中選擇一個碼,并決定與所選擇的碼對應的參數η(步驟a7)。該決定的參數η成為對于與該相同的預定時間區間的時序信號對應的頻域樣本串的參數η。并且,參數決定部27將所選擇的碼以及表示所決定的參數η的參數碼輸出到解碼裝置。碼的選擇基于碼的碼量以及與碼對應的編碼失真中的至少一方進行。例如,選擇碼量最小的碼或者編碼失真最小的碼。
這里,編碼失真是指從輸入信號得到的頻域樣本串和通過對所生成的碼進行本地解碼而得到的頻域樣本串的誤差。編碼裝置可以具備用于計算編碼失真的編碼失真計算部。該編碼失真計算部具備進行與以下敘述的解碼裝置相同的處理的解碼部,對該解碼部所生成的碼進行本地解碼。之后,編碼失真計算部計算從輸入信號得到的頻域樣本串和通過進行本地解碼而得到的頻域樣本串的誤差,并設為編碼失真。
(解碼)
圖9表示與編碼裝置對應的解碼裝置的結構例。如圖9所示,第一實施方式的解碼裝置例如具備線性預測系數解碼部31、非平滑化振幅頻譜包絡序列生成部32、平滑化振幅頻譜包絡序列生成部33、解碼部34、包絡反歸一化部35、時域轉換部36和參數解碼部37。圖10表示由該解碼裝置所實現的第一實施方式的解碼方法的各處理的例子。
在解碼裝置中,至少被輸入由編碼裝置所輸出的參數碼、與歸一化mdct系數串對應的碼以及線性預測系數碼。
以下,說明圖9的各部。
<參數解碼部37>
在參數解碼部37中,被輸入由編碼裝置所輸出的參數碼。
參數解碼部37通過對參數碼進行解碼而求出解碼參數η。求出的解碼參數η被輸出到非平滑化振幅頻譜包絡序列生成部32、平滑化振幅頻譜包絡序列生成部33以及解碼部34。在參數解碼部37中,多個解碼參數η作為候選而被存儲。參數解碼部37求出與參數碼對應的解碼參數η的候選作為解碼參數η。在參數解碼部37中存儲的多個解碼參數η與在編碼裝置的參數決定部27中存儲的多個參數η相同。
<線性預測系數解碼部31>
在線性預測系數解碼部31中,被輸入由編碼裝置所輸出的線性預測系數碼。
線性預測系數解碼部31按每個幀,對被輸入的線性預測系數碼通過例如現有的解碼技術進行解碼,從而得到解碼線性預測系數^β1,^β2,…,^βp(步驟b1)。
得到的解碼線性預測系數^β1,^β2,…,^βp被輸出到非平滑化振幅頻譜包絡序列生成部32以及非平滑化振幅頻譜包絡序列生成部33。
這里,現有的解碼技術例如是如下技術等:在線性預測系數碼為與被量化的線性預測系數對應的碼的情況下,得到與對線性預測系數碼進行解碼而被量化的線性預測系數相同的解碼線性預測系數的技術;在線性預測系數碼為與被量化的lsp參數對應的碼的情況下,得到與對線性預測系數碼進行解碼而被量化的lsp參數相同的解碼lsp參數的技術。此外,眾所周知,線性預測系數和lsp參數能夠相互轉換,根據被輸入的線性預測系數碼和后級的處理中所需的信息,進行解碼線性預測系數和解碼lsp參數之間的轉換處理即可。以上,包括上述的線性預測系數碼的解碼處理和根據需要而進行的上述的轉換處理的技術成為“基于現有的解碼技術的解碼”。
這樣,線性預測系數解碼部31通過對被輸入的線性預測系數碼進行解碼,生成能夠轉換為與偽相關函數信號串對應的線性預測系數的系數,該偽相關函數信號串通過進行將與時序信號對應的頻域樣本串的絕對值的η次方當作功率譜的傅里葉逆轉換而得到。
<非平滑化振幅頻譜包絡序列生成部32>
在非平滑化振幅頻譜包絡序列生成部32中,被輸入由參數解碼部37求出的解碼參數η以及由線性預測系數解碼部31得到的解碼線性預測系數^β1,^β2,…,^βp。
非平滑化振幅頻譜包絡序列生成部32通過上述的式(a2)而生成與解碼線性預測系數^β1,^β2,…,^βp對應的振幅頻譜包絡的序列即非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)(步驟b2)。
所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)被輸出到解碼部34。
這樣,非平滑化振幅頻譜包絡序列生成部32得到將與由線性預測系數解碼部31所生成的能夠轉換為線性預測系數的系數對應的振幅頻譜包絡的序列進行了1/η次方的序列即非平滑化頻譜包絡序列。
<平滑化振幅頻譜包絡序列生成部33>
在平滑化振幅頻譜包絡序列生成部33中,被輸入由參數解碼部37求出的解碼參數η以及由線性預測系數解碼部31得到的解碼線性預測系數^β1,^β2,…,^βp。
平滑化振幅頻譜包絡序列生成部33通過上述的式a(3)而生成削弱與解碼線性預測系數^β1,^β2,…,^βp對應的振幅頻譜包絡的序列的振幅的凹凸的序列即平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)(步驟b3)。
所生成的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)被輸出到解碼部34以及包絡反歸一化部35。
<解碼部34>
在解碼部34中,被輸入由參數解碼部37求出的解碼參數η、與由編碼裝置輸出的歸一化mdct系數串對應的碼、由非平滑化振幅頻譜包絡生成部32所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)以及由平滑化振幅頻譜包絡生成部33所生成的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)。
解碼部34具備方差參數決定部342。
解碼部34例如進行圖11所示的步驟b41至步驟b44的處理,從而進行解碼(步驟b4)。即,解碼部34按每個幀對在與被輸入的歸一化mdct系數串對應的碼中包含的增益碼進行解碼而得到全局增益g(步驟b41)。解碼部34的方差參數決定部342根據全局增益g和非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)和平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1),通過上述的式(a1),求出方差參數序列
另外,在通過[編碼部26的變形例]中記載的處理進行了編碼的情況下,解碼部34例如進行以下的處理。解碼部34按每個幀對在與被輸入的歸一化mdct系數串對應的碼中包含的增益碼進行解碼而得到全局增益g。解碼部34的方差參數決定部342根據非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)和平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1),通過上述的式(a9),求出方差參數序列
所生成的解碼歸一化mdct系數串^xn(0),^xn(1),…,^xn(n-1)被輸出到包絡反歸一化部35。
<包絡反歸一化部35>
在包絡反歸一化部35中,被輸入由平滑化振幅頻譜包絡生成部33所生成的平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)以及由解碼部34所生成的解碼歸一化mdct系數串^xn(0),^xn(1),…,^xn(n-1)。
包絡反歸一化部35使用平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1),對解碼歸一化mdct系數串^xn(0),^xn(1),…,^xn(n-1)進行反歸一化,從而生成解碼mdct系數串^x(0),^x(1),…,^x(n-1)(步驟b5)。
所生成的解碼mdct系數串^x(0),^x(1),…,^x(n-1)被輸出到時域轉換部36。
例如,包絡反歸一化部35設為k=0,1,…,n-1,對解碼歸一化mdct系數串^xn(0),^xn(1),…,^xn(n-1)的各系數^xn(k)乘以平滑化振幅頻譜包絡序列^hγ(0),^hγ(1),…,^hγ(n-1)的各包絡值^hγ(k)而生成解碼mdct系數串^x(0),^x(1),…,^x(n-1)。即,設為k=0,1,…,n-1,^x(k)=^xn(k)×^hγ(k)。
<時域轉換部36>
在時域轉換部36中,被輸入由包絡反歸一化部35所生成的解碼mdct系數串^x(0),^x(1),…,^x(n-1)。
時域轉換部36按每個幀將由包絡反歸一化部35得到的解碼mdct系數串^x(0),^x(1),…,^x(n-1)轉換為時域而得到幀單位的聲音信號(解碼聲音信號)(步驟b6)。
這樣,解碼裝置通過頻域中的解碼而得到時序信號。
[第二實施方式]
第一實施方式的編碼裝置以及方法是對多個參數η中的每個參數進行編碼而生成碼,從按每個參數η生成的碼中選擇最佳的碼,輸出所選擇的碼以及與所選擇的碼對應的參數碼的編碼裝置以及方法。
相對于此,第二實施方式的編碼裝置以及方法是首先參數決定部27決定參數η,基于所決定的參數η進行編碼而生成碼并輸出的編碼裝置以及方法。在第二實施方式中,參數η按每預定時間區間根據參數決定部27成為可變。這里,參數η按每預定時間區間成為可變意味著若預定時間區間變化則參數η也可以變化,設在相同的時間區間中參數η的值不變。
以下,以與第一實施方式不同的部分為中心進行說明。關于與第一實施方式同樣的部分,省略重復說明。
(編碼)
圖12表示第二實施方式的編碼裝置的結構例。如圖12所示,編碼裝置例如具備頻域轉換部21、線性預測分析部22、非平滑化振幅頻譜包絡序列生成部23、平滑化振幅頻譜包絡序列生成部24、包絡歸一化部25、編碼部26和參數決定部27’。圖13表示由該編碼裝置所實現的編碼方法的各處理的例子。
以下,說明圖12的各部。
<參數決定部27’>
在參數決定部27’中,被輸入作為時序信號的時域的聲音信號。聲音信號的例子是語音數字信號或者音響數字信號。
參數決定部27’基于被輸入的時序信號,通過后述的處理而決定參數η(步驟a7’)。
由參數決定部27’所決定的η被輸出到線性預測分析部22、非平滑化振幅頻譜包絡估計部23、平滑化振幅頻譜包絡估計部24以及編碼部26。
此外,參數決定部27’通過對所決定的η進行編碼而生成參數碼。所生成的參數碼被發送給解碼裝置。
關于參數決定部27’的細節,將在后面敘述。
頻域轉換部21、線性預測分析部22、非平滑化振幅頻譜包絡序列生成部23、平滑化振幅頻譜包絡序列生成部24、包絡歸一化部25以及編碼部26基于參數決定部27所決定的參數η,通過與第一實施方式同樣的處理而生成碼(步驟a1至步驟a6)。在該例中,碼是匯總了線性預測系數碼、增益碼、整數信號碼的碼。所生成的碼被發送給解碼裝置。
圖14表示參數決定部27’的結構例。如圖14所示,參數決定部27’例如具備頻域轉換部41、頻譜包絡估計部42、白化頻譜序列生成部43和參數取得部44。頻譜包絡估計部42例如具備線性預測分析部421以及非平滑化振幅頻譜包絡序列生成部422。例如,圖2表示由該參數決定部27’所實現的參數決定方法的各處理的例子。
以下,說明圖14的各部。
<頻域轉換部41>
在頻域轉換部41中,被輸入作為時序信號的時域的聲音信號。聲音信號的例子是語音數字信號或者音響數字信號。
頻域轉換部41以預定的時間長度的幀為單位,將被輸入的時域的聲音信號轉換為頻域的n點的mdct系數串x(0),x(1),…,x(n-1)。n是正整數。
得到的mdct系數串x(0),x(1),…,x(n-1)被輸出到頻譜包絡估計部42以及白化頻譜序列生成部43。
只要沒有特別限定,則設為以后的處理以幀為單位進行。
這樣,頻域轉換部41求出與聲音信號對應的、例如mdct系數串即頻域樣本串(步驟c41)。
<頻譜包絡估計部42>
在頻譜包絡估計部42中,被輸入由頻域轉換部21得到的mdct系數串x(0),x(1),…,x(n-1)。
頻譜包絡估計部42基于通過預定的方法而確定的參數η0,進行將與時序信號對應的頻域樣本串的絕對值的η0次方作為功率譜來使用的頻譜包絡的估計(步驟c42)。
所估計的頻譜包絡被輸出到白化頻譜序列生成部43。
頻譜包絡估計部42例如通過以下說明的線性預測分析部421以及非平滑化振幅頻譜包絡序列生成部422的處理,生成非平滑化振幅頻譜包絡序列,從而進行頻譜包絡的估計。
設參數η0通過預定的方法而決定。例如,將η0設為大于0的預定的數。例如,設η0=1。此外,可以使用比想要求出當前參數η的幀更早的幀中求出的η。比想要求出當前參數η的幀(以下,設為當前幀)更早的幀是例如比當前幀更早的幀且是當前幀的附近的幀。當前幀的附近的幀是例如當前幀的前一幀。
<線性預測分析部421>
在線性預測分析部421中,被輸入由頻域轉換部41得到的mdct系數串x(0),x(1),…,x(n-1)。
線性預測分析部421使用mdct系數串x(0),x(1),…,x(n-1),對通過以下的式(c1)而定義的~r(0),~r(1),…,~r(n-1)進行線性預測分析,生成線性預測系數β1,β2,…,βp,并對所生成的線性預測系數β1,β2,…,βp進行編碼而生成線性預測系數碼和與線性預測系數碼對應的被量化的線性預測系數即量化線性預測系數^β1,^β2,…,^βp。
【數20】
所生成的量化線性預測系數^β1,^β2,…,^βp被輸出到非平滑化頻譜包絡序列生成部422。
具體而言,線性預測分析部421首先通過進行將mdct系數串x(0),x(1),…,x(n-1)的絕對值的η0次方當作功率譜的相當于傅里葉逆轉換的運算、即式(c1)的運算,求出與mdct系數串x(0),x(1),…,x(n-1)的絕對值的η次方對應的時域的信號串即偽相關函數信號串~r(0),~r(1),…,~r(n-1)。并且,線性預測分析部421使用求出的偽相關函數信號串~r(0),~r(1),…,~r(n-1)進行線性預測分析,生成線性預測系數β1,β2,…,βp。并且,線性預測分析部421通過對所生成的線性預測系數β1,β2,…,βp進行編碼,得到線性預測系數碼和與線性預測系數碼對應的量化線性預測系數^β1,^β2,…,^βp。
線性預測系數β1,β2,…,βp是與將mdct系數串x(0),x(1),…,x(n-1)的絕對值的η0次方當作功率譜時的時域的信號對應的線性預測系數。
線性預測分析部421的線性預測系數碼的生成例如通過現有的編碼技術進行。現有的編碼技術例如是如下編碼技術等:將與線性預測系數本身對應的碼設為線性預測系數碼的編碼技術;將線性預測系數轉換為lsp參數而將與lsp參數對應的碼設為線性預測系數碼的編碼技術;將線性預測系數轉換為parcor系數而將與parcor系數對應的碼設為線性預測系數碼的編碼技術。
這樣,線性預測分析部421例如使用通過進行將mdct系數串即頻域樣本串的絕對值的η次方當作功率譜的傅里葉逆轉換而得到的偽相關函數信號串進行線性預測分析,生成能夠轉換為線性預測系數的系數(步驟c421)。
<非平滑化振幅頻譜包絡序列生成部422>
在非平滑化振幅頻譜包絡序列生成部422中,被輸入由線性預測分析部421所生成的量化線性預測系數^β1,^β2,…,^βp。
非平滑化振幅頻譜包絡序列生成部422生成與量化線性預測系數^β1,^β2,…,^βp對應的振幅頻譜包絡的序列即非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)。
所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)被輸出到白化頻譜序列生成部43。
非平滑化振幅頻譜包絡序列生成部422使用量化線性預測系數^β1,^β2,…,^βp,作為非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1),生成通過式(c2)而定義的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)。
【數21】
這樣,非平滑化振幅頻譜包絡序列生成部422通過基于由線性預測分析部421所生成的能夠轉換為線性預測系數的系數而得到將與偽相關函數信號串對應的振幅頻譜包絡的序列進行了1/η0次方的序列即非平滑化頻譜包絡序列,進行頻譜包絡的估計(步驟c422)。
<白化頻譜序列生成部43>
在白化頻譜序列生成部43中,被輸入由頻域轉換部41得到的mdct系數串x(0),x(1),…,x(n-1)以及由非平滑化振幅頻譜包絡生成部422所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)。
白化頻譜序列生成部43通過將mdct系數串x(0),x(1),…,x(n-1)的各系數除以對應的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)的各值,生成白化頻譜序列xw(0),xw(1),…,xw(n-1)。
所生成的白化頻譜序列xw(0),xw(1),…,xw(n-1)被輸出到參數取得部44。
白化頻譜序列生成部43例如設為k=0,1,…,n-1,通過將mdct系數串x(0),x(1),…,x(n-1)的各系數x(k)除以非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)的各值^h(k),從而生成白化頻譜序列xw(0),xw(1),…,xw(n-1)的各值xw(k)。即,設為k=0,1,…,n-1,xw(k)=x(k)/^h(k)。
這樣,白化頻譜序列生成部43得到將例如mdct系數串即頻域樣本串除以例如非平滑化振幅頻譜包絡序列即頻譜包絡所得的序列即白化頻譜序列(步驟c43)。
<參數取得部44>
在參數取得部44中,被輸入由白化頻譜序列生成部43所生成的白化頻譜序列xw(0),xw(1),…,xw(n-1)。
參數取得部44求出將參數η設為形狀參數的廣義高斯分布對白化頻譜序列xw(0),xw(1),…,xw(n-1)的直方圖進行近似的參數η(步驟c44)。換言之,參數取得部44決定將參數η設為形狀參數的廣義高斯分布接近白化頻譜序列xw(0),xw(1),…,xw(n-1)的直方圖的分布的參數η。
將參數η設為形狀參數的廣義高斯分布例如以下那樣定義。γ是伽馬函數。
【數22】
廣義高斯分布通過改變作為形狀參數的η,如圖3所示,在η=1時為拉普拉斯分布、在η=2時為高斯分布這樣能夠表現各種分布。
這里,參數取得部44求出的η例如通過以下的式(c3)而定義。f-1是函數f的逆函數。該式通過所謂的矩量(moment)法而導出。
【數23】
在逆函數f-1被顯式定義的情況下,參數取得部44通過計算在對顯式定義的逆函數f-1輸入了m1/((m2)1/2)的值時的輸出值,能夠求出參數η。
在逆函數f-1沒有被顯式定義的情況下,參數取得部44為了計算在式(c3)中定義的η的值,例如,可以通過以下說明的第一方法或者第二方法而求出參數η。
說明用于求出參數η的第一方法。在第一方法中,參數取得部44基于白化頻譜序列而計算m1/((m2)1/2),參照預先準備的不同的多個η和與η對應的f(η)的對,取得與最接近所計算的m1/((m2)1/2)的f(η)對應的η。
預先準備的不同的多個η和與η對應的f(η)的對預先存儲在參數取得部44的存儲部441中。參數取得部44參照存儲部441,找出最接近所計算的m1/((m2)1/2)的f(η),并從存儲部441讀入與所找到的f(η)對應的η并輸出。
最接近所計算的m1/((m2)1/2)的f(η)是指與所計算的m1/((m2)1/2)之差的絕對值變得最小的f(η)。
說明用于求出參數η的第二方法。在第二方法中,將逆函數f-1的近似曲線函數作為例如通過以下的式(c3’)表示的~f-1,參數取得部44基于白化頻譜序列而計算m1/((m2)1/2),通過計算在對近似曲線函數~f-1輸入了所計算的m1/((m2)1/2)時的輸出值而求出η。
另外,參數取得部44求出的η可以通過使用不是如式(c3)那樣而是如式(c3”)那樣預先決定的正整數q1以及q2(其中,q1<q2),將式(c3)設為一般化的式而被定義。
【數24】
另外,在η通過式(c3”)而被定義的情況下,也能夠通過與η通過式(c3)而被定義的情況同樣的方法來求出η。即,參數取得部44基于白化頻譜序列而計算出基于作為其q1次力矩(moment)的mq1和作為其q2次力矩的mq2的值mq1/((mq2)q1/q2)之后,例如,能夠與上述的第一以及第二方法同樣地,參照預先準備的不同的多個η和與η對應的f’(η)的對,取得與最接近所計算的mq1/((mq2)q1/q2)的f’(η)對應的η,或者將逆函數f’-1的近似曲線函數作為~f’-1,計算在對近似曲線函數~f-1輸入了所計算的mq1/((mq2)q1/q2)時的輸出值而求出η。
這樣,也可以說η是基于維數不同的2個不同的力矩mq1,mq2的值。例如,可以根據在維數不同的2個不同的力矩mq1,mq2中維數更低的力矩的值或者基于它的值(以下,設為前者)與維數更高的力矩的值或者基于它的值(以下,設為后者)之比的值、基于該比的值的值、或者將前者除以后者所得的值,求出η。基于力矩的值例如將其力矩設為m且將q作為預定的實數的話是mq。此外,可以將這些值輸入到近似曲線函數~f-1而求出η。與上述同樣地,該近似曲線函數~f’-1是在使用的定義域中輸出成為正值的單調遞增函數即可。
參數決定部27’可以通過循環處理而求出參數η。即,參數決定部27’可以把將在參數取得部44中求出的參數η設為通過預定的方法而確定的參數η0的、頻譜包絡估計部42、白化頻譜序列生成部43以及參數取得部44的處理進一步進行一次以上。
此時,例如,如在圖14中虛線所示,在參數取得部44中求出的參數η被輸出到頻譜包絡估計部42。頻譜包絡估計部42將在參數取得部44中求出的η作為參數η0來使用,進行與上述說明的處理同樣的處理,進行頻譜包絡的估計。白化頻譜序列生成部43基于新估計出的頻譜包絡,進行與上述說明的處理同樣的處理,生成白化頻譜序列。參數取得部44基于新生成的白化頻譜序列,進行與上述說明的處理同樣的處理,求出參數η。
例如,頻譜包絡估計部42、白化頻譜序列生成部43以及參數取得部44的處理可以進一步進行預定的次數即τ次。τ是預定的正整數,例如,τ=1或者τ=2。
此外,頻譜包絡估計部42可以直到本次求出的參數η和前一次求出的參數η之差的絕對值成為預定的閾值以下為止,重復頻譜包絡估計部42、白化頻譜序列生成部43以及參數取得部44的處理。
(解碼)
由于第二實施方式的解碼裝置以及方法與第一實施方式是同樣的,所以省略重復說明。
[[第二實施方式的變形例]]
另外,若至少基于參數η而能夠確定編碼處理的結構,則編碼處理可以是任意處理,也可以使用編碼部26的編碼處理以外的編碼處理。
以下,敘述編碼處理并不限定于編碼部26進行的編碼處理的、第二實施方式的變形例。
(編碼)
說明第二實施方式的變形例的編碼裝置以及方法的一例。
如圖17所示,第二實施方式的變形例的編碼裝置例如具備參數決定部27’、音響特征量提取部521、確定部522以及編碼部523。通過編碼裝置的各部進行圖18中例示的各處理,從而實現編碼方法。
以下,說明編碼裝置的各部。
<參數決定部27’>
在參數決定部27’中,被輸入作為時序信號的幀單位的時域的聲音信號。聲音信號的例子是語音數字信號或者音響數字信號。
參數決定部27’基于被輸入的時序信號,通過后述的處理而決定參數η(步驟fe1)。參數決定部27’按預定的時間長度的每個幀進行處理。即,按每個幀決定參數η。
由參數決定部27’所決定的參數η被輸出到確定部522。
圖21表示參數決定部27’的結構例。如圖21所示,參數決定部27’例如具備頻域轉換部41、頻譜包絡估計部42、白化頻譜序列生成部43和參數取得部44。頻譜包絡估計部42例如具備線性預測分析部421以及非平滑化振幅頻譜包絡序列生成部422。例如,圖22表示由該參數決定部27’所實現的參數決定方法的各處理的例子。
以下,說明圖21的各部。
<頻域轉換部41>
在頻域轉換部41中,被輸入作為時序信號的時域的聲音信號。
頻域轉換部41以預定的時間長度的幀為單位,將被輸入的時域的聲音信號轉換為頻域的n點的mdct系數串x(0),x(1),…,x(n-1)。n為正整數。
得到的mdct系數串x(0),x(1),…,x(n-1)被輸出到頻譜包絡估計部42以及白化頻譜序列生成部43。
只要沒有特別限定,則設為以后的處理以幀為單位進行。
這樣,頻域轉換部41求出與時序信號對應的、例如mdct系數串即頻域樣本串(步驟c41)。
<頻譜包絡估計部42>
在頻譜包絡估計部42中,被輸入由頻域轉換部21得到的mdct系數串x(0),x(1),…,x(n-1)。
頻譜包絡估計部42基于通過預定的方法而確定的參數η0,進行將與時序信號對應的頻域樣本串的絕對值的η0次方作為功率譜來使用的頻譜包絡的估計(步驟c42)。
所估計的頻譜包絡被輸出到白化頻譜序列生成部43。
頻譜包絡估計部42例如通過以下說明的線性預測分析部421以及非平滑化振幅頻譜包絡序列生成部422的處理,生成非平滑化振幅頻譜包絡序列,從而進行頻譜包絡的估計。
設參數η0通過預定的方法而決定。例如,將η0設為大于0的預定的數。例如,設η0=1。此外,可以使用比想要求出當前參數η的幀更早的幀中求出的η。比想要求出當前參數η的幀(以下,設為當前幀)更早的幀是例如比當前幀更早的幀且是當前幀的附近的幀。當前幀的附近的幀是例如當前幀的前一幀。
<線性預測分析部421>
在線性預測分析部421中,被輸入由頻域轉換部41得到的mdct系數串x(0),x(1),…,x(n-1)。
線性預測分析部421使用mdct系數串x(0),x(1),…,x(n-1),對通過以下的式(c1)而定義的~r(0),~r(1),…,~r(n-1)進行線性預測分析,生成線性預測系數β1,β2,…,βp,并對所生成的線性預測系數β1,β2,…,βp進行編碼而生成線性預測系數碼和與線性預測系數碼對應的被量化的線性預測系數即量化線性預測系數^β1,^β2,…,^βp。
【數25】
所生成的量化線性預測系數^β1,^β2,…,^βp被輸出到非平滑化頻譜包絡序列生成部422。
具體而言,線性預測分析部421首先通過進行將mdct系數串x(0),x(1),…,x(n-1)的絕對值的η0次方當作功率譜的相當于傅里葉逆轉換的運算、即式(c1)的運算,求出與mdct系數串x(0),x(1),…,x(n-1)的絕對值的η次方對應的時域的信號串即偽相關函數信號串~r(0),~r(1),…,~r(n-1)。并且,線性預測分析部421使用求出的偽相關函數信號串~r(0),~r(1),…,~r(n-1)進行線性預測分析,生成線性預測系數β1,β2,…,βp。并且,線性預測分析部421通過對所生成的線性預測系數β1,β2,…,βp進行編碼,得到線性預測系數碼和與線性預測系數碼對應的量化線性預測系數^β1,^β2,…,^βp。
線性預測系數β1,β2,…,βp是與將mdct系數串x(0),x(1),…,x(n-1)的絕對值的η0次方當作功率譜時的時域的信號對應的線性預測系數。
線性預測分析部421的線性預測系數碼的生成例如通過現有的編碼技術進行。現有的編碼技術例如是如下編碼技術等:將與線性預測系數本身對應的碼設為線性預測系數碼的編碼技術;將線性預測系數轉換為lsp參數而將與lsp參數對應的碼設為線性預測系數碼的編碼技術;將線性預測系數轉換為parcor系數而將與parcor系數對應的碼設為線性預測系數碼的編碼技術。
這樣,線性預測分析部421例如使用通過進行將mdct系數串即頻域樣本串的絕對值的η次方當作功率譜的傅里葉逆轉換而得到的偽相關函數信號串進行線性預測分析,生成線性預測系數(步驟c421)。
<非平滑化振幅頻譜包絡序列生成部422>
在非平滑化振幅頻譜包絡序列生成部422中,被輸入由線性預測分析部421所生成的量化線性預測系數^β1,^β2,…,^βp。
非平滑化振幅頻譜包絡序列生成部422生成與量化線性預測系數^β1,^β2,…,^βp對應的振幅頻譜包絡的序列即非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)。
所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)被輸出到白化頻譜序列生成部43。
非平滑化振幅頻譜包絡序列生成部422使用量化線性預測系數^β1,^β2,…,^βp,作為非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1),生成通過式(c2)而定義的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)。
【數26】
這樣,非平滑化振幅頻譜包絡序列生成部422通過基于由線性預測分析部421所生成的能夠轉換為線性預測系數的系數而得到將與偽相關函數信號串對應的振幅頻譜包絡的序列進行了1/η0次方的序列即非平滑化頻譜包絡序列,進行頻譜包絡的估計(步驟c422)。
另外,非平滑化頻譜包絡序列生成部422可以代替量化線性預測系數^β1,^β2,…,^βp而使用由線性預測分析部421所生成的線性預測系數β1,β2,…,βp,得到非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)。此時,線性預測分析部421可以不進行得到量化線性預測系數^β1,^β2,…,^βp的處理。
<白化頻譜序列生成部43>
在白化頻譜序列生成部43中,被輸入由頻域轉換部41得到的mdct系數串x(0),x(1),…,x(n-1)以及由非平滑化振幅頻譜包絡生成部422所生成的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)。
白化頻譜序列生成部43通過將mdct系數串x(0),x(1),…,x(n-1)的各系數除以對應的非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)的各值,生成白化頻譜序列xw(0),xw(1),…,xw(n-1)。
所生成的白化頻譜序列xw(0),xw(1),…,xw(n-1)被輸出到參數取得部44。
白化頻譜序列生成部43例如設為k=0,1,…,n-1,通過將mdct系數串x(0),x(1),…,x(n-1)的各系數x(k)除以非平滑化振幅頻譜包絡序列^h(0),^h(1),…,^h(n-1)的各值^h(k),從而生成白化頻譜序列xw(0),xw(1),…,xw(n-1)的各值xw(k)。即,設為k=0,1,…,n-1,xw(k)=x(k)/^h(k)。
這樣,白化頻譜序列生成部43得到將例如mdct系數串即頻域樣本串除以例如非平滑化振幅頻譜包絡序列即頻譜包絡所得的序列即白化頻譜序列(步驟c43)。
<參數取得部44>
在參數取得部44中,被輸入由白化頻譜序列生成部43所生成的白化頻譜序列xw(0),xw(1),…,xw(n-1)。
參數取得部44求出將參數η設為形狀參數的廣義高斯分布對白化頻譜序列xw(0),xw(1),…,xw(n-1)的直方圖進行近似的參數η(步驟c44)。換言之,參數取得部44決定將參數η設為形狀參數的廣義高斯分布接近白化頻譜序列xw(0),xw(1),…,xw(n-1)的直方圖的分布的參數η。
將參數η設為形狀參數的廣義高斯分布例如以下那樣定義。γ是伽馬函數。
【數27】
廣義高斯分布通過改變作為形狀參數的η,如圖23所示,在η=1時為拉普拉斯分布、在η=2時為高斯分布這樣能夠表現各種分布。
這里,參數取得部44求出的η例如通過以下的式(c3)而定義。f-1是函數f的逆函數。該式通過所謂的矩量法而導出。
【數28】
在逆函數f-1被顯式定義的情況下,參數取得部44通過計算在對顯式定義的逆函數f-1輸入了m1/((m2)1/2)的值時的輸出值,能夠求出參數η。
在逆函數f-1沒有被顯式定義的情況下,參數取得部44為了計算在式(c3)中定義的η的值,例如,可以通過以下說明的第一方法或者第二方法而求出參數η。
說明用于求出參數η的第一方法。在第一方法中,參數取得部44基于白化頻譜序列而計算m1/((m2)1/2),參照預先準備的不同的多個η和與η對應的f(η)的對,取得與最接近所計算的m1/((m2)1/2)的f(η)對應的η。
預先準備的不同的多個η和與η對應的f(η)的對預先存儲在參數取得部44的存儲部441中。參數取得部44參照存儲部441,找出最接近所計算的m1/((m2)1/2)的f(η),并從存儲部441讀入與所找到的f(η)對應的η并輸出。
最接近所計算的m1/((m2)1/2)的f(η)是指與所計算的m1/((m2)1/2)之差的絕對值變得最小的f(η)。
說明用于求出參數η的第二方法。在第二方法中,將逆函數f-1的近似曲線函數作為例如通過以下的式(c3’)表示的~f-1,參數取得部44基于白化頻譜序列而計算m1/((m2)1/2),通過計算在對近似曲線函數~f-1輸入了所計算的m1/((m2)1/2)時的輸出值而求出η。
另外,參數取得部44求出的η可以通過使用不是如式(c3)那樣而是如式(c3”)那樣預先決定的正整數q1以及q2(其中,q1<q2),將式(c3)設為一般化的式而被定義。
【數29】
另外,在η通過式(c3”)而被定義的情況下,也能夠通過與η通過式(c3)而被定義的情況同樣的方法來求出η。即,參數取得部44基于白化頻譜序列而計算出基于作為其q1次力矩的mq1和作為其q2次力矩的mq2的值mq1/((mq2)q1/q2)之后,例如,能夠與上述的第一以及第二方法同樣地,參照預先準備的不同的多個η和與η對應的f’(η)的對,取得與最接近所計算的mq1/((mq2)q1/q2)的f’(η)對應的η,或者將逆函數f’-1的近似曲線函數作為~f’-1,計算在對近似曲線函數~f-1輸入了所計算的mq1/((mq2)q1/q2)時的輸出值而求出η。
這樣,可以說η是基于維數不同的2個不同的力矩mq1,mq2的值。例如,可以根據在維數不同的2個不同的力矩mq1,mq2中維數更低的力矩的值或者基于它的值(以下,設為前者)與維數更高的力矩的值或者基于它的值(以下,設為后者)之比的值、基于該比的值的值、或者將前者除以后者所得的值,求出η。基于力矩的值例如將其力矩設為m且將q作為預定的實數的話是mq。此外,可以將這些值輸入到近似曲線函數~f-1而求出η。與上述同樣地,該近似曲線函數~f’-1是在使用的定義域中輸出成為正值的單調遞增函數即可。
參數決定部27’可以通過循環處理而求出參數η。即,參數決定部27’可以把將在參數取得部44中求出的參數η設為通過預定的方法而確定的參數η0的、頻譜包絡估計部42、白化頻譜序列生成部43以及參數取得部44的處理進一步進行一次以上。
此時,例如,如在圖21中虛線所示,在參數取得部44中求出的參數η被輸出到頻譜包絡估計部42。頻譜包絡估計部42將在參數取得部44中求出的η作為參數η0來使用,進行與上述說明的處理同樣的處理,進行頻譜包絡的估計。白化頻譜序列生成部43基于新估計出的頻譜包絡,進行與上述說明的處理同樣的處理,生成白化頻譜序列。參數取得部44基于新生成的白化頻譜序列,進行與上述說明的處理同樣的處理,求出參數η。
例如,頻譜包絡估計部42、白化頻譜序列生成部43以及參數取得部44的處理可以進一步進行預定的次數即τ次。τ是預定的正整數,例如,τ=1或者τ=2。
此外,頻譜包絡估計部42可以直到本次求出的參數η和前一次求出的參數η之差的絕對值成為預定的閾值以下為止,重復頻譜包絡估計部42、白化頻譜序列生成部43以及參數取得部44的處理。
<音響特征量提取部521>
在音響特征量提取部521中,被輸入作為時序信號的幀單位的時域的聲音信號。
音響特征量提取部521作為音響特征量,計算表示時序信號的聲音的大小的指標(步驟fe2)。所計算的表示聲音的大小的指標被輸出到確定部522。此外,音響特征量提取部521生成與音響特征量對應的音響特征量碼,并輸出到解碼裝置。
表示時序信號的聲音的大小的指標只要是表示該時序信號的聲音的大小的指標則可以是任意指標。表示時序信號的聲音的大小的指標是例如時序信號的能量。
另外,在該例中,由于以下敘述的確定部522不僅基于參數η還基于表示聲音的大小的指標來確定編碼處理的結構,所以音響特征量提取部521計算表示聲音的大小的指標,但在確定部522只使用參數η來進行編碼處理的結構的確定且不使用表示聲音的大小的指標的情況下,音響特征量提取部521可以不進行表示聲音的大小的指標的計算。
<確定部522>
在確定部522中,被輸入由參數決定部27’所決定的參數η和由音響特征量提取部521所計算的表示時序信號的聲音的大小的指標。此外,根據需要,被輸入作為時序信號的幀單位的聲音信號。
確定部522至少基于參數η來確定編碼處理的結構(步驟fe3),生成能夠確定編碼處理的結構的確定碼并輸出到解碼裝置。此外,由確定部522所確定的關于編碼處理的結構的信息被輸出到編碼部523。
確定部522可以只基于參數η來確定編碼處理的結構,也可以基于參數η和除此以外的參數來確定編碼處理的結構。
編碼處理的結構可以是tcx(轉換編碼激勵(transformcodedexcitation))、acelp(代數碼激勵線性預測(algebraiccodeexcitedlinearprediction))等編碼方法,也可以是某編碼方法中的作為時間的處理的單位的幀長、對碼分配的比特數、能夠轉換為線性預測系數的系數的階數(degree)、在編碼處理中使用的任意的參數的值。即,可以根據參數η,能夠適當地確定某編碼方法中的作為時間的處理的單位的幀長、對碼分配的比特數、能夠轉換為線性預測系數的系數的階數、在編碼處理中使用的任意的參數的值。
另外,參照圖12以及圖13,上述說明的第二實施方式的編碼裝置以及方法根據參數η來確定在編碼處理中使用的參數的值。因此,可以說參照圖12以及圖13,上述說明的第二實施方式的編碼裝置以及方法是基于參數η來確定編碼處理的結構的第二實施方式的變形例的一例。
能夠確定編碼處理的結構的確定碼只要是能夠確定編碼處理的結構的碼則可以是任意的碼。例如,能夠確定編碼處理的結構的確定碼是如下的基于預定的比特串的標志:作為編碼處理的結構,在確定了幀長長的tcx時為"11",在確定了幀長短的tcx時為"100"、在確定了acelp時為"101",例如在確定了只傳輸噪聲級別和確定等低比特的編碼處理時為"0"等。能夠確定編碼處理的結構的確定碼例如可以是表示參數η的參數碼。
能夠確定編碼處理的結構的確定碼由于只要是根據該確定碼而確定編碼處理的結構的話還確定對應的解碼處理的結構,所以可以說是還能夠確定解碼處理的結構的確定碼。
以下,首先,舉例說明基于參數η和表示時序信號的聲音的大小的指標來確定編碼處理的情況。
確定部522比較表示時序信號的聲音的大小的指標和預定的閾值ce,此外,比較參數η和預定的閾值cη。作為表示時序信號的聲音的大小的指標,例如在使用了平均振幅(每個樣本的平均能量的平方根)的情況下,設為ce=最大振幅值*(1/128)。例如,若是16比特精度,則由于最大振幅值成為32768,所以設為ce=256。此外,例如,設為cη=1。
若表示時序信號的聲音的大小的指標≥預定的閾值ce且參數η<預定的閾值cη,則由于時序信號是將持續音作為主體的管樂器或將弦樂器作為主體的音樂(以下,記載為持續音樂)的可能性高,所以確定部522決定進行適合持續音樂的編碼處理。適合持續音樂的編碼處理是例如幀長長的tcx編碼處理,具體而言,是1024個點的幀的tcx編碼處理。
若表示時序信號的聲音的大小的指標≥預定的閾值ce且參數η≥預定的閾值cη,則時序信號是將語音或者時間變動大的打擊樂器等作為主體的音樂的可能性高。
此時,確定部522根據需要而將被輸入的時序信號例如進行4分割,制成4個子幀,測定每個子幀的時序信號的能量。確定部522若將4個子幀的能量的算術平均除以幾何平均所得的值f=((1/4)σ4個子幀的能量)/((π子幀的能量)1/4)為預定的閾值cf以上,則時序信號是時間變動大的音樂的可能性高。此時,確定部522決定進行適合時間變動大的音樂的編碼處理。適合時間變動大的音樂的編碼處理是例如幀長短的tcx編碼處理,具體而言,是256個點的幀的tcx編碼處理。例如,設為ce=1.5。
若值f小于預定的閾值cf,則時序信號是語音的可能性高。此時,確定部522決定進行適合語音的編碼處理。適合語音的編碼處理是例如acelp、celp(碼激勵線性預測(codeexcitedlinearprediction))等語音編碼處理。
若表示時序信號的聲音的大小的指標<預定的閾值ce且參數η≥預定的閾值cη,則時序信號是無音區間的可能性高。這里,無音區間并不意味著聲音完全不存在的區間,而是意味著雖然不存在目的音但存在背景音或周圍的噪聲的區間。此時,確定部522決定為時序信號是無音區間。
若表示時序信號的聲音的大小的指標<預定的閾值ce且參數η<預定的閾值cη,則時序信號是音量小的持續音樂即背景音樂(以下,記載為如bgm這樣的具有特征的背景音)的可能性高。此時,確定部522決定進行適合如bgm這樣的具有特征的背景音的編碼處理。適合如bgm這樣的具有特征的背景音的編碼處理是例如幀長短的tcx編碼處理,具體而言,是256個比特點的幀的tcx編碼處理。
另外,確定部522可以不僅基于參數η,還基于被輸入的表示時序信號的聲音的大小的指標的時間性變動、頻譜形狀、頻譜形狀的時間性變動、基音的周期性的程度中的至少一個來確定編碼處理的結構。在進一步使用被輸入的表示時序信號的聲音的大小的指標的時間性變動、頻譜形狀、頻譜形狀的時間性變動、基音的周期性的程度中的至少一個的情況下,音響特征量提取部521計算被輸入的表示時序信號的聲音的大小的指標的時間性變動、頻譜形狀、頻譜形狀的時間性變動、基音的周期性的程度中由確定部522所使用的音響特征量,并輸出到確定部522。此外,音響特征量提取部521生成與所計算的音響特征量對應的音響特征量碼,并輸出到解碼裝置。
以下,分別說明(1)基于參數η和表示時序信號的聲音的大小的指標的時間性變動來確定編碼處理的結構的情況;(2)基于參數η和時序信號的頻譜形狀來確定編碼處理的結構的情況;(3)基于參數η和時序信號的頻譜形狀的時間性變動來確定編碼處理的結構的情況;(4)基于參數η和時序信號的基音的周期性來確定編碼處理的結構的情況。
(1)在基于參數η和表示時序信號的聲音的大小的指標的時間性變動來確定編碼處理的結構的情況下,確定部522判定表示時序信號的聲音的大小的指標的時間性變動是否大,此外,判定參數η是否大。
表示時序信號的聲音的大小的指標的時間性變動是否大例如能夠基于預定的閾值ce'來判定。即,若表示時序信號的聲音的大小的指標的時間性變動≥預定的閾值ce',則能夠判定為表示時序信號的聲音的大小的指標的時間性變動大,否則,能夠判定為表示時序信號的聲音的大小的指標的時間性變動小。
參數η是否大例如能夠基于預定的閾值cη來判定。即,若參數η≥預定的閾值cη,則能夠判定為參數η大,否則,能夠判定為參數η小。
在表示時序信號的聲音的大小的指標的時間性變動大且參數大的情況下,時序信號是語音的可能性高。此時,確定部522決定進行適合語音的編碼處理。例如,在使用了將構成時序信號的4個子幀的能量的算術平均除以幾何平均所得的值f=((1/4)σ4個子幀的能量)/((π子幀的能量)1/4)的情況下,設為ce'=1.5。
在表示時序信號的聲音的大小的指標的時間性變動大且參數小的情況下,時序信號是時間變動大的音樂的可能性高。此時,確定部522決定進行適合時間變動大的音樂的編碼處理。
在表示時序信號的聲音的大小的指標的時間性變動小且參數η大的情況下,時序信號是無音區間的可能性高。此時,確定部522決定為時序信號是無音區間。
在表示時序信號的聲音的大小的指標的時間性變動小且參數η小的情況下,是將持續音作為主體的管樂器或作為弦樂器的音樂的可能性高。此時,確定部522決定進行適合持續音樂的編碼處理。
(2)在基于參數η和時序信號的頻譜形狀來確定編碼處理的結構的情況下,確定部522判定時序信號的頻譜形狀是否平坦,此外,判定參數η是否大。
時序信號的頻譜形狀是否平坦能夠基于預定的閾值ev來判定。例如,若與時序信號對應的第一次parcor系數的絕對值小于預定的閾值ev(例如,ev=0.7),則能夠判定為時序信號的頻譜形狀平坦,否則,能夠判定為時序信號的頻譜形狀不平坦。
在時序信號的頻譜形狀平坦且參數η大的情況下,時序信號是無音區間的可能性高。此時,確定部522決定為時序信號是無音區間。
在時序信號的頻譜形狀平坦且參數η小的情況下,時序信號是時間變動大的音樂的可能性高。此時,確定部522決定進行適合時間變動大的音樂的編碼處理。
在時序信號的頻譜形狀不平坦且參數η大的情況下,時序信號是語音的可能性高。此時,確定部522決定進行適合語音的編碼處理。
在時序信號的頻譜形狀不平坦且參數η小的情況下,是將持續音作為主體的管樂器或作為弦樂器的音樂的可能性高。此時,確定部522決定進行適合持續音樂的編碼處理。
(3)在基于參數η和時序信號的頻譜形狀的時間性變動來確定編碼處理的結構的情況下,確定部522判定時序信號的頻譜形狀的時間性變動是否大,此外,判定參數η是否大。
時序信號的頻譜形狀的時間性變動是否平坦能夠基于預定的閾值ev'來判定。例如,若將構成時序信號的4個子幀的第一次parcor系數的絕對值的算術平均除以幾何平均所得的值fv=((1/4)σ4個子幀的第一次parcor系數的絕對值)/((π第一次parcor系數的絕對值)1/4)為預定的閾值ev'(例如,ev'=1.2)以上,則能夠判定為時序信號的頻譜形狀的時間性變動大,否則,能夠判定為時序信號的頻譜形狀的時間性變動小。
在時序信號的頻譜形狀的時間性變動大且參數η大的情況下,時序信號是語音的可能性高。此時,確定部522決定進行適合語音的編碼處理。
在時序信號的頻譜形狀的時間性變動大且參數η小的情況下,時序信號是時間變動大的音樂的可能性高。此時,確定部522決定進行適合時間變動大的音樂的編碼處理。
在時序信號的頻譜形狀的時間性變動小且參數η大的情況下,時序信號是無音區間的可能性高。此時,確定部522決定為時序信號是無音區間。
在時序信號的頻譜形狀的時間性變動小且參數η小的情況下,是將持續音作為主體的管樂器或作為弦樂器的音樂的可能性高。此時,確定部522決定進行適合持續音樂的編碼處理。
(4)在基于參數η和時序信號的基音的周期性來確定編碼處理的結構的情況下,確定部522判定時序信號的基音的周期性是否大,此外,判定參數η是否大。
時序信號的基音的周期性是否大例如能夠基于預定的閾值cp來判定。即,若時序信號的基音的周期性≥預定的閾值cp則基音的周期性大,否則,能夠判定為時序信號的基音的周期性小。作為基音的周期性,例如在使用了與基音周期偏離τ個樣本的序列的歸一化相關函數
【數30】
(其中,x(i)為時序串的樣本值,n為幀的樣本數))的情況下,設為cp=0.8。
在基音的周期性大且參數η大的情況下,時序信號是語音的可能性高。此時,確定部522決定進行適合語音的編碼處理。
在基音的周期性大且參數η小的情況下,是將持續音作為主體的管樂器或作為弦樂器的音樂的可能性高。此時,確定部522決定進行適合持續音樂的編碼處理。
在基音的周期性小且參數η大的情況下,時序信號是無音區間的可能性高。此時,確定部522決定為時序信號是無音區間。
在基音的周期性小且參數η小的情況下,時序信號是時間變動大的音樂的可能性高。此時,確定部522決定進行適合時間變動大的音樂的編碼處理。
<編碼部523>
在編碼部523中,被輸入作為時序信號的幀單位的聲音信號和關于確定部522所確定的編碼處理的結構的信息。
編碼部523通過確定的結構的編碼處理,對被輸入的時序信號進行編碼而生成碼(步驟fe4)。所生成的碼被輸出到解碼裝置。
在確定了適合持續音樂的編碼處理的情況下,例如進行幀長長的tcx(轉換編碼激勵(transformcodedexcitation))編碼處理,具體而言,進行1024個點的幀的tcx編碼處理。另外,此時,可以不是將表示由參數決定部27’所決定的參數η的碼,而是將表示固定值的η(例如,η=0.8)的碼作為參數碼而輸出到解碼裝置。
在確定了適合時間變動大的音樂的編碼處理的情況下,例如進行幀長短的tcx編碼處理,具體而言,進行256個點的幀的tcx編碼處理。
在確定了適合如bgm這樣的具有特征的背景音的編碼處理的情況下,例如進行幀長短的tcx編碼處理,具體而言,進行256個點的幀的tcx編碼處理。另外,此時,可以不是將表示由參數決定部27’所決定的參數η的碼,而是將表示固定值的η(例如,η=0.8)的碼作為參數碼而輸出到解碼裝置。
在確定了適合語音的編碼處理的情況下,例如進行acelp(代數碼激勵線性預測algebraiccodeexcitedlinearprediction))、celp(碼激勵線性預測(codeexcitedlinearprediction))等語音編碼處理。
在決定為時序信號是無音區間的情況下,編碼部523不對被輸入的時序信號進行編碼,而是例如進行以下說明的(i)第一方法或者(ii)第二方法的處理。
(i)第一方法
編碼部523將表示是無音區間的信息發送給解碼裝置。表示是無音區間的信息例如以1比特等低比特而被發送。編碼部523在發送了表示是無音區間的信息之后,在由確定部522決定為成為處理的對象的時序信號是無音區間的期間,可以不再次發送表示是無音區間的信息。
(ii)第二方法
編碼部523將表示是無音區間的信息、時序信號的頻譜包絡的形狀以及時序信號的振幅的信息發送給解碼裝置。
(解碼)
說明解碼裝置以及方法的一例。
如圖19所示,解碼裝置例如具備確定碼解碼部525、音響特征量碼解碼部526、確定部527以及解碼部528。解碼裝置的各部通過進行在圖20中例示的各處理,從而實現解碼方法。
以下,說明解碼裝置的各部。
<確定碼解碼部525>
在確定碼解碼部525中,被輸入由編碼裝置輸出的確定碼。
確定碼解碼部525對確定碼進行解碼,取得關于編碼處理的結構的信息(步驟fd1)。所取得的關于編碼處理的結構的信息被輸出到確定部527。
在確定碼為參數碼的情況下,確定碼解碼部525對參數碼進行解碼而得到參數η,并將得到的參數η作為關于編碼處理的結構的信息而輸出到確定部527。
<音響特征量碼解碼部526>
在音響特征量碼解碼部526中,被輸入由編碼裝置所輸出的音響特征量碼。
音響特征量碼解碼部526對音響特征量碼進行解碼,得到表示時序信號的聲音的大小的指標、表示聲音的大小的指標的時間性變動、頻譜形狀、頻譜形狀的時間性變動、基音的周期性的程度中的至少一個即音響特征量(步驟fd2)。得到的音響特征量被輸出到確定部527。
另外,在編碼側,只基于參數η而確定編碼處理的結構,在沒有生成音響特征量以及音響特征量碼的情況下,音響特征量碼解碼部526不進行處理。
<確定部527>
在確定部527中,被輸入由確定碼解碼部525所得到的關于編碼處理的結構的信息。此外,在確定部527中,根據需要,被輸入由音響特征量碼解碼部526所得到的音響特征量。
確定部527基于關于編碼處理的結構的信息,確定解碼處理的結構(步驟fd3)。例如,確定部527確定與由關于編碼處理的結構的信息所確定的編碼處理的結構對應的解碼處理的結構。確定部527也可以根據需要,基于關于編碼處理的結構的信息和音響特征量來確定解碼處理的結構。所確定的關于解碼處理的結構的信息被輸出到解碼部528。
以下,舉例說明作為關于編碼處理的結構的信息而被輸入參數η,且被輸入表示時序信號的聲音的大小的指標、表示聲音的大小的指標的時間性變動、頻譜形狀、頻譜形狀的時間性變動、基音的周期性的程度中的至少一個即音響特征量的情況。
此時,設對解碼裝置的確定部527預先決定了與編碼裝置的確定部522進行的編碼處理的結構的特定的判斷基準同樣的判斷基準。確定部527根據該判斷基準,使用參數η和音響特征量來確定與在確定部522中確定的編碼處理的結構對應的解碼處理的結構。
關于編碼裝置的確定部522進行的編碼處理的結構的特定的判斷基準,由于已在(編碼)中進行了說明,所以在此省略重復說明。
例如,作為解碼處理的結構,確定適合持續音樂的解碼處理、適合時間變動大的音樂的解碼處理、適合如bgm這樣的具有特征的背景音的解碼處理、適合語音的解碼處理中的任一個。或者,確定部527決定為時序信號是無音區間。
<解碼部528>
在解碼部528中,被輸入由編碼裝置所輸出的碼和由確定部527所確定的關于解碼處理的結構的信息。
解碼部528通過確定的結構的解碼處理,得到作為時序信號的幀單位的聲音信號(步驟fd4)。
在確定了適合持續音樂的解碼處理的情況下,例如進行幀長長的tcx(轉換編碼激勵(transformcodedexcitation))解碼處理,具體而言,進行1024個點的幀的tcx解碼處理。
在確定了適合時間變動大的音樂的解碼處理的情況下,例如進行幀長短的tcx解碼處理,具體而言,進行256個點的幀的tcx解碼處理。
在確定了適合如bgm這樣的具有特征的背景音的解碼處理的情況下,例如進行幀長短的tcx解碼處理,具體而言,進行256個點的幀的tcx解碼處理。
在確定了適合語音的解碼處理的情況下,例如進行acelp(代數碼激勵線性預測algebraiccodeexcitedlinearprediction))、celp(碼激勵線性預測(codeexcitedlinearprediction))等語音解碼處理。
在解碼裝置接收到表示是無音區間的信息的情況下或者在由確定部527決定為時序信號是無音區間的情況下,解碼部528例如進行以下說明的(i)第一方法或者(ii)第二方法的處理。
(i)第一方法
對應于編碼側的(i)第一方法。
解碼部528產生預先決定的噪聲。
(ii)第二方法
解碼部528使用與表示是無音區間的信息一同接收到的、時序信號的頻譜包絡的形狀以及時序信號的振幅的信息,將預先決定的噪聲進行變形而輸出。噪聲的變形方法只要使用在evs(增強語音服務(enhancedvoiceservice))等中使用的現有的方法即可。
這樣,解碼部528在獲取了表示是無音區間的信息的情況下,可以產生噪聲。
[變形例等]
若將線性預測分析部22以及非平滑化振幅頻譜包絡序列生成部23作為一個頻譜包絡估計部2a來掌握,則可以說該頻譜包絡估計部2a進行與時序信號對應的例如將作為mdct系數串的頻域樣本串的絕對值的η次方當作功率譜的頻譜包絡(非平滑化振幅頻譜包絡序列)的估計。這里,“當作功率譜”意味著在通常使用功率譜時使用η次方的頻譜。
此時,可以說頻譜包絡估計部2a的線性預測分析部22例如使用通過進行將作為mdct系數串的頻域樣本串的絕對值的η次方當作功率譜的傅里葉逆轉換而得到的偽相關函數信號串進行線性預測分析,得到能夠轉換為線性預測系數的系數。此外,可以說頻譜包絡估計部2a的非平滑化振幅頻譜包絡序列生成部23通過得到將與由線性預測分析部22所得到的能夠轉換為線性預測系數的系數對應的振幅頻譜包絡的序列進行了1/η次方的序列即非平滑化頻譜包絡序列而進行頻譜包絡的估計。
此外,若將平滑化振幅頻譜包絡序列生成部24、包絡歸一化部25以及編碼部26作為一個編碼部2b來掌握,則可以說該編碼部2b對與時序信號對應的例如mdct系數串即頻域樣本串的各系數進行基于由頻譜包絡估計部2a所估計的頻譜包絡(非平滑化振幅頻譜包絡序列)而改變比特分配或者比特分配實質上發生改變的編碼。
若將解碼部34以及包絡反歸一化部35作為一個解碼部3a來掌握,則可以說該解碼部3a根據基于非平滑化頻譜包絡序列而改變的比特分配或者實質上發生改變的比特分配,進行被輸入的整數信號碼的解碼,從而得到與時序信號對應的頻域樣本串。
若編碼部2b進行基于頻譜包絡(非平滑化振幅頻譜包絡序列)而改變比特分配或者比特分配實質上發生改變的編碼,則可以進行上述說明的算術編碼以外的編碼處理。此時,解碼部3a進行與編碼部2b進行的編碼處理對應的解碼處理。
例如,編碼部2b可以使用基于頻譜包絡(非平滑化振幅頻譜包絡序列)而決定的rice參數,對頻域樣本串進行golomb-rice編碼。此時,解碼部3a可以使用基于頻譜包絡(非平滑化振幅頻譜包絡序列)而決定的rice參數,進行golomb-rice解碼。
在第一實施方式中,編碼裝置在決定參數η時可以不將編碼處理進行到最后。換言之,參數決定部27可以基于估計碼量來決定參數η。此時,編碼部2b使用多個參數η中的每一個,得到對于與相同的預定時間區間的時序信號對應的頻域樣本串的、通過與上述同樣的編碼處理而得到的碼的估計碼量。參數決定部27基于得到的估計碼量,選擇多個參數η中的任一個。例如,選擇估計碼量最小的參數η。編碼部2b通過使用所選擇的參數η進行與上述同樣的編碼處理,得到碼并輸出。
編碼裝置也可以還具備在圖4或者圖12中如虛線所示的分割部28。分割部28基于頻域轉換部21所生成的例如mdct系數串即頻域樣本串,生成由與頻域樣本串的周期性分量對應的樣本構成的第一頻域樣本串和由與頻域樣本串的周期性分量對應的樣本以外的樣本構成的第二頻域樣本串,并將表示與周期性分量對應的樣本的信息作為輔助信息而輸出到解碼裝置。
換言之,第一頻域樣本串是由與頻域樣本串的山的部分對應的樣本構成的樣本串,第二頻域樣本串是由與頻域樣本串的谷的部分對應的樣本構成的樣本串。
例如,將由包括和與頻域樣本串中的頻域樣本串對應的時序信號的周期性或者基本頻率對應的樣本在內的一個或者連續的多個樣本、以及包括和與頻域樣本串中的頻域樣本串對應的時序信號的周期性或者基本頻率的整數倍對應的樣本在內的一個或者連續的多個樣本中的全部或者一部分樣本構成的樣本串作為第一頻域樣本串來生成,將由不包含在頻域樣本串中的第一頻域樣本串中的樣本構成的樣本串作為第二頻域樣本串來生成。第一頻域樣本串和第二頻域樣本串的生成能夠使用在國際公開公報wo2012/046685中記載的方法進行。
線性預測分析部22、非平滑化振幅頻譜包絡序列生成部23、平滑化振幅頻譜包絡序列生成部24、包絡歸一化部25、編碼部26以及參數決定部27關于第一頻域樣本串以及第二頻域樣本串的每一個,進行在第一實施方式或者第二實施方式中說明的編碼處理而生成碼。即,例如,在進行算術編碼的情況下,生成與第一頻域樣本串對應的參數碼、線性預測系數碼、整數信號碼以及增益碼,生成與第二頻域樣本串對應的參數碼、線性預測系數碼、整數信號碼以及增益碼。
這樣,通過關于第一頻域樣本串以及第二頻域樣本串的每一個進行編碼,能夠更加有效率地進行編碼。
此時,解碼裝置可以進一步具備在圖9中由虛線所示的結合部38。解碼裝置基于與第一頻域樣本串對應的碼(例如,參數碼、線性預測系數碼、整數信號碼以及增益碼),進行在第一實施方式或者第二實施方式中說明的解碼處理,求出解碼第一頻域樣本串。此外,解碼裝置基于與第二頻域樣本串對應的碼(例如,參數碼、線性預測系數碼、整數信號碼以及增益碼),進行在第一實施方式或者第二實施方式中說明的解碼處理,求出解碼第二頻域樣本串。結合部38使用被輸入的輔助信息,將解碼第一頻域樣本串以及解碼第二頻域樣本串適當結合而求出例如作為解碼mdct系數串^x(0),^x(1),…,^x(n-1)的解碼頻域樣本串。時域轉換部將解碼頻域樣本串轉換為時域而求出時序信號。使用了輔助信息的結合能夠使用在國際公開公報wo2012/046685中記載的方法進行。
另外,在比特率低的情況下或想要進一步減少碼量的情況下,可以在編碼裝置中只對第一頻域樣本串進行編碼,只生成與第一頻域樣本串對應的碼,不生成與第二頻域樣本串對應的碼,在解碼裝置中,可以使用從碼得到的第一頻域樣本串和將樣本的值設為0的第二頻域樣本串而求出解碼頻域樣本串。
此外,線性預測分析部22、非平滑化振幅頻譜包絡序列生成部23、平滑化振幅頻譜包絡序列生成部24、包絡歸一化部25、編碼部26以及參數決定部27可以關于將第一頻域樣本串和第二頻域樣本串結合而得到的樣本串即整列后樣本串,進行在第一實施方式或者第二實施方式中說明的編碼處理而生成碼。例如,在進行算術編碼的情況下,生成與整列后樣本串對應的參數碼、線性預測系數碼、整數信號碼以及增益碼。
這樣,通過關于整列后樣本串進行編碼,能夠更加有效率地進行編碼。
此時,解碼裝置進行在第一實施方式或者第二實施方式中說明的解碼處理,求出解碼整列后樣本串,使用被輸入的輔助信息,按照與在編碼裝置中生成了第一頻域樣本串和第二頻域樣本串的規則對應的規則,對解碼整列后樣本串進行整列,例如求出作為解碼mdct系數串^x(0),^x(1),…,^x(n-1)的解碼頻域樣本串。時域轉換部36將解碼頻域樣本串轉換為時域而求出時序信號。使用了輔助信息的整列能夠使用在國際公開公報wo2012/046685中記載的方法進行。
此外,編碼裝置可以按每個幀選擇如下方法中的任一個方法:(1)關于頻域樣本串進行編碼處理而生成碼的方法;(2)關于第一頻域樣本串以及第二頻域樣本串的每一個進行編碼處理而生成碼的方法;(3)只關于第一頻域樣本串進行編碼處理而生成碼的方法;(4)關于將第一頻域樣本串和第二頻域樣本串結合而得到的樣本串即整列后樣本串進行編碼處理而生成碼的方法。此時,編碼裝置還輸出表示選擇了(1)至(4)中的哪一個方法的碼,解碼裝置根據按每個幀輸入的碼,進行與上述的任一個方法對應的解碼處理。
另外,在編碼裝置的參數決定部27以及解碼裝置的參數解碼部37中,可以存儲有與上述的(1)至(4)的方法的每一個對應的參數η的候選。同樣地,在編碼裝置的線性預測分析部22以及解碼裝置的線性預測系數解碼部31中,可以存儲有與上述的(1)至(4)的方法的每一個對應的量化線性預測系數的候選以及解碼線性預測系數的候選。
非平滑化振幅頻譜包絡序列生成部23以及非平滑化振幅頻譜包絡序列生成部422例如可以基于作為mdct系數串^x(0),^x(1),…,^x(n-1)的頻域樣本串的周期性分量,對頻譜包絡序列(非平滑化振幅頻譜包絡序列)進行變形而生成周期性綜合包絡序列。同樣地,非平滑化振幅頻譜包絡序列生成部32例如可以基于作為解碼mdct系數串^x(0),^x(1),…,^x(n-1)的解碼頻域樣本串的周期性分量,對頻譜包絡序列(非平滑化振幅頻譜包絡序列)進行變形而生成周期性綜合包絡序列。此時,編碼部26的方差參數決定部268、解碼部34以及白化頻譜序列生成部43使用周期性綜合包絡序列來代替頻譜包絡序列(非平滑化振幅頻譜包絡序列),進行與上述同樣的處理。由于周期性綜合包絡序列的、由時序信號的基音周期所引起的峰值附近的近似精度好,所以通過使用周期性綜合包絡序列,能夠提高編碼效率。
例如,將頻域樣本串的周期越大則頻譜包絡序列中的至少頻域樣本串的周期的整數倍以及周期的整數倍的附近的樣本的值越大幅變更而得到的序列設為周期性綜合包絡序列。此外,也可以將時序信號的周期性的程度越大則頻譜包絡序列中的至少頻域樣本串的周期的整數倍以及周期的整數倍的附近的樣本的值越大幅變更而得到的序列設為周期性綜合包絡序列。此外,也可以將頻域樣本串的周期越大則頻譜包絡序列中的頻域樣本串的周期的整數倍的附近的較多樣本的值越大幅變更而得到的序列設為周期性綜合包絡序列。
進一步,可以將n和u設為正整數,將t設為頻域樣本串的具有周期性的分量的間隔,將l設為間隔t的小數點以下的位數,將v設為1以上的整數,將floor(·)設為舍去小數點以下而返回整數值的函數,將round(·)設為將小數點第一位進行四舍五入的而返回整數值的函數,設為t’=t×2l,將^h[0],…,^h[n-1]設為頻譜包絡序列,將δ設為決定頻譜包絡^h[n]和周期性包絡p[k]的混合比率的值,關于(u×t’)/2l-v-1≦k≦(u×t’)/2l+v-1的范圍的整數k,如
【數31】
其中,
h=2.8·(1.125-exp(-0.07·t′/2l)),
pd=0.5·(2.6-exp(-0.05·t′/2l))
那樣求出周期性包絡序列p[1],…,p[n],使用求出的周期性包絡序列p[1],…,p[n]而求出通過以下的式而定義的周期性綜合包絡序列^hm[1],…,^hm[n]。h以及pd可以是上述的例子以外的預定的值。
【數32】
決定頻譜包絡^h[n]和周期性包絡p[k]的混合比率的值即δ可以在編碼裝置以及解碼裝置中預先決定,也可以生成表示在編碼裝置中確定的δ的信息的碼并輸出到解碼裝置。在后者的情況下,解碼裝置通過對被輸入的表示δ的信息的碼進行解碼而求出δ。解碼裝置的非平滑化振幅頻譜包絡序列生成部32通過使用求出的δ,能夠求出與在編碼裝置中生成的周期性綜合包絡序列相同的周期性綜合包絡序列。
若將圖12的頻譜包絡估計部2a、編碼部2b、頻域轉換部21以及分割部28作為一個編碼部2c來掌握,則可以說該編碼部2c通過至少基于每預定時間區間的參數η而確定的結構的編碼處理,對每預定時間區間的時序信號進行編碼。
此外,若將圖17的音響特征量提取部521、確定部522以及編碼部523作為一個編碼部2d來掌握,則可以說該編碼部2d通過至少基于每預定時間區間的參數η而確定的結構的編碼處理,對每預定時間區間的時序信號進行編碼。
這樣,能夠認為編碼部2c以及編碼部2d進行同樣的處理。
上述說明的處理不僅按照記載的順序而時序地執行,也可以根據執行處理的裝置的處理能力或根據需要而并行地或單獨地執行。
此外,可以通過計算機來實現各方法或者各裝置中的各種處理。此時,各方法或者各裝置的處理內容通過程序而記述。并且,通過在計算機中執行該程序,在計算機上實現各方法或者各裝置中的各種處理。
記述了該處理內容的程序能夠記錄至計算機可讀取的記錄介質。作為計算機可讀取的記錄介質,例如可以是磁記錄裝置、光盤、光磁記錄介質、半導體存儲器等任意的介質。
此外,該程序的流通例如通過對記錄有該程序的dvd、cd-rom等可移動式記錄介質進行銷售、轉讓、借出等而進行。進而,也可以是通過將該程序存儲至服務器計算機的存儲裝置,經由網絡,從服務器計算機向其他計算機轉發該程序,從而使該程序流通。
執行這樣的程序的計算機例如首先將在可移動式記錄介質中記錄的程序或從服務器計算機轉發的程序臨時存儲在自己的存儲裝置中。并且,在執行處理時,該計算機讀取在自己的記錄裝置中存儲的程序,執行按照所讀取的程序的處理。此外,作為該程序的另一實施方式,也可以是計算機從可移動式記錄介質直接讀取程序,執行按照該程序的處理,進而,也可以在每次從服務器計算機向該計算機轉發程序時,依次執行按照所接受到的程序的處理。此外,也可以設為不進行從服務器計算機向該計算機的程序的轉發,通過僅根據其執行指示和結果取得而實現處理功能的、所謂的asp(應用服務提供商(applicationserviceprovider))型的服務來執行上述的處理的結構。另外,在程序中,包括供于電子計算機的處理用的信息且遵照程序的數據(雖然不是對于計算機的直接指令但具有規定計算機的處理的性質的數據等)。
此外,設為在計算機上執行預定的程序而構成了各裝置,但這些處理內容的至少一部分也可以通過硬件來實現。