(57)【要約】【課題】手書き文字の編集を容易にする技術を提供する。【解決手段】ユーザによって手書き入力される文字の軌跡を一連の座標データとして検出し、検出した一連の座標データを入力文字履歴として記憶し、手書き入力された文字の前記座標データを前記入力文字履歴と比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データに続いて記憶されている座標データを前記入力文字履歴から抽出し、前記入力文字履歴から抽出した座標データを次に入力される入力候補文字列として出力する。【選択図】図４
2013025390.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって手書き入力される文字の軌跡を一連の座標データとして検出するステップと、
過去に手書き入力された文字の座標データを記憶した入力文字履歴と、前記手書き入力された文字の座標データとを比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データに続いて記録されている座標データを前記入力文字履歴から抽出するステップと、
前記入力文字履歴から抽出した座標データを次に入力される入力候補文字列として出力するステップと、
をコンピュータが実行する手書き入力方法。
【請求項２】
ユーザによって手書き入力される文字の軌跡を一連の座標データとして検出するステップと、
過去に手書き入力された文字の座標データを記憶した入力文字履歴と、前記手書き入力された文字の座標データとを比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データに続いて記録されている座標データを前記入力文字履歴から抽出するステップと、
前記入力文字履歴から抽出した座標データを次に入力される入力候補文字列として出力するステップと、
をコンピュータに実行させるための手書き入力プログラム。
【請求項３】
ユーザによって入力される文字の軌跡を一連の座標データとして検出する入力検出部と、
過去に手書き入力された文字を入力文字履歴として記憶する記憶部と、
手書き入力された文字の前記座標データを前記入力文字履歴と比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データに続いて記録されている座標データを前記入力文字履歴から抽出する入力候補抽出部と、
前記入力文字履歴から抽出した座標データを次に入力される入力候補文字列として出力する出力制御部と、
を備えた手書き入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、手書き文字入力の技術に関する。
【背景技術】
【０００２】
従来、タッチパネルを備えた情報処理装置において、タッチパネル上で指やペン（スタイラス）等を動かして文字を入力する手法、所謂手書き文字入力が知られている。特に、キーボードを備えていないタブレット型の情報処理端末では、メモをとるように直感的に入力を行うことができる手書き文字入力が便利である。
この手書き文字入力では、例えば入力した手書きの文字をパターン認識して文字コードに変換し、当該文字コードに対応する文字を表示部に表示する。
【０００３】
また、この手書き文字入力を支援するため、入力された文字列を検索キーとして推測辞書を参照し、次に入力されると推測する文字を候補文字として表示し、この候補文字を選択することで次の文字が入力できる所謂推測変換も提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１８６０５６号公報
【特許文献２】特開平６−３４８６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の推測変換では、例えば、「東京」と入力された場合に、「東京国際空港」「東京証券取引所」「東京都」「東京湾」など、入力文字「東京」と前方一致する語句を推測辞書から検索して抽出し、「東京」以降の文字「国際空港」「証券取引所」「都」「湾」を入力候補として表示する。この推測辞書に含まれる「東京国際空港」や「東京証券取引所」といった語句は、文字コードによって記録されているので、一致する語句を検索するためには、入力文字も文字コードに変換する必要があった。このため、手書き入力文字を文字コードに変換する構成を備えることになり、装置構成が複雑になるという問題があった。
【０００６】
また、推測辞書を検索しても次に入力する候補が無い場合、通常どおり手書き入力することになるが、推測変換を用いた文字が文字コードに応じたフォントで表示されていると、これに合わせるため、手書き入力した文字も文字コードに変換して入力することになる。この場合、手書き入力した文字をパターン認識し、変換候補を選択して確定するといった処理が必要になり、スムーズな入力が妨げられるという問題があった。例えば、会議や打ち合わせの席で、書き留めておきたい事項を入力した際に、正しく変換されたか否かを確認し、正しくなければ変換候補を表示させて、適切な変換結果を選択するといった作業を逐一行っていたのでは、会議や打ち合わせに支障を来すことがある。
【０００７】
更に、手書きの文字は、文字そのものの意味だけでなく、手書き文字の持つ暖かみや、連続して書かれた文字の流れがなす美しさ、一字一字手で書いた書き手の気持ち等も伝えることができるので、私信等では、手書き文字のまま入力したいことがある。しかし、手書き文字のままでは、推測変換を用いることができないという問題があった。
そこで、本発明は、手書き文字の推測を可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明の手書き入力方法は、
ユーザによって手書き入力される文字の軌跡を一連の座標データとして検出するステップと、
過去に手書き入力された文字の座標データを記憶した入力文字履歴と、前記手書き入力された文字の座標データとを比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データに続いて記録されている座標データを前記入力文字履歴から抽出するステップと、
前記入力文字履歴から抽出した座標データを次に入力される入力候補文字列として出力するステップと、
をコンピュータが実行する。
【０００９】
また、本発明の手書き入力装置は、
ユーザによって入力される文字の軌跡を一連の座標データとして検出する入力検出部と、
過去に手書き入力された文字を入力文字履歴として記憶する記憶部と、
手書き入力された文字の前記座標データを前記入力文字履歴と比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データに続いて記録されている座標データを前記入力文字履歴から抽出する入力候補抽出部と、
前記入力文字履歴から抽出した座標データを次に入力される入力候補文字列として出力する出力制御部と、
を備えた。
【００１０】
また、上記課題を解決するため、本発明は上記手書き入力方法をコンピュータに実行させるための手書き入力プログラムであっても良い。更に、この手書き入力プログラムをコンピュータが読み取り可能な記録媒体に記録しても良い。コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００１１】
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。
また、コンピュータに固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【発明の効果】
【００１２】
本発明は、手書き文字の推測を可能とする技術を提供できる。
【図面の簡単な説明】
【００１３】
【図１】手書き文字入力の説明図
【図２】手書き文字入力の説明図
【図３】手書き入力装置の概略構成図
【図４】手書き入力方法の説明図
【図５】入力候補文字の範囲指定の一例を示す図
【図６】入力文字を追記する例を示す図
【図７】手書き入力された文字を認識する処理の説明図
【図８】入力文字をデータ化する例の説明図
【図９】入力文字を文字毎に区切る処理の説明図
【図１０】座標データのフォーマットを示す図
【図１１】入力文字列と入力文字履歴との合致を判定する処理の説明図
【図１２】入力文字列と入力文字履歴とをＤＰマッチングによって照合する場合の説明図
【図１３】入力文字列と入力文字履歴とをＤＰマッチングによって照合する場合の説明図
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明を実施するための最良の形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。
【００１５】
〈実施形態１〉
１．手書き文字入力の概要
図１において、１は本発明の手書き入力方法を採用したコンピュータ（手書き入力装置）であり、ディスプレイ１０の表面にタッチパネルを備え、タッチパネルの手書き入力欄１１上で、文字を書くようにユーザが指やスタイラス等を動かして入力を行うと（以下、この操作を手書き入力と称す）、その軌跡を検出して表示欄（表示領域）１２に手書き文字列を表示する。この手書き入力は、上述のように手書き文字のままでは、次に入力する文字を推測することができなかった。
【００１６】
そこで、本実施形態の手書き文字入力方法では、過去に手書き入力された文字の座標データを入力文字履歴として記憶しておき、ユーザによって手書き入力された際に、その入力文字の座標データを入力文字履歴等の座標データと比較し、合致した座標データの次に記憶されている座標データが次に入力される文字列であると推測することで、入力候補文字列として表示する。
【００１７】
図２では、入力欄１１に「東京」と入力した際、「東京都中央区東日本橋」「東京２３区では、」「東京の夏は、」のように過去に入力した文字列を入力文字履歴から抽出して入力候補文字列とし、候補表示欄１３に表示している。ユーザがこの入力候補文字列を選択すると、この選択された文字列の座標データが入力文字列として確定し、表示欄１２に表示される。
【００１８】
このように本実施形態では、入力文字履歴の座標データを用いて推測を行うので、手書き文字のまま推測でき、また、推測入力した文字列も座標データに基づく手書き文字として入力できる。
【００１９】
２．手書き入力装置の構成
図３は、本実施形態における手書き入力装置１の概略構成図である。図３に示すように、手書き入力装置１は、本体内にＣＰＵ（central processing unit）やメインメモリ等
よりなる演算処理部１６、演算処理の為のデータやソフトウェアを記憶した記憶部（フラッシュメモリ）１７、入出力ポート１４、通信制御部（ＣＣＵ：Communication Control Unit）１５等を備えたコンピュータである。
【００２０】
該入出力ポート１４には、キーボード（操作ボタン等）やポインティングデバイス、記憶媒体（メモリカード等）の読み取り装置、タッチパネル等の入力デバイス（入力手段）、そしてディスプレイ１０や記憶媒体の書き込み装置、スピーカ等の出力デバイス（出力手段）が適宜接続される。
【００２１】
このタッチパネルは、ディスプレイ１０の表示面上に重畳された透明のパネルであり、ディスプレイ１０に操作メニューや入力欄等のオブジェクトが表示され、ユーザがこのオ
ブジェクトの表示位置に触れて移動や選択、入力等の操作を行うと、この触れた位置の情報を検出し、操作信号として演算処理部１６に入力する。例えば、ユーザが指やスタイラスで手書き入力を行うと、タッチパネルは、この指やスタイラスで触れた位置の情報を連続的に検出して手書き入力された文字の軌跡を座標データとし、入出力ポート１４を介して演算処理部１６に入力する。
【００２２】
例えば、抵抗膜方式のタッチパネルであれば、一対の透明な抵抗膜を所定の間隔を空けて対向配置し、一方の抵抗膜の所定方向に電圧を印加する。そして、ユーザが指やスタイラス等で触れた場合に、触れた箇所の抵抗膜が押され、対向配置した一対の抵抗膜が接触して導通する。このとき抵抗膜の接触位置によって、電流の流路となる抵抗膜上の距離が変化するので、導通した抵抗膜間の抵抗値が、この抵抗膜上の距離に応じたものとなり、接触位置に応じた電圧値が抵抗膜間に生じることになる。そこで、電圧を印加する方向を縦位置と横位置に切替えて抵抗膜間の電圧値を測定することにより、接触箇所の縦位置（ｙ方向の位置）と横位置（ｙ方向の位置）、即ち座標データが検出できる。
【００２３】
また、投影型静電容量方式のタッチパネルであれば、絶縁性の平板の裏側に縦位置検出用の電極と横位置検出用の電極をマトリクス状に配置する。そして、ユーザが指や導電性のスタイラスでタッチパネルに触れると、この指やスタイラスが誘電体となり、接触箇所の電極の静電容量が変化する。そこで、縦位置検出用の電極のうち、何れの電極の静電容量が変化したかによって、接触箇所の縦位置（ｙ方向の位置）を検出し、横位置検出用の電極のうち、何れの電極の静電容量が変化したかによって、接触箇所の横位置（ｙ方向の位置）を検出することにより座標データが検出できる。なお、隣接する電極間で、静電容量の変化によって生じる電流の比率を求めることによって、更に詳細な位置を検出することもできる。
なお、タッチパネルは、上記抵抗膜方式や静電容量方式に限らず、手書き入力された文字の軌跡がデータとして取得できるものであれば良い。
【００２４】
ＣＣＵ１５は、ネットワークを介して他のコンピュータとの通信を制御するものである。
記憶部１７には、オペレーティングシステム（ＯＳ）やアプリケーションソフト（手書き入力プログラム）等がインストールされている。また、記憶部１７は、手書き入力した文書や手書き文字の辞書データを入力履歴として記憶している。
【００２５】
演算処理部１６は、前記ＯＳやアプリケーションプログラムを記憶部１７から適宜読み出して実行し、入出力ポート１４やＣＣＵ１５から入力された情報、及び記憶部１７から読み出した情報を演算処理することにより、入力検出部や、区切り認識部、入力候補抽出部、出力制御部としても機能する。
この入力検出部としては、ユーザによってタッチパッドの入力欄１１に入力される文字の軌跡を一連の座標データとして検出する。
区切り認識部としては、入力検出部で検出した一連の座標データを所定条件に基づいて区切り、区切られた各座標データを手書き文字データとする。
【００２６】
入力候補抽出部は、手書き入力された文字の前記座標データを前記入力文字履歴と比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データ及びこれと続けて記憶された座標データを前記入力文字履歴から抽出して入力候補とする。
【００２７】
出力制御部としては、入力文字履歴から抽出した座標データを次に入力される入力候補文字列としてディスプレイ１０に表示させる。また、入力候補文字列がユーザによって選択された場合に、入力文字列としてディスプレイ１０の表示領域１２に表示させる。
【００２８】
３．手書き入力方法
図４は、上記構成の手書き入力装置が、手書き入力プログラムに従って実行する手書き入力方法の説明図である。
【００２９】
先ず、ユーザによってタッチパネルの入力欄１１に対して手書き入力が行われると、入力検出部は、この入力された文字の軌跡を一連の座標データ（手書き文字データ）として検出し、記憶部（例えばメモリ上）に記憶させる（ステップＳ１）。
【００３０】
次に文字区切り認識部は、ステップＳ１で検出した一連の座標データを所定条件に基づいて一文字毎のデータに区切り、区切り情報を手書き文字データに挿入する（ステップＳ２）。
【００３１】
入力候補抽出部は、ステップＳ１で求めた手書き文字データとしての座標データを記憶部内の入力文字履歴と比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データと、これに続いて記憶された座標データを入力候補として入力文字履歴から抽出する（ステップＳ３）。
【００３２】
また、入力候補抽出部は、入力文字履歴から複数の座標データを抽出した場合に、各座標データを所定条件に基づいて評価して評価値を求める（ステップＳ４）。
そして、出力制御部は、前記複数の座標データのうち、評価値に基づいて絞り込んだ座標データを前記入力候補文字列としてディスプレイ１０の候補表示欄１３に表示させる（ステップＳ５）。
【００３３】
表示された入力候補文字列をユーザが指やスタイラスでタップする等の選択操作を行った場合、このタップした位置等の選択情報をタッチパネルによって検出し、タップした位置が候補表示欄１３内であった場合に選択操作が行われたと判定し（ステップＳ６）、選択情報に基づいて選択された入力候補を特定し、選択された入力候補を入力の確定した文字列（以下確定文字列とも称す）としてメモリ上に記憶すると共に、出力制御部が、この確定文字列を本文表示欄１２に表示させ、入力欄１１の入力文字と候補表示欄１３の入力候補をクリア（消去）する（ステップＳ７）。
そして、ステップＳ３に戻って入力候補を抽出する。この場合、入力候補抽出部は、ステップＳ７で選択された入力文字に続く文字列を入力文字履歴から抽出する。
【００３４】
一方、ステップＳ６で、ユーザが入力候補をそのまま選択するのではなく、範囲を指定して部分的に選択した場合、この選択情報をタッチパネルによって検出し、この選択情報が所定の範囲指定操作であった場合に範囲指定が行われたと判定し（Ｓ８）、選択情報に基づいて入力候補のうち範囲指定された部分の文字を確定文字列（本文）としてメモリ上に記憶すると共に、出力制御部がこの確定文字列を本文表示欄１２に表示させ、入力欄１１の入力文字と候補表示欄１３の入力候補を消去する（Ｓ９）。範囲指定操作としては例えば、図５（Ａ）のように、初期状態では入力文字の先頭に表示されている範囲指定アイコン５１を図５（Ｂ）のように範囲指定したい文字の後ろまで移動させて選択する文字を範囲指定する。
【００３５】
また、ユーザが、ステップＳ６，Ｓ８で入力候補から選択せず、入力欄１１に入力を行った場合、この入力欄１１へ入力を行った情報をタッチパネルによって検出し（ステップＳ１０）、出力制御部は、候補表示欄１３の入力候補を消去して（ステップＳ１１）、処理をステップＳ１に戻す。図６（Ａ）は「東京」に続けて「駅の」と書き足した場合を示す。このようにユーザが入力欄１１に手書き文字を追加し、ステップＳ１に戻ると、追加した手書き文字「駅の」について座標データを検出し、一文字毎のデータに区切り（ステ
ップＳ２）、「東京駅の」で始まる入力候補を入力文字履歴から索出する（ステップＳ３）。図６（Ｂ）では、「東京駅の周辺では、」「東京駅の時刻表は、」「東京駅の案内図からすると、」が入力候補として候補欄１３に表示された例を示す。従って、「東京」だけでは適切な入力候補が表示されない場合に、検索キーとなる入力文字を追加し、「東京駅の」として再検索することで、入力候補を絞り込むことができる。
【００３６】
また、ステップＳ１０でユーザが入力文字を追加するのではなく、入力欄１１に入力した文字列の入力を確定するためユーザが入力ボタン５２を選択する操作を行った場合、この操作をタッチパネルによって検出し（ステップＳ１２）、入力検出部が入力欄１１の入力文字列の座標データに後述の入力文字区切りを付加し、確定文字列（本文）として記憶部に記憶させると共に、出力制御部が、この確定文字列を本文表示欄１２のカーソル位置に表示させ、入力欄１１の入力文字及び候補表示欄１３の入力候補を消去して（ステップＳ１３）、処理をステップＳ１に戻す。また、ステップＳ１２において、入力欄１１がクリアされた状態で、ユーザが次の文字を入力する操作を行った場合、この操作をタッチパネルによって検出し（ステップＳ１２）、入力検出部が直前に選択された確定文字列の座標データに後述の入力文字区切りを付加し（ステップＳ１３）、処理をステップＳ１に戻す。
【００３７】
なお、本例では、入力ボタン５２が選択された場合に、入力文字の入力を確定して本文表示欄に表示させたが、これに限らず、入力文字を入力した後、入力候補の選択や範囲指定がされずに所定時間経過した場合、即ち入力候補の選択や範囲指定をしないという操作を行った場合に入力ボタン５２を選択したのと同様に入力文字の入力を確定し、入力文字を本文表示欄１２に表示すると共に入力欄１１の入力文字を消去するようにしても良い。
【００３８】
そして、ユーザが適宜メニュー等から保存を選択した場合に、手書き入力装置１の入力検出部は、本文として入力された手書き文字データ、即ち本文表示欄１２に表示された文字のデータを文書ファイルとして記憶部１７に記憶する、即ち、入力された手書き文字データを入力文字履歴に追加する。なお、手書き文字データを記憶部１７（入力文字履歴）に記憶するタイミングは、これに限らずステップＳ７，Ｓ９，Ｓ１３にて入力が確定したときにであっても良い。記憶部１７に記憶されたこれらの入力文字データは、入力候補抽出部により、入力履歴として参照され、入力候補の検索に利用される。
【００３９】
以上のように、本実施形態によれば、手書きの入力文字から始まる入力候補を手書き文字履歴から抽出することで、手書きの入力文字を文字コードに変換せずに、手書きの文字のまま推測入力を行うことができる。
【００４０】
４．手書き入力処理
（４−１）文字認識
図７は、手書き入力された文字を認識する処理の説明図である。図７（Ａ）のように、ユーザが入力欄１１に対して「あいう」と手書き入力を行った場合、手書き入力装置１の入力検出部は、手書き入力中の指やスタイラスの接触位置をタッチパネルにより所定のサンプリング周期毎に検知し、手書き入力される文字の軌跡を図７（Ｂ）に示すように座標点の集合としてデータ化する。図７（Ｂ）では、左下を原点とし、各点を（Ｘi+1，Ｙi+1）（Ｘi+2，Ｙi+2）（Ｘi+3，Ｙi+3）・・・（Ｘi+n，Ｙi+n）のように入力順の座標点列としている。ここで、ユーザの指やスタイラスが、タッチパネルに触れて文字入力のために移動し、タッチパネルから離れるまでを一つのストロークとし、この指やスタイラスがタッチパネルから離れたことを検知した場合に、入力検出部は、座標データにストローク終了を示す情報を加える。
【００４１】
上記手書き入力や推測入力を行った後、ユーザが入力ボタンを押す等、入力を確定させ
る操作をして、前述のステップＳ１２で入力文字列が確定したと判定した場合、入力検出部は、入力文字列の区切りを示す情報（入力区切り情報）を座標データに加え、この手書き入力開始から入力区切り情報までの一連の座標データを一つの入力単位としてメモリ上に記憶する。なお、ステップＳ１２において、入力欄１１に入力文字列が残っている状態で入力操作が行われた場合、即ち、ステップＳ１或いはステップＳ１０において手書き入力された後、ステップＳ６における入力候補の選択もステップＳ８における範囲指定もされていない状態で入力操作が行われた場合、入力検出部は、この入力文字列の座標データの最後に入力区切り情報を加える。
なお、入力文字履歴から抽出する入力候補には、過去に入力された際の入力区切り情報が含まれているので、これを残して入力区切りとして用いても良いし、入力候補として抽出する際に、この入力区切り情報を削除して、ステップＳ１２で入力操作が行われた際に改めて入力区切り情報を加えても良い。即ち、入力欄１１に入力が開始された後、ステップＳ６やステップＳ８で選択された際には入力区切りとせず、ステップＳ１２で入力ボタン５２の選択や次の手書き文字入力が行われるまでを一つの入力単位としても良い。
【００４２】
なお、本実施形態では、手書き文字を座標点列としてデータ化したが、これに限らず、図８（Ａ）に示すようにタッチパネルで検出した各点を通る線をスプライン補完、ラグランジュ補完といった所定の補完法によって求め、これを図８（Ｂ）に示すように、線の無いところを０（図中の白い画素）、線のあるところを１（図中の黒い画素）としたビットの配列、即ちビットマップデータとしても良い。
【００４３】
（４−２）文字区切りの認識
図９は、入力された手描き文字の区切りを判定する処理の説明図である。
ユーザが入力欄１１に対してタッチペンで図９（Ａ）のように文字を手描きし、これを前述の如く入力検出部が座標データとすると、文字区切り認識部は、この座標データに基づいて各文字の区切り（境界）を求め、図９（Ｂ）に示すように手描き文字を囲む矩形３１を設定する。ここで矩形３１の高さは前記座標データが収まる高さとし、矩形３１の幅は、所定の条件、例えば幅方向に連続する座標が途切れ、所定以上の距離が空いたことを条件に、ここを文字の区切りと判定し、この区切りまでの座標が収まる幅に設定する。
そして、文字区切り認識部は、連続して手書き入力された文字の座標データのうち、文字の区切りと判定した箇所に文字区切り情報を加える。
【００４４】
図１０は、入力検出部で検出した座標や入力区切りや、文字区切り認識部が認識した文字区切り等の情報を含む座標データのフォーマットを示す模式図である。
図１０において座標データの各ブロック６１が各文字のデータであり、第一ストロークの座標６２−１から始まり、第一ストロークのストローク終了情報６３−１の次から第二ストロークの座標６２−２が始まり、最後のストロークのストローク終了情報６３−ｎの次に文字区切り情報６４がある。この第一ストロークの座標６２−１から文字区切り情報６４までが一つの文字ブロック６１であり、文字区切り情報の次には、次の文字の文字ブロック６１が記録される。
【００４５】
そして、入力単位の最後の文字の文字区切り情報６４の次に入力区切り情報６５が記録される。即ち、一文字目の文字ブロック６１から入力区切り６５までが、一連の座標データである。
なお、文字ブロック６１と他の文字ブロック６１との間には、文字修飾等の制御情報を有しても良い。
【００４６】
５．入力候補の検索
上記ステップＳ３では、手書きされた入力文字の座標データを記憶部内の入力文字履歴と比較して、当該手書きされた入力文字の座標データと合致する入力文字履歴中の座標デ
ータを検索し、合致した座標データと、これに続く座標データを入力候補として入力文字履歴から抽出する。この入力文字と入力文字履歴との合致の判定は、所定のアルゴリズムに従って、入力文字のデータと入力文字履歴のデータとの類似度を算出し、類似度が所定の閾値以上である場合に合致したと判定する。このアルゴリズムとしては、Reteアルゴリズム、ＤＰマッチング、隠れマルコフモデル、ＳＶＭ（Support vector machine）など、入力文字のデータと類似する入力文字履歴のデータを判別できるものであれば良い。
【００４７】
図１１は、この入力文字と入力文字履歴とが合致するか否かを判定する処理の説明図である。図１１の例では、辺領域情報を用いて入力文字と入力文字履歴とが合致するか否かを判定した。辺領域とは、任意の頂点を原点として、その周りを例えば４５度ずつ８等分した範囲のことであり、ｘ＞０のｘ軸（以降、ｘ＋軸）から反時計回りに辺領域１から辺領域８としたものである。例えば、図１１（Ａ）の頂点ｖ５を原点とした場合、隣接する頂点の位置関係は図１１（Ｂ）のようになる。そして、この辺情報を入力文字と入力文字履歴とで比較し、この差異が所定値以下の場合に合致したと判定する。
【００４８】
なお、これに限らず入力文字と入力文字履歴とが同じ文字であるか否かを判別できれば、如何なるアルゴリズムを用いて合致を判定しても良い。
例えば、図８（Ｂ）に示すような入力文字列のビットマップデータを参照パターンとし、入力文字履歴から類似するパターンを抽出して入力候補としても良い。
【００４９】
また、図１２は、入力文字列と入力文字履歴とをＤＰマッチングによって照合する場合の説明図である。
例えば、図１２に示すように、入力文字列の座標列Ｐ１を横軸に、入力文字履歴の座標列Ｐ２を縦軸にとり、各座標間の距離が小さくなる格子上の経路を求める。
【００５０】
具体的には、図１３に示すように先のグリッドまでの経路上の距離と、次のグリッドでの座標間の距離を足した場合に、この距離が最も小さくなるパスを選択する。
図１３の式１に示すように、あるグリッドまでの経路上の距離Ｄ（ｉ，ｊ）を求める場合、当該グリッドでの座標間の距離ｄ（ｉ，ｊ）に、一つ前のグリッドまでの経路上の距離を加え、この距離が最も小さくなるパスを選択する。なお、式１において、ｄ（ｉ，ｊ）は入力文字列のｉ番目の座標点と入力文字履歴のｊ番目の座標点との座標上の距離である。このｄ（ｉ，ｊ）に左隣のグリッドまでの経路上の距離Ｄ（ｉ−１，ｊ）を加えたものと（式１１）、ｄ（ｉ，ｊ）にパスの重みを乗じて左斜め下のグリッドまでの経路上の距離Ｄ（ｉ−１，ｊ−１）を加えたものと（式１２）、ｄ（ｉ，ｊ）に下のグリッドまでの経路上の距離Ｄ（ｉ，ｊ−１）を加えたものと（式１３）とのうち、最も小さいパスを選択する。なお、式１１，式１３においても、式１２と同様に重みを乗じても良いが、この重みの配分は目的とする類似度に応じて任意に設定してよく、本例では斜めのパスの重みを２、縦横のパスの重みを１としたので、式１１，式１３では重み付けを省略している。
【００５１】
即ち、グリッド７１（図１２）までの経路上の距離Ｄ（ｉ＋３，ｊ＋３）を求める場合、入力文字列のｉ＋３番目の座標点７２と入力文字履歴のｊ＋３番目の座標点７３との座標上の距離ｄ（ｉ＋３，ｊ＋３）を求め、このｄ（ｉ＋３，ｊ＋３）に左隣のグリッド７４までの経路上の距離Ｄ（ｉ＋２，ｊ＋３）を加えたものと（式１１）、ｄ（ｉ＋３，ｊ＋３）にパスの重みを乗じて左斜め下のグリッド７５までの経路上の距離Ｄ（ｉ＋２，ｊ＋２）を加えたものと（式１２）、ｄ（ｉ＋３，ｊ＋３）に下のグリッド７６までの経路上の距離Ｄ（ｉ＋３，ｊ＋２）を加えたものと（式１３）のうち、最も小さいパスを選択する。
【００５２】
先のグリッドまでの距離を用いて次のグリッドまでの距離を求める計算を繰り返して、
入力文字列の最後の座標点と、対応する入力文字履歴の座標点とを比較した場合のグリッド７７までの経路上の距離Ｄ（ｉ＋ｎ，ｊ＋ｎ）を求め、この距離Ｄ（ｉ＋ｎ，ｊ＋ｎ）が小さければ入力文字列と入力文字履歴との類似度が高く、大きければ類似度が低い。例えば経路上の距離Ｄ（ｉ＋ｎ，ｊ＋ｎ）の逆数をとることで、類似度を算出できる。この類似度が所定の閾値を超えた場合、即ち経路上の距離Ｄ（ｉ＋ｎ，ｊ＋ｎ）が所定の閾値に満たない場合、当該入力文字履歴の文字列を入力候補として抽出する。
【００５３】
なお、入力文字列と入力文字履歴とを比較する場合、入力文字履歴のどの箇所と入力文字列とを比較するのかは、任意に設定してよいが、例えば入力文字履歴として記憶されている文書の先頭から一文字ずつずらして入力文字列と比較しても良いし、入力単位毎に入力文字列と比較しても良い。このとき入力文字履歴の各入力単位の先頭文字から入力文字列と同じ文字数分の座標データと入力文字列の座標データとを比較しても良い。入力文字列に含まれる複数文字分のデータと入力文字履歴の複数文字分のデータとを前述のパターンマッチングやＤＰマッチング等のマッチングアルゴリズムによって比較することで、一文字毎に比較するよりも精度良く入力候補を抽出できる。
【００５４】
更に、入力文字履歴の各入力単位の先頭から所定数となる文字と、入力文字列の対応する文字とを比較し、類似する入力単位と入力文字列とを比較しても良い。例えば入力単位の１番目の文字から所定番目の文字まで、奇数或いは偶数番目の文字、１番目の文字と所定番目の文字と最後の文字を入力文字列の対応する文字と比較する。このように少ないデータの比較で、荒い抽出を行い、その後、全ての入力文字列と入力文字履歴を比較することで、検索速度を向上できる。
【００５５】
また、入力候補を検索する範囲は、記憶部１７に記憶された文書全てであっても良いし、編集中のファイル内、編集中のファイルと同じフォルダに記憶されたファイル、所定日時以内に更新されたファイルなど、検索する範囲を限定しても良い。また、編集中のファイル内を初めに検索し、次に編集中のファイルと同じフォルダに記憶されたファイル内を検索し、次に所定日時以内に更新されたファイルを検索、次にそれ以外の全てのファイルを検索するなど、検索する順序を定めても良い。
【００５６】
６．入力候補の評価値
上記ステップＳ３で、入力候補が複数抽出された場合には、各入力候補の評価値を求めて評価値順に所定数の候補を表示しても良い。
（６−１）定型の語句を評価値と共に辞書登録しておく
ユーザが良く使うと思われる語句を手書き入力した際に、評価値を指定し、辞書登録を選択すると、コンピュータ１は、この語句の座標データと評価値とを対応付けて記憶部１７内に格納されるユーザ辞書に登録する。例えば、ユーザの氏名の座標データと、この評価値を５として、辞書に登録する。同様に、ユーザの住所とこの評価値４とを対応付け、ユーザの電話番号と、この評価値３とを対応付けて辞書に登録する。そして、辞書以外のファイル等から抽出された語句の評価値を所定値、例えば１とし、入力候補をこの評価値順に表示する。
【００５７】
また、辞書に登録する際、語句と、この語句の属性情報とを登録し、この属性情報に応じた評価値を設定しても良い。例えば、ユーザ氏名、ユーザ住所、頭語、事項の挨拶、起こし言葉、結びの言葉、結語等を属性情報とし、語句と共に登録する。そしてユーザ氏名の評価値を５、ユーザ住所の評価値を４、頭語・結語の評価値を３、起こし言葉の評価値を２等と記憶した評価値テーブルを参照して各語句の評価値を設定する。例えば、「拝啓」と手書き入力された場合、ユーザ辞書から属性情報が頭語であることを求め、評価値テーブルを参照して、「拝啓」の評価値を３と設定する。また、「さて、」「このたびは、」等と入力された場合、ユーザ辞書から属性情報が起こし言葉であることを求め、評価値
テーブルを参照して、「さて、」「このたびは、」の評価値を２と設定する。また、文書の先頭から所定範囲内の場合には、頭語や事項の挨拶の評価値を所定数上げ、結語や結びの挨拶の評価値を所定数下げるようにしても良い。また、結語が選択された後は、ユーザ氏名の評価値を上げるなど、文書中の入力位置に応じて評価値を変更しても良い。
【００５８】
（６−２）抽出元に応じた評価値とする
入力候補の抽出元が、編集中のファイルであれば、評価値を３、編集中のファイルと同じフォルダに格納されたファイルであれば評価値を２、それ以外のファイルであれば評価値を１とするなど、抽出元に応じて評価値を設定し、入力候補をこの評価値順に表示する。
【００５９】
（６−３）選択回数に応じて評価値を設定する
入力候補として候補欄１３に表示され、ユーザによって選択された場合、コンピュータ１は、この入力候補の選択回数を記憶部１７に記憶し、この選択回数を評価値として選択回数が多い順に入力候補を表示する。また、この入力候補が選択された日時を記憶しておき、所定日時以内に選択された回数をカウントし、この選択回数を評価値としても良い。即ち、一時期に何度も選択されて評価値が高くなってもその後、所定期間選択されなければ評価値はクリアされる。
【００６０】
（６−４）文字の揺らぎに応じて評価値を設定する
手書き文字に含まれる縦に引かれた線或いは横に引かれた線が所定の方向に揃っている（所定範囲内に収まっている）文字を揺らぎのすくない丁寧な文字、逆に所定の方向に揃っていない文字を雑な文字とし、この揺らぎの程度に応じて評価値を設定する。例えば、揺らぎが所定値未満の文字の評価値を５とし、当該所定以下で所定範囲内の文字の評価値を４、それ未満の文字の評価値を３とし、この評価値順に入力候補を表示する。
【００６１】
また、本文表示欄１２の入力箇所の前、或いは前後に入力された手書き文字列の揺らぎを評価し、前或いは前後の手書き文字列の揺らぎと近い評価値の入力候補を選択する。このように揺らぎの近い入力候補を選択することで、先に入力されている文字列がラフに書かれている場合にはラフな入力候補が挙がり、丁寧に書かれている場合には丁寧な入力候補が挙がり、入力候補を選択して本文表示欄１２に表示された際に、前或いは前後の文字の丁寧さが揃い、違和感なく推測された文字を入力できる。
【００６２】
〈その他〉
本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、以下に付記した構成であっても上述の実施形態と同様の効果が得られる。また、これらの構成要素は可能な限り組み合わせることができる。
【００６３】
（付記１）
ユーザによって手書き入力される文字の軌跡を一連の座標データとして検出するステップと、
過去に手書き入力された文字の座標データを記憶した入力文字履歴と前記手書き入力された文字の座標データとを比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データに続いて記録されている座標データを前記入力文字履歴から抽出するステップと、
前記入力文字履歴から抽出した座標データを次に入力される入力候補文字列として出力するステップと、
をコンピュータが実行する手書き入力方法。
【００６４】
（付記２）
前記ステップで検出した一連の座標データを所定条件に基づいて区切り、区切られた各座標データを手書き文字データとするステップを更に備える付記１に記載の手書き入力方法。
【００６５】
（付記３）
前記入力文字履歴から複数の座標データを抽出し、各座標データを所定条件に基づいて評価して評価値を付加し、前記複数の座標データのうち、当該評価値に基づいて絞り込んだ座標データを入力候補文字列とする付記１又は２に記載の手書き入力方法。
【００６６】
（付記４）
ユーザによって手書き入力される文字の軌跡を一連の座標データとして検出するステップと、
過去に手書き入力された文字の座標データを記憶した入力文字履歴と、前記手書き入力された文字の座標データとを比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データに続いて記録されている座標データを前記入力文字履歴から抽出するステップと、
前記入力文字履歴から抽出した座標データを次に入力される入力候補文字列として出力するステップと、
をコンピュータに実行させるための手書き入力プログラム。
【００６７】
（付記５）
前記ステップで検出した一連の座標データを所定条件に基づいて区切り、区切られた各座標データを手書き文字データとするステップを更に備える付記４に記載の手書き入力プログラム。
【００６８】
（付記６）
前記入力文字履歴から複数の座標データを抽出し、各座標データを所定条件に基づいて評価して評価値を付加し、前記複数の座標データのうち、当該評価値に基づいて絞り込んだ座標データを入力候補文字列とする付記４又は５に記載の手書き入力プログラム。
【００６９】
（付記７）
ユーザによって入力される文字の軌跡を一連の座標データとして検出する入力検出部と、
過去に手書き入力された文字の座標データを入力文字履歴として記憶する記憶部と、
手書き入力された文字の前記座標データを前記入力文字履歴と比較し、当該手書き入力された文字の座標データと入力文字履歴の座標データとが合致した場合に、合致した座標データに続いて記録されている座標データを前記入力文字履歴から抽出する入力候補抽出部と、
前記入力文字履歴から抽出した座標データを次に入力される入力候補文字列として出力する出力制御部と、
を備えた手書き入力装置。
【００７０】
（付記８）
前記ステップで検出した一連の座標データを所定条件に基づいて区切り、区切られた各座標データを手書き文字データとするステップを更に備える付記７に記載の手書き入力装置。
【００７１】
（付記９）
前記入力文字履歴から複数の座標データを抽出し、各座標データを所定条件に基づいて
評価して評価値を付加し、前記複数の座標データのうち、当該評価値に基づいて絞り込んだ座標データを入力候補文字列とする付記７又は８に記載の手書き入力装置。
【符号の説明】
【００７２】
１    入力装置
１０  ディスプレイ
１１  入力欄
１２  表示欄
１３  候補表示欄
１４  入出力ポート
１６  演算処理部
【図１】
2013025390.tif 000003
【図２】
2013025390.tif 000004
【図３】
2013025390.tif 000005
【図４】
2013025390.tif 000006
【図５】
2013025390.tif 000007
【図６】
2013025390.tif 000008
【図７】
2013025390.tif 000009
【図８】
2013025390.tif 000010
【図９】
2013025390.tif 000011
【図１０】
2013025390.tif 000012
【図１１】
2013025390.tif 000013
【図１２】
2013025390.tif 000014
【図１３】
2013025390.tif 000015