(57)【特許請求の範囲】
【請求項１】
文字１つ分の入力枠を有し前記入力枠に複数の手書き文字を重ね書きして入力する入力手段と、
前記入力部により重ね書きして入力された各文字を文字単位に表示する表示手段と、
文字を構成する各ストロークの基準となる基準ストローク情報を登録するストローク辞書と、
文字単位にストロークの順序を登録する文字辞書と、
文字列を構成する各文字の出現確率を数値で示している確率辞書と、
前記入力手段に複数の手書き文字が重ね書きして入力されると、前記入力された文字のストロークと前記ストローク辞書に登録されている基準ストローク情報とを照合して、前記入力された文字のストロークに対応するストローク候補を出力するストローク照合手段と、
前記ストローク照合手段から順次出力される一連のストローク候補の順序と一致するストロークの順序を有する文字を前記文字辞書から検索し、前記検索された文字の順序を変更することなく組み合わせた文字列候補を一以上作成し、前記確率辞書に基づいて各文字列候補ごとに前記数値の合計を算出し、前記作成された一以上の文字列候補の中で前記算出された数値の合計を、各文字列候補を構成する文字数で除した値が最大の文字列を、前記重ね書きして入力された複数の手書き文字として検出し、前記検出された複数の手書き文字の各文字を文字単位で前記表示手段に表示する文字検出手段と
を具備する文字入力装置。
【請求項２】
前記基準ストローク情報は、ストロークの開始位置と終了位置と方向と方向数とを含み、
前記ストローク照合手段は、
前記座標列からストロークの開始位置と終了位置と方向と方向数とを含むストローク情報を求めるストローク情報取得部と、
求められたストローク情報と前記基準ストローク情報とを照合して複数のストローク候補を出力するストローク候補出力部と、
出力される各ストローク候補に基準ストローク情報との一致度に応じた評価値を付加する評価値付加部とを有し、
前記文字検出手段は、
前記評価値の一致度の低いストローク候補を無視し、残りのストローク候補を用いて文字候補を検出する文字候補検出部と、
検出された文字候補から正しい文字を検出する文字検出部とを有することを特徴とする請求項１記載の文字入力装置。
【請求項３】
前記入力部に手書きによりある文字のストロークが入力されると、ストローク単位でその座標列を出力する座標出力手段を設け、
前記座標出力手段から出力される座標列のうち直前の座標列との間の時間間隔が所定の時間以上開いた座標列を検出する座標列検出手段を更に備え、
前記文字候補検出部は、前記座標列検出手段で検出された座標列に対応するストローク候補を文字の先頭ストロークとして文字候補を検出することを特徴とする請求項２記載の文字入力装置。
【請求項４】
前記文字検出部は、
単語毎に文字の順序を登録している単語辞書と、
前記文字候補検出部が検出した文字候補又は文字候補の組み合わせが前記単語辞書に登録されているとき当該単語を入力された手書き文字として検出する単語検出部とを有することを特徴とする請求項２又は３記載の文字入力装置。
【請求項５】
前記確率辞書は、
文字列を構成する隣接する文字の出現確率を数値で示していることを特徴とする請求項１記載の文字入力装置。
【請求項６】
前記座標出力手段から出力された座標列のうち直前の座標列との間の時間間隔が所定の時間以上開いた座標列を検出する座標列検出手段を更に備え、
前記文字検出手段は、
前記座標列検出手段で検出された座標列に対応するストローク候補を文字の先頭ストロークとして文字候補を検出する文字候補検出部と、
検出された文字候補から正しい文字を検出する文字検出部することを特徴とする請求項１記載の文字入力装置。
【請求項７】
前記文字検出手段は、
複数の文字候補を検出する文字候補検出部と、
単語毎に文字の順序を登録している単語辞書と、
前記文字候補検出部が検出した文字候補又は文字候補の組み合わせが前記単語辞書に登録されているとき当該単語を入力された手書き文字として検出する単語検出部とを有することを特徴とする請求項１記載の文字入力装置。
【請求項８】
手書き文字の学習をする学習モードを更に有し、
前記学習モードにおいて、
前記ストローク照合手段は、ストローク候補に前記ストローク辞書に登録された基準ストローク情報との一致度に応じた評価値を付し、
前記評価値が所定の評価値より低い一致度を示すとき、前記ストローク候補のストローク情報を前記ストローク辞書に基準ストローク情報として追加登録するストローク辞書追加登録手段と、
前記文字辞書に学習対象の文字に当該ストローク候補を含むストロークの順序を追加登録する文字辞書追加登録手段とを更に備えることを特徴とする請求項１記載の文字入力装置。
【請求項９】
前記ストローク辞書は、各基準ストローク情報に文字の先頭ストロークになる可能性を有するか否かを示すフラグを付して登録しており、
前記ストローク照合手段は、前記座標出力手段から最初に出力された座標列から求めたストローク情報を前記ストローク辞書の先頭ストロークを示すフラグが付された基準ストローク情報とのみ照合することを特徴とする請求項１記載の文字入力装置。
【請求項１０】
前記座標出力手段から出力される座標列のうち直前の座標列との間の時間間隔が所定の時間以上開いた座標列を検出する座標列検出手段を更に備え、
前記ストローク辞書は、各基準ストローク情報に文字の先頭ストロークになる可能性を有するか否かを示すフラグを付して登録しており、
前記ストローク照合手段は、前記座標列検出手段で検出された座標列に対応するストローク情報を前記ストローク辞書の先頭ストロークを示すフラグが付された基準ストローク情報とのみ照合することを特徴とする請求項１記載の文字入力装置。
【請求項１１】
前記ストローク照合手段は、
前記座標出力手段から出力される前後のストロークの座標列がその全部又は一部分が同一の直線上で重なり合うか否かを検出する重複検出部を有し、
前記文字検出手段は、前記重複検出部で重なりが検出されたとき、前記文字辞書から文字を検出するに際し、後のストロークが前のストロークと同一文字を構成するストロークに含まれないようすることを特徴とする請求項１記載の文字入力装置。
【請求項１２】
前記座標出力手段から出力された座標列の終点と次の座標列の始点とからオフストローク情報を検出するオフストローク情報検出手段を更に備え、
前記文字辞書は、文字を構成するストロークが複数のときに、ストロークの終点と次のストロークとの始点との関係を示すオフストローク情報を更に登録しており、
前記文字検出手段は、前記ストローク照合手段が出力したストローク候補を用いて文字を検出する際、前記オフストローク情報検出手段で検出されたオフストローク情報が前記文字辞書に登録された対応するオフストローク情報と所定以上の差を有するとき、その文字を検出しないことを特徴とする請求項１記載の文字入力装置。
【請求項１３】
前記文字検出手段は、
複数の文字候補を検出する文字候補検出部と、
前記文字候補検出部で検出された文字候補の順序を変更することなく組み合わせた文字列を作成し、文字数が最小となる文字列を入力された手書き文字として検出する最短文字検出部とを有することを特徴とする請求項１記載の文字入力装置。
【請求項１４】
文字１つ分の入力枠を有し前記入力枠に複数の手書き文字を重ね書きして入力する入力手段と、前記入力手段により重ね書きして入力された各文字を文字単位に表示する表示手段と、文字を構成する各ストロークの基準となる基準ストローク情報を登録するストローク辞書と、文字単位にストロークの順序を登録する文字辞書と、文字列を構成する各文字の出現確率を数値で示している確率辞書と、
を有する文字入力装置の制御方法であって、
前記入力部に複数の手書き文字が重ね書きして入力されると、前記入力された文字のストロークと前記ストローク辞書に登録されている基準ストローク情報とを照合し、
前記入力された文字のストロークに対応するストローク候補を出力し、
前記出力される一連のストローク候補の順序と一致するストロークの順序を有する文字を前記文字辞書から検索し、
前記検索された文字の順序を変更することなく組み合わせた文字列候補を一以上作成し、
前記確率辞書に基づいて各文字列候補ごとに前記数値の合計を算出し、
前記作成された一以上の文字列候補の中で前記算出された数値の合計を、各文字列候補を構成する文字数で除した値が最大の文字列を、前記重ね書きして入力された複数の手書き文字として検出し、
前記検出された複数の手書き文字の各文字を文字単位で前記表示手段に表示する
ことを特徴とする制御方法。
【請求項１５】
文字１つ分の入力枠を有し前記入力枠に複数の手書き文字を重ね書きして入力する入力手段と、前記入力手段により重ね書きして入力された各文字を文字単位に表示する表示手段と、文字を構成する各ストロークの基準となる基準ストローク情報を登録するストローク辞書と、文字単位にストロークの順序を登録する文字辞書と、文字列を構成する各文字の出現確率を数値で示している確率辞書と、
を有する文字入力装置を制御するコンピュータプログラムであって、
前記文字入力装置のコンピュータに対して、
前記入力手段に複数の手書き文字が重ね書きして入力されると、前記入力された文字のストロークと前記ストローク辞書に登録されている基準ストローク情報とを照合して前記入力された文字のストロークに対応するストローク候補を出力する処理と、
前記出力される一連のストローク候補の順序と一致するストロークの順序を有する文字を前記文字辞書から検索する処理と、
前記検索された文字の順序を変更することなく組み合わせた文字列候補を一以上作成する処理と、
前記確率辞書に基づいて各文字列候補ごとに前記数値の合計を算出する処理と、
前記作成された一以上の文字列候補の中で前記算出された数値の合計を、各文字列候補を構成する文字数で除した値が最大の文字列を、前記重ね書きして入力された複数の手書き文字として検出する処理と、
前記検出された複数の手書き文字の各文字を文字単位で前記表示手段に表示する処理と
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、手書き文字を認識する文字入力装置及びそのような文字入力方法並びに手書き文字の認識が可能なプログラムを記録したコンピュータ読み取り可能な記録媒体に関し、特に１つの文字入力枠に次々と文字を重ね書きして入力する場合に好適な文字入力装置及び方法並びにそのコンピュータにその方法を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
携帯情報端末に手書き文字を入力する場合、通常、デジタイザ上に文字入力枠を設け、スタイラスペンを用いて入力枠内に文字を入力していく。例えば、特開平7-168914号公報には、この文字入力枠を複数設けて、異なる文字入力枠に一文字ずつ手書き入力することで、特別な指示なしに手書き文字の転送・認識を行なう技術が開示されている。  また、ｇｒａｆｆｉｔｉ（３Ｃｏｍ社の登録商標）という一筆書きの特殊な形状の文字を入力する技術もある。
【０００３】
【発明が解決しようとする課題】
しかし、複数の文字入力枠への手書き文字の入力は、文字毎に文字入力枠を移動する際にスタイラスペンを持つ手の移動が発生し、時間のロスや手ブレの原因となり、快適な文字入力を妨げている。
しかも、複数の文字入力枠を備えるには多くのスペースを必要とするため、小型化した携帯情報端末や携帯電話等に複数の文字入力枠を備えることは難しい。
【０００４】
小型の携帯情報端末においては、タブレット自体を１つの文字入力枠とするのが望ましいのであるが、その場合、１文字毎の文字区切りが不明確になる問題がある。これを明確にするため、従来は、変換ボタンを備え、一文字の区切り毎にそれを押すようにしたものがあるが、それでは、自然な入力操作を妨げてしまう。
【０００５】
また、ｇｒａｆｆｉｔｉなどの特殊な形状の一筆書きの文字を入力する場合は、使用者に訓練が必要であり、誰もが気軽に使用できるものではない。
本発明は上記課題を解決するため、使用者に特別な訓練を必要とせず、１つの文字入力枠に次々と文字を重ね書きして入力した手書き文字の筆跡を正確に認識する文字入力装置及び方法並びにコンピュータにその方法を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記課題を解決するために本発明は、文字１つ分の入力枠を有し前記入力枠に複数の手書き文字を重ね書きして入力する入力手段と、前記入力部により重ね書きして入力された各文字を文字単位に表示する表示手段と、文字を構成する各ストロークの基準となる基準ストローク情報を登録するストローク辞書と、文字単位にストロークの順序を登録する文字辞書と、文字列を構成する各文字の出現確率を数値で示している確率辞書と、前記入力手段に複数の手書き文字が重ね書きして入力されると、前記入力された文字のストロークと前記ストローク辞書に登録されている基準ストローク情報とを照合して、前記入力された文字のストロークに対応するストローク候補を出力するストローク照合手段と、前記ストローク照合手段から順次出力される一連のストローク候補の順序と一致するストロークの順序を有する文字を前記文字辞書から検索し、前記検索された文字の順序を変更することなく組み合わせた文字列候補を一以上作成し、前記確率辞書に基づいて各文字列候補ごとに前記数値の合計を算出し、前記作成された一以上の文字列候補の中で前記算出された数値の合計を、各文字列候補を構成する文字数で除した値が最大の文字列を、前記重ね書きして入力された複数の手書き文字として検出し、前記検出された複数の手書き文字の各文字を文字単位で前記表示手段に表示する文字検出手段とを具備するものである。
【０００７】
【発明の実施の形態】
以下、本発明に係る文字入力装置の実施の形態を図面を参照して説明する。
（実施の形態１）
図１は、本発明に係る文字入力装置の実施の形態１の構成図である。この文字入力装置は、ストローク辞書１０１と、筆跡辞書１０２と、単語辞書１０３と、モード切替部１０４と、座標入力部１０５と、ストローク照合部１０６と、時間区切り検出部１０７と、時間区切り型文字検出部１０８と、単語検出部１０９と、文字列出力部１１０とを備えている。
【０００８】
図２は、この文字入力装置の正面図を示している。文字入力装置は、手書き文字を書き込むタブレット２０１と、入力モードや学習モードを切り換える変換ボタン２０２と、認識された文字等を表示する液晶パネル等からなる表示画面２０３と、タブレット２０１に使用者が手書き文字を書くスタイラスペン２０４とを含んでいる。なお、タブレット２０１とスタイラスペン２０４とは座標入力部１０５を実現し、変換ボタン２０２はモード切り替え部１０４を実現し、文字列出力部１１０から出力される文字列は、表示画面２０３のカーソル２０５の位置から表示される。
【０００９】
ストローク辞書１０１は、文字の構成要素であるストロークを特定するストローク情報を登録している。ここで、ストロークとは、文字を手書き筆跡として入力する場合に、使用者がタブレット２０１にスタイラスペン２０４を連続して押圧している一筆をいう。
図３は、ストローク辞書の一例を示している。このストローク辞書１０１は、カタカナの構成要素であるストロークのストローク番号３０２ごとにストローク情報を登録している。ストローク情報は、ストロークがタブレット２０１のどのエリアを始点としてどのエリアを終点としているかを示す始点エリア３０３と終点エリア３０４とからなるエリア情報を含んでいる。
【００１０】
図４は、エリア情報を示している。エリア情報４０１は、タブレット２０１を縦横に４分割し、１６のエリアに各エリアを識別するエリア番号を割り当てている。ストロークの始点エリアと終点エリアとは、このエリア番号で示される。
また、ストローク情報は、ストロークの始点から終点までの方向に（方向に変化があれば方向列）３０５とその方向数３０６とからなる方向情報を含んでいる。
【００１１】
図５は、方向情報に用いられる量子化した１６の方向を示している。各方向には方向番号が付されている。方向３０５には、この方向番号が記載されている。
ストローク辞書１０１のストローク番号「ｓ０」〜「ｓ９」に登録されたストロークの具体例を図６（ａ）〜（ｊ）に示している。ここで、ストロークの始点には、「・」を付してストロークの終点と区別している。図６（ａ）に示すようにストローク番号「ｓ０」のストロークは、始点エリア「ａ００」、終点エリア「ａ０３」、方向「ｄ０」で示される。ストロークの始点から終点までは、ほぼ直線で方向に変化がないので方向数３０６は「１」である。図６（ｂ）,（ｆ）,（ｈ）,（ｊ）も同様に方向数３０６は「１」である。
【００１２】
図６（ｃ）に示すように、ストローク番号「ｓ２」のストロークは始点エリア「ａ０１」、終点エリア「ａ３３」方向列「ｄ１２、ｄ０」で示される。ストロークの始点から終点までに方向がほぼ直角に変化しているので方向数３０６は「２」である。図６（ｄ）,（ｅ）,（ｇ）,（ｉ）も同様に方向数３０６は「２」である。
【００１３】
このように、ストローク辞書１０１には、文字の構成要素のストロークをタブレット２０１上のエリアとストロークの方向との情報であるストローク情報として登録されている。
筆跡辞書１０２は、文字毎に文字の構成要素であるストロークの順序を登録している。
【００１４】
図７に筆跡辞書の一例を示す。この筆跡辞書１０２は、カタカナ文字を示すものであり、文字を識別する筆跡番号７０２と、その文字７０３と、文字を構成するストローク数７０４と、そのストロークの順序７０５とを含んでいる。ストロークを示すのには、ストローク番号が用いられている。筆跡番号「ｃ０」〜「ｃ７」の文字の具体例を図８（ａ）〜（ｈ）に示している。
【００１５】
なお、文字には長音記号「ー」などの記号も含む。
単語辞書１０３は、単語毎に単語を構成する文字数と文字の順序とを登録している。図９に単語辞書の一例を示す。単語辞書１０３は、単語を識別する単語番号９０２と、単語を構成する文字数９０３と、その文字順序９０４とを含んでいる。
【００１６】
モード切換部１０４は、使用者の変換ボタン２０２の押下操作により、入力モードと学習モードとのモード切換えを行う。
座標入力部１０５は、入力モードにおいて、使用者がタブレット２０１上にスタイラスペン２０４で手書き文字の筆跡を書くと、所定の時間間隔でその筆跡の点列の座標を座標列としてストローク照合部１０６に通知する。
【００１７】
ストローク照合部１０６は、図４に示したエリア情報４０１と図５に示した量子化された方向とを予め記憶している。エリア情報４０１は、各エリアの境界の座標と各エリア番号との対応である。
ストローク照合部１０６は、座標入力部１０５から座標列の通知を受けると、手書き文字筆跡のストローク情報を求める。先ず、ストロークの始点の座標からエリア情報４０１に基づいて始点エリアを求める。次に、ストロークの座標列から公知のセグメント化手法を用いて、図５に示した方向に基づきストロークの方向番号を求める。更に、ストロークの終点の座標からエリア情報４０１に基づいて終点エリアを求める。
【００１８】
次に、ストローク照合部１０６は、座標入力部１０５から通知された座標列から求めたストローク情報と、ストローク辞書１０１に登録されているストローク情報とを照合する。
ストローク情報のうちエリアについては、始点エリア同士の市街地距離と終点エリア同士の市街地距離とを求め、その和をエリアの照合評価値とする。方向については、方向列同士のＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｉｎｇ）マッチング法による照合評価値を求める。エリアと方向との照合評価値の単純和を求めストローク情報の評価値とする。この方法によれば、ストローク情報の評価値の小さなものの一致度が高いことになる。
【００１９】
ストローク照合部１０６は一致度の高いストローク情報に付されたストローク番号をストローク辞書１０１から取り出し、ストローク候補とする。各ストロークについて、ストローク候補を取り出すと、時間区切り型文字検出部１０８に通知する。
今、タブレット２０１上に使用者によって手書き文字の筆跡が図１０に示すようにスタイラスペン２０４によって筆記された場合、座標入力部１０５は、各ストロークｉ１０００〜ｉ１００７の座標列をストローク照合部１０６に通知する。ストローク照合部１０６は、通知された各ストロークについてストローク情報を求める。これによって、図１１に示すように、使用者により手書きされた各ストロークｉ１０００〜ｉ１００７について、ストローク情報が求められる。なお、図１０で、矢符は、ストロークの終点を示している。
【００２０】
次に、ストローク照合部１０６は、各ストローク情報ｉ１０００〜ｉ１００７とストローク辞書１０１の各ストローク情報とを照合して一致度の高いストローク候補を求め、時間区切型文字検出部１０８に通知する。通知したストローク候補を図１２に示す。図１２において、各ストロークｉ１０００〜ｉ１００７について、各々５つのストローク候補ｓｃ０〜ｓｃ４にストローク番号が記載されている。ストローク番号に（  ）を付して記載された数値は、ストローク情報の評価値である。
【００２１】
例えば、ストロークｉ１０００では、ストローク番号「ｓ０」、「ｓ１」、「ｓ４」、「ｓ２」、「ｓ９」の順に記載されており、一致度の高いストロークから低いストロークの順に記載されていることを示している。他のストロークｉ１００１〜ｉ１００７についても同様である。
時間区切り検出部１０７は、タイマーを有し、座標入力部１０５において、使用者の手書き文字の筆記開始からの時間を計測する。ストロークとストロークとの間の時間が所定の時間以上間隔を開けて書き込まれたストロークを文字の先頭ストロークであると判断して、時間区切り型文字検出部１０８に通知する。
【００２２】
図１３は、図１０に示した各ストロークが入力されたときのストロークｉ１０００の筆記開始からストロークｉ１００７の筆記終了までの時間を秒単位で示している。ストロークｉ１００３とストロークｉ１００４との間の時間が０．３９秒であり、所定の時間、例えば０．３秒以上であるので、時間区切り型文字検出部１０８にストロークｉ１００４を通知する。
【００２３】
時間区切り型文字検出部１０８は、ストローク照合部１０６から通知された各ストロークのストローク候補を順次文字認識の対象とするためのカウンタＩと、筆跡辞書１０２に登録されている文字を順次検索対象とするためのカウンタＪとを有する。
時間区切り型文字検出部１０８は、時間区切り検出部１０７から先頭ストロークである旨のストロークを通知されている場合に、筆跡辞書１０２に登録されている検索対象の文字のストローク数Ｋから、通知されたストロークがその文字の先頭ストロークとならない場合には、その文字は、認識対象とならないと判断する。また、検索対象の文字を構成するストロークのストローク番号と、認識対象のＩ〜Ｉ＋Ｋ番目のストローク候補のストローク番号とが全て一致するか否かを判断し、一致するときは、検索対象の文字を文字候補として検出する。文字候補を検出した後、一致しないと判断した後、認識対象とならないと判断した後、カウンタＪに「１」を加え、カウンタＪの値が筆跡辞書１０２に登録されている検索対象の文字数以上になるまで、認識対象のＩ〜Ｉ＋Ｋ−１番目のストロークのストローク候補について、ストローク番号により筆跡辞書１０２に登録された文字との検索を繰り返す。
【００２４】
筆跡辞書１０２に登録されている検索対象の文字数以上になるとカウンタＪを「０」にリセットし、カウンタＩに「１」を加え、Ｉがストローク照合部１０６から通知されたストローク数以上になるまで文字候補の検出を繰り返す。
なお、時間区切り型文字検出部１０８は、ストローク照合部１０６から認識対象の各ストロークについて複数のストローク候補を通知されているので、Ｉ〜Ｉ＋Ｋ番目のストロークのストローク候補について筆跡辞書１０２に登録された文字のストロークとを照合するに際し、各ストロークのストローク候補を組み合わせて照合する必要があり、照合（検索）に長時間を要する。そこで、通知された各ストロークのストローク候補のうち、ストローク情報の評価値が所定の基準以上の（例えば評価値が「１０」以上の一致度の低い）ストローク候補について検索対象としないで、検索時間の短縮を図る。
【００２５】
時間区切り型文字検出部１０８は、ストローク照合部１０６から、図１２に示すようなストローク列と各ストロークのストローク候補の通知を受けると、ストローク候補のうち評価値「１０」以上のストローク候補を無視する。
次に、筆跡辞書１０２の筆跡番号「ｃ０」の文字から順にストロークｉ１０００のストローク候補とそのストローク番号が一致するか否かを判断する。筆跡番号「ｃ０」の文字「モ」はストローク数が「３」であるので、ストローク列ｉ１０００〜ｉ１００２までのストローク候補のストローク番号とストロークの順序７０５に記載したストローク番号とが一致するか否かを判断する。ストローク候補「ｓｃ０」のストローク番号「ｓ０」、「ｓ１」、「ｓ２」とが一致するので文字候補「ｃ０（モ）」が検索される。
【００２６】
ストローク列ｉ１０００〜ｉ１００２により文字候補「ｃ０（モ）」が検索されているが、筆跡辞書１０２の筆跡番号「ｃ１」の長音記号「ー」とストロークｉ１０００のストローク候補「ｓｃ１」のストローク番号「ｓ１」とが一致するので、ストロークｉ１０００に文字候補「ｃ１（ー）」も検出される。同様に、ストロークｉ１００１でも文字候補「ｃ１（ー）」が検出され、ストロークｉ１００２でも文字候補「ｃ３（レ）」が検出される。
【００２７】
筆跡辞書１０２の筆跡番号「ｃ４」の文字「ル」とストローク列ｉ１００３、ｉ１００４とのストローク番号とは一致するけれども、時間区切り検出部１０７からストロークｉ１００４は文字の先頭ストロークである旨の通知を受けているので、文字候補「ル」は検出されない。
ストロークｉ１００３からは文字候補「ｃ２（ノ）」が検出され、ストロークｉ１００４からは文字候補「ｃ３（レ）」が検出される。
【００２８】
このように、時間区切り型文字検出部１０８によって、図１４に示すような文字候補が各ストローク又は各ストローク列に対して検出される。検出が終了すると単語検出部１０９にこれらの文字候補が通知される。
単語検出部１０９は、時間区切り型文字検出部１０８から文字候補の通知を受けると、単語辞書１０３を参照して単語を検出する。
【００２９】
図１４に示した文字候補の通知を受けると、ストローク列ｉ１０００〜ｉ１００２の文字候補の文字「モ」を先頭文字とする単語を単語辞書１０３を検索してみつける。単語辞書１０３には、文字「モ」を先頭文字とする単語ｗ４があり、単語ｗ４を構成する文字列の全てがストローク列ｉ１０００〜ｉ１００７の文字候補の列に含まれていれば、その単語ｗ４を検出する。単語ｗ４の文字数は「５」であるので、その文字を順次ストローク列ｉ１００３以降の文字候補の列と照合する。ストロークｉ１００３の文字候補「ノ」、ストロークｉ１００４の文字候補「レ」、ストロークｉ１００５の文字候補「ー」、ストローク列ｉ１００６、ｉ１００７の文字候補「ル」が単語ｗ４と一致するので、単語ｗ４「モノレール」を検出する。単語辞書１０３には、文字「モ」を先頭文字とする単語がこの他にないので、次に、ストロークｉ１０００の文字候補「ー」を先頭文字とする単語を検索する。このような単語をみつけることができないので検索を終る。なお、文字「モ」を先頭文字とする単語が単語辞書１０３にあるときには、ストロークｉ１００３以降の文字の候補組み合わせについても検索を行う。
【００３０】
単語検出部１０９は、検出した単語を文字列出力部１１０に通知する。
文字列出力部１１０は、通知された単語を表示画面２０３に表示するとともに、記憶部（図示せず）に記憶させる。
次に、本実施の形態の動作を図１５、図１６のフローチャートを用いて説明する。
【００３１】
先ず、使用者がタブレット２０１上に手書き文字の筆跡をスタイラスペン２０４を用いて筆記すると、座標入力部１０５は、各ストロークの座標列をストローク照合部１０６に通知する（Ｓ１５０２）。
ストローク照合部１０６は、通知された各座標列からストローク情報を求め、ストローク辞書１０１のストローク情報との評価値を計算し、各ストロークのストローク候補を選び、時間区切り型文字検出部１０８に通知する（Ｓ１５０４）。
【００３２】
時間区切り検出部１０７は、手書き文字の筆跡開始から終了までの時間を計時し、所定の時間以上の間隔を開けて筆記されたストロークを検出し、時間区切り型文字検出部１０８にそのストロークが文字の先頭のストロークである旨を通知する（Ｓ１５０６）。
手書き文字の入力が終了するまで、以上の処理を行う（Ｓ１５０８）。
【００３３】
次に、時間区切り型文字検出部１０８は、文字候補を検出し、検出した文字候補を単語検出部１０９に通知する（Ｓ１５１０）。この詳細は、図１６のフローチャートを用いて説明する。
単語検出部１０９は、通知された文字候補列から単語辞書１０３を参照して単語を検出する（Ｓ１５１２）。
【００３４】
文字列出力部１１０は、単語検出部１０９から通知された単語を表示画面２０３に表示して処理を終了する（Ｓ１５１４）。
図１６に示すフローチャートを用いて、文字候補検出処理（Ｓ１５１０）の詳細を説明する。
時間区切り型文字検出部１０８は、カウンタＩとカウンタＪとに初期値「０」を設定し（Ｓ１６０２）、筆跡辞書１０２の筆跡番号ｃＪの文字のストローク数Ｋを読み出す（Ｓ１６０４）。
【００３５】
時間区切り型文字検出部１０８は、Ｋ＝１か否かを判断し（Ｓ１６０５）、否のときには、時間区切り検出部１０７から通知された先頭ストロークがＩ＋１〜Ｉ＋Ｋ―１番目のストローク内にあるか否かを判断する（Ｓ１６０６）。あるときには、カウンタＪに「１」を加える（Ｓ１６１０）。
ないとき又はＳ１６０５で肯定のときには、Ｉ〜Ｉ＋Ｋ−１番目のストローク列のストローク候補列と筆跡辞書１０２の筆跡番号ｃＪのストロークの順序とを照合し、一致するときには、文字候補として検出し（Ｓ１６０８）、Ｓ１６１０に移る。
【００３６】
時間区切り型文字検出部１０８は、カウンタＪの値が筆跡辞書１０２に登録されている登録数以上であるか否かを判断し（Ｓ１６１２）、以上でなければＳ１６０４に戻り、以上であればカウンタＪを「０」にリセットし、カウンタＩに「１」を加える（Ｓ１６１４）。
次にカウンタＩの値がストローク照合部１０６から通知されたストローク数以上か否かを判断し、以上でなければＳ１６０４に戻り、以上であれば文字候補の検出を終了する。
【００３７】
（実施の形態２）
図１７は、本発明に係る文字入力装置の実施の形態２の構成図である。この文字入力装置は、単語辞書１０３と、モード切換部１０４と、座標入力部１０５と、ストローク照合部１０６と、時間区切り検出部１０７と、時間区切り型文字検出部１０８と、単語検出部１０９と、文字列出力部１１０と、学習文字表示部１７０１と、選別型ストローク辞書登録部１７０２と、ストローク辞書１７０３と、選別型筆跡辞書登録部１７０４と、筆跡辞書１７０５とを備えている。なお、上記実施の形態１の文字入力装置と同様の構成部分には、同一の符号を付しその説明を省略し、本実施の形態固有の構成部分について説明する。
【００３８】
実施の形態１のストローク辞書１０１や筆跡辞書１０２では、標準的な手書き文字のストロークから求められたストローク情報や標準的なストロークの順序を登録していたけれども、この文字入力装置では、個性的な手書き文字を学習して、ストローク辞書１７０３や筆跡辞書１７０５に登録しておき、認識対象の個性的な手書き文字の筆跡を認識する。
【００３９】
使用者は、モード切り替え部１０４を操作し、学習モードに切り替える。更に、モード切り替え部１０４は、使用者が学習させようとする文字を操作キー（図示せず）等を用いて入力すると、当該文字を学習文字表示部１７０１と選別型筆跡辞書登録部１７０４とに通知する。
学習文字表示部１７０１は、通知された文字を表示画面２０３に表示する。
【００４０】
使用者は、表示画面２０３に表示された学習させようとする文字の手書き文字をタブレット２０１上にスタイラスペン２０４を用いて筆記する。座標入力部１０５は、入力された手書き文字のストロークの座標列をストローク照合部１０６に通知する。
ストローク照合部１０６は、ストロークの座標列からストローク情報を求め、ストローク辞書１７０３のストローク情報と照合し、ストローク候補とストローク情報の評価値とを選別型ストローク辞書登録部１７０２に通知する。
【００４１】
選別型ストローク辞書登録部１７０２は、ストローク照合部１０６から通知されたストローク候補の評価値がストローク辞書１７０３に登録されたストロークと所定の一致度に達しない値である場合には、そのストロークのストローク情報にストローク番号を付してストローク辞書１７０３に登録する。ストローク辞書１７０３にストローク番号を付したストローク情報を登録した後、選別型筆跡辞書登録部１７０４にストローク番号を通知する。この際、ストローク候補の評価値がストローク辞書１７０３に登録されたストロークと所定の一致度に達した値を有するストロークを通知されているときには、通知された順にストローク番号を選別型筆跡辞書登録部１７０４に通知する。
【００４２】
今、文字「モ」についての学習モードにおいて、使用者が手書き文字を座標入力部１０５に入力すると、座標入力部１０５は、入力された図１８に示すようなストロークｉ１８００,ｉ１８０１の座標列をストローク照合部１０６に通知する。
ストローク照合部１０６は、通知された座標列からストロークｉ１８００,ｉ１８０１のストローク情報を求める。図１９に求められたストローク情報１９０１を示す。
【００４３】
ストローク照合部１０６は、このストロークｉ１８００,ｉ１８０１のストローク情報それぞれと、予めストローク辞書１７０３に登録されているストローク情報（図３のストローク辞書１０１）とを照合し、ストローク候補とそのストローク情報の評価値を図２０に示すように求め、選別型ストローク辞書登録部１７０２に通知する。
【００４４】
選別型ストローク辞書登録部１７０２は、通知されたストローク候補のストローク情報の最小の評価値が所定のしきい値（例えば「２」）を超えるとき、座標入力部１０５に入力されたストロークのストローク情報がストローク辞書１７０３に登録されていないと判断して、ストローク辞書１７０３に登録する。
即ち、ストロークｉ１８００では一致度の高いストローク候補ｓ４のストローク情報の評価値でも「１６」であるので、ストロークｉ１８００に一致するストローク情報はストローク辞書１７０３に登録されていない。そこでストロークｉ１８００のストローク情報を図２１に示すように、ストローク番号ｓ１０として追加登録する。
【００４５】
ストロークｉ１８０１では、一致度の高いストローク候補ｓ２のストローク情報の評価値が「０」であるので、ストロークｉ１８０１と一致するストローク情報はストローク辞書１７０３に既に登録されている。
選別型ストローク辞書登録部１７０２は、選別型筆跡辞書登録部１７０４にストローク番号「ｓ１０」、「ｓ２」を文字を構成するストロークの順序として通知する。
【００４６】
ストローク辞書１７０３は、ＲＡＭ等からなり、図２１に示すように、ストローク番号とストローク情報とが登録されている、ストローク番号「ｓ０」〜「ｓ９」は、ストローク辞書１０１と同様であり、予め登録されたものであり、ストローク番号「ｓ１０」のストローク情報が学習モードで追加登録されたものである。
【００４７】
選別型筆跡辞書登録部１７０４は、モード切り替え部１０４から文字の通知を受け、選別型ストローク辞書登録部１７０２からストロークの順序の通知を受けると、当該文字と、通知されたストロークの順序に含まれるストローク数と、ストロークの順序とを辞書１７０５に登録する。
文字「モ」とストローク番号「ｓ１０」、「ｓ２」との通知を受けているので、ストローク数を「２」として、図２２に示すように筆跡番号「ｃ８」の文字「モ」としてストロークの順序を登録する。
【００４８】
筆跡辞書１７０５は、ＲＡＭ等からなり、筆跡番号「ｃ０」〜「ｃ７」は筆跡辞書１０２と同様であり、筆跡番号「ｃ８」の文字「モ」が学習モードで追加登録されている。
次に、変換ボタン２０２を使用者が押下して、入力モードに切り替えて、座標入力部１０５から手書き文字の筆跡を入力すると、上記実施の形態１と同様に手書き文字の認識がされる。
【００４９】
例えば、座標入力部１０５は、図２３に示すストロークｉ２３００〜ｉ２３０６の各ストロークの座標列をストローク照合部１０６に通知する。
ストローク照合部１０６は、通知された各座標列から各ストロークのストローク情報を図２４に示すように求める。求めたストローク情報とストローク辞書１７０５に登録されたストローク情報とを照合し、ストローク候補の評価値を図２５に示すように求める。求めたストローク候補とその評価値を時間区切り型文字検出部１０８に通知する。
【００５０】
時間区切り検出部１０７は、各ストロークの筆記開始時間と筆記終了時間とを図２６に示すように計時し、筆記時間の間隔が所定の時間を超えるストロークｉ２３０３を時間区切り型文字検出部１０８に通知する。
時間区切り型文字検出部１０８は、通知されたストローク候補の所定の評価値以下のストローク候補列を組み合わせて、筆跡辞書１７０５を検索して、文字候補を図２７に示すように検出し、単語検出部１０９に通知する。この際、ストロークｉ２３００,ｉ２３０１から筆跡番号「ｃ８」の文字「モ」が文字候補として検出される。
【００５１】
単語検出部１０９は、単語辞書１０３を検索して、入力された手書き文字「モノレール」を検出する。
次に、本実施の形態の動作を図２８と図２９のフローチャートを用いて説明する。なお、図２８において、Ｓ２８０２以外は実施の形態１のＳ１５０２以下と同様である。
【００５２】
先ず、使用者の変換ボタン２０２の押下操作により、学習モードに切り替えられ、入力された手書き文字の学習処理を行う（Ｓ２８０２）。
以下は実施の形態１のＳ１５０２以下と同様であるので、説明を省略する。
Ｓ２８０２の詳細を図２９のフローチャートを用いて説明する。
変換ボタン２０２の押下操作を受け、学習モードへ切り替える（Ｓ２９０２）。使用者は学習させたい文字をキー（図示せず）操作により入力し、学習文字表示部１７０１は、その文字を表示する（Ｓ２９０４）。次に学習対象の手書き文字の筆記を受け、座標入力部１０５は、各ストロークについて座標列をストローク照合部１０６に通知する（Ｓ２９０６）。
【００５３】
ストローク照合部１０６は、入力されたストロークの座標列からストローク情報を求め、ストローク辞書１７０３に登録されているストローク情報とを照合し、ストローク候補とストローク情報の評価値を求め、選別型ストローク辞書登録部１７０２に通知する（Ｓ２９０８）。
選別型ストローク辞書登録部１７０２は、ストローク照合部１０６から通知されたストローク候補のうち一致度の最も高いストローク候補の評価値が「２」以下であるか否かを判断し（Ｓ２９１０）、以下であればＳ２９１４に移り、否であればストローク辞書１７０３にストローク番号を付与してそのストローク情報を追加登録する（Ｓ２９１２）。このＳ２９０６からＳ２９１２までの処理を座標入力部１０５からストロークの座標列の入力が終了するまで行う（Ｓ２９１４）。
【００５４】
次に、選別型筆跡辞書登録部１７０４は、ストローク情報が追加登録されたとき、筆跡辞書１７０５に学習させたい文字とそのストローク数とストロークの順序とを登録する（Ｓ２９１６）。
次に、変換ボタン操作により、入力モードへ切り替えられると（Ｓ２９１８）、学習処理は終了する。
【００５５】
なお、本実施の形態では、ストローク辞書１７０３、筆記辞書１７０５に、学習モードにより新たにストローク情報やストロークの順序等を登録するようにしたけれども、ユーザ辞書を別に用意し、このユーザ辞書にストローク情報やストロークの順序等を登録するようにし、入力モードの際には、このユーザ辞書も照合対象とするようにしてもよい。
【００５６】
（実施の形態３）
図３０は、本発明に係る文字入力装置の実施の形態３の構成図である。この文字入力装置は、先頭フラグ付きストローク辞書３００１と、筆跡辞書１０２と、確率辞書３００２と、座標入力部１０５と、重複検出部３００３と、ストローク照合部３００４と、重複排斥型文字検出部３００５と、高確率文字列検出部３０６と、文字列出力部１１０とを備えている。なお、上記実施の形態１の文字入力装置と同様の構成を有する部分には同一の符号を付しその説明を省略し、本実施の形態固有の構成について説明する。
【００５７】
先頭フラグ付きストローク辞書３００１は、ストローク辞書１０１と同様、図３１に示すように、ストローク番号３１０１とストローク情報３１０２との登録の他に、そのストロークが文字の先頭ストロークになるか否かを示す先頭フラグ３１０３を登録している。先頭フラグ３１０３は、文字の先頭になる可能性のあるストロークには「１」が、文字の先頭になる可能性のないストロークには「０」がそれぞれ記載されている。
【００５８】
確率辞書３００２は、文字列を構成する隣接する文字の出現確率を所定の数値で示したものである。図３２は、確率辞書３００２の一例を示す図である。１行目に記載された各文字３２０１の前文字となる各文字３２０２に対する出現確率の数値を示している。例えば、文字「モ」の前文字が「モ」である確率は「４」で示され、文字「モ」の前文字が「無し」即ち、先頭文字である確率は「８」で示されている。長音記号「ー」の前文字が「モ」である確率は「８」で示され、長音記号「ー」の前文字が「無し」即ち、先頭文字である確率は「０」で示されている。
【００５９】
重複検出部３００３は、座標入力部１０５から入力された複数のストロークの座標列同士の重複を検出する。本実施の形態では、連続する２つのストロークの座標列が同一の線分上にあるか否かをハフ変換法を用いて検出する。重複検出部３００３は、連続するストローク同士の重複を検出すると、後のストロークを重複排斥型文字検出部３００５に通知する。
【００６０】
なお、重複検出部３００３は、同一文字中にストロークが重なることがないこと（点で重なることはあるけれども、線分として重なることがないこと）に着目している。例えば、図１０に示すストロークｉ１００３とｉ１００４とは、重なる部分がある。
ストローク照合部３００４は、実施の形態１のストローク照合部１０６の構成に加えて、座標入力部１０５から通知されるストロークの座標列のうち、最初に通知された座標列から求めたストローク情報を先頭フラグ付きストローク辞書３００１と照合するとき、先頭フラグ３００４が「１」であるストロークとのみ照合して評価値を求める。
【００６１】
今、図１０に示したストロークｉ１０００〜ｉ１００７が座標入力部１０５へ入力されたとき、座標入力部１０５は、各ストロークｉ１０００〜ｉ１００７の座標列を重複検出部３００３とストローク照合部３００４とに通知する。
ストローク照合部３００４は、通知された座標列から図１１に示したようにストロークのストローク情報を求める。ストローク照合部３００４は、最初に通知されたストロークｉ１０００については、先頭フラグ付きストローク辞書３００１の先頭フラグ３００４に「１」が記載されているストローク情報との照合を行いストローク候補を検出する。ストロークｉ１００１〜ｉ１００７については、実施の形態１のストローク照合部１０６と同様、登録されたストローク情報全てと照合を行いストローク候補を検出する。この結果、図１２に示したような各ストロークｉ１０００〜ｉ１００７についてのストローク候補を重複排斥型文字検出部３００５に通知する。
【００６２】
重複排斥型文字検出部３００５は、重複検出部３００３からストロークｉ１００４が重複するストロークである旨の通知を受けているので、ストロークｉ１００４を文字の先頭のストロークとして筆跡辞書１０２を検索し、文字候補を検出する。なお、重複排斥型文字検出部３００５は、実施の形態１の時間区切り型文字検出部１０８と、文字の先頭ストロークの通知を受けていることに関して同様であるので、文字候補の検出をほぼ同様の手法で行う。重複排斥型文字検出部３００５は、図１４に示すような文字候補を高確率文字列検出部３００６に通知する。
【００６３】
高確率文字列検出部３００６は、重複排斥型文字検出部３００５から通知された文字候補の出現順序を変更することなく、各文字候補を組み合わせてできる有向グラフを作成し、各文字候補に確率辞書３００２に記載された数値を与える。図３３は、高確率文字列検出部３００６で作成された有向グラフ３３０１を示している。
【００６４】
高確率文字列検出部３００６は、有向グラフの全てのパスについて、その文字列と前文字の出現確率の数値をその文字数で除した値（平均値）を求める。文字列「モノレール」の平均値は、（８＋１２＋８＋８＋１２）／５＝９．６であり、文字列「モノレーノレ」の平均値は、（８＋１２＋８＋８＋４＋８）／６＝８．０であり、文字列「モノレーノ」の平均値は（８＋１２＋８＋８＋４＋４）／６＝７．３であり、文字列「ーーレノレール」の平均値は、同様に５．１であり、文字列「ーーレノレーノレ」の平均値は、４．５であり、文字列「ーーレノレーノー」の平均値は、４．０である。この平均値の最大の文字列「モノレール」を入力された手書き文字の認識結果として文字列出力部１１０に通知する。
【００６５】
次に、本実施の形態の動作を図３４と図３５とのフローチャートを用いて説明する。
先ず、使用者による手書き文字の筆記を受けて、座標入力部１０５は、ストロークの座標列をストローク照合部３００４と重複検出部３００３とに通知する（Ｓ３４０２）。
【００６６】
ストローク照合部３００４は、通知された座標列からストローク情報を求め、先頭のストロークか否かを判断し（Ｓ３４０４）、先頭のストロークのときには、求めたストローク情報と先頭フラグ付きストローク辞書３００１の先頭フラグ「１」が記載されたストローク情報との照合を行いストローク候補を検出し、重複排斥型文字検出部３００５にその評価値とともに通知する（Ｓ３４０６）。
【００６７】
先頭のストロークでないときには、求めたストローク情報と、先頭フラグ付きストローク辞書３００１に登録されている全てのストローク情報とを照合し、ストローク候補を検出し、重複排斥型文字検出部３００５にその評価値とともに通知する（Ｓ３４０８）。以上のＳ３４０２からＳ３４０８までの処理を手書き文字のストロークの入力が終了するまで続ける（Ｓ３４１０）。
【００６８】
次に、重複検出部３００３は、連続するストロークの全部又は一部分が重なり合うか否かを検出し、重なり合うときには、重複排斥型文字検出部３００５にそのストロークを通知する（Ｓ３４１２）。
重複排斥型文字検出部３００５は、ストローク照合部３００４から通知されたストローク候補列と筆跡辞書に登録された文字のストロークの順序とを検索し、文字候補を検出する。この際、重複検出部３００３から通知されたストロークを先頭のストロークとして文字候補を検出する（Ｓ３４１４）。
【００６９】
高確率文字列検出部３００６は、重複排斥型文字検出部３００５で検出された文字候補から有向グラフを作成し、各文字の出現確率を確率辞書３００２から求め、各パスごとに文字列出現確率の平均値を計算する。平均値の最高のパスの文字列を検出し、文字列出力部１１０に通知する（Ｓ３４１６）。
文字列出力部１１０は、通知された文字列を認識結果として出力する（Ｓ３４１８）。
【００７０】
図３５は、図３４のフローチャートのＳ３４１４の詳細を示すフローチャートである。重複排斥型文字検出部３００５の動作は、実施の形態１の時間区切り型文字検出部１０８と、Ｓ３５０６とＳ１６０６とが異なるだけであり、他の動作に異なるところはないので、Ｓ３５０６だけを説明する。
Ｓ３５０６において、重複排斥型文字検出部３００５は、重複検出部３００３から通知されたストロークがＩ〜Ｉ＋Ｋ−１番目のストローク内にあるか否かを判断する（Ｓ３５０６）。
【００７１】
なお、本実施の形態で、重複検出部３００３は、重複を検出したとき、重複排斥型文字検出部３００５に後のストロークを通知したけれども、ストローク照合部３００４にも通知するようにしてもよい。このようにすれば、ストローク照合部３００４は、通知されたストロークの座標列から求めたストローク情報を先頭フラグ付きストローク辞書３００１と照合するとき、先頭フラグ「１」のストロークとのみ照合することができ、ストローク候補の検出が容易となる。
【００７２】
（実施の形態４）
図３６は、本発明に係る文字入力装置の実施の形態４の構成図である。この文字入力装置は、ストローク辞書１０１と、オフストローク付き筆跡辞書３６０１と、座標入力部１０５と、オフストローク検出部３６０２と、ストローク照合部１０６と、オフストローク検証型文字検出部３６０３と、最短文字列検出部３６０４と、文字列出力部１１０とを備えている。
【００７３】
なお、上記実施の形態１と同様の構成部分には、同一の符号を付しその説明を省略し、本実施の形態固有の部分についてのみ説明する。
オフストローク付き筆跡辞書３６０１は、図３７に示すように、上記実施の形態１の筆跡辞書１０２に登録された文字とその構成ストローク数とストロークの順序との他にストローク数が複数のときに、ストロークとストロークとの間にオフストローク情報３７０１が登録されている。本実施の形態でのオフストローク情報３７０１は、ストロークの終点から次のストロークの始点への方向を図５に示した量子化した方向で表している。
【００７４】
座標入力部１０５は、手書き文字の入力をされると、ストローク毎の座標列をストローク照合部１０６とオフストローク検出部３６０２とに通知する。
ストローク照合部１０６は、座標入力部１０５から通知された座標列から各ストロークのストローク情報を求め、ストローク辞書１０１のストローク情報と照合し、ストローク候補を検出し、オフストローク検証型文字検出部３６０３に通知する。
【００７５】
オフストローク検出部３６０２は、図５に示した量子化した方向を予め記憶しており、座標入力部１０５から座標列の通知を受けると、ストロークの終点の座標と次のストロークの始端の座標とからストローク間のオフストロークの方向を検出する。検出したオフストロークの方向をストローク検証型文字検出部３６０３に通知する。今、座標入力部１０５に図３８に示すストロークｉ３８００〜ｉ３８０４が順次入力された場合、ストローク照合部１０６は、座標入力部１０５から通知された座標列より各ストロークのストローク情報を求める。求められたストローク情報３９０１を図３９に示す。次に、ストローク照合部１０６は、ストローク辞書１０１に登録されたストローク情報と求めたストローク情報とを照合し、ストローク候補を検出し、その評価値とともにオフストローク検証型文字検出部３６０３に通知する。各ストロークｉ３８００〜ｉ３８０４のストローク候補を図４０に示す。
【００７６】
オフストローク検出部３６０２は、通知された各ストロークｉ３８００〜ｉ３８０４の順にストローク間のオフストロークに番号を付し、その方向を順次検出する。ストロークｉ３８００とストロークｉ３８０１とのオフストロークｏ４１００の方向は、ストロークｉ３８００の終点からストロークｉ３８０１の始点への方向「ｄ５」である。同様に、ストロークｉ３８０１とストロークｉ３８０２とのオフストロークｏ４１０１方向は「ｄ１」である。検出したオフストローク情報４１０４を図４１に示す。このオフストローク情報４１０４をオフストローク検証型文字検出部３６０３に通知する。
【００７７】
オフストローク検証型文字検出部３６０３は、ストローク照合部１０６からストローク候補の通知を受け、オフストローク検出部３６０２からオフストローク情報の通知を受けると、オフストローク付き筆跡辞書３６０１に筆跡番号順に登録されている文字のストロークの順序とオフストローク情報と、通知されたストローク候補とオフストローク情報とを照合する。この際、オフストローク付き筆跡辞書３６０１のストローク間のオフストローク方向と対応する通知されたオフストロークの方向とが所定の角度以上異なるときには、筆跡辞書３６０１に登録された文字を構成するストロークにストローク候補がなり得ないと判断する。
【００７８】
即ち、図４０に示したストローク候補と図４１に示したオフストローク情報とが通知されたとき、通知されたストローク候補とオフストローク情報とをオフストローク付き筆跡辞書３６０１の筆跡番号「ｃ０」の文字「モ」から順に照合する。ストローク数「３」で最初のオフストローク方向１が「ｄ９」であり、通知されたオフストロークｏ４１００の方向が「ｄ５」であり、所定の角度（例えば９０゜）以上異なるので、筆跡番号「ｃ０」の文字「モ」ではないと判断する。筆跡番号「ｃ１」から「ｃ３」の各文字は、ストローク数が「１」であるので、通知されたオフストローク情報は用いない。
【００７９】
筆跡番号「ｃ５」の文字「フ」とストロークｉ３８００のストローク候補「ｓ６」とが一致するので文字候補「フ」を検出する。
次に、筆跡番号「ｃ６」の文字「ス」はストローク数が「２」であるので通知されたオフストロークｏ４１００の方向「ｄ５」と登録されたオフストロークの方向「ｄ２」とを比べると、９０゜未満であるので、ストロークの順序の２番目に登録されたストローク「ｓ７」がストロークｉ３８０１のストローク候補に含まれるか検索するけれども、所定の評価値「１０」以下のストローク候補が含まれていないので文字候補としないで、次の筆跡番号「ｃ７」の文字「マ」との照合をする。登録されたオフストローク方向「ｄ７」と対応するオフストロークｏ４１００の方向「ｄ５」とは、９０゜未満であるので登録されているストローク「ｓ９」がストロークｉ３８０１にあるか否かを検索するが、所定の評価値以下のストローク候補が含まれていないので、文字候補としない。
【００８０】
次に、ストロークｉ３８０１を先頭のストロークとして、オフストローク付き筆跡辞書３６０１の筆跡番号「ｃ０」から順に照合する。この結果、ストロークｉ２９０１から筆跡番号「ｃ５」の文字「フ」が文字候補として検出される。また、筆跡番号「ｃ６」のオフストローク方向１「ｄ２」と対応するオフストロークｏ４１０１の方向「ｄ１」とは９０゜未満であり、ストロークｉ２９０１とストロークｉ２９０２のストローク候補「ｓ６」、「ｓ７」とより文字「ス」が文字候補として検出される。
【００８１】
同様に、ストロークｉ２９０３から筆跡番号「ｃ５」の文字「フ」、ストロークｉ２９０４から筆跡番号「ｃ１」の長音記号「ー」、ストロークｉ２９０３とストロークｉ２９０４とから筆跡番号「ｃ７」の文字「マ」がそれぞれ文字候補として検出される。
オフストローク検証型文字検出部３６０３は、図４２に示す文字候補を最短文字列検出部３６０４に通知する。
【００８２】
最短文字列検出部３６０４は、オフストローク検証型文字検出部３６０３から文字候補の通知を受けると、全てのストロークｉ３８００〜ｉ３８０４を用いた文字候補で文字列を作成し、そのうち最短（最小文字数）となる文字列を文字列出力部１１０に通知する。
図４２に示した文字候補からは文字列「フスフー」と文字列「フスマ」とが作成され、最短となる文字列「フスマ」が認識結果となる。
【００８３】
次に、本実施の形態の動作を図４３と図４４とのフローチャートを用いて説明する。なお、上記実施の形態１のＳ１５０２,Ｓ１５０４とＳ４３０２,Ｓ４３０４とはそれぞれ同様の処理であり、Ｓ１５０８とＳ４３０８とも同様であり、Ｓ１５１４とＳ４３１４とも同様であるので説明を省略する。
Ｓ４３０６において、オフストローク検出部３６０２は、座標入力部１０５から通知された座標列からストロークの終点と次のストロークの始点とを結ぶ方向を検出し、オフストローク検証型文字検出部３６０３に通知する。
【００８４】
Ｓ４３１０において、オフストローク検証型文字検出部３６０３は、文字候補を検出する。なお、詳細は図４４のフローチャートに示している。
Ｓ４３１２において、最短文字列検出部３６０４は、オフストローク検証型文字検出部３６０３から通知された文字候補からその出現順を替えずに、文字候補を組み合わせて文字列を作成し、最小の文字数となる文字列を認識結果として検出する。
【００８５】
図４４に示す文字候補の検出の詳細では、実施の形態１のＳ１６０６とＳ４４０６とが異なるので、Ｓ４４０６を説明する。
Ｓ４４０６において、オフストローク検証型文字検出部３６０３は、ストローク照合部１０６から通知されたＩ〜Ｉ＋Ｋ−１番目のストローク内のオフストローク情報とオフストローク付き筆跡辞書３６０１に登録された第Ｊ筆跡の対応するオフストローク情報（方向）に９０度以上異なるものがあるか否かを判断する。異なるものがあれば、その登録された文字は文字候補とならないのでＳ４４１０に移り、否であれば、Ｓ４４０８に移り、ストローク候補と登録されているストロークの順序とを照合する。
【００８６】
なお、本実施の形態では、オフストローク情報としてオフストロークの方向を用いたけれども、ストロークの終点と次のストロークの始点との距離をオフストローク情報としてオフストローク付き筆跡辞書に登録しておき、オフストローク検出部が入力されたストロークの同様の距離を求めてオフストローク検証型文字検出部に通知し、オフストローク検証型文字検出部が登録されている距離と通知された距離とが所定の範囲内にあるか否かを判断し、範囲内になければ、登録された文字を文字候補として検出しないようにしてもよい。
（実施の形態５）
本発明に係る文字入力装置の実施の形態５は、実施の形態１の構成とほぼ同様である。ただし、時間区切り検出部１０７をその構成から省略しており、ストローク辞書１０１と筆跡辞書１０２と単語辞書１０３との内容を入力手書き文字がアルファベットの場合に適用できる様に変更している。
【００８７】
本実施の形態では、この変更部分を中心にアルファベットの手書き文字が入力された場合の具体例について説明する。なお、実施の形態１と同様の構成部分については同一の符号を付し、その説明を省略している。
図４５は、ストローク辞書の一例を示している。このストローク辞書４５０１は、アルファベットの構成要素であるストロークのストローク番号４５０２ごとにストローク情報を登録している。ストローク情報は、ストロークがタブレット２０１のどのエリアを始点としてどのエリアを終点としているかを示す始点エリア４５０３と終点エリア４５０４とからなるエリア情報を含んでいる。
【００８８】
また、ストローク情報は、ストロークの始点から終点までの方向に（方向に変化があれば方向列）４５０５とその方向数４５０６とからなる方向情報を含んでいる。
ストローク辞書４５０５のストローク番号「ｓ０」〜「ｓ７」に登録されたストロークの具体例を図４６（ａ）〜（ｈ）に示している。ここで、ストロークの始点には、「・」を付してストロークの終点と区別している。図４６（ａ）に示すようにストローク番号「ｓ０」のストロークは、始点エリア「ａ００」、終点エリア「ａ３０」、方向「ｄ１２」で示される。ストロークの始点から終点までは、ほぼ直線で方向に変化がないので方向数４５０６は「１」である。図４６（ｃ）,（ｄ）,（ｆ）,（ｇ），（ｈ）も同様に方向数４５０６は「１」である。
【００８９】
図４６（ｂ）に示すように、ストローク番号「ｓ１」のストロークは始点エリア「ａ００」、終点エリア「ａ１０」、方向列「ｄ１５，ｄ１３，ｄ１１，ｄ９」で示される。ストロークの始点から終点までに方向がほぼ逆方向に変化し、方向数４５０６は「４」である。図４６（ｅ）のストローク番号「Ｓ４」のストロークは、始点エリア「ａ００」,終点エリア「ａ３０」、方向列「ｄ１５，ｄ１３，ｄ１１，ｄ９」、方向数４５０６は「４」である。
【００９０】
このように、ストローク辞書４５０１には、文字（アルファベット）の構成要素のストロークをタブレット２０１上のエリアとストロークの方向との情報であるストローク情報として登録されている。
図４７に筆跡辞書の一例を示す。この筆跡辞書４７０１は、アルファベットを示すものであり、文字を識別する筆跡番号４７０２と、その文字４７０３と、文字を構成するストローク数４７０４と、そのストロークの順序４７０５とを含んでいる。ストロークを示すのには、ストローク番号が用いられている。筆跡番号「ｃ０」〜「ｃ５」の文字の具体例を図４８（ａ）〜（ｆ）に示している。
【００９１】
なお、文字には疑問符「？」などの記号も含む。
図４９に単語辞書の一例を示す。単語辞書４９０１は、単語を識別する単語番号４９０２と、単語を構成する文字数４９０３と、その文字順序４９０４とを含んでいる。
今、タブレット２０１上に使用者によって手書き文字の筆跡が図５０に示すようにスタイラスペン２０４によって筆記された場合、座標入力部１０５は、各ストロークｉ５０００〜ｉ５０１０の座標列をストローク照合部１０６に通知する。ストローク照合部１０６は、通知された各ストロークについてストローク情報を求める。これによって、図５１に示すように、使用者により手書きされた各ストロークｉ５０００〜ｉ５０１０について、ストローク情報が求められる。なお、図５０で、矢符は、ストロークの終点を示している。
【００９２】
ストローク照合部１０６は、各ストローク情報ｉ５０００〜ｉ５０１０とストローク辞書４５０１の各ストローク情報とを照合して一致度の高いストローク候補を求め、時間区切り型文字検出部１０８に通知する。通知したストローク候補を図５２に示す。図５２において、各ストロークｉ５０００〜ｉ５０１０について、各々５つのストローク候補ｓｃ０〜ｓｃ４にストローク番号が記載されている。ストローク番号に（  ）を付して記載された数値は、ストローク情報の評価値である。
【００９３】
例えば、ストロークｉ５０００では、ストローク番号「ｓ６」、「ｓ５」、「ｓ７」、「ｓ２」、「ｓ３」の順に記載されており、一致度の高いストロークから低いストロークの順に記載されていることを示している。他のストロークｉ５００１〜ｉ５０１０についても同様である。
時間区切り型文字検出部１０８は、ストローク照合部１０６から、図５２に示すようなストローク列と各ストロークのストローク候補の通知を受けると、ストローク候補のうち評価値「１０」以上のストローク候補を無視する。ストローク候補「ｓｃ０」，「ｓｃ１」の全てと、ストロークｉ５００２，ストロークｉ５００９，ストロークｉ５０１０のストローク候補「ｓｃ２」と、ストロークｉ５００９のストローク候補「ｓｃ３」とが筆跡辞書４７０１のストローク順序４７０５の各ストロークとのストローク番号が一致するか否かの判断対象となる。
【００９４】
以下、時間区切り型文字検出部１０８の具体的な動作を図５２を参照しながら説明する。筆跡辞書４７０１の筆跡番号「ｃ０」の文字から順にストロークｉ５０００のストローク候補とそのストローク番号が一致するか否かを判断する。筆跡番号「ｃ０」の文字「Ｄ」はストローク数が「２」であるので、ストローク列ｉ５０００〜ｉ５００１までのストローク候補のストローク番号とストロークの順序４７０５に記載したストローク番号とが一致するか否かを判断する。ストローク候補「ｓｃ０」のストローク番号「ｓ６」、「ｓ０」及びストローク候補「ｓｃ１」のストローク番号「ｓ５」、「ｓ３」とを組み合わせてもストローク１，ストローク２の「ｓ０」、「ｓ４」とは一致しないので文字候補「ｃ０（Ｄ）」は検出されない。
【００９５】
筆跡辞書４７０１の筆跡番号「ｃ１」の文字「Ｅ」はストローク数が「４」であるので、ストローク列ｉ５０００〜ｉ５００３までのストローク候補のストローク番号とストローク順序４７０５に記載したストローク番号とが一致するか否かを判断する。ストロークｉ５０００のストローク候補「ｓｃ１」、ストロークｉ５００１のストローク候補「ｓｃ０」、ストロークｉ５００２のストローク候補「ｓｃ０」のそれぞれはストローク１，ストローク２，ストローク３の「ｓ５」、「ｓ０」、「ｓ６」と一致するけれども、ストロークｉ５００３にストローク４の「ｓ７」に一致するストローク候補がみつけられないので、筆跡番号「ｃ１」の文字「Ｅ」も検出されない。
【００９６】
筆跡辞書４７０１の筆跡番号「ｃ２」の文字「Ｆ」はストローク数が「３」であるので、ストローク列ｉ５０００〜ｉ５００２までのストローク候補のストローク番号とストローク順序４７０５に記載したストローク番号「ｓ５」、「ｓ０」、「ｓ６」とが一致するか否かを判断する。ストロークｉ５０００のストローク候補「ｓｃ１」、ストロークｉ５００１のストローク候補「ｓｃ０」、ストロークｉ５００２のストローク候補「ｓｃ０」とが一致するので文字候補「ｃ２（Ｆ）」が検索される。
【００９７】
ストローク列ｉ５０００〜ｉ５００２により文字候補「ｃ２（Ｆ）」が検索されているが、筆跡辞書４７０１の筆跡番号「ｃ３」の文字「Ｉ」とストロークｉ５００１のストローク候補「ｓｃ１」のストローク番号「ｓ３」とが一致するので、ストロークｉ５００１に文字候補「ｃ３（Ｉ）」も検出される。
ストロークｉ５００３からは文字候補「ｃ３（Ｉ）」が検出される。
【００９８】
このように、時間区切り型文字検出部１０８によって、図５３に示すような文字候補が各ストローク又は各ストローク列に対して検出される。検出が終了すると単語検出部１０９にこれらの文字候補が通知される。
次に、単語検出部１０９は、時間区切り型文字検出部１０８から文字候補の通知を受けると、単語辞書４９０１を参照して単語を検出する。
【００９９】
図５３に示した文字候補の通知を受けると、ストローク列ｉ５０００〜ｉ５００２の文字候補の文字「Ｆ」を先頭文字とする単語を単語辞書４９０１を検索してみつける。単語辞書４９０１には、文字「Ｆ」を先頭文字とする単語ｗ１があり、単語ｗ１を構成する文字列の全てがストローク列ｉ５０００〜ｉ５０１０の文字候補の列に含まれていれば、その単語ｗ１を検出する。単語ｗ１の文字数は「４」であるので、その文字を順次ストローク列ｉ５００３以降の文字候補の列と照合する。ストロークｉ５００３の文字候補ｃｃ０「Ｉ」、ストロークｉ５００４〜ｉ５００６列の文字候補ｃｃ２「Ｒ」、ストロークｉ列５００７〜ｉ５０１０の文字候補ｃｃ０「Ｅ」が単語ｗ１と一致するので、単語ｗ１「ＦＩＲＥ」を検出する。単語辞書４９０１には、文字「Ｆ」を先頭文字とする単語がこの他にないので、検索を終る。なお、文字「Ｆ」を先頭文字とする単語が単語辞書４９０１にあるときには、ストロークｉ５００３以降の文字候補の組み合わせについても検索を行う。
【０１００】
単語検出部１０９は、検出した単語を文字列出力部１１０に通知する。
文字列出力部１１０は、通知された単語を表示画面２０３に表示するとともに、記憶部（図示せず）に記憶させる。
なお、本実施の形態の動作は、実施の形態１の動作を説明するフローチャート図１５と図１６とのうち、図１５に示したＳ１５０６を省略すること以外は、同様であるので、説明を省略する。
【０１０１】
なお、本発明を用いた装置では、例えば、液晶タブレット上にスタイラスペンを用いて筆記する際に、最新の入力座標列を液晶タブレット上に一定時間もしく一定数のフィードバック表示を行う構成にすることで、さらに正確な手書き入力が可能になる。
また、入力座標列が一定数以上入力された時点で、文字の検出を開始し、筆記中にも文字列を出力していくことで、文字入力の状態を確かめながらスムーズな手書き入力が可能になる。
【０１０２】
また、文字列の候補を表示して、所望の文字列を選択するインタフェースを備えることで、誤検出された文字列を容易に修正することが可能になる。
また、誤検出した文字列の範囲を選択するインタフェースを備えることで、誤検出した文字列を効率的に修正することが可能になる。
また、選択した範囲の文字列の座標列を再入力できるインタフェースを備えることで、誤った筆記を容易に修正することが可能になる。
【０１０３】
また、選択した範囲の文字列の座標列をキーボードなどの入力から修正する場合に、先に入力された座標列を学習モードで自動的に登録するインタフェースを備えることで、効率的に筆跡の学習が可能になる。
また、最初に装置を使用する際に、学習モードで全てもしくは一部の文字を使用者に筆記させ、個人に特化されたストローク辞書及び筆跡辞書を構築するインタフェースを備えることで、手書き入力を高精度に行うことが可能になる。
【０１０４】
また、上記実施の形態１〜４では、手書き文字がカタカナ文字の場合について、上記実施の形態５では、手書き文字がアルファベットの場合について、それぞれ説明したけれども、ストローク辞書１０１に数字や平仮名更に漢字の構成要素であるストロークのストローク情報を登録し、筆跡辞書１０２にこれらの文字毎のストロークの順序を登録し、更に、単語辞書１０３にこれらの文字を構成要素とする単語を登録することにより、手書き文字は、カタカナ文字やアルファベットに限ることはなく、漢字等であってもよいのは勿論である。
【０１０５】
また、ストロークの方向を図５に示す１６方向に量子化された方向の列で表現しているが、他の情報を用いることも可能である。
また、ストロークの始点終点を図４に示す手書き文字入力面を縦に４分割、横に４分割した１６個の領域で表現しているが、他の情報を用いることも可能である。
【０１０６】
また、座標列からストローク情報への変換は、まず座標列から図５に示す方向の列を公知のセグメント化手法により抽出し、次に座標列の始終点の位置が図４の領域のそれぞれどこに含まれるか判定することで行われるが、他の方法を用いることも可能である。
また、ストローク情報の照合はストロークの方向列同士の照合評価値と、ストロークの始点同士の照合評価値と、ストロークの終点同士の照合評価値との単純和をストローク情報の評価値として用いて行っているが、各々の評価値に適切な係数をかけるなどの算術式の結果をストローク情報の評価値に用いることも可能である。
【０１０７】
また、方向列同士の評価値はＤＰマッチング法により方向列同士を照合して求めているが、他の方法を用いることも可能である。
また、始点同士の評価値には始点同士の市街地距離を用いているが、他の方法を用いることも可能である。
また、終点同士の評価値には終点同士の市街地距離を用いているが、他の方法を用いることも可能である。
【０１０８】
また、ストローク情報の評価値が１０以上のストローク候補を切り捨てて文字候補の検出を行っているが、ストローク候補の切り捨ての基準は別の基準を用いることも可能である。
さらに、本発明とかな漢字変換の技術とを組み合わせてさらに効率のよい文字入力環境が構築できることはいうまでもない。
【０１０９】
更に、上記実施の形態では、文字入力装置の構成を図１等の構成図で示したけれども、各構成部の機能をコンピュータに発揮させるプログラムをコンピュータ読み取り可能な記録媒体に記録してもよい。このような記録媒体を一つの文字入力枠内に次々と手書き文字を重ね書きして認識する機能のない文字入力装置に用いることによって、本発明に係る文字入力装置と同様の効果を発揮させることができる。
【０１１０】
【発明の効果】
以上説明したように、本発明は、文字１つ分の入力枠を有し前記入力枠に複数の手書き文字を重ね書きして入力する入力手段と、前記入力部により重ね書きして入力された各文字を文字単位に表示する表示手段と、文字を構成する各ストロークの基準となる基準ストローク情報を登録するストローク辞書と、文字単位にストロークの順序を登録する文字辞書と、文字列を構成する各文字の出現確率を数値で示している確率辞書と、前記入力手段に複数の手書き文字が重ね書きして入力されると、前記入力された文字のストロークと前記ストローク辞書に登録されている基準ストローク情報とを照合して、前記入力された文字のストロークに対応するストローク候補を出力するストローク照合手段と、前記ストローク照合手段から順次出力される一連のストローク候補の順序と一致するストロークの順序を有する文字を前記文字辞書から検索し、前記検索された文字の順序を変更することなく組み合わせた文字列候補を一以上作成し、前記確率辞書に基づいて各文字列候補ごとに前記数値の合計を算出し、前記作成された一以上の文字列候補の中で前記算出された数値の合計を、各文字列候補を構成する文字数で除した値が最大の文字列を、前記重ね書きして入力された複数の手書き文字として検出し、前記検出された複数の手書き文字の各文字を文字単位で前記表示手段に表示する文字検出手段とを具備するものである。このような構成によって、一つの入力枠に重ね書きされた手書き文字から正しい文字を検出することができる。また、文字列の中での文字の出現確率により手書き文字を認識するので正確な文字認識が可能となる。
【０１１１】
また、前記基準ストローク情報は、ストロークの開始位置と終了位置と方向と方向数とを含み、前記ストローク照合手段は、前記座標列からストロークの開始位置と終了位置と方向と方向数とを含むストローク情報を求めるストローク情報取得部と、求められたストローク情報と前記基準ストローク情報とを照合して複数のストローク候補を出力するストローク候補出力部と、出力される各ストローク候補に基準ストローク情報との一致度に応じた評価値を付加する評価値付加部とを有し、前記文字検出手段は、前記評価値の一致度の低いストローク候補を無視し、残りのストローク候補を用いて文字候補を検出する文字候補検出部と、検出された文字候補から正しい文字を検出する文字検出部とを有することとしている。このような構成によって、認識レベルの低いストローク候補から文字候補を検出する無駄を省き、文字候補の検出の効率を高めることができる。
【０１１２】
また、前記入力部に手書きによりある文字のストロークが入力されると、ストローク単位でその座標列を出力する座標出力手段、及び前記座標出力手段から出力される座標列のうち直前の座標列との間の時間間隔が所定の時間以上開いた座標列を検出する座標列検出手段を更に備え、前記文字候補検出部は、前記座標列検出手段で検出された座標列に対応するストローク候補を文字の先頭ストロークとして文字候補を検出することとしている。このような構成によって、別の文字として手書き入力されたストロークを同一文字を構成するストロークとして誤認識することを防止することができる。
【０１１３】
また、前記文字検出部は、単語毎に文字の順序を登録している単語辞書と、前記文字候補検出部が検出した文字候補又は文字候補の組み合わせが前記単語辞書に登録されているとき当該単語を入力された手書き文字として検出する単語検出部とを有することとしている。このような構成によって、入力された手書き文字から単語辞書に登録された正確な単語を認識することができる。
【０１１４】
また、前記確率辞書は、文字列を構成する隣接する文字の出現確率を数値で示している。このような構成によって、文字の前後の出現確率により手書き文字を認識できるので単語辞書に登録されていない文字列も認識することができる。
【０１１５】
また、前記座標出力手段から出力された座標列のうち直前の座標列との間の時間間隔が所定の時間以上開いた座標列を検出する座標列検出手段を更に備え、前記文字検出手段は、前記座標列検出手段で検出された座標列に対応するストローク候補を文字の先頭ストロークとして文字候補を検出する文字候補検出部と、検出された文字候補から正しい文字を検出する文字検出部することとしている。このような構成によって、ストローク情報の照合を高速にし、かつ精度の高いものとすることができる。
【０１１６】
また、前記文字検出手段は、複数の文字候補を検出する文字候補検出部と、単語毎に文字の順序を登録している単語辞書と、前記文字候補検出部が検出した文字候補又は文字候補の組み合わせが前記単語辞書に登録されているとき当該単語を入力された手書き文字として検出する単語検出部とを有することとしている。このような構成によって、一つの入力枠に重ね書きされた手書き文字から文字候補を検出し、更に正しい文字を検出することができる。
【０１１７】
また、手書き文字の学習をする学習モードを更に有し、前記学習モードにおいて、前記ストローク照合手段は、ストローク候補に前記ストローク辞書に登録された基準ストローク情報との一致度に応じた評価値を付し、前記評価値が所定の評価値より低い一致度を示すとき、前記ストローク候補のストローク情報を前記ストローク辞書に基準ストローク情報として追加登録するストローク辞書追加登録手段と、前記文字辞書に学習対象の文字に当該ストローク候補を含むストロークの順序を追加登録する文字辞書追加登録手段とを更に備えることとしている。このような構成によって、使用者の個性的な手書き文字の入力に対しても正確に文字を認識することができる。
【０１１８】
また、前記ストローク辞書は、各基準ストローク情報に文字の先頭ストロークになる可能性を有するか否かを示すフラグを付して登録しており、前記ストローク照合手段は、前記座標出力手段から最初に出力された座標列から求めたストローク情報を前記ストローク辞書の先頭ストロークを示すフラグが付された基準ストローク情報とのみ照合することとしている。このような構成によって、ストローク情報の照合を高速にし、かつ精度の高いものとすることができる。
【０１１９】
また、前記座標出力手段から出力される座標列のうち直前の座標列との間の時間間隔が所定の時間以上開いた座標列を検出する座標列検出手段を更に備え、前記ストローク辞書は、各基準ストローク情報に文字の先頭ストロークになる可能性を有するか否かを示すフラグを付して登録しており、前記ストローク照合手段は、前記座標列検出手段で検出された座標列に対応するストローク情報を前記ストローク辞書の先頭ストロークを示すフラグが付された基準ストローク情報とのみ照合することとしている。このような構成によって、ストローク情報の照合を高速にし、かつ精度の高いものとすることができる。
【０１２０】
また、前記ストローク照合手段は、前記座標出力手段から出力される前後のストロークの座標列がその全部又は一部分が同一の直線上で重なり合うか否かを検出する重複検出部を有し、前記文字検出手段は、前記重複検出部で重なりが検出されたとき、前記文字辞書から文字を検出するに際し、後のストロークが前のストロークと同一文字を構成するストロークに含まれないようすることとしている。このような構成によって、一つの入力枠に重ね書きされた手書き文字から文字ごとのストロークを間違いなく検出するので、文字の誤認識を防止し、かつ高速に文字認識をすることができる。
【０１２１】
また、前記座標出力手段から出力された座標列の終点と次の座標列の始点とからオフストローク情報を検出するオフストローク情報検出手段を更に備え、前記文字辞書は、文字を構成するストロークが複数のときに、ストロークの終点と次のストロークとの始点との関係を示すオフストローク情報を更に登録しており、前記文字検出手段は、前記ストローク照合手段が出力したストローク候補を用いて文字を検出する際、前記オフストローク情報検出手段で検出されたオフストローク情報が前記文字辞書に登録された対応するオフストローク情報と所定以上の差を有するとき、その文字を検出しないこととしている。このような構成によって、ストロークとストロークとの間のオフストローク情報を用いることにより、ストローク情報の類似する文字も正しく区別して認識することができる。
【０１２２】
また、前記文字検出手段は、複数の文字候補を検出する文字候補検出部と、前記文字候補検出部で検出された文字候補の順序を変更することなく組み合わせた文字列を作成し、文字数が最小となる文字列を入力された手書き文字として検出する最短文字検出部とを有することとしている。このような構成によって、特別な単語辞書等を備えなくとも正しく手書き文字を認識することができる。
【０１２３】
また、本発明は、ユーザが手書き文字を入力すると、ストローク単位でその座標列を出力する座標出力ステップと、出力された座標列からストローク単位にストローク情報を求め、ストローク辞書にストローク毎に登録されている基準ストローク情報と照合してストローク候補を出力するストローク照合ステップと、前記ストローク照合ステップから得られるストロークの入力順の一群のストローク候補の順序をキーとして文字辞書に文字毎に登録されているストロークの順序を検索し一致するストローク順序を有する文字を検出する文字検出ステップとを有することとしている。このような構成によって、一つの入力枠に重ね書きされた文字から正しい文字を検出することができる。
【０１２４】
更に、本発明は、コンピュータ読み取り可能な記録媒体であって、ストローク毎に基準ストローク情報を登録したストローク辞書と、文字毎にストロークの順序を登録した文字辞書とを予め記録し、ユーザが手書き文字を入力すると、ストローク単位でその座標列を出力する座標出力手段と、出力された座標列からストローク単位にストローク情報を求め、前記ストローク辞書に登録されている基準ストローク情報と照合してストローク候補を出力するストローク照合手段と、前記ストローク照合手段から得られるストロークの入力順の一群のストローク候補の順序をキーとして前記文字辞書を検索し一致するストローク順序を有する文字を検出する文字検出手段との各手段の機能をコンピュータに発揮させるプログラムを記録していることとしている。このようなプログラムを記録した記録媒体を一つの入力枠に重ね書きされた手書き文字を一文字づつ識別する機能のない文字入力装置に適用して、手書き文字から正しい文字を検出することのできる文字入力装置にすることができる。
【図面の簡単な説明】
【図１】本発明に係る文字入力装置の実施の形態１の構成図である。
【図２】上記実施の形態の文字入力装置の正面図の一例である。
【図３】上記実施の形態のストローク辞書の内容の一例を示す図である。
【図４】上記実施の形態のエリア情報の一例を示す図である。
【図５】上記実施の形態のストローク方向の一例を示す図である。
【図６】上記実施の形態のストローク辞書に登録されたストロークの具体例を示す図である。
【図７】上記実施の形態の筆跡辞書の内容の一例を示す図である。
【図８】上記実施の形態の筆跡辞書に登録された文字の具体例を示す図である。
【図９】上記実施の形態の単語辞書の一例である。
【図１０】上記実施の形態の座標入力部に入力されるストロークの具体例を示す図である。
【図１１】上記実施の形態のストローク照合部で座標入力部から出力された座標列から求められたストローク情報を示す図である。
【図１２】上記実施の形態の図１０に示されたストロークからストローク照合部で求められたストローク候補を示す図である。
【図１３】上記実施の形態の時間区切り検出部で計時された各ストロークの筆記開始時間と筆記終了時間とを示す図である。
【図１４】上記実施の形態の時間区切り型文字検出部で図１２に示したストローク候補から検出された文字候補を示す図である。
【図１５】上記実施の形態の動作を説明するフローチャートである。
【図１６】上記実施の形態の図１５のＳ１５１０の詳細を説明するフローチャートである。
【図１７】本発明に係る文字入力装置の実施の形態２の構成図である。
【図１８】上記実施の形態の学習モードで入力される手書き文字のストロークを示す図である。
【図１９】上記実施の形態の図１８に示したストロークから求められたストローク情報を示す図である。
【図２０】上記実施の形態で求められたストローク情報を既存のストローク辞書と照合して出力されるストローク候補を示す図である。
【図２１】上記実施の形態の選別型ストローク辞書登録部で新たに登録されたストローク情報を含むストローク辞書の一例を示す図である。
【図２２】上記実施の形態の選別型筆跡辞書登録部で新たに登録された文字を含む筆跡辞書の一例を示す図である。
【図２３】上記実施の形態の座標入力部から入力されるストロークの具体例を示す図である。
【図２４】上記実施の形態のストローク照合部で座標入力部から出力された座標列から求められたストローク情報を示す図である。
【図２５】上記実施の形態の図２３に示されたストロークからストローク照合部で求められたストローク候補を示す図である。
【図２６】上記実施の形態の時間区切り検出部で計時された各ストロークの筆記開始時間と筆記終了時間とを示す図である。
【図２７】上記実施の形態の時間区切り型文字検出部で図２５に示したストローク候補から検出された文字候補を示す図である。
【図２８】上記実施の形態の動作を説明するフローチャートである。
【図２９】上記実施の形態の図２８のＳ２８０２の詳細を説明するフローチャートである。
【図３０】本発明に係る文字入力装置の実施の形態３の構成図である。
【図３１】上記実施の形態の先頭フラグ付きストローク辞書の一例を示す図である。
【図３２】上記実施の形態の確率辞書の一例を示す図である。
【図３３】上記実施の形態の高確率文字列出力部で生成される有向グラフの一例を示す図である。
【図３４】上記実施の形態の動作を説明するフローチャートである。
【図３５】上記実施の形態の図３５に示すＳ３４１４の詳細を示すフローチャートである。
【図３６】本発明に係る文字入力装置の実施の形態４の構成図である。
【図３７】上記実施の形態のオフストローク付き筆跡辞書の一例を示す図である。
【図３８】上記実施の形態の座標入力部に入力されるストロークの具体例を示す図である。
【図３９】上記実施の形態のストローク照合部で座標入力部から出力された座標列から求められたストローク情報を示す図である。
【図４０】上記実施の形態の図３８に示したストロークからストローク照合部で求められたストローク候補を示す図である。
【図４１】上記実施の形態のオフストローク検出部で検出されたオフストローク情報を示す図である。
【図４２】上記実施の形態のオフストローク検証型文字検出部で図４０に示したストローク候補から検出された文字候補を示す図である。
【図４３】上記実施の形態の動作を説明するフローチャートである。
【図４４】上記実施の形態の図４３に示すＳ４３１０の詳細を示すフローチャートである。
【図４５】本発明に係る文字入力装置の実施の形態５のストローク辞書の内容の一例を示す図である。
【図４６】上記実施の形態のストローク辞書に登録されたストロークの具体例を示す図である。
【図４７】上記実施の形態の筆跡辞書の内容の一例を示す図である。
【図４８】上記実施の形態の筆跡辞書に登録された文字の具体例を示す図である。
【図４９】上記実施の形態の単語辞書の一例である。
【図５０】上記実施の形態の座標入力部に入力されるストロークの具体例を示す図である。
【図５１】上記実施の形態のストローク照合部で座標入力部から出力された座標列から求められたストローク情報を示す図である。
【図５２】上記実施の形態の図５０に示されたストロークからストローク照合部で求められたストローク候補を示す図である。
【図５３】上記実施の形態の時間区切り型文字検出部で図５２に示したストローク候補から検出された文字候補を示す図である。
【符号の説明】
１０１、１７０３、４５０１  ストローク辞書
１０２、１７０５、４７０１  筆跡辞書
１０３、４９０１            単語辞書
１０４                      モード切替え部
１０５                      座標入力部
１０６                      ストローク照合部
１０７                      時間区切り型検出部
１０８                      時間区切り型文字検出部
１０９                      単語検出部
１１０                      文字列出力部
１７０１                    学習文字表示部
１７０２                    選択型ストローク辞書登録部
１７０４                    選択型筆跡辞書登録部
３００１                    先頭フラグ付きストローク辞書
３００２                    確率辞書
３００３                    重複検出部
３００４                    ストローク照合部
３００５                    重複排斥型文字検出部
３００６                    高確率文字列検出部
３６０１                    オフストローク付き筆跡辞書
３６０２                    オフストローク検出部
３６０３                    オフストローク検証型文字検出部
３６０４                    最短文字列検出部
【図１】
0004536239.tif 000002
【図２】
0004536239.tif 000003
【図３】
0004536239.tif 000004
【図４】
0004536239.tif 000005
【図５】
0004536239.tif 000006
【図６】
0004536239.tif 000007
【図７】
0004536239.tif 000008
【図８】
0004536239.tif 000009
【図９】
0004536239.tif 000010
【図１０】
0004536239.tif 000011
【図１１】
0004536239.tif 000012
【図１２】
0004536239.tif 000013
【図１３】
0004536239.tif 000014
【図１４】
0004536239.tif 000015
【図１５】
0004536239.tif 000016
【図１６】
0004536239.tif 000017
【図１７】
0004536239.tif 000018
【図１８】
0004536239.tif 000019
【図１９】
0004536239.tif 000020
【図２０】
0004536239.tif 000021
【図２１】
0004536239.tif 000022
【図２２】
0004536239.tif 000023
【図２３】
0004536239.tif 000024
【図２４】
0004536239.tif 000025
【図２５】
0004536239.tif 000026
【図２６】
0004536239.tif 000027
【図２７】
0004536239.tif 000028
【図２８】
0004536239.tif 000029
【図２９】
0004536239.tif 000030
【図３０】
0004536239.tif 000031
【図３１】
0004536239.tif 000032
【図３２】
0004536239.tif 000033
【図３３】
0004536239.tif 000034
【図３４】
0004536239.tif 000035
【図３５】
0004536239.tif 000036
【図３６】
0004536239.tif 000037
【図３７】
0004536239.tif 000038
【図３８】
0004536239.tif 000039
【図３９】
0004536239.tif 000040
【図４０】
0004536239.tif 000041
【図４１】
0004536239.tif 000042
【図４２】
0004536239.tif 000043
【図４３】
0004536239.tif 000044
【図４４】
0004536239.tif 000045
【図４５】
0004536239.tif 000046
【図４６】
0004536239.tif 000047
【図４７】
0004536239.tif 000048
【図４８】
0004536239.tif 000049
【図４９】
0004536239.tif 000050
【図５０】
0004536239.tif 000051
【図５１】
0004536239.tif 000052
【図５２】
0004536239.tif 000053
【図５３】
0004536239.tif 000054