(57)【要約】本発明による手書文字を認識するための方法は、手書文字を定義する複数の位置的特徴を決定するステップと、手書文字をデータベース内に格納されている複数の参照文字と、最も良く一致する参照文字を見つけるために比較するステップとを含む。この比較ステップは、手書文字の複数の位置的特徴の一つと複数の参照文字の一つの対応する位置的特徴との間の差を計算するステップと、こうして計算された差に基づいて、予め定義されたテーブルを検索することで、距離計量を決定するステップと、手書文字の複数の位置的特徴の各々に対して距離計量を決定するステップと、こうして決定された距離計量に基づいてコスト関数を計算するステップとを含む。この方法を実現するためのデバイス及びコンピュータプログラムについても開示される。
2004518198.tif 000002
【特許請求の範囲】
【請求項１】
手書文字を定義する複数の位置的特徴を決定するステップと、
手書文字を、最も良く一致する参照文字を見つけるために、データベース内に格納されている複数の参照文字と比較するステップとを含み、この比較ステップが：
手書文字の前記複数の位置的特徴の一つと複数の参照文字の一つの位置的特徴との間の差を計算するステップと、
前記計算された差に基づいて予め定義されたテーブルを検索することで距離計量を決定するステップと、
差を計算するステップと距離計量を決定するステップを手書文字の複数の位置的特徴の各々に対して反復するステップと、
こうして決定された距離計量に基づいてコスト関数を計算するステップと、を含むことを特徴とする手書文字を認識するための方法。
【請求項２】
各位置的特徴が少なくとも二つの特性によって定義され、前記手書文字の位置的特徴と参照文字の位置的特徴との間の差を計算するステップが手書文字の位置的特徴の各特性と参照文字の位置的特徴の対応する特性間の差を計算することから成ることを特徴とする請求項１記載の方法。
【請求項３】
各特性に対して差を計算するステップが単一の動作にて遂行される請求項２記載の方法。
【請求項４】
前記位置的特徴を決定するステップが格子内の位置的特徴の位置を決定するステップを含むことを特徴とする請求項１乃至３のいずれかに記載の方法。
【請求項５】
前記手書文字と参照文字の位置的特徴が比較点の座標から成ることを特徴とする請求項１乃至４のいずれかに記載の方法。
【請求項６】
前記位置的特徴を決定するステップが格子内の前記比較点のｘ座標とｙ座標を決定するステップを含むことを特徴とする請求項５記載の方法。
【請求項７】
前記格子のサイズが１６×１６位置から成り、一つの比較点の座標が１バイトのデータにて表現されることを特徴とする請求項６記載の方法。
【請求項８】
前記予め定義されたテーブルのテーブル検索から得られる距離計量が手書文字の比較点と参照文字の比較点間のユークリッド距離の関数から成ることを特徴とする請求項５乃至７のいずれかに記載の方法。
【請求項９】
手書文字と参照文字の位置的特徴が比較ベクトルの位置と方向から成ることを特徴とする請求項１乃至８のいずれかに記載の方法。
【請求項１０】
前記予め定義されたテーブルのテーブル検索から得られる距離計量が手書文字と参照文字の曲率間の差の関数から成ることを特徴とする請求項９記載の方法。
【請求項１１】
更に、手書文字を、手書文字の位置的特徴を決定するステップを遂行する前に、格子の中央に移動させるステップを含むことを特徴とする請求項４乃至１０のいずれかに記載の方法。
【請求項１２】
更に、手書文字を、手書文字の位置的特徴を決定するステップを遂行する前に、参照文字のサイズに従って正規化されたサイズにスケーリングするステップを含むことを特徴とする請求項１乃至１１のいずれかに記載の方法。
【請求項１３】
更に、手書文字を形成するストロークの数を決定するステップを含むことを特徴とする請求項１乃至１２のいずれかに記載の方法。
【請求項１４】
手書文字を参照文字と比較するステップが、最初に手書文字を同数のストロークから形成される参照文字と比較するステップを含むことを特徴とする請求項１３記載の方法。
【請求項１５】
前記比較ステップが更に手書文字を、その手書文字より少し少数のストロークから形成される参照文字と比較するステップを含むことを特徴とする請求項１３或いは１４記載の方法。
【請求項１６】
前記比較ステップが更に手書文字を、その手書文字より少し多数のストロークから形成される参照文字と比較するステップを含むことを特徴とする請求項１乃至１５のいずれかに記載の方法。
【請求項１７】
手書文字のストロークが参照文字の対応するストロークと比較され、これら対応するストロークが手書文字が書かれる順番に決定されることを特徴とする請求項１３乃至１７のいずれかに記載の方法。
【請求項１８】
更に、手書文字のストロークの順番を認識するステップを含むことを特徴とする請求項１７記載の方法。
【請求項１９】
手書文字を認識するため、及びこれをデジタル形式に変換するためのデバイスであって、
手書文字を定義する複数の位置的特徴を決定するための手段と、
複数の参照文字を含むデータベースと、
前記手書文字を、最も良く一致する参照文字を見つけるために、前記データベース内に格納されている複数の参照文字と比較するための手段とを含み、この比較のための手段が：
手書文字の複数の位置的特徴の一つと複数の参照文字の一つの位置的特徴との間の差を計算するための手段と、
距離計量を位置的特徴間の差に基づいて定義する予め定義されたテーブルと、
前記予め定義されたテーブルを検索することで、距離計量を決定するための手段と、
こうして決定された距離計量に基づいてコスト関数を計算するための手段と、を含むことを特徴とするデバイス。
【請求項２０】
位置的特徴がこれを定義する２つの特性を含み、これら特性が前記データベース内の一つのデータレジスタ内に格納されることを特徴とする請求項１９記載のデバイス。
【請求項２１】
文字を手書で書き込むように構成された感圧エリアと、この感圧エリア内に書かれた文字を認識し、これをデジタル形式に変換するための請求項１９記載のデバイスとを備えるデータ処理用の携帯デバイス。
【請求項２２】
手書文字を認識するためのコンピュータプログラムであって、
手書文字を定義する複数の位置的特徴を決定するためのコードと、
手書文字を、最も良く一致する参照文字を見つけるために、データベース内に格納されている複数の参照文字と比較するためのコードとを含み、この比較のためのコードが：
手書文字の複数の位置的特徴の一つと複数の参照文字の一つの位置的特徴との間の差を計算するためのコードと、
こうして計算された差に基づいて予め定義されたテーブルを検索することで距離計量を決定するためのコードと、
前記差を計算するステップと距離計量を計算するステップを手書文字の複数の位置的特徴の各々に対して反復するためのコードと、
こうして決定された距離計量に基づいてコスト関数を計算するためのコードと、を含むことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
技術分野
本発明は手書文字を認識するための方法に係る。
【０００２】
発明の背景
手書文字を認識することの必要性はますます高まっている。携帯データ処理デバイス、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ Ｄｉｄｉｔａｌ Ａｓｓｉｓｔａｎｔ）、移動電話或いは携帯コンピュータ等がますます普及しつつある。これら携帯デバイスにデータを入力するためには、テキスト入力ユニット（ｔｅｘｔ ｉｎｓｅｒｔｉｏｎ ｕｎｉｔ）が必要とされる。
【０００３】
テキスト入力ユニットは従来以からキーボードとして実現されてきた。ただし、このやり方では携帯デバイスのサイズの小型化に制約があり、このため、より小さなデバイスを実現するためにはデバイスにテキストを入力するための異なるやり方が必要とされる。
【０００４】
キーボードは現在ある種の手書テキストを認識するための手法にとって代られつつある。一般的なやり方としては、感圧エリア（ｐｒｅｓｓｕｒｅ−ｓｅｎｓｉｔｉｖｅ ａｒｅａ）が設けられ、ユーザはここに文字を書き込む。次にこれら文字が携帯デバイスによって翻訳及び処理される。勿論、通常の卓上コンピュータのキーボードの代りに用いることもできる。
【０００５】
このように、手書文字の認識は携帯デバイスにおける重要なタスクである。この認識は、通常、手書文字を携帯デバイス内のデータベースに格納された参照文字と比較することで遂行される。一つのこのような方法が米国特許第４，２８４，９７５号明細書において開示されている。
【０００６】
認識は、遅延によるユーザのイライラ感を避けるために高速であることを要求される。この要件は、ロゴグラフィックな文字（ｌｏｇｏｇｒａｐｈｉｃ ｗｒｉｔｉｎｇ ｓｙｓｔｅｍ）、例えば、漢字に対応するためには特に大変である。漢字（Ｃｈｉｎｅｓｅ ｗｒｉｔｉｎｇ ｓｙｓｔｅｍ）は高々２０，０００文字から成る。漢字の認識を遂行する際には、手書文字を非常に多数の参照文字と比較することが必要となるために、認識には多くの時間がかかる。
【０００７】
米国特許第４，２８４，９７５号明細書によると、手書文字上の点と参照文字上の点間の座標の差が計算される。これら差はこれら点間の距離計量（ｄｉｓｔａｎｃｅ ｍｅａｓｕｒｅ）を計算するために用いられる。
【０００８】
現在、この差は、少なくとも二つのステップにて計算される。点を定義する２つの特性（ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ）が異なるエリア内に格納される。異なるエリアに格納するのは、ある特性の値に、それが格納されているレジスタに参照することで、容易にアクセスできるようにするためである。次に、点の２つの特性を比較するために、２点間の差の計算が２回の減算にて遂行される。これらの減算においては、これら特性の値を保持するレジスタが直接に参照される。ただし、このやり方では、２つの特性が別個に格納されるために大量のメモリが必要とされる。もう一つの方法においては、これら２つの特性の値が、各点を別個に格納するために、圧縮される。この方法では要求されるメモリ量を低減することはできるが、ただし、点の特性を、特性間の差の計算を遂行する前に、伸張することを要求される。このため処理が遅くなる。
【０００９】
発明の概要
本発明の一つの目的は、手書文字を認識するためのより高速な方法を提供することにある。
【００１０】
本発明のこの目的は、手書文字を認識するための方法によって達成される。この方法は、手書文字を定義する複数の位置的特徴を決定するステップと、手書文字を、最も良く一致する参照文字を見つけるために、データベース内に格納されている複数の参照文字と比較するステップとを含む。この比較ステップは、手書文字の複数の位置的特徴の一つと複数の参照文字の一つの位置的特徴との間の差を計算するステップと、こうして計算された差に基づいて、予め定義されたテーブルを検索することで、距離計量を決定するステップとを含む。この比較ステップは、更に、この差を計算するステップと距離計量を決定するステップを、手書文字の複数の位置的特徴の各々に対して反復するステップと、こうして決定された距離計量に基づいてコスト関数を計算するステップとを含む。
【００１１】
この新規の方法は、手書文字を認識する方法を高速化するためには、手書文字と多量の参照文字との間で遂行されるべき比較動作が高速化される必要がという理解に基づく。比較のステップを高速化できれば、認識の方法全体がより高速化される。文字を比較するためのステップは、文字の複数の位置的特徴（ｐｏｓｉｔｉｏｎ ｆｅａｔｕｒｅｓ）を比較するステップから成る。本発明によると、位置的特徴の比較が非常に高速に遂行される。手書文字の位置的特徴を参照文字の位置的特徴と比較するステップは、位置的特徴間の距離計量を決定するためにテーブルを検索することから成る。このテーブルの検索は距離計量を実際に計算するより速い。このため、手書文字を参照文字と比較するための各動作が高速化され、位置的特徴を比較する速度を少し高速化することで、手書文字を認識するための方法全体の速度がかなり速くなる。
【００１２】
より具体的には、本発明によると、特徴点（ｆｅａｔｕｒｅ ｐｏｉｎｔ）間の離散距離（ｄｉｓｃｒｅｔｅ ｄｉｓｔａｎｃｅｓ）のみを測定することで、得られる異なる距離計量の数が制限される。本発明は、この手法を認識を高速化するために利用できるという洞察に基づく。本発明によると、こうして得られた異なる距離計量がテーブル内に格納される。このテーブルは、距離計量が、計算された差に基づいて、高速にアクセスできるようにされる。こうすることで、距離計量を計算によって決定する必要はなくなり、代りに、テーブルを検索することで、距離計量が得られることとなり、こうして、距離計量の決定を高速化することが可能となる。
【００１３】
認識の際に位置的特徴を決定するやり方は知られているために、認識を開始する前に、位置的特徴の可能な値を知ることができる。このため位置的特徴間の可能な距離計量も知ることができ、このため、認識を開始する前に、テーブルを計算し、格納しておくことができる。
【００１４】
位置的特徴は手書文字を定義する。好ましくは、位置的特徴は手書文字内の点及び／或いはベクトルから成る。ベクトルは、例えば、文字上の２点間の直線或いは文字の点内の導関数（ｄｅｒｉｖａｔｉｖｅ）を記述する。手書文字は、勿論、点とベクトルの任意の組合せによって定義することもできる。
【００１５】
距離計量は、手書文字の位置的特徴と参照文字の位置的特徴間の差の関数から成る。この関数は非常に複雑である必要はなく、距離関数は、テーブルの検索によって、実際に計算するよりも速く決定することができる。本発明との関連では、文字なる語句は、書かれる可能性のある任意のシンボルとして定義される。幾つかのケースにおいては、文字は、このようなシンボルの部分であることも、或いはこのようなシンボルの結合された構造であることもある。
【００１６】
好ましくは、各位置的特徴（ｐｏｓｉｔｉｏｎ ｆｅａｔｕｒｅ）は、少なくとも二つの特性（ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ）によって定義される。手書文字の位置的特徴と参照文字の位置的特徴間の差を計算するステップは、手書文字の位置的特徴の各特性と参照文字の位置的特徴の対応する特性間の差の計算から成る。一つの位置的特徴（ｐｏｓｉｔｉｏｎ ｆｅａｔｕｒｅ）を定義するためには、通常、二つの特性（ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ）、例えば、点に対するｘ座標とｙ座標、或いはベクトルに対するｘ方向とｙ方向が必要とされる。距離計量を決定するためには、両方の特性が距離計量に寄与するように、比較される位置的特徴に対する両方の特性の差が必要とされる。
【００１７】
本発明の一つの好ましい実施例によると、各特性に対して差を計算するステップは、単一の動作にて遂行される。本発明の方法によると、これら特性の差を計算するためには、各位置的特徴の特性が単一のレコード内に格納され、差を計算するためには、レコード内のどのビットが各特性を表すかについての知識が用いられる。こうして、位置的特徴が小さなメモリ空間内に格納されるが、距離計量を決定するステップの高速化に加えて、差を計算するステップも、位置的特徴の差の計算にはたった一つのマシンコード動作しか必要とされないために、非常に高速化することが可能となる。
【００１８】
好ましくは、位置的特徴を決定するステップは、格子内の位置的特徴の位置を決定するステップを含む。こうすることで、手書文字の位置的特徴を、参照文字の位置的特徴とより簡単に比較することが可能となる。
【００１９】
一つの好ましい実施例においては、手書文字と参照文字の位置的特徴は比較点の座標から成る。こうすることで、一致する参照文字を見つけるために、手書文字のある比較点を、参照文字の予め定義された比較点と比較することが可能となる。
【００２０】
好ましくは、位置的特徴を決定するステップは、格子内の比較点のｘ座標とｙ座標を決定するステップを含む。こうすることで、比較点の位置を２つの特性にて容易に記述することが可能となる。
【００２１】
一つの好ましい実施例においては、格子のサイズは１６×１６位置とされ、一つの比較点の座標は１バイトのデータにて表現される。この格子サイズは、漢字を曖昧さなしに表現するため、及び一つの比較点の位置を小量のメモリ空間内に格納するために最適である。
【００２２】
好ましくは、予め定義されたテーブルのテーブル検索から得られる距離計量は、手書文字の比較点と参照文字の比較点間のユークリッド距離の関数から成る。このユークリッド距離はｘ方向とｙ方向における差の等しく重み付けされた計量を与える。この関数はユークリッド距離の二乗とすることもでき、この場合は、入力される差が整数の場合は、整数の結果を与える。
【００２３】
もう一つの実施例においては、手書文字と参照文字の位置的特徴は、比較ベクトルの位置と方向から成る。比較ベクトルと比較点を組合せて、文字を定義することもできる。位置的特徴が比較ベクトルから成る場合は、手書文字のストロークの方向が、参照文字のストロークの方向を定義する参照文字の対応する比較ベクトルと比較される。
【００２４】
この実施例においては、予め定義されたテーブルのテーブル検索から得られる距離計量は、手書文字と参照文字の曲率間の差の関数から成る。このことはストロークの導関数（ｄｅｒｉｖａｔｉｖｅｓ）が比較されることを意味する。
【００２５】
好ましくは、この方法は、更に、手書文字を、手書文字の位置的特徴を決定するステップを遂行する前に、格子の中央に移動させるステップを含む。この結果として、手書文字の位置のずれ（ｔｒａｎｓｌａｔｉｏｎ）を考慮し、手書文字の位置を参照文字の位置に合わせることが可能となる。こうすることで、手書文字を、文字の入力が可能な任意の場所に書くことが可能となる。
【００２６】
好ましくは、この方法は、更に、手書文字を、手書文字の位置的特徴を決定するステップを遂行する前に、参照文字のサイズに従って正規化されたサイズにスケーリングするステップを含む。こうすることで、手書文字のサイズは、認識のためにはあまり重要でなくなる。
【００２７】
一つの好ましい実施例においては、この方法は、更に、手書文字を形成するストロークの数を決定するステップを含む。これは、手書文字を個々の全ての参照文字と比較する必要性を回避するために、文字を分類するための一つのやり方である。
【００２８】
好ましくは、手書文字と参照文字とを比較するステップは、最初に手書文字を同数のストロークから形成される参照文字と比較するステップを含む。この結果、手書文字は、最初に最も良く一致する参照文字である可能性が最も高い参照文字と比較されることとなる。
【００２９】
加えて、比較ステップは、好ましくは、更に、手書文字を、ストロークの誤った併合を考慮するために、その手書文字より少し少数のストロークから形成される参照文字と比較するステップを含む。書く人がペンを持ち上げるべきときに持ち上げないために、２つのストロークが併合されることはしばしば見かけられる。この構成を用いることで、たとえ書く人が２つのストロークを誤って併合した場合でも、正しい最も良く一致する参照文字を見つけることが可能となる。
【００３０】
さらに、比較ステップは、好ましくは、手書文字を、ペンが誤って持ち上げられた場合を考慮するために、その手書文字より少し多数のストロークから形成される参照文字と比較するステップを含む。この構成を用いることで、たとえ書く人が１つのストロークの途中で誤ってペンを上げた場合でも、参照文字を見つけることが可能となる。
【００３１】
もう一つの好ましい実施例においては、手書文字のあるストロークが参照文字の対応するストロークと比較され、これら対応するストロークは、その手書文字のストロークが書かれる順番に決定される。こうすることで、参照文字の対応する位置的特徴を、それと対応する手書文字の位置的特徴と容易に関連付けることができる。このやり方は、とりわけ、ストロークの書順が決まっている漢字に有効である。漢字に慣れた人なら、文字を誤った書順で書くことはめったにないためである。
【００３２】
好ましくは、この方法は、更に、ストロークの書順の誤りを考慮するために、手書文字のストロークの順番を認識するステップを含む。こうすることで、書く人がその文字のストロークを誤って書いた場合でも、正しい最も良く一致する参照文字を見つけることが可能となる。
【００３３】
一つの好ましい実施例においては、この方法は、更に、手書文字の傾きを補償するために手書文字のアフィン変換を計算し、その後、変換された文字をデータベースの参照文字と比較するステップを含む。こうすることで、書く人が傾いた文字を書いた場合でも、正しい最も良く一致する参照文字を見つけることが可能となる。
【００３４】
更に、本発明の目的は、手書文字を認識するため、及びこれをデジタル形式に変換するためのデバイスによっても達成される。このデバイスは、手書文字を定義する複数の位置的特徴を決定するための手段と、複数の参照文字を含むデータベースと、手書文字を、このデータベース内に格納されている複数の参照文字と、最も良く一致する参照文字を見つけるために比較するための手段とを含む。この比較のための手段は、手書文字の複数の位置的特徴の一つと複数の参照文字の一つの位置的特徴間の差を計算するための手段と、位置的特徴間の差に基づいて距離計量を定義する予め定義されたテーブルとを含む。この比較のための手段は、更に、この予め定義されたテーブルを検索することで距離計量を決定するための手段と、こうして決定された距離計量に基づいてコスト関数を計算するための手段とを含む。
【００３５】
このデバイスはテキストをデータ処理デバイスに入力するために用い、キーボード代りに、或いはこれを補完するために用いることもできる。本発明によると、テーブルの検索のために手書文字の認識が非常に高速化され、長い待ち時間によるイライラ感が解消される。
【００３６】
本発明の目的は、更に、請求項２２記載のコンピュータプログラムによっても達成される。
【００３７】
以下では、本発明を、単に例示として、添付の図面を用いてより詳細に説明する。
【００３８】
【発明の実施の形態】
図１は、格子３内に書かれた手書文字１（太い灰色の線）と参照文字２（細い黒色の線）とを示す。手書文字１は複数のストローク４から成る。格子３内への書き込みの際の各ストローク４の始点５と終点６の位置がマークされる。これらストロークの始点５と終点６が、好ましくは、手書文字１の位置的特徴（ｐｏｓｉｔｉｏｎ ｆｅａｔｕｒｅｓ）として用いられる。格子３内のこれらのｘ座標とｙ座標によって、これらの位置的特徴が定義される。勿論、他の座標系、例えば、極座標系を用いることもできる。手書文字１の追加の位置的特徴として、各ストローク４の始点５から終点６へのベクトルや、ストローク４上の始点５と終点６との間の追加の点を用いることもできる。手書文字１と参照文字２との比較は、後に詳細に説明するように、手書文字１のこれら位置的特徴を参照文字２の位置的特徴と比較することで行なわれる。
【００３９】
以下では、図２から図６との関連で、手書文字を認識するための一つの好ましい方法について説明する。以下の説明においては、文字は、感圧エリア（ｐｒｅｓｓｕｒｅ−ｓｅｎｓｉｔｉｖｅ）上に書かれ、文字の認識は即座に遂行されるものと想定される。ただし、後に指摘するように、この方法を紙に書かれた手書文字に適用し、その後、これを走査し、デジタル形式に変換することもできる。
【００４０】
図２は、ユーザの手書による文字の入力動作を示す。ステップ１０において、文字が、認識及びデジタル形式への変換のために、手書きにて感圧エリア上に書かれる。この感圧エリアは、データ処理デバイス、例えば、コンピュータ、ＰＤＡ或いは移動電話に接続された入力ユニットから成る。ユーザは、この感圧エリア上に、文字を、以降ここではペンと呼ばれる先の尖った物を用いてこのエリアに圧力を加えることで書き込む。文字は、少なくとも１ストローク、すなわち、ペンを持ち上げることなく書かれた一つの線を含む。ユーザは、文字を形成するこれらストロークを書く。一つの文字全体の入力を終えると、ユーザは、ステップ１２において、このことをデータ処理デバイスに伝え、すると、データ処理デバイスは、最も良く一致する文字（ｃｌｏｓｅｓｔ ｍａｔｃｈｉｎｇ ｃｈａｒａｃｔｅｒ）を見つけるために、手書文字と参照文字とを比較する。一つの文字全体の入力が完了したことをデータ処理デバイスに認識させるためには、他のやり方も考えられ、例えば、ユーザがなにもしない時間の経過からこれを知ることもできる。次に、ステップ１４において、この最も良く一致する文字が、正しい文字が表示されたか否か答えてもらうためにユーザに対して表示される。ユーザは、こうして示された文字を、ステップ１６において受理し、或いはステップ１８において拒否する。
【００４１】
次に、図３との関連で、手書文字のデータ処理についてより詳細に説明する。ステップ２０において手書文字が入力されると、ステップ２２において、その手書文字を定義するために、その手書文字上の複数の点がサンプリングされる。これら点は、好ましくは、格子内のそれらのｘ座標とｙ座標として決定される。これらの点は、後に、手書文字を参照文字と比較するために用いられる。ステップ２２におけるサンプリング過程の後に、入力された文字は、手書文字の位置やサイズを訂正するために前処理される。
【００４２】
この前処理は、手書文字を格子の中央に移動するステップ２４と、手書文字を、正規化されたサイズにスケーリングするステップ２６とから成る。これらステップ２４乃至２６は、以下のように遂行される。最初に、全てのサンプリング点のｘ座標とｙ座標のそれぞれの平均値が決定される。次に、これらｘ座標とｙ座標のそれぞれの平均値がサンプリングされた点の座標から引かれ、こうして手書文字の重心が移動される。その後、サンプリングされた点から重心までの距離の標準偏差が正規化される。このサイズは参照文字のサイズに対応する。最後に、手書文字が格子の中央に移動される。サンプリング点の決定は、好ましくは、手書文字を参照文字と比較する過程の際に用いられる解像度より高い解像度にて行なわれる。このため、文字のスケーリングには解像度の変換も含まれ、このためにはｘ−座標とｙ−座標の値がこれら解像度間の比にて割られる。
【００４３】
手書文字は複数のストローク、すなわち、ペンを持ち上げることなく引かれた複数の線から成る。各ストロークがサンプリングされ、位置的特徴が決定される。一つのやり方においては、このサンプリングでは、所定の間隔にて位置的特徴が検出され、その時点におけるペンの位置からその位置的特徴が決定される。別のやり方においては、ストロークの始点と終点を決定され、ストローク上のどの点が始点と終点との間に引かれた直線から最も大きくずれるかを計算することで追加の位置が決定される。同様なやり方にてさらなる追加の点を決定することもできる。手書文字の位置的特徴には、サンプリング点の座標を用いることもできる。別のやり方として、２つの隣接するサンプリング点間の方向ベクトルを用いることも、或いは２つの隣接する方向ベクトル間の方向の差を定義する曲率ベクトル（ｃｕｒｖａｔｕｒｅ ｖｅｃｔｏｒ）を用いることもできる。
【００４４】
これらストロークがそれらが書かれた順にリストされる。次に、手書文字の第一のストロークが参照文字内の第一のストロークと比較され、これが繰返される。これは、とりわけ、漢字に適する。これは、ストロークの順番（書順）が決まっているためである。ただし、ストロークが誤った順番にて書かれる場合もあり、これは、例えば、ストロークの順番を再度シャフリング（ｒｅｓｈｕｆｆｌｉｎｇ）することで考慮される。このリシャフリングを遂行するためには、手書文字の各ストロークが参照文字の各ストロークと比較され、どのストロークが手書文字の各ストロークと最も良く一致するか決定される。
【００４５】
手書文字は複数の位置的特徴によって表される。これら位置的特徴は、例えば、サンプリング点の座標、方向ベクトル、曲率ベクトル或いはこれらの任意の組合せから成る。手書文字の位置的特徴を参照文字の位置的特徴と比較することで最も良く一致する参照文字が見つけられる。参照文字の位置的特徴は予め定義されており、手書文字から抽出された位置的特徴（ｐｏｓｉｔｉｏｎ ｆｅａｔｕｒｅｓ）と同一の特性（ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ）を表す。ただし、手書文字の個々の全ての位置的特徴に対して対応する位置的特徴が存在することは限らない。例えば、参照文字の一つの位置的特徴が、手書文字の二つ或いはそれ以上の位置的特徴との比較に用いられることも、或いはこの逆も考えられる。ストロークの比較には、異なる数の位置的特徴を正しく定義することが必要となる。例えば、手書文字の３つの位置的特徴が参照文字の４つの位置的特徴と比較されることもある。この場合は、参照文字のどの位置的特徴が手書文字のこれら位置的特徴と対応するかを決定することが必要となる。このためには、参照文字の対応する位置的特徴として、手書文字の位置的特徴との差が最も少ない参照文字の３つの位置的特徴が選択される。逆に、手書文字の一つの位置的特徴が参照文字の２つの対応する位置的特徴と比較されることもあり、この一つの位置的特徴に対して２つの距離計量（ｄｉｓｔａｎｃｅ ｍｅａｓｕｒｅｓ）が計算されることもある。
【００４６】
一つの好ましい実施例においては、これら位置的特徴は文字の比較点（ｃｏｍｐａｒｉｓｏｎ ｐｏｉｎｔｓ）から成る。格子内の比較点の位置がそのｘ座標とｙ座標によって決定される。この格子は、好ましくは、１６×１６の方形から成り、こうしてある比較点は、それぞれ、ｘ座標とｙ座標に対して４ビットが必要とされるため、１バイトのデータにて表される。
【００４７】
次に、図４との関連で、手書文字と参照文字との比較についてより詳細に説明する。参照文字はデータ処理デバイス内のデータベース内にそれらの対応する位置的特徴の情報として格納される。手書文字の各比較点が参照文字の対応する比較点と比較される。これを達成するために、ステップ３０において、比較点間の差が計算される。つまり、参照文字の対応する比較点のｘ座標とｙ座標の値が、手書文字の比較点のｘ座標とｙ座標の値から引かれ、次に、ステップ３２において、これら差を入力として用いることで、予め定義されたテーブル内の距離計量が検索される。この距離計量としては、
ｆ（ｘａ−ｘｂ）＋ｇ（ｙａ−ｙｂ）
なる形式の任意の関数を用いることができる。ここで、ｆとｇは関数を表し、（ｘａ、ｙａ）は手書文字の比較点を表し、（ｘｂ、ｙｂ）は参照文字の対応する比較点を表す。代りに、特徴（ｘａ、ｙａ）と（ｘｂ、ｙｂ）は、勿論、方向ベクトル或いは曲率ベクトルを表すこともできる。
【００４８】
この好ましい実施例においては、このテーブルは、距離計量をこれら点間のユークリッド距離の二乗として定義する。つまり、このテーブルは、
（ｘａ−ｘｂ）２＋（ｙａ−ｙｂ）２
の結果を与える。
【００４９】
これは、全ての距離に対して正の値を与え、さらに、これら２つの差が整数である場合は整数の結果を与える。
【００５０】
比較点の座標（ｘａ、ｙａ）は、１バイトのデータ内に格納される。ｘ座標は第一のニブル（ｎｙｂｂｌｅ）、つまり、最初の４つのビット内に格納され、ｙ座標は続くニブル内に格納される。これらの差（ｘａ−ｘｂ）と（ｙａ−ｙｂ）は、ｘ座標値とｙ座標値の格納位置が知られているために一つの動作にて同時に計算することができる。これら差（ｘａ−ｘｂ）と（ｙａ−ｙｂ）は、９ビットにて表され、予め定義されたテーブルへの入力として用いられる。最初のニブル、つまり、最初の４つのビットは差（ｘａ−ｘｂ）を表し、続くニブルは差（ｙａ−ｙｂ）を表す。９番目のビットは桁上げビット（ｃａｒｒｙ ｂｉｔ）であり、ｙ座標の差が負であるか否かを示す。ｘ座標については、８個のｘ‐刻み（ｔｉｃｋｓ）より大きな差は決して発生しないものと想定される。従って、最初のニブルは区間［−７，８］を表すものと解される。引算は単に８ビットの（ｘａ、ｙａ）から（ｘｂ、ｙｂ）を引くことで遂行される。４つの最下位ビットの差、つまり、（ｘａ−ｘｂ）が負である場合は、これは（ｙａ−ｙｂ）の差に影響を及ぼす。この場合は、４つの続くビットは（ｙａ−ｙｂ）−１となり、このことが予め定義されたテーブル内で考慮される。勿論、ｘ座標とｙ座標との間に空ビット（ｅｍｐｔｙ ｂｉｔ）を置くこともでき、この場合は、これが（ｘａ−ｘｂ）が負の値となったときの桁上げビット（ｃａｒｒｙ ｂｉｔ）として機能する。ただし、この好ましい実施例によると、８個のｘ‐刻みより大きな差が発生した場合に、（ｙａ−ｙｂ）に発生するエラーは、あまり重大ではないものとみなされる。これは、万一８個のｘ‐刻みより大きなこの差が発生した場合でも、比較されている文字はあまりにも異なるため、その参照文字が最も良く一致する文字として解釈されることはあり得ないためである。この予め定義されたテーブルは、１６×３２＝５１２の要素から成る。ただし、代替として、ｙ座標の桁上げビットも無視することもでき、この場合は、このテーブルはたった２５６個の要素から成ることとなる。
【００５１】
１６×１６格子が用いられる場合は、全ての点が互いに高々８個のｘ‐刻みだけ離れることは保証されない。ただし、漢字のストロークは多くの場合左から右に、或いは下方に向かって書かれるため、混乱の恐れはほとんどない。代替として、８×８格子を用いることもできる。この場合は各座標を表現するためにたった３ビットのみが必要となる。こうして得られる解像度は漢字には粗すぎるが、他の用途に用いることも考えられる。
【００５２】
テーブルの検索の結果として、距離計量の結果が返される。ステップ３０と３２における距離計量の決定が、ステップ３４において、手書文字の全ての位置的特徴に対して反復される。次に、ステップ３６において、参照文字と手書文字との類似度（ｒｅｓｅｍｂｌａｎｃｅ）を定義するコスト関数が計算される。このコスト関数は、例えば、全ての決定された距離計量の総和とされる。次に、ステップ３８において、その参照文字に対するコスト関数の結果が、それまで比較された参照文字の内で最も低いものであるか知るためのチェックが行なわれる。その結果がそれまでの最小である場合は、それが格納され、ステップ４０において、その参照文字が、それまでの内で最も良く一致する参照文字であるものと定義される。
【００５３】
ある参照文字の決定された距離計量の総和が、それまでの内で最も良く一致する参照文字の総和を超える場合は、その参照文字に対して全ての距離計量を決定する前に、比較は中断される。この場合は、その参照文字は、全ての距離計量を決定する前に、距離計量の総和が既に高すぎるために、拒否される。
【００５４】
ステップ３０乃至３８の比較が全ての参照文字に対して反復される。手書文字が全ての参照文字に対して比較された時点でそれまでの内で最も良く一致する参照文字として格納された参照文字が、最も良く一致する参照文字とみなされる。次に、図２との関連で上で説明したように、この最も良く一致する参照文字が表示され、ユーザは手書文字が正しく認識されたかチェックする。
【００５５】
次に、図５との関連で、正しい文字である可能性が最も高い参照文字を知能的に選択する方法について示す。データベース内の参照文字がそれが含むストロークの数に基づいてグループ化される。次に、ステップ５０において、手書文字が同数のストロークから成る参照文字と比較される。こうして最初に参照文字の小さな部分が最も良く一致する文字である可能性が最も高いものとして定義される。
【００５６】
ただし、ユーザが文字を書くとき２つのストロークが誤って一つに併合されたり、或いはユーザが一つのストロークの中間でペンを上げることで単一のストロークが２つに分割されることがある。このため、手書文字を、少し異なるストローク数（画数）を有する参照文字と比較することが必要となる。手書文字内のストロークの位置が調べられる。ステップ５２において、あるストロークの端点が他のストロークの始点に近接するペアのストロークが併合され、その後、ステップ５４において、その手書文字が、その手書文字内の新たなストローク数に対応するストローク数を有する参照文字と比較される。ストロークが様々な異なるやり方にて併合され、対応するストローク数を有する参照文字と比較される。
【００５７】
さらに、あるストロークは、ステップ５６に示すように、分割することもできる。このためには分割点（ｂｒｅａｋｐｏｉｎｔ）が設定され、この分割点の両側のストロークの２つの部分が、２つの別個のストロークとして定義される。次に、手書文字が、ステップ５８において、その手書文字内の新たなストローク数に対応するストローク数を有する参照文字と比較される。このストロークの併合と分割が、ある正しく書かれた文字を見つけるために、数回、異なる組み合わせにて反復される。
【００５８】
こうして、参照文字の大部分は、それらが手書文字のストローク数とかけ離れたストローク数を有するために手書文字と一度も比較されない。
【００５９】
さらに手書文字は、図６との関連で説明されるように、誤った傾き（ｅｒｒｏｎｅｏｕｓ ｓｌａｎｔ）を有することもある。この場合は、一致する正しい参照文字を見つけるためには、最初に、ステップ６０において、手書文字がアフィン変換される。次に、ステップ６２において、手書文字に対して、アフィン変換の不変量（ｉｎｖａｒｉａｎｔ）が計算される。この不変量は、手書文字を参照文字と比較するために用いられる。次に、ステップ６４において、この不変量と参照文字間のクロス乗積（ｃｒｏｓｓ ｐｒｏｄｕｃｔ）が計算される。２つの文字が同一である場合は、それらは同一の空間を占め、このためクロス乗積の内積（ｉｎｔｅｒｎａｌ ｃｒｏｓｓ ｐｒｏｄｕｃｔ）は零となる。この不変量と参照文字間のクロス乗積は、テーブルを検索することで決定される。
【００６０】
上から分かるように、多数の比較を遂行することが必要となる。手書文字は多くの異なる参照文字と比較することを必要とされる。更に、手書文字は少し誤って書かれることもある。これを補完するためには、手書文字について幾つかの変換（ストロークの併合、ストロークの分割、アフィン変換）を施し、これら変換から得られる新たな文字を参照文字と比較することが必要となる。このため文字間の比較を高速化することは非常に重要である。この高速化は本発明によると、テーブルの検索により距離計量を決定することで達成される。
【００６１】
上の説明では、本質的に文字はディスプレイ上に書かれ、書かれるのと同時に検出された。ただし、代りに、文字は、例えば、紙面に書かれた後、例えば、スキャンによって検出することもできる。この文字は、手書であっても、活字であっても構わない。この場合は、検出は、ディスプレイ上への書き込みを認識する動作の代りに、紙面から文字を読み込む（スキャニングする）動作から成る。次に、こうして読み込まれた文字の位置的特徴の検出及び認識が上述のようなやり方にて遂行される。
【００６２】
次に、図７との関連で、本発明によるデバイスについて説明する。データ処理デバイス１００、例えば、コンピュータ、ＰＤＡ、移動電話、スキャナ等は、手書きにてテクストを入力するためのテキスト入力ユニット１０２を備える。データ処理デバイス１００は、入力されたテキストを検出するための手段１０４を含む。検出のための手段１０４は、手書文字の位置的特徴を決定する。
【００６３】
データ処理デバイス１００は、データベース１０６を含むか、或いは少なくともこれへのアクセスを有する。データベースは、参照文字と、これらの外観の表現をを備える。データ処理デバイス１００は、更に、検出された手書文字を上述の方法に従ってデータベース内の参照文字を比較するための手段１０８を含む。
【００６４】
比較のための手段１０８は、手書文字の比較を、文字の入力／読込みと同時に開始することもできる。代りに、比較は、ユーザからの文字全体が入力されたことの指標に応答して開始することもできる。
【００６５】
比較のための手段１０８は、手書文字と最も良く一致する参照文字を返す。データ処理デバイス１００はこの最も良く一致する文字をディスプレイ１１０上に表示した時点で、新たな文字を認識する準備が整う。
【００６６】
最も良く一致する文字が表示されると、ユーザは手書文字が正しく認識されたかチェックすることを求められる。ユーザがその最も良く一致する文字を拒否すると、データ処理デバイス１００は、第二番目に良く一致する文字を表示する。代りに、ユーザにその文字を再入力することを求めることもできる。
【００６７】
データ処理デバイス１００は、もう一つの代替としてユーザに受理／拒否を尋ねることなく、文字を認識することもできる。この場合は、例えば、入力されたテキストのスペルと文法が正しいかチェックされ、誤りがユーザに表示される。次に、ユーザは、テキストをプルーフリードし、誤って解釈された文字を訂正する。
【００６８】
上で説明された好ましい実施態様は制限を意図するものではなく、クレームに記載される保護の範囲内で他の多くの形態も考えられることに注意する。例えば、格子は、他のサイズ、例えば、８×８或いは３２×３２とすることも、更には１６×８等の非対称なサイズとすることもできる。ただし、格子のサイズは、ｘ座標とｙ座標が二進数にて表現されるために、２のべき乗であることが望ましい。こうして、例えば、一つの座標を表すために３或いは５ビットを用いることもできる。
【図面の簡単な説明】
【図１】
手書文字と、比較用の参照文字とを示す。
【図２】
ユーザと、本発明による方法を実現するデバイスとの対話の流れ図である。
【図３】
実際の認識を遂行する前の手書文字の前処理の流れ図である。
【図４】
手書文字を参照文字と比較する過程の流れ図である。
【図５】
手書文字を参照文字と比較する順番を記述する流れ図である。
【図６】
手書文字のアフィン変換を参照文字と比較する過程の流れ図である。
【図７】
本発明による方法を実現するデバイスを示す。
【符号の説明】
１  手書文字（太い灰色の線）
２  参照文字（細い黒色の線）
３  格子
４  ストローク
５  ストロークの始点
６  終点
１００  データ処理デバイス
１０２  テキスト入力ユニット
１０４  検出手段
１０６  データベース
１０８  比較手段
【図２】
2004518198.tif 000003
【図３】
2004518198.tif 000004
【図４】
2004518198.tif 000005
【図５】
2004518198.tif 000006
【図６】
2004518198.tif 000007
【図７】
2004518198.tif 000008
【国際公開パンフレット】
2004518198.tif 000009
2004518198.tif 000010
2004518198.tif 000011
2004518198.tif 000012
2004518198.tif 000013
2004518198.tif 000014
2004518198.tif 000015
2004518198.tif 000016
2004518198.tif 000017
2004518198.tif 000018
2004518198.tif 000019
2004518198.tif 000020
2004518198.tif 000021
2004518198.tif 000022
2004518198.tif 000023
2004518198.tif 000024
2004518198.tif 000025
2004518198.tif 000026
2004518198.tif 000027
2004518198.tif 000028
2004518198.tif 000029
2004518198.tif 000030
2004518198.tif 000031
2004518198.tif 000032
2004518198.tif 000033
2004518198.tif 000034
2004518198.tif 000035
2004518198.tif 000036
2004518198.tif 000037
2004518198.tif 000038
2004518198.tif 000039
2004518198.tif 000040
2004518198.tif 000041
2004518198.tif 000042
【国際調査報告】
2004518198.tif 000043
2004518198.tif 000044
2004518198.tif 000045