(57)【要約】【課題】フィールドのデータ型を学習機能により半自動的に設定可能とすることで、より詳細なＯＣＲ制約条件を容易に課すことができ、これによって、文字認識の精度を向上させることが可能な情報処理装置を提供する。【解決手段】情報処理装置１００は、サンプル帳票のフォーマット情報、当該サンプル帳票のフィールドに記入されたデータ値、及び当該データ値に基づいて生成された当該フィールドの記入上の制約条件を互いに関連付けて記憶するフォーマットモデル記憶部１１８ｂを含む。情報処理装置１００は、入力された帳票画像に対応するフォーマット情報及び制約条件をフォーマットモデル記憶部１１８ｂから読出し、読出したフォーマット情報により特定されたフィールドにおける帳票画像の記入値を当該フィールドの制約条件の範囲内で文字認識してそのデータ値を出力する。【選択図】図７
2017010069.tif 000002
【特許請求の範囲】
【請求項１】
帳票内のフィールドに記入された値を文字認識して出力する情報処理装置であって、
サンプル帳票のフォーマット情報、当該サンプル帳票のフィールドに記入されたデータ値、及び当該データ値に基づいて生成された当該フィールドの記入上の制約条件を互いに関連付けて記憶するための記憶手段と、
帳票画像を入力するための帳票入力手段と、
前記帳票入力手段を介して帳票画像が入力されたことに応答して、当該帳票画像に対応するフォーマット情報及び制約条件を前記記憶手段から読出し、読出したフォーマット情報により特定されたフィールドにおける前記帳票画像の記入値を当該フィールドの制約条件の範囲内で文字認識するための文字認識制約手段と、
前記文字認識制約手段により文字認識されたデータ値を出力するためのデータ出力手段とを含む、情報処理装置。
【請求項２】
前記情報処理装置はさらに、
記入済みのサンプル帳票画像を入力するためのサンプル帳票入力手段と、
前記サンプル帳票入力手段を介して記入済みのサンプル帳票画像が入力されたことに応答して、当該記入済みのサンプル帳票画像に対応するフォーマット情報を前記記憶手段から読出し、読出したフォーマット情報に基づいて、入力された当該サンプル帳票画像のフィールドに記入された値を文字認識するための文字認識手段と、
前記文字認識手段により認識されたデータ値を対応するフィールドの有効値として前記記憶手段に記憶し、当該有効値に基づいて、前記記憶手段に記憶されている制約条件を更新するための制約条件更新手段を含む、請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置はさらに、前記文字認識手段により認識されたデータ値を含むリストを制約条件として生成するためのリスト生成手段を含み、
前記制約条件更新手段は、前記文字認識手段により認識されたデータ値を前記リストに追加することにより、前記制約条件を更新するためのリスト更新手段を含み、
前記文字認識制約手段は、
前記帳票入力手段を介して帳票画像が入力されたことに応答して、当該帳票画像に対応するフォーマット情報及び制約条件を前記記憶手段から読出し、読出したフォーマット情報に基づいて特定された所定のフィールドにおける前記帳票画像の記入値が前記リストに含まれるか否かに基づいて、当該フィールドの記入上の制約条件を満たすことを検証するためのリスト検証手段と、
前記リスト検証手段の検証結果に応じて、入力された前記帳票画像のフィールドの記入値を、前記リストに含まれるデータ値の範囲内で文字認識するための認識手段と、を含む、請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置はさらに、
記入済みのサンプル帳票画像を入力するためのサンプル帳票入力手段と、
前記サンプル帳票入力手段を介して記入済みのサンプル帳票画像が入力されたことに応答して、当該記入済みのサンプル帳票画像に対応するフォーマット情報を前記記憶手段から読出し、読出したフォーマット情報に基づいて、入力された当該サンプル帳票画像のフィールドに記入された値を文字認識するための文字認識手段と、
前記文字認識制約手段により認識されたデータ値、及び前記文字認識手段により認識されたデータ値を対応するフィールドの有効値として前記記憶手段に蓄積するためのデータ蓄積手段と、
前記データ蓄積手段により蓄積されたフィールドの有効値の集合からこれら有効値を許容する書式の制約条件を推定することにより、当該フィールドの記入上の制約条件を生成するための制約条件生成手段とを含む、請求項１に記載の情報処理装置。
【請求項５】
前記文字認識制約手段はさらに、入力された前記帳票画像のフィールドの記入値に対して当該フィールドの制約条件を満たすような文字認識が可能か否かを判定し、
前記情報処理装置はさらに、前記文字認識制約手段による判定結果が否定であることに応答して、当該フィールドに対してエラーフラグを設定するためのフラグ設定手段を含む、請求項１〜請求項４のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関し、特に、帳票画像を処理する技術に関する。
【背景技術】
【０００２】
従来、帳票を処理する情報処理装置が知られている。こうした情報処理装置は、紙の帳票をスキャナ等の画像読取装置で読取り、読取った画像をＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ：光学文字認識）処理することでテキスト情報を得る。帳票は、通常、文字、数字等を記入する記入欄であるフィールドを含む。ＯＣＲ処理では、フィールドに記入された値が文字認識される。ＯＣＲ処理によって文字認識されたデータ値は、構造化データの形で外部システム等に出力される。
【０００３】
また従来、帳票画像の特徴点を抽出することによって帳票のフォーマットを推定し、帳票内のフィールドを特定する技術も知られている。この技術では、フィールドを特定することにより、特定したフィールドに対してＯＣＲ処理が行なわれる。そのため、帳票画像の全体に対してＯＣＲ処理を行なう場合に比べて、ＯＣＲ処理の時間が短縮される。
【０００４】
後掲の特許文献１には、こうした情報処理装置の一種であるデータエントリシステムが開示されている。このデータエントリシステムは、帳票画像をＯＣＲ処理し、その結果を利用してデータエントリのための入力フォーマットを作成する。ＯＣＲ処理では、予め設定された属性（文字又はイメージの種別）に基づいて各フィールドのデータが文字、数字に変換され、変換された文字又は数字からフィールドの文字属性（文字種、文字数）が読取られる。ＯＣＲ処理の結果は入力フォーマット作成プログラムに入力される。入力フォーマット作成プログラムは、入力されたＯＣＲ処理の結果に基づいて、自動的に入力フォーマットのフィールドを作成し、作成したフィールドに対して属性を設定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１５０２１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記した従来の技術では、ＯＣＲ処理を行なう領域の特定は可能である。しかし、特定した領域に対してＯＣＲ処理を行なったとしても、ＯＣＲ処理による文字認識の精度を向上させることは困難である。そのため、例えばメールアドレス欄に対する文字認識の結果が、メールアドレスとして使用できないような文字列となるおそれがある。すなわち、フィールドに記入された値を文字認識した結果に、妥当でない認識結果が含まれるおそれがある。こうした場合、ユーザによる修正が必要となるため手間がかかる。そこで、各フィールド値の制約条件として、さまざまなデータ型をあらかじめ指定し、その条件のもとで文字認識を行うことで、認識精度を高める方策が考えられる。しかし、各フォーマットに対するデータ型を事前に詳細に設定することもまた手間がかかる。
【０００７】
特許文献１に開示のデータエントリシステムでは、属性設定に基づいて各フィールドのデータが文字、数字に変換される。しかし、特許文献１において設定される属性は文字又はイメージの種別であるため、こうした属性設定に基づいてＯＣＲ処理を行なったとしても文字認識の精度を向上させる効果は大きくない。特許文献１では、属性設定は事前に行なわれる必要があり、この手間を軽減するには至っていない。そのため、特許文献１に開示の技術を用いても、上記した従来の技術の問題は解決できない。
【０００８】
本発明は、上記のような課題を解決するためになされたものであり、本発明の１つの目的は、フィールドのデータ型を学習機能により半自動的に設定可能とすることで、より詳細なＯＣＲ制約条件を容易に課すことができ、これによって、文字認識の精度を向上させることが可能な情報処理装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明の一の局面に係る情報処理装置は、帳票内のフィールドに記入された値を文字認識して出力する情報処理装置である。この情報処理装置は、サンプル帳票のフォーマット情報、当該サンプル帳票のフィールドに記入されたデータ値、及び当該データ値に基づいて生成された当該フィールドの記入上の制約条件を互いに関連付けて記憶するための記憶手段と、帳票画像を入力するための帳票入力手段と、帳票入力手段を介して帳票画像が入力されたことに応答して、当該帳票画像に対応するフォーマット情報及び制約条件を記憶手段から読出し、読出したフォーマット情報により特定されたフィールドにおける帳票画像の記入値を当該フィールドの制約条件の範囲内で文字認識するための文字認識制約手段と、文字認識制約手段により文字認識されたデータ値を出力するためのデータ出力手段とを含む。
【００１０】
記憶手段には、サンプル帳票のフォーマット情報、当該サンプル帳票のフィールドに記入されたデータ値、及び当該データ値に基づいて生成された当該フィールドの記入上の制約条件が互いに関連付けて記憶されている。帳票画像が入力されると、文字認識制約手段が、当該帳票画像に対応するフォーマット情報及び制約情報を記憶手段から読出し、読出したフォーマット情報により特定されたフィールドの記入値を対応する制約条件の範囲内で文字認識する。文字認識されたデータ値はデータ出力手段によって出力される。
【００１１】
入力された帳票画像のフィールドの記入値に対し、当該制約条件の範囲内で文字認識が行なわれるため、文字認識の精度が向上する。例えば、特定されたフィールドの制約条件がメールアドレス型である場合、当該記入値がメールアドレスで使用される文字種の範囲で文字認識される。文字認識において、想定される文字種から大きく乖離する文字が入力された場合、無効な文字として扱われる。そのため、メールアドレスとして使用できないような文字列として文字認識されるのを抑制できる。すなわち、フィールドに記入された値を文字認識した結果に、妥当でない認識結果が含まれるのを抑制できる。これにより、認識結果を修正する手間を低減できる。
【００１２】
好ましくは、情報処理装置はさらに、記入済みのサンプル帳票画像を入力するためのサンプル帳票入力手段と、サンプル帳票入力手段を介して記入済みのサンプル帳票画像が入力されたことに応答して、当該記入済みのサンプル帳票画像に対応するフォーマット情報を記憶手段から読出し、読出したフォーマット情報に基づいて、入力された当該サンプル帳票画像のフィールドに記入された値を文字認識するための文字認識手段と、文字認識手段により認識されたデータ値を対応するフィールドの有効値として記憶手段に記憶し、当該有効値に基づいて、記憶手段に記憶されている制約条件を更新するための制約条件更新手段を含む。
【００１３】
より好ましくは、情報処理装置はさらに、文字認識手段により認識されたデータ値を含むリストを制約条件として生成するためのリスト生成手段を含み、制約条件更新手段は、文字認識手段により認識されたデータ値をリストに追加することにより、制約条件を更新するためのリスト更新手段を含み、文字認識制約手段は、帳票入力手段を介して帳票画像が入力されたことに応答して、当該帳票画像に対応するフォーマット情報及び制約条件を記憶手段から読出し、読出したフォーマット情報に基づいて特定された所定のフィールドにおける帳票画像の記入値がリストに含まれるか否かに基づいて、当該フィールドの記入上の制約条件を満たすことを検証するためのリスト検証手段と、リスト検証手段の検証結果に応じて、入力された帳票画像のフィールドの記入値を、リストに含まれるデータ値の範囲内で文字認識するための認識手段と、を含む。
【００１４】
さらに好ましくは、情報処理装置はさらに、記入済みのサンプル帳票画像を入力するためのサンプル帳票入力手段と、サンプル帳票入力手段を介して記入済みのサンプル帳票画像が入力されたことに応答して、当該記入済みのサンプル帳票画像に対応するフォーマット情報を記憶手段から読出し、読出したフォーマット情報に基づいて、入力された当該サンプル帳票画像のフィールドに記入された値を文字認識するための文字認識手段と、文字認識制約手段により認識されたデータ値、及び文字認識手段により認識されたデータ値を対応するフィールドの有効値として記憶手段に蓄積するためのデータ蓄積手段と、データ蓄積手段により蓄積されたフィールドの有効値の集合からこれら有効値を許容する書式の制約条件を推定することにより、当該フィールドの記入上の制約条件を生成するための制約条件生成手段とを含む。
【００１５】
さらに好ましくは、文字認識制約手段はさらに、入力された帳票画像のフィールドの記入値に対して当該フィールドの制約条件を満たすような文字認識が可能か否かを判定し、情報処理装置はさらに、文字認識制約手段による判定結果が否定であることに応答して、当該フィールドに対してエラーフラグを設定するためのフラグ設定手段を含む。
【発明の効果】
【００１６】
以上より、本発明によれば、フィールドのデータ型を学習機能により半自動的に設定可能とすることで、より詳細なＯＣＲ制約条件を容易に課すことができ、これによって、文字認識の精度を向上させることが可能な情報処理装置を得ることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施の形態に係る帳票処理システムの全体構成を示す図である。
【図２】図１に示す情報処理装置のハードウェア構成を示す制御ブロック図である。
【図３】図２に示すＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）の構成を示す図である。
【図４】図１に示す画像処理装置のハードウェア構成を示す制御ブロック図である。
【図５】図１に示す画像処理装置の操作パネルに表示される帳票フォーマット登録画面例を示す図である。
【図６】図１に示す画像処理装置の操作パネルに表示されるモード設定画面例を示す図である。
【図７】図１に示す情報処理装置の機能的構成を示すブロック図である。
【図８】フォーマットモデルのデータ構造を示す図である。
【図９】出力データセットのデータ構造を示す図である。
【図１０】図１に示す情報処理装置で実行されるプログラムの制御構造を示すフローチャートである。
【図１１】図１０のステップＳ１０１０の詳細なフローである。
【図１２】図１０のステップＳ１０２０の詳細なフローである。
【図１３】図１２のステップＳ１２３４の詳細なフローである。
【図１４】図１０のステップＳ１０３０の詳細なフローである。
【図１５】図１４のステップＳ１４３４の詳細なフローである。
【図１６】サンプル帳票の例を示す図である。
【図１７】記入済みのサンプル帳票の例を示す図である。
【図１８】本発明の第３の実施の形態に係る情報処理装置の機能的構成を示すブロック図である。
【図１９】本発明の第４の実施の形態に係る画像処理装置のハードウェア構成を示す制御ブロック図である。
【図２０】図１９に示す記憶装置の構成を示す図である。
【発明を実施するための形態】
【００１８】
以下の実施の形態では、同一の部品には同一の参照番号を付してある。それらの機能及び名称も同一である。したがって、それらについての詳細な説明は繰返さない。
【００１９】
（第１の実施の形態）
［全体システム構成］
図１を参照して、本実施の形態に係る帳票処理システム５０は、勤怠管理表、注文票、日報、及びアンケートシート等の種々の帳票画像を処理する情報処理装置１００と、紙の帳票の画像を読取り、読取った帳票画像のデータ（以下「帳票画像データ」と呼ぶ。）を情報処理装置１００に送信する画像処理装置２００とを含む。情報処理装置１００はサーバ装置であり、画像処理装置２００から送信された帳票画像データを受信することにより帳票画像を自装置に入力する。画像処理装置２００は、スキャン送信モード、スキャナモード、コピーモード、及びプリンタモード等の複数の動作モードを備える複合機（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：ＭＦＰ）である。情報処理装置１００及び画像処理装置２００は、ネットワーク６０を介して互いに通信可能に接続されている。帳票処理システム５０を構成する画像処理装置の台数は複数台であってもよい。
【００２０】
帳票処理システム５０が処理する帳票は、１以上の記入項目（以下、単に「項目」と呼ぶ場合がある。）及び個々の項目に対応するフィールド（記入欄）を含む文書である。帳票上の各フィールドの近傍には、当該フィールド及び当該フィールドの記入値がどの項目に対応するのかを示す項目名が印刷されている。帳票のフィールドには、手書き、タイプ打ち、又はパーソナルコンピュータ上のアプリケーション経由での印刷等により値が記入される。
【００２１】
画像処理装置２００は、帳票の画像を読取る画像読取機能を持つ。帳票の処理時には、画像処理装置２００は、主としてスキャン送信モードで動作する。スキャン送信モードでは、画像処理装置２００は、帳票の画像を読取り、読取った帳票画像データを、ネットワーク６０を介して情報処理装置１００に送信する。
【００２２】
情報処理装置１００は、帳票画像データを受信することにより入力された帳票画像に対して、ＯＣＲ処理を実行するＯＣＲ機能を持つ。情報処理装置１００はさらに、サンプルとなる帳票（以下「サンプル帳票」と呼ぶ場合がある。）の認識結果のデータを蓄積するデータベースを含む。サンプル帳票の認識結果のデータは、サンプル帳票のフォーマット（フォーマットの特徴情報）、当該サンプル帳票のフォーマット名、当該サンプル帳票のフィールドに記入されたデータ値、及び当該データ値に基づいて生成された当該フィールドの記入上の制約条件を互いに関連付けてモデル化されたフォーマットモデルを含む。データベースには、このようなフォーマットモデルが予め登録されている。制約条件は、制約情報としてデータベースに登録されている。この制約情報は、各フィールドが取得るデータ型（例えば、文字列、整数、日付、住所、電話番号、メールアドレス等）、及び、サンプル帳票のフィールドに記入されたデータ値をフィールド単位で記録したリストを含む。
【００２３】
記入済みの帳票画像が情報処理装置１００に入力されると、当該情報処理装置１００は、当該帳票画像の特徴点を利用したパターン認識処理を行なう。情報処理装置１００は、データベースに登録されているフォーマット情報の中から、入力された帳票画像に対応するフォーマットを推定し、そのフォーマットに関連付けられた各フィールドの制約条件（制約情報）を読出す。情報処理装置１００はさらに、読出したフォーマット情報に基づいて、入力された帳票画像のフィールド出現場所を特定する。情報処理装置１００は、特定したフィールドに対してＯＣＲ処理を実行し、制約条件の範囲内で当該フィールドの記入値を文字認識する。ＯＣＲ処理により認識されたデータ値（文字又は文字列）は、内部の記憶装置に出力され、当該記憶装置に保存される。以下では、ＯＣＲ処理（文字認識処理）により得られた文字、整数、日付等の文字の列を文字列と総称する。
【００２４】
データベースに登録されたサンプル帳票の認識結果のデータは、情報処理装置１００に入力されたサンプル帳票画像を当該情報処理装置１００が認識することによって生成される。本実施の形態では、サンプル帳票のフォーマットの登録時、並びに、サンプル帳票のフィールドに記入されたデータ値及び当該フィールドの制約条件の登録時のそれぞれにおいて、画像処理装置２００から情報処理装置１００にサンプル帳票画像が送信される。すなわち、サンプル帳票のフォーマットが情報処理装置１００のデータベースに登録された後に、各フィールドに有効な値が記入された記入済みのサンプル帳票画像が別途、情報処理装置１００に入力されることにより、サンプル帳票のフィールドに記入されたデータ値及び当該フィールドの制約条件がデータベースに登録される。記入済みのサンプル帳票で用いられる文字は、文字認識に適しているのが好ましい。
【００２５】
より詳細には、サンプル帳票画像の入力によるフォーマットの登録後に、別途、記入済みのサンプル帳票画像が情報処理装置１００に入力されると、当該情報処理装置１００は、データベースに登録されているフォーマットの中から、入力された記入済みのサンプル帳票画像に対応するフォーマット情報を読出す。情報処理装置１００は、読出したフォーマット情報に基づいて、入力されたサンプル帳票画像のフィールドの配置領域を特定し、特定したフィールドに対してＯＣＲ処理を実行することにより当該フィールドの記入値を文字認識する。文字認識により得られたデータ値は当該フィールドの有効な値としてデータベースに登録され、登録されたデータ値の特徴に基づいて、当該フィールドの制約条件が生成される。制約条件の生成では推定を行ってもよく、あらかじめ登録済みのデータ型（例えば日付、金額、電話番号）の特徴に入力データ値の多くが一致する場合、当該フィールドの制約条件を特定のデータ型として扱う。生成された制約条件は、サンプル帳票のフォーマット等と関連付けられてデータベースに登録される。複数の記入済みのサンプル帳票画像が情報処理装置１００に入力されると、各フィールドのデータ値が有効な値としてフォーマットモデルに蓄積されて、各フィールドの記入上の制約条件が更新される。このようにして、情報処理装置１００は、帳票画像の各フィールドの制約条件を学習する。なお、記入済みのサンプル帳票は、全てのフィールドに値が記入されているのが好ましい。ただし、記入済みのサンプル帳票は、一部のフィールドに値が記入されていない帳票であってもよい。
【００２６】
［ハードウェア構成］
《情報処理装置１００》
図２を参照して、帳票処理システム５０を構成する情報処理装置１００は、制御部１１０、光ディスクドライブ１２０、入力インターフェイス（以下「インターフェイス」を「Ｉ／Ｆ」と呼ぶ。）１３０、ディスプレイＩ／Ｆ１４０、及びネットワークＩ／Ｆ１５０を含む。
【００２７】
制御部１１０は、実質的にコンピュータであって、情報処理装置１００全体を制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１２、プログラム等を記憶するためのＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１４、揮発性の記憶装置であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１６、及び通電が遮断された場合にもデータを保持する不揮発性記憶装置であるＨＤＤ１１８を含む。ＣＰＵ１１２にはバス１６０が接続されており、このバス１６０には、ＲＯＭ１１４、ＲＡＭ１１６及びＨＤＤ１１８が電気的に接続される。
【００２８】
バス１６０にはさらに、光ディスクドライブ１２０、入力Ｉ／Ｆ１３０、ディスプレイＩ／Ｆ１４０、及びネットワークＩ／Ｆ１５０が接続されている。各部間のデータ（制御情報を含む）交換は、バス１６０を介して行なわれる。
【００２９】
光ディスクドライブ１２０は、光ディスク１２２が装着可能であって、光ディスク１２２に対する情報の書込及び光ディスク１２２からの情報の読出を行なう。入力Ｉ／Ｆ１３０は、マウス１３２及びキーボード１３４との間の接続に関するインターフェイスを提供する。ディスプレイＩ／Ｆ１４０は、ディスプレイ１４２との間の接続に関するインターフェイスを提供する。ネットワークＩ／Ｆ１５０は、有線又は無線（本実施の形態においては有線）によりネットワーク６０への接続を提供する。ネットワークＩ／Ｆ１５０は、帳票画像データを受信することにより、受信した帳票画像データ（帳票画像（サンプル帳票画像を含む。））を情報処理装置１００に入力する。
【００３０】
ＲＯＭ１１４、ＲＡＭ１１６、ＨＤＤ１１８、光ディスクドライブ１２０、入力Ｉ／Ｆ１３０、ディスプレイＩ／Ｆ１４０及びネットワークＩ／Ｆ１５０は、いずれもＣＰＵ１１２の制御のもとに協調して動作し、情報処理装置１００において種々のコンピュータプログラムによる処理を実現する。それらコンピュータプログラムは、例えば、入力された帳票画像のフィールドの記入値を文字認識して出力する帳票処理等を実行する。ＨＤＤ１１８には、情報処理装置１００の一般的な動作等を実現するためのコンピュータプログラムとともに、帳票処理を実現するためのコンピュータプログラムが記憶される。
【００３１】
図３を参照して、ＨＤＤ１１８はさらに、サンプル帳票の認識結果のデータを蓄積する上記データベース１１８ａを含む。データベース１１８ａは、上記したフォーマットモデルを記憶するフォーマットモデル記憶部１１８ｂ、及び出力されたデータセット（ＯＣＲ処理により認識されたデータ値）を記憶する出力データセット記憶部１１８ｃを含む。ＨＤＤ１１８は、他に、帳票画像データ等の種々のデータを記憶する。
【００３２】
再び図２を参照して、情報処理装置１００に上述したような処理を行なわせるためのコンピュータプログラムは、光ディスクドライブ１２０に挿入される光ディスク１２２に記憶され、さらにＨＤＤ１１８に転送される。又は、プログラムはネットワーク６０を通じて情報処理装置１００に送信されＨＤＤ１１８に記載されてもよい。プログラムは実行の際にＲＡＭ１１６にロードされる。光ディスク１２２から、又はネットワーク６０を介して、直接にＲＡＭ１１６にプログラムをロードしてもよい。
【００３３】
これらのプログラムは、情報処理装置１００に所定の処理を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかは情報処理装置１００上で動作するオペレーティングシステム（ＯＳ）若しくはサードパーティのプログラム、又は情報処理装置１００にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のシステムを実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出すことにより、上記した情報処理装置１００として所定の処理を実行する命令のみを含んでいればよい。情報処理装置１００の実体であるコンピュータの一般的動作は周知であるので、ここでは繰返して説明しない。
【００３４】
《画像処理装置２００》
図４を参照して、帳票処理システム５０を構成する画像処理装置２００は、制御部２１０、操作ユニット２２０、画像読取部２３０、画像処理部２４０、画像形成部２５０、給紙部２６０、及びＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２７０を含む。
【００３５】
制御部２１０は、実質的にコンピュータであって、画像処理装置２００全体を制御するＣＰＵ２１２、プログラム等を記憶するためのＲＯＭ２１４、揮発性の記憶装置であるＲＡＭ２１６、及び記憶装置２１８を含む。ＣＰＵ２１２には、ＢＵＳライン２８０が接続されており、このＢＵＳライン２８０には、ＲＯＭ２１４、ＲＡＭ２１６及び記憶装置２１８が電気的に接続される。記憶装置２１８は、通電が遮断された場合にもデータを保持する不揮発性記憶装置であり、例えばハードディスクドライブ（ＨＤＤ）又はフラッシュメモリ等である。
【００３６】
ＣＰＵ２１２は、操作ユニット２２０等からの指示に応じて各種コンピュータプログラムを実行することによって、画像処理装置２００の各部の動作及び情報処理装置１００等の外部機器との通信等の所望の処理を実行する。上記の各種コンピュータプログラムは、予めＲＯＭ２１４又は記憶装置２１８に記憶されており、所望の処理の実行時において、当該ＲＯＭ２１４又は記憶装置２１８から読出されてＲＡＭ２１６に転送される。ＣＰＵ２１２は、ＣＰＵ２１２内の図示しないプログラムカウンタと呼ばれるレジスタに格納された値によって指定される、ＲＡＭ２１６内のアドレスからプログラムの命令を読出し、解釈する。ＣＰＵ２１２はまた、読出された命令によって指定されるアドレスから演算に必要なデータを読出し、そのデータに対し命令に対応する演算を実行する。実行の結果も、ＲＡＭ２１６、記憶装置２１８及びＣＰＵ２１２内のレジスタ等の、命令によって指定されるアドレスに格納される。
【００３７】
ＲＯＭ２１４又は記憶装置２１８には、画像処理装置２００の一般的な動作等を実現するためのコンピュータプログラムが記憶される。このコンピュータプログラムは、画像処理装置２００の製造時にＲＯＭ２１４又は記憶装置２１８に書込まれる。なお、このコンピュータプログラムは、ＮＩＣ２７０を介して、外部機器等から提供されてもよい。さらにこのコンピュータプログラムは、そのコンピュータプログラムが記録された、例えばＤＶＤ等の記憶媒体によって提供されてもよい。すなわち、例えばコンピュータプログラムの記録媒体としてのＤＶＤが、画像処理装置２００内に内蔵されるＤＶＤドライブ（図示せず。）に装着され、そのＤＶＤからコンピュータプログラムが読出されて記憶装置２１８にインストールされてもよい。記憶装置２１８は、他に、画像データ等の各種データを記憶する。
【００３８】
ＢＵＳライン２８０には、さらに、操作ユニット２２０、画像読取部２３０、画像処理部２４０、画像形成部２５０、給紙部２６０、及びＮＩＣ２７０が電気的に接続される。
【００３９】
操作ユニット２２０はユーザによる操作を受付ける。操作ユニット２２０は、入出力インターフェイス（図示せず。）を介して、ＣＰＵ２１２と通信を行なう。この操作ユニット２２０は、操作パネル２２２を含む。操作パネル２２２は、液晶パネル等で構成された表示パネルと、表示パネルの上に配置され、タッチされた位置を検出するタッチパネルとを含む。表示パネルは、画像処理装置２００の状態及び各種処理の状態に関する情報等の各種情報をユーザに提供する。この操作パネル２２２は、ユーザに対して対話的な操作インターフェイス（ＵＩ）を提供する。この対話的な操作インターフェイスは、タッチパネルから画像処理装置２００全体の動作に対するユーザの指示を受付け、その指示の内容を表示パネルに表示するとともに、その指示に応じた制御信号を制御部２１０等に対して出力する。
【００４０】
画像読取部２３０は、光源を含む原稿走査ユニット、反射ミラー、光学レンズ及びＣＣＤ（Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）ラインセンサ（以上いずれも図示せず。）を含む。原稿走査ユニットは、原稿載置台（図示せず。）上に載置された原稿の画像表面に対し光源から光を照射することによって反射光像を得る。反射ミラー及び光学レンズは、得られる反射光像をＣＣＤラインセンサ上に結像させる。ＣＣＤラインセンサは、結像した反射光像を順次光電変換して画像データとして画像処理部２４０に対して出力する。すなわち、画像読取部２３０は、原稿のコピー時又はスキャン時に、原稿載置台に載置される原稿から画像情報を読取り、読取った画像情報を電気信号に変換して画像データとして画像処理部２４０に対して出力する。
【００４１】
画像処理部２４０は、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、図示せず。）を含む。画像処理部２４０は、画像読取部２３０から入力される画像データに対して、例えば、ラスタライズ処理等の所定の画像処理を施して所定の階調の印刷データを作成する。印刷処理時には、画像処理部２４０は、作成した印刷データを画像形成部２５０に対して出力する。
【００４２】
画像形成部２５０は、印刷データによって示される画像をカラー又は単色で記録用紙に印刷する。給紙部２６０は、給紙トレイに収納された記録用紙を１枚ずつ引出して記録用紙を画像形成部２５０に供給する。ＮＩＣ２７０は、ネットワーク６０とのインターフェイスをとる。画像処理装置２００は、このＮＩＣ２７０を介して、ネットワーク６０上の情報処理装置１００等と、所定の通信プロトコルにしたがったデータ通信を行なうことができる。
【００４３】
画像処理装置２００はさらに、帳票画像を情報処理装置１００に提供する機能に加えて、帳票のフォーマットを情報処理装置１００のデータベース１１８ａ（図３参照）に登録する機能、及び、フィールドの制約条件を情報処理装置１００に学習させる機能を持つ。これらの機能は、いずれも、スキャン送信モードにおいて実行される。
【００４４】
図５を参照して、サンプル帳票のフォーマットの登録は、操作パネル２２２に表示される帳票フォーマット登録画面３００を操作することにより行なわれる。帳票フォーマット登録画面３００は、フォーマット名を入力する入力欄３０２、フォーマットを登録するための「登録」キー３０４、及びフォーマットの登録をキャンセルするための「キャンセル」キー３０６を含む。入力欄３０２にフォーマット名が入力された後に「登録」キー３０４が操作されると、セットされたサンプル帳票の画像が画像読取部２３０で読取られて、その帳票画像データが情報処理装置１００に送信される。送信される帳票画像データには、入力欄３０２に入力されたフォーマット名、及び、フォーマット登録を指示する指示情報が付加される。入力欄３０２に入力されたフォーマット名は、帳票画像データのファイル名に設定される構成であってもよい。
【００４５】
フィールドの制約条件を情報処理装置１００に学習させる機能は、各フィールドに有効な値が記入された記入済みのサンプル帳票画像を情報処理装置１００に提供する機能である。記入済みのサンプル帳票画像を情報処理装置１００に提供する機能は、帳票画像を情報処理装置１００に提供する機能と区別するために、学習モードにおいて実行される。学習モードの設定は、操作パネル２２２に表示されるモード設定画面３１０（図６参照）を操作することにより行なわれる。
【００４６】
図６を参照して、モード設定画面３１０は、学習モードを設定する際にチェックが入れられるチェックボックス３１２、設定を確定するための「ＯＫ」キー３１４、及び設定をキャンセルするための「キャンセル」キー３１６を含む。学習モードに設定された状態で記入済みのサンプル帳票の画像が画像読取部２３０で読取られると、読取られた帳票画像データが情報処理装置１００に送信される。送信される帳票画像データには、各フィールドの制約条件の学習（登録）を指示する指示情報が付加される。一方、学習モードが設定されていない記入済みの帳票の画像が画像読取部２３０で読取られた場合は、指示情報が付加されずに、読取られた帳票画像データが情報処理装置１００に送信される。
【００４７】
［機能的構成］
図７を参照して、情報処理装置１００の制御部１１０は、フォーマットモデルを記憶するフォーマットモデル記憶部１１８ｂに加えて、機能部として、フォーマット学習部１１０ａ、フォーマット判定部１１０ｂ、及びフィールド認識部１１０ｃを含む。フォーマット学習部１１０ａは、入力されたサンプル帳票画像に対して画像処理を行なうことにより、当該サンプル帳票画像からフォーマットの特徴情報を抽出する機能、及び、抽出した特徴情報を指定（入力）されたフォーマット名と関連付けてモデル化し、フォーマットモデル記憶部１１８ｂに登録する機能を持つ。特徴抽出処理の過程では、フィールドが存在すると推定される矩形領域が特定され、フィールド候補が列挙される。フォーマット学習部１１０ａはさらに、入力されたサンプル帳票画像に対してＯＣＲ処理を行なうことにより、フィールドの項目名候補を認識し、認識した項目名をフィールド候補の一つに割り当てることで、フォーマットモデルを構成するフィールド形式情報を構築してフォーマットモデル記憶部１１８ｂに登録する機能を持つ。
【００４８】
フォーマット判定部１１０ｂは、入力された帳票画像、又は入力された記入済みのサンプル帳票画像に対して画像処理（パターン処理）を行なうことにより、データベース１１８ａに登録されているフォーマットの中から、入力された帳票画像（サンプル帳票画像を含む）がどのフォーマットに対応するかを判定する機能を持つ。フィールド認識部１１０ｃは、フォーマット判定部１１０ｂによって判定されたフォーマット（特徴情報）をフォーマットモデル記憶部１１８ｂから読出し、読出したフォーマットに基づいて、各フィールドの位置及び大きさ等を特定する機能を持つ。このフィールド認識部１１０ｃは、入力される帳票画像が、サンプル帳票画像か否かによって異なる処理を実行する。記入済みのサンプル帳票画像が入力された場合、フィールド認識部１１０ｃは、当該サンプル帳票画像の各フィールドの記入値をＯＣＲ処理により文字認識し、文字認識により得たデータ値を対応するフォーマットモデルに有効な値として追加する。フィールド認識部１１０ｃはさらに、フォーマットモデルに含まれるデータ値に基づいて各フィールドの記入上の制約条件を生成し、生成した制約条件に基づいてフォーマットモデルを更新する。制約条件の生成では推定を行ってもよく、あらかじめ登録済みのデータ型（例えば日付、金額、電話番号）の特徴に入力データ値の多くが一致する場合、当該フィールドの制約条件を特定のデータ型として扱う。
【００４９】
一方、記入済みの帳票画像が入力された場合、フィールド認識部１１０ｃは、フォーマット判定部１１０ｂによって判定されたフォーマットと関連付けられた制約条件をフォーマットモデル記憶部１１８ｂから読出し、当該帳票画像の各フィールドの記入値が制約条件を満たすことを検証する。検証処理では、制約条件に応じてＯＣＲ処理の文字セットが制限され、制限された文字セットの下でＯＣＲ処理による文字認識が実行される。文字認識によって得られたデータ値は出力データセット３２０として出力される。
【００５０】
［データ構造］
図８を参照して、フォーマットモデル記憶部１１８ｂに蓄積される各フォーマットモデル３３０は、属性情報として、フォーマット名、フォーマットの特徴情報であるフォーマット特徴点３３２、及びフィールド毎の形式を示すフィールド形式情報３３４を含む。フォーマットモデル３３０は、フォーマット特徴点３３２、及びフィールド形式情報３３４を複数含む場合がある。
【００５１】
フォーマット特徴点３３２は、属性情報として、オブジェクト領域、及びオブジェクトタイプを含む。オブジェクト領域は、オブジェクトが配置される領域の情報であって、例えばフィールド等のオブジェクトの位置、大きさ等の情報を含む。フィールド形式情報３３４は、属性情報として、フィールド名、フィールド値領域、制約情報（制約条件）３３６、及びフィールド値履歴を含む。フィールド値履歴は、文字認識により得られたデータ値の履歴情報である。制約情報３３６は、推定フィールド型、及びリストを含む。推定フィールド型は、有効なデータ値の集合であるフィールド値履歴から推定された、当該フィールドが取得るデータ型である。リストは、フィールド値履歴に含まれるデータ値をリスト化したものであって、予め設定された項目に対応するフィールドに対して生成される制約情報である。フィールド形式情報３３４はさらに、操作情報として、フィールド型推定を含む。
【００５２】
図９を参照して、フィールド認識部１１０ｃによって出力される出力データセット３２０は、属性情報として、入力された帳票画像のフォーマット名、及び各フィールドのフィールド情報３２２を含む。出力データセット３２０は、フィールド情報３２２を複数含む場合がある。フィールド情報３２２は、属性情報として、フィールド名、及び、当該フィールドのデータ値であるフィールド値を含む。
【００５３】
［ソフトウェア構成］
図１０を参照して、帳票処理を行なうために、情報処理装置１００で実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、画像処理装置２００から送信される帳票画像データを受信したことに応じて開始する。
【００５４】
このプログラムは、受信した帳票画像データに指示情報が付加されているか否か、又は、どういった内容の指示情報が付加されているかに応じて、実行する処理を判定するステップＳ１０００と、ステップＳ１０００において、実行する処理が帳票のフォーマットを登録する処理であると判定された場合に実行され、フォーマット登録処理を実行するステップＳ１０１０と、ステップＳ１０００において、実行する処理が制約条件の学習であると判定された場合に実行され、制約条件の学習処理を実行するステップＳ１０２０と、ステップＳ１０００において、実行する処理が帳票画像の処理であると判定された場合に実行され、帳票処理を実行するステップＳ１０３０とを含む。ステップＳ１０１０、ステップＳ１０２０、又はステップＳ１０３０の処理が終了すると、このプログラムは終了する。
【００５５】
図１１は、図１０のステップＳ１０１０の詳細なフローである。図１１を参照して、このルーチンは、受信した帳票画像データ（サンプル帳票画像）、及び当該帳票画像データに付加されているフォーマット名をフォーマット学習部１１０ａに入力するステップＳ１１００と、ステップＳ１１００の後に実行され、フォーマット学習部１１０ａにおいて、入力されたサンプル帳票画像からフォーマットの特徴情報を抽出し、抽出した特徴情報を入力されたフォーマット名と関連付けてモデル化するステップＳ１１１０と、ステップＳ１１１０の後に実行され、フォーマットの特徴情報をフォーマット名とともにフォーマットモデル記憶部１１８ｂに記憶（登録）するステップＳ１１２０とを含む。ステップＳ１１２０の処理が終了すると、このルーチンは終了する。
【００５６】
図１２は、図１０のステップＳ１０２０の詳細なフローである。図１２を参照して、このルーチンは、受信した帳票画像データ（記入済みのサンプル帳票画像）をフォーマット判定部１１０ｂに入力するステップＳ１２００と、ステップＳ１２００の後に実行され、フォーマット判定部１１０ｂにおいて、入力された記入済みのサンプル帳票画像に対して画像処理（パターン処理）を行なうことにより、当該サンプル帳票画像がデータベース１１８ａに登録されているフォーマットの中のいずれのフォーマットに対応するかを判定するステップＳ１２１０と、ステップＳ１２１０の後に実行され、判定されたフォーマット（特徴情報）をフォーマットモデル記憶部１１８ｂから読出し、読出したフォーマットに基づいて、入力されたサンプル帳票画像の各フィールドを特定するステップＳ１２２０と、ステップＳ１２２０の後に実行され、フィールド認識部１１０ｃにおいて、以下に説明するステップＳ１２３２〜ステップＳ１２３８を、特定されたフィールドのそれぞれについて、全てのフィールドに対する処理が終了するまで繰返すステップＳ１２３０と、ステップＳ１２３０の後に実行され、次のサンプル帳票画像があるか否かを判定し、判定結果に応じて制御の流れを分岐させるステップＳ１２４０とを含む。ステップＳ１２４０において、次のサンプル帳票画像があると判定された場合は、制御はステップＳ１２１０に戻る。ステップＳ１２４０において、次の帳票画像がないと判定された場合は、このルーチンは終了する。
【００５７】
ステップＳ１２３０において、特定されたフィールドのそれぞれについて全てのフィールドに対する処理が終了するまで繰返される処理は、特定されたフィールドに対してＯＣＲ処理を行なうことにより、当該フィールドの記入値を文字認識するステップＳ１２３２と、ステップＳ１２３２の後に実行され、文字認識により得られたデータ値（認識文字）を記憶するステップＳ１２３４と、ステップＳ１２３４の後に実行され、文字認識により得られたデータ値に基づいて、フィールドのデータ型を推定するステップＳ１２３６と、ステップＳ１２３６の後に実行され、推定したデータ型に基づいて、制約条件（推定フィールド型）を更新するステップＳ１２３８とを含む。ステップＳ１２３６では、フィールド値履歴に蓄積された有効値（データ値）の集合から、これらの有効値を許容するデータ型（書式の制約条件）を推定する。
【００５８】
図１３は、図１２のステップＳ１２３４の詳細なフローである。図１３を参照して、このルーチンは、当該フィールドが、リストを作成するよう予め設定された項目に対応するフィールドであるか否かを判定し、判定結果に応じて制御の流れを分岐させるステップＳ１３００と、ステップＳ１３００において、リストを作成する項目に対応するフィールドであると判定された場合に実行され、文字認識により得られた文字列をリストに記録するステップＳ１３１０と、ステップＳ１３１０の後、又は、ステップＳ１３００において、当該フィールドがリストを作成する項目に対応するフィールドではないと判定された場合に実行され、文字認識により得られたデータ値（文字列）をフィールド値履歴に追加するステップＳ１３２０とを含む。ステップＳ１３２０の処理が終了すると、このルーチンは終了する。ステップＳ１３２０では、文字認識により得られた各フィールドのデータ値が有効値としてフィールド値履歴に蓄積される。
【００５９】
図１４は、図１０のステップＳ１０３０の詳細なフローである。図１４を参照して、このルーチンは、受信した帳票画像データ（帳票画像）をフォーマット判定部１１０ｂに入力するステップＳ１４００と、ステップＳ１４００の後に実行され、フォーマット判定部１１０ｂにおいて、入力された帳票画像に対して画像処理（パターン処理）を行なうことにより、当該帳票画像がデータベース１１８ａに登録されているフォーマットの中のいずれのフォーマットに対応するかを判定するステップＳ１４１０と、ステップＳ１４１０の後に実行され、判定されたフォーマット（特徴情報）及び当該フォーマットに関連付けられた制約条件をフォーマットモデル記憶部１１８ｂから読出し、読出したフォーマットに基づいて、入力された帳票画像の各フィールドを特定するステップＳ１４２０と、ステップＳ１４２０の後に実行され、フィールド認識部１１０ｃにおいて、以下に説明するステップＳ１４３２〜ステップＳ１４３６を、特定されたフィールドのそれぞれについて、全てのフィールドに対する処理が終了するまで繰返すステップＳ１４３０と、ステップＳ１４３０の後に実行され、次の帳票画像があるか否かを判定し、判定結果に応じて制御の流れを分岐させるステップＳ１４４０とを含む。ステップＳ１４４０において、次の帳票画像があると判定された場合は、制御はステップＳ１４１０に戻る。ステップＳ１４４０において、次の帳票画像がないと判定された場合は、このルーチンは終了する。
【００６０】
ステップＳ１４３０において、特定されたフィールドのそれぞれについて全てのフィールドに対する処理が終了するまで繰返される処理は、特定されたフィールドの制約条件を確認するステップＳ１４３２と、ステップＳ１４３２の後に実行され、制約条件に基づいて、ＯＣＲ処理を実行するステップＳ１４３４と、ステップＳ１４３４の後に実行され、ＯＣＲ処理によって得られたデータ値を含む出力データセット３２０（図９参照）をデータベース１１８ａ（出力データセット記憶部１１８ｃ）に出力するステップＳ１４３６とを含む。
【００６１】
図１５は、図１４のステップＳ１４３４の詳細なフローである。図１５を参照して、このルーチンは、フィールドの記入値が制約条件を満たすか否かを判定し、判定結果に応じて制御の流れを分岐させるステップＳ１５００と、ステップＳ１５００において、フィールドの記入値が制約条件を満たすと判定された場合に実行され、当該フィールドに対してＯＣＲ処理を実行し、制約条件に基づいて、すなわち制約条件の範囲内で当該フィールドの記入値を文字認識するステップＳ１５１０と、ステップＳ１５００において、フィールドの記入値が制約条件を満たさないと判定された場合に実行され、当該フィールドに対してエラーフラグを設定するステップＳ１５２０とを含む。ステップＳ１５１０又はステップＳ１５２０の処理が終了すると、このルーチンは終了する。
【００６２】
［動作］
本実施の形態に係る帳票処理システム５０は以下のように動作する。
【００６３】
《フォーマットの登録動作》
例えば、図１６に示すような帳票（サンプル帳票３５０）のフォーマットを情報処理装置１００に登録するものとする。図１６を参照して、サンプル帳票３５０は、紙の帳票であって、複数の記入項目、及び個々の記入項目に対応する複数のフィールドを含む。複数のフィールドは、「日付」項目に対応するフィールド３５２、「担当者」項目に対応するフィールド３５４、「住所」項目に対応するフィールド３５６、「電話番号」項目に対応するフィールド３５８、「メールアドレス」項目に対応するフィールド３６０、「商品コード」項目に対応するフィールド３６２、「商品名」項目に対応するフィールド３６４、「単価」項目に対応するフィールド３６６、「数量」項目に対応するフィールド３６８、及び「合計」項目に対応するフィールド３７０を含む。各フィールドの近傍には、当該フィールドがどの項目に対応するのかを示す項目名（「日付」、「担当者」、「住所」、「ＴＥＬ」、「ｅ−ｍａｉｌ」、「商品コード」、「商品名」、「単価」、「数量」及び「合計」）が印刷されている。
【００６４】
サンプル帳票３５０は画像処理装置２００にセットされる。画像処理装置２００の操作パネル２２２には図５に示される帳票フォーマット登録画面３００が表示される。ユーザによって、帳票フォーマット登録画面３００の入力欄３０２にフォーマット名が入力され、「登録」キー３０４が操作される。画像処理装置２００は、セットされたサンプル帳票３５０の画像を画像読取部２３０で読取り、読取った帳票画像データを情報処理装置１００に送信する。送信される帳票画像データには、入力されたフォーマット名、及びフォーマット登録を指示する指示情報が付加される。
【００６５】
情報処理装置１００は、画像処理装置２００から送信された帳票画像データを受信すると、受信した帳票画像データに付加されている指示情報にしたがってフォーマット登録処理を実行する（図１０に示すステップＳ１０１０）。
【００６６】
具体的には、情報処理装置１００は、まず、帳票画像データが示すサンプル帳票画像、及び当該帳票画像データに付加されているフォーマット名をフォーマット学習部１１０ａに入力する（図１１に示すステップＳ１１００）。フォーマット学習部１１０ａは、入力されたサンプル帳票画像からフォーマットの特徴情報（フォーマット特徴点）を抽出し、抽出した特徴情報を入力されたフォーマット名と関連付けてモデル化する（ステップＳ１１１０）。この際、フォーマット学習部１１０ａは、入力されたサンプル帳票画像に対してＯＣＲ処理を行なうことにより、各フィールドの項目名を認識し、認識した項目名をフィールド名として、特徴情報及びフォーマット名とともにモデル化する。フォーマット学習部１１０ａはさらに、モデル化されたフォーマットモデルをフォーマットモデル記憶部１１８ｂに登録する（ステップＳ１１２０）。
【００６７】
《制約条件の学習動作》
図１７を参照して、サンプル帳票３５０と同じフォーマットの帳票であって、各フィールドに有効な値が記入された記入済みのサンプル帳票３８０が複数枚予め用意されているものとする。これら記入済みのサンプル帳票３８０は、画像処理装置２００にセットされる。モード設定画面３１０（図６参照）のチェックボックス３１２はチェックが入れられた状態となっている。すなわち、画像処理装置２００は学習モードに設定されている。情報処理装置１００には、例えば「担当者」の項目がリストを作成する項目として予め設定されているものとする。
【００６８】
画像処理装置２００は、セットされたサンプル帳票３８０の画像を画像読取部２３０で読取り、読取った帳票画像データを情報処理装置１００に送信する。送信される帳票画像データには、制約条件の学習を指示する指示情報が付加される。情報処理装置１００は、画像処理装置２００から送信された帳票画像データを受信すると、受信した帳票画像データに付加されている指示情報にしたがって制約条件の学習処理を実行する（図１０に示すステップＳ１０２０）。
【００６９】
具体的には、情報処理装置１００は、まず、帳票画像データが示す記入済みのサンプル帳票画像をフォーマット判定部１１０ｂに入力する（ステップＳ１２００）。フォーマット判定部１１０ｂは、入力された記入済みのサンプル帳票画像に対して画像処理（パターン処理）を行ない、当該サンプル帳票画像がデータベース１１８ａに登録されているフォーマットの中のいずれのフォーマットに対応するかを判定する（ステップＳ１２１０）。フォーマット判定部１１０ｂはさらに、判定したフォーマット（特徴情報）をフォーマットモデル記憶部１１８ｂから読出し、読出したフォーマットに基づいて、入力されたサンプル帳票画像の各フィールドを特定する（ステップＳ１２２０）。サンプル帳票画像の各フィールドを特定すると、フィールド認識部１１０ｃが、特定された各フィールドに対してＯＣＲ処理を行なうことにより、当該各フィールドの記入値を文字認識する（ステップＳ１２３２）。
【００７０】
フィールド認識部１１０ｃは、ＯＣＲ処理を行なったフィールドが、リストを作成するよう設定された項目に対応するフィールドであるか否かを判定する。ＯＣＲ処理を行なったフィールドがリストを作成するよう設定された項目に対応するフィールドである場合（図１３に示すステップＳ１３００においてＹＥＳ）、フィールド認識部１１０ｃは、文字認識により得られたデータ値をリストに記録する（ステップＳ１３１０）。例えば、ＯＣＲ処理を行なったフィールドが「担当者」項目に対応するフィールドである場合、フィールド認識部１１０ｃは、担当者リストを作成して、文字認識により得られた文字列（「山田太郎」）を担当者リストに記録する。文字認識により得られたデータ値はまた、有効値としてフィールド値履歴に蓄積される（ステップＳ１３２０）。一方、ＯＣＲ処理を行なったフィールドがリストを作成するよう設定された項目に対応するフィールドではない場合（ステップＳ１３００においてＮＯ）、フィールド認識部１１０ｃは、文字認識により得られたデータ値を有効値としてフィールド値履歴に蓄積する（ステップＳ１３２０）。
【００７１】
フィールド認識部１１０ｃは、フィールド値履歴に蓄積された有効値の集合から、これら有効値を許容するデータ型をフィールド毎に推定する（図１２に示すステップＳ１２３６）。図１７を参照して、サンプル帳票３８０の「日付」項目のフィールド３５２は、有効値の集合から日付型と推定され、「担当者」項目のフィールド３５４及び「住所」項目のフィールド３５６は例えばテキスト（文字列）型と推定され、「電話」項目のフィールド３５８は例えば数値型と推定される。さらに「メールアドレス」項目のフィールド３６０はメールアドレス型と推定される。さらに「商品コード」項目のフィールド３６２は例えば英数字型と推定され、「商品名」項目のフィールド３６４は例えばテキスト型と推定される。「単価」項目のフィールド３６６及び「合計」項目のフィールド３７０は例えば通貨型と推定され、「数量」項目のフィールド３６８は例えば数値型又は整数型と推定される。こうして各フィールドのデータ型が推定されると、推定されたデータ型に基づいて、各フィールドの制約条件（推定フィールド型）が更新される（ステップＳ１２３８）。このように、情報処理装置１００は、有効な値が記入された記入済みのサンプル帳票画像を認識することによりフォーマットモデルを更新する。これにより、情報処理装置１００は、帳票画像の各フィールドの制約条件を学習する。
【００７２】
《帳票画像の文字認識動作》
上記したフォーマットの登録動作及び制約条件の学習動作により、情報処理装置１００のデータベース１１８ａ（フォーマットモデル記憶部１１８ｂ）には複数のフォーマットモデル（図８参照）が予め登録されているものとする。例えば、図１６に示す帳票と同じフォーマットの帳票を処理する場合を考える。帳票の各フィールドには文字等の値が記入されている。記入済みの紙の帳票は、画像処理装置２００にセットされる。モード設定画面３１０（図６参照）のチェックボックス３１２は、チェックが外された状態となっている。すなわち、画像処理装置２００は学習モードが解除されている。
【００７３】
画像処理装置２００は、セットされた帳票の画像を画像読取部２３０で読取り、読取った帳票画像データを情報処理装置１００に送信する。この場合、送信される帳票画像データには指示情報は付加されない。情報処理装置１００は、画像処理装置２００から送信された帳票画像データを受信すると、受信した帳票画像データに指示情報が付加されていないことから、実行する処理は帳票画像の処理であると判定する。この判定結果に基づいて、情報処理装置１００は帳票処理を実行する（図１０に示すステップＳ１０３０）。
【００７４】
具体的には、情報処理装置１００は、まず、記入済みの帳票画像をフォーマット判定部１１０ｂに入力する（図１４に示すステップＳ１４００）。フォーマット判定部１１０ｂは、入力された記入済みの帳票画像に対して画像処理（パターン処理）を行ない、当該帳票画像がデータベース１１８ａに登録されているフォーマットの中のいずれのフォーマットに対応するかを判定する（ステップＳ１４１０）。フォーマット判定部１１０ｂはさらに、判定したフォーマット（特徴情報）及び当該フォーマットと関連付けられた制約条件（制約情報３３６）をフォーマットモデル記憶部１１８ｂから読出し、読出したフォーマットに基づいて、入力された帳票画像の各フィールドを特定する（ステップＳ１４２０）。
【００７５】
帳票画像の各フィールドを特定すると、フィールド認識部１１０ｃは、フィールドの記入値が対応する制約条件に応じて、当該フィールドに対して文字セットを限定したＯＣＲ処理を実行し、制約条件の範囲内でそのフィールドの記入値を文字認識する（ステップＳ１５１０）。例えば、「メールアドレス」項目のフィールドの記入値に対しては、メールアドレス型のデータ型にしたがって、当該フィールドの記入値が文字認識される。さらに例えば、「担当者」項目のフィールドの記入値（担当者名）に対しては、担当者リストの該当する担当者名のいずれかにのみ合致する条件で、当該フィールドの記入値（文字列）が文字認識される。一方、フィールド認識部１１０ｃは、フィールドの記入値が制約条件を満たさないと判定すると（図１５に示すステップＳ１５００においてＮＯ）、当該フィールドに対してエラーフラグを設定する（ステップＳ１５２０）。
【００７６】
ＯＣＲ処理が終了すると、フィールド認識部１１０ｃは、ＯＣＲ処理によって得られたデータ値を含む出力データセットをデータベース１１８ａ（出力データセット記憶部１１８ｃ）に出力する（図１４に示すステップＳ１４３６）。なお、全てのフィールドに対してエラーフラグが設定された場合、データ値を含まない出力データセットが出力される。
【００７７】
出力データセットは、データベース１１８ａ（出力データセット記憶部１１８ｃ）に保存される。出力データセット記憶部１１８ｃに保存された出力データセットは、画像処理装置２００を含む外部機器から閲覧及び編集等が可能である。なお、エラーフラグが設定されたフィールドには、データの閲覧時に、データ値に代えてエラーメッセージが表示されるように構成されていると好ましい。さらに、エラーフラグが設定された出力データセットは、エラーフラグが設定されていない出力データセットとは異なるフォルダに保存されるように構成されていてもよい。
【００７８】
［本実施の形態の効果］
以上の説明から明らかなように、本実施の形態に係る情報処理装置１００を利用することにより、以下に述べる効果を奏する。
【００７９】
情報処理装置１００は、入力された帳票画像のフィールドの記入値を制約条件の範囲内で文字認識を行なう。これにより、文字認識の精度が向上する。例えば、特定されたフィールドの制約条件がメールアドレス型である場合、帳票画像の対応するフィールドの記入値がメールアドレス型であるか否かが検証される。記入値がメールアドレス型であれば、当該記入値がメールアドレス型となるように文字認識される。そのため、メールアドレスとして使用できないような文字列として文字認識されるのを抑制できる。すなわち、フィールドに記入された値を文字認識した結果に、妥当でない認識結果が含まれるのを抑制できる。これにより、認識結果を修正する手間を低減できる。
【００８０】
情報処理装置１００はまた、記入済みのサンプル帳票画像を入力することによって、制約条件を学習する。これにより、各フィールドの制約条件を効率よく設定できる。さらに情報処理装置１００は、文字認識されたデータ値を対応するフィールドの有効値としてフィールド値履歴（フォーマットモデル記憶部１１８ｂ）に蓄積し、蓄積された有効値（データ値）の集合からこれらの有効値を許容するデータ型（書式の制約条件）を推定する。これにより、各フィールドの制約条件をより精度よく生成できる。したがって、このような制約条件の範囲内で文字認識を行なうことによって、文字認識の精度をより向上させることができる。
【００８１】
さらに、有効値が記録されたリストを制約条件として用いることにより、ＯＣＲ処理の文字セットがリストに記録されたデータ（文字列）に制限される。そのため、制約条件の範囲内で文字認識を行なった場合に、文字認識の精度をさらに向上させることができる。
【００８２】
情報処理装置１００は、画像処理装置２００から送信されるサンプル帳票画像を入力することにより、制約条件としてのリストを更新する。ユーザは、画像処理装置２００を学習モードに設定した後に、当該画像処理装置２００から情報処理装置１００に帳票画像データを送信することにより、リストにデータを追加できる。これにより、例えば担当者リストに担当者を容易に追加できる。
【００８３】
（第２の実施の形態）
本実施の形態に係る情報処理装置は、入力されたサンプル帳票画像のフィールドの項目名（フィールド名）からも各フィールドのデータ型を推定する点において、第１の実施の形態に係る情報処理装置１００とは異なる。その他の点では、各情報処理装置は同一の構成である。
【００８４】
情報処理装置は、第１の実施の形態と同様、フォーマットの登録時に、入力されたサンプル帳票画像に対してＯＣＲ処理を行なうことにより、各フィールドの項目名（フィールド名）を認識する。情報処理装置は、認識したフィールド名に基づいて、当該フィールド名が付されたフィールドのデータ型を推定する。情報処理装置は、フィールド名が例えば「商品コード」等の「ｘｘコード」の場合、英数字及びハイフンのみからなる文字列をデータ型として推定する。
【００８５】
本実施の形態では、フィールド名に基づくデータ型の推定処理は、フォーマットの登録時に実行される。なお、フィールド名に基づくデータ型の推定処理は、制約条件の学習時に行なうように構成されていてもよい。
【００８６】
（第３の実施の形態）
本実施の形態に係る情報処理装置は、各フィールドに有効な値が記入された記入済みのサンプル帳票画像が入力されることにより、帳票のフォーマットの登録、並びに、フィールドに記入されたデータ値及び当該フィールドの制約条件の登録を行なう点において、第１の実施の形態に係る情報処理装置１００とは異なる。その他の点では、各情報処理装置は同一の構成である。
【００８７】
図１８を参照して、情報処理装置４００は、図７に示される制御部１１０に代えて、制御部４１０を含む。制御部４１０は、第１の実施の形態と同様、フォーマット学習部１１０ａ、フォーマット判定部１１０ｂ、フィールド認識部１１０ｃ、及びフォーマットモデル記憶部１１８ｂを含む。本実施の形態では、画像処理装置から送信された帳票画像データが示すサンプル帳票画像は、フォーマット学習部１１０ａ及びフォーマット判定部１１０ｂに入力される。
【００８８】
画像処理装置は、各フィールドに有効な値が記入された記入済みのサンプル帳票の画像を画像読取部２３０（図４参照）で読取り、読取った帳票画像データを情報処理装置４００に送信する。こうした処理は、画像処理装置の操作パネル２２２（図４参照）に表示される帳票フォーマット登録画面３００（図５参照）をユーザが操作することによって実行される。
【００８９】
情報処理装置４００は、画像処理装置から送信された帳票画像データを受信すると、受信した帳票画像データが示すサンプル帳票画像及び当該帳票画像データに付加されているフォーマット名をフォーマット学習部１１０ａに入力するとともに、受信した帳票画像データが示すサンプル帳票画像をフォーマット判定部１１０ｂに入力する。サンプル帳票画像が入力されると、フォーマット学習部１１０ａは、第１の実施の形態と同様のフォーマット登録処理を実行する。フォーマット登録処理が終了すると、フォーマット判定部１１０ｂ及びフィールド認識部１１０ｃは、第１の実施の形態と同様の制約条件の学習処理を実行する。
【００９０】
このように、本実施の形態では、各フィールドに有効な値が記入された記入済みのサンプル帳票画像が情報処理装置４００に入力されることにより、帳票のフォーマットを登録する処理、及び帳票画像に含まれる各フィールドの制約条件を学習する処理が実行される。処理毎にサンプル帳票の帳票画像データを情報処理装置４００に送信する必要がないため、帳票画像データを送信する手間が省かれる。
【００９１】
なお、各フィールドに有効な値が記入された記入済みのサンプル帳票画像を情報処理装置４００に送信する場合、操作パネル２２２に表示される帳票フォーマット登録画面３００が操作される。画像処理装置は学習モードが不要となる。そのため、本実施の形態では、当該画像処理装置に学習モードを設定する機能が省かれている。
【００９２】
本実施の形態に係る情報処理装置４００はさらに、第２の実施の形態で示したように、入力されたサンプル帳票画像のフィールドの項目名（フィールド名）から各フィールドのデータ型を推定するように構成されていてもよい。
【００９３】
（第４の実施の形態）
図１９を参照して、本実施の形態に係る画像処理装置５００は、帳票画像を処理する情報処理装置としての機能を持つ。すなわち、本実施の形態では、第１の実施の形態において情報処理装置１００が行なっていた帳票画像の処理を、画像処理装置５００が実行する。帳票画像の処理時には、画像処理装置５００は、主としてスキャナモードで動作する。画像処理装置５００はさらに、画像読取部２３０で読取った帳票（サンプル帳票を含む）の画像に対して、ＯＣＲ処理を実行するＯＣＲ機能を持つ。
【００９４】
この画像処理装置５００は、図４に示される制御部２１０に代えて、制御部５１０を含む。制御部５１０は、機能部としての、フォーマット学習部、フォーマット判定部、及びフィールド認識部を含む。これら機能部は、図７に示されるフォーマット学習部１１０ａ、フォーマット判定部１１０ｂ、及びフィールド認識部１１０ｃと同様の構成である。制御部５１０はさらに、図４に示される記憶装置２１８に代えて、記憶装置５２０を含む。
【００９５】
記憶装置５２０は、通電が遮断された場合にもデータを保持する不揮発性記憶装置であり、例えばハードディスクドライブ（ＨＤＤ）又はフラッシュメモリ等である。図２０を参照して、記憶装置５２０は、サンプル帳票の認識結果のデータを蓄積するデータベース５２０ａを含む。データベース５２０ａは、フォーマットモデルを記憶するフォーマットモデル記憶部５２０ｂ、及び出力されたデータセット（ＯＣＲ処理により認識されたデータ値）を記憶する出力データセット記憶部５２０ｃを含む。データベース５２０ａ、フォーマットモデル記憶部５２０ｂ及び出力データセット記憶部５２０ｃは、それぞれ、図３に示されるデータベース１１８ａ、フォーマットモデル記憶部１１８ｂ及び出力データセット記憶部１１８ｃと同様の構成である。
【００９６】
画像処理装置５００は、帳票又はサンプル帳票の画像を読取ることによって帳票画像（サンプル帳票画像を含む）を自装置に入力する。帳票画像が入力されると、画像処理装置５００は、第１の実施の形態に係る情報処理装置１００と同様にして、帳票のフォーマットを登録する処理、及び帳票画像に含まれる各フィールドの制約条件を学習する処理を実行する。
【００９７】
このように構成された本実施の形態に係る画像処理装置５００は、第１の実施の形態に係る情報処理装置と同様の効果を奏する。
【００９８】
（変形例）
上記実施の形態では、情報処理装置の一種であるサーバ装置に本発明を適用した例について示したが、本発明はそのような実施の形態には限定されない。情報処理装置は、サーバ装置以外の処理装置であってもよい。例えば、情報処理装置はＰＣ等の処理装置であってもよいし、ＭＦＰのような画像処理装置であってもよい。
【００９９】
上記実施の形態では、帳票処理システムを構成する画像処理装置に複合機を用いた例について示したが、本発明はそのような実施の形態には限定されない。例えば複合機に代えて、又は複合機とともに、スキャナ装置等の画像処理装置を含むように帳票処理システムを構成してもよい。スキャナ装置等の画像処理装置で読取った帳票画像データは、直接、情報処理装置に送信される構成であってもよいし、ＰＣ等を介して、情報処理装置に送信される構成であってもよい。さらに、画像処理装置は、デジタルカメラ等の画像を撮像する機能を持つ処理装置であってもよい。
【０１００】
上記実施の形態では、画像処理装置で読取ったサンプル帳票画像を情報処理装置に送信することにより、フォーマットモデルをデータベースに登録する例について示したが、本発明はそのような実施の形態には限定されない。フォーマットモデルの登録は、画像処理装置以外の装置を用いて登録するようにしてもよい。さらに、帳票処理システムの運用前、例えば情報処理装置の出荷前にフォーマットモデルを登録しておくようにしてもよい。
【０１０１】
上記実施の形態では、画像処理装置の操作パネルに表示される画面を操作することによって、帳票のフォーマットの登録、及び制約条件の学習を情報処理装置に指示する例について示したが、本発明はそのような実施の形態には限定されない。例えば、情報処理装置の設定等を切替えることによって、当該情報処理装置に、フォーマットの登録、制約条件の学習、及び帳票の値を認識する処理等を実行させるようにしてもよい。
【０１０２】
上記実施の形態では、サンプル帳票画像の各フィールドの近傍に印刷された項目名を認識することにより、各フィールド及び各フィールドの記入値がどの項目に対応するかを判別する例について示したが、本発明はそのような実施の形態には限定されない。例えば、各フィールドが帳票上のどの位置に配置されているか等を示す帳票定義情報を参照することにより、各フィールド及び各フィールドの記入値がどの項目に対応するかを判別するようにしてもよい。
【０１０３】
上記で開示された技術を適宜組合せて得られる実施の形態についても、本発明の技術的範囲に含まれる。
【０１０４】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに限定されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１０５】
５０                                      帳票処理システム
６０                                      ネットワーク
１００、４００                            情報処理装置
１１０、２１０、４１０、５１０            制御部
１１０ａ                                  フォーマット学習部
１１０ｂ                                  フォーマット判定部
１１０ｃ                                  フィールド認識部
１１８                                    ＨＤＤ
１３０                                    入力Ｉ／Ｆ
１４０                                    ディスプレイＩ／Ｆ
１５０                                    ネットワークＩ／Ｆ
２００、５００                            画像処理装置
２１８、５２０                            記憶装置
２２０                                    操作ユニット
２３０                                    画像読取部
２４０                                    画像処理部
２５０                                    画像形成部
【図１】
2017010069.tif 000003
【図２】
2017010069.tif 000004
【図３】
2017010069.tif 000005
【図４】
2017010069.tif 000006
【図５】
2017010069.tif 000007
【図６】
2017010069.tif 000008
【図７】
2017010069.tif 000009
【図８】
2017010069.tif 000010
【図９】
2017010069.tif 000011
【図１０】
2017010069.tif 000012
【図１１】
2017010069.tif 000013
【図１２】
2017010069.tif 000014
【図１３】
2017010069.tif 000015
【図１４】
2017010069.tif 000016
【図１５】
2017010069.tif 000017
【図１６】
2017010069.tif 000018
【図１７】
2017010069.tif 000019
【図１８】
2017010069.tif 000020
【図１９】
2017010069.tif 000021
【図２０】
2017010069.tif 000022