JPWO2004068844A1 - 画像圧縮方法、画像復元方法、プログラム及び装置 - Google Patents

画像圧縮方法、画像復元方法、プログラム及び装置 Download PDF

Info

Publication number
JPWO2004068844A1
JPWO2004068844A1 JP2004567528A JP2004567528A JPWO2004068844A1 JP WO2004068844 A1 JPWO2004068844 A1 JP WO2004068844A1 JP 2004567528 A JP2004567528 A JP 2004567528A JP 2004567528 A JP2004567528 A JP 2004567528A JP WO2004068844 A1 JPWO2004068844 A1 JP WO2004068844A1
Authority
JP
Japan
Prior art keywords
image
block
processing
reference block
processing block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004567528A
Other languages
English (en)
Inventor
酒井 憲一郎
憲一郎 酒井
野田 嗣男
嗣男 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2004068844A1 publication Critical patent/JPWO2004068844A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/4105Bandwidth or redundancy reduction for halftone screened pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

画像圧縮は、入力画像を縦横所定の画素数のブロックに分割し、分割されたブロックを主走査方向および副走査方向に走査して順番に処理ブロックとして選択し、選択されたブロックとの位置関係及び画素値の関係が所定の条件を満たすブロックを参照ブロックとして選択する。続いて処理ブロックと参照ブロックの画素値を排他的論理和(XOR)して差分画像を生成し、差分画像が所定の条件を満たす場合に処理ブロックを差分画像に置き換える。更に、ブロック置換を実行して得られた差分画像像を処理ブロックに含む画像を符号化し、この画像符号化を実行して得られた符号データ、ブロック置換を実行して得られた各処理ブロックの差分画像への置換有無、および参照ブロックの位置情報とを組み合わせて出力する。画像復元は、符号データから差分画像を含む画像を復号し、この復号画像をブロック分割した処理ブロックと参照ブロックとの排他的論理和(XOR)により元の画像を復号する。

Description

