(57)【特許請求の範囲】
【請求項１】
不可欠な情報を失うことなく圧縮することが可能なディザ画像の２値表現を処理するための方法であって：
a)上記ディザ画像に含まれるマルチ画素２値データのタイルに関して複数の等価クラスを定義するステップであって、該タイルが２値データの所定の編成であり、該等価クラスの各々は同じグレーレベルを持つ複数のレンダリング見本を定義し関連づけ、等価クラス中の各タイルは同じグレーレベルを有するものである、前記ステップと；
b)上記ディザ画像中の各タイル毎に１つの等価クラスを識別するステップと；
c)上記各等価クラスの各々をリテラル要素とコピー要素が交互に現れるシーケンスにコード化するステップであって、該リテラル要素が１つ以上の連続したタイルに関する等価クラス情報を含み、該コピー要素が前にコード化された等価クラス情報をコピーするための情報を含むステップと；
を含むディザ画像の２値表現処理方法。
【請求項２】
複数の画素を表す複数のタイルに編成されるディザ画像の圧縮された２値表現を圧縮解除するための方法であって：
a)上記圧縮された２値表現を複数のリテラル要素及びコピー要素にデコードするステップと；
b)上記リテラル要素及びコピー要素の各々を等価クラス識別子にデコードするステップであって、各等価クラス識別子が上記ディザ画像のタイルに対応し、等価クラス中の各タイルは同じグレーレベルを有している、前記ステップと；
c)各等価クラス識別子毎に、該等価クラスについての複数の代表タイル構成よりなるレンダリングディクショナリから等価クラス見本を選択するステップと；
を含むディザ画像の圧縮２値表現圧縮解除方法。
【請求項３】
ディザ画像の圧縮及び圧縮解除のためのシステムであって：
ディザ画像を受け取るための入力手段と；
上記ディザ画像を圧縮し、該ディザ画像の圧縮表現を圧縮解除するための動作を実行するためのプロセッサと；
等価クラス中の各タイルが同じグレーレベルを有するよう、各々が複数のタイル構成をひとつのクラスに分類するための複数のタイル等価クラス定義を記憶するための記憶手段と；
を具備し、
上記記憶手段が、さらに上記ディザ画像を圧縮するための動作を含むデータを記憶し、該圧縮するための動作が：
上記ディザ画像の２値表現を生成するための動作と；
上記２値表現からタイルを抽出して、各タイル毎に等価クラスを決定するための動作と；
リテラル要素とコピー要素が交互に現れるシーケンスを生成する上記で決定された等価クラスに基づいてタイルの所定の集まりを圧縮するための動作と；
を含み、
該記憶手段がさらに等価クラス見本を記憶し、該等価クラス見本の各々が該等価クラスについての複数の代表タイル構成よりなり、前記代表タイル構成の各々がグレーレベルを持ち；
上記記憶手段がさらにディザ画像の圧縮表現を圧縮解除するための動作を含むデータを記憶し、該圧縮解除するための動作が：
リテラル要素とコピー要素のシーケンスを等価クラスのインスタンスに圧縮解除するための動作と；
等価クラスのインスタンスについて上記複数の代表タイル構成の１つを選択するための動作と；
を含むディザ画像の圧縮及び圧縮解除システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ圧縮の分野に関し、特にディザ画像のロッシー（LOSSY）圧縮に関する。
【０００２】
【従来の技術】
デジタル化された画像の一般的利用を阻む大きな障害の一つはそのサイズが大きいことである。３００ドット／インチ（dpi）の８.５ｘ１１の画像は約８,０００,０００画素を含む。これは、走査された画像の２値化によって１画素当たりのビット数が１に減じられた後でも、まだ１メガバイトのサイズである。圧縮技術は、通常ロスレス（LOSSLESS）である、あるいはロッシー（LOSSY）であるという表現で特徴付けられる。ロスレス圧縮は、圧縮及びその後の圧縮解除でデータが失われない。ロッシー圧縮は、一定量のデータが失われるが、圧縮データの重要な部分は圧縮解除後に保持されるていので、受容可能である。
【０００３】
CCITTグループ３またはグループ４あるいは MMRのような２値画像用の一般的なロスレス圧縮技術では、２値画像を１０分の１乃至２０分の１に圧縮することができる。これでも、同等の画像を生成するために用いられる合成電子形式と比較してまだ大きい。さらに、このような圧縮技術はディザ画像に関してはうまく機能しない。これは、このような圧縮技術は、一般に隣接の画素が既知の画素の値を予測する圧縮プログラムの能力に依存するからである。ディザ画像は、意図的に疑似ランダムパターンに配列された非常に小さいドットを多数含む。これらの画像では、画素の値を予測することは非常に困難なため、このような圧縮技術は極めて不完全にしか機能しない。
【０００４】
周知の画像圧縮ためのロッシーベースのもう一つの方法としてベクトル量子化法がある。ベクトル量子化器（VQ）は、ｋ‐次元の入力ベクトルをｋ‐次元の再生ベクトルの有限集合、即ち、コードワードの１つにマッピングする量子化器である。画像圧縮の場合、入力ベクトルは画素の一定のグループ化である。VQは２つの部分、すなわちエンコーダとデコーダに分けることができる。エンコーダは入力ベクトルを選択された再生ベクトルのインデックスを表すバイナリコードにマッピングし、デコーダはバイナリコードを選択された再生ベクトルにマッピングする。再生ベクトルは入力ベクトルの圧縮解除値になる。
【０００５】
通常、デコーダは単純なルックアップテーブルを使って動作する。圧縮解除して受容可能な結果を得るためには、再生ベクトルの数及びその結果のルックアップテーブルが非常に大きくなり得る。ルックアップテーブルは圧縮データストリームの一部になることもあるので、大きいルックアップテーブルは望ましくない。
【０００６】
ベクトル量子化は、概念的には見つかった記号を等価クラスにグループ化することによってテキスト画像に圧縮を実行するための周知の方法に類似している。この方法では、記号を２値画像から抽出し、１つあるいはそれより多くの等価クラスのテンプレートと突き合せることが行われる。十分な圧縮を達成するためには、クラシファイヤ（classifier: 分類装置）は小数のクラスでもって動作するべきである。
【０００７】
記号突合せ（照合）に基づく画像圧縮の一例が、「走査された記号の等価クラスへの分類(Classification Of Scanned Symbols Into Equivalence Classes）」という名称の１９９５年１２月２０日付出願の同時係属中の米国特許出願第０８/５７５，３０５号に開示されている。記号突合せに基づく画像圧縮のもう一つ例が、１９９４年４月１２日付でマーク (Mark)他とに交付された「画像の圧縮方法及び装置 (Method and Apparatus For Compression Of Images) 」という名称の米国特許第５,３０３,３１３（以下´３１３号特許とする）に記載されている。この´３１３号特許においては、画像が記号突合せの前に「事前圧縮される」。´３１３号特許には、このような事前圧縮のためにランレングスコード化法を用いることが記載されている。ランレングス表現から符号が抽出される。記号突合せの正確度を改善するために、複数の類似度テストと共に投票方式が用いられる。´３１３号特許には、さらに、テンプレートを記号突合せに基づいて修正することができるテンプレート合成方式が開示されている。
【０００８】
【発明が解決しようとする課題】
しかしながら、前述の記号ベースの圧縮技術は特にピクチャ画像に関しては圧縮が適切に行われず、特にディザ画像では圧縮がうまく行われない。これは、疑似ランダムパターンは、通常多数の等価クラスを生成させるからであり、また非常に多数の記号をクラスに分類しなければならないからである（各ドットが別個の記号と解釈されることもしばしばある）。
【０００９】
【課題を解決するための手段】
本発明は、ディザ画像の２値表現を圧縮／圧縮解除するためのシステムにある。本願で開示する実施の態様は、ディザ画像を圧縮するためロッシー法に関連したものである。ロッシー圧縮においては、オリジナル画像データの一部が失われる。ハーフトーン画像やエラー拡散画像のようなディザ画像の場合、オリジナル画像の正確な再生は、許容できる結果を得るために必ずしも必要ではないということが確認されている。本発明は、ディザ画像でエッジの正確な位置を保持することは、グレーレベルを保持することほど重要ではないという考えを具体化したものである。これは、ディザ画像は意図的に疑似ランダムパターンに配列されたドットを含むからである。このような疑似ランダムパターンとしての画素配列を通して、筋あるいは線のような望ましくないアーティファクトを避けることができる。
【００１０】
本発明の圧縮方法は、基本的に、２値コード化画像に含まれるマルチ画素２値コード化データのタイルに関して複数の等価クラスを定義するステップであって、該タイルが２値データの第１の所定の編成であり、各該等価クラスについて１つ以上のレンダリング見本を定義し、関連づけるステップと；該２値コード化画像中の各タイルを等価クラスに分類すると共に、それらの等価クラスを走査線毎に、リテラル要素及びコピー要素のシーケンスにコード化するステップであって、該リテラル要素は直接圧縮解除を指示して圧縮データストリーム中の等価クラスを見つけだすためのものであり、該コピー要素は圧縮解除を指示して直前の圧縮解除された走査線中の等価クラスを見つけだすためのものであるステップと、を具備したものである。圧縮解除されると、リテラル要素及びコピー要素のシーケンスは、一度に走査線１本ずつそれぞれの等価クラスにデコードされ、次いで各等価クラス毎に対応するレンダリング見本（原本）が選択される。
【００１１】
第１の態様は、不可欠な情報を失うことなく圧縮することが可能なディザ画像の２値表現を処理するための方法であって：
a)上記ディザ画像に含まれるマルチ画素２値データのタイルに関して複数の等価クラスを定義するステップであって、該タイルが２値データの所定の編成であり、該等価クラスの各々は同じグレーレベルを持つ複数のレンダリング見本を定義し、関連づけ、等価クラス中の各タイルは同じグレーレベルを有するものである、前記ステップと；
b)上記ディザ画像中の各タイル毎に１つの等価クラスを識別するステップと；
c)上記各等価クラスの各々をリテラル要素とコピー要素が交互に現れるシーケンスにコード化するステップであって、該リテラル要素が１つ以上の連続したタイルに関する等価クラス情報を含み、該コピー要素が前にコード化された等価クラス情報をコピーするための情報を含むステップと；
を含むディザ画像の２値表現処理方法である。
なお、以下の態様においても、等価クラス中の各タイルは同じグレーレベルを有するものである。
【００１２】
第２の態様は、複数の画素を表す複数のタイルに編成されるディザ画像の圧縮された２値表現を圧縮解除するための方法であって：
a)上記圧縮された２値表現を複数のリテラル要素及びコピー要素にデコードするステップと；
b)上記リテラル要素及びコピー要素の各々を等価クラス識別子にデコードするステップであって、各等価クラス識別子が上記ディザ画像のタイルに対応するステップと；
c)各等価クラス識別子毎に、該等価クラスについての複数の代表タイル構成よりなるレンダリングディクショナリから等価クラス見本を選択するステップと；
を含むディザ画像の圧縮２値表現圧縮解除方法である。
【００１３】
第３の態様は、ディザ画像の圧縮及び圧縮解除のためのシステムであって：
ディザ画像を受け取るための入力手段と；
上記ディザ画像を圧縮し、該ディザ画像の圧縮表現を圧縮解除するための動作を実行するためのプロセッサと；
各々が複数のタイル構成をひとつのクラスに分類するための複数のタイル等価クラス定義を記憶するための記憶手段と；
を具備し、
上記記憶手段が、さらに上記ディザ画像を圧縮するため動作を含むデータを記憶し、該圧縮するための動作が：
上記ディザ画像の２値表現を生成するための動作と；
上記２値表現からタイルを抽出して、各タイル毎に等価クラスを決定するための動作と；
リテラル要素とコピー要素が交互に現れるシーケンスを生成する上記で決定された等価クラスに基づいてタイルの所定の集まりを圧縮するための動作と；
を含み、
該記憶手段がさらに等価クラス見本を記憶し、該等価クラス見本の各々が該等価クラスについての複数の代表タイル構成よりなり、前記代表タイル構成の各々がグレーレベルを持ち；
上記記憶手段がさらにディザ画像の圧縮表現を圧縮解除するための動作を含むデータを記憶し、該圧縮解除するための動作が：
リテラル要素とコピー要素のシーケンスを等価クラスのインスタンスに圧縮解除するための動作と；
等価クラスのインスタンスについて上記複数の代表タイル構成の１つを選択するための動作と；
を含むディザ画像の圧縮及び圧縮解除システムである。
【００１４】
【発明の実施の形態】
ここでは、連続トーン画像の２値表現を圧縮し／圧縮解除するためのシステムについて開示、説明する。本発明は、データ圧縮を必要とする、あるいはデータ圧縮の恩恵を受ける種々の用途で使用することが可能である。このような用途は、総合的画像処理システムの一部として見いだされることもあれば、独立の用途として見いだされることもある。本願の実施の形態は、コンピュータベースのシステム上で実行されるソフトウェアとして実施される。このソフトウェアはＣプログラミング言語で書かれる。本発明は、ピクチャ画像データの圧縮用として好適に実施されている。
【００１５】
本願で使用する用語はそれぞれ下記の意味を有する。
画像とは、媒体上の模様（マーキング）や媒体の外観を意味する。
画像データとは、画像を再現するため用いることが可能な画像の表現を意味する。
ピクチャ画像とは、媒体の上の非テキスト模様及び非線画模様を意味する。
タイル（単数又は複数）とは、クラスとして分類された基本オブジェクトとしての画素の論理編成を意味する。
等価クラスとは、画像中にあって受容できないほどに画像の外観を変えることなく互いに置換することができるタイルの集合である。
等価クラスのレンダリング見本（原本）とは、等価クラスの画素構成の集合であり、画像が圧縮解除されるか、あるいは再生成されるとき、その１つ以上がその等価クラスのメンバの代わりに置換される。等価クラスのレンダリング見本の集まりをレンダリングディクショナリと称する。
コピー要素とは、前のデコードされた走査線から等価クラス値を得るために圧縮解除を指示する圧縮データストリーム中のデータ要素を意味する。
リテラル要素とは、その要素自体中で等価クラス値を得るために圧縮解除を指示する圧縮データストリーム中のデータ要素を意味する。
圧縮データストリームとは、コピー要素及びリテラル要素からなる画像、さらにはこれに対応するレンダリングディクショナリの圧縮表現を意味する。
【００１６】
本願の実施の形態は、ディザ画像を圧縮するためのロッシー法に基づくものである。ロッシー圧縮では、圧縮及びその後の圧縮解除中に一定量のデータが部分的に変えられる。ハーフトーン画像及びエラー拡散画像のいずれの場合も、オリジナル画像の正確な再生は許容できる結果を得る上において必ずしも必要ではないことが確認されている。本発明は、ディザ画像においてエッジの正確な位置を保持することはグレーレベルを保持することほど重要ではないという考えを具体化したものである。これは、ディザ画像は意図的に疑似ランダムパターンに配列されたドットを含むからである。このような疑似ランダムパターンによる配置を通して、筋あるいは線のような望ましくないアーティファクトが回避される。
【００１７】
本発明の方法を用いて圧縮することができるディザされたピクチャ画像の例を図１に示す。図１において、ドキュメント画像１００はテキスト領域とピクチャ領域の両方を有する。そのピクチャ領域１０１は拡大図１０２に拡大して示されている。上に述べたように、拡大図１０２はピクチャ領域１０１がランダムパターンのドットで構成されていることを示す。
【００１８】
ここで、テキスト領域も本発明の方法を用いて圧縮することができるが、その結果を圧縮解除した画像は、あまりに多くの情報が失われる（すなわち、劣悪に見える）ことがあるということに留意すべきである。走査された画像からテキスト領域とピクチャ領域を分離し、それらの各領域に異なる圧縮方式を適用する種々の技術は周知である。本発明の方法は、そのような実施において使用することが可能である。
【００１９】
本発明は、まず所定の規則の集合に従って画像の論理単位、すなわちタイルの等価クラスの集合を定義することにより行われる。圧縮する際には、画像中の各タイルが等価クラスに割り当てられる。等価クラス中の各タイルは同じグレーレベルを持つが、黒画素及び白画素のシーケンスが異なってもよい。
【００２０】
各等価クラスには、さらにレンダリング見本の集合が関連付けられる。各レンダリング見本は、同じグレーレベルを生じる（すなわち、各レンダリング見本は同数の黒画素を持つ）。圧縮解除とされると、画像を表す等価クラスの集合がデコードされる。各等価クラス毎に、何らかの擬似ランダム基準（例えば走査線）に基づいた対応する集合からレンダリング見本が選択される。
【００２１】
本発明のもう一つの特徴的態様は、縮小サイズのレンダリングディクショナリを有して、圧縮解除とされるとピクチャ画像が再ディザされるベクトル量子化法にある。
【００２２】
図２は、本発明の方法の全体的ななステップを説明したフローチャートである。まず、特定のタイル構成に関して、等価クラスの集合及びこれと対応するレンダリングディクショナリが生成される（ステップ２０１）。ドキュメント画像を圧縮するために、ドキュメントを走査して画像データが生成される（ステップ２０２）。画像データは、通常、画像のビットマップ表現である。画像データのピクチャ部分が画像データのテキスト部分から分離される（ステップ２０３）。本発明によって処理されるのはピクチャ部分である。ここで、ピクチャ部分に何らかのテキストが入っている場合、それらのテキストは全てピクチャ部分外に分けることはが望ましいということに留意すべきである。さらに、画像は全体がピクチャデータで構成されることもある。次に、画像データのピクチャ部分は２値表現に変換され、各画素がシングルビットによって表される表現が生成される（ステップ２０４）。マルチレベルの画像は、通常、マルチビットのデータオペランドによって表される画素を持つことが多い。これらのオペランドをシングルビット値に変換するために、ディザリング処理が通常行われる。このディザリング処理では、画像の異なる領域の間に滑らかで、見目のよい遷移部が得られる。
【００２３】
次に、２値表現の各タイルが抽出されて、それぞれ特定の等価クラスに分類される（ステップ２０５）。各タイル毎に等価クラス識別子が設けられる。この実施の形態では、タイルは高さ１画素で８画素幅のブロックからなる。等価クラスはタイルサイズに対応した仕方で定義済みであると仮定されている。次に、等価クラス識別子のストリームがコード化される（ステップ２０６）。本願で説明するステップ２０５及び２０６は概要である。ステップ２０５及び２０６が実施される望ましい態様を、以下により詳細に説明する。しかしながら、本発明の精神及び範囲からの逸脱を惹起することのない他の周知技術を用いることも可能であるということに留意すべきである。いずれの場合も、コード化ステップ２０６は圧縮画像データストリームを生じさせる。この圧縮データストリームはコピー要素（圧縮解除プロセスを指示して前のデコードされた走査線における対応する位置より各等価クラスを見つけだすための）及びリテラル要素（圧縮解除プロセスを指示して圧縮データストリームより直接各等価クラスを得るための）のシーケンスで構成されている。各コピー要素及びリテラル要素は、画像データから抽出されるあるタイル数を示す。本発明の実施によって、圧縮画像データストリームはレンダリングディクショナリを含んでも、含まなくてもよい。
【００２４】
この実施の形態では、等価クラス表現のコード化は、走査線のタイルが等価クラスに変換された直後に行われるということに留意すべきである。これによって、実際、圧縮を行うために必要な内部メモリの大きさを最小にすることが可能である（例えば２つの走査線バッファに限定することにより）。しかしながら、その画像について全ての等価クラスが識別された後コード化を行うことも可能であり、これによって別のコード化方式の使用が可能になることもある。
【００２５】
次に、圧縮データストリームは、その圧縮データストリームの目的によって、記憶されるか、あるいは転送される（ステップ２０７）。
【００２６】
圧縮データストリームを圧縮解除する時は、等価クラス表現を得るために等価クラス識別子コード化がデコードされる（ステップ２０８）。等価クラス表現、レンダリングディクショナリ及びその時現在の走査線の数のような何らかの擬似ランダム入力を用いて画像の２値表現が生成される（ステップ２０９）。この２値表現は、ある特定のタイルに関して、使用される特定のレンダリング見本はオリジナルタイルの異なる画素構成を持つことができるので、通常、ステップ２０４において最初に生成された２値表現とは異なるものであるということに留意すべきである。これによって、実際画像は再ディザされさせる。
【００２７】
この実施の形態においては、画像は高さ１画素で８画素幅のタイルに分解される。これ以外のタイルサイズ及び寸法を使用することも可能であり、本発明の精神及び範囲から逸脱するものではない。次に、各タイルの内容が複数の定義済みの等価クラスの一つに分類される。等価クラスは、圧縮解除されると再ディザを行うことができるように定義される。
【００２８】
大きな圧縮を達成するためには、等価クラスの数を最小にすることが望ましい。２進値で１×８のタイルサイズの場合、理論的には最大２５６の等価クラスがあり得るはずである。最小の数の等価クラスを定義する効率的な方法が必要である。この実施の形態においては、４７の定義済み等価クラスがある。この数は、圧縮解除に対して許容できる視覚的結果が得られるように実験的に求められたものである。しかしながら、これと異なる数の等価クラスを用いることも可能であり、明白に本発明の精神及び範囲内にある。
【００２９】
等価クラスを生成するために用いられる一般規則は次の通りである。
１．等価クラスの構成要素は全て同数の黒画素を持つべきである。
２．１個の孤立の黒画素はタイル中のどこに動かしてもよく、そのように移動させても同じ等価クラスにとどまり得る。
３．２つの黒画素からなる孤立のブロックは、同じ等価クラスに保持しながらタイル中で左または右に２画素位置だけ動かすことができる。
４．３つまたは４つの黒画素からなる孤立のブロックは、同じ等価クラスに保持しながらタイル中で１画素位置だけ左または右に動かすことができる。
５．タイルの左または右エッジにくっつけられた２つ以上の黒画素からなるブロックはそのエッジにくっつけたままの状態に保たなければならない。
６．タイル中に白画素より黒画素が多くあれば、上記の全ての規則は孤立の黒画素グループに適用するのではなく、孤立の白画素グループに適用する。例えば、このことは３つの黒画素を含む等価クラスから各クラスの各タイル中の全ての画素を反転させるだけで５つの黒画素を含む等価クラスを得ることができると言うことを意味する。
【００３０】
この実施の形態の等価クラスが図３のテーブルに示してある。図３のテーブルを見る際には、タイル構成は実タイルの２進値ではなく、１６進形で示されていることに注意すべきである。１６進法／２進法は次の等値関係にある：０＝００００、１＝０００１、２＝００１０、３＝００１１、４＝０１００、５＝０１０１、６＝０１１０、７＝０１１１、８＝１０００、９＝１００１、Ａ＝１０１０、Ｂ＝１０１１、Ｃ＝１１００、Ｄ＝１１０１、Ｅ＝１１１０とＦ＝１１１１。図３では、クラス０〜７は順序が適切でないように見えるかもしれないということに留意すべきである。このようにしてクラスを順序づけると、このクラスのグループの間には多くの遷移部分があるので、より大きい圧縮が可能になることがあり、特殊なコーディングを用いることができるということが確認されている。しかしながら、これと異なるクラスの順序づけを用いることも本発明の精神及び範囲内で可能である。
【００３１】
この実施の形態では、画像はそれらの等価クラス表現に変換された後、一度に１走査線ずつコード化される。図４は、本願の実施の形態において走査線を圧縮するためのステップを説明したフローチャートであり、図２のステップ２０５乃至２０６に対応する。図４において、まず画像から最初の走査線中のタイルが抽出される（ステップ４０１）。この抽出は、単に８個の画素のグループ化を行うに過ぎない、即ち、それらの画素が２値データで表わされる場合、１バイトのデータを取り出すに過ぎない。次にそのタイルが属する等価クラスが識別される（ステップ４０２）。この実施の形態では、図５のテーブルを用いてタイルをその等価クラスにマッピングする。図５において、カラム（列）エントリはタイルの最左４ビットを表し、ロー（行）エントリは最右４ビットを表す。等価クラスの同定は単なるテーブル検索である。
【００３２】
次に、等価クラス情報は第１の走査線バッファに記憶される（ステップ４０３）。下記の説明から明らかなように、第１の走査線バッファは２番目の走査線をコード化する際の「基準」バッファになる。最初の走査線中の全てのタイルがそれらの各等価クラスに変換されるまで、ステップ４０１〜４０３が繰り返される（ステップ４０４）。次に、最初の走査線の等価クラスがリテラル要素にコード化される（ステップ４０５）。この場合のコード化は、長さが走査線の長さに等価クラス識別子によるコード化を続けた長さであるコード化である。また、最初の走査線の場合、最初の要素はゼロ長さのコピー要素であるということにも留意すべきである。さらに、この実施の形態においては、リテラル要素及び長さのハフマンコード化が行われる。ここで使用されるハフマンコードは等価クラスの頻度パターンについての実験・観察に基づいたものである。この態様によるハフマンコードの利用は当技術分野で周知である。
【００３３】
次に、等価クラスが第２の走査線バッファに記憶されること以外はステップ４０１〜４０３で説明したのと基本的に同じステップを用いて２番目の走査線が等価クラスの集合に変換される（ステップ４０６）。これ以後は、前にコード化された走査線が比較対象として存在するので、等価クラスのコード化は上記とは異なる形で行われる。以後の走査線についてのコード化は、常にコピー要素とリテラル要素が交互に現れるシーケンスを生じるということに留意すべきである。まず、第２の走査線バッファのタイルの等価クラスが第１の走査線バッファの対応する位置と比較される（ステップ４０７）。ここで一致が見られると、それぞれのバッファより順次等価クラスＩＤの比較が行われ、一致がなくなるまで突合せ長さが計算される（ステップ４０８）。次に、コピー要素突合せ長さがコード化される（ステップ４０９）。コピー要素もハフマンコード方式によるものである。
【００３４】
ステップ４０７で一致が見られなかった場合は、ゼロの突合せ長さがコピー要素にコード化される（ステップ４１０）。次に、第２の走査線バッファ中の相続く等価クラス定義が順次比較されて、それらが同じ等価クラスに入るかどうかが判断され、１対の一致する等価クラスが現れるまで長さが計算される（ステップ４１１）。次に、リテラル要素に対する長さがそのリテラル要素によって表される等価クラス識別子と共にコード化される（ステップ４１２）。その後、走査線の残りの部分についてコピー要素とリテラル要素の交互生成が繰り返される（ステップ４１３）。
【００３５】
次の（例えば３番目の）走査線に関しては、第２の走査線バッファが「基準バッファ」として用いられる一方、第１の走査線バッファは等価クラスが書き込まれるバッファとして用いられる。この第１の走査線バッファと第２の走査線バッファを交互に「基準」バッファとして使用する切り換え操作が画像全体を通して続けられる。
【００３６】
このような前にコード化された走査線を基準バッファとして用いる技術は、例えばCCITTグループ４の圧縮で用いられる周知の技術であるということに留意すべきである。しかしながら、等価クラス識別子のストリームについてレンペル‐ジヴ（lempel ‐ ziv）技術のような他のタイプのコード化を用いることも本発明の精神及び範囲から逸脱することなく可能である。図６は、図４の圧縮方法を遂行するため機能コンポーネントを図解したブロック図である。図６において、未圧縮（圧縮前）画像データストリーム６０１は等価クラス識別手段（識別子）６０２と結合される。未圧縮画像データストリーム６０１は、オリジナルの未圧縮走査線データを含んでいる。さらに、等価クラス識別手段６０２には等価クラスマップ６０３が結合される。等価クラスマップ６０３は従来の記憶装置に記憶することができ、図５に示すような情報を含んでいる。等価クラス識別手段６０２の出力は走査線バッファ６０４と６０５との間で切り換わる。上記のように、等価クラスのコード化は前の走査線の等価クラスに依存するので、前の走査線のコピーは維持される。走査線バッファ６０４及び６０５の各々は、さらに等価クラスエンコーダ６０６に結合されている。等価クラスエンコーダ６０６は走査線バッファの内容同士を比較して、適宜コピー要素またはリテラル要素にコード化し、それらの要素は圧縮データストリーム６０７として記憶される。等価クラスエンコーダにはさらにコード化テーブル６０８が結合されている。コード化テーブル６０８は、コピー要素及びリテラル要素に対してハフマンコード化を行うのに必要な情報を含む。
【００３７】
図７は、圧縮された走査線データストリームを例示したブロック図である。図７において、圧縮された走査線の場合に関して上に述べたように、最初の要素は常にコピー要素、ここではコピー要素７０１である。コピー要素７０１に含まれる情報は突合せ長さである。次の要素は、それがある場合は、リテラル要素７０２になる。ここで、現在の走査線と基準走査線の等価クラス識別子が同じならば、リテラル要素は全くコード化されないということに留意すべきである。リテラル要素は対応する数の等価クラス識別子７０３と共に長さを含む。もし次の要素がある場合は、その要素はコピー要素７０４になり、やはり主要情報として突合せ長さを含む。これで走査線が完了しない場合は、この要素の後に再びリテラル要素７０５と等価クラス識別子７０６が続くことになる。実際には、コピー要素は単なる突合せカウントのコード化であるのに対し、リテラル要素は長さのコード化の後に等価クラスコード化を対応する数だけ続けたものになる。
【００３８】
上記のように、圧縮は、さらに、生成された圧縮データストリームのリテラル要素及びコピー要素に関する長さ情報のハフマンコード化を通して達成される。リテラル要素とコピー要素の長さのコードは異なることに留意すべきである。これは、これらの２種類の要素について観察された頻度特性が異なるためである。
【００３９】
さらに、この実施の形態は、コピー要素の長さについての他の特別なコード化を伴う。一つには、走査線の終わりまでをコピーすることを指示するためのコードが設けられる。他に、次（あるいは次の次）のキーポイントまでコピーすることを指示するためのコードが設けられる。キーポイントとは、前にコード化された走査線中で、コピー要素のコード化からリテラル要素のコード化への移行が行われた点と定義される。このタイプのコード化はCCITTグループ４のコード化でも行われるので、これ以上この種のコード化について説明する必要はないと思われる。
【００４０】
上に述べたように、各等価クラスは複数のレンダリング見本によって表される。この実施の形態では、各等価クラスが８つのレンダリング見本の集合によって表される。いくつかの場合は、８つのレンダリング見本は全てが一意ではないこともあり得るということに留意すべきである（例えば、等価クラスがシングルタイル構成しか表さない場合）。しかしながら、ほとんどの場合は、デコード時に等価クラスを再ディザするために用いた場合見目のよい外観が得られるので、８つのレンダリング見本による方式が選択された。
【００４１】
上に述べたように、この実施の形態では、走査線コード化／圧縮は、すぐ前の走査線の内容に基づいて行われる。デコード／圧縮解除でも同様のプロセスが行われる。図８は圧縮解除ためのステップを説明したフローチャートである。図８において、まず、最初の走査線がデコードされて、現在の走査線バッファにデコードされた走査線が生成される（ステップ８０１）。このデコードされた走査線は等価クラス識別子の走査線よりなる。この実施の形態においては、走査線の長さを示す情報は画像を記述する記述情報から得られる。例えば、ティフ(Tagged Information File Format; TIFF）でコードされたドキュメント画像は画像幅情報を有するタグを含んでおり、そこから走査線情報を得ることが可能である。従って、決定された数の等価クラス識別子がデコードされるまでデコード動作が行われる。次に、各等価クラスのレンダリング見本が識別され、圧縮解除された走査線として出力される（ステップ８０２）。いずれの場合も、走査線がデコードされ、等価クラス見本が識別されたならば、「現在」の走査線バッファは「基準走査線バッファ」になり、次の走査線が現在の走査線になって、基準走査線バッファで見つかったデコードされた等価クラス識別子に一部基づいていてデコードされる。このプロセスは、まず現在の走査線ついてのコピー要素を得、現在の走査線バッファを基準走査線バッファに切り換えることによって開始される（ステップ８０３）。上に述べたように、この実施の形態では、この最初の要素は常にコピー要素であり、より正確にはあるカウント（ゼロであってもよい）であると仮定されている。コピー要素はデコードされて、長さＭが得られる（ステップ８０４）。上に述べたように、長さＭは基準走査線におけるキーポイントを表すことも可能であるということに留意すべきである。いずれの場合も、基準走査線バッファにおける対応する位置で長さＭによって表される等価クラスＩＤの数は次いで現在の走査線バッファにコピーされる（ステップ８０５）。この場合、長さＭがゼロならば、等価クラスＩＤは全くコピーされないことに留意すべきである。
【００４２】
次のリテラル要素は、それが存在する場合、デコードされて長さＮが求められる（ステップ８０６）。次に、リテラル要素に含まれるＮ個の等価クラスＩＤが現在の走査線バッファにコピーされる（ステップ８０７）。現在の走査線をデコード動作が、走査線を埋めるのに十分な数の等価クラスＩＤがデコードされるまでステップ８０３〜８０７に従って続けられる（ステップ８０８）。現在の走査線のデコードが終了したならば、現在の走査線における種々の等価クラスのレンダリング見本が得られ、デコードされた走査線として出力される（ステップ８０９）。
【００４３】
次に、画像の走査線の残りの部分についてステップ８０３〜８０９が繰り返される（ステップ８１０）。
【００４４】
図９は、図８のフローチャートで説明した圧縮解除を実行するための圧縮解除システムの機能コンポーネントのブロック図である。圧縮データストリーム９０１は要素デコーダ装置９０２に入力される。要素デコーダ装置９０２は、コピー要素デコーダ９０３及びリテラル要素デコーダ９０４で構成されている。コピー要素デコーダ９０３は、コピー要素に関する突合せ長さ情報をデコードする。リテラル要素デコーダ９０４は、カウント情報と共に対応する数の等価クラスＩＤをデコードする。コピー要素デコーダ９０３及びリテラル要素デコーダ９０４はそれぞれがバッファユニット９０５に接続される。バッファユニット９０５は、参照番号９０６で示す走査線バッファ１及び参照番号９０７で示す走査線バッファ２で構成されている。バッファユニット９０５は、さらにバッファへのアクセスを管理するバッファ制御装置９０８を有する（例えば、どのバッファがコピー要素デコーダによって使用される基準バッファであるか、いつバッファが出力できるか等々を決定する）。
【００４５】
コピー要素デコーダ９０３は、参照番号９０６の走査線バッファ１と参照番号９０７の走査線バッファ２の間で等価クラスＩＤのコピーを制御するためにバッファユニット９０５に制御情報を送る。リテラル要素９０４は、デコードした等価クラスＩＤをバッファユニット９０５に送って、参照番号９０６の走査線バッファ１あるいは参照番号９０７の走査線バッファ２の１つに記憶する。
【００４６】
さらに、デコードされた等価クラスＩＤの走査線を受け取るためのバッファユニット９０５には、ディザユニット９０９が接続されている。ディザユニット９０９は、対応する等価クラスをレンダリングするために用いられるレンダリング見本を決定するために使用される。ディザ装置９０９にはレンダリングディクショナリ９１０が結合されている。レンダリングディクショナリは、各等価クラス毎に使用されるレンダリング見本の集合を含む。ディザユニット９０９の出力は圧縮解除された画像データストリーム９１１である。
【００４７】
図１０は、本発明の実施の形態の等価クラスについてのレンダリング見本を示すテーブルである。図１０のテーブルも等価クラスに関するレンダリングディクショナリであると見なすことができ、図９のレンダリングディクショナリ９１０に入れることも可能である。このレンダリングディクショナリによれば、圧縮解除されたピクチャ画像をディザされた状態のまま保つことができ（あるいは再ディザすることもできる）。レンダリング見本の生成は、タイル構成の数、及び筋やバーが生じないようにある領域をひとつの等価クラスで満たすことによって得られる美的効果の予測に一部基づいて行われる。許容できる美的効果が保持される限り、本発明の精神及び範囲から逸脱することなく他のレンダリング見本の集合を用いることが可能なことはもちろんであろう。
【００４８】
この実施の形態においては、使用するレンダリング見本は、見本の数、例えば８をを法として処理中の走査線番号の値に対応する見本を選択することによって決定される。従って、例えば２５番目の走査線の場合、８を法とする２５、すなわち１によって対応する集合中の２番目の見本が使用されることになる。これらの集合には０〜７の番号が付されている。レンダリング見本を選択するには、他の方法（例えば完全ランダム方式）を用いることができ、本発明の精神及び範囲を逸脱することはないということに留意すべきである。
【００４９】
次に、本発明の実施の形態が使用できるコンピュータベースのシステムについて、図１１を参照して説明する。図１１において、コンピュータベースのシステムはバス１１０１を介して接続された複数のコンポーネントで構成されている。図示のバス１１０１は、本発明を不明瞭にしないため単純化して示されている。バス１１０１は、複数の並列バス（例えば、アドレスバス、データバス及び状態バス）、並びに階層構造をなすバス（例えば、プロセッサバス、ローカルバス及びＩ／Ｏバス）で構成されたものでもよい。いずれにしても、コンピュータシステムは、さらに、内部記憶装置１１０３からバス１１０１を介して供給される命令を実行するためのプロセッサ１１０２を含む（この場合内部記憶装置１１０３は、通常ランダムアクセスメモリ、あるいはリードオンリーメモリの組合せよりなる）。このような命令は、図２、４及び８のフローチャートによってすでにあらまし説明した処理ステップを実行するためのソフトウェアの形で実装することが望ましい命令である。プロセッサ１１０２と内部記憶装置１１０３は、別個のコンポーネントでも、特定用途向け集積回路（ASIC）チップのような単一の集積デバイスであってもよい。さらに、プロセッサ１１０２と内部記憶装置１１０３の組合せは、本発明の実施の形態が単一のASICチップあるいは他の集積回路チップで実施することができるように、本発明の機能を遂行するための回路を具備する。
【００５０】
また、バス１１０１には、アルファニューメリック（英数字）入力を行なうためのキーボード１１０４、圧縮されたテキスト画像データファイルのようなデータを記憶するための外部記憶装置１１０５、カーソルを操作するためのカーソル制御装置１１０６、及びビジュアル出力を表示するための表示装置１１０７も接続されている。キーボード１１０４は、通常、標準型のクエーティ(QWERTY)キーボードであるが、電話型のキーパッドを用いることも可能である。外部記憶装置１１０５は、固定型、あるいは着脱式の磁気あるいは光ディスクドライブを用いることができる。カーソル制御装置１１０６は、通常、いくつかの機能を果たすようプログラムすることができるボタンまたはスイッチが設けられる。バス１１０１にはさらにスキャナー１１０８が接続されている。スキャナー１１０８は、媒体のビットマップ表現（すなわち走査されたドキュメント画像）を生成するため手段として用いられる。
【００５１】
通常バス１１０１に接続することができるその他の要素（装置）としては、プリンタ１１０９、ファクシミリ装置１１１０及びネットワーク接続手段１１１１等が含まれる。プリンタ１１０９は、例えばビットマップ表現をプリントするために使用することができる。ファクシミリ装置１１１０は、本発明を用いて圧縮された画像データを送信するために使用される要素を具備することが可能である。あるいは、ファクシミリ装置１１１０は、本発明を用いて圧縮されたドキュメント画像の圧縮解除のための要素を具備することもできる。ネットワーク接続手段１１１１は、画像データを含むデータを受信及び／または送信するために使用される。これによって、本発明により利用される画像データは、走査プロセスを用いて、受信ファクスによって、あるいはネットワークを介して得ることが可能である。
【図面の簡単な説明】
【図１】本発明の実施の形態のロッシー圧縮法を用いて圧縮することが可能なディザ画像を例示した説明図である。
【図２】本発明の実施の形態のデータ圧縮及び圧縮解除方法の全体的ステップを説明したフローチャートである。
【図３】本発明のこの実施の形態で用いることができる形のコード化等価クラスの値を含むテーブルである。
【図４】本発明の実施の形態のデータ圧縮方法を用いて走査線を圧縮するためステップを図解したフローチャートである。
【図５】本発明の実施の形態でタイルがどの等価クラスに属するかを識別するために使用されるテーブルである。
【図６】図４の圧縮方法を実施するための圧縮システムの機能コンポーネントを示すブロック図である。
【図７】本発明の実施の形態で用いることができる形の圧縮走査線データストリームを図解したブロック図である。
【図８】本発明の実施の形態の圧縮解除方法を用いて圧縮データストリームを圧縮解除するためのステップを図解したフローチャートである。
【図９】図８の圧縮方法を実施するため圧縮解除システムの機能コンポーネントを示すブロック図である。
【図１０】本発明の実施の形態のレンダリング見本の値を含むテーブルである。
【図１１】本発明の実施の形態を利用することが可能なコンピュータベースのシステムを図解したブロック図である。
【符号の説明】
６０１    圧縮前データストリーム
６０２    等価クラス識別手段
６０３    等価クラスマップ
６０４    走査線バッファ１
６０５    走査線バッファ２
６０６    等価クラスエンコーダ
６０７    圧縮データストリーム
６０８    コード化テーブル
９０１    圧縮データストリーム
９０３    コピー要素デコーダ
９０４    リテラル要素デコーダ
９０６    走査線バッファ１
９０７    走査線バッファ２
９０８    バッファ制御
９０９    ディザユニット
９１０    レンダリングディクショナリ
９１１    圧縮画像データストリーム
【図１】
0003872217.tif 000002
【図２】
0003872217.tif 000003
【図３】
0003872217.tif 000004
【図４】
0003872217.tif 000005
【図５】
0003872217.tif 000006
【図６】
0003872217.tif 000007
【図７】
0003872217.tif 000008
【図８】
0003872217.tif 000009
【図９】
0003872217.tif 000010
【図１０】
0003872217.tif 000011
【図１１】
0003872217.tif 000012