(57)【特許請求の範囲】
【請求項１】
表示装置に表示される表示画面上で入力を受け付ける入力受付部と、
前記入力受付部によって受け付けられた第一の入力の始点から終点までの時間および／または軌跡情報を用いて、前記第一の入力の入力手法を判定する判定部と、
入力手法が判定された入力の軌跡情報を記憶する軌跡情報記憶部に、前記判定部によって入力手法が判定された前記第一の入力の軌跡情報を格納する格納制御部と、
前記第一の入力が入力されてから所定時間内に受け付けられた第二の入力に対する前記判定部の判定結果が前記第一の入力の入力手法と異なる場合に、前記軌跡情報記憶部に記憶される軌跡情報および前記第二の入力の軌跡情報を用いて、前記入力受付部が受け付けた軌跡情報を復元する復元部と
を有することを特徴とする情報処理装置。
【請求項２】
前記表示装置への表示対象となる入力情報を記憶する未確定情報記憶部と、
前記復元部によって復元された軌跡情報を用いて前記入力情報を生成し、生成した入力情報を前記未確定情報記憶部に格納する入力情報生成部と、さらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記入力情報生成部による入力情報の生成に際して前記未確定情報記憶部から削除された入力情報について、前記復元部が復元するのに使用した軌跡情報以外の軌跡情報を用いて前記入力情報を生成して前記未確定情報記憶部に復元する未確定情報復元部を、さらに有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記復元部によって前記入力受付部が受け付けた軌跡情報が復元された場合、または、前回の入力から所定時間経過した場合に、前記軌跡情報記憶部に記憶される軌跡情報を削除することを特徴とする情報削除部をさらに有することを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記軌跡情報記憶部に記憶される複数の軌跡情報間の位置関係を特定し、特定した位置関係が、文字の書き出しとして相応しくないと予め定めた所定の条件を満たす場合に、前記軌跡情報記憶部に記憶される軌跡情報を削除することを特徴とする情報削除部をさらに有することを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項６】
前記判定部が前記入力受付部によって受け付けられた入力の入力手法を手書き入力であると判定し、かつ、前記軌跡情報記憶部に記憶される手書き入力と判定された軌跡情報の数が一定以上である場合に、前記軌跡情報記憶部に記憶される軌跡情報を削除することを特徴とする情報削除部をさらに有することを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項７】
コンピュータが、
表示装置に表示される表示画面上で入力を受け付け、
受け付けた第一の入力の始点から終点までの時間および／または軌跡情報を用いて、前記第一の入力の入力手法を判定し、
入力手法を判定した入力の軌跡情報を記憶する軌跡情報記憶部に、前記入力手法を判定された前記第一の入力の軌跡情報を格納し、
前記第一の入力が入力されてから所定時間内に受け付けられた第二の入力に対する判定結果が前記第一の入力の入力手法と異なる場合に、前記軌跡情報記憶部に記憶される軌跡情報および前記第二の入力の軌跡情報を用いて、受け付けた軌跡情報を復元する、
ことを特徴とする入力制御方法。
【請求項８】
コンピュータに、
表示装置に表示される表示画面上で入力を受け付け、
受け付けた第一の入力の始点から終点までの時間および／または軌跡情報を用いて、前記第一の入力の入力手法を判定し、
入力手法を判定した入力の軌跡情報を記憶する軌跡情報記憶部に、前記入力手法を判定された前記第一の入力の軌跡情報を格納し、
前記第一の入力が入力されてから所定時間内に受け付けられた第二の入力に対する判定結果が前記第一の入力の入力手法と異なる場合に、前記軌跡情報記憶部に記憶される軌跡情報および前記第二の入力の軌跡情報を用いて、受け付けた軌跡情報を復元する、
処理を実行させることを特徴とする入力制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、入力制御方法および入力制御プログラムに関する。
【背景技術】
【０００２】
従来、手書き入力とソフトウェアキーボード入力とを選択できる装置では、利用者が適宜、入力方法を切り替えて利用していた。これに対して、ソフトウェアキーボード上に筆跡を重ねて表示し、筆跡入力かキーボード入力かを判定して、入力方法を自動的に切り替える入力装置が知られている。
【０００３】
例えば、入力された筆跡の始点および終点がソフトウェアキーボード上の同一キー内で閉じているか否かによって、筆跡入力かキーボード入力かを判定する入力装置がある。また、タッチからリリースまでの移動軌跡のサイズによって、筆跡入力かキーボード入力かを判定する入力装置がある。また、一定時間のタッチ位置の停留によって、筆跡入力かキーボード入力かを判定する入力装置がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−３１９５０２号公報
【特許文献２】特開２００５−０９２５３８号公報
【特許文献３】特開２００５−０８５２４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、誤判定によってユーザの意図に反する入力が実行されるという問題がある。
【０００６】
例えば、従来の技術は、タッチからリリースまでの移動距離や時間を閾値と照合して、筆跡入力かキーボード入力かを判定している。したがって、ユーザが非意図的に操作を停留させた場合や素早いタッチ操作を実行した場合、小さい点で始まる文字を手書き入力しようとした場合には、ユーザの意図とは異なる入力方法が決定される場合がある。この場合、ユーザの意図する入力方法とは異なる入力方法で入力処理が実行されてしまい、ユーザの意図に反する文字入力が実行され続ける。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、意図に反する入力を防止することができる情報処理装置、入力制御方法および入力制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する情報処理装置、入力制御方法および入力制御プログラムは、一つの態様において、表示装置に表示される表示画面上で入力を受け付ける入力受付部を有する。前記入力受付部によって受け付けられた第一の入力の始点から終点までの時間および／または軌跡情報を用いて、前記第一の入力の入力手法を判定する判定部を有する。入力手法が判定された入力の軌跡情報を記憶する軌跡情報記憶部に、前記判定部によって入力手法が判定された前記第一の入力の軌跡情報を格納する格納制御部を有する。前記第一の入力が入力されてから所定時間内に受け付けられた第二の入力に対する前記判定部の判定結果が前記第一の入力の入力手法と異なる場合に、以下の処理を実行する復元部を有する。復元部は、前記軌跡情報記憶部に記憶される軌跡情報および前記第二の入力の軌跡情報を用いて、前記入力受付部が受け付けた軌跡情報を復元する。
【発明の効果】
【０００９】
本願の開示する情報処理装置、入力制御方法および入力制御プログラムの一つの態様によれば、意図に反する入力を防止することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る情報処理装置の機能ブロック図である。
【図２】図２は、ディスプレイに表示される画面例を示す図である。
【図３】図３は、ソフトウェアキーボードで受け付けた未確定文字列が入力されている例を示す図である。
【図４】図４は、図３の状態で入力された１画目が誤判定された例を示す図である。
【図５】図５は、誤判定後に軌跡情報を復元した例を示す図である。
【図６】図６は、情報処理装置が実行する処理の流れを示すフローチャートである。
【図７】図７は、入力制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する情報処理装置、入力制御方法および入力制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１２】
実施例１では、開示する情報処理装置の機能ブロック図、処理の具体的例、処理の流れを示すフローチャート等について説明する。開示する情報処理装置は、手書き入力とソフトウェアキーボード入力とを自動的に切り替えてユーザの入力を受け付けることができる装置であり、例えば携帯電話、スマートフォンなどのポインティングデバイスを有する様々な装置に適用することができる。
【００１３】
［情報処理装置の構成］
図１は、実施例１に係る情報処理装置の機能ブロック図である。図１に示すように、情報処理装置１０は、ディスプレイ１１、時間計測部１２、復元情報リセット部１３、入力判定部１４、復元情報記憶部１５を有する。また、情報処理装置１０は、筆跡入力部１６、キー入力部１７、未確定文字列記憶部１８、復元部１９、未確定文字列復元部２０、表示制御部２１を有する。
【００１４】
図１に示した各処理部は、例えばＣＰＵ（Central  Processing  Unit）などの電子回路等で実行され、各記憶部は、半導体メモリ素子やハードウェアなどである。なお、ここでは、開示する情報処理装置に関する機能について説明し、情報処理装置が適用される各種装置の機能については省略する。例えば、図１の情報処理装置をスマートフォン等に適用した場合には、スマートフォンの機能である通話処理機能部、Ｗｅｂ接続機能部、メール処理機能部等を有していることとなるが、これらの機能部については説明を省略する。
【００１５】
ディスプレイ１１は、入力表示部１１ａとポインティング入力部１１ｂとキー表示部１１ｃとを有し、ユーザから入力操作を受け付けるタッチパネルなどのポインティングデバイスである。例えば、ディスプレイ１１としては、アナログ抵抗膜方式や静電容量方式など各種のタッチパネルを採用することができ、ユーザがタッチパネルに触れることにより所望の情報や指示が入力される。また、ディスプレイ１１は、タッチパネル以外にも、例えばマウスやトラックボール、カメラ映像のリアルタイム解析による物体トラッキングなど、任意のポインティングデバイスを採用することができる。
【００１６】
また、ディスプレイ１１は、ポインティング入力部１１ｂとキー表示部１１ｃとを重ねて表示する。つまり、ディスプレイ１１は、手書き入力を受け付ける画面とソフトウェアキーボードとを重ねて表示する。
【００１７】
入力表示部１１ａは、ディスプレイ１１を介して入力された文字や数字（以下、文字や数字などを含めて「文字列」と記載する場合がある）などを表示させる。例えば、入力表示部１１ａは、一般的なスマートフォンなどの装置と同様、ユーザによる入力が未確定の場合には「アンダーバー」が付加された未確定な文字列を表示する。また、入力表示部１１ａは、エンターキーの押下など入力された情報の確定が実行された場合には、「アンダーバー」を付加しない確定した文字列を表示する。なお、文字の変更等については、一般的な処理と同様であるので、ここでは説明を省略する。
【００１８】
ポインティング入力部１１ｂは、ディスプレイ１１からのポインティング座標の入力を受け付ける。例えば、ポインティング入力部１１ｂは、ユーザがディスプレイを操作する操作位置の座標（Ｘ軸、Ｙ軸）を取得し、入力判定部１４等に出力する。また、ポインティング入力部１１ｂは、ユーザが操作を開始した座標として、ディスプレイ１１上でのタッチからリリースまでの座標を連続して取得する。このポインティング入力部１１ｂは、入力が開始されたこと、または、入力が終了したことを時間計測部１２に出力する。
【００１９】
ポインティング入力部１１ｂが取得する座標は、マウスやトラックボールの場合にはボタン押下中の座標入力に該当する。また、ポインティング入力部１１ｂは、物体トラッキングにおいては、ボタン押下に類似するアクション、例えばトラッキング物体にボタンがあればその押下、あるいは物体を手前に突き出すなどを契機に、座標の受け付けを行う。
【００２０】
キー表示部１１ｃは、複数種類のアルファベット、数字、記号等に対応する複数のキーを含むソフトウェアキーボードをディスプレイ１１上に表示する。なお、表示されるソフトウェアキーボードの形状や大きさは、任意に設定できる。したがって、キーは、正方形だけでなく、細長形状や、細長形状を湾曲させた形状にするなど特殊な形であってもよい。ここで、キーは正方形であって、複数のキーが一般的なＱＷＥＲＴＹ配列をしている場合を例示する。
【００２１】
時間計測部１２は、先のポインティング入力が終了してから次のポインティング入力が開始されるまでの時間を計測する処理部である。そして、時間計測部１２は、計測した時間が一定時間を経過したか否かを判定し、経過した場合には一定時間経過通知を復元情報リセット部１３などに出力する。
【００２２】
この一定時間は、文字を書くときの筆画間の時間間隔の標準的な値を十分包含するものであることが好ましい。標準的な値は単純には平均値が挙げられる。また、その値を十分に包括するには、例えば正規分布を仮定して標準偏差の範囲内にするといった方法がある。しかし一方で、ここでの一定時間の設定はキー入力操作から手書き入力操作に移行する標準的な時間間隔よりも十分短くすることが好ましい。一定時間の値が大きすぎると本来キー入力であるものが手書き入力にされてしまう可能性が増加する。実際には、文字を書くときの筆画間の標準的な時間間隔はキー入力から手書き入力へと意識を切り替える時間よりも十分に短い場合がほとんどであり、筆画間の標準的な時間間隔に基づいて設定することが好ましい。
【００２３】
復元情報リセット部１３は、所定の契機で復元情報記憶部１５に記憶される情報を削除して、復元情報のリセットを実行する処理部である。例えば、復元情報リセット部１３がリセットを実行するタイミングとしては、時間計測部１２から一定時間経過通知を受信した場合や入力表示部１１ａで表示される未確定の文字列が確定された場合などが挙げられる。なお、他の契機については、後述するのでここでは省略する。
【００２４】
入力判定部１４は、ポインティング入力部１１ｂによって受け付けられた入力座標の始点から終点までの時間や軌跡情報を用いて、入力の入力手法を判定する処理部である。例えば、入力判定部１４は、ポインティング入力の始点から終点までの軌跡のサイズまたは入力時間の一方または両方を閾値と照合することにより、キー入力か手書き入力であるかの判定を行う。一例を挙げると、入力判定部１４は、入力軌跡の長さが閾値よりも大きければ手書き入力、小さければキー押下と判定する。
【００２５】
なお、ここで説明した判定方法はあくまで一例であり、既知の様々な判定手法を用いることができる。例えば、入力判定部１４は、入力軌跡のサイズと入力時間と入力方法とを対応付けた表を保持し、この表を用いてキー入力か手書き入力であるかの判定を行うこともできる。入力時間は、例えばディスプレイ１１のタッチの始点から終点までに経過した時間であり、入力判定部１４が測定してもよく、時間計測部１２が測定することもできる。
【００２６】
また、この入力判定部１４は、入力手法をキー入力と判定した入力Ａから一定時間経過前に入力Ｂが受け付けられた場合、入力Ｂについて入力方法を判定する。そして、入力判定部１４は、入力Ｂの入力方法もキー入力と判定したとする、つまり入力Ａの入力方法と入力Ａから一定時間経過前に入力された入力Ｂの入力方法とが一致したとする。
【００２７】
この場合、入力判定部１４は、入力Ａの軌跡情報等を記憶する復元情報記憶部１５に、入力Ｂの入力方法がキー入力であることに対応付けて、入力Ｂの軌跡情報として入力Ｂの開始から終了までの座標を格納する。さらに、入力判定部１４は、入力Ｂの入力方法に対応する入力部に対して、入力Ｂの軌跡情報を出力する。上記例の場合、入力判定部１４は、キー入力部１７に入力Ｂの軌跡情報を出力する。つまり、入力判定部１４は、既に入力Ａの軌跡情報を送信しているキー入力部１７に対して、入力Ｂの軌跡情報を送信する。
【００２８】
別例として、入力判定部１４は、手書き入力と判定した入力Ａから一定時間経過前に入力された入力Ｂの入力方法も手書き入力であると判定したとする。この場合、入力Ａの軌跡情報等を記憶する復元情報記憶部１５に、入力Ｂの入力方法に対応付けて入力Ｂの軌跡情報を格納する。さらに、入力判定部１４は、筆跡入力部１６に入力Ｂの軌跡情報を出力する。つまり、入力判定部１４は、既に入力Ａの軌跡情報を送信している筆跡入力部１６に対して入力Ｂの軌跡情報を送信する。すなわち、入力判定部１４は、連続して入力された軌跡情報を筆跡入力部１６に送信する。
【００２９】
また、入力判定部１４は、手書き入力と判定した入力Ａから一定時間経過後に入力された入力Ｂの入力方法も手書き入力であると判定したとする。この場合、入力判定部１４は、復元情報記憶部１５に記憶される入力Ａの軌跡情報等の削除を復元情報リセット部１３に依頼し、入力Ｂの入力方法に対応付けて入力Ｂの軌跡情報を復元情報記憶部１５に格納する。さらに、入力判定部１４は、入力Ａとは異なる入力操作であることを示す情報とともに、筆跡入力部１６に入力Ｂの軌跡情報を出力する。つまり、入力判定部１４は、入力Ａまでに送信した軌跡情報は入力Ａで一区切りし、入力Ｂの軌跡情報から新たな手書き入力が実行されたことを筆跡入力部１６に通知する。なお、入力判定部１４は、キー入力と判定した入力Ａから一定時間経過後に入力された入力Ｂの入力方法もキー入力であると判定した場合についても、上記した処理と同様の処理を実行することもできる。
【００３０】
一方、入力判定部１４は、入力Ａの入力方法がキー入力と判定された状態で、入力Ｂの入力方法を手書き入力と判定したとする、つまり入力Ａの入力方法と入力Ｂの入力方法とが異なる場合を想定する。この場合、入力判定部１４は、入力Ｂの軌跡情報と入力手法とを対応付けて復元情報記憶部１５に格納する。そして、入力判定部１４は、復元部１９や未確定文字列復元部２０等に対して軌跡情報の復元を指示する。
【００３１】
また、入力判定部１４は、入力手法をキー入力と判定した入力Ａから一定時間経過後に入力Ｂが受け付けられた場合も、入力Ｂについて入力方法を判定する。この場合、入力判定部１４は、復元情報リセット部１３に対して復元情報記憶部１５のリセット指示を出力する。そして、入力判定部１４は、リセットが終了すると、入力Ｂの入力方法が手書き入力であることに対応付けて、入力Ｂの軌跡情報を復元情報記憶部１５に格納する。さらに、入力判定部１４は、入力Ｂの入力方法に対応する筆跡入力部１６に対して、入力Ｂの軌跡情報を出力する。
【００３２】
上述したように、入力判定部１４は、入力Ａが入力されてから所定時間内に入力Ａと同じ入力手法の入力Ｂが入力された場合には、入力Ａに対する入力判定が正しいと判定して、入力Ａの情報に続けて入力Ｂの情報を復元情報記憶部１５に格納する。同様に、入力判定部１４は、入力Ａが入力されてから所定時間経過後に入力Ｂが入力された場合には、入力Ｂの入力方法に関係なく、入力Ａに対する入力判定が正しいと判定して、入力Ｂの情報を格納する。また、入力判定部１４は、入力Ａが入力されてから所定時間内に入力Ａと異なる入力手法の入力Ｂが入力された場合には、入力Ａに対する入力判定が誤りであると判定して、入力の復元を実行させる。
【００３３】
図１に戻り、復元情報記憶部１５は、入力判定部１４によって入力手法が判定された入力の軌跡情報を記憶する。例えば、復元情報記憶部１５は、入力判定部１４によってキー入力と判定された入力Ａについて、入力Ａの軌跡情報である座標と入力判定結果であるキー入力とを対応付けて記憶する。なお、ここに記憶される情報は、入力判定部１４等によって格納され、復元情報リセット部１３等によってリセットされる。また、復元情報記憶部１５は、現在受け付けられた入力の１つ前の入力についてのみ、入力判定結果を記憶してもよい。
【００３４】
ここで記憶される軌跡情報とは、例えばポインティング入力部１１ｂが受け付けたタッチ開始からタッチ終了までの軌跡、つまり、入力開始点の座標から入力終了点の座標までの各座標や座標遷移等である。また、復元情報記憶部１５は、入力判定部１４によって生成された軌跡サイズ等をさらに対応付けて記憶してもよい。また、復元情報記憶部１５は、筆跡入力部１６やキー入力部１７によって文字列が生成されたが未確定の軌跡情報（以下、未確定文字列と表記する場合がある）を格納する領域と、文字列が決定していない軌跡情報を格納する領域とを分けて記憶することもできる。つまり、復元情報記憶部１５は、フラグ等の管理情報を設けて各情報の処理状況を区別することで、復元部１９が使用する復元対象の情報と、未確定文字列復元部２０が使用する復元対象の情報とを分けて記憶することができる。
【００３５】
また、復元情報記憶部１５では、手書き入力の軌跡は以降の入力によっては複数蓄積する必要があるのに対して、未確定文字列の復元情報は復元情報が空の段階から蓄積が開始された時点の一つだけがあれば良く、必ずしも毎回記憶を蓄積する必要はない。したがって、「復元情報が空であれば未確定文字列の復元情報を記憶する」という条件を付しても良い。
【００３６】
筆跡入力部１６は、手書き入力によって入力された軌跡情報を用いて文字認識を実行し、認識した文字列を未確定文字列記憶部１８に格納する処理部である。例えば、筆跡入力部１６は、入力判定部１４または筆跡復元部１９ａから少なくとも１つの軌跡情報を受信し、受信した軌跡情報に基づいて文字認識を実行する。一例を挙げると、筆跡入力部１６は、連続して複数の軌跡情報を受信した場合には、各軌跡情報を座標軸上に再現し、各軌跡情報の位置関係を特定する。そして、筆跡入力部１６は、各軌跡情報を組み合わせた１つの軌跡情報と、内部メモリ等に予め格納する文字列辞書等とを比較して、該当する文字を特定する。そして、筆跡入力部１６は、特定した文字を未確定文字列記憶部１８に格納する。
【００３７】
なお、筆跡入力部１６は、特定した文字を格納する場合に、未確定文字列記憶部１８に既に格納されている未確定文字列を削除した上で格納してもよい。また、筆跡入力部１６が実行する文字認識は、様々な分野で広く利用されている文字認識技術を採用することができる。
【００３８】
キー入力部１７は、キー入力によって入力された軌跡情報を用いてユーザが押下した文字列を特定して未確定文字列記憶部１８に格納する処理部である。例えば、キー入力部１７は、入力判定部１４または筆跡復元部１９ａから受信した座標と、キー表示部１１ｃに表示されるソフトウェアキーボードの座標とを比較して、受信した座標に対応するキーボード上の文字列を特定する。そして、キー入力部１７は、特定した文字列を未確定文字列記憶部１８に格納する。なお、キー入力部１７は、特定した文字列を格納する場合に、未確定文字列記憶部１８に既に格納されている未確定文字列を削除した上で格納してもよい。
【００３９】
未確定文字列記憶部１８は、筆跡入力部１６が生成した文字列やキー入力部１７が特定した文字列であって、ユーザによる確定がなされていない未確定な文字列を記憶する。例えば、未確定文字列記憶部１８は、筆跡入力部１６が生成した「う」、「漢字」、「ＡＢＣ」などを記憶する。また、未確定文字列記憶部１８は、キー入力部１７が特定した「あ」や「１」などを記憶する。
【００４０】
また、未確定文字列記憶部１８は、筆跡入力部１６やキー入力部１７が文字列を格納するのに際して削除した文字列であって、未確定文字列復元部２０によって復元された文字列を記憶する。未確定文字列記憶部１８に記憶される情報は、筆跡入力部１６、キー入力部１７、未確定文字列復元部２０等によって格納され、表示制御部２１等によって削除される。
【００４１】
復元部１９は、筆跡復元部１９ａとキー復元部１９ｂとを有し、これらによって復元情報記憶部１５に記憶される誤判定された軌跡情報等を用いて、ポインティング入力部１１ｂが受け付けた軌跡情報をユーザの意図に合うように復元する処理部である。
【００４２】
筆跡復元部１９ａは、入力判定部１４から復元指示を受信した場合に、手書き入力による復元を実行する処理部である。例えば、筆跡復元部１９ａは、入力時間が新しい順に「軌跡情報Ｂ」、「軌跡情報Ｃ」、「軌跡情報Ｄ」が復元情報記憶部１５に格納されている状態で、入力判定部１４から「軌跡情報Ａ」とともに復元指示を受信したとする。つまり、「軌跡情報Ｂ」、「軌跡情報Ｃ」、「軌跡情報Ｄ」各々がキー入力と判定された状態で、続けて入力された「軌跡情報Ａ」が手書き入力と判定されたことを想定する。
【００４３】
この場合、筆跡復元部１９ａは、「軌跡情報Ａ」、「軌跡情報Ｂ」、「軌跡情報Ｃ」、「軌跡情報Ｄ」各々の座標を座標軸上に再現し、各軌跡情報の位置関係を特定する。そして、筆跡復元部１９ａは、「軌跡情報Ｄから軌跡情報Ａ」までの軌跡情報、言い換えるとユーザが意図した入力を復元して、筆跡入力部１６に出力する。また、筆跡復元部１９ａは、復元に使用した軌跡情報を復元情報記憶部１５から削除し、復元が完了したことを未確定文字列復元部２０に通知する。なお、筆跡復元部１９ａは、復元情報のリセットを復元情報リセット部１３に指示してもよい。
【００４４】
別の例としては、筆跡復元部１９ａは、最も新しい「軌跡情報Ｂ」と「軌跡情報Ａ」との座標を座標軸上に再現し、各軌跡情報の位置関係を特定する。ここで、筆跡復元部１９ａは、文字認識用の辞書と再現結果とを比較して文字列と認識できる場合には、「軌跡情報Ｂから軌跡情報Ａ」までの軌跡情報を復元して筆跡入力部１６に出力する。また、筆跡復元部１９ａは、復元に使用した「軌跡情報Ｂ」を復元情報記憶部１５から削除する。
【００４５】
一方、筆跡復元部１９ａは、「軌跡情報Ｂ」と「軌跡情報Ａ」との軌跡情報では文字列を認識できない場合には、次に新しい「軌跡情報Ｃ」を用いて同様の処理を実行する。このように、筆跡復元部１９ａは、新しい軌跡情報を復元情報記憶部１５から順次読み出して、文字列を認識できるか否かを判定することもできる。
【００４６】
図１に戻り、キー復元部１９ｂは、入力判定部１４から復元指示を受信した場合に、キー入力による復元を実行する処理部である。例えば、キー復元部１９ｂは、入力時間が新しい順に「軌跡情報Ｘ」、「軌跡情報Ｙ」、「軌跡情報Ｚ」が復元情報記憶部１５に格納されている状態で、入力判定部１４から「軌跡情報Ｗ」とともに復元指示を受信したとする。つまり、「軌跡情報Ｘ」、「軌跡情報Ｙ」、「軌跡情報Ｚ」各々が手書き入力と判定された状態で、続けて入力された「軌跡情報Ｗ」がキー入力と判定されたことを想定する。
【００４７】
この場合、キー復元部１９ｂは、「軌跡情報Ｘ」、「軌跡情報Ｙ」、「軌跡情報Ｚ」、「軌跡情報Ｗ」各々の座標をキー入力部１７に出力する。また、キー復元部１９ｂは、復元に使用した軌跡情報を復元情報記憶部１５から削除し、復元が完了したことを未確定文字列復元部２０に通知する。なお、キー復元部１９ｂは、復元情報のリセットを復元情報リセット部１３に指示してもよい。
【００４８】
未確定文字列復元部２０は、復元部１９による文字列などの入力情報の生成に際して未確定文字列記憶部１８から削除された入力情報について、復元部１９が復元するのに使用した軌跡情報以外の軌跡情報を用いて入力情報を復元する処理部である。
【００４９】
例えば、未確定文字列復元部２０は、筆跡復元部１９ａから復元が終了したことの通知を受信し、その際に、復元情報記憶部１５に「軌跡情報Ｂ」が記憶されていたとする。この場合、未確定文字列復元部２０は、筆跡復元部１９ａによって手書き入力の軌跡情報が復元されたために、残っている「軌跡情報Ｂ」はキー入力であると判定する。
【００５０】
その後、未確定文字列復元部２０は、「軌跡情報Ｂ」の座標と、キー表示部１１ｃが表示するソフトウェアキーボードの座標とを比較する。そして、未確定文字列復元部２０は、「軌跡情報Ｂ」によって特定されるソフトウェアキーボード上の「文字列」を未確定文字列記憶部１８に復元する。その後、未確定文字列復元部２０は、「軌跡情報Ｂ」を復元情報記憶部１５から削除する。
【００５１】
別の例としては、未確定文字列復元部２０は、キー復元部１９ｂから復元が終了したことの通知を受信し、その際に、復元情報記憶部１５に「軌跡情報Ｚ」と「軌跡情報Ｙ」とが記憶されていたとする。この場合、未確定文字列復元部２０は、キー復元部１９ｂによってキー入力の軌跡情報が復元されたために、残っている「軌跡情報Ｚ」と「軌跡情報Ｙ」とは手書き入力であると判定する。
【００５２】
その後、未確定文字列復元部２０は、「軌跡情報Ｚ」と「軌跡情報Ｙ」各々の座標を座標軸上に再現し、各軌跡情報の位置関係を特定する。そして、未確定文字列復元部２０は、各軌跡情報を組み合わせた１つの軌跡情報と、文字列辞書等とを比較して、該当する文字を特定する。そして、未確定文字列復元部２０は、特定した文字を未確定文字列記憶部１８に復元する。その後、未確定文字列復元部２０は、「軌跡情報Ｚ」および「軌跡情報Ｙ」を復元情報記憶部１５から削除する。
【００５３】
表示制御部２１は、未確定文字列記憶部１８に記憶される文字列を入力表示部１１ａに表示する。例えば、表示制御部２１は、未確定文字列記憶部１８に記憶される文字例「あ」、「た」、「ま」、「＋」、「痛」、「い」などの未確定な各文字列を読み出し、それぞれにアンダーバーなどの未確定を示す情報を付加して、入力表示部１１ａに表示する。そして、表示制御部２１は、エンターキーの押下などの確定操作が実行された場合には、
入力表示部１１ａに表示する各文字列のアンダーバーを削除して文字列を確定する。その後、表示制御部２１は、確定させた文字列を未確定文字列記憶部１８から削除する。なお、表示制御部２１は、文字変換なども実行するが一般的な技術なので説明は省略する。
【００５４】
［処理の具体例］
次に、図２から図５を用いて、誤判定を検出した後に軌跡情報を復元する処理の具体例を説明する。ここでは、キー入力と判定された軌跡情報が次の入力によって手書き入力の一部だと判定された例について説明する。
【００５５】
図２は、ディスプレイに表示される画面例を示す図である。図３は、ソフトウェアキーボードで受け付けた未確定文字列が入力されている例を示す図である。図４は、図３の状態で入力された１画目が誤判定された例を示す図である。図５は、誤判定後に軌跡情報を復元した例を示す図である。
【００５６】
図２に示すように、情報処理装置１０のディスプレイ１１は、ユーザの入力結果を表示する入力表示部１１ａと、手書き入力を受け付けるポインティング入力部１１ｂと、キー表示部１１ｃによるソフトウェアキーボードとを表示する。なお、各表示領域の配置は一例であり、任意に変更できる。なお、この状態では、入力処理が開始されたタイミングであることより、復元情報記憶部１５や未確定文字列記憶部１８にはデータが格納されていない。
【００５７】
図２の状態で、ポインティング入力部１１ｂがユーザから操作Ａを受け付けると、入力判定部１４が当該操作Ａの入力方法をキー入力と判定する。そして、入力判定部１４は、当該操作Ａの座標情報とキー入力であることを復元情報記憶部１５に格納する。さらに、入力判定部１４は、操作Ａの座標情報をキー入力部１７に出力する。キー入力部１７は、操作Ａの座標情報から入力が「あ」であることを特定して、未確定文字列記憶部１８に格納する。その後、表示制御部２１は、図３に示すように、未確定文字列記憶部１８から「あ」を読み出して、「アンダーバー」を付加した状態で、入力表示部１１ａに表示させる。
【００５８】
続けて、入力Ａから所定時間経過前に、ポインティング入力部１１ｂがユーザから操作Ｂを受け付けると、入力判定部１４が当該操作Ｂの入力方法をキー入力と判定する。すると、入力判定部１４は、先の入力Ａと後の入力Ｂとが同じキー入力であることから、復元を依頼することなく、当該操作Ｂの座標情報とキー入力であることを復元情報記憶部１５に格納する。このとき、入力判定部１４は、復元情報記憶部１５に格納される先の入力Ａの情報については、仮確定を示すフラグを付加してもよい。さらに、入力判定部１４は、操作Ｂの座標情報をキー入力部１７に出力する。キー入力部１７は、操作Ｂの座標情報から入力が「い」であることを特定して、未確定文字列記憶部１８に格納する。その後、表示制御部２１は、図３に示すように、未確定文字列記憶部１８から「い」を読み出して、「アンダーバー」を付加した状態で、入力表示部１１ａに表示させる。
【００５９】
続けて、入力Ｂから所定時間経過前に、ポインティング入力部１１ｂがユーザから操作Ｃを受け付けると、入力判定部１４が当該操作Ｃの入力方法をキー入力と判定する。すると、入力判定部１４は、先の入力Ｂと後の入力Ｃとが同じキー入力であることから、復元を依頼することなく、当該操作Ｃの座標情報とキー入力であることを復元情報記憶部１５に格納する。このとき、入力判定部１４は、復元情報記憶部１５に格納される先の入力Ｂの情報については、仮確定を示すフラグを付加してもよい。さらに、入力判定部１４は、操作Ｃの座標情報をキー入力部１７に出力する。キー入力部１７は、操作Ｂの座標情報から入力が「か」であることを特定して、未確定文字列記憶部１８に格納する。その後、表示制御部２１は、図４に示すように、未確定文字列記憶部１８から「か」を読み出して、「アンダーバー」を付加した状態で、入力表示部１１ａに表示させる。
【００６０】
続けて、入力Ｃから所定時間経過前に、ポインティング入力部１１ｂがユーザから操作Ｄを受け付けると、入力判定部１４が当該操作Ｄの入力方法を手書き入力と判定する。この場合、入力判定部１４は、先の入力Ｃと後の入力Ｄとが異なる入力手法であることから、入力Ｄの座標情報とともに筆跡復元部１９ａに復元依頼を出力する。
【００６１】
筆跡復元部１９ａは、仮確定を示すフラグが付加されていない入力Ｃの軌跡情報を復元情報記憶部１５から読み出し、読み出した入力Ｃの座標情報と入力判定部１４から受信した入力Ｄの座標情報との位置関係を特定することで軌跡情報を復元する。そして、筆跡復元部１９ａは、復元した軌跡情報を筆跡入力部１６に出力する。筆跡入力部１６は、復元された軌跡情報から文字列「う」を特定する。そして、筆跡入力部１６は、未確定文字列記憶部１８に格納される「あ」、「い」、「か」を削除する。このとき、未確定文字列復元部２０は、復元情報記憶部１５に記憶される仮確定を示すフラグが付加されている入力Ａと入力Ｂ各々の座標を読み出して、ユーザが押下したキー入力を未確定文字列記憶部１８に復元する。その後、筆跡入力部１６は新たに特定した「う」を未確定文字列記憶部１８に格納する。この結果、表示制御部２１は、図５に示すように、「あ」、「い」、「か」と表示されていた文字列のうち「か」が削除されて、新たに「う」が入力された情報を表示させることができる。
【００６２】
また、筆跡復元部１９ａは、入力Ｃの誤判定を検出して手書き入力で軌跡情報を復元したことより、復元情報記憶部１５に記憶される情報を削除する。このとき、完全に削除することなく、文字列確定時に削除できるように削除対象フラグを付加してもよい。また、筆跡復元部１９ａは、復元情報記憶部１５に記憶されている全情報を用いて復元してもよく、新しい情報から順に使用して復元してもよく、復元手法は任意に設定できる。
【００６３】
［処理の流れ］
次に、情報処理装置が実行する処理の流れを説明する。図６は、情報処理装置が実行する処理の流れを示すフローチャートである。
【００６４】
図６に示すように、情報処理装置１０のポインティング入力部１１ｂが入力を受け付けると（Ｓ１０１肯定）、入力判定部１４は、時間計測部１２が計測した時間に基づいて、前回の入力から所定時間経過しているか否かを判定する（Ｓ１０２）。
【００６５】
そして、入力判定部１４は、今回受け付けた入力が前回の入力から所定時間経過前の場合には（Ｓ１０２肯定）、今回受け付けた入力の入力手法を判定する（Ｓ１０３）。入力手法を判定した入力判定部１４は、前回の入力の入力手法と今回の入力の入力手法とが異なるか否かを判定する（Ｓ１０４）。
【００６６】
そして、入力手法が異なる場合（Ｓ１０４肯定）、新たに入力された方の入力方法に対応する復元部１９の処理部は、復元情報記憶部１５に記憶される軌跡情報を読み出す（Ｓ１０５）。続いて、復元部１９の処理部は、読み出した軌跡情報と、新たに入力された入力の軌跡情報とを用いて、誤判定された軌跡情報を復元する（Ｓ１０６）。
【００６７】
その後、新たに入力された方の入力方法に対応する筆跡入力部１６またはキー入力部１７は、未確定文字列記憶部１８に格納されている文字列を削除する（Ｓ１０７）。また、未確定文字列復元部２０は、削除された文字列のうち、復元に使用されていない軌跡情報を用いて、未確定文字列を未確定文字列記憶部１８に復元する（Ｓ１０８）。
【００６８】
そして、復元部１９の処理部が復元情報記憶部１５をリセットし（Ｓ１０９）、筆跡入力部１６またはキー入力部１７は、復元部１９によって復元された軌跡情報から文字列を特定して未確定文字列記憶部１８に格納する（Ｓ１１０）。続いて、表示制御部２１は、未確定文字列記憶部１８から文字列を読み出して、未確定の状態で入力表示部１１ａに表示させる（Ｓ１１１）。
【００６９】
一方、Ｓ１０２において、入力判定部１４は、今回受け付けた入力が前回の入力から所定時間経過している場合には（Ｓ１０２否定）、復元情報リセット部１３に復元情報記憶部１５をリセットさせる（Ｓ１１２）。そして、入力判定部１４は、今回受け付けた入力の入力手法を判定する（Ｓ１１３）。続いて、入力判定部１４は、今回受け付けた入力の入力手法と軌跡情報とを復元情報記憶部１５に格納する（Ｓ１１４）。
【００７０】
その後、筆跡入力部１６またはキー入力部１７は、入力判定部１４から軌跡情報を取得し、文字列を特定して未確定文字列記憶部１８に格納する（Ｓ１１０）。続いて、表示制御部２１は、未確定文字列記憶部１８から文字列を読み出して、未確定の状態で入力表示部１１ａに表示させる（Ｓ１１１）。また、Ｓ１０４において、前回の入力の入力手法と今回の入力の入力手法とが同じと判定された場合（Ｓ１０４否定）、Ｓ１１４以降の処理が実行される。
【００７１】
そして、Ｓ１１１実行後、ユーザによる入力確定が実行されるまで（Ｓ１１５否定）、Ｓ１０１以降の処理が繰り返される。一方、ユーザによる入力確定が実行された場合（Ｓ１１５肯定）、復元情報リセット部１３が復元情報記憶部１５をリセットし（Ｓ１１６）、表示制御部２１は、入力表示部１１ａに表示される文字列を確定した状態で入力表示部１１ａに表示させる（Ｓ１１７）。その後、ユーザによる入力制御処理の終了が指示されるまで（Ｓ１１８）、情報処理装置１０は、Ｓ１０１以降の処理を繰り返す。
【００７２】
［実施例１による効果］
実施例１によれば、手書き入力の途中で一旦間違ったキー入力が入ってしまったとしても、取り戻されて最終的には正しい手書き入力結果が得られることになる。同様に、キー入力の途中で一旦間違った手書き入力が入ってしまったとしても、取り戻されて最終的には正しいキー入力結果が得られることになる。このように、情報処理装置は、ユーザの操作を間違えた場合でも、入力が確定されるまでに、正しい入力に戻して入力された文字列を復元することができるので、ユーザの意図に反する入力を防止することができる。
【実施例２】
【００７３】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【００７４】
（判定手法の切替）
実施例１の具体例では、キー入力と誤判定された軌跡情報を正しい手書き入力に復元する例について説明したが、機能ブロック図でも説明したように、手書き入力と誤判定された軌跡情報を正しいキー入力に復元することもできる。また、情報処理装置１０の設定によっては、いずれか一方の誤判定を検出するように設定することもできる。つまり、キー入力から手書き入力のみの復元を実行し、手書き入力からキー入力への復元を実行しないようにすることもできる。
【００７５】
（未確定文字列）
未確定文字列とは例えば、かな漢字変換や予測入力の確定前の段階の文字列であり、計算機での文字入力においてはごく一般的なものである。この未確定状態の文字列は一般的にＩＭＥ(Input  Method  Editor)と呼ばれるソフトウェアが保持しており、表示はアプリ上に行われていたとしても内部的にはアプリに文字列が送出される前の段階である。情報処理装置への適用としては、ＩＭＥ内部に組み込むか、ＩＭＥの状態を適宜監視および制御するプログラムとして実装することなどが考えられる。
【００７６】
（復元情報のリセット）
復元情報リセット部１３が復元情報記憶部１５をリセットするタイミングは、実施例１で説明した以外にも様々なタイミングで実行できる。例えば、復元情報リセット部１３、入力判定部１４で手書き入力と判定された場合に、復元情報記憶部１５に記憶されている手書き入力の軌跡情報が一定数以上であるなら復元情報記憶部１５の記憶を消去することも有効である。この条件判定および消去は、未確定文字列復元部２０と筆跡復元部１９ａの処理に先駆けて行う。ここでの一定数は、点の筆記で始まるすべての入力対象文字において、最高いくつの点の筆記で始まるのかを示す。蓄積された筆画がこの開始筆記点数の上限＋１以上であれば、それは文字の一部ではなくキー入力である可能性が高いということになる。
【００７７】
また、復元情報リセット部１３は、復元情報記憶部１５に蓄積された各入力軌跡間の位置関係が所定の条件を満たすかどうかを調べ、条件を満たすとき復元情報記憶部１５の記憶を消去することも有効である。ここでの条件は、蓄積された入力軌跡が文字の書き始めとして相応しいかどうかを判定するものである。例えば、日本語の文字であれば通常、上から下、左から右に向かって文字を書くので、順序的に隣接する筆画間において下から上かつ右から左方向に大きく位置が遷移するようなケースは稀である。「道」など「しんにょう」を持つ文字はこのケースに当てはまる部分を持つが、文字の書き始め付近においては該当せず、間に比較的サイズの大きい筆画を含む。したがって、順序的に隣接した蓄積軌跡間の位置遷移において下から上かつ右から左に大きく移るようなところがあれば、それは文字の書き出しでない可能性が高く、復元情報をクリアした方が良い。
【００７８】
この判定に用いる位置遷移の大きさのしきい値は、例えば文字枠のサイズの１／２といったように文字枠を基準とする方法がある。開示する処理はソフトウェアキーボードに上書きすることを基本としているが、ソフトウェアキーボードに半透明で重畳して文字枠を表示するなどしてユーザにわかりやすく提示することもできる。また、復元情報リセット部１３は、復元情報記憶部１５に蓄積された入力軌跡を字形辞書の各字形データと部分照合し、すべての文字に対して類似度が所定値以下であるとき復元情報記憶部１５の記憶を消去する構成とすることできる。入力軌跡と字形データの一部とを照合する技術は公知の技術を利用できる。
【００７９】
上述した復元情報リセット部１３の処理条件は、いずれも蓄積された入力軌跡が文字の一部として可能性が低いとみなせる場合に復元情報を消去するというものであり、これら手法を任意に組合せこともできる。このように、復元情報記憶部１５のリセットの契機を任意に決定することができるので、情報処理装置に実装されるメモリ容量等に応じて適切な手法を選択することができる。例えば、メモリ容量が大きい場合には、頻繁にリセットする必要がないので、文字列確定時や復元時にリセットするようにし、メモリ容量が少ない場合には、記憶される情報の数等を用いた手法でリセットすることで、メモリ容量の圧迫を防止できる。
【００８０】
（システム）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８２】
（プログラム）
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【００８３】
図７は、入力制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。図７に示すように、コンピュータ１００は、ＣＰＵ１０２、入力装置１０３、出力装置１０４、通信インタフェース１０５、媒体読取装置１０６、ＨＤＤ（Hard  Disk  Drive）１０７、ＲＡＭ（Random  Access  Memory）１０８を有する。また、図７に示した各部は、バス１０１で相互に接続される。
【００８４】
入力装置１０３は、マウスやキーボードであり、出力装置１０４は、ディスプレイなどであり、通信インタフェース１０５は、ＮＩＣ（Network  Interface  Card）などのインタフェースである。ＨＤＤ１０７は、入力制御プログラム１０７ａととともに、図２に示した各記憶部の情報を記憶する。記録媒体の例としてＨＤＤ１０７を例に挙げたが、ＲＯＭ（Read  Only  Memory）、ＲＡＭ、ＣＤ−ＲＯＭ等の他のコンピュータ読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記憶媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。
【００８５】
ＣＰＵ１０２は、入力制御プログラム１０７ａを読み出してＲＡＭ１０８に展開することで、図１等で説明した各機能を実行する入力制御プロセス１０８ａを動作させる。すなわち、入力制御プロセス１０８ａは、図１に記載した時間計測部１２、復元情報リセット部１３、入力判定部１４と同様の機能を実行する。また、入力制御プロセス１０８ａは、図１に示した復元部１９、未確定文字列復元部２０、表示制御部２１と同様の処理を実行させることもできる。このようにコンピュータ１００は、プログラムを読み出して実行することで入力制御方法を実行する情報処理装置として動作する。
【００８６】
例えば、コンピュータ１００は、媒体読取装置１０６によって記録媒体から入力制御プログラム１０７ａを読み出し、読み出された入力制御プログラム１０７ａを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ１００によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【００８７】
１０  情報処理装置
１１  ディスプレイ
１１ａ  入力表示部
１１ｂ  ポインティング入力部
１１ｃ  キー表示部
１２  時間計測部
１３  復元情報リセット部
１４  入力判定部
１５  復元情報記憶部
１６  筆跡入力部
１７  キー入力部
１８  未確定文字列記憶部
１９  復元部
１９ａ  筆跡復元部
１９ｂ  キー復元部
２０  未確定文字列復元部
２１  表示制御部
【図１】
0005644658.tif 000002
【図２】
0005644658.tif 000003
【図３】
0005644658.tif 000004
【図４】
0005644658.tif 000005
【図５】
0005644658.tif 000006
【図６】
0005644658.tif 000007
【図７】
0005644658.tif 000008