(57)【要約】【課題】手書き文字認識システムを提供する。【解決手段】低レベル認識プロセッサ（３４）が、時間順序誘導プロセッサから接続されており、順序付きのクラスタ・アレーを受け取り、それぞれの順序付きのクラスタ・アレーに対する文字リストを含むシーケンシャルな文字アレーを発生し、それぞれの文字リストには、対応する順序付きのクラスタ・アレーの可能性のある解釈を表す少なくとも１つの文字識別が含まれる。言語的なポスト・プロセッサ（３６）が、低レベル認識プロセッサから接続されており、シーケンシャルな文字アレーを受け取り、文書の手書き文字の最も蓋然性のある解釈を表す出力ストリングを発生する。【選択図】図２９
2006338687.tif 000002
【特許請求の範囲】
【請求項１】
手書き文字認識システムにおいて用いられ可能性のある識別を手書き文字に割り当てる低レベル認識プロセッサであって、前記文字認識システムは、ユーザによる手書き文字のリアルタイムの入力を提供するタブレット及びペンと、イメージ・スキャナから接続されており文書からの手書き文字を文書の手書き文字の発生の誘導された時間順序付きのシーケンスを表しそれに対応するスケルタル・イメージ・アークの空間的な順序付きの座標アレーを含む順序付きのクラスタ・アレーとして提供するイメージ・プロセッサとを含む、低レベル認識プロセッサにおいて、
前記タブレット及びペンを介するユーザ入力を検出して指示するペン入力検出手段であって、前記ユーザ入力は、ペン・ストロークとペン状態とを含む、ペン入力検出手段と、
前記ペン入力検出手段から接続されており、現在のストロークのストローク記述子情報を前記現在のストロークが前記ユーザによって入力される際に記憶する入力クラスタ・バッファと、
前記入力クラスタ・バッファから接続されており、前記現在のストロークのストローク記述子情報を記憶する点バッファと、
前記入力クラスタ・バッファから接続されており、前記ペン状態に応答して、前記現在のストロークのストローク記述子情報を前記点バッファに転送する点検出手段と、
前記点バッファから接続されており、前記ペン状態に応答して、ストローク認識特徴を前記現在のストロークのストローク記述子情報から抽出し、意味を前記現在のストロークに割り当て、前記イメージ・プロセッサから接続されており、ストローク認識特徴を前記順序付きのクラスタ・アレーから抽出するストローク特徴認識手段と、
前記ストローク特徴認識手段から接続されており、それぞれのストロークに割り当てられた意味に応答して、少なくとも１つの文字識別を認識してそれをストロークのそれぞれのクラスタに割り当てるクラスタ認識手段と、
から構成されることを特徴とする低レベル認識プロセッサ。
【請求項２】
手書き文字認識システムにおいて用いられ、シーケンシャルな文字アレーを受け取り、文書の手書き文字の最も蓋然的な解釈を表す出力ストリングを発生する言語的プロセッサであって、
シーケンシャルな文字アレーと、文書におけるストロークのそれぞれのクラスタに対する文字リストを含み手書き文字を表すシーケンスとを受け取り、前記文字リストを文字ストリングに構成し、それぞれの文字ストリングに関する言語的な解析を実行して、それぞれの文字ストリングにおける文字の最も蓋然的で正確な組合せを決定する言語的アナライザと、
それぞれの文字ストリングにおける文字のそれぞれの組合せの字句的な解析を実行して、それぞれの文字ストリングのそれぞれの文字の最も蓋然的な意味を決定し、前記文書の手書き文字の最も蓋然的な解釈を表す出力ストリングを発生する字句アナライザと、
から構成されることを特徴とする言語的プロセッサ。
【請求項３】
請求項２記載の言語的プロセッサにおいて、この言語的プロセッサは、
前記文字リストを読み取り、所定の当初の長さを有する文字リストの文字ストリングを選択し、
前記当初の文字ストリングの最初において生じる１対の文字リストと、前記当初の文字ストリングの最後において生じる１対の文字リストとに基づいて第１の言語的な解析を実行して、対応する手書き文字の正確な識別の高い蓋然性を有する文字リストの最初の又は最後の対を選択し、
前記当初の文字ストリングの文字リストの後続の対に基づいて第２の言語的な解析を実行し、文字リストの後続の対のそれぞれは、文字リストの前記選択された最初の又は最後の対の一方の文字で開始し、１つの文字リストのステップにおいて前記文字ストリングに沿って進むように選択されていることを特徴とする言語的プロセッサ。
【請求項４】
シーケンシャルな文字アレーに含まれる手書き文字の認識のための言語的な解析を実行して、文書の手書き文字の最も蓋然的な解釈を表す出力ストリングを発生する方法において、
言語的アナライザの動作によって、
シーケンシャルな文字アレーと、文書におけるストロークのそれぞれのクラスタに対する文字リストを含み手書き文字を表すシーケンスとを受け取るステップであって、それぞれの文字リストは、ストロークの対応するクラスタの可能性のある解釈を表す少なくとも１つの可能性のある文字識別を含む、ステップと、
前記文字リストを文字ストリングに構成するステップと、
それぞれの文字ストリングに関する言語的な解析を実行して、それぞれの文字ストリングにおける文字の最も蓋然的で正確な組合せを決定するステップと、
言語的アナライザの動作によって、
それぞれの文字ストリングにおける文字のそれぞれの組合せの字句的な解析を実行して、それぞれの文字ストリングのそれぞれの文字の最も蓋然的な意味を決定するステップと、
前記文書の手書き文字の最も蓋然的な解釈を表す出力ストリングを発生するステップと、
を含むことを特徴とする方法。
【請求項５】
請求項４記載の方法において、
前記文字リストを読み取り、所定の当初の長さを有する文字リストの文字ストリングを選択するステップと、
前記当初の文字ストリングの最初において生じる１対の文字リストと、前記当初の文字ストリングの最後において生じる１対の文字リストとに基づいて第１の言語的な解析を実行するステップと、
対応する手書き文字の正確な識別の高い蓋然性を有する文字リストの最初の又は最後の対を選択するステップと、
前記当初の文字ストリングの文字リストの後続の対に基づいて第２の言語的な解析を実行するステップであって、文字リストの後続の対のそれぞれは、文字リストの前記選択された最初の又は最後の対の一方の文字で開始し、１つの文字リストのステップにおいて前記文字ストリングに沿って進むように選択される、ステップと、
を更に含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手書き文字の認識のためのシステムに関し、特に、リアルタイムのユーザの手書き文字に加えて走査された文書に含まれる手書き文字を認識するシステムと、認識された可能性のある文字の組合せの字句的（lexical）及び言語的（linguistic）な処理と、に関する。
【背景技術】
【０００２】
コンピュータ・システムは、当初は、ユーザからの入力を、標準化された及び容易かつ明瞭に定義された入力を生じさせることのできる数種類の標準的な装置に限定していた。その例としては、キーボードや、マウスやタッチパッドなどの種々のポインティング・デバイスがある。しかし、より最近では、例えば、デジタイジング・タブレット及びペン（デジタイザ）を介しての手書きの入力などのような、それほど標準化されていないユーザ入力を受け入れるシステムの必要性や有用性に対する一般的な認識が存在してきている。
【０００３】
このようなシステムがどれも直面する共通の問題は、標準化された文字を有していない入力を迅速に信頼性をもって認識することのできる、手書き文字入力処理方法及びメカニズムを開発することにある。例えばデジタイジング・タブレット及びペンを介して入力された手書き文字の、大きさ、スペーシング、方向付け（オリエンテーション）、及び、更には手書き文字の形状は、ユーザの間で非常に変動する。
【０００４】
種々のシステムが手書き文字認識のために開発されてきているが、ほとんどの手書き文字認識システムは、文字が入力される際の文字の形成に関する動的な特性（dynamic characteristics）に大きく依存するという点で、限定的なものである。すなわち、文字ストロークの順序及び方向付けや、更には、ストロークが形成される方向などを全て用いて、文字を、入力の際に、認識する。そのようなシステムの例は、この出願と同日に出願された同時継続出願である米国特許出願第０８／４７６８２６号に示されているシステムである。そこでは、手書き文字を入力時に認識する新たに開発されたシステムが開示されている。
【０００５】
しかし、文字形成の動的特性を認識プロセスにおいて使用することができない場合には、手書き文字を認識する際に、依然として、重大な問題点が存在する。その一例は、作成された後でイメージとしてシステムの中に走査によって取り込まれた文書などの、既に作成済みの文書における手書き文字の認識である。
【０００６】
別の問題として、あらゆる手書き文字入力を、完全な正確さと信頼性とをもって認識することのできる完全な能力をもつ手書き文字認識システムはない、ということがある。文字通り全ての手書き文字認識システムは、入力された手書き文字から成るほとんど全てのストリングに対して、このシステムでは認識できない結果、すなわち、文字又はストロークの組合せを少なくともいくらかは含む結果を出力する。この問題を解決しようとする試みも、例えば、スペル・チェック機構を用いることによってなされているが、これらのアプローチは、概して成功していない。
【０００７】
本発明は、従来技術におけるこれらの及びそれ以外の問題点に対する解決を提供しようとするものである。
【発明の開示】
【０００８】
本発明は、手書き文字を含む先に作成された文書の走査されたイメージを発生する文書スキャナと、特定の構成によっては、ユーザによる手書き文字のリアルタイムの入力のためのペン及びデジタイジング・タブレットと、を含む手書き文字認識システムに関する。
【０００９】
本発明による手書き文字認識システムは、文書スキャナから接続されており先に作成された文書の走査されたイメージを受け取り１又は複数の順序付きのクラスタ・アレーを発生するイメージ・プロセッサを含む。この順序付きのクラスタ・アレーは、手書き文字のストロークを表しそれに対応するスケルタル・イメージ・アーク（skeletal image arc）の空間的な順序付きの座標アレーを含み、空間的な順序は、文字ストロークの作成のシーケンスをエミュレートする手書き文字のストロークの作成の誘導された時間順序付きのシーケンスを表す。
【００１０】
低レベル認識プロセッサが、時間順序誘導（time order induction）プロセッサから接続されており、順序付きのクラスタ・アレー（ordered cluster arrays）を受け取り、シーケンシャルな文字アレーを発生し、このシーケンシャルな文字アレーは、それぞれの順序付きのクラスタ・アレーに対する文字リストを含み、それぞれの文字リストは、対応する順序付きのクラスタ・アレーの可能性のある解釈を表す少なくとも１つの文字識別を含む。
【００１１】
最後に、言語的ポスト・プロセッサ（linguistic post processor）が、低レベル認識プロセッサから接続されており、シーケンシャルな文字アレーを受け取り、文書の前記手書き文字に関する最も蓋然性のある解釈を表す出力ストリングを発生する。
【００１２】
本発明によると、前記イメージ・プロセッサは、文書の走査されたイメージを受け取り、その走査されたイメージの中に現れるそれぞれの手書き文字のストロークの１又は複数のセグメントを識別するセグメント識別手段（segmentor）を含むように構成し得る。次に、前記セグメント識別手段から接続された細字化プロセッサ（thinning processor）が、それぞれのセグメントを、１又は複数のスケルタル・イメージに還元するように動作する。ただし、それぞれのスケルタル・イメージは、１又は複数のスケルタル・イメージ・アークを含み、それぞれのスケルタル・イメージ・アークは、手書き文字の対応する１又は複数のストロークを表す１ピクセル幅のイメージである。
【００１３】
時間順序誘導プロセッサが、細字化プロセッサから接続されており、スケルタル・イメージ・アークを受け取り、スケルタル・イメージ・アークを順序付けてスケルタル・イメージの手書きされた発生の誘導された時間順序付きのシーケンスを表す空間的シーケンスにすることによって、順序付きのクラスタ・アレーを発生。トランスクライバ（transcriber）が、時間順序誘導プロセッサから接続されており、スケルタル・イメージ・アークに沿った点の座標を読み取り、イメージ・プロセッサの出力である順序付きのクラスタ・アレーを発生する。
【００１４】
本発明の別の構成においては、時間順序誘導プロセッサは、スケルタル・イメージ・アークの中の選択されたものを、手書き文字発生の弾道運動（ballistic motion）エミュレーションによって結合し、２又はそれより多くのスケルタル・イメージ・アークから構成され従って手で書かれたときに１つのストロークの元々の一部分であったことを示す何らかの特性を有するストロークの手書きによる作成をエミュレートするスケルタル・イメージ・アークを発生する。
【００１５】
本発明によると、前記低レベル認識プロセッサは、スケルタル・イメージ・アークを表す座標アレーからストローク認識の特徴を抽出しそれぞれの順序付きのクラスタ・アレーのそれぞれのスケルタル・イメージ・アークに意味を割り当てるストローク特徴認識手段を含むように構成し得る。ストローク特徴認識手段には、このストローク特徴認識手段から接続されておりそれぞれのスケルタル・イメージ・アークに割り当てられた意味に応答して少なくとも１つの文字識別を認識してそれをそれぞれの順序付きのクラスタ・アレーに割り当てるクラスタ認識手段が続く。次に、クラスタ認識手段から接続された文字アレー発生手段が、それぞれの順序付きのクラスタ・アレーに対する文字リストを含むシーケンシャルな文字アレーを発生する。ただし、それぞれの文字リストは、対応する順序付きのクラスタ・アレーの可能性のある解釈を表す少なくとも１つの可能性のある文字識別を含む。
【００１６】
本発明の更に別の実施例においては、低レベル認識プロセッサは、更に、ユーザによって用いられ手書き文字入力を発生するデジタイジング（digitizing）タブレット及びペンから接続されたリアルタイム手書き文字プロセッサを含むように構成し得る。また、このリアルタイム手書き文字プロセッサは、ストローク特徴認識手段に接続され、リアルタイムの手書き文字を表すストローク記述子情報をこのストローク特徴認識手段に提供する。次に、ストローク特徴認識手段と、この文字認識システムの以下の部分とは、先に作成された文書から走査された手書き文字情報に関して動作するのと同じ態様で、リアルタイムの手書き文字入力に関しても動作する。
【００１７】
本発明の実施例では、低レベル認識プロセッサが、タブレット及びペンを介するユーザ入力を検出して指示するペン入力検出手段であってユーザ入力はペン・ストロークとペン状態とを含むペン入力検出手段と、ペン入力検出手段から接続されており現在のストロークのストローク記述子情報をその現在のストロークがユーザによって入力される際に記憶する入力バッファと、を含むようにも構成し得る。ストローク特徴認識手段は、入力バッファから接続されており、ペン状態に応答して、ストローク認識特徴を現在のストロークのストローク記述子情報から抽出し、意味をその現在のストロークに割り当てる。クラスタ認識手段は、ストローク特徴認識手段から接続され、それぞれのストロークに割り当てられた意味に応答して、文字識別を認識してそれをストロークのそれぞれのクラスタに割り当てる。
【００１８】
最後に、本発明による手書き文字認識システムは、低レベル認識プロセッサから提供される文字識別に関する言語的及び字句的な処理を行い、言語的及び字句的な原理に基づいて、その文字識別の最も蓋然性の高い解釈を決定する言語的ポスト・プロセッサを含み得る。本発明に従うと、この言語的ポスト・プロセッサは、文字リストを受け取りその文字リストを文字ストリングに構成し文字ストリングに関する言語的な解析を実行してそれぞれの文字ストリングにおける文字の最も蓋然的で正確な組合せを決定する言語的アナライザを含む。言語的ポスト・プロセッサは、更に、文字のそれぞれの組合せの字句的な解析を実行してそれぞれの文字ストリングのそれぞれの文字の最も蓋然的な意味を決定し文書の手書き文字の最も蓋然的な解釈を表す出力ストリングを発生する字句アナライザを含む。
【００１９】
本発明によると、言語的ポスト・プロセッサは、シーケンシャルな文字アレーを受け取る。ここで、シーケンスは、文書におけるストロークのそれぞれのクラスタに対する文字リストを含み、手書き文字を表す。また、それぞれの文字リストは、ストロークの対応するクラスタの可能性のある解釈を表す少なくとも１つの可能性のある文字識別を含む。言語的ポスト・プロセッサは、文字リストを文字ストリングに構成して、それぞれの文字ストリングに関する言語的な解析を実行し、それぞれの文字ストリングにおける文字の最も蓋然性が高く正確な組合せを決定する言語的アナライザを含む。また、次に、字句アナライザが、それぞれの文字ストリングにおける文字のそれぞれの組合せの字句的な解析を実行し、それぞれの文字ストリングにおけるそれぞれの文字の最も蓋然的な意味を決定する。更に、この字句アナライザは、文書の手書き文字の最も蓋然的な解釈を表す出力ストリングを発生する。
【００２０】
更に本発明によれば、この言語的アナライザは、文字リストを読み取り、所定の当初の長さを有する文字リストの文字ストリングを選択し、当初の文字ストリングの最初において生じる１対の文字リストと当初の文字ストリングの最後において生じる１対の文字リストとに基づいて第１の言語的な解析を実行して、対応する手書き文字の正確な識別の高い蓋然性を有する文字リストの最初の又は最後の対を選択する。次に、この言語的アナライザは、当初の文字ストリングの文字リストの後続の対に基づいて第２の言語的な解析を実行する。ここで、文字リストの後続の対のそれぞれは、文字リストの選択された最初の又は最後の対の一方の文字で開始し、１つの文字リストのステップにおいて文字ストリングに沿って進むように選択される。
【００２１】
本発明のこれ以外の特徴、目的及び効果は、以下で述べる本発明に関する説明を読み、図面を検討することによって、当業者に理解されよう。
【発明を実施するための最良の形態】
【００２２】
Ａ．一般的な説明（図１及び図２）：
図１を参照すると、システム１０のブロック図が示されており、このシステム１０は、メモリ（ＭＥＭ）１２と処理ユニット（ＰＵ）１４とを含み、それぞれが、ＰＵ１４上で動いている複数の処理ルーチン（ＰＲ）１８の制御の下で、データ構造（ＤＳ）１６を記憶しその上で動作し、更に、ＭＥＭ１２においてＰＵ１４によって作業がなされるＤＳ１６とＰＲ１８とを記憶し提供する大容量記憶装置（ＭＳ）２０を含む。示されているように、システム１０は、更に、文字から成る走査されたイメージを含む第１の入力と、デジタイジング・タブレット（ＤＴ）２６上の電子ペン（ＥＰ）２４のサンプリングされた位置によって表されたものとして文字のイメージを含む第２のリアルタイムの入力とを提供するイメージ・スキャナ（ＩＳ）２２を含む。
【００２３】
システム１０上で動いているＤＳ１６とＰＲ１８とは、例えばＩＳ１２によって走査された文書からの文字の走査されたイメージと、ＥＰ２４及びＤＴ２６の入力として提供される文字のリアルタイムの認識との両方の認識のための文字認識システム（ＣＲＳ）２８を含む。ＰＲ１８は、それぞれが、ＰＵ１４の動作を制御して特定の文字認識動作を実行し、それぞれのＰＲ１８は、従って、ＰＵ１４を、対応する専用の目的のプロセッサに変換して、対応する文字認識動作を実行し、他方で、ＤＳ１６は、文字認識動作を実行する際に、ＰＲ１８とＰＵ１４とによって構成されるデータ構造を含む。
【００２４】
図２に示されているように、ＣＲＳ２８は、４つの主要な機能要素から構成される。これらは、走査イメージ細字化（Thinning）プロセッサ（ＳＩＴＰ）３０と、時間順序誘導プロセッサ（ＴＯＩＰ）３２、低レベル認識プロセッサ（ＬＬＲＰ）３４、及び言語（学）的ポスト・プロセッサ（ＬＰＰ）３６である。本発明のこの構成では、走査イメージ細字化プロセッサ（ＳＩＴＰ）３０、時間順序誘導プロセッサ（ＴＯＩＰ）３２、低レベル認識プロセッサ（ＬＬＲＰ）３４、及び言語的ポスト・プロセッサ（ＬＰＰ）３６は、それぞれが、プロセス、すなわち、ＰＵ１４上で動き、ＭＥＭ１２内にあるＤＳ１６に作用するルーチン群として、実現されている。
【００２５】
走査イメージ細字化プロセッサ（ＳＩＴＰ）３０は、イメージ・スキャナ（ＩＳ）２２から接続されており、文字の走査されたイメージである走査文字イメージ（ＳＣＩ）３８を受け取る。それぞれの走査文字イメージ（ＳＣＩ）３８は、文書、文書の中の１つのページ、又はページの中の一部分を表し、反復的（reiterative）な態様で機能して、複数の走査文字イメージ（ＳＣＩ）３８を、１又は複数の同等のスケルタル・イメージ（ＳＫＩ）４０に還元する。それぞれのスケルタル・イメージ（ＳＫＩ）４０は、走査文字イメージ（ＳＣＩ）３８において現れる、シンボル又は文字などの手書きのストローク又は手書きストローク群を表しており、１又は複数のスケルタル・イメージ・アーク（ＳＡＲＣ）４２から構成される。それぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２は、ストロークを表す１ピクセル幅のイメージ、すなわち、文字のラインから構成されており、走査文字イメージ（ＳＣＩ）３８に現れる手書きのストロークとその走査文字イメージ（ＳＣＩ）３８に対応するスケルタル・イメージ（ＳＫＩ）４０のスケルタル・イメージ・アーク（ＳＡＲＣ）４２との間の、トポロジカルな及び幾何学的な類似は保たれている。
【００２６】
ＴＯＩＰ３２は、スケルタル・イメージ（ＳＫＩ）４０のスケルタル・イメージ・アーク（ＳＡＲＣ）４２を受け取り、そのＳＡＲＣ４２を順序付けして、手書きストロークの時間順序付きの発生をシミュレートする空間的なシーケンスにおけるクラスタを作り、ＳＡＲＣ４２の中の選択されたものの端部を、ＥＰ２４及びＤＴ２６から提供され得るようなリアルタイムの手書き文字入力をエミュレートするような態様で結合させる。ＳＡＲＣ４２の結合は、結合されるアーク（弧）のそれぞれの対（ペア）、すなわち、結合されるＳＡＲＣ４２のそれぞれの対の間の角度の変化が最小になるように誘導する弾道運動型の近似によって実行され、手書き文字の作成において生じる自然な手の動きをエミュレートする。ＴＯＩＰ３２は、次に、１又は複数のＳＣＩ３８に対応する順序付きのクラスタ・アレー（ＯＣＡ）４４を発生する。ここで、それぞれのＯＣＡ４４は、ＳＡＲＣ４２に沿った点を定義しそれに対応する座標の順序付きのアレーであり、同等な手書き文字イメージに対してデジタイジング・タブレットから受け取られるサンプリングされた座標をシミュレートしそれに対応する。
【００２７】
ＬＬＲＰ３４は、ＥＰ２４及びＤＴ２６から接続されており、ＥＰ２４及びＤＴ２６からタブレット文字（ＴＡＢＣ）４６を受け取る。それぞれのＴＡＢＣ４６は、そのＴＡＢＣ４６を形成するラインに沿った点を定義しそれに対応するサンプリングされた座標（ＳＣＯＲＤ）４８の組から構成される。ＬＬＲＰ３４は、更に、ＴＯＩＰ３２から接続され、順序付きのクラスタ・アレー（ＯＣＡ）４４を受け取る。ただし、既に説明したように、それぞれのＯＣＡ４４は、ＥＰ２４及びＤＴ２６から受け取られたサンプリングされた座標をシミュレートするようにＳＣＩ３８を表しているＳＡＲＣ４２に沿った点を定義しそれに対応する座標の順序付きのアレーである。従って、ＴＡＢＣ４６とＯＣＡ４４とのＬＬＲＰ３４への入力は、同等であり、共に、入力された文字を形成するラインを定義する座標の組又はアレーから構成されている。
【００２８】
次に、ＬＬＲＰ３４は、いずれかの入力、すなわち、ＩＳ２２から又はＥＰ２４及びＤＴ２６からの入力からのそれぞれの文字表現に対する文字リスト（ＣＬ）５２を含むシーケンシャルな文字アレー（ＳＣＡ）５０を発生する。ここで、それぞれのＣＬ５２は、１又は複数の文字識別（ＣＩＤ）５４を含み、ＣＩＤ５４のそれぞれは、タブレット文字（ＴＡＢＣ）４６又は順序付きのクラスタ・アレー（ＯＣＡ）４４によって表されるものとして対応する入力文字の可能性のある解釈である文字を表す。それぞれのクラスタ識別（ＣＩＤ）５４には、信頼性レベル（ＣＬ）５６が伴っているが、これは、対応するクラスタ識別（ＣＩ）５４が対応する手書き文字の真の解釈を表すことの蓋然性又は確率の尺度である。
【００２９】
最後に、ＬＰＰ３６は、ＬＬＲＰ３４から文字リスト（ＣＬ）５０を受け取り、この文字リスト（ＣＬ）５０を２つ又はそれより多くの文字から成る文字ストリングに構成して、その文字ストリングに対して言語的な及び字句的な処理を実行し、当該手書き入力文字の最も蓋然性の高く正確な解釈を、単語の要素又は成分として、決定する。ＬＰＰ３６は、次に、単語の要素又は成分としての手書き入力文字の最も蓋然性の高く正確な解釈を表す対応する出力ストリング（ＯＳ）５８を発生する。
Ｂ．走査イメージ細字化プロセッサ（ＳＩＴＰ）３０の説明：
１．一般的な説明：
手書きされた英数字テキストは、走査されたものでもリアルタイムに作成されたものでも、接続されている又はそれ以外の場合には空間的に関連したストローク又はライン群によって特徴付けられるものとして見なされる。すなわち、メッセージ又はテキストは、単語と文字又は数字の群とから構成されており、単語と数字とは、文字から構成されている。更に、文字は、接続された片部（piece）、すなわち、複数の方向又は順序、又はシーケンスにおいて作成されるストローク又はラインから成るトポロジカル又は幾何学的な関係から構成されており、これらのストロークやラインは、文字を構成する上の規則に従う。
【００３０】
手書きの情報を含む文書は、文字を構成するストロークに関して、おおよそのトポロジカル又は幾何学的な関係を提供するが、文字の自動的な認識において有用な２つの性質が欠けている。第１は、幾何学的な正確さである。すなわち、手で書かれたという事実のためと、ストロークを形成する際に種々の道具が用いられるために、文字を構成するストロークの幾何学配列と幅とが変動する。第２に、この場合のように、文字作成プロセスの最終的な結果だけが利用できる場合、すなわち、文字が既に作成された文書から走査される場合には、文字を構成するストロークの作成に関する時間的な順序が欠けている。本発明によるＳＩＴＰ３０は、第１の問題に関しては、あたかもその文字が１ピクセル幅のペンを用いて書かれたかのように、文字ストロークを１ピクセル幅のイメージに還元することによって手書き文字を理想化する方法及び装置を提供して対応し、それによって、ある程度の幾何学的正確さを与え、文字が、ストロークの相互接続に関する位置と幾何学的及びトポロジカルな関係とにおいて、確率に関係するストローク群として記述されることを可能にする。本発明による文字認識システムのこれ以外のメカニズムによれば、ストロークの作成及び方向の時間的順序が推論され、また、この再構成されたデータを更に解析する別の文字認識方法が用いられる。
【００３１】
ＳＩＴＰ３０は、従って、入力される文字に対して３つの動作を実行する。ＳＩＴＰ３０は、特に、走査された文字の解析のためのＣＲＳ２８において実現されるが、ＳＩＴＰ３０の動作は、ペン及びタブレットを用いて入力される文字であるリアルタイムの文字にも同じく適用できることに注意すべきである。これらの動作とは、１又は複数の文字をストロークから構成される接続された対象物に最初にセグメント化すること、文字ストロークを種々のイメージ解像度でのスケルタルな（骨組みの）形式に細字化すること、及び、スケルタルなストロークをトポロジカル又は幾何学的な入力としてトランスクライブ（読み取る）すること、である。
ａ．セグメント化（Segmentation）：
最初に、１又は複数の文字や１つの文字の一部分を、ラインやアークなどのストロークから構成される接続された対象物（object）にセグメント化することを考える。ここでは、ストロークは、背景である「白い」ピクセルに対するものとしての前景である「黒い」ピクセルから構成されているものと定義される。接続された対象物は１又は複数のストロークから構成されており、更にここでは、前景の、すなわち「黒い」ピクセルの集合物として定義される。ここで、前景の黒いピクセルは、それぞれが、隣接する前景ピクセルを亘る連続的なステップの経路を介して、別の前景ピクセルから到達することが可能であり、それぞれのステップは、８つの方向の中の任意の１つであり、すなわち、正方形の３×３アレーにおける与えられた中央のピクセルに隣接する８つのピクセルの中の任意の１つの方向である。接続された対象物は、完全な文字、１文字の一部分、２つ又はそれより多くの文字あるいは１文字の部分の組合せ、などから構成される。そして、十分な質を有するデータがスキャナ又はペン及びタブレットから与えられると、１つの接続された対象物は、１つのペンダウンからペンアップ・ストローク、又は、接触又は交差ストロークからきていることがしばしばであることが予測されうる。
【００３２】
走査されたページからのデータを接続された対象物にセグメント化することは、従って、１ページのデータを、前景のデータから構成される接続された対象物から成るページの部分を識別することによって、取り扱いが可能でおそらく意味を有する部分又は成分に分割することへの第１の近似を表す。走査文字イメージ（ＳＣＩ）３８のデータを接続された対象物にまずセグメント化することによって、このようにして作成された対象物が、種々の解像度で、すなわち、種々の表現で解析されることが可能になり、従って、それ以後の解析のために別のデータ・セットのグループを提供し、このデータのそれぞれは、同じデータ・サブセットすなわち接続された対象物から導かれる。
【００３３】
セグメント化は、走査文字イメージ（ＳＣＩ）３８をその入力として取り、そこで見いだされるそれぞれの接続された対象物に対して、接続された対象物から構成される連続的な前景のピクセルのスパンをリストにするプロセスによって、達成される。ここで、接続された対象物（connected object）は、ピクセルから成る交差する又は接続されたラインの組のグループとして定義される。セグメント化のプロセスは、前景ピクセルの集合体又はグループの対象物への結合及び分離を認識し、そのページが完全に走査されるときを判断し、結果的なデータをそれ以後の処理のために出力ファイルに書き込む。このステップは、従って、ページ上に現れる接続された対象物を利用可能な空間的な順序で表すデータを発生する。また、このステップは、通常は背景の空間の比率の大きな大木のテキスト・ページに対して、かなりのデータ圧縮を提供する。
【００３４】
上述のように、走査文字イメージ（ＳＣＩ）３８は、１ページの又は１ページの一部分の走査されたイメージを含み、セグメント化が、走査文字イメージ（ＳＣＩ）３８の全体に対して、又は、走査文字イメージ（ＳＣＩ）３８におけるイメージ・データの一部分に対して、実行される。従って、セグメント化は、走査及びセグメント化プロセス自体に対して、また、以下で説明するこれ以降のプロセスに対して最も効果的な態様で、１ページの例えば頂部から底部までの１つの通過として又は１ページ当たり複数の通過として、効果的に達成され、現在処理されるべき全ての対象物に対するデータを集積する。
【００３５】
最終的に、走査文字イメージ（ＳＣＩ）３８は、好ましくは、例えば、３０２ドット・パー・インチ（ｄｐｉ）での、イメージの高解像度の表現であり、以下で述べるような様々な解像度での、走査文字イメージ（ＳＣＩ）３８の表現の発生及び処理を容易にする。
【００３６】
セグメント化プロセスは、図３に示されている。セグメンタ（ＳＥＧ）６０が、現在の走査文字イメージ（ＳＣＩ）３８を、走査プロセッサ（ＳＣＡＮＰ）６２から、走査文字イメージ（ＳＣＩ）ファイル（ＳＣＩＦ）６４として受け取るが、ここで、走査文字イメージ・ファイル（ＳＣＩＦ）６４は、走査されたイメージの前景及び背景のピクセルを識別する情報を記憶するデータ構造である。走査文字イメージファイル（ＳＣＩＦ）６４のデータ構造は、どの形式がセグメンタ（ＳＥＧ）６０による処理のために最も効果的であるかに応じて、複数の異なる形式の中の１つを選択する。例えば、走査文字イメージ・ファイル（ＳＣＩＦ）６４がビットマップ・アレーであって、そのアレーの中のそれぞれのビットが走査文字イメージ（ＳＣＩ）３８のイメージの１つのピクセルを表しており、ビットの状態（０又は１）が対応するピクセルが背景ピクセルであるか前景ピクセルであるかを表し、アレーにおけるビットの位置がイメージにおける対応するピクセルの座標を表すようにしてもよい。
【００３７】
セグメンタ（ＳＥＧ）６０は、次に、現在の走査文字イメージ・ファイル（ＳＣＩＦ）６４を走査して、前景のピクセルを、そして、後で平滑化及び細字化プロセスに関する説明で述べるように、関連する背景ピクセルを識別し、それぞれの前景のピクセルの内容を定義する。セグメンタ（ＳＥＧ）６０は、また、それぞれの前景ピクセルに対して、全ての関連する連続的な前景ピクセルを識別して、それぞれの走査文字イメージ（ＳＣＩ）３８に対して、対象物リスト（ＯＬ）６６の組を発生する。ここで、それぞれの対象物リスト（ＯＬ）６６は、接続された対象物（ＣＯ）６８に対応する。接続された対象物（ＣＯ）６８は、連続的な前景ピクセルのグループとして、すなわち、走査文字イメージ（ＳＣＩ）３８によって表されるイメージのストローク、又は、そのようなストロークの接続されたグループとして、定義される。
【００３８】
再び、対象物リスト（ＯＬ）６６は、後に説明する細字化プロセスの実現のために最も効果的な形式に応じて、複数の可能性のある形式の中から１つを選択し得る。例えば、ある対象物リスト（ＯＬ）６６は、連続的な前景ピクセルとその前景ピクセルの局所的な内容を形成する関連の背景ピクセルとのグループのビットマップと、走査文字イメージ（ＳＣＩ）３８におけるビットマップの位置を識別する座標の組と、から構成される。別の構成では、対象物リスト（ＯＬ）６６は、接続された対象物の前景ピクセルと内容的な背景ピクセルとの座標のリストと、前景又は背景ピクセルとしてのピクセルの状態と、から構成される。
【００３９】
セグメンタ（ＳＥＧ）６０は、次に、走査文字イメージ（ＳＣＩ）３８に現れるストロークを表す対象物リスト（ＯＬ）６６を、細字化プロセッサ７０に与える。
ｂ．細字化（Thinning）：
文字ストロークは、イメージから走査されたかタブレット及びペンを介してリアルタイムで個別に入力されたかに関係なく、複数のピクセル幅であることが多く、ストロークの幅は、１つのストローク内においても複数のストロークの間においても著しく変動する。しかし、ストロークが、ＳＩＴＰ３０の細字化動作によって与えられるような１ピクセル幅のラインなどの均一なフォーマット又は幅に変換されると、文字ストロークを表すデータは、文字認識のために、より容易に処理される。
【００４０】
細字化動作は、基本的には、ストロークの「外側エッジ」すなわち外側ピクセルを、接続された対象物としてのストロークを破壊することなく「取り去り」、それぞれのストロークを接続されたすなわち隣接して位置する単一のピクセル群から成るラインに還元することによって、実行される。しかし、細字化動作は、高速でなければならない。その理由は、このプロセスは、本質的に反復的なものであって、多数のピクセルとその近接するものに適用されなければならないからである。また、細字化動作は、例えば、複数ピクセル幅のストロークを用いる認識プロセスの使用など異なる条件にも対応できるように容易に修正可能でなければならない。
【００４１】
従って、本発明による細字化動作は、３×３のデータ・カーネル（核）を想定するセルラ処理方法において実現される。すなわち、それぞれの反復において実行される動作は、中央ピクセルとそれに隣接する８つのピクセルから成るピクセルの３×３の正方形のアレーであるカーネルに作用する。このように実現される動作は、また、テーブルに導かれる、すなわち、ルックアップ・テーブルを用いてそれぞれの３×３アレーのピクセルに対する細字化の結果を決定し、４つのピクセルとその隣接するピクセルに対して一度に作用する。ただし、これは、実現ごとに変動する。このように実現される動作は、異なる条件又は要件に適応するために新たな又は修正されたイメージ変更規則を受け入れるセットアップ・プロセス又はルーチンによって、更に定義及び再定義される。
【００４２】
細字化動作は、細字化プロセッサ７０によって実現されるが、このプロセッサ（処理系）は、ＰＵ１４上で動くＰＲ１８を介して実現される２つのサブプロセッサ（副処理系）から構成される。第１は、図３ではテーブル・コンストラクタ（ＴＢＬＣ）７２として表されており、図３で平滑化（スムージング）規則（ＳＭＲ）７６及び細字化規則（ＴＨＲ）７８として示されているストロークの平滑化及び細字化のための１組の規則を現実化し定義するルックアップ規則テーブル（ＬＲＴ）７４の動作時間構成を、制御するものである。第２のものは、図３ではイメージ細字化系（Image Thinner）ＩＭＧＴＨ７８として表されているが、ルックアップ規則テーブル（ＬＲＴ）７４から規則を読み出し、それぞれの対象物リスト（ＯＬ）６６に対する動作を順に、すなわち、走査文字イメージ（ＳＣＩ）３８の中のそれぞれの接続された対象物（ＣＯ）６８に対する動作を順に、実行する。更に、それぞれの接続された対象物に対して、対応する接続された対象物のスケルタライズ（骨格化）された表現を含み平滑化及び細字化動作を定義する、対応する細字化されたイメージ（ＴＨＩＭ）７８を発生して、例えば、ある１つの接続された対象物を定義する前景及び背景ピクセル上のピクセルから成る特定の領域の全体に関して、テーブルにおいて定義された規則を実行する。
【００４３】
細字化処理の基本的な動作は、まとめると、接続された対象物のエッジを平滑化し、次に、その接続された対象物の左、下、右、及び上のそれぞれの側から、ピクセルの除去が対象物の接続関係を破壊しないように、その対象物にそれ以上の変化を及ぼすことのない完全なサイクルが実行されるまで、ピクセルの層を除去すること、ということができる。従って、細字化動作の結果は、最大に接続された対象物であり、そこでは、２より多くの隣接する又は近接の前景ピクセルを有する唯一の残存する前景ピクセルは、そうでなければ１ピクセル幅の複数の経路又はラインの接合点に位置するピクセルである。
【００４４】
平滑化規則（ＳＭＲ）７６と細字化規則（ＴＨＲ）７８のこの構成は、ＳＩＴＰ３０に関する以下の詳細な説明において、更に述べることにする。
【００４５】
最後に、細字化動作の結果として、文字認識において又は必要以上の情報の保有において有用な情報が失われる可能性があること、及び、細字化プロセスの後でそれぞれのストロークに対して保持される情報の量は、部分的には、７５ｄｐｉ、１５０ｄｐｉ、３０２ｄｐｉなどの、そのストロークが表現されている解像度に依存することに、注意すべきである。すなわち、ストロークの外部からの突入や内部における空洞は偶然であるか、又は、有意味であり得るが、そのような情報の価値は、認識プロセスの後の時点までわからない。逆に、あまりに多くの情報を保有すると、追加的であるが不必要な情報を処理しなければならないので、認識プロセスは、遅くなる。
【００４６】
従って、このように構成されたＳＩＴＰ３０は、３０２ｄｐｉなどのそれぞれの入力された接続された対象物（ＣＯ）６８の高解像度の表現に対して、細字化動作を発生及び実行し、次に、接続された対象物に関するそれぞれの細字化動作の結果から、７５ｄｐｉや１５０ｄｐｉのより低い解像度での２つの追加的な表現を発生する。示されているように、この動作は、多重解像度ジェネレータ（ＭＲＧ）８０によって実行さえるが、この多重解像度ジェネレータ（ＭＲＧ）８０は、この技術分野において通常理解されているように、３０２ｄｐｉ表現から１つおきのピクセルを有効に除去して対応する１５０ｄｐｉ表現を発生し、また、３０２ｄｐｉ表現から４つのうちの３つのピクセルを除去して対応する７５ｄｐｉ表現を発生する。多重解像度ジェネレータ（ＭＲＧ）８０は、また、やはりこの技術分野で広く知られているように、これ以外の解像度で接続された対象物のスケルタライズされた表現を発生する。
【００４７】
示されているように、多重解像度ジェネレータ（ＭＲＧ）８０が様々な解像度で発生したそれぞれの走査文字イメージ（ＳＣＩ）３８の複数のスケルタライズされた表現は、トランスクライバ・プロセッサ８４による後続の動作のために、対応するスケルタライズされた走査文字イメージ（ＳＳＣＩ）８２に記憶される。これは、与えられた走査文字イメージ（ＳＣＩ）３８に対しては、ＳＳＣＩ８２ａ、８２ｂ、８２ｃで表されている。
ｃ．トランスクライブ（転写）動作：
図４に示されるように、元の走査文字イメージ（ＳＣＩ）３８の入力イメージを構成するストロークのスケルタライズされた表現は、スケルタライズされた走査文字イメージ（ＳＳＣＩ）８２から読み出され、ＰＵ１４上で動作する対応するＰＲ１８を介して実現されるトランスクライバ・プロセッサ（トランスクライバ）８４によって、スケルタル・イメージ・ファイル（ＳＩＦ）８６と称され、ＳＩＦ８６ａ、８６ｂ、８６ｃとして対応して識別される対応するデータ構造にトランスクライブ（転写）される。
【００４８】
このプロセスでは、トランスクライバ・プロセッサ（トランスクライバ）８４は、それぞれのスケルタライズされた走査文字イメージ（ＳＳＣＩ）８２に対して、スケルタライズされた走査文字イメージ（ＳＳＣＩ）８２の中に存在するスケルタライズされたイメージのラインを構成するピクセルの座標を読み取り、そのスケルタライズされたイメージのスケルタル・イメージ・アーク（ＳＡＲＣ）４２を識別し、そのスケルタライズされたイメージの中のスケルタル・イメージ・アーク（ＳＡＲＣ）４２に対してスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８を構成して、そのスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８を、スケルタライズされた走査文字イメージ（ＳＳＣＩ）８２に対応するスケルタル・イメージ・ファイル（ＳＩＦ）８６に記憶する。
【００４９】
セグメンタ（ＳＥＧ）６０、細字化プロセッサ（ＴＨＩＮＰ）７０、及びトランスクライバ・プロセッサ（トランスクライバ）８４の動作は、図５及び図６に図解されている。図５は、Ｘを形成する２本の交差したラインから成る元の走査されたイメージを表している。図６は、それに対して、セグメント化及び細字化動作の結果を図解しており、従って、元のイメージは、他のイメージから、１つの接続された対象物（ＣＯ）６８から構成されるようにセグメント化され、この対象物のストロークは、１ピクセル幅であるラインに、細字化（細く）される、すなわち、スケルタライズされる。
【００５０】
図５及び図６の例では、トランスクライバ・プロセッサ（トランスクライバ）８４は、接続された対象物（ＣＯ）６８を、ノード９０で出会う４つのスケルタル・イメージ・アーク（ＳＡＲＣ）４２から構成されるものとして識別する。スケルタル・イメージ・アーク（ＳＡＲＣ）４２は、図６では、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ａ、４２ｂ、４２ｃ、４２ｄとして識別されている。トランスクライバによる動作によって識別されるように、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ａから４２ｄのそれぞれは、ノード９０と称される接合点又は合致点において開始する又は終了するピクセルの連続的な経路から構成され、また、別のスケルタル・イメージ・アーク（ＳＡＲＣ）４２から成るピクセルの別の連続的な経路が、２又はそれよりも多くのスケルタル・イメージ・アーク（ＳＡＲＣ）４２に共有されるピクセルの発生によって、又は、「スペース」がある、すなわち、ピクセルの連続的な経路に沿ってそれ以上ピクセルが存在しない点において、決定される。スケルタル・イメージ・アーク（ＳＡＲＣ）４２が終点を有し次のスケルタル・イメージ・アーク（ＳＡＲＣ）４２が開始点を有すると考えられるのは、ピクセルの経路が著しい方向の変化を含む点においてであり、そこで、ピクセルの経路は、方向の変化が生じているピクセルにおいて出会う２つのスケルタル・イメージ・アーク（ＳＡＲＣ）４２に分離される。
【００５１】
図４に図解されるように、それぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６は、スケルタライズされた走査文字イメージ（ＳＳＣＩ）８２において見いだされるそれぞれの接続された対象物（ＣＯ）６８のそれぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２に対応するスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８を含む。図７及び図８に示されるように、それぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２は、ノード９０、リンク９２、及びリンク９２に沿った増加ステップ（ＩＮＣＳ）９４から構成され、それぞれのスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８は、ノード記述子（ＮＯＤＤ）９６と、その中に表されているそれぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２に対応する増加ステップのリンク・リスト（ＬＬＩＳ）９８と、を含む。
【００５２】
ノード９０は、接続された対象物（ＣＯ）６８のスケルタル・イメージ・アーク（ＳＡＲＣ）４２に沿った場所であり、特に、例えば、接続された対象物（ＣＯ）６８のラインが終端する又はラインが接続された対象物（ＣＯ）６８の別のラインと接続又は交差するスケルタル・イメージ・アーク（ＳＡＲＣ）４２の終点において生じるし、又は、接続された対象物（ＣＯ）６８のラインが方向を変更し、従って、別のスケルタル・イメージ・アーク（ＳＡＲＣ）４２の出発点を定義している点で生じる。従って、与えられたノード９０に対応するスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８は、対応するスケルタル・イメージ・アーク（ＳＡＲＣ）４２のそれぞれのノード９０に対するノード記述子（ＮＯＤＤ）９６を含み、それぞれのノード記述子（ＮＯＤＤ）９６は、対応するノード９０の座標を含む。
【００５３】
リンク９２は、スケルタル・イメージ・アーク（ＳＡＲＣ）４２を定義する連続的なピクセルの経路から構成され、すなわち、接続された対象物（ＣＯ）６８の２つのノード９０の間の接続された対象物（ＣＯ）６８のライン又はストロークであり、リンク９２の経路又はラインに沿った増加ステップ（ＩＮＣＳ）９４を記述する増加ステップのリンク・リスト（ＬＬＩＳ）９８によって記述される。ここで、それぞれの増加ステップ（ＩＮＣＳ）９４は、経路に沿った次の連続的なピクセルの方向及び位置を記述し、増加ステップのリンク・リスト（ＬＬＩＳ）９８は、経路に沿ったどちらの方向にも読み出され、経路の連続的なピクセルを位置決めする。
【００５４】
この構成では、それぞれの増加ステップ（ＩＮＣＳ）９４は、単一のピクセルのものであり、すなわち、増加ステップのリンク・リスト（ＬＬＩＳ）９８は、リンク９２の経路に沿った継続的な単一のピクセルの位置と方向とを記述し、それぞれの増加ステップ（ＩＮＣＳ）９４は、従って、リンク９２の経路に沿った両方の方向への次のピクセルへの方向だけを記述することが要求される。別の実施例では、それぞれの増加ステップ（ＩＮＣＳ）９４は、一度に２又はそれより多くのピクセルから成る継続的なグループの位置を記述する。この場合には、それぞれの増加ステップ（ＩＮＣＳ）９４は、リンク９２の経路に沿った両方の方向への２又はそれ以上のピクセルから成る次のグループへの方向と距離とを記述する。最後に、更に別の構成では、それぞれの増加ステップ（ＩＮＣＳ）９４は、リンク９２の経路の対応するピクセルの座標と、リンク９２の経路の両方への方向の次のピクセル又はピクセル群の座標と、を含む場合もある。
【００５５】
ノード記述子（ＮＯＤＤ）９６とそれに関連するスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８の増加ステップのリンク・リスト（ＬＬＩＳ）９８とは、従って、その中に表されている接続された対象物（ＣＯ）６８のスケルタル・イメージ・アーク（ＳＡＲＣ）４２を記述する。スケルタル・イメージ・ファイル（ＳＩＦ）８６は、このようにして、それぞれの接続された対象物（ＣＯ）６８がその中で表していたスケルタルな表現のそれぞれのストロークの、すなわち、元の走査文字イメージ（ＳＣＩ）３８の中に元々存在した接続されたそれぞれのストローク及び接続されたストローク群の、ノード９０と増加ステップ（ＩＮＣＳ）９４とに関する、完全な記述を含む。
【００５６】
接続された対象物（ＣＯ）６８が２又はそれ以上の接続された又は連続的なストロークから構成されている場合には、接続された対象物（ＣＯ）６８のスケルタル・イメージ・アーク（ＳＡＲＣ）４２は、更に、リンク・ポインタによって接続されて、接続された対象物（ＣＯ）６８のスケルタル・イメージ・アーク（ＳＡＲＣ）４２のノード９０の巡回的に接続されたリングとなる。そのような接続された対象物（ＣＯ）６８のそれぞれのスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８は、従って、次の４つのポインタを含む。第１に、ノード・ポインタ１００であって、これは、通常は接続された対象物（ＣＯ）６８に最も近い他のノード９０である、接続された対象物（ＣＯ）６８のノード９０の循環的に接続されたリングの中の別のノード９０の、ノード記述子（ＮＯＤＤ）９６へのノード・ポインタ１０２を含む。第２に、この他のノード９０に関連する増加ステップのリンク・リスト（ＬＬＩＳ）９８の終点（エンド）へのリンク・エンド・ポインタ１０４であり、ここでは、この他のノード９０のリンク・ポインタ１００は、スケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８の増加ステップのリンク・リスト（ＬＬＩＳ）９８への逆リンク・エンド・ポインタ１０４を含む。第３は、ノード９０の循環的に接続されたリングに沿った次のノード９０に関連する増加ステップのリンク・リスト（ＬＬＩＳ）９８の終点への次リンク・エンド・ポインタ１０６であり、これは、スケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８の増加ステップのリンク・リスト（ＬＬＩＳ）９８の終点へのリンク・エンド・ポインタを含む。第４は、スケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８の増加ステップのリンク・リスト（ＬＬＩＳ）９８のリンク・リストへのリンク・リスト・ポインタ１０８である。
【００５７】
トランスクライバ・プロセッサ（トランスクライバ）８４は、様々なプロセスを用いて、スケルタライズされた走査文字イメージ（ＳＳＣＩ）８２の中に存在するスケルタル・イメージから、スケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８を構成する。トランスクライバ・プロセッサ（トランスクライバ）８４の特定の構成は、部分的には、スケルタル・イメージ・データが、スケルタライズされた走査文字イメージ（ＳＳＣＩ）８２において与えられている形式に依存する。例えば、スケルタライズされた走査文字イメージ（ＳＳＣＩ）８２におけるスケルタル・イメージ・データは、ビットマップとして、又は、ピクセル座標の組として記憶されるが、それぞれのビットマップやピクセル座標の組は、接続された対象物（ＣＯ）６８に対応し、それを表す。
【００５８】
どのような表現が用いられている場合でも、トランスクライバ・プロセッサ（トランスクライバ）８４は、それぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２に対して、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の１つの終点ピクセルを見つけることから開始する。これは、ただ１つの隣接するピクセルしか有していないピクセル、すなわち、（１）「空間」にある終点を表しているピクセルを見つけることによって、又は、（２）隣接するピクセルを２又はそれ以上有しているピクセル、従って、そのラインが１又は複数の他のラインと接続している地点にあるラインの中のピクセルを表しているピクセルを見つけることによって、更に又は、（３）相互に直交している２つの隣接するピクセルを有するピクセル、従って、そのラインが著しい方向の変化を示すラインの地点を表すピクセルを見つけることによって、なされる。そこでは、２つの隣接するピクセルは、従って、新たなスケルタル・イメージ・アーク（ＳＡＲＣ）４２の第１のピクセルになっている。このステップは、これらの基準を満足するピクセルを直接に探知することによって、又は、出発ピクセルを選択し隣接するピクセルの経路に沿ってこれらの基準を満たすピクセルに到達するまで移動することによって、達成される。
【００５９】
「終点」であるピクセル、すなわち、スケルタル・イメージ・アーク（ＳＡＲＣ）４２のノード９０を見つけると、トランスクライバ・プロセッサ（トランスクライバ）８４は、次に、ノード９０のピクセルから出発して、この経路の他方のノード９０を表す、ラインの他方の「終点」のピクセルに到達するまで、ピクセルの経路を移動していく。経路の移動の間には、関連する増加ステップのリンク・リスト（ＬＬＩＳ）９８を構成する。
【００６０】
その経路の一方又は両方のノード９０が別のスケルタル・イメージ・アーク（ＳＡＲＣ）４２との交点又は接続点である場合には、すなわち、接続された対象物（ＣＯ）６８が、２又はそれ以上のスケルタル・イメージ・アーク（ＳＡＲＣ）４２を含む場合には、トランスクライバ・プロセッサ（トランスクライバ）８４は、その次のスケルタル・イメージ・アーク（ＳＡＲＣ）４２に沿っても継続していって、結果的には、接続された対象物（ＣＯ）６８のすべてのスケルタル・イメージ・アーク（ＳＡＲＣ）４２を移動する。そうしている間に、接続された対象物（ＣＯ）６８のスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８が完了するまで、ノード・ポインタ１００、ノード記述子（ＮＯＤＤ）９６、及び増加ステップのリンク・リスト（ＬＬＩＳ）９８を構成する。トランスクライバ・プロセッサ（トランスクライバ）８４は、次に、このプロセスを、スケルタライズされた走査文字イメージ（ＳＳＣＩ）８２において表されているそれぞれの接続された対象物（ＣＯ）６８に対して反復する。
【００６１】
この時点で、元の走査されたイメージの手書き文字又はシンボル（記号）は、スケルタル形式に還元されており、このスケルタル形式は、個別のスケルタル・イメージ・アーク（ＳＡＲＣ）４２に分離されている。そして、それぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２と、他のスケルタル・イメージ・アーク（ＳＡＲＣ）４２との関係とは、スケルタル・イメージ・ファイル（ＳＩＦ）８６において、対応するスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８によって記述されている。
【００６２】
スケルタル・イメージ・ファイル（ＳＩＦ）８６のデータ構造は、次に、時間順序誘導プロセッサ（ＴＯＩＰ）３２に与えられ、このプロセッサ３２は、このデータを、後続の文字認識において用いるために、時間的なストロークの作成順序を推論又は演繹する。それによって、電子ペン及びデジタイジング・タブレットによって提供されるような、リアルタイムの文字認識入力によって得られるものと類似する又は対比できる文字ストローク情報を発生する。
２．ＳＩＴＰ３０の平滑化及び細字化規則の詳細な説明：
ａ．イメージに対する平滑化及び細字化の規則及び動作：
次には、上述したように、ＳＩＴＰ３０がバイナリ・イメージから成る３×３のカーネル・アレーに対して作用する動作について考察する。ここで、ピクセルに対する動作の結果は、そのピクセル自体と周囲の８つの隣接するピクセルとの状態に依存する。これらの動作は、一回でも反復的にでも、又は、異なる動作のシーケンスの一部としてでも用いることができる。更には、例えば、「漂遊（stray）」ピクセルすなわちノイズを除去するためにも、イメージのエッジを平滑化するためにも、又は、上述したように、結果的に得られる抽象化されたイメージに基づいて後続の認識を行う目的で接続された対象物をスケルタルな表現に還元するためにも、用いられる。以下では、これらの動作を実行するための、テーブルを用いる方法を２つ説明する。一方の方法は、一度に１つのピクセルを扱うものであり、他方の方法は、ピクセルの２×２の組を扱うものである。
【００６３】
ここで用いる基本的なイメージ処理方法は、基本的には、隣接するピクセルによって定義される内容に応じて、背景ピクセルを前景ピクセルに変換し、前景ピクセルを背景ピクセルに変換するという動作を実行するものである。例えば、隣接ピクセルとして前景ピクセルをただ１つ有しているすべての前景の（１）ピクセルを、背景の（０）ピクセルに変化させることが望まれることがある。その場合には、図９に示されている８つの構成のすべてにおいて、中央のピクセルは、背景ピクセルに変換されることになる。
【００６４】
実際には、与えられた条件においてどのピクセルを変化させるかの規則は、より複雑であるのが通常であるが、それぞれの規則は、この図に示されているような構成に対して、どのピクセルが状態を変化させるべきかを定めている。しかし、あり得る規則の数は非常に多く、例えば、３×３のピクセル・アレーには、５１２通りの構成があり得るので、５１２の２乗通りの規則が可能である。元のイメージのスケルタルな表現を生じさせる際のように、エッジを平滑化し、次に、エッジ・ピクセルを除去する規則を反復的に適用するなど、異なる処理規則のシーケンスを用いると、この複雑さは、更に増加する。
【００６５】
以下で説明する方法は、インテル社の８０４６８マイクロプロセッサのようなバイト指向（byte oriented）なＰＵ１４のための構成であるが、本発明は、専用のビット・アドレス指定可能（bit addressable）なグラフィクス・プロセッサや、３つまでのイメージ走査線を並列して処理する能力を有する特別目的のプロセッサを用いても実現できることに注意すべきである。
【００６６】
後に更に詳細に説明するように、この方法では、バイト指向のプロセッサを想定しており、処理されるイメージは、整数ビットの幅である。この方法では、更に、イメージが、例えば、バイトに対して８つのピクセルというように、稠密に詰め込まれている（densely packed）ことを想定している。また、表されているイメージは、背景ピクセルから成る少なくとも１つの層又は境界によって包囲され、「隣接する」ピクセルすなわち隣接ピクセル群を、そのイメージのエッジ上のピクセルに対して確立する。
【００６７】
この方法は、更に、一度に、元のイメージの走査線の組に対して作用するが、走査線の現在の（処理されている）組は、一時的な作業バッファの中に保持される。走査線の現在の組は、好ましくは、現時点で作用されている１又は複数のピクセルを含むラインの先の少なくとも１本のラインを含み、現在の動作の結果として生じる効果の不所望の空間的な伝播を阻止する。プロセスは、必要であれば、この目的のために、「オフ・イメージの」（イメージから外れた）ピクセルを発生する。
【００６８】
最後に、一度に１バイトずつイメージが処理されるそれぞれの反復の間に、それぞれのイメージ・バイトの処理の結果は、対応する動作バイトの中に集積されるが、動作バイトの中のビットは、状態が変化するイメージ・ピクセルを表す。次に、動作バイトは、イメージ・バイトとの排他的論理和（exclusive OR）がとられ、動作バイトがゼロでない場合には、元のイメージ・バイトに代わる修正されたイメージ・バイトを生じる。
【００６９】
一度に１ビットに作用する本発明の構成を説明するために、この構成では、ピクセルのそれぞれの３×３の局所的な構成に対して、９ビットのインデクス・アレーを生じ、サブジェクト・アレーと称する。インデクス・アレーは、現に処理されているライン、現に処理されているラインの上の又は先のライン、及び、現に処理されているラインの下の又はそれに続くライン、のそれぞれからの３ビットを含む。これらは、現在、上、下のラインとそれぞれ称される。インデクス・アレーと処理されている現在のサブジェクト・アレーとの関係は、図１０に図解されている。ここで、ｄｅｆは、現在のラインのピクセルであり、ａｂｃは、上のラインのピクセルであり、ｇｈｉは、下のラインのピクセルである。
【００７０】
３×３のピクセル・インデクス・アレーから、インデクスａｂｃｄｅｆｇｈｉが発生され、ａｂｃｄｅｆｇｈｉの順に読み出されると、インデクス・アレーの１又は０の状態を含み、テーブルのインデクスを作るのに用いられる。テーブルは、それぞれのインデクスに対して、動作アレーと称するエントリを含む。この例でのそれぞれの動作アレーは、ピクセルｅに対応する１ビットを含み、１又は０などの動作アレーのビットの状態は、現在の中央のピクセルであるｅがその現在の状態を保持すべきか変更すべきかを指示する。動作アレーの１ビットは、次に、ｅピクセルと排他的論理和の演算がなされ、元のｅピクセルに代わる修正されたｅピクセルを決定する。
【００７１】
以下の説明に関しては、処理規則にとって適切である場合に、イメージの処理を加速させる方法は複数存在する。例えば、図１１に示されているように、８つの隣接バイトの近傍において、バイトｘｘｘｘｘｘｘｘを考えよ。
【００７２】
ｘｘｘｘｘｘｘｘによって表される８つのピクセル・バイトは、現在の処理規則が複数の条件の中の任意のものに対応する場合には、詳細な処理によって、「上を通過」（passed over）されうる。例えば、背景ピクセルはどのような条件の下でも前景ピクセルには変換されないことを規則が定めている場合には、有しているのがすべて背景ピクセルであるバイトは、上を通過される。同様に、前景ピクセルは決して背景ピクセルには変換されないと規則が定めている場合には、有しているのがすべて前景ピクセルであるバイトは、上を通過される。更に、完全に前景ピクセルによって包囲されている前景ピクセルは決して背景ピクセルに変換されないと規則が定めているとすると、有しているのがすべて前景ピクセルであるバイトは、隣接の８バイトもまたすべて前景ピクセルである場合には、上を通過される。最後に、完全に背景ピクセルによって包囲されている背景ピクセルは決して前景ピクセルに変換されないと規則が定めているとすると、有しているのがすべて背景ピクセルであるバイトは、隣接の８バイトもまたすべて背景ピクセルである場合には、上を通過される。
【００７３】
現在の規則に対して適切である場合には、これ以外の加速処理も可能であるが、近傍のピクセルごとの検査を要求する条件に必要な処理コストの上昇も考慮すべきである。
【００７４】
最後に、同じ規則を用いた同じイメージの反復処理に適用できる加速方法も存在する。例えば、ある規則が１つのイメージに反復的に作用する場合には、最初の反復以降の任意の反復において、最後の反復の間に変化しなかったイメージのピクセルは、直前の反復の間に変化しなかったピクセル又はそのようなピクセルに隣接するピクセルでなければ、現在の反復の間に変化することはあり得ない。
【００７５】
与えられた規則に従うプロセスの効果は反復によって多くとも１ピクセルだけ伝播するという原理を、この加速方法は認めており、この加速方法を、本発明の場合のように、１又は複数の現在の規則に従った処理の間のイメージ・ピクセルの変化を追跡することによって、実現することができる。
【００７６】
この理由により、変化追跡のメカニズムは、走査されたイメージのそれぞれのラインに対してリターン・アレーを発生し、それぞれのリターン・アレーは、対応するラインに対して、現在の反復において変化した最も左及び最も右のバイトによって定義される「スパン」を示す。このメカニズムは、リターン・アレーを初期化して、あるプロセスの最初の反復の開始時においてイメージ全体を包囲し、そのプロセスの終了時では、現在の反復においては変化が生じていないことによってそのことは示されるが、最も右のバイトの右に位置する最も左のバイトを有する「不可能な」スパンを有するリターン・アレーを発生することによって、反復の有用な終了を指示する。
【００７７】
変化追跡メカニズムは、リターン・アレーを用いて、最初以外のすべての反復の間のプロセスの範囲の限度を決定する。しかし、それぞれのリターン・アレーの現在の内容が現在の反復において処理されるスパンを１ピクセルによってあまりに強く拘束することを想定しており、これは、先の反復の結果として可能性がある。従って、変化追跡メカニズムは、指示されたスパンの左右の両側において１バイト、そして、走査線に平行なすべてのエッジに沿った１バイト、処理されるスパンを拡張する、又は、「太くする」。ここで、太くする動作は、イメージの実際の境界によって、画定又は限定される。
【００７８】
変化追跡メカニズムは、更に、変更されたスパンがゼロであったかどうかを示すフラグを発生又は設定し、反復の間に変更されたピクセルの数を表す数又は値を与える。こうして、このメカニズムは、プロセスの反復に結果生じる変更がそれ以上ないので反復を停止すべきときを知っていることになる。
【００７９】
最後に、上述したように、ＳＩＴＰ３０は、イメージに対して、恐らくは循環的な態様で、規則のシーケンシャルな組を適用し、リターン・アレーを用いて同様の態様でこれらのプロセスを好適に境界付け、この規則のシーケンシャルな組の反復を制御する。この場合には、ＳＩＴＰ３０は、それぞれの規則に対してリターン・アレーを発生し、規則のシーケンスにおけるそれぞれの新たな規則の最初において、先の規則の最後の反復の論理的な結合であるリターン・アレーを、その新たな現在の規則に与える。従って、結合アレーは、規則のそれぞれの後続の反復の適用の結果を表し、新たな現在の規則の最初の現在の反復のための開始のリターン・アレーとして用いられる。新たな現在の規則は、従って、それ自身の先の適用と規則のシーケンスにおける他の規則の先の反復との結果として生じるスパンの最も左及び最も右のエッジにおいて、その左の及び右のエッジを設定する。
【００８０】
以上で説明したように、ＳＩＴＰ３０のこの構成は、好ましくは、テーブルを用いたものであり、テーブルは、ピクセルのグループ又は組に対する処理結果を規則又は参照するのに用いられる。その理由は、テーブルを利用する処理によって獲得される処理速度の向上のためである。原理的には、処理に用いられるテーブルのサイズには制限はないが、メモリ及び処理の限度に起因する制限はあり得る。
【００８１】
例えば、イメージ・ピクセルの４×４のインデクス・アレーから生じるインデクスを用いて２×２のサブジェクト・アレーをテーブルを用いて同時に処理する構成は、図１２に示されているアレーによって図解されうる。この図では、ピクセルＦ、Ｇ、Ｊ、Ｋから成る２×２のサブジェクト・アレーに対する個別のピクセル動作は、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、Ｍ、Ｎ、Ｏ、Ｐから成る４×４のインデクス・アレーから生じるインデクスを、テーブルの中へのインデクスとして用いて決定されうる。これらのアレーを基にして作られるテーブルは、入力される処理アレーのピクセルであるｆ、ｇ、ｊ、ｋに個別に対応し２×２のサブジェクト・アレーの４つのピクセルと排他的論理和演算がなされ２×２のサブジェクト・アレーの個々のピクセルの状態を選択的に「フリップ」（反転）させたり、フリップさせなかったりする４ビットの動作アレーを提供する。この構成では、サブジェクト・アレーの４つの個別のピクセルのそれぞれに対して実行されるフリップ又は非フリップの個別の動作を定義する動作アレーを提供することができるが、これは、インデクス・アレーが、サブジェクト・アレーの４つのピクセルのそれぞれの局所的な内容を完全に定義するのに必要な情報を含むからである。
【００８２】
このテーブルは、６４キロバイトの動作アレー情報を含むが、これは、その中の情報をより稠密に詰め込むことによって、３２キロバイトにすることができる。例えば、インデクスからピクセルＡを除去することによって、インデクスを１５ビットに還元することができ、テーブルの中のそれぞれのエントリは２つの動作アレーを記憶することができる。テーブルのそれぞれのエントリには、ピクセルＡの状態が１であるときには、一方の動作アレーであるｆ−ｇ−ｊ−ｋが適用され、ピクセルＡの状態が０であるときには他方の動作アレーであるｆ’−ｇ’−ｊ’−ｋ’が適用される。
【００８３】
この構成は、一度にイメージの２つのラインを処理し、４回のテーブル参照の後では、２バイトの動作アレーを生じ、これは、非ゼロであれば元のイメージと排他的論理和演算がなされて修正されたイメージの修正されたピクセルを生じる。
【００８４】
再び、何らかの加速方法が利用可能であり要求される処理を減らすことができる。これは、図１３のピクセル・アレーによって示されている。
【００８５】
この例では、ｘｘｘｘｘｘｘｘとｙｙｙｙｙｙｙｙとが共にすべて背景ピクセルである場合には背景ピクセルは決して前景ピクセルに変化しないと規則によって定められているとすると、ｘｘｘｘｘｘｘｘ及びｙｙｙｙｙｙｙｙは処理されるされる必要がない。同様に、ｘｘｘｘｘｘｘｘとｙｙｙｙｙｙｙｙとが共にすべて前景ピクセルである場合には前景ピクセルは決して背景ピクセルに変化しないというのが規則であるならば、ｘｘｘｘｘｘｘｘ及びｙｙｙｙｙｙｙｙは処理されるされる必要がない。また、完全に背景ピクセルに包囲されている背景ピクセルは決して前景ピクセルには変化しないと規則が定めており、ｘｘｘｘｘｘｘｘ及びｙｙｙｙｙｙｙｙが背景ピクセルであるならば、包囲している１０個のピクセルのすべてが背景ピクセルである場合には、ｘｘｘｘｘｘｘｘ及びｙｙｙｙｙｙｙｙは処理の必要がない。最後に、完全に前景ピクセルに包囲されている前景ピクセルは決して背景ピクセルには変化しないと規則が定めており、ｘｘｘｘｘｘｘｘ及びｙｙｙｙｙｙｙｙが前景ピクセルであるならば、包囲している１０個のピクセルのすべてが前景ピクセルである場合には、ｘｘｘｘｘｘｘｘ及びｙｙｙｙｙｙｙｙは処理の必要がない。
ｂ．規則を特定する：
上述のように、ＳＩＴＰ３０のこの構成は、１×１のサブジェクト・アレーを有する３×３のインデクス・アレーに作用し、よって、５１２通りの規則の組から構成される処理規則によって定義される。ここで、それぞれの規則は、可能なインデクス・アレーのそれぞれに対するサブジェクト・アレーに実行される動作を定義している。処理規則は、規則テーブル又はリストに、「真理値」として記憶されうるが、それぞれの真理値は、処理規則の中の１つの規則に対応し、特定の又は特別の処理規則が、最初に規則テーブルにおいて現実化されていた基本的な又は開始時の処理規則への継続的な修正によって発生する。以下では、部分的に例を用いて、処理規則テーブルの構成について説明する。その際には、ピクセルの３×３アレーの有意味な組の二次元記号（notation）と処理規則に従ってそれぞれの３×３アレーの中央のピクセルに対して実行する動作を特定する対応の真理値とを用いる。
【００８６】
以下で用いる記号によれば、Ｂは黒いすなわち前景ピクセルを表し、−は白いすなわち背景ピクセルを表す。また、ｅは、そのピクセルが、前景ピクセル又は背景ピクセルのどちらかであることを表す。従って、図１４に図解されている以下のパターンを見ると、左側のアレーでは、すべての前景（黒）ピクセルは、対角線方向のピクセルの状態とは無関係に、４つの直交する背景（白）ピクセルを有している。これに対して、右側のアレーでは、背景（白）ピクセルは２つの前景（黒）ピクセルの間に垂直方向に挟まれて位置している。左側のアレーに表現されている条件を満たすアレーは、１６通りが可能であり、右側のアレーに表現されている条件を満たすアレーは、６４通りが可能である。
【００８７】
上で示したような基本的なアレー・パターンの組は、拡張が可能であり、基本のアレー・パターンを回転させたり鏡映させたりした結果として得られる種々のバージョン、変更、又は修正を含む。鏡映や回転の例は、図１５において数値コードで示されている。
【００８８】
この数値コードは、基本アレー・パターンの中の選択されたピクセルがそれぞれの回転や鏡映に対して写像（マップ）する図における位置の値を加算したものに基づいている。この際、基本アレー・パターンは、図の１の位置において選択されたピクセルを用いて図に重畳されることから開始される。従って、数値コード１＋１２８は、１と１２８との位置における値の和であり、１におけるその元の位置での基本アレー・パターンを指示又は表現し、このパターンは、図の垂直軸に対して鏡映されているものである。他方で、数値コード１＋４＋１６＋６４は、位置１、４、１６、６４における値の和であり、１における元の位置での基本アレー・パターンに対応し、位置４及び６４に対する＋９０度及び−９０度の回転と、位置１６に対する１８０度の回転とによるものである。明らかに、この図を用いて得られた数値コードの値は、基本アレー・パターンの、９０度、１８０度、２７０度の回転と、左右及び／又は上下の鏡映とを表現するのに十分である。
【００８９】
拡張された基本アレー・パターンの２つの例と拡張されたパターンの解釈とが、図１６及び図１７に示されている。図１６では、すべてのピクセルが、前景ピクセル及び背景ピクセルを含めて、示されており、ただ１つの対角線方向の前景ピクセルがあり、直交するピクセルの任意の組合せが示されている。図１７では、２つの直径方向に対向する背景ピクセルの間に１つの前景ピクセルが表されており、アレーでの残りのピクセルの組合せも示されている。
【００９０】
最後に、３×３アレーの中央のピクセルに対して実行しうる４つの動作がある。すなわち、ピクセルをその反対の状態にフリップできるし、ピクセルを前景ピクセルに変換できるし、ピクセルを背景ピクセルに変換できるし、又は、ピクセルを、元の状態に保つこともできる。ある条件の場合には、これらの動作の間には、恒等的な変換（equivalences）もある。例としては、ピクセルを背景ピクセルに変換する場合に、そのピクセルが既に背景ピクセルである場合である。しかし、このような恒等的な変換は、無意味でも冗長でもない。その理由は、処理規則を前進的（progressively）に発展させることによって、そのような恒等的な変換も処理規則の発展方法の結果であるようにするのがこの構成の意図であるからである。
【００９１】
上述したように発展される例は、コンピュータ・プログラム型のステートメントすなわちコマンドを介して実現され得るが、そのコマンドでの第１のパラメータは、特定の規則テーブル又は規則テーブルの組に向けられたポインタである。そのようなステートメントは、用いるべき特定のオリエンテーションや変更されるべき処理規則を異なる時点で特定するより高級レベルのコードによってコールされるルーチンに組み込むことができる。この例には、Ｃ言語で書かれた２つのコマンドの例が図１８に示されている。ここでは、第１のコマンドは、規則テーブルをクリアして、その内容に関係なく前景ピクセルも背景ピクセルも変換されないことを有効に命じている。第２のコマンドは、孤立している及び投射的（projecting）な前景ピクセルは背景ピクセルに変換される、すなわち、接続された対象物のエッジから「トリム」されるべきことを命じている。
ｃ．規則テーブルの自動構成：
既に述べたように、３×３のインデクス・アレーにおける１×１のサブジェクト・アレーに作用する規則テーブルは、５１２のエントリを含む。ここで、それぞれのエントリのインデクスは、３×３のインデクス・アレーのピクセル・ビット・パターンを表現し、エントリの値、すなわち、１×１の動作アレーにおける１ビットの状態は、対称となるピクセルが不変であることを規則が命じる場合には、例えば０であり、対称となるピクセルが反対の状態にフリップされることを規則が命じる場合には、例えば１である。
【００９２】
既に説明した方法に従う既存の規則テーブルの修正は、直線的で単純であり、アレー・パターンにおけるｅの状態が意味するアレー・パターンの多重性と、数値コードによって決まるオリエンテーションの組によって特定されるオリエンテーションの多重性との発生だけから生じる複雑性があるだけである。
【００９３】
アレー・パターンとオリエンテーション（配向）との多重性は、図１９の疑似コードによって示される入れ子状の反復（nested iteration）によって発生する。ここでは、（おそらく４つの）ショートカット・フラグを設定しノー・エラー・コードをリターンするという値を決定する。
【００９４】
修正規則の動作における一貫性を維持するために、ショートカットがそれぞれの修正規則の動作の終了時に再度確立される。結果的なショートカット・フラグは、規則テーブルへの付属物となる。３×３インデクス・アレーの場合には、４つのショートカットがある。これらは、次のように示される。
【００９５】
１）背景ピクセルが前景ピクセルに変換されうるかを判断するためには、規則位置である＊＿＊＿＊＿＊＿１＿＊＿＊＿＊＿＊の任意の位置に非ゼロのエントリがあるかどうかを判断する。ここで、＊は０又は１の値をとる。
【００９６】
２）前景ピクセルが背景ピクセルに変換されうるかを判断するためには、規則位置である＊＿＊＿＊＿＊＿１＿＊＿＊＿＊＿＊の任意の位置に非ゼロのエントリがあるかどうかを判断する。
【００９７】
３）背景ピクセルによって完全に包囲されている背景ピクセルが前景ピクセルに変換されるかどうかを判断するには、規則位置０＿０＿０＿０＿０＿０＿０＿０＿０が非ゼロであるかどうかをテストする。
【００９８】
４）前景ピクセルによって完全に包囲されている前景ピクセルが背景ピクセルに変換されるかどうかを判断するには、規則位置１＿１＿１＿１＿１＿１＿１＿１＿１が非ゼロであるかどうかをテストする。
ｄ．２×２のピクセル・インデクス・アレーを処理するための規則テーブルの自動的な構成：
２×２のインデクス・アレーを処理するための３２キロバイトのテーブルは、５１２バイトのテーブルと全く同じ情報を含むが、情報は、処理速度を上げるために、再配置され、冗長度を含んでいる。しかし、２×２インデクス・アレーのテーブルは、３×３のインデクス・アレーのためのものとは、プロセスがバイトではなく個々のビットを設定し、５１２バイトのテーブルではバイトは１又は０に設定されるが、３２キロバイトのテーブルではテーブルは５１２個のそれぞれのビットを１又は０に設定する点で、異なる。
【００９９】
例えば、図２０に示されているインデクス・アレーを考察する。このインデクス・アレーは、ピクセルの２×２アレーに対する複数の異なる位置を占め、２×２アレーのピクセルの近傍では、図２１に示されているように、任意の＊は、０又は１の値をとりうる。
【０１００】
これらのパターンのそれぞれは、規則テーブルにおける１２８ビットのアドレスを表すが、これは、５１２ビットの全体に対して、それぞれの規則の特定に貢献するそれぞれの修正規則コマンドのそれぞれのパターンのそれぞれのオリエンテーションに対して、設定されなければならない。規則テーブルの発展はこのように深く入れ子状になっているので、すなわち、多くの反復を必要とするので、用いられる度にテーブルを発展させるには、著しい処理時間が要求され、従って、必要とされるものを用いるためには、テーブルを予め作成し記憶しておくことが望ましい。
【０１０１】
この大きな方の３２キロバイトのテーブルに対しては、小さい方の５１２バイトのテーブルの場合のように、可能な処理ショートカットに対する真理値を自動的に決定することが好ましい。上述のように、これは、規則テーブルの結果的な状態を調べることによって、修正規則コマンドの実行の最後に行われる。ショートカットの例を次に挙げる。
【０１０２】
１）背景ピクセルが前景ピクセルに変換され得るかどうかを判断するには、図２２に示されたパターンにおけるｐのような特定のピクセルを選択し、０＿０＿０＿０＿０＿＊＿＊＿＊＿０＿＊＿０＿＊＿０＿＊＿＊＿＊が意味する２５６ビット位置の中の任意の位置において値１を有するビットがあるかどうかを判断する。
【０１０３】
２）前景ピクセルが背景ピクセルに変換され得るかどうかを判断するには、同じパターンに対して、０＿０＿０＿０＿０＿＊＿＊＿＊＿０＿＊＿１＿＊＿０＿＊＿＊＿＊が意味する位置において値１を有するビットがあるかどうかを判断する。
【０１０４】
３）背景ピクセルによって完全に包囲されている背景ピクセルが前景ピクセルに変換されるかどうかを判断するには、図２３に示されたパターンが意味する位置に置いての値を有するビットがあるかどうかを判断する。
【０１０５】
４）前景ピクセルによって完全に包囲されている前景ピクセルが背景ピクセルに変換されるかどうかを判断するには、図２４に示されたパターンが意味する位置に置いての値を有するビットがあるかどうかを判断する。
ｅ．対象物をスケルタルな形式に抽象化する際のテーブル構成：
既に述べたように、規則テーブルに従うイメージ・ピクセルの上述の処理が、この構成で適用されて、手書きされた又は手で印刷された文字などの白い背景上の黒い前景ラインのビットマップ・イメージに作用し、１ピクセル幅のラインに変化させる。このプロセスは、既に述べたが、第１に、対象物と称する文字の外側の周辺部すなわちエッジを平滑化し、次に、対象物の左、上、右、下などからピクセルの層を反復的に除去することによって、本発明によって実行される。この除去の際には、他の前景ピクセルへの本質的な接続である前景（黒）ピクセルは除去せず、すなわち、対象物を接続された対象物として保持するような態様でなされる。一般的に、このプロセスは、例えば４回の連続的な処理の反復など、所定の回数の連続的な処理の反復の後で対象物に変化が生じなくなったときに、終了する。
【０１０６】
１回又は数回実行することのできる平滑化動作は、必要に応じて、図２５に示されている疑似コードによって定義できる。ここで用いられている用語のいくつかは、既に定義され、説明されたものである。
【０１０７】
最後に、２×２のピクセル・アレーを処理するための規則テーブルを構成し使用するためのＣ言語による例示的なコードのリストが図解されている。一度に１ピクセルを処理するための対応するコードは、当業者であれば、このコードから、容易に導くことができるであろう。
Ｃ．時間順序誘導プロセッサ（ＴＯＩＰ）３２の説明：
１．ＴＯＩＰ３２の一般的な説明：
既に述べたように、ＳＩＴＰ３０は、反復的な態様で機能して、走査文字イメージ（ＳＣＩ）３８によって表現される入力文字イメージを、既に及びこれ以降でもスケルタル・イメージ（ＳＫＩ）４０と称されている、それと同等のスケルタル・イメージに還元する。それぞれのスケルタル・イメージ（ＳＫＩ）４０は、１又は複数のスケルタル・イメージ・アーク（ＳＡＲＣ）４２から成り、スケルタル・イメージ（ＳＫＩ）４０を、スケルタル・イメージ・ファイル（ＳＩＦ）８６の中に、スケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８として記憶する。ＳＩＴＰ３０は、更に、それぞれの走査文字イメージ（ＳＣＩ）３８から複数のスケルタル・イメージ・ファイル（ＳＩＦ）８６を発生する。それぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６は、スケルタライズされた文字の同等の表現を、しかし、異なる解像度で含む。
【０１０８】
図２６を参照すると、ＴＯＩＰ３２が、与えられた走査文字イメージ（ＳＣＩ）３８に対応するそれぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６に作用して、ストロークを、すなわち、スケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８において表現されているスケルタル・イメージ・アーク（ＳＡＲＣ）４２に順序を付け、ストローク・クラスタ（ＳＣ）１１０を作る。ここで、それぞれのストローク・クラスタ（ＳＣ）１１０は、幾何学的及びトポロジカルな関係を有するスケルタル・イメージ・アーク（ＳＡＲＣ）４２を記述する情報を含む１又は複数のストローク記述子（ＳＤ）１１２のグループである。ストローク・クラスタ（ＳＣ）１１０のスケルタル・イメージ・アーク（ＳＡＲＣ）４２は、文字の１又は複数のストローク又は文字の一部としての潜在的な意味を有している。次に、ＴＯＩＰ３２は、スケルタル・イメージ・ファイル（ＳＩＦ）８６のストローク・クラスタ（ＳＣ）１１０に順序を付けて、ページを横切る左から右への順序を表す空間的なシーケンスを作り、ストローク・クラスタ（ＳＣ）１１０を、対応する順序付きクラスタ・アレー（ＯＣＡ）４４に書き込む。それぞれのストローク・クラスタ（ＳＣ）１１０は、このように、少なくとも１つのスケルタル・イメージ・アーク（ＳＡＲＣ）４２を含み、従って、１又は複数の接続された対象物（ＣＯ）６８を表現する。接続された対象物（ＣＯ）６８とストローク・クラスタ（ＳＣ）１１０との間の空間的な関係は、接続された対象物（ＣＯ）６８が、文字の意味のあるストローク又はストローク群又は文字の一部分を形成するようになっている。
【０１０９】
ＴＯＩＰ３２がそれぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６から導かれたストローク・クラスタ（ＳＣ）１１０を対応する順序付きクラスタ・アレー（ＯＣＡ）４４に書き込むプロセスは、図２６に示されている。この図において、それぞれのストローク記述子（ＳＤ）１１２の参照番号に付けられた添え字は、その中に記述されているスケルタル・イメージ・アーク（ＳＡＲＣ）４２の間の空間的な関係を示している。すなわち、ストローク記述子（ＳＤ）１１２ｂは、左から右へ、ストローク記述子（ＳＤ）１１２ｃにおいて表されているものよりも前であって、ストローク記述子（ＳＤ）１１２ａにおいて表されているものよりも後に生じるストロークの記述を含む。
【０１１０】
ＴＯＩＰ３２は、次に、ストランド動作（stranding operation）を、それぞれの順序付きクラスタ・アレー（ＯＣＡ）４４におけるストローク・クラスタ（ＳＣ）１１０のスケルタル・イメージ・アーク（ＳＡＲＣ）４２に対して実行する。２又はそれより多くの交差するスケルタル・イメージ・アーク（ＳＡＲＣ）４２を含むストローク・クラスタ（ＳＣ）１１０においては、ＴＯＩＰ３２は、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の選択されたものの端部を結合して、選択されたストロークの「ストランド」を、すなわち、対応するストランド済ストローク記述子（ＳＳＤ）１１４に記憶されている接続されているスケルタル・イメージ・アーク（ＳＡＲＣ）４２のストランドを、生じる。この点で、ＳＩＴＰ３０は、２つ又はそれより多くの接続されているが個別的に識別可能なピクセルの経路から成る接続された対象物（ＣＯ）６８に作用して、その接続された経路を、別々に定義されたスケルタル・イメージ・アーク（ＳＡＲＣ）４２に分離するという、先に述べた議論を思い出してほしい。ストランド動作においては、従って、ＴＯＩＰ３２は、元々２又はそれより多くの接続されたスケルタル・イメージ・アーク（ＳＡＲＣ）４２から成る接続された対象物（ＣＯ）６８のスケルタル・イメージ・アーク（ＳＡＲＣ）４２の中の選択されたものを有効に再度結合させて、対応する１つのストランドされたスケルタル・イメージ・アーク（ＳＡＲＣ）４２を作り、従って、元の接続された対象物（ＣＯ）６８を部分的に又は全体として、有効に再構成する。
【０１１１】
ＴＯＩＰ３２は、次に、図２６に示すように、ストランド済ストローク記述子（ＳＳＤ）１１４を、対応する順序付きクラスタ・アレー（ＯＣＡ）４４の中に、すなわち、対応するストランドされていないストロークを含む順序付きクラスタ・アレー（ＯＣＡ）４４の中に書き込む。図２６では、スケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８を接続している破線は、ストランドされ１つのストランド済みのスケルタル・イメージ・アーク（ＳＡＲＣ）４２になっているスケルタル・イメージ・アーク（ＳＡＲＣ）４２を含むスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８を表す。ストローク記述子（ＳＤ）１１２を対応するストランド済ストローク記述子（ＳＳＤ）１１４と接続している矢印線は、対応するストローク記述子（ＳＤ）１１２がストランドされ、ストランド済ストローク記述子（ＳＳＤ）１１４になる様子を示している。図示されているように、ストランド済ストローク記述子（ＳＳＤ）１１４ｘは、スケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８ａ及び８８ｂに対応するストローク記述子（ＳＤ）１１２ａ及び１１２ｂから作られ、ストランド済ストローク記述子（ＳＳＤ）１１４ｙは、スケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８ｄ、８８ｅ、８８ｆに対応するストローク記述子（ＳＤ）１１２ｄ、１１２ｅ、１１２ｆから作られる。
２．ＴＯＩＰ３２の詳細な説明：
ａ．ストローク記述子ジェネレータ（ＳＤＧ）１１６（図２７Ａ及び図２７Ｂ）：
図２７Ａを参照すると、ＴＯＩＰ３２は、ＰＵ１４の上で動き、選択されたスケルタル・イメージ・ファイル（ＳＩＦ）８６のそれぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２を記述する情報を読み出して、それぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６に対応するストローク・アレー（ＳＡ）１１８を構成する対応のプログラム・ルーチン（ＰＲ）１８として実現されたストローク記述子ジェネレータ（ＳＤＧ）１１６を含む。それぞれのストローク・アレー（ＳＡ）１１８は、対応するスケルタル・イメージ・ファイル（ＳＩＦ）８６におけるそれぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２に対するストローク記述子（ＳＤ）１１２を含む。
【０１１２】
図２７Ｂに示されているように、それぞれのストローク記述子（ＳＤ）１１２は、対応するスケルタル・イメージ・アーク（ＳＡＲＣ）４２のスケルタル・イメージ・アーク記述子（ＳＩＡＤ）８８を含んでおり、ノード記述子（ＮＯＤＤ）９６における端部（エンド）ノード９０の座標と、増加ステップのリンク・リスト（ＬＬＩＳ）９８と誘導された方向ストリング（ＩＤＩＲＳ）１２０とにおいて記述されたリンク９２経路に沿ったピクセルの座標とを含む。以下で述べるように、ストローク記述子（ＳＤ）１１２において表現されたストローク経路に沿ったそれぞれのピクセルに対するストローク方向エントリ（ＳＤＥ）１２２を含み、ストローク記述子（ＳＤ）１１２において表現されたそれぞれのピクセルに対して、そのピクセルにおける想像上のペンの想定された運動方向を、対応するストローク記述子（ＳＤ）１１２によって記述されるストロークを形成する際に表現する。運動の方向は、ほとんどの書き手によって文字のストロークが形成される上から下へ右から左へのペンの動きの想定される規則に従ってそれぞれのストロークに課せられる。このプロセスは、与えられた走査文字イメージ（ＳＣＩ）３８に対応するそれぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６に対して、従って、与えられた走査文字イメージ（ＳＣＩ）３８のスケルタライズされたイメージの表現のそれぞれの解像度に対して、反復される。
【０１１３】
この構成では、ストローク記述子ジェネレータ（ＳＤＧ）１１６は、あるノード９０から始まり、増加ステップのリンク・リスト（ＬＬＩＳ）９８によって記述される経路に沿ったピクセルの対応するｘｙ座標位置まで増加ステップ（ＩＮＣＳ）９４をカバーするスケルタル・イメージ・アーク（ＳＡＲＣ）４２のピクセル経路に沿った関連する増加ステップのリンク・リスト（ＬＬＩＳ）９８の増加ステップ（ＩＮＣＳ）９４を読み出すことによって、また、その際に、開始点の端部ノード９０から得られる開始の座標までの継続的な増加ステップ（ＩＮＣＳ）９４における方向と距離とを集積的に加算することによって、リンク９２の経路に沿ったそれぞれのピクセルの座標を決定する。
【０１１４】
増加ステップ（ＩＮＣＳ）９４の情報は、また、ストローク記述子（ＳＤ）１１２の誘導された方向ストリング（ＩＤＩＲＳ）１２０に対する対応するストローク方向エントリ（ＳＤＥ）１２２を発生するのに用いられる。ストローク記述子ジェネレータ（ＳＤＧ）１１６のこの構成では、ストロークの作成運動の課された方向は、４つの方向に、すなわち、左右上下に分けられ、増加ステップのリンク・リスト（ＬＬＩＳ）９８からの方向情報だけから、又は、ピクセル座標から、１つのピクセル位置から次へのｘｙ座標の最大の変化はｘ座標において生じるのかｙ座標において生じるのかを判断することによって、更に、どの方向に最大の変化が生じるのか、すなわち、最大の変化はその軸の＋方向にと−方向とのどちらにおいて生じるのかを判断することによって、決定される。他の構成では、運動の方向は、必要であれば、文字及び記号の一貫し正確な識別のために、より高い解像度まで分けられる。当業者であれば理解することであるが、例えば、運動の方向は、左、左上、上、右上、右、右下、下、左下から成る８つの方向に、あるピクセルから次のピクセルへのｘ及びｙ軸に沿った座標位置の変化の大きさを知り、これらの大きさをこれらの方向を構成する９０度及び４５度に丸めて比を計算することによって、又は、再び、増加ステップのリンク・リスト（ＬＬＩＳ）９８による方向情報から、決定することができる。
【０１１５】
既に述べたように、ＳＩＴＰ３０の構成によっては、それぞれの増加ステップ（ＩＮＣＳ）９４は、増加ステップのリンク・リスト（ＬＬＩＳ）９８のそれぞれの経路に沿った継続的なピクセル又はピクセル群までの方向及び距離ではなく、増加ステップのリンク・リスト（ＬＬＩＳ）９８のそれぞれの経路に沿ったピクセル又はピクセル群の位置の座標を記憶する。ＳＩＴＰ３０がこのように構成されている場合には、ストローク記述子ジェネレータ（ＳＤＧ）１１６が増加ステップ（ＩＮＣＳ）９４の方向及び距離情報をピクセル座標に変換する必要はなく、その理由は、この情報が増加ステップ（ＩＮＣＳ）９４から直接に入手可能であるからである。しかし、ストローク記述子ジェネレータ（ＳＤＧ）１１６は、ピクセルの継続的な座標から方向ストリング（ＤＩＲＳ）１２２を発生する必要がある。
ｂ．ストランド・プロセッサ（ＳＴＲＰ）１２４（図２７Ａ、図２８Ａ、図２８Ｂ）：
ＴＯＩＰ３２は、更に、ストランド・プロセッサ（ＳＴＲＰ）１２４を含み、このプロセッサは、既に述べたように、それぞれのストローク・アレー（ＳＡ）１１８のストローク記述子（ＳＤ）１１２を読み出し、ストローク記述子（ＳＤ）１１２において記述されているスケルタル・イメージ・アーク（ＳＡＲＣ）４２が交差していることを示しているようなストロークを識別して、対応するストランド済ストローク記述子（ＳＳＤ）１１４を構成する。
【０１１６】
この点では、既に述べたことであるが、ＳＩＴＰ３０のトランスクライバ・プロセッサ（トランスクライバ）８４が、接続された対象物（ＣＯ）６８のピクセル経路を、ピクセル経路が接続された対象物（ＣＯ）６８の別のピクセル経路に出会う、又は、ピクセル経路の方向が著しく変化する地点において、別々のスケルタル・イメージ・アーク（ＳＡＲＣ）４２に分割する。そのようにして、文字の単一のピクセル経路すなわち単一のストロークは、２又はそれより多くの別々に識別され記述されるストロークに転写（トランスクライブ）される。
【０１１７】
このプロセスは図２８Ａに図解されている。この図では、接続された対象物（ＣＯ）６８が、２つの交差するスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｕ、４２ｖから成る元のスケルタライズされた形式で示されている。トランスクライバ・プロセッサ（トランスクライバ）８４は、図２８Ａでは交点１２６として示されている、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｕとスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｖとの共通のピクセルでの交差すなわち結合を検出し、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｕ及びスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｖを、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｗ、４２ｘ、４２ｙ、４２ｚとしてトランスクライブする。
【０１１８】
既に述べたように、ストローク記述子ジェネレータ（ＳＤＧ）１１６は、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｗ、４２ｘ、４２ｙ、４２ｚのそれぞれを、ストローク・アレー（ＳＡ）１１８の別のストローク記述子（ＳＤ）１１２において記述する。
【０１１９】
簡単には述べたことであるが、ストランド・プロセッサ（ＳＴＲＰ）１２４は、それぞれのストローク・アレー（ＳＡ）１１８のストローク記述子（ＳＤ）１１２において記述されているスケルタル・イメージ・アーク（ＳＡＲＣ）４２のいくつかに作用して、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の中尾選択された対の端部を１つの接続されたストロークに結合して、すなわち、それぞれの選択された対を結合して単一のスケルタル・イメージ・アーク（ＳＡＲＣ）４２を作る。スケルタル・イメージ・アーク（ＳＡＲＣ）４２の対は、それぞれのストローク・アレー（ＳＡ）１１８におけるストローク記述子（ＳＤ）１１２に記述されている交差するスケルタル・イメージ・アーク（ＳＡＲＣ）４２の対から選択されるが、それぞれの対は、その交点においてストロークの間の交差角度が最小となるように選択されている。このプロセスは、人間の手は通常のテキスト文字や記号を書く際には、そのストロークを形成するのに必要でない限りは、ストロークに沿った運動方向における急激で急峻な変化を避ける弾道的（ballistic）な運動に従う、という事実に基づく。このプロセスは、このようにして、トランスクライバ・プロセッサ（トランスクライバ）８４によって２つの別個に識別されたストロークに分割されている接続された対象物（ＣＯ）６８のストロークのいくつかを、単一のストロークに復元するが、この際には、ストロークが、人間により手書きされたようなストローク、例えば、ペンとタブレットとを用いてリアルタイムで書かれた元のイメージに似せるような態様で復元される。
【０１２０】
ストランド・プロセッサ（ＳＴＲＰ）１２４によって実行されるプロセスは、図２８Ｃに図解されている。この図では、ストランド・プロセッサ（ＳＴＲＰ）１２４は、交差するストロークの６つの対を、ストローク・クラスタ（ＳＣ）１１０の実際の又は可能性のある構成要素として識別している。ストロークのこれらの対は、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｘを伴うスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｗ、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｙを伴うスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｗ、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｚを伴うスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｗ、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｙを伴うスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｘ、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｚを伴うスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｘ、及び、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｚを伴うスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｙによって表現される。ストランド・プロセッサ（ＳＴＲＰ）１２４は、角度（Ａ）１２８ｗｘ、１２８ｗｙ、１２８ｗｚ、１２８ｘｙ、１２８ｘｚ、１２８ｙｚとして表される、ストロークの可能性のある対の間の交差角度を決定する。図２８Ｄに示されているように、ストランド・プロセッサ（ＳＴＲＰ）１２４は、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｗとスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｘとから成りその交差角度がＡ１２８ｗｘである対と、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｙとスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｚとから成りその交差角度がＡ１２８ｙｚである対とを、それぞれの対のストロークの間の交差角度が最小になっている結合されたストローク対を表現するものと識別する。次に、ストランド・プロセッサ（ＳＴＲＰ）１２４は、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｗ及びスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｘの対に対する新たな第１のストランド済ストローク記述子（ＳＳＤ）１１４ｗｘと、スケルタル・イメージ・アーク（ＳＡＲＣ）４２ｙ及びスケルタル・イメージ・アーク（ＳＡＲＣ）４２ｚの対に対する新たな第２のストランド済ストローク記述子（ＳＳＤ）１１４ｙｚとを発生（生成、ジェネレート）するが、これらの２つの新たなストランド済ストローク記述子（ＳＳＤ）１１４は、あらゆる点でストローク記述子（ＳＤ）１１２に類似しているが、ストロークを、結合されたすなわちストランドされた単一のエントリとして記述している。すなわち、それぞれの対において、交点に位置するノード９０は、結合された経路に沿った別のピクセル点として結合されており、誘導された方向ストリング（ＩＤＩＲＳ）１２０は、結合されて、単一の誘導された方向ストリング（ＩＤＩＲＳ）１２０となる。
【０１２１】
上で述べたストランド動作では、ストランド・プロセッサ（ＳＴＲＰ）１２４が、ストローク記述子（ＳＤ）１１２のそれぞれの可能性のある対のピクセル経路の間の交差角度を決定し、その終点のノード９０における交点でのその経路の方向の間の角度が最小になる交差しているピクセル経路の対を識別することが要求される。
【０１２２】
ストランド・プロセッサ（ＳＴＲＰ）１２４は、ストロークの可能性のある対のピクセル経路の間の交差角度を、ピクセル経路の共通の終点ノード９０を形成するピクセルに隣接するそれぞれのピクセル経路に沿った第１のピクセルの方向を決定することによって、決定する。しかし、この方法は、それぞれのピクセル経路の方向をただ８通りの角度の中の１つとして数量化するので、スキャナによって文書イメージをピクセル・マップに最初に数量化する際にノイズを受け、また、細字化プロセスにおいて導入されるノイズも受ける。
【０１２３】
従って、ストランド・プロセッサ（ＳＴＲＰ）１２４のこの構成では、それぞれのストロークのより大きな長さを用いることによって、その共通の共有された終点ノード９０位置における相互の間のストロークの角度を決定する。ある構成では、ストランド・プロセッサ（ＳＴＲＰ）１２４は、２又はそれより多くの交差しているストローク群の中のそれぞれのストロークに対して、ｘｙ座標平面の選択された軸とストローク群の中の選択された１つとのどちらか一方と、共有されている終点ノード９０の位置とその共通の終点ノード９０の位置から離れる方向のストロークに沿って所定の距離の位置にある地点とを結ぶラインとの間の角度を決定することによって、この動作を行う。それぞれのストロークに沿った選択された点と共有された終点ノード９０の位置とを接続するラインは、従って、ｘｙ座標平面の選択された軸又は経路の中の選択されたものに対する、ストロークの運動又は方向の平均角度を表し、次に、ストローク群の角度は、比較されて、共有された終点ノード９０の位置において最小の交差角度を有する対を決定する。
【０１２４】
この構成では、ストランド・プロセッサ（ＳＴＲＰ）１２４は、ストローク群の中のそれぞれのストロークに沿った単一のピクセルを、ストロークに沿った選択された点として用いる。この場合には、ピクセルは、例えば、それぞれのストロークの他方の終点ノード９０におけるものとして、又は、共有された終点ノード９０から離れる方向に経路に沿って所定の距離だけすなわち所定の数のピクセル分だけの位置にあるピクセル、又は再び、そのストロークが所定の距離だけ進む前に終わっている場合には、そのノード９０の端部における点におけるピクセルとして、選択されうる。別の構成では、ストランド・プロセッサ（ＳＴＲＰ）１２４は、共通の終点ノード９０から離れる方向においてストロークに沿って選択される２又はそれより多くピクセルから決定される平均から、ストロークの相対的な角度を決定する。これらのピクセルは、例えば、それぞれのストロークの他方の終点ノード９０と、例えばそれぞれのストロークに沿ってピクセルを数えることにより識別されるそれぞれのストロークの終点ノード９０の間の中間にあるピクセルとから構成され、又は、共通の終点ノード９０位置から離れる方向にそれぞれのストロークに沿って所定の距離にある１又は複数のピクセルから構成される。それぞれのストロークのラインに沿って２又はそれより多くの点の座標位置が与えられた場合には、その中の１つは、ストロークの交点における共有された終点ノード９０である。ストランド・プロセッサ（ＳＴＲＰ）１２４は、ｘｙ座標平面に対する、又は、ストロークの中の選択された１つに対するストロークの交差角度を、当業者には広く知られた方法によって、しかし本質的には、ラインに沿った２又はそれより多くの点の座標から、ｘｙ軸の一方に沿ったラインの、ｘｙ軸の他方に沿ったラインの位置変化に対する、位置変化を決定することによって、決定する。
【０１２５】
別の実施例では、ストランド・プロセッサ（ＳＴＲＰ）１２４は、ｘｙ座標平面又はストローク群の中の選択されたものに対するそれぞれのストロークの交差角度を、共有された終点ノード９０のｙ又はｘ座標にそれぞれ対するｙ又はｘ軸に沿った所定の増加距離に対して、共有された終点ノード９０のｘ又はｙ座標に対するストローク経路位置のｘ又はｙ座標の増加変化分を決定することによって、決定する。すなわち、例えば、ストランド・プロセッサ（ＳＴＲＰ）１２４は、共有された終点ノード９０のｙ座標を決定し、所定の距離だけｘ軸に沿って移動し、ｘ軸に沿ったその点におけるストロークのｙ座標を決定する。従って、ｙ座標位置の変化は、ｘ軸に対するストロークの移動の方向の角度を表すことになる。
【０１２６】
既に述べたように、ストランド・プロセッサ（ＳＴＲＰ）１２４は、それぞれのストローク・アレー（ＳＡ）１１８におけるストローク記述子（ＳＤ）１１２の対応する対によって記述されたストロークのそれぞれの対に対して、結合動作を実行する。ストランド・プロセッサ（ＳＴＲＰ）１２４は、次に、構成されているストローク記述子（ＳＤ）１１２を含むストローク・アレー（ＳＡ）１１８に、ストランド済ストローク記述子（ＳＳＤ）１１４を書き込む。そうする際には、ストランド・プロセッサ（ＳＴＲＰ）１２４が、ストランドされた識別子を、ストランド済ストローク記述子（ＳＳＤ）１１４を構成する際に用いられたそれぞれのストローク記述子（ＳＤ）１１２に付属させることが好ましい。また、ストランド・プロセッサ（ＳＴＲＰ）１２４は、それぞれのストランド済ストローク記述子（ＳＳＤ）１１４に、構成されているストローク記述子（ＳＤ）１１２の成分識別子を付属させることが好ましい。
【０１２７】
しかし、別の実施例では、ＬＬＲＰ３４の特定の構成に少なくとも部分的には依存するが、ストランド・プロセッサ（ＳＴＲＰ）１２４は、ストランドされているストロークを含むそれぞれのストローク・アレー（ＳＡ）１１８のコピーから、ストランドされたストロークを形成するために別のストロークと合成されたそれぞれのストロークを除去して、その代わりにストランド済ストローク記述子（ＳＳＤ）１１４を与えることによって、ストランドされたストローク・アレー（ＳＡ）１１８を構成することができる。この実施例では、従って、ストランドが可能なストローク、すなわち、ストランドされていないストローク・アレー（ＳＡ）１１８とストランドされたストローク・アレー（ＳＡ）１１８を有するそれぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６に対して、２つの種類のストローク・アレー（ＳＡ）１１８が存在する。
【０１２８】
最後に、ストランド・プロセッサ（ＳＴＲＰ）１２４は、上述のプロセスを反復的に実行し、更に、シーケンシャルなストロークの連続的な対を単一のストロークに形成することによって、そして、ストロークの対から形成される単一のストロークを更なるストローク対に合成することによって、３又はそれより多くのストロークのシーケンスを合成して単一のストロークにすることができる。これは、記号＃を参照することによって説明できる。つまり、この記号におけるストロークのそれぞれは、３つの別個のストロークとしてトランスクライブされている。すなわち、例えば、この記号の上側の水平方向のストロークは、最も左の縦向きストロークの左へ延びる第１のストロークとしてトランスクライブされており、第２のストロークは、２つの右上のストロークの間に延びており、第３のストロークは、最も右の縦向きストロークの右に延びている。ストランド・プロセッサ（ＳＴＲＰ）１２４は、第１及び第２のストロークを結合して第１の結合されたストロークにし、第２及び第３のストロークを結合して第２の結合されたストロークにする。そして、第１及び第２の結合されたストロークを合成して、この記号の元の上側の水平方向のストロークを表す第３の結合されたストロークとする。
ｃ．クラスタ・レコグナイザ（ＣＬＲ）１３０：
図２７Ａに示されるように、ＴＯＩＰ３２は、クラスタ・レコグナイザ（認識手段）（ＣＬＲ）１３０を含む。このクラスタ・レコグナイザ（ＣＬＲ）１３０は、やはり、プロセッサ・ユニット（ＰＵ）１４の上で動くプログラム・ルーチン（ＰＲ）１８であり、ストロークのクラスタの構成要素として、すなわち、文字又は文字の一部分として、潜在的な意義を有する１又は複数のストロークのグループの構成要素であるそれぞれのストローク・アレー（ＳＡ）１１８の中のスケルタル・イメージ・アーク（ＳＡＲＣ）４２を識別する。クラスタ・レコグナイザ（ＣＬＲ）１３０は、その経路が実際に接続されているスケルタル・イメージ・アーク（ＳＡＲＣ）４２を、すなわち、ストランド済ストローク記述子（ＳＳＤ）１１４を構成するのに用いられたストローク記述子（ＳＤ）１１２を識別し、第２に、その位置と範囲とによって空間的に関係していることが示されているスケルタル・イメージ・アーク（ＳＡＲＣ）４２を識別して文字又は記号もしくは文字又は記号の一部分を形成するストロークのクラスタの構成要素とすることによって、ストローク・クラスタ（ＳＣ）１１０を形成する。
【０１２９】
第１の場合には、クラスタ・レコグナイザ（ＣＬＲ）１３０は、ストランド済ストローク記述子（ＳＳＤ）１１４の構成において用いられたストローク記述子（ＳＤ）１１２に関連する識別子を読み出す。クラスタ・レコグナイザ（ＣＬＲ）１３０は、次に、共通の原点を有するすなわち交差しておりストランド済ストローク記述子（ＳＳＤ）１１４の中に組み入れられているスケルタル・イメージ・アーク（ＳＡＲＣ）４２のストローク記述子（ＳＤ）１１２を、そのストロークを含むスケルタル・イメージ・ファイル（ＳＩＦ）８６に対応するクラスタ・アレー（ＣＡ）１３２に記憶されている対応するストローク・クラスタ（ＳＣ）１１０の中に、その位置と範囲との空間的な順序で、書き込む。
【０１３０】
ストローク記述子（ＳＤ）１１２がストランド済ストローク記述子（ＳＳＤ）１１４の構成において用いられていないものとしてしきべつされている、すなわち、他のストローク記述子（ＳＤ）１１２のストロークと交差しているものとは識別されていないような実施例では、クラスタ・レコグナイザ（ＣＬＲ）１３０は、ストローク・アレー（ＳＡ）１１８のそれぞれのストローク記述子（ＳＤ）１１２において表現されている終点ノード９０の座標を読み出して、それを、ストローク・アレー（ＳＡ）１１８の他方のストローク記述子（ＳＤ）１１２の終点ノード９０の座標と比較する。クラスタ・レコグナイザ（ＣＬＲ）１３０は、同一の座標を共有する終点ノード９０を有するスケルタル・イメージ・アーク（ＳＡＲＣ）４２を、共通の原点すなわち共通に配置された終点ノード９０を有するスケルタル・イメージ・アーク（ＳＡＲＣ）４２を表すものとして識別し、それらのストローク記述子（ＳＤ）１１２を、ストローク・クラスタ（ＳＣ）１１０のクラスタ・アレー（ＣＡ）１３２に書き込む。
【０１３１】
クラスタ・レコグナイザ（ＣＬＲ）１３０は、実際に交差はするが最小の交差角度の選択の理由でストランドされたストロークを構成するのに選択されなかったストロークと、交差はしていないがストローク・クラスタ１００の構成要素となるような空間的な位置及び範囲を有するストロークとを、現在のストローク・アレー（ＳＡ）１１８の対応するストローク記述子（ＳＤ）に含まれておりそこから読み出された情報からのそれぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２の位置と範囲（locations and extents）とを決定し比較することによって、識別する。この点では、２又はそれより多くのスケルタル・イメージ・アーク（ＳＡＲＣ）４２は、ストロークが重なるか交差するときに、又はスケルタル・イメージ・アーク（ＳＡＲＣ）４２の範囲が重なるか又は十分に接近しているときに、それらがクラスタの構成要素になるように、空間的に関係しているものと見なされる。スケルタル・イメージ・アーク（ＳＡＲＣ）４２の範囲は、クラスタ・レコグナイザ（ＣＬＲ）１３０の種々の実施例において、スケルタル・イメージ・アーク（ＳＡＲＣ）４２のピクセル及び終点ノード９０のｘ又はｙ座標の最大の範囲によって、決定される。
【０１３２】
ある実施例では、クラスタ・レコグナイザ（ＣＬＲ）１３０は、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の範囲を、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の終点ノード９０のｘ座標によって定義されているものと判断する。ここで、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の終点ノード９０のｘ座標は、ページの左から右へ水平方向に延長するものとして定義されたｘ軸に沿ったスケルタル・イメージ・アーク（ＳＡＲＣ）４２の終点ノード９０の位置に関するものである。この構成では、２つのスケルタル・イメージ・アーク（ＳＡＲＣ）４２は、そのｘ軸の範囲が相互に重なる又は所定の距離内にあるときに、ストローク・クラスタ（ＳＣ）１００の構成要素と見なされる。既に述べたように、この距離は、固定されていてもよいし、決定されてもよいし、又は、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の範囲に比例したものでもよい。
【０１３３】
しかし、長い垂直方向のストロークは、水平方向に比較的短いストロークよりも大きな実際の範囲を有すると考えられうる。例えば、文字１と文字ｅとがその例であるが、文字ｅは、文字１よりも、ｘ軸に沿ってより大きな範囲を有するものと判断される。従って、ｘ軸座標だけを考慮して範囲を判断するのが不十分であるような場合もあり、従って、クラスタ・レコグナイザ（ＣＬＲ）１３０の別の実施例では、それぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２の終点ノード９０のｘ及びｙの両方の座標を考慮して、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の範囲を判断し比較する。
【０１３４】
文字Ｂ、Ｄ、Ｒなどの右側に延長しているループなどのストロークは、その終点ノード９０のｘ及びｙ座標によって示されるより大きな実際の範囲を有し、これは、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の範囲をけっけいする際の重要なファクタになり得る。よって、クラスタ・レコグナイザ（ＣＬＲ）１３０の更に他の実施例では、対応するストローク記述子（ＳＤ）１１２において記述されている実際のスケルタル・イメージ・アーク（ＳＡＲＣ）４２のピクセル経路の最大及び最小のｘ及びｙ座標を判断することによって、それぞれのスケルタル・イメージ・アーク（ＳＡＲＣ）４２の実施の全体の範囲を決定し比較する。
【０１３５】
最後に、クラスタ・レコグナイザ（ＣＬＲ）１３０は、交差はしていないがストローク・クラスタの構成要素である可能性が高いと識別されるスケルタル・イメージ・アーク（ＳＡＲＣ）４２のストローク記述子（ＳＤ）１１２を、クラスタ・アレー（ＣＡ）１３２の適切なストローク・クラスタ（ＳＣ）１１０に、書き込む。この際に、そのスケルタル・イメージ・アーク（ＳＡＲＣ）４２がその空間的な位置及び範囲の順序において交差するので構成要素であると識別されている他のストロークも共に書き込まれる。
ｄ．クラスタ順序プロセッサ（ＣＯＰ）１３４：
ＴＯＩＰ３２は、更に、クラスタ順序プロセッサ（ＣＯＰ）１３４を含む。このクラスタ順序プロセッサ（ＣＯＰ）１３４は、プロセッサ・ユニット（ＰＵ）１４の上で動くプログラム・ルーチン（ＰＲ）１８として実現されており、それぞれのクラスタ・アレー（ＣＡ）１３２のストローク・クラスタ（ＳＣ）１１０のストローク記述子（ＳＤ）１１２とストランド済ストローク記述子（ＳＳＤ）１１４とを読み出し、それぞれのクラスタ・アレー（ＣＡ）１３２のストローク・クラスタ（ＳＣ）１１０に順序を付けて、ｘ軸に沿ったストローク・クラスタ（ＳＣ）１１０の「重心」（center of mass）の増加する位置に従って、推測される作成の時間的順序を作成し、順序付きのストローク・クラスタ（ＳＣ）１１０を、対応する順序付きクラスタ・アレー（ＯＣＡ）４４に書き込む。
【０１３６】
ストローク記述子（ＳＤ）１１２とストランド済ストローク記述子（ＳＳＤ）１１４との論理的な順序付けに用いられるｘ軸は、文書又はイメージのページを水平方向に横切って延長するものとして定義され、クラスタ順序プロセッサ（ＣＯＰ）１３４によるストローク・クラスタ（ＳＣ）１１０の順序付けにも用いられる。ストローク・クラスタ（ＳＣ）１１０の上に課せられるｘ軸座標のシーケンスは、それによって、文字を書く上での最も平凡な規則に従ってページ又はイメージを左から右に横切る元の文字のストローク作成の時間的な順序をシミュレートする。しかし、任意の他の軸及び１つの軸に沿った方向を、ストローク・クラスタ（ＳＣ）１１０におけるストローク記述子（ＳＤ）１１２の順序付けと、順序付きクラスタ・アレー（ＯＣＡ）４４におけるストローク・クラスタ（ＳＣ）１１０の順序付けとの両方に、与えられた文書又はイメージに対する好適な規則に応じて、用いることができる。
【０１３７】
ＴＯＩＰ３２のある構成においては、クラスタ順序プロセッサ（ＣＯＰ）１３４は、ストローク記述子（ＳＤ）１１２によって記述されるスケルタル・イメージ・アーク（ＳＡＲＣ）４２のｘ座標の範囲の平均を決定することによって、それぞれのストローク・クラスタ（ＳＣ）１１０の「重心」を決定し、ストローク記述子（ＳＤ）１１２からスケルタル・イメージ・アーク（ＳＡＲＣ）４２の終点ノード９０のｘ座標を読み出すことによってそこに含まれるストランド済ストローク記述子（ＳＳＤ）１１４を決定し、その中の終点ノード９０のすべてから見いだされる最大及び最小のｘ座標値の平均を見つけることによって、ストランド済ストローク記述子（ＳＳＤ）１１４を決定する。しかし、このアプローチでは、ストロークによっては、重心の正確な表現が得られない場合もある。その例として、文字Ｂ、Ｄ、Ｒなどのように右側に延長するループを有する文字があるが、これらでは、経路の実際の範囲と比較して、スケルタル・イメージ・アーク（ＳＡＲＣ）４２の経路の終点ノード９０のｘ座標の間にはほとんど差がないからである。
【０１３８】
この理由により、クラスタ順序プロセッサ（ＣＯＰ）１３４の別の好適な構成では、ストローク・クラスタ（ＳＣ）１１０に含まれるストローク記述子（ＳＤ）１１２とストランド済ストローク記述子（ＳＳＤ）１１４とによって記述されるスケルタル・イメージ・アーク（ＳＡＲＣ）４２の経路の全体に沿ったピクセルのｘ及びｙ座標位置を読み出し、ストローク記述子（ＳＤ）１１２とストランド済ストローク記述子（ＳＳＤ）１１４とによって記述されるピクセル経路の中で生じるｘ軸座標の最大及び最小の値を決定し、それによって、ストローク記述子（ＳＤ）１１２とストランド済ストローク記述子（ＳＳＤ）１１４とによって記述される実際のストロークのｘ軸に沿った重心をより正確に決定する。
【０１３９】
更に別の構成では、クラスタ順序プロセッサ（ＣＯＰ）１３４は、ストローク・クラスタ（ＳＣ）１１０の中のストローク記述子（ＳＤ）１１２及びストランド済ストローク記述子（ＳＳＤ）１１４によって記述されるスケルタル・イメージ・アーク（ＳＡＲＣ）４２の経路に沿ったピクセルのそれぞれのｘ軸の値を集積して、その経路の重心を、集積されたｘ軸座標の平均として決定する。この例では、従って、特に、単一のストロークとして作成される文字Ｓのようなより複雑な経路を有するストロークに対しては、与えられたストローク・クラスタ（ＳＣ）１１０のストロークの重心の更により正確な決定を提供することができる。
【０１４０】
既に述べたように、クラスタ順序プロセッサ（ＣＯＰ）１３４は、ストローク・クラスタ（ＳＣ）１１０を順序付きクラスタ・アレー（ＯＣＡ）４４の中に記憶し、それぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６に対しては、順序付きクラスタ・アレー（ＯＣＡ）４４が存在する。ＴＯＩＰ３２は、次に、順序付きクラスタ・アレー（ＯＣＡ）４４をＬＬＲＰ３４に提供し、ＬＬＲＰ３４は、後で述べるように、それぞれのストローク・クラスタに可能性のある意味を割り当てる。
Ｄ．低レベル認識プロセッサ（ＬＬＲＰ）３４の説明（図２９）：
既に述べたように、ＬＬＲＰ３４は、ＴＯＩＰ３２と、ＥＰ２４及びＤＴ２６とから接続されており、ＴＯＩＰ３２からの走査文字イメージと、ＥＰ２４及びＤＴ２６からのリアルタイムでの手書き文字入力との両方を受け取り、それらに可能性のある意味を割り当てる。ここで、ＴＯＩＰ３２から受け取られる操作文字と記号データとは、ＥＰ２４及びＤＴ２６から受け取られるサンプリングされたペン書きの座標をシミュレートする。走査された及びリアルタイムの文字及び記号入力に割り当てられた可能性のある意味は、次に、言語的ポスト・プロセッサ（ＬＰＰ）３６に与えられ、言語的ポスト・プロセッサ（ＬＰＰ）３６は、ストロークから文字ストリングを発生し、走査された及びリアルタイムのストロークを文字及び記号としての可能性のある意味の間で区別して選択し、それぞれの走査された又はリアルタイムの入力文字の最も可能性のある（蓋然性の高い）解釈を表す最終の出力を提供する。
【０１４１】
上述のように、ＴＯＩＰ３２は、走査された文字及び記号データを、順序付きクラスタ・アレー（ＯＣＡ）４４の形式で、ＬＬＲＰ３４に提供するが、その中には、それぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６に対応する順序付きクラスタ・アレー（ＯＣＡ）４４が存在する。ストロークの中のそれぞれのクラスタに対応するストローク・クラスタ（ＳＣ）１１０を含むそれぞれの順序付きクラスタ・アレー（ＯＣＡ）４４は、対応するスケルタル・イメージ・ファイル（ＳＩＦ）８６において識別され、それぞれのストロークは、祖おなかにおいて表されているストロークを作成する際のペンの移動の想定された又は課された方向を表す対応するストローク記述子（ＳＤ）１１２又はストランド済ストローク記述子（ＳＳＤ）１１４によって記述される。
【０１４２】
既に述べたように、ＥＰ２４及びＤＴ２６は、文字及び記号データを、タブレット文字（ＴＡＢＣ）４６の形式で、ＬＬＲＰ３４に提供する。それぞれのタブレット文字（ＴＡＢＣ）４６は、タブレット文字（ＴＡＢＣ）４６を形成するラインに沿った点を定義しそれに対応するサンプリングされた座標（ＳＣＯＲＤ）４８から成り、サンプリングされた座標（ＳＣＯＲＤ）４８は、一般的には、ＴＯＩＰ３２からのストローク記述子（ＳＤ）１１２又はストランド済ストローク記述子（ＳＳＤ）１１４に対応する。
１．リアルタイムのＥＰ２４及びＤＴ２６からの入力の低レベル認識：
Ａ．ストローク・プロセッサ（ＳＴＫＰ）１３６及びリアルタイムの文字入力（図２９、図３０及び図３１）：
最初に、ＬＬＲＰ３４によるＥＰ２４及びＤＴ２６からのリアルタイムの入力の処理について考える。ＬＬＲＰ３４は、ストローク特徴プロセッサ（ＳＥＰ）１３８とストローク認識プロセッサ（ＳＲＰ）１４０とから構成されるストローク・プロセッサ（ＳＴＫＰ）１３６を含む。ストローク特徴プロセッサ（ＳＥＰ）１３８は、ストロークの認識の際に用いられる特徴を、ＥＰ２４及びＤＴ２６からのストローク入力から抽出し、そのストロークの特徴の記述を構成する。ストローク認識プロセッサ（ＳＲＰ）１４０が、次に、可能性のある意味を、ストロークの特徴の記述に基づいて、ストロークに割り当てる。
ａ．ストローク特徴プロセッサ（ＳＥＰ）１３８（図３０及び図３１）：
図３１に示されているように、ストローク特徴プロセッサ（ＳＥＰ）１３８は、ＥＰ２４及びＤＴ２６から接続され、タブレット及びペンを介してのユーザ入力を検出して指示するペン入力ディテクタ（ＰＩＤ）１４２を含む。ここで、ユーザ入力は、ペン・ストロークとペン状態とを含む。入力ストローク・バッファ（ＩＳＢ）１４４は、ペン入力ディテクタ（ＰＩＤ）１４２から接続されており、タブレット文字（ＴＡＢＣ）４６のサンプリングされた座標（ＳＣＯＲＤ）４８を、ユーザによってストロークが入力される際に、記憶する。それぞれのサンプリングされた座標（ＳＣＯＲＤ）４８は、ストロークがＥＰ２４及びＤＴ２６上に入力される際のペン・ストロークの連続的な座標位置を表すサンプリングされた座標の組から成る。次に、ポイント・バッファ（ＰＢＵＦ）１４６は、入力ストローク・バッファ（ＩＳＢ）１４４から接続されており、ペン状態に応答して、それぞれの現在のストロークに関するサンプリングされた座標（ＳＣＯＲＤ）４８のストローク記述子情報を、ポイント・バッファ（ＰＢＵＦ）１４６に転送してそこに記憶する。
【０１４３】
ストローク特徴プロセッサ（ＳＥＰ）１３８は、更に、ストローク特徴レコグナイザ（ＳＦＲ）１４８を含む。ストローク特徴レコグナイザ（ＳＦＲ）１４８は、入力ストローク・バッファ（ＩＳＢ）１４４とポイント・バッファ（ＰＢＵＦ）１４６とから接続され、ＥＰ２４のペン状態に応答して、現在のストロークのストローク記述子情報から、ストローク認識特徴を、現在のストローク新見を割り当てる目的で抽出する。図に示されているように、ストローク特徴レコグナイザ（ＳＦＲ）１４８は、入力ストローク・バッファ（ＩＳＢ）１４４から接続された動的ストローク特徴エクストラクタ（抽出手段）（ＤＳＦＥ）１５０と、ポイント・バッファ（ＰＢＵＦ）１４６から接続された静的ストローク特徴エクストラクタ（ＳＳＦＥ）１５２とを含む。
【０１４４】
動的ストローク特徴エクストラクタ（ＤＳＦＥ）１５０は、ペンの下向きの状態（pen down state）などのＥＰ２４の状態に応答して、現在のストロークがユーザによってに入力される際に、現在のストロークのストローク記述子情報から、動的ストローク認識特徴（ＤＳＲＦ）１５４を抽出する。図３０に示されているように、動的ストローク認識特徴（ＤＳＲＦ）１５４は、ユーザによるストロークのエントリの間に、すなわち、ストロークが完了する前に、抽出されうるストロークの記述的な特徴を含む。ＬＬＲＰ３４のこの構成では、動的ストローク認識特徴（ＤＳＲＦ）１５４は、例えば、少なくとも、ラインの最初の点の座標と、ラインに沿った点のシーケンスであって、ラインの最後の点には至らないシーケンスと、入力方向ストリング（ＥＤＩＲＳ）１５６とを含み、これらはすべて、対応する記述子（ＤＥＳＣ）２１８に記憶される。ラインに沿った点の座標は、記述子（ＤＥＳＣ）２１８の対応する点記述子（ＰＤＳＣ）１５８に記憶され、記述子（ＤＥＳＣ）２１８の入力方向ストリング（ＥＤＩＲＳ）１５６は、入力される際のラインのそれぞれの点に対するストローク方向エントリ（ＳＴＤＥ）１６２を含む。それぞれのストローク方向エントリ（ＳＴＤＥ）１６２は、その点におけるストロークのラインの運動（移動）方向を示す。それぞれの点におけるラインの運動方向は、その点におけるＥＰ２４の運動によって、例えば、ＥＰ２４が前の点から次の点へ向かってその点を通過する際の、その点におけるＥＰ２４のｘｙ位置座標の増分によって、決定する。動的ストローク特徴エクストラクタ（ＤＳＦＥ）１５０のこの構成では、ＥＰ２４の運動方向は、左右上下の４つの方向に分けられ、ＥＰ２４の位置のｘｙ座標の最大の変化がｘ軸とｙ軸とのどちらに関して生じるか、そして、最大の変化がどの方向に生じるのか、すなわち、最大の変化がその軸に沿った＋の方向と−の方向とのどちらに生じるのかによって決定される。動的ストローク特徴エクストラクタ（ＤＳＦＥ）１５０の別の構成では、運動方向は、文字及び記号の一貫し正確な識別のために必要な場合には、より高い解像度（分解能）に分解される。例えば、当業者であれば理解することであるが、ＥＰ２４の運動方向は、左、左上、上、右上、右、右下、下、左下から成る８つの方向に、ｘ及びｙ軸に沿ったＥＰ２４の位置の変化の大きさを知り、これらの大きさをこれらの方向を構成する９０度及び４５度に丸めて比を計算することによって、分解できる。
【０１４５】
静的ストローク特徴エクストラクタ（ＳＳＦＥ）１５２は、ポイント・バッファ（ＰＢＵＦ）１４６から接続され、ペンの上向きの状態（pen up state）などのＥＰ２４の状態に応答して、現在のストロークが完了したときに現在のストロークの静的ストローク認識特徴（ＳＳＲＦ）１６４を抽出して、これらの特徴を、対応する記述子（ＤＥＳＣ）２１８に書き込む。図３０に示されているように、静的ストローク認識特徴（ＳＳＲＦ）１６４は、少なくとも、現在のストロークのラインに沿った最後の点の座標と、その現在のストロークのラインに沿った最後の点に対応するストローク方向エントリ（ＳＴＤＥ）１６２とを含み、動的ストローク特徴エクストラクタ（ＤＳＦＥ）１５０によって抽出されたストローク認識特徴のすべてを含みうる。すなわち、動的ストローク認識特徴（ＤＳＲＦ）１５４は、静的ストローク認識特徴（ＳＳＲＦ）１６４の部分集合であり、静的ストローク特徴エクストラクタ（ＳＳＦＥ）１５２のある構成では、動的ストローク特徴エクストラクタ（ＤＳＦＥ）１５０によって実行されるストローク認識特徴の抽出のすべてを実行する。しかし、動的ストローク特徴エクストラクタ（ＤＳＦＥ）１５０は、ＬＬＲＰ３４のこの好適実施例では、ストロークが完了するまで待つのではなく、ストロークが入力されつつある間にもストローク認識特徴の少なくともいくらかを抽出することを可能にすることによって、現在のストロークからストローク認識特徴を抽出するのに必要になる時間を削減するために、提供されている。
【０１４６】
図３１に示されているように、動的ストローク特徴エクストラクタ（ＤＳＦＥ）１５０と静的ストローク特徴エクストラクタ（ＳＳＦＥ）１５２とによって生成され、動的ストローク認識特徴（ＤＳＲＦ）１５４と静的ストローク認識特徴（ＳＳＲＦ）１６４とを含むストローク記述子（ＳＴＫＤ）１６０は、ストローク認識特徴データ構造（ＳＲＦＤＳ）１６６に記憶されている。
【０１４７】
以下で説明するストローク認識ステップをたどる目的で、それぞれのストロークは、対応するセグメント記述子（ＳＥＧＤＥ）１６８においてそれぞれが記述されている１又は複数のセグメントに分割される。ストロークのセグメントは、ここでは、本質的に直線状であるか又は比較的均一（even）な曲線であるストロークの一部分として定義される。すなわち、ストロークのセグメントは、そのストロークのラインの運動方向の変化を含まないストロークの部分である。ストロークのセグメントは、従って、方向の著しい又は急な変化を含まないストロークの部分であり、ストロークの端部又はストロークが著しい又は急な方向の変化を有する点のどちらかによって、一方又は両方の端部が境界付けられる。
【０１４８】
この理由のために、ストローク特徴レコグナイザ（ＳＦＲ）１４８は、更に、セグメント・アナライザ（ＳＥＧＡＺ）１７０を含み、ストローク認識特徴データ構造（ＳＲＦＤＳ）１６６からストローク記述子（ＳＴＫＤ）１６０を読み出し、それぞれのストロークのセグメントを識別し、対応するセグメント記述子（ＳＥＧＤ）を生成する。これらの動作は、方向アナライザ（ＤＩＲＡＺ）１７２と、セグメント・アナライザ（ＳＥＧＡＺ）１７０に含まれるセグメント・コンストラクタ（ＳＥＧＣＯＮ）１７４とによって実行される。
【０１４９】
方向アナライザ（ＤＩＲＡＺ）１７２は、現在のストロークの記述子（ＤＥＳＣ）２１８を読み出し、ストロークのラインの運動方向の変化を識別する。ストロークのラインの運動方向の変化は、ストロークのラインに沿った３つの連続的な点の間にありこれらの点を接続するストロークのラインによって定義されるストロークのライン任意の２つの連続的なセクションの間の角度が所定の境界値を超えるときに、生じる。境界値は、３つの点の中の第１の点からその点でのペンの運動方向に延長する境界円錐線によって定義される境界円錐（boundary cone）によって定義され、従って、この境界値は、その点におけるペンの運動方向に沿った座標軸に直交する座標軸に沿った所定の変位によって定義される。
【０１５０】
セグメント・コンストラクタ（ＳＥＧＣＯＮ）１７４は、方向アナライザ（ＤＩＲＡＺ）１７２に応答して、ストロークのラインの方向変化が円錐境界値を超えるような任意の点において、ストロークのラインのそのような方向変化に追加的な点を挿入することによってストロークのラインを２つのセグメントに分割し、ストロークの新たに生成されたセグメントのそれぞれに対して対応するセグメント記述子（ＳＥＧＤＥ）１６８を生成（ジェネレート、発生）する。この追加的な点は、ストロークのラインの方向変化の前のセグメントの端部に位置し、ストロークのラインの方向変化に続くセグメントの開始点として機能する。セグメント記述子（ＳＥＧＤＥ）１６８は、対応して、少なくとも、セグメントの開始点とセグメントの終点との座標を含み、また、セグメントに沿った１又は複数の中間点の座標も含み得る。それによって、そのストロークの点記述子（ＰＤＳＣ）１５８の一部分を含み、セグメントの点に対応する入力方向ストリング（ＥＤＩＲＳ）１５６の一部分を含む。従って、図３０に示されているように、セグメント記述子（ＳＥＧＤＥ）１６８は、本質的に記述子（ＤＥＳＣ）２１８と同等であり、又は、逆に、記述子（ＤＥＳＣ）２１８は、単一のセグメントから成るストロークに対しては、セグメント記述子（ＳＥＧＤＥ）１６８である。
【０１５１】
現在のストロークから抽出されたセグメント認識特徴は、ストローク認識特徴データ構造（ＳＲＦＤＳ）１６６に記憶され、そこでは、既に述べたように、ストローク認識特徴は、以下で述べる後続のストローク及びセグメント認識処理のために、それぞれのセグメントを、様々な程度の階層的な近似を用いて記述している。
【０１５２】
ストローク認識特徴データ構造（ＳＲＦＤＳ）１６６に記憶されているストローク及びセグメント記述の階層的なレベルは、そのストローク又はセグメントのラインに沿った点に対してそれぞれの点のストロークのラインの運動方向を示す方向ストリングで始まり、更に、ストロークのライン又はストロークのセグメントのラインの少なくとも始点と終点との座標と、タブレットから入力座標として受け取ったストローク又はセグメントのラインに沿ったすべての点の座標のアレーとを含む。
Ｂ．ストローク認識プロセッサ（ＳＲＰ）１４０、リアルタイム及び走査された文字入力：
図２９、図３１及び図３２に示され、以下で説明するように、本発明によるシステムの２つの手書き文字認識経路、すなわち、第１の、ＥＰ２４及びＤＴ２６とストローク特徴プロセッサ（ＳＥＰ）１３８とから入力されるリアルタイムの文字がとる経路と、第２の、イメージ・スキャナ（ＩＳ）２２、走査イメージ細字化プロセッサ（ＳＩＴＰ）３０、及び時間順序誘導プロセッサ（ＴＯＩＰ）３２から入力される走査されたイメージがとる経路とは、ストローク認識プロセッサ（ＳＲＰ）１４０において、収束（converge）する。従って、両方のソースからの手書きの文字及び記号は、同じ態様で、シーケンシャルに処理される。
【０１５３】
図３２に示されているように、ストローク認識プロセッサ（ＳＲＰ）１４０は、ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０、ストローク表現セレクタ（ＳＲＥＰＳ）１８２、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４、及びクラスタ認識プロセッサ（ＣＲＰ）１８６から構成される。
【０１５４】
以下で説明するように、ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０は、ストローク認識特徴データ構造（ＳＲＦＤＳ）１６６のストローク記述子（ＳＴＫＤ）１６０及びセグメント記述子（ＳＥＧＤＥ）１６８からのストローク又はセグメントのそれぞれのリアルタイム入力の表現を生成し、他方で、ストローク表現セレクタ（ＳＲＥＰＳ）１８２は、ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０からリアルタイムの文字表現を、ＳＩＴＰ３０及びＴＯＩＰ３２から走査された文字表現を受け取り、それぞれのストロークの最適な表現を選択する。ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４は、ストローク表現セレクタ（ＳＲＥＰＳ）１８２から接続されており、それぞれのストローク又はセグメントの選択された表現の可能な意味を識別する。クラスタ認識プロセッサ（ＣＲＰ）１８６は、次に、文字及び記号又は文字及び記号の一部分を形成するクラスタとしてのストローク及びセグメントに、意味を割り当て、この情報を、言語的ポスト・プロセッサ（ＬＰＰ）３６に与える。
【０１５５】
この点において、そして、以下で述べるように、ＬＬＲＰ３４のこの好適な構成では、ストローク表現プロセッサ（ＳＲＰ）１７６は、そして特に、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４は、ストロークの複数の理想化された表現のただ１つのコピーを記憶しているが、他方で、ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０及びＴＯＩＰ３２は、それぞれの現在のリアルタイム入力ストロークとそれぞれの走査された入力ストロークとの複数のバージョンを生成し、理想化された表現と比較して現在のリアルタイム入力ストロークの可能な意味を識別する。この方法は、それぞれの可能性のある入力ストローク又はセグメントの理想化された表現の複数のコピーを記憶して、それぞれの入力ストローク又はセグメントのただ１つのコピーを、それぞれの可能性のある入力ストローク又はセグメントの複数の理想化された表現と比較する場合よりも、必要になるメモリ及びデータ記憶装置のスペースが著しく少ないという理由で、選択されている。この方法は、また、必要とする処理資源（resources）が少ないので、入力ストロークのただ１つのコピーを用い、それぞれの可能性のある入力の複数の理想化されたコピーを、必要に応じて、すなわち、認識プロセスの間に生成する場合よりも、高速である。
Ｃ．ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０：
ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０は、それぞれのストローク又はセグメントに関するストローク記述子（ＳＴＫＤ）１６０及びセグメント記述子（ＳＥＧＤＥ）１６８の表現を、ストローク認識特徴データ構造（ＳＲＦＤＳ）１６６から読み出し、対応するストローク及びセグメント特徴の記述から、それぞれの入力ストローク又はセグメントの複数の表現を生成するが、これは、それぞれのストロークに関する複数の縮尺済（scaled）トポロジカル表現（ＳＴＯＰＲＥＰ）１８８を生成することによる。それぞれの縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８は、現在のストロークのストローク表現特徴から生成された現在のストロークに関する複数の連続的（progressively）に平滑化された表現の中の１つであり、それぞれの縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８は、ストローク又はセグメントを表す多数の点の先の縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８の還元又は組合せから、生成される。
【０１５６】
第１の最も高い解像度の縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８は、例えば、対応する記述子（ＤＥＳＣ）２１８又はセグメント記述子（ＳＥＧＤＥ）１６８において元々表現されていたストローク又はセグメントの表現から構成されており、そのストローク又はセグメントを元々定義しているすべての点を表現する記述子（ＤＥＳＣ）２１８の又はセグメント記述子（ＳＥＧＤＥ）１６８の点記述子（ＰＤＳＣ）１５８と、そのストローク又はセグメントの方向ストリングから成る入力方向ストリング（ＥＤＩＲＳ）１５６と、を含む。第２のより粗い縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８は、例えば、ストローク又はセグメントを表現する記述子（ＤＥＳＣ）２１８又はセグメント記述子（ＳＥＧＤＥ）１６８からの３つおき（every fourth）であるがそのストローク又はセグメントの最初と最後とを含む点を選択することによって、生成され、従って、対応して縮尺されたバージョンの点記述子（ＰＤＳＣ）１５８と入力方向ストリング（ＥＤＩＲＳ）１５６とを含む。次に粗い縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８は、先の第２の縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８における３つおきの点を選択し、そして再び、その縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８の少なくとも最初と最後の点を用いることによって、その先の第２の縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８から生成され、従って、対応して縮尺されたバージョンの点記述子（ＰＤＳＣ）１５８と入力方向ストリング（ＥＤＩＲＳ）１５６とを含む。
【０１５７】
ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０のこの構成によれば、それぞれ縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８ａ、１８８ｂ、１８８ｃとして表される、３つの縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８が生成され、最も解像度の高い縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８ａは、対応する記述子（ＤＥＳＣ）２１８又はセグメント記述子（ＳＥＧＤＥ）１６８において元々定義されているストローク又はセグメントのすべての点から構成されている。それに続くそれぞれの縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８は、表現されているストローク又はセグメントの、連続的に、より滑らか（平滑化された）で単純な表現になっており、それぞれの縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８は、連続的により少ない点によって表現され、ストローク又はセグメントの連続的により少ない詳細を含むようになっている。
Ｄ．ストローク表現セレクタ（ＳＲＥＰＳ）１８２、リアルタイム及び走査された文字入力を結合及び選択：
従って、明らかなのは、ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０が実行する機能は、動作においては相違するが、走査イメージ細字化プロセッサ（ＳＩＴＰ）３０と類似している。ＳＩＴＰ３０に関して既に説明したように、ＳＩＴＰ３０は、走査された文字又は記号のそれぞれのストローク又はセグメントを１ピクセルの幅まで「細く」（細字化）して、その次に、３０２、１５０、７５ｄｐｉなどの異なる解像度で、それぞれのストローク又はセグメントの複数の表現を生成する。ＳＩＴＰ３０によって与えられるストローク又はセグメントのそれぞれの解像度は、従って、ピクセルの数が連続的に少なくなり細かな詳細も連続的に減少する、そのストロークを表す連続的に「滑らか」なそして単純な表現を提供する。ＥＰ２４及びＤＴ２６からのリアルタイムの入力はｘｙ座標位置のシーケンスの形式であるから、ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０が「細字化」動作を実行する必要はない。リアルタイムのストローク及びセグメントの入力は、ＬＬＲＰ３４がＥＰ２４及びＤＴ２６から受け取る時点で、既に、１ピクセル幅のストローク及びセグメントの形式になっている。
【０１５８】
更に、２つの経路からストローク表現セレクタ（ＳＲＥＰＳ）１８２に提供されるストローク及びセグメントの表現は、類似している。すぐ上で述べたように、ストローク表現ジェネレータ（ＳＲＥＰＧ）１８０は、リアルタイム入力のそれぞれのストローク又はセグメントの表現を生成するが、それぞれのストローク又はセグメント対応する記述子（ＤＥＳＣ）２１８又はセグメント記述子（ＳＥＧＤＥ）１６８によって表現される。それぞれの記述子（ＤＥＳＣ）２１８及びセグメント記述子（ＳＥＧＤＥ）１６８は、ストローク又はセグメントのラインに沿った点に対してそれぞれの点におけるストロークのラインの運動方向を示す入力方向ストリング（ＥＤＩＲＳ）１５６と、ストローク又はそのセグメントのラインの少なくとも始点と終点の座標とそのストローク又はセグメントのラインに沿った点の座標のアレーとを有する点記述子（ＰＤＳＣ）１５８と、から構成される。
【０１５９】
比較してみると、既に論じたように、ＴＯＩＰ３２は、順序付きクラスタ・アレー（ＯＣＡ）４４の形式で、走査された文字表現をＬＬＲＰ３４に提供するが、それぞれのスケルタル・イメージ・ファイル（ＳＩＦ）８６に対しては、対応する順序付きクラスタ・アレー（ＯＣＡ）４４が１つ存在する。それぞれの順序付きクラスタ・アレー（ＯＣＡ）４４は、スケルタル・イメージ・ファイル（ＳＩＦ）８６において識別されるそれぞれのクラスタに対して対応するストローク・クラスタ（ＳＣ）１１０を含む。そこでは、それぞれのストロークは、そのストロークに沿った点を定義しそれに対応する座標から成る順序付きのアレーとして、ストランド済ストローク記述子（ＳＳＤ）１１４の対応するストローク記述子（ＳＤ）１１２によって記述される。また、増加ステップのリンク・リスト（ＬＬＩＳ）９８と、そのストロークを作成する際のペンの動きの課された方向を表す対応する誘導された方向ストリング（ＩＤＩＲＳ）１２０とによって、記述される。
【０１６０】
ストローク表現セレクタ（ＳＲＥＰＳ）１８２は、ＥＰ２４及びＤＴ２６からのリアルタイムの文字及び記号のストローク及びセグメント入力と、ＴＯＩＰ３２からの順序付きクラスタ・アレー（ＯＣＡ）４４との縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８を調べて、ストロークの縮尺されたトポロジカルな表現を選択し、そのストローク又はセグメントの最適な表現を提供する。ただし、最適な表現とは、「最大のＳＮ比」を与えるものとして、定義される。ここでのストローク又はセグメント認識の目的のためには、「最大のＳＮ比」を与える表現は、そのストローク又はセグメントの点の位置を含むｘｙ座標平面の最大の面積を占める表現として、定義される。従って、選択された表現では、白い背景の空間と黒い線の点とによって占められるピクセル又は点は、主要でなく（minor）無関係の（extraneous）ピクセルによって占められるピクセル又は点の数に対して、最大化されており、それぞれの曲線状のストローク又はセグメントの曲率の見かけの鋭さは、その曲線はストローク又はセグメントの表現における長い空間を占めるので、減少されている。
Ｅ．ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４：
既に述べたように、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４は、ストローク表現セレクタ（ＳＲＥＰＳ）１８２から接続されており、理想プロトタイプ表現データ構造（ＩＰＲＤＳ）１９０、ストローク境界ディスクリミネータ（ＳＢＤ）１９２、及びストローク・プロポーション・ディスクリミネータ（ＳＰＤ）１９４を含み、これらは、それぞれのストローク又はセグメントの選択された表現の、文字又は記号の要素としての、可能性のある意味を識別するように動作する。
【０１６１】
理想プロトタイプ表現データ構造（ＩＰＲＤＳ）１９０は、それぞれの可能なストローク又はストローク・セグメントの文字又は記号の要素としての可能性のある意味に対応する理想プロトタイプ表現（ＩＰＲ）１９６の組を記憶する。ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４のこの構成においては、理想プロトタイプ表現データ構造（ＩＰＲＤＳ）１９０は、Ｂツリー（木）型のデータベース構造として実現されており、ツリーのノード及びリーフ（leaf）は、そのストローク又はセグメントの、ストローク記述子（ＳＴＫＤ）１６０／セグメント記述子（ＳＥＧＤＥ）１６８の入力方向ストリング（ＥＤＩＲＳ）１５６と、ストローク記述子（ＳＤ）１１２／ストランド済ストローク記述子（ＳＳＤ）１１４の誘導された方向ストリング（ＩＤＩＲＳ）１２０とによって、インデクスされている。図３３に概括的に図解されているように、現在のストローク又はセグメントにおそらく一致する理想のプロトタイプ表現にそれぞれが対応する理想プロトタイプ表現（ＩＰＲ）１９６を含む理想プロトタイプ表現データ構造（ＩＰＲＤＳ）１９０のエントリであるツリーのノード及びリーフは、境界記述子（ＢＮＤ）１９８と、対応するストローク意味（ＳＴＫＭ）２００とを含む。それぞれのストローク意味（ＳＴＫＭ）２００は、１又は複数の文字又は記号を含み、そのそれぞれは、図３２では、対応するストローク又はセグメントがその要素であり得る、文字（ＣＨＡＲ）２０２として示されている。
【０１６２】
それぞれの境界記述子（ＢＮＤ）１９８は、ストロークの理想のプロトタイプ表現の１又は複数の特徴から成る１又は複数の線形結合（linear combination）を、その理想のプロトタイプ・ストロークのラインに沿った座標の組として定義する。ここで、特徴のそれぞれの線形結合は、ストローク又はセグメントの理想化され抽象化された表現である。それぞれの境界記述子（ＢＮＤ）１９８は、これによって、それぞれの理想化されたプロトタイプ・ストローク又はセグメントに対する「境界」（boundary）の組を識別する。ただし、境界とは、ストローク又はセグメントの理想化された表現の座標によって表され、そのプロトタイプ・ストローク又はセグメントの、相対的な向き（オリエンテーション）、長さ、及び曲率の次元又は方向を定義する、ストローク又はセグメントの特性の組である。プロトタイプ・ストローク又はセグメントの表現、すなわち、そのストローク及びセグメントのラインを記述する座標群は、均一の縮尺及び座標系として構成される。例えば、文字Ｌ、Ｒ、Ｂ、ｌ、ｒ、ｂの縦方向のストローク及びループの表現は、すべて、相互に比例させたサイズになっている。また、それぞれのプロトタイプ・ストローク又はセグメントのラインに沿った位置を記述する座標は、そのストローク又はセグメントの端部（end）などのストローク又はセグメントの局所的な原点を定め、そのストローク又はセグメントに沿ったそれ以外の点の座標は、局所的な原点との関係によって決定されるようにする点で、抽象化されている。
【０１６３】
ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、現在のストロークの縮尺されたトポロジカルな表現に応答する、すなわち、ストローク表現セレクタ（ＳＲＥＰＳ）１８２から受け取られる、記述子（ＤＥＳＣ）２１８、セグメント記述子（ＳＥＧＤＥ）１６８、ストローク記述子（ＳＤ）１１２又はストランド済ストローク記述子（ＳＳＤ）１１４に応答して、そこに含まれている入力方向ストリング（ＥＤＩＲＳ）１５６又は誘導された方向ストリング（ＩＤＩＲＳ）１２０を用いて、理想プロトタイプ表現データ構造（ＩＰＲＤＳ）１９０をインデクス化し、その現在のストローク又はセグメントの入力方向ストリング（ＥＤＩＲＳ）１５６の全体又は一部分に対応する可能な一致（ＰＭＡＴＣＨ）２０６の可能なストローク一致リスト（ＰＭＬ）２０４を構成する。ここで、それぞれの可能な一致（ＰＭＡＴＣＨ）２０６は、それらの対応する文字（ＣＨＡＲ）２０２と共に、境界記述子（ＢＮＤ）１９８とストローク意味（ＳＴＫＭ）２００とを含む。
【０１６４】
この点で、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４のこの好適な構成は、更に逆プロトタイプ・ジェネレータ（ＲＰＧ）２０８を含む。この逆プロトタイプ・ジェネレータ（ＲＰＧ）２０８は、それぞれの理想プロトタイプ表現（ＩＰＲ）１９６からそれに対する、対応する逆向きのストリングを有する逆理想プロトタイプ表現（ＩＰＲ）２１０を生成し、それによって、ストローク表現セレクタ（ＳＲＥＰＳ）１８２から受け取られたストローク又はセグメントの入力方向ストリング（ＥＤＩＲＳ）１５６又は誘導された方向ストリング（ＩＤＩＲＳ）１２０が、理想プロトタイプ表現データ構造（ＩＰＲＤＳ）１９０の中の可能な一致エントリの順方向及び逆方向ストリングの両方と比較される。
【０１６５】
ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、次に、それぞれの現在のストローク又はセグメントのトポロジカルな表現を、すなわち、それぞれの現在のストローク又はセグメントの方向ストリングとラインの点座標とを、可能なストローク一致リスト（ＰＭＬ）２０４の中の可能な一致（ＰＭＡＴＣＨ）２０６の理想的なプロトタイプ表現の境界と比較して、現在のストローク又はセグメントと、可能な一致（ＰＭＡＴＣＨ）２０６の理想的なプロトタイプ表現との間の一致の程度を決定する。
【０１６６】
この比較のプロセスは、複数の方法での実現が可能である。例えば、ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、現在のストローク又はセグメントのトポロジカルな表現を、すなわち、その現在のストローク又はセグメントの方向ストリングとラインの点座標の組とを、その中では理想的なプロトタイプ表現が構成される縮尺及び座標系に、縮尺する（スケールを与える）。この構成では、ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、現在のストローク又はセグメントのトポロジカルな表現の原点を、プロトタイプ表現の原点に最も近接して一致するように選択し、現在のストローク又はセグメントとプロトタイプとのトポロジカルな表現の点座標の、最大及び最小のｘ及びｙ座標のずれの間の比を決定する。
【０１６７】
次に、ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、トポロジカルな表現の座標を選択された原点を中心とする座標系に変換し、その原点に対するトポロジカルな表現の座標を決定する。ただし、これは、現在のストローク又はセグメントとプロトタイプとのトポロジカルな表現の点座標の、最大及び最小のｘ及びｙ座標のずれ（deviation）の間の比に比例するように縮尺されている。ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、また、トポロジカルな表現の入力方向ストリング（ＥＤＩＲＳ）１５６を同じ態様で縮尺し、入力方向ストリング（ＥＤＩＲＳ）１５６の中にステップを挿入することによって、プロトタイプの方向ストリングに最も近接し比例的な一致を達成できる。
【０１６８】
ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、次に、縮尺されたトポロジカルな表現と可能な一致（ＰＭＡＴＣＨ）２０６とを比較して、表現の間の一致の程度を決定する。一致の程度は、可能なストローク一致リスト（ＰＭＬ）２０４の中のそれぞれの可能な一致（ＰＭＡＴＣＨ）２０６に対して、縮尺されたトポロジカルな表現のそれぞれの座標点とそれぞれのプロトタイプ表現の最も近接して一致する座標点との間の座標のずれすなわち差を決定し、２つのストリングの中の一致するステップの数を比較することによって、決定される。一致の程度は、従って、可能なストローク一致リスト（ＰＭＬ）２０４の中の可能な一致（ＰＭＡＴＣＨ）２０６において表現されているそれぞれの理想化されたプロトタイプに対して、可能なストローク一致リスト（ＰＭＬ）２０４の中の与えられたプロトタイプが現在のストローク又はセグメントと一致する、すなわち、現在のストローク又はセグメントがそのプロトタイプに関連する意味を有する蓋然性（確率）（probability）を表している。
【０１６９】
別の実施例では、ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、トポロジカルな表現の（複数の）端点を識別し、プロトタイプ表現の原点に最も近接して一致する（最良の一致を有する）トポロジカルな表現の端点を１つをそのトポロジカルな表現の原点として選択し、ｘ及びｙ座標のずれが最大であるトポロジカル及びプロトタイプ表現の点を識別することによって、プロポーショナルな比較を行い得る。ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、次に、トポロジカルな表現のこれらの点の座標を縮尺（スケーリング）して、その中で理想のプロトタイプ表現が構成される縮尺及び座標系を作る。ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、次に、現在のストローク又はセグメントのトポロジカルな表現と、可能なストローク一致リスト（ＰＭＬ）２０４において表現されている理想化されたそれぞれのプロトタイプとの相対的な比率（プロポーション）を決定する。トポロジカルな表現と、可能なストローク一致リスト（ＰＭＬ）２０４において表現されている理想化されたそれぞれのプロトタイプとの相対的な比率は、トポロジカルな表現とそれぞれのプロトタイプ表現との識別された点のｘ及びｙの範囲の間の関係（proportionality）又は比を決定することによって見つけられる。ここで、ｘ及びｙの範囲は、これらの表現の全体的な長さ及び曲率（curvature）を表す座標系を定義する。可能なストローク一致リスト（ＰＭＬ）２０４において表現されたそれぞれのプロトタイプ表現に対するこのようにして決定された関係は、現在のストローク又はセグメントのトポロジカルな表現と可能なストローク一致リスト（ＰＭＬ）２０４において表現されたそれぞれのプロトタイプ表現との間の一致の程度に関する１つの尺度を与える。ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、また、トポロジカルな表現と可能なストローク一致リスト（ＰＭＬ）２０４において表現されたそれぞれのプロトタイプ表現との方向ストリングを比較し、それによって、現在のストローク又はセグメントのトポロジカルな表現と可能なストローク一致リスト（ＰＭＬ）２０４において表現されたそれぞれのプロトタイプ表現との間の一致の程度に関する別の尺度を与える。
【０１７０】
関係又は関係と方向ストリングの比較との組合せは、次に、可能なストローク一致リスト（ＰＭＬ）２０４において表現されたそれぞれのプロトタイプ表現に対して、可能なストローク一致リスト（ＰＭＬ）２０４における与えられたプロトタイプが現在のストローク又はセグメントと一致することの、すなわち、現在のストローク又はセグメントがそのプロトタイプと関連する意味を有することの、一致確率（Match Probability）（ＭＡＴＣＨＰ）２１０を決定するのに用いられ得る。ストローク境界ディスクリミネータ（ＳＢＤ）１９２は、次に、それぞれの一致確率（ＭＡＴＣＨＰ）２１０を、可能なストローク一致リスト（ＰＭＬ）２０４の中の対応する可能な一致（ＰＭＡＴＣＨ）２０６に書き込む。
【０１７１】
ストローク・プロポーション・ディスクリミネータ（ＳＰＤ）１９４は、次に、可能なストローク一致リスト（ＰＭＬ）２０４から、可能な一致（ＰＭＡＴＣＨ）２０６を読み出し、それぞれの現在のストローク又はセグメントに対して決定された一致確率（ＭＡＴＣＨＰ）２１０から、現在のストローク又はセグメントに最も近接して一致する１又は複数の理想のプロトタイプを決定し、現在のストロークに対して、その現在のストロークの縮尺されたトポロジカルな表現に一致する境界を有する理想的なプロトタイプ表現を割り当てる。一致する理想的なプロトタイプ表現の割り当てられた識別は、現在のストロークに割り当てられたストロークの意味を表している。
【０１７２】
次に、ストローク・プロポーション・ディスクリミネータ（ＳＰＤ）１９４は、現在のストローク又はセグメントに最も近接して一致するものとして選択された可能な一致（ＰＭＡＴＣＨ）２０６のそれぞれに対して、ストローク識別子エントリ（ＳＩＥ）２１４を含むストローク識別子データ構造（ＳＩＤＳ）２１２を構成する。ストローク識別子エントリ（ＳＩＥ）２１４は、ストローク識別子（ＳＴＩＤ）２１６によって識別され、対応するストローク又はセグメントの記述子（ＤＥＳＣ）２１８、セグメント記述子（ＳＥＧＤＥ）１６８、ストローク記述子（ＳＤ）１１２又はストランド済ストローク記述子（ＳＳＤ）１１４、それぞれがストローク意味（ＳＴＫＭ）２００とその文字（ＣＨＡＲ）２０２とを含む１又は複数のストローク識別（ＳＩＤＮＴ）２２０、及び、対応する現在のストローク又はセグメントに最も近接して一致するストローク意味の一致確率（ＭＡＴＣＨＰ）２１０を含む。それぞれの現在のストローク又はセグメントのストローク識別子（ＳＴＩＤ）２１６は、クラスタ認識プロセッサ（ＣＲＰ）１８６に送られる。
【０１７３】
クラスタ認識プロセッサ（ＣＲＰ）１８６に関する議論に進む前に、次のことを注意しておく。すなわち、既に述べたことだが、ストローク表現セレクタ（ＳＲＥＰＳ）１８２は、文字又は記号の要素としてのストローク又はセグメントの可能な意味を識別するために、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４に送られるべきそれぞれの現在のストローク又はセグメントの１つの最適な表現を選択する。しかし、定義の及び書かれている明瞭度が低い文字を扱うような他のアプリケーションでは、ストローク表現セレクタ（ＳＲＥＰＳ）１８２は、現在のストローク又はセグメントの縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８のそれぞれを、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４に送り、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４が、現在のストローク又はセグメントの複数の縮尺表現のそれぞれに上述の意味識別動作を実行して、現在のストローク又はセグメントの可能な意味と、最適な識別結果を与える縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８の縮尺とを決定する。このようにして、縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８の最適な縮尺は、現在のストローク又はセグメントと理想的なプロトタイプ表現との間の最も可能性のある一致を最も少なく与える特定の縮尺として決定される。最初の現在のストローク又はセグメント又はそのサンプルの組に対する縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８の最適な縮尺を識別したので、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４は、ストローク表現セレクタ（ＳＲＥＰＳ）１８２に対する最適の縮尺を識別し、ストローク表現セレクタ（ＳＲＥＰＳ）１８２は、その後で、その縮尺における縮尺済トポロジカル表現（ＳＴＯＰＲＥＰ）１８８を、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４に送る。
２．クラスタ認識プロセッサ（ＣＲＰ）１８６（図３４）：
既に述べたように、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４は、それぞれの現在のストローク又はセグメントのストローク識別子（ＳＴＩＤ）２１６を、クラスタ認識プロセッサ（ＣＲＰ）１８６に送る。ストローク識別子（ＳＴＩＤ）２１６は、その入力（エントリ）の時間的な順序で、クラスタ認識プロセッサ（ＣＲＰ）１８６に送られるが、ここで、上述のように、それぞれの現在のストロークの入力の時間的順序は、ＥＰ２４及びＤＴ２６を介するストローク作成のリアルタイムの順序であり、又は、作成の誘導された時間的順序である。
【０１７４】
図３４に示されているように、クラスタ認識プロセッサ（ＣＲＰ）１８６は、（１）ストロークを時間的及び空間的シーケンスに順序付けし、ストローク又はセグメントの意味あるクラスタを、すなわち、可能な文字又は記号又はその組合せとして形成するクラスタ認識子（ＣＬＲＥＣ）２２２と、（２）意味を文字又は記号としてのストロークのクラスタに割り当てる位置ディスクリミネータ（ＰＯＳＤＩＳ）２２４と、を含む。
【０１７５】
クラスタ認識子（ＣＬＲＥＣ）２２２は、現在ストローク・バッファ（ＣＳＢ）２２６、第１の前ストローク・バッファ（ＦＰＳＢ）２２８、第２の前ストローク・バッファ（ＳＰＳＢ）２３０、及びストローク・バッファ・コントローラ（ＳＢＣ）２３２を含む。現在ストローク・バッファ（ＣＳＢ）２２６は、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４から接続されており、ストロークの現在クラスタ（ＣＣ）２３４のストローク識別子（ＳＴＩＤ）２１６を受け取って、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４から受け取った順序で記憶する。現在クラスタ（ＣＣ）２３４において表現されているストロークの数は、少なくとも、１つのストローク又はセグメントを含むと予想されるストロークの最大の数を含むのに十分である。第１の前ストローク・バッファ（ＦＰＳＢ）２２８は、ストロークの直前クラスタ（ＩＰＣ）２３６のストローク識別子（ＳＴＩＤ）２１６を記憶する。直前クラスタ（ＩＰＣ）２３６とは、現在ストローク・バッファ（ＣＳＢ）２２６において表現されたストロークの直前にあり、ストロークの現在クラスタ（ＣＣ）２３４の文字又は記号を実際に又は潜在的に含むものとして識別されたストロークのクラスタ群であり、文字又は記号を実際に又は潜在的に含むものとして識別された１又は複数のストロークのクラスタを含む。第２の前ストローク・バッファ（ＳＰＳＢ）２３０は、ストロークの先行クラスタ（ＰＰＣ）２３８のストローク識別子（ＳＴＩＤ）２１６を記憶する。先行クラスタ（ＰＰＣ）２３８とは、第１の前ストローク・バッファ（ＦＰＳＢ）２２８において表現されたストロークの直前にあり、ストロークの現在クラスタ（ＣＣ）２３４の文字又は記号を実際に又は潜在的に含むものとして識別されたストロークのクラスタ群である。
【０１７６】
ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４から接続されており、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４から受け取ったそれぞれのストローク識別子（ＳＴＩＤ）２１６に応答して、現在ストローク・バッファ（ＣＳＢ）２２６、第１の前ストローク・バッファ（ＦＰＳＢ）２２８及び第２の前ストローク・バッファ（ＳＰＳＢ）２３０の間の現在の及び以前のストロークのストローク識別子（ＳＴＩＤ）２１６を順序付け、組織化する。ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、現在ストローク・バッファ（ＣＳＢ）２２６、第１の前ストローク・バッファ（ＦＰＳＢ）２２８及び第２の前ストローク・バッファ（ＳＰＳＢ）２３０におけるストローク識別子（ＳＴＩＤ）２１６を、ストロークがストローク・プロポーション・プロセッサ（ＳＰＰ）１８４から受け取られる順序に従って順序付ける。また、現在ストローク・バッファ（ＣＳＢ）２２６、第１の前ストローク・バッファ（ＦＰＳＢ）２２８及び第２の前ストローク・バッファ（ＳＰＳＢ）２３０の間では、文字又は記号を実際に及び潜在的に含むクラスタにおけるストロークの潜在的な構成要素（membership）に従う。
【０１７７】
ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、また、影響リスト（ＩＮＦＬ）２４０を構成し、そこでは、現在クラスタ（ＣＣ）２３４は、その空間的な座標及び範囲に従って、例えば、ページのｘ軸すなわち水平方向軸に沿って左から右へ順序付けられる。ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、これにより、ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４から受け取られたストロークを、時間的及び空間的関係において、順序付けるように動作する。
【０１７８】
ストローク・プロポーション・プロセッサ（ＳＰＰ）１８４からそれぞれの新たなストローク識別子（ＳＴＩＤ）２１６を受け取ると直ちに、ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、ストローク識別子データ構造（ＳＩＤＳ）２１２における対応するストローク識別子エントリ（ＳＩＥ）２１４から記述子（ＤＥＳＣ）２１８を読み出し、ストロークに対する対応する影響エリア（ＡＩＮＦ）２４２を決定し、影響リスト（ＩＮＦＬ）２４０の中に対応する影響リスト・エントリ（ＩＮＦＥ）２４４を構成する。一般に、あるストロークの影響エリア（ＡＩＮＦ）２４２は、そのストロークの範囲、すなわち、ストローク又はセグメントに沿った点の最大及び最小のｘ及びｙ座標を包囲するフレームを定義する４つの座標点であって、複数の端点とそれらの端点を接続する直線からの最大のｘ又はｙのずれを有する中間点とを含むもの、を決定することによって、定められる。
【０１７９】
ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、影響リスト（ＩＮＦＬ）２４０における影響リスト・エントリ（ＩＮＦＥ）２４４を、影響リスト・エントリ（ＩＮＦＥ）２４４によって表されるストローク又はセグメントの範囲の空間的な関係に従って、順序付ける。これは、例えば、ｘ軸に沿って、そのストローク又はセグメントの範囲の最も左側の点の位置を増加させることによる。それぞれの影響リスト・エントリ（ＩＮＦＥ）２４４は、そのストロークのストローク識別子（ＳＴＩＤ）２１６、ストローク識別（ＳＩＤＮＴ）２２０、及び影響エリア（ＡＩＮＦ）２４２を含む。以下で説明するが、影響エリア（ＡＩＮＦ）２４２は、あるストロークが、そのｘ／ｙ座標とその範囲とによって、実際に又は潜在的に文字又は記号のストローク又はセグメントを含むような態様で、他のストロークに空間的に関連しているかどうかを決定するのに用いられる。
【０１８０】
ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、それぞれの新たな現在のストロークの影響エリア（ＡＩＮＦ）２４２を、現在ストローク・バッファ（ＣＳＢ）２２６の中に存在するストローク識別子（ＳＴＩＤ）２１６を有する先に受け取られたストロークの影響エリア（ＡＩＮＦ）２４２との関係で、調べる。現在のストロークの影響エリア（ＡＩＮＦ）２４２が、その現在のストロークは潜在的に現在クラスタ（ＣＣ）２３４の構成要素であることを示すときには、ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、現在のストロークのストローク識別子（ＳＴＩＤ）２１６を現在ストローク・バッファ（ＣＳＢ）２２６の中に書き込む。現在のストロークの影響エリア（ＡＩＮＦ）２４２が、その現在のストロークはおそらく現在クラスタ（ＣＣ）２３４の構成要素ではないことを示すときには、ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、現在ストローク・バッファ（ＣＳＢ）２２６の中に存在する先のストローク識別子（ＳＴＩＤ）２１６を第１の前ストローク・バッファ（ＦＰＳＢ）２２８の中へ転送し、第１の前ストローク・バッファ（ＦＰＳＢ）２２８の中に存在するストローク識別子（ＳＴＩＤ）２１６を第２の前ストローク・バッファ（ＳＰＳＢ）２３０の中に転送し、現在のストロークのストローク識別子（ＳＴＩＤ）２１６を現在ストローク・バッファ（ＣＳＢ）２２６に書き込んで、新たな現在クラスタ（ＣＣ）２３４を開始する。
【０１８１】
位置ディスクリミネータ（ＰＯＳＤＩＳ）２２４は、影響リスト（ＩＮＦＬ）２４０を走査し読み出すことを他の機能に加えて実行するストローク・バッファ・スキャナ（ＳＢＳＣ）２４６を含む。ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、ストローク・バッファ・スキャナ（ＳＢＳＣ）２４６からの指示であって、現在のストロークは時間的に先行するストロークの間に空間的に位置する空間的な座標又は範囲を有しているという指示に応答して、現在ストローク・バッファ（ＣＳＢ）２２６、第１の前ストローク・バッファ（ＦＰＳＢ）２２８及び第２の前ストローク・バッファ（ＳＰＳＢ）２３０におけるストローク識別子（ＳＴＩＤ）２１６を、現在のストロークの空間的座標又は範囲に従って、再度順序付け、それによって、バッファにおけるストロークの時間的な関係をその空間的な関係に従って再度順序付ける。
【０１８２】
ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、２つのストロークを、それらのストロークの範囲が重なる又は相互の与えられた関係距離以内にあるときには、潜在的な構成要素（member）として識別する。この点で、一般に、ストローク・バッファ・コントローラ（ＳＢＣ）２３２が、同じ近傍の中にある、すなわち、相互に、限定されたｘ／ｙ座標の範囲内にあるストロークだけを考慮することが必要である。例えば、ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、現在のストロークの両方の側の２又は４のストロークを考慮すれば、現在のストロークがこれらのストロークを伴うクラスタの構成要素であるかどうかを判断するには十分である。また、第１のストロークを、第２のストロークを伴うクラスタの構成要素であると識別することは、同時に、第２のストロークを、第１のストロークを伴うクラスタの構成要素であると識別することであり、従って、ストロークのそれぞれの対のそれぞれのストロークに対しては、クラスタ識別プロセスを反復する必要はない。
【０１８３】
ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、現に考慮しているストロークのｘ及びｙの範囲と影響リスト（ＩＮＦＬ）２４０における位置によって示されるのと同じ近傍におけるそれぞれのストロークとを比較してそれらの範囲が重なるかどうかを判断することによって、ストロークの間の重なりを決定する。例えば、現に考慮しているストロークとその右側に位置する第２のストロークとの重なりは、現に考慮しているストロークの最も右の範囲が第２のストロークの最も左の範囲の右側に延長している場合には、重なりがあるものと判断される。
【０１８４】
重複（重なり）比較プロセスは、一般的には、ストローク又はセグメントの範囲のｘ座標を調べて比較することによって、ストロークのただ１つの座標の次元に沿って実行することで十分である。その理由は、ほとんどの手書きの文字及び記号は、ページの水平方向の軸であるｘ軸に沿った方向に向けられており、ストロークの順序及び関係が混乱しないからである。しかし、他の構成では、この比較は、ストロークのｘ及びｙの両方の軸に沿って同じ原理に従って実行することもできる。二次元的な比較へのプロセスの拡張は、当業者には明らかである。
【０１８５】
クラスタの１又は複数の別のストロークと重複する範囲を有しないストロークが、その別のストロークと同じ文字又は記号の一部である蓋然性が大きいとして、そのクラスタに含まれることも、現に考慮しているストロークの範囲がその別のストロークの範囲と「重複している」と定義できるほどに近接している場合には、可能である。このような例としては、文字Ｒがあり、この文字では、右側に延長する上側のループと右側に延長する右下のラインとの範囲は、文字の縦方向のラインとは重ならない場合があるが、これらの２つのストロークは、実際には、この文字の部分を構成している。
【０１８６】
ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、ストロークの範囲が特定された影響距離だけ分離しているときには、そのような重ならないストロークを、１つのクラスタに含める。この影響距離は、特定のピクセルの数やｘ及び／又はｙ座標に沿った距離によって任意に定義することができるし、また、動的（dynamically）に決定することもできる。後者の場合には、ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、例えば、この影響距離を、範囲の平均として、ストロークの重心の座標からの平均の離間に比例させて、又は、範囲に比例させて、決定できる。そうすることにより、影響距離は、比較的大きな範囲のストローク又はセグメント、すなわち、大きな文字に対しては大きくなり、小さな範囲を有するストローク又はセグメント、すなわち、小さな文字に対しては、小さくなる。
【０１８７】
位置ディスクリミネータ（ＰＯＳＤＩＳ）２２４は、上述のように、文字又は記号としてのストロークのクラスタに意味を割り当てる。位置ディスクリミネータ（ＰＯＳＤＩＳ）２２４のストローク・バッファ・スキャナ（ＳＢＳＣ）２４６は、影響リスト（ＩＮＦＬ）２４０を走査して、その中に存在するストローク識別子（ＳＴＩＤ）２１６のウィンドウ部分集合（サブセット）（ＷＩＮＳＥＴ）２４８を、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０の中に書き込む。ストローク識別子（ＳＴＩＤ）２１６それぞれの現在のウィンドウ部分集合（ＷＩＮＳＥＴ）２４８は、例えば、水平方向のｘ軸に関して左から右の対応するストロークの空間的な順序で書き込まれ、従って、ページ上に文字又は記号が形成される差異のストロークの順序を反映する。ストローク・バッファ・スキャナ（ＳＢＳＣ）２４６は、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０において表現されるストロークを、その空間的な関係に従って、文字又は記号としての可能性のある意味を有するストロークのクラスタを有するものとして選択する。
【０１８８】
この点では、ストローク・バッファ・スキャナ（ＳＢＳＣ）２４６は、現在ストローク・バッファ（ＣＳＢ）２２６ではなく影響リスト（ＩＮＦＬ）２４０を走査して、ストロークの意味のあるクラスタを識別することに注意すべきである。その理由は、これによって、文字認識動作をストローク順序付け動作から切り離すことができるからである。これによって、文字認識を新たなストロークの入力とは独立に、従って、新たなストロークの入力からの干渉を受けずに実行することが可能になり、また、新たなストロークが、先のストロークの位置とは無関係に、現在ストローク・バッファ（ＣＳＢ）２２６、第１の前ストローク・バッファ（ＦＰＳＢ）２２８、第２の前ストローク・バッファ（ＳＰＳＢ）２３０、及び影響リスト（ＩＮＦＬ）２４０の中に順序付けることが可能になる。
【０１８９】
位置ディスクリミネータ（ＰＯＳＤＩＳ）２２４は、更に、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０とストローク識別子データ構造（ＳＩＤＳ）２１２とから接続され、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０からストローク識別子（ＳＴＩＤ）２１６の組合せを読み出す、位置ディスクリミネータ・プロセッサ（ＰＤＩＳＰ）２５２を含む。ストローク識別子（ＳＴＩＤ）２１６のそれぞれの組合せは、文字又は記号を潜在的に形成するストロークから成る潜在的文字クラスタ（ＰＯＴＣＣ）２５４と、ストローク識別子データ構造（ＳＩＤＳ）２１２からの対応するストローク識別子エントリ（ＳＩＥ）２１４とを含む。
【０１９０】
既に述べたように、ストローク識別子データ構造（ＳＩＤＳ）２１２から読み出された対応するストローク識別子エントリ（ＳＩＥ）２１４は、ストローク識別子（ＳＴＩＤ）２１６、記述子（ＤＥＳＣ）２１８、及び、そのストローク識別子（ＳＴＩＤ）２１６が潜在的文字クラスタ（ＰＯＴＣＣ）２５４の中に存在するストロークのストローク識別（ＳＩＤＮＴ）２２０から構成される。位置ディスクリミネータ・プロセッサ（ＰＤＩＳＰ）２５２は、ストロークのそれぞれの選択された組合せの記述子（ＤＥＳＣ）２１８の組合せを用いて、文字識別子データ構造（ＣＩＤＳ）２５６をインデクスする、又は、これにアクセスする。文字識別子データ構造（ＣＩＤＳ）２５６は、Ｂツリー型のデータベース構造から成り、このデータベースは、そのノード及びリーフにおいて、記述子（ＤＥＳＣ）２１８の組合せに対応する文字識別エントリ（ＣＩＥ）２５８を含む。それぞれの文字識別エントリ（ＣＩＥ）２５８は、記述子（ＤＥＳＣ）２１８の可能な組合せの中の１つに対応する文字又は記号の１又は複数の文字識別（ＣＨＩＤ）２６０と、対応する記述子（ＤＥＳＣ）２１８とを含み、記述子（ＤＥＳＣ）２１８の組合せを用いてアクセスされると、１又は複数の一致が見つかると、１又は複数の対応する文字識別エントリ（ＣＩＥ）２５８を与える。
【０１９１】
位置ディスクリミネータ・プロセッサ（ＰＤＩＳＰ）２５２は、ストローク識別子データ構造（ＳＩＤＳ）２１２から読み出されウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０からのストロークの選択された組合せに対応する記述子（ＤＥＳＣ）２１８と、文字識別子データ構造（ＣＩＤＳ）２５６から読み出された文字識別エントリ（ＣＩＥ）２５８の記述子（ＤＥＳＣ）２１８とを比較して、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０において表現されたストロークの組合せと文字識別エントリ（ＣＩＥ）２５８によって表現されたストロークの組合せとの間の一致の程度を決定する。一致の程度は、例えば、ストロークの相対的な位置と範囲とを含む複数のファクタの組合せを比較することによって決定される。ストローク識別子エントリ（ＳＩＥ）２１４から読み出されたストローク識別（ＳＩＤＮＴ）２２０が、本発明の特定の構成においては、比較動作において用いられることがあることに注意すべきである。
【０１９２】
位置ディスクリミネータ・プロセッサ（ＰＤＩＳＰ）２５２は、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０において表現されるストロークのそれぞれの組合せに対する、アクセス及び比較一致動作を実行し、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０において表現されたストロークの組合せと文字識別子データ構造（ＣＩＤＳ）２５６の中の対応する文字識別との間の最良の１又は複数の一致を決定する。最良の１又は複数の一致を有するストロークの組合せを識別すると直ちに、位置ディスクリミネータ・プロセッサ（ＰＤＩＳＰ）２５２は、対応する文字リスト（ＣＬＳＴ）２６２を生成し、この文字リスト（ＣＬＳＴ）２６２を、シーケンシャル文字アレー（ＳＣＡ）２６４の中に、その文字を含むストロークのクラスタが影響リスト（ＩＮＦＬ）２４０において生じるシーケンスに対応する空間的なシーケンスで、書き込む。それぞれの文字リスト（ＣＬＳＴ）２６２は、関連する信頼性レベル（ＣＮＬ）２６６を伴う少なくとも１つの文字識別（ＣＨＩＤ）２６０から構成される。それぞれの文字識別（ＣＨＩＤ）２６０は、ストロークの対応するクラスタとの著しい程度の一致と、関連する信頼性レベル（ＣＮＬ）２６６とを有する文字を識別する。信頼性レベル（ＣＮＬ）２６６は、位置ディスクリミネータ・プロセッサ（ＰＤＩＳＰ）２５２によって比較動作において決定され、対応する文字がストロークのクラスタと一致する信頼性のレベル、すなわち、一致の程度を示す。与えられた文字リスト（ＣＬＳＴ）２６２は、関連した信頼性レベル（ＣＮＬ）２６６を伴う複数の文字識別（ＣＨＩＤ）２６０を含むことがあるが、含まれる文字識別（ＣＨＩＤ）２６０は、少なくとも、最も高い一致の程度を有する文字と、その最も高い一致の程度を有する文字と比較してやはり著しい一致の程度を有する任意の他の文字と、から構成される。ストローク・クラスタの中には、どれも高い一致の程度は有してはいないが複数の一致する文字を有するものもあり、この場合は、文字リスト（ＣＬＳＴ）２６２は、比較的一致の程度の低い、すなわち、比較的信頼性レベルの低い対応する文字を複数含む。
【０１９３】
位置ディスクリミネータ・プロセッサ（ＰＤＩＳＰ）２５２は、次に、ストロークの識別された組合せの中のストロークのストローク識別子（ＳＴＩＤ）２１６をストローク・バッファ・コントローラ（ＳＢＣ）２３２に提供し、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０からストローク識別子（ＳＴＩＤ）２１６を除去し、そして、再び影響リスト（ＩＮＦＬ）２４０を走査して、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０の中にストロークの新たな組を構成する。ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、位置ディスクリミネータ・プロセッサ（ＰＤＩＳＰ）２５２によってある文字に対応するものとして識別されたストローク識別子（ＳＴＩＤ）２１６に、ストローク識別子（ＳＴＩＤ）２１６を、現在ストローク・バッファ（ＣＳＢ）２２６から第１の前ストローク・バッファ（ＦＰＳＢ）２２８に、文字又は記号を含むストロークのクラスタとして移動させることによって、応答する。ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、また、先には第１の前ストローク・バッファ（ＦＰＳＢ）２２８の中に存在したストローク識別子（ＳＴＩＤ）２１６を、第２の前ストローク・バッファ（ＳＰＳＢ）２３０に移動させ、必要であれば、第２の前ストローク・バッファ（ＳＰＳＢ）２３０からのストロークの最も古いクラスタを廃棄する。
【０１９４】
最後に、ストローク・バッファ・スキャナ（ＳＢＳＣ）２４６は、影響リスト（ＩＮＦＬ）２４０の中に新たに入力され、時間的に先行するストロークの間に空間的に位置する空間的な座標又は範囲を有する現在のストロークに応答して、この事象をストローク・バッファ・コントローラ（ＳＢＣ）２３２に指示する。そして、ストローク・バッファ・コントローラ（ＳＢＣ）２３２は、この指示に応答して、現在ストローク・バッファ（ＣＳＢ）２２６、第１の前ストローク・バッファ（ＦＰＳＢ）２２８、及び第２の前ストローク・バッファ（ＳＰＳＢ）２３０におけるストローク識別子（ＳＴＩＤ）２１６を、現在のストロークの空間的な座標又は範囲に従って、再び順序付けし、それによって、それらの空間的な関係に従って、バッファにおけるストロークの時間的な関係を、再び順序付けする。ストローク・バッファ・スキャナ（ＳＢＳＣ）２４６は、また、現在ストローク・バッファ（ＣＳＢ）２２６と第１の前ストローク・バッファ（ＦＰＳＢ）２２８との再度の順序付けに応答して、影響リスト（ＩＮＦＬ）２４０を再び走査して、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０の内容を、必要に応じて、ストロークの新たな組を伴う対応する新たな空間的な順序で、再度書き込む。位置ディスクリミネータ・プロセッサ（ＰＤＩＳＰ）２５２は、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０の再書き込みに応答して、ウィンドウ・バッファ（ＷＩＮＢＵＦ）２５０におけるストロークの新たな組合せから新たなクラスタの意味を決定し、それにより、ユーザは、新たなストロークを、先に入力された一連のストロークに沿って任意の位置に書き込むことができる。最後に、クラスタ認識プロセッサ（ＣＲＰ）１８６が、シーケンシャル文字アレー（ＳＣＡ）２６４を、言語的ポスト・プロセッサ（ＬＰＰ）３６に提供する。
Ｅ．言語的ポスト・プロセッサ（ＬＰＰ）３６の説明（図３５Ａ及び図３５Ｂ）：
既に述べたように、言語的ポスト・プロセッサ（ＬＰＰ）３６は、シーケンシャル文字アレー（ＳＣＡ）２６４を低レベル認識プロセッサ（ＬＬＲＰ）３４から受け取り、それぞれが文字又は記号としてのストロークの与えられたクラスタの１又は複数の解釈を表している文字リスト（ＣＬＳＴ）２６２から、２又はそれより多くの文字から成る文字ストリングを組み立てる。言語的ポスト・プロセッサ（ＬＰＰ）３６は、次に、言語（学）的な原理（linguistic principles）を用いて、シーケンシャル文字アレー（ＳＣＡ）２６４において表現されている文字のストリングに関する、語（word）としての最も可能性の高い解釈を選択する。言語的ポスト・プロセッサ（ＬＰＰ）３６は、こうして、シーケンシャル文字アレー（ＳＣＡ）２６４において表現されているものとしての手書き入力文字の曖昧で誤りを含む解釈の間で区別を行い、それぞれの入力文字に対して、対応するシーケンシャル文字アレー（ＳＣＡ）２６４に含まれるそれぞれの入力文字の可能性のある解釈から、語又は文字の組合せの中の要素としての文字の内容に基づいてそれぞれの入力文字の最も可能性（蓋然性）の高い解釈を選択することによって、手書き入力文字の解釈の正確性を著しく向上させる。
【０１９５】
これらの目的のために、言語的ポスト・プロセッサ（ＬＰＰ）３６は、自然言語における文字と語の性質に基づいて、２つの主要な動作を実行する。図３５Ａ及び図３５Ｂにそれぞれ示されているように、第１の動作は、言語（学）的プロセッサ（ＬＮＧＰ）２６６によって実行される言語的解析であり、曖昧な文字の可能性の間で、任意の自然言語（この場合には英語）に存在する文字の言語的な関係に基づいて、選択を行い、手書き文字に関する複数の同様にランクの付けられた解釈の間での選択を実行する。第２の動作は、字句アナライザ（ＬＥＸＡＺ）２９０によって実行される字句解析であり、まず、語と同様の手段とから成るルックアップ・テーブルを用いて、文字ストリングにおいて生じる可能性のある語を識別し分析する。字句アナライザ（ＬＥＸＡＺ）２９０が実行する動作は、更に、代替エラー訂正を含み、これは、必要に応じて、頻繁に取り違えられる文字や文字の組合せに関する訂正と確認とを行い、正しい文字が誤認識されている、すなわち、手書き文字認識のそれまでの段階で、誤った文字と取り違えられているような問題を解決する。
１．言語的及び字句的な解析の一般論：
最初に、言語的解析を考えると、一般的に知られ理解されていることであるが、英語などの自然言語を含むすべての言語は、言語的な特性（linguistic properties）を示しており、ある言語の言語的特性は、その言語の語（words）において、文字のある組合せがより高い又はより低い頻度で生じる傾向として、記述される。すなわち、ある文字が頻繁に他の文字の後に続き又は付随し、また、ある文字は頻繁に組合せとして現れ、また、ある文字又は文字の組合せが、例えば、語の他の位置においてよりも、語の最初、最後、又は中間においてより頻繁に生じる、などである。例えば、低レベル認識プロセッサ（ＬＬＲＰ）３４によって識別された可能性のある解釈において、ｕの文字とａの文字との間に曖昧性が残り、この問題になっている文字の前にｑがあり、後にはｉｃｋがある場合であれば、英語の言語的な特性によれば、おそらく正しい選択は、ｕであることが示される。
【０１９６】
この関係は、以下で説明するように、この技術分野において広く知られているマルコフ（Markov）過程として捉えられ実現されており、言語的ポスト・プロセッサ（ＬＰＰ）３６は、低レベル認識プロセッサ（ＬＬＲＰ）３４からのそれぞれの入力文字の可能性のある解釈の間で、特に、曖昧な文字の間で、選択を行う。この選択は、１つの文字のそれぞれの潜在的な解釈に関連して、マルコフ・テーブルに記憶されている蓋然性測度（likelihood measures）と、低レベル認識プロセッサ（ＬＬＲＰ）３４が提供する信頼性レベル又は格付け（レーティング、ratings）とに基づいて行われる。
【０１９７】
字句解析（lexical analysis）は、これに対して、ある語の知られている識別可能な綴り（スペリング）などの、ある言語の語彙、語、又は形態素（morpheme）に基づく。その例としては、ある言語において生じる少なくとも平凡な語の綴りであり、例えば、ｃａｔ、ｒａｔ、ｂｏａｔなどや、人名や地名などの固有名詞の綴りなどがある。字句解析はまた、ある文字を別の文字に取り違える置き換え又は誤認識から生じるいくつかの一般的なエラーの識別を含む。例としては、５のストロークを、ｓのストロークとして誤認識する場合や、組合せであるｉｎ又はｎｉをｍとして誤認識する場合や、ｍを組合せであるｉｗとして誤認識する場合などがある。
２．言語的プロセッサ（ＬＮＧＰ）２６６（図３５Ａ）：
図３５Ａを参照すると、言語的プロセッサ（ＬＮＧＰ）２６６の概括的な表現が示されている。図に記載されているように、低レベル認識プロセッサ（ＬＬＲＰ）３４は、言語的ポスト・プロセッサ（ＬＰＰ）３６に、シーケンシャル文字アレー（ＳＣＡ）２６４の中の文字リスト（ＣＬＳＴ）２６２を与え、それぞれの文字リスト（ＣＬＳＴ）２６２は、低レベル認識プロセッサ（ＬＬＲＰ）３４によって、文字としての意味又は潜在的な意味を有するものとして認識されているストロークのクラスタに対応しており、それぞれの２６２は、１又は複数の文字識別（ＣＨＩＤ）２６０を含む。それぞれの文字識別（ＣＨＩＤ）２６０は、ストロークのクラスタの可能性のある解釈を、文字として識別し、それに対して、対応する文字がストロークの対応するクラスタの正しい解釈である信頼性の度合いを示す信頼性レベル（ＣＮＬ）を対応させる。
【０１９８】
言語的プロセッサ（ＬＮＧＰ）２６６は、初期文字ストリング・セレクタ（ＩＣＳＳ）２７０を含み、この初期文字ストリング・セレクタ（ＩＣＳＳ）２７０は、低レベル認識プロセッサ（ＬＬＲＰ）３４から文字リスト（ＣＬＳＴ）２６２を受け取り、文字リスト（ＣＬＳＴ）２６２を、受け取ったシーケンスで、初期文字ストリング（ＩＣＳ）２７２に構成する。初期文字ストリング（ＩＣＳ）２７２は、２又はそれより多くの文字リスト（ＣＬＳＴ）２６２を含み、潜在的には、語を含む。初期文字ストリング・セレクタ（ＩＣＳＳ）２７０は、一般的には、最初に、文字リスト（ＣＬＳＴ）２６２のシーケンスにおける語の先の識別の後に生じる次の２つのシーケンシャルな文字リスト（ＣＬＳＴ）２６２を選択することによって、低レベル認識プロセッサ（ＬＬＲＰ）３４から受け取られた文字リスト（ＣＬＳＴ）２６２のシーケンスにおいて生じている語を認識しよう試み、次に、それぞれの選択された初期文字ストリング（ＩＣＳ）２７２に対する言語的な解析の結果に基づいて、文字リスト（ＣＬＳＴ）２６２のシーケンスを、連続的に長く構成する。
【０１９９】
言語的アナライザ（ＬＩＮＡＺ）２７４は、初期文字ストリング（ＩＣＳ）２７２の文字リスト（ＣＬＳＴ）２６２を読み出し、２つの言語的な解析をシーケンシャルに実行する。第１の解析は、語の最初及び最後において文字対が生じる相対的な頻度に基づき、第２の解析は、潜在的に語を構成する文字ストリングにおける任意の地点で文字の組合せが生じる相対的な頻度に基づく。図３５に示すように、言語的アナライザ（ＬＩＮＡＺ）２７４に関連して２つの対応するマルコフ・テーブルが存在している。第１のものが、開始／終了マルコフ・テーブル（ＢＥＭＴ）２７６であり、第２のものが、場所任意（Anywhere）マルコフ・テーブル（ＡＭＴ）２７８として、示されている。
【０２００】
第１の解析は、語の開始部分及び終了部分に、語の文字の可能な対作成（ペアリング）に対する最初の及び追加的な制約を与えるものとして、現れる文字に基づく。例えば、文字対ｌｔはある語の中に現れることは可能であるが、この文字対が語の開始部分で生じるであろう可能性は非常に低い。他方で、文字対ｔｈがその位置に生じる可能性は比較的高い。これに対応して、図３５に示されているように、開始／終了マルコフ・テーブル（ＢＥＭＴ）２７６は、英語などの与えられた言語における可能性（蓋然性）のある開始文字対のそれぞれに対して、開始文字対可能性ウェイト（ＢＰＰＷ）２８０を含み、可能性のある終了文字対のそれぞれに対して、終了文字対可能性ウェイト（ＥＰＰＷ）２８２を含む。
【０２０１】
語の開始部分又は終了部分において生じる文字対の可能性に基づく最初の言語的解析は、また、低レベル認識プロセッサ（ＬＬＲＰ）３４から受け取った文字リスト（ＣＬＳＴ）２６２のシーケンスで生じている与えられた語の開始部分又は終了部分を識別し、更に、文字リスト（ＣＬＳＴ）２６２から語を構成する初期文字ストリング（ＩＣＳ）２７２を作る際にも、価値を有する。
【０２０２】
言語的アナライザ（ＬＩＮＡＺ）２７４は、初期文字ストリング（ＩＣＳ）２７２からその中で生じている最初の２つ及び最後の２つの文字リスト（ＣＬＳＴ）２６２を識別して読み出し、文字リスト（ＣＬＳＴ）２６２の開始部分及び終了部分の対のそれぞれに含まれる文字識別（ＣＨＩＤ）２６０を読み出し、開始部分の文字識別（ＣＨＩＤ）２６０のそれぞれの可能な対と、終了部分の文字識別（ＣＨＩＤ）２６０のそれぞれの可能な対とを形成することによって、初期の開始部分及び終了部分の解析を実行する。言語的アナライザ（ＬＩＮＡＺ）２７４は、次に、開始部分の文字識別（ＣＨＩＤ）２６０のそれぞれの可能な組合せと終了部分の文字識別（ＣＨＩＤ）２６０のそれぞれの可能な組合せとをを用いて、開始／終了マルコフ・テーブル（ＢＥＭＴ）２７６にアクセスし、開始／終了マルコフ・テーブル（ＢＥＭＴ）２７６から、開始部分の文字の可能な対のそれぞれに対して開始文字対可能性ウェイト（ＢＰＰＷ）２８０を読み出し、終了部分の文字識別（ＣＨＩＤ）２６０の対のそれぞれに対して終了文字対可能性ウェイト（ＥＰＰＷ）２８２を読み出す。
【０２０３】
言語的アナライザ（ＬＩＮＡＺ）２７４は、次に、選択された開始部分と終了部分との文字識別（ＣＨＩＤ）２６０の対を、中間文字ストリング（ＩＭＣＳ）２８４の中に、初期文字ストリング（ＩＣＳ）２７２におけるそれらの位置に対応する位置において、それらの文字識別（ＣＨＩＤ）２６０と共に書き込む。この処理は、図３５Ａでは、中間文字ストリング（ＩＭＣＳ）２８４の文字識別（ＣＨＩＤ）２６０の間の、ａ及びｂで指示されたラインによって表されている。
【０２０４】
しかし、言語的アナライザ（ＬＩＮＡＺ）２７４は、それぞれの文字識別（ＣＨＩＤ）２６０に関連した信頼性レベル（ＣＮＬ）２６６を、開始／終了マルコフ・テーブル（ＢＥＭＴ）２７６から読み出された開始文字対可能性ウェイト（ＢＰＰＷ）２８０及び終了文字対可能性ウェイト（ＥＰＰＷ）２８２を用いて修正し、それぞれの文字識別（ＣＨＩＤ）２６０に関連する新たな中間信頼性レベル（ＩＣＬ）２８６を生じる。この修正は、元の信頼性レベル（ＣＮＬ）２６６を、対応する開始文字対可能性ウェイト（ＢＰＰＷ）２８０又は終了文字対可能性ウェイト（ＥＰＰＷ）２８２によって単に代替することであり得るが、また、例えば、元の信頼性レベル（ＣＮＬ）２６６に、対応する開始文字対可能性ウェイト（ＢＰＰＷ）２８０又は終了文字対可能性ウェイト（ＥＰＰＷ）２８２を乗算することによっても得られ、その場合には、中間信頼性レベル（ＩＣＬ）２８６が、低レベル認識プロセッサ（ＬＬＲＰ）３４によって実行されたストローク・クラスタ／文字の可能性評価が維持される。
【０２０５】
言語的アナライザ（ＬＩＮＡＺ）２７４が、選択された開始部分の文字リスト（ＣＬＳＴ）２６２対又は選択された終了部分の文字リスト（ＣＬＳＴ）２６２あるいはその両方と、開始／終了マルコフ・テーブル（ＢＥＭＴ）２７６のエントリとの間に一致を見いだせないこともあり得る。あるいは、見つけられた一致が、すべて低いレベルである、すなわち、低い確率であることもあり得る。例えば、選択された初期文字ストリング（ＩＣＳ）２７２が不完全な語である場合や、初期文字ストリング（ＩＣＳ）２７２が２つの語の部分からそれぞれ構成されている場合、更には、この後者の場合において、ストリングの中の文字の１つが、ＡやＩなどの１文字の語である場合などに、これは生じる。最初の２つの場合には、言語的アナライザ（ＬＩＮＡＺ）２７４は、初期文字ストリング・セレクタ（ＩＣＳＳ）２７０に命じて、少なくとも１つの追加的な文字リスト（ＣＬＳＴ）２６２を含む次の初期文字ストリング（ＩＣＳ）２７２を構成させるか、又は、初期文字ストリング（ＩＣＳ）２７２の中の文字リスト（ＣＬＳＴ）２６２の数に応じて、現在の１つの初期文字ストリング（ＩＣＳ）２７２から、最も左側の文字リスト（ＣＬＳＴ）２６２を除去させる。言語的アナライザ（ＬＩＮＡＺ）２７４は、初期文字ストリング（ＩＣＳ）２７２が、ある語の開始部分及び終了部分を構成する受け入れられる可能性を有する開始部分及び終了部分の文字対を有するものとして識別されるまで、この開始部分／終了部分解析を反復する。
【０２０６】
初期文字ストリング（ＩＣＳ）２７２に含まれる１文字の語の場合は、文字識別（ＣＨＩＤ）２６０によって、おそらく、Ａ又はＩなどの大文字として示されており、この文字は、中間文字ストリング（ＩＭＣＳ）２８４の中に、中間信頼性レベル（ＩＣＬ）２８６が元の信頼性レベル（ＣＮＬ）２６６であるか、又は開始／終了マルコフ・テーブル（ＢＥＭＴ）２７６から入手可能である場合には、中間信頼性レベル（ＩＣＬ）２８６が、語の開始／終了対として受け入れられた１文字を示す開始文字対可能性ウェイト（ＢＰＰＷ）２８０又は終了文字対可能性ウェイト（ＥＰＰＷ）２８２によって修正されているものとして、書き込まれる。しかし、これは、開始／終了マルコフ・テーブル（ＢＥＭＴ）２７６が、当初の大文字を含み１文字の語として生じる著しい可能性を有する対に対するウェイトに対応しそれを与えるエントリを含んでいることを必要とする。
【０２０７】
言語的アナライザ（ＬＩＮＡＺ）２７４は、いったん、初期文字ストリング（ＩＣＳ）２７２の開始部分及び終了部分の文字対に対する受け入れられる解釈を達成し、中間文字ストリング（ＩＭＣＳ）２８４において対応するエントリを生成した場合には、場所任意マルコフ・テーブル（ＡＭＴ）２７８を用いた第２の言語的解析を実行する。場所任意マルコフ・テーブル（ＡＭＴ）２７８は、文字ストリングの任意の位置で生じるすべての可能な文字組合せが生じる可能性を反映する場所任意文字対可能性ウェイト（ＡＰＰＷ）２８８を含む。このプロセスでは、言語的アナライザ（ＬＩＮＡＺ）２７４は、最初に、開始部分の文字対と終了部分の文字対との間で生じ最も高い元の信頼性レベル（ＣＮＬ）２６６を有する初期文字ストリング（ＩＣＳ）２７２において文字リスト（ＣＬＳＴ）２６２を選択するが、この文字リスト（ＣＬＳＴ）２６２は、開始部分対又は終了部分対、もしくはその両方の構成要素であることがわかる。言語的アナライザ（ＬＩＮＡＺ）２７４は、次に、当初の文字リスト（ＣＬＳＴ）２６２のどちらかの側に生じている文字リスト（ＣＬＳＴ）２６２を選択し、当初の文字リスト（ＣＬＳＴ）２６２の文字識別（ＣＨＩＤ）２６０と隣接する文字リスト（ＣＬＳＴ）２６２の文字識別（ＣＨＩＤ）２６０との可能な対の組合せを形成する。
【０２０８】
言語的アナライザ（ＬＩＮＡＺ）２７４は、文字識別（ＣＨＩＤ）２６０残れらの組合せを用いて場所任意マルコフ・テーブル（ＡＭＴ）２７８にアクセスし、場所任意マルコフ・テーブル（ＡＭＴ）２７８から、文字識別（ＣＨＩＤ）２６０のそれぞれの組合せに対する場所任意文字対可能性ウェイト（ＡＰＰＷ）２８８を読み出す。言語的アナライザ（ＬＩＮＡＺ）２７４は、次に、文字識別（ＣＨＩＤ）２６０とそれに隣接し最も高い信頼レベルを有する文字識別（ＣＨＩＤ）２６０とを、初期文字ストリング（ＩＣＳ）２７２でのそれらの位置に対応する位置において、中間文字ストリング（ＩＭＣＳ）２８４に書き込み、再び、対応する場所任意文字対可能性ウェイト（ＡＰＰＷ）２８８に従い、上述した態様で、それぞれの元の信頼性レベル（ＣＮＬ）２６６を修正して、対応する中間信頼性レベル（ＩＣＬ）２８６を生じる。
【０２０９】
言語的アナライザ（ＬＩＮＡＺ）２７４は、当初の文字リスト（ＣＬＳＴ）２６２の隣接する文字リスト（ＣＬＳＴ）２６２を、次の文字リスト（ＣＬＳＴ）２６２として選択し、隣接する文字リスト（ＣＬＳＴ）２６２を有する対を形成し、上述のプロセスを反復して、プロセスのそれぞれの反復の際に、最も高い信頼レベルを有する文字リスト（ＣＬＳＴ）２６２の最も高い連続的な対を選択し、上述の態様で中間文字ストリング（ＩＭＣＳ）２８４における対応するエントリを生成しながら、当初の文字リスト（ＣＬＳＴ）２６２から、初期文字ストリング（ＩＣＳ）２７２の最後まで進む。
【０２１０】
ここで説明した言語的な処理に関しては、次のことがいえる。すなわち、当初の処理動作は、すなわち、開始部分／終了部分の処理は、開始部分及び終了部分の文字組合せに関する言語的に可能な組合せにおけるより制限的な制約を利用しており、語のこれらの地点で現れる文字を正確に識別する際の、また、語の開始部分及び終了部分を識別する際の正確さを向上させる。第２の言語的解析は、最も高い信頼性レベルを、従って、低レベル認識プロセッサ（ＬＬＲＰ）３４によるストロークのクラスタの最も可能性のある（蓋然性の高い）解釈を有する低レベル認識プロセッサ（ＬＬＲＰ）３４からの文字リスト（ＣＬＳＴ）２６２と共に開始され、この文字を、隣接する文字や、更に隣接する文字を識別するための文字を識別するための基礎として用い、それによって、文字ストリングの中の曖昧に識別された文字を解決する最も高い可能性を提供する。最後に、この言語的な処理は、文字対と共に動作するものとして説明したが、特に第２の処理動作においては、３文字の組にも拡張できる。その際の態様は、この技術分野では広く知られている。しかし、この構成では、文字対を用いる言語的処理は、処理時間及び複雑さに関して受け入れられるコスト条件の下での受け入れられる性能と、マルコフ・テーブルに関して受け入れられるサイズを与えるものとして、選択された。
【０２１１】
最後に、言語的プロセッサ（ＬＮＧＰ）２６６によって実行される言語的解析の結論として、中間文字ストリング（ＩＭＣＳ）２８４は、字句処理のために、字句アナライザ（ＬＥＸＡＺ）２９０に対し、利用可能である。
３．字句プロセッサ（ＬＥＸＰ）２６８（図３５Ｂ）：
既に述べたように、中間文字ストリング（ＩＭＣＳ）２８４の字句的な処理は、２つの段階で行われる。図３５Ｂに図解されている第２の段階は、字句アナライザ（ＬＥＸＡＺ）２９２によって、字句プロセッサ（ＬＥＸＰ）２６８において実行される語の字句的（lexical）な解析である。字句アナライザ（ＬＥＸＡＺ）２９２は、開始扱いテーブル（ＳＨＴ）２９４と、その言語の通常用いられる語と人名や地名である固有名詞である語とを含む、３つの「文字位置」リストの多忙リスト（ＢＵＳＹ）２９６、通常リスト（ＲＥＧＵＬＡＲ）２９８、及び希薄リスト（ＳＰＡＲＳＥ）３００とから構成される字句ルックアップ・テーブル（ＬＬＴ）２９２と関連して動作する。
【０２１２】
既に述べたように、中間文字ストリング（ＩＭＣＳ）２８４は、文字リスト（ＣＬＳＴ）２６２の順序付きのシーケンスすなわちストリングから構成され、それぞれの文字リスト（ＣＬＳＴ）２６２は、それぞれが関連する中間信頼性レベル（ＩＮＬ）を有する、１又は複数の文字識別（ＣＨＩＤ）２６０を含む。また、明らかに、依然として、おそらく、中間文字ストリング（ＩＭＣＳ）２８４において表現された文字の間には曖昧さが存在する、すなわち、中間文字ストリング（ＩＭＣＳ）２８４において表現された１又は複数の文字に対して、複数の可能性のある解釈が残っている。
【０２１３】
字句アナライザ（ＬＥＸＡＺ）２９０によって実行される動作は、不確実な入力、すなわち、低い信頼性レベルを有する任意の数の文字を含む入力を伴う字句的なルックアップ（参照）と考えられる。この点で、標準的な字句的なルックアップ方法は、文字ストリングの最初の文字を、効果的なルックアップのための一次キー（primary key）として用いることに注意すべきである。しかし、明らかに、光学的又は手書き文字認識システムでは、それぞれの文字における信頼性のレベルは文字ごとに変動し、最初の文字は、実際には、その語の他の文字よりも信頼性レベルが低い可能性がある。結果的に、標準的な字句的なルックアップ方法は、最初の文字の信頼性レベルが低い場合には、受け入れ可能な結果を与えない可能性がある。従って、そのような場合に用いられるルックアップ方法は、このシステムにおけるように、一次キーを選択する際に融通性をもたなければならず、一次キーは、その文字の語の中における相対的な位置とは関係なく、最も高い信頼性レベルを有する文字から作らなければならない。
【０２１４】
この段階では、字句アナライザ（ＬＥＸＡＺ）２９０は、中間文字ストリング（ＩＭＣＳ）２８４から、最も高い関連する中間信頼性レベル（ＩＣＬ）２８６を有する文字識別（ＣＨＩＤ）２６０から構成される語である（＊Ｈ＊）のような、一次キー文字認識（ＰＲＫＥＹ）３０２を識別して読み出す。字句アナライザ（ＬＥＸＡＺ）２９０は、次に、一次キー文字認識（ＰＲＫＥＹ）３０２を用いて字句ルックアップ・テーブル（ＬＬＴ）２９２にアクセスし、字句ルックアップ・テーブル（ＬＬＴ）２９２から、（Ｐ／Ｔ）ＨＥ、（Ｐ／Ｔ）ＨＡ、（Ｐ／Ｔ）ＨＩ、（Ｐ／Ｔ）ＨＯなどの中間文字ストリング（ＩＭＣＳ）２８４と同じ位置に選択された一次キー文字を有するその中の潜在的な語をすべて読み出し、これらの語から、潜在的リスト（ＰＯＴＬＳＴ）３０４を構成する。
【０２１５】
字句アナライザ（ＬＥＸＡＺ）２９０は、中間文字ストリング（ＩＭＣＳ）２８４から、もしある場合には、ＴＨ＊及びＰＨ＊などの、１又は複数の二次キー文字認識（ＳＥＣＫＥＹ）３０６を識別し読み出す。それぞれの二次キー文字認識（ＳＥＣＫＥＹ）３０６は、一次キー文字認識（ＰＲＫＥＹ）３０２よりは低いが受け入れ可能なスレショルドよりは高い中間信頼性レベル（ＩＣＬ）２８６を有する文字識別（ＣＨＩＤ）２６０から構成される潜在的な語である。字句アナライザ（ＬＥＸＡＺ）２９０は、次に、潜在的リスト（ＰＯＴＬＳＴ）３０４を、一次キー文字認識（ＰＲＫＥＹ）３０２及び二次キー文字認識（ＳＥＣＫＥＹ）３０６を用いて走査し、一次キー文字認識（ＰＲＫＥＹ）３０２及び二次キー文字認識（ＳＥＣＫＥＹ）３０６を、潜在的リスト（ＰＯＴＬＳＴ）３０４の中のそれぞれの語における対応する位置に現れる文字と比較する。字句アナライザ（ＬＥＸＡＺ）２９０は、次に、一次キー文字認識（ＰＲＫＥＹ）３０２及び二次キー文字認識（ＳＥＣＫＥＹ）３０６と同じ位置に生じる同じ文字を有する潜在的リスト（ＰＯＴＬＳＴ）３０４の語から成る候補リスト（ＣＡＤＬ）３０８を構成する。
【０２１６】
最後に、字句アナライザ（ＬＥＸＡＺ）２９０は、（Ｐ／Ｔ）ＨＥ、（Ｐ／Ｔ）ＨＡ、（Ｐ／Ｔ）ＨＩ、（Ｐ／Ｔ）ＨＯなどの中間文字ストリング（ＩＭＣＳ）２８４において表現された文字との類似性に従って、候補リスト（ＣＡＤＬ）３０８の語をランク付けし、中間文字ストリング（ＩＭＣＳ）２８４において表現された文字に関連する中間信頼性レベル（ＩＣＬ）２８６を考慮する。字句アナライザ（ＬＥＸＡＺ）２９０は、好ましくは、そして、当初は、最も高い中間信頼性レベル（ＩＣＬ）２８６を有する中間文字ストリング（ＩＭＣＳ）２８４における任意の位置において表現された文字を用いるが、それぞれの位置における別の文字解釈を考慮して、最も高い全体的な信頼性レベルを有する一致を決定する。
【０２１７】
字句アナライザ（ＬＥＸＡＺ）２９０は、候補リスト（ＣＡＤＬ）３０８の語と中間文字ストリング（ＩＭＣＳ）２８４における文字識別（ＣＨＩＤ）２６０によって表現された文字の組合せとの間の完全な一致を見つけた場合には、この語を、対応する元の手書き入力された語の正確な解釈として受け入れて、後続の表示、記憶、印刷等のために、識別された語（ＩＤＷＯＲＤ）３１２として、出力ストリング（ＯＵＴＳ）３１０の中に書き込む。
【０２１８】
完全な一致が見つからない場合には、訂正プロセッサ（ＣＯＲＲＰ）３１４が呼び出され、候補リスト（ＣＡＤＬ）３０８の中の１又は複数の語に最も近接して一致する文字識別（ＣＨＩＤ）２６０によって表現される文字の組合せに対して作用する。一致が全く見つからない場合には、訂正プロセッサ（ＣＯＲＲＰ）３１４がやはり呼び出されて、しかしこの場合には、中間信頼性レベル（ＩＣＬ）２８６を有する候補リスト（ＣＡＤＬ）３０８のエントリ、すなわち、言語的解析と低レベル認識プロセッサ（ＬＬＲＰ）３４によって決定されたストローク文字とに基づき、最も高い可能性を有する言語的解析の結果が、提供される。
【０２１９】
訂正プロセッサ（ＣＯＲＲＰ）３１４に進む前に、図（ＬＰＰに関する図）に、字句ルックアップ・テーブル（ＬＬＴ）２９２の構造が図解されている。既に述べたように、不確実な入力を有する字句ルックアップを容易にするためには、字句ルックアップ・テーブル（ＬＬＴ）２９２のような辞書（lexicon）に、最初の１又は複数の文字だけではなく、一次キーとして入力された語の中の任意の文字を用いて、アクセスできることが必要である。これは、本発明のシステムにおいて、開始扱いテーブル（ＳＨＴ）２９４を介してアクセスされ又はインデクスされる多忙リスト（ＢＵＳＹ）２９６、通常リスト（ＲＥＧＵＬＡＲ）２９８、及び希薄リスト（ＳＰＡＲＳＥ）３００として図において識別されている「文字位置」（letter-in-position、特定の位置に、ある文字が位置している意味）リストの中の語に関する辞書を記憶することによって、達成される。これらの３つのタイプの、多忙、通常、希薄のリストは、辞書すなわち字句ルックアップ・テーブル（ＬＬＴ）２９２の中の、与えられた位置に与えられた文字を有する語の数に基づく。この構成では、与えられた位置に与えられた文字を有する語の数が１０よりも少ない場合には、それは「希薄」であると考えられ、希薄リスト（ＳＰＡＲＳＥ）３００に記憶される。語の数が１０と１００の間である場合には、それは、「通常」であると考えられ、通常リスト（ＲＥＧＵＬＡＲ）２９８に記憶される。そして、語の数が１００よりも多い場合には、それは、「多忙」であると考えられ、多忙リスト（ＢＵＳＹ）２９６に記憶される。この構造は、ルックアップの効率を最大にし、字句ルックアップ・テーブル（ＬＬＴ）２９２を記憶するのに要求されるスペースを最小にするように、実現されている。
【０２２０】
図（ＬＰＰに関する図）に示されているように、開始扱いテーブル（ＳＨＴ）２９４は、すべての可能な位置におけるアルファベットのそれぞれの文字に対する開始エントリ（ＳＴＡＲＴ）３１６を含み、それぞれの開始エントリ（ＳＴＡＲＴ）３１６は、一次キー・タイプ（ＰＫＴ）３１８であるＢ、Ｒ又はＳを含み、対応する語が多忙リスト（ＢＵＳＹ）２９６、通常リスト（ＲＥＧＵＬＡＲ）２９８、又は希薄リスト（ＳＰＡＲＳＥ）３００の中に存在するかどうかを識別する。更に、それぞれの開始エントリ（ＳＴＡＲＴ）３１６は、多忙リスト（ＢＵＳＹ）２９６、通常リスト（ＲＥＧＵＬＡＲ）２９８、又は希薄リスト（ＳＰＡＲＳＥ）３００の中の対応するエントリに対するポインタ・ハンドル（ＰＴＲＨ）３２０を含む。一次キー・タイプ（ＰＫＴ）３１８が、どのリストをポインタ・ハンドル（ＰＴＲＨ）３２０が指しているかを決定する。
【０２２１】
多忙リスト（ＢＵＳＹ）２９６では、同じ長さと同じ一次キーとを有する語が、多忙ブロック（ＢＵＳＹＢ）３２２に集められ、二次インデクス・テーブル（ＳＩＴ）３２４が、どの部分又は多忙ブロック（ＢＵＳＹＢ）３２２が属するのかを決定する。例えば、図に示されているように、「ａが２番目の位置にあり、名前であり、５文字の長さ」（a-in-the-second-position for names 5 character long）は、Ａａｒｏｎ、Ｂａｍｂｉ、Ｂａｒｄｏなどに関係する。しかし、通常の長さを持たない語は、単一の多忙ブロック（ＢＵＳＹＢ）３２２に集められる。
【０２２２】
多忙リスト（ＢＵＳＹ）２９６の文字位置リストは、最後の多忙ブロック（ＢＵＳＹＢ）３２２の終点におけるデータ終点マーカ（ＥＮＤＤ）３２６か、又は、ブロック終点マーカ（ＥＮＤＢ）３２８かのどちらかがそれぞれの後に来る語を含み、その後には、最後の多忙ブロック（ＢＵＳＹＢ）３２２ではなく、多忙ブロック（ＢＵＳＹＢ）３２２に対する先の多忙ブロック（ＢＵＳＹＢ）３２２の開始点に向いた先のブロック・ポインタ（ＰＢＰ）３３０が続く。リストは、ソートされたり、アルファベット順に並べる必要はなく、その理由は、一致したストリング全部が、字句アナライザ（ＬＥＸＡＺ）２９０に戻されなければならないからである。
【０２２３】
通常リスト（ＲＥＧＵＬＡＲ）２９８に対しては、語の長さは、リストを構成する際のファクタではない。任意の長さの、「通常」とされる特定の一次キーを有する語は、通常ブロック（ＲＥＧＢ）３３２に記憶され、従って、通常リスト（ＲＥＧＵＬＡＲ）２９８に関連する二次インデクス・テーブル（ＳＩＴ）３２４は存在しない。通常リスト（ＲＥＧＵＬＡＲ）２９８の中の文字位置ブロックのフォーマットは、それ以外の場合には、多忙リスト（ＢＵＳＹ）２９６の場合と同じである。
【０２２４】
最後に、希薄リスト（ＳＰＡＲＳＥ）３００においては、語の長さも文字の位置も、リストを構成する際に用いられず、「希薄」とされた一次キーを有するすべての語は、希薄ブロック（ＳＰＡＲＳＥＢ）３３４に集められる。例えば、「ｕが３番目に位置する」（u-in-the-third-position）と「ｚが８番目に位置する」（z-in-the-eighth-position）とは、共に、同じ希薄ブロック（ＳＰＡＲＳＥＢ）３３４の中にあり、従って、希薄リスト（ＳＰＡＲＳＥ）３００に関連する二次インデクス・テーブル（ＳＩＴ）３２４は存在しない。
４．訂正プロセッサ（ＣＯＲＲＰ）３１４：
既に述べたように、中間文字リスト（ＣＬＳＴ）の解釈と候補リスト（ＣＡＤＬ）３０８の語との間に完全な一致が見つからない場合には、訂正プロセッサ（ＣＯＲＲＰ）３１４が呼び出され、候補リスト（ＣＡＤＬ）３０８の１又は複数の語に最も近接して一致する文字識別（ＣＨＩＤ）２６０によって表される文字の組合せに対して作用する。
【０２２５】
また、先に論じたように、手書き文字の認識において生じるエラーは、タイプされたテキストで現れるタイプ上のエラーとは、ほとんどの手書き文字のエラーは代替エラーである、すなわち、その形状及び形態の誤認識に起因するある文字の別の文字での置き換えである点で、異なっている。綴りに関する訂正手段の使用は、従って、手書き文字の認識では効果的でない。
【０２２６】
図３５に示されるように、訂正プロセッサ（ＣＯＲＲＰ）３１４は、候補リスト（ＣＡＤＬ）３０８の１又は複数の語に最も近接して一致する文字識別（ＣＨＩＤ）２６０によって表された文字の組合せを読み出し、一致していない文字を識別する。次に、訂正プロセッサ（ＣＯＲＲＰ）３１４は、文字認識における一般的な誤りのリストをまとめたものを含むスマッジ・テーブル（ＳＭＧ）３３６と、（Ｐ／Ｔ）などの、その種のエラーを訂正する訂正規則（ＲＵＬＥ）３３８とにアクセスして、スマッジ・テーブル（ＳＭＧ）３３６の中に、一致していない文字に適用可能な訂正規則（ＲＵＬＥ）３３８が存在するかどうかを判断する。
【０２２７】
再帰的（recursive）なプロセスにおいて、訂正プロセッサ（ＣＯＲＲＰ）３１４は、適用可能な訂正規則（ＲＵＬＥ）３３８によって指示される中間文字ストリング（ＩＭＣＳ）２８４の一致していない文字に、置換を試み、ＴＨＥ、ＴＨＡ、ＴＨＩ、ＴＨＯなどの中間文字ストリング（ＩＭＣＳ）２８４の結果的に訂正されたバージョンを用いて、訂正辞書（ＣＯＲＬＥＸ）３４０にアクセスし又はインデクスする。ＴＨＡ、ＴＨＩ、ＴＨＯなどのように訂正辞書（ＣＯＲＬＥＸ）３４０において未知の語を結果として生じる訂正は、結果的に一致を生じることはなく、考慮から除かれる。他方で、訂正辞書（ＣＯＲＬＥＸ）３４０の中の１又は複数の語と一致する中間文字ストリング（ＩＭＣＳ）２８４の訂正されたバージョンは、ＴＨＥなどのように、中間文字ストリング（ＩＭＣＳ）２８４の潜在的に正確なバージョンとして識別される。訂正プロセッサ（ＣＯＲＲＰ）３１４は、中間文字ストリング（ＩＭＣＳ）２８４の訂正されたバージョンの文字と関連する中間信頼性レベル（ＩＣＬ）２８６から決定された最も高い総計としての信頼性レベルを有する中間文字ストリング（ＩＭＣＳ）２８４の訂正されたバージョンを、対応する手書き入力文字の正しい解釈として、受け入れ、ＴＨＥのようなその語を、出力ストリング（ＯＵＴＳ）３１０の中に、後の表示、記憶、印刷等のために、書き込む。
【０２２８】
図（ＬＰＰに関する図）を参照すると、訂正辞書（ＣＯＲＬＥＸ）３４０は、文字ツリー構造から構成されるものとして表されている。訂正プロセスは、スマッジ・テーブル（ＳＭＧ）３３６からのデータを用いて、可能性のある文字ストリングの置換を、すなわち、可能性のある訂正を、評価する。ストリングの置換は、訂正辞書（ＣＯＲＬＥＸ）３４０の中の語との関係で評価され、このツリー構造によって、訂正プロセッサ（ＣＯＲＲＰ）３１４が、一般的な語のサブストリングを同時に解析し訂正することが可能になる。特に、ツリーが文字ストリングの置換バージョンを用いて横断されるにつれて、すべての無効な経路は自動的に無効な訂正として排除されるが、他方で、すべての有効な経路は、可能性のある正しい訂正と考えられる。訂正プロセッサ（ＣＯＲＲＰ）３１４が、経路の終点に到達し、スマッジ・テーブル（ＳＭＧ）３３６によって指示された置換が行われると、語の訂正されたバージョンが、成功裏に訂正されたと考えられる。しかし、述べてきたように、このプロセスは、複数の可能性のある成功した訂正を結果的に生じることがあり、訂正プロセッサ（ＣＯＲＲＰ）３１４は、訂正されたバージョンと中間文字ストリング（ＩＭＣＳ）２８４の元のバージョンとの間の信頼性レベルや類似性の比較などの他の基準を用いて、最終的な結論に到達し得る。
【０２２９】
本発明は、特に、それによる装置及び方法の好適な実施例を参照して示され説明されてきたが、種々の変更や、改変や、形式、詳細及び構成の修正が、請求の範囲によって定義される本発明の技術的思想及び範囲から離れることなく行い得ることは、当業者には、明らかである。従って、本発明の技術的思想及び範囲の範囲内に含まれるものとして本発明のそのような改変や修正をすべてカバーすることが、請求の範囲の目的である。
【図面の簡単な説明】
【０２３０】
【図１】図１は、本発明が実現されているシステムのブロック図である。
【図２】図２は、本発明による文字認識システムの図解的な表現である。
【図３】図３は、セグメンテーション・プロセスの図解的な表現である。
【図４】図４は、文字ストロークのスケルタイズされた表現の図解である。
【図５】図５及び図６は、セグメンテーション、細字化、及びトランスクリプション・プロセスの図解である。
【図６】図５及び図６は、セグメンテーション、細字化、及びトランスクリプション・プロセスの図解である。
【図７】図７及び図８は、スケルタル・イメージ・アークとスケルタル・イメージ・アーク記述子との図解である。
【図８】図７及び図８は、スケルタル・イメージ・アークとスケルタル・イメージ・アーク記述子との図解である。
【図９】図９は、細字化プロセスにおけるピクセル構成の図解である。
【図１０】図１０は、ピクセル・インデクス・アレーの図解である。
【図１１】図１１は、細字化プロセスにおいて用いられるピクセル・アレーの図解である。
【図１２】図１２は、細字化プロセスにおいて用いられるピクセル・インデクス・アレーの図解である。
【図１３】図１３は、加速化された処理のためのピクセル・アレーの図解である。
【図１４】図１４は、細字化規則を定義するピクセル・アレーの図解である。
【図１５】図１５は、回転及び反射コードの図解である。
【図１６】図１６及び図１７は、拡張されたピクセル・アレーの図解である。
【図１７】図１６及び図１７は、拡張されたピクセル・アレーの図解である。
【図１８】図１８は、細字化規則テーブルを発生するプログラム・コマンドの図解である。
【図１９】図１９は、細字化ステップの入れ子状の反復（nested reiterations）を図解する例示的なコードを表す。
【図２０】図２０は、インデクス・アレーの図解である。
【図２１】図２１は、２×２のピクセル・アレーの図解である。
【図２２】図２２は、細字化規則のピクセル・パターンの図解である。
【図２３】図２３及び図２４は、細字化規則を図解するピクセル・パターンの図解である。
【図２４】図２３及び図２４は、細字化規則を図解するピクセル・パターンの図解である。
【図２５】図２５は、細字化プロセスを図解する疑似コードのリスト化である。
【図２６】図２６は、本発明による時間順序誘導プロセッサの図解的な表現である。
【図２７Ａ】図２７Ａは、本発明によるストローク記述子発生手段の図解的な表現である。
【図２７Ｂ】図２７Ｂは、ストローク記述子の図解的な表現である。
【図２８Ａ】図２８Ａ、図２８Ｂ、図２８Ｃ、及び図２８Ｄは、ストランディング（stranding）の図解的な表現である。
【図２８Ｂ】図２８Ａ、図２８Ｂ、図２８Ｃ、及び図２８Ｄは、ストランディング（stranding）の図解的な表現である。
【図２８Ｃ】図２８Ａ、図２８Ｂ、図２８Ｃ、及び図２８Ｄは、ストランディング（stranding）の図解的な表現である。
【図２８Ｄ】図２８Ａ、図２８Ｂ、図２８Ｃ、及び図２８Ｄは、ストランディング（stranding）の図解的な表現である。
【図２９】図２９は、低レベル認識プロセッサの図解的な表現である。
【図３０】図３０は、ストローク及びセグメント記述子の図解的な表現である。
【図３１】図３１は、ストローク特徴記述子の図解的な表現である。
【図３２】図３２は、ストローク表現発生手段、ストローク表現選択手段、及びストローク比率区別手段（proportion discriminator）の図解的な表現である。
【図３３】図３３は、理想的なプロトタイプ表現の図解的な表現である。
【図３４】図３４は、クラスタ認識プロセッサの図解的な表現である。
【図３５Ａ】図３５Ａ及び図３５Ｂは、言語的ポスト・プロセッサの図解的表現である。
【図３５Ｂ】図３５Ａ及び図３５Ｂは、言語的ポスト・プロセッサの図解的表現である。
【図３６Ａ】図３６Ａ、図３６Ｂ、及び図３６Ｃは、字句的なルックアップ・テーブルを含む規則的な、疎（sparse）な、及び多忙（busy）な文字のルックアップ・リストの図解的な表現である。
【図３６Ｂ】図３６Ａ、図３６Ｂ、及び図３６Ｃは、字句的なルックアップ・テーブルを含む規則的な、疎（sparse）な、及び多忙（busy）な文字のルックアップ・リストの図解的な表現である。
【図３６Ｃ】図３６Ａ、図３６Ｂ、及び図３６Ｃは、字句的なルックアップ・テーブルを含む規則的な、疎（sparse）な、及び多忙（busy）な文字のルックアップ・リストの図解的な表現である。
【図３７】図３７は、正確な字句的ツリー構造の図解的表現である。
【図１】
2006338687.tif 000003
【図２】
2006338687.tif 000004
【図３】
2006338687.tif 000005
【図４】
2006338687.tif 000006
【図５】
2006338687.tif 000007
【図６】
2006338687.tif 000008
【図７】
2006338687.tif 000009
【図８】
2006338687.tif 000010
【図９】
2006338687.tif 000011
【図１０】
2006338687.tif 000012
【図１１】
2006338687.tif 000013
【図１２】
2006338687.tif 000014
【図１３】
2006338687.tif 000015
【図１４】
2006338687.tif 000016
【図１５】
2006338687.tif 000017
【図１６】
2006338687.tif 000018
【図１７】
2006338687.tif 000019
【図１８】
2006338687.tif 000020
【図１９】
2006338687.tif 000021
【図２０】
2006338687.tif 000022
【図２１】
2006338687.tif 000023
【図２２】
2006338687.tif 000024
【図２３】
2006338687.tif 000025
【図２４】
2006338687.tif 000026
【図２５】
2006338687.tif 000027
【図２６】
2006338687.tif 000028
【図２７Ａ】
2006338687.tif 000029
【図２７Ｂ】
2006338687.tif 000030
【図２８Ａ】
2006338687.tif 000031
【図２８Ｂ】
2006338687.tif 000032
【図２８Ｃ】
2006338687.tif 000033
【図２８Ｄ】
2006338687.tif 000034
【図２９】
2006338687.tif 000035
【図３０】
2006338687.tif 000036
【図３１】
2006338687.tif 000037
【図３２】
2006338687.tif 000038
【図３３】
2006338687.tif 000039
【図３４】
2006338687.tif 000040
【図３５Ａ】
2006338687.tif 000041
【図３５Ｂ】
2006338687.tif 000042
【図３６Ａ】
2006338687.tif 000043
【図３６Ｂ】
2006338687.tif 000044
【図３６Ｃ】
2006338687.tif 000045
【図３７】
2006338687.tif 000046