(57)【特許請求の範囲】
【請求項１】
カラー画像を表現する三原色値の画像データを入力する入力工程と、
入力された三原色値のヒストグラムを作成し、該ヒストグラムを用いてもっとも画素数が多い三原色値Ｔを求め、該三原色値Ｔを色空間上で前記三原色それぞれに対し指定量ずつ拡張することで複数の外側層を定義し、前記複数の外側層に存在する画素数の変化により谷を検出することで切り取り層を決定し、該切り取り層に従い前記色空間に第１の範囲を決定する第１の範囲決定工程と、
該ヒストグラムを用いて前記三原色値Ｔ以外の局所最大値を求め、該局所最大値を色空間上で前記三原色それぞれに対し指定量ずつ拡張することで複数の外側層を定義し、前記複数の外側層に存在する画素数の変化により谷を検出することで切り取り層を決定し、該切り取り層に従い前記色空間に第２の範囲を決定する第２の範囲決定工程と、
前記第１の範囲と前記第２の範囲が離れているか、所定の判定基準と比較することで判定し、該判定結果により前記第１の範囲もしくは前記第１の範囲を拡張した範囲を前記入力工程で入力された画像データから前記カラー画像の背景色を別ける２値化のための範囲とする２値化範囲決定工程と、
前記２値化のための範囲に基づいて、前記入力工程で入力された画像データを２値化する２値化工程と、
前記２値化の結果に従い、前記カラー画像の背景色を設定する設定工程と、
前記２値化工程で２値化されたデータに対して、前記背景色でない２値データの連結成分を識別することで、前記入力工程で入力された画像データにおける色文書領域候補リストを作成し、前記色文書領域候補に対し少なくとも四角形の領域であるか検査を行なうことで色文書領域のリストを生成する工程と、
前記入力工程で入力された画像データのうち前記色文書領域のリスト上の色文書領域の画像データに対し、前記第１の範囲決定工程、前記第２の範囲決定工程、前記２値化範囲決定工程及び前記２値化工程と同様の処理を行なうことで、前記色文書領域に対する背景色を求める工程と、
を有する画像処理方法。
【請求項２】
前記入力工程で入力された画像データを２値化した結果を第１のバッファに格納し、前記色文書領域のリスト上の色文書領域に対して２値化した結果を第２のバッファに格納し、前記第１のバッファと第２のバッファのデータを論理演算する工程を更に有することを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記設定工程では、前記入力工程で入力された画像データを２値化した結果、前記２値化のための範囲の画素の平均ＲＧＢ値を背景色とすることを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記色文書領域の領域に対する２値化の結果求まる画素の平均ＲＢＧ値から、前記色文書領域に対する背景色を求めることを特徴とする請求項１記載の画像処理方法。
【請求項５】
前記論理演算する工程の後処理として前記色文書領域のテキストラインの平均ＲＧＢ値を求める工程を更に有し、カラー画像の背景色、前記色文書領域に対する背景色、前記テキストラインの平均ＲＧＢを少なくとも用いて、前記カラー文書のツリー構造化することを特徴とする請求項２記載の画像処理方法。
【請求項６】
カラー画像を表現する三原色値の画像データを入力する入力手段と、
入力された三原色値のヒストグラムを作成し、該ヒストグラムを用いてもっとも画素数が多い三原色値Ｔを求め、該三原色値Ｔを色空間上で前記三原色それぞれに対し指定量ずつ拡張することで複数の外側層を定義し、前記複数の外側層に存在する画素数の変化により谷を検出することで切り取り層を決定し、該切り取り層に従い前記色空間に第１の範囲を決定する第１の範囲決定手段と、
該ヒストグラムを用いて前記三原色値Ｔ以外の局所最大値を求め、該局所最大値を色空間上で前記三原色それぞれに対し指定量ずつ拡張することで複数の外側層を定義し、前記複数の外側層に存在する画素数の変化により谷を検出することで切り取り層を決定し、該切り取り層に従い前記色空間に第２の範囲を決定する第２の範囲決定手段と、
前記第１の範囲と前記第２の範囲が離れているか、所定の判定基準と比較することで判定し、該判定結果により前記第１の範囲もしくは前記第１の範囲を拡張した範囲を前記入力手段で入力された画像データから前記カラー画像の背景色を別ける２値化のための範囲とする２値化範囲決定手段と、
前記２値化のための範囲に基づいて、前記入力手段で入力された画像データを２値化する２値化手段と、
前記２値化の結果に従い、前記カラー画像の背景色を設定する設定手段と、
前記２値化手段で２値化されたデータに対して、前記背景色でない２値データの連結成分を識別することで、前記入力手段で入力された画像データにおける色文書領域候補リストを作成し、前記色文書領域候補に対し少なくとも四角形の領域であるか検査を行なうことで色文書領域のリストを生成する手段と、
前記入力手段で入力された画像データのうち前記色文書領域のリスト上の色文書領域の画像データに対し、前記第１の範囲決定手段、前記第２の範囲決定手段、前記２値化範囲決定手段及び前記２値化手段が行う処理と同様の処理を行なうことで、前記色文書領域に対する背景色を求める手段と、
を有する画像処理装置。
【請求項７】
前記入力手段で入力された画像データを２値化した結果を第１のバッファに格納し、前記色文書領域のリスト上の色文書領域に対して２値化した結果を第２のバッファに格納し、前記第１のバッファと第２のバッファのデータを論理演算する手段を更に有することを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記設定手段は、前記入力手段で入力された画像データを２値化した結果、前記２値化のための範囲の画素の平均ＲＧＢ値を背景色とすることを特徴とする請求項６記載の画像処理装置。
【請求項９】
前記色文書領域の領域に対する２値化の結果求まる画素の平均ＲＢＧ値から、前記色文書領域に対する背景色を求めることを特徴とする請求項６記載の画像処理装置。
【請求項１０】
前記論理演算する手段の後処理として前記色文書領域のテキストラインの平均ＲＧＢ値を求める処理を実行する手段を更に有し、カラー画像の背景色、前記色文書領域に対する背景色、前記テキストラインの平均ＲＧＢを少なくとも用いて、前記カラー文書のツリー構造化することを特徴とする請求項７記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カラー文書を解析するシステムに関する。特に、本発明は、カラー文書の様々な特徴を識別し、且つ識別された特徴を解析して、カラー文書の階層表現を作成するようなシステムに関する。
【０００２】
＜関連特許及び特許出願＞
本出願と共通の譲受人に譲渡された米国特許出願第０７／８７３，０１２号、現在の米国特許第５，６８０，４７９号、名称「Method and Apparatus For Character Recognition」、米国特許出願第０８／１７１，７２０号、現在の米国特許第５，５８８，０７２号、名称「Method and Apparatus For Selecting Text And／Or Non−Text Blocks In A Stored Document」、米国特許出願第０８／３３８，７８１号、名称「Page Analysis System」、米国特許出願第０８／５１４，２５２号、名称「Feature Extraction System」、米国特許出願第０８／６６４，６７４号、名称「System For Extracting Attached Text」、米国特許出願第０８，７５１，６７７号、名称「Page Analysis System」、米国特許出願第０８／８３４，８５６号、名称「Block Selection Review and Editing System」、及び米国特許出願第０９／００２，６８４号、名称「System For Analyzing Table Images」は、参考として本出願中に取り入れられている。
【０００３】
【従来の技術】
従来のページ分割システムは、文書を表現する画像データを受信し、そのデータに基づいて文書の各領域を識別し、識別された領域に従ってデータを処理する。
【０００４】
例えば、識別されるテキスト領域を光文字認識（ＯＣＲ）処理し、識別された画像領域を画像圧縮しても良い。更に、従来のシステムは、文書領域の物理的配置を表現するデータ、テキスト領域に対応するＡＳＣＩＩデータ及び／又は文書からの画像データに対応する圧縮データを格納する。このようなシステムでは、格納データを使用して文書を相当の程度まで再生又は編集することができる。
【０００５】
しかし、従来のシステムは２進（白黒）画像データに関してのみ動作する。カラー文書を処理する場合には、従来、スキャナを使用してカラー文書を２進画像データに変換し、その後、そのデータを従来のページ分割システムに入力することが多かった。この変換によって、カラー文書中の色を表す色情報が廃棄されてしまう。従って、カラー文書のそのように変換された２進データを受信する従来のページ分割システムで、様々に異なる色の使用によって生まれたカラー文書の特徴を正確に検出することは不可能である。
【０００６】
例えば、カラー文書中の関連するテキスト領域は、多くの場合、関連領域それぞれに共通する背景色を使用して示される。同様に、文書の中の独立したテキストの領域は、文書の残る領域に使用される背景色とは異なる独立領域専用の背景色を使用することにより指定できる。従って、従来の分割システムを使用したのでは、１つのカラー文書の中の複数の領域のそのような相互関係を正確に識別することはできないであろう。
【０００７】
更に、従来のシステムは色情報を廃棄してしまうので、文書の色領域に関するデータを格納する手段をもたない。そのため、カラー文書の関連領域を従来のページ分割システムによって識別できたとしても、従来のシステムからの出力に基づいてカラー文書を正確に再構成又は編集することは不可能である。
【０００８】
【発明が解決しようとする課題】
Xerox Pagis（登録商標）及びAdobe Acrobat（登録商標）などの最近のシステムは、カラー文書を入力し、色情報を含む文書の表現を出力する能力を有する。しかし、その出力表現は不正確であることが多く、編集は困難である。
【０００９】
以上のことから、必要とされているのは、カラー文書の色領域、並びにそれらの色領域によって生まれる特徴を正確に識別できると共に、データ構造の中で編集自在に表現できるような、カラー文書の特徴を識別し、表現するシステムである。
【００１０】
【課題を解決するための手段】
本発明によれば、カラー画像を表現する三原色値の画像データを入力する入力工程と、入力された三原色値のヒストグラムを作成し、該ヒストグラムを用いてもっとも画素数が多い三原色値Ｔを求め、該三原色値Ｔを色空間上で前記三原色それぞれに対し指定量ずつ拡張することで複数の外側層を定義し、前記複数の外側層に存在する画素数の変化により谷を検出することで切り取り層を決定し、該切り取り層に従い前記色空間に第１の範囲を決定する第１の範囲決定工程と、該ヒストグラムを用いて前記三原色値Ｔ以外の局所最大値を求め、該局所最大値を色空間上で前記三原色それぞれに対し指定量ずつ拡張することで複数の外側層を定義し、前記複数の外側層に存在する画素数の変化により谷を検出することで切り取り層を決定し、該切り取り層に従い前記色空間に第２の範囲を決定する第２の範囲決定工程と、前記第１の範囲と前記第２の範囲が離れているか、所定の判定基準と比較することで判定し、該判定結果により前記第１の範囲もしくは前記第１の範囲を拡張した範囲を前記入力工程で入力された画像データから前記カラー画像の背景色を別ける２値化のための範囲とする２値化範囲決定工程と、前記２値化のための範囲に基づいて、前記入力工程で入力された画像データを２値化する２値化工程と、前記２値化の結果に従い、前記カラー画像の背景色を設定する設定工程と、前記２値化工程で２値化されたデータに対して、前記背景色でない２値データの連結成分を識別することで、前記入力工程で入力された画像データにおける色文書領域候補リストを作成し、前記色文書領域候補に対し少なくとも四角形の領域であるか検査を行なうことで色文書領域のリストを生成する工程と、前記入力工程で入力された画像データのうち前記色文書領域のリスト上の色文書領域の画像データに対し、前記第１の範囲決定工程、前記第２の範囲決定工程、前記２値化範囲決定工程及び前記２値化工程と同様の処理を行なうことで、前記色文書領域に対する背景色を求める工程と、を有する画像処理方法が提供される。
【００１１】
また、本発明によれば、カラー画像を表現する三原色値の画像データを入力する入力手段と、入力された三原色値のヒストグラムを作成し、該ヒストグラムを用いてもっとも画素数が多い三原色値Ｔを求め、該三原色値Ｔを色空間上で前記三原色それぞれに対し指定量ずつ拡張することで複数の外側層を定義し、前記複数の外側層に存在する画素数の変化により谷を検出することで切り取り層を決定し、該切り取り層に従い前記色空間に第１の範囲を決定する第１の範囲決定手段と、該ヒストグラムを用いて前記三原色値Ｔ以外の局所最大値を求め、該局所最大値を色空間上で前記三原色それぞれに対し指定量ずつ拡張することで複数の外側層を定義し、前記複数の外側層に存在する画素数の変化により谷を検出することで切り取り層を決定し、該切り取り層に従い前記色空間に第２の範囲を決定する第２の範囲決定手段と、前記第１の範囲と前記第２の範囲が離れているか、所定の判定基準と比較することで判定し、該判定結果により前記第１の範囲もしくは前記第１の範囲を拡張した範囲を前記入力手段で入力された画像データから前記カラー画像の背景色を別ける２値化のための範囲とする２値化範囲決定手段と、前記２値化のための範囲に基づいて、前記入力手段で入力された画像データを２値化する２値化手段と、前記２値化の結果に従い、前記カラー画像の背景色を設定する設定手段と、前記２値化手段で２値化されたデータに対して、前記背景色でない２値データの連結成分を識別することで、前記入力手段で入力された画像データにおける色文書領域候補リストを作成し、前記色文書領域候補に対し少なくとも四角形の領域であるか検査を行なうことで色文書領域のリストを生成する手段と、前記入力手段で入力された画像データのうち前記色文書領域のリスト上の色文書領域の画像データに対し、前記第１の範囲決定手段、前記第２の範囲決定手段、前記２値化範囲決定手段及び前記２値化手段が行う処理と同様の処理を行なうことで、前記色文書領域に対する背景色を求める手段と、を有する画像処理装置が提供される。
【００２１】
以上、本発明の特徴を素早く理解できるように、本発明の簡単な概要を説明した。以下に述べる本発明の好適な実施の形態の詳細な説明を、添付の図面と関連させながら参照することにより、本発明をより完全に理解できる。
【００２２】
【発明の実施の形態】
図１は、本発明によるカラーブロック選択システムを具現化した代表的な計算機器の外観を示す図である。
【００２３】
図１には、Microsoft社のWindows９８（登録商標）オペレーティングシステムなどのウィンドゥイングオペレーティングシステムを有するＩＢＭ ＰＣ又はＰＣコンパチブルコンピュータのような計算機器１が示されている。計算機器１は白黒又はカラーの表示モニタ２を具備し、この表示モニタ２を使用してユーザに対し画像を表示する。
【００２４】
計算機器１はデータファイル及びアプリケーションプログラムファイルを格納する固定ディスクドライブ３と、テキストデータの入力及び表示画面２に表示されるオブジェクトの操作の際に使用されるキーボード５と、表示画面２に表示されるオブジェクトを指示し、操作するために設けられているマウスなどの指示装置６とを更に具備している。
【００２５】
計算機器１は、フロッピーディスクに対する読み出し及び書き込みを実行するフロッピーディスクドライブ４を更に有する。カラー画像を含む文書画像ファイル並びに本発明を具現化したコンピュータ実行可能なプロセスステップは、固定ディスク３又はフロッピーディスクドライブ４に差し込まれるフロッピーディスクのいずれかに格納されれば良い。あるいは、ＣＤ−ＲＯＭドライブ（図示せず）を介してアクセスされるＣＤ−ＲＯＭから文書画像ファイル及び／又はコンピュータ実行可能なプロセスステップを獲得しても良い。
【００２６】
更に、計算機器１は、ローカルエリアネットワークとインタフェースするためのネットワークインタフェース１０と、ファクシミリのメッセージやその他のデータファイルを送受信するためのファクシミリ／モデムインタフェース１１とを具備している。文書画像ファイル及び本発明を具現化したコンピュータ実行可能なプロセスステップは、ネットワークインタフェース１０を介してネットワークを通してアクセスされても良い。加えて、ファクシミリ／モデムインタフェース１１を使用して、ワールドワイドウェブ（「ウェブ」）から画像及び／又はコンピュータ実行可能なプロセスステップを検索することも可能である。
【００２７】
最も典型的な動作としては、本発明によるカラーブロック選択アプリケーションを含めて、固定ディスク３に格納されたアプリケーションをフロッピーディスク、ＣＤ−ＲＯＭ、ネットワークドライブ又はウェブなどのコンピュータ読み取り可能な媒体からダウンロードした後に、ディスク３に格納する場合が考えられる。
【００２８】
また、カラー文書を表現する２４ビットカラー画像データを計算機器１に提供するためにカラー文書を走査するカラースキャナ７により、カラー文書画像を入力しても良い。カラー画像データは、文書中の画素ごとに、それぞれ８ビットずつの赤色値、緑色値、青色値から構成されているのが好ましい。ただし、本発明に従って解析すべきカラー文書画像を表現する場合、その他のビット長又は色空間を使用することも可能である。
【００２９】
計算機器１により処理された文書画像を出力するプリンタ９も設けられている。動作中、ウィンドゥイングオペレーティングシステムの制御の下で、本発明によるカラーブロック選択アプリケーションなどの格納アプリケーションプログラムは選択的に起動されて、格納データを処理、操作する。オペレータからの命令に従い、格納アプリケーションプログラムに基づいて、表示画面２に画像を表示するための指令や、プリンタ９を使用して表示画像を印刷するための指令が発行される。
【００３０】
図２は、計算機器１の内部構成を示す詳細なブロック線図である。図２に示すように、計算機器１は、コンピュータバス２１にインタフェースするプログラムドマイクロプロセッサなどの中央処理装置（ＣＰＵ）２０を含む。コンピュータバス２１には、スキャナインタフェース２２、プリンタインタフェース２３、ネットワークインタフェース２４、ファックス／モデムインタフェース２６、ディスプレイインタフェース２７、キーボードインタフェース２８及びマウスインタフェース２９もインタフェースしている。
【００３１】
ランダムアクセスメモリ（ＲＡＭ）などの主メモリ３０は、ＣＰＵ２０にメモリの格納内容に対するアクセスを実行させるように、コンピュータバス２１にインタフェースしている。すなわち、ディスク３に格納されているようなコンピュータ実行可能なプロセスステップを実行する場合、ＣＰＵ２０はそれらのステップをディスク３又は他の記憶媒体から主メモリ３０へロードし、主メモリ３０からそれらのプロセスステップを読み出して、実行する。主メモリ３０は、本発明によるカラーブロック選択の実行中に使用されるデータを格納するバッファ記憶装置にもなっている。
【００３２】
読み取り専用メモリ（ＲＯＭ）３１は、ブートアップ中に使用されるプロセスステップのようなコンピュータ実行可能なプロセスステップ、又は、例えば、キーボード５の操作のための基本入出力オペレーティングシステム（ＢＩＯＳ）シーケンスを格納するために使用される。
【００３３】
先に説明したように、本発明では、カラー文書を解析するために、白黒ブロック選択アプリケーションを利用するのが好ましい。そこで、既存の白黒ブロック選択アプリケーションを新たなものと置き換えるのではなく、既存のアプリケーションを更新することによって本発明を実施しても良い。この点に関して、図３は、先に挙げた米国特許第５，６８０，４７９号及び第５，５８８，０７２号に記載されている白黒ブロック選択方式を実行するためのプロセスステップのフローチャートである。
【００３４】
通常、図３のプロセスステップは文書画像を入力し、その文書画像の中の連結成分を検出し、テキスト連結成分と、非テキスト連結成分とを分離し、非テキスト連結成分を分類し、非テキスト連結成分の稜線に沿った白色領域を識別し、テキストブロック及びテキストラインを形成し、入力画像のスキューを検出し、画像を後処理するために使用される。
【００３５】
詳細に説明すると、図３のステップＳ３０１では、文書画像のビットマップ化画素データを計算機器１に入力し、ディスク３又は主メモリ３０に格納する。従来のブロック選択システムを使用すると、画素データは２進画素データ、すなわち、黒又は白の画素データでなければならない。
【００３６】
ステップＳ３０２では、文書画像の中の連結成分を検出するように、入力画素データを解析する。連結成分とは、白色の画素に完全に包囲された一群の黒色画素である。検出された連結成分を、連結成分ごとに、その連結成分を取り囲む最小の矩形を規定することにより、矩形化、すなわち「ブロック化」する。
【００３７】
ステップＳ３０４では、連結成分を大まかにテキスト連結成分と、非テキスト連結成分とに分類する。一般的には、この分類は各連結成分を取り囲んでいる矩形の大きさと、非テキスト連結成分はテキスト連結成分より大きいという仮定とに基づいている。ステップＳ３０１、Ｓ３０２及びＳ３０４の詳細については、米国特許第５，５８８，０７２号及び第５，６８０，４７９号の説明を参照のこと。
【００３８】
次に、ステップＳ３０５では、ステップＳ３０４で非テキストとして分類された連結成分を更に解析して、細かく分類する。そのような細かい分類には、線、接合線、ピクチャ、線画、フレーム、表又は未知のもの（先の分類のいずれにも当てはまらない）がある。この細かい分類も、同様に、数学的に公式化された基準閾値に基づいており、解析すべき連結成分の大きさ、幅及び相対的位置に基づいて動的に計算される。
【００３９】
細かい分類の後、ステップＳ３０６では、非テキスト連結成分の稜線に沿って見えない線を識別する。例えば、２つのピクチャ連結成分の間には１本の垂直の見えない線、すなわち、複数の白色画素から成る領域が存在しているかもしれない。
【００４０】
この見えない線を後述するステップＳ３０８で使用して、ピクチャ成分の下方に位置するテキスト連結成分を一体にまとめるべきか、又は別個の柱状ブロックの中に入れるべきかを判定することができる。
【００４１】
この点に関して、流れはステップＳ３０６からステップＳ３０８へ進み、そこで、ステップＳ３０４で分類されたテキスト連結成分からテキストブロックを形成する。すなわち、各テキスト連結成分に水平及び垂直にごく密接している連結成分を、それら隣接するテキスト成分の水平及び垂直の間隙の統計的解析に基づいてテキストブロックとして集合させるのである。形成されたテキストブロックをいずれも更に解析して、今度はテキストラインを形成する。ステップＳ３０８の好ましい実施形態の詳細については、米国特許第５，５８８，０７２号の説明を参照のこと。
【００４２】
次に、ステップＳ３１０では、入力文書画像のスキューを検出し、スキュー角度があらかじめ定義された最大値を越えている場合には、エラーコードを出力する。エラーコードは、入力文書ページのスキューが大きすぎるために、ブロック選択処理を完了できないことをユーザに報知する。
【００４３】
スキューが許容限界におさまっている場合には、流れはステップＳ３１１へ進み、後処理を実行する。後処理は、文書画像をよりコンパクトに、「クリーン」なブロックで表現できるようにするための処理であり、文字認識、データ圧縮などの後続する特定の種類の処理に適合するように後処理を適応させることができる。しかし、一般には、後処理はテキストブロックを他のテキストブロック又は非テキストブロックと関連付ける処理である。
【００４４】
図３のプロセスステップを実行することによって、文書画像の中におけるデータの位置情報と、文書画像の中のデータのデータタイプ情報とが生成される。そのため、図３のプロセスステップを光文字認識システムと組み合わせて使用して、画像データにより表現される文字を認識し、それらの文字をＡＳＣＩＩフォーマットに変換し、そのデータをＡＳＣＩＩファイルに格納することが可能である。更に、これらのプロセスステップに従って、文書中の画像データを抽出して、データ圧縮を実行した後に格納することもできる。
【００４５】
米国特許第５，５８８，０７２号及び第５，６８０，４７９号に記載されている通り、ブロック選択アプリケーションにより生成された情報は、図４に示すような階層ツリー構造に格納するのが好ましい。図４に示すように、文書の１ページはルートノードにより表現される。ルートノードから下降して行く他のノードは、文書の中で識別された画像データのブロックを表現している。
【００４６】
各ノードは、少なくとも、そのノードにより表現される１つのブロックの中の連結成分を包囲する矩形化ブロックの座標と、ブロック中のデータのタイプとを格納する。図４に示すように、他の画像データのブロックの中に入っている画像データは、その画像データを表現する「親」ノードから下降した「子」ノードとして表現される。親ノードは、データのブロックの相互関係、例えば、ピクチャデータのブロックとテキストデータのブロックとの関連を指示するために使用されても良い。
【００４７】
図４に示すような階層ツリー構造は、この階層ツリー構造に格納されている位置情報及びデータタイプ情報から文書ページを再構成するのを補助するように格納されている。更に、文書画像の中の識別されたテキストを表現するＡＳＣＩＩファイルを使用して、文書のテキスト部分を位置情報により指定される適切な場所に再び生成させることもできる。同様に、元の文書から生成した圧縮ピクチャデータを伸張し、再構成文書の適切な場所に挿入することも可能である。
【００４８】
尚、本発明は上述のブロック選択システムとの組み合わせには限定されず、２進画像データに基づいて動作する他のページ分割システムと本発明を組み合わせて使用しても差し支えないことに注意すべきである。
【００４９】
図５は、本発明によるシステムへ入力すべきカラー文書１０１の図である。文書１０１は、黄色の背景色を有する背景領域１０２を含む。説明の便宜上、このカラー文書１０１の中にはカラーピクチャ１０４と、ダークブルーの線１０５と、青色のテキスト１０７を含む緑色の領域１０６と、赤色のテキスト１０９を含む茶色の領域１０８と、茶色のテキスト１１１を含む青色の領域１１０とが配置されている。
【００５０】
文書１０１の中には、更に、黒色のテキスト１１３を含む黒色のフレーム１１２と、黒色のテキスト１１４と、黒色のテキスト１１６，１１７，１１９及び１２０を含むオレンジ色の領域を取り囲む黒色のフレームから構成される表１１５も入っている。尚、領域１０６，１０８及び１１０は、それらの領域の中に入っているテキストが互いに関連性をもたないか、あるいはテキスト１１３又はテキスト１１４と関連性をもたないことを示すために着色されている。
【００５１】
また、領域１０６，１０８及び１１０は実際には黒色のフレームで囲まれているわけではなく、図５に示す周囲の黒色画素は単に領域１０６，１０８及び１１０の境界を指示しているにすぎない。これは、そうしておかないと、境界を白黒の図形を使用して示すことが難しいからである。
【００５２】
図６は、本発明に従ってカラー文書１０１のようなカラー文書を処理するためのプロセスステップのフローチャートである。図６のプロセスステップはコンピュータ読み取り可能な媒体に格納されたコンピュータ実行可能なプロセスステップとして具現化されるのが好ましく、それらのプロセスステップは主メモリ３０へ転送され、そこからＣＰＵ２０により実行される。
【００５３】
簡単に言えば、図６のプロセスステップは、カラー画像を表現する一次カラー値を入力し、それらの入力値に基づいて閾値２値化範囲を計算し、閾値２値化範囲に基づいて入力値を２進値に２値化し、画像中の色領域を識別し、識別された色領域を取り囲むフレームを定義し、色領域に対応する入力三原色値に基づいて第２の閾値２値化範囲を計算し、第２の閾値２値化範囲に基づいて色領域に対応する入力三原色値を２値化するためのステップを含む。
【００５４】
詳細には、図６のプロセスステップはステップＳ６０１で始まり、そこでは、カラー文書の画像データを入力する。先に説明したように、文書１０１のようなカラー文書をスキャナ７により走査して、ステップＳ６０１でビットマップ化２４ビットカラーデータを生成することができる。言うまでもなく、ステップＳ６０１において、カラー画像データを計算機器１に入力するために他の周知の方法を利用しても差し支えない。
【００５５】
次に、ステップＳ６０２では、入力画像データがカラー画像データを表現しているか、又は白黒画像データを表現しているかを判定する。白黒であれば、流れはステップＳ６２４へ進み、図３のステップＳ３０２からＳ３１０に関して先に説明したような白黒ブロック選択処理を実行する。
【００５６】
ステップＳ６０２で、入力画像データがカラー画像データであると判定された場合には、流れはステップＳ６０３へ進み、画像データを事前処理する。事前処理は、カラー文書の不均一な操作の問題に対処し且つ画像データから雑音を除去することを目的として入力カラー画像データの値を平滑化するために使用される。
【００５７】
図７は、本発明の好ましい一実施形態による事前処理を示す。図示されているように、２ｘ２画素領域の入力値を平均し、その領域の各画素の値の代わりに、平均値を用いる。それぞれが赤色、緑色、青色のうち１つと対応している３つの８ビット値を使用して入力画像データを表現している場合、図７に示す事前処理は原色ごとに別個に実行される。
【００５８】
従って、２ｘ２ライン列の各画素には平均赤色値、平均緑色値及び平均青色値が割り当てられることになる。尚、ステップＳ６０３においては、入力画像データに他の種類の事前処理を適用しても良い。
【００５９】
次に、ステップＳ６０４では、入力画像データにおける最も主だったＲＧＢ値に基づいて、閾値２値化範囲を定義する。図８は、そのような閾値２値化領域を定義するためのプロセスステップのフローチャートであり、図８のプロセスステップは、通常カラー画像に対応する画素値を入力し、入力画素値に基づいて画素値のコア範囲を判定し、画素値のコア範囲の中にある画素値の数を計算し、画素値のコア範囲の外側層を伴う画素値の数を計算し、閾値２値化範囲を定義するためのステップを含む。
【００６０】
画素値のコア範囲の主体外側層を伴う画素値の数が局所最小値である場合、閾値２値化範囲は主体外側層及びその主体外側層により包囲される領域として定義される。
【００６１】
更に詳細には、図８はステップＳ８０１で始まり、入力画像データ中のＲＧＢ値のヒストグラムを計算する。図９は、そのようなＲＧＢ値のヒストグラムを示す。図９に示すように、ヒストグラムはＲＧＢドメインに描かれており、各点は特定のＲＧＢ値を有する入力画素の数を表す。
【００６２】
図９に示すように、ＲＧＢ値Ｔは他のＲＧＢ値より多くの入力画素により占有されている。従って、ステップＳ８０２では、値Ｔを使用してコア閾値２値化範囲を判定する。
【００６３】
図１０は、三次元ＲＧＢ色空間にマッピングされた値Ｔを示す。この実施形態においては、コア閾値２値化範囲１２０は、閾値ＴからＲ、Ｇ、Ｂそれぞれの方向に１単位ずつ移動させることにより得られる立方体によって定義される。しかし、本発明によるコア２値化範囲をどのような色空間の中のどのような三次元形状によっても表現できることに注意すべきである。
【００６４】
流れはステップＳ８０２からステップＳ８０４へ進み、コア閾値２値化範囲の中に値を有する入力画素の数を計算する。これに関連して、図９のヒストグラムをコア閾値２値化範囲の中のＲＧＢ値と共に利用して、ステップＳ８０４で望まれる数を計算しても良い。
【００６５】
次に、ステップＳ８０５では、コア閾値２値化範囲に外側層を追加する。図１０に示すように、外側層１３０は、領域１２０の各面を指定の量ずつ拡張することにより定義される。ステップＳ８０６では、この領域１３０の中に値を有する入力画素の数を計算する。この点に関して、ステップＳ８０６で計算される数は外側層１３０の中に位置する値を有する画素にのみ相当し、領域１２０の中にある値を有する画素には対応しないことに注意すべきである。
【００６６】
ステップＳ８０７では、外側層と入力画素の関係を表す図の中に谷点が存在するか否かを判定する。図１１Ａは、そのような図を示し、図中、横軸は層の数を示し、縦軸は特定の層の中に位置する画素の数を示している。図１１Ａに示すように、ステップＳ８０６を最初に実行した後に描かれた関係の中には、谷点は存在していない。
【００６７】
従って、流れはステップＳ８１０へ進み、そこで、コア閾値２値化範囲にＮ個の層が追加されたか否かを判定する。以下の説明から理解されるであろうが、Ｎは谷点の存在が想定されるデフォルト層である。Ｎ個の層がまだ追加されていなかった場合には、流れはステップＳ８０５に戻る。
【００６８】
ステップＳ８０５からＳ８１０までの流れは先に説明したように進み、ステップＳ８０７で、外側層と入力画素の数との関係を表す図の中で谷点が認識されるまで、閾値２値化範囲に外側層を追加し、それぞれの外側層の中に値を有する画素の数を計算する。図１１Ｂは、ステップＳ８０７で谷点の場所が認識されたときの関係を示す。
【００６９】
図示するように、外側層４の中に値を有する画素の数を計算した後、外側層３に谷点があるのがわかる。従って、流れはステップＳ８０９へ進み、この谷点に相当する外側層である外側層３を「切り取り層」として設定する。ステップＳ８０７で谷点の場所を認識する前に、ステップＳ８１０で、コア閾値２値化範囲に既にＮ個の層が追加されたことが判定された場合には、ステップＳ８１１において、Ｎ番目の層を切り取り層として設定する。
【００７０】
ステップＳ８０９又はＳ８１１で切り取り層を設定した後、流れはステップＳ８１２へ進む。ステップＳ８１２は、切り取り層を背景色の中により多くの色を含めるように拡張すべきか否か、その結果として、閾値２値化範囲を拡張すべきか否かを判定するために使用される。
【００７１】
すなわち、ステップＳ８１２では、切り取り層から切り取り層のすぐ上の層にかけて対応する入力画素数が急激に減少しているか否か及び切り取り層のすぐ下の層から切り取り層にかけてと比べて、切り取り層から切り取り層の２つ上の層にかけての対応する入力画素数の減少が多いか否かを判定する。これらの状況が共に起こっていれば、切り取り層を拡張せず、流れはステップＳ８１４へ進む。
【００７２】
ステップＳ８１２における判定の結果が否定である場合には、流れはステップＳ８１５へ進む。ステップＳ８１５では、切り取り層のすぐ上の層から切り取り層の２つ上の層にかけて、切り取り層のすぐ下の層から切り取り層にかけてと同様に対応する入力画素数が減少しているか否かを判定する。その答えが肯定である場合も、流れはステップＳ８１４へ進む。否定であれば、図８の流れは終了する。
【００７３】
ステップＳ８１４では、二次閾値２値化範囲及び二次切り取り層を判定する。このため、二次コア閾値２値化範囲に関して、ステップＳ８０２からＳ８１５を繰り返す。従って、二次コア閾値２値化範囲は図９のヒストグラムから、値Ｔ以外の局所最大値の場所を判定することにより判定できるであろう。
【００７４】
ステップＳ８１４が終了したときには、２つの閾値２値化範囲が判定されたことになる。それら２つの閾値２値化範囲を図１２に示す。図１２において、領域１４０は一次閾値２値化範囲を表し、領域１５０は二次閾値２値化範囲を表す。
【００７５】
流れはステップＳ８１４からステップＳ８１６へ進み、一次閾値２値化範囲が二次閾値２値化範囲から離れているか否かを判定する。好ましい実施形態においては、一次閾値領域と二次閾値領域との距離が一次領域切り取り層の幅に二次領域切り取り層の幅と、オフセットとを加算した値より大きいか否かを判定する。大きくなければ、図８の流れは終了する。大きい場合には、ステップＳ８１７で、一次閾値２値化範囲を各方向にオフセットに等しい値ずつ拡張する。その後、図８の流れは終了する。
【００７６】
図８のプロセスステップが完了した後、入力カラー文書の背景色を表現する一次閾値２値化範囲が定義される。従って、後述するように、その一次閾値２値化範囲を背景画素値を０の値に２値化するために使用することができる。
【００７７】
先に説明したように、本発明は三次元閾値２値化範囲を利用する。これに対し、従来の２値化方法の１つは、入力画像データを０から２５５までの値を有するグレイスケールデータに変換することから成る。その後、変換されたデータを０から２５５までの値に従って２値化することになるであろう。この従来の方法の欠点の１つは、いくつかのＲＧＢ値が１つのグレイスケール値にマッピングされてしまうおそれがあることである。
【００７８】
そのため、いくつかのＲＧＢ値の各々を全く同じように２値化することになると考えられる。従って、それらＲＧＢ値の１つが前景値であり、別のＲＧＢ値は背景色である場合でも、２つの値が全く同じように２値化されてしまうのである。
【００７９】
図６の流れに戻ると、流れはステップＳ６０４からＳ６０５へ続き、一次閾値２値化範囲に基づいて入力画像データを２値化し、そのように２値化されたデータを以下ではBW＿Pageと呼ばれるバッファに格納する。閾値２値化範囲に基づいて画像データを２値化するために、入力画像データ中の各画素の値を閾値２値化範囲と比較する。画素値が閾値２値化範囲の中に入っていれば、その画素値を０にする。言い換えれば、再び０の値を割り当てる。
【００８０】
従って、画素値が閾値２値化範囲の中に入っていない場合には、その画素には１の値が割り当てられる。図１３は、ステップＳ６０５を実行した後のBW＿Pageの内容を示す。図１３に示すように、背景領域１０２は０の値を割り当てられた画素を含み、閾値２値化範囲の外の様々な色の画像データを表現する画素は、それぞれ、１の値を割り当てられている。
【００８１】
次に、ステップＳ６０６では、ページ１０１の背景色をステップＳ６０５で０の値を割り当てられた各入力画素の平均ＲＧＢ値に設定する。このページ背景色は、以下に説明するように、文書１０１の表現を格納するために使用される。尚、ページ背景色はステップＳ６０６において、ステップＳ８０２で判定されたコア閾値Ｔに基づいて判定されても良く、あるいは閾値２値化範囲の各ＲＧＢ値の平均値に基づいて判定されても良いことに注意すべきである。しかし、最初に説明したページ背景色の判定方法を使用した方が、すぐれた結果が得られることがわかっている。
【００８２】
ステップＳ６０７では、入力画像データ中の色文書領域を識別する。図１４は、ステップＳ６０７に従って色文書領域を識別するためのプロセスステップのフローチャートである。この場合にも、同様に、これらのプロセスステップを主メモリ３０にロードし、ＣＰＵ２０によりそこから読み出して実行するのが好ましい。
【００８３】
図１４の流れはステップＳ１４０１で始まり、BW＿Pageの中の第１のレベルの連結成分を識別する。第１のレベルの連結成分は、他のどの連結成分の中にも含まれない成分である。すなわち、図１３に関していえば、ピクチャ１３０４、線１３０５、領域１３０６、領域１３０８、フレーム１３１２、テキスト１３１４及び表１３１５がステップＳ１４０１においてBW＿Page中の第１のレベルの連結成分として識別されることになる。
【００８４】
次に、ステップＳ１４０２では、識別された第１のレベルの連結成分から色文書領域候補のリストを作成する。好ましい実施形態においては、識別された第１のレベルの連結成分の大きさに従って色文書領域候補のリストを判定する。一般的に、識別された第１のレベルの連結成分が１つのテキスト文字又は１本の線を示す大きさより大きい場合、その第１のレベルの連結成分は色文書領域のリストに加えられる。色文書領域候補のリストは、各色文書領域候補を取り囲む矩形の座標を含んでいるのが好ましい。
【００８５】
この例では、ステップＳ１４０２で作成される色文書領域候補のリストは、ピクチャ１３０４、領域１３０６、領域１３０８、フレーム１３１２及び表１３１５を取り囲む矩形領域を含む。
【００８６】
ステップＳ１４０４では、まだ検査していない色文書領域が存在するか否かを判定する。そのような領域が存在しないならば、図１４の流れは終了する。そのような領域が１つでも存在するならば、図１４の流れはステップＳ１４０５へ進み、検査が終わっていない色文書領域を選択する。
【００８７】
ステップＳ１４０６では、選択された色文書領域がフレームであるか否かを判定する。このために、フレームはほぼ水平の辺と、ほぼ垂直の辺とを有する四辺形の領域であると定義されている。領域１３０６，１３０８，１３１２及び１３１５の場合のように、選択された領域がそのようなフレームであれば、流れはステップＳ１４０４に戻り、色文書領域候補のリストの中で、まだ検査されていない色文書領域が存在するか否かを判定する。存在していなければ、流れはステップＳ１４０８へ進む。
【００８８】
ステップＳ１４０８では、選択された色文書領域がほぼ直線の水平の辺と、垂直の辺を有するか否かを判定する。図１５の領域１５０１の場合のように、有していれば、流れはステップＳ１４０４に戻る。有していない場合には、流れはステップＳ１４０９に続き、選択された色文書領域が対称であるか否かを判定する。同様に、図１５の領域１５０５及び１５１０のように、選択された色文書領域が対称である場合には、流れはステップＳ１４０４に戻り、選択された色文書領域が対称でない場合には、流れはステップＳ１４１０へ進む。
【００８９】
ステップＳ１４１０では、選択された色文書領域を色文書領域候補のリストから削除する。図１４のプロセスステップによって、色文書領域のリストが生成される。
【００９０】
ステップＳ１４０６，Ｓ１４０８及びＳ１４０９は、最も複雑でない処理から最も複雑な処理へと順序付けられると有利である。そのような構成をとれば、BW＿Page中の色文書領域のリストを生成するために必要な時間と資源の量を抑えることができる。
【００９１】
図６に戻ると、流れはステップＳ６０７からＳ６０９へと続き、現在BW＿Page中にあり、色文書領域のリストにより指定される領域の中に位置している画像データに０の値を割り当てる。これに関連して、図１６は、ステップＳ６０９終了後のBW＿Pageの内容を示す。図示されているように、領域１６０６，１６０８，１６１２及び１６１５の中の画素には０の値が割り当てられている。
【００９２】
次に、ステップＳ６１０では、色文書領域のリストから１つの色文書領域を選択する。ステップＳ６１１では、BW＿Pageの選択された領域を取り囲む画素に１の値を割り当てる。図１７は、ステップＳ６１０で領域１６０８を選択した場合のステップＳ６１１の実行後のBW＿Pageの内容を示す。
【００９３】
ステップＳ６１２では、選択された領域に対応する入力画像データで最も主だっているＲＧＢ値に基づいて、その領域の閾値２値化範囲を定義する。この処理は、先に図８に関して説明した通りに進行する。
【００９４】
次に、ステップＳ６１３では、選択された領域の閾値２値化範囲に基づいて、選択された領域の画像データを２値化する。選択された領域の２値化画像データは、以下ではBW＿Page＿tmpと呼ばれる第２のバッファに格納される。
【００９５】
図１８は、ステップＳ６１３の実行後のBW＿Page＿tmpの内容を示す。ここで、BW＿Page＿tmpの領域１８１０に対応する全ての入力画素値はステップＳ６１２で定義した閾値２値化範囲の外にある。従って、領域１８１０はBW＿Page＿tmpにおいては黒色画素により表現される。同様に、領域１８０８の中のテキスト１８０９も閾値２値化範囲の外にあるので、黒色画素により表現される。
【００９６】
次に、ステップＳ６１５では、選択された領域の背景色をステップＳ６１３で０を割り当てられた画像データの平均ＲＧＢ値に設定する。
【００９７】
ステップＳ６１２、Ｓ６１３及びＳ６１５は先に説明したステップＳ６０４、Ｓ６０５及びＳ６０６に対応しているが、ステップＳ６０４からＳ６０６が文書画像全体に関するものであるのに対し、ステップＳ６１２、Ｓ６１３及びＳ６１５は文書画像の特定の１つの領域に関連している点が異なる。
【００９８】
ステップＳ６１６では、BW＿Pageにまだ検査していない色文書領域が他に存在するか否かを判定する。従って、ステップＳ６１０からＳ６１５は検査が終了していない色文書領域の各々に関して実行されるのである。
【００９９】
図１９は、色文書領域のリストにおける各色文書領域に関してステップＳ６１０からＳ６１５の実行後のBW＿Page＿tmpの内容を示す。先に説明したように、文書１０１の領域１０６，１０８及び１１０は黒色画素により囲まれていない。従って、図１９に示すように、各色文書領域に関してステップＳ６１０からＳ６１５を実行した後には、それらの領域は黒色画素により囲まれていない。
【０１００】
次に、ステップＳ６１７では、BW＿Page＿tmpの色文書領域を識別する。ステップＳ６１８では、余分な色文書領域を廃棄する。ステップＳ６１８は、上述のプロセスにおける誤りを修正するために必要である。
【０１０１】
ステップＳ６２０では、現在BW＿Pageと現在BW＿Page＿tmpとを論理和演算を使用して組み合わせて、図２０に示すような更新BW＿Pageを生成する。
【０１０２】
次に、ステップＳ６２１では、図１４に関して先に説明した技法を利用して、BW＿Page＿tmpに他に色文書領域が存在するか否かを判定する。存在していれば、BW＿Page＿tmpの全てのデータを除去するために、ステップＳ６２２でBW＿Page＿tmpを初期設定し、流れはステップＳ６０９に戻る。
【０１０３】
例えば、ステップＳ６２１でBW＿Page＿tmpの領域１９１０を検出すると、ステップＳ６２２では、BW＿Page＿tmpが初期設定される結果となる。その後、ステップＳ６０９では、BW＿Pageの領域１９１０の画像データに０の値を割り当て、流れは先に説明したように進行する。従って、その後にステップＳ６２１に戻った後、BW＿Page＿tmp及びBW＿Pageの内容は、それぞれ、図２１及び図２２に示す通りになる。
【０１０４】
流れはステップＳ６２１からＳ６２４へ進み、BW＿Pageの内容について、通常先に図３に関連して説明したように、白黒ブロック選択プロセスを実行する。次に、ステップＳ６２５では、後処理を実行する。
【０１０５】
図２３は、本発明により後処理を実行するためのプロセスステップのフローチャートである。図２３のプロセスステップは、固定ディスク３などのコンピュータ読み取り可能な媒体に格納されるコンピュータ実行可能なプロセスステップとして具現化されるのが好ましい。この場合、コンピュータ実行可能なプロセスステップはディスク３からＲＡＭ３０にロードされ、そこからＣＰＵ２０により実行される。
【０１０６】
流れはステップＳ２３０１で始まり、テキストブロックの第１のラインを選択する。ステップＳ２３０２では、選択されたテキストラインのうち、BW＿Pageにおいて１の値を割り当てられた各画素の入力ＲＧＢ値を平均することにより、選択されたテキストラインの色を計算する。
【０１０７】
次に、ステップＳ２３０３では、テキストブロックに次のテキストラインが存在するか否かを判定する。存在しなければ、流れはステップＳ２３０８へ進み、新たなテキストブロックを選択する。存在していれば、ステップＳ２３０４で、ステップＳ２３０２に関して説明したのと同じ方式によりテキストブロック中の次のラインの色を計算する。
【０１０８】
ステップＳ２３０５において、ステップＳ２３０２及びＳ２３０４で計算した色がそれほど違わないことが判定された場合、流れはステップＳ２３０６へ進み、次のラインを現在ラインに再び割り当てる。次に、流れはステップＳ２３０３に戻る。
【０１０９】
ステップＳ２３０５で色が大きく違うと判定された場合には、ステップＳ２３０７で、そのテキストブロックを２つの別個のテキストブロックに分割する。それぞれのブロックはステップＳ２３０５で解析されたテキストラインの一方を含むことになる。
【０１１０】
次に、ステップＳ２３０８では、当該画像データの中に更に多くのテキストブロックが存在しているか否かを判定する。更にテキストブロックが存在していれば、流れはステップＳ２３０９へ進み、新たなテキストブロックを選択した後、先に説明したようにステップＳ２３０１に戻る。
【０１１１】
従って、ステップＳ２３０１からＳ２３０７は解析される文書中のテキストラインごと、テキストブロックごとに繰り返されるので、その結果として得られる各テキストブロックは、類似する色を有する入力画素値に対応するテキストラインのみから構成されることになる。このため、ステップＳ２３１０では、各テキストブロックを、そのブロックの中の各テキストラインに対応する入力画像データの平均ＲＧＢ値でマーキングする。
【０１１２】
流れはステップＳ２３１０からステップＳ２３１１へ進み、BW＿Pageの中に位置するフレーム境界が実在している（入力文書画像の中に存在している）か、又は人工的なもの（色領域を表現するために作成された）であるかを判定する。そのようなフレーム情報は、後述する階層ツリー構造に格納されたデータから文書画像を正確に再生するために必要である。
【０１１３】
従って、ステップＳ２３１２では、フレームが実在しているか又は人工的なものであるかを指示するために、フレームにマーキングをする。図２２に示すこの例に関していえば、フレーム２２０１，２２０２及び２２０４は人工的であり、フレーム２２０５及び２２０６は実在している。
【０１１４】
ステップＳ２３１３では、線ブロックの線、表ブロックの格子線、線画ブロックのピクチャ及び実在フレームブロックのフレームの色を、１の値に２値化されたブロック中の画素に対応する入力画像データの平均ＲＧＢ値に基づいて計算する。次に、それらのブロックを計算された色情報でマーキングする。
【０１１５】
ステップＳ２３１４では、フレームの内側の領域、表のセルの内側の領域及び線画の中の領域などの、BW＿Page中の白色領域の色を計算する。それらの色を計算するために、BW＿Pageの関連する白色領域において０の値を割り当てられた画素の入力ＲＧＢ値を平均する。その後、白色領域を色情報でマーキングする。
【０１１６】
図２３の流れは、以上のプロセスステップにより生成された文書情報を階層ツリー構造に格納するステップＳ２３１５で終了する。そのような階層ツリー構造を図２４に示す。
【０１１７】
尚、ツリー構造２４００に格納される情報はメモリのごく一部しか占めておらず、この情報を使用して文書１０１の表現をほぼ再構成できることに注意すべきである。編集後のツリー構造から後に生成される文書の見かけが変わるように、ツリー構造２４００を編集しても良い。この点に関して、先に引用した米国特許出願第０８／８３４，８５６号は、階層ツリー構造のノードを追加、除去、組み合わせ、分割し、また、ノード中の情報を編集するためにシステムを説明している。
【０１１８】
尚、ツリー構造２４００のノードにより表現されるデータの場所情報は矩形化座標の形態をとることに注意すべきである。従って、ツリー構造２４００に格納されている場所情報と色属性のみを使用して、領域１０６を再生した場合、テキスト１０７は青色の矩形により表現されることになるであろう。
【０１１９】
しかし、領域１０６に対応するBW＿Pageの領域を解析することにより、領域１０６の中の黒色の画素を黒のままに維持するか、又はそれぞれ別の色にすることができ、その一方で、領域１０６の中の他の画素を領域１０６に関する、格納されている色属性を使用して再生することができるであろう。
【０１２０】
同様に、BW＿Pageの領域の中の白色画素を白のままに維持するか、それぞれ別の色にすることができ、その一方で、その周囲の画素の領域の色を編集することもできる。これらのプロセスを実行するために、ビットマップ化文書（BW＿Page）全体と、前述の階層ツリー構造とを格納しておく必要があるとはいえ、ビットマップ化文書は最初に入力されたフルカラー（２４ビット）画素データの二十四分の一の大きさしかないことに注意すべきである。
【０１２１】
従って、そのためのメモリ容量の増大は、カラー記憶や編集といった利点と比べて、はるかに小さな問題であるということができる。
【０１２２】
以上、本発明を現時点でその好ましい実施形態であると考えられるものに関して説明したが、本発明が以上説明した実施形態に限定されないことを理解すべきである。本発明は特許請求の範囲の趣旨に含まれる様々な変形や等価の構成を包含するものである。
【図面の簡単な説明】
【図１】  本発明の一実施形態に係る代表的な計算機器を示す図である。
【図２】  本発明の一実施形態に係る計算機器の内部構造を示すブロック線図である。
【図３】  ブロック選択処理を実行するための一般的なプロセスステップのフローチャートである。
【図４】  文書画像を表現する階層ツリーを表す図である。
【図５】  本発明のカラーブロック選択処理を実行すべきカラー文書の図である。
【図６Ａ】図６Ｂと共に、本発明によるカラーブロック選択を実行するためのプロセスステップを示すフローチャートである。
【図６Ｂ】図６Ａと共に、本発明によるカラーブロック選択を実行するためのプロセスステップを示すフローチャートである。
【図７】  本発明の一実施形態による色の平滑化を示す図である。
【図８Ａ】  図８Ｂと共に、本発明による閾値２値化範囲を定義するためのプロセスステップを示すフローチャートである。
【図８Ｂ】  図８Ａと共に、本発明による閾値２値化範囲を定義するためのプロセスステップを示すフローチャートである。
【図９】  ＲＧＢドメインで計算された入力画素値のヒストグラムの図である。
【図１０】  本発明による閾値２値化範囲の定義を示す図である。
【図１１Ａ】  図１１Ｂと共に、本発明に関連して使用すべき２値化層と入力画素の数との関係を示す図である。
【図１１Ｂ】  図１１Ａと共に、本発明に関連して使用すべき２値化層と入力画素の数との関係を示す図である。
【図１２】  本発明による閾値２値化範囲の定義を示す図である。
【図１３】  本発明によるカラーブロック選択の間にバッファに常駐している２進画像データを示す図である。
【図１４】  本発明による色文書領域を識別するためのプロセスステップを示すフローチャートである。
【図１５】  本発明による色文書領域の画像データの図である。
【図１６】  本発明によるカラーブロック選択の間にバッファに常駐している２進画像データの図である。
【図１７】  本発明によるカラーブロック選択の間にバッファに常駐している２進画像データの図である。
【図１８】  本発明によるカラーブロック選択の間にバッファに常駐している２進画像データの図である。
【図１９】  本発明によるカラーブロック選択の間にバッファに常駐している２進画像データの図である。
【図２０】  本発明によるカラーブロック選択の間にバッファに常駐している２進画像データの図である。
【図２１】  本発明によるカラーブロック選択の間にバッファに常駐している２進画像データの図である。
【図２２】  本発明によるカラーブロック選択の間にバッファに常駐している２進画像データの図である。
【図２３】  本発明による後処理を実行するためのプロセスステップのフローチャートである。
【図２４】  本発明による階層ツリー構造の図である。
【符号の説明】
１・・・計算機器、２・・・表示モニタ、３・・・固定ディスクドライブ、４・・・フロッピーディスクドライブ、５・・・キーボード、６・・・指示装置、７・・・カラースキャナ、９・・・プリンタ、１０・・・ネットワークインタフェース、１１・・・ファクシミリ／モデムインタフェース、２０・・・中央処理装置、２１・・・コンピュータバス、２２・・・スキャナインタフェース、２３・・・プリンタインタフェース、２４・・・ネットワークインタフェース、２６・・・ファクシミリ／モデムインタフェース、２７・・・ディスプレイインタフェース、２８・・・キーボードインタフェース、２９・・・マウスインタフェース、３０・・・主メモリ、３１・・・ＲＯＭ
【図１】
0004408495.tif 000002
【図２】
0004408495.tif 000003
【図３】
0004408495.tif 000004
【図４】
0004408495.tif 000005
【図５】
0004408495.tif 000006
【図６Ａ】
0004408495.tif 000007
【図６Ｂ】
0004408495.tif 000008
【図７】
0004408495.tif 000009
【図８Ａ】
0004408495.tif 000010
【図８Ｂ】
0004408495.tif 000011
【図９】
0004408495.tif 000012
【図１０】
0004408495.tif 000013
【図１１Ａ】
0004408495.tif 000014
【図１１Ｂ】
0004408495.tif 000015
【図１２】
0004408495.tif 000016
【図１３】
0004408495.tif 000017
【図１４】
0004408495.tif 000018
【図１５】
0004408495.tif 000019
【図１６】
0004408495.tif 000020
【図１７】
0004408495.tif 000021
【図１８】
0004408495.tif 000022
【図１９】
0004408495.tif 000023
【図２０】
0004408495.tif 000024
【図２１】
0004408495.tif 000025
【図２２】
0004408495.tif 000026
【図２３】
0004408495.tif 000027
【図２４】
0004408495.tif 000028