(57)【特許請求の範囲】
【請求項１】
複数ページからなる文書画像のうちの処理対象ページの文書画像を、本文領域と、キャプション領域と、該キャプション領域が付随するオブジェクト領域とに分割する領域分割手段と、
前記領域分割手段により分割された前記本文領域と前記キャプション領域とのそれぞれに含まれる文字情報を取得する文字情報取得手段と、
前記本文領域から取得した文字情報を、所定の集合単位で分割し、当該分割した集合単位の文字情報と位置情報とをメモリに蓄積する蓄積手段と、
前記処理対象ページの文書画像のページ描画データを生成して出力するページ描画データ生成手段と、
前記複数ページからなる文書画像をページ毎に順番に前記処理対象ページとして、前記領域分割手段と前記文字情報取得手段と前記蓄積手段と前記ページ描画データ生成手段とによる処理を繰り返し実行する繰り返し手段と、
前記繰り返し手段によって前記領域分割手段と前記文字情報取得手段と前記蓄積手段と前記ページ描画データ生成手段とによる処理が前記複数ページからなる文書画像全てに対して繰り返し実行された後、前記キャプション領域から取得した文字情報からアンカー表現を抽出するアンカー表現抽出手段と、
前記メモリに前記集合単位で蓄積されている文字情報に基づいて、前記アンカー表現抽出手段で抽出されたアンカー表現を含む集合単位を検索するアンカー表現検索手段と、
前記アンカー表現検索手段で検索された集合単位と、当該アンカー表現を含むキャプション領域が付随するオブジェクト領域とを関連づけたリンク生成用情報を生成するリンク情報生成手段と、
前記リンク生成用情報に基づいて、前記オブジェクト領域と前記集合単位に含まれるアンカー表現との間のリンク機能を表現する記述を生成させるためのプログラムコードと、前記ページ描画データ生成手段で出力されたページ描画データとを含む電子文書データを生成する電子文書データ生成手段と
を有し、
前記電子文書データに含まれるプログラムコードは、該電子文書データが利用される際に動作することにより、前記オブジェクト領域と前記集合単位に含まれるアンカー表現との間のリンク機能を表現する記述を動的に生成することを特徴とする画像処理装置。
【請求項２】
前記アンカー表現検索手段は、更に、前記アンカー表現抽出手段で抽出されたアンカー表現の曖昧パターンを含む集合単位も検索することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記オブジェクト領域は、図、写真、表の少なくともいずれかの属性を有する領域であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記蓄積手段は、前記本文領域から取得した文字情報を、前記文書画像に含まれる文字の量に応じた集合単位で分割し、当該分割した集合単位の文字情報と位置情報とをメモリに蓄積することを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
領域分割手段が、複数ページからなる文書画像のうちの処理対象ページの文書画像を、本文領域と、キャプション領域と、該キャプション領域が付随するオブジェクト領域とに分割する領域分割工程と、
文字情報取得手段が、前記領域分割工程にて分割された前記本文領域と前記キャプション領域とのそれぞれに含まれる文字情報を取得する文字情報取得工程と、
蓄積手段が、前記本文領域から取得した文字情報を、所定の集合単位で分割し、当該分割した集合単位の文字情報と位置情報とをメモリに蓄積する蓄積工程と、
ページ描画データ生成手段が、前記処理対象ページの文書画像のページ描画データを生成して出力するページ描画データ生成工程と、
繰り返し手段が、前記複数ページからなる文書画像をページ毎に順番に前記処理対象ページとして、前記領域分割工程と前記文字情報取得工程と前記蓄積工程と前記ページ描画データ生成工程とによる処理を繰り返し実行する繰り返し工程と、
アンカー表現抽出手段が、前記繰り返し工程にて前記領域分割工程と前記文字情報取得工程と前記蓄積工程と前記ページ描画データ生成工程とによる処理が前記複数ページからなる文書画像全てに対して繰り返し実行された後、前記キャプション領域から取得した文字情報からアンカー表現を抽出するアンカー表現抽出工程と、
アンカー表現検索手段が、前記メモリに前記集合単位で蓄積されている文字情報に基づいて、前記アンカー表現抽出工程にて抽出されたアンカー表現を含む集合単位を検索するアンカー表現検索工程と、
リンク情報生成手段が、前記アンカー表現検索工程にて検索された集合単位と、当該アンカー表現を含むキャプション領域が付随するオブジェクト領域とを関連づけたリンク生成用情報を生成するリンク情報生成工程と、
電子文書データ生成手段が、前記リンク生成用情報に基づいて、前記オブジェクト領域と前記集合単位に含まれるアンカー表現との間のリンク機能を表現する記述を生成させるためのプログラムコードと、前記ページ描画データ生成工程にて出力されたページ描画データと、を含む電子文書データを生成する電子文書データ生成工程と、
を有し、
前記電子文書データに含まれるプログラムコードは、該電子文書データが利用される際に動作することにより、前記オブジェクト領域と前記集合単位に含まれるアンカー表現との間のリンク機能を表現する記述を動的に生成することを特徴とする画像処理方法。
【請求項６】
コンピュータを、
複数ページからなる文書画像のうちの処理対象ページの文書画像を、本文領域と、キャプション領域と、該キャプション領域が付随するオブジェクト領域とに分割する領域分割手段、
前記領域分割手段により分割された前記本文領域と前記キャプション領域とのそれぞれに含まれる文字情報を取得する文字情報取得手段、
前記本文領域から取得した文字情報を、所定の集合単位で分割し、当該分割した集合単位の文字情報と位置情報とをメモリに蓄積する蓄積手段、
前記処理対象ページの文書画像のページ描画データを生成して出力するページ描画データ生成手段、
前記複数ページからなる文書画像をページ毎に順番に前記処理対象ページとして、前記領域分割手段と前記文字情報取得手段と前記蓄積手段と前記ページ描画データ生成手段とによる処理を繰り返し実行する繰り返し手段、
前記繰り返し手段によって前記領域分割手段と前記文字情報取得手段と前記蓄積手段と前記ページ描画データ生成手段とによる処理が前記複数ページからなる文書画像全てに対して繰り返し実行された後、前記キャプション領域から取得した文字情報からアンカー表現を抽出するアンカー表現抽出手段、
前記メモリに前記集合単位で蓄積されている文字情報に基づいて、前記アンカー表現抽出手段で抽出されたアンカー表現を含む集合単位を検索するアンカー表現検索手段、
前記アンカー表現検索手段により検索された集合単位と、当該アンカー表現を含むキャプション領域が付随するオブジェクト領域とを関連づけたリンク生成用情報を生成するリンク情報生成手段、
前記リンク生成用情報に基づいて、前記オブジェクト領域と前記集合単位に含まれるアンカー表現との間のリンク機能を表現する記述を生成させるためのプログラムコードと、前記ページ描画データ生成手段で出力されたページ描画データとを含む電子文書データを生成する電子文書データ生成手段
として機能させ、
前記電子文書データに含まれるプログラムコードは、該電子文書データが利用される際に動作することにより、前記オブジェクト領域と前記集合単位に含まれるアンカー表現との間のリンク機能を表現する記述を動的に生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書画像からオブジェクトを検索可能な電子文書データを生成する画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、文書中の、「オブジェクト」（例えば、写真、図面、線画、表等）と「オブジェクトの説明文」（オブジェクトの説明や解説等を行う本文中の文章）を含む紙文書、または電子文書が広く利用されている。「オブジェクトの説明文」とは、主たる文章である本文の中で、前述の「オブジェクト」を説明／解説するものである。それらの関係付けのために、「図１」などの表現を使用することが多い。この「図１」のように、「オブジェクト」と「オブジェクトの説明文」のそれぞれを関係付けるためのものを、「アンカー表現」と呼ぶ。また、「オブジェクト」の近傍にあるキャプション領域には、「アンカー表現」と、その「オブジェクト」を説明する説明文（「キャプション表現」と呼ぶこととする）があることが多い。
【０００３】
一方、紙文書を光学的に読み取った場合や、電子文書などにおいて、本文中からアンカー表現のみを抽出しようとすると、本文中のすべてのテキスト情報に対して、自然言語処理などを利用するなどの高度かつ処理負担が大きな解析を行い、抽出する必要がある。このような解析処理では、アンカー表現がどのように本文中に出現するか、または、使用されるかという知識を保有する必要がある。そのため、大量の本文のテキスト情報の中から、正確にアンカー表現を抽出することは難しく、非常に処理負担が大きなものとなりがちである。そして、その抽出精度が、オブジェクトのリンク機能で、正しくオブジェクトと、オブジェクトの説明文を対応させられるかという精度に大きな影響を与えるため、この抽出精度は非常に重要である。
【０００４】
これに対し、オブジェクトのキャプション内に記載されている文字数は本文に比べて少ないので、該キャプションを解析してアンカー表現を得る方が、本文を解析してアンカー表現を得る方法よりも相対的に容易である。そこで、先に、文書の解析を行う際に、先にオブジェクトのキャプションからアンカー表現を抽出し、本文中に該当するアンカー表現がある部分を文書中から探す方法を使用する方法が考えられる。また、電子文書を作成するために、解析した全ページの情報を保持しようとすると、大量の記憶容量が必要となる。そこで、各ページの処理時に、そのページについて電子文書の中に記載する内容だけを蓄積し、それ以外は破棄するような処理形態を用いることが考えられる。
【０００５】
このようなページ単位の処理を中心とした処理形態では、オブジェクトからアンカー表現を抽出した後に文書内のテキストに対して検索を行うことで、オブジェクトとオブジェクトの説明文を関係付ける処理は、全ページの処理後に行われる。そのために、各ページの処理で、電子文書に記載する内容として、そのページ内のオブジェクトに関する情報と、テキスト情報を抽出して蓄積しておく必要がある。この蓄積された情報をもとに、全ページ処理後、アンカー表現の抽出と、それに対する文書中のテキスト検索を行い、オブジェクトとオブジェクトの説明文を関係付ける処理を行う（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２５１１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記前提で、前述した「オブジェクト」と「オブジェクトの説明文」の間を容易に参照できるように、オブジェクトのリンク機能を実現しようとした場合を考える。このリンク機能の付加対象となる「オブジェクト」と「オブジェクトの説明文」の部分にこのリンク機能の操作部品を配置し、容易に参照できる機能を付加する。アンカー表現によって、「オブジェクト」と「オブジェクトの説明文」の対応関係が分かるのは、文書中の全ページの解析が終了した後であり、その結果を用いて、オブジェクトとのリンクを作成すれば良い。
【０００８】
しかし、そのリンク機能の付加対象となる本文中のテキストにおけるアンカー表現の正確な位置を認識できない場合には、その操作部品が配置できない。また本文中の説明文内のアンカー表現は、本文に対するアンカー表現の検索が終わるまで、本文中のテキストのどの文字部分が該当しているか不明である。そのために、各ページ処理後のテキスト情報は、その中の各文字の位置や大きさなどの情報も蓄積する必要が生じる。図１を用いて課題を説明する。図１（ａ）にて示した、文書データ１０１、１０２において、文書の本文１１１、文書中の説明文に含まれるアンカー表現１１２がある。また、文書中の図であるオブジェクト１１３、そのオブジェクトのキャプション１１４には、キャプション中のアンカー表現１１５がある。これに対し、図１（ｂ）において、図１（ａ）の本文１１１の先頭の一部を示したものが本文１３１であり、ページ単位の処理後、この中の各文字に対する文字の位置や大きさなどの情報が蓄積される。これに伴い、文書中の全文字の位置や大きさなどの情報を全部蓄積するとなれば、かなり大きな記憶容量（ワークメモリ）が必要となってしまう。
【０００９】
上記内容をふまえ、本発明は、リンク機能を有する電子文書データを自動的に作成すると共に、作成に必要な資源の削減を実現する。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は以下の構成を有する。すなわち、画像処理装置であって、複数ページからなる文書画像のうちの処理対象ページの文書画像を、本文領域と、キャプション領域と、該キャプション領域が付随するオブジェクト領域とに分割する領域分割手段と、前記領域分割手段により分割された前記本文領域と前記キャプション領域とのそれぞれに含まれる文字情報を取得する文字情報取得手段と、前記本文領域から取得した文字情報を、所定の集合単位で分割し、当該分割した集合単位の文字情報と位置情報とをメモリに蓄積する蓄積手段と、前記処理対象ページの文書画像のページ描画データを生成して出力するページ描画データ生成手段と、前記複数ページからなる文書画像をページ毎に順番に前記処理対象ページとして、前記領域分割手段と前記文字情報取得手段と前記蓄積手段と前記ページ描画データ生成手段とによる処理を繰り返し実行する繰り返し手段と、前記繰り返し手段によって前記領域分割手段と前記文字情報取得手段と前記蓄積手段と前記ページ描画データ生成手段とによる処理が前記複数ページからなる文書画像全てに対して繰り返し実行された後、前記キャプション領域から取得した文字情報からアンカー表現を抽出するアンカー表現抽出手段と、前記メモリに前記集合単位で蓄積されている文字情報に基づいて、前記アンカー表現抽出手段で抽出されたアンカー表現を含む集合単位を検索するアンカー表現検索手段と、前記アンカー表現検索手段で検索された集合単位と、当該アンカー表現を含むキャプション領域が付随するオブジェクト領域とを関連づけたリンク生成用情報を生成するリンク情報生成手段と、前記リンク生成用情報に基づいて、前記オブジェクト領域と前記集合単位に含まれるアンカー表現との間のリンク機能を表現する記述を生成させるためのプログラムコードと、前記ページ描画データ生成手段で出力されたページ描画データとを含む電子文書データを生成する電子文書データ生成手段とを有し、前記電子文書データに含まれるプログラムコードは、該電子文書データが利用される際に動作することにより、前記オブジェクト領域と前記集合単位に含まれるアンカー表現との間のリンク機能を表現する記述を動的に生成する。
【発明の効果】
【００１１】
本発明によれば、ページ単位で「オブジェクト」と「オブジェクトの説明文」との間に相互リンクを自動的に作成し、マルチページの電子文書を生成することが可能となる。これにより参照が容易になり、ユーザの可読性の向上につながる。
【００１２】
また、電子文書データ内の文字の位置をすべて保持する必要がなく、電子文書データ生成の処理効率も向上する。これにより、電子文書データ生成のために必要な資源の削減を実現する。更に、複雑な処理を電子文書データ作成時に行い、処理の分割を行うことで、電子文書データ利用時に速度遅延などが生じない。
【図面の簡単な説明】
【００１３】
【図１】背景技術および課題を説明するための図。
【図２】画像処理システムを示すブロック図。
【図３】ＭＦＰの構成を示すブロック図。
【図４】データ処理部の構成例を示すブロック図。
【図５】リンク処理部の構成例を示すブロック図。
【図６】入力データに対する領域分割および文字認識の結果を示す図。
【図７】入力データに対する電子文書データの記述例を示す図。
【図８】処理の概要を説明するフローチャートの図。
【図９】入力データに対する領域分割および文字認識の結果を示す図。
【図１０】処理の詳細なフローチャートの図。
【図１１】抽出処理により蓄積される情報を説明する図。
【図１２】辞書、抽出結果等の情報の内容を示す図。
【図１３】生成されるプログラム・モジュールの例を示す図。
【図１４】プログラム・モジュールの処理を示す図。
【図１５】追加されるリンク機能に対応する記述例を示す図。
【図１６】表示される文書データの内容を説明する図。
【図１７】第二の実施形態に係る処理のフローチャートの図。
【発明を実施するための形態】
【００１４】
＜第一の実施形態＞
［システム構成］
以下、本発明を実施するための形態について図面を用いて説明する。図２は本実施形態の画像処理システムの構成を示すブロック図である。図２において、オフィスＡ内に構築されたＬＡＮ２０２には、複数種類の機能（複写機能、印刷機能、送信機能等）を実現する複合機であるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）２００が接続されている。ＬＡＮ２０２は、プロキシサーバ２０３を介して外部のネットワーク２０４にも接続されている。情報処理装置であるクライアントＰＣ２０１はＬＡＮ２０２を介してＭＦＰ２００からの送信データを受信したり、ＭＦＰ２００が有する機能を利用したりする。例えば、クライアントＰＣ２０１は、印刷データをＭＦＰ２００へ送信することで、その印刷データに基づく印刷物をＭＦＰ２００で印刷することもできる。尚、図２の構成は一例であり、オフィスＡと同様の構成要素を有する、複数のオフィスがネットワーク２０４上に接続されていても良い。
【００１５】
ネットワーク２０４は、典型的にはインターネットやＬＡＮやＷＡＮや電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等で実現される通信ネットワークである。これは、データの送受信が可能なものであれば、何でも良い。また、クライアントＰＣ２０１、プロキシサーバ２０３の各種端末はそれぞれ、汎用コンピュータに搭載される標準的な構成要素を有している。例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク、外部記憶装置、ネットワークインタフェース、ディスプレイ、キーボード、マウス等である。
【００１６】
［ＭＦＰの詳細構成］
図３は本実施形態の画像処理装置であるＭＦＰ２００の詳細構成を示す図である。図３において、ＭＦＰ２００は、画像入力デバイスであるスキャナ部３０１と、画像出力デバイスであるプリンタ部３０２と、ＣＰＵ３０５等で構成される制御ユニット３０４と、ユーザインタフェースである操作部３０３等を有する。制御ユニット３０４は、スキャナ部３０１、プリンタ部３０２、操作部３０３と接続し、一方では、ＬＡＮ３１９や一般の電話回線網である公衆回線（ＷＡＮ）３２０と接続することで、画像情報やデバイス情報の入出力を行うコントローラである。
【００１７】
ＣＰＵ３０５は、制御ユニット３０４に含まれる各ユニットを制御する。ＲＡＭ３０６は、ＣＰＵ３０５が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ＲＯＭ３１０は、ブートＲＯＭであり、システムのブートプログラム等のプログラムが格納されている。記憶部３１１は、ハードディスクドライブで、システム制御ソフトウェア、画像データを格納する。操作部Ｉ／Ｆ３０７は、操作部（ＵＩ）３０３とのインターフェース部であり、操作部３０３に表示するための画像データを操作部３０３に対して出力する。また、操作部Ｉ／Ｆ３０７は、操作部３０３から本画像処理装置の使用者が入力した情報を、ＣＰＵ３０５に伝える役割を有する。ネットワークＩ／Ｆ３０８は、本画像処理装置をＬＡＮ３１９に接続し、パケット形式の情報の入出力を行う。モデム３０９は、本画像処理装置をＷＡＮ３２０に接続し、データの復調・変調を行うことにより情報の入出力を行う。以上のデバイスがシステムバス３２１上に配置される。
【００１８】
イメージバスＩ／Ｆ３１２は、システムバス３２１と画像データを高速で転送する画像バス３２２と接続し、データ構造を変換するバスブリッジである。画像バス３２２は、例えば、ＰＣＩバスやＩＥＥＥ１３９４で構成される。画像バス３２２上には以下のデバイスが配置される。ラスターイメージプロセッサ（ＲＩＰ）３１３は、ＰＤＬ（ページ記述言語）コードを解析し、指定された解像度のビットマップイメージに展開する、いわゆるレンダリング処理を実現する。この展開する際には、各画素単位あるいは領域単位で属性情報が付加されることになる。これを像域判定処理と呼ぶ。像域判定処理により、画素毎にあるいは領域毎に、文字（テキスト）や線（ライン）、グラフィクス、イメージ等といったオブジェクト種類を示す属性情報が付与される。
【００１９】
例えば、ＰＤＬコード内におけるＰＤＬ記述のオブジェクトの種類に応じてＲＩＰ３１３から像域信号が出力され、その信号値で示される属性に応じた属性情報が、オブジェクトに対応する画素や領域に関連づけて保存される。したがって画像データには、関連づけられた属性情報が付属している。デバイスＩ／Ｆ３１４は、信号線３２３を介して画像入力デバイスであるスキャナ部３０１を、信号線３２４を介して画像出力デバイスであるプリンタ部３０２をそれぞれ制御ユニット３０４に接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部３１５は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部３１６は、プリンタ部３０２に出力すべきプリント出力画像データに対して、プリンタ部３０２に応じた補正、解像度変換等を行う。画像回転部３１７は、入力された画像データが正立するように回転を行い出力する。データ処理部３１８については後述する。
【００２０】
［データ処理部の詳細構成］
次に、図４を用いて、図３のデータ処理部３１８の詳細説明を行う。データ処理部３１８は、領域分割部４０１、属性情報付加部４０２、文字認識部４０３、リンク処理部４０４、フォーマット変換部４０５から構成される。データ処理部３１８は、スキャナ部３０１でスキャンしたイメージデータ４００が入力されてくると、各処理部４０１〜４０５で処理を行うことにより、電子文書データ４１０を生成して出力する。
【００２１】
領域分割部４０１には、図３のスキャナ部３０１でスキャンされたイメージデータ、あるいは記憶部３１１に保存されているイメージデータ（文書画像データ）が入力される。そして、文字、写真、図、表等ページ内に配置されたオブジェクトの領域（オブジェクト領域）を抽出するために、データ中の画素の抽出・グループ化等の処理を行う。
【００２２】
この際の領域抽出方法（領域分割方法）としては公知の方法を用いればよい。一例を説明すると、まず、入力画像を２値化して２値画像を生成し、２値画像を低解像度化して間引き画像（縮小画像）を作成する。例えば、１／（Ｍ×Ｎ）の間引き画像を作成する際には、２値画像をＭ×Ｎ画素毎に分割し、Ｍ×Ｎ画素内に黒画素が存在すれば縮小後の対応する画素を黒画素とし、存在しなければ白画素とすることにより、間引き画像を作成する。
【００２３】
次に、間引き画像において黒画素が連結する部分（連結黒画素）を抽出して当該連結黒画素に外接する矩形を作成していく。文字画像サイズに近い矩形（１文字の矩形）が並んでいる場合や、縦横のどちらかが文字画像サイズに近い矩形（数文字が繋がった連結黒画素の矩形）で短辺の近くに同様の矩形が並んでいる場合は、１つの文字行を構成している文字画像である可能性が高い。この場合は矩形同士を結合して、１つの文字行を表す矩形を得る。そして、１つの文字行を表す矩形の短辺の長さがほぼ同じで、列方向にほぼ等間隔に並んでいる矩形の集合は、本文部である可能性が高いので、更に結合した領域を抽出する。また、写真領域や図領域や表領域は、文字画像よりも大きいサイズの連結黒画素により抽出される。
【００２４】
属性情報付加部４０２は、領域分割部４０１で分割された領域毎に属性を付加する。図６（ａ）を入力イメージデータの例として処理動作を説明すると、領域６０６は、そのページ内で文字数や行数を複数含み、文字数、行数、段落等の形態を保有する点から、総合的に判定して、『本文』の属性を付加する（本文領域）。残りの領域については、まず、文字画像サイズに近い矩形が含まれている領域か否かを判定する。特に、文字画像が含まれている領域は、領域内で文字画像の矩形が周期的に現れるので、領域内に文字が含まれている領域であるか否かを判定することができる。その結果、領域６０１、領域６０４、領域６０５は文字が含まれる領域として『文字領域』の属性を付加する。ただし、これらの領域は、文字数、行数、段落等の形態を持たない点から、『本文』の属性は付加されないことになる。
【００２５】
一方、それ以外の領域については、領域の大きさが非常に小さければ『ノイズ』と判定する。また、画素密度が小さい連結黒画素について、その内部の白画素輪郭追跡を行ったときに、その白画素輪郭の外接矩形が整然と並んでいる場合は当該領域を『表』と判断し、整然と並んでいない場合は『図』（線画など）と判断する。それ以外の画素密度の高いものは絵や写真であるとして『写真』の属性を付加する。なお、上述した属性の分類方法は一例であって、これに限るものではない。
【００２６】
更に、本文でない（『本文』の属性が付与されていない）と判断された文字領域（『文字領域』の属性を有する領域）については、『表』、『図』、『写真』が付加されたオブジェクト領域の近傍（領域の上または下）に存在するか否かを判定する。『表』、『図』、『写真』が付加された領域の近傍（領域の上または下）に存在する場合、当該『表』、『図』、『写真』の領域を説明するための文字領域であると判断し、『キャプション』の属性を付加する。つまり、『文字領域』と『表』、『図』、『写真』等の領域との予め定義された位置関係に基づいて、『キャプション』の属性を有する領域を判定する。尚、『キャプション』の属性を付加する領域は、その『キャプション』が付随する領域（『表』、『図』、『写真』）を特定できるように、キャプション領域と、当該キャプション領域が付随するオブジェクト領域とを関連付けて保存する。
【００２７】
また、『文字領域』と判定された領域のうち、『本文』属性の領域の文字画像より大きく、『本文』属性の領域の段組とは異なる位置にあれば『見出し』の属性を付加する。また、『本文』属性の領域の文字画像より大きく、『本文』属性の領域の段組の上部に存在すれば、属性を『小見出し』とする。更に、『本文』属性の領域における文字画像のサイズ以下の文字画像で、原稿の下端部や上端部に存在すれば『ページ』（もしくは、「ページヘッダ」、「ページフッタ」）の属性を付加する。また、『文字領域』として判断されたが、その後の判定で『本文』、『見出し』、『小見出し』、『キャプション』、『ページ』のどれにも当てはまらなかった場合、『文字』の属性を付加する。『文字領域』属性を有する領域に対して、更に詳細な属性を付与する判定は、上記に限定されるものではない。例えば、『文字領域』の属性を有する領域において、アンカー表現を有する領域を『キャプション』と判定しても良い。また、属性を判定する順序を変更しても良いし、付与する属性の優先順位を定義しても良い。
【００２８】
以上のような属性情報付加部４０２による属性情報付加処理を行うと、図６（ａ）に示した例では、領域６０１は『見出し』、領域６０２は『表』、領域６０３は『写真』、領域６０４は『文字』、領域６０５は領域６０３に付随する『キャプション』、領域６０６は『本文』の属性が付加される。
【００２９】
文字認識部４０３は、文字画像を含む領域（『文字』、『本文』、『見出し』、『小見出し』、『キャプション』の属性を有する領域）について、公知の文字認識処理を実行する。そして、その結果の文字コード列を文字情報として格納するとともに、対象領域に関連付けを行う。これにより、文字情報取得手段を実現する。
【００３０】
このように、領域分割部４０１、属性情報付加部４０２、文字認識部４０３において抽出された、領域の位置や大きさや領域属性の情報、ページの情報、文字認識結果の文字情報（文字コード情報）等は、図３に示した記憶部３１１に保存される。図６（ｂ）は、図６（ａ）の入力イメージデータ例を処理した場合に、図３の記憶部３１１に保存される情報（領域情報）の例を示す。領域６０４については、『写真』や『図』の属性を有する領域である領域６０３に含まれる『文字』の領域であるため、『６０３内』の情報が追加されている。これは図６（ｂ）のオブジェクトＩＤ６０４にて示されているとおりである。
【００３１】
リンク処理部４０４は、属性情報付加部４０２で検出された『キャプション』属性を有する領域が付随するオブジェクト（例えば、『表』、『図』、『写真』：以下、キャプション付随オブジェクト）と「本文中の説明表現」との間にリンクを作成するために必要な情報を生成し、記憶部３１１に保存する。リンク処理部４０４の詳細については後述する。
【００３２】
フォーマット変換部４０５は、入力されたイメージデータ４００、領域分割部４０１、属性情報付加部４０２、文字認識部４０３、リンク処理部４０４から得られた情報（例えば、ページ情報、領域の位置や大きさ、属性、文字情報、メタデータ）を用いる。そして、これらから出力用の所定の電子文書フォーマット（例えば、ＰＤＦ、ＳＶＧ、ＸＰＳ、ＯｆｆｉｃｅＯｐｅｎＸＭＬ等）からなる電子文書データ４１０を生成する。これにより、電子文書データ生成手段を実現する。フォーマット変換部４０５で生成される電子文書データは、グラフィックス等によるページ表示情報（表示用画像等）と、文字等の意味記述による内容情報（メタデータ等）を含むことになる。
【００３３】
フォーマット変換部４０５の処理は、大きく２つある。１つは、画像領域（『表』、『図』、『写真』の属性を有する領域）に対して、平坦化やスムージング、エッジ強調、色量子化、２値化等のフィルタ処理を施す。そして、画像データ（例えば、『図』属性が付与された領域に対応する部分の画像）を所定の電子文書フォーマットからなる電子文書データに格納できる形式にすることである。実際には、画像データを、ベクトルパス記述のグラフィックスデータ（ベクトルデータ）や、ビットマップ記述のグラフィックスデータ（例えばＪＰＥＧデータ）にする。ベクトルデータへ変換する技術は公知のベクトル化技術を用いることが可能である。また、オブジェクト検索時に、検索結果を特定・強調する際に表示される枠などのグラフィックス記述（ベクトルパス記述）を生成することも可能である。そして、それらに対して、記憶部３１１に保管されている領域情報（位置、大きさ、属性）、領域内の文字情報から、所定の電子文書フォーマットからなる電子文書データを作成する。
【００３４】
特に、『文字』領域部分に対しては、２値による画像切り出し処理と、イメージデータ４００からの画素消去処理などを行い、文字認識の結果である文字コードと、その位置情報が抽出されることになる。図６（ｃ）および図６（ｄ）は、図６（ａ）の領域６０６で得られる情報（文字情報）を示している。領域６１１における「図」という文字について、その文字コード（Ｃ６１１）、左上のＸＹの各座標値、右下のＸＹの各座標値が得られる。同様に領域６１２における「１」という文字についても同様の情報が取得できる。そして、相互リンクの機能を持たせるために、このようなオブジェクトを特定するテキスト表現（アンカー表現）部分に、そのテキスト表現が示すオブジェクトへ直接遷移する操作を利用者が選べるようにする。
【００３５】
そのため、その操作を選択するための表示を当該テキスト表現部分に付与するため、正確にこの文字列「図１」の外接矩形を求める必要がある。そのため、通常は、この各文字の位置情報を蓄積するが、本発明では、その蓄積方法などを独自の方法を用いる。本蓄積方法については、後述する。
【００３６】
［生成される電子文書データの構成例］
ここで生成される電子文書データ４１０の例を図７に示す。図７の例では、図６（ａ）のイメージデータ６００の例を処理した場合に、図３の記憶部３１１に保存された図６（ｂ）のようなデータ（領域情報）に基づいて、ＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）フォーマットで記述を行った場合の例を示す。図７の記述７０１〜７０６は、それぞれ図６（ａ）の領域６０１〜６０６に対するグラフィックス記述である。ここで、記述７０１、７０４、７０５、および７０６は文字コードによる文字描画記述の例である。記述７０２は、領域６０２に対するベクトル変換された表の枠のベクトルパス記述（本説明では重要でないので省略表現になっている）、記述７０３は切り出し処理された写真画像を貼り付ける記述の例である。記述７０１〜７０７は１ページ内の記述であり、記述７１１と記述７１２で、個々のページに分けて記述を行う。また、この電子文書全体に対する記述が記述７１３から記述７１７まで続くが、こちらは、グラフィックスの記述ではない。
【００３７】
本発明に係る電子文書では、簡単な関数型のプログラミング言語における、操作機能などの追加ができるようになっており、記述７１４や記述７１６が、その記述例となっている。詳細は後述するが、記述７１６では、この電子文書を利用する際に、「ｉｎｉｔ」という名前のプログラム・モジュール（関数）が呼び出されて処理されることが示されている。更に、記述７１６内において、その「ｉｎｉｔ」の中で行われる処理が前述の関数型プログラミング言語で記述されている（ここでは、具体的な記述については省略表現されている）。これらの具体的な記述については、後で詳しく述べるので、ここではその詳細説明は割愛する。
【００３８】
なお、ここではＳＶＧを例として説明したが、出力フォーマットはＳＶＧに限定されるものではなく、ＰＤＦ、ＸＰＳ、Ｏｆｆｉｃｅ  Ｏｐｅｎ  ＸＭＬ、その他のＰＤＬ系のデータ形式等に変換してもよい。
【００３９】
［リンク処理部］
図５はリンク処理部４０４の構成例を示すブロック図である。以下、リンク処理部４０４に含まれる各構成要素の処理内容について説明する。リンク情報付与対象選択部５０１は入力されたイメージデータに対して、リンク情報生成を行う対象として、キャプション付随オブジェクト（図や写真などの領域）と、当該キャプション付随オブジェクトに対応付けされた『キャプション』領域の文字情報とを選択する。
【００４０】
アンカー表現抽出部５０２は、リンク情報付与対象選択部５０１で選択されたキャプション付随オブジェクトに対応付けされた『キャプション』領域の文字情報を解析し、アンカー表現を抽出する。つまり、ここで『キャプション』領域内に含まれる文字情報を解析し、その中からアンカー表現（例えば、「Ｆｉｇｕｒｅ  １」、「Ｆｉｇ１」等）を検索する。解析した文字情報の中からアンカー表現が見つかった場合には、その該当部分を“アンカー表現”、それ以外の部分を“キャプション表現”として抽出する。
【００４１】
また、文字コードの特性や辞書等を含むことで、有意でない文字列（例えば、無意味な記号列等）を排除する機能も有する。これにより、文書のテキスト部分の境界に現れる飾りや、分割線、画像を文字として解釈するような文字認識の誤認識等に対応する。また、アンカー表現を抽出するために、図番号等の多言語の文字列パターンや、それに対する文字認識の誤認識パターンを保有することで、アンカー表現の抽出精度と、アンカー表現の文字補正を行うことが可能である。また、キャプション表現に対しても、同様である。すなわち、自然言語処理での解析や文字認識の誤認識補正等を行うことが可能で、アンカー表現との境目や先頭・末尾に現れる記号や文字飾り等を補正して排除したりする機能を持たせることも可能である。
【００４２】
本文内アンカー表現検索部５０３は、アンカー表現抽出部５０２によるアンカー表現抽出処理で抽出されたアンカー表現（例えば、「Ｆｉｇｕｒｅ  １」、「Ｆｉｇ１」等）を文書データの『本文』領域内から検索する。そして、キャプション付随オブジェクトに対応する『本文』領域内のアンカー表現として抽出する。これによりアンカー表現を含みキャプション付随オブジェクトの説明を行っている『本文』領域中の説明表現をキャプション付随オブジェクトの説明表現候補として抽出する。ここでは、検索を高速化するための検索用インデックスを作成することが可能である。なお、インデックス作成とそれを利用した高速検索の技術は公知のインデックス作成・検索技術を用いることが可能であり、検索用のインデックスの構成は用いる公知技術に依存する。また、複数のアンカー表現の特定文字列で一括検索をすることで、高速化を実現することも可能であり、こちらの方がより効果的である。また、『本文』領域中の説明表現に対しても、図番号等の多言語の文字列パターン、図番号等の表記ゆれの文字パターン、もしくはそれらに対する文字認識の誤認識パターンを保有することができる。そして、これらを用いた曖昧検索を行うことにより、検索精度の向上、および補正を行う機能の提供が可能である。アンカー表現抽出部５０２と本文内アンカー表現検索部５０３とにより、アンカー抽出手段を実現する。
【００４３】
リンク情報生成部５０４は、リンク情報付与対象選択部５０１で選択されたキャプション付随オブジェクト（図や写真などのオブジェクト）と、本文内アンカー表現検索部５０３で検索・抽出された『本文』領域中のアンカー表現との間にリンクを生成するために必要な情報（以下、リンク情報）を作成する。リンク情報を生成するためには、リンクを付与する文書画像上の位置とそれらの関係等を示す情報が必要になる。本発明では、アンカー表現の位置情報を得る際に文字それぞれの位置情報をそのまま格納せず、段落などの所定の集合単位でまとめて（すなわち、複数の文字の外接矩形をもとめて）、その位置情報を蓄積する。
【００４４】
リンク生成処理生成部５０５は、実際にリンクを生成する処理をコンピュータに実行させるためのプログラム・モジュールを生成し、その後、リンク情報生成部５０４で蓄積した位置情報やその他の情報と併せて電子文書データに付与する。これにより、プログラム作成手段を実現する。そして、電子文書データ４１０の利用時に、このプログラミング言語で記述された各処理が、格納されている各情報をもとに、リンクを動的に生成し、そのリンク機能が利用者に利用可能となる。これらの詳細については後述する。ここでは、図や写真と本文中に記述されているアンカー表現との間のリンク作成のための情報を生成する。なお本実施形態において、これ以降の表現として便宜上、プログラム・モジュール等の情報を付与される前の電子文書データを、“ページ描画データ”と記載する。これに対し、フォーマット変換部４０５にてプログラム・モジュール等の情報を付与された以降のデータを“電子文書データ（もしくは、電子文書データ４１０）”と記載する。
【００４５】
リンク生成処理生成部５０５は、リンク情報生成部５０４で蓄積されたリンク情報を用いて、リンク処理用のプログラムの記述やリンク生成に必要な情報などを、電子文書データ４１０の記述フォーマットやプログラミング言語の仕様に応じて生成する。更に、リンク処理用のプログラミング言語の記述やリンク生成に必要な情報は、予め決められたリンクのトリガーやリンクアクション設定に基づいて生成される。最終的には、リンク生成処理生成部５０５で生成されたものが、図４のフォーマット変換部４０５に渡され、ページ描画データに付与される。
【００４６】
なお、リンク処理部４０４の各部分（図５の各処理部５０１〜５０５）の動作については、更に詳細に実際の処理を用いて後述する。また、以降に述べるフローチャートの各処理において、記憶部３１１には、イメージデータ５００、領域情報５１１、文字情報５１２、リンク情報５１３などが格納される。
【００４７】
［処理フロー（全体概要）］
次に、本実施形態の画像処理システムで実行する処理全体の概要を、図８のフローチャートを用いて説明する。図８及び図１０に示すフローチャートは、図３のデータ処理部３１８（図４の各処理部４０１〜４０５）によって実行される。なお、本実施形態では、図３のＣＰＵ３０５が記憶部３１１（コンピュータ読取可能な記憶媒体）に格納されたコンピュータプログラムを読み取り実行することにより、データ処理部３１８（図４の各処理部４０１〜４０５）として機能するものとする。しかし、これに限るものではない。例えば、図３のデータ処理部３１８（図４の各処理部４０１〜４０５）を、電子回路等のハードウェアで実現するように構成してもよい。
【００４８】
図８は、図２に示したＭＦＰ２００において入力された複数ページのイメージデータ４００を、複数ページからなる電子文書データ４１０に変換する処理のフローチャートである。尚、複数ページのイメージデータとしては、例えば、図９（ａ）に示された３ページからなるイメージデータが入力されるものとする。以下、図８のフローチャートの各説明を行う。
【００４９】
本処理が開始されると、Ｓ８０１において、以降の処理のための初期化処理と、図４のフォーマット変換部４０５が電子文書データ４１０の作成を行うための準備の処理を行う。Ｓ８０２において、領域分割部４０１は、入力された１ページ分のイメージデータからその中に含まれる領域を抽出する。例えば、図９（ａ）のイメージデータ９０１（１ページ目）〜イメージデータ９０３（３ページ目）に対しては、図９（ｂ）に示す情報が抽出される。これは、図６（ａ）および図６（ｂ）を用いて説明した構成と同様になっている。
【００５０】
Ｓ８０３において、属性情報付加部４０２は、Ｓ８０１で分割された各領域に属性を付加する。図９（ａ）の２ページ目（イメージデータ９０２）の例では、領域９１３には『写真』、領域９１４は『キャプション』の属性を付加する。さらに、この領域９１４には、当該領域が領域９１３に付随しているという情報も付加する。Ｓ８０４において、文字認識部４０３は、Ｓ８０２で『文字領域』の属性（『本文』、『キャプション』、『見出し』、『小見出し』等の属性）を付加した領域に対して文字認識処理を実行し、その結果を文字情報として対象領域に関連付けて保持する。この結果は、図９（ｂ）における項目“文字情報”の部分に示されている。また、文字それぞれの情報が文字単位で、図６（ｄ）と同様に抽出される。これを図９（ｃ）に示す。
【００５１】
Ｓ８０５において、リンク処理部４０４は、リンクの生成に必要となる情報を抽出し、蓄積する。Ｓ８０５でリンク処理部４０４が実行する処理の詳細については、図１０（ａ）のフローチャートを用いて後述する。この処理が終わると、Ｓ８０６へ進む。
【００５２】
Ｓ８０６において、フォーマット変換部４０５は、イメージデータ４００および、Ｓ８０５にて生成された図１１（ｂ）に示す記憶部３１１に保存された情報に基づいて、グラフィックデータ生成などを行い、所定の電子文書フォーマットの形式におけるページ描画データをページ単位に生成する。これにより、ページ描画データ生成手段を実現する。Ｓ８０７において、データ処理部３１８は、Ｓ８０１〜Ｓ８０６の情報抽出処理を全てのページに対して行った否かを判定する。全てのページを処理していれば（Ｓ８０７にてＹＥＳ）、Ｓ８０８へ進む。未処理のページがあれば（Ｓ８０７にてＮＯ）、Ｓ８０２以降の処理を繰り返す。
【００５３】
Ｓ８０８において、図４のリンク処理部４０４は、アンカー表現の抽出、およびリンク生成用情報の抽出を行い、所定のプログラミング言語で記述されたリンク作成処理のためのデータと併せて、フォーマット変換部４０５に渡す。そして、フォーマット変換部４０５はページ描画データの中に受け取った情報を付与する。Ｓ８０８でリンク処理部４０４が実行する処理の詳細については、図１０（ｂ）のフローチャートを用いて後述する。この処理が終わると、Ｓ８０９へ進む。Ｓ８０９において、終了処理を行う。具体的には、フォーマット変換部４０５が電子文書データ４１０生成における終端のための情報を作成する。そして、本処理フローが終了する。
【００５４】
図９（ａ）にて示した、３ページ分のイメージデータ９０１〜９０３に対し、Ｓ８０１〜Ｓ８０９の処理を行った結果として、抽出される領域の位置や大きさ等の情報、ページの情報、領域の属性、領域の文字情報などの例を図９（ｂ）に示す。これらの情報は記憶部３１１に保存されている。
【００５５】
以上、本実施形態における処理の全体概要を説明した。しかし、ここで述べた処理は、あくまで、一般的な文書画像に対する処理である。従って、その順序や処理の詳細については、本発明のオブジェクトのリンク機能を実現するために、行うものであれば、変更しても構わない。例えば、自然言語処理や辞書の応用で、文字認識の誤り訂正を有する文字認識を行ってもよく、特定の表現を利用して情報を抽出・利用するものであってもよい。また、文書のスタイルや文書の内容の分類などで、各解析方法を最適化しても良い。また、オブジェクトは画像認識などの技術を用いて、その内容などの情報を抽出しても良い。また、入力となる文書画像は、ページ記述言語などで記載されていても良い。このように、様々なものが考えられるが、本発明のオブジェクトのリンク機能を実現するために本文のテキストと、オブジェクトのキャプション表現やアンカー表現を利用するものであれば、どのようなものでも構わない。
【００５６】
［リンク処理部における処理フロー（オブジェクト情報の蓄積）］
次に、図８におけるＳ８０５の処理の詳細について、図１０（ａ）を用いて説明する。本処理は、リンク処理部４０４内の各部分において行われる処理であり、リンクの生成のために必要なアンカー表現と当該アンカー表現に対応するオブジェクトとの対応関係の情報を抽出できるように、蓄積する。この処理の中で、図８のＳ８０２からＳ８０４処理で得られた解析結果を、記憶容量を節約しながら蓄積を行っている。これが、本発明の特徴（ポイント）の１つとなっている。
【００５７】
Ｓ１００１において、リンク処理部４０４内のリンク情報付与対象選択部５０１は、記憶部３１１に保存された領域情報５１１から、『図』や『写真』の属性を有する領域の内、『キャプション』の属性を有する領域が付随する領域（キャプション付随オブジェクトに相当）を抽出する。例えば図９（ａ）の例の場合、図９（ｂ）にて示す“キャプションが付随するオブジェクトＩＤ”の項目を参照して、オブジェクトＩＤ９１３（『写真』属性）が抽出される。Ｓ１００２において、リンク処理制御部５０６は、Ｓ１００１で抽出した領域があったか否かを調べて、その結果に基づいて条件分岐を行う。キャプションが付随するオブジェクトの領域がなかった場合（Ｓ１００２にてＴＲＵＥ）には、この図１０（ａ）の処理は終了となる。キャプションが付随するオブジェクトの領域があった場合（Ｓ１００２にてＦＡＬＳＥ）には、Ｓ１００３に進む。
【００５８】
Ｓ１００３において、リンク情報付与対象選択部５０１は、Ｓ１００１で抽出したキャプション付随オブジェクトの情報をリンク情報５１３として記憶部３１１に蓄積する。この際に、文字情報５１２に格納されている当該キャプション付随オブジェクトに付随する『キャプション』領域の文字と文字の座標の情報も併せて、蓄積する。なお、これらは以降の処理で使用しやすい形式で蓄積する。
【００５９】
Ｓ１００３の処理について、図９（ａ）の例を用いて具体的に説明する。図１１（ａ）は、『キャプション』属性を有する領域が付随する『図』や『写真』の属性を有するオブジェクト領域に対し、Ｓ１００３の処理を適用した後の情報を示している。例えば、図１１（ａ）における図ＩＤ１１０１は、図９（ａ）における領域９１３の写真部分のことを意味し、管理番号として蓄積用の図ＩＤが振り直されている。図の座標、幅および高さの情報は、図９（ｂ）の領域９１３の情報を基にした値になっている。なお、これらの値は、後でリンク用の操作部分の位置および大きさとして利用されるため、図９（ｂ）における領域９１３よりも少し大きくなるように値を再設定し、格納されている。ここで再設定するための値はオブジェクトの大きさに合わせて定義しても良いし、特定の値に固定しても良い。また、その図ＩＤ１１０１（領域９１３）のキャプションである図９（ａ）における領域９１４の文字情報が、図ＩＤ１１０１の“文字情報”の項目に格納されている。以上の例で述べたように、Ｓ１００３において、リンク情報付与対象選択部５０１は、図１１（ａ）に示したように『図』や『写真』の属性を有する領域の情報を蓄積用に処理した情報をリンク情報５１３として蓄積する。
【００６０】
Ｓ１００４において、リンク情報付与対象選択部５０１は、記憶部３１１に保存された領域情報５１１より、『本文』属性を有する領域の情報を抽出する。図９（ａ）の例の場合、オブジェクトＩＤが９１１と９１６の本文の文字情報が選択されることとなる。Ｓ１００５において、リンク処理制御部５０６は、Ｓ１００４において『本文』属性を有する領域の情報が抽出された否かを判定し、その結果で条件分岐を行う。本文属性を有する領域が抽出されなかった場合（Ｓ１００５にてＴＲＵＥ）には、この図１０（ａ）の処理は終了となる。本文属性を有する領域が抽出された場合（Ｓ１００５にてＦＡＬＳＥ）には、Ｓ１００６へ進む。
【００６１】
Ｓ１００６において、リンク情報付与対象選択部５０１は、Ｓ１００４で抽出された本文の文字情報を段落単位に分割して抽出する。Ｓ１００７において、リンク情報付与対象選択部５０１は、Ｓ１００６で抽出した段落単位の文字情報をリンク情報５１３として記憶部（メモリ）３１１に蓄積する。この際、分割された段落ごとに位置情報も併せて蓄積する。なお、これらは、以降の処理で使用しやすい形式で蓄積する。
【００６２】
このＳ１００６とＳ１００７について、図９（ａ）に示したイメージデータの例を用いて具体的に説明する。図１１（ｂ）は、アンカー表現の検索時に使用される文字情報を有する領域の位置情報である。一方、文字認識部４０３は、Ｓ８０４において、図６（ｃ）（ｄ）で示すように、１文字単位で当該文字の位置情報を抽出している。例えば、図９（ａ）の画像の場合、文字認識部で抽出された文字それぞれの位置情報に基づいて、図９（ｂ）における『本文』属性を有する領域、すなわち図９（ｂ）の領域９１１と領域９１６に対する位置情報を蓄積する。そして、Ｓ１００６では、文字それぞれの位置情報に基づき、例えばその文字の並び具合などから、段落単位にそれらの文字を分割する。そして、Ｓ１００７において、当該分割された段落単位で位置情報の記録を行う。図６（ｄ）や図９（ｃ）のように、文字単位の位置情報で格納／蓄積を行うと、そのための記憶容量（ワークスペースメモリ）が大量に必要になるので、ここでは、記憶容量を節約するため、図１１（ｂ）のように、所定の集合単位にて格納／蓄積を行う。
【００６３】
これらの情報を記憶する記憶領域は、図３に示したＲＡＭ３０６や記憶部３１１などに存在している。リンクの操作部分を作成する際に、該当するアンカー表現の位置を正確に得る必要がある。このアンカー表現の、正確な位置の取得処理は、後述するように電子文書データの内容を表示するための機構（レンダラ）に行わせることとする。すなわち、レンダラにアンカー文字列の検索と、該当部分の正確な位置情報の抽出を行わせる。これにより、文字単位の座標情報を格納せず、段落単位の位置情報として、記憶容量の節約を行っている。ただし、ここで格納する単位（この例では段落単位）内の文字数を大きくすると、アンカー文字列の検索を前述のレンダラでの検索処理に時間がかかり、電子文書データの利用時の処理負担が増大することになる。
【００６４】
これに対して、格納する単位内の文字数を小さくすると、その分だけ、位置情報を蓄積する量が拡大してしまうので、電子文書データの生成時に使用する記憶容量の節約効果が小さくなってしまう。この例では、段落を格納単位としているが、他にも、行単位や文単位などのいろいろな単位が考えられる。ここではあくまでも例として、段落単位にしているのであって、そのいずれの単位でも本発明は適用可能である。
【００６５】
以上の例で述べたように、Ｓ１００６において、リンク情報付与対象選択部５０１は、図１１（ｂ）に示したアンカー表現（アンカー文字列）の検索時に使用される所定の集合単位の位置情報の抽出処理を行う。そして、Ｓ１００７において、リンク情報５１３として蓄積する。以上で、図１０（ａ）の処理の説明を終了する。
【００６６】
［リンク処理部における処理フロー（リンク情報の作成）］
次に、図８におけるＳ８０８の処理の詳細について、図１０（ｂ）を用いて説明する。ここでの処理は、リンク処理部４０４内の各部分において行われる処理である。リンクの生成に必要となるリンク情報を抽出して、リンクを生成するためのプログラム・モジュールの作成と、プログラム・モジュールにて利用される情報の作成とを行う。この処理の中で、図８のＳ８０５における記憶容量を削減しながら蓄積された情報は、ここでの処理が容易な構成になっている。この蓄積された情報を利用しながら全ページに対する処理を一括して効率よく行う点が、本発明の特徴（ポイント）の１つである。電子文書データの利用時にコンピュータが実行するプログラム・モジュールにおける処理効率を考慮し、文字認識の曖昧検索などの、比較的処理負担の大きな処理を、Ｓ８０８にて行う点が特徴である。
【００６７】
Ｓ１０１１において、Ｓ８０５（図１０（ａ））で蓄積された情報を用いて、アンカー表現抽出部５０２がアンカー表現抽出処理を開始する。ここでは、その蓄積された情報のうち、『図』や『写真』の属性を有するオブジェクト領域に付随するキャプション領域の情報（Ｓ８０５の処理により生成された各『図』や『写真』属性の領域の近傍に位置する『キャプション』属性の領域内における文字情報）を利用する。つまり、オブジェクト領域に付随している『キャプション』領域に含まれる文字情報からアンカー表現を抽出する。アンカー表現とは、元の文書中においてキャプションが付随する図や写真などのオブジェクト領域を識別するための文字情報（文字列）である。また、キャプション表現とは、図や写真などのオブジェクト領域を説明するための文字情報（文字列）である。図領域や写真領域に付随するキャプションには、アンカー表現のみが記載される場合、キャプション表現のみが記載される場合、両方が記載される場合、さらにどちらでもない場合がある。
【００６８】
例えば、アンカー表現は「図」や「Ｆｉｇ」等、特定の文字列と番号や記号との組み合わせで表現される場合が多い。本実施形態では、それらアンカー表現として利用される可能性のある特定の文字列をアンカー文字列用辞書として予め用意しておき、キャプション内の文字列を該アンカー文字列用辞書と比較してアンカー部分（アンカー文字列＋数記号）を特定する。そして、『キャプション』属性を有する領域の文字列のうち、アンカー表現以外の文字列をキャプション表現として判定する。例えば、「図１  ＡＡＡ」という『キャプション』属性を有する領域の場合には、「図１」がアンカー文字列にあたり、「ＡＡＡ」がキャプション表現となる。キャプション表現の文字数が極端に少ない場合や有意な文字列とは思えないものの場合（例えば、記号列“―  ―  ―  ―  ―”などの場合）がある。このような場合には、文書の区切りなどの印が文字列として認識されていたり、文字ではないものが文字認識されている可能性がある。よって、この場合には、当該領域はキャプションではないと判定し、アンカー文字列の抽出は行わない。
【００６９】
さらに、アンカー表現が、文字認識の誤りなどで文字が誤っている場合があるので、抽出したアンカー表現に対して類似する表記情報として、文字認識の誤り訂正用のパターン辞書を保有し、これを用いて補正を行う。例えば、数字の「１」とアルファベットの小文字の「ｌ」などである（これは、人間にとっても誤りやすい）。図１１（ａ）の例で説明すると、そのキャプションが文字情報のところに格納されており、ここから「Ｆｉｇ．１」が得られる。
【００７０】
Ｓ１０１２において、リンク処理制御部５０６は、アンカー表現が抽出できたか否かを判定し、条件分岐する。もし、アンカー表現がＳ１０１１で抽出されていなければ（Ｓ１０１２にてＴＲＵＥ）、この図１０（ｂ）の処理は終了する。アンカー表現が抽出された場合（Ｓ１０１２にてＦＡＬＳＥ）は、Ｓ１０１３に進む。Ｓ１０１３において、本文内アンカー表現検索部５０３は、Ｓ１０１１で得られたアンカー表現に対してその表現だけでなく、曖昧パターンも検索キーに加える。ここでの曖昧パターンとは、図番号等の多言語の文字列パターン、図番号等の表記ゆれの文字パターン、及びそれらに対する文字認識の誤認識パターンなどが挙げられる。そして、これらに基づいて曖昧検索用のアンカー表現辞書を作成する。
【００７１】
例えば、図１２（ａ）は、Ｓ１０１３にて作成された曖昧検索用のアンカー表現辞書の例である。ここまでの処理により、図１１（ａ）の例から「Ｆｉｇ．１」が得られているので、これを“オリジナル文字パターン”としてアンカー表現辞書を作成している。数字の「１」に対する文字認識の誤りパターンと、「Ｆｉｇｕｒｅ」の省略表現が「Ｆｉｇ」であることから、その表記ゆれパターンを追加し、曖昧検索用の文字パターンを生成し、アンカー表現辞書としている。
【００７２】
Ｓ１０１４において、本文内アンカー表現検索部５０３は、Ｓ１０１３で作成した曖昧検索用のアンカー表現辞書を利用して、Ｓ８０５において段落単位で蓄積した本文領域の文字情報に対して、一括検索を行う。そして、検索結果として、当該アンカー表現を含む段落（集合単位）のリストが生成される。図１１（ｂ）の例で説明すると、図１１（ｂ）で示された検索対象の文字情報に対して、図１２（ａ）の曖昧検索用のアンカー表現辞書で一括検索を行うと、図１２（ｂ）のリストが得られる。例えば、文字パターンの「Ｆｉｇ．１」と「Ｆｉｇｕｒｅ．１」がそれぞれ、図１１（ｂ）におけるテキストＩＤ１１１１とＩＤ１１１３中に見つかったことが分かる。また、同一段落の文字情報内に、曖昧検索用のアンカー表現辞書内の同一の文字パターンが複数ある場合もあるので、当該段落（集合単位）のテキスト（文字情報）内の位置の情報が“テキスト内の位置”の項目として付与されている。これにより、特定オブジェクト情報抽出部を実現する。
【００７３】
Ｓ１０１５において、リンク処理制御部５０６は、本文属性の領域内にアンカー表現が検索できたか否か（『本文』の属性を有する領域のリストが生成されたか否か）を判定し、条件分岐する。もし、Ｓ１０１４で検索結果としてのリストがなければ（Ｓ１０１５にてＴＲＵＥ）、この図１０（ｂ）の処理は終了する。検索結果としてのリストがある場合（Ｓ１０１５にてＦＡＬＳＥ）には、Ｓ１０１６に進む。
【００７４】
Ｓ１０１６において、リンク情報生成部５０４は、Ｓ１０１４での検索結果のリストとＳ１００３で蓄積したオブジェクト領域の情報とＳ１００７で蓄積した段落単位の本文領域の情報とに基づいて、『図』や『写真』の属性を有するオブジェクト領域と『本文』属性を有する段落中のアンカー表現とのリンクを作成するために必要なリンク生成用情報を作成する。リンクを作成するのに必要なリンク生成用情報として必要な、図や写真などの座標や大きさなどの位置情報、段落の座標や大きさなどの位置情報、及びそれらの関係（組み合わせ）が計算され、抽出される。
【００７５】
図１１（ａ）、（ｂ）の例で説明すると、図１２（ｂ）に示したアンカー表現の検索結果から、図１２（ｃ）のリンク生成用情報が抽出される。ここで項目“タイプ”には、当該リンク情報が『図』の属性を有する領域を示す“図”、もしくは『本文』属性の領域内から抽出されたアンカー表現を含む段落であることを示す“本文中アンカー表現”の情報が格納される。図１２（ｃ）の例に示すように、“本文中アンカー表現”の座標、幅および高さの値は、当該アンカー表現を含む所定の集合単位（ここでは段落単位）の座標、幅、高さの値になっている。すなわち、図１１（ｂ）にて示した値と同一である。また、項目“リンク先ＩＤ”により、『図』や『写真』の属性を有するオブジェクト領域と、対応するアンカー表現を含む本文の段落との対応が取れるようになっている。また、同一の『本文』属性の段落領域内に、曖昧検索用のアンカー表現辞書内の文字パターンに一致するアンカー表現が複数ある場合もある。そのため、当該『本文』属性の領域内におけるアンカー表現を出現順番に並べ、それを当該アンカー表現の順番として“順番”の項目に格納されている。また、『本文』属性の領域中におけるアンカー表現の正確な位置は、電子文書データの利用時に、その内容を表示するための機構（レンダラ）を利用して検索および計算される。
【００７６】
Ｓ１０１７において、リンク生成処理生成部５０５は、Ｓ１０１６で得られたリンク生成用情報をもとに、『図』や『写真』の属性を有する領域と『本文』属性を有する領域中のアンカー表現との間にリンクを生成するためのプログラム・モジュールを生成する。このプログラム・モジュールは所定のプログラム言語にて記述され、併せて当該プログラム・モジュールにて使用される情報も作成される。また、予め決められたリンクのトリガーやリンクアクション設定も踏まえて生成される。このプログラム・モジュールは、ページ描画データに付与され、電子文書データ内に格納されることになる。すなわち、Ｓ８０９で最終的に生成される電子文書データは、Ｓ８０６で出力された各ページのページ描画データと、Ｓ１０１７で追加されたプログラム・モジュールとで構成されることになる。なお、プログラム・モジュールは、リンク機能を実現するための構成として予め１つのモジュールとして定義されていても良い。もしくは、いくつかのプログラム・モジュールを構成する部分に分けられ、電子文書データの内容に応じて組み合わせられることによって生成されても良い。
【００７７】
このプログラム・モジュールが実際に動作するのは、この電子文書データ利用時である。すなわち、電子文書データ利用時の利用機器やソフトウェアなどで内容の表示を行うため、この電子文書データ４１０を読み込んで、電子文書データの内容を表示するための機構（レンダラ）が動作する初期化時に、動作することになる。ここで電子文書データの内容を表示するソフトウェア等は、電子文書データが記述されたフォーマットやプログラムを解釈可能なものであれば、どのようなものでも良く、特に限定はしない。このプログラム・モジュールは、リンクを描画するためのデータを生成するリンク描画データとしての役割を有し、その動作により、リンク機能を表現する記述が生成される。
【００７８】
ここで生成されるプログラム・モジュールの例を図１３に示す。これは関数型のプログラミング言語を利用して記述した場合の例である。また、その中に記述されている処理の流れの一例を図１４（ａ）に示す。また、これらは、図１２（ｃ）で示した情報がリンク情報テーブルとして格納してあることを前提としている。これらについては、後述する。このＳ１０１７が終わると、本処理フローは終了する。その後、図８にて示したＳ８０９へ進む。以上で、図１０（ｂ）の説明を終了する。
【００７９】
［プログラム・モジュールを実行したときの処理］
次に、図１４（ａ）に示された処理フローを、図１３に示した具体的なプログラム・モジュールと併せて説明する。図１３は、図１０（ｂ）で示した処理の中で生成されて電子文書データに格納されるプログラム・モジュールの例である。また、図１２（ｃ）に示すリンク生成用情報をリンク情報テーブルとして、電子文書データに格納してあることを前提とする。なお、図１４（ａ）の処理は、生成された電子文書データを読み込み、表示させる際の動作であり、電子文書表示装置のＣＰＵ３０５が該プログラム・モジュールを読み出し、実行することにより実現される。Ｓ１４０１（記述１３０１が該当）において、図１２（ｃ）のリンク情報テーブルを読み込み、これを利用可能とする。Ｓ１４０２において、そのリンク情報テーブル内の行数を数えて（記述１３０２が該当）、Ｓ１４０３の条件分岐とループ処理構造で、その全行に対して以下の処理を行うようにしている（記述１３０３が該当）。全行に対して処理が完了した場合（Ｓ１４０３にてＮＯ）、この図１４（ａ）の処理は終了となる。
【００８０】
Ｓ１４０４（記述１３０３、記述１３０５が該当）において、リンク情報が有するタイプで条件分岐する。リンク情報のタイプが「図」の場合には、Ｓ１４０５へ進み、「本文中のアンカー表現」の場合には、Ｓ１４０６へ進む。オブジェクトのタイプが、「図」でも「本文中アンカー表現」でもない場合には、次の未処理の行に処理対象を移すため、Ｓ１４０３へ戻る。なお、ここでは、タイプが「図」、「本文中アンカー表現」もしくはそれ以外として条件分岐しているが、例えばタイプを「表」や「写真」等、更に詳細に定義し、それらに基づいてより詳細に条件分岐しても良い。
【００８１】
Ｓ１４０５（記述１３０４が該当）において、オブジェクトのタイプが「図」の場合の処理を行う。図１２（ｃ）内に記述された情報には操作機能を提供するリンクの作成指示が含まれており、例えば記述１３０４のｍａｋｅＬｉｎｋは、電子文書データを利用する機器やソフトウェアに指示する命令である。したがって、そのリンク機能は、当該電子文書データ内のプログラム・モジュールを実行した機器やソフトウェアにより提供される。この作成指示の中身（記述１３１１が該当）は、識別用のリンクＩＤ、表示用のページ、座標ＸＹ、幅および高さ、操作機能を示すアイコンなどの画像、内容の簡易表示などに使用するオリジナル文字パターン、操作された場合に表示部分を移動させる先となるリンク先ＩＤである。移動させる先のリンクＩＤは、本文中にアンカー表現が複数ある場合に対応して、リスト構造で指示される。Ｓ１４０５の処理の後、次の行へ処理対象を移行するため、Ｓ１４０３へ戻る。
【００８２】
Ｓ１４０６（記述１３０６が該当）において、リンク情報のタイプが「本文中アンカー表現」の場合の処理を行う。図１２（ｃ）内に記述された情報から、まずは、当該アンカー表現の位置を探し、その位置情報を取得する。そして記述１３１２で、そのアンカー表現が格納されているページ、座標ＸＹ、幅および高さ、文字パターンを求める。そして、座標ＸＹ、幅、および高さの値を格納する変数「ａｎｃｈｏｒＡｒｅａ」に、取得したアンカー文字の座標ＸＹ、幅、および高さを格納させる。この記述１３０６の「ｓｅａｒｃｈＴｅｘｔ」は電子文書データを利用する機器やソフトウェアが実行する命令である。その機能は、機器やソフトウェアが提供し、指定された領域内において指定された文字列を探し、その表示位置（座標ＸＹ、幅、および高さ）を返す。
【００８３】
上記アンカー表現の指定において、図１２（ｃ）の項目“オリジナル文字パターン”ではなく、項目“文字パターン”の情報を使用するのは、文字認識において誤認識があった場合、電子文書データに対するレンダラが誤認識した文字列になっているためである。これは、予め、図１０（ｂ）の処理でアンカー文字列検索を行っており、そこで文字認識の誤認識や表記のゆれなどに対応する曖昧検索を行っているためである。この電子文書データのページ単位処理で出力された文字列は、もし、誤認識や単語の表記ゆれがあった場合、その誤認識や表記ゆれの状態の文字列になっている。
【００８４】
そこで、図１０（ｂ）の処理で曖昧検索により正しい文字列パターンを保持しているが、その際の誤認識や表記ゆれの状態の文字列パターンを併せて保持しておき、電子文書データに対するレンダラでは、これを使って検索する。具体的には、図１２（ｃ）における項目“文字パターン”として保持している。よって、ここでの検索は、高速で簡易な文字列検索機能だけを行えば良い。すなわち、処理負担が大きい曖昧検索は、前述したように、電子文書データの作成時（さらには、その中の全ページの解析が終わった時点）に行っておく。そして、レンダラは、その結果を利用することにより、電子文書データ利用時の処理負担が非常に軽い単純な検索だけを行う。これは、レンダラでの処理負担が大きいと、電子文書データが利用しづらくなるため、このように処理を分散する。
【００８５】
図１２（ｃ）に示した例に対して、Ｓ１４０６の処理を行った結果が、図１４（ｂ）となり、この処理の結果が記述１３０６に定義された変数「ａｎｃｈｏｒＡｒｅａ」に格納される。Ｓ１４０７の処理（記述１３０７が該当）において、リンク情報のタイプが「本文中アンカー表現」に対する操作を提供するリンク機能の作成指示が定義されている。これは、Ｓ１４０５と同様であるが、指定している座標ＸＹ、幅、および高さは、Ｓ１４０６で得られたものを用いている。Ｓ１４０７の処理の後、処理対象をリンク情報テーブルにおける次の行に移行するため、Ｓ１４０３へ戻る。以上で、図１３、図１４（ａ）の処理の説明を終了する。
【００８６】
［処理結果］
図１５は、図１３及び図１４（ａ）を用いて説明した処理を適用することにより生成されたデータの一部である。図１５（ａ）は、イメージデータ９０２に対して作成されたリンクの記述例であり、図１５（ｂ）は、イメージデータ９０１に対して作成されたリンクの記述例である。また、図１５（ｃ）、（ｄ）は上記処理により新たにページ描画データの記述に追加される関数である。
【００８７】
また、図１６は、図１５で示した部分が追加されたことによって、生じる操作機能の表示を説明するものである。この図１６は、図９（ａ）に示したイメージデータ（９０１〜９０３）から作成された電子文書データを、表示している時の表示内容を示している。図１６のイメージデータ９０１乃至９０３と領域９１３は、図９の同番号と同じものである。図１４（ａ）の処理が、図１２（ｃ）の情報に基づいて実行された場合、図１３における記述１３０４内の「ｍａｋｅＬｉｎｋ」指示により、図１５（ａ）の記述１５０１のように図領域に対するリンクが生成される。記述１５０１には、追加されたリンク操作機能が実行される位置を示す座標ＸＹ、幅および高さ、追加された機能である図１５（ｃ）に示した関数の呼出し、その関数呼出し時の移動先のリンク先ＩＤが示されている。
【００８８】
図１６において、イメージデータ９０２を利用している時に、イメージデータ９０２には領域９１３の領域に対する枠表示と、操作ボタン１６１３、１６１４が表示に現れる。操作ボタン１６１３（ｘ：ｆｉｅｌｄ＿ｉｄ＝１２２１）をクリックすると、記述１５０１内の「ｏｎｃｌｉｃｋ」に割り当てられた「ｏｎＣｌｉｃｋＡｔＦｉｇｕｒｅ（１２２１）」関数が呼び出され、図１５（ｃ）に定義された関数の処理が実行される。これにより表示がイメージデータ９０１に直接遷移し、対応するアンカー表現の枠表示１６１１の箇所が強調表示されることになる。
【００８９】
同様に、図１４（ａ）の処理が、図１２（ｃ）の情報に基づいて実行された場合、図１３における記述１３０７内の「ｍａｋｅＬｉｎｋ」指示により、図１５（ｂ）の記述１５０２のように、本文領域内のアンカー表現に対するリンクが作成される。記述１５０２には、追加されたリンク操作機能が実行される位置を示す座標ＸＹ、幅および高さ、追加された機能である図１５（ｄ）に示した関数の呼出し、その関数呼出し時の移動先のリンク先ＩＤが示されている。なお、追加された操作機能の座標ＸＹ、幅および高さは、Ｓ１４０６において記述１３０６を実行することによって得られ、その結果が図１５（ｂ）に示されている。イメージデータ９０１を利用者が利用している時に、記述１５０２に基づいて、イメージデータ９０１にはそのアンカー表現の場所に、枠表示１６１１と操作ボタン１６１２が表示される。そして、操作ボタン１６１２をユーザがクリックすると、記述１５０２内の「ｏｎｃｌｉｃｋ」に割り当てられた「ｏｎＣｌｉｃｋＡｔＡｎｃｈｏｒｔｅｘｔ（１２２２）」関数が呼び出され、図１５（ｄ）に定義された処理が実行される。これにより表示位置が、イメージデータ９０２に移動し、関連付けられている図の領域９１３（ｘ：ｆｉｅｌｄ＿ｉｄ＝１２２２）が強調表示されるようになる。
【００９０】
以上で述べたように、利用者が文書内の図とその図の説明部分と移動できる相互リンク機能を有する電子文書データを作成する場合に、ページ単位で解析処理を行い、そのページの処理に必要な記憶容量の削減を行った。すなわち、１文字ごとに座標位置を保持するのではなく、所定の単位（例えば段落単位）で位置情報を保持することによって、必要となる記憶容量の削減を行う。また、図番号などのアンカー表現の正確な位置に関しては、電子文書データ利用時に検索させることで、リンクの正確な配置を可能とした。
【００９１】
また、処理負担の大きいＯＣＲや表記ゆれなどによる曖昧検索を、電子文書データの生成時に行うことにより、電子文書データの利用時において実行するアンカー表現を探してリンク位置を決定する処理の負荷は小さくなるようにした。これにより、本実施形態において、効率の良い相互リンクの実現が可能である。
【００９２】
＜第二の実施形態＞
第一の実施形態における動作説明は、ページ単位における処理時の文字の位置情報に対し、所定の集合単位として段落単位とした。これにより、情報を削減し記憶容量の削減を行っていた。また、段落以外に、行や文単位での削減が示されていた。
【００９３】
しかし、文書の内容は、その文書の内容や書き方、また、１つの文書の中でも、それが変化することにより、文書中のテキストや文字の密度は変化するのが一般的である。特に、テキストや文字が極端に少ないページにおいては、そのページ全体を１つの単位にしても構わない場合がある。そこで、本実施形態では、ページ内のテキストや文字の量に応じて、文字の位置情報を保持する集合単位を動的に変化させる方式を示す。
【００９４】
図１７は、この処理を説明する図であり、図１０（ａ）に処理を追加したものである。図１７のＳ１７０１からＳ１７０５は、図１０（ａ）のＳ１００１からＳ１００５と同じであるため、ここでの説明は省略する。Ｓ１７１１において、リンク処理制御部５０６は、Ｓ１７０４で抽出した本文属性領域に含まれる文字の量が多いか否かを判定し、その結果で条件分岐を行う。文字の量が多い場合（Ｓ１７１１にてＹＥＳ）は、Ｓ１７０６に進み、図１０（ａ）のＳ１０１６、Ｓ１０１７と同様の処理を行う。文字の量が少ない場合（Ｓ１７１１にてＮＯ）には、Ｓ１７１２に進み、所定の集合単位を段落単位ではなく、当該本文属性領域内の文字情報をそのまま１つの集合単位とする。そして、当該本文領域内の文字情報と位置情報とを蓄積する。なお、Ｓ１７１１で用いる判断基準は閾値として予め定義されておくことが考えられる。この閾値は実験的に決められても良いし、処理を行う装置のメモリ資源の空き状況に応じて変更しても良い。
【００９５】
このようにして、利用者が文書内の図とその図の説明部分と移動できる相互リンク機能を有する電子文書データを作成する場合に、ページ単位で解析処理を行い、そのページの処理に必要な記憶容量の削減を行った。すなわち、１文字ごとに座標位置を保持するのではなく、ある集合単位（例えば段落単位）で位置情報を保持することによって、必要となる記憶容量の削減を行う。第二の実施形態では、文書内に記載されている文字の量に応じて、集合単位を動的に変更することにより、効率的に記憶容量の削減を行うことができる。  
【００９６】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005249387.tif 000002
【図２】
0005249387.tif 000003
【図３】
0005249387.tif 000004
【図４】
0005249387.tif 000005
【図５】
0005249387.tif 000006
【図６】
0005249387.tif 000007
【図７】
0005249387.tif 000008
【図８】
0005249387.tif 000009
【図９】
0005249387.tif 000010
【図１０】
0005249387.tif 000011
【図１１】
0005249387.tif 000012
【図１２】
0005249387.tif 000013
【図１３】
0005249387.tif 000014
【図１４】
0005249387.tif 000015
【図１５】
0005249387.tif 000016
【図１６】
0005249387.tif 000017
【図１７】
0005249387.tif 000018