(57)【特許請求の範囲】
【請求項１】
非分類の入力記号Ｓと、前もって分類されたテンプレートライブラリに含まれる複数のテンプレートそれぞれとの間における相関度計算の結果に基づいて、前記入力記号Ｓを分類する方法であって、
入力記号Ｓは“ｑ”個の要素（Ｓ＝ｓ1，ｓ2，ｓ3，…，ｓk，…，ｓj，…，ｓq）を有する入力ベクトルの形で提供され、
前記テンプレートライブラリに含まれる複数のテンプレート（Ｔ1，Ｔ2，Ｔ3，…，Ｔi，…ＴT）それぞれは、前記入力ベクトルの“ｑ”個の要素に対応する“ｑ”個の要素（Ｔi＝ｔ1，ｔ2，ｔ3，…，ｔk，…ｔj，…ｔq）を有するテンプレートベクトルの形で提供されるものであり、
前記テンプレートライブラリから、相関度計算対象となるテンプレートを検索する検索ステップと、
前記検索ステップで当該相関度計算対象とされたテンプレートのテンプレートベクトルと前記入力ベクトルとの対応する要素間の相関度を順次計算して累積していく相関度計算過程において、ｋ回目の要素間の相関度を計算した際に、「当該ｋ回目まで相関度計算を行った際に累積済みの相関度」と「相関度計算をまだ行っていない残りの要素に関しての相関度を累積した場合に取り得る最大理論値」とを合計した累積限界値を求める累積限界値算出ステップと、
前記算出した累積限界値が所定の排除しきい値より小さくなったかどうかに基づいて、当該相関度計算対象となっているテンプレートを排除するか否か判定する排除判定ステップと、
前記排除判定ステップにおいて排除しないと判定された場合、当該テンプレートの相関度計算を継続する継続ステップと、
前記継続ステップで相関度計算が継続されて全ての要素間の相関度計算が終わったと判断した場合、当該相関度計算対象のテンプレートの情報と、全ての要素間の相関度を累積して得られた最終累積済み相関度とを保存する保存ステップと、
前記排除判定ステップにおいて排除すると判定された場合、もしくは、前記保存ステップで当該相関度計算対象のテンプレートの相関度計算が終了して保存された場合に、前記検索ステップで次のテンプレートを相関度計算対象として検索し、前記累積限界値算出ステップと前記排除判定ステップと前記継続ステップと前記保存ステップとによる処理を実行するように制御する制御ステップと、
前記排除判定ステップで排除されなかったテンプレートそれぞれの最終累積済み相関度に基づいて、前記入力記号Ｓを対応するテンプレートに分類する分類ステップとを備えることを特徴とするＯＣＲの制御方法。
【請求項２】
前記排除しきい値は累積値であり、前記テンプレートベクトルを用いた前記入力ベクトルの分類プロセス中に各非排除テンプレートの最終累積済み相関度に基づいて前記初期排除しきい値を置き換えることにより、次のテンプレートに対する該排除しきい値が決定されることを特徴とする請求項１に記載のＯＣＲの制御方法。
【請求項３】
一つの非排除テンプレート以外のテンプレート全てが前記分類プロセス中に排除されることを特徴とする請求項２に記載のＯＣＲの制御方法。
【請求項４】
前記「相関度計算をまだ行っていない残りの要素に関しての相関度を累積した場合に取り得る最大理論値」は、「相関度計算をまだ行っていない入力ベクトルの要素の強度」と「相関度計算をまだ行っていないテンプレートベクトルの要素の強度」との積であることを特徴とする請求項１に記載のＯＣＲの制御方法。
【請求項５】
前記「当該ｋ回目まで相関度計算を行った際に累積済みの相関度」を
0003706646.tif 000008
とし、
前記「相関度計算をまだ行っていない入力ベクトルの要素の強度」を
0003706646.tif 000009
とし、
前記「相関度計算をまだ行っていないテンプレートベクトルの要素の強度」を
0003706646.tif 000010
とすることを特徴とする請求項４に記載のＯＣＲの制御方法。
【請求項６】
前記「相関度計算をまだ行っていない残りの要素に関しての相関度を累積した場合に取り得る最大理論値」は、「相関度計算をまだ行っていない入力ベクトルの要素の強度」であることを特徴とする請求項１に記載のＯＣＲの制御方法。
【請求項７】
前記「ｋ回目まで相関度計算を行った際に累積済みの相関度」を
0003706646.tif 000011
とし、
前記「相関度計算をまだ行っていない入力ベクトルの要素の強度」を
0003706646.tif 000012
とすることを特徴とする請求項６に記載のＯＣＲの制御方法。
【請求項８】
前記「相関度計算をまだ行っていない残りの要素に関しての相関度を累積した場合に取り得る最大理論値」は、「相関度計算をまだ行っていないテンプレートベクトルの要素の強度」であることを特徴とする請求項１に記載のＯＣＲの制御方法。
【請求項９】
前記「ｋ回目まで相関度計算を行った際に累積済みの相関度」を
0003706646.tif 000013
とし、
前記「相関度計算をまだ行っていないテンプレートベクトルの要素の強度」を
0003706646.tif 000014
とすることを特徴とする請求項８に記載のＯＣＲの制御方法。
【請求項１０】
前記ｋが複数の設定値のいずれかになるたびに、前記累積限界値算出ステップで前記累積限界値を求めることを特徴とする請求項１に記載のＯＣＲの制御方法。
【請求項１１】
前記複数の設定値は前記累積限界値の変化に基づいて変更されることを特徴とする請求項１０に記載のＯＣＲの制御方法。
【請求項１２】
前記入力ベクトルとテンプレートベクトルにおける対応するｑ対の要素がソートされず、当該入力ベクトルとテンプレートベクトル内の連続する位置順に要素間の相関度計算が行われることを特徴とする請求項１に記載のＯＣＲの制御方法。
【請求項１３】
前記入力ベクトルとテンプレートベクトルにおける対応するｑ対の要素が所定の順にソートされ、当該ソート順に要素間の相関度計算が行われることを特徴とする請求項１に記載のＯＣＲの制御方法。
【請求項１４】
入力ベクトルとテンプレートベクトルのベクトル要素が数値を有し、前記ソートが数値によるものであることを特徴とする請求項１３に記載のＯＣＲの制御方法。
【請求項１５】
前記数値は２進数値であることを特徴とする請求項１４に記載のＯＣＲの制御方法。
【請求項１６】
該数値がグレースケールレベルに基づく数値であることを特徴とする請求項１４に記載のＯＣＲの制御方法。
【請求項１７】
前記入力ベクトルを形成する要素の数値によって、ｑ対の対応する要素がソートされることを特徴とする請求項１４に記載のＯＣＲの制御方法。
【請求項１８】
前記テンプレートベクトルを形成する要素の数値によって、ｑ対の対応する要素がソートされることを特徴とする請求項１４に記載のＯＣＲの制御方法。
【請求項１９】
入力記号が複数のテンプレートのいずれに属するか分類する分類方法であって、
前記入力記号の各要素と前記テンプレートの対応する各要素とから、順次、各要素の要素計算を行なって、該要素計算の結果を累積して累積相関度を求めていく相関度累積工程と、
前記相関度累積工程でｋ回目の要素計算を行った際の累積相関度と、当該（ｋ＋１）回目の要素計算以降に計算される相関度を累積した場合の最大理論値とを合計した累積限界値を求める累積限界値算出工程と、
前記累積限界値算出工程で算出された累積限界値が所定の排除しきい値より小さくなったと判断した場合、当該テンプレートに関する累積相関度計算を中止して当該テンプレートを分類対象から排除し、次のテンプレートに関しての累積相関度の計算を開始するよう制御する制御工程と、
前記制御工程により分類対象から排除されなかったテンプレートについての累積相関度に基づいて、前記入力記号が属するテンプレートを分類する分類工程とを備えることを特徴とする分類方法。
【請求項２０】
入力記号が複数のテンプレートのいずれに属するか分類する分類装置であって、
前記入力記号の各要素と前記テンプレートの対応する各要素とから、順次、各要素の要素計算を行なって、該要素計算の結果を累積して累積相関度を求めていく相関度累積手段と、
前記相関度累積手段でｋ回目の要素計算を行った際の累積相関度と、当該（ｋ＋１）回目の要素計算以降に計算される相関度を累積した場合の最大理論値とを合計した累積限界値を求める累積限界値算出手段と、
前記累積限界値算出手段で算出された累積限界値が所定の排除しきい値より小さくなったと判断した場合、当該テンプレートに関する累積相関度計算を中止して当該テンプレートを分類対象から排除し、次のテンプレートに関しての累積相関度の計算を開始するよう制御する制御手段と、
前記制御手段により分類対象から排除されなかったテンプレートについての累積相関度に基づいて、前記入力記号が属するテンプレートを分類する分類手段とを備えることを特徴とする分類装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、入力記号のＯＣＲ（光学文字認識）の制御方法に関するものであり、特に、相関度計算を加速するために排除しきい値を用いる比較不等式関数に基づくＯＣＲにおける分類方法に関する。
【０００２】
【従来の技術】
従来、比較関数というものは、文字テンプレートビットマップのライブラリと比較して入力記号ビットマップを分類する目的で用いられてきた。各々の入力／テンプレート相関値のすべてのピクセル比較の総和値によって、最近似一致を示す相関値が得られた。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の相関度計算手法においては、分類プロセスを加速する目的のために、低相関度テンプレートを排除するための比較不等式関数、及びその基礎となる“排除不等式原理”は用いられなかった。また、これら従来技術の手法においては、ピクセル強度ソートやピクセル識別ソートも用いられることはなかった。
【０００４】
本発明は、上記の従来技術に鑑みてなされたものであり、ＯＣＲベクトルを加速分類するために比較不等式関数（ＣＩＦ）に基づくＯＣＲ分類方法を用いたＯＣＲの制御方法を提供することを目的とする。
【０００５】
また、本発明の他の目的は、一つの非分類入力記号を前もって分類された文字テンプレートライブラリ中へ分類するために、加速相関度計算を用いたＣＩＦに基づく分類方法を適用したＯＣＲの制御方法を提供することにある。
【０００６】
また、本発明の他の目的は、“排除不等式原理”を用いることにより相関度計算が加速されるような比較関数に基づく分類方法を適用したＯＣＲの制御方法を提供することにある。
【０００７】
また、本発明の他の目的は、排除しきい値を用いることにより加速されるようなＣＩＦに基づく分類方法を用いたＯＣＲの制御方法を提供することにある。
【０００８】
また、本発明の他の目的は、排除チェックポイントを用いたＣＩＦに基づく分類方法を適用したＯＣＲの制御方法を提供することにある。
【０００９】
また、本発明の他の目的は、強度ソートによって加速されるＣＩＦに基づく分類方法を適用したＯＣＲの制御方法を提供することにある。
【００１０】
また、本発明の他の目的は、識別ソートによって加速されるＣＩＦに基づく分類方法を適用したＯＣＲの制御方法を提供することにある。
【００１１】
また、本発明の他の目的は、相関度計算での即時使用のために、テンプレートデータが前もって計算され、格納されているＣＩＦに基づく分類方法を適用したＯＣＲの制御方法を提供することにある。
【００１２】
【課題を解決するための手段】
及び
【作用】
上記の目的を達成する本発明のＯＣＲ制御方法の一つによれば、非分類入力記号Ｓを、前もって分類されたテンプレートライブラリ中へ分類するための加速方法が提供される。相関度計算は、入力記号Ｓと、テンプレートライブラリから検索されたテンプレートとの間で開始される。相関度の低いテンプレートは相関度計算の終了前に排除される。入力記号Ｓは、“ｑ”個の要素（Ｓ＝ｓ1，ｓ2，ｓ3，…，ｓk，…，ｓj，…，ｓq）を持つ非分類文字を定義する入力ベクトルの形で提供される。Ｔ個のテンプレート（Ｔ1，Ｔ2，Ｔ3，…，Ｔi，…ＴT）から成るライブラリが提供され、入力ベクトルとの相関度計算のために検索される。各テンプレートは、“ｑ”個の要素（Ｔi＝ｔ1，ｔ2，ｔ3，…，ｔk，…ｔj，…ｔq）を持つ、前もって分類された文字を定義するテンプレートベクトルの形になっており、入力ベクトルの“ｑ”個の要素と対応する“ｑ”対の要素が形成される。入力ベクトルをテンプレートベクトルと相関させるための比較不等式関数が提供され、この関数によって要素毎の相関度計算（ｓ，ｔi）が定義される。入力ベクトルの各々の“ｑ”対の対応する要素と各検索テンプレートベクトルに対する要素計算サイクルが比較不等式関数によって実行され、対応する要素の各対に対する要素項が得られる。また、比較不等式関数によって定義された相関度計算（ｓ，ｔi）の前回までの計算サイクルで得られた要素項が合計され、“ｋ”回の計算サイクル後の累積限界が得られるとともに、“ｑ”回の計算サイクルの終了後には最終限界が得られる。
【００１３】
累積限界値が排除しきい値と交差した場合、検索テンプレートを排除するための排除しきい値が決定される。尚、累積限界値が排除しきい値と交差しない場合は、検索テンプレートは排除されない。初期テンプレートは、テンプレートライブラリから検索される。要素毎の相関度計算（ｓ，ｔi）が“ｑ”対の対応する要素に対して開始され、累積限界が得られる。累積限界が排除しきい値と交差した場合、当該検索テンプレートは排除される。検索テンプレートが排除されてしまうまで、あるいは、最終限界値を得るために検索テンプレートに対する相関度計算（ｓ，ｔi）が終了するまで、相関度計算と排除ステップが繰り返される。ここで、非排除検索テンプレートは保存される。そして、次のテンプレートが、テンプレートライブラリから検索される。上述の相関度計算と排除、保存、検索の工程は、すべてのテンプレートベクトルが入力ベクトルと相関されるまで繰り返される。非分類入力記号は、相関度計算によって得られた最終限界の数値に基づき、非排除の前もって分類されたテンプレートへ分類される。
【００１４】
本発明の比較不等式関数（ＣＩＦ）に基づく方法、及び、相関度加速計算のさらなる目的と効果は、以下に詳述される説明及び図面（一定の比率で図示されたものではない）から明白になるであろう。
【００１５】
【実施例】
以下に添付の図面を参照して、本発明の好適な実施例を説明する。尚、添付の各図において、各参照番号の第１数字は、その要素が最も顕著に示される図を指す。また、第２数字は関連する構造上の要素を示し、最後の文字は、要素のサブ部分を示す。
【００１６】
＜ＯＣＲシステム＞
図７は本実施例が適用されるＯＣＲ（光学文字認識）システムの概略制御構成を表すブロック図である。同図において、１００はＣＰＵであり、本システムの全体の制御を行う。１０１はＲＯＭであり、ＣＰＵ１００によって実行される制御プログラム（図２のフローチャートを実現するプログラム等）や、文字認識のための各種テンプレートデータを格納する。１０２はＲＡＭであり、ＣＰＵ１００が各種の制御を実行する際の作業領域を提供する。また、スキャナ１０５より読み取られた非分類の入力記号のイメージデータ（ビットマップ）もこのＲＡＭ１０２に格納される。
【００１７】
１０３はＣＲＴであり、ＣＰＵ１００の制御により各種の表示を行う。１０４はキーボードや、ポインティングデバイス等で代表される入力装置である。１０５はスキャナであり、印刷されたテキスト等を光学的に読み取る。１０６はバスであり、上記の各構成を接続し、各構成間における相互のデータのやり取りを可能とする。以上のようは構成において、ＣＰＵ１００は、スキャナ１０５より読み取ったテキストのイメージデータから、当該テキストを認識し、文字コードを割り当てる。
【００１８】
＜排除不等式原理＞
前もって分類された文字テンプレートライブラリ中へ非分類入力記号を加速分類する方法は、等式コーシー−シュワルツ関数（Ｃ−Ｓ）のような適切な比較関数（ＣＦ）から展開された不等式原理に基くものである。比較関数によって要素毎の相関度が得られ、その相関度で入力記号ベクトルの各要素がテンプレートベクトルの対応する要素と組合わされて相関係数が得られる。非分類入力記号ベクトル（Ｓ＝ｓ1，ｓ2，ｓ3，…，ｓk，…，ｓj，…，ｓq）と第ｉ番目の前もって分類されたテンプレートベクトル（Ｔi＝ｔ1，ｔ2，ｔ3…ｔk…ｔj…ｔq）とを相関させるためのコーシー−シュワルツ等式相関度関数（記号，第ｉ番目テンプレート）フォーマットは、次のとおりである。即ち、
ＣＦ（Ｓ，Ｔi）＝（ドット積和）／（イメージ強度和）であり、
【数４】
0003706646.tif 000002
となる。
【００１９】
入力ベクトルは入力記号のメモリビットマップと等しく、各々個々の要素はビットマップ内の個々のピクセルのイメージ強度（２値あるいはグレースケールコントラストレベル）を表す。同様に、テンプレートベクトルの要素は文字テンプレートビットマップ中のピクセルを表す。
【００２０】
ドット積和（式１の分子）は、第１要素対（ｓ1，ｔ1）から最後の要素対（ｓq，ｔq）までの対応する対の要素に対するすべての個々の（Ｓ，Ｔ1）要素計算の総和である。コーシー−シュワルツ関数の場合、この要素計算は単純な乗算である。コーシーシュワルツ関数の場合、イメージ強度和（式１の分母）には、各ｓj及びｔj要素の二乗が含まれる。非分類入力文字Ｓは、それと最も高い相関度を持つテンプレート文字として分類される。
【００２１】
大抵の場合、入力ベクトルとテンプレートベクトルは単位ノルムに対する（正規化された）プレスケーラーであってもよい。その場合式１は次のようになる。即ち、
正規化Ｃ−Ｓ相関度関数＝
【数５】
0003706646.tif 000003
となる。
【００２２】
式２の分母のイメージ強度和は単位元に正規化される。分子のドット積和は、“ｓ”と“ｔ”要素が、現在正規化されている“ｓ”と“ｔ”値を指しているという点を除いて、不変のままである。
【００２３】
入力ベクトルとテンプレートベクトルは、ｋ番目の要素計算によって分離され、先端部ベクトル（ＬＰＶ）と末端部ベクトル（ＴＰＶ）になってもよい。
【００２４】
１とｑの間の任意のｋに対して
入力記号ベクトル＝[LPV , TPV]
Ｓ＝[(ｓ1, ｓ2， … ，ｓk) , (ｓk+1，…，ｓq)]
テンプレート記号ベクトル＝[LPVt , TPVt]
Ｔi＝[(ｔ1, ｔ2 … ｔk) , (ｔk+1，…，ｔq)]
相関度計算が進行するにつれて、比較関数も同様に、第ｋ項によって分離され、先端部相関度（ＬＰＣ）及び末端部相関度（ＴＰＣ）になる。即ち、
ＣＦ（Ｓ，Ｔi）＝ＬＰＣ＋ＴＰＣであり、
【数６】
0003706646.tif 000004
である。
【００２５】
最初のｋ個の要素の先端部相関度（ＬＰＣ）は累積されたものである。すなわち、ＬＰＣ和は、各要素計算サイクル後にそれ以前の（ｋ−１）個のＬＰＣ和を用いた現在の要素計算との総和によって更新される。残りのｋ＋１以降の要素を含むＴＰＣは計算されない。代りに、ＴＰＣは残余の強度和によって置き換えられる（式４、５及び６を参照）。
【００２６】
式３の同等比較関数（ＣＦ）は、ＴＰＣを、記号残余強度和とテンプレート残余強度和とによって形成される合成残余強度和で置き換えることにより、以下の式４のコーシー−シュワルツ比較不等式関数（ＣＩＦ）になる。記号残余強度（ＳＲＩ）和とは、ｋ回目の計算サイクルの後、ＴＰＣに残るイメージ強度データ（すなわち入力記号情報）である。テンプレート残余強度（ＴＲＩ）和とはｋ回目の計算サイクルの後にＴＰＣの中に残る、イメージ強度データ（すなわちテンプレート文字情報）である。即ち、ＣＩＦは、
ＣＩＦ（Ｓ，Ｔｉ）≦ＬＰＣ＋（ＳＲＩ）（ＴＲＩ）  であり、
【数７】
0003706646.tif 000005
となる。
【００２７】
合成残余強度和は、もし入力ベクトルのｋ＋１番目以降の残りの要素がすべてテンプレートベクトルのｋ＋１番目以降の残りの要素と完全に相関した場合、理論上生じるＴＰＣの最大可能値を表す。
【００２８】
式４の不等式が正規化された式２の等式に基くので、残余和ＳＲＩとＴＲＩは必然的に単位元未満となる。相関度計算が進行するにつれて、ＬＰＣは、（ＳＲＩ）（ＴＲＩ）の減少より速い速度で増加する。“ｋ”の値が“ｑ”に接近するにつれて、ＳＲＩ和とＴＲＩ和は双方とも０に接近し、不等式限界値をより狭いものにする。“ｋ”が“ｑ”に等しくなるとき、ＬＰＣは完全相関となる。残余和によって導入された不確定性は自己除去される。そして、式４の不等式は等式となる。
【００２９】
式４の比較不等式関数（ＣＩＦ）は、ＴＲＩ和を単位元に設定することにより、より単純なＳＲＩ比較不等式関数（ＣＩＦ）となる。即ち、
ＣＩＦ（Ｓ，Ｔi）≦ＬＰＣ＋ＳＲＩ  となり、
【数８】
0003706646.tif 000006
となる。
【００３０】
式５のＳＲＩ不等式には式４の（ＳＲＩ）（ＴＲＩ）不等式より多くの不確定性がある。“ｋ＝ｑ”のとき、ＬＰＣは完全相関となり、ＳＲＩ和は０になる。式５の不等式は等式となる。
【００３１】
式４の比較不等式関数（ＣＩＦ）は、さらにＳＲＩ和を単位元に設定することにより、より単純なＴＲＩ比較不等式関数（ＣＩＦ）になり得る。即ち、
ＣＩＦ（Ｓ，Ｔｉ）≦ＬＰＣ＋ＴＲＩ  となり、
【数９】
0003706646.tif 000007
となる。
【００３２】
式６のＴＲＩ不等式にも式４の（ＳＲＩ）（ＴＲＩ）不等式より多くの不確定性がある。“ｋ”が“ｑ”に等しいとき、ＴＲＩ和は０となり、式６の不等式は等式となる。
【００３３】
＜２値による実施例  −  非ソートの場合（図１Ａ、１Ｂ、１Ｃ）＞
入力記号“Ｅ”（図１Ａのピクセルビットマップ参照）とテンプレート文字“Ｔ”（図１Ｂのピクセルビットマップ参照）との要素毎の相関度を相関度グラフ１０（図１Ｃ参照）によって例示する。ＴＲＩ不等式（式６）の先端部相関和ＬＰＣ１２（ボールドのプロット）は累積され、Ｅ／Ｔ相関度計算（ｓ，ｔi）が終了へ向けて進行するにつれて、順次単調に増加する。ＴＲＩ和１４（メディアムプロット）は順次単調に減少し、比較不等式関数ＣＩＦ１６（ライトプロット）はより遅い速度で減少する。ＴＲＩ１４が０になるにつれて、最終限界値になる（ＣＩＦ＝ＬＰＣ）上限累積限界値はＣＩＦ１６によって定義される。
【００３４】
図１の例では、要素の数と計算サイクルを最小限にするために、単純２値による低分解能（１０行×７列）の記号“Ｅ”とテンプレート“Ｔ”のピクセル行列を示す。不等式排他原理は、より高い分解能の２値（及びグレースケール）の実施例に適用可能であるが、それらの実施例は、言うまでもなく、より複雑で、ずっとより多くのデータ及びコンピュータメモリを必要とする。記号“Ｅ”とテンプレート“Ｔ”の対応するピクセル対は、図１Ａと図１Ｂのビットマップの数０１〜７０によって示されている。目標ピクセルの数だけが、ビットマップ（及び相関度グラフ１０のプロットに）に含まれている。ほとんどの目標ピクセルは、背景ピクセル（通常明色あるいは白）と前景ピクセル（通常暗色あるいは黒色）との間の強度遷移を示す。通常、背景ピクセルがピクセル母集団の多数派を形成し、前景ピクセルは通常は少数派を形成する。図１Ａの“Ｅ”及び図１Ｂの“Ｔ”のボールドのアウトラインによって示されるように、前景ピクセルによって、入力記号とテンプレートのストロークが形成される。
【００３５】
図１の低分解能実施例において、ピクセルは、第１ピクセル（番号０１、左上部隅）から最終ピクセル（番号７０、右下部隅）まで通常のラスタ走査の順序に並んでいるものと考える。そして、これらのピクセルはビットマップメモリから連続してアクセスされる。明／暗２値（あるいはグレースケール強度）に基いてピクセルをソートした結果については、グレースケール実施例の部で論じる。ダブルソートについてはダブルテンプレートソートの部で論じる。
【００３６】
図１Ｃの水平軸は時間軸に相当し、各計算サイクル（ｋ番目）後、次の対応するピクセル対（ｋ＋１番目）へ最後（ｋ＝ｑ＝７０）まで右方向へ増加する。ＴＲＩ＝０でかつＬＰＣ＝ＣＩＦである場合、相関度計算（ｓ，ｔ１）は、ｋ＝６０で有効に終了する。残りのピクセル６１〜７０は背景ピクセルであり、コーシー−シュワルツＴＲＩ不等式の実施例（式６）に対する有用なデータは含まれていない。図１Ｃの垂直軸は、０．００と１．００の間でＬＰＣ１２、ＴＲＩ１４及びＣＩＦ１６の正規化された値を示す。ＴＲＩ１４は１．００（ｋ＝０）からスタートし、トップマージン（列１及び２）からピクセル番号１６までは０の状態であるが、ここで、テンプレート“Ｔ”が明るい背景から暗い前景へ変化する。ＬＰＣ１２は０（ｋ＝０）からスタートしピクセル番号１６まで来るが、ここで、テンプレート“Ｔ”と記号“Ｅ”の両方が、明るい背景から暗い前景に変化する。上記の２値の実施例によって、入力ピクセル（明または暗）とテンプレートピクセル（明または暗）との間の４つのクラスの不一致状況（下記２値不一致テーブル中に示す）が示される。
【００３７】
＜２値不一致テーブル＞
［クラスＡ（不在不一致）  入力明  −  テンプレート明］
（ビットマップ周囲の明るいマージン領域、行１、２、１０、列１と７、及びいくつかの内部ピクセルを含む）
▲１▼ＬＰＣ１２は“ｓ”と“ｔ”が０であるためクラスＡの不在不一致ピクセルでは変化しない．
▲２▼“ｔ”が０なのでＴＲＩ１４は変化しない．
▲３▼ＬＰＣ１２とＴＲＩ１４がどちらも変化しないので、ＣＩＦ１６は変化しない。
【００３８】
［クラスＢ（明白な不一致）  入力明  −  テンプレート暗］
（ピクセル２５、３２、４６及び５３を含む）
▲１▼“ｓ”が０なので、ＬＰＣ１２はクラスＢの明白な不一致ピクセルでは変化しない．
▲２▼“ｔ”が０でないのでＴＲＩ１４は減少する．
▲３▼ＴＲＩ１４のみが変化するのでＣＩＦ１６は減少する。
【００３９】
［クラスＣ（潜在的不一致）  入力暗  −  テンプレート明］
（ピクセル２３，３０，３７，３８，４４，５１，５８，５９，６１、及び
６２を含む）
▲１▼“ｔ”が０なので、ＬＰＣ１２はクラスＣの転換不一致ピクセルでは変化  しない．
▲２▼“ｔ”が０なので、ＴＲＩ１４は変化しない．
▲３▼ＬＰＣ１２とＴＲＩ１４がどちらも変化しないので、ＣＩＦ１６は変化しない。
【００４０】
［クラスＤ（不在の不一致）  入力暗  −  テンプレート暗］
（ピクセル１６，１７，１８，１９，２０，３９、及び６０を含む）
▲１▼“ｓ”と“ｔ”が共に０でないので、ＬＰＣ１２は増加する．
▲２▼“ｔ”が０でないので、ＴＲＩ１４は減少する．
▲３▼ＬＰＣ１２とＴＲＩ１４がオフセット変化をするのでＣＩＦ１６は変化しない。
【００４１】
ＴＲＩ１４は、“ｔ”が０でない（クラスＢ及びＤ）場合、相関度計算中に１１回減少する。“ｓ”と“ｔ”がどちらも０でない（クラスＤ）場合、ＬＰＣ１２は、７回しか増加しない。ＣＩＦ１６は、４回（クラスＢ）減少する。ＴＲＩ１４は“ｔ”の平方和で、“ｓ”のゼロ状態によって影響されない。一方、“ｓ”あるいは“ｔ”のいずれかが０である場合、ＬＰＣ１２は“ｓ”×“ｔ”積の和である。
【００４２】
ＬＰＣ１２、ＴＲＩ１４及びＣＩＦ１６の各ステップ変化のサイズは図１Ｃに図示された通りではない。図１Ｃでは、例示上の単純性を図るために、ステップサイズは等しく一定であるものとして示されている。このステップサイズは実際にはビットマップ中の強度情報（前景ピクセル数）の関数である。ＬＰＣ１２プロットの正規化されたステップサイズは、“Ｅ”入力記号ビットマップ中の前景ピクセル数の平方根より大きく、相関度計算の間ずっと一定である。ＴＲＩ１４のプロットの正規化されたステップサイズは、“Ｔ”テンプレートビットマップ（ｋ＝０）中の前景ピクセルに対する、ＴＲＩ和（ｋ＝ｊの）中に残る前景ピクセルの比率の平方根より大きい。相関度計算が終了へ向けて進行するにつれて、ＴＲＩステップは漸進的に減少する。ＣＩＦプロットのステップサイズは、ＬＰＣとＴＲＩステップサイズの変動差をたどる。
【００４３】
＜総括的方法  −  フローチャート（図２）＞
前もって分類したテンプレートライブラリ中へ非分類入力記号Ｓを加速分類する総括的な方法を図２に示す。相関度計算（ｓ，ｔi）は、テンプレートライブラリから検索された入力記号Ｓとテンプレートの間で開始される。相関度の低いテンプレートは、相関度計算の終了前に排除され、相関度計算が加速される。本ＯＣＲ法の基本ステップを図２に示し、以下に説明する。
【００４４】
“ｑ”個の要素（ｇ＝ｓ1，ｓ2，ｓ3，ｓk，…ｓj，…，ｓq）を持つ非分類文字を定義する入力ベクトルの形式の入力記号Ｓを与える（ステップＳ１）。
【００４５】
この入力ベクトルとの相関度を求めるために検索するＴテンプレート（Ｔ1，Ｔ2，Ｔ3，．．．Ｔi．．．ＴT）のライブラリを与える。各テンプレートは、入力ベクトルの“ｑ”個の要素と対応するｑ対の要素を形成する“ｑ”個の要素（Ｔ1＝ｔ1，ｔ2，ｔ3，．．．ｔk，．．．ｔj，．．．ｔq）を持つ、前もって分類された文字定義を行なうテンプレートベクトルの形式になっている（ステップＳ１）。
【００４６】
要素毎の相関度計算（ｓ，ｔi）を定義し、“ｑ”対の対応する要素のそれぞれに対して要素計算サイクルを実行する入力ベクトルをテンプレートベクトルと相関させるための比較不等式関数ＣＩＦを与える。相関度計算（ｓ，ｔi）によって各対の対応する要素に対応する要素項が得られる。また、相関度計算（ｓ，ｔi）によって、相関度計算（ｓ，ｔi）の前回までの計算サイクルからの要素項の和が得られ、“ｋ”回の計算サイクルの後に累積限界値が出され、ｑ回の計算サイクルの終了後に最終限界値が得られる（ステップＳ１）。
【００４７】
累積限界値が排除しきい値と交差した場合、検索テンプレートを排除するための排除しきい値が決定され、累積限界値が排除しきい値と交差ない場合には、検索テンプレートは排除されない（後述の＜排除しきい値＞を参照のこと）。相関度計算を終了するために必要となる計算サイクルを比較するために、０．７８という排除しきい値（Ｅ）が、非ソート実施例（図１）、強度ソート実施例（図３）、ダブルソート実施例（図４）に示されている（ステップＳ２）。
【００４８】
相関度計算（ｓ，ｔi）が進行するにつれて、その間の要素計算サイクルの間に、排除しきい値と累積限界値を比較するための、一連の連続排除チェックポイント（後述の＜排除チェックポイント＞を参照）を決定する（ステップＳ２）。
【００４９】
テンプレートライブラリから最初のテンプレートを検索する。テンプレートベクトルは、ライブラリからメモリ順序、あるいは、任意の順序で得てもよいし、あるいは履歴上の推論あるいは他の選択基準に基いて選択してもよい（ステップＳ３）。
【００５０】
累積限界値を得るために“ｑ”対の対応する要素に対して要素毎の相関度計算（ｓ，ｔi）を開始する（ステップＳ４）。
【００５１】
累積限界値が排除しきい値と交差した場合検索テンプレートを排除する。排除されたテンプレートに対して、全ての相関度計算を最後まで行なう必要はない（ステップＳ５、ステップＳ６）。
【００５２】
検索テンプレートが排除されてしまうか、最終限界値を得るために検索テンプレートに対する相関度計算（ｓ，ｔi）が終了してしまうまで、相関度計算と排除ステップを繰り返す（ステップＳ３〜ステップＳ７）。
【００５３】
ステップＳ７でＹＥＳの場合、ステップＳ８において非排除検索テンプレートを保存する。
【００５４】
最後のテンプレートでなければステップＳ９からステップＳ３へ戻り、テンプレートライブラリから次のテンプレートを検索する。
【００５５】
すべてのテンプレートベクトルが入力ベクトルと相関してしまうまで、相関度計算、排除、保存、検索ステップを繰り返す。
【００５６】
相関度計算によって得られた最終限界値の数値に基づいて、非排除の前もって分類されたテンプレートと比較して非分類入力記号を分類する（ステップＳ１０）。
【００５７】
＜排除しきい値＞
累積限界値がしきい値と交差した場合、検索テンプレートを排除するために、排除しきい値（ＥＴＨ）を用いてもよい。（図１、３、４に示すような）０．７８というＥＴＨは、相関度計算の初期に低相関度テンプレートを排除するのに適切な値である。累積限界値が排除しきい値と交差しない場合検索テンプレートは排除されない。排除しきい値は、テンプレートベクトルを用いて入力ベクトルを分類するプロセス中に初期排除しきい値を各々の非排除テンプレートの最終限界値と置き換えることによって累積し、決定した値であってもよい。単一の非排除テンプレートを除いてすべての検索テンプレートは、典型的な分類プロセスの中で排除される。累積限界値は、単一の非排除テンプレートの最終限界値へ向かって進行する。各相関度計算（ｓ，ｔi）に対する初期累積限界値は、高いものであってもよく、最終限界値へ向かって下へ進む上限値を形成するものであってもよい。図１の上限値実施例では、累積限界値は初期値１．００であり、相関度計算が終了するか、累積限界値が０．７８のＥＴＨと交差するまで減少する。
【００５８】
各非排除のテンプレートに対する初期排除しきい値は０であってもよく、少し（あるいは大いに）増えてもよい。初期テンプレートに対する相関度計算（ｓ，ｔi）によって第１限定排除しきい値が得られる。この排除しきい値が増加するにつれて、減少していく累積限界値は、少ない計算サイクルで排除しきい値と一般に交差することになる。すなわち、排除しきい値が高ければ高いほど相関度計算の加速が大きくなる。初期排除しきい値は限定値であってもよいが、その場合の相関度計算では、加速化は実質的には初期計算サイクルに由来するものとなる。初期排除しきい値は０より大きい値で、許容できる最小最終限界値より小さい（若しくは等しい）ものであればよい。最大の加速化が得られるのは、許容できる最小最終限界値と等しい排除しきい値の場合である。この高い排除しきい値の場合は、初期値０の排除しきい値の場合のような上昇時間を必要としない。そして、迅速に、まさにその最初の計算サイクルから絶望的に低い相関度テンプレートが排除される。
【００５９】
＜排除チェックポイント（図５及び６）＞
図５を参照すると、減少していく累積限界値を排除しきい値と比較するための各相関度計算中に時々排除チェックポイント５８を設けて、累積限界値が排除しきい値と交差したかどうかを判別してもよい。排除しきい値が交差した場合、そのテンプレートベクトルに対する相関度計算は終了し、次のテンプレートベクトルが検索される。この排除ステップ（図２を参照）には、以下に説明する追加ステップを含めてもよい。
【００６０】
累積限界値を排除しきい値と比較することにより、第１排除チェックポイントで検索テンプレートの排除をチェックする。
【００６１】
累積限界値が排除しきい値と交差した場合、要素毎の相関度計算（ｓ，ｔi）を終了することにより、検索テンプレートを排除する。
【００６２】
累積限界値が排除しきい値と交差していない場合、次の排除チェックポイントへ移して要素毎の相関度計算（ｓ，ｔi）を継続する。
【００６３】
図５に示すように、相関度プロットの水平軸に沿って等しく一定の間隔で配置された線形の一連の排除チェックポイントを設けて、排除チェックポイント間の計算サイクルの各間隔内の要素計算サイクル数を固定してもよい。数回の計算サイクルを持つ短い間隔中に頻繁なチェックを含めて、排除しきい値を越える累積限界値のオーバシュートを最小限にすることができる。各間隔における計算サイクルの固定数は１でもよい（この場合、チェックステップはすべての計算サイクルの後に行なわれることになるが）。かくして、オーバシュートが妨げられる。ビットマップ行列が大きい（高分解能）場合、現在の累積限界値をチェックするには、次の累積限界値を計算するより少ないコンピュータ時間が必要となる。
【００６４】
要素毎の相関度計算（ｓ，ｔi）が非線形の一連の排除チェックポイントの提供を開始するつれて、各間隔における計算サイクル数が可変なもの、あるいは適応性を持つものであってもよい。図６に示されるような、適応性を持つ１つの実施例においては、要素毎の相関度計算（ｓ，ｔi）が進行するにつれて、排除チェックポイント６８間の各間隔における計算サイクル数がより少なくなってもよい。相関度計算は、相関度計算の開始時でのチェックは頻繁ではないが、累積限界値が排除しきい値に接近するにつれてより頻繁にチェックが行なわれる。
【００６５】
排除チェックポイント間隔は、相関度計算で実行される計算サイクル数の代りに、ＴＲＩ和あるいは累積限界値の変化に基づくものであってもよい。排除チェックポイント間の要素計算サイクルの各間隔中の累積限界値の変化を固定し、線形の一連の、相関度プロットの垂直の軸に沿って等しく一定の間隔で配置された排除チェックポイントを設けてもよい。二者択一的に言えば、各間隔中の累積限界値の変化に適応性を持たせ、ＬＰＣ和がＣＩＦ和に接近するにつれて、例えば、漸進的により小さくなるようにしててもよい。
【００６６】
＜テンプレート強度ソート（図３）＞
図１を参照すると、入力ベクトルビットマップとテンプレートベクトルビットマップ内の連続する位置順に、入力ベクトルとテンプレートベクトルのｑ対の対応する要素をソートせずに、相関度計算（ｓ，ｔi）によって相関させてもよい。二者択一的に言えば、図３に示されるように、ｑ対の対応する要素をソート順にソートし、相関させて相関度計算を加速させてもよい。ベクトル要素には強度を示す数値があり、ビットマップ中のピクセルを相関度計算より以前の数値によってソートし、相関順序を決定してもよい。このソートは、入力ベクトルあるいはテンプレートベクトルのいずれかの中の、背景ピクセル（大多数母集団）もしくは前景ピクセル（少数母集団）によるものであってもよい。数値ソートは正順（最低強度を最初にする）でも、逆順（最高強度を最初にする）でもよい。２値ビットマップでは単純２レベルソートが要求される。グレースケールビットマップはすべての（あるいはいくつかの）強度レベルによってソートしてもよいし、ソートのために２値にディジタル化してもよい。
【００６７】
図３Ｃに、前景ソートされた低分解能２値テンプレートのＥ／Ｔ相関度プロット３０を例示する。テンプレート“Ｔ”のストロークには、相関度計算の最初の１１の要素を形成する１１の前景ピクセルが含まれている（図３Ｂ参照）。先端部相関ＬＰＣ３２が比較不等式関数ＣＩＦ３６に等しくなり、相関度計算が終了するＴＲＩ＝０（ｋ＝１１）になるまで、ＴＲＩ３４は各計算サイクルを減少させる。０．７８の排除しきい値（Ｅ）に対して、テンプレートベクトルは、図３Ｃに示されるように第９計算サイクルで排除される。ＣＩＦ１６が０．７８でＥＴＨと交差するまでに、図１のｃ／Ｔ非ソート相関では４６回の計算サイクルを必要とした。
【００６８】
図３に示されるようなテンプレート前景ピクセルによるソートにはいくつかの利点がある。ビットマップは通常背景ピクセルより少ない前景ピクセルを有し、従って終了までに必要とされる計算サイクルが少なくて済む。ストロークピクセル（暗画素）のみをソートし相関させればよい。周辺の背景マージン（白）を形成する広いエリアは前景ソートに適用できず、無視してもよい。さらに、各テンプレートの強度ソート順は、テンプレートビットマップの検索のためにメモリ中に予め決めて格納しておいてもよい。
【００６９】
＜ダブルテンプレートソート（図４）＞
図４に示されるように、入力ベクトルとテンプレートベクトル中のｑ対の対応する要素をダブルソートしてもよい。すなわち、最初は強度によって、次いで識別力によってソートするというようにしてもよい。文字ビットマップ中の各ピクセルは、別のビットマップ中の対応するピクセルと明白な不一致（不一致テーブル−クラスＢを参照）を示す一定の確率を有する。ストロークピクセルを含む確率の低い、ビットマップの中央背景エリア内のピクセルが、最も高い識別力を有し、ダブルソート実施例において最初に相関が行なわれる。
【００７０】
図４Ｃに、前景ピクセルがダブルソートされた低分解能２値テンプレートのＥ／Ｔ相関度プロット４０を例示する。テンプレート“Ｔ”には、第１ソート（図３に示されるのと同じ強度ソート）によって決定されるように、相関度計算（図４Ｂ参照）の最初の１１の要素を形成する１１のピクセルが含まれている。単一強度ソートの場合と同じく、ＴＲＩ４４は各計算サイクルを減少させ、ＴＲＩ＝０（ｋ＝１１）になる。この時、ＬＰＣ４２は比較不等式関数ＣＩＦ４６と等しくなり相関度計算は終了する。しかしながら、ＣＩＦ４６と先端部相関ＬＰＣ４２は、ダブルソート実施例においては異なる行動をとる。すなわち、ＣＩＦ４６は、最初の４回の計算サイクル毎に減少し、ＬＰＣ４２は０．００のままである。
【００７１】
“Ｔ”テンプレートのピクセル０１、０２、０３及び０４は共通ストロークパスから外れている。入力記号“Ｅ”を含むほとんどの文字には、ビットマップの中心の背景ピクセルの列を形成する中央の垂直ストロークがない。さらに、これらの４つのテンプレートピクセルの高さは、ほとんどの水平ストロークの高さからわずかに外れている。“Ｔ”テンプレートのすべてのピクセルの中でこれら４つのピクセルが、任意の呈示入力記号のピクセルと明白な不一致（クラスＢ）を起こす可能性がもっとも高い。
【００７２】
０．７８のＥＴＨに対して、テンプレートベクトルは、図４Ｃに示されるように第３計算サイクルで排除される。ＣＩＦ３６が０．７８でＥＴＨと交差するまでに、図３のＥ／Ｔ単一ソート相関では９回の計算サイクルを必要とした。図１の非ソート相関では４６回の計算サイクルを必要とした。
【００７３】
＜グレースケール実施例（図５及び６）＞
排除しきい値、強度ソート及びダブルソート加速手法は、高分解能グレースケールビットマップにも適用可能である。図５は、グレースケール（２５６レベル）を持つ高分解能ビットマップ（６０行×５０列）に基づくＥ／Ｔ相関度グラフ５０を示す。３つのプロット、ＬＰＣ５２、ＴＲＩ５４及びＣＩＰ５６は、“Ｅ”と“Ｔ”の低強度トップマージンの故に初期相関度計算中水平である。ＴＲＩ５４は０まで下り、約ｑ＝２４５０で相関度計算は終了する。最後の４００ピクセルかそこらはテンプレートボトムマージンである。しかしながら、Ｅ＝０．５０に対して、約ｑ＝１０００で“Ｔ”テンプレートは排除される。
【００７４】
図６に、グラフ５０と同じビットマップベースでの、相関度計算を加速するための強度ソートを持つＥ／Ｔ相関度グラフ６０を示す。３つのプロット、ＬＰＣ６２、ＴＲＩ６４、ＣＩＰ６６はより高速に進行する。ＴＲＩ５４は０まで下り、約ｑ＝１０００で相関度計算は終了する。しかしながら、Ｅ＝０．５０に対して、約ｑ＝６００で“Ｔ”テンプレートは排除される。
【００７５】
ＯＣＲベクトル分類を加速するための比較不等式関数（ＣＩＦ）に基づく方法を提供することにより本発明の目的が達成されることは当業者に明白であろう。加速された相関度計算を用いて、前もって分類された文字テンプレートライブラリ中へ非分類入力記号を分類することが可能になる。“排除不等式原理”を用いることによって、相関度計算を加速してもよい。さらに、排除しきい値及び／または排除チェックポイントを用いてもよい。強度ソート及びキー要素の識別に基づくダブルソートによって一層の加速を行なってもよい。
【００７６】
本明細書に示された構造と実施例において、本発明の概念から外れることなく多様な変更を行なってもよいことは明らかである。さらに、様々な図中で示された実施例の特徴を他の図の実施例に関して用いてもよい。
【００７７】
したがって、本発明の範囲は、以下に述べるクレームに述べられている事項及びそれに相当する法律事項によって決定されるものである。
【００７８】
尚、本発明は、複数の機器から構成されるシステムに適用しても１つの機器からなる装置に適用しても良い。また、本発明はシステム或いは装置に本発明により規定される処理を実行させるプログラムを供給することによって達成される場合にも適用できることはいうまでもない。
【００７９】
【発明の効果】
以上説明したように、本発明によれば、ＯＣＲベクトルを加速分類するために比較不等式関数（ＣＩＦ）に基づくＯＣＲ分類方法を用いたＯＣＲの制御方法が提供され、ＯＣＲ分類の処理速度が向上する。
【００８０】
【図面の簡単な説明】
【図１Ａ】  入力記号“Ｅ”の２値低分解能ビットマップダイアグラムを表す図である。
【図１Ｂ】  テンプレート文字“Ｔ”の２値低分解能ビットマップダイアグラムを表す図である。
【図１Ｃ】  テンプレート“Ｔ”のビットマップと相関する入力“Ｅ”のビットマップのＬＰＣ和とＴＲＩ和及びＣＩＦを示す、ビットマップの要素毎のプロットを表す図である。
【図２】ＣＩＦに基づく加速方法の手順を表すフローチャートである。
【図３Ａ】Ｅ／Ｔ相関度計算を終了するために必要とされる計算サイクルを少なくするための強度ソートの例を説明する図である。
【図３Ｂ】Ｅ／Ｔ相関度計算を終了するために必要とされる計算サイクルを少なくするための強度ソートの例を説明する図である。
【図３Ｃ】Ｅ／Ｔ相関度計算を終了するために必要とされる計算サイクルを少なくするための強度ソートの例を説明する図である。
【図４Ａ】ダブルソートの例を説明する図である。
【図４Ｂ】ダブルソートの例を説明する図である。
【図４Ｃ】ダブルソートの例を説明する図である。
【図５】ＬＰＣ和、ＴＲＩ和及びＣＩＦ和を示す、非ソート高分解能グレースケールビットマップに基づくＥ／Ｔ相関度グラフを表す図である。
【図６】相関度計算を加速するための強度ソートに対する図５のＥ／Ｔ相関度グラフを表す図である。
【図７】本実施例を適用するＯＣＲシステムの概略制御構成を表すブロック図である。
【符号の説明】
１００  ＣＰＵ
１０１  ＲＯＭ
１０２  ＲＡＭ
１０３  ＣＲＴ
１０４  入力装置
１０５  スキャナ
１０６  バス
【図１Ａ】
0003706646.tif 000015
【図１Ｂ】
0003706646.tif 000016
【図１Ｃ】
0003706646.tif 000017
【図２】
0003706646.tif 000018
【図３Ａ】
0003706646.tif 000019
【図３Ｂ】
0003706646.tif 000020
【図３Ｃ】
0003706646.tif 000021
【図４Ａ】
0003706646.tif 000022
【図４Ｂ】
0003706646.tif 000023
【図４Ｃ】
0003706646.tif 000024
【図５】
0003706646.tif 000025
【図６】
0003706646.tif 000026
【図７】
0003706646.tif 000027