(57)【特許請求の範囲】
【請求項１】
所与の画像データから複数の水平線分を抽出するステップと、
前記複数の水平線分の中から、予め定義されたキー線分に相当する水平線分を検出し、前記キー線分に相当する水平線分に外接する外接矩形を生成するステップと、
前記キー線分に相当する水平線分が検出できない場合には、前記キー線分毎に定義された代替線分に相当する水平線分を検出し、前記代替線分の情報を用いて前記外接矩形を生成するステップと、
前記生成された外接矩形の頂点位置その他の情報を利用して、帳票毎の定義情報を記録する帳票定義体から１つの帳票を選択するステップと、を有し、
前記キー線分または代替線分は、安定した帳票の選択を可能にする基準で予め定義され、その太さが所定の閾値以上である第１の条件、前記帳票の周囲のエリアであって空白ではないが画像の欠け、スキューまたは伸縮に対応するために必要なエリアである仮想クリアエリアに重ならない第２の条件、および前記帳票に折り目領域が予め定義されている場合には前記折り目領域に重ならない第３の条件、を満足するものである、画像処理方法。
【請求項２】
前記代替線分に相当する水平線分が検出されたときには、前記代替線分の相対位置から計算される対応するキー線分の存在するべき位置に水平線分が存在していると仮定し、前記仮定された水平線分に外接する外接矩形を生成する請求項１に記載の画像処理方法。
【請求項３】
前記選択された帳票の定義情報を参照して、前記画像データに含まれる文字を認識するステップをさらに有する請求項１または２に記載の画像処理方法。
【請求項４】
所与の画像データから水平線分を抽出するステップと、
前記抽出された水平線分が、予め定義された回転方向判別用線分に相当するかを判断し、画像回転方向を決定するステップと、
前記回転方向判別用線分に相当する水平線分が検出できない場合には、前記回転方向判別用線分毎に定義された代替線分に相当する水平線分を検出し、前記代替線分に相当する水平線分が検出されたときには、前記回転方向判別用線分が検出されたと判断して前記画像回転方向を決定するステップと、
前記決定された回転方向に前記画像データを回転するステップと、
前記画像データに相当する帳票を識別し、必要な場合はさらに前記帳票の定義情報を参照して前記画像データに含まれる文字を認識するステップと、を有し、
前記回転方向判別用線分または代替線分は、安定した帳票の識別を可能にする基準で予め定義され、その太さが所定の閾値以上である第１の条件、前記帳票の周囲のエリアであって空白ではないが画像の欠け、スキューまたは伸縮に対応するために必要なエリアである仮想クリアエリアに重ならない第２の条件、前記帳票に折り目領域が予め定義されている場合には前記折り目領域に重ならない第３の条件、および前記帳票の中心を軸とする１８０度回転対称位置に類似する線分が存在しない第４の条件、を満足するものである、画像処理方法。
【請求項５】
前記水平線分の抽出は、前記回転方向判別用線分が存在するべき前記画像データの一部領域およびその１８０度回転対称領域を対象とする請求項４に記載の画像処理方法。
【請求項６】
所与の画像データから複数の水平線分を抽出する手段と、
前記複数の水平線分の中から、予め定義されたキー線分に相当する水平線分を検出し、前記キー線分に相当する水平線分に外接する外接矩形を生成する手段と、
前記キー線分に相当する水平線分が検出できない場合には、前記キー線分毎に定義された代替線分に相当する水平線分を検出し、前記代替線分の情報を用いて前記外接矩形を生成する手段と、
帳票毎の定義情報を記録する帳票定義体と、
前記生成された外接矩形の頂点位置その他の情報を利用して、前記帳票定義体から１つの帳票を選択する手段と、を有し、
前記キー線分または代替線分は、安定した帳票の選択を可能にする基準で予め定義され、その太さが所定の閾値以上である第１の条件、前記帳票の周囲のエリアであって空白ではないが画像の欠け、スキューまたは伸縮に対応するために必要なエリアである仮想クリアエリアに重ならない第２の条件、および前記帳票に折り目領域が予め定義されている場合には前記折り目領域に重ならない第３の条件、を満足するものである、画像処理システム。
【請求項７】
前記代替線分に相当する水平線分が検出されたときには、前記代替線分の相対位置から計算される対応するキー線分の存在するべき位置に水平線分が存在していると仮定し、前記仮定された水平線分に外接する外接矩形を生成する請求項６に記載の画像処理システム。
【請求項８】
前記選択された帳票の定義情報を参照して、前記画像データに含まれる文字を認識する手段をさらに有する請求項６または７に記載の画像処理システム。
【請求項９】
所与の画像データから水平線分を抽出する手段と、
前記抽出された水平線分が、予め定義された回転方向判別用線分に相当するかを判断し、画像回転方向を決定する手段と、
前記回転方向判別用線分に相当する水平線分が検出できない場合には、前記回転方向判別用線分毎に定義された代替線分に相当する水平線分を検出し、前記代替線分に相当する水平線分が検出されたときには、前記回転方向判別用線分が検出されたと判断して前記画像回転方向を決定する手段と、
前記決定された回転方向に前記画像データを回転する手段と、
前記画像データに相当する帳票を識別し、必要な場合はさらに前記帳票の定義情報を参照して前記画像データに含まれる文字を認識する手段と、を有し、
前記回転方向判別用線分または代替線分は、安定した帳票の識別を可能にする基準で予め定義され、その太さが所定の閾値以上である第１の条件、前記帳票の周囲のエリアであって空白ではないが画像の欠け、スキューまたは伸縮に対応するために必要なエリアである仮想クリアエリアに重ならない第２の条件、前記帳票に折り目領域が予め定義されている場合には前記折り目領域に重ならない第３の条件、および前記帳票の中心を軸とする１８０度回転対称位置に類似する線分が存在しない第４の条件、を満足するものである、画像処理システム。
【請求項１０】
前記水平線分の抽出は、前記回転方向判別用線分が存在するべき前記画像データの一部領域およびその１８０度回転対称領域を対象とする請求項９に記載の画像処理システム。
【請求項１１】
コンピュータが実行可能なプログラムであって、
所与の画像データから複数の水平線分を抽出する機能と、
前記複数の水平線分の中から、予め定義されたキー線分に相当する水平線分を検出し、前記キー線分に相当する水平線分に外接する外接矩形を生成する機能と、
前記キー線分に相当する水平線分が検出できない場合には、前記キー線分毎に定義された代替線分に相当する水平線分を検出し、前記代替線分の情報を用いて前記外接矩形を生成する機能と、
前記生成された外接矩形の頂点位置その他の情報を利用して、帳票毎の定義情報を記録する帳票定義体から１つの帳票を選択する機能と、
前記選択された帳票の定義情報を参照して、前記画像データに含まれる文字を認識する機能と、をコンピュータに実現させ、
前記キー線分または代替線分は、安定した帳票の選択を可能にする基準で予め定義され、その太さが所定の閾値以上である第１の条件、前記帳票の周囲のエリアであって空白ではないが画像の欠け、スキューまたは伸縮に対応するために必要なエリアである仮想クリアエリアに重ならない第２の条件、および前記帳票に折り目領域が予め定義されている場合には前記折り目領域に重ならない第３の条件、を満足するものである、プログラム。
【請求項１２】
コンピュータが実行可能なプログラムであって、
所与の画像データから水平線分を抽出する機能と、
前記抽出された水平線分が、予め定義された回転方向判別用線分に相当するかを判断し、画像回転方向を決定する機能と、
前記回転方向判別用線分に相当する水平線分が検出できない場合には、前記回転方向判別用線分毎に定義された代替線分に相当する水平線分を検出し、前記代替線分に相当する水平線分が検出されたときには、前記回転方向判別用線分が検出されたと判断して前記画像回転方向を決定する機能と、
前記決定された回転方向に前記画像データを回転する機能と、
前記画像データに相当する帳票を識別し、前記帳票の定義情報を参照して前記画像データに含まれる文字を認識する機能と、をコンピュータに実現させ、
前記回転方向判別用線分または代替線分は、安定した帳票の識別を可能にする基準で予め定義され、その太さが所定の閾値以上である第１の条件、前記帳票の周囲のエリアであって空白ではないが画像の欠け、スキューまたは伸縮に対応するために必要なエリアである仮想クリアエリアに重ならない第２の条件、前記帳票に折り目領域が予め定義されている場合には前記折り目領域に重ならない第３の条件、および前記帳票の中心を軸とする１８０度回転対称位置に類似する線分が存在しない第４の条件、を満足するものである、プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、イメージデータの処理方法、処理システムおよびプログラムに関する。特に、ビットマップデータ等のイメージデータからＯＣＲ（optical character readerまたはoptical character recognition）等のデータ処理を行う場合の、帳票の識別処理あるいは文字枠等フィールド位置の特定に適用して有効な技術に関する。
【０００２】
【従来の技術】
帳票（一定の書式を有する申請書、契約書等の書面をいう）の識別と文字の認識処理として、文字枠などの位置をイメージ上で特定するためには、（１）ページマークあるいはリファレンスマークを基準として用いる方式、（２）スキャナーに帳票の背景を黒として帳票のエッジを検出する機能が有る場合、そのエッジを基準に用いる方式、（３）黒色文字枠を個別に検出し、その枠とあらかじめ定義されている枠とのマッチングをする方式、が採用できる。
【０００３】
しかし、方式（１）においては、帳票にページマークあるいはリファレンスマークが必須となり、ユーザーが使用できる領域が狭くなるなど制限が多くなってしまう。また、この方式では、ページマークあるいはリファレンスマークが無い帳票に対応できないという問題点がある。方式（２）は、このような機能が備わっているＯＣＲ専用の高価なスキャナーでなければ適用できないという問題点がある。方式（３）は、黒色文字枠を検出するために、水平線分ばかりでなく垂直線分も特徴として抽出する必要があるので、処理速度が低下するという問題がある。
【０００４】
また、前処理としてイメージそのものをスキュー補正して、スキューが全くない状態にするので、さらに処理が遅くなるという問題点がある。特に帳票の内容を用いて識別する方式では、スキューや位置ずれのある場合は、分析ロジックが複雑になりがちであり、処理速度が低下する傾向にある。
【０００５】
これらの問題を解決する一手法として、たとえば特開平１１−１４３９８６号公報に記載された本発明者らの発明に係る技術がある。この技術では以下のようなステップの処理を行う。まず、（１）ビットマップイメージから水平線分を抽出する。（２）水平線分に接する外接矩形（外接長方形）を生成する。（３）スキューの理論的補正を行った後、（４）あらかじめ登録された帳票定義体を参照し、外接矩形による帳票候補の絞り込み、水平線分の情報による帳票候補の絞り込みを行い、帳票の識別を行う。その後、（５）識別された帳票の入力フィールドに対応する領域の文字認識を行ってビットマップイメージから認識文字を生成する。なお、帳票定義体にはあらかじめ各帳票の線分や外接矩形の情報を登録しておく。
【０００６】
この技術により以下のような効果が得られている。すなわち、ページマークあるいはリファレンスマークなしの帳票で、かつスキャナーが帳票のエッジを検出できないものであっても文字枠（入力フィールド）の特定と文字の認識を可能にできる。また、高速に認識できる水平線分のみから形成した外接矩形を基準としてビットマップイメージの比較を行うことができるので、ビットマップイメージの識別処理を高速化できる。また、イメージそのものをスキュー補正することなく、理想のイメージへマッピングをすることができるので、ビットマップイメージの識別処理を高速化できる。また、外接矩形の４隅を仮想ページマークとすることができるので、従来のページマークを基準とした文字枠の検出ロジックを流用できる。また、外接矩形や水平線分の定義情報を既存の帳票定義体に追加できるので、従来の帳票定義体の情報をそのまま利用でき、帳票定義体を作成するオペレータの負担を軽減できる。
【０００７】
また、前記公報記載の技術を適用する前提として、ビットマップイメージの方向が文字認識できる方向であることが必要である。すなわち、ビットマップイメージが認識方向に対して９０度あるいは２７０度等回転している場合には、正常に認識できる方向にイメージを回転する操作を考慮する必要がある。たとえば、本発明者らが実施しているシステムでは以下のような処理を施す。すなわち、まず、（１）原帳票を９０度回転する。（２）水平線分を検出し、その線分情報を利用して帳票識別を行う。（３）帳票識別がＯＫなら認識処理に進む。（４）帳票識別がＮＧなら原帳票を２７０度回転する。（５）水平線分を検出し、その線分情報を利用して帳票識別を行う。（６）帳票識別がＯＫなら認識処理に進む。ＮＧなら帳票エラーとする。なお、この処理は、Ａ４等長方形用紙に横書きされる帳票を仮定し、この帳票がファクシミリ等によって用紙の短辺に対して平行にスキャンされるデータを仮定している。よって帳票の回転方向は９０度あるいは２７０度に限られる場合の例である。
【０００８】
【発明が解決しようとする課題】
このように、前記した公報記載の技術あるいは本発明者らが実施しているイメージ回転操作の処理によって、前記した方式（１）〜（３）に付随する問題点を解決できる。しかし、前記公報記載の技術あるいは本発明者らが実施しているイメージ回転操作の処理には以下のような問題がある。
【０００９】
すなわち、前記公報に記載の技術では、主にＯＣＲ処理用に設計された帳票（ＯＣＲ用帳票）を用いることが前提となっている。ＯＣＲ用帳票では文字入力枠（入力フィールド）が太い線で指定され、一般的には一文字づつ太い矩形で囲まれる。前記技術の水平線分検出では、ＯＣＲ用帳票を採用する限り安定した線分検出が可能である。また、水平線分が安定に検出できることを前提にすれば、仮想ページマーク（外接矩形）の生成を安定化するためには、より広い外接矩形を構成するような最も外側の水平線分をキー線分とするのが合理的である。よって、前記技術では、ＯＣＲ用帳票を用いることを前提に、最も外側の水平線分をキー線分として外接矩形（仮想ページマーク）を生成するアルゴリズムを採用する。つまり前記技術では、帳票の中で安定して検出できる水平線分をベースにするようなアルゴリズムの考慮がなされていない。
【００１０】
このため、帳票として非ＯＣＲ帳票を採用した場合、外接矩形を決定するキー線分が、かすれ、スキュー、帳票端の欠けや汚れ、折り目等のために検出できない場合や、キー線分の一部（特に外側）が欠けてしまうような場合に、安定した仮想ページマーク（外接矩形）が生成できず、誤った仮想ページマークを生成してしまう問題がある。特に、帳票の周囲にスキューや伸縮に対応するための空白エリアであるクリアエリアが無いあるいは少ない場合に、ファクシミリ等で送信されたイメージの受信データでは必要な水平線分がファックスヘッダーによって欠けてしまう。このため本来認識されるべき帳票が認識されず、帳票識別エラーを生じてしまう。
【００１１】
また、一般に帳票全体を対象とした水平線分の検出処理やイメージ全体の回転操作の処理は時間がかかる。前記したイメージ回転操作の技術では、一つの帳票を処理する毎に必ず１回の回転操作と線分検出処理を行わなければならず、最悪の場合、２回の回転操作と線分検出処理を行わなければならない。処理速度の向上は常に要求されることであり、無駄な操作を省略してより速い処理速度を実現できるアルゴリズムの採用が望まれる。
【００１２】
本発明の目的は、非ＯＣＲ用帳票であっても安定した仮想ページマークを生成し、安定した帳票の識別が可能な技術を提供することにある。
【００１３】
また、本発明の目的は、水平線分の検出に冗長性を持たせ、水平線分の検出が困難な場合にも安定した仮想ページマークを生成できる技術を提供することにある。
【００１４】
さらに、本発明の目的は、帳票回転操作の方向をあらかじめ検出する技術を提供し、回転操作および帳票全体の線分検出処理の回数を最低限に抑制して、処理速度を向上する技術を提供することにある。
【００１５】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。すなわち、本発明では、非ＯＣＲ帳票の場合、水平線分情報が正しく検出できないことを想定して、仮想ページマークの検出にあたっては帳票の中で安定して検出できるキー線分をあらかじめ定義し、このキー線分をベースに仮想ページマーク（外接矩形）を生成する。また、キー線分の検出には冗長性を持たせ、汚れ、欠け等によってキー線分が検出できなかった場合であっても代替線分を定義してこの代替線分をベースに仮想ページマークを生成する。
【００１６】
このような発明により、非ＯＣＲ帳票であっても安定して仮想ページマークを生成でき、帳票識別の能力が向上する。また、キー線分の検出に冗長性があるので、帳票識別エラーの確率を減少できる。
【００１７】
なお、選択するキー線分は以下のような条件に合致するものとする。すなわち、（１）帳票のかすれに耐えられる太さを持つ線分であること、（２）帳票周囲から十分な距離を持った位置にあり、スキューや帳票端の欠けにも安定な線分であること、（３）帳票の原紙の折り目と重ならない線分であること、である。
【００１８】
また、本発明では、以下のような帳票回転処理を行う場合がある。すなわち、（１）原帳票を回転せずに、一部領域の水平線分を検出し、その線分情報を利用して回転方向の判別を行う。（２）回転方向の判別がＯＫなら回転処理に進み、ＮＧなら帳票エラーとする。（３）原帳票を判別した回転角で回転する。（４）水平線分を検出し、その線分情報を利用して帳票識別を行う。（５）帳票識別がＯＫなら認識処理を行い、ＮＧなら帳票エラーとする。
【００１９】
このような帳票回転処理により、全ての帳票においてその処理が認識処理に進むまでに、１回の回転方向判別処理と１回の回転操作と１回の線分検出処理を経過するのみである。従来２回の回転操作および線分検出処理を経る場合があった時と比較して処理速度を著しく向上できる。なお、回転方向判別処理は帳票イメージの全体を検査する必要が無く、その１０分の１程度の領域を検査すれば十分である。このため本発明の回転方向判別処理には過大な処理時間を要することはない。
【００２０】
なお、本発明は方法あるいはシステムとして把握できるほか、プログラムとして把握することも可能である。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。なお、実施の形態の全体を通して同じ要素には同じ番号を付するものとする。
【００２２】
以下の実施の形態では、主に方法またはシステムについて説明するが、当業者であれば明らかなとおり、本発明は方法、システムの他、コンピュータで使用可能なプログラムとしても実施できる。したがって、本発明は、ハードウェアとしての実施形態、ソフトウェアとしての実施形態またはソフトウェアとハードウェアとの組合せの実施形態をとることができる。プログラムを記録する媒体としては、ハードディスク、ＣＤ−ＲＯＭ、光記憶装置または磁気記憶装置を含む任意のコンピュータ可読媒体を例示できる。
【００２３】
また、本実施の形態で用いるコンピュータシステムには、一般的なコンピュータシステムを用いることができる。コンピュータシステムには、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等各種のコンピュータを含む。なお、コンピュータシステムは相互にＬＡＮ（local area network）で接続されても良く、インターネットを介して接続されても良い。これら相互に接続されたコンピュータシステムが分散的に後に説明する本発明の方法を実現しても良い。
【００２４】
一般的なコンピュータシステムは、中央演算処理装置（ＣＰＵ）、主記憶装置（メインメモリ：ＲＡＭ）、不揮発性記憶装置（ＲＯＭ）等がバスで相互に接続され、バスには、その他コプロセッサ、画像アクセラレータ、キャッシュメモリ、入出力制御装置（Ｉ／Ｏ）等が接続される。バスには、適当なインタフェースを介して外部記憶装置、データ入力デバイス、表示デバイス、通信制御装置、音声出力装置等が接続される。その他、一般的にコンピュータシステムに備えられるハードウェア資源を備えることが可能なことは言うまでもない。外部記憶装置にはハードディスク装置、光磁気記憶装置、光記憶装置、フラッシュメモリ等半導体記憶装置が例示できる。データ入力デバイスには、キーボード等の入力装置、マウス等ポインティングデバイス、ペン入力装置、タブレット装置、スキャナ等の画像読み取り装置、音声入力装置等を含む。また、データは、ファクシミリからの信号を受けてビットマップ等のイメージデータとして入力されても良い。あるいは電子メール等に添付されたイメージデータが入力されても良い。データ表示装置としては、ＣＲＴ、液晶表示装置、プラズマ表示装置が例示できる。
【００２５】
オペレーティング・システムとしては、Ｗｉｎｄｏｗｓ（マイクロソフトの商標）、ＯＳ／２（ＩＢＭの商標）、ＡＩＸ（ＩＢＭの商標）上のＸ−ＷＩＮＤＯＷシステム（ＭＩＴの商標）などの、標準でＧＵＩマルチウインドウ環境をサポートするものが望ましい。しかし本発明は、特定のオペレーティング・システム環境に限定されない。
【００２６】
図１は本発明の一実施の形態である画像処理システムの一例をその機能について示したブロック図である。本実施の形態の画像処理システム１００は、ユーザ入力部１０１、制御部１０２、画像解析部１０３、画像表示部１０４、画像入力部１０５、定義体格納部１０６を含む。
【００２７】
ユーザ入力部１０１は、処理の開始・終了の命令の入力や、マウス等ポインティングデバイスを使用した画面上の座標値の入力等をユーザから受領し、制御部１０２に伝達する機能を持つ。制御部１０２は各種の制御を司る。画像解析部１０３は、画像入力部１０５に保持する画像情報を解析する。たとえば画像内の線分を抽出し、検出した線分を特定する座標値等を導出する。画像表示部１０４は、画像入力部１０５の保持する帳票イメージ等の画像情報や、定義体格納部１０６に格納されたフィールドの位置情報や、属性情報を表示画面上に表示する。画像入力部１０５は、ファクシミリ、スキャナ等から入力された帳票イメージ等の画像情報を保持し、その画像情報を制御部１０２に伝達する。定義体格納部１０６には、後に説明する定義体が格納される。各機能ブロックの詳しい機能については後に詳述する。
【００２８】
なお、図１に示す機能ブロックは、論理的機能ブロックであり、各々１つのまとまりを持ったハードウエアやソフトウエアによって実現されることを意味するのではなく、複合し、または共通したハードウエアやソフトウエアによって実現可能である。
【００２９】
次に、本実施の形態のシステムの動作を説明する。以下、ＯＣＲに本発明を適用した例を説明するが本発明はＯＣＲだけに限られず、一般的なビットマップ・イメージの認識や識別においても適用可能である。また、画像データはビットマップイメージに限らず、ポストスクリプト形式、ピクト形式等他の形式で表現された画像データにも本発明を適用できる。
【００３０】
帳票識別機能を有するＯＣＲソフトウエアは、文字を認識するに際し、あらかじめ文字枠の位置や文字属性などを記述したファイル（以降帳票定義体と呼ぶ）を使用して実際に文字が記入された帳票を識別し、文字の記入されている場所である文字フィールドを特定し、文字を認識／コード化している。
【００３１】
図２は、本実施の形態の画像処理システムに好適な帳票定義体の内容の一例を示す概念図である。帳票定義体２００には、従来の帳票定義体に対応する帳票／文字枠定義情報部２１０、外接矩形／水平線分定義情報部２３０、回転方向判別用線分定義情報部２５０を有する。本発明の好適な実施例における定義体格納部１０６は、複数の帳票定義体２００を格納している。
【００３２】
帳票／文字枠定義情報部２１０は、帳票番号２１１およびその帳票に含まれる文字枠ごとの文字枠情報２１２を含む。文字枠情報２１２には、文字枠番号２１３、文字枠の開始位置２１４（文字枠の左上の頂点の座標位置）、文字枠の大きさ（幅及び高さの情報）２１５、文字数２１６、属性２１７を含む。一般に各帳票には複数の文字枠が含まれ、文字枠情報２１２は文字枠ごとに管理される。
【００３３】
外接矩形／水平線分定義情報部２３０は、帳票毎に、帳票／文字枠定義情報部２１０にリンクしており、外接矩形の左上の位置（ｘ、ｙ座標）２３１、外接矩形の右上の位置（ｘ座標）２３２、外接矩形の左下の位置（ｘ、ｙ座標）２３３、外接矩形の右下の位置（ｘ座標）２３４、水平線分の本数２３５、キー線分の本数・ＩＤ２３６、代替線分の本数・ＩＤ２３７、線分情報２３８の各情報を含む。
【００３４】
キー線分の本数・ＩＤ２３６、代替線分の本数・ＩＤ２３７またはこれらの双方の領域には、各線分間の関連付けを行う相互参照情報を含ませても良い。このような構成をとることにより、後述するような代替線分からのキー線分の特定、第１キー線分からの第２キー線分の特定といった処理を効率的に行うことができる。相互参照情報としては、関連する線分のＩＤ（識別情報）や関連する線分との位置の差分データ等を含ませても良い。ただしこのような情報は、線分情報２３８に線分ごとに持たせても良い。
【００３５】
線分情報２３８は各々の線分について管理され、線分の開始位置２３９、線分の長さ２４０、線分の太さ２４１の各情報を含む。なお、ここでの線分は、帳票が正常な方向に表示された状態で水平に表示される線分である。この外接矩形／水平線分定義情報部２３０の４隅の情報２３１〜２３４については、従来の帳票定義体に含まれているページマーク／レファレンスマークの定義エリアを流用することも可能である。
【００３６】
回転方向判別用線分定義情報部２５０は、帳票毎に、帳票／文字枠定義情報部２１０にリンクしており、回転方向判別用線分の本数２５１、線分情報２５２を含む。線分情報２５２は、線分ごとに管理され、線分の開始位置２５３、線分の長さ２５４、線分の太さ２５５等の各情報を含む。なお、回転方向判別用線分の線分情報は、正常方向に対する回転角と関連付けて記録される。たとえば正常方向に対して９０度回転した画像データにおける水平線分として、及び、２７０度に回転した画像データにおける水平線分として前記各情報２５３〜２５５を記録できる。あるいは、たとえば正常方向に対して９０度回転した画像データにおける水平線分の情報のみを記録し、２７０度回転の場合の線分情報は９０度回転の場合のデータから計算により求めても良い。
【００３７】
帳票定義体のうち、帳票／文字枠定義情報部２１０に相当する部分を生成する技術は、本願の出願時において公知である。たとえば、新たに作成されたＯＣＲ用帳票を文字認識プログラムに認識させるＯＣＲの帳票定義作業（帳票定義体生成作業）を行うに際し、古典的手法においては、帳票のサイズ、ページマーク／位置補正マーク（タイミングマークまたはリファレンスマークとも呼ばれる）／文字フィールド／文字の相対的な位置とサイズなどを物差しを使って測定し、その数値を入力し、帳票定義体を生成することができる。しかし、この手法は、オペレータ（定義体作成者）にとって手間のかかるものである。現在いくつかの改良された手法が提案されている。一例をあげると、メディア・ドライブ社の「WinReader Hand v1.5 ユーザーズ・マニュアル、フィールドの設定(p19,20)」（「WinReader Hand」はメディア・ドライブ社の商標）に記載されたような、黒枠の帳票では未記入の帳票イメージをスキャナーで取り込み、ディスプレイ上に表示し、全ての黒い縦線と横線を自動検出し、オペレータが直線を正しく検出されたことを確認してから文字認識フィールドを設定する方式がある。
【００３８】
また、本願の出願人による特許３１１３８２７号公報に記載されているように、文字枠を含む帳票のスキャンしたイメージをディスプレイ上に表示し、認識フィールドごとに左端の文字枠内をマウスでクリックし、次に同一フィールドの右端の文字枠内をクリックすることにより自動的にフィールドの指定を行う技術がある。この技術においては、文字枠検出プログラムを実行後、検出された文字枠の再設定、属性情報の設定を行うことが可能である。フィールド属性を設定すると、数字項目中の数字の「０」を誤って英字の「Ｏ」と認識することを避けることができ、また、対比する集合が少なくなるため、高速に認識を行うことができるというメリットがある。特に手書き文字認識では、数字の「０」と英字の「Ｏ」等判別が困難な文字も存在するため、属性情報を含む帳票定義体を用いなくても認識は可能であるものの、実用に耐えうる速度、及び認識率を得ることは困難であり、また認識した文字の以降の扱い（住所、姓名、金額など）が不明になりやすい。従って、帳票を認識する処理は、通常、帳票定義体の作成とそれに基づく実帳票の認識という２つのステップから構成されている。
【００３９】
本発明も、このＯＣＲ処理における帳票定義体の作成への適用と帳票識別／文字認識への適用の２つのステップへ応用することができる。以下、各ステップにおける本発明の適用例を説明する。
【００４０】
図３は、帳票定義体作成処理の流れの一例を示したフローチャートである。まず、ブランク帳票のイメージデータをスキャナ、ファクシミリ等によって入力する。この帳票定義体の作成処理においては、帳票は正常方向に表示されているものとする。つまり、帳票が９０度、２７０度等回転して入力された場合には、正常方向で表示されるように回転修正されているものとする。
【００４１】
画像が正常方向で表示されている状態で、画像から水平線分の抽出を行う（ステップ３０１）。本発明では、帳票から水平線分を抽出し、これを帳票識別のベースにすることが特徴の一つである。これは、水平線分の抽出は垂直線分の抽出に比較して数倍速く処理できるからである。ビットマップデータの場合、水平方向にスキャンすることによって高速に水平線分の抽出が行える。この時、文字等を形成する無用の短い線分やノイズの影響を避けるために、水平線分の長さ及び太さに制限を設けることができる。例えば長さ７ｍｍ以下あるいは太さ０．３ｍｍ以下の線分は無視するという制限を例示できる。
【００４２】
図４は、本実施の形態で用いる帳票の一例を示した図である。帳票４００は、たとえばＡ４用紙サイズの大きさであり、長手方向に横書きされるフォーマットを持つ。帳票４００には多数の入力領域４０１が存在する。図示する帳票４００はブランク帳票であり、入力領域４０１には必要に応じて文字が書き込まれる。なお、符号４０１を付した入力領域は例示であり、それ以外の領域にも入力領域が存在することは勿論である。入力領域４０１に書き込まれた文字は、後に説明するように文字認識の対象となる。
【００４３】
図５は、図４の帳票がステップ３０１で線分抽出された後の一例を示す概念図である。ここでは、帳票４００内のほとんど全ての水平線分６０１が抽出されている状態を示す。線分を特定する情報として、各線分（線幅の中央）の始点、終点のｘ，ｙ座標、線分の太さの情報を線分特定情報として保持する。各線分の始点のｘ，ｙ座標、線分の長さ、太さの情報を線分特定情報として保持することも有効である。また、次に説明するキー線分を識別するために各線分に線分番号等のＩＤを付す。
【００４４】
次に、図５のように抽出された線分６０１からキー線分を選択する（ステップ３０２）。図６はキー線分の選択手順の一例を示したフローチャートである。以下キー線分の選択手順を説明する。
【００４５】
まず、コンピュータの表示画面上に図５のように線分を表示する（ステップ５０１）。このとき、図４の帳票４００を重ねて表示しても良い。
【００４６】
次にオペレータがマウス等のポインティングデバイスを用いてキー線分を特定する（ステップ５０２）。キー線分の選択基準は、このキー線分をベースとして外接矩形（仮想ページマーク）が生成されることを考慮すれば、確実かつ安定に抽出されるものであることが好ましい。よって、選択するキー線分は十分な太さを持ち、かすれ等に強いものであるべきである。また、帳票の原紙である用紙に折り目がある場合には、これら折り目の部分で線分が途切れることがよくある。このためキー線分は折り目の領域に重ならないものであるべきである。また、帳票４００のスキューが正確に補正できることを考慮すれば、できるだけ帳票４００の周辺にその端部が位置する線分を選択することが好ましい。しかし、あまり極端に端部に位置するようでは逆に安定な外接矩形は生成できない。クリアエリアは端部の欠けやスキュー補正に対処するために余裕として持たせておくべき空白エリアであり、図４に示すような帳票４００のように、周辺に十分な空白のクリアエリアが存在しない帳票では積極的に仮想的なクリアエリア（空白ではないが、ファクシミリ等のファックスヘッダーによる欠け、スキューや伸縮に対応するために必要なエリア、以降仮想クリアエリアという）をとるべきである。これらの条件を考慮してオペレータがマウスを用いて候補となる線分を指定する。
【００４７】
システムは指定された線分について、所定の太さ以上であるかを判断し（ステップ５０３）、これがＹｅｓであるときにはさらに帳票周囲の仮想クリアエリアに重ならないかを判断し（ステップ５０４）、この判断もＹｅｓの場合はさらに折り目と重ならないかを判断する（ステップ５０５）。ステップ５０５の判断をもＹｅｓと判断されたとき、すなわち前記３つの条件を全てＹｅｓと判断したとき選択された線分をキー線分として決定する（ステップ５０６）。選択されたキー線分は、線分番号（線分ＩＤ）が記録されることによって管理される。なお、前記ステップ５０３〜５０５の判断が１つでもｎｏの場合はステップ５０２に戻って線分の特定からやり直す。線分決定後、線分の選択処理を終了するかをオペレータに問い合わせ（ステップ５０７）、選択処理を続行する場合はステップ５０２に戻って上記処理を繰り返し、選択処理を終了する時には処理を終了する（ステップ５０８）。以上のようにして抽出された水平線分からキー線分を選択する。
【００４８】
なお、ここでは、オペレータが選択した線分について、前記した選択基準の判断をシステムがステップ５０３〜５０５によって自動的に行う例を説明した。しかし、前記判断をシステムに自動的に行わせるのではなく、全ての判断をオペレータに任せても良い。また、オペレータに線分を選択させるのではなく、ステップ３０１で抽出された線分について各々前記ステップ５０３〜５０５の判断を行い、それをパスした線分のうち最も周辺にその端部が位置する線分からランキングを行い、ランクの高い線分をシステムが自動的にキー線分であると決定する方法を採用することもできる。つまり、キー線分の決定を全てシステムによって自動的に行っても良い。
【００４９】
次に代替線分を選択する（ステップ３０３）。後に説明するように、本実施の形態では外接矩形の形成はキー線分をベースに行う。しかし、キー線分が検出できなかった場合、外接矩形が生成できない事態を生じるので、これを避けるため、代替線分をキー線分のバックアップとして定義する。代替線分の選択基準はキー線分の選択基準とほぼ同じである。ただし、既にキー線分として選択されている線分は選択対象から除かれる。選択方法は前記した図６に示す手順と同じである。また、代替線分がオペレータの選択操作のみによって、あるいはシステムにより自動生成できる点もキー線分選択の場合と同様である。
【００５０】
図７は、キー線分および代替線分が選択された後の線分を示す概念図である。図５に示す線分のうち、キー線分として線分６１１，６１２，６１３が選択されている。また、代替線分として線分６２１，６２２，６２３が選択されている。図８は、仮想クリアエリアおよび折り目領域を重ねて示した図である。キー線分６１１，６１２，６１３および代替線分６２１，６２２，６２３は、帳票４００の周囲の仮想クリアエリア６３１、折り目領域６３２に重ならないように選択されている。このように選択されたキー線分６１１，６１２，６１３および代替線分６２１，６２２，６２３は、実際の認識処理においてほぼ確実に抽出および認識されることが期待され、安定した外接矩形を確実に生成できることが期待できる。これにより帳票の周囲に実際のクリアエリア（空白）が存在しない場合でも、帳票の識別を確実にすることができる。また、ＯＣＲ用に設計されていない非ＯＣＲ帳票では、線分認識が困難な細い線分を含むこともあるが、このような細い線分をあらかじめ避けて、確実に認識されるであろう太い線分をキー線分あるいは代替線分とすることにより、非ＯＣＲ帳票であっても確実に外接矩形を生成できる。また、帳票端部や折り目領域に位置することによって欠けの生じる可能性のある線分を避け、そのような欠けの生じない線分をキー線分あるいは代替線分に選択するため、安定に外接矩形を生成できる。さらに、仮にキー線分の検出に失敗した場合であっても、代替線分を検出できれば外接矩形を生成することが可能になる。つまり外接矩形生成のベースとなる線分の検出に冗長性を持たすので、外接矩形生成の信頼性を向上できる。
【００５１】
なお、図７および図８では、キー線分、代替線分の各々を３本ずつ選択している例を示しているが、キー線分および代替線分の本数は、十分な大きさの外接矩形が生成できる限り２本でもよい。
【００５２】
次に、キー線分あるいは必要な場合は代替線分をベースに外接矩形を生成する（ステップ３０４）。まず、外接矩形の生成に先立ち、ステップ３０１で抽出された水平線分の集合から帳票に唯一の平均スキュー値を計算しておく。たとえば線分情報の始点、終点のｘ，ｙ座標から各線分の傾きを求め、その平均値を平均スキュー角とする。外接矩形はこの平均スキュー値の角度を持って生成される。
【００５３】
外接矩形は、キー線分を含む矩形として生成される。キー線分となる各線分の始点の最小及び最大のｙ座標、最小のｘ座標、各線分の最大のｘ座標の情報から、外接矩形の定義情報として、外接矩形の４隅の点を保持する。図９は、外接矩形の形成処理によって作成された外接矩形の概念図である。外接矩形６４１の各頂点に仮想ページマーク６４２が生成されることになる。外接矩形の頂点に線分が無い場合、たとえば図９の外接矩形６４１の右下頂点のような場合、水平線分ｘ座標の最大値または最小値を用いて直線方程式で算出する。
【００５４】
このようにして求めた水平線分、キー線分、外接矩形の位置情報は、図２の定義体に格納する。
【００５５】
次に、外接矩形を基準として文字フィールドの位置及び認識属性を指定する（ステップ３０５）。外接矩形の左上を原点として、文字枠の相対的な位置を決定する。本実施の形態においては、従来の帳票定義体２００として、帳票／文字枠定義情報部２１０のみが先に作成されており、その生成されている帳票定義体２００に、外接矩形／水平線分定義情報部２３０を追加している。この態様においては、各文字枠の開始位置２１４のｘ座標ｙ座標の値が外接矩形の左上の位置２３１のｘ座標ｙ座標の値によって減算される。
【００５６】
本実施の形態においては、帳票／文字枠定義情報部２１０と、外接矩形／水平線分定義情報部２３０とを一連の処理で定義する。この態様においては、先に抽出された外接矩形の左上の位置２３１を起点として、公知の文字枠の検出プログラムを実行し、文字枠の開始位置２１４の抽出を行っている。
【００５７】
また、外接矩形の左上の位置２３１と右上の位置２３２をページマークとみなして使用することにより、従来のページマークを使用したプログラムを大きな変更を加えずに使用することができる。
【００５８】
次に、外接矩形の左上を基準とした逆回転による隅と各文字フィールドのスキュー補正を行う（ステップ３０６）。先に求めたスキュー値に基づいた回転角を用い、外接矩形の残りの３隅及び文字枠の位置を外接矩形の左上を基に計算上の逆回転補正をする。これによって算出された外接矩形の４隅の位置情報を帳票定義体２００の外接矩形の４隅の位置情報２３１〜２３４と置換する。このように、イメージそのものを回転させることなく、いわゆる位置情報のマッピングのみで理論上のスキュー補正を行うので高速に処理ができる。また、文字枠の開始位置２１４をスキュー補正後の情報に置換する。
【００５９】
次に、外接矩形の補正後の４隅の位置を保存する（ステップ３０７）。外接矩形の補正後の４隅の位置を、現行のページマークの位置情報として保存する。これにより、この補正後の４隅の位置情報は、仮想ページマークとして現行のページマークを用いた文字枠検出ロジックに流用できる。
【００６０】
次に、水平線分情報を保存する（ステップ３０８）。図２に示す定義体に、検出した水平線分の本数２３５、キー線分の本数およびＩＤ２３６、代替線分の本数およびＩＤ２３７、開始位置２３９、長さ２４０、太さ２４１等の各種情報を保存する。この情報は、帳票識別の際に使用する。なお、キー線分のおよび代替線分の本数は必ずしも保存する必要はない。また、キー線分および代替線分は線分ＩＤとして記録しているが、その開始位置、長さ、太さを水平線分とは別個に保存しても構わない。また、代替線分はキー線分との相対位置として保存しても良い。
【００６１】
次に、画像回転方向判別用の線分の定義を行う。まず、画像を９０度回転させ（ステップ３０９）、その回転した画像についてステップ３０１と同様に水平線分の抽出を行う（ステップ３１０）。
【００６２】
次に、回転方向判別用線分の選択を行う（ステップ３１１）。回転方向判別用線分の選択基準は、キー線分の場合（ステップ３０２）と同様である。ただし、以下の条件を加重する。すなわち、画像中心を軸とする回転対称位置に同じあるいは類似する線分が存在しないという条件である。この条件を付加しなければ、１８０度回転対称になり、回転方向が判別できなくなるのでその意義は明白である。
【００６３】
図１０は、回転方向判別用線分の選択手順の一例を示したフローチャートである。まず、コンピュータの表示画面上に抽出された線分を表示する（ステップ７０１）。このとき、９０度回転された帳票を重ねて表示しても良い。次にオペレータがマウス等のポインティングデバイスを用いて回転方向判別用線分を特定する（ステップ７０２）。回転方向判別用線分の選択基準は、前記した条件の通りである。システムは指定された線分について、所定の太さ以上であるかを判断し（ステップ７０３）、これがＹｅｓであるときにはさらに帳票周囲の仮想クリアエリアに重ならないかを判断する（ステップ７０４）。ステップ７０４の判断がＹｅｓの場合、さらに画像中心を軸とする１８０度回転対称位置に同じ線分が無いかを判断し（ステップ７０５）、この判断もＹｅｓの場合はさらに折り目と重ならないかを判断する（ステップ７０６）。ステップ７０６の判断をもＹｅｓと判断されたとき、すなわち前記４つの条件を全てＹｅｓと判断したとき、選択された線分を回転方向判別用線分として決定する（ステップ７０７）。前記ステップ７０３〜７０６の判断が１つでもｎｏの場合はステップ７０２に戻って線分の特定からやり直す。線分決定後、線分の選択処理を終了するかをオペレータに問い合わせ（ステップ７０８）、選択処理を続行する場合はステップ７０２に戻って上記処理を繰り返し、選択処理を終了する時には処理を終了する（ステップ７０９）。以上のようにして抽出された水平線分から回転方向判別用線分を選択する。
【００６４】
図１１は、回転方向判別用線分の選択処理を終了した後の表示の一例を示す図である。回転方向判別用線分として線分７１１が選択されている。
【００６５】
なお、回転方向判別用線分が、オペレータの選択操作のみによって決定できる点、システムによって自動生成できる点は、キー線分の場合と同様である。
【００６６】
選択および決定された回転方向判別用線分は、その本数、各線分についての開始位置、長さ、太さ等の情報が、図２の回転方向判別用線分定義情報部２５０に記録される（ステップ３１２）。
【００６７】
以上のようにして帳票定義体２００に必要な情報が収集される。帳票定義体２００の情報は、実際の認識処理で利用される。
【００６８】
次に、帳票識別および文字認識処理を説明する。図１２は、帳票識別および文字認識処理の一例を示したフローチャートである。なお、本実施の形態では、Ａ４等縦横長さの相違する帳票について、その長辺方向に横書きされている帳票が入力される場合を仮定する。また、入力される帳票の画像読み取り方向は任意であると仮定する。つまり、入力画像は、正常位置に対して９０度または２７０度回転した状態で入力されると仮定する。
【００６９】
まず、入力画像の入力された状態で、水平線分の抽出を行う（ステップ８０１）。ただし、ここで抽出される水平線分は画像回転方向判別用の線分であり、帳票全体について抽出処理を行う必要はない。図１３は、ステップ８０１において処理される領域を示した図である。ある帳票を仮定すれば、回転方向判別用線分７１１が存在するであろう領域を仮定できる。よって、この線分が存在すると思われる領域９０２と、回転中心９０１を中心とする１８０度回転対称位置にある領域９０３とについて水平線分抽出処理を行う。このようにこのステップでは帳票全体を処理対象とするのではなく、その一部を処理対象とするので、回転方向判別処理の速度を向上できる。一般的には、帳票全体の１０％程度を処理対象とすれば良く、処理時間は全体を対象とする場合と比較して１０％程度に低減できる。
【００７０】
次に回転方向の判別処理を行う（ステップ８０２）。図１３における領域９０２に、回転方向判別用線分定義情報部２５０に記録された線分が検出できた場合は、この帳票は９０度回転状態で入力されていることになる。なお本明細書において回転方向は時計回りの逆方向に正値をとる。
【００７１】
逆に領域９０３に、回転方向判別用線分定義情報部２５０に記録された線分が検出できた場合は、この帳票は２７０度回転状態で入力されていることになる。
【００７２】
９０度回転で入力されていると判断した場合は画像全体に２７０度の回転処理を施し（ステップ８０４）、２７０度回転で入力されていると判断した場合は画像全体に９０度回転の処理を施す（ステップ８０３）。何れの領域９０２，９０３にも回転方向判別用線分が検出できない時には帳票エラーであると判断し（ステップ８０５）、他の帳票について判断を続行する、あるいは処理を中止する。
【００７３】
回転処理を施された画像データについて、水平線分の抽出を行う（ステップ８０６）。帳票定義の場合と同様に、帳票のイメージ（画像データ）から水平方向の走査によって高速に処理できる水平線分のみを検出する。この時も、文字等を形成する無用の短い線分やノイズの影響を避けるために、水平線分の長さ及び太さにある制限をつける。
【００７４】
次に、抽出された水平線分からキー線分を検出する（ステップ８０７）。キー線分が検出できない時は代替線分の検出を試みる（ステップ８０９）。代替線分が検出できた時には代替線分からキー線分を生成し（ステップ８１０）、キー線分が検出されたものとして処理を続行する。代替線分をも検出できない時には帳票エラーとする（ステップ８１１）。
【００７５】
あるいはキー線分の検出は以下にように行うこともできる。キー線分のうち任意の第１キー線分を選択し、この第１キー線分に相当する線分が抽出されているかを判断する。第１キー線分の検出は、用紙のずれあるいはスキューの存在を考慮して、ある程度広い範囲をサーチする。すなわち、第１キー線分が存在するであろう領域を中心に、比較的広い範囲を対象としてその存在をチェックする。第１キー線分が検出できないときには、第１キー線分に対応する第１代替線分をサーチする。第１代替線分のサーチは第１キー線分の場合と同様である。第１代替線分が検出されたときには、その相対位置から第１キー線分が存在すべき位置を特定し、当該位置に第１キー線分があると仮定して以降の処理を進める。第１代替線分が検出できない時には帳票エラーと判断する。第１キー線分が検出できたとき、あるいは第１代替線分によって第１キー線分が特定されたときには、第１キー線分を基準に第２キー線分の相対位置を計算し、その相対位置に相当する比較的狭い領域に絞って第２キー線分をサーチする。第２キー線分が検出できないときには前記同様に第２代替線分をサーチし、検出できた時には第２キー線分が存在すべき位置に第２キー線分があるとする。第２代替線分が検出できないときには帳票エラーとする。上記の処理を順次繰り返し、必要数のキー線分が検出されるまで処理を繰り返す。
【００７６】
なお、上記の相対位置に基づく判定処理は、各線分の開始位置等のアドレス位置からその都度算出してもよいし、予め差分としての相対位置データを外接矩形／水平線分定義情報部２３０に保持することによって行っても良い。
【００７７】
外接矩形生成に必要なキー線分が検出できた段階で、キー線分から外接矩形を生成する（ステップ８０８）。外接矩形の生成は、帳票定義の場合と同様である。抽出された水平線分の集合から帳票に唯一の平均スキュー値を計算し、その角度を持った外接矩形を形成する。
【００７８】
次に、スキューの理論的補正を行う（ステップ８１２）。前記帳票定義の場合と同様に、文字枠の位置等を検出し補正する。これにより帳票定義時と認識時のスキューが異なっていたり位置ずれしていたりしても、同じ理想イメージ上で対応をとることができる。
【００７９】
次に、外接矩形の類似度による帳票候補の絞り込みを行う（ステップ８１３）。形成された外接矩形の縦横の長さを帳票定義体２００の外接矩形の４隅の情報２３１〜２３４から算出された外接矩形の縦横の長さと比較する。あるしきい値より類似度が大きい場合は次の処理に進む。不合格の場合は別の帳票定義体と類似度比較を行う（ステップ８１６，８１７）。なお、帳票上に帳票ＩＤが存在するか否かを検査し、帳票ＩＤが存在する場合は、それを認識し、帳票定義体２００の帳票番号２１１と比較することにより帳票識別を完全なものとしてもよい。
【００８０】
次に、水平線分情報の類似度による帳票候補の絞り込みを行う（ステップ８１４）。抽出された水平線分を帳票定義体に保存されている水平線分情報と長方形内の位置、長さに関して比較する。あるしきい値より類似度が大きい場合は次の水平線分の比較処理に進む。なお、最終的に本数は必ずしも一致しなくてもよいものとする。これは、記入された文字などによる水平線分の誤検出や検出漏れによる影響を少なくするためである。これらの類似度比較に合格すると次の処理に進む。不合格の場合は別の帳票定義体と類似度比較を行う。
【００８１】
次に、定義体情報をもとに帳票識別と文字認識を行う（ステップ８１５）。形成された外接矩形の４隅の位置情報、回転角、帳票定義体の文字枠の位置情報や属性情報などを基に文字認識処理を行う。（外接矩形の４隅の位置情報は、帳票定義の場合と同様に仮想ページマークとすることで、現行のページマークからの文字枠検出ロジックが流用できる。）この後にスキャンした帳票と推定した帳票とが一致しない場合は、ステップ８１３に戻り他の定義体を調べる。このエラーが起こり得るのは、水平線分が一致しても帳票が異なる場合や、水平線分の類似度のしきい値があまい場合である。
【００８２】
ステップ８１３、８１４、８１５の条件を満たす帳票であった場合には、その定義体の帳票に一致する帳票としてＯＣＲの処理を行う。いずれの帳票定義体２００に定義された帳票とも一致しない帳票の場合には、認識不能な帳票が入力されたものと判断し、エラーの処理を行う。
【００８３】
以上説明したように、本実施の形態の画像処理システムあるいは画像処理方法によれば、非ＯＣＲ帳票であっても安定に帳票識別を行うことができ、また、文字認識を行うことができる。また、帳票の周囲にクリアエリア（空白）が無い場合であっても安定に帳票識別および文字認識処理が行える。また、帳票に折り目その他線分がかすれる、欠ける等の要因があっても、これを避けることができ、帳票識別および文字認識の安定化、高信頼化を図ることができる。
【００８４】
また、９０度あるいは２７０度に回転して入力された画像データの処理を高速化できる。本実施形態の方法と、従来の回転方向判別の方法とを、現実的な帳票処理の場合における処理時間で比較すると以下の通りである。ここで、処理対象帳票として以下のように仮定する。この仮定は現実の帳票処理において一般的な数値である。すなわち、ＯＣＲ該当帳票は処理総数の５０％である。ＯＣＲ該当帳票のうち、９０度回転および２７０度回転の割合は各々５０％である。画像データの回転処理の時間は１００ｍｓｅｃ／秒である。帳票全体の水平線分検出処理時間は２００ｍｓｅｃ／秒である。回転方向判別のための水平線分検出処理時間は２０ｍｓｅｃ／秒である（帳票全体を処理する必要がないので処理時間は短い）。帳票識別、回転方向判別処理の処理時間は無視できる。該当帳票以外の実帳票でキー線分が存在するものはごく少数である。以上のように仮定する。
【００８５】
背景技術で説明した回転方向判別の場合、帳票１枚あたりの処理時間は以下の通りである。すなわち、
90度回転のOCR該当帳票の処理時間=25%×(100+200msec)=75msec
270度回転のOCR該当帳票の処理時間=25%×(100+200msec)×2=150msec
OCR該当帳票でない帳票の処理時間=50%×(100+200msec)×2=300msec
合計の処理時間=525msec
一方、本実施の形態の回転方向判別の場合、帳票１枚あたりの処理時間は以下の通りである。すなわち、
90度回転のOCR該当帳票の処理時間=25%×(20+100+200msec)=80msec
270度回転のOCR該当帳票の処理時間=25%×(20+100+200msec)=80msec
OCR該当帳票でない帳票の処理時間=50%×(20msec)=10msec
合計の処理時間=170msec
つまり、本実施の形態の場合は、従来の処理時間と比較して３２％に削減されたことがわかる。
【００８６】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【００８７】
たとえば、実施の形態では、入力画像データが９０度あるいは２７０度回転されたものを仮定したが、１８０度回転されたものを加えても良い。この場合、それに対応した回転角度検出用の水平線分データを追加する。
【００８８】
また、前記実施の形態では、キー線分と代替線分の冗長性が２の場合を説明したが、代替線分のさらに代替線分等、冗長性を３以上に拡張することも可能である。
【００８９】
また、前記実施の形態で、キー線分および代替線分が共に検出できない時は帳票エラーとする例を説明したが、既登録のキー線分のうち、全てのキー線分を検出できなくとも、その一部のキー線分で外接矩形を生成できる場合には、検出できたキー線分で外接矩形を生成するように拡張できる。この場合、キー線分の組合せ毎に外接矩形を定義する必要がある。
【００９０】
また、前記実施の形態では、線分情報として太さを含む例を示したが、必ずしも太さは必要ではない。線分情報として開始位置および長さが特定されれば本発明を実施することができる。
【００９１】
また、前記実施の形態では、主にシステムおよび方法として説明したが、これらシステムあるいは方法はコンピュータを用いて実現されるものであり、本発明の方法あるいはシステムはコンピュータプログラムとして把握することが可能なことは勿論である。
【００９２】
また、前記実施の形態において、回転方向判別用線分にキー線分と同様な代替線分を定義し、回転方向判別用線分が検出されない場合でも、この代替線分が検出された場合には回転方向判別用線分が検出されたとみなすようにしても良い。これにより、回転方向判別のステップにおいても冗長性を増し、帳票識別エラーと判断される確率を小さくすることができる。
【００９３】
また、前記実施の形態では、キー線分あるいは代替線分の選択基準のうち、第３の条件として、折り目に重ならないことを挙げたが、帳票の原紙に折り目がないときには折り目領域６３２は存在せず、第３の条件について判断する必要がないことは勿論である。
【００９４】
【発明の効果】
本発明によれば、非ＯＣＲ用紙であっても安定した仮想ページマークを生成し、安定した帳票の識別が可能になる。また、水平線分の検出に冗長性を持たせ、水平線分の検出が困難な場合にも安定した仮想ページマークを生成できる。また、帳票回転操作の方向をあらかじめ検出する技術を提供し、回転操作および帳票全体の線分検出処理の回数を最低限に抑制して、処理速度を向上できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態である画像処理システムの一例をその機能について示したブロック図である。
【図２】本発明の一実施の形態である画像処理システムに好適な帳票定義体の内容の一例を示す概念図である。
【図３】帳票定義体作成処理の流れの一例を示したフローチャートである。
【図４】本実施の形態で用いる帳票の一例を示した図である。
【図５】図４の帳票がステップ３０１で線分抽出された後の一例を示す概念図である。
【図６】キー線分の選択手順の一例を示したフローチャートである。
【図７】キー線分および代替線分が選択された後の線分を示す概念図である。
【図８】仮想クリアエリアおよび折り目領域を重ねて示した図である。
【図９】外接矩形の形成処理によって作成された外接矩形の概念図である。
【図１０】回転方向判別用線分の選択手順の一例を示したフローチャートである。
【図１１】回転方向判別用線分の選択処理を終了した後の表示の一例を示す図である。
【図１２】帳票識別および文字認識処理の一例を示したフローチャートである。
【図１３】ステップ８０１において処理される領域を示した図である。
【符号の説明】
１００…画像処理システム、１０１…ユーザ入力部、１０２…制御部、１０３…画像解析部、１０４…画像表示部、１０５…画像入力部、１０６…定義体格納部、２００…帳票定義体、２１０…帳票／文字枠定義情報部、２１１…帳票番号、２１２…文字枠情報、２１３…文字枠番号、２１４…開始位置、２１６…文字数、２１７…属性、２３０…外接矩形／水平線分定義情報部、２３１…外接矩形の左上の位置、２３２…外接矩形の右上の位置、２３３…外接矩形の左下の位置、２３４…外接矩形の右下の位置、２３５…水平線分の本数、２３６…キー線分の本数・ＩＤ、２３７…代替線分の本数・ＩＤ、２３８…線分情報、２３９…開始位置、２５０…回転方向判別用線分定義情報部、２５１…回転方向判別用線分の本数、２５２…線分情報、２５３…開始位置、４００…帳票、４０１…入力領域、６０１…水平線分、６１１〜６１３…キー線分、６２１〜６２３…代替線分、６３１…仮想クリアエリア、６３２…折り目領域、６４１…外接矩形、６４２…仮想ページマーク、７１１…回転方向判別用線分。
【図１】
0003864246.tif 000002
【図２】
0003864246.tif 000003
【図３】
0003864246.tif 000004
【図４】
0003864246.tif 000005
【図５】
0003864246.tif 000006
【図６】
0003864246.tif 000007
【図７】
0003864246.tif 000008
【図８】
0003864246.tif 000009
【図９】
0003864246.tif 000010
【図１０】
0003864246.tif 000011
【図１１】
0003864246.tif 000012
【図１２】
0003864246.tif 000013
【図１３】
0003864246.tif 000014