(57)【要約】【課題】  帳票画像を読み取る際の条件に影響されず、帳票画像データの検索を精度よく、効率的に行うことを可能にすること。【解決手段】  テーブル要素を含む帳票画像データの検索を実行する情報処理装置における情報処理方法は、入力された画像データから少なくとも一つのテーブル要素を抽出する。テーブル要素の位置情報とサイズ情報と枠線の太さとに関する特徴データを算出し、枠線の太さ情報に基づいて、前記抽出したテーブル要素の中から、比較対象にするテーブル要素を選択する。そして、選択されたテーブル要素の特徴データに基づいて、予め登録されている帳票画像データの中から、入力された画像データに類似する帳票画像データを判定する。また、比較対象にするテーブル要素を選択する際に比較順位を割り当てて、当該割り当てられた比較順位とテーブル要素の特徴データとに基づいて、入力された画像データに類似する帳票画像データを判定する。【選択図】  図１３
2009025917.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データに含まれる少なくとも一つのテーブル要素を抽出し、当該テーブル要素それぞれの位置情報とサイズ情報と枠線の太さ情報とに関する特徴データを算出する特徴データ算出手段と、
少なくとも前記枠線の太さ情報に基づいて、前記抽出したテーブル要素の中から、比較対象にするテーブル要素を選択する選択手段と、
前記選択手段で選択されたテーブル要素の特徴データに基づいて、予め登録されている帳票画像データの中から、前記入力された画像データに類似する帳票画像データを判定する判定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記選択手段は、少なくとも前記枠線の太さ情報に基づいて、前記抽出したテーブル要素の中から、比較対象にするテーブル要素を選択し、更に、当該選択したテーブル要素のサイズ情報に基づいて、当該選択されたテーブル要素に対して比較の順位を割り当て、
前記判定手段では、前記選択手段で選択されて前記比較の順位が割り当てられたテーブル要素の特徴データに基づいて、予め登録されている帳票画像データの中から、前記入力された画像データに類似する帳票画像データを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記入力された画像データの原点に対する前記選択された各テーブル要素の位置ずれ量を算出し、
予め登録されている複数の帳票画像データにおけるテーブル要素の位置ずれ量と、前記位置ずれ量算出手段により算出された位置ずれ量との比較に基づいて、前記入力された画像データに類似する帳票画像データを判定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記選択手段により選択されたテーブル要素の位置情報とサイズ情報とに基づき、前記画像データの原点を求め、当該原点に対する当該テーブル要素の位置ずれ量を算出することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記判定手段は、前記テーブル要素の位置情報とサイズ情報に基づき、当該テーブル要素の重心を算出し、前記画像データの原点に対する当該重心の距離と角度のずれを位置ずれ量として算出することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
特徴データ算出手段が、入力された画像データに含まれる少なくとも一つのテーブル要素を抽出し、当該テーブル要素それぞれの位置情報とサイズ情報と枠線の太さ情報とに関する特徴データを算出する特徴データ算出工程と、
選択手段が、少なくとも前記枠線の太さ情報に基づいて、前記抽出したテーブル要素の中から、比較対象にするテーブル要素を選択する選択工程と、
判定手段が、前記選択工程で選択されたテーブル要素の特徴データに基づいて、予め登録されている帳票画像データの中から、前記入力された画像データに類似する帳票画像データを判定する判定工程と、
を備えることを特徴とする情報処理方法。
【請求項７】
コンピュータを、
入力された画像データに含まれる少なくとも一つのテーブル要素を抽出し、当該テーブル要素それぞれの位置情報とサイズ情報と枠線の太さ情報とに関する特徴データを算出する特徴データ算出手段と、
少なくとも前記枠線の太さ情報に基づいて、前記抽出したテーブル要素の中から、比較対象にするテーブル要素を選択する選択手段と、
前記選択手段で選択されたテーブル要素の特徴データに基づいて、予め登録されている帳票画像データの中から、前記入力された画像データに類似する帳票画像データを判定する判定手段として機能させるためのコンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを記憶した、コンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票画像データの検索に関する情報処理技術に関する。
【背景技術】
【０００２】
従来の帳票検索装置は、入力された帳票画像から特徴量を抽出し、抽出した特徴量と、予め登録されている帳票フォームとの特徴量との比較により類似判断を行うものである。上述の従来技術として、例えば、以下の特許文献に示されるものがある。
【特許文献１】特開2001-283220号公報
【特許文献２】特開2002-024838号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の類似判断においては、帳票画像を読み取る際の諸条件、例えば、帳票画像の原稿状態やスキャナ等の入力装置の状態により、入力された帳票画像から抽出される特徴量は変化する。特に、細い線で描画されている画像は、スキャン時にかすれたりして正確な特徴量が抽出されないことがある。そのために、予め登録されている帳票フォーム（帳票画像データ）との特徴量の比較を正確に行うことができないこととなり、類似判断の結果は、帳票画像データを読み取る際の諸条件に左右されやすいということが問題になっている。
【０００４】
上記の問題に鑑み、本発明は、帳票画像を読み取る際の諸条件に影響されず、帳票画像データの検索を精度よく、効率的に行うことを可能にする情報処理技術の提供を目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成する本発明に係る情報処理装置は、
入力された画像データに含まれる少なくとも一つのテーブル要素を抽出し、当該テーブル要素それぞれの位置情報とサイズ情報と枠線の太さ情報とに関する特徴データを算出する特徴データ算出手段と、
少なくとも前記枠線の太さ情報に基づいて、前記抽出したテーブル要素の中から、比較対象にするテーブル要素を選択する選択手段と、
前記選択手段で選択されたテーブル要素の特徴データに基づいて、予め登録されている帳票画像データの中から、前記入力された画像データに類似する帳票画像データを判定する判定手段と、
を備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、帳票画像を読み取る際の条件に影響されず、帳票画像データの検索を精度よく、効率的に行うことが可能になる。
【発明を実施するための最良の形態】
【０００７】
（第１の実施形態）
以下、図面を参照して、本発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【０００８】
図１は、本実施形態に係る情報処理装置の概略的な構成を示す図であり、情報処理装置１０１は、帳票画像データの検索処理を実行することが可能である。スキャナ１０２は、ページ単位に画像データを入力することが可能であり、印刷用紙に印刷された帳票画像を光学的に読み取り電子化し、帳票画像データを情報処理装置１０１に入力する。
【０００９】
図２は、本実施形態に係る情報処理装置の概略的な構成を示すブロック図である。ＣＰＵ２０１は、情報処理装置１０１の全体的な制御を司ることが可能である。ＲＯＭ２０２は、帳票画像データの検索処理を実行するための各種プログラムや各種パラメータ、情報処理装置１０１の制御プログラム等を格納する。ＣＰＵ２０１は、ＲＯＭ２０２に格納されているコンピュータプログラムを実行することにより帳票画像データの検索処理を行うことが可能である。ここで「帳票画像データ」とは、複数の罫線によって囲まれる表形式のテーブル要素を少なくとも一つ含む形式の画像データをいう。
【００１０】
ＲＡＭ２０３は、帳票画像データ等や各種情報を記憶することが可能である。また、ＲＡＭ２０３は、データの作業領域や一時待避領域として機能する。外部記憶装置２０４には、データベースに帳票画像データ（以下、単に帳票ともいう）が登録されており、登録された帳票画像データを登録画像（帳票画像）として管理することが可能である。外部記憶装置２０４は、例えば、ハードディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等で構成することが可能である。ディスプレイ２０５は、帳票の検索結果や特徴量の抽出結果を表示することが可能であり、例えば、ＬＣＤやＣＲＴで構成される。
【００１１】
入力装置２０６は、情報処理装置に対して指示を入力することが可能であり、例えば、マウスやペンタブレット等で構成される。スキャナ２０７（図１のスキャナ１０２に対応する）はカラー画像またはモノクロ画像を入力することが可能であり、例えば、印刷用紙に印刷された帳票を光学的に読み取り、その画像データを情報処理装置に入力することが可能である。スキャナ２０７には、必要に応じてＡＤＦ（オードドキュメントフィーダ：自動原稿給紙部）が構成されていて、複数の帳票の画像データを連続的に読み取ることも可能である。
【００１２】
ネットワークインターフェース（Ｉ／Ｆ）２０８は、ネットワーク上に接続されている外部装置（例えば、サーバ、外部記憶装置等）との通信によりプログラムやデータを読み込んだり、書き込んだりすることを可能にする。ネットワークインターフェース（Ｉ／Ｆ）２０８を介して、情報処理装置１０１は、サーバ、外部記憶装置等から帳票検索に関するデータを受信して、検索処理を実行することが可能である。また、外部記憶装置２０４内のデータベースをネットワーク上の他の外部記憶装置に構成することも可能である。ネットワークにはインターネットやＬＡＮやＷＡＮや電話回線、専用デジタル回線、フレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線、その他これらの組み合わせによる通信ネットワークが含まれる。
【００１３】
（帳票登録処理）
図３は帳票登録処理の流れを説明するフローチャートであり、ＣＰＵ２０１の制御の下に実行される。
【００１４】
ステップＳ３０１で、ＣＰＵ２０１の制御の下、スキャナ２０７から登録対象の画像を入力する。図４は入力された画像（入力画像）を例示的に示す図であり、図４の入力画像には、テーブル・ブロック４０１、４０２、４０３、テキスト４０４、イメージ４０５が含まれる。スキャナ２０７で読み取られた画像は、情報処理装置１０１に入力され、ＣＰＵ２０１の制御の下、２値化処理が施される。そして、ステップＳ３０２において、入力された画像（画像データ）に含まれる構成要素（テーブル要素）の属性に関する特徴データ（特徴量）の抽出が実行される。ＣＰＵ２０１は、特徴データ算出手段として機能し、ページ単位に入力された画像データに含まれる少なくとも一つのテーブル要素を抽出し、テーブル要素の位置情報とサイズ情報に関する特徴データを算出することが可能である。
【００１５】
特徴量抽出の手法としては一般的に行われる黒ドットのヒストグラムをとるなどすることにより、画像をテーブル、テキスト、ピクチャ（イメージ）などの領域ごとに分割し、レイアウト情報を算出することができる。
【００１６】
図５は、レイアウト情報の抽出結果を示す図であり、テーブル・ブロック５０１、５０２、５０３と、ピクチャ・ブロック５０５と、テキスト・ブロック５０４が抽出されている。テーブル・ブロック５０１、５０２、５０３は、図４のテーブル・ブロック４０１、４０２、４０３に対応する。ピクチャ・ブロック５０４は、図４のイメージ４０５に対応する。テキスト・ブロック５０４は、図４のテキスト４０４に対応する。
【００１７】
また、ＣＰＵ２０１は、テーブルの詳細構造を求めるため、テーブル・ブロック５０１、５０２、５０３に関して、罫線追跡手法などにより、帳票ページのレイアウト情報およびテーブルのセル詳細構造を解析することが可能である。
【００１８】
図６は、レイアウト情報の抽出結果（書式データ）を示す図であり、この抽出結果は、入力されたページ単位の画像データにおける書式データとして、情報処理装置１０１の外部記憶装置１０４に格納される。帳票の書式データは、ページ書式と、テーブル書式に階層化されて外部記憶装置１０４に格納される。ページ書式は、画像を構成する構成要素（テーブル・ブロック（テーブル要素））の位置情報としてブロック左上座標、画像を構成する構成要素（テーブル要素）の大きさの情報（サイズ情報）としてブロック幅及びブロック高さの情報を有する。また、構成要素の属性（ブロック属性）がテーブルの場合には、テーブル詳細情報を特定し、更に、特定されたテーブル詳細情報とリンクするためにテーブルＩＤ（テーブル書式識別情報）がページ書式に含まれる。また、各テーブルの外枠線の太さの情報も格納される。
【００１９】
テーブルＩＤによりページ書式とリンクされたテーブル・ブロック（テーブル要素）の詳細な構造は、テーブル書式の記載により特定される。テーブル書式には、テーブル内のセル個数、セルの位置、セルＩＤ、及び大きさの情報（ブロック幅及びブロック高さ）が含まれる。なお、テーブルＩＤとセルＩＤはＳ３０２の処理において抽出された順に昇順に割り振られる。
【００２０】
次に、ステップＳ３０３において、ＣＰＵ２０１は、ステップＳ３０２で抽出されたテーブル・ブロック（テーブル要素）から、比較に使用するテーブル・ブロックをピック・アップ（選択）し、比較順序を決定する。ここで、ＣＰＵ２０１は選択手段として機能することが可能であり、抽出されたテーブル要素が１ページに複数個、含まれている場合、比較の対象となるテーブル要素をそれぞれのテーブル要素の特徴量（特徴データ）に基づいて選択することが可能である。
【００２１】
例えば、図４の画像では、テーブル・ブロック４０１とテーブル・ブロック４０２がピック・アップ（選択）されて、テーブル・ブロック４０１が一番目、テーブル・ブロック４０２が二番目の比較対象となる。ＣＰＵ２０１は、テーブル・ブロックの外枠線の太さの情報や、サイズ情報（テーブル・ブロックの大きさの情報）、テーブル・ブロックに含まれるセル数等の情報に基づいて、比較対象のテーブルを選択し、比較順序を決定する。比較順序を決定する処理の詳細は、後に図８を参照して説明する。なお、本実施形態では、太い外枠線を有するテーブルを比較対象としている。これは、細い線をスキャンした場合、枠線がかすれてしまい、テーブルと認識されない場合があるためである。つまり、太い外枠線を有するテーブルを優先して比較対象とすることで、テーブルと認識されない場合が少なくなり、検索時の処理が、より高精度に行えるようになる。
【００２２】
ステップＳ３０４において、ＣＰＵ２０１は、Ｓ３０３で選択されたテーブル・ブロックの詳細な特徴量を算出する。ここで、テーブル・ブロックの詳細な特徴量には、ページ原点からテーブル・ブロックまでの中心座標、ページ原点からテーブル・ブロックの中心までの距離（ベクトルデータ）、ページ原点からの角度に関する情報が含まれる。ここでページ原点とは、ステップＳ３０２で抽出された、画像を構成する構成要素（テーブル・ブロック）の位置情報と、大きさ情報に基づき算出された座標をいう。ステップＳ３０３で選択されたテーブル・ブロックの比較順序やステップＳ３０４で算出されたテーブル・ブロックの詳細な特徴量（詳細情報）は、図７に示すテーブル詳細書式として外部記憶装置１０４に保存される。テーブル・ブロックの詳細な特徴量の算出処理の詳細は後に図１１を参照して説明する。
【００２３】
Ｓ３０５において、ＣＰＵ２０１は、Ｓ３０２の抽出結果に基づく書式データ（図６）と、Ｓ３０４で算出されたテーブル詳細書式の内容（図７）とを入力画像と対応づけて外部記憶装置１０４に登録（特徴量の登録）する。
【００２４】
（テーブル・ブロックの選択（Ｓ３０３））
次に、テーブル・ブロックの選択（Ｓ３０３）処理の詳細を図８乃至図１０の参照により説明する。
【００２５】
図８はテーブル・ブロックの選択処理の流れ説明するフローチャートであり、テーブル・ブロックの選択処理は、ＣＰＵ２０１の制御の下に実行される。
【００２６】
まず、ステップＳ８０１において、ＣＰＵ２０１は、Ｓ３０２で抽出された特徴量に基づき、テーブル・ブロックの総数を検査する。図４の場合、入力された画像から全部で３つのテーブル・ブロックが抽出されることになる。テーブル・ブロックの総数が単数個の場合は（Ｓ８０１−Ｎｏ）、それ以上、選択処理を行う必要がないため、ステップＳ８０２において順位「１位」が割り当てられ、処理を終了する。
【００２７】
Ｓ８０１の判定において、テーブル・ブロックの総数が複数個の場合（Ｓ８０１−Ｙｅｓ）、処理はステップＳ８０３に進められる。Ｓ８０３において、ＣＰＵ２０１は、Ｓ３０２で抽出された特徴量のうち、テーブル・ブロックの外枠線の太さ情報から平均の太さを算出し、平均値より太い外枠線を持つテーブル・ブロックをピック・アップ（選択）する。ＣＰＵ２０１は、外枠線の平均の太さを（１）式により算出することができる。
【００２８】
【数１】
2009025917.tif 000003
【００２９】
例えば、図６の書式データにおいて、テーブル・ブロックの外枠線の太さはそれぞれ、テーブル・ブロック５０１が６、テーブル・ブロック５０２が５、テーブル・ブロック５０３が１となり、平均の太さは４になる。ＣＰＵ２０１は、平均の太さ４より外枠線が太いテーブル・ブロック５０１とテーブル・ブロック５０２を選択する。
【００３０】
ステップＳ８０４において、ＣＰＵ２０１は、Ｓ８０３で選択されたテーブル・ブロックが複数個あるか判定する。Ｓ８０４の判定で、テーブル・ブロックが単数個の場合（Ｓ８０４−Ｎｏ）、処理はステップＳ８０２に進められ、ＣＰＵ２０１は、選択されたテーブル・ブロックに順位「１位」を割り当て、処理を終了する。
【００３１】
一方、Ｓ８０４の判定で、テーブル・ブロックが複数個ある場合（Ｓ８０４−Ｙｅｓ）、ステップＳ８０５に処理は進められる。ステップＳ８０５において、ＣＰＵ２０１は、ステップ８０３で選択されたテーブル・ブロックの大きさ情報をそれぞれ比較して昇順に順位付けを行う。ここで、大きさの情報は、Ｓ３０２で抽出された特徴量のうち、ＣＰＵ２０１は、テーブル・ブロックの幅と高さの情報を参照することで求めることが可能である。
【００３２】
図６の書式データでは、テーブル・ブロック５０１がテーブル・ブロック５０２により大きいのでテーブル・ブロック５０１が順位「１位」、テーブル・ブロック５０２が順位「２位」という順番が割り当てられる。大きさが等しい場合は、同じ順位が異なるテーブル・ブロックに割り当てられる。
【００３３】
ステップＳ８０６において、ＣＰＵ２０１は、ステップＳ８０５の処理で同じ順位を割り当てられたテーブル・ブロックがあるか判定する。全てのテーブル・ブロックに対して異なる順位が割り当てられている場合は（Ｓ８０６−Ｎｏ）、処理を終了する。
【００３４】
一方、Ｓ８０６の判定で、同じ順位に割り当てられたテーブル・ブロックが複数ある場合（Ｓ８０６−Ｙｅｓ）、処理はＳ８０７に進められる。
【００３５】
ステップＳ８０７において、ＣＰＵ２０１は、同じ順位を割り当てられたテーブル・ブロックのセルの個数情報を書式データ（図６）に基づき求め、昇順に順位付けを行う。例えば、図９のようにテーブル・ブロック９０１とテーブル・ブロック９０３が外枠線の太さも、大きさも同じ場合には、セルの個数情報からより多くのセルを持つテーブル・ブロック９０３が上位になる。
【００３６】
ステップＳ８０８において、ＣＰＵ２０１は、ステップＳ８０７の処理で同じ順位を割り当てられたテーブル・ブロックがあるかを判定する。全てのテーブル・ブロックに対して異なる順位が割り当てられている場合は（Ｓ８０７−Ｎｏ）、処理を終了する。
【００３７】
一方、Ｓ８０８の判定で、同じ順位に割り当てられたテーブル・ブロックが複数ある場合（Ｓ８０７−Ｙｅｓ）、処理はＳ８０９に進められる。ステップＳ８０９において、ＣＰＵ２０１は、同じ順位を割り当てられたテーブル・ブロックのＩＤ情報を書式データ（図６）に基づき求め、ＩＤ情報（ＩＤ＝１、２、・・・）より昇順に順位付けを行う。例えば、図１０のように外枠線の太さも大きさもセルの個数も同じ場合には、ＩＤ情報順にテーブル・ブロック１０１０が「１」、テーブル・ブロック１０２０が「２」、テーブル・ブロック１０３０が「３」と、順位付けられる。
【００３８】
以上の処理により、比較に使用するテーブル・ブロックそれぞれに順位付けが行われたことになり、この結果は、図７のテーブル詳細書式に保存される。
【００３９】
（テーブル・ブロックの詳細な特徴量の算出処理（Ｓ３０４））
次に、テーブル・ブロックの詳細な特徴量の算出処理（Ｓ３０４）の詳細を図１１、図１２の参照により説明する。
【００４０】
図１１はテーブル・ブロックの詳細な特徴量の算出処理を流れ説明するフローチャートであり、詳細な特徴量の算出処理は、ＣＰＵ２０１の制御の下に実行される。ここで、ＣＰＵ２０１は、位置ずれ量算出手段として機能することが可能であり、テーブル要素の位置情報とサイズ情報とに基づき、テーブル要素が含まれるページの原点を求め、原点に対するテーブル要素の位置ずれ量を算出することが可能である。ＣＰＵ２０１は、テーブル要素（テーブル・ブロック）の位置情報とサイズ情報に基づき、テーブル要素の重心を算出し、ページの原点に対する重心位置の距離と角度のずれを位置ずれ量として算出する。
【００４１】
Ｓ１１０１において、ＣＰＵ２０１は、Ｓ３０２で抽出された特徴量のうち、ブロックの位置情報（ブロックの左上座標）に基づき、最上端、最下端、最左端、最右端を算出し、その中心点を仮のページ原点として算出する。最上端はそれぞれのブロック上辺のＹ座標から最も小さいＹ座標値を採用し、最下端はＹ座標に高さを加えたブロック下辺のＹ座標から最も大きいＹ座標値を採用する。最左端はブロック左辺のＸ座標から最も小さいＸ座標値を採用し、最右端はＸ座標に幅を加えたブロックの右辺のＸ座標から最も大きいＸ座標値を採用する。
【００４２】
ＣＰＵ２０１は、ページ原点を（２）、（３）式に基づき算出することが可能である。
【００４３】
ページ原点Ｘ座標＝最左端Ｘ座標
＋(最右端Ｘ座標−最左端Ｘ座標)／２・・・（２）
ページ原点Ｙ座標＝最上端Ｙ座標
＋(最下端Ｙ座標−最上端Ｙ座標)／２・・・（３）
例えば、図６の書式データでは最上端がテーブル・ブロック５０１の上端のＹ座標１０、最下端がテーブル・ブロック５０３の下端のＹ座標１１６（＝９６＋２０）となる。また、最左端がテーブル・ブロック５０１の左端のＸ座標１０、最右端がテーブル・ブロック５０１の右端のＸ座標１６０（＝１０＋１５０）となり、それらの中心を（２）、（３）式で算出するとページ原点＝（８５，６３）となる。
【００４４】
次に、ステップＳ１１０２において、ＣＰＵ２０１は、Ｓ３０３で選択されたテーブル・ブロックを順位の昇順に１個ずつ選択する。図６では、例えば、１位の順位であるテーブル・ブロック５０１が第１の処理対象となる。
【００４５】
ステップＳ１１０３において、ＣＰＵ２０１は、Ｓ１１０２で選択されたテーブル・ブロックのテーブル書式からテーブル・ブロックに含まれるセルの中心を算出する。
【００４６】
ＣＰＵ２０１は、（４）、（５）式により、セルの中心を算出することができる。
【００４７】
セルの中心のＸ座標＝（セルの左上Ｘ座標＋セルの幅）／２・・・（４）
セルの中心のＹ座標＝（セルの左上Ｙ座標＋セルの幅）／２・・・（５）
ステップＳ１１０４において、ＣＰＵ２０１は、テーブル・ブロックのセル全てにおいてＳ１１０３の処理を行ったか判定する。
【００４８】
Ｓ１１０４の判定で、Ｓ１１０３の処理を行っていないセルが残っている場合（Ｓ１１０４−Ｎｏ）、次のセルを選択し、同様にＳ１１０３の処理を行う。一方、Ｓ１１０４の判定で、全てのセルに対してＳ１１０３の処理が完了したとＣＰＵ２０１が判定する場合（Ｓ１１０４−Ｙｅｓ）、Ｓ１１０５に処理は進められる。
【００４９】
ステップＳ１１０５において、ＣＰＵ２０１は、（６）、（７）式に基づき、Ｓ１１０３で算出されたそれぞれのセルの中心から、テーブル・ブロックの重心座標を算出することが可能である（ｎはセルの個数を示す）。
【００５０】
【数２】
2009025917.tif 000004
【００５１】
Ｓ１１０６において、ＣＰＵ２０１は、Ｓ１１０１で算出された仮のページ原点と、Ｓ１１０５で算出されたテーブル・ブロックの重心とに基づき、両者の位置ずれ量として、距離、角度に関する情報を算出する。ＣＰＵ２０１は、（８）、（９）式に基づき、仮のページ原点と、テーブル・ブロックの重心との位置ずれ量として、距離と角度のずれ量を算出することが可能である。
【００５２】
【数３】
2009025917.tif 000005
【００５３】
例えば、図１２において、ページ原点１２０１とテーブルの重心１２０２とを例とすると、ＣＰＵ２０１は、距離１２０３、角度１２０４を算出することができる。ここで、距離はピクセル（画素）単位とする。
【００５４】
ステップＳ１１０７において、ＣＰＵ２０１は、Ｓ１１０６で算出された位置ずれ量をテーブル詳細書式（図７）に保存する。
【００５５】
ステップＳ１１０８において、ＣＰＵ２０１は、Ｓ１１０２からＳ１１０７の処理を順位が付いている全てのテーブル・ブロックに対して行ったか判定する。まだ処理を行っていないテーブル・ブロックがある場合は（Ｓ１１０８−Ｎｏ）、Ｓ１１０２からＳ１１０７の処理を行い、順位が付いている全てのテーブル・ブロックの位置ずれ量を算出し、テーブル詳細書式（図７）に保存する。
【００５６】
Ｓ１１０８の判定で、全てのテーブル・ブロックに対して処理が完了したと、ＣＰＵ２０１が判定する場合（Ｓ１１０８−Ｙｅｓ）、処理は終了する。
【００５７】
（帳票画像データの検索処理）
次に、本発明の実施形態にかかる帳票認識処理について、図１３を参照して説明する。図１３は帳票認識処理の流れを説明するフローチャートであり、帳票認識処理はＣＰＵ２０１の制御の下に実行される。
【００５８】
まず、ステップＳ１３０１において、スキャナ２０７により読み取られた検索となる対象の画像（例えば、帳票画像）が入力される。ＣＰＵ２０１は入力された画像（入力画像）の２値化処理を行う。
【００５９】
ステップＳ１３０２において、ＣＰＵ２０１は、入力画像の特徴量抽出を行い、ページ書式情報とテーブル書式情報を求める（図６を参照）。特徴量抽出処理は先に説明した図３のＳ３０２と同様の処理に基づくものである。
【００６０】
ステップＳ１３０３において、ＣＰＵ２０１は、予め登録されている帳票画像データと比較対象となるテーブル要素を選択する。ＣＰＵ２０１は、ページ単位の画像データから抽出されたテーブル要素が１ページに複数個、含まれている場合、比較の対象となるテーブル要素をそれぞれのテーブル要素の特徴データに基づいて選択する。ここで、ＣＰＵ２０１が実行する選択処理は、図３のステップＳ３０３（図８）と同様の処理に基づくものである。
【００６１】
ステップＳ１３０４において、ＣＰＵ２０１は、Ｓ１３０３で選択されテーブル・ブロック（テーブル要素）の詳細な特徴量を、図３のＳ３０４と同様の処理に基づき算出する。
【００６２】
ステップＳ１３０５において、ＣＰＵ２０１は、選択されたテーブル要素の書式データと、既に登録されている帳票（登録帳票）の書式データとの照合（マッチング）を行う。ＣＰＵ２０１は、登録帳票の特徴量と、選択されたテーブル要素の特徴量とを比較して、両特徴量が一致する登録帳票を検索する。本ステップの処理の詳細は、図１４を参照して詳細に説明する。
【００６３】
ステップＳ１３０６において、ＣＰＵ２０１は、検索結果をディスプレイ１０５に表示制御する。
【００６４】
（特徴量の比較処理（Ｓ１３０５））
次に、図１３のステップＳ１３０５における特徴量の比較処理の詳細を図１４の参照により説明する。図１４は特徴量の比較処理の詳細な流れを説明するフローチャートであり、特徴量の比較処理は、ＣＰＵ２０１の制御の下に実行される。
【００６５】
ステップＳ１４０１において、ＣＰＵ２０１は、登録されている帳票画像データの中から、特徴量を比較するための対象となる帳票画像データ（登録帳票）を選択する。ＣＰＵ２０１は、帳票画像データ（登録帳票）を、例えば、登録順に選択することが可能であるが、選択の順番に本発明の趣旨は限定ないことは言うまでも無い。
【００６６】
ステップＳ１４０２において、ＣＰＵ２０１は、選択された帳票画像データ（登録帳票）のテーブル詳細書式（図７）から比較順位の昇順にテーブル・ブロックを選択する。本実施形態では、順位を「ｎ」とする。
【００６７】
ステップＳ１４０３において、ＣＰＵ２０１は、スキャナ２０７から読み込まれた、テーブル要素を含む画像データ（検索帳票）のテーブル詳細書式から比較順位の昇順にテーブル・ブロックを選択する。本実施形態では、順位を「ｎ」とする。
【００６８】
ステップＳ１４０４において、ＣＰＵ２０１は、Ｓ１４０２で選択された登録帳票のテーブル・ブロックとＳ１４０３で選択された検索帳票のテーブル・ブロックにおける位置ずれ量（距離及び角度）が一致するか判定する。
【００６９】
入力画像の印刷状態やスキャナ２０７の読取条件により、入力された画像データと比較対象となる帳票画像データ（登録帳票）との間で、テーブル要素の形状が全く同一になる可能性は低い。そのため、Ｓ１４０４の判定で、ＣＰＵ２０１はある程度の誤差範囲（オフセット値）を持たせて、この誤差範囲内で、同一であるか否かの判定を行うようにしても良い。また、Ｓ１４０４の判定において、ユーザが誤差範囲を指定することも可能である。
【００７０】
ステップＳ１４０５において、ＣＰＵ２０１は先のＳ１４０４における比較処理で、位置ずれ量（距離及び角度）が一致しない場合（Ｓ１４０５−Ｙｅｓ）、処理をＳ１４０６に進める。ステップＳ１４０６において、ＣＰＵ２０１は、現在選択されている登録帳票を比較（検索）の対象から外し、次回以降の特徴量の比較において比較（検索）の対象にならないよう検索対象から除外する。
【００７１】
Ｓ１４０５の判定で、位置ずれ量（距離及び角度）が一致する場合（Ｓ１４０５−Ｎｏ）、ＣＰＵ２０１は、処理をＳ１４０７に進める。ステップＳ１４０７において、ＣＰＵ２０１は、登録されている全ての帳票（登録帳票）に対して、Ｓ１４０１からＳ１４０６の処理が完了したか判定する。まだ、処理を行っていない登録帳票が存在する場合（Ｓ１４０７−Ｎｏ）、未処理の登録帳票に対してＳ１４０１からＳ１４０６の処理を繰り返す。全ての登録帳票と検索帳票の比較を終了すると（Ｓ１４０７−Ｙｅｓ）、ＣＰＵ２０１は、処理をＳ１４０８に進める。
【００７２】
ステップＳ１４０８において、ＣＰＵ２０１は、検索帳票に類似する登録帳票が複数個あるか否かを判定する。検索帳票に類似する登録帳票が複数個ある場合（Ｓ１４０８−Ｙｅｓ）、処理はＳ１４０９に進められる。ここで、ＣＰＵ２０１は、より詳細な比較を行うために、選択するテーブル・ブロックの順位を下げて、すなわち、順位ｎを順位ｎ＋１に変更して、特徴量の比較（位置ずれ量（距離及び角度）の比較）を行う。
【００７３】
一方、Ｓ１４０８の判定で、検索帳票に類似する登録帳票が複数個ない場合（Ｓ１４０８−Ｎｏ）、ＣＰＵ２０１は、Ｓ１４０１で選択された登録帳票を、入力された画像データに類似する帳票画像データとして決定し、処理を終了する。
【００７４】
ＣＰＵ２０１は、検索結果をディスプレイ１０５に表示制御する。また、検索の結果、類似する登録帳票が存在しない場合、類似の帳票が登録されていないことになるので、ＣＰＵ２０１は、検索帳票に類似する帳票は未登録という結果をディスプレイ１０５に表示制御する。
【００７５】
ステップＳ１４０９において、ＣＰＵ２０１は、テーブル・ブロックの順位が最下位まで比較したか判定する。最下位の順位まで判定が完了したとＣＰＵ２０１が判定した場合（Ｓ１４０９−Ｙｅｓ）、ＣＰＵ２０１は処理を終了し、検索帳票と類似する登録帳票が複数個、検索されたことをディスプレイ１０５に表示する。
【００７６】
一方、Ｓ１４０９の判定で、テーブル・ブロックの順位が最下位まで比較していないとＣＰＵ２０１が判定する場合（Ｓ１４０９−Ｎｏ）、より詳細な比較を行うために、ＣＰＵ２０１は処理をＳ１４１０に進める。
【００７７】
ステップＳ１４１０において、ＣＰＵ２０１は、選択するテーブル・ブロックの順位を下げて、すなわち、現在選択されている順位ｎをｎ＋１として（ｎ＋＋）、処理をＳ１４０１に戻し、同様の特徴量（位置ずれ量（距離及び角度））の比較処理を行う。
【００７８】
このように、Ｓ１４０１からステップＳ１４１０の処理を繰り返すことにより、帳票画像を読み取る際の条件に影響されず、帳票画像データの検索を精度よく、効率的に行うことが可能になる。
【００７９】
（他の実施形態）
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ可読の記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００８０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８１】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８２】
また、コンピュータが読出したコンピュータプログラムを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８３】
【図１】本実施形態に係る情報処理装置の概略的な構成を示す図である。
【図２】本実施形態に係る情報処理装置の概略的な構成を示すブロック図である。
【図３】帳票登録処理の流れを説明するフローチャートである。
【図４】入力された画像を例示的に示す図である。
【図５】レイアウト情報の抽出結果を示す図である。
【図６】書式データの構成を例示する図である。
【図７】テーブル詳細書式データの構成を例示する図である。
【図８】テーブル・ブロックの選択処理の流れ説明するフローチャートである。
【図９】テーブル・ブロックの選択例を説明する図である。
【図１０】テーブル・ブロックの選択例を説明する図である。
【図１１】テーブル・ブロックの詳細な特徴量の算出処理を流れ説明するフローチャートである。
【図１２】テーブル・ブロックの詳細な特徴量の算出結果を例示する図である。
【図１３】帳票認識処理の流れを説明するフローチャートである。
【図１４】特徴量の比較の詳細な処理の流れを説明するフローチャートである。
【符号の説明】
【００８４】
１０１  情報処理装置
１０４  外部記憶装置
２０１  ＣＰＵ
２０７  スキャナ
【図１】
2009025917.tif 000006
【図２】
2009025917.tif 000007
【図３】
2009025917.tif 000008
【図４】
2009025917.tif 000009
【図５】
2009025917.tif 000010
【図６】
2009025917.tif 000011
【図７】
2009025917.tif 000012
【図８】
2009025917.tif 000013
【図９】
2009025917.tif 000014
【図１０】
2009025917.tif 000015
【図１１】
2009025917.tif 000016
【図１２】
2009025917.tif 000017
【図１３】
2009025917.tif 000018
【図１４】
2009025917.tif 000019