專利名稱::圖像編碼裝置和方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及編碼圖像數(shù)據(jù)的技術(shù)。
背景技術(shù):
:作為傳統(tǒng)的圖像編碼方法,已經(jīng)提出基于預(yù)測編碼的方法。該預(yù)測編碼方法包括通過預(yù)測變換將圖像數(shù)據(jù)變換成預(yù)測誤差的序列變換單元、以及將從序列變換單元輸出的預(yù)測誤差變換成較少冗余的編碼數(shù)據(jù)的熵編碼單元。作為使用預(yù)測編碼方案的例子,國際標(biāo)準(zhǔn)JPEG-LS(ITU-TT.87|ISO/IEC14495-1)是公知的。JPEG(ITU-TT.81|ISO/IEC10918-1)定義了一種獨立函數(shù)基于預(yù)測編碼的無損編碼方案。該無損編碼方案稱作JPEG無損編碼模式。在JPEG無損編碼模式中,定義了7個預(yù)測方程式作為從鄰近像素預(yù)測關(guān)注像素(目標(biāo)像素)的值的方法,并且預(yù)測方法可以根據(jù)圖像來選擇。圖2是表示傳統(tǒng)圖像處理裝置的方框圖。圖2示出在上述JPEG無損編碼模式中無損壓縮圖像的裝置示例。在圖2中,參考標(biāo)號201表示緩沖器,202表示分量值預(yù)測單元,203表示減法器,204表示霍夫曼表格(Huffmantable)存儲器,205表示預(yù)測誤差編碼單元,209表示碼流形成單元,并且206、207、和208表示信號線。霍夫曼表格存儲器204存儲在預(yù)測誤差編碼單元205中使用的霍夫曼表格。假定霍夫曼表格存儲器204存儲圖6所示的霍夫曼表格。下面將參照圖2描述傳統(tǒng)圖像處理裝置編碼其每一個分量都用8位表示的RGB彩色圖像時的處理流程。用于選擇在分量值預(yù)測單元202中使用的預(yù)測方法的預(yù)測選擇信號m從信號線208輸入。預(yù)測選擇信號m為0到7的整數(shù)值,并且各個值相應(yīng)于不同的預(yù)測方程式。當(dāng)對一個圖像進(jìn)行編碼時,預(yù)測選擇信號m不變并保持固定。圖4示出所使用的預(yù)測方程式和預(yù)測選擇信號m之間的對應(yīng)關(guān)系。在預(yù)測選擇信號m為0時,沒有定義預(yù)測方程式。這意味著對每一個分量都直接進(jìn)行編碼而不執(zhí)行任何預(yù)測變換。下面將說明圖4中的符號″p″、″a″、″b″、以及″c″。圖像數(shù)據(jù)從信號線206順序輸入。圖像數(shù)據(jù)輸入順序為光柵掃描順序,并且每一個像素的分量數(shù)據(jù)按照R、G、B的順序輸入。R、G、B分量分別定義為0、1、2的分量號。圖像的左上角定義為坐標(biāo)(0,0),并且在水平像素位置x和垂直像素位置y處像素的第C號分量的值用P(x,y,C)表示。例如,當(dāng)在位置(x,y)=(3,4)處的像素具有(R,G,B)=(255,128,0)時,則P(3,4,0)=255,P(3,4,1)=128,并且P(3,4,2)=0。緩沖器201具有存儲從信號線206輸入的兩行圖像數(shù)據(jù)的容量。當(dāng)關(guān)注像素的分量值x=P(x,y,C)時,分量值預(yù)測單元202從緩沖器201提取緊鄰的前一個像素的相同分量的值″a″=P(x-1,y,C),一行之前的像素的相同分量的值″b″=P(x,y-1,C),以及斜對的左上方的像素的相同分量的值″c″=P(x-1,y-1,C)。分量值預(yù)測單元202根據(jù)預(yù)測方案選擇信號m生成預(yù)測值″p″。圖3示出″a″、″b″、″c″和關(guān)注像素的分量值x之間的位置關(guān)系。應(yīng)該指出的是當(dāng)″a″、″b″、和″c″在圖像之外時,將它們設(shè)置為0。減法器203計算預(yù)測值p和待編碼的分量值x之間的差值,并將其作為預(yù)測誤差e輸出。預(yù)測誤差編碼單元205將從減法器203輸入的預(yù)測誤差e分成多個組,并生成為每一個組定義的位長度的組號SSSS和具有某個位長度的附加(overhead)位。圖5示出預(yù)測誤差e和組號SSSS之間的關(guān)系。附加位是用于指定組中的預(yù)測誤差的信息,并且位長度由組號SSSS給出。應(yīng)該指出的是,對于SSSS=16,位長度例外地為0(當(dāng)每一分量的精度為8位時,不生成SSSS=16)。如果預(yù)測誤差e為正,則預(yù)測誤差e的低SSSS位為附加位;如果預(yù)測誤差e為負(fù),則e-1的低SSSS位為附加位。附加位的MSB(最高有效位)對于正預(yù)測誤差e為1,而對于負(fù)預(yù)測誤差e為0。在編碼處理中,與組號SSSS對應(yīng)的編碼數(shù)據(jù)通過查找存儲在霍夫曼表格存儲器204中的霍夫曼表格輸出。當(dāng)SSSS既不是0也不是16時,輸出由組號定義的位長度的附加位。碼流形成單元209從預(yù)測誤差編碼單元205輸出的編碼數(shù)據(jù)和附加信息(例如通過信號線208輸入的預(yù)測選擇信號m、圖像的水平和垂直像素的數(shù)量、形成像素的分量的數(shù)量、以及每一個分量的精度)形成符合JPEG標(biāo)準(zhǔn)格式的碼流。碼流形成單元209將碼流輸出到信號線207。除了預(yù)測編碼之外,游程長度編碼也是公知的。根據(jù)游程長度編碼,當(dāng)關(guān)注像素與先前編碼的像素匹配時,對表示匹配像素的數(shù)量的信息進(jìn)行編碼。當(dāng)相同的像素在一幅圖像中游走時,該編碼具有較高的編碼效率。編碼的目的是降低原始圖像的數(shù)據(jù)量,而無損編碼的目的是生成能夠完全解碼成原始圖像的碼。當(dāng)對一幅圖像進(jìn)行無損編碼時,更希望局部地采用預(yù)測編碼技術(shù)和游程長度編碼技術(shù),而不是僅應(yīng)用它們中的一種。但是,還沒有建立切換使用這些編碼技術(shù)來對數(shù)據(jù)進(jìn)行高效編碼的方法。
發(fā)明內(nèi)容鑒于上述情形完成了本發(fā)明,并且本發(fā)明的目的是提供一種在有選擇地使用編碼每一個像素和游程長度編碼來執(zhí)行編碼時能夠?qū)?shù)據(jù)進(jìn)行高效編碼的技術(shù)。為了解決上述問題,根據(jù)本發(fā)明的圖像編碼裝置具有下述結(jié)構(gòu)。也就是說,本發(fā)明提供一種對像素值進(jìn)行編碼的圖像編碼裝置,包括第一編碼單元,使用編碼像素的值對目標(biāo)像素的值進(jìn)行編碼;第二編碼單元,對目標(biāo)像素和緊鄰在前的像素具有相同值的像素個數(shù)進(jìn)行計數(shù)作為游程,并根據(jù)所計數(shù)的游程輸出編碼數(shù)據(jù);以及切換單元,在通過第一編碼單元進(jìn)行的編碼和通過第二編碼單元進(jìn)行的編碼之間切換,其中,當(dāng)緊接目標(biāo)像素前面的像素的值通過第二編碼單元進(jìn)編碼時,第一編碼單元通過使用不包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼,并且當(dāng)緊鄰在前的像素的值不是通過第二編碼單元編碼時,通過使用包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼。通過下面結(jié)合附圖的詳細(xì)描述,本發(fā)明的其它特征和優(yōu)點將更加清楚,其中在整個附圖中相似的參考符號表示相同或類似的部件。附圖描述包含在并作為本說明書的一部分的附圖示出了本發(fā)明的實施例,并且與下面的描述一起用于解釋本發(fā)明的原理。圖1示出根據(jù)第一實施例的圖像處理裝置的方框圖;圖2示出預(yù)測編碼裝置的方框圖;圖3是表示在執(zhí)行預(yù)測編碼時關(guān)注像素X和周圍像素″a″、″b″、″c″、″d″之間的位置關(guān)系的圖;圖4是表示與預(yù)測選擇信號m相對應(yīng)的預(yù)測方程式的表格;圖5是表示預(yù)測誤差e和組號SSSS之間的對應(yīng)關(guān)系的表格;圖6是表示組號SSSS和碼字之間的對應(yīng)關(guān)系的表格;圖7是表示向量信息和碼字之間的示例對應(yīng)關(guān)系的表格;圖8A至8C每一個示出在該實施例中像素-編碼數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu);圖9示出在該實施例中編碼數(shù)據(jù)的輸出碼流的數(shù)據(jù)結(jié)構(gòu);圖10示出在該實施例中預(yù)測分量值編碼單元103的方框圖;圖11示出在該實施例中鄰近匹配信息編碼單元102的方框圖;圖12是表示在該實施例中向量信息和鄰近像素狀態(tài)信息之間的對應(yīng)關(guān)系的表格;圖13示出其中通過第一實施例中的編碼產(chǎn)生效果的圖像示例;圖14示出當(dāng)該實施例中的處理通過計算機程序?qū)崿F(xiàn)時計算機的方框圖;圖15A至15C是分別示出向量信息和針對每一個顏色計數(shù)Nc的碼之間的關(guān)系的表格;圖16是表示Golomb編碼示例的表格;圖17示出第一實施例中的處理由計算機程序?qū)崿F(xiàn)時編碼處理過程的流程圖;圖18示出在第一實施例中當(dāng)關(guān)注像素X結(jié)束游程時參照像素″f″、″b″、″c″、和″d″的位置;圖19示出根據(jù)第二實施例的編碼處理過程的流程圖;圖20是表示在第二實施例中編碼期間的狀態(tài)表的表格;圖21示出根據(jù)第三實施例的編碼處理過程的流程圖;圖22是表示在第三實施例中有效圖像的示例的圖;圖23是表示在第三實施例中關(guān)注像素Xa和替代像素Xa的像素Xf的數(shù)據(jù)內(nèi)容的表格;圖24示出第一實施例中的顏色計數(shù)確定單元的方框圖;圖25示出第一實施例中的解碼處理過程的流程圖;圖26示出根據(jù)第四實施例的圖像處理裝置的方框圖;以及圖27示出根據(jù)第四實施例的編碼處理過程的流程圖。具體實施例方式下面將參照附圖詳細(xì)描述本發(fā)明的優(yōu)選實施例。圖1示出根據(jù)第一實施例的圖像編碼裝置的方框圖。如圖1所示,根據(jù)第一實施例的圖像處理裝置包括顏色計數(shù)確定單元101、鄰近匹配信息編碼單元102、預(yù)測分量值編碼單元103、游程長度編碼單元104、碼生成單元105、切換器106、碼流形成單元107、以及緩沖器201。在圖1中,參考標(biāo)號108、109、110、206、和207表示信號線。相同的參考標(biāo)號表示執(zhí)行與傳統(tǒng)圖像處理裝置的處理塊相同操作的塊,在此將省略其描述。將解釋圖1的裝置中的圖像編碼處理。在第一實施例中,預(yù)測選擇信號m=4。將要由第一實施例的圖像處理裝置編碼的圖像數(shù)據(jù)是R、G、B顏色的圖像數(shù)據(jù)。從用8位表示0到255的輝度值(多值)的像素數(shù)據(jù)形成每一個分量(顏色分量)。應(yīng)該指出的是第一實施例針對RGB彩色圖像,但是也可以針對在一個像素中具有多個分量的圖像(例如CMYK彩色圖像)或者單色多值圖像。待編碼的圖像數(shù)據(jù)具有W個水平像素和H個垂直像素。輸入圖像數(shù)據(jù)具有W×H×3字節(jié)的數(shù)據(jù)量。水平向右方向定義為X坐標(biāo)的正方向,垂直向下方向定義為Y坐標(biāo)的正方向。輸入圖像數(shù)據(jù)的輸入順序是光柵順序,并且通過按照R、G、B的順序布局?jǐn)?shù)據(jù)來形成每一個像素?,F(xiàn)在將描述根據(jù)第一實施例的圖像處理裝置中的每一個單元的操作。待編碼的圖像數(shù)據(jù)從信號線206順序輸入并存儲在緩沖器201(具有兩行的容量)中。像素數(shù)據(jù)的輸入順序為光柵掃描順序,并且每一個像素的分量數(shù)據(jù)按照R、G、B的順序輸入。R、G、B分量分別定義為0、1、2的分量號。圖像的左上角定義為坐標(biāo)(0,0),并且在水平向右像素位置x和垂直向下像素位置y處像素的第C號分量的值用P(x,y,C)表示。例如,當(dāng)在位置(x,y)=(3,4)處的像素具有(R,G,B)=(255,128,0)時,則P(3,4,0)=255,P(3,4,1)=128,并且P(3,4,2)=0。如圖24所示,顏色計數(shù)確定單元101包括顏色計數(shù)計算單元101a、選擇器101b、寄存器101c、以及鎖存器101d。寄存器101c、鎖存器101d、以及選擇器101b將在下文中詳細(xì)描述。在下面的描述中,選擇器101b選擇數(shù)據(jù)″a″并將其輸出到顏色計數(shù)計算單元101a。對于關(guān)注像素X(目標(biāo)像素)的每一個分量,顏色計數(shù)計算單元101a從緩沖器201接收圖3中的四個周圍像素″a″、″b″、″c″、和″d″的值,獲取像素Xa、Xb、Xc、和Xd。假定(x,y)為關(guān)注像素的位置,則Xa、Xb、Xc、和Xd如下表示Xa=(P(x-1,y,0),P(x-1,y,1),P(x-1,y,2))Xb=(P(x,y-1,0),P(x,y-1,1),P(x,y-1,2))Xc=(P(x-1,y-1,0),P(x-1,y-1,1),P(x-1,y-1,2))Xd=(P(x+1,y-1,0),P(x+1,y-1,1),P(x+1,y-1,2))顏色計數(shù)計算單元101a檢測包含在四個像素Xa、Xb、Xc、和Xd中的顏色類型的數(shù)量,并將顏色計數(shù)Nc輸出到信號線109上。更具體地說,顏色計數(shù)計算單元101a從每一對通過從四個像素中提取兩個像素所準(zhǔn)備的六對(Xa,Xb)、(Xa,Xc)、(Xa,Xd)、(Xb,Xc)、(Xb,Xd)、和(Xc,Xd)中對具有相同顏色的所提取的像素對進(jìn)行計數(shù)。如果計數(shù)為″0″,則顏色計數(shù)計算單元101a確定存在四種顏色,如果為″1″則存在三種顏色,如果為″2″或者″3″則存在兩種顏色,如果為″6″則存在一種顏色。顏色計數(shù)計算單元101a將顏色計數(shù)Nc輸出到信號線109上。鄰近匹配信息編碼單元102根據(jù)通過信號線109輸入的顏色計數(shù)Nc、關(guān)注像素X、以及鄰近像素Xa、Xb、Xc、和Xd生成鄰近像素狀態(tài)信息和向量信息。鄰近匹配信息編碼單元102輸出鄰近像素狀態(tài)信息到信號線108上。鄰近匹配信息編碼單元102對向量信息進(jìn)行內(nèi)部編碼并輸出碼字到信號線110上。圖11示出該實施例中的鄰近匹配信息編碼單元102的更加詳細(xì)的內(nèi)部結(jié)構(gòu)方框圖。如圖11所示,鄰近匹配信息編碼單元102包括鄰近匹配確定單元1101、匹配像素位置編碼單元1102、以及選擇器1104。參考標(biāo)號1103表示信號線。設(shè)置選擇器1104的原因?qū)⒃谙挛闹性敿?xì)描述。在此,選擇器1104選擇數(shù)據(jù)″a″。下面將參照圖11描述在鄰近匹配信息編碼單元102中執(zhí)行的處理。將描述從鄰近匹配確定單元1101輸出到信號線1103的向量信息。鄰近匹配確定單元1101生成向量信息,用于指示在四個周圍像素(Xa、Xb、Xc、和Xd)中是否存在與關(guān)注像素X具有相同顏色的像素,并且當(dāng)存在匹配像素時,指示像素的相對位置。鄰近匹配確定單元1101輸出向量信息到信號線1103上。向量信息根據(jù)通過信號線109輸入的顏色計數(shù)Nc確定。將針對各個顏色計數(shù)Nc描述鄰近匹配確定單元1101的處理。當(dāng)顏色計數(shù)Nc為4時,即,Xa、Xb、Xc、和Xd都具有不同的像素值,則鄰近匹配確定單元1101無條件地輸出″4″作為向量信息。當(dāng)顏色計數(shù)Nc為1時,即,Xa到Xd具有相同的顏色,則將關(guān)注像素X與鄰近像素Xa進(jìn)行比較。如果X=Xa,則鄰近匹配確定單元1101輸出″0″作為向量信息;如果X≠Xa,則輸出″1″。當(dāng)顏色計數(shù)Nc為2時,即,在Xa到Xd中存在各具有相同顏色的兩對,則按照Xa、Xb、Xc、和Xd的順序獲取第一像素值(顏色)X1和與X1不同的第二像素值X2。如果X=X1,則鄰近匹配確定單元1101輸出″0″作為向量信息;如果X=X2,則輸出″1″;如果X≠X1且X≠X2,則輸出″2″。按照Xa、Xb、Xc、和Xd的順序,第一像素X1為Xa。第二像素X2為Xb、Xc、和Xd中具有與Xa不同值的一個。當(dāng)顏色計數(shù)Nc為3時,即,在Xa到Xd中存在一對具有相同的顏色,則按照Xa、Xb、Xc、和Xd的順序獲取第一像素值X1、第二像素值X2、和第三像素值X3。如果X=X1,則鄰近匹配確定單元1101輸出″0″作為向量信息;如果X=X2,則輸出″1″;如果X=X3,則輸出″2″;如果X≠X1、X≠X2且X≠X3,則輸出″3″。按照Xa、Xb、Xc、和Xd的順序,像素X1為Xa。第二像素X2為按照Xb、Xc、和Xd的順序第一次與Xa不匹配的像素。像素值X3為X2之后且不與X2匹配的像素。將描述從鄰近匹配確定單元1101輸出到信號線108上的鄰近像素狀態(tài)信息。鄰近像素狀態(tài)信息表示在四個鄰近像素中是否存在與關(guān)注像素X具有相同顏色的像素。更具體地說,鄰近匹配確定單元1101比較輸出到信號線1103上的向量信息與通過信號線109輸入的顏色計數(shù)Nc。如果向量信息與顏色計數(shù)Nc一致,則鄰近匹配確定單元1101輸出″0″到信號線108上作為鄰近像素狀態(tài)信息;否則,輸出″1″。對于顏色計數(shù)Nc=4,鄰近匹配確定單元1101總是輸出″1″。對于顏色計數(shù)Nc≠4(=3或者更小),如果關(guān)注像素X與四個周圍像素Xa、Xb、Xc、和Xd中的任何一個都不匹配,則鄰近匹配確定單元1101輸出″1″;如果關(guān)注像素X與它們中的至少一個匹配,則輸出″0″。圖12示出向量信息和鄰近像素狀態(tài)信息之間的關(guān)系。從圖12中可以明顯看出,當(dāng)靠近關(guān)注像素X的四個像素中的顏色計數(shù)Nc為3或者更小、并且四個鄰近像素包含至少一個具有與關(guān)注像素X相同顏色的像素時,鄰近像素狀態(tài)信息為″0″。換句話說,當(dāng)在N(在第一實施例中N=4)個靠近關(guān)注像素X的像素中存在具有相同顏色的至少一對像素、并且關(guān)注像素X具有與鄰近像素的任何一個相同的顏色時,鄰近像素狀態(tài)信息為″0″。返回圖11,匹配像素位置編碼單元1102編碼從信號線1103輸入的向量信息,并輸出所得到的碼字到信號線110上。在第一實施例中,匹配像素位置編碼單元1102在圖15A至15C的碼表之間進(jìn)行切換,并根據(jù)顏色計數(shù)Nc使用所選擇的一個。當(dāng)顏色計數(shù)Nc為4時,匹配像素位置編碼單元1102不輸出任何碼。即使匹配像素位置編碼單元1102輸出任何碼,該碼也不用作最終圖像數(shù)據(jù)的碼字,這將在下文中描述。通過上述操作,向量信息的碼字輸出到信號線110上,并且鄰近像素狀態(tài)信息輸出到信號線108上。返回圖1,根據(jù)來自鄰近匹配信息編碼單元102的鄰近像素狀態(tài)信息(信號線108上的信號)和向量信息的碼字(信號線110上的信號)、以及來自預(yù)測分量值編碼單元103的碼字,碼生成單元105生成待輸出的碼字。碼生成單元105將碼字輸出到切換器106。上面已經(jīng)描述了鄰近匹配信息編碼單元102,下面將描述預(yù)測分量值編碼單元103。分量值的預(yù)測編碼可以采用JPEG無損編碼模式、或者在無損編碼和接近無損編碼的國際標(biāo)準(zhǔn)JPEG-LS(ITU-TT.87|ISO/IEC14495-1)中描述為常規(guī)模式的方案。為了便于描述,將說明其簡單結(jié)構(gòu)。圖10示出預(yù)測分量值編碼單元103的內(nèi)部結(jié)構(gòu)中的子模塊的方框圖。如圖10所示,預(yù)測分量值編碼單元103包括分量值預(yù)測單元202、減法器203、預(yù)測誤差編碼單元701、以及選擇器702。參考標(biāo)號108表示用于輸入上述鄰近像素狀態(tài)信息的信號線。設(shè)置選擇器702的原因?qū)⒃谙挛闹忻枋?。在此,選擇器702選擇數(shù)據(jù)″a″。相同的參考標(biāo)號表示執(zhí)行與在
背景技術(shù):
中參照圖2描述的處理模塊相同功能的模塊,在此省略其詳細(xì)描述。通過與上述傳統(tǒng)方案相同的操作,分量值預(yù)測單元202對每一個分量從關(guān)注像素X周圍的像素的值″a″、″b″、和″c″生成預(yù)測值p。減法器203從關(guān)注像素的分量值x(x為R、G、B中的一個)生成差值(預(yù)測誤差)e=x-p,并將預(yù)測誤差e輸入到預(yù)測誤差編碼單元701。在第一實施例中,將輸入到分量值預(yù)測單元202的預(yù)測選擇信號m設(shè)置為固定值″4″,并且所有的分量值通過方程式″a+b-c″來預(yù)測。預(yù)測誤差編碼單元701使用Golomb編碼對預(yù)測誤差e進(jìn)行編碼。Golomb編碼對非負(fù)整數(shù)值進(jìn)行編碼,并且作為其特征,能夠根據(jù)參數(shù)變量k實現(xiàn)基于不同概率模型的編碼。Golomb編碼能夠從待編碼的符號和參數(shù)變量k導(dǎo)出碼字,而無需任何碼表。Golomb編碼的一種形式在ISO和ITU-T推薦為國際標(biāo)準(zhǔn)的JPEG-LS(ISO/IEC14495-1|ITU-TRecommendationT.87)中用作預(yù)測誤差編碼方案。在第一實施例中,根據(jù)下面的方程式將從減法器203輸出的預(yù)測誤差e變換成非負(fù)整數(shù)值(定義為V),并且通過所選擇的參數(shù)k對V進(jìn)行Golomb編碼對于e≥0,V=2×e對于e<0,V=-2×e-1以編碼參數(shù)k對非負(fù)整數(shù)值V進(jìn)行的Golomb編碼的過程如下所述。將V右移k位,以便獲得整數(shù)值m。V的碼由″1″(可變長度部分)跟隨m個″0″和V的低k位(固定長度部分)的組合來形成。圖16示出k=0、1、2、3時的Golomb碼示例。上述碼形成方法僅僅作為示例,并且甚至可以通過替換固定長度部分和可變長度部分來形成可唯一解碼的碼。該碼也可以通過替換0和1形成。作為選擇編碼參數(shù)k的方法,可以采用各種方法,包括在預(yù)定單元選擇最優(yōu)參數(shù)k并將參數(shù)k結(jié)合到碼流中的方法。第一實施例采用在編碼期間更新參數(shù)k的方法,與JPEG-LS的方法相同。下面將描述編碼參數(shù)k的選擇方法。預(yù)測誤差編碼單元1001包括保存編碼像素數(shù)量的計數(shù)器N、以及分別保存每一個分量的編碼預(yù)測誤差的絕對值之和的計數(shù)器A[C](C為分量號0到2)。在開始編碼時,計數(shù)器N設(shè)置為1,計數(shù)器A到A[2]設(shè)置為2。為待編碼的每一個分量值獲取N×2^k不超過A[C]的最大值k。使用k通過上述過程對預(yù)測誤差e進(jìn)行Golomb編碼,并輸出碼字(注意,x^y的意思是x的y次冪)。在每一個分量的編碼處理之后,通過將預(yù)測誤差的絕對值|e|加到A[C]來更新k。在這種情況下,在所有分量的編碼處理之后,N遞增1并進(jìn)行更新。為了將A[C]和N限制在預(yù)定范圍內(nèi),應(yīng)用在N達(dá)到預(yù)定值(例如32)的時刻將A[C]和N更新到1/2的處理。僅當(dāng)通過信號線108輸入的鄰近像素狀態(tài)信息為″1″時,預(yù)測誤差編碼單元1001進(jìn)行操作。已經(jīng)描述了根據(jù)第一實施例的預(yù)測分量值編碼單元103的處理內(nèi)容。下面將描述碼生成單元105。在第一實施例中,如圖1所示,碼生成單元105接收四條信息從預(yù)測分量值編碼單元103輸出的R、G、B分量的預(yù)測碼字,從鄰近匹配信息編碼單元102輸出的鄰近像素狀態(tài)信息和向量信息的碼字、以及顏色計數(shù)Nc。根據(jù)這四條信息,碼生成單元105執(zhí)行處理A到C中的一個。當(dāng)鄰近像素狀態(tài)信息為″0″,即,包含在靠近關(guān)注像素X的四個像素中的顏色數(shù)量為3或者更小,如圖12所示,并且在四個鄰近像素中存在與關(guān)注像素X具有相同顏色的像素時,則碼生成單元105僅輸出所輸入的向量信息的碼字。如果顏色計數(shù)Nc<4并且鄰近像素狀態(tài)信息為″1″,即,包含在靠近關(guān)注像素X的四個像素中的顏色數(shù)量為3或者更小,如圖12所示,并且在四個鄰近像素中不存在與關(guān)注像素X具有相同顏色的像素,則跟隨所輸入的向量信息的碼字,碼生成單元105輸出從預(yù)測分量值編碼單元103輸出的R、G、B分量的預(yù)測碼字。如果顏色計數(shù)Nc=4,碼生成單元105僅輸出從預(yù)測分量值編碼單元103輸出的R、G、B分量的預(yù)測碼字,而不輸出向量信息的碼字。圖8A至8C示出從碼生成單元105輸出的碼數(shù)據(jù)。圖8A示出的處理A的結(jié)果,圖8B示出處理B的結(jié)果,而圖8C示出處理C的結(jié)果。返回圖1,將描述該實施例中的游程長度編碼單元104。游程長度編碼單元104包括計數(shù)器RL,對相同像素值的游程進(jìn)行計數(shù)。當(dāng)緊接關(guān)注像素X前面的像素的顏色計數(shù)Nc的值不是″1″、并且關(guān)注像素X的顏色計數(shù)Nc變?yōu)椤?″時,計數(shù)器RL開始計數(shù)。一旦計數(shù)開始,就對像素數(shù)量連續(xù)進(jìn)行計數(shù)而不考慮顏色計數(shù)Nc,直到關(guān)注像素X具有與緊鄰前面的像素值Xa不同的顏色、或者一行上的最后像素的處理結(jié)束為止。當(dāng)游程結(jié)束(沒有可以進(jìn)行計數(shù)的游程)時,對計數(shù)器RL保存的值進(jìn)行游程長度編碼并輸出到切換器106。應(yīng)該指出的是,游程長度編碼單元104通過信號線115輸出表示計數(shù)器RL對游程進(jìn)行計數(shù)或者不對其進(jìn)行計數(shù)的狀態(tài)信息到切換器106。當(dāng)游程結(jié)束時,游程長度編碼單元104輸出關(guān)于該效果的信息到信號線116,其含義將在下文中描述??梢酝ㄟ^各種方法編碼游程長度。第一實施例采用與國際標(biāo)準(zhǔn)JPEG-LS中的游程模式使用的游程長度編碼相同的方法,在此省略其詳細(xì)描述。將描述圖1中的切換器106。在描述之前,將Xi定義為關(guān)注像素;Nci為靠近關(guān)注像素Xi的四個像素的顏色計數(shù);Xi-1為緊接關(guān)注像素Xi前面的像素;Nci-1為靠近像素Xi-1的四個像素的顏色計數(shù)。從碼生成單元105輸出的編碼數(shù)據(jù)(圖8A或者8B中的編碼數(shù)據(jù))稱作像素編碼數(shù)據(jù),并且從游程長度編碼單元104輸出的編碼數(shù)據(jù)稱作游程長度編碼數(shù)據(jù),以便區(qū)分這些編碼數(shù)據(jù)。在測量游程時,從游程長度編碼單元104輸出到信號線115上的狀態(tài)信息為″1″,而當(dāng)不測量游程時為″0″?!ぎ?dāng)狀態(tài)信息為″0″時切換器106選擇端子″a″,選擇關(guān)注像素Xi的編碼數(shù)據(jù),并將其輸出到碼流形成單元107。此時,如果Nci-1≠1且Nci=1,則在輸出像素編碼數(shù)據(jù)到碼流形成單元107之后切換器106切換到端子b。切換器106切換到端子b的原因在于在上述條件下游程長度編碼單元104開始測量游程,并且在游程測量期間不輸出像素編碼數(shù)據(jù)。在除了上述條件之外的條件下,切換器106保持選擇端子″a″?!ぎ?dāng)狀態(tài)信息為″1″時切換器106選擇端子b。此時,在游程長度編碼單元104測量游程期間,不輸出任何游程長度編碼數(shù)據(jù),并且切換器106不輸出任何數(shù)據(jù)給碼流形成單元107。當(dāng)游程長度編碼單元104檢測到游程結(jié)束時,輸出游程長度編碼數(shù)據(jù)。因此,切換器106輸出游程長度編碼數(shù)據(jù)給碼流形成單元107。在輸出游程長度編碼數(shù)據(jù)之后,游程長度編碼單元104將其狀態(tài)信息改變?yōu)椤?″。在游程測量結(jié)束之后狀態(tài)從″1″變?yōu)椤?″。當(dāng)關(guān)注像素X和緊接前面的像素Xa之間的關(guān)系為X≠Xa時,或者如果X=Xa,關(guān)注像素X位于行尾時,游程測量結(jié)束。在前一種情況下,切換器106在輸出游程長度編碼數(shù)據(jù)之后立即選擇端子″a″,以便輸出關(guān)注像素的像素編碼數(shù)據(jù)。如上所述,在進(jìn)行圖像編碼之前,碼流形成單元輸出附加信息(比如預(yù)測選擇信號m、圖像的水平和垂直像素數(shù)量、構(gòu)成像素的分量數(shù)量、以及每一個分量的精度)作為首標(biāo)。首標(biāo)之后,碼流形成單元順序輸出通過切換器106輸入的編碼數(shù)據(jù)。當(dāng)輸出目的地為存儲設(shè)備時,編碼數(shù)據(jù)輸出為文件。圖9示出從碼流形成單元107輸出的編碼數(shù)據(jù)的結(jié)構(gòu)。在圖9中,游程長度編碼數(shù)據(jù)和像素編碼數(shù)據(jù)的順序是任意的。圖9所示游程長度編碼數(shù)據(jù)和像素編碼數(shù)據(jù)可以共存,而無需諸如標(biāo)記之類的任何特殊中斷。在根據(jù)第一實施例的圖像處理裝置中,將預(yù)測選擇信號m設(shè)置為固定值,并且也可以不包括在首標(biāo)之內(nèi)。在圖9中,緊接首標(biāo)之后的編碼數(shù)據(jù)是游程長度編碼數(shù)據(jù),這是由于以下原因。根據(jù)上面的描述,當(dāng)關(guān)注像素位于待編碼的圖像數(shù)據(jù)的左上角時,用于獲取預(yù)測值的″a″、″b″、和″c″落在圖像區(qū)域之外,并被看作a=b=c=0。更具體地,由于a=b=c,則關(guān)注像素X周圍的像素的顏色計數(shù)Nc為″1″,并且輸出至少0或更多的游程長度編碼數(shù)據(jù)。在第一實施例中,鄰近匹配信息編碼單元102中的匹配像素位置編碼單元1102根據(jù)顏色計數(shù)Nc,使用圖15A至15C中的一個編碼表執(zhí)行編碼?;蛘撸ヅ湎袼匚恢镁幋a單元1102可以使用圖7所示的一個表格生成向量信息的碼字,而不考慮顏色計數(shù)Nc。當(dāng)顏色計數(shù)Nc=1時,從1位足夠形成碼字,而不用考慮向量信息為0還是1。與此相反,在圖7中,生成2位或更多位的碼字,并且根據(jù)顏色計數(shù)Nc合適地切換向量信息編碼表,如圖15A至15C所示。下面將說明設(shè)置圖1中的信號116、圖10中的選擇器702、圖11中的選擇器1104、以及圖24中的選擇器101b、寄存器101c和鎖存器101d的原因,以及它們的操作。從上面的描述可以看出,當(dāng)關(guān)注像素X的顏色和緊接前面的像素Xa的顏色彼此不同時,通過游程長度編碼單元104的游程結(jié)束。此時,存儲在計數(shù)器RL中的值為游程長度編碼,碼字輸出到切換器106,然后輸出關(guān)注像素X的像素編碼數(shù)據(jù)。對于關(guān)注像素X,X≠Xa,并且向量信息不為″0″,這從圖12容易理解。顯然,當(dāng)數(shù)據(jù)僅從向量信息的碼字形成時編碼效率最高,如圖8A所示。可以理解,當(dāng)被確定為游程的結(jié)束的關(guān)注像素X與不同于Xa(也即X1)的像素Xf比較時,由于X=Xf的可能性,可以期望較高的壓縮比。期望像素Xf位于關(guān)注像素X附近。作為像素Xf,第一實施例采用確定為前一游程長度編碼中的游程結(jié)束的像素。換句話說,將在當(dāng)前游程長度編碼中被確定為游程結(jié)束的關(guān)注像素X存儲并保存為在下一游程長度編碼中游程被確定為結(jié)束時使用的鄰近像素Xf。圖18示出當(dāng)關(guān)注像素X結(jié)束游程長度編碼數(shù)據(jù)時輸入圖像的示例。緊接關(guān)注像素X前面的游程長度編碼數(shù)據(jù)示出與作為游程起點的像素1801具有相同顏色的像素持續(xù)、并且顏色在關(guān)注像素X處改變的情形。在像素1802處,檢測到前面游程的結(jié)束。在這種情況下,為了生成關(guān)注像素的像素編碼數(shù)據(jù),顏色計數(shù)確定單元101根據(jù)靠近關(guān)注像素的像素″b″、″c″、″d″、以及替代像素數(shù)據(jù)″a″的像素1802的像素數(shù)據(jù)″f″再次計算顏色計數(shù)Nc。鄰近匹配信息編碼單元102編碼向量信息并再次生成鄰近像素狀態(tài)信息。預(yù)測分量值編碼單元103根據(jù)像素數(shù)據(jù)″f″、″b″、和″c″獲取預(yù)測值p,并且對關(guān)注像素X執(zhí)行預(yù)測誤差編碼處理。為了執(zhí)行上述處理,當(dāng)檢測到游程結(jié)束時,游程長度編碼單元104輸出游程結(jié)束檢測信息到信號線116上,以便在顏色計數(shù)確定單元101中保存此時關(guān)注像素X的數(shù)據(jù)(R、G、和B分量數(shù)據(jù))。如圖24所示,當(dāng)通過信號線116收到游程結(jié)束檢測信息時,顏色計數(shù)確定單元101中的鎖存器101d鎖存寄存器101c的數(shù)據(jù),并將其作為像素數(shù)據(jù)″f″輸出到選擇器101b、鄰近匹配信息編碼單元102、以及預(yù)測分量值編碼單元103。在鎖存器101d存儲和鎖存之后,寄存器101c使用此時關(guān)注像素X的數(shù)據(jù)覆寫(更新)先前存儲/保存的數(shù)據(jù)。也就是說,寄存器101c保存關(guān)注像素X的數(shù)據(jù),而鎖存器101d鎖存前一游程長度碼字的游程結(jié)束處的像素數(shù)據(jù)f。應(yīng)該指出的是,當(dāng)圖像數(shù)據(jù)編碼處理開始并且第一次執(zhí)行游程長度編碼時,不存在數(shù)據(jù)f。因此,在編碼一幅圖像數(shù)據(jù)之前,在寄存器101c中設(shè)置適當(dāng)?shù)闹道纭?″作為R、G、B分量。這些值不僅限于″0″,其值可以為等于解碼側(cè)的那些值。在通過信號線116收到游程結(jié)束檢測信息時,選擇器101b輸出數(shù)據(jù)″f″替代數(shù)據(jù)″a″給顏色計數(shù)計算單元101a。顏色計數(shù)計算單元根據(jù)靠近關(guān)注像素X的像素″b″、″c″、和″d″、以及像素″f″再次計算顏色計數(shù)Nc。當(dāng)鄰近匹配信息編碼單元102通過信號線116接收到游程結(jié)束檢測信息時,使選擇器1104選擇像素數(shù)據(jù)f。鄰近匹配信息編碼單元102再次生成向量信息并再次編碼,輸出編碼向量信息到信號線110上,并再次輸出鄰近像素狀態(tài)信息到信號線108上。此外,當(dāng)預(yù)測分量值編碼單元103通過信號線116接收到游程結(jié)束檢測信息時,使選擇器702選擇像素數(shù)據(jù)″f″。預(yù)測分量值編碼單元103根據(jù)預(yù)測選擇信號和數(shù)據(jù)″f″、″b″、″c″的分量值計算關(guān)注像素的預(yù)測碼字。如上所述,當(dāng)從游程長度編碼單元104輸出到信號線115上的狀態(tài)信號從″1″變?yōu)椤?″時,切換器106輸出從游程長度編碼單元104所輸入的游程長度編碼數(shù)據(jù)。切換器106輸出游程長度編碼數(shù)據(jù)到碼流形成單元107,然后輸出根據(jù)替代數(shù)據(jù)″a″的數(shù)據(jù)″f″,由顏色計數(shù)確定單元101、鄰近匹配信息編碼單元102、以及預(yù)測分量值編碼單元103所生成的與關(guān)注像素X相對應(yīng)的像素編碼數(shù)據(jù)。如上所述,根據(jù)第一實施例,圖像處理裝置包括鄰近匹配信息編碼單元102、預(yù)測分量值編碼單元103、以及游程長度編碼單元104。圖像處理裝置根據(jù)待編碼的關(guān)注像素X周圍的編碼像素Xa、Xb、Xc、和Xd中存在的顏色數(shù)量,通過切換用于這些單元的編碼方法的類型執(zhí)行編碼。具體地說,像素編碼數(shù)據(jù)和游程長度編碼數(shù)據(jù)之間的切換根據(jù)關(guān)于編碼像素位置的信息來確定。因此,編碼數(shù)據(jù)不需要表示編碼方法的類型被切換的任何特殊標(biāo)識信息。根據(jù)第一實施例,當(dāng)游程長度編碼單元104確定關(guān)注像素X結(jié)束游程時,顏色計數(shù)確定單元101、鄰近匹配信息編碼單元102、以及預(yù)測分量值編碼單元,通過臨時參照在另一位置上的像素Xf而不是在正常預(yù)測編碼中應(yīng)該參照的像素數(shù)據(jù)Xa執(zhí)行重新計算。能夠抑制將圖8A中的格式作為像素編碼數(shù)據(jù)的輸出格式的可能性的下降,并且可以期望較高的壓縮效率。例如,在編碼具有預(yù)定周期、并且從每隔四個像素布置給定像素值的圖像形成的圖像數(shù)據(jù)中的關(guān)注像素X時,如圖13所示,處理進(jìn)入游程長度編碼模式,這是因為四個周圍像素″a″、″b″、″c″、和″d″具有相同的像素值。但是,游程以長度0結(jié)束,并且處理轉(zhuǎn)向?qū)ο蛄啃畔⑦M(jìn)行編碼。當(dāng)參照四個周圍像素時,沒有檢測到匹配像素,并且對向量信息進(jìn)行預(yù)測編碼,降低了編碼效率。與此相反,通過參照作為緊接前面的游程的結(jié)束的像素Xf對向量信息進(jìn)行編碼,像素Xf匹配關(guān)注像素X的可能性增加,從而提高編碼效率。<變型例的描述>根據(jù)圖1的結(jié)構(gòu)描述了第一實施例,但是也可以通過計算機程序?qū)崿F(xiàn)與第一實施例的處理相同的處理。圖14示出當(dāng)該裝置由軟件實現(xiàn)時該裝置(PC等)的基本配置方框圖。在圖14中,參考標(biāo)號1401表示使用存儲在RAM1402和ROM1403中的程序和數(shù)據(jù)控制整個裝置、并且還執(zhí)行下文中描述的圖像編碼和解碼處理的CPU。RAM1402用以存儲通過I/F1409從外部存儲設(shè)備1407、存儲介質(zhì)驅(qū)動器1408、或者外部裝置下載的程序和數(shù)據(jù)。當(dāng)CPU1401執(zhí)行各種處理時RAM1402還用作工作區(qū)域。圖1所示的緩沖器201、霍夫曼表格存儲器204等也分配在RAM1402中。ROM1403存儲引導(dǎo)程序、裝置設(shè)置程序、以及數(shù)據(jù)。參考標(biāo)號1404和1405分別表示鍵盤和點擊設(shè)備(例如鼠標(biāo)),允許用戶輸入向CPU1401輸入各種指令。參考標(biāo)號1406表示由CRT、液晶顯示屏幕等構(gòu)成的顯示器,并且能夠顯示諸如圖像和文本的信息。外部存儲設(shè)備1407是大容量信息存儲設(shè)備,例如硬盤驅(qū)動器。外部存儲設(shè)備1407保存OS、用于下文中描述的圖像編碼和解碼處理的程序、待編碼的圖像數(shù)據(jù)、待解碼的圖像的編碼數(shù)據(jù)等。在CPU1401的控制下,程序和數(shù)據(jù)加載到RAM1402中的預(yù)定區(qū)域。存儲介質(zhì)驅(qū)動器1408讀出記錄在諸如CD-ROM或DVD-ROM的存儲介質(zhì)上的程序和數(shù)據(jù),并將所讀出的程序和數(shù)據(jù)輸出給RAM1402和外部存儲設(shè)備1407。應(yīng)該指出的是,存儲介質(zhì)可以記錄用于下文中描述的圖像編碼和解碼處理的程序、待編碼的圖像數(shù)據(jù)、待解碼的圖像的編碼數(shù)據(jù)等。在這種情況下,在CPU1401的控制下,存儲介質(zhì)驅(qū)動器1408將這些程序和數(shù)據(jù)加載到RAM1402中的預(yù)定區(qū)域。I/F1409將外部裝置連接到圖像處理裝置,并允許圖像處理裝置和外部裝置之間的數(shù)據(jù)通信。例如,I/F1409允許將待編碼的圖像數(shù)據(jù)、待解碼的圖像的編碼數(shù)據(jù)等輸入到裝置的RAM1402、外部存儲設(shè)備1407、或者存儲介質(zhì)驅(qū)動器1408。參考標(biāo)號1410表示連接上述單元的總線。在上面的結(jié)構(gòu)中,當(dāng)通過軟件執(zhí)行與第一處理相同的處理時,與圖1所示的顏色計數(shù)確定單元101為代表的各種構(gòu)成要素相應(yīng)的處理以軟件通過函數(shù)、子例程等實現(xiàn)。另外,在該變型例中,為了便于描述直接使用圖1中的處理單元的名稱。應(yīng)該指出的是,在開始處理之前,緩沖器201由CPU1401分配在RAM1402中。圖17示出根據(jù)該變型例的圖像處理裝置所執(zhí)行的編碼處理流程的流程圖。應(yīng)該指出的是,符合圖17的程序加載到RAM1402中并由CPU1401執(zhí)行,以便實現(xiàn)與圖17所示的流程圖相符的處理。將參照圖17描述根據(jù)該變型例的應(yīng)用程序的總體流程。碼流形成單元107生成并輸出包含待編碼的圖像的附加信息的首標(biāo)(步驟S1901)。將保存關(guān)注像素的垂直位置的計數(shù)器y設(shè)置為0,將游程長度編碼單元104中包括的計數(shù)器RL初始化為0,并且將檢測到游程結(jié)束時參照像素Xf的分量值初始化為″0″(步驟S1902)。此外,將保存關(guān)注像素的水平位置的計數(shù)器x設(shè)置為0(步驟S1903)。顏色計數(shù)確定單元101獲取坐標(biāo)(x,y)處的關(guān)注像素X周圍的像素″a″、″b″、″c″、和″d″的顏色計數(shù)Nc(步驟S1904)。當(dāng)關(guān)注像素位于待編碼的圖像的第一行時,不存在″b″、″c″、和″d″(參見圖3),將這些周圍像素的R、G、B分量值設(shè)置為0。當(dāng)x=0時,周圍像素″a″和″c″不存在,將它們的R、G、B分量值設(shè)置為0。但是,R、G、B分量值不僅限于這些值,其值可以變?yōu)榈扔诮獯a側(cè)上的那些值。在步驟S1905中,確定是否顏色計數(shù)Nc為1或者計數(shù)器RL保存有0之外的值。如果顏色計數(shù)Nc=1或者計數(shù)器RL保存有0之外的值(步驟S1905中的是),則處理轉(zhuǎn)移到步驟S1914。如果不滿足上述條件(步驟S1905中的否),則處理轉(zhuǎn)移到步驟S1906(步驟S1905)。在處理轉(zhuǎn)移到步驟S1906之后,鄰近匹配信息編碼單元102編碼用于關(guān)注像素的向量信息,并通過碼生成單元105輸出碼字。處理前進(jìn)到步驟S1907,確定關(guān)注像素位置處的鄰近像素狀態(tài)信息是否為″1″(步驟S1907)。如果鄰近像素狀態(tài)信息為″1″(步驟S1907中的是),則處理前進(jìn)到步驟S1923,并且預(yù)測分量值編碼單元103預(yù)測編碼R、G、B分量。在步驟S1909,從碼生成單元105和預(yù)測分量值編碼單元103輸出的碼字由碼流形成單元107變換成預(yù)定格式,形成用于關(guān)注像素的碼流(步驟S1909)。然后,保存關(guān)注像素的水平位置的計數(shù)器x遞增1(步驟S1910)。將計數(shù)器x與圖像的水平像素計數(shù)W比較。如果x<W(步驟S1911中的是),則處理返回到步驟S1904執(zhí)行下一個像素的編碼處理。如果x≥W(步驟S1911中的否),處理轉(zhuǎn)移到步驟S1912(步驟S1911)。如果在步驟S1905中確定顏色計數(shù)Nc=1或者計數(shù)器RL保存有0之外的值,則處理轉(zhuǎn)移到步驟S1914,比較關(guān)注像素X(由計數(shù)器x和y表示的像素值m)與緊接前面的像素值Xa。如果X≠Xa(步驟S1914中的否),則處理前進(jìn)到步驟S1920。如果X=Xa(步驟S1914中的是),則游程長度編碼單元104中包括的計數(shù)器RL遞增1(步驟S1915)。接著,保存關(guān)注像素的水平位置的計數(shù)器x遞增1(步驟S1916)。在步驟S1917中,將計數(shù)器x與圖像的水平像素計數(shù)W比較。如果x<W,則處理返回到步驟S1914,繼續(xù)下一個游程的計數(shù)。如果x≥W,則游程到達(dá)圖像的右端。此時,完成游程長度,并且游程長度編碼單元104對計數(shù)器RL保存的游程長度進(jìn)行編碼并輸出碼。從游程長度編碼單元104輸出的碼通過切換器106發(fā)送到碼流形成單元107,形成預(yù)定格式的碼流(步驟S1918)。在結(jié)束游程長度編碼之后,計數(shù)器RL復(fù)位為0(步驟S1919)。切換器106的連接改變到端子″a″。處理轉(zhuǎn)移到步驟S1912,并且編碼處理的目標(biāo)轉(zhuǎn)移到下一行。如果處理從步驟S1914前進(jìn)到步驟S1920,這意味著游程由于出現(xiàn)與緊接前面的像素值Xa不同的像素值X而終止。因此,游程長度編碼單元104對計數(shù)器RL保存的游程長度進(jìn)行編碼并輸出碼。從游程長度編碼單元104輸出的碼字通過切換器106發(fā)送到碼流形成單元107,形成預(yù)定格式的碼流。在結(jié)束游程長度編碼之后,計數(shù)器RL復(fù)位到0(步驟S1921)。此時,緊接前面的像素Xa的數(shù)據(jù)用Xf的值替換(步驟S1701)。在步驟S1702,用關(guān)注像素X的數(shù)據(jù)更新數(shù)據(jù)Xf。在步驟S1703,根據(jù)像素″f″、″b″、″c″、和″d″再次計算顏色的數(shù)量,并且處理前進(jìn)到步驟S1906。應(yīng)該指出的是,像素數(shù)據(jù)Xa用像素數(shù)據(jù)Xf替換,并且在步驟S1906之后的處理基于像素″f″、″b″、″c″、和″d″。結(jié)果,生成關(guān)注像素的像素編碼數(shù)據(jù),并且切換器106的連接改變到端子″a″。在步驟S1912,保存關(guān)注像素的垂直位置的計數(shù)器y遞增1。將計數(shù)器y與圖像的垂直像素計數(shù)H進(jìn)行比較。如果y<H(步驟S1913中的是),則處理返回到步驟S1903,類似地處理下一行上的像素。如果y≥H(步驟S1913中的否),則針對目標(biāo)圖像的編碼處理結(jié)束(步驟S1913)。如上所述,即便是變型例也能夠?qū)崿F(xiàn)與第一實施例相同的操作效果。下面將描述解碼處理。解碼處理基本上與編碼處理對稱。在這種情況下,將參照圖25的流程圖描述對通過上述處理編碼的圖像數(shù)據(jù)進(jìn)行解碼的處理過程。在下面的描述中,當(dāng)待解碼的關(guān)注像素X位于圖像邊界時,不存在參考像素″a″、″b″、″c″、和″d″,并將它們的分量值設(shè)置為0。在步驟S2101,將待解碼的編碼數(shù)據(jù)輸入到碼緩沖器(在RAM中分配),并且分析編碼數(shù)據(jù)的首標(biāo),以提取解碼所需的附加信息。將保存關(guān)注像素的垂直位置的計數(shù)器y設(shè)置為0(步驟S2102)。此時,參照像素Xf的R、G、B數(shù)據(jù)初始化為0,并且將標(biāo)記FLAG初始化為″0″(步驟S2102)。標(biāo)記FLAG在RAM中分配,并用于確定游程長度碼字是否被解碼。在步驟S2103,將保存關(guān)注像素的水平位置的計數(shù)器x設(shè)置為0(步驟S2103)。注意坐標(biāo)(x,y)處的像素,并且通過參照解碼的周圍像素Xa、Xb、Xc、和Xd獲得顏色計數(shù)Nc(步驟S2104)。如果關(guān)注像素位于圖像的左上角,則將Xa、Xb、Xc、和Xd當(dāng)作″0″。在步驟S2105,確定顏色計數(shù)Nc是否為″1″。如果顏色計數(shù)Nc為1(步驟S2105中的是),則處理轉(zhuǎn)移到步驟S2114;如果為否,則轉(zhuǎn)移到步驟S2110。在步驟S2110,將顏色計數(shù)Nc與4進(jìn)行比較。如果Nc=4,則關(guān)注像素是預(yù)測編碼分量值數(shù)據(jù)(圖8C中的編碼數(shù)據(jù)),并且對關(guān)注像素的每一個分量進(jìn)行解碼(步驟S2108)。如果在步驟S2110中確定Nc≠4,則關(guān)注像素是向量信息的碼字,并且在步驟S2106中將碼字解碼為向量信息。向量信息碼字的解碼使用與顏色數(shù)量相對應(yīng)的表格,如圖15A至15C所示。如果所獲得的向量信息與顏色計數(shù)Nc一致,則生成鄰近像素狀態(tài)信息″1″;如果彼此不一致,則生成″0″。在步驟S2107中確定鄰近像素狀態(tài)信息是否為″1″(參見圖12)。當(dāng)鄰近像素狀態(tài)信息為″1″時,關(guān)注像素的編碼數(shù)據(jù)具有圖8B的數(shù)據(jù)結(jié)構(gòu)。當(dāng)鄰近像素狀態(tài)信息為″0″時,關(guān)注像素的編碼數(shù)據(jù)具有圖8A的數(shù)據(jù)結(jié)構(gòu)。因此,如果鄰近像素狀態(tài)信息為″1″,則分量的預(yù)測碼字跟隨向量信息的碼字,并在步驟S2121中被解碼。如果處理從步驟S2108或者S2121前進(jìn)到步驟S2109,則將分量的預(yù)測編碼數(shù)據(jù)的解碼結(jié)果輸出,作為關(guān)注像素的數(shù)據(jù)。如果在步驟S2107中為否,則根據(jù)解碼的向量信息,將像素″a″、″b″、″c″、和″d″中相應(yīng)的像素數(shù)據(jù)輸出,作為關(guān)注像素的數(shù)據(jù)。在步驟S2132,確定標(biāo)記FLAG是否為″1″。在此標(biāo)記FLAG=0。如果標(biāo)記FLAG=0,則處理前進(jìn)到步驟S2110,保存關(guān)注像素的水平位置的計數(shù)器x遞增1。在步驟S2111,將計數(shù)器x與圖像的水平像素計數(shù)W進(jìn)行比較。如果x<W(步驟S2111中的是),則處理返回到步驟S2104,執(zhí)行下一個像素的解碼處理。如果x≥W,則處理轉(zhuǎn)移到步驟S2112。如果在步驟S2105中確定顏色計數(shù)Nc為1,則關(guān)注的編碼數(shù)據(jù)為游程長度編碼數(shù)據(jù),并且處理前進(jìn)到步驟S2114,對游程長度RL進(jìn)行解碼。應(yīng)該指出的是,解碼結(jié)果可能為″0″游程。將解碼的游程長度RL與0進(jìn)行比較(步驟S2115)。如果RL=0(步驟S2115中的是),則處理轉(zhuǎn)移到步驟S2120。如果在步驟S2115中確定RL≠0,則將Xa輸出,作為解碼像素值(步驟S2116)。計數(shù)器RL遞減1(步驟S2117),并且將保存關(guān)注像素的水平位置的計數(shù)器x遞增1(步驟S2118)。在步驟S2119,將計數(shù)器x與水平像素計數(shù)W進(jìn)行比較。如果x<W,則處理返回到步驟S2115;如果x≥W,則處理轉(zhuǎn)移到步驟S2112(步驟S2119)。如果在步驟S2115中確定RL=0,則處理轉(zhuǎn)移到步驟S2120,臨時將緊接關(guān)注像素X前面的像素Xa的數(shù)據(jù)替換為Xf的數(shù)據(jù)。在步驟S2129,將標(biāo)記FLAG設(shè)置為″1″,以便表示游程長度碼字已經(jīng)被解碼。處理前進(jìn)到步驟S2130,根據(jù)Xf、Xb、Xc、和Xd計數(shù)顏色計數(shù)Nc,然后返回到步驟S2110。如果處理從步驟S2130返回到步驟S2110,則執(zhí)行從步驟S2110開始的上述處理,以便解碼關(guān)注像素X。之后,在步驟S2132,確定標(biāo)記FLAG為″1″。在步驟S2133用關(guān)注像素X的解碼分量值更新像素數(shù)據(jù)Xf,并且在步驟S2134將標(biāo)記FLAG設(shè)置為″0″。在步驟S2112,將保存關(guān)注像素的垂直位置的計數(shù)器y遞增1,并且與圖像的垂直像素計數(shù)H進(jìn)行比較。如果y<H(步驟S2113中的是),則處理返回到步驟S2103,類似地處理下一行上的每一個像素。如果y≥H(步驟S2113中的否),則針對目標(biāo)圖像數(shù)據(jù)的解碼處理結(jié)束(步驟S2113)。通過上述處理,可以對第一實施例中的編碼數(shù)據(jù)無損地進(jìn)行解碼,以便重構(gòu)原始圖像數(shù)據(jù)。在第一實施例,當(dāng)關(guān)注像素X結(jié)束游程、并獲得預(yù)測編碼的預(yù)測值時,通過將參照像素″a″、″b″、和″c″中的像素″a″替換為結(jié)束前一游程長度編碼中的游程的像素″f″,使用″f″、″b″、和″c″。在第二實施例中,將結(jié)束關(guān)注像素X前面的游程的多種顏色的像素存儲為參照像素″f″,并且參照其顏色頻繁出現(xiàn)的像素。第二實施例將說明通過計算機程序?qū)崿F(xiàn)該處理的一個示例。裝置結(jié)構(gòu)與圖14中所示的相同。處理過程在圖19的流程圖中示出。圖19的流程圖與圖17的流程圖不同之處在于,圖17中的步驟S1701和S1702用步驟S1941和S1942替代,在編碼開始之前,在RAM1402中分配保存出現(xiàn)的顏色的各分量值和出現(xiàn)頻率的表格,在該表格中保存R=G=B=0并將頻率設(shè)置為″1″。分配和初始化表格的處理例如在步驟S1902中執(zhí)行。圖20示出當(dāng)編碼處理進(jìn)行到該階段時的狀態(tài)表格。該表格按照頻率遞減的順序保存出現(xiàn)的顏色數(shù)據(jù)。當(dāng)新顏色出現(xiàn)時,添加表示該顏色的顏色分量并登記,并及將出現(xiàn)頻率設(shè)置為″1″。由于除了步驟S1941和S1942,圖19的流程圖與圖17的流程圖相同,因此將描述步驟S1941和S1942。當(dāng)關(guān)注像素X結(jié)束游程時處理前進(jìn)到步驟S1941。通過查找表格,將結(jié)束前面游程的顏色的像素中具有最高頻率的R、G、B數(shù)據(jù)確定為像素Xf的數(shù)據(jù)。處理前進(jìn)到步驟S1942,將確定像素Xf的顏色數(shù)據(jù)的頻率遞增″1″,以便更新表格。此時,如果不存在與關(guān)注像素X相同的顏色,則將關(guān)注像素X的R、G、B值添加到表格中,并將出現(xiàn)頻率設(shè)置為″1″。根據(jù)上述第二實施例,將當(dāng)根據(jù)鄰近匹配信息對結(jié)束關(guān)注像素前面的游程的像素進(jìn)行編碼時與關(guān)注像素最匹配的像素作為關(guān)注像素的參照像素。參照像素和關(guān)注像素非常可能彼此匹配,并且可以期望較高的編碼效率。應(yīng)該指出的是,通過將表格的概念應(yīng)用到第一實施例能夠?qū)崿F(xiàn)解碼處理,因此省略其詳細(xì)描述。在第三實施例中,將緊接作為游程起點的像素前面的像素引用為參照像素f,替代結(jié)束關(guān)注像素X之前的游程的像素??梢员WCXf≠Xa并且Xf的位置更加靠近(至少在一行內(nèi))關(guān)注像素X。X=Xf的可能性增加,并且可以期望較高的編碼效率。應(yīng)該指出的是,在第三實施例中的游程長度編碼數(shù)據(jù)用于生成″游程″自身的碼字,并且具有游程起點處的顏色的像素編碼數(shù)據(jù)(數(shù)據(jù)圖8A至8C中的數(shù)據(jù)之一)總是位于緊靠游程長度編碼數(shù)據(jù)的前面,一種例外是關(guān)注像素位于待編碼圖像的每一行的開頭的情況。在執(zhí)行游程長度編碼時為了存儲緊接作為游程起點的像素前面的像素,處理根據(jù)圖21所示的過程執(zhí)行。圖21的流程圖與圖17的流程圖不同之處在于,在RAM1402中存儲兩個像素數(shù)據(jù)Xf和Xg并初始化為0(步驟S1902),并且步驟S1701和S1702用步驟S1952替換。在這種情況下,像素數(shù)據(jù)Xg用以存儲和保存關(guān)注像素X的像素數(shù)據(jù),Xf用于存儲和保存緊接前面的像素數(shù)據(jù)。下面將僅描述與圖17中的處理不同的處理。如果關(guān)注像素X結(jié)束游程,則在步驟S1952將像素數(shù)據(jù)Xa臨時用Xg的R、G、B值替代,并將Xf的R、G、B值代入Xa。將Xg的臨時保存值代入Xf,并將關(guān)注像素X的R、G、B值代入Xg。從而,僅當(dāng)對游程的結(jié)束像素進(jìn)行編碼時,才更新關(guān)注像素X的像素數(shù)據(jù)和緊接前面的像素數(shù)據(jù),并且總是保存這些值。在步驟S1703,根據(jù)更新的Xa(=Xf)、Xb、Xc、和Xd再次計算顏色計數(shù)Nc,并且處理前進(jìn)到步驟S1906。例如,當(dāng)存在圖22所示的圖像時,關(guān)注像素X位于圖22所示的位置。在第一實施例中,圖22中的像素2201位于前一游程的結(jié)束處并被參照,降低了編碼效率。與此相反,在第三實施例中,參照圖22中的像素Xf。應(yīng)該理解,當(dāng)關(guān)注像素X的R、G、B值為255、255、和255時,參照像素Xf的值變?yōu)?55、255、和255,如圖23所示,并且編碼效率提高。已經(jīng)描述了第一至第三實施例。下面將描述不對向量信息進(jìn)行編碼的簡單執(zhí)行上述實施例的示例作為第四實施例。根據(jù)第四實施例的圖像處理裝置包括預(yù)測編碼單元,根據(jù)關(guān)注像素附近的編碼像素位置處的像素(像素數(shù)量可能為1)獲取關(guān)注像素的預(yù)測值,計算關(guān)注的像素值和預(yù)測值之間的差并編碼該差值;以及游程長度編碼單元,對相同像素值的游程進(jìn)行計數(shù),并且當(dāng)游程結(jié)束或者關(guān)注像素到達(dá)行尾時,編碼計數(shù)值。對預(yù)測編碼單元和游程長度編碼單元適當(dāng)?shù)厍袚Q。待編碼的圖像數(shù)據(jù)是R、G、B顏色的圖像數(shù)據(jù)。從用8位表示0到255的輝度值的像素數(shù)據(jù)形成每一個分量(顏色)。通過順序布局像素點,即,按照光柵掃描順序形成圖像數(shù)據(jù),并且每一個像素通過按照R、G、B順序布局?jǐn)?shù)據(jù)來形成。圖像由W個水平像素和H個垂直像素構(gòu)成。應(yīng)該指出的是輸入圖像數(shù)據(jù)不僅限于RGB彩色圖像,也可以是CMY圖像(或通過增加K準(zhǔn)備的CMYK圖像)或者單色圖像。圖26示出根據(jù)第四實施例的圖像處理裝置的方框圖。根據(jù)第四實施例的圖像處理裝置包括臨時存儲待編碼的圖像數(shù)據(jù)的緩沖器存儲器2401、編碼方法確定單元2402、預(yù)測編碼單元2403、游程長度編碼單元2404、以及存儲編碼數(shù)據(jù)的存儲器2405。在圖26所示的構(gòu)成要素中,編碼方法確定單元2402、預(yù)測編碼單元2403、以及游程長度編碼單元2404可以通過運行在計算機上的程序?qū)崿F(xiàn)。該配置與圖14所示的一致。按照光柵掃描順序從信號線2400輸入圖像數(shù)據(jù)。緩沖器存儲器2401具有足夠存儲多行圖像數(shù)據(jù)的區(qū)域,并臨時存儲從信號線2400輸入的圖像數(shù)據(jù)。編碼方法確定單元2402比較關(guān)注像素X周圍的四個編碼像素″a″、″b″、″c″、和″d″的像素值Xa、Xb、Xc、和Xd,并確定四個周圍像素是否具有相同的像素值。當(dāng)四個周圍像素具有相同的像素值時,編碼方法確定單元2402選擇游程長度編碼單元2404開始編碼。如果編碼方法確定單元2402確定四個周圍像素不具有相同的像素值,則選擇預(yù)測編碼單元2403執(zhí)行編碼。預(yù)測編碼單元2403逐個編碼關(guān)注像素X的R、G、B分量。預(yù)測編碼單元2403從三個周圍像素″a″、″b″、和″c″通過預(yù)測方程式p=a+b-c生成預(yù)測值p。與第一實施例類似,預(yù)測編碼單元2403對預(yù)測值p和關(guān)注像素X中關(guān)注的分量值之間的差值e進(jìn)行霍夫曼編碼,并將結(jié)果輸出到存儲器2405。當(dāng)關(guān)注像素X周圍的四個像素具有相同的像素值時,游程長度編碼單元2404開始測量與緊接前面的像素匹配的關(guān)注像素X的游程。一旦游程測量開始,游程長度編碼單元2404保持一直測量游程,而不考慮關(guān)注像素周圍的四個像素的狀態(tài),只要關(guān)注像素X匹配緊接前面的像素。當(dāng)關(guān)注像素X變得與緊接前面的像素不同時、或者當(dāng)關(guān)注像素到達(dá)行尾(確定游程結(jié)束)時,游程長度編碼單元2404對所測量的游程進(jìn)行編碼,輸出游程長度編碼數(shù)據(jù)到存儲器2405,并結(jié)束游程長度編碼。當(dāng)游程長度編碼單元2404輸出游程長度編碼數(shù)據(jù)給存儲器2405時,通知編碼方法確定單元2402游程長度編碼結(jié)束。響應(yīng)于此,關(guān)注像素的編碼切換到由預(yù)測編碼單元2403執(zhí)行。下面將討論關(guān)注像素X的值變得與緊接前面的像素的像素值不同、并且游程長度編碼單元2404結(jié)束游程的情形。從圖3可以明顯看出,在這種情況下X≠a。因此,如果用于預(yù)測編碼關(guān)注像素X的預(yù)測值p通過p=a+b-c計算,則預(yù)測誤差不大可能為″0″,并且編碼效率很可能降低(尤其是在僅將緊接前面的像素″a″參照為預(yù)測值p的模式下,預(yù)測誤差不會變?yōu)椤?″)。在游程長度編碼切換到預(yù)測編碼之后,立即不通過參照作為在正常預(yù)測誤差中參照的三個周圍像素″a″、″b″、和″c″之一的″a″,而是通過將前一游程長度編碼中最后像素的像素值Xf作為″a″來計算預(yù)測值p。也就是說,p=Xf+b+c。通過使用該預(yù)測值p,獲得與關(guān)注像素X的差值e并進(jìn)行預(yù)測編碼。出于該目的,當(dāng)游程長度編碼單元2404通知編碼方法確定單元2402已經(jīng)輸出游程長度編碼數(shù)據(jù)時,編碼方法確定單元2402存儲并保存關(guān)注像素X的像素值。一旦收到該通知,編碼方法確定單元2402向預(yù)測編碼單元2403輸出響應(yīng)前面的通知已經(jīng)保存的像素值Xf,而不是用于計算預(yù)測值的像素值″a″、″b″、和″c″。應(yīng)該指出的是,在上面的描述中所存儲/保存的像素X是緊接游程長度編碼結(jié)束之后的像素,但是本發(fā)明不僅限于此。例如,也可以參照在預(yù)測編碼中參照的另一個像素以期待較高的編碼效率,比如在前面與游程長度編碼期間的像素流的開頭直接相鄰的像素。在這種情況下,存儲和保存另一個鄰近像素的值。同樣,在上面的描述中,臨時參照另一個像素而不是作為周圍像素中的一個的″a″,但是可供選擇的像素數(shù)量不僅限于一個。例如,可以臨時參照兩個其它像素,用以替代像素″a″和″b″。可選擇地,可以計算兩個其它像素的平均來替代作為周圍像素中的一個的″a″。當(dāng)關(guān)注像素X結(jié)束游程,即,X≠Xa時,可以將緊接關(guān)注像素X前面的像素的像素值Xa存儲為Xf。如上所述,在第四實施例中,在緊接游程長度編碼之后,至少不參照三個周圍像素″a″、″b″、和″c″中的一個。使用靠近已經(jīng)經(jīng)歷了游程長度編碼的部分或者靠近游程長度編碼期間的部分的另一個像素值計算預(yù)測值p。獲取預(yù)測值p和關(guān)注像素之間的差值e并進(jìn)行預(yù)測編碼。將參照圖27的流程圖描述第四實施例中的編碼處理的流程。在步驟S2701,在生成編碼數(shù)據(jù)時生成并輸出首標(biāo)。在步驟S2702,將表示關(guān)注像素的垂直位置的變量y初始化為″0″。將對游程進(jìn)行計數(shù)的計數(shù)器變量RL初始化為″0″,并且將保存在緊接從游程長度編碼切換到預(yù)測編碼之后使用的預(yù)測值的變量Xf初始化為″0″。在步驟S2703,將表示關(guān)注像素的水平位置的變量X初始化為″0″。在步驟S2704,確定由坐標(biāo)(X,y)表示的關(guān)注像素X周圍的四個像素的像素值Xa、Xb、Xc、和Xd是否相等。如果確定像素值Xa、Xb、Xc、和Xd不同,則處理前進(jìn)到步驟S2705,對每一個分量進(jìn)行預(yù)測編碼。在步驟S2706,輸出編碼結(jié)果。如上所述,當(dāng)周圍像素在待編碼的圖像之外時,將像素的每一個分量值設(shè)置為0。在步驟S2707,變量X遞增″1″。在步驟S2708,將變量X的值與輸入圖像的水平像素數(shù)量W進(jìn)行比較,確定關(guān)注像素是否超出一行的尾端。如果確定x<W,則處理從步驟S2704開始重復(fù);如果確定x≥W,則在步驟S2709將變量y遞增″1″,以便對下一行進(jìn)行編碼。在步驟S2710,將變量y與輸入圖像的垂直像素數(shù)量H進(jìn)行比較,確定是否完成最后一行的編碼。如果確定y<H,則處理從步驟S2703開始重復(fù);如果確定y≥H,則結(jié)束編碼處理。如果處理過程中在步驟S2704確定關(guān)注像素X周圍的四個編碼像素具有相同的像素值,則處理前進(jìn)到步驟S2711,以便將上述預(yù)測編碼處理切換到游程長度編碼。在步驟S2711,確定關(guān)注像素X和緊接前面的像素Xa是否一致。如果確定關(guān)注像素X和緊接前面的像素Xa一致,則在步驟S2712中將計數(shù)器變量RL遞增″1″。在步驟S2713,變量X也遞增″1″,以便將下一個像素設(shè)置為關(guān)注像素。之后,在步驟S2714中確定是否″x<W″。如果確定x<W,則處理從步驟S2711開始重復(fù)。如果關(guān)注像素X與緊接前面的像素Xa不同,則游程結(jié)束,并且處理從步驟S2711前進(jìn)到步驟S2715,以對計數(shù)器變量RL的值進(jìn)行編碼。在步驟S2716輸出編碼結(jié)果,并且在步驟S2717將計數(shù)器RL初始化為″0″。為了對確定為X≠Xa的關(guān)注像素X進(jìn)行預(yù)測編碼,設(shè)置Xf取代Xa,以便計算預(yù)測值p。因此,預(yù)測值p由Xf+Xb-Xc給出。在步驟S2719,將關(guān)注像素X的值代入Xf,以便保存緊接下一個游程長度編碼切換到預(yù)測編碼之后的預(yù)測值。然后,處理前進(jìn)到步驟S2705。應(yīng)該指出的是,當(dāng)處理前進(jìn)到步驟S2705時,用于關(guān)注像素X的預(yù)測值p使用Xf+Xb-Xc。如果在步驟S2714確定x≥W,則意味著關(guān)注像素X的位置超出一行的尾端。因此,處理前進(jìn)到步驟S2720,以便對計數(shù)器變量RL的值進(jìn)行編碼。在步驟S2721輸出編碼結(jié)果,在步驟S2722將計數(shù)器變量RL復(fù)位為″0″,并且處理前進(jìn)到步驟S2709。如上所述,根據(jù)第四實施例,通過適當(dāng)?shù)卦陬A(yù)測編碼處理和游程長度編碼處理之間進(jìn)行切換能夠成功生成編碼數(shù)據(jù)。緊接游程長度編碼處理切換到預(yù)測編碼處理之后,不是將緊接關(guān)注像素之前位置處的像素值,而是將作為前一游程長度編碼中游程結(jié)束的像素值用作預(yù)測編碼中的預(yù)測值。這也能夠抑制編碼效率的下降。在上述實施例中,待編碼的圖像數(shù)據(jù)是分別為8位的R、G、B分量的數(shù)據(jù)。但是,表示顏色空間的數(shù)據(jù)不僅限于R、G、B,而可以是Y、M、C、和K(black),L*a*b*,或者YCbCr。每一個分量值不必總是8位值。尤其是一些近來的數(shù)字?jǐn)z像機等通過12位內(nèi)部處理R、G、B,并以RAW模式對數(shù)據(jù)進(jìn)行無損編碼。本發(fā)明也可以應(yīng)用到此類裝置。在上述實施例中,根據(jù)周圍像素的顏色計數(shù)Nc對與Nc像素值的匹配/失配進(jìn)行編碼。作為向量信息,對符號Nc+1進(jìn)行編碼。例如,使用圖15C的碼表格對四個值的符號進(jìn)行編碼,使得當(dāng)顏色計數(shù)Nc為3時,如果關(guān)注像素與第一像素值X1匹配則符號為0,如果關(guān)注像素與第二像素值X2匹配則為1,如果關(guān)注像素與第三像素值X3匹配則為2,以及如果關(guān)注像素與X1至X3的任何一個都不匹配則為3。但是,不是所有的Nc像素值都需要經(jīng)歷匹配/失配判定。取三個值0、1、和3的符號(考慮到在鄰近匹配信息和Nc之間進(jìn)行比較,將″2″排除)可以如此編碼,使得當(dāng)X=X1時符號為0,當(dāng)X=X2時為1,以及當(dāng)X≠X1和X≠X2時為3。獲取第一、第二、和第三像素值X1、X2、和X3的方法不僅限于上述實施例。例如,第一、第二、和第三像素值可以按照Xb、Xa、Xc、和Xd的順序獲取,不同于上述任何一個實施例。順序可以根據(jù)Xa、Xb、Xc、和Xd之間的匹配來改變。例如,按照Xa、Xb、Xc、和Xd的順序獲取第一、第二、和第三像素值。當(dāng)Xa=Xb時,可以將Xd設(shè)置為第二像素值X2。向量信息的編碼可以使用基于概率分布的假定事先設(shè)置的碼字。但是,也可以使用不同于上述示例的碼字,或者可以應(yīng)用不同的編碼方案,例如使用算術(shù)碼的方案。作為預(yù)測關(guān)注分量值的方法,可以準(zhǔn)備和自適應(yīng)地切換幾種預(yù)測方法。可選地,可以使用非線性預(yù)測反饋在編碼分量值時生成的預(yù)測誤差的平均值,以便預(yù)測關(guān)注的分量。上述實施例采用霍夫曼編碼和Golomb編碼作為分量值的預(yù)測誤差的熵編碼。也可以采用其它熵編碼。作為關(guān)注像素X周圍的像素值,參照Xa、Xb、Xc、和Xd??蛇x地,可以參照大量像素,或者可以將參照像素的數(shù)量減少到例如僅僅Xa和Xb。從上述實施例的描述可以容易地理解,本發(fā)明也可以通過計算機執(zhí)行的計算機程序?qū)崿F(xiàn)。一般而言,計算機程序存儲在諸如CD-ROM等計算機可讀存儲介質(zhì)中,并且能夠通過使用諸如訪問存儲介質(zhì)的驅(qū)動器等讀取設(shè)備將程序復(fù)制或者安裝到系統(tǒng)中來執(zhí)行。該計算機程序顯然落在本發(fā)明的保護范圍之內(nèi)。如上所述,根據(jù)本發(fā)明,同時利用對每一個像素的編碼以及編碼像素游程的游程長度編碼,能夠高效地對數(shù)據(jù)進(jìn)行編碼。由于可以實現(xiàn)本發(fā)明的各種不同的實施例而不脫離本發(fā)明的構(gòu)思和范圍,所以應(yīng)該理解本發(fā)明除權(quán)利要求所限定的之外,不應(yīng)該僅限于其具體實施方案。權(quán)利要求1.一種對像素值進(jìn)行編碼的圖像編碼裝置,包括第一編碼單元,使用編碼像素的值對目標(biāo)像素的值進(jìn)行編碼;第二編碼單元,對目標(biāo)像素和緊鄰在前的像素具有相同值的像素個數(shù)進(jìn)行計數(shù)作為游程,并根據(jù)所計數(shù)的游程輸出編碼數(shù)據(jù);以及切換單元,在通過所述第一編碼單元進(jìn)行的編碼和通過所述第二編碼單元進(jìn)行的編碼之間切換,其中,當(dāng)緊接目標(biāo)像素前面的像素的值通過所述第二編碼單元編碼時,所述第一編碼單元通過使用不包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼,并且當(dāng)緊鄰在前的像素的值不是通過所述第二編碼單元編碼時,通過使用包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼。2.根據(jù)權(quán)利要求1的裝置,其中所述切換單元根據(jù)靠近目標(biāo)像素的預(yù)定數(shù)量編碼像素的值,在通過所述第一編碼單元進(jìn)行的編碼和通過所述第二編碼單元進(jìn)行的編碼之間切換。3.根據(jù)權(quán)利要求1的裝置,其中當(dāng)靠近目標(biāo)像素的預(yù)定數(shù)量編碼像素的值彼此相等時,所述切換單元使所述第二編碼單元執(zhí)行編碼。4.根據(jù)權(quán)利要求1的裝置,其中當(dāng)目標(biāo)像素的值和緊鄰在前的像素的值彼此不同時,所述切換單元使所述第一編碼單元執(zhí)行編碼。5.根據(jù)權(quán)利要求1的裝置,其中當(dāng)緊接目標(biāo)像素前面的像素的值通過所述第二編碼單元進(jìn)行編碼時,所述第一編碼單元通過使用除″與緊鄰在前的像素的值具有相同的值、并且在所述緊鄰在前的像素前面連續(xù)的像素流″之外的像素的值,對目標(biāo)像素進(jìn)行編碼。6.根據(jù)權(quán)利要求5的裝置,其中當(dāng)緊接目標(biāo)像素前面的像素的值通過所述第二編碼單元進(jìn)行編碼時,所述第一編碼單元通過使用緊接在″在所述緊鄰在前的像素之前、并且通過所述第二編碼單元進(jìn)行的編碼結(jié)束處的像素″之后的像素的值,對目標(biāo)像素進(jìn)行編碼。7.根據(jù)權(quán)利要求5的裝置,其中當(dāng)緊接目標(biāo)像素前面的像素的值通過所述第二編碼單元進(jìn)行編碼時,所述第一編碼單元通過使用緊接″所述與緊鄰在前的像素的值具有相同的值、并且在所述緊鄰在前的像素前面連續(xù)的像素流″前面的像素的值,對目標(biāo)像素進(jìn)行編碼。8.根據(jù)權(quán)利要求1的裝置,其中所述切換單元在通過所述第一編碼單元進(jìn)行的編碼、通過所述第二編碼單元進(jìn)行的編碼、以及通過第三編碼單元進(jìn)行的編碼之間切換。9.一種對像素值進(jìn)行編碼的圖像編碼方法,包括第一編碼步驟,使用編碼像素的值對目標(biāo)像素的值進(jìn)行編碼;第二編碼步驟,對目標(biāo)像素和緊鄰在前的像素具有相同值的像素個數(shù)進(jìn)行計數(shù)作為游程,并根據(jù)所計數(shù)的游程輸出編碼數(shù)據(jù);以及切換步驟,在第一編碼步驟中的編碼和第二編碼步驟中的編碼之間切換,其中,在第一編碼步驟中,當(dāng)緊接目標(biāo)像素前面的像素的值在第二編碼步驟中編碼時,通過使用不包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼,并且當(dāng)緊鄰在前的像素的值不是在第二編碼步驟中編碼時,通過使用包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼。10.一種對像素值進(jìn)行編碼的圖像編碼裝置,包括第一編碼部件,使用編碼像素的值對目標(biāo)像素的值進(jìn)行編碼;第二編碼部件,對目標(biāo)像素和緊鄰在前的像素具有相同值的像素個數(shù)進(jìn)行計數(shù)作為游程,并根據(jù)所計數(shù)的游程輸出編碼數(shù)據(jù);以及切換部件,在通過所述第一編碼部件進(jìn)行的編碼和通過所述第二編碼部件進(jìn)行的編碼之間切換,其中,當(dāng)緊接目標(biāo)像素前面的像素的值通過所述第二編碼部件編碼時,所述第一編碼部件通過使用不包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼,并且當(dāng)緊鄰在前的像素的值不是通過所述第二編碼部件編碼時,通過使用包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼。11.一種對像素值進(jìn)行編碼的圖像編碼裝置,包括第一編碼單元,使用編碼像素的值對目標(biāo)像素的值進(jìn)行編碼;第二編碼單元,對目標(biāo)像素和緊鄰在前的像素具有相同值的像素個數(shù)進(jìn)行計數(shù)作為游程,并根據(jù)所計數(shù)的游程輸出編碼數(shù)據(jù);以及切換單元,在通過所述第一編碼單元進(jìn)行的編碼和通過所述第二編碼單元進(jìn)行的編碼之間切換,其中,在緊接通過所述第二編碼單元進(jìn)行的編碼切換到通過所述第一編碼單元進(jìn)行的編碼之后,所述第一編碼單元通過使用不包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼,并且在其它情況下,通過使用包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼。12.一種對像素值進(jìn)行編碼的圖像編碼方法,包括第一編碼步驟,使用編碼像素的值對目標(biāo)像素的值進(jìn)行編碼;第二編碼步驟,對目標(biāo)像素和緊鄰在前的像素具有相同值的像素個數(shù)進(jìn)行計數(shù)作為游程,并根據(jù)所計數(shù)的游程輸出編碼數(shù)據(jù);以及切換步驟,在第一編碼步驟中的編碼和第二編碼步驟中的編碼之間切換,其中,在第一編碼步驟中,在緊接從第二編碼步驟中的編碼切換到第一編碼步驟中的編碼之后,通過使用不包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼,并且在其它情況下,通過使用包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼。13.一種對像素值進(jìn)行編碼的圖像編碼裝置,包括第一編碼部件,使用編碼像素的值對目標(biāo)像素的值進(jìn)行編碼;第二編碼部件,對目標(biāo)像素和緊鄰在前的像素具有相同值的像素個數(shù)進(jìn)行計數(shù)作為游程,并根據(jù)所計數(shù)的游程輸出編碼數(shù)據(jù);以及切換部件,在通過所述第一編碼部件進(jìn)行的編碼和通過所述第二編碼部件進(jìn)行的編碼之間切換,其中,在緊接通過所述第二編碼部件進(jìn)行的編碼切換到通過所述第一編碼部件進(jìn)行的編碼之后,所述第一編碼部件通過使用不包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼,并且在其它情況下,通過使用包括緊鄰在前的像素的編碼像素的值對目標(biāo)像素進(jìn)行編碼。全文摘要根據(jù)本發(fā)明的圖像編碼裝置和方法,使用預(yù)測編碼單元和游程長度編碼單元對數(shù)據(jù)高效地進(jìn)行編碼。預(yù)測編碼單元根據(jù)目標(biāo)像素的值與從鄰近目標(biāo)像素的像素所計算的預(yù)測值之間的差對目標(biāo)像素X進(jìn)行編碼。當(dāng)包含在靠近目標(biāo)像素X的四個像素“a”、“b”、“c”、和“d”中的顏色數(shù)量為1時,游程長度編碼單元開始測量游程,并且當(dāng)目標(biāo)像素與緊鄰在前的像素“a”不同時,輸出游程的編碼數(shù)據(jù)。然后,預(yù)測編碼單元開始編碼。此時,由于目標(biāo)像素與在前的像素不同,因此,將在前的像素排除在用于生成預(yù)測值的參照之外。替代在前像素,參照滿足特定條件的已經(jīng)編碼的像素。文檔編號H04N7/50GK1867077SQ200610082450公開日2006年11月22日申請日期2006年5月19日優(yōu)先權(quán)日2005年5月19日發(fā)明者松本友希,梶原浩申請人:佳能株式會社