(57)【特許請求の範囲】
【請求項１】
接触検出部と、
文字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、
一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する文字入力装置。
【請求項２】
接触検出部と、
英字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、
一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する文字入力装置。
【請求項３】
接触検出部と、
文字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、
一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用いた複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する文字入力装置。
【請求項４】
文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する文字入力方法。
【請求項５】
文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する文字入力方法。
【請求項６】
文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用いた複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する文字入力方法。
【請求項７】
文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する機能を発揮させる文字入力プログラム。
【請求項８】
文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する機能を発揮させる文字入力プログラム。
【請求項９】
文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用いた複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する機能を発揮させる文字入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字入力装置、文字入力方法および文字入力プログラムに関する。
【背景技術】
【０００２】
近年、直感的な操作を可能にするとともに、キーボードのように物理的に大きな面積を必要とするデバイスを具備しない小型の文字入力装置を実現するために、タッチパネルが広く利用されるようになっている。タッチパネルを用いて文字を入力するための技術として、タッチパネル上で文字を手書き入力する技術（例えば、特許文献１）と、タッチパネル上に表示された仮想的なキーボード（以下、「仮想キーボード」という）を用いて文字を入力する技術（例えば、特許文献２）が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１４１４４８号公報
【特許文献２】特開２００８−１０８２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、タッチパネル上で文字を手書き入力する従来技術には、入力と文字認識処理に時間がかかるため高速な文字入力が困難であるという問題があった。また、仮想キーボードを用いて文字を入力する従来技術でも、入力したい文字に対応するキーごとに指をタッチパネルに対して上げ下げする動作を繰り返す必要があったため、高速な文字入力が困難であった。
【０００５】
本発明は、上記に鑑みてなされたものであって、タッチパネル上で高速に文字を入力することを可能にする文字入力装置、文字入力方法および文字入力プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、文字入力装置であって、接触検出部と、文字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する。
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、文字入力装置であって、接触検出部と、英字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する。
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、文字入力装置であって、接触検出部と、文字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用いた複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する。
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、文字入力方法であって、文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する。
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、文字入力方法であって、文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する。
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、文字入力方法であって、文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用いた複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する。
【００１２】
また、上述した課題を解決し、目的を達成するために、本発明は、文字入力プログラムであって、文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する機能を発揮させる。
【００１３】
上述した課題を解決し、目的を達成するために、本発明は、文字入力プログラムであって、文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する機能を発揮させる。
また、上述した課題を解決し、目的を達成するために、本発明は、文字入力プログラムであって、文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用いた複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する機能を発揮させる。
【発明の効果】
【００１４】
本発明に係る文字入力装置、文字入力方法および文字入力プログラムは、タッチパネル上で高速に文字を入力することを可能にするという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、携帯電話端末の外観を示す正面図である。
【図２】図２は、タッチパネル上に表示される仮想キーボードを示す図である。
【図３】図３は、ボタン領域内を指が通過した例を示す図である。
【図４】図４は、ボタン領域内で指の移動方向が変化した例を示す図である。
【図５】図５は、ボタン領域内で指が回転する軌跡を描いた例を示す図である。
【図６】図６は、文字入力の操作例を示す図である。
【図７−１】図７−１は、候補の選択の操作例を示す図である。
【図７−２】図７−２は、記号入力の操作例を示す図である。
【図７−３】図７−３は、記号入力の他の操作例を示す図である。
【図８】図８は、入力文字列候補表示領域内での指の移動方向の変化の例を示す図である。
【図９】図９は、携帯電話端末の機能の概略構成を示すブロック図である。
【図１０】図１０は、仮想キーボードデータの一例を示す図である。
【図１１】図１１は、携帯電話端末による文字入力処理の処理手順を示すフロー図である。
【図１２】図１２は、携帯電話端末による文字入力処理の処理手順を示すフロー図である。
【図１３】図１３は、入力文字バッファの一例を示す図である。
【図１４】図１４は、一時バッファの一例を示す図である。
【図１５】図１５は、文字入力判定処理の処理手順を示すフロー図である。
【図１６】図１６は、記号入力判定処理の処理手順を示すフロー図である。
【図１７】図１７は、候補選択判定処理の処理手順を示すフロー図である。
【図１８】図１８は、候補取得処理の処理手順を示すフロー図である。
【図１９】図１９は、記号の受け付け時に候補を確定する処理の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、文字入力装置として携帯電話端末を例として説明するが、本発明の適用対象は携帯電話端末に限定されるものではなく、タッチパネルを備える各種装置、例えば、ＰＨＳ（Personal  Handyphone  System）、ＰＤＡ、ポータブルナビゲーション装置、パーソナルコンピュータ、ゲーム機等に対しても本発明は適用できる。
【実施例】
【００１７】
図１は、本発明の文字入力装置の一実施形態である携帯電話端末１の外観を示す正面図である。携帯電話端末１は、タッチパネル２と、ボタン３Ａ、ボタン３Ｂおよびボタン３Ｃからなる入力部３を備える。タッチパネル２は、文字、図形、画像等を表示するとともに、指、スタイラス、ペン等（以下、単に「指」という）を用いてタッチパネル２に対して行われる各種動作を検出する。入力部３は、いずれかのボタンが押下された場合に、押下されたボタンに対応する機能を起動させる。
【００１８】
携帯電話端末１は、利用者から文字の入力を受け付けるために、図２に示すように、タッチパネル２上に仮想キーボード４を表示させる。また、図２に示すように、タッチパネル２には、入力文字列候補表示領域１４と、記号領域１５Ａおよび１５Ｂとが設けられる。入力文字列候補表示領域１４には、仮想キーボード４に対して行われた動作から予測または変換された文字列が、入力された文字列の候補として表示される。記号領域１５Ａおよび１５Ｂは、句点や読点等の記号を入力するために利用される。記号領域１５Ａおよび１５Ｂは、仮想キーボード４が表示されている間のみ記号（例えば、句読点）を入力するための領域として機能する。
【００１９】
なお、記号領域１５Ａおよび１５Ｂが記号を入力するための領域として機能する状態となっているときの外観は、外枠や背景色によってその領域の範囲が利用者に明確になるようなっていてもよいし、実行中のプログラムがその領域に表示している内容を利用者が視認できるように透明であってもよい。図２に示した例で、記号領域１５Ａには句点（「。」）が表示され、記号領域１５Ｂには読点（「、」）が表示されているように、その領域に対応する記号を領域内に表示してもよい。
【００２０】
以下に、仮想キーボード４上で入力された文字を識別する方式と、入力文字列候補表示領域１４内に表示された候補のどれが選択されたかを判定する方式と、記号領域１５Ａおよび１５Ｂで入力された記号を識別する方式とについて説明する。なお、以下の説明では、記号領域１５Ａと記号領域１５Ｂを特に区別しない場合には、これらを記号領域１５と総称する。
【００２１】
まず、仮想キーボード４上で入力された文字を識別する方式について説明する。図２に示すように、仮想キーボード４は、物理的なキーボードのキーを模した複数の仮想的なボタンを含む。例えば、利用者が仮想キーボード４内の「Ｑ」のボタンに指を置いて（接触して）離す動作をすると、その動作がタッチパネル２によって検出され、携帯電話端末１は、「Ｑ」という文字を入力として受け付ける。
【００２２】
携帯電話端末１は、さらに、仮想キーボード４上での連続方式による文字の入力を受け付ける。連続方式とは、利用者が指をタッチパネル２に接触させたまま仮想キーボード４上を移動させることによって複数の文字を連続して入力することを可能にする方式である。連続方式では、利用者は、例えば、指をタッチパネル２に接触させたままで、「Ｗ」のボタン、「Ｅ」のボタン、「Ｔ」のボタンの順に滑るように移動させることで「ＷＥＴ」という文字列を入力することができる。
【００２３】
このように、連続方式では、ボタン毎に指を上げ下げする動作を行わずに、タッチパネル２上で指を滑るように移動させるだけで複数の文字を入力することができるため、非常に高速に文字を入力することができる。
【００２４】
ただし、連続方式では、利用者が指を移動させた軌跡上にある各ボタンについて、利用者がそのボタンに対応する文字を入力するために意図的に触れたのか、あるいは、利用者が他のボタン上へ指を移動させるために単にその上を通過させたに過ぎないのかを判定する必要がある。例えば、仮想キーボード４の配列がＱＷＥＲＴＹ配列であり、利用者が上記の「ＷＥＴ」という単語を入力したいものとする。この場合、利用者の指は「Ｅ」のボタンから「Ｔ」のボタンへ移動する際に、それらのボタンの間にある「Ｒ」のボタン上を通過することになる。このため、「Ｒ」のボタンについては意図的に触れたわけではないと判定できなかった場合には、利用者の意図に反して「ＷＥＲＴ」という文字列が入力として受け付けられてしまう。
【００２５】
そこで、携帯電話端末１は、利用者が指を移動させた軌跡上にあるボタンのうち、特定の動作がタッチパネル２によって検出された位置に表示されているボタンを、利用者が文字を入力するために意図的に触れたものであると判定する。具体的には、携帯電話端末１は、指の接触を開始する動作がタッチパネル２によって検出された場合、接触の開始が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。また、携帯電話端末１は、指の移動が終了しタッチパネル２から離れる動作がタッチパネル２によって検出された場合、接触の終了が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。
【００２６】
また、携帯電話端末１は、指がタッチパネル２に触れたまま移動方向を変更する動作がタッチパネル２によって検出された場合、移動方向の変更が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。具体的には、携帯電話端末１は、指がボタンに進入したときの移動方向と指がボタンから出るときの移動方向とを比較し、移動方向の角度差が閾値よりも大きければ、利用者が意図的にそのボタンに触れたと判定する。
【００２７】
これは、他のボタンへの移動中において、単に通過するに過ぎない場合、指はボタン上を一定方向へ移動し、図３に示すように進入時の移動方向（ベクトル）を示すＶ１と脱出時の移動方向を示すＶ２の角度差は小さくなると考えられるためである。また、図４に示すように進入時の移動方向を示すＶ３と脱出時の移動方向を示すＶ４の角度差の角度差が大きい場合、利用者が意図的にそのボタンに触れた後に他のボタンに触れるために移動方向を変更した可能性が高いためである。つまり、このボタンが目的ボタンの一つであったと判定できる。
【００２８】
また、携帯電話端末１は、図５に示すように、指がタッチパネル２に触れたままあるボタン領域内で回転する軌跡を描いて移動する動作がタッチパネル２によって検出された場合に、利用者が意図的にそのボタンに触れたと判定する。単に通過するに過ぎない場合に指がこのような軌跡を描いて移動することはないと考えられるためである。なお、回転する軌跡に限らずに、山型や波状等の特徴的な形状の軌跡が指によってボタン領域内で描かれた場合に、利用者が意図的にそのボタンに触れたと判定することとしてもよい。
【００２９】
このようにボタン領域内で特徴的な形状の軌跡を描く指の移動が検出された場合にそのボタンが意図的に触れられたと判定することにより、利用者は同じ文字を容易に連続して入力することが可能になる。例えば、「Ｗ」という文字を３回連続して入力したい場合、利用者は「Ｗ」のボタン領域内で円を３回描くように指を移動させればよい。ここで、例えば、ボタン領域内での指の移動ベクトルの角度の総計が３６０度を超える度に１回転とカウントすることにより、回転数をカウントすることができる。
【００３０】
利用者が携帯電話端末１に「エレクトロニクス（ＥＲＥＫＵＴＯＲＯＮＩＫＵＳＵ）」と入力する場合の操作例を図６に示す。ｓ１では、「Ｅ」のボタン領域内に指が置かれた後、指がタッチパネル２に触れたまま、「Ｒ」、「Ｅ」、「Ｈ」、「Ｊ」、「Ｋ」の順にボタンの上を通過している。この場合、携帯電話端末１は、指が置かれた「Ｅ」のボタンと、進入方向と脱出方向の角度差が閾値よりも大きい「Ｒ」、「Ｅ」、「Ｋ」のボタンが意図的に触れられたと判断する。
【００３１】
ｓ２では、指がタッチパネル２に触れたまま、「Ｕ」、「Ｙ」、「Ｔ」、「Ｙ」、「Ｕ」、「Ｉ」の順にボタンの上を通過している。この場合、携帯電話端末１は、進入方向と脱出方向の角度差が閾値よりも大きい「Ｕ」、「Ｔ」のボタンが意図的に触れられたと判断する。ｓ３では、指がタッチパネル２に触れたまま、「Ｏ」、「Ｉ」、「Ｕ」、「Ｙ」、「Ｔ」、「Ｒ」、「Ｔ」、「Ｙ」、「Ｕ」、「Ｉ」の順にボタンの上を通過している。この場合、携帯電話端末１は、進入方向と脱出方向の角度差が閾値よりも大きい「Ｏ」、「Ｒ」のボタンが意図的に触れられたと判断する。
【００３２】
ｓ４では、指がタッチパネル２に触れたまま、「Ｏ」、「Ｋ」、「Ｎ」、「Ｊ」の順にボタンの上を通過している。この場合、携帯電話端末１は、進入方向と脱出方向の角度差が閾値よりも大きい「Ｏ」、「Ｎ」のボタンが意図的に触れられたと判断する。ｓ５では、指がタッチパネル２に触れたまま、「Ｉ」、「Ｋ」、「Ｕ」、「Ｇ」、「Ｆ」、「Ｄ」、「Ｓ」、「Ｒ」、「Ｔ」、「Ｙ」の順にボタンの上を通過している。この場合、携帯電話端末１は、進入方向と脱出方向の角度差が閾値よりも大きい「Ｉ」、「Ｋ」、「Ｕ」、「Ｓ」のボタンが意図的に触れられたと判断する。
【００３３】
ｓ６では、タッチパネル２に触れたまま「Ｕ」のボタンへ移動した指が、「Ｕ」のボタン領域内でタッチパネル２から離れている。この場合、携帯電話端末１は、指がタッチパネル２から離れた位置にある「Ｕ」のボタンが意図的に触れられたと判断する。
【００３４】
以上の操作により、携帯電話端末１は、「Ｅ」、「Ｒ」、「Ｅ」、「Ｋ」、「Ｕ」、「Ｔ」、「Ｏ」、「Ｒ」、「Ｏ」、「Ｎ」、「Ｉ」、「Ｋ」、「Ｕ」、「Ｓ」、「Ｕ」の順にボタンが意図的に触れられたと判定し、これらのボタンに対応する文字を時系列に連結した「エレクトロニクス（ＥＲＥＫＵＴＯＲＯＮＩＫＵＳＵ）」を入力された文字列として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
【００３５】
図６の例が示すように、携帯電話端末１は、利用者の指がタッチパネル２に触れたまま移動した軌跡上の各ボタンについて、意図して触れられたのか、単にその上を通過したに過ぎないのかを、利用者が自然に行う動作に基づいて精度よく判定して文字の入力を受け付ける。このため、利用者は、携帯電話端末１に対して文字を高速かつ正確に入力することができる。
【００３６】
なお、携帯電話端末１は、単に指が通過したに過ぎないと判定したボタンに対応する文字を無視するのではなく、入力精度を向上させるためにそれらの文字を利用する。具体的には、携帯電話端末１は、利用者が意図的に触れたと判定したボタンに対応する文字を時系列に連結した文字列を辞書と照合し、該当する単語が見つからない場合は、単に指が通過したに過ぎないと判定したボタンに対応する文字を補完して辞書との照合をやり直して正当な単語を見つけ出す。
【００３７】
例えば、利用者が携帯電話端末１に対して「ＷＥＴ」という単語を入力したい場合、利用者は、「Ｗ」のボタン領域内に指を置いた後、タッチパネル２に触れたまま指を「Ｔ」のボタンの方向へ移動させ、「Ｔ」のボタン領域内で指をタッチパネル２から離す。この場合、指が置かれた「Ｗ」のボタンと指が離れた「Ｔ」のボタンは意図的に触れられたと判定されるが、指が移動する軌道上にある「Ｅ」と「Ｒ」のボタンは、進入方向と脱出方向の角度差が小さいため、単に通過したに過ぎないと判定される。
【００３８】
しかしながら、利用者が意図的に触れたと判定したボタンに対応する文字を時系列に連結した文字列である「ＷＴ」は辞書に存在しない。そこで、携帯電話端末１は、単に通過したに過ぎないと判定したボタンに対応する文字を時系列に補完して、「ＷＥＴ」、「ＷＲＴ」、「ＷＥＲＴ」という候補を作成し、各候補を辞書と照合する。この場合、「ＷＥＴ」という単語が辞書に含まれるため、携帯電話端末１は、「ＷＥＴ」を入力された文字として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
【００３９】
ところで、「ＷＥＴ」という単語を入力する場合、利用者は、タッチパネル２に触れたまま指を「Ｗ」のボタンから「Ｔ」のボタンの方向へ移動させる最中に、「Ｅ」のボタンの中で回転する軌道を描いてもよい。このような操作をすることにより、利用者は、「Ｅ」のボタンに意図的に触れたことを携帯電話端末１に明示的に示して、入力した文字列の識別精度を向上させることができる。
【００４０】
続いて、入力文字列候補表示領域１４内に表示された候補のどれが選択されたかを判定する方式について説明する。携帯電話端末１は、いずれかの候補の表示領域内に指を置いて（接触して）離す動作がタッチパネル２によって検出されると、その表示領域に表示されている候補が選択されたと判定する。
【００４１】
携帯電話端末１は、さらに、利用者が指をタッチパネル２に接触させたまま、いずれかの候補の表示領域内で特定の動作を行ったことがタッチパネル２によって検出された場合にも、その表示領域に表示されている候補が選択されたと判定する。ここで、特定の動作とは、指を他の場所に移動させるために候補の表示領域を通過させたのではないことが明確な動作であり、例えば、指がタッチパネル２に触れたままある候補の表示領域内で移動方向を変更する動作や、指がタッチパネル２に触れたままある候補の表示領域内で回転する軌跡を描いて移動する動作である。
【００４２】
このように、利用者が指をタッチパネル２に接触させたまま行った動作に基づいて予測や変換を行って入力された文字列の候補を表示し、利用者が指をタッチパネル２に接触させたまま行った動作に基づいてどの候補が選択されたかを判定することにより、指を上げ下げする動作を行うことなく候補を選択することが可能となる。このことは、上記のような連続方式による文字の入力を連続して高速に実行することを可能にする。
【００４３】
利用者が「北府中」という文字列を入力しようとしている場合における候補の選択の例を図７−１に示す。ｓ１１では、指は「Ｋ」のボタン領域内に置かれている。ｓ１２では、指はタッチパネル２に触れたまま、「Ｉ」、「Ｕ」、「Ｙ」、「Ｔ」、「Ｒ」、「Ｓ」、「Ａ」の順にボタンの上を通過した後、入力文字列候補表示領域１４内に表示された候補を選択するために上方へ移動し、「Ｑ」のボタン領域内に入っている。この場合、携帯電話端末１は、指が置かれた「Ｋ」のボタンと、進入方向と脱出方向の角度差が閾値よりも大きい「Ｉ」、「Ｔ」、「Ａ」のボタンが意図的に触れられたと判断する。
【００４４】
そして、携帯電話端末１は、意図的に触れられたと判断したボタンに対応する文字を連結した「ＫＩＴＡ」から利用者が入力しようとしている文字列を予測し、漢字変換処理によって得られた「北」、「来た」、「着た」、「喜多」、「木田」、「キタ」の各文字列を入力文字列候補表示領域１４内に表示する。また、携帯電話端末１は、ｓ１２の段階では、文字の入力先であるテキスト入力領域１６に、「ＫＩＴＡ」をひらがなへ変換した「きた」を仮の入力結果として反転表示する。なお、テキスト入力領域１６は、ブラウザプログラム等の任意のプログラムによってタッチパネル２上に一時的に設けられた領域である。
【００４５】
ｓ１３では、指がタッチパネル２に触れたまま、「Ｑ」のボタンの上を通過し、記号領域１５Ａを通過して、入力文字列候補表示領域１４内に入って「喜多」の表示領域を通過した後、「北」の表示領域内に移動している。この場合、「Ｑ」のボタンについては、進入方向と脱出方向の角度差が閾値以下であるため、単に通過したに過ぎないと判定され、入力文字列候補表示領域１４内の表示はそのままとなる。また、記号領域１５Ａについても、進入方向と脱出方向の角度差が閾値以下であるため、単に通過したに過ぎないと判定される。ｓ１４では、「府中（ＦＵＣＨＵＵ）」を入力するため、指がタッチパネル２に触れたまま、「北」の表示領域内で移動方向を変更し、「喜多」の表示領域を通過し、記号領域１５Ａを通過した後、「Ｆ」のボタン領域へ移動している。
【００４６】
図７−１に示した例のｓ１３からｓ１４では、図８に示すように、「北」、「来た」、「着た」、「喜多」、「木田」、「キタ」の各候補が、それぞれ、入力文字列候補表示領域１４の候補領域１４Ａ〜１４Ｆ内に表示される。そして、「北」を表示する候補領域１４Ａでは、指の進入時の移動方向を示すＶ７と脱出時の移動方向を示すＶ８の角度差が閾値よりも大きくなる。このため、候補領域１４Ａ内で指の移動方向を変更する動作が検出され、携帯電話端末１は、「北」が選択されたと判定する。そして、携帯電話端末１は、テキスト入力領域１６に、「北」を確定した入力結果として通常表示する。
【００４７】
一方、「喜多」を表示する候補領域１４Ｄは、指によって２度通過されるが、１回目の通過における進入時の移動方向を示すＶ５と脱出時の移動方向を示すＶ６の角度差は閾値よりも小さい。また、２回目の通過における進入時の移動方向を示すＶ９と脱出時の移動方向を示すＶ１０の角度差も閾値より小さい。このため、携帯電話端末１は、「喜多」が選択されたとは判定しない。
【００４８】
図７−１の例が示すように、携帯電話端末１は、利用者の指がタッチパネル２に触れたまま移動した軌跡上の各候補領域について、意図して触れられたのか、単にその上を通過したに過ぎないのかを、利用者が自然に行う動作に基づいて精度よく判定する。
【００４９】
続いて、記号領域１５Ａおよび１５Ｂで入力された記号を識別する方式について説明する。記号領域１５Ａおよび１５Ｂは、それぞれ、句点や読点のような記号と予め対応付けられる。そして、携帯電話端末１は、いずれかの記号領域１５内に指を置いて（接触して）離す動作がタッチパネル２によって検出されると、その記号領域１５と対応する記号を入力された文字として受け付ける。
【００５０】
携帯電話端末１は、さらに、利用者が指をタッチパネル２に接触させたまま、いずれかの記号領域１５内で特定の動作を行ったことがタッチパネル２によって検出された場合にも、その記号領域１５と対応する記号を入力された文字として受け付ける。ここで、特定の動作とは、指を他の場所に移動させるために記号領域１５を通過させたのではないことが明確な動作であり、例えば、指がタッチパネル２に触れたままある記号領域１５内で移動方向を変更する動作や、指がタッチパネル２に触れたままある記号領域１５内で回転する軌跡を描いて移動する動作である。
【００５１】
例えば、図７−１に示したｓ１３やｓ１４では、記号領域１５Ａへの指の進入方向と脱出方向の角度差が小さく、指を他の場所に移動させるために記号領域１５Ａを通過させたと考えられるため、記号領域１５Ａに対応する記号が入力されたとは判定されない。一方、図７−２に示した例では、記号領域１５Ａへの指の進入方向と脱出方向の角度差が大きく、指を他の場所に移動させるために記号領域１５を通過させたのではないことが明確であるため、記号領域１５Ａに対応する記号である句点が入力されたと判定される。また、図７−３に示した例では、指がタッチパネル２に触れたままある記号領域１５内で回転する軌跡を描いて移動しており、指を他の場所に移動させるために記号領域１５を通過させたのではないことが明確であるため、記号領域１５Ａに対応する記号である句点が入力されたと判定される。
【００５２】
このように、利用者が指をタッチパネル２に接触させたまま行った動作に基づいて記号の入力を受け付けることにより、指を上げ下げする動作を行うことなく記号を入力することが可能となる。このことは、上記のような連続方式による文字の入力を連続して高速に実行することを可能にする。
【００５３】
なお、記号領域１５の数は２つに限定するものではなく、いくつあってもよい。また、記号領域１５の位置は、仮想キーボード４と入力文字列候補表示領域１４の間以外の位置、例えば、仮想キーボード４の下方であってもよい。
【００５４】
次に、携帯電話端末１の機能と制御部との関係を説明する。図９は、図１に示す携帯電話端末１の機能の概略構成を示すブロック図である。図９に示すように携帯電話端末１は、タッチパネル２と、入力部３と、電源部５と、通信部６と、スピーカ７と、マイク８と、記憶部９と、主制御部１０と、ＲＡＭ（Random  Access  Memory）１１とを有する。
【００５５】
タッチパネル２は、表示部２Ｂと、表示部２Ｂに重畳されたタッチセンサ２Ａとを有する。タッチセンサ２Ａは、指を用いてタッチパネル２に対して行われた各種動作を、動作が行われた場所のタッチパネル２上での位置とともに検出する。タッチセンサ２Ａによって検出される動作には、指をタッチパネル２の表面に接触させる動作や、指をタッチパネル２の表面に接触させたまま移動させる動作や、指をタッチパネル２の表面から離す動作が含まれる。なお、タッチセンサ２Ａは、感圧式、静電式等のいずれの検出方式を採用していてもよい。表示部２Ｂは、例えば、液晶ディスプレイ（ＬＣＤ、Liquid  Crystal  Display）や、有機ＥＬ（Organic  Electro−Luminescence）パネルなどで構成され、文字、図形、画像等を表示する。
【００５６】
入力部３は、物理的なボタン等を通じて利用者の操作を受け付け、受け付けた操作に対応する信号を主制御部１０へ送信する。電源部５は、蓄電池または外部電源から得られる電力を、主制御部１０を含む携帯電話端末１の各機能部へ供給する。通信部６は、基地局によって割り当てられるチャネルを介し、基地局との間でＣＤＭＡ方式などによる無線信号回線を確立し、基地局との間で電話通信及び情報通信を行う。スピーカ７は、電話通信における相手側の音声や着信音等を出力する。マイク８は、利用者等の音声を電気的な信号へ変換する。
【００５７】
記憶部９は、例えば、不揮発性メモリや磁気記憶装置であり、主制御部１０での処理に利用されるプログラムやデータを保存する。具体的には、記憶部９は、メールの送受信や閲覧のためのメールプログラム９Ａや、ＷＥＢページの閲覧のためのブラウザプログラム９Ｂや、上述した連続方式での文字入力を受け付けるための文字入力プログラム９Ｃや、文字入力時にタッチパネル２に表示される仮想キーボードに関する定義を含む仮想キーボードデータ９Ｄや、入力文字列の予測や変換の為の情報が登録された辞書データ９Ｅを記憶する。記憶部９には、携帯電話端末１の基本的な機能を実現するオペレーティングシステムプログラムや、氏名、電話番号、メールアドレス等が登録されたアドレス帳データ等の他のプログラムやデータも記憶される。
【００５８】
主制御部１０は、例えば、ＣＰＵ（Central  Processing  Unit）であり、携帯電話端末１の動作を統括的に制御する。具体的には、主制御部１０は、記憶部９に記憶されているデータを必要に応じて参照しつつ、記憶部９に記憶されているプログラムを実行して、タッチパネル２、通信部６等を制御することによって各種処理を実行する。主制御部１０は、記憶部９に記憶されているプログラムや、処理を実行することによって取得／生成／加工されたデータを、一時的な記憶領域を提供するＲＡＭ１１に必要に応じて展開する。なお、主制御部１０が実行するプログラムや参照するデータは、通信部６による無線通信でサーバ装置からダウンロードすることとしてもよい。
【００５９】
ここで、記憶部９が記憶する仮想キーボードデータ９Ｄの一例を図１０に示す。図１０の例に示すように、仮想キーボードデータ９Ｄには、仮想キーボードに含まれるボタン毎に、ボタンに対応する文字、ボタンの位置（例えば、左上座標）、幅、高さ等が登録される。図８に示す例では、あるボタンに対応する文字が「Ｑ」であり、そのボタンの左上座標がＸ＝１０、Ｙ＝１０であり、そのボタンの幅と高さが２０と４０であること等が登録されている。
【００６０】
次に、携帯電話端末１が文字の入力を受け付ける場合の動作について説明する。図１１および図１２は、携帯電話端末１による文字入力処理の処理手順を示すフロー図である。図１１および図１２に示す文字入力処理は、主制御部１０が記憶部９から文字入力プログラム９Ｃを読み出して実行することにより実現され、仮想キーボード４がタッチパネル２上に表示されている間、繰り返し実行される。なお、仮想キーボード４は、主制御部１０が文字入力プログラム９Ｃまたは他のプログラムを実行することにより、タッチパネル２上に表示される。
【００６１】
まず、主制御部１０は、ステップＳ１０として、入力文字バッファ１２をクリアし、ステップＳ１１として、一時バッファ１３をクリアし、ステップＳ１２として記号入力バッファをクリアする。入力文字バッファ１２は、指がタッチパネル２に接触したまま移動した軌跡上の各ボタンに対応する文字が優先度と対応づけて格納される記憶領域であり、ＲＡＭ１１に設けられる。一時バッファ１３は、指がタッチパネル２に接触したまま移動した軌跡上の各ボタンのうち、指が単にその上を通過したに過ぎないと判定されたボタンに対応する文字が一時的に格納される記憶領域であり、ＲＡＭ１１に設けられる。記号バッファは、記号領域１５に対する特定の動作によって受け付けられた記号が格納される記憶領域であり、ＲＡＭ１１に設けられる。
【００６２】
入力文字バッファ１２の一例を図１３に示す。図１３は、タッチパネル２に対して図６に示した操作が行われた場合の入力文字バッファ１２を示している。図１３の例において、入力文字バッファ１２の上段には、指がタッチパネル２に接触したまま移動した軌跡上の各ボタンに対応する文字が格納され、下段には、上段の文字に対応づけられた優先度が格納されている。図１３の例が示すように、入力文字バッファ１２には、指がタッチパネル２に接触したまま移動した軌跡上の各ボタンに対応する文字が時系列に格納される。
【００６３】
優先度は、入力文字バッファ１２に含まれる文字を連結して文字列を構成する際に、対応付けられた文字を採用するか否かを決定するために用いられる。本実施例では、優先度の値が小さいほど、対応付けられた文字が優先的に採用されることとする。具体的には、指が意図的に触れたと判断されたボタンに対応する文字には優先度として「１」を対応付け、指が単に通過したに過ぎないと判断されたボタンに対応する文字には優先度として「２」を対応付ける。
【００６４】
一時バッファ１３の一例を図１４に示す。図１４は、図６のｓ１において指が「Ｊ」のボタンから出た時点での一時バッファ１３を示している。図１４の例が示すように、一時バッファ１３には、指が単にその上を通過したに過ぎないと判定されたボタンに対応する文字が、指がいずれかのボタンに意図的に触れたと判定されるまで、時系列に格納される。
【００６５】
入力文字バッファ１２と一時バッファ１３のクリアを終えると、主制御部１０は、ステップＳ１３として、ＲＡＭ１１に設けた入力完了フラグを０に設定する。入力完了フラグは、１回分の文字入力が完了したか否かを判定するために用いられる。ここでいう１回分の文字入力とは、指をタッチパネル２に接触させてから離すまでの間に行われる文字入力を意味する。
【００６６】
続いて、主制御部１０は、ステップＳ１４として、タッチパネル２の最新の検出結果を取得し、ステップＳ１５として候補選択判定処理を実行する。候補選択判定処理において、主制御部１０は、入力文字列候補表示領域１４内に表示された候補のいずれかが選択されたかを判定する。なお、候補選択判定処理の詳細については後述する。
【００６７】
そして、入力文字列候補表示領域１４内に表示された候補のいずれも選択されていなかった場合（ステップＳ１６，Ｎｏ）、主制御部１０は、ステップＳ１７として、文字入力判定処理を実行し、ステップＳ１８として、記号入力判定処理を実行する。その後、主制御部１０は、ステップＳ２３を実行する。
【００６８】
文字入力判定処理において、主制御部１０は、指がタッチパネル２に接触したまま移動した軌跡上に表示されている各ボタンに対応する文字を入力文字バッファ１２や一時バッファ１３に格納していく。また、記号入力判定処理において、主制御部１０は、記号領域１５に対する特定の動作に基づいて受け付けた記号を記号バッファに格納する。なお、文字入力判定処理および記号入力処理の詳細については後述する。
【００６９】
一方、入力文字列候補表示領域１４内に表示された候補のいずれかが選択されていた場合（ステップＳ１６，Ｙｅｓ）、主制御部１０は、ステップＳ１９として、選択された候補を入力された文字列として受け付ける。そして、主制御部１０は、文字の入力の受け付けを新たに始めるために、ステップＳ２０として、入力文字バッファ１２をクリアし、ステップＳ２１として、一時バッファ１３をクリアする。そして、主制御部１０は、ステップＳ２２として、入力文字列候補表示領域１４内の候補の表示をクリアした後、ステップＳ２３を実行する。
【００７０】
主制御部１０は、ステップＳ２３として、入力完了フラグが０のままであるかを判定し、ステップＳ２４として、記号バッファが空であるかを判定する。ここで、入力完了フラグが０のままであり、かつ、記号バッファが空である場合、すなわち、１回分の文字入力がまだ完了おらず、記号が入力されていない場合（ステップＳ２３，Ｙｅｓ、かつ、ステップＳ２４，Ｙｅｓ）、主制御部１０は、ステップＳ２５として、候補取得処理を実行して入力文字バッファ１２に格納されている文字を連結した文字列から予測または変換される文字列を辞書データ９Ｅから取得する。なお、候補取得処理の詳細については後述する。
【００７１】
続いて、主制御部１０は、ステップＳ２６として、候補取得処理によって得られた１ないし複数の文字列を入力文字列候補表示領域１４に表示する。そして、主制御部１０は、入力完了フラグが０でない、すなわち、１回分の文字入力が完了したとステップＳ２３で判定されるか、あるいは、記号バッファが空でない、すなわち、記号が入力されたとステップＳ２４で判定されるまで、ステップＳ１４〜ステップＳ２６を繰り返して実行する。
【００７２】
ステップＳ２３で入力完了フラグが０でなくなっていた場合（ステップＳ２３，Ｎｏ）、または、ステップＳ２４で記号バッファが空でなかった場合（ステップＳ２４，Ｎｏ）、主制御部１０は、ステップＳ２７として、候補取得処理を実行して入力文字バッファ１２に格納されている文字を連結した文字列から予測または変換される文字列を辞書データ９Ｅから取得する。ここで、候補取得処理の処理結果として得られた文字列が１つだけであった場合（ステップＳ２８，Ｙｅｓ）、主制御部１０は、ステップＳ２９として、候補取得処理の処理結果として得られた文字列を入力された文字列として受け付ける。
【００７３】
一方、候補取得処理の処理結果として得られた文字列が複数あった場合（ステップＳ２８，Ｎｏ）、主制御部１０は、ステップＳ３０として、候補取得処理の処理結果として得られた複数の文字列を入力文字列候補表示領域１４に表示する。そして、主制御部１０は、ステップＳ３１として、タッチパネル２の最新の検出結果を取得し、ステップＳ３２として、候補選択判定処理を実行して、入力文字列候補表示領域１４に表示した文字列のいずれかが選択されたかを判定する。
【００７４】
ここで、いずれの文字列も選択されていなければ（ステップＳ３３，Ｎｏ）、主制御部１０は、いずれかの文字列が選択されるまで、ステップＳ３１〜ステップＳ３３を繰り返して実行する。なお、ステップＳ３３において利用者の指が入力文字列候補表示領域１４以外の領域に触れるといった入力のキャンセルを示す動作が検出された場合に、主制御部１０が、文字入力処理を終了させることとしてもよい。
【００７５】
ステップＳ３３で入力文字列候補表示領域１４に表示した文字列のいずれかが選択されていた場合（ステップＳ３３，Ｙｅｓ）、主制御部１０は、ステップＳ３４として、選択された文字列を入力された文字列として受け付ける。そして、主制御部１０は、ステップＳ３５として、記号バッファが空であるかを確認し、空でない場合は（ステップＳ３５，Ｎｏ）、ステップＳ３６として、記号バッファ内の文字を入力された文字として受け付ける。
【００７６】
次に、図１５に示したフロー図を参照しながら、図１１のステップＳ１７で実行される文字入力判定処理について説明する。主制御部１０は、ステップＳ４０として、タッチパネル２で検出された動作がタッチパネル２への接触を開始する動作、すなわち、指をタッチパネル２の表面に接触させる動作であったかを、タッチパネル２の検出結果に基づいて判定する。
【００７７】
検出された動作がタッチパネル２への接触を開始する動作であった場合（ステップＳ４０，Ｙｅｓ）、主制御部１０は、ステップＳ４１として、接触が開始された位置を仮想キーボードデータ９Ｄと照合して、接触が開始された位置がいずれかのボタン領域内であったかを判定する。接触が開始された位置がいずれかのボタン領域内であった場合（ステップＳ４１，Ｙｅｓ）、ボタンは意図して触れられたと考えられるので、主制御部１０は、ステップＳ４２として、そのボタンに対応する文字を優先度「１」と対応付けて入力文字バッファ１２に追加する。ボタンに対応する文字は、仮想キーボードデータ９Ｄから取得される。
【００７８】
そして、主制御部１０は、ステップＳ４３として、出力フラグを「１」に設定して文字入力判定処理を終了させる。出力フラグは、ＲＡＭ１１に設けられ、指が現在接触している位置に表示されているボタンに対応する文字を入力文字バッファ１２または一時バッファ１３に出力済みであるか否かを判定するために用いられる。出力フラグの値が「０」であることは、指が現在接触している位置に表示されているボタンに対応する文字をいずれのバッファにもまだ出力していないことを示す。出力フラグの値が「１」であることは、指が現在接触している位置に表示されているボタンに対応する文字をいずれかのバッファに出力済みであることを示す。
【００７９】
ステップＳ４１において、接触が開始された位置がボタン領域内でなかった場合（ステップＳ４１，Ｎｏ）、主制御部１０は、特に処理を行わずに文字入力判定処理を終了させる。
【００８０】
ステップＳ４０において、タッチパネル２で検出された動作がタッチパネル２への接触を開始する動作でなかった場合（ステップＳ４０，Ｎｏ）、主制御部１０は、ステップＳ４４として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指をボタン領域内に進入させる動作であったかを、タッチパネル２の検出結果に基づいて判定する。検出された動作がタッチパネル２への接触を保ったまま指をボタン領域内に進入させる動作であったか否かは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを仮想キーボードデータ９Ｄと照合することによって判定される。
【００８１】
検出された動作がタッチパネル２への接触を保ったまま指をボタン領域内に進入させる動作であった場合（ステップＳ４４，Ｙｅｓ）、主制御部１０は、ステップＳ４５として、移動方向履歴をクリアする。移動方向履歴は、特定の領域内で指がどの方向へ移動したかを示す方向ベクトルが時系列に記録されるデータであり、ＲＡＭ１１に記憶される。
【００８２】
続いて、主制御部１０は、ステップＳ４６として、指がボタン領域内に進入した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部１０は、ステップＳ４７として、出力フラグを「０」に設定して文字入力判定処理を終了させる。
【００８３】
なお、タッチパネル２の検出結果に指の移動方向を示す情報が含まれている場合、方向ベクトルは、タッチパネル２の検出結果から取得される。タッチパネル２の検出結果に指の移動方向を示す情報が含まれていない場合、方向ベクトルは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とから算出される。
【００８４】
ステップＳ４４において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指をボタン領域内に進入させる動作でなかった場合（ステップＳ４４，Ｎｏ）、主制御部１０は、ステップＳ４８として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指をボタンの外へ出す動作であったかを、タッチパネル２の検出結果に基づいて判定する。検出された動作がタッチパネル２への接触を保ったまま指をボタンの外へ出す動作であったか否かは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを仮想キーボードデータ９Ｄと照合することによって判定される。
【００８５】
検出された動作がタッチパネル２への接触を保ったまま指をボタンの外へ出す動作であった場合（ステップＳ４８，Ｙｅｓ）、主制御部１０は、ステップＳ４９として、出力フラグが「０」であるかを判定する。ここで、出力フラグが「０」でなかった場合、すなわち、指がそれまで内部に位置していたボタンに対応する文字をいずれかのバッファに出力済みの場合（ステップＳ４９，Ｎｏ）、主制御部１０は、特に処理を行わずに文字入力判定処理を終了させる。
【００８６】
一方、出力フラグが「０」であった場合（ステップＳ４９，Ｙｅｓ）、主制御部１０は、ステップＳ５０として、最新の移動ベクトル、すなわち、指がボタンの外へ出た方向を示す方向ベクトルを取得し、移動方向履歴の先頭の方向ベクトルとの角度差を算出する。ここで算出された角度差は、指がボタンに進入したときの方向と指がボタンから脱出したときの方向の相違の大きさを表す。
【００８７】
算出された角度差が所定の閾値以下の場合（ステップＳ５１，Ｎｏ）、指は単にボタンを通過したに過ぎないと考えられるため、主制御部１０は、ステップＳ５２として、そのボタンに対応する文字を一時バッファ１３に追加して文字入力判定処理を終了させる。
【００８８】
一方、算出された角度差が所定の閾値より大きい場合（ステップＳ５１，Ｙｅｓ）、ボタンは意図的に触れられたと考えられるため、主制御部１０は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ１２に格納されるように、ステップＳ５３以降の処理手順を実行する。
【００８９】
ステップＳ５３として、主制御部１０は、一時バッファ１３に格納されている文字を優先度「２」と対応付けて入力文字バッファ１２へ追加し、続いて、ステップＳ５４として、ボタンに対応する文字を優先度「１」と対応付けて入力文字バッファ１２に追加する。そして、主制御部１０は、ステップＳ５５として、一時バッファ１３をクリアして文字入力判定処理を終了させる。
【００９０】
ステップＳ４８において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指をボタンの外へ出す動作でなかった場合（ステップＳ４８，Ｎｏ）、主制御部１０は、ステップＳ５６として、タッチパネル２で検出された動作がタッチパネル２への接触を終了させる動作、すなわち、指をタッチパネル２から離す動作であったかを、タッチパネル２の検出結果に基づいて判定する。
【００９１】
検出された動作がタッチパネル２への接触を終了させる動作であった場合（ステップＳ５６，Ｙｅｓ）、主制御部１０は、ステップＳ５７として、接触が終了された位置を仮想キーボードデータ９Ｄと照合して、接触が終了された位置がいずれかのボタン領域内であったかを判定する。接触が終了された位置がいずれかのボタン領域内であった場合（ステップＳ５７，Ｙｅｓ）、ボタンは意図して触れられたと考えられるため、主制御部１０は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ１２に格納されるように、ステップＳ５８以降の処理手順を実行する。
【００９２】
ステップＳ５８として、主制御部１０は、出力フラグが「０」であるかを判定する。ここで、出力フラグが「０」である場合、すなわち、意図して触れられたと考えられるボタンに対応する文字がまだいずれのバッファにも出力されていない場合（ステップＳ５８，Ｙｅｓ）、主制御部１０は、ステップＳ５９として、一時バッファ１３に格納されている文字を優先度「２」と対応付けて入力文字バッファ１２へ追加する。そして、主制御部１０は、ステップＳ６０として、ボタンに対応する文字を優先度「１」と対応付けて入力文字バッファ１２に追加する。
【００９３】
そして、タッチパネル２への接触が終了させる動作が行われたということは、一回分の文字入力が完了したことを意味するので、主制御部１０は、ステップＳ６１として、入力完了フラグを「１」に設定して文字入力判定処理を終了させる。
【００９４】
接触が終了された位置がボタン領域内でなかった場合（ステップＳ５７，Ｎｏ）、または、出力フラグが「０」でなかった場合（ステップＳ５８，Ｎｏ）、主制御部１０は、ステップＳ６１として、入力完了フラグを「１」に設定する処理のみを行って文字入力判定処理を終了させる。
【００９５】
なお、接触が終了された位置がボタン領域内でなかった場合、または、出力フラグが「０」でなかった場合に、一時バッファ１３に格納されている文字を優先度「２」と対応付けて入力文字バッファ１２へ追加することとしてもよい。
【００９６】
ステップＳ５６において、タッチパネル２で検出された動作がタッチパネル２への接触を終了させる動作でなかった場合（ステップＳ５６，Ｎｏ）、主制御部１０は、ステップＳ６２として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったままボタン領域内で指を移動させる動作であったかを、タッチパネル２の検出結果に基づいて判定する。
【００９７】
検出された動作がタッチパネル２への接触を保ったままボタン領域内で指を移動させる動作であった場合（ステップＳ６２，Ｙｅｓ）、主制御部１０は、ステップＳ６３として、指がボタン領域内で移動した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部１０は、ステップＳ６４として、移動方向履歴に記録されている各方向ベクトルを参照して、指がタッチパネル２に触れたままボタン領域内で回転する軌跡を描いて移動したかを判定する。
【００９８】
ここで、指がタッチパネル２に触れたままボタン領域内で回転する軌跡を描いて移動していた場合（ステップＳ６４，Ｙｅｓ）、ボタンは意図的に触れられたと考えられるため、主制御部１０は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ１２に格納されるように、ステップＳ６５以降の処理手順を実行する。
【００９９】
ステップＳ６５として、主制御部１０は、一時バッファ１３に格納されている文字を優先度「２」と対応付けて入力文字バッファ１２へ追加し、続いて、ステップＳ６６として、ボタンに対応する文字を優先度「１」と対応付けて入力文字バッファ１２に追加する。そして、主制御部１０は、ステップＳ６７として、出力フラグを「１」に設定し、ステップＳ６８として、移動方向履歴をクリアして文字入力判定処理を終了させる。
【０１００】
ステップＳ６２において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったままボタン領域内で指を移動させる動作でなかった場合、すなわち、指が仮想キーボード４上のボタン外を移動していた場合（ステップＳ６２，Ｎｏ）、主制御部１０は、特に処理を行わずに文字入力判定処理を終了させる。
【０１０１】
次に、図１６に示したフロー図を参照しながら、図１１のステップＳ１８で実行される記号入力判定処理について説明する。主制御部１０は、ステップＳ７０として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を記号領域１５内に進入させる動作であったかを、タッチパネル２の検出結果に基づいて判定する。検出された動作がタッチパネル２への接触を保ったまま指を記号領域１５内に進入させる動作であったか否かは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを、予め設定されている記号領域１５の位置情報（例えば、左上座標と幅と高さ）と照合することによって判定される。
【０１０２】
検出された動作がタッチパネル２への接触を保ったまま指を記号領域１５内に進入させる動作であった場合（ステップＳ７０，Ｙｅｓ）、主制御部１０は、ステップＳ７１として、移動方向履歴をクリアする。そして、主制御部１０は、ステップＳ７２として、指が記号領域１５内に進入した方向を示す方向ベクトルを取得し、取得した方向ベクトルを移動方向履歴に追加して記号入力判定処理を終了させる。
【０１０３】
ステップＳ７０において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を記号領域１５内に進入させる動作でなかった場合（ステップＳ７０，Ｎｏ）、主制御部１０は、ステップＳ７３として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を記号領域１５の外へ出す動作であったかを、タッチパネル２の検出結果に基づいて判定する。検出された動作がタッチパネル２への接触を保ったまま指を記号領域１５の外へ出す動作であったか否かは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを記号領域１５の位置情報と照合することによって判定される。
【０１０４】
検出された動作がタッチパネル２への接触を保ったまま指を記号領域１５の外へ出す動作であった場合（ステップＳ７３，Ｙｅｓ）、主制御部１０は、ステップＳ７４として、最新の移動ベクトル、すなわち、指が記号領域１５の外へ出た方向を示す方向ベクトルを取得し、移動方向履歴の先頭の方向ベクトルとの角度差を算出する。ここで算出された角度差は、指が記号領域１５に進入したときの方向と指が記号領域１５から脱出したときの方向の相違の大きさを表す。
【０１０５】
算出された角度差が所定の閾値以下の場合（ステップＳ７５，Ｎｏ）、指は単に記号領域１５を通過したに過ぎないと考えられるため、主制御部１０は、特に処理を行わずに記号入力判定処理を終了させる。
【０１０６】
一方、算出された角度差が所定の閾値より大きい場合（ステップＳ７５，Ｙｅｓ）、記号領域１５は意図的に触れられたと考えられるため、主制御部１０は、ステップＳ７６として、その記号領域１５に対応する文字を記号バッファに格納して記号入力判定処理を終了させる。
【０１０７】
ステップＳ７３において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を記号領域１５の外へ出す動作でなかった場合（ステップＳ７３，Ｎｏ）、主制御部１０は、ステップＳ７７として、タッチパネル２で検出された動作がタッチパネル２への接触を終了させる動作、すなわち、指をタッチパネル２から離す動作であったかを、タッチパネル２の検出結果に基づいて判定する。
【０１０８】
検出された動作がタッチパネル２への接触を終了させる動作であった場合（ステップＳ７７，Ｙｅｓ）、主制御部１０は、ステップＳ７８として、接触が終了された位置を記号領域１５の位置情報と照合して、接触が終了された位置がいずれかの記号領域１５内であったかを判定する。接触が終了された位置がいずれの記号領域１５内でもなかった場合（ステップＳ７８，Ｎｏ）、主制御部１０は、特に処理を行わずに記号入力判定処理を終了させる。
【０１０９】
一方、接触が終了された位置がいずれかの記号領域１５内であった場合（ステップＳ７８，Ｙｅｓ）、記号領域１５は意図して触れられたと考えられるため、主制御部１０は、ステップＳ７９として、その記号領域１５に対応する文字を記号バッファに格納して記号入力判定処理を終了させる。
【０１１０】
ステップＳ７７において、タッチパネル２で検出された動作がタッチパネル２への接触を終了させる動作でなかった場合（ステップＳ７７，Ｎｏ）、主制御部１０は、ステップＳ８０として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま記号領域１５内で指を移動させる動作であったかを、タッチパネル２の検出結果に基づいて判定する。
【０１１１】
検出された動作がタッチパネル２への接触を保ったまま記号領域１５内で指を移動させる動作であった場合（ステップＳ８０，Ｙｅｓ）、主制御部１０は、ステップＳ８１として、指が記号領域１５内で移動した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部１０は、ステップＳ８２として、移動方向履歴に記録されている各方向ベクトルを参照して、指がタッチパネル２に触れたまま記号領域１５内で回転する軌跡を描いて移動したかを判定する。
【０１１２】
ここで、指がタッチパネル２に触れたまま記号領域１５内で回転する軌跡を描いて移動していた場合（ステップＳ８２，Ｙｅｓ）、記号領域１５は意図的に触れられたと考えられるため、主制御部１０は、ステップＳ８３として、その記号領域１５に対応する文字を記号バッファに格納して記号入力判定処理を終了させる。
【０１１３】
ステップＳ８０において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま記号領域１５内で指を移動させる動作でなかった場合（ステップＳ８０，Ｎｏ）、または、ステップＳ８２において、指がタッチパネル２に触れたまま記号領域１５内で回転する軌跡を描いて移動していなかった場合（ステップＳ８２，Ｎｏ）、主制御部１０は、特に処理を行わずに記号入力判定処理を終了させる。
【０１１４】
次に、図１７に示したフロー図を参照しながら、図１１のステップＳ１５および図１２のステップＳ３２で実行される候補選択判定処理について説明する。主制御部１０は、ステップＳ９０として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を候補領域内に進入させる動作であったかを、タッチパネル２の検出結果に基づいて判定する。
【０１１５】
ここで、候補領域とは、入力文字列候補表示領域１４内で各候補が表示される領域であり、例えば、各候補を囲む最小矩形に相当する。検出された動作がタッチパネル２への接触を保ったまま指を候補領域内に進入させる動作であったか否かは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを、各候補を表示する際に決定された候補領域の位置情報（例えば、左上座標と幅と高さ）と照合することによって判定される。
【０１１６】
検出された動作がタッチパネル２への接触を保ったまま指を候補領域内に進入させる動作であった場合（ステップＳ９０，Ｙｅｓ）、主制御部１０は、ステップＳ９１として、移動方向履歴をクリアする。そして、主制御部１０は、ステップＳ９２として、指が候補領域内に進入した方向を示す方向ベクトルを取得し、取得した方向ベクトルを移動方向履歴に追加して候補選択判定処理を終了させる。
【０１１７】
ステップＳ９０において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を候補領域内に進入させる動作でなかった場合（ステップＳ９０，Ｎｏ）、主制御部１０は、ステップＳ９３として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を候補領域の外へ出す動作であったかを、タッチパネル２の検出結果に基づいて判定する。検出された動作がタッチパネル２への接触を保ったまま指を候補領域の外へ出す動作であったか否かは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを候補領域の位置情報と照合することによって判定される。
【０１１８】
検出された動作がタッチパネル２への接触を保ったまま指を候補領域の外へ出す動作であった場合（ステップＳ９３，Ｙｅｓ）、主制御部１０は、ステップＳ９４として、最新の移動ベクトル、すなわち、指が候補領域の外へ出た方向を示す方向ベクトルを取得し、移動方向履歴の先頭の方向ベクトルとの角度差を算出する。ここで算出された角度差は、指が候補領域に進入したときの方向と指が候補領域から脱出したときの方向の相違の大きさを表す。
【０１１９】
算出された角度差が所定の閾値以下の場合（ステップＳ９５，Ｎｏ）、指は単に候補領域を通過したに過ぎないと考えられるため、主制御部１０は、特に処理を行わずに候補選択判定処理を終了させる。
【０１２０】
一方、算出された角度差が所定の閾値より大きい場合（ステップＳ９５，Ｙｅｓ）、候補領域は意図的に触れられたと考えられるため、主制御部１０は、ステップＳ９６として、その候補領域に対応する文字を記号バッファに格納して候補選択判定処理を終了させる。
【０１２１】
ステップＳ９３において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を候補領域の外へ出す動作でなかった場合（ステップＳ９３，Ｎｏ）、主制御部１０は、ステップＳ９７として、タッチパネル２で検出された動作がタッチパネル２への接触を終了させる動作、すなわち、指をタッチパネル２から離す動作であったかを、タッチパネル２の検出結果に基づいて判定する。
【０１２２】
検出された動作がタッチパネル２への接触を終了させる動作であった場合（ステップＳ９７，Ｙｅｓ）、主制御部１０は、ステップＳ９８として、接触が終了された位置を候補領域の位置情報と照合して、接触が終了された位置がいずれかの候補領域内であったかを判定する。接触が終了された位置がいずれの候補領域内でもなかった場合（ステップＳ９８，Ｎｏ）主制御部１０は、特に処理を行わずに候補選択判定処理を終了させる。
【０１２３】
一方、接触が終了された位置がいずれかの候補領域内であった場合（ステップＳ９８，Ｙｅｓ）、候補領域は意図して触れられたと考えられるため、主制御部１０は、ステップＳ９９として、その候補領域に対応する文字を記号バッファに格納して候補選択判定処理を終了させる。
【０１２４】
ステップＳ９７において、タッチパネル２で検出された動作がタッチパネル２への接触を終了させる動作でなかった場合（ステップＳ９７，Ｎｏ）、主制御部１０は、ステップＳ１００として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま候補領域内で指を移動させる動作であったかを、タッチパネル２の検出結果に基づいて判定する。
【０１２５】
検出された動作がタッチパネル２への接触を保ったまま候補領域内で指を移動させる動作であった場合（ステップＳ１００，Ｙｅｓ）、主制御部１０は、ステップＳ１０１として、指が候補領域内で移動した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部１０は、ステップＳ１０２として、移動方向履歴に記録されている各方向ベクトルを参照して、指がタッチパネル２に触れたまま候補領域内で回転する軌跡を描いて移動したかを判定する。
【０１２６】
ここで、指がタッチパネル２に触れたまま候補領域内で回転する軌跡を描いて移動していた場合（ステップＳ１０２，Ｙｅｓ）、候補領域は意図的に触れられたと考えられるため、主制御部１０は、ステップＳ１０３として、その候補領域に対応する文字を記号バッファに格納して候補選択判定処理を終了させる。
【０１２７】
ステップＳ１００において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま候補領域内で指を移動させる動作でなかった場合（ステップＳ１００，Ｎｏ）、または、ステップＳ１０２において、指がタッチパネル２に触れたまま候補領域内で回転する軌跡を描いて移動していなかった場合（ステップＳ１０２，Ｎｏ）、主制御部１０は、特に処理を行わずに候補選択判定処理を終了させる。
【０１２８】
次に、図１８に示したフロー図を参照しながら、図１１のステップＳ２５および図１２のステップＳ２７で実行される候補取得処理について説明する。主制御部１０は、ステップＳ１１０として、入力文字バッファ１２から優先度が「１」である文字を取得し、取得した文字を組み合わせて第１候補文字列を生成する。
【０１２９】
例えば、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」という４つの文字列がこの順序で入力文字バッファ１２に格納され、「Ａ」と「Ｄ」の優先度が「１」で、「Ｂ」と「Ｃ」の優先度が「２」であったものとする。この場合、主制御部１０は、優先度が「１」の文字を格納順に連結して「ＡＤ」という第１候補文字列を生成する。
【０１３０】
続いて、主制御部１０は、ステップＳ１１１として、予測処理または変換処理を行って第１候補文字列から入力文字列の候補を取得する。ここで、予測処理とは、入力途中の文字列から利用者が入力しようとしている文字列を予測する処理であり、変換処理とは、例えば、英数字の組み合わせとして入力された文字列を漢字や仮名へ変換する処理である。
【０１３１】
予測処理の一例について説明する。例えば第１候補文字列が「ＡＢＣ」の場合、「Ａ＊Ｂ＊Ｃ＊」というパターンにマッチする文字列を辞書データ９Ｅから検索することにより、入力文字列の候補を取得することができる。ここで、「＊」は、任意の文字にマッチするワイルドカードである。すなわち、この例では、第１候補文字列と先頭の文字が一致し、第１候補文字列の２番目以降の各文字が、０個以上の文字を介在させて第１候補文字列と同じ順序で出現する文字列が、第１候補文字列とマッチすると文字列として検索される。
【０１３２】
このようにマッチングさせることにより、指によって意図的に触れられたことを判別できないボタンがあった場合でも、入力された文字列を正しく識別することができる可能性を高めることができる。
【０１３３】
入力文字列の候補として複数の文字列が得られた場合（ステップＳ１１２，Ｙｅｓ）、主制御部１０は、候補を絞り込むために、ステップＳ１１３として、入力文字バッファ１２から優先度が「２」である文字を取得し、取得した文字を第１候補文字列に補完して、１ないし複数の第２候補文字列を生成する。
【０１３４】
例えば、上記と同様に、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」という４つの文字列がこの順序で入力文字バッファ１２に格納され、「Ａ」と「Ｄ」の優先度が「１」で、「Ｂ」と「Ｃ」の優先度が「２」であったものとする。この場合、主制御部１０は、格納順序を守りつつ、第１候補文字列である「ＡＤ」に優先度が「２」の文字を少なくとも１つ補完して、「ＡＢＤ」、「ＡＣＤ」、「ＡＣＤＢ」という３つの第２候補文字列を生成する。
【０１３５】
続いて、主制御部１０は、ステップＳ１１４として、予測処理または変換処理を行って第２候補文字列から入力文字列の候補を取得する。
【０１３６】
そして、ステップＳ１１４において、いずれかの文字列が入力文字列の候補として得られた場合（ステップＳ１１５，Ｙｅｓ）、主制御部１０は、ステップＳ１１６として、得られた文字列を取得結果として候補取得処理を終了させる。一方、ステップＳ１１４において、いずれの文字列も取得されなかった場合（ステップＳ１１５，Ｎｏ）、主制御部１０は、ステップＳ１１７として、ステップＳ１１１において第１候補文字列から得られた入力文字列の候補を取得結果として候補取得処理を終了させる。
【０１３７】
ステップＳ１１１において入力文字列の候補として１つの文字列のみが得られた場合（ステップＳ１１２，Ｎｏ、かつ、ステップＳ１１８，Ｙｅｓ）、主制御部１０は、ステップＳ１１６として、得られた文字列を取得結果として候補取得処理を終了させる。ステップＳ１１１において入力文字列の候補として１つの文字列も得られなかった場合（ステップＳ１１８，Ｎｏ）、主制御部１０は、ステップＳ１１９として、第１候補文字列、すなわち、優先度が「１」の文字を格納順に連結した文字列を取得結果として候補取得処理を終了させる。
【０１３８】
上述してきたように、携帯電話端末１は、指をタッチパネル２から離さずに仮想キーボード上を移動させて文字を入力することを可能にし、また、指をタッチパネル２から離さずに入力候補の選択を可能にするため、高速な文字入力を実現することができる。
【０１３９】
なお、携帯電話端末１の構成は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、本実施例では、指をタッチパネル２から離れずに移動した軌跡上の各ボタンに対応する文字に優先度として「１」または「２」を対応付けることとしたが、文字に対応付ける優先度をさらに細分化してもよい。
【０１４０】
例えば、意図的に触れられたと判定されたボタンに対応する文字には優先度として「１」を対応付け、指が単に通過したに過ぎないと判定されたボタンに対応する文字については優先度として「２」〜「５」のいずれかの値を対応付けることとしてもよい。
【０１４１】
この場合、例えば、指が単に通過したに過ぎないと判定されたボタンに対応する文字について、指がボタンに進入したときの移動方向と指がボタンから出たときの移動方向の角度差が大きいほど高い優先度を対応付けることとしてもよい。角度差が大きいほど、意図的に触れられたボタンである可能性が高いためである。
【０１４２】
また、指が単に通過したに過ぎないと判定されたボタンに対応する文字について、指が通過した軌跡がボタンの中心に近いほど高い優先度を対応付けることとしてもよい。通過した軌跡がボタンの中心に近いほど、意図的に触れられたボタンである可能性が高いためである。
【０１４３】
そして、このように優先度を細分化した場合、候補取得処理においては、優先度の高い文字ほど第２候補文字列の作成時に優先的に使用される。具体的には、優先度が「１」の文字を組み合わせた第１候補文字列に複数の文字列がマッチした場合、まず、優先度が「２」の文字を第１候補文字列に補完して検索結果の絞込みが試みられる。そして、優先度が「２」の文字を補完しても複数の文字列がマッチした場合、優先度が「３」の文字を第１候補文字列にさらに補完して検索結果の絞込みが試みられる。
【０１４４】
以下同様に、検索結果が１つに絞り込まれるまで、優先度が高い順に補完に文字が利用される。このように、優先度を細分化することにより、意図的に触れられた可能性が高い順に文字を組み合わせて検証対象の文字列を生成することができるため、入力された文字列の識別精度を向上させることができる。
【０１４５】
また、図１１および図１２を参照しながら説明した文字入力処理では、主制御部１０がタッチパネル２から新たに検出結果を取得するたびに入力文字列の候補を取得して入力文字列候補表示領域１４に表示することとしているが、一回分の文字入力が完了するまではこのような表示は行わずに、一回分の文字入力が完了した後に候補取得処理で複数の文字列が入力文字列の候補として取得された場合にのみ検索された文字列を入力文字列候補表示領域１４に表示することとしてもよい。
【０１４６】
また、図１８を参照しながら説明した候補取得処理における予測処理は、前方一致等の他のマッチング方式を用いることとしてもよい。また、予測処理においては、文字列の結びつきの強さや使用頻度等に基づいて、既に入力された文字列と入力途中の文字列から、利用者が入力しようとしている文字列を予測することとしてもよい。
【０１４７】
また、図１８を参照しながら説明した候補取得処理における予測処理や変換処理では、図１９の例に示すように、文字の入力先であるテキスト入力領域１６等に、その時点で最も有力な入力文字列の候補を仮の値として表示しておき、記号領域１５内で特定の動作が検出された場合に、その値を入力された文字列として確定して受け付けた上で、その記号領域１５に対応する記号を入力された文字として受け付けることとしてもよい。例えば、図１９に示す例では、ｓ２１〜ｓ２２の連続方式で入力された「ＫＩ」に対応する「き」が仮の値としてテキスト入力領域１６に反転表示されている状態で、指がタッチパネル２に触れたまま記号領域１５Ａ内で移動方向を変更する動作がｓ２３において検出されたため、「き」が入力された文字として受け付けられ、さらに、記号領域１５Ａに対応する記号である句点が入力された文字として受け付けられている。
【０１４８】
また、上記の実施例では、指がタッチパネル２に接触したまま移動した軌跡上に表示されているボタンに対応する文字のうち、特定の動作が検出された位置に表示されているボタンに対応する文字を優先して入力された文字列を識別することとしているが、本発明は、これに限定されるものではなく、指がタッチパネル２に接触したまま移動した軌跡上またはその近隣に表示されているボタンに対応する文字を含む文字列を入力された文字列として受け付けるものであればよい。
【０１４９】
また、上記の実施例では、特定の動作として、ボタン領域内でタッチパネル２に接触する動作や、ボタン領域内でタッチパネル２から指を離す動作等について説明したが、これらの動作は特定の動作の例であり、他の動作を特定の動作として扱ってもよい。
【産業上の利用可能性】
【０１５０】
以上のように、本発明に係る文字入力装置、文字入力方法および文字入力プログラムは、文字の入力に有効であり、タッチパネルを用いて文字を高速に入力することが必要な場合に特に適している。
【符号の説明】
【０１５１】
１  携帯電話端末
２  タッチパネル
２Ａ  タッチセンサ
２Ｂ  表示部
３  入力部
３Ａ、３Ｂ、３Ｃ  ボタン
４  仮想キーボード
５  電源部
６  通信部
７  スピーカ
８  マイク
９  記憶部
９Ａ  メールプログラム
９Ｂ  ブラウザプログラム
９Ｃ  文字入力プログラム
９Ｄ  仮想キーボードデータ
９Ｅ  辞書データ
１０  主制御部
１１  ＲＡＭ
１２  入力文字バッファ
１３  一時バッファ
１４  入力文字列候補表示領域
１５、１５Ａ、１５Ｂ  記号領域
１６  テキスト入力領域
【図１】
0005615583.tif 000002
【図２】
0005615583.tif 000003
【図３】
0005615583.tif 000004
【図４】
0005615583.tif 000005
【図５】
0005615583.tif 000006
【図６】
0005615583.tif 000007
【図７−１】
0005615583.tif 000008
【図７−２】
0005615583.tif 000009
【図７−３】
0005615583.tif 000010
【図８】
0005615583.tif 000011
【図９】
0005615583.tif 000012
【図１０】
0005615583.tif 000013
【図１１】
0005615583.tif 000014
【図１２】
0005615583.tif 000015
【図１３】
0005615583.tif 000016
【図１４】
0005615583.tif 000017
【図１５】
0005615583.tif 000018
【図１６】
0005615583.tif 000019
【図１７】
0005615583.tif 000020
【図１８】
0005615583.tif 000021
【図１９】
0005615583.tif 000022