(57)【特許請求の範囲】
【請求項１】
検出面上における物体の位置を検出するタッチセンサに対して、ユーザが前記検出面上において前記物体を移動させる移動操作を行った場合に、当該移動操作における前記物体の移動距離を取得する移動距離取得手段、
前記移動操作の操作態様に関する値を取得する操作態様値取得手段、及び
前記取得した移動距離と、前記取得した操作態様に関する値と、に基づいて算出される値を、前記ユーザが行った移動操作による操作入力量として出力する操作入力量出力手段、
としてコンピュータを機能させるためのプログラムであって、
前記操作入力量出力手段は、前記移動距離取得手段が取得する前記物体の移動距離が所定値を超える場合には、当該所定値を前記移動操作による前記物体の移動距離の値として用いて、前記操作入力量の値を算出する
ことを特徴とするプログラム。
【請求項２】
請求項１記載のプログラムにおいて、
前記移動操作の操作態様に関する値は、当該移動操作における前記物体の移動速度を示す値である
ことを特徴とするプログラム。
【請求項３】
請求項２記載のプログラムにおいて、
前記操作態様値取得手段は、前記操作態様に関する値を取得する時点の直前における前記物体の移動速度を示す値を、前記操作態様に関する値として取得する
ことを特徴とするプログラム。
【請求項４】
請求項１記載のプログラムにおいて、
前記移動操作の操作態様に関する値は、当該移動操作の際に前記ユーザが前記検出面に前記物体を押しつける圧力を示す値である
ことを特徴とするプログラム。
【請求項５】
請求項１から４のいずれか一項記載のプログラムにおいて、
前記移動距離取得手段は、前記物体を検出していない状態において最初に前記物体の検出を開始した時点における前記物体の検出位置を基準位置とし、前記移動距離の取得を行う時点における前記物体の検出位置を現在位置として、前記基準位置から前記現在位置までの前記物体の移動距離を取得する
ことを特徴とするプログラム。
【請求項６】
検出面上における物体の位置を検出するタッチセンサに対して、ユーザが前記検出面上において前記物体を移動させる移動操作を行った場合に、当該移動操作における前記物体の移動距離を取得する移動距離取得手段、
前記移動操作の操作態様に関する値を取得する操作態様値取得手段、及び
前記取得した移動距離と、前記取得した操作態様に関する値と、に基づいて算出される値を、前記ユーザが行った移動操作による操作入力量として出力する操作入力量出力手段、
としてコンピュータを機能させるためのプログラムであって、
前記移動距離取得手段は、前記移動操作の間に前記物体の検出位置の所定の基準軸に沿った移動方向が変化した場合に、当該変化の時点における前記物体の検出位置に対応する位置を基準位置とし、前記移動距離の取得を行う時点における前記物体の検出位置を現在位置として、前記基準位置から前記現在位置までの距離を前記移動操作による前記物体の移動距離として取得する
ことを特徴とするプログラム。
【請求項７】
請求項６記載のプログラムにおいて、
前記移動距離取得手段は、前記変化の時点における前記物体の検出位置の前記基準軸に沿った位置座標が、前記基準位置の前記基準軸に沿った位置座標となるよう前記基準位置を決定し、当該基準位置から前記現在位置までの前記物体の移動距離を取得する
ことを特徴とするプログラム。
【請求項８】
請求項６又は７記載のプログラムにおいて、
前記操作入力量出力手段は、前記移動距離取得手段が取得する前記物体の移動距離が所定値を超える場合には、当該所定値を前記移動操作による前記物体の移動距離の値として用いて、前記操作入力量の値を算出する
ことを特徴とするプログラム。
【請求項９】
検出面上における物体の位置を検出するタッチセンサに対して、ユーザが前記検出面上において前記物体を移動させる移動操作を行った場合に、当該移動操作における前記物体の移動距離を取得する移動距離取得手段、
前記移動操作の操作態様に関する値を取得する操作態様値取得手段、及び
前記取得した移動距離と、前記取得した操作態様に関する値と、に基づいて算出される値を、前記ユーザが行った移動操作による操作入力量として出力する操作入力量出力手段、
としてコンピュータを機能させるためのプログラムであって、
前記移動距離取得手段は、前記移動操作の間に前記物体の検出位置の移動方向が変化した場合に、当該変化の時点における前記物体の検出位置を基準位置とし、前記移動距離の取得を行う時点における前記物体の検出位置を現在位置として、前記基準位置から前記現在位置までの距離を前記移動操作による前記物体の移動距離として取得する
ことを特徴とするプログラム。
【請求項１０】
請求項９記載のプログラムにおいて、
前記操作入力量出力手段は、前記移動距離取得手段が取得する前記物体の移動距離が所定値を超える場合には、当該所定値を前記移動操作による前記物体の移動距離の値として用いて、前記操作入力量の値を算出する
ことを特徴とするプログラム。
【請求項１１】
請求項１から１０のいずれか一項記載のプログラムにおいて、
前記コンピュータを、
前記出力される操作入力量に応じた量だけ、表示画面に表示される画像内の画像要素を移動させる表示画像制御手段としてさらに機能させる
ことを特徴とするプログラム。
【請求項１２】
請求項１から１１のいずれか一項記載のプログラムが記憶された、コンピュータ読み取り可能な情報記憶媒体。
【請求項１３】
検出面上における物体の位置を検出するタッチセンサから、当該物体の検出位置を取得する手段と、
前記ユーザが前記検出面上において前記物体を移動させる移動操作を行った場合に、前記検出位置を用いて、当該移動操作における前記物体の移動距離を取得する移動距離取得手段と、
前記移動操作の操作態様に関する値を取得する操作態様値取得手段と、
前記取得した移動距離と、前記取得した操作態様に関する値と、に基づいて算出される値を、前記ユーザが行った移動操作による操作入力量として出力する操作入力量出力手段と、
を含み、
前記操作入力量出力手段は、前記移動距離取得手段が取得する前記物体の移動距離が所定値を超える場合には、当該所定値を前記移動操作による前記物体の移動距離の値として用いて、前記操作入力量の値を算出する
ことを特徴とする情報入力装置。
【請求項１４】
検出面上における物体の位置を検出するタッチセンサに対して、ユーザが前記検出面上において前記物体を移動させる移動操作を行った場合に、当該移動操作における前記物体の移動距離を取得するステップと、
前記移動操作の操作態様に関する値を取得するステップと、
前記取得した移動距離と、前記取得した操作態様に関する値と、に基づいて算出される値を、前記ユーザが行った移動操作による操作入力量として出力する操作入力量出力ステップと、
を含み、
前記操作入力量出力ステップでは、前記移動距離取得手段が取得する前記物体の移動距離が所定値を超える場合に、当該所定値を前記移動操作による前記物体の移動距離の値として用いて、前記操作入力量の値を算出する
ことを特徴とする情報入力装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが行う操作入力を受け付ける情報入力装置、その制御方法、プログラム、及び情報記憶媒体に関する。
【背景技術】
【０００２】
ユーザが行った操作入力を受け付けて各種の情報処理を行う情報入力装置の一つとして、タッチセンサを用いたものが知られている。タッチセンサは、ユーザが物体（例えばユーザの指やスタイラスなど）を検出面に接触又は近接させた場合に、当該物体の位置を検出するセンサである。ユーザが、例えば自分の指をタッチセンサの検出面上において任意の方向に移動させる操作を行うことで、情報入力装置は、その移動方向及び当該方向に対する移動距離を、ユーザの操作入力の内容として受け付けることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
情報入力装置が単にタッチセンサ上の移動距離をユーザの操作入力として受け付けるだけでは、操作のバリエーションが限られてしまい、ユーザにとって操作入力がしにくい場合がある。例えばこのような情報入力装置を用いて、一定方向への操作入力を継続して行いたい場合には、ユーザは自分の指等を何度もタッチセンサの検出面に接触させ直して同じ操作を繰り返す必要が生じる。また、大きな量の操作入力を行いたい場合には、ある程度大きな距離だけ自分の指等を動かす必要があるが、このような操作はタッチセンサの大きさやタッチセンサが配置された筐体のユーザによる保持の仕方によっては行いにくい場合も考えられる。
【０００４】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、ユーザがタッチセンサを用いて操作入力を行う場合に、操作入力をしやすくすることのできる情報入力装置、その制御方法、その制御プログラム、及び当該プログラムを格納した情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００５】
本発明に係るプログラムは、検出面上における物体の位置を検出するタッチセンサに対して、ユーザが前記検出面上において前記物体を移動させる移動操作を行った場合に、当該移動操作における前記物体の移動距離を取得する移動距離取得手段、前記移動操作の操作態様に関する値を取得する操作態様値取得手段、及び前記取得した移動距離と、前記取得した操作態様に関する値と、に基づいて算出される値を、前記ユーザが行った移動操作による操作入力量として出力する操作入力量出力手段、としてコンピュータを機能させるためのプログラムである。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。
【０００６】
また、本発明に係る情報入力装置は、検出面上における物体の位置を検出するタッチセンサから、当該物体の検出位置を取得する手段と、前記ユーザが前記検出面上において前記物体を移動させる移動操作を行った場合に、前記検出位置を用いて、当該移動操作における前記物体の移動距離を取得する移動距離取得手段と、前記移動操作の操作態様に関する値を取得する操作態様値取得手段と、前記取得した移動距離と、前記取得した操作態様に関する値と、に基づいて算出される値を、前記ユーザが行った移動操作による操作入力量として出力する操作入力量出力手段と、を含むことを特徴とする。
【０００７】
また、本発明に係る情報入力装置の制御方法は、検出面上における物体の位置を検出するタッチセンサに対して、ユーザが前記検出面上において前記物体を移動させる移動操作を行った場合に、当該移動操作における前記物体の移動距離を取得するステップと、前記移動操作の操作態様に関する値を取得するステップと、前記取得した移動距離と、前記取得した操作態様に関する値と、に基づいて算出される値を、前記ユーザが行った移動操作による操作入力量として出力するステップと、を含むことを特徴とする。
【図面の簡単な説明】
【０００８】
【図１Ａ】本発明の実施の形態に係る情報入力装置の外観を示す斜視図である。
【図１Ｂ】本発明の実施の形態に係る情報入力装置の外観を示す斜視図である。
【図２】本実施形態に係る情報入力装置の内部構成を示すブロック図である。
【図３】本実施形態に係る情報入力装置の機能例を示す機能ブロック図である。
【図４】基準位置の設定方法の一例を示す図である。
【図５Ａ】基準位置の設定方法の別の例を示す図である。
【図５Ｂ】基準位置の設定方法のさらに別の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図面に基づき詳細に説明する。
【００１０】
図１Ａ及び図１Ｂは、本発明の一実施形態に係る情報入力装置１の外観を示す斜視図であって、図１Ａは情報入力装置１を表面（正面）側から見た様子を、図１Ｂは裏面側から見た様子を、それぞれ示している。なお、以下では、本実施形態に係る情報入力装置１が携帯型ゲーム機である場合について、説明する。
【００１１】
これらの図に示されるように、情報入力装置１の筐体１０は、全体として略矩形の平板状の形状をしており、その表面にはタッチパネル１２が設けられている。タッチパネル１２は、略矩形の形状をしており、ディスプレイ１２ａと表面タッチセンサ１２ｂとを含んで構成されている。ディスプレイ１２ａは、液晶表示パネルや有機ＥＬ表示パネル等、各種の画像表示デバイスであってよい。
【００１２】
表面タッチセンサ１２ｂは、ディスプレイ１２ａに重ねて配置されており、ディスプレイ１２ａの表示面に対応する形状及び大きさの略矩形の検出面を備えている。そして、この検出面上にユーザの指やスタイラス等の物体が接触した場合に、当該物体の接触位置を検出する。なお、表面タッチセンサ１２ｂは、必ずしも物体が検出面に接触した場合だけ物体の位置を検出するのではなく、検出面上の検出可能範囲内まで物体が近接した場合に、当該物体の検出面に対する位置を検出してもよい。また、表面タッチセンサ１２ｂは、例えば静電容量式や感圧式、光学式など、検出面上における物体の位置を検出可能なデバイスであれば、どのような方式のものであってもよい。また、表面タッチセンサ１２ｂは、物体が検出面に接触する場合に、当該物体が検出面を押さえる圧力を検知する感圧機能を備えてもよい。あるいは、表面タッチセンサ１２ｂが複数箇所での接触を検知可能な多点検知型タッチセンサの場合、情報入力装置１は、物体の接触が検知された位置の範囲から、タッチセンサに物体が押しつけられる際の強さを検知してもよい。ユーザの指などの柔らかい物体が検出面に接触する場合、通常、物体を検出面に押しつける力が強いほど、物体の接触面積が大きくなる。そこで、情報入力装置１は、物体の検出面上における接触位置の分布をソフトウェア的に解析することによって、表面タッチセンサ１２ｂが直接的に物体の圧力を検知可能な機能を備えておらずとも、擬似的に物体の圧力に関する指標値を取得することができる。
【００１３】
さらに本実施形態では、筐体１０の裏面側に、タッチパネル１２と対向するように、裏面タッチセンサ１４が配置されている。この裏面タッチセンサ１４は、ディスプレイ１２ａの表示面に対応する形状及び大きさの略矩形の検出面を備えている。すなわち、ディスプレイ１２ａの表示面、表面タッチセンサ１２ｂの検出面、及び裏面タッチセンサ１４の検出面は、いずれも略同型、かつ略同サイズであって、筐体１０の厚さ方向（Ｚ軸方向）に沿って直線状に並んで配置されている。なお、裏面タッチセンサ１４は、表面タッチセンサ１２ｂと同様に各種の方式のものであってよく、感圧機能を備えてもよい。ユーザは、自分の指や手に持ったスタイラス等を、表面タッチセンサ１２ｂや裏面タッチセンサ１４の検出面上に接触又は近接させることによって、情報入力装置１に対する操作入力を行うことができる。
【００１４】
ここで、裏面タッチセンサ１４の配置位置、大きさ、及び形状は、ディスプレイ１２ａと対応しているので、ユーザは、ディスプレイ１２ａに表示された画像に対する操作入力のために、表面タッチセンサ１２ｂの代わりに裏面タッチセンサ１４を用いることもできる。ディスプレイ１２ａに表示された画像に対する操作入力に裏面タッチセンサ１４を用いることで、タッチセンサに指やスタイラス等を接触させる際に生じる影によって、ディスプレイ１２ａの表示画像が見えにくくなってしまうことを避けることができる。
【００１５】
なお、図１Ａ及び図１Ｂには示されていないが、情報入力装置１は、表面タッチセンサ１２ｂ及び裏面タッチセンサ１４以外に、例えばボタンやスイッチなど、ユーザの操作入力を受け付けるための各種の操作部材を筐体１０の表面や裏面、側面などに備えることとしてもよい。
【００１６】
また、情報入力装置１の筐体１０の内部には、筐体１０の姿勢を検出するために、加速度センサ１６及びジャイロスコープ１８が配置されている。加速度センサ１６は３軸加速度センサであって、筐体１０に対して設定された３つの基準軸（Ｘ軸、Ｙ軸及びＺ軸）それぞれの方向に生じる加速度を検知する。ここで、３つの基準軸は互いに略直交しており、Ｘ軸はタッチパネル１２の長辺方向、Ｙ軸はタッチパネル１２の短辺方向、Ｚ軸は筐体１０の厚さ方向にそれぞれ設定されているものとする。重力によって各基準軸に生じる加速度を加速度センサ１６が検知することによって、情報入力装置１は、自分自身の姿勢（すなわち、重力が働く鉛直方向に対する筐体１０の傾き）を検知することができる。また、情報入力装置１は、その移動速度の変化によって生じる加速度を加速度センサ１６によって検知することで、自分自身の動きを検知することもできる。
【００１７】
ジャイロスコープ１８は、圧電振動型ジャイロなどであって、筐体１０に設定された３つのジャイロ基準軸を中心とした回転の角速度を検知し、当該検知した角速度に応じた電気信号を出力する。なお、ジャイロ基準軸の方向は、前述した加速度センサ１６の３つの基準軸と同じ方向であってよい。ジャイロスコープ１８によって検知される角速度を積分することで、情報入力装置１はＸ軸、Ｙ軸及びＺ軸のそれぞれを基準とした筐体１０の回転角を算出することができる。
【００１８】
図２は、情報入力装置１の内部構成を示す構成ブロック図である。同図に示されるように、情報入力装置１は、制御部２０と、記憶部２２と、画像処理部２４と、を含んで構成されている。制御部２０は、例えばＣＰＵ等であって、記憶部２２に格納されているプログラムに従って、各種の情報処理を実行する。記憶部２２は、例えばＲＡＭやＲＯＭ等のメモリ素子や、ディスクデバイスなどであって、制御部２０によって実行されるプログラムや各種のデータを格納する。また、記憶部２２は、制御部２０のワークメモリとしても機能する。
【００１９】
画像処理部２４は、例えばＧＰＵとフレームバッファメモリとを含んで構成され、制御部２０が出力する指示に従って、ディスプレイ１２ａに表示する画像を描画する。具体例として、画像処理部２４はディスプレイ１２ａの表示領域に対応したフレームバッファメモリを備え、ＧＰＵは、制御部２０からの指示に従って、所定時間おきにこのフレームバッファメモリに対して画像を書き込む。そして、このフレームバッファメモリに書き込まれた画像が、所定のタイミングでビデオ信号に変換されて、ディスプレイ１２ａに表示される。
【００２０】
本実施形態では、制御部２０は、表面タッチセンサ１２ｂ及び裏面タッチセンサ１４による検出結果を受け付けて、当該受け付けた検出結果を用いて各種の処理を実行する。具体的に、制御部２０は、表面タッチセンサ１２ｂ及び裏面タッチセンサ１４のいずれか少なくとも一方によるユーザの指やスタイラス等の物体の位置の検出結果を用いて、ユーザの操作入力の内容を判断する。そして、当該判断された操作入力の内容に応じた処理を実行し、処理結果をディスプレイ１２ａに表示することで、ユーザに提示する。
【００２１】
以下、本実施形態において制御部２０が実行する処理の具体例について、説明する。以下では制御部２０は、裏面タッチセンサ１４により検出されるユーザの指の位置の時間変化に応じて、ディスプレイ１２ａに表示される画像を更新する処理を行うこととする。このような処理を実行するため、情報入力装置１は、機能的に、図３に示すように、検出位置取得部３０と、移動距離取得部３２と、操作態様値取得部３４と、操作入力量出力部３６と、表示画像制御部３８と、を含んで構成される。これらの機能は、制御部２０が記憶部２２に格納されたプログラムを実行することにより実現される。このプログラムは、例えば光ディスクやメモリカード等のコンピュータ読み取り可能な各種の情報記憶媒体に格納されて提供されてもよいし、インターネット等の通信ネットワークを介して情報入力装置１に提供されてもよい。
【００２２】
検出位置取得部３０は、裏面タッチセンサ１４が物体（ここではユーザの指）の位置を検出して出力する座標値を取得する。本実施形態において、裏面タッチセンサ１４は、物体の位置を検出した場合に、その検出位置を示す座標値を出力する。なお、裏面タッチセンサ１４が出力する座標値は、矩形の検出領域内の位置座標を示す２次元の座標値（ｐｘ，ｐｙ）であることとする。検出位置取得部３０は、裏面タッチセンサ１４が出力する座標値を所定時間おきに読み取って、記憶部２２内に順次格納する。これによって、ユーザの指の位置の動き（時間変化）を示す座標値列が得られる。
【００２３】
移動距離取得部３２は、検出位置取得部３０によって取得される座標値列を用いて、ユーザが行った移動操作における移動距離Ｄを取得する。ここでの移動操作は、ユーザが自分自身の指を裏面タッチセンサ１４の検出面上において移動させる操作である。例えば移動距離取得部３２は、所定時間おきに、当該時点におけるユーザの指の検出位置を現在位置Ｐ２とし、後述する方法で決定される位置を基準位置Ｐ１として、基準位置Ｐ１から現在位置Ｐ２までの検出面上における距離を、ユーザの指の移動距離Ｄとして算出する。なお、本実施形態において移動距離取得部３２は、移動距離Ｄを取得するとともに、基準位置Ｐ１に対する現在位置Ｐ２の方向を、移動方向の情報として取得することとする。また、移動距離取得部３２が移動距離Ｄを取得する時間間隔は、検出位置取得部３０が検出位置を示す座標値を取得する時間間隔と同じであってもよいし、異なってもよい。
【００２４】
ここで、基準位置Ｐ１の決定方法の具体例について、説明する。基準位置Ｐ１は、検出面内の予め定められた位置（例えば検出面の中心位置）であってもよい。この場合には、ユーザは常に同じ基準位置から移動操作を開始することが想定されている。
【００２５】
また、移動距離取得部３２は、裏面タッチセンサ１４がこれまで物体を検出していない状態において最初に物体の検出を開始した場合に、当該物体の検出を開始した時点（すなわち、ユーザが操作を開始した時点）における物体の検出位置を基準位置Ｐ１としてもよい。具体的に、検出位置取得部３０がある時点において裏面タッチセンサ１４の検出位置を示す座標値を取得できず、その直後のタイミングでは裏面タッチセンサ１４の検出位置を示す座標値を取得した場合には、当該検出位置を基準位置Ｐ１とする。こうすれば、ユーザは、検出面上のどの位置に指を置いたとしても、そこから検出面上において指を滑らす操作を行うことで、操作入力を行うことができる。図４は、基準位置Ｐ１をこのように設定する場合における、ユーザの指の検出面上における軌跡（破線の矢印）と、基準位置Ｐ１、現在位置Ｐ２、及び移動距離Ｄの関係を示す図である。
【００２６】
移動距離取得部３２は、このように基準位置Ｐ１が決定された後、裏面タッチセンサ１４が連続して物体を検出し続けている場合、所定時間おきに、当該時点で検出位置取得部３０が取得した物体の検出位置を現在位置Ｐ２として、基準位置Ｐ１から現在位置Ｐ２までの移動距離Ｄを算出する処理を繰り返し実行する。これにより、ユーザが裏面タッチセンサ１４の検出面をなぞるように基準位置Ｐ１から指を動かすにつれて、移動距離取得部３２は、徐々に増加する移動距離Ｄの値を定期的に算出して出力することになる。
【００２７】
さらに、移動距離取得部３２は、裏面タッチセンサ１４が物体の検出を継続している状態において、当該物体の検出位置の移動方向が変化した場合に、当該変化の時点における物体の検出位置を基準位置Ｐ１としてもよい。具体的に、例えば移動距離取得部３２は、ユーザの指の移動方向のＸ軸成分及びＹ軸成分のいずれかが、正負反転した場合に、ユーザの指の移動方向が変化したと判定し、当該反転した時点の検出位置を新たな基準位置Ｐ１として設定する。この例では、それまで増加していた検出位置のＸ軸座標値（又はＹ軸座標値）が減少に転じた場合や、それまで減少していたＸ軸座標値（又はＹ軸座標値）が増加に転じた場合に、基準位置Ｐ１が再設定される。図５Ａは、基準位置Ｐ１をこのように設定する場合における、ユーザの指の検出面上における軌跡（破線の矢印）と、基準位置Ｐ１、現在位置Ｐ２、及び移動距離Ｄの関係を示す図である。なお、移動距離取得部３２は、ユーザの指の移動方向がある程度変化した場合であっても、基準軸（Ｘ軸及びＹ軸）に沿った移動方向に変化がなく、Ｘ軸成分及びＹ軸成分のそれぞれが単調増加又は単調減少している間は、移動方向に変化がないものとして、これまでの基準位置Ｐ１を変更せずに移動距離Ｄの算出を継続してもよい。
【００２８】
なお、移動距離取得部３２は、ユーザの指の所定の基準軸（Ｘ軸又はＹ軸）に沿った移動方向が変化した場合、当該変化の時点におけるユーザの指の検出位置そのものを新たな基準位置Ｐ１とするのではなく、当該検出位置に対応する検出面上の位置を新たな基準位置Ｐ１としてもよい。例えば移動距離取得部３２は、検出位置の移動方向が変化した場合に、基準位置Ｐ１のＸ軸座標値とＹ軸座標値とを互いに独立に更新してもよい。すなわち、移動距離取得部３２は、ユーザの指の移動方向のＸ軸成分が、正方向から負方向、又は負方向から正方向に変化した場合、当該変化の時点における検出位置のＸ軸座標値を新たな基準位置Ｐ１のＸ軸座標値として設定する。一方で、移動方向のＹ軸成分が変化していなければ、基準位置Ｐ１のＹ軸座標値は変更せずに、これまで設定されていた値を維持する。図５Ｂは、この例において、図５Ａと同様にユーザが指を動かした場合に設定される基準位置Ｐ１を示している。図５Ｂの例では、移動方向のＹ軸成分は正方向から負方向に変化しているので、基準位置Ｐ１のＹ軸座標値は更新されるが、Ｘ軸方向に対する移動方向は常に正方向で変化していないので、基準位置Ｐ１のＸ軸座標値は更新されない。その結果、新たに設定される基準位置Ｐ１は、元の基準位置Ｐ１ｏから見てＹ軸方向に沿って移動し、この新たな基準位置Ｐ１からの距離が移動距離Ｄとして取得される。
【００２９】
操作態様値取得部３４は、ユーザが行う移動操作について、その操作態様に関する値（操作態様値）を取得する。以下の説明では、操作態様値取得部３４はユーザが行った移動操作における移動速度Ｖの値を操作態様値として取得することとする。なお、操作態様値取得部３４は、所定時間おきに操作態様値の取得を行うこととする。この場合の時間間隔は、移動距離取得部３２が移動距離Ｄを取得する時間間隔と同じであってもよいし、異なってもよい。
【００３０】
具体的に、操作態様値取得部３４は、検出位置取得部３０によって取得される座標値列を用いて、ユーザが行った移動操作における移動速度Ｖを取得する。例えば操作態様値取得部３４は、所定時間おきに、当該時点の直前におけるユーザの指の移動速度Ｖを算出する。この場合、操作態様値取得部３４は、移動速度Ｖの取得を行う時点におけるユーザの指の位置（すなわち、現在位置Ｐ２）と、当該時点に対して所定の単位時間ｔｕだけ過去の時点におけるユーザの指の位置と、の間の距離を算出する。そして、この算出された距離を単位時間ｔｕで除した値を、直近のユーザの指の移動速度Ｖとして算出する。なお、単位時間ｔｕを１とみなせば、算出された距離の数値自体が移動速度Ｖを表すことになる。
【００３１】
あるいは操作態様値取得部３４は、移動距離取得部３２が移動距離Ｄを取得する際に用いた基準位置Ｐ１及び現在位置Ｐ２を用いて、ユーザの指の移動速度Ｖを算出してもよい。この例では、操作態様値取得部３４は、基準位置Ｐ１で最後にユーザの指が検出された時刻Ｔ１と、当該時刻Ｔ１より後に現在位置Ｐ２で最初にユーザの指が検出された時刻Ｔ２と、を用いて、ユーザの指の移動速度Ｖを算出する。すなわち、基準位置Ｐ１から現在位置Ｐ２までの距離を、時間（Ｔ２−Ｔ１）で除することにより、基準位置Ｐ１から現在位置Ｐ２に到達するまでの間におけるユーザの指の移動速度Ｖを算出する。なお、この場合において、時刻Ｔ２は、必ずしも移動速度Ｖの取得を行う現在時刻とは限らず、それより前の時点で現在位置Ｐ２までユーザの指が到達していれば、当該到達した時点を時刻Ｔ２として用いる。
【００３２】
また、既に述べたように、操作態様値取得部３４は、移動速度Ｖのみならず、その他の操作態様に関する値を取得してもよい。例えば裏面タッチセンサ１４が感圧機能を備えている場合、操作態様値取得部３４は、この裏面タッチセンサ１４によって検出される、ユーザが自分の指を検出面に押しつける圧力を示す値であってもよい。この場合、操作態様値取得部３４が取得する圧力の値は、当該値を取得する時点の直近の過去に検出された圧力の値であってもよいし、基準位置Ｐ１から現在位置Ｐ２までユーザの指が移動する間に検出された圧力の値の平均値であってもよい。また、既に述べたように、タッチセンサの検出面に対する指の接触面積の大きさは、移動操作の際にユーザが指を検出面に押しつける強さを示すと考えられる。そこで操作態様値取得部３４は、この接触面積の大きさを操作態様値として取得してもよい。
【００３３】
操作入力量出力部３６は、移動距離取得部３２によって取得された移動距離Ｄと、操作態様値取得部３４によって取得された操作態様値（ここではユーザの指の移動速度Ｖ）と、に基づいて算出される値を、ユーザが行った操作による操作入力量Ｉとして出力する。すなわち、ユーザが行った移動操作の量を示す値として、移動距離Ｄ及び移動速度Ｖの双方を用いて算出された値を出力する。なお、操作入力量出力部３６は、操作入力量Ｉの値に加えて、ユーザが行った移動操作の方向（すなわち、基準位置Ｐ１に対する現在位置Ｐ２の方向）を移動距離取得部３２から取得して、ユーザの指示方向として出力する。
【００３４】
具体的に、操作入力量出力部３６は、移動距離Ｄが大きければ大きいほど、また移動速度Ｖが大きければ大きいほど、操作入力量Ｉの値が大きくなるように、操作入力量Ｉの値を算出する。例えば操作入力量出力部３６は、移動距離Ｄの値に基づいて算出される値と、移動速度Ｖの値に基づいて算出される値と、を合算して、操作入力量Ｉの値を算出する。こうすると、例えばユーザが同じ移動距離Ｄだけ指を移動させる移動操作を行ったとしても、当該操作を素早く行った場合には、ゆっくり行った場合よりも操作入力量Ｉの値を大きくすることができる。これにより、単に移動距離Ｄだけに応じて操作入力量Ｉを算出する場合と比較して、ユーザからの操作入力として受け付け可能な操作入力量Ｉの範囲が大きくなる。また、ユーザは移動距離Ｄ及び移動速度Ｖのいずれか少なくとも一方を調整することで、操作入力量Ｉの大きさを調整することができる。すなわち、比較的大きな操作入力量Ｉの値を入力したい場合には、指を大きな距離だけ動かしてもよいし、素早く動かしてもよい。
【００３５】
ここで、操作入力量出力部３６が操作入力量Ｉの値を算出する方法の具体例について、説明する。例えば操作入力量出力部３６は、移動距離Ｄ及び移動速度Ｖのそれぞれに所定の係数Ａ１，Ａ２を乗じて、合計することにより、操作入力量Ｉの値を算出する。この場合、操作入力量Ｉの値は、
Ｉ＝Ａ１・Ｄ＋Ａ２・Ｖ
という計算式によって算出される。
【００３６】
また、操作入力量出力部３６は、移動距離Ｄ及び移動速度Ｖの値の大きさによる効果を強調する（すなわち、移動距離Ｄや移動速度Ｖを大きく変化させた場合の操作入力量Ｉへの影響を大きくする）ために、移動距離Ｄや移動速度Ｖのべき乗を用いて操作入力量Ｉの値を算出してもよい。具体的には、例えば以下のような計算式により操作入力量Ｉの値を算出する。
Ｉ＝Ａ１・Ｄ２＋Ａ２・Ｖ２
こうすれば、移動距離Ｄや移動速度Ｖの絶対値が小さなときには移動距離Ｄや移動速度Ｖの値の変化による操作入力量Ｉの値の変化は比較的小さいが、移動距離Ｄや移動速度Ｖの絶対値が大きくなったときには、移動距離Ｄや移動速度Ｖの値の変化による操作入力量Ｉの値の変化は相対的に大きくなる。なお、ここでは移動距離Ｄ及び移動速度Ｖの双方についてべき乗を用いることとしたが、いずれか一方（より効果を強調したい方）だけべき乗を用いて、他方はべき乗せずに合算することとしてもよい。
【００３７】
また、操作入力量出力部３６は、移動距離取得部３２が取得した移動距離Ｄの値が所定の上限値Ｄｔｈを超える場合、当該上限値Ｄｔｈを移動距離Ｄの値として用いて、操作入力量Ｉの値を算出してもよい。こうすれば、ユーザが速い移動速度Ｖで操作入力を行おうとして上限値Ｄｔｈ以上に指を動かした場合でも、操作入力量Ｉの算出に用いる移動距離Ｄの値を上限値Ｄｔｈに抑えることができる。
【００３８】
また、操作入力量出力部３６は、移動距離取得部３２が取得した移動距離Ｄの数値や、操作態様値取得部３４が取得した移動速度Ｖの数値をそのまま演算に用いるのではなく、各数値が複数の数値範囲のいずれに属するかを判定し、その結果に応じて操作入力量Ｉの値を算出してもよい。例えば操作入力量出力部３６は、移動速度Ｖの値が所定の第１閾値Ｖｔｈ１より小さければ、ユーザの指がほぼ止まっていると判定し、第１閾値Ｖｔｈ１以上第２閾値Ｖｔｈ２未満であれば、低速で移動しており、第２閾値Ｖｔｈ以上であれば高速で移動していると判定する。そして、その判定結果に応じて、移動距離Ｄの数値に互いに異なる所定の補正値を加算することによって、操作入力量Ｉの値を算出してもよい。
【００３９】
表示画像制御部３８は、操作入力量出力部３６が出力する操作入力量Ｉの値に応じて、ディスプレイ１２ａに表示されている画像を更新する。例えば表示画像制御部３８は、操作入力量出力部３６が出力する操作入力量Ｉの値に応じた量だけ、ディスプレイ１２ａの表示画面に表示されている表示画像内の画像要素を移動させるように、表示画像を更新する。この画像要素は、仮想空間内に配置された各種のオブジェクトであってもよいし、メニュー画面内のアイコン等であってもよい。本実施形態では、表示画像制御部３８は、制御部２０がゲームアプリケーションプログラムを実行することで実現され、ユーザの操作入力に応じて変化するゲーム画像をディスプレイ１２ａに表示することとする。具体的に、表示画像制御部３８は、仮想３次元空間内にゲームキャラクタオブジェクトや背景オブジェクト等のオブジェクトを配置し、当該仮想３次元空間内の様子を示す画像の描画を画像処理部２４に指示する。当該指示に応じて画像処理部２４内のＧＰＵが画像を生成し、フレームバッファに書き込むことで、ディスプレイ１２ａにゲーム画像が表示される。ここでは、仮想３次元空間内に視点位置及び視線方向が設定されており、当該視点位置から当該視線方向に向かって仮想３次元空間を見た様子を示す画像が描画されることとする。
【００４０】
さらに、表示画像制御部３８は、操作入力量出力部３６が出力する操作入力量Ｉの値、及びユーザの指示方向に応じて、このゲーム画像の内容を更新する。具体的に、表示画像制御部３８は、仮想３次元空間に設定された視線方向を、ユーザが指示する方向に、操作入力量Ｉの値に比例する速度で変化させる。これにより、ユーザは、裏面タッチセンサ１４に対して行った移動操作における移動距離及び移動速度に応じた速度で、表示されるゲーム画像における視線の向きを変化させることができ、ゲーム画像内の各オブジェクトは、操作入力量Ｉの値に応じた量だけゲーム画像内を移動することになる。
【００４１】
以上説明した本実施の形態によれば、ユーザによる操作のバリエーションを増やし、操作入力をしやすくすることができる。例えばユーザは、裏面タッチセンサ１４の検出面上の一点に指を置き、当該一点から任意の方向に指を滑らすことで、アナログスティックを傾けたのと同様の操作感で方向の指示を行うことができる。このような移動操作に応じて、例えば情報入力装置１は、仮想３次元空間内に設定された視線方向を移動操作の方向に応じた方向に変化させる処理を行う。また、ユーザは、ある一方向に素早く指を動かすことで、大きな量の操作入力を行うことができる。これにより、情報入力装置１は、瞬間的に大きな速度で視線方向を変化させるなどの処理を行う。
【００４２】
さらに、移動速度Ｖとして直近の過去の指の移動速度を用いる場合、ユーザが検出面上において指を一定方向に動かしてからそのまま停止させる操作を行うと、移動速度Ｖは０になる一方で、基準位置Ｐ１に対する移動距離Ｄは一定値を維持することになる。これにより、何度も同じ操作を繰り返さずに、任意の方向への操作入力を継続することができる。さらにこの場合、移動速度Ｖの影響で一時的に大きな操作入力量Ｉが出力された後、比較的小さな操作入力量Ｉが出力されることになるので、大きな値から小さな値に変化する操作入力を、複雑な指の動きを伴わずに容易に行うことができる。このとき、移動距離Ｄが上限値Ｄｔｈであるとして操作入力量Ｉの算出を行うこととすれば、ユーザの素早い操作入力に応じて一時的に大きな値の操作入力量Ｉが出力された後、移動速度Ｖ＝０及び移動距離Ｄ＝Ｄｔｈに応じて予め定められた値の操作入力量Ｉが出力されることとなり、一時的に増大した操作入力量Ｉを所定の値以下に収束させることができる。また、移動速度Ｖの値として基準位置Ｐ１から現在位置Ｐ２まで移動する間の移動速度を用いる場合、同様にユーザが検出面上において指を一定方向に動かしてから停止させる操作を行ったとすると、移動速度Ｖに応じた値が上乗せされた操作入力量Ｉの値が出力され続けることになる。そのため、ユーザが現在位置Ｐ２まで素早く指を移動させた場合には、そのときの大きな操作入力量Ｉの値がそのまま維持されて、例えば視線方向を速い速度で移動させ続けることができる。
【００４３】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば以上の説明においては、裏面タッチセンサ１４の検出面上における２次元的な移動距離Ｄ及び移動速度Ｖの値を用いて操作入力量Ｉを算出することとしたが、情報入力装置１は、ユーザの移動操作の軌跡を基準軸（ここではＸ軸及びＹ軸）方向に射影して得られる位置の変化を操作入力として、上述した処理を行ってもよい。具体的に、検出位置取得部３０は、ユーザの指の検出位置を二次元の座標値（ｐｘ，ｐｙ）として取得するので、Ｘ軸の座標値列｛ｐｘ１，ｐｘ２，ｐｘ３，…｝及びＹ軸の座標値列｛ｐｙ１，ｐｙ２，ｐｙ３，…｝の２つの座標値列が得られる。情報入力装置１は、この２つの座標値列のそれぞれに対して、互いに独立に、これまで説明した移動距離Ｄ及び移動速度Ｖの取得、並びに操作入力量Ｉの算出を行ってもよい。
【００４４】
この場合、例えば移動距離取得部３２は、ユーザの指の位置を最初に検出すると、当該検出位置のＸ軸座標値をＸ軸基準位置Ｐ１ｘとし、Ｙ軸座標値をＹ軸基準位置Ｐ１ｙとする。そして、Ｘ軸基準位置Ｐ１ｘに対するＸ軸方向の移動距離Ｄｘ、及びＹ軸基準位置Ｐ１ｙに対するＹ軸方向の移動距離Ｄｙを、それぞれ取得する。また、操作態様値取得部３４は、Ｘ軸方向へのユーザの指の移動速度Ｖｘ、及びＹ軸方向へのユーザの指の移動速度Ｖｙを、それぞれ取得する。そして、操作入力量出力部３６は、移動距離Ｄｘ及び移動速度Ｖｘを用いてＸ軸方向の操作入力量Ｉｘを、また移動距離Ｄｙ及び移動速度Ｖｙを用いてＹ軸方向の操作入力量Ｉｙを、それぞれ算出する。こうすれば、移動距離Ｄｘ及びＤｙや移動速度Ｖｘ及びＶｙを比較的少ない演算量で算出することが可能になる。
【００４５】
また、以上の説明においては、表示画像制御部３８は、ユーザの操作入力に応じて視線方向を変化させることとしたが、これに限らず、操作入力量Ｉは各種の位置や向きを変化させるために用いられてよい。具体的に、例えば表示画像制御部３８は、ユーザの指示する方向及び操作入力量Ｉの値に応じて、仮想３次元空間内に設定された視点位置を移動させてもよいし、仮想３次元空間内におけるユーザキャラクタの位置を移動させてもよい。また、操作入力量Ｉは、仮想３次元空間内の様子を示す画像を更新するためだけでなく、例えば表示画面をスクロールする処理におけるスクロール量など、各種の情報処理のパラメタとして用いられてもよい。
【００４６】
また、以上の説明においては、裏面タッチセンサ１４に対する移動操作における移動距離Ｄ及び移動速度Ｖを操作入力量Ｉの算出に用いることとしたが、これに限らず、表面タッチセンサ１２ｂに対する移動操作における移動距離Ｄ及び移動速度Ｖを用いて同様の処理を実行してもよい。また、本発明の実施の形態に係る情報入力装置は、必ずしもユーザが直接操作を行うタッチセンサを備えずともよい。例えば本発明の実施の形態に係る情報入力装置は、タッチセンサを備えた操作デバイスと接続された、家庭用ゲーム機やパーソナルコンピュータ等の情報処理装置であってもよい。この場合、情報入力装置は、当該操作デバイスから送信される物体の検出位置の情報に基づいて移動距離Ｄ及び移動速度Ｖを算出する。
【符号の説明】
【００４７】
１  情報入力装置、１０  筐体、１２  タッチパネル、１２ａ  ディスプレイ、１２ｂ  表面タッチセンサ、１４  裏面タッチセンサ、１６  加速度センサ、１８  ジャイロスコープ、２０  制御部、２２  記憶部、２４  画像処理部、３０  検出位置取得部、３２  移動距離取得部、３４  操作態様値取得部、３６  操作入力量出力部、３８  表示画像制御部。
【図１Ａ】
0005535585.tif 000002
【図１Ｂ】
0005535585.tif 000003
【図２】
0005535585.tif 000004
【図３】
0005535585.tif 000005
【図４】
0005535585.tif 000006
【図５Ａ】
0005535585.tif 000007
【図５Ｂ】
0005535585.tif 000008