(57)【特許請求の範囲】
【請求項１】
画像を表す画像データ中のシンボルを分類するシステムにおいて、同値類同士を併合して統合同値類を作成する方法であって、
ａ）プロセッサが、スキャナから読み込まれた画像データから抽出されたシンボルを分類して複数の同値類を作成するステップを含み、該同値類の各々がその同値類を表す標本を有し、
ｂ）プロセッサが、メモリに記憶されている第１の同値類の標本を第２の同値類の標本にマッチングするステップを含み、該マッチングステップが、第１の同値類の標本のランと第２の同値類の標本のランから得られる情報を有し、
ｃ）前記第１の同値類の標本を第２の同値類の標本がマッチする場合に、プロセッサが第１の同値類と第２の同値類の標本を結合して統合同値類を作成するステップを含み、
ｄ）上記ステップｂ〜ｃを前記複数の同値類の各々に対して繰り返して、プロセッサが複数の同値類を作成するステップを含み、
ｅ）前記複数の統合同値類の各々に対して、前記統合同値類を作成するために使用された標本のセットから、該統合同値類を表す１つの標本を選択して、ＩＤ番号とともにメモリに記憶するステップを含む、
ことを特徴とし、
ステップａ）は、
ｆ）  プロセッサが、スキャナから読み込まれた画像データから抽出されたシンボルのランレングス符号化表現を抽出するステップを含み、
ｇ）  プロセッサが、前記抽出されたシンボルのシンボル特徴を前記ランレングス符号化表現から決定するステップを含み、
ｈ）  プロセッサが、前記抽出されたシンボルと比較することができる同値類のセットをメモリに記憶されている同値類のリストから選択するステップを含み、該リストが以前に抽出されたシンボルから作成された同値類を含み、各同値類がテンプレートを含み、該テンプレートが前記同値類を表す標本にマッチングするための情報を含み、
ｉ）マッチするものが見出されるまで、又はマッチするものがない場合には全ての標本が比較されるまで、プロセッサが、前記テンプレートを用いて前記セットの同値類の各々の標本と前記抽出されたシンボルを比較するステップを含み、該比較ステップが、
ｉ１）プロセッサが、第１セットのシンボル特徴が、比較されている標本のテンプレートにおいて特定される対応するしきい値範囲内にあるかどうかを決定するサブステップと、
ｉ２）前記第１セットのシンボル特徴のいずれかが前記しきい値範囲内にない場合に、プロセッサが、抽出されたシンボルが比較されている標本にマッチしないことを示すサブステップと、
ｉ３）前記第１セットのシンボル特徴の全てが前記しきい値範囲内にある場合に、プロセッサが、前記抽出されたシンボルにおけるランが、比較されている標本のテンプレートにおいて特定されるラン終点基準を満たすかどうかを決定するサブステップと、を含み、
ステップａ）がさらに、
ｋ）前記比較ステップｉによりマッチするものが得られた場合に、プロセッサが、前記抽出されたシンボルが比較されている標本の同値類中に存在することを示すステップを含み、
ｌ）前記比較ステップｉによりマッチするものが得られない場合に、プロセッサが、前記抽出されたシンボルを標本として用いて新たな同値類を作成するステップを含み、
ｍ）該新たな同値類をメモリに記憶されている前記リストに追加するステップを含み、
同値類とは、問題を生じる程に画像の外観を変更することなく互いに置換されることのできるシンボルのセットである、
統合同値類の作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テキストの走査画像の圧縮の分野に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
デジタル化された画像の一般的な使用に対する主な障害は、それらのサイズである。３００ドット／インチ（dpi ）の８．５×１１インチの画像は、およそ８，０００，０００個のピクセルを含む。走査画像の二値化により１ピクセルにつき１ビットまでビット数が減少された後でさえ、まだ１メガバイトである。圧縮方法は、典型的にLOSSLESS（ロスレス）又はLOSSY （ロシー）と特徴づけられる。LOSSLESS圧縮方法では、データは圧縮及びその後の圧縮解除中に消失されない。LOSSY 圧縮方法では、所定量のデータが消失されるが、圧縮されたデータの本質は圧縮解除後も保持されるのでデータの消失は許容できる。
【０００３】
ＣＣＩＴＴグループ３又はグループ４のようなバイナリ画像に対する一般的なLOSSLESS圧縮方法は、１／１０〜１／２０にバイナリ画像を圧縮できる。同等画像を作成するために使用される合成電子フォームに比較すると、これでもまだ大きい。
【０００４】
ほとんどの文書はテキストを含む。バイナリ画像においてテキストを圧縮する一つの方法は、光学文字認識を実行してテキストストリームを作成し、ある種のテキスト圧縮スキームを使用してテキストストリームを圧縮し、得られたものを格納することである。あいにく、キャラクタ、フォント、フェース及び位置の選択において生じるミスは、しばしば問題を含む。
【０００５】
別の方法は、見出されるシンボルを同値類にグループ化することである。この方法では、シンボルがバイナリ画像から抽出され、一つ以上の同値類に対するテンプレートにマッチングされる。分類は部分的には、幅、高さ、マス（黒ピクセルの数）等のシンボルの特徴に基づく。典型的に、テンプレートは同値類を示すシンボルの「ビットマップ」である。主要な分類基準は、エラーピクセルの位置、構成及び数に基づく。エラーピクセルは、抽出されたシンボル又はテンプレートの両方ではなくどちらか一方において「オン」となるピクセルと定義される。圧縮された出力ファイルは、各シンボルの位置と、同値類を表すために使用される同値類の標本のＩＤと、各同値類の標本の１つの表現（テンプレート）とを含む。
【０００６】
うまく実行されると、この方法は標準的なLOSSLESS圧縮で実行されるあらゆるシンボルの個々の符号化を全て回避する。この方法はまた、（未知のフォントで）印刷、ファックス、コピー及び走査されることによって質の低下したキャラクタの外観及び間隔を適切に表現するフォント及びフェースを見出そうとすることに関連する問題の多くを回避する。詳細には、この方法はローマ字でないキャラクタセット、破壊及び結合されたキャラクタ、グラフィクス、及びページ上に現れる他のいずれにもはたらく。従来のスキームは、シンボルのビットマップを標本のビットマップと比較することによって分類を実行する。
【０００７】
従ってそのようなシステムの中心となるのはシンボル分類子である。良好な圧縮を得るには、分類子は少数の同値類を生成すべきである。シンボル置換エラーを回避するために、分類子は新しいシンボルが既存のテンプレートのいずれにもマッチしないことを実際に確信する度に、新たな同値類を作成しなければならない。これでは多数の同値類が作成されがちである。バイナリ画像中のテキストのキャラクタセットに馴染んだ人間により使用される測定基準を正確に測定する分類子を有することが目的である。しかし、既知の分類子はこれらの測定基準とあまり関連性のないシンボル特徴を測定する。これによれば、シンボルが置換されたり、極端な数の同値類が生成されたりすることになる。
【０００８】
シンボルマッチングに基づく画像圧縮の例は、”Method and Apparatus For Compression of Images”と題され、１９９４年４月１２日に出願されたマーク（Mark）他による米国特許番号第５，３０３，３１３号（'313特許）に記載されている。'313特許では画像はシンボルのマッチングに先立って「予備圧縮」される。'313特許は、このような予備圧縮のためにランレングス符号化の使用を述べている。シンボルは、ランレングス表現から抽出される。投票スキームは、シンボルマッチングの正確さを向上するために複数の類似テストと共に使用される。'313特許はさらに、マッチするシンボルに基づいてテンプレートが修正され得るテンプレート構成スキームを開示する。
【０００９】
【課題を解決するための手段】
走査シンボルの同値類への分類方法及び装置を示す。本発明は、水平方向及び垂直方向の両方向におけるランレングス情報に基づいてランレングスシンボル抽出を実行し、シンボルを分類する。同値類は１つの標本により表される。標本とのマッチングのための特徴に基づいた分類規準は、対応する標本テンプレートによって定義される。標本テンプレートは、各々が一つ以上のシンボルにマッチする規準を定義する水平方向及び垂直方向テンプレートグループを含む。特徴ベースの分類規準は全て、ランの終点から容易に計算できる量を使用する。
【００１０】
本発明のシンボル分類方法は概して；シンボルを抽出するステップと；抽出されたシンボルを整合のために準備するステップと；比較される同値類を識別するステップと；シンボルの特徴をラン情報から生成するステップと；識別された同値類の１つから標本テンプレートを得るステップと；シンボルが標本のサイズ及び傾斜（度）のしきい値を満たすことをチェックするステップであって、抽出されたシンボルが小さい場合には小シンボルチェックを実行するステップと；必要であれば抽出されたシンボル又は標本テンプレートを調整するステップと；標本テンプレートグループの規準を満たすシンボルランを見出すステップであって、全てのテンプレートグループ規準が満たされ、全てのシンボルランが消費され、マッチするものがあれば、標本にマッチングするための識別子及びシンボルの位置を記録するステップと；を含む。これは、比較に対して識別される各同値類に対してマッチするものが見つかるまで繰り返される。マッチするものがなければ、抽出されたシンボルを標本として用いて新たな同値類が作成される。小シンボルチェックは概して、小さいシンボルに特に関連があると決定されたシンボル特徴を同値類の標本のしきい値に比較することを含む。
【００１１】
同値類の数の減少は、同値類の統合と呼ばれるプロセスを通して達成される。同値類の統合では、上述されたシンボル分類プロセスを使用して標本同士がマッチングされる。各標本の３つのバージョン、即ちオリジナルの標本と、１ピクセル分上にシフトされた標本と、１ピクセル分右にシフトされた標本とが、他の同値類とマッチングされる。これはミスアラインメント（不整列、不整合）又はノイズの影響を最小化することに貢献すると共に、可能な限りマッチするものを見つけ出すことを容易にする。統合同値類を表すのに使用される標本の選択は、どの標本がほとんどのシンボルにマッチするかを決定することにより行われる。
【００１２】
本発明の一態様は、画像を表す画像データ中のシンボルを分類するシステムにおいて、同値類同士を併合して統合同値類を作成する方法であって、ａ）画像データから抽出されたシンボルを分類して複数の同値類を作成するステップを含み、該同値類の各々がその同値類を表す標本を有し、ｂ）第１の同値類の標本を第２の同値類の標本にマッチングするステップを含み、該マッチングステップが、第１の同値類の標本のランと第２の同値類の標本のランから得られる情報を有し、ｃ）前記第１の同値類の標本と前記第２の同値類の標本がマッチする場合に、第１の同値類と第２の同値類の標本を結合して統合同値類を作成するステップを含み、ｄ）上記ステップｂ〜ｃを前記複数の同値類の各々に対して繰り返して、複数の同値類を作成するステップを含み、ｅ）前記複数の統合同値類の各々に対して、前記統合同値類を作成するために使用された標本のセットから、該統合同値類を表す１つの標本を選択するステップを含む、ことを特徴とする。
【００１３】
【発明の実施の形態】
走査シンボルを同値類に分類する方法及び装置を示す。本発明は、光学文字認識（ＯＣＲ）やデータの暗号化やデータ圧縮等の種々のアプリケーションで使用され得る。かかるアプリケーションは、全体的な画像処理システムとして又はスタンドアロンアプリケーションとして見出され得る。
【００１４】
以下の用語及びそれらの意味は以下のように用いられる。
「画像」は、媒体上にマーキングされたもの、又は媒体の外観に関していう。
「画像データ」は、画像の再生に使用され得る画像表現である。
「同値類」は、問題を生じる程に画像の外観を変更することなく互いに置換されることのできる、画像中に見出されるシンボルのセットである。
「同値類の標本」は、画像が圧縮解除又はさもなければ再生される時に同値類の全てのメンバに対して置換されるシンボルである。
「標本テンプレート」又は「テンプレート」は、シンボルを標本にマッチングするのに使用されるデータ構造及び規準のセットである。
「抽出（された）シンボル」又は「シンボル」は、画像データから得られる媒体上のマーキングの画像表現である。
【００１５】
本発明は、向上されたシンボル分類子に関する。好適な実施形態のシステムは、同値類のリスト（またはディクショナリと呼ぶ）を使用し、維持する。抽出シンボルは、それが既存の同値類に追加されるべきかどうかを決定するために同値類の標本（複数）に比較される。マッチするものがなければ、抽出シンボルを標本として用いて新しい同値類が作成される。
【００１６】
上記のように、本発明は種々のアプリケーションで使用され得る。図１は、本発明を使用するアプリケーションの概略ステップを記述するフローチャートである。まず、ステップ１０１で文書が走査され、画像データが生成される。画像データは典型的に、画像のビットマップ表現である。次いでステップ１０２では、画像のクリーンアップ又はテキスト及び画像のセグメンテーション等の種々のオペレーションが画像データ上で実行され得る。本発明が処理するのはテキスト部分である。ステップ１０３では、例えば何らかのしきい値処理方法により画像データのテキスト部分がバイナリ表現に変換されて、各ピクセルがシングルビットにより表される表現が作成される。「黒」又は「オン」ピクセルはバイナリの１で表され、「白」又は「オフ」ピクセルはバイナリの０で表されるのが典型的である。シンボルのマッチングが始まるのはこの時点においてである。
【００１７】
まず、ステップ１０４において新たな個々のシンボルが抽出される。この好適な実施形態では、この抽出はバイナリ画像の結合されたコンポーネントの分析を介して発生する。シンボルは、水平方向ランのリストとして表される。ランは、「黒」又は「オン」ピクセルのシーケンスと定義される。次いで、抽出されたシンボルはステップ１０５において、抽出されたシンボルにサイズの類似する同値類の各標本に比較される。このステップはシンボル分類と呼ばれる。マッチするものがみつかると、抽出されたシンボルはステップ１０６において、マッチした標本の同値類に追加される。新たなシンボルがどの同値類にもあてはまらない場合には、ステップ１０７において新たな同値類が作成される。この好適な実施形態では、既存の同値類に追加されるシンボルの形状はすぐに捨てられ、その同値類を表す標本のみが残される。次いでステップ１０８では全てのシンボルに対してステップ１０４〜１０７が繰り返される。全てのシンボルが処理されると、ステップ１０９において、各同値類の標本の何らかの表現と各シンボルを表すべき標本の識別子と共に各シンボルの位置を含む情報が出力される。換言すれば、位置と標本識別子のペアのセットは、標本を含むディクショナリに引き継がれる。典型的には、この情報は結果的に圧縮画像となる画像のバイナリ表現よりもずっと少ない。次いでステップ１１０において、同値類が統合されて、より少数の同値類が作成され得る。同値類が統合されると、ステップ１０９で出力された標本識別子と標本ディクショナリが同値類の統合を反映するようにステップ１１１において修正される。
【００１８】
マシンの印刷したテキストを含む走査画像は、見出されるシンボルを同値類にグループ化することにより圧縮できる。この好適な実施形態は、画像データを圧縮するシステムにおいて実行された。このシステムでは、シンボル分類子が使用されて、抽出されたシンボルを独自の標本により表される同値類に分類する。作成される同値類の数は、抽出されたシンボルをトータルした数よりも少ない。作成される出力ストリームは、標本を含むディクショナリに引き継がれる標本ＩＤ／位置のペアを含む。
【００１９】
上述のように、本発明はさらに同値類のセットの統合を提供する。同値類の数の減少はさらに、ディクショナリのサイズを減少することにより画像データを圧縮する。統合を生じる方法は、シンボルが標本に比較される方法と略同じである。一般に、シンボルをマッチングする作業をより拡大すると（互いにいくらかオフセットさせようとすると）、マッチするものがより多くみつかる。効率のためには、この余分な努力をそのままのシンボルの全体的なセットに実行するのではなく、同値類の比較的小さいセットに広げるのがより効率的である。
【００２０】
画像が圧縮解除されると、識別された標本の一例が指定されたロケーションに配置されるように上記ペアの各々が処理される。これは、すべてのペアに対して継続して行われる。いくらかのデータがマッチングプロセス中に消失するかもしれないので、このタイプの圧縮はLOSSY 圧縮と呼ばれる。データの消失にもかかわらず、画像の本質は残る。
【００２１】
上記のように、本発明の目的は、向上されたシンボル分類子を提供することである。本発明のシンボル分類子はビットマップを分析するのではなく、シンボルを表すランを直接使用してシンボルを分類する。分類子は、分類のために幅及び高さのようなシンボル特徴を使用する。より詳細なシンボル特徴に対しては、分類子は、標本中の隣接する３つの走査線からなる対応するグループを見ることによって計算される正規の終点位置同士の対応する範囲と各シンボルのランの終点の位置を比較する。
【００２２】
十分な正確さを成し遂げるために、垂直方向ランが水平方向ランから生成され、ランの両セットが分類に使用される。
【００２３】
特徴ベースの分類規準は全て、ランの終点から容易に計算できる量を使用する。これらの終点の有効性により、ビットマップを用いた場合よりもシンボルの測定値の生成がずっと容易になる。特徴ベースの分類規準がシンボル分類子により如何に使用されるかを記述することにより、特徴ベースの分類規準について以下に記載する。
【００２４】
シンボルの幅及び高さは、シンボルを囲む境界ボックスにより特定される。境界ボックスを用いて比較の対象とする同値類のサブセットが選択されると共に、どのシンボル特徴テストを適用すべきかが決定される。この好適な実施の形態では、同値類の標本は、比較の資格を得るにはシンボルの幅及び高さに２つのピクセルをプラスマイナスした範囲内になければならない。
【００２５】
最も基本的なテストは、大きいシンボルの識別に適している。より小さいシンボルにおいては微妙な特徴が重要になるので、より多くのテストが必要となる。小さいシンボルは一般に、２０個以下のピクセルの幅又は高さを有するシンボルと定義される。
【００２６】
これは２つの方法で使用される。まず、非常に小さいシンボルは、幅及び高さをマッチングする比較的小さい範囲を有する。従って最小及び最大の許容幅及び許容高さが各同値類に記録される。この範囲外のシンボルは、この同値類に含められることができない。
【００２７】
幅及び高さの範囲の他方の使用は、同値類の統合中に発生する。この場合も、最小及び最大の許容幅及び高さが提供されるが、この場合には同値類が統合されると範囲が変化する。同値類統合について、より詳細に以下に記載する。
【００２８】
シンボルのマスは、シンボルが含有する黒ピクセルの数である。マスのチェックは、小シンボルチェックの一つである。それは主に太く標準的なフェースキャラクタの識別に使用される。２つのシンボルのマスの比が大きすぎる場合には、それらはマッチしない。除算は時間のかかるオペレーションであるので、この好適な実施形態の規準はマス同士の差に基づく。許容される差の量を求めるここでの計算は、（シンボル領域×（１＋シンボル領域／２５６））／８である。主にシンボルのマスに基づく計算、又はシンボルのマスと領域の両方の関数に基づく計算等の他の計算も使用され得る。なお、上記式中に示される除算演算子は、全ての端数ビットが意図的に消去される整数除算である。
【００２９】
内部（interior）のチェックは、小シンボルチェックの一つである。これは困難であるが、非常に小さい句読点シンボルを識別するために重要である。連結した黒ピクセルの小さな丸いしみ状のものは、大抵のものにマッチする。非常に多くのシンボルが、丸いしみから１ピクセル分プラスマイナスしたエンベロープ内にあてはまる。しかし、丸いしみは、コンマとはかなり異なる数の内部ピクセルを有する。内部ピクセルの数は、水平方向ランの数を倍にした数をマスから引いたもの（これは黒ピクセルの数から水平方向エッジのピクセルの数をマイナスすることにより大雑把に決定できる）であると定義される。これは正確ではないが、十分な近似値であり計算が容易である。２つのシンボルは、それらの内部が上記指定されたマスの差の範囲よりも異なるとマッチしない。
【００３０】
小さく丸いイタリックキャラクタは、小さくて丸い非イタリックのキャラクタと見分けるのが難しい。以下に１つの例を示す。
【００３１】
【外１】
0003925971.tif 000002
【００３２】
一方のキャラクタにおける全ピクセルは、他方のキャラクタ中のピクセルに非常に近い。傾斜度は、シンボルがどれくらい傾斜しているかを測定するものとして計算される。「ｙ」のように自然に傾斜したキャラクタもあるので、シンボルの傾斜度を用いて「このシンボルはイタリックキャラクタである」ということはできない。傾斜度を用いて２つのキャラクタを比較し、それらのキャラクタの傾斜度の差が大きすぎる場合にはそれらのキャラクタはマッチしないといえる。
【００３３】
傾斜度はシンボルにおけるコーナーの数と広がりの関数として計算される。連続的な列におけるランの終点のｘ位置の間の差が＋１又は−１となる度に、その差が傾斜度に加算される。差が＋１より大きいか又は−１より小さい場合には、＋２又は−２が適切であるように加算される。これは垂直方向ランに対しても実行され、傾斜が強調される。２つのシンボルは、それらの傾斜度がＭＩＮ（幅，高さ）／２よりも異なっている場合にはマッチしない。
【００３４】
Ｂやａのように小さくて濃い略方形のものはしばしば、８やｅのように小さくて濃い丸みがかったものと見分けるのが困難である。これらのキャラクタのホールは、サイズがかなり異なっている。シンボルの外部だけに基づいて測定を計算するのが最も安全である。これらのマッチしないシンボル同士がマス及び内部テストをパスした順序で、丸いシンボルは、より高さが高く若しくは幅が広く、又は高さも高く幅も広い傾向がある。
【００３５】
水平方向ボリューム及び垂直方向ボリュームも同様に定義される。水平方向ボリュームは、全範囲がシンボルの幅の少なくとも７／８である列における左右の終点同士の間のピクセルの数として定義される。同様に、垂直方向ボリュームは、全範囲がシンボルの高さの少くとも７／８であるコラム（縦列）の上下の終点同士の間のピクセル数と定義される。これは丸いものよりも四角いものを優遇する。しかし、水平方向ボリューム及び垂直方向ボリュームはしばしば意味がないので、checkHVolume及びcheckVVolumeという２つのフラグが提供される。対応するボリュームが全領域の少くとも３／４である場合にフラグがセットされる。２つのシンボルのcheckHVolumeフラグの両方がセットされ、それらの幅が等しくなく、より幅の広いシンボルがより小さい水平方向ボリュームを有する（即ち非常に丸い）場合には、それら２つのシンボルはマッチしない。対応するテストが垂直方向ボリュームに適用される。水平方向ボリューム及び垂直方向ボリュームをチェックすることも、小シンボルチェックの一つである。
【００３６】
シンボル分類子により実行される種々の処理ステップを記載する。
【００３７】
シンボルアラインメント（整列、整合）を用いて、標本のランテンプレートグループに対するシンボルのランのマッチングに備えられる。２つのアクションがとられる。１つのアクションは、ランの軸に沿うミスアラインメント（不整列、不整合）の影響を改善しようとする。２つ目のアクションはシンボルランとテンプレートランを整列させようとするものである。
【００３８】
２つのシンボルがランの軸に沿って整列されていない場合には、ケアされなければあらゆるノイズが比較ミスを生じるおそれがある。この問題を処理するために、終点の座標が変更され、重要な余剰ビットで表される。このシンボルの座標表現の変更は、ノイズに起因する寸法の変化の影響の最小化を促す。記録される水平方向ランの終点は−（実幅−１）から＋（実幅−１）までの範囲をとる。これは、（実幅−１−（−（実幅−１））= ２×実幅、という計算された幅を提供する。垂直方向ランの終点は、トップの−（実高さ−１）からボトムの（実高さ−１）までの範囲を有する。
【００３９】
２つのシンボルのミスアラインメントに対する最も一般的な理由は、一方のシンボルが、他方のシンボルがノイズを有さない側にノイズを有することである。これは、シンボルのうちの１つを１ピクセル分幅広く（又は高さを高く）する。しかし、これは対応するランの記録された座標を１だけ変化させる。この好適な実施の形態における最小のシンボル以外のすべてに対して、シンボルの終点と標本の終点の間に３という距離が許容される。３は、ミスアラインメントに対する１に１ピクセルだけオフするための２を加えた合計である。その測定は各ランの軸に沿ったミスアラインメントを考慮しようとする。
【００４０】
行われる第２のアクションは、ランに垂直な軸においてランを整列させようとする。シンボルのランを処理するシステムを以下に詳細に記述する。手短に言えば、各標本は、マッチするシンボルの終点に対する正規の範囲を記述したテンプレートを有する。アラインメントステップがなければ、比較は常にシンボルのボトム（最下）列とテンプレートの標本のボトム列との間で行われる。標本がノイズを有さないボトムにシンボルがノイズを有する場合には、シンボルと標本は正確に整合されない。これが比較ミスにつながるおそれがある。これはさらに悪いことに、実際に違うシンボル同士がそれらのエンベロープがかろうじて近くなるようにミスアラインメントされることにつながりかねない。例えば、大文字の「Ｉ」がわずかに数字の「１」の左にミスアラインメントされると、文字「Ｉ」の上のキャップの右側が、数字の「１」と十分に異なってみえる程には伸びきらない。
【００４１】
これを避けるために、シンボルの水平方向及び垂直方向の中心軸のロケーションが計算される。垂直軸のロケーションは、シンボルのエンベロープ（すなわち境界）の左右のサイドに見出されるポイントを平均することにより見いだされる。水平軸は、シンボルのエンベロープのトップの終点及びボトムの終点を平均することにより見出される。この計算は、二つの余剰ビット精度を用いて行われる（すなわち、得られる値は二進少数点未満に２ビットを有する）。次いで、シンボルの水平軸からボトムラインまで（及びシンボルの垂直軸から左サイドまで）の距離が計算される。
【００４２】
新しいシンボルを任意の標本に比較する前に、シンボルの余分なボトム列及び左コラムが作成される。これらの追加された列及びコラムはそれぞれ、アラインメント列及びアラインメントコラムと呼ばれる。余分な列（コラム）は、実際のボトム（左）列（コラム）における各ランの中央と同じコラムに１つの黒ピクセルを有する。同様に、アラインメント列及びコラムは、シンボルランのチェックに使用されるテンプレートデータ構造に追加される。テンプレートのアラインメント列及びコラムに関して言えば、それらはそれぞれボトム列及び左コラムをチェックするのに使用される１セットの二重テンプレートグループの形態にある。テンプレートグループについて以下により詳細に記載する。特定のシンボルの水平方向ランの特定の標本の水平方向ランへの比較を開始する前に、水平軸とボトム列（垂直方向ランの垂直軸と左コラム）の間の距離が調べられる。シンボルの水平軸がそのボトム列に対して、標本の水平軸がそのボトム列に対するよりも少なくとも一列近ければ、シンボルのアラインメント列を用いて比較が開始される。標本の水平軸がそのボトムに対して、標本の水平軸がそのボトム列に対するよりも一列を越えて近い場合には、標本のテンプレートの二重セットを用いて比較が開始される。これによりシンボルランが標本テンプレートに合わせられる。
【００４３】
ランの中央において列又はコラムに黒ピクセルを加えることは、ノイズを加えるのと同種である。シンボルのトップ及びボトムにおいてはノイズに対してだけチェックがなされる。ノイズについてチェックすることは、シンボルのピクセルが標本に対して遠く離れているかどうかを見るチェックである。アラインメント列（コラム）における各ランの中央にピクセルが１つだけ存在するので、シンボルのピクセルが標本上のいずれからも遠く離れてミスマッチを生じるようなことはあり得ない。
【００４４】
この方法を用いると、エラーの減少と共に同値類の数が目立って減少することがわかった。
【００４５】
これは、シンボルを同値類標本と比較する第一の方法である。大きいシンボルに対してはこれを行うだけでよい。この方法は、非常に小さいシンボルの非常に小さな差をとらえることに対しては実際のところ適切ではない（このような小さな差は小シンボルチェックによってとらえられる）。テンプレート範囲がそのような差を捕らえる程に狭くされると、かなり多くの同値類が生成される可能性がある。
【００４６】
まさに同じ方法（及び同じソフトウェアコード）を用いて、水平方向標本テンプレートに対して水平方向シンボルランがマッチングされ、垂直方向標本テンプレートに対して垂直方向シンボルランがマッチングされる。水平方向ランチェックは、垂直方向エッジにおけるミスマッチの検出に用いられる。垂直方向ランチェックは、水平方向エッジにおけるミスマッチの検出に用いられる。両タイプのチェックが行われることにより、全てのエッジにおいて正確なチェックが行われることが保証される。簡潔さのために、水平方向テンプレート及び水平方向ランのチェックについてのみ記載する。垂直方向テンプレート及び垂直方向ランのチェックも同様である。
【００４７】
標本をシンボルと比較する最も単純な方法は、各標本ランを１つのシンボルランと比較することである。あいにく、この方法は標本とシンボルの間の十分なバリエーションを考慮しないことが決定された。各シンボルランに対して単一の標本ランを参照するのではなく、標本の薄い３列水平方向スライスを用いて、各シンボルランに対する終点テンプレートを計算する。標本中の全ての列ｎに対して、列ｎ−１、ｎ、及びｎ＋１を含む標本の水平方向スライスが抽出される。このスライス中の各関連するコンポーネントが１つのグループに対応する。関連するコンポーネントは、スライス中の隣接する列におけるランとオーバーラップするランのセットにより容易に識別できる。グループは、シンボルランの終点をチェックするのに使用されるテンプレートを保持するデータ構造である。
【００４８】
グループのこの概念を図２で示す。図２を参照すると、１行目２０１は「ａ」のラン２０５、「ｂ」のラン２０６及び「ｄ」のラン２０７を、２行目２０２は「ｃ」のラン２０８及び「ｅ」のラン２０９を、３行目２０３は「ｆ」のラン２１０及び「ｇ」のラン２１１を、４行目２０４は「ｈ」のラン２１２を含む。従って１行目２０１、２行目２０２及び３行目２０３により規定されるスライスには、２つのグループが存在する。第１のグループは、ラン「ａ」２０５、「ｂ」２０６、「ｃ」２０８及び「ｆ」２１０により規定される。第２のグループはラン「ｄ」２０７、「ｅ」２０９及び「ｇ」２１１により規定される。２行目２０２、３行目２０３及び４行目２０４により規定されるスライスに対しては、１つだけのグループが存在する。このグループは、ラン「ｃ」２０８、「ｅ」２０９、「ｆ」２１０、「ｇ」２１１及び「ｈ」２１２である。
【００４９】
このグルーピングの有利な点は、エッジの配置における不確かさを大目に見ることができる点である。例えば、本発明はラン「ｈ」２１２により表されるエッジが１行上に移動してラン「ｆ」２１０及び「ｇ」２１１と結合することを許容する。従ってグルーピングは、水平方向グループが垂直方向のノイズを許容し、垂直方向グループが水平方向のノイズを許容することを可能にする。別の例としては、薄壁を有する１０×１０の円の左右のサイドは画像中でつながっているが、円の中央を通る３列スライスが、連結された２つの異なるコンポーネントを含むので、それらは個々のグループを有する。トップにおける３列スライスは、１つの関連するコンポーネントを有するので、１つのグループである。しかしながら、３列の高さ（又は３コラム分の幅）未満のホールの回りの全ての水平方向３列スライスは、単一の関連するコンポーネントを有するので、ここに１つのグループが生成される。
【００５０】
各テンプレートグループは特定のタイプからなる。４つのタイプのテンプレートグループがある。グループのタイプにより、どの種類のチェックが行われるかが決まる。チェックが失敗すると、シンボルと標本は上記のことを除いてマッチしない。４つのテンプレートグループタイプを以下に記載する。
【００５１】
CheckNoise：
このタイプは、標本のエッジで使用される。標本のピクセルの最終ラインは、マッチングシンボル中に存在するかもしれないし、存在しないかもしれない。同様に、標本のエッジのすぐ隣の空白は、その中にマッチングシンボルからのビットを有し得る。CheckNoiseグループの目的は、シンボルランがCheckNoiseグループによりカバーされる範囲と交差する場合に、全体のシンボルランがその範囲内に含まれることを保証することである。それ自身のCheckNoiseグループに適する標本エッジの最小レングスを特定するパラメータが存在する。さらに、所与のポイントの右のシンボルランだけがチェックされることにより、このグループはCheck1RunNoAdvance規準（後述する）と共に後で使用され得る。
【００５２】
Check1Run ：
これは、最も一般的なグループである。これは、対象とする領域の３本の走査線の各々において標本が正確に１つのランを有する場合に使用される。これは、左右の終点の値の範囲を含む。左終点の範囲は、３つのランの最も左の左終点と３つのラインの最も右の左終点との間である。次いで、或るスロップ（slop）が追加される。左におけるスロップのサイズは、シンボルサイズと最も左の終点が標本のラインに属するかどうかとの関数である（中間のラインに対してはより多くのスロップが許容される）。右の終点範囲も同様に計算される。
【００５３】
時に、シンボルは中央の走査線上に２つのランを有し得る。これは、標本を作成するのに使用される一例のシンボルが閉（つまった）ループを有するが他のシンボルは有さない場合に発生する。分類は主にシンボルのエンベロープの形状に関係するので、この差によって比較ミスは発生しないはずである。従って、上記規準が失敗すると、CheckEndpointsテストが実行される。
【００５４】
CheckEndpoints：
このテストは、１つのグループの３つの列のいずれかの上に１つより多くランが存在する場合に用いられる。範囲内に含まれるランのブロックの最も左の端及び最も右の端が正しい場所にあるかについてチェックが行われる。これは、小さいホールの有無が重要でないとする考え方と一致する。これはまた、標本におけるフォーク（分岐）及びジョイント（連結）を上下に移動させる。最も左の終点と最も右の終点の範囲は、Check1Run において行われる方法と同様に決定される。
【００５５】
Check1RunNoAdvance：
このグループタイプは特別なケースを扱う。これは、現行のシンボルランを越えて進行しないことを除けばCheck1Run グループと同じである。この特別なケースを以下に示す。
【００５６】
垂直方向ストロークは、垂直方向に隣接する水平方向ランの集まりと定義される。同様に水平方向ストロークもあるが、垂直方向ストロークを説明する目的でそれについては考慮しないことにする。ストロークの各列には正確に一つのランがある。非常に小さいシンボルのループにおいては、１つのみランを含むストロークにより２つの垂直方向ストロークがトップ又はボトムにおいて連結され得る。ランの正確な位置は、それが実際にストローク同士の間のギャップにわたらなければ重要でない。この場合、CheckNoiseグループが用いられてギャップの右のノイズが放棄され、Check1RunNoAdvanceグループが用いられてギャップを覆うランがあるかどうかが調査され、別のCheckNoiseグループによりギャップの上／下のラインの右端の右にあるランが放棄される。したがって、ノイズブリップは、ギャップの右及び／又は左に対してチェックされると共に許容され、CheckNoiseグループはギャップをまさにカバーする単一のラン、又はギャップの上／下のライン近くの全てのスペースをカバーする単一のランをチェックする。
【００５７】
以下により詳細に記載するように、上述のタイプの１セットのテンプレートグループが生成され、その後標本とシンボルの比較に使用される。テンプレートグループのセットは、マッチが発生する場合に満たされなければならない１セットのマッチング規準を定義する。このマッチング規準は、同値類及びその標本に唯一のものであり得る。比較中に、テンプレートグループとシンボルランの両方が右から左、下から上へと処理される。１つのテンプレートグループは複数のタイプからなるように規定できるので、各テンプレートグループは、１つ以上のシンボルランをチェックするように使用される。グループの余剰セットが標本のトップより上に生成されると、シンボルのトップにおけるノイズが捕えられる。すべての標本グループが失敗することなくチェックされると、残りのシンボルランの数がチェックされる。左にシンボルランが存在する場合には、シンボルと標本はマッチしない。ランの水平方向セットと垂直方向セットの両方がマッチする場合には、シンボルと標本はマッチする。
【００５８】
上記チェックが十分でないこともある。注意されるべき特定的な問題は、小さい太字の「ｅ」と小さい太字の「ａ」である。これら両者は傾向として、つまり気味で丸みがかっている。人は、比較的大きな特徴（差）を比較的小さい特徴にあてはめることによりこれを扱う。小さくて濃い丸いものを比較する場合には、別の、即ちより敏感なテストが用いられる。シンボルの終点が標本により特定される範囲内にあるかどうかを決定するばかりでなく、シンボル同士が実際には同じでないことを示すようにシンボルの終点が範囲内で移動していないかを決定することが意図される。
【００５９】
例えば、「ａ」は「ｅ」よりも少し方形であり、左に小さなくぼみを有する。「ａ」の左のエッジは、（ボトムにおいて）「ｅ」の左のエッジよりも左にあると共に、（中央においては）「ｅ」の左のエッジより右にある。しかしながら、シンボルと標本における相関性のないノイズをシンボルと標本が互いに放棄することもできる。
【００６０】
シンボルの左サイド及び右サイド（又は垂直方向ランを見る際にはトップ及びボトム）に対して別々に計算が実行される。両サイドに対する計算は同じであるので、左サイドの計算に関してのみ記載する。各列において、シンボルの最も左の終点（Ｓとラベル付けされるコラム）と標本の最も左の終点（Ｅとラベル付けされるコラム）の間の距離が決定される（ＥΔとラベル付けされるコラム）。なお、シンボルＳの終点と標本Ｅの終点は常に、上述のアラインメントプロセスにより２の倍数である。これらの間の距離の差は、隣接するライン（ＥΔ−ＰΔとラベル付けされるコラム）において計算される。これは、最初の誘導体のようなものである。変数Ｐは、先行する０でない距離（即ちＥΔ−ＰΔのインスタンス）を保持するように維持される。この変数は、比較プロセスの開始時に０（ゼロ）に初期化される。距離のこの差（すなわちＥΔ−ＰΔ）がゼロでない時毎に、（Ｐ＋この差）の絶対値が差の実行中の合計に加算され、次いでＰが新たな差に取り替えられる。右サイドのトータルか左サイドのトータルのいずれかが高さの３／４（垂直方向ランを比較する際には幅の３／４）より大きい場合には、シンボルと標本はマッチしない。
【００６１】
【表１】
0003925971.tif 000003
【００６２】
この計算の一例について表１を参照して説明する。表１の種々のコラムは、上述の情報を含む。表１の合計の更新というコラムは、合計値が更新されるべきかを示すと共に、記述の目的で提供される。ＥΔ−ＰΔの値が０でない場合には、合計が更新されることを思い起こしていただきたい。
【００６３】
表１の列１は、分析される最初の列を例証する。処理の開始時にＰΔ及びＰの値はゼロに初期化される。ＥΔ−ＰΔが０ではないので、合計は変更される。結果的に、合計フィールドが３という値をとることになる。
【００６４】
列２では、シンボル及び標本の終点が動かないのでＥΔ−ＰΔ＝０である。従って、合計に変化は生じない。値Ｐは列１からのものである。
【００６５】
列３では、標本の終点Ｅが移動され、ＥΔが１という値になる。ＥΔ−ＰΔがゼロでない（−２）ので、合計の更新が示される。値Ｐは列１からのものである。よって、（ＥΔ−ＰΔ）＋Ｐ＝−２＋３は１であり、これが合計に加算されて４という値が得られる。
【００６６】
列４では、標本の終点は、列１及び列２にあった場所に戻る。ＥΔ−ＰΔが０でないので、合計の更新が示される。値Ｐは列３からのものである。しかし、（ＥΔ−ＰΔ）＋Ｐ即ち（−２＋２）の絶対値はゼロであるので、合計に対して有効な変化が生じない。
【００６７】
列５では、標本の終点は列３にあった場所に戻る。ＥΔ−ＰΔが０ではないので、合計の更新が示される。値Ｐは列４からのものである。しかし、この場合には（ＥΔ−ＰΔ）＋Ｐ（即ち、−２＋２）は０であるので、合計に有効な変化は生じない。
【００６８】
列６では、シンボルの終点と標本の終点が等量移動する。Ｐは列５からその値を得る。ＥΔ−ＰΔが０であるので、合計に変化は生じない。
【００６９】
列７では、標本の終点が移動する。これは結果的に−１というマイナスのＥΔに帰結する。Ｐは列５からの値を保持する。値ＥΔ−ＰΔ＝−１−１＝−２であり、合計に加算される値は（ＥΔ−ＰΔ）＋Ｐ＝−２−２＝−４の絶対値の４であり、これが合計に加算される。次いで合計は８の値をとる。
【００７０】
列８では、標本の終点が再び動く。これは、−３というマイナスのオフセットＥΔに帰結する。値Ｐは列７からのものである。ＥΔ−ＰΔ＝−３−１＝４であり、合計に追加される値は（ＥΔ−ＰΔ）＋Ｐ＝−４−２＝−６の絶対値である６である。合計は１４というの値をとる。
【００７１】
このように作用すると、２つのシンボルが完全にミスアラインメントされる場合には終点の距離は全てこの同じミスアラインメント距離に等しいので、差は全く記録されず、合計には何も追加されない。関連のないノイズは、その差を＋１、−１、＋１、−１等のように見せる傾向がある。各ペアの合計は０であるので、不規則変動は行われない。一方、実際の変動は少くとも２つのステップに対して同じ方向に生じる傾向があるので、発現する。
【００７２】
これを実施するために、標本の最も左端と最も右端にタグが付けられる。タグがセットされると、グループの中央のライン上の標本ランとシンボルランとの差が計算される。標本が小さくて丸く濃いシンボルを表す場合にのみフラグがセットされる。
【００７３】
分類に使用される個々のテストについて記載した。ここではテストが実行される順序を記載する。先に述べたように、シンボル抽出ステップは、画像中のすべての関連するコンポーネント、又はシンボルを見出す。見出された各シンボルに対して、シンボル−ファインダ（symbol-finder ）がシンボルのロケーション、境界ボックス、及びシンボルを含むランのリストを用いる分類ルーチンを呼び出す。
【００７４】
図３は、分類ルーチンのステップを概説するフローチャートである。まず、入力される水平方向ランの座標が、（１）シンボルの中心に対して、（２）２を乗じられたオフセットを有するように、ステップ３０１において変更される。これにより、上記２つのステップにおいて−（幅−１）から＋（幅−１）までの範囲をとるシンボルランが生成される。次いで、シンボルのマス及び内部がステップ３０２において計算される。ステップ３０３においてシンボルのボトムに対してアラインメント列が作成される。これは、ボトムの走査線における水平方向ランから水平方向ランの二重セットを計算することにより行われる。これらは、各実際の水平方向ランの中央のコラムに単一の黒ピクセルを有するランである。上述のように、アラインメント列は、必要であればシンボルを垂直方向（上）にオフセットするように用いられ得る。
【００７５】
ステップ３０４では、シンボルの垂直方向ランが水平方向ランから計算される。垂直方向ランも、シンボルの中央に中心を置く２×座標を使用する。次にアラインメントコラムがステップ３０５で作成される。ここで、左コラムにおいて垂直方向ランから垂直方向ランの二重セットが作成される。これらは、各実際の垂直方向ランの中央の列に一つの黒ピクセルを有するランである。それらは、必要であればシンボルを右にオフセットするように用いられる。
【００７６】
次に、ステップ３０６においてシンボル特徴が計算される。先に述べたように、これらの特徴は、傾斜（度）、水平方向ボリューム及び垂直方向ボリューム、水平方向中心軸からシンボルのボトムまでの距離、そして垂直方向中心軸から左コラムまでの距離を含む。また、ステップ３０７では水平方向ボリューム及び垂直方向ボリュームが決定され、必要であればボリュームフラグがセットされる。対応するボリュームが全領域の少くとも３／４であれば、フラグがセットされる。これらフラグは、小さくて濃いシンボルのチェックを補助する。
【００７７】
次いでステップ３０８において、シンボルとの比較に適格な標本テンプレートがディクショナリから識別される。上述のように、標本は、比較が行われるために抽出シンボルの２つのピクセルの範囲内の高さ及び幅を有さなければならない。標本テンプレートは、幅及び高さによりグルーピングされる。表２は、標本が比較されるシーケンスを示す。「ｗ」及び「ｈ」のコラムの下に与えられる数はそれぞれ、シンボルの幅及び高さからのオフセットである。例えば、標本の第１のグループはシンボルと同じ幅及び高さを有する。調査される標本の第２のグループは、シンボルよりも１だけ幅が広い、等。所与の幅及び高さのグループの全標本は、シーケンスにおける次のサイズグループの標本を見る前に調査される。
【００７８】
【表２】
0003925971.tif 000004
【００７９】
ステップ３０９においてディクショナリが空であること又はその範囲に標本がないことが決定されれば、ステップ３１８において新たな同値類が作成される。最初のチェックは、シンボルの幅及び高さとシンボルの傾斜特徴が標本のしきい値内にあるかどうかをステップ３１１で決定することである。標本は、シンボルの高さ及び幅に対する最小値及び最大値を規定する。傾斜のしきい値は、ＭＩＮ（幅、高さ）／２という関数により定義される。これらの特徴が標本のしきい値の範囲内になければ、それが比較に適格な最後の標本であったかどうかのチェックがステップ３１２において行われる。最後の標本でなければ、次の標本がステップ３１０で読み出される。それが最後の標本であれば、新たな同値類がステップ３１８で作成される。新たな同値類を作成するステップ３１８については、標本テンプレートを参照して後述する。
【００８０】
シンボルの幅及び高さと傾斜特徴が標本のしきい値の範囲内であれば、小さいシンボル（即ち大きくないこと）に関する検査と小シンボルチェックがステップ３１３で実行される。小さいシンボルに関する検査は、シンボルの高さ及び幅が２０ピクセル以下であるかどうかである。これにより、小さいシンボルに対する特別なチェックが幅の狭い又は偏平なシンボルに実行されることができる。小シンボルチェックについては図４を参照してより詳細に、及び大きいシンボルに実行されるチェックに追加して説明する。シンボルが小さく、小シンボルチェックのいずれをもみたさない場合には、標本とマッチするものはなく、ステップ３１２において処理は可能であれば別の標本を試行し続ける。
【００８１】
シンボルが大きいか、又はシンボルが小さいと共に全ての小シンボルチェックをパスした場合には、ステップ３１４においてテンプレートグループ規準にマッチングするシンボルランが見出される。先に述べたように、標本テンプレートは、各々が特別なマッチ規準を有する水平方向及び垂直方向テンプレートグループを含む。テンプレートグループを使用するこのプロセスについては、さらに図５を参照して説明する。次いでステップ３１５では、標本テンプレートがマッチされるかどうかが決定される。マッチするものが生じなければ、処理はステップ３１２で可能であれば別の標本を試行し続ける。マッチするものが生じれば、シンボルの位置及びマッチングした標本のＩＤがステップ３１６で記録される。最後に、標本テンプレートに対するマッチカウンタがステップ３１７で増分される。後述するように、マッチカウンタは同値類統合中に使用され、統合された同値類を表現するのにどの標本が使用されるべきかを決定する。
【００８２】
図３に記されるステップは、画像から抽出される各シンボルに対して繰り返される。
【００８３】
図４は、小シンボルチェックを示すフローチャートである。これらのチェックについては図３のステップ３１３で言及した。概して、これらのチェックはシンボル特徴を標本しきい値と比較する。なお、小さく濃いシンボルに対する更なるチェックは、テンプレートグループとシンボルランの比較に関して実行され、これについては図５を参照して説明する。図４では、以下のチェックが小さいシンボルに実行される。
【００８４】
ステップ４０１では、シンボルのマスが標本により指定される範囲内にあるかどうかのチェックが行われる。２つのシンボルはそれらのマスの比が大きすぎる場合にはマッチしない。大きすぎる場合には、図３のステップ３１２で次の標本が試行される。大きすぎない場合には次のチェックが実行される。
【００８５】
ステップ４０２ではシンボルの内部が標本により特定される範囲内にあるかどうかのチェックが行われる。２つのシンボルはそれらの内部がマスの範囲を越えて異なる場合にはマッチしない。内部がマスの範囲を越えて異なれば、図３のステップ３１２で次の標本が試行される。
【００８６】
次いで、残りのチェックは小さく濃いシンボルに使用される。濃さの指標は、HVolume 又はVVolume フラグのセットである。
【００８７】
ステップ４０３では、シンボルのcheckHVolumeフラグ又は標本のcheckHVolumeフラグがセットされたか、及びシンボルと標本が同一の幅でないか、及びそれらのうちの幅の広い方がより小さいHVolume を有するかのチェックが行われる。そうである場合には、図３のステップ３１２で次の標本が試行される。そうでない場合には、次のチェックが実行される。
【００８８】
シンボルのcheckVVolumeフラグ又は標本のcheckVVolumeフラグがセットされ、及びシンボルと標本が同一の高さでないか、及びそれらのうちの高さの高い方がより小さいVVolume を有するかのチェックがステップ４０４で行われる。そうであれば、図３のステップ３１２で次の標本が試行される。そうでない場合には、すべての小シンボルチェックがパスされ、標本のテンプレートグループ規準の分析が図３のステップ３１４で実行される。
【００８９】
テンプレートグループをシンボルとマッチングするプロセスは、水平方向／垂直方向テンプレートグループと水平方向／垂直方向シンボルランの両方に対して同一である。従って、図５のフローチャートで記述されるステップは、水平方向及び垂直方向ランに対して適用される。なお、図５はまた、小さくて濃い丸いシンボルをチェックするための更なるステップについても記述する。図５を参照すると、最初のステップは、シンボルの水平方向／垂直方向軸とそのボトム列／左コラムとの間の距離（値Ｘと呼ぶ）と標本の水平方向／垂直方向軸とそのボトム列／左コラムとの間の距離（値Ｙと呼ぶ）を決定する。これらの測定は、アラインメント列／コラムがシンボル又は標本に付加されるかどうかを決定するために使用される。ステップ５０２でＸ−Ｙ≧１が真であれば、ステップ５０３でアラインメント列／コラムがシンボルに付加される。換言すれば、水平方向ランの場合、シンボルの軸がそのボトム列に対して、標本の軸がそのボトム列に対するよりも少なくとも一列近ければ、シンボルのアラインメント列を用いてシンボルが標本と整合され始める。逆にステップ５０４でＹ−Ｘ≧１が真であれば、ステップ５０５でアラインメント列／コラムが標本に付加される。換言すれば、標本の軸がそのボトム列に対して、シンボルの軸がそのボトム列に対するよりも少なくとも一列近ければ、標本のアラインメント列を用いて開始される。なお、これはシンボルのボトム列を標本にマッチングするのに使用されるテンプレートグループの二重セットに対応する。
【００９０】
処理は、各標本のボトム列、右コラムにおいて始まるテンプレート及びシンボルランを用いて進行する。ステップ５０６でテンプレートグループが得られる。次いでステップ５０７において、シンボルランリスト中の現行のラン（単数又は複数）がテンプレートグループ規準にマッチするかどうかが決定される。先に述べたように一つより多くのランがテンプレートグループの規準にマッチすることを要求されることができ、マッチ規準はグループのタイプにより特定される。テンプレート規準がランリスト中のランによって満たされない場合には、処理は図３のステップ３１２において次の標本を得るように継続する。ステップ５０８において規準が満たされる場合には、テンプレートグループにマッチングするランが消費され、ランリスト中の次のランがステップ５０９で現行ランとなる。これにより、すべてのランが標本の或るテンプレートにマッチすることが保証される。シンボルが小さく、丸く、濃い場合には、ステップ５１０においてアラインメント及びノイズチェックが列に対して実行される。このチェックは、現行列がゼロでない隣接列オフセットを有する際の隣接列オフセットの差の集積であり、これについては表１を参照して上述した。
【００９１】
ステップ５１１では、より多くのテンプレートグループがチェックされる必要があるかどうかが決定される。そうである場合には、処理はステップ５０６で継続する。そうでない場合には、シンボルランリストが使用されきったかどうかがステップ５１２において決定される。そうでない場合には、マッチするものが発生しなかったので、処理は図３のステップ３１２で次の標本を得るように継続する。小さく、丸い、濃いシンボルの場合、ランリストが消費されきった場合には、集積されたオフセットの差が所定のしきい値よりも大きいかどうかがステップ５１３で決定される。この好適な実施の形態では、所定のしきい値は、高さの３／４（垂直方向ランを比較する場合には幅の３／４）である。小さくて丸く濃いシンボルでない場合、又は所定のしきい値が越えられない場合には、マッチが発生し、処理は図３のステップ３１６においてシンボルをコード化するように継続する。しきい値を越える場合には、処理は図３のステップ３１２において次の標本を得るように継続する。
【００９２】
シンボルの抽出及びマッチングプロセスの間に、シンボルがどの標本にもマッチしないこともある。この場合には、新しい同値類が作成される。新しい同値類の標本は、抽出されたシンボルである。新しい同値類が作成されると、新しい標本にシンボルをマッチングすることを要求されるテンプレートが作成される。幸いにも、テンプレートに使用されるシンボル特徴の多くは、分類プロセス中に作成されたので、再計算される必要がない。新たな標本は、その後のシンボル分類のために標本リスト（すなわちディクショナリ）に挿入される。検索が楽なように、標本は標本を定義する境界ボックスのサイズによりインデックスを付けられる。
【００９３】
標本テンプレートは、シンボルを標本にマッチングすることを必要とされるすべてのデータを含む。図６は、標本テンプレートの基本構成要素を示す。図６を参照すると、標本テンプレートは、標本ＩＤ番号６０１と、マッチカウント６０２と、標本特徴パート６０３と、標本フラグ６０４と、しきい値範囲６０５と、種々のランポインタ６０６とを含む。
【００９４】
標本ＩＤ番号６０１は、標本テンプレートにアクセスするためにシンボル分類子により使用されるインデックスである。
【００９５】
マッチカウント６０２は、標本にマッチングするシンボルの数を含む記憶場所である。
【００９６】
標本特徴パート６０３は、幅及び高さ情報、標本中の１（黒ピクセル）の数、標本の傾斜、内部ピクセルの数、水平方向ランから計算されるアシメトリ（非対称性）、垂直方向ランから計算されるアシメトリ、水平方向ランから計算されるボリューム（各走査線上の最も左の終点と最も右の終点との間に含まれるピクセルの数の合計）、及び垂直方向ランから計算されるボリューム（垂直方向ランに対する各走査コラムにおけるトップとボトムの間に含まれるピクセルの数の合計）を含む。
【００９７】
標本フラグ６０４は、小さく濃いシンボルに対するチェックに使用されるHVolume 及び VVolumeフラグを含む。
【００９８】
しきい値範囲パート６０５は、種々のシンボルと標本特徴を比較するしきい値を含む。なお、他のしきい値範囲は実際のシンボル分類処理の間に計算される。
【００９９】
ランポインタパート６０６は、テンプレートを用いて抽出シンボル中のランをチェックするのに使用される水平方向及び垂直方向テンプレートグループのリストに対するポインタと、対応する標本を定義するランに対するポインタとを含む。
【０１００】
すべての画像シンボルを標本と比較した後、あまりに多くの同値類が存在する可能性がある。それにはいくつかの原因がある。第一は、比較における共有（ communitivity）の不足である。シンボルＡが標本Ｂにマッチしないことがわかっても、標本Ｂにより表されるシンボルがシンボルＡに対する標本にマッチするかどうかはわからない。シンボルＢが第１でシンボルＡが第２であることがわかると、実際には併合されるべき２つの標本が作成され得る。同値類超過の別の原因は、ミスアラインメント（不整列）である。ランの軸に沿うミスアラインメントを許容すると共に正確な走査線とマッチングしようとする試みがなされるが、それは必ずしもうまくいかない。
【０１０１】
同値類を合併する結果生ずる同値類は、統合同値類と呼ばれる。同値類の統合は少なくとも４つのケースを考慮に入れる：
１．統合同値類のメンバでない２つの独立した標本同士がマッチする。この場合、新しい統合同値類が生成される。
２．孤立した標本が、すでに統合同値類のメンバである標本にマッチする。この場合、孤立した標本が既存の統合同値類に追加される。
３．すでに統合同値類のメンバである標本が、孤立した標本にマッチする。この場合、孤立した標本が既存の統合同値類に追加される。
４．すでに２つの異なる統合同値類のメンバである２つの標本同士がマッチする。この場合、２つの既存する統合同値類が併合され、２つの元々の統合同値類のメンバを含む新たな統合同値類が生成される。
【０１０２】
同値類統合の際には、別の同値類の少くとも１つのメンバにマッチする或る同値類の少くとも１つのメンバを見出すことにより、同値類同士が合併される。マッチが正確でないので、推移性（移行性）に関する何らかのトラブルが発生する。すなわち、シンボルＡはシンボルＢにマッチし、シンボルＢはシンボルＣにマッチするが、シンボルＡはシンボルＣにマッチしないかもしれない。かなり拡張されると、不正確な同値類同士につながりが存在するので、同じ同値類中にかなり異なるシンボル同士が存在し得る。
【０１０３】
この好適な実施の形態では、推移性の問題は、併合される各同値類の許容サイズ範囲を、併合している同値類の範囲の交わりに制限することにより最小にされる。これは、或る同値類のシンボルが他の同値類のいずれのシンボルにも類似することを保証する。サイズ範囲が制限されると、他のテストは、大きな差の防止に対して十分に正確である。なお、他のテストはマスの許容範囲を提供すること等のアドレス指定にも使用され得るが、サイズの許容範囲に対する制限が大抵のケースを処理することが決定した。
【０１０４】
さらに、同値類統合中に個々のシンボルを比較する際、第１のシンボルの同値類中に見出されるシンボルの寸法の範囲が第２のシンボルの同値類により許容される範囲と比較される。第１の同値類中のすべてのシンボルが第２の同値類において指定される範囲内に合わなければ、２つのシンボルはマッチすることができない。同様に、第２の同値類中のすべてのシンボルが第１の同値類において指定される範囲内に合わなければ、２つのシンボルはマッチすることができない。
【０１０５】
同値類を統合する時には、それらのうちどれが新しい同値類の標本になるかが決定されるまで、すべての同値類標本が保持される。或る同値類の標本が別の同値類の標本にマッチすれば、それらの同値類は統合される。分類プロセスの特徴は、２つのシンボルがすでに同じ同値類のメンバである場合にはそれら２つのシンボルは比較されないことである。
【０１０６】
図７及び図８は、この好適な実施の形態の同値類統合を述べたものである。図７は、本発明のこの好適な実施形態における同値類統合の基本ステップを概説するフローチャートである。図７を参照すると、標本はまずステップ７０１で「シフトされない」位置において他の標本とマッチングされ、統合同値類が作成される。なお、ここでは各標本は統合同値類中にセーブされる。「マッチする」とは、セット中の標本が全て、セット中の少なくとも１つの他の標本にマッチしたとの意味である。使用されるマッチング方法は、上述のシンボル分類子のものと同じである。図８に関して後述するように、マッチングの規準は、より多くの標本がマッチングされる程、より厳しくなる。なお、各標本は正確に統合された１つの同値類に属する。
【０１０７】
マッチするものの最大数を見出すために、標本がシフトされる。「シフトされる」とは、全ランの終点が変更されるという意味である。まず、ステップ７０２において標本が右にシフトされて他の標本にマッチングされ、次いでステップ７０３において上にシフトされて他の標本に比較される。ステップ７０１〜７０３は、マッチされる標本の複数のセットを得るためにステップ７０４において全ての標本に対して繰り返される。
【０１０８】
標本が統合同値類に一旦合併されると、ステップ７０５においてその統合同値類に対する標本となるように標本の中から１つの標本が選択される。この好適な実施の形態では、これは累積されたマッチスコアにより決定される。先に述べたように、各同値類テンプレートはマッチカウントを有している。このマッチカウントは、標本にマッチすることがわかったシンボルの数に対応する。同値類の統合中に２つの標本がマッチすることがわかると、各標本は、他の標本のマッチカウントを受け継ぐ（即ち、他の標本のマッチカウントがそれらのマッチカウントに追加される）。最も高いマッチカウントを有する標本が、その同値類を表す標本となる。本発明の主旨及び範囲を逸脱しなければ、マッチカウントの重みづけ平均等の他の方法を使用することもできる。
【０１０９】
最後にステップ７０６において、処理されるシンボルを含むデータストリームが、新たな統合同値類を反映するように変更される。これは、出力データストリーム中の標本ＩＤを実際に変更することにより、又は画像は再生される時に使用される平行移動表を提供することにより、達成されることができる。またこれは、新たな同値類をディクショナリとして提供することも含む。
【０１１０】
図８は、図７のステップ７０１〜７０３で実行される標本のマッチングステップを概説するフローチャートである。このプロセスを説明する目的で、図８は標本Ａと標本Ｂを使用する。標本Ａは、他の標本に比較されている標本である。標本Ｂは、標本Ａに比較されている標本の一例を表す。標本Ａ及びＢの両者は、孤立した標本、又は統合同値類の一部である標本であり得る。前者の場合、図８中に挙げられる値／範囲は、その標本の値／範囲のことである。後者の場合、図８に挙げられる値／範囲は、統合同値類の値のことである。さらに、各標本は、２つの指定されたサイズ範囲、即ち実際のサイズ範囲と許容されるサイズ範囲を有する。実際のサイズ範囲は、標本又は統合同値類中の標本（複数）に対する実際のサイズ又はサイズ範囲を示す。許容サイズ範囲は、標本にマッチすることのできるサイズの許容範囲を表す。
【０１１１】
図８を参照すると、まずステップ８０１において、標本Ｂの実際のサイズ範囲が標本Ａの許容サイズ範囲内にあるかどうか、及び標本Ａの実際のサイズ範囲が標本Ｂの許容サイズ範囲内にあるかどうかが決定される。上述したように、これらのサイズチェックにより推移性の問題が処理されることが決定された。
【０１１２】
ステップ８０２の「サイズはＯＫ」がノーであれば、ステップ８０３において同じ同値類中にまだ存在しない次の標本が比較され、処理はステップ８０１で再開する。ステップ８０２の「サイズはＯＫ」がイエスであれば、ステップ８０４において標本Ａが標本Ｂに比較される。比較ステップは、シンボル特徴がそれぞれの標本テンプレート内に含まれるのでそれらを計算する必要がないことを除いて、上述の比較ステップと同じである。ステップ８０５の「マッチする」がノーであれば、同一の統合同値類中にまだ存在しない次の標本がステップ８０３で比較され、処理はステップ８０１で再開する。
【０１１３】
ステップ８０５の「マッチする」がイエスである場合には、ステップ８０６で標本Ａが標本Ｂと合併される。合併により、上述した種々の組み合わせに対応する統合同値類、即ち新たな統合同値類が得られたり（標本Ａ及び標本Ｂは両者とも孤立した標本である場合）、それら標本のうちの１つが既存の統合同値類に併合されたり（標本Ａ又は標本Ｂのいずれかが既存の同値類中にある場合）、あるいは２つの統合同値類が併合されたりする（標本Ａと標本Ｂが両者とも既存の統合同値類のメンバである場合）。
【０１１４】
次いで、統合同値類の実際のサイズ範囲及び許容サイズ範囲は、ステップ８０７において標本Ｂ（又は使用される標本Ｂが帰属すべき統合同値類）を考慮するように変更される。その結果、２つのサイズ範囲が次のように変更される：（１）同値類中の実際のサイズは典型的に、標本が追加されるためにより大きくなる；（２）新たな同値類にマッチングする許容サイズ範囲は、２つの合併される同値類に対して許容される範囲の交わりであるので、典型的により小さくなる。
【０１１５】
前述の例に関して同値類統合をさらに説明する。ＡＢＣＤＥＦＧＨという８つの同値類標本を有すると仮定する。
【０１１６】
まず、同値類Ａは同値類Ｂ、Ｅ及びＧとマッチすると仮定すると、（Ａ，Ｂ，Ｅ，Ｇ）ＣＤＦＨが得られる。従って、表される同値類のセットが５つのみ存在し、（Ａ，Ｂ，Ｅ，Ｆ）は統合同値類となる。比較は各標本に対して繰り返される、即ち、同一セット中の標本同士は比較されないことを除いて、同値類Ｂ〜Ｈは全て他に比較される。同値類ＣとＦがマッチし、同値類Ｄ及びＨは他のどの同値類にもマッチしないと仮定する。これにより、（Ａ，Ｂ，Ｅ，Ｇ）（Ｃ，Ｆ）ＤＨが得られる。従って、（Ｃ，Ｆ）も統合同値類となり、４つのみの同値類が存在することになる。統合同値類に対して、同値類を表す標本の選択が残る。ここで、最も累積したシンボルマッチを有するものが代表者となる。従って例えば、標本Ａが５０個のマッチを有し、Ｂが４０個のマッチを有し、Ｅが４６個のマッチを、そしてＧが２０個のマッチを有する場合には、標本Ａがその同値類を表すことになる。
【０１１７】
本発明のこの好適な実施形態が使用され得るコンピュータベースシステムについて図９を参照して説明する。図９を参照すると、コンピュータベースシステムは、バス９０１を介して接続される複数のコンポーネントを含む。ここで示されるバス９０１は、本発明を不明瞭にしないように単純化されている。バス９０１は、複数の並列バスから成る（例えばアドレスバス、データバス、状態バス）かもしれないし、複数のバスの階層構造（例えばプロセッサバス、ローカルバス、及びＩ／Ｏバス）であるかもしれない。いずれにせよ、コンピュータシステムはさらに、内部メモリ９０３からバス９０１を介して提供される命令を実行するプロセッサ９０２を含む（なお、内部メモリ９０３は典型的にはランダムアクセスメモリ又は読出し専用メモリの組み合わせである）。かかる命令は、図１〜図５と図７及び図８のフローチャートで概説された処理ステップを実行するソフトウェア中で実行されるのが好ましい。プロセッサ９０２及び内部メモリＲＯＭ９０３は、別々のコンポーネントであっても、アプリケーション指定集積回路（ASIC）チップ等の単一の集積デバイスであってもよい。
【０１１８】
またバス９０１には、英数字入力のためのキーボード９０４、データ格納のための外部記憶装置９０５、カーソル操作のためのカーソル制御デバイス９０６、及びビジュアル出力をディスプレイするためのディスプレイ９０７も接続される。キーボード９０４は典型的に、標準のＱＷＥＲＴＹキーボードであるが、電話のようなキーパッドであってもよい。外部記憶装置９０５は、固定された又は取り外し可能な磁気若しくは光ディスクドライブであってよい。カーソル制御デバイス装置９０６は典型的に、ある種の機能の実行をプログラムできるボタン若しくはスイッチを有する。さらに、スキャナ９０８もバス９０１に接続される。スキャナ９０８は、媒体（すなわち走査文書画像）のビットマップ表現を作成する手段を提供する。
【０１１９】
バス９０１に接続されることのできる任意のエレメントは、プリンタ９０９、ファクシミリエレメント９１０及びネットワークコネクション９１１を含む。プリンタ９０９はビットマップ表現を印刷するのに使用できる。ファクシミリエレメント９１２は、本発明を用いて圧縮された画像データを伝送するのに使用されるエレメントを含み得る。あるいはファクシミリエレメント９１２は、本発明を使用して圧縮された文書画像を圧縮解除するエレメントを含んでもよい。ネットワークコネクション９１１は、画像データを含むデータの受信／伝送に使用される。従って本発明により使用される画像データは、走査プロセスを介して、又は受け取られたファックスを介して、又はネットワーク上で得られることが可能である。
【図面の簡単な説明】
【図１】本発明の好適な実施形態で実行され得る、走査されたシンボルを同値類に分類するステップのフローチャートである。
【図２】標本の薄い水平方向スライスから作成されるランのグループを示す図である。
【図３】本発明の好適な実施形態で実行され得るシンボル分類のステップを概説するフローチャートである。
【図４】本発明の好適な実施形態において実行され得る小シンボルチェックのステップを概説するフローチャートである。
【図５】本発明の好適な実施形態において実行され得るテンプレートグループ／シンボルラン比較ステップを概説するフローチャートである。
【図６】標本テンプレートのコンポーネントを示すブロック図である。
【図７】本発明の好適な実施形態において実行され得る同値類統合の基本ステップを概説するフローチャートである。
【図８】図７で記述された統合同値類を作成するための標本のマッチングステップのサブステップを概説するフローチャートである。
【図９】本発明の好適な実施形態が使用され得るコンピュータベースシステムのブロック図である。
【符号の説明】
９０１    バス
９０２    プロセッサ
９０３    内部メモリ
９０４    キーボード
９０５    外部記憶装置
９０６    カーソル制御デバイス
９０７    ディスプレイ
９０８    スキャナ
９０９    プリンタ
９１０    ファクシミリエレメント
９１１    ネットワークコネクション
【図１】
0003925971.tif 000005
【図２】
0003925971.tif 000006
【図３】
0003925971.tif 000007
【図４】
0003925971.tif 000008
【図５】
0003925971.tif 000009
【図６】
0003925971.tif 000010
【図７】
0003925971.tif 000011
【図８】
0003925971.tif 000012
【図９】
0003925971.tif 000013