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