(57)【特許請求の範囲】
【請求項１】
入力された手書き文字の各ストロークの特徴を抽出する抽出手段と、
上記各ストロークの端点間の方向を判別する判別手段と、
上記端点間の方向と、基準となる複数の方向それぞれとの方向差に基づき評価値を算出する評価値算出手段と
上記評価値を基に、予め設定された文字の認識辞書の値との類似度を決定する類似度決定手段と
を備え、
上記類似度決定手段は、上記端点間の距離が所定の距離より大きい場合には、上記評価値を類似度とし、上記端点間の距離が所定の距離より小さい場合には、上記評価値と、所定の値との大きいほうの値を類似度とする
ことを特徴とする手書き文字認識装置。
【請求項２】
入力された手書き文字の各ストロークの特徴を抽出する抽出手段と、
上記各ストロークの端点間の方向を判別する判別手段と、
上記端点間の方向と、基準となる複数の方向それぞれとの方向差に基づき評価値を算出する評価値算出手段と
上記評価値を基に、予め設定された文字の認識辞書の値との類似度を決定する類似度決定手段と
を備え、
上記類似度決定手段は、上記端点間のベクトルの、原点から一方の端点の方向の射影をｘ、それに直交する方向の射影をｙとして、
類似度＝〔√｛（ｘ＋２ｄ）2 ＋ｙ2 ｝−√（ｘ2 ＋ｙ2 ）＋α〕×β
但し、ｄ、α、βは定数
の演算式で上記類似度を求める
ことを特徴とする手書き文字認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば携帯型の情報端末装置に使用して好適な手書き文字認識装置に関するものである。
【０００２】
【従来の技術】
例えば携帯型の情報端末装置においては、液晶ディスプレイ等による表示装置の表面に透明タッチパネル状の入力装置を設けて、いわゆる手書きで情報等の入力を行うことができるようにした装置が実施されている。このような装置において、手書きの文字等を認識する手段として、例えば特願平６−８１２３９号に示されるような装置が提案されている。
【０００３】
すなわちこの先願の装置においては、上述の入力装置にペンが降されて（ペンダウン）から、ペンが離される（ペンアップ）までの筆跡を時系列で検出し、この１回の入力（ストローク）ごとに予め設定されたストロークの辞書との類似度を評価して入力されたストロークの形状を認識すると共に、入力された前後のストロークの各端点間の方向を判別し、これらの方向と認識されたストロークの組み合わせで、入力された文字の認識を行うものである。
【０００４】
従ってこの先願の装置によれば、認識が入力されたストロークごとに行われ、このストロークはそれぞれが文字の１画に相当して、その種類が比較的少数であると共にその形も単純であるので、これらのストロークの認識のための辞書の規模を小さくすることができ、全体の装置の規模を小さくできると共に、認識のための演算等の処理時間も短くすることができる。これにより例えば上述の入力装置に手書き入力される文字を、略実時間で認識することができるものである。
【０００５】
ところがこのような手書き文字の認識の中で、上述のように前後のストロークの各端点間の方向の判別を行っている場合に、入力が急いで行われたり、文字が小さく書かれたりすると、筆跡に大きな押さえやはね等が発生して、認識に誤りを生じる恐れがある。
【０００６】
すなわちこのような手書き文字の認識において、例えば図１２のような「竹」の文字の入力が行われた場合に、２画目のストロークの終点で○の中に拡大して示すようにはねが生じると、本来は２画目のストロークの終点から３画目のストロークの始点の方向は略左向きであるべきものが、破線の矢印のように上向きになってしまう場合がある。従ってこのような判別では、方向が一致しないために正しい文字が排除され、誤った文字の認識が行われてしまう恐れがある。
【０００７】
【発明が解決しようとする課題】
この出願はこのような点に鑑みて成されたものであって、解決しようとする問題点は、前後のストロークの各端点間の方向の判別を行っている場合に、従来の方法では、筆跡に大きな押さえやはね等が発生すると、認識に誤りを生じる恐れがあったというものである。
【０００８】
【課題を解決するための手段】
このため本発明においては、入力された各ストロークの端点間の距離が小さいときには、判別された各ストロークの端点間の方向と認識辞書の値との類似度の演算を緩和するようにしたものであって、これによれば、筆跡に大きな押さえやはね等が発生したときにも、誤りなく認識を行うことができる。
【０００９】
【発明の実施の形態】
すなわち本発明においては、入力された手書き文字の各ストロークの特徴を抽出し、各ストロークの端点間の方向を判別し、端点間の方向と、基準となる複数の方向それぞれとの方向差に基づき評価値を算出し、評価値を基に、予め設定された文字の認識辞書の値との類似度を決定すると共に、類似度の決定は、端点間の距離が所定の距離より大きい場合には、評価値を類似度とし、端点間の距離が所定の距離より小さい場合には、評価値と所定の値との大きいほうの値を類似度とするか、所定の演算式で求めるものである。
【００１０】
以下、図面を参照して本発明を説明するに、図１は本発明による手書き文字認識方法を実現するための手書き文字認識装置の一例の構成を示すブロック図である。この図１において、上述の例えばタッチパネル状の手書き文字入力装置１が設けられ、この入力装置１から入力される手書き文字の筆跡のデータが特徴抽出装置２に供給される。
【００１１】
すなわち手書き文字の入力を行う場合には、例えば入力装置１の裏面側に設けられる表示装置（図示せず）に、例えば図２に示すような手書き文字の入力のための図形が表示される。そしてこの図形の中の、例えば入力枠２１に対応する入力装置１の部分に対してペン２２がペンダウンされ、任意のストロークが記入される。これによってこの入力装置１からは、ペン２２の置かれている座標データとペン２２のアップ／ダウンの情報が特徴抽出装置２に供給される。
【００１２】
従って特徴抽出装置２では、例えば上述の入力装置１でペン２２がアップされたことを示す信号によってストロークの特徴抽出の処理が開始される。そして例えば連続する座標データの作るストロークの形状と、任意の基本ストロークの辞書（図示せず）からのデータとが比較されて、入力されたストロークと基本ストロークとの形状の類似度が計測される。
【００１３】
なお、形状の類似度の計測は、例えば特開平２−５３１９３号公報に示されるように周知の技術であり、また本願の発明とは直接関係しないので詳細な説明は省略する。また以下の説明では、基本ストロークは、例えば次の表１に示す４種類（コード００〜０３）について述べるが、上記の公報のようにこれ以外の基本ストロークを用いることもできる。
【００１４】
【表１】
0003763151.tif 000002
【００１５】
そしてさらに特徴抽出装置２では、２画目以降のストロークについて、前後のストロークとの各端点間の方向が判別される。すなわち例えば上述の入力装置１でペン２２がアップからダウンに変化された地点の座標がストロークの始点であり、ダウンからアップに変化された地点の座標がストロークの終点である。
【００１６】
そこでこれらのペン２２のアップ／ダウンの変化された座標を検出し、例えば前後のストロークの始点と始点、始点と終点、終点と始点、終点と終点の間で、それぞれ方向の判別が行われる。なお判別された方向は、例えば図３に示すような１６方向に量子化された方向コード（０〜Ｆ）で示される。
【００１７】
さらにこの判別された方向コードに対して、上述の１６方向との方向差に基づいて各方向ごとの評価値（方向グレード）が計算される。すなわちこの方向グレードは、通常は例えば上述の０〜Ｆの各方向ごとに、上述の方向コードとの方向差に基づいて、例えば次の表２に示すようなテーブルに従って求められる。
【００１８】
【表２】
0003763151.tif 000003
【００１９】
しかしながらこのような方向グレードを求める場合に、例えば上述の図１２に示すように端点間の方向が不安定な場合には、このテーブルのみでは求められる方向グレードの変動が大きく、認識率の低下や認識不能の原因にもなる。一方、端点間の方向は、端点間の距離が小さいほど押さえやはねの影響を受け易く、不安定になりやすいものである。
【００２０】
そこで本発明においては、上述の端点間の距離を求めて、この距離が所定の距離Ｄ（例えば０．２ｍｍ）より大きいときは例えば上述の表２のテーブルで方向グレードを求めるものの、端点間の距離が所定の距離Ｄより小さいときは、表２のテーブルで求められる方向グレードと、例えば６５との大きい方の値を方向グレードとして求める。
【００２１】
すなわち本発明においては、例えば図４に示すように、端点間の距離が所定の距離Ｄより小さいときは、値が例えば６５より小さくならないようにして方向グレードが求められる。
【００２２】
そしてこのようにして求められた方向グレードと、上述の基本ストロークとの形状の類似度とが、例えば次の表３に示すようなテーブルで、特徴抽出バッファ（メモリ）３に書き込まれる。なおこの表３は、上述の図１２の「竹」の文字が入力されたときに抽出された特徴データの例である。
【００２３】
【表３】
0003763151.tif 000004
【００２４】
すなわちこの表３において、左側のストロークコード（判定値）は、入力された１画目〜６画目の各ストローク▲１▼〜▲６▼に対する基本ストローク（００〜０３）の類似度を示す。
【００２５】
また右側の端点間の方向グレードは、上部に示された各端点間の方向と上述の（０〜Ｆ）の各方向との方向差に基づく方向グレードを示し、それぞれ１６個の数値である。なお、１画目のストローク▲１▼に対する方向グレードgss1[16]、gse1[16]、ges1[16]、gee1[16]には全て値−１を設け、この値−１は無効のグレードを表すものとする。
【００２６】
そして例えばgss2[16]は、２画目のストローク▲２▼の始点の１画目のストローク▲１▼の始点に対する方向グレードを表し、この端点間は距離が大きく、例えばgss2[16]＝｛４５、３５、２５、１５、１０、１５、２５、３５、４５、６０、７５、９０、１００、９０、７５、６０｝の、例えば上述の表２のテーブルから得た１６個の数値が設けられる。
【００２７】
これに対して例えばges3[16]は、３画目のストローク▲３▼の始点の２画目のストローク▲２▼の終点に対する方向グレードを表し、この端点間は距離が小さく、例えばges3[16]＝｛６５、７５、９０、１００、９０、７５、６５、６５、６５、６５、６５、６５、６５、６５、６５、６５｝となって、値が例えば６５より小さくならないようにした１６個の数値が設けられる。
【００２８】
そこでさらに、この特徴抽出バッファ３に書き込まれた各基本ストロークに対する特徴の類似度の判定値及び各端点間の方向グレードと、認識対象文字を構成する基本ストロークと各端点間の方向コードを含む文字辞書４からの辞書データが文字認識装置５に供給される。ここで文字辞書４は、例えば次の表４に示すように形成されている。
【００２９】
【表４】
0003763151.tif 000005
【００３０】
すなわち、例えばこの表４において、左端には１画目のストロークコードが設けられ、次に１画目と２画目の各端点間の方向コードが２桁ずつ４つの数値で設けられる。続いて２画目のストロークコードが設けられ、次に２画目と３画目の各端点間の方向コードが２桁ずつ４つの数値で設けられる。さらに３画目のストロークコードが設けられる。
【００３１】
なおこの表４では、全て３画の文字の例を示してあるので、この３画目のストロークコードの次には「５０」の標識コードを挟んで文字コードが設けられる。また文字コードは、具体的にはＪＩＳコード等で設けられる。さらに下端に示す「山」の辞書データでは、２画目の終点と３画目の終点は同じ点で方向コードが発生しないので、文字コードが前詰めで設けられている。
【００３２】
そして例えば上述の入力装置１で予め設定された回数のペン２２のアップが計数されたときや、他の入力枠２３、２４や「認識」のアイコン２５にペン２２がダウンされたことを示す信号が特徴抽出装置２で検出されて１文字の入力の終了が判断され、この特徴抽出装置２からの文字の認識を開始する制御信号が文字認識装置５に供給される。
【００３３】
これによって文字認識装置５では、特徴抽出バッファ３に書き込まれた入力文字のデータと文字辞書４の辞書データが比較され、基本ストロークの組み合わせ及び端点間の方向コードの一致あるいは近似する文字が認識される。そしてこの認識された候補の文字が認識候補バッファ６に書き込まれ、例えば候補文字が複数あった場合には、これらの候補文字を一覧表示して使用者が選択することにより、文字の入力が行われる。
【００３４】
そしてこの発明においては、以下に述べる手順によって文字認識装置５での処理が行われる。すなわち図５はマクロフローを示す。この図５において、動作がスタートされると、まずステップ〔００〕〜〔０１〕では、文字認識開始の処理が行われ、例えば認識候補バッファ６の初期化と、文字辞書４の読み出しアドレスの設定が行われる。
【００３５】
次にステップ〔０２〕〜〔０３〕では、現文字の検定開始の処理が行われ、例えば検定する辞書の文字（現文字）が進むごとに処理が行われる。さらにステップ〔０４〕〜〔０７〕及び〔１０〕〜〔１６〕では、比較結果値算出の処理が行われ、例えば辞書から読み出された検定に対して比較結果を求める処理と、現文字の全ての検定が終わったかの判断の処理が行われる。
【００３６】
またステップ〔２０〕〜〔２２〕では、比較結果の評価の処理が行われ、例えば算出された比較結果と、それまでの比較結果バッファの状態から、検定を続行するか途中終了するかの判断の処理が行われる。またステップ〔３１〕〜〔４５〕では、認識候補バッファの書き換えの処理が行われ、例えば現文字の類似度を算出し、その値に応じて認識候補バッファに代入する位置を決めて代入（並べ替え）の処理が行われる。
【００３７】
またステップ〔５０〕〜〔５１〕では、辞書終了の判定処理が行われ、例えば全ての文字辞書の検定を終えたかを判定し、終えていなければ辞書の読み出しアドレスを次の文字の検定に設定する処理が行われる。さらに以下に、図５〜図９を参照して各ステップの動作を詳細に説明する。
【００３８】
すなわち図６において、ステップ〔００〕では、認識候補バッファ６を初期化し、認識の準備が行われる。すなわち認識候補バッファ６は、例えば次の表５に示すように文字コードとその類似度のデータを記憶するいくつかの配列で形成される。
【００３９】
【表５】
0003763151.tif 000006
【００４０】
なお、実施例は６個の候補バッファ（０〜５）で形成されている。そして初期化に当たっては先頭の候補バッファ（０）の文字コードに、データの終端を表す「０」のデータが代入される。
【００４１】
また、ステップ〔０１〕では、文字辞書４の読み出しアドレスの設定が行われる。すなわち例えば文字辞書４の一部に、入力ストローク数に応じて辞書の範囲を設定するテーブルが設けられ、このテーブルに従って文字辞書４の読み出しアドレスの設定が行われる。
【００４２】
さらにステップ〔０２〕では、現文字類似度を最高値（例えば１００）に設定し、ステップ〔０３〕では、入力された文字から抽出した特徴抽出バッファ３のアドレスを最初のストロークに設定する。そしてステップ〔０４〕では、文字辞書４から特徴コードを一つ読み出し、ステップ〔０５〕で、読み出された特徴コードが１６進値で０Ｆｈ以下のときはステップ〔０６〕に進められる。
【００４３】
ステップ〔０６〕では、ストローク形状の評価を行うため、特徴抽出バッファ３から対応する基本ストロークの判定値を読み込み、この判定値が評価値として評価レジスターＶＲに保存される。さらにステップ〔０７〕では、特徴抽出バッファ３の読み出しアドレスを“１”進めて、後述のステップ〔２０〕に進められる。
【００４４】
また、ステップ〔０５〕で読み出された特徴コードが１６進値で１０ｈ以上のときは、例えば図７に示すようなステップ〔１０〕に進められる。このステップ〔１０〕では、文字辞書４から読み出された特徴コードが判別され、その値によって分岐が行われる。
【００４５】
すなわち特徴コードが１６進値で１０ｈから１Ｆｈのときはステップ〔１１〕に分岐され、特徴抽出バッファ３から始点−始点の方向コードが読み込まれる。また特徴コードが１６進値で２０ｈから２Ｆｈのときはステップ〔１２〕に分岐され、特徴抽出バッファ３から始点−終点の方向コードが読み込まれる。
【００４６】
さらに、特徴コードが１６進値で３０ｈから３Ｆｈのときはステップ〔１３〕に分岐され、特徴抽出バッファ３から終点−始点の方向コードが読み込まれる。また特徴コードが１６進値で４０ｈから４Ｆｈのときはステップ〔１４〕に分岐され、特徴抽出バッファ３から終点−終点の方向コードが読み込まれる。
【００４７】
そしてこれらのステップ〔１１〕〜〔１４〕の後はステップ〔１５〕に進められる。また特徴コードが１６進値で５０ｈのときは、文字辞書４で文字コードに到達したことになり、後述する認識候補バッファ６への代入を行うためにステップ〔３１〕に進められる。
【００４８】
さらにステップ〔１５〕では、文字辞書４の特徴コードの下位４ビットと、特徴抽出バッファ３から読み込まれた方向コードとの方向差が求められる。なお方向差は０〜８の数値で求められる。そしてステップ〔１６〕では、求められた方向差に基づいて上述の方向グレードから比較結果値が求められ、この比較結果値が評価レジスターＶＲに保存されてステップ〔２０〕に進められる。
【００４９】
ステップ〔２０〕では、図８に示すように評価レジスターＶＲに保存された値と任意に設定された限界値とが比較される。ここで限界値とは、入力された筆跡が辞書の文字に似ていないと判断する値である。従って評価レジスターＶＲに保存された値が限界値を上回っている場合にはステップ〔２１〕に進められる。
【００５０】
ステップ〔２１〕では、上述の現文字類似度と評価レジスターＶＲの値が比較され、評価レジスターＶＲの値の方が低い場合には、ステップ〔２２〕で現文字類似度に評価レジスターＶＲの値が代入される。なおこの例では、各比較レジスターの最小値を現文字類似度とする。そしてこのステップ〔２２〕の後は、辞書との比較を続行し、次の検定を行うために、ステップ〔０４〕に戻される。
【００５１】
また、ステップ〔２０〕で評価レジスターＶＲに保存された値が限界値を下回った場合には、入力された文字が現在の辞書の文字とは似ていないと判断し、次の文字との比較を行うために後述のステップ〔５０〕に進められる。さらにステップ〔２１〕で評価レジスターＶＲの値が現文字類似度より高い場合には、辞書との比較を続行するために、ステップ〔０４〕に戻される。
【００５２】
さらに上述のステップ〔１０〕で特徴コードが１６進値で５０ｈのときは、図９に示すようなステップ〔３１〕に分岐される。このステップ〔３１〕では、認識候補バッファ６のカウンター（ｋ）の値がクリアされる。以下、ステップ〔３２〕〜〔３４〕では、上述の表５の認識候補バッファ６で、候補文字を類似度の大きい順に何処に代入するかの判断が行われる。
【００５３】
すなわちステップ〔３２〕では、候補バッファ（ｋ）の文字コードが終端（０）であるか否かが調べられる。ここで０でなければ、ステップ〔３３〕で候補バッファ（ｋ）の類似度と現文字類似度が比較される。そして候補バッファ（ｋ）の類似度が大きければ、もっと後ろに代入しなければならないので、ステップ〔３４〕でｋの値に１を加えてステップ〔３２〕に戻り、比較が繰り返される。
【００５４】
また、ステップ〔３３〕で候補バッファ（ｋ）の類似度よりも現文字類似度の方が大きければステップ〔３５〕に進められる。ここで現文字の代入位置は候補バッファ（ｋ）と判断されるが、そこには前のデータが入っているので、以下、ステップ〔３５〕〜〔４１〕では、すでに入っている候補バッファ（ｋ）以下のデータを後ろにシフトする処理が行われる。
【００５５】
そこでステップ〔３５〕では、シフトカウンターの値ｉに初期値としてｋを代入する。さらにステップ〔３６〕では、シフトカウンターの値ｉに１を加え、ステップ〔３７〕で候補バッファ（ｉ）の文字コードが終端（０）であるか否かが調べられる。ここで０でなければ、ステップ〔３６〕に戻され、このステップ〔３６〕〔３７〕で認識候補バッファ６の終端を探すループが形成される。そしてステップ〔３７〕で０が見つかるとステップ〔３８〕に進められる。
【００５６】
ステップ〔３８〕では、シフトによって認識候補バッファ６がオーバーしないか調べている。すなわちシフトカウンターの値ｉが候補バッファの数−１以上ならば、シフトすると認識候補バッファ６がオーバーする。そこでその場合には、ステップ〔４２〕でシフトカウンターの値ｉを２減らし、認識候補バッファ６がオーバーしないようにしてステップ〔４１〕に進められる。
【００５７】
またステップ〔３８〕で認識候補バッファ６がシフトできると判断されたときは、ステップ〔３９〕で認識候補バッファ６の内容をシフトするための代入が行われる。さらにステップ〔４０〕で次のシフトのためにシフトカウンターの値ｉを１減らし、ステップ〔４１〕でシフトの終了を調べるためにシフトカウンターの値ｉとバッファカウンターの値ｋが比較される。
【００５８】
すなわちシフトカウンターの値ｉがバッファカウンターの値ｋ以上ならばシフトを続ける必要があり、ステップ〔３９〕に戻ってシフトが続行される。一方、そうでなければ、ステップ〔４３〕に進められ、現文字のデータを候補バッファ（ｋ）に代入して、認識の終了を調べるために後述のステップ〔５０〕に進められる。
【００５９】
また、上述のステップ〔３２〕で候補バッファ（ｋ）の文字コードに０が見つかった場合には、ステップ〔４４〕で認識候補バッファ６が一杯になっているか否か判断される。すなわちバッファカウンターの値ｋが候補バッファの数−１以上ならば認識候補バッファ６は一杯であり、現文字の記憶はできないので、後述のステップ〔５０〕に進められる。
【００６０】
一方、ステップ〔４４〕で認識候補バッファ６が一杯でないときは、ステップ〔４５〕で認識候補バッファ６の終端を表す文字コード０のデータを、現在の認識候補バッファ６の終端の次のところに書き込む。そしてステップ〔４３〕に進められて、現文字のデータを候補バッファ（ｋ）に代入して、認識の終了を調べるために後述のステップ〔５０〕に進められる。
【００６１】
さらに、図１０は認識の終了を調べるフローチャートであって、ステップ〔５０〕では、まだ比較する辞書があるか否かが、辞書の読み出しアドレスから判断される。そして全ての辞書との比較を終えていなければ、ステップ〔５１〕で次の辞書のアドレスを設定し、ステップ〔０２〕に戻されて比較が繰り返される。またステップ〔５０〕で全ての辞書との比較が終了しているときは、認識の処理が終了される。
【００６２】
従って以上の処理によって、入力された文字の特徴と辞書の比較が全て終了すると、認識候補バッファ６には、認識結果である候補文字が類似度の大きさの順に記憶されている。
【００６３】
そして本発明においては、例えば上述の図４に示すように、入力された各ストロークの端点間の距離が所定の距離Ｄ（例えば０．２ｍｍ）より大きいときは例えば上述の表２のテーブルで方向グレードを求めるものの、端点間の距離が所定の距離Ｄより小さいときは、表２のテーブルで求められる方向グレードと、例えば任意の値６５との大きい方の値を方向グレードとして求めている。
【００６４】
従って、前後のストロークの各端点間の方向の判別を行っている場合に、従来の方法では、筆跡に大きな押さえやはね等が発生すると、認識に誤りを生じる恐れがあったものを、本願の手書き文字認識方法においては、入力された各ストロークの端点間の距離が小さいときには、判別された各ストロークの端点間の方向と認識辞書の値との類似度の演算を緩和するようにしたことにより、筆跡に大きな押さえやはね等が発生したときにも、誤りなく認識を行うことができる。
【００６５】
こうして上述の手書き文字認識装置によれば、入力された手書き文字の各ストロークの特徴を抽出し、各ストロークの端点間の方向を判別し、端点間の方向と、基準となる複数の方向それぞれとの方向差に基づき評価値を算出し、評価値を基に、予め設定された文字の認識辞書の値との類似度を決定すると共に、類似度の決定は、端点間の距離が所定の距離より大きい場合には、評価値を類似度とし、端点間の距離が所定の距離より小さい場合には、評価値と所定の値との大きいほうの値を類似度とするか、所定の演算式で求めることにより、筆跡に大きな押さえやはね等が発生したときにも、誤りなく認識を行うことができるものである。
【００６６】
またこの実施例によれば、入力された各ストロークの端点間の距離が小さいときには、類似度の下限を定めることにより、類似度の緩和を簡単な手段で良好に行うことができるものである。
【００６７】
なお上述の実施例では、入力された各ストロークの端点間の距離が小さいときに類似度の演算を緩和する方法として、入力された各ストロークの端点間の距離が所定の距離Ｄより小さいときは、本来の値と任意の値との大きい方を方向グレードとして求めるようにしたが、これは例えば以下に述べるようにして求めることもできる。
【００６８】
すなわち第２の実施例においては、例えば図１１に示すように、原点Ｏから一方の端点Ａへ向かう方向（矢印：Ｘ軸）に対する、端点Ａから他方の端点Ｐへの方向グレードｇ（類似度）を、端点間のベクトル（Ａ→Ｐ）の、原点から一方の端点Ａの方向の射影をｘ、それに直交する方向（Ｙ軸）の射影をｙとして、
ｇ＝〔√｛（ｘ＋２ｄ）2 ＋ｙ2 ｝−√（ｘ2 ＋ｙ2 ）＋α〕×β
と定義する。
【００６９】
ここで、ｄは定数であって、この値によって至近距離のグレードを調整することができる。またα、βは、例えばα＝２ｄ、β＝１００／４ｄのように設定される。従ってこの定義によれば、端点Ｐと方向グレードｇの関係は、例えば図１１中に等グレード線を各曲線で示すようになる。
【００７０】
そこで上述の式において、例えば
ｄ＝１．５、α＝２ｄ＝３、β＝１００／４ｄ＝５０／３
の数値を与えると、図１１の等グレード線のグレード値Ｋi は、
Ｋ1 ＝８５、Ｋ2 ＝６５、Ｋ3 ＝６０、Ｋ4 ＝４０、Ｋ5 ＝３５、Ｋ6 ＝１５
となる。
【００７１】
なお、グレード値が最高値の１００になるのは、端点ＰがＸ軸上の端点Ａよりも正の方向に位置するときである。
0003763151.tif 000007
【００７２】
また、グレード値が最低値の０になるのは、端点ＰがＸ軸上の端点Ｂ（ＡとＹ軸対称の点）よりも負の方向に位置するときである。
0003763151.tif 000008
【００７３】
従ってこの第２の実施例においても、入力された各ストロークの端点間の距離が小さいときには、判別された各ストロークの端点間の方向と認識辞書の値との類似度の演算を緩和するようにしたことにより、筆跡に大きな押さえやはね等が発生したときにも、誤りなく認識を行うことができる。
【００７４】
またこの実施例によれば、類似度を、端点間のベクトルの、原点から一方の端点の方向の射影をｘ、それに直交する方向の射影をｙとして、
類似度＝〔√｛（ｘ＋２ｄ）2 ＋ｙ2 ｝−√（ｘ2 ＋ｙ2 ）＋α〕×β
但し、ｄ、α、βは定数
の演算式で求めることにより、極めて良好に類似度の緩和を行うことができるものである。
【００７５】
【発明の効果】
この発明によれば、前後のストロークの各端点間の方向の判別を行っている場合に、入力された各ストロークの端点間の距離が小さいときには、判別された各ストロークの端点間の方向と認識辞書の値との類似度の演算を緩和するようにしたことにより、筆跡に大きな押さえやはね等が発生したときにも、誤りなく認識を行うことができるようになった。
【００７６】
従ってこの発明によれば、筆跡の押さえ、はね等の発生や、小さな筆跡に影響されることなく、極めて良好な手書き文字認識を行い、極めて良好な手書き文字の認識を行うことができるものである。
【図面の簡単な説明】
【図１】本発明による手書き文字認識方法を実現するための手書き文字認識装置の一例の構成を示すブロック図である。
【図２】手書き文字の入力の説明のための図である。
【図３】その方向コードの説明のための図である。
【図４】本発明による手書き文字認識方法の要部の説明のための図である。
【図５】全体の動作の流れを示すマクロフローのチャート図である。
【図６】その部分の動作の流れを示すフローチャート図である。
【図７】その部分の動作の流れを示すフローチャート図である。
【図８】その部分の動作の流れを示すフローチャート図である。
【図９】その部分の動作の流れを示すフローチャート図である。
【図１０】その部分の動作の流れを示すフローチャート図である。
【図１１】本発明による手書き文字認識方法の他の例の要部の説明のための図である。
【図１２】問題となる入力文字の一例の説明のための図である。
【符号の説明】
１  例えばタッチパネル状の手書き文字入力装置
２  特徴抽出装置
３  特徴抽出バッファ
４  認識対象文字の文字辞書
５  文字認識装置
６  認識候補バッファ
【図１】
0003763151.tif 000009
【図２】
0003763151.tif 000010
【図３】
0003763151.tif 000011
【図４】
0003763151.tif 000012
【図５】
0003763151.tif 000013
【図６】
0003763151.tif 000014
【図７】
0003763151.tif 000015
【図８】
0003763151.tif 000016
【図９】
0003763151.tif 000017
【図１０】
0003763151.tif 000018
【図１１】
0003763151.tif 000019
【図１２】
0003763151.tif 000020