(57)【要約】【課題】  バラバラな傾きで書かれた文字列、一定の傾きで書かれた手書き文字列を認識できる手書き文字認識装置を実現する。【解決手段】  文字毎の入力軌跡座標回転とその回転座標データと直立手書軌跡文字辞書データとのマッチングを行い、辞書データとの一致度が一番高い結果の文字コードとスコアと回転角度を認識結果として出力する。認識結果の回転角度に応じて認識結果の文字フォントを回転表示し、その認識結果が意図した文字と異なり、入力した角度と異なる結果である時に、ユーザが前記文字フォント上で、その文字の回転角度の修正指示入力する。さらに文字毎の入力軌跡座標回転された軌跡座標データを選別し、選別した軌跡データとマッチングする。【選択図】  図３
2007072691.tif 000002
【特許請求の範囲】
【請求項１】
手書文字入力手段と文字毎の入力軌跡座標回転手段と前記座標回転手段により複数の角度で回転した複数の入力軌跡座標データを認識する認識手段と、前記認識手段の結果から最適な候補を選択する選択手段を設けたことを特徴とする手書き文字認識装置。
【請求項２】
手書文字入力手段と入力軌跡座標回転手段と前記座標回転手段により複数の角度で回転した複数の入力軌跡座標データの中から文字の直立画像の軌跡座標データを選別する選別手段と、前記選別した軌跡座標データを認識する認識手段を設けたことを特徴とする手書き文字認識装置。
【請求項３】
文字認識装置によって認識された認識結果の角度に応じて認識結果の文字フォントを回転表示する手段と、前記表示認識角度がユーザ意図と異なる場合のユーザ指示変更手段と、指示された角度の入力軌跡を座標変換する変換手段とその座標変換された軌跡データを再認識する再認識手段を設けたことを特徴とする請求項１乃至請求項２記載の手書き文字認識装置。
【請求項４】
手書文字列入力手段と入力された手書文字列軌跡データを１文字毎に区切る文字切り手段と、１文字毎の入力軌跡座標回転手段と前記座標回転手段により複数の角度で回転した複数の入力軌跡座標データを認識する認識手段と、前記認識手段の認識結果文字列内の一部の文字認識結果角度情報が文字列全体の角度と異なる角度だと判定された場合に文字列の角度に合せて修正を行う修正手段を設けたことを特徴とする手書き文字認識装置。
【請求項５】
手書文字入力ステップと文字毎の入力軌跡座標回転ステップと前記座標回転ステップにより複数の角度で回転した複数の入力軌跡座標データを認識する認識ステップと、前記認識ステップの結果から最適な候補を選択する選択ステップを設けたことを特徴とする手書き文字認識方法。
【請求項６】
手書文字入力ステップと入力軌跡座標回転ステップと前記座標回転ステップにより複数の角度で回転した複数の入力軌跡座標データの中から文字の直立画像の軌跡座標データを選別する選別ステップと、前記選別した軌跡座標データを認識する認識ステップを設けたことを特徴とする手書き文字認識方法。
【請求項７】
手書文字列入力ステップと入力された手書文字列軌跡データを１文字毎に区切る文字切りステップと、１文字毎の入力軌跡座標回転ステップと前記座標回転ステップにより複数の角度で回転した複数の入力軌跡座標データを認識する認識ステップと、前記認識手段の認識結果文字列内の一部の文字認識結果角度情報が文字列全体の角度と異なる角度だと判定された場合に文字列の角度に合せて修正を行うステップを設けたことを特徴とする手書き文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンラインで書かれた手書文字を認識するもので、特に異なる角度の傾きで入力された文字が混在するメモ等の認識を行うものである。
【背景技術】
【０００２】
従来、特許文献１等の文字列読み取り装置では、帳票上の文字列を読み取る光電変換手段と、読み取られた文字列画像から文字画像を１文字ずつ順に抽出する文字検出切り出し手段と、文字読み取り方向に対して９０°単位で回転処理する。各文字画像に対するそれぞれの回転角度毎の文字認識結果を求める文字回転認識手段とこの文字回転認識手段で求められた認識結果の文字を同じ回転角度の認識文字を抽出することにより角度毎の文字列候補として出力する手段と読み取り対象となる文字列を予め記憶する文字列辞書と前記出力手段から出力されたそれぞれの文字列候補を文字列辞書と比較し文字列の認識結果を求める構成であった。
【０００３】
又、従来、特許文献２等の手書入力データ処理装置では、文字内の水平垂直ストロークを持っているかを判断しその水平垂直ストロークを元に文字の傾きを検出し、その検出された傾きに応じて文字回転手段により回転を行い文字の傾きを補正していた。
【０００４】
又、特許文献４等の回転ずれ文字認識装置では、記号情報に方向を示すマークを設ける構成である。
【０００５】
又、特許文献３等の文字の傾き角度検出修正方式では、複数の文字枠の中心を結ぶ線分を発生してその線分の傾きを求める文字列傾き抽出手段と、その傾きで文字を回転させる文字回転手段で構成されている。
【特許文献１】特公平07-95332号公報
【特許文献２】特登録3299614号公報
【特許文献３】特開昭63-308689号公報
【特許文献４】特開昭62-127984号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来特許文献１等の文字列読み取り装置では、帳票処理を主眼としている為に、文字の回転は、文字列単位に処理されるまた、回転方向の角度は９０°単位に限定されている。上記構成では、読み取り方向に対する角度が文字単位に異なる文字列が入力されることは考慮されていない為、例えば、９０°の文字と、４５°の文字が混在されて入力された手書メモをの例であると、上記構成では、９０°の文字は、９０°単位の回転処理により、０°の状態になるが、９０°が０°の時に、４５°の文字は３１５°の傾きになる為に、４５°の文字の認識結果は認識不能になるか、入力した文字とは異なる結果になりやすい。その文字単位の結果を元に文字列辞書で照合をとっても正しい結果を得ることができない。
【０００７】
又、従来特許文献２等の手書入力データ処理装置では、文字の水平垂直ストロークを基に文字の傾きを検出しているため、元々水平垂直ストロークを持たない文字のばあいは傾きを検出するのは不可能であるし、又手書の文字の場合は活字の文字に比べ本来水平直線であるストロークも曲線であったり、斜めあったりするので傾きを検出すつのは難しい。
【０００８】
又、特許文献４等の回転ずれ文字認識装置では、文字の方向を示すマークにより文字の方向を判定するので、手書のオンライン文字認識装置にその技術を適応しようとすると１文字毎にその文字の方向を示す特種なストロークをマークとして追加しなければならないので、繁雑な操作になってしまう。
【０００９】
又、特許文献３等の文字の傾き角度検出修正方式では、複数文字の枠の中心を結ぶ線分を発生してその線分の傾きを求める文字列傾き抽出手段により、傾きを求めているため、文字列単位の傾きを求めることはできるが、文字列内の文字が他の文字の傾きと異なる場合や、文字列の傾きと文字の傾きが異なる場合は上手く適応する事ができない。
【課題を解決するための手段】
【００１０】
本発明はかかる課題に鑑みなされたものである。
【００１１】
文字毎の入力軌跡座標回転手段を設けることにより、文字毎の複数の（２０°、４５°、７０°、９０°等）角度の回転座標変換軌跡データを得る。前記回転座標変換軌跡データを従来の手書文字認識手段において、直立手書軌跡文字辞書データとのマッチングを行い辞書データとの一致度が一番高い結果の文字コードとスコアと回転角度を認識結果として出力する。
【００１２】
さらに、認識結果の回転角度に応じて認識結果の文字フォントを回転表示する表示手段を設け、その認識結果が意図した文字と異なり、入力した角度と異なる結果である時に、ユーザが前記文字フォント上で、その文字の回転角度の修正指示入力手段を設ける事によりユーザの修正手段を提供する。
【００１３】
又、文字毎の入力軌跡座標回転手段により回転された軌跡座標データを選別する選別手段を設け、選別した軌跡データをマッチングすることにより、認識時間を短縮する。
【００１４】
又、手書文字列入力手段と入力された手書文字列軌跡データを１文字毎に区切る文字切り手段と、１文字毎の入力軌跡座標回転手段と前記座標回転手段により複数の角度で回転した複数の入力軌跡座標データの中から文字の直立画像の軌跡座標データを選別する選別手段と前記選別された軌跡座標データを認識する認識手段と、前記認識手段の結果の角度情報を文字列として判定し間違った角度だと判定された場合に他の文字の角度に合せて再度認識を行う再認識手段を設ける事により、文字列内で複数の異なる傾きの文字が混在する場合にはその傾きに応じた処理を行う。文字列内で傾きが一定の場合にはその傾きに応じた処理を行う事により正しい認識結果が得られる手書文字認識装置を提供する。
【発明の効果】
【００１５】
文字毎の入力軌跡座標回転手段を設けることにより、複数の角度の回転座標変換軌跡データを得る。それにより傾いた入力文字から直立状態のデータ求め、直立手書軌跡文字辞書データとのマッチングを行い辞書データとの一致度が一番高い結果の文字コードとスコアと回転角度を認識結果として出力する。
【００１６】
さらに、認識結果の回転角度に応じて認識結果の文字フォントを回転表示する表示手段を設け、その認識結果が意図した文字と異なり、入力した角度と異なる結果である時に、ユーザが前記文字フォント上で、その文字の回転角度の修正指示入力手段を設ける事によりユーザの修正手段を提供する。
【００１７】
又、文字毎の入力軌跡座標回転手段により回転された軌跡座標データを選別する手段を設け、選別した軌跡データをマッチングすることにより、認識時間を短縮し、認識率の向上も図れる。
【００１８】
又手書文字列入力手段と入力された手書文字列軌跡データを１文字毎に区切る文字切り手段と、１文字毎の入力軌跡座標回転手段と前記座標回転手段により複数の角度で回転した複数の入力軌跡座標データの中から文字の直立画像の軌跡座標データを選別する選別手段と前記選別された軌跡座標データを認識する認識手段と、前記認識手段の結果の角度情報を文字列として判定し間違った角度だと判定された場合に他の文字の角度に合せて再度認識を行う再認識手段を設ける事により文字列内で複数の異なる傾きの文字が混在する場合にはその傾きに応じた処理を行う。文字列内で傾きが一定の場合にはその傾きに応じた処理を行う事により正しい認識結果が得られる手書文字認識装置を提供する。
【００１９】
上記手段を設けることにより、手書のメモ帳のように、ばらばらな傾きの文字も自然に入力でき、同一の傾きの文字列も自然に入力できる装置を実現できる。
【発明を実施するための最良の形態】
【００２０】
［第1の実施例］
図１は本発明の実際の使用形態を表している。１は、情報機器であり、液晶表示部、表示一体型座標入力部、CPU、ROM、RAM、HD、記録メディアを差し込むスロット、他の情報機器と接続するためのＵＳＢ等のインターフェイス、他の通信機能をもったパーソナルコンピュータと通信する無線通信部とで構成されている。座標入力部によって入力された手書文字の軌跡を本発明の処理により認識し、認識結果の表示を行ったりする。
【００２１】
２は、一般的な液晶表示部であり、その液晶表示部に入力された手書の軌跡、認識結果の文字フォント等を表示する。３は、一般的なローカルエリアネットワークであり、それにより他のパーソナルコンピュータと通信する。４は、無線通信用のアンテナで、１の情報機器で表示している画面の共有や、入力されたテキスト情報等をやり取りする。
【００２２】
５は、一般的なパーソナルコンピュータで、ローカルエリアネットワークで本発明の実際の使用形態の情報機器と接続されている。
【００２３】
図２は本発明実施例の携帯情報機器のブロック図である。
【００２４】
２−１は、一般的な座標入力部で、透明抵抗膜デジタイザ等で構成されていて１１のシステムバス経由で６のＣＰＵに接続している。２−２は、一般的な液晶表示部で、液晶表示素子、液晶制御回路、表示メモリから構成され、１１のシステムバス経由で６のＣＰＵに接続している。６のＣＰＵからの指示で、手書軌跡の表示や文字フォントの表示が実行される。６は、一般的なＣＰＵであり、システムバス１１を介して、７のＲＡＭ、８のＲＯＭ、２−１の液晶表示部等と接続しており、８のＲＯＭに記憶されているプログラムによって処理動作を行う。７は、一般的なＲＡＭであり、画像データの保存や、撮影された撮影画像処理プログラムのワーク領域として使われる。８は、一般的なＲＯＭであり、ここに本特許の撮影画像処理手順や、他の携帯端末上のアプリケーション処理手順等が記憶されている。又、ＣＣＤの制御プログラム、液晶表示部の制御プログラム、他の処理手順も記憶されている。９は一般的な携帯機器で使用される小型ハードディスクで、１１のシステムバス経由で６のＣＰＵに接続している。入力された文章ファイル等が記憶されている。１０は、一般的なローカルエリアネットワークのインターフェースカードであり、それにより他のパーソナルコンピュータと通信する。１１は、一般的なシステムバスで、２−６のＣＰＵとＲＯＭ／ＲＡＭや他のデバイス等とのデータやり取りを行う。１２は、一般的な無線通信カードで、内部に無線LANのコントローラやアンテナを内蔵している。通信カード内のコントローラに規定のコマンドを渡すことによって、無線ローカルエリアネットワークへ接続し、デジタル画像の送受信、制御コマンドの送受信を実行できる。送受信のプロトコル自体は、従来の方法と同一である。
【００２５】
図３は本発明実施例の手書文字認識装置の構成図である。
【００２６】
２−１は、一般的な座標入力部で、透明抵抗膜デジタイザ等で構成されていて、ペン書かれた軌跡のXY一座表データを読み込む事ができる。３−１は、軌跡位置座標回転手段で、２−１で入力された手書文字の軌跡を表す位置座標データを指定された角度で回転する様に座標変換を行う。３−２は、手書文字認識辞書で、認識対象の文字の一般的な手書軌跡データの正規化データが記憶されている。この正規化データは、直立状態の手書文字データを正規化したものである。３−３は、手書文字認識手段で、一般的なオンラインの手書文字認識アルゴリズムによって書かれた手書文字の軌跡の特徴点を抽出し、３−２の手書文字辞書とのマッチング処理を行い、一番類似している辞書データを第一候補とする。
【００２７】
３−４は、認識結果選別手段で、３−３の手書文字認識手段の結果、辞書との一致度や、座標の回転角度の情報を基に１文字毎に判断を行い１一番評価点が高い候補を選別し、２−２の表示手段に送る。３−５は、回転角度変更指示手段で、２−２の表示手段に表示されている認識結果の文字の回転角度がユーザの所望の角度と異なる結果である時に、その結果の修正指示を行う手段である。ユーザはこの手段により、結果が異なる文字上でペンを押下し修正角度情報を入力することにより、この３−５の手段がその角度情報を検出し、３−１の軌跡位置座標回転手段に渡す、この指定された角度で軌跡座標データを回転し、そのデータで再認識を行う。２−２は、一般的な液晶表示部で、手書軌跡の表示や文字フォントの表示が行われている。
【００２８】
図４は、図５は、手書文字の入力及び結果表示画面である。図４で表示されている手書の”空”の文字が認識され、図５の様にフォントの”空”文字が表示される。
【００２９】
図６は、フローチャートである。
【００３０】
図７は、図８は、手書文字認識の所望の結果が得られなかった時の指示操作画面例である。
【００３１】
図９は、回転角度変更指示処理のフローチャートである。
【００３２】
図１０は、別の候補変更指示操作画面例である。
【００３３】
まず図６のフローチャートに沿って、１文字の認識処理を説明する。
【００３４】
ステップS６−１において、１文字の認識処理を開始する。１文字の認識処理が使うワーク領域等が初期化される。
【００３５】
ステップS６−２において、１文字の手書軌跡位置座標データをバッファ領域に読み込む処理を行う。１文字の手書軌跡位置座標データは、図３の２−１で表した一般的な透明抵抗膜テジタイザ等で構成されている座標入力手段によって入力される。ユーザがペンを使い、透明抵抗膜テジタイザ上に１文字の軌跡を入力し、ペンアップ時間が文字切り時間以上経過すると、１文字の軌跡入力処理が決定され、軌跡の位置座標データ列が図２−６のCPUによって処理され、図２の７のRAM内の特定領域に記憶され、このフローチャートで表すプログラムが起動される。
【００３６】
ステップS６−３において、１文字の軌跡の位置座標データを回転座標変換する処理を行う。この実施例では、３０°刻みで回転した位置座標の変換データを作成する。回転していない０°のデータと、３０°回転したデータ、６０°回転したデータ、９０°回転したデータ、−３０°、−６０°、−９０°の回転したデータを作成する。
【００３７】
原点を中心にして回転座標変換を行うなら、
新しいX＝（x*cos(r)）-(y*sin(r))
新しいY=(x*sin(r))+(y*cos(r))
の式により、軌跡の位置座標をのXYデータ列を処理すれば良い。
【００３８】
この実施例では、説明を簡単にするために３０°刻みとしたが、１５°刻みや、５°刻みでも良いのは言うまでもない。
【００３９】
ステップS６−４において、回転データ毎に正規化特徴点抽出処理を行う。上記ステップ６−３で座標変換した回転角度毎のデータの１つの軌跡の始点中点終点を抽出し、０から１００の範囲に正規化する。文字の軌跡の最小XY座標が０に正規化され、最大XY座標が１００に正規化される。３−２の手書文字認識辞書には、標準的な書き方で書かれた直立状態の手書の文字の軌跡データの始点、中点、終点の０から１００に同様に正規化されたデータが記憶されている。入力データと辞書とのマッチングを行う認識アルゴリズム自体は従来の認識アルゴリズムと同一の物で構わない。
【００４０】
ステップS６−５において、辞書データとのマッチング処理を行う。前記ステップS６−４で正規化した入力文字の軌跡の始点中点終点と同一筆数の３−２手書文字認識辞書内の辞書データ軌跡の始点中点終点とのマッチング処理を行う。全く辞書と同一の形状の手書文字が入力された場合であれば、一致するストローク同士の始点中点終点は同一なので距離差は０になるが、近似するが同一で無い場合は距離差が生じる。
【００４１】
この様にして、まず入力されたそのままの状態の手書軌跡データと同一筆数の３−２の手書文字認識辞書内の辞書の軌跡の全データとのマッチング処理を行いその中で一番、筆跡の特徴点同士の距離差が小さい辞書データを結果として出力する。出力としては、距離差の合計であるスコアとそのデータに対応する文字コードと、角度のデータである。（この場合は入力された座標のままなので０°）
次に、３０°で回転移動した手書軌跡データと同一筆数の３−２の手書文字認識辞書内の辞書の軌跡の全データとのマッチング処理を行いその中で一番、筆跡の特徴点同士の距離差が小さい辞書データを結果として出力する。出力としては、距離差の合計であるスコアとそのデータに対応する文字コードと、角度３０°である。
【００４２】
同様に、６０°、９０°、−３０°、−６０°、−９０°のデータとのマッチング処理を行う。
【００４３】
ステップS６−６において、辞書データとの一致度と文字コードと回転角度情報を記憶する処理を行う。前記ステップS６−５で求めた回転角度毎の一番類似している辞書データの文字コードと一致度とその入力データの回転した角度の情報を２−７のRAMの特定領域に記憶する。
【００４４】
ステップS６−７において、各角度の最大一致度の比較により一番一致度が高い候補を決定する処理を行う。前記ステップS６−６で記憶した各角度のデータから一番一致度高いデータを抽出する。例えば、図４の例の”空”は−３０°で傾いた状態で入力されていて８筆で書かれている。８筆の辞書とのマッチングを行い、一番一致度高いデータを抽出するが、図からわかるように０°のデータとの一致度より３０°回転した状態にした入力軌跡データの一致度の方が高くなるのでその結果が選ばれる。
【００４５】
ステップS６−８において、決定した角度の一致度の高い順に候補の文字コードを一致度と角度データと共に出力する処理を行う。前記ステップS６−７でー３０°のデータの一致度が高い場合その同一角度での一致度が次に高い候補第２候補として順次一致度の高い順に出力する。
【００４６】
ステップS６−９において、１文字の認識処理を終了する。ステップS６−１で確保したワーク領域やバッファー領域を開放する処理を行う。
【００４７】
以上説明した様に処理を行う事により、図４の様な、１文字づつ角度がばらばらで入力文字に対する認識処理が上手く出来る訳である。図４の様に”青い空”の文字がばらばらな傾きで入力されているわけであるが、上記認識処理により、１文字目の認識結果が”青”角度３０°、２文字目の認識結果が”い”角度０°、３文字目の認識結果が”空”角度−３０°であると、図５の様な表示になる。
【００４８】
上記例は、上手く認識した例であるが、書かれた筆跡によってはユーザ意図する結果と異なる認識結果が表示される場合もある。その様な場合における認識結果の修正指示処理について説明する。
【００４９】
図７は、図６で説明した処理により最初の認識結果が表示された状態を表した表示例である。この場合ユーザが意図した結果であればそのまま次の文字入力等を行うが、その結果が意図した物でない場合は、その文字上でペンで操作する事により、その文字の指定角度等を入力する操作が行われる。図７の７の軌跡が、”三”の文字上で入力された文字に対する回転指示の入力位置座標を表したものである。
【００５０】
図８は、図７で指示した結果により再認識した結果の表示例である。
【００５１】
図９は、回転角度変更指示処理を表したフローチャートである。
【００５２】
図９のフローチャートに沿って処理を説明する。
【００５３】
ステップS９−１において、回転角度変更指示処理を開始する。ワーク領域、バッファ領域の確保を初期化を行う。
【００５４】
ステップS９−２において、ペンダウンが入力されたかのチェックを行う。ペンダウンが入力されたらステップS９−３に進み、ペンダウンが入力されない場合はステップS９−１１に進み別の処理に移行する。
【００５５】
ステップS９−３において、ペンダウンされ入力された位置座標の座標上に文字があるかのチェックを行う。座標上に文字がある場合はステップS９−４に進み、座標上に文字が存在しない場合は、ステップS９−１１に進み通常の文字入力処理等に移行する。
【００５６】
座標上に文字があるかどうかチェックは、表示されている文字の外接矩形枠内の座標であれば、文字上にあると判断する処理を行う。
【００５７】
図７で表した画面内の文字の全外接矩形データとチェックを行う事により文字上であるかそうでないかをチェックする。
【００５８】
ステップS９−４において、座標上の文字の軌跡データを読み出す処理を行う。図７の様に、現在表示されている手書認識の結果の文字に関する情報は、２−７のRAMの特定領域に記憶されている。情報としては表示している文字の外接矩形枠の座標情報、文字コード、認識に利用した手書軌跡の座標データである。ある文字が表示されている外接矩形内には、他の文字は表示されない構成である為に、前記ステップS９−３のチェックにおいて、外接矩形の座標情報で検索した文字の手書軌跡の座標データを読み込むしょりを行う。ステップS９−５において、ペンアップするまで軌跡の位置座標データを記憶する処理を行う。図３の２−１の座標入力手段から送られてくる位置座標データを２−７のRAMの特定領域に記憶する。
【００５９】
ステップS９−６において、始点終点間の角度を求める処理を行う。回転変更指示操作で入力された軌跡の最初にペンダウンされた位置を始点とし、ペンアップされた時の直前の位置を終点として、その始点終点を結んだ直線とX軸とから構成される角度を求める。
【００６０】
ステップS９−７において、指定された角度で読み出した軌跡データを回転変換する処理を行う。図７の様に、”三”の文字が−３０°傾いた表示で、ユーザがその文字３０°回転させ、０°の状態での認識結果を所望するときは、ユーザはペンによってその文字上に軌跡で３０°回転させるように、X軸にたいして３０°傾きの直線を記入すれば、ステップS９−６において、３０°が求められ、その角度を元に以下の座標変換を行い。
【００６１】
新しいX＝（x*cos(r)）-(y*sin(r))
新しいY=(x*sin(r))+(y*cos(r))
図７の文字を回転させ、０°の手書文字軌跡データを作成する。
【００６２】
ステップS９−８において、変換した軌跡データと辞書データとのマッチング処理を行う。ステップS９−７で変換した手書文字軌跡データに対するマッチング処理を行うわけであり、マッチング処理自体は、ステップS６−５で説明した物と同じなので説明を省く。
【００６３】
図７の”三”の傾き−３０°の認識結果が入力された手書軌跡文字データを−３０°傾けた結果であれば、その−３０°傾けたデータを３０°回転させ０°にすると認識結果として”ミ”で文字の傾きは０°の図８の表示になる。
【００６４】
ステップS９−９において、前の認識結果と異なる場合はその認識結果の表示処理を行う。ステップS９−８で求めた認識結果が、角度指示動作時に０°の角度与えられ、前回と同じ手書軌跡データであれば結果も同じなので、結果の再表示はせずにそのままとする。図７、図８の様に、最初の結果が”三”の傾き−３０°で、次の結果が”ミ”の傾き０であれば、まず”三”の傾き−３０°の文字を消去し、同じ位置に”ミ”の傾き０°の文字を表示する。
【００６５】
ステップS９−１０において、回転角度変更指示処理を終了する。確保したワーク領域やバッファ領域を開放する処理を行う。
【００６６】
以上説明した処理を追加することにより、最初に自動的に認識された結果の文字と傾きが所望した場合と異なる場合は、その表示されている文字に対して直接ペンで傾きを指示させることにより、その文字の回転変換を指定角度で行う事により、所望の認識結果を得られるようにした。
【００６７】
上記方法以外で、認識結果の候補表示を行い又その時に角度の変更が必要なときは其の角度を直接入力するようなユーザインターフェィスも考えられる。
【００６８】
図１０が候補表示の例を表した表示例である。
【００６９】
”三”の結果が所望の物でない時に、”三”の文字上でペンを停止した状態で３秒以上長押しすると図１０の候補選択画面が表示される。（この候補表示選択処理自体は一般的な処理なので説明は省く。）
１０−１、１０−２、１０−３は各認識候補が表示されている。候補結果が多く画面上に１画面で表示出来無い時は一般てきなスクロールバー等によって複数画面で表示する。
【００７０】
もし、現在選択されている”三”の候補が所望の結果でなく、”川”が所望の結果であれば、１０−３の”川”の表示領域をペンで押下すればいい。
【００７１】
もし、１０−１、１０−２、１０−３の候補になく、又、他の候補にも所望の物が無く、所望の角度の候補も存在しない場合は、異なる角度を直接入力する操作を行う。図１０の１０−４の角度加算領域をペンで押下すると、１０−６領域内の角度が加算されていき、１０−５の角度減算領域をペンで押下すると、１０−６領域内の角度が減算される。この操作によって、所望の角度を１０−６の角度表示領域に表示させる。１０−６の角度表示領域内の表示角度が所望の角度であれば、１０−７の角度決定領域をペンで押下する。
【００７２】
１０−７の角度決定領域がペンで押下されると、１０−６に表示している角度で、ステップ９−７からの処理を行う訳である。例えば、１０−６に表示している角度が１８０°であれば、その時表示している文字に対応する手書軌跡データを１８０°回転した位置座標に変換し、図３の３−２の手書文字辞書とのマッチング処理を行い、結果を表示する。
【００７３】
この様に処理を行う事により候補選択の一貫で、角度変更を指示する手書文字認識装置を提供できる。
【００７４】
この様に処理を構成する事により、手書メモのような、１文字毎に異なる傾きで書かれた場合でも所望の認識結果が得られる手書文字認識装置を提供できる。又、最初の認識結果が所望の物でなくとも、簡単に所望の角度を指示し、再認識を行える手書文字認識装置を提供できる。
【００７５】
［第２の実施例］
第一実施例では、入力された手書軌跡を３−１の軌跡座標回転手段により、一定角度刻みで複数の回転角度変換後の手書軌跡座標データを作成し、辞書のマッチングを行い、マッチング結果を辞書との一致度により、認識結果と角度を出力していた。
【００７６】
しかし、手書軌跡座標データを複数作成する為に、認識時間が其の作成した数により増加する欠点が存在する。そこで、軌跡座標回転手段で作成した、回転手書軌跡データが妥当であるかをチェックする回転データ選別手段を設けることにより、有効と思われる回転手書軌跡データに絞りこんで認識する構成が考えられる。
【００７７】
図１１は、第２実施例の処理構成図である。第１実施例の図３の処理構成図と同一部番のものは同じ物なので説明は省く。
【００７８】
１１−１は、回転データ選別手段で、回転した手書軌跡データの形状情報から、文字の直立状態のデータを選別する。一意に決定されれば理想的であるが、多くのデータから、２〜３個等の小数に選別できれば構わない。
【００７９】
図１２は、手書軌跡データの回転処理の概念図である。１２−１が入力文字のイメージであり、その手書軌跡データを或る角度で回転した結果が１２−２の回転結果A、１２−３の回転結果B、１２−４の回転結果Cである。
【００８０】
図１３はフローチャートで入力軌跡回転データの選別処理を表している。
【００８１】
図１３のフローチャートに沿って処理を説明する。
【００８２】
ステップS１３−１において、入力軌跡回転データの選別処理を開始する。ワーク領域、バッファ領域が確保初期化される。
【００８３】
ステップS１３−２において、処理を行う１文字の手書位置座標データをバッファに読み込む処理を行う。この処理自体はステップS６−２の処理と同一な物なので説明は省く。
【００８４】
ステップS１３−３において、前記ステップS１３−２において読み込んだ１文字の手書位置座標データの回転座標変換を行う。この第２の実施例では、１５°刻みで回転した入力手書位置座標データを作成する。実施例２では、横に書く場合は想定外とするので−４５°、−３０°、−１５°、０°、１５°、３０°、４５°の７つの角度の入力手書位置座標データが作成される。もし、横の文字も入力される例であれば、−９０°から９０°の間を１５°刻みにすればよい。
【００８５】
ステップS１３−４において、回転変換された手書軌跡データの位置座標データの外接矩形を求める。イメージ的には、図１２の１２−３に表したように、手書文字の軌跡の最小最大XY座標を求めそれを頂点する外接矩形を求めると、１２−３の様な文字を囲む外接矩形となる。処理的には、各々角度毎に手書軌跡データの位置座標データの最大最小大XY座標値を求める。
【００８６】
ステップS１３−５において、各々角度毎に外接矩形の面積を求める。前記ステップS１３−４の、各々角度毎の最大最小XY座標値を元に面積を求める。
【００８７】
DX＝最大X座標値−最小X座標値      DY＝最大Y座標値−最小Y座標値
或る角度の外接矩形面積＝DX×DY
である。
【００８８】
ステップS１３−６において、各々角度毎の外接矩形の中から最小面積のデータを選別する。前記ステップS１３−５において求めた、−４５°、−３０°、−１５°、０°、１５°、３０°、４５°の角度の外接矩形面積の中で最小の角度を求める。もし、入力手書軌跡データの形状により一意に決定出来無い場合（A角度の面積とB角度の面積の差が、面積全体の１％以下の僅差の場合など）は、２つの角度を正解とする。
【００８９】
図１２の例から、解るように、入力文字を回転処理し、斜めの文字を直立状態にした１２−２の回転結果Aの外接矩形の面積が、回転結果Bの面積、回転結果Cの面積と比べた場合は最小になりそのデータが選別される。
【００９０】
ステップS１３−７において、選別された位置座標データを認識処理モジュールに送る。前記ステップS１３−６において、選別された位置座標データ（回転した角度の値と其の角度で変換した１文字の軌跡のXY位置座標データ列）を、フローチャート図６で表した認識処理モジュールに送り、認識結果を求め、表示する。
【００９１】
ステップS１３−８において、入力軌跡データ回転選別処理を終了する。確保したワーク領域や、バッファ領域を開放する。
【００９２】
以上説明した処理手段を追加する事により、複数の角度で回転座標変換を行った手書軌跡データの中から、辞書に記憶されている直立状態の手書文字に近い傾きの手書データを選別する事が実現できそれにより認識時間の短縮や認識率の改善を計ることができる。
【００９３】
上記説明では、回転した結果の軌跡データの外接矩形で、文字の直立状態を調べたが、別の方法も考えられるので其の説明を行う。１１−１の回転データ選別手段の別の実施例である。
【００９４】
図１４が、外接矩形内の文字軌跡の周辺空間の面積を表した概念図である。１４Aが回転した文字軌跡データの直立状態の例で、１４Bが回転した文字軌跡データの傾いた例である。図１４の例から解るように、１４Aの方が１４Bに比べ外接矩形内の文字軌跡の周辺空間の面積が狭い。この事により、外接矩形内の文字軌跡の周辺空間の面積が狭いデータを選別する事により、直立状態のデータを選別する。
【００９５】
図１４の１４Aの例で説明すると、外接矩形の左上の頂点から手書軌跡に接する部分を検出し、其の複数の接触点と外接矩形の辺から構成される多角形を図で表した１４Aー１が得られ、一般的なアルゴリズムで面積を計算できる。
【００９６】
同様に右上の頂点から、手書軌跡に接する部分を検出すると、１４Aー２が得られる。この例の場合左下の頂点からの多角形は微少な為に処理を省略する。右下も同様に処理を省く。１４Aの面積は＝１４Aー１の面積＋１４Aー２の面積となる。
【００９７】
次に、”三”の傾いて書かれた例で説明する。１４Bが其の例で、外接矩形の左上の頂点から手書軌跡に接する部分を検出し、其の複数の接触点と外接矩形の辺から構成される多角形を図で表した１４B−１が得られ、一般的なアルゴリズムで面積を計算できる。
【００９８】
外接矩形の右上の頂点から手書軌跡に接する部分を検出し、其の複数の接触点と外接矩形の辺から構成される多角形を図で表した１４B−２が得られ、面積を計算する。
【００９９】
外接矩形の左下の頂点から手書軌跡に接する部分を検出し、其の複数の接触点と外接矩形の辺から構成される多角形を図で表した１４B−３が得られ、面積を計算する。
【０１００】
外接矩形の右下の頂点から手書軌跡に接する部分を検出し、其の複数の接触点と外接矩形の辺から構成される多角形を図で表した１４B−４が得られ、面積を計算する。
【０１０１】
１４Bの面積は＝１４B−１の面積＋１４B−２の面積＋１４B−３の面積＋１４B−４の面積となる。
【０１０２】
１４A面積と１４Bの面積を比較し、小さい方を選別する。
【０１０３】
この様に処理することにより、より詳細な回転手書軌跡データの選別が実現できる。
【０１０４】
［第３の実施例］
第１、第２実施例では、１文字単位の処理を説明してきたが、文字列単位で取り扱った方が良いと思われる実施状況も現実に存在する。
【０１０５】
文字列単位での処理する認識文字列結果選別手段を追加する構成が考えられる。
【０１０６】
図１５は、第３実施例の処理構成図である。第１実施例の図３の処理構成図と同一部番のものは同じ物なので説明は省く。
【０１０７】
１５−１は、文字切り手段で、一般的な文字枠による文字切りや、書かれた文字列の軌跡列データ群を軌跡の分布状況や文字単位での分離状況で１文字ずつの軌跡群に分離する処理を行う。
【０１０８】
１５−２は、認識文字列結果選別手段で、文字毎の認識結果、認識角度を文字列単位で評価することにより文字単位での結果を修正する物である。
【０１０９】
図１６は、文字列単位での手書文字の入力例である。
【０１１０】
図１７は、図１６の入力例の認識結果例である。
【０１１１】
図１８は、入力文字列の認識処理を表したフローチャートである。
【０１１２】
図１８のフローチャートに沿って処理を説明する。
【０１１３】
図１６の例は、手書メモ入力アプリケーションの様な例を想定している。紙のメモ帳であれば、図１６に表したように、色々な傾きで文字を書くのが自然である。しかし、従来の手書文字入力装置では、原稿用紙の様な文字枠に記入するものや、直立に書くことが規定されていた。この実施例では、１６−０で表した”メモ帳”の様に、１文字１文字異なる角度で記入することも可能であるし、１６−１、１６−２、１６−３、１６−４、１６−５で表した”青い三日月”の様に同一の傾きで１列に書かれる場合がある。
【０１１４】
ステップS１８−１において、入力文字列の認識処理を開始する。ワーク領域、バッファ領域が確保初期化される。
【０１１５】
ステップS１８−２において、入力された文字列の軌跡データを読み込む。図１５の２−１の座標入力手段によって、図１６で表した、１６−１、１６−２、１６−３、１６−４、１６−５の手書文字列は、１連のXY位置座標データ列として、バッファ領域に読み込まれる。
【０１１６】
ステップS１８−３において、文字列データを１文字毎に区切る処理を行う。この文字切り処理自体は、特開平５−１９７８４０号等に記載の従来からのアルゴリズムでも構わない。１６−１、１６−２、１６−３、１６−４、１６−５のデータ列のXY座標から１文字分の仮想枠を割り出し、其の仮想枠を元に１文字目である、１６−１を切り出し、其の次の軌跡からまた、仮想枠で、１６−２を切り出す。其の様に処理を行う事により、１文字めが１６−１、２文字目が１６−２、３文字目が１６−３、４文字目が１６−４、５文字目が１６−５でになる。
【０１１７】
ステップS１８−４において、文字のカウンターの初期化を行う。i=1として、１文字目から処理を行う。
【０１１８】
ステップS１８−５において、i番目の複数回転角度変換を行う。この処理自体は、ステップS６−３で説明した処理と同じ物なので詳細な説明は省く。簡単にするため、回転角度は、４５°刻みとして、−４５°、０°、４５°に回転したデータを作成する。
【０１１９】
ステップS１８−６において、i番目の文字回転角度変換データ毎の認識処理を行う。マッチング処理自体はステップS６−４、S６−５で説明したものと同じなので詳細な説明は省く。前記ステップで各角度で回転した手書文字の座標データそれぞれの特徴点を抽出し、辞書に記憶されている特徴点とマッチング処理を行って一番類似している形状の辞書データを認識結果として出力する。
【０１２０】
ステップS１８−７において、i番目の文字の一致度が高い順に認識結果を記憶する処理を行う。認識結果を入力文字列の順番毎に辞書形状との一致度の高い順に２−７のRAMの特定領域に記憶する。
【０１２１】
ステップS１８−８において、次の文字をチェックする為にiを１加算する。
【０１２２】
ステップS１８−９において、次の文字があるかのチェックを行う。次の文字があれば、ステップS１８−５に進み、次の文字がなければステップS１８−１０に進む。ステップS１８−３で記憶した文字列ないの文字にi番目のデータが存在しなければ、全てのデータを処理ずみなので、次のステップに進む。未処理のデータがあれば、其のデータを処理する。
【０１２３】
ステップS１８−１０において、全文字の結果の角度が同じであるかのチェックを行う。全文字が同じ角度で認識している場合はステップS１８−１３に進み処理を終了し、それ以外であればステップS１８−１１に進む。
【０１２４】
ステップS１８−１１において、１文字だけが異なる角度であるかのチェックを行う。１文字だけが異なる角度の場合は、ステップS１８−１２に進み、そうでなければステップS１８−１３に進み処理を終了する。
【０１２５】
このステップS１８−１０、S１８−１１におけるチェックにより、１６−０のような、３つの文字が異なる角度で書かれている場合は、其のまま入力角度をいかす。もし、１６−１から１６−５で表した”青い三日月”の入力データが、青：角度−４５°、い：角度−４５°ミ：０°、日：−４５°、月：−４５°の様なときに”ミ：０°”が検出され、修正される。本実施例では文字列中の１文字だけが異なる角度の時に修正する例を説明したが、文字列中の２０％内の文字が異なるときに其の異なる文字を修正する様に構成しても良い。
【０１２６】
ステップS１８−１２において、異なる角度の文字の結果を修正する。例えば、”青い三日月”の入力データが、青：角度−４５°、い：角度−４５°ミ：０°、日：−４５°、月：−４５°の場合、ミ：０°が他の文字と異なる角度なので修正ターゲットになる。その３番目の文字のステップS１８−７で記憶した認識結果の中の−４５°の結果のなかで一番類似度が高い認識結果に変更する。
【０１２７】
ステップS１８−１３において、入力文字列の認識処理を終了する。確保したワーク領域や、バッファ領域を開放する。
【０１２８】
以上説明した処理手順を追加することにより、或い一定の傾きで書かれた手書文字の結果内に異なる傾きの誤認識結果が紛れ込んだときに自動的に修正を行う手書文字認識装置を提供できる。
【図面の簡単な説明】
【０１２９】
【図１】本発明の実際の使用形態を表す図である。
【図２】本発明の携帯情報機器のブロック図である。
【図３】本発明実施例の処理構成図である。
【図４】本発明実施例の文字の入力画面例である。
【図５】本発明実施例の文字の入力画面例である。
【図６】１文字認識のフローチャートである。
【図７】認識結果の修正操作画面例である。
【図８】認識結果の修正操作画面例である。
【図９】認識結果の回転角度修正処理のフローチャートである。
【図１０】認識結果の修正操作画面例である。
【図１１】第２実施例の処理構成図である。
【図１２】第２実施例の入力文字の回転データの概念図である。
【図１３】第２実施例のフローチャートである。
【図１４】第２実施例の入力文字回転データの概念図である
【図１５】第３実施例の処理構成図である。
【図１６】第３実施例の入力文字列の表示画面例である。
【図１７】第３実施例の入力文字列の表示画面例である。
【図１８】第３実施例のフローチャートである。
【符号の説明】
【０１３０】
１  情報端末
２  画像表示部
２-１  座標入力部
２-２  画像表示部
３  LANケーブル
４  無線アンテナ
５  パーソナルコンピュータ
６  ＣＰＵ
７  ＲＡＭ
８  ＲＯＭ
９  HD
１０  LANインターフェイス
１１  システムバス
１２  通信カード
【図１】
2007072691.tif 000003
【図２】
2007072691.tif 000004
【図３】
2007072691.tif 000005
【図４】
2007072691.tif 000006
【図５】
2007072691.tif 000007
【図６】
2007072691.tif 000008
【図７】
2007072691.tif 000009
【図８】
2007072691.tif 000010
【図９】
2007072691.tif 000011
【図１０】
2007072691.tif 000012
【図１１】
2007072691.tif 000013
【図１２】
2007072691.tif 000014
【図１３】
2007072691.tif 000015
【図１４】
2007072691.tif 000016
【図１５】
2007072691.tif 000017
【図１６】
2007072691.tif 000018
【図１７】
2007072691.tif 000019
【図１８】
2007072691.tif 000020