亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

圖像處理裝置、圖像處理方法

文檔序號:6462629閱讀:159來源:國知局
專利名稱:圖像處理裝置、圖像處理方法
技術領域
本發(fā)明涉及,對圖像進行編碼或者對已編碼的圖像進行解碼的圖 像處理裝置、圖像處理方法、程序以及存儲介質。
背景技術
在將排列輸出稱之為墻紙或紋理等的相同背景圖案的應用程序 所輸出的打印數(shù)據(jù)展開成圖像數(shù)據(jù)并進行打印的情形中,為了減小數(shù) 據(jù)大小對圖像數(shù)據(jù)進行壓縮時,在能夠很好地壓縮背景圖案自身的情 況下,很好地壓縮整個圖像數(shù)據(jù)就容易。但是,背景圖案其自身不怎 么能很好地壓縮的情況也不少,在這樣的情況下,很好地壓縮整個圖 像數(shù)據(jù)就未必容易。圖IO是一例這樣的打印數(shù)據(jù),如圖ll所示,通過排列相同的圖 案來構成背景。在現(xiàn)有的壓縮才支術中有,例如行程編碼(run length encoding )、 或者Delta-law編碼那樣的編碼方法,其利用象素值成為與鄰近的象 素同值的傾向強的特點,參照鄰近的象素,如果值相同就進行壓縮。另外還有如LZ77編碼、或者LZ78編碼那樣的編碼方法,其通 過參照大范圍的象素來檢測值為相同的象素序列,并利用此進行壓 縮。利用這些方法,由于能夠檢測出在相當隔開的位置上的、具有相 同值的象素并利用到壓縮中,就能夠很好地壓縮上述的墻紙等。另外還有如JPEG編碼那樣,能夠很好地壓縮背景圖案其自身的 編碼方法。另外,在日本專利申請公開2000-76424中說明了才企測紋理的周 期來進行壓縮的方法。但是,利用上述行程編碼、或者Delta-law編碼,由于在壓縮上 述墻紙等的情況下,該重復周期為例如1024象素那樣大的值,就會 有只參照鄰近的象素則不能很好地壓縮這樣的缺點。另外,利用上述LZ77編碼、或者LZ78編碼,由于在編碼時要 參照大范圍的象素,就會有計算量大,編碼所需時間長的缺點。另外, 利用這些方法,由于在解碼時要參照大范圍的象素,就會有需要大容 量的緩沖存儲器這樣的缺點,例如,就成為在使打印機具有解碼功能 的情況下成本增加的原因。另外,利用上述JPEG,由于編碼時的計算量大,就會有編碼所 需時間長的缺點。另外,利用此方法,也會有解碼時的計算量大這樣 的缺點,例如,就成為在使打印機具有解碼功能的情況下成本增加的 原因。另外,利用上述日本專利申請/>開2000-76424,由于通過傅立葉 分析或者自相關系數(shù),就需要使用背景圖案的數(shù)據(jù)進行龐大數(shù)量的計 算,故不能高速地進行編碼。本發(fā)明就是鑒于以上問題而完成的,目的是在對具有周期性的圖 像、特別是墻紙等排列有背景圖案的圖像數(shù)據(jù)進行編碼時,更高速地、 且以更高壓縮率來壓縮整個圖像。另外本發(fā)明的其他目的是,減小對已編碼的墻紙等排列有背景圖 案的圖像的編碼進行解碼的解碼電路的電路規(guī)模,且進行無需大量的 緩沖存儲器的,能夠以低成本構成的解碼。另外,作為壓縮數(shù)據(jù)的方法還有在與前面的數(shù)據(jù)序列相一致的情 況下,對一致的數(shù)據(jù)的長度進行編碼,在不一致的情況下,對數(shù)據(jù)自 身進行編碼的方法。例如,在LZ77壓縮法中,當與預定大小的移動窗口內的任意位 置的數(shù)據(jù)相 一 致的情況下,對 一 致的數(shù)據(jù)序列的位置和 一 致的長度進 行編碼,在不一致的情況下對數(shù)據(jù)自身進行編碼。另外,在壓縮圖像數(shù)據(jù)的情況下,還有在預先確定的一處或者多 處的位置,例如在與欲進行編碼的數(shù)據(jù)的上方或者左側的位置的數(shù)據(jù) 序列相一致的情況下,對一致的長度進行編碼,在不一致的情況下對 數(shù)據(jù)自身進行編碼的方法。另一方面,如USP5450562所示,還有將最新出現(xiàn)的數(shù)據(jù)存儲在 高速緩沖存儲器中,在高速緩沖存儲器命中了的情況下,通過對存儲 有已一致的數(shù)據(jù)的索引進行編碼,來編碼成與對數(shù)據(jù)自身進行編碼的 情況相比更短的代碼的方法。但是在上述的方法中,在數(shù)據(jù)序列相 一 致的部分少的情況下對數(shù) 據(jù)自身進行了編碼的代碼變多,就會有壓縮率顯著降低這樣的缺點。另一方面,在USP5450562所7>開的方法中,即l吏在與前面的數(shù) 據(jù)序列相一致的情況下也不能將該冗余性利用到壓縮中,得到高的壓 縮率是困難的。本發(fā)明就是鑒于以上問題而完成的,目的是在與前面的圖像數(shù)據(jù) 序列相 一致的情況下利用該冗余性得到高的壓縮率,同時即使在圖像 數(shù)據(jù)序列 一 致的部分少的情況下,也極力抑止壓縮率的降低。另外,在將輸出稱之為墻紙或紋理等的背景圖案中重復的字符或 圖形應用程序所輸出的打印數(shù)據(jù)展開成圖像數(shù)據(jù)并進行打印的情形 中,當為了減小數(shù)據(jù)大小對圖像數(shù)據(jù)進行壓縮時,在能夠很好地壓縮 背景圖案自身的情況下,很好地壓縮整個圖像數(shù)據(jù)就容易。但是,背景圖案其自身不怎么能很好地壓縮的情況也多,在這樣 的情況下,很好地壓縮整個圖像數(shù)據(jù)就未必容易。作為這樣的打印數(shù) 據(jù)的一例如圖10所示。在現(xiàn)有技術中,盡管能夠很好地壓縮字符部 分的圖像數(shù)據(jù),但由于背景圖案的部分的圖像數(shù)據(jù)有不規(guī)則的圖案, 與鄰近的圖像數(shù)據(jù)的相關性低,所以不怎么能很好地壓縮。由于背景 圖案一般面積都大,占整個頁的比例高,在背景圖案不能很好地壓縮 的情況下,頁整體也不能很好地壓縮。本發(fā)明就是鑒于以上問題而完成的,其目的在于,提供一種包含 編碼方法以及對該編碼進行解碼的解碼方法的圖像處理方法,在壓縮有背景圖案的圖像數(shù)據(jù)時,即使在背景圖案與鄰近的圖像數(shù)據(jù)的相關 性低的情況下,也能夠很好地進行壓縮。另外以往,在壓縮圖像數(shù)據(jù)時, 一般是利用在水平方向和垂直方 向上持有相同象素值的象素相連續(xù)的傾向高的特點,參照與關注位置 的相關性高的,正左側或者正上方的位置來進行編碼。另外,在欲進行壓縮的圖像數(shù)據(jù)是施加了利用抖動矩陣(dither matrix)的減色處理的圖像數(shù)據(jù)的情況下,由于在施加減色處理時對 鄰接的象素適用不同的運算,與鄰近的象素的相關性還不如與僅間隔 了減色處理所使用的抖動矩陣的周期的象素的相關性高。因此在這種 情況中就有,當已知減色處理所使用的抖動矩陣的周期的情況下,參 照從關注位置僅間隔抖動矩陣的周期的、左側或者上方的位置來進行 編石馬的方法。但是,利用上述方法,由于在圖像數(shù)據(jù)的周期和抖動矩陣的周期 不同的情況下,關注位置和參照位置的相關性不怎么高,就會有不能 高效率地進行壓縮的缺點。例如,在欲壓縮的圖像數(shù)據(jù)是在對分辨率 不同的原圖像施加分辨率變換以后施加了減色處理的圖像數(shù)據(jù)的情 況下,就會發(fā)生這樣的問題。本發(fā)明就是鑒于以上問題而完成的,目的是高效率地,特別是以 短的代碼對圖像進行編碼。發(fā)明內容為了達到本發(fā)明的目的,提供如下的圖像處理裝置。 即, 一種對圖像進行編碼的圖像處理裝置,包括減色裝置,對 圖像使用預定大小的矩陣來施加減色處理;周期檢測裝置,檢測上述 圖像的圖案的周期;以及編碼裝置,使用依照上述周期和/或上述矩陣 的大小的象素的相對位置關系,對施加了上述減色處理的圖像進行編 碼。為了達到本發(fā)明的目的,提供如下的圖像處理裝置。即, 一種對已編碼的圖像進行解碼的圖像處理裝置,包括保存裝置,保存已解碼的象素序列的預定行數(shù);解碼裝置,對包含在編碼 數(shù)據(jù)中的命令群進行解碼;以及解碼裝置,依照由上述解碼裝置所解 碼的命令從上述保存裝置讀取象素序列,將所讀取的象素序列保存到 上述保存裝置,同時將所讀取的象素序列依次輸出到預定的緩沖器, 進而,在由上述解碼裝置所解碼的命令是關于圖像的行方向的命令的 情況下,依照上述圖像的圖案的周期變更從上述保存裝置進行讀取的 位置。為了達到本發(fā)明的目的,提供如下的圖像處理方法。 即, 一種對圖像進行編碼的圖像處理方法,包括減色步驟,對 圖像使用預定大小的矩陣施加減色處理;周期檢測步驟,檢測上述圖 像的圖案的周期;以及編碼步驟,使用依照上述周期和/或上述矩陣的 大小的象素的相對位置關系,對施加了上述減色處理的圖像進行編 碼。為了達到本發(fā)明的目的,提供如下的圖像處理方法。 即, 一種對已編碼的圖像進行解碼的圖像處理方法,包括解碼 步驟,將已解碼的象素序列的預定行數(shù)保存到預定的保存裝置,對包 含在編碼數(shù)據(jù)中的命令群進行解碼;解碼步驟,依照由上述解碼步驟 所解碼的命令從上述保存裝置讀取象素序列,將所讀取的象素序列保 存到上述保存裝置,同時將所讀取的象素序列依次輸出到預定的緩沖 器,進而,在由上述解碼步驟所解碼的命令是關于圖像的行方向的命 令的情況下,依照上述圖像的圖案的周期變更從上述保存裝置進行讀 取的位置。為了達到本發(fā)明的目的,提供如下的圖像處理裝置。 即, 一種壓縮圖像的圖像處理裝置,包括顏色變換裝置,對圖 像使用抖動顯示陣進行顏色變換處理,生成各種顏色的圖像數(shù)據(jù);以 及命令輸出裝置,對每種顏色的圖像數(shù)據(jù),比較壓縮對象的象素數(shù)據(jù) 序列,和與該象素數(shù)據(jù)序列有預定的位置關系的象素數(shù)據(jù)序列,在輸 出表示相一致的象素數(shù)據(jù)序列的長度的命令的同時輸出表示該比較 內容的命令,生成各種顏色的圖像數(shù)據(jù)的編碼數(shù)據(jù)。為了達到本發(fā)明的目的,提供如下的圖像處理裝置。即, 一種壓縮圖像的圖像處理裝置,包括顏色變換裝置,對圖 像使用抖動顯示陣進行顏色變換處理,生成各種顏色的圖像數(shù)據(jù);編 碼裝置,壓縮上述各種顏色的圖像數(shù)據(jù)并進行編碼;以及輸出裝置, 輸出由上述編碼裝置編碼的編碼數(shù)據(jù);進而上述編碼裝置備有,第l 命令輸出裝置,比較壓縮對象的列的象素數(shù)據(jù)序列,和與該列有預定 的位置關系的列的象素數(shù)據(jù)序列,求得相 一致的象素數(shù)據(jù)序列的長 度,作為該相一致的象素數(shù)據(jù)序列,在輸出表示上述比較內容的命令 的同時輸出表示上述長度的命令;第2命令輸出裝置,在上述長度為 0的情況下,比較壓縮對象的列的象素數(shù)據(jù)序列,和在該列中有預定 的位置關系的象素數(shù)據(jù)序列,求得相一致的象素數(shù)據(jù)序列的長度,作 為該相一致的象素數(shù)據(jù)序列,在輸出表示上述比較內容的命令的同時 輸出表示上述長度的命令;保存裝置,在由上述第l命令輸出裝置所 求出的長度和由上述第2命令輸出裝置所求出的長度同時為0的情況 下,保存壓縮對象的列的象素數(shù)據(jù)序列的一部分或者全部;第3命令 輸出裝置,在由上述第l命令輸出裝置所求出的長度和由上述第2命 令輸出裝置所求出的長度同時為0的情況下,比較壓縮對象的象素數(shù) 據(jù)和保存在上述保存裝置中的象素數(shù)據(jù)序列,作為上述壓縮對象的象 素數(shù)據(jù),在輸出表示相一致的象素數(shù)據(jù)在上述保存裝置中的位置的命 令的同時輸出表示上述比較內容的命令;以及第4命令輸出裝置,在 由上述第l命令輸出裝置所求出的長度和由上述第2命令輸出裝置所 求出的長度同時為O的情況下,且在由上述第3命令輸出裝置輸出的 比較結果判斷為與壓縮對象的象素數(shù)據(jù)相 一致的象素數(shù)據(jù)不存在于 上述保存裝置的情況下,輸出表示壓縮對象的象素數(shù)據(jù)的命令;并生 成包含由上述第1至第4命令輸出裝置的一部分或者全部輸出的命 令的編碼數(shù)據(jù)。為了達到本發(fā)明的目的,提供如下的圖像處理裝置。 即, 一種對編碼數(shù)據(jù)進行解碼的圖像處理裝置,包括第l保存 裝置,保存已解碼的象素數(shù)據(jù)序列;第2保存裝置,將已解碼的象素數(shù)據(jù)序列移位預定個數(shù)進行保存;第3保存裝置,保存包含在上述編 碼數(shù)據(jù)中的原始象素數(shù)據(jù)序列;以及還原裝置,確定對在上述編碼數(shù) 據(jù)的生成時所進行的,壓縮對象的列的象素數(shù)據(jù)序列和與該列有預定 的位置關系的列的象素數(shù)據(jù)序列的比較結果進行表示的各種命令的 內容,依照所確定的內容使用保存在上述第l保存裝置或者第2保存 裝置或者第3保存裝置中的象素數(shù)據(jù)來還原圖像。為了達到本發(fā)明的目的,提供如下的圖像處理方法。 即, 一種壓縮圖像的圖像處理方法,包括顏色變換步驟,對圖 像使用抖動顯示陣進行顏色變換處理,生成各種顏色的圖像數(shù)據(jù);以 及命令輸出步驟,對每種顏色的圖像數(shù)據(jù),比較壓縮對象的象素數(shù)據(jù) 序列,和與該象素數(shù)據(jù)序列有預定的位置關系的象素數(shù)據(jù)序列,在輸 出表示相一致的象素數(shù)據(jù)序列的長度的命令的同時輸出表示該比較 內容的命令,生成各種顏色的圖像數(shù)據(jù)的編碼數(shù)據(jù)。 為了達到本發(fā)明的目的,提供如下的圖像處理方法。 即, 一種壓縮圖像的圖像處理方法,包括顏色變換步驟,對圖 像使用抖動顯示陣進行顏色變換處理,生成各種顏色的圖像數(shù)據(jù);編 碼步驟,壓縮上述各種顏色的圖像數(shù)據(jù)并進行編碼;以及輸出步驟, 輸出由上述編碼裝置編碼的編碼數(shù)據(jù);進而上述編碼步驟包括,第1 命令輸出步驟,比較壓縮對象的列的象素數(shù)據(jù)序列和與該列有預定的 位置關系的列的象素數(shù)據(jù)序列,求得相一致的象素數(shù)據(jù)序列的長度, 作為該相一致的象素數(shù)據(jù)序列,在輸出表示上述比較內容的命令的同 時輸出表示上述長度的命令;第2命令輸出步驟,在上述長度為0的 情況下,比較壓縮對象的列的象素數(shù)據(jù)序列和在該列中有預定的位置 關系的象素數(shù)據(jù)序列,求得相一致的象素數(shù)據(jù)序列的長度,作為該相 一致的象素數(shù)據(jù)序列,在輸出表示上述比較內容的命令的同時輸出表 示上述長度的命令;保存步驟,在由上述第1命令輸出步驟所求出 的長度和由上述第2命令輸出步驟所求出的長度同時為0的情況下, 將壓縮對象的列的象素數(shù)據(jù)序列的 一部分或者全部保存到預定的保 存裝置;第3命令輸出步驟,在由上述第1命令輸出步驟所求出的長度和由上述第2命令輸出步驟所求出的長度同時為0的情況下,比 較壓縮對象的象素數(shù)據(jù)和由上述保存步驟所保存的象素數(shù)據(jù),作為上 述壓縮對象的象素數(shù)據(jù),在輸出表示相一致的象素數(shù)據(jù)序列由上述保存步驟所保存的位置的命令的同時輸出表示上述比較內容的命令;以 及第4命令輸出步驟,在由上述第1命令輸出步驟所求出的長度和由 上述第2命令輸出步驟所求出的長度同時為0的情況下,且在由上述 第3命令輸出步驟輸出的比較結果判斷為與壓縮對象的象素數(shù)據(jù)相一 致的象素數(shù)據(jù)沒有由上述保存步驟進行保存的情況下,輸出表示壓縮 對象的象素數(shù)據(jù)的命令;并生成包含由上述第1至第4命令輸出步驟的 一 部分或者全部輸出的命令的編碼數(shù)據(jù)。為了達到本發(fā)明的目的,提供如下的圖像處理方法。 即, 一種對編碼數(shù)據(jù)進行解碼的圖像處理裝置所運行的圖像處理 方法,所述圖像處理裝置備有保存已解碼象素數(shù)據(jù)序列的第l保存裝 置;將已解碼的象素數(shù)據(jù)序列移位預定個數(shù)進行保存的第2保存裝置; 以及保存包含在上述編碼數(shù)據(jù)中的原始的象素數(shù)據(jù)序列的第3保存 裝置;該圖像處理方法,確定對在上述編碼數(shù)據(jù)的生成時所進行的, 壓縮對象的列的象素數(shù)據(jù)序列和與該列有預定的位置關系的列的象 素數(shù)據(jù)序列的比較結果進行表示的各種命令的內容,依照所確定的內 容使用保存在上述第l保存裝置或者第2保存裝置或者第3保存裝置 中的象素數(shù)據(jù)來還原圖像。為了達到本發(fā)明的目的,提供如下的圖像處理裝置。 即, 一種對多個頁的圖像數(shù)據(jù)進行編碼的圖像處理裝置,包括 第l存儲器,保存欲進行編碼的頁的圖像數(shù)據(jù);編碼裝置,對保存在 上述第1存儲器中的圖像數(shù)據(jù)進行編碼;以及第2存儲器,保存前一 頁的圖像數(shù)據(jù);上述編碼裝置參照保存在上述第2存儲器中的前一頁 的圖像數(shù)據(jù)進行編碼。為了達到本發(fā)明的目的,提供如下的圖像處理裝置。 即, 一種對已編碼的多個頁的圖像數(shù)據(jù)進行解碼的圖像處理裝 置,包括解碼裝置,對編碼進行解碼;第l存儲器,保存由上述解碼裝置所解碼的圖像數(shù)據(jù);再編碼裝置,對保存在上述第l存儲器中的圖像數(shù)據(jù)進行編碼;第2存儲器,保存由上述再編碼裝置所編碼的 代碼;以及再解碼裝置,對保存在上述第2存儲器中的編碼進行解碼; 上述解碼裝置,在對參照前 一 頁的圖像數(shù)據(jù)的編碼進行了解碼情況 下,參照上述再解碼裝置所解碼的圖像數(shù)據(jù)進行解碼,同時上述再編 碼裝置,僅參照欲進行編碼的頁的圖像數(shù)據(jù)進行編碼。 為了達到本發(fā)明的目的,提供如下的圖像處理方法。 即, 一種對多個頁的圖像數(shù)據(jù)進行編碼的圖像處理裝置所運行的 圖像處理方法,所述圖像處理裝置備有保存欲進行編碼的頁的圖像數(shù) 據(jù)的第l存儲器;以及保存前一頁的圖像數(shù)據(jù)的第2存儲器;該圖像 處理方法包括編碼步驟,對保存在上述第l存儲器中的圖像數(shù)據(jù)進 行編碼;上述編碼步驟參照保存在上述第2存儲器中的前一頁的圖像 數(shù)據(jù)進行編碼。為了達到本發(fā)明的目的,提供如下的圖像處理方法。 即, 一種備有第1存儲器和第2存儲器,對已編碼的多個頁的圖 像數(shù)據(jù)進行解碼的圖像處理裝置所運行的圖像處理方法,包括解碼 步驟,對編碼進行解碼;第l保存步驟,將由上述解碼步驟所解碼的 圖像數(shù)據(jù)保存到上述第l存儲器;再編碼步驟,對保存在上述第l存 儲器中的圖像數(shù)據(jù)進行編碼;第2保存步驟,將由上述再編碼步驟所 編碼的代碼保存到第2存儲器;以及再解碼步驟,對保存在上述第2 存儲器中的編碼進行解碼;上述解碼步驟,在對參照前一頁的圖像的 編碼進行了解碼的情況下,參照由上述再解碼步驟所解碼的圖像數(shù)據(jù) 進行解碼,同時上述再編碼步驟,僅參照欲進行編碼的頁的圖像數(shù)據(jù) 進行編碼。為了達到本發(fā)明的目的,提供如下的圖像處理裝置。 即, 一種對圖像進行編碼的圖像處理裝置,包括編碼裝置,比 較關注數(shù)據(jù)后續(xù)的數(shù)據(jù)序列,和參照數(shù)據(jù)后續(xù)的數(shù)據(jù)序列,將相一致 的長度的該關注數(shù)據(jù)后續(xù)的數(shù)據(jù)序列,編碼成依照該關注數(shù)據(jù)和該參 照數(shù)據(jù)的位置關系的編碼命令;置換裝置,在上述關注數(shù)據(jù)和上述參考數(shù)據(jù)為特定的位置關系的情況下,當由上述編碼裝置編碼后,將對 應于該特定的位置關系的編碼命令置換成代碼的長度更短的編碼命 令。為了達到本發(fā)明的目的,提供如下的圖像處理裝置。即, 一種基于由編碼命令所組成的編碼數(shù)據(jù)來解碼圖像的圖像處理裝置,包括保存裝置,保存已解碼圖像的數(shù)據(jù);多個解碼裝置, 通過讀出保存在上述保存裝置中,依照編碼命令的位置上的數(shù)據(jù),將 該數(shù)據(jù)作為依照該編碼命令的解碼數(shù)據(jù)輸出到外部;保持裝置,保持 依照將要解碼的編碼命令進行變化的值;由上述多個解碼裝置中的,依照上述保持裝置所保持的值的解碼裝置,進行解碼處理。 為了達到本發(fā)明的目的,提供如下的圖像處理方法。 即, 一種對圖像進行編碼的圖像處理方法,包括編碼步驟,比 較關注數(shù)據(jù)后續(xù)的數(shù)據(jù)序列,和參照數(shù)據(jù)后續(xù)的數(shù)據(jù)序列,將相一致 長度的該關注數(shù)據(jù)后續(xù)的數(shù)據(jù)序列,編碼成依照該關注數(shù)據(jù)和該參照 數(shù)據(jù)的位置關系的編碼命令;置換步驟,在上述關注數(shù)據(jù)和上述參考 數(shù)據(jù)為特定的位置關系的情況下,當由上述編碼步驟編碼后,將對應 于該特定的位置關系的編碼命令置換成代碼的長度更短的編碼命令。 為了達到本發(fā)明的目的,提供如下的圖像處理方法。 即, 一種基于由編碼命令組成的編碼數(shù)據(jù)來解碼圖像的圖像處理 方法,包括保存步驟,將已解碼圖像的數(shù)據(jù)保存到預定的保存裝置; 多個解碼步驟,通過讀出保存在上述保存裝置中,依照編碼命令的位 置上的數(shù)據(jù),將該數(shù)據(jù)作為依照該編碼命令的解碼數(shù)據(jù)輸出到外部; 保持步驟,將依照要解碼的編碼命令進行變化的值保持到預定的保持 裝置;由上述多個解碼步驟中的,依照上述保持裝置所保持的值的解 碼步驟,進行解碼處理。本發(fā)明的其他特征以及優(yōu)點,通過以附圖為參照的下面的說明會 弄明白。這里,在附圖中,相同或者同樣的結構附加相同的參照標號。


