(57)【特許請求の範囲】
【請求項１】
入力された画像内に含まれる文字画像を囲む最少境界矩形内の画像を、複数の画素で構成される文字画像パターンとして抽出する抽出ステップと、
前記抽出ステップで抽出された文字画像パターンを所定の分割数の格子ボックスに分割する分割ステップと、
前記分割された文字画像パターンの格子ボックスに基づいて、該文字画像パターンの特徴量を表す複数の特徴マトリックスを生成する生成ステップと、
参照記憶部に予め格納されている複数のテンプレートそれぞれに関する複数の特徴マトリックスと、前記生成ステップで生成された前記文字画像パターンに関する複数の特徴マトリックスとをそれぞれ比較する比較ステップと、
前記比較の結果、前記文字画像パターンに類似すると判定されたテンプレートに基づいて、前記文字画像パターンの文字候補を認識する認識ステップとを有し、
前記生成ステップは、前記格子ボックス間の水平方向の連結に基づいて生成される水平方向隣接マトリックスと、前記格子ボックス間の垂直方向の連結に基づいて生成される垂直方向隣接マトリックスと、前記各格子ボックス内の画素密度に基づいて生成される画素密度マトリックスのうち、少なくともいずれか２つを前記複数の特徴マトリックスとして生成するステップであって、
前記生成ステップで前記水平方向隣接マトリックスを生成する際は、前記格子ボックスの垂直方向分割線が少なくとも１つの画素を横切っている場合、該横切っている画素とその左の画素とが両方ＯＮのとき、もしくは該横切っている画素とその右の画素とが両方ＯＮのときに、当該横切っている画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記格子ボックスの垂直方向分割線が画素を横切っていない場合、該垂直方向分割線を挟む画素が両方ともＯＮのときに、該垂直方向分割線を挟む画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記ＯＮにされたエントリ以外のエントリをＯＦＦとすることにより、前記水平方向隣接マトリックスを生成し、
一方、前記生成ステップで前記垂直方向隣接マトリックスを生成する際は、前記格子ボックスの水平方向分割線が少なくとも１つの画素を横切っている場合、該横切っている画素とその上の画素とが両方ＯＮのとき、もしくは該横切っている画素とその下の画素とが両方ＯＮのときに、当該横切っている画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記格子ボックスの水平方向分割線が画素を横切っていない場合、該水平方向分割線を挟む画素が両方ともＯＮのときに、該水平方向分割線を挟む画素を含むボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記ＯＮにされたエントリ以外のエントリをＯＦＦとすることにより、前記垂直方向隣接マトリックスを生成し、
一方、前記生成ステップで前記画素密度マトリックスを生成する際は、格子ボックス内のＯＮの領域が所定の割合以上であれば該格子ボックスに対応するエントリをＯＮとし、更に格子ボックス内のＯＮの領域が前記所定の割合より低ければ該格子ボックスに対応するエントリをＯＦＦとすることにより、前記画素密度マトリックスを生成する
ことを特徴とするパターン認識方法。
【請求項２】
更に、前記認識ステップで複数の文字候補が認識された場合、前記最小境界矩形の大きさ、位置、アスペクト比の少なくともいずれか１つを用いて、最良の文字候補を選択する選択ステップを有することを特徴とする請求項１に記載のパターン認識方法。
【請求項３】
前記認識ステップでは、前記比較ステップによる比較の結果として導出されたハミング距離に基づいて、前記文字画像パターンに類似するテンプレートを求めて、前記文字候補を認識することを特徴とする請求項１に記載のパターン認識方法。
【請求項４】
前記参照記憶部に予め格納されている複数のテンプレートそれぞれに関する複数の特徴マトリックスは、前記各テンプレートを前記所定の分割数の格子ボックスに分割し、該分割されたテンプレートの格子ボックスに基づいて生成されて、格納されていることを特徴とする請求項１に記載のパターン認識方法。
【請求項５】
入力された画像内に含まれる文字画像を囲む最少境界矩形内の画像を、複数の画素で構成される文字画像パターンとして抽出する抽出手段と、
前記抽出手段で抽出された文字画像パターンを所定の分割数の格子ボックスに分割する分割手段と、
前記分割された文字画像パターンの格子ボックスに基づいて、該文字画像パターンの特徴量を表す複数の特徴マトリックスを生成する生成手段と、
参照記憶部に予め格納されている複数のテンプレートそれぞれに関する複数の特徴マトリックスと、前記生成手段で生成された前記文字画像パターンに関する複数の特徴マトリックスとをそれぞれ比較する比較手段と、
前記比較の結果、前記文字画像パターンに類似すると判定されたテンプレートに基づいて、前記文字画像パターンの文字候補を認識する認識手段とを有し、
前記生成手段は、前記格子ボックス間の水平方向の連結に基づいて生成される水平方向隣接マトリックスと、前記格子ボックス間の垂直方向の連結に基づいて生成される垂直方向隣接マトリックスと、前記各格子ボックス内の画素密度に基づいて生成される画素密度マトリックスのうち、少なくともいずれか２つを前記複数の特徴マトリックスとして生成する手段であって、
前記生成手段で前記水平方向隣接マトリックスを生成する際は、前記格子ボックスの垂直方向分割線が少なくとも１つの画素を横切っている場合、該横切っている画素とその左の画素とが両方ＯＮのとき、もしくは該横切っている画素とその右の画素とが両方ＯＮのときに、当該横切っている画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記格子ボックスの垂直方向分割線が画素を横切っていない場合、該垂直方向分割線を挟む画素が両方ともＯＮのときに、該垂直方向分割線を挟む画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記ＯＮにされたエントリ以外のエントリをＯＦＦとすることにより、前記水平方向隣接マトリックスを生成し、
一方、前記生成手段で前記垂直方向隣接マトリックスを生成する際は、前記格子ボックスの水平方向分割線が少なくとも１つの画素を横切っている場合、該横切っている画素とその上の画素とが両方ＯＮのとき、もしくは該横切っている画素とその下の画素とが両方ＯＮのときに、当該横切っている画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記格子ボックスの水平方向分割線が画素を横切っていない場合、該水平方向分割線を挟む画素が両方ともＯＮのときに、該水平方向分割線を挟む画素を含むボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記ＯＮにされたエントリ以外のエントリをＯＦＦとすることにより、前記垂直方向隣接マトリックスを生成し、
一方、前記生成手段で前記画素密度マトリックスを生成する際は、格子ボックス内のＯＮの領域が所定の割合以上であれば該格子ボックスに対応するエントリをＯＮとし、更に格子ボックス内のＯＮの領域が前記所定の割合より低ければ該格子ボックスに対応するエントリをＯＦＦとすることにより、前記画素密度マトリックスを生成する
ことを特徴とするパターン認識装置。
【請求項６】
更に、前記認識手段で複数の文字候補が認識された場合、前記最小境界矩形の大きさ、位置、アスペクト比の少なくともいずれか１つを用いて、最良の文字候補を選択する選択手段を有することを特徴とする請求項５に記載のパターン認識装置。
【請求項７】
前記認識手段では、前記比較手段による比較の結果として導出されたハミング距離に基づいて、前記文字画像パターンに類似するテンプレートを求めて、前記文字候補を認識することを特徴とする請求項５に記載のパターン認識装置。
【請求項８】
前記参照記憶部に予め格納されている複数のテンプレートそれぞれに関する複数の特徴マトリックスは、前記各テンプレートを前記所定の分割数の格子ボックスに分割し、該分割されたテンプレートの格子ボックスに基づいて生成されて、格納されていることを特徴とする請求項５に記載のパターン認識装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般的には画像処理、特に、光学式文字のようなパターン認識に関するものであって、具体的には、検出済みパターンを格子ボックスに分割し、前記ボックスの連結度と画素密度とを、参照パターンの中で、対応する連結度と画素密度とに比較することによって実現するものである。
【０００２】
【従来の技術】
パターン認識に関しては過去さまざまな方法が提案されてきた。特に、光学式文字認識（ＯＣＲ）の分野では、多大な研究開発が実施されてきた。例えば、Ｓ．Ｎ．Ｓｒｉｈａｒｉ，  Ｖ．Ｇｏｖｉｎｄａｒａｊｕ，  Ｊ．Ｊ．Ｈｕｌｌ，  Ｒ．Ｋ．Ｆｅｎｒｉｃｈ  ａｎｄ  Ｓ．Ｌａｍ  による「パターン認識、文字認識と光学式文字認識装置」”Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ  ａｎｄ  Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒｓ”  技術報告  ＣＥＤＡＲ−ＴＲ−９１−１（米国、ニューヨーク州、バッファロー市所在のニューヨーク州立大学のドキュメント分析と認識センター、１９９１年５月発行）を参照されたい。
【０００３】
ＯＣＲに関する従来の方法には実にさままざまなアプローチがある。例えば、初期の研究には、検出した画像のビットマップを既知文字のテンプレートに重ね合わすという試みがあった。しかし、この方法には、フォントの相違、ずれ、拡大、縮小などの要因に極度に影響されるという問題があった。その他には、検出した文字の中から特定の特徴だけを抽出するという試みもあった。しかし、その成果は、特徴の選択と処理の方法によって大きく異なってしまうという問題があった。
【０００４】
Ｎａｋａｎｏ他による米国特許第３，８４６，７５２号では、文字の密度分布を利用した文字認識が開示されている。この装置では、密度分布の周波数スペクトルを既知文字に対応した密度分布の周波数スペクトルと比較し、フーリエ変換スペクトルのパターンが検出済みの文字のスペクトルに最も類似している既知文字が認識済み文字として出力される。
【０００５】
Ｍａｒｓｈａｌｌ他による米国特許第４，８１７，１７６号では、振幅と位相が相違する場合にフーリエ変換を使用してさまざまな補正を実施するパターン認識手法が開示されている。
【０００６】
Ｈｅｎｒｉｃｈｏｎ、Ｊｒ．他による米国特許第３，９３０，２３１号では、パターン密度の検出と特徴の認識に多重セル格子の使用が開示されている。この方式では、検出された文字に対して認識可能な個々の特徴の有無を調べてベクトル信号を生成し、既知文字を示すベクトルと前記ベクトルを比較する。
【０００７】
Ｇｉｎｓｂｕｒｇによる米国特許第３、９９３，９７６号では、変換を使用して空間周波数を獲得するパターン分析が開示されている。この方式では、空間周波数をフィルターにかけて、パターン情報を抽出し、検出済みパターンが有する一般形状、端点、テクスチャ、および深さに関する情報を決定する。
【０００８】
Ｈｅｎｓｈａｗによる米国特許第４，５１３，４４１号では、２つの画像を重ね合わせ、位相の相違を調べることによって、画像を比較する方法が開示されている。
【０００９】
その他の従来技術について紹介する。Ｃｈａｎｇ他による米国特許第４，２２５，８５０号では、フーリエ変換手法を使用して特定の画像フィールド内で指紋画像を含まない領域を検出する方法が開示されている。Ｍａｓａｋｉ他による米国特許第４，５４７，８００号では、処理対象の画像に対して平行変換と回転を与えてから、基準画像情報と比較することによって、処理対象の画像の位置偏差を検出する方法が開示されている。Ｙｏｄａ他による米国特許第４，３４６，４０５号では、テレビの画面をブロックに分割して、画面内の視覚情報をＸ−Ｙデータで処理することによって、テレビ画像の一時的な変化を検出する方法が開示されている。Ｂａｈｌｅｒ他による米国特許第４，２４１，３２９号では、スペクトル統計情報を使用して、連続音声信号内のキーワードを認識する音声認識手法が開示されている。Ｓｒｉｖａｓｔａｖａによる米国特許第３，７６０，３５６号では、２進数値の集合の中から極大の２進数を決定する手法が開示されている。
【００１０】
ＯＣＲにニューラル・ネットワークを適用する研究も実施されてきた。例えば、Ｊ．Ｌｏｎｃｅｌｌｅ他による「光学式文字認識および協調型ニューラル・ネットワーク技法」”Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ  ａｎｄ  Ｃｏｏｐｅｒａｔｉｎｇ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ  Ｔｅｃｈｎｉｑｕｅｓ”（人工ニューラル・ネットワーク第２巻、Ｉ．Ａｌｅｋｓａｎｄｅｒ  ａｎｄ  Ｊ．Ｔａｙｌｏｒ，  Ｅｄ．，  Ｅｌｓｅｖｉｅｒ  Ｓｃｉｅｎｃｅ  出版社、１９９２年発行）および  Ａ．Ｋｈｏｔａｎｚａｄ  と  Ｊ．Ｌｕ  による「ニューラル・ネットワークを使用した不変画像表現の分類」”Ｃｌａｓｉｆｉｃａｔｉｏｎ  ｏｆ  Ｉｎｖａｒｉａｎｔ  Ｉｍａｇｅ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  Ｕｓｉｎｇ  ａ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ”、（ＩＥＥＥ  音響、音声、信号処理に関するトランザクション第６章  ｐｐ．１０２８−１０３８，１９９０年６月発行）に、ニューラル・ネットワークに基づいたＯＣＲシステムが説明されている。
【００１１】
【発明が解決しようとする課題】
従来の手法はいずれも、大量の雑音により画像が破壊されてしまった場合に、光学式文字やその他のパターンを既知パターンの集合の中の１つに対応するものとして認識することができないという問題があった。ＯＣＲシステムの性能を改善するためには、認識手法を、雑音に対して強靱であり、かつ計算が簡単であるようにする必要がある。そこで本発明は、従来の認識手法はいずれも固有の欠点があるので、認識方式として複数の代替手順と冗長手順を用意し、これらの手順を組み合わせて、個々の手順のどれよりも信頼性の高いものにすることによって、認識の信頼性を向上させることを課題とする。
【００１２】
【問題を解決するための手段】
前記課題を解決するために、本発明では、入力された画像内に含まれる文字画像を囲む最少境界矩形内の画像を、複数の画素で構成される文字画像パターンとして抽出する抽出ステップと、
前記抽出ステップで抽出された文字画像パターンを所定の分割数の格子ボックスに分割する分割ステップと、
前記分割された文字画像パターンの格子ボックスに基づいて、該文字画像パターンの特徴量を表す複数の特徴マトリックスを生成する生成ステップと、
参照記憶部に予め格納されている複数のテンプレートそれぞれに関する複数の特徴マトリックスと、前記生成ステップで生成された前記文字画像パターンに関する複数の特徴マトリックスとをそれぞれ比較する比較ステップと、
前記比較の結果、前記文字画像パターンに類似すると判定されたテンプレートに基づいて、前記文字画像パターンの文字候補を認識する認識ステップとを有し、
前記生成ステップは、前記格子ボックス間の水平方向の連結に基づいて生成される水平方向隣接マトリックスと、前記格子ボックス間の垂直方向の連結に基づいて生成される垂直方向隣接マトリックスと、前記各格子ボックス内の画素密度に基づいて生成される画素密度マトリックスのうち、少なくともいずれか２つを前記複数の特徴マトリックスとして生成するステップであって、
前記生成ステップで前記水平方向隣接マトリックスを生成する際は、前記格子ボックスの垂直方向分割線が少なくとも１つの画素を横切っている場合、該横切っている画素とその左の画素とが両方ＯＮのとき、もしくは該横切っている画素とその右の画素とが両方ＯＮのときに、当該横切っている画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記格子ボックスの垂直方向分割線が画素を横切っていない場合、該垂直方向分割線を挟む画素が両方ともＯＮのときに、該垂直方向分割線を挟む画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記ＯＮにされたエントリ以外のエントリをＯＦＦとすることにより、前記水平方向隣接マトリックスを生成し、
一方、前記生成ステップで前記垂直方向隣接マトリックスを生成する際は、前記格子ボックスの水平方向分割線が少なくとも１つの画素を横切っている場合、該横切っている画素とその上の画素とが両方ＯＮのとき、もしくは該横切っている画素とその下の画素とが両方ＯＮのときに、当該横切っている画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記格子ボックスの水平方向分割線が画素を横切っていない場合、該水平方向分割線を挟む画素が両方ともＯＮのときに、該水平方向分割線を挟む画素を含むボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記ＯＮにされたエントリ以外のエントリをＯＦＦとすることにより、前記垂直方向隣接マトリックスを生成し、
一方、前記生成ステップで前記画素密度マトリックスを生成する際は、格子ボックス内のＯＮの領域が所定の割合以上であれば該格子ボックスに対応するエントリをＯＮとし、更に格子ボックス内のＯＮの領域が前記所定の割合より低ければ該格子ボックスに対応するエントリをＯＦＦとすることにより、前記画素密度マトリックスを生成することを特徴とする。
【００１３】
本発明の１つの側面として、更に、前記認識ステップで複数の文字候補が認識された場合、前記最小境界矩形の大きさ、位置、アスペクト比の少なくともいずれか１つを用いて、最良の文字候補を選択する選択ステップを有することを特徴とする。
【００１４】
本発明のもう１つの側面として、前記認識ステップでは、前記比較ステップによる比較の結果として導出されたハミング距離に基づいて、前記文字画像パターンに類似するテンプレートを求めて、前記文字候補を認識することを特徴とする。
【００１５】
本発明のもう１つの側面として、前記参照記憶部に予め格納されている複数のテンプレートそれぞれに関する複数の特徴マトリックスは、前記各テンプレートを前記所定の分割数の格子ボックスに分割し、該分割されたテンプレートの格子ボックスに基づいて生成されて、格納されていることを特徴とする。
【００１６】
さらに、前記課題を解決するために、本発明では、入力された画像内に含まれる文字画像を囲む最少境界矩形内の画像を、複数の画素で構成される文字画像パターンとして抽出する抽出手段と、
前記抽出手段で抽出された文字画像パターンを所定の分割数の格子ボックスに分割する分割手段と、
前記分割された文字画像パターンの格子ボックスに基づいて、該文字画像パターンの特徴量を表す複数の特徴マトリックスを生成する生成手段と、
参照記憶部に予め格納されている複数のテンプレートそれぞれに関する複数の特徴マトリックスと、前記生成手段で生成された前記文字画像パターンに関する複数の特徴マトリックスとをそれぞれ比較する比較手段と、
前記比較の結果、前記文字画像パターンに類似すると判定されたテンプレートに基づいて、前記文字画像パターンの文字候補を認識する認識手段とを有し、
前記生成手段は、前記格子ボックス間の水平方向の連結に基づいて生成される水平方向隣接マトリックスと、前記格子ボックス間の垂直方向の連結に基づいて生成される垂直方向隣接マトリックスと、前記各格子ボックス内の画素密度に基づいて生成される画素密度マトリックスのうち、少なくともいずれか２つを前記複数の特徴マトリックスとして生成する手段であって、
前記生成手段で前記水平方向隣接マトリックスを生成する際は、前記格子ボックスの垂直方向分割線が少なくとも１つの画素を横切っている場合、該横切っている画素とその左の画素とが両方ＯＮのとき、もしくは該横切っている画素とその右の画素とが両方ＯＮのときに、当該横切っている画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記格子ボックスの垂直方向分割線が画素を横切っていない場合、該垂直方向分割線を挟む画素が両方ともＯＮのときに、該垂直方向分割線を挟む画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記ＯＮにされたエントリ以外のエントリをＯＦＦとすることにより、前記水平方向隣接マトリックスを生成し、
一方、前記生成手段で前記垂直方向隣接マトリックスを生成する際は、前記格子ボックスの水平方向分割線が少なくとも１つの画素を横切っている場合、該横切っている画素とその上の画素とが両方ＯＮのとき、もしくは該横切っている画素とその下の画素とが両方ＯＮのときに、当該横切っている画素を含む格子ボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記格子ボックスの水平方向分割線が画素を横切っていない場合、該水平方向分割線を挟む画素が両方ともＯＮのときに、該水平方向分割線を挟む画素を含むボックス間は連結されているものとして該格子ボックス間に対応するエントリをＯＮとし、更に、前記ＯＮにされたエントリ以外のエントリをＯＦＦとすることにより、前記垂直方向隣接マトリックスを生成し、
一方、前記生成手段で前記画素密度マトリックスを生成する際は、格子ボックス内のＯＮの領域が所定の割合以上であれば該格子ボックスに対応するエントリをＯＮとし、更に格子ボックス内のＯＮの領域が前記所定の割合より低ければ該格子ボックスに対応するエントリをＯＦＦとすることにより、前記画素密度マトリックスを生成することを特徴とする。
【００１７】
本発明によれば、パターン認識用の装置（１００）は、スキャナ（１０２）、フレーマ（１０４）、マトリックス・プロセッサ（１０６）、ハミング・プロセッサ（１０８）、およびパレート・プロセッサ（１１０）で構成される。
【００１８】
【実施例】
以下、本発明の実施例を図面を参照して説明する。
図１に、本発明の好適な実施例にかかるパターン認識システム１００を示す。簡略化して説明すると、システム１００は５つの機能的なブロックで構成されている。スキャナ１０２は、認識対象となるパターンを含む、走査済み画像を示す画素値の２次元配列を獲得するのに使用される。フレーマ１０４は、パターンを他の画像要素から分離し、そのパターンを以下に定義する最小境界枠若しくは境界矩形枠（ｂｏｕｎｄｉｎｇ  ｒｅｃｔａｎｇｌｅ）で囲むことによって、パターンを検出する。マトリックス・プロセッサ１０６は、前記検出済みパターンを処理して、垂直隣接マトリックス、水平隣接マトリックス、および、画素密度マトリックスを生成する。ハミング・プロセッサ１０８は、マトリックス・プロセッサ１０６によって生成されたマトリックスを入力として受け取り、テンプレート・パターンからのマトリックスと前記マトリックスを比較し、検出済みパターンとテンプレートの１つからの対応したマトリックスの組み合わせごとに距離ベクトルを生成する。パレート・プロセッサ１１０は、ハミング・プロセッサ１０８によって生成された距離ベクトルを入力として受け取り、パレートの非劣解（Ｐａｒｅｔｏ  ｎｏｎ−ｉｎｆｅｒｉｏｒｉｔｙ）またはパレート最適（Ｐａｒｅｔｏ  ｏｐｔｉｍａｌ）な解と呼ばれる条件を満足する距離ベクトルを生成するテンプレートを認識候補として選択するが、もし複数の候補がある場合は、その候補の中から１つを認識済みパターンとして選択する。
【００１９】
図２は、システム１００の物理的なブロック図である。各ブロックは、図１に示したブロック１０２、１０４、１０６、１０８、１１０の機能を実現するための構成要素を示している。好適な実施例では、スキャナ１０２を走査装置２０２で実現し、具体的には、ヒュレッドパッカード社が開発したＳｃａｎＪｅｔ  ＩＩｃモデルで、解像度が４００ｄｐｉで、各画素が８ビットの階調で量子化される装置を使用する。フレーマ１０４、マトリックス・プロセッサ１０６、ハミング・プロセッサ１０８、およびパレート・プロセッサ１１０は、それぞれマイクロプロセッサ２０６を中心として、参照記憶装置２０４、サンプル記憶装置２０８、処理プログラム記憶装置２１０で実現する。好適な実施例では、既存の汎用ＩＢＭ互換機で６６ＭＨｚの８０４８６マイクロプロセッサを搭載したパソコンをマイクロプロセッサ２０６、参照記憶装置２０４、サンプル記憶装置２０８、処理プログラム記憶装置２１０用に使用する。なお、複数の代替物理装置と実装形態を用意して図１に示した機能を実現できることは明白である。
【００２０】
図３は、文字ｘに対応した文字ビットマップ３００である。このビットマップ３００は、スキャナ１０２とフレーマ１０４の操作によって得られる。操作中に、スキャナ１０２は、走査対象上の、典型的には１枚の紙上の画像に対応する画素表現を獲得する。通常、この対象には複数の離散パターンで構成される画像が存在している。例えば、図１では、Ｅｘａｍｐｌｅという単語で構成されている画像がスキャナ１０２に入力されているところを示している。フレーマ１０４は、従来の分割手法を使用して走査済み画像をその構成要素である離散パターン、すなわち、“Ｅ”、“ｘ”、“ａ”、“ｍ”、“ｐ”、“ｌ”、“ｅ”という文字に対応するパターンに分離する。フレーマ１０４は、前記離散画像を包含する最小境界枠３０１も決定する。最小境界枠３０１は、個々の離散パターン（この例では文字“ｘ”に相当する）を完全に包含できる最小の矩形として定義される。スキャナによって生成されたパターンは画素で表現されているので、最小境界矩形３０１は、スキャナ１０２で走査された前記パターンの画素で表現された画素境界と同じ境界になる。言い換えると、最小境界矩形の幅と高さはそれぞれに対応する画素数（整数値）に等しくなる。図３では、ビットマップ３００の画素、例えば３０２は、比較的細い線で示されており、アラビア数字と小文字の英字で参照される。従って、図３に示す文字“ｘ”のパターンに対する最小境界枠は、高さが２４画素で幅が２４画素になる。説明を簡単にするために、ここでは個々の画素は１桁の２進数で表現されるものとする。すなわち、白は画素の値が０で黒は画素の値が１に対応する。しかし、本発明に準拠して、複数桁の２進数で画素を表現したり複数の値を使って画素を表現する階調または色表現を採用することができることは明らかである。
【００２１】
ビットマップ３００を規定する最小境界枠を定義した後に、ビットマップ３００を格子ボックスに分割する。図３では、前記格子ボックスが細い線で示されており、ローマ数字と英大文字で参照される。説明を簡単にするために、図３のビットマップ３００では、幅が１６格子ボックスで高さが１６格子ボックスに分割してある。好適な実施例では、高さが１６格子ボックスで幅が１６格子ボックスに分割している。しかし、必ずしも四角形になるように分割する必要はなく、すなわち高さと幅が同じ格子ボックスにする必要がないのであって、格子ボックス数を変えることができることは明白である。また、必要な分割数が決定されたら、最小境界枠の大きさにかかわらず任意の分割数を採用できることも明白である。例えば、１０ポイントで文字“ｘ”のビットマップを作成する場合は最小境界枠の矩形３０１の高さを３１画素にし幅を２９画素にすることもできし、１８ポイントで文字“ｘ”のビットマップを作成する場合は最小境界枠の矩形３０１の高さを５７画素にし幅を５５画素にすることもできる。いずれの場合でもビットマップ３００は、同じ数のボックスに分割して処理される。検出されたパターンのサイズは、この分割によって実効的に正規化されるので、フォントのサイズや書体（例えばボールド体など）が異なった文字を認識する場合でも別のテンプレートを用意する必要がない。
【００２２】
前記について図４を参照しながらさらに説明する。図４は、文字“ｊ”を表しているビットマップ４００である。この例では、文字“ｊ”の高さが図３の文字“ｘ”と同じ２４画素である。従って、ビットマップ３００の最小境界矩形３０１とビットマップ４００の最小境界矩形４０１の高さは両方とも同じ２４画素である。しかし、この例の文字“ｊ”は図３の文字“ｘ”よりも幅が狭い。具体的には、最小境界矩形４０１の幅は１２画素しかないのに、最小境界矩形３０１の幅は２４画素もある。このような相違があるが、図４の太線で区切り、ローマ数字と英大文字で示しているように、ビットマップ４００は、幅が１６格子ボックス、高さが１６格子ボックスに分割されている。
【００２３】
図５は、本発明による光学式文字認識のフローチャートである。最初の処理５０１は、テンプレート集合内の個々のテンプレート文字ごとに参照量を作成し格納する。１つのテンプレート集合には、１つまたは複数のサイズ、書体、フォントで印刷可能な文字が含まれている。好適な実施例では、フォントは一定で、サイズとして１２ポイント、１０ポイント、８ポイントが選べる単一のテンプレート集合を使用している。前記の印字可能な文字は、図３に示したビットマップ３００および図４に示したビットマップ４００のような最小境界矩形で定義されたサイズを持っているビットマップとして表現される。前記ビットマップはそれぞれ図３と図４に示したような格子ボックスに分割される。
【００２４】
好適な実施例では、各テンプレート文字のビットマップから３つの量が作成される。便宜上、画素値１は画像の黒色部分を表し、画素値０は画像の白色部分を表すものと仮定する。まず、水平方向に隣接しているボックスが連結されているかどうかを示す水平隣接マトリックスが、以下で説明するように作成される。ここで図３に戻って説明を続ける。
【００２５】
連結度を決定するために、次の２つの場合に分けて検討する。
（ａ）  例えば、Ｉ−ＧとＩ−Ｈの２つのボックスの間を分割している線３０４が、１つまたは複数の画素１−ｋ（分割境界層）を横切っている場合。
（ｂ）  例えば、分割線３０３が画素（非分割境界層）を横切っていない場合。
【００２６】
（ａ）の場合は、図３のＩ−ＧとＩ−Ｈの２つのボックスおよび複数の画素１−ｋと２−ｋの間を線３０４が横切っており、前記分割線３０４の両側に最も近い画素１−ｊ、２−ｊ、１−ｌ、２−ｌについて検討する。以下の説明では、垂直方向の連結度の分析を中心にし、水平方向の対応する説明は括弧内に示す。垂直方向（水平）方向の分割線３０４について検討すると、線３０４上の画素１−ｋと２−ｋは、最近傍左（上）列（行）の１−ｊと２−ｊと一緒に考慮される。前記画素の集合は、「境界層」と呼ばれ、ｊとｋの２つの列（行）と、そのボックスの１つの列（行）内で画素若しくは部分画素（この例では２個の画素）が存するだけの全ての行（列）とからなる。境界層の行（列）の１つの中で少なくとも１組の画素が両方ともオン、つまり１になっている場合に、ボックスＩ−ＧとＩ−Ｈは連結されているものとみなされる。このような条件を満たす画素の組がない場合は、次の境界層を調べる。この例では、列ｋおよび最近傍の右側（下）の列（行）、この例では第ｌ列内の画素の集合を調べる。このようにして、２番目の境界層は、画素１−ｋ、２−ｋ、および  １−ｌ、２−ｌで構成される。前記境界層の行（列）の１つの中で少なくとも１つの画素の組が両方ともオン、つまり１になっている場合に、ボックスＩ−ＧとＩ−Ｈは連結されているものとみなされる。従って、２つの境界層のどちらかで少なくとも１つの画素の組が両方ともオンになっている場合に、ボックスＩ−ＧとＩ−Ｈは連結されているものとみなされる。
【００２７】
（ｂ）の場合は、Ｉ−ＦとＩ−Ｇの２つのボックスについて、分割線３０３に最も近い画素１−ｊ、２−ｊ、１−ｉ、２−ｉを調べる。境界層の２つの要素で構成される行（列）で少なくとも１つの画素の組が両方ともオンになっている場合に、ボックスは連結されているものとみなされる。
【００２８】
連結度について定義できたので、ｎ×ｎ格子ボックスに対する水平隣接マトリックスをｎ行とｎ−１列で構成するマトリックスとして定義することができる。なお、対応しているボックスがその右側の次のボックスに接続している場合に、マトリックス集合内の各エントリが１に設定されているものとする。前記マトリックスの場合は、ｎ−１列しか必要とされないのは、前記定義によれば、ボックスの最右側の列に対して別々に連結度を示す必要がないからである。図３のビットマップ３００の例では、ボックスＩ−ＡとボックスＩ−Ｂが連結されているので、水平連結マトリックス上で対応するエントリは１になるはずである。ボックスＩ−ＢとボックスＩ−Ｃも連結されているので、マトリックス上で対応するエントリも１になるはずである。しかし、ボックスＩ−ＣとボックスＩ−Ｄは連結されていないので、マトリックス上で対応するエントリは０になるはずである。従って、図３のビットマップ３００に対応する水平隣接マトリックスの全体は図６のようになる。
【００２９】
各テンプレート文字のビットマップから２番目に作成するマトリックスは垂直隣接マトリックスである。垂直隣接マトリックスは、水平隣接マトリックスで使用した定義に対応した連結度の定義を使用して、各ボックスと、垂直方向に隣接しているボックスとの連結度を示している。前記定義によれば、ｎ×ｎ格子ボックスに対応した垂直隣接マトリックスのサイズは、ｎ−１行×ｎ列になる。マトリックスの各構成要素は、前記ボックスの直下で隣接しているボックスに対応している連結度を表している。従って、図３のビットマップ３００に対応する垂直隣接マトリックスの全体は図７のようになる。
【００３０】
各テンプレート文字のビットマップから３番目に作成するマトリックスは画素密度マトリックスである。画素密度マトリックスは、各ボックスが黒または白の画素のどちらかで明確にマークされているかどうかを示している。ボックスの５０％以上の領域が黒（１つまたは複数の画素の値が１である）でマークされている場合に、前記ボックスに対応しているマトリックスには値１が割り当てられる。それ以外の場合は、マトリックスのエントリに値０が割り当てられる。ｎ×ｎ格子ボックスに対応した画素密度マトリックスのサイズは、ｎ行  ×ｎ  列になる。図３のビットマップに対応する画素密度マトリックスは図８のようになる。
【００３１】
本発明に基づいてこうした量の定義に他の方式を採用できることは明白である。しかし、これまで説明してきた量は、図５で説明してきた方法で使用すれば有効であった。前記量集合を使用する利点の１つは、個々の量が、最適な文字候補を選択するための評価リストになることである。この意味では前記量は冗長になる。また、個々の量が準拠している情報が異なるので、前記量は相互の関連性がない。例えば、水平マトリックスと垂直マトリックスは、直角に交わる方向性情報に基づいているが、画素密度マトリックスは方向性情報には基づいていない。従って、１つのマトリックスが誤って破壊されても他の２つのマトリックスには影響がでないのである。
【００３２】
前記マトリックスを使用すれば、ポイント・サイズ、書体、フォントが異なる文字でも、必ずしも同一ではないが類似しているマトリックスに写像することができるという効果がある。例えば、飾りのない１０ポイントのタイムズ・ローマン・フォント文字に対するマトリックスは、飾りのない１２ポイントのタイムズ・ローマン・フォント文字に対するマトリックスと同じに扱うことができ、さらに、ボールド体の１４ポイントのクーリエ・フォント文字に対するマトリックスと同じように扱うことができる。従って、サイズ、書体、フォントが異なる文字を認識する場合でも１セットのマトリックスで十分であることが多い。また、フォント、書体、サイズごとにそれぞれ別々のデータを格納する場合に比べて、記憶量が少なくて済む。
【００３３】
水平隣接マトリックス、垂直隣接マトリックス、および画素密度マトリックスが作成され、図２の参照記憶装置２０４に格納されると、処理は５０２へ続く。ここでは、図１のスキャナ１０２および図２の走査装置２０２で説明したサンプル文字のビットマップが獲得される。次の５０３では、図１のフレーマで説明したサンプル文字のビットマップが決定される。この時点で、図３のビットマップ３００のような最小境界枠で規定された文字ビットマップが獲得される。
【００３４】
次の５０４では、前記５０１で各テンプレート文字ごとに作成され格納されたマトリックスからサンプル文字のマトリックスまでの距離が測定される。好適な実施例では、ハミング距離が距離の測定に使用される。例えば、テンプレート・マトリックスＴとサンプル・マトリックスＳの２つのマトリックスが与えられ、どちらのマトリックスのサイズも同じで、各要素の値が１（黒であることを示す）または０（白であることを示す）である合計がＮであるとする。ＴとＳの両方で値が１である要素の数をＣｂで表し、ＴとＳの両方で値が０である要素の数をＣｗで表すと、テンプレート・マトリックスＴとサンプル・マトリックスＳとの間のハミング距離  Ｈ（Ｔ，Ｓ）  は次のように定義される。
【００３５】
Ｈ（Ｔ，Ｓ）  ＝  Ｎ  −  （Ｃｂ  ＋  Ｃｗ）        …（式１）
【００３６】
テンプレート文字と各サンプル文字との間のハミング距離が、垂直隣接マトリックス、水平隣接マトリックス、および画素密度マトリックスのそれぞれに対して決定される。次に、この３つの寸法値内の単一のハミング距離ベクトルを使用して、テンプレート文字と任意のサンプル文字との間の距離が決定される。
【００３７】
次の５０５では、パレートの非劣解またはパレートの最適と呼ばれる文字集合が決定される。ハミング距離に対応するベクトルの少なくとも１つの構成要素を増加させないで、あるテンプレート文字を別のテンプレート文字と置換できない場合に、そのテンプレート文字は、パレートの非劣解またはパレートの最適であるという。例えば、次のようなテンプレート文字とそれに対応したハミング・ベクトルが与えられた場合について検討する。
【００３８】
【表１】
0003618796.tif 000002
【００３９】
上記の例では、γとδが候補文字になる。
【００４０】
テキストの１行で文字サイズに変更がないと仮定した場合は、すべての非劣解な文字、すなわち選択された候補およびその行で関連した文字画像が順次格納されていく。この処理は、行末に至るまで継続される。その後の処理については後述する。文字サイズの変更が検出されると、全行ではなく１つまたは複数の単語といった単位でグループ化される。
【００４１】
次の５０６では、非劣解候補の集合には複数の非劣解候補が含まれている可能性があるので、そのような複数の非劣解候補があるかどうかが検査される。そのような候補が１つしかなかった場合は、次の５０７で、その候補が認識済み文字として選択される。それ以外の場合は、５０８で、前記行内に処理対象の文字が残っているかどうか、言い換えると、今完了した処理が行末の文字であるかどうかが判定される。処理対象の文字がまだある場合は、５０２へ戻って、別のサンプル文字のビットマップが獲得され、前記の処理が繰り返される。行内に処理対象の文字が残っていない場合は、５０７で認識された文字が確定する。次に、５０９で、現在行の文字サイズに対応する幾何学パラメータ値の表の集合が選択される。次の５１０では、選択された表を使って、未認識ビットマップごとに、表に格納されている期待パラメータ値と一致しない文字候補が削除される。複数の候補が未認識として残っている場合は、次の５１１で、未認識ビットマップごとに最良の残っている文字が、文脈に基づいて認識済み文字として選択される。この時点で、全行の認識処理が完了し、次の５１２で、処理対象の行が残っているかどうかが判定される。処理対象の行がまだある場合は、５０２へ戻って、前記の処理が繰り返される。それ以外の場合は、ここで処理が完了する。
【００４２】
上記で説明したパラメータ値の表を使用して、類似文字の曖昧性を解決する。たとえば、度数記号（°）と数値のゼロ（０）を隣接マトリックスと画素密度マトリックスだけで表したときには、前記の表を利用しなければ区別できないことがある。曖昧性は、例えば、｛ｃＣ｝、｛ｏＯ０｝、｛ｐＰ｝、｛ｓＳ｝、｛ｕＵ｝、｛ｖＶ｝、｛ｗＷ｝、｛ｘＸ｝、｛ｙＹ｝、｛ｚＺ｝のように文字の形が似ている場合、｛Ｉｉｌ｜｜！｜｝のように単一の細い垂直ストロークの場合、｛−＿｜．’｝のような矩形になっている場合、｛＾Ａ｝のように形が似ている場合に、曖昧性が発生する。
【００４３】
好適な実施例では、図３の最小境界枠３０１に関連した３つのパラメータである、高さ、垂直位置、およびアスペクト比を使って曖昧性を解決する。
【００４４】
１セットの高さテーブルは、文字に関する垂直方向の相対的なサイズを示す。例えば、クーリエ字体で１０ポイントのフォントの場合は大文字の高さは３２画素から３３画素までの範囲になる。ｂｄｆｈのようなアセンダー文字とｐｑｊｙのようなデセンダー文字を除いた、ａｃｎｍのような英小文字の高さは２５画素から２７画素の範囲になる。数字は３５画素から３６画素の範囲になり、特殊記号は個別またはグループ化してそれぞれ別の高さの範囲になる。このような情報を使用すれば、例えば、“ｏ”、“Ｏ”、“０”を認識する場合に、特定の状況でどの候補を廃棄すべきかを判定することができる。
【００４５】
同様に、１セットの垂直位置テーブルは、現在行にある他の文字との相対的な関係で、最小境界枠を文字候補の集合ごとに配置する垂直方向の位置を示している。例えば、英小文字の“ｐ”の垂直位置は、対応する英大文字“Ｐ”の位置より高くなるはずである。従って、この情報を使えば、特定の状況で不要な候補文字を削除することができる。
【００４６】
文字のアスペクト比を使用すれば、前記パラメータ表により曖昧性を解決することができる。例えば、ダッシュ記号“−”のアスペクト比は下線“＿”のアスペクト比とはまったく異なるので、この情報を使えば、特定の状況で不要な候補文字を削除することができる。
【００４７】
記憶容量が制約要因にならなければ、それぞれの候補文字ごとにパラメータ集合を格納するテーブルを使用することができる。しかし、記憶容量を節約し、前記のテーブルの構造を簡素化するためには、文字をカテゴリー別にグループ化するとよい。例えば、好適な実施例では、枠の高さというカテゴリーで文字をグループ化している。例えば、曖昧性のない正常な形としては“ａ”、曖昧性があるが正常な形は“ｃ”、アセンダーの小文字としては“ｂ”、曖昧性のないアセンダーの大文字としては“Ｂ”、曖昧性のあるアセンダーの大文字としては“Ｃ”アセンダーの数字としては“０”、デセンダー小文字としては“ｇ”、アセンダーでかつデセンダーとしては“ｊ”、特殊文字（高い）としては“＄”、特殊文字（中）としては“＊”、特殊文字（小）としては“−”がある。
【００４８】
前記パラメータ値は、上記で説明した３つの測値で非常に近似する可能性があるので、前記パラメータを複数使用しなければ明確に識別できない曖昧な文字もいくつかある。さらに、候補文字の集合に対して特別な処理が必要になる場合もある。例えば、“ｉ”、“ｌ”、“１”に相当するフォントは類似しているので、幾何学パラメータを使用しただけでは効果的識別することができないことがある。このような文字が候補集合内に残っている場合は、例えば、“ｉ”のように２つの連結された要素で構成されているかどうか、または“ｌ”や“１”のように単独の要素であるかどうかについて検査が実施される。
【００４９】
前記手法が特定の候補集合に対して有効でない場合は、次の５１１で文脈依存手法で選択が実施される。それぞれ未処理の候補ごとに、すでに認識済みの文字という文脈で最も確率の高い候補が認識文字として選択される。好適な実施例では、候補を直前と直後の文字という文脈だけで比較しているが、文脈に対して他の比較手法を採用することも可能であることは明白である。文脈ベースの選択処理５１１は、確率度を格納した固定的なデータベースを使用すること、現在処理中のドキュメントに特有情報を格納している動的なデータベースを開発すること、または処理の進捗に応じて固定データベースを修正することで実現することができる。
【００５０】
従って、パターン認識は、パターンの周囲を規定する最小境界枠を定義すること、前記パターンを格子ボックスに分割すること、前記分割済みのパターンから派生させたベクトルを、既知パターンから派生させたベクトルと比較すること、パレート非劣解候補パターンの集合を選択すること、および認識パターンを候補集合から選択することによって、実現される。
【００５１】
前記の説明は好適な実施例の動作を説明するために記述されたものであって、本発明の範囲を限定することを意味しない。本発明の範囲は、前記特許請求項だけに限定されるべきである。前記の説明により、本発明の精神と範囲によって理解できる当業者にとってはさまざまな方法があることは明白である。
【００５２】
【図面の簡単な説明】
【図１】本発明によるパターン認識用の装置の機能的なブロック図である。
【図２】本発明による、図１の装置の物理的なブロック図である。
【図３】本発明による、格子格子ボックスに分割された最小境界枠に囲まれたビットマップである。
【図４】本発明による、格子格子ボックスに分割された２番目に最小の境界枠に囲まれたビットマップである。
【図５】本発明による、パターン認識で使用される処理を示すフローチャートである。
【図６】ビットマップ３００に対応する水平隣接マトリックスを示す図。
【図７】ビットマップ３００に対応する垂直隣接マトリックスを示す図。
【図８】ビットマップ３００に対応する画素密度マトリックスを示す図。
【符号の説明】
１０２  スキャナ
１０４  フレーマ
１０６  マトリックス・プロセッサ
１０８  ハミング・プロセッサ
１１０  パレート・プロセッサ
【図１】
0003618796.tif 000003
【図２】
0003618796.tif 000004
【図３】
0003618796.tif 000005
【図４】
0003618796.tif 000006
【図５】
0003618796.tif 000007
【図６】
0003618796.tif 000008
【図７】
0003618796.tif 000009
【図８】
0003618796.tif 000010