本発明は、ビットマップ画像を圧縮してプリンタ等に転送した後に復元する画像圧縮方法、画像復元方法、プログラム及び装置に関し、特に、クラデーションのような画像変化を高圧縮可能な画像圧縮方法、画像復元方法、プログラム及び装置に関する。
近年、パソコンなどの情報機器が普及し、様々な用途に使用されている。特に、パソコンで画像を処理する場合が多く見られ、パソコンにプリンタを接続し、画像を印刷したり、インターネットなどのネットワークを介して画像データを転送するなどの処理が行われている。しかし、画像が複雑になればなるほど、パソコンからプリンタへの画像データの転送や、ネットワークを介しての画像データの転送に時間がかかり過ぎるようになり、画像データを圧縮して転送することが望まれる。このためフォントを持たないプリンタにビットマップ画像を直接転送して印刷を行う場合に、画像データを圧縮することによって、送信すべきデータの量が少なくなり、転送時間を節約できるものである。この場合、画像データには、カラーのものや、グレースケールのものなどがあるが、以下では、これらの画像データを2値化した2値化ビットマップ画像の圧縮方法について述べる。
従来の2値ビットマップ画像の圧縮方法としては、MH(Modified Huffman)やMR(Modified READ)、MMR(Modified Modified READ)、JBIG(Joint Bi−Level Image Experts Group)等があり、FAX通信や画像ファイリングに広く使用されている。
これらの圧縮方法はビット処理を多用するなど高速な符号化処理に向かないことから、高速処理を狙った「ビットマップデータの圧縮方法及び圧縮装置」(日本国特許第3278298号)を提案している。この画像圧縮方法では、文字を主体とするビットマップは効率良く圧縮できる反面、ディザ画像の圧縮効率が低いという問題がある。このため、本願発明者は、同じパターンが連続して繰り返し現れる一様なディザ画像の圧縮率を高める圧縮方法を提案している(日本国特許出願:特願2001−388931号)。
しかしながら、本願発明者が提案している圧縮方法は、パターンの形状が変化せずに周期的に繰り返す一様なディザ画像は効率良く圧縮できる反面、グラデーションのようにパターンの形状が連続的に変化するディザ画像の場合には全く圧縮できないという問題があった。
本発明は、パターンの形状が連続的に変化するディザ画像の圧縮効率を高める画像圧縮方法、画像復元方法、プログラム及び装置を提供することを目的としている。
(圧縮方法)
本発明は画像圧縮方法を提供するものであり、
ブロック分割部により、入力画像を縦横所定の画素数のブロックに分割する分割ステップと、
処理ブロック選択部により、分割されたブロックを主走査方向および副走査方向に走査して順番に処理ブロックとして選択する処理ブロック選択ステップと、
参照ブロック選択部により、処理ブロック選択ステップで選択されたブロックとの位置関係及び画素値の関係が所定の条件を満たすブロックを参照ブロックとして選択する参照ブロック選択ステップと、
差分画像生成部により、前記処理ブロックと参照ブロックの画素値を排他的論理和(XOR)して差分画像を生成する差分画像生成ステップと、
ブロック置換部により、差分画像が所定の条件を満たす場合に処理ブロックを差分画像に置き換えるブロック置換ステップと、
を備えたことを特徴とする。
更に本発明の画像圧縮方法は、
画像符号化部により、ブロック置換ステップを実行して得られた画像を符号化する画像符号化ステップと、
符号出力部により、画像符号化ステップを実行して得られた符号データと、ブロック置換ステップを実行して得られた各処理ブロックの差分画像への置換有無および参照ブロックの位置情報とを組み合わせて出力する出力ステップと、
を備えたことを特徴とする。
このように本発明は、画像符号化ステップで画像を符号化するための前処理として、画像を縦横(N×M)画素のブロックに分割して各ブロックをその近傍ブロックと排他的論理和(XOR)を行い、画像内の符号化すべき黒画素の個数を削減することで圧縮効率を高める。即ち、ブロック間の画素値に排他的論理和(XOR)を適用して差分画像を生成すると、両ブロックの同一位置の画素値が異なる部分、即ち白画素対黒画素、または黒画素対白画素となる部分だけが黒画素として残る。このため、グラデーションのようにパターンの形状が連続的に変化するディザ画像の場合、隣接するブロック間の画素値の相関が高いほど差分画像の黒画素が少なくなり、同一画素値のブロックの場合には差分画像内は全て白画素となる。画像符号化ステップの処理では、一般的に画像内の黒画素を符号化するため黒画素数が少ないほど圧縮率が高くなり、画像符号化前にブロック間の排他的論理和(XOR)を適用することで、符号化対象となる黒画素の個数が減り、画像の圧縮率が高まる。
ここで参照ブロック選択ステップは、処理ブロック選択ステップにより既に選択された処理済みブロックの中から現在の処理ブロックに近いブロックを参照ブロックとして優先して選択する。このように圧縮時に、排他的論理和(XOR)の処理を終えたブロックの中から前方参照により参照ブロックを選択することで、入力された画像を順次ブロックに分割し、排他的論理和(XOR)を適用することで符号化処理を進めることができ、このため画像全体の入力の完了を待たずに圧縮処理を先行して開始できる。
また復元時には、符号データから差分画像のブロックが復号される毎に、既に差分画像から復号された復元済みの参照ブロックとの排他的論理和(XOR)の処理が実行でき、全ブロック復元後に再度先頭ブロックから排他的論理和(XOR)処理を実行するような2パス式の処理を必要とせず、より早く復元画像が得られ、復号が完了した画像から先行してプリンタで印刷するなど、復元画像を使用する側の待ち時間が短縮する。
画像置換ステップは、差分画像生成ステップを実行した結果に基づいて処理ブロックと参照ブロックとの画素差が所定の個数以上の場合には処理ブロックの差分画像への画素値の置き換えを行わない。これは処理ブロックと参照ブロックの画像が大きく異なる場合には、差分画像内の黒画素数が多くなり圧縮効率が低下することを考慮したもので、処理ブロックに最も近い隣接ブロックから順番にブロックを選択して処理ブロックと排他的論理和(XOR)を行い、得られた差分画像内の黒画素数が所定の個数以下であり、かつ黒画素数が最小になるブロックを参照ブロックとして選択することにより、処理ブロックとの画素差がもっとも小さくなる参照ブロックが選択され、排他的論理和(XOR)後の差分画像内の黒画素が最小となり符号化効率が高まる。
処理ブロック選択ステップは、選択したブロックの画素値が予め定めた所定のパターンに合致する場合には、この処理ブロックと参照ブロックとの排他論理和の処理をスキップする。これは黒画素が含まれないブロックや、各列の画素値が全て同一であるブロック等は、参照ブロックと排他的論理和(XOR)しなくても、その後に適用する画像符号化ステップの符号化で効率良く圧縮できる場合があることを考慮したものであり、このように後段の画像符号化により高圧縮できることが予め分かっているブロックについては排他的論理和(XOR)処理を適用しないようにすることで、排他的論理和(XOR)による処理負荷を低減し圧縮効率の低下を防ぐ。
分割ステップは、ブロックの横画素数および縦画素数を8の倍数とする。これにより本発明の圧縮方法を実行する処理装置に搭載する中央処理装置(CPU)の内部レジスタのビット長とブロックの縦画素数M及び又は横画素数Nを一致させ、必要最小限の処理ステップ数でブロック間の画素値の排他的論理和(XOR)処理を実行する。一般的にCPUの内部レジスタのビット長は8の倍数であることから、ブロックの縦横画素数も、それに合わせて8の倍数に設定する。
処理ブロックを参照ブロックとの排他的論理和(XOR)により生成された差分画像に置き換える画像置換ステップに続いて実行される画像符号化ステップは、
差分画像の処理ブロックを含む画像を主走査方向に走査することにより、任意の整数であるK行単位に黒画素を含む領域と黒画素を含まない領域に分離する第1領域分離ステップと、
第1領域分離ステップで得られた黒画素を含むKの整数倍であるN行として定義される論理行を、主走査方向と交差する副走査方向に走査することにより、1列単位に黒画素を含む領域と黒画素を含まない領域とに分離する第2領域分離ステップと、
第1領域分離ステップおよび第2領域分離ステップで得られた各領域を要素として符号化する符号化ステップと、
を備えたことを特徴とする。このように本発明は、排他的論理和(XOR)により生成された差分画像を処理ブロックに含む画像を対象に、更に、所定のライン数Kで主走査方向に走査して黒画素を含む領域を論理行(logical line)として分離し、この論理行を副走査方向に走査して黒画素を含む領域とそれ以外の領域に分離してそれぞれを要素として符号化する圧縮方法と組み合わせて、さらに圧縮効率を高める。このような2段階の圧縮により、最初に行う排他的論理和(XOR)による差分画像の生成による圧縮は、後に行う符号化の前処理に位置付けられる。
本発明は、排他的論理和(XOR)による差分画像の生成と、続いて行う符号化とにより生成された画像圧縮データから画像を復元する復元方法を提供する。
この画像復元方法は、
符号入力部により、所定の符号データ、各処理ブロックの差分画像への置換有無、および参照ブロックの位置情報の組み合わせを含む画像圧縮データを入力する入力ステップと、
画像復号部により、入力された前記符号データを画像に復号する画像復号ステップと、
ブロック復号部により、画像復号ステップの復号画像を縦横所定の画素数の処理ブロックに分割し、差分画像に置き換えられた処理ブロックと参照ブロックの画素値を排他的論理和(XOR)して処理ブロックの画素値と置き換えて復号するブロック復号ステップと、
を備えたことを特徴とする。本発明の圧縮方法で符号化された符号データから元の画像への復元は、まず符号データから排他的論理和(XOR)を適用した画像を復号した後、ブロック分けした各ブロックについて圧縮時に排他的論理和(XOR)した同じ位置の参照ブロックと再び排他的論理和(XOR)することで元のブロックを復元する。このように排他的論理和(XOR)演算は2回実行すると完全に元のデータに戻る性質があり、画像の劣化が無く完全に元通りに復元される。
(プログラム)
本発明は、画像圧縮のためのプログラムを提供する。この画像圧縮用のプログラムは、コンピュータに、
入力画像を縦横所定の画素数のブロックに分割する分割ステップと、
分割されたブロックを主走査方向および副走査方向に走査して順番に処理ブロックとして選択する処理ブロック選択ステップと、
処理ブロック選択ステップで選択されたブロックとの位置関係及び画素値の関係が所定の条件を満たすブロックを参照ブロックとして選択する参照ブロック選択ステップと、
処理ブロックと参照ブロックの画素値を排他的論理和(XOR)して差分画像を生成する差分画像生成ステップと、
差分画像が所定の条件を満たす場合に処理ブロックを差分画像に置き換えるブロック置換ステップと、
を実行させることを特徴とする。
更に本発明のプログラムは、コンピュータに、
ブロック置換ステップを実行して得られた画像を符号化する画像符号化ステップと、
画像符号化ステップを実行して得られた符号データと、ブロック置換ステップを実行して得られた各処理ブロックの差分画像への置換有無および参照ブロックの位置情報とを組み合わせて出力する出力ステップと、
を実行させる。
本発明は、画像圧縮データを復元するためのプログラムを提供する。この画像復元用のプログラムは、コンピュータに、
所定の符号データ、各処理ブロックの差分画像への置換有無、および参照ブロックの位置情報の組み合わせを含む画像圧縮データを入力する入力ステップと、
入力された符号データを画像に復号する画像復号ステップと、
画像復号ステップの復号画像を縦横所定の画素数の処理ブロックに分割し、差分画像に置き換えられた処理ブロックと参照ブロックの画素値を排他的論理和(XOR)して処理ブロックの画素値と置き換えて復号するブロック復号ステップと、
を実行させることを特徴とする。なお、本発明のプログラムの詳細は画像圧縮方法及び画像復元方法の場合と基本的に同じになる。
(装置)
本発明は、画像圧縮装置を提供する。この画像圧縮装置は、入力画像を縦横所定の画素数のブロックに分割するブロック分割部と、分割されたブロックを主走査方向および副走査方向に走査して順番に処理ブロックとして選択する処理ブロック選択部と、処理ブロック選択部で選択されたブロックとの位置関係及び画素値の関係が所定の条件を満たすブロックを参照ブロックとして選択する参照ブロック選択部と、処理ブロックと参照ブロックの画素値を排他的論理和(XOR)して差分画像を生成する差分画像生成部と、差分画像が所定の条件を満たす場合に処理ブロックを差分画像に置き換えるブロック置換部と、ブロック置換部を実行して得られた画像を符号化する画像符号化部と、画像符号化部を実行して得られた符号データと、ブロック置換部を実行して得られた各処理ブロックの差分画像への置換有無および参照ブロックの位置情報とを組み合わせて出力する符号出力部とを備えたことを特徴とする。
本発明は、画像圧縮装置から出力された画像圧縮データを復元する画像復元装置を提供する。この画像復元装置は、所定の符号データ、各処理ブロックの差分画像への置換有無、および参照ブロックの位置情報の組み合わせを含む画像圧縮データを入力する符号入力部と、入力された符号データを画像に復号する画像復号部と、画像復号部の復号画像を縦横所定の画素数の処理ブロックに分割し、差分画像に置き換えられた処理ブロックと参照ブロックの画素値を排他的論理和(XOR)して処理ブロックの画素値と置き換えて復号するブロック復号部とを備えたことを特徴とする。なお、本発明の画像圧縮装置及び画像復元装置の詳細は、画像圧縮方法及び画像復元方法の場合と基本的に同じになる。
図1は本発明が適用される装置環境の説明図;
図2は本発明による画像圧縮装置の機能構成のブロック図;
図3は本発明の圧縮時におけるブロックの排他論理和処理の説明図;
図4は本発明による画像圧縮処理の概略フローチャート;
図5は本発明が適用されるコンピュータのハードウェア環境の説明図;
図6は本発明による画像復元装置の機能構成のブロック図;
図7は本発明の復元時におけるブロックの排他論和処理の説明図;
図8は本発明による画像復元処理の概略フローチャート;
図9は入力画像のブロック分割と処理ブロック及び参照ブロックの説明図;
図10はブロックラインと論理行のライン数との関係の説明図;
図11は本発明の画像圧縮におけるブロック処理の順番の説明図;
図12は本発明における参照ブロックの選択順序を指定するテンプレートの説明図;
図13は本発明におけるブロックライン単位の画像圧縮処理の説明図;
図14は本発明におけるブロックライン単位の画像復元処理の説明図;
図15は本発明による画像圧縮処理のフローチャート;
図16は図15に続く画像圧縮処理のフローチャート;
図17は排他論理和したブロックのブロックラインバッファへの格納位置の説明図;
図18は参照ブロック位置格納テーブルの説明図;
図19は参照ブロック位置格納テーブルと符号化の説明図;
図20は図15及び図16における参照ブロック選択処理のフローチャート;
図21は図20の参照ブロック選択処理で使用される選択順序を指定するテンプレートの説明図;
図22は本発明で排他論理和を適用しない処理ブロックと参照ブロックの説明図;
図23は本発明によるブロックの排他論理和処理が行われた画像処理の例の説明図;
図24は図23で排他論理和処理をとるブロックと参照ブロックの対応関係の説明図;
図25は排他論理和処理された画像を符号化する符号化処理のフローチャート;
図26は図25の符号化による画像圧縮の説明図;
図27は本発明による画像復元処理のフローチャート;
図1は、本発明による画像圧縮方法及び画像復元方法が適用される装置環境の説明図である。本発明の画像圧縮装置10はパーソナルコンピュータ11にプログラムとして実装されており、プリンタ12側に本発明の画像復元装置40を設けている。画像圧縮装置10は、パーソナルコンピュータ11で印刷のために生成した2値のビットマップデータを画像データとして入力し、この画像データを圧縮してプリンタ12の画像復元装置40に転送する。プリンタ12はフォントを持たないプリンタであり、パーソナルコンピュータ11からビットマップ画像の直接転送を受けて印刷を行うもので、画像復元装置40を設けることで、本発明の画像圧縮装置10から転送された画像圧縮データを復元して印刷することになる。
図2は、本発明による画像圧縮装置の機能構成のブロック図である。図2において、本発明の画像圧縮装置10は、バッファメモリ14、前処理部15及び画像圧縮部16を備える。バッファメモリ14にはプリンタに転送する2値ビットマップデータが保持される。画像圧縮装置10にあっては、前処理部15による圧縮と画像圧縮部16による圧縮との2段階の圧縮を行って、プリンタ12に圧縮された画像データを転送する。前処理部15には、ブロック分割部18、処理ブロック選択部20、参照ブロック選択部22、差分画像生成部24及びブロック置換部26が設けられる。また画像圧縮部16には、画像符号化部28と符号出力部30が設けられる。前処理部15内の各処理部の機能は、次のようになる。ブロック分割部18は、バッファメモリ14に保持した入力画像を縦横所定画素数、例えば横画素数M、縦画素数Nの(M×N)画素数のブロックに分割する。処理ブロック選択部20は、分割されたブロックを主走査方向及び副走査方向に走査して、順番に処理ブロックとして選択する。参照ブロック選択部22は、処理ブロック選択部20で選択されたブロックとの位置関係及び画素値の関係が所定の条件を満たすブロックを参照ブロックとして選択する。この参照ブロックの選択につき本発明にあっては、処理ブロック選択部20において既に選択された処理済ブロックの中から、現在の処理ブロックに近いブロックを参照ブロックとして優先的に選択している。差分画像生成部24は、選択された処理ブロックと参照ブロックの画素値を排他的論理和(XOR)して差分画像を生成する。ブロック置換部26は、差分画像生成部24で生成した差分画像が所定の条件を満たす場合に、現在の処理ブロックを生成した差分画像に置き換える。この場合の差分画像の処理ブロックへの置き換えとしては、処理ブロックと参照ブロックとの画素数の差が所定個数以上の場合には排他的論理和による圧縮に適していないことから、処理ブロックの差分画像への置き換えは行わない。一方、処理ブロック選択部20にあっても、選択したブロックの画素値が予め定めた所定のパターンに合致する場合、具体的には排他的論理和を行っても圧縮が望めない場合には、それ以降の処理を行わず、処理ブロックをそのまま出力する。またブロック分割部18における入力画像の横画素数M及び縦画素数Nは、CPUの内部レジスタのビット長に適合させるため、8の倍数としている。
次に画像圧縮部16の各処理部は次の機能を有する。画像符号化部28は、前処理部15のブロック置換部26より得られた差分画像をブロックに含む画像を符号化する。この符号化は、本願発明者等が既に出願している日本特許出願の特願2001−388931の画像圧縮方法を適用する。符号出力部30は、画像符号化部28の処理で得られた符号データと、前処理部15のブロック置換部で得られた各処理ブロックの差分画像への置換の有無、及び差分ブロックの位置情報とを組み合わせて、画像圧縮データとして例えばプリンタ12に転送する。
図3は、本発明の圧縮時におけるブロックの排他的論理和処理のブロック画像を用いた説明図である。図3において、処理ブロック32は、この例では縦横画素M×N=8×8とした場合を例にとっており、現在、処理対象となっている処理ブロック32に対し、既に処理済のブロックの中から選択された参照ブロック34との間で排他的論理和(XOR)36をとることにより、差分画像38を生成している。このような処理ブロック32と参照ブロック34の同じ画素位置の画素についての排他的論理和をとった場合には、両ブロックの同一位置の画素値が異なる部分、即ち白画素対黒画素または黒画素対白画素の部分だけが差分画像38の中に黒画素として残る。このため、グラデーションのようにパターン形状が連続的に変化するディザ画像にあっては、隣接ブロック間の画素値の相関が高く、相関が高いほど差分画像の黒画素は少なくなり、同一画素配置のブロックの場合には差分画像内は全て白画素となり高圧縮ができる。
図4は、図2の画像圧縮装置10における画像圧縮処理の概略フローチャートである。この画像圧縮処理にあっては、まずステップS1で入力画像をブロック分割した後に、順番に処理ブロックを選択し、処理ブロックに対し選択された参照ブロックと排他的論理和(XOR)を行って差分画像を生成する。次にステップS2で、排他的論理和(XOR)を行った各ブロックの参照ブロックの位置情報を符号化する。続いて、ステップS3で排他的論理和(XOR)した後の画像を符号化し、ステップS2で得られた参照ブロック位置情報と併せて入力画像に対する符号化データとして出力する。
図2における本発明の画像圧縮装置は,例えば図5のようなコンピュータのハードウェア資源により実現される。図5のコンピュータにおいて、CPU200のバス201にはRAM202、ハードディスドコントローラ(ソフト)204、フロッピィディスクドライバ(ソフト)210、CD−ROMドライバ(ソフト)214、マウスコントローラ218、キーボードコントローラ222、ディスプレイコントローラ226、通信用ボード230、プリンタドライバ234が接続される。ハードディスクコントローラ204はハードディスクドライブ206を接続し、本発明のデータ圧縮処理を実行するアプリケーションプログラムをローディングしており、コンピュータの起動時にハードディスクドライブ206から必要なプログラムを呼び出して、RAM202上に展開し、CPU200により実行することにより画像圧縮を行う。フロッピィディスクドライバ210にはフロッピィディスクドライブ(ハード)212が接続され、フロッピィディスク(R)に対する読み書きができる。CD−ROMドライバ214に対しては、CDドライブ(ハード)216が接続され、CDに記憶されたデータやプログラムを読み込むことができる。マウスコントローラ218はマウス220の入力操作をCPU200に伝える。キーボードコントローラ222はキーボード224の入力操作をCPU200に伝える。ディスプレイコントローラ226は表示部228に対して表示を行う。通信用ボード230は通信回線232を使用し、インターネット等のネットワークを介して他のコンピュータやサーバとの間で通信を行う。プリンタドライバ234は本発明の画像圧縮装置により画像圧縮された符号データをプリンタ12に転送し、プリンタ12側に設けた本発明の画像復元装置で符号データを復元して印刷させる。
図6は、本発明による画像復元装置の機能構成のブロック図である。図6において、本発明の画像復元装置40は例えばプリンタ12側に設けられており、図2の画像圧縮装置10から転送された画像圧縮データから画像を復元し、プリンタエンジン138に供給して、プリンタ機構部140により印刷動作を行わせる。画像復元装置40には、バッファメモリ42、符号入力部44、画像復号部46及びブロック復号部48が設けられている。符号入力部44は画像圧縮装置側から転送された画像圧縮データを入力するもので、この画像圧縮データは所定の符号データ、各処理ブロックの差分画像への置換の有無、及び参照ブロックの位置情報の組合せが含まれている。画像復号部46は、入力された符号データを画像に復号する。この復号処理は、本願発明者が既に提案している日本特許出願の特願2001−388931により圧縮された符号データの復元処理である。ブロック復号部48は、画像復号部46で復号された画像を縦横所定画素数、即ち画像圧縮側と同じ例えば(M×N)=8×8画素の処理ブロックに分割し、差分画像に置き換えられた処理ブロックと参照ブロックの画素値を排他的論理和(XOR)して処理ブロックの画素値と置き換えることで、処理ブロックを復号する。
図7は、本発明の復元時におけるブロックの排他的論理和処理の説明図である。この復元時の排他的論理和処理は、図3の圧縮時における排他的論理和処理で得られた差分画像38の復元である。差分画像38の排他的論理和(XOR)54を行うためには、圧縮側から送られてきた参照ブロックの位置情報により既に復元が済んだ処理ブロックの中から参照ブロック52を選択する。この参照ブロック52は図3の圧縮側における参照ブロック34と同じである。そして、差分画像38と参照ブロック52の排他的論理和(XOR)54を行うと、元のブロック56が復元され、これは図3の圧縮前の処理ブロック32と同じである。このように本発明にあっては、処理ブロックに対し同じ参照ブロックを使用して2回、排他的論理和(XOR)の演算を実行すると、完全に元のデータに戻るという性質を利用し、画像を劣化することなく完全に元通りに復元させることができる。
図8は、本発明による画像復元処理の概略フローチャートである。この復元処理にあっては、ステップS1で排他的論理和(XOR)された画像を復号した後、ステップS2で参照ブロックの位置情報を復号し、更にステップS3で各ブロックを参照ブロックの位置情報に基づいて排他的論理和処理(XOR)を行うことで元の画像を復元している。
続いて図2の画像圧縮装置10における前処理部15及び画像圧縮部16における各処理を詳細に説明する。図9は、図2の前処理部15におけるブロック分割と分割後の処理ブロック及び参照ブロックの説明図である。図9において、処理対象とする入力画像58は、8の倍数となる横M画素、縦N画素のブロック60−11〜60MNに分割される。本発明にあっては、ブロック分割した入力画像58につき、横方向のブロックライン62−1〜62−N単位に処理を行う。入力画像58の下側には、現在処理中の処理ブロック64とこれに対し選択されて排他的論理和(XOR)をとるための参照ブロック66を示している。
図10は、入力画像におけるブロックラインと論理行のライン数との関係の説明図である。本発明にあっては、基本的には図10(A)のように排他的論理和(XOR)の縦画素数Nを論理行のライン数と同じKとするか、あるいは図10(B)のようにKの整数倍にしてブロック境界と論理行のライン境界を一致させる。ここで論理行とは、図2の画像圧縮部16に設けている画像符号化部28における本願発明者が既に提案している日本特許出願の特願2001−388931における処理概念である。即ち、この符号化処理にあっては、画像を所定のライン数Kで主走査方向に走査して、黒画素を含む領域を論理行として分離し、この論理行を更に副走査方向に走査して、黒画素を含む領域とそれ以外の領域に分離し、それぞれ要素として符号化する圧縮を行っている。したがって、この場合の論理行と本発明の排他的論理和(XOR)のブロックの縦画素数Nとの間に、論理行のライン数KとNを同じにするかNを論理行のKの整数倍とすることで、ブロック境界と論理行のライン境界を一致させ、圧縮効率を高めることができる。これに対し図10(C)のように、論理行72のライン数Kとブロックライン74の縦画素数Nが整数倍の関係になく、ブロック境界と論理行のライン境界が一致しない場合には、排他的論理和(XOR)を行った後の差分画像が論理行間にまたがることとなり、圧縮効率が低下する不都合を生ずる。
図11は、本発明の排他的論理和(XOR)による画像圧縮におけるブロック処理の順番の説明図である。図11において、入力画像58を縦横(M×N)画素のブロックに分割した後、矢印のブロック処理順序76のように、分割されたブロックを主走査方向に走査した後、次の行の先頭に戻って、主走査方向に走査する処理を繰り返す。このようなブロックの処理順序76に対し、現在処理中のブロックが処理ブロック64であったとすると、この処理ブロック64との排他的論理和(XOR)をとるための参照ブロックは、それ以前の処理済ブロックの中から選択する。このように処理ブロック64に対する参照ブロックを処理済ブロックの中から選択することで、画像全体の入力完了を待たずに圧縮処理を先行して開始することができる。復元時についても同様に、ブロックの画像が復元されるごとに、現在処理対象となっている差分画像で置き換えられたブロックと既に復元済みの参照ブロックとの間で排他的論理和(XOR)が実行されることで、復元処理についても1パスでブロック復号を行うことができ、復号が完了した画像部分から先行してプリンタで印刷することで、復元側での待ち時間を短縮できる。
図12は、本発明の排他的論理和(XOR)の処理で処理ブロックに対し選択する参照ブロックの選択順序を指定するテンプレートの説明図である。本発明の処理ブロックと参照ブロックの排他的論理和(XOR)による差分画像にあっては、ブロック間の画素値の相関が高いほど差分画像の黒画素が少なくなって高圧縮でき、処理ブロックに隣接するブロックほど相関が高いことから、この関係を利用して、処理ブロックに対する処理済ブロックの中から参照ブロックを選択する。図12(A)は、2×2マトリクスのテンプレート78−1であり、処理ブロック64に対する処理済側の上、左、左上の3つのブロックを参照ブロック候補として設定し、選択順として1番は上、2番は左、3番は左上を設定している。図12(B)は、図12(A)に対し処理ブロック64の右上を追加したテンプレート78−2であり、新たに追加した右上を選択順位4番としている。図12(C)は、図12(B)に加え更に、選択順位5番、6番、7番、8番の3ブロックを追加したテンプレート78−3を示している。このテンプレートにおける参照ブロックの順番を指定する基本的な考え方は、処理ブロックに対し隣接するブロックについては上または右に続いて左上、右上の順番とし、更に外側のブロックについては、上、左、左上、右上の順番としている。この図12の3種類のテンプレート78−1〜78−3のうちのいずれか1つを使用し、処理ブロック64に対し番号順に参照ブロックを選択し、選択した参照ブロックとの排他的論理和(XOR)をとって、生成された差分画像の黒画素数が最小となる参照ブロックを選択して差分画像を生成する。
図13は、本発明におけるブロックライン単位の画像圧縮処理の説明図である。本発明における画像をブロック単位で符号化する際には、図11に示したように、主走査方向及び副走査方向のラスタ走査順序に従って走査することになるが、この場合、1ブロックごとに参照ブロックと排他的論理和(XOR)を行って符号化できるが、ブロックライン単位で符号化する方が効率がよい。例えばブロックライン単位で圧縮して符号データを出力すると、符号データを受け取った復元側では同じくブロックライン単位で画像を復元できるため、画像全体の圧縮処理の完了を待たずに復号を開始できるメリットがある。このため図13のように、画像圧縮処理の際に入力ブロックライン80を処理対象として取り出し、入力ブロックライン80の先頭ブロックから順番にXOR処理を実行して、XOR後のブロックライン82を生成し、その後にブロックライン82を一括して画像を圧縮し、既に得られた参照ブロック情報の符号データ90とXOR後のブロックラインの符号データ88を復元側に転送する。このような圧縮側でのブロックライン単位の圧縮による符号データを受けた復元側は、図14に示す処理を行う。図14の復元処理にあっては、ブロックライン単位の復号で得られたXOR後のブロックラインの符号データ88と参照ブロック情報の符号データ90を受信した後、XOR後のブロックラインの符号データ88の画像復元92を行って、復号したブロックライン96を生成する。続いて参照ブロック情報の符号データ90から参照ブロックの位置を得て、排他的論理和処理であるXOR処理94を行い、ブロックごとにXORしたブロックライン98の各ブロックのデータを順次復号する。このブロックライン98の画像復元が済んだ段階で、プリンタ側でブロックライン単位の印刷動作ができる。
図15及び図16は、ブロックライン単位で画像圧縮を行う本発明による画像圧縮処理のフローチャートである。この画像圧縮処理の処理手順は次のようになる。
ステップS1:
入力画像における最初のブロックラインを選択し、ブロックラインの番号を示す変数kに先頭のブロックラインを示す0を設定する。
ステップS2:
ブロックラインkの最初のブロックを選択し、ブロック番号を示す番号iに先頭ブロックを示す0を設定する。
ステップS3:
i番目のブロックが排他的論理和(XOR)すべきブロックであるか否かを判断する。例えばブロック全体が全白や全黒であるなど排他的論理和(XOR)による符号化効率が向上しないブロックの場合には、排他的論理和(XOR)しないと判断してステップS5に進む。排他的論理和(XOR)すると判断した場合には、ステップS4に進む。
ステップS4:
i番目のブロックと排他的論理和(XOR)すべき参照ブロックが存在するか否かを判断し、存在する場合にはステップS6に進み、存在しない場合にはステップS5に進む。
ステップS5:
別途準備している排他的論理和(XOR)したブロックラインを格納するためのブロックラインバッファにi番目のブロックの画素値をそのまま出力した後、次のブロックを選択するためにステップS8に進む。
ステップS6:
i番目のブロックと参照ブロックの画素の排他的論理和(XOR)を行ってブロックラインバッファに出力する。なお、ステップS5,S6におけるブロックラインバッファへの出力は、図17のようにブロックラインkにおけるi番目のブロックと同じブロックラインバッファ82の位置に参照ブロック66との排他的論理和(XOR)で得られた画素値を出力する。
ステップS7:
参照ブロックの位置を参照ブロック位置格納テーブルに追加する。参照ブロックの位置は図12に示した参照ブロックテンプレートのブロック選択順序を示す番号を用いることができる。
ステップS8:
次のブロックを選択し、ブロック番号iに1を加える。
ステップS9:
ブロック番号iとブロックライン内のブロック数BLK_NUMを比較し、両者が一致すればブロックライン内の全ブロックの排他的論理和(XOR)が完了したと判断してステップS10に進み、不一致の場合には排他的論理和(XOR)処理が終わっていないと判断してステップS3に戻る。
ステップS10:
ブロックラインバッファ内の画像と参照ブロック位置格納テーブル内に格納された位置情報をそれぞれ符号化し、ブロックラインkの符号データとして出力する。
ステップS11:
次のブロックラインを選択し、ブロックライン番号kに1を加える。
ステップS12:
ブロックライン番号kと入力画像内のブロックライン数LINE_NUMを比較し、両者が一致すれば全ブロックラインの符号化処理が完了したと判断して処理を終了し、不一致の場合には符号化処理を終わっていないブロックラインが存在すると判断してステップS2に戻る。
図18は、図15及び図16のステップS7で使用される参照ブロック位置格納テーブル100の説明図である。この参照ブロック位置格納テーブル100は、処理ブロック番号、参照ブロック有無及び参照ブロック番号の格納領域を持ち、処理ブロック番号はブロックライン内の全ブロックに対応して番号0〜(ブロック数−1)を割り当て、それぞれに対応して参照ブロック番号の有無と参照ブロック番号を格納する。参照ブロック番号の有無には、存在する場合には1、存在しない場合には0を書き込む。
図19は、図15及び図16の圧縮処理により生成された1ブロックラインの参照ブロック位置格納テーブル100の具体例であり、処理ブロック番号として0〜11の12ブロックを1ブロックラインとした場合を例にとっている。また参照ブロック有無は、参照ブロックが存在すれば1、存在しない場合には0となっており、更に参照ブロック番号としては、参照ブロックとして選択した処理ブロック番号の数値を格納している。このような参照ブロック位置格納テーブル100についての図15及び図16のステップS10における符号化方法としては、参照ブロックが存在しないブロック数をオフセット値として符号化し、参照ブロックが存在する場合には参照ブロック番号とその連続参照回数を組み合わせて符号化する。例えば図19において、処理ブロック番号0,1については参照ブロック番号がないことから、この場合には「オフセット2」としている。また処理ブロック番号2〜4については同じ参照ブロック番号2が連続していることから「参照ブロック番号=2、ブロック数3」の組合せで符号化している。これにより、図19の参照ブロック位置格納テーブル100の例では、符号化しない場合には24個の値が必要であるのに対し、上記の方法で符号化した場合には8個の値で済み、符号サイズを削減することができる。
20、図15及び図16のステップS3における参照ブロック選択処理の詳細を示したフローチャートである。この図20の処理にあっては参照ブロック自体が排他的論理和(XOR)すべきブロックであるか否か、参照ブロックと排他的論理和(XOR)をとる処理ブロックの画素値の関係及び画素差に基づいて参照ブロックを選択する。そこでこの参照ブロック選択処理の手順を説明すると次のようになる。
ステップS1:
参照ブロック番号を表す変数rに最初の参照ブロック番号を示す1を設定し、選択された参照ブロック番号を表す変数sに参照ブロックが未選択であることを表す0を設定する。また差分画素の個数の最小値を格納するDminに画素差が最大である値を示す位置ブロックの総画素数(=横画素数M×縦画素数N)を設定する。
ステップS2:
参照ブロックrが排他的論理和(XOR)すべきブロックであるか否かを判断し、排他的論理和(XOR)すると判断した場合にはステップS3に進み、しないと判断した場合にはステップS7に進む。
ステップS3:
処理ブロックと参照ブロックrとの間で同一位置にある画素値を比較し、異なる画素値の個数Dを数える。
ステップS4:
画素差Dと予め定めておいた最大画素差MAX_DIFFとを比較し、画素差Dが最大画素差MAX_DIFF以下である場合には画素差が所定に範囲内にあると判断してステップS5に進み、それ以外に場合には画素差が所定の範囲内にないと判断してステップS7に進む。
ステップS5:
処理ブロックに対し画素差が最も少ない参照ブロックを選択するために、参照画素差を格納するDminとステップS3で取得した画素差Dとを比較し、画素差Dが最小画素差Dminより小さい場合には参照ブロックrと処理ブロックとの画素差がより小さいと判断してステップS6に進み、それ以外に場合には参照ブロックrは処理ブロックとの画素差が最小ではないと判断してステップS7に進む。
ステップS6:
処理ブロックとの画素差が最小となる参照ブロック番号を保持するための変数sに参照ブロックrを格納し、最小画素差DminにはステップS3で求めた処理ブロックと参照ブロックrとの画素差Dを格納する。
ステップS7:
参照ブロック番号rに1を加え、例えば図20のようなテンプレート78−3の順番に従って次の参照ブロックを選択する。
ステップS8:
参照ブロック番号rと参照ブロックの個数REF_NUMを比較し、参照ブロック番号rが参照ブロック個数REF_NUM未満の場合には全ての参照ブロックについて選択処理が完了していないとしてステップS2に戻り、それ以外の場合には全ての参照ブロックについて処理が終わったと判断してステップS9に進む。
ステップS9:
sが0より大きいか否か、即ちrに選択された参照ブロック番号が格納されているか否かを確認し、sが0より大きい場合には参照ブロックが選択されたと判断してステップS10に進み、sが0であった場合には参照ブロックが選択されなかったと判断してステップS11に進む。
ステップS10:
参照ブロックが存在したことを出力することに加え、選択された参照ブロック番号sを出力し、参照ブロック選択処理を終了する。
ステップS11:
参照ブロックが存在しなかったことを出力して参照ブロック選択処理を終了する。
以上の処理によって図15及び図16のステップS4において処理ブロックに対し画素差が最小となり且つ画素差が所定の個数以下である参照ブロックを選択することができる。ここで図ふわにおける参照ブロックの選択基準をまとめると、参照ブロックを排他的論理和(XOR)の対象とするか否かは2段階で判断する。第1段階にあっては参照ブロックが全て白画像や全て黒画像である場合などの排他的論理和(XOR)による符号化効率が向上しない場合には参照ブロックとして選択しない。第2段階としては処理ブロックと参照ブロックの画素値の関係から、例えば図2ふに例として示す場合には、排他的論理和(XOR)後の画素数が多くなるため即ち画素の相違が大きくなる組み合わせの場合には符号化効率の向上が期待できないため排他的論理和(XOR)の対象としない。図22(A)は処理ブロック102が主走査方向に白から黒に変化しているのに対し、参照ブロック104は逆に黒から白に変化し、参照ブロック106は白黒の縦縞であり、参照ブロック108は全て黒画像の場合である。また図22(B)の処理ブロック110は周走査方向に黒から白に変化しているのに対し、参照ブロック112は逆に白から黒に変化しており、参照ブロック114は縦縞であり、更に参照ブロック116は全て黒画像の場合である。更に図22(C)の例では処理ブロック118が全て黒画像であるのに対し、参照ブロック120は縦縞、参照ブロック122は白から黒画像への変化、参照ブロック124は黒から白画像への変化である。いずれの場合にも処理ブロックと参照ブロックについて排他的論理和(XOR)をとると、処理後の画素数が増加してしまい、従って、この関係にあるときには参照ブロックを排他的論理和(XOR)の対象としては選択しない。
図23は、本発明によるブロックの排他的論理和処理が行われた処理画像の具体例である。図23(A)は入力画像126であり、縦横(M×N)画素=8×8のブロックに分解された後、図11の処理順序に従った処理ブロックについて図21と同じテンプレート78−3の順番に従って参照ブロックを選択し、排他的論理和(XOR)を実行することで、図23(B)のXOR処理画像128を生成している。
ここで図24(A)は図23(A)の入力画像126をブロック分割した場合のブロック番号1〜8を示している。また図24(B)は図23(B)のXOR処理画像128を生成する際に選択した参照ブロックのブロック番号を処理ブロック番号に対するXORの右側の値として示している。
このような図23(B)のXOR処理画像128から明らかなように、先頭のブロックについては処理済みのブロックがないことから、入力画像126の画素がそのまま配置されるが、2番目以降のブロックについては参照ブロックとのXOR処理により黒画像の数が大幅に低減した差分画像の配置によるブロック画像となっている。特に5番目、6番目、7番目の3つについては参照ブロック番号1,3,4との排他的論理和(XOR)により両ブロックの画素配置が一致することで全白の画像となっている。この図23(A)のようなパターン形状が連続的に変化するディザ画像について、本発明によるXOR処理を行う圧縮は極めて効果的に高圧縮できることがわかる。
図25は、図2の前処理部15に続いて画像圧縮部16に設けた画像符号化部28で行われる排他的論理和処理の済んだ画像を符号化する符号化処理のフローチャートである。この符号化処理、即ち本発明者がすでに提案している日本特許の出願特願2001−388931による符号化処理は次のようになる。
ステップS1:
入力された排他的論理和(XOR)処理の済んだ画像を所定整数Kライン単位に水平方向に走査する(主走査方向走査)。
ステップS2:
行間のように連続する空白ラインと、空白ライン以外の領域を論理行として分離する(第1の領域分離)。
ステップS3:
分離した論理行を1列単位に垂直方向に走査する(副走査方向走査)。
ステップS4:
文字間のように黒画像を含まない空白領域と、空白領域以外の黒画像を含む領域に分離する(第2の領域分離)。
ステップS5:
領域分離結果に基づいて連続して繰り返し出現する同一幅及び同一画素値を有する反復パターンを分離する(第3の領域分離)。
ステップS6:
ステップS2、ステップS4、ステップS5で分離した各領域を要素として符号化を行う。
図25は、図24における符号化処理の原理を示している。図25において、処理対象となる入力画像126における論理行130の中から連続して繰り返し出現するパターンを検出し、繰り返しの基本となる反復パターンの長さと画素値及びその繰り返し回数を使用して符号化することにより、符号データサイズを削減する。これにより符号データは符号語、反復回数K、画素幅M、反復パターンの基本パターン(Mバイト)からなる。この図26にあっては、入力画像126として通常の同一形状が繰り返すディザパターンを例にとっているが、本発明にあっては、この入力画像126として例えば図23(B)のようなXOR処理画像128を対象としており、このようなXOR処理画像128に対し、図25の符号化処理を第2段階の符号化処理として行うことで、更に画像データを圧縮することができる。また図24の符号化処理にあっては検出した反復パターンをそのまま符号データとして出力するかわりに、ランレングス符号化などのデータ圧縮方法により圧縮することで、符号データサイズを更に削減することができる。
図27は、図6の画像復元装置40における画像復元装置のフローチャートである。この画像復元装置は、図15及び図16の画像圧縮処理によりブロック単位毎に圧縮された符号データから元の画像データを復号する処理であり、図11に示したブロック順に元の画像が復元される。この画像復元処理の処理手順は次のようになる。
ステップS1:
1ブロックライン分の画像を復号する。
ステップS2:
復号したブロックライン内の各ブロックの参照ブロック番号即ち参照ブロックの有無及び位置を復号する。
ステップS3:
復元したブロックラインの最初のブロックを選択し、ブロック番号を示すiに0を設定する。
ステップS4:
ブロックライン内のブロックiに対する参照ブロックの有無をステップS2で復号した参照ブロック情報を参照して識別し、参照ブロックが存在する場合にはステップS5に進み、参照ブロックが存在しない場合にはステップS6に進む。
ステップS5:
ブロックライン内のブロックiと参照ブロックの画素値を排他的論理和(XOR)し、排他的論理和(XOR)で得られた画素値をブロックiの画素値に置き換える。
ステップS6:
ブロックライン内で次のブロックを選択し、ブロック番号を示す変数iに1を加える。
ステップS7:
ブロック番号iとブロックライン内のブロック数BLK_NUMを比較し、一致した場合にはブロックライン内の全てのブロックの復元が完了したと判断して、ステップS8に進み、不一致の場合には復号が完了していないブロックが残っていると判断してステップS4に戻る。
ステップS8:
全てのブロックラインの復号処理が完了した場合には復号処理を完了し、完了していない場合にはステップS1に戻る。
ここで、ステップS8における全てのブロックラインの復号処理が完了したか否かの判断は復号されたブロック数を計数して判断する方法でも良いし、終了を示す符号で判断する方法であっても良い。復号されたブロック数を計数して処理終了を判断する場合には圧縮側で符号データの最初にブロックラインの個数を付加し、また終了を示す復号で判断する場合には符号データの最後に終了を示す符号を付加することで実現できる。
尚、上記の実施形態はパーソナルコンピュータに接続したプリンタ側に2値ビットマップデータを圧縮して転送し、プリンタ側で復元して印刷する場合を例にとるものであったが、本発明はこれに限定されず2値ビットマップデータを転送する例えばファクシミリなどの適宜の対象につきそのまま適用することができる。また本発明はその目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
産業上の利用の可能性
以上説明してきたように本発明のビットマップ画像の圧縮方法及び復元方法プログラム及び装置によれば、画像をブロック単位に分けて近傍ブロックと排他的論理和(XOR)することで、画像内の符号化対象となる黒画素の個数を削減し、画像の圧縮効率を向上することができる。更に主走査方向及び副走査方向に走査して黒画素を含む領域とそれ以外の領域に分離してそれぞれを要素として符号化する圧縮方法と組み合わせ、排他的論理和を行うブロックの高さをこの圧縮方法における主走査方向に走査するライン数の整数倍とすることで、圧縮率をより一層向上させることができる。この結果、グラデーションのように連続的にパターンが変化するディザ画像の圧縮率を高めることができ、印刷画像に適用することでプリンタへの転送時間が大幅に短縮され、印刷速度の向上に大きく寄与することができる。

