(57)【要約】複合ドキュメントの画像が、画像の複数のブロックにアクセスし（１１４）、ブロックを圧縮用に分類する（１１６）ことによって処理される。ブロックのうちの少なくともいくつのブロックが、異なる色の数によって分類される（１１８）。分類は、異なる色の数をしきい値と比較することによってなされ、しきい値を超えない場合、ブロックの色パターンが符号化される。しきい値を超えた場合ブロックのエッジ検出を行い、少なくとも１つのエッジが検出された場合、ブロックを不可逆的高品質圧縮用に分類し、少なくとも１つのエッジが検出されない場合、ブロックを不可逆的低品質圧縮用に分類する。
2004537220.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル画像を処理する装置であって、
前記画像のブロックを記憶するためのバッファを備え、該ブロックおよび該バッファのサイズが前記画像のサイズよりも実質的に小さく、
圧縮のために前記ブロックを分類するプロセッサを備え、前記ブロックのうちの少なくともいくつかは、該ブロックに含まれる異なる色の数にしたがって分類される前記装置。
【請求項２】
前記プロセッサは、前記異なる色の数をしきい値と比較することによって各ブロックを分類し、前記しきい値を超えない場合、前記プロセッサはブロックの色パターンを符号化する請求項１に記載の装置。
【請求項３】
前記しきい値を超えた場合、前記プロセッサはブロックのエッジ検出を行い、少なくとも１つのエッジが検出された場合、前記プロセッサは、ブロックを不可逆的高品質圧縮用に分類し、少なくとも１つのエッジが検出されない場合、ブロックを不可逆的低品質圧縮用に分類する請求項２に記載の装置。
【請求項４】
前記プロセッサは、前記ブロック内の輝度差分エントロピーを決定することによってエッジ検出を行う請求項３に記載の装置。
【請求項５】
前記プロセッサは、分類前に前記画像内の少なくとも１つの基調色を識別する請求項１に記載の装置。
【請求項６】
前記プロセッサは、前記画像内のランダムに選択された画素に検出規則を適用することによって基調色を識別する請求項５に記載の装置。
【請求項７】
前記プロセッサは、前記画像の各ストリップのうちの少なくとも１つのストリップの基調色を決定する請求項６に記載の装置。
【請求項８】
前記検出規則は、偽陽性結果と偽陰性結果の少なくとも１つの確率を最小にする請求項６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル画像に関する。より具体的には、本発明は、複合ドキュメントの圧縮に関する。
【背景技術】
【０００２】
ディジタル複写機などのハードコピー装置は、一般に、ドキュメントのページをディジタル画像に変換する走査エンジンと、ディジタル画像を記憶するメモリと、記憶した画像を印刷出力する印刷エンジンとを含む。メモリは、通常、少なくとも１つの完全ディジタル画像を記憶できるほど大きい。完全ディジタル画像をメモリに記憶することによって、ディジタル複写機は、複数の記憶画像を印刷することができる。
【０００３】
メモリとディジタル複写機の帯域幅要件を小さくするために、ディジタル画像圧縮が行われる。メモリと帯域幅要件を小さくすることによって、ディジタル複写機のコストが削減される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
通常、複合ドキュメントの圧縮に単一圧縮アルゴリズムは適していない。複合ドキュメントは、テキスト、図および写真領域（重なることがある）、合成背景（例えば、テキスト・ボックス）、透かし、および階調を含むことがある。例えば雑誌や機関誌、教科書は、通常、これらの特徴のうちの２つ以上を含む。JPEGなどの圧縮アルゴリズムは、複合カラー・ドキュメントの写真領域の圧縮には適しているが、複合カラー・ドキュメントの黒白テキスト領域の圧縮には適していない。これらの不可逆圧縮アルゴリズムは、線形変換（例えば、離散コサイン変換、個別ウェーブレット変換）に基づき、エッジを効率的に圧縮しない。このアルゴリズムは、必要とするビットが多すぎ、テキストのまわりにきわめて好ましくないアーティファクトを生成することがある。
【０００５】
複合カラー・ドキュメントの黒白テキスト領域の圧縮には、CCITT、G4、JBIGなどの圧縮アルゴリズムが適している。しかしながら、これらのアルゴリズムは、複合カラー・ドキュメントの写真領域の圧縮には適していない。
【０００６】
代表的な解決策は、ドキュメントを事前に処理して、ドキュメントが含む情報の種類によって領域を分離することである。例えば、エッジを含む領域（例えば、テキスト、線画、図形を含む領域）と、自然の特徴（例えば、写真、カラー背景および階調を含む領域）が、様々なアルゴリズムに従って分離され圧縮される。
【０００７】
しかしながら、領域を分離するアルゴリズムは、きわめて複雑になりやすく、大量のメモリと高い帯域幅を必要する。この複雑さ、高い帯域幅、および大きなメモリ要件のために、多くのアルゴリズムは、ディジタル複写機、プリンタ、スキャナ、他のハードコピー装置などの埋込みアプリケーションには適さない。
【課題を解決するための手段】
【０００８】
本発明の１つの態様によれば、ディジタル画像（例えば、複合ドキュメントのディジタル画像）は、ディジタル画像の複数のブロックにアクセスし、各ブロックを圧縮用に分類することによって処理される。少なくともいくつかのブロックが、その異なる色の数によって分類される。ブロック・サイズは、実質的にディジタル画像のサイズよりも小さく、したがって、帯域幅とメモリ要件が小さくなる。
【０００９】
本発明のその他の態様および利点は、本発明の原理を例として示す添付図面と共に行われる以下の詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００１０】
図１を参照し、図は、ディジタル画像を処理する方法を示す。ディジタル画像は、それぞれｎビット・ワードで表された複数の画素からなる。ＲＧＢ色空間を表す代表的な２４ビット・ワードでは、例えば、８ビットが赤成分を表し、８ビットが緑成分を表し、８ビットが青成分を表す。
【００１１】
ディジタル画像は、１度に１ストリップずつ処理される。各ストリップは、一列の連続したブロックを含む。各ブロックは、ディジタル画像内の画素数よりも少ない数の画素を含む。標準的なブロック・サイズは、例えば、１６ｘ１６画素または３２ｘ３２画素である。小さなブロックほど、必要なメモリが少なく、その結果解像度が良くなる。実際には、ブロック・サイズは、ハードコピー装置のメモリの制約によって決定される。
【００１２】
次に、単一ストリップの処理について説明する。ストリップは、バッファされ（１１２）、ブロックが、１度に１つづつアクセスされる（１１４）。各ブロックごとに、異なる色の数が決定され（１１６）、しきい値数と比較される（１１８）。しきい値数よりも少ない色を有するブロックは、テキストまたはその他のコンピュータ生成のフィーチャー（feature）を含む可能性が高い。ブロックが、しきい値数と同じまたはそれよりも多い数の色を有する場合、色の階調をもつ可能性が高い。
【００１３】
しきい値数よりも少ない色をブロックが有する場合に、色パターンが符号化される（１２０）。しきい値数が３で、黒いテキストと白い背景の部分を含む例を想定されたい。ブロックは２つの異なる色を有し、したがって、その色パターンが符号化される。白画素に「０」の値を割り当て、黒画素に「１」の値を割り当てることによって、ブロックを符号化することができる。したがって、１ビット・ワードを使って、ブロックの各画素を符号化することができる。符号化によって、０の文字列と１の文字列が得られる。処理負担の大部分が、個別の色を見つけることに費やされるため、この単純な手法によって、計算負担が大幅に減少する。
【００１４】
０と１の文字列が圧縮される（１２２）。ランレングス符号化や任意の適切なアルゴリズムを使用して、０と１の文字列の長さを短かくすることができる。
【００１５】
３以外のしきい値数を使用することができる。しきい値の選択は、画像の解像度にある程度依存する。解像度が高いと、色は徐々に変化し、各ブロックが２つか３つの色だけを含む可能性がある。しきい値数が４で、ブロックが３つの異なる色を含むもう１つの例を検討する。３つの色には、１、２および３の値が割り当てられ、それにより各色を符号化するために２ビット・ワードが使用される。しかしながら、しきい値を２に制限することによって、各２４ビット・ワードまたは３２ビット・ワードを単一ビットに減少させることができる。さらに、比較数が少なくなり、分類の複雑さが減少する。
【００１６】
ブロックに、しきい値数よりも多い異なる色がある場合（１１８）は、ブロックを分類するためにエッジ検出が実行される（１２４）。エッジが検出された場合、そのブロックは、不可逆的高品質圧縮アルゴリズム（１２８）によって符号化されるクラスに入れられる。エッジが検出されない場合、ブロックは、写真または自然の特徴を含む可能性が高く、したがって、不可逆的低品質圧縮アルゴリズム（１３０）によって符号化されるクラスに入れられる。
【００１７】
エッジ検出は、ブロック内のエッジの位置や向きを識別しなくてもよく、ブロック内のエッジの存在を示すだけでよい。好ましいエッジ検出方法は、ブロック内のエッジの存在を検出するためにブロックにエントロピー関数を適用することを含む。
【００１８】
以上の不可逆的圧縮（１２８，１３０）は、一般に、ブロックの色成分を３つの個別のストリームに符号化する。
【００１９】
さらに、他の処理を行うことができる。例えば、ブロックを処理する前に、バッファされたストリップの基調色を識別することができる（１３２）。バッファされたストリップの基調色は、バッファされたストリップ内の画素のランダム・サンプリングに基づく統計解析を実行することによって識別することができる。基調色は、ヘッダ情報に追加され、ストリップ内のすべてのブロックを復号化するためのデフォルト色としてデコーダによって使用することができる。代替として、ストリップのうちの１つのストリップの基調色を、画像全体の基調色と見なすことができる。基調色を識別することによって、ディジタル画像をより効率よく圧縮することができる。
【００２０】
ヘッダ情報を、各ブロックに追加することができる。例えば、ブロック・ヘッダの第１のエントリが、色のしきい値数を示し、第２のエントリが、しきい値を超えたかどうかを示し、第３のエントリが、ブロックがエッジを含むかどうか示す。
【００２１】
追加のブロック・ヘッダ情報は、ブロックの圧縮に使用される圧縮アルゴリズムと、画像内のブロックの空間位置とを示すことができる。しかしながら、ブロックが連続して符号化される場合は、この空間位置のエントリを省略することができる。規則によって圧縮タイプが一致した場合は、圧縮タイプのヘッダ・エントリを省略することができる。
【００２２】
ヘッダ情報は、ブロックの各ストリップに追加されることがある。そのようなヘッダ情報は、基調色を識別することがある。
【００２３】
圧縮ブロックは、ほとんどオーバヘッドなしに復号化することができる。ブロックは、圧縮されたアルゴリズムと同じアルゴリズムで復元される。各ブロック内のヘッダ情報により、圧縮アルゴリズムを識別し、復元したブロックを、ドキュメント内のその最初の空間位置に並べ替えることができる。例えば、第２のヘッダ・エントリ（色のしきい値数を超えるかどうか）が真で、第３のヘッダ・エントリ（ブロックがエッジを含むかどうか）も真の場合、合意に基づく不可逆圧縮アルゴリズムを使用してブロックを復元することができる。第２のエントリが真で、第３のエントリが偽の場合は、別の合意に基づく不可逆圧縮アルゴリズムを使用してブロックを復元することができる。第２のエントリが偽の場合、ブロックは復号化され、ワード長は第１のエントリ（例えば、しきい値３は、各色が１ビット・ワードで符号化されることを示す）から導き出される。ブロックおよびストリップ・ヘッダ情報から、色情報（例えば、「０」＝黒、「１」＝白）を導き出すことができる。
【００２４】
ブロック内の異なる色の数を決定するには様々な方法がある。３つの例は、次の通りである。
【００２５】
図２に、第１の例を示す。ブロックの各ｎビット・ワードの値が、色発生リストにおいて参照される（２１０）。このリストは、１つまたは複数のエントリ［（（Ｒ，Ｇ，Ｂ），ｑ］を含み、ここで、（Ｒ，Ｇ，Ｂ）は、色ベクトルであり、ｑは、色ベクトルが選択された回数である。色ベクトルが、色発生リストにない場合（２１２）、その色ベクトルは、リストに追加される（２１４）。色ベクトルが、既にリストある場合（２１２）は、色ベクトルのカウント（ｑ）が増分される（２１６）。ブロックのすべてのワードが識別された後（２１８）で、リストが処理される（２２０）。異なる色の数がしきい値数よりも小さい場合は、リスト上の色の数が符号化され、リスト上の異なる色が符号化される。そうでない場合（例えば、ブロックが色の階調を含む）は、リストが廃棄される。
【００２６】
第２の例は、ｎビット・ワードが丸められること以外は第１の例と類似している。例えば最下位ビットを無視することによって、ｎビット・ワードを丸めることができる。この第２の例は、多数のノイズがある画像に有効である。この例は、また、色発生リストのサイズを小さくする。
【００２７】
第３の例として、色空間を様々な「色ビン（color  bin）」に分割し、ブロック内の色を識別し、識別した各色を色ビンに割り当てることによって、異なる色の数が決定される。各ビンごとの発生数またはヒット数を示すために、色発生リストが維持される。異なる色の数は、「満杯」になった色ビンの数に対応する（識別された色のうちの少なくとも１つがその色ビンの範囲内にある場合に、色ビンが満杯なったと見なすことができる）。したがって、色空間が、８つの色ビンに分割された場合、第１のビンは、０〜３１の画素値を対象として含み、第２のビンは、３２〜６３の画素値を対象として含むことができる。ブロックのすべてのｎビット・ワードが色ビンに割り当てられた後、色発生リストが処理される。識別された色を色ビンと比較することによって、異なる色の数を決定するのに必要な比較の数が減少し、さらに色発生リストのサイズが小さくなる。
【００２８】
次に図３を参照すると、図３は、ディジタル画像の各ストリップ内の１つまたは複数の基調色を識別する方法を示す。画像のストリップが、バッファされ（３１０）、ストリップ内の画素のランダム・サンプリングに検出アルゴリズムが適用される（３１２）。検出アルゴリズムは、ストリップ内に１つまたは複数の基調色を示す。
【００２９】
検出アルゴリズムは、真の色の比率（true  color  ratio）（ｒｃ）、受入可能な比率（acceptable  ratio）（ｒａ）、および望ましい比率（desirable  ratio）（ｒｄ）の３つのパラメータに基づく。真の色の比率（ｒｃ）は、特定の色を有する画素の数をストリップ内の画素の総数で割ったものである。ｒｃ＜ｒａの場合には基調色を検出する可能性が低く、ｒｃ＞ｒｄの場合には基調色を検出する可能性が高い。受入可能な比率（ｒａ）と望ましい比率（ｒｄ）の差によって、検出確率の滑らかな遷移が可能になる。
【００３０】
検出アルゴリズムは、ｒｃ＜ｒａを有する色を基調色として識別する確率（「偽陽性（false−positive）」の結果）を最小にし、またｒｃ＞ｒｄを有する色を基調色として識別しない確率（「偽陰性（false−negative）」の結果）を最小にする。
【００３１】
以下の例示的な検出アルゴリズムを使用して、色発生リストを作成することができる。
１．色発生リストをリセットする（すなわち、空のリストとして設定する）。
２．画素の第１のサンプリングＰ１をテストする。テスト中の画素の色ベクトル（Ｒ，Ｇ，Ｂ）が色発生リストにある場合は、対応するカウンタ（ｑ）が１増分される。テスト中の画素の色ベクトルが色発生リストにない場合は、その色ベクトルが、リストの新しいエントリとしてリストに追加され、そのカウンタｑが１に設定される。
３．画素の追加のサンプリングＰｎをテストする。ここで、ｎ＝２，３，４，…，Ｎである。各サンプリングに以下の段階を実行する。
（ａ）テスト中の画素の色ベクトルが色発生リストにある場合は、対応するカウンタを１増分する。テスト中の画素の色ベクトルが、色発生リストにない場合は、その色ベクトルが、リストの新しいエントリとしてリストに追加され、カウンタが１にセットされる。
（ｂ）ｎ番目のサンプリングの終わりに、カウンタｑ＜Ｔｎのすべてのエントリがリストから削除される。
（ｃ）色発生リストが空かまたはすべてのエントリがカウンタｑ＞Ｕｎを有する場合は、リスト内のエントリが、基調色として識別される。ｑ≦Ｕｎの場合は、制御が段階（ａ）に戻され、別のサンプリングが実行される。
【００３２】
画素テスト数Ｐｎと対応するしきい値ＴｎおよびＵｎは、基調色がリストから削除されなくなるように選択される。
【００３３】
最適な１組のパラメータＰｎ、ＴｎおよびＵｎを、次のように計算することができる。確率関数ｆ（l,k,p）およびｖ（l,k,p）を次のように定義する。
【００３４】
【数１】
2004537220.tif 000003
【００３５】
ｎ番目の段階（段階３（ｂ））でｒｃ≧ｒｄの色が廃棄される確率は、発生数だけなく、前の段階で破棄されなかったかどうかの検討によって決定される。色ベクトルが廃棄されない確率は、次の通りである。
【００３６】
【数２】
2004537220.tif 000004
【００３７】
この式を使ってＰｎとＴｎを計算した後で、次の式を使って確率を更新することができる。
【００３８】
【数３】
2004537220.tif 000005
【００３９】
段階ｎにおける偽陽性決定と偽陰性決定の確率は、次の通りである。
【００４０】
【数４】
2004537220.tif 000006
【００４１】
偽陽性決定と偽陰性決定の確率は、次のように制限される。
【００４２】
【数５】
2004537220.tif 000007
【００４３】
したがって、パラメータは、最初の値から始めて、所望の確率となるまで値を調整することによって決定することができる。
【００４４】
以上のように、自然の特徴とコンピュータで生成された特徴を含むディジタル画像を圧縮するためのブロック・ベースの方法が開示される。比較的小さい画像ブロックについて決定するため、メモリ要件は比較的小さい。ブロックが単一パスで処理されるので、帯域幅は比較的小さい。１画素当たりの操作回数が少数の比較だけに限定されるので、複雑さが比較的低い。
【００４５】
次に、図４を参照すると、図４は、以上の方法を利用するハードコピー装置４１０を示す。ハードコピー装置４１０は、プロセッサ４１２、読み出し専用メモリ４１４、およびランダム・アクセス・メモリ４１６を含む。読み出し専用メモリ４１４は、実行されるときに図１の方法に従ってプロセッサ４１２にディジタル画像を処理させるプログラムを記憶する。ランダム・アクセス・メモリ４１６は、ストリップをバッファし、処理の中間結果（各圧縮ブロックからの結果など）を記憶するために使用される。また、ハードコピー装置は、エンジン４１８を含む。ディジタル複写機において、例えば、エンジン４１８は、印刷エンジンと走査エンジンを含む。
【００４６】
この方法は、いかなる特定のハードコピー装置にも限定されない。例示的なハードコピー装置は、ディジタル複写機、プリンタ、スキャナ、および一体型装置を含む。この方法は、ハードコピー装置に限定されず、ディジタル画像を記憶する任意の装置で実施することができる。
【００４７】
本発明は、以上で説明し例示した特定の実施形態に限定されない。その代わりに、本発明は、併記の特許請求の範囲に従って解釈される。
【図面の簡単な説明】
【００４８】
【図１】ディジタル画像を処理する方法の説明図。
【図２】画像ブロック内の異なる色を識別する方法を示す説明図。
【図３】ディジタル画像の基調色を識別する方法の説明図。
【図４】図１の方法を実施するハードコピー装置の説明図。
【符号の説明】
【００４９】
４１０  装置
４１６  バッファ
４１２  プロセッサ
【図１】
2004537220.tif 000008
【図２】
2004537220.tif 000009
【図３】
2004537220.tif 000010
【図４】
2004537220.tif 000011
【国際公開パンフレット】
2004537220.tif 000012
2004537220.tif 000013
2004537220.tif 000014
2004537220.tif 000015
2004537220.tif 000016
2004537220.tif 000017
2004537220.tif 000018
2004537220.tif 000019
2004537220.tif 000020
2004537220.tif 000021
2004537220.tif 000022
2004537220.tif 000023
2004537220.tif 000024
2004537220.tif 000025
2004537220.tif 000026
2004537220.tif 000027
【国際調査報告】
2004537220.tif 000028
2004537220.tif 000029
2004537220.tif 000030