麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

信息編碼方法、解碼方法、共用乘數估計方法、利用這些方法的裝置、程序以及記錄介質的制作方法

文檔序號:2829213閱讀:395來源:國知局
專利名稱:信息編碼方法、解碼方法、共用乘數估計方法、利用這些方法的裝置、程序以及記錄介質的制作方法
技術領域
本發明涉及用于通過通信路徑傳輸聲音、音樂等音響信號或圖像信號(以下包含這些在內稱為信息信號)的多個采樣值,或者在記錄在信息記錄介質的情況下提高傳輸效率,或者用于減少記錄容量等使用的信息壓縮編碼方法、其解壓縮解碼方法、估計對用于所述信息壓縮編碼的多個信息集合的共用的乘數的方法、利用這些方法的裝置、程序以及記錄介質。
背景技術
作為對于音響信號數據(采樣值)允許失真的壓縮編碼方式,有MP3、AAC、TwinVQ等。另外,作為圖像信息數據(采樣值)的壓縮編碼方式,有JPEG等。另外,有不允許失真的可逆的編碼(無損編碼)技術(例如參照非專利文獻1)。另外,容易編輯加工的浮點(floating-point)形式的數據的可逆壓縮也重要(例如參照非專利文獻2)。另外,以往對于多個數值,作為求共用的最大公約數、即共用的乘數的方法已知歐幾里德輾轉相除法(Euclidean algorithm)。
在音響信號的情況下,對由麥克風等集音的音響信號以采樣頻率f、量化位數q進行采樣,作為將各個采樣值變換成數字值的數字采樣輸入。此時,對各個模擬的采樣乘以共用的常數,從而進行增益調整的情況多。在進行模擬-數字變換之前,在模擬區域乘以常數,之后,在進行模擬-數字變換的情況下,有時在模擬信號區域包含誤差。
同樣地,在對圖像信息信號壓縮編碼時,在將2維的圖像信號進行光柵掃描作為1維的采樣序列獲得的情況下,有時在取得原來的圖像信號時也對各個采樣乘以共用的常數從而完成增益調整。
對原來的采樣序列的各個采樣s0(i),共同地乘以作為增益的實數G而獲得的采樣s1(i)為s1(i)=s0(i)×G。
將乘以該實數G而獲得的采樣s1(i)以2進制表現或者IEEE754形式的2進制浮點表現來表現,并將這些數字采樣序列編碼的情況多。作為IEEE-754被規格化的浮點方式如圖1所示為32位。從高位的位起由極性1位、指數部8位、尾數部23位構成。將極性設為S,將以指數部8位表示的值以10進制數方式設為E,將尾數部的2進制數設為M時,該浮點形式的數值以絕對值表現2進制數來表示時,為式(1)。
(-1)s×1.M×2E-E0(1)根據IEEE-754,決定為E0=27-1=127,由此,式(1)中的E-E0能夠取-127≤E-E0≤128的范圍的任意的值。但是在E-E0=127的情況下,all(都)定義為“0”,在E-E0=128的情況下,all定義為“1”。E-E0=n表示從以式(1)表示的值的整數部分的位數(bit數)中減去1的值、即從最高位的“1”起表示低位的位數。
以往的壓縮編碼方法例如文獻1所示的方法主要是盡量除去輸入采樣序列的原輸入波形(例如音樂信號波形)的冗長性,使信息量減少。另外,在編碼裝置能夠編碼的輸入波形的振幅(位長度)例如規定為16位。所以,例如位長度為24位的情況下,對高位16位編碼,低位的8位原封不動輸出或者壓縮編碼成其它形式來輸出。
非專利文獻1Hans M.and Schafer R.W.Lossless Compression of DigitalAudio,IEEE Signal Processing Magazine,Vol.18,No.4,pp.21-32(2001).
非專利文獻2Dai Yang and Takehiro MoriyaLssless Compression forAudio Data in the IEEE Floating-point Format,AES Convention Paper 5987,AES115th Convention,New York,NY,USA,2003 OCTOBER 10-13.

發明內容
發明要解決的課題在以往的編碼方法(裝置)中,比預先決定的振幅(位長度)大的輸入采樣序列不能編碼。在變換成能夠編碼的振幅(位長度)而編碼的情況下,編碼質量惡化。另外,將不能編碼的部分進而作為其它信息(碼)的情況下,有信息量增加這樣的課題。
例如,作為在將該采樣序列以不允許失真的通用(universal)編碼方法編碼,將采樣序列的各采樣視為位序列。這里,采樣序列x(1)~x(3)如x(1)=10100000(10進制數160),x(2)=100000(10進制數32),x(3)=111000000(10進制數224)這樣0連續存在的情況下,能以高壓縮率編碼。與之相反,如x(1)=11111010(10進制數250),x(2)=110010(10進制數50),x(3)=101011110(10進制數350)這樣0和1混合存在的復雜的情況下,難以以高的壓縮率編碼。
進而,以往的歐幾里德輾轉相除法的比較處理簡單,但是在數值四舍五入的情況下,或者包含誤差的情況下,考慮該誤差,不能求最大公約數。
本發明的目的在于,即使輸入波形的振幅(位長度)比能夠進行壓縮編碼法的振幅(位長度)大的情況下也不增加信息量地編碼。而且,提供一種如下技術,即與構成輸入采樣的位的0和1的混合存在程度無關,能夠高效地壓縮采樣序列的編碼技術、解碼技術、求利用于所述編碼技術的共用乘數的技術。
用于解決問題的手段在本發明中,根據采樣序列估計各采樣共用的數(共用的乘數A)。將各采樣分別除以共用乘數A,并對該除法運算結果進行壓縮編碼,并至少輸出該壓縮編碼碼CY、上述估計乘數A。乘數A可以壓縮編碼也可以不壓縮編碼。
解碼中,將碼CY和乘數A分離,并利用與該編碼對應的解碼方法對碼CY解碼,對該解碼結果乘以共用乘數A,求原采樣。
另外,在所述壓縮編碼中求共用乘數的處理中,首先從數值集合中決定代表數值。在由該代表數值對各數值進行除法運算后的值中,在正側誤差的最大和負側誤差的最大之間,利用有理近似以正確的值的代表值(不包含誤差)除各數值的正確的值后的不可約分數。并且,求該求得的不可約分數值中的分母對于各數值共用的最小的值,利用所述代表值修正該公分母,作為共用乘數。
發明效果例如,在以模擬電平乘以共用的增益的壓縮編碼處理對象的采樣序列的情況下,該共用的增益被估計為共用的乘數,利用該乘法運算,各采樣序列被進行除法運算。所以,振幅變小,多數情況下能夠原封不動地利用以往的編碼法(例如非專利文獻1)所示的方法,且品質惡化少,信息量幾乎也不增加。
另外,所述除法運算的結果,因為能夠除去原來的采樣序列共有的冗長性,所以能夠大大地減少商的集合的熵(entropy)。所以作為結果能夠提高整體的信息壓縮率。
例如,在對浮點表現的音響信號應用本發明的情況下,與以往方式比較,能夠將信息量平均壓縮到1/2~1/3。
進而,在求共用乘數的處理中,對于包含誤差的數值的集合,能夠求考慮了誤差的共用乘數。


