(57)【特許請求の範囲】
【請求項１】
画像内の領域の前景色と背景色と背景パターンとに関する情報とを含むことができるノードからなる階層的ツリー構造と、二値化画像とを用いて、カラー画像を描画する方法であって、
領域選択手段が、前記カラー画像中から領域を選択する領域選択ステップと、
背景パターン選択手段が、背景パターンを選択する背景パターン選択ステップと、
編集手段が、前記領域選択ステップで選択された領域に対応するノードを、前記背景パターン選択ステップで選択された背景パターンに関する情報を含むように編集する編集ステップと、
割当手段が、前記編集されたノードに対応する前記二値化画像中の領域内の白ピクセルに対応する位置のピクセルに対して、前記背景パターン選択ステップで選択された背景パターン中の対応する位置のピクセル値を割り当てる割当ステップと、
を有することを特徴とする描画方法。
【請求項２】
前記割当手段が、前記ノードに対応する二値化画像中の領域内の黒ピクセルに対応する位置のピクセルに対して、当該ノードに含まれる前景色を割り当てるステップを、更に有することを特徴とする請求項１に記載の描画方法。
【請求項３】
前記割当ステップでは、前記領域選択ステップで選択された領域と等しい寸法の前記背景パターンをバッファに生成し、前記二値化画像中の領域内の白ピクセルに対応する位置のピクセルそれぞれに対して、前記バッファ内の対応する位置のピクセル値を割り当てることを特徴とする請求項１に記載の描画方法。
【請求項４】
前記割当ステップでは、前記背景パターン選択ステップで選択された背景パターンをリアルタイムで分析することにより、前記二値化画像中の領域内の白ピクセルに対応する位置のピクセルそれぞれに対して、前記背景パターンの対応する位置のピクセル値を割り当てることを特徴とする請求項１に記載の描画方法。
【請求項５】
前記領域選択ステップで選択される領域は、テキスト領域とピクチャ領域のいずれかであることを特徴とする請求項１に記載の描画方法。
【請求項６】
実線選択手段が、前記カラー画像中の実線を選択する実線選択ステップと、
点線選択手段が、点線パターンを選択する点線選択ステップと、
背景判断手段が、前記選択された実線に対応するノードが、前記背景色の情報または前記背景パターンの情報を含むか判断する背景判断ステップと、
前記背景判断ステップで前記ノードが背景色の情報を含むと判断した場合、カラー割当手段が、前記点線パターンの対応する位置のピクセルが黒ピクセルならば、前記ノードが含む前景色を当該ピクセルに割り当て、さらに、前記選択された点線パターンの対応する位置のピクセルが白ピクセルならば、前記ノードが含む背景色を当該ピクセルに割り当てるカラー割当ステップと、
前記背景判断ステップで前記ノードが背景パターンの情報を含むと判断した場合、パターン割当手段が、前記選択された点線パターンの対応する位置のピクセルが黒ピクセルならば、前記ノードが含む前景色を当該ピクセルに割り当て、さらに、前記選択された点線パターンの対応する位置のピクセルが白ピクセルならば、前記ノードが含む背景パターン中の対応する位置のピクセル値を当該ピクセルに割り当てるパターン割当ステップと、
を更に有することを特徴とする請求項１に記載の描画方法。
【請求項７】
受信手段が、オブジェクトの削除指示を受信する受信ステップと、
背景判断手段が、前記削除指示に係るオブジェクトに対応するノードが、前記背景色の情報を含むか背景パターンの情報を含むか判断する背景判断ステップと、
前記背景判断ステップで前記ノードが背景色の情報を含むと判断した場合、カラー割当手段が、前記ノードに対応する前記二値化画像の領域内の黒ピクセルに対応する位置のピクセルに対して、前記ノードが含む背景色を割り当てるカラー割当ステップと、
前記背景判断ステップで前記ノードが背景パターンの情報を含むと判断した場合、パターン割当手段が、当該ノードに対応する前記二値化画像の領域内の黒ピクセルに対応する位置のピクセルに対して、当該ノードが含む背景パターン中の対応する位置のピクセル値を割り当てるパターン割当ステップと、
を更に有することを特徴とする請求項１に記載の描画方法。
【請求項８】
前記ノードが前記前景色の情報を含まない場合、当該ノードの親ノードから前景色の情報を得ることを特徴とする請求項２記載の描画方法。
【請求項９】
画像内の領域の前景色と背景色と背景パターンとに関する情報とを含むことができるノードからなる階層的ツリー構造と、二値化画像とを用いて、カラー画像を描画する描画装置であって、
前記カラー画像中から領域を選択する領域選択手段と、
背景パターンを選択する背景パターン選択手段と、
前記領域選択手段で選択された領域に対応するノードを、前記背景パターン選択手段で選択された背景パターンに関する情報を含むように編集する編集手段と、
前記編集されたノードに対応する前記二値化画像中の領域内の白ピクセルに対応する位置のピクセルに対して、前記背景パターン選択手段で選択された背景パターン中の対応する位置のピクセル値を割り当てる割当手段と、
を有することを特徴とする描画装置。
【請求項１０】
画像内の領域の前景色と背景色と背景パターンとに関する情報とを含むことができるノードからなる階層的ツリー構造と、二値化画像とを用いて、コンピュータにカラー画像を描画させるためのプログラムを記録したコンピュータ読取可能な記憶媒体であって、
コンピュータを、
前記カラー画像中から領域を選択する領域選択手段、
背景パターンを選択する背景パターン選択手段、
前記領域選択手段で選択された領域に対応するノードを、前記背景パターン選択手段で選択された背景パターンに関する情報を含むように編集する編集手段、
前記編集されたノードに対応する前記二値化画像中の領域内の白ピクセルに対応する位置のピクセルに対して、前記背景パターン選択手段で選択された背景パターン中の対応する位置のピクセル値を割り当てる割当手段、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
（発明の背景）
（発明の分野）
本発明は、カラー画像の描画(rendering)及び編集のための方法及び装置に関する。特に、カラー画像の二値化画像(binarized version)とカラー画像中のカラー画像データブロックの階層化表現を用いて、カラー画像の色のついた領域の描画及び編集を行う方法及び装置に関する。
【０００２】
（リファレンスによる編入）
同一出願人による米国特許出願第No. ０７/８７３０１２号（米国特許第５,６８０,４７９号）「文字認識方法及び装置」、同出願番号第０８/１７１７２０号（米国特許第５,５８８,０７２号）「保存された文書のテキスト及び非テキストブロックを選択する方法及び装置」、同出願番号第０８/３３８７８１号、「ページ分析システム」、同出願番号第０８/５１４２５０号（米国特許第５,７７４,５７９号）、「オーバラップしたブロックを分解してブロック選択を行うシステム」、同出願番号第０８/５１４２５２号（米国特許第５,８４８,１８６号）、「特徴抽出システム」、同出願番号第０８/６６４６７４号、「添付されたテキストを抽出するシステム」、同出願番号第０８/７５１６７７号、「ページ分析システム」、同出願番号第０８/８３４８５６号（米国特許第５,８２５,９４４号）「ブロック選択レビュー及び編集システム」、同出願番号第０９/００２６８４号、「表画像分析システム」及び同出願番号第０９/１６１７１６号、「色ブロック選択」の内容は、本明細書中に全て記載されているものとする。
【０００３】
（関連技術の説明）
この点について、これらの機能は、カラー画像の選択された領域の中で存在するかもしれない種々の画像データタイプを区別しない。したがって、文書画像の場合、テキストを構成しているピクセルの色を変えずにテキストの選択領域の背景色を簡単に変えることができない。例えば、ユーザが文書画像のテキスト領域を選択し、次いで選択範囲中の各ピクセルの色を青に変える青色変更機能を選択する場合には、それによってテキストピクセルと背景ピクセルのいかなる区別も抹消される。
【０００４】
もちろん、従来の編集システムにおいても、選択範囲においてテキストピクセルを囲んでいる各背景ピクセルを個々に選択し、その色を変えることによって選択範囲の背景色を変えることができた。しかしながら、この方法は非常に多くの時間を消費する。
【０００５】
前述のことを考慮して、文書のいろいろな領域の背景色と前景色を個別に、かつ簡単に編集することができるカラー文書画像編集のためのシステムが必要とされている。
【０００６】
（発明の概要）
本発明は、カラー画像の二値化画像と編集するカラー画像のカラー画像データブロックの階層的な表現を利用して、画像のいろいろな色の取り扱い及び編集を行うシステムを提供することによって、前述の問題を処理する。それによって、入力カラー文書の背景色と前景色は、簡単に、そして、個々に描画及び編集することができる。
【０００７】
したがって、本発明の１つの見地は、カラー画像を表している二値化された画像とカラー画像を表している階層的ツリー構造（カラー画像内の画像データの個々のブロックを表すノードを含み、またこのノードは個々のブロックの色情報を含む階層的ツリー構造）を用いてカラー画像を描画するシステムである。システムは、メモリ中に、カラー画像において画像データブロックに相当するカラー画像描画領域の定義を有し、前景色情報を画像データブロックに対応するノードから取得し、画像データブロックに対応する二値化画像領域中の黒色ピクセル位置を検出し、検出された黒色ピクセル位置に対応するカラー画像描画領域の中のピクセルに前景色を割り当てる。
【０００８】
この見地の結果、選択されたカラー画像領域の前景色を、能率的に描画することができる。さらに、本発明の上述の見地は、階層的ツリーの操作によって変更された前景色を容易に描画するために用いることができる。
【０００９】
本発明の更なる見地においては、画像データブロックに対応するノードからの背景色情報の取得及び、カラー画像描画領域中の、検出された黒色ピクセルの位置に対応しない各位置のピクセルに対する背景色の割り当てを含む。この見地によれば、選択された領域の背景色を簡単に描画及び編集することができる。
【００１０】
まだもう一つの見地において、本発明はカラー画像を表している二値化画像と、カラー画像を表している階層的ツリー構造（カラー画像中の画像データの個々のブロックを表すノードを含み、このノードは個々のブロックの色情報を含む階層的ツリー構造）を用いてカラー画像を編集するシステムである。このシステムは、カラー画像中の画像データブロック選択、画像データの選択されたブロックに対応する階層的ツリーのノードの識別、識別されたノード中の前景色属性の編集、メモリ中に置かれた、カラー画像データ中の画像データブロックに対応するカラー画像描画領域の定義、画像データブロックに対応するノードからの編集された前景色属性の取得、画像データブロックに対応する二値化画像領域中の二値化画像における黒色ピクセルの位置検出及び、検出された黒色ピクセル位置に対応するカラー画像描画領域中に位置するピクセルに対する前景色属性によって示される前景色の割り当てを含む。
【００１１】
この簡単な要約は、本発明の本質を素早く理解するために供されたものである。本発明のより完全な理解は、以下に示すその好ましい実施形態の詳細な説明を付属の図面と関連して参照することによって得ることができる。
【００１２】
（好ましい実施形態の詳細な説明）
図１は、本発明に係るカラー編集システムの実施形態を形成する代表的なコンピュータ装置の外観を示す図である。
【００１３】
図１に示されるのは、コンピュータ装置１（例えばマイクロソフト社のWindows98（登録商標）オペレーティングシステムのようなウインドウを用いたオペレーティングシステムを実行するインテル社のPentium（登録商標）プロセッサベースのコンピュータ）である。コンピュータ装置１はカラー・ディスプレイ・モニター２を備え、モニター２を用いてユーザに画像を提示する。コンピュータ装置１はまた、データファイルとアプリケーションプログラムファイルを格納する固定ディスクドライブ３、テキストデータの入力及びディスプレイ２に表示されるオブジェクトを操作するためのキーボード５と、ディスプレイ２に表示されるオブジェクトの指定(pointing)及び操作を行うために設けられた、マウスのようなポインティングデバイス６を備えている。
【００１４】
コンピュータシステム１はさらに、フロッピー・ディスケットを読み書きするためのフロッピーディスクドライブ４を含む。カラー画像を含む文書画像ファイル、コンピュータ装置が実行可能な本発明の実施形態に係るプロセスステップは、固定ディスク３またはフロッピーディスクドライブ４に挿入されるフロッピーディスクのいずれかに格納すしてもよい。代わりに、文書画像ファイルやコンピュータ装置実行可能なプロセスステップは、（図示しない）CD-ROMドライブによってアクセスされるCD-ROMから得ることもできる。
【００１５】
コンピュータ装置１はさらに、ローカル・エリア・ネットワークと接続するためのネットワーク接続１０及び、電話網と接続するための電話回線１１を備えている。ネットワーク接続１０を介してローカル・エリア・ネットワークから、または電話回線１１を介して電話網及びワールドワイドウェブ（「ウェブ」）から文書画像ファイルと本発明の実施形態に係るコンピュータ装置実行可能なプロセスステップにアクセスしても良い。
【００１６】
最も一般的には、固定ディスク３に格納される、本発明に係るカラー編集システムアプリケーションを含むアプリケーションは、コンピュータ装置が読取り可能な媒体（例えばフロッピーディスク、CD-ROM、ネットワークドライブまたはウェブ）からダウンロードされた後にディスク３に格納される。
【００１７】
カラー文書画像はまた、カラースキャナー７によってコンピュータ装置１へ入力されてもよい。カラースキャナ７は文書を表す２４ビットのカラー画像データを提供するためにカラー文書を読み取る。好ましくは、カラー画像データは、文書中の各ピクセル毎に赤、緑と青それぞれ８ビットの値を有する。もちろん、他のビット長または色空間を用いて、本発明に従って編集されるカラー文書画像を表すこともできる。
【００１８】
プリンター９は、コンピュータ装置１によって処理された文書画像を出力するために設けられており、好ましくはカラーレーザービームプリンターである。
【００１９】
操作において、そして、ウインドウベースのオペレーティングシステムの制御下において、格納されたアプリケーションプログラム（例えば本発明に係るカラー編集システムアプリケーション）は、格納されたデータの処理及び操作のために選択的に起動される。オペレーター指示に従って、そして、格納されたアプリケーションプログラムに基づいて、画像データをディスプレイ２に表示したり、画像データに対して機能を実行したり、表示された画像をプリンター９によってプリントしたりするためのコマンドが発行される。
【００２０】
図２は、コンピュータ装置１の内部の構成を示す詳細なブロック図である。図２で示すように、コンピュータ装置１は、プログラム可能なPentium（登録商標）マイクロプロセッサのような、コンピュータバス２１に接続された中央処理装置（CPU）２０を含む。
【００２１】
また、スキャナーインタフェース２２、プリンターインタフェース２３、ネットワークインタフェース２４、電話回線１１への接続のためのファックス/モデムインタフェース２６、ディスプレイインタフェース２７、キーボードインタフェース２８とマウスインタフェース２９がコンピュータバス２１に接続されている。
【００２２】
図２で示すように、ディスク３は本発明に係るカラー編集システムアプリケーション、カラーブロック選択アプリケーションのコンピュータ装置実行可能なプロセスステップ、階層的ツリー構造データ、文書画像データ、二値化された文書画像データ、他のウインドウズアプリケーションのコンピュータ装置実行可能なプロセスステップ、デバイスドライバー及び他のデータファイルのコンピュータ実行可能プロセスステップを格納する。
【００２３】
メインメモリ３０（例えばランダムアクセスメモリ（RAM））は、CPU ２０にメモリストレージへのアクセスを提供するために、コンピュータバス２１に接続される。特に、ディスク３の上で保存されるコンピュータ装置実行可能なプロセスステップを実行する際、CPU ２０はディスク３または他の記憶媒体からそれらのステップをメインメモリ３０にロードして、メインメモリ３０からそれらのプロセスステップを実行する。メインメモリ３０はまた、本発明に係るカラー編集システムを実行している間に使われるデータを格納するためのも、バッファストレージを提供する。
【００２４】
例えば、ブート中に用いられるプロセスステップや、例えばキーボード５操作のための基本入出力オペレーティングシステム（BIOS）シーケンスといったコンピュータ装置実行可能なプロセスステップを格納するために用いられる。
【００２５】
図３は、カラー文書ページ４０の文書画像データを示す図である。特許明細書においてカラー図面を再現するのは困難なので、図３では文書ページ４０を表す二値化画像データを示す。先に述べたように、文書ページ４０の各ピクセルを２４ビットのカラーデータを使って表す代わりに、図３で示される各ピクセルは黒いピクセルか白いピクセルである。
【００２６】
示されるように、文書ページ４０はタイトル領域４２、水平線４３、それぞれが複数行のテキストデータを有するテキスト領域４４、４５と４６、中間調画像領域４７、フレーム４８及び表４９を含む。
【００２７】
詳細に下で記述されるように、本発明のいくつかの実施形態においては、カラー文書ページの二値化されたそのようなバージョンを利用する。二値化されたバージョンはスキャナー７の「モノクロ」機能を使いながら、文書ページ４０をスキャンすることによって得ることができる。しかし、図３で示される二値化画像データは前記の米国特許出願第０９/１６１７１６号で記述されるプロセスに従って、カラー画像データから作り出されることが好ましい。もちろん、本発明で用いるための二値化画像データを生成するために、他のいかなる二値化方法を用いてもよい。
【００２８】
また、以下に記述されるように、本発明のいくつかの実施形態において、描画および／または編集されるカラー文書ページの階層的ツリー構造を利用する。図４は図３のカラー文書ページ４０に対応する、代表的な階層的ツリー構造５０である。
【００２９】
階層的ツリー構造５０は、好ましくは、前述の特許文書に記載される技術を用いて生成される。通常、これらの文書で記述されるように、階層的ツリー構造は入力された画像データを分析することによって、入力された画像データの範囲内の画像データブロックを識別し、各識別されたブロック内に位置する画像データの型を識別し、画像データの属性を識別して生成される。図５は、そのような処理の典型的な結果を示す。図５において、ブロック表示５２中の矩形のブロックの各々は、特定のタイプの画像データの領域を表す。
【００３０】
通常、ブロック表示５２は、階層的ツリー構造５０をつくるために使われる。特に、ツリー構造５０はブロック表示５２の中のブロックの位置関係に従って配置される。更に詳細には、ツリー構造５０は文書ページ４０を表すページノード５５から始まる。ページノード５５の下層にはtext１ノード５７とtext２ノード５８がある。これらはそれぞれ、ブロック表示５２におけるブロック５９と６０を表す。フレーム(FRAME)ノード６２は、大きいフレームブロック６３を表しており、フレーム６３がブロック表示５２において完全に各他のブロックを囲んでいるため、ツリー構造５０で示される他のノードのぞれぞれの「親」ノードである。ここで、白(WHITE)ノード６５はフレームブロック６３中の領域を表し、白ノード６９はフレームブロック６７中の白い領域を表す。ツリー構造５０の残っているノードは、上述した論理と同様の論理に従って、画像データブロックに割り当てられる。
【００３１】
ツリー構造５０の各ノードは、そのノードが表す画像データブロック関する情報を含む。表１は、ノードで表される画像データの形式に従って、各ノードに好ましくは含まれる情報のリストである。
【００３２】
【表１】
0003990855.tif 000002
【００３３】
ここで、上述したノード情報のセットのいくつかが分解された長方形(decomposed rectangle)の座標を含む点に留意する必要がある。上述した米国特許第５,７７４,５７９号はそのような分解された長方形の詳細な説明を含む。しかし、一般的に、あるブロックは、そのブロックに割り当てられていないデータの抽出を引き起こすことなく、ブロックの中の位置からデータを抽出できるように、いくつかの分解された長方形によってさらに規定される。
【００３４】
たとえば、図５及びツリー構造５０のノード７２から７５に示すように、ブロック表示５２のブロック７０は、フレーム４８が、順番にテキストブロックとラインアートピクチャブロックを含む白領域を含んでいることを表す。しかし、ブロック７７の座標がテキスト４５の抽出に使われるとすると、フレーム４８のいくつかの部分がともに抽出されることになる。米国特許第５,７７４,５７９号によれば、ブロック７７はブロック７７ａ、７７ｂと７７ｃ（図５において点線で示される）に分解され、ブロック７７ａから７７ｃの座標はブロック７７を表すノード７９に保存される。ブロック７７ａ、７７ｂと７７ｃの座標は、テキスト４５を容易に抽出するために使用することができる。以下明らかにされるように、このような分解された長方形の座標データは本発明の実施に有用である。
【００３５】
表ノード７１は、ブロック表示５２における表ブロック７８を表す。図４で示すように、表ブロック７８内の領域はスーパーセルノードで表される。スーパーセルノードは、親スーパーセルノードによって定義される領域内のテキストを表すテキストノードの親ノードである。上記の米国特許出願第０９/００２６８４号は、表内部のスーパーセル領域の境界を計算するシステムを説明する。本明細書においては、スーパーセル領域は白領域と同等であるとみなされなければならない。
【００３６】
表１に関して、また、好ましい実施形態において、全てのノードが背景色情報を含む必要があるというわけでない点に注意されなければならない。ノードが色情報を含まない場合、そのノードが最も近い親ノードにおいて指定された背景色と同じ背景色を有するものとする。例えば、フレームノード６８が背景色情報を含まない場合、フレームノード６８は、白ノード６５と同一の背景色情報を有すると仮定される。同様に、白ノード６５とフレームノード６２が背景色情報を含まない場合、フレームノード６８は、ページのルートノード５５に含まれる背景色情報と同一の背景色情報を含むものとする。
【００３７】
分解された長方形の話題に戻って、ノード中の分解された長方形の情報は、その分解された長方形を含むノードに割り当てられているものとは異なる特定の前景又は背景色に関連づけされていても良い。さらに、ピクチャノードが分解された長方形を含む場合、分解された長方形のそれぞれの範囲内の元のビットマップデータは、対応する分解された長方形に対して個別に関連づけされる。
【００３８】
図６は、本発明に従ってカラー画像を描画するコンピュータ実行可能プロセスステップのフローチャートである。望ましくは図６のプロセスステップは、固定ディスク３からメインメモリ３０へロードされ、そこからCPU ２０によって実行される。
【００３９】
図６のプロセスステップはカラー画像を表している二値化画像とカラー画像を表している階層ツリー構造を用いてカラー画像を描画するために実行される。階層ツリー構造はカラー画像中の個々のブロックを表し、個々のブロックの色情報を有するノードを有する。プロセスステップは、カラー画像中の画像データブロックに対応するカラー画像描画領域をメモリ中に定義する定義ステップ、画像データブロックに対応するノードから前景色情報を取得する取得ステップ、二値化画像の画像データブロックに対応する領域内の黒ピクセル位置を検出する検出ステップ及び、検出された黒ピクセル位置に対応するカラー画像描画領域中に位置する画沿に前景色を割り当てる割り当てステップとを有する。より詳細には、図６のフローチャートは、選択されたページに対応する階層ツリー構造の二値化画像を取得するステップＳ６０１から始まる。
【００４０】
例えば、階層的ツリー構造５０及び図３に示される二値化画像データは、ページ４０の選択に応答してステップＳ６０１で得られる。次に、ステップＳ６０２で、描画バッファがメインメモリ３０のようなメモリにおいて定義される。描画バッファは、二値化画像データと１対１のピクセル関係を持つように定義される。
【００４１】
ステップＳ６０４で、得られた階層的ツリー構造は、選択されたページのルートカラー(root color)を決定するために調べられる。この色は、ツリー構造のページルートノード中、最も頻繁に見つかる色である。
【００４２】
次に、ステップＳ６０５で、二値化画像データにおいて白ピクセルの位置に対応するが、いかなる子供フレームのアウトラインペア、表またはピクチャ中には位置しない位置を有する描画バッファ中の各ピクセルにルートカラーが割り当てられる。アウトラインペアについては、以下に詳細に説明する。
【００４３】
得られたツリー構造の特定のノードが、ステップＳ６０６で選択される。ステップＳ６０７で、ノードがピクチャノードまたは白ノード以外のタイプのノードであると決定された場合、ステップＳ６０８に移行し、分解された長方形が選択されたノードから選択される。分解された長方形のための前景色は、ステップＳ６０９で決定される。先に述べたように、分解された長方形はそれ自身の特定の前景色を割り当てられてもよい。しかし、もしそうでない場合、分解された長方形は割り当てられた前景色を有する最も近い親ノードの前景色を共有する。
【００４４】
その後、ステップＳ６１０で、選択された分解された長方形の座標が、二値化画像データ中の、かつ分解された長方形の領域中に含まれる黒ピクセルの位置を識別するために使われる。ステップＳ６１１で、そのような場所の各々に対応する位置を有する描画バッファ中のピクセルに、前景色を割り当てる。ステップＳ６１２で、更に分解された長方形が、選択されたノードの中に存在するかどうか判定する。より分解された長方形がノードの中に存在する場合には、ステップＳ６０８に戻る。ノード中にこれ以上の分解された長方形が存在しないならば、ステップＳ６１４へ移行し、ツリー構造により多くのノードが存在するなら、ステップＳ６０６へ戻る。選択されたノードが分解された長方形を全く含まない場合には、ステップＳ６０８からＳ６１１の処理が選択されたノードの座標及び前景色に関して実行されることに留意すべきである。
【００４５】
図７は図６のステップＳ６０８からＳ６１１までの例を示す。図７で示すように、テキスト４５に対応する図４のノード７９が選択され、分解された長方形７７ａ、７７ｂ及び７７ｃは二値画像データ４０に関して個々に分析される。図６のフローチャートに基づいて、分解された長方形７７ａ、７７ｂ及び７７ｃ中の各黒ピクセルの位置について、対応する描画バッファ８０中の位置が前景色を割り当てられる。それは、また、注意されなければならない、ステップＳ６０４とＳ６０５に基づいて、描画バッファ８０中の、ステップＳ６１１で前景色を割り当てられなかった各ピクセルに決定されたルートカラーが割り当てられることにも留意すべきである。
【００４６】
ステップＳ６０７で、ピクチャノードがステップＳ６０６で選択されたと判定された場合、処理は図８のステップＳ８０１まで進む。ステップＳ８０１で、選択されたピクチャノードから得られる分解された長方形は、ピクチャのオリジナルビットマップデータ及びオリジナルビットマップデータのためのアウトラインペアデータとともにピクチャノード中に保存される。出願番号第０８/６６４６７４号で詳細に記述されるように、アウトラインペアデータはデータをスキャンラインに位置させるために使われるピクセル座標のペアから成る。例えば、この場合、座標（５、２０）及び(５, ６０)からなるアウトラインペアデータは、ピクチャデータがス第５キャンラインの第２０〜第６０ピクセルの間に存在することを示す。
【００４７】
従って、ステップＳ８０２で、得られたオリジナルビットマップデータは、アウトラインペアデータに対応する描画バッファの位置に直接マッピングされる。例えば、図９で示すように、得られたオリジナルのビットマップデータの最初のスキャンラインは、図９において明瞭なドットで示される、最初に得られるアウトラインペアによって示されるピクセル座標の間に位置する。
【００４８】
この過程は、各スキャンラインに対応しているアウトラインペア情報を用いて得られた画像データの各スキャンライン毎に繰り返す。そして、処理はステップＳ６１４まで進む。従って、先に述べたようにアウトラインペアデータ用いて、バッファ８０の適切な位置においてオリジナルビットマップ画像データを描画することができる。
【００４９】
ステップＳ６０７で、選択されたノードが白ノードであると決定されるならば、処理は図１０のステップＳ１００１まで進む。ステップＳ１００１で、アウトラインペアと背景色情報が選択された白ノードから得られる。白ノードが背景色情報を含まない場合、上述した方法が背景色の決定に用いられる。処理はステップＳ１００２に続き、二値化画像データは他の全てのピクチャ、フレームまたは表アウトラインペアの外側であって、かつ得られたアウトラインペア中にある白ピクセルの位置を識別するために調べられる。次に、ステップＳ１００４で、識別された白ピクセル位置に対応する、描画バッファ中のピクセルは、ステップＳ１００１で得られた背景色を割り当てられる。そして、処理は前述したようにステップＳ６１４まで進む。
【００５０】
図１０に示したプロセスステップの例のように、図１１において、ページ４０の二値化画像における明瞭なドットはフレーム４８中の白領域のアウトラインペアを示す。図１０に関して説明したように、二値化画像データのスキャンラインのアウトラインペアの間に位置する白ピクセルだけに対応する位置を有する描画バッファ８０のピクセルが、階層ツリー構造５０のノード７３で表される白領域から得られた背景色を割り当てされる。
【００５１】
図６、図８と図１０のプロセスステップによって、比較的少ない量のデータからカラー文書４０の実質的な再生を行うことができる。
【００５２】
もう一つの見地で、本発明はカラー文書中の色の効率的な編集を提供する。例えば、図１２は本発明に係る、オブジェクトの色データを編集するコンピュータ装置実行可能なプロセスステップのフローチャートである。図１２のプロセスステップは好ましくは固定ディスク３に格納され、そこからメインメモリ３０に読み込まれてCPU ２０によって実行される。
【００５３】
簡単に説明すれば、図１２のプロセスステップはカラー画像を表している二値化画像とカラー画像を表している階層的ツリー構造を用いてカラー画像を編集するためのステップを含む。そして、階層的ツリー構造は、カラー画像中の各ブロックを表すノードを含み、ノードは各々のブロックの色情報を含む。プロセスステップは、カラー画像中の画像データブロックを選択する選択ステップと、選択された画像データブロックに対応するノードを特定する特定ステップと、特定されたノードの前景色属性を編集する編集ステップと、メモリ中にカラー画像中の画像データブロックに対応する描画領域を規定する規定ステップと、画像データブロックに対応するノードから、編集された前景色属性を取得する取得ステップと、画像データブロックに対応する二値化画像領域内の黒ピクセル位置を検出する検出ステップ、及び前景色属性で表される前景色を検出された黒ピクセル位置に対応するカラー画像描画領域中に位置するピクセルに割り当てる割り当てステップとを含む。
【００５４】
より具体的には、ステップＳ１２０１で、特定のオブジェクトの前景色の編集命令が受信される。このような命令は、キーボード５またはマウス６を用いているモニター２で表示されるグラフィック・ユーザ・インタフェースのユーザ操作を通して、または当業者に知られたオブジェクトを選択する任意の方法及びそのオブジェクトに適用されるプロセスによって入力することができる。図１２プロセスステップを用いて編集されることが予想される特定のオブジェクトには、テキストブロック、テキストライン、ラインアートピクチャ、フレーム、行または表を含む。次に、ステップＳ１２０２で、特定のオブジェクトに対応する階層的な構造のノードが受信された編集コマンドに従って編集される。より詳しくは、特定のオブジェクトを表しているノードにある前景色情報は、受信された色編集コマンドによって示される、選択された前景色を反映するために編集される。
【００５５】
ここで、ノードの中の各分解された長方形が前景色、背景色、前景パターンと背景パターン情報を含むことができる点に留意すべきである。従って、ステップＳ１２０２で、対応しているノード中の全ての分解された長方形の情報は、選択された前景色を反映するために編集されなければならない。
【００５６】
図１２Ａから図１２Ｄは、テキスト行オブジェクトの前景色を編集する場合に、ステップＳ１２０２で実行される編集の、好ましい方法を示す図である。図１２Ａはテキスト行(TEXT LINE)１、テキスト行２とテキスト行３を含むテキストブロック８２を示す図である。図１２Ｂは、テキストブロック８２を表すノードを有する階層的ツリー構造の一部を示す図である。上述した階層的なツリー形式に従って、構造８４はテキストブロック８２を表している親ノードと、テキスト行１、テキスト行２とテキスト行３の各々を表す３つの子ノードを含む。
【００５７】
本実施形態において、ツリー構造８４の各ノードの前景情報が赤い前景色を示すものと仮定する。ステップＳ１２０１で、受信された色編集命令がテキスト行２の前景色を赤から黄色に変更することを要求している場合、ツリー構造８４は、ステップＳ１２０２において図１２Ｃの構造に変換される。図示されるように、ツリー構造８６は各々テキスト行１、テキスト行２またはテキスト行３の１つを表すノードの親となる３つのテキストブロックノードを含む。ツリー構造８６によって、ブロック８２は、３つの別々のテキストブロックとして扱われる。好ましくは、３つのテキスト行オブジェクトの前景色情報が再び互いに一致するためにステップＳ１２０１で編集される場合、ツリー構造８６はステップＳ１２０２でツリー構造８４へ戻される。
【００５８】
図１２Ｄは、ステップＳ１２０１で、ブロック８２のテキスト行３の前景色を黄色に変えるコマンドが受信された場合に、ステップＳ１２０２においてツリー構造８４から形成されるツリー構造８８を示す。図１２Ｃに関して述べたように、テキスト行１、テキスト行２及びテキスト行３の前景色がその後互いに一致するように編集される場合には、ツリー構造８８はツリー構造８４に戻される。さらに、ツリー構造８４のノード内部のいかなる分解された長方形も、ツリー構造８４からツリー構造８６またはツリー構造８８にへの変形に起因して再計算もしくは他のノードへの再割り当てを必要とするであろうことに留意する必要がある。
【００５９】
一般的なケースに戻って、ステップＳ１２０１で編集される特定のオブジェクトは、ステップＳ１２０４からステップＳ１２１０に従って描画される。この場合、分解された長方形は、ステップＳ１２０４で編集されたノードから選択される。次に、ステップＳ１２０６で、分解された長方形の前景色が決定される。
【００６０】
先に述べたように、前景色情報は、分解された長方形に特有で、編集されたノードに含まれても、親ノードに含まれていても良い。前景色はまた、ステップＳ１２０２で編集されてもよい。ステップＳ１２０７で、分解された長方形中の二値化画像データの黒ピクセル位置が識別される。そして、ステップＳ１２０８で、決定された前景色が識別された黒ピクセル位置に対応する描画バッファのピクセルに割り当てられる。ステップＳ１２１０で、分解された長方形がノード中にまだ存在するかどうか判定される。もしそうならば、ステップＳ１２０４に戻る。もしそうでなければ、処理は終了する。編集されたノードが分解された長方形を全く含まない場合、ステップＳ１２０４からステップＳ１２１０は編集されたノードだけに関して実行される点に留意する必要がある。また、図１２の描画は図６のステップＳ６０８からステップＳ６１２と同様に進行する点に注意すべきである。
【００６１】
図１３は、本発明に従って白領域の色を編集するための、コンピュータ実行可能なプロセスステップを示すフローチャートである。初めに、ステップＳ１３０１で、白領域のための色編集コマンドが受信される。次にステップＳ１３０２で、白領域に対応する白ノード中の色情報が、受信された色編集コマンドに従って編集される。特に、白領域の背景色は、ステップＳ１３０２で色編集コマンドに従って変更される。ステップＳ１３０４で、アウトラインペアと編集された色情報が、白ノードから取得される。図１３の説明を目的として、このようなアウトラインペアをメインアウトラインペアと呼ぶ。次に、ステップＳ１３０５で、存在する全ての子白ノードからアウトラインペアが取得される。本明細書において、これらのアウトラインペアは、２次アウトラインペアと呼ぶ。
【００６２】
次に、ステップＳ１３０７で、メインアウトラインペアと２次アウトラインペアの外にある二値化画像データの白ピクセルが識別される。そして、ステップＳ１３０８で、識別された白ピクセルに対応する描画バッファ中のピクセルは、編集された色情報に基いて色を割り当てられる。
【００６３】
図１４に、ページ４０とツリー構造５０の白ノード６５と６９に属しているいくつかのアウトラインペアの二値化画像を示す。図１４から分かるように、ノード６５で表される白領域の色を正しく編集するために、ノード６５のアウトラインペアの中で、かつノード６９のアウトラインペアの外のピクセルは、識別及び編集されなければならない。
【００６４】
図１５は、選択されたオブジェクトの背景色を編集するプロセスステップのフローチャートである。図１２に関して上述したように、図１５のステップによって処理される(contempleted）オブジェクトは、テキストブロック、テキスト行、ラインアートピクチャ、フレーム、線及び表を含む。この場合、選択されたオブジェクトの背景色編集コマンドは、ステップＳ１５０１で受信される。ステップＳ１５０２で、選択されたオブジェクトに対応するノード中の背景色情報は、受信されたコマンドに基づいて編集される。ステップＳ１２０２に関して説明したように、ステップＳ１５０２において、対応ノード中の全ての分解された長方形の背景色情報は、受信されたコマンドに基づいて編集されなければならない。また、図１２に関してより上述したように、選択されたオブジェクトがテキスト行の場合、ノードの編集は対応する階層的ツリー構造の変更原因となりうる。次に、ステップＳ１５０４で、分解された長方形がノードから得られ、そして、ステップＳ１５０５で、分解された長方形の背景色が決定される。
【００６５】
ステップＳ１５０６で、分解された長方形中の二値化画像データ白ピクセルの位置が識別される。そして、識別された白ピクセルに対応する領域を描画するピクセルは、ステップＳ１５０７において決定された背景色を割り当てられる。その後、ステップＳ１５０９で、分解された長方形がまだノード中に存在する場合、処理はステップＳ１５０４に戻る。もしそうでなければ、処理は終了する。ここで、ステップＳ１５０４からステップＳ１５０９までは、対象が分解された長方形の黒ピクセル及び選択されたオブジェクトの前景色ではなく、分解された長方形の白ピクセル及び選択されたオブジェクトの背景色であることを除けば、ステップＳ６０８からステップＳ６１２と同様に進行する点に留意する必要がある。
【００６６】
図１６は、文書画像において選択されたピクチャの背景色を編集するためのコンピュータ装置実行可能なプロセスステップを示す図である。処理は、選択されたピクチャの背景色の編集コマンドを受信するステップＳ１６０１から始まる。ステップＳ１６０２で、選択されたピクチャに対応するノードの背景色情報は受信したコマンドに基づき編集される。このような編集にはノード中の任意の分解された長方形の背景色情報の編集も含まれる。次に、ステップＳl６０４で、ノードの分解された長方形が得られる。分解された長方形の背景色及び、分解された長方形に対応するアウトラインペアがステップＳ１６O５で得られる。ステップＳ１６０６で、分解された長方形の領域中で、得られたアウトラインペアの外にある描画バッファ中のピクセルが背景色に割り当てられる。ステップＳ１６０８で、他に分解された長方形がノードの中に存在するかどうかはを判定する。もし存在するならば、処理はステップＳ１６０４へ戻る。もしそうでなければ、処理は終わる。
【００６７】
図１７は、ピクチャ４７の背景色を編集した後の描画バッファ８０を示す図である。新しい背景色はハッチングによって表され、そして、ステップＳ１６０４で得られた、ノードの分解された長方形は長方形９０によって示される。得られたアウトラインペアは、長方形９０中の点によって示される。図１６のステップＳ１６０６に従って、描画バッファ８０中の、長方形９０の領域内に含まれ、かつアウトラインペアの外側のピクセルがそれぞれ、ピクチャ４７の背景色を編集するために編集された背景色を割り当てられることは、図１７から明らかである。
【００６８】
図１８は、選択されたオブジェクトの背景パターンを変えるプロセスステップのフローチャートである。まず、図１２及び図１５に関して上述したタイプのオブジェクトがステップＳ１８０１で選択される。次に、ステップＳ１８０２で、選択されたオブジェクトのための背景パターンが選択される。ステップＳ１８０４で、選択されたオブジェクトに対応するノードが、選択された背景パターンを表すように編集される。ノードの編集は、好ましくはノード中の全ての分解された長方形もまた選択された背景パターンを表すような編集を含む。
【００６９】
ステップＳ１８０５で、対応する画像データブロックと等しい寸法を有する選択されたパターンがテンポラリバッファに生成される。
【００７０】
ステップＳ１８０６で、ノードの分解された長方形が得られる。次に、ステップＳ１８０８で、分解された長方形中の二値化画像データの白ピクセルに対応する、描画バッファのピクセルは、テンポラリバッファ中の対応した位置のピクセルの値を割り当てられる。ステップＳ１８０８について、以下さらに説明する。そして、ノード中にまだ分解された長方形が存在する場合、処理はステップＳ１８０９からステップＳ１８０６へ戻る。
もしそうでなければ、処理はステップＳ１８０９で終わる。
【００７１】
図１９は、図１８のいくつかのステップを示す。特に、図１９はテキスト領域４５が選択される、ページ４０の二値化画像データを示す。従って、テンポラリバッファ９５は、テキストブロック７７と等しい寸法で生成される。次に、分解された長方形７７ａの白ピクセルがステップＳ１８０８によって分析される。特に、二値化画像データの分解された長方形７７ａでの各白ピクセルのそれぞれについて、テンポラリバッファ９５中の対応する位置のピクセルが識別される。テンポラリバッファ９５中の、対応した位置のピクセル値は、二値化画像データにおいて識別された白ピクセルの位置に対応した位置の描画バッファ８０中のピクセルに割り当てられる。このプロセスは、分解された長方形７７ｂ及び７７ｃについても繰り返し行われる。その結果、背景パターンを、選択されたオブジェクトを不明瞭にしたり、変更することなく、選択されたオブジェクトに追加することができる。
【００７２】
他の実施形態においては、図１８のステップＳ１８０５は省略される。従って、ステップＳ１８０８で、描画バッファのピクセルに割り当てる値を決定するためにテンポラリバッファは使われない。その代わりに、二値化画像データの白ピクセルに対応する、描画バッファのピクセルに割り当てる値を計算するため、選択されたパターンはリアルタイムで分析される。
【００７３】
図２０は、本発明に係る中間調ピクチャの背景パターン編集のプロセスステップを示すフローチャートである。中間調ピクチャと背景パターンはステップＳ２００１とステップＳ２００２でそれぞれ選択される。ステップＳ２００４、Ｓ２００５及びＳ２００６は図１８のステップＳ１８０４、Ｓ１８０５及びＳ１８０６と同様に進行するため、その説明は省略する。次に、ステップＳ２００７で、分解された長方形のアウトラインペアはが得られる。
【００７４】
ステップＳ２００８で、分解された長方形に含まれ、かつ得られたアウトラインペアの外にある描画バッファ中のピクセルは、テンポラリバッファの対応した位置のピクセル値を割り当てられる。そして、ステップＳ２００９で、ノード中に分解された長方形がさらに存在するかどうかが判定される。もし存在するならば、処理はステップＳ２００６に戻る。もし存在しなければ、処理は終わる。
【００７５】
図２１は、中間調ピクチャ４７がステップＳ２００１で選択される場合に生成されるテンポラリバッファ１００を示す。図に示すように、テンポラリバッファ１００はピクチャ４７を含んでいるブロックと等しい寸法を有する。さらに、ステップＳ２００８に従って、ブロック中でピクチャノードから得られるアウトラインペアの外の各ピクセルは、テンポラリバッファ１００における、対応した位置のピクセル値を割り当てられる。
【００７６】
図２０のプロセスステップの他の実施形態においては、ステップＳ２００５が省略される。従って、この実施形態では、ステップＳ２００８で描画バッファのピクセルに割り当てる値を決定するためにテンポラリバッファを用いない。その代わりに、二値化画像データの白ピクセルに対応する、描画バッファのピクセルに割り当てる値を計算するため、選択されたパターンはリアルタイムで分析される。
【００７７】
図２２は、選択された白領域の背景パターンを編集するプロセスステップのフローチャートである。処理は、白領域が選択されるステップＳ２２０１から始まる。ステップＳ２２０２で、背景パターンがまた選択される。次に、ステップＳ２２０３で、選択された白領域に対応する画像データブロックのノードが、選択された背景パターンを表すために編集される。ステップＳ２２０５で、画像データブロックと等しい寸法を有するテンポラリバッファに、選択されたパターンが生成される。
【００７８】
ステップＳ２２０７とＳ２２０８で、図１３に関して説明したように、メインアウトラインペアと２次アウトラインペアがノードから得られる。最終的に、ステップＳ２２０９で、二値化画像データ中の白ピクセルのうち、ブロックの内部であって、白アウトラインペアの外側の白ピクセルに対応する描画バッファ中のピクセルが、テンポラリバッファの対応する位置のピクセル値を割り当てられる。
【００７９】
図２３は、図２２のプロセスステップを示す図である。特に、階層的ツリー構造５０のノード６５に対応している白領域はステップＳ２２０１で選択され、図１４に関連して上述したように、パターンがテンポラリバッファ１０５に生成される。図２３はまた、メインアウトラインペアと２次アウトラインペアを含むページ４０の二値化画像データを示す。ステップＳ２２０９で、二値化画像の、メインアウトラインペアの中で、かつ２次白アウトラインペアの外側にある白ピクセルが識別された後、描画バッファ８０において対応する位置を有するピクセルは、テンポラリバッファ１０５で対応する場所を有するピクセルの値を割り当てられる。
【００８０】
他の実施形態において、ステップＳ２２０５は省略される。従って、この実施形態では、ステップＳ２２０９で描画バッファのピクセルに割り当てる値を決定するためにテンポラリバッファを用いない。その代わりに、ステップＳ２２０９において、二値化画像の、メインアウトラインペアの中で、かつ２次白アウトラインペアの外側にある白ピクセルに対応する描画バッファ中のピクセルに割り当てる値を計算するため、選択された背景パターンはリアルタイムに分析される。
【００８１】
図２４Ａは、実線を点線パターンと交換する、コンピュータ実行可能なプロセスステップのフローチャートである。従って、ステップＳ２４０１で、実線が選択される。次に、ステップＳ２４０２で、点線パターンが選択される。選択された実線を含む画像データブロックのノードは、選択された点線パターンを示すためにステップＳ２４０４で編集される。そのような編集には、ノード中の分解された長方形の各々を、選択された点線パターンを示すために編集することを含む。
【００８２】
次に、ステップＳ２４０５で、選択された水平（垂直）実線と等しい幅（長さ）を有するピクセルの線形バッファが、選択されたパターンを反映するために割り当てられる。
【００８３】
図２５に、ステップＳ２４０５で割り当てられる線形バッファ１１０を示す。図２５に示されるように、実線４３はページ４０の二値化画像データから選択されている。従って、実線４３の各黒ピクセルごとに、バッファ１１０の対応する位置のピクセルが調べられる。バッファ１１０の対応する位置のピクセルが黒ピクセルならば、描画バッファ８０中の、同様に対応する位置のピクセルは決定された前景色を割り当てられる。他方、対応する位置のピクセルが白ピクセルならば、描画バッファ８０中の、同様に対応する位置のピクセルは背景色を割り当てられる。
【００８４】
その結果、実線のスタイルは、関連している前景と背景色の配合を変えることなく編集することができる。
【００８５】
図２４Aプロセスステップに戻って、ステップＳ２４０６で、編集されたノードの背景情報が背景パターンを示す場合処理は図２４BのステップＳ２４１４へ進む。ステップＳ２４１４で、ノードの分解された長方形が得られる。次に、ステップＳ２４１５で、編集されたノードで示される背景パターンが、選択された実線を含む画像データブロックと等しい寸法を有するテンポラリバッファに生成される。
【００８６】
ステップＳ２４１６で、得られた分解された長方形の前景色が決定される。それから、ステップＳ２４１８で、保存された二値化画像データは、分解された長方形中の黒ピクセルの位置を確認するために調べられる。ステップＳ２４１９で、描画バッファのピクセルに適切な値が割り当てられる。
【００８７】
特に、線形バッファの対応する位置のピクセルが黒い場合には、描画バッファ中の、検出された黒ピクセル位置のピクセルに、決定された前景色が割り当てられる。線形バッファの、対応する位置にある白ピクセルについては、描画バッファ中の黒ピクセル位置にあるピクセルが、背景パターンテンポラリバッファの対応する位置のピクセルと同じ値を割り当てられる。分解された長方形がまだノードの中に存在するならば、処理はステップＳ２４１４に戻る。もしそうでなければ、処理は終了する。
【００８８】
ステップＳ２４０５とＳ２４１５の線形および／またはテンポラリバッファの生成は必ずしも必要でない点に留意すべきである。
【００８９】
その代わりに、ステップＳ２４１１及びＳ２４１９についての上で述べた説明から明らかな、望ましい結果に基づく適切なピクセル値割当てを計算することによって、ステップＳ２４１１及びＳ２４１９をリアルタイムに実行することができる。
【００９０】
図２６は、画像データのページ中のピクチャオブジェクトを削除するコンピュータ装置実行可能なプロセスステップを示すフローチャートである。初めに、ステップＳ２６０１で、ピクチャオブジェクトを削除するコマンドが受信される。ステップＳ２６０２で、オブジェクトに対応しているノードは、「削除された」とマークされる。次に、ステップＳ２６０４で、ノードの背景がカラーかパターンかどうかが判定される。カラーならば、ステップＳ２６０５に移行し、そのノードの分解された長方形が得られる。ステップＳ２６０６で、分解された長方形の背景色は、先に述べたように決定される。次に、ステップＳ２６０８で、分解された長方形中のアウトラインペアデータが識別される。そのアウトラインペアはピクチャオブジェクトのためのデータの場所を示している。ステップＳ２６０９で、描画バッファ中の、アウトラインペア中の識別されたピクセル位置に対応する位置のピクセルは、決定された背景色を割り当てられる。ステップＳ２６１０で、ノードの中に分解された長方形がまだ存在するかどうかが判定されれば、処理はステップＳ２６０５に戻る。一方、分解された長方形がなければ、処理は終了する。
【００９１】
図２７は、図２６で説明された様なピクチャオブジェクトの削除ステップを示す図である。図示されるように、ページ４０のピクチャ４７の背景は色のついた背景である。従って、ページ４０の二値化画像中の、ピクチャ４７に対応するアウトラインペアに含まれるピクセルのそれぞれに対し、描画バッファ８０の対応しているピクセルが背景色を割り当てられる。描画バッファの処理結果もまた図２７に示す。
【００９２】
ステップＳ２６０４で、選択されたピクチャオブジェクトの背景がパターンであると判定された場合、処理は図２８のステップＳ２８０１へ進む。
【００９３】
ステップＳ２８０１で、背景パターンが、選択されたピクチャオブジェクトに対応するノードから得られる。次に、ステップＳ２８０２で、ノードで表されるブロックの大きさと同じ大きさを有するテンポラリバッファにパターンが生成される。ブロックの分解された長方形がステップＳ２８０４で得られ、そして、その分解された長方形中にあるアウトラインペアがステップＳ２８０５で識別される。
【００９４】
その後は、ステップＳ２８０７で、アウトラインペア中のピクセル位置に対応する描画バッファのピクセルが、同じピクセル位置に対応するテンポラリバッファのピクセルの値を割り当てられる。ノードにまだ分解された長方形がノードが存在するならば、処理はステップＳ２８０８からステップＳ２８０４へ移行する。一方、分解された長方形がもうなければ、処理はステップＳ２８０８の後終了する。
【００９５】
図２８の他の実施形態では、ステップＳ２８０２は省略される。従って、この実施形態では、ステップＳ２８０７で描画バッファのピクセルに割り当てる値を決定するためにテンポラリバッファを用いない。その代わりに、ステップＳ２８０７において、アウトラインペアに含まれる描画バッファ中のピクセルに割り当てる値を計算するため、選択された背景パターンはリアルタイムに分析される。
【００９６】
図２９は、図２８のプロセスステップを実行する前の描画バッファ８０を示す図である。図２８の処理ステップに従って、ピクチャ４７を含んでいるブロックに対応するようにバッファ１１５が生成される。図に示すように、バッファ１１５はピクチャ４７の背景パターンで満たされる。図２９の右側には、先に述べたステップＳ２８０７実行後の描画バッファ８０を示す。
【００９７】
図３０は、画像データのページ中の非ピクチャオブジェクトを削除するコンピュータ装置実行可能なプロセスステップのフローチャートである。初めに、非ピクチャオブジェクト（例えばテキスト、行、行-技術、フレームまたは表オブジェクト）を削除するためにステップＳ３００１で受信される。
【００９８】
ステップＳ３００２で、オブジェクトに対応しているノードは、「削除された」とマークされる。次に、ステップＳ３００４で、ノードの背景情報がカラーかパターンのどちらを示すが判定される。カラーならば、処理はステップＳ３００５まで進み、ノードの分解された長方形が得られる。ステップＳ３００６で、分解された長方形の背景色が、先に述べたように決定される。
【００９９】
次に、ステップＳ３００８で、分解された長方形中の二値化画像データの黒ピクセル位置が識別される。ステップＳ３００９で、識別された黒ピクセルの位置に対応する位置の、描画バッファ中のピクセルは、決定された背景色を割り当てられる。ステップＳ３０１０でノードの中にまだ分解された長方形があると判定された場合には、処理はステップＳ３００５に戻る。一方、分解された長方形がもうなければ、処理は終了する。
【０１００】
しかし、ステップＳ３００４で、選択されたオブジェクトの背景がパターンであると判定された場合には、処理は図３１のステップＳ３１０１へ進む。ステップＳ３１０１で、選択されたオブジェクトに対応しているノードから選択パターンが得られる。次に、ステップＳ３１０２で、ノードで表されるブロックと等しい大きさを有するテンポラリバッファにパターンが生成される。ノードの分解された長方形がステップＳ３１０４で得られ、その分解された長方形中の二値化画像データの黒ピクセル位置がステップＳ３１０５で識別される。
【０１０１】
その後、ステップＳ３１０７で、黒ピクセル場所に対応する描画バッファのピクセルは、同じ黒いピクセル場所に対応するテンポラリバッファのピクセルの値を割り当てられる。分解された長方形がまだあると判定された場合には、処理はステップＳ３１０８からステップＳ３１０４へ進む。一方、分解された長方形がもうなければ、ステップＳ３１０８の後、処理は終了する。
【０１０２】
図３１の他の実施形態において、ステップＳ３１０２は省略される。従って、この実施形態では、ステップＳ３１０７で描画バッファのピクセルに割り当てる値を決定するためにテンポラリバッファを用いない。その代わりに、ステップＳ３１０７において、二値化画像データに含まれる黒ピクセル位置に対応する描画バッファ中のピクセルに割り当てる値を計算するため、背景パターンはリアルタイムに分析される。
【０１０３】
図３２は、本発明に従って画像を処理するためのコンピュータ実行可能プロセスステップのフローチャートである。処理は、選択されたピクチャの上で画像処理機能を実行するためのコマンドが受信されるステップＳ３２０１から始まる。これに応答して、ステップＳ３２０２で、ピクチャに対応するノードからピクセルデータとアウトラインペアが得られる。次に、ステップＳ３２０４で、アウトラインペア中に位置するピクセルデータが集められる。従って、集められたピクセルは、ピクチャの前景及び背景ピクセルの両方と言うよりは前景ピクチャから構成される。ステップＳ３２０５で、選択された処理が集められたデータに対して実行される。最後に、ステップＳ３２０６で、処理されたピクセルは、処理されたピクセルでピクチャの前景領域を再び満たすように、得られたアウトラインペアに従って描画バッファにマッピングされる。
【０１０４】
図３３は、本発明に従って文書画像の特定領域を編集するためのコンピュータ実行可能プロセスステップのフローチャートである。まず、ステップＳ３３０１で、文書画像の指定矩形領域が受信される。文書画像の、矩形領域と重なる全てのブロックがステップＳ３３０２で決定される。決定されたブロックに基づいて、全ての利用できる編集機能が、ステップＳ３３０４でユーザに示される。
【０１０５】
さらに、ステップＳ３３０５で、ページの全体に実行可能な全ての機能が示される。そして、編集コマンドがステップＳ３３０６で受信され、ステップＳ３３０７において、受信したコマンドに従った編集が実行される。
【０１０６】
図３４は、本発明に従った編集を示す図である。ピクチャ領域１２０とテキスト領域１２５が、ピクチャ１２０を表す、分解された長方形でである長方形１３０と１３１とともに示されている。ここで、長方形１３０と１３１はユーザには不可視であり、説明のために図３２に示している。
【０１０７】
周囲のテキスト領域１２５は、ポインティングデバイス６、キーボード５または他の手段によってユーザが指定した長方形１４０である。従って、長方形１４０はユーザに見える。先に述べたように、長方形１４０は編集される特定の領域を示すために指定される。本実施形態においては、ステップＳ３３０１で長方形１４０が受信されてから、ステップＳ３３０６で背景色を編集するコマンドが受信されるものとする。
【０１０８】
図示されるように、長方形１４０はテキスト領域１２５だけでなく、ピクチャ１２０と重なっている。従って、領域１２５を表すノードの中の背景色情報はステップＳ３３０７で編集され、ピクチャ１２０を表すノード中の情報もまた編集される。しかし、長方形１４０が部分的にピクチャ１２０に重なるので、重複を処理するために分解された長方形１３０及び１３１がさらに必要である。
【０１０９】
図３５は、ステップＳ３３０７の後の、ピクチャ１２０に対応している分解された長方形を示す。ここで、長方形１３１はそれぞれ２-１,２-２,２-３で示される長方形１４５、１４６と１４７に分解されている。長方形１４５と１４６に対応する背景色情報は、受信した編集コマンドによって変化しない。
【０１１０】
しかし、長方形１４７に対応している背景色情報は、受信した編集コマンドに従っている。その結果、前述のオブジェクトを描画した後に、テキスト領域１２５と長方形１４７の背景色は、編集コマンドを反映する。
【０１１１】
ここで、名称２-１,２-２と２-３が、対応する階層的ツリー構造で維持される点に留意する必要がある。この機能によって、これらの分解された長方形は、個々の属性を再び同一のものとするための将来的な編集において、１つの長方形１３１に再結合することが可能である。
【０１１２】
本発明を現在好ましいと考えられる実施形態に関して説明したが、本発明は上述した説明に限定されないことは理解されよう。逆に、本発明は以下の請求範囲の精神及び範囲に含まれる種々の変更や等価構成を含むことを意図している。
【図面の簡単な説明】
【図１】本発明によるカラー編集システムの実施形態である計算装置の外観を示す図である。
【図２】図１に示した計算装置の内部構成を図示しているブロック図である。
【図３】カラー文書の二値化画像データを示す図である。
【図４】本発明で用いるカラー文書の階層的ツリー構造の代表的な図である。
【図５】カラー文書の「ブロック化された("blocked")」画像データの代表的な図である。
【図６】本発明に係る、カラー画像データを描画するコンピュータ実行可能プロセスステップのフローチャートである。
【図７】図６におけるプロセスステップのいくつかを示す図である。
【図８】本発明に係る、カラー画像データを描画するコンピュータ実行可能プロセスステップのフローチャートである。
【図９】図８におけるプロセスステップを示す図である。
【図１０】本発明に係る、カラー画像データを描画するコンピュータ実行可能プロセスステップのフローチャートである。
【図１１】図１０におけるプロセスステップを示す図である。
【図１２】本発明に係る、カラー画像データを編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図１２Ａ】本発明に係るテキスト行オブジェクトの編集を示す図である。
【図１２Ｂ】本発明に係るテキスト行オブジェクトの編集を示す図である。
【図１２Ｃ】本発明に係るテキスト行オブジェクトの編集を示す図である。
【図１２Ｄ】本発明に係るテキスト行オブジェクトの編集を示す図である。
【図１３】本発明に係る、カラー画像データを編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図１４】図１３におけるプロセスステップのいくつかを示している図である。
【図１５】本発明に係る、背景カラーデータを編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図１６】本発明に係る、背景カラーデータを編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図１７】図１６におけるプロセスステップのいくつかを示している図である。
【図１８】本発明に係る、背景パターンを編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図１９】図１８プロセスステップのいくつかを示している図である。
【図２０】本発明に係る背景パターンを編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図２１】図２０におけるプロセスステップのいくつかを示している図である。
【図２２】本発明に係る、背景パターンを編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図２３】図２２におけるプロセスステップのいくつかを示している図である。
【図２４】図２４Ａ及び図２４Ｂの関係を示す図である。
【図２４Ａ】本発明に係る、実線を編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図２４Ｂ】本発明に係る、実線を編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図２５】図２４におけるプロセスステップのいくつかを示している図である。
【図２６】本発明に係る、ピクチャオブジェクトを削除するコンピュータ実行可能プロセスステップのフローチャートである。
【図２７】図２６におけるプロセスステップのいくつかを示している図である。
【図２８】本発明に係る、ピクチャオブジェクトを削除するコンピュータ実行可能プロセスステップのフローチャートである。
【図２９】図２８におけるプロセスステップのいくつかを示している図である。
【図３０】本発明に係る、非ピクチャオブジェクトを削除するコンピュータ実行可能プロセスステップのフローチャートである。
【図３１】本発明に係る、非ピクチャオブジェクトを削除するコンピュータ実行可能プロセスステップのフローチャートである。
【図３２】本発明において、ピクチャに対する画像処理を実行するためのコンピュータ実行可能プロセスステップのフローチャートである。
【図３３】本発明に係る、カラー文書を編集するコンピュータ実行可能プロセスステップのフローチャートである。
【図３４】本発明における領域編集を示す図である。
【図３５】本発明における領域編集に基づく長方形分解を示す図である。
【図１】
0003990855.tif 000003
【図２】
0003990855.tif 000004
【図３】
0003990855.tif 000005
【図４】
0003990855.tif 000006
【図５】
0003990855.tif 000007
【図６】
0003990855.tif 000008
【図７】
0003990855.tif 000009
【図８】
0003990855.tif 000010
【図９】
0003990855.tif 000011
【図１０】
0003990855.tif 000012
【図１１】
0003990855.tif 000013
【図１２】
0003990855.tif 000014
【図１２Ａ】
0003990855.tif 000015
【図１２Ｂ】
0003990855.tif 000016
【図１２Ｃ】
0003990855.tif 000017
【図１２Ｄ】
0003990855.tif 000018
【図１３】
0003990855.tif 000019
【図１４】
0003990855.tif 000020
【図１５】
0003990855.tif 000021
【図１６】
0003990855.tif 000022
【図１７】
0003990855.tif 000023
【図１８】
0003990855.tif 000024
【図１９】
0003990855.tif 000025
【図２０】
0003990855.tif 000026
【図２１】
0003990855.tif 000027
【図２２】
0003990855.tif 000028
【図２３】
0003990855.tif 000029
【図２４】
0003990855.tif 000030
【図２４Ａ】
0003990855.tif 000031
【図２４Ｂ】
0003990855.tif 000032
【図２５】
0003990855.tif 000033
【図２６】
0003990855.tif 000034
【図２７】
0003990855.tif 000035
【図２８】
0003990855.tif 000036
【図２９】
0003990855.tif 000037
【図３０】
0003990855.tif 000038
【図３１】
0003990855.tif 000039
【図３２】
0003990855.tif 000040
【図３３】
0003990855.tif 000041
【図３４】
0003990855.tif 000042
【図３５】
0003990855.tif 000043