(57)【要約】【課題】誤入力が生じた場合に、迅速且つ正確に正しい入力に修正可能なＧＵＩを用いた入力装置を提供する。【解決手段】入力装置は、利用者にタッチされることで、文字の入力を行う複数の文字キーオブジェクト１０１及び入力された文字を削除する削除キーオブジェクト１０３が表示されるディスプレイを備える。利用者によりいずれかの文字キーオブジェクト１０１がタッチされた場合、この文字キーオブジェクト１０１に対応する文字を入力し、当該文字キーオブジェクト１０１に隣接して表示される他の入力オブジェクトに対応する文字をＲＡＭに記録する。利用者により削除キーオブジェクト１０３がタッチされた場合、既に入力されている文字を削除するとともに、削除キーオブジェクト１０３の表示位置の近傍に、ＲＡＭに記録した文字を入力するための再入力候補キーオブジェクトを表示する。【選択図】図５
2014183485.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ対応するデータを入力するための複数の入力キー及び入力されたデータを修正するための修正キーを含むソフトウェアキーボードを表示画面に表示させる第１表示制御手段と、
前記ソフトウェアキーボードに対する操作態様を検出する検出手段と、
第１入力キーと関連する複数の第２入力キーの関連度合いを予め定められた規則に従って算定し、算定した関連度合いをメモリに記録する評価手段と、
前記検出手段により、前記第１入力キーの次に修正キーの操作が検出されたときに、前記メモリに記録された各第２入力キーの関連度合いを読み出し、前記関連度合いに基づいて前記修正キーから近くなる位置に前記第２入力キーを配列した再入力候補キーオブジェクトを表示させる第２表示制御手段と、を備えることを特徴とする、
入力装置。
【請求項２】
前記第２表示制御手段は、前記関連度合いの高い順に前記修正キーから近くなる位置に前記第２入力キーを配列した再入力候補キーオブジェクトを表示させることを特徴とする請求項１に記載の入力装置。
【請求項３】
前記評価手段は、前記検出手段により検出した前記操作態様に従って、前記第１入力キーと前記複数の第２入力キーの各々との関連度合いを算定することを特徴とする、
請求項１または２に記載の入力装置。
【請求項４】
前記評価手段は、前記第１入力キーを操作したときの操作位置と前記複数の第２入力キーの各々の表示位置との距離に従って、前記第１入力キーと前記複数の第２入力キーの各々との関連度合いを算定することを特徴とする、
請求項３に記載の入力装置。
【請求項５】
前記第２表示制御手段は、前記検出手段により前記修正キーの操作後に予め定められたの動態を検出したときに、その動態に従った方向に前記第２入力キーを配列した前記再入力候補キーオブジェクトを表示することを特徴とする、
請求項１〜４のいずれか１項に記載の入力装置。
【請求項６】
前記第２表示制御手段は、前記再入力候補キーオブジェクトに代えて、前記関連度合いの高い順に前記修正キーから近くなる位置に前記第２入力キーを配列するように前記ソフトウェアキーボードの配列を変更することを特徴とする、
請求項１〜５のいずれか１項に記載の入力装置。
【請求項７】
それぞれ対応するデータを入力するための複数の入力キー及び入力されたデータを修正するための修正キーを含むソフトウェアキーボードを表示画面に表示させる入力装置により実行される方法であって、
前記ソフトウェアキーボードに対する操作態様を検出する段階と、
第１入力キーと関連する複数の第２入力キーの関連度合いを予め定められた規則に従って算定し、算定した関連度合いをメモリに記録する段階と、
前記第１入力キーの次に修正キーの操作を検出したときに、前記メモリに記録された各第２入力キーの関連度合いを読み出し、前記関連度合いに基づいて前記修正キーから近くなる位置に前記第２入力キーを配列した再入力候補キーオブジェクトを表示させる段階と、を含むことを特徴とする、
入力方法。
【請求項８】
それぞれ対応するデータを入力するための複数の入力キー及び入力されたデータを修正するための修正キーを含むソフトウェアキーボードを表示画面に表示させるコンピュータを、
前記ソフトウェアキーボードに対する操作態様を検出する検出手段、
第１入力キーと関連する複数の第２入力キーの関連度合いを予め定められた規則に従って算定し、算定した関連度合いをメモリに記録する評価手段、
前記検出手段により、前記第１入力キーの次に修正キーの操作が検出されたときに、前記メモリに記録された各第２入力キーの関連度合いを読み出し、前記関連度合いに基づいて前記修正キーから近くなる位置に前記第２入力キーを配列した再入力候補キーオブジェクトを表示させる表示制御手段、
として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカル・ユーザ・インタフェース（以下、「ＧＵＩ」（Graphical User Interface）という。）を用いた入力装置に関する。
【背景技術】
【０００２】
ＧＵＩによりコンピュータ等の情報処理装置への入力を行う入力装置として、ディスプレイとポインティングデバイスとを組み合わせたタッチパネルディスプレイがある。タッチパネルディスプレイの表示画面には、処理に関連付けられたオブジェクトが表示される。ポインティングデバイスは、利用者がタッチした表示画面上の位置を検出する。利用者のタッチ位置が、画像などのオブジェクトの表示範囲内に含まれれば、該オブジェクトに関連付けられた処理が行われる。
【０００３】
オブジェクトには、文字入力のためのキーボードを模したものがある。これはソフトウェアキーボードと呼ばれ、スマートフォンやタブレットＰＣ（Personal Computer）等により、一般にも広く用いられている。ソフトウェアキーボードは、文字に対応するオブジェクト（以下、「キーオブジェクト」という。）が、実際のキーボード同様に配列されて構成される。ソフトウェアキーボードは、キーオブジェクトがタッチされることで、該キーオブジェクトに対応する文字の入力処理を行う。
スマートフォンのように表示画面が小さい場合、各キーオブジェクトの表示領域が小さくなり、利用者の押し間違いによる誤入力が発生しやすい。誤入力を防止するために、特許文献１〜３の技術が提案されている。
【０００４】
特許文献１では、誤って選択された選択項目（オブジェクト）と、その後に正しく選択された選択項目との組み合わせを検出して、タッチ位置と選択項目との対応関係を変更する。この技術をソフトウェアキーボードに適用した場合、過去に誤入力が発生したキーオブジェクトのタッチエリアを拡大することで、利用者が同様の入力ミスを行う可能性を低減することができる。
特許文献２では、誤入力が生じた場合に、誤入力の原因を特定して、その原因に応じて誤入力時のキーオブジェクトの周辺を拡大して表示することで、次の入力時の誤入力を防止する。
特許文献３では、利用者のタッチによる入力の正誤を、入力後の利用者の操作状況から判別して、誤入力の場合にタッチ位置近傍に表示される他のキーオブジェクトを正しい入力の候補として表示する。特許文献３は、Ｗｅｂページの閲覧時にリンクをタッチして別のページを表示した後、すぐに前のページに「戻る」操作が行われた場合に、タッチした位置付近のリンクを利用者に提示して再選択を促す。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０５５２２５号公報
【特許文献２】特開２０１１−０３４４７６号公報
【特許文献３】特開２０１２−０９４１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
キーボードなどから文字入力するに際し、正確な入力の他に、入力の速度も要求されることが多い。そのために、誤入力が生じた場合には、迅速に正しい文字を再入力できることが有効である。
特許文献１は、再入力時の誤入力を防止する効果がある。しかし、誤入力後に文字の削除を行ってから正しい文字の入力を行うために、従来同様に２回のキー操作が必要となり、迅速な再入力を行うことができない。また、キーオブジェクトの誤入力とその後の正しい入力結果を利用するために、過去に同様の誤入力を行わなければ、効果が得られない。
特許文献２では、拡大表示する周辺のキーオブジェクトの表示位置について考慮されておらず、削除から再入力までの操作を迅速に行うことができない。
特許文献３では、一度「戻る」操作を完了して前ページの描画を終えた後、改めてリンクのリストを表示する。そのために、この技術をソフトウェアキーボードに適用した場合、再入力時の精度は向上するが、削除から再入力の操作を迅速に行うことができない。
【０００７】
本発明は、上記の問題を解決するために、誤入力が生じた場合に、迅速且つ正確に正しい入力に修正可能なＧＵＩ技術を提供することを主たる課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明の入力装置は、それぞれ対応するデータを入力するための複数の入力キー及び入力されたデータを修正するための修正キーを含むソフトウェアキーボードを表示画面に表示させる第１表示制御手段と、前記ソフトウェアキーボードに対する操作態様を検出する検出手段と、第１入力キーと関連する複数の第２入力キーの関連度合いを予め定められた規則に従って算定し、算定した関連度合いをメモリに記録する評価手段と、前記検出手段により、前記第１入力キーの次に修正キーの操作が検出されたときに、前記メモリに記録された各第２入力キーの関連度合いを読み出し、前記関連度合いに基づいて前記修正キーから近くなる位置に前記第２入力キーを配列した再入力候補キーオブジェクトを表示させる第２表示制御手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、誤入力が生じた場合に、迅速且つ正確に正しい入力に修正可能なＧＵＩを提供できる。
【図面の簡単な説明】
【００１０】
【図１】入力装置のハードウェア構成図。
【図２】入力装置の機能ブロック構成図。
【図３】ソフトウェアキーボードの例示図。
【図４】タッチ位置と周辺キーオブジェクトとの距離の説明図。
【図５】再入力候補キーオブジェクトの表示例示図。
【図６】周辺情報の例示図。
【図７】入力装置による文字入力処理のフローチャート。
【図８】入力装置による文字入力処理のフローチャート。
【図９】入力装置による文字入力処理のフローチャート。
【図１０】日本語を対象にした文字入力用のソフトウェアキーボードの例示図。
【図１１】日本語を対象にした文字入力用のソフトウェアキーボードの例示図。
【図１２】日本語を対象にした文字入力用のソフトウェアキーボードの例示図。
【図１３】ソフトウェアキーボードの画面情報の例示図。
【図１４】第１実施形態の入力処理に相当する処理手順を表すフローチャート。
【図１５】フリック入力方向と文字キーオブジェクトの方向の類似度の説明図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面を参照しつつ詳細に説明する。
【００１２】
［第１実施形態］
図１は、本実施形態に係る入力装置のハードウェア構成図である。入力装置は、ＧＵＩによる入力を可能とする装置である。入力装置は、タッチパネルディスプレイ４０３をその表示部として備えたコンピュータにより実現可能である。
ＣＰＵ（Central Processing Unit）４００は、本実施形態のＧＵＩを、ＲＯＭ（Read Only Memory）４０１から読み込んだコンピュータプログラムを実行することで実現する。本実施形態では、ＣＰＵ４００は、ソフトウェアキーボードを用いた入力を行うための各種処理を行う。ＲＯＭ４０１には、このようなＧＵＩを実現するためのコンピュータプログラムの他に、情報の入出力制御（Ｉ／Ｏ）等に関する制御プログラムも格納されている。また、ＧＵＩに用いるオブジェクトの表示位置やサイズ等のオブジェクト情報も、読み取り専用データとして格納されている。また、ＲＯＭ４０１には、後述する周辺情報が格納される。ＲＡＭ（Random Access Memory）４０２は、ＣＰＵ４００の処理中の作業領域となるメモリである。
【００１３】
タッチパネルディスプレイ４０３は、ディスプレイとポインティングデバイスとを含んで構成されている。ディスプレイには、ＧＵＩのためのオブジェクトが表示される。オブジェクトは、各種処理を実現する機能と関連付けされている。オブジェクトが利用者にタッチされて選択、操作されることで、該処理が実行される。ポインティングデバイスは、利用者による表示画面上のタッチ位置の検出を行う。
なお、ポインティングデバイスとディスプレイとは、別々の構成であってもよい。つまり、ポインティングデバイスは、タッチ位置としてマウスやタッチパッド等によるポインティング位置を検出する構成でもよい。利用者は、タッチ位置やポインティング位置により指示することで、オブジェクトを選択、操作することができる。タッチ位置やポインティング位置が操作位置になる。
ＣＰＵ４００、ＲＯＭ４０１、ＲＡＭ４０２、及びタッチパネルディスプレイ４０３は、システムバス４０４を介して接続されており、相互にデータの送受信が可能になっている。
【００１４】
図２は、ＣＰＵ４００がＧＵＩを実現するためのコンピュータプログラムを実行することで入力装置として機能するための機能ブロックを表す図である。図３は、タッチパネルディスプレイ４０３の表示画面に表示されるソフトウェアキーボード１００の例示図である。第１実施形態では、ソフトウェアキーボード１００に「ＱＷＥＲＴＹ配列」のものを用いる。タッチパネルディスプレイ４０３は、図示しない第１表示制御部を有しており、これにより、ソフトウェアキーボード１００が表示画面に表示可能になっている。
【００１５】
特定部５００は、ソフトウェアキーボード１００に対する利用者の操作態様を検出する検出部である。特定部５００は、操作態様により、選択、操作されるオブジェクトを特定する。具体的には、特定部５００は、タッチパネルディスプレイ４０３で検出したタッチ位置の座標を表すタッチ位置情報と各種のオブジェクト（本例の場合は画像）の表示位置との位置関係から、利用者がタッチすることで選択したオブジェクトを特定する。特定部５００は、タッチ位置の座標がオブジェクトの表示位置及びサイズにより決まるオブジェクトの表示範囲内に含まれるか否かにより、利用者がタッチしたオブジェクトを特定可能である。
【００１６】
ソフトウェアキーボード１００は、キーオブジェクトとして、各々が文字に対応する複数の文字キーオブジェクト１０１、削除キーオブジェクト１０３、及び終了キーオブジェクト１０４を備える。文字キーオブジェクト１０１は、文字の入力を行うための入力オブジェクト（入力キー）として機能し、これが選択されることで、対応する文字の入力処理が可能となる。削除キーオブジェクト１０３は、入力結果の修正を行うための修正オブジェクト（修正キー）として機能し、これが選択されることで既に入力されている文字の削除及び修正が可能となる。終了キーオブジェクト１０４は、文字入力を終了するための終了オブジェクトとして機能する。
【００１７】
特定部５００は、特定結果を入力部５０１及び修正部５０２に通知する。なお、終了キーオブジェクト１０４がタッチされたと特定した場合、ＣＰＵ４００は、入力文字表示フィールド１０２内の文字を確定して、文字入力の終了処理を行う。
【００１８】
入力部５０１は、特定部５００で特定された文字キーオブジェクト１０１に対応する文字の入力処理を行い、当該文字を入力文字表示フィールド１０２に表示する。入力文字表示フィールド１０２により、利用者は、入力結果を確認することができる。図３の例では、「ＡＢＶ」が入力されている。また、入力部５０１は、文字キーオブジェクト１０１（第１入力キー）と関連する他の文字キーオブジェクト１０１（第２入力キー）の関連度合いを予め定められた規則に従って算定する評価部として機能する。例えば入力部５０１は、タッチ位置情報により、利用者のタッチ位置と、その周辺の文字キーオブジェクト１０１である周辺オブジェクト（以下、「周辺キーオブジェクト」という。）との距離を算出する。距離により、周辺キーオブジェクトと文字キーオブジェクト１０１の関連度合いを算定する。
【００１９】
図４は、タッチ位置２００と周辺キーオブジェクトとの距離２０１の説明図である。図４の例では、タッチ位置２００が「Ｖ」の文字キーオブジェクト１０１上にある。この場合、「Ｖ」の文字キーオブジェクト１０１に隣接して表示される「Ｃ」、「Ｆ」、「Ｇ」、「Ｈ」、「Ｂ」の文字キーオブジェクト１０１が周辺キーオブジェクトとなる。
【００２０】
修正部５０２は、特定部５００で特定されたキーオブジェクトが削除キーオブジェクト１０３の場合に、既に入力されている文字の削除処理を行う。文字の削除後、修正部５０２は、再入力の候補となる文字キーオブジェクトを含む再入力候補キーオブジェクトをタッチパネルディスプレイ４０３に表示する第２表示制御部として機能する。
【００２１】
図５は、再入力候補キーオブジェクト３００の表示例である。再入力候補キーオブジェクト３００は、削除キーオブジェクト１０３のタッチ後、利用者が指をスライドしたことに連動して、削除キーオブジェクト１０３の近傍のソフトウェアキーボード１００上に表示される。修正部５０２は、指がスライドしたことに応じに、指の移動方向に再入力候補キーオブジェクト３００を表示する。再入力候補キーオブジェクト３００には、削除された文字を入力した時のタッチ位置の周辺キーオブジェクトに対応する文字が表示される。再入力候補キーオブジェクト３００内の文字も文字キーオブジェクトである。図５の例では、「Ｃ」、「Ｆ」、「Ｇ」、「Ｈ」、「Ｂ」が表示される。利用者は、所望の文字に対応する文字キーオブジェクトを再入力候補キーオブジェクト３００から選択することで、当該文字の入力が可能となる。
【００２２】
再入力候補キーオブジェクト３００内の文字キーオブジェクトについて説明する。
ＲＯＭ４０１には、上述の通り、周辺情報が格納される。
図６は、周辺情報の例示図である。周辺情報は、キー配置に応じて、１つの文字キーオブジェクト１０１（ターゲットキー情報（Target Key）８００）とその周辺キーオブジェクト（周辺キー情報（Near Keys）８０１）の組み合わせを１つのエントリとして有する。例えば、ターゲットキー情報８００が「Ｖ」の場合、周辺キー情報８０１として「Ｃ」、「Ｆ」、「Ｇ」、「Ｈ」、「Ｂ」が組み合わされて、１つのエントリとなる。周辺情報は、このようなエントリを「Ａ」〜「Ｚ」のすべてのアルファベットについて有する。
図２の修正部５０２は、周辺情報にもとづく再入力候補キーオブジェクト３００に表示する。
【００２３】
このような入力装置は、図７〜図９の各フローチャートで表される処理を実行することで文字の入力を行う。ここでは、文字「ＡＢＣ」の入力予定が、誤入力により「ＡＢＶ」と入力され、修正して「ＡＢＣ」と再入力する際の入力装置の処理について説明する。
【００２４】
図７を参照し、特定部５００は、利用者がタッチパネルディスプレイ４０３の表示画面上をタッチすると、そのタッチ位置から、タッチされたキーオブジェクトを特定する（Ｓ６００）。この特定は、タッチ位置情報とＲＯＭ４０１に格納されたオブジェクト情報との照合により行う。
【００２５】
特定部５００が特定したキーオブジェクトが図３の文字キーオブジェクト１０１であった場合、入力部５０１はその文字についての入力処理を行う（Ｓ６０１：Ｙｅｓ、Ｓ６０２）。入力処理後、入力装置は、利用者による次の操作を待つ。
【００２６】
特定部５００が特定したキーオブジェクトが図３の削除キーオブジェクト１０３であった場合、修正部５０２は、入力済みの文字等の削除処理を行う（Ｓ６０１：Ｎｏ、Ｓ６０３：Ｙｅｓ、Ｓ６０４）。削除処理後、入力装置は、利用者による次の操作を待つ。
【００２７】
特定部５００が特定したキーオブジェクトが図３の終了キーオブジェクト１０４であった場合、入力装置は、ＣＰＵ４００により文字入力を終了する（Ｓ６０３：Ｎｏ、Ｓ６０５：Ｙｅｓ）。なお、タッチはされたが、特定されたキーオブジェクトが終了キーオブジェクト１０４でなかった場合、入力装置は、有効なキーオブジェクトへのタッチがなされなかったと判断して、利用者による次の操作を待つ（Ｓ６０５：Ｎｏ）。
【００２８】
ステップＳ６０２の入力処理の詳細な手順を示したのが図８である。以下、図８を参照して入力処理の処理の手順を説明する。
入力部５０１は、特定部５００で特定された文字キーオブジェクト１０１に対する図６の周辺キー情報８０１を、ＲＯＭ４０１から取得する（Ｓ７００）。入力部５０１は、特定された文字キーオブジェクト１０１を図６のターゲットキー情報８００として、これとエントリを構成する周辺キー情報８０１を取得する。図３の例でいえば、利用者が「Ｖ」の文字キーオブジェクト１０１をタッチするので、特定部５００は、「Ｖ」の文字キーオブジェクト１０１を特定する。入力部５０１は、「Ｖ」の文字キーオブジェクト１０１をターゲットキー情報８００として、図６の周辺キー情報８０１である「Ｃ」、「Ｆ」、「Ｇ」、「Ｈ」、「Ｂ」を取得する。
【００２９】
次いで入力部５０１は、タッチ位置と各周辺キーオブジェクトとの距離を算出する（Ｓ７０１）。入力部５０１は、まず、取得した周辺キー情報８０１とＲＯＭ４０１に格納されるオブジェクト情報とから、各周辺キーオブジェクトの表示位置を得る。その後、各周辺キーオブジェクトの表示位置とタッチ位置情報とから、タッチ位置と各周辺キーオブジェクトとの距離を算出する。図４の例でいえば、「Ｃ」、「Ｆ」、「Ｇ」、「Ｈ」、「Ｂ」の各文字キーオブジェクト１０１の位置とタッチ位置２００との距離２０１が算出される。この距離２０１が、文字キーオブジェクト１０１と周辺キーオブジェクトとの関連度合いになる。
【００３０】
入力部５０１は、ステップＳ７０１で算出した距離が短い順に、周辺キー情報８０１をソートする（Ｓ７０２）。図４の例では、タッチ位置２００が「Ｖ」の文字キーオブジェクト１０１の左寄りに位置する。そのために、各周辺キーオブジェクトとタッチ位置２００との距離２０１が短い順に周辺キー情報８０１をソートすると、「Ｃ」、「Ｂ」、「Ｇ」、「Ｆ」、「Ｈ」の順になる。入力部５０１は、このソート済み周辺キー情報をＲＡＭ４０２に記録する（Ｓ７０３）。
【００３１】
入力部５０１は、ソート済み周辺キー情報の記録後に、特定部５００で特定された文字キーオブジェクト１０１に対応する文字を図３の入力文字表示フィールド１０２に表示する。入力部５０１は、このようにして文字の入力を行う（Ｓ７０４）。図３の例では、「Ｖ」が、入力文字表示フィールド１０２に表示される。
以上のようにしてステップＳ６０２の入力処理が終了する。
【００３２】
ステップＳ６０４の削除処理の詳細な手順を示したのが図９である。以下、図９を参照して削除処理の処理手順を詳細に説明する。
図３の修正部５０２は、特定部５００で削除キーオブジェクト１０３が特定されたことに応じて、入力された文字を削除する（Ｓ９００）。図３の例でいえば、直前に入力された「Ｖ」の文字を削除する。
【００３３】
利用者が削除キーオブジェクト１０３のタッチに引き続き、削除キーオブジェクト１０３上から指をスライドさせた場合、修正部５０２は、ＲＡＭ４０２からソート済み周辺キー情報を取得する（Ｓ９０１：Ｙｅｓ、Ｓ９０２）。その後、修正部５０２は、取得したソート済み周辺キー情報に基づいて削除キーオブジェクト１０３から近い順に周辺キーオブジェクトの表示位置を決定し、再入力候補キーオブジェクト３００を削除キーオブジェクト１０３の近傍に表示する（Ｓ９０３、Ｓ９０４）。図４の例では、ソート済み周辺キー情報が「Ｃ」、「Ｂ」、「Ｇ」、「Ｆ」、「Ｈ」の順となる。そのために図５の例では、再入力候補キーオブジェクト３００として、削除キーオブジェクト１０３に近い方からこの順で、それぞれに対応する文字キーオブジェクトが表示される。
利用者は、再入力候補キーオブジェクト３００内の文字キーオブジェクトまで指を移動させた後に離すことで、文字キーオブジェクトを選択することができ、文字の再入力が可能である。図５の例では、「Ｃ」の文字キーオブジェクトで指が表示画面から離されており、これにより「Ｃ」の文字が入力される。
【００３４】
なお、ステップＳ９０１で利用者がフリック操作しない場合、修正部５０２は、そのまま削除処理を終了する（Ｓ９０１：Ｎｏ）。
【００３５】
このように、誤入力があった場合、利用者が削除キーオブジェクト１０３の上で指をスライドすることで、図５に示すような再入力候補キーオブジェクト３００が表示される。つまり、入力装置は、スライドという動態を検出して、そのスライド方向に再入力候補キーオブジェクト３００を表示する。利用者は、この再入力候補キーオブジェクト３００中の正しい文字に対応する文字キーオブジェクトの上で指を離すことで、誤入力文字の削除及び正しい文字の入力を、迅速且つ正確に行うことが可能となる。なお、このように、ある文字キーオブジェクト上から異なる文字キーオブジェクト上まで指をスライドさせてから離すことで、２つ文字キーオブジェクトの組み合わせから特定される文字を入力する入力方法は、「フリック文字入力」と呼ばれることがある。
【００３６】
ソフトウェアキーボード１００内のキーオブジェクトの配列や、入力・修正対象となる文字種は、アルファベット以外の文字や記号等であってもよい。また、再入力候補キーオブジェクト３００の中で横一列に周辺キーオブジェクトが並ぶ例を示したが、他の表示様態でもよい。例えば、削除キーオブジェクト１０３の周囲を囲むように環状に表示してもよい。また、ソフトウェアキーボード１００の配列を変更して、再入力候補キーオブジェクト３００内の文字キーオブジェクトが、削除キーオブジェクト１０３に近い位置からソート順に配列されてもよい。
また、再入力候補キーオブジェクト３００を表示する条件は、削除キーオブジェクト１０３の上で指をスライドする他に、例えば、削除キーオブジェクト１０３を素早く２回タッチした場合など、他の画面表示上の操作を条件としてもよい。
【００３７】
［第２実施形態］
第２実施形態では、日本語を対象にした文字入力用のソフトウェアキーボードの例について説明する。第２実施形態の入力装置のハードウェア構成及び機能ブロックの構成は、第１実施形態と同様であるので説明を省略する。
【００３８】
図１０〜図１２は、日本語を対象にした文字入力用のソフトウェアキーボードの例示図である。ソフトウェアキーボード１０００では、表示領域が限られているために、初期状態として五十音の各行の「あ段」の文字しか表示されていない。第２実施形態では、「あ段」の文字が示された文字キーオブジェクトが利用者の指で一定時間以上タッチされたことに応じて、タッチされた文字周辺にその行の「い段、う段、え段、お段」の各文字に相当する文字キーオブジェクトが表示される。ここで表示される「い段、う段、え段、お段」の各文字に相当する文字キーオブジェクトを、以下では「行キーオブジェクト」と表記する。
【００３９】
利用者は、入力したい文字の行の「あ段」の文字キーオブジェクトをタッチした後、当該文字キーオブジェクトと周囲の表示される４つの文字キーオブジェクトのうち、実際に入力したい文字に相当する文字キーオブジェクトの位置で指を離す。「い段、う段、え段、お段」の文字を入力したい場合、タッチパネルから指を離さずにスライドさせ、目的の文字キーオブジェクト上で指を離す。このように、初めの文字キーオブジェクト上から異なる文字キーオブジェクト上に指をスライドさせることで五十音のいずれかの文字を入力する日本語の文字入力方法も、フリック文字入力である。一般的に「フリック」とはタッチパネル上にタッチした指を払うように動かしてタッチパネルから離す動作を示す。利用者は、タッチした指を離すまでの間に、任意の方向に動かすという動作を含むことで、タッチを開始した位置と終了した位置という複数の位置を一動作によって指定することができる。すなわち、フリック文字入力によれば、複数のキーを指定するためにタッチを複数回繰り返す必要がなくなり、文字入力操作を高速化することが可能になるという利点がある。
【００４０】
フリック文字入力によって文字が入力される場合、情報処理装置では、フリック文字入力時の指の移動方向を取得し、当該方向に存在する行キーオブジェクトが示す文字を、入力された文字として特定する。あるいは、指が離された位置に表示された文字キーオブジェクトを特定して、該当する文字を、入力文字として特定してもよい。利用者がソフトウェアキーボードでこのようなフリック文字入力を行う場合、誤ったキーオブジェクトをタッチする他に、指をスライドさせる移動距離が不足して、誤ったキーオブジェクト上で指を離してしまうことも誤入力の要因となる。
【００４１】
図１０では、利用者がソフトウェアキーボード１０００の文字キーオブジェクト１０１０をタッチすることで、平仮名の「あらた」が入力されており、入力文字表示フィールド１０２０に「あらた」が表示されている。第２実施形態において、ソフトウェアキーボード１０００では、削除キーオブジェクト１０３０のタッチにより入力された文字の削除を行うことができる。また、終了オブジェクト１０４０のタッチにより文字入力が終了する。
【００４２】
図１１では、利用者が「あらた」の後に「に」を入力しようとしたが、「な」を誤入力してしまっている状態が示されている。
図１０の状態から、利用者が「な」の文字キーオブジェクト１１００上を一定時間以上タッチすることで、「な」の文字キーオブジェクト１１００の周囲に「な行」の行キーオブジェクト１１０２が表示される。行キーオブジェクト１１０２は、「な行」の「い段、う段、え段、お段」の各文字、すなわち「に」、「ぬ」、「ね」、「の」の文字の入力処理に対応する複数の関連文字入力オブジェクトを有する。
第２の実施形態では、「あ段」の文字を一定時間以上タッチ、つまり一定時間以上指示して選択することで、当該文字の行の文字を入力するための行キーオブジェクト１１０２がタッチ位置の周囲に表示される。図１１では、「な行」の文字である「に」、「ぬ」、「ね」、「の」の文字キーオブジェクト１１０１が、「な」の文字キーオブジェクト１１００を中心にして囲むように表示される。「な」行の行キーオブジェクト１１０２は、後述するソフトウェアキーボードの画面情報にもとづいて表示される。
利用者は、行キーオブジェクト１１０２の「に」の文字キーオブジェクト１１０１に向かって指をスライドする。図１１の例では、利用者が、誤って「に」の文字キーオブジェクト１１０１に到達する前に指を離してしまっている状態を表している。従って、「に」ではなく「な」が入力されてしまう。本実施形態では、この場合、入力部５０１は、利用者がフリック文字入力時に指をスライドさせた移動方向であるフリック入力方向１１０３に、「に」の文字キーオブジェクト１１０１が存在することをＲＡＭ４０２に記録する。
【００４３】
図１２では、利用者が削除キーオブジェクト１０３０をタッチして、文字の削除及び文字の再入力を行う様子が示されている。ここでは、誤入力した文字「な」の削除を行い、再入力候補キーオブジェクト３０００により正しい文字の入力を可能にする。再入力候補キーオブジェクト３０００は、削除キーオブジェクト１０３０のタッチ後、指をスライドすることで表示される。再入力候補キーオブジェクト３０００には、周辺キー情報として「に」、「は」、「や」、「か」のキーオブジェクトが表示される。周辺キー情報は、利用者が誤入力した際の最初のタッチ位置の周辺キーオブジェクトである「か」、「は」、「や」と、フリック入力方向１１０３にある「に」となる。再入力候補キーオブジェクト３０００を表示することで、誤入力した文字の削除と再入力を迅速に且つ正確に行う事が可能となる。
【００４４】
図１３は、第２実施形態においてＲＯＭ４０１に格納されるソフトウェアキーボードの画面情報の例示図である。
画面情報には、ターゲットキー情報（Target Key）１４００、フリックキー情報（Flick Key）１４０１、及び方向情報（Direction）１４０２が含まれる。ターゲットキー情報１４００は、日本語入力のソフトウェアキーボード１０００の初期状態で表示される文字キーオブジェクトに示される「あ段」の文字である。各段の文字に、フリックキー情報１４０１が割り当てられる。フリックキー情報１４０１は、行キーオブジェクトに示される各段の行の文字である。例えば、ターゲットキー情報１４００の「な」には、「な行」の文字である「に」、「ぬ」、「ね」、「の」がフリックキー情報１４０１として割り当てられる。各フリックキー情報１４０１には、ベクトル成分で示される方向情報１４０２が付されている。方向情報１４０２により、ターゲットキー情報１４００の文字がフリックキー情報１４０１の文字を基準にしてどの方向に表示されるかが決められる。
なお、ＲＯＭ４０１には、フリック画面情報の他に、第１実施形態と同様に、周辺情報が格納される。第２実施形態の周辺情報は、文字種が平仮名に変更された点を除いて第１実施実施の周辺情報と同様であるので、詳細な説明は省略する。
【００４５】
以上のような第２実施形態の入力装置は、図１４のフローチャートで表される処理を実行することで、文字の入力を行う。図１４は、第１実施形態の入力処理に相当する処理手順を表している。第１実施形態の図７、図９に相当する処理は、第２実施形態でも同様の手順であるので、ここでは省略する。
第２実施形態では、文字「あらたに」の入力予定が、誤入力により「あらたな」と入力され、修正して「あらたに」と再入力する際の入力装置の処理を例に説明する。
【００４６】
図１４を参照し、入力装置の入力部５０１は、入力処理において、特定部５００で特定された文字キーオブジェクト１０１０に対する周辺キー情報を、ＲＯＭ４０１から取得する（Ｓ１３００）。入力部５０１は、利用者による表示画面上のタッチ位置と、周辺キー情報に含まれる文字の文字キーオブジェクトとの距離を算出して、距離が近い順に取得した周辺キー情報をソートする（Ｓ１３０１、Ｓ１３０２）。Ｓ１３００、Ｓ１３０１は、第１実施形態と同様の処理である。
【００４７】
周辺キー情報の文字のソート後、入力部５０１は、入力がフリック文字入力がなされたかかどうかを判定する（Ｓ１３０３）。文字入力時に、指がスライドされることなくタッチパネルから離された場合には、フリック文字入力は行われていない。一方、指がスライドしてからタッチパネルから離された場合には、フリック文字入力が行われている。フリック文字入力されたかどうかの判定は、例えば、文字キーオブジェクト１０１０上でいわゆるタッチムーブイベントの発生の有無で判定することができる。フリック文字入力されていないと判定される場合、第１実施形態と同様に、ソート済み周辺キー情報をＲＡＭ４０２に記録する（Ｓ１３０３：Ｎｏ、Ｓ１３０６）。
【００４８】
フリック文字入力されたと判定される場合、入力部５０１は、フリック入力方向にある文字キーオブジェクト１１０１を特定する（Ｓ１３０３：Ｙｅｓ、Ｓ１３０４）。
入力部５０１は、フリック入力方向にある文字キーオブジェクトの特定を、ＲＯＭ４０１からフリック画面情報を読み出して行う。例えば、利用者がフリックした方向のベクトルと方向情報１４０２との余弦類似度を利用する。任意のベクトルＸ，Ｙの余弦類似度は、両ベクトルの内積を、両ベクトルのノルムの積で割ることによって容易に求めることができる。余弦類似度の値が大きいほど、ベクトルの方向が近いことを意味する。図１１では、「な」の文字キーオブジェクト１１００上で「に」の文字キーオブジェクト１１０１に向かって指をスライドしている。そのために、フリック画面情報の「な行」情報１４０３中で、余弦類似度は「に」の方向が最大となり、フリック入力方向にある文字キーオブジェクト１１０１を「に」の文字キーオブジェクトに特定できる。
【００４９】
図１５は、フリック入力方向と文字キーオブジェクトの方向の類似度の説明図である。図１５では、「な」の文字キーオブジェクトの中心を始点として、「に」方向、「ぬ」方向、「ね」方向、「の」方向へのキー方向ベクトル１５００、１５０３、１５０２、１５０１が設定される。キー方向ベクトル１５００、１５０３、１５０２、１５０１により、「に」、「ぬ」、「ね」、「の」の各文字キーオブジェクトの「な」の文字キーオブジェクトに対する表示方向が表される。これらのキー方向ベクトル１５００、１５０１、１５０２、１５０３と、フリック入力方向のベクトル１５０４とのなす角１５０５により、類似度が表される。「に」方向へのキー方向ベクトル１５００とベクトル１５０４とのなす角１５０５が最も小さくなる。余弦類似度は、２つのベクトルがなす角１５０５の余弦値を表現しているため、なす角１５０５が小さいほど高い値となる。そのため、フリック入力方向に最も近いのは、「に」の文字キーオブジェクトであることが、余弦類似度の計算によって特定できる。
【００５０】
ステップＳ１３０４でフリック入力方向にある文字キーオブジェクト１１０１を特定した後、入力部５０１は、この文字キーオブジェクト１１０１に対応する文字（この例では「に」）をソート済み周辺キー情報の先頭に追加する（Ｓ１３０５）。これにより、後に利用者が誤入力文字「な」を削除した際、再入力候補キーオブジェクト３０００として「に」の文字キーオブジェクトが削除キーオブジェクトの近くに表示される。
フリック入力方向にある文字を追加したソート済み周辺キー情報は、ＲＡＭ４０２に記録される（Ｓ１３０６）。
【００５１】
ソート済み周辺キー情報をＲＡＭ４０２に記録した後に、入力部５０１は、特定部５００で特定された文字キーオブジェクトに対応する文字を入力文字表示フィールド１０２に表示する。入力部５０１は、このようにして文字の入力を行う（Ｓ１３０７）。
以上のようにして入力処理が終了する。
【００５２】
第２実施形態では、利用者がフリック文字入力によって入力した文字が削除された場合に、周辺キーに優先してフリック入力方向の先にあったキーオブジェクトを再入力候補キーオブジェクト３０００として表示する。これにより、フリック文字入力による高速な文字入力が可能なソフトウェアキーボードの場合でも、誤入力文字の削除と正しい文字の入力を迅速且つ正確に行うことが可能となる。
【００５３】
なお、第１実施形態同様、ソフトウェアキーボード１０００内のキーオブジェクトの配列や、入力・修正対象となる文字種は、平仮名以外の文字や記号等であってもよい。もちろん「ＱＷＥＲＴＹ配列」のソフトウェアキーボードであっても構わない。また、再入力候補キーオブジェクト３０００の中で横一列に周辺キーオブジェクトが並ぶ例を示したが、他の表示様態でもよい。例えば、削除キーオブジェクト１０３０の周囲を囲むように表示してもよい。また、ソフトウェアキーボード１０００の配列を変更して、再入力候補キーオブジェクト３０００内の文字キーオブジェクトが、削除キーオブジェクト１０３０に近い位置からソート順に配列されてもよい。
また、再入力候補キーオブジェクト３０００を表示する条件は、削除キーオブジェクト１０３０の上で指をスライドする他に、例えば、削除キーオブジェクト１０３０を素早く２回タッチした場合など、他の画面表示上の操作を条件としてもよい。
また、第２実施形態では、フリック入力方向の先にある文字キーオブジェクトの特定のために余弦類似度を用いたが、これに限らず、フリック入力方向の先にあるキーオブジェクトを特定できれば、他の方法であってもよい。
【００５４】
以上のような第１、第２実施形態では、修正部５０２により直前に入力された文字を削除する例を説明したが、削除以外の修正処理を行ってもよい。例えば、直前に行った操作（文字入力）の取り消し（アンドゥ）を行う取消処理であったり、文字の入力位置を表すカーソルの位置を変更する入力位置変更処理であってもよい。このように、修正処理の具体的な内容が異なる場合でも、図９で示した削除処理の最初のステップ９００で行う処理が変更となるだけで、それ以外の内容はすべて、第１、第２実施形態と同様である。
【００５５】
また、第１、第２実施形態では、利用者が削除キーオブジェクト１０３、１０３０のような修正オブジェクトにタッチした段階で修正処理を実行していたが、必ずしもこの段階で修正処理を行わなくてもよい。例えば、修正オブジェクトではなく、再入力候補キーオブジェクト内の文字キーオブジェクトにタッチした段階で修正処理を行ってもよい。この場合、修正部５０２は、図９で示した削除処理の最初のステップ９００では削除処理を行わず、利用者が再入候補力キーオブジェクト中の文字キーオブジェクトにタッチしたと特定部５００が判定した段階で、削除処理を行う。
【図１】
2014183485.tif 000003
【図２】
2014183485.tif 000004
【図６】
2014183485.tif 000005
【図７】
2014183485.tif 000006
【図８】
2014183485.tif 000007
【図９】
2014183485.tif 000008
【図１０】
2014183485.tif 000009
【図１３】
2014183485.tif 000010
【図１４】
2014183485.tif 000011
【図３】
2014183485.tif 000012
【図４】
2014183485.tif 000013
【図５】
2014183485.tif 000014
【図１１】
2014183485.tif 000015
【図１２】
2014183485.tif 000016
【図１５】
2014183485.tif 000017