(57)【要約】【課題】 種々の表形式文書を含む任意の画像をその管理情報を用いて蓄積する画像蓄積装置を提供する。【解決手段】 本発明の画像蓄積装置において、格納手段２６は、蓄積される画像の管理情報として、画像情報を格納する。そして、検索手段２８は、上記画像情報を検索する。例えば、多数の画像を蓄積する電子ファイリング装置において、各画像から抽出された画像コードをその管理情報として格納手段２６に格納しておく。そして、検索手段２８は、例えば、テンプレートマッチングにより、与えられた画像コードを格納手段２６内の画像コードと照合しながら、管理情報を検索する。【選択図】図１
2005050362.tif 000002
【特許請求の範囲】
【請求項１】
蓄積される画像の管理情報として、画像情報を格納する格納手段と、
前記画像情報を検索する検索手段と
を備えることを特徴とする画像蓄積装置。
【請求項２】
任意の入力画像に含まれる表領域の外郭部分に対する罫線の相対的な位置情報に基づいて、該入力画像に含まれる管理情報の位置を算出する計算手段と、前記計算手段が算出した位置に基づいて、前記入力画像から前記画像情報を抽出して前記格納手段に登録する登録手段とをさらに備えることを特徴とする請求項１記載の画像蓄積装置。
【請求項３】
前記画像情報と文字コードのうち少なくとも一方を選択する選択手段をさらに備え、前記格納手段は、選択された情報を前記管理情報として格納することを特徴とする請求項１記載の画像蓄積装置。
【請求項４】
前記選択手段が前記管理情報に対応する文字コードを選択したとき、前記格納手段は、該管理情報に対する文字認識の信頼度に応じて、該管理情報の画像を前記画像情報として保存することを特徴とする請求項３記載の画像蓄積装置。
【請求項５】
コンピュータのためのプログラムを記録した記録媒体であって、
蓄積される画像の管理情報として、画像情報を格納する機能と、
前記画像情報を検索する機能と
を前記コンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
蓄積される画像の管理情報として、画像情報を登録し、前記画像情報を検索することを特徴とする画像蓄積方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書や図面をスキャナ等の入力装置で画像データに変換し、その画像データに管理情報を付加して蓄積する装置、およびその処理を行う方法に関する。
【背景技術】
【０００２】
最近、従来より紙媒体で保存してきた情報を電子化する動きが多く見られる。その中の１つに電子ファイリングシステムがある。電子ファイリングシステムにおいては、紙文書がイメージスキャナ等の光電変換装置で文書画像に変換され、それに検索のためのキーワード等の管理情報が付与されて、光ディスクやハードディスクに保存される。
【０００３】
このような方法では、文書を画像データとして保存するため、文書に記されているすべての文字を文字認識技術でコード化してから保存する方法よりも、ディスク容量は多く必要となる。その反面、手軽で処理速度が速く、文字以外の絵や表などもそのまま保存できるメリットがある。しかし、保存された情報を検索するために、文書画像と共にキーワードや番号等の管理情報を付与しなければならない。従来のシステムはこのキーワード付けの手間がかかり、使いづらいシステムであった。
【０００４】
この使いづらさを解決するために、文書中にあるタイトル部分をキーワードとみなしてそれを自動的に抽出し、その部分を文字認識してコード化した結果を文書画像と共に保存する方法が考えられる。
【０００５】
現在の文字認識の処理速度は速くても数十文字／秒であり、Ａ４の文書１枚を処理するのには３０秒から数分の処理時間がかかってしまう。したがって、タイトル抽出を高速化するためには、文書全体を文字認識するのではなく、まず画像上で必要なタイトル部分だけを抽出した後に、それを文字認識する方法が有力である。
【０００６】
一般文書を光電変換装置で読み込んで得られる文書画像から、文書のタイトル等の部分領域を抽出する先願の技術として、本出願人による「文書画像からのタイトル抽出装置および方法」（特願平７−３４１９８３）がある。このタイトル抽出装置の原理構成を図４９に示す。
【０００７】
図４９のタイトル抽出装置は、文字領域生成部１、文字列領域生成部２、およびタイトル抽出部３を備える。まず、文字領域生成部１は、スキャナ等で入力した文書画像から、画素の連結成分のラベル付け（ラベリング）により文字等の部分パターンを抽出する。そして、いくつかの部分パターンを統合することで、文字領域を抽出（生成）する。次に、文字列領域生成部２は、複数の文字領域を統合して、文字列領域を抽出（生成）し、タイトル抽出部３は、タイトルらしい文字列領域をタイトル領域として抽出する。
【０００８】
このとき、タイトル抽出部３は、タイトル領域である確からしさとして、文書の上部中央に位置している、本文と比べて文字サイズが大きい、下線が引かれている等の性質に着目する。そして、その確からしさを得点として各文字列領域に投票していき、最終的に得点の高い文字列領域の順番で、複数のタイトル領域の候補を算出する。表を含まない文書からは、以上の処理でタイトル領域を抽出できる。
【０００９】
これに対して、表を含む文書の場合、文字列領域生成部２が表中の文字列領域を抽出した後、タイトル抽出部３は、文字数の条件も考慮してタイトル領域を抽出する。例えば、「議題」、「名称」等、タイトルの存在を示唆する項目名の文字数は少なく、タイトル自身の文字列は「−−−について」というように文字数が多い可能性が高い。このことを利用して、隣り合う文字列の文字数の関係から、タイトルらしい文字列を見つけることができる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、伝票等、罫線によってフォーマットが構造化された表形式文書は、現在大量に流通しており、一般には種々の表形式文書がある。このため、上述した先願の技術では、表内のタイトル抽出の精度が低いという問題がある。
【００１１】
例えば、タイトルが表内の中央部分や下端付近に存在する場合は、上部から優先的に文字列を抽出しただけでは、正しいタイトルが抽出結果に含まれない可能性がある。また、図５０に示すように、承認欄１１が表内の上部にあり、その中に「統括部長」、「部長」、「課長」、「担当者」等の余分な文字列が多く存在する場合も、これらの文字列が優先的に抽出され、正しいタイトルが抽出されにくい。
【００１２】
また、項目名１２と、それと対になったタイトル１３のように、タイトルが項目名の右ではなく下にある場合もある。この場合は、隣り合う文字列同士の文字数の情報だけでは、項目名とタイトルの位置関係を把握することができない。さらに、項目名が横書きだけでなく、縦書きの場合もあり、項目名の場所を正確に特定することは困難である。また、文書中に２つの表が含まれていて、タイトルが小さい方の表中のどこかに存在したりすることもある。
【００１３】
このように、表形式文書では種々のフォーマット（書式）があるため、タイトルとしての確からしさが文書によってばらつき、表内のタイトル抽出の精度が低くなってしまう。入力された文書の画像の状態が悪ければ、抽出精度はさらに低くなる。
【００１４】
また、電子ファイリングシステムでは、抽出したタイトル領域を光学文字読み取り装置（optical character reader：ＯＣＲ）で文字認識して文字コードを生成し、それを管理情報として画像に付加しておく。これにより、後に、データベース中の画像を文字コードで検索することができる。
【００１５】
この場合、タイトル領域の文字列がＯＣＲで読み取りやすい文字であれば問題ないが、新聞、雑誌等によく見られるように、背景が模様（テクスチャ）になっていたり、文字がデザインフォントであったりする場合には、現状のＯＣＲでは文字列を認識することができない。したがって、このような場合に、管理情報を画像に付加できないという問題がある。
【００１６】
本発明の課題は、種々の表形式文書を含む任意の画像をその管理情報を用いて蓄積する画像蓄積装置、およびその方法を提供することである。
【課題を解決するための手段】
【００１７】
図１は、本発明の画像蓄積装置を含む画像管理システムの原理図である。図１のシステムは、本発明に関連する第１、第２、第３、および第４の原理を含み、ユーザ登録手段２１、計算手段２２、辞書手段２３、照合手段２４、抽出手段２５、格納手段２６、グループ生成手段２７、および検索手段２８を備える。
【００１８】
第１の原理において、計算手段２２は、任意の入力画像に含まれる表領域の外郭部分に対する罫線の相対的な位置情報に基づいて、その入力画像に含まれる管理情報の位置を算出する。そして、抽出手段２５は、計算手段２２が算出した位置に基づいて、上記入力画像から上記管理情報を抽出する。
【００１９】
表領域の外郭部分の情報としては、例えば、表領域において縦横の基準となる大きさや、表領域の外郭付近に設けられた基準点の位置等が用いられる。計算手段２２は、表領域内から抽出された各罫線の位置を上記基準点に対する相対的な位置情報として表し、管理情報を囲む罫線の位置情報から管理情報の位置を求める。抽出手段２５は、その位置に対応する画像データを管理情報として抽出し、必要に応じて文字認識等を行う。
【００２０】
表の外郭部分の複数の基準点あるいは複数の方向に対して、管理情報を囲む罫線の相対的な位置を求めることで、かすれやノイズ等のため入力画像の状態が悪い場合でも、精度良く管理情報を抽出できる。
【００２１】
また、第２の原理において、辞書手段２３は、１つ以上の表のフォームの罫線構造の特徴と、各表のフォーム内の管理情報の位置情報とを格納する。照合手段２４は、入力画像の罫線構造の特徴を辞書手段２３に格納された罫線構造の特徴と照合する。抽出手段２５は、照合手段２４による照合結果に基づいて、辞書手段２３に格納された管理情報の位置情報を参照し、上記入力画像の管理情報を抽出する。ユーザ登録手段２１は、ユーザにより指定された管理情報の位置を辞書手段２３に登録する。
【００２２】
表のフォームとは、表を構成する罫線のレイアウト構造を表し、辞書手段２３は、その罫線構造の特徴とユーザ登録手段２１により指定された管理情報の位置をあらかじめ格納しておく。そして、照合手段２４は、入力画像の罫線構造の特徴と類似する特徴を持つ表のフォームを求め、抽出手段２５は、その表のフォーム内で指定された位置から管理情報を抽出する。
【００２３】
このように、ユーザが希望する管理情報の位置をあらかじめ登録しておき、その位置に基づいて入力画像から管理情報を抽出することで、種々のフォームの画像が入力される場合でも、各画像から精度良く管理情報を抽出できる。
【００２４】
また、第３の原理において、格納手段２６は、蓄積される画像の管理情報として、画像情報を格納する。そして、検索手段２８は、上記画像情報を検索する。例えば、多数の画像を蓄積する電子ファイリング装置において、各画像から抽出された画像コードをその管理情報として格納手段２６に格納しておく。そして、検索手段２８は、例えば、テンプレートマッチングにより、与えられた画像コードを格納手段２６内の画像コードと照合しながら、管理情報を検索する。
【００２５】
このように、管理情報の文字列を文字コードで格納／検索するだけでなく、画像そのもので格納／検索することもできるので、テクスチャ付き文字やデザインフォント、ロゴ等の正確に認識しにくい文字でも、管理情報として扱うことができる。
【００２６】
また、第４の原理において、格納手段２６は、表のフォームの罫線情報を格納する。グループ生成手段２７は、入力画像から抽出された罫線と格納手段２６の罫線情報に含まれる罫線の間の対応可能な複数の組み合わせを求め、その複数の組み合わせの中から互いに両立する２つ以上の組み合わせを含むグループを、他のグループの組み合わせが含まれないように抽出する。照合手段２４は、抽出された１つ以上のグループに含まれる組み合わせの情報に基づいて、上記入力画像と表のフォームを照合する。
【００２７】
グループ生成手段２７は、格納手段２６に格納された表のフォームを用いて入力画像のフォームを識別するために、入力画像の罫線と表のフォームの罫線の対応可能な組み合わせを求める。このとき、例えば、表全体に対する相対的な大きさや位置が類似している罫線同士が、対応可能な組み合わせとして取り出される。
【００２８】
そして、例えば、入力画像に含まれる罫線間の相対的関係を、表のフォームの罫線間の相対的関係と比較して、２つの組み合わせが両立するかどうかを判定し、互いに両立する組み合わせ同士のグループを生成する。このとき、すでに他のグループに属している組み合わせを含まないように、新しいグループを生成することで、両立性のチェック対象の数が削減され、処理が効率化される。
【００２９】
照合手段２４は、例えば、こうして得られたグループの最適な集合に含まれる組み合わせの数が多いほど、入力画像と表のフォームの類似度が高いものとみなし、類似度の最も高い表のフォームを入力画像に対応するフォームと判断する。
【００３０】
これにより、入力画像のフォームを高速に識別することが可能になり、管理情報の抽出処理が効率化される。
例えば、図１のユーザ登録手段２１は、後述する図５における入力装置４３に対応し、辞書手段２３と格納手段２６は外部記憶装置４５に対応する。また、例えば、計算手段２２、照合手段２４、抽出手段２５、グループ生成手段２７、および検索手段２８は、ＣＰＵ４１（中央処理装置）とメモリ４２に対応する。
【発明の効果】
【００３１】
本発明によれば、表形式文書等の画像のフォームと管理情報の位置が自動的に学習され、辞書に記憶されるので、それらの情報を用いて、任意の入力画像における管理情報の位置を高精度に算出することができる。
【００３２】
特に、画像情報の変動に強い特徴量を用いているので、かすれや潰れのある文書画像でも管理情報の抽出が可能になる。また、フォームの学習／照合を大分類と詳細識別の２段階で候補を絞りながら処理を実行し、詳細識別では表の外側の形状の特徴を用いて１次元マッチングで識別するので、高速に管理情報が抽出される。
【００３３】
さらに、管理情報を文字コードで格納／検索するだけでなく、画像そのもので格納／検索することもできるので、テクスチャ付き文字等の正確に文字認識しにくい文字でも、管理情報として扱うことが可能になる。
【発明を実施するための最良の形態】
【００３４】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本発明においては、種々の表形式文書に対応できるように、既知の表形式の罫線のレイアウト構造を学習し、学習した情報を活用して未知の表形式文書からタイトル等を高精度に抽出する。このために、フォーム学習モードと運用モードを設ける。以下では、このレイアウト構造のことを、フォーマット構造またはフォームとも呼ぶことがある。
【００３５】
図２は、このような管理情報抽出処理の概要を示している。管理情報抽出装置は、まずフォーム学習時に、既知の表形式文書Ａ、Ｂ等の罫線のレイアウト構造とユーザに指定させた正しいタイトル領域等の位置を学習する。そして、それらの情報を含むレイアウト辞書（フォーム辞書）３１を作成しておく。
【００３６】
ユーザがタイトル位置を指定するモードとしては、文書Ａ、Ｂ等のフォーム認識を伴わないユーザ登録モードと、フォーム認識を伴う自動学習モードとがある。これらの各モードにおける処理については、後述することにする。
【００３７】
次に、運用時には、管理情報抽出装置は、入力された未知の文書３２から罫線のレイアウト構造を抽出し、レイアウト辞書３１とのマッチングを行う。これにより、レイアウト辞書に記憶されているレイアウト構造と一致する表形式文書が識別される。ここでは、文書３２のレイアウト構造は文書Ａのそれと一致している。
【００３８】
そして、管理情報抽出装置は、対応する文書Ａに指定されたタイトル位置の情報を参照して、入力文書３２の文字列領域３３からタイトルを高精度に抽出する。また、タイトルだけでなく、日付等の他のタグ領域を管理情報としてユーザに指定させることで、様々な文書の管理情報を高精度に抽出することができる。
【００３９】
運用時に、ユーザが文書をスキャナで入力する時に、管理情報が迅速に自動抽出されることが望まれるので、本発明では、ユーザのインタラクティブ性を重視した高速アルゴリズムを採用する。このアルゴリズムでは、対応するフォームを大分類、詳細分類の順に徐々に絞り込むことで、処理の高速化を図っており、フォーム学習時にも、これに対応する処理が行われる。
【００４０】
図３は、フォーム学習モードにおける処理の概要を示すフローチャートである。処理が開始されると、管理情報抽出装置は、まず、学習対象となる文書画像を入力し（ステップＳ１）、その罫線構造を抽出する（ステップＳ２）。そして、ユーザに管理情報の位置を問い合わせ、その位置を指定させる（ステップＳ３）。
【００４１】
次に、抽出された罫線構造から、実線と破線を区別しながら、大分類用の罫線の特徴を抽出し（ステップＳ４）、詳細識別用の外郭罫線の特徴を抽出する（ステップＳ５）。例えば、大分類用の特徴としては、データの変動に強い罫線構造の特徴を用い、詳細識別用の特徴としては、高速処理を考慮して、表の外郭形状に関するCROSS RATIO （クロス比、複比）を用いる。
【００４２】
そして、抽出された罫線の特徴と指定された管理情報の位置を、レイアウト辞書３１に格納して（ステップＳ６）、処理を終了する。格納された情報は運用モードにおいて参照され、未知文書から管理情報を抽出するために利用される。
【００４３】
図４は、運用モードにおける処理の概要を示すフローチャートである。処理が開始されると、管理情報抽出装置は、まず、処理対象となる文書画像を入力し（ステップＳ１１）、その罫線構造を抽出する（ステップＳ１２）。
【００４４】
次に、抽出された罫線構造から、大分類用の罫線の特徴を抽出し（ステップＳ１３）、レイアウト辞書３１の対応する情報と比較して、罫線構造の大分類を行う（ステップＳ１４）。これにより、レイアウト辞書３１の罫線構造のうち、入力文書のそれと一致する可能性のあるものが、候補として抽出される。
【００４５】
次に、罫線構造から詳細識別用の外郭罫線の特徴を抽出し（ステップＳ１５）、大分類で抽出された候補の対応する情報と比較して、罫線構造の詳細識別を行う（ステップＳ１６）。ここでは、例えば、CROSS RATIO の１次元マッチング処理を行って、入力文書に対応する候補を特定する。
【００４６】
そして、その候補のフォーム上で指定された管理情報の位置に基づいて、入力文書画像内の管理情報の位置を算出し（ステップＳ１７）、処理を終了する。こうして、既知の文書中でユーザが指定した位置情報を用いて、入力文書画像から、管理情報を高精度に抽出することができる。また、運用時におけるフォームの照合処理を大分類と詳細識別の２段階で行うので、詳細識別の候補が絞り込まれ、抽出処理が高速化される。
【００４７】
本実施形態の管理情報抽出装置は、例えば図５に示すような情報処理装置（コンピュータ）により実現される。図５の情報処理装置は、ＣＰＵ４１、メモリ４２、入力装置４３、出力装置４４、外部記憶装置４５、媒体駆動装置４６、ネットワーク接続装置４７、および光電変換装置４８を備え、それらの各装置はバス４９により互いに結合されている。
【００４８】
ＣＰＵ４１は、メモリ４２を利用しながらプログラムを実行して、図３、４に示した各処理を行う。メモリ４２としては、例えばＲＯＭ（read only memory）、ＲＡＭ（random access memory）等が用いられる。ＲＯＭには、上述のプログラムが格納され、ＲＡＭには、レイアウト辞書３１等の必要なデータが一時的に保持される。
【００４９】
入力装置４３は、例えばキーボード、ポインティングデバイス等に相当し、ユーザからの要求や指示の入力に用いられる。また、出力装置４４は、表示装置（ディスプレイ）やプリンタ等に相当し、ユーザへの問い合せや処理結果等の出力に用いられる。
【００５０】
外部記憶装置４５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等である。この外部記憶装置４５に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ４２にロードして使用することができる。また、外部記憶装置４５は、画像やレイアウト辞書３１を保存するデータベースとしても使用される。
【００５１】
媒体駆動装置４６は、可搬記録媒体５０を駆動し、その記憶内容にアクセスすることができる。可搬記録媒体５０としては、メモリカード、フレキシブルディスク、ＣＤ−ＲＯＭ（compact disk read only memory ）、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この可搬記録媒体５０に、上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ４２にロードして使用することができる。
【００５２】
ネットワーク接続装置４７は、ＬＡＮ（local area network）等の任意の通信ネットワークに接続され、通信に伴うデータ変換等を行って、外部の情報提供者のデータベース５０′等と通信する。これにより、管理情報抽出装置は、必要に応じて、上述のプログラムとデータをデータベース５０′からネットワークを介して受け取り、それらをメモリ４２にロードして使用することができる。
【００５３】
また、光電変換装置４８は、例えばイメージスキャナであり、処理対象となる文書や図面等の画像を入力する。
次に、図６から図１６までを参照しながら、フォーム学習時に行われる各処理について説明する。
【００５４】
図６は、フォーム学習時の処理の詳細を示すフローチャートである。図６において、図３と対応する処理ステップには、図３と同じ符号が用いられている。まず、ステップＳ２の罫線構造抽出処理では、管理情報抽出装置は、図７に示すように、入力された文書画像から縦／横の破線を抽出し（ステップＳ２−１）、縦／横の実線を抽出し（ステップＳ２−２）、さらに、それらの縦横の罫線で囲まれた矩形セル（矩形領域）を抽出する（ステップＳ２−３）。
【００５５】
罫線や矩形セルの抽出には、本出願人による「画像抽出装置」（特開平７−２８９３７）や「枠抽出装置及び矩形抽出装置」（特願平７−２０３２５９）等の先願の技術が用いられる。これらの技術によれば、帳票内の罫線枠の位置等の情報入力を必要とせずに、その画像から枠の抽出や除去を行うことが可能である。以下に、罫線構造抽出処理の概要を示す。
【００５６】
（１）細線化：マスク処理によって、縦横の線分を細線化し、文字と枠の太さの差をなくす。
（２）線分抽出：隣接投影法を用いて、比較的長い線分の抽出を行う。隣接投影とは、注目する行または列に含まれる画素の投影値に、その周囲の行または列の投影値を足し合せた結果を、注目する行または列の最終的な投影値とする方法である。この投影法によれば、特定の行または列の周囲の画素分布を大局的に捉えることができる。
【００５７】
（３）直線抽出：抽出された線分を順に探索し、線分と線分の間に一定長さ以上の途切れがないかどうかを検査する。間にそのような途切れがない線分同士を順に統合していき、長い直線を抽出する。
【００５８】
（４）直線統合：抽出された直線同士を再度統合する。かすれにより２つ以上の部分に分離された直線を、１つの直線に統合する。
（５）直線伸張：規則的な帳票であると分かっているときに限り、かすれにより短くなった直線の伸張処理を行い、本来の長さに修復する。
【００５９】
（６）横枠決定：「枠抽出装置及び矩形抽出装置」（特願平７−２０３２５９）に示された規則に従って、表の上部から順に、２本１組で１行の記入欄を構成する横直線を、横枠線として２本ずつ抽出する。
【００６０】
（７）縦枠決定：縦枠線は、上述の記入欄１行毎に決定する。注目している行を構成する２本の横枠線に、上下端がともに達している縦直線を、その行における縦枠線とする。
（８）矩形セル抽出：２本の横枠線および２本の縦枠線で囲まれた矩形セルを、文字領域として抽出する。
【００６１】
次に、ステップＳ３の管理情報位置指定処理では、管理情報抽出装置は、図８に示すように、入力された文書画像をディスプレイの画面に表示して、例えば、タイトルを表す文字列のどこかを、ユーザにマウスでポインティングしてもらう。そして、そのポインティング位置を含む矩形セル５１の位置情報を記憶する。
【００６２】
矩形セル５１の位置情報としては、表の周辺上の任意の交点（外郭点）を基準点とし、その点から矩形セル５１の位置までのベクトルの情報が記憶される。例えば、左上頂点５２、左下頂点５３、右上頂点５４、右下頂点５５をベクトルの始点とした場合、それらの各頂点から、それぞれ、矩形セル５１の左上頂点５６、左下頂点５７、右上頂点５８、右下頂点５９までの差分ベクトルＡ、Ｂ、Ｃ、Ｄのデータが記憶される。また、同時に、表の縦、横のサイズｈ０、ｗ０、および、矩形セルの縦、横のサイズＨ１、Ｗ１も記憶しておく。
【００６３】
次に、ステップＳ４の大分類用罫線特徴抽出処理では、管理情報抽出装置は、まず、横罫線と縦罫線の交点の数を数える（ステップＳ４−１）。次に、各交点における交差形状を抽出し、その頻度分布を求める（ステップＳ４−２）。交差形状は、交点から上下左右の向きに罫線が存在するかどうかと、存在する罫線の種類とを表すコード（Ｋ１，Ｋ２，Ｋ３，Ｋ４）で表現される。
【００６４】
ここで、要素Ｋ１は交点の上側の罫線に対応し、要素Ｋ２は交点の下側の罫線に対応し、要素Ｋ３は交点の左側の罫線に対応し、要素Ｋ４は交点の右側の罫線に対応する。各要素の値は、罫線が存在しないとき０となり、実線が存在するとき１となり、破線が存在するとき２となる。
【００６５】
例えば、図９のような交点の交差形状は（１，１，１，１）と表され、図１０のような交点の交差形状は（１，１，１，０）と表され、図１１のような交点の交差形状は（０，２，２，２）と表され、図１２のような交点の交差形状は（１，１，２，２）と表される。このように、（Ｋ１，Ｋ２，Ｋ３，Ｋ４）の各要素は３通りの値を取り得るため、可能なコードの総数は３4 （＝８１）となる。ステップＳ４−２では、８１通りの各コード毎に出現回数（頻度）を求めて、それを記憶する。
【００６６】
次に、各矩形セルの縦横比を計算し、その頻度分布を矩形セルの頻度分布として算出する（ステップＳ４−３）。矩形セルの縦の長さをＨ１、横の長さをＷ１とすると、縦横比はＷ１／Ｈ１のように求められる。縦横比の頻度分布は、例えば、Ｗ１／Ｈ１の値を０から０．５刻みで増やしていき、各値に対応する縦横比を持つ矩形セルの数をカウントすることで求められる。このとき、あるしきい値（例えば、１０）を超える矩形セルについては、それらの数をまとめてカウントする。
【００６７】
次に、ステップＳ５の詳細識別用外郭罫線特徴抽出処理では、管理情報抽出装置は、まず、交点が並んでいる各行または列内で、左右または上下方向の外側（外郭）から、４つの交点から成る交点列を取り出す。
【００６８】
例えば、図１３に示すような罫線構造の場合は、２行目の左から順に４つの交点を取り出すと、交点６１、６２、６３、６４が取り出され、右から順に４つの交点を取り出すと、交点６５、６４、６３、６２が取り出される。また、３列目の上から順に４つの交点を取り出すと、交点６６、６３、６７、６８が取り出され、下から順に４つの交点を取り出すと、交点７０、６９、６８、６７が取り出される。
【００６９】
そして、取り出された交点列に関する１次元Projective Invariants （射影不変量）のCROSS RATIO を計算する。例えば、図１４に示すように、４つの交点Ｘ１、Ｘ２、Ｘ３、Ｘ４から成る交点列が取り出されたとすると、そのCROSS RATIO は、次式で与えられる。
【００７０】
【数１】
2005050362.tif 000003
ここで、｜Ｘｉ−Ｘｊ｜は、交点Ｘｉと交点Ｘｊの間隔の長さ（距離）を表す（ｉ，ｊ＝１，２，３，４）。（１）式のCROSS RATIO は、例えば、図１５のようなフローチャートに従って計算される。CROSS RATIO 算出処理が開始されると、管理情報抽出装置は、まず、４つの交点Ｘ１、Ｘ２、Ｘ３、Ｘ４の座標データを入力する（ステップＳ２１）。
【００７１】
次に、交点Ｘ１とＸ２の距離を求めて変数ａに入力し（ステップＳ２２）、交点Ｘ３とＸ４の距離を求めて変数ｂに入力し（ステップＳ２３）、交点Ｘ１とＸ３の距離を求めて変数ｃに入力し（ステップＳ２４）、交点Ｘ２とＸ４の距離を求めて変数ｄに入力する（ステップＳ２５）。そして、ａｂ／ｃｄを計算して、その値をCROSS RATIO として記憶し（ステップＳ２６）、処理を終了する。
【００７２】
このようにして、すべての交点列のCROSS RATIO を算出することで、表の外郭付近に位置する交点の並びの特徴が定量化される。これにより、図１６に示すように、表の外郭形状の２次元的な特徴が１次元の数値の並びで表現される。以下では、このCROSS RATIO の値の並びをCROSS RATIO 列と呼ぶことにする。
【００７３】
図１６において、右のCROSS RATIO 列Ｒ［１］，Ｒ［２］，Ｒ［３］，．．．，Ｒ［ｎ］は、各行の右端部分の特徴を表すCROSS RATIO に対応し、左のCROSSRATIO列Ｌ［１］，Ｌ［２］，Ｌ［３］，．．．，Ｌ［ｍ］は、各行の左端部分の特徴を表すCROSS RATIO に対応する。また、上のCROSS RATIO 列Ｕ［１］，Ｕ［２］，Ｕ［３］，．．．，Ｕ［ｗ］は、各列の上端部分の特徴を表すCROSS RATIO に対応し、下のCROSS RATIO 列Ｄ［１］，Ｄ［２］，Ｄ［３］，．．．，Ｄ［ｖ］は、各行の下端部分の特徴を表すCROSS RATIO に対応する。
【００７４】
一般には、表の左右両端部分における罫線構造は対称ではなく、また、画像の一部がかすれたり、潰れたりしている場合もあるので、ｎとｍは必ずしも一致するとは限らない。同様の理由で、ｗとｖは必ずしも一致するとは限らない。
【００７５】
これらの４つの方向のCROSS RATIO 列を１つに繋げれば、各CROSS RATIO の値を要素とする特徴ベクトル（Ｒ［１］，．．．，Ｒ［ｎ］，Ｌ［１］，．．．，Ｌ［ｍ］，Ｕ［１］，．．．，Ｕ［ｗ］，Ｄ［１］，．．．，Ｄ［ｖ］）が生成される。
【００７６】
ところで、ここでは、詳細識別用の外郭罫線の特徴として、４つの交点の間隔の比率を用いているが、その代わりに、２つ以上の任意の個数の交点の間隔の比率を用いてもよい。その場合も、その比率を１次元的に並べることで、表の外郭形状の特徴が表現される。
【００７７】
そして、ステップＳ６の処理では、管理情報抽出装置は、ステップＳ３で指定された管理情報の位置とステップＳ４、Ｓ５で求めた罫線の特徴とを、その表形式文書の識別情報（フォーム情報）として、レイアウト辞書３１に格納する。
【００７８】
次に、図１７から図２２までを参照しながら、運用時に行われる各処理について説明する。
図１７は、運用時の処理の詳細を示すフローチャートである。図１７において、図４と対応する処理ステップには、図４と同じ符号が用いられている。まず、ステップＳ１２の罫線構造抽出処理では、管理情報抽出装置は、フォーム学習時のステップＳ２の処理と同様にして、入力された文書画像から縦／横の破線を抽出し（ステップＳ１２−１）、縦／横の実線を抽出し（ステップＳ１２−２）、それらの縦横の罫線で囲まれた矩形セルを抽出する（ステップＳ１２−３）。
【００７９】
また、ステップＳ１３の大分類用罫線特徴抽出処理では、管理情報抽出装置は、フォーム学習時のステップＳ４の処理と同様にして、横罫線と縦罫線の交点の数を数え（ステップＳ１３−１）、各交点における交差形状の頻度分布を求め（ステップＳ１３−２）、各矩形セルの縦横比の頻度分布を算出する（ステップＳ１３−３）。
【００８０】
次に、ステップＳ１４の大分類処理では、管理情報抽出装置は、交点数、交差形状の頻度分布、および矩形セルの縦横比の頻度分布を用いて、レイアウト辞書３１内の多数の表のフォーム情報との照合を行い、該当する表の候補の数を絞り込む。ここでは、画像のかすれ、潰れ等による罫線構造の変動も考慮して、交点数、交差形状の頻度、および矩形セルの縦横比の頻度の各特徴に対して適当なしきい値を設定し、辞書３１のフォーム情報が一定の許容範囲内で入力画像の情報と一致すれば、それを該当する表の候補とする。
【００８１】
例えば、入力された文書画像の交点数をＫｉとし、辞書３１に格納されたフォームｔの交点数をＫｔとすると、それらの差の絶対値｜Ｋｉ−Ｋｔ｜がしきい値ＴＨｋ以内であれば、フォームｔを候補とする。このように、入力画像と辞書３１内のフォーム情報の各要素の差が、すべてそれぞれのしきい値以内に収まれば、そのフォームを入力文書に該当するフォームの候補とする。
【００８２】
交点数、交点形状、矩形セルのサイズの頻度分布等の特徴は、一般に、画像の変動に強く、これらを用いることで、かすれや潰れのある文書画像でも高精度な照合を行うことができる。
【００８３】
次に、ステップＳ１５の詳細識別用外郭罫線特徴抽出処理では、管理情報抽出装置は、フォーム学習時のステップＳ５の処理と同様にして、４方向からの１次元Projective Invariants のCROSS RATIO を計算する。
【００８４】
次に、ステップＳ１６の詳細識別処理では、管理情報抽出装置は、大分類で絞り込まれた表候補だけに限って、CROSS RATIO 列の照合を行う。この処理では、入力フォームと学習済みフォームの間で、４方向それぞれ別々にCROSS RATIO 列の対応付けを行う。ここでは、対象とするフォームが表構造なので、各列と各行で罫線の順序関係が逆転することはなく、かすれ等により罫線が部分的に消失することだけを考慮し、ＤＰ（Dynamic Programming ）マッチングを採用することにする。
【００８５】
ＤＰマッチングは、音声等の時系列データのマッチング方法としてよく知られており、その詳細は、例えば、舟久保登著「パターン認識」（共立出版）ｐ．６２−ｐ．６７に記述されている。この方法では、２つのデータの集合を照合する際に、データの局所的な特徴に関して類似度を与え、類似度を用いて全体的な対応付けの良否を表す評価関数を定義する。そして、最も良い評価関数の値を与えるデータの対応関係を求める。
【００８６】
図１８は、このようなＤＰマッチングを用いた右のCROSS RATIO 列の照合処理を示している。図１８においては、入力フォームの右のCROSS RATIO 列Ｒ［１］，Ｒ［２］，Ｒ［３］，．．．，Ｒ［ｎ］が、辞書３１内の学習済みフォームの右のCROSS RATIO 列Ｒ′［１］，Ｒ′［２］，Ｒ′［３］，．．．，Ｒ′［ｎ′］と対応付けられている。
【００８７】
また、この照合処理においては、罫線抽出の信頼度を考慮して、信頼度の高い罫線から求めた交点列のCROSS RATIO と、そうでないCROSS RATIO とで、評価関数における対応付けの重みを変えておく。例えば、信頼度の高い罫線から求めたCROSS RATIO の類似度には、より大きな重みが付加される。
【００８８】
図１９は、ＤＰマッチングによる右のCROSS RATIO 列の照合処理の例を示すフローチャートである。処理が開始されると、管理情報抽出装置は、まず、入力フォームの右のCROSS RATIO 列を配列Ｒ［ｉ］（ｉ＝１，．．．，ｎ）に格納し、学習済みフォームの右のCROSS RATIO 列を配列Ｒ′［ｋ］（ｋ＝１，．．．，ｎ′）に格納する（ステップＳ３１）。
【００８９】
次に、誤差配列Ｅ［ｉ，ｋ］を初期化し（ステップＳ３２）、ｉ＝１，．．．，ｎ、ｋ＝１，．．．，ｎ′について、次のような漸化式の計算を行う（ステップＳ３３）。
Ｅ［ｉ，ｋ］＝ｍｉｎ｛Ｅ［ｉ−１，ｋ］＋ｄ［ｉ，ｋ］，
Ｅ［ｉ−１，ｋ−１］＋λ＊ｄ［ｉ，ｋ］，
Ｅ［ｉ，ｋ−１］＋ｄ［ｉ，ｋ］｝             （２）
ここで、Ｅ［ｉ，ｋ］は、CROSS RATIO 列の一部分である（Ｒ［１］，．．．，Ｒ［ｉ］）を（Ｒ′［１］，．．．，Ｒ′［ｋ］）に対応付けたときの誤差の累積の最小値を表す。したがって、計算途中における累積誤差を評価関数として用いた場合、Ｅ［ｉ，ｋ］はその最小値を与えていることになる。また、ｄ［ｉ，ｋ］は、Ｒ［ｉ］とＲ′［ｋ］を対応付けたときの誤差を表し、例えば、次式により与えられる。
ｄ［ｉ，ｋ］＝｜Ｒ［ｉ］−Ｒ′［ｋ］｜                             （３）
また、λはｄ［ｉ，ｋ］に対する重みを表し、ｍｉｎ｛｝は｛｝内の要素のうちの最小値を表す。
【００９０】
次に、Ｅ［ｎ，ｎ′］の経路を算出し（ステップＳ３４）、それをCROSS RATIO 列（Ｒ［１］，．．．，Ｒ［ｎ］）と（Ｒ′［１］，．．．，Ｒ′［ｎ′］）の対応付けの結果として格納して（ステップＳ３５）、処理を終了する。こうして、評価関数が最小となるような各CROSS RATIO 同士の対応関係が求められる。左、上、下のCROSS RATIO 列の照合処理についても同様である。
【００９１】
ステップＳ１６では、このような１次元のＤＰマッチングを、大分類で得られたすべての学習済みフォームについて行い、それらのうちで評価関数が最小（最良）となるものを、入力フォームに該当するフォームと判断する。このように、詳細識別において、表構造の外側の形状（外郭形状）の特徴を用い、しかも１次元マッチングによる識別を行うので、高速処理が可能となる。
【００９２】
そして、ステップＳ１７の管理情報位置算出処理では、管理情報抽出装置は、レイアウト辞書３１を参照して、詳細識別で特定された学習済みフォームの位置情報を取り出し、それを用いて入力画像から管理情報を抽出する。
【００９３】
この処理では、まず、上述のＤＰマッチングにおけるCROSS RATIO 列の対応付け結果を用いて、表の各行各列の両端に位置する交点（端点）のマッチング度を調べ、端点が安定かどうかを判定する。ここで、端点のマッチング度とは、入力フォームのあるCROSS RATIO と学習済みフォームのあるCROSS RATIO の対応付けの確からしさを意味する。
【００９４】
例えば、図１８においては、Ｒ［１］とＲ′［１］は一意的（１対１）に対応しているので、１行目の右端の端点は安定であると判定される。また、Ｒ［３］とＲ′［４］も１対１に対応しているので、該当する行の右端の端点は安定である。しかし、Ｒ［２］はＲ′［２］とＲ′［３］の両方に対応付けられており、対応が一意的ではないので、該当する行の右端の端点は安定ではないと判定される。このようにして、表の左上、左下、右上、右下の各頂点に最も近い安定した端点をそれぞれ求め、これらを安定な外郭点とする。
【００９５】
次に、安定な外郭点を基準にして、入力フォームの表と学習済みフォームの表の縦、横のサイズｈ０、ｗ０を求め、それらを比較して、学習済みフォームの表に対する入力フォームの表の縦横の相対的な比率を求める。そして、図８に示した差分ベクトルＡ、Ｂ、Ｃ、Ｄ、および矩形セルの縦、横のサイズＨ１、Ｗ１を用いて、管理情報の位置を算出する。
【００９６】
上述の比率は、入力フォームの表の学習済みフォームの表に対する拡大率または縮小率を表し、それらの表の間で、サイズの変動を正規化するために用いられる。
例えば、図８に示した表に対する入力フォームの表の縦横の比率がともにαである場合、差分ベクトルＡ、Ｂ、Ｃ、Ｄをそれぞれα倍する。そして、入力フォームの表内で、左上の安定な外郭点を始点として、差分ベクトルＡのα倍のベクトルを用いて、管理情報を含む矩形セルの左上頂点のおよその位置を求める。同様にして、右上、左下、右下の安定な外郭点を始点として、差分ベクトルＢ、Ｃ、Ｄのα倍のベクトルを用いれば、矩形セルの右上頂点、左下頂点、右下頂点のおよその位置が求められる。
【００９７】
次に、こうして求めた位置の近くに存在する矩形セルであって、縦、横のサイズがそれぞれＨ１＊α、Ｗ１＊αに類似している矩形セルを見つける。そして、その矩形セル内部にある文字列等のデータを、所望の管理情報として取り出す。
【００９８】
図２０、２１、２２は、管理情報位置算出処理の例を示すフローチャートである。処理が開始されると、管理情報抽出装置は、まず、ＤＰマッチングにおける４方向のCROSS RATIO 列の対応付け結果を入力する（ステップＳ４１）。
【００９９】
ここでは、右のCROSS RATIO 列（Ｒ［１］，．．．，Ｒ［ｎ］）と（Ｒ′［１］，．．．，Ｒ′［ｎ′］）の対応付けの結果と、左のCROSS RATIO 列（Ｌ［１］，．．．，Ｌ［ｍ］）と（Ｌ′［１］，．．．，Ｌ′［ｍ′］）の対応付けの結果と、上のCROSS RATIO 列（Ｕ［１］，．．．，Ｕ［ｗ］）と（Ｕ′［１］，．．．，Ｕ′［ｗ′］）の対応付けの結果と、下のCROSS RATIO 列（Ｄ［１］，．．．，Ｄ［ｖ］）と（Ｄ′［１］，．．．，Ｄ′［ｖ′］）の対応付けの結果とが入力される。
【０１００】
次に、これらのデータから入力フォームの安定な端点を算出し、これらを安定な外郭点の候補とする（ステップＳ４２）。これらの候補に対応するCROSS RATIO を、それぞれ、Ｒ［ｎｍｉｎ］，Ｒ［ｎｍａｘ］，Ｌ［ｍｍｉｎ］，Ｌ［ｍｍａｘ］，Ｕ［ｗｍｉｎ］，Ｕ［ｗｍａｘ］，Ｄ［ｖｍｉｎ］，Ｄ［ｖｍａｘ］と書くことにする。
【０１０１】
ここで、ｎｍｉｎは、表の右端の安定な端点のうち最も上（ｙ座標が最小）にある点の行番号を表し、ｎｍａｘは、表の右端の安定な端点のうち最も下（ｙ座標が最大）にある点の行番号を表す。また、ｍｍｉｎは、表の左端の安定な端点のうち最も上にある点の行番号を表し、ｍｍａｘは、表の左端の安定な端点のうち最も下にある点の行番号を表す。
【０１０２】
また、ｗｍｉｎは、表の上端の安定な端点のうち最も左（ｘ座標が最小）にある点の列番号を表し、ｗｍａｘは、表の上端の安定な端点のうち最も右（ｘ座標が最大）にある点の列番号を表す。また、ｖｍｉｎは、表の下端の安定な端点のうち最も左にある点の列番号を表し、ｖｍａｘは、表の下端の安定な端点のうち最も右にある点の列番号を表す。
【０１０３】
次に、得られた候補のデータを用いて、安定な外郭点の位置を算出する（ステップＳ４３）。ここでは、各候補のｘ座標、ｙ座標の最大値および最小値を求めて、それらの値を安定な外郭点の座標成分とする。
【０１０４】
図２０において、例えば、ＸＭＩＮ｛Ｒ［ｎｍｉｎ］，Ｒ［ｎｍａｘ］，Ｌ［ｍｍｉｎ］，Ｌ［ｍｍａｘ］，Ｕ［ｗｍｉｎ］，Ｕ［ｗｍａｘ］，Ｄ［ｖｍｉｎ］，Ｄ［ｖｍａｘ］｝は、｛｝内の各CROSS RATIO の値に対応する端点のｘ座標のうちで最小のものを表す。同様に、ＸＭＡＸ｛｝は各端点のｘ座標の最大値を表し、ＹＭＩＮ｛｝は各端点のｙ座標の最小値を表し、ＹＭＡＸ｛｝は各端点のｙ座標の最大値を表す。
【０１０５】
以下では、これらの値ＸＭＩＮ｛｝、ＸＭＡＸ｛｝、ＹＭＩＮ｛｝、ＹＭＡＸ｛｝を、簡単のため、それぞれ、ＸＭＩＮ、ＸＭＡＸ、ＹＭＩＮ、ＹＭＡＸと書くことにする。このとき、左上、右上、左下、右下の安定な外郭点の座標は、それぞれ、（ＸＭＩＮ，ＹＭＩＮ）、（ＸＭＡＸ，ＹＭＩＮ）、（ＸＭＩＮ，ＹＭＡＸ）、（ＸＭＡＸ，ＹＭＡＸ）で与えられる。
【０１０６】
次に、学習済みフォームである辞書フォームの安定な端点を算出し、これらを安定な外郭点の候補とする（図２１、ステップＳ４４）。これらの候補に対応するCROSS RATIO を、それぞれ、Ｒ′［ｎｍｉｎ′］，Ｒ′［ｎｍａｘ′］，Ｌ′［ｍｍｉｎ′］，Ｌ′［ｍｍａｘ′］，Ｕ′［ｗｍｉｎ′］，Ｕ′［ｗｍａｘ′］，Ｄ′［ｖｍｉｎ′］，Ｄ′［ｖｍａｘ′］と書くことにする。
【０１０７】
ここで、ｎｍｉｎ′、ｎｍａｘ′、ｍｍｉｎ′、ｍｍａｘ′、ｗｍｉｎ′、ｗｍａｘ′、ｖｍｉｎ′、ｖｍａｘ′の意味については、上述のｎｍｉｎ、ｎｍａｘ、ｍｍｉｎ、ｍｍａｘ、ｗｍｉｎ、ｗｍａｘ、ｖｍｉｎ、ｖｍａｘと同様である。
【０１０８】
次に、得られた候補のデータを用いて、ステップＳ４３と同様に、辞書フォームの安定な外郭点の位置を算出する（ステップＳ４５）。図２１において、ＸＭＩＮ′｛｝、ＸＭＡＸ′｛｝、ＹＭＩＮ′｛｝、ＹＭＡＸ′｛｝の意味については、上述のＸＭＩＮ｛｝、ＸＭＡＸ｛｝、ＹＭＩＮ｛｝、ＹＭＡＸ｛｝と同様である。
【０１０９】
以下では、これらの値ＸＭＩＮ′｛｝、ＸＭＡＸ′｛｝、ＹＭＩＮ′｛｝、ＹＭＡＸ′｛｝を、簡単のため、それぞれ、ＸＭＩＮ′、ＸＭＡＸ′、ＹＭＩＮ′、ＹＭＡＸ′と書くことにする。このとき、左上、右上、左下、右下の安定な外郭点の座標は、それぞれ、（ＸＭＩＮ′，ＹＭＩＮ′）、（ＸＭＡＸ′，ＹＭＩＮ′）、（ＸＭＩＮ′，ＹＭＡＸ′）、（ＸＭＡＸ′，ＹＭＡＸ′）で与えられる。
【０１１０】
次に、ステップＳ４３で得られた安定な外郭点の座標情報を用いて、次式により入力フォームの縦、横のサイズｈ０、ｗ０を算出する（図２２、ステップＳ４６）。
ｗ０＝ＸＭＡＸ−ＸＭＩＮ                                           （４）
ｈ０＝ＹＭＡＸ−ＹＭＩＮ                                           （５）
また、ステップＳ４５で得られた安定な外郭点の座標情報を用いて、次式により辞書フォームの縦、横のサイズｈ０′、ｗ０′を算出する（ステップＳ４７）。
ｗ０′＝ＸＭＡＸ′−ＸＭＩＮ′                                     （６）
ｈ０′＝ＹＭＡＸ′−ＹＭＩＮ′                                     （７）
そして、縦、横のサイズｈ０、ｗ０、ｈ０′、ｗ０′から、次式により入力フォームと辞書フォームの大きさの比率（拡大率または縮小率）Ｓｗ、Ｓｈを算出する（ステップＳ４８）。
Ｓｗ＝ｗ０／ｗ０′                                                 （８）
Ｓｈ＝ｈ０／ｈ０′                                                 （９）
次に、辞書３１から、辞書フォームの表の安定な外郭点を始点とする差分ベクトルの成分の大きさを、管理情報の位置を表す相対座標値として取り出す（ステップＳ４９）。この場合、辞書フォームのCROSS RATIO Ｒ′［１］，．．．，Ｒ′［ｎ′］，Ｌ′［１］，．．．，Ｌ′［ｍ′］，Ｕ′［１］，．．．，Ｕ′［ｗ′］，Ｄ′［１］，．．．，Ｄ′［ｖ′］のそれぞれに対応する外郭点のうち、各頂点に近い複数の外郭点からの差分ベクトルが、あらかじめ辞書３１に位置情報として格納されているものとする。
【０１１１】
そして、左上、右上、左下、右下の安定な外郭点から相対座標値を、それぞれ、（ｆｘｍｉｎ１，ｆｙｍｉｎ１）、（ｆｘｍａｘ１，ｆｙｍｉｎ２）、（ｆｘｍｉｎ２，ｆｙｍａｘ１）、（ｆｘｍａｘ２，ｆｙｍａｘ２）とする。
【０１１２】
次に、これらの相対座標値と、入力フォームと辞書フォームの大きさの比率Ｓｗ、Ｓｈとを用いて、入力フォーム内における管理情報の位置の概算を行う（ステップＳ５０）。ここでは、管理情報の位置の候補として、次のような座標値を持つ４つの点が求められる。
（ＸＭＩＮ＋Ｓｗ＊ｆｘｍｉｎ１，ＹＭＩＮ＋Ｓｈ＊ｆｙｍｉｎ１）
（ＸＭＡＸ−Ｓｗ＊ｆｘｍａｘ１，ＹＭＩＮ＋Ｓｈ＊ｆｙｍｉｎ２）
（ＸＭＩＮ＋Ｓｗ＊ｆｘｍｉｎ２，ＹＭＡＸ−Ｓｈ＊ｆｙｍａｘ１）
（ＸＭＡＸ−Ｓｗ＊ｆｘｍａｘ２，ＹＭＡＸ−Ｓｈ＊ｆｙｍａｘ２）
次に、これらの候補位置を含む入力フォームの矩形セルを抽出する（ステップＳ５１）。そして、その縦のサイズが、辞書フォームで指定されている矩形セルの縦のサイズＨ１のＳｈ倍に近く、横のサイズが、指定されている矩形セルの横のサイズＷ１のＳｗ倍に近い場合に、その矩形セルを管理情報を含むセルと判定する。
【０１１３】
そして、その矩形セル内の文字列等の画像データを管理情報として出力し（ステップＳ５２）、処理を終了する。こうして、詳細識別の結果を用いて、入力画像から管理情報が抽出される。
【０１１４】
ここでは、辞書３１は、辞書フォームのCROSS RATIO に対応する複数の外郭点の一部を始点とする差分ベクトルを格納するものとしたが、すべての外郭点からの差分ベクトルをあらかじめ格納しておく構成にしてもよい。こうしておくことで、表の頂点の近くの外郭点だけでなく、周辺上の任意の外郭点を安定な外郭点として選ぶことが可能になる。
【０１１５】
また、安定な外郭点を４つ抽出する必要は必ずしもなく、処理を高速化するために、いずれか１つの安定な外郭点を基準点として、その位置からの相対座標値で管理情報の位置を求めてもよい。一般に、処理に用いる安定な外郭点の数は任意である。
【０１１６】
さらに、ステップＳ５１では、４つの候補位置を含む矩形セルを抽出するものとしたが、代わりに、１つ以上の候補位置を含む矩形セルを抽出してもよく、また、１つ以上の候補位置との距離が一定値以内であるような矩形セルを抽出してもよい。
【０１１７】
上述した管理情報抽出処理によれば、入力文書のフォームと管理情報の位置が自動的に学習され、レイアウト辞書３１に格納される。また、これらの情報を利用することで、種々の表形式文書に対応することができ、管理情報の位置が高精度に算出される。
【０１１８】
次に、図６のステップＳ３における管理情報位置の指定方法について、さらに詳しく説明する。本実施形態では、ユーザによる管理情報位置の指定方法として、ユーザにその位置を明示的に指定させるユーザ登録モードと、管理情報の候補を自動的に抽出する自動学習モードの２通りを用意する。
【０１１９】
ユーザ登録モードでは、管理情報抽出装置は、図８に示したように、表を構成する多数の矩形セルの中から管理情報の位置を、直接ユーザに指定させる。例えば、設計図面等の同じフォームの文書が大量にある場合に、最初の１枚目で管理情報の位置を指定しておけば、２枚目からはその位置の情報のみを読み取ればよく、オートドキュメントフィーダを使ったバッチ入力が可能になる。
【０１２０】
また、自動学習モードでは、先願の「文書画像からのタイトル抽出装置および方法」（特願平７−３４１９８３）に記載されたタイトル抽出技術を用いて、管理情報の候補となる複数の領域を抽出し、それらの中からユーザが選択した領域の位置を自動学習して、次回からそれを１位の候補とする。もし、ユーザがそれらの候補のいずれも選択せずに、新たに任意の位置を指定した場合には、ユーザのインタラクティブな操作からその位置の情報を自動的に取得する。
【０１２１】
あるいはまた、先願のタイトル抽出技術をユーザ登録モードにも適用して、複数の候補の中から管理情報を指定させることも可能である。この場合、自動学習モードでは、まず、図４の処理によりフォームの認識／識別を行い、入力画像が辞書３１のフォームと一致するかどうかを調べる。そして、いずれかの辞書フォームと一致すれば、その位置情報を取り出してユーザに提示し、いずれの辞書フォームとも一致しなければ、先願のタイトル抽出技術により管理情報の候補を抽出する。
【０１２２】
図２３は、このような２つのモードを備えた管理情報抽出処理を示している。図２３のユーザ登録モードにおいては、管理情報抽出装置は、まず、表形式文書の入力画像７１から、先願の表内タイトル抽出処理を用いて、管理情報の複数の候補を抽出する。
【０１２３】
図２４は、この表内管理情報抽出処理のフローチャートである。処理が開始されると、管理情報抽出装置は、文書７１を読み込み、文書画像としてメモリに格納する（ステップＳ６１）。ここでは、処理の効率化のため、原画像を圧縮画像に変換して保存する。
【０１２４】
次に、文書画像にラベリング処理を施し、矩形高さの最頻値をもとに大きな矩形を抽出し（ステップＳ６２）、抽出された大きな矩形から表を囲む矩形（表矩形）を抽出して（ステップＳ６３）、表矩形の中から管理情報を含むものを選択する（ステップＳ６４）。ここでは、例えば、最も面積の大きな表矩形が選択される。
【０１２５】
次に、選択された表矩形の内部から文字列を抽出し、文字列の外接矩形（文字列矩形）を求め、その座標をメモリに保存する（ステップＳ６５）。次に、保存した文字列矩形から、横幅が小さい矩形や縦長矩形をノイズ矩形として除去し（ステップＳ６６）、２つ以上の文字列矩形を統合する（ステップＳ６７）。
【０１２６】
ここまでの処理で、表内から抽出された文字列矩形が整理されるが、これらの文字列矩形は表罫線の一部を含んでいる場合もあり得る。そこで、文字列矩形の中の罫線部分を抽出し、その部分を境にして文字列矩形を分割する（ステップＳ６８）。
【０１２７】
次に、管理情報に相当する文字列矩形を抽出するために、文字列矩形内の文字数を計算する（ステップＳ６９）。ここで計算された文字数は、文字列矩形の属性としてステップＳ７２の処理で用いられる。
【０１２８】
ステップＳ６８の処理により、表罫線で囲まれた欄毎の文字列矩形が抽出されるが、元の表の外形が矩形ではない場合には、表の外にある文字列矩形が残されている可能性がある。そこで、上罫線のチェックを行って、上側に表罫線がないような文字列矩形は表外の文字列矩形とみなし、それを除去する（ステップＳ７０）。
【０１２９】
次に、表内の文字列矩形を表矩形の左上座標に近い順に並び替える（ステップＳ７１）。そして、文字列矩形の文字数が一定の条件を満たす場合に、その文字列矩形を管理情報として抽出して（ステップＳ７２）、処理を終了する。条件を満たす文字列矩形が複数ある場合、表矩形の左上に近いものから順に管理情報の候補とする。
【０１３０】
ここでは、処理結果の画像７７において、管理情報の３つの候補Ｃ１、Ｃ２、Ｃ３が抽出されており、管理情報抽出装置のユーザインタフェース７８は、これらを優先順位の高いものから順に出力して、ユーザに提示する。ユーザは、管理情報として適当な候補が提示された時点で、マウスのポインティング操作によりそれを選択する。もし、適当な候補が提示されないときは、ポインティング操作により他の矩形セルを明示的に指定することで、管理情報候補を修正する。
【０１３１】
管理情報抽出装置は、ユーザが選択／修正した管理情報の位置を学習し、その位置情報と罫線構造を、ユーザ辞書７３として辞書３１内に格納しておく。これにより、管理情報抽出装置は、ユーザから直接指定された位置情報を、次回以降の処理で利用することができる。
【０１３２】
また、図２３の自動学習モードにおいては、管理情報抽出装置は、まず、複数のユーザ辞書７３を参照しながら、図４の処理に従って入力画像７１、入力画像７２等のフォームを認識する。
【０１３３】
ここで、表形式の画像７１が入力され、大分類および詳細識別による照合の結果、いずれかのユーザ辞書７３のフォームと一致すると判定した場合は、その処理結果のフォーム７４においてあらかじめ指定されている位置の管理情報Ｃ１を出力し、それをユーザに提示する。ユーザが提示された管理情報Ｃ１を承認すれば、それをそのまま採用し、ユーザがそれを承認しなければ、他の位置の情報Ｃ２、Ｃ３等から適当なものを選択させる。
【０１３４】
また、入力画像７１がいずれのユーザ辞書７３のフォームとも一致しない場合は、上述の表内管理情報抽出処理を行って、処理結果の画像７５から管理情報の候補Ｃ１、Ｃ２、Ｃ３等を抽出する。そして、ユーザインタフェース７８は、これらを優先順位の高いものから順にユーザに提示し、ユーザは、それらのうち管理情報として適当なものを選択する。もし、適当な候補が提示されないときは、他の矩形セルを明示的に指定することで、管理情報候補を修正する。
【０１３５】
管理情報抽出装置は、入力画像７１においてユーザが選択／修正した管理情報の位置を学習し、その位置情報と罫線構造を、ユーザ辞書７３として辞書３１内に格納しておき、次回以降の処理で利用する。
【０１３６】
また、表形式でない通常の文書画像７２が入力された場合は、フォーム認識の結果、罫線構造がないと判定される。そこで、先願の罫線のない文書画像からのタイトル抽出処理を用いて、管理情報の複数の候補を抽出する。
【０１３７】
図２５は、この管理情報抽出処理のフローチャートである。処理が開始されると、管理情報抽出装置は、文書７２を読み込み、文書画像としてメモリに格納する（ステップＳ８１）。ここでは、処理の効率化のため、原画像を圧縮画像に変換して保存する。
【０１３８】
次に、文書画像にラベリング処理を施し、その結果に基づいて文字列を抽出し、文字列矩形の座標をメモリに保存する（ステップＳ８２）。次に、保存した文字列矩形から、横幅が小さい矩形や縦長矩形をノイズ矩形として除去し（ステップＳ８３）、さらに文字列らしくない矩形を除いて、文書領域を決定する（ステップＳ８４）。
【０１３９】
次に、残った文字列矩形を縦方向（ｙ座標）で並べ替え（ステップＳ８５）、枠の画像を含む矩形（枠矩形）を抽出して、枠矩形内にある文字列矩形を枠付き矩形としてマークする（ステップＳ８６）。また、下線の画像を含む矩形を抽出して、そのすぐ上にある文字列矩形を下線矩形としてマークする（ステップＳ８７）。
【０１４０】
次に、文字列矩形の文書内での位置、文字のサイズ、枠付き矩形や下線矩形に該当するかどうか等の性質に基づいて、タイトルらしさのポイント計算を行い、ポイントの高い１つ以上の文字列矩形をタイトル候補として抽出する（ステップＳ８８）。そして、その結果を用いて文書の宛先と発信元情報を抽出する（ステップＳ８９、Ｓ９０）。こうして、タイトル、宛先、および発信元情報が管理情報の候補として抽出される。
【０１４１】
ここでは、処理結果の画像７６において、タイトルの３つの候補Ｃ４、Ｃ５、Ｃ６と、宛先および発信元情報が抽出されている。ユーザインタフェース７８は、これらを優先順位の高いものから順に出力して、ユーザに提示する。ユーザは、管理情報として適当な候補が提示された時点で、マウスのポインティング操作によりそれを選択する。もし、適当な候補が提示されないときは、ポインティング操作により他の文字列矩形を明示的に指定することで、管理情報候補を修正する。
【０１４２】
次に、図２６から図２８までを参照しながら、こうして抽出された管理情報の利用形態について説明する。従来は、画像を管理する管理情報として、キーワードや文書名等の文字コードしか用いられていなかったが、本発明の管理情報抽出装置を備える電子ファイリングシステムでは、文字コード以外に文書画像の一部をインデックスとして格納する機能を備えておく。これにより、文字コードの信頼度が低い場合等に、画像による検索を行うことが可能になる。
【０１４３】
このシステムは、管理情報を文字コードで保存するか画像コードで保存するかをユーザに選択させ、その選択結果に従って、いずれかのデータを管理情報として格納する。また、画像の検索時には、ユーザに管理情報の検索方法を選択させ、その結果に従って、文字コードまたは画像で検索する。また、単に文字コードまたは画像をパラパラと見るだけのブラウジングの機能も備えておく。
【０１４４】
図２６は、このような画像情報格納処理のフローチャートである。処理が開始されると、電子ファイリングシステムは、まず、文書画像を入力し（ステップＳ１０１）、例えば、図４の処理に従って管理情報の位置を算出して、管理情報の文字列を見つける（ステップＳ１０２）。そして、抽出した文字列に対する管理情報の保存方法をユーザに選択させる（ステップＳ１０３）。
【０１４５】
保存方法としては、文字列を文字認識して文字コードに変換する文字認識モードと、文字認識を行わず文字列を画像で保存する画像モードがある。ユーザが文字認識モードを選択した場合は、文字認識を行い（ステップＳ１０４）、その認識結果の信頼度に応じて格納方法を選択する（ステップＳ１０５）。
【０１４６】
文字認識の信頼度の算出方法としては、例えば、本出願人による先願の「文字認識方法および装置」（整理番号９６０４１６１）に記載された技術を用いる。この技術によれば、システムは、まず、認識結果の文字コードと入力された文字パターンとの距離値から確率パラメータを算出し、文字パターンと正解文字コードの集合から、確率パラメータを正読確率に変換する変換テーブルを生成する。次に、その変換テーブルを用いて、確率パラメータに対する正読確率を求め、その正読確率を認識結果の信頼度とする。
【０１４７】
文字認識の信頼度が一定のしきい値より低い場合には、ユーザに画像で保存することを通知して、文字コードだけでなく、その文字列の画像も同時に管理情報として保存し（ステップＳ１０６）、処理を終了する。信頼度がそのしきい値以上の場合には、文字コードを管理情報として保存し（ステップＳ１０７）、処理を終了する。
【０１４８】
また、ユーザが画像モードを選択した場合は、文字列の画像を管理情報として保存し（ステップＳ１０８）、処理を終了する。ステップＳ１０３において、他の保存方法として、文字コードと画像コードの両方を保存するモードを設けることも、もちろん可能である。また、ステップＳ１０５における信頼度として、認識結果の文字コードと入力された文字パターンとの距離値の情報を用い、距離値が小さいほど信頼度が高いものとして判定を行ってもよい。
【０１４９】
図２７は、管理情報を格納する格納テーブルの例を示している。図２７の管理情報格納テーブルでは、文字コード格納領域、画像格納領域、および文字コードで保存するか画像コードで保存するかの区別を表す種別フラグ領域（ｆｌａｇ）が設けられている。
【０１５０】
例えば、種別フラグの値が“０”のときは、文字コードのみが保存されていることを表し、その値が“１”のときは、画像コードのみが保存されていることを表し、その値が“２”のときは、文字コードと画像コードの両方が保存されていることを表す。
【０１５１】
また、図２８は、このような管理情報を検索する管理情報検索処理のフローチャートである。処理が開始されると、電子ファイリングシステムは、まず、管理情報の検索方法をユーザに選択させる（ステップＳ１１１）。検索方法としては、文字コードで検索するモード、画像で検索するモード、および文字コードと画像のリストを表示して、ユーザにブラウジングさせるモードの３つのモードがある。
【０１５２】
ユーザが文字コード検索を選択すれば、文字コードにより管理情報を検索し（ステップＳ１１２）、画像検索を選択すれば、画像により管理情報を検索し（ステップＳ１１３）、ブラウジングを選択すれば、管理情報格納テーブルに格納されている文字コードと画像のリストを表示する（ステップＳ１１４）。そして、処理を終了する。
【０１５３】
ステップＳ１１３において画像で検索する場合は、ユーザに特定の画像のファイルを指定させるか、適当な画像を選んで表示する。そして、その中の特定の矩形部分を検索キーとしてユーザに指定させ、ユーザが指定した部分画像と管理情報格納テーブルに保存してある画像とを照合する。これらの画像同士の照合には、例えば、「画像理解のためのディジタル画像処理［Ｉ］」（鳥脇純一郎著、昭晃堂）に記載されているような公知のテンプレートマッチングを用いる。
【０１５４】
テンプレートマッチングでは、指定された部分画像をモデル（テンプレート）として用い、それと各管理情報格納テーブル内の画像との類似度を計算する。そして、類似度が最大となる管理情報、あるいは類似度が一定値以上の管理情報を求める。そして、得られた管理情報に対応する文書画像を検索結果として表示する。
【０１５５】
このような電子ファイリングシステムによれば、管理情報の文字列を文字コードで格納／検索するだけでなく、画像そのもので格納／検索することもできるので、テクスチャ付き文字やデザインフォント、ロゴ等の正確に認識しにくい文字でも、管理情報として扱うことができる。
【０１５６】
ところで、図１７のステップＳ１５、Ｓ１６においては、表形式文書のフォーム（フォーマット構造）を識別するために、CROSS RATIO のＤＰマッチングを用いたが、詳細識別は他の任意の方法により行うこともできる。
【０１５７】
他の公知のフォーム自動識別法においては、まず、既知の表形式文書のフォームの特徴量を、モデルとして辞書３１に登録しておく。そして、未知の表形式文書の画像が入力されたときに、その画像から特徴量を算出し、辞書のモデルとマッチングを行って、最も類似するモデルを特定する。
【０１５８】
モデルマッチングの１つの方法としては、表全体を正規化後、各矩形セルの中心点の位置を算出し、ほぼ同じ位置に中心点を持つモデルに投票を行い、最大投票数を得たモデルを最適モデルとする方法がある。ここで、表の正規化とは、表の縦横比が１対１になるように画像全体を変換する等の調整処理を意味する。
【０１５９】
また、もう１つの方法として、連合グラフを用いたマッチングがある。この方法では、まず、罫線を抽出してから表全体を正規化し、入力された未知文書と各モデルとの間で、ほぼ同じ位置かつ同じ長さの罫線同士の組み合わせを求める。そして、図２９に示すように、それらの各組み合わせを表すノードを平面上に配置し、一定の幾何的制約を満たすノード間をパスで結んで、連合グラフを生成する。
【０１６０】
ここで、幾何的制約とは、比較する未知文書とモデルの間で罫線の順序関係を保存するという制約条件や、一方の表の１つの罫線に他方の表の複数の罫線が重複して対応することを禁止する制約条件等を指す。図２９の４つのノードから成る連合グラフにおいては、未知文書の罫線ａ１、ａ２、ａ３、ａ４は、それぞれ、モデルの罫線ｂ１、ｂ２、ｂ３、ｂ４に対応している。
【０１６１】
また、連合グラフの一部の部分グラフにおいて、どのノードも他のすべてのノードとパスで結ばれているとき、その部分グラフはクリークと呼ばれる。図２９の連合グラフは、それ自身がクリークとなっている。連合グラフからノード数が最大の最大クリークを求めることで、未知文書とモデルの類似度が求められ、最大類似度を持つモデルが最適モデルとして抽出される。
【０１６２】
これらのモデルマッチングでは、いずれも、未知の入力文書を正規化後、モデルと重ね合わせて特徴量を比較することが重要なステップとなっている。しかし、表の外郭形状の抽出精度が劣化したり、行の追加等による若干のフォーム変更が行われたりした場合、特徴量全体が影響を受けるため、識別が不安定になる。特に、矩形セルの中心位置を用いる前者の方法においてその影響は大きい。
【０１６３】
連合グラフを用いる後者の方法においては、ノードを生成するための条件を緩くすることで対処できるが、グラフの規模が大きくなるため、とりわけ最大クリークを求める処理に時間がかかってしまう。
【０１６４】
そこで、以下の実施形態では、罫線のかすれやノイズによる罫線抽出の誤り、若干のフォーム変更等に対して、ロバスト性（強靱さ）が優れ、しかも高速なマッチング方法について述べる。ここで、ロバスト性が優れているとは、マッチング結果が誤りや変更の影響を受けにくいことを意味する。
【０１６５】
このマッチング方法では、まず、罫線の表全体に対する大きさ、位置を特徴量として、未知文書と各モデルとの間で罫線と罫線の対応の可能性を調べ、対応する罫線の組み合わせを求める。ここでは、可能性条件を広くとることで、１本の罫線に対し複数の罫線が対応可能とする。このように重複を許すことで、表の正しい外郭形状の抽出に失敗した場合でも、その失敗がある程度以下であれば、罫線間の正しい対応関係を見落とすことがなくなる。
【０１６６】
次に、得られた対応関係の集合の中から、互いに両立するものを１つのグループに集め、各対応関係をいくつかのグループに振り分ける。この際、特徴量としては、罫線と罫線の間の大きさの関係や位置関係等を用いる。罫線間の相対的な関係を特徴量として用いることで、かすれやノイズが特徴量全体にわたって大きな影響を及ぼすことがなくなる。
【０１６７】
さらに、グループ分けの際に、両立の性質が推移的になるように、両立の条件を強くとることで、両立の可否を調べる処理回数が上述の連合グラフをつくる場合に比べて大幅に少なくなる。また、各グループに含まれる対応関係は、平面上の１本のパスで表現することができるので、その数を数える時間もほとんどかからない。
【０１６８】
ここで、両立が推移的とは、例えば、対応Ａと対応Ｂが両立し、対応Ｂと対応Ｃが両立するとき、必ず対応Ａと対応Ｃが両立することを意味する。この場合には、改めて対応Ａと対応Ｃの両立性をチェックする必要がないので、処理が高速化される。
【０１６９】
そして、最後に、得られたグループ間の矛盾のない組み合わせの中で、含まれる対応関係の数が最大となる組み合わせを探索する。これにより、ある表に行を１行だけ追加する等の若干の変更がある場合でも、他の大部分の罫線が正しく対応していれば、そのモデルを抽出することが可能になる。
【０１７０】
図３０は、このようなマッチング方法を用いたフォーム識別処理のフローチャートである。この処理は、図４のステップＳ１１、Ｓ１２、Ｓ１５、Ｓ１６の処理に対応し、特に、入力画像の詳細識別に関する。処理が開始されると、管理情報抽出装置は、まず、画像を入力し（ステップＳ１２１）、入力された画像から罫線を抽出する（ステップＳ１２２）。
【０１７１】
そして、その罫線を囲む矩形（罫線矩形）の左上頂点の座標に関し、横罫線はｙ座標の小さい順に、縦罫線はｘ座標の小さい順に、各罫線を並べ直す（ステップＳ１２３）。ここで、横罫線のｙ座標が同じ場合は、そのｘ座標の小さい順にソートし、縦罫線のｘ座標が同じ場合は、そのｙ座標の小さい順にソートする。
【０１７２】
次に、縦横各罫線について概略情報を抽出する（ステップＳ１２４）。概略情報とは、表全体に対する罫線の長さおよび位置の相対的な値であり、３つの整数の組で表される。また、縦横各方向における２本の罫線のすべての組み合わせを考え、各組み合わせに関する詳細情報を抽出する（ステップＳ１２５）。詳細情報は、２本の罫線間の長さおよび位置の相対的な関係を表す。
【０１７３】
入力画像と照合されるモデルの概略情報および詳細情報は、あらかじめ抽出されてレイアウト辞書３１に格納されている。そこで、次に、入力画像の概略情報および詳細情報と、モデルの概略情報および詳細情報とを照合し、モデルマッチングを行う（ステップＳ１２６）。そして、最適なモデルを識別結果として出力し（ステップＳ１２７）、処理を終了する。
【０１７４】
次に、図３１から図４１までを参照しながら、ステップＳ１２４、Ｓ１２５、Ｓ１２６、およびＳ１２７の処理について詳細に説明する。
ステップＳ１２４においては、概略情報を求めるための前処理として、表の基準幅Ｗ、基準高Ｈ、基準ｘ座標ｘ０、および基準ｙ座標ｙ０を求める。まず、横罫線に関してそれらの最大長を求め、その長さに比べてあるしきい値以上の割合（例えば０．８）の長さを持つ横罫線のうち、順位が最初のものと最後のものとを求め、それらを外郭基準横罫線とする。
【０１７５】
縦罫線に関しても最大長を求め、横罫線の場合と同様にして、２本の外郭基準縦罫線を得る。そこで、得られた４本の外郭基準罫線の外接矩形を考え、その幅を基準幅Ｗ、その高さを基準高Ｈ、その左上頂点を基準点とし、その座標を基準座標（ｘ０，ｙ０）とする。
【０１７６】
例えば、図３１のような表形式文書においては、横罫線８１、８２が外郭基準横罫線として抽出され、縦罫線８３、８４が外郭基準縦罫線として抽出され、これらの外郭基準罫線の外接矩形の幅が基準幅Ｗとなり、その高さが基準高Ｈとなる。また、その外接矩形の左上頂点８５の座標が基準座標（ｘ０，ｙ０）となる。
【０１７７】
ここで、最大長から算出される一定長さ以上の罫線の中から外郭基準罫線を選ぶことで、例えば、横罫線８６、８７のような短い罫線が外郭基準罫線の候補から除外される。
あるいはまた、これらの基準幅Ｗ、基準高Ｈ、基準座標（ｘ０，ｙ０）を、次のようにして求めることも可能である。まず、基準座標の候補となる座標値ｖｍａｘｘ、ｖｍｉｎｘ、ｖｍａｘｙ、ｖｍｉｎｙ、ｈｍａｘｘ、ｈｍｉｎｘ、ｈｍａｘｙ、ｈｍｉｎｙを、次式のように定義する。
ｖｍａｘｘ＝（縦罫線矩形の右下頂点のｘ座標の最大値）
ｖｍｉｎｘ＝（縦罫線矩形の左上頂点のｘ座標の最小値）
ｖｍａｘｙ＝（縦罫線矩形の右下頂点のｙ座標の最大値）
ｖｍｉｎｙ＝（縦罫線矩形の左上頂点のｙ座標の最小値）
ｈｍａｘｘ＝（横罫線矩形の右下頂点のｘ座標の最大値）
ｈｍｉｎｘ＝（横罫線矩形の左上頂点のｘ座標の最小値）
ｈｍａｘｙ＝（横罫線矩形の右下頂点のｙ座標の最大値）
ｈｍｉｎｙ＝（横罫線矩形の左上頂点のｙ座標の最小値）                （１０）
次に、これらの座標値から、次式により基準幅と基準高の候補を求める。
Ｗ１＝ｖｍａｘｘ−ｖｍｉｎｘ
Ｗ２＝ｈｍａｘｘ−ｈｍｉｎｘ
Ｈ１＝ｈｍａｘｙ−ｈｍｉｎｙ
Ｈ２＝ｖｍａｘｙ−ｖｍｉｎｙ                                        （１１）
そして、基準幅Ｗを、
Ｗ＝ｍａｘ｛Ｗ１，Ｗ２｝                                            （１２）
により求め、Ｗ＝Ｗ１のとき、ｘ０＝ｖｍｉｎｘとし、Ｗ＝Ｗ２のとき、ｘ０＝ｈｍｉｎｘとする。
【０１７８】
また、基準高Ｈを、 
Ｈ＝ｍｉｎ｛Ｈ１，Ｈ２｝                                            （１３）
により求め、Ｈ＝Ｈ１のとき、ｙ０＝ｈｍｉｎｙとし、Ｈ＝Ｈ２のとき、ｙ０＝ｖｍｉｎｙとする。
【０１７９】
こうして、基準幅Ｗ、基準高Ｈ、基準座標（ｘ０，ｙ０）が求められる。ただし、この方法は、上述の方法に比べてノイズ等の影響を受けやすく、ロバスト性が比較的弱くなる。
【０１８０】
ここでは、４本の外郭基準罫線の外接矩形の左上頂点を基準点として選んだが、それ以外に、左下頂点、右上頂点、右下頂点等、外接矩形の周辺上の任意の点を基準点として選ぶことができる。その場合でも、以下の処理は基本的に同様である。
【０１８１】
次に、得られた表の大きさと基準座標をもとにして、各罫線矩形の長さと中心位置の情報から、３つの特徴量（概略情報）ｌｅｎｇｔｈ１、ｔｗｉｓｔ、ｐｏｓｉｔｉｏｎを求める。横罫線の場合、図３２に示すように、罫線矩形９１の長さｌ１と中心座標（ｘ１，ｙ１）から、次式によりこれらの特徴量を算出する。
ｌｅｎｇｔｈ１＝［（ｌ１／Ｗ）×１００］の整数部分
ｔｗｉｓｔ＝［（（ｘ１−ｘ０）／Ｗ）×１００］の整数部分
ｐｏｓｉｔｉｏｎ＝［（（ｙ１−ｙ０）／Ｈ）×１００］の整数部分      （１４）
また、縦罫線の場合、図３３に示すように、罫線矩形９２の長さｌ１と中心座標（ｘ１，ｙ１）から、次式によりこれらの特徴量を算出する。
ｌｅｎｇｔｈ１＝［（ｌ１／Ｈ）×１００］の整数部分
ｔｗｉｓｔ＝［（（ｙ１−ｙ０）／Ｈ）×１００］の整数部分
ｐｏｓｉｔｉｏｎ＝［（（ｘ１−ｘ０）／Ｗ）×１００］の整数部分      （１５）
得られた特徴量のうち、ｌｅｎｇｔｈ１は表のサイズに対する罫線の長さの相対的な割合を表し、ｔｗｉｓｔとｐｏｓｉｔｉｏｎは、表の基準点に対する罫線の相対的な位置を表している。
【０１８２】
次に、ステップＳ１２５においては、２本の罫線の相対的な関係を表す詳細情報を求める。ここでは、一方の罫線矩形の長さを１としたときの、もう一方の罫線矩形の長さｌｅｎｇｔｈ２、それぞれの罫線矩形の中心間のｘ方向のずれの長さｄｉｆｆｅｒ、および中心間のｙ方向のずれの長さｈｅｉｇｈｔの３つの値を、詳細情報として求めることにする。
【０１８３】
まず、２本の横罫線のすべての組み合わせを抽出する。そして、各組み合わせにおいて、図３４に示すように、一方の罫線矩形（ソート順位の早い方）９３の長さをｌ１、その中心座標を（ｘ１，ｙ１）、もう一方の罫線矩形（ソート順位の遅い方）９４の長さをｌ２、その中心座標を（ｘ２，ｙ２）とする。このとき、罫線矩形９３の中心を基準として、これらの罫線矩形の中心間のｘ方向のずれｄｗとｙ方向のずれをｄｈを次式により定義する。
ｄｗ＝ｘ２−ｘ１
ｄｈ＝ｙ２−ｙ１                                                    （１６）
この定義によれば、罫線矩形９４の中心が罫線矩形９３の中心より右にあれば、ｄｗは正となり、罫線矩形９４の中心が罫線矩形９３の中心より左にあれば、ｄｗは負となる。同様に、罫線矩形９４の中心が罫線矩形９３の中心より下にあれば、ｄｈは正となり、罫線矩形９４の中心が罫線矩形９３の中心より上にあれば、ｄｈは負となる。
【０１８４】
次に、上述の３つの特徴量ｌｅｎｇｔｈ２、ｄｉｆｆｅｒ、ｈｅｉｇｈｔを、次式により算出する。
ｌｅｎｇｔｈ２＝１２／ｌ１
ｄｉｆｆｅｒ＝ｄｗ／ｌ１
ｈｅｉｇｈｔ＝ｄｈ／ｌ１                                        （１７−１）
また、縦罫線についても同様に、２本の罫線のすべての組み合わせを抽出する。そして、各組み合わせにおいて、図３５に示すように、ソート順位の早い方の罫線矩形９５の長さをｌ１、その中心座標を（ｘ１，ｙ１）、ソート順位の遅い方の罫線矩形９６の長さをｌ２、その中心座標を（ｘ２，ｙ２）とする。そして、（１６）式によりｄｗとｄｈを求め、次式により、詳細情報ｌｅｎｇｔｈ２、ｄｉｆｆｅｒ、ｈｅｉｇｈｔを算出する。
ｌｅｎｇｔｈ２＝１２／ｌ１
ｄｉｆｆｅｒ＝ｄｈ／ｌ１
ｈｅｉｇｈｔ＝ｄｗ／ｌ１                                        （１７−２）
（１７−２）式においては、ｄｉｆｆｅｒとｈｅｉｇｈｔの定義が、（１７−１）式と逆になっている。次に、ステップＳ１２６において、横罫線同士と縦罫線同士の２回に分けて、入力画像の概略情報および詳細情報を、各モデルの概略情報および詳細情報と照合し、フォームの類似度を計算する。
【０１８５】
図３６は、このようなモデルマッチング処理のフローチャートである。処理が開始されると、管理情報抽出装置は、まず、未知文書の入力画像の横罫線の数をｐ本、モデルの横罫線の数をｍ本として、図３７に示すようなｐ×ｍの表を作成する（ステップＳ１３１）。
【０１８６】
ここでは、ｐ＝１２、ｍ＝１５であり、表の行番号および列番号は、ともに０から始まっている。この表のｉ行ｊ列の要素（項目）は、入力画像のｉ番目の罫線とモデルのｊ番目の罫線の対応関係を表すデータである。以下では、このような表をマッチングテーブルと呼ぶことにする。
【０１８７】
次に、概略情報に基づいて、入力画像のｉ番目の横罫線ＩＰ（ｉ）が、モデルのｊ番目の横罫線ＭＯ（ｊ）に対応するかどうかの可能性を判断し、対応する可能性があれば、マッチングテーブルのｉ行ｊ列の要素にノードを配置する（ステップＳ１３２）。これにより、横罫線ＩＰ（ｉ）と横罫線ＭＯ（ｊ）の組み合わせがマッチングテーブル上に記述される。このときの対応可能性の条件は十分緩くとっておき、一つの罫線に対して、複数の罫線が重複して対応することを許すものとする。
【０１８８】
ここでは、罫線ＩＰ（ｉ）の概略情報（ｌｅｎｇｔｈ１，ｔｗｉｓｔ，ｐｏｓｉｔｉｏｎ）をそれぞれ（ｉｐｌ，ｉｐｔ，ｉｐｐ）とおき、罫線ＭＯ（ｊ）の概略情報をそれぞれ（ｍｏｌ，ｍｏｔ，ｍｏｐ）とおいて、各値の差が一定値より小さいとき、罫線ＩＰ（ｉ）と罫線ＭＯ（ｊ）が対応する可能性があるとみなす。
【０１８９】
可能性を表す具体的な条件は、表内の横罫線の数に依存したパラメータα、および縦罫線の数に依存したパラメータβをしきい値として、次式により与えられる。
｜ｉｐｌ−ｍｏｌ｜＜β
｜ｉｐｔ−ｍｏｔ｜＜β
｜ｉｐｐ−ｍｏｐ｜＜α                                              （１８）
これらの罫線の数に依存したパラメータα、βは正の整数で、罫線数が少ないほど大きな値をとり、逆に罫線数が多いほど小さな値をとるように定められる。このとき、（１８）式の条件は、表内の罫線の密度が疎であればマッチングの探索範囲を広げ、密度が密であれば探索範囲を狭めるという効果を持つ。α、βは、例えば、図３８に示すように、横、縦の罫線数に対して単調に減少する関数として定義できる。
【０１９０】
このように、概略情報が互いに類似している罫線同士の対応関係をノードで表現することで、入力画像とモデルの間の、表の外郭部分に対する相対的な特徴の類似点が抽出される。
【０１９１】
次に、詳細情報に基づいて、配置されたノードの中で、互いに特定の関係を満たすもの同士、すなわち両立するもの同士の組み合わせを探索する（ステップＳ１３３）。そして、それらのノードを同じグループに属するノードとみなして、パスで結ぶ。
【０１９２】
ここで、ｉ行ｊ列のノードｎ（ｉ，ｊ）とｋ行ｌ列のノードｎ（ｋ，ｌ）が特定の関係を満たすとは、入力画像のｉ番目の罫線とｋ番目の罫線の関係が、モデルのｊ番目の罫線とｌ番目の罫線の関係に比例していることを指す。言い換えれば、入力画像のｉ番目の罫線とモデルのｊ番目の罫線をぴったり重ね合わせたとき、入力画像のｋ番目の罫線とモデルのｌ番目の罫線がぴったり重なり合う状況を指す。
【０１９３】
このようなノード同士を１本のパスで結ぶことで、ノードがいくつかのグループに分類される。ノードの数が多いグループほど、入力文書とモデルが類似していることを強く表していると考えられるので、このようなグループを対象とすることで、モデルマッチングにおける類似度の計算を効率よく行うことができる。
【０１９４】
また、あるノードと両立するノードを探索する際、処理の効率を高めるため、常に前者のノードの右下の領域に位置するノードを探索対象とする。これにより、図２９に示したようなクリークが生成されなくなるので、ノード数の多いパスを高速に求めることが可能になる。パス生成の具体的な処理については後述する。
【０１９５】
次に、得られたパスの集合の中で、互いに矛盾しないパスの組み合わせを求め、いくつかの組み合わせのうち、含まれるノード数が最大のものを探索する（ステップＳ１３４）。そして、そのパスの組み合わせを最適パス集合とする。２つのパスが互いに矛盾しないとは、それぞれのパスの中のノードに対応する罫線の集合の範囲が、互いに重なり合わないということである。
【０１９６】
図３７のマッチングテーブルにおいて、２つの罫線集合の範囲が重なり合う場合は、図３９に示すように、入力画像とモデルの間で対応する罫線の順序関係が逆転する場合と、図４０に示すように、罫線と罫線の対応が重複する場合の２通りある。
【０１９７】
図３９においては、実線で表されたグループに属するモデル側の罫線の範囲は０番目から９番目となっており、破線で表されたグループに属するモデル側の罫線の範囲は７番目から８番目となっている。したがって、２つの罫線集合の範囲が互いに重なっている。同様に、図４０においても、実線で表されたグループと破線で表されたグループの罫線集合の範囲が、モデル側において互いに重なっている。
【０１９８】
一方、矛盾したパスの組み合わせを含まない最適パス集合においては、図４１に示すように、入力画像とモデルの両方の側において、各罫線集合の範囲は重なり合うことがない。このような最適パス集合に含まれる各ノードによって表される罫線間の対応関係が、最適な対応関係である。
【０１９９】
次に、入力画像の横罫線数をｐｈ、モデルの横罫線数をｍｈ、横罫線の最適パス集合に含まれるノード数をｍａｘｈとして、入力画像とモデルの横罫線の類似度ＳＨを次式により求める（ステップＳ１３５）。
ＳＨ＝ｍａｘｈ／ｐｈ＋ｍａｘｈ／ｍｈ                                （１９）
この類似度ＳＨは、入力画像の横罫線のうち、最適パス集合に対応するものの割合と、モデルの横罫線のうち、最適パス集合に対応するものの割合の和を表し、一般に、入力画像とモデルの横罫線の特徴が類似しているほど大きな値をとる。
【０２００】
管理情報抽出装置は、以上説明したステップＳ１３１からステップＳ１３５までと同様の処理を縦罫線についても行う。そして、入力画像の縦罫線数をｐｖ、モデルの縦罫線数をｍｖ、縦罫線の最適パス集合に含まれるノード数をｍａｘｖとして、入力画像とモデルの縦罫線の類似度ＳＶを次式により求める。
ＳＶ＝ｍａｘｖ／ｐｖ＋ｍａｘｖ／ｍｖ                                （２０）
そして、最終的に、ＳＨとＳＶから、次式により入力画像とモデルの罫線の類似度Ｓを算出し、モデルマッチングを終了する。
Ｓ＝ＳＨ＋ＳＶ                                                      （２１）
例えば、図４のステップＳ１４の大分類により得られたすべての表の候補をモデルとして、このようなモデルマッチングを行うことで、各モデルと入力画像の類似度が算出される。ステップＳ１２７においては、これらのモデルのうち最も類似度の高いのものを、最適モデルとして出力する。これにより、入力画像に対応する辞書フォームが特定される。
【０２０１】
次に、図４２から図４８までを参照しながら、図３６のノード配置処理、パス生成処理、および最適パス集合決定処理について、さらに詳しく説明する。図４２は、図３６のステップＳ１３２におけるノード配置処理のフローチャートである。ここでは、入力画像のｉ番目の罫線の概略情報ｌｅｎｇｔｈ１、ｔｗｉｓｔ、ｐｏｓｉｔｉｏｎを、それぞれｉｐｌ（ｉ）、ｉｐｔ（ｉ）、ｉｐｐ（ｉ）とおき、モデルのｊ番目の罫線の概略情報を、それぞれｍｏｌ（ｊ）、ｍｏｔ（ｊ）、ｍｏｐ（ｊ）とおく。
【０２０２】
また、マッチングテーブルのｉ行ｊ列の要素を表すデータをｓｉｇｎ（ｉ，ｊ）とおく。ｓｉｇｎ（ｉ，ｊ）＝０のときは、対応する要素にノードは配置されず、ｓｉｇｎ（ｉ，ｊ）＝１のときは、その要素にノードが配置される。
【０２０３】
処理が開始されると、管理情報抽出装置は、まず、条件｜ｉｐｐ（ｉ）−ｍｏｐ（ｊ）｜＜αが成り立つかどうかを判定する（ステップＳ１４１）。この条件が成り立たなければ、ｓｉｇｎ（ｉ，ｊ）＝０とおいて（ステップＳ１４２）、処理を終了する。
【０２０４】
ステップＳ１４１の条件が成り立てば、次に、条件｜ｉｐｔ（ｉ）−ｍｏｔ（ｊ）｜＜βが成り立つかどうかを判定する（ステップＳ１４３）。この条件が成り立たなければ、ｓｉｇｎ（ｉ，ｊ）＝０とおいて（ステップＳ１４４）、処理を終了する。
【０２０５】
ステップＳ１４３の条件が成り立てば、次に、条件｜ｉｐｌ（ｉ）−ｍｏｌ（ｊ）｜＜βが成り立つかどうかを判定する（ステップＳ１４５）。この条件が成り立たなければ、ｓｉｇｎ（ｉ，ｊ）＝０とおいて（ステップＳ１４６）、処理を終了する。そして、ステップＳ１４５の条件が成り立てば、ｓｉｇｎ（ｉ，ｊ）＝１とおいて、ｉ行ｊ列にノードを配置し（ステップＳ１４７）、処理を終了する。
【０２０６】
このような処理を、マッチングテーブルのすべての位置（ｉ，ｊ）について行うことで、概略情報が類似した２つの罫線に対応する位置に、それらの間の対応関係を表すノードが配置される。
【０２０７】
また、図４３、４４は、図３６のステップＳ１３３におけるパス生成処理のフローチャートである。処理が開始されると、管理情報抽出装置は、まず、初期化処理を行う（図４３、ステップＳ１５１）。ここでは、マッチングテーブル上でノードが配置された要素の位置（ｉ，ｊ）を、ノード列としてメモリ内の記憶部に格納する。記憶部内でのノードの並べ方は、行番号ｉの小さい順とし、同じｉに対しては列番号ｊの小さい順とする。また、このノード列の各ノードには、パスで結ばれたかどうかを示すフラグが付加される。
【０２０８】
例えば、図３７のマッチングテーブルに対応する記憶部のノード列は、図４５に示すようになる。図４５の記憶部においては、マッチングテーブル上の各ノードの位置（０，０）、（１，０）、（１，１）、（２，０）、・・・、（１１，１４）が順に格納され、それらのフラグの値は１に初期化されている。フラグの値が１のとき、対応するノードはまだパスで結ばれていないことを表す。
【０２０９】
次に、記憶部の先頭のデータにアクセスし（ステップＳ１５２）、そのアクセスポイントからｉとｊを読み出して、その位置に対応するマッチングテーブル上の要素をマークする（ステップＳ１５３）。そして、マークした要素のノードを基準ノードとして、その要素のｓｉｇｎを０にし、対応する記憶部のフラグを０にする（ステップＳ１５４）。
【０２１０】
次に、制御変数ｃｏｕｎｔの値を０とおき（ステップＳ１５５）、マークした要素がマッチングテーブルの最終列に対応しているか、または、ｃｏｕｎｔの値があらかじめ決められた定数ｈに達したかを調べる（ステップＳ１５６）。これらの条件がいずれも満たされなければ、次に、マーク位置を１列分右に進め（ステップＳ１５７）、マーク位置が最終行に対応しているかどうかを調べる（ステップＳ１５８）。
【０２１１】
ここで、マーク位置が最終行であれば、ｃｏｕｎｔの値に１を加算して（ステップＳ１５９）、次の列の要素を調べるために、ステップＳ１５６以降の処理を繰り返す。マーク位置が最終行でなければ、次に、そのマーク位置を１行分下に進め（ステップＳ１６０）、ここでマークした要素のｓｉｇｎが０か１かを判定する（ステップＳ１６１）。
【０２１２】
その値が０であれば、マーク位置にノードは配置されていないので、同じ列内の他の要素を調べるために、ステップＳ１５８以降の処理を繰り返す。ｓｉｇｎが１であれば、マーク位置にノードが配置されているので、そのノードが基準ノードとパスで結べるかどうかを判定する（ステップＳ１６２）。２つのノードがパスで結べるかどうかは、これらのノードに対応する罫線間の詳細情報ｌｅｎｇｔｈ２、ｄｉｆｆｅｒ、ｈｅｉｇｈｔを用いて判定される。
【０２１３】
例えば、図４６に示すように、入力画像において、基準ノードに対応する罫線１０１と判定対象のノードに対応する罫線１０２との間の相対的な関係を表す詳細情報を、ｌｅｎｇｔｈ２＝ｌ２／ｌ１、ｄｉｆｆｅｒ＝ｄｗ／ｌ１、ｈｅｉｇｈｔ＝ｄｈ／ｌ１とおく。
【０２１４】
また、モデルにおいて、基準ノードに対応する罫線１０３と、判定対象のノードに対応する罫線１０４との間の相対的な関係を表す詳細情報を、ｌｅｎｇｔｈ２＝ｌ２′／ｌ１′、ｄｉｆｆｅｒ＝ｄｗ′／ｌ１′、ｈｅｉｇｈｔ＝ｄｈ′／ｌ１′とおく。
【０２１５】
このとき、経験的に決められるしきい値ε１、ε２、ε３に対して次式が成り立てば、基準ノードと判定対象のノードが両立し、これらの間をパスで結べるものとする。
｜ｌ２／ｌ１−ｌ２′／ｌ１′｜＜ε１
｜ｄｗ／ｌ１−ｄｗ′／ｌ１′｜＜ε２
｜ｄｈ／ｌ１−ｄｈ′／ｌ１′｜＜ε３                                （２２）
しきい値ε１、ε２、ε３を十分小さくとることで、（２２）式は、罫線１０１と罫線１０２から成る図形が、罫線１０３と罫線１０４から成る図形と相似であることを表すようになる。これらの罫線図形が相似であれば、罫線１０１と罫線１０３を対応させたとき、同時に、罫線１０２と罫線１０４が対応する可能性が高いので、２つのノードは両立するとみなされる。
【０２１６】
このように、パスを引く条件として相似条件を用いることで、ノード間の両立性を判定する回数を削減することができる。例えば、図３７のマッチングテーブルにおいて、ノード９７を基準ノードとした場合、ノード９７とノード９８が両立し、かつ、ノード９７とノード９９が両立すれば、ノード９８とノード９９も両立するとみなしてよい。
【０２１７】
そこで、ノード９９が基準ノード９７とパスで結べると判定したとき、そのノード９９はすでに基準ノード９７とパスで結ばれているノード９８ともパスで結べるものと判断する。
【０２１８】
マーク位置のノードが基準ノードとパスで結べない場合は、同じ列内の他のノードを調べるために、ステップＳ１５８以降の処理を繰り返す。また、それらがパスで結べる場合は、そのマーク位置のノードに対応する記憶部内のフラグを０に書き換える（ステップＳ１６３）。これにより、そのノードが、基準ノードまたはすでにパス上に存在する１つ前のノードと結ばれたことが記録される。そして、次の列のノードを調べるために、ステップＳ１５６以降の処理を繰り返す。
【０２１９】
ステップＳ１５６以降の処理では、マーク位置を１列進めた後、直ちに１行進めることで、常に、前のマーク位置の右下にある要素を探索対象とする。これを繰り返すことで、マッチングテーブルの右下に向かって、徐々にパスが伸張されていく。
【０２２０】
そして、ステップＳ１５６の条件が満たされると、次に、基準ノードから伸びたパスのヒット数が２以上かどうかを調べる（図４４、ステップＳ１６４）。ここで、ヒット数とは、パスの構成ノードの数を意味する。構成ノードの数が２以上であれば、そのパスを正式に登録し、その構成ノードの情報を記録する（ステップＳ１６５）。パスの構成ノードの数が１の場合は、基準ノードからいずれの他のノードにもパスが引かれなかったことを意味するので、パス登録は行わない。
【０２２１】
次に、記憶部内にアクセスされていないデータが残っているかどうかを調べる（ステップＳ１６６）。データが残っていれば、記憶部のアクセスポイントを一つ進めて（ステップＳ１６７）、その位置のフラグの値を調べる（ステップＳ１６８）。そして、フラグが０であれば、その位置のノードはすでにパス上に加えられているので、ステップＳ１６６以降の処理を繰り返して次のデータを調べる。
【０２２２】
また、フラグが１であれば、その位置のノードはまだパスに加えられていないので、ステップＳ１５３以降の処理を繰り返す。これにより、そのノードを新たな基準ノードとする新しいパスが生成される。そして、ステップＳ１６６において、記憶部のアクセスポイントが最後尾に達すれば、処理を終了する。
【０２２３】
また、図４７は、図３６のステップＳ１３４における最適パス集合決定処理のフローチャートである。この処理においては、ｐ行ｍ列の横罫線または縦罫線のマッチングテーブルを対象とし、暫定的な最適パス集合のノード数を表す配列ｓｃｏｒｅ（ｉ）（ｉ＝０，１，２，．．．，ｍ）と、行番号を表す配列ｒｉｒｅｋｉ（ｉ）（ｉ＝０，１，２，．．．，ｍ）を用いる。
【０２２４】
処理が開始されると、管理情報抽出装置は、まず、最適パス集合のノード数の初期値を表すｓｃｏｒｅ（ｍ）を０とおき、行番号の初期値を表すｒｉｒｅｋｉ（ｍ）をｐ−１とおく（ステップＳ１７１）。
【０２２５】
次に、列番号を表す変数ｉをｍ−１とおき（ステップＳ１７２）、登録されたパスの中で、始点となる左上のノードの列番号がｉであるようなパスの集合をＰａｔｈ（ｉ）とする（ステップＳ１７３）。また、ｓｃｏｒｅ（ｉ）＝ｓｃｏｒｅ（ｉ＋１）、ｒｉｒｅｋｉ（ｉ）＝ｒｉｒｅｋｉ（ｉ＋１）とおく（ステップＳ１７４）。このｓｃｏｒｅ（ｉ）は、ｉ番目の列から最終列（ｍ−１番目の列）までの範囲における暫定的な最適パス集合のノード数を表す。
【０２２６】
次に、集合Ｐａｔｈ（ｉ）の１つのパスを取り出し、そのノードの情報を用いてｓｃｏｒｅ（ｉ）を更新する（ステップＳ１７５）。そして、集合Ｐａｔｈ（ｉ）にパスが残っているかどうかを調べ（ステップＳ１７６）、残っていれば、次のパスを取り出してｓｃｏｒｅ（ｉ）の計算を繰り返す。
【０２２７】
集合Ｐａｔｈ（ｉ）のすべてのパスに関する計算が終了すると、次に、ｉが０に達したかどうかを判定し（ステップＳ１７７）、ｉが１以上であれば、ｉ＝ｉ−１とおいて（ステップＳ１７８）、ステップＳ１７３以降の処理を繰り返す。そして、ｉが０に達したとき、得られたｓｃｏｒｅ（０）の値を最終的な最適パス集合のノード数として（ステップＳ１７９）、処理を終了する。
【０２２８】
横罫線のマッチングテーブルから得られたｓｃｏｒｅ（０）の値は、類似度の計算において、（１９）式のｍａｘｈとして用いられ、縦罫線のマッチングテーブルから得られたｓｃｏｒｅ（０）の値は、（２０）式のｍａｘｖとして用いられる。
【０２２９】
次に、図４８を参照しながら、図４７のステップＳ１７５のノード数更新処理について説明する。ノード数更新処理が開始されると、管理情報抽出装置は、まず、集合Ｐａｔｈ（ｉ）の１つのパスを取り出し、そのパスの始点の行番号をｓｇとし、終点となる右下のノードの列番号、行番号をそれぞれｅｒ、ｅｇとし、パスに含まれるノードの数をｈｉｔｓとする（ステップＳ１８１）。
【０２３０】
例えば、図３７のマッチングテーブルにおいて、ｉ＝１１のとき、Ｐａｔｈ（１１）には右下の領域のパスｐ１、ｐ２が含まれる。このうち、パスｐ１については、ｓｇ＝８、ｅｒ＝１４、ｅｇ＝１１となり、パスｐ２については、ｓｇ＝６、ｅｒ＝１２、ｅｇ＝７となる。
【０２３１】
次に、列番号を表す変数ｊをｅｒ＋１とおき（ステップＳ１８２）、ｅｇとｒｉｒｅｋｉ（ｊ）の値を比較する（ステップＳ１８３）。ここで、ｅｇがｒｉｒｅｋｉ（ｊ）より大きければ、次に、ｓｃｏｒｅ（ｊ）＋ｈｉｔｓ＞ｓｃｏｒｅ（ｉ）、または、ｓｃｏｒｅ（ｊ）＋ｈｉｔｓ＝ｓｃｏｒｅ（ｉ）かつｅｇ＜ｒｉｒｅｋｉ（ｉ）が成り立つかどうかを判定する（ステップＳ１８４）。
【０２３２】
そして、これらの条件のいずれかが成り立てば、ｓｃｏｒｅ（ｉ）＝ｓｃｏｒｅ（ｊ）＋ｈｉｔｓ、ｒｉｒｅｋｉ（ｉ）＝ｅｇとおいて（ステップＳ１８５）、処理を終了する。
【０２３３】
また、ステップＳ１８３においてｅｇがｒｉｒｅｋｉ（ｊ）以下のとき、および、ステップＳ１８４においていずれの条件も成り立たないときは、ｊ＝ｊ＋１とおいて（ステップＳ１８６）、ｊとｍを比較する（ステップＳ１８７）。ここで、ｊがｍ以下であれば、ステップＳ１８３以降の処理を繰り返し、ｊがｍを越えると、処理を終了する。
【０２３４】
こうして、１つ前の処理で暫定的に決められた最適パス集合にパスを１つ加えてできる集合から、新たな最適パス集合が抽出され、そのノード数がｓｃｏｒｅ（ｉ）に記録される。このような処理を、Ｐａｔｈ（ｉ）のすべてのパスについて繰り返すことで、ｉ番目の列から最終列までの範囲における最適パス集合のノード数が得られる。
【０２３５】
例えば、図３７において、１１番目の列から最終列までの範囲における互いに矛盾しないパスの組み合わせとしては、パスｐ１のみと、パスｐ２およびｐ３の組み合わせの２つが考えられる。これらの組み合わせのノード数はともに４なので、ｓｃｏｒｅ（１１）＝４となる。
【０２３６】
以上説明したフォーム識別処理は、管理情報抽出装置だけでなく、文書認識装置、図面読み取り装置等の任意の画像認識装置にも適用でき、任意の画像中の罫線構造を識別する際に有効である。
【０２３７】
本実施形態のフォーム識別処理によれば、罫線間の相対的な関係を特徴量として用いているので、入力された表形式文書から罫線構造を抽出し、登録された表形式文書のフォームとマッチングを行う際に、かすれやノイズ等の影響で罫線がうまく抽出されない部分があっても、安定して正しい識別が行われる。とりわけ、ノイズの影響で罫線抽出が不安定になりやすい外郭罫線抽出の精度劣化に対しても、ノード配置のための条件を広くとることで、ロバスト性を保つことができる。
【０２３８】
また、１つ以上のパスの組み合わせである最適パス集合を求めることで、１行追加、削除などの若干のフォーム変更に対しても、安定して正しい識別が行われる。さらに、２つのノードに関する両立の条件を推移的とすることで、両立性のチェック回数が削減され、高速な識別処理が可能になる。
【図面の簡単な説明】
【０２３９】
【図１】本発明の原理図である。
【図２】管理情報抽出処理を示す図である。
【図３】フォーム学習時の処理の第１のフローチャートである。
【図４】運用時の処理の第１のフローチャートである。
【図５】情報処理装置の構成図である。
【図６】フォーム学習時の処理の第２のフローチャートである。
【図７】罫線構造抽出処理を示す図である。
【図８】管理情報位置指定処理を示す図である。
【図９】第１の大分類用罫線特徴を示す図である。
【図１０】第２の大分類用罫線特徴を示す図である。
【図１１】第３の大分類用罫線特徴を示す図である。
【図１２】第４の大分類用罫線特徴を示す図である。
【図１３】交点列の抽出方法を示す図である。
【図１４】交点列を示す図である。
【図１５】CROSS RATIO 算出処理のフローチャートである。
【図１６】CROSS RATIO を用いた外郭罫線特徴を示す図である。
【図１７】運用時の処理の第２のフローチャートである。
【図１８】ＤＰマッチングを示す図である。
【図１９】ＤＰマッチング処理のフローチャートである。
【図２０】管理情報位置算出処理のフローチャート（その１）である。
【図２１】管理情報位置算出処理のフローチャート（その２）である。
【図２２】管理情報位置算出処理のフローチャート（その３）である。
【図２３】ユーザ登録モードと自動学習モードを備えた管理情報抽出処理を示す図である。
【図２４】表内管理情報抽出処理のフローチャートである。
【図２５】罫線のない文書画像の管理情報抽出処理のフローチャートである。
【図２６】管理情報格納処理のフローチャートである。
【図２７】管理情報格納テーブルを示す図である。
【図２８】管理情報検索処理のフローチャートである。
【図２９】連合グラフを示す図である。
【図３０】フォーム識別処理のフローチャートである。
【図３１】基準幅、基準高、基準点を示す図である。
【図３２】横罫線を示す図である。
【図３３】縦罫線を示す図である。
【図３４】横罫線の詳細情報を示す図である。
【図３５】縦罫線の詳細情報を示す図である。
【図３６】モデルマッチング処理のフローチャートである。
【図３７】マッチングテーブルを示す図である。
【図３８】しきい値の関数を示す図である。
【図３９】順序関係が逆になる場合を示す図である。
【図４０】対応罫線が重複する場合を示す図である。
【図４１】最適パス集合が示す罫線の対応関係を示す図である。
【図４２】ノード配置処理のフローチャートである。
【図４３】パス生成処理のフローチャート（その１）である。
【図４４】パス生成処理のフローチャート（その２）である。
【図４５】記憶部のノード列を示す図である。
【図４６】詳細情報を用いた判定処理を示す図である。
【図４７】最適パス集合決定処理のフローチャートである。
【図４８】ノード数更新処理のフローチャートである。
【図４９】先願のタイトル抽出装置の構成図である。
【図５０】表形式文書を示す図である。
【符号の説明】
【０２４０】
１ 文字領域生成部
２ 文字列領域生成部
３ タイトル抽出部
１１ 承認欄
１２ 項目名
１３ タイトル
２１ ユーザ登録手段
２２ 計算手段
２３ 辞書手段
２４ 照合手段
２５ 抽出手段
２６ 格納手段
２７ グループ生成手段
２８ 検索手段
３１ レイアウト辞書
３２、７１、７２ 未知文書
３３ 文字列領域
４１ ＣＰＵ
４２ メモリ
４３ 入力装置
４４ 出力装置
４５ 外部記憶装置
４６ 媒体駆動装置
４７ ネットワーク接続装置
４８ 光電変換装置
４９ バス
５０ 可搬記録媒体
５０′ データベース
５１ 矩形セル
５２、５３、５４、５５、５６、５７、５８、５９、８５ 頂点
６１、６２、６３、６４、６５、６６、６７、６８、６９、７０ 交点
７３ ユーザ辞書
７４、７５、７６、７７ 処理結果
８１、８２、８３、８４、８６、８７ 罫線
９１、９２、９３、９４、９５、９６、１０１、１０２、１０３、１０４ 罫線矩形
９７、９８、９９ ノード
【図１】
2005050362.tif 000004
【図２】
2005050362.tif 000005
【図３】
2005050362.tif 000006
【図４】
2005050362.tif 000007
【図５】
2005050362.tif 000008
【図６】
2005050362.tif 000009
【図７】
2005050362.tif 000010
【図８】
2005050362.tif 000011
【図９】
2005050362.tif 000012
【図１０】
2005050362.tif 000013
【図１１】
2005050362.tif 000014
【図１２】
2005050362.tif 000015
【図１３】
2005050362.tif 000016
【図１４】
2005050362.tif 000017
【図１５】
2005050362.tif 000018
【図１６】
2005050362.tif 000019
【図１７】
2005050362.tif 000020
【図１８】
2005050362.tif 000021
【図１９】
2005050362.tif 000022
【図２０】
2005050362.tif 000023
【図２１】
2005050362.tif 000024
【図２２】
2005050362.tif 000025
【図２３】
2005050362.tif 000026
【図２４】
2005050362.tif 000027
【図２５】
2005050362.tif 000028
【図２６】
2005050362.tif 000029
【図２７】
2005050362.tif 000030
【図２８】
2005050362.tif 000031
【図２９】
2005050362.tif 000032
【図３０】
2005050362.tif 000033
【図３１】
2005050362.tif 000034
【図３２】
2005050362.tif 000035
【図３３】
2005050362.tif 000036
【図３４】
2005050362.tif 000037
【図３５】
2005050362.tif 000038
【図３６】
2005050362.tif 000039
【図３７】
2005050362.tif 000040
【図３８】
2005050362.tif 000041
【図３９】
2005050362.tif 000042
【図４０】
2005050362.tif 000043
【図４１】
2005050362.tif 000044
【図４２】
2005050362.tif 000045
【図４３】
2005050362.tif 000046
【図４４】
2005050362.tif 000047
【図４５】
2005050362.tif 000048
【図４６】
2005050362.tif 000049
【図４７】
2005050362.tif 000050
【図４８】
2005050362.tif 000051
【図４９】
2005050362.tif 000052
【図５０】
2005050362.tif 000053