附圖包含在說明書中,構成其一部分,用于圖示本發(fā)明的實施形 式,與說明書的記述一起用于說明本發(fā)明的原理。圖1是表示在打印圖像時所使用的軟件群和打印機之間關系的概 念圖。圖2是表示打印機1711的基本構成的框圖。圖3是表示對一例包含在圖1所示的打印機驅動器4所生成的編碼數(shù)據(jù)中的各編碼進行說明的表的圖。圖4是表示對一例計數(shù)編碼進行說明的表的圖。圖5是說明圖3和圖4所示的各編碼的使用例的圖。圖6是打印機驅動器4所進行的主處理的流程圖。圖7是表示步驟S4中的處理細節(jié)的流程圖。圖8是表示步驟S10中的處理細節(jié)的流程圖。圖9A和圖9B是表示步驟S11中的處理細節(jié)的流程圖。圖IO是表示一例打印數(shù)據(jù)的圖。圖ll是表示構成圖10的打印數(shù)據(jù)的各圖案的圖。圖12是表示解碼電路13的詳細的構成的框圖。圖13是表示編碼前或者解碼后的圖像數(shù)據(jù)的構成的圖。圖14是說明圖13所示的圖像數(shù)據(jù)是如何保存在行緩沖器31的各個地址上的圖。圖15是說明圖13所示的圖像數(shù)據(jù)在什么樣的定時被處理的圖。 圖16是表示控制電路15所執(zhí)行的打印控制處理步驟的流程圖。 圖17是表示本發(fā)明的實施形式中圖像處理裝置的基本構成的圖。 圖18是表示位圖管理表的構成例的圖。圖19是表示本發(fā)明第3實施形式中的打印機1711的基本構成的 框圖。圖20是表示對一例本發(fā)明第3實施形式中的打印機驅動器4所 生成的編碼數(shù)據(jù)中所包含的各編碼進行說明的表的圖。圖21是表示對一例接續(xù)在COPY UP命令、COPY LEFT命令后 的、表示長度的編碼(<字節(jié)數(shù)>)進行說明的表的圖。圖22是說明圖像數(shù)據(jù)、和利用RAW命令以及CACHE命令將此 圖像數(shù)據(jù)保存到高速緩沖存儲器的方法的圖。圖23是說明圖像數(shù)據(jù)、和通過COPY UP命令以及COPY LEFT 命令對此圖像數(shù)據(jù)進行編碼的方法的圖。圖24是本發(fā)明第3實施形式中的打印機驅動器4所進行的主處 理的流程圖。圖25A和圖25B是表示步驟S5011中編碼處理細節(jié)的流程圖。 圖26是表示解碼電路5013的基本構成的框圖。 圖27是表示高速緩沖存儲器5036的詳細的構成的框圖。 圖28是表示本發(fā)明第5實施形式中的打印機1711的基本構成的 框圖。圖29是表示本發(fā)明第5實施形式中的打印機驅動器4的處理步 驟的流程圖。圖30A和圖30B是表示圖29的步驟S6011的編碼步驟細節(jié)的流 程圖。圖31是表示圖28所示的解碼電路6013的細節(jié)的框圖。 圖32是表示一例本發(fā)明第6實施形式中的打印機驅動器4所生 成的編碼表的圖。圖33A是表示編碼對象的圖像數(shù)據(jù)的圖。 圖33B是表示編碼對象的圖像數(shù)據(jù)的圖。圖34A和圖34B是在步驟S5011中的本實施形式的編碼處理的 流程圖。圖35是表示圖19所示的解碼電路513在本發(fā)明第6實施形式中 的基本構成的框圖。
具體實施方式
現(xiàn)在參照附圖對本發(fā)明的優(yōu)選實施形式進行詳細說明。 [第1實施形式]在圖17中說明本實施形式的圖像處理裝置的基本構成。在本實施形式中,作為圖像處理裝置使用 一般的個人計算機和/或工作站。1701是CPU,在使用保存在RAM1702和/或ROM1703中的程序 和/或數(shù)據(jù)來進行本裝置整體的控制的同時,也進行后面說明的圖像壓 縮處理。1702是RAM,在備有暫時存儲從外部存儲裝置1704和/或 存儲介質驅動器1709所裝入的程序和/或數(shù)據(jù)的存儲區(qū)的同時,還備 有在CPU1701執(zhí)行各種處理的時候所使用的工作區(qū)。1703是ROM, 保存本裝置整體的控制程序(例如引導程序)和/或控制數(shù)據(jù)(例如本 裝置的設定數(shù)據(jù))。1704是硬盤等的外部存儲裝置,保持從存儲介質 驅動器1709所安裝的程序和/或數(shù)據(jù)等。另外,在RAM1702內不能 設置上述工作區(qū)的大小的情況下,也可以作為文件來提供不足部分。 1705、 1706分別是鍵盤和鼠標,分別作為定點設備來使用,能夠向本 裝置輸入各種指示。1707是顯示裝置,由CRT和/或液晶畫面等構成, 能夠顯示圖像和/或字符等。1708是圖像輸入裝置,由數(shù)碼相機和/或 掃描器等構成,能夠通過攝影和/或掃描等的操作將圖像作為數(shù)字數(shù)據(jù) 輸入到RAM1702和/或外部存儲裝置1704。1709是存儲介質驅動器,從CD-ROM和/或DVD-ROM等的存儲 介質讀入程序和/或數(shù)據(jù)等,將所讀入的程序和/或數(shù)據(jù)輸出到 RAM1702和/或外部存儲裝置1704等。1710是I/F (接口 ),經(jīng)由因 特網(wǎng)和/或LAN等從外部的設備接收壓縮處理對象的圖像,或者反之 對外部的設備發(fā)送壓縮了的圖像等,作為與外部的設備之間進行數(shù)據(jù) 的發(fā)送接收時的1/F來工作。1711是打印機,作為擴展已壓縮圖像并 向紙張等的記錄介質進行打印的圖像擴展裝置來工作。1712是連接上 述各部件的總線。圖1是表示在打印圖像時所使用的軟件群和打印機之間關系的概 念圖。在外部存儲裝置1704內儲存著操作系統(tǒng)2 (下面記為OS)、 應用程序3、打印機驅動器4以及端口驅動器5。OS2管理圖1所示的各部件(打印機1711除外),以及應用程 序3、打印機驅動器4和端口驅動器5等的軟件。應用程序3是,例 如文字處理軟件那樣的應用軟件,按照由操作者使用鍵盤1705和/或鼠標1706所指示的內容進行文檔的生成*打印等。4是打印機驅動器, 經(jīng)由0S2接收應用程序3所發(fā)出的打印指令,并將該打印指令變換成 打印機1711能夠解釋的打印機命令。5是端口驅動器,經(jīng)由OS2接 收打印機驅動器4所變換的打印機命令,并經(jīng)由未圖示的并行端口發(fā) 送到打印機1711。然后打印機1711,按照從端口驅動器5接收到的 打印機命令進行打印。圖2是表示打印機1711的基本構成的框圖。圖中,ll是并行端 口,接收從端口驅動器5輸出的打印機命令。12是FIFO (先入先出) 存儲器,存儲包含在并行端口 11接收到的打印機命令中的編碼數(shù)據(jù) (詳見后面說明),將所存儲的數(shù)據(jù)按照先入先出的順序輸出到解碼 電路13。解碼電路13,對FIFO存儲器12中所存儲的碼序列數(shù)據(jù)進 行解碼,并將已復原的圖像數(shù)據(jù)輸出到移位寄存器16。打印機引擎 14是激光打印機引擎,根據(jù)控制電路15的指示,按照解碼電路13 所輸出的圖像數(shù)據(jù)進行打印。15是控制電路,例如由單片CPU構成, 進行并行端口 11、 FIFO存4諸器12、解碼電路13以及打印機引擎14 的控制。16是移位寄存器,將解碼電路13解碼了的字節(jié)數(shù)據(jù)分割成 多個象素,按每個象素依次輸出到打印機引擎14。下面,就進行打印時,圖1、 2所示的各部件的動作進行說明。操作者使用鍵盤1105和/或鼠標1106來操作應用程序3生成打印 數(shù)據(jù),而且,當輸入對所生成的打印數(shù)據(jù)進行打印的指示后,打印指 令經(jīng)由OS2從應用程序3傳給打印機驅動器4。打印機驅動器4基于 從應用程序3所發(fā)出的打印指令,生成將成為打印對象的圖像數(shù)據(jù), 接著對此圖像數(shù)據(jù)使用抖動矩陣進行抖動處理,并進行2值化處理。 此外,這時打印機驅動器4基于后面說明的編碼步驟,從施加了2值 化處理的圖像數(shù)據(jù)生成編碼數(shù)據(jù),同時輸出用紙尺寸、指定圖像數(shù)據(jù) (位圖數(shù)據(jù))的行的長度和行數(shù)等的打印控制命令、指定壓縮參數(shù)的 壓縮參數(shù)命令、表示頁結束的頁結束命令。端口驅動器5將打印機驅 動器4所生成的一系列命令群和上述編碼數(shù)據(jù)發(fā)送到打印機1711??刂齐娐?5經(jīng)由并行端口 ll接收打印機命令。在接收到的打印機命令中,打印控制命令、壓縮參數(shù)指定命令,為了打印控制被保持 在控制電路15的內部。另外,在接收到的打印機命令中,編碼數(shù)據(jù)被保存到FIFO存儲器12。此后,當控制電路15通過頁結束命令的 接收等,檢測出構成1頁的打印機命令的接收已完成時,向打印機引 擎14指示打印開始。當指示了打印開始后,打印機引擎14向移位寄 存器16要求圖像數(shù)據(jù)的輸出。移位寄存器16預先從解碼電路13讀 出解碼數(shù)據(jù),并保存所讀出的解碼數(shù)據(jù)。然后,當接受來自打印機引 擎14的輸出要求后,將保存好的解碼數(shù)據(jù)輸出到打印機引擎14,同 時當移位寄存器16內有空的緩沖區(qū)時,向解碼電路13要求后續(xù)的解 碼數(shù)據(jù)的輸出。這樣編碼數(shù)據(jù)依次進行解碼并作為圖像數(shù)據(jù)(解碼數(shù) 據(jù))被輸出,當1頁的圖像數(shù)據(jù)的輸出全部結束后,打印完成。這里, 當背景圖案的圖像輸出指令從應用程序3被發(fā)出后,打印機驅動器4 以后面說明的步驟檢測出此指令,求得背景圖案的周期。另外在打印 機驅動器4檢測出背景圖案的情況下,當對圖像數(shù)據(jù)進行編碼時,按 照后面說明的步驟利用背景圖案的周期進行編碼。接著,參照圖3和圖4所示的表,就圖1所示的打印機驅動器4 生成的編碼進行說明。圖3是對一例包含在圖1所示的打印機驅動器4所生成的編碼數(shù) 據(jù)中的各編碼進行說明的表。在本實施形式中進行說明的編碼指定為 以下4種操作中的一個復制預定行上方的行的數(shù)據(jù)序列的上復制, 復制相同行的預定字節(jié)左側的數(shù)據(jù)序列的近左復制,復制相同行的預 定字節(jié)左側的數(shù)據(jù)序列的遠左復制,以及直接指定數(shù)據(jù)的原始數(shù)據(jù)。 此外,上復制和近左復制所參照的預定位置是依照上述抖動矩陣的周 期的值,遠左復制所參照的預定位置是依照背景圖案的周期的值。如圖3所示,代碼(命令碼)以"0"開始的情況是RAW命令, 將后續(xù)的8位數(shù)據(jù)(<data8〉)原封不動地作為原始數(shù)據(jù)進行指定。 代碼以"10"開始的情況是COPY UP命令,僅進行后續(xù)的計數(shù)編碼 (<count> )所示的字節(jié)數(shù)的上復制。代碼以"110"開始的情況是COPY NEARLEFT命令,僅進行后續(xù)的計lt編碼(<count>)所示的字節(jié)數(shù)的近左復制。代碼以"1110"開始的情況是COPY FAR LEFT命令, 僅進行后續(xù)的計數(shù)編碼(<count>)所示的字節(jié)數(shù)的遠左復制。代碼 以"11110"開始的情況是COUNT HIGH命令,表示將后續(xù)的計數(shù)編 碼(〈count〉)所示的數(shù)的64倍,相加到后續(xù)的COPY UP、或者COPY NEAR LEFT、或者COPY FAR LEFT命令中的任何一個命令碼中的情 況。代碼以"11111"開始的情況是EOB命令,表示碼序列的結束。圖4是表示對一例計數(shù)編碼進行說明的表的圖。如該圖所示,命 令碼的位是"111111"的情況表示COUNT0編碼,其表示計數(shù)為0 的情況。命令碼的位以"0"開始的情況表示COUNT1編碼,其表示 計數(shù)為1的情況。命令碼的位以"10"開始的情況表示COUNT2-3 編碼,后續(xù)1位的數(shù)據(jù)(<datal〉)為0的情況,作為命令碼就成為 "010",作為含義就意味著2字節(jié)。另一方面,后續(xù)1位的數(shù)據(jù) (<datal>)為l的情況,作為命令碼就成為"011",作為含義就意 味著3字節(jié)。也就是,命令碼的位序以"01"開始的情況,就是意味 著2字節(jié)或者3字節(jié)的長度。另外,命令碼的位以"110"開始的情況,表示COUNT4-7編碼, 由于成為后續(xù)有2位的數(shù)據(jù),就意味從4字節(jié)到7字節(jié)的長度,命令 碼的位以"1110"開始的情況,表示COUNT8-15編碼,由于成為后 續(xù)有2位的數(shù)據(jù),就意味從8字節(jié)到15字節(jié)的長度,命令碼的位以 "11110"開始的情況,表示COUNT16-31編碼,由于成為后續(xù)有2 位的數(shù)據(jù),就意味從16字節(jié)到31字節(jié)的長度,命令碼的位以"111110" 開始的情況,表示COUNT32-63編碼,由于成為后續(xù)有2位的數(shù)據(jù), 就意味從32字節(jié)到63字節(jié)的長度。接著參照圖5,就圖3和圖4所示的編碼的使用例進行說明。此 外,該圖所示的碼序列是從上開始按記載的順序來進行解釋的。在該圖中,碼序列"0 00000000"如下來進行解釋。也就是,由 于開頭的"0"是RAW命令,將后續(xù)的8位數(shù)據(jù)"00000000"原封不 動地作為原始數(shù)據(jù)進行指定。接著,碼序列"110 0"如下來進行解釋。 開頭的"110"是近左復制命令,由于后續(xù)的"0"是COUNTl編碼,說 故表示i字節(jié)的近左復制。接著,碼序列"io io r如下來進行解釋。也就是,開頭的"10"是上復制命令,由于后續(xù)的"10"是COUNT2-3編碼,故表示將2相加到后續(xù)的i位"r上的值,即3字節(jié)的上復 制。接著,碼序列"iiiio io r如下來進行解釋。也就是,"iiiio"是COUNTHIGH命令,由于后續(xù)的"10"是COUNT2-3編碼,故表 示將2相加到后續(xù)的l位"0"上的值的64倍,即將128相加到后續(xù) 的命令的計數(shù)上。接著,碼序列"1110 111111"如下來進行解釋。也就是,"1110" 是遠左復制命令,由于后續(xù)的"111111"是COUNT0編碼,故表示0 字節(jié)的遠左復制。但是,在此情況下,因為COUNT HIGH 2命令在 前,故相加128,表示128字節(jié)的遠左復制。接著,"11111"是EOB 命令,表示碼序列的結束。后續(xù)的"0000000"是用于對齊字節(jié)邊界 的填充編碼,沒有特別的含義。此外,在編碼成上述的編碼(圖像數(shù) 據(jù)命令)時,在上復制位置、近左復制位置以及遠左復制位置的選定 時,為了提高壓縮率需要注意以下情況。例如,在將8位的灰度級原圖像減色成1位的2值圖像或者4位 以下的灰度級圖像的情況下, 一般是使用抖動矩陣對各矩陣內的每個 象素使用不同的閥值進行運算處理來減色的。這種情況下,由于鄰接 的象素利用不同的閥值進行運算,又因為即使原圖像的象素值相同, 減色后的象素值成為不同值的情況多,相關性低,所以即使參照鄰接 的象素提高壓縮率也是困難的。因為抖動矩陣是周期性地進行應用的,又因為不是應用與鄰接象 素相同的閥值,而是與稍微間隔的象素,通常是僅間隔抖動矩陣周期 的象素相同的閥值,所以與這樣的象素間的相關性就高。因此,通過 取代鄰接象素來參照符合抖動矩陣的周期的稍微間隔的象素,就能夠 提高壓縮率。關于上位置,雖然能夠原封不動地應用與抖動矩陣的周期相等行 數(shù)。但關于近左位置和遠左位置,由于編碼的單位是字節(jié)單位,在圖 像不滿8位的情況下,有必要更加注意。例如,在象素是1位,抖動矩陣的基本周期是12象素的情況下,就成為1.5字節(jié)的周期,由于編碼的單位是i字節(jié),以字節(jié)單位應用相同閥值的周期就成為3字節(jié),就需要將此周期應用于近左位置。關于遠左位置也同樣,例如,在象素是1位,背景圖案的周期是1024象素即128字節(jié),抖動矩陣的基 本周期是12象素的情況下,由于在背景圖案的相差1周期的位置上 應用不同的閥值,故相關性低,提高壓縮率就困難。在這種情況下, 就需要將作為128字節(jié)與3字節(jié)的最小公倍數(shù)384字節(jié)的間隔位置設 為遠左位置。接著,參照圖6所示的流程圖,對打印機驅動器4的處理細節(jié)進 行說明。圖6是打印機驅動器4所進行的主處理的流程圖。當從操作 系統(tǒng)2調用打印機驅動器4后,首先在步驟Sl判斷調用的種類是否 是繪圖指令。在調用的種類是繪圖指令的情況下,使處理進入步驟 S2進行繪圖處理。作為繪圖處理具體就是,將經(jīng)由操作系統(tǒng)2從應 用程序3所指示的字符、圖形或者位圖等變換成8位灰度級圖像,并 記錄到RAM1702或者外部存儲裝置1704。接著,在步驟S3判斷調用的種類是否是位圖繪制指令。在調用 的種類不是位圖繪制指令的情況下結束處理。另一方面,在調用的種 類是位圖繪制指令的情況下,在步驟S4進行后面說明的背景圖案周 期的檢測處理,結束處理。另一方面,在步驟Sl中調用的種類不是繪圖指令的情況下,處 理進入步驟S7,判斷調用的種類是不是頁結束指令。在調用的種類 是頁結束指令的情況下,使處理進入步驟S8,進行2值化處理。具 體就是使用抖動矩陣將在步驟2記錄到RAM1702或者外部存儲裝置 1704的8位灰度級的圖像變換成黑白1位的圖像。接著,在步驟S9輸出打印控制命令,具體就是指定用紙尺寸、 供紙盒、分辨率、灰階數(shù)、1行的字節(jié)數(shù)、1頁的行數(shù)等打印所需要 的條件的命令。接著,在步驟S10輸出編碼時所使用的,指定以下參 數(shù)的壓縮參數(shù)指定命令指定上復制時復制源是哪一行上方的位置的 上復制垂直偏移值、指定近左復制時復制源是相同行的哪一字節(jié)左側的位置的近左復制水平偏移值、以及指定遠左復制時復制源是相同行 的哪 一 字節(jié)左側的位置的遠左復制水平偏移值。這里,上復制垂直偏移值和近左復制水平偏移值,依照步驟S8 中所使用的抖動矩陣,預先通過理論或者試驗求出最優(yōu)值,并使用此 值。另外,遠左復制水平偏移值,使用符合步驟S4中所求出的背景 圖案的周期值。接著,在步驟Sll按照后面說明的編碼步驟對圖像數(shù)據(jù)進行編 碼。此時,使用在步驟S10輸出的壓縮參數(shù)指定命令所指定的上復制垂直偏移值、近左復制水平偏移值以及遠左復制水平偏移值進行編碼。接著在步驟S12輸出對在步驟Sll中所編碼的圖像數(shù)據(jù)的大小和 行數(shù)進行指定的圖像數(shù)據(jù)命令首標。接著在步驟S13輸出在步驟Sll 中所編碼的圖像數(shù)據(jù)。接著在步驟S15輸出指定頁結束的命令(頁結 束命令)并結束處理。另一方面,在步驟S7中調用的種類不是頁結束指令的情況下, 處理進入步驟S16,進行符合調用的種類的其他處理,例如與頁開始 指令或者打印能力詢問指令等相對應的處理,然后結束。接著,參照圖7就上述步驟S4中的處理細節(jié)進行如下說明。圖 7是表示上述步驟S4中的背景圖案的周期檢測處理的細節(jié)的流程圖。當接受到位圖繪制命令后,首先在步驟S21判斷此位圖(下面記 為第l位圖)的寬度是否是256象素以上。在該位圖的寬度不是256 象素以上的情況下結束處理。這里,背景圖案一般都具有,例如1024 象素那樣的較大的寬度和高度,另外,由于將較小的寬度或者高度 的位圖作為對象進行處理時,管理位圖的表(下面記為位圖管理表) 的大小將變大,另外檢索位圖管理表的處理時間也變長,所以在較小 的寬度或者高度的位圖的情況下,就不進行背景圖案周期的檢測處 理。這里位圖管理表是對包含在1頁內的位圖進行管理的預先確定了 固定大小的表,在本實施形式中,僅對滿足后面說明的條件的位圖, 保存與此位圖相關的信息。具體就是如圖18示例那樣,管理位圖的 左上角的X坐標、Y坐標、寬度以及高度。另外,每當開始各頁的處理位圖管理表就被初始化為空?;氐綀D7,在位圖的寬度為256象素以上的情況下,處理進入步 驟S22,判斷位圖的高度是否是256象素以上。在位圖高度不是256 象素以上的情況下結束處理。在位圖高度是256象素以上的情況下,處理進入步驟S23,判斷 位圖管理表的檢索是否已結束。在沒有結束的情況下處理進入步驟 S24,參照位圖管理表中保存的位圖的左上角的Y坐標、高度,檢索 與第l位圖的左上角的Y坐標、高度一致者。然后,在不一致的情況 下返回步驟S23,進行檢索直到上述檢索的對象到達位圖管理表的末 尾。另一方面,在找到一致者(第2位圖的左上角的Y坐標、高度) 的情況下,處理進入步驟S25,判斷第1位圖是否鄰接在第2位圖的 右側。具體就是參照位圖管理表,如果第2位圖的左上角的X坐標十 第2位圖的寬度=第1位圖的左上角的X坐標的話,第l位圖就鄰接 在第2位圖的右側。在鄰接在右側的情況下,處理進入步驟S27。另一方面,在不鄰接在右側的情況下,處理進入步驟S26,判斷 第l位圖是否鄰接在第2位圖的左側。具體就是,如果第2位圖的左 上角的乂坐標=第l位圖的左上角的X坐標+第l位圖的寬度的話, 第1位圖就鄰接在第2位圖的左側。在鄰接在左側的情況下,處理進 入步驟S27,在不鄰接在左側的情況下處理返回步驟S23。在步驟S27中,對第1位圖的寬度和通過后面說明的處理所求出 的背景周期進行比較。此外,每當開始各頁的處理背景周期就被初始 化為0。在背景周期比第1位圖的寬度大的情況下,處理進入步驟S29。 另一方面,在背景周期是第1位圖的寬度以下的情況下,處理進入步 驟S28,在步驟S28將第l位圖的寬度代入背景周期,處理進入步驟 S29。在步驟S29中,對第2位圖的寬度和背景周期進行比較。在背景 周期比第2位圖的寬度大的情況下,處理進入步驟S31。另一方面, 在背景周期是表中當前位圖的寬度以下的情況下,處理進入步驟S30, 在步驟S30將第2位圖的寬度代入背景周期,處理進入步驟S31。這樣,迄今為止的背景周期以及左右鄰接的兩個位圖的寬度中的最大的 值就被重新代入背景周期。由于通過在用紙的左端或者右端對背景位 圖背景進行修剪,就有成為比周期還要小的寬度的情況,使用最大的 值的理由,就是為了消除此影響。在步驟S31中,判斷位圖管理表是否已滿。在位圖管理表已滿的情況下,由于沒有重新保存(登錄)相關位圖的信息的空間,不作任 何處理就結束處理。另一方面,在位圖管理表沒有滿的情況下,將第1位圖的左上角的X坐標、左上角的Y坐標、寬度以及高度保存到位 圖管理表并結束處理。當這樣結束l頁的處理后,在此頁內鄰接位圖的寬度的最大值就 保存到背景周期中。另外,在鄰接位圖不存在此頁內的情況下,就將 0保存到背景周期中。接著,參照圖8,就圖6的步驟SIO中的處理細節(jié)進行如下說明。 圖8是表示步驟S10中的處理細節(jié)的流程圖。首先在步驟S41判斷上 述步驟S4中所求出的背景周期是否為0。在背景周期不是0的情況 下,即檢測出背景圖案的周期的情況下,處理進入步驟S42,求得背 景周期和1字節(jié)的象素數(shù)的最小公倍數(shù)。例如,在背景周期是1024 象素,1象素由l位構成的情況下(l字節(jié)的象素數(shù)是8),該最小公 倍數(shù)就是1024。另外,在背景周期是511象素,l象素由4位構成的 情況下(l字節(jié)的象素數(shù)是2),該最小公倍數(shù)就是1022。由于編碼 的單位是l字節(jié),故此處理是為了將象素單位的周期變換成字節(jié)單位 的周期而進行的。接著在步驟S43,將在步驟S42中所求出的最小公倍數(shù)變換成字 節(jié)單位。具體就是用1字節(jié)的象素數(shù)除以最小公倍數(shù)。接著在步驟 S44求得在步驟S43中所求出的字節(jié)單位的背景周期和抖動周期的最 小公倍數(shù)。例如,在背景周期是128字節(jié)抖動周期是2字節(jié)的情況下, 就是128字節(jié)。另外,在背景周期是511字節(jié),抖動周期3字節(jié)的情 況下,就是1533。由于在背景周期不是抖動周期的整數(shù)倍的情況下, 通過在僅間隔背景周期的點中施加不同的抖動處理,就成為不同的象素值,故此處理是為了參照進行相同抖動處理的點而進行的。接著在步驟S45,判斷在步驟S44中所求出的最小公倍數(shù)是否不 滿行長的90%。在不滿行長的90%的情況下,處理進入步驟S47, 將符合上述步驟S8的2值處理中所使用的抖動矩陣的上復制和近左 復制的位置,以及在步驟S44所求出的最小公倍數(shù)(遠左復制位置) 作為指定壓縮參數(shù)的命令(壓縮參數(shù)指定命令)進行輸出,結束處理。另一方面,在步驟S41中背景周期為0的情況下,以及步驟45、 步驟44中所求出的最小公倍數(shù)是行長的90%以上的情況下,處理進 入步驟S46,將背景周期設定為缺省值。由于這些情況是不能檢測出 背景周期或者背景周期過大沒有對壓縮率提高給予大的貢獻的情況, 故取而代之設定為缺省值。缺省值被預先確定成與近左復制的位置不 同。例如,在抖動周期為16象素,1字節(jié)的象素數(shù)是8的情況下,近 左復制的位置就是2字節(jié)的左側。在此情況下將背景周期的缺省值確 定為l字節(jié)。如前所述, 一般來說與僅間隔抖動周期的點之間的相關 性高,但在打印數(shù)據(jù)是象通常的文本或者表那樣,以黑白2值來顯示 的情況下,就成了與不進行抖動處理的情況相同的結果。另外,由于 與和抖動周期沒有關系地進行鄰接的點之間的相關性高,故在相關情 況下,間隔1字節(jié)位置也比間隔2字節(jié)位置相關性高,可以對壓縮率 的提高作出貢獻。接著在步驟S47,將與上述步驟S8的2值處理中所使用的抖動 矩陣的相符合的上復制和近左復制的位置,以及在步驟S46所設定的 缺省的背景周期(遠左復制位置)作為指定壓縮參數(shù)的命令(壓縮參 數(shù)指定命令)進行輸出,結束處理。接著參照圖9A和圖9B,就圖6的步驟S11中的編碼處理的細節(jié) 進行說明。圖9A和圖9B是表示步驟S11中的處理細節(jié)的流程圖。首先在步驟S51將行編號Y初始化為0。接著在步驟S52將從行 開頭的字節(jié)偏移X初始化為0。接著在步驟S53,判斷上位置是否在有效的圖像區(qū)域中。具體就 是判斷在圖8的步驟S47中所輸出的表示上復制位置的行數(shù)(下面用Z來表示)是否也大于行編號Y。由于表示上復制位置的行數(shù)Z為行編號Y以下的情況,就是上位置在有效的圖像區(qū)域中(存在于編碼對 象的位圖內的區(qū)域)的情況,故在步驟S54,求得從當前位置(X、 Y) 開始的字節(jié)序列和從上位置(X、 Y-Z)開始的字節(jié)序列連續(xù)相一致 的長度。此外這時,在直到行末都連續(xù)相一致的情況下,設為在行末 進行中止。另外,在連續(xù)相一致的長度,超過作為計數(shù)編碼的最大值 的4095字節(jié)的情況下,設為在4095字節(jié)進行中止。接著在步驟S55,判斷步驟S54中所求出的長度是否為0。在步 驟S54中所求出的長度不為O的情況下,處理進入步驟S56,判斷步 驟S54中所求出的長度(計數(shù))是否比63大。在步驟S54中所求出 的長度比63大的情況下,處理進入步驟S57,將COUNTHIGH命令 輸出到RAM1702或者外部存儲裝置1704,接著在步驟S58,將用64 除以在步驟S54所求出的長度算出的商(計數(shù)的高位)輸出到 RAM1702或者外部存儲裝置1704,處理進入步驟S59。另一方面, 在步驟S56中,當在步驟S54所求出的長度是63以下的情況下,處 理進入步驟S59。接著,在步驟S59將COUNT UP命令輸出到RAM1702或者外部 存儲裝置1704,接著在步驟S60,將用64除以在步驟S54所求出的 長度算出的余數(shù)(計數(shù)的低位)輸出到RAM1702或者外部存儲裝置 1704。另一方面,在步驟S53中表示上復制位置的行數(shù)Z比行編號Y 大的情況下,以及當在步驟S55所求出的長度為0的情況下,處理進 入步驟S62,判斷近左位置是否在有效的圖像區(qū)域中。具體就是判斷 上述步驟S47中所輸出的表示近左復制位置的字節(jié)數(shù)(下面用W來 表示)是否比從行開頭的字節(jié)偏移X大。由于表示近左復制位置的字 節(jié)數(shù)W為從行開頭的字節(jié)偏移X以下的情況,就是近左位置在有效 的圖像區(qū)域中的情況,故處理進入步驟S63,求得從當前位置(X、 Y) 開始的字節(jié)序列和從近左位置(X-W、 Y)開始的字節(jié)序列連續(xù)相 一致的長度(計數(shù))。此外這時,在直到行末都連續(xù)相一致的情況下,設為在行末進行中止。另外,在連續(xù)相一致的長度,超過作為計數(shù)編碼的最大值的4095字節(jié)的情況下,設為在4095字節(jié)進行中止。接著在步驟S64,判斷步驟S63中所求出的長度是否為0。在步 驟S63中所求出的長度不為0的情況下,處理進入步驟S65,判斷步 驟S63中所求出的長度(計數(shù))是否比63大。在步驟S63中所求出 的長度比63大的情況下,處理進入步驟S66,將COUNTHIGH命令 輸出到RAM1702或者外部存儲裝置1704,接著在步驟S67,將計數(shù) 的高位,即用64除以在步驟S63所求出的長度算出的商輸出到 RAM1702或者外部存儲裝置1704,處理進入步驟S68。另一方面, 在步驟S65中,當在步驟S63所求出的長度是63以下的情況下,處 理進入步驟S68。接著,在步驟S68將COUNT NEAR LEFT命令輸出到RAMI702 或者外部存儲裝置1704,接著在步驟S60,將計數(shù)的低位,即用64 除以在步驟S63所求出的長度算出的余數(shù)輸出到RAM1702或者外部 存儲裝置1704。另一方面,在步驟S62中表示近左復制位置的字節(jié)數(shù)W比從行 開頭的字節(jié)偏移X大的情況下,以及當在步驟S64所求出的長度為0 的情況下,處理進入步驟S69,判斷遠左位置是否在有效的圖像區(qū)域 中。具體就是判斷圖8的步驟S47中所輸出的表示遠左復制位置的字 節(jié)數(shù)(下面用R來表示)是否比從行開頭的字節(jié)偏移X大。由于表 示遠左復制位置的字節(jié)數(shù)R為從行開頭的字節(jié)偏移X以下的情況, 就是遠左位置在有效的圖像區(qū)域中的情況,故處理進入步驟S70,求 得從當前位置(X、 Y)開始的字節(jié)序列和從遠左位置(X-R、 Y) 開始的字節(jié)序列連續(xù)相一致的長度(計數(shù))。此外這時,在直到行末 都連續(xù)相一致的情況下,設為在行末進行中止。另外,在連續(xù)相一致 的長度,超過作為計數(shù)編碼的最大值的4095字節(jié)的情況下,設為在 4095字節(jié)進行中止。接著在步驟S71,判斷步驟S70中所求出的長度 是否為O。在步驟S70中所求出的長度不為O的情況下,處理進入步 驟S72,判斷步驟S70中所求出的長度是否比63大。在步驟S70中所求出的長度比63大的情況下,處理進入步驟S73,將COUNT HIGH 命令輸出到RAM1702或者外部存儲裝置1704,接著在步驟S74,將 計數(shù)的高位,即用64除以在步驟S70所求出的長度算出的商輸出到 RAM1702或者外部存儲裝置1704,處理進入步驟S75。另一方面, 在步驟S72中,當在步驟S70所求出的長度是63以下的情況下,處 理進入步驟S75。在步驟S75中,將COUNT FAR LEFT命令輸出到RAMI 702或 者外部存儲裝置1704,接著在步驟S60,將計數(shù)的低位,即用64除 以在步驟S70所求出的長度算出的余數(shù)輸出到RAM 1702或者外部存 儲裝置1704。另一方面,在步驟S69中表示遠左復制位置的字節(jié)數(shù)R比從行開 頭的字節(jié)偏移X大的情況下,以及當在步驟S71所求出的長度為0 的情況下,處理進入步驟S76,將RAW命令輸出到RAM1702或者 外部存儲裝置1704,接著將當前位置(X、 Y)的數(shù)據(jù)(1字節(jié)部分) 作為原始數(shù)據(jù)輸出到RAM1702或者外部存儲裝置1704。當上述的處理結束后,處理進入步驟S78,將已處理的字節(jié)相加 到X。接著在步驟S79,判斷X是否到達行末,即判斷X是否等于1 行的字節(jié)數(shù)。在X比l行的字節(jié)數(shù)小的情況下,處理返回步驟S53, 繼續(xù)進行處理。另一方面,在X等于1行的字節(jié)數(shù)的情況下,處理進 入步驟S80,將1相加到行編號Y,在步驟S81判斷圖像的處理是否 結束,即判斷Y是否和圖像的行數(shù)相等。在Y比圖像的行數(shù)小的情 況下,處理返回S52,繼續(xù)進行處理。另一方面,在Y等于圖像的行 數(shù)的情況下,處理進入步驟S82,將EOB命令輸出到RAMI702或者 外部存儲裝置1704,接著在步驟S83,僅將為了對齊字節(jié)邊界所需的 數(shù)目(例如通過上述的編碼處理以使輸出到RAM1702、或者外部存 儲裝置1704的位序的長度成為8的倍數(shù))的位"0"輸出到緩沖器, 結束處理。接著,參照圖12,就圖2所示的解碼電路13的構成詳細進行說 明。圖12是表示解碼電路13的詳細的構成的框圖。在該圖中,輸入緩沖器21,保存從FIFO存儲器12讀出的編碼 數(shù)據(jù)。輸入緩沖器21,至少能夠保持4字節(jié)的數(shù)據(jù),在緩沖器中產(chǎn)生 空閑,且FIFO存儲器12中有數(shù)據(jù)的情況下,從FIFO存儲器12讀 出數(shù)據(jù)并進行保存。另外,當保持在位計數(shù)器23中的處理完的位數(shù) 成為8位以上的情況下,輸入緩沖器21刪除不需要的處理完的數(shù)據(jù)。選擇器22是例如11組的8輸入選擇器,通過根據(jù)位計數(shù)器23 所表示的處理完的位數(shù)對保存在輸入緩沖器21中的編碼數(shù)據(jù)進行選 擇,進行命令解碼電路24處理所需要的、命令的開始位置的對齊。 由于相對于輸入緩沖器21以字節(jié)單位來保持數(shù)據(jù),命令是位單位的 可變長度數(shù)據(jù),所以為了有8處的開始位置這一點是必要的。位計數(shù)器23,保存輸入緩沖器21所保存的編碼數(shù)據(jù)中的處理完 的位數(shù)。另外,位計數(shù)器23通過加上從命令解碼電路24所輸出的命 令的位數(shù),來更新位計數(shù)器中所保存的值。另外,位計數(shù)器23在輸 入緩沖器刪除了處理完的數(shù)據(jù)的情況下,減去已刪除的位數(shù)。另外, 在命令解碼電路24對EOB命令進行解碼時,位計數(shù)器23從命令解 碼電路24接收EOB信號,進行字節(jié)邊界對齊的處理。具體就是,如 果位計數(shù)器的低位3位全部是0就什么也不作,如果不是這樣就在加 上8的同時清除低位3位。命令解碼電路24由例如只讀存儲器或者布線邏輯(wired logic) 構成。對由選擇器22進行了位置對齊、并保存在輸入緩沖器21中的 編碼數(shù)據(jù)進行解碼,根據(jù)已解碼的命令將前面說明的或者后面說明的 各種信號輸出到計數(shù)器26、上復制輸出電路27、遠左復制輸出電路 28、近左復制輸出電路29、原始數(shù)據(jù)輸出電路30以及位計數(shù)器23。行長寄存器25保持控制電路15預先輸出的、1行的字節(jié)數(shù)。計數(shù)器26保持COPY UP、 COPY NEAR LEFT、或者COPY FAR LEFT命令的處理字節(jié)數(shù),每進行1字節(jié)的數(shù)據(jù)輸出就進行相減運算。 計數(shù)器26能夠獨立地設定高位6位和低位6位,在命令解碼電路24 解碼了 COUNT HIGH命令時,將命令解碼電路24所輸出的處理字節(jié) 數(shù)的相加值保存到計數(shù)器26的高位。另外,在命令解碼電路24解碼了 COPY UP、 COPY NEAR LEFT、或者COPY FAR LEFT命令時, 將命令解碼電路24所輸出的處理字節(jié)數(shù)保存到計數(shù)器26的低位。上復制輸出電路27,根據(jù)計數(shù)器26所保持的處理字節(jié)數(shù),讀取 并輸出行緩沖器31所輸出的上復制位置的數(shù)據(jù)。遠左復制輸出電路 28,根據(jù)計數(shù)器26所保持的處理字節(jié)數(shù),讀取并輸出行緩沖器31所 輸出的遠左復制位置的數(shù)據(jù)。近左復制輸出電路29,根據(jù)計數(shù)器26 所保持的處理字節(jié)數(shù),讀取并輸出可變級移位寄存器38所輸出的近 左復制位置的數(shù)據(jù)。原始數(shù)據(jù)輸出電路30,輸出命令解碼電路24所 輸出的1字節(jié)的原始數(shù)據(jù)。列計數(shù)器41保持行緩沖器31的當前的列地址,每向行緩沖器31 進行寫入就相加所寫入的數(shù)據(jù)的大小,由此求得計數(shù)值。然后在此計 數(shù)值達到行長寄存器25所保持的1行的字節(jié)數(shù)的情況下,復位成0。行緩沖器31保持多行的解碼數(shù)據(jù),根據(jù)減法電路40所輸出的地 址,進行解碼數(shù)據(jù)的輸入或者輸出。行計數(shù)器32保持行緩沖器31的當前的行地址,每當上述計數(shù)值 復位成0就進行計數(shù)增加,在計數(shù)的結果達到行數(shù)寄存器36所保持 的行數(shù)的情況下,復位成0。另外當行數(shù)被輸出到行數(shù)寄存器36時, 行計數(shù)器32復位成0。乘法電路33,通過計算行計數(shù)器32所保持的當前的行地址和行 長寄存器25所保持的l行的字節(jié)數(shù)的積,輸出行緩沖器31的當前的 4亍的開始地址。加法電路34,通過計算乘法電^各33所^T出的當前的 行的開始地址和列計數(shù)器41所保持的當前的列地址的和,輸出行緩 沖器31的當前的地址。背景周期寄存器39,保持控制電路15預先輸 出的、背景周期字節(jié)數(shù)。減法電路40,當由遠左復制輸出電路接收到指示遠左復制的讀取 的信號時,從加法電路34所輸出的當前的地址減去背景周期寄存器 39所保持的背景周期字節(jié)數(shù)并進行輸出,同時當由遠左復制輸出電路 沒有接收到指示遠左復制的讀取的信號時,原封不動地輸出加法電路 34所輸出的當前的地址。輸出緩沖器35,每當從上復制輸出電路27、遠左復制輸出電路 28、近左復制輸出電路29或者原始數(shù)據(jù)輸出電路30輸出解碼數(shù)據(jù), 就保存所輸出的解碼數(shù)據(jù)。另外,當從移位寄存器16要求圖像數(shù)據(jù) 的輸出時,輸出緩沖器35就輸出所保存的解碼數(shù)據(jù)。行數(shù)寄存器36,保持控制電路15預先輸出的、行數(shù)(上復制垂 直偏移值)。級數(shù)寄存器37,保持控制電路15預先輸出的、表示近左位置的 字節(jié)偏移值??勺兗壱莆患拇嫫?8,由移位寄存器和選擇器構成,構 成與級數(shù)寄存器37所保持的表示近左位置的字節(jié)偏移值相等的級數(shù) 的移位寄存器,輸出將所輸出的解碼數(shù)據(jù)延遲了比用級數(shù)寄存器37 保持的用表示近左位置的字節(jié)偏移值所指定的值僅小1的次數(shù)的數(shù) 據(jù)。當命令解碼電路24解碼COPYUP命令后,就解碼與它相連續(xù)的 計數(shù)并保存到計數(shù)器26的低位,同時將指示上復制的讀取的信號輸 出到上復制輸出電路27。在計數(shù)器26的高位中,當COUNT HIGH 命令沒有在先發(fā)出的情況下保存0 ,當其在先發(fā)出了的情況下保存表 示COUNT HIGH命令的高位計tL上復制輸出電路27,讀出在行緩 沖器31中保存在加法電路34、減法電路40輸出的地址(換言之就是 當前的位置)上的數(shù)據(jù),并輸出到行緩沖器31 (因為是覆蓋相同數(shù)據(jù), 也可以不進行此處理),同時輸出到輸出緩沖器35。另一方面,將所 讀出的解碼數(shù)據(jù)輸入到可變級移位寄存器38(下面從開頭起)。然后 已經(jīng)保持在可變級移位寄存器38中的數(shù)據(jù)一級一級地進行移位,從 可變級移位寄存器38的最終級,輸出與當前位置的下一位置相對應 的近左復制位置的1字節(jié)。接著,列計數(shù)器41進行計數(shù)增加,計數(shù) 器26進行計數(shù)減少。就這樣進行解碼數(shù)據(jù)的輸出直到計數(shù)器26達到 0。當命令解碼電路24解碼COPY FAR LEFT命令后,就解碼后續(xù) 的計數(shù)并保存到計數(shù)器26的低位,同時將指示遠左復制的信號輸出 到遠左復制輸出電路28。在計數(shù)器26的高位中,當COUNT HIGH命令沒有在先發(fā)出的情況下保存0 ,當其在先發(fā)出了的情況下保存表示COUNT HIGH命令的高位計數(shù)。這里,為了輸出指示遠左位置的 數(shù)據(jù)讀取的信號,遠左復制輸出電路讀取在行緩沖器31中保存在從 加法電路34的輸出(當前的地址)減去背景周期寄存器39所保持的 背景周期值的值,即遠左位置的地址上的解碼數(shù)據(jù),并寫入到行緩沖 器31的當前位置,同時也輸出到輸出緩沖器35。另外,將已讀出的 解碼數(shù)據(jù)輸入到可變級移位寄存器38。然后保持在可變級移位寄存器 38中的數(shù)據(jù)一級一級地進行移位,從可變級移位寄存器38的最終級, 輸出與當前位置的下一位置相對應的近左復制位置的l字節(jié)。接著, 列計數(shù)器41進行計數(shù)增加,計數(shù)器26進行計數(shù)減少。就這樣進行解 碼數(shù)據(jù)的輸出直到計數(shù)器26達到0。當命令解碼電路24解碼COPY NEAR LEFT命令后,就解碼后續(xù) 的計數(shù)并保存到計數(shù)器26的低位,同時將指示近左復制的信號輸出 到近左復制輸出電路29。在計數(shù)器26的高位中,當COUNT HIGH 命令沒有在先發(fā)出的情況下保存0 ,當其在先發(fā)出了的情況下保存表 示COUNT HIGH命令的高位計數(shù)。近左復制輸出電路,將可變級移 位寄存器38所輸出的近左復制位置的1字節(jié)的解碼數(shù)據(jù)輸出到輸出 緩沖器35,同時寫入到行緩沖器31的當前位置。另外,將已讀出的 1字節(jié)的解碼數(shù)據(jù)輸入到可變級移位寄存器38。保持在可變級移位寄 存器38中的數(shù)據(jù)一級一級地進行移位,從可變級移位寄存器38的最 終級,輸出與當前位置的下一位置相對應的近左復制位置的1字節(jié)。 接著,列計數(shù)器41進行計數(shù)增加,計數(shù)器26進行計數(shù)減少。就這樣 進行解碼數(shù)據(jù)的輸出直到計數(shù)器26達到0。當命令解碼電路24解碼RAW命令后,就將后續(xù)的1字節(jié)的原始 數(shù)據(jù)(解碼數(shù)據(jù))輸出到原始數(shù)據(jù)輸出電路30。原始數(shù)據(jù)輸出電路 30將此解碼數(shù)據(jù)輸出到輸出緩沖器35,同時寫入到行緩沖器31的當 前位置。另外,將此解碼數(shù)據(jù)輸入到可變級移位寄存器38。另外保持 在可變級移位寄存器38中的數(shù)據(jù)一級一級地進行移位,從可變級移 位寄存器38的最終級,輸出與當前位置的下一位置相對應的近左復制位置的1字節(jié)。當命令解碼電路24解碼COUNT HIGH命令后,就解碼后續(xù)的計 數(shù)并保存到計數(shù)器26的高位。接著,參照圖13和圖14,就行緩沖器31的數(shù)據(jù)輸入輸出的動作 進行說明。圖13是說明編碼前或者解碼后的圖像數(shù)據(jù)的構成,作為 一例說明1行的長度是10字節(jié)的情況。如圖所示,從起始行的左側 按00、 01、 ...09的順序字節(jié)(圖像數(shù)據(jù))進行排列,從下一行的的 左側按IO、 11、 ...19的順序字節(jié)進行排列。以下的行也同樣如此。圖14說明在行緩沖器31的各個地址上圖13所示的圖像數(shù)據(jù)是 如何來保存的圖。作為一例說明1行的長度為IO字節(jié),表示上復制 位置的行數(shù)為3行的情況。當最初將行計數(shù)器32和列計數(shù)器41都設為0后,對行地址0且 列地址O進行最初的數(shù)據(jù)輸入輸出。此外,直到最初的3行的圖像被 寫入之前,從行緩沖器31所輸出的數(shù)據(jù)都是不確定的。當從行緩沖器31的、行地址0且列地址0讀取數(shù)據(jù),然后當向 相同的地址寫入圖ll所示的字節(jié)OO后,列計數(shù)器41進行計數(shù)增加, 保持為1。接著從行地址0且列地址1讀取數(shù)據(jù),然后當向相同的地 址寫入的字節(jié)01后,列計數(shù)器41進行計數(shù)增加,保持為2。當這樣 寫入10字節(jié)后,由于列計數(shù)器41將保持為10,與行長寄存器25所 保持的1行的字節(jié)數(shù)相等,列計數(shù)器41就保持為0,行計數(shù)器32進 行計數(shù)增加保持為1。接著從行地址1且列地址0讀取數(shù)據(jù),然后當 向相同的地址寫入的字節(jié)10后,列計數(shù)器41進行計數(shù)增加,保持為 1。由于當這樣寫入20字節(jié)的數(shù)據(jù)后,列計數(shù)器41保持為0,同時行 計數(shù)器32進行計數(shù)增加保持為3,就與行數(shù)寄存器36所保持的行數(shù) 相等,行計數(shù)器32就保持為0。由于這里行計數(shù)器32和列計數(shù)器41都為0,就讀取最初被寫入 的字節(jié)OO,然后字節(jié)30被寫入。這樣,在依次讀取3行上的數(shù)據(jù)以 后,當前的行的數(shù)據(jù)被覆蓋,行緩沖器31作為所謂的環(huán)形存儲器來 進行動作。接著參照圖15,來說明行緩沖器31和可變級移位寄存器38的動 作定時。圖15說明圖13所示的圖像數(shù)據(jù)在什么樣的定時被處理的, 作為一例說明l行的長度為IO字節(jié),表示上復制位置的行數(shù)為3行, 表示近左復制位置的字節(jié)偏移值為2字節(jié)的情況。圖中,Al是表示開始的3行的處理正好結束的時刻。正如上面 的說明,由于這時行計數(shù)器32和列計數(shù)器41都復位成0。從行緩沖 器31讀取圖11所示的字節(jié)00。在A1時刻,上復制電路27進行動 作的情況下,當在A2時刻對正從行緩沖器31讀取的數(shù)據(jù)進行確定后, 字節(jié)00就被輸入到上復制電路27。接著,上復制輸出電路27直到 A3時刻都輸出解碼數(shù)據(jù)。在A3時刻中,所輸出的解碼數(shù)據(jù)作為字節(jié) 30被保存到行緩沖器31。這時時鐘脈沖被輸入到可變級移位寄存器 38,可變級移位寄存器38中所保持的數(shù)據(jù)一級一級地進行移位,同 時在起始級移位寄存器中保持所輸出的解碼數(shù)據(jù),即數(shù)據(jù)字節(jié)30。另 外,由于可變級移位寄存器38構成級數(shù)寄存器37所保持的、比表示 近左位置的字節(jié)偏移值小1的級數(shù)的移位寄存器,可變級移位寄存器 38的最終級輸出比可變級移位寄存器38的起始級延遲1字節(jié)的數(shù)據(jù), 即字節(jié)29。這樣每當輸出解碼數(shù)據(jù),就保存到輸出緩沖器35,同時 一級一級地移位可變級移位寄存器38所保持的數(shù)據(jù)。在Cl時刻近左復制輸出電路29進行動作的情況下,可變級移位 寄存器38的最終級正輸出的近左位置的數(shù)據(jù)字節(jié),即數(shù)據(jù)字節(jié)30被 輸入到近左復制輸出電路。接著,上復制輸出電路27直到A3時刻都 輸出解碼數(shù)據(jù)。在C3時刻中所輸出解碼數(shù)據(jù)作為數(shù)據(jù)字節(jié)32被保存 到輸出緩沖器35,下面與上述例子同樣地進行動作。遠左復制輸出電路28或者原始數(shù)據(jù)輸出電路30在數(shù)據(jù)輸出的情 況下也同樣地進4亍動作。接著參照圖16,說明控制電路15所執(zhí)行的打印控制步驟。圖16 是表示控制電路15所執(zhí)行的打印控制處理步驟的流程圖,與數(shù)據(jù)的 接收等其他的處理(未圖示)并行地進行動作。當打印控制步驟起動后,首先在步驟S101判斷是否有可打印的頁,具體就是判斷是否接收到換頁命令并存在未打印的頁。在沒有可 打印的頁的情況下,在步驟S101進行待機直到接收到換頁命令并產(chǎn) 生可打印的頁。在存在可打印的頁的情況下,處理進入步驟S102,向打印機引 擎14指示打印的開始。接著,在步驟S103將通過頁的打印條件指定 命令所指定的1行的字節(jié)數(shù)設定到行長寄存器25。接著在步驟S104 將通過頁的壓縮參數(shù)指定命令所指定的表示上復制位置的行數(shù)、表示 近左復制位置的字節(jié)偏移值以及表示遠左位置的字節(jié)偏移值分別設 定到行數(shù)寄存器36、級數(shù)寄存器37以及背景周期寄存器39。接著, 在步驟S105進行等待直到1頁的打印結束。當打印開始后,由解碼 電路13基于設定到上述寄存器的值進行解碼。當1頁的打印結束后, 處理返回步驟SIOI,等待可打印的頁。這樣,由于使用在編碼時所使用了的壓縮參數(shù)進行解碼,就總是 能夠得到正確的解碼數(shù)據(jù)。根據(jù)上面的說明,利用本實施形式,由于檢測背景圖案的周期, 并參照符合所檢測出的周期的位置來進行編碼,就能夠高效率地壓縮 背景圖案。另外,由于僅參照符合所檢測出的周期的位置以及所限定 的少數(shù)的位置來進行編碼,就能夠高速地進行壓縮。另外,由于在檢 測背景圖案的周期時,不使用背景圖案的數(shù)據(jù)自身,僅利用背景圖案 的大小和位置來進行檢測,就能夠高速地檢測周期。另外,由于依照 1字節(jié)的象素數(shù)以及抖動周期來校正所檢出的背景圖案的周期,即使 是進行了抖動處理的圖像也能夠高效率地進行壓縮。另外,由于在沒 有檢測出背景圖案的周期的情況下,使用缺省的參照位置來進行編 碼,與不進行這樣的處理相比就能夠高效率地進行壓縮。[第2實施形式]此外雖然在上述的實施形式中是,當近左復制位置在圖像的左端 附近從圖像的左端超出范圍的情況下不進行參照這樣來構成的,但也 可以取代此是其他的方法,例如向前一行的右側進行蔓延,或者在左 復制位置從圖像的左端超出范圍的情況下參照固定值0 。另外,雖然在上述的實施形式中,以圖像數(shù)據(jù)的1字節(jié)為單位來 進行編碼和解碼,^旦也可以取代此是其他的單位,例如以1象素或者 2字節(jié)等為單位。另外,雖然在上述的實施形式中,處理的是黑白圖像,但也可以 取代此處理彩色圖像。另外,雖然在上述的實施形式中,1象素是由l位來構成的,但也可以取代此是其他的值,例如2位、4位或者8位。另外,雖然在上述的實施形式中,是利用硬件來進行解碼的,但也可以取代此用軟件來進行解碼。另外,雖然在上述的實施形式中,進行抖動處理,但也可以進行取代此的別的矩陣處理,或者不進行抖動處理。另外,雖然在上述的實施形式中,利用背景圖案的橫方向的周期性進行壓縮處理,但也可以取代此利用縱方向或者縱橫兩方的周期性進行壓縮。另外,雖然在上述的實施形式中,在檢測出不同周期的情況下將 最大值設為周期,但也可以取代此,將不同周期中頻率最高的值設為 周期。另外,雖然在上述的實施形式中,編碼的處理單位是l頁,但也 可以適用于以將多個頁設為1個的,Ninl (N = 2、 4等)的圖像為 單位進行同樣的編碼。在此情況下對每N頁進行編碼。[第3實施形式]由于本實施形式中的圖像處理裝置的基本構成和第1實施形式相 同,如圖17所示那樣,故省略該說明。圖19是表示本發(fā)明第3實施形式中的打印機1711的基本構成的 框圖。圖中,511是并行端口,接收從端口驅動器5所輸出的打印機 命令。512是FIFO (先入先出)存儲器,存儲包含在并行端口 511接 收到的打印機命令中的編碼數(shù)據(jù)(詳見后面說明),并將所存儲的數(shù) 據(jù)按照先入先出的順序輸出到解碼電路513。解碼電路513,對FIFO 存儲器512中所存儲的碼序列數(shù)據(jù)進行解碼,將已復原的圖像數(shù)據(jù)輸出到打印機引擎514。打印機引擎514是激光打印機引擎,根據(jù)控制 電路515的指示,按照解碼電路513所輸出的圖像數(shù)據(jù)進行打印。圖 像數(shù)據(jù)對青、品紅、黃和黑的各色以面順序進行輸出。515是控制電 路,例如由單片CPU構成,進4亍并4亍端口 511、 FIFO存儲器512、 解碼電路513以及打印機引擎514的控制。下面,就進行打印時,圖1、 19所示的各部件的動作,進行說明。 由于關于用來將由打印控制命令和編碼數(shù)據(jù)所形成的一 系列打 印機命令發(fā)送到打印機1711的處理,和第1實施形式相同,省略該 說明??刂齐?各515經(jīng)由并行端口 511接收打印機命令。在接收到的打 印機命令中,打印控制命令、壓縮參數(shù)指定命令,為了打印控制被保 持在控制電路515的內部。另外,在接收到的打印機命令中,編碼數(shù) 據(jù)被保存到FIFO存儲器512。此后,當通過頁結束命令的接收等, 控制電路515檢測出構成1頁的打印機命令的接收已完成時,向打印 機引擎514指示打印開始。指示打印開始后,打印機引擎514從未圖 示的供紙盒供給用紙,當用紙到達預定的位置時,向解碼電路513要 求解碼數(shù)據(jù)的輸出。解碼電路513預先從FIFO存儲器512讀出編碼 數(shù)據(jù),將通過解碼而被復原的圖像數(shù)據(jù)保持到內部的緩沖器,當從打 印機引擎514要求圖像數(shù)據(jù)的輸出時,輸出保持在內部的緩沖器中的 圖像數(shù)據(jù)。當保持圖像數(shù)據(jù)的緩沖器中出現(xiàn)空閑時,解碼電路513從 FIF0512讀出后續(xù)的編碼數(shù)據(jù),進行解碼并保持到內部的緩沖器。這 樣編碼數(shù)據(jù)依次進行解碼并作為圖像數(shù)據(jù)被輸出,當1頁的圖像數(shù)據(jù) 的輸出全部結束后,打印完成。接著,參照圖20和圖21所示的表,就本實施形式中的打印機驅 動器4所生成的編碼進行說明。圖20是表示對一例本發(fā)明第3實施形式中的打印機驅動器4所 生成的編碼數(shù)據(jù)中所包含的各編碼進行說明的表的圖。此外,在本實 施形式中進行說明的各編碼是以位單位可變長度的,例如以從2位到 18位的位序來進行表示。與哈夫曼(Huffman)編碼相同,各編碼構成為通過從開始按順序進行查找就能夠識別編碼。如圖20所示,編碼的位序以"1"開始的情況,就是COPY UP命令。此命令指示,從預先確定的預定行上方的位置,復制<字節(jié)數(shù)> 所表示的長度的字節(jié)序列。另外,編碼的位序以"01"開始的情況,就是CACHE命令。此 命令指定在高速緩沖存儲器(盡管在本實施形式中設置在CPU1701 內,但并不限于此,也可以i殳置在CPU1701的外部)內<3位數(shù)據(jù)> 所表示的位置的1字節(jié)的數(shù)據(jù)。另外,編碼的位序以"001"開始的情況,就是RAW命令。此命 令指定持有<8位數(shù)據(jù)>的值的1字節(jié)的數(shù)據(jù)。另外,編碼的位序以"0001"開始的情況,就是COPYLEFT命 令。此命令指示,從預先確定的預定字節(jié)左側的位置,復制<字節(jié)數(shù)> 所表示的長度的字節(jié)序列。另外,編碼的位序以"0000"開始的情況,就是EOB命令。指 示編碼數(shù)據(jù)的結束。圖21是對一例接續(xù)上述COPY UP命令、COPY LEFT命令后的、 表示長度的編碼(<字節(jié)數(shù)〉)進行說明的表。如圖21所示,編碼的 位序以"1"開始的情況,指示l字節(jié)的長度。另外,編碼的位序以"01"開始的情況,就是l位的數(shù)據(jù)(取值 0或者1 )接續(xù),在接續(xù)的1位的數(shù)據(jù)為0的情況下,作為命令碼就 是"010",作為含義就意味著2字節(jié)。另一方面,在接續(xù)的1位的 數(shù)據(jù)為1的情況下,作為命令碼就是"011",作為含義就意味著3 字節(jié)。也就是,編碼的位序以"01"開始的情況,就意味著2字節(jié)或 者3字節(jié)的長度。另外,由于編碼的位序以"001"開始的情況,是2位的數(shù)據(jù)接 續(xù),就意味著從4字節(jié)到7字節(jié)的長度,由于編碼的位序以"0001" 開始的情況,是3位的數(shù)據(jù)接續(xù),就意味著從8字節(jié)到15字節(jié)的長 度,由于編碼的位序以"00001"開始的情況,是4位的數(shù)據(jù)接續(xù), 就意味著從16字節(jié)到31字節(jié)的長度,由于編碼的位序以"000001"開始的情況,是5位的數(shù)據(jù)接續(xù),就意味著從32字節(jié)到63字節(jié)的長 度,由于編碼的位序以"0000001"開始的情況,是6位的數(shù)據(jù)接續(xù), 就意味著從64字節(jié)到127字節(jié)的長度,由于編碼的位序以"0000000" 開始的情況,是7位的數(shù)據(jù)接續(xù),就意味著從128字節(jié)到255字節(jié)的 長度。此外,預先求出這些編碼在多數(shù)的圖像數(shù)據(jù)中各命令的出現(xiàn)頻 率,與哈夫曼(Huffman)編碼相同,通過將短的代碼分配給出現(xiàn)頻 率高的命令,將比較長的代碼分配給出現(xiàn)頻率低的命令,就能夠提高壓縮率。接著,參照圖22在說明RAW命令和CACHE命令的動作的同時, 就保存在高速緩沖存儲器中的數(shù)據(jù)進行說明。圖22是說明圖像數(shù)據(jù) 和利用RAW命令以及CACHE命令將此圖像數(shù)據(jù)保存到高速緩沖存 儲器的方法的圖。如該圖所示,IO字節(jié)的圖像數(shù)據(jù)OO、 01、 02、 03、 04、 05、 06、 07、 08和06從左進行排列。高速緩沖存儲器是8字節(jié)的容量,最初 為空。首先,最初的圖傳Jt據(jù)00可以編碼成編碼001 00000000即 RAWOO命令,編碼或者解碼了此命令的結果,就是將數(shù)據(jù)OO保存在 為空的高速緩沖存儲器的起始位置。下一個圖傳4t據(jù)01可以編碼成編碼001 00000001即RAW01命 令,編碼或者解碼了此命令的結果,就是將數(shù)據(jù)01保存在為空的高 速緩沖存儲器的起始位置,已保存在起始位置的數(shù)據(jù)00移動到下一 個位置。這樣直到圖像數(shù)據(jù)07為止的8字節(jié)的數(shù)據(jù)被編碼或者解碼 后,高速緩沖存儲器就被填滿。下一個圖像數(shù)據(jù)08可以編碼成編碼 001 00010000即RAW08命令,編碼或者解碼了此命令的結果,就是 將數(shù)據(jù)08保存在為空的高速緩沖存儲器的起始位置,已經(jīng)保存的從 數(shù)據(jù)07到數(shù)據(jù)01的7字節(jié)的數(shù)據(jù)依次移動到下一個位置,保存在高 速緩沖存儲器的最后的數(shù)據(jù)00被丟棄。由于相同的數(shù)據(jù)保存在高速緩沖存儲器的位置2,下一個圖像數(shù)據(jù)06可以編碼成編碼01 010即CACH2命令,編碼或者解碼了此命 令的結果,就是將保存在位置2的數(shù)據(jù)06移動到高速緩沖存儲器的 起始位置,保存在位置2以前的數(shù)據(jù)08和數(shù)據(jù)07依次移動到下一個 位置,保存在位置2以后的數(shù)據(jù)不進行變更。此外,在編碼或者解碼了 COPY UP命令或者COPY LEFT命令 的情況下,保存在高速緩沖存儲器的數(shù)據(jù)不進行變更。接著,參照圖23就COPY UP命令和COPY LEFT命令的動作進 行說明。圖23是說明圖像數(shù)據(jù)和利用COPY UP命令以及COPY LEFT 命令對此圖像數(shù)據(jù)進行編碼的方法的圖。如該圖所示,在構成圖像數(shù) 據(jù)的象素序列中,10字節(jié)的圖《象數(shù)據(jù)01、 23、 45、 67、 89、 AB、 89 和AB在最下行從左側進行排列,圖像數(shù)據(jù)01、 23、 45、 67、 89、 AB、 00、 00、 00和00在該行上方第4行從左側進行排列。當前欲編 碼或者解碼的圖像數(shù)據(jù)是最下行,另外預先設定為COPY UP命令參 照上方第4行,COPY LEFT命令參照2字節(jié)左側。此外,在上述圖像數(shù)據(jù)是使用抖動矩陣施加了抖動處理的圖像的 情況下,由于對鄰接數(shù)據(jù)進行不同的處理,就存在僅間隔抖動矩陣的 周期的位置的數(shù)據(jù)比已鄰接的數(shù)據(jù)的相關性高這樣的傾向。由此在施 加了抖動處理的圖^f象的情況下,進行確定以使COPY UP命令或者 COPY LEFT命令所參照的位置和關注位置之間的相關性最高。即, 依照在生成欲進行編碼的圖像數(shù)據(jù)時所使用的抖動矩陣的周期來進 行確定。這里由于最下行的圖像數(shù)據(jù)中起始的6字節(jié)01、 23、 45、 67、 89 和AB和上方第4行的起始6字節(jié)是相同排列,就能夠編碼成編碼1 001 10即COPYUP6命令。接著由于下一個的4字節(jié)89、 AB、 89和 AB和從相同行的2字節(jié)左側開始的4字節(jié)是相同的排列,就能夠編 碼成編碼0001 001 00即COPY LEFT4命令。接著,參照圖24所示的流程圖來說明本實施形式中的打印機驅 動器4的處理細節(jié)。圖24是打印機驅動器4所進行的主處理的流程 圖。當打印機驅動器4接收來自操作系統(tǒng)2的指令后,判斷指令的種類是否是繪圖指令(步驟S505 )。在記錄的種類是繪圖指令的情況 下,處理進入步驟S506,進行繪圖處理(步驟S506)。具體就是, 將經(jīng)由操作系統(tǒng)2從應用程序3所發(fā)送的字符、圖形或者位圖等變換 成使用了紅、綠、藍3種顏色的各色8位的圖像,并記錄到RAM1702。 另一方面,在上述指令的種類不是繪圖指令的情況下,處理進入 步驟S507,進而判斷指令的種類是否是頁結束指令(步驟S507)。 在指令的種類是頁結束指令的情況下,處理進入步驟S508,進行顏色變換處理(步驟S508 )。具體就是,使用預定的抖動矩陣,將步 驟S506中記錄到RAM1702的使用了紅、綠、藍3種顏色的各色8 位的圖像,變換成由青、品紅、黃和黑4種顏色形成的,例如各色4 位的圖像。接著,輸出打印條件指定命令,具體就是指定用紙尺寸、供紙盒、 分辨率、灰階數(shù)、1行的字節(jié)數(shù)、1頁的行數(shù)等打印所需要的條件的 命令(步驟S509)。然后,接著對青、品紅、黃和黑的各色反復從步驟S5010到步驟 S5014的處理,輸出每種顏色的圖像數(shù)據(jù)命令。作為各步驟中具體的 處理,首先輸出符合步驟S508中所使用的抖動矩陣的壓縮參數(shù),即 編碼時將要使用的、COPY UP命令和COPY LEFT命令將要參照的位 置(步驟S5010)。接著按照后面說明的編碼步驟,編碼圖像數(shù)據(jù)(步 驟S5011)。此時,使用步驟S5010所輸出的壓縮參數(shù)指定的、COPY UP命令和COPY LEFT命令參照的位置進行編碼。接著,輸出對步驟 S5011所編碼的圖像數(shù)據(jù)的大小和行數(shù)進行指定的首標(步驟 S5012)。接著輸出步驟S5011所編碼的圖像數(shù)據(jù)(步驟S5013)。 接著判斷青、品紅、黃和黑的各面的處理是否全部結束(步驟S5014)。 在青、品紅、黃和黑的各面的處理沒有全部結束的情況下,處理返回 步驟S5010,進行下一個面的處理。另一方面,當青、品紅、黃和黑 的各面的處理全部結束后,處理進入步驟S5015,輸出指定頁的結束 的命令(步驟S5015)。另一方面,在步驟S507中的判斷,在指令的種類不是頁結束指 令的情況下,處理進入步驟S5016,進行符合調用的種類的其他處理, 例如與頁開始指令或者打印能力詢問指令等相對應的處理(步驟 S5016)。接著,就上述步驟S5011中的編碼處理,參照表示對相同處理的 細節(jié)進行說明的流程圖的圖25A和圖25B進行說明。首先,將當前位置即進行編碼的象素的位置設定到圖像的左端上 方(步驟S5020)。接著判斷COPY UP的參照位置是否有效(步驟 S5021 )。具體就是,對COPYUP的參照位置為上方第4行的情況, 在當前位置是從起始行開始上方第4行以上的情況下就判斷COPY UP的參照位置為有效。在COPYUP的參照位置有效的情況下,處理 進入步驟S5022,對從當前位置開始的字節(jié)序列(象素數(shù)據(jù)序列)和 從COPY UP的參照位置開始的象素數(shù)據(jù)的字節(jié)序列進行比較,求得 值是一致的字節(jié)序列的長度(步驟S5022)。此外這時,在到達行末 的情況以及長度達到255字節(jié)的情況下,就中止處理。接著判斷步驟S5022所求出的長度是否為0 (步驟S5023 )。由 于在不是0的情況下,就判斷為能夠編碼成COPY UP命令,處理進 入步驟S5029,輸出COPY UP命令,即編碼1和接續(xù)在其后的表示 字節(jié)數(shù)(求出的長度)的編碼,處理進入步驟S5032。另一方面,當在步驟S5021判斷COPY UP的參照位置為無效的 情況下,或者在步驟S5023判斷步驟S5022所求出的長度為0的情況 下,處理進入步驟S5024,判斷COPY LEFT的參照位置是否有效(步 驟S5024)。具體就是,對COPY LEFT的參照位置為2字節(jié)左側的 情況,在當前位置是從左端開始間隔2字節(jié)以上的情況下就判斷 COPY LEFT的參照位置為有效。在COPY LEFT的參照位置有效的情 況下,處理進入步驟S5025,對從當前位置開始的字節(jié)序列(象素數(shù) 據(jù)序列)和從COPY LEFT的參照位置開始的字節(jié)序列進行比較,求 得相一致的字節(jié)序列的長度(步驟S5025 )。此外這時,在到達行末 的情況以及長度達到255字節(jié)的情況下,就中止處理。接著判斷步驟S5025所求出的長度是否為0 (步驟S5026)。由 于在不是O的情況下,就判斷為能夠編碼成COPY LEFT命令,處理 進入步驟S5030,輸出COPYLEFT命令,即編碼0001和接續(xù)在其后 的表示字節(jié)數(shù)(求出的長度)的編碼,處理進入步驟S5032。另 一方面,當在步驟S5024判斷COPY LEFT的參照位置為無效 的情況下,或者在步驟S5026判斷步驟S5025所求出的長度為0的情 況下,處理進入步驟S5027,檢索高速緩沖存儲器,判斷當前位置的 字節(jié)(象素數(shù)據(jù))是否登錄在高速緩沖存儲器中(步驟S5027)。由 于在當前位置的字節(jié)登錄在高速緩沖存儲器中的情況下,就判斷為能 夠編碼成CACHE命令,處理進入步驟S5031,輸出CACHE命令, 即編碼01和接續(xù)在其后的表示高速緩沖存儲器命中了的高速緩沖存 儲器的位置的3位數(shù)據(jù)(步驟S5031 ),并更新高速緩沖存儲器(步 驟S5037)。具體就是,在將當前位置的字節(jié)保存在高速緩沖存儲器 的起始位置的同時,進行將從高速緩沖存儲器的起始位置到高速緩沖 存儲器命中了的高速緩沖存儲器的位置之前的數(shù)據(jù)依次移動到高速 緩沖存儲器的下一個位置的處理。另一方面,當在步驟S5027判斷為當前位置的字節(jié)沒有登錄在高 速緩沖存儲器中的情況下,處理進入步驟S5028,輸出RAW命令, 即編碼0 01和接續(xù)在其后的與當前位置的字節(jié)相等的8位的原始數(shù)據(jù) (步驟S5028),并更新高速緩沖存儲器(步驟S5036)。具體就是, 在將當前位置的字節(jié)保存在高速緩沖存儲器的起始位置的同時,進行 將從高速緩沖存儲器的起始位置到高速緩沖存儲器最終之前的數(shù)據(jù) 依次移動到高速緩沖存儲器的下一個位置的處理。接著,僅將當前位置前移用COPY UP、 COPY LEFT、 CACHE 或者RAW命令所處理的字節(jié)數(shù)(步驟S5032)。接著,判斷是否處 理了全部的圖像數(shù)據(jù)(步驟S5033 )。在沒有處理完全部的圖像數(shù)據(jù) 的情況下,處理返回步驟S5021,進行上述的編碼處理。另外,在處 理完全部的圖像數(shù)據(jù)的情況下,處理進入步驟S5034,輸出EOB命令, 即編碼0000 (步驟S5034),進而,輸出位0(直到達到8的整數(shù)倍)以使所輸出的編碼的總位數(shù)成為8的整數(shù)倍(步驟S5035 )。接著,就解碼電路5013進行說明。圖26是表示解碼電^各5013 的基本構成的框圖。在該圖中輸入緩沖器5021保存從FIFO存儲器 512所讀出的編碼數(shù)據(jù)。5021至少能夠保存4字節(jié)的數(shù)據(jù),在輸入緩 沖器5021中產(chǎn)生空閑,且FIFO存儲器512中有數(shù)據(jù)的情況下,從 FIFO存儲器512讀出數(shù)據(jù)進行保存。另外,當保持在位計數(shù)器5023 中的處理完的位數(shù)成為8位以上的情況下,輸入緩沖器5021刪除不 需要的處理完的數(shù)據(jù)。選擇器5022,是例如11組的8輸入選擇器,通過根據(jù)位計數(shù)器 5023所表示的處理完的位數(shù)對保存在輸入緩沖器5021中的編碼數(shù)據(jù) 進行選擇,進行命令解碼電路5024進行處理所需要的、命令的開始 位置的對齊。由于相對于輸入緩沖器5021以字節(jié)單位來保持數(shù)據(jù), 命令是位單位的可變長度數(shù)據(jù),所以為了有8處的開始位置這一點是 必要的。位計數(shù)器5023,保存輸入緩沖器5021所保存的編碼數(shù)據(jù)中的處 理完的位數(shù)。另外,位計數(shù)器5023計數(shù)從命令解碼電路24所輸出的 命令的位數(shù),并將位計數(shù)器5023中所保存的值更新成已計數(shù)的值。 另外,位計數(shù)器5023在輸入緩沖器5021刪除了處理完的數(shù)據(jù)的情況 下,從所保存的值中減去已刪除的位數(shù)。另外,在命令解碼電路5024 對EOB命令進行解碼時,位計數(shù)器5023從命令解碼電路5024接收 EOB信號,進行字節(jié)邊界對齊的處理。具體就是,如果位計數(shù)器的低 位3位全部是0就什么也不作,如果不是這樣就進行在將8加到所保 存的值的同時清除低位3位的處理。命令解碼電路5024,由例如只讀存儲器或者布線邏輯(wired logic)構成,對由選擇器5022進行了位置對齊、并保存在輸入緩沖 器5021中的編碼數(shù)據(jù)進行解碼,根據(jù)已解碼的命令將前面說明的或 者后面說明的各種信號輸出到高速緩沖存儲器輸出電路5025、上復制 輸出電路5026、左復制輸出電路5027、原始數(shù)據(jù)輸出電路5028以及 位計數(shù)器5023。高速緩沖存儲器輸出電路5025,在命令解碼電路5024解碼了 CACHE命令時接收表示高速緩沖存儲器的位置的3位的數(shù)據(jù),從高 速緩沖存儲器5036讀取并輸出該位置的數(shù)據(jù)。上復制輸出電路5026, 在命令解碼電路5024解碼了 COPY UP命令時接收應復制的字節(jié)數(shù), 依照接收到的字節(jié)數(shù)反復從行緩沖器5035讀取數(shù)據(jù),并輸出所讀取 的數(shù)據(jù)。左復制輸出電路5027,在命令解碼電路5024解碼了 COPY LEFT命令時接收應復制的字節(jié)數(shù),依照接收到的字節(jié)數(shù)反復從可變 級移位寄存器5039讀取數(shù)據(jù),并輸出所讀取的數(shù)據(jù)。原始數(shù)據(jù)輸出 電路5028,在命令解碼電路5024解碼了 RAW命令時接收表示原始 數(shù)據(jù)的8位的數(shù)據(jù),并輸出所接收的數(shù)據(jù)。行長寄存器5029,保持包含在已接收到的打印控制命令中的1 行的字節(jié)數(shù)。列計數(shù)器5030,保持行緩沖器5035的當前的列地址, 每向行緩沖器5035進行寫入就進行計數(shù)增加,另外在該結果達到行 長寄存器5029所保持的1行的字節(jié)數(shù)的情況下,復位成0。行數(shù)寄存 器5031,保持包含在已接收到的壓縮參數(shù)的、表示COPYUP命令進 行參照的位置的行數(shù)。行計數(shù)器5032,保持行緩沖器5035的當前的 行地址,每當列計數(shù)器5030達到行長寄存器5029所保持的1行的字 節(jié)數(shù)并復位成0就進行計數(shù)增加。此外,在達到行數(shù)寄存器5031所 保持的行數(shù)的情況下,復位成0。另外當行數(shù)被輸出到行數(shù)寄存器5031 時,行計數(shù)器5032復位成0。乘法電路5033,通過計算行計數(shù)器5032所保持的當前的行地址 和行長寄存器5029所保持的1行的字節(jié)數(shù)的積,輸出行緩沖器5035 的當前的行的開始地址。加法電路5034,通過計算乘法電^各5033所 輸出的當前的行的開始地址和列計數(shù)器5030所保持的當前的列地址 的和,輸出行緩沖器5035的當前的地址。行緩沖器5035,保持多個行的解碼數(shù)據(jù),根據(jù)加法電路5034所 輸出的地址,進行解碼數(shù)據(jù)的輸入或者輸出。行緩沖器5035,構成由 行數(shù)寄存器5031保持的行數(shù)所指定的大小的環(huán)形存儲器。高速緩沖存儲器5036,在高速緩沖存儲器輸出電路5025或者原始數(shù)據(jù)輸出電路5028解碼了圖像數(shù)據(jù)時存儲圖像數(shù)據(jù),另外輸出高 速緩沖存儲器輸出電路5025將要參照的數(shù)據(jù)。級數(shù)寄存器5038保持 表示COPYLEFT命令要參照的位置的字節(jié)偏移值。可變級移位寄存 器5039,由移位寄存器和選擇器構成,構成與級數(shù)寄存器5038所保 持的表示字節(jié)偏移值相等的級數(shù)的移位寄存器,輸出將已輸出的解碼 數(shù)據(jù)延遲了比用級數(shù)寄存器5038所保持的字節(jié)偏移值指定的值僅小 1的次數(shù)的數(shù)據(jù)。在上面的構成中,當命令解碼電路5024解碼COPY UP命令后, 就解碼與它相連續(xù)接續(xù)其后的字節(jié)數(shù),將解碼了的字節(jié)數(shù)輸出到上復 制輸出電路5026。然后在行緩沖器5035中,位于從當前行還要靠上 保存在行數(shù)寄存器5031中的行數(shù)的,且被解碼了的字節(jié)數(shù)部分的解 碼數(shù)據(jù)群從行緩沖器5035被讀出到上復制輸出電路5026,上復制輸 出電^各5026從加法電路5034輸出的地址(換言之就是當前位置)開 始按順序寫入所讀出的解碼數(shù)據(jù)群。另一方面,將已讀出的解碼數(shù)據(jù) 群輸入到可變級移位寄存器5039 (下面從開頭起)。然后已經(jīng)保持在 可變級移位寄存器5039中的數(shù)據(jù)一級一級地進行移位,從可變級移 位寄存器5039的最終級,輸出與當前位置的下一位置相對應的COPY LEFT命令所參照的位置的1字節(jié)。接著,列計數(shù)器5030進行計數(shù)增 加。就這樣進行解碼數(shù)據(jù)的輸出直到所指定的字節(jié)數(shù)的處理結束。另一方面,當命令解碼電路5024解碼COPY LEFT命令后,接著 就解碼接續(xù)其后的后續(xù)的字節(jié)數(shù),將解碼了的字節(jié)數(shù)輸出到左復制輸 出電路5027。然后從可變級移位寄存器5039讀取此字節(jié)數(shù)部分的解 碼數(shù)據(jù),輸入到左復制輸出電路5027。當左復制輸出電路5027輸出 此解碼數(shù)據(jù)后,所輸出的解碼數(shù)據(jù)被寫入到行緩沖器5035的當前位 置(加法電路5034輸出的地址),同時被輸入到可變級寄存器5039。 另外保持在可變級移位寄存器5039中的數(shù)據(jù)一級一級地進行移位, 從可變級移位寄存器5039的最終級,輸出與當前位置的下一位置相 對應的COPY LEFT命令所參照的位置的1字節(jié)。接著,列計數(shù)器5030 進行計數(shù)增加。就這樣進行解碼數(shù)據(jù)的輸出直到所指定的字節(jié)數(shù)的處理結束。當命令解碼電路5024解碼RAW命令后,就將接續(xù)其后的后續(xù)的 8位的原始數(shù)據(jù)輸出到原始數(shù)據(jù)輸出電路5028。當原始數(shù)據(jù)輸出電路 5028輸出此數(shù)據(jù)后,所輸出的解碼數(shù)據(jù)被寫入行緩沖器5035的當前 位置,同時被輸入到可變級寄存器5039。另外保持在可變級移位寄存 器5039中的數(shù)據(jù)一級一級地進行移位,從可變級移位寄存器5039的 最終級,輸出與當前位置的下一位置相對應的COPY LEFT命令所參 照的位置的1字節(jié)。接著,列計數(shù)器5030進行計數(shù)增加。另外,將 已輸出的解碼數(shù)據(jù)存儲到高速緩沖存儲器5036的起始位置。當命令解碼電路5024解碼CACHE命令后,就將表示接續(xù)其后 的后續(xù)的3位的高速緩沖存儲器內的位置的數(shù)據(jù)輸出到高速緩沖存儲 器輸出電路5025。高速緩沖存儲器輸出電路5025從高速緩沖存儲器 5036讀取所指定位置的解碼數(shù)據(jù)并輸出該解碼數(shù)據(jù)。所輸出的解碼數(shù) 據(jù)被寫入行緩沖器5035的當前位置,同時被輸入到可變級寄存器 5039。另外保持在可變級移位寄存器5039中的數(shù)據(jù)一級一級地進行 移位,從可變級移位寄存器5039的最終級,輸出與當前位置的下一 位置相對應的COPY LEFT命令所參照的位置的1字節(jié)。接著,列計 數(shù)器5030進行計數(shù)增加。另外,將已輸出的解碼數(shù)據(jù)存儲到高速緩 沖存儲器5036的起始位置。接著參照圖27,就高速緩沖存儲器5036的構成進行說明。圖27 是表示高速緩沖存儲器5036的詳細的構成的框圖。在該圖中,5051是第l移位寄存器,由8位8級的移位寄存器構 成。第l移位寄存器5051能夠存儲直到8個由原始數(shù)據(jù)輸出電路5028 或者高速緩沖存儲器輸出電路5025所輸出的1字節(jié)的圖像數(shù)據(jù)。構 成第1移位寄存器5051的各級寄存器在從控制電路5055輸入移位脈 沖的情況下,存儲前一級寄存器所存儲的數(shù)據(jù)。5052是第1移位寄存器,由1位8級的移位寄存器構成。構成第 2移位寄存器5052的各級寄存器保持表示在第1移位寄存器5051所 對應的寄存器中是否存儲著數(shù)據(jù)的l位的信息。構成第2移位寄存器5052的各級寄存器在從控制電路5055輸入移位脈沖的情況下,存儲 前 一 級寄存器所存儲的數(shù)據(jù)。5053是選擇器,根據(jù)所輸入的地址,即應參照的高速緩沖存儲器 的位置,選擇并輸出構成第1移位寄存器5051的各級寄存器中的一 個所存儲的數(shù)據(jù)。5054是編碼器,當輸入指示從高速緩沖存儲器讀取的讀取信號 時,根據(jù)所輸入的地址,即應參照的高速緩沖存儲器的位置,輸出對 構成第2移位寄存器5052的各級寄存器中的一個進行清除的信號。5055是控制電路,當輸入指示向高速緩沖存儲器寫入的寫入信號 時,根據(jù)保持在第2移位寄存器5052中的表示在第1移位寄存器5051 所對應的寄存器中是否存儲著數(shù)據(jù)的信息,對第1移位寄存器5051 和第2移位寄存器5052需要移位的各級輸出移位脈沖。當在此之前 的任何級中都沒有存儲數(shù)據(jù)的級存在的情況下不輸出移位脈沖,在不 是這樣的情況下輸出。當原始數(shù)據(jù)輸出電路5028輸出解碼數(shù)據(jù)后,所輸出的解碼數(shù)據(jù) 被輸入到第1移位寄存器5051,同時寫入信號被輸入到控制電路 5055。由于存儲著數(shù)據(jù)的級相連續(xù),故控制電路5055將移位脈沖輸 出到起始級和在前一級中存儲著數(shù)據(jù)的級,表示第1移位寄存器5051 的起始級中所輸入的解碼數(shù)據(jù),和第2移位寄存器5052的起始級中 的數(shù)據(jù)是有效的值1被分別存儲,同時前一級的數(shù)據(jù)被存儲到在前一 級中存儲著數(shù)據(jù)的級。當高速緩沖存儲器輸出電路5025接收表示高速緩沖存儲器的位 置的信息后,接收到的表示高速緩沖存儲器的位置的信息即地址被輸 入到選擇器5053和編碼器5054,同時讀取信號被輸入到編碼器5054。 選擇器5053根據(jù)所輸入的地址選擇并輸出存儲在第1移位寄存器 5051中的數(shù)據(jù)。另外,編碼器5054根據(jù)所輸入的地址對輸出了數(shù)據(jù) 的級輸出清除信號。此結果就是,輸出了第2移位寄存器5052的數(shù) 據(jù)的級的寄存器被清除。當高速緩沖存儲器輸出電路5025讀取選擇器5053所輸出的數(shù)據(jù),并作為解碼數(shù)據(jù)輸出后,所輸出的解碼數(shù)據(jù)被輸入到第1移位寄存器5051,同時寫入信號被輸入到控制電路5055。由于第2移位寄 存器5052的進行了高速緩沖存儲器的讀取的級被清除,存儲有數(shù)據(jù) 的級就不相連續(xù),因此控制電路5055將移位脈沖輸出到從起始級到 進行了高速緩沖存儲器讀取的級為止的級,故表示第1移位寄存器 5051的起始級中所輸入的解碼數(shù)據(jù),和第2移位寄存器5052的起始 級中的數(shù)據(jù)是有效的值1被分別存儲,同時前一級的數(shù)據(jù)被存儲在從 第1移位寄存器5051和第2移位寄存器5052的第2級到進行了高速 緩沖存儲器的讀取的級為止的級。這樣維持高速緩沖存儲器5036以使解碼了 RAW命令或者 CACHE命令的數(shù)據(jù)按新的順序存儲。如上面的說明那樣,由于本實施形式的圖像處理裝置,與前面的 數(shù)據(jù)序列相一致的部分是對相一致的長度進行編碼,就能夠以高壓縮 率來編碼如圖像數(shù)據(jù)那樣相同的數(shù)據(jù)序列進行排列的情況多的數(shù)據(jù)。另外,由于在與前面的數(shù)據(jù)序列不相 一 致的情況下對高速緩沖存 儲器進行檢索,在高速緩沖存儲器命中了的情況下,對高速緩沖存儲 器的位置進行編碼,就能夠編碼成與對數(shù)據(jù)自身進行編碼的情況相比 更短的代碼。即使在與前面的數(shù)據(jù)序列相 一 致的情況少的情況下也能 夠盡量防止壓縮率的降低。另外,在對數(shù)據(jù)序列相一致的長度進行了編碼的情況下,由于不 更新高速緩沖存儲器,故能夠防止用長數(shù)據(jù)序列改寫高速緩沖存儲器 造成的壓縮率的降低。[第4實施形式]雖然在第3實施形式中,用硬件來進行解碼處理,但并不限于此, 也可以用軟件來進行。另外,雖然在第3實施形式中,用軟件來進行 編碼(壓縮)處理,但也并不限于此,也可以使用專用的硬件來進行。 另外,雖然在第3實施形式中,編碼的單位數(shù)據(jù)的大小是1字節(jié),但 并不限于此,也可以是,例如1象素或者2字節(jié)。另外,雖然在第3實施形式中,當在高速緩沖存儲器充滿時選擇要刪除的數(shù)據(jù)的時候,使用對最長間隔中沒有被參照過的數(shù)據(jù)進行刪除,所謂的LRU法,但并不限于此,也可以使用例如才莫擬LRU法或 者模擬隨機法等。 [第5實施形式]由于表示在打印圖像時所使用的軟件群和打印機之間關系的概 念圖和第1實施形式相同,如圖1所示那樣,故省略該說明。圖28是表示本實施形式中的打印機1711的基本構成的框圖。在 圖28中,6011是并行端口,從端口驅動器5接收打印機命令。6012 是FIFO(先入先出)存儲器,存儲并行端口 ll接收到的編碼數(shù)據(jù)(詳 見后面說明),將所存儲的數(shù)據(jù)按照先入先出的順序輸出到解碼電路 6013。解碼電路6013,對FIFO存儲器12中所存儲的碼序列數(shù)據(jù)進 行解碼,并輸出到打印機引擎6014和再編碼電路6017。打印機引擎 6014是激光打印機引擎,根據(jù)控制電路6015的指示,按照解碼電路 6013所輸出的圖像數(shù)據(jù)進行打印。6015是控制電路,例如由單片CPU構成,進行并行端口 6011、 FIFO存儲器6012、解碼電路6013、再編碼電路6017、頁存儲器6018、 再解碼電路6019以及打印機引擎6014的控制。6017是再編碼電路, 編碼并輸出從解碼電路6013所輸出的圖像數(shù)據(jù)。6018是頁存儲器, 保存再編碼電路6017所輸出的至少1頁的編碼。6019是再解碼電^各, 解碼并輸出由再編碼電路6017編碼后保存到頁存儲器6018的編碼。下面,就打印動作進行說明。當操作者在計算機側操作應用程序3生成打印數(shù)據(jù),并指示打印 后,打印指令經(jīng)由操作系統(tǒng)2從應用程序3被傳遞到打印機驅動器4。 打印機驅動器4基于從應用程序3所發(fā)行的打印指令,變換成圖像數(shù) 據(jù)。然后,打印機驅動器4基于后面說明的編碼步驟,從已生成的圖 像數(shù)據(jù)生成編碼數(shù)據(jù),并與指定用紙尺寸、位圖數(shù)據(jù)的行的長度和行 數(shù)等的打印控制命令,指定壓縮參數(shù)的壓縮參數(shù)指定命令以及表示頁 結束的換頁命令同時輸出。端口驅動器5將打印機驅動器4所生成的 一 系列打印機命令發(fā)送到打印機1711。控制電路6015經(jīng)由并行端口 6011接收打印機命令。 如果接收到的打印機命令是打印控制命令或者壓縮參數(shù)指定命令的 話,為了打印控制就保持在控制電路6015的內部。另外,再接收到 的打印機命令是編碼數(shù)據(jù)的情況下,就保存到FIFO存儲器6012。此 后,當通過頁結束命令的接收等,檢測出構成1頁的打印機命令的接 收已完成時,向打印機引擎6014指示打印開始。指示打印開始后, 在打印機引擎6014能夠接受圖像數(shù)據(jù)時,向解碼電路6013要求圖像 數(shù)據(jù)的輸出。解碼電路6013,在被打印機引擎6014要求圖像數(shù)據(jù)的輸出的情 況下,從FIFO存儲器6012讀出編碼數(shù)據(jù),并將解碼了的圖像數(shù)據(jù)輸 出到打印機引擎6014。這樣編碼數(shù)據(jù)依次進行解碼并作為圖像數(shù)據(jù)被 輸出,當圖像數(shù)據(jù)的輸出全部結束后,l頁的打印完成。再編碼電路6017,每當解碼電路6013輸出圖像數(shù)據(jù),就編碼所 輸出的圖像數(shù)據(jù)。如果再編碼電路6017所進行的編碼處理是不參照 前頁的數(shù)據(jù)僅參照該頁的數(shù)據(jù)進行編碼的編碼處理,就可以是任何處 理,例如僅參照左鄰、僅參照上鄰、參照左鄰和上鄰雙方、或者參照 預定的字節(jié)數(shù)左側的位置以及預定的行數(shù)上方的位置的數(shù)據(jù)來進行 編碼。由再編碼電路6017所編碼的代碼被保存到頁存儲器6018。這 樣當1頁的打印結束時,已打印的頁的圖像數(shù)據(jù)就被編碼并保存到頁 存儲器6018.接著當構成第2頁的打印機命令的接收結束后,同樣地開始打印, 圖像數(shù)據(jù)依次輸出到打印機引擎6014,同時由再編碼電路6017進行 編碼并保存到頁存儲器6018。另外,在再解碼電路6019起動第2頁 的打印之前,根據(jù)控制電路6015的指示來開始動作,讀取并解碼保 存到頁存儲器6018的、前一頁的圖像數(shù)據(jù)已編碼的代碼。保存過已 讀取的編碼的區(qū)域就成為空區(qū)域。再解碼電路6019與解碼電路6013輸出圖像數(shù)據(jù)一致步調輸出已 解碼的數(shù)據(jù)。此數(shù)據(jù),在解碼電路6013對參照前一頁的圖像數(shù)據(jù)的 編碼進行了解碼的情況下,作為參照數(shù)據(jù)來使用,在其他的情況下不使用被丟棄。由于本實施形式中打印機驅動器4所生成的編碼和第1實施形式相同,如圖3、 4所示那樣,故省略該說明。另外,由于圖3和圖4中所表示的編碼的實例在圖5中進行了說 明,該說明如上述那樣,故省略該說明。接著,參照圖29所示的流程圖,就本實施形式中打印機驅動器4 的處理細節(jié)進行說明。當從操作系統(tǒng)2調用打印機驅動器4后,首先在步驟S601判斷 調用的種類是否是繪圖指令。在調用的種類是繪圖指令的情況下,在 步驟S602進行繪圖處理。具體就是,將經(jīng)由操作系統(tǒng)2從應用程序 3所指示的字符、圖形或者位圖等變換成8位灰度級圖像,進行記錄 并結束處理。在步驟S601中調用的種類不是繪圖指令的情況下,在步驟S7, 判斷調用的種類是不是頁結束指令。在調用的種類是頁結束指令的情 況下,在步驟S8,進行2值化處理。具體就是使用抖動矩陣將在步 驟602所記錄的8位灰度級的圖像變換成黑白1位的圖像。接著,在步驟S609輸出打印條件指定命令,具體就是指定用紙 尺寸、供紙盒、分辨率、灰階數(shù)、1行的字節(jié)數(shù)、1頁的行數(shù)等打印 所需要的條件的命令。接著,在步驟S610輸出編碼時所使用的,指定以下參數(shù)的壓縮 參數(shù)指定命令指定上復制時復制源是哪一行上方的位置的上復制垂 直偏移值和指定左復制時復制源是相同行的哪 一 字節(jié)左方的位置的 左復制水平偏移值。這里,上復制垂直偏移值和左復制水平偏移值,依照步驟S608 中所使用的抖動矩陣,預先通過理論或者試驗求出最優(yōu)值,并使用此 值。接著,在步驟S6011按照后面說明的編碼步驟對圖像數(shù)據(jù)進行編 碼。此時,使用在步驟S6010輸出了的壓縮參數(shù)指定命令所指定的上 復制垂直偏移值和左復制水平偏移值進行編碼。接著在步驟S6012輸出對在步驟S6011中所編碼的圖像數(shù)據(jù)的大小和行數(shù)進行指定的圖 像數(shù)據(jù)命令首標。接著在步驟S6013輸出在步驟S6011中所編碼的圖 像數(shù)據(jù)。接著在步驟S6014輸出指定頁結束的換頁命令。接著在步驟 S6015將當前頁的圖像數(shù)據(jù)傳送到前頁存儲器并結束處理。在步驟S607中調用的種類不是頁結束指令的情況下,在步驟 S6016,進行符合調用的種類的其他處理,例如與頁開始指令或者打 印能力詢問指令等相對應的處理,然后結束。接著參照圖30A和圖30B,就圖29的步驟S6011中的編碼處理 的細節(jié)進行說明。首先在步驟S6051將行編號Y初始化為0。接著在步驟S6052將 從行開頭的字節(jié)偏移X初始化為0。接著在步驟S6053,判斷上位置 是否在有效的圖像區(qū)域中。具體就是判斷在圖29的步驟S6047中所 輸出的表示上復制位置的行數(shù)是否也不小于行編號Y。由于表示上復 制位置的行數(shù)也不小于行編號Y的情況,就是上位置在有效的圖像區(qū) 域中的情況,故在步驟S6054,求得從當前位置(X、 Y)和上位置(X、 Y-表示上復制位置的行數(shù))開始的字節(jié)序列連續(xù)相一致的長度。此 外這時,在直到行末都連續(xù)相一致的情況下,設為在行末進行中止。 另外,在連續(xù)相一致的長度,超過作為計數(shù)編碼的最大值的4095字 節(jié)的情況下,設為在4095字節(jié)進行中止。接著在步驟S6055,判斷步驟S6054中所求出的長度是否為0。 在步驟S6054中所求出的長度不為O的情況下,在步驟S6056,判斷 步驟S6054中所求出的長度是否比63大。在步驟S6054中所求出的 長度比63大的情況下,在步驟S6057,將COUNT HIGH命令輸出到 緩沖器,接著在步驟S6058,對用64除以計數(shù)的高位,即在步驟S6054 所求出的長度算出的商進行編碼并輸出到緩沖器,進入步驟S6059。 在步驟S6056中,當在步驟S6054所求出的長度不比63大的情況下, 直接進入步驟S6059。接著,在步驟S6059將COUNT UP命令輸出到緩沖器,接著在 步驟S6060,對用64除以計數(shù)的低位,即在步驟S6054所求出的長度算出的余數(shù)進行編碼并輸出到緩沖器。在步驟S6053中表示上復制位置的行數(shù)比行編號Y小的情況下, 以及在步驟S6055中的長度為0的情況下,在步驟S6062,判斷左位 置是否在有效的圖像區(qū)域中。具體就是判斷圖29的步驟S6047中所 輸出的表示左復制位置的字節(jié)數(shù)是否也不小于從行開頭的字節(jié)偏移 X。由于表示左復制位置的字節(jié)數(shù)也不小于從行開頭的字節(jié)偏移X的 情況,就是左位置在有效的圖像區(qū)域中的情況,故在步驟S6063,求 得從當前位置(X、 Y)和左位置(X-表示左復制位置的字節(jié)數(shù)、Y) 開始的字節(jié)序列連續(xù)相一致的長度。此外這時,在直到行末都連續(xù)相 一致的情況下,設為在行末進行中止。另外,在連續(xù)相一致的長度, 超過作為計數(shù)編碼的最大值的4095字節(jié)的情況下,設為在4095字節(jié) 進行中止。接著,在步驟S6064,判斷步驟S6063中所求出的長度是否為0。 在步驟S63中所求出的長度不為0的情況下,在步驟S6065,判斷步 驟S6063中所求出的長度是否比63大。在步驟S6063中所求出的長 度比63大的情況下,在步驟S6066,將COUNT HIGH命令輸出到緩 沖器,接著在步驟S6067,對計數(shù)的高位,即用64除以在步驟S6063 所求出的長度算出的商進行編碼并輸出到緩沖器,進入步驟S6068。 在步驟S6065中,當在步驟S6063所求出的長度比63不大的情況下, 直接進入步驟S6068。接著,在步驟S6068將COUNT LEFT命令輸出到緩沖器,接著 在步驟S6060,對計數(shù)的低位,即用64除以在步驟S6063所求出的 長度算出的余數(shù)進行編碼并輸出到緩沖器。在步驟S6062中表示左復制位置的字節(jié)數(shù)比從行開頭的字節(jié)偏 移X小的情況下,以及在步驟S6064中的長度為0的情況下,在步驟 S6069,判斷有效的圖像是否保存在前一頁存儲器中。具體就是判斷 頁編號是否不為1。由于頁編號不為l的情況,就是在步驟S6015沒 有將圖像數(shù)據(jù)傳送到前頁存儲器的情況,故在步驟S6070,求得從當 前頁的圖像數(shù)據(jù)的當前位置(X、 Y)和保存在前一頁存儲器中的圖像數(shù)據(jù)的當前位置(X、 Y)開始的字節(jié)序列連續(xù)相一致的長度(計 數(shù))。此外這時,在直到行末都連續(xù)相一致的情況下,設為在行末進 行中止。另外,在連續(xù)相一致的長度,超過作為計數(shù)編碼的最大值的4095字節(jié)的情況下,設為在4095字節(jié)進行中止。接著在步驟S6071,判斷步驟S6070中所求出的長度是否為0。 在步驟S6070中所求出的長度不為0的情況下,在步驟S6072,判斷 步驟S6070中所求出的長度是否比63大。在步驟S6070中所求出的 長度比63大的情況下,在步驟S6073,將COUNT HIGH命令輸出到 緩沖器,接著在步驟S6074,對計數(shù)的高位,即用64除以在步驟S6070 所求出的長度算出的商進行編碼并輸出到緩沖器,進入步驟S6075。 在步驟S6072中,當在步驟S6070所求出的長度比63不大的情況下, 直接進入步驟S6075。接著在步驟S6075,將COUNT PREVIOUS PAGE命令輸出到緩 沖器,接著在步驟S6060,對計數(shù)的低位,即用64除以在步驟S6070 所求出的長度算出的余數(shù)進行編碼并輸出到緩沖器。當在步驟S6069中頁編號為1的情況下,以及在步驟S6071中長 度為0的情況下,在步驟S6076,將RAW命令輸出到緩沖器,接著 將當前位置(X、 Y)的數(shù)據(jù)1字節(jié)作為原始數(shù)據(jù)輸出到緩沖器。在任何情況下,進入步驟S6078,將已處理的字節(jié)數(shù)相加到X。 接著在步驟S6079,判斷X是否到達行末,即判斷X是否等于1行的 字節(jié)數(shù)。在X比1行的字節(jié)數(shù)小的情況下,返回步驟S6053,繼續(xù)進 行處理。在X等于1行的字節(jié)數(shù)的情況下,在步驟S6080,將1相加 到行編號Y,接著在步驟S6081判斷圖像的處理是否結束,即判斷Y 是否和圖像的行數(shù)相等。在Y比圖像的行數(shù)小的情況下,返回S6052,繼續(xù)進行處理。在 Y等于圖像的行數(shù)的情況下,在步驟S6082,將EOB命令輸出到緩沖 器,接著在步驟S6083,僅將為了對齊字節(jié)邊界所需數(shù)目的位"0" 輸出到緩沖器,結束處理。接著,參照圖31,就圖28所示的解碼電路6013的細節(jié)進行說明。此外,圖31是表示圖28所示的解碼電路6013的細節(jié)的框圖。在圖31中,輸入緩沖器6021,保存從FIFO存儲器6012讀出的 編碼數(shù)據(jù)。輸入緩沖器6021,至少能夠保持4字節(jié)的數(shù)據(jù),在緩沖器 中產(chǎn)生空閑,且FIFO存儲器6012中有數(shù)據(jù)的情況下,從FIFO存儲 器6012讀出數(shù)據(jù)進行保存。另外,當保持在位計數(shù)器6023中的處理 完的位數(shù)成為8位以上的情況下,輸入緩沖器6021刪除不需要的處 理完的數(shù)據(jù)。選擇器6022是例如11組的8輸入選擇器,通過根據(jù)位計數(shù)器 6023所表示的處理完的位數(shù)對保存在輸入緩沖器6021中的編碼數(shù)據(jù) 進行選擇,進行命令解碼電路6024進行處理所需要的、命令的開始 位置的對齊。由于相對于輸入緩沖器6021以字節(jié)單位來保持數(shù)據(jù), 命令是位單位的可變長度數(shù)據(jù),所以為了有8處的開始位置這一點是 必要的。位計數(shù)器6023,保存輸入緩沖器6021所保存的編碼數(shù)據(jù)中的處 理完的位數(shù)。另外,位計數(shù)器6023通過加上乂人命令解碼電路6024所 輸出的命令的位數(shù),來更新位計數(shù)器中所保存的值。另外,位計數(shù)器 6023在輸入緩沖器刪除了處理完的數(shù)據(jù)的情況下,減去已刪除的位 數(shù)。另外,在命令解碼電路6024對EOB命令進行解碼時,位計數(shù)器 6023從命令解碼電路6024接收EOB信號,進行字節(jié)邊界對齊的處理。 具體就是,如果位計數(shù)器的低位3位全部是0就什么也不作,如果不 是這樣就在加上8的同時清除低位3位。命令解碼電路6024,由例如只讀存儲器或者布線邏輯(wired logic)構成。對由選擇器6022進行了位置對齊、并保存在輸入緩沖 器6021中的編碼數(shù)據(jù)進行解碼,根據(jù)已解碼的命令將前面說明的或 者后面說明的各種信號輸出到計數(shù)器6026、上復制輸出電路6027、 前頁復制輸出電路6028、左復制輸出電路6029、原始數(shù)據(jù)輸出電路 6030以及位計數(shù)器6023。計數(shù)器6026,保持COPY UP、 COPY LEFT、或者COPY PREVIOUS PAGE命令的處理字節(jié)數(shù),每進行1字節(jié)的數(shù)據(jù)輸出就進行相減運算。計數(shù)器6026能夠獨立地設定高位6位和低位6位,在 命令解碼電路6024解碼了 COUNT HIGH命令時,將命令解碼電路 6024所輸出的處理字節(jié)數(shù)的相加值保存到計數(shù)器6026的高位。另夕卜, 在命令解碼電路6024解碼了 COPY UP、 COPY LEFT、或者COPY PREVIOUS PAGE命令時,將命令解碼電路6024所輸出的處理字節(jié) 數(shù)保存到計數(shù)器6026的低位。上復制輸出電路6027,根據(jù)計數(shù)器6026所保持的處理字節(jié)數(shù), 從行緩沖器6031讀取上復制位置的數(shù)據(jù)并進行輸出。相當于上復制位置的行緩沖器6031的地址被保持在內置于上復 制輸出電路6027的寄存器中。此寄存器的初始值,由控制電路6015 預先寫入相當于上復制位置的值,每當解碼電路6013輸出1字節(jié)的 圖像數(shù)據(jù)就自動地進行加法運算,同時在該結果超過了行緩沖器6031 的最終地址的情況下,自動地再次設定為行緩沖器6031的起始地址。前頁復制輸出電路6028,根據(jù)計數(shù)器6026保持的處理字節(jié)數(shù), 讀取并輸出再解碼電路6019輸出的前一頁的相同位置的圖像數(shù)據(jù)。左復制輸出電路6029,根據(jù)計數(shù)器6026所保持的處理字節(jié)數(shù), 從行緩沖器6031讀取左復制位置的數(shù)據(jù)并進行輸出。相當于左復制位置的行緩沖器6031的地址被保持在內置于左復 制輸出電路6029的寄存器中。此寄存器的初始值,由控制電路6015 預先寫入相當于左復制位置的值,每當解碼電路6013輸出1字節(jié)的 圖像數(shù)據(jù)就自動地進行加法運算,同時在該結果超過了行緩沖器6031 的最終地址的情況下,自動地再次設定為行緩沖器6031的起始地址。原始數(shù)據(jù)輸出電路6030,輸出命令解碼電路6024所輸出的l字 節(jié)的原始數(shù)據(jù)。行緩沖器6031,保持多個行的解碼數(shù)據(jù),根據(jù)上復制電路6027 或者左復制電路6029輸出的地址,進行解碼數(shù)據(jù)的讀出,同時將上 復制電3各6027、前頁復制電^各6028、左復制電^各6029或者原始^t據(jù) 輸出電路6030所輸出的數(shù)據(jù)寫入到當前位置。相當于當前位置的行緩沖器6031的地址被保持在內置于行緩沖器6031的寄存器中。此寄存器的初始值,由控制電路6015預先寫入 行緩沖器6031的起始地址,每當解碼電路6013輸出1字節(jié)的圖像數(shù) 據(jù)就自動地進行加法運算,同時在該結果超過了行緩沖器6031的最 終地址的情況下,自動地再次設定為行緩沖器6031的起始地址。當命令解碼電路6024解碼COPY UP命令后,解碼后續(xù)的計數(shù)并 保存到計數(shù)器6026的低位,同時將信號輸出到上復制輸出電路6027 。 計數(shù)器6026的高位,在沒有在先發(fā)出COUNT HIGH命令的情況下保 存0,在先發(fā)出了的情況下保存表示COUNT HIGH命令的高位計數(shù)。 上復制位置的數(shù)據(jù)被從行緩沖器6031讀取并輸入到上復制輸出電路 6027。當上復制輸出電路6027輸出此數(shù)據(jù)后,所輸出的解碼數(shù)據(jù)就 被寫入到行緩沖器6031的當前位置。就這樣進行解碼數(shù)據(jù)的輸出直 到計數(shù)器6026達到0為止。當命令解碼電路6024解碼COPY PREVIOUS PAGE命令后,解 碼后續(xù)的計數(shù)并保存到計數(shù)器6026的低位,同時將信號輸出到前頁 復制輸出電路6028。計數(shù)器6026的高位,在先沒有發(fā)出COUNT HIGH 命令的情況下保存0,在先發(fā)出了的情況下保存表示COUNT HIGH 命令的高位計數(shù)。前一頁的相同位置的數(shù)據(jù)被從再解碼電路6019輸 入到前頁復制輸出電路6028。當前頁復制輸出電路6028輸出此數(shù)據(jù) 后,所輸出的解碼數(shù)據(jù)就被寫入到行緩沖器6031的當前位置。就這 樣進行解碼數(shù)據(jù)的輸出直到計數(shù)器6026達到0為止。當命令解碼電路6024解碼COPY LEFT命令后,解碼后續(xù)的計數(shù) 并保存到計數(shù)器6026的低位,同時將信號輸出到左復制輸出電路 6029。計數(shù)器6026的高位,在先沒有COUNT HIGH命令的情況下保左復制位置的數(shù)據(jù)被從行緩沖器6031讀取并輸入到左復制輸出電路 6029。當左復制輸出電路6029輸出此數(shù)據(jù)后,所輸出的解碼數(shù)據(jù)就 被寫入到行緩沖器6031的當前位置。就這樣進行解碼數(shù)據(jù)的輸出直 到計數(shù)器6026達到O為止。當命令解碼電路6024解碼RAW命令后,將后續(xù)的1字節(jié)的原始數(shù)據(jù)輸出到原始數(shù)據(jù)輸出電路6030。當原始數(shù)據(jù)出電路6030輸出此 數(shù)據(jù)后,所輸出的解碼數(shù)據(jù)就被寫入到行緩沖器6031的當前位置。當命令解碼電路6024解碼COUNT HIGH命令后,解碼后續(xù)的計 數(shù)并保存到計數(shù)器6026的高位。 [第6實施形式]由于表示在打印圖像時所使用的軟件群和打印機之間關系的概 念圖和第1實施形式相同,如圖1所示那樣,故省略該說明。另外由于本實施形式中的圖像處理裝置的基本構成和第1實施形 式相同,如圖17所示那樣,故省略該說明。另外由于本實施形式中的打印機1711的基本構成和第3實施形 式相同,如圖19所示的那樣,故省略該說明。另外由于本實施形式中的打印動作由于與第3實施形式相同,故 省略該i兌明。接著,參照圖32和圖21所示的表,就在本實施形式中的打印機 驅動器4生成的編碼進行說明。圖32是表示一例在本實施形式中的打印機驅動器4所生成的編 碼表的圖。在本實施形式中進行說明的各編碼是以位單位可變長度 的,例如以從2位到18位的位序來進行表示。與哈夫曼(Huffman) 編碼相同,各編碼構成為通過從開始4要順序進行查找就能夠識別編 碼。此外,本實施形式中設為在編碼時參照2處的左參照位置和2處 的上參照位置,符合減色處理時所使用的抖動顯示陣的特性,例如, 確定為左參照位置是關注位置的1字節(jié)左側和4字節(jié)左側的位置,另 外上參照位置是關注位置的4行上方和2行上方且2字節(jié)左側的位置。如圖32所示,編碼的位序以"1"開始的情況就是C0PYUP1命 令。在此命令之后接續(xù)表示后面說明的長度的編碼,指示從預先確定 的高優(yōu)先級的上參照位置,復制接續(xù)其后的編碼所表示的長度的字節(jié) 序列。另外,編碼的位序以"110"開始的情況就是COPY UP2命令。在此命令之后接續(xù)表示后面說明的長度的編碼,指示從預先確定的低 優(yōu)先級的上參照位置,復制接續(xù)其后的編碼所表示的長度的字節(jié)序 列,并且調換高優(yōu)先級的上參照位置和低優(yōu)先級的上參照位置。
另外,編碼的位序以"001"開始的情況就是RAW命令。在此命 令之后接續(xù)表示原始數(shù)據(jù)的8位數(shù)據(jù),指定持有接續(xù)其后的8位數(shù)據(jù) 的值的1字節(jié)的數(shù)據(jù)。
另外,編碼的位序以"010"開始的情況就是C0PYLEFT1命令。 在此命令之后接續(xù)表示后面說明的長度的編碼,指示從預先確定的高 優(yōu)先級的左參照位置,復制接續(xù)其后的編碼所表示的長度的字節(jié)序 列。
另夕卜,編碼的位序以"0001"開始的情況就是COPYLEFT2命令。 在此命令之后接續(xù)表示后面說明的長度的編碼,指示從預先確定的低 優(yōu)先級的左參照位置,復制接續(xù)其后的編碼所表示的長度的字節(jié)序 列,并且調換高優(yōu)先級的左參照位置和低優(yōu)先級的左參照位置。
另外,編碼的位序為"0000"的情況就是EOB命令,指示碼塊 的結束。
當在低優(yōu)先級的參照位置上數(shù)據(jù)相一致的情況下,以后在該參照 位置上數(shù)據(jù)相一致的可能性就高。從而,在輸出識別低優(yōu)先級的參照 位置的更長的代碼時,如果提高該參照位置的優(yōu)先級以在以后用更短 的代碼來進行識別的話,此后當在該參照位置上數(shù)據(jù)一致的情況下, 將要輸出的代碼的長度就會變短。所以,通過執(zhí)行COPYUP2命令、 COPY LEFT2命令,來調換高優(yōu)先級的參照位置和低優(yōu)先級的參照位 置,今后所輸出的代碼的長度就會變短。
接續(xù)在圖32所示的COPY UP1命令、COPY UP2命令、COPY LEFT1命令或COPY LEFT2命令之后的,表示長度的編碼的編碼表 的一例如第3實施形式中說明了的圖21所示的那樣。
接著參照圖33A、圖33B,就編碼處理舉出實例來進行說明。圖 33A表示編碼對象的圖像數(shù)據(jù),圖33B是表示被編碼的數(shù)據(jù)的圖,如 圖33A所示,10字節(jié)的圖像數(shù)據(jù)(關注數(shù)據(jù))00、 00、 12、 34、 56、
63接著參照圖33A、圖33B,就編碼處理舉出實例來進行說明。圖 33A表示編碼對象的圖像數(shù)據(jù),圖33B是表示被編碼的數(shù)據(jù)的圖,如 圖33A所示,10字節(jié)的圖像數(shù)據(jù)(關注數(shù)據(jù))00、 00、 12、 34、 56、78、 00、 BC、 DE和OO在最下行從左側進行排列,圖像數(shù)據(jù)12、 34、 56、 78、 9A、 BC、 DE、 00、 00、和00 (參照數(shù)據(jù))在比該行高2行 的行從左側進行排列。當前正要進行編碼或者解碼的圖像數(shù)據(jù)是最下 行,另外在此時刻,設高優(yōu)先級的左參照位置為1字節(jié)左側的位置(即 低優(yōu)先級的左參照位置為4字節(jié)左側的位置)、低優(yōu)先級的上參照位 置為2行上方且2字節(jié)左側的位置(即高優(yōu)先級的上參照位置為4行 上方的位置)形成。
這里最下行的起始字節(jié)00能夠編碼為位序001 00000000、即表 示原始數(shù)據(jù)00的RAW命令。
另外,下一個字節(jié)OO,能夠編碼為位序010 1,即從高優(yōu)先級的 左參照位置、即1字節(jié)左側的位置復制1字節(jié)的長度的COPYLEFTI 命令。
另外,隨后的字節(jié)序列12、 34、 56、 78能夠編碼為位序011 001 00,即從低優(yōu)先級的上參照位置、即2行上方且2字節(jié)左側的位置復 制4字節(jié)的長度的COPYUP2命令。此結果,就是上參照位置的優(yōu)先 級進行調換,以后的COPY UP1命令和COPY UP2命令將分別參照 從低優(yōu)先級變成高優(yōu)先級的2行上方且2字節(jié)左側的位置,和從高優(yōu) 先級變成低優(yōu)先級的4行上的位置。
下一個字節(jié)00能夠再次編碼為位序001 00000000、即表示原始 數(shù)據(jù)00的字節(jié)的RAW命令。
另外,隨后的字節(jié)序列BC、 DE、 00能夠編碼為位序1 01 1,即 從高優(yōu)先級的上參照位置、即2行上方且2字節(jié)左側的位置開始復制 3字節(jié)的長度的COPYUP1命令。
如上面那樣,就能夠編碼圖像數(shù)據(jù)。由于本實施形式中打印機驅 動器4的處理,遵循與第3實施形式相同的圖24所示的流程圖,故 省略其說明。
接著,就步驟S5011中本實施形式的編碼處理,參照表示相同處 理的流程圖的圖34A以及圖34B來進行說明。遵循該此程圖的程序 作為上述流程圖的子程序被安裝到打印機驅動器4。首先在步驟S7019,按照預定的初始值,即按照在上述步驟S5010 中所求出的壓縮參數(shù)來分別設定高優(yōu)先級的上參照位置、低優(yōu)先級的 上參照位置、高優(yōu)先級的左參照位置以及低優(yōu)先級的左參照位置。接 著,在步驟S7020,將當前位置、即進行編碼的圖像的位置設定到圖 像的起始行左端。
接著,在步驟S7021,判斷對應當前位置的高優(yōu)先級的上參照位 置是否正參照有效的圖像數(shù)據(jù)。在高優(yōu)先級的上參照位置正參照有效 的圖像數(shù)據(jù)的情況下,在步驟S7022,比較從當前位置開始的字節(jié)序 列和從高優(yōu)先級的上參照位置開始的字節(jié)序列來求得與高優(yōu)先級的 上參照位置相一致的長度。此外這時,在到達行末的情況下以及長度 達到255字節(jié)的情況下,就中止處理。接著,在步驟S7023,判斷與 步驟S7022所求出的高優(yōu)先級的上參照位置相一致的長度是否為0。 在不是0的情況下,由于能夠編碼成COPY UP1命令,就在步驟S7024 輸出表示C0PYUP1命令、即編碼1和表示接續(xù)在其后的字節(jié)數(shù)(在 步驟S7022所求出的長度)的編碼,處理進入步驟S7040。
另一方面,當在步驟S7021判斷為高優(yōu)先級的上參照位置是無效 的情況下,或是當在步驟S7023,判斷為與步驟S7022所求出的高優(yōu) 先級的上參照位置相一致的長度是O的情況下,都在步驟S7025,判 斷對應當前位置的高優(yōu)先級的左參照位置是否正參照有效的圖像數(shù) 據(jù)。在高優(yōu)先級的左參照位置正參照有效的圖像數(shù)據(jù)的情況下,在步 驟S7026,比較從當前位置開始的字節(jié)序列和從高優(yōu)先級的左參照位 置開始的字節(jié)序列來求得與高優(yōu)先級的左參照位置相一致的長度。此 外這時,在到達行末的情況下以及長度達到255字節(jié)的情況下,就中 止處理。接著在步驟S7027,判斷與步驟S7026所求出的高優(yōu)先級的 左參照位置相一致的長度是否為0。在不是O的情況下,由于能夠編 碼成COPY LEFTl命令,就在步驟S7028輸出表示COPY LEFTl命 令、即編碼OIO和表示接續(xù)在其后的字節(jié)數(shù)(在步驟S7026所求出的 長度)的編碼,處理進入步驟S7040。
不管是當在步驟S7025判斷為高優(yōu)先級的左參照位置是無效的情況下,還是當在步驟S7027判斷為與步驟S7026所求出的高優(yōu)先級 的左參照位置相一致的長度是O的情況下,都在步驟S7029,判斷對 應當前位置的低優(yōu)先級的上參照位置是否正參照有效的圖像數(shù)據(jù)。在 低優(yōu)先級的上參照位置正參照有效的圖像數(shù)據(jù)的情況下,在步驟 S7030,比較從當前位置開始的字節(jié)序列和從低優(yōu)先級的上參照位置 開始的字節(jié)序列來求得與低優(yōu)先級的上參照位置相一致的長度。此外 這時,在到達行末的情況下以及長度達到255字節(jié)的情況下,就中止 處理。接著在步驟S7031,判斷步驟S7030所求出的與低優(yōu)先級的上 參照位置相一致的長度是否為0。在不是O的情況下,因為能夠編碼 為C0PYUP2命令,就在步驟S7032輸出COPY UP2命令、即編碼 011和表示接續(xù)在其后的字節(jié)數(shù)(在步驟S7030所求出的長度)的編 碼,接著在步驟S7033調換高優(yōu)先級的上參照位置和低優(yōu)先級的上參 照位置,處理進入步驟S7040。
當在步驟S7029判斷為低優(yōu)先級的上參照位置是無效的情況下,
置相一致的長度是O的情況下,都在步驟S7034,判斷對應當前位置 的低優(yōu)先級的左參照位置是否正參照有效的圖像數(shù)據(jù)。在低優(yōu)先級的 左參照位置正參照有效的圖像數(shù)據(jù)的情況下,在步驟S7035,比較從 當前位置開始的字節(jié)序列和從低優(yōu)先級的左參照位置開始的字節(jié)序 列來求得與低優(yōu)先級的左參照位置相一致的長度。此外這時,在到達 行末的情況下以及長度達到255字節(jié)的情況下,就中止處理。接著在 步驟S7036,判斷步驟S7035所求出的與低優(yōu)先級的上參照位置相一 致的長度是否為0。在不是0的情況下,因為能夠編碼為C0PYLEFT2 命令,就在步驟S7037輸出COPYLEFT2命令、即編碼0001和表示 接續(xù)在其后的字節(jié)數(shù)(在步驟S7035所求出的長度)的編碼,接著在 步驟S7038調換高優(yōu)先級的左參照位置和低優(yōu)先級的左參照位置,處 理進入步驟S7040。
不管是當在步驟S7034判斷為低優(yōu)先級的左參照位置是無效的 情況下,還是當在步驟S7036判斷為與步驟S7035所求出的低優(yōu)先級的左參照位置相一致的長度是0的情況下,都在步驟S7039,輸出 RAW命令、即編碼001和接續(xù)在其后的當前位置的1字節(jié)的數(shù)據(jù), 處理進入步驟S7040。
在步驟S7040中,僅將當前位置前移用C0PYUP1、 C0PYUP2、 C0PYLEFT1、 COPY LEFT2或RAW命令所處理的字節(jié)數(shù)。接著在 步驟S7041,判斷是否處理了全部的圖像數(shù)據(jù)。在沒有處理完全部的 圖像數(shù)據(jù)的情況下,返回步驟S7021,繼續(xù)編碼。在處理完全部的圖 像數(shù)據(jù)的情況下,在步驟S7042輸出EOB命令、即編碼OOOO,接著 在步驟S7043,將編碼向字節(jié)邊界進行對齊。具體就是,在已輸出的 編碼的總位數(shù)不是8的整數(shù)倍的情況下,輸出位0直到到達8的整數(shù) 倍為止。這樣,當編碼的處理結束后就返回。
接著使用表示圖19所示的解碼電路513在本實施形式中的構成 的圖35,就相同電路的細節(jié)進行說明。圖35是表示在圖19所示的解 碼電路513在本實施形式中的基本構成的框圖。
在圖35中,輸入緩沖器7021保存從FIFO存儲器512所讀出的 編碼數(shù)據(jù)。輸入緩沖器7021至少能夠保存4字節(jié)的數(shù)據(jù),在輸入緩 沖器5021中產(chǎn)生空閑,且FIFO存儲器512中有數(shù)據(jù)的情況下,從 FIFO存儲器512讀出數(shù)據(jù)并進行保存。另外,當保持在位計數(shù)器7023 中的處理完的位數(shù)成為8位以上的情況下,輸入緩沖器7021刪除不 需要的處理完的數(shù)據(jù)。
第一選擇器7022是例如11組的8輸入選擇器,通過根據(jù)位計數(shù) 器7023所表示的處理完的位數(shù)對保存在輸入緩沖器7021中的編碼數(shù) 據(jù)進行選擇,進行命令解碼電路7024處理所需要的、命令的開始位 置的對齊。由于相對于輸入緩沖器7021以字節(jié)單位來保持數(shù)據(jù),命 令是位單位的可變長度數(shù)據(jù),所以為了有8處的開始位置這一點是必 要的。
位計數(shù)器7023,保存輸入緩沖器7021所保存的編碼數(shù)據(jù)中的處 理完的位數(shù)。另外,位計數(shù)器7023通過加上從命令解碼電路7024所 輸出的命令的位數(shù)來更新保存在位計數(shù)器中的值。另外,位計數(shù)器7023在輸入緩沖器7021刪除了處理完的數(shù)據(jù)的情況下,減去已刪除 的位數(shù)。另外,在命令解碼電^各7024對EOB命令進行解碼時,位計 數(shù)器7023從命令解碼電路7024接收EOB信號,進行字節(jié)邊界對齊 的處理。具體就是,如果位計數(shù)器的低位3位全部是0就什么也不作, 如果不是這樣就在加上8的同時清除低位3位。
命令解碼電路7024,由例如只讀存儲器或者布線邏輯(wired logic)構成,對由第一選擇器7022進行了位置對齊的、保存在輸入 緩沖器7021的編碼數(shù)據(jù)進行解碼,在已解碼的命令是EOB命令的情 況下,向位計數(shù)器7023、上優(yōu)先FF7029以及左優(yōu)先FF7030輸出信 號,在已解碼的命令是COPY UP1命令或COPY UP2命令的情況下 向第二選擇器7025以及第三選擇器7026輸出信號,在已解碼的命令 是COPY LEFT1命令或COPY LEFT2命令的情況下,向第四選擇器 7027以及第五選擇器7028輸出信號,在已解碼的命令是RAW命令 的情況下向原始數(shù)據(jù)輸出電路7036輸出信號。另外,命令解碼電路 7024在解碼了 COPY UP1、 COPY UP2、 COPY LEFT1或者COPY LEFT2命令的情況下,也解碼并輸出編碼所表示的字節(jié)數(shù),同時在解 碼了 RAW命令的情況下,也解碼并輸出編碼所表示的8位數(shù)據(jù)。
7025是第二選擇器,在上優(yōu)先FF7029保持0的情況下,輸出命 令解碼電路7024在解碼COPY UP1命令時輸出的信號,另外在上優(yōu) 先FF7029保持1的情況下,輸出命令解碼電路7024在解碼COPY UP2 命令時輸出的信號。
7026是第三選擇器,在上優(yōu)先FF7029保持0的情況下,輸出命 令解碼電路7024在解碼COPY UP2命令時輸出的信號,另外在上優(yōu) 先FF7029保持1的情況下,輸出命令解碼電路7024在解碼COPY UP1 命令時輸出的信號。
7027是第四選擇器,在左優(yōu)先FF7030保持0的情況下,輸出命 令解碼電路7024在解碼C0PYLEFT1命令時輸出的信號,另外在左 優(yōu)先FF7030保持1的情況下,輸出命令解碼電路7024在解碼COPY LEFT2命令時輸出的信號。7028是第五選擇器,在左優(yōu)先FF7030保持0的情況下,輸出命 令解碼電路7024在解碼C0PYLEFT2命令時輸出的信號,另外在左 優(yōu)先FF7030保持1的情況下,輸出命令解碼電路7024在解碼COPY LEFT1命令時輸出的信號。
7029是上優(yōu)先FF,對表示第一上復制電路7031或第二上復制電 路7032的任意一個被優(yōu)先使用的值進行保持。另外上優(yōu)先FF7029在 命令解碼電路7024解碼了 COPY UP2命令時反轉所保持的值。
7030是左優(yōu)先FF,對表示第一左復制電路7033或第二左復制電 路7034的任意一個被優(yōu)先使用的值進行保持。另外左優(yōu)先FF7030在 命令解碼電路7024解碼了 COPY LEFT2命令時反轉保持的值。
7031是第一上復制電路,在從第二選擇器7025接收了信號時, 一并接收應復制的字節(jié)數(shù),根據(jù)所接收的字節(jié)數(shù),反復從行緩沖器 7035讀取數(shù)據(jù)并輸出已讀取的數(shù)據(jù)。
7032是第二上復制電路,在從第三選擇器7026接收了信號時, 一并接收應復制的字節(jié)數(shù),根據(jù)所接收的字節(jié)數(shù),反復從行緩沖器 7035讀取數(shù)據(jù)并輸出已讀取的數(shù)據(jù)。
7033是第一左復制電路,在從第四選擇器7027接收了信號時, 一并接收應復制的字節(jié)數(shù),根據(jù)所接收到字節(jié)數(shù),反復從行緩沖器 7035讀取數(shù)據(jù)并輸出已讀取的數(shù)據(jù)。
7034是第二左復制電路,在從第五選擇器7028接收了信號時, 一并接收應復制的字節(jié)數(shù),根據(jù)所接收的字節(jié)數(shù),反復從行緩沖器 7035讀取數(shù)據(jù)并輸出已讀取的數(shù)據(jù)。
7035是行緩沖器,作為保持多個行的解碼數(shù)據(jù)的環(huán)形存儲器來進 行動作,輸出保存在第一上復制電路7031、第二上復制電路7032、 第一左復制電路7033或第二左復制電路7034所輸出的地址上的數(shù) 據(jù),同時將已解碼的數(shù)據(jù)保存在當前地址寄存器7037所輸出的地址 上。
7036是原始數(shù)據(jù)輸出電路,接收在命令解碼電路7024解碼了 RAW命令時,同時被輸出的表示原始數(shù)據(jù)的8位的數(shù)據(jù),并輸出已接收的數(shù)據(jù)。7037是當前地址寄存器,輸出表示當前將要進行解碼的數(shù)據(jù)位置 的地址,同時每當解碼了的數(shù)據(jù)被保存到行緩沖器7035時就進行計 數(shù)增力口。另外,在第一上復制電路7031、第二上復制電路7032、第一左 復制電路7033以及第二左復制電路7034上保持分別表示第一上復制 位置、第二上復制位置、笫一左復制位置以及第二左復制位置的地址, 每當當前地址寄存器7037進行計數(shù)增加就同樣地進行計數(shù)增加。當命令解碼電路7024解碼COPY UP1命令后,就解碼后續(xù)的計 數(shù),并將信號輸出第二選擇器7025和第三選擇器7026。然后,根據(jù) 上優(yōu)先FF7029保持的值,從第二選擇器7025或第三選擇器7026的 任意一方輸出信號,根據(jù)該信號第一上復制電路7031或第二上復制 電路7032的任意一方進行動作。例如,在上優(yōu)先FF7029保持的值是0的情況下,當解碼COPY UP1命令時第二選擇器7025將信號輸出到第一復制電路7031,第三 選擇器7026不輸出信號。第一上復制電路7031將保持在內部的、表 示第 一上復制位置的地址輸出到行緩沖器7035,讀取保存在行緩沖器 7035中的第 一上復制位置的數(shù)據(jù),將所讀取的數(shù)據(jù)作為解碼數(shù)據(jù)輸出 到打印引擎514。當前地址寄存器7037輸出表示當前位置的地址,行 緩沖器7035在該地址上保存解碼數(shù)據(jù)。接著,分別保持在第一上復 制電路7031、第二上復制電路7032、第一左復制電路7033以及第二 左復制電路7034的內部的,表示第一上復制位置的地址、表示第二 上復制位置的地址、第 一左復制位置的地址和表示第二左復制位置的 地址、以及表示當前地址寄存器7037保持的當前位置的地址進行計 數(shù)增加。此動作根據(jù)所指定的字節(jié)數(shù)進行反復。當命令解碼電路7024解碼COPYUP2命令后,解碼后續(xù)的計數(shù), 并將信號輸出到第二選擇器7025和第三選擇器7026。然后,根據(jù)上 優(yōu)先FF7029保持的值,從第二選擇器7025或第三選擇器7026的任 意一方輸出信號,根據(jù)該信號第一上復制電路7031或第二上復制電路7032的任意一方進行動作。例如,在上優(yōu)先FF7029保持的值是0情況下,當解碼COPY UP2 命令時第三選擇器7026將信號輸出到第二復制電路7032,第二選擇 器7025不輸出信號。第二上復制電路7032與上述的第 一上復制電路 7031的動作同樣地進行動作,由于上優(yōu)先FF7029保持的值反轉成為 1,故后續(xù)的C0PYUP1命令對應于第二上參照位置,另外COPYUP2 命令對應于第一上參照位置。命令解碼電路7024在解碼了 COPY LEFT 1命令和COPY LEFT2 命令的情況下,也與上述的COPY UP1命令和COPY UP2命令同樣 地進行動作。當命令解碼電路7024解碼RAW命令時,解碼后續(xù)的8位數(shù)據(jù), 并將信號輸出到原始數(shù)據(jù)輸出電路7036。原始數(shù)據(jù)輸出電路7036將 接收到的8位數(shù)據(jù)原封不動地作為解碼數(shù)據(jù)輸出到打印引擎514。當 前地址寄存器7037輸出表示當前位置的地址,行緩沖器7035將解碼 數(shù)據(jù)保存到該地址。接著,分別保持在第一上復制電路7031、第二上 復制電路7032、第一左復制電路7033以及第二左復制電路7034的內 部的,表示第一上復制位置的地址、表示第二上復制位置的地址、表 示第 一左復制位置的地址和表示第二左復制位置的地址,以及當前地 址寄存器7037保持的表示當前位置的地址進行計數(shù)增加。當命令解碼電路7024解碼EOB命令后,位計數(shù)器7023如前所 述進行字節(jié)邊界對齊的處理,同時將上優(yōu)先FF7029以及左優(yōu)先 FF7030詳?shù)禴會4匕為^^臺值,侈'J^口 0。此外,分別保持在第一上復制電路7031、第二上復制電路7032、 第一左復制電路7033以及第二左復制電路7034的內部的,表示第一 上復制位置的地址、表示第二上復制位置的地址、表示第一左復制位 置的地址和表示第二左復制位置的地址,以及當前地址寄存器7037 保持的表示當前位置的地址,設定為使用基于預先由控制電路515通 過壓縮參數(shù)指定命令所指定的位置的初始值。另外,由于行緩沖器7035作為環(huán)形存儲器來進行動作,在分別保持在第一上復制電路7031、第二上復制電路7032、第一左復制電 路7033以及第二左復制電路7034內部的,表示第一上復制位置的地 址、表示第二上復制位置的地址、表示第一左復制位置的地址和表示 第二左復制位置的地址,以及當前地址寄存器7037保持的表示當前 位置的地址為行緩沖器7035的末尾地址的情況下,因計數(shù)增加時進 行繞回而保存行緩沖器7035的起始地址。根據(jù)以上說明,使用作為本實施形式中的圖像編碼裝置、圖像解 碼裝置來發(fā)揮功能的圖像處理裝置,在參照了編碼為較長編碼的參照 位置的情況下,由于通過調換參照位置與編碼的對應關系,就能夠在 以后參照了該參照位置時編碼為較短的代碼,所以不管數(shù)據(jù)的周期如 何都能夠高效率地進行壓縮。另外,在圖像數(shù)據(jù)的周期與抖動顯示陣的周期不同的情況下,有 與在關注位置鄰近,而且和減色處理時適用于關注位置的演算近似的 演算所適用的位置的相關性高的傾向。由于這樣的位置限于少數(shù)的位置,另外通過預先檢查抖動顯示陣、或預先使用各種圖像數(shù)據(jù)來取得 統(tǒng)計就能夠進行確定,故通過從這樣的位置以及僅間隔抖動顯示陣的 周期的位置中作為參照位置預先選擇多個位置,不管圖像數(shù)據(jù)的周期 如何都能夠有效地進行編碼。另外,有圖像數(shù)據(jù)的周期在大范圍上是恒定的傾向。因此,在低 優(yōu)先級的參照位置上數(shù)據(jù)相一致的情況下,以后在該參照位置的數(shù)據(jù) 相一致的可能性也高。因此,通過在輸出了識別低優(yōu)先級的參照位置 的較長的代碼時,提高該參照位置的優(yōu)先級今后使用較短的代碼來識 別,此后在該參照位置上數(shù)據(jù)相一致了的情況下輸出的編碼就變短, 所以與不進行優(yōu)先級的調換的情況相比,就能夠有效地進行編碼。另外,雖然在實施實施形式中,調換2個的參照位置的優(yōu)先級別, 但也可以取代此而調換至少3個的參照位置的優(yōu)先級別。如以上說明的那樣,利用本發(fā)明,在對具有周期性的圖像、特別 是墻紙等排列有背景圖案的圖像數(shù)據(jù)進行編碼時,就能夠更高速地, 且以更高壓縮率來壓縮整個圖像。另外利用本發(fā)明,能夠減小對已編碼的墻紙等排列有背景圖案的 圖像的編碼進行解碼的解碼電路的電路規(guī)模,且進行無需大量的緩沖 存儲器的,就能夠以低成本構成的解碼。另外如以上詳細地進行了說明那樣,利用本發(fā)明,在與前面的圖 像數(shù)據(jù)序列相 一致的情況下利用該冗余性得到高的壓縮率,同時即使 在圖像數(shù)據(jù)序列 一致的部分少的情況下,也能夠極力抑止壓縮率的降 低。另外如以上詳細地進行了說明那樣,在本發(fā)明中,由于除了關注 位置的左側以及上方,還參照前一頁的相同位置來進行編碼,即使是 與左側以及上方的參照位置的相關性低的圖像,在后續(xù)的頁使用同樣 的背景圖案的情況等,在編碼與前一 頁的相關性高的圖像時能夠高效 率地進行壓縮。另外,在本發(fā)明中,由于對應該參照的前一頁的圖像數(shù)據(jù)進行編 碼并保持,與原封不動地保持圖像數(shù)據(jù)的情況相比,就能夠用更小容 量的存儲器來保持前 一 頁的圖像數(shù)據(jù)。另夕卜,根據(jù)以上的說明,利用本發(fā)明,就能夠高效率地特別是以 短的代碼來編碼圖像。
權利要求
1. 一種壓縮圖像的圖像處理裝置,其特征在于,包括顏色變換裝置,對圖像使用抖動矩陣進行顏色變換處理,生成各種顏色的圖像數(shù)據(jù);以及命令輸出裝置,對每種顏色的圖像數(shù)據(jù),比較作為壓縮對象的象素數(shù)據(jù)序列和與該象素數(shù)據(jù)序列有預定的位置關系的象素數(shù)據(jù)序列,在輸出表示相一致的象素數(shù)據(jù)序列的長度的命令的同時輸出表示該比較內容的命令,生成各種顏色的圖像數(shù)據(jù)的編碼數(shù)據(jù)。
2. —種壓縮圖像的圖像處理裝置,其特征在于,包括 顏色變換裝置,對圖像使用抖動矩陣進行顏色變換處理,生成各種顏色的圖像數(shù)據(jù);編碼裝置,壓縮上述各種顏色的圖像數(shù)據(jù)并進行編碼;以及 輸出裝置,輸出由上述編碼裝置編碼的編碼數(shù)據(jù); 上述編碼裝置備有,第l命令輸出裝置,比4交作為壓縮對象的列的象素數(shù)據(jù)序列,和作 為與該列有預定的位置關系的列的象素數(shù)據(jù)序列,求得相一致的象素數(shù)據(jù)序列的長度,作為該相一致的象素數(shù)據(jù)序列,在輸出表示上述比較內 容的命令的同時輸出表示上述長度的命令;第2命令輸出裝置,在上述長度為0的情況下,比較作為壓縮對象 的列的象素數(shù)據(jù)序列,和在該列中有預定的位置關系的象素凝:據(jù)序列, 求得相一致的象素數(shù)據(jù)序列的長度,作為該相一致的象素數(shù)據(jù)序列,在保存裝置,在由上述第l命令輸出裝置所求出的長度和由上述第2 命令輸出裝置所求出的長度都為0的情況下,保存作為壓縮對象的列的 象素數(shù)據(jù)序列的 一部分或者全部;第3命令輸出裝置,在由上述第l命令輸出裝置所求出的長度和由 上述第2命令輸出裝置所求出的長度都為0的情況下,比較作為壓縮對 象的象素數(shù)據(jù)和保存在上述保存裝置中的象素數(shù)據(jù),作為上述作為壓縮 對象的象素數(shù)據(jù),在輸出表示相一致的象素數(shù)據(jù)在上述保存裝置中的位 置的命令的同時輸出表示上述比較內容的命令;以及第4命令輸出裝置,在由上述第l命令輸出裝置所求出的長度和由 上述第2命令輸出裝置所求出的長度都為0的情況下,且在由上述第3 命令輸出裝置輸出的比較結果是判斷為與作為壓縮對象的象素數(shù)據(jù)相一致的象素數(shù)據(jù)不存在于上述保存裝置的情況下,輸出表示作為壓縮對象的象素數(shù)據(jù)的命令;并生成包含由上述第1至第4命令輸出裝置的一部分或者全部輸出 的命令的編碼數(shù)據(jù)。
3. 如權利要求2所述的圖像處理裝置,其特征在于 上述顏色變換裝置,通過對圖像使用抖動矩陣,將使用了紅、綠、藍的圖像顏色變換成使用了青、品紅、黃、黑的圖像;上述編碼裝置,對青、品紅、黃、黑各色的圖像數(shù)據(jù)進行編碼。
4. 如權利要求2所述的圖像處理裝置,其特征在于上述第3命令輸出裝置,在由上述第l命令輸出裝置所求出的長度 和由上述第2命令輸出裝置所求出的長度同時為0的情況下,比較作為 壓縮對象的象素數(shù)據(jù)和保存在上述保存裝置中的象素數(shù)據(jù),作為上述作 為壓縮對象的象素數(shù)據(jù),在輸出表示相一致的象素數(shù)據(jù)在上述保存裝置 中的位置的命令的同時輸出表示上述比較內容的命令;將上述相一致的象素數(shù)據(jù)保存到上述保存裝置。
5. 如權利要求2所述的圖像處理裝置,其特征在于上述第4命令輸出裝置,在由上述第1命令輸出裝置所求出的長度 和由上述第2命令輸出裝置所求出的長度都為0的情況下,且在由上述 第3命令輸出裝置輸出的比較結果是判斷為與作為壓縮對象的象素數(shù)據(jù) 相一致的象素數(shù)據(jù)不存在于上述保存裝置的情況下,輸出表示作為壓縮 對象的象素數(shù)據(jù)的命令;將作為上述壓縮對象的象素數(shù)據(jù)保存到上述保存裝置。
6. 如權利要求2所述的圖像處理裝置,其特征在于 上述保存裝置是高速緩沖存儲器,上述第3命令輸出裝置,作為上述作為壓縮對象的象素數(shù)據(jù),在輸出表示對作為壓縮對象的象素數(shù)據(jù)發(fā) 生了高速緩沖存儲器命中的上述高速緩沖存儲器的位置的命令的同時 輸出表示上述比較內容的命令。
7. 如權利要求2所述的圖像處理裝置,其特征在于 上述輸出裝置,填補O以使將要輸出的編碼數(shù)據(jù)的總位數(shù)為8的倍數(shù)。
8. 如權利要求2所述的圖像處理裝置,其特征在于 上述預定的位置關系,是依照上述抖動矩陣的周期的位置關系。
9. 一種對編碼數(shù)據(jù)進行解碼的圖像處理裝置,其特征在于,包括 第1保存裝置,保存已解碼的象素凄t據(jù)序列;第2保存裝置,將已解碼的象素數(shù)據(jù)序列移位預定個數(shù)進行保存; 第3保存裝置,保存包含在上述編碼數(shù)據(jù)中的原始象素數(shù)據(jù)序列;以及還原裝置,確定對在上述編碼數(shù)據(jù)的生成時所進行的、作為壓縮對 象的列的象素數(shù)據(jù)序列和作為與該列有預定的位置關系的列的象素數(shù) 據(jù)序列的比較結果進行表示的各種命令的內容,依照所確定的內容使用 保存在上述第1保存裝置或者第2保存裝置或者第3保存裝置中的象素 數(shù)據(jù)來還原圖像。
10. 如權利要求9所述的圖像處理裝置,其特征在于上述第l保存裝置是行緩沖器,是具有上述編碼數(shù)據(jù)的生成時的作 為壓縮對象的列的象素數(shù)據(jù)序列和與該列有預定的位置關系的列的象 素序列的間隔部分的大小的環(huán)形存儲器。
11. 如權利要求9所述的圖像處理裝置,其特征在于 上述第2保存裝置,由移位寄存器和選擇器構成,將已解碼的象素數(shù)據(jù)序列移位上述編碼數(shù)據(jù)的生成時的作為壓縮對象的列的象素數(shù)據(jù) 序列和在該列中有預定的位置關系的象素序列的間隔部分。
12. 如權利要求9所述的圖像處理裝置,其特征在于 上述第3保存裝置是高速緩沖存儲器。
13. 如權利要求9所述的圖像處理裝置,其特征在于 上述解碼裝置,當表示通過在上述編碼數(shù)據(jù)的生成時進行的作為壓縮對象的列的象素數(shù)據(jù)序列和作為與該列有預定的位置關系的列的象 素數(shù)據(jù)序列的比較所求得的、在各自的象素數(shù)據(jù)序列中相一致的象素數(shù) 據(jù)序列的長度以及該比較內容的命令的情況下,讀出保存在通過該命 令所確定的上述第l保存裝置中的象素數(shù)據(jù)序列,追加到保存在上述第 1保存裝置中的象素數(shù)據(jù)序列的末尾進行保存,同時保存到上述第2保 存裝置的起始位置。
14. 如權利要求9所述的圖像處理裝置,其特征在于 上述解碼裝置,當表示通過在上述編碼數(shù)據(jù)的生成時進行的作為壓縮對象的列的象素數(shù)據(jù)序列和在該列中有預定的位置關系的象素數(shù)據(jù) 序列的比較所求得的、在各自的象素數(shù)據(jù)序列中相一致的象素數(shù)據(jù)序列的長度以及該比較內容的命令的情況下,從上述第2保存裝置讀出通過 該命令所確定的個數(shù)的象素數(shù)據(jù)序列,追加到保存在上述第l保存裝置 中的象素數(shù)據(jù)序列的末尾進行保存,同時保存到上述第2保存裝置的起 始位置。
15. 如權利要求9所述的圖像處理裝置,其特征在于 上述解碼裝置,當表示通過在上述編碼數(shù)據(jù)的生成時進行的作為壓縮對象的列的象素數(shù)據(jù)序列和保存在預定保存裝置中的作為壓縮對象 的列的象素數(shù)據(jù)序列的一部分或者全部的象素數(shù)據(jù)序列的比較所確定 的、在各自的象素數(shù)據(jù)序列中相一致的象素數(shù)據(jù)在上述預定的保存裝置 中的位置以及該比較內容的命令的情況下,讀出保存在通過該命令所確 定的上述第3保存裝置中的象素數(shù)據(jù)序列,追加到保存在上述第1保存 裝置中的象素數(shù)據(jù)序列的末尾進行保存,同時保存到上述第3保存裝置 的起始位置。
16. 如權利要求9所述的圖像處理裝置,其特征在于 上述解碼裝置,當表示作為壓縮對象的象素數(shù)據(jù)的命令情況下,將該命令所表示的象素數(shù)據(jù)追加到保存在上述第1保存裝置中的象素數(shù)據(jù) 序列的末尾進行保存,同時保存到上述第3保存裝置的起始位置。
17. —種壓縮圖像的圖像處理方法,其特征在于,包括 顏色變換步驟,對圖像使用抖動矩陣進行顏色變換處理,生成各種顏色的圖像數(shù)據(jù);以及命令輸出步驟,對每種顏色的圖^象數(shù)據(jù),比較作為壓縮對象的象素 數(shù)據(jù)序列和與該象素數(shù)據(jù)序列有預定的位置關系的象素數(shù)據(jù)序列,在 輸出表示相一致的象素數(shù)據(jù)序列的長度的命令的同時輸出表示該比較 內容的命令,生成各種顏色的圖像數(shù)據(jù)的編碼數(shù)據(jù)。
18. —種壓縮圖像的圖像處理方法,其特征在于,包括 顏色變換步驟,對圖像使用抖動矩陣進行顏色變換處理,生成各種顏色的圖像數(shù)據(jù);編碼步驟,壓縮上述各種顏色的圖像數(shù)據(jù)并進行編碼;以及 輸出步驟,輸出由上述編碼步驟編碼的編碼數(shù)據(jù); 上述編碼步驟包括,第l命令輸出步驟,比較作為壓縮對象的列的象素數(shù)據(jù)序列和作為 與該列有預定的位置關系的列的象素翁:據(jù)序列,求得相一致的象素翁:據(jù)序列的長度,作為該相一致的象素數(shù)據(jù)序列,在輸出表示上述比較內容的命令的同時輸出表示上述長度的命令;第2命令輸出步驟,在上述長度為0的情況下,比較作為壓縮對象 的列的象素數(shù)據(jù)序列和在該列中有預定的位置關系的象素數(shù)據(jù)序列,求 得相一致的象素數(shù)據(jù)序列的長度,作為該相一致的象素數(shù)據(jù)序列,在輸 出表示上述比較內容的命令的同時輸出表示上述長度的命令;保存步驟,在由上述第l命令輸出步驟所求出的長度和由上述第2 命令輸出步驟所求出的長度都為0的情況下,將作為壓縮對象的列的象 素數(shù)據(jù)序列的 一部分或者全部保存到預定的保存裝置;第3命令輸出步驟,在由上述第l命令輸出步驟所求出的長度和由 上述第2命令輸出步驟所求出的長度都為0的情況下,比較作為壓縮對 象的象素數(shù)據(jù)和由上述保存步驟所保存的象素數(shù)據(jù),作為上述作為壓縮 對象的象素數(shù)據(jù),在輸出表示相一致的象素數(shù)據(jù)序列由上述保存步驟所 保存的位置的命令的同時輸出表示上述比較內容的命令;以及第4命令輸出步驟,在由上述第l命令輸出步驟所求出的長度和由 上述第2命令輸出步驟所求出的長度都為0的情況下,且在由上述第3 命令輸出步驟輸出的比較結果是判斷為與作為壓縮對象的象素數(shù)據(jù)相 一致的象素數(shù)據(jù)沒有由上述保存步驟進行保存的情況下,輸出表示作為 壓縮對象的象素數(shù)據(jù)的命令;并生成包含由上述第1至第4命令輸出步驟的一部分或者全部輸出 的命令的編碼數(shù)據(jù)。
19. 一種對編碼數(shù)據(jù)進行解碼的圖像處理裝置所運行的圖像處理方 法,所述圖像處理裝置備有保存已解碼的象素數(shù)據(jù)序列的第1保存裝置; 將已解碼的象素數(shù)據(jù)序列移位預定個數(shù)進行保存的第2保存裝置;以及 保存包含在上述編碼數(shù)據(jù)中的原始的象素數(shù)據(jù)序列的第3保存裝置;其特征在于,確定對在上述編碼數(shù)據(jù)的生成時進行的作為壓縮對象 的列的象素數(shù)據(jù)序列和作為與該列有預定的位置關系的列的象素數(shù)據(jù) 序列的比較結果進行表示的各種命令的內容,依照所確定的內容使用保 存在上述第l保存裝置或者第2保存裝置或者第3保存裝置中的象素數(shù) 據(jù)來還原圖像。
全文摘要
本發(fā)明提供一種壓縮圖像的圖像處理裝置和圖像處理方法。該圖像處理裝置包括顏色變換裝置,對圖像使用抖動矩陣進行顏色變換處理,生成各種顏色的圖像數(shù)據(jù);以及命令輸出裝置,對每種顏色的圖像數(shù)據(jù),比較作為壓縮對象的象素數(shù)據(jù)序列和與該象素數(shù)據(jù)序列有預定的位置關系的象素數(shù)據(jù)序列,在輸出表示相一致的象素數(shù)據(jù)序列的長度的命令的同時輸出表示該比較內容的命令,生成各種顏色的圖像數(shù)據(jù)的編碼數(shù)據(jù)。能夠在對具有周期性的圖像、特別是墻紙等排列有背景圖案的圖像數(shù)據(jù)進行編碼時,就能夠更高速地,且以更高壓縮率來壓縮整個圖像。
文檔編號G06T9/00GK101282407SQ20081009739
公開日2008年10月8日 申請日期2002年12月5日 優(yōu)先權日2001年12月6日
發(fā)明者坂本陽一 申請人:佳能株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1