(57)【特許請求の範囲】
【請求項１】
タッチパネルを用いてユーザの選択を入力させる情報処理装置であって、
前記タッチパネル上における前記ユーザによりタッチされたタッチ点を取得する取得部と、
画面上の表示基準点の周囲に前記ユーザが前記タッチ点の移動により入力可能な複数の入力項目の表示を配置する配置部と、
前記ユーザの最初のタッチ点からのタッチ点の移動方向を検出する検出部と、
前記ユーザのタッチ点の移動方向と基準方向とのずれ角を算出する算出部と、
前記ずれ角に応じて前記複数の入力項目の前記表示の配置を補正する補正部と、
を備える情報処理装置。
【請求項２】
前記補正部は、前記ずれ角に応じて、前記複数の入力項目の前記表示を前記表示基準点の周りで回転させる
請求項１に記載の情報処理装置。
【請求項３】
前記ユーザが右手または左手のいずれかの手でタッチしたかを判定する判定部を更に備え、
前記配置部は、前記複数の入力項目のそれぞれに対し、前記タッチ点を中心として異なる角度の範囲を判定領域として割り当て、
前記補正部は、前記ユーザが右手または左手のいずれかの手でタッチしたかを判定した判定結果に基づいて、前記判定領域の位置を前記タッチ点の周りで回転させて補正する
請求項１または２に記載の情報処理装置。
【請求項４】
前記補正部は、前記ユーザが右手でタッチしたと判定した場合、前記判定領域を左方向に回転させて、前記ユーザが左手でタッチしたと判定した場合、前記判定領域を右方向に回転させる
請求項３に記載の情報処理装置。
【請求項５】
前記補正部は、前記判定領域の配置を回転させる回転角を、前記判定領域の角度の範囲に応じて決定する
請求項３または４に記載の情報処理装置。
【請求項６】
前記補正部は、前記ユーザが右手でタッチしたと判定した場合、前記複数の入力項目の前記表示を左方向に回転させて、前記ユーザが左手でタッチしたと判定した場合、前記複数の入力項目の前記表示を右方向に回転させる
請求項３から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記補正部は、前記判定部の判定結果を示す表示を前記複数の入力項目の前記表示と合わせて配置する
請求項３から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記タッチパネルは、制御信号を受けたことに応じて、制御信号により指定された位置を起伏させ、
前記補正部は、補正した前記判定領域の配置に応じて、前記タッチパネル上に起伏を形成させる
請求項３から７のいずれか１項に記載の情報処理装置。
【請求項９】
タッチパネルを用いてユーザの選択を入力させるコンピュータを、
前記タッチパネル上における前記ユーザによりタッチされたタッチ点を取得する取得部と、
画面上の表示基準点の周囲に前記ユーザが前記タッチ点の移動により入力可能な複数の入力項目の表示を配置する配置部と、
前記ユーザの最初のタッチ点からのタッチ点の移動方向を検出する検出部と、
前記ユーザのタッチ点の移動方向と基準方向とのずれ角を算出する算出部と、
前記ずれ角に応じて前記複数の入力項目の前記表示の配置を補正する補正部と、
として機能させるプログラム。
【請求項１０】
タッチパネルを用いてユーザの選択を入力させる情報処理装置における方法であって、
前記タッチパネル上における前記ユーザによりタッチされたタッチ点を取得する段階と、
画面上の表示基準点の周囲に前記ユーザが前記タッチ点の移動により入力可能な複数の入力項目の表示を配置する段階と、
前記ユーザの最初のタッチ点からのタッチ点の移動方向を検出する段階と、
前記ユーザのタッチ点の移動方向と基準方向とのずれ角を算出する段階と、
前記ずれ角に応じて前記複数の入力項目の前記表示の配置を補正する段階と、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム及び方法に関する。
【背景技術】
【０００２】
画面上に表示された文字等の複数の入力項目から、タッチパネルによっていずれかの入力項目を選択して入力する情報処理装置が知られている（例えば、特許文献１から５参照）。
特許文献１  特開２０１３−２０３３２号公報
特許文献２  特開２０１４−４５３８７号公報
特許文献３  特開２０１０−１４６０３２号公報
特許文献４  特開２０１２−９９１１８号公報
特許文献５  特開２０１３−２３５５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、ユーザが、情報処理装置を右手または左手の一方で保持して、当該保持している手の指で入力項目を選択して入力する場合、持ち方によって指の動かし方が異なり、誤入力が多いといった課題がある。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、タッチパネルを用いてユーザの選択を入力させる情報処理装置であって、前記タッチパネル上における前記ユーザによりタッチされたタッチ点を取得する取得部と、画面上の表示基準点の周囲に前記ユーザが前記タッチ点の移動により入力可能な複数の入力項目の表示を配置する配置部と、前記ユーザの最初のタッチ点からのタッチ点の移動方向を検出する検出部と、前記ユーザのタッチ点の移動方向と基準方向とのずれ角を算出する算出部と、前記ずれ角に応じて前記複数の入力項目の表示の配置を補正する補正部と、を備える情報処理装置、及び、情報処理装置に対応するプログラム及び方法を提供する。
【０００５】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】情報処理装置１０の全体構成図である。
【図２】英語の文字を入力するために表示部１６に表示される画面表示の一例である。
【図３】英語の文字入力中における第１の入力項目を選択した状態を説明する図である。
【図４】図３におけるタッチ点ＴＰと判定領域ＪＡとの関係を説明する図である。
【図５】英語の文字入力中における第１の入力項目を選択した後、第２の入力項目を選択する状態を説明する図である。
【図６】図５におけるタッチ点ＴＰの移動と判定領域ＪＡとの関係を説明する図である。
【図７】制御部１２による入力項目の入力処理のフローチャートである。
【図８】補正された判定領域ＪＡの図である。
【図９】補正された判定領域ＪＡの図である。
【図１０】入力項目の表示４６を補正した図である。
【図１１】図１０における判定領域ＪＡの図である。
【図１２】入力項目の表示４６の補正を説明する判定領域ＪＡの図である。
【図１３】入力項目の表示４６の補正を説明する表示４６の図である。
【図１４】入力項目の表示４６の補正を説明する判定領域ＪＡの図である。
【図１５】入力項目の表示４６の補正を説明する表示４６の図である。
【図１６】判定部２６の判定結果を示す表示の図である。
【図１７】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、情報処理装置１０の全体構成図である。情報処理装置１０は、タッチパネル１４を用いてユーザの選択を入力させる。情報処理装置１０は、ユーザがタッチパネル１４をタッチしたことに応じて、表示基準点の周囲に文字等の複数の入力項目を表示して、タッチ点からの移動（例えば、フリック）によって入力可能とする。そして、情報処理装置１０は、ユーザがタッチしながらタッチ点を移動したときの移動方向の基準方向からのずれ角に応じて、複数の入力項目の表示の配置を補正することによって、ユーザの誤入力を抑制する。図１に示すように、情報処理装置１０は、制御部１２と、タッチパネル１４と、表示部１６と、記憶部１８とを備える。情報処理装置１０の一例は、スマートフォン等のコンピュータである。
【０００９】
制御部１２の一例は、ＣＰＵ（Central Processing Unit）等の処理装置である。制御部１２は、取得部２０と、検出部２２と、算出部２４と、判定部２６と、配置部２８と、補正部３０と、確定部３２とを有する。制御部１２は、記憶部１８に記憶されたプログラムを読み込むことによって、取得部２０、検出部２２、算出部２４、判定部２６、配置部２８、補正部３０、及び、確定部３２として機能する。尚、取得部２０、検出部２２、算出部２４、判定部２６、配置部２８、補正部３０、及び、確定部３２の一部または全部を回路等のハードウェアによって構成してもよい。
【００１０】
取得部２０は、タッチパネル１４上におけるユーザによりタッチされたタッチ点ＴＰの位置に関する情報である位置情報を取得する。取得部２０は、タッチ点の位置情報を検出部２２、配置部２８及び確定部３２へ出力する。
【００１１】
検出部２２は、ユーザの最初のタッチ点ＴＰからのタッチ点の移動方向を検出する。例えば、検出部２２は、取得部２０から取得した最初のタッチ点ＴＰの位置情報と、最新のタッチ点ＴＰの位置情報との差分からユーザのタッチ点の移動方向を検出する。検出部２２は、検出したタッチ点の移動方向を算出部２４へ出力する。
【００１２】
算出部２４は、ユーザのタッチ点ＴＰの移動方向と予め定められた基準方向とのずれ角を算出する。例えば、算出部２４は、検出部２２から取得したタッチ点ＴＰの移動方向と、予め定められて記憶部１８に記憶された基準方向ＳＤｎ（ｎ＝１、２・・）との間の角度をずれ角として算出する。例えば、基準方向ＳＤは、入力項目を選択するための基準となる方向である。尚、基準方向のいずれかを明細書中で特定する必要がない場合、基準方向の符号をＳＤとする。算出部２４は、算出したずれ角ＤＡを補正部３０へ出力する。
【００１３】
判定部２６は、ユーザが右手または左手のいずれかの手でタッチしたかを判定する。例えば、判定部２６は、ユーザが右手または左手のいずれかの手でタッチしているかを既知の方法（例えば、特開２０１３−１２２７１１号公報）によって判定する。具体的には、判定部２６は、ユーザの親指及び人差し指の筐体上の位置と、情報処理装置１０の回転方向によって判定することができる。また、判定部２６は、筐体に接触センサを設け、当該接触センサによってユーザの指が接触している個所からユーザが保持している手が右手か左手かを判定してもよい。判定部２６は、ユーザから入力された右手または左手の情報によって、右手か左手かを判定してもよい。判定部２６は、タッチパネル１４上でタッチしている指の形状、特に、上下方向に対する傾きによって、ユーザが保持している手が右手か左手かを判定してもよい。判定部２６は、ユーザが右手または左手のいずれかの手でタッチしたかの結果を示す判定結果を補正部３０へ出力する。
【００１４】
配置部２８は、表示部１６の画面上の表示基準点の周囲にユーザがタッチ点ＴＰの移動により入力可能な複数の入力項目の表示を配置する。例えば、配置部２８は、取得部２０から取得したユーザの最初のタッチ点ＴＰの位置情報に対応付けて表示基準点を設定してもよい。この場合、配置部２８は、最初のタッチ点ＴＰから予め定められた距離だけ上方の位置に表示基準点を配置してもよい。配置部２８は、表示基準点をタッチ点によらず固定してもよい。配置部２８は、配置した複数の入力項目の位置に関する情報を補正部３０へ出力するとともに、当該複数の入力項目を表示部１６に表示させる。
【００１５】
また、配置部２８は、複数の入力項目のそれぞれに対し、最初のタッチ点ＴＰを基準として、当該入力項目が選択されたか否かを判定するための判定領域ＪＡｎ（ｎ＝０、１、２・・）を割り当てる。尚、判定領域のいずれかを明細書中で特定する必要がない場合、判定領域の符号をＪＡとする。例えば、配置部２８は、取得部２０から取得した最初のタッチ点ＴＰの位置情報を中心とする円である中心円の内側を複数の入力項目のうちの１つの判定領域ＪＡ０として割り当てる。尚、当該判定領域ＪＡは、入力項目を入力させるために表示部１６に表示されたボタンの形状に合わせて、四角形状であってもよい。更に、配置部２８は、複数の入力項目のそれぞれに対し、判定領域ＪＡ０の外側であって、タッチ点ＴＰを中心として異なる角度の範囲を判定領域ＪＡとして割り当てる。例えば、配置部２８は、次式（１）に基づいて、周囲の判定領域ＪＡの個数に応じて、角度の範囲の大きさを算出する。
角度の範囲の大きさ＝３６０／（周囲の判定領域ＪＡの個数）  ・・・（１）
従って、例えば、周囲の判定領域ＪＡの個数が４個の場合、角度の範囲の大きさは、９０°となる。配置部２８は、中心の判定領域ＪＡに関する情報、及び、割り当てた判定領域ＪＡの角度の範囲に関する情報を補正部３０へ出力する。
【００１６】
補正部３０は、ずれ角ＤＡに応じて複数の入力項目の表示の配置を補正する。例えば、補正部３０は、算出部２４から取得したずれ角ＤＡに応じて、複数の入力項目の表示を表示基準点の周りで回転させて、表示部１６に表示させる。例えば、補正部３０は、後述する複数の入力項目の表示の基準位置から、予め定められた角度範囲の間で、予め定められた回転方向へと表示部１６を回転させて補正する。予め定められた角度範囲の一例は、（１）式に示す角度の範囲の大きさの１／２である。予め定められた回転方向の一例は、持ち手及びタッチした手が左手の場合は右方向であって、持ち手及びタッチした手が右手の場合は左方向である。
【００１７】
また、補正部３０は、ユーザが右手または左手のいずれかの手でタッチしたかを判定した判定部２６の判定結果に基づいて、判定領域ＪＡの位置を最初のタッチ点ＴＰの周りで回転させて補正する。補正部３０は、ユーザが右手でタッチしたと判定した場合、判定領域ＪＡを左方向に回転させて、ユーザが左手でタッチしたと判定した場合、判定領域ＪＡを右方向に回転させる。これは、ユーザが例えば左手のみで情報処理装置１０を保持した場合、ユーザが当該左手の親指をタッチパネル１４にタッチさせつつ、上方に移動させると右斜め上方に移動することが多いことに対応するためである。補正部３０は、判定領域ＪＡの配置を回転させる回転角ＲＡを、周囲の判定領域ＪＡの角度の範囲に応じて決定する。例えば、補正部３０は、回転角ＲＡを次式（２）に基づいて算出する。
回転角ＲＡ＝角度の範囲の大きさ／（周囲の判定領域ＪＡの個数）  ・・・（２）
この回転角ＲＡは、ユーザが片手で情報処理装置１０を保持する場合において、情報処理装置１０の斜め下側を保持した場合、及び、情報処理装置１０の側部を保持した場合の両方に対応可能な角度である。補正部３０は、補正の有無に関わらず判定領域ＪＡの情報を確定部３２へ出力する。
【００１８】
確定部３２は、ユーザの入力によって入力項目を確定して、表示部１６に表示させる。例えば、確定部３２は、取得部２０から取得したユーザのタッチ点の位置情報及び補正部３０から取得した判定領域ＪＡの情報に基づいて、ユーザが入力した入力項目を確定する。
【００１９】
タッチパネル１４は、表示部１６の前面、即ち、ユーザ側の面に設けられている。尚、タッチパネル１４は、表示部１６と異なる位置に設けてもよい。タッチパネル１４は、ユーザのタッチを検出する。タッチパネル１４は、検出したユーザのタッチ点の座標を取得部２０へ出力する。
【００２０】
表示部１６は、制御部１２から入力される画像を表示する。例えば、表示部１６は、配置部２８、補正部３０及び確定部３２から取得した入力項目を入力するための画像を表示する。
【００２１】
記憶部１８は、制御部１２と接続されている。記憶部１８は、制御部１２から入力された情報を記憶して、記憶した情報を制御部１２から要求に応じて出力する。例えば、記憶部１８は、制御部１２が実行するプログラム及びプログラムの実行に必要なパラメータを記憶する。
【００２２】
図２は、入力項目として英語の文字を入力するために表示部１６に表示される画面表示の一例である。図２に示すように、配置部２８が、表示部１６に表示させる入力項目を入力するための画面は、入力領域４０と、候補領域４２と、選択領域４４とを含む。入力領域４０には、ユーザによって選択されて入力済みの文字が表示される。入力領域４０に表示される文字は、例えば、メールの文面等である。候補領域４２は、入力中の文字から予測した候補を表示する。選択領域４４は、入力する入力項目を選択するため複数のボタン形状の領域を含む。例えば、「ＰＱＲＳ  ７」が表示されているボタンの領域をタッチすることによって、ユーザは、「ＰＱＲＳ  ７」のいずれかの文字を入力項目として選択して入力することができる。
【００２３】
図３は、英語の文字入力中における第１の入力項目を選択した状態を説明する図である。図４は、図３におけるタッチ点ＴＰと判定領域ＪＡとの関係を説明する図である。第１の入力項目の一例は、複数の文字を束ねた文字群である。図３に示すように、配置部２８は、ユーザの指ＦＧによる最初のタッチ点ＴＰが、表示部１６の画面上で「ＰＱＲＳ  ７」が表示されている領域と判定すると、入力項目である「Ｐ」、「Ｑ」、「Ｒ」、「Ｓ」、及び「７」の５個の文字を束ねた文字群を入力項目の表示４６として表示部１６に表示させる。例えば、配置部２８は、入力項目の表示４６の中心が予め定められた表示基準点と一致するように、入力項目の表示４６を配置する。図３に示す表示基準点は、最初のタッチ点ＴＰから予め定められた距離だけ上方とする。配置部２８は、「Ｐ」を入力項目の表示４６の中心に表示して、「Ｑ」を「Ｐ」の左方、「Ｒ」を「Ｐ」の上方、「Ｓ」を「Ｐ」の右方、「７」を「Ｐ」の下方に表示する。配置部２８は、最初に入力項目の表示４６を表示する場合に、中心の「Ｐ」が現在選択されている入力項目であることを示すように当該「Ｐ」を四角で囲む等の方法で強調する。尚、図３に示す複数の入力項目の表示４６が、補正されていない表示４６の基準位置とする。
【００２４】
また、図４に示すように、配置部２８は、黒丸で示すユーザの最初のタッチ点ＴＰに対応付けて判定領域ＪＡを割り当てる。具体的には、配置部２８は、最初のタッチ点ＴＰを中心とする中心円の内側を「Ｐ」の判定領域ＪＡ０として割り当てる。配置部２８は、最初のタッチ点ＴＰを基準にして、残りの入力項目のそれぞれに対して基準方向ＳＤを設定する。例えば、配置部２８は、残りの入力項目が「Ｑ」、「Ｒ」、「Ｓ」、及び「７」の４個の場合、９０°（＝３６０／４）ずつ回転させた方向を基準方向ＳＤとして設定する。配置部２８は、複数の基準方向ＳＤのいずれか１個を上方に設定する。図４に示す例では、配置部２８は、「Ｒ」の基準方向ＳＤ２を上方に設定する。従って、配置部２８は、「Ｑ」の基準方向ＳＤ１を左方向に、「Ｓ」の基準方向ＳＤ３を右方向に、「７」の基準方向ＳＤ４を下方向に設定する。配置部２８は、各基準方向ＳＤから４５°（＝角度の範囲の大きさの１／２）ずつ右方向及び左方向に回転させた範囲を各入力項目の角度の範囲として割り当てる。即ち、配置部２８は、中心円よりも外側であって、図４に示す扇形の境界線によって区切られた範囲である角度の範囲を、入力項目「Ｑ」、「Ｒ」、「Ｓ」及び「７」の判定領域ＪＡｎ（ｎ＝１、２、３、４）として割り当てる。
【００２５】
図５は、英語の文字入力中における第１の入力項目を選択した後、第２の入力項目を選択する状態を説明する図である。図６は、図５におけるタッチ点ＴＰの移動と判定領域ＪＡとの関係を説明する図である。第２の入力項目の一例は、第１の入力項目の文字群に含まれる複数の文字から選択された単一の文字である。尚、図５に示す例は、補正部３０が、入力項目の表示４６及び判定領域ＪＡを補正していない場合である。ユーザは、指ＦＧでタッチパネル１４にタッチしつつ、図５に点線で示す指ＦＧの位置から太線矢印に沿って実線で示す指ＦＧの位置まで上方に指を移動させたとする。
【００２６】
この場合、図６に示すように、確定部３２は、「Ｐ」の判定領域ＪＡ０の外にタッチ点ＴＰが移動して、「Ｒ」の判定領域ＪＡ２までタッチ点ＴＰが移動したと判定すると、ユーザが現在選択している入力項目が「Ｒ」であると判定する。この状態では、確定部３２は、入力項目の表示４６において、「Ｒ」の周りを四角で囲み、ユーザに現在の選択されている入力項目を知らせる。
【００２７】
図７は、制御部１２による入力項目の入力処理のフローチャートである。図８及び図９は、補正された判定領域ＪＡの図である。図１０は、入力項目の表示４６を補正した図である。図１１は、図１０における判定領域ＪＡの図である。図１２は、入力項目の表示４６の補正を説明する判定領域ＪＡの図である。図１３は、入力項目の表示４６の補正を説明する表示４６の図である。図１４は、入力項目の表示４６の補正を説明する判定領域ＪＡの図である。図１５は、入力項目の表示４６の補正を説明する表示４６の図である。入力項目の入力処理が開始すると、図２に示す画面が表示部１６に表示される。
【００２８】
図７に示すように、判定部２６は、情報処理装置１０を持つユーザの持ち手が右手か左手か判定する（Ｓ１０）。判定部２６は、判定した判定結果を補正部３０へ出力する。
【００２９】
取得部２０は、タッチパネル１４から取得したユーザのタッチ点ＴＰの位置情報に基づいて、ユーザがタッチパネル１４の選択領域４４にタッチしたか否かを判定する（Ｓ１２）。取得部２０は、ユーザが選択領域４４にタッチしたと判定するまで待機状態となる（Ｓ１２：Ｎｏ）。例えば、図３に示すようにユーザが、「ＰＱＲＳ  ７」が表示されている領域にタッチすると、取得部２０は、ユーザが選択領域４４にタッチしたと判定して（Ｓ１２：Ｙｅｓ）、最初のタッチ点ＴＰの位置情報を検出部２２、配置部２８、及び、確定部３２へ出力する。
【００３０】
配置部２８は、取得部２０から最初のタッチ点ＴＰの位置情報を取得すると、入力可能な入力項目の表示４６を決定して、図３に示すように表示部１６に表示させるとともに、図４に示すように最初のタッチ点ＴＰを中心として中心の判定領域ＪＡ０及び周囲の判定領域ＪＡ１からＪＡ４を割り当てる（Ｓ１４）。尚、配置部２８は、判定領域ＪＡの割り当てとともに、基準方向ＳＤも設定する。
【００３１】
補正部３０は、判定部２６の判定結果に応じて、判定領域ＪＡを補正する。具体的には、補正部３０は、判定部２６から持ち手が左手との判定結果を取得している場合（Ｓ１６：Ｙｅｓ）、図８に示すように、判定領域ＪＡを右方向に回転角ＲＡだけ回転させる（Ｓ１８）。図８に示すように角度の範囲の大きさが９０°であって周囲の判定領域ＪＡの個数が４個の場合、式（２）から回転角ＲＡは、２２．５°となる。尚、補正部３０は、基準方向ＳＤを補正しない。補正部３０は、判定領域ＪＡの補正に関する情報を確定部３２へ出力する。補正に関する情報は、判定領域ＪＡを回転角ＲＡ及び回転させた方向である。
【００３２】
一方、補正部３０は、判定部２６から持ち手が右手との判定結果を取得すると（Ｓ２０：Ｙｅｓ）、図９に示すように、判定領域ＪＡを左方向に回転角ＲＡだけ回転させる（Ｓ２２）。補正部３０は、補正に関する情報を確定部３２へ出力する。
【００３３】
補正部３０は、判定部２６から持ち手が判定不能との判定結果を取得すると、（Ｓ１６：Ｎｏ、Ｓ２０：Ｎｏ）、図４に示す判定領域ＪＡを補正しない。
【００３４】
取得部２０は、タッチパネル１４から取得したタッチ点ＴＰの位置情報に基づいて、タッチ点ＴＰが移動したか否かを判定する（Ｓ２４）。取得部２０は、図１０に示すように、タッチ点ＴＰが移動したと判定すると（Ｓ２４：Ｙｅｓ）、現在のタッチ点ＴＰの位置情報を検出部２２、配置部２８、及び、確定部３２へ出力する。
【００３５】
検出部２２は、取得部２０から最初のタッチ点ＴＰ及び現在のタッチ点ＴＰの位置情報を取得すると、最初のタッチ点ＴＰ及び現在のタッチ点ＴＰの位置情報の差分からタッチ点ＴＰの移動方向を検出する（Ｓ２６）。検出部２２は、検出した移動方向を算出部２４へ出力する。
【００３６】
算出部２４は、基準方向ＳＤに対する、検出部２２から取得した移動方向のずれ角ＤＡを算出する（Ｓ２８）。ここで、図８に示すように、基準方向ＳＤが４方向存在する場合、算出部２４は、移動方向との間の角度が最も小さくなる基準方向ＳＤに対する移動方向のずれ角ＤＡを算出する。図１０及び図１１に示す例では、算出部２４は、基準方向ＳＤ２に対する移動方向のずれ角ＤＡを算出する。尚、ずれ角ＤＡは、基準方向ＳＤと移動方向との間の角度の大きさであって、正負を有さない。従って、ずれ角ＤＡは、０°から４５°の間の値となる。算出部２４は、算出したずれ角ＤＡを補正部３０へ出力する。
【００３７】
補正部３０は、判定部２６の判定結果に応じて、入力項目の表示４６を補正する（Ｓ３２）。具体的には、補正部３０は、持ち手が左手の場合、図１０及び図１１に示すように、入力項目の表示４６を表示基準点の周りで右方向にずれ角ＤＡの大きさだけ回転させて補正して、表示部１６に表示させる。上述したように、ずれ角ＤＡは０°から４５°の間の大きさを有する。従って、補正部３０は、持ち手が左手の場合、図３に示す基準位置の状態から、表示基準点の周りで、右方向に０°から４５°の間で入力項目の表示４６を回転させる。ここで、図１２に示すように、基準方向ＳＤ２と移動方向との間の角度が４５°以上となり、算出部２４が、基準方向ＳＤ３と移動方向との間の角度をずれ角ＤＡとして算出している場合、補正部３０は、図３に示す基準位置の表示４６の状態から、右方向にずれ角ＤＡの大きさだけ表示４６を回転させた状態に補正する。これにより、図１２及び図１３に示すように、表示基準点と入力項目「Ｒ」の中心とを連結した直線と基準方向ＳＤ２との間の角度は、基準方向ＳＤ３と移動方向との間のずれ角ＤＡとなる。ここで、右方向に移動する移動方向と基準方向ＳＤ２との間の角度が０°から９０°まで変化した場合を考えると、補正部３０は、当該角度が０°から４５°まで変化している間は表示４６を右方向へと徐々に回転させて、その後、当該角度が４５°から９０°まで変化している間は表示４６を左方向へと徐々に回転させる。補正部３０は、持ち手が右手の場合、入力項目の表示４６を表示基準点の周りで左方向にずれ角ＤＡの大きさだけ回転させて補正して、表示部１６に表示させる。従って、補正部３０は、持ち手が右手の場合、図３に示す状態から、表示基準点の周りで、左方向に０°から４５°の間で入力項目の表示４６を回転させる。補正部３０は、入力項目の表示４６の補正に関する情報を確定部３２へ出力する。
【００３８】
確定部３２は、取得部２０から取得したタッチ点ＴＰの位置情報、及び、補正部３０から取得した補正に関する情報から判断される現在の判定領域ＪＡに基づいて、現在の選択されている入力項目を判定する。具体的には、確定部３２は、最初のタッチ点ＴＰからの移動距離が判定領域ＪＡ０の半径未満ならば（Ｓ４２：Ｙｅｓ）、中心の判定領域ＪＡ０の入力項目「Ｐ」が選択されていると判定する（Ｓ４４）。一方、確定部３２は、最初のタッチ点ＴＰからの移動距離が判定領域ＪＡ０の半径以上ならば（Ｓ４２：Ｎｏ）、移動方向が周囲の判定領域ＪＡのうちいずれの角度の範囲内かを判定して、選択されている入力項目を判定する（Ｓ４６）。尚、確定部３２は、入力項目「Ｐ」のボタンと入力項目「Ｐ」の判定領域ＪＡ０とを同じ領域に設定している場合、選択領域４４に表示されている入力項目「Ｐ」のボタン内であれば、入力項目「Ｐ」が選択されていると判定してもよい。この場合、確定部３２は、入力項目「Ｐ」のボタン外であれば、周囲の判定領域ＪＡのいずれかが選択されていると判定してもよい。また、確定部３２は、現在選択していると判定した入力項目の周りを四角で囲むように表示部１６に表示させる。例えば、図１２に示すように、タッチ点ＴＰの移動方向が、入力項目「Ｒ」と隣接する入力項目「Ｓ」との間の境界の近傍であって、入力項目「Ｒ」の判定領域ＪＡ２内にあるとする。この場合、確定部３２は、図１３に示すように入力項目「Ｒ」を四角で囲む。次に、図１２に示す状態から、図１４に示すように、移動方向が隣接する入力項目「Ｓ」の判定領域ＪＡ３となるまで、ユーザがタッチ点ＴＰを移動させたとする。この場合、確定部３２は、移動方向が判定領域ＪＡの境界を越えたと判定して、入力項目「Ｒ」を囲っていた四角を解除して、図１５に示すように入力項目「Ｓ」を四角で囲む。
【００３９】
次に、取得部２０は、タッチ点ＴＰが離脱したか否かを判定する（Ｓ４８）。取得部２０は、ユーザがタッチパネル１４から指を離して、タッチ点ＴＰが離脱したと判定すると（Ｓ４８：Ｙｅｓ）、離脱した旨を確定部３２へ出力する。
【００４０】
確定部３２は、取得部２０からタッチ点ＴＰが離脱した旨の情報を取得すると、現在選択されている入力項目を確定して、入力領域４０に表示させる（Ｓ５０）。
【００４１】
一方、取得部２０は、タッチ点ＴＰが離脱していないと判定すると（Ｓ４８：Ｎｏ）、ステップＳ２４以降を再度実行する。
【００４２】
尚、ステップＳ２４において、取得部２０は、タッチ点ＴＰが移動していないと判定すると（Ｓ２４：Ｎｏ）、ステップＳ４８を実行する。
【００４３】
上述したように、情報処理装置１０では、補正部３０が、タッチ点ＴＰの移動方向と基準方向ＳＤとのずれ角ＤＡに応じて、入力項目の表示４６を補正する。これにより、情報処理装置１０は、ユーザのタッチ点ＴＰの移動方向に対応させて現在選択されている入力項目を表示させることができる。この結果、情報処理装置１０は、タッチ点ＴＰの移動方向が基準方向からずれていても、ユーザが選択しようとしている入力項目を容易に認識させることができるので、入力項目の誤入力を低減できる。この結果、情報処理装置１０は、ユーザフレンドリーなインターフェイスを提供できる。特に、情報処理装置１０が大きく片手で持つことが困難な場合でも、誤入力を低減できる。
【００４４】
情報処理装置１０では、補正部３０が入力項目の表示４６を０°から４５°の狭い範囲で回転させるので、ユーザは文字を囲む四角の位置を見れば、文字を見なくてもいずれの文字が選択されているかを直感的に認識できる。また、情報処理装置１０では、ずれ角ＤＡが４５°を跨ぐと、即ち、ずれ角ＤＡを算出するための基準方向が変わると、補正部３０が入力項目の表示４６の回転方向を逆転させるので、ユーザは４５°のずれ角ＤＡの近傍に設定されている判定領域ＪＡの境界を容易に認識することができる。
【００４５】
また、情報処理装置１０では、補正部３０が、ユーザが情報処理装置１０を保持している手が左手か右手かで判定領域ＪＡを回転させて補正するので、左手または右手のいずれか一方で保持した場合に生じる、基準方向ＳＤからの移動方向のずれに対応できるので、より誤入力を低減できる。従って、情報処理装置１０は、ユーザが片手で保持した場合でも、基準方向ＳＤに沿って指を移動させなければならないというユーザの心理的負担と、これに伴う指の無理な動きを軽減できる。
【００４６】
上述した実施形態の一部を変更した形態について説明する。
【００４７】
図１６は、判定部２６の判定結果を示す表示の図である。補正部３０は、判定部２６の判定結果を示す表示を複数の入力項目の表示４６と合わせて配置してもよい。例えば、補正部３０は、判定部２６の判定結果が左手を示す場合、図１６に示すように、左手の親指の表示４８を入力項目の表示４６と合わせて配置してもよい。これにより、情報処理装置１０は、現在判定している手がいずれかをユーザに認識させることができる。
【００４８】
タッチパネル１４は、制御信号を受けたことに応じて、制御信号により指定された位置を起伏させてもよい。例えば、タッチパネル１４は、前面に多数のミクロサイズの孔が形成されているパネルを有し、当該孔に充填された気体または液体等の流体の圧力を制御することによって、起伏を形成させる。この場合、補正部３０は、補正した判定領域ＪＡの配置に応じて、タッチパネル１４上に起伏を形成させる。例えば、補正部３０は、補正した判定領域ＪＡの境界を凸状にする。
【００４９】
上述の実施形態では、判定領域を回転させて補正する形態を示したが、判定領域は補正しなくてもよい。
【００５０】
上述の実施形態では、英語の文字入力について説明したが、日本語等の他の言語の文字入力、及び、他の入力項目の入力においても、上述の実施形態を適用してもよい。
【００５１】
上述の実施形態では、判定部２６が右手及び左手を判定する例を示したが、右手及び左手の判定をすることなく、入力項目の表示４６をずれ角に応じて補正、例えば、回転させて補正してもよい。
【００５２】
図１７は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、情報処理装置１０の一例である。コンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示部２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、及び、ハードディスクドライブ２０４０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、メモリドライブ２０５０及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００５３】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示部２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００５４】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用する表示プログラム等のプログラム及びデータを格納する。
【００５５】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、メモリドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。メモリドライブ２０５０は、メモリカード２０９０から例えば表示プログラム等のプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、メモリドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００５６】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、メモリカード２０９０、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。表示プログラム等のプログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００５７】
コンピュータ１９００にインストールされ、コンピュータ１９００を情報処理装置１０として機能させるプログラムは、取得モジュール、検出モジュール、算出モジュール、判定モジュール、配置モジュール、補正モジュール、及び、確定モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、取得モジュール、検出モジュール、算出モジュール、判定モジュール、配置モジュール、補正モジュール、及び、確定モジュールとしてそれぞれ機能させる。
【００５８】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である取得モジュール、検出モジュール、算出モジュール、判定モジュール、配置モジュール、補正モジュール、及び、確定モジュールとして機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の情報処理装置１０が構築される。
【００５９】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、又はメモリカード２０９０等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００６０】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、メモリドライブ２０５０（メモリカード２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００６１】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。
【００６２】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、メモリカード２０９０の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００６３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００６４】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００６５】
１０  情報処理装置、        １２  制御部、        １４  タッチパネル、        １６  表示部、        １８  記憶部、        ２０  取得部、        ２２  検出部、        ２４  算出部、        ２６  判定部、        ２８  配置部、        ３０  補正部、        ３２  確定部、        ４０  入力領域、        ４２  候補領域、        ４４  選択領域、        ４６  表示、        ４８  表示、        １９００  コンピュータ、        ２０００  ＣＰＵ、        ２０１０  ＲＯＭ、        ２０２０  ＲＡＭ、        ２０３０  通信インターフェイス、        ２０４０  ハードディスクドライブ、        ２０５０  メモリドライブ、        ２０７０  入出力チップ、        ２０７５  グラフィック・コントローラ、        ２０８０  表示部、        ２０８２  ホスト・コントローラ、        ２０８４  入出力コントローラ、        ２０９０  メモリカード
【図１】
0005971817.tif 000002
【図２】
0005971817.tif 000003
【図３】
0005971817.tif 000004
【図４】
0005971817.tif 000005
【図５】
0005971817.tif 000006
【図６】
0005971817.tif 000007
【図７】
0005971817.tif 000008
【図８】
0005971817.tif 000009
【図９】
0005971817.tif 000010
【図１０】
0005971817.tif 000011
【図１１】
0005971817.tif 000012
【図１２】
0005971817.tif 000013
【図１３】
0005971817.tif 000014
【図１４】
0005971817.tif 000015
【図１５】
0005971817.tif 000016
【図１６】
0005971817.tif 000017
【図１７】
0005971817.tif 000018