(57)【特許請求の範囲】
【請求項１】
入力画像から編集が可能な電子データを生成する画像処理装置であって、
表を含む画像を前記入力画像として入力する入力手段と、
前記入力画像を構成する画素において画素値が近似する複数の画素塊を抽出し、当該複数の画素塊間の包含関係を解析する画素塊解析手段と、
前記複数の画素塊が構成する領域を、文字領域、表領域、およびそれ以外の領域のうちの少なくともいずれかとして識別する識別手段と、
前記画素塊解析手段にて解析した画素塊間の包含関係と、前記識別手段にて識別した画素塊の領域とに従って、領域間の包含関係を示すツリー構造のデータを生成する第一の生成手段と、
前記表領域として識別された画素塊に対して、表の行列構造を解析する表構造解析手段と、
前記表の行列構造を構成するセル要素それぞれの情報を生成し、前記ツリー構造のデータにおける表領域に関連付ける関連付け手段と、
前記セル要素それぞれに対し、前記識別手段にて識別した領域のうち、当該セル要素の内容に相当する領域へのリンク情報を設定する設定手段と、
前記ツリー構造のデータから、前記電子データを定義する記述を生成する第二の生成手段と、
前記表領域を、表形式にて出力するか否かの指定を受け付ける指定手段と
を備え、
前記第二の生成手段は、前記表領域を表形式で出力する場合には、当該表領域に関連付けられたセル要素の情報と前記リンク情報とに従って前記電子データにおける当該表領域の記述を生成し、当該表領域を表形式で出力しない場合には、前記ツリー構造に従って前記電子データにおける前記表領域の記述を生成することを特徴とする画像処理装置。
【請求項２】
前記画素塊解析手段が画素塊を抽出する入力画像を構成する画素値は、３種類以上の値のうちのいずれかから設定されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記文字領域の画素塊から文字を認識し、文字データを生成する文字認識手段を更に有し、
前記第二の生成手段は、前記文字データを用いて前記電子データにおける当該文字領域の記述を生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記ツリー構造を構成する各領域のデータとして、ベクトルデータもしくは前記入力画像から切り出した画像データで表現されるグラフィックスデータを生成するグラフィックスデータ生成手段を更に有し、
前記第二の生成手段は、前記グラフィックスデータを用いて前記電子データにおける記述を生成することを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記第二の生成手段は、ひとつの入力画像に対応する前記ツリー構造のデータおよび領域のデータから、複数種類の電子データを定義する記述を生成し、
前記複数種類の電子データは、表形式にて定義された表領域の記述を含む電子データ、および表形式にて定義されていない表領域の記述を含む電子データであることを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記指定手段は、前記入力画像に含まれる表領域ごとに、表形式で出力するか否かの指定を受け付けることを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
入力画像から編集が可能な電子データを生成する画像処理方法であって、
入力手段が、表を含む画像を前記入力画像として入力する入力工程と、
画素塊解析手段が、前記入力画像を構成する画素において画素値が近似する複数の画素塊を抽出し、当該複数の画素塊間の包含関係を解析する画素塊解析工程と、
識別手段が、前記複数の画素塊が構成する領域を、文字領域、表領域、およびそれ以外の領域のうちの少なくともいずれかとして識別する識別工程と、
第一の生成手段が、前記画素塊解析工程にて解析した画素塊間の包含関係と、前記識別工程にて識別した画素塊の領域とに従って、領域間の包含関係を示すツリー構造のデータを生成する第一の生成工程と、
表構造解析手段が、前記表領域として識別された画素塊に対して、表の行列構造を解析する表構造解析工程と、
関連付け手段が、前記表の行列構造を構成するセル要素それぞれの情報を生成し、前記ツリー構造のデータにおける表領域に関連付ける関連付け工程と、
設定手段が、前記セル要素それぞれに対し、前記識別工程にて識別した領域のうち、当該セル要素の内容に相当する領域へのリンク情報を設定する設定工程と、
第二の生成手段が、前記ツリー構造のデータから、前記電子データを定義する記述を生成する第二の生成工程と、
指定手段が、前記表領域を、表形式にて出力するか否かの指定を受け付ける指定工程と
を有し、
前記第二の生成工程において、前記表領域を表形式で出力する場合には、当該表領域に関連付けられたセル要素の情報と前記リンク情報とに従って前記電子データにおける当該表領域の記述を生成し、当該表領域を表形式で出力しない場合には、前記ツリー構造に従って前記電子データにおける前記表領域の記述を生成することを特徴とする画像処理方法。
【請求項８】
コンピュータを、
表を含む画像を入力画像として入力する入力手段、
前記入力画像を構成する画素において画素値が近似する複数の画素塊を抽出し、当該複数の画素塊間の包含関係を解析する画素塊解析手段、
前記複数の画素塊が構成する領域を、文字領域、表領域、およびそれ以外の領域のうちの少なくともいずれかとして識別する識別手段、
前記画素塊解析手段にて解析した画素塊間の包含関係と、前記識別手段にて識別した画素塊の領域とに従って、領域間の包含関係を示すツリー構造のデータを生成する第一の生成手段、
前記表領域として識別された画素塊に対して、表の行列構造を解析する表構造解析手段、
前記表の行列構造を構成するセル要素それぞれの情報を生成し、前記ツリー構造のデータにおける表領域に関連付ける関連付け手段、
前記セル要素それぞれに対し、前記識別手段にて識別した領域のうち、当該セル要素の内容に相当する領域へのリンク情報を設定する設定手段、
前記ツリー構造のデータから、電子データを定義する記述を生成する第二の生成手段、
前記表領域を、表形式にて出力するか否かの指定を受け付ける指定手段
として機能させ、
前記第二の生成手段は、前記表領域を表形式で出力する場合には、当該表領域に関連付けられたセル要素の情報と前記リンク情報とに従って前記電子データにおける当該表領域の記述を生成し、当該表領域を表形式で出力しない場合には、前記ツリー構造に従って前記電子データにおける前記表領域の記述を生成するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、紙文書、または文書の画像データから編集可能な電子文書データを生成する画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、文書を作成する際、フォントに装飾を凝らしたり、図を自由に作成したり、あるいは写真等を取り込んだりといった、高度な機能が用いられるようになっている。しかし、作成物の内容が高度になるにつれて、文書をまったく新規から作成するには大きな労力が必要とされる。よって、過去に作成した文書の一部をそのまま、あるいは加工編集したものを再利用できるようにすることが望まれている。
【０００３】
一方、電子文書が紙に印刷された状態で配布されることも多い。そのように紙文書しか手元に存在しない場合でも、その内容を紙から再利用可能なデータとして得られるようにするための技術が開示されている。例えば、特許文献１では、紙の文書を装置に電子的に読み込ませた際に、その内容と一致する文書をデータベースから検索して取得し、読み込んだ紙面のデータの代わりに利用できることが開示されている。また、同一の文書がデータベースから特定できなかった場合は、読み込んだ文書の画像を再利用が容易な電子データへと変換するため、この場合も文書の内容を再利用することができる。
【０００４】
従来、文書画像中の文字情報を再利用が容易な電子データへと変換する技術として、ＯＣＲ技術がある。また、線や面で構成される図画情報を再利用が容易な電子データへと変換する技術として、ベクトル化の技術がある。例えば、特許文献１では、上記技術を用いて文書画像中の文字を文字コードにし、図形の輪郭をベクトルデータにすることで、再利用可能なデータへと変換する技術が開示されている。
【０００５】
特許文献１では更に、文書画像中の文字、線画、自然画、表などの領域を識別し、各領域の関係をツリー構造で表現するデータを構築する技術を開示している。そして、同構造に従って上記文字コードやベクトルデータ、画像データ等を配置することで、アプリケーションで編集可能な電子文書ページへの変換を行う。この電子データは、元文書と同等のレイアウトを持ち、文書作成アプリケーション等で新規作成した電子文書ページと同様、文字や図形の位置やサイズの変更、さらに幾何学的な変形や色付けなどを容易に行うことができる。
【０００６】
また、文書画像中の表形式領域の構造を認識する技術がある。例えば、特許文献２には、表内の矩形枠領域によって構成される行列構造を取得する技術が開示されている。この技術によって得られる枠領域の行構造と、上記技術による枠内文字のＯＣＲ結果とを組み合わせることで、文書画像中の表領域を、表構造を持つ電子データへと変換することが可能である。
【０００７】
図２２（ａ）は文書画像の例である。また、図２２（ｂ）は特許文献１などの技術を用いて文書画像中の領域を識別し、その包含関係をツリー構造（領域ツリー）で表現したものである。図２２（ｂ）の領域２２１０はページ全体、領域２２１１〜２２１９はページ内の各領域に対応する。ここで表領域２２１４以下の領域は、表の中に枠領域（白領域）２２１５〜２２１７があり、更にその枠領域の中に文字領域２２１８、２２１９があるという階層構造を成している。図２２（ｂ）は加えて、特許文献２などの技術を用いた表解析により得られた、表の行列構造情報を含んでいる。それらは、表領域２２１４に付与された２行２列という行列の大きさの情報と、枠領域２２１５〜２２１７に付与されている行列上での論理座標値として与えられている。かように組み合わされた同データは、表構造を持った電子文書ページに変換され、表編集可能なアプリケーションによって編集することが可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４２５１６２９号明細書
【特許文献２】特開平１−１２９３５８号公報
【特許文献３】米国特許出願公開第２００８／０１２３９４５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来技術には、カラーの文書画像を再利用が容易な電子データに変換する場合に課題がある。例えば、特許文献１では、二値画像より得た画素塊を利用して領域を識別している。また、特許文献２は二値画像を入力として表枠の情報を抽出している。すなわち、カラー文書画像を入力とする場合には、二値化処理を一旦施す必要があった。しかし、二値化処理によって元のカラー画像の情報が失われてしまう場合がある。例えば、図２０（ａ）に示される表領域は、白地にグレーの文字を含む枠領域２００１と、グレー地に黒の文字を含む枠領域２００２を含んでいる。この文字と下地のグレーの輝度値が両方とも等しい場合、どのような輝度を閾値として二値化しても、図２０（ｂ）、または図２０（ｃ）のように文字の情報が失われてしまう場合がある。
【００１０】
このような問題に対応するため、特許文献３では、文字等の情報が失われないように、カラー画像を二値以上の画素値を持つことができる画像に減色してから、同色となった画素塊を抽出して領域を識別している。この技術によれば、図２０（ａ）の枠領域２００１内の白下地部分とグレー文字、枠領域２００２内のグレー下地と黒文字をすべて識別することが可能である。しかし、二値以上の画素値を持つ画像より抽出した画素塊は、二値画像から抽出した画素塊よりも複雑な構造を取りうる。例えば、図２１（ａ）は、部分的に色の異なる罫線や、枠領域内で背景色の変化がある表領域の画像例である。この画像を適切に減色して抽出した画素塊間の関係は、図２１（ｂ）のツリー構造で表わされる。図２１（ａ）の右下の枠領域内部からは、色の異なる２つの背景色に対応する画素塊２１０６、２１０８と、文字の画素塊２１０７が抽出されている。しかし、これらの画素塊の間には、他の枠領域の背景色画素塊２１０２と文字画素塊２１０９のような包含関係はなく、ツリー上の同階層に配置される。
【００１１】
そして、図２１（ｂ）のように複雑な構造ツリー構造のデータに対し、前述の表構造解析処理により得られた行列構造の情報を付与することは困難となる。具体的には、行列の論理座標を付与すべき枠領域の背景画素塊の位置が階層構造上一定で無い場合や、そもそも枠領域に１対１対応する画素塊が存在しない場合がある。その結果、同データを元に表編集可能な電子文書ページに変換しようとする際に、行列構造との関連付けが得られない場合や、あるいは行列構造へのアクセス方法が複雑になるという課題があった。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本願発明は以下の構成を有する。すなわち、入力画像から編集が可能な電子データを生成する画像処理装置であって、表を含む画像を前記入力画像として入力する入力手段と、前記入力画像を構成する画素において画素値が近似する複数の画素塊を抽出し、当該複数の画素塊間の包含関係を解析する画素塊解析手段と、前記複数の画素塊が構成する領域を、文字領域、表領域、およびそれ以外の領域のうちの少なくともいずれかとして識別する識別手段と、前記画素塊解析手段にて解析した画素塊間の包含関係と、前記識別手段にて識別した画素塊の領域とに従って、領域間の包含関係を示すツリー構造のデータを生成する生成手段と、前記表領域として識別された画素塊に対して、表の行列構造を解析する表構造解析手段と、前記表の行列構造を構成するセル要素それぞれの情報を生成し、前記ツリー構造のデータにおける表領域に関連付ける関連付け手段と、前記セル要素それぞれに対し、前記識別手段にて識別した領域のうち、当該セル要素の内容に相当する領域へのリンク情報を設定する設定手段と、前記ツリー構造のデータから、前記電子データを定義する記述を生成する第二の生成手段と、前記表領域を、表形式にて出力するか否かの指定を受け付ける指定手段とを備え、前記第二の生成手段は、前記表領域を表形式で出力する場合には、当該表領域に関連付けられたセル要素の情報と前記リンク情報とに従って前記電子データにおける当該表領域の記述を生成し、当該表領域を表形式で出力しない場合には、前記ツリー構造に従って前記電子データにおける前記表領域の記述を生成する。
【発明の効果】
【００１３】
本発明によれば、出力される電子文書に、セル構造を持った表形式のオブジェクトを含めることを可能にし、効率良く電子文書のオブジェクト記述を生成することができる。
【図面の簡単な説明】
【００１４】
【図１】システム構成の一例を示す図。
【図２】各部位の処理によるデータの変化を示すブロック図。
【図３】画素塊解析部における処理を示すフローチャート。
【図４】ラベリング処理を示すフローチャート。
【図５】ラベリング処理の例を示す図。
【図６】画素塊解析部による処理結果の例を示す図。
【図７】レイアウト解析部における処理を示すフローチャート。
【図８】グラフィックスデータ生成部における処理を示すフローチャート。
【図９】レイアウト解析処理部における処理結果の例を示す図。
【図１０】文字認識部における処理を示すフローチャート。
【図１１】文字認識部が出力する文字データの実例を示す図。
【図１２】グラフィックスデータ生成部における処理の実例を示す図。
【図１３】電子文書記述生成部における処理を示すフローチャート。
【図１４】Ｓ１３０５の処理内容を示すフローチャート。
【図１５】レイアウト解析部における表内セル構造の解析処理の一例を示す図。
【図１６】領域種別毎の出力対象を定義するテーブルの例を示す図。
【図１７】電子文書の出力例を示す図。
【図１８】電子文書のＰＣにおける表示例を示す図。
【図１９】第二実施形態に係るＳ１３０５の処理内容を説明するフローチャート。
【図２０】従来のカラーの表画像の二値化処理結果を示す例を示す図。
【図２１】従来の画素塊へと分割しツリー構造を構築した例を示す図。
【図２２】従来の二値の文書画像から領域のツリー構造を構築した例を示す図。
【発明を実施するための形態】
【００１５】
＜第一実施形態＞
［システム構成］
以下、本発明を実施するための最良の形態について図面を用いて説明する。図１は本発明に係る画像処理装置を用いたシステム構成の一例を示す図である。画像処理装置１００は、スキャナ１０１、ＣＰＵ１０２、メモリ１０３、ハードディスク１０４、およびネットワークＩ／Ｆ１０５を含む。スキャナ１０１は、読みとった文書の紙面情報を画像データに変換する。ＣＰＵ１０２は、画像データに電子文書生成処理を施すためのプログラムを実行する。メモリ１０３は、該プログラムを実行する際のワークメモリやデータの一時保存などに利用される。ハードディスク１０４は、該プログラムやデータを格納する。ネットワークＩ／Ｆ１０５は、外部装置とデータの入出力を行う。画像処理装置１００は、ネットワークＩ／Ｆ１０５を介してＬＡＮやインターネットなどの有線または無線のネットワーク１１０に接続にされている。このネットワーク１１０には更に汎用のパーソナルコンピュータ（ＰＣ）１２０が接続されており、ＰＣ１２０は、画像処理装置１００から送信されたデータを受信し、同コンピュータ上にて表示・編集などに利用することが可能である。
【００１６】
［電子文書生成処理の構成］
図２は、本発明に係る画像処理装置のＣＰＵ１０２で実施される電子文書生成処理の構成を示すブロック図である。更に、電子文書生成処理の中で、生成される各種データが示されている。図２の入力画像２００および出力電子文書２１０はそれぞれ電子文書生成処理の入力データおよび出力データである。この入力画像２００を出力電子文書２１０として出力するまでの処理の流れと、処理を行う各処理部についての概要を説明する。また、各処理部の詳細な処理内容はその後で説明する。
【００１７】
入力画像２００は、図２の電子文書生成処理の対象となる画像データである。例えば図１に示す画像処理装置１００では、スキャナ１０１により読み取られた紙文書の内容が、光電変換により電子的画素情報に変換された文書画像データである。もしくは、ネットワークＩ／Ｆ１０５を通して外部から供給された画像データ、画像処理装置１００内で生成された画像データであってもよい。入力画像２００は、具体的にはメモリ１０３もしくはハードディスク１０４に格納された状態で、以降の処理ブロックへと入力される。
【００１８】
出力電子文書２１０は、電子文書生成処理の結果として出力される電子データである。この出力電子文書２１０は、入力画像２００の内容を、利用者がパーソナルコンピュータのアプリケーション上で表示・編集が可能となる形式で表現したものである。またこの出力電子文書２１０内では、入力画像２００に含まれている文字や図形、写真等の内容に応じて、それらの内容を種別毎に適切なデータ形式で表現することを特徴とする。その目的は、表示・保存・検索・編集・再利用等の異なる用途の各々に最適な電子文書を出力可能とするためである。それぞれのデータ形式および電子文書形式の具体例については後述する。
【００１９】
画素塊解析部２０１は、入力画像２００の画素内容（画素情報）を解析し、同色とみなされる連結画素のグループ化を行い、連結画素塊を形成する。そして、画素塊解析部２０１は、形成した連結画素塊の画素形状、および相対的な位置関係を含む画素塊データ２０６を生成する。
【００２０】
レイアウト解析部２０２は、画素塊解析部２０１にて生成された画素塊データ２０６を入力として、各画素塊を文字と非文字に分類し、かつグループ化を行う。これにより、レイアウト解析部２０２は、入力画像２００内に存在する領域を特定する。ここで特定される領域の種別としては、文字領域、線画領域、自然画領域、表領域などがある。そして、レイアウト解析部２０２は、それら特定された各領域の種類、座標と相対関係、および領域に含まれる画素塊の情報を含む領域データ２０７を生成する。
【００２１】
グラフィックスデータ生成部２０３は、領域データ２０７、画素塊データ２０６、および入力画像２００を入力とし、出力電子文書２１０内で各領域の内容に相当するグラフィックスデータ２０８を生成する。グラフィックスデータ２０８は、後述の電子文書記述生成部２０５において、各領域に対応するグラフィックスオブジェクト記述の生成に用いられる。具体的には、例えば、グラフィックスデータ生成部２０３は、領域データ２０７の中から写真の領域を特定し、入力画像２００中の同領域の画素情報を利用して、写真部分の切り出し画像データを生成する。または、グラフィックスデータ生成部２０３は、線画の領域を特定し、対応する画素塊データの画素形状情報からその輪郭を抽出し、直線・曲線パス近似による線画部分のベクトルデータを生成する。更に、グラフィックスデータ生成部２０３は、入力画像２００において文字・写真・線画といった前景部分の画素を、その周囲色で塗りつぶした画像データである、背景画像データを生成する。
【００２２】
文字認識部２０４は、領域データ２０７から文字の領域を特定し、さらに同領域に対応する画素塊データ２０６から文字の画素形状を二値画像として再構成する。そして、文字認識部２０４は、構成した二値画像に対して文字認識処理を行い、文字領域内の認識文字コード列を得る。さらに、文字認識部２０４は、これらの文字コード列と、電子文書上で利用可能なその他の情報を含む文字データ２０９を生成する。文字認識部２０４は、認識処理を正しく行う為に入力画像２００の天地方向を判別し、その方向が上以外の場合は、二値画像および領域情報を回転して文字認識処理を行うようにしてもよい。文字データ２０９は、文字認識結果の文字コード列のみではなく、各文字の座標情報、推定文字サイズやピッチ、行ピッチなど、文字認識処理に付随して推定された書式情報を含んでいてもよい。また、文字データ２０９は、文字画素塊データが有する色の情報を利用して推定された、各文字の色情報を含んでいてもよい。
【００２３】
電子文書記述生成部２０５は、領域データ２０７、グラフィックスデータ２０８、および文字データ２０９を入力として、それらを用途に合った形式になるよう選択・変形・合成し、出力となる出力電子文書２１０の記述を生成する。電子文書記述生成部２０５は、１つの入力画像２００に対し、１ページの出力電子文書を生成するようにしても、複数の入力画像に対し１のマルチページ電子文書が生成されるようにしてもよい。
【００２４】
［各処理部の動作］
続いて、図２の電子文書生成処理を構成する各処理部の詳細な動作例を順に説明していく。各処理部による処理は、画像処理装置１００が備えるＣＰＵ１０２が、記憶部であるメモリ１０３等に記憶されたプログラムを読み出し、実行することにより実現される。
【００２５】
（画素塊解析部による処理）
図３に、画素塊解析部２０１の動作例を説明するフローチャートを示す。
【００２６】
Ｓ３０１では、入力画像２００が画素塊解析部２０１へと入力される。ここで入力画像２００は、カラー画像であれば、各画素がＲＧＢ各々３つの８ｂｉｔ値で表現されるページサイズの画素集合として、メモリ１０３に展開した状態で入力されるものとする。なお、これはあくまで一例であって、グレー形式を含むＲＧＢ形式以外の色空間で表現されていてもよい。また、入力画像２００が圧縮画像のストリームとして入力され、画素塊解析部２０１がメモリ１０３にてＲＧＢ画素などとなるように展開してもよい。
【００２７】
Ｓ３０２では、画素塊解析部２０１は、入力画像２００の各画素に対し、減色処理を施した減色画像を生成する。この減色画像において各画素がとる値の範囲は、入力画像２００の画素値範囲以下の０〜Ｎ（Ｎ≧２）の値である。減色処理の方法自体については、本発明の本質と外れるので詳細な説明は省略する。しかし、減色後の画素値が白黒二値ではなく、元の入力画像２００に含まれる文字や線等の色特徴を保持する画素値を保持するよう処理することで、本発明の効果が発揮されることは留意すべきである。つまり、白黒二値のような２種類の画素値を有する画像でなく、３種類以上の画素値を有することが可能な画像を対象として本発明に係る処理を適用することが本発明の効果を得る前提となる。
【００２８】
このような減色処理の例としては、入力画像２００がＲＧＢ形式の場合、各画素をＲ、Ｇ、Ｂ各要素についてそれぞれ１２８未満か１２８以上であることを０、１で表現した３ｂｉｔで最大８色に減色する方法がある。また、各画素の輝度値Ｙを計算し、このＹを４段階に量子化することで減色する方法もある。また、画像の画素値ヒストグラムからＮ個の代表色を推定したうえで代表色にＩＤ値を付与し、各画素には最も近似する代表色のＩＤ値を割りあてる方法もある。
【００２９】
Ｓ３０３では、画素塊解析部２０１は、減色画像内で同じ画素値を持つ連結画素の集合に対し、公知のラベリング処理を行い、同一ラベルを持つ画素集合を画素塊として抽出する。これは、入力画像２００中で色が近似する連結画素塊を抽出することを意味する。この連結画素の判定には、上下左右とすべての斜め方向の隣接画素を考慮する８連結判定を用いることにする。８連結判定を用いたラベリング処理については、図４および図５を用いて後述する。
【００３０】
Ｓ３０４では、画素塊解析部２０１は、Ｓ３０３で生成した画素塊情報中の全画素塊を対象に、画素塊間の接触の有無を示す情報を保持するように、画素塊情報を更新する。具体的には、注目画素塊に対し、１）外接矩形が接するか重なる画素塊、２）さらに両画素塊のランの中に接触するランがある、の両条件に合致する画素塊のＩＤのリストを接触画素塊のリストとして登録する。これを全画素塊の組み合わせに対し実行する。なお、上記条件は一例であり、他の条件を用いても構わない。また、接触する画素塊を取得する処理は、Ｓ３０４のラベル付けのところで、接触ラベル間の関連づけを行っておくことで、より高速な接触関係の特定が可能である。しかし本処理の効率は発明の本質とは関係ないのでその説明は省略する。
【００３１】
Ｓ３０５では、画素塊解析部２０１は、画素塊情報中の全画素塊を対象に、ある画素塊が別の画素塊を含む、あるいは別画素塊に含まれることを示す包含情報を生成し、画素塊情報に追加する。なお、本例では２画素塊が包含関係にあることを次の条件で定義する簡易判定処理を行う。１）２画素塊間が接触しており、かつ、２）片方の画素塊の外接矩形が他方の画素塊の外接矩形を完全に包含する。これは包含判定時の処理量を軽減し処理時間を省くためである。なお、他の条件を用いることによって判定を行い、画素間の正確な包含判定を用いるようにしてもよい。
【００３２】
Ｓ３０６では、画素塊解析部２０１は、画素塊情報に追加された包含関係を、画素塊同士の親子関係とみなしたうえで、画像全体を祖先（ルート）とし、各画素塊をノードとする画素塊のツリー構造を生成する。なお、Ｓ３０５にて用いる処理条件では、親となる画素塊を持たない画素塊が存在する場合がある。その場合、当該画素塊が、接触関係にある画素塊の親と同じ親を持つようにツリー構造を生成する。また、親が複数ある画素塊が存在する場合があるが、その際は任意のひとつの親、例えば、階層の最も深い親とのみ親子関係を有すように構造を生成すればよい。Ｓ３０６で生成された画素塊ツリー構造と、各画素塊の情報とを合わせたものが、画素塊解析部２０１が生成する画素塊データ２０６となる。
【００３３】
（８連結判定によるラベリング処理）
Ｓ３０３にて行われる８連結判定によるラベリング処理の例を図４のフローチャートを用いて説明する。
【００３４】
Ｓ４０１では、画素塊解析部２０１は、ラベル値ｋを１に初期化する。Ｓ４０２では、画素塊解析部２０１は、減色画像の注目ラインにおいて、同一画素値が連続するランを現ランとして抽出する。最初は減色画像の最上ラインに注目し、その左端の画素から同じ画素値を持つ画素が右方向に連続する範囲をランとして抽出するものとする。抽出されたランは、始終点のｘ座標および注目ラインのｙ座標の組からなるラン情報として記憶される。なお、後述するように、同注目ラインでＳ４０２が再度処理される場合、処理済ランの右端の次の画素から始まるランを抽出する。
【００３５】
Ｓ４０３では、画素塊解析部２０１は、注目ラインのひとつ上のラインにすでに抽出されたランがあり、かつ現ランと画素値が連結しているものがあるかどうかを調べる。ここで８連結しているとは、ｙ座標＝ｋ、ｘ座標による始終点＝（ｓ，ｅ）の現ランに対し、ｙ座標ｋ−１、ｘ座標（ｓ−１，ｅ＋１）の範囲に１画素でも存在するランであり、かつ画素値が同一であることが条件である。なお、注目ラインが最上ラインの場合は、連結ランは常に存在しないこととなる。条件に合致する連結ランが無い場合は（Ｓ４０３にてＮＯ）、Ｓ４０４に進み、画素塊解析部２０１は、現ランに新規ラベルＬｋを付与する。続いてＳ４０５で、画素塊解析部２０１は、ラベル値ｋに対して＋１とする。一方、Ｓ４０３で条件に合致する連結ランが存在した場合（Ｓ４０３にてＹＥＳ）、Ｓ４０６に進む。
【００３６】
Ｓ４０６では、画素塊解析部２０１は、条件に合致する連結ランが複数で、かつ当該連結ランが複数のラベル種を有しているかどうかを調べる。複数のラベル種を有している場合は（Ｓ４０６にてＹＥＳ）、Ｓ４０７に進み、画素塊解析部２０１は、最初に検出された連結ランが有するラベルを現ランに付与する。更に、画素塊解析部２０１は、全連結ランが有するラベルが同一グループとみなされるよう、ラベル値間の関連付けを行う。一方、連結ランが単一の場合、あるいは複数の連結ランが同種のラベルを有している場合は（Ｓ４０６にてＮＯ）、Ｓ４０８に進み、画素塊解析部２０１は、連結ランが有するラベルを現ランに付与する。
【００３７】
Ｓ４０５、Ｓ４０８、Ｓ４０９の後、Ｓ４０９に進み、画素塊解析部２０１は、注目ラインに次のランが有るか否か、すなわち現ランの終点が画像右端でないかどうかを調べる。次のランがある場合（Ｓ４０９にてＹＥＳ）、画素塊解析部２０１は、そのランが抽出されるようにＳ４０２に進んで以降処理を繰り返す。注目ラインに次のランが無い場合（Ｓ４０９にてＮＯ）、Ｓ４１０に進む。
【００３８】
Ｓ４１０では、画素塊解析部２０１は、注目ラインが最終ラインかどうかを調べる。最終ラインではない場合（Ｓ４１０にてＮＯ）、Ｓ４１１に進み、画素塊解析部２０１は、次のラインに移動する。そして、Ｓ４０２に戻り、画素塊解析部２０１は、そのライン左端の画素から新たなランを抽出して以降の処理を繰り返す。注目ラインが最終ラインの場合は（Ｓ４１０にてＹＥＳ）、Ｓ４１２に進む。
【００３９】
Ｓ４１２では、画素塊解析部２０１は、ラベル値毎に、同ラベルが付与されたランの集合により構成される画素塊情報を作成する。このランの集合を構成する際には、Ｓ４０７で関連づけられた複数種類のラベル値を持つランがひとつの画素塊ラン情報に集められるよう処理される。最終的に生成される画素塊情報として、ひとつの画素塊は、識別の為のＩＤ、外接矩形情報、画素値、および画素塊に集められたラン情報の集合の組から成る。
【００４０】
（ラベリング処理の処理例）
図４のラベリング処理を適用した場合の処理例を図５に示す。図５（ａ）は処理対象となる減色画像の例であり、ひとつのマスが１画素を表す幅６×高さ３画素の画像で、各マス内の数値は画素値を示す。図５（ｂ）は図５（ａ）に対するラベリング処理の結果の例である。
【００４１】
ラベリング処理では、まず最上のライン（ｙ＝０のライン）に注目して、左端から始まる画素値３のラン５０１が抽出される。これより上にはラインが存在しないので連結ランは無く、ラン５０１には最初のラベルＬ１が与えられる。続く画素値１のラン５０２にも同様に新規ラベルＬ２が与えられる。
【００４２】
最上ラインにもう画素は無いので次のライン（ｙ＝１のライン）に移動し、画素値１のラン５１１が抽出される。上ライン（ｙ＝０のライン）にはラン５１１に連結する画素値１のランは無いので、ラン５１１には、新規ラベルＬ３が与えられる。次の画素値３のラン５１２は、上ライン（ｙ＝０のライン）に同値のラン５０１が存在する。連結ランはこのラン５０１だけなので、ラン５０１のラベルＬ１がラン５１２にも与えられる。続いて、画素値１のラン５１３が抽出され、同様に上ライン（ｙ＝０のライン）の連結ランであるラン５０２のラベルＬ２が与えられる。続いて画素値３のラン５１４が抽出され、連結ランが無いので、新規ラベルＬ４が与えられる。３ライン目（ｙ＝２のライン）に移動し、画素値１のラン５２１が抽出され、上の連結ランであるラン５１１のラベルＬ３が与えられる。続く画素値３のラン５２２は上ライン（ｙ＝１のライン）の連結ランとして、ラン５１２とラン５１４が存在する。かつ、ラン５１２とラン５１４のラベル値はそれぞれＬ１およびＬ４と異なるので、ラン５２２には連結ランのうち最初に検出されたラン５１２のラベルＬ１が与えられる。加えて、ラベルＬ１とラベルＬ４を同一ラベルとみなすための関連付け情報が生成される。最後に、画素値２のラン５２３が抽出され、新規ラベルＬ５が与えられる。
【００４３】
図５（ｃ）はラベル付けされたラン集合から生成される画素塊情報の例である。ＩＤ１の画素塊は、前述の関連付けに基づき、ラベルＬ１のラン５０１、５１２、５２２およびラベルＬ４のラン５１４の集まりとして構成されている。またその矩形範囲として（０，０）−（５，２）、および画素値３が記憶されている。ＩＤ２の画素塊は、ラベルＬ２のラン５０２およびラン５１３により構成される、矩形範囲（２，０）−（５，１）、および画素値１の画素塊である。以降、ＩＤ３、ＩＤ４も同様に示される。なお、一度画素塊情報が構成されれば、ランの集合を構成する際に使用されたラベルの情報Ｌｋは破棄してもよい。また、各ラン情報が持つ座標を、図５（ｃ）に記されるように各画素塊の外接矩形の左上を原点とするように再設定してもよい。
【００４４】
（画素塊解析部による処理結果の例）
図６に画素塊解析部２０１による処理結果の例を示す。図６（ａ）は画素塊解析部２０１に入力される減色画像の例である。図６（ｂ）は、図６（ａ）に示す減色画像から抽出された画素塊情報の例であり、かつＳ３０４で生成された画素塊の接触関係を矢印で示した図である。図６（ｃ）は、図６（ｂ）に示す画素塊情報の例において、Ｓ３０５で生成された包含関係を矢印で示した図である。この矢印は矢の先が子、元が親を示している。図６（ｄ）は、図６（ｂ）および図６（ｃ）から構成された画素塊ツリー情報の例である。図６（ｄ）の画素塊６０１は包含関係による親画素塊が存在しないため、接触している画素塊６０２が親とする画素塊を親とするようにツリー構造が構築されている。
【００４５】
なお、図３のフローチャートでは、画素塊解析処理により入力画像データ全体を一度に処理するように説明した。これに対し、入力画像データを複数部分に分け、各部分画像の入力と画素塊情報の抽出を繰り返しながら行っても構わない。例えば、特許文献３では、３２画素四方のタイルをひとつの処理単位とし、画像の左上から順に画像入力、量子化、タイル内画素塊であるｂｌｏｂの作成、を繰り返すよう処理する例が説明されている。この特許文献３による説明では更に、処理済タイルである上タイルおよび左タイルにあるｂｌｏｂを現タイルのｂｌｏｂと結合することで、結果的に入力画像２００と同じサイズも含む任意の大きさの画素塊生成している。この処理方法を適用することにより、本実施形態に係る画素塊データの生成処理に消費するメモリや処理時間を大幅に節約することも可能である。
【００４６】
（レイアウト解析部による処理）
続いて、レイアウト解析部２０２の処理を、図７のフローチャートを用いて説明する。本処理では、メモリ１０３上の画素塊データ２０６を入力とし、文字、線画、自然画、表といった文書領域間の構造に基づいた、領域データ２０７をメモリ１０３上に構成していく。
【００４７】
Ｓ７０１では、レイアウト解析部２０２は、入力である画素塊データ２０６中の各画素塊を、文字候補画素塊とそれ以外の画素塊に分類する。画素塊が文字候補であるか否かの分類は、公知の文書画像解析技術で利用されている文字画素塊判定方法を用いればよい。例えば、画素塊の外接矩形サイズを利用し、予め定められた高さおよび幅の範囲に収まるものを文字候補とする方法がある。
【００４８】
本例においては、文字とみなす大きさを６ポイントから５０ポイントまでとし、入力画像２００の解像度から換算したＴｍｉｎ〜Ｔｍａｘの画素数に、画素塊の幅あるいは高さが収まるものを文字候補とする。ここでサイズに下限を設けることは、文字内部から抽出される背景相当の小画素塊を文字候補に含めないようにする効果がある。文字候補の判定条件に、更に画素の密度や比率、画素色などを加えてもよい。また大きさの閾値は、入力画像２００から実際抽出された画素塊の集合より幅・高さの頻度情報を得て、動的に定めるようにしてもよい。
【００４９】
Ｓ７０２では、レイアウト解析部２０２は、Ｓ７０１で分類された文字候補の画素塊に対し、互いに近傍にあるものに対するグループ化を行う。近傍であるか否かの判定は、画素塊の外接矩形座標間のユークリッド距離を計算し、予め定められた閾値以下であることで判定することができる。これはあくまで一例であり、距離計算にシティブロック距離など別の計算方法を用いてもよい。また、複数の文字は行をなして記述され、一般に行内の文字間隔は行間隔より狭いことから、小さい距離閾値で文字行をなす文字候補画素塊をグループ化し、さらに大きな距離閾値で複数の文字行をグループ化するようにしてもよい。なお、本グループ化処理では、画素塊ツリー構造において同じ親を持つ文字候補画素塊同士のみがグループ化の対象になるものとする。これは、近傍計算の対象となる画素塊の組み合わせを減らし、処理を高速化するためである。
【００５０】
Ｓ７０３では、レイアウト解析部２０２は、Ｓ７０２でグループ化された文字候補画素塊の集合が、実際に文字集合であるか否かの判定をグループ毎に行う。そして、レイアウト解析部２０２は、文字集合であるとされたグループの画素塊の存在範囲をそれぞれ文字領域として特定する。そして特定された領域それぞれに対し、領域の座標と対応画素塊への関連付け情報を含む領域情報が、領域データ２０７の構成要素として記憶される。すなわち、文字領域に対しては、グループ化された文字候補画素集合への関連付け情報と、同画素塊を囲む外接矩形座標情報とが文字領域情報として記憶される。
【００５１】
文字集合であるか否かの判定は、例えば、グループを含む矩形範囲で文字候補画素塊の射影を縦横に求め、文字列としての整列性を示すか否かで判断する方法がある。具体的には、横書きならば水平の射影、縦書きならば垂直の射影において、行部分には山、行間には谷となる頻度分布が観測されるものは文字領域の可能性が高いと判断できる。さらに、文字同士は斜体などの例外を除き、互いの外接矩形が大きく重複することは少ない。したがって、他の画素塊と大きな重複がないことも、文字領域か否かの判定の有効な手段となる。ただし、漢字などで１つの文字が複数の重複する画素塊に分割されているケースを除くために、重複判定を一定以上の大きさの画素塊間のみに制限することが効果的である。
【００５２】
なお、文字領域として特定されたあとに、同領域内にある別の画素塊を文字候補画素塊の集合に追加してもよい。例えば、句読点や文字内の独立点部分の画素塊は、サイズ制限により文字候補画素塊に選出されていない可能性が高い。これら文字候補画素塊に含めるために、既に文字候補である画素塊と同色で近傍にある小サイズの画素塊を追加する処理を行ってもよい。
【００５３】
Ｓ７０４では、レイアウト解析部２０２は、Ｓ７０１で文字候補以外に分類された画素塊から、線画・表枠候補の画素塊を選出する。線画・表枠候補か否かの判定は、文字候補以上の大きさであり、かつ画素塊の存在範囲全体に対する画素密度が低いことにより判断できる。
【００５４】
Ｓ７０５では、レイアウト解析部２０２は、Ｓ７０４で線画・表枠候補とされた画素塊に対し、表枠であるか否かの判定を行い、表枠と判定された画素塊の存在領域を、表領域として特定する。そして、レイアウト解析部２０２は、対応する表枠の画素塊への関連付け情報と、同画素塊の外接矩形座標を含む領域情報とを、表領域情報として領域データ２０７に記憶する。
【００５５】
表領域情報表枠か否かの判定は、例えば、画素塊の存在範囲において、画素塊のラン情報から縦横の画素ヒストグラムを計算し、その形状から判定を行えばよい。つまり画素塊が表枠に相当するものであれば、縦横の表外枠および罫線の存在する部分に、複数の鋭いピークがヒストグラム上に発生することを利用する。これらを検出することで、表枠かどうかの判定を行うことができる。あるいは、表枠画素塊の子に相当する画素塊の集合により判断することもできる。表枠の子となる画素塊は、表内の枠領域に相当するため、子領域すべてが矩形形状であり、かつ重なりなく整列していることは、表枠であることの有効な判断手段となる。
【００５６】
Ｓ７０６では、レイアウト解析部２０２は、Ｓ７０４で線画・表枠候補とされ、かつＳ７０５で表枠と判定されなかった画素塊の存在領域を、線画領域として特定する。そして、レイアウト解析部２０２は、対応する線画の画素塊への関連付け情報と、同画素塊の外接矩形座標を含む領域情報とを、線画領域情報として領域データ２０７に記憶する。このとき、線画と判定された画素塊の近傍にある画素塊をグループ化した範囲を線画領域としてもよい。
【００５７】
Ｓ７０７では、レイアウト解析部２０２は、ここまでに記憶されたどの領域にも対応しない画素塊の中から、写真等の自然画領域と判定される画素塊、もしくは画素塊の集合を選出し、その存在領域を自然画領域情報として記憶する。そして、レイアウト解析部２０２は、対応する画素塊集合への関連付け情報と、同画素塊の存在範囲の座標を含む領域情報とを、自然画領域情報として領域データ２０７に記憶する。
【００５８】
自然画領域か否かの判定は、複数色の画素塊が重複、あるいは包含されるように存在しており、かつそれら画素塊の集合が一定の大きさ内の矩形を構成しているものを、矩形状の写真に相当する自然画領域と判定することにする。この判定はあくまで一例であって、任意形状の画素塊集合を対象にしてもよい。
【００５９】
Ｓ７０８では、レイアウト解析部２０２は、ここまでに記憶されたどの領域にも対応しない画素塊の中から、一定以上の密度および面積を持つ画素塊を、フラット領域として記憶する。無地のページ全体を占める領域、文字や図の背景などで意味的なまとまりを持たせるために着色された色背景領域や、表内セルの背景などがこのフラット領域に相当する。
【００６０】
Ｓ７０９では、レイアウト解析部２０２は、Ｓ７０８までに領域データ２０７に記憶されている各々領域をノードとし、その領域間の相対関係を表現する領域ツリーを構成する。領域ツリーの起点には、入力画像の全体範囲に相当する特殊なルートノードを配置する。そして、領域ツリーのノード間の親子関係は、画素塊ツリーにおいて各領域に対応する画素塊ノードが持つ親子関係と一致するようにする。ツリー構造を構成するための具体的処理としては、各領域データに親領域へのリンク情報、および子領域へのリンク情報のリストを付与することでツリー構造を構成する。なお、リストを実現するためのデータ構造は任意であり、前述のように各領域ノードが親子、兄弟関係にある領域ノードへのポインタを持つようにしてもよいし、子領域を配列構造で保持するようにしてもよい。
【００６１】
Ｓ７１０では、レイアウト解析部２０２は、Ｓ７０９で生成された領域ツリーに存在する、表領域の各々に対し、表内のセル構造解析を行う。つまり、表構造解析として、表領域における表がどのような行列構造（セル構造）となっているかを解析する。そして、レイアウト解析部２０２は、解析された構造に基づいて配置されるセルの集合を特定し、セル要素リスト情報として表領域ノードに関連づけて記憶する。ここで「セル」とは、表を構成する項目のひとつに対応し、一般には罫線により４方を囲まれた表内の小領域である。セルは、表内で「行」すなわち横方向の連なり、および「列」すなわち縦方向の連なりからなる行列構造を成す。この行や列にまとまった意味を持つ項目を並べることで、表形式の情報は成立している。
【００６２】
したがって、セルの行列構造を解析することは、画像化された表の内容を、再利用可能なデータとして記述するために重要である。この解析情報を後述の電子文書記述に利用するために、Ｓ７１０で生成されるセル要素リスト情報には、各セルの意味に基づく行列上の座標、いわゆる論理座標が付与される。なお、セル要素リストを実現するためのデータ構造は任意である。したがって、データ構造として、セル要素の配列や、セル要素を差すポインタの配列構造をとってもよいし、セル要素毎に前後のセル要素を差すポインタを持たせる構造をとってもよい。
【００６３】
Ｓ７１０における、表内のセル構造の解析処理の一例を、図１５を用いて以下に説明する。
【００６４】
図１５（ａ）の表枠１５０１は解析対象となる表枠の画像である。まず表枠の画素塊のラン情報から、表枠画素の垂直・水平射影によるヒストグラムが作成される。ヒストグラム１５０２は、表枠１５０１に対する垂直射影のヒストグラムの例である。また、ヒストグラム１５０３は、表枠１５０１に対する水平射影のヒストグラムの例である。
【００６５】
図１５（ｂ）は、生成されたヒストグラムのピーク位置集合によって表枠範囲を４×３の升目領域に分割した例である。つまり表領域は、垂直方向射影のピーク位置ｘ０，ｘ１，．．．，ｘｎのそれぞれに垂直線を、水平方向射影のピーク位置がｙ０，ｙ１，．．．，ｙｍのそれぞれに水平線を引き、線で囲まれた升目を１単位とするｎ×ｍ個の領域へと分割される。
【００６６】
続いて、この升目上での位置（ｉ，ｊ）を論理座標として、各々のセル要素を抽出する。具体的には、各升目位置における上下左右４方向の境界線上に、実際の表画像内の罫線が存在するかどうかを、表枠の画素塊情報を用いてチェックする。そして、実在する罫線で囲まれる範囲をそれぞれひとつのセル要素として抽出する。例えば、論理座標（ｉ，ｊ）のセル要素は、ある位置（ｉ，ｊ）の４方向の境界すべてに罫線が実在する場合に抽出される。あるいは、（ｉ，ｊ）と（ｉ＋１，ｊ）の両升目を囲むように罫線が実在し、両者の境界に罫線が存在しない場合には、論理座標範囲（ｉ，ｊ）−（ｉ＋１，ｊ）のセル要素として抽出される。図１５のケースで各々抽出されたセル要素と、各々に付与された論理座標の例を図１５（ｃ）に示す。
【００６７】
なお、上述の表内セル構造の解析処理はあくまで一例であり、他の公知の表構造解析処理を用いてもよい。例えば、実際には罫線が引かれていない項目の境界を表内の文字列の分布から推測して、上記升目の分割位置に加えるようにしてもよい。あるいは、表枠の画素塊以外を用いてもよい。例えば、異なる色で塗られた罫線を考慮するために、表枠の画素塊の子の中から、垂直あるいは水平線状の画素塊を特定し、そのｘ座標あるいはｙ座標を上記升目の分割位置に加えてもよい。あるいは、罫線では無く塗り分けによって表の項目が分割されている場合に対応するために、表領域の子要素であるフラット領域の垂直・水平辺の位置で分割してもよい。また、画素塊のラン情報だけではなく、入力画像の画素情報を用いて解析処理を行ってもよい。
【００６８】
Ｓ７１１では、レイアウト解析部２０２は、Ｓ７１０で抽出した各セルと、同セルに含まれる文字や図、写真などの項目内容との関連づけを行う。具体的には、各セル要素の論理座標範囲に対応する画像上の座標範囲を求め、同範囲に包含される領域ノードへのリンクをセル要素が持つリンクのリストに追加する。従って、一つのセル内容に複数の領域ノードが含まれてもよい。
【００６９】
また内容が空のセル要素はサイズ０のリストを保持するものとする。なお、ある表領域のセル要素の内容となる領域ノードは、同表領域ノードの子または子孫のノードからのみ特定されるものとする。また、セル内容に含めるか否かを領域ノードの種類によって変えてもよい。例えば、フラット領域を除く領域をセル内容に含めるようにしてもよい。特に、表枠を構成する罫線の一部が分離して表領域の子領域になっている場合に、セル要素の境界に近い線画領域を、セル内容に含めないようにすることで、表形式出力時のノイズを防ぐことができる。
【００７０】
（レイアウト解析部による処理結果の例）
図７のフローチャートにより説明した、レイアウト解析部２０２における処理の結果の例を、図９を用いて説明する。図９（ａ）は、画素塊解析部２０１により減色され、画素塊に分解される文書画像の例である。図９（ｂ）は、図９（ａ）に示す文書画像において抽出された画素塊を、画素塊ツリー構造で表現した例図である。図９（ａ）、（ｂ）において、画素塊９０１、９０２、９０３はそれぞれ元画像において文字に相当する画素塊の集合である。図面上の都合で表現はされないが、画素塊９０１は黒色、画素塊９０２は青色、画素塊９０３は赤色のそれぞれ文字であるとする。画素塊９０４〜９０８は、表を構成する画素塊である。表枠である画素塊９０４は黒色の画素塊である。表内部の枠領域背景にそれぞれ相当する、画素塊９０５、９０７、９０８は明るい灰色の背景色の画素塊、画素塊９０６は画素塊９０５等による背景色よりやや暗い灰色の背景色の画素塊である。画素塊９０９は濃い灰色の星型の線画に相当する画素塊である。画素塊９１０、９１１は減色により二色に分離した、写真部分に相当する画素塊である。画素塊９００は画像全体の背景となる白色の画素塊である。なお図９では、文字内部の小さな画素塊に関しては記載を省略している。
【００７１】
図９（ｂ）において、矢印は包含関係に基づく親子関係を示している。例えば、表を構成する画素塊９０４〜９０８において、画素塊９０５は表の左上枠内の単色背景領域である。画素塊９０５は内部に２つの文字の領域である画素塊９０２を包含するので、両者は親子関係となる。一方、表の右上枠内の背景領域は、上下に異なる色の画素塊９０６、９０７に分かれている。その結果、文字の画素塊９０３はどちらの画素塊にも包含されないので、それらの親となる表枠の画素塊９０４の直接の子となる。こういったケースはオリジナルの入力画像が元々そのように色分けされている場合の他、ノイズや減色処理を要因に、単色領域が意図せず過分割されて生ずることもある。いずれにせよ、カラーの画素塊構造抽出処理においては、普遍的に発生するケースであることを考慮すべきである。
【００７２】
図９（ｃ）は、図９（ｂ）の画素塊ツリーから生成される領域ツリーの例である。その生成過程を図７のフローチャートのＳ７０１〜Ｓ７０９に従って以下説明する。まずＳ７０１〜Ｓ７０３にて、レイアウト解析部２０２は、画素塊９０１、９０２、９０３の３つの画素塊グループが文字候補画素塊として選出する。そして、レイアウト解析部２０２は、文字領域の判定条件を満たす、各存在範囲が文字領域として子領域ノード９２１、９２２、９２３を記憶する。
【００７３】
Ｓ７０４で、レイアウト解析部２０２は、画素塊９０４、９０８を線画・表枠候補として選出する。Ｓ７０５では、レイアウト解析部２０２は、画素塊９０４を表枠と判定し、表領域として子領域ノード９２４を記憶する。Ｓ７０６では、レイアウト解析部２０２は、画素塊９０９を線画と判定し、線画領域として子領域ノード９２８を記憶する。
【００７４】
Ｓ７０７で、レイアウト解析部２０２は、画素塊９１０、９１１が自然画領域を構成すると判定し、自然画領域として子領域ノード９３０を記憶する。Ｓ７０８では、レイアウト解析部２０２は、残る画素塊９００、９０５、９０６、９０７、９０８をいずれもフラット領域として記憶する。そしてＳ７０９にて、レイアウト解析部２０２は、各領域をノードとし、各々対応する画素塊ツリーの親子構造を反映した領域ツリー構造を生成する。図９（ｃ）において、線で結ばれる領域は親子関係を持つ。
【００７５】
図９（ｄ）は、Ｓ７１０の処理により表領域である子領域ノード９２４に付加されたセル要素のリストの構成例である。表領域である画素塊９０４から解析された、２行２列の行列構造に基づき、セル要素９４１は論理座標（１，１）を持ち、セル内容として文字領域である子領域ノード９２２へのリンクを有する。同様にセル要素９４２は論理座標（２，１）を持ち、セル内容として文字領域である子領域ノード９２３へのリンクを有する。セル要素９４３は存在範囲として論理座標（２，１）−（２，２）を持ち、セル内容を持たないのでリンクは有してない。なお、図９（ｃ）と図９（ｄ）の参照番号が一致するもの同士が対応している。
【００７６】
（グラフィックスデータ生成部による処理）
続いて、グラフィックスデータ生成部２０３の処理を説明する。グラフィックスデータ生成部２０３は、領域データ２０７に含まれる各領域をグラフィックスオブジェクトとして表現する為のグラフィックスデータ２０８を生成する。ここで生成されるデータは、後述の電子文書記述生成部２０５において、各領域の内容をオブジェクトとして記述する際に利用される。以下、グラフィックスデータ生成部２０３の処理を図８のフローチャートを用いて説明する。
【００７７】
Ｓ８０１では、グラフィックスデータ生成部２０３は、出力電子文書２１０において、線図形部分のオブジェクトをグラフィックスで表現するためのベクトルデータを生成する。本例におけるベクトルデータの生成対象領域は、入力となる領域データ２０７中に存在する文字領域、線画領域、および表領域とする。生成されたベクトルデータは、領域データ２０７中の対応する領域ノードに関連付けられたうえで、記憶部であるメモリ１０３あるいはハードディスク１０４に保存される。
【００７８】
Ｓ８０１におけるベクトルデータ生成処理は、画素塊解析部２０１にて生成された画素塊データ２０６を用いて、対象領域に関連付けられた画素塊のラン情報から二値画像を構成し、当該二値画像に公知のベクトル化手法を用いて行う。例えば、輪郭線追跡により二値画像の外輪郭、内輪郭ループを抽出し、両者に対する直線、曲線近似を行ってベクトルパスデータを求めればよい。パスの塗り色には、画素塊に関連付けられた色情報を設定するものとする。
【００７９】
図１２（ａ）にベクトルデータ生成結果の例を示す。画素塊１２０１は文字Ａの画素塊形状を示しており、これにベクトル化処理を施すことでベクトルデータ１２１１が生成される。同様に星型の線画を成す画素塊１２０２から、ベクトルデータ１２１２が生成される。いずれの生成されたベクトルデータも、画素塊が持つ画素凹凸が直線近似により平坦化されて、先鋭な線図形として再現されている。またベクトルデータなので拡大、縮小しても画質劣化が少なく、かつ変形や着色等も容易であるため、編集用途に適したデータである。
【００８０】
Ｓ８０２では、グラフィックスデータ生成部２０３は、出力電子文書２１０において、フラット領域部分のオブジェクトをグラフィックスで表現するためのベクトルデータを生成する。すなわち、グラフィックスデータ生成部２０３は、領域データ２０７中に存在するフラット領域の画素塊に対し、Ｓ８０１と同様のベクトル化処理を施し、領域ノードに関連付けてメモリ１０３あるいはハードディスク１０４に保存する。なお、本例では、ページ全体の下地に相当するような、ルート領域直下のフラット領域に対するベクトルデータは生成しないものとする。
【００８１】
また、Ｓ８０２のフラット領域のベクトル化処理では、ベクトル化対象の画素塊の内輪郭に関しては無視してベクトル化を行ってもよい。これは後述の電子文書記述生成時において、内輪郭にあたる部分は別オブジェクトが重畳され隠れるようになるからである。例えば、図１２（ｂ）の二値画像１２０３は、図９の画素塊９０５のラン情報から構築された二値画像であるが、ベクトル化処理の過程で白く抜けた文字部に相当する内輪郭は無視され、矩形状のベクトルデータ１２１３が生成される。一方、図９の画素塊９０６、９０７に対しては、ラン情報に相当する二値画像１２０４、１２０５から、文字の抜けによる凹凸を含む外輪郭形状そのままのベクトルデータ１２１４、１２１５が生成される。
【００８２】
Ｓ８０３では、グラフィックスデータ生成部２０３は、出力電子文書２１０において、ベクトル化対象外の領域を表現するための、切り出し画像データを生成する。本例における切り出し画像データ生成領域は、領域データ２０７中に存在する自然画像の領域（自然画領域）とする。切り出された画像データは、領域データ２０７中の対応する領域ノードに関連付けられたうえで、メモリ１０３あるいはハードディスク１０４に保存される。ここで切り出し処理とは、入力画像２００を参照し、対象範囲の画素のみからなる同サイズの画像データを生成する処理である。切り出された画像データはＪＰＥＧ等の公知の圧縮技術で圧縮してもよい。
【００８３】
Ｓ８０４では、グラフィックスデータ生成部２０３は、出力電子文書２１０において、背景に用いられる背景画像データを生成する。生成された背景画像データは領域データ２０７のルートノードに関連づけられて、メモリ１０３もしくはハードディスク１０４に保存される。
【００８４】
背景画像とは、Ｓ８０１〜Ｓ８０３で生成されるベクトルデータや切り出し画像データを前景データとして、当該背景画像に重ねて描画することで、出力電子文書２１０が入力画像２００と同等の見た目を有するように用意されるものである。背景画像データに対しては、前景データが存在する領域の画素情報を入力画像２００から消去する処理を行う。
【００８５】
画素情報の消去には、合成した出力電子文書２１０において、データが二重に見えるのを防ぐ効果がある。あるいは重畳により隠れてしまう領域に存在する無駄な画素情報を無くすことで圧縮効率を上げ、出力電子文書２１０をコンパクトにする効果がある。画素情報を消去する方法は、例えば、対象領域の矩形範囲をその周囲色で一様に塗り潰す方法がある。なお、対象領域が線図形領域の場合、線部分に相当する画素のみを、その近傍の画素色で塗り潰すようにすれば、線部分以外にあたる部分の色情報を背景情報に残すこともできる。
【００８６】
圧縮効率を向上させる場合、画素情報を消去するのは、Ｓ８０１でベクトル化された線図形の領域と、Ｓ８０３で切り出された自然画領域のみでもよい。両者に比し、フラット領域の画素情報量は少ないので、フラット領域が背景画像に残っていても圧縮効率を下げない為である。
【００８７】
この場合に図９（ａ）の入力画像の例に対し生成される背景画像データの例を図１２（ｃ）の背景画像１２３０に示す。図９（ａ）中の線図形部分、すなわち文字領域である画素塊９０１〜９０３、線画領域である画素塊９０８、および表枠領域である画素塊９０４の線図形部分画素は周辺の画素色で塗りつぶされている。また、自然画領域である画素塊９０９に関しては、その矩形範囲全体が周辺の画素色で塗りつぶされている。
【００８８】
なお、グラフィックスデータ生成部２０３の処理で、どの種類の領域に対しベクトル化処理または画像切り出し処理を行うかは上述した例に限るものではない。例えば、線画、表領域に対して、画像切り出し処理を行うようにしてもよい。これら処理対象領域の選択は、電子文書生成処理の制御項目として、処理対象領域種類を外部指示により設定できるようにしてもよい。また、出力される電子文書の形式が複数あり、それぞれ別の用途がある場合、各用途に適したデータ形式を領域種別毎に変えられるようにしてもよい。
【００８９】
同様に、背景画像データ生成時にどの種類の領域に対して画素情報の消去処理を行うかを電子文書生成処理の制御項目として設定してもよいし、生成する電子文書の形式に合わせて変えられるようにしてもよい。
【００９０】
（文字認識部による処理）
文字認識部２０４の処理を、図１０のフローチャートを用いて説明する。Ｓ１００１では、文字認識部２０４は、文字認識処理に入力する文字画像を生成する。本説明では、文字認識処理において、文字を含む二値画像を入力とすることを前提とし、各文字領域の二値画像を生成する。文字領域の二値画像とは、領域内の文字画素を１、それ以外を０とする、入力画像と同じ画素数の二値画像である。実際の処理では、レイアウト解析部２０２が生成した領域データ２０７中の各文字領域に対し、同領域内に存在する画素塊情報を画素塊解析部２０１が生成した画素塊データ２０６から読み出す。そして、各画素塊が持つラン部分が１、それ以外が０になるように入力画像２００と等サイズの画像を生成する。
【００９１】
Ｓ１００２では、文字認識部２０４は、各文字領域内に公知の文字認識処理を実行し、文字コード列を含む文字認識結果を得る。本実施形態において、文字認識結果は、文字領域情報、行情報、および認識文字情報で構成される。文字領域情報は文字が存在する範囲の座標と、認識された文字行数の情報を含む。行情報は、各行の行内文字数の情報を含む。認識文字情報は、各文字に対して認識された文字コードの情報を含む。認識文字情報には、文字認識処理により付加的に得られた各文字の情報を追加してもよい。例えば、各文字の外接矩形座標、行内の文字平均高さやピッチから推定される文字サイズ、太字、斜体、下線といった文字修飾情報、フォント種類などを付加してもよい。得られた文字認識結果は、領域データ２０７中の対応する文字領域に関連づけられて、メモリ１０３もしくはハードディスク１０４に記憶される。
【００９２】
領域データ２０７に含まれる複数の文字領域がある場合は、文字認識部２０４は、それぞれの領域に対しＳ１００１とＳ１００２の処理を行って各領域の文字認識結果を記憶する。なお、Ｓ１００１ですべての文字領域を含む入力と等サイズの二値画像を作成してから、各領域にＳ１００２の文字認識処理を施すように処理してもよい。
【００９３】
（文字認識部による処理結果の例）
図１１は、ひとつの文字領域に対して得られる文字認識結果データ構成の例である。図１１（ａ）は処理対象となる文字領域の例であり、“ａｂ  ｃ”、“１２３”、“ｉｆ”の３行からなる８つの文字を含んでいる。なお、１行目の“ａｂ”と“ｃ”との間には１文字分スペースが空いているものとする。
【００９４】
図１１（ａ）の文字領域に対する文字認識結果の例を図１１（ｂ）に示す。この文字認識結果の領域情報には、領域全体の外接矩形座標と、認識された文字行数３が保持されている。行情報は各行に含まれる文字数として、それぞれ４、３、２が保持されている。認識文字情報は、各文字の文字コード、文字の外接矩形座標、推定文字サイズ、太字・斜体などの文字修飾種類で構成されており、領域内の１行目先頭文字から順に全行続けて配置されている。例えば、図１１（ａ）の１行目に対しては、ＡＳＣＩＩコードとしてそれぞれ０ｘ６１、０ｘ６２、０ｘ２０、０ｘ６３の４文字分の文字コード情報が保持されている。ここで３文字目は、スペース文字として認識された文字情報である。また、それぞれの文字の外接矩形座標、および本行内の共通情報として、推定文字サイズ１４（ポイント）と、文字修飾なしの情報が保持されている。
【００９５】
（電子文書記述生成部による処理）
電子文書記述生成部２０５の処理を図１３のフローチャートを用いて説明する。Ｓ１３０１では、電子文書記述生成部２０５は、表領域に関するデータの出力形式を指定するモードを設定する。ここで設定可能なモードは、通常出力と表形式出力の２択であるとする。両モードの説明は、実際にモード設定の影響をうけるＳ１３０５の処理内容説明の箇所で行う。また、いずれのモードが設定されるかは、本電子文書生成処理の制御項目として予め指定されているものとする。また、ここで設定したモードは、生成される出力電子文書２１０のフォーマットの違いに関連するとして、以下のステップの記述データのフォーマットや記述文法が、同モードによって変更されるようにしてもよい。
【００９６】
Ｓ１３０２では、電子文書記述生成部２０５は、出力電子文書２１０の開始部分を記述するデータを出力する。本説明では、出力先はメモリ１０３あるいはハードディスク１０４に確保される出力バッファ（不図示）である。以降、本処理でデータが出力される毎に、その内容は出力バッファ内に出力済のデータの末尾へ追記されていくものとする。
【００９７】
Ｓ１３０３では、電子文書記述生成部２０５は、出力電子文書２１０において、ページの開始部分を記述するデータを出力する。なお本例では、１の入力画像２００の内容を出力電子文書２１０の１ページに対応させるものとする。Ｓ１３０４では、電子文書記述生成部２０５は、領域データ２０７内におけるルートノードを最初の処理対象となる注目ノードに設定する。Ｓ１３０５は、後述の図１４のフローチャートで説明される処理関数を呼び出すステップである。このＳ１３０５における関数処理では、電子文書記述生成部２０５は、注目ノードに関する領域データ記述の出力処理を行う、さらにその子領域ノード以下に対しても順にデータ出力処理が行われるよう同処理関数の再帰呼び出しをする。
【００９８】
この処理関数としてのＳ１３０５による処理内容を、図１４のフローチャートを用いて説明する。Ｓ１４０１では、電子文書記述生成部２０５は、現在の出力モードが表形式であるか否かを調べる。出力モードはＳ１３０１で設定されたものである。表形式の場合は（Ｓ１４０１にてＹＥＳ）、Ｓ１４０６に進み、それ以外の場合は（Ｓ１４０１にてＮＯ）、Ｓ１４０２に進む。
【００９９】
Ｓ１４０２では、電子文書記述生成部２０５は、本関数の呼び出し時に、処理対象として指定された注目ノード（以下、指定注目ノードと記す）に対応する領域に、出力対象となるデータがあるか否かを調べる。データが有る場合は（Ｓ１４０２にてＹＥＳ）、Ｓ１４０３に進み、データが無い場合は（Ｓ１４０２にてＮＯ）、Ｓ１４０３の処理をスキップしてＳ１４０４に進む。
【０１００】
ここで出力対象となるデータは、領域の種別毎に、図１６のような定義テーブルによって予め指定されているものとする。例えば、図１６に示す定義１６０１のテーブルが指定されている場合、指定注目ノードが“ルートノード”の場合は、関連付けられた背景画像データが出力対象となる。指定注目ノードが“文字領域ノード”の場合は、関連付けられた文字データが出力対象となる。以降同様に、“線画領域ノード”に対してはベクトルデータが出力対象となり、“写真領域ノード”に対しては切り出し画像データが出力対象となる。“表領域”と“フラット領域”のノードに対しては、出力対象データ無しと判定される。なお、定義テーブルに定められた出力対象が、指定注目ノードに関連づけられ存在していない場合も、出力データ無しと判定される。
【０１０１】
Ｓ１４０３では、電子文書記述生成部２０５は、Ｓ１４０２で出力対象とされたデータを、必要に応じて出力電子文書２１０の記述フォーマットへと変換したうえで、出力バッファへと出力する。
【０１０２】
Ｓ１４０４では、電子文書記述生成部２０５は、指定注目ノードが子領域ノードを持つか否かを調べる。子領域ノードを持つ場合は（Ｓ１４０４にてＹＥＳ）Ｓ１４０５に進み、持たない場合は（Ｓ１４０４にてＮＯ）、現在の指定注目ノードに対する本処理を終了する。
【０１０３】
Ｓ１４０５では、電子文書記述生成部２０５は、注目ノードが持つ子領域の各々を新たな注目ノードとして、それぞれに対する関数Ｓ１３０５の呼び出しを行う。すなわち、電子文書記述生成部２０５は、各子領域に対し、それらの子孫領域への再帰処理がなされるようなループ処理を行う。このループ処理が終了すると、指定注目ノード、およびその子領域ノードに対する再帰処理は終了したものとして、本処理を終了する。
【０１０４】
一方、Ｓ１４０１で出力モードが表形式であると判定された場合（Ｓ１４０１にてＹＥＳ）、Ｓ１４０６に進む。そして、電子文書記述生成部２０５は、さらに指定注目ノードが表領域であるか否かを判定する。指定注目ノードが表領域である場合は（Ｓ１４０６にてＹＥＳ）Ｓ１４０８に進み、それ以外である場合は（Ｓ１４０６にてＮＯ）、Ｓ１４０７に進む。
【０１０５】
Ｓ１４０８に進んだ場合、すなわち指定注目ノードが表領域であった場合、電子文書記述生成部２０５は、表形式を開始する記述データを出力バッファに出力する。Ｓ１４０９にて、電子文書記述生成部２０５は、前述のＳ７１０により表領域ノードへ関連づけされたセル要素リストを対象に、その各セル要素を指定注目ノードとして、それぞれ関数Ｓ１３０５の呼び出しを行うことでループ処理を行う。電子文書記述生成部２０５は、すべてのセル要素に対して関数Ｓ１３０５の処理を行うと、ループ処理を終了し、Ｓ１４１０に進む。Ｓ１４１０では、表形式を終了する記述データを出力バッファに出力し、指定の表領域ノードを対象にした本処理を終了する。
【０１０６】
一方、Ｓ１４０６からＳ１４０７に進んだ場合、Ｓ１４０７にて更に、電子文書記述生成部２０５は、指定注目ノードがセル要素であるか否かを調べる。セル要素では無い場合（Ｓ１４０７にてＮＯ）、すなわち指定注目ノードが、表領域以外の領域ツリーのノードであった場合は、Ｓ１４０２に進む。そして、電子文書記述生成部２０５は、上述したＳ１４０２以降と同処理を行う。一方、指定注目ノードがセル要素の場合、すなわち、現処理が前述のＳ１４０９のループ処理内部での関数Ｓ１３０５の呼び出しの処理である場合（Ｓ１４０７にてＹＥＳ）、Ｓ１４１１に進む。
【０１０７】
Ｓ１４１１では、電子文書記述生成部２０５は、セル記述を開始するデータを出力バッファに出力する。Ｓ１４１２では、電子文書記述生成部２０５は、注目ノードに相当するセル要素が、セル内容となる領域ノードへのリンクを持っているか否かを調べる。リンクを持っている場合は（Ｓ１４１２にてＹＥＳ）、Ｓ１４１３に進む。リンクを持っていない、すなわちリンクのリストサイズが０の場合は（Ｓ１４１２にてＮＯ）、Ｓ１４１４に進む。
【０１０８】
Ｓ１４１３では、電子文書記述生成部２０５は、セル内容のリンクリストが保持しているリンク先の領域ノードそれぞれを指定注目ノードとして、Ｓ１３０５の関数処理呼び出しを行うことでループ処理を行う。電子文書記述生成部２０５は、すべてのリンク先の領域ノードに対し、Ｓ１３０５の処理を行った後、ループ処理を終了してＳ１４１４に進む。
【０１０９】
Ｓ１４１４にて、電子文書記述生成部２０５は、セル記述を終了するデータを出力バッファに出力し、現在の指定注目ノード、すなわち表領域に関連づけられたセル要素に対する、本処理を終了する。
【０１１０】
上述した複数箇所で説明されている、関数Ｓ１３０５の処理終了後の動作について補足する。図１３のＳ１３０４の直後に、ルートノードを指定注目ノードとして、関数Ｓ１３０５が呼び出されている場合、電子文書記述生成部２０５は、Ｓ１３０６を実行する。一方、前述のループ処理Ｓ１４０５において、ある子領域ノードを指定注目ノードとして、関数Ｓ１３０５が呼び出されている場合は、電子文書記述生成部２０５は、次の子領域を指定注目ノードとして関数Ｓ１３０５を呼び出すようループ処理を続行する。セル要素に対するループ処理Ｓ１４０９において、セル要素を注目ノードとして、関数Ｓ１３０５が呼び出されている場合には、電子文書記述生成部２０５は、次のセル要素を注目ノードとするようループ処理を続行する。セル内容としてリンクされる領域ノードに対するループ処理Ｓ１４１３にて、関数Ｓ１３０５が呼び出されている場合は、電子文書記述生成部２０５は、リンクリストの次の領域ノードを注目ノードとして関数Ｓ１３０５を呼び出すようループ処理を続行する。
【０１１１】
図１３に戻り、以降の処理について説明する。Ｓ１３０６では、電子文書記述生成部２０５は、ページの終端データを出力する。なお、Ｓ１３０５の再帰処理が終了した時点で、領域データ２０７中に含まれるノードにあり、１ページの内容として出力すべきデータの出力は完了している。
【０１１２】
Ｓ１３０７では、電子文書記述生成部２０５は、追加のページがあるか否かを調べる。追加のページは、図２の電子文書記述生成処理が複数ページの出力電子文書２１０を出力するよう動作している場合に、追加の画像が入力された際に発生する。追加のページがある場合は（Ｓ１３０７にてＹＥＳ）、電子文書記述生成部２０５は、Ｓ１３０３に戻って以下の処理を繰り返す。追加のページが無い、すなわちこれ以上画像が入力されない場合は（Ｓ１３０７にてＮＯ）、Ｓ１３０８へ進む。
【０１１３】
Ｓ１３０８では、電子文書記述生成部２０５は、電子文書の終端データを出力する。本データの追加により完結した電子文書データが出力バッファ上に完成する。最後にＳ１３０９では、電子文書記述生成部２０５は、出力バッファ上の電子文書データを出力電子文書２１０として、利用者により予め指定されたＰＣ等の宛先に送信し、電子文書生成処理を終了する。
【０１１４】
なお、上記では、十分なサイズの出力バッファに出力電子文書２１０の全体を書き出すよう説明したが、もっと小さい出力バッファサイズで処理できるようにしてもよい。例えば、各ページの終端データを出力した時点で出力バッファの内容を指定送信先へと送信し、次ページの内容はクリアされた出力バッファの先頭から書き出すようにしてもよい。あるいはもっと小さい単位で出力バッファへの書き出しと送信、クリアを繰り返すようにしてもよい。
【０１１５】
（電子文書記述生成部による処理結果の例（その１））
図１３および図１４の具体的な処理内容の実例を示すために、図９（ｃ）および図９（ｄ）の領域データを入力とした場合の動作例、および出力例を以下に説明する。以下では、電子文書生成処理の制御パラメータとして、図１３のＳ１３０１にて指定される出力モードと、図１４のＳ１４０２で参照される出力対象の定義テーブルの組み合わせのケースを２通り設定し、それぞれのケースでの動作と出力例を説明する。
【０１１６】
まず、電子文書生成処理の制御パラメータとして、出力モードに“表形式”が指定され、出力対象の定義テーブルに、図１６の定義１６０１が指定されているケースの出力例を、図１７（ａ）の出力１７００に示す。出力１７００は、本説明の為の仮想の電子文書フォーマットに基づいた電子文書の例である。この出力１７００は、図１３、図１４中のデータ出力を行う各処理ステップから出力されたデータの記述１７０１〜１７１８によって構成されている。以下、出力１７００の生成過程を図１３および図１４の処理内容に沿って説明する。
【０１１７】
図１３フローチャートのＳ１３０１の処理にて、本ケースの前提にとなる“表形式”の出力モードが設定される。続くＳ１３０２、Ｓ１３０３にて、電子文書記述生成部２０５は、電子文書の開始データ、およびページの開始データとして、それぞれ記述１７０１、１７０２を出力する。ここで、ページの開始データを示す記述１７０２は、ページサイズの情報である幅２４８０、高さ３５２０を含んでいる。
【０１１８】
Ｓ１３０４で、電子文書記述生成部２０５は、図９（ｃ）の領域データにおけるルートノードを注目ノードに設定し、関数Ｓ１３０５を呼び出す。関数Ｓ１３０５の処理内容として、図１４に移り、電子文書記述生成部２０５は、Ｓ１４０１にて判定を行う。ここでは、出力モードは表形式なのでＳ１４０６に進む。そして、注目ノードは、ルートノードなので、Ｓ１４０７を経てＳ１４０２に進む。
【０１１９】
Ｓ１４０２では、電子文書記述生成部２０５は、図１６の定義１６０１を参照する。そして、ルートノードには出力対象となる背景画像データがあるので、Ｓ１４０３に進む。Ｓ１４０３では、電子文書記述生成部２０５は、背景画像データを出力電子文書のフォーマットに変換した記述１７０３を出力する。この記述１７０３は、インライン参照される圧縮画像データを、画像オブジェクトとして電子文書ページの指定範囲にイメージ描画する記述である。
【０１２０】
Ｓ１４０４に進み、ルートノードには子領域ノード９２０があるのでＳ１４０５に進む。ループ処理Ｓ１４０５内では、電子文書記述生成部２０５は、フラット領域である子領域ノード９２０に対して関数Ｓ１３０５を呼び出し、同領域を注目ノードとしたＳ１４０１以降の処理を行う。
【０１２１】
上記同様に、Ｓ１４０１、Ｓ１４０６、Ｓ１４０７、Ｓ１４０２と進む。Ｓ１４０２では図１６の定義１６０１により、フラット領域の出力対象は無いので、Ｓ１４０４に進む。そして、電子文書記述生成部２０５は、子領域ノード９２１，９３０，９２９，９２４のそれぞれに対し、ループ処理Ｓ１４０５内で関数Ｓ１３０５を呼び出す。
【０１２２】
最初の３つの子領域ノードに対する処理フローは上述の子領域ノード９２０の場合と同等なので、詳細な説明は省略するが、子領域ノード９２１に対しては文字データが出力対象となり記述１７０４が出力される。記述１７０４は電子文書ページの指定範囲、サイズ、色で文字列を文字オブジェクトとして配置する記述である。子領域ノード９３０に対しては切り出し画像データが出力対象となり記述１７０５が出力される。記述１７０５は記述１７０３同様の画像オブジェクトを出力するイメージ描画の記述である。子領域ノード９２９に対してはベクトルデータを出力する記述１７０６が出力される。記述１７０６は、パスオブジェクトとして連続する直線・曲線パスを描画し塗色するベクトル描画記述である。なお、これらのノードは子領域を持たないので、関数Ｓ１３０５はＳ１４０４以降の処理は行われずに終了する。
【０１２３】
一方、最後の子領域である子領域ノード９２４に対しては、表領域であるのでＳ１４０６からＳ１４０８に進み、電子文書記述生成部２０５は、表形式オブジェクトの開始データである記述１７０７を出力する。記述１７０７には、表形式オブジェクトのパラメータとして、表領域の範囲座標、表の構造解析によって得られた行数と列数、そして行列構造の境界位置の座標リストが含まれる。
【０１２４】
続くＳ１４０９は、表領域に関連づけられたセル要素、すなわち図９（ｄ）のセル要素９４１、９４２、９４３に対しそれぞれ関数Ｓ１３０５を呼び出すループ処理である。セル要素９４１に対する処理では、電子文書記述生成部２０５は、Ｓ１４０１、Ｓ１４０６、Ｓ１４０７からＳ１４１１に進み、セルの開始データとなる記述１７０８を出力する。このセル開始記述は、同セルの構造情報である論理座標“１，１”を含む。
【０１２５】
Ｓ１４１２にて、セル要素９４１は、セル内容としての子領域ノード９２２へのリンクを有しているので、ループ処理Ｓ１４１３に進む。そして、電子文書記述生成部２０５は、子領域ノード９２２への関数Ｓ１３０５呼び出しを行う。同呼び出し処理のフローは前述の文字領域ノードを注目ノードとした場合のフローと同様なので省略するが、結果として文字領域である子領域ノード９２２に関連づけられた文字データによる、文字オブジェクトの記述１７０９が出力される。
【０１２６】
ループが終了するとＳ１４１４に進み、電子文書記述生成部２０５は、セルの終了データである記述１７１０を出力する。
【０１２７】
その後、セル要素９４１に対する関数Ｓ１３０５の処理が終了したので、電子文書記述生成部２０５は、ループ処理Ｓ１４０９により次のセル要素９４２に対する関数Ｓ１３０５の呼び出し処理を行う。同様に、電子文書記述生成部２０５は、結果として論理座標“２，１”のセル開始記述１７１１、セル内容としての文字領域である子領域ノード９２３に関連づけられた文字データの記述１７１２、セル終了記述１７１３を出力する。
【０１２８】
最後のセル要素９４３に対して、電子文書記述生成部２０５は、論理座標の開始位置“１，２”、終了位置“２，２”のセル開始記述１７１４を出力した後、このセルに対しては、セル内容が無いため、続けてセル終了記述１７１５を出力する。
【０１２９】
電子文書記述生成部２０５は、全セル要素を処理した後、Ｓ１４０９のループを終了し、Ｓ１４１０にて電子文書記述生成部２０５は、表形式の終了データである記述１７１６を出力する。この関数Ｓ１３０５の終了により、子領域ノード９２０に対する全ての子領域ノードへの処理が終了する為、電子文書記述生成部２０５は、図１３に戻りＳ１３０６に進む。
【０１３０】
Ｓ１３０６では、電子文書記述生成部２０５は、ページの終端データとして記述１７１７を出力する。ここでは追加のページは無いためＳ１３０８に進み、電子文書記述生成部２０５は、電子文書の終端データである記述１７１８を出力する。
【０１３１】
以上により完成した電子文書の出力１７００がＳ１３０９で指定送信先へと送られることになる。
【０１３２】
（電子文書記述生成部による処理結果の例（その２））
次に、電子文書生成処理の制御パラメータとして、出力モードに“通常出力モード”が指定され、出力対象の定義テーブルとして、図１６の定義１６０２が指定されているケースの出力例を、図１７（ｂ）の出力１７５０に示す。出力１７５０も、本説明の為の仮想の電子文書フォーマットに基づいた電子文書の例である。出力１７５０は、図１３、図１４中のデータ出力を行う各処理ステップから出力されたデータの記述１７５１〜１７６５によって構成されている。以下、出力１７５０の生成過程を図１３および図１４の処理内容に沿って説明する。
【０１３３】
図１３に示すフローチャートのＳ１３０１の処理にて、本ケースの前提により“通常出力モード”が設定される。続くＳ１３０２で、電子文書記述生成部２０５は、電子文書の開始データの記述１７５１を出力する。この記述１７５１は出力モードが表形式ではないことに対応して、出力１７００とは別形式の電子文書フォーマットを宣言するものである。ただし、本例では説明を簡略にするため、ページ内容を構成するオブジェクト記述のフォーマットは出力１７００と同様であるとする。
【０１３４】
Ｓ１３０３にて、電子文書記述生成部２０５は、ページサイズの情報を含むページの開始データとして記述１７５２を出力する。Ｓ１３０４で、電子文書記述生成部２０５は、図９（ｃ）領域データのルートノードを注目ノードに設定し、関数Ｓ１３０５を呼び出す。
【０１３５】
図１４に移り、Ｓ１４０１で、出力モードは表形式では無いのでＳ１４０２に進む。Ｓ１４０２では電子文書記述生成部２０５は、図１６の定義１６０１を参照する。ここでは、ルートノードには出力対象となる背景画像データがあるのでＳ１４０３に進む。
【０１３６】
Ｓ１４０３では、電子文書記述生成部２０５は、背景画像データを画像オブジェクトとして配置する記述１７５３を記述する。Ｓ１４０４に進み、ルートノードには子領域ノード９２０があるのでＳ１４０５に進む。
【０１３７】
電子文書記述生成部２０５は、ループ処理のＳ１４０５内では、フラット領域である子領域ノード９２０に対して関数Ｓ１３０５を呼び出し、同領域を注目ノードとしたＳ１４０１以降の処理を行う。ここで、出力モードが“通常モード”の場合、図１４のＳ１４０６側に処理が進むことはない。よって、電子文書記述生成部２０５は、領域データのツリー順に、各領域ノードに対する関数Ｓ１３０５の処理を共通のフローで行う。その結果、図１６の定義テーブルに従って対象領域のオブジェクトを記述するデータが順に出力されることになる。
【０１３８】
以下、ツリー順に処理される順番で出力内容を説明すると、フラット領域である子領域ノード９２０に対しては、関連づけられたデータが無いので出力は行われない。文字領域である子領域ノード９２１に対しては、文字領域である画素塊９０１の文字線をベクトル化したパスオブジェクトのデータとして記述１７５４が出力される。自然画領域である子領域ノード９３０に対しては、切り出し画像のオブジェクトを配置するデータとして記述１７５５が出力される。線画領域である子領域ノード９２９に対しては、線画のベクトルデータをパスオブジェクトとして描画する記述１７５６が出力される。
【０１３９】
表領域である子領域ノード９２４に対しては、表枠のベクトルデータをパスオブジェクトとして記述する記述１７５７が出力される。フラット領域である子領域ノード９２５に対しては、フラット領域のベクトルデータをパスオブジェクトとして描画する記述１７５８が出力される。文字領域である子領域ノード９２２に対しては、文字領域である画素塊９０２のベクトル化データをパスオブジェクトとして描画する記述１７５９が出力される。以下同様に、ノード９２６、９２３、９２７、９２８に対し記述１７６０、１７６１、１７６２、１７６３が出力される。
【０１４０】
電子文書記述生成部２０５は、全領域ノードの出力処理が終了すると、図１３に戻ってＳ１３０６ではページの終端データとして記述１７６４を出力する。ここでは追加のページは無いためＳ１３０８に進み、電子文書記述生成部２０５は、電子文書の終端データである記述１７６５を出力する。以上により完成した電子文書の出力１７５０がＳ１３０９で指定送信先へと送られることになる。
【０１４１】
（ＰＣにおける画面の例）
次に、本発明の画像処理装置１００が実施する電子文書生成処理によって生成された出力電子文書２１０を受けとったＰＣの動作例を図１８に示す。
【０１４２】
図１８（ａ）は、図１７の出力１７００に示される、表形式の記述を含む出力電子文書２１０を利用可能なアプリケーション１８０１の動作画面の例である。アプリケーション１８０１はＰＣ１２０上で動作するＧＵＩベースのウィンドウプログラムであり、ユーザのキーボード入力やマウス操作によって文字入力や図形入力を受けつける。そして、紙面レイアウトと同等のページ表示を行いながら、その編集が可能な電子文書作成環境を提供する、いわゆるワードプロセッサである。アプリケーション１８０１は編集後または途中の電子文書の状態を、専用もしくは汎用の電子文書ファイルとして保存することが可能である。図１７の出力１７００は、この電子文書のフォーマットで記述されているものとする。
【０１４３】
図１８（ａ）のページ画面１８０２は、アプリケーション１８０１で出力１７００の電子文書を読み込み、同文書のページ内容として表示したページ画面の例である。ページ画面１８０２は、記述１７０２のサイズ指定に従って作成され、以降の記述によりページ内容のオブジェクトを順に描画した状態にある。
【０１４４】
まず、記述１７０３によりページ全体を覆うように背景画像データが描画される。以降の記述によるグラフィックスデータ、画像データは、それぞれこの背景に対する前景オブジェクトとして重畳描画される。
【０１４５】
文字部分１８０３は、図１７の記述１７０４により文字オブジェクトとして配置された文字列である。記述１７０４は、指定の座標範囲に、入力画像から抽出した文字画素塊色である黒色で、文字列“ＡＢＣ（改行）ＤＥＦ”を描画する記述である。なお、記述１７０４にフォントの指定は無いため、文字部分１８０３はアプリケーション１８０１のデフォルトフォントで文字列が描画されている。オブジェクト１８０４は記述１７０５に従って配置された切り出し画像のオブジェクトであり、オブジェクト１８０５は記述１７０６に従ってベクトル描画された線画オブジェクトである。
【０１４６】
オブジェクト１８０６は、記述１７０７〜１７１５に基づいて描画された表形式のオブジェクトであり、記述１７０７に指定されるように２行２列の行列構造で３つのセル領域を有するように描画されている。そして、上段２つのセル内部には、それぞれ記述１７０９および１７１２に基づき、それぞれ青色の文字列“ｗｘ”、赤色の文字列“ｙｚ”が配置されている。
【０１４７】
なお、表１８０６内部の表枠・文字以外の部分は何も描画しないように設定されており、背景画像の画素がそのまま透過して見えるようになっている。ここで背景画像は図１２（ｃ）の背景画像１２３０のように表セルの背景にあたるフラット領域の画素を残しているので、表のオブジェクト１８０６は入力画像と同様の背景色を持つように見える。
【０１４８】
前述のとおり、アプリケーション１８０１では、表示された出力電子文書内の各オブジェクトに対する移動、変形といった編集操作が可能である。特に本例では、文字部分１８０３や文字部分１８０７、１８０８は文字コード列になっているので、文字の追加、削除や、フォント、書体、サイズ、色の変更といった、文字に対する編集操作を自由に行うことが可能である。また、表部分であるオブジェクト１８０６は表形式で表現されているため、セルの追加、削除や変形、罫線種類の変更といった表の編集操作を自由に行うことが可能である。よって、入力画像に対し、文字や表の編集を含む再利用を行いたい場合には、アプリケーション１８０１で利用可能な電子文書に変換することが好適である。
【０１４９】
なお、図１７（ａ）に示す形式はあくまで一例であって、他の電子文書形式やオブジェクト記述方式を用いてもよい。特に、表形式のオブジェクト記述である記述１７０７〜１７１６の部分には、図１７（ｃ）のように、行数分のセル行要素が列数分のセル要素を含むような記述を用いてもよい。また、表のセル内に文字以外の領域の記述が含まれてもよい。
【０１５０】
一方、図１８（ｂ）は、図１７の出力１７５０に示される電子文書を利用可能なアプリケーション１８２１の動作画面の例である。アプリケーション１８２１は１８０１同様に、ＰＣ１２０上で動作するＧＵＩベースのウィンドウプログラムであり、ユーザが主にマウス操作による線分描画等で作図を行う、いわゆるドローイングツール等と呼ばれるものである。アプリケーション１８２１は、アプリケーション１８０１同様、編集後または途中の電子文書の状態を、専用もしくは汎用の電子文書ファイルとして保存することが可能である。図１７の出力１７５０は、この電子文書のフォーマットで記述されているものとする。
【０１５１】
図１８（ｂ）のページ画面１８２２は、アプリケーション１８２１で出力１７５０の電子文書を読み込み、同文書のページ内容として表示したページ画面の例である。ページ画面１８２２は、記述１７５２のサイズ指定に従って作成され、以降、記述１７５３〜１７６３に基づいて、ベクトルデータもしくは画像データが順に描画されていく。
【０１５２】
これらの記述は、図１３および図１４の処理フローによって、領域データ２０７の領域ツリー順に出力されていることに特徴がある。図９（ｃ）の領域ツリーの例の場合、子領域ノード９２０、９２１、９３０、９２９、９２４、９２５、９２２、９２６、９２３、９２７、９２８の順番である。そして、それぞれ出力データが記述１７５３、１７５４、１７５５、１７５６、１７５７、１７５８、１７５９、１７６０、１７６１、１７６２、１７６３の順番で出力されている。
【０１５３】
ここで、２つの記述の描画範囲が重なる場合、後の記述による描画オブジェクトによって、前の記述による描画オブジェクトは上書きされることになる。例として、記述１７５８および記述１７５９は、図９の表領域である画素塊９０４内部にある背景としての画素塊９０５とセル内の文字列である画素塊９０２の描画データである。これらは、図９（ｂ）の画素塊の包含関係から導かれる領域ノード間の親子関係により、セル背景のフラット領域である子領域ノード９２５のデータ、セル内の文字領域である子領域ノード９２２のデータの順に記述されている。ここで、フラット領域のベクトルデータは、文字のベクトルデータに重畳されることを前提に、図１２（ｂ）に示すベクトルデータ１２１３のように内輪郭を再現しないベクトルデータにすることができる。このことはベクトルデータの記述量を減らし、生成される電子文書をコンパクトにする効果がある。
【０１５４】
アプリケーション１８２１では、表示された出力電子文書内の各オブジェクトに対する移動、変形といった編集操作が可能である。アプリケーション１８０１とは異なり、ベクトルデータで表現された文字に対する文字編集は不可能である。一方、文字部分の表現において、アプリケーションで利用可能なフォント種類に依存しないため、アプリケーション１８０１に比べて入力画像により忠実な表示が得られる。その為、見た目の一致度を重視して入力画像を再利用する場合には、本アプリケーションで利用可能な電子文書を生成することが好適となる。
【０１５５】
なお、図１７における両記述の形式はあくまで一例であって、他の一般に公開された記述形式を用いてもよい。例えば、ＰＤＦ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｏｒｍａｔ）、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、ＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）などのグラフィックスページ記述を用いてもよい。また、Ｏｆｆｉｃｅ  Ｏｐｅｎ  ＸＭＬ、Ｏｐｅｎ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔなどのページ編集データ記述などを用いてもよい。また、図１７の出力１７００と出力１７５０のように異なる電子文書フォーマットではなく、同一のフォーマットでオブジェクトの表現方式を変更するように電子文書を生成してもよい。
【０１５６】
以上説明したように、本発明に係る画像処理装置が実施する電子文書生成処理では、減色処理された入力画像に対し画素塊解析処理を行い、同色画素塊の抽出と、その相互関係を示す画素塊データを構築する。この画素塊データに対しレイアウト解析処理を行い、入力画像に存在する各種文書領域を特定し、同領域をノードとするツリー構造で表現した領域データを作成する。更に、このレイアウト解析処理において表解析を行い、各表領域に表内のセル構造を特定するセル要素リストを関連づける。
【０１５７】
またセル要素には、領域ツリー中でセル内容に相当する領域ノードへのリンクを保持させる。そして、出力電子文書におけるオブジェクト内容のデータとして、各領域に対応するグラフィックスデータを生成し、関連づける。また文字領域に対しては、文字認識を行って文字データを関連づける。そして最後に、上記生成された領域データ、グラフィックスデータ、および文字データから、出力電子文書の記述を生成する。
【０１５８】
このとき、表形式の出力モードでは、領域データの表領域を表オブジェクトとして、それ以外は各領域に関連付けられたグラフィックス又は文字オブジェクトとして、領域ツリー順に出力する記述を生成する。この場合、表領域以下のノードを処理する際、子領域ノードではなく、表領域に付加されたセル要素リストにアクセスする。そして、各セル要素が保持するリンク先の領域に関連づけられたオブジェクトデータをセル内容として記述する。これにより、セル構造に基づいて、表内の各領域のオブジェクトが配置された、表形式のオブジェクトを出力することが可能になる。
【０１５９】
一方、表形式ではない出力モードでは、表を含むすべての領域に対して領域ツリー順に処理し、各領域に関連付けられたグラフィックスオブジェクトを出力する記述を生成する。
【０１６０】
すなわち本実施形態によれば、画素塊構造の解析結果より生成されたツリー構造の領域データに、表解析結果によるセル構造に基づくアクセス手段を付与する。これは、出力される電子文書に、セル構造を持った表形式のオブジェクトを含めることを可能にする効果がある。また、領域データは包含関係に基づく領域のツリー構造も保持しているので、ツリー順に各領域のグラフィックスデータを記述するだけで、効率良く電子文書のオブジェクト記述を生成することができる。
【０１６１】
更に、表オブジェクトの出力内容を表形式にするかグラフィックス形式にするかを、領域データの表領域以下に対するデータアクセス方法により変更できる。すなわち、ひとつの領域データを用いて、生成する電子文書に表形式を含めるか否かを、電子文書の記述段階で容易に切り替えられる効果がある。
【０１６２】
＜第二実施形態＞
本発明の第一実施形態では、画像処理装置が実施する図２の電子文書生成処理を、画像の入力から電子文書の出力までを１単位の処理として説明した。これを、画素塊解析部２０１〜文字認識部２０４の解析・データ生成処理部と、それらデータから電子文書記述を生成する電子文書記述生成部２０５の２つに分割してもよい。つまり、前半の解析・データ生成処理は、領域データ２０７、グラフィックスデータ２０８、文字データ２０９をメモリ１０３もしくはハードディスク１０４に記憶して終了する。
【０１６３】
続く電子文書記述生成部２０５は、ここまでに記憶されたデータ（領域データ２０７〜文字データ２０９）に対して電子文書の記述を生成するよう動作する。そして、ひとつの入力から生成されたデータに複数回の電子文書記述生成処理を施すことで、複数種類の電子文書を生成するように構成してもよい。このとき、電子文書記述生成部２０５の制御パラメータである、出力モードおよび領域種別毎の出力対象の定義テーブルは、処理毎に変更することができる。
【０１６４】
すなわち、一回の解析・データ生成処理で得たデータ（領域データ２０７〜文字データ２０９）から、表形式オブジェクトを含む電子文書と含まない電子文書の両方を出力することが可能である。あるいは、過去に記憶された複数のデータ（領域データ２０７〜文字データ２０９）の中から、ユーザが変換対象を選ぶ。そして、出力電子文書形式を指示することで、指示に合ったデータ形式を持つ電子文書を生成することも可能である。
【０１６５】
すなわち本実施形態によれば、第一実施形態の効果に加え、更に、解析処理により得られたデータを記憶しておくことで、同じデータに対し出力形式を指定して複数の電子文書を生成することができる。これにより、入力画像から一度解析データを得る処理を実施しておけば、表形式オブジェクトの有無を含む複数形式の電子文書を生成することが可能となり、処理時間や処理リソースを削減する効果がある。
【０１６６】
＜第三実施形態＞
本発明に係る第一、第二実施形態では、表形式のオブジェクトを生成するか否かを、電子文書記述生成処理における出力モードとして設定し、入力画像から抽出されたすべての表領域に対して一律に作用するようにしていた。これを、電子文書記述生成処理内で、表領域ごとに表形式のオブジェクトを生成するか否かを選択できるようにしてもよい。
【０１６７】
図１９は、図２の電子文書記述生成部２０５の処理を説明する図１３のフローチャートにおける、関数Ｓ１３０５の別の実施形態を説明するフローチャートである。なお、図１９にて図１４と同じ記号が付与されたステップは、図１４と同一の動作をするものとする。よって、重複する部分については、説明を省略する。
【０１６８】
図１４との唯一の差分となるＳ１９０１では、電子文書記述生成部２０５は、注目の表領域ノードを表形式で出力するか否かを判定する。この判定は、表領域に付与されている情報である、セルの行列構造の複雑度から決めればよい。例えば、行数と列数が共に“１”の場合には、出力電子文書２１０でセル構造を再現する必要性は低く、逆に飾り枠の領域であるなど、表形式よりもグラフィックスのオブジェクトで表現するほうが適切である可能性もある。なお、これはあくまで一例であり、あるいは表枠画素塊の色や形状、表内フラット領域の分割数、セル内の文字認識結果などを考慮して決めてもよい。あるいは、ユーザに領域データを提示し、各表領域の出力形式を対話的に指定できるようにしてもよい。
【０１６９】
表形式で出力すると判定した場合（Ｓ１９０１にてＹＥＳ）は、Ｓ１４０８に進み、電子文書記述生成部２０５は、以降、図１４の説明と同様に、セル構造に基づく表オブジェクトの記述を出力する。それ以外の場合は（Ｓ１９０１にてＮＯ）、Ｓ１４０２に進み、図１４の説明と同様に、表枠およびそれらの子領域のグラフィックスデータによるオブジェクト記述が出力されるよう処理される。
【０１７０】
すなわち本発明に係る第三実施形態によれば、第一実施形態の効果に加え、更に、表オブジェクトの出力方法を、モード指定制御および対象表領域の特性に基づいて、表領域以下のデータアクセス方法変更により切り替える。よって、出力電子文書に表形式を含めるか否かを、電子文書の記述段階で容易に切り替えつつ、表形式の出力が適切な表領域のみが、表形式のオブジェクトで出力されるという効果がある。
【０１７１】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１７２】
また、本発明は、図２の各処理部の一部または全部を、電子回路等のハードウェアを用いて実現してもよい。
【図１】
0005824309.tif 000002
【図２】
0005824309.tif 000003
【図３】
0005824309.tif 000004
【図４】
0005824309.tif 000005
【図５】
0005824309.tif 000006
【図６】
0005824309.tif 000007
【図７】
0005824309.tif 000008
【図８】
0005824309.tif 000009
【図９】
0005824309.tif 000010
【図１０】
0005824309.tif 000011
【図１１】
0005824309.tif 000012
【図１２】
0005824309.tif 000013
【図１３】
0005824309.tif 000014
【図１４】
0005824309.tif 000015
【図１５】
0005824309.tif 000016
【図１６】
0005824309.tif 000017
【図１７】
0005824309.tif 000018
【図１８】
0005824309.tif 000019
【図１９】
0005824309.tif 000020
【図２０】
0005824309.tif 000021
【図２１】
0005824309.tif 000022
【図２２】
0005824309.tif 000023