(57)【特許請求の範囲】
【請求項１】
既知の帳票の記入欄が未記入の第１の画像、前記既知の帳票の前記記入欄に既知のパターンが記入された第２の画像、及び判別対象の第３の画像をそれぞれ複数の領域に分割し、前記領域毎に２値化して第１、第２及び第３の２値化データを生成する生成手段と、
前記第１、第２及び第３の２値化データ間で論理演算を行い、前記論理演算の結果に基づいて前記判別対象に対して帳票の判別を行う判別手段と、
を備えた帳票判別装置。
【請求項２】
前記判別手段は、前記第１及び第３の２値化データ間で論理演算を行い、前記既知の帳票の定型部分の一致性を示す第１の指数を求め、前記第２及び第３の２値化データ間で論理演算を行い、前記既知の帳票の定型部分以外の領域の一致性を示す第２の指数を求め、前記第１及び第２の指数に基づいて前記帳票の判別を行う請求項１に記載の帳票判別装置。
【請求項３】
前記判別手段は、前記第１、第２、及び第３の２値化データ間で論理演算を行い、前記記入欄に記入された前記領域の数に対応する第１の度数を求め、前記第１及び第２の２値化データ間で論理演算を行い、前記記入欄の前記領域の数に対応する第２の度数を求め、前記第１の度数と前記第２の度数との関係、及び前記第１及び第２の指数に基づいて前記帳票の判別を行う請求項２に記載の帳票判別装置。
【請求項４】
既知の複数種の帳票について前記生成手段によって生成された複数種の前記第１及び第２の２値化データを記憶する記憶手段をさらに備え、
前記判別手段は、前記複数種の第１及び第２の２値化データから選択した前記第１及び第２の２値化データ、及び前記第３の２値化データ間で論理演算を行い、前記論理演算の結果に基づいて前記判別対象に対して帳票の判別を行う請求項１乃至３のいずれか１項に記載の帳票判別装置。
【請求項５】
前記生成手段は、前記第１、第２及び第３の画像をそれぞれ第１のサイズと前記第１のサイズよりも小さい第２のサイズの複数の領域に分割して２つの前記第１、第２及び第３の２値化データを生成し、
前記判別手段は、前記第１のサイズの領域に分割されて生成された前記第１、第２及び第３の２値化データ間の前記論理演算を行い、前記帳票の判別を行えなかったとき、前記第２のサイズの領域に分割されて生成された前記第１、第２及び第３の２値化データ間の前記論理演算を行い、前記帳票の判別を行う請求項１乃至４のいずれか１項に記載の帳票判別装置。
【請求項６】
既知の帳票の記入欄が未記入の第１の画像、前記既知の帳票の前記記入欄に既知のパターンが記入された第２の画像、及び判別対象の第３の画像をそれぞれ複数の領域に分割し、前記領域毎に２値化して第１、第２及び第３の２値化データを生成する生成手段と、
前記第１、第２及び第３の２値化データ間で論理演算を行い、前記論理演算の結果に基づいて前記判別対象に対して帳票の判別を行う判別手段としてコンピュータを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票判別装置及びプログラムに関する。
【背景技術】
【０００２】
帳票とその添付文書（枚数不定）を１組として、複数組を束ねてスキャンを行い、スキャン画像を文書管理システムに登録するときに、帳票と添付文書の組み合わせで１文書になるように、帳票でスキャン画像を区切るニーズは多い。
【０００３】
そのため、従来、バーコードやＱＲコード（登録商標）などの識別情報を用いずに、帳票の種類を自動的に判別する技術として、帳票の枠の位置などの特徴量を比較して、予め登録された帳票と一致するかどうかで帳票を判別する帳票判別装置が提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２８３１５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の帳票判別装置では、枠の少ない帳票に対しては、特徴量が少なくなるため、帳票の判別精度が落ちることがある。
【０００６】
本発明の目的は、枠や罫線を有していない帳票でも予め付与された識別情報に依らずに帳票の判別が可能な帳票判別装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様として、以下の帳票判別装置及びプログラムを提供する。
【０００８】
［１］既知の帳票の記入欄が未記入の第１の画像、前記既知の帳票の前記記入欄に既知のパターンが記入された第２の画像、及び判別対象の第３の画像をそれぞれ複数の領域に分割し、前記領域毎に２値化して第１、第２及び第３の２値化データを生成する生成手段と、前記第１、第２及び第３の２値化データ間で論理演算を行い、前記論理演算の結果に基づいて前記判別対象に対して帳票の判別を行う判別手段と、を備えた帳票判別装置。
［２］前記判別手段は、前記第１及び第３の２値化データ間で論理演算を行い、前記既知の帳票の定型部分の一致性を示す第１の指数を求め、前記第２及び第３の２値化データ間で論理演算を行い、前記既知の帳票の定型部分以外の領域の一致性を示す第２の指数を求め、前記第１及び第２の指数に基づいて前記帳票の判別を行う前記［１］に記載の帳票判別装置。
［３］前記判別手段は、前記第１、第２、及び第３の２値化データ間で論理演算を行い、前記記入欄に記入された前記領域の数に対応する第１の度数を求め、前記第１及び第２の２値化データ間で論理演算を行い、前記記入欄の前記領域の数に対応する第２の度数を求め、前記第１の度数と前記第２の度数との関係、及び前記第１及び第２の指数に基づいて前記帳票の判別を行う前記［２］に記載の帳票判別装置。
［４］既知の複数種の帳票について前記生成手段によって生成された複数種の前記第１及び第２の２値化データを記憶する記憶手段をさらに備え、前記判別手段は、前記複数種の第１及び第２の２値化データから選択した前記第１及び第２の２値化データ、及び前記第３の２値化データ間で論理演算を行い、前記論理演算の結果に基づいて前記判別対象に対して帳票の判別を行う前記［１］乃至［３］のいずれかに記載の帳票判別装置。
［５］前記生成手段は、前記第１、第２及び第３の画像をそれぞれ第１のサイズと前記第１のサイズよりも小さい第２のサイズの複数の領域に分割して２つの前記第１、第２及び第３の２値化データを生成し、前記判別手段は、前記第１のサイズの領域に分割されて生成された前記第１、第２及び第３の２値化データ間の前記論理演算を行い、前記帳票の判別を行えなかったとき、前記第２のサイズの領域に分割されて生成された前記第１、第２及び第３の２値化データ間の前記論理演算を行い、前記帳票の判別を行う前記［１］乃至［４］のいずれかに記載の帳票判別装置。
【０００９】
［６］既知の帳票の記入欄が未記入の第１の画像、前記既知の帳票の前記記入欄に既知のパターンが記入された第２の画像、及び判別対象の第３の画像をそれぞれ複数の領域に分割し、前記領域毎に２値化して第１、第２及び第３の２値化データを生成する生成手段と、前記第１、第２及び第３の２値化データ間で論理演算を行い、前記論理演算の結果に基づいて前記判別対象に対して帳票の判別を行う判別手段としてコンピュータに実行させるプログラム。
【発明の効果】
【００１０】
請求項１、６に係る発明によれば、枠や罫線を有していない帳票でも予め付与する識別情報に依らず、帳票の記入欄である記入領域の情報を用いて、帳票の判別が可能になる。
請求項２に係る発明によれば、定型部分の一致性と、定型部分以外の領域（空白領域）の一致性の両方を用いることで、いずれか一方の一致性のみを用いる場合よりも高い精度で帳票の判別が可能になる。
請求項３に係る発明によれば、さらに記入欄に記入された領域の数に対応する第１の度数と記入欄の領域の数に対応する第２の度数との関係を用いることで、本構成を採用しない場合と比べて、定型部分が類似している帳票の誤判定を少なくすることができる。
請求項４に係る発明によれば、複数種の第１及び第２の２値化データを予め処理をして登録しておくことで、その都度２値化データを生成する場合と比べて、帳票の判別の高速化が図れる。
請求項５に係る発明によれば、比較する帳票データが数多く存在するときに、本構成を採用しない場合と比べて、比較する帳票データを絞り込みながら、計算量を少なくして帳票の判別を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の第１の実施の形態に係る帳票判別装置の概略の構成例を示す図である。
【図２】図２（ａ）、（ｂ）、（ｃ）の上段は、それぞれ未記入帳票データ、記入済み帳票データ、スキャン画像の要部を示し、図２（ａ）、（ｂ）、（ｃ）の下段は、それらを２値化した２値化データを示す図である。
【図３】図３は、帳票解析部の動作の一例を示すフローチャートである。
【図４】図４は、制御部の帳票テンプレート作成部としての動作の一例を示すフローチャートである。
【図５】図５は、帳票フォーム判定部の動作の一例を示すフローチャートである。
【図６】図６は、帳票記入領域判定部の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
【００１３】
［第１の実施の形態］
図１は、本発明の実施の形態に係る帳票判別装置の概略の構成例を示す図である。この帳票判別装置１は、各種のプログラムやデータが記憶される記憶部２と、帳票の解析を行う帳票解析部３と、帳票のフォームを判定する帳票フォーム判定部５と、帳票の記入領域を判定する帳票記入領域判定部６と、帳票の種類を判別する帳票判別部７と、本装置１の各部を制御する制御部４とを有して概略構成されている。
【００１４】
制御部４には、帳票の判別対象を光学的に読み取る画像読取装置の一例としてのスキャナ８が接続されている。なお、帳票の判別対象は、スキャン画像に限られず、電子文書を印刷イメージに変換した画像でもよい。また、本帳票判別装置をスキャン機能、複写機能、プリント機能、ファックス送受信機能等の複数の機能と、情報の表示及び選択が可能なタッチパネルとを備えた複合機に適用してもよい。
【００１５】
ここで、帳票解析部３は、２値化データを生成する生成手段の一例である。帳票フォーム判定部５、帳票記入領域判定部６及び帳票判別部７は、帳票の判別を行う判別手段の一例である。これらの詳細については、後述する。
【００１６】
本帳票判別装置１は、帳票として定型の部分である罫線、枠、見出し、タイトル等を含むフォームの部分と、当該フォームで指定される記入欄である記入領域とを区別して処理を行う。なお、帳票として定型の部分は上記に限られず、罫線、枠等を有していないものも含まれる。また、本帳票判別装置１で判別する帳票データは解像度、画素数から求められる寸法が一致するものをそれぞれ比較の対象とする。
【００１７】
記憶部２は、制御部４が本装置１を制御するための後述する図３〜図６に示すようなプログラム２０と、登録データとしての帳票テンプレート２１と、帳票の判別対象を帳票解析部３で２値化された判別対象２値化データ２００Ｃとを記憶する。また、記憶部２には、帳票テンプレート２１として、帳票の種類毎に、識別ＩＤに関連付けて未記入帳票データ（図２（ａ）の上段参照）１００Ａ、記入済み帳票データ（図２（ｂ）の上段参照）１００Ｂ、未記入２値化データ（図２（ａ）の下段参照）２００Ａ、及び記入済み２値化データ（図２（ｂ）の下段参照）２００Ｂが記憶される。
【００１８】
ここで、「未記入帳票データ」とは、既知の帳票の記入欄に何も記入されていない帳票データ（第１の画像）をいう。「記入済み帳票データ」とは、既知の帳票の記入欄の領域の全体に既知の文字、記号、図形等のパターンが記入された帳票データ（第２の画像）をいう。なお、帳票データ（第２の画像）は、記入欄の領域は予め記入される領域を想定して、パターンを記入する範囲を指定した帳票データである。「未記入２値化データ」とは、未記入帳票データを帳票解析部３で２値化されたデータ（第１の２値化データ）をいう。「記入済み２値化データ」とは、記入済み帳票データを帳票解析部３で２値化されたデータ（第２の２値化データ）をいう。「判別対象２値化データ」とは、スキャナ８で読み取って得られたスキャン画像（第３の画像）を帳票解析部３で２値化されたデータ（第３の２値化データ）をいう。また、「記入欄」は、本特許請求の範囲及び本明細書において、文字等を記入する可能性のある領域をいい、枠で囲まれていない場合や罫線で記入箇所を示されていない場合も含む。
【００１９】
帳票解析部３は、帳票の画像を複数の領域（以下「分割領域」という。）に分割する領域分割部３０と、帳票の画像を分割領域毎に２値に変換して２値化データを生成する２値化部３１とを備える。具体的には、領域分割部３０は、図２に示されるように帳票の画像を縦方向、横方向にそれぞれ一定の間隔でメッシュ状（格子状）に複数の分割領域に分割する。分割領域は、記入される文字のサイズとほぼ等しいか小さい方が好ましい。２値化部３１は、分割領域毎に黒画素の数を計数し、黒画素の数が閾値（例えば３つ）未満のときは、当該分割領域を何も記載されていない「空白領域」と判定し、「空白領域」に「０」を割り当て、黒画素の数が閾値（例えば３つ）以上のときは、当該分割領域を何かが記載された「記載領域」と判定し、「記載領域」に「１」を割り当てることで２値化データを生成する。
【００２０】
制御部４は、ＣＰＵ等を有して構成され、本装置１の各部を制御するとともに、未記入帳票データと記入済み帳票データを帳票解析部３で２値化させて未記入２値化データ及び記入済み２値化データを帳票テンプレート２１として作成する帳票テンプレート作成部としても機能する。
【００２１】
帳票フォーム判定部５は、後述のフローに従って、未記入２値化データ２００Ａ及び判別対象２値化データ２００Ｃ間で論理演算を行い、既知の帳票のフォームの一致性を示す帳票不一致指数（第１の指数）を求め、記入済み２値化データ２００Ｂ及び判別対象２値化データ２００Ｃ間で論理演算を行い、既知の帳票のフォーム以外の領域の一致性を示す帳票不一致指数（第２の指数）を求め、両者の帳票不一致指数を加算して最終の帳票不一致指数を求める。
【００２２】
具体的には、帳票フォーム判定部５は、未記入２値化データ２００Ａと判別対象２値化データ２００Ｃとの論理積（ＡＮＤ）をとるＡＮＤ回路５０と、ＡＮＤ回路５０の出力データ５０ａと未記入２値化データ２００Ａとの排他的論理和（ＸＯＲ）をとるＸＯＲ回路５１Ａと、記入済み２値化データ２００Ｂと判別対象２値化データ２００Ｃとの論理和（ＯＲ）をとるＯＲ回路５２と、ＯＲ回路５２の出力データ５２ａと記入済み２値化データ２００Ｂとの排他的論理和（ＸＯＲ）をとるＸＯＲ回路５１Ｂと、一方のＸＯＲ回路５１Ａの出力データ（第１の指数）５１ａと、他方のＸＯＲ回路５１Ｂの出力データ（第２の指数）５１ｂとの加算値を帳票不一致指数として帳票判別部７に出力する帳票不一致指数カウンタ５３とを備える。
【００２３】
帳票記入領域判定部６は、後述のフローに従って、未記入２値化データ２００Ａ、記入済み２値化データ２００Ｂ及び判別対象２値化データ２００Ｃ間で論理演算を行い、記入欄に記入された分割領域の数に対応する記入領域一致度数（第１の度数）を求め、未記入２値化データ２００Ａ及び記入済み２値化データ２００Ｂ間で論理演算を行い、記入欄の分割領域の数に対応する記入領域度数（第２の度数）を求め、記入領域一致度数と記入領域度数との関係、例えば記入領域一致度数／記入領域度数比＝記入領域一致指数を求める。
【００２４】
具体的には、帳票記入領域判定部６は、記入済み２値化データ２００Ｂと判別対象２値化データ２００Ｃとの論理積（ＡＮＤ）をとるＡＮＤ回路６０と、ＡＮＤ回路６０の出力データ６０ａと未記入２値化データ２００Ａとの排他的論理和（ＸＯＲ）をとるＸＯＲ回路６１Ａと、未記入２値化データ２００Ａと記入済み２値化データ２００Ｂとの排他的論理和（ＸＯＲ）をとるＸＯＲ回路６１Ｂと、ＸＯＲ回路６１Ａの出力データ６１ａを記入領域一致度数として計数する記入領域一致度数カウンタ６２と、ＸＯＲ回路６１Ｂの出力データ６１ｂを記入領域度数として計数する記入領域度数カウンタ６３と、記入領域一致度数カウンタ６２が保持する記入領域一致度数を記入領域度数カウンタ６３が保持する記入領域度数で除算して得られた記入領域一致指数６４ａを帳票判別部７に出力する除算回路６４とを備える。
【００２５】
帳票判別部７は、帳票フォーム判定部５の判定結果と帳票記入領域判定部６の判定結果に基づいて帳票を判別する。具体的には、帳票判別部７は、帳票不一致指数カウンタ５３が保持する帳票不一致指数５３ａと第１の閾値７０とを比較し、その比較結果を出力する第１の比較回路７１と、除算回路６４が出力する記入領域一致指数６４ａと第２の閾値７２とを比較し、その比較結果を出力する第２の比較回路７３とを備える。
【００２６】
上記帳票解析部３、制御部４、帳票フォーム判定部５、帳票記入領域判定部６及び帳票判別部７は、それぞれ一部又は全部を再構成可能回路（ＦＰＧＡ：Field Programmable Gate Array)、特定用途向け集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）等のハードウエア回路によって構成してもよい。また、帳票判別装置１のコンピュータにおいて後述する図３乃至図６に示すようなプログラムに従ってＣＰＵが動作することで実現してもよい。
【００２７】
（帳票判別装置の動作）
次に、帳票判別装置１の動作の一例を、図２〜図６を参照して説明する。
【００２８】
図２（ａ）、（ｂ）、（ｃ）の上段は、それぞれ未記入帳票データ１００Ａ、記入済み帳票データ１００Ｂ、スキャン画像１００Ｃの要部を示し、図２（ａ）、（ｂ）、（ｃ）の下段は、上段のデータをそれぞれ帳票解析部３で２値化された未記入２値化データ２００Ａ、記入済み２値化データ２００Ｂ、判別対象２値化データ２００Ｃを示す。
【００２９】
図２（ａ）に示す未記入帳票データ１００Ａには、「お名前」の見出し１２０Ａ、及び「様」の見出し１２０Ｂが予め記入され、「お名前」の見出し１２０Ａと「様」の見出し１２０Ｂとの間に記入欄１３０が設けられ、記入欄１３０、すなわち記入される可能性のある領域は未記入になっている。
【００３０】
図２（ｂ）に示す記入済み帳票データ１００Ｂには、図２（ａ）に示す未記入帳票データ１００Ａと同様に、「お名前」の見出し１２０Ａ、及び「様」の見出し１２０Ｂが予め記入され、「お名前」の見出し１２０Ａと「様」の見出し１２０Ｂとの間に記入欄１３０が設けられ、記入欄１３０の領域のすべてに既知のパターン１３１として「※」が記載されている。
【００３１】
図２（ｃ）に示すスキャン画像１００Ｃには、図２（ａ）に示す未記入帳票データ１００Ａと同様に、「お名前」の見出し１２０Ａ、及び「様」の見出し１２０Ｂが予め記入され、「お名前」の見出し１２０Ａと「様」の見出し１２０Ｂとの間に記入欄１３０が設けられ、記入欄１３０の一部に「富士太郎」の氏名１３２が記入されている。
【００３２】
（１）帳票解析部の動作
図３は、帳票解析部３の動作の一例を示すフローチャートである。帳票解析部３の動作は、後述する（２）制御部の帳票テンプレート作成部としての動作、（３）帳票フォーム判定部の動作、（４）帳票記入領域判定部の動作において、サブルーチンとして実施されるものである。帳票解析部３は、制御部４から未記入帳票データ１００Ａ、記入済み帳票データ１００Ｂ又はスキャン画像１００Ｃが入力されると（Ｓ１１）、領域分割部３０は、入力された未記入帳票データ１００Ａ、記入済み帳票データ１００Ｂ又はスキャン画像１００Ｃをメッシュ状に複数の分割領域１１０に分割する（Ｓ１２）。
【００３３】
２値化部３１は、分割領域１１０毎に黒画素の画素数を計数する（Ｓ１３）。計数した黒画素の画素数が予め定めた閾値以上か否かを判定する（Ｓ１４）。黒画素の画素数が閾値未満のときは（Ｓ１４：Ｎｏ）、当該分割領域１１０を空白領域と判定して当該分割領域１１０に「０」を割り当てる（Ｓ１５）。黒画素の画素数が閾値以上のときは（Ｓ１４：Ｙｅｓ）、当該分割領域１１０を記載領域と判定して当該分割領域１１０に「１」を割り当てる（Ｓ１６）。
【００３４】
上記ステップＳ１３〜Ｓ１６を全ての分割領域１１０について実施すると（Ｓ１７：Ｙｅｓ）、各分割領域１１０に割り当てた０／１からなる２値化データ２００Ａ、２００Ｂ、２００Ｃを出力する（Ｓ１８）。
【００３５】
図２（ａ）に示す未記入帳票データ１００Ａの場合は、未記入２値化データ２００Ａの氏名記入行１４０の部分は、「００１１１１００００００００００００００００００００１１０」となっている。図２（ｂ）に示す記入済み帳票データ１００Ｂの場合は、記入済み２値化データ２００Ｂの氏名記入行１４０の部分は、「００１１１１１１１１１１１１１１１１１１１１１１１０１１０」となっている。図２（ｃ）に示すスキャン画像１００Ｃの場合は、判別対象２値化データの氏名記入行１４０の部分は、「００１１１１０１１１１１００００００００００００００１１０」となっている。
【００３６】
（２）制御部の帳票テンプレート作成部としての動作
図４は、制御部４の帳票テンプレート作成部としての動作の一例を示すフローチャートである。制御部４は、記憶部２から未記入帳票データ１００Ａを取得し（Ｓ２１）、帳票解析部３に帳票解析を行わせる（Ｓ２２）。帳票解析部３は、図３のフローチャートに示すように、未記入帳票データ１００Ａについて帳票解析を行い、図２（ａ）の下段に示すような０／１からなる未記入２値化データ２００Ａを生成する（Ｓ２３）。制御部４は、帳票解析部３が生成した未記入２値化データ２００Ａを帳票テンプレート２１として記憶部２に記憶する。
【００３７】
次に、制御部４は、記憶部２から記入済み帳票データ１００Ｂを取得し（Ｓ２４）、帳票解析部３に帳票解析を行わせる（Ｓ２５）。帳票解析部３は、図３のフローチャートに示すように、記入済み帳票データ１００Ｂについて帳票解析を行い、図２（ｂ）の下段に示すような０／１からなる記入済み２値化データ２００Ｂを生成する（Ｓ２６）。制御部４は、帳票解析部３が生成した記入済み２値化データ２００Ｂを帳票テンプレート２１として記憶部２に記憶する。記憶部２には、同一の識別ＩＤに対応して未記入２値化データ２００Ａ及び記入済み２値化データ２００Ｂが記憶される。
【００３８】
（３）帳票フォーム判定部の動作
図５は、帳票フォーム判定部５の動作の一例を示すフローチャートである。制御部４の帳票テンプレート作成部としての動作により記憶部２には、帳票テンプレート２１として未記入２値化データ２００Ａ及び記入済み２値化データ２００Ｂが記憶されている。
【００３９】
制御部４は、スキャナ８で読み取られた図２（ｃ）に示すようなスキャン画像１００Ｃを入力し、記憶部２に記憶するとともに（Ｓ３１）、そのスキャン画像１００Ｃについて帳票解析部３に帳票解析を行わせる（Ｓ３２）。帳票解析部３は、図３のフローチャートに示すように、スキャン画像１００Ｃについて帳票解析を行い、図２（ｃ）の下段に示すような０／１からなる判別対象２値化データ２００Ｃを生成する。制御部４は、判別対象２値化データ２００Ｃを記憶部２に記憶する。制御部４は、帳票不一致指数カウンタ５３を初期化「０」する（Ｓ３３）。
【００４０】
帳票フォーム判定部５は、記憶部２から未記入２値化データ２００Ａ及び判別対象２値化データ２００Ｃを取得してそれらをＡＮＤ回路５０に入力し、それらの論理積（ＡＮＤ）を行毎にとる（Ｓ３４）。ＡＮＤ回路５０は、氏名記入行１４０の出力データ５０ａとして「００１１１１００００００００００００００００００００１１０」を出力する。
【００４１】
さらに、帳票フォーム判定部５は、ＡＮＤ回路５０の出力データ５０ａ及び未記入２値化データ２００ＡをＸＯＲ回路５１Ａに入力し、それらの排他的論理和（ＸＯＲ）を行毎にとる（Ｓ３５）。ＸＯＲ回路５１Ａは、氏名記入行１４０の出力データ５１ａとして「０００００００００００００００００００００００００００００」を出力する。
【００４２】
次に、帳票フォーム判定部５は、ＸＯＲ回路５１Ａの出力データ５１ａの「１」のビットの数を計数して帳票不一致指数カウンタ５３に加算する（Ｓ３６）。この場合、ＸＯＲ回路５１Ａの出力データ５１ａは、すべてのビットが「０」であるので、「帳票不一致指数」に変更はない。この比較は、既知の帳票のフォームの一致性を判定することを目的としている。
【００４３】
次に、帳票フォーム判定部５は、記憶部２から記入済み２値化データ２００Ｂ及び判別対象２値化データ２００Ｃを取得してそれらをＯＲ回路５２に入力し、それらの論理和（ＯＲ）を行毎にとる（Ｓ３７)。ＯＲ回路５２は、氏名記入行１４０の出力データ５２ａとして「００１１１１１１１１１１１１１１１１１１１１１１１０１１０」を出力する。
【００４４】
さらに、帳票フォーム判定部５は、ＯＲ回路５２の出力データ５２ａ及び記入済み２値化データ２００ＢをＸＯＲ回路５１Ｂに入力し、それらの排他的論理和（ＸＯＲ）を行毎にとる（Ｓ３８）。ＸＯＲ回路５１Ｂは、出力データ５１ｂとして「０００００００００００００００００００００００００００００」を出力する。
【００４５】
帳票フォーム判定部５は、ＸＯＲ回路５１Ｂの出力データ５１ｂの「１」のビットの数を帳票不一致指数カウンタ５３に加算する（Ｓ３９）。この場合、ＸＯＲ回路５１Ｂの出力データ５１ｂは、すべてのビットが「０」であるので、「帳票不一致指数」に変更はない。この比較は、既知の帳票のフォーム以外の領域の一致性、つまり「空白領域」の一致性を判定することを目的としている。上記ステップＳ３４〜Ｓ３９を全ての行について実施すると（Ｓ４０）、帳票不一致指数カウンタ５３は、帳票不一致指数５３ａを帳票判別部７に出力する（Ｓ４１）。以上の、帳票のフォームの一致性と「空白領域」の一致性を基に、行毎に比較した「帳票不一致指数」の結果が小さいほど一致性が高いこと、すなわち判別対象の帳票の種類が比較している帳票テンプレート２１の帳票と同一である可能性が高いことを表す。
【００４６】
（４）帳票記入領域判定部の動作
図６は、帳票記入領域判定部６の動作の一例を示すフローチャートである。帳票記入領域判定部６は、判別対象２値化データ２００Ｃを取得する（Ｓ５１）。帳票記入領域判定部６は、記入領域一致度数カウンタ６２を「０」に初期化し（Ｓ５２）、記入領域度数カウンタ６３を「０」に初期化する（Ｓ５３）。
【００４７】
帳票記入領域判定部６は、記憶部２から記入済み２値化データ２００Ｂを取得し、記入済み２値化データ２００Ｂ及び判別対象２値化データ２００ＣをＡＮＤ回路６０に入力し、それらの論理積（ＡＮＤ）を行毎にとる（Ｓ５４）。ＡＮＤ回路６０は、出力データ６０ａとして「００１１１１０１１１１１００００００００００００００１１０」を出力する。
【００４８】
さらに、帳票記入領域判定部６は、記憶部２から未記入２値化データ２００Ａを取得し、その未記入２値化データ２００ＡとＡＮＤ回路６０の出力データ６０ａをＸＯＲ回路６１Ａに入力し、それらの排他的論理和（ＸＯＲ）を行毎にとる（Ｓ５５）。ＸＯＲ回路６１Ａは、氏名記入行１４０の出力データ６１ａとして「０００００００１１１１１０００００００００００００００００」を出力する。
【００４９】
帳票記入領域判定部６は、ＸＯＲ回路６１Ａの出力データ６１ａの「１」のビットの数を計数して記入領域一致度数カウンタ６２に加算する（Ｓ５６）。この場合、ＸＯＲ回路６１Ａの出力データ６１ａは、「１」のビットの数は「５」であるので、記入領域一致度数カウンタ６２に「５」を加算する。この比較は、記入欄１３０に実際に記入されているか否かと記入欄１３０に実際に記入されている分割領域１１０の数を判定することを目的としている。
【００５０】
次に、帳票記入領域判定部６は、未記入２値化データ２００Ａ及び記入済み２値化データ２００ＢをＸＯＲ回路６１Ｂに入力し、それらの排他的論理和（ＸＯＲ）を行毎にとる（Ｓ５７）。ＸＯＲ回路６１Ｂは、氏名記入行１４０の出力データ６１ｂとして「００００００１１１１１１１１１１１１１１１１１１１００００」を出力する。
【００５１】
帳票記入領域判定部６は、ＸＯＲ回路６１Ｂの出力データ６１ｂの「１」のビットの数を計数して記入領域度数カウンタ６３に加算する（Ｓ５８）。この場合、ＸＯＲ回路６１Ｂの出力データ６１ｂは、「１」のビットの数が「１９」であるので、記入領域度数カウンタ６３に「１９」を加算する。この比較は、記入欄１３０の分割領域１１０の数を判定することを目的としている。
【００５２】
すべての行について判定が終わると（Ｓ５９）、除算回路６４は、記入領域一致度数カウンタ６２が保持する「記入領域一致度数」Ａを記入領域度数カウンタ６３が保持する「記入領域度数」Ｂで除算して「記入領域一致指数」を算出し（Ｓ６０）、算出結果の記入領域一致指数６４ａを出力する（Ｓ６１）。この場合、「記入領域一致指数」は５／１９＝０．２６３となる。これは、記入欄の領域のうち、実際に記入されている領域の割合を表す。
【００５３】
帳票判別部７は、例えば、第１の比較回路７１にて帳票不一致指数５３ａが第１の閾値７０以下と判定し、かつ、第２の比較回路７３にて記入領域一致指数６４ａが第２の閾値７２以上と判定したときは、判別対象の帳票の種類は、帳票テンプレート２１の帳票と同一と判別する。なお、帳票判別部７の判別方法は、上記に限られない。
【００５４】
（第１の実施の形態の効果）
本実施の形態によれば、以下の効果を奏する。
（ア）枠や罫線を有していない帳票でも予め付与された識別情報に依らずに帳票の判別が可能になる。
（イ）帳票のフォームの一致性を示す帳票不一致指数と、フォーム以外の領域（空白領域）の一致性を示す帳票不一致指数の両方を用いることで、いずれか一方の帳票不一致指数のみを用いる場合よりも高い精度で帳票の判別が可能になる。
（ウ）上記帳票不一致指数に加えて、記入欄１３０に記入された分割領域１１０の数に対応する記入領域一致度数と記入欄１３０の分割領域１１０の数に対応する記入領域一致度数との関係を用いることで、本構成を採用しない場合と比べて、定型部分が類似している帳票の誤判定を少なくすることができる。
（エ）また、本実施の形態では、画像を矩形に分割しているため、原稿が横書きでも縦書きでも、特に支障なく同じロジックで帳票を判別することが可能である。
【００５５】
なお、ここでの説明では帳票不一致指数と記入領域一致指数を続けて判定する流れで説明したが、最初に帳票不一致指数を判定して、登録済みの帳票の中から一致度の高いものに絞り込み、その後記入領域一致指数を判定することで、帳票判別処理の高速化を図ることも可能である。
【００５６】
［第２の実施の形態］
第２の実施の形態では、帳票解析部３は、未記入帳票データ１００Ａ、記入済み帳票データ１００Ｂ及びスキャン画像１００Ｃをそれぞれ第１のサイズと第１のサイズよりも小さい第２のサイズの複数の領域に分割して２種類の未記入２値化データ２００Ａ、記入済み２値化データ２００Ｂ及び判別対象２値化データ２００Ｃを生成し、帳票フォーム判定部５及び帳票記入領域判定部６は、第１のサイズの領域に分割されて生成された未記入２値化データ２００Ａ、記入済み２値化データ２００Ｂ及び判別対象２値化データ２００Ｃ間の論理演算を行い、帳票判別部７の判別結果として一致性が高い複数の帳票テンプレートが存在するなど、帳票テンプレートが絞り込めない、あるいは一意に定まらないとき、第２のサイズの領域に分割されて生成された未記入２値化データ２００Ａ、記入済み２値化データ２００Ｂ及び判別対象２値化データ２００Ｃ間の論理演算を行い、帳票判別部７が帳票の判別を行うようにしてもよい。なお、必ずしも帳票テンプレートが一意に定まらなくとも、例えば複合機のタッチパネルに一致性が高い順に判別結果を表示させ、利用者に選択させてもよい。
【００５７】
具体的には、第２の実施の形態は、記憶部２に、複数種類の帳票テンプレートについて、分割領域１１０の大きさを大中小など、複数の大きさで分割した未記入２値化データ２００Ａ及び記入済み２値化データ２００Ｂを複数種類の帳票テンプレートごとにそれぞれ予め処理して登録しておき、帳票フォーム判定部５、帳票記入領域判定部６のフローを、大きな分割領域１１０で分割した判別対象２値化データ２００Ｃから順に実行し、記憶部２に登録されている未記入２値化データ２００Ａ及び記入済み２値化データ２００Ｂと比較を行う。そして、分割領域１１０の大きさを順に小さくして判定を繰り返し、一致性の高い帳票テンプレート２１を順に絞り込んでいく。
【００５８】
例えば、帳票テンプレート２１について、１０×１０、２０×２０、３０×３０、・・・７０×７０などの分割数で予め区分けしておく。最初は分割数の比較的小さなメッシュ（例えば分割数１０ｘ１０など）で比較し、これで帳票テンプレート２１を絞り込んでいく。例えば、３つの帳票テンプレート２１まで絞り込んだとした場合には、３つの帳票テンプレート２１が識別可能となるメッシュの分割数（例えば、７０×７０）で比較し、この比較で用いたメッシュの分割数で帳票の判別を行う。
【００５９】
なお、複数の大きさで分割した２値化データ２００Ａ、２００Ｂを予め処理して登録しておくと記載したが、必要に応じて２値化データを生成するようにしてもよい。つまり、例えば、分割領域１１０の大きさを大中小で比較するときに、予め処理して登録しておくのは「大」、「中」とし、分割領域１１０の大きさが「中」で比較しても帳票テンプレートを絞り込めない場合に、「中」で比較して抽出された帳票テンプレートについて、分割領域１１０の大きさが「小」の２値化データを生成し、さらに比較する処理を実施して判別する構成としてもよい。
【００６０】
（第２の実施の形態の効果）
本実施の形態によれば、最初は分割数の小さいメッシュ（＝少ないデータ量）で計算量を少なくして判定を実行し、絞り込んだ帳票テンプレート２１に対してのみ分割数の大きいメッシュ（＝多いデータ量）で詳細に判定をすることで、記憶部２に大量に帳票データが保存されているときでも、比較する帳票データを絞り込みながら、計算量を少なくして帳票の判別を行うことが可能になる。
【００６１】
［第３の実施の形態］
本実施の形態は、既知の複数種の帳票について複数種の未記入２値化データ２００Ａ及び記入済み２値化データ２００Ｂを帳票テンプレート２１として記憶部２に予め処理して登録しておき、帳票フォーム判定部５、帳票記入領域判定部６及び帳票判別部７は、記憶部２が記憶する複数種の未記入２値化データ２００Ａ及び記入済み２値化データ２００Ｂから選択した未記入２値化データ２００Ａ及び記入済み２値化データ２００Ｂ、及び判別対象２値化データ２００Ｃ間で論理演算を行い、帳票の判別を行ってよい。
【００６２】
（第３の実施の形態の効果）
本実施の形態によれば、複数種の未記入２値化データ２００Ａ及び記入済み２値化データ２００Ｂを予め処理して登録しておくことで、その都度２値化データを生成する場合と比べて、帳票の判別の高速化が図れる。
【００６３】
以上、本発明の実施の形態を説明したが、本発明は上記の実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲内で種々の変形、実施が可能である。
【００６４】
（変形例１）
本実施の形態は、「記入欄」を「記入しなければいけない領域」と「記入してもよい領域」に分けて判定してもよい。これにより、「記入しなければいけない領域」の「記入領域一致指数」はより高くならなければいけないと判断できるので、帳票の一致性をより精度良く判定できる。さらに、「記入しなければいけない領域」が未記入であることを、操作パネル部で警告することも可能になる。
【００６５】
（変形例２）
スキャンで読み込んだ画像は、上下左右に画像がずれることがある。この場合、登録された帳票データとの比較のとき、スキャン画像の上下左右を数ブロックずらして、位置補正をすることで認識精度を向上することも可能になる。
【００６６】
（変形例３）
本発明は、上記実施の形態の論理演算に限らない。例えば、上記実施の形態では、帳票不一致指数が小さい程、帳票の一致性が高くなるように論理演算を行ったが、帳票一致指数が大きい程、帳票の一致性が高くなるように論理演算を行ってもよい。
【００６７】
また、例えば本発明の要旨を変更しない範囲内で、上記実施の形態の構成要素の一部を省くことが可能であり、上記実施の形態のフローにおいて、ステップの追加、削除、変更、入替え等が可能である。また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に記録して提供することもできる。
【符号の説明】
【００６８】
１…帳票判別装置、２…記憶部、３…帳票解析部（生成手段）、４…制御部、５…帳票フォーム判定部（判別手段）、６…帳票記入領域判定部（判別手段）、７…帳票判別部（判別手段）、８…スキャナ、２０…プログラム、２１…帳票テンプレート、３０…領域分割部、３１…２値化部、５０…ＡＮＤ回路、５０ａ…出力データ、５１Ａ、５１Ｂ…ＸＯＲ回路、５１ａ、５１ｂ…出力データ、５２…ＯＲ回路、５２ａ…出力データ、５３…帳票不一致指数カウンタ、５３ａ…帳票不一致指数、６０…ＡＮＤ回路、６０ａ…出力データ、６１Ａ、６１Ｂ…ＸＯＲ回路、６１ａ、６１ｂ…出力データ、６２…記入領域一致度数カウンタ、６３…記入領域度数カウンタ、６４…除算回路、６４ａ…記入領域一致指数、７０…第１の閾値、７１…第１の比較回路、７２…第２の閾値、７３…第２の比較回路、１００Ａ…未記入帳票データ、１００Ｂ…記入済み帳票データ、１００Ｃ…スキャン画像、１１０…分割領域、１２０Ａ、１２０Ｂ…見出し、１３０…記入欄、１３１…パターン、１３２…氏名、１４０…氏名記入行、２００Ａ…未記入２値化データ、２００Ｂ…記入済み２値化データ、２００Ｃ…判別対象２値化データ
【図１】
0005862396.tif 000002
【図２】
0005862396.tif 000003
【図３】
0005862396.tif 000004
【図４】
0005862396.tif 000005
【図５】
0005862396.tif 000006
【図６】
0005862396.tif 000007