Claims (14)

  1. ブロック分割部により、入力画像を縦横所定の画素数のブロックに分割する分割ステップと、
    処理ブロック選択部により、前記分割されたブロックを主走査方向および副走査方向に走査して順番に処理ブロックとして選択する処理ブロック選択ステップと、
    参照ブロック選択部により、前記処理ブロック選択ステップで選択されたブロックとの位置関係及び画素値の関係が所定の条件を満たすブロックを参照ブロックとして選択する参照ブロック選択ステップと、
    差分画像生成部により、前記処理ブロックと参照ブロックの画素値を排他的論理和して差分画像を生成する差分画像生成ステップと、
    ブロック置換部により、前記差分画像が所定の条件を満たす場合に前記処理ブロックを前記差分画像に置き換えるブロック置換ステップと、
    を備えたことを特徴とする画像圧縮方法。
  2. 請求の範囲1記載の画像圧縮方法に於いて、更に、
    画像符号化部により、前記ブロック置換ステップを実行して得られた画像を符号化する画像符号化ステップと、
    符号出力部により、前記画像符号化ステップを実行して得られた符号データと、前記ブロック置換ステップを実行して得られた各処理ブロックの差分画像への置換有無および参照ブロックの位置情報とを組み合わせて出力する出力ステップと、
    を備えたことを特徴とする画像圧縮方法。
  3. 請求の範囲1の画像圧縮方法に於いて、前記参照ブロック選択ステップは、前記処理ブロック選択ステップにより既に選択された処理済みブロックの中から現在の処理ブロックに近いブロックを参照ブロックとして優先して選択することを特徴とする画像圧縮方法。
  4. 請求の範囲1の画像圧縮方法に於いて、前記画像置換ステップは、前記差分画像生成ステップを実行した結果に基づいて処理ブロックと参照ブロックとの画素差が所定の個数以上の場合には処理ブロックの差分画像への置き換えを行わないことを特徴とする画像圧縮方法。
  5. 請求の範囲1の画像圧縮方法に於いて、前記処理ブロック選択ステップは、選択したブロックの画素値が予め定めた所定のパターンに合致する場合には、該処理ブロックの参照ブロックとの排他論理和の処理をスキップすることを特徴とする画像圧縮方法。
  6. 請求の範囲1の画像圧縮方法に於いて、前記分割ステップは、ブロックの横画素数および縦画素数を8の倍数とすることを特徴とする画像圧縮方法。
  7. 請求の範囲2の画像圧縮方法に於いて、前記画像符号化ステップは、
    前記差分画像の処理ブロックを含む画像を主走査方向に走査することにより、任意の整数であるK行単位に黒画素を含む領域と黒画素を含まない領域に分離する第1領域分離ステップと、
    前記第1領域分離ステップで得られた黒画素を含む前記Kの整数倍であるN行として定義される論理行を、主走査方向と交差する副走査方向に走査することにより、1列単位に黒画素を含む領域と黒画素を含まない領域とに分離する第2領域分離ステップと、
    前記第1領域分離ステップおよび第2領域分離ステップで得られた各領域を要素として符号化する符号化ステップと、
    を備えたこと特徴とする画像圧縮方法。
  8. 符号入力部により、所定の符号データ、各処理ブロックの差分画像への置換有無、および参照ブロックの位置情報の組み合わせを含む画像圧縮データを入力する入力ステップと、
    画像復号部により、入力された前記符号データを画像に復号する画像復号ステップと、
    ブロック復号部により、前記画像復号ステップの復号画像を縦横所定の画素数の処理ブロックに分割し、差分画像に置き換えられた処理ブロックと参照ブロックの画素値を排他的論理和して前記処理ブロックの画素値と置き換えて復号するブロック復号ステップと、
    を備えたことを特徴とする画像復元方法。
  9. 請求の範囲8記載の画像元方法に於いて、前記各処理ブロックの差分画像への置換有無および参照ブロックの位置情報は、
    入力画像を縦横所定の画素数のブロックに分割する分割ステップと、
    前記分割されたブロックを主走査方向および副走査方向に走査して順番に処理ブロックとして選択する処理ブロック選択ステップと、
    前記処理ブロック選択ステップで選択されたブロックとの位置関係及び画素値の関係が所定の条件を満たすブロックを参照ブロックとして選択する参照ブロック選択ステップと、
    前記処理ブロックと参照ブロックの画素値を排他的論理和して差分画像を生成する差分画像生成ステップと、
    前記差分画像が所定の条件を満たす場合に前記処理ブロックを該差分画像に置き換えるブロック置換ステップと、
    を備えた圧縮側の処理により生成されたことを特徴とする画像復元方法。
  10. 請求の範囲2の画像圧縮方法に於いて、前記画像符号データは、
    前記差分画像の処理ブロックを含む画像を主走査方向に走査することにより、任意の整数であるK行単位に黒画素を含む領域と黒画素を含まない領域に分離する第1領域分離ステップと、
    前記第1領域分離ステップで得られた黒画素を含む前記Kの整数倍であるN行として定義される論理行を、主走査方向と交差する副走査方向に走査することにより、1列単位に黒画素を含む領域と黒画素を含まない領域とに分離する第2領域分離ステップと、
    前記第1領域分離ステップおよび第2領域分離ステップで得られた各領域を要素として符号化する符号化ステップと、
    を備えた圧縮側の処理により生成されたことを特徴とする画像圧縮方法。
  11. コンピュータに、
    入力画像を縦横所定の画素数のブロックに分割する分割ステップと、
    前記分割されたブロックを主走査方向および副走査方向に走査して順番に処理ブロックとして選択する処理ブロック選択ステップと、
    前記処理ブロック選択ステップで選択されたブロックとの位置関係及び画素値の関係が所定の条件を満たすブロックを参照ブロックとして選択する参照ブロック選択ステップと、
    前記処理ブロックと参照ブロックの画素値を排他的論理和して差分画像を生成する差分画像生成ステップと、
    前記差分画像が所定の条件を満たす場合に前記処理ブロックを該差分画像に置き換えるブロック置換ステップと、
    を実行させることを特徴とするプログラム。
  12. コンピュータに、
    所定の符号データ、各処理ブロックの差分画像への置換有無、および参照ブロックの位置情報の組み合わせを含む画像圧縮データを入力する入力ステップと、
    入力された前記符号データを画像に復号する画像復号ステップと、
    前記画像復号ステップの復号画像を縦横所定の画素数の処理ブロックに分割し、差分画像に置き換えられた処理ブロックと参照ブロックの画素値を排他的論理和して前記処理ブロックの画素値と置き換えて復号するブロック復号ステップと、
    を実行させることを特徴とするプログラム。
  13. 入力画像を縦横所定の画素数のブロックに分割するブロック分割部と、
    前記分割されたブロックを主走査方向および副走査方向に走査して順番に処理ブロックとして選択する処理ブロック選択部と、
    前記処理ブロック選択ステップで選択されたブロックとの位置関係及び画素値の関係が所定の条件を満たすブロックを参照ブロックとして選択する参照ブロック選択部と、
    前記処理ブロックと参照ブロックの画素値を排他的論理和して差分画像を生成する差分画像生成部と、
    前記差分画像が所定の条件を満たす場合に前記処理ブロックを該差分画像に置き換えるブロック置換部と、
    前記ブロック置換部を実行して得られた画像を符号化する画像符号化部と、
    前記画像符号化部を実行して得られた符号データと、前記ブロック置換部を実行して得られた各処理ブロックの差分画像への置換有無および参照ブロックの位置情報とを組み合わせて出力する符号出力部と、
    を備えたことを特徴とする画像圧縮装置。
  14. 所定の符号データ、各処理ブロックの差分画像への置換有無、および参照ブロックの位置情報の組み合わせを含む画像圧縮データを入力する符号入力部と、
    入力された前記符号データを画像に復号する画像復号部と、
    前記画像復号部の復号画像を縦横所定の画素数の処理ブロックに分割し、差分画像に置き換えられた処理ブロックと参照ブロックの画素値を排他的論理和して前記処理ブロックの画素値と置き換えて復号するブロック復号部と、
    を備えたことを特徴とする画像復元装置。