圖1是IEEE-754標準的浮點表現說明圖。
圖2是表示編碼裝置的實施例1的功能結構例的圖。
圖3是表示該處理步驟的例子的流程圖。
圖4是表示解碼裝置的實施例1的功能結構例的圖。
圖5是表示該處理步驟的例子的流程圖。
圖6A是表示用于說明本發明的效果的具體的數值例的圖,表示采樣序列的例子的圖。圖6B是用于說明本發明的效果的具體的數值例的圖,表示將采樣序列除以共用乘數的例子。圖6C是表示用于說明本發明的效果的具體的數值例的圖,是表示除法運算后采樣序列的例子。
圖7是表示用于說明本發明的效果的其它的具體的數值例的圖,是表示采樣序列的例子的圖。圖7B是表示用于說明本發明的效果的其它的具體的數值例子的圖,是表示除法運算后的采樣序列的例子的圖。
圖8是表示編碼裝置的實施例2的主要單元功能結構例的圖。
圖9是表示其處理步驟的例子的圖。
圖10是表示解碼裝置的實施例2的主要單元功能結構例的圖。
圖11是表示解碼裝置的實施例3的主要單元功能結構例的圖。
圖12是表示其處理步驟的例子的流程圖。
圖13是表示編碼裝置的實施例4的主要單元功能結構例的圖。
圖14是表示其處理步驟的流程圖。
圖15是表示編碼裝置的實施例5的主要單元功能結構例的圖。
圖16是表示編碼裝置的實施例6的主要單元功能結構例的圖。
圖17是表示編碼裝置的實施例7的主要單元功能結構例的圖。
圖18是表示解碼裝置的實施例7的主要單元功能結構例的圖。
圖19是表示表示編碼裝置的實施例7的變形例子主要單元功能結構例的圖。
圖20是表示與圖19對應的解碼裝置的實施例的功能結構例子的圖。
圖21是表示編碼裝置的實施例8的功能結構例的圖。
圖22是表示編碼裝置的實施例9的功能結構例的圖。
圖23是表示編碼裝置的實施例10的處理步驟的例子的流程圖。
圖24是表示解碼裝置的實施例11的功能結構例的圖。
圖25是表示解碼裝置的實施例12的處理步驟的例子的流程圖。
圖26A是表示編碼裝置的實施例13的功能結構例的圖。圖26B是表示其解碼裝置的實施例的功能結構例的圖。
圖27是表示編碼裝置的實施例14的主要單元功能結構例的圖。
圖28是表示編碼裝置的實施例15的功能結構例的圖。
圖29是表示解碼裝置的實施例16的功能結構例的圖。
圖30是表示編碼裝置的實施例17的功能結構例的圖。
圖31是表示解碼裝置的實施例18的功能結構例的圖。
圖32是表示實施例19中共用乘數的探索步驟的例子的流程圖。
圖33是表示其共用乘數檢查和商信號的變形例的流程圖。
圖34是表示對浮點形式進行商信號變形的例子的流程圖。
圖35是表示將浮點形式變換成整數形式的處理例的流程圖。
圖36是表示商信號為正的情況下的變形步驟的處理例子的流程圖。
圖37是表示商信號為負的情況下的變形步驟的處理例子的流程圖。
圖38是表示利用有理近似求共用乘數的功能結構例的圖。
圖39是表示其它的例子的圖。
圖40是進一步表示其它例子的圖。
圖41是表示利用有理近似求共用乘數的功能結構的其它的例子的圖。
圖42A是表示利用自相關求共用乘數的數值例的圖,是表示移位1位的自相關結果的圖。圖42B是表示利用自相關求共用乘數的數值例的圖,是表示自相關的位數為1的數的例子。
具體實施例方式
以下,參照附圖來說明本發明的實施方式。在各圖中,對與與其它的圖對應的部分賦予相同參照編號而省略重復說明。另外,以應用在以32位的浮點數表現的音響信號序列的情況為例。
實施例1編碼處理圖2表示本發明的編碼裝置實施例1的功能性結構例,圖3表示其處理步驟例。
來自輸入端子11的輸入信號序列X=(x(0),x(1),...)為數字變換后的采樣序列,其被輸入時(步驟S1),由區間(幀)分割單元12分割成規定數N個(例如1024個)的采樣序列,雖未圖示,但暫時存儲在存儲單元(步驟S2)。采樣序列在音響信號的情況下,考慮以24位的量化位數量化后的整數采樣序列或者32bit單精度浮點形式采樣序列等。在彩色圖像信號的情況下,有分解成各色信息要素而進行光柵掃描后的像素信息的數字化后的采樣序列。
作為每個分割區間的輸入信號的采樣x(i)(i=0,1...,N-1)的集合,至少由余數(remainder)分離處理單元100分離成乘數A和x(i)除以乘數A后的商(quotient)y(i)。在本例中,也分離出x(i)除以A后的余數(誤差)z(i)。
例如,輸入信號序列X在分割后的每一幀都對乘數估計單元110發送。在乘數估計單元110,對于所有的采樣x(i)(i=0,1...,N-1),估計共同的乘數A(步驟S3)。例如,在所有的采樣x(i)被共同的值99.0除盡的情況下,共用的乘數A=99.0。關于估計該共用的乘數A的方法,考慮了多種方法,但是,例如使用近似共用因數(ACFApproximate Common Factor)的有理近似(Rational Approximation)。這里,假設提供適當的乘數A。
由乘數估計單元110決定的乘數A發送到除法運算處理單元120、乘法運算單元130、A編碼單元15。
在除法運算處理單元120,將由乘數估計單元發送來的乘數A和N個采樣x(i)作為輸入,計算n個商信號y(i)=x(i)/A(步驟S4)。此時,y(i)可以是整數形式、浮點形式、固定小數點形式的任意一個。在變換成其決定的表現形式時,可以進行舍去、進位、四舍五入、nearest tie to even(舍入成偶數)等舍入處理。
例如,將x(i)變換成雙精度的浮點數(這里是64位的浮點數),再利用乘數A進行除法運算。將得到的雙精度的商舍入成最接近的單精度(32位)的浮點數后作為商信號y(i)。
由在除法運算處理單元120得到的N個商信號y(i)構成的商信號序列Y=(y(0),y(1),...y(N-1))發送到Y編碼單元13和在本例中的乘法運算單元130。
在乘法運算單元130,對從除法運算處理單元120發送來的商信號序列Y的N個信號y(i)的每一個分別乘以從乘數估計單元110發送來的乘數A,從而得到復原后的N個采樣x’(i)(步驟S5)。
此時,復原采樣x’(i)被舍入成以32位的浮點表現方式能夠表現的值的范圍。例如,將y(i)和A相乘的結果作為雙精度(64位)的浮點數保持,并將得到的雙精度的乘法運算結果舍入成最接近的單精度(32位)的浮點數來作為x’(i)。得到的采樣序列X’=(x’(0),x’(1),...,x’(N-1))被發送到誤差計算單元140。
誤差計算單元140將從輸入信號取出的N個采樣x(i)的每一個中減去從乘法運算單元130發送的N個復原采樣x’(i),從而得到由N個誤差信號z(i)構成的誤差信號序列Z=(z(0),z(1),...,z(N-1))(步驟S6)。該誤差信號的計算可以取代使用減法運算而原封不動地將x(i)和x’(i)的32位進行比特單位的異或邏輯運算(xor)。總之,進行x(i)和x’(i)的差分運算即可。
得到的誤差信號序列Z在本例中發送到Z編碼單元14。
來自乘數估計單元110的乘數A也被輸入到A編碼單元15。
Y編碼單元13、Z編碼單元14、A編碼單元15將使用已有的信息壓縮方法將各個輸入信號序列Y、Z、A進行壓縮編碼后得到的碼作為碼CY、碼CZ、碼CA輸出(步驟S7)。這些碼CY、CZ、CA在合成單元16作為每一幀的位序列被合成,并作為編碼數據CX輸出(步驟S8)。在Y編碼單元13也可以使用如下方法,即利用了波形值的相關的高壓縮率的編碼方法,例如非專利文獻1所示的各種可逆壓縮編碼,或者MPEG4、AAC、TwinVQ等非可逆的壓縮編碼法。A編碼單元15使用可逆的壓縮編碼方式。
乘數A在與商信號序列Y或者誤差信號序列Z相比小到信息量能夠忽略的程度的情況下,如虛線21所示,不設置A編碼單元15而原封不動地將乘數A輸入到合成單元16也可以。
誤差信號序列Z根據輸入信號x(i)的性質,有時得不到足夠的壓縮增益而運算量增加的影響變大。此時,省略Z編碼單元14而如虛線22所示,將誤差信號序列Z原封不動地輸入到合成單元16。
Z編碼單元14例如使用熵(entropy)編碼法,但是也可以僅使用誤差信號z(i)中的高位的位進行熵編碼并進行非可逆壓縮編碼。進而,根據輸入信號x(i)的性質,在判斷為一定能夠使誤差信號z(i)變成0的情況下,或者判斷為z(i)非常小,即小到實際上不影響再現質量的程度的情況下,如虛線的乘法符號×23所示,可以廢棄誤差信號序列Z。此時,Z編碼單元14被省略,編碼數據CX中不包含碼CZ。
解碼處理圖4表示實施方式1的編碼裝置功能結構例,圖5表示解碼方法(處理步驟)的例子。
來自輸入端子51的編碼數據CX將與編碼裝置相同的采樣數作為1幀,并對每一幀進行處理。在編碼數據CX輸入時(步驟S11),分離單元52將編碼數據CX在每一幀分離成碼CY、碼CZ和碼CA,并發送到對應的Y解碼單元53、Z解碼單元54、A解碼單元55(步驟S12)。在Y解碼單元53、Z解碼單元54、A解碼單元55,分別使用與Y編碼單元13、Z編碼單元14、A編碼單元15的各壓縮編碼方法對應的解壓縮解碼方法。
各解碼單元53~55對分別輸入的碼進行解碼處理,從而求與編碼單元13~15的各輸入對應的商信號序列Y、誤差信號序列Z、共同的乘數A(步驟S13)。另外,在本例中,各編碼單元13~15使用可逆編碼方法。
余數結合處理單元200對那些解碼信號進行結合處理。
乘法運算單元210將從A解碼單元55發送來的乘數A以與在解碼裝置的乘法運算單元130進行的相同的方法,乘以從Y解碼單元53發送來的N個商信號y(i),從而得到N個信號x’(i)(步驟S14)。此時,x’(i)被舍入成能夠以32位的浮點表現方式表現的值的范圍。例如,將與y(i)和A相乘的結果作為雙精度(64位)的浮點數保持,并將得到的雙精度的乘法運算結果舍入成最接近的單精度(32位)的浮點數,作為x’(i)。該舍入的處理以與在編碼裝置的乘法運算單元130進行的處理同樣的方法來進行。這樣,求出到規定的有效位為止的x’(i)。
誤差校正單元220通過各個來自Z解碼單元54的誤差信號z(i)來對來自乘法運算單元210的N個采樣x’(i)進行校正處理,從而將原來的信號x’(i)復原。也就是說,在編碼裝置從x(i)減去x’(i)的情況下,加上與各x’(i)對應的誤差信號z(i)。在編碼裝置進行了x(i)和x’(i)的位單位的異或邏輯運算(xor)的情況下,參照對應的誤差信號z(i)的各位,將位于z(i)為1的位置的x’(i)的位反轉,得到x(i)。
幀連接單元56使來自誤差校正單元220的復原后的N個采樣x(i)(i=0,1,...,N-1)連接并輸出(步驟S16)。
在編碼裝置未對乘數A編碼的情況下,在分離單元52分離后的乘數A如圖4中虛線61所示,直接輸入到乘法運算單元210。同樣地,在編碼裝置未對誤差信號z(i)編碼的情況下,在分離單元52分離后的z(i)如虛線62所示直接輸入到誤差校正單元220。在編碼裝置廢棄z(i)的情況下,在分離單元52得不到與碼CZ對應的碼,在誤差校正單元220沒有什么輸入。換而言之,被輸入0。
另外,編碼裝置的乘數A如果與在前幀中得到的乘數A相同,則進而能夠減少信息量。具體地說,如圖2的A編碼單元15所示,在編碼裝置設置寄存器15a和判定單元15b。寄存器15a中預先保存前幀的乘數A,在判定單元156比較當前幀的乘數A和前幀的乘數A。并且,如果相同,僅將表示該信息的1位作為碼CA輸出。由此,能夠減少編碼數據CX的信息量。在解碼裝置,設置保存圖4中的A解碼單元55內的前幀的乘數A的寄存器55a、和判定碼CA是否與前幀表示相同的乘數的位,如果相同,則不進行碼CA的解碼處理而將寄存器55a內的乘數A輸出到乘法運算單元210的判定單元55b即可。此時,碼CA為表示乘數A是否與前幀相同的1位即可,比起不對乘數A編碼的情況,能夠減少信息量。
參照圖6說明如果應用本發明能夠提高壓縮效率。圖6為輸入信號x(i)為2進制數表現的情況下的一例。輸入信號采樣序列x(1)、x(2)、x(3)如圖6A所示,在x(1)=250、x(2)=50、x(3)=350的情況下,它們的2進制數表現分別為‘0’和‘1’比較隨機地排列著。
將這些采樣x(1)、x(2)、x(3)除以共同的乘數A=1.5625時,其商信號y(1)、y(2)、y(3)如圖6B所示,分別在10進制數表現方式下為y(1)=160、y(2)=32、y(3)=224。
這些商信號y(1)、y(2)、y(3)的2進制數表現分別如圖6C所示,為‘0’連續存在的部分多的‘0’和‘1’的排列。該y(1)、y(2)、y(3)能夠進行高壓縮編碼。也需要發送乘數A,但是采樣數多且其大部分為能夠高壓縮的商信號的情況下,能夠大大減少作為整體的壓縮編碼量。
圖7表示應用于IEEE-754浮點數的采樣序列的例子。10進制數表現的數值478.4、95.68、669.76的浮點表現分別如圖7A所示,其尾數部的23位的‘1’和‘0’的排列相當隨機。但是,將它們除以共用乘數2.99時,其商信號如圖7B所示,10進制數表現成160、32、224。將這些變成浮點表現時,尾數部的23位的‘1’和‘0’的排列,第一個僅僅高位的第2位為‘1’,第2個所有都為‘0’,第3個僅僅高位的第1位和第2位‘1’。所以,比起圖7的原封不動壓縮,能夠顯著地進行高壓縮。
實施例2(有效位/舍入選擇)根據輸入信號如何通過有效位/舍入方法而生成,x(i)的性質不同。作為通常進行浮點的運算的情況的舍入處理,能夠按照單精度進行運算,或者能夠將以雙精度進行乘法運算的結果舍入成單精度。
作為舍入的處理,在規定的有效位,進行舍去,或者進行四舍五入,或者進行舍入成偶數(nearest tie to even)或進位。因此,對商信號y(i)乘以乘數A后生成x’(i)時,估計與輸入信號x(i)生成時所使用的相同的方法來使用,從而將誤差z(i)最小化。具體地講,試驗了作為運算精度(有效位)、舍入的方法考慮的方法,選擇誤差z(i)最小的方法。以下說明其具體例子。
說明在圖2中的乘法運算單元130中選擇商信號y(i)的有效位(運算精度)以及舍入方法的例子。圖8表示其主要單元的功能結構例,圖9表示其處理步驟例。余數分離處理單元100的乘法運算單元130設置位設定單元130a和舍入設定單元130b。有效位/舍入控制單元150將有效位數和舍入方法設定在位設定單元130a和舍入設定單元130b(步驟L1)。在乘法運算單元130,商信號y(i)和乘數A的乘法運算以設定的有效位數的雙精度下進行,對于該乘法運算結果,通過設定的舍入方式來進行單精度的舍入(步驟L2)。其結果x’(i)和輸入信號x(i)的差分在誤差計算單元140取得,該誤差信號z(i)被保存在有效位/舍入控制單元150內的存儲單元150a(步驟L3)。
接著,有效位/舍入控制單元150關于所有預先設想的有效位數,以及關于預先設想的各種舍入方法,調查乘法運算單元130的處理是否已經進行了(步驟L4)。如果“否”,則返回步驟L1。如果“是”,有效位/舍入控制單元150將與存儲單元150a內的誤差信號z(i)中的最小的值對應的有效位數和舍入方法設定在乘法運算單元130內(步驟L5)。并且,進行求關于幀的所有的采樣的誤差信號z(i)的處理。另外,表示其設定的有效位數和舍入方法的信息的輔助碼CB輸入到合成單元16(步驟L6)。
此時的解碼裝置的余數結合處理單元200如圖10所簡單示出,包括乘法運算單元210和解碼單元58,該乘法運算單元210具有位設定單元210a和舍入設定單元210b。B解碼單元58將由分離單元52分離后的碼CB解碼。其有效位數和舍入方法分別在乘法運算單元210內的位設定單元210a、舍入設定單元210b設定。基于這些設定信息,進行解碼商信號y(i)和解碼乘數A的乘法運算。
實施例3(變形商信號)接著,說明通過將商信號y(i)進行變形處理,減少誤差信號z(i)的信息量的其它例子。圖11表示其主要單元的功能結構例,圖12表示處理步驟例子。
本實施例為了從編碼側的誤差計算單元140輸出的誤差信號z(i)最小,對在除法運算處理單元120得到的商信號y(i)進行變形處理的部分與實施例1(圖2)不同。
例如,在除法運算處理單元120,將y(i)計算到規定的有效位的情況下,在從有效位起的低位的位舍去,或者進行四舍五入等的情況下,y(i)包含舍入誤差。同樣地,在解碼裝置(圖4)的解碼步驟中,在乘法運算單元210,在將解碼后的y(i)和解碼乘數A相乘時,也有時會產生舍入誤差。通過這兩次的舍入處理,有時誤差被累積,誤差信號z(i)變大。
在本實施例中,預先考慮通過解碼時的乘法運算處理產生的誤差,將y(i)變形為y’(i),由此能夠降低誤差信號z(i)的信息量。
對各輸入采樣x(i),將獨立地將商信號y(i)變形,并將誤差信號z(i)最小的變形誤差信號作為y’(i)。由此,在乘數估計單元110中估計的乘數A包含誤差的情況下,也能夠降低乘數A的估計誤差的影響。例如,1幀的1024采樣x(i)的大部分,在有效位的范圍內被乘數A除盡,僅一部分的采樣x(i)未被乘數A除盡的情況下,通過進行對y(i)的所述變形操作,能夠降低誤差信號z(i)的信息量。
除法運算處理單元120將x(i)除以A,并將舍入處理后的商信號y(i)發送到變形處理單元160。
變形處理單元160將從除法運算處理單元120發送來的y(i)變形,決定z(i)為最小的變形后的y’(i)。利用圖12簡單地說明用于決定y’(i)的步驟。(詳細內容如后所示。)調查輸入信號采樣x(i)的絕對值是否比乘法運算單元130的乘法運算結果的絕對值|Ay’(i)|大(步驟L11)。如果大,則在y’(i)的最低位的位加上1(步驟L12)。例如,y’(i)在2進制數表現方式下為+1.00000000000000000111111×2^0的情況下,通過在最低位的位加上1,y’(i)的值為+1.00000000000000001000000×2^0。在步驟L11,如果|x(i)|不比|Ay’(i)|大,則從y’(i)的最低位的位中減去1(步驟L13)。在步驟L12或者L13之后,將變更后的y’(i)和乘數A在乘法運算單元130進行乘法運算處理(步驟L14)。調查乘法運算處理結果的絕對值|Ay’(i)|是否與輸入采樣的絕對值|x(i)|相等(步驟L15)。如果不相等,調查步驟L11的判定是否有變化(步驟L16)。例如,前次的判定為|x(i)|>|Ay’(i)|,但是本次變化成|x(i)|<|Ay’(i)|的情況下,將前次的誤差信號z(i)和本次的誤差信號z(i)小的一方輸出到Z編碼單元14,并且,將對應的y’(i)輸出到Y編碼單元13(步驟L17)。所以,來自誤差計算單元140的誤差信號z(i)為了能夠在步驟L17進行比較并輸出,通常預先保持前次的量。另外,y’(i)的初始值使用y(i)。
在步驟L16中,如果在步驟L11的判定沒有變化,則返回到步驟L11。另外,在步驟L15中,兩者如果相等,則為誤差信號z(i)=0,結束對于該輸入采樣x(i)的y(i)的變形處理。在變形處理單元160中,設置判定單元160a、增減單元160b以及在步驟L17所需要的誤差信號的存儲單元160c,其中,判定單元160a進行步驟L11、L15、L16、L17的判定,增減單元160b進行對于步驟L12、L13中的前次的y’(i)的變形和保持。
另外,將z(i)反饋到變形處理單元160,使得基于來自誤差計算單元140的輸出z(i)的極性(符號),進行與步驟L12或者L13同樣的變形處理,從而決定誤差信號z(i)最小的y’(i)也可以。主要是作為變形處理單元140的處理,將y(i)的有效位的最小位以最小單位一點一點增減,使得誤差信號z(i)最小來決定y’(i)。
這里,誤差信號z(i)為最小的y’(i)的候選存在多個的情況下,選擇y’(i)的最LSB(最低位)側的不為0的位處于最MSB(最高位)的值(有時通過減少y’(i)的構成位當中不為‘0’的位的數,能夠提高編碼裝置的壓縮效率。)。
這里,在誤差為最小的y’(i)存在多個的情況下,選擇在構成要素的位1最少的y’(i)也可以。
如以上那樣,y(i)變形后的y’(i)被輸入到Y編碼單元13。另外,在除法運算處理單元120不進行舍入,預先以比y(i)的所希望的有效位多的有效位的精度計算除法運算結果,也可以求將y(i)變形后的y’(i),使得包含基于對乘法運算單元130的乘法運算結果的舍入的誤差的所有的誤差信號z(i)最小。也就是說,編碼裝置中的乘法運算單元130的乘法運算處理如果為與在解碼裝置中進行的乘法運算單元210的乘法運算處理相同的結果,則既可以在除法運算處理單元120進行舍入處理,也可以在變形處理單元160與變形同時進行。
實施例4(變形商信號)本實施例4也對商信號y(i)進行變形處理,但是決定y’(i)時的評價尺度與實施例3不同。作為變形處理單元170的處理,在Y編碼單元13、Z編碼單元14使用可逆編碼的情況下,對y(i)進行變形來作為y’(i),使得碼CY和碼CZ的合計的碼量最小。例如,使y’(i)的有效位在規定的范圍內變化,并探索輸出碼大小的總和最小的y’(i)。
具體地說,圖13表示其主要單元的功能結構例,圖14表示處理步驟例。來自除法運算處理單元120的商信號y(i)被輸入到變形處理單元170。首先,將與y(i)對應的誤差信號z(i)分別編碼(步驟L21)。求碼CY的碼量VY和碼CZ的碼量VZ的加法運算碼量(位數)VY+VZ(步驟L22)。接著,對于y(i)的有效位的最低位的位,僅以最小單位進行預先決定的變形,例如進行加1的運算(步驟L23)。將該變形商信號y’(i)和基于該y’(i)求出的誤差信號z(i)分別在Y編碼單元13、Z編碼單元14編碼(步驟L24)。求碼CY、CZ的碼量的和(位數)(步驟L25)。
調查該碼量是否比前次增加(步驟L26)。如果增加,使對于y(i)的變形相反,也就是說,在步驟L23對最低位的位加了1的情況下,進行從最低位的位減去1的運算。對該變形y’(i)和對應z(i)編碼(步驟L28),并求這些加法運算碼量(步驟L29),調查碼量變化成減少了還是增加了(步驟L30)。
如果未增加,將y’(i)在與到此為止相同方向上進一步變形,返回步驟L28(步驟L31)。在步驟L26如果碼量沒有增加,則轉移到步驟L31。如果在步驟L30判定為碼量的變化變化成了增加,則將與之前的碼量和本次的碼量當中少的一方對應的碼CY、CZ輸出到合成單元16(步驟L32)。
在變形處理單元170內,設置碼量加法運算單元170a、判定單元170b、增減單元170c、存儲單元170d等,其中,碼量加法運算單元170a在步驟L22、L25、L29中將碼CY和CZ的碼量相加,判定單元170b進行步驟L26、L30的判定、步驟L32內的大小判定等,增減單元170c進行對于步驟L24、L27、L31的y(i)的變形,存儲單元170d利用與步驟L32的碼量的判定和用于輸出前次的CY、CZ等。
例如,在y(i)的位序列中,1連續的情況下,強加上1時,通過按順序進位,能夠變換成0的連續。此時,將加上的1僅增加A倍,誤差信號z(i)增加,但是y’(i)的編碼效率變好,作為整體,碼量減少。
實施例5(商信號變形)在本實施例中,如圖15表示主要單元那樣,在變形處理單元180內的壓縮判定單元180a觀測將x(i)除以A后的商信號y(i),例如判定在Y編碼單元13中,是否能夠良好地、即有效地壓縮或者是否符合條件,對于不符合條件的采樣設為Y’(i)=0。也就是說,如果不符合條件,根據壓縮判定單元180a的輸出,開關180b切換到0信號源180c側,變形為y’(i)=0。在y’(i)=0的情況下,乘法運算單元130的輸出為0,從誤差計算單元140輸出z(i)=x(i)。在壓縮判定單元180a判定為y(i)符合條件時,開關180b被切換到除法運算處理單元120而連接,y(i)原封不動地作為y’(i)從變形處理單元180輸出。
這樣,對于某采樣,比起壓縮y(i),能夠更高效地壓縮x(i)的情況下,能夠提高整個壓縮率。
另外,實施例4、5都可以說是,將y(i)變形,使得從x(i)減去x’(i)后的誤差最小。

