專利名稱:數(shù)據(jù)變換裝置及其控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)變換裝置及其控制方法,特別是涉及一種數(shù)據(jù)變換技術(shù),該數(shù)據(jù)變換技術(shù)能夠在對于變換各個塊的圖像數(shù)據(jù)以及利用統(tǒng)一方案處理無損編碼及有損編碼而言必不可少的無損正交變換中,將n階整數(shù)數(shù)據(jù)無損變換為n階整數(shù)數(shù)據(jù),以便具體實現(xiàn)形成該無損正交變換的各種類型的無損旋轉(zhuǎn)變換。
背景技術(shù):
圖像(特別是多值圖像)包括許多條信息,并且需要巨大的存儲容量進行存儲和許多時間進行傳送。圖像的存儲和傳送使用高效率的編碼,以通過去除圖像的冗余性或?qū)D像內(nèi)容改變到在視覺上不可識別出圖像質(zhì)量劣化的程度來減少數(shù)據(jù)量。
例如,JPEG(由ISO和ITU-T推薦作為靜止圖像的國際標準編碼方式)通過執(zhí)行離散余弦變換(DCT)將每個塊(8×8像素)的圖像數(shù)據(jù)變換成DCT系數(shù)。JPEG對每個系數(shù)進行量化并對量化的系數(shù)進行熵編碼,以壓縮圖像數(shù)據(jù)。除了JPEG之外,使用DCT的其他壓縮技術(shù)有H.261和MPEG-1/2/4。
在JPEG標準中,也對無損編碼進行了標準化,以使壓縮/解壓縮的圖像與原始圖像完全匹配。過去,無損變換技術(shù)的研究沒有取得明顯的進展,并且無法實現(xiàn)使用DCT的無損變換。因此,無損編碼不能通過使用DCT的塊變換編碼執(zhí)行,而是通過每個像素的預(yù)測編碼執(zhí)行。
后來,建立了專用于靜止圖像的無損編碼的國際標準(JPEG-LS)。然而,在這個標準中,沒有使用無損變換技術(shù)。將無損小波變換用于無損圖像編碼的JPEG 2000隨后成為了國際標準。無損小波變換是從整數(shù)數(shù)據(jù)集到整數(shù)數(shù)據(jù)集的無損變換。除非傳送系數(shù)被量化,否則使用無損變換的編碼將逐字地實現(xiàn)無損編碼。量化處理的介入實現(xiàn)了有損編碼。即,這種編碼可以通過相同的變換方式準確無誤地執(zhí)行無損編碼和有損編碼。由于這個優(yōu)點,甚至在目前正被國際標準化的JPEG-XR中也采用了使用無損變換的編碼。
實現(xiàn)無損變換的一種傳統(tǒng)技術(shù)使用階梯計算(提升計算)。在如下文獻中描述了這種方法的典型實例Shinji Fukuma、Koichi Ohyama、MasahiroIwahashi和Noriyoshi Kambayashi的“Lossless 8-Point Fast Discrete CosineTransform Using Lossless Hadamard Transform(應(yīng)用無損阿達瑪變換的無損8點高速離散余弦變換)”,IEICE技術(shù)報告,IE99-65,第37-44頁,1999年10月。在該文獻中,通過將變換矩陣分解成三角矩陣并用階梯計算代替它們的復雜程序來實現(xiàn)無損變換。因此,這種結(jié)構(gòu)是復雜的,并且需要大量的計算處理。
日本專利特開第2003-258645號公報公開了一種限于阿達瑪變換(Hadamard transform)的無損變換方法。在該文獻中公開的方法針對通過線性阿達瑪變換獲得的小數(shù)數(shù)據(jù)的變換系數(shù),上舍入奇數(shù)個數(shù)據(jù)的小數(shù)部分并下舍入另外奇數(shù)個數(shù)據(jù)的小數(shù)部分。該文獻的特征在于舍入方法,其并沒有想到來減少線性阿達瑪變換的計算或減少舍入處理所需的處理量。
如上所述,傳統(tǒng)無損變換技術(shù)需要通過階梯計算執(zhí)行冗余處理,以實現(xiàn)可逆性。這妨礙了使用無損變換的高速無損編碼和有損編碼。
發(fā)明內(nèi)容
本發(fā)明是為克服上述傳統(tǒng)缺陷而作出的。本發(fā)明提供一種更加快速地執(zhí)行無損變換的技術(shù)。本發(fā)明還提供一種使用小型電路執(zhí)行無損阿達瑪變換的技術(shù)。
為了解決上述傳統(tǒng)問題,本發(fā)明的第一方面提供一種數(shù)據(jù)變換裝置,其包括用于輸入多個輸入數(shù)據(jù)的輸入端子以及用于輸出多個變換結(jié)果的輸出端子,該數(shù)據(jù)變換裝置包括 第一計算單元,其將輸入到所述輸入端子的數(shù)據(jù)與針對各個輸入數(shù)據(jù)設(shè)置的第一加權(quán)系數(shù)相乘,并對加權(quán)的數(shù)據(jù)進行加和; 第二計算單元,其將從所述第一計算單元獲得的計算結(jié)果與針對所述各個輸入數(shù)據(jù)設(shè)置的第二加權(quán)系數(shù)相乘,并將乘積與所述各個輸入數(shù)據(jù)相加;以及 舍入單元,其被設(shè)置在所述第一計算單元和所述第二計算單元中的乘以非整數(shù)加權(quán)系數(shù)的至少一者中,并將非整數(shù)計算結(jié)果舍入成整數(shù), 其中,各個輸入數(shù)據(jù)的所述第一加權(quán)系數(shù)和所述第二加權(quán)系數(shù)的乘積的和取0和-2中的任意一個。
本發(fā)明的第二方面提供一種數(shù)據(jù)變換裝置的控制方法,所述數(shù)據(jù)變換裝置由多個輸入數(shù)據(jù)生成多個變換數(shù)據(jù)并輸出所述變換數(shù)據(jù),所述控制方法包括 第一計算步驟,使第一計算單元將所述輸入數(shù)據(jù)與針對各個輸入數(shù)據(jù)設(shè)置的第一加權(quán)系數(shù)相乘,并對加權(quán)的數(shù)據(jù)進行加和; 第二計算步驟,使第二計算單元將在所述第一計算步驟中獲得的計算結(jié)果與針對所述各個輸入數(shù)據(jù)設(shè)置的第二加權(quán)系數(shù)相乘,并將乘積與所述各個輸入數(shù)據(jù)相加;以及 舍入步驟,使舍入單元在所述第一計算步驟和所述第二計算步驟中的乘以非整數(shù)加權(quán)系數(shù)的至少一者中,將非整數(shù)計算結(jié)果舍入成整數(shù), 其中,各個輸入數(shù)據(jù)的所述第一加權(quán)系數(shù)和所述第二加權(quán)系數(shù)的乘積的和取0和-2中的任意一個。
本發(fā)明能夠以少的計算量實現(xiàn)幾乎沒有延遲的快速無損變換。該無損變換能夠快速執(zhí)行無損編碼和有損編碼。特別是,通過相同的描述,軟件處理及硬件處理兩者都能執(zhí)行能夠?qū)崿F(xiàn)快速無損阿達瑪變換的計算。這允許軟件和硬件在一起開發(fā)。
特別是,當將圖7中所示的無損阿達瑪變換的配置實現(xiàn)為硬件電路時,該電路的大小可以小于傳統(tǒng)的其他電路,并且該電路需要很少的電力即可工作。這意味著,其對于工業(yè)產(chǎn)品壓縮數(shù)據(jù)來說是有用的。
通過以下參照附圖對示例性實施例的描述,本發(fā)明的其他特征和方面將變得清楚。
圖1是本發(fā)明中的用于無損變換的基本數(shù)據(jù)變換裝置的圖; 圖2是用于說明當矩陣的行列式為-1時的可逆性的圖; 圖3是根據(jù)第一實施例的數(shù)據(jù)變換裝置的圖; 圖4是根據(jù)第一實施例的另一數(shù)據(jù)變換裝置的圖; 圖5A及圖5B是示出第一實施例中的具體變換數(shù)據(jù)的示例的表; 圖6是根據(jù)第一實施例的應(yīng)用示例的數(shù)據(jù)變換裝置的圖; 圖7是根據(jù)第二實施例的數(shù)據(jù)變換裝置的圖; 圖8是根據(jù)第二實施例的另一數(shù)據(jù)變換裝置的圖; 圖9是根據(jù)第三實施例的數(shù)據(jù)變換裝置的圖; 圖10是根據(jù)第三實施例的另一數(shù)據(jù)變換裝置的圖; 圖11A及圖11B是示出根據(jù)第三實施例的具體變換數(shù)據(jù)的示例的表; 圖12是示出兩段提升計算的電路圖; 圖13是根據(jù)第四實施例的數(shù)據(jù)變換裝置的圖; 圖14是根據(jù)第五實施例的數(shù)據(jù)變換裝置的圖;以及 圖15是執(zhí)行與圖14相應(yīng)的逆變換處理的數(shù)據(jù)變換裝置的圖。
具體實施例方式 在以下實施例中,將說明基于圖1中所示的結(jié)構(gòu)的無損變換。首先,將詳細描述由圖1的結(jié)構(gòu)實現(xiàn)的變換。
圖1中的裝置包括第一計算單元111和第二計算單元112。第一計算單元111將加權(quán)系數(shù)a0、a1、a2和a3與從輸入端子101、102、103和104輸入的4個數(shù)據(jù)D0、D1、D2和D3相乘。第一計算單元111對加權(quán)的數(shù)據(jù)進行加和(計算加權(quán)的數(shù)據(jù)的和),從而生成并輸出和E E=a0*D0+a1*D1+a2*D2+a3*D3 第二計算單元112將為各個輸入數(shù)據(jù)設(shè)置的第二加權(quán)系數(shù)b0、b1、b2和b3與該和E相乘。第二計算單元112將乘積與輸入數(shù)據(jù)D0、D1、D2和D3相加,即,計算D0+b0*E、D1+b1*E、D2+b2*E和D3+b3*E。然后,第二計算單元112從輸出端子121至124輸出這些和。
這種變換的變換矩陣可以表示為 矩陣(1)的行列式T為 T=1+a0b0+a1b1+a2b2+a3b3(2) 矩陣(1)的逆變換矩陣為 在無損變換編碼中,矩陣的行列式T的值需要為-1或+1,以防止在變換時發(fā)生冗余增加或信息退化。
若要將矩陣的行列式T的值設(shè)置為-1,a0*b0+a1*b1+a2*b2+a3*b3=-2必須成立。
若要將矩陣的行列式T的值設(shè)置為+1,a0*b0+a1*b1+a2*b2+a3*b3=0必須成立。
將這些設(shè)置條件實施在第一計算單元111和第二計算單元112的加權(quán)系數(shù)上。
矩陣的行列式T=-1和+1時的逆變換矩陣為 <矩陣的行列式T=-1時的逆矩陣> <矩陣的行列式T=+1時的逆矩陣> 逆矩陣(4a)和(4b)揭示出變換矩陣和逆變換矩陣具有有趣的關(guān)系。即,矩陣的行列式T=-1時,變換矩陣(1)和逆變換矩陣(4a)彼此完全匹配。矩陣的行列式T=+1時,通過對變換矩陣(1)中的加權(quán)系數(shù)a0、a1、a2和a3或加權(quán)系數(shù)b0、b1、b2和b3的符號進行反轉(zhuǎn)來獲得逆變換矩陣(4b)。
本發(fā)明通過使用變換矩陣(正變換矩陣)與逆變換矩陣之間的相似性確保在將整數(shù)數(shù)據(jù)變換成整數(shù)數(shù)據(jù)時的可逆性。
注意圖2中所示的數(shù)據(jù)變換處理,在其中,針對矩陣的行列式T=-1的情況依次處理變換和逆變換,以對輸入數(shù)據(jù)進行變換,然后進行逆變換,從而解碼原始輸入數(shù)據(jù)。在圖2中,正變換側(cè)和逆變換側(cè)具有相同的結(jié)構(gòu)。為了描述方便,向正變換側(cè)的第一計算單元和第二計算單元的標號增加后綴“f”,而向逆變換側(cè)的第一計算單元和第二計算單元的標號增加后綴“r”。標號141至144表示逆變換側(cè)的輸出端子。
該數(shù)據(jù)變換處理中的正變換的結(jié)果通常是小數(shù)數(shù)據(jù),基本上不是整數(shù)。如下文將描述的,正變換側(cè)的第一計算單元111f的計算結(jié)果與逆變換側(cè)的第一計算單元111r的計算結(jié)果具有相同的絕對值及相反的符號?;谶@個關(guān)系,可以說明由該數(shù)據(jù)變換裝置實現(xiàn)的可逆性。
在正變換側(cè),第二計算單元112f將第一計算單元111f的計算結(jié)果與第二加權(quán)系數(shù)相乘,并將乘積與每個輸入數(shù)據(jù)相加。在逆變換側(cè),第二計算單元112r將第一計算單元111r的計算結(jié)果(其具有與第一計算單元111f的計算結(jié)果相反的符號)與相同的第二加權(quán)系數(shù)相乘,并將乘積與逆變換的輸入數(shù)據(jù)相加。因此,在正變換側(cè)相加的數(shù)據(jù)與在逆變換側(cè)相加的數(shù)據(jù)彼此相消,僅留下輸入數(shù)據(jù)。
一般而言,正變換的結(jié)果是小數(shù)數(shù)據(jù)。即使在將小數(shù)數(shù)據(jù)舍入成整數(shù)數(shù)據(jù)時,如果以上述方式“在變換中相加的數(shù)據(jù)與在逆變換中相加的數(shù)據(jù)可以彼此相消”,則也能夠獲得可逆性。為此,需要更詳細地分析正變換側(cè)的第一計算單元111f的計算結(jié)果與逆變換側(cè)的第一計算單元111r的計算結(jié)果具有相反符號的關(guān)系。
在圖2所示的數(shù)據(jù)變換處理中,根據(jù)前述關(guān)系式“a0*b0+a1*b1+a2*b2+a3*b3=-2”,從正變換側(cè)的第一計算單元111f的輸出到逆變換側(cè)的第一計算單元111r的輸出的傳送系數(shù)為-2。
這意味著,正變換側(cè)的第一計算單元111f的計算結(jié)果E作為基于該傳送系數(shù)的-2E的傳送信號,包含在逆變換側(cè)的第一計算單元111r的計算結(jié)果中。除了所述-2E的傳送信號之外,逆變換側(cè)的第一計算單元111r的計算結(jié)果還包含逆變換側(cè)的第一計算單元111r對正變換側(cè)輸入數(shù)據(jù)的計算結(jié)果。與這個計算結(jié)果對應(yīng)的信號為E,這類似于正變換側(cè)的第一計算單元111f的計算結(jié)果。
逆變換側(cè)的第一計算單元111r的計算結(jié)果最終變?yōu)?2E+E=-E。由此,逆變換側(cè)的第一計算單元111r的計算結(jié)果的符號與正變換側(cè)的第一計算單元111f的計算結(jié)果E相反。
為了保持整數(shù)變換的可逆性,即使在將小數(shù)數(shù)據(jù)轉(zhuǎn)換成整數(shù)之后也需要保持傳送系數(shù)“-2”。作為與用于這個目的的舍入處理相關(guān)的處理方法,可想到如下三種方法。在描述實施例之前,一起說明這三種方法,以闡明在它們之間的區(qū)別。
作為第一種計算方法,將用于生成小數(shù)數(shù)據(jù)的所有加權(quán)系數(shù)收集到第一計算單元。在該第一計算單元的最后級的舍入單元將小數(shù)數(shù)據(jù)舍入成整數(shù)值,用作第一計算單元的計算結(jié)果。第二計算單元將整數(shù)值與限定的第二權(quán)數(shù)相乘,并將乘積與輸入數(shù)據(jù)相加。在示出了后面要描述的第一實施例的圖3中示出具有舍入單元的第一計算單元的結(jié)構(gòu)。
通過執(zhí)行根據(jù)該計算方法的變換處理和逆變換處理,不需要進行舍入處理,直到在變換側(cè)的第一計算單元的輸出之后有到逆變換側(cè)的第一計算單元的舍入單元的輸入為止。只要滿足條件“a0*b0+a1*b1+a2*b2+a3*b3=-2”,則所來自的信號源是變換側(cè)上的第一計算單元的輸出的傳送值精確地變?yōu)?2E,并到達逆變換側(cè)上的第一計算單元的舍入單元。
傳送值“-2E”完全是整數(shù)值,不包含小數(shù)數(shù)據(jù),因此不經(jīng)歷舍入處理。傳送系數(shù)精確地保持為“-2”,從而保持可逆性。
第二種方法是在第二加權(quán)系數(shù)為非整數(shù)值時的舍入方法。在示出了后面要描述的第二實施例的圖4中示出具有舍入單元的第二計算單元的結(jié)構(gòu)。通過第二加權(quán)系數(shù)的乘法生成的小數(shù)值被下舍入。將該下舍入的值疊加在另一信號上,以傳送得到的信號。相反,當小數(shù)值被上舍入時,從另一信號減去上舍入的分量,以傳送得到的信號。
當在另一信號上疊加下舍入或上舍入分量以傳送得到的信號時,需要調(diào)整要疊加的值,以便在考慮該信號的第一加權(quán)系數(shù)的情況下最終獲得期望的傳送值。在后面要描述的第三實施例中將說明該方法的示例。這樣,第二種方法精確地獲得傳送系數(shù)“-2”。
第三種方法同第二種方法一樣是在第二加權(quán)系數(shù)為非整數(shù)值時的舍入方法。第二種方法向成對的數(shù)據(jù)分配不同的舍入處理。相反,第三處理方法將處理擴展到三個或更多個數(shù)據(jù)。在該處理中,每當作為第一計算單元的計算結(jié)果的小數(shù)值增加1/n時,n個信號之一被增加1,以便每次以1/n為增量傳送信號。
假設(shè)三個第二加權(quán)系數(shù)b0、b1和b2為1/3。在將信號乘以加權(quán)系數(shù)之后,一個信號的小數(shù)部分被簡單地下舍入成整數(shù),另一信號的小數(shù)部分在增加1/3之后被下舍入成整數(shù),剩下的信號的小數(shù)部分在增加2/3之后被下舍入成整數(shù)。因此,三個信號可以以1/3為單位傳送。
此外,假設(shè)兩個第二加權(quán)系數(shù)b0和b1為1/2。在將信號乘以加權(quán)系數(shù)之后,一個信號的小數(shù)部分被下舍入成整數(shù),另一信號的小數(shù)部分被上舍入成整數(shù)。因此,可以使用1/2為單位傳送信號。通過使用1/n為單位傳送n個信號,傳送系數(shù)“-2”得到維持。
為獲得傳送系數(shù)“-2”而進行的舍入處理的詳細調(diào)整根據(jù)加權(quán)系數(shù)的值和近似計算的引入而改變。在本說明書中不可能描述所有情形。然而,可以將一般思想大致地分類成這三種方法。
以下將描述根據(jù)本發(fā)明的實施例。
<第一實施例> 圖3及圖4示出了本發(fā)明的第一實施例中的數(shù)據(jù)變換裝置(數(shù)據(jù)變換電路)的結(jié)構(gòu)。當忽略用以獲得整數(shù)的舍入處理時,兩種變換中的任意一者的變換矩陣給出如下 這個變換的物理意義是從各個輸入數(shù)據(jù)減去四個輸入數(shù)據(jù)的DC分量。
在壓縮編碼方面,這個變換并非如此重要,但卻是適于說明本發(fā)明中的可逆性的最簡單變換,因此在本發(fā)明中進行了例示。
針對一個變換矩陣存在第一和第二加權(quán)系數(shù)的許多組合,并且存在與它們相應(yīng)的多種實施方式。下面將描述兩種典型結(jié)構(gòu)。圖3示出了在將所有第一加權(quán)系數(shù)a0、a1、a2和a3設(shè)置為“-1/2”并將所有第二加權(quán)系數(shù)b0、b1、b2和b3設(shè)置為整數(shù)值“1”時的結(jié)構(gòu)。圖4示出了在將所有第一加權(quán)系數(shù)a0、a1、a2和a3設(shè)置為整數(shù)值“-1”并將所有第二加權(quán)系數(shù)b0、b1、b2和b3設(shè)置為“1/2”時的結(jié)構(gòu)。
可以通過上面提及的三種方法中的第一種方法說明圖3的可逆性,并可以通過第三種方法說明圖4的可逆性。
在圖3和圖4中,四個輸入數(shù)據(jù)從頂部起依次稱為第一、第二、第三和第四輸入數(shù)據(jù),并且將計算期間的數(shù)據(jù)稱為第一、第二、第三和第四數(shù)據(jù)。這同樣適用于其余實施例的描述。
除了獲得整數(shù)的舍入處理之外,這兩個變換完全相同,但是由于經(jīng)過該處理的信號不同,所以表現(xiàn)了略微不同的變換結(jié)果。
圖3的結(jié)構(gòu)計算F=a0*D0+a1*D1+a2*D2+a3*D3=(-D0-D1-D2-D3)/2,所以可以在計算結(jié)果F中生成1位小數(shù)數(shù)據(jù)。舍入單元113將小數(shù)數(shù)據(jù)舍入成整數(shù)round(F),其用作第一計算單元111的輸出E。舍入方法或者是下舍入或者是上舍入,只要其與逆變換設(shè)備中的方法相同即可。
將舍入結(jié)果(即第一計算單元111的計算結(jié)果E)與第二加權(quán)系數(shù)b0、b1、b2和b3相乘,并將和分別與相應(yīng)的輸入相加,輸出Di′=Di+E(i=0,1,2,3)作為變換結(jié)果。
在逆變換中進行與變換處理相同的處理。
逆變換的第一計算結(jié)果 round(a0*D0′+a1*D1′+a2*D2′+a3*D3′) =round((-D0-D1-D2-D3-4E)/2) =round((-D0-D1-D2-D3)/2-2E) =round((-D0-D1-D2-D3)/2)-2E =round(F)-2E =E-2E =-E 在這個結(jié)構(gòu)中,從變換設(shè)備的第一計算單元111的輸出到逆變換設(shè)備的第二計算單元的輸出的傳送系數(shù)為1×4×(-1/2)=-2。結(jié)果如上所述,逆變換設(shè)備的第一計算單元輸出-E。
逆變換設(shè)備將-E與第二加權(quán)系數(shù)“1”相乘獲得的-E與該逆變換設(shè)備的各輸入數(shù)據(jù)D0’、D1’、D2’和D3’相加,從而解碼原始數(shù)據(jù)D0、D1、D2和D3。
下面,將簡單說明在第一加權(quán)系數(shù)a0、a1、a2和a3為“-1”并且第二加權(quán)系數(shù)b0、b1、b2和b3為“1/2”時圖4中的變換內(nèi)容。
在圖4的結(jié)構(gòu)中,第二計算單元112將輸入數(shù)據(jù)與第二加權(quán)系數(shù)“1/2”相乘,由此需要對與第二加權(quán)系數(shù)相乘后的每個數(shù)據(jù)執(zhí)行舍入處理。作為圖4的重要特征,存在四個舍入單元。
是否能夠保持可逆性取決于四個舍入處理。為了保持可逆性,執(zhí)行與傳送系數(shù)為“-2”的圖3的結(jié)構(gòu)等同的處理,或者需要將傳送系數(shù)精確地調(diào)整到“-2”。
與圖3的結(jié)構(gòu)等同的處理是在四個舍入處理中執(zhí)行相同的處理。即,在四個舍入處理中都統(tǒng)一地進行上舍入或下舍入。這也是當圖3中的第一計算單元111的舍入處理根據(jù)等同變形移動至第二計算單元112時的結(jié)構(gòu)條件。
保持可逆性的另一方法是將傳送系數(shù)精確地調(diào)整到“-2”。這可以通過在四個舍入處理中的兩個處理中執(zhí)行上舍入并在其余兩個處理中執(zhí)行下舍入來實現(xiàn)。
加權(quán)系數(shù)“1/2”的乘法可生成1位小數(shù)數(shù)據(jù)。如果由于舍入處理不能夠精確地傳送該小數(shù)數(shù)據(jù),則傳送系數(shù)從“-2”發(fā)生改變。換句話說,如果可以通過多個信號傳送該1位小數(shù)值,則可以將總傳送系數(shù)設(shè)置為“-2”。
為此,成對信號中的一個經(jīng)歷下舍入,另一個經(jīng)歷上舍入。以這樣的方式,兩個信號中的任一個立即傳送“1”,而不是由兩個信號中的每個傳送“0.5”。1位小數(shù)值顯然能夠被良好地傳送。
下面將概括這些內(nèi)容。為了在圖4的結(jié)構(gòu)中實現(xiàn)無損變換,在四個舍入處理中的偶數(shù)個舍入處理中進行上舍入,在其余偶數(shù)個舍入處理中執(zhí)行下舍入。換句話說,可以通過四個舍入處理的所有16個組合中的一半(即8個組合)來執(zhí)行無損變換。
即使對于相對簡單的變換,也存在能夠無損變換的舍入處理的許多變型。復雜的變換需要能夠無損變換的復雜舍入處理。即使在這種情況下,基本思想也是設(shè)置傳送系數(shù)“-2”并將處理變形為與其等同,從而保持可逆性。
從圖2及圖3以及以上描述明顯可以看出,本發(fā)明中用于從無損變換數(shù)據(jù)解碼原始數(shù)據(jù)的逆變換基本上與變換處理相同。
特別地,當?shù)谝挥嬎銌卧獔?zhí)行舍入處理時,包括舍入處理在內(nèi),變換處理和逆變換處理完全相同。即使當?shù)诙嬎銌卧獔?zhí)行舍入處理時,如果該舍入處理可以由所述第一計算單元中的舍入處理代替,則包括該第二計算單元中的舍入處理在內(nèi)可以通過與變換處理相同的處理來進行逆變換。
在另一情況下,如果第二計算單元執(zhí)行舍入處理,則基于與傳統(tǒng)提升計算中的逆變換相同的思想執(zhí)行舍入處理。更具體地說,即使在逆變換中也生成與在變換時的提升計算中相加的值相同的值,則將其減去,從而解碼原始數(shù)據(jù)。
首先,將逆變換時的第一計算單元的輸出-E與-1相乘,以等于在變換時的第一計算單元的輸出E。然后,將得到的結(jié)果與第二加權(quán)系數(shù)相乘。將與變換時的第二計算單元的舍入處理相同的處理應(yīng)用于逆變換時的第二計算單元的舍入處理,生成與變換時的值相同的值,并減去所生成的值。
圖5A及圖5B示出了在圖3及圖4的結(jié)構(gòu)示例中的變換數(shù)據(jù)的示例。請注意在這些示例中的可逆性。
<第一實施例的應(yīng)用實例> 圖6示出了在第一實施例的應(yīng)用示例中的裝置的結(jié)構(gòu)。
該示例直接利用第一實施例的結(jié)構(gòu),并在該結(jié)構(gòu)的輸入級(input stage)和輸出級增加些許處理,以實現(xiàn)在圖像數(shù)據(jù)壓縮編碼中作為最基本變換的無損阿達瑪變換。
在圖6中,向圖3的結(jié)構(gòu)增加第一符號反轉(zhuǎn)器,以使得第一輸入數(shù)據(jù)的符號反轉(zhuǎn)。此外,增加第二符號反轉(zhuǎn)器,以在輸出第一輸入數(shù)據(jù)的變換數(shù)據(jù)時再次使得符號反轉(zhuǎn)。通過利用該結(jié)構(gòu)執(zhí)行變換,可以進行四階無損阿達瑪變換。
用矩陣表示第一及第二符號反轉(zhuǎn)器的操作。在每個矩陣中,將單位矩陣的第一行和第一列的元素符號反轉(zhuǎn)為-1。第一符號反轉(zhuǎn)器作用于輸入數(shù)據(jù),第二符號反轉(zhuǎn)器作用于變換的輸出數(shù)據(jù)。因此,將變換矩陣(5)的左側(cè)和右側(cè)與符號反轉(zhuǎn)矩陣相乘的結(jié)果為四階阿達瑪變換矩陣 圖6中示出的結(jié)構(gòu)提供了該矩陣。
不必說的是,甚至還可以通過在圖4所示的變換裝置的前級及后級增加第一及第二符號反轉(zhuǎn)器的結(jié)構(gòu)來實現(xiàn)無損阿達瑪變換。
<第二實施例> 圖7示出了本發(fā)明的第二實施例中的數(shù)據(jù)變換裝置的結(jié)構(gòu)。該結(jié)構(gòu)的變換矩陣與所述應(yīng)用示例中的矩陣(6)的右側(cè)的矩陣相同。在第二實施例中,第一計算單元301和第二計算單元302分別并入和整合有在所述應(yīng)用示例中的輸入級和輸出級設(shè)置的兩個符號反轉(zhuǎn)器。
第一加權(quán)系數(shù)a0、a1、a2和a3分別為1/2、-1/2、-1/2和-1/2。第二加權(quán)系數(shù)b0、b1、b2和b3分別為-1、1、1和1。此時,a0*b0+a1*b1+a2*b2+a3*b3=-2。
在圖7的結(jié)構(gòu)中,符號反轉(zhuǎn)器存在于數(shù)據(jù)路徑115上,在該路徑中使得第一輸入數(shù)據(jù)的第一及第二加權(quán)系數(shù)的符號反轉(zhuǎn),并且不與加權(quán)系數(shù)相乘。然而,輸入側(cè)的符號反轉(zhuǎn)器和輸出側(cè)的符號反轉(zhuǎn)器彼此相消,好像在數(shù)據(jù)路徑上不存在符號反轉(zhuǎn)器一樣,由此得到圖7中所示的結(jié)構(gòu)。
當根據(jù)第二實施例的第一計算單元301中的舍入單元113的處理為“下舍入”時,該第一計算單元301的計算結(jié)果E為 E=round((D0-D1-D2-D3)/2) =(D0-D1-D2-D3)>>1 (其中x>>1是將x向右移動1位) 通過使用該計算結(jié)果E,由以下算式計算變換輸出 D0′=D0-E D1′=D1+E D2′=D2+E D3′=D3+E 可以通過各種計算方法執(zhí)行無損阿達瑪變換。上述計算方法可以在軟件和硬件兩者的控制下高速執(zhí)行計算,并且充分利用了本發(fā)明的特征。
傳統(tǒng)上,可以通過軟件或硬件中的任一者快速地計算無損阿達瑪變換。然而,基于本發(fā)明的計算方法可以通過軟件處理及硬件處理兩者執(zhí)行高速計算。軟件處理及硬件處理可以采用相同的計算方法。
如果沒有執(zhí)行獲得整數(shù)的舍入處理,則進行實數(shù)計算的四階阿達瑪變換。甚至也可以快速地計算實數(shù)阿達瑪變換。
當基于上述第一實施例中的圖4的結(jié)構(gòu)執(zhí)行上述符號反轉(zhuǎn)時,第一加權(quán)系數(shù)a0、a1、a2和a3分別變?yōu)?、-1、-1和-1,第二加權(quán)系數(shù)b0、b1、b2和b3分別變?yōu)?1/2、1/2、1/2和1/2。然后,第二計算單元執(zhí)行類似于圖4的舍入處理。圖8示出了在這種情況下的結(jié)構(gòu)。
當圖7的結(jié)構(gòu)中的第一計算單元的舍入處理為“下舍入”時,等同于該舍入處理的圖8中的第二計算單元的舍入處理僅對第一數(shù)據(jù)為“上舍入”,而對第二至第四數(shù)據(jù)為“下舍入”。
這是因為在矩陣(6)中僅使得第一計算單元的舍入處理結(jié)果中的第一數(shù)據(jù)序列的符號反轉(zhuǎn)。
此外,當?shù)谝挥嬎銌卧纳崛胩幚頌椤吧仙崛搿睍r,等同于該舍入處理的圖8中的第二計算單元的舍入處理僅對第一數(shù)據(jù)為“下舍入”,而對第二至第四數(shù)據(jù)為“上舍入”。當對通過這些舍入處理變換的數(shù)據(jù)進行逆變換時的舍入處理足以與變換時的舍入處理相同。
與第一實施例類似,有許多種舍入處理能夠?qū)崿F(xiàn)不等同于圖7的無損變換。
與第一數(shù)據(jù)成對的數(shù)據(jù)經(jīng)歷與第一數(shù)據(jù)相同的舍入處理,并且其余兩個數(shù)據(jù)經(jīng)歷彼此相反的舍入處理,從而將傳送系數(shù)設(shè)置為“-2”。在這種條件下,存在六種類型的舍入處理。如下所述與第一實施例類似地執(zhí)行這些舍入處理的逆變換。
將逆變換時的第一計算單元的輸出-E與-1相乘,以使得其符號與變換時的第一計算單元的輸出E的符號相同,從而獲得相同值。在將得到的值與第二加權(quán)系數(shù)相乘之后,通過應(yīng)用與變換時的第二計算單元的舍入處理相同的處理來再現(xiàn)與變換時相同的值。在變換時,將這個值與輸入數(shù)據(jù)相加,以獲得變換的數(shù)據(jù)。因此,在逆變換時,可以通過減去這個值來重新構(gòu)造原始輸入數(shù)據(jù)。
<第三實施例> 圖9和圖10示出了本發(fā)明第三實施例中的數(shù)據(jù)變換裝置的結(jié)構(gòu)。
圖9和圖10中示出的結(jié)構(gòu)可以對加權(quán)的輸入數(shù)據(jù)執(zhí)行四階無損阿達瑪變換。
在描述第三實施例之前,將簡單說明加權(quán)的數(shù)據(jù)。
在各種情形下生成加權(quán)的數(shù)據(jù)。例如,在針對本發(fā)明的圖像編碼的無損變換中,作為通過更小數(shù)量的提升計算進行的無損旋轉(zhuǎn)變換的結(jié)果生成加權(quán)的變換數(shù)據(jù)。
作為最簡單的示例,圖12示出了通過兩段提升計算實現(xiàn)45°旋轉(zhuǎn)的結(jié)構(gòu)。已知實現(xiàn)生成未加權(quán)的旋轉(zhuǎn)數(shù)據(jù)的通常旋轉(zhuǎn)變換需要三段提升計算。如果通過兩段提升計算進行旋轉(zhuǎn)變換,則數(shù)據(jù)被變換成加權(quán)的數(shù)據(jù)。
通過圖12的變換生成的權(quán)數(shù)為(COS45°,1/COS45°),即
加法器411將從端子401輸入的數(shù)據(jù)Xi與從端子402輸入的數(shù)據(jù)Yi相加,從端子422輸出數(shù)據(jù)Yo。數(shù)據(jù)Yo具有寬范圍,并用
加權(quán)。將數(shù)據(jù)Yo與1/2相乘,并且減法器412從下側(cè)的數(shù)據(jù)減去乘積,從端子421輸出數(shù)據(jù)Xo。數(shù)據(jù)Xo具有窄范圍,并用
加權(quán)。如果輸入數(shù)據(jù)(10,0)被逆時針旋轉(zhuǎn)45°,則旋轉(zhuǎn)結(jié)果本來應(yīng)該被變換成
然而,圖12的結(jié)構(gòu)通過第一提升計算將輸入數(shù)據(jù)變換成(10,0+10),然后通過第二提升計算變換成(10-10/2,10)=(5,10),得到加權(quán)的數(shù)據(jù)。
在重復加權(quán)變換時,容易發(fā)生用“2”或“1/2”對數(shù)據(jù)加權(quán)的情況。
由此,第三實施例將描述能夠分別對用1、2、1/2和1加權(quán)的輸入數(shù)據(jù)執(zhí)行四階無損阿達瑪變換的結(jié)構(gòu)的兩個示例。
在圖9所示的結(jié)構(gòu)中,第一加權(quán)系數(shù)a0、a1、a2和a3分別為-1/4、1/8、1/2和1/4。第二加權(quán)系數(shù)b0、b1、b2和b3分別為2、-4、-1和-2。
在圖10所示的結(jié)構(gòu)中,第一加權(quán)系數(shù)a0、a1、a2和a3分別為-1/2、1/4、1和1/2。第二加權(quán)系數(shù)b0、b1、b2和b3分別為1、-2、-1/2和-1。
這兩種結(jié)構(gòu)均滿足條件“a0*b0+a1*b1+a2*b2+a3*b3=-2”。
在圖9的結(jié)構(gòu)中,所有第二加權(quán)系數(shù)都是整數(shù)。第一計算單元301包括舍入單元303并輸出整數(shù)值,所以第二計算單元302不需要執(zhí)行舍入處理(不需要包括舍入單元)。在以上實施例中重復地描述了該結(jié)構(gòu),并且該結(jié)構(gòu)可以基于與先前相同的原理實現(xiàn)無損變換。
然而,在圖9的結(jié)構(gòu)中,已被舍入成整數(shù)的數(shù)據(jù)在由第二計算單元302加倍或變成四倍之后被使用。在舍入時在數(shù)據(jù)上疊加的失真也被加倍或變成四倍,從而增加了舍入時的失真。
圖10中所示的結(jié)構(gòu)將抑制由舍入引起的失真。將由第一計算單元311舍入成整數(shù)的數(shù)據(jù)與最大為2的值相乘,然后由第二計算單元312使用。
在第二計算單元312中,在第二加權(quán)系數(shù)中僅存在絕對值小于1的一個權(quán)數(shù)(-1/2)。若要將與這個系數(shù)相乘的數(shù)據(jù)舍入成整數(shù),舍入單元是必需的。為此,在圖10所示的結(jié)構(gòu)中,第一計算單元311及第二計算單元312分別包括舍入單元313和舍入單元314。
由于第二計算單元312中的舍入單元的數(shù)目為1,所以,在上述實施例中采用的方法不能夠?qū)魉拖禂?shù)設(shè)置為“-2”,從而不能實現(xiàn)無損變換。因此,第三實施例采用所述三種舍入方法中的第二種方法。
為了在圖10所示的結(jié)構(gòu)中將傳送系數(shù)設(shè)置為“-2”,在另一數(shù)據(jù)上疊加由所述第二計算單元的舍入單元下舍入的小數(shù)值。作為備選,需要從另一數(shù)據(jù)減去由舍入單元上舍入的小數(shù)值。為了描述方便,假設(shè)小數(shù)值(1/2或0)在所述舍入處理中要下舍入。
要在另一數(shù)據(jù)上疊加的值被限制于整數(shù)。為了將1/2的意義給予該整數(shù),需要使下舍入數(shù)據(jù)與疊加數(shù)據(jù)之間的解碼時的第一加權(quán)系數(shù)的比為2∶1。
在圖10的結(jié)構(gòu)中,對于通過第二計算單元312的舍入處理下舍入的第三數(shù)據(jù),第四數(shù)據(jù)滿足這個關(guān)系。盡管圖10中未示出,但是使得下舍入的小數(shù)值加倍以變?yōu)檎麛?shù),并且將該整數(shù)與第四數(shù)據(jù)相加。
該處理可以獲得所述傳送系數(shù)“-2”,從而實現(xiàn)無損變換。圖11A及圖11B示出了在第三實施例中的數(shù)據(jù)變換的示例。
<第四實施例> 圖13示出根據(jù)本發(fā)明第四實施例的數(shù)據(jù)變換裝置的結(jié)構(gòu)。盡管以上實施例僅說明了針對四個輸入數(shù)據(jù)的四階變換,但是本發(fā)明也適用于其他階數(shù)的變換。第四實施例將例示三階正交變換。
在圖13所示的結(jié)構(gòu)中,在第一計算單元511中的所有第一加權(quán)系數(shù)a0、a1和a2均為2/3,在第二計算單元512中的所有第二加權(quán)系數(shù)b0、b1和b2均為-1。這些加權(quán)系數(shù)滿足a0*b0+a1*b1+a2*b2=-2,即,傳送系數(shù)為“-2”??捎蛇@些加權(quán)系數(shù)實現(xiàn)的變換可以給出如下 在這個變換矩陣中,各行彼此正交,并且每行中的元素的平方和為1。因此,這個變換矩陣是正交矩陣。
由于所有第二加權(quán)系數(shù)b0、b1和b2均是整數(shù),所以可以僅在第一計算單元511中進行舍入處理。如果除以3是可能的,則可以容易地將傳送系數(shù)設(shè)置為“-2”。在PC中的軟件處理等可以執(zhí)行這樣的除法。
在需要高速處理的硬件處理中,除法器幾乎不執(zhí)行除以3,并且通常作為替代執(zhí)行乘法的近似計算。在這種情況下,乘以與2/3近似的值。例如,用1365/2048表示與12位小數(shù)值近似的2/3,并且乘以這個值。
一般來說,近似計算產(chǎn)生計算誤差,并生成小數(shù)數(shù)據(jù),即使對于可被3整除的值也是如此。在與變換側(cè)的第二加權(quán)系數(shù)相乘之后,在變換的輸出數(shù)據(jù)上疊加通過該近似計算產(chǎn)生的計算誤差,并在逆變換時傳送至第一計算單元511的輸出。
僅對于只將原始輸入數(shù)據(jù)分量乘以第一加權(quán)系數(shù)并對乘積進行加和的結(jié)果,在逆變換時第一計算單元的舍入處理需要是有效的。然而,通過所述近似計算增加的計算誤差使得難以把握舍入處理的影響。
在這種情形下,傳送系數(shù)具有非線性特征,并非常數(shù),并且不再能夠被設(shè)置為“-2”。因此,代替將傳送系數(shù)自身調(diào)整為“-2”,通過保持計算精度實現(xiàn)無損變換,從而相對于變換側(cè)的第一計算單元511的輸出E,逆變換側(cè)的第一計算單元輸出-E。
為此,2/3的近似精度可能需要更高的精確性。當變換時的三個輸入數(shù)據(jù)落入0至255的范圍內(nèi),并且2/3被用1365/2048來近似時,逆變換時的第一計算單元的輸出變?yōu)?E,并且可以實現(xiàn)無損變換。容易驗證,當所述輸入數(shù)據(jù)落入該范圍內(nèi)時,計算單元的輸出始終變?yōu)?E。更大的輸入數(shù)據(jù)導致更大的乘法誤差。因此,當三個輸入數(shù)據(jù)都取接近于最大值255或更小的值并且它們的和為3n、3n+1和3n+2時,足以確實這個輸出變?yōu)?E。如果近似精度缺少甚至1位,則輸入數(shù)據(jù)取接近于255的值,并且所述計算單元的輸出從-E發(fā)生改變,從而失去可逆性。在將傳送系數(shù)設(shè)置為“-2”時的可逆性與在將所述計算單元的輸出設(shè)置為-E時的可逆性不同,因為前者完全獨立于輸入數(shù)據(jù)的大小,但是后者僅在輸入數(shù)據(jù)的大小落入預(yù)定范圍內(nèi)時得以保證。
此外,在可被3整除的值的情況下,根據(jù)在第一實施例之前描述的第三種方法,使用三個數(shù)據(jù)路徑,以1/3為單位傳送信號。在除以3之后略微改變舍入處理的方法同樣可用。
<第五實施例> 圖14示出了組合有四段提升計算的結(jié)構(gòu)作為本發(fā)明的第五實施例的結(jié)構(gòu)。在圖14中,在前級設(shè)置傳送系數(shù)=0的第五實施例的結(jié)構(gòu),并且在后級進行四段提升計算。這種結(jié)構(gòu)實現(xiàn)了無損阿達瑪變換。
在圖14中,根據(jù)第五實施例的第一計算單元601中的第一加權(quán)系數(shù)a0、a1、a2和a3分別為-1/2、1/2、1/2和1/2。第二計算單元602中的第二加權(quán)系數(shù)b0、b1、b2和b3分別為-1、+1、-1和-1。這些加權(quán)系數(shù)滿足a0*b0+a1*b1+a2*b2+a3*b3=0,即,傳送系數(shù)=0。通過這些加權(quán)系數(shù)實現(xiàn)的變換可以給出如下 圖15示出了與圖14中所示的變換處理相應(yīng)的逆變換處理的結(jié)構(gòu)。以上實施例僅描述了傳送系數(shù)=-2的情況,并且逆變換處理的第一及第二加權(quán)系數(shù)與變換處理的相同。然而,對于傳送系數(shù)=0,加權(quán)系數(shù)在變換處理與逆變換處理之間不同。逆變換處理的第二加權(quán)系數(shù)的符號與變換處理的相反。逆變換處理的其余處理(例如第一計算單元)與變換處理時的相同。
在傳送系數(shù)=0的第五實施例中,逆變換處理時的第一計算單元601的輸出等于正變換處理的第一計算單元601的輸出。根據(jù)變換和逆變換的第二加權(quán)系數(shù)的關(guān)系,在逆變換中可以生成與在變換時通過第二加權(quán)系數(shù)的乘算而生成的值的符號相反的值。通過將生成的值相加以消去在變換時相加的值,可以重新構(gòu)造原始數(shù)據(jù)。
下面,將說明圖14中的四段提升計算的意義。在變換矩陣(8)中,將該變換矩陣的第三及第四行兩者與第二行相加并從第一行減去,從而獲得在矩陣(6)中所示的右側(cè)的阿達瑪變換矩陣。將所述第三及第四行與第二行相加并從第一行減去的這個處理就是圖14中的提升計算。
僅通過傳送系數(shù)=0的結(jié)構(gòu),難以實現(xiàn)有效變換。然而,當與提升計算組合時,即使是這個結(jié)構(gòu)也能夠?qū)崿F(xiàn)有效變換,例如四階無損阿達瑪變換。
將上述無損變換處理(裝置)應(yīng)用于在例如JPEG編碼中使用的DCT變換部分??梢钥焖儆嬎銦o損DCT變換,并且可以高速進行能夠準確無誤執(zhí)行無損壓縮和有損壓縮的基于DCT的JPEG編碼。
特別是,當將圖7中所示的無損阿達瑪變換的配置實現(xiàn)為硬件電路時,圖7中所示的電路大小可以小于圖6、圖8和圖14中所示的其他電路,從而該電路需要很少的電力即可工作。因此,可以理解,這對于工業(yè)產(chǎn)品壓縮數(shù)據(jù)來說是有用的。
其他實施例 還可以通過讀出和執(zhí)行在存儲器設(shè)備上記錄的程序以執(zhí)行上述實施例的功能的系統(tǒng)或裝置的計算機(或例如CPU或MPU的設(shè)備),以及通過由例如讀出和執(zhí)行在存儲器設(shè)備上記錄的程序以執(zhí)行上述實施例的功能的系統(tǒng)或裝置的計算機來執(zhí)行所包含的步驟的方法來實現(xiàn)本發(fā)明的各個方面。為此,例如,經(jīng)由網(wǎng)絡(luò)或從用作存儲器設(shè)備的各種類型記錄介質(zhì)(例如計算機可讀介質(zhì))向計算機提供所述程序。
盡管參照示例性實施例描述了本發(fā)明,但是可以理解,本發(fā)明不限于所公開的示例性實施例。
權(quán)利要求
1.一種數(shù)據(jù)變換裝置,其包括用于輸入多個輸入數(shù)據(jù)的輸入端子以及用于輸出多個變換結(jié)果的輸出端子,該數(shù)據(jù)變換裝置包括
第一計算單元,其將輸入到所述輸入端子的數(shù)據(jù)與針對各個輸入數(shù)據(jù)設(shè)置的第一加權(quán)系數(shù)相乘,并對加權(quán)的數(shù)據(jù)進行加和;
第二計算單元,其將從所述第一計算單元獲得的計算結(jié)果與針對所述各個輸入數(shù)據(jù)設(shè)置的第二加權(quán)系數(shù)相乘,并將乘積與所述各個輸入數(shù)據(jù)相加;以及
舍入單元,其被設(shè)置在所述第一計算單元和所述第二計算單元中的乘以非整數(shù)加權(quán)系數(shù)的至少一者中,并將非整數(shù)計算結(jié)果舍入成整數(shù),
其中,各個輸入數(shù)據(jù)的所述第一加權(quán)系數(shù)和所述第二加權(quán)系數(shù)的乘積的和取0和-2中的任意一個。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)變換裝置,其中,輸入到所述輸入端子的數(shù)據(jù)以及從所述輸出端子輸出的變換數(shù)據(jù)都是整數(shù)數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)變換裝置,其中,所述輸入端子輸入四個數(shù)據(jù),
所述第一加權(quán)系數(shù)由四個系數(shù){1/2,-1/2,-1/2,-1/2}組成,
所述舍入單元被設(shè)置在所述第一計算單元中,
所述舍入單元將通過將四個輸入數(shù)據(jù)分別與所述四個系數(shù)相乘并對相乘所得的數(shù)據(jù)進行加和而獲得的非整數(shù)計算結(jié)果舍入成整數(shù),并將所述整數(shù)作為所述第一計算單元的輸出進行輸出,
所述第二加權(quán)系數(shù)由四個系數(shù){-1,1,1,1}組成,并且
所述第二計算單元將來自所述第一計算單元的所述整數(shù)分別與所述第二加權(quán)系數(shù)相乘,將乘積與所述四個輸入數(shù)據(jù)中的各個相應(yīng)數(shù)據(jù)相加,并將相加所得的四個數(shù)據(jù)作為無損阿達瑪變換結(jié)果的整數(shù)進行輸出。
4.一種數(shù)據(jù)變換裝置的控制方法,所述數(shù)據(jù)變換裝置由多個輸入數(shù)據(jù)生成多個變換數(shù)據(jù)并輸出所述變換數(shù)據(jù),所述控制方法包括
第一計算步驟,使第一計算單元將所述輸入數(shù)據(jù)與針對各個輸入數(shù)據(jù)設(shè)置的第一加權(quán)系數(shù)相乘,并對加權(quán)的數(shù)據(jù)進行加和;
第二計算步驟,使第二計算單元將在所述第一計算步驟中獲得的計算結(jié)果與針對所述各個輸入數(shù)據(jù)設(shè)置的第二加權(quán)系數(shù)相乘,并將乘積與所述各個輸入數(shù)據(jù)相加;以及
舍入步驟,使舍入單元在所述第一計算步驟和所述第二計算步驟中的乘以非整數(shù)加權(quán)系數(shù)的至少一者中,將非整數(shù)計算結(jié)果舍入成整數(shù),
其中,各個輸入數(shù)據(jù)的所述第一加權(quán)系數(shù)和所述第二加權(quán)系數(shù)的乘積的和取0和-2中的任意一個。
5.根據(jù)權(quán)利要求4所述的控制方法,其中,所述輸入數(shù)據(jù)和所述變換數(shù)據(jù)都是整數(shù)數(shù)據(jù)。
全文摘要
本發(fā)明提供一種數(shù)據(jù)變換裝置及其控制方法。本發(fā)明以少的計算量實現(xiàn)了幾乎沒有延遲的快速無損變換。該無損變換可以用于快速執(zhí)行無損編碼和有損編碼。第一計算單元將輸入到輸入端子的數(shù)據(jù)D0、D1、D2和D3與作為{1/2,-1/2,-1/2,-1/2}的各個加權(quán)系數(shù){a0、a1、a2、a3}相乘,并對乘積進行加和。第一計算單元中的舍入單元將和舍入成整數(shù),并輸出整數(shù)值E。第二計算單元將值E與針對各個輸入數(shù)據(jù)設(shè)置的作為{-1,1,1,1}的加權(quán)系數(shù){b0、b1、b2、b3}相乘,并將乘積與各個輸入數(shù)據(jù)相加。本發(fā)明針對第一與第二加權(quán)系數(shù)之間的關(guān)系設(shè)置條件a0*b0+a1*b1+a2*b2+a3*b3=-2或0。
文檔編號H04N7/30GK101765013SQ20091025438
公開日2010年6月30日 申請日期2009年12月22日 優(yōu)先權(quán)日2008年12月25日
發(fā)明者中山忠義 申請人:佳能株式會社