(57)【要約】【課題】文字の書かれている環境に応じた適切な認識処理を精度良く行うことが可能なパターン認識装置を提供する。【解決手段】本発明のパターン認識装置は、処理対象の状態を入力画像から抽出する状態抽出手段（１ａ）と、前記処理対象の状態ごとにパターン認識処理を行うパターン認識手段（２、４、６）と、前記状態抽出手段により抽出された前記処理対象の状態ごとに、前記パターン認識処理のいずれか１つ又は複数を呼び出して認識処理を行わせる認識処理制御手段（１ｂ）とを備える。【選択図】図２
2007058882.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の状態を入力画像から抽出する状態抽出手段と、
前記処理対象の状態ごとにパターン認識処理を行うパターン認識手段と、
前記状態抽出手段により抽出された前記処理対象の状態ごとに、前記パターン認識処理のいずれか１つ又は複数を呼び出して認識処理を行わせる認識処理制御手段とを備えることを特徴とするパターン認識装置。
【請求項２】
前記状態抽出手段は、
入力画像から所定の範囲の大きさを有する連結パターンを文字の候補として抽出する文字抽出手段と、
前記文字の候補のうち、隣接して存在するものを文字列の候補として抽出する文字列抽出手段と、
前記入力画像から罫線を抽出する罫線抽出手段と、
前記罫線で４方を囲むパターンを枠として抽出する枠抽出手段と、
前記枠と接触している文字を抽出する接触文字抽出手段と、
前記入力画像のかすれ状態を分析するかすれ分析手段と、
前記入力画像のつぶれ状態を分析するつぶれ分析手段と、
前記入力画像の訂正状態を抽出する訂正特徴抽出手段とを備えることを特徴とする請求項１に記載のパターン認識装置。
【請求項３】
前記枠抽出手段は、
前記罫線の連結状態及び枠の大きさに基づいて、一文字枠、ブロック枠、フリーピッチ枠、規則的な表、又は不規則な表のうちのいずれか１つの属性を前記枠に付与する属性付与手段を備えることを特徴とする請求項２に記載のパターン認識装置。
【請求項４】
前記接触文字抽出手段は、
前記枠抽出手段により抽出された枠の内側を枠に沿って走査する走査手段と、
前記走査により交差するパターンが存在するかどうかを検出する交差検出手段と、
前記交差検出手段により交差するパターンが検出された場合、前記パターンを走査した枠についての枠接触文字であると判断する判断手段と、
前記パターンが走査した枠の外側から内側にはみだしたものであるかどうかを検出するはみだし検出手段と、
枠の外側から内側にはみだしているパターンを、走査した枠についての枠接触文字から除外する除外手段とを備えることを特徴とする請求項２に記載のパターン認識装置。
【請求項５】
前記訂正特徴抽出手段は、
矩形内の画像を所定の一定方向に沿って走査した際の、白画素から黒画素又は黒画素から白画素に変化する回数を計数することにより、所定方向の線密度を算出する線密度算出手段と、
画像中での互いに連結している連結成分の個数から、その画像が有する穴の個数を減算することにより、オイラー数を算出するオイラー数算出手段と、
注目する画像自体の面積と注目する画像の外接矩形の面積との比を計算することにより、黒画素密度を算出する黒画素密度算出手段と、
前記線密度が所定の値以上の場合、前記矩形内の画像を訂正文字の候補とする線密度判定手段と、
前記オイラー数の絶対値が所定の値以上で、且つ負の値となる場合、前記画像を訂正文字の候補とするオイラー数判定手段と、
前記黒画素密度が所定の値以上の場合、前記画像を訂正文字の候補とする黒画素密度判定手段とを備えることを特徴とする請求項２に記載のパターン認識装置。
【請求項６】
前記パターン認識手段は、
文字についてのパターン認識を行う文字認識手段と、
文字列についてのパターン認識を行う文字列認識手段と、
枠に接触した文字についてのパターン認識を行う接触文字認識手段と、
かすれ文字についてのパターン認識を行うかすれ文字認識手段と、
つぶれ文字についてのパターン認識を行うつぶれ文字認識手段と、
訂正文字についてのパターン認識を行う訂正文字認識手段と、
くせ字についてのパターン認識を行うくせ字認識手段とを備えることを特徴とする請求項２に記載のパターン認識装置。
【請求項７】
前記文字認識手段は、
入力された未知文字の特徴を特徴ベクトルとして抽出する特徴抽出部と、
文字カテゴリの特徴を特徴ベクトルとして予め格納している基本辞書と、
前記未知文字の特徴ベクトルと前記文字カテゴリの特徴ベクトルとの間の距離を算出し、前記特徴ベクトル間の距離を最小とする文字カテゴリを前記未知文字として認識する照合部とを備えることを特徴とする請求項６に記載のパターン認識装置。
【請求項８】
前記文字認識手段は、
未知文字の輪郭の凹凸の個数を算出することにより、前記未知文字の変形度を算出する変形度算出手段と、
文字カテゴリの特徴を特徴ベクトルとして予め格納しているセグメント辞書と、
文字の輪郭を端点で分割し、文字セグメントを生成する文字セグメント生成部と、
前記変形度が所定値以上の場合、前記文字セグメントの角度変化の累積値が互いに最も近くなるように、未知文字の文字セグメントと前記文字カテゴリの文字セグメントとの対応関係を生成する対応関係生成部と、
前記対応関係に基づいて、前記未知文字の特徴ベクトルと前記文字カテゴリの特徴ベクトルとの間の距離を算出し、前記特徴ベクトル間の距離を最小とする文字カテゴリを前記未知文字として認識する照合部とを備えることを特徴とする請求項６に記載のパターン認識装置。
【請求項９】
前記文字列認識手段は、
パターンの特徴を示すＰ個の特性値により表されるサンプルデータを、切り出し成功を示す第１の群と切り出し失敗を示す第２の群とに分類し、前記第１の群と前記第２の群の各重心から等距離となるように構成された判別面をＰ次元空間内に生成する判別面生成手段と、
前記Ｐ次元空間内において、入力データについてのＰ個の特性値の位置が、前記判別面からどのくらい離れているかを示す距離を求め、前記距離に基づいて、前記入力データの切り出し信頼度を算出する切り出し信頼度算出手段と、
前記入力データの切り出し信頼度と切り出された入力データの認識信頼度とに基づいて、入力データの切り出し位置を決定する切り出し決定手段とを備えることを特徴とする請求項６に記載のパターン認識装置。
【請求項１０】
前記接触文字認識手段は、
枠接触文字から枠を除去する枠除去手段と、
枠を除去することにより分離した線分の方向に基づいて、前記枠を除去することによりかすれた文字を補完する文字補完手段と、
枠を除去することにより分離したパターンのうち、前記枠接触文字の状態の時に互いに連結していたパターンの間を連結することにより、前記枠に重なっていた線分を補完する再補完手段と、
文字と枠とを所定の条件で接触させた学習パターンを生成する学習パターン生成手段と、
前記学習パターンの認識信頼度を前記所定の条件とともに格納し、前記認識信頼度が所定の値以下の場合、前記学習パターンについての再文字認識方法を格納している知識テーブルと、
前記文字補完手段により補完されたパターン又は前記再補完手段により補完されたパターンが、前記所定の条件を満たす場合、知識テーブルに格納された再文字認識方法により再文字認識を行う再文字認識手段とを備えることを特徴とする請求項６に記載のパターン認識装置。
【請求項１１】
前記かすれ文字認識手段は、
入力された未知文字の特徴を特徴ベクトルとして抽出する特徴抽出部と、
かすれ文字についての文字カテゴリの特徴を特徴ベクトルとして予め格納しているかすれ辞書と、
前記未知文字の特徴ベクトルと前記文字カテゴリの特徴ベクトルとの間の距離を算出し、前記特徴ベクトル間の距離を最小とする文字カテゴリを前記未知文字として認識する照合部とを備えることを特徴とする請求項６に記載のパターン認識装置。
【請求項１２】
前記つぶれ文字認識手段は、
入力された未知文字の特徴を特徴ベクトルとして抽出する特徴抽出部と、
つぶれ文字についての文字カテゴリの特徴を特徴ベクトルとして予め格納しているつぶれ辞書と、
前記未知文字の特徴ベクトルと前記文字カテゴリの特徴ベクトルとの間の距離を算出し、前記特徴ベクトル間の距離を最小とする文字カテゴリを前記未知文字として認識する照合部とを備えることを特徴とする請求項６に記載のパターン認識装置。
【請求項１３】
前記訂正文字認識手段は、
訂正文字の候補として抽出されたパターンの所定方向のヒストグラム値を算出するヒストグラム値算出手段と、
前記ヒストグラム値が所定値以上の線分を除去する線分除去手段と、
前記線分を除去することにより、前記パターンのかすれた部分を補完して補完パターンを生成する補完手段と、
前記補完パターンについての文字認識を行う文字認識手段と、
前記補完パターンが文字と認識された場合は、前記線分除去手段により除去した線分を消し線とみなし、前記補完パターンがリジェクトされた場合は、前記線分除去手段により除去した線分を文字の一部とみなす消し線認識手段とを備えることを特徴とする請求項６に記載のパターン認識装置。
【請求項１４】
前記くせ字認識手段は、
同一筆者が書いた手書き文字を各カテゴリごとにクラスタリングすることにより、前記手書き文字を要素とする複数のクラスタを各カテゴリ内に生成するクラスタリング手段と、
前記クラスタリング手段により生成されたクラスタから、要素数が所定値以下のクラスタを抽出するクラスタ抽出手段と、
前記クラスタ抽出手段により抽出された第１のクラスタと、他のカテゴリに属する第２のクラスタとのクラスタ間距離を算出するクラスタ間距離算出手段と、
前記第１のクラスタと第２のクラスタとの間の距離が所定値以下の場合、第１のクラスタと第２のクラスタとを統合し、前記第１のクラスタに属する手書き文字のカテゴリを前記第２のクラスタのカテゴリに修正するカテゴリ修正手段とを備えることを特徴とする請求項６に記載のパターン認識装置。
【請求項１５】
前記認識処理制御手段は、
前記文字抽出手段が文字の候補を抽出した場合、前記文字認識手段を呼び出し、前記文字列抽出手段が文字列の候補を抽出した場合、前記文字列認識手段を呼び出し、前記接触文字抽出手段が枠と接触している文字を抽出した場合、前記接触文字認識手段を呼び出し、前記かすれ分析手段が前記入力画像のかすれ状態を抽出した場合、前記かすれ文字認識手段を呼び出し、前記つぶれ分析手段が前記入力画像のつぶれ状態を抽出した場合、前記つぶれ文字認識手段を呼び出し、前記訂正特徴抽出が前記入力画像の訂正状態を抽出した場合、前記訂正文字認識手段を呼び出すことを特徴とする請求項６に記載のパターン認識装置。
【請求項１６】
前記認識処理制御手段は、前記文字認識手段による文字としての信頼度が所定の値以上の場合、前記くせ字認識手段を呼び出すことを特徴とする請求項６に記載のパターン認識装置。
【請求項１７】
前記認識処理制御手段は、
処理対象の状態の入力画像からの抽出結果に基づいて、前記パターン認識手段による認識処理のいずれを呼び出すかを示す呼び出し手順を格納している処理順序制御ルール格納手段と、
同一の処理対象に対する複数の認識処理が前記パターン認識手段から呼び出された際の呼び出し順序を格納した処理順序テーブルと、
前記呼び出し手順及び前記呼び出し順序に基づいて、前記パターン認識手段による認識処理の実行順序を前記処理対象ごとに示した中間処理結果テーブルを作成する中間処理結果テーブル作成手段と、
前記中間処理結果テーブルに記入された認識処理の実行結果に基づいて、次の処理の実行を指示する手順を格納している処理実行ルール格納手段とを備えることを特徴とする請求項１に記載のパターン認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパターン認識装置に係わり、特に手書き用文字認識装置のみならず、印刷文字認識装置や図面認識装置における文字、図形及び記号の認識を入力画像の様々な状態に応じて正確に行うようにするものである。
【背景技術】
【０００２】
ＯＣＲ（Optical Character Reader) 等の手書き文字認識装置は、会計帳票などに書かれている文字を自動的に読み取って、文字を自動入力することにより、会計帳票などから人手で文字を見つけ出し、文字をキー入力するような手間を省くようにしていた。
【０００３】
図７９は、従来の手書き文字認識装置の構成を示すブロック図である。
図７９において、帳票／文書３１１をスキャナで読み込み、その帳票／文書３１１の多値画像を得る。
【０００４】
次に、前処理部３１２において、その多値画像の２値化、雑音除去、帳票／文書３１１の傾き補正を行う。
次に、文字切り出し部３１３において、予め定義されている罫線情報や文字の位置情報を用いることにより、文字を１文字づつ切り出す。
【０００５】
次に、文字認識部３１４において、それぞれの文字ごとに文字認識を行い、文字コードを出力する。ここで、この文字認識は、文字切り出し部３１３により切り出された未知の文字パターンの特徴のそれぞれに対し、認識辞書３１５に予め登録されている個々の文字カテゴリの特徴と１つずつ照合することにより行われる。
【０００６】
例えば、２次元の文字パターンを文字の特徴を表す特徴空間上の特徴ベクトルに変換し、未知の文字パターンと認識辞書３１５に予め登録されている文字カテゴリとの類似度として、特徴空間上の特徴ベクトル間の距離を算出する。そして、未知の文字パターンの特徴ベクトルと認識辞書３１５に予め登録されている文字カテゴリの特徴ベクトルとの間の距離が最も近いものを、未知の文字パターンに対応する文字カテゴリとして認識する。
【０００７】
ここで、消し線、雑音、模様などの非文字を文字と誤って認識し、文字の文字コードが非文字に対して出力されることを防止するため、２つの特徴ベクトル間の距離に対してしきい値を設定しておく。そして、２つの特徴ベクトル間の距離がこのしきい値以上の場合、未知の文字パターンが認識辞書３１５に予め登録されている文字カテゴリのどれに対応しているのかかわからないとするか、非文字であると判断してリジェクトコードを出力するようにしていた。
【０００８】
また、認識辞書３１５として、高品質文字、かすれ文字、つぶれ文字のそれぞれの文字カテゴリの特徴を登録したものを用意しておき、高品質文字に対しては、高品質文字についての認識辞書３１５を使用し、かすれ文字に対しては、かすれ文字についての認識辞書３１５を使用し、つぶれ文字に対しては、つぶれ文字についての認識辞書３１５を使用することにより、帳票／文書３１１の文字の品質の違いに対応できるようにしていた。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の手書き文字認識装置は、文字がかすれている場合であっても、文字がつぶれている場合であっても、文字が高品質文字であっても、切り出した１文字に対して、同一の認識辞書３１５を用いて画一的に処理を行っていた。
【００１０】
このため、認識辞書３１５に登録してあるかすれ文字についての情報が、高品質文字の認識処理を行う際に悪影響を及ぼし、かすれ文字が認識辞書３１５に登録してあるために、高品質文字が読めなくなってしまうという問題があった。
【００１１】
また、かすれやつぶれだけでなく、文字が罫線に接触しているなどの文字が書かれている環境は様々なものがあり、画一的な認識辞書３１５で様々な環境に対応しようとした場合、互いに相互作用を及ぼし合い、認識処理の精度の大幅な改善は望めないという問題があった。
【００１２】
そこで、本発明の目的は、文字の書かれている環境に応じた適切な認識処理を精度よく行うことが可能なパターン認識装置を提供することである。
【課題を解決するための手段】
【００１３】
上述した課題を解決するために、本発明のパターン認識装置は、処理対象の状態を入力画像から抽出する状態抽出手段と、前記処理対象の状態ごとにパターン認識処理を行うパターン認識手段と、前記状態抽出手段により抽出された前記処理対象の状態ごとに、前記パターン認識処理のいずれか１つ又は複数を呼び出して認識処理を行わせる認識処理制御手段とを備える。
【００１４】
なお、本発明の一態様によれば、処理対象の状態を入力画像から抽出し、その状態に適した認識処理を処理対象ごとに選択することにより、パターン認識を行うようにしている。
【００１５】
このことにより、様々な状態を有する入力画像に対し、それぞれの状態に適したパターン認識処理を行うことができ、認識処理を精度よく行うことが可能となる。
また、本発明の一態様によれば、処理対象の状態を入力画像から抽出し、第１の状態を有する処理対象に対しては、第１の状態専用のパターン認識処理を行い、第２の状態を有する処理対象に対しては、第２の状態専用のパターン認識処理を行うようにしている。
【００１６】
このことにより、第１の状態を有する処理対象の認識処理と第２の状態を有する処理対象の認識処理とが互いに相互作用を及ぼすことがなくなり、認識処理を精度よく行うことが可能となる。
【００１７】
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、認識辞書を使い分けるようにしている。
このことにより、例えば、かすれ文字やつぶれ文字や高品質文字が入力画像の中に混在している場合においても、かすれ文字に対してはかすれ文字に適した認識辞書を使用し、つぶれ文字に対してはつぶれ文字に適した認識辞書を使用し、高品質文字に対しては高品質文字に適した認識辞書を使用して認識処理を行うことができ、認識処理を精度よく行うことが可能となる。
【００１８】
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、識別関数を使い分けるようにしている。
このことにより、例えば、１文字枠に書かれている文字についてはシティブロック距離を用いて文字認識を行い、フリーピッチ枠に書かれている文字に対しては判別関数を用いて文字の切り出し信頼度を考慮しながら文字認識を行うことができ、認識処理を精度よく行うことが可能となる。
【００１９】
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、知識を使い分けるようにしている。
このことにより、例えば、未知文字の変形が大きくて、認識辞書に格納されている文字カテゴリとの対応関係が取れない場合、文字セグメントに文字を分割することにより、未知文字と文字カテゴリとの対応関係をとるようにしたり、文字列から文字を切り出す場合、学習パターンに基づいて生成した判別関数を用いて切り出し信頼度を算出したり、枠接触文字についての文字認識を行う場合、学習パターンにより得られた信頼度を用いて、枠接触文字についての認識信頼度を評価したりすることができ、認識処理を精度よく行うことが可能となる。
【００２０】
また、本発明の一態様によれば、同一の処理対象に対して複数の認識処理が呼ばれた場合、認識処理による信頼度が所定の値以上となるまで、優先順位に従って認識処理を行わせるようにしている。
【００２１】
このことにより、認識処理の信頼度を上げることができ、認識処理の精度を向上させることができる。
また、本発明の一態様によれば、入力画像から非文字を抽出し、この非文字についての認識処理を文字についての認識処理と別々に行うようにしている。
【００２２】
このことにより、文字が非文字とみなされたり、非文字が文字とみなされたりして認識処理が行われることが減少し、認識処理を精度よく行うことが可能となる。
【発明の効果】
【００２３】
以上説明したように、本発明によれば、処理対象の状態を入力画像から抽出し、その状態に適した認識処理を処理対象ごとに選択することにより、様々な状態を有する入力画像に対し、それぞれの状態に適したパターン認識処理を行うことができ、認識処理を精度よく行うことが可能となる。また、処理対象の評価が、その状態を抽出する時と、その処理対象についての認識処理を行う時の両方で行われるので、認識処理の精度をより一層向上させることができる。
【００２４】
また、本発明の一態様によれば、処理対象の状態を入力画像から抽出し、第１の状態を有する処理対象に対しては、第１の状態専用のパターン認識処理を行い、第２の状態を有する処理対象に対しては、第２の状態専用のパターン認識処理を行うことにより、第１の状態を有する処理対象の認識処理と第２の状態を有する処理対象の認識処理とが互いに相互作用を及ぼすことがなくなり、認識処理を精度よく行うことが可能となる。
【００２５】
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、認識辞書を使い分けることにより、それぞれの状態に対して最適な認識辞書を使用することができ、認識処理の精度を向上させることが可能となる。
【００２６】
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、識別関数を使い分けることにより、それぞれの状態に対して最適な識別関数を使用しながら認識処理を行うことができ、認識処理の精度を向上させることが可能となる。
【００２７】
また、本発明の一態様によれば、様々な状態を有する入力画像に対し、知識を使い分けることにより、それぞれの状態に対して最適な知識を使用しながら認識処理を行うことができ、認識処理の精度を向上させることが可能となる。
【００２８】
また、本発明の一態様によれば、認識処理による信頼度が所定の値以上となるまで、同一の処理対象に対して複数の認識処理を行うようにすることにより、認識処理の信頼度を上げることができ、認識処理の精度を向上させることができる。
【００２９】
また、本発明の一態様によれば、非文字についての認識処理と文字についての認識処理とを別々に行うようにすることにより、文字を非文字とみなしたり、非文字を文字とみなしたりして認識処理が行われることが減少し、認識処理を精度よく行うことが可能となる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の一実施例によるパターン認識装置について図面を参照しながら説明する。
図１は、本発明の一実施例によるパターン認識装置の機能的な構成を示すブロック図である。
【００３１】
図１において、環境認識手段１は、第１〜第Ｎの状態を入力画像から抽出する。ここで、入力画像から抽出される状態とは、例えば、１文字枠やフリーピッチ枠や表などのいずれの形式で文字が書かれているかの状態、文字と枠との接触状態、文字のかすれ状態、文字のつぶれ状態、文字が消し線で消されている状態などである。
【００３２】
第１のパターン認識手段２は、第１の状態を有する処理対象についてのパターン認識処理を専用に行い、第２のパターン認識手段４は、第２の状態を有する処理対象についてのパターン認識処理を専用に行い、第Ｎのパターン認識手段６は、第Ｎの状態を有する処理対象についてのパターン認識処理を専用に行う。
【００３３】
ここで、第１〜第Ｎのパターン認識手段２、４、６は、それぞれの認識結果についての信頼度を算出する信頼度算出手段３、５、７を備え、第１〜第Ｎのパターン認識手段２、４、６による認識結果についての信頼度を算出する。
【００３４】
そして、環境認識手段１は、第１〜第Ｎのパターン認識手段２、４、６の中から、第１〜第Ｎの状態に対応するものを呼び出して認識処理を実行させる。
例えば、環境認識手段１が、入力画像から第１の状態を抽出した場合、その第１の状態の処理対象に対して、第１のパターン認識手段２によるパターン認識処理を呼び出し、入力画像から第２の状態を抽出した場合、その第２の状態の処理対象に対して、第２のパターン認識手段４によるパターン認識処理を呼び出し、入力画像から第Ｎの状態を抽出した場合、その第Ｎの状態の処理対象に対して、第Ｎのパターン認識手段６によるパターン認識処理を呼び出す。
【００３５】
また、環境認識手段１が、同一の処理対象に対して、例えば、第１の状態及び第２の状態を抽出した場合、第１のパターン認識手段２によるパターン認識処理及び第２のパターン認識手段４によるパターン認識処理を、その同一の処理対象に対して呼び出す。
【００３６】
例えば、第１の状態が一文字枠に文字が書かれている状態であるとし、第２の状態がフリーピッチ枠に文字列が書かれている状態であるとし、第３の状態が文字と枠とが接触している状態であるとし、第４の状態が文字のかすれ状態であるとし、第５の状態が文字のつぶれ状態であるとし、第６の状態が文字が消し線で訂正された状態であるとすると、第１のパターン認識手段２は一文字枠に書かれている文字についての認識処理を行い、第２のパターン認識手段４はフリーピッチ枠に書かれている文字列についての認識処理を行い、第３のパターン認識手段は枠接触文字についての認識処理を行い、第４のパターン認識手段はかすれ文字についての認識処理を行い、第５のパターン認識手段はつぶれ文字についての認識処理を行い、第６のパターン認識手段は訂正文字についての認識処理を行う。
【００３７】
そして、環境認識手段１が、入力画像から一文字枠を抽出した場合、その一文字枠に書かれている文字に対し、第１のパターン認識手段２により認識処理を実行させ、環境認識手段１が、入力画像からフリーピッチ枠を抽出した場合、そのフリーピッチ枠に書かれている文字に対し、第２のパターン認識手段４により認識処理を実行させ、環境認識手段１が、入力画像から枠接触文字を抽出した場合、その枠接触文字に対し、第３のパターン認識手段により認識処理を実行させ、環境認識手段１が、入力画像からかすれ文字を抽出した場合、そのかすれ文字に対し、第４のパターン認識手段により認識処理を実行させ、環境認識手段１が、入力画像からつぶれ文字を抽出した場合、そのつぶれ文字に対し、第５のパターン認識手段により認識処理を実行させ、環境認識手段１が、入力画像から訂正文字の候補を抽出した場合、その訂正文字の候補に対し、第６のパターン認識手段により認識処理を実行させる。
【００３８】
また、例えば、環境認識手段１が、入力画像からフリーピッチ枠に接触している枠接触文字を抽出した場合、そのフリーピッチ枠に接触している枠接触文字に対し、パターン認識手段２及びパターン認識手段３により認識処理を実行させ、入力画像からフリーピッチ枠に接触している消し線付きの枠接触文字を抽出した場合、そのフリーピッチ枠に接触している消し線付きの枠接触文字に対し、第２のパターン認識手段４、第３のパターン認識手段及び第６のパターン認識手段により認識処理を実行させる。
【００３９】
ここで、同一の処理対象についての複数の状態が入力画像から抽出され、それに対応して複数のパターン認識手段２、４、６が呼び出された場合、複数のパターン認識手段２、４、６をどの順序で呼び出すかを格納した処理順序テーブルに基づいて、複数のパターン認識手段２、４、６による認識処理の順序を決定する。そして、パターン認識手段２、４、６による認識処理により、所定のしきい値以上の信頼度が信頼度算出手段３、５、７により得られるまで、複数のパターン認識手段２、４、６による認識処理を呼び出し順序に従って順次に実行する。
【００４０】
例えば、環境認識手段１が、入力画像からフリーピッチ枠に接触している枠接触文字を抽出した場合、そのフリーピッチ枠に接触している枠接触文字に対し、パターン認識手段３による認識処理を実行してからパターン認識手段２による認識処理を実行し、入力画像からフリーピッチ枠に接触している消し線付きの枠接触文字を抽出した場合、そのフリーピッチ枠に接触している消し線付きの枠接触文字に対し、第３のパターン認識手段による認識処理を実行してから第６のパターン認識手段による認識処理を実行し、さらに、第２のパターン認識手段４による認識処理を実行させる。
【００４１】
図２は、図１の環境認識手段１の一実施例の構成を示すブロック図である。
図２において、状態抽出手段１ａは、第１〜第Ｎの状態を入力画像から抽出する。
認識処理制御手段１ｂは、状態抽出手段１ａにより抽出された第１〜第Ｎの状態に対応させて、図１の第１〜第Ｎのパターン認識手段２、４、６の中のいずれか１つ又は複数を呼び出して認識処理を行わせる。
【００４２】
処理順序テーブル１ｆは、第１〜第Ｎのパターン認識手段２、４、６の中から複数の認識手段が呼び出された際に、これらの第１〜第Ｎのパターン認識手段２、４、６をどのような順序で実行するかを示す処理順序を格納する。
【００４３】
処理順序制御ルール格納手段１ｄは、状態抽出手段１ａにより抽出された第１〜第Ｎの状態に基づいて、第１〜第Ｎのパターン認識手段２、４、６の中からどの認識手段を呼び出すかを示す呼び出し手順を格納する。
【００４４】
中間処理結果テーブル作成手段１ｃは、処理順序制御ルール格納手段１ｄに格納されている呼び出し手順及び処理順序テーブル１ｆに格納されている処理順序に基づいて、第１〜第Ｎのパターン認識手段２、４、６の実行順序を示す中間処理結果テーブルを作成する。
【００４５】
処理実行ルール格納手段１ｅは、中間処理結果テーブルに記入された認識処理の実行結果に基づいて、次の処理の実行を指示する手順を格納する。
図３は、本発明の一実施例によるパターン認識装置の具体的な構成を示すブロック図である。
【００４６】
図３において、環境認識系１１は、入力画像の状態を抽出し、この抽出された状態に基づいて、文字認識部１２の基本文字認識部１７、文字列認識部１５、接触文字認識部１３、かすれ文字認識部１９、つぶれ文字認識部２１又は非文字認識部２５の消し線認識部２６及び雑音認識部２８のいずれか１つ又は複数を呼び出す。ここで、入力画像の状態を抽出するために、入力画像のレイアウト解析、品質解析及び訂正解析を行う。
【００４７】
文字認識部１２は、入力画像の状態ごとに文字認識処理を行うもので、文字についての文字認識を行う基本文字認識部１７、文字列についての文字認識Ｂ及び文字切り出しＢを行う文字列認識部１５、枠に接触した文字についての文字認識Ａ及び文字切り出しＡを行う接触文字認識部１３、かすれ文字についての文字認識Ｃ及び文字切り出しＣを行うかすれ文字認識部１９、つぶれ文字についての文字認識Ｄ及び文字切り出しＤを行うつぶれ文字認識部２１及びくせ字についての文字認識Ｅ及び文字切り出しＥを行うくせ字認識部２３を備えている。
【００４８】
また、基本文字認識部１７、文字列認識部１５、接触文字認識部１３、かすれ文字認識部１９、つぶれ文字認識部２１及びくせ字認識部２３はそれぞれ、文字認識の手法についての知識を格納した知識テーブル１４、１６、１８、２０、２２、２４を備えている。知識テーブル１４には、例えば、枠接触状態と認識の信頼度に関する知識や重複の部分パターン法に関する知識が格納され、知識テーブル１６には、例えば、切り出しの信頼度に関する知識や切り出しと認識の融合法に関する知識が格納され、知識テーブル１８には、例えば、詳細識別法に関する知識が格納されている。
【００４９】
非文字認識部２５は、入力画像の状態ごとに非文字認識処理を行うもので、消し線についての非文字認識Ｆ及び非文字切り出しＦを行う消し線認識部２６、雑音についての非文字認識Ｇ及び非文字切り出しＧを行う雑音認識部２８を備えている。
【００５０】
また、消し線認識部２６及び雑音認識部２８はそれぞれ、非文字認識の手法についての知識を格納した知識テーブル２７、２９を備えている。
図４は、環境認識系１１の全体的な処理の一例を示すフローチャートである。
【００５１】
図４において、まず、ステップＳ１に示すように、入力画像の前処理を行う。この入力画像の前処理は、ファクシミリやスキャナなどにより２値化された入力画像に対しラベリングを行い、入力画像とラベル画像とを格納するものである。なお、入力画像とラベル画像とは、これ以降の処理でいつでもアクセスできるようにしておく。
【００５２】
図５は、図４の入力画像の前処理を示すフローチャートである。
図５において、ステップＳ１１に示すように、２値化された入力画像に対しラベリングを行うことにより、連結パターンを抽出してラベル付けを行い、抽出したラベル画像と入力画像とを格納する。この際、ラベル付けされた連結パターンを外接矩形の加減算で圧縮表現することにより、メモリ容量を削減する。このラベル付けされた連結パターンの圧縮表現によれば、例えば、４００ｄｐｉの高解像度のスキャナで入力したＡ４サイズ（約３０００×４０００）の文書／帳票に対し、、数百キロバイト以内で表すことができる。
【００５３】
次に、図４のステップＳ２に示すように、レイアウト解析を行う。このレイアウト解析は、ラベル付けされた連結パターンのサイズや配置状態などに基づいて、テキスト認識、罫線抽出、枠抽出、枠の種類及び表の判別、枠接触文字の有無の判断及び図認識を行う。
【００５４】
図６は、図４のレイアウト解析を示すフローチャートである。
図６において、まず、ステップＳ２１に示すように、テキスト認識を行う。このテキスト認識は、ラベル付けされた連結パターンのサイズを解析し、連結パターンのサイズが比較的小さいものを抽出し、これを文字の候補とみなす。そして、隣接する文字の候補を統合することにより、テキストを抽出する。
【００５５】
次に、ステップＳ２２に示すように、罫線抽出を行う。この罫線抽出は、ステップＳ２１でテキストと認識されなかった連結パターンを対象として、縦又は横方向のヒストグラム値が大きいものについての探索を行うことにより、罫線を抽出する。
【００５６】
次に、ステップＳ２３に示すように、枠抽出を行う。この枠抽出は、ステップＳ２２で抽出された罫線から４辺に相当する罫線を見つけて枠を抽出する。
次に、ステップＳ２４に示すように、枠の種類／表判別を行う。この枠の種類／表判別は、ステップＳ２３で抽出された枠に対し、その枠の種類を判別して枠の種類の属性を付与する。枠の種類の属性としては、一文字枠、ブロック枠、フリーピッチ枠、表などがある。
【００５７】
次に、ステップＳ２５に示すように、枠接触文字の有無の判断を行う。この枠接触文字の有無の判断は、枠内を枠線に沿って探索した際に、交差するパターンがあるかどうかを検出し、交差するパターンがある場合は、文字が枠に接触しているものと判断する。ここで、交差するパターンが存在していても、注目している枠の隣の枠から、文字がはみ出している場合があるので、交差するパターンが隣の枠からはみ出しているものについては、注目している枠に対し、接触文字でないとする。
【００５８】
次に、ステップＳ２６に示すように、図認識を行う。この図認識は、テキストや枠や表などの属性が付与されなかったサイズが比較的大きな連結パターンに対して、図の属性を付与する。
【００５９】
次に、図４のステップＳ３に示すように、品質解析を行う。この品質解析は、入力画像にかすれやつぶれがあるかどうかを検出するもので、大局的品質解析と局所的品質解析とがある。
【００６０】
この品質解析では、所定の領域について、（面積、縦／横の長さがそれぞれ所定のしきい値以下の連結領域の数）／（前記所定の領域の全ての連結領域の数）の値が、所定値よりも大きい時にかすれと判断する。
【００６１】
また、罫線抽出の際にかすれた罫線を部分的に統合した情報を用いることにより、所定の領域について、（かすれた罫線を補完した際の補完された部分の長さの合計）／（各罫線の長さの合計）の値が、所定値よりも大きい時にかすれと判断する。
【００６２】
さらに、所定の領域について、（黒画素密度が所定のしきい値より大きい連結領域の数）／（前記所定の領域の全ての連結領域の数）の値が、所定値よりも大きい時につぶれと判断する。
【００６３】
図７は、図４の品質解析を示すフローチャートである。
図７において、まず、ステップＳ３１に示すように、大局的品質解析を行う。この大局的品質解析は、文書／帳票全体に対して品質解析を行うもので、入力画像を２値化する際のしきい値が適切であったかどうか、ファクシミリで送られてきた文書／帳票に対してノイズが全体にのったため品質が不正常になっていないかどうか、かすれやつぶれが発生していないかを解析する。
【００６４】
次に、ステップＳ３２に示すように、局所的品質解析を行う。この局所的品質解析は、レイアウト解析により一文字枠やテキストやフリーピッチ枠や表などの属性が付与された領域ごとにかすれやつぶれが発生していないかを調べたり、ノイズが発生していないかを調べたりして品質解析を行うものである。
【００６５】
次に、図４のステップＳ４に示すように、訂正解析を行う。この訂正解析は、入力画像から消し線を抽出して、消し線で訂正された文字については、文字の認識処理を省略できるようにするものである。
【００６６】
図８は、図４の訂正解析を示すフローチャートである。
図８において、まず、ステップＳ４１に示すように、訂正特徴抽出を行う。この訂正特徴抽出は、訂正文字に有効な特徴を抽出するもので、訂正文字には、つぶれた文字、２重線で消した文字、斜線で消した文字及びばつで消した文字の大きく分けて４種類あり、各訂正文字の特徴を黒画素線密度、線密度、オイラー数、ヒストグラム値などを算出して抽出する。
【００６７】
次に、ステップＳ４２に示すように、訂正文字候補抽出を行う。この訂正文字候補抽出は、訂正文字の特徴を表す特徴空間で、訂正文字と訂正されていない通常文字との分布の違いから訂正文字の候補を抽出する。
【００６８】
次に、図４のステップＳ５に示すように、文字認識／非文字認識の制御を行う。この文字認識／非文字認識の制御は、図４のステップＳ２〜Ｓ４で抽出された入力画像の状態に基づいて、文字認識部１２の基本文字認識部１７、文字列認識部１５、接触文字認識部１３、かすれ文字認識部１９、つぶれ文字認識部２１又は非文字認識部２５の消し線認識部２６及び雑音認識部２８のいずれを呼び出すかを決定するもので、中間処理結果テーブルの読み込み／処理順序制御ルールの実行、終了判定や処理実行ルールによる処理の実行を行う。
【００６９】
ここで、処理順序制御ルールは、環境認識系１１が抽出した状態に基づいて、文字認識部１２の基本文字認識部１７、文字列認識部１５、接触文字認識部１３、かすれ文字認識部１９、つぶれ文字認識部２１又は非文字認識部２５の消し線認識部２６及び雑音認識部２８のいずれを呼び出すかの手順を示すものである。
【００７０】
また、処理実行ルールは、処理順序制御ルールにより呼ばれた認識処理の結果に基づいて、次にどのような処理を行うのかの手順を示すものである。
また、中間処理結果テーブルは、レイアウト解析により一文字枠やテキストやフリーピッチ枠や表などの属性が付与された領域ごとに、図４のステップＳ２〜Ｓ４で抽出された入力画像の状態を記入するとともに、入力処理順序制御ルールにより呼ばれた処理を処理順序テーブルに格納されている処理順序で記入するものである。
【００７１】
例えば、環境認識系１１が、文字を抽出した場合、この文字に対しては、基本文字認識部１７を呼び出して認識処理を実行し、環境認識系１１が、図６のステップＳ２１でテキストを抽出した場合、このテキストに対しては、文字列認識部１５を呼び出して認識処理を実行し、環境認識系１１が、図６のステップＳ２５で枠接触文字を抽出した場合、この枠接触文字に対しては、接触文字認識部１３を呼び出して認識処理を実行し、環境認識系１１が、図７のステップＳ３２で、（面積、縦／横の長さがそれぞれ所定のしきい値以下の連結領域の数）／（前記所定の領域の全ての連結領域の数）の値が所定値よりも大きいと判断した場合、この領域の文字に対しては、かすれ文字認識部１９を呼び出して認識処理を実行し、環境認識系１１が、図７のステップＳ３２で、（黒画素密度が所定のしきい値より大きい連結領域の数）／（前記所定の領域の全ての連結領域の数）の値が所定値よりも大きいと判断した場合、この領域の文字に対しては、つぶれ文字認識部２１を呼び出して認識処理を実行し、環境認識系１１が、図８のステップＳ４２で、訂正文字候補を抽出した場合、この訂正文字候補に対しては、消し線認識部２６を呼び出して認識処理を実行し、環境認識系１１が、図７のステップＳ３２で雑音を検出した場合、この雑音に対しては、雑音認識部２８を呼び出して認識処理を実行する。
【００７２】
図９は、図４の文字認識／非文字認識の制御を示すフローチャートである。
図９において、まず、ステップ５１に示すように、中間処理結果テーブルの読み込み／処理順序制御ルールの実行を行う。
【００７３】
次に、ステップ５２に示すように、終了判定を行う。この終了判定は、処理順序制御ルールに基づいて、中間処理結果テーブルの全ての処理が完了して中間処理結果テーブルの全ての処理指示欄に終了が記入された場合、終了と判定する。終了判定で未終了と判定された場合、ステップ５３に進んで、処理実行ルールによる処理を実行してステップ５１に戻り、ステップ５２の終了判定で終了と判定されるまで以上の処理を繰り返す。
【００７４】
図１０は、本発明の一実施例によるパターン認識装置のシステム構成を示すブロック図である。
図１０において、画像格納部４１は帳票画像を格納し、処理条件格納部４２は帳票のレイアウト構造や読み取り文字情報、例えば、枠の位置、種類、サイズ、文字種、文字数などの定義体を格納し、ラベル画像格納部４３はラベル付けされたラベル画像を圧縮表現により格納する。
【００７５】
環境認識系３０はレイアウト解析部３１及び訂正解析部３２を備え、環境認識系３８はくせ字解析部３９及び終了判定処理部４０を備え、文字認識系／非文字認識系３３は基本文字認識部３４、黒枠接触文字認識部３５、フリーピッチ文字列認識部３６及び消し線認識部３７を備えている。
【００７６】
レイアウト解析部３１は、ラベル画像格納部４３に格納されているラベル画像について、処理条件格納部４２に格納されている定義体を参照しながら、罫線抽出、枠抽出及び黒枠接触文字抽出を行う。ここで、枠の位置やサイズなどのフォーマット情報及び傾きに関する情報を予め帳票データとして格納しておき、この帳票データに基づいて、罫線抽出や枠抽出を行う方法は、例えば、特開昭６２−２１２８８号公報や特開平３−１２６１８６号公報に記載されている。
【００７７】
なお、例えば、特開平６−３０９４９８号公報や特開平７−２８９３７号公報に記載されているように、枠の位置やサイズなどのフォーマット情報の入力を必要とせずに、罫線抽出や枠抽出を行うようにしてもよい。
【００７８】
訂正解析部３２は消し線候補の抽出を行い、くせ字解析部３９は個人筆記特性によるくせ字の解析を行い、終了判定処理部４０は文字認識の終了判定を行い、終了判定で終了と判定された場合、文字認識結果の出力を行う。
【００７９】
基本文字認識部３４は、１文字ごとに切り出された文字の認識を行い、黒枠接触文字認識部３５は、黒枠接触文字から枠を除去し、その枠を除去することによりかすれた文字の補完を行ってから文字の認識を行い、フリーピッチ文字列認識部３６は、文字列から文字を切り出す際の切り出し信頼度を考慮しながら文字列についての文字認識を行い、消し線認識部３７は、訂正文字の黒画素線密度、線密度、オイラー数、ヒストグラムなどに基づいて、消し線の認識を行う。
【００８０】
中間処理結果テーブル４４は、環境認識系３０、３８により抽出された状態に基づいて、文字認識系／非文字認識系３３のいずれの処理を実行するかを示す処理順序やその処理結果を格納する。
【００８１】
図１１は、図１〜３のパターン認識装置が適用される文字認識システムの具体的な構成を示すブロック図である。
図１１において、５１は全体的な処理を行う中央演算処理ユニット（ＣＰＵ）、５２はＣＰＵ５１で実行されるプログラムを格納するプログラムメモリ、５３は画像データをビットマップ形式で格納する画像メモリ、５４は画像処理に使用するワークメモリ、５５は画像を光学的に読み取るスキャナ、５６はスキャナ５５により読み取られた情報を一時的に格納するメモリ、５７は各文字画像の特徴を格納した辞書ファイル、５８は認識結果を表示するディスプレイ、５９は認識結果を印刷するプリンタ、６０はディスプレイ５８及びプリンタ５９の入出力インターフェイス、６１はＣＰＵ５１、プログラムメモリ５２、画像メモリ５３、ワークメモリ５４、メモリ５６、辞書ファイル５７、入出力インターフェイス６０及びドライバ６４を接続しているバス、６２は通信ネットワーク６３を介してデータやプログラムの送受信を行う通信インターフェイス、６４はドライバ、６５はハードディスク、６６はＩＣメモリカード、６７は磁気テープ、６８はフロッピー（登録商標）ディスク、６９はＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの光ディスクである。
【００８２】
この文字認識システムは、スキャナ５５により読み取った画像データをメモリ５６に一時的に格納し、その画像データをビットマップ形式で画像メモリ５３に展開する。そして、画像メモリ５３からワークメモリ５４にコピーされた２値画像データに対してパターン抽出処理を行う。その結果に基づいて、スキャナ５５により読み取った画像データから文字画像の切り出しを行い、切り出された文字画像の特徴と辞書ファイル５７に格納された特徴データとの比較を行い、文字の認識を行う。その後、その認識結果を、ディスプレイ５８又はプリンタ５９に出力する。
【００８３】
この文字認識システムにおいて、図１〜３のパターン抽出装置は、プログラムメモリ５２に格納されたプログラムに従って処理を行うＣＰＵ５１の機能として実現される。ここで、パターン抽出処理を行うプログラムは、プログラムメモリ５２のＲＯＭに予め格納しておくことが可能である。また、パターン抽出処理を行うプログラムを、ハードディスク６５、ＩＣメモリカード６６、磁気テープ６７、フロッピー（登録商標）ディスク６８または光ディスク６９などの記憶媒体からプログラムメモリ５２のＲＡＭにロードした後、このプログラムをＣＰＵ５１で実行させるようにしてもよい。
【００８４】
さらに、パターン抽出処理を行うプログラムを、通信インターフェイス６２を介して通信ネットワーク６３から取り出すこともできる。通信インターフェイス６２と接続される通信ネットワーク６３として、例えば、ＬＡＮ（ＬｏｃａｌＡｒｅａＮｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）、インターネット、アナログ電話網、デジタル電話網（ＩＳＤＮ：ＩｎｔｅｇｒａｌＳｅｒｖｉｃｅ Ｄｉｇｉｔａｌ Ｎｅｔｗｏｒｋ）、ＰＨＳ（パーソナルハンディシステム）や衛星通信などの無線通信網などを用いることが可能である。
【００８５】
以下、図３の環境認識系１１、文字認識部１２及び非文字認識部２５の構成をより具体的に説明する。
図１２は、図５のステップＳ１１のラベリング処理を説明する図である。
【００８６】
図１２において、“０”と“１”とからなる２値画像がラベリング処理部７０に入力されると、ラベリング処理部７０は、連結した画素で構成される連結パターンを入力された２値画像から抽出し、各連結パターンごとにラベルを付したラベル画像を生成して、ラベル画像格納部７１に格納する。例えば、“０”と“１”とからなる２値画像７２が入力された場合、各連結パターンごとにラベル“１”、“２”、“３”を付してラベル画像７３を生成する。
【００８７】
ここで、例えば、２５５個の連結パターンが１画像内に存在する場合、２５５個のラベルが必要となるため、１画素当たり８ビットを必要とし、ラベル画像格納部７１に必要な記憶容量は、１画像全体の画素数の８倍となり、ラベル画像を格納するために多くの記憶容量が必要となる。
【００８８】
図１３は、図１２のラベル画像７３を圧縮表現することにより、ラベル画像格納部７１に必要な記憶容量を削減する方法を説明する図である。
図１３において、例えば、図１３（ａ）の連結パターンＡ1 及び連結パターンＡ2 のそれぞれに対し、図１３（ｂ）に示すように、ラベル“１”及びラベル“２”が付され、図１３（ｃ）に示すように、連結パターンＡ1 に外接する外接矩形Ｂ1 及び連結パターンＡ2 に外接する外接矩形Ｂ2 が生成されている。外接矩形Ｂ1 及び外接矩形Ｂ2 は、図１３（ｄ）に示すように、その外接矩形Ｂ1 及び外接矩形Ｂ2 の左上頂点の座標（ｘ1 、ｙ1 ）及び右下頂点の座標（ｘ2 、ｙ2）によって特定することができる。
【００８９】
そして、連結パターンＡ1 に外接する外接矩形Ｂ1 と連結パターンＡ2 に外接する外接矩形Ｂ2 とが重なっているかどうかを判定し、連結パターンＡ1 に外接する外接矩形Ｂ1 と連結パターンＡ2 に外接する外接矩形Ｂ2 とが重なっていない場合、それぞれの外接矩形Ｂ1 及び外接矩形Ｂ2 の左上頂点の座標（ｘ1 、ｙ1 ）及び右下頂点の座標（ｘ2 、ｙ2 ）を記憶する。
【００９０】
一方、連結パターンＡ1 に外接する外接矩形Ｂ1 と連結パターンＡ2 に外接する外接矩形Ｂ2 とが重なっている場合、他の外接矩形と重ならないようにより小さな矩形領域に外接矩形Ｂ1 及び外接矩形Ｂ2 を細分化し、細分化された矩形領域が元の外接矩形Ｂ1 及び外接矩形Ｂ2 のどちらに属するかを判定し、連結パターンＡ1 及び連結パターンＡ2 を、細分化された矩形領域の和や差などの演算で表現する。
【００９１】
例えば、図１３（ｃ）において、連結パターンＡ1 は、連結パターンＡ1 に属する最大の矩形領域（１−１）及び矩形領域（１−１）に含まれる矩形領域（１−２）を用いて、
Ａ1 ＝（１−１）−（１−２）
のように矩形領域（１−１）と矩形領域（１−２）との差で表現することができる。
【００９２】
また、連結パターンＡ2 は、連結パターンＡ2 に属する最大の矩形領域（２−１）、矩形領域（２−１）に含まれる矩形領域（２−２）及び矩形領域（２−２）に含まれる矩形領域（２−３）を用いて、
Ａ2 ＝（２−１）−（２−２）＋（２−３）
のように矩形領域（２−１）と矩形領域（２−２）との差及び矩形領域（２−３）との和で表現することができる。
【００９３】
このように、連結パターンを連結する画素の外接矩形で表現することにより、連結パターンを表現する情報量を減らして、ラベル画像を格納するために必要な記憶容量を削減することができる。
【００９４】
なお、このラベル画像の圧縮表現の方法については、例えば、特開平８−５５２１９号公報に記載されている。
図１４は、図６のステップＳ２１のテキスト認識処理の一実施例を示すフローチャートである。
【００９５】
図１４において、まず、ステップＳ６１に示すように、スキャナで文書を読み込み、読み込んだ文書の画像データをメモリに格納する。
次に、ステップＳ６２に示すように、ステップＳ６１で読み込んだ画像データのうち、横方向の特定の区間の短冊状の部分領域だけに注目し、その注目した部分領域の中でラベリングを行い、黒連結画素の外接矩形を求める。
【００９６】
例えば、処理対象として複数の文書Ａ、Ｂ、Ｃがあり、図１５（ａ）の文書Ａの文字列８１の領域が、図１５（ｄ）に示すように、区間Ａの範囲内にあり、図１５（ｂ）の文書Ｂの文字列８２の領域が、図１５（ｄ）に示すように、区間Ａの範囲内にあり、図１５（ｃ）の文書Ｃの文字列８３の領域が、図１５（ｄ）に示すように、区間Ｂの範囲内にある場合、この区間Ａ，Ｂの部分領域にのみ着目し、この部分領域の短冊状の中でのみラベリング処理を行って、黒連結画素の外接矩形を求める。
【００９７】
次に、ステップＳ６３に示すように、ステップＳ６２で求めた外接矩形の高さと、予め求めておいた矩形の高さｙｌｅｎとの差がしきい値ｔｈｙ以内で、かつステップＳ６２で求めた外接矩形の幅と、予め求めておいた矩形の幅ｘｌｅｎとの差がしきい値ｔｈｘ以内であるような外接矩形だけを抽出する。そして、その外接矩形が存在しているｙ方向（縦方向）の座標を求め、メモリに記憶する。
【００９８】
次に、ステップＳ６４に示すように、ステップＳ６３で求めたｙ方向の座標を中心として、ステップＳ６２で抽出した矩形を含む左右方向の長さが画像幅に等しい横長部分領域に注目する。
【００９９】
次に、ステップＳ６５に示すように、ステップＳ６４で求めた横長部分領域に対してラベリングを行うことにより、黒連結画素の外接矩形を求める。
次に、ステップＳ６６に示すように、ステップＳ６５で求めた外接矩形の高さと、予め求めておいた矩形の高さｙｌｅｎとの差がしきい値ｔｈｙ以内で、かつステップＳ６５で求めた外接矩形の幅と、予め求めておいた矩形の幅ｘｌｅｎとの差がしきい値ｔｈｘ以内であるような外接矩形だけを抽出し、メモリに記憶する。
【０１００】
次に、ステップＳ６７に示すように、ステップＳ６６で抽出した矩形を対象にｘ座標でソートし、抽出した矩形の中心線の間隔からピッチを計算し、この計算により求めたピッチと予め求めておいたピッチｐｉｔｃｈとの差がしきい値ｔｈｐｉｔｃｈ以内の矩形が横方向に所定の数ｔｈ個以上並んでいるものをテキストとして出力する。
【０１０１】
なお、このテキスト抽出方法については、例えば、特開平８−１７１６０９号公報に記載されている。
次に、図６のステップＳ２２の罫線抽出処理の一実施例についてより具体的に説明する。
【０１０２】
この罫線抽出処理は、ラベリングにより得られた連結パターンを横方向及び縦方向に複数に分割し、横方向及び縦方向に分割したそれぞれの範囲内で連結パターンの隣接投影値を算出し、ある一定の長さの線分又は直線の一部を矩形近似により検出することにより罫線を抽出するものである。
【０１０３】
ここで、隣接投影とは、注目行又は注目列の投影値に周囲の行又は列の投影値を足し合わせたものである。また、注目行又は注目列の投影値は、その行又は列に存在する黒画素の総和をとったものである。
【０１０４】
図１６は、この隣接投影処理を説明する図である。
図１６において、ｉ行の投影値をｐ（ｉ）とすると、隣接投影値Ｐ（ｉ）は、（１）式により算出することができる。
【０１０５】
Ｐ（ｉ）＝ｐ（ｉ−ｊ）＋・・・＋ｐ（ｉ）＋・・・＋ｐ（ｉ＋ｊ）        （１）
なお、図１６に示す例は、（１）式においてｊ＝１とおいたものである。
図１７は、部分パターンの投影値の例を示す図である。
【０１０６】
図１７において、縦方向の長さがＬY 、横方向の長さがＬX の矩形８４の水平方向ｊの投影値Ｐｈ（ｉ）をＨＰ（ｉ）、矩形８４の垂直方向ｉの投影値Ｐｖ（ｊ）をＶＰ（ｊ）とすると、ＨＰ（１）＝ＨＰ（ｎ）＝ｍ、ＨＰ（２）〜ＨＰ（ｎ−１）＝２、ＶＰ（１）＝ＶＰ（ｍ）＝ｎ、ＶＰ（２）〜ＶＰ（ｍ−１）＝２である。
【０１０７】
このように、矩形８４を構成する直線が存在している部分は、その投影値が大きくなるので、この投影値を算出することにより、罫線を構成している直線を抽出することができる。
【０１０８】
例えば、隣接投影値と縦横それぞれの分割長との比が所定の閾値以上である部分パターンを検出することにより、罫線を構成している直線の候補を抽出することができる。
図１８は、罫線抽出処理を示すフローチャートである。
【０１０９】
図１８において、まず、ステップ６０１に示すように、隣接投影値と縦横それぞれの分割長との比が所定のしきい値以上であるかどうかを判定する。そして、隣接投影値と縦横それぞれの分割長との比が所定のしきい値以上でないと判断された場合、ステップＳ６０２に進み、罫線を構成している線分が存在しないものとみなす。
【０１１０】
一方、ステップＳ６０１で隣接投影値と縦横それぞれの分割長との比が所定のしきい値以上であると判断された場合、ステップＳ６０３に進み、罫線を構成している線分が存在するものとみなす。
【０１１１】
次に、ステップＳ６０４において、ステップＳ６０３で線分とみなされたパターンが、その上下に存在する線分と接しているかどうかを判断する。そして、上記パターンが上下に存在する線分と接していないと判断された場合、ステップＳ６０５に進み、そのパターンを矩形線分とする。
【０１１２】
一方、ステップＳ６０４において、ステップＳ６０３で線分とみなされたパターンがその上下に存在する線分と接していると判断された場合、ステップＳ６０６に進み、上記パターンとその上下に存在する線分とを統合する。そして、ステップＳ６０７で、ステップＳ６０６で統合した線分を矩形線分として検出する。例えば、図１９（ａ）に示すような３つの矩形線分８５を統合し、図１９（ｂ）に示す１つの矩形線分８６を得る。この後、ステップＳ６０５又はステップＳ６０７で求めた矩形線分を対象として探索を行うことにより、罫線を抽出する。
【０１１３】
なお、この罫線抽出処理については、例えば、特開平６−３０９４９８号公報に記載されている。
図２０は、図６のステップＳ２２の罫線抽出処理において、かすれ罫線の補完を行いながら、探索を行う方法を説明する図である。
【０１１４】
このかすれ罫線の補完方法は、直線を構成するパターンの探索を行う際、探索の進行方向にパターンのない空白領域が存在しても、一定の画素数以下の空白領域に対してはパターンがあるとみなして探索を行うようにするものである。
【０１１５】
例えば、図２０に示すように、直線９１に対して、この直線９１を構成する画素９２の検索を行う場合、一定の画素数以下の空白領域９３に対しては画素９２があるとみなして探索を行う。
【０１１６】
図２１は、罫線抽出処理におけるかすれ罫線の補完方法を示すフローチャートである。
図２１において、まず、ステップＳ７１に示すように、所定の矩形範囲内のパターンのうち、最も細い部分のＸ座標を算出する。
【０１１７】
次に、ステップＳ７２に示すように、ステップＳ７１で算出したＸ座標におけるパターンの中心点を算出する。そして、ステップＳ７３に示すように、ステップＳ７２で算出したパターンの中心点を探索の開始点とする。ここで、探索の開始点をパターンの最も細い部分とするのは、最も細い部分は文字である可能性が低いため、枠となる直線の探索をより確実に行うことができるからである。
【０１１８】
次に、ステップＳ７４で直線の探索方向を右に設定する。
次に、ステップＳ７５に示すように、空白領域の長さをカウントする変数Ｋの初期値を０に設定する。
【０１１９】
次に、ステップＳ７６に示すように、ステップＳ７３で求めた開始点をパターンの探索の現在地と設定する。
次に、ステップＳ７７に示すように、ステップＳ７６で設定した探索の現在地が、ステップＳ７１で注目した矩形範囲の内部であるかどうかの判定を行い、探索の現在地が、ステップＳ７１で注目した矩形範囲の内部でない場合、ステップＳ８６に進む。
【０１２０】
一方、ステップＳ７７で探索の現在地が、ステップＳ７１で注目した矩形範囲の内部であると判定された場合、ステップＳ７８に進み、探索の現在地からみて探索方向隣にパターンがあるかどうか判定する。ここで、探索の現在地からみて探索方向隣にパターンがあるとは、図２２に示すように、パターン１０１からみて右方向隣の位置にパターン１０２が存在していることを意味している。そして、探索の現在地からみて探索方向隣にパターン１０２があると判定された場合、ステップＳ８１に進み、探索方向隣にあるパターン１０２を探索の現在地とする。
【０１２１】
一方、ステップＳ７８で探索の現在地からみて探索方向隣にパターンがないと判定された場合、ステップＳ７９に進み、探索の現在地からみて探索方向斜め隣にパターンがあるかどうか判定する。
【０１２２】
ここで、探索の現在地からみて探索方向斜め隣にパターンがあるとは、図２２に示すように、パターン１０３からみて右方向斜め隣の位置にパターン１０４ａ又はパターン１０４ｂが存在していることを意味している。そして、探索の現在地からみて探索方向斜め隣にパターン１０４ａ、１０４ｂがあると判定された場合、ステップＳ８３に進み、探索方向斜め隣にあるパターン１０４ａ、１０４ｂを探索の現在地とする。なお、探索方向斜め隣にあるパターン１０４ａ、１０４ｂが２つある場合はパターン１０４ａ、１０４ｂのどちらか一方を探索の現在地とする。一方、ステップＳ７９で探索の現在地からみて探索方向斜め隣にパターン１０４ａ、１０４ｂがないと判定された場合、ステップＳ８０に進み、空白領域の長さをカウントする変数Ｋがしきい値以下であるかどうかを判定する。そして、空白領域の長さをカウントする変数Ｋがしきい値以下である場合、ステップＳ８４に進み、探索の現在地からみて探索方向隣にありパターンを構成しない画素を現在地とする。例えば、図２０において、一定の画素数以下の空白領域９３に対してはパターンがあるとみなして探索を行う。
【０１２３】
次に、ステップＳ８５に示すように、空白領域の長さをカウントする変数Ｋの値を１ドットだけ増やし、ステップＳ７７に戻る。
一方、ステップＳ８０で空白領域の長さをカウントする変数Ｋがしきい値以下でないと判定された場合、ステップＳ８６に進み、探索方向は右に設定されているかどうかを判定する。そして、探索方向は右に設定されていない場合、処理を終了する。
【０１２４】
ステップＳ８６で探索方向は右に設定されている場合、ステップＳ８７に進み、探索方向を左に設定する。そして、探索方向を右に設定して行った処理と同様に、ステップＳ７５〜ステップＳ８５の処理を繰り返す。
【０１２５】
ここで、探索方向を左に設定して処理を行う場合、探索の現在地からみて探索方向隣にパターンがあるとは、図２２に示すように、パターン１０５からみて左方向隣の位置にパターン１０６が存在していることを意味している。また、探索の現在地からみて探索方向斜め隣にパターンがあるとは、図２２に示すように、パターン１０７からみて左方向斜め隣の位置にパターン１０８ａ又はパターン１０８ｂが存在していることを意味している。
【０１２６】
なお、このかすれ罫線の補完方法については、例えば、特願平８−１０７５６８号の明細書及び図面に記載されている。
次に、図６のステップＳ２３の枠抽出処理について説明する。
【０１２７】
図２３は、一文字枠抽出処理の一実施例を示すフローチャートである。
図２３において、まず、ステップＳ９１に示すように、図１８の処理により矩形線分として検出されたパターンに対し探索を行う。この際、図２１のフローチャートに示すように、所定の長さの空白領域に対しては、パターンが存在するものとみなして探索を行い、かすれを補完する。
【０１２８】
次に、ステップＳ９２に示すように、ステップＳ９１で探索を行った結果、パターンが所定の長さで途切れているかどうかを判断し、パターンが所定の長さで途切れていない場合、図２４のブロック枠抽出処理に進む。一方、パターンが所定の長さで途切れている場合、ステップＳ９３に進み、探索された線分を統合して直線を検出する。
【０１２９】
次に、ステップＳ９４に示すように、ステップＳ９３で検出した直線のうち、４方を囲んでいる直線を抽出する。
次に、ステップＳ９５に示すように、４方を直線で囲まれた部分の大きさが、同一画像内の一文字枠の大きさの所定範囲内であるかどうかを判断し、４方を直線で囲まれた部分の大きさが、同一画像内の一文字枠の大きさの所定範囲内であるか場合、ステップＳ９６に進んで、４方を直線で囲まれた部分を一文字枠であるとみなし、４方を直線で囲まれた部分の大きさが、同一画像内の一文字枠の大きさの所定範囲内でない場合、ステップＳ９７に進んで、４方を直線で囲まれた部分を一文字枠でないとみなす。
【０１３０】
図２４は、ブロック枠抽出処理の一実施例を示すフローチャートである。
図２４において、まず、ステップＳ１０１に示すように、探索により検出された横直線が所定値以上の長さを有するかどうかを判断し、探索により検出された横直線の長さが所定値より小さい場合、ステップＳ１０２に進んで、その横直線を横枠でないとみなす。一方、探索により検出された横直線の長さが所定値以上の場合、ステップＳ１０２に進み、探索により検出された横直線を横枠であるとみなす。
【０１３１】
次に、ステップＳ１０４に示すように、ステップＳ１０３で抽出された横枠から、互いに隣接する２本の横枠を取り出す。
次に、ステップＳ１０５に示すように、ステップＳ１０４で取り出した２本の横枠の間に挟まれた範囲を１行のブロック枠とみなす。
【０１３２】
次に、ステップＳ１０６に示すように、図１８の処理により検出された矩形線分のうち、縦方向の矩形線分を抽出して縦線を検出する。
次に、ステップＳ１０７に示すように、ステップＳ１０６で検出した縦線の探索を行い、ステップＳ１０８において、縦線がステップＳ１０４で取り出した上下の横枠に達したかどうかを判断する。そして、縦線が上下の横枠に達しない場合、ステップＳ１０９に進み、その縦線を縦枠の候補から除外する。一方、縦線が上下の横枠に達した場合、ステップＳ１１０に進み、その縦線を縦枠の候補とする。
【０１３３】
次に、ステップＳ１１１に示すように、処理の対象が規則的な表形式のブロック枠であるか、不規則な表形式のブロック枠であるかを判断する。そして、処理の対象が規則的な表形式のブロック枠である場合、ステップＳ１１２に進み、ステップＳ１１０で縦枠の候補とみなされた縦線同士の間隔を算出するとともに、算出された縦線同士の間隔とその出現頻度との関係を示すヒストグラムを算出する。
【０１３４】
次に、ステップＳ１１３に示すように、互いの隣接する２本の横枠の間に挟まれた範囲内の縦線のうち、他の縦線と異なる間隔を形成する縦線を縦枠の候補から除外し、残った縦線を縦枠として処理を終了する。
【０１３５】
一方、ステップＳ１１１で処理の対象が不規則的な表形式のブロック枠であると判断された場合、ステップＳ１１０で縦枠の候補とされたものを全て縦枠として処理を終了する。
【０１３６】
次に、図６のステップＳ２４の枠種類／表判別処理について説明する。
図２５は、図６のステップＳ２３の枠抽出処理により抽出された枠や表の一例を示す図である。
【０１３７】
図２５において、図２５（ａ）は一文字枠、図２５（ｂ）はフリーピッチ枠、図２５（ｃ）はブロック枠、図２５（ｄ）は規則的な表、図２５（ｅ）は不規則な表を示している。そして、一文字枠には一文字枠の属性を付与し、フリーピッチ枠にはフリーピッチ枠の属性を付与し、ブロック枠にはブロック枠の属性を付与し、表には表の属性を付与する。
【０１３８】
なお、枠抽出処理及び枠種類／表判別処理については、例えば、特開平７−２８９３７号公報に記載されている。
次に、図６のステップＳ２５の枠接触有無の判断処理について説明する。ここでは、元の入力画像をＯＲ処理により縮小率１／ｎで縮小してから、枠接触有無の判断処理を行う例について述べる。ここで、画像の各画素に対応して座標が設定され、画像の横方向にＸ座標、画像の縦方向にＹ座標を設定し、Ｘ座標は右向きに増加し、Ｙ座標は下向きに増加するものとしている。
【０１３９】
図２６は、入力画像の縮小処理の一実施例を示すフローチャートである。
図２６において、まず、ステップＳ１２１に示すように、原画像を入力する。
次に、ステップＳ１２２に示すように、原画像の左上から横ｎ画素×縦ｎ画素の範囲（左上座標（１，１）、右下座標（Ｘ，Ｙ））を設定する。
【０１４０】
次に、ステップＳ１２３に示すように、原画像の設定された範囲内に黒画素があるかどうかを判断し、原画像の設定された範囲内に黒画素がある場合、ステップＳ１２４に進み、縮小画像の座標（Ｘ／ｎ，Ｙ／ｎ）の画素を黒画素とし、原画像の設定された範囲内に黒画素がない場合、ステップＳ１２５に進み、縮小画像の座標（Ｘ／ｎ，Ｙ／ｎ）の画素を白画素とする。
【０１４１】
次に、ステップＳ１２６に示すように、原画像の右下まで処理が終了したかどうかを判断し、原画像の右下まで処理が終了していない場合、ステップＳ１２７に進み、原画像の右端に達したかどうかを判断する。
【０１４２】
そして、原画像の右端に達していない場合、処理した範囲の右隣に横ｎ画素×縦ｎ画素の範囲（左上座標（ｘ，ｙ）、右下座標（Ｘ，Ｙ））を設定し、原画像の右端に達した場合、処理した範囲の下側で、かつ、原画像の左端から横ｎ画素×縦ｎ画素の範囲（左上座標（ｘ，ｙ）、右下座標（Ｘ，Ｙ））を設定して、ステップＳ１２３に戻り、原画像の全ての範囲内について縮小処理が終了するまで以上の処理を繰り返す。
【０１４３】
次に、入力画像の縮小処理により縮小された圧縮画像データにおける枠線の内側を枠に沿って探索することにより、文字が枠に接触しているかどうかの判定を行い、文字の接触している辺に関して、矩形領域を所定の距離だけ外側に拡大し、この拡大した矩形領域の座標を原画像データにおける座標に変換する。
【０１４４】
例えば、図２７（ａ）に示すように、圧縮画像データの枠線の範囲１１０が抽出され、この枠線により囲まれた矩形領域内に「４」の文字１１２が存在し、この「４」の文字１１２が下側の枠線１１１に接触しているものとする。
【０１４５】
次に、図２７（ｂ）に示すように、枠線の内側に沿って真っ直ぐに探索を行い、探索の途中でパターンと交差した場合、枠線の近辺に文字が存在し、この文字は枠線に接触している可能性が高いとみなして、この枠線により囲まれた矩形領域内に存在する「４」の文字１１２は枠と接触しているものとする。この例の場合、「４」の文字１１２は下側の枠１１１と接触しているものとされる。
【０１４６】
次に、枠線１１１の内側に沿って探索を行い、文字１１２が枠線１１１に接触しているとみなされた結果、図２７（ｃ）に示すように、文字１１２が接触している枠線１１１から外側の方向へ枠線により囲まれた矩形領域を拡大し、この拡大した矩形領域１１３を文字１１２が存在する文字領域とする。なお、文字が枠線に接触していないとみなされた場合は、枠の内部をそのまま文字領域とする。
【０１４７】
次に、圧縮画像データにおける文字領域から原画像データにおける文字領域を求めるため、図２７（ｃ）の矩形領域１１３の座標を原画像データにおける座標に変換する。このことにより、図２７（ｄ）に示すように、原画像データにおける矩形領域１１６を求めることができる。
【０１４８】
次に、原画像データの矩形領域１１６における枠線１１４についての投影処理を行い、枠線１１４の枠座標を原画像データから算出する。この際、枠線１１４を所定の長さの短冊状の矩形によって表現する。そして、図２７（ｅ）に示すように、この矩形領域１１６に存在するパターンを文字補完処理に送り、原画像データから算出した枠線１１４の枠座標に基づいて、枠線１１４に接触している文字１１５の補完処理を行う。
【０１４９】
図２８は、枠接触有無の判断処理の一実施例を示すフローチャートである。
図２８において、まず、ステップＳ１３１に示すように、圧縮画像データによる矩形表現を、例えば、図２６の処理により行う。
【０１５０】
次に、ステップＳ１３２に示すように、縦横４本の直線に囲まれた矩形部分を抽出する。
次に、ステップＳ１３３に示すように、直線の内側を示す矩形の左上及び右下を示す座標をそれぞれ算出する。
【０１５１】
次に、ステップＳ１３４に示すように、枠の内側を示す矩形の４辺（上側横枠、下側横枠、右側縦枠、左側縦枠）に沿って圧縮画像の探索を行う。
次に、ステップＳ１３５に示すように、探索の途中で画像パターンと交差した場合、探索を行っていた辺に文字が接触しているものとする。
【０１５２】
次に、ステップＳ１３６に示すように、枠の内側を示す矩形の座標値を原画像上の座標値に変換することにより、圧縮画像データにおける矩形領域から原画像データにおける矩形領域を算出する。
【０１５３】
次に、ステップＳ１３７に示すように、ステップＳ１３６で算出された矩形領域を原画像データにおける文字領域とする。
次に、ステップＳ１３８に示すように、ステップＳ１３５の処理により文字が枠に接触していたかどうかを判断し、文字が枠に接触している場合、ステップＳ１３９〜Ｓ１４３の接触文字範囲獲得処理を行う。
【０１５４】
接触文字範囲獲得処理では、まず、ステップＳ１３９において、文字の接触している辺から外側方向に文字領域を拡大し、ステップＳ１３７で算出された文字領域位置より一定の距離だけ外側の位置を文字領域の端とする。
【０１５５】
次に、ステップＳ１４０に示すように、ステップＳ１３９で算出された文字領域に含まれる枠線の位置座標を原画像上の座標値に変換することにより、圧縮画像データにおける枠線の位置座標から原画像データにおける枠線の位置座標を算出する。
【０１５６】
次に、ステップＳ１４１に示すように、ステップＳ１４０で算出された原画像データにおける枠線の位置座標に基づいて獲得した原画像データの枠線領域について、横枠は横方向、縦枠は縦方向に投影処理を行う。
【０１５７】
次に、ステップＳ１４２に示すように、投影値が一定値以上の領域を原画像上の枠座標とする。
次に、ステップＳ１４３に示すように、算出した原画像上の文字領域を示す座標値と文字領域内の枠線の位置を示す座標値とを文字補完処理へ渡す。
【０１５８】
次に、ステップＳ１４４に示すように、算出した原画像上の文字領域を示す座標値を文字領域とする。
なお、枠接触有無の判断処理については、例えば、特願平８−１０７５６８号の明細書及び図面に記載されている。
【０１５９】
次に、図８のステップＳ４１の訂正特徴抽出処理及びステップＳ４２の訂正文字候補抽出処理について説明する。
図２９は、訂正文字の一実施例を示す図である。
【０１６０】
図２９において、訂正文字は、文字を消し線で消したものであり、訂正文字の形態として、図２９（ａ）に示すように、文字を“×”印により消したもの、図２９（ｂ）に示すように、文字を横二重線によりにより消したもの、図２９（ｃ）に示すように、文字を斜め線により消したもの、図２９（ｄ）に示すように、文字を波線により消したもの、図２９（ｅ）に示すように、文字を真っ黒に塗りつぶすことにより消したものなど様々なものがある。
【０１６１】
このような訂正文字に対し、訂正文字に特有な特徴を抽出する。この訂正文字に特有な特徴として、「所定方向の線密度」、「オイラー数」、「黒画素密度」などがある。
「所定方向の線密度」は、矩形内の画像を所定の一定方向に沿って走査した際に、白画素から黒画素（又は黒画素から白画素）に変化する回数を計数した値である。また、所定方向は、消し線として想定された線分の方向と垂直方向に設定する。
【０１６２】
例えば、図３０（ａ）は、「６」の文字について、縦方向の最大線密度を計数した例を示すもので、この場合の縦方向の最大線密度は３となっている。
訂正文字の「所定方向の線密度」は、通常文字の「所定方向の線密度」に比べて大きくなる傾向があり、この「所定方向の線密度」を算出することにより、訂正文字の候補を抽出することができる。
【０１６３】
「オイラー数」Ｅは、画像中での互いに連結している連結成分の個数Ｃから、その画像が有する穴の個数Ｈを引いた値である。
例えば、図３０（ｂ）は、互いに連結している連結成分が画像中に２つだけ存在し、その画像中に穴が１つだけ存在する例を示すもので、この例の場合のオイラー数Ｅは、Ｅ＝Ｃ−Ｈ＝２−１＝１となる。
【０１６４】
訂正文字の「オイラー数」は絶対値が大きな負の値となる傾向があり、通常文字の「オイラー数」は絶対値が小さな値（２〜−１）となる傾向がある。したがって、この「オイラー数」を算出することにより、訂正文字の候補を抽出することができる。
【０１６５】
「黒画素密度」Ｄは、注目する画像自体の面積（黒画素数）Ｂと注目する画像の外接矩形の面積Ｓとの比である。
例えば、図３０（ｃ）は、「４」の文字について黒画素密度Ｄを算出した場合の例を示すもので、「４」の文字に外接している外接矩形の面積をＳ、「４」の文字の面積をＢとすると、Ｄ＝Ｂ／Ｓとなる。
【０１６６】
訂正文字の「黒画素密度」は、通常文字の「黒画素密度」に比べて大きくなる傾向があり、この「黒画素密度」を算出することにより、訂正文字の候補を抽出することができる。
【０１６７】
次に、図３の基本文字認識部１７について具体的に説明する。
図３１は、基本文字認識部１７の構成の一実施例を示すブロック図である。
図３１において、特徴抽出部１２１は、入力された未知の文字パターンから文字の特徴を抽出し、この抽出した特徴を特徴ベクトルにより表す。一方、基本辞書１２２には、各文字カテゴリの特徴ベクトルが格納されている。
【０１６８】
そして、照合部１２３は、特徴抽出部１２１により抽出した未知の文字パターンの特徴ベクトルを、基本辞書１２２に格納されている各文字カテゴリの特徴ベクトルと照合し、特徴空間上での特徴ベクトル間の距離Ｄij（ｉは未知文字の特徴ベクトル、ｊは基本辞書１２２のカテゴリの特徴ベクトル）を算出する。その結果、特徴ベクトル間の距離Ｄijを最小とするカテゴリｊを未知文字ｉとして認識する。
【０１６９】
ここで、特徴空間上での特徴ベクトル間の距離Ｄijは、例えば、ユークリッド距離Σ（ｉ−ｊ）2 、シティブロック距離Σ｜ｉ−ｊ｜、又は判別関数などの識別関数を用いて算出することができる。
【０１７０】
なお、第１位のカテゴリとの距離をＤij1 、第２位のカテゴリとの距離をＤij2 とすると、第１位のカテゴリｊ１、第２位のカテゴリｊ２、カテゴリ間の距離（Ｄij2 −Ｄij1 ）及び信頼度に関するテーブル１を予め作成しておく。また、第１位のカテゴリとの距離をＤij1 、第１位のカテゴリｊ１及び信頼度に関するテーブル２も予め作成しておく。そして、テーブル１とテーブル２とからそれぞれ得られる信頼度の小さい方を中間処理結果テーブルに格納する。
【０１７１】
図３２は、特徴ベクトルの算出例を示す図である。
この例は、図３２（ａ）の縦５×横４の合計２０個の枡目に「２」の文字が書かれており、黒く塗りつぶされた枡目を“１”、白抜きの枡目を“０”として、枡目の左上から右下の順に枡目を見ていき、その時現れる“１”又は“０”の数値を順に並べたものを、特徴ベクトルとしたものである。
【０１７２】
例えば、図３２（ｂ）の場合の特徴ベクトルｖｅｃｔｏｒＡは、ｖｅｃｔｏｒＡ＝（１、１、１、１、０、０、０、１、１、１、１、１、１、０、０、０、１、１、１、１、）となり、図３２（ｃ）の場合の特徴ベクトルｖｅｃｔｏｒＢは、ｖｅｃｔｏｒＢ＝（０、１、１、１、０、０、０、１、１、１、１、１、１、０、０、０、１、１、１、１、）となり、図３２（ｄ）の場合の特徴ベクトルｖｅｃｔｏｒＣは、ｖｅｃｔｏｒＣ＝（１、１、１、１、０、０、０、１、０、１、１、０、１、０、０、０、１、１、１、１、）となる。
図３３は、シティブロック距離ｄ（ｉ，ｊ）により特徴ベクトル間の距離Ｄijを算出する例を示す図である。
【０１７３】
ここで、シティブロック距離ｄ（ｉ，ｊ）は、特徴ベクトルの次元数をＮ、特徴ベクトルの番号をｉとすると、ｉ番目の特徴ベクトルｘi は、ｘi ＝（ｘi1，ｘi2，ｘi3，・・・ｘiN）と表され、ｊ番目の特徴ベクトルｘj は、ｘj ＝（ｘj1，ｘj2，ｘj3，・・・ｘjN）と表される。そして、ｉ番目の特徴ベクトルｘiとｊ番目の特徴ベクトルｘj とのシティブロック距離ｄ（ｉ，ｊ）は、
ｄ（ｉ，ｊ）＝｜ｘi −ｘj ｜                                     ・・・（２）
と定義される。
【０１７４】
例えば、図３３において、基本辞書１２２には、「１」、「２」、「３」、「４」の文字カテゴリの特徴ベクトルが登録されているものとする。ここで、「１」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ１は、ｖｅｃｔｏｒ１＝（０、１、１、０、０、１、１、０、０、１、１、０、０、１、１、０、０、１、１、０、）、「２」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ２は、ｖｅｃｔｏｒ２＝（１、１、１、１、０、０、０、１、１、１、１、１、１、０、０、０、１、１、１、１、）、「３」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ３は、ｖｅｃｔｏｒ３＝（１、１、１、１、０、０、０、１、１、１、１、１、０、０、０、１、１、１、１、１、）、「４」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ４は、ｖｅｃｔｏｒ４＝（１、０、１、０、１、０、１、０、１、１、１、１、０、０、１、０、０、０、１、０、）とする。
【０１７５】
そして、特徴ベクトルｖｅｃｔｏｒが、ｖｅｃｔｏｒ＝（０、１、１、１、０、０、０、１、１、１、１、１、１、０、０、０、１、１、１、１、）である未知文字が入力された場合、この特徴ベクトルｖｅｃｔｏｒと、基本辞書１２２に登録されている「１」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ１、「２」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ２、「３」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ３、「４」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ４のそれぞれとの間のシティブロック距離ｄ（ｉ，ｊ）を（２）式により算出する。
【０１７６】
すなわち、未知文字の特徴ベクトルｖｅｃｔｏｒと「１」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ１との間のシティブロック距離ｄ（ｉ，ｊ）は、ｄ（ｉ，ｊ）＝｜ｖｅｃｔｏｒ−ｖｅｃｔｏｒ１｜＝｜０−０｜＋｜１−１｜＋｜１−１｜＋｜１−０｜＋｜０−０｜＋｜０−１｜＋｜０−１｜＋｜１−０｜＋｜１−０｜＋｜１−１｜＋｜１−１｜＋｜１−０｜＋｜１−０｜＋｜０−１｜＋｜０−１｜＋｜０−０｜＋｜１−０｜＋｜１−１｜＋｜１−１｜＋｜１−０｜＝１１となる。
【０１７７】
同様に、未知文字の特徴ベクトルｖｅｃｔｏｒと「２」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ２との間のシティブロック距離ｄ（ｉ，ｊ）は、ｄ（ｉ，ｊ）＝｜ｖｅｃｔｏｒ−ｖｅｃｔｏｒ２｜＝１、未知文字の特徴ベクトルｖｅｃｔｏｒと「３」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ３との間のシティブロック距離ｄ（ｉ，ｊ）は、ｄ（ｉ，ｊ）＝｜ｖｅｃｔｏｒ−ｖｅｃｔｏｒ３｜＝３、未知文字の特徴ベクトルｖｅｃｔｏｒと「４」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ４との間のシティブロック距離ｄ（ｉ，ｊ）は、ｄ（ｉ，ｊ）＝｜ｖｅｃｔｏｒ−ｖｅｃｔｏｒ４｜＝１１となる。
【０１７８】
ここで、未知文字の特徴ベクトルｖｅｃｔｏｒと、「１」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ１、「２」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ２、「３」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ３、「４」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ４のそれぞれとの間のシティブロック距離ｄ（ｉ，ｊ）のうち、未知文字の特徴ベクトルｖｅｃｔｏｒと「２」の文字カテゴリの特徴ベクトルｖｅｃｔｏｒ２との間のシティブロック距離ｄ（ｉ，ｊ）が最小となっている。
【０１７９】
従って、特徴ベクトルｖｅｃｔｏｒが、ｖｅｃｔｏｒ＝（０、１、１、１、０、０、０、１、１、１、１、１、１、０、０、０、１、１、１、１、）である未知文字は、「２」の文字カテゴリに属すると判定される。
【０１８０】
次に、図３の基本文字認識部１７の知識テーブル１８に格納されている詳細識別法について説明する。この詳細識別法は、各文字カテゴリの局所的な部分パターンを文字セグメントとして取り出し、未知文字の文字セグメントの位置や角度変化量とセグメント辞書に予め格納してある文字セグメントの位置や角度変化量とを比較することにより、未知文字と文字カテゴリとの対応を取りながら文字を認識する。
【０１８１】
図３４は、文字セグメントの抽出方法を説明する図である。
図３４（ａ）は、「２」の文字についての２値画像パターンを示しており、斜線部分が黒画素で表された文字部分を示している。
【０１８２】
図３４（ｂ）は、図３４（ａ）の２値画像パターンから抽出された輪郭線を示しており、点線部分は元の２値画像パターンを示している。
図３４（ｃ）は、図３４（ｂ）の輪郭線を文字セグメントＳ１、Ｓ２と端点部分Ｔ１、２とに分割した状態を示している。この端点部分Ｔ１、２は、図３４（ａ）の「２」の文字の書き始め及び書き終わりに対応するものである。
【０１８３】
図３５は、端点の検出方法を説明する図である。
図３５において、端点は輪郭線の傾きが急激に変化する場所として検出され、具体的には、一定間隔だけ離れた３点Ａ、Ｂ、Ｃを輪郭線Ｓ上にとり、その３点Ａ、Ｂ、Ｃを結んだ真ん中の点Ａを頂点としてなす角θが所定値以下となる輪郭線上の領域を、端点として検出する。
【０１８４】
文字の輪郭線を端点で分割することにより、文字セグメントを２値画像パターンから抽出すると、例えば、文字セグメント上に代表点Ｘ、Ｙ、Ｚを一定の距離ごとにとる。そして、連続する代表点Ｘ、Ｙ、Ｚのなす角度を求め、各代表点Ｘ、Ｙ、Ｚでの特徴量として、文字セグメント上の最初の代表点から各代表点までの角度変化量の累積値を求める。
【０１８５】
図３６は、角度変化の検出方法を説明する図である。
図３６において、任意の間隔だけ離れた代表点Ｘ、Ｙ、Ｚを輪郭線Ｓ上にとり、代表点Ｘから代表点Ｙに引いたベクトルＸＹと、代表点Ｙから代表点Ｚに引いたベクトルＹＺとを作り、ベクトルＸＹとベクトルＹＺとのなす角θ2 が代表点Ｙでの角度変化となる。
【０１８６】
角度変化の初期値である輪郭線Ｓ上の代表点Ｘでの角度変化は、文字の重心Ｇから代表点Ｘに引いたベクトルＧＸとベクトルＸＹとのなす角θ1 を代表点Ｘでの角度変化とする。
【０１８７】
各代表点Ｘ、Ｙ、Ｚでの特徴量は、角度変化の初期値を有する代表点Ｘから各代表点Ｙ、Ｚまでの角度変化を累積した値で表し、例えば、代表点Ｙでの特徴量は、θ1 ＋θ2 の値となる。
【０１８８】
未知文字の文字セグメント上の代表点での角度変化量の累積値を求めた後、この未知文字の文字セグメントについての代表点とセグメント辞書に格納してある文字セグメントの代表点との対応をとる。すなわち、未知文字の文字セグメントについての代表点の角度変化量の累積値と、セグメント辞書に格納してある文字セグメントの代表点の角度変化量の累積値との距離を算出し、この距離が最も小さくなるセグメント辞書の文字セグメントの代表点を未知文字の文字セグメントの代表点に対応させる。
【０１８９】
図３７（ａ）は、未知文字の文字セグメントの代表点とセグメント辞書の文字セグメントの代表点との対応関係を示す図である。
図３７（ａ）において、代表点ａ1 〜ａ8 は、未知文字の文字セグメント上の代表点を表し、代表点ｂ1 〜ｂ8 は、セグメント辞書に格納されている文字セグメント上の代表点を表している。そして、未知文字の文字セグメントについての代表点ａ1 〜ａ8 はそれぞれ、セグメント辞書に格納されている文字セグメントの代表点ｂ1 〜ｂ8 に対応している。
【０１９０】
未知文字の文字セグメントの代表点とセグメント辞書の文字セグメントの代表点との対応関係を求めた後、セグメント辞書に格納されている文字セグメント上の基準点に対応する未知文字の文字セグメントについての代表点を検査点とする。
【０１９１】
図３７（ｂ）は、基準点と検査点との対応関係を示す図である。
図３７（ｂ）において、セグメント辞書に格納されている文字セグメントの基準点ｄ1 、ｄ2 はそれぞれ、未知文字の文字セグメントの検査点ｃ1 、ｃ2 に対応している。
【０１９２】
基準点と検査点との対応関係を求めた後、未知文字の文字セグメントの検査点ｃ1 、ｃ2 についての検査情報を算出する。
この検査情報は、例えば、１つの検査点に対しては、その検査点が文字画像全体の中でどの位置に存在しているかという個々の検査点の絶対位置情報や、２つの検査点に対しては、それらの検査点間の距離や方向などの相対位置情報や、２つの以上の検査点に対しては、それらの検査点間の角度変化や直線性などの情報からなっている。
【０１９３】
そして、検査点についての検査情報を算出した結果、所定の判定条件を満たす場合、判定条件を満たしたセグメント辞書に格納されている文字セグメントの文字カテゴリを未知文字の認識結果として出力する。
【０１９４】
例えば、判定条件として、図３７（ｂ）の文字セグメント上の検査点ｃ1 から文字セグメントに沿って検査点ｃ2 までの角度変化を検査情報とした場合、この角度変化が６０度以上である文字セグメントの文字画像が、その文字セグメントに対応して格納されているセグメント辞書の「２」の文字カテゴリに属するとした場合、図３７（ｂ）の文字セグメント上の検査点ｃ1 から文字セグメントに沿って検査点ｃ2 までの角度変化を算出することにより、図３４（ａ）の文字パターンが「２」の文字カテゴリに属すると認識できる。
【０１９５】
図３８は、詳細識別法による文字認識処理を示すフローチャートである。
図３８において、まず、ステップＳ１５０に示すように、文字認識の対象となる帳票などをスキャナで走査し、読み込んだ文字画像を白黒２値の画像に２値化する。
【０１９６】
次に、ステップＳ１５１に示すように、ステップＳ１５０で得られた２値画像データから文字セグメントを抽出する。
次に、ステップＳ１５２に示すように、セグメント辞書に格納されている複数の文字セグメントから、未知文字の文字セグメントとの対応関係が付けられていない文字セグメントを取り出す。
【０１９７】
次に、ステップＳ１５３に示すように、セグメント辞書から取り出した文字セグメントと未知文字の文字セグメントとの対応関係を付ける。
次に、ステップＳ１５４に示すように、未知文字の文字セグメント上にとった代表点の中から検査点を決定し、この検査点についての検査情報を算出する。
【０１９８】
次に、ステップＳ１５５に示すように、ステップＳ１５４で算出した検査情報に基づいて、セグメント辞書から取り出した文字セグメントと未知文字の文字セグメントとを比較し、セグメント辞書から取り出した文字セグメントの検査情報と未知文字の文字セグメントの検査情報とが一致するかどうかを判定することにより、未知文字に対する文字候補の決定処理を行う。
【０１９９】
次に、ステップＳ１５６に示すように、未知文字に対する文字候補の決定処理で、文字候補が決定した場合、ステップＳ１５３で取り出した文字セグメントに対応する文字カテゴリを認識結果として出力する。一方、文字候補が決定しない場合、ステップＳ１５７に進み、未知文字の文字セグメントとの対応関係が付けられていない未処理の文字セグメントがセグメント辞書にあるかどうかを判断し、未処理の文字セグメントがセグメント辞書にある場合、ステップＳ１５２に戻って、以上の処理を繰り返す。
【０２００】
一方、未知文字の文字セグメントとの対応関係が付けられていない未処理の文字セグメントがセグメント辞書にない場合、入力された未知文字は認識不能であると判断して、認識不能という認識結果を出力する。
【０２０１】
なお、詳細識別法については、例えば、特開平６−３０９５０１号公報に記載されている。
次に、図３の接触文字認識部１３の一実施例について説明する。
【０２０２】
図３９は、接触文字認識部１３の文字補完処理を説明する図である。
この文字補完処理では、枠接触文字の２値画像から枠だけを抽出してこの枠を除去する。この際、枠接触文字の枠に接触している文字線分の枠接触部分がかすれてしまい、文字線分が複数の部分に途切れてしまうので、途切れた文字線分について、各ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して、それを補完する。
【０２０３】
例えば、図３９（ａ）に示すように、「３」を表している文字パターン１３１と枠１３２とが接触したために連結している２値画像にラベル“１”が付されている。そして、図３９（ａ）の２値画像から枠１３２を抽出し、この枠１３２を除去することにより、図３９（ｂ）に示すように、「３」を表している文字パターン１３１が３個に分割されて、ラベル“１”、ラベル“２”及びラベル“３”が付与された３個の文字線分が生成される。
【０２０４】
このラベル“１”、ラベル“２”及びラベル“３”が付与された３個の文字線分について、各ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して、それを補完する。これにより、ラベル“１”、ラベル“２”及びラベル“３”が付与された３個の文字線分が連結されて、図３９（ｃ）に示すように、ラベル“１”が付された「３」を表している文字補完パターン１３２が生成される。
【０２０５】
この文字補完処理により復元された文字は、認識文字の候補として認識処理が行われる。この認識処理では、文字カテゴリ辞書に登録されている標準パターンと照合して、相違度が最も小さい文字カテゴリのコードを出力する。
【０２０６】
図４０は、接触文字認識部１３の再補完処理を説明する図である。
この再補完処理では、枠に平行な文字線分が枠に接触し、枠を除去したために枠に平行な文字線分が消滅した場合に、この文字線分を補完するもので、予め、枠接触文字をラベリングによる連結性を用いて抽出しておき、文字補完処理により補完された文字補完パターンと枠接触文字の連結性が一致することを検出することにより、枠に平行な文字線分を補完する。
【０２０７】
例えば、図４０（ａ）に示すように、「７」を表している文字パターン１４１と枠１４２とが接触したために連結している２値画像にラベル“１”が付されている。そして、図４０（ａ）の２値画像から枠１４２を抽出し、この枠１４２を除去することにより、図４０（ｂ）に示すように、「７」を表している文字パターン１４１が３個に分割されて、ラベル“１”、ラベル“２”及びラベル“３”が付与された３個の文字線分が生成される。
【０２０８】
このラベル“１”、ラベル“２”及びラベル“３”が付与された３個の文字線分について、各ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して、それを補完する。これにより、ラベル“１”及びラベル“２”が付与された２個の文字線分が連結されて、図４０（ｃ）に示すように、ラベル“１”及びラベル“２”が付与された２個の文字線分からなる文字補完パターン１４２が生成される。
【０２０９】
この場合、文字補完処理で補完されるのは、図４０（ｂ）のラベル”１”が付与されていた部分とラベル”２”が付与されていた部分との間のみで、図４０（ｂ）のラベル”１”が付与されていた部分とラベル”３”が付与されていた部分については、補完することができない。この図４０（ｂ）のラベル”１”が付与されていた部分とラベル”３”が付与されていた部分の補完は、再補完処理により行う。
【０２１０】
この再補完処理は、予め、枠接触文字をラベリングによる連結性を用いて抽出しておき、図４０（ｃ）のパターンと枠接触文字の連結性が一致することを検出することにより、枠に平行な文字線分を補完する。すなわち、図４０（ｃ）のラベル”１”が付与されたパターンとラベル”２”が付与されたパターンとは、図４０（ａ）に示すように、枠を除去する前は互いに連結していたので、図４０（ｃ）のラベル”１”が付与されたパターンとラベル”２”が付与されたパターンとを、枠に平行な線分を用いて互いに連結する。
【０２１１】
これにより、図４０（ｃ）のラベル”１”とラベル”２”の２つの文字線分に分かれていた「７」の２値画像が補完され、図４０（ｄ）に示すように、ラベル“１”が付された「７」を表している再補完パターン１４３が生成される。
【０２１２】
この再補完処理により復元された文字は、認識文字の候補として認識処理が行われる。この認識処理では、文字カテゴリ辞書に登録されている標準パターンと照合して、相違度が最も小さい文字カテゴリのコードを出力する。
【０２１３】
すなわち、図４０に示す例では、図４０（ｃ）に示す文字補完パターン１４２は、「リ」の文字カテゴリに属すものと認識される。また、図４０（ｄ）に示す再補完パターン１４３は、「７」の文字カテゴリに属すものと認識される。そして、「リ」よりも「７」のほうが相違度が小さいと判断されて、最終的に「７」と認識され、その文字コードが出力される。
【０２１４】
次に、図３の接触文字認識部１３が知識テーブル１４を参照しながら認識処理を行う場合について説明する。
図４１は、誤読文字対を学習し、知識テーブル１４に登録しておくことにより、枠接触文字を認識する例を説明する図である。
【０２１５】
この例の場合、図４１（ａ）に示すように、「２」を表している文字パターン１５１と枠１５２とが接触したために連結している２値画像にラベル“１”が付されている。そして、図４１（ａ）の２値画像から枠１５２を抽出し、この枠１５２を除去することにより、図４１（ｂ）に示すように、「２」を表す文字１５１がラベル“１”とラベル“２”の２つの部分パターンに分離される。
【０２１６】
次に、図４１（ｃ）に示すように、文字補完処理により、図４１（ｂ）のラベル“１”とラベル“２”の２つの部分パターンが連結され、文字補完パターン１５３が生成される。
【０２１７】
この場合、「２」を表している文字パターン１５１の下線部分が枠１５２に接触し、その接触部分がほぼ完全に枠１５２に重なっている。このため、再補完処理を用いても、「２」を表している文字パターン１５１の下線部分を補完することができず、「２」の文字を、誤って「７」と認識してしまう可能性が高くなる。
【０２１８】
このように、枠接触文字の一部が枠からはみ出すことなく、枠に完全に重なっているため、他の文字と誤って認識してしまう場合、誤読文字対を学習して登録しておくことにより、枠接触文字が正しく認識されるようにする。
【０２１９】
以下、誤読文字対を学習して登録しておくことにより、枠接触文字を認識する方法について説明する。
図４２は、図３の接触文字認識部１３において、誤読文字対を学習する構成を示すブロック図である。
【０２２０】
枠接触文字の自動生成部１６１は、入力された枠に未接触の学習文字を枠に重ね合わせて、枠接触文字を生成する。ここで、枠に対する学習文字の変動の方法により、同一の学習文字に対して複数の枠接触文字が生成される。図４２では、「２」を表している学習文字１６８が枠接触文字の自動生成部１６１に入力され、文字「２」の下辺と下枠とが重なった枠接触文字１６９を生成した例を示している。枠接触文字の自動生成部１６１により生成された情報は、知識テーブル１６７に登録される。
【０２２１】
学習文字に枠を重ね合わせる際の変動の種類は、例えば、「文字枠に対する文字の変動」と「文字枠の変動」の２種類があり、「文字枠に対する文字の変動」には、例えば、「位置ずれ」、「サイズ変動」及び「傾き変動」などがあり、「文字枠の変動」には、例えば、「傾き変動」、「枠幅変動」、「サイズ変動」及び「枠の凹凸」などがある。
【０２２２】
また、これらの変動についての変動量を表すパラメータとして以下のパラメータがある。なお、垂直方向にｘ軸を、水平方向にｙ軸を設定するものとする。
１．文字枠に対する文字の変動
位置ずれ：ｄｘ、ｄｙ、
ここで、ｄｘ（図４３で黒丸で示した位置）、ｄｙ（図４３で ×で示した位置）は、それぞれ、文字の重心と文字枠の重心の位置の差のｘ方向、ｙ方向の大きさを表す。
【０２２３】
サイズ変動：ｄｓｘ、ｄｓｙ、
ここで、ｄｓｘ，ｄｓｙは、それぞれ、文字のｘ方向、ｙ方向の大きさを表す。
傾き変動：ｄα、
ここで、ｄαは、垂線に対する文字の傾き角度を表す。
２．文字枠の変動
傾き変動：ｆα、
ここで、垂線に対する文字枠の傾き角度を表す。
【０２２４】
枠幅変動：ｗ、
ここで、ｗは、文字枠の幅を表す。
サイズ変動：ｆｓｘ、ｆｓｙ、
ここで、ｆｓｘ，ｆｓｙは、それぞれ、文字のｘ方向、ｙ方向の大きさを表す。
【０２２５】
枠の凹凸：ｆδ、
ここで、ｆδは、例えば、ファクシミリなどに印刷された文字枠の品質劣化等を考慮した文字枠の凹凸を制御するパラメータである。例えば、文字枠の周囲長をＬとすると、ｆδは、このサイズＬの配列ｆδ〔Ｌ］として表現され、この配列の各要素ｆδ〔ｉ］（ｉ＝１、２、３，・・・）は、乱数発生により決定される−β〜＋βの範囲内の整数値をとる。
これらの変動の種類及び変動量に基づいて、学習文字に対して操作Ｆ（ｄｘ，ｄｙ，ｄｓｘ，ｄｓｙ，ｄα，ｗ，ｆｓｘ，ｆｓｙ，ｆα、ｆδ）を施すことにより、枠接触文字を生成する。
【０２２６】
図４３は、「７」を表す学習文字１７１に対して枠１７２を合成することにより、枠接触文字を生成する例を示す図である。
図４３（ａ）に示すように、「７」を表す学習文字１７１に対して変換操作Ｆ（ｄｘ，ｄｙ，ｄｓｘ，ｄｓｙ，ｄα，ｗ，ｆｓｘ，ｆｓｙ，ｆα、ｆδ）を施すことにより、図４３（ｂ）に示すように、枠１７２に接触する「７］の枠接触文字を生成する。
【０２２７】
すなわち、学習文字１７１及び枠１７２に対して変換操作Ｆ（ｄｘ，ｄｙ，ｄｓｘ，ｄｓｙ，ｄα，ｗ，ｆｓｘ，ｆｓｙ，ｆα、ｆδ）を施し、学習文字１７１と枠１７２とを重ね合わせることにより、枠接触文字を生成する。この場合、例えば、枠１７２の方の重心の位置を固定しながら変換操作Ｆ（ｄｘ，ｄｙ，ｄｓｘ，ｄｓｙ，ｄα，ｗ，ｆｓｘ，ｆｓｙ，ｆα、ｆδ）を実行する。
【０２２８】
図４４は、ｘ方向のサイズ変動ｆｓｘ及びｙ方向のサイズ変動ｆｓｙを固定し、枠の大きさを固定した場合について、「３」の学習文字に対して生成した各種枠接触文字の例を示す図である。
【０２２９】
図４４（ａ）は、変動の種類が“位置ずれ”の場合の例であり、変動量がｄｘ＝０、ｄｙ＞０の場合である。この場合、「３」の文字が枠の下にはみ出すことになる（下位置変動）。
【０２３０】
図４４（ｂ）は、変動の種類が“サイズ変動”の場合の例であり、変動量がｄｓｘ＝ｆｓｘ，ｄｓｙ＝ｆｓｙの場合である。この場合、「３」の文字が枠の上下、左右に接触することになり、「３」の外接矩形が枠に等しくなる。
【０２３１】
図４４（ｃ）は、変動の種類が“文字の傾き変動”の例であり、変動量がｄα＝１０度の場合である。
図４４（ｄ）は、変動の種類が“文字枠の傾き変動”の例であり、変動量がｆα＝−１０度の場合である。
【０２３２】
図４４（ｅ）は、変動の種類が“枠幅変動”の例であり、変動量がｗ＝５の場合である。
図４４（ｆ）は、変動の種類が、“枠の凹凸”の例であり、変動量ｆδ〔Ｌ］の各要素ｆδ〔ｉ］を制御した場合である。
【０２３３】
次に、図４２の枠除去部１６２は、枠接触文字の自動生成部１６１により生成された枠接触文字から枠のみを抽出し、この枠を除去して得られたかすれ文字についての画像データを、文字補完部１６３に出力する。
【０２３４】
文字補完部１６３は、枠除去部１６２によって枠が除去された文字の画像データを、ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して補完する。図４２は、枠接触文字の自動生成部１６１により生成された枠接触文字１６９から枠を除去した後、文字補完部１６３により補完を行って文字補完パターン１７０を生成した例を示している。
【０２３５】
再補完部１６４は、文字補完部１６３によって補完しきれなかった領域について、予め、枠接触文字をラベリングによる連結性を用いて抽出しておき、文字補完部１６３により補完されたパターンと枠接触文字の連結性が一致することを検出することにより、枠に平行な文字線分を補完する。
【０２３６】
文字補完部１６３によって補完された文字補完パターンと再補完部１６４によって補完された再補完パターンとは、基本文字認識部１６５に入力される。
基本文字認識部１６５は、文字補完部１６３によって補完された文字補完パターンと再補完部１６４によって補完された再補完パターンについて、文字認識を実行する。そして、各学習文字についての認識結果を枠接触状態と認識の知識獲得部１６６に出力する。
【０２３７】
枠接触状態と認識の知識獲得部１６６は、基本文字認識部１６５から出力される認識結果を予め与えられている正解データと比較して、全サンプルデータに対する認識率を得る。そして、この認識率を信頼度として、また、誤読文字（誤って認識した文字）と正解の文字との組み合わせを誤読文字対として、知識テーブル１６７に登録する。なお、上記誤読文字対は、例えば、文字コードにより登録される。また、枠接触状態と認識の知識獲得部１６６は、枠と文字の接触状態の特徴を示すパラメータを抽出して、これも知識テーブル１６７に登録する。
【０２３８】
このようにして、知識テーブル１６７には、各文字カテゴリについて、枠と文字の様々な接触状態におけるその文字に対する認識率が、その誤読文字対とともに登録される。
図４５は、学習により生成された知識テーブル１６７の一例を示す図である。
【０２３９】
図４５において、知識テーブル１６７には、例えば、誤読文字対（２、７）及び信頼度７７％が、“下位置ずれ変動”の変動量ｄｙ＝５、Ｗ＝５等と共に登録され、変動量が、ｄｙ＝５、Ｗ＝５の“下位置ずれ”の「２」の枠接触文字の場合、基本文字認識部１６５は、２３％の確率で、「２」を誤って「７」と認識してしまうことが示される。すなわち、この場合、基本文字認識部１６５が「７」と認識したとしても、その信頼度は７７％であり、実際の文字が「２」である可能性が２２％ある旨が知識テーブル１６７を参照することにより判断できる。
【０２４０】
同様にして、他の誤読され易い文字対についても、“変動量”、“枠の線幅”、“誤読文字対”及び信頼度が、枠接触状態と認識の知識獲得部１６６によって知識テーブル１６７に登録される。
【０２４１】
なお、誤読文字対（Ｌ１、Ｌ２）は、実際は、文字「Ｌ１」が文字「Ｌ２」に誤って認識されてしまう場合を示すものである。また、上記文字「Ｌ１」、「Ｌ２」には、例えば、該当する文字「Ｌ１」、「Ｌ２」の文字コードが登録される。
【０２４２】
知識テーブル１６７には、図４５に示す変動量ｄｙ＝５，Ｗ＝５の“下位置ずれ変動”以外にも、図４６に示すように“文字枠に対する文字の傾き変動”（この場合、左枠接触）などの図４３に示す各種変動について、各文字カテゴリ毎に登録される。
【０２４３】
すなわち、例えば、図４６に示すように、“下位置ずれ”変動については、例えば、ｄｘ＝「−３」〜「＋３」、ｄｙ＝５、ｗ＝５、ｄｓｙ＝１、ｄα＝「−１０」〜「＋１０」、ｆα＝「−１０」〜「＋１０」が登録される。このように、同じ”下位置ずれ”変動であっても、知識テーブル１６７に登録される変動量は、ｘ方向の位置ずれｄｘ、ｙ方向の位置ずれｄｙのみでなく、その他の変動量が登録される場合がある。また、“左枠接触の文字枠に対する文字の傾き変動”については、例えば、ｄｘ＝「−３」〜「＋３」、ｄｙ＝「−３」〜「＋３」、ｗ＝５，ｄｓｙ＝１，ｄα＝「−２０」〜「＋２０」、ｆα＝「−１０」〜「＋１０」が登録される。
【０２４４】
また、信頼度が予め定められた所定のしきい値（例えば、９０％）以下の誤読文字対（Ｌ１，Ｌ２）について、信頼度がその所定のしきい値以上となるような文字認識方法を学習し、学習した文字認識方法を知識テーブル１６７に登録する。
【０２４５】
例えば、図４５に示すように、ｄｙ＝５，ｗ＝５の”下位置ずれ”の状態の「２」の枠接触文字の文字認識の信頼度は７７％であり、「７」と誤って認識される確率が高いので、文字補完部１６３により補完された文字補完パターンまたは再補完部１６４により補完された再補完パターンを、例えば、領域強調の手法により再認識すれば認識率が向上することを学習して知識テーブル１６７に登録しておく。
【０２４６】
この（２、７）の誤読文字対の場合における領域強調の手法を図４７を参照しながら説明する。
まず、図４７（ａ）に示すように、文字補完部１６３により補完された文字補完パターンまたは再補完部１６４により補完された再補完パターンの外接矩形１８０を、縦の行がｍ個、横の列がｎ個のｍ×ｎ個の分割領域に分割する。そして、図４７（ｂ）にハッチングで示すように、外接矩形１８０の上半分のｍ／２×ｎ個の領域を特に強調して、文字認識を再度行う。
【０２４７】
すなわち、このｍ／２×ｎ個の領域の特徴パラメータを抽出して、文字補完部１６３により補完された文字補完パターンまたは再補完部１６４により補完された再補完パターンが「２」または「７」のいずれであるかを調べる。この領域強調の手法により、認識度が９５％まで向上する。図４５の知識テーブル１６７には、誤読文字対が（２、７）の行に、再認識方法として「領域強調」を、再認識領域として「ｍ／２×ｎ」を、さらに再認識信頼度として「９５％」を登録する。
【０２４８】
この領域強調の手法は、図４８（ａ）に示すような枠接触文字の場合にも有効である。図４８（ａ）は、「２」を表している文字パターンの下部が文字枠１８２に接触している例である。
【０２４９】
この場合、文字補完部１６３により、図４８（ｂ）に示すような「７」に類似する文字補完パターン１８３が得られる。この文字補完パターン１８３に対して図４８（ｃ）に示す外接矩形１８４を算出する。そして、この外接矩形１８４を、図４７に示すように、ｍ×ｎ個の領域に分割した後、上半分のｍ／２×ｎ個の部分領域１８５を特に強調して文字認識すれば、文字補完パターン１８３が「２」と認識される確率が高い、すなわち、正解率（信頼度）が高くなることを学習し、枠接触による誤読文字対（２、７）に対する再認識方法として、上記領域強調の手法を知識テーブル１６７に登録する。
【０２５０】
図４９は、領域強調による文字パターンの再認識方法を示すフローチャートである。
図４９において、まず、ステップＳ６０１に示すように、知識テーブル１６７から信頼度の低い誤読文字対のデータを取り出す。そして、この誤読文字対の左側に登録されている文字について、２値の学習データとしての文字パターンと、文字補完部１６３により補完された文字補完パターンまたは再補完部１６４により補完された再補完パターンとを入力する。
【０２５１】
この文字補完パターンまたは再補完パターンは、知識テーブル１６７に登録されている変動量パラメータによって規定されるパターンであり、同一カテゴリであっても複数の形状のパターンを取りうる。
【０２５２】
次に、ステップＳ６０２に示すように、ステップＳ６０１で入力された学習データとしての文字パターンと、文字補完部１６３により補完された文字補完パターンまたは再補完部１６４により補完された再補完パターンとを、ｍ×ｎの領域に分割する。
【０２５３】
そして、ステップＳ６０３に示すように、このｍ×ｎの領域内のＸ×Ｙの部分パターンについて文字認識を実行する。そして、この場合の認識率ｚを求める。
上記Ｘ×Ｙの部分パターンは、再認識領域である。このとき、Ｘ，Ｙは、それぞれ、ｍ×ｎの領域のＸ方向、Ｙ方向の長さを表す変数であり、Ｘ≦ｍ，Ｙ≦ｎである。また、上記認識率ｚは、上記Ｘ×Ｙの部分パターンを用いて文字認識を行った際の、正解となる確率である。
【０２５４】
すなわち、学習データとしての文字パターンの部分パターンの文字認識結果を正解とみなす。そして、文字補完部１６３により補完された文字補完パターンまたは再補完部１６４により補完された再補完パターンについての複数の部分パターンに対する文字認識結果を、学習データとしての文字パターンの部分パターンの文字認識結果と比較していくことにより、文字補完部１６３により補完された文字補完パターンまたは再補完部１６４により補完された再補完パターンについての部分パターンの認識率ｚを求める。
【０２５５】
続いて、ステップＳ６０４に示すように、認識率ｚが最大認識率ｍａｘよりも大きいか否かを判別する。この最大認識率ｍａｘは、Ｘ×Ｙの部分パターンを変化させていった場合における認識率ｚの最大値を記憶する変数であり、最初はある初期値（例えば、「０」）が設定される。
【０２５６】
そして、認識率ｚが最大認識率ｍａｘよりも大きければ、ステップＳ６０５に進んで、この認識率ｚを最大認識率ｍａｘに代入し、続いて、ステップＳ６０６に進んで、長さＸ，Ｙを変更可能か否か調べる。一方、ステップＳ６０４で、認識率ｚが最大認識率ｍａｘ以下であれば、直ちに、このステップＳ６０６に移行する。
【０２５７】
この長さＸ，Ｙの変更操作は、例えば、長さＸ，Ｙの大きさの変更である。また、Ｘ×Ｙの部分パターンのｍ×ｎの領域内での位置変更操作を含んでいてもよい。
ステップＳ６０６で、長さＸ，Ｙを変更可能であると判別すると、ステップＳ６０３に戻り、長さＸ，Ｙの変更操作を行い、新たなＸ×Ｙの部分パターンを決定し、この部分パターンに対して文字認識を行う。
【０２５８】
以上述べたステップＳ６０３〜Ｓ６０６の処理を、上記ステップＳ５０６で長さＸ，Ｙを変更できないと判別するまで繰り返す。そして、ステップＳ６０６で長さＸ，Ｙを変更できないと判別すると、最大識別率ｍａｘとその最大識別率ｍａｘが得られたＸ×Ｙの部分パターンを、それぞれ、再認識信頼度、再認識領域として知識テーブル１６７に登録する。また、再認識方法として「領域強調」を知識テーブル１６７に登録する。
【０２５９】
なお、図４９のフローチャートは、「領域強調」の手法を用いて再文字認識の方法を学習する例であるが、「領域強調」の手法以外についても、再文字認識の方法を学習するようにしてもよい。
【０２６０】
図５０は、学習により得られた知識テーブル１６７を用いて枠接触文字の文字認識を行う構成を示すブロック図である。
図５０において、枠接触状態の検出部１９１は、入力された未知の枠接触文字について、枠と文字との接触状態を検出する。ここでは、図５０（ａ）の下枠が「２」の下辺と部分的に重なっている枠接触文字パターン２０１と、図５０（ｂ）の下枠が「２」の下辺と完全に重なっている枠接触文字パターン２０３とが入力された例について示している。そして、枠接触状態の検出部１９１は、枠接触文字パターン２０１及び枠接触文字パターン２０３を検出する。
【０２６１】
枠除去部１９２は、枠接触状態の検出部１９１により検出された枠接触文字パターンから枠を除去する。
文字補完部１９３は、枠除去部１９２により枠が除去された文字パターンについて、ラベルが付与された文字線分間の距離や方向性等の幾何学的構造を評価して補完する。
【０２６２】
再補完部１９４は、文字補完部１９３によって補完しきれなかった領域について、予め、枠接触文字をラベリングによる連結性を用いて抽出しておき、文字補完部１６３により補完されたパターンと枠接触文字の連結性が一致することを検出することにより、枠に平行な文字線分を補完する。ここで、再補完パターン２０２は、図５０（ａ）の枠接触文字パターン２０１に対し、再補完部１９４の再補完処理により補完されたパターンを示し、再補完パターン２０４は、図５０（ｂ）の枠接触文字パターン２０３に対し、再補完部１９４の再補完処理により補完することができなかったパターンを示している。
【０２６３】
基本文字認識部１９５は、文字補完部１９３によって補完された文字補完パターンと再補完部１９４によって補完された再補完パターンとのそれぞれに対し、文字認識を実行する。この結果、例えば、図５０（ａ）の再補完パターン２０２に対しては、「２」の文字コードが出力され、図５０（ｂ）の再補完パターン２０４に対しては、「７」の文字コードが出力される。そして、その認識結果により得られた文字コードを、枠接触状態と認識の知識参照部１９６に出力する。
【０２６４】
枠接触状態と認識の知識参照部１９６は、文字補完部１９３によって補完された文字補完パターン又は再補完部１９４によって補完された再補完パターンの外接矩形の位置情報及び図５０（ａ）の枠接触文字パターン２０１又は図５０（ｂ）の枠接触文字パターン２０３から抽出された文字枠の位置情報や幅情報などを基に、変動の種類を求める。
【０２６５】
すなわち、図４３に示されているような”位置ずれ”、”サイズ変動”、”傾き変動”などの文字枠に対する文字の変動、または、”傾き変動”、枠幅変化”、”枠の凹凸”などの文字枠の変動を求める。さらに、求めた各変動の種類について、変動量ｄｘ，ｄｙ，ｄｓｘ，ｄｓｙ，ｄα、ｗ，ｆｓｘ，ｆｓｙ，ｆα、ｆδを算出する。
【０２６６】
次に、算出した変動種類情報及び変動量情報と、基本文字認識部１９５から入力される文字コードとをキー項目として、知識テーブル１６７を検索し、このキー項目に一致する変動種類情報、変動量情報及び誤読文字対を有する行が知識テーブル１６７に登録されているか否か調べる。
【０２６７】
そして、キー項目に一致する行が存在した場合には、この行に登録されている信頼度が所定のしきい値以上であるか否かを判別し、そのしきい値未満であれば、文字補完部１９３によって補完された文字補完パターン又は再補完部１９４によって補完された再補完パターンを再文字認識部１９７に出力し、その行に登録されている再認識方法に従って、文字認識を再度行う。
【０２６８】
すなわち、文字補完部１９３によって補完された文字補完パターン又は再補完部１９４によって補完された再補完パターン、あるいは未知文字の２値画像データを用いて、基本文字認識部１９５による手法とは別の手法で未知画像データに含まれる枠接触文字の再認識を実行する。そして、再認識により得られた文字コードを出力する。
【０２６９】
例えば、基本文字認識部１９５が、再補完部１９４によって補完された再補完パターン２０４の認識結果として、「７」の文字コードを出力した場合、枠接触状態と認識の知識参照部１９６は、再補完パターン２０４の外接矩形の位置情報と枠接触文字パターン２０３から抽出した文字枠の位置情報及び幅情報とを基に、変動の種類及び変動量を求める。この結果、変動の種類として“下位置ずれ”が算出され、この“下位置ずれ”の変動量として「ｄｙ＝５」が算出され、文字枠の幅として「ｗ＝５」が算出される。
【０２７０】
そして、枠接触状態と認識の知識参照部１９６は、変動の種類として“下位置ずれ”、“下位置ずれ”の変動量として「ｄｙ＝５」、文字枠の幅として「ｗ＝５」、及び基本文字認識部１９５から入力された文字コード「７」をキー項目として、図４５の知識テーブル１６７を検索する。この検索の結果、これらのキー項目に対応する行には誤読文字対（２、７）が登録され、基本文字認識部１９５で認識された文字コード「７」の信頼度は７７％であり、２３％の確率で「２」を「７」と読み間違えていることを知る。
【０２７１】
この場合、これらのキー項目に対応する行に登録されている信頼度は所定のしきい値よりも低いので、再文字認識部１９７は、基本文字認識部１９５による手法とは別の手法で未知画像データに含まれる枠接触文字パターン２０３の再認識を実行する。この際、再文字認識部１９７は、知識テーブル１６７のキー項目に対応する行を参照し、再認識方法を特定する。
【０２７２】
すなわち、再文字認識部１９７は、再認識方法として、「領域強調」を行うことを教えられるとともに、「領域強調」を行う場合の再認識領域として、再補完パターン２０４の上半分のｍ／２×ｎの部分領域２０５だけを強調して再認識することを教えられる。また、この場合の再認識信頼度が９５％であることも教えられる。
【０２７３】
再文字認識部１９７は、知識テーブル１６７に登録されている再認識方法に従って、再補完パターン２０４の上半分の部分領域２０５のみについての再認識を行う。そして、再補完パターン２０４の部分領域２０５は、文字コード「２」に対応する文字パターン２０６の部分領域２０７に９５％の確率で一致し、文字コード「７」に対応する文字パターン２０８の部分領域２０９に５％の確率で一致することを知り、未知の枠接触文字パターン２０３の枠に接触した文字の認識結果として、文字コード「２」を出力する。
【０２７４】
図５１は、枠接触状態と認識の知識参照部１９６の動作を示すフローチャートである。
図５１において、まず、ステップＳ１７１に示すように、未知の枠接触文字パターンから抽出した枠と、枠接触文字パターンから分離した文字パターンとに基づいて、文字の枠に対する変動量を算出し、この変動量をキー項目として知識テーブル１６７を探索する。そして、この算出された変動量に一致する変動量を登録している行が知識テーブル１６７に存在するか否かを調べる。
【０２７５】
これにより、例えば、下位置ずれ変動となっている「２」の文字について、その変動量としてｄｘ＝５，ｗ＝５が算出されると、図４５に示す知識テーブル１６７の最上位の行が検出される。
【０２７６】
そして、変動量が一致する行が存在する場合、ステップＳ１７２に進み、基本文字認識部１９５から入力される文字コード（文字認識コード）を誤読文字対に含んでいる行が、変動量が一致する行の中に存在するか否かを調べる。
【０２７７】
これにより、例えば、下位置ずれ変動となっている「２」の文字の場合、図４５に示す知識テーブル１６７の最上位の行が検出される。
そして、ステップＳ１７３に示すように、基本文字認識部１９５から入力される文字コードを誤読文字対に含んでいる行が、変動量が一致する行の中に存在する場合、知識テーブル１６７の該当する行に登録されている再認識信頼度と基本文字認識部１９５により算出された信頼度とを比較し、知識テーブル１６７の該当する行に登録されている再認識信頼度が基本文字認識部１９５により算出された信頼度よりも大きいか否か判別する。
【０２７８】
これにより、例えば、下位置ずれ変動となっている「２」の文字の場合、図４５に示す知識テーブル１６７の最上位の行に登録されている再認識信頼度及び基本文字認識部１９５により算出された信頼度が、それぞれ、「９５％」及び「７７％」であり、知識テーブル１６７の該当する行に登録されている再認識信頼度が基本文字認識部１９５により算出された信頼度よりも大きいと判別される。
【０２７９】
知識テーブル１６７の該当する行に登録されている再認識信頼度が基本文字認識部１９５により算出された信頼度よりも大きい場合、ステップＳ１７４に進み、知識テーブル１６７の該当する行に登録されている再認識信頼度が予め定められたしきい値ｔｈ１よりも大きいか否かを判別し、しきい値ｔｈ１よりも大きけば、ステップＳ１７５に進み、知識テーブル１６７のステップＳ１７２で検出した行に登録されている「再認識方法」及び「再認識領域」を参照する。
【０２８０】
次に、ステップＳ１７６に示すように、文字補完部１９３によって補完された文字補完パターン又は再補完部１９４によって補完された再補完パターンから、知識テーブル１６７で示される「再認識領域」を切り出し、この切り出した領域について、知識テーブル１６７で示される「再認識方法」により文字認識を実行する。そして、その文字認識により得られた文字コードを出力する。
【０２８１】
これにより、例えば、しきい値ｔｈ１が「９５％」よりも小さい場合、基本文字認識部１９５により入力される下位置ずれ変動となっている「２」の文字の補完パターンについて、上半分の「ｍ／２×ｎ」の領域を用いた「領域強調」手法により、文字認識が再度実行され、最終的に「２」の文字コードが出力される。
【０２８２】
なお、枠接触文字の認識方法については、例えば、特願平７−２０５５６４号の明細書及び図面に記載されている。
次に、図３の文字列認識部１５の一実施例について説明する。
【０２８３】
この文字列認識部１５は、図４のステップＳ２のレイアウト解析により抽出された文字列に対し、この文字列から文字を一文字ずつ切り出す際に用いる特性値としてのパラメータについて、文字の統合判定を行うの際の閾値をヒューリスティクに決定するのではなく、統計的に妥当な値を設定するようにしたものである。
【０２８４】
具体的には、各パラメータ毎に、パラメータ値とそのパラメータ値に対する文字の統合の成功又は失敗に関する統計データをとる。そして、各パラメータを個別に評価するのではなく、全てのパラメータを多次元空間上の１点として捉え、多変量解析の手法を用いて、統合が成功した場合と統合が失敗した場合との２群を分離する判別面を上記多次元空間内で求めるようにする。
【０２８５】
すなわち、パターンの特徴を示すＰ個の特性値からなるサンプルデータを、切り出し成功を示す第１の群と切り出し失敗を示す第２の群とに分類し、第１の群と第２の群との判別面をＰ次元空間において生成するものである。
【０２８６】
この判別面は、例えば、判別分析法により求めることができる。すなわち、判別面を線形な判別関数により構成する場合、その判別関数の係数ベクトルは、
Σ-1（μ1 −μ2 ）                                             ・・・（３）
で与えられる。
【０２８７】
ここで、
Σ ：第１の群及び第２の群の母分散共分散行列、
μ1 ：第１の群の母平均ベクトル、
μ2 ：第２の群の母平均ベクトル、
である。
【０２８８】
（３）式の係数ベクトルを有する判別関数は、前記第１の群と前記第２の群の各重心から等距離となるように構成される。
なお、この判別関数の係数ベクトルは、第１の群と第２の群との間の群間変動の群内変動に対する比を最大にするという基準に基づいて、算出することもできる。
【０２８９】
また、文字列から文字を切り出す処理は、パターンの外接矩形の位置、サイズ、並びなどからパターン同士を統合していく統計的処理と、文字列中の濁点、分離文字などを処理するためにパターン形状に着目する非統計的処理に分けて実行する。
【０２９０】
統計的処理では、パターンの外接矩形の位置、縦横比、平均文字サイズに対するサイズ比、隣接するパターン同士の距離、統合したときのサイズ、パターン同士の重なり幅、文字列の粗密度などを切り出しパラメータとして用いる。
【０２９１】
例えば、図５２に示すように、
１）外接矩形２１１の右枠と外接矩形２１２の左枠との距離ａ、
２）外接矩形２１１の左枠と外接矩形２１２の右枠との距離ｂ、
３）外接矩形２１１の右枠と外接矩形２１２の左枠との距離ａと外接矩形２１１の左枠と外接矩形２１２の右枠との距離ｂとの比ｃ、
４）外接矩形２１１の左枠と外接矩形２１２の右枠との距離ｂと外接矩形平均幅ＭＸとの比ｄ、
５）外接矩形２１３の下枠と外接矩形２１３の下枠の中点から外接矩形２１４の下枠の中点とを結ぶ直線とのなす角度ｅ、
６）外接矩形２１３の下枠と外接矩形２１３の右下の頂点から外接矩形２１４の左下の頂点とを結ぶ直線とのなす角度ｆ、
７）外接矩形２１５と外接矩形２１６とが重なっている場合、外接矩形２１５の右枠と外接矩形２１６の左枠との距離ｐと外接矩形２１５の左枠と外接矩形２１６の右枠との距離ｑとの比ｇ、
を切り出しパラメータとして用いる。
【０２９２】
すなわち、 
ｃ＝ａ／ｂ                                                   ・・・（４）
ｄ＝ｂ／ＭＸ                                                 ・・・（５）
ｇ＝ｐ／ｑ                                                   ・・・（６）
である。
【０２９３】
次に、統計的処理を図５３のフローチャートを参照しながら説明する。
まず、ステップＳ１８１に示すように、連結パターンの外接矩形を取り出す。
次に、ステップＳ１８２に示すように、ステップＳ１８１で取り出した外接矩形の右隣に他の外接矩形があるかどうか調べる。そして、ステップＳ１８１で取り出した外接矩形の右隣に他の外接矩形がない場合、ステップＳ１８１で取り出した外接矩形を統計的処理の対象から除外する。
【０２９４】
一方、ステップＳ１８２において、ステップＳ１８１で取り出した外接矩形の右隣に他の外接矩形があると判断された場合、ステップＳ１８４に進む。
また、ステップＳ１８３に示すように、文字列の外接矩形の平均文字サイズを算出する。ここで、文字列の外接矩形の平均文字サイズを算出する場合、１文字ごとの切り出しがまだ行われていないので、厳密には、正確な平均文字サイズを算出することができない。
【０２９５】
そこで、例えば、連結パターンの外接矩形を仮統合することにより、暫定的に平均文字サイズを算出する。仮統合の方法として、近接する連結パターンを統合した際の縦横比Ｐが、例えば、
Ｎ（＝０．８）＜Ｐ＜Ｍ（＝１．２）
を満たす場合、仮統合を行う。そして、仮統合を行った後の平均文字サイズを算出する。なお、文字列の外接矩形の平均文字サイズは、外接矩形のサイズ別の頻度ヒストグラムを生成して求めるようにしてもよい。
【０２９６】
次に、ステップＳ１８４に示すように、図５２のパラメータａ〜ｇを算出する。
非統計的処理では、文字列中の濁点や分離文字などを対象にしており、分離文字処理と濁点処理とに分ける。
【０２９７】
分離文字に対する処理では、パターンの傾き、線密度、隣接するパターン同士を統合したときのサイズ、パターン同士の距離を切り出しパラメータとして用いる。
例えば、図５４に示すように、
８）外接矩形２２１の右枠と外接矩形２２２の左枠との距離ａと外接矩形２２１の左枠と外接矩形２２２の右枠との距離ｂとの比ｐ、
９）外接矩形２２１の左枠と外接矩形２２２の右枠との距離ｂと外接矩形平均幅ＭＸとの比ｑ、
１０）外接矩形２１の面積ｃと外接矩形２２の面積ｄとの積と外接矩形平均幅ＭＸと外接矩形平均高さＭＹとの積の平方との比ｒ、
を切り出しパラメータとして用いる。
【０２９８】
すなわち、
ｐ＝ａ／ｂ                                                     ・・・（７）
ｑ＝ｂ／ＭＸ                                                   ・・・（８）
ｒ＝（ｃ×ｄ）／（ＭＸ×ＭＹ）2                                               ・・・（９）
である。
【０２９９】
次に、分離文字処理を図５５のフローチャートを参照しながら説明する。この分離文字処理は、例えば、“ハ”又は“ル”などのように２つ以上の連結パターンから構成される分離文字を検出するものである。
【０３００】
まず、ステップＳ１９１に示すように、連結パターンのうち、右上がりとなっているパターンがあるかどうか判断する。そして、右上がりとなっているパターンがない場合、分離文字処理の対象から除外する。
【０３０１】
一方、ステップＳ１９１において、右上がりとなっているパターンであると判断された場合、ステップＳ１９２に進み、右上がりとなっているパターンの右隣に隣接し、且つ右下がりとなっているパターン、すなわち、例えば、“ハ”に対応するパターン、又は、右上がりとなっているパターンの右隣に隣接し、且つ直角方向に探索した場合のパターンと交差する回数（直角線密度）が２となるパターン、すなわち、例えば、“ル”に対応するパターンがあるかどうか判断する。そして、これらの“ハ”又は“ル”などのような形状のパターンでなければ、分離文字処理の対象から除外する。
【０３０２】
一方、ステップＳ１９２において、“ハ”又は“ル”などのような形状のパターンであると判断した場合、ステップＳ１９４に進む。
また、上記ステップＳ１９１、Ｓ１９２とは別に、ステップＳ１９３で、文字列の外接矩形の平均文字サイズを算出する。
【０３０３】
上記ステップＳ１９２とＳ１９３が終了した後、ステップＳ１９４で、図５４に示されたパラメータｐ〜ｒの値を算出する。
また、濁点処理では、濁点候補パターンに着目し、例えば、そのパターンとその隣接パターンを統合したときのサイズ、両パターン間の距離、及びそれらと平均文字サイズとの比を、切り出しパラメータとして用いる。
【０３０４】
すなわち、図５６に示すように、
１１）外接矩形２３１の右枠と外接矩形２３２の左枠との距離ａと外接矩形２３１の左枠と外接矩形２３２の右枠との距離ｂとの比ｐ、
１２）外接矩形２３１の左枠と外接矩形２３２の右枠との距離ｂと外接矩形平均幅ＭＸとの比ｑ、
１３）外接矩形２３１の面積ｃと外接矩形２３２の面積ｄとの積と外接矩形平均幅ＭＸと外接矩形平均高さＭＹとの積の平方との比ｒを、
切り出しパラメータとして用いる。
【０３０５】
すなわち、パラメータｐ〜ｒは、（７）〜（９）式と同様に表すことができる。
次に、濁点処理を図５７のフローチャートを参照しながら、説明する。
まず、ステップＳ２０１で、濁点候補となるパターンを抽出する。すなわち、例えば、連結パターン抽出手段１により抽出された連結パターンが２つ隣接して存在する場合で、且つそれらを統合した時のサイズと文字列の外接矩形の平均文字サイズとの比が所定のしきい値以下、例えば、１／４以下である場合、濁点候補となるパターンとして抽出する。
【０３０６】
次に、ステップＳ２０２に示すように、濁点候補となるパターンの左隣に隣接する外接矩形があるかどうかを調べる。そして、濁点候補となるパターンの左隣に隣接する外接矩形がない場合、濁点候補となるパターンを濁点処理の対象から除外する。
【０３０７】
一方、ステップＳ２０２において、濁点候補となるパターンの左隣に隣接する外接矩形があると判断された場合、ステップＳ２０４に進む。
また、上記ステップＳ２０１、Ｓ２０２とは別に、ステップＳ２０３で、文字列の外接矩形の平均文字サイズを算出する。そして、上記ステップＳ２０２、Ｓ２０３の処理が終了した後、ステップＳ２０４で、図５６に示されたパラメータｐ〜ｒの値を算出する。
【０３０８】
次に、学習データを用いて、未知の手書き文字列に対する文字の切り出しの信頼度を算出するための判別面を設定し、パラメータ数がｎの場合、切り出しが成功した群と切り出しが失敗した群との２群をｎ次元の空間上に生成する。
【０３０９】
図５８は、切り出しの成否データの算出方法を示すフローチャートである。
図５８において、まず、ステップＳ２１１で、事前に集めた学習データに対して、着目する外接矩形とそれに隣接する外接矩形とを統合して１文字になるかどうかを目視により判断する。そして、着目する外接矩形とそれに隣接する外接矩形とを統合して１文字になる場合、ステップＳ２１２に進み、着目する外接矩形とそれに隣接する外接矩形とを統合して１文字にならない場合、ステップＳ２１３に進む。
【０３１０】
ステップＳ２１２では、着目する外接矩形とそれに隣接する外接矩形とを統合して１文字になる統合成功の場合について、その着目する外接矩形とそれに隣接する外接矩形におけるパラメータの値を記録する。ここで、着目する外接矩形とそれに隣接する外接矩形におけるパラメータは、統計的処理の場合、図４８のパラメータａ〜ｇを用いることができ、非統計的処理の場合、図５４、５６のパラメータｐ〜ｒを用いることができる。
【０３１１】
また、ステップＳ２１３では、着目する外接矩形とそれに隣接する外接矩形とを統合して１文字にならない統合失敗の場合について、その着目する外接矩形とそれに隣接する外接矩形におけるパラメータの値を記録する。
【０３１２】
次に、未知の文字列について、統計的処理における切り出しパラメータと非統計的処理における切り出しパラメータの値を算出し、このパラメータの値によって定まる多次元空間上の点に対し、学習データにより得られている判別面からの距離を求め、これを切り出しの信頼度として定量化する。
【０３１３】
例えば、特徴量パラメータ数が３の場合、図５９に示すように、切り出し成功と切り出し失敗との２群を判別する判別面をＨ、判別面Ｈの単位法線ベクトルをｎとし、あるパラメータの値がｐのベクトル値をとるとき、そのパラメータの値に対応する３次元空間内の点ｐの判別面からの距離ｈは、
ｈ＝ＯＰ・ｎ                                               ・・・（１０）
と表される。ここで、ＯＰは、３次元空間内の原点Ｏから３次元空間内の点ｐに向けたベクトルである。
【０３１４】
そして、判別面Ｈからの距離ｈが正をとるか負をとるかで、パラメータの値がどちらの群、すなわち、切り出しが成功した方の群または切り出しが失敗した方の群のいづれの群に属するか、また、パラメータの値が判別面Ｈからどの程度離れているかが分かる。
【０３１５】
次に、図６０に示すように、多次元空間内の学習データの全パラメータに対して、判別面Ｈからの距離ｈに基づいて、切り出し成功のヒストグラム分布２４１と切り出し失敗のヒストグラム分布２４２をとる。一般的に、このヒストグラム分布２４１、２４２は正規分布になるので、ヒストグラム分布２４１、２４２を正規分布で近似する。これらの正規分布は、通常、部分的に重なる領域が生ずる。
【０３１６】
本実施例では、この重なる領域に位置する切り出しパラメータを有する隣接パターンについての切り出しの信頼度に加え、文字認識の信頼度を加味してそれらを統合するか否かを判定する。
【０３１７】
図６１は、切り出し信頼度の算出法の一例を示すフローチャートである。
図６１において、まず、ステップＳ２２１に示すように、複数のパラメータの値によって定まる多次元空間上の点に対する判別面Ｈからの距離ｈを、前記（１０）式により算出する。
【０３１８】
次に、ステップＳ２２２に示すように、学習データにより得られた複数のパラメータの値のヒストグラム分布を正規分布で近似する。すなわち、例えば、図６２に示すように、切り出し成功のヒストグラム分布を正規分布２５１で近似し、切り出し失敗のヒストグラム分布を正規分布２５２で近似する。
【０３１９】
次に、ステップＳ２２３で、２群の重なり領域を算出する。例えば、図６２に示すように、切り出し成功の正規分布２５１と切り出し失敗の正規分布２５２とが重なる領域を２群の重なり領域２５４として算出する。また、このとき、切り出し成功の正規分布２５１の内、上記２群の重なり領域２５４以外の領域２５３を切り出し成功領域と設定する。さらに、切り出し失敗の正規分布２５２の内、上記２群の重なり領域２５４以外の領域２５５を切り出し失敗領域と設定する。
【０３２０】
次に、ステップＳ２２４に示すように、未知文字についての入力パラメータの値のヒストグラム分布上での位置を判定する。
次に、ステップＳ２２５に示すように、未知文字についての入力パラメータの値のヒストグラム分布上での位置を判定した結果、未知文字についての入力パラメータの値が２群の重なり領域２５４に含まれる場合、ステップＳ２２６に進む。そして、２群の重なり領域２５４での未知文字についての入力パラメータの値の位置に基づいて、切り出し信頼度を算出する。
【０３２１】
一方、ステップＳ２２５において、未知文字についての入力パラメータの値が２群の重なり領域２５４に含まれないと判断された場合、ステップＳ２２６に進み、未知文字についての入力パラメータの値が切り出し成功領域２５３に含まれるかどうかを判断する。
【０３２２】
そして、未知文字についての入力パラメータの値が切り出し成功領域２５３に含まれると判断された場合、ステップＳ２２８に進み、切り出し信頼度を“１”とし、未知文字についての入力パラメータの値が切り出し成功領域２５３に含まれないと判断された場合、ステップＳ２２９に進み、切り出し信頼度を“０”とする。
【０３２３】
例えば、図６２において、未知文字についての入力パラメータの値に対する判別面からの距離を算出した結果、未知文字についての入力パラメータの値の判別面からの距離が重なり領域２５４に含まれる場合、未知文字についての入力パラメータの値の判別面からの距離に基づいて、切り出し信頼度を算出する。また、未知文字についての入力パラメータの値の判別面からの距離が切り出し成功領域２５３に含まれる場合、その切り出し信頼度を“１”とする。また、未知文字についての入力パラメータの値の判別面からの距離が切り出し失敗領域２５５に含まれる場合、その切り出し信頼度を“０”に設定する。
【０３２４】
図６３は、２群の重なり領域算出方法の一例を示すフローチャートである。
図６３において、まず、ステップＳ２３１に示すように、学習データから得られた切り出し成功のヒストグラム分布と切り出し失敗のヒストグラム分布のそれぞれについて、ヒストグラム２６１の平均値ｍと分散値ｖとを算出する。
【０３２５】
次に、ステップＳ２３２で、切り出し成功のヒストグラム分布と切り出し失敗のヒストグラム分布について、正規分布曲線２６２とヒストグラム２６１との２乗誤差の総和ｄを算出する。
【０３２６】
次に、ステップＳ２３３で、適合度Ｔを下記の（１１）式により算出する。
Ｔ＝ｄ／Ｓ                                                 ・・・（１１）
ここで、Ｓは正規分布曲線２６２の面積である。
【０３２７】
次に、ステップＳ２３４で、正規分布曲線２６２の中心から端までの距離Ｌを下記の（１２）式により算出する。
Ｌ＝ｋ×（１＋Ｔ）×ｖ1/2                                                   ・・・（１２）
ここで、ｋは比例定数である。また、ｖ1/2 は、標準偏差に等しい。
【０３２８】
次に、ステップＳ２３５で、正規分布曲線２６３の右端２６７から正規分布曲線２６４の左端２６６までの間の領域を、２群の重なり領域２６５として設定する。
次に、切り出し文字の候補に対し、図６１の処理により求めた切り出し信頼度に基づいて認識処理を行うかどうかを決定する。この場合、例えば、切り出し信頼度が高い切り出し文字の候補に対しては認識処理を行わず、切り出し信頼度が低い切り出し文字の候補に対してのみ認識処理を行うようにする。
【０３２９】
ここで、複数の切り出し文字の候補に対して、それらに対する認識の信頼度だけでなく、切り出しの信頼度も考慮して切り出し文字を決定する。このことにより、部分的に見ると文字のように見えるが、文字列全体から見ると間違っているような候補文字を、切り出し文字から除外することができる。例えば、各隣接パターンまたは切り出し確定部の切り出し信頼度をαi 、認識信頼度をβi 、重み係数をｊとすると、全体の信頼度Ｒは、
Ｒ＝Σ（ｊ・αi ＋βi ）                                     ・・・（１３）
と表せる。
【０３３０】
そして、複数の切り出し文字の候補の中から全体の信頼度Ｒが最も大きいものを、最終的な切り出し文字として選択する。
図６４は、“グンマ”という文字列から文字を１文字ずつ切り出す場合を示す図である。ここで、“グンマ”という文字列の切り出しを行うのに先立ち、学習データを用いて、統計的処理と非統計的処理とに対する判別面とヒストグラム値の正規分布曲線を、それぞれ、個別に求める。
【０３３１】
ここで、統計的処理では、文字列の切り出しの成功又は失敗を判定するためのパラメータとして、図５２のパラメータｃ、ｅ、ｆを用い、学習データにより得られた判別面の式は、
０．８４ｘ０＋０．４３ｘ１＋０．３３ｘ２−１４５．２５＝０  ・・・（１４）
であるものとする。
【０３３２】
また、図６３に示す学習データの切り出し成功を示すヒストグラム分布の平均値ｍは１２８．９４２、標準偏差は３４．７７となり、適合度Ｔは（１１）式より０．１２となる。また、比例定数ｋを２とすると、分布中心から端までの距離Ｌは（１２）式より７７．８となる。
【０３３３】
また、図６３に示す学習データの切り出し失敗を示すヒストグラム分布の平均値ｍは７１．１２９、標準偏差は３６．２６となり、適合度Ｔは（１１）式より０．３５となる。また、比例定数ｋを２とすると、分布中心から端までの距離Ｌは（１０）式より９２．２となる。
【０３３４】
図６４において、まず、ステップＳ２４１に示すように、イメージ入力により未知文字についての入力パターンを読み込む。
次に、ステップＳ２４２で、ラベリングにより連結パターンを抽出し、抽出された各連結パターンに対して図６４に示すようにラベル番号（１）〜（６）を付す。
【０３３５】
次に、ステップＳ２４５に示すように、ステップＳ２４３の統計的処理及びステップＳ２４４の非統計的処理に基づいて、切り出し信頼度の定量化を行う。
ステップＳ２４３の統計的処理では、互いに隣接する連結パターンを統合した場合の切り出し信頼度を、パラメータｃ、ｅ、ｆの値を有する３次元空間上の点に対する判別面からの距離ｈに基づいて算出する。この切り出し信頼度αは、例えば、
α＝（ｈ−ｗ1 ）／（ｗ2 −ｗ1 ）×１００                      ・・・（１５）
で表すことができる。
【０３３６】
ここで、
ｗ1 ：２群の重なり領域の左端の位置
ｗ2 ：２群の重なり領域の右端の位置
である。
【０３３７】
例えば、ラベル番号（１）のパターンとラベル番号（２）のパターンとを統合した場合の切り出し信頼度は８０、ラベル番号（２）のパターンとラベル番号（３）のパターンとを統合した場合の切り出し信頼度は１２、ラベル番号（３）のパターンとラベル番号（４）のパターンとを統合した場合の切り出し信頼度は２８、ラベル番号（４）のパターンとラベル番号（５）のパターンとを統合した場合の切り出し信頼度は９２、ラベル番号（５）のパターンとラベル番号（６）のパターンとを統合した場合の切り出し信頼度は５となる。
【０３３８】
また、ステップＳ２４４の非統計的処理では、濁点候補を有するパターン“グ”についての切り出し信頼度を、図５６のパラメータｐ〜ｒの値を有する３次元空間上の点に対する判別面からの距離ｈに基づいて算出する。
【０３３９】
例えば、ラベル番号（１）のパターンと、ラベル番号（２）のパターン及びラベル番号（３）のパターンからなる切り出し確定部２７１の濁点パターンとを統合した場合の切り出し信頼度は８５となる。
【０３４０】
このステップＳ２４４の非統計的処理における切り出し信頼度の算出方法を図６５に示す。
まず、ステップＳ２５１で、濁点候補となるパターン２７２を抽出する。例えば、連結パターンが２つ隣接して存在する場合で、且つ、それらを統合した時のサイズと文字列の外接矩形の平均文字サイズとの比が所定のしきい値以下である場合、濁点候補となるパターンとする。
【０３４１】
次に、ステップＳ２５２で、濁点候補となるパターン２７２の左隣に隣接する外接矩形２８１があるかどうかを調べ、この場合、濁点候補となるパターン２７２の左隣に隣接する外接矩形２８１があると判断された結果、ステップＳ２５３に進み、図５６のパラメータｐ〜ｒの値を算出する。
【０３４２】
図６５の例では、
ｐ＝ａ／ｂ＝０．１                                         ・・・（１６）
ｑ＝ｂ／ＭＸ＝１．３                                       ・・・（１７）
ｒ＝（ｃ×ｄ）／（ＭＸ×ＭＹ）2 ＝０．３                   ・・・（１８）
となる。
【０３４３】
ここで、
ａ：外接矩形２８１の右枠と外接矩形２７２の左枠との距離、
ｂ：外接矩形２８１の左枠と外接矩形２７２の右枠との距離、
ｃ：外接矩形２８１の面積、
ｄ：外接矩形２７２の面積、
ＭＸ：外接矩形平均幅、
ＭＹ：外接矩形平均高さ、
である。
【０３４４】
次に、ステップＳ２５４に示すように、パラメータｐ〜ｒの値を有する３次元空間上の点に対する判別面２９３からの距離を算出する。
このパラメータｐ〜ｒの値を有する３次元空間上の点に対する判別面２９３からの距離を算出するために、学習パターンに基づいて判別面２９３を算出しておく。この判別面２９３は、例えば、学習パターンの文字列の切り出しの成功を示すヒストグラム分布２９２及び失敗を示すヒストグラム分布２９１に基づいて、（３）式により求めることができ、濁点抽出のパラメータｐ〜ｒを用いた場合の判別面２９３の式は、例えば、
０．１７ｘ０＋０．７５ｘ１＋０．６４ｘ２＋３０．４＝０      ・・・（１９）
で表され、３次元空間内の平面の方程式となる。
【０３４５】
従って、判別面２９３からの距離ｈは、（１６）〜（１８）の値を（１９）式に代入して、
ｈ＝０．１７×０．１−０．７５×１．３＋０．６４×０．３＋３０．４
＝２９．６                                                ・・・（２０）
となる。
【０３４６】
また、学習データの切り出し成功を示すヒストグラム分布２９２の平均値ｍは３８、標準偏差は２５となり、適合度Ｔは（１１）式より０．２となり、学習データの切り出し失敗を示すヒストグラム分布２９１の平均値ｍは−３４、標準偏差は２８となり、適合度Ｔは（１１）式より０．３となる。
【０３４７】
また、学習データの切り出し成功を示すヒストグラム分布２９２の左端ｗ1 は、比例定数ｋを２とすると、（１２）式より、
ｗ1 ＝３８−２×（１＋０．２）×２５＝−２２               ・・・（２１）
となる。
【０３４８】
また、学習データの切り出し失敗を示すヒストグラム分布２９１の右端ｗ2 は、比例定数ｋを２とすると、（１２）式より、
ｗ2 ＝−３４＋２×（１＋０．３）×２８＝３８．８           ・・・（２２）
となる。
【０３４９】
従って、２群の重なり領域２９４は、判別面からの距離が−２２〜３８．８の間の領域となる。
次に、ステップＳ２５５で、切り出し信頼度αを求める。この切り出し信頼度αは、（２０）〜（２２）の値を（１５）式に代入して、
α＝（２９．６−（−２２））／（３８．８−（−２２））×１００
＝８５                                                   ・・・（２３）
となる。
【０３５０】
これにより、ラベル番号（２）とラベル番号（３）とが統合されて切り出し確定部２７１となる。
次に、図６４のステップＳ２４６で、統計的処理と非統計的処理の信頼度を合成する。このとき、切り出し確定部があれば、それを優先する。従って、切り出し確定部２７１の信頼度が優先して合成される。
【０３５１】
この結果、ラベル番号（１）のパターンと切り出し確定部２７１のパターンとを統合した場合の切り出し信頼度は８５、切り出し確定部２７１のパターンとラベル番号（４）のパターンとを統合した場合の切り出し信頼度は３０、ラベル番号（４）のパターンとラベル番号（５）のパターンとを統合した場合の切り出し信頼度は９２、ラベル番号（５）のパターンとラベル番号（６）のパターンとを統合した場合の切り出し信頼度は５となる。
【０３５２】
そして、例えば、切り出し信頼度が所定のしきい値（例えば、９０）より大きいか又は、切り出し信頼度が所定のしきい値（例えば、７０）より大きく且つ、その隣の切り出しパターンの切り出し信頼度との比が所定の値（例えば、５）より大きい場合、パターンの統合を行う。
【０３５３】
また、切り出し信頼度が所定のしきい値（例えば、８）より小さい場合、パターンの統合を行わない。
例えば、ラベル番号（１）のパターンと切り出し確定部２７１のパターンとを統合した場合の切り出し信頼度は８５で、その隣のラベル番号（４）のパターンに対する切り出し信頼度の比は、８５／３０＝２．８であるので、ラベル番号（１）のパターンと切り出し確定部２７１のパターンとを統合しない。また、切り出し確定部２７１のパターンとラベル番号（４）のパターンとを統合した場合の切り出し信頼度は３０であり、切り出し確定部２７１のパターンとラベル番号（４）のパターンとを統合しない。
【０３５４】
また、ラベル番号（４）のパターンとラベル番号（５）のパターンとを統合した場合の切り出し信頼度は９２であるので、ラベル番号（４）のパターンとラベル番号（５）のパターンとを統合する。また、ラベル番号（５）のパターンとラベル番号（６）のパターンとを統合した場合の切り出し信頼度は５であり、ラベル番号（５）のパターンとラベル番号（６）のパターンとを統合しない。
【０３５５】
これにより、ラベル番号（４）のパターンとラベル番号（５）のパターンとを統合した切り出し確定部２７３に対応する外接矩形２７５、ラベル番号（６）のパターンに対応する外接矩形２７６が生成される。
【０３５６】
また、新たに生成された切り出し確定部２７３のパターンと切り出し確定部２７１のパターンとを統合した場合の切り出し信頼度を求める。この切り出し信頼度は、図６４の例では、６０となる。
【０３５７】
次に、ステップＳ２４７に示すように、切り出し信頼度によるパターンの統合が終了した時点で、切り出し候補１及び切り出し候補２を抽出する。そして、切り出し候補１及び切り出し候補２のそれぞれの文字に対して認識処理を行い、切り出し候補１及び切り出し候補２における文字内の切り出し信頼度αと認識信頼度βとをそれぞれの文字について求め、切り出し信頼度αと認識信頼度βとの総和をとったものを全体の信頼度Ｒとする。
【０３５８】
例えば、切り出し候補１として、外接矩形２７５、２７６、２７８を切り出した場合、外接矩形２７８内のパターンに対して文字認識を行った場合の認識信頼度βは８０となり、外接矩形２７５内のパターンに対して文字認識を行った場合の認識信頼度βは９０となり、外接矩形２７６内のパターンに対して文字認識を行った場合の認識信頼度βは８５となる。
【０３５９】
また、ラベル番号（１）のパターンと切り出し確定部２７１のパターンとを統合した場合の切り出し信頼度αは８５であるので、全体の信頼度Ｒは、重み係数ｊを１とすると、（１３）式により、３４５となる。
【０３６０】
また、切り出し候補２として、外接矩形２７６、２８１、２８２を切り出した場合、外接矩形２８１内のパターンに対して文字認識を行った場合の認識信頼度βは８３となり、外接矩形２８２内のパターンに対して文字認識を行った場合の認識信頼度βは５５となり、外接矩形２７６内のパターンに対して文字認識を行った場合の認識信頼度βは８５となる。
【０３６１】
また、切り出し確定部２７１のパターンと切り出し確定部２７３のパターンとを統合した場合の切り出し信頼度αは６０であり、全体の信頼度Ｒは２８３となる。
次に、ステップＳ２４８で、切り出し候補１又は切り出し候補２のうち、全体の信頼度Ｒが大きい方の切り出し候補１を切り出し成功の文字候補として選択する。この結果、“グンマ”という文字列から、“グ”、“ン”、“マ”の各文字を１文字ずつ正しく切り出すことができる。
【０３６２】
なお、文字列からの切り出し信頼度を考慮しながら文字の認識処理を行う方法については、例えば、特願平７−２３４９８２号の明細書及び図面に記載されている。
次に、図３のかすれ文字認識部１９の動作について具体的に説明する。
【０３６３】
図６６は、かすれ文字認識部１９の構成の一実施例を示すブロック図である。
図６６において、特徴抽出部３０１は、かすれ文字パターンから文字の特徴を抽出し、この抽出した特徴を特徴ベクトルにより表す。一方、かすれ辞書３０２には、かすれ文字についての各カテゴリの特徴ベクトルが格納されている。そして、照合部３０３は、特徴抽出部３０１により抽出した文字パターンの特徴ベクトルを、かすれ辞書３０２に格納されている各カテゴリの特徴ベクトルと照合し、特徴空間上での特徴ベクトル間の距離Ｄij（ｉは未知文字の特徴ベクトル、ｊはかすれ辞書３０２のカテゴリの特徴ベクトル）を算出する。その結果、特徴ベクトル間の距離Ｄijを最小とするカテゴリｊを未知文字ｉとして認識する。
【０３６４】
ここで、特徴空間上での特徴ベクトル間の距離Ｄijは、例えば、ユークリッド距離Σ（ｉ−ｊ）2 、シティブロック距離Σ｜ｉ−ｊ｜、又は判別関数などの識別関数を用いて算出する。
【０３６５】
なお、第１位のカテゴリとの距離をＤij1 、第２位のカテゴリとの距離をＤij2 とすると、第１位のカテゴリｊ１、第２位のカテゴリｊ２、カテゴリ間の距離（Ｄij2 −Ｄij1 ）及び信頼度に関するテーブル１を予め作成しておく。また、第１位のカテゴリとの距離をＤij1 、第１位のカテゴリｊ１及び信頼度に関するテーブル２も予め作成しておく。そして、テーブル１とテーブル２とからそれぞれ得られる信頼度の小さい方を中間処理結果テーブルに格納する。
【０３６６】
図３のつぶれ文字認識部２１は、かすれ文字認識部１９のかすれ辞書３０２の代わりに、つぶれ文字についての各カテゴリの特徴ベクトルを格納したつぶれ辞書を用いることを除いて、かすれ文字認識部１９と同様の構成とすることができる。
【０３６７】
次に、図３の消し線認識部２６の一実施例について説明する。この消し線認識部２６は、図４のステップＳ４の訂正解析により抽出された訂正文字の候補に対し、例えば、横方向の画素数の和をとったヒストグラムを作成し、このヒストグラム値が所定の値を越えた領域に横消し線が存在するものとして、この領域に存在している横線を除去する。
【０３６８】
次に、この横線を除去することによりかすれた部分を補完し、この補完後のパターンについて辞書照合を行うことにより、文字認識を行う。この結果、文字と認識されたものについては、訂正文字の候補を消し線付き文字とみなし、リジェクトされたものについては、訂正文字の候補を通常文字とみなす。
【０３６９】
例えば、図６７において、訂正文字の候補として、横二重線により訂正された状態の「５」が入力され、この横二重線を除去して補完したパターンが「５」のカテゴリとして認識された結果、入力されたパターンは訂正文字とみなされる。また、訂正文字の候補として、「５」が入力され、この「５」の横線を除去したパターンがリジェクトされた結果、入力されたパターンは訂正文字でないとみなされる。
【０３７０】
次に、図３のくせ字解析部２３の一実施例について説明する。このくせ字解析部２３は、同一のカテゴリに属すると認識された手書き文字を所定のクラスタ数にクラスタリングし、異なるカテゴリに属するクラスタ間の距離の小さいものについては、要素数が少ない方のクラスタの文字カテゴリを要素数が多い方のクラスタの文字カテゴリに修正することにより、別のカテゴリに属するものと誤って認識された手書き文字を正読化する。
【０３７１】
図６８は、「４」の文字カテゴリに属すると判定された手書き文字の特徴ベクトルによるクラスタリング処理を示す図である。
図６８には、認識辞書に格納されている「４」の文字カテゴリの特徴ベクトルとの距離が近いため、「４」の認識結果カテゴリに属すると判定された手書き文字が示されている。ここで、この認識処理では、「２」と手書きされた文字が「４」の認識結果カテゴリに属すると誤って認識されている。
【０３７２】
そして、１回目のクラスタリング処理では、「４」の文字カテゴリに属すると判定された手書き文字をそれぞれ１つのクラスタとみなし、２回目のクラスタリング処理では、クラスタとみなされた手書き文字の間での特徴ベクトルの距離を算出し、特徴ベクトルの距離が最も近いものを１つのクラスタに統合する。この結果、図６８の例では、クラスタ数が１１から１つだけ減少して１０になっている。
【０３７３】
３回目以降のクラスタリング処理においても、クラスタ間での特徴ベクトルの距離を算出し、特徴ベクトルの距離が最も近いものを統合することにより、クラスタ数を減少させ、１１回目のクラスタリング処理でクラスタ数は１となる。
【０３７４】
ここで、クラスタ同士を統合する場合、要素数が１のクラスタ、すなわち、特徴ベクトル同士の距離の比較には、例えば、シティブロック距離を用いる。要素数が複数のクラスタ同士の場合、例えば、重心法を用いる。この重心法は、要素数がＭ個のクラスタのｉ番目（ｉ＝１、２、３、・・・、Ｍ）の要素の特徴ベクトルｘi をｘi ＝（ｘi1、ｘi2、ｘi3、・・・、ｘiN）と表した時、そのクラスタを代表する代表ベクトルｘm を、そのクラスタの要素の特徴ベクトルｘi の平均で表し、
【０３７５】
【数１】
2007058882.tif 000003
【０３７６】
とする。
そして、代表ベクトルｘm 同士についてのシティブロック距離を算出することにより、要素数が複数のクラスタ同士の距離の比較を行うものである。
【０３７７】
なお、クラスタ数が１になるまでクラスタリング処理を続けると、「４」の文字カテゴリに属すると誤って認識された「２」の手書き文字も、「４」の文字カテゴリに属すると正しく認識された「４」の手書き文字と同一のクラスタに属するようになるので、クラスタリング処理を途中で打ち切るクラスタリング打ち切り条件を設定する。
【０３７８】
このクラスタリング打ち切り条件としては、例えば、
（１）最終クラスタ数が所定の数（例えば、３）になった時、
（２）クラスタ統合時のクラスタ間距離が所定のしきい値以上になった時、
（３）クラスタ統合時のクラスタ間距離の増加率が所定のしきい値以上になった時、
のいずれかの条件を用いることができる。
【０３７９】
図６９は、クラスタリング処理を示すフローチャートである。
図６９において、まず、ステップＳ２６１に示すように、ある文字カテゴリに属すると認識された手書き文字の特徴ベクトルだけを抽出し、抽出されたそれぞれの手書き文字の特徴ベクトルを１つのクラスタとみなす。
【０３８０】
次に、ステップＳ２６２に示すように、クラスタリング処理を途中で打ち切るクラスタリング打ち切り条件を設定する。
次に、ステップＳ２６３に示すように、ある文字カテゴリについての全てのクラスタの中で、最も距離の近い２つのクラスタを選択する。
【０３８１】
次に、ステップＳ２６４に示すように、ステップＳ２６２で設定したクラスタリング打ち切り条件を満たしているかどうかを判断し、クラスタリング打ち切り条件を満たしていない場合、ステップ２６５に進んで、ステップＳ２６３で選択した２つのクラスタ同士を統合し、ステップＳ２６３に戻り、クラスタを統合する処理を繰り返す。
【０３８２】
そして、クラスタを統合する処理を繰り返した結果、ステップＳ２６４でクラスタリング打ち切り条件を満たすと判断された場合、ステップ２６６に進んで、全ての文字カテゴリに対してクラスタリング処理を行ったかどうかを判断し、全ての文字カテゴリに対してクラスタリング処理を行っていない場合、ステップ２６１に戻り、クラスタリング処理を行っていない文字カテゴリについてのクラスタリング処理を行う。
【０３８３】
一方、ステップ２６６で全ての文字カテゴリに対してクラスタリング処理を行ったと判断された場合、ステップ２６７に進んで、クラスタリング結果をメモリに格納する。
次に、クラスタリング処理により得られたクラスタリング結果に基づいて、別のカテゴリに属するものと誤って認識された手書き文字を正読化する。
【０３８４】
図７０は、「２」と手書きされた文字が「４」の文字カテゴリに属すると誤って認識された認識結果を、正しい文字カテゴリ「２」に正読化する処理を示す図である。
図７０には、「２」の認識結果カテゴリに属すると判定された手書き文字及び「４」の認識結果カテゴリに属すると判定された手書き文字が示されている。ここで、「３」と手書きされた文字が「２」の認識結果カテゴリに属すると誤って認識され、「２」と手書きされた文字が「４」の認識結果カテゴリに属すると誤って認識され、「４」と手書きされた文字がいずれの認識結果カテゴリにも属さないとしてリジェクトされている。
【０３８５】
次に、クラスタリング打ち切り条件を、同一カテゴリ内における最終クラスタ数が３になった時に設定して、クラスタリング処理を行うことにより、「２」の認識結果カテゴリについてはクラスタａ、ｂ、ｃが生成され、「４」の認識結果カテゴリについてはクラスタｄ、ｅ、ｆが生成され、リジェクトされた３つの「４」の手書き文字についてはそれぞれクラスタｇ、ｈ、ｉが生成されている。
【０３８６】
次に、「２」の認識結果カテゴリに属するクラスタａ、ｂ、ｃと「４」の認識結果カテゴリに属するクラスタｄ、ｅ、ｆとの中から、文字数の少ないクラスタａ、ｄを誤読候補クラスタとして抽出する。
【０３８７】
次に、誤読候補クラスタａとそれ以外のクラスタｂ、ｃ、ｄ、ｅ、ｆのそれぞれとの距離及び誤読候補クラスタｄとそれ以外のクラスタａ、ｂ、ｃ、ｅ、ｆのそれぞれとの距離を算出する。そして、誤読候補クラスタａと最も距離が近いクラスタとしてクラスタｂを抽出し、誤読候補クラスタａとクラスタｂとの間の距離が所定の値以下であるかどうかを判定し、誤読候補クラスタａとクラスタｂとの間の距離は所定の値以下でないので、誤読候補クラスタａはリジェクト化される。
【０３８８】
この結果、「２」の認識結果カテゴリに属すると誤って認識された「３」と手書きされた文字が、「２」の認識結果カテゴリから除外される。
また、誤読候補クラスタｄと最も距離が近いクラスタとしてクラスタｂを抽出し、誤読候補クラスタｄとクラスタｂとの間の距離が所定の値以下であるかどうかを判定し、誤読候補クラスタｄとクラスタｂとの間の距離は所定の値以下なので、誤読候補クラスタｄはクラスタｂと統合されクラスタｊが生成されるとともに、クラスタｊは、要素数が多い方のクラスタｂの属していた「２」の認識結果カテゴリに属すると判定されて、「４」と誤読されたために誤読候補クラスタｄに属するとされた「２」の手書き文字が正読化される。
【０３８９】
さらに、いずれの認識結果カテゴリにも属さないとしてリジェクトされたクラスタｇ、ｈ、ｉとそれ以外のクラスタａ〜ｆとの距離を算出する。そして、クラスタｇと最も距離が近いクラスタとしてクラスタｅを抽出し、クラスタｇとクラスタｅとの間の距離が所定の値以下であるかどうかを判定し、クラスタｇとクラスタｅとの間の距離は所定の値以下なので、クラスタｇはクラスタｅと統合される。
【０３９０】
また、クラスタｈと最も距離が近いクラスタとしてクラスタｅを抽出し、クラスタｈとクラスタｅとの間の距離が所定の値以下であるかどうかを判定し、クラスタｈとクラスタｅとの間の距離は所定の値以下なので、クラスタｈはクラスタｅと統合される。クラスタｇ及びクラスタｈがクラスタｅに統合された結果、クラスタｋが生成されるとともに、クラスタｋは、要素数が多い方のクラスタｅの属していた「４」の認識結果カテゴリに属すると判定されて、認識不能としてリジェクトされた「４」の手書き文字が正読化される。
【０３９１】
また、クラスタｉと最も距離が近いクラスタとしてクラスタｅを抽出し、クラスタｉとクラスタｅとの間の距離が所定の値以下であるかどうかを判定し、クラスタｉとクラスタｅとの間の距離は所定の値以下でないので、クラスタｉはクラスタｅと統合しないようにする。
【０３９２】
図７１は、文字カテゴリ認識結果修正処理を示すフローチャートである。
図７１において、まず、ステップＳ２７１に示すように、図６９のクラスタリング処理により得られたクラスタリング結果についてのデータをメモリから読み出す。
【０３９３】
次に、ステップＳ２７２に示すように、図６９のクラスタリング処理により得られた全てのカテゴリの全てのクラスタについて、各クラスタ間での距離を算出し、各クラスタ間の距離を比較する。
【０３９４】
次に、ステップＳ２７３に示すように、クラスタ間の距離がしきい値以下のクラスタが存在するかどうかを判断し、クラスタ間の距離がしきい値以下のクラスタが存在する場合、ステップＳ２７４に進んで、それらのクラスタ同士を統合し、クラスタ間の距離がしきい値以下のクラスタが存在しない場合、それらのクラスタをリジェクトする。
【０３９５】
ここで、クラスタ統合時のクラスタ間の距離のしきい値として、例えば、２つのクラスタのうち、要素数が多い方のクラスタ内のベクトル間距離の定数倍を用いる。すなわち、要素数がＭ個のクラスタＡと要素数がＮ（Ｍ＞Ｎ）個のクラスタＢとを統合する場合、クラスタＡの代表ベクトルをｘａｍ、クラスタＢの代表ベクトルをｘｂｍ、クラスタＡ内の特徴ベクトルをｘａｉ（ｉ＝１、２、・・・、Ｍ）とすると、クラスタＡ内のベクトル間距離ｄt ｈは、
【０３９６】
【数２】
2007058882.tif 000004
で表される。
【０３９７】
従って、クラスタ同士を統合する条件は、例えば、１．５に定数を設定すると、
｜ｘａｍ−ｘｂｍ｜＜１．５ｄt ｈ
となる。
【０３９８】
次に、ステップＳ２７５に示すように、ステップＳ２７４で統合された全てのクラスタについて、クラスタ内の文字カテゴリの判定を行う。
次に、ステップＳ２７６に示すように、統合されたクラスタ同士の文字カテゴリが異なるかどうかを判断し、クラスタ同士の文字カテゴリが異なる場合、ステップＳ２７７に進み、要素数が少ない方のクラスタの文字カテゴリを要素数が多い方のクラスタの文字カテゴリに修正してから、ステップＳ２７８に進む。一方、クラスタ同士の文字カテゴリが一致する場合、ステップＳ２７７をスキップしてステップＳ２７８に進む。
【０３９９】
次に、ステップＳ２７８に示すように、クラスタ内の文字について、その文字カテゴリを出力する。
次に、本発明の一実施例によるパターン認識装置の動作について、図７２の帳票を処理する場合を例にとって、より具体的に説明する。
【０４００】
図７２は、本発明の一実施例によるパターン認識装置に入力される帳票の例を示す図である。
図７２の帳票には、枠番号１のフリーピッチ枠、枠番号２、３、４の一文字枠、枠番号５のブロック枠、枠番号６の不規則な表が設けられている。また、枠番号１のフリーピッチ枠には、枠に接触した状態で且つ横二重線により訂正されている「５」、枠に接触した状態の「３」、「２」、枠に接触した状態で且つかすれた状態の「７」、くせ字の「４」、「６」、枠からはみ出した状態で且つくせ字の「４」が記入されている。
【０４０１】
枠番号２の一文字枠には「５」が記入され、枠番号３の一文字枠には「３」が記入され、枠番号４の一文字枠には枠からはみ出した状態で且つ横二重線により訂正されている「８」が記入されている。枠番号５のブロック枠のうち、枠番号５−１の枠には横二重線により訂正されているくせ字の「６」が記入され、枠番号５−２の枠には枠に接触した状態で「２」が記入され、枠番号５−３の枠にはくせ字の「４」が記入されている。
【０４０２】
枠番号６の不規則な表のうち、枠番号６−１−１の枠には、枠からはみ出した状態の「３」、「２」、「１」が記入され、枠番号６−１−２の枠には、「６」、「３」、「８」が記入され、枠番号６−１−３の枠、枠番号６−１−４−１の枠、枠番号６−１−４−２の枠、枠番号６−１−４−３の枠、枠番号６−２−１の枠、枠番号６−２−２の枠及び枠番号６−２−３の枠はそれぞれ空欄となっており、枠番号６の不規則な表全体が×印により訂正されている。
【０４０３】
次に、図３の環境認識系１１は、図７２の帳票に対し、図５〜図８の処理を行うことにより、入力画像の状態を図７２の帳票から抽出する。
例えば、図６のレイアウト解析により、図７２の帳票から、枠番号１のフリーピッチ枠、枠番号２、３、４の一文字枠、枠番号５のブロック枠及び枠番号６の不規則な表を抽出するとともに、枠番号１のフリーピッチ枠からは、８つのパターンが文字の候補として抽出され、枠番号２、３、４の一文字枠からは、それぞれ１つのパターンが文字の候補として抽出され、枠番号５のブロック枠からは、３つのパターンが文字の候補として抽出され、枠番号６−１−１の枠からは、３つのパターンが文字の候補として抽出され、枠番号６−１−２の枠からは、３つのパターンが文字の候補として抽出され、枠番号６−１−３の枠、枠番号６−１−４−１の枠、枠番号６−１−４−２の枠、枠番号６−１−４−３の枠、枠番号６−２−１の枠、枠番号６−２−２の枠及び枠番号６−２−３の枠からは、文字の候補は抽出されない。
【０４０４】
ここで、図７２の帳票から文字列を抽出するには、例えば、図１４及び図１５に示したテキスト抽出方法を使用し、図７２の帳票から罫線を抽出するには、例えば、図１６〜図２２に示した罫線抽出方法を使用し、図７２の帳票から枠や表を抽出するには、例えば、図２３及び図２４に示した枠抽出方法を使用する。
【０４０５】
さらに、枠番号１のフリーピッチ枠から抽出された第１番目のパターン、第２番目のパターン、第５番目のパターン、第８番目のパターンは、枠接触文字の候補とされる。また、枠番号４の一文字枠から抽出されたパターン、枠番号５−２の枠から抽出されたパターン、枠番号６−１−１の枠から抽出された第１番目のパターンも、枠接触文字の候補とされる。
【０４０６】
ここで、図７２の帳票から枠接触文字の候補を抽出するには、例えば、図２７及び図２８に示した枠接触文字抽出方法を使用する。
また、図７の品質解析により、図７２の帳票から、かすれ状態やつぶれ状態や高品質文字などを検出する。この例では、画像の品質は正常で、かすれ状態やつぶれ状態や高品質文字などは検出されない。
【０４０７】
また、図８の訂正解析により、図７２の帳票から訂正文字候補を抽出する。この例では、枠番号１のフリーピッチ枠から抽出された第１番目のパターン、枠番号２、４の一文字枠から抽出されたパターン、枠番号５−１の枠から抽出されたパターン及び枠番号６の不規則な表から抽出されたパターンは、訂正文字候補とされる。
【０４０８】
ここで、図７２の帳票から訂正文字の候補を抽出するには、例えば、図３０に示した特徴量抽出方法を使用する。
次に、環境認識系１１は、入力画像から抽出した文字の候補ごとに、図５〜図８の処理により帳票から抽出した状態を記入した中間処理結果テーブルを作成する。
【０４０９】
図７３は、図５〜図８の処理により帳票から抽出した状態を記入した中間処理結果テーブルを示す図である。
図７３において、枠番号１の欄には、「枠種類」として「フリーピッチ」、「文字数」として「８」が記入され、枠番号１の第１番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「有２」、「品質」として「正常」が記入され、枠番号１の第２番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入され、枠番号１の第８番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入されている。
【０４１０】
ここで、「消し線」の欄の「有１」は複数文字に対して消し線候補が存在していることを示し、「消し線」の欄の「有２」は一文字に対して消し線候補が存在していることを示している。
【０４１１】
枠番号２の欄には、「枠種類」として「一文字」、「枠接触有無」として「無」、「消し線」として「有２」、「品質」として「正常」、「文字数」として「１」が記入され、枠番号３の欄には、「枠種類」として「一文字」、「枠接触有無」として「無」、「消し線」として「無」、「品質」として「正常」、「文字数」として「１」が記入され、枠番号４の欄には、「枠種類」として「一文字」、「枠接触有無」として「有」、「消し線」として「有２」、「品質」として「正常」、「文字数」として「１」が記入されている。
【０４１２】
枠番号５の欄には、「枠種類」として「はしご」、「文字数」として「３」が記入され、枠番号５−１の欄には、「枠接触有無」として「無」、「消し線」として「有２」、「品質」として「正常」、「文字数」として「１」が記入され、枠番号５−２の欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」、「文字数」として「１」が記入され、枠番号５−３の欄には、「枠接触有無」として「無」、「消し線」として「無」、「品質」として「正常」、「文字数」として「１」が記入されている。
【０４１３】
枠番号６の欄には、「枠種類」として「表」が記入され、枠番号６−１−１の欄には、「枠種類」として「フリーピッチ」、「枠接触有無」として「有」、「消し線」として「有１」、「品質」として「正常」が記入され、枠番号６−２−２の欄には、「枠種類」として「フリーピッチ」、「枠接触有無」として「無」、「消し線」として「有１」、「品質」として「正常」が記入されている。
【０４１４】
次に、環境認識系１１は、図５〜図８の処理により帳票から抽出した状態に基づいて、図９の処理を行う。
すなわち、図７３の中間処理結果テーブルに記入された入力画像の状態に基づいて、図３の文字認識部１２の基本文字認識部１７、文字列認識部１５、接触文字認識部１３、かすれ文字認識部１９、つぶれ文字認識部２１、又は非文字認識部２５の消し線認識部２６及び雑音認識部２８のいずれの処理を呼び出すかを処理順序制御ルールを参照しながら決定し、決定した処理を図７３の中間処理結果テーブルの「処理呼出し」の欄に記入する。そして、図７３の中間処理結果テーブルの「処理呼出し」の欄に記入された処理をどのような順序で実行するかを、処理順序テーブルを参照しながら決定し、決定した順序を図７３の中間処理結果テーブルの「処理順序」の欄に記入する。
【０４１５】
処理順序制御ルールの例としては、
（Ａ１）もし、ある処理対象に対し、中間処理結果テーブルの状態を示す欄が「有」で、その状態に対応する処理が実行されていないならば、その状態に対応する処理を中間処理結果テーブルの「処理呼出し」の欄に記入する、
（Ａ２）もし、ある処理対象に対し、中間処理結果テーブルの状態を示す全ての欄が「無」、または「正常」で、基本文字認識部１７の処理が実行されていないならば、中間処理結果テーブルの「処理呼出し」の欄に「基本」と記入する、
（Ａ３）もし、ある処理対象に対し、中間処理結果テーブルに記入された状態に対応する処理が複数個存在しているならば、複数個の処理の順序を決定している処理順序テーブルをアクセスして「処理呼出し」の欄の順序を並び替える、
（Ａ４）もし、ある処理対象に対し、中間処理結果テーブルに記入された状態に対応する処理が終了したならば、終了した処理を中間処理結果テーブルの「処理完了」の欄に記入するとともに、次に行うべき指示や処理の中断や終了を示す指示を中間処理結果テーブルの「処理指示」の欄に記入し、それらの情報に基づいて、中間処理結果テーブルの「処理呼出し」の欄の順序を並び替える、
などがある。
【０４１６】
図７４は、処理順序テーブルの一例を示す図である。
図７４において、処理順序テーブルには、例えば、
（Ｂ１）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に１つの処理しか記入されていない場合は、中間処理結果テーブルの「処理順序」の欄にその処理を記入する、
（Ｂ２）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「黒枠／フリーピッチ」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に「黒枠→フリーピッチ」と記入する、
（Ｂ３）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「消し線（有２）／黒枠」と記入された場合は、「黒枠→一文字消し線」と記入する、
（Ｂ４）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「黒枠／フリーピッチ／消し線（有２）」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に「黒枠→一文字消し線→フリーピッチ」と記入する、
（Ｂ５）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「黒枠／フリーピッチ／消し線（有１）」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に複数文字の「消し線→黒枠→フリーピッチ」と記入する、
（Ｂ６）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「フリーピッチ／消し線（有１）」と記入された場合は、中間処理結果テーブルの「処理順序」の欄に「複数文字の消し線→フリーピッチ」と記入する、
（Ｂ７）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理Ａ、Ｂ、Ｃ」と記入され、中間処理結果テーブルの「処理順序」の欄に「処理Ｂ→処理Ａ→処理Ｃ」と記入されている場合で、中間処理結果テーブルの「処理完了」の欄に「処理Ｂ」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「処理Ａ→処理Ｃ」に更新する、
（Ｂ８）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理Ａ、Ｂ、Ｃ」と記入され、中間処理結果テーブルの「処理順序」の欄に「処理Ｂ→処理Ａ→処理Ｃ」と記入されている場合で、中間処理結果テーブルの「処理完了」の欄に「処理Ｂ」と記入され、中間処理結果テーブルの「処理指示」の欄に「処理Ｃにスキップ」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「処理Ｃ」に更新する、
（Ｂ９）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理Ａ、Ｂ、Ｃ」と記入され、中間処理結果テーブルの「処理順序」の欄に「処理Ｂ→処理Ａ→処理Ｃ」と記入されている場合で、中間処理結果テーブルの「処理完了」の欄に「処理Ｂ」と記入され、中間処理結果テーブルの「処理指示」の欄に「処理Ｃと処理Ａとの順序逆転」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「処理Ｃ→処理Ａ」に更新する、
（Ｂ１０）ある処理対象に対し、中間処理結果テーブルの「処理呼出し」の欄に「処理Ｂ、Ａ」と記入され、中間処理結果テーブルの「処理完了」の欄に「処理Ａ」と記入され、中間処理結果テーブルの「処理指示」の欄に「終了」と記入された場合、中間処理結果テーブルの「処理順序」の欄を「終了」とする、
などの手順が格納されている。
【０４１７】
図７５は、図７３の中間処理結果テーブルに記入された入力画像の状態に基づいて呼び出す処理を「処理呼出し」の欄に記入するとともに、「処理呼出し」の欄に記入された処理を実行する順序を「処理順序」の欄に記入した例を示す図である。
【０４１８】
図７５において、枠番号１の欄には、「枠種類」として「フリーピッチ」が記入され、枠番号１の第１番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「有２」が記入されているので、処理順序制御ルールの（Ａ１）に従って「処理呼び出し」の欄に「黒枠／フリーピッチ／消し線（有２）」と記入するとともに、処理順序制御ルールの（Ａ３）に従って処理順序テーブルの（Ｂ４）を参照し、「処理順序」の欄に「黒枠→一文字消し線→フリーピッチ」と記入する。
【０４１９】
枠番号１の第２番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ１）に従って「処理呼び出し」の欄に「黒枠／フリーピッチ」と記入するとともに、処理順序制御ルールの（Ａ３）に従って処理順序テーブルの（Ｂ２）を参照し、「処理順序」の欄に「黒枠→フリーピッチ」と記入する。
【０４２０】
枠番号１の第８番目のパターンの欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ１）に従って「処理呼び出し」の欄に「黒枠／フリーピッチ」と記入するとともに、処理順序制御ルールの（Ａ３）に従って処理順序テーブルの（Ｂ２）を参照し、「処理順序」の欄に「黒枠→フリーピッチ」と記入する。
【０４２１】
枠番号２の欄には、「枠種類」として「一文字」、「枠接触有無」として「無」、「消し線」として「有２」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ１）に従って「処理呼び出し」の欄に「消し線（有２）」と記入するとともに、処理順序制御ルールの（Ａ１）に従って「処理順序」の欄に「一文字消し線」と記入する。
【０４２２】
枠番号３の欄には、「枠種類」として「一文字」、「枠接触有無」として「無」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ２）に従って「処理呼び出し」の欄に「基本」と記入するとともに、処理順序制御ルールの（Ａ１）に従って「処理順序」の欄に「基本」と記入する。
【０４２３】
枠番号４の欄には、「枠種類」として「一文字」、「枠接触有無」として「有」、「消し線」として「有２」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ１）に従って「処理呼び出し」の欄に「黒枠／消し線（有２）」と記入するとともに、処理順序制御ルールの（Ａ３）に従って処理順序テーブルの（Ｂ３）を参照し、「処理順序」の欄に「黒枠→一文字消し線」と記入する。
【０４２４】
枠番号５の欄には、「枠種類」として「はしご」が記入され、枠番号５−１の欄には、「枠接触有無」として「無」、「消し線」として「有２」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ１）に従って「処理呼び出し」の欄に「消し線（有２）」と記入するとともに、処理順序制御ルールの（Ａ１）に従って「処理順序」の欄に「一文字消し線」と記入する。
【０４２５】
枠番号５−２の欄には、「枠接触有無」として「有」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ１）に従って「処理呼び出し」の欄に「黒枠」と記入するとともに、処理順序制御ルールの（Ａ１）に従って「処理順序」の欄に「黒枠」と記入する。
【０４２６】
枠番号５−３の欄には、「枠接触有無」として「無」、「消し線」として「無」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ２）に従って「処理呼び出し」の欄に「基本」と記入するとともに、処理順序制御ルールの（Ａ１）に従って「処理順序」の欄に「基本」と記入する。
【０４２７】
枠番号６の欄には、「枠種類」として「表」が記入され、枠番号６−１−１の欄には、「枠種類」として「フリーピッチ」、「枠接触有無」として「有」、「消し線」として「有１」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ１）に従って「処理呼び出し」の欄に「黒枠／フリーピッチ／消し線（有１）」と記入するとともに、処理順序制御ルールの（Ａ３）に従って処理順序テーブルの（Ｂ５）を参照し、「処理順序」の欄に「複数文字の消し線→黒枠→フリーピッチ」と記入する。
【０４２８】
枠番号６−２−２の欄には、「枠種類」として「フリーピッチ」、「枠接触有無」として「無」、「消し線」として「有１」、「品質」として「正常」が記入されているので、処理順序制御ルールの（Ａ１）に従って「処理呼び出し」の欄に「フリーピッチ／消し線（有１）」と記入するとともに、処理順序制御ルールの（Ａ３）に従って処理順序テーブルの（Ｂ６）を参照し、「処理順序」の欄に複数文字の「複数文字の消し線→フリーピッチ」と記入する。
【０４２９】
次に、「処理呼出し」の欄及び「処理順序」の欄が記入された図７５の中間処理結果テーブルに基づいて、処理実行ルールを参照しながら最初の認識処理を実行する。そして、処理が完了した認識処理を中間処理結果テーブルの「処理完了」の欄に記入するとともに、その時の認識処理で得られた信頼度を中間処理結果テーブルの「信頼度」の欄に記入する。
【０４３０】
また、中間処理結果テーブルの「処理順序」の欄を、図７４の処理順序テーブルの（Ｂ７）〜（Ｂ９）に従って更新するとともに、処理実行ルールによって指示される次の処理がある場合は、中間処理結果テーブルの「処理指示」の欄にその処理を記入する。
【０４３１】
処理実行ルールとしては、例えば、
（Ｃ１）もし、ある処理対象に対し、中間処理結果テーブルの「処理順序」の欄に記入されている処理が存在するならば、優先順位の最も高い処理を実行する。そして、実行した処理が終了したならば、中間処理結果テーブルの「処理完了」の欄に終了した処理を記入し、中間処理結果テーブルの「処理順序」の欄からその処理を削除する。また、次に実行する処理を指示する場合は、中間処理結果テーブルの「処理指示」の欄にその処理を記入する、
（Ｃ２）もし、ある処理を実行した結果、あるパターンが非文字ではなく、文字であると判断され、その文字コードが所定の値以上の信頼度で算出されたならば、「個人筆記特性」による文字認識処理を呼び出すことを中間処理結果テーブルの「処理指示」の欄に記入する、
（Ｃ３）もし、ある処理を実行した結果、あるパターンが消し線であると判断され、その消し線が所定の値以上の信頼度で算出されたならば、中間処理結果テーブルの「処理指示」の欄に「終了」と記入し、中間処理結果テーブルの「処理順序」の欄に記入されているそれ以降の処理を打ち切って、処理を終了させる、
（Ｃ４）もし、中間処理結果テーブルの「処理順序」の欄の最初に「フリーピッチ」と記入され、同じ枠番号の他の処理対象についての「フリーピッチ」より前の処理が未処理であるならば、同じ枠番号の全て処理対象の「処理順序」の欄の最初に「フリーピッチ」と記入された後、同じ枠番号の全て処理対象の「フリーピッチ」の処理を同時に実行する、
（Ｃ５）もし、中間処理結果テーブルの「処理順序」の欄に記入された全ての処理が終了し、全ての処理対象について、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるか、又は「個人筆記特性」と記入されたならば、「処理指示」の欄に「個人筆記特性」と記入されている処理対象に対して、「個人筆記特性」による文字認識処理を呼び出してその処理を実行し、「個人筆記特性」による文字認識処理が終了したならば、中間処理結果テーブルの「処理指示」の欄に「終了」と記入する、
（Ｃ６）もし、全ての処理対象について、中間処理結果テーブルの「処理指示」の欄に終了と記入されたならば、全ての処理を終了して認識結果を出力する、
などがある。
【０４３２】
図７６は、図７５の中間処理結果テーブルに基づいて、処理実行ルールを参照しながら認識処理を実行し、その時の認識処理で得られた信頼度を中間処理結果テーブルの「信頼度」の欄に記入し、処理実行ルールに基づいて中間処理結果テーブルの「処理順序」の欄を更新するとともに、中間処理結果テーブルの「処理指示」の欄に記入を行った例を示す図である。
【０４３３】
まず、図７５の中間処理結果テーブルの枠番号１の第１番目のパターンの「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号１のフリーピッチ枠から抽出された第１番目のパターンに対し、「黒枠」に対応する図３の接触文字認識部１３の処理を実行する。
【０４３４】
この接触文字認識部１３では、例えば、図３９及び図４０に示したように、枠を除去したパターンに対して文字補完や再補完を行うことにより、枠接触文字についての文字認識を行う。また、文字補完や再補完を用いても十分な信頼度が得られないパターンについては、知識テーブル１４を参照し、図４２〜図５１に示した学習文字に対する再文字認識を行うことにより、枠接触文字についての文字認識を行う。
【０４３５】
接触文字認識部１３の文字認識処理により、図７２の枠番号１のフリーピッチ枠から抽出された第１番目のパターンの認識信頼度が２０％と算出された結果、図７２の枠番号１のフリーピッチ枠から抽出された第１番目のパターンは文字でないとみなされ、中間処理結果テーブルの「文字コード」の欄に「リジェクト」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「２０％」と記入される。
【０４３６】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄が「一文字消し線→フリーピッチ」に更新される。
次に、図７５の中間処理結果テーブルの枠番号１の第２番目のパターンの「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号１のフリーピッチ枠から抽出された第２番目のパターンに対し、「黒枠」に対応する図３の接触文字認識部１３の処理を実行し、枠接触文字についての文字認識を行う。
【０４３７】
接触文字認識部１３の文字認識処理により、図７２の枠番号１のフリーピッチ枠から抽出された第２番目のパターンは、認識信頼度が６０％の確率で文字カテゴリ「３」であると認識され、中間処理結果テーブルの「文字コード」の欄に「３」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「６０％」と記入される。
【０４３８】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄が「フリーピッチ」に更新される。
次に、図７５の中間処理結果テーブルの枠番号１の第８番目のパターンの「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号１のフリーピッチ枠から抽出された第８番目のパターンに対し、「黒枠」に対応する図３の接触文字認識部１３の処理を実行し、枠接触文字についての文字認識を行う。
【０４３９】
接触文字認識部１３の文字認識処理により、図７２の枠番号１のフリーピッチ枠から抽出された第８番目のパターンは、認識信頼度が９５％の確率で文字カテゴリ「４」であると認識され、中間処理結果テーブルの「文字コード」の欄に「４」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９５％」と記入される。
【０４４０】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄が「フリーピッチ」に更新される。
次に、図７５の中間処理結果テーブルの枠番号２の「処理順序」の欄において、「一文字消し線」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号２の一文字枠から抽出されたパターンに対し、「一文字消し線」に対応する図３の消し線認識部２６の処理を実行する。
【０４４１】
この消し線認識部２６では、例えば、図６７に示したように、訂正文字の候補として抽出されたパターンから所定値以上のヒストグラム値を有する横線を除去し、この横線を除去したパターンが、文字と認識された場合は、除去した横線を消し線とみなすことにより、訂正文字の候補として抽出されたパターンを訂正文字と認識し、所定値以上のヒストグラム値を有する横線を除去したパターンが、リジェクトされた場合は、除去した横線を消し線を文字に一部とみなして消し線でないとすることにより、訂正文字の候補として抽出されたパターンを通常文字と認識する。
【０４４２】
消し線認識部２６の消し線認識処理により、図７２の枠番号２の一文字枠から抽出されたパターンの認識信頼度が１０％と算出された結果、図７２の枠番号２の一文字枠から抽出されたパターンは訂正文字でないとみなされ、中間処理結果テーブルの「信頼度」の欄に「１０％」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「基本」と記入される。
【０４４３】
また、中間処理結果テーブルの「処理完了」の欄に「消し線」と記入され、中間処理結果テーブルの「処理順序」の欄に「基本」と記入される。
次に、図７５の中間処理結果テーブルの枠番号３の「処理順序」の欄において、「基本」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号３の一文字枠から抽出されたパターンに対し、「基本」に対応する図３の基本文字認識部１７の処理を実行する。
【０４４４】
この基本文字認識部１７では、例えば、図３１に示したように、入力された未知文字の特徴を抽出し、この未知文字の特徴を特徴ベクトルにより表し、基本辞書に予め格納されている各カテゴリの特徴ベクトルと照合することにより、特徴空間上での特徴ベクトル間の距離を算出し、特徴ベクトル間の距離を最小とする文字カテゴリを未知文字として認識する。
【０４４５】
また、基本文字認識部１７は、未知文字の輪郭の凹凸の個数を算出することにより、未知文字の変形度を算出する。そして、未知文字の変形度が大きくて、認識率が低下する場合は、知識テーブル１８を参照し、図３４〜図３８に示した詳細識別法を用いて文字認識を実行する。
【０４４６】
基本文字認識部１７の文字認識処理により、図７２の枠番号３の一文字枠から抽出されたパターンは、認識信頼度が９５％の確率で文字カテゴリ「３」である１認識され、中間処理結果テーブルの「文字コード」の欄に「３」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９５％」と記入される。
【０４４７】
また、中間処理結果テーブルの「処理完了」の欄に「基本」と記入され、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図７５の中間処理結果テーブルの枠番号４の「処理順序」の欄において、最初に「黒枠」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号４の一文字枠から抽出されたパターンに対し、「黒枠」に対応する図３の接触文字認識部１３の処理を実行し、枠接触文字についての文字認識を行う。
【０４４８】
接触文字認識部１３の文字認識処理により、図７２の枠番号４の一文字枠から抽出されたパターンの認識信頼度が１５％と算出された結果、図７２の枠番号４の一文字枠から抽出されたパターンは文字でないとみなされ、中間処理結果テーブルの「文字コード」の欄に「リジェクト」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「１５％」と記入される。
【０４４９】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄が「一文字消し線」に更新される。
次に、図７５の中間処理結果テーブルの枠番号５−１の「処理順序」の欄において、「一文字消し線」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号５−１の枠から抽出されたパターンに対し、「一文字消し線」に対応する図３の消し線認識部２６の処理を実行し、訂正文字の候補として抽出されたパターンの認識処理を行う。
【０４５０】
消し線認識部２６の消し線認識処理により、図７２の枠番号５−１の枠から抽出されたパターンの認識信頼度が９５％と算出された結果、図７２の枠番号５−１の枠から抽出されたパターンは訂正文字とみなされ、中間処理結果テーブルの「信頼度」の欄に「９５％」と記入されるとともに、中間処理結果テーブルの「処理完了」の欄に「消し線」と記入される。
【０４５１】
また、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図７５の中間処理結果テーブルの枠番号５−２の「処理順序」の欄において、「黒枠」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号５−２の枠から抽出されたパターンに対し、「黒枠」に対応する図３の接触文字認識部１３の処理を実行し、枠接触文字についての文字認識を行う。
【０４５２】
ここで、図７２の枠番号５−２の枠から抽出されたパターンは、下線部分が枠と接触し、図３９の文字補完や図４０の再補完による処理では十分な信頼度が得られないので、図５０（ｂ）に示したように、図４５の知識テーブル１６７を参照することにより、誤読文字対（２、７）を獲得し、図４７に示した領域強調の手法により、再文字認識を行う。
【０４５３】
接触文字認識部１３の文字認識処理により、図７２の枠番号５−２の枠から抽出されたパターンは、認識信頼度が９５％の確率で文字カテゴリ「２」であると認識され、中間処理結果テーブルの「文字コード」の欄に「２」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９５％」と記入される。
【０４５４】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠」と記入され、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図７５の中間処理結果テーブルの枠番号５−３の「処理順序」の欄において、「基本」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号５−３の枠から抽出されたパターンに対し、「基本」に対応する図３の基本文字認識部１７の処理を実行し、基本文字についての文字認識処理を行う。
【０４５５】
基本文字認識部１７の文字認識処理により、図７２の枠番号５−３の枠から抽出されたパターンは、認識信頼度が９０％の確率で文字カテゴリ「６」であると認識され、中間処理結果テーブルの「文字コード」の欄に「６」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９０％」と記入される。
【０４５６】
また、中間処理結果テーブルの「処理完了」の欄に「基本」と記入され、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図７５の中間処理結果テーブルの枠番号６−１−１の「処理順序」の欄において、最初に「複数文字の消し線」と指示されているので、処理実行ルールの（Ｃ１）に従って、「複数文字の消し線」に対応する図３の消し線認識部２６の処理を実行し、消し線の認識処理を行う。
【０４５７】
消し線認識部２６の消し線認識処理により、枠番号６の表から消し線が抽出され、その消し線の認識信頼度が９８％と算出された結果、図７２の枠番号６−１−１の枠から抽出されたパターンは訂正文字とみなされ、中間処理結果テーブルの「文字コード」の欄に「消し線」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９８％」と記入され、中間処理結果テーブルの「処理完了」の欄に「消し線」と記入される。
【０４５８】
また、処理実行ルールの（Ｃ３）に従って、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
【０４５９】
次に、図７５の中間処理結果テーブルの枠番号６−２−２の「処理順序」の欄において、最初に「複数文字の消し線」と指示されているので、処理実行ルールの（Ｃ１）に従って、「複数文字の消し線」に対応する図３の消し線認識部２６の処理を実行し、消し線の認識処理を行う。
【０４６０】
消し線認識部２６の消し線認識処理により、枠番号６の表から消し線が抽出され、その消し線の認識信頼度が９８％と算出された結果、図７２の枠番号６−２−２の枠から抽出されたパターンは訂正文字とみなされ、中間処理結果テーブルの「文字コード」の欄に「消し線」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９８％」と記入され、中間処理結果テーブルの「処理完了」の欄に「消し線」と記入される。
【０４６１】
また、処理実行ルールの（Ｃ３）に従って、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
【０４６２】
以上に処理により、図７６の中間処理結果テーブルが生成される。ここで、図７６の中間処理結果テーブルの「処理順序」の欄には、次に呼び出す処理が記入されているので、処理実行ルール（Ｃ１）に従って処理を続行する。
【０４６３】
図７７は、図７６の中間処理結果テーブルに基づいて認識処理を続行し、その際に得られた結果を示す図である。
まず、図７６の中間処理結果テーブルの枠番号１の第１番目のパターンの「処理順序」の欄において、最初に「一文字消し線」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号１のフリーピッチ枠から抽出された第１番目のパターンに対し、「一文字消し線」に対応する図３の消し線認識部２６の処理を実行し、訂正文字についての認識処理を行う。
【０４６４】
消し線認識部２６の認識処理により、図７２の枠番号１のフリーピッチ枠から抽出された第１番目のパターンの認識信頼度が９６％と算出された結果、図７２の枠番号１のフリーピッチ枠から抽出された第１番目のパターンは訂正文字とみなされ、中間処理結果テーブルの「文字コード」の欄に「消し線」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９６％」と記入され、中間処理結果テーブルの「処理完了」の欄に「黒枠／消し線」と記入される。
【０４６５】
また、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図７５の中間処理結果テーブルの枠番号１の第２番目のパターンの「処理順序」の欄において、「フリーピッチ」と指示されているので、処理実行ルールの（Ｃ４）に従って、図７２の枠番号１のフリーピッチ枠から抽出された第２番目のパターンに対し、同じ枠番号１の他の全てのパターンの「処理順序」の欄が「フリーピッチ」となるまで待機し、枠番号１の全てのパターンの「処理順序」の欄が「フリーピッチ」となった時に、枠番号１のフリーピッチ枠から抽出された全てのパターンを対象として、「フリーピッチ」に対応する図３の文字列認識部１５の処理を実行し、文字の切り出し信頼度を考慮しながら文字認識を行う。
【０４６６】
次に、図７５の中間処理結果テーブルの枠番号１の第８番目のパターンの「処理順序」の欄において、「フリーピッチ」と指示されているので、処理実行ルールの（Ｃ４）に従って、図７２の枠番号１のフリーピッチ枠から抽出された第８番目のパターンに対し、同じ枠番号１の他の全てのパターンの「処理順序」の欄が「フリーピッチ」となるまで待機し、枠番号１の全てのパターンの「処理順序」の欄が「フリーピッチ」となった時に、枠番号１のフリーピッチ枠から抽出された全てのパターンを対象として、「フリーピッチ」に対応する図３の文字列認識部１５の処理を実行し、文字の切り出し信頼度を考慮しながら認識処理を行う。
【０４６７】
そして、枠番号１の全てのパターンの「処理順序」の欄が「フリーピッチ」となった場合、図７２の枠番号１のフリーピッチ枠から抽出された全てのパターンを対象として、文字列認識部１５の文字認識処理を行う。
【０４６８】
ここで、図７２の枠番号１のフリーピッチ枠から抽出された第１番目のパターンについては、図７７の中間処理結果テーブルの枠番号１の第１番目のパターンの「処理指示」の欄が「終了」となっているので、図７２の枠番号１のフリーピッチ枠から抽出された第１番目のパターンを文字列認識部１５の処理対象から除外し、図７２の枠番号１のフリーピッチ枠から抽出された第２番目のパターンから第８番目のパターンについて、文字列認識部１５の認識処理を実行する。
【０４６９】
この文字列認識部１５では、例えば、図５２〜図６５に示したように、文字を切り出した際の信頼度を判別面からの距離に基づいて算出し、（文字切り出しの信頼度）と（文字認識の信頼度）との積が最大となるものを、切り出し文字とする。
【０４７０】
文字列認識部１５の認識処理により、図７２の枠番号１のフリーピッチ枠から抽出された第２番目のパターンは、認識信頼度が９５％の確率で文字カテゴリ「３」であると認識され、中間処理結果テーブルの「文字コード」の欄に「３」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９５％」と記入される。
【０４７１】
また、処理実行ルールの（Ｃ１）に従って、中間処理結果テーブルの「処理完了」の欄に「黒枠／フリーピッチ」と記入され、中間処理結果テーブルの「処理順序」の欄が空欄となり、処理実行ルールの（Ｃ４）に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
【０４７２】
図７２の枠番号１のフリーピッチ枠から抽出された第８番目のパターンは、認識信頼度が９８％の確率で文字カテゴリ「４」であると認識され、中間処理結果テーブルの「文字コード」の欄に「４」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９８％」と記入される。
【０４７３】
また、処理実行ルールの（Ｃ１）に従って、中間処理結果テーブルの「処理完了」の欄に「黒枠／フリーピッチ」と記入され、中間処理結果テーブルの「処理順序」の欄が空欄となり、処理実行ルールの（Ｃ４）に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
【０４７４】
また、図７２の枠番号１のフリーピッチ枠から抽出された第３番目のパターンは、文字カテゴリ「２」であると認識され、図７２の枠番号１のフリーピッチ枠から抽出された第４番目のパターンと図７２の枠番号１のフリーピッチ枠から抽出された第５番目のパターンとは、文字列認識部１５の認識処理により１つの文字に統合され、文字カテゴリ「７」であると認識され、図７２の枠番号１のフリーピッチ枠から抽出された第６番目のパターンは、文字カテゴリ「４」であると認識され、図７２の枠番号１のフリーピッチ枠から抽出された第７番目のパターンは、文字カテゴリ「６」であると認識される。
【０４７５】
この結果、図７７の中間処理結果テーブルの「文字数」の欄は「７」に変更される。
次に、図７６の中間処理結果テーブルの枠番号２の「処理順序」の欄において、「基本」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号２の一文字枠から抽出されたパターンに対し、「基本」に対応する図３の基本文字認識部１７の処理を実行し、基本文字についての文字認識処理を行う。
【０４７６】
基本文字認識部１７の文字認識処理により、図７２の枠番号２の一文字枠から抽出されたパターンは、認識信頼度が９７％の確率で文字カテゴリ「５」であると認識され、中間処理結果テーブルの「文字コード」の欄に「５」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９７％」と記入される。
【０４７７】
また、中間処理結果テーブルの「処理呼び出し」の欄に「消し線（有２）／基本」と記入され、中間処理結果テーブルの「処理完了」の欄に「消し線／基本」と記入され、中間処理結果テーブルの「処理順序」の欄は空欄となり、処理実行ルールの（Ｃ４）に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
【０４７８】
次に、図７６の中間処理結果テーブルの枠番号３の「処理順序」の欄は空欄となっているので、処理実行ルールの（Ｃ４）に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
【０４７９】
次に、図７６の中間処理結果テーブルの枠番号４の「処理順序」の欄において、「一文字消し線」と指示されているので、処理実行ルールの（Ｃ１）に従って、図７２の枠番号４の一文字枠から抽出されたパターンに対し、「一文字消し線」に対応する図３の消し線認識部２６の処理を実行し、訂正文字の候補として抽出されたパターンの認識処理を行う。
【０４８０】
消し線認識部２６の消し線認識処理により、図７２の枠番号４の一文字枠から抽出されたパターンの認識信頼度が９５％と算出された結果、図７２の枠番号４の一文字枠から抽出されたパターンは訂正文字とみなされ、中間処理結果テーブルの「信頼度」の欄に「９５％」と記入されるとともに、中間処理結果テーブルの「処理完了」の欄に「黒枠／消し線」と記入される。
【０４８１】
また、中間処理結果テーブルの「処理指示」の欄に「終了」と記入されるとともに、中間処理結果テーブルの「処理順序」の欄は空欄となる。
次に、図７６の中間処理結果テーブルの枠番号５−１の「処理指示」の欄に「終了」と記入されているので、図７２の枠番号５−１の枠から抽出されたパターンについては、処理を行わない。
【０４８２】
次に、図７６の中間処理結果テーブルの枠番号５−２の「処理順序」の欄は空欄となっているので、処理実行ルールの（Ｃ４）に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
【０４８３】
次に、図７６の中間処理結果テーブルの枠番号５−３の「処理順序」の欄は空欄となっているので、処理実行ルールの（Ｃ４）に従って、中間処理結果テーブルの「処理指示」の欄に「個人筆記特性」と記入される。
【０４８４】
次に、図７６の中間処理結果テーブルの枠番号６−１−１の「処理指示」の欄に「終了」と記入されているので、図７２の枠番号６−１−１の枠から抽出されたパターンについては、処理を行わない。
【０４８５】
次に、図７６の中間処理結果テーブルの枠番号６−２−２の「処理指示」の欄に「終了」と記入されているので、図７２の枠番号６−１−１の枠から抽出されたパターンについては、処理を行わない。
【０４８６】
以上に処理により、図７７の中間処理結果テーブルが生成される。ここで、図７７の中間処理結果テーブルの「処理指示」の欄には、「個人筆記特性」と記入されているものがあるので、処理実行ルール（Ｃ５）に従って処理を続行する。
【０４８７】
図７８は、図７７の中間処理結果テーブルに基づいて認識処理を続行し、その際に得られた結果を示す図である。
まず、図７６の中間処理結果テーブルの枠番号１の第１番目のパターンの「処理指示」の欄に「終了」と記入されているので、図７２の枠番号１のフリーピッチ枠から抽出された第１番目のパターンについては、処理を行わない。
【０４８８】
次に、図７５の中間処理結果テーブルの枠番号１の第２番目のパターンの「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの（Ｃ５）に従って、図７２の枠番号１のフリーピッチ枠から抽出された第２番目のパターンに対し、「個人筆記特性」に対応する図３のくせ字解析部２３の処理を実行する。
【０４８９】
このくせ字解析部２３は、例えば、図６８〜図７１に示したように、同一筆者が書いた手書き文字を各カテゴリごとにクラスタリングし、クラスタリングにより得られた手書き文字の第１のクラスタと距離が近く、且つ他のカテゴリに属する第２のクラスタで要素数が少ないものを第１のクラスタに統合することにより、第２のクラスタに属する手書き文字のカテゴリを第１のクラスタのカテゴリに修正する。
【０４９０】
くせ字解析部２３の解析処理により、図７２の枠番号１のフリーピッチ枠から抽出された第２のパターンは、認識信頼度が９７％の確率で文字カテゴリ「３」であると認識され、中間処理結果テーブルの「文字コード」の欄に「３」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９７％」と記入される。
【０４９１】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠／フリーピッチ／個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
【０４９２】
次に、図７５の中間処理結果テーブルの枠番号１の第８番目のパターンの「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの（Ｃ５）に従って、図７２の枠番号１のフリーピッチ枠から抽出された第８番目のパターンに対し、「個人筆記特性」に対応する図３のくせ字解析部２３の処理を実行する。
【０４９３】
くせ字解析部２３の解析処理により、図７２の枠番号１のフリーピッチ枠から抽出された第８番目のパターンは、認識信頼度が９８％の確率で文字カテゴリ「４」であると認識され、中間処理結果テーブルの「文字コード」の欄に「４」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９８％」と記入される。
【０４９４】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠／フリーピッチ／個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
【０４９５】
次に、図７６の中間処理結果テーブルの枠番号２の「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの（Ｃ５）に従って、図７２の枠番号２の一文字枠から抽出されたパターンに対し、「個人筆記特性」に対応する図３のくせ字解析部２３の処理を実行する。
【０４９６】
くせ字解析部２３の解析処理により、図７２の枠番号２の一文字枠から抽出されたパターンは、認識信頼度が９７％の確率で文字カテゴリ「５」であると認識され、中間処理結果テーブルの「文字コード」の欄に「５」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９７％」と記入される。
【０４９７】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠／フリーピッチ／個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
【０４９８】
次に、図７６の中間処理結果テーブルの枠番号３の「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの（Ｃ５）に従って、図７２の枠番号３の一文字枠から抽出されたパターンに対し、「個人筆記特性」に対応する図３のくせ字解析部２３の処理を実行する。
【０４９９】
くせ字解析部２３の解析処理により、図７２の枠番号３の一文字枠から抽出されたパターンは、認識信頼度が９７％の確率で文字カテゴリ「３」であると認識され、中間処理結果テーブルの「文字コード」の欄に「３」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９７％」と記入される。
【０５００】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠／フリーピッチ／個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
【０５０１】
次に、図７６の中間処理結果テーブルの枠番号４の「処理指示」の欄に「終了」と記入されているので、図７２の枠番号４の一文字枠から抽出されたパターンについては、処理を行わない。
【０５０２】
次に、図７６の中間処理結果テーブルの枠番号５−１の「処理指示」の欄に「終了」と記入されているので、図７２の枠番号５−１の枠から抽出されたパターンについては、処理を行わない。
【０５０３】
次に、図７６の中間処理結果テーブルの枠番号５−２の「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの（Ｃ５）に従って、図７２の枠番号５−２の枠から抽出されたパターンに対し、「個人筆記特性」に対応する図３のくせ字解析部２３の処理を実行する。
【０５０４】
くせ字解析部２３の解析処理により、図７２の枠番号５−２の枠から抽出されたパターンは、認識信頼度が９７％の確率で文字カテゴリ「２」であると認識され、中間処理結果テーブルの「文字コード」の欄に「２」と記入されるとともに、中間処理結果テーブルの「信頼度」の欄に「９７％」と記入される。
【０５０５】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠／フリーピッチ／個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
【０５０６】
次に、図７６の中間処理結果テーブルの枠番号５−３の「処理指示」の欄に「個人筆記特性」と記入されているので、処理実行ルールの（Ｃ５）に従って、図７２の枠番号５−３の枠から抽出されたパターンに対し、「個人筆記特性」に対応する図３のくせ字解析部２３の処理を実行する。
【０５０７】
くせ字解析部２３の解析処理により、図７２の枠番号５−３の枠から抽出されたパターンは、認識信頼度が９６％の確率で文字カテゴリ「４」であると認識され、中間処理結果テーブルの「文字コード」の欄が「４」に変更されるとともに、中間処理結果テーブルの「信頼度」の欄に「９６％」と記入される。
【０５０８】
また、中間処理結果テーブルの「処理完了」の欄に「黒枠／フリーピッチ／個人筆記特性」と記入されるとともに、中間処理結果テーブルの「処理指示」の欄に「終了」と記入される。
【０５０９】
次に、図７６の中間処理結果テーブルの枠番号６−１−１の「処理指示」の欄に「終了」と記入されているので、図７２の枠番号６−１−１の枠から抽出されたパターンについては、処理を行わない。
【０５１０】
次に、図７６の中間処理結果テーブルの枠番号６−２−２の「処理指示」の欄に「終了」と記入されているので、図７２の枠番号６−１−１の枠から抽出されたパターンについては、処理を行わない。
【０５１１】
以上に処理により、図７８の中間処理結果テーブルが生成される。ここで、図７８の中間処理結果テーブルの「処理指示」の欄は、全ての処理対象に対して「終了」と記入されているので、処理実行ルール（Ｃ６）に従って、全ての処理を終了する。
【０５１２】
以上説明したように、本発明の実施例によれば、文字認識部１２及び非文字認識部２５では、環境認識系１１で認識された入力画像の状態を処理するために適合した認識処理を行う。
【０５１３】
例えば、環境認識系１１が罫線に接触した文字を抽出した場合、罫線に接触した文字についての認識処理を専用に行う接触文字認識部１３を使用し、環境認識系１１がフリーピッチ文字列を抽出した場合、フリーピッチ文字列についての認識処理を専用に行う文字列認識部１５を使用し、環境認識系１１がかすれ文字を抽出した場合、かすれ文字についての認識処理を専用に行うかすれ文字認識部１９を使用し、環境認識系１１がつぶれ文字を抽出した場合、つぶれ文字についての認識処理を専用に行うつぶれ文字認識部２１を使用し、環境認識系１１が非文字を抽出した場合、非文字についての認識処理を専用に非文字認識部２５を使用する。
【０５１４】
また、文字認識部１９又は非文字認識部２５の認識結果についての信頼度を算出し、信頼度が低い文字や非文字については、環境認識系１１、文字認識部１９及び非文字認識部２５の間で相互にフィードバックを行うようにして他の処理をやり直すようにし、信頼度が高くなるか、又は実行できる処理がなくなった場合に全体の処理を終了する。
【０５１５】
このように、本発明の実施例によれば、文字が書かれている環境に応じて、文字を認識する際に使用する特徴及び識別法をアダプティブに変化させて認識処理を実行することができるので、文書や帳票の様々な環境に対応した高精度な文字認識が可能となる。
【０５１６】
また、文字コードのみを認識結果として出力するだけでなく、環境認識系１１による環境認識結果を文字認識結果と同時に出力することができるとともに、環境認識結果と文字認識結果とが相互に一致した時に文字認識結果を出力することが可能となり、文字認識結果に対する確認機能及び信頼性を向上させることができる。
【０５１７】
さらに、非文字認識部２５を専用に設け、非文字認識を文字認識と独立して行うことができるので、文字認識及び非文字認識の信頼性を向上させることができる。
さらにまた、各文字が書かれている環境に応じた独立な認識処理を行うことができるので、各認識処理における辞書や知識を増加させることにより、認識信頼度を向上させることができる。
【図面の簡単な説明】
【０５１８】
【図１】本発明の一実施例によるパターン認識装置の機能的な構成を示すブロック図である。
【図２】図１の環境認識手段のより具体的な構成の一実施例を示すブロック図である。
【図３】図１のパターン認識装置のより具体的な構成の一実施例を示すブロック図である。
【図４】図３の環境認識系の全体的な動作の一実施例を示すフローチャートである。
【図５】図４の前処理部の動作の一実施例を示すフローチャートである。
【図６】図４のレイアウト解析部の動作の一実施例を示すフローチャートである。
【図７】図４の品質解析部の動作の一実施例を示すフローチャートである。
【図８】図４の訂正解析部の動作の一実施例を示すフローチャートである。
【図９】図４の文字認識／非文字認識への制御部の動作の一実施例を示すフローチャートである。
【図１０】本発明の一実施例によるパターン認識装置のシステム構成を示すブロック図である。
【図１１】本発明の一実施例によるパターン認識装置のより具体的なシステム構成を示すブロック図である。
【図１２】本発明の一実施例によるパターン認識装置のラベリング処理の一例を示す図である。
【図１３】本発明の一実施例によるパターン認識装置のラベリング処理の圧縮表現を示す図である。
【図１４】本発明の一実施例によるパターン認識装置のテキスト抽出処理の一例を示す図である。
【図１５】本発明の一実施例によるパターン認識装置のテキスト抽出処理における部分領域の一例を示す図である。
【図１６】本発明の一実施例によるパターン認識装置の罫線抽出処理における隣接投影法を説明する図である。
【図１７】本発明の一実施例によるパターン認識装置の罫線抽出処理におけるパターンの投影結果を示す図である。
【図１８】本発明の一実施例によるパターン認識装置の罫線抽出処理を示すフローチャートである。
【図１９】本発明の一実施例によるパターン認識装置の罫線抽出処理を示す図である。
【図２０】本発明の一実施例によるパターン認識装置の罫線抽出処理におけるかすれ罫線の補完方法を説明する図である。
【図２１】本発明の一実施例によるパターン認識装置のかすれ罫線の補完方法を示すフローチャートである。
【図２２】本発明の一実施例によるパターン認識装置のかすれ罫線の補完の際の探索方向を示す図である。
【図２３】本発明の一実施例によるパターン認識装置の一文字枠抽出処理を示すフローチャートである。
【図２４】本発明の一実施例によるパターン認識装置のブロック枠抽出処理を示すフローチャートである。
【図２５】本発明の一実施例によるパターン認識装置の枠及び表の種類を示す図である。
【図２６】本発明の一実施例によるパターン認識装置の画像縮小処理を示すフローチャートである。
【図２７】本発明の一実施例によるパターン認識装置の枠接触有無判断処理を説明する図である。
【図２８】本発明の一実施例によるパターン認識装置の枠接触有無判断処理を示すフローチャートである。
【図２９】本発明の一実施例によるパターン認識装置の消し線の種類を示す図である。
【図３０】本発明の一実施例によるパターン認識装置の訂正文字の特徴量の算出方法を説明する図である。
【図３１】図３の基本文字認識部の構成例を示すブロック図である。
【図３２】図３の基本文字認識部における特徴ベクトルの算出方法の一例を示す図である。
【図３３】図３の基本文字認識部における特徴ベクトル間の距離の算出方法の一例を示す図である。
【図３４】図３の基本文字認識部における詳細識別法の文字セグメントの抽出方法を説明する図である。
【図３５】図３の基本文字認識部における詳細識別法の端点の検出方法を説明する図である。
【図３６】図３の基本文字認識部における詳細識別法の角度変化の検出方法を説明する図である。
【図３７】図３の基本文字認識部における詳細識別法の文字セグメントの対応関係を説明する図である。
【図３８】図３の基本文字認識部における詳細識別法の処理を示すフローチャートである。
【図３９】図３の接触文字認識部における文字補完の方法を示す図である。
【図４０】図３の接触文字認識部における再補完の方法を示す図である。
【図４１】図３の接触文字認識部における補完誤読文字の例を示す図である。
【図４２】図３の接触文字認識部における文字の学習方法の一例を示すブロック図である。
【図４３】図３の接触文字認識部における枠接触文字の生成方法を説明する図である。
【図４４】図３の接触文字認識部における枠接触文字の生成例を示す図である。
【図４５】図３の接触文字認識部における知識テーブルの一例を示す図である。
【図４６】図３の接触文字認識部における知識テーブルに登録される変動種類及び変動量の一例を示す図である。
【図４７】図３の接触文字認識部の領域強調による再認識領域の一例を示す図である。
【図４８】図３の接触文字認識部の領域強調による再認識方法を説明する図である。
【図４９】図３の接触文字認識部の領域強調による再認識処理を示すフローチャートである。
【図５０】図３の接触文字認識部における文字の再認識方法の一例を示すブロック図である。
【図５１】図３の接触文字認識部における文字の再認識処理を示すフローチャートである。
【図５２】図３の文字列認識部の統計的処理によるパラメータの図形的意味を説明する図である。
【図５３】図３の文字列認識部の統計的処理を示すフローチャートである。
【図５４】図３の文字列認識部の分離文字処理によるパラメータの図形的意味を説明する図である。
【図５５】図３の文字列認識部の分離文字処理を示すフローチャートである。
【図５６】図３の文字列認識部の濁点処理によるパラメータの図形的意味を説明する図である。
【図５７】図３の文字列認識部の濁点処理を示すフローチャートである。
【図５８】図３の文字列認識部の文字切り出し成否データの算出処理を示すフローチャートである。
【図５９】図３の文字列認識部の文字切り出し信頼度の定量化方法を示す図である。
【図６０】図３の文字列認識部の度数分布の生成方法を示す図である。
【図６１】図３の文字列認識部の文字切り出し信頼度の算出方法を示すフローチャートである。
【図６２】図３の文字列認識部における文字の切り出し成功及び切り出し失敗のヒストグラム分布の一例を示す図である。
【図６３】図３の文字列認識部における文字の切り出し成功及び切り出し失敗の２群の重なり領域算出法を示す図である。
【図６４】図３の文字列認識部における文字の切り出し処理の流れを示す図である。
【図６５】図３の文字列認識部の非統計的処理における文字の切り出し処理の流れを示す図である。
【図６６】図３のかすれ文字認識部の構成例を示すブロック図である。
【図６７】図３の消し線認識部の処理の一例を示す図である。
【図６８】図３のくせ字解析部によるクラスタリング処理の流れを示す図である。
【図６９】図３のくせ字解析部によるクラスタリング処理を示すフローチャートである。
【図７０】図３のくせ字解析部による文字カテゴリ判定結果修正処理の流れを示す図である。
【図７１】図３のくせ字解析部による文字カテゴリ判定結果修正処理を示すフローチャートである。
【図７２】本発明の一実施例によるパターン認識装置の処理対象となる帳票の例を示す図である。
【図７３】本発明の一実施例によるパターン認識装置の中間処理結果テーブルの一例を示す図である。
【図７４】本発明の一実施例によるパターン認識装置の処理順序テーブルの一例を示す図である。
【図７５】本発明の一実施例によるパターン認識装置の中間処理結果テーブルの一例を示す図である。
【図７６】本発明の一実施例によるパターン認識装置の中間処理結果テーブルの一例を示す図である。
【図７７】本発明の一実施例によるパターン認識装置の中間処理結果テーブルの一例を示す図である。
【図７８】本発明の一実施例によるパターン認識装置の中間処理結果テーブルの一例を示す図である。
【図７９】従来のパターン認識装置の構成を示すブロック図である。
【符号の説明】
【０５１９】
１ 環境認識手段
２ 第１のパターン認識手段
４ 第２のパターン認識手段
６ 第Ｎのパターン認識手段
３、５、７ 信頼度算出手段
１ａ 状態抽出手段
１ｂ 認識処理制御手段
１ｃ 中間処理結果テーブル作成手段
１ｄ 処理順序制御ルール格納手段
１ｅ 処理実行ルール格納手段
１ｆ 処理順序テーブル
１１ 環境認識系
１２ 文字認識部
１３ 接触文字認識部
１５ 文字列認識部
１７ 基本文字認識部
１９ かすれ文字認識部
２１ つぶれ文字認識部
２３ くせ字解析部
２５ 非文字認識部
２６ 消し線認識部
２８ 雑音認識部
１４、１６、１８、２０、２２、２４、２７、２９ 知識テーブル
３０ 環境認識系
３１ レイアウト解析部
３２ 訂正解析部
３３ 文字認識系／非文字認識系
３４ 基本文字認識部
３５ 黒枠接触文字認識部
３６ フリーピッチ文字列認識部
３７ 消し線認識部
３８ 環境認識系
３９ くせ字解析部
４０ 終了判定処理部
４１ 画像格納部
４２ 処理条件格納部
４３ ラベル画像格納部
４４ 中間処理結果テーブル
５０ プログラムメモリ
５１ 中央演算処理ユニット
５２ 画像メモリ
５３ ワークメモリ
５４ バス
５５ インターフェイス回路
５６ ディスプレイ
５７ プリンタ
５８ メモリ
５９ スキャナ
６０ 辞書ファイル
【図１】
2007058882.tif 000005
【図２】
2007058882.tif 000006
【図３】
2007058882.tif 000007
【図４】
2007058882.tif 000008
【図５】
2007058882.tif 000009
【図６】
2007058882.tif 000010
【図７】
2007058882.tif 000011
【図８】
2007058882.tif 000012
【図９】
2007058882.tif 000013
【図１０】
2007058882.tif 000014
【図１１】
2007058882.tif 000015
【図１２】
2007058882.tif 000016
【図１３】
2007058882.tif 000017
【図１４】
2007058882.tif 000018
【図１５】
2007058882.tif 000019
【図１６】
2007058882.tif 000020
【図１７】
2007058882.tif 000021
【図１８】
2007058882.tif 000022
【図１９】
2007058882.tif 000023
【図２０】
2007058882.tif 000024
【図２１】
2007058882.tif 000025
【図２２】
2007058882.tif 000026
【図２３】
2007058882.tif 000027
【図２４】
2007058882.tif 000028
【図２５】
2007058882.tif 000029
【図２６】
2007058882.tif 000030
【図２７】
2007058882.tif 000031
【図２８】
2007058882.tif 000032
【図２９】
2007058882.tif 000033
【図３０】
2007058882.tif 000034
【図３１】
2007058882.tif 000035
【図３２】
2007058882.tif 000036
【図３３】
2007058882.tif 000037
【図３４】
2007058882.tif 000038
【図３５】
2007058882.tif 000039
【図３６】
2007058882.tif 000040
【図３７】
2007058882.tif 000041
【図３８】
2007058882.tif 000042
【図３９】
2007058882.tif 000043
【図４０】
2007058882.tif 000044
【図４１】
2007058882.tif 000045
【図４２】
2007058882.tif 000046
【図４３】
2007058882.tif 000047
【図４４】
2007058882.tif 000048
【図４５】
2007058882.tif 000049
【図４６】
2007058882.tif 000050
【図４７】
2007058882.tif 000051
【図４８】
2007058882.tif 000052
【図４９】
2007058882.tif 000053
【図５０】
2007058882.tif 000054
【図５１】
2007058882.tif 000055
【図５２】
2007058882.tif 000056
【図５３】
2007058882.tif 000057
【図５４】
2007058882.tif 000058
【図５５】
2007058882.tif 000059
【図５６】
2007058882.tif 000060
【図５７】
2007058882.tif 000061
【図５８】
2007058882.tif 000062
【図５９】
2007058882.tif 000063
【図６０】
2007058882.tif 000064
【図６１】
2007058882.tif 000065
【図６２】
2007058882.tif 000066
【図６３】
2007058882.tif 000067
【図６４】
2007058882.tif 000068
【図６５】
2007058882.tif 000069
【図６６】
2007058882.tif 000070
【図６７】
2007058882.tif 000071
【図６８】
2007058882.tif 000072
【図６９】
2007058882.tif 000073
【図７０】
2007058882.tif 000074
【図７１】
2007058882.tif 000075
【図７２】
2007058882.tif 000076
【図７３】
2007058882.tif 000077
【図７４】
2007058882.tif 000078
【図７５】
2007058882.tif 000079
【図７６】
2007058882.tif 000080
【図７７】
2007058882.tif 000081
【図７８】
2007058882.tif 000082
【図７９】
2007058882.tif 000083