實施例6(非可逆編碼)實施例6為對商信號y(i)通過非可逆編碼方法編碼的例子。圖16表示該功能結構例。來自除法運算處理單元120的商信號y(i)在非可逆壓縮編碼方法下的非可逆Y編碼單元31中被編碼。將該編碼后的碼CY在解碼單元32中進行解碼,對于該解碼后的信號y(i),乘以乘數A進行乘法運算處理,并得到其結果的x’(i)和x(i)的誤差信號z(i)。
在解碼裝置的處理與圖4所示的處理同樣地進行即可。但是,Y解碼單元53使用與非可逆Y編碼單元31的非可逆壓縮編碼方法對應的非可逆解壓縮解碼方法的方法。
這樣,作為非可逆Y編碼單元31、Y解碼單元,在使用已知的非可逆編碼方式的情況下,也在編碼單元14、15、解碼單元54、55的處理中分別使用可逆編碼方法和與之對應的可逆解壓縮解碼,由此,作為整體能夠進行可逆編碼。在Z編碼單元14、Z解碼單元54中也使用了非可逆編碼的情況下,作為整體也為非可逆編碼。
如圖16中虛線所示,在除法運算處理單元120和非可逆Y編碼單元31之間插入變形處理單元35,并將來自誤差計算單元34的誤差信號z(i)輸入到變形處理單元35,并將y(i)變形,使得誤差信號z(i)最小,從而輸入到非可逆Y編碼單元31即可。同樣地,在變形處理單元將y(i)根據編碼數據CX的大小來變形,使得整個的碼大小、即編碼數據CX的碼量最小,提供給非可逆Y編碼單元31也可以。
實施例7如前所述,分離成商信號y(i)、誤差信號z(i)以及乘數A,從而將它們分別編碼,與將x(i)原樣地進行壓縮編碼的情況相比壓縮效率高的情況下,分離編碼;在將x(i)原封不動地編碼的壓縮效率高的情況下,將x(i)原封不動地進行壓縮編碼的例子作為實施方式4,圖17表示其一例的編碼裝置,圖18表示解碼裝置。
圖17的分離編碼單元300具備余數分離處理單元310、可逆編碼方式的Y編碼單元320、可逆編碼方式的Z編碼單元330、根據需要而設置的A編碼單元340、合成單元350,這一組是與實施例1~5所示的其中一個對應的。直接編碼單元360用于直接對輸入信號x(i)編碼。在分離編碼單元300編碼后的編碼數據CSX的數據量(信息量、位數)VS和在直接編碼單元360編碼后的編碼數據CDX的數據量VD在壓縮率比較單元370進行比較。并且,選擇單元380選擇數據量少的一方的編碼數據。合成單元390將選擇的編碼數據和用于表示選擇了哪一個的選擇碼(1位)進行合成,作為編碼數據CX輸出。
在解碼裝置中,如圖18所示,編碼數據CX在分離單元400被分離成編碼數據和選擇碼CC。如果碼CC表示為分離編碼數據CSX,則切換單元410被控制,編碼數據CSX被輸入到分離解碼單元420。如果碼CC表示為直接編碼數據CDX,則切換單元410被控制,直接編碼數據CDX被輸入到直接解碼單元430。
分離解碼單元420內的分離單元440、可逆解碼方式的Y解碼單元450、可逆解碼方式的Z解碼單元460、根據需要而設置的A解碼單元470、乘法運算單元480、誤差校正單元490的組與實施例1~5的解碼裝置的某一個是對應的。切換單元510對應于選擇碼CC,輸出來自分離解碼單元420的解碼信號或者來自直接解碼單元430的解碼信號。另外,切換單元510省略,并連接兩解碼單元420、430的兩輸出端,完成了解碼處理的信號被輸出也可以。
不獨立地設置直接編碼單元360且省略選擇碼CC也可以。例如,如圖19所示,在Y編碼單元321中不僅來自余數分離處理單元310的商信號y(i),也輸入乘數A。此時,Y編碼單元321的判定單元321a判定乘數A是否為1.0。如果乘數A不為1.0,則切換單元321b被控制,商信號y(i)被輸入到商編碼單元322,并進行應用于商信號y(i)的編碼。判定單元321a判定為乘數A=1.0時,切換單元321b被控制,商信號y(i)、即輸入信號x(i)被輸入到直接編碼單元323。此時的商信號y(i)、即除法運算處理單元120的處理輸出因A為1.0,所以為y(i)=x(i),應用于x(i)的編碼的編碼在直接編碼單元323中進行。選擇碼CC不被輸出。另外,選擇單元380、合成單元390也被省略,比圖17所示的結構簡單。
圖20表示對應的解碼裝置。在分離單元440分離后的碼CY,被輸入到Y解碼單元451,同時分離后的乘數A(或者碼CA)也被輸入到Y解碼單元451。在判定單元451a判定乘數A不為1.0時,切換單元451b將碼CY輸入到商解碼單元452。并且,商解碼單元452進行應用于碼CY的解碼。判定單元451a判定為A=1.0時,切換單元451b將碼CY輸入到直接解碼單元453。
并且,直接解碼單元453進行應用于碼CY的解碼。來自Y解碼單元451的解碼輸出y(i)被輸入到乘法運算單元480,進行與乘數A的乘法運算處理。比起圖18所示的結構變得簡單。
實施例8實施例8為分離編碼和直接編碼的其它例,在圖21表示其概略。這里使用的分離編碼單元301為作為非可逆Y編碼單元31使用非可逆壓縮編碼的情況。此時,從解碼側考慮時,比起編碼大小(碼量),重要的是編碼波形失真小。
由來自分離編碼單元301的Y碼CY、誤差碼CZ以及乘數A(或者其碼CA)構成的編碼數據CSX,在局部解碼單元302解碼,并得到解碼信號序列X’。來自直接編碼單元360的編碼數據CDX在局部解碼單元303被解碼,并得到解碼信號序列X”。失真計算單元304計算局部解碼信號序列X’與原輸入信號序列X的波形失真。失真計算單元305計算局部解碼信號序列X”與原輸入信號序列X的波形失真。這些計算后的失真當中最小的失真在判定單元306判定。選擇單元380基于該判定結果,選擇失真小的編碼數據。合成單元390將來自選擇單元380的編碼數據和用于表示選擇了來自判定單元306的某一個的選擇碼CC進行合成,并輸出編碼數據CX。
實施方式5將由余數分離處理得到的商信號序列Y和/或誤差信號序列Z遞歸式地進行余數分離處理。
實施例9(編碼1)圖22表示其功能結構例。輸入信號序列X被輸入到余數分離處理單元100,從而被分離成商信號序列Y1、誤差信號序列Z1、乘數A1。該商信號序列Y1在余數分離處理單元101Y進而被分離成商信號序列Y2、誤差信號序列Z2、乘數A2。該商信號序列Y2在余數分離處理單元102Y被分離成商信號序列Y3、誤差信號序列Z3、乘數A3。
在本例中,進行了3次遞歸式的分離。最后的商信號序列Y3在Y編碼單元103Y被進行可逆壓縮編碼,并作為CY3輸出。誤差信號序列Z1、Z2、Z3分別在Z編碼單元103Z1、103Z2、103Z3進行可逆壓縮編碼,并作為碼CZ1、CZ2、CZ3分別輸出。乘數A1、A2、A3原封不動或者被進行可逆編碼,作為CA1、CA2、CA3輸出。合成單元16將碼CY3、CZ1、CZ2、CZ3、A1(或者CA1)、A2(或者CA2)、A3(或者CA3)合成,并作為編碼數據CX輸出。
對于誤差信號序列Z1,也可以同樣地進行遞歸式的編碼。在圖22中以虛線表示該例。誤差信號序列Z1在余數分離處理單元101Z被分離成商信號Y(Z1)、誤差信號序列Z(Z1)、乘數A(Z1)。該誤差信號序列Z(Z1)在余數分離處理單元102ZZ1被分離成商信號序列Y(ZZ1)、誤差信號序列Z(ZZ1)、乘數A(ZZ1)。此時,合成單元16將商信號Y1的可逆編碼碼CY1、由商信號序列Y(ZZ1)的可逆編碼單元104Y編碼后的碼CYZZ1、誤差信號序列Z(Z1)、Z(ZZ1)與分別由編碼單元104Z1、104Z2進行可逆編碼后的碼CZZ1、CZZZ1、以及乘數A(Z1)(或者其碼CAZ1)、A(ZZ1)(或者其碼CAZZ1)進行合成,并作為編碼數據CX輸出。
進而,也可以將在余數分離單元處理分離后的商信號和誤差信號兩者進行遞歸式的分離編碼。此時,在圖22的例子中如虛線所示,誤差信號Z2在余數分離處理單元102Z被分離成商信號序列Y(Z2)、誤差信號序列Z(Z2)、乘數A(Z2)。Y(Z2)、Z(Z2)分別在編碼單元105Y、105Z進行可逆編碼,并輸出碼CYZ2、CZZ2。另外,在余數分離處理單元101Z分離后的商信號序列Y(Z1)在余數分離處理單元102YZ1被分離成商信號序列Y(YZ1)、誤差信號序列Z(YZ1)、乘數A(YZ1)。商信號序列Y(YZ1)、誤差信號序列Z(YZ1)分別在編碼單元106Y、106Z被編碼,輸出可逆碼CYYZ1、CZYZ1。
結果,合成單元16除了碼CY3、CZ3、CYZ2、CZZ2、CZ2、CYYZ1、CZYZ1、CYZZ1、CZZZ1、CZZ1之外,將乘數A3、A(Z1)、A2、A(YZ1)、A(ZZ1)、A(Z1)、A1或它們的碼合成,作為編碼數據CX。
實施例10(編碼2)這樣遞歸式分離編碼進行到作為對象的商信號或者誤差信號不能分割為止。或者進行到得不到分割的碼的大小(編碼數據CX的位數)減少的效果為止。
在實施例10中,表示將商信號序列Y遞歸式地分割的情況。圖23表示該處理步驟。首先,對于輸入信號序列X,進行余數分離處理,從而進行分離編碼,求由CY、CZ、A(或者CA)構成的編碼數據CSX。并且,對輸入信號X序列直接編碼,求編碼數據CDX(步驟s1)。比較編碼數據CSX和CDX的大小,從而判定是否選擇分離編碼(步驟S2)。CSX數據量少且分離編碼被選擇時,對于該分離的商信號序列Y進行余數分離處理,從而進行分離編碼,并求由商碼CYi、誤差碼CZi、乘數Ai(或者其碼CAi)構成的編碼數據CXi(步驟s3)。
作為該方式下的輸出編碼數據CX的數據量,計算在當前的處理中求出的CYi、和之前的處理中求出的所有的誤差碼CZi和所有的乘數Ai的合計的位數VSi(編碼數據的數據量)(步驟s4)。比較數據量VSi和直接編碼的編碼數據CDX的數據量VD,調查數據量VSi小且比起前次的分離編碼數據量VSi-1小的情況(步驟s5)。如果滿足該條件,將在當前的處理中求出的CZi和Ai存儲在存儲單元,返回步驟s3(步驟s6)。
在步驟s5中,是否比VD小但比VSi-1大呢?如果不比VD小,將在剛剛處理中得到的CYi和剛剛處理為止得到的所有的CZi和Ai作為編碼數據CX輸出(步驟s7)。如果在步驟s2,數據量VD小,則將直接編碼數據CDX作為編碼數據CX輸出(步驟s8)。
實施例11(解碼1)圖24表示將對圖22中所示的商信號序列Y遞歸編碼后的編碼數據CX解碼的例子。來自分離單元52的碼CY3在商解碼單元71被解碼,并輸出Y3。乘法運算單元2101對該Y3進行乘以來自分離單元52的乘數A3的乘法運算處理。誤差解碼單元721誤差碼CZ3進行解碼,得到誤差信號序列Z3。校正單元2201利用解碼后的誤差信號序列Z3對乘法運算單元2101的輸出進行校正,得到商信號序列Y2。
乘法運算單元2102進行Y2和來自分離單元52的乘數A2的乘法運算處理。誤差解碼單元722對來自分離單元52的誤差碼CZ2解碼,并得到誤差信號序列Z2。校正單元2202利用誤差信號Z2對來自乘法運算單元2102的輸出進行校正,得到商信號序列Y1。在乘法運算單元2103對該Y1進行乘以來自分離單元52的乘數A1的處理。誤差解碼單元723對來自分離單元52的誤差碼CZ1解碼,并得到誤差信號序列Z1。校正單元2203利用誤差信號序列Z1對乘法運算單元2103的輸出進行校正,并輸出原信號序列X。
實施例12(解碼)參照圖25說明對與該遞歸碼的通常的解碼處理步驟的例子。首先,將輸入編碼數據CX分離成各個碼,存儲在存儲單元(步驟s11)。接著,選擇在該存儲單元中的未解碼當中的編碼中的最后級得到的各個碼(步驟s12)。對這些各個碼進行解碼(步驟s13)。最初得到商信號、誤差信號和乘數,從下一次開始,得到例如在圖24所示的例子中的誤差信號和乘數。
使用這些解碼后的信號進行余數結合處理(步驟s14)。也就是說,解碼后的商信號(或者在前次的處理中得到的商信號)被進行乘法運算處理。并且,其結果被解碼后的誤差信號校正。
接著,調查存儲單元中是否有未選擇的碼,如果有,返回步驟s12,如果沒有,則結束處理(步驟s15)。這樣,原輸入信號序列X被解碼。
實施例13在先前表示的各個實施例子中,以幀單位輸入到余數分離處理單元100。在本實施例中,在輸入到余數分離處理單元100之前,如圖26A所示,在輸入判定單元41檢查x(i),并判定是否輸入到余數分離處理單元100。例如,在輸入采樣以單精度的浮點數表示的情況下,有無限大的值或者不能作為數值表示的NaN這樣的值的情況。在輸入判定單元41,該判斷單元41a判斷為x(i)=NaN時,控制切換單元41b,從而從0源41c對余數處理單元100輸出0來取代x(i),并將x(i)輸出到X編碼單元42。
輸入判定單元41在采樣x(i)為0的情況下,將0輸出到余數分離處理單元100,同時也對X編碼單元42輸出0。
X編碼單元42將對x(i)編碼得到的碼輸出到合成單元16。
解碼裝置如圖26B所示在Y解碼單元57將y(i)復原。判定單元57a判斷為y(i)=0時,通知給X解碼單元58。X解碼單元58對應于該y(i),對從分離單元52分離出來的碼解碼,從而輸出x(i)。該x(i)被輸入到誤差校正單元220。誤差校正單元220對與輸入的y(i)=0對應的x’(i)=0加上所述解碼后的x(i)。
實施例14在該實施例13(圖11)中,表示了求y(i)的變形y’(i),使得誤差z(i)變得最小的例子。
所輸入的采樣x(i)原本為不能進行除法運算的值,被乘數A除時,有時誤差會變得過大。例如,輸入采樣以單精度的浮點數表現的情況下,有時為無限大的值或者不能作為數值表現的NaN的值。
輸入信號x(i)為NaN的情況下,x(i)除以乘數A的結果而得到的y(i)也為NaN。在本實施例中,編碼裝置取代圖11中的變形處理單元160,在圖27中具有變形處理單元161。變形處理單元161在判定單元161a判定為從除法運算處理單元120發送來的y(i)為NaN時,控制切換單元161b,將來自0源161c的y’(i)=0輸出到Y編碼單元13以及乘法運算單元130。
在乘法運算單元130,對y’(i)乘以乘數A,計算x’(i)。由此,因為y’(i)=0,所以乘法運算單元130的輸出為x’(i)=0,誤差計算單元140的輸出z(i)為x(i)=NaN。此時,在誤差計算單元140中計算誤差。在實施例3中,在進行誤差計算時,進行了x(i)和x’(i)的減法運算處理,但是在x(i)=NaN的情況下,減法運算未定義,所以不能正確地進行減法運算。
因此,在本實施例中,在y’(i)=0的情況下,原封不動地設定x(i)作為誤差信號z(i)。另外,圖27的變形處理單元161中的處理單元161d具有與圖11中的變形處理單元160同樣的功能。
在解碼處理裝置的誤差校正單元220中,需要進行與上述相反的處理。即,為復原后的y’(i)=0的情況下,對y’(i)乘以乘數A而得到的x’(i)也為0。誤差校正單元220因x’(i)=0,所以將在Z解碼單元54解碼后的z(i)=x(i)原封不動地輸出。
此時也如圖26B所示,判定單元57a判定為y(i)=0時,控制開關261,設定成來自Z解碼單元54的解碼輸出z(i)=x(i)作為x(i)輸出。此時,沒必要進行乘法運算單元130以及誤差計算單元140中的處理,處理變得簡單。
另外,在圖27中,判定單元161a判定y(a)為NaN時,為y’(i)=0。并且,開關271接通,X編碼單元272對輸入信號x(i)編碼。其編碼輸出CZ通過開關273輸入到合成單元16也可以。此時,解碼裝置如圖26B所示,將在分離單元52分離后的碼CZ輸入到X解碼單元58。并且,判定單元57a判定解碼后的y(i)為0時,控制開關262,將X解碼單元58的解碼結果作為解碼后的x(i)輸出也可以。
作為Z編碼單元14,例如應用Rice編碼法、代數編碼法等。作為X編碼單元272,哈夫曼編碼法、LZ編碼法等。Z解碼單元54、X解碼單元26B1是對應于對應的編碼單元的編碼法的。
在浮點表現下,規格化(normalize)為1.......,該小數點以下的23位被作為尾數部。而且,指數的最小值為-127,在指數為-127的情況下,表示為0或者非規格化數。指數為-126,且僅尾數部的最低位的位為1的情況下,為以浮點能夠規格化表現的絕對值的最小值。絕對值為該值以下的數值不能進行用于浮點表現的規格化。輸入信號x(i)為浮點表現的采樣序列的情況下,除了NaN之外,有時x(i)為非規格化數。也就是說,存在指數為-127且尾數部的最高位的位的一個高位的位不是1的情況(在IEEE-754形式的2進制浮點表現方式下,比利用規格化的形式表現的最小值小的情況)。x(i)為非規格化數的情況下,進而將x(i)除以乘數A時,由于下溢(underflow)而損失信息。所以,在作為y(i)編碼時,有時不能高效率地進行壓縮編碼。
為了避免該問題,有作為變形處理單元161中的判定單元161a也能夠判定x(i)為非規格化數的方法。在該方法中,判定為x(i)為非規格化數時,變形處理單元161將y(i)變形成y’(i)=0,輸出到Y編碼單元13以及乘法運算單元130。
乘法運算單元130對y’(i)乘以乘數A來計算x’(i)。所以,變為x’(i)=0,解碼后的z(i)=x(i)被輸入到Z編碼單元14。與先前的情況一樣,在判定為是非規格化數且使y’(i)=0的情況下,控制開關271、273,將解碼后的z(i)=x(i)原封不動地設定為解碼x(i)也可以。此時的解碼裝置的處理與參照圖26B敘述的一樣。
另外,輸入信號x(i)為整數,且乘數A<1的情況下,x(i)除以乘數A得到的商信號y(i)有時會超過能夠表現的范圍,成為溢出(overflow)狀態。所以,例如圖27中的變形處理單元161的判定單元161a檢測到y(i)的溢出的情況下也為y’(i)=0。此時,在解碼裝置解碼后的商信號y’(i)如果為0,則與前述一樣,將碼CZ的解碼信號z(i)原封不動地作為解碼信號x(i)。
說明將本發明和非專利文獻2所示的技術組合后的實施方式7。
實施例15(編碼處理)圖28表示實施例15的編碼裝置的功能結構例。在該實施例15中,來自除法運算處理單元120的輸出y(i)被輸入到整數化單元281。整數化單元281將y(i)變換成整數形式的信號y1(i)。另外,并不是將y(i)原封不動地變換成整數形式,而是在變形處理單元進行變形處理之后進行變換也可以。整數形式信號y1(i)有時被規定為輸出的最大振幅的位數為24位或者16位。該整數形式信號y1(i)對最小位位進行舍入處理。
該進行舍入處理后的整數形式信號y1(i)與如前述的各種實施例一樣,被輸出到Y編碼單元13。
在該實施例中,浮點化單元282將y1(i)變換成浮點表現,并輸出到乘法運算單元130。并且,對于該浮點表現的整數,乘以乘數A。誤差計算單元140根據該乘法運算結果,與前述同樣進行誤差信號生成處理。
在本實施例中,乘數判定單元283進行乘數A是否為1.0的判定。如果A=1.0,則開關284被切換,輸入信號x(i)不被輸入到誤差計算單元140而被輸入到差分生成單元285。設置在整數化單元281內的位數計算單元281b對整數形式信號的位數n計數。該位數n也被輸入到差分生成單元285。差分生成單元285生成輸出信號z’(i),該輸出信號z’(i)為將浮點輸入信號x(i)的極性S和指數部E、尾數部M的低位(23-n)位保持原樣,而將尾數部中的高位n位量都作為0。另外,尾數部的整數部分的位數n=E-E0與整數形式信號y1(i)的最高位的“1”的更低位的位數相等。
該差分信號z’(i)在Z’編碼單元286被可逆編碼。
所以,合成單元16中輸入碼CY、碼CA(或者A)、碼CZ(如果是A=1.0,則為Z’編碼單元286的輸出,如果不是A=1.0,則為Z編碼單元14的輸出)。
實施例16(解碼處理)圖29表示與圖28所示的編碼裝置對應的解碼裝置。在分離單元52分離的碼CY在Y解碼單元291被解碼,得到整數形式信號y1(i)。整數形式信號y1(i)在浮點化單元292被視為浮點信號。來自A解碼單元55的乘數A在乘數判定單元293判定是否為A=1.0。如果A不是1.0,則開關294被切換到Z解碼單元54側,在該Z解碼單元54中解碼后的誤差信號z(i)被提供給校正單元220。
在A為1.0的情況下,開關294被切換到Z’解碼單元295側,碼CZ被解碼。Z’解碼單元295中也被輸入在Y解碼單元291內的位數計算單元291a計算后的整數形式信號的位數n。Z’解碼單元295在浮點表現中的23位的尾數部的高位n位填充“0”,在低位23-n位設定碼CZ的解碼信號。組合單元295a根據所述尾數部、解碼后的編碼位S和解碼后的指數部E-E0組合浮點形式的差分信號(誤差信號)z(i)。該差分信號z(i)被輸入到校正處理單元220。
另外,也可以將開關294、Z解碼單元54、Z’解碼單元一體作為Z解碼單元54’。此時,乘數判定單元293既可以為如圖29所示獨立的構成單元,也可以作為Y解碼單元291的一部分,與整數形式信號的位數n一起將乘數A的值提供給Z解碼單元54’。
通過圖28的變形處理單元281a變形處理成y(i)=0的情況下,如圖28虛線所示,在y變形判定單元283判定變形成y1(i)=0時,控制開關288,在X編碼單元272對輸入信號x(i)直接編碼,并將該編碼結果作為CZ提供給合成單元16也可以。
如圖29中的虛線所示,變形判定單元296判定解碼后的y1(i)是否為0。在判定為y1(i)=0的情況下,開關297從校正處理單元220側切換到X’解碼單元26B1側。并且,在X’解碼單元26B1解碼后的編碼z(i)作為解碼信號x(i)輸出。
實施例17(編碼處理)該實施例是對余數分離處理單元600的輸出應用非專利文獻2所示的方法的例子。圖30表示該實施例的編碼裝置的功能結構例。在余數分離處理單元600內的(輸入判定)乘數估計單元301估計乘數A。乘法運算處理單元120對輸入信號進行除法運算處理。變形處理單元302對除法運算結果y(i)進行變形處理,并輸出處理結果y’(i)。乘法運算單元130將y’(i)和乘數A進行乘法運算。進而,誤差計算單元140進行該乘法運算結果和輸入信號的誤差計算處理,并輸出誤差信號z(i)。
整數誤差分離單元303內的整數化單元303a將變形處理后的y’(i)根據需要變換成最大振幅被預先決定的整數形式信號y1(i)。另外,y’(i)中的不足整數值(小數點以下)的部分作為浮點誤差信號y2(i)輸出。Y編碼單元13將整數形式信號y1(i)編碼成碼CY。誤差編碼單元304對浮點誤差信號y2(i)進行可逆編碼,并作為碼C2Z輸出。來自余數分離處理單元600的誤差信號序列Z被輸入到Z編碼單元14。另外,乘數A根據需要被編碼輸入到合成單元16。
實施例18(解碼處理)圖31表示對應于實施例17的編碼裝置的解碼裝置的功能結構例。Y解碼單元53將作為整數形式信號的解碼信號y1(i)輸出到浮點化單元312。誤差解碼單元311將來自分離單元52的碼C2Z解碼成浮點形式的解碼信號y2(i),并輸出到浮點化單元312。浮點化單元312將y1(i)和y2(i)組合,生成最大振幅被所述預先決定的浮點信號y’(i)。余數結合處理單元200對y’(i)乘以乘數A,并加上在Z解碼單元54解碼后的誤差信號。其它的處理與先前的實施例相同。
圖30的誤差信號y2(i)和誤差信號z(i)都是小振幅的信號,有比較相似的性質,所以,誤差編碼單元304和Z編碼單元14如虛線包圍所示,在一個熵編碼器中編碼也可以。例如,有將幀中的y2(i)都編碼之后,將z(i)編碼的方法。這樣,在使用1個編碼器的情況下,即使在解碼裝置中也可以如圖31中虛線包圍所示,在一個對應的解碼器解碼。
作為圖28的變形處理單元281a或圖30的變形處理單元302,同時使用實施例2~7、9~14說明的各種變形方法當中任意一個或其中某幾個也可以。進而,在(輸入判定)乘數估計單元301中,與實施例13(圖26A)的輸入判定單元41同樣,輸入信號x(i)為無限大的值或者NaN的情況下,判定該值,作為x(i)=0進行乘數估計。也就是說,從余數分離處理單元600輸出y’(i)=0。另外,接通開關305,將此時的x(i)在X編碼單元42中進行直接編碼,并輸出到合成單元16。在解碼裝置中,與圖26B一樣,在判定單元57a判定為解碼后的y(i)為0時,接通開關313。X解碼單元58對來自分離單元52的分離碼進行解碼,輸出x(i)。另外,在余數分離處理單元600內的變形處理單元302中也進行與實施例2~7、9~14說明的處理同樣的處理,與此對應的處理即使在解碼裝置中也與圖29所示同樣地進行。
在實施例15~18中,說明了可逆編碼。對于在實施例6(圖16)、8(圖21)中說明的非可逆編碼,也能夠應用于實施例15~18。另外,實施例9~12(圖22~圖25)的遞歸處理也能夠應用于實施例15~18。碼Z’、碼Z未被分別編碼而將上述差分信號、誤差信號原封不動地輸出也可以。也就是說,即使編碼有時也幾乎得不到壓縮效果。
以下說明以有理近似決定乘數A的方法的實施方式。
實施例19圖32表示求多個數值的集合的共同乘數的處理步驟。首先,對每一幀決定是否重新估計乘數A。輸入當前幀的所有輸入信號x(i)(步驟32-1)。調查當前幀的乘數A是否為1.0(步驟32-2)。如果不是1.0,則作為該當前幀的乘數A的候選(步驟32-3)。對所有的輸入信號x(i)調查該乘數A是否妥當,如果不妥當,將該乘數變更成A=1.0(步驟32-4)。調查乘數A是否為1.0(步驟32-5)。如果不是1.0,則將該幀的乘數候選作為當前幀的乘數A(步驟32-6)。
如果在步驟32-2,當前幀的乘數A為1.0,或者在步驟32-5,乘數A為1.0,則使用各輸入信號以有理近似估計乘數A(步驟32-7)。調查該乘數A是否為1.0,如果不是1.0,則轉移到步驟32-4(步驟32-8)。
接著,參照圖33說明調查在圖32中的步驟32-7中估計的乘數A,且對除法運算處理結果y(i)變形的步驟的例子。調查所有的x(i)的檢查是否結束(步驟33-1)。如果存在未調查的x(i),則調查該輸入信號x(i)是否為NaN,是否無限大,是否為0,是否為非規格化數(步驟33-2)。如果為Yes,則使y(i)為0,返回步驟33-1(步驟33-3)。
在步驟33-2中,如果為所述條件之外(如果不是例外的值),該信號x(i)除以估計的乘數A作為y1(步驟33-4)。將y1的尾數部的最低位的位(LSB)用0屏蔽,作為y2(步驟33-5)。對y2乘以乘數A,并將該結果作為x1(步驟33-6)。將信號x(i)減去x1,并將該結果作為z(步驟33-7)。
調查該減法運算的余數z是否為0(步驟33-8)。如果不是0,則調查x1的絕對值是否比信號x(i)的絕對值小(步驟33-9)。如果x1的絕對值小,則對y1的尾數部最低位的位(LSB)加1,將該值設置為y1(步驟33-10)。將該y1的尾數部最低位的位比特用0屏蔽,作為y2(步驟33-11)。對該y2乘以乘數A,將該結果作為x1,返回到步驟33-9(步驟33-12)。
在步驟33-9中,如果x1的絕對值不小,則調查x1的絕對值是否比x(i)的絕對值大(步驟33-13)。如果x1的絕對值大,則從y1的尾數部最低位的位減去1,將其結果作為y1(步驟33-14)。將該y1的最低位的位用0屏蔽后的值作為y2(步驟33-15)。對該y2乘以乘數A,將其結果作為x1(步驟33-16)。接著,從信號x(i)減去x1,將結果作為z(步驟33-17)。確認該減法運算的結果是否為0(步驟33-18)。如果z≠0,則將此時的乘數A作為1.0結束(步驟33-19)。在步驟33-13,如果x1的絕對值不大,則轉移到步驟33-17。
如果在步驟33-8以及步驟33-18的任意一個中,z=0,則轉移到步驟33-20。如果在步驟33-20中,調查信號x(i)的尾數部的最低位的位的8位是否都為0且y1的最低位的位不為0(步驟33-20)。如果滿足這兩個條件,則調查y1的最低位的位不為0的采樣(信號x(i))的數是否超過了閾值(例如10)(步驟33-21)。如果超過閾值,轉移到步驟33-19,如果未超過,則轉移到步驟33-22。在驟33-22中,調查信號x(i)的尾數部的最低位的位是否都為0且y1的最低位的位不為0(步驟33-22)。
如果滿足步驟33-22的兩條件,則調查y1的最低位的位不為0的采樣(信號x(i))的數是否超過閾值(例如100)(步驟33-23)。如果超過閾值,則移至步驟33-19。
在步驟33-22中,如果不滿足任意的條件,則將y(i)作為y1,轉移到步驟33-1(步驟33-24)。在步驟33-8中,如果z為0,則轉移到步驟33-20。在步驟33-1中,如果結束對于所有的信號x(i)的乘數的檢查,則將該乘數A決定為正確的(步驟33-25)。此時,y(i)也成為所求。步驟33-9至步驟33-16為對y的變形處理。步驟33-9~33-12、步驟33-13~33-16為各個y(i)的動態范圍盡量變小的處理。
圖34表示y的變形的基本處理。僅說明與圖33不同之處。在步驟33-8中,如果z為0,則直接轉移到步驟33-24。同樣地,在步驟33-18中,如果z為0,則直接轉移到步驟33-24。在步驟33-18中,如果z不為0,則調查z是否能夠以規定位數(例如32位)以下來表現(步驟34-1)。如果能夠表現,則直接轉移到步驟33-24,如果不能夠表現,則轉移到步驟34-2。在步驟34-2中,將y(i)作為0,轉移到步驟33-1(步驟34-2)。在步驟33-1中,如果對所有的信號x(i)結束處理,則對該y(i)變形的處理結束。
接著,參照圖35說明將浮點變換成整數的處理步驟的例子。該處理能夠應用于實施例15(圖28)的整數化單元281或實施例17(圖30)的整數化單元303a。
對乘數A、信號x(i)、除法運算處理結果y(i),輸入在圖34中變形處理后的結果(這也記載為y(i))(步驟35-1)。從y(i)的絕對值的最大值當中求移位系數(shift coefficient)Sc(步驟35-2)。編碼裝置將假想的量化位數作為BMA,利用下式求比例(scale)系數SF(步驟35-3)。
SF=2(BMA-1+Sc)調查是否對所有的x(i)完成了處理(步驟35-4)。如果未完成,調查y(i)是否為0(步驟35-5)。如果為0,則作為y’(i)=0,返回步驟35-4(步驟35-6)。在步驟35-5中,如果y(i)不為0,則調查y(i)是否為正(步驟35-7)。如果y(i)為正,則進行y(i)為正的情況的整數化處理,求y’(i),并返回到步驟35-4(步驟35-8)。在步驟35-7中,如果y(i)不為正,則進行y(i)為負的情況下的整數化處理,求y’(i),并返回步驟35-4(步驟35-9)。在步驟35-4中,如果對所有的x(i)結束處理,則求y’(i)的處理結束。
參照圖36說明圖35的步驟35-8的y(i)為正的情況下的整數化處理的步驟。對于y(i)乘以了比例SF后的值,舍棄小數點以下,求y’(i)(步驟36-1)。另外,[公式2] 表示A的小數點以下的舍棄。將y’(i)除以比例SF,并將其結果作為y1(步驟36-2)。對y1乘以乘數A,將其結果作為1(步驟36-3)。從信號x(i)減去x1,并求z(步驟36-4)。調查z是否為0(步驟36-5)。如果z不為0,則調查x1是否比x(i)小(步驟36-6)。如果x1小,則對y’(i)加1作為y’(i)(步驟36-7)。將該y’(i)除以比例SF,作為y1(步驟36-8)。對該y1乘以乘數A,作為x1返回步驟36-6(步驟36-9)。
在步驟36-6中,如果x1不小,則調查x1是否比x(i)大(步驟36-10)。如果x1大,則從y’(i)減去1,將其結果作為y’(i)(步驟36-11)。將該y’(i)除以比例SF,并將其結果作為y1(步驟36-12)。對該y1乘以乘數A,并將該結果作為x1(步驟36-13)。從信號x(i)中減去該x1,并將其結果作為z(步驟36-14)。調查該z是否不為0(步驟36-15)。如果z不為0,則調查z是否能夠以規定位數(例如23位)以下來表現(步驟36-16)。如果不能夠表現,則將y’(i)作為0轉移到步驟36-18(步驟36-17)。如果在步驟36-5中,z為0,則此時的y’(i)為求的y’(i)。在步驟36-10中,如果x1不大,則轉移到步驟36-18。在步驟36-15中,如果z為0,則轉移到步驟36-18。在步驟36-16中,如果能夠將z以規定位N以下來表現,則轉移到步驟36-18。
另外,在步驟36-16中,在z不能以N位(在本例中為23位)以下表現的情況下,取代y’(i)為0,將乘數A為1.0也可以。此時,y’(i)利用實施例16或者實施例17中進行的方法再次從x(i)中重新求。
接著,參照圖37說明y(i)為負的情況下的y(i)的變形步驟的例子。將對y(i)乘以了比例SF后的值的小數點以上進位,作為整數y’(i)(步驟37-1)。這里[公式3] 表示將A的小數點以下進位。將y’(i)除以比例SF,作為y1(步驟37-2)。對該y1乘以乘數A作為x1(步驟37-3)。從信號x(i)減去x1,將結果作為z(步驟37-4)。調查z是否不為0(步驟37-5)。如果z不為0,則調查x1是否比x(i)大(步驟37-6)。如果x1大,則從y’(i)中減去1,將其結果作為y’(i)(步驟37-7)。將該y’(i)除以比例SF,并將其結果作為y1(步驟37-8)。對該y1乘以乘數A,并將該結果作為x1,返回步驟37-6(步驟37-9)。
在步驟37-6中,如果x1不大,則調查x1是否比x(i)小(步驟37-10)。如果x1小,則對y’(i)加上1,作為y’(i)(步驟37-11)。將該y’(i)除以比例SF,求除法運算結果y1(步驟37-12)。對該y1乘以乘數A,并將結果作為x1(步驟37-13)。從x(i)中減去x1,并將結果作為z(步驟37-14)。調查z是否不為0(步驟37-15)。如果z不為0,則調查該z是否能夠以規定值(例如23位)位以下來表現(步驟37-16)。如果不能夠表現,則將y’(i)作為0轉移到步驟37-18(步驟37-17)。如果在步驟37-5中,z為0,則轉移到步驟37-18。同樣地,如果在步驟37-5中,z為0,則轉移到步驟37-18。將各個此時得到的y’(i)作為要求的y’(i)。在步驟37-10中,如果x1不小,則轉移到步驟37-18。在步驟37-16中,如果z能夠以N位以下來表現,則轉移到步驟37-18。這樣,對y’(i)變形的處理結束。
另外在步驟37-16中,如果z不能夠以N位以下來表現的情況下,取代使y’(i)為0而可以為A=1.0。此時,y’(i)利用實施例15或者實施例17中說明的方法再次重新求。
在輸入信號x(i)不以小數點形式而以整數形式表現的情況下,要求共同的乘數,要首先判斷該輸入信號x(i)的極性。如果為正,則以圖36所示的方法進行對y(i)的變形處理,如果為負,則x(i)對y(i)的變形處理以圖37所示的方法進行即可。
以下說明前述的乘數估計單元110的乘數A的決定。
實施例20(有理近似)參照圖38說明估計通過有理近似產生的乘數A的方法。尾數部變換單元381對所輸入的浮點數x(i)的各尾數部的最高位的位(MSB)的1位高位配置1,作為無編碼24位整數mx(i)(i=0,1,...,N)。但是,x(i)在為NaN或非規格化數的情況下變換成mx(i)=0。此時,不輸入所有輸入信號,而例如將x(i)排列成在絕對值表現方式下小的順序,在分類單元380選出1幀(2048采樣)中的0以外的多個(例如512個),輸入到尾數部變換單元381也可以。
在GCD計算單元382,根據需要,使用通常采用的歐幾里德輾轉相除法,計算最大公約數gcd。gcd如果比判定單元382的基準值大,則將該值作為乘數輸出也可以。但是,在該例中,將該gcd作為A0,分母選定單元383將例外值(mx(i)=0)以外的mx(i)除以A0,并輸出該結果my(i)。并且,使用以下的算法(algorithm)來計算乘數A的估計值。此時,有時也加上A0的調整。
這樣的乘數A的估計方法考慮幾個。
第一方法(最初的方法.基本)如前所述,求將例外值作為mx(i)的mx(i)一樣。
(1)分母選定單元383選擇mx(i)中的最大值,并將該值作為X。
(2)一個一個取出例外值(mx(i)=0)以外的mx(i),并在有理近似計算單元384計算下述式(2)。
(mx(i)-1/2)/(X+1/2)<my(i)/Y(i)<(mx(i)+1/2)/(X-1/2) (2)求滿足該式(2)的分母最小的不可約分數my(i)/Y(i)。
這里,利用連分數展開。
以下表示有理近似計算單元384的處理步驟。
步驟1以不可約分數寫為(mx(i)-1/2(X+1/2))=nlow/dlow,(mx(i)+1/2)/(X-1/2)=nhigh/dhigh。
步驟2如果nlow/dlow<1<nhigh/dhigh,則輸出1/1。
步驟3作為dn=max{dlow,dhigh},將與dn對應的分子作為nm。
步驟4設n0=d1=0,n1=d0=1,i=0。
步驟5設k=[nm/dn](不超過nm/dn的最大的整數),r=(將nm除以dn后的余數),nm=dn,dn=r。
步驟6設s=n0+n1×k,t=d0+d1×k,n0=n1,d0=d1。
步驟7設nm(i)=n1=s,dn(i)=d1=t。如果dn>0,則將i增加1返回步驟5,如果dn=0,則轉移到步驟8。
步驟8求成為nlow/dlow<nm(i)<nhigh/dhigh的最小的i(在dn=dlow的情況下,僅調查奇數,在dn=dhigh的情況下,僅調查2以上的偶數就足夠)。
步驟9在i=1時,求滿足(1+k×nm(0))/k<nhigh/dhigh的最小的整數k,并輸出(1+k×nm(0))。
在i為比1大的奇數時,求滿足(nm(i-2)+k×nm(i-1))/(dn(i-2)+k×dn(i-1))<nhigh/dhigh的最小的整數k,并返回(nm(i-2)+k×nm(i-1))/(dn(i-2)+k×dn(i-1))。
在i為偶數時,求滿足(nm(i-2)+k×nm(i-1))/(dn(i-2)+k×dn(i-1))>nlow/dlow的最小的整數k,并返回(nm(i-2)+k×nm(i-1))/(dn(i-2)+k×dn(i-1))。
能夠進行以上的處理根據參照高木貞治著“初等整數論理講義”第2版,2003年9月15日共立出版株式會社發行、124~145頁(以下稱為非專利文獻3),如下來理解。根據該非專利文獻3的140頁的定理2.7以下成立。
對實數ω,指定了誤差范圍ε>0時,成為ω-ε<a/b<ω(或者ω<a/b<ω+ε)的分母最小的分數a/b為ω的第奇數個(或者第偶數個)主或者中間近似分數。這是將緊接著定理2.7之下的證明(全部4行)的從“并且”開始的后半3行換種說法的。
上述提出的ω為所述有理近似計算單元384的nm/dn,ε為nm/dn-nlow/dlow(或者nhigh/dhigh-nm/dn)。
在有定理2.7的第2章中,將ω作為無理數,但是如140頁中間的“注意”中所示,如果注意到分情況等,結論對于有理數的情況也成立。現在這種情況下,有理近似計算單元384的步驟3的‘設為dn=max{dlow,dhigh},將與dn對應的分子作為nm。處于該注意當中(將分母大的作為ω進行連分數展開)。
(3)在公分母確認單元385僅對例外值以外的mx(i)的數求得到的Yi的最大值Y,(4)作為該Y的約數的Yi的數N如果滿足預先設定的條件(下述所示),則在共用因數計算單元386作為乘數A的估計值,將Y移位,輸出將以浮點表現方式計算使得1≤X/Y<2時的X/Y的結果。
如果不滿足條件,則作為乘數A輸出1。
所述預先決定的條件的具體例,將除了例外值(mx(i)=0)的數據數作為m,則如下述這樣。
N≥C(預先決定的數)N≥cm(0<c<1被預先決定)根據輸入信號,已知產生進位的概率,例如在1幀中20%左右為進位的情況下,N為70%的值。另外,盡量利用乘數A從減少碼量這一點來看,N為20%左右也可以。另外,在希望使A的精度變好的情況下,為80%左右。另外,A的合理性在后面調查。
變形在上述(4)中,滿足條件時,對于成為Y的約數的Yi,將mxi/Yi(在進行移位的基礎上Yi滿足條件)的平均作為A輸出。根據該平均,能夠期待A的誤差減少。不滿足條件時,與上述一樣輸出A=1.0。
在上述(4)中,求Yi的最小公倍數Y,如果其為X以下,則輸出以浮點表現方式計算X/Y(在將Y移位的基礎上)的值。也就是說,不清楚Yi是否一定成為最大公約數,但是,如果求Yi的最小公倍數,則一定成為對于整體的最大公約數。或者,使用根據成為Y的約數的Yi計算出的結果的平均。不滿足條件時,與上述同樣輸出A=1.0。
這樣,比起以前,能夠從更寬的范圍選擇Yi。
在上述(1)中,代替最大值X,從大的當中取M個(預先決定數,為2以上,理想的是為3~50內的數),對每一個估計A,輸出以多數表決而勝出的結果、即mxi中能夠最多地共用的結果。
此時,僅以一個來求,則屢屢回避不適當的數據(例如,對于進位的數據和不進位的混合存在的情況下的X)。
在所述(1)中,隨機取M個(預先決定的數),以下同樣地估計各A,以多數表決來決定。
該理由與從大的當中取M個的理由一樣。
在所述(1)中,代替最大值,從大的開始按順序取,對每一個估計A。
在1以外的估計值A匯集了M個(預先決定的數)時,輸出它們。在匯集M個之前,如果沒有數據,不足的量作為A=1輸出。至于這些多個候選當中,哪一個好呢,最好交給檢查計算例程(routine)。例如,對各乘數A進行所述實施例3(圖11、圖12)說明的變形處理、或者實施例4(圖13、圖14)說明的變形處理,選擇最理想的A。
如圖39所示,可以如下變更圖38所示的處理。在分母選定單元391,以GCD計算單元282得到的gcdA0對各mx(i)進行除法運算。這是因為,在后面的處理中不在分母選定單元391中求由GCD計算單元382得到的gcd,也就是說因為減少無用的處理。有理近似計算單元392對mx(i)/A0進行與在有理近似計算單元384中的mx(i)同樣執行的處理。另外,因為作為mx(i)/A0進行處理,所以共用因數計算單元386對得到的乘數候選擴大A0倍,作為乘數A。
也可以如圖40所示,如下變更圖38所示的處理。公分母確認單元402在判定單元402a判定為未發現Yi時,在分母選定單元401中,選定其它的一個分母X。該選定按照mx(i)大的順序或者隨機地進行。在預先決定了分母X的選定的次數、例如即使5次也未發現Yi的情況下,輸出A=1.0。
圖39中,如虛線394所示,在公分母確認單元385中未求Yi的情況下,與如圖40說明一樣,可以在分母選定單元391中選擇其它的分母X。在分母選定單元391中,不是選定M個X,而是一個一個地選定。
在圖41的變形例中,有理近似計算單元411求與各mx(i)對應的my(i)/Yi。這里,乘數A使除法運算處理結果y(i)盡量小的為好。所以,在公分母確認單元412中,選擇分母Y最小的一個,并確認是否能夠作為公分母。在不能作為公分母的情況下,有理近似計算單元411選擇下一個大的Y和y(i)的組。公分母確認單元412對該組確認是否能夠成為公分母。反復進行該操作,決定最理想的y(i)、Y(i)的組。如圖41中虛線所示,如果得不到最大的公分母,則將最初輸入的Yi、yi分別增加一個單位,從而求公分母也可以。
第二方法(加入某些數做成組)該方法為對x0,...,xn分別加上預先決定的數來相對減少誤差的方法。
最初,將尾數部變換成無編碼的24位整數形式mx(i),例外值為mx(i)=0。并且,(1)按大的順序排列mx(i),從大的當中對每M個分別加上的結果作為Xi(在尾數部變換單元381中)。
(2)取Xi的最大值作為X(在分母選定單元383)。
(3)將Xi一個一個取出,求滿足(Xi-/(2M))/(X+1/(2M)<yi/Yi]]><(Xi+1/(2M))/(X-1/(2M))]]>的分母最小的不可約分數yi/Yi(在有理近似計算單元384)。
以下進行第一方法的(4)以下的處理和其變形處理。
這樣,比起第一方法相對地減少數據的誤差,所以求正確的Y的概率提高。
第三方法(全探索之一.基于y)該方法與求mx(i)的處理相同。
(1)取mx(i)的最大值,作為X。
(2)使用不是成為mx(i)<X的i最小的例外值(mx(i)=0)的xi,求滿足(xi-1/2)/(X+1/2)<yi/Yi<(xi+1/2)/(X-1/2)的分母最小的不可約分數yi/Y。
(3)對于例外值(mx(i)=0)以外的所有的xj,調查滿足(xi-1/2)/(X+1/2)<yi/Y<(xi+1/2)/(X-1/2)的分母為Y的分數yj/Y是否存在。
(4)如果在所有的情況下都存在,則作為A的估計值輸出X/Y。或者輸出xj/yj的平均。
如果有不存在的j,則作為滿足(xi-1/2)/(X+1/2)<yi/Yi<(xi+1/2)/(X-1/2)的分母,求Y的下一個小的分數,修改該分母作為Y。
如果Y<X,則返回(3),如果Y=X,則輸出1。
第四方法(全探索之2.基于A)在該方法中對A進行全探索。
首先參照圖38說明使用了所述的有理近似的共用乘數的想法。如前所述,在GCD計算單元382中,如果輸入信號x(i)中包含誤差,則不能求正確的值。在分母選定單元383中,將1幀中的mx(i)=0以外的適當的代表值作為X(分母)。此時,從最大公約數這一點來說盡量優選信息量多的信號(在前述中為最大值)。
在有理近似計算單元384中,如代表值X和將其幀中的所有的mx(i)(如前所述,從處理中除去mx(i)=0的情況在以后的說明中省略)作為分子的分數mx(i)/X中,考慮mx(i)中包含的誤差時,mx(i)/X相對于正確的值,包括負的誤差或者正的誤差,但是,求該最大誤差范圍內的yi/Y。在前述中,為四舍五入產生的誤差,所以±了1/2,但是如果誤差為±α,則求滿足下式的分母最小的不可約分數yi/Yi。
(mx(i)-α)/(X+α)<yi/Yi<(mx(i)+α)/(X-α)例如,在mx(i)中有±2的誤差,則為α=2。正負的誤差非對稱的情況下可以使用+α、-β。
該不可約分數yi/Yi一定根據是利用前面所示的非專利文獻3中的連分數展開的定理來求。
這樣求出的yi/Yi僅有幀當中的mx(i)的數。所以,在公分母確認單元385中,對Yi中的各mx(i)求共用的值。此時,相同的Yi的數如果為預先決定的數以上,則將該Yi作為共用的Y,在共用因數計算單元386中,利用該Yi對X進行除法運算,作為共用乘數A輸出。
實施例21(利用自相關)參照圖42說明求乘數A的其它的例子。
在各信號x(i)的尾數部的最高位的位(MSB)的1位高位,配值“1”,將24位的值作為mx(i)。求該值和將mx(i)移位成j位(j=1,2,...,23)低位的值的自相關。圖42A表示mx(i)和將該值移位一位后的結果mx(i)(1)的、它們的自相關的結果的例子。圖42A舉出z(i)為12位構成的例子。
對該自相關值中的1的位數進行計數。對j=1,2,...,23進行該操作。對每個j,合計所有的z(i)的相關值當中的1的位數。將對于該合計值超過了閾值的j的合計值作為1,將閾值以下的情況作為0。該判定結果的位序列即為求的乘數A。
作為例子,圖42B表示對于z(i)的位數為8的情況下的信號x(0)~x(4),在j=1,2,...,9中的各自相關的位為“1”的數。在圖42B中,作為j=1的情況下的自相關值中的位為“1”的數,x(0)為5,x(1)為3,x(2)為2...。在j=2的情況下,x(0)~x(4)的自相關的值的位為“1”的數都為0。在j=3的情況下,對于x(0),x(1),x(2)...的自相關的位為“1”的數,為2,4,1...。對各j=1,2,3,...合計這些自相關值的位為“1”的數的值為23、0、15...。使閾值為10的情況下,是否超過了閾值的判定結果對于j=1,2,3,...,為1,0,1。該判定結果被作為相對于x(0)~x(4)的共用乘數A。另外,隨著j變大,在相關值中,為1的位數減少,所以j越大,使閾值越小。
實施例22作為音頻信號,將對例如以24位整數形式信號化的信號素材進行變形、振幅調整、效果附加、混合等編輯處理的結果,變換成浮點形式的結果作為輸入信號x(i)輸入。此時,對原來的24位整數形式信號進行的加減乘除處理被記錄,有時能夠獲知該加減乘除處理。此時,與該輸入信號x(i)一起,將加減乘除的運算順序和系數提供給編碼裝置。在乘數估計單元,基于該輸入的加減乘除信息,決定乘數A。例如,對原信號乘以常數A的情況下,輸出該所輸入的常數A作為乘數A即可。
上述的編碼裝置、解碼裝置、有理近似共用乘數計算裝置能夠分別利用計算機起作用。此時,用于作為使計算機作為目的的裝置(在各種實施例中,具有圖示的功能結構的裝置)起作用的程序、或者用于使計算機執行該處理步驟(在各個實施例中表示的步驟)的各過程的的程序,從CD-ROM、磁盤、半導體記錄裝置等記錄介質中或者經由通信線路下載到該計算機中,并執行該程序即可。
權利要求
1.一種信息編碼方法,具有分解步驟,將在每個規定區間中匯集了多個輸入信號的序列分解為共用的乘數、利用該乘數對各輸入信號進行除法運算處理后的商信號的序列、以及該剩余的誤差信號的序列;商編碼步驟,對所述商信號的序列進行壓縮編碼,從而求商碼;以及輸出步驟,輸出所述商碼、所述乘數以及所述誤差信號的序列。
2.如權利要求1所述的信息編碼方法,其特征在于所述分解步驟為分解為整數形式的所述商信號的序列和浮點形式的所述誤差信號的序列的步驟,該信息編碼方法還具有誤差編碼步驟,該步驟對所述誤差信號的序列進行壓縮編碼,從而求誤差碼,所述輸出步驟為輸出所述商碼、所述乘數、所述誤差碼的步驟。
3.如權利要求1所述的信息編碼方法,其特征在于所述分解步驟為分解為浮點形式的所述商信號的序列和浮點形式的所述誤差信號的序列的步驟,該信息編碼方法還具有商信號分離步驟,將所述浮點形式的各商信號分離為整數形式的商信號和浮點形式的差分信號,并求整數形式的商信號的序列和浮點形式的差分信號的序列,所述商編碼步驟為對所述整數形式的商信號的序列進行壓縮編碼的步驟,該信息編碼方法還具有差分編碼步驟,對所述差分信號的序列進行壓縮編碼,從而求差分碼,該信息編碼方法還具有誤差編碼步驟,對所述誤差信號的序列進行壓縮編碼,從而求誤差碼,所述輸出步驟為輸出所述商碼、所述差分碼、所述乘數和所述誤差碼的步驟。
4.一種信息編碼方法,對每個規定的區間中匯集了多個浮點形式的輸入信號的序列進行編碼,具有共用乘數估計步驟,在共用乘數估計單元估計對構成所述輸入信號序列的輸入信號所共用的乘數(共用乘數);除法運算處理步驟,在除法運算處理單元利用該乘數對構成所述輸入信號序列的各輸入信號進行除法運算處理而求商信號的序列;變形處理步驟,在變形處理單元求對構成所述商信號的序列的各商信號進行舍入處理后的整數形式的序列(整數形式商信號序列);商編碼步驟,在商信號編碼單元對所述整數形式商信號序列進行商編碼;乘法運算步驟,在乘法運算單元對所述整數形式商信號序列的各信號乘以所述共用乘數來求浮點形式的信號的序列(浮點形式信號序列);以及誤差編碼步驟,在誤差編碼單元對作為所述浮點形式信號序列的各信號和輸入信號序列的各信號的差、即誤差信號的序列進行編碼。
5.一種信息編碼方法,對每個規定的區間將匯集了多個浮點形式的輸入信號的序列(輸入信號序列)編碼,具有共用乘數估計步驟,在共用乘數估計單元估計構成所述輸入信號序列的輸入信號所共用的乘數(共用乘數);除法運算處理步驟,在除法運算處理單元對利用該乘數對構成所述輸入信號序列的各輸入信號進行除法運算處理而求商信號的序列;整數化步驟,在整數化單元將構成所述商信號的序列的各商信號變換為已變換為整數形式的商信號的序列(整數形式商信號序列);商編碼步驟,在商信號編碼單元對所述整數形式商信號序列編碼;浮點化步驟,在浮點化單元求基于構成所述整數形式商信號序列的各商信號的浮點形式的商信號的序列(浮點形式商信號序列);乘法運算步驟,在乘法運算單元對所述浮點形式商信號序列的各信號乘以所述共用乘數而求浮點形式的信號的序列(浮點形式信號序列);以及誤差編碼步驟,在誤差編碼單元對作為所述浮點形式信號序列的各信號和輸入信號序列的各信號的差、即誤差信號的序列進行編碼。
6.如權利要求4所述的信息編碼方法,其特征在于所述共用乘數估計步驟從構成所述輸入信號序列的輸入信號的值當中選定代表值,將該代表值作為分母,將構成所述輸入信號序列的各輸入信號的值作為分子,通過有理近似計算求這些分數當中的、基于所述各數值的誤差的正側誤差和負側誤差間存在的分母最小的不可約分數,求這些求出的不可約分數中的公分母,根據該公分母和所述代表值求對于構成所述輸入信號序列的各輸入信號的值的共用的乘數。
7.如權利要求4或6所述的信息編碼方法,其特征在于所述變形處理步驟包括以下步驟探索副步驟,對于所述各商信號進行了舍入處理后的各商信號,在預先規定的范圍內,對最低位的位進行每次加1或減1的加法運算或者減法運算,探索從輸入信號中減去所述加法運算或者減法運算后的商信號與所述共用乘數的積后的結果為0的商信號;以及商信號變更副步驟,所述探索副步驟的結果,在對于所有的商信號,所述探索成功的情況下,將所述商信號的集合作為所述整數形式商信號序列,在所述探索的一部分失敗的情況下,使共用乘數為1,將所述輸入信號本身作為商信號。
8.一種信息解碼方法,包括分離步驟,從輸入碼中分離商碼、乘數和誤差信號序列;商信號序列解碼步驟,對所述商碼進行解碼,生成商信號序列;乘法運算步驟,對構成所述商信號序列的各商信號乘以所述乘數;校正步驟,以構成所述誤差信號序列的各誤差信號校正在所述乘法運算步驟生成的信號序列的各信號,從而得到解碼信號的序列。
9.如權利要求8所述的信息解碼方法,其特征在于所述分離步驟為從輸入碼中分離商碼、乘數和誤差碼的步驟,所述商信號序列解碼步驟為生成整數形式的商信號序列的步驟,該信息解碼方法還具有誤差信號序列解碼步驟,對所述誤差碼進行解碼,從而生成浮點形式的誤差信號序列;所述乘法運算步驟對所述整數形式的商信號序列的各商信號乘以所述乘數,從而生成浮點形式的信號序列。
10.如權利要求8所述的信息解碼方法,其特征在于所述分離步驟為從輸入碼中分離商碼、差分碼、乘數和誤差碼的步驟,所述商信號序列解碼步驟為生成整數形式的商信號序列的步驟,該信息解碼方法還具有差分信號序列解碼步驟,對所述差分碼解碼,從而生成浮點形式的差分信號序列,該信息解碼方法還具有加法運算步驟,將所述整數形式的商信號序列的各商信號和所述差分信號序列的對應的差分信號相加,從而求浮點形式的商信號的序列,該信息解碼方法還具有誤差信號序列解碼步驟,對所述誤差碼進行解碼,從而生成浮點形式的誤差信號序列,所述乘法運算步驟為對所述浮點形式的商信號的序列的各商信號乘以所述乘數,從而生成浮點形式的信號序列的步驟。
11.一種信息解碼方法,包括商解碼步驟,在商解碼單元,將商碼解碼為整數形式的商信號序列(整數形式商信號序列);誤差解碼步驟,在誤差解碼單元,基于誤差碼得到誤差信號序列;乘法運算步驟,在乘法運算單元對構成所述整數形式商信號序列的各信號乘以共用乘數,從而得到浮點形式的信號序列;以及加法運算步驟,對在所述乘法運算步驟生成的信號序列的各信號加上構成所述誤差信號序列的各信號。
12.一種信息解碼方法,包括以下步驟商解碼步驟,在商解碼單元將商碼解碼為整數形式的商信號序列(整數形式商信號序列);誤差解碼步驟,在誤差解碼單元,基于誤差碼得到誤差信號序列;浮點化步驟,在浮點化單元生成基于構成所述整數形式商信號序列的各信號的浮點形式的商信號的序列(浮點形式商信號序列);乘法運算步驟,在乘法運算單元,對構成所述浮點形式商信號序列的各信號乘以共用乘數,從而得到浮點形式的信號序列;以及加法運算步驟,對在所述乘法運算步驟生成的信號序列的各信號加上構成所述誤差信號序列的各信號。
13.如權利要求11或12所述的信息解碼方法,其特征在于所述誤差解碼步驟包括以下處理在共用乘數為1的情況下,作為各誤差信號的尾數部,對從尾數部的總位數當中減去所述整數形式商信號序列的對應的商信號的位數的數的低位側的位,設定對誤差碼解碼而得到的信號,并對剩余的高位側的位設定“0”,從而求浮點數表現的誤差信號序列,在共用乘數為1以外的情況下,將從誤差碼中求出的各信號作為浮點表現的各誤差信號的尾數部,從而求浮點表現的誤差信號序列。
14.一種信息編碼裝置,具備分割單元,對每個規定區間生成匯集了多個輸入信號的輸入信號序列;余數分離處理單元,所述輸入信號序列被輸入,并分解為該輸入信號序列的各輸入信號所共用的乘數、利用該乘數對各輸入信號進行除法運算處理后的商信號的序列、該余數的誤差信號的序列;商編碼單元,將所述商信號的序列進行壓縮編碼,從而求商碼;以及輸出單元,輸出所述商碼、所述乘數以及所述誤差信號的序列。
15.如權利要求14所述的信息編碼裝置,其特征在于所述余數分離處理單元為分解為整數形式的所述商信號的序列和浮點形式的所述誤差信號的序列的結構單元;還具有誤差編碼單元,對所述誤差信號的序列進行壓縮編碼,從而求誤差碼;所述輸出單元為輸出所述商碼、所述乘數、所述誤差碼的結構單元。
16,如權利要求14所述的信息編碼裝置,其特征在于所述余數分離處理單元為分解為浮點形式的所述商信號的序列和浮點形式的所述誤差信號的序列的結構單元,該信息編碼裝置還具有整數化單元,將所述浮點形式的各商信號分離為整數形式的商信號和浮點形式的差分信號,并求整數形式的商信號的序列和浮點形式的差分信號的序列,所述商編碼單元為對所述整數形式的商信號的序列進行壓縮編碼的結構單元,該信息編碼裝置還具有差分編碼單元,對所述差分信號的序列進行壓縮編碼,從而求差分碼,該信息編碼裝置還具有誤差編碼單元,對所述誤差信號的序列進行壓縮編碼,從而求誤差碼,所述輸出單元為輸出所述商碼、所述差分碼、所述乘數和所述誤差碼的結構單元。
17.一種信息編碼裝置,在每個規定的區間,對匯集了多個浮點形式的輸入信號的序列進行編碼,該信息編碼裝置具備共用乘數估計單元,估計構成所述輸入信號序列的輸入信號所共用的乘數(共用乘數),除法運算處理單元,對利用該乘數對構成所述輸入信號序列的各輸入信號進行除法運算處理而求商信號的序列;變形處理單元,求對構成所述商信號的序列的各商信號進行舍入處理的整數形式的序列(整數形式商信號序列);商編碼單元,對所述整數形式商信號序列進行編碼;乘法運算單元,對所述整數形式商信號序列的各信號乘以所述共用乘數而求浮點形式的信號的序列(浮點形式信號序列);誤差編碼單元,對作為所述浮點形式信號序列的各信號和輸入信號序列的各信號的差、即誤差信號的序列進行編碼。
18.一種信息編碼裝置,在每個規定的區間,對匯集了多個浮點形式的輸入信號的序列(輸入信號序列)進行編碼,該信息編碼裝置包括共用乘數估計單元,估計構成所述輸入信號序列的輸入信號所共用的乘數(共用乘數);除法運算處理單元,對利用該乘數對構成所述輸入信號序列的各輸入信號進行除法運算處理而求商信號的序列;整數化單元,將構成所述商信號的序列的各商信號變換為已變換成整數形式的商信號的序列(整數形式商信號序列);商編碼單元,對所述整數形式商信號序列進行編碼;浮點化單元,基于構成所述整數形式商信號序列的各商信號而求浮點形式的商信號的序列(浮點形式商信號序列);乘法運算單元,對所述浮點形式商信號序列的各信號乘以所述共用乘數而求浮點形式的信號的序列(浮點形式信號序列);以及誤差編碼單元,對作為所述浮點形式信號序列的各信號和輸入信號序列的各信號的差、即誤差信號的序列進行編碼。
19.如權利要求17所述的信息編碼裝置,其特征在于所述共用乘數估計單元從構成所述輸入信號序列的輸入信號的值當中選定代表值,將該代表值作為分母,將構成所述輸入信號序列的各輸入信號的值作為分子,通過有理近似計算求這些分數當中的、基于所述各數值的誤差的正側誤差和負側誤差間存在的分母最小的不可約分數,求這些求出的不可約分數中的公分母,根據該公分母和所述代表值求對于構成所述輸入信號序列的各輸入信號的值的共用的乘數。
20.如權利要求17或19所述的信息編碼裝置,其特征在于所述變形處理單元具有探索部件,對于所述各商信號進行了舍入處理后的各商信號,在預先規定的范圍內,對最低位的位進行每次加1或減1的加法運算或者減法運算,探索從輸入信號中減去所述加法運算或者減法運算后的商信號與所述共用乘數的積之后的結果為0的商信號;以及商信號變更部件,所述探索副步驟的結果,在對于所有的商信號,所述探索成功的情況下,將該商信號的集合作為所述整數形式商信號序列,在所述探索的一部分失敗的情況下,使共用乘數為1,將所述輸入信號本身作為商信號。
21.一種信息解碼裝置,包括分離單元,從輸入碼中分離商碼、乘數和誤差信號序列;商解碼單元,對所述商碼進行解碼,生成商信號序列;乘法運算單元,對構成所述商信號序列的各商信號乘以所述乘數;校正處理單元,以構成誤差信號序列的各誤差信號校正在所述乘法運算單元生成的信號序列的各信號,從而得到解碼信號的序列。
22.如權利要求21所述的信息解碼裝置,其特征在于所述分離單元為從輸入碼中分離商碼、乘數和誤差碼的結構單元,所述商解碼單元為生成整數形式的商信號序列的結構單元,該信息解碼裝置還具有誤差解碼單元,對所述誤差碼進行解碼,從而生成浮點形式的誤差信號序列;所述乘法運算單元為對所述整數形式的商信號序列的各商信號乘以所述乘數,從而生成浮點形式的信號序列的結構單元。
23.如權利要求21所述的信息解碼裝置,其特征在于所述分離單元為從輸入碼中分離商碼、差分碼、乘數和誤差碼的結構單元,所述商解碼單元為生成整數形式的商信號序列的結構單元,該信息解碼裝置還具有差分解碼單元,對所述差分碼進行解碼,從而生成浮點形式的差分信號序列,該信息解碼裝置還具有加法運算單元,將所述整數形式的商信號序列的各商信號和所述差分信號序列的對應的差分信號相加,從而求浮點形式的商信號的序列,該信息解碼裝置還具有誤差解碼單元,對所述誤差碼進行解碼,從而生成浮點形式的誤差信號序列,所述乘法運算單元為對所述浮點形式的商信號的序列的各商信號乘以所述乘數,從而生成浮點形式的信號序列的結構單元。
24.一種信息解碼裝置,包括商解碼單元,將商碼解碼成整數形式的商信號序列(整數形式商信號序列);誤差解碼單元,基于誤差碼得到誤差信號序列;乘法運算單元,對構成所述整數形式商信號序列的各信號乘以共用乘數,從而得到浮點形式的信號序列;以及加法運算單元,對在所述乘法運算單元生成的信號序列的各信號加上構成所述誤差信號序列的各信號。
25.一種信息解碼裝置,包括以下單元商解碼單元,將商碼解碼為整數形式的商信號序列(整數形式商信號序列);誤差解碼單元,基于誤差碼得到誤差信號序列;浮點化單元,基于構成所述整數形式商信號序列的各信號生成浮點形式的商信號的序列(浮點形式商信號序列);乘法運算單元,對構成所述浮點形式商信號序列的各信號乘以共用乘數,從而得到浮點形式的信號序列;以及加法運算單元,對在所述乘法運算單元生成的信號序列的各信號加上構成所述誤差信號序列的各信號。
26.如權利要求24或25所述的信息解碼裝置,其特征在于所述誤差解碼單元包括在共用乘數為1的情況下,作為各誤差信號的尾數部,對從尾數部的總位數當中減去所述整數形式商信號序列的對應的商信號的位數的數的低位側的位,設定對誤差碼解碼而得到的信號,并對余數的高位側的位設定“0”,從而求浮點數表現的誤差信號序列的部件;以及在共用乘數為1以外的情況下,將從誤差碼中求出的各信號作為浮點表現的各誤差信號的尾數部,從而求浮點表現的誤差信號序列的部件。
27.一種共用乘數估計方法,其特征在于從多個數值的組當中選定代表值,將該代表值作為分母,將構成所述組的各數值作為分子,通過有理近似計算求這些分數當中的、基于所述各數值的誤差的正側誤差和負側誤差間存在的分母最小的不可約分數,求這些求出的不可約分數中的公分母,根據該公分母和所述代表值對所述多個數值求共用的乘數。
28.一種共用乘數估計裝置,包括分母選定單元,從多個數值的組當中選定代表值;有理近似計算單元,所述代表值、所述數值的組、所述數值的誤差被輸入,并將所述代表值作為分母,將所述各數值作為分子,通過有理近似計算求這些分數當中的、基于所述誤差的正側誤差和負側誤差之間存在的分母最小的不可約分數;公分母確認單元,所述各不可約分數被輸入,并求公分母;以及共用因數計算單元,被輸入所述公分母和所述代表值,對公分母進行校正,輸出對所述數值的組的共用乘數。
29.一種程序,使計算機執行權利要求1~13、27中任意一項所述的方法的各過程。
30.一種計算機可讀取的記錄介質,記錄權利要求29所述的程序。
全文摘要
本發明目的在于提供為了提高音頻信號的壓縮效率,而使用共用的乘數對信號進行分離從而編碼的方法、以及對包含誤差的數值組求共用的乘數的方法。在每一幀,對各采樣估計輸入信號采樣(x(i))的共用的乘數(A)。利用(A)對各采樣(x(i))進行除法運算,以有效位數進行舍入處理,并對商信號(y(i))編碼,對(y(i))乘以(A),并從(x(i))中減去該乘法運算結果,求誤差信號(z(i)),并對(z(i))編碼。對(A)編碼,將(y(i))的碼、(z(i))的碼、(A)的碼進行合成并輸出。在共用乘數的估計中,利用決定的代表數值對各數值進行除法運算。在最大正側誤差和最大負側誤差之間,利用有理近似求各數值除以正確的值的代表值后的不可約分數。求該求出的不可約分數值中的分母相對各數值為共用的最小的值,利用所述代表值修正該公分母,作為共用乘數。
文檔編號G10L19/00GK101036113SQ20058003352
公開日2007年9月12日 申請日期2005年10月14日 優先權日2004年10月15日
發明者原田登, 關川浩, 守谷健弘, 白柳潔 申請人:日本電信電話株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 山阴县| 察哈| 夏河县| 侯马市| 巧家县| 新晃| 镇原县| 柳河县| 双峰县| 平山县| 武宁县| 西充县| 陇南市| 高尔夫| 新河县| 宝丰县| 永兴县| 沙洋县| 稻城县| 天水市| 苏尼特右旗| 屏山县| 韶山市| 富民县| 祁阳县| 磐石市| 奈曼旗| 山阳县| 高清| 兴安盟| 马山县| 冷水江市| 浮梁县| 峡江县| 依安县| 图片| 龙州县| 吉安县| 磐安县| 建昌县| 安岳县|