本發(fā)明涉及一種矩陣編碼領(lǐng)域:尤其用于媒體的編碼,尤其是以數(shù)字文件形式的圖像或視頻媒體。本發(fā)明更具體地涉及用于減少這些文件的熵的方法,熵比如由香農(nóng)公式定義的那樣,這將在后面限定。
背景技術(shù):
香農(nóng)熵定義信號(hào)中存在的信息“量”,因此給出用于借助二進(jìn)制編碼技術(shù)對(duì)該信號(hào)進(jìn)行編碼所需的比特量的精確指示,二進(jìn)制編碼技術(shù)比如算術(shù)編碼或霍夫曼編碼。值越多重復(fù)并且規(guī)則分布在信號(hào)中,該信號(hào)的熵越小。一般的熵計(jì)算公式如下:
其中Pi表示每個(gè)符號(hào)的出現(xiàn)概率。
由此可得減小數(shù)字文件的權(quán)重(比特?cái)?shù)量)的方式是減小它的熵。
小波變換被用于減小數(shù)字文件的權(quán)重。這尤其是數(shù)字圖像的某些壓縮格式(比如jpeg2000)的情況。
矩陣的小波變換包括把該矩陣分成所謂的近似矩陣或L矩陣,和所謂的細(xì)節(jié)矩陣或H矩陣。這些中的每個(gè)矩陣都包含原始矩陣的值的大約一半。L近似矩陣對(duì)應(yīng)于原始矩陣的“縮減圖像”,H細(xì)節(jié)矩陣對(duì)應(yīng)于被移除以減小矩陣尺寸的細(xì)節(jié)。
在二維小波變換中,可以使用水平或豎直的小波變換。通常,變換是在一個(gè)方向(如豎直)執(zhí)行以便獲得L型近似矩陣和H型細(xì)節(jié)矩陣,然后在反方向(例如水平)對(duì)于L和H型的矩陣中的每一個(gè)執(zhí)行。對(duì)于L型近似矩陣應(yīng)用該第二變換產(chǎn)生LL型的近似矩陣和LH型的細(xì)節(jié)矩陣。對(duì)于H型細(xì)節(jié)矩陣應(yīng)用該第二變換產(chǎn)生HL型和HH型的兩個(gè)細(xì)節(jié)矩陣。下文中小波級(jí)數(shù)是指在兩個(gè)方向上用于獲得LL近似矩陣和三個(gè)細(xì)節(jié)矩陣HL、LH、HH的相繼應(yīng)用的變換,如上所述。
當(dāng)使用小波用于二維圖像壓縮時(shí),在每一級(jí)結(jié)束,LH、HL和HH類型的細(xì)節(jié)矩陣通常被量化以減小它們的熵,而新的小波級(jí)數(shù)可以應(yīng)用于LL類型矩陣。因此可以應(yīng)用對(duì)于相繼LL類型的近似矩陣所需的級(jí)數(shù)相同的級(jí)數(shù)。
Jpeg2000還使用死區(qū)標(biāo)量量化。某些小波變換是無損的;然而,對(duì)于每個(gè)小波級(jí)數(shù)應(yīng)用量化導(dǎo)致舍入誤差,這在進(jìn)行相繼的級(jí)時(shí)累積:首先是壓縮,然后是再現(xiàn)壓縮的數(shù)字文件。該舍入問題僅在與該級(jí)相關(guān)聯(lián)的LH、HL、HH型細(xì)節(jié)矩陣被量化時(shí)出現(xiàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的因此是提出用于在使用小波變換過程中在壓縮數(shù)字文件時(shí)減小舍入誤差的方法。
在本文中,為了簡(jiǎn)化,除非相反表明,數(shù)字值是十進(jìn)制書寫的,盡管運(yùn)算可能針對(duì)二進(jìn)制值進(jìn)行。當(dāng)值被寫作二進(jìn)制時(shí),其會(huì)被清楚表示;因此,二進(jìn)制的1000將標(biāo)為(1000)2。
根據(jù)本發(fā)明的減小原始矩陣的熵的方法的特征在于:
-該方法包括使用把所述原始矩陣變換為變換矩陣的小波變換的步驟;
-量化系數(shù)對(duì)應(yīng)于每個(gè)小波級(jí)數(shù)的每個(gè)細(xì)節(jié)矩陣;
-計(jì)算所述小波變換是通過使用在小數(shù)點(diǎn)后的至少等于1的第一數(shù)字?jǐn)?shù)量以定點(diǎn)至少針對(duì)以下每個(gè)小波級(jí)數(shù)進(jìn)行的:對(duì)于該小波級(jí)數(shù)而言,細(xì)節(jié)矩陣的量化系數(shù)中的至少一個(gè)量化系數(shù)嚴(yán)格大于1。
優(yōu)選地,小波級(jí)數(shù)的每個(gè)細(xì)節(jié)子矩陣的量化系數(shù)小于或等于前一級(jí)數(shù)的等效細(xì)節(jié)矩陣的系數(shù)。優(yōu)選地,所用的量化器是均勻標(biāo)量量化器,也就是說,對(duì)于每個(gè)細(xì)節(jié)矩陣都是唯一的,而無論被除以的值如何。
在以定點(diǎn)數(shù)處理小波級(jí)數(shù)結(jié)束時(shí),細(xì)節(jié)子矩陣的值可以根據(jù)其各個(gè)量化系數(shù)被量化,然后被變換為整數(shù),也就是說,放棄用于定點(diǎn)計(jì)算的數(shù)字。在以定點(diǎn)數(shù)處理小波級(jí)數(shù)結(jié)束時(shí),在新的小波級(jí)數(shù)被施加到近似矩陣的情況下,如果下一小波級(jí)數(shù)的細(xì)節(jié)矩陣中的每個(gè)細(xì)節(jié)矩陣的量化系數(shù)中的每個(gè)量化系數(shù)等于1,則所述近似矩陣的值可以被變換為整數(shù),而在相反的情況下被保持為定點(diǎn)數(shù)。在最后一級(jí)數(shù)結(jié)束時(shí),LL類型的最后近似矩陣被轉(zhuǎn)換為整數(shù),如果最后一級(jí)數(shù)被以定點(diǎn)處理的話。
如果第一級(jí)數(shù)的每個(gè)細(xì)節(jié)矩陣的量化系數(shù)中的至少一個(gè)量化系數(shù)大于1,則原始矩陣的所有值有利地在計(jì)算所述小波變換的第一級(jí)數(shù)之前被變換為定點(diǎn)數(shù)。
如果被處理的原始矩陣來自以大于第一數(shù)量數(shù)字的精度到定點(diǎn)數(shù)的比色變換,定點(diǎn)數(shù)優(yōu)選地是通過減小用于獲得所述第一數(shù)量的數(shù)字?jǐn)?shù)量獲得的。
為了從變換矩陣計(jì)算恢復(fù)矩陣,該方法優(yōu)選地包括對(duì)變換矩陣的逆小波變換,所述逆小波變換的計(jì)算是通過使用在小數(shù)點(diǎn)后至少等于1的第二數(shù)字?jǐn)?shù)量以定點(diǎn)數(shù)至少針對(duì)以下每個(gè)小波級(jí)數(shù)進(jìn)行的:對(duì)于該小波級(jí)數(shù)而言,每個(gè)細(xì)節(jié)矩陣的量化系數(shù)中的至少一個(gè)量化系數(shù)嚴(yán)格大于1。
在以定點(diǎn)數(shù)處理小波級(jí)數(shù)的逆變換的過程中,在逆小波變換之前,細(xì)節(jié)矩陣的值可被轉(zhuǎn)換為定點(diǎn)數(shù)并且反量化。類似地,如果該級(jí)數(shù)的近似矩陣是整數(shù)形式,則其在執(zhí)行逆小波變換之前被轉(zhuǎn)換為定點(diǎn),這給出在下一級(jí)數(shù)使用的恢復(fù)近似矩陣。
恢復(fù)矩陣有利地是通過對(duì)所有可獲得的級(jí)數(shù)執(zhí)行逆小波變換、反量化以及在整數(shù)和定點(diǎn)之間的轉(zhuǎn)換來獲得的。
中間恢復(fù)矩陣可有利地通過對(duì)比總可獲得的級(jí)數(shù)數(shù)量小的級(jí)數(shù)數(shù)量執(zhí)行逆小波變換、反量化以及在整數(shù)和定點(diǎn)之間的轉(zhuǎn)換獲得。如果與所執(zhí)行的最后逆小波變換對(duì)應(yīng)的小波級(jí)數(shù)被以定點(diǎn)數(shù)處理,則所獲得的中間恢復(fù)矩陣的數(shù)量?jī)?yōu)選地是定點(diǎn)數(shù),其精度包括與小數(shù)點(diǎn)后的第二數(shù)字?jǐn)?shù)量相等的數(shù)字?jǐn)?shù)量。為了對(duì)中間恢復(fù)矩陣進(jìn)行后續(xù)處理,所述恢復(fù)矩陣的每個(gè)值可被變換成整數(shù)。
如果不是所有壓縮數(shù)據(jù)都是可獲得的,則在與可獲得所有數(shù)據(jù)的級(jí)數(shù)對(duì)應(yīng)的級(jí)數(shù)數(shù)量的情況下使用中間恢復(fù)矩陣。類似地,對(duì)于需要比恢復(fù)矩陣的分辨率低的分辨率的應(yīng)用,可在允許達(dá)到至少所述低分辨率的最小級(jí)數(shù)數(shù)量的情況下使用中間恢復(fù)矩陣。
如果第一小波級(jí)數(shù)被以定點(diǎn)數(shù)處理,則所獲得的恢復(fù)矩陣的數(shù)量可以是定點(diǎn)數(shù),其精度包括與小數(shù)點(diǎn)后的第二數(shù)字?jǐn)?shù)量相等的數(shù)字?jǐn)?shù)量。
為了對(duì)如此恢復(fù)的矩陣進(jìn)行后續(xù)處理,所述恢復(fù)矩陣的每個(gè)值可被變換成整數(shù)。逆小波變換后面可跟隨有以定點(diǎn)數(shù)的逆比色變換,其中定點(diǎn)數(shù)具有的數(shù)字?jǐn)?shù)量大于用于逆小波變換的數(shù)字?jǐn)?shù)量。
為了實(shí)現(xiàn)定點(diǎn)計(jì)算,可使矩陣的每個(gè)值向左偏移數(shù)字D。有利地,可使矩陣的每個(gè)值乘以二進(jìn)制的10的D次方,也就是乘以(10D)2。
當(dāng)完成定點(diǎn)計(jì)算時(shí),優(yōu)選地,使矩陣的每個(gè)值向右偏移數(shù)字?jǐn)?shù)量D,或使矩陣的每個(gè)值乘以二進(jìn)制的10的-D次方,也就是乘以(10-D)2。
為了基于變換矩陣把原始矩陣恢復(fù)為恢復(fù)矩陣,逆小波變換的計(jì)算優(yōu)選地通過使用小數(shù)點(diǎn)后至少等于1的第二數(shù)字?jǐn)?shù)量以定點(diǎn)至少針對(duì)以下每個(gè)小波級(jí)數(shù)進(jìn)行:對(duì)于該小波級(jí)數(shù)而言,具有含有大于1的量化系數(shù)的至少一個(gè)細(xì)節(jié)矩陣。第一數(shù)字?jǐn)?shù)量和第二數(shù)字?jǐn)?shù)量是相同的。
原始矩陣可至少部分地表示圖像,例如表示圖像的Y、Cb和Cr分量之一。優(yōu)選地,在小波變換計(jì)算之前預(yù)先保留來自YCbCr變換的D個(gè)第一數(shù)字。
有利地,YCbCr變換可以使用大于D個(gè)數(shù)字的精度執(zhí)行。在此情況下,數(shù)據(jù)的精度被減小以便減小到D個(gè)數(shù)字。
小波變換可以是使用提升方法的Cohen-Daubechies-Feauveau(CDF)5/3變換。
附圖說明
參照附圖,下面描述僅以示例方式而非限制提供的本發(fā)明的幾個(gè)實(shí)施方式,在附圖中:
-圖1示出原始黑白圖像的示例,其形成分布在每行八個(gè)像素的八行中的六十四個(gè)像素的矩陣;
-圖2A示出表示圖1的圖像的矩陣,其中每個(gè)單元包含用于像素亮度的字面值,由矩陣中的單元的位置指示;
-圖2B示出相同的原始矩陣X,其中每個(gè)單元包含原始數(shù)字值,包括在0和255之間,表示原始圖像的對(duì)應(yīng)像素的亮度;
-圖2B、3B、4B、5B、6B;7B、8B、9B、10B、11B、12B、13B和14B示出現(xiàn)有技術(shù)的方法,并且圖2C、3C、4C、5C、6C;7C、8C、9C、10C、11C、12C、13C、14C和15C示出根據(jù)本發(fā)明的方法;
-圖3A和3B分別示出在計(jì)算第一小波級(jí)數(shù)的第一步驟結(jié)束時(shí)的數(shù)字字面值的子矩陣,第一步驟包括被應(yīng)用于圖2B的現(xiàn)有技術(shù)中的矩陣的值的豎直小波變換;
-圖4A和4B分別示出在計(jì)算第一小波級(jí)數(shù)的第二步驟時(shí)獲得的數(shù)字字面值的子矩陣,第二步驟包括被應(yīng)用于圖3B的現(xiàn)有技術(shù)中的每個(gè)子矩陣的數(shù)字值的水平小波變換;
-圖5B和6B示出在現(xiàn)有技術(shù)的方法中計(jì)算第二小波級(jí)數(shù)時(shí)分別在豎直小波變換之后、在水平小波變換后分別獲得的子矩陣;
-圖7B示出子矩陣的量化,并因此示出在根據(jù)現(xiàn)有技術(shù)的變換后的全部子矩陣;
-圖8B示出在與原始矩陣相同尺寸的矩陣內(nèi)通過現(xiàn)有技術(shù)量化并轉(zhuǎn)換的值的聯(lián)合;
-圖2C示出在根據(jù)本發(fā)明的方法中使圖2B的矩陣的值的向左偏移的預(yù)先步驟;
-圖3A和3C分別示出根據(jù)本發(fā)明中的方法中在計(jì)算第一小波級(jí)數(shù)的第一步驟時(shí)獲得的數(shù)字字面值的子矩陣,第一步驟包括應(yīng)用于圖2B所示的原始矩陣X的值的豎直小波變換;
-圖4A和4C分別示出根據(jù)本發(fā)明中的方法中在計(jì)算第一小波級(jí)數(shù)的第二步驟時(shí)獲得的數(shù)字字面值的子矩陣,第二步驟包括應(yīng)用于圖3C所示的子矩陣L1和H1的數(shù)字值的水平小波變換;
-圖5C和6C分別示出根據(jù)本發(fā)明中的方法中在計(jì)算第二小波級(jí)數(shù)時(shí)在第一步驟和第二步驟后分別獲得的子矩陣,第一步驟包括豎直小波變換,第二步驟包括水平小波變換;
-圖7C示出根據(jù)本發(fā)明中的方法中在變換結(jié)束時(shí)的經(jīng)變換的子矩陣的量化,并因此示出全部子矩陣;
-圖8C示出在與原始矩陣相同尺寸的矩陣內(nèi)在根據(jù)本發(fā)明的方法中量化并轉(zhuǎn)換的值的聯(lián)合;
-圖10B、11B、12B和13B示出用于復(fù)原示出圖1的圖像的像素的恢復(fù)亮度的XRZ矩陣的不同步驟;
-圖10C、11C、12C、13C、和14C示出用于復(fù)原示出圖1的圖像的像素的恢復(fù)亮度的XR矩陣的不同步驟;
-圖14B和15C分別示出現(xiàn)有技術(shù)的方法中和本發(fā)明的方法中的誤差矩陣,其中每個(gè)單元包括在恢復(fù)的值和對(duì)應(yīng)的原始值之間的差。
具體實(shí)施方式
將在數(shù)字圖像壓縮領(lǐng)域進(jìn)行根據(jù)本發(fā)明的方法的描述。因此,圖1示出構(gòu)成8行8列的矩陣的黑白原始圖像。
圖2A示出表示原始矩陣的像素的亮度值,設(shè)置在水平行i和豎直列j的交叉處的矩陣的每個(gè)單元包括字面值xij,表示在原始圖像中位于同樣的i行和同樣的j列的像素的亮度。
圖2B示出同樣的矩陣,其中每個(gè)字面值已被用于原始矩陣1的對(duì)應(yīng)數(shù)字值替代。這些值被編碼為8比特的無符號(hào)整數(shù),即0和255之間。作為示例,最暗的像素的值是x28=25并且最亮的像素是x17=224。熵的計(jì)算公式的應(yīng)用給出用于該矩陣的5.625的熵。
在下面示例中使用的小波變換是使用提升方法的Cohen-Daubechies-Feauveau(CDF)5/3變換。這與Jpeg2000中使用的小波(即CDF5/3無損和CDF9/7有損)的區(qū)別僅在于用于細(xì)節(jié)的相鄰值的數(shù)量和相關(guān)聯(lián)的因素。
CDF5/3類型的小波可以用于以下矩陣Y:該矩陣Y的值如前所述那樣被索引。
豎直小波的步驟被用以下方程獲得:
對(duì)于包括在1和Y的半高度之間的任何m、對(duì)于在Y的寬度上的任何n計(jì)算細(xì)節(jié)矩陣:
hm,n=y(tǒng)2m,n-[y2m-1,n+y2m+1,n]/2
例如,基于原始矩陣X獲得矩陣H1Z(見圖3B)。
對(duì)于小于或等于Y的半高度的m(如果Y的高度是奇數(shù)則+1)、對(duì)于在Y的寬度上的任何n計(jì)算近似矩陣:
lmn=y(tǒng)2m-1,n+[hm-1,n+hm,n]/4
例如,基于原始矩陣X和H1Z獲得矩陣L1Z(見圖3B)。
水平小波的步驟被用以下方程獲得:
對(duì)于包括在1和Y的半高度之間的任何n、對(duì)于在Y的高度上的任何m計(jì)算細(xì)節(jié)矩陣:
hm,n=y(tǒng)m,2n-[ym,2n-1+ym,2n+1]/2
例如,基于H1Z獲得矩陣HH1Z,并且基于L1Z獲得LH1Z。
對(duì)于小于或等于Y的半高度的n(如果Y的寬度是奇數(shù)則+1)、對(duì)于在Y的寬度上的任何m計(jì)算近似矩陣:
lmn=y(tǒng)m,2n-1+[hm,n-1+hm,n]/4
例如,基于HH1Z和H1Z獲得矩陣HL1Z,并且基于LH1Z和L1Z獲得矩陣LL1Z。
在計(jì)算結(jié)束時(shí)每個(gè)值被系統(tǒng)地舍入為整數(shù)。在下面示例中,采用下面規(guī)則進(jìn)行舍入:根據(jù)前面定義的舍入,0.5舍入為1并且-0.5舍入為-1。因此,2.49舍入為2,2.5舍入為3并且2.3舍入為2。
為了允許計(jì)算在矩陣的邊界的某些行和列,自身未被處理但是允許處理其他值的有效值被根據(jù)以下規(guī)則添加:
-正好位于每個(gè)矩陣和每個(gè)所恢復(fù)的矩陣的上方和左側(cè)的有效值為零。因此,圖3B所示的細(xì)節(jié)矩陣H1Z可以在有效值中具有H1Z01=0或H1Z08=0。以類似的方式,圖12B所示出的恢復(fù)的細(xì)節(jié)矩陣H1RZ在有效值中具有H1RZ01=0或H1RZ08=0,細(xì)節(jié)矩陣LH1Z在有效值中具有LH1Z10=0或LH1Z40=0,以及恢復(fù)的細(xì)節(jié)矩陣在有效值中具有LH1RZ10=0或LH1RZ40=0。
-正好位于每個(gè)矩陣和每個(gè)所恢復(fù)的矩陣的下方和右側(cè)的有效值分別等于位于左側(cè)兩個(gè)單元并且位于上方兩個(gè)單元的值。因此,在有效值X中具有x91=x71,在L1Z的單元中具有L1Z19=LIZ17,在L1RZ的單元中具有L1RZ19=L1RZ17以及在LL1RZ的單元中具有LL1RZ51=LL1RZ31。
在所示的例子中,向在小波級(jí)數(shù)N處所生成的每個(gè)子矩陣施加相應(yīng)的量化系數(shù)Q,在該例子中量化系數(shù)Q對(duì)于相同級(jí)的每個(gè)細(xì)節(jié)矩陣是相同的:
-對(duì)于第一級(jí):N=N1=1,Q=Q1=QLH1=QHL1=QHH1=4;
-對(duì)于第二級(jí):N=N2=2,Q=Q2=QLH2=QHL2=QHH2=2。
圖3B和圖4B示出根據(jù)現(xiàn)有技術(shù)的方法,在施加量化系數(shù)之前,向原始矩陣X施加第一級(jí)N1小波。
因此,圖3B示出的子矩陣L1Z和H1Z,每個(gè)子矩陣四行,每行八個(gè)像素(圖3A和3B示出),是通過向原始矩陣X施加豎直小波獲得的。
因此,兩個(gè)第一行的第一像素x11和x21的變換是根據(jù)以下計(jì)算進(jìn)行的:
細(xì)節(jié)子矩陣H1Z的對(duì)應(yīng)值是:
H1Z11=x21-(x11+x31)/2=121-(116+110)/2=8。
近似子矩陣L1Z的對(duì)應(yīng)值是:
L1Z11=x11+(H1Z01+H1Z11)/4=116+(0+8)/4=118。
接下來的兩行的第一像素x31和x41的變換是根據(jù)以下計(jì)算進(jìn)行的:
子矩陣H1Z的對(duì)應(yīng)值是:
H1Z21=X41-(X31+X51)/2=115-(110+126)/2=-3。
子矩陣L1Z的對(duì)應(yīng)值是:
L1Z21=X31+(H1Z11+H1Z21)/4=110+(8+(-3))/4=111。
然后水平小波被施加到每個(gè)子矩陣L1Z和H1Z,以使得如圖4B所示那樣分別:
-對(duì)于子矩陣L1Z,獲得兩個(gè)新的子矩陣LL1Z和LH1Z,以及
-對(duì)于子矩陣H1Z,獲得兩個(gè)新的子矩陣HL1Z和HH1Z。
圖5B示出向前面獲得的子矩陣LL1Z施加小波的第二級(jí)N2的第一步驟的結(jié)果;結(jié)果得到兩個(gè)子矩陣L2Z和H2Z。圖6B示出對(duì)于矩陣L2Z和H2Z施加小波的該第二級(jí)的第二步驟的結(jié)果,結(jié)果得到圖6B的子矩陣LL2Z、LH2Z、HL2Z和HH2Z。
然后可以再進(jìn)行級(jí)數(shù),或者保持LL2Z矩陣,或者對(duì)其進(jìn)行量化。
在此選擇保持相同的矩陣LL2Z,而不施加第三級(jí)小波。
因此子矩陣LL2Z被保持以使得不成為新的小波級(jí)數(shù)的對(duì)象,并且以具有相同值的矩陣LL2QZ的形式被保持。
然后對(duì)于每個(gè)級(jí)施加相應(yīng)的量化。因此,通過使子矩陣LH1Z、HL1Z和HH1Z的每個(gè)值分別除以與第一級(jí)N1的系數(shù)Q1相等的量化系數(shù)QLH1、QHL1和QHH1,并且通過根據(jù)之前定義的規(guī)則進(jìn)行舍入,獲得經(jīng)量化的子矩陣LH1QZ、HL1QZ和HH1QZ。類似地,通過使子矩陣LH2Z、HL2Z和HH2Z的每個(gè)值分別除以與第一級(jí)N2的系數(shù)Q2相等的量化系數(shù)QLH2Z、QHL2Z和QHH2Z,并且通過根據(jù)之前定義的規(guī)則進(jìn)行舍入,獲得經(jīng)量化的子矩陣LH2QZ、HL2QZ和HH2QZ。這些經(jīng)量化的矩陣的集合被示于圖7B。
現(xiàn)有技術(shù)的方法對(duì)矩陣X的變換TZ是通過把原始矩陣X的值變換為子矩陣LL2QZ、LH2QZ、HL2QZ、HH2QZ、LH1QZ、HL1QZ和HH1QZ獲得的。這些新值可以被存儲(chǔ)在特定位置中。它們也可以被替換為矩陣X的值以便形成相同尺寸的矩陣。圖8B示出這樣的值布置的示例。
在該變換矩陣中相對(duì)于原始矩陣的不同值的數(shù)量的減少,允許增大每個(gè)值的出現(xiàn)概率。該新矩陣的根據(jù)前述公式的香農(nóng)熵因此小于原始矩陣的香農(nóng)熵:它是4.641。
現(xiàn)在描述根據(jù)本發(fā)明的方法。
根據(jù)本發(fā)明的方法包括在計(jì)算小波變換期間保持小數(shù)點(diǎn)后D個(gè)數(shù)字(二進(jìn)制表示)或者。為了使計(jì)算更快,不是以浮點(diǎn)進(jìn)行,而是以定點(diǎn)進(jìn)行。為此,使原始矩陣X的每個(gè)值乘以等于2D的偏移系數(shù),也就是說乘以(10D)2。還可使以二進(jìn)制表示的值向左偏移D個(gè)數(shù)字。然后僅保持如此獲得的增大值的整數(shù)部分,以使得所操作的數(shù)是以下整數(shù):其最后D個(gè)數(shù)字表示2的負(fù)D次冪,并且其他數(shù)字表示原始數(shù)的整數(shù)部分。
在所示的示例中,保持三個(gè)數(shù)字。增大的值的矩陣XD被示于圖2C。矩陣XD的每個(gè)值XDij因此是原始矩陣X的值Xij的八倍:
XDij=8*Xij。
在計(jì)算機(jī)計(jì)算中使用的二進(jìn)制值因此被乘以(1000)2,也就是說,偏移系數(shù)等于8。
通過之前用于獲得變換矩陣TZ的相同變換,可以基于增大的矩陣XD首先通過第一次施加豎直小波,來獲得圖3C示出的子矩陣L1和H1,然后通過第一次施加水平小波,來獲得圖4C所示的子矩陣LL1、LH1、HL1和HH1。然后,首先通過向子矩陣LL1第二次施加豎直小波來獲得圖5C所示的子矩陣L2和H2,然后通過第二次施加水平小波來獲得圖6C所示的子矩陣LL2、LH2、HL2和HH2。
然后,對(duì)于每個(gè)級(jí)施加相應(yīng)的量化并且把所得的值除以8。或者可以把在除以相應(yīng)的量化系數(shù)的之后獲得的二進(jìn)制值向右偏移三個(gè)數(shù)字。
因此,通過把子矩陣LH1、HL1和HH1的值中的每個(gè)值分別除以其量化系數(shù)QLH1、QHL1和QHH1的8倍(或針對(duì)每個(gè)矩陣8*Q1),并且通過根據(jù)之前定義的規(guī)則舍入,獲得圖7C所示的經(jīng)量化的子矩陣LH1Q、HL1Q和HH1Q。類似地,通過把子矩陣LH2、HL2和HH2的值中的每個(gè)值分別除以其量化系數(shù)QLH2、QHL2和QHH2的8倍(或針對(duì)每個(gè)矩陣8*Q2),并且通過根據(jù)之前定義的規(guī)則舍入,獲得圖7C所示的經(jīng)量化的子矩陣LH2Q、HL2Q和HH2Q。最后,通過把子矩陣LL2整體重新變換,并因此把矩陣LL2的值除以8并且通過根據(jù)之前定義的規(guī)則舍入,獲得圖7C所示的子矩陣LL2Q。這些經(jīng)變換的矩陣的集合被示于圖7C。
根據(jù)本發(fā)明的方法對(duì)矩陣的變換T是通過把原始矩陣X的值變換為子矩陣LL2Q、LH2Q、HL2Q、HH2Q、LH1Q、HL1Q和HH1Q獲得的。這些新值可以被存儲(chǔ)在特定位置中。它們也可以被替換為矩陣X的值以便形成相同尺寸的矩陣。圖8C示出這樣的值布置的示例。
在該變換矩陣中相對(duì)于原始矩陣的不同值的數(shù)量的減少,也允許減小香農(nóng)熵。根據(jù)前述公式,經(jīng)變換的該新矩陣的香農(nóng)熵是4.520。
現(xiàn)在首先根據(jù)本發(fā)明的方法然后根據(jù)現(xiàn)有技術(shù)的方法,描述恢復(fù)步驟,也就是獲得表示恢復(fù)圖像版本的恢復(fù)矩陣XR的過程。
首先基于量化的細(xì)節(jié)矩陣,通過使它們的值乘以相應(yīng)的量化系數(shù),然后乘以8,以便獲得在小波變換時(shí)的相同精度,來計(jì)算反量化的細(xì)節(jié)矩陣。因此,獲得圖9C所示的子矩陣:
-LL2R,其值等于子矩陣LL2Q的值乘以8;
-LH2R、HL2R和HH2R,其值分別等于子矩陣LH2Q、HL2Q和HH2Q的值乘以8×QLH2、8×QHL2和8×QHH2,或者8×Q2,也就是說只乘以16,每個(gè)第2級(jí)量化系數(shù)等于Q2或2;以及
-LH1R、HL1R和HH1R,其值分別等于子矩陣LH1Q、HL1Q和HH1Q的值乘以8×QLH1、8×QHL1和8×QHH1,或者8×Q1,也就是說只乘以32,每個(gè)第1級(jí)量化系數(shù)等于Q1或4。
然后向子矩陣LL2R、LH2R、HL2R和HH2R施加第2級(jí)逆小波以便獲得圖11C所示的子矩陣LL1R。
然后向子矩陣LL1R、LH1R、HL1R和HH1R施加第1級(jí)逆小波以便獲得圖13C所示的子矩陣LL0R,該矩陣的值LL0Rij被根據(jù)之前定義的規(guī)則舍入。
然后把矩陣LL0R的每個(gè)值LL0Rij除以8,或者使對(duì)應(yīng)的二進(jìn)制值向右偏移3個(gè)數(shù)字,并且根據(jù)之前定義的規(guī)則使如此獲得的每個(gè)值XRij舍入。因此獲得圖14C所示的值XRij的恢復(fù)矩陣XR。每個(gè)值XRij表示通過根據(jù)本發(fā)明的方法恢復(fù)的原始圖像的恢復(fù)圖像的像素的亮度。
圖15C所示的矩陣E的每個(gè)值Eij表示恢復(fù)矩陣XR的值XRij和原始矩陣的值Xij之間的差。這些差的平均值在所示示例中是大約0.78。
還可以通過僅執(zhí)行逆小波變換的級(jí)中的一部分級(jí)來僅部分地恢復(fù)圖像。例如可以通過使用中間恢復(fù)矩陣來僅恢復(fù)圖像的四分之一。這樣的尺寸4×4的矩陣可以通過把圖11C示出的矩陣LL1R的每個(gè)值LL1RIij除以8或者通過把這些二進(jìn)制值向右移位3個(gè)數(shù)字獲得。如此獲得的中間恢復(fù)矩陣對(duì)應(yīng)于縮減的恢復(fù)圖像。
這種逐漸解壓縮的可能性,稱為可擴(kuò)展性,允許在所有數(shù)據(jù)不可用時(shí)具有圖像的印象。這有利地可用于大圖像文件的遠(yuǎn)程下載的情況,以在圖像全部到達(dá)之前把圖像解壓到最后完整可用的級(jí)數(shù)。
這還可允許僅把圖像解壓縮到所需的分辨率,例如為了在畫廊顯示圖像。部分解壓縮還允許通過避免無用的解壓縮級(jí)來節(jié)約資源。
現(xiàn)在描述現(xiàn)有技術(shù)的方法中基于變換矩陣TZ的圖像恢復(fù)步驟。
首先基于量化的細(xì)節(jié)矩陣,通過使它們的值乘以相應(yīng)的量化系數(shù),來計(jì)算反量化的細(xì)節(jié)矩陣。因此,獲得圖9B所示的子矩陣:
-LL2RZ,其值等于子矩陣LL2QZ的值,該矩陣未被小波級(jí)數(shù)修改;
-LH2RZ、HL2RZ和HH2RZ,其值分別等于子矩陣LH2QZ、HL2QZ和HH2QZ的值乘以量化系數(shù)QLH2、QHL2和QHH2,或者對(duì)于每個(gè)矩陣Q2,也就是說乘以2,第2級(jí)量化系數(shù)Q2等于2;以及
-LH1RZ、HL1RZ和HH1RZ,其值分別等于子矩陣LH1QZ、HL1QZ和HH1QZ的值乘以量化系數(shù)QLH1、QHL1和QHH1,或者對(duì)于每個(gè)矩陣Q1,也就是說乘以4,第1級(jí)量化系數(shù)Q1等于4。
然后向子矩陣LL2RZ、LH2RZ、HL2RZ和HH2RZ施加第2級(jí)逆小波以便在水平逆小波變換結(jié)束時(shí)獲得圖10B所示的子矩陣L2RZ和H2RZ,然后在豎直逆小波變換結(jié)束時(shí)獲得子矩陣L2RZ和H2RZ、圖11B所示的子矩陣LL1RZ。
然后向子矩陣LL1RZ、LH1RZ、HL1RZ和HH1RZ施加第1級(jí)逆小波以便在水平逆小波變換結(jié)束時(shí)獲得圖12B所示的子矩陣L1RZ和H1RZ,然后在豎直逆小波變換結(jié)束時(shí)獲得子矩陣L1RZ和H1RZ、圖13B所示的恢復(fù)矩陣XRZ,該矩陣的值XRZij被根據(jù)之前定義的規(guī)則舍入。每個(gè)值XRZij表示通過根據(jù)現(xiàn)有技術(shù)的方法恢復(fù)的原始圖像的恢復(fù)圖像的像素的亮度。
圖14B所示的矩陣EZ的每個(gè)值EZij表示恢復(fù)矩陣XRZ的值XRZij和原始矩陣X的值Xij之間的差。這些差的平均值在所示示例中是大約1.56。因此,觀察到對(duì)于所示的示例,通過現(xiàn)有技術(shù)獲得的差是根據(jù)本發(fā)明的方法獲得的差(0.78)的大約2倍。
同時(shí),觀察到根據(jù)本發(fā)明的變換矩陣T的熵(4.520)略微小于根據(jù)現(xiàn)有技術(shù)的變換矩陣TZ的熵(4.641)并且顯著小于原始矩陣的熵(5.625)。
因此根據(jù)本發(fā)明的方法允許減小矩陣的熵,同時(shí)獲得比現(xiàn)有技術(shù)中使用的熵減小方法的對(duì)矩陣值的更準(zhǔn)確恢復(fù)。
當(dāng)然,本發(fā)明不限于剛描述的示例。
因此,黑白圖像可以是RVB(RGB)圖像的R、V或B分量的示意。經(jīng)過YCbCr變換的RVB圖像的每個(gè)分量Y、Cb或Cr,主要是Y亮度分量,可以也被與前述示例中的黑白圖像相同的方式被處理。其可以更一般地表示圖像的任何分量,也可以來自CMJN(CMYK)空間,或基于RVB分量的任何比色變換,無論有損還是無損。
此外,雖然首先針對(duì)每個(gè)級(jí)豎直地施加小波,也可以對(duì)于每個(gè)級(jí)首先水平然后豎直地施加小波。
還可以是如下情況:在計(jì)算變換T的值Tij時(shí),在定點(diǎn)計(jì)算中使用的補(bǔ)充數(shù)字的數(shù)量(也就是說,2的負(fù)次冪的數(shù)量)與用于基于變換來恢復(fù)值XRij的數(shù)量是不同的。
優(yōu)選地,如果小波級(jí)數(shù)的數(shù)量越大,則數(shù)字的數(shù)量越大。
在所示示例中,細(xì)節(jié)矩陣的每個(gè)值被同時(shí)量化并且被除以偏移系數(shù);相反,量化可以不與除以偏移系數(shù)同時(shí)進(jìn)行。此外,量化和/或除以偏移系數(shù)可以在每當(dāng)獲得對(duì)應(yīng)的子矩陣時(shí)進(jìn)行。
在所示示例中,計(jì)算精度大于作為整數(shù)的輸入數(shù)據(jù)的精度。在輸入數(shù)據(jù)具有大于計(jì)算精度的精度情況下,尤其是如果該精度來自具有比小波精度更大的計(jì)算精度的比色變換,則矩陣XD是通過減小2的負(fù)次冪的數(shù)量而不是通過增大的數(shù)量而獲得的。
以類似的方式,在解壓縮時(shí),如果數(shù)據(jù)應(yīng)該在輸出被以比逆小波變換的精度大的精度處理,例如對(duì)于比色變換,則數(shù)據(jù)精度可以直接增大以便等于后面變換的精度。
當(dāng)然,本發(fā)明還可以應(yīng)用于一維或多維矩陣。在此情況下,小波級(jí)數(shù)是通過沿著每個(gè)維度的一系列變換獲得的。
權(quán)利要求書(按照條約第19條的修改)
1.一種壓縮數(shù)字圖像的方法,包括減小以原始矩陣(X)的形式表示的所述數(shù)字圖像的分量的熵的步驟,其特征在于:
-該方法包括使用把所述原始矩陣變換為變換矩陣(T)的小波變換的步驟;
-對(duì)于每個(gè)細(xì)節(jié)矩陣,量化系數(shù)對(duì)應(yīng)于每個(gè)小波級(jí)數(shù);
-計(jì)算所述小波變換是通過使用在小數(shù)點(diǎn)后的至少等于1的第一數(shù)字?jǐn)?shù)量(D)(D2≥1)以定點(diǎn)針對(duì)以下每個(gè)小波級(jí)數(shù)進(jìn)行的:對(duì)于該小波級(jí)數(shù)而言,與每個(gè)細(xì)節(jié)矩陣對(duì)應(yīng)的量化系數(shù)中的至少一個(gè)量化系數(shù)嚴(yán)格大于1,以及
在以定點(diǎn)數(shù)處理小波級(jí)數(shù)結(jié)束時(shí),如果所述下一級(jí)數(shù)的細(xì)節(jié)矩陣中的每個(gè)細(xì)節(jié)矩陣的量化系數(shù)中的每個(gè)量化系數(shù)等于1,則近似矩陣的值被變換為整數(shù),而在相反的情況下被保持為定點(diǎn)數(shù)。
2.按照權(quán)利要求1所述的方法,其特征在于,小波級(jí)數(shù)中的每個(gè)小波級(jí)數(shù)的細(xì)節(jié)矩陣的量化系數(shù)中的每個(gè)量化系數(shù)小于或等于前一級(jí)數(shù)的等效矩陣的系數(shù),但是總大于或等于1。
3.按照權(quán)利要求1或2所述的方法,其特征在于,在以定點(diǎn)數(shù)處理小波級(jí)數(shù)結(jié)束時(shí),細(xì)節(jié)矩陣的值根據(jù)與所述細(xì)節(jié)矩陣相關(guān)聯(lián)的所述量化系數(shù)被量化,然后被變換為整數(shù),也就是說,放棄用于定點(diǎn)計(jì)算的(D)數(shù)字。
4.按照權(quán)利要求3所述的方法,其特征在于,所用的量化器是均勻標(biāo)量量化器,也就是說,對(duì)于每個(gè)矩陣都是唯一的,而無論被量化的值如何。
5.按照權(quán)利要求1至4之一所述的方法,其特征在于,如果第一級(jí)數(shù)的細(xì)節(jié)矩陣的量化系數(shù)中的至少一個(gè)量化系數(shù)大于1,則原始矩陣(X)的所有值在計(jì)算所述小波變換的所述第一級(jí)數(shù)之前被變換為定點(diǎn)數(shù)。
6.按照權(quán)利要求5所述的方法,其特征在于,當(dāng)被處理的矩陣來自以大于第一數(shù)量數(shù)字(D)的精度到定點(diǎn)數(shù)的比色變換時(shí),定點(diǎn)數(shù)是通過減小用于獲得所述第一數(shù)量的數(shù)字的數(shù)量獲得的。
7.按照權(quán)利要求1至6之一所述的方法,其特征在于,為了從變換矩陣(T)計(jì)算恢復(fù)矩陣(XR),或者中間的恢復(fù)矩陣,該方法包括對(duì)所述變換矩陣(T)的逆小波變換,所述逆小波變換的計(jì)算是通過使用在小數(shù)點(diǎn)后至少等于1的第二數(shù)字?jǐn)?shù)量以定點(diǎn)數(shù)至少針對(duì)以下每個(gè)小波級(jí)數(shù)進(jìn)行的:對(duì)于該小波級(jí)數(shù)而言,每個(gè)細(xì)節(jié)矩陣的量化系數(shù)中的至少一個(gè)量化系數(shù)嚴(yán)格大于1。
8.按照權(quán)利要求7所述的方法,其特征在于,在以定點(diǎn)數(shù)處理小波級(jí)數(shù)的逆變換的過程中,被應(yīng)用逆變換的矩陣的值被轉(zhuǎn)換為定點(diǎn)數(shù),如果所述矩陣的值初始為整數(shù)的話。
9.按照權(quán)利要求7和8之一所述的方法,其特征在于,在以定點(diǎn)數(shù)處理小波級(jí)數(shù)的逆變換的過程中,在逆小波變換之前,細(xì)節(jié)矩陣的值被轉(zhuǎn)換為定點(diǎn)數(shù)并且反量化。
10.按照權(quán)利要求7至9之一所述的方法,其特征在于,恢復(fù)矩陣(XR)是通過對(duì)所有可獲得的級(jí)數(shù)執(zhí)行逆小波變換、反量化以及在整數(shù)和定點(diǎn)之間的轉(zhuǎn)換來獲得的。
11.按照權(quán)利要求7至10之一所述的方法,其特征在于,如果第一小波級(jí)數(shù)被以定點(diǎn)數(shù)處理,則所獲得的恢復(fù)矩陣(XR)的數(shù)量是定點(diǎn)數(shù),其精度包括與小數(shù)點(diǎn)后的第二數(shù)字?jǐn)?shù)量相等的數(shù)字?jǐn)?shù)量。
12.按照權(quán)利要求11所述的方法,其特征在于,為了對(duì)恢復(fù)矩陣(XR)進(jìn)行后續(xù)處理,所述恢復(fù)矩陣的每個(gè)值被變換成整數(shù)。
13.按照權(quán)利要求7至9之一所述的方法,其特征在于,中間恢復(fù)矩陣是通過對(duì)比總可獲得的級(jí)數(shù)數(shù)量小的級(jí)數(shù)數(shù)量執(zhí)行逆小波變換、反量化以及在整數(shù)和定點(diǎn)之間的轉(zhuǎn)換獲得的。
14.按照權(quán)利要求7至9和13所述的方法,其特征在于,如果與所執(zhí)行的最后逆小波變換對(duì)應(yīng)的小波級(jí)數(shù)被以定點(diǎn)數(shù)處理,則所獲得的中間恢復(fù)矩陣的數(shù)量是定點(diǎn)數(shù),其精度包括與小數(shù)點(diǎn)后的第二數(shù)字?jǐn)?shù)量相等的數(shù)字?jǐn)?shù)量。
15.按照權(quán)利要求14所述的方法,其特征在于,為了對(duì)中間恢復(fù)矩陣進(jìn)行后續(xù)處理,所述恢復(fù)矩陣的每個(gè)值被變換成整數(shù)。
16.按照權(quán)利要求13至15之一所述的方法,其特征在于,如果不是所有壓縮數(shù)據(jù)都是可獲得的,則在與可獲得所有數(shù)據(jù)的級(jí)數(shù)對(duì)應(yīng)的級(jí)數(shù)數(shù)量的情況下使用中間恢復(fù)矩陣。
17.按照權(quán)利要求13至16之一所述的方法,其特征在于,對(duì)于需要比恢復(fù)矩陣(XR)的分辨率低的分辨率的應(yīng)用,在允許達(dá)到至少所述低分辨率的最小級(jí)數(shù)數(shù)量的情況下使用中間矩陣。
18.按照權(quán)利要求7至17之一所述的方法,其特征在于,當(dāng)逆小波變換后面跟隨有以定點(diǎn)數(shù)的逆比色變換時(shí),恢復(fù)矩陣的值被以變換精度直接轉(zhuǎn)換為定點(diǎn)數(shù),其中定點(diǎn)數(shù)具有的數(shù)字?jǐn)?shù)量大于用于逆小波變換的數(shù)字?jǐn)?shù)量。
19.按照權(quán)利要求1至18之一所述的方法,其特征在于,為了實(shí)現(xiàn)變換的定點(diǎn)計(jì)算,使矩陣的每個(gè)值向左偏移數(shù)字?jǐn)?shù)量D。
20.按照權(quán)利要求1至18之一所述的方法,其特征在于,為了實(shí)現(xiàn)變換的定點(diǎn)計(jì)算,使矩陣的每個(gè)值乘以二進(jìn)制的10的D次方,也就是乘以(10D)2。
21.按照權(quán)利要求1至20之一所述的方法,其特征在于,當(dāng)完成變換的定點(diǎn)計(jì)算時(shí),使矩陣的每個(gè)值向右偏移數(shù)字?jǐn)?shù)量D。
22.按照權(quán)利要求1至20之一所述的方法,其特征在于,當(dāng)完成變換的定點(diǎn)計(jì)算時(shí),使矩陣的每個(gè)值乘以二進(jìn)制的10的-D次方,也就是乘以(10-D)2。
23.按照權(quán)利要求7至22之一所述的方法,其特征在于,第一數(shù)字?jǐn)?shù)量(D)和第二數(shù)字?jǐn)?shù)量是相同的。
24.按照權(quán)利要求1至23之一所述的方法,其特征在于,矩陣至少部分地表示圖像。
25.按照權(quán)利要求1至24之一所述的方法,其特征在于,矩陣表示圖像的Y、Cb和Cr分量之一。
26.按照前述權(quán)利要求之一所述的方法,其特征在于,小波變換是使用提升方法的Cohen-Daubechies-Feauveau(CDF)5/3變換。