JP2004567528A 2003-01-30 2003-01-30 画像圧縮方法、画像復元方法、プログラム及び装置 Pending JPWO2004068844A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/000888 WO2004068844A1 (ja) 2003-01-30 2003-01-30 画像圧縮方法、画像復元方法、プログラム及び装置

Publications (1)

Publication Number Publication Date
JPWO2004068844A1 true JPWO2004068844A1 (ja) 2006-05-25

Family

ID=32800814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004567528A Pending JPWO2004068844A1 (ja) 2003-01-30 2003-01-30 画像圧縮方法、画像復元方法、プログラム及び装置

Country Status (3)

Country Link
US (1) US7236636B2 (ja)
JP (1) JPWO2004068844A1 (ja)
WO (1) WO2004068844A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4371026B2 (ja) * 2004-09-28 2009-11-25 コニカミノルタビジネステクノロジーズ株式会社 プリントシステムおよびプリンタ
US7586649B2 (en) * 2004-12-27 2009-09-08 Konica Minolta Business Technologies, Inc. Method and device for compressing image data
JP2007306513A (ja) * 2005-07-13 2007-11-22 Konica Minolta Business Technologies Inc 画像データの圧縮方法および装置
JP2007300601A (ja) * 2006-04-07 2007-11-15 Konica Minolta Business Technologies Inc 画像データの圧縮方法およびその装置
JP2009110211A (ja) * 2007-10-29 2009-05-21 Sony Corp 情報符号化装置および方法、情報検索装置および方法、情報検索システムおよび方法、並びにプログラム
TWI415070B (zh) * 2009-03-30 2013-11-11 Innolux Corp 源極驅動器及電子系統
JP5558767B2 (ja) * 2009-09-25 2014-07-23 キヤノン株式会社 画像処理装置及びその処理方法
DE102009050020B4 (de) * 2009-10-16 2021-09-02 Carl Zeiss Microscopy Gmbh Mikroskop und Verfahren zur Detektion von Probenlicht
JP5393574B2 (ja) 2010-04-08 2014-01-22 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP5595151B2 (ja) 2010-07-13 2014-09-24 キヤノン株式会社 画像処理装置、画像処理装置における圧縮方法、および、プログラム
JP5643574B2 (ja) * 2010-08-26 2014-12-17 キヤノン株式会社 画像処理装置及び画像処理方法
CN107087194B (zh) 2010-12-13 2020-02-11 韩国电子通信研究院 基于帧间预测对视频信号进行解码的方法
US9680639B2 (en) * 2011-03-31 2017-06-13 Panasonic Intellectual Property Management Co., Ltd. Secret sharing apparatus and secret sharing method that restores secret data from at least two of generated shared data
JP6040145B2 (ja) * 2013-12-17 2016-12-07 京セラドキュメントソリューションズ株式会社 画像処理装置
US10115177B2 (en) 2014-06-27 2018-10-30 Samsung Electronics Co., Ltd. Online texture compression and decompression in hardware
US9947071B2 (en) 2014-06-27 2018-04-17 Samsung Electronics Co., Ltd. Texture pipeline with online variable rate dictionary compression
CN107801026B (zh) * 2017-11-09 2019-12-03 京东方科技集团股份有限公司 图像压缩方法及装置、图像压缩及解压缩系统
US10860399B2 (en) 2018-03-15 2020-12-08 Samsung Display Co., Ltd. Permutation based stress profile compression
DE102018122297A1 (de) * 2018-09-12 2020-03-12 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Verfahren zur Kompression und Dekompression von Bilddaten
US10776957B2 (en) 2018-10-02 2020-09-15 Samsung Electronics Co., Ltd. Online image compression in hardware
US10803791B2 (en) 2018-10-31 2020-10-13 Samsung Display Co., Ltd. Burrows-wheeler based stress profile compression
KR102152346B1 (ko) 2019-01-30 2020-09-04 스노우 주식회사 이미지 파일의 블록 간 차이를 통한 압축율 향상 방법 및 시스템
KR102185668B1 (ko) 2019-01-30 2020-12-02 스노우 주식회사 이미지 파일의 픽셀 변환을 통한 압축율 향상 방법 및 시스템
US11308873B2 (en) 2019-05-23 2022-04-19 Samsung Display Co., Ltd. Redundancy assisted noise control for accumulated iterative compression error
US11245931B2 (en) 2019-09-11 2022-02-08 Samsung Display Co., Ltd. System and method for RGBG conversion

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5929020B2 (ja) * 1977-06-08 1984-07-17 松下電器産業株式会社 2次元ブロック符号化方法
JPH03171875A (ja) * 1989-11-29 1991-07-25 Nec Corp 画像信号符号化復号化方法とその装置
JP3278298B2 (ja) 1994-08-03 2002-04-30 富士通株式会社 ビットマップデータの圧縮方法及び圧縮装置
JP2809161B2 (ja) * 1995-11-22 1998-10-08 日本電気株式会社 予測符号化装置
JPH09294210A (ja) * 1996-04-25 1997-11-11 Canon Inc 画像処理装置及び画像処理方法
JP3866568B2 (ja) 2001-12-21 2007-01-10 富士通株式会社 画像圧縮方法
JP4001482B2 (ja) 2001-12-27 2007-10-31 富士通株式会社 画像圧縮方法、その復元方法及びそのプログラム
JP3901514B2 (ja) 2001-12-27 2007-04-04 富士通株式会社 画像圧縮方法、その復元方法及びそのプログラム

