以下、図面を参照してこの発明のフォーマット認識装置および文字読み取り装置の実施の形態について説明する。なお、説明に用いる各図はこの発明を理解することが出来る程度に各構成成分を概略的に示してあるにすぎない。また、各図において同様な構成成分については同一の番号を付して示し、その重複する説明を省略することもある。
1.フォーマット認識装置および文字読み取り装置の第1の発明
1−1.第1の発明の概略説明
はじめに、第1の発明の概略について説明する。帳票には多種類の帳票がある。帳票のいくつかの例を、図1、図2、図11を参照して説明する。
図1(A)および(B)は、フォーマットが少しずつ異なる帳票群の第1の例として既存の帳票15,17を示した図である。図1(C)はフォーマットが未知である認識対象の帳票19の例を示した図である。いずれの帳票も帳票種別番号が印刷されていない例である。認識対象の帳票19のフォーマットは帳票15のフォーマットであると認識されれば、正解となる例である。
帳票15と帳票17とは、罫線L1が在るか無いかという点と、帳票の右上隅に互いに異なる特徴的な図形が印刷されている点とを除いて同じフォーマットとなっている。
また、図2(A)および(B)は、フォーマットが少しずつ異なる帳票群の第2の例として既存の帳票21,23を示した図である。図2(C)はフォーマットが未知である認識対象の帳票25の例を示した図である。いずれの帳票も帳票種別番号が印刷されていない例である。認識対象の帳票25のフォーマットは帳票21のフォーマットであると認識されれば、正解となる例である。
帳票21と帳票23とは、罫線L1の位置が異なる点を除いて同じフォーマットとなっている。
また、図11(A)および(B)は、フォーマットが少しずつ異なる帳票群の第3の例として既存の帳票31,33を示した図である。図11(C)はフォーマットが未知である認識対象の帳票35の例を示した図である。いずれの帳票も帳票種別番号が印刷されていない例である。認識対象の帳票35のフォーマットは帳票31のフォーマットであると認識されれば、正解となる例である。
帳票31と帳票33とは、罫線L1が在るか無いかという点と、帳票の右上隅に互いに異なる特徴的な文字が印刷されている点とを除いて同じフォーマットとなっている。すなわち、帳票31は、その左上隅に罫線L1があり、かつ、帳票の右上隅に「○電気」という特徴的な文字が印刷されている。帳票33は、罫線L1がなく、かつ、その右上隅に「△△電気」という特徴的な文字が印刷されている。
図1(A)〜図2(C)、図11(A)〜(C)のいずれの帳票も、紙面aに、所定事項が記載される領域を区分する罫線が印刷された帳票である。そして、使用された帳票(図1(C)、図2(C)、図11(C))には、書き込まれた文字の属性を表す文字(図では01、02)と、所定事項を伝達するための文字(図では、ABC、あいう、DEF、かきくけこ、アイウエオカキクケコ)とが記載されている。
ここで、図1(A)〜図1(C)に示した帳票15、17、19では、五角形または星形の図形を含む所定領域Tが、帳票毎の特徴的な一部分(個別フォーマット認識領域ともいう)といえる。なお、この帳票15、19の場合、罫線L1も特徴的な一部分といえるが、ここでは五角形の図形の部分を特徴的な一部分と考える。
また、図2(A)〜図2(C)に示した帳票21、23、25では、罫線の1本である罫線L1が帳票の右上隅にあるか左上隅にあるかという点が特徴といえるので、この罫線L1を含む領域Tが、帳票毎の特徴的な一部分(個別フォーマット認識領域)といえる。
また、図11(A)〜(C)に示した帳票31,33,35では、○電気又は△△電気を含む所定領域Tが、帳票毎の特徴的な一部分(個別フォーマット認識領域)といえる。なお、この帳票31〜35の場合、罫線L1も特徴的な部分といえるが、ここでは○電気又は△△電気の部分を特徴的な部分と考える。
もちろん、この特徴的な図形、特徴的な罫線、または特徴的な文字とは、上記の例に限られず、任意の特徴的な図形(例えば矩形、円形、楕円形など)、任意の特徴的な罫線または任意の特徴的な文字とできる。また、領域Tは1つの帳票に複数箇所の場合でも良い。
ところで、図1(C)に示した認識対象の帳票19は、帳票種別番号が印刷されていないが、この帳票19の罫線パタンは、図1(A)に示した帳票15と同じである。また、図2(C)に示した認識対象の帳票25は、帳票種別番号が印刷されていないが、この帳票25の罫線パタンは、図2(A)に示した帳票21と同じである。また、図11(C)に示した認識対象の帳票35は、帳票種別番号が印刷されていないが、この帳票35の罫線パタンは、図11(A)に示した帳票31と同じである。そのため、帳票の全体から抽出したパタンを予め辞書中に用意したパタンと比較する方法、例えば、この出願の出願人に係る特開平9−259221号公報に開示されている、帳票全体から抽出した罫線パタンを予め用意した辞書と照合する方法により、帳票19は帳票15と同じフォーマットの帳票であると認識でき、帳票25は帳票21と同じフォーマットの帳票であると認識でき、帳票35は帳票31と同じフォーマットの帳票であると認識できる。
しかし、帳票19(帳票25、帳票35)に、汚れがあったり、折り目があったり、また、罫線がかすれていたりした場合等は、この帳票全体から抽出されるパタンは、例えば、帳票15と帳票17との中間のような罫線パタン(帳票21(帳票31)と帳票23(帳票33)との中間のような罫線パタン)になり易い。すると、両者の識別はしずらくなる。
そこで、この出願の第1の発明では、帳票全体のパタンを第1の辞書中の複数の帳票毎のパタンと照合して認識対象の帳票のフォーマットを認識する第1のステップと、複数の帳票毎の特徴的な一部分に対応するパタンを、認識対象の帳票からそれぞれ抽出して該パタンを第2の辞書中のパタンと照合して認識対象の帳票のフォーマットを認識する第2のステップとを実施するフォーマット認識装置と、該認識装置を含む文字読み取り装置とを提案している。以下、説明する。
1−2.第1の実施の形態の装置40の構成説明
先ず、図1を用いて説明した帳票群のフォーマットを認識し、そして文字読み取りをするために好適な文字読み取り装置の実施の形態(第1の実施の形態)について説明する。
図3は、第1の実施の形態の文字読み取り装置40の構成を概略的に示す機能ブロック図である。この文字読み取り装置40は、第1の実施の形態のフォーマット認識装置50と、読み取り制御データメモリ60と、文字認識系70と、制御部80と、表示部91と、入力部93とを具えている。
また、この文字読み取り装置40には、帳票(図示せず)を光学的に読み取る手段としての例えばスキャナ95と、該スキャナ95が読んだ帳票のイメージデータを格納する帳票イメージメモリ97とを、接続してある。以下、各構成成分50〜93について詳細に説明する。
フォーマット認識装置50は、第1の辞書51と、第2の辞書53と、第1のフォーマット認識系55と、第2のフォーマット認識系57と、制御部80(文字読み取り装置40の制御部でもある)とで構成してある。
第1の辞書51(以下、フォーマット認識辞書51ともいう)は、フォーマットが異なる既存の複数の帳票それぞれの全体からそれぞれ抽出したパタンのデータを特徴データとして予め保持している。
フォーマットが異なる既存の複数の帳票は、予め用意した任意の帳票とする。例えば、図1(A)に示した帳票15、図1(B)に示した帳票17を含む各種の帳票とすることが出来る。
また、この第1の辞書51は、パタンのデータとして、各既存の帳票それぞれの全体からそれぞれ抽出した罫線パタンのデータを保持している。さらに、この第1の辞書51は、各帳票の種別を示す情報も保持している。
第1の辞書51に保持される罫線パタンのデータは、読み取り装置40の仕様に応じた任意好適な形態のものとできる。この実施の形態では、罫線パタンを複数の領域に分割して得られる各領域の特徴で表される、特徴マトリクスとしてある。各分割領域の特徴をいかなるものとするかも、任意である。例えば、罫線パタンを予め複数の異なる方向に走査して方向パタンを抽出し、そして、この罫線パタンをM×Nの複数領域に分割して、各分割領域の方向パタン数を各領域の特徴とする方法(例えば特開昭57−23185)が挙げられる。
第2の辞書53(以下、個別フォーマット認識辞書53ともいう)は、フォーマットが異なる既存の複数の帳票毎の特徴的な一部分からそれぞれ抽出したパタンのデータを特徴データとして予め保持している。図1の例でいえば、帳票15については五角形のパタンのデータ、帳票17については星型のパタンのデータを保持している。
これらパタンのデータは任意好適な形態で第2の辞書53に格納できる。この実施の形態の場合は、第2の辞書53に格納するパタンのデータとして、帳票上に特徴的な一部分をいくつ設定したかという個数(なお図1(A)、(B)の場合はそれぞれ1)、特徴的な一部分の位置情報、大きさ、帳票の種別を示す情報(これらを以下、個別フォーマット認識情報という)、およびパタンの特徴マトリクスを保持している。
第1のフォーマット認識系55(以下、単にフォーマット認識系ともいう)は、認識対象の帳票のイメージデータから該帳票全体の特徴を抽出し、該抽出した特徴を前記第1の辞書中の特徴データと照合して、前記認識対象の帳票のフォーマットを認識する。具体的には、この場合は、認識対象の帳票から抽出したパタンの特徴マトリクスと、第1の辞書51中の特徴マトリクスとを照合して、認識対象の帳票のフォーマットを認識する。
なお、この実施の形態の第1のフォーマット認識系55は、認識対象の帳票全体のパタンとして、罫線パタンを抽出する。そのため、この実施の形態の第1のフォーマット認識系55は、認識対象の帳票から帳票全体の罫線パタンを抽出する罫線抽出部55aと、抽出された罫線パタンを格納する罫線パタンメモリ55bと、抽出した罫線パタンを第1の辞書51と照合して認識対象の帳票のフォーマットがいかなるものかを認識するフォーマット認識部55cとで構成してある。このような第1のフォーマット認識系55の詳細は、後の動作説明にて説明する。このような第1のフォーマット認識系55は、例えば、この出願に係る特開平9−259221号に開示されているフォーマット認識系により構成できる。
第2のフォーマット認識系57(以下、個別フォーマット認識系57ともいう)は、第1のフォーマット認識系55が認識結果として所定個数以上(例えばここでは1以上の例を考える)の候補帳票(以下、候補帳票を種別とかフォーマット候補ともいう)を示した場合に動作する。そして、認識対象の帳票の一部の特徴を抽出する。この実施の形態では、第1のフォーマット認識系が挙げた前記1以上の候補帳票毎の前記特徴的な一部分に相当するパタンの特徴を抽出し、該抽出した特徴を前記第2の辞書中の特徴データと照合して、前記認識対象の帳票のフォーマットを認識する。
この実施の形態の第2のフォーマット認識系57は、認識対象の帳票のイメージデータから既存の帳票の特徴的な一部分に対応するパタンを切り出す切り出し部57a(以下、部分パタン切り出し部57aという)と、該切り出した部分パタンを格納するメモリ57b(以下、個別フォーマット認識パタンメモリ57bともいう)と、該切り出したパタンのデータを第2の辞書53中のパタンのデータと照合して、認識対象の帳票のフォーマットがいかなるフォーマットかを認識する認識部57c(以下、個別フォーマット認識部57cという)とで構成してある。
図4は、この第2のフォーマット認識系57の、特に個別フォーマット認識部57cの具体的な構成例を説明する機能ブロック図である。もちろん、1例であり他の構成でも良い。
この図4の場合の個別フォーマット認識部57cは、線幅算出部101と、枠検出部103と、サブパタン抽出部105と、特徴マトリクス作成部107と、照合部109とで構成してある。各構成成分101〜107の詳細は、後の動作説明の項で説明するが、簡単にいえば次の通りである。
線幅算出部101は、認識対象の帳票から部分パタン切り出し部57aが切り出したパタンの、すなわち個別フォーマット認識パタンメモリ57bに格納してあるパタンの、線幅を算出する。
枠検出部103は、認識対象の帳票から部分パタン切り出し部57aが切り出したパタンに外接する枠(図形枠)を、検出する。
サブパタン抽出部105は、認識対象の帳票から部分パタン切り出し部57aが切り出したパタンを、複数の方向に走査して、各走査方向毎にサブパタンを抽出する。この場合のサブパタン抽出部105は、水平方向サブパタン(HSP)を抽出するHSP抽出部105aと、垂直方向サブパタン(VSP)を抽出するVSP抽出部105bと、左斜めサブパタン(LSP)を抽出するLSP抽出部105cと、右斜めサブパタン(RSP)を抽出するRSP抽出部105dと、各サブパタンを格納するためのHSPメモリ105e、VSPメモリ105f、LSPメモリ105gおよびRSPメモリ105hとで構成してある。
特徴マトリクス作成部107は、水平、垂直、左斜めおよび右斜めの各走査方向毎に、サブパタンから特徴を抽出し、各サブパタンの特徴から特徴マトリクスを作成する。
照合部109は、特徴マトリクス作成部107が作成した特徴マトリクスと、個別フォーマット認識辞書53に格納してある各標準帳票の特徴マトリクスとを用いて照合を行い、その結果に基づいて認識対象の帳票と照合に用いた各標準帳票との確信度、距離を出力する。
読み取り制御データメモリ60は、前記複数の帳票毎の、該帳票から文字を読み取るために必要な読み取り制御データをそれぞれ格納している。読み取り制御データとして、例えば、文字パタンの切出しに関わるデータと、文字パタンの認識に関わるデータとを記憶させる。
文字パタンの切出しに関わるデータとしては、例えば帳票の紙面a上に存在する文字行の位置、帳票紙面a上に存在するフィールドの位置及び個数、帳票紙面a上に存在する文字のピッチ及び個数を挙げることができる。また、文字パタンの認識に関わるデータとしては、例えば帳票紙面a上に記載される文字の字種及び字体を挙げることができる。もちろんこれらに限られない。
この読み取り制御データメモリ60は、フォーマット認識装置40から出力される認識結果に応じた1又は複数のフォーマットについての読み取り制御データを、出力する。この出力された読み取り制御データは、この例の場合は、制御部80を介して文字認識系70に入力される。
文字認識系70は、読み取り制御データメモリ60から出力される読み取り制御データに基づいて認識対象の帳票から文字を認識する。この文字認識系70は、任意好適な構成とすることができる。この実施の形態では、文字認識系70を、文字切り出し部70aと、文字パタンメモリ70bと、文字認識辞書70cと、文字認識部70dとで構成してある。
文字切り出し部70aは、帳票イメージデータから文字パタンを切り出す。文字パタンメモリ70bは、文字切り出し部70aが切り出した文字パタンを格納する。文字認識辞書70cは、文字の辞書データを保持している。文字認識部70dは、切り出された文字パタンから特徴を抽出し、この特徴を文字認識辞書70c中のデータと照合して、該照合結果に基づいて文字パタンを認識する。
このような文字認識系は、例えば、この出願に係る特開平9−259221号に開示されている文字認識系により構成できる(詳細は後の動作説明にて説明する)。
制御部80は、第1のフォーマット認識系55の各構成成分55a〜55cと、第2のフォーマット認識系57の各構成成分57a〜57cと、読み取り制御データメモリ60と、文字認識系70の各構成成分70a〜70dと、表示部91と、入力部93と、スキャナ95と、帳票イメージメモリ97とをそれぞれ制御する。
表示部91は、文字読み取り装置40とオペレータとの情報授受のための表示をする。この表示部91はCRT等、任意好適な表示装置で構成できる。この表示部91は、第1のフォーマット認識系55が出力する候補帳票および第2のフォーマット認識系57が出力する候補帳票の一方又は双方を表示する表示部としても利用される。なお、複数の候補帳票(フォーマット候補)は、一覧の状態で表示しても良いし、一部ずつ分けて表示しても良い。
入力部93は、オペレータからの種々の指示を、文字読み取り装置に入力する。この入力部93は、キーボード、マウス等任意好適な装置で構成できる。この入力部93は、第2のフォーマット認識系57が表示部91に複数のフォーマット候補を表示した際は、該表示部91に表示された複数の帳票から1若しくは複数の帳票を選択するための指示、又は、該当なしという指示を入力する入力部としても利用される。
1−3.第1の実施の形態の装置40の動作説明
(全体的な動作の概略説明)
先ず、文字読み取り装置40の動作であって、全体的な動作について説明する。図5はこの実施の形態の文字読み取り装置40の全体的な動作の流れを示す図である。
まずスキャナ95により、認識対象の帳票19のイメージデータを得る。そのため、スキャナ95は、帳票19の紙面aを光学的に走査して、量子化された電気信号例えば白黒2値の電気信号から成る帳票イメージデータを生成し、このデータを帳票イメージメモリ97に格納する。ここでは線描画素を黒ビットで、背景画素を白ビットで表す。なお、線描画素とは、帳票19の紙面a内に在る線を表す画素のことであり、具体的にはこの場合は黒ビットが所定数連なる部分のことである。また背景画素は帳票19の紙面aの地の部分(線の背景となる部分)を表す画素である。スキャナ95にセットした帳票19を押さえる押え面は帳票19の紙面aの地と同様に背景画素に変換される色例えば白色となっており、従ってここでは押え面も白ビットで表わされる。
なお、帳票を押さえる押え面を帳票19の紙面a内に在る線と同様に黒画素に変換される色例えば黒色としても良い。
帳票イメージメモリ97に帳票イメージデータが格納されると、制御部80は第1のフォーマット認識系55の罫線抽出部55aを起動する(図5の開始)。
起動された罫線抽出部55aは、帳票イメージメモリ97に格納されている帳票イメージデータを走査して、罫線パタンを抽出し(詳細は後述する)、抽出した罫線パタンを罫線パタンメモリ55bに格納する(図5のS1)。
罫線抽出部55aが罫線パタンの抽出を終了すると、制御部80はフォーマット認識部55cを起動する。
起動されたフォーマット認識部55cは、罫線パタンメモリ55bに格納されている罫線パタンを、フォーマット認識辞書51に格納されている帳票フォーマットの辞書データと照合する(図5のS2)。該照合の結果、所定個数以上(ここでは例えば1以上)の候補帳票があった場合は(図5のS3)、ステップS4以降の処理(詳細は後述する)をする。候補帳票が1つも無かった場合は、その旨を、制御部80に出力する(S21)。この場合制御部80は、例えばリジェクト処理をする。
一方、第1のフォーマット認識系55での認識において、1以上の候補帳票が出力された場合は、制御部80は第2のフォーマット認識系57を起動する。そして、後に説明するように、帳票の一部に着目した照合をして認識対象の帳票のフォーマットを認識する。
ただし、第1のフォーマット認識系55での認識において1以上の候補帳票が示された場合であっても、これら候補それぞれに対応した個別フォーマット認識情報が個別フォーマット認識辞書53にない場合は、第1のフォーマット認識系55で得た認識結果を制御部80に出力する。なお、個別フォーマット認識辞書53に格納するデータとして、フォーマット認識辞書51に格納してある標準帳票のデータを少なくとも格納しておけば、上記複数の帳票種別に対応した個別フォーマット認識情報が個別フォーマット認識辞書53から得られるので好ましい。
第1のフォーマット認識系55が挙げた候補帳票の全部又は一部それぞれに対応した個別フォーマット認識情報が個別フォーマット認識辞書53にあった場合は、制御部80は、認識対象の帳票のイメージデータから各帳票毎の特徴的な一部分に対応する部分を切り出すための位置情報を、個別フォーマット認識辞書53からそれぞれ得る(図5のS5)。すなわち、認識対象の帳票19に対して、例えば図1(A)の帳票15および図1(B)の帳票17がフォーマット候補となっている場合であれば、帳票15、17各々の特徴的な一部分Tに対応する部分を認識対象の帳票19のイメージデータから切り出すための位置情報を、個別フォーマット認識辞書53から制御部80は得る。そしてこれを部分パタン切り出し部57aに入力する。
部分パタン切り出し部57aは、上記の位置情報に基づいて、帳票イメージメモリ97から、パタンを切出して、それを個別フォーマット認識パタンメモリ57bに格納する(図5のS6)。
部分パタン切り出し部57aがパタン切出しを終了すると、制御部80は、個別フォーマット認識部57cを起動する。起動された個別フォーマット認識部57cは、個別フォーマット認識パタンメモリ57bに格納されているパタンから特徴を抽出し、この特徴と個別フォーマット認識辞書53に格納されている個別フォーマット認識辞書の特徴データと照合する(図5のS7)。1つの帳票中に特徴的な一部分Tを複数箇所定めた場合は、その個数分、ステップS5から処理を繰り返し、照合結果を得る(図5のS8)。
個別フォーマット識別を行なう種別毎に、すなわち、複数のフォーマット候補毎に、上記処理(S4〜S8)を繰り返す。
次に、制御部80は、個別フォーマット認識系の照合結果に基づいて類似度の高い種別と判断する順番に照合結果を入れ替えて(図5のS10)、その中から一又は複数の種別を選択し、選択した種別を認識結果とする。
制御部80が帳票フォーマットの認識結果として一つの種別のみを入力する場合には、当該認識結果に対応した読取り制御データを読み取り制御データメモリ60から読み出し、読み出した読み取り制御データを文字認識系70へ出力する(図5のS11)。
制御部80が帳票フォーマットの認識結果として複数の種別を入力する場合には、これら認識結果を確認するための情報を表示部91に表示できる構成とするのが良い。そして、この情報を判断基準として、オペレータが上記の複数の帳票の中から所望の帳票を選択する指示又は該当なしの指示をできるように入力部93を構成するのが良い。
例えば、制御部80は、帳票フォーマットの認識結果に基づいて候補帳票を表示部91に表示させる。オペレータは、この表示を見て正しいと判断できる認識結果を選択し、選択した認識結果を指示する信号を、入力部93を介して、制御部80に入力する。
制御部80はオペレータが選択した認識結果に対応する読取り制御データを読み取り制御データメモリ60から読み出し、これを文字認識系70へ出力する(図5のS11)。
この場合の読み取り制御データは、上述した様に、文字パタン切り出しのための制御データと、文字パタンを認識するための制御データである。そのため、詳細には、制御部80は、文字パタンの切出しのための制御データを文字切出し部70aへ、また文字パタンの認識のための制御データを文字認識部70dへ出力する。
次に制御部80は文字切出し部70a及び文字認識部70dを起動する。すると文字切出し部70aは、帳票イメージデータから、1文字単位に、文字パタンを切出し、切出した文字パタンを文字パタンメモリ70bに格納する(図5のS12)。文字認識部70dは、切出された文字パタンから特徴を抽出し、該特徴と文字認識辞書70cの辞書データと照合し(図5のS13)、この照合結果に基づいて文字パタンを認識し、その認識結果を制御部80へ出力する(図5のS14)。
制御部80は、1文字単位に、文字パタンの認識結果を入力し、そして認識対象の帳票19の紙面a上のすべての文字について認識を終了したか否かを判定する(図5のS15)。
認識対象の帳票19上のすべての文字について認識を終了していなければ、文字切出し部70a及び文字認識部70dは、制御部80の動作制御に従ってS11〜S14の処理を繰り返す。また帳票19の紙面a上のすべての文字について認識を終了したならば、帳票1枚分の文字読取りを終了し、帳票1枚につき得た文字認識結果を後段の装置へ出力する(図5の終了)。
次に、各部の詳細な動作について説明する。
(罫線パタンの抽出動作)
先ず、罫線抽出部55aが行なう罫線パタンの抽出につき説明する。罫線抽出部55aは、帳票イメージメモリ97内を帳票19全面にわたり走査し、帳票フォーマットを表す罫線パタンとして水平罫線パタンと垂直罫線パタンとを抽出する。
水平罫線パタンを抽出するときは、帳票イメージデータを水平走査し、水平走査線上で水平罫線閾値TH(Lh)以上の長さLhだけ連続する帳票イメージデータの線描画素を、水平罫線パタンの線描画素として抽出する。連続する長さLhが水平罫線閾値TH(Lh)未満となる帳票イメージデータの線描画素(水平走査線上で連続せずに孤立して存在する1個の線描画素を含む)は、水平罫線パタンの背景画素として抽出する。帳票イメージデータの背景画素もまた、水平罫線パタンの背景画素として抽出する。水平罫線パタンはこのようにして帳票イメージデータから抽出した線描画素及び背景画素から成るパタンである。
同様に垂直罫線パタンを抽出するときは、帳票イメージデータを垂直走査し、垂直走査線上で垂直罫線閾値TH(Lv)以上の長さLvだけ連続する帳票イメージデータの線描画素を、垂直罫線パタンの線描画素として抽出する。連続する長さLvが垂直罫線閾値TH(Lv)未満となる帳票イメージデータの線描画素(垂直走査線上で連続せずに孤立して存在する1個の線描画素を含む)は、垂直罫線パタンの背景画素として抽出する。帳票イメージデータの背景画素もまた、垂直罫線パタンの背景画素として抽出する。垂直罫線パタンはこのようにして帳票イメージデータから抽出した線描画素及び背景画素から成るパタンである。
なお、抽出した罫線パタンを罫線パタンメモリ55bに格納する場合、抽出した水平罫線パタン及び垂直罫線パタンに共通の格納領域(以下、罫線共通格納領域という)を罫線パタンメモリ55bに設け、水平罫線パタン及び垂直罫線パタンを重ね合わせて罫線共通格納領域に格納しても良い。また、抽出した水平罫線パタン及び垂直罫線パタンの各パタン毎に個別の格納領域(以下、罫線個別格納領域という)を罫線パタンメモリ55bに設け、水平罫線パタン及び垂直罫線パタンをそれぞれ別々の罫線個別格納領域に格納するようにしても良い。
罫線共通格納領域に格納する場合には、罫線共通格納領域全面に背景画素を格納し(罫線共通格納領域の初期化)、然る後、抽出した水平罫線パタンの線描画素を共通格納領域に格納すると共に抽出した垂直罫線パタンの線描画素を共通格納領域に格納する。
また罫線個別格納領域に格納する場合には、水平罫線パタンに対し設けた罫線個別格納領域全面に背景画素を格納し(罫線個別格納領域の初期化)、然る後、水平罫線パタンに対し設けた罫線個別格納領域に、抽出した水平罫線パタンの線描画素を格納する。また垂直罫線パタンに対し設けた罫線個別領域全面に背景画素を格納し(罫線個別格納領域の初期化)、然る後、垂直罫線パタンに対し設けた罫線個別格納領域に、抽出した垂直罫線パタンの線描画素を格納する。
図6はこの実施形態の罫線抽出部の動作の説明に供する図であって、罫線パタンの線描画素を抽出する動作に着目した動作の流れの具体的な一例を示す。ここでは、抽出した水平罫線パタンと垂直罫線パタンとを別々の格納領域に格納する場合について説明する。
この場合、帳票イメージメモリ97の帳票イメージデータ格納領域上と罫線パタンメモリ55bの罫線共通格納領域上とには、相対応させたx−y座標系を設定してあり(例えば、水平方向をx軸方向及び垂直方向をy軸方向とする。)、この座標系で表される画素位置の格納領域から画素データを読み出し、或はまた、この座標系で表される画素位置の格納領域へ画素データを書き込むことができるようになっているものとする。
制御部80により起動された罫線抽出部55aは、罫線パタンメモリ55bの罫線共通格納領域全面にわたって背景画素ここでは白ビットを格納する(罫線共通格納領域の初期化)。
然る後、罫線抽出部55aは走査方向を水平方向として水平罫線パタンを抽出する処理を開始する(図6開始)。この場合、閾値THとして水平罫線閾値TH(Lh)を用い、また連続の長さLとして水平走査線上で連続する線描画素の長さLhを求めることとなる。
次に罫線抽出部55aは、連続の長さLを零に初期化し(図6のS1)、然る後、帳票イメージメモリ97に格納されている帳票イメージデータを水平走査し、帳票イメージデータの画素データを読み出す(図6のS2)。画素データは1画素分のデータを表す。
次に罫線抽出部55aは、読み出した帳票イメージデータの画素データが、線描画素ここでは黒ビットであるか否かを判定する(図6のS3)。
S3で画素データが線描画素であるとの判定結果を得た場合は、連続の長さLを求めると共に水平罫線パタンに関する線描画素の候補位置(以下、水平罫線候補位置という)として当該画素データの画素位置を記憶し(図6のS4)、然る後、帳票イメージデータにつき現走査線1ラインの走査を終了したか否かを判定する(図6のS5)。ここでは、S3で画素データが線描画素であるとの判定結果を得た場合に連続の長さLを1カウントアップすることによって従って連続する線描画素の個数を計数することによって、連続の長さLを求める。
S5で現走査線1ラインの走査を終了していないとの判定結果を得た場合は、現走査線上の次の画素データを読み出すべくS2に戻る。
S5の判定で現走査線1ラインの走査を終了したとの判定結果を得た場合は、連続の長さLを閾値THと比較する(図6のS6)。ここでは水平罫線パタンを抽出する場合であるので求めた連続の長さLは水平走査線上における連続の長さLhであり、そして閾値THには水平罫線閾値TH(Lh)を用いることとなる。
S6で連続の長さLは閾値TH以上であるとの判定結果を得た場合、罫線抽出部55aは長さLの連続する線描画素を、罫線パタンメモリ55bに格納する(図6のS7)。ここでは記憶していた水平罫線候補位置の罫線共通格納領域に線描画素を格納することとなる。S7の次に、連続の長さLを初期化すると共に記憶していた水平罫線候補位置を消去し(図6のS8)、然る後、帳票19全面にわたって帳票イメージデータの走査を終了したか否かを判定する(図6のS9)。またS6で連続の長さLは閾値TH未満であるとの判定結果を得た場合は、S7を行なわずにS8〜S9を行なう。
S9で帳票19全面にわたって帳票イメージデータの走査を終了していないとの判定結果を得た場合は、現走査線の次の走査線上に在る画素データを読み出すべくS2に戻る。またS9で帳票全面にわたって帳票イメージデータの走査を終了したとの判定結果を得た場合は、当該帳票19から水平罫線パタンを抽出する処理を終了する(終了)。
また、S3の判定で読み出した画素データは線描画素でないとの判定結果を得た場合、即ち、1ラインの端まで黒画素であった場合は、連続の長さLを閾値THと比較する(図6のS10)。
S10で連続の長さLは閾値TH以上であるとの判定結果を得た場合、罫線抽出部55aは長さLの連続する線描画素を、罫線パタンメモリ55bに格納する(図6のS11)。次に、連続の長さLを零に初期化すると共に記憶していた水平罫線候補位置を消去し(図6のS12)、然る後、現走査線一ラインの走査を終了したか否かを判定する(図6のS13)。現走査線一ラインの走査を終了していなければ、現走査線上の次の画素データを読み出すべくS2に戻る。現走査線一ラインの走査を終了したならば、S9を行なう。またS10で連続の長さLは閾値TH未満であるとの判定結果を得た場合は、S11を行なわずにS12〜S13を行なう。
次に、罫線抽出部55aは走査方向を今度は垂直方向として、垂直罫線パタンを抽出する処理を開始する(開始)。この場合、閾値THとして垂直罫線閾値TH(Lv)を用い、また連続の長さLとして垂直走査線上で連続する線描画素の長さLvを求めることとなる。それ以外の基本的な動作は、上記の水平罫線パタンの抽出動作と同じであるので、その説明を省略する。
以上のようにして、図1(C)に示す帳票19について水平及び垂直罫線パタンの線描画素を抽出し、これらパタンの線描画素をそれぞれ別々の罫線個別格納領域に格納した例を、図7に示す。
図7(A)中、110は水平罫線パタンに対して設けた罫線個別格納領域、111は罫線個別格納領域110において帳票紙面aに対応する領域、112は水平罫線パタンを示す。また図7(B)中、113は垂直罫線パタンに対して設けた罫線個別格納領域、114は罫線個別格納領域113において帳票紙面aに対応する領域、115は垂直罫線パタンを示す。罫線個別格納領域110、113内であって紙面対応領域111,114の外の領域は、帳票19をスキャナ95にセットしたとき帳票19を押えた押え面を表わす色の画素ここでは背景画素となる。
なお、抽出した水平罫線パタンおよび垂直罫線パタンを共通の格納領域に格納する場合は、これら罫線パタンを重ねた状態に格納領域に格納すれば良いので、ここではその説明を省略する。
(第1のフォーマット認識系での認識動作)
次に、第1のフォーマット認識系55の動作について説明する。第1のフォーマット認識系55での帳票フォーマットの認識に当っては、罫線抽出部55aは、帳票フォーマット未知の帳票イメージデータを走査して、上述のごとく罫線パタンを抽出する。そして、この抽出された罫線パタンから、フォーマット認識部55cは、例えば、上述した様な特開昭57−23185号に開示の方法で特徴を抽出し、この抽出特徴を、帳票標準フォーマットの各種別毎に、フォーマット認識辞書51に保持してある特徴と照合する。
そして、フォーマット認識部55cは、この照合において、一定の条件(以下、個別認識条件という)を満たした時にその種別のフォーマットを、認識対象の帳票のフォーマット候補とする。
この個別認識条件は、任意好適な条件とできる。例えば、フォーマット認識部55cは帳票フォーマットの種別を類似度の高い順に出力し、またそれぞれの種別毎に距離と確信度を出力する。ここで、距離、類似度および確信度とは次のものである。フォーマット認識辞書51に保持してある帳票標準フォーマットの特徴と、認識対象の帳票のイメージデータから抽出した特徴とを照合した結果が距離である。距離の大小が類似度であり、距離が小さいほど類似度が高い。また確信度は距離を正規化して表わした数値であり、確信度が大きいほど類似度が高い。
そして、これに限られないが、例えば、上記の確信度が高い順から指定数分を、フォーマット候補として選択するという第1の条件、また、上記の確信度がある一定の値以上のものをフォーマット候補として選択するという第2の条件、または、確信度の高い順に隣接する種別の距離差を求め距離差がある一定の値以下までの候補をフォーマット候補として選択するという第3の条件の少なくとも1つの条件を満たすものをフォーマット候補として選択する。通常はこれらの基準を組み合わせてフォーマット候補を選択する。
上記の条件を組み合わせてフォーマット候補を選択する具体例について、以下、後に掲載した表を参照して説明する。
表1は、フォーマット認識部55cが出力した帳票標準フォーマット、確信度、距離を示した表である。確信度の高い順にならべた表である。ここで個別認識条件として確信度の高い順に所定個数分を選択する。ここでは確信度が上位6位までをフォーマット候補として選択する例を考える。そのため、帳票標準フォーマットA〜Fが、フォーマット候補として選択されている。これら選択された候補を、以下、有効候補という。
次に、表2は、表1の個別認識条件にさらに、帳票標準フォーマットの種別の確信度がある一定の値以上のものを選択した例を示している。ここでは確信度が90以上という条件を加えた例を示している。そのため、帳票標準フォーマットA〜Eが選択される。
次に、表3は、表2の個別認識条件にさらに、隣接する帳票標準フォーマットの種別の距離差を求め、この距離差がある一定の値以下の候補を選択した例を示している。ここでは距離差が30以下という条件を加えた例を示している。そのため、帳票標準フォーマットA〜Dが選択される。
(第2のフォーマット認識系での認識動作)
第1のフォーマット認識系55が、認識対象の帳票に対して所定個数以上(ここでは例えば1以上)のフォーマット候補を示した場合、第2のフォーマット認識系57によるフォーマット認識動作が以下のように行われる。
既に説明した様に、第2の辞書である個別フォーマット認識辞書53は、標準帳票毎の特徴的な一部分のパタンデータを、予め保持している。
個別フォーマット辞書53に保持させるデータの作成に当っては、既存の帳票を複数枚用意し、各帳票毎に個別フォーマット認識に用いる領域T(図1等参照)を設定し、帳票イメージデータから個別フォーマット認識領域Tとした図形を切り出し、切り出した図形を走査して特徴を抽出する。この特徴と、領域Tの位置、大きさ、形状等を定義した情報を合わせて、帳票標準フォーマットの各種別毎に個別に相対応付け、辞書データとして個別フォーマット認識辞書53に記憶させる。
なお、この個別フォーマット認識領域Tは、帳票上に複数設定しても良い。その場合は、帳票標準フォーマットの種別に対応した個別フォーマット認識辞書53に、複数の領域の特徴と位置、大きさ、形状等を定義した情報を記憶させる。
個別フォーマット認識に当っては、第1のフォーマット認識系55のフォーマット認識部55cが出力した有効候補内の最終候補(例えば表3に示した候補)から先頭候補に向かって順番に個別フォーマット認識を、以下のように行う。
個別フォーマット認識系57の部分パタン切り出し部57aは、個別フォーマット認識辞書53から上記有効候補である帳票標準フォーマット種別に対応した予め保存されている個別フォーマット認識領域Tに関する情報を読み出す。個別フォーマット認識領域Tを複数設定した場合は、これら領域に予め順位付けしておき、その順番で個別フォーマット認識を行うのが良い。個別フォーマット認識の領域が設定されていない種別がもしあった場合は、そのまま有効候補に残しておく。
部分パタン切り出し部57aは、帳票イメージメモリ97から、上記の個別フォーマット認識領域Tに当たる部分のイメージを切り出し、個別フォーマット認識パタンメモリ57bに格納する。個別フォーマット認識部57cは、個別フォーマット認識パタンメモリ57bを走査して、該パタンから特徴部分のパタンを切り出し、そして、切り出したイメージの特徴を抽出する。
この個別フォーマット認識部57cの動作の詳細について、図4を参照して説明する。
フォーマット認識部57cの線幅算出部101は、個別フォーマット認識パタンメモリ57bに格納してあるパタンについて、線幅Wを求める。ここでは線幅算出部101は、個別フォーマット認識パタンメモリ57bに格納された図形パタンを、2×2窓を用いて走査し、2×2窓のすべての点が線描画素となる状態の回数Qと図形パタン中の線描画素総個数Aとを計数する。そして図形パタンの線幅wとしてw=A/(A−Q)を求める。
枠検出部103は切り出された図形パタンの線部分に外接する枠(図形枠)を検出する。ここでは図形枠の水平方向における左辺及び右辺の位置をXL及びXR、垂直方向における上辺及び下辺の位置YU及びYDとするとき、図形枠の左上頂点位置(XL,YU)、左下頂点位置(XL,YD)、右上頂点位置(XR,YU)、右下頂点位置(XL,YD)となり、各位置XL,XR,YU,YDを次のように検出する。
左辺位置XLの検出に当っては、垂直走査線を左から右へ線順次に移動させて、各垂直走査線毎に、捜査線上における線描画素の有無を判定し、線描画素有りと最初に判定された垂直走査線の副走査線位置を左辺位置XLとして検出する。また右辺位置XRの検出に当っては、垂直走査線を右から左へ線順次に移動させて、各垂直走査線毎に、捜査線上における線描画素の有無を判定し、線描画素有りと最初に判定された垂直走査線の副走査線位置を右辺位置XRとして検出する。また上辺位置YUの検出に当っては、水平走査線を上から下へ線順次に移動させて、各水平走査線毎に、走査線上における線描画素の有無を判定し、線描画素有りと最初に判定された水平走査線の副走査線位置を上辺位置YUとして検出する。また下辺位置YDの検出に当っては、水平走査線を下から上へ線順次に移動させて、各水平走査線毎に、走査線上における線描画素の有無を判定し、線描画素有りと最初に判定された水平走査線の副走査線位置を下辺位置YDとして検出する。
次に、HSP抽出部105aは、個別フォーマット認識パタンメモリ57bに保持されている図形パタンを水平方向に走査して、該パタンから水平サブパタンを抽出し、抽出した水平サブパタンをHSPメモリ105eに格納する。
なお、図形パタンの線描画素のうち、水平方向の走査線上で連続する長さLが図形閾値TH1以上となる線描画素を水平サブパタンの線描画素として抽出する。また図形パタンの線描画素のうち、水平方向の走査線上で連続する長さLが図形閾値TH1未満となる線描画素(線描画素1個の場合を含む)と、図形パタンの背景画素とをそれぞれ、水平サブパタンの線描画素として抽出する。水平サブパタンの線描画素は、水平方向の線に対応するものである。
また、VSP抽出部105bは、個別フォーマット認識パタンメモリ57bに保持されている図形パタンを垂直方向に走査して、 該パタンから垂直サブパタンを抽出し、抽出した垂直サブパタンをVSPメモリ105fに格納する。
なお、図形パタンの線描画素のうち、垂直方向の走査線上で連続する長さLが図形閾値TH2以上となる線描画素を、垂直サブパタンの線描画素として抽出する。また図形パタンの線描画素のうち、垂直方向の走査線上で連続する長さが図形閾値TH2未満となる線描画素(線描画素1個の場合を含む)と、図形パタンの背景画素とをそれぞれ、垂直サブパタンの線描画素として抽出する。垂直サブパタンの線描画素は、垂直方向の線に対応するものである。
また、LSP抽出部105cは、個別フォーマット認識パタンメモリ57bに保持されている図形パタンを左斜め45度方向に走査して、該パタンから左斜めサブパタンを抽出し、抽出した左斜めサブパタンをLSPメモリ105gに格納する。
なお、図形パタンの線描画素のうち、左斜め方向の走査線上で連続する長さLが図形閾値TH3以上となる線描画素を、左斜めサブパタンの線描画素として抽出する。また図形パタンの線描画素のうち、左斜め方向の走査線上で連続する長さが図形閾値TH3未満となる線描画素(線描画素1個の場合を含む)と、図形パタンの背景画素とをそれぞれ、左斜めサブパタンの線描画素として抽出する。左斜めサブパタンの線描画素は、左斜め45度方向の線に対応するものである。
また、RSP抽出部105dは切り出された図形パタンを右斜め45度方向に走査して、該パタンから右斜めサブパタンを抽出し、抽出した右斜めサブパタンをRSPメモ105hに格納する。
なお、図形パタンの線描画素のうち、右斜め方向の走査線上で連続する長さLが図形閾値TH4以上となる線描画素を、右斜めサブパタンの線描画素として抽出する。また図形パタンの線描画素のうち、右斜め方向の走査線上で連続する長さが図形閾値TH4未満となる線描画素(線描画素1個の場合を含む)と、図形パタンの背景画素とを、それぞれ右斜めサブパタンの線描画素として抽出する。右斜めサブパタンの線描画素は、右斜め45度方向の線に対応するものである。
図形閾値TH1〜TH4を任意好適に設定することによって、図形パタンから水平、垂直、左斜め、右斜めの各サブパタンを抽出できる。ここでは、上記線幅wを基にしてTH1=N1・w、TH2=N2・w、TH3=N3・w、TH4=N4・wというように、図形閾値TH1〜TH4をそれぞれ設置している。なお、N1〜N4は任意に設定される値である。これに限られないが、例えば、N1=N2=N3=N4=2とすることができる。
図8に、図1(C)に示した認識対象の帳票19の個別フォーマット認識領域Tから、垂直、水平、右斜めおよび左斜めの各サブパタンVSP、HSP、RSPおよびLSPを抽出した場合の例を示してある。
次に、特徴マトリクス作成部107は、各走査方向毎にサブパタンから特徴を抽出し、各サブパタンの特徴から切り出された文字パタンの特徴マトリクスを作成する。
この特徴マトリクス作成部107は、水平サブパタンの図形枠に対応する領域をN×M個の領域に分割し、各領域毎に特徴量lijを求め、こららN×M個の特徴量lijからなるN×M次元の特徴マトリクスを作成する。
特徴量lijは第i行第j列目の領域において求めた特徴量を表わす。例えば、第i行第j列目の領域における線描画素の総個数Bijと図形パタンについて求めた線幅wとを用いて、lij=Bij/wを求める。同様にして、垂直、左斜め、右斜めの各サブパタンについて、それぞれN×M次元の特徴マトリクスを作成する。
次に特徴マトリクス作成部107は、水平、垂直、左斜め及び右斜めの各サブパタンについて作成した特徴マトリクスから、図形枠の水平方向における長さをΔX及び垂直方向における長さをΔY、特徴量lijを正規化して得た特徴量Lijを求める。この特徴量Lijは、水平サブパタンについてはLij=lij/ΔX、垂直サブパタンについてはLij=lij/ΔY、左斜めサブパタンについてはLij=lij/(ΔX2 +ΔY2 )1/2 となる。
次に、特徴マトリクス作成部107は、水平、垂直、左斜め及び右斜めの各サブパタン毎に正規化した特徴マトリクスを得ると、これら正規化した特徴マトリクスから成るN×M×4次元の特徴マトリクスfA を作成し、特徴マトリクスfA を照合部109へ出力する。
照合部109は、切り出された図形パタンの特徴マトリクスと個別フォーマット辞書53の特徴マトリクスとを用いて照合を行い、該照合結果に基づいて切り出された図形と比較した特徴マトリクスの種別との確信度、距離を出力する。
出力された確信度、または距離が、ある所定の条件を満たすならば、この帳票標準フォーマット種別は有効候補として選択しておく。
ここである所定の条件とは任意好適な条件とできる。例えば、上記の距離がある値以下ならば有効候補であり、そうでなければ有効候補外とする方法がある。
個別認識条件を満たす帳票標準フォーマット種別の全てに、個別フォーマット認識辞書53に保存されている領域について特徴を抽出する。そして、辞書データに予め保存してある特徴情報と照合して距離、確信度を算出し、これらが所定の条件を満たすならば、この種別を有効候補として選択し、所定の条件を満たさなければ有効候補から除外する。この有効候補の選択例を表4を用いて説明する。
表4には、第1のフォーマット認識系55で最終候補となった種別A〜Dに対して第2のフォーマット認識を行う例を示している。
すなわち、表4は、個別フォーマット認識部57cが、認識対象の帳票から、候補種別A,B,C,Dに対応した個別フォーマット認識の領域について特徴を取得し(詳細は後述する)、該抽出した特徴と辞書53に予め保持した特徴とを照合した結果を距離で表わした表である。ここで所定の条件として距離が30以下という条件を設定すると、表5に示したように、種別A,Cは有効候補外となる。
個別フォーマット認識領域Tを複数設定した場合で、そのうちの第1の領域の個別フォーマット認識を行った結果、有効候補が複数存在するならば、第2、第3の個別フォーマット認識の領域についても上記で述べた特徴の抽出と辞書データの照合を行い、所定の条件に満たない種別を有効候補外とする。また、有効候補が一つになったならば、以降の処理を行わない。
すべての個別フォーマット認識領域について処理終了後、有効候補が複数存在する場合には、各領域における距離や確信度の結果によって所定の条件で候補の入れ替えを行う。
この候補入れ替えの例を後に掲載した表6〜表8を参照して説明する。先ず、第1の例を、表6および表7を参照して説明する。
この第1の例は、候補帳票中に、個別フォーマット認識領域Tとして、第1及び第2の領域を設定してある場合の候補入れ替え例を示してある。そして、第1のフォーマット認識系での認識結果では、種別Bが第1位の候補帳票、種別Dが第2位の候補帳票というようになっている(表6参照)。しかし、第2のフォーマット認識系での、認識対象の帳票と種別B、Dそれぞれの第1及び第2の個別フォーマット認識領域との照合結果として、種別Bでは第1の個別フォーマット認識領域についてのみ閾値以上の認識結果が得られている。種別Dでは、第1および第2の個別フォーマット認識領域それぞれについて、閾値以上の認識結果が得られている。すなわち、種別Dの方が、種別Bより第2の辞書に対するマッチング個数が多い。このような場合、この発明では、候補帳票の入れ替えが表7のようになされる。すなわち、種別Dが第1位の候補帳票になり、種別Bが第2位の候補帳票になるというように、候補帳票の順位の入れ替えを行う。
また、候補入れ替えの第2の例として、次のようにしても良い。すなわち、候補帳票中に個別フォーマット認識領域として複数の領域を設置した場合に、この複数の領域に優先順位を付けておく。そして、優先順位が上位の個別フォーマット認識領域についての照合で、距離または確信度などが最も小さかった種別を、第1位の候補帳票になるよう入れ替えをする。例えば、表6、表8の例では、第1の個別フォーマット認識領域の照合結果を優先するような順位付けをしている。そのため、この例の場合は、種別B、種別Dの有効候補の順番となる(たまたま、表6と同じ結果となっている)。
以上の処理を行った後、有効候補となっている一又は複数の標準帳票フォーマットを個別フォーマット認識系57の結果として制御部80に出力する。ここで、個別フォーマット認識系57の認識結果が1つである場合、制御部80はこの認識結果に応じた読み取り制御データを読み取り制御データメモリ60から得て、これを文字認識系70に送る。また、個別フォーマット認識系57の認識結果が複数であった場合は、制御部80は、それぞれの認識結果に対応する読み取り制御データを読み取り制御データメモリ60から得て、これを文字認識系70に送っても良いし、または、表示部91にこれら認識結果に対応する帳票を表示して、これらの中から正確な帳票をオペレータによって選択させても良い。後者の場合は、制御部80は、オペレータが選択した帳票についての読み取り制御データを、読み取り制御データメモリ60から得て、これを文字認識系70に送る。
文字認識系70は、送られてきた文字読み取りデータに基づいて、認識対象の帳票から文字パタンを切り出す等の文字認識のための一連の処理を行う。
(文字認識動作)
文字認識処理は、フォーマット認識装置50のフォーマット認識の結果得られる読み取り制御データに基づいて行われる。
すなわち、読み取り制御データ中の、文字パタンの切り出しに関わるデータに基づいて、認識対象の帳票のイメージデータから、文字パタンを切り出す。また、読み取り制御データ中の、文字パタンの認識に関わるデータ(例えば字体など)を利用して、認識用辞書の指定などをする。
次に、切り出した文字パタンからその特徴を抽出する。抽出した文字パタンの特徴と、文字認識辞書70cに予め格納してある特徴とを照合する。例えば、切り出した文字パタンの特徴と文字認識辞書70cに格納してある特徴との間の距離を認識の「確からしさ」として用いて照合を行う。そして、文字認識辞書70c中に格納してある文字名の中から、上記の認識の確からしさに基づいて、一又は複数の文字名を選択し、選択した文字名を文字パタンの認識結果として出力する。
1−4.第2の実施の形態の装置の構成説明
上述の第1の実施の形態の文字読取り装置40は、帳票の特徴的な一部分が特徴的な図形である場合に特に好適な装置であった。もちろん、第1の実施の形態の文字読取り装置40は、帳票の特徴的な一部分が罫線の特徴的な一部分である場合にも対応できる。しかし、帳票の特徴的な一部分が、罫線の特徴的な一部分である場合、例えば図2(A)〜(C)に示したような各帳票のように罫線L1の位置が、帳票の特徴的な一部分である場合は、図9に示したように、個別フォーマット認識部57cのサブパタン抽出部105の構成を第1の実施の形態より簡易にしても良い。すなわち、第1の実施の形態で設けていた、LSP抽出部105c、RSP抽出部105d、LSPメモリ105gおよびRSPメモリ105hを省略し、サブパタン抽出部105を、HSP抽出部105aと、VSP抽出部105bと、HSPメモリ105eと、VSPメモリ105fとで構成する。
罫線の特徴的な一部分は、水平罫線または、垂直罫線または、垂直及び水平罫線の組み合わせであることは明らかなので、HSPおよびVSPに関係するパタン抽出およびパタン記憶ができれば、サブパタン抽出が可能だからである。
なお、この第2の実施の形態の文字読み取り装置では、サブパタン抽出部の構成を変更したことに伴い、例えば第2の辞書に格納するデータを変更し、さらに、特徴マトリクス作成部や照合部の構成を変更する。それ以外の構成は、例えば、第1の実施の形態の文字読取り装置40と同様な構成とすれば良い。
1−5.第2の実施の形態の装置の動作説明
この第2の実施の形態の装置の、第1の実施の形態の装置に対する動作上の相違点は、第2のフォーマット認識系57でのサブパタン抽出部の動作と、サブパタン抽出部が抽出するサブパタンの種類が減ったことに伴う特徴マトリクス作成部や照合部の処理である。すなわち、サブパタン抽出部はVSPおよびHSPのみを抽出する。また、特徴マトリクス作成部や照合部は、認識対象の帳票から水平および垂直それぞれの走査方向について特徴を作成し、この特徴と、辞書に格納した特徴とを照合する。
図10は、図2(C)に示した認識対象の帳票25の特徴的な一部分Tと、この部分Tから抽出される垂直サブパタン(VSP)および水平サブパタン(HSP)とを示した図である。
この第2の実施の形態の文字読み取り装置では、第2のフォーマット認識系57での上記の動作以外の動作は、第1の実施の形態と同様に行われるので、その説明を省略する。
1−6.第3の実施の形態の装置の構成説明
上述の第1の実施の形態の文字読取り装置40は、帳票の特徴的な一部分が特徴的な図形である場合に特に好適な装置であった。しかし、図11を参照して既に説明したように、帳票の特徴的な一部分が文字である場合もあり得る。
すなわち、図11(A)および(B)に示した帳票31と帳票33とは、罫線L1が在るか無いかという点と、帳票の右上隅に互いに異なる特徴的な文字が印刷されている点とを除いて同じフォーマットとなっている。すなわち、帳票31は、その左上隅に罫線L1があり、かつ、帳票の右上隅に「○電気」という特徴的な文字が印刷されている。帳票33は、罫線L1がなく、かつ、その右上隅に「△△電気」という特徴的な文字が印刷されている。一方、図11(C)に示した認識対象の帳票35は、帳票種別番号が印刷されていないが、帳票の罫線パタンは、図11(A)に示した帳票31と同じである。そのため、帳票の全体から抽出したパタンを予め辞書中に用意したパタンと比較する方法、例えば、この出願の出願人に係る特開平9−259221号公報に開示されている、帳票全体から抽出した罫線パタンを予め用意した辞書と照合する方法により、帳票35は帳票31と同じフォーマットの帳票であると認識できる。
しかし、帳票35に、汚れがあったり、折り目があったり、また、罫線がかすれていたりした場合等は、この帳票全体から抽出されるパタンは、例えば、帳票31と帳票33との中間のような罫線パタンになり易い。すると、両者の認識はしづらくなる。
そこで、この第3の実施の形態では、第1のフォーマット認識系55が所定個数以上(例えば1以上)の候補帳票を出力した場合は、第2のフォーマット認識として、帳票の一部の文字に着目したフォーマット認識をする。以下、詳細に説明する。
図12はこの第3の実施の形態で用いて好適な文字読み取り装置140の構成を示したブロック図である。
なお、この実施の形態の文字読み取り装置140の、第1の実施の形態の文字読み取り装置40との相違点は、第2の辞書153の構成と、第2のフォーマット認識系157の構成である。それ以外は、第1の実施の形態と同様としてある。そこで、以下の説明では、相違点のみを説明する。
先ず、第2の辞書153(個別フォーマット認識辞書153ともいう)は、フォーマットが異なる既存の複数の帳票毎の、所定の一部分(個別フォーマット認識領域T)に印刷されている1又は複数の特徴的な文字の文字名を、予め保持している。ただし、この実施の形態の場合は、上記の1又は複数の特徴的な文字の文字名の他に、帳票毎の、個別フォーマット認識領域Tの設定数、その位置、特徴的な文字の文字種を表した情報など(これを、「個別フォーマット認識情報」ともいう)も、第2の辞書153は予め保持している。
この様な個別フォーマット認識辞書153を作成するには、既存の帳票を複数枚用意する。例えば図11(A)、(B)に示した帳票31,33を含む複数枚の帳票を用意する。そして、各帳票毎に個別フォーマット識別領域Tを設定し、設定した領域の数、位置、特徴的な文字の文字種、文字数等などと共に、この1又は複数の特徴的な文字の文字名を、辞書データとして、個別フォーマット認識辞書153に予め保持させる。
また、第2のフォーマット認識系157は、第1のフォーマット認識系55が1以上の候補帳票(以下、候補帳票を種別とかフォーマット候補ともいう)を示した場合に動作する。そして、認識対象の帳票の、前記1以上の候補帳票毎の前記特徴的な一部分Tに当たる領域から文字を切り出し、該切り出した文字を文字認識して文字名を得る。そして、該得られた文字名を前記第2の辞書中の文字名と照合して、前記認識対象の帳票のフォーマットを認識する。
この実施の形態の第2のフォーマット認識系157は、文字切り出し部157aと、文字パタンメモリ157bと、文字認識辞書157cと、文字認識部157dと、個別フォーマット認識部157eとで構成してある。
文字切り出し部157aは、第1のフォーマット認識系55が候補として候補帳票毎の、個別フォーマット認識領域Tの位置データを、第2の辞書153から得て、このデータに基づいて、帳票イメージメモリ97からパタンを切り出す。さらに、周知の方法で、文字毎のパタンを切り出す。
文字パタンメモリ157bは、文字切り出し部157aが切り出した文字毎のパタンを格納する。
文字認識辞書157cは、各種の文字の特徴(標準特徴)と文字名とを予め保持している。
文字の特徴をどのようなデータとして保持するかは、任意である。しかし、この実施の形態の文字認識辞書は、文字パタンを複数領域に分割し該分割領域の特徴で表される特徴マトリクスの形で、文字の特徴を保持している。
文字認識部157dは、文字パタンから特徴を抽出し、該抽出した特徴を文字認識辞書と照合して文字を認識し、その文字名を個別フォーマット認識部157eに出力する。
この文字認識部157dの構成は任意好適なものとできる。例えば、特開平9−259221号公報に開示の文字認識部で構成することが出来る。もちろん、1例でありこれに限られない。
図13は、この文字認部157dの具体的な構成例を説明する機能ブロック図である。
この図13の場合の文字認識部157dは、線幅算出部201と、枠検出部203と、サブパタン抽出部205と、特徴マトリクス作成部207と、照合部209とで構成してある。これらの詳細は後の動作説明の項で説明するが、間単に説明すれば次の通りである。
線幅算出部201は、文字切り出し部157aが切り出したパタンの線幅を算出する。
枠検出部203は、文字切り出し部157aが切り出したパタンに外接する枠(文字枠)を検出する。
サブパタン抽出部205は、文字パタン切り出し部157aが切り出したパタンを複数の方向に走査して、各走査方向毎にサブパタンを抽出する。この場合のサブパタン抽出部205は、水平方向サブパタン(HSP)を抽出するHSP抽出部205aと、垂直方向サブパタン(VSP)を抽出するVSP抽出部205bと、左斜めサブパタン(LSP)を抽出するLSP抽出部205cと、右斜めサブパタン(RSP)を抽出するRSP抽出部205dと、対応するサブパタンを格納するHSPメモリ205e、VSPメモリ205f、LSPメモリ205gおよびRSPメモリ205hとで構成してある。
特徴マトリクス作成部207は、水平、垂直、左斜めおよび右斜めの各走査方向毎に、サブパタンから特徴を抽出し、各サブパタンの特徴から特徴マトリクスを作成する。
照合部209は、特徴マトリクス作成部207が作成した特徴マトリクスと、文字認識辞書157cに格納してある各文字の特徴マトリクスとを用いて照合を行い、その結果に基づいて文字名を出力する。
なお、文字切り出し部157a、文字パタンメモリ157b、文字認識辞書157cおよび文字認識部157dを、文字認識系70の、文字切り出し部70a、文字パタンメモリ70b、文字認識辞書70cおよび文字認識部70dで兼用するのが好ましい。こうすれば、文字読み取り装置140のハードウェア規模及びソフトウェア規模を削減できるという利点が得られる。
個別フォーマット認識部157eは、文字認識部157dでの文字認識結果と、個別フォーマット認識辞書153に予め格納してあるデータとを照合して、認識対象の帳票の1又は複数のフォーマット候補を認識結果として出力する。
1−7.第3の実施の形態の装置140の動作説明
次に、文字読み取り装置140の動作について説明する。図14は、文字読み取り装置140の全体的な動作の流れを示す図である。
なお、第1のフォーマット認識系55による処理と、文字認識系70による処理は、第1の実施の形態の文字読取り装置40の場合と同様であるので、以下の説明では、第2のフォーマット認識系157の動作について主に説明する。
第1の実施の形態の装置40の場合と同様に、認識対象の帳票(例えば図11(C)に示した帳票35)から得たイメージデータから罫線パタンを抽出し(図14のS1)、この罫線パタンのデータを第1の辞書51内のパタンのデータと照合する(図14のS2)。
次に、所定個数以上(ここでは例えば1以上の例を考える)の候補帳票が在るか否かが判定される(図14のS3)。候補帳票が1つも無かった場合、その旨が、制御部80に通知される(図14のS21)。候補帳票が1以上あった場合は、制御部80は第2のフォーマット認識系157を起動する。ただし、第1のフォーマット認識系55での認識において1以上の候補帳票が示された場合であっても、これら種別それぞれに対応した個別フォーマット認識情報が個別フォーマット認識辞書153にない場合は、第1のフォーマット認識系55で得た認識結果を制御部80に出力する。
第1のフォーマット認識系55が出力した候補帳票の全部又は一部それぞれに対応した個別フォーマット認識情報が個別フォーマット認識辞書153にあった場合は(図14のS4)、制御部80は、認識対象の帳票のイメージデータから、各種別毎の所定の一部分に対応する部分を切り出すための位置情報を、個別フォーマット認識辞書153からそれぞれ得る(図14のS5)。すなわち、例えば、認識対象の帳票35に対して、例えば図11(A)の帳票31および図11(B)の帳票33がフォーマット候補となっている場合であれば、帳票31、33各々の特徴的な一部分Tに対応する部分を、認識対象の帳票35のイメージデータから切り出すための位置情報を、個別フォーマット認識辞書153から制御部80は得る。そしてこれを文字切り出し部157aに入力する。
文字切り出し部157aは、上記の位置情報に基づいて、帳票イメージメモリ97から、パタンを切出して、それを文字パタンメモリ157bに格納する(図14のS6)。
文字切り出し部157aがパタン切出しを終了すると、制御部80は、文字認識部157dを起動する。起動された文字認識部157dは、文字パタンメモリ157bに格納されているパタンから特徴を抽出し、この特徴と、文字認識辞書157cに格納されている標準パタンの特徴データとを照合し、認識結果としての文字名を出力する(図5のS7)。
この文字認識部157dでの特徴抽出、照合および文字認識の各処理は、第1の発明の実施の形態で図4を用いて説明した個別フォーマット認識部57cでの各処理と同様に行える。したがって、以下では簡単に説明する。
先ず、線幅算出部201は、文字パタンメモリ157b格納された文字パタンから、第1発明での線幅算出部101の場合と同様に、線幅wとしてw=A/(A−Q)を求める。
枠検出部203は切り出された文字パタンの線部分に外接する枠(文字枠)を、第1の発明での枠検出部103の場合と同様に、検出する。
サブパタン抽出部205は、切り出された文字パタンを、ここでは水平、垂直、右斜め、左斜めの各方向に走査して、各走査方向毎にサブパタンを抽出する。各サブパタンの抽出処理は、第1の発明でのサブパタン抽出部105での処理と同様に行われる。
特徴マトリクス作成部207は、第1の発明での特徴マトリクス107と同様に、各走査方向毎のサブパタンから特徴を抽出し、各サブパタンの特徴から、切り出された文字パタンの特徴マトリクスを作成する。すなわち、特徴マトリクス作成部207は、水平サブパタンの文字枠に対応する領域をN×M個の領域に分割し、各領域毎に特徴量lijを求め、こららN×M個の特徴量lijからなるN×M次元の特徴マトリクスを作成する。
照合部209は、第1の発明での照合部107と同様に、切り出された文字パタンの特徴マトリクスと文字認識辞書157c中のデータの特徴マトリクスとを用いて照合を行う。そして、切り出された文字と比較した特徴マトリクスの文字名と確信度、距離を出力する。
1つの候補帳票中に特徴的な一部分Tを複数箇所定めた場合は、その個数分、ステップS5から処理を繰り返し、認識結果を出力する(図5のS8)。
個別フォーマット識別を行なう種別毎に、すなわち、複数のフォーマット候補毎に、上記処理(S4〜S8)を繰り返す。
文字認識部157dが各フォーマット候補毎の認識結果を出力し終えたら、制御部80は、個別フォーマット認識部157eを起動する。
起動された個別フォーマット認識部157eは、文字認識部157dからの各フォーマット候補毎の文字名を個別フォーマット認識辞書153内のデータと照合して、認識対象の帳票のフォーマットを認識する(図14のS10)。この際、類似度の高いフォーマット候補(種別)と判断する順に、認識結果を入れ換えて、1又は複数のフォーマット候補を選択する。
制御部80が帳票フォーマットの認識結果として一つの種別のみを入力する場合には、制御部80は、当該認識結果に対応した読取り制御データを読み取り制御データメモリ60から読み出し、読み出した読み取り制御データを文字認識系70へ出力する(図14のS11)。
制御部80が帳票フォーマットの認識結果として複数の種別を入力する場合には、これら認識結果を確認するための情報を表示部91に表示できる構成とするのが良い。そして、この情報を判断基準として、オペレータが上記の複数の帳票の中から所望の帳票を選択する指示又は該当なしの指示をできるように入力部93を構成するのが良い。
例えば、制御部80は、帳票フォーマットの認識結果に基づいて候補帳票を表示部91に表示させる。オペレータは、この表示を見て正しいと判断できる認識結果を選択し、選択した認識結果を指示する信号を、入力部93を介して、制御部80に入力する。
制御部80は、オペレータが選択した認識結果に対応する読み取り制御データを読み取り制御データメモリ60から読み出し、読み出した読み取り制御データを文字認識系70へ出力する(図14のS11)。
この場合の読み取り制御データは、上述した様に、文字パタン切り出しのための制御データと、文字パタンを認識するための制御データである。制御部80は、文字パタンの切出しのための制御データを文字切出し部70aへ、また文字パタンの認識のための制御データを文字認識部70dへ出力する。
その後は、第1の実施の形態にて説明したと同様に文字認識系70は認識対象の帳票上の文字を認識する。
なお、これまでの説明では、第2のフォーマット認識系は、第1のフォーマット認識系が所定個数以上の候補を出力した場合に動作し、かつ、第1のフォーマット認識系が候補を所定個数未満しか出力しなかった場合(0も含む)は、制御部に処理を委ねる(図5や図14のステップS3,S21参照)認識系であった。しかし、第2のフォーマット認識系を、第1のフォーマット認識系が所定個数未満の候補を出力した場合は、認識対称の帳票の一部の特徴と、既存の帳票の全ての帳票毎の一部の特徴データとの照合をして、認識対象の帳票のフォーマットを認識し、第1のフォーマット認識系が所定個数以上の候補を出力した場合は、該出力された帳票毎の一部の特徴データと認識対称の帳票の一部の特徴との照合をして、認識対象の帳票のフォーマットを認識する認識系としても良い。
こうすると、第1のフォーマット認識系が候補を挙げた場合、挙げない場合それぞれで、第2のフォーマット認識系による効果的なフォーマット認識が行えるからである。
このような構成とする場合の動作例を、図15を参照して説明する。なお、この図15は、図5中のステップS21の処理を今回の態様に合わせて変更した図である。
第1のフォーマット認識系55が所定個数以上の候補を出力した場合は、図5を参照して説明したと同様にステップS4〜S9の処理をする(図15)。一方、第1のフォーマット認識系55が所定個数未満(例えば1未満)の候補を出力した場合は、第2のフォーマット認識系57は、第2の辞書53中の既存の帳票全てを候補とする(図15のステップS31)。そして、認識対象の帳票について、各既存の帳票の特徴的な一部分に着目した照合等、すなわち第2のフォーマット認識系による処理をそれぞれ行う。ただし、第2のフォーマット認識系57による照合等を行う前に、第2の辞書53中の既存の全ての帳票それぞれの第1のフォーマット認識結果として、第1のフォーマット認識系での閾値(候補を選択する閾値)以上の所定値を制御部80は強制的に設定する(図15のステップS3)。こうする理由は、上述した候補帳票の並べ替えのための初期設定を確保するためである。その後は、第2のフォーマット認識系57によるフォーマット認識を行って、既存の帳票の中から認識対象の帳票のフォーマット候補としての1又は複数の候補帳票を決める。こうして決められた候補帳票を、好ましくは表示部91に表示し、オペレータが入力部93を用いて最終的な補帳帳票を決めるようにするのが良い。
また、図14を用いて説明した特徴的な文字に着目する態様の場合でも、第1のフォーマット認識系が所定個数未満の候補を出力した場合に、第2のフォーマット認識系が第2の辞書中の既存の全ての帳票を候補として、認識対象の帳票のフォーマット認識をするように、第2のフォーマット認識系を構成することができる。その場合は、図14中のステップS21の処理の代わりに、図15のステップS31の処理が行われるように、第2のフォーマット認識系157(図12)の構成を変更すれば良い。
2.フォーマット認識装置および文字読み取り装置の第2の発明
上述した第1の発明では、帳票全体のパタンを第1の辞書中の既存の帳票毎のパタンと照合して認識対象の帳票のフォーマットを認識する第1のステップと、認識対象の帳票の、前記候補帳票毎の特徴的な一部分に対応する領域から特徴を抽出して該特著を第2の辞書中の既存の帳票の特徴データと照合して認識対象の帳票のフォーマットを認識する第2のステップとを実施する装置を主張していた。
しかし、場合によっては、帳票の一部分に在る帳票の特徴部分のみに着目して、帳票のフォーマットを識別しても良い。この第2の発明はその例である。
そこで、この第2の発明のフォーマット認識装置は、認識対象の帳票の一部の特徴を抽出し、該特徴を既存の帳票の一部の特徴データと照合して、前記認識対象の帳票のフォーマットを認識するフォーマット認識系を具える。
より具体的には、フォーマットが異なる既存の複数の帳票毎の特徴的な一部分からそれぞれ抽出したパタンのデータを、予め保持している辞書と、認識対象の帳票のイメージデータから、前記既存の帳票毎の特徴的な一部分に相当する部分のパタンをそれぞれ抽出するパタン抽出部と、該パタン抽出部が抽出したパタンのデータを前記辞書中のデータと照合して、前記認識対象の帳票のフォーマットを認識するフォーマット認識系を具える。
また、この第2の発明の文字読み取り装置は、上記の第2の発明のフォーマット認識装置と、読み取り制御データメモリと、文字認識系とを備える。
ただし、読み取り制御データメモリは、複数の帳票毎の該帳票から文字を読み取るために必要な読み取り制御データを保持していて、フォーマット認識装置の認識結果によって1又は複数の読み取り制御データを出力するメモリである。また、文字認識系は、読み取り制御データメモリから出力される読み取り制御データに基づいて認識対象の帳票から文字を認識するものである。
なお、帳票の特徴的な一部分とは、例えば、帳票の所定の一部分に印刷された図形(文字パタンの場合も含む)、または、罫線の特徴的な一部分、または、これら図形及び罫線の特徴的な一部分双方とできる。
この第2の発明のフォーマット認識装置および文字読み取り装置の実施の形態としては、例えば、第1の発明の実施の形態で説明した文字読み取り装置40の構成から、第1の辞書51および第1のフォーマット認識系55をそれぞれ除去し、そして、第2のフォーマット認識系57の構成を以下に説明するような構成とする形態がある。
すなわち、第2のフォーマット認識系57を、認識対象の帳票のフォーマットを認識する際に起動する系とする。そして、第2のフォーマット認識系57の部分パタン切り出し部57aは、認識対象の帳票のイメージデータから、既存の帳票の特徴的な一部分に相当する部分のパタンを切り出す構成とする。なお、既存の帳票が複数である場合は、認識対象の帳票のイメージデータから、これら複数の既存の帳票毎の特徴的な一部分に相当部分をそれぞれ切り出す。認識対象の帳票のイメージデータから、既存の帳票の特徴的な一部分に相当するパタンを切り出すための位置情報は、辞書に予め保持しておくのが良い。また、個別フォーマット認識部57cは、上記切り出したパタンから特徴を抽出し、この特徴を、個別フォーマット認識辞書53内の特徴と照合して、認識対象の帳票の1又は複数のフォーマットを選択する構成とする。
このような構成とすれば、認識対象の帳票に対して、帳票の特徴的な一部分に着目したフォーマット認識処理と、この認識結果に基づいた文字読み取り処理とが行える。