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