Also Published As

Publication number Publication date
US20050123206A1 (en) 2005-06-09
US7236636B2 (en) 2007-06-26
WO2004068844A1 (ja) 2004-08-12

Similar Documents

Publication Publication Date Title
US7236636B2 (en) Image compression method, image restoration method, program and apparatus
JP3400944B2 (ja) 併合データ要素を生成する方法およびその印刷データ処理パイプライン
US8452083B2 (en) Image processing apparatus, image processing method, and computer-readable medium
US20080317362A1 (en) Image encoding apparatus and image decoding apparauts, and control method thereof
US7167259B2 (en) System and method for merging line work objects using tokenization and selective compression
JP2006121645A (ja) 画像圧縮装置および画像圧縮プログラム
US20030184809A1 (en) Grayscale and binary image data compression
JP2005323326A (ja) 画像符号化装置及び復号装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP3278298B2 (ja) ビットマップデータの圧縮方法及び圧縮装置
JP4063487B2 (ja) ラスタデータの圧縮方法
US7746501B2 (en) Method and device for compressing image data
JP4371026B2 (ja) プリントシステムおよびプリンタ
JP3085118B2 (ja) データ圧縮装置
JP4008428B2 (ja) 画像圧縮方法
JPH08223428A (ja) 画像データ圧縮装置および画像データ伸長装置
JP4435586B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JPH09275498A (ja) 画像圧縮方法
JP3459723B2 (ja) 画像処理装置及び方法
US7973975B2 (en) Image processing apparatus and image processing method
JP4629512B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4741317B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP3862590B2 (ja) 画像処理装置及び方法及びコンピュータプログラム並びにコンピュータ可読記憶媒体
JP4529681B2 (ja) 画像データの圧縮方法および装置
JPH07264584A (ja) 符号化復号化方法および符号化復号化装置
JP4377352B2 (ja) データ圧縮装置およびデータ圧縮プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071206

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080115

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080208