(57)【要約】【課題】操作者が同じ手書き文字を何度も書かずに済み、操作者の再入力の負担を軽減することができる文字入力装置を提供する。【解決手段】座標入力装置２１０からの手書き文字の座標値を線分単位で表した各ストロークの特徴量をストローク群単位で記憶し（Ｓ３，Ｓ６）、このようにして記憶したストローク群の特徴量と新たに入力された座標値にかかるストロークの一群の特徴量とを比較し（Ｓ４）、特徴量が少なくとも部分一致するストローク群を新たに入力された座標値にかかるストロークの一群と置き換え（Ｓ７）、各ストロークの座標点を線分で結んで表示装置２２０に表示する（Ｓ５）。これにより、操作者が過去に描画したストローク群を呼び出して再利用することができるので、操作者が同じ手書き文字を何度も書かずに済むことになり、操作者の再入力の負担を軽減することができる。【選択図】        図２
2006260306.tif 000002
【特許請求の範囲】
【請求項１】
操作者が描く手書き文字の座標値を出力可能な座標入力装置および表示装置に接続される文字入力装置において、
前記座標入力装置から入力した前記手書き文字の座標値を線分単位で表した各ストロークの特徴量を抽出するストローク特徴量抽出手段と、
特徴量を抽出した前記各ストロークを一つの群であるストローク群として規定するストローク群保存手段と、
前記ストローク特徴量抽出手段により抽出された前記各ストロークの特徴量を、前記ストローク群保存手段により規定された前記ストローク群単位で記憶するストローク特徴量記憶手段と、
新たに入力された座標値にかかるストロークの一群の特徴量を、前記ストローク群記憶手段によって記憶した前記ストローク群の特徴量と比較し、特徴量が少なくとも部分一致する前記ストローク群を検索するストローク群検索手段と、
このストローク群検索手段により特徴量が少なくとも部分一致する前記ストローク群を前記ストローク特徴量記憶手段から読み出して、新たに入力された座標値にかかるストロークの一群と置き換えるストローク群置換手段と、
このストローク群置換手段によって置き換えられた前記ストローク群を構成する前記各ストロークの座標点を線分で結んで前記表示装置に表示する表示手段と、
を備えることを特徴とする文字入力装置。
【請求項２】
前記ストローク特徴量抽出手段により抽出される前記ストロークの特徴量は、前記ストロークを所定の矩形内に正規化し、前記矩形を９つの領域に分割し、前記ストロークの開始座標が存在する領域番号と終了座標が存在する領域番号を併記した文字列でコード化したものである、
ことを特徴とする請求項１記載の文字入力装置。
【請求項３】
前記ストローク特徴量抽出手段により抽出される前記ストロークの特徴量は、前記ストロークの隣り合う座標点を結ぶ線分と所定の基準線がなす角度の平均値を文字列でコード化したものである、
ことを特徴とする請求項１記載の文字入力装置。
【請求項４】
前記ストローク群保存手段は、所定の前記ストロークについて前記ストローク群の最終の前記ストロークであることが宣言された場合に、最終の前記ストロークであることが宣言された前記ストロークまでを一つの群とみなす、
ことを特徴とする請求項１記載の文字入力装置。
【請求項５】
前記ストローク群保存手段は、前記手書き文字の座標値に基づいて改行がなされたと判断した場合に、改行される前の前記ストロークまでを一つの群とみなす、
ことを特徴とする請求項１記載の文字入力装置。
【請求項６】
前記ストローク群置換手段は、特徴量が少なくとも部分一致する前記ストローク群が複数存在する場合には、複数の前記ストローク群を一覧表示した中から一の前記ストローク群を選択させる選択手段を有しており、この選択手段により選択された前記ストローク群を前記ストローク特徴量記憶手段から読み出して、新たに入力された座標値にかかるストロークの一群と置き換える、
ことを特徴とする請求項１記載の文字入力装置。
【請求項７】
前記ストローク群置換手段は、特徴量が完全に一致する前記ストローク群が存在する場合には、当該ストローク群を前記ストローク特徴量記憶手段から読み出して、新たに入力された座標値にかかるストロークの一群と置き換える、
ことを特徴とする請求項６記載の文字入力装置。
【請求項８】
前記選択手段は、特徴量が少なくとも部分一致する複数の前記ストローク群を一覧表示する際に、表示順の並べ替えが可能である、
ことを特徴とする請求項６記載の文字入力装置。
【請求項９】
表示順の並べ替えは、前記ストローク群を構成するストローク数に基づいて行なう、
ことを特徴とする請求項８記載の文字入力装置。
【請求項１０】
前記表示手段は、前記ストローク群保存手段により一つの群であるとして規定された前記ストローク群については、前記ストローク群として規定されていない前記各ストロークとは、表示形式を変えて表示する、
ことを特徴とする請求項１記載の文字入力装置。
【請求項１１】
前記ストローク群保存手段により一つの群であるとして規定された前記ストローク群と前記ストローク群として規定されていない前記各ストロークとでは、表示線分の太さを変えて表示する、
ことを特徴とする請求項１０記載の文字入力装置。
【請求項１２】
操作者が描く手書き文字の座標値を出力可能な座標入力装置および表示装置に接続されるコンピュータに実行させるプログラムであって、前記コンピュータに、
前記座標入力装置から入力した前記手書き文字の座標値を線分単位で表した各ストロークの特徴量を抽出するストローク特徴量抽出機能と、
特徴量を抽出した前記各ストロークを一つの群であるストローク群として規定するストローク群保存機能と、
前記ストローク特徴量抽出機能により抽出された前記各ストロークの特徴量を、前記ストローク群保存機能により規定された前記ストローク群単位で記憶するストローク特徴量記憶機能と、
新たに入力された座標値にかかるストロークの一群の特徴量を、前記ストローク群記憶機能によって記憶した前記ストローク群の特徴量と比較し、特徴量が少なくとも部分一致する前記ストローク群を検索するストローク群検索機能と、
このストローク群検索機能により特徴量が少なくとも部分一致する前記ストローク群を前記ストローク特徴量記憶機能から読み出して、新たに入力された座標値にかかるストロークの一群と置き換えるストローク群置換機能と、
このストローク群置換機能によって置き換えられた前記ストローク群を構成する前記各ストロークの座標点を線分で結んで前記表示装置に表示する表示機能と、
を実行させることを特徴とするプログラム。
【請求項１３】
前記ストローク特徴量抽出機能により抽出される前記ストロークの特徴量は、前記ストロークを所定の矩形内に正規化し、前記矩形を９つの領域に分割し、前記ストロークの開始座標が存在する領域番号と終了座標が存在する領域番号を併記した文字列でコード化したものである、
ことを特徴とする請求項１２記載のプログラム。
【請求項１４】
前記ストローク特徴量抽出機能により抽出される前記ストロークの特徴量は、前記ストロークの隣り合う座標点を結ぶ線分と所定の基準線がなす角度の平均値を文字列でコード化したものである、
ことを特徴とする請求項１２記載のプログラム。
【請求項１５】
前記ストローク群保存機能は、所定の前記ストロークについて前記ストローク群の最終の前記ストロークであることが宣言された場合に、最終の前記ストロークであることが宣言された前記ストロークまでを一つの群とみなす、
ことを特徴とする請求項１２記載のプログラム。
【請求項１６】
前記ストローク群保存機能は、前記手書き文字の座標値に基づいて改行がなされたと判断した場合に、改行される前の前記ストロークまでを一つの群とみなす、
ことを特徴とする請求項１２記載のプログラム。
【請求項１７】
前記ストローク群置換機能は、特徴量が少なくとも部分一致する前記ストローク群が複数存在する場合には、複数の前記ストローク群を一覧表示した中から一の前記ストローク群を選択させる選択機能を有しており、この選択機能により選択された前記ストローク群を前記ストローク特徴量記憶機能から読み出して、新たに入力された座標値にかかるストロークの一群と置き換える、
ことを特徴とする請求項１２記載のプログラム。
【請求項１８】
前記ストローク群置換機能は、特徴量が完全に一致する前記ストローク群が存在する場合には、当該ストローク群を前記ストローク特徴量記憶機能から読み出して、新たに入力された座標値にかかるストロークの一群と置き換える、
ことを特徴とする請求項１７記載のプログラム。
【請求項１９】
前記選択機能は、特徴量が少なくとも部分一致する複数の前記ストローク群を一覧表示する際に、表示順の並べ替えが可能である、
ことを特徴とする請求項１７記載のプログラム。
【請求項２０】
表示順の並べ替えは、前記ストローク群を構成するストローク数に基づいて行なう、
ことを特徴とする請求項１９記載のプログラム。
【請求項２１】
前記表示機能は、前記ストローク群保存機能により一つの群であるとして規定された前記ストローク群については、前記ストローク群として規定されていない前記各ストロークとは、表示形式を変えて表示する、
ことを特徴とする請求項１２記載のプログラム。
【請求項２２】
前記ストローク群保存機能により一つの群であるとして規定された前記ストローク群と前記ストローク群として規定されていない前記各ストロークとでは、表示線分の太さを変えて表示する、
ことを特徴とする請求項２１記載のプログラム。
【請求項２３】
座標入力装置から入力した手書き文字の座標値を線分単位で表した各ストロークの特徴量を抽出するストローク特徴量抽出工程と、
特徴量を抽出した前記各ストロークを一つの群であるストローク群として規定するストローク群保存工程と、
前記ストローク特徴量抽出工程により抽出された前記各ストロークの特徴量を、前記ストローク群保存工程により規定された前記ストローク群単位で記憶するストローク特徴量記憶工程と、
新たに入力された座標値にかかるストロークの一群の特徴量を、前記ストローク群記憶工程によって記憶した前記ストローク群の特徴量と比較し、特徴量が少なくとも部分一致する前記ストローク群を検索するストローク群検索工程と、
このストローク群検索工程により特徴量が少なくとも部分一致する前記ストローク群を前記ストローク特徴量記憶工程から読み出して、新たに入力された座標値にかかるストロークの一群と置き換えるストローク群置換工程と、
このストローク群置換工程によって置き換えられた前記ストローク群を構成する前記各ストロークの座標点を線分で結んで表示装置に表示する表示工程と、
を含むことを特徴とする文字入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作者が描く手書き文字の座標値を出力可能な座標入力装置および表示装置に接続される文字入力装置、プログラムおよび文字入力方法に関する。
【背景技術】
【０００２】
従来、操作者が手書き領域内に続けて入力した複数の手書き文字の入力を受け付けて、文字を認識する文字入力装置が知られている（例えば、特許文献１参照）。
【０００３】
また、特許文献２には、操作者のストローク入力履歴を記憶しておき、記憶した履歴を過去の加筆過程に戻るために利用する文字入力装置が開示されている。
【０００４】
【特許文献１】特開２００１−０１４１０３号公報
【特許文献２】特開２００３−０９９４２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、文字入力装置の利用態様を考えた場合、会議などでの利用が想定される。会議などにおいては、同じ単語を何度も記述する場合がある。このような場合に、操作者が以前に入力したことのあるストローク群を呼び出すようにすれば、文字入力の手間が省けて便利である。
【０００６】
しかしながら、特許文献１または特許文献２の文字入力装置によれば、ストローク群を履歴記録した後、新たな入力時にストローク群として呼び出して再利用するような使い方は想定されていない。
【０００７】
本発明は、上記に鑑みてなされたものであって、操作者が同じ手書き文字を何度も書かずに済み、操作者の再入力の負担を軽減することができる文字入力装置、プログラムおよび文字入力方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明の文字入力装置は、操作者が描く手書き文字の座標値を出力可能な座標入力装置および表示装置に接続される文字入力装置において、前記座標入力装置から入力した前記手書き文字の座標値を線分単位で表した各ストロークの特徴量を抽出するストローク特徴量抽出手段と、特徴量を抽出した前記各ストロークを一つの群であるストローク群として規定するストローク群保存手段と、前記ストローク特徴量抽出手段により抽出された前記各ストロークの特徴量を、前記ストローク群保存手段により規定された前記ストローク群単位で記憶するストローク特徴量記憶手段と、新たに入力された座標値にかかるストロークの一群の特徴量を、前記ストローク群記憶手段によって記憶した前記ストローク群の特徴量と比較し、特徴量が少なくとも部分一致する前記ストローク群を検索するストローク群検索手段と、このストローク群検索手段により特徴量が少なくとも部分一致する前記ストローク群を前記ストローク特徴量記憶手段から読み出して、新たに入力された座標値にかかるストロークの一群と置き換えるストローク群置換手段と、このストローク群置換手段によって置き換えられた前記ストローク群を構成する前記各ストロークの座標点を線分で結んで前記表示装置に表示する表示手段と、を備える。
【０００９】
また、請求項２にかかる発明は、請求項１記載の文字入力装置において、前記ストローク特徴量抽出手段により抽出される前記ストロークの特徴量は、前記ストロークを所定の矩形内に正規化し、前記矩形を９つの領域に分割し、前記ストロークの開始座標が存在する領域番号と終了座標が存在する領域番号を併記した文字列でコード化したものである。
【００１０】
また、請求項３にかかる発明は、請求項１記載の文字入力装置において、前記ストローク特徴量抽出手段により抽出される前記ストロークの特徴量は、前記ストロークの隣り合う座標点を結ぶ線分と所定の基準線がなす角度の平均値を文字列でコード化したものである。
【００１１】
また、請求項４にかかる発明は、請求項１記載の文字入力装置において、前記ストローク群保存手段は、所定の前記ストロークについて前記ストローク群の最終の前記ストロークであることが宣言された場合に、最終の前記ストロークであることが宣言された前記ストロークまでを一つの群とみなす。
【００１２】
また、請求項５にかかる発明は、請求項１記載の文字入力装置において、前記ストローク群保存手段は、前記手書き文字の座標値に基づいて改行がなされたと判断した場合に、改行される前の前記ストロークまでを一つの群とみなす。
【００１３】
また、請求項６にかかる発明は、請求項１記載の文字入力装置において、前記ストローク群置換手段は、特徴量が少なくとも部分一致する前記ストローク群が複数存在する場合には、複数の前記ストローク群を一覧表示した中から一の前記ストローク群を選択させる選択手段を有しており、この選択手段により選択された前記ストローク群を前記ストローク特徴量記憶手段から読み出して、新たに入力された座標値にかかるストロークの一群と置き換える。
【００１４】
また、請求項７にかかる発明は、請求項６記載の文字入力装置において、前記ストローク群置換手段は、特徴量が完全に一致する前記ストローク群が存在する場合には、当該ストローク群を前記ストローク特徴量記憶手段から読み出して、新たに入力された座標値にかかるストロークの一群と置き換える。
【００１５】
また、請求項８にかかる発明は、請求項６記載の文字入力装置において、前記選択手段は、特徴量が少なくとも部分一致する複数の前記ストローク群を一覧表示する際に、表示順の並べ替えが可能である。
【００１６】
また、請求項９にかかる発明は、請求項８記載の文字入力装置において、表示順の並べ替えは、前記ストローク群を構成するストローク数に基づいて行なう。
【００１７】
また、請求項１０にかかる発明は、請求項１記載の文字入力装置において、前記表示手段は、前記ストローク群保存手段により一つの群であるとして規定された前記ストローク群については、前記ストローク群として規定されていない前記各ストロークとは、表示形式を変えて表示する。
【００１８】
また、請求項１１にかかる発明は、請求項１０記載の文字入力装置において、前記ストローク群保存手段により一つの群であるとして規定された前記ストローク群と前記ストローク群として規定されていない前記各ストロークとでは、表示線分の太さを変えて表示する。
【００１９】
また、請求項１２にかかる発明のプログラムは、操作者が描く手書き文字の座標値を出力可能な座標入力装置および表示装置に接続されるコンピュータに実行させるプログラムであって、前記コンピュータに、前記座標入力装置から入力した前記手書き文字の座標値を線分単位で表した各ストロークの特徴量を抽出するストローク特徴量抽出機能と、特徴量を抽出した前記各ストロークを一つの群であるストローク群として規定するストローク群保存機能と、前記ストローク特徴量抽出機能により抽出された前記各ストロークの特徴量を、前記ストローク群保存機能により規定された前記ストローク群単位で記憶するストローク特徴量記憶機能と、新たに入力された座標値にかかるストロークの一群の特徴量を、前記ストローク群記憶機能によって記憶した前記ストローク群の特徴量と比較し、特徴量が少なくとも部分一致する前記ストローク群を検索するストローク群検索機能と、このストローク群検索機能により特徴量が少なくとも部分一致する前記ストローク群を前記ストローク特徴量記憶機能から読み出して、新たに入力された座標値にかかるストロークの一群と置き換えるストローク群置換機能と、このストローク群置換機能によって置き換えられた前記ストローク群を構成する前記各ストロークの座標点を線分で結んで前記表示装置に表示する表示機能と、を実行させる。
【００２０】
また、請求項１３にかかる発明は、請求項１２記載のプログラムにおいて、前記ストローク特徴量抽出機能により抽出される前記ストロークの特徴量は、前記ストロークを所定の矩形内に正規化し、前記矩形を９つの領域に分割し、前記ストロークの開始座標が存在する領域番号と終了座標が存在する領域番号を併記した文字列でコード化したものである。
【００２１】
また、請求項１４にかかる発明は、請求項１２記載のプログラムにおいて、前記ストローク特徴量抽出機能により抽出される前記ストロークの特徴量は、前記ストロークの隣り合う座標点を結ぶ線分と所定の基準線がなす角度の平均値を文字列でコード化したものである。
【００２２】
また、請求項１５にかかる発明は、請求項１２記載のプログラムにおいて、前記ストローク群保存機能は、所定の前記ストロークについて前記ストローク群の最終の前記ストロークであることが宣言された場合に、最終の前記ストロークであることが宣言された前記ストロークまでを一つの群とみなす。
【００２３】
また、請求項１６にかかる発明は、請求項１２記載のプログラムにおいて、前記ストローク群保存機能は、前記手書き文字の座標値に基づいて改行がなされたと判断した場合に、改行される前の前記ストロークまでを一つの群とみなす。
【００２４】
また、請求項１７にかかる発明は、請求項１２記載のプログラムにおいて、前記ストローク群置換機能は、特徴量が少なくとも部分一致する前記ストローク群が複数存在する場合には、複数の前記ストローク群を一覧表示した中から一の前記ストローク群を選択させる選択機能を有しており、この選択機能により選択された前記ストローク群を前記ストローク特徴量記憶機能から読み出して、新たに入力された座標値にかかるストロークの一群と置き換える。
【００２５】
また、請求項１８にかかる発明は、請求項１７記載のプログラムにおいて、前記ストローク群置換機能は、特徴量が完全に一致する前記ストローク群が存在する場合には、当該ストローク群を前記ストローク特徴量記憶機能から読み出して、新たに入力された座標値にかかるストロークの一群と置き換える。
【００２６】
また、請求項１９にかかる発明は、請求項１７記載のプログラムにおいて、前記選択機能は、特徴量が少なくとも部分一致する複数の前記ストローク群を一覧表示する際に、表示順の並べ替えが可能である。
【００２７】
また、請求項２０にかかる発明は、請求項１９記載のプログラムにおいて、表示順の並べ替えは、前記ストローク群を構成するストローク数に基づいて行なう。
【００２８】
また、請求項２１にかかる発明は、請求項１２記載のプログラムにおいて、前記表示機能は、前記ストローク群保存機能により一つの群であるとして規定された前記ストローク群については、前記ストローク群として規定されていない前記各ストロークとは、表示形式を変えて表示する。
【００２９】
また、請求項２２にかかる発明は、請求項２１記載のプログラムにおいて、前記ストローク群保存機能により一つの群であるとして規定された前記ストローク群と前記ストローク群として規定されていない前記各ストロークとでは、表示線分の太さを変えて表示する。
【００３０】
また、請求項２３にかかる発明の文字入力方法は、座標入力装置から入力した手書き文字の座標値を線分単位で表した各ストロークの特徴量を抽出するストローク特徴量抽出工程と、特徴量を抽出した前記各ストロークを一つの群であるストローク群として規定するストローク群保存工程と、前記ストローク特徴量抽出工程により抽出された前記各ストロークの特徴量を、前記ストローク群保存工程により規定された前記ストローク群単位で記憶するストローク特徴量記憶工程と、新たに入力された座標値にかかるストロークの一群の特徴量を、前記ストローク群記憶工程によって記憶した前記ストローク群の特徴量と比較し、特徴量が少なくとも部分一致する前記ストローク群を検索するストローク群検索工程と、このストローク群検索工程により特徴量が少なくとも部分一致する前記ストローク群を前記ストローク特徴量記憶工程から読み出して、新たに入力された座標値にかかるストロークの一群と置き換えるストローク群置換工程と、このストローク群置換工程によって置き換えられた前記ストローク群を構成する前記各ストロークの座標点を線分で結んで表示装置に表示する表示工程と、を含む。
【発明の効果】
【００３１】
請求項１にかかる発明によれば、座標入力装置からの手書き文字の座標値を線分単位で表した各ストロークの特徴量をストローク群単位で記憶し、このようにして記憶したストローク群の特徴量と新たに入力された座標値にかかるストロークの一群の特徴量とを比較し、特徴量が少なくとも部分一致するストローク群を新たに入力された座標値にかかるストロークの一群と置き換えて各ストロークの座標点を線分で結んで表示装置に表示する。これにより、操作者が過去に描画したストローク群を呼び出して再利用することができるので、操作者が同じ手書き文字を何度も書かずに済むことになり、操作者の再入力の負担を軽減することができる。例えば、会議中などで頻繁に出てくる単語を、操作者が繰り返し入力する手間を軽減させることができる。
【００３２】
また、請求項２にかかる発明によれば、ストロークの特徴量は、ストロークを所定の矩形内に正規化し、矩形を９つの領域に分割し、ストロークの開始座標が存在する領域番号と終了座標が存在する領域番号を併記した文字列でコード化したものであることにより、高速に特徴量を求めることができる。
【００３３】
また、請求項３にかかる発明によれば、ストロークの特徴量は、ストロークの隣り合う座標点を結ぶ線分と所定の基準線がなす角度の平均値を文字列でコード化したものであることにより、高速に特徴量を求めることができる。
【００３４】
また、請求項４にかかる発明によれば、所定のストロークについてストローク群の最終のストロークであることが宣言された場合に、最終のストロークであることが宣言されたストロークまでを一つの群とみなすことにより、操作者の任意のタイミングでストローク群を保存することができる。
【００３５】
また、請求項５にかかる発明によれば、手書き文字の座標値に基づいて改行がなされたと判断した場合に、前記手書き文字の座標値に基づいて改行がなされたと判断した場合に、改行される前の前記ストロークまでを一つの群とみなすことにより、操作者の操作の負担を軽減することができる。
【００３６】
また、請求項６にかかる発明によれば、特徴量が少なくとも部分一致するストローク群が複数存在する場合には、複数のストローク群を一覧表示した中から選択された一のストローク群を、新たに入力された座標値にかかるストロークの一群と置き換えることにより、操作者の操作の負担を軽減することができる。
【００３７】
また、請求項７にかかる発明によれば、特徴量が完全に一致するストローク群が存在する場合には、当該ストローク群を新たに入力された座標値にかかるストロークの一群と置き換えることにより、ユーザの操作の負担を軽減することができる。
【００３８】
また、請求項８にかかる発明によれば、特徴量が少なくとも部分一致する複数のストローク群を一覧表示する際に、表示順の並べ替えが可能であることにより、操作者の選択作業を容易にすることができる。
【００３９】
また、請求項９にかかる発明によれば、表示順の並べ替えは、ストローク群を構成するストローク数に基づいて行なうことにより、例えば、表示する順序をストローク数の少ない順、あるいは、ストローク数が多い順に表示することにより、操作者が簡単にストローク群を選ぶことができることができる。
【００４０】
また、請求項１０にかかる発明によれば、一つの群であるとして規定されたストローク群については、ストローク群として規定されていない各ストロークとは、表示形式を変えて表示することにより、操作者の誤ったストローク群保存を軽減することができる。
【００４１】
また、請求項１１にかかる発明によれば、一つの群であるとして規定されたストローク群とストローク群として規定されていない各ストロークとでは、表示線分の太さを変えて表示することにより、操作者に保存されているかストローク群であるかどうかの違いを明示することができる。
【００４２】
また、請求項１２にかかる発明によれば、座標入力装置からの手書き文字の座標値を線分単位で表した各ストロークの特徴量をストローク群単位で記憶し、このようにして記憶したストローク群の特徴量と新たに入力された座標値にかかるストロークの一群の特徴量とを比較し、特徴量が少なくとも部分一致するストローク群を新たに入力された座標値にかかるストロークの一群と置き換えて各ストロークの座標点を線分で結んで表示装置に表示する。これにより、操作者が過去に描画したストローク群を呼び出して再利用することができるので、操作者が同じ手書き文字を何度も書かずに済むことになり、操作者の再入力の負担を軽減することができる。例えば、会議中などで頻繁に出てくる単語を、操作者が繰り返し入力する手間を軽減させることができる。
【００４３】
また、請求項１３にかかる発明によれば、ストロークの特徴量は、ストロークを所定の矩形内に正規化し、矩形を９つの領域に分割し、ストロークの開始座標が存在する領域番号と終了座標が存在する領域番号を併記した文字列でコード化したものであることにより、高速に特徴量を求めることができる。
【００４４】
また、請求項１４にかかる発明によれば、ストロークの特徴量は、ストロークの隣り合う座標点を結ぶ線分と所定の基準線がなす角度の平均値を文字列でコード化したものであることにより、高速に特徴量を求めることができる。
【００４５】
また、請求項１５にかかる発明によれば、所定のストロークについてストローク群の最終のストロークであることが宣言された場合に、最終のストロークであることが宣言されたストロークまでを一つの群とみなすことにより、操作者の任意のタイミングでストローク群を保存することができる。
【００４６】
また、請求項１６にかかる発明によれば、手書き文字の座標値に基づいて改行がなされたと判断した場合に、前記手書き文字の座標値に基づいて改行がなされたと判断した場合に、改行される前の前記ストロークまでを一つの群とみなすことにより、操作者の操作の負担を軽減することができる。
【００４７】
また、請求項１７にかかる発明によれば、特徴量が少なくとも部分一致するストローク群が複数存在する場合には、複数のストローク群を一覧表示した中から選択された一のストローク群を、新たに入力された座標値にかかるストロークの一群と置き換えることにより、操作者の操作の負担を軽減することができる。
【００４８】
また、請求項１８にかかる発明によれば、特徴量が完全に一致するストローク群が存在する場合には、当該ストローク群を新たに入力された座標値にかかるストロークの一群と置き換えることにより、ユーザの操作の負担を軽減することができる。
【００４９】
また、請求項１９にかかる発明によれば、特徴量が少なくとも部分一致する複数のストローク群を一覧表示する際に、表示順の並べ替えが可能であることにより、操作者の選択作業を容易にすることができる。
【００５０】
また、請求項２０にかかる発明によれば、表示順の並べ替えは、ストローク群を構成するストローク数に基づいて行なうことにより、例えば、表示する順序をストローク数の少ない順、あるいは、ストローク数が多い順に表示することにより、操作者が簡単にストローク群を選ぶことができることができる。
【００５１】
また、請求項２１にかかる発明によれば、一つの群であるとして規定されたストローク群については、ストローク群として規定されていない各ストロークとは、表示形式を変えて表示することにより、操作者の誤ったストローク群保存を軽減することができる。
【００５２】
また、請求項２２にかかる発明によれば、一つの群であるとして規定されたストローク群とストローク群として規定されていない各ストロークとでは、表示線分の太さを変えて表示することにより、操作者に保存されているかストローク群であるかどうかの違いを明示することができる。
【００５３】
また、請求項２３にかかる発明によれば、座標入力装置からの手書き文字の座標値を線分単位で表した各ストロークの特徴量をストローク群単位で記憶し、このようにして記憶したストローク群の特徴量と新たに入力された座標値にかかるストロークの一群の特徴量とを比較し、特徴量が少なくとも部分一致するストローク群を新たに入力された座標値にかかるストロークの一群と置き換えて各ストロークの座標点を線分で結んで表示装置に表示する。これにより、操作者が過去に描画したストローク群を呼び出して再利用することができるので、操作者が同じ手書き文字を何度も書かずに済むことになり、操作者の再入力の負担を軽減することができる。例えば、会議中などで頻繁に出てくる単語を、操作者が繰り返し入力する手間を軽減させることができる。
【発明を実施するための最良の形態】
【００５４】
以下に添付図面を参照して、この発明にかかる文字入力装置、プログラムおよび文字入力方法の最良な実施の形態を詳細に説明する。
【００５５】
[１．手書き文字入力システムの全体構成]
図１は、本発明の実施の一形態にかかる文字入力装置を含む手書き文字入出力システム１を示す全体構成図である。
【００５６】
手書き文字入出力システム１は、文字入力装置１００と、手書き文字入出力装置２００とを備えている。本実施の形態にかかる文字入力装置１００は、パーソナルコンピュータである。手書き文字入出力装置２００は、具体的には、大画面表示装置である。手書き文字入出力装置２００は、手書き文字等を入力する座標入力装置２１０と、座標入力装置２１０に入力された手書き文字等を表示する表示装置２２０とを有している。座標入力装置２１０は、具体的には、操作者からの入力を座標値として取得するものである。座標入力装置２１０と表示装置２２０とは一体に設けられている。
【００５７】
なお、操作者が座標入力装置２１０に文字等を入力するための入力手段として、マウスやタブレットを利用してもよい。また、表示装置２２０は、ＣＲＴやプロジェクタなどであってもよい。また、表示装置２２０の他の例としては、すでに市販されている装置であって、座標入力装置とプロジェクタを組み合わせたものであってもよい。
【００５８】
手書き文字入出力装置２００の座標入力装置２１０は、図１に示すように、操作者が指またはペンなどの入力手段を利用して入力した信号を座標値として検出し、検出した座標値を文字入力装置１００に送る。文字入力装置１００は、座標入力装置２１０から取得した座標値の集合（以下、ストローク）に対して処理を行なう。そして、得られた処理内容を表示装置２２０に表示する。
【００５９】
[２．文字入力装置における手書き文字入力処理]
図２は、文字入力装置１００における処理の流れを概略的に示すフローチャートである。図２において、太線で示した矢印は本手法の処理の流れであり、細線で示した矢印はメモリへのデータアクセスを意味する。以下に、手書き文字入力処理の流れに沿って説明する。
【００６０】
文字入力装置１００は、座標入力装置２１０から出力される座標値に対して、コマンド処理を行い、座標を座標値メモリ１０に記憶するのか、複数のストロークを一群として保存するのか、あるいは、後述する処理で画面に表示したストローク群を選択するのかを判定する。
【００６１】
コマンド処理（Ｓ１）でコマンドが座標記憶であった場合には、座標値記憶処理（Ｓ２）にて座標値メモリ１０に座標値を記憶する。こうして座標値メモリ１０に座標値を記憶した後、ストローク特徴量抽出処理（Ｓ３）にて、新たに座標値メモリ１０に記憶したストロークの特徴量を抽出し、ストローク群メモリ１１に特徴量を記憶する。続いて、ストローク群検索処理（Ｓ４）にて、既に保存が完了したストローク群メモリ１１内のストローク群の中から現在編集中のストローク群の特徴量に部分一致するストローク群を検索し、検索にヒットしたストローク群を表示処理（Ｓ５）によって画面に表示し、コマンド処理（Ｓ１）に戻る。
【００６２】
コマンド処理（Ｓ１）でコマンドがストローク保存であった場合は、ストローク保存処理（Ｓ６）にてストロークの一群の終わりをストローク群メモリ１１に記憶することによりストロークの保存を行なう。以後、操作者が入力した手書き文字は新しいストローク群として扱う。保存が完了したことを操作者に明示するために表示処理（Ｓ５）にて表示を行ない、コマンド処理（Ｓ１）に戻る。
【００６３】
コマンド処理（Ｓ１）でコマンドがストローク選択であった場合は、ストローク群検索処理（Ｓ７）で検索し、表示処理で画面に表示した１つ以上のストローク群のうち、どのストローク群を操作者が選んだかを抽出し、そのストローク群を現在編集中のストローク群メモリ１１へメモリコピーする。メモリコピーしたことを明示するため、表示装置２２０にて表示し、コマンド処理（Ｓ１）へ戻る。
【００６４】
以下において、各部の詳しい処理について述べる。
【００６５】
［２−１．コマンド処理］
はじめに、座標入力処理のうちコマンド処理（Ｓ１）について図３を用いて説明する。図３に示すように、コマンド処理では、マウスイベントを常に監視している（Ｓ１１）。マウスイベントが無い場合は、マウスイベントの監視でループし続ける。
【００６６】
ここで、座標入力装置２１０を制御するドライバでは、座標を検知すると、マウスイベントに対応付けを行なっている。つまり、操作者が指やペンなどの指示部で座標入力装置２１０に触れることにより、マウス左ボタンのＤＯＷＮイベントに対応付け、操作者が指示部で座標入力装置２１０に触れた状態のまま移動することにより、マウス左ボタンのＭＯＶＥイベントに対応付け、操作者が指示部を座標入力装置２１０から離すことにより、マウス左ボタンのＵＰイベントに対応付ける。よって、座標入力装置２１０を制御するドライバは、得られた座標値とマウスイベントの情報を座標入力処理に対して出力することになる。
【００６７】
マウスイベントがあった場合は、座標値を座標値バッファ２０へ保存する（Ｓ１２）。そして、ＵＰイベントかどうかを調べ（Ｓ１３）、ＵＰイベントでなければ（Ｓ１３のＮ）、マウスイベントの監視へ処理を返す。ＵＰイベントであれば（Ｓ１３のＹ）、ＵＰイベントが発生した領域の判定処理を行なう。これは、図４に示すように、マウスのＤＯＷＮからＭＯＶＥを経てＵＰまでのイベントで得られた座標値群をストロークとして記憶するためである。ここで、ストローク単位を操作者に明示するために、図４に示すように各座標点間を直線で結び表示することが一般的である。よって、座標値バッファ２０に座標値を記憶すると、表示処理（Ｓ５）へ処理を渡し、表示装置２２０に線分を表示する。
【００６８】
ここで、座標値バッファ２０について説明する。図５は、座標値バッファ２０の構造を示す模式図である。図５に示すように、座標値バッファ２０は、１ストローク分のメモリ領域を有しており、マウスのＤＯＷＮからＵＰまでに得られた座標値すべてと座標値の総数を記憶する。ＵＰイベントが発生した場合は、ＵＰイベント発生領域の判定を行なう。本実施の形態では、図６に示すように手書き入力領域Ａ１、ストローク保存領域Ａ２、ストローク選択領域Ａ３の３つの領域を設定している。手書き入力領域Ａ１内でＵＰイベントが発生した場合、操作者が手書き文字を入力したと判断し、座標値記憶処理（Ｓ２）へ処理を渡す。ストローク保存領域Ａ２内でＵＰイベントが発生した場合、現在編集中のストローク群を保存するものと判断し、ストローク群保存処理（Ｓ６）へ処理を渡す。ＵＰイベントがストローク選択領域Ａ３内で発生した場合、表示した１つ以上のストローク群のいずれかを操作者が選択したと判断し、ストローク群置換処理（Ｓ７）へ処理を渡す。
【００６９】
なお、操作者が現在編集中のストローク群を保存する方法は、上記ストローク保存領域Ａ２内をクリックする方法の他、以下に示すような自動的に保存する方法でも構わない。概略的には、行単位で高さ情報を有し、高さ情報に所定の余白を設けた垂直方向の範囲内に、新たなストロークが一部でも入った場合は同じ行とし、入っていない場合は新しい行とする。同じ行と判断した場合はストローク群保存処理（Ｓ６）を行なわず、新しい行と判断した場合は座標値メモリ１０の操作者が入力したストロークのページ番号より１つ小さいページ番号までを１つのストローク群としてストローク群保存処理（Ｓ６）を実行する。
【００７０】
［２−２．座標値記憶処理］
次に、コマンド処理（Ｓ１）から処理を渡される座標値記憶処理（Ｓ２）について図７を参照して説明する。
【００７１】
座標値記憶処理（Ｓ２）では、座標値バッファ２０に記憶した座標群を座標値メモリ１０にコピーする。より詳細には、まず、座標値バッファ２０から全座標値データを取得する（Ｓ２１）。次に、座標値メモリ１０のページを１ページ捲る（Ｓ２２）。これは、図８に示すように、１ストローク分のデータを持つ座標値バッファ２０と座標値メモリ１０の１ページが対応しており、座標値メモリ１０が１ページごとに１ストローク分のデータを保持するためである。最後に、新たに生成した座標値メモリ１０のページに座標値バッファ２０から取得した１ストローク分の座標値データを保存する（Ｓ２３）。そして、ストローク特徴量抽出処理（Ｓ３）に処理を渡す。
【００７２】
［２−３．ストローク特徴量抽出処理］
次に、座標値記憶処理（Ｓ２）から処理を渡されるストローク特徴量抽出処理（Ｓ３）について図９を参照して説明する。
【００７３】
ストローク特徴量抽出処理（Ｓ３）では、座標値記憶処理（Ｓ２）で記憶した最新のストローク（座標値メモリ１０のページ番号が一番大きいページの座標群）を座標値メモリ１０から呼び出し（Ｓ３１）、呼び出した１ストローク分の座標値データをもとに特徴量を抽出し（Ｓ３２）、抽出した特徴量をストローク群メモリ１１へ保存する（Ｓ３３）。
【００７４】
ここで、図１０はストローク群メモリ１１のデータ構成を示す模式図である。図１０に示すように、ストローク群メモリ１１は複数のページを有しており、１ページはストロークの一群に対応している。１ページには、座標値メモリ１０のどのページからどのページまでを一群とみなすかを示す座標値メモリ開始ページと座標値メモリ終了ページ、抽出した特徴量を保存する特徴量、以前のストローク群のページと関連があった場合に関連のあるストローク群ページ番号を保存するストローク群ページの４つのパラメータが存在する。上記で抽出した特徴量はストローク単位の特徴量であり、ストローク群メモリ１１の特徴量はストローク群単位の特徴量であるので、新たなストロークの特徴量を算出した場合は、ストローク群メモリ１１の特徴量に追記することになる。
【００７５】
ここに、ストローク特徴量抽出手段の機能およびストローク特徴量記憶手段の機能が実行される。
【００７６】
ここで、具体的な特徴量抽出方法を２例示す。第１の特徴量抽出方法例は、図１１に示すように、ストロークの開始位置と終了位置をコード化する方法である。図１１に示す（ａ）のようなストロークを操作者が入力したとすると、（ｂ）のように所定の大きさの正方形に（ａ）のストロークを正規化する。この時、（ａ）のストロークの縦横比は変化させず、かつ、正規化したストロークが（ｂ）の正規化正方形の縦方向および横方向の中央に位置するように正規化する。そして、（ｃ）のように（ｂ）の正規化正方形を９つの領域に等分し、左上から順に１、２、３・・・９と領域の番号をふる。すると、操作者が入力したストローク（ａ）は領域４から始まり、領域６で終わるストロークとして特徴付けられる。よって、４６（開始領域＋終了領域）とコード化し、ストローク群メモリ１１の対応ページに追記する。図１２に様々なストロークの特徴量コード化例を示す。図１２に示す点がストロークを書き始めた位置、点の無い端部が書き終わり位置である。特徴量は、左から順に４６、２８、１９、２９のようになる。仮に、操作者が左のストロークから順に入力したとし、図１２の４つのストロークが一群であるとすると、ストローク群メモリ１１の特徴量は“４６２８１９２９”となる。
【００７７】
第２の特徴量抽出方法の例は、図１３に示すように、ストロークの平均角度を特徴量とする方法である。図１３に示す（ａ）のように操作者がストロークを入力したとする。入力したストロークの細部は、（ｂ）のように複数の座標点が線分で結ばれたものとなっている。ここで、（ｃ）の黒線で示す基準線を設け、ある座標点と次の座標点を結ぶ線分と基準線とが成す角度を求める。各座標点について角度を求めていき、全座標点の角度の平均を求める。すると、操作者が入力したストロークは０から３６０までの数値でコード化でき、このコードを特徴量としてストローク群メモリ１１に追記する。
【００７８】
以上説明したストローク特徴量抽出処理（Ｓ３）が完了すると、ストローク群検索処理（Ｓ４）へ処理を渡す。
【００７９】
［２−４．ストローク群検索処理］
次に、ストローク特徴量抽出処理（Ｓ３）から処理を渡されるストローク群検索処理（Ｓ４）について図１４を参照して説明する。
【００８０】
ストローク群検索処理（Ｓ４）は、現在編集中のストローク群の特徴量が既保存のストローク群の特徴量と部分一致するかどうかを判断し（Ｓ４１）、部分一致するストローク群のページ番号を取得する（Ｓ４２）。より詳細には、まず、ストローク群メモリ１１から編集中のストローク群の特徴量を呼び出し、呼び出した特徴量とストローク群メモリ１１に以前保存したストローク群の特徴量を比較する。図１５に示すように、編集中のストローク群の特徴量が（ａ）のように“４６２８”だったとする。また、（ｂ）に示すように、既保存のストローク群の特徴量が各ページに存在したとする。（ｂ）の特徴量について、（ａ）の特徴量が特徴量の先頭に存在するかどうかを調べる。すると、ストローク群ページ番号１、３、６の特徴量の先頭が“４６２８”から始まっていることから、（ｃ）のように検索でヒットするページ番号は１、３、６となる。（ｂ）のページ番号４は特徴量の途中に“４６２８”が存在するが、先頭からという条件に一致しないのでヒットしない。ヒットしたページ番号のストローク群は、後述する表示処理（Ｓ５）にて図１６のように表示する。図１６は、図６のストローク選択領域Ａ３のみを示す説明図である。ここでは、２つのストローク群がヒットした例を示しており、ヒットしたストローク群の１番目「あかい」と２番目「あおい」を縦方向に列挙している。操作者が１ストロークを入力するたびにストローク特徴量抽出処理（Ｓ３）で特徴量を抽出し、ストローク群検索処理（Ｓ４）で特徴量が部分一致するストローク群を探し、表示処理（Ｓ５）で表示するので、操作者がストロークを入力するたびにヒットするストローク群が限定されていくことになる。ストローク群検索処理（Ｓ４）が終了すると、表示処理（Ｓ５）に処理を渡す。
【００８１】
以上は、ストローク群検索処理（Ｓ４）の一般的な処理フローである。以下においては、操作者の操作を簡単にするため、特別な処理を追加する例を２例示す。
【００８２】
第１の例は、図１５の（ａ）に示す現在編集中のストローク群の特徴量が、（ｂ）に示す既保存のストローク群の特徴量と完全に一致した場合である。両特徴量が完全に一致するということは、操作者が全く同じ手書き文字を入力した可能性が高いので、後述するストローク群置換処理（Ｓ７）をストローク選択領域Ａ３から選ぶことなく自動で実行する。
【００８３】
第２の例は、図１５の（ａ）に示す現在編集中のストローク群の特徴量が、（ｂ）に示す既保存のストローク群の特徴量と部分一致であるが、ヒットしたストローク群メモリ１１のページ番号が１つしかない場合である。ヒットしたストローク群メモリ１１のページ番号が１つしかないということは、操作者が入力しようとしている手書き文字とヒットしたストローク群メモリ１１の手書き文字が一致する可能性が高いので、後述するストローク群置換処理（Ｓ７）をストローク選択領域Ａ３から選ぶことなく自動で実行する。以上の処理を追加することで、操作者がストローク選択領域Ａ３から所望のストローク群を選ぶ手間を省くことができる。
【００８４】
ここに、ストローク群検索手段の機能が実行される。
【００８５】
［２−５．ストローク群保存処理］
次に、コマンド処理（Ｓ１）から処理を渡されるストローク群保存処理（Ｓ６）について図１７を参照して説明する。
【００８６】
ストローク群保存処理（Ｓ６）は、操作者がどのストロークまでを１つのストローク群として保存するかを指示した場合、ストローク群メモリ１１の座標値メモリ終了ページに最終の座標値メモリページを書き込む処理を行なう。より詳細には、まず、座標値メモリ１０に記憶しているページのうち最終のページ番号を取得し（Ｓ６１）、取得した最終ページ番号をストローク群メモリ１１の座標値メモリ終了ページへ保存する（Ｓ６２）。そして、新たなストローク群を記憶するため、ストローク群メモリ１１のページを捲り、新たなページを生成する（Ｓ６３）。このとき、座標値メモリ開始ページに新たな座標値メモリ１０のページを入れておく。
【００８７】
ここに、ストローク群保存手段の機能が実行される。
【００８８】
［２−６．ストローク群置換処理］
次に、コマンド処理（Ｓ１）から処理を渡されるストローク群置換処理（Ｓ７）について図１８を参照して説明する。
【００８９】
ストローク群置換処理（Ｓ７）は、操作者が図６のストローク選択領域Ａ３内から所望のストローク群を選択した場合に実行する処理であり、現在編集中のストローク群を選択したストローク群に置き換える処理を行なう。より詳細には、現在編集中のストローク群に対応するストローク群メモリ１１から座標値メモリ開始ページを取得し（Ｓ７１）、取得した座標値メモリ開始ページに該当する座標値メモリ１０のページ以降のページを削除する（Ｓ７２）。これは、操作者が既保存のストローク群を選択したことにより、不要になったストロークを消去する必要があるためである。次に、操作者が選択したストローク群のストローク群メモリ１１のページ番号を取得する（Ｓ７３）。図１５に示した例では、１、３、６ページがヒットし、図１６には上から順に１、３、６ページのストローク群を表示しているので、操作者が選んだページは容易に取得できる。次に、取得した操作者選択ページをストローク群メモリ１１から参照し、同ページのすべてのデータを現在編集中のストローク群メモリページへコピーする（Ｓ７４）。また、操作者選択ページを現在編集中のストローク群メモリ１１のストローク群ページへ記憶する（Ｓ７５）。これは後から同ページを参照したとき、どのストローク群メモリページをコピーしたのかを容易に取得できるようにするためである。
【００９０】
ここで、図１９〜図２３に実例を示す。図１９〜図２３は後述する表示処理（Ｓ５）によって画面に表示した例である。図１９に示すように、既にストローク群メモリ１１に手書き文字「あかい」「あおい」「しろい」「くろい」を保存している状態で、操作者が新たにストロークを入力したとする。操作者が図１９に示すような横線の新しいストロークを手書き入力領域Ａ１に入力すると、図２０に示すようにストローク選択領域Ａ３にヒットしたストローク群を表示する。ここに、選択手段の機能が実行される。操作者が手書き入力領域Ａ１に入力したストロークが横線（第１の特徴量抽出方法ではコード４６）であったため、既存のストローク群のうち横線から書き始める「あかい」「あおい」の２つがヒットする。図２０から操作者が「あかい」を選択すると、枠線の色を変えるなどして「あかい」が選択されたことを明示すると同時に、図２１に示すように、図１９の新しいストロークが入力された位置に操作者が選択したストローク群「あかい」を表示する。これにより、現在編集中のストローク群へ選択した既存のストローク群が置換されたことになる。続けて、図２２のように「あおい」を選択すると、図２３に示すように「あおい」が現在編集中のストローク群へ置換され、画面に表示される。操作者は、続けて所望のストロークを手書き入力領域Ａ１に入力することができ、ストローク保存領域Ａ２をクリックするまで一群のストロークとして取り扱うことができる。
【００９１】
ここに、ストローク群置換手段の機能が実行される。
【００９２】
このようにしてストローク群置換処理（Ｓ７）を完了すると、表示処理（Ｓ５）へ処理を渡す。
【００９３】
［２−７．表示処理］
最後に、コマンド処理（Ｓ１）、ストローク群検索処理（Ｓ４）、ストローク群保存処理（Ｓ６）およびストローク群置換処理（Ｓ７）から処理を受け取る表示処理（Ｓ５）について図２４を用いて説明する。表示処理（Ｓ５）は、各処理で実行した処理結果を画面に表示する処理を担っている。
【００９４】
コマンド処理（Ｓ１）から処理を受け取った場合は、座標値バッファ２０内の座標点を線分で結び、手書き入力領域Ａ１に表示する（Ｓ５１）。これにより、操作者が手書き入力領域Ａ１に手書き文字を入力する過程が表現できる。
【００９５】
ストローク群検索処理（Ｓ４）から処理を受け取った場合は、検索結果のストローク群メモリページを参照し、座標値メモリ開始ページおよび座標値メモリ終了ページから座標点を呼び出し、座標点を線分で結んでストローク選択領域Ａ３に描画する（Ｓ５２）。これにより、操作者へ検索結果を提供することができ、操作者の選択によりストローク群置換処理に結びつく。
【００９６】
ストローク群保存処理（Ｓ６）から処理を受け取った場合は、既保存とストローク群と現在編集中のストローク群の表示方法を変えて手書き入力領域Ａ１に表示する（Ｓ５３）。例えば図２５に示すように、既保存のストローク群「あいう」は太線で表示し、現在編集中のストローク群「かきく」は細線で表示する。これにより、操作者がどこまでのストロークを保存し、今どのストロークを編集中かを視認できる。図２６では線分の太さで区別しているが、ストロークの大きさ、ストロークの色、ストロークのフォント種などでも構わない。
【００９７】
ストローク群置換処理（Ｓ７）から処理を受け取った場合は、現在編集中のストローク群メモリページから座標値メモリ開始ページおよび終了ページを取得し、対応する座標値メモリ１０から座標点を取得し、線分で結び手書き入力領域Ａ１に表示する（Ｓ５４）。これにより、図２１および図２３で示したように、現在編集中のストローク群が置換され、操作者に明示できる。
【００９８】
以上は、表示処理（Ｓ５）の一般的な処理フローである。表示処理（Ｓ５）がストローク群検索処理（Ｓ４）から処理を受け取った場合には、以下の処理を追加することにより、操作者の視認性および選択性を向上させることができる。
【００９９】
図２６に示すように、ストローク群検索処理（Ｓ４）でストローク群メモリ１１の４ページと７ページが検索にヒットしたとする。４ページはストローク群「あかい花」であり、７ページは「あかい」である。上述した一般的な表示処理（Ｓ５）で表示すると、１段目に「あかい花」２段目に「あかい」が表示されるが、より短いストローク数のストローク群を優先的に表示すると、図２６の右図のように１段目が７ページ、２段目が４ページとなる。図２６の実例ではヒットしたストローク群が２つと少ないため、効果が見えにくいが、ヒットするストローク群の数が増えた場合、ストローク数の少ないストローク群が優先的に表示されるので、操作者の視認性、選択性が向上する。このように表示する順番の並べ替えは、ストローク数の少ない順の他、ストローク数の多い順、特徴量の近い（部分一致する）ストローク群をまとめるなどでも構わない。
【０１００】
ここに、表示手段の機能が実行される。
【０１０１】
表示処理（Ｓ５）にて以上の処理を完了すると、コマンド処理（Ｓ１）へ処理を返す。
【０１０２】
[３．文字入力装置のハードウェア構成]
図２７は、本実施の形態に係る文字入力装置１００のハードウェア構成を示すブロック図である。文字入力装置１００は、ハードウェア構成として、コンピュータの主要部であって各部を集中的に制御するＣＰＵ（Central Processing Unit）５１を備えている。このＣＰＵ５１には、ＢＩＯＳなどを記憶した読出し専用メモリであるＲＯＭ（Read Only Memory）５２と、文字入力装置１００の制御に必要な種々のデータを記憶するＲＡＭ（Random Access Memory）５３とがバス５４で接続されている。
【０１０３】
さらにバス５４には、文字入力装置１００における手書き文字入力処理を実行する文字入力プログラム等を格納するＨＤＤ（Hard Disk Drive）５５と、配布されたプログラムであるコンピュータソフトウェアを読み取るための機構としてＣＤ（Compact Disc）−ＲＯＭ５６を読み取るＣＤ−ＲＯＭドライブ５７と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５８とが、図示しないＩ／Ｏを介して接続されている。
【０１０４】
ＲＡＭ５３は、各種データを書換え可能に記憶する性質を有していることから、ＣＰＵ５１の作業エリアとして機能してバッファ等の役割を果たす。
【０１０５】
図２７に示すＣＤ−ＲＯＭ５６は、この発明の記憶媒体を実施するものであり、ＯＳ（Operating System）や各種のプログラムが記憶されている。ＣＰＵ５１は、ＣＤ−ＲＯＭ５６に記憶されているプログラムをＣＤ−ＲＯＭドライブ５７で読み取り、ＨＤＤ５５にインストールする。
【０１０６】
なお、記憶媒体としては、ＣＤ−ＲＯＭ５６のみならず、ＤＶＤなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、通信I／Ｆ５８を介してインターネットなどのネットワークからプログラムをダウンロードし、ＨＤＤ５５にインストールするようにしてもよい。この場合に、送信側のサーバでプログラムを記憶している記憶装置も、この発明の記憶媒体である。なお、プログラムは、所定のＯＳ（Operating System）上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【０１０７】
このシステム全体の動作を制御するＣＰＵ５１は、このシステムの主記憶として使用されるＨＤＤ５５上にロードされた文字入力プログラムに基づいて上述したような手書き文字入力処理を実行する。
【０１０８】
以上、本発明の実施の一形態を説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【０１０９】
このように本実施の形態によれば、座標入力装置２１０からの手書き文字の座標値を線分単位で表した各ストロークの特徴量をストローク群単位で記憶し、このようにして記憶したストローク群の特徴量と新たに入力された座標値にかかるストロークの一群の特徴量とを比較し、特徴量が少なくとも部分一致するストローク群を新たに入力された座標値にかかるストロークの一群と置き換えて各ストロークの座標点を線分で結んで表示装置２１０に表示する。これにより、操作者が過去に描画したストローク群を呼び出して再利用することができるので、操作者が同じ手書き文字を何度も書かずに済むことになり、操作者の再入力の負担を軽減することができる。例えば、会議中などで頻繁に出てくる単語を、操作者が繰り返し入力する手間を軽減させることができる。
【図面の簡単な説明】
【０１１０】
【図１】本発明の実施の一形態にかかる文字入力装置を含む手書き文字入力システムを示す全体構成図である。
【図２】文字入力装置における処理の流れを概略的に示すフローチャートである。
【図３】コマンド処理の流れを概略的に示すフローチャートである。
【図４】ストローク画像を示す説明図である。
【図５】座標値バッファの構造を示す模式図である。
【図６】イベント発生領域を示す説明図である。
【図７】座標値記憶処理の流れを概略的に示すフローチャートである。
【図８】座標値メモリのデータ構成を示す模式図である。
【図９】ストローク特徴量抽出処理の流れを概略的に示すフローチャートである。
【図１０】ストローク群メモリのデータ構成を示す模式図である。
【図１１】第１の特徴量抽出方法例を示す説明図である。
【図１２】ストロークの特徴量コード化例を示す説明図である。
【図１３】第２の特徴量抽出方法例を示す説明図である。
【図１４】ストローク群検索処理の流れを概略的に示すフローチャートである。
【図１５】ストローク群の特徴量の比較手法を示す説明図である。
【図１６】図６のストローク選択領域のみを示す説明図である。
【図１７】ストローク群保存処理の流れを概略的に示すフローチャートである。
【図１８】ストローク群置換処理の流れを概略的に示すフローチャートである。
【図１９】画面表示例を示す説明図である。
【図２０】画面表示例を示す説明図である。
【図２１】画面表示例を示す説明図である。
【図２２】画面表示例を示す説明図である。
【図２３】画面表示例を示す説明図である。
【図２４】表示処理の流れを概略的に示すフローチャートである。
【図２５】画面表示例を示す説明図である。
【図２６】より短いストローク数のストローク群を優先的に表示した画面表示例を示す説明図である。
【図２７】文字入力装置ハードウェア構成を示すブロック図である。
【符号の説明】
【０１１１】
１００    文字入力装置
２１０    座標入力装置
２２０    表示装置
【図１】
2006260306.tif 000003
【図２】
2006260306.tif 000004
【図３】
2006260306.tif 000005
【図４】
2006260306.tif 000006
【図５】
2006260306.tif 000007
【図６】
2006260306.tif 000008
【図７】
2006260306.tif 000009
【図８】
2006260306.tif 000010
【図９】
2006260306.tif 000011
【図１０】
2006260306.tif 000012
【図１１】
2006260306.tif 000013
【図１２】
2006260306.tif 000014
【図１３】
2006260306.tif 000015
【図１４】
2006260306.tif 000016
【図１５】
2006260306.tif 000017
【図１６】
2006260306.tif 000018
【図１７】
2006260306.tif 000019
【図１８】
2006260306.tif 000020
【図１９】
2006260306.tif 000021
【図２０】
2006260306.tif 000022
【図２１】
2006260306.tif 000023
【図２２】
2006260306.tif 000024
【図２３】
2006260306.tif 000025
【図２４】
2006260306.tif 000026
【図２５】
2006260306.tif 000027
【図２６】
2006260306.tif 000028
【図２７】
2006260306.tif 000029