每個壓縮算法使用其自己的數(shù)據(jù)表示。例如,借助小波的壓縮利用頻率變換將圖像分開成相繼的子圖像,而一些編碼解碼器,尤其是由申請人開發(fā)的編碼解碼器,求圖像的數(shù)字值之間的差。因此,本發(fā)明提出定義一種編碼解碼器,該編碼解碼器自動地在編碼時根據(jù)圖像數(shù)據(jù)類型選擇最好的數(shù)據(jù)表示,并且在解壓縮時借助包含在文件頭部中的信息進行反向變換。每個類型的算法或多或少地適于一些類型的圖像。特別地,頻率表示可以很好地對弱對比度的圖像進行建模,而借助差的表示可以良好地對強對比度的圖像進行建模??梢园从袚p或無損模式使用每種方法(差/小波)。變換被分別應(yīng)用到多個層中的每個層。相反,對變換類型的選擇是在被認為是最具代表性的層上進行的,例如,在圖像預(yù)先經(jīng)受了YCbCr變換的情況下,最具代表性的層為Y層,或者在無損比色變換的情況下,最具代表性的層為最好地表示了圖像的亮度強度的層。當(dāng)所使用的算法是借助小波的變換時,該變換可以通過二進制編碼和小波的特定實現(xiàn)來進行,或者借助諸如Jpeg2000或PGF之類的標(biāo)準格式來執(zhí)行。在下面的示例中,以非限制性的方式,所使用的小波格式是Jpeg2000和PGF。當(dāng)所使用的算法是借助差的變換時,該借助差的變換包括求相同層上的兩個相鄰像素的值之間的差,然后通過預(yù)定義的因子Q量化該差。為了不傳播錯誤,相對于下面定義的解壓縮值進行求差。以同樣的方式,如果可能存在兩個方向上的差,則根據(jù)解壓縮值來確定哪個方向是生成最小差的方向。隨后,在壓縮和解壓縮時計算該差。以更詳細的方式,該編碼方法按以下方式進行:考慮要變換的矩陣,該矩陣表示2維圖像的一層。采用以下命名方式:Vij是該矩陣的初始值,對于Vij而言,i表示行號且j表示列號。Cij表示相對應(yīng)的壓縮值,以及Dij表示相對應(yīng)的解壓縮值。因此,對于5×5的矩陣,具有以下值的分配:以用于每個Vij的以下數(shù)字值以及量化系數(shù)Q=3作為數(shù)字示例:00000002552530002552530002552530002552530從第一行到最后一行,從左到右逐行進行求差。按原值保留第一個值V11。在第一水平行中,對于每個值Vij,相對于位于其左側(cè)D1j-1處的解壓縮值進行求差,然后量化并四舍五入(round)。因此:D11=C11=V11=0;C12=ROUND((V12–D11)/Q)=ROUND((0–0)/3)=0D12=ROUND(D11+(C12*Q))=ROUND(0+0*3)=0如此繼續(xù)直到最后一行。對于隨后的行中的每一行,通過求當(dāng)前值Vi1與上一行的解壓縮值Di-11之間的差來計算所述行的第一格的壓縮值Ci1:因此,例如對于第2行有:C21=ROUND((V21–D11)/Q)=ROUND((0–0)/3)=0D21=ROUND(D11+(C21*Q))=ROUND(0+(0*3))=0對于該行的隨后的值中的每個值,如果(Di-1j–Di-1j-1)以絕對值計算小于(Dij-1–Di-1j-1),則針對每個值Vij計算水平差,并且否則計算豎直差。因此,對于值V22:·(D12-D11)的絕對值為0;·(D21-D11)的絕對值為0;·這兩個值是相等的,選擇豎直差;·因此計算壓縮值:C22=ROUND((V22–D12)/Q)=ROUND((0–0)/3)=0·然后計算解壓縮值:D22=ROUND(D12+(C22*Q))=ROUND(0+0*3)=0因此,對于值V23:·(D13-D12)的絕對值為0;·(D22-D12)的絕對值為0;·這兩個值是相等的,選擇豎直差;·因此計算壓縮值:C23=ROUND((V23–D13)/Q)=ROUND((255–0)/3)=85·然后計算解壓縮值:D23=ROUND(D13+(C23*Q))=ROUND(0+85*3)=255因此,對于值V24:·(D14-D13)的絕對值為0;·(D23-D13)的絕對值為255;·第一個差(水平差)的值更小,選擇水平差;·因此計算壓縮值:C24=ROUND((V24–D23)/Q)=ROUND((253–255)/3)=-1·然后計算壓縮值:D24=ROUND(D23+(C24*Q))=ROUND(255–1*3)=252通過迭代,獲得了針對該矩陣的以下壓縮值和解壓縮值:當(dāng)Q=1時,該變換是無損的。當(dāng)Q>1時,該變換是有損的。將該數(shù)據(jù)變換稱為“APE”一旦進行了該“APE”變換,就應(yīng)用RLE(Run-LengthEncoding,運行-長度編碼)變換,然后借助算法Bzip2對所獲得的數(shù)據(jù)進行壓縮。因此,對于圖像的多個層中的每個層,壓縮鏈如下:APE、RLE、Bzip。在一種實施方式中,對于3個不同的圖像應(yīng)用兩種借助小波的壓縮方法,例如Jpeg2000和PGF,以及上面描述的壓縮鏈APE、RLE、Bzip:·圖1是在白色背景上包含許多文本的屏幕拷貝,并且其表示“圖形化”類型的圖像的示例;·圖2是在建筑物與天空、光等之間具有強對比度的城市照片。其表示“強對比度”類型的圖像的示例;·圖3是包含許多顏色漸變的飛行表演的照片。其表示“弱對比度”類型的圖像的示例。借助稱作PSNR的曲線表示方法(APE/RLE/Bzip、Jpeg2000、PGF)中每種方法的效力,該PSNR曲線表示在壓縮然后解壓縮之后重建圖像的質(zhì)量。每個編碼參數(shù)對應(yīng)于文件尺寸以及稱作PSNR的質(zhì)量值(包括在0至100之間)。PSNR是標(biāo)準測量,此處在Y層上計算,100是可能的最好質(zhì)量并且對應(yīng)于無損壓縮。當(dāng)文件尺寸相等時,認為具有更好PSNR的壓縮比另一壓縮性能更好,或者,當(dāng)PSNR相等時,認為文件尺寸更小的壓縮比另一壓縮性能更好。圖4和下表表示對于圖1所示的圖像,PSNR根據(jù)圖像尺寸的演變。圖5和下表表示對于圖2所示的圖像,PSNR根據(jù)圖像尺寸的演變。圖6和下表表示對于圖3所示的圖像,PSNR根據(jù)圖像尺寸的演變。因此觀察到:·借助小波的編碼解碼器具有趨向于接近的尺寸/質(zhì)量性能,而APE獲得了完全不同的結(jié)果;·在圖1(圖形化圖像)的情況下,APE在各種情況下都是較好的;·在圖2(強對比度圖像)的情況下,APE在高質(zhì)量時是較好的,對于更強的壓縮,借助小波的編碼較好;·在圖3(弱對比度圖像)的情況下,借助小波的編碼在各種情況下都是較好的。在本發(fā)明的第一實施方式中,進行比色變換之后進行算法的選擇,在所示出的示例中比色變換是YCbCr。為了選擇算法,按以下方式進行:·對在最具代表性的層(理想地,Y)上的多個值中的每個值的數(shù)目進行計數(shù);·構(gòu)造如在圖7中示出的值的直方圖:·對于每個值k(一般地,包括在0至255之間),記錄該值出現(xiàn)在該層中的次數(shù)n(k):·因此,該層的像素數(shù)目等于n(k)的和:·度量(metric)“FD2”給出了直方圖的“峰”方面的概念(idea):·在圖像的一層的全部或部分上執(zhí)行度量FD2圖像1圖像2圖像3FD20.180.000651.1E-06·FD2越大,值越集中·因此清楚地看到不同類型的圖像屬于不同的量級,并且該公式具有良好的區(qū)分度。·按以下方式劃分圖像:oFD2>0.075:圖形化圖像oFD2>104:強對比度圖像o否則:弱對比度圖像·如果FD2>0.075,選擇借助差的變換,例如APE+RLE+zlib;·在強對比度圖像的情況下,在無損模式和幾乎無損模式的情況下選擇借助差的變換,例如APE+RLE+zlib,并且在其他情況下選擇借助小波的編碼;·在弱對比度圖像的情況下,在所有情況下進行借助小波的編碼,例如JPEG類型或PGF類型?!ぴ谖募念^部中存儲圖像類型;·在解壓縮時根據(jù)圖像類型進行反向操作。在第二實施方式中,對RGB顏色三元組的數(shù)目進行計數(shù),將其按圖像的大小進行折算。當(dāng)RGB顏色三元組的數(shù)目低于預(yù)定閾值時,將該圖像認為是圖形化圖像;當(dāng)該數(shù)目高于比第一閾值更高的第二閾值時,將該圖像認為是弱對比度圖像。在這兩個閾值之間時,將該圖像認為是強對比度圖像。隨后,應(yīng)用與在第一實施方式中相同的變換:·在強對比度圖像的情況下,在無損模式和幾乎無損模式的情況下選擇借助差的變換,例如APE+RLE+zlib,否則選擇借助小波的編碼;·在弱對比度的情況下,在所有情況下進行借助小波的編碼,例如JPEG類型或PGF類型?!ぴ谖募念^部中存儲圖像類型;·在解壓縮時根據(jù)圖像類型進行反向操作。以更一般的方式:因此,提出一種壓縮圖像的方法,其特征在于:-在圖像的一層的至少整體上進行圖像色調(diào)級的計算,-根據(jù)在一層的至少整體上的色調(diào)的類型,將圖像分類到以下三個類中的一個類:o若圖像為圖形化類型的圖像,則第一類;o若圖像為強對比度類型的圖像,則第二類;o若圖像為弱對比度類型的圖像,則第三類;以及,-根據(jù)圖像的類選擇壓縮處理:o若圖像為第一類,則選擇差類型的處理;o若圖像為第三類,則選擇頻率類型的處理,優(yōu)選地使用小波;和,o若圖像為第二類,則:■對于無損或弱損失的壓縮,優(yōu)選地使用差類型的處理,和■在其他情況下,優(yōu)選地使用頻率類型的處理,優(yōu)選地使用小波。有利地,在圖像的最具代表性的層(例如Y層)的整體上進行計算。有利地,在這些步驟之前可以在輸入數(shù)據(jù)上進行有損或無損的比色變換。例如,可以在RGB輸入數(shù)據(jù)上應(yīng)用YCbCr變換。為了對圖像進行分類,每個色度對應(yīng)于一個色度值(優(yōu)選地,在8比特層的情況下k=0-255),對于每個色度,計算呈現(xiàn)該色度的像素數(shù)目n(k);然后,計算在值k周圍的圖像的色度的濃度指示,例如:E(k)=n(k)-0.4(n(k-1)+n(k+1))–0.1(n(k-2)+n(k+2)),該指示的計算是通過以下來進行的:通過求所考慮的色度(k)的像素數(shù)目n(k)和所述色度的鄰居色度的像素數(shù)目的比例之間的差,優(yōu)選地,所述色度的鄰居色度為第一行(k-1和k+1)以及第二行(k-2和k+2)的鄰居,對于行數(shù)越高的鄰居,相應(yīng)的比例越低,例如,對于第一行的每個鄰居(即所考慮的色度(k)的直接鄰居),比例為80%,而對于第二行的每個鄰居(即第一行鄰居的直接鄰居),比例為20%。優(yōu)選地,鄰居值的比例的和等于一。在示出的示例中,比例的和確實等于1(0.4+0.4+0.1+0.1)。保留高于特定閾值的在值k周圍的色度的濃度指示(E(k)),優(yōu)選地,正濃度指示,即Max(E(k),0),并且將這些濃度指示中的每一個按圖像的大小,例如,圖像的總像素數(shù)目(N)進行折算。優(yōu)選地,為了多個圖像類型之間更好的區(qū)分度,即為了方便進行分類,隨后將結(jié)果Max(E(k))/N提升到嚴格大于1次方,優(yōu)選地等于2次方。隨后,通過針對整個層編譯這些結(jié)果,優(yōu)選地通過對該層的所有色度的如此獲得的結(jié)果求和來獲得度量(FD)。因此,在所示出的示例中:FD2=Σ(Max(E(k))/N)2,其中k從0到255變化。當(dāng)前第1頁1 2 3