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