(57)【特許請求の範囲】
【請求項１】
ユーザの操作入力を受け付ける操作入力装置と接続されたコンピュータを、
単位時間ごとに、前記操作入力装置が受け付けた操作入力の内容を示す入力値を取得する入力値取得手段、及び、
前記入力値取得手段が取得した複数の入力値に応じて、操作対象となるパラメータの出力値を算出する出力値算出手段、
として機能させるためのプログラムであって、
前記出力値算出手段は、前記入力値取得手段が取得した一つの入力値に応じて決まる基準値を、前記入力値取得手段が単位時間ごとに取得した複数の入力値のそれぞれに応じた変化量だけ変化させた値を、前記出力値として算出する
ことを特徴とするプログラム。
【請求項２】
請求項１に記載のプログラムにおいて、
前記基準値は、前記入力値取得手段が最後に取得した入力値に応じた値である
ことを特徴とするプログラム。
【請求項３】
請求項１又は２に記載のプログラムにおいて、
前記出力値算出手段は、前記ユーザが所定の開始操作を実行した後に前記入力値取得手段が取得した複数の入力値のそれぞれに応じて決まる変化量だけ前記基準値を変化させた値を、前記出力値として出力する
ことを特徴とするプログラム。
【請求項４】
請求項１又は２に記載のプログラムにおいて、
前記出力値算出手段は、前記ユーザが所定の開始操作を実行した後で、かつ、所定の開始条件が満たされた後に前記入力値取得手段が取得した複数の入力値のそれぞれに応じて決まる変化量だけ前記基準値を変化させた値を、前記出力値として出力する
ことを特徴とするプログラム。
【請求項５】
請求項１から４のいずれか一項に記載のプログラムにおいて、
前記出力値算出手段は、前記入力値取得手段が取得した入力値が予め定められた値を上回る場合、前記変化量として予め定められた上限値を用いて前記出力値を算出する
ことを特徴とするプログラム。
【請求項６】
請求項１から５のいずれか一項に記載のプログラムにおいて、
前記操作入力装置は、ユーザが手で把持する筐体の傾きを検知するセンサであって、
前記入力値取得手段は、前記筐体を傾ける操作入力をユーザが行った場合に、当該操作による前記筐体の傾き方向及び傾き量を示す値を、前記入力値として取得し、
前記出力値は、方向及び大きさを示す値であって、
前記基準値は、前記一つの入力値が示す傾き方向及び傾き量に応じて決まる方向及び大きさを示す値であり、
前記変化量は、対応する前記入力値が示す傾き方向に応じて決まる方向への前記傾き量に応じた大きさの変化量である
ことを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムにおいて、
前記入力値は、二つの基準軸それぞれを回転中心とした回転量を表す第１の入力成分値及び第２の入力成分値によって構成され、
前記出力値は、二つの基準方向のそれぞれに沿った大きさを示す第１の出力成分値及び第２の出力成分値によって構成され、
前記出力値算出手段は、前記第１の出力成分値に対する変化量を前記第１の入力成分値に応じて決定し、前記第２の出力成分値に対する変化量を前記第２の入力成分値に応じて決定し、かつ、それぞれの出力成分値に対する変化量を互いに異なる計算方法で決定する
ことを特徴とするプログラム。
【請求項８】
請求項１から７のいずれか一項に記載のプログラムにおいて、
前記基準値は、前記入力値の絶対値が所定値を超える範囲において、前記入力値の変化に対する前記基準値の変化の割合が、前記所定値以下の範囲における前記入力値の変化に対する前記基準値の変化の割合より小さくなるように決定される
ことを特徴とするプログラム。
【請求項９】
請求項１から８のいずれか一項に記載のプログラムにおいて、
前記出力値算出手段が前記出力値を算出する際に、前記入力値取得手段が最後に取得した入力値に応じた前記変化量の大きさを示す画像を表示画面に表示させる手段、
として前記コンピュータをさらに機能させることを特徴とするプログラム。
【請求項１０】
ユーザの操作入力を受け付ける操作入力装置と接続された情報入力装置であって、
単位時間ごとに、前記操作入力装置が受け付けた操作入力の内容を示す入力値を取得する入力値取得手段と、
前記入力値取得手段が取得した複数の入力値に応じて、操作対象となるパラメータの出力値を算出する出力値算出手段と、
を含み、
前記出力値算出手段は、前記入力値取得手段が取得した一つの入力値に応じて決まる基準値を、前記入力値取得手段が単位時間ごとに取得した複数の入力値のそれぞれに応じた変化量だけ変化させた値を、前記出力値として算出する
ことを特徴とする情報入力装置。
【請求項１１】
請求項１０に記載の情報入力装置において、
前記情報入力装置は、
その筐体の表面及び裏面のそれぞれに配置されたタッチセンサと、
前記ユーザが前記筐体の表面に配置されたタッチセンサに両手それぞれの指を少なくとも１本ずつ接触させるとともに、前記筐体の裏面に配置されたタッチセンサにも両手それぞれの指を少なくとも１本ずつ接触させる操作を行った場合に、当該操作を開始操作として受け付ける開始操作受付手段と、
をさらに備え、
前記操作入力装置は、前記筐体の傾きを検知するセンサであって、
前記出力値算出手段は、前記開始操作が受け付けられた後に前記入力値取得手段が取得した複数の入力値のそれぞれに応じて決まる変化量だけ前記基準値を変化させた値を、前記出力値として出力する
ことを特徴とする情報入力装置。
【請求項１２】
請求項１１に記載の情報入力装置において、
前記開始操作受付手段は、前記ユーザが前記筐体の表面に配置されたタッチセンサに両手それぞれの指を少なくとも１本ずつ接触させるとともに、前記筐体の裏面に配置されたタッチセンサにも両手それぞれの指を少なくとも１本ずつ接触させた状態を解除する操作を行った場合に、当該操作を終了操作として受け付け、
前記出力値算出手段は、前記終了操作が受け付けられた場合、前記出力値の算出を終了する
ことを特徴とする情報入力装置。
【請求項１３】
単位時間ごとに、ユーザの操作入力を受け付ける操作入力装置が受け付けた操作入力の内容を示す入力値を取得する入力値取得ステップと、
前記入力値取得ステップで取得された複数の入力値に応じて、操作対象となるパラメータの出力値を算出する出力値算出ステップと、
を含み、
前記出力値算出ステップでは、前記入力値取得ステップで取得された一つの入力値に応じて決まる基準値を、前記入力値取得ステップで単位時間ごとに取得された複数の入力値のそれぞれに応じた変化量だけ変化させた値を、前記出力値として算出する
ことを特徴とする情報入力装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが行う操作入力を受け付けるプログラム、情報入力装置、及びその制御方法に関する。
【背景技術】
【０００２】
ユーザが操作入力装置に対して行った操作入力を受け付けて各種の情報処理を行う情報入力装置がある。このような情報入力装置は、ユーザが操作入力装置に対して操作入力を行った場合に、その操作内容を示す入力値を取得し、取得した入力値に応じて、例えばキャラクタを移動させたり、仮想空間内に設定された視点を移動させたりする処理を実行する。このような操作入力の具体例としては、タッチセンサ上にユーザが指やスタイラスなどを接触させる操作や、アナログスティックなどの操作部材を動かす操作が挙げられる。また、情報入力装置の中には、操作入力装置として、筐体の傾きを検知するセンサ（ジャイロスコープ等）を内蔵したものがある。このような情報入力装置は、ユーザがその筐体を傾ける操作を行うことにより、その傾きを示すセンサの検知結果の値を入力値として取得して、各種の情報処理を行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上述したような情報入力装置においては、操作入力装置の物理的な制約等により入力値のとり得る値の範囲が限られてしまうので、ある瞬間にユーザが行っている操作入力の内容を示す入力値を用いるだけでは、ユーザが入力可能な値の範囲が限られてしまう。一例として、ユーザが筐体を傾ける操作を行った場合に、その傾き量に応じて仮想空間内に設定された視点の向きを変化させる処理を考える。この場合、視点の向きを大きく変化させるためには筐体をそれだけ大きく傾ける必要があり、筐体の形状やユーザの筐体の持ち方などによっては、大きな値の操作入力をしにくくなってしまうことがあり得る。
【０００４】
一方、ユーザが行った操作入力の内容を示す入力値を、操作対象となるパラメータの単位時間あたりの変化量として用いることも考えられる。このような操作入力方法を前述の例に適用した場合、ユーザが情報入力装置の筐体を一定方向に傾けた状態を保っている間、情報入力装置は、その傾き方向と対応する方向に視線の向きを変化させ続けることになる。しかしながら、このような操作入力方法は、場面によっては、パラメータの値を微調整させにくく、ユーザにとって操作がしにくい場合がある。
【０００５】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、ユーザが行った操作入力の内容を示す入力値に応じて、操作対象のパラメータの値を変化させる場合に、ユーザによる操作入力をしやすくすることのできるプログラム、情報入力装置、及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係るプログラムは、ユーザの操作入力を受け付ける操作入力装置と接続されたコンピュータを、単位時間ごとに、前記操作入力装置が受け付けた操作入力の内容を示す入力値を取得する入力値取得手段、及び、前記入力値取得手段が取得した複数の入力値に応じて、操作対象となるパラメータの出力値を算出する出力値算出手段、として機能させるためのプログラムであって、前記出力値算出手段は、前記入力値取得手段が取得した一つの入力値に応じて決まる基準値を、前記入力値取得手段が単位時間ごとに取得した複数の入力値のそれぞれに応じた変化量だけ変化させた値を、前記出力値として算出することを特徴とする。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。
【０００７】
また、上記プログラムにおいて、前記基準値は、前記入力値取得手段が最後に取得した入力値に応じた値であることとしてもよい。
【０００８】
また、前記出力値算出手段は、前記ユーザが所定の開始操作を実行した後に前記入力値取得手段が取得した複数の入力値のそれぞれに応じて決まる変化量だけ前記基準値を変化させた値を、前記出力値として出力することとしてもよい。
【０００９】
あるいは、前記出力値算出手段は、前記ユーザが所定の開始操作を実行した後で、かつ、所定の開始条件が満たされた後に前記入力値取得手段が取得した複数の入力値のそれぞれに応じて決まる変化量だけ前記基準値を変化させた値を、前記出力値として出力することとしてもよい。
【００１０】
また、前記出力値算出手段は、前記入力値取得手段が取得した入力値が予め定められた値を上回る場合、前記変化量として予め定められた上限値を用いて前記出力値を算出することとしてもよい。
【００１１】
また、上記プログラムにおいて、前記操作入力装置は、ユーザが手で把持する筐体の傾きを検知するセンサであって、前記入力値取得手段は、前記筐体を傾ける操作入力をユーザが行った場合に、当該操作による前記筐体の傾き方向及び傾き量を示す値を、前記入力値として取得し、前記出力値は、方向及び大きさを示す値であって、前記基準値は、前記一つの入力値が示す傾き方向及び傾き量に応じて決まる方向及び大きさを示す値であり、前記変化量は、対応する前記入力値が示す傾き方向に応じて決まる方向への前記傾き量に応じた大きさの変化量であることとしてもよい。
【００１２】
さらに、上記プログラムにおいて、前記入力値は、二つの基準軸それぞれを回転中心とした回転量を表す第１の入力成分値及び第２の入力成分値によって構成され、前記出力値は、二つの基準方向のそれぞれに沿った大きさを示す第１の出力成分値及び第２の出力成分値によって構成され、前記出力値算出手段は、前記第１の出力成分値に対する変化量を前記第１の入力成分値に応じて決定し、前記第２の出力成分値に対する変化量を前記第２の入力成分値に応じて決定し、かつ、それぞれの出力成分値に対する変化量を互いに異なる計算方法で決定することとしてもよい。
【００１３】
また、上記プログラムにおいて、前記基準値は、前記入力値の絶対値が所定値を超える範囲において、前記入力値の変化に対する前記基準値の変化の割合が、前記所定値以下の範囲における前記入力値の変化に対する前記基準値の変化の割合より小さくなるように決定されることとしてもよい。
【００１４】
また、上記プログラムは、前記出力値算出手段が前記出力値を算出する際に、前記入力値取得手段が最後に取得した入力値に応じた前記変化量の大きさを示す画像を表示画面に表示させる手段、として前記コンピュータをさらに機能させることとしてもよい。
【００１５】
また、本発明に係る情報入力装置は、ユーザの操作入力を受け付ける操作入力装置と接続された情報入力装置であって、単位時間ごとに、前記操作入力装置が受け付けた操作入力の内容を示す入力値を取得する入力値取得手段と、前記入力値取得手段が取得した複数の入力値に応じて、操作対象となるパラメータの出力値を算出する出力値算出手段と、を含み、前記出力値算出手段は、前記入力値取得手段が取得した一つの入力値に応じて決まる基準値を、前記入力値取得手段が単位時間ごとに取得した複数の入力値のそれぞれに応じた変化量だけ変化させた値を、前記出力値として算出することを特徴とする。
【００１６】
また、上記情報入力装置において、前記情報入力装置は、その筐体の表面及び裏面のそれぞれに配置されたタッチセンサと、前記ユーザが前記筐体の表面に配置されたタッチセンサに両手それぞれの指を少なくとも１本ずつ接触させるとともに、前記筐体の裏面に配置されたタッチセンサにも両手それぞれの指を少なくとも１本ずつ接触させる操作を行った場合に、当該操作を開始操作として受け付ける開始操作受付手段と、をさらに備え、前記操作入力装置は、前記筐体の傾きを検知するセンサであって、前記出力値算出手段は、前記開始操作が受け付けられた後に前記入力値取得手段が取得した複数の入力値のそれぞれに応じて決まる変化量だけ前記基準値を変化させた値を、前記出力値として出力することとしてもよい。
【００１７】
さらに、上記情報入力装置において、前記開始操作受付手段は、前記ユーザが前記筐体の表面に配置されたタッチセンサに両手それぞれの指を少なくとも１本ずつ接触させるとともに、前記筐体の裏面に配置されたタッチセンサにも両手それぞれの指を少なくとも１本ずつ接触させた状態を解除する操作を行った場合に、当該操作を終了操作として受け付け、前記出力値算出手段は、前記終了操作が受け付けられた場合、前記出力値の算出を終了することとしてもよい。
【００１８】
また、本発明に係る情報入力装置の制御方法は、単位時間ごとに、ユーザの操作入力を受け付ける操作入力装置が受け付けた操作入力の内容を示す入力値を取得する入力値取得ステップと、前記入力値取得ステップで取得された複数の入力値に応じて、操作対象となるパラメータの出力値を算出する出力値算出ステップと、を含み、前記出力値算出ステップでは、前記入力値取得ステップで取得された一つの入力値に応じて決まる基準値を、前記入力値取得ステップで単位時間ごとに取得された複数の入力値のそれぞれに応じた変化量だけ変化させた値を、前記出力値として算出することを特徴とする。
【図面の簡単な説明】
【００１９】
【図１Ａ】本発明の実施の形態に係る情報入力装置の外観を示す斜視図である。
【図１Ｂ】本発明の実施の形態に係る情報入力装置の外観を示す斜視図である。
【図２】本実施形態に係る情報入力装置の内部構成を示すブロック図である。
【図３】本実施形態に係る情報入力装置の機能を示す機能ブロック図である。
【図４】本実施形態に係る情報入力装置の筐体をユーザが把持する様子を示す図である。
【図５】筐体の姿勢を示す法線ベクトルと入力値との関係を示す説明図である。
【図６Ａ】図５の法線ベクトルをＸ軸負方向側から見た様子を示す図である。
【図６Ｂ】図５の法線ベクトルをＹ軸負方向側から見た様子を示す図である。
【図７】開始操作が検出された時点の視点座標系と出力角度値との関係を示す説明図である。
【図８】本実施形態に係る情報入力装置が表示する表示画像の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について、図面に基づき詳細に説明する。
【００２１】
図１Ａ及び図１Ｂは、本発明の一実施形態に係る情報入力装置１の外観を示す斜視図であって、図１Ａは情報入力装置１を表面（正面）側から見た様子を、図１Ｂは裏面側から見た様子を、それぞれ示している。なお、以下では、本実施形態に係る情報入力装置１が携帯型ゲーム機である場合について、説明する。
【００２２】
これらの図に示されるように、情報入力装置１の筐体１０は、全体として略矩形の平板状の形状をしており、その表面にはタッチパネル１２が設けられている。タッチパネル１２は、略矩形の形状をしており、ディスプレイ１２ａと表面タッチセンサ１２ｂとを含んで構成されている。ディスプレイ１２ａは、液晶表示パネルや有機ＥＬ表示パネル等、各種の画像表示デバイスであってよい。
【００２３】
表面タッチセンサ１２ｂは、ディスプレイ１２ａに重ねて配置されており、ディスプレイ１２ａの表示面に対応する形状及び大きさの略矩形の検出面を備えている。そして、この検出面上にユーザの指やスタイラス等の物体が接触した場合に、当該物体の接触位置を検出する。なお、表面タッチセンサ１２ｂは、必ずしも物体が検出面に接触した場合だけ物体の位置を検出するのではなく、検出面上の検出可能範囲内まで物体が近接した場合に、当該物体の検出面に対する位置を検出してもよい。また、表面タッチセンサ１２ｂは、例えば静電容量式や感圧式、光学式など、検出面上における物体の位置を検出可能なデバイスであれば、どのような方式のものであってもよい。なお、本実施形態では、表面タッチセンサ１２ｂは、複数箇所での物体の接触を検知可能な多点検知型タッチセンサであることとする。
【００２４】
さらに本実施形態では、筐体１０の裏面側に、タッチパネル１２と対向するように、裏面タッチセンサ１４が配置されている。この裏面タッチセンサ１４は、ディスプレイ１２ａの表示面に対応する形状及び大きさの略矩形の検出面を備えている。すなわち、ディスプレイ１２ａの表示面、表面タッチセンサ１２ｂの検出面、及び裏面タッチセンサ１４の検出面は、いずれも略同型、かつ略同サイズであって、筐体１０の厚さ方向（Ｚ軸方向）に沿って直線状に並んで配置されている。なお、裏面タッチセンサ１４は、表面タッチセンサ１２ｂと同様に各種の方式のものであってよい。また、本実施形態では、裏面タッチセンサ１４は、表面タッチセンサ１２ｂと同様に、複数箇所での物体の接触を検知可能な多点検知型タッチセンサであることとする。ユーザは、情報入力装置１の筐体１０を両手で把持して、自分の指を表面タッチセンサ１２ｂや裏面タッチセンサ１４の検出面上に接触させることによって、情報入力装置１に対する操作入力を行うことができる。このとき、表面タッチセンサ１２ｂ及び裏面タッチセンサ１４のいずれも多点検知型タッチセンサなので、ユーザは、自分の複数の指を同時にこれらのタッチセンサに接触させることにより、多様な操作入力を行うことができる。
【００２５】
なお、図１Ａ及び図１Ｂには示されていないが、情報入力装置１は、表面タッチセンサ１２ｂ及び裏面タッチセンサ１４以外に、例えばボタンやスイッチなど、ユーザの操作入力を受け付けるための各種の操作部材を筐体１０の表面や裏面、側面などに備えることとしてもよい。
【００２６】
また、情報入力装置１の筐体１０の内部には、筐体１０の傾きを検出するためのセンサとして、ジャイロスコープ１６が配置されている。ジャイロスコープ１６は、圧電振動型ジャイロなどであって、筐体１０に設定された複数のジャイロ基準軸を中心とした筐体１０の回転を検知し、当該検知した回転に応じた電気信号を出力する。なお、本実施形態では、ジャイロ基準軸は、ディスプレイ１２ａの長辺方向（横方向）に沿ったＸ軸、及び短辺方向（縦方向）に沿ったＹ軸であることとし、ジャイロスコープ１６は、これらのジャイロ基準軸それぞれを回転中心とした筐体１０の回転に応じた信号を出力する。
【００２７】
図２は、情報入力装置１の内部構成を示す構成ブロック図である。同図に示されるように、情報入力装置１は、その内部に、制御部２０と、記憶部２２と、画像処理部２４と、を含んで構成されている。制御部２０は、例えばＣＰＵ等を含んで構成され、記憶部２２に格納されているプログラムに従って、各種の情報処理を実行する。制御部２０が実行する処理の具体例については、後述する。記憶部２２は、例えばＲＡＭやＲＯＭ等のメモリ素子や、ディスクデバイスなどであって、制御部２０によって実行されるプログラムや各種のデータを格納する。また、記憶部２２は、制御部２０のワークメモリとしても機能する。
【００２８】
画像処理部２４は、例えばＧＰＵとフレームバッファメモリとを含んで構成され、制御部２０が出力する指示に従って、ディスプレイ１２ａに表示する画像を描画する。具体例として、画像処理部２４はディスプレイ１２ａの表示領域に対応したフレームバッファメモリを備え、ＧＰＵは、制御部２０からの指示に従って、所定時間おきにこのフレームバッファメモリに対して画像を書き込む。そして、このフレームバッファメモリに書き込まれた画像が、所定のタイミングでビデオ信号に変換されて、ディスプレイ１２ａに表示される。
【００２９】
以下、本実施形態において情報入力装置１が実現する機能について、説明する。本実施形態では、情報入力装置１は、記憶部２２に格納されたゲームアプリケーションプログラムを実行することで、仮想３次元空間内の様子を示す空間画像を生成し、ディスプレイ１２ａに表示する。さらにユーザは、このような空間画像が表示された状態において、筐体１０を傾ける操作（以下、傾き操作という）を行うことによって、情報入力装置１への操作入力を行う。この操作入力に応じて、情報入力装置１は、仮想３次元空間内に設定された視点の向き（以下、視線方向ＶＤという）を変化させる処理を実行する。すなわち、この視線方向ＶＤを示すパラメータが、傾き操作による操作対象のパラメータとなる。そして、情報入力装置１は、傾き操作に応じて変化した視線方向ＶＤに向かって仮想３次元空間内を見た様子を示す画像を生成し、ディスプレイ１２ａに表示する。これにより、ユーザは、筐体１０を傾けて視線方向を変化させながら、仮想３次元空間内の様子を観覧することができる。このような処理を実現するために、本実施形態では、ジャイロスコープ１６がユーザの傾き操作による操作入力を受け付ける操作入力装置として機能する。
【００３０】
情報入力装置１は、機能的に、図３に示すように、開始操作受付部３０と、入力値取得部３２と、出力値算出部３４と、表示画像制御部３６と、を含んで構成される。これらの機能は、制御部２０が記憶部２２に格納されたプログラムを実行することにより実現される。このプログラムは、例えば光ディスクやメモリカード等のコンピュータ読み取り可能な各種の情報記憶媒体に格納されて提供されてもよいし、インターネット等の通信ネットワークを介して情報入力装置１に提供されてもよい。
【００３１】
開始操作受付部３０は、ユーザから所定の開始操作の入力を受け付ける。後述する入力値取得部３２は、この開始操作が受け付けられた時点以降に、ユーザが行った傾き操作の内容を示す入力値を取得する。こうすれば、ユーザは、開始操作を実行してから筐体１０を傾ける傾き操作を開始することで、ゲームのプレイ中に、視線方向ＶＤを変化させる意図がないにも関わらず、筐体１０の傾きを変化させて視線方向ＶＤを変化させてしまうことを避けることができる。
【００３２】
本実施形態では、この開始操作は、ユーザが両手で筐体１０を挟むように把持して、表面タッチセンサ１２ｂ及び裏面タッチセンサ１４のそれぞれに両手の指を少なくとも１本ずつ接触させる操作（以下、把持操作という）であることとする。具体的に、ユーザは、図４に示すように、左手の親指を表面タッチセンサ１２ｂの向かって左側の所定領域内に接触させ、左手の人差し指などを裏面タッチセンサ１４の裏面側から見て右側の所定領域内に接触させる。同様に、右手の親指を表面タッチセンサ１２ｂの向かって右側の所定領域内に接触させ、右手の人差し指などを裏面タッチセンサ１４の裏面側から見て左側の所定領域内に接触させる。開始操作受付部３０は、表面タッチセンサ１２ｂ及び裏面タッチセンサ１４の検出結果を受け付けて、ユーザがこのような把持操作を行ったか否かを判定する。具体的に、例えば開始操作受付部３０は、表面タッチセンサ１２ｂの左右両側、及び裏面タッチセンサ１４の左右両側の計４箇所の所定領域のそれぞれにユーザの指が１本以上接触しているか否かにより、ユーザが把持操作を行ったか否かを判定する。あるいは、より簡易な処理として、表面タッチセンサ１２ｂのいずれかの位置で２箇所以上、裏面タッチセンサ１４でもいずれかの位置で２箇所以上ユーザの指が接触していることを検知した場合に、ユーザが把持操作を行ったと判定してもよい。ユーザは、傾き操作を行う際には、筐体１０の左右両側を両手で把持するのが自然である。そこで、このような把持操作を開始操作とすることで、ユーザは、違和感なく開始操作を行ってから傾き操作を開始することができる。
【００３３】
入力値取得部３２は、ジャイロスコープ１６の検出結果に基づいて、ユーザが実行した傾き操作の内容を示す入力値Ｉを取得する。本実施形態では、入力値取得部３２は、ユーザが開始操作を行ったことを開始操作受付部３０が検出した後、単位時間（例えば１／６０秒）ごとに、ジャイロスコープ１６の検出結果から、入力値Ｉを算出する。ここでは、入力値Ｉは、ｘ成分値Ｉｘ及びｙ成分値Ｉｙの二つの数値の組によって構成される二次元量であって、初期筐体方向ＥＤｉに対する筐体１０の相対的な傾き（すなわち、初期筐体方向ＥＤｉからの筐体１０の傾き方向及び傾き量）を表す値であるものとする。初期筐体方向ＥＤｉは、ユーザが開始操作を行った際における筐体１０の姿勢を示す方向であって、開始操作受付部３０が開始操作を検出した時点における裏面タッチセンサ１４の法線方向である。なお、以下では、開始操作の検出時点におけるタッチパネル１２及び裏面タッチセンサ１４に平行な面を傾き操作の基準面ＲＰとする。通常、ユーザはディスプレイ１２ａが自分の正面に位置するように筐体１０を把持するので、初期筐体方向ＥＤｉは、開始操作が行われた時点におけるユーザの視線方向と略一致すると考えられる。
【００３４】
具体的に、ｘ成分値Ｉｘ及びｙ成分値Ｉｙは、それぞれ、ユーザが傾き操作を行った際における裏面タッチセンサ１４の法線方向（以下、筐体方向ＥＤという）を向いた単位ベクトル（以下、法線ベクトルＶという）を基準面ＲＰに射影して得られる射影点のＸ座標及びＹ座標を示す値である。図５は、法線ベクトルＶと入力値Ｉとの関係を示す説明図である。また、図６Ａは図５の法線ベクトルＶをＸ軸負方向側から見た様子を、図６Ｂは図５の法線ベクトルＶをＹ軸負方向側から見た様子を、それぞれ示している。なお、これらの図においては、開始操作がなされた時点の筐体１０の姿勢が示されており、傾き操作後の筐体１０の向きについては図示が省略されている。これらの図から分かるように、ｘ成分値Ｉｘ及びｙ成分値Ｉｙは、法線ベクトルＶの大きさを１として、それぞれ最大値１から最小値−１までの数値範囲のいずれかの値をとり、これらの成分値の組によって、ユーザがＸ軸及びＹ軸それぞれを回転中心として筐体１０を初期筐体方向ＥＤｉに対してどの程度回転させたかが示される。すなわち、傾き操作によるＸ軸及びＹ軸それぞれを回転中心とした筐体１０の回転角をθｘ及びθｙとすると、入力値取得部３２は、ジャイロスコープ１６の検出結果から得られる回転角θｘ及びθｙを用いて、入力値Ｉのｘ成分値Ｉｘ及びｙ成分値Ｉｙを取得することができる。具体的には、
Ｉｘ＝ｓｉｎθｙ
Ｉｙ＝ｓｉｎθｘ
の関係が成り立つ。なお、ここでは、Ｘ軸を中心とした回転については、Ｘ軸負方向側から見て時計回りに回転する方向を正方向とし、Ｙ軸を中心とした回転については、Ｙ軸負方向側から見て反時計回りに回転する方向を正方向としている。また、ユーザは初期筐体方向ＥＤｉから左右前後いずれの向きにも９０度を超えて筐体１０を傾けることはないものとしている。
【００３５】
また、以下では、開始操作受付部３０が開始操作を検出した時刻をｔ＝０とし、その後、開始操作受付部３０が終了操作を検出するまでの間、単位時間が経過するごとに時刻を示す値ｔが１ずつ増加することとする。さらに、時刻ｔにおいて入力値取得部３２が取得する入力値ＩをＩ（ｔ）と表記し、入力値Ｉ（ｔ）のｘ成分値及びｙ成分値をそれぞれＩｘ（ｔ）及びＩｙ（ｔ）と表記する。ｔ＝０の時点では法線ベクトルＶの方向は初期筐体方向ＥＤｉと一致するので、Ｉｘ（０）＝０，Ｉｙ（０）＝０となる。また、以下では、時刻ｔにおける筐体方向ＥＤをＥＤ（ｔ）と表記する。
【００３６】
出力値算出部３４は、ユーザが把持操作を行っている間に入力値取得部３２が取得した複数の入力値Ｉに応じて、操作対象となるパラメータの出力値Ｐｏを算出する。本実施形態では、操作対象となるパラメータは、前述したように、仮想３次元空間に設定された視線方向ＶＤを示す視線方向パラメータである。具体的に、この視線方向パラメータの出力値Ｐｏは、初期視線方向ＶＤｉを基準とした視線方向ＶＤの方位を示す二つの出力角度値Ｐｏｘ及びＰｏｙによって構成されるものとする。ここで、初期視線方向ＶＤｉは、開始操作が検出された時点における視線方向である。また、これらの出力角度値Ｐｏｘ及びＰｏｙは、二つの基準軸を回転中心とした視線方向ＶＤの回転角を示し、その基準軸は、開始操作が検出された時点の視点座標系に基づいて定義される。視点座標系は互いに直交するＶｘ軸、Ｖｙ軸、及びＶｚ軸を用いた座標系であって、Ｖｘ軸はディスプレイ１２ａの画面横方向に、Ｖｙ軸は画面縦方向に、またＶｚ軸は視線方向ＶＤに、それぞれ対応している。具体的に、出力角度値Ｐｏｘは、開始操作が検出された時点の視点座標系におけるＶｘ軸を回転中心とした回転角を、出力角度値Ｐｏｙは、Ｖｙ軸を回転中心とした回転角を、それぞれ示すこととする。図７は、このような視点座標系と出力角度値Ｐｏｘ及びＰｏｙとの関係を示す説明図であって、仮想３次元空間内に設定される視点の位置ＶＰ、初期視線方向ＶＤｉ、及び画像の投影面ＰＰが示されている。この出力角度値Ｐｏｘ及びＰｏｙが、出力値算出部３４による算出の対象となる。視線方向ＶＤは、出力角度値Ｐｏｘ及びＰｏｙに応じて初期視線方向ＶＤｉを回転させて得られる方向となる。すなわち、出力角度値Ｐｏｘ及びＰｏｙは、Ｖｙ軸方向及びＶｘ軸方向という二つの基準軸方向への回転の大きさを示す値になっており、これらの角度値の組によって表される方向及び大きさで初期視線方向ＶＤｉを回転させることにより、視線方向ＶＤが決定される。
【００３７】
以下、出力値Ｐｏの算出方法の具体例について説明する。出力値算出部３４は、入力値取得部３２が取得した複数の入力値Ｉの一つに応じて決まる基準値Ｐｒを、入力値取得部３２が単位時間ごとに取得した複数の入力値Ｉのそれぞれに応じた変化量Ｐｄだけ変化させた値を、出力値Ｐｏとして算出する。出力値Ｐｏと同様に、基準値Ｐｒも基準角度値Ｐｒｘ及びＰｒｙの二つの角度値によって構成される。また、変化量Ｐｄも、角度値Ｐｏｘの変化量を示す差分角度値Ｐｄｘと、角度値Ｐｏｙの変化量を示す差分角度値Ｐｄｙの二つの角度値によって構成されてよい。
【００３８】
本実施形態では、出力値算出部３４は、単位時間が経過して、入力値取得部３２が新たな入力値Ｉを取得するごとに、出力値Ｐｏを更新する。このとき、時刻ｔ＝ｎにおける基準値Ｐｒ（ｎ）は、入力値取得部３２が最後に取得した入力値Ｉ（ｎ）に応じて決まる値であるものとする。また、変化量Ｐｄについては、開始操作が検出された時刻ｔ＝０の時点より後に取得された全ての入力値Ｉ（ｔ）（ｔ＝０，１，２，・・・，ｎ）のそれぞれについて算出され、出力値Ｐｏ（ｎ）に反映される。その結果、時刻ｔ＝ｎにおける角度値Ｐｏｘ（ｎ）及びＰｏｙ（ｎ）は、例えば以下の計算式により算出される値となる。
【数１】
0005508122.tif 000002
【００３９】
ここで、基準角度値Ｐｒｘ（ｎ）及びＰｒｙ（ｎ）の算出方法の具体例について、説明する。これらの基準角度値は、時刻ｔ＝ｎにおける入力値Ｉ（ｎ）に応じて決まるので、時刻ｔ＝ｎの時点における筐体１０の姿勢に応じて一意に決定される値となる。例えばＰｒｘ（ｎ）及びＰｒｙ（ｎ）は、入力値Ｉ（ｔ）のｘ成分値Ｉｘ（ｔ）及びｙ成分値Ｉｙ（ｔ）を用いて、以下の計算式により算出される値となる。
Ｐｒｘ（ｎ）＝ｓｉｎ−１（α・Ｉｙ（ｎ））
Ｐｒｙ（ｎ）＝ｓｉｎ−１（α・Ｉｘ（ｎ））
ここで、αは予め定められた係数である。
【００４０】
αが１の場合、基準角度値Ｐｒｘ（ｎ）及びＰｒｙ（ｎ）は、前述した計算式により、それぞれθｘ及びθｙに一致する。すなわち、基準値Ｐｒは、初期筐体方向ＥＤｉに対する筐体方向ＥＤ（ｎ）の傾き方向及び傾き量と一致する方向及び量で、初期視線方向ＶＤｉを回転させる回転角を表す。また、αが１より小さい場合、基準値Ｐｒは、初期筐体方向ＥＤｉに対する筐体方向ＥＤ（ｎ）の傾き方向と一致する方向に、この傾き量より小さい角度だけ初期視線方向ＶＤｉを回転させる回転角を表すことになる。逆にαを１より大きい値とすれば、基準値Ｐｒは、初期筐体方向ＥＤｉに対する筐体方向ＥＤ（ｎ）の傾き量よりも大きな角度だけ初期視線方向ＶＤｉを回転させる回転角を表すことになる。いずれにせよ、このように基準角度値Ｐｒｘ（ｎ）及びＰｒｙ（ｎ）を算出することで、出力値Ｐｏ（ｎ）は、時刻ｔ＝ｎにおける筐体１０の姿勢に対応する向きに初期視線方向ＶＤｉを回転させる成分を含むことになる。なお、係数αは負の値であってもよい。この場合、基準値Ｐｒが示す初期視線方向ＶＤｉからの回転方向は、筐体１０の傾き方向とは逆方向になる。また、上記の例では、Ｉｙ（ｎ）からＰｒｘ（ｎ）を算出する計算式と、Ｉｘ（ｎ）からＰｒｙ（ｎ）を算出する計算式とは、同じ関数であることとしたが、出力値算出部３４は、互いに異なる計算方法でＰｒｘ（ｎ）及びＰｒｙ（ｎ）を算出してもよい。具体的に、例えば出力値算出部３４は、係数αの代わりに、互いに異なる係数α１及びα２を用いてＰｒｘ（ｎ）及びＰｒｙ（ｎ）を算出してもよい。
【００４１】
また、基準角度値Ｐｏｘは、入力値Ｉｙの絶対値が所定の閾値Ｉｔｈを超える範囲において、入力値Ｉｙの変化に対する基準角度値Ｐｒｘの変化の割合が、閾値Ｉｔｈ以下の範囲における入力値Ｉｙの変化に対する基準値Ｐｒｘの変化の割合より小さくなるように決定されることとしてもよい。具体的に、例えば出力値算出部３４は、以下の計算式により基準角度値Ｐｒｘを算出する。
【数２】
0005508122.tif 000003
こうすれば、入力値Ｉｙの絶対値が閾値Ｉｔｈを超えた範囲では、Ｉｙに乗じる係数が１／２になり、その分、入力値Ｉｙの単位変化当たりの基準角度値Ｐｒｘの変化の割合が小さくなる。これにより、入力値Ｉｙが、上限値（ここでは＋１）及び下限値（ここでは−１）に近づいたときに、入力値Ｉｙの変化が基準角度値Ｐｒｘの変化に反映されにくくなる。なお、ここでは入力値Ｉｙの絶対値が閾値Ｉｔｈ以下の範囲での係数と、閾値Ｉｔｈを超える範囲での係数との比を１／２としたが、この比はそれ以外の値であってもよい。また、入力値Ｉｙの絶対値が閾値Ｉｔｈ以下の場合と閾値Ｉｔｈを超える場合とで異なる計算式を用いるのではなく、入力値Ｉｙの絶対値が大きくなるにつれて、入力値Ｉｙの変化に対する基準角度値Ｐｒｘの変化の割合が小さくなるような一つの関数（例えば二階微分が負の値になる関数）を用いて基準角度値Ｐｒｘを算出してもよい。また、入力値Ｉｘを用いて基準角度値Ｐｏｙを算出する場合についても、以上説明した基準角度値Ｐｒｙの計算式と同様の計算式で算出することとしてよい。
【００４２】
一方、入力値Ｉ（ｔ）に応じて決まる差分角度値Ｐｄｘ（ｔ）及びＰｄｙ（ｔ）も、基準角度値Ｐｒｘ（ｎ）及びＰｒｙ（ｎ）と同様に、入力値Ｉ（ｔ）に応じた向き及び量で視線方向ＶＤを回転させる回転角を示す角度値であってよい。ただし、差分角度値Ｐｄｘ（ｔ）およびＰｄｙ（ｔ）は、同じ入力値Ｉ（ｔ）に応じて決まる基準角度値Ｐｒｘ（ｔ）およびＰｒｙ（ｔ）と比較して、相対的に小さな値となることが望ましい。そのため、これらの差分角度値は、基準角度値とは異なる関数により算出される。例えば差分角度値Ｐｄｘ（ｔ）およびＰｄｙ（ｔ）は、それぞれ、Ｉｘ（ｔ）及びＩｙ（ｔ）を用いて、下記のような関数で表される。
Ｐｄｘ（ｔ）＝ｓｉｎ−１（Ｆ（Ｉｙ（ｔ）））
Ｐｄｙ（ｔ）＝ｓｉｎ−１（Ｆ（Ｉｘ（ｔ）））
ここで、Ｆ（ｘ）は予め定められた関数である。関数Ｆ（ｘ）は、例えば以下のように定義される。
【数３】
0005508122.tif 000004
ここで、βは予め定められた係数である。なお、係数βも、係数αと同様、正の値であっても負の値であってもよい。さらに、Ｆ（ｘ）は、その絶対値が所定の上限値を超えないように制限されてもよい。この場合、ｘの絶対値が所定の値を超える場合、Ｆ（ｘ）の絶対値はこの上限値に一致する値になる。なお、基準角度値Ｐｒと同様に、Ｐｄｘ（ｔ）及びＰｄｙ（ｔ）についても、互いに異なる計算式によって算出してもよい。具体的に、例えば出力値算出部３４は、Ｐｄｘ（ｔ）を算出する場合と、Ｐｄｙ（ｔ）を算出する場合とで、上述した計算式における係数βを変化させてもよい。こうすれば、Ｙ軸を回転中心として筐体１０を回転させた場合と、Ｘ軸を回転中心として筐体１０を回転させた場合とで、同じ回転量でも視線方向ＶＤの変化量が異なるようにすることができる。
【００４３】
なお、出力値算出部３４は、前述したように、単位時間が経過するごとに新たに入力値取得部３２が取得した入力値Ｉを反映して新たな出力値Ｐｏを算出する必要がある。しかしながら、出力値算出部３４は、必ずしも出力値Ｐｏの計算を最初からやり直す必要はなく、前回算出された出力値Ｐｏに対して、基準値Ｐｒを新たに取得した入力値Ｉに応じて決まる値に更新するとともに、新たに取得した入力値Ｉに応じた変化量だけさらに変化させればよい。具体例として、時刻ｔ＝ｎにおける出力角度値Ｐｏｘ（ｎ）及びＰｏｙ（ｎ）は、時刻ｔ＝（ｎ−１）における出力角度値Ｐｏｘ（ｎ−１）及びＰｏｙ（ｎ−１）を用いて、下記の計算式により算出される。
【数４】
0005508122.tif 000005
このような計算式により出力値Ｐｏを算出する場合、出力値算出部３４は、時刻ｔ＝（ｎ−１）において出力角度値Ｐｏｘ（ｎ−１）及びＰｏｙ（ｎ−１）を算出した際に、当該算出した出力角度値Ｐｏｘ（ｎ−１），Ｐｏｙ（ｎ−１）と、その算出に用いた基準角度値Ｐｒｘ（ｎ−１），Ｐｒｙ（ｎ−１）と、を記憶部２２内に一時的に格納しておく。そして、次回の演算の際には、記憶部２２に格納されている前回の出力角度値及び基準角度値と、新たに取得された入力値Ｉ（ｎ）から算出した基準角度値及び差分角度値と、を用いて、上述した計算式により出力角度値Ｐｏｘ（ｎ）及びＰｏｙ（ｎ）を算出する。
【００４４】
あるいは、出力値算出部３４は、以下に示す計算式により出力角度値Ｐｏｘ（ｎ）及びＰｏｙ（ｎ）を算出してもよい。
【数５】
0005508122.tif 000006
この例では、出力値算出部３４は、開始操作後に算出された差分角度値Ｐｄｘを合計した累積値を、記憶部２２内に格納しておく。そして、新たに入力値Ｉ（ｔ）が取得された際には、記憶部２２に格納されている累積値を、入力値Ｉ（ｔ）から算出した差分角度値Ｐｄｘ（ｔ）をさらに加算した値に更新する。そして、この更新された累積値に、入力値Ｉ（ｔ）から算出した基準角度値Ｐｄｘ（ｔ）を加算することで、出力角度値Ｐｏｘ（ｔ）を算出する。出力角度値Ｐｏｙ（ｔ）についても、同様の処理により算出できる。
【００４５】
なお、これまでの説明では、出力値算出部３４は、開始操作が検出された後に取得された全ての入力値Ｉについて変化量Ｐｄを算出し、これらの変化量Ｐｄを出力値Ｐｏに反映させることとしたが、ユーザが開始操作を実行した後、かつ、所定の開始条件が満たされた後に取得された入力値Ｉについて算出した変化量Ｐｄだけを出力値Ｐｏに反映させることとしてもよい。この場合の開始条件は、例えば開始操作の検出後予め定められた時間が経過することであってよい。あるいは、入力値Ｉの単位時間の変化量が所定の値未満となったことでもよい。このようにすることで、ユーザが開始操作を行った直後においては、基準値Ｐｒのみに基づいて出力値Ｐｏが決定され、開始操作後、しばらく時間が経過してから（あるいは、ユーザが筐体１０の姿勢を一定の状態に保つようになってから）変化量Ｐｄに応じた出力値Ｐｏの変化が開始するようにすることができる。
【００４６】
表示画像制御部３６は、出力値算出部３４が出力する視線方向パラメータの出力値Ｐｏに応じて、ディスプレイ１２ａに表示されている画像を更新する。本実施形態では、表示画像制御部３６は、時刻ｔにおいて出力値算出部３４が出力する出力値Ｐｏ（ｔ）に応じて決まる回転方向及び回転量で初期視線方向ＶＤｉを回転させた方向を、時刻ｔにおける視線方向ＶＤ（ｔ）とし、この視線方向ＶＤ（ｔ）に沿って仮想３次元空間内の様子を見た空間画像をディスプレイ１２ａに表示させる。このような処理が単位時間ごとに繰り返されることにより、表示画像内に含まれる画像要素は、出力値Ｐｏの変化に応じて当該表示画像内を移動することになる。この画像要素は、仮想空間内に配置された各種のオブジェクトであってもよいし、メニュー画面内のアイコン等であってもよい。
【００４７】
本実施形態では、表示画像制御部３６は、ゲームキャラクタオブジェクトや背景オブジェクト等のオブジェクトを配置した仮想３次元空間を記憶部２２内に構築する。そして、出力値算出部３４が算出する出力値Ｐｏに応じて決定される視線方向ＶＤから見た当該仮想３次元空間内の様子を示す画像の描画を画像処理部２４に指示することとする。当該指示に応じて画像処理部２４内のＧＰＵが画像を生成し、フレームバッファに書き込むことで、ディスプレイ１２ａにゲーム画像が表示される。これにより、ユーザは、自身が行った傾き操作に応じて変化した視線方向ＶＤから見た仮想３次元空間内の様子を観覧できる。
【００４８】
なお、表示画像制御部３６は、出力値算出部３４が算出する出力値Ｐｏに応じて表示画像を更新する場合に、この出力値Ｐｏの算出に用いられた変化量の大きさを示す画像（以下、インジケータ画像４０という）を表示画像に含めてもよい。図８は、このようなインジケータ画像４０を含んだ表示画像の一例を示す図である。ここで、インジケータ画像４０は、特に最後に入力値取得部３２が取得した入力値Ｉに応じた変化量の大きさを示すこととする。すなわち、時刻ｔにおいて算出された出力値Ｐｏ（ｔ）に応じて表示画像を更新する際には、入力値Ｉ（ｔ）に応じて算出された差分角度値Ｐｄｘ（ｔ）及びＰｄｙ（ｔ）の大きさを示すインジケータ画像４０を表示する。インジケータ画像４０は、差分角度値Ｐｄｘ（ｔ）及びＰｄｙ（ｔ）それぞれの絶対値の合計値に応じて変化する画像であってもよいし、Ｐｄｘ（ｔ）及びＰｄｙ（ｔ）の二乗和に応じて変化する画像であってよい。あるいは、Ｐｄｘ（ｔ）及びＰｄｙ（ｔ）それぞれの大きさを示す画像であってよい。また、Ｐｄｘ（ｔ）及びＰｄｙ（ｔ）そのものの大きさではなく、例えば基準値Ｐｒ（ｔ）や出力値Ｐｏ（ｔ）の大きさに対するＰｄｘ（ｔ）及びＰｄｙ（ｔ）の大きさを示す画像であってもよい。このようなインジケータ画像４０を表示することにより、ユーザに、操作対象のパラメータの現在の変化状況を明示的に知らせることができる。
【００４９】
また、本実施形態では、以上説明した入力値Ｉに応じた操作対象のパラメータの更新処理は、ユーザが所定の終了操作を行うまで繰り返し実行されることとする。ユーザが所定の終了操作を行うと、これに応じて出力値算出部３４は操作対象のパラメータの出力値Ｐｏを算出する処理を終了し、表示画像制御部３６は、当該終了操作の時点における出力値Ｐｏによって決まる視線方向ＶＤを維持しながら、当該視線方向ＶＤから見た仮想３次元空間の画像を表示する。
【００５０】
具体的に、この終了操作は、ユーザが把持操作を行っている状態（すなわち、ユーザが表面タッチセンサ１２ｂ及び裏面タッチセンサ１４それぞれに両手の指を接触させた状態）を解除する操作であることとする。この例では、ユーザは、傾き操作を実行している間、把持操作を行っている状態を保つこととする。すなわち、開始操作受付部３０は、ユーザが把持操作を開始した後、その状態を維持しているか否かの判定を所定時間おきに繰り返す。そして、把持状態が終了したと判断される場合（すなわち、ユーザが表面タッチセンサ１２ｂ及び裏面タッチセンサ１４それぞれの左右に設定された所定領域のいずれかに接触させていた指を離した場合）、開始操作受付部３０は、この操作を傾き操作の終了を示す終了操作として受け付けて、その旨を入力値取得部３２に対して出力する。これにより、入力値取得部３２は、ユーザが把持操作を継続している間（すなわち、開始操作を行ってから終了操作を行うまでの間）、ユーザが行った操作入力の内容を示す入力値を取得する処理を継続し、ユーザが終了操作を実行した場合には、この入力値取得処理を終了することができる。
【００５１】
以上説明したように、本実施形態に係る情報入力装置１においては、操作対象となるパラメータの出力値Ｐｏが、基準値Ｐｒと変化量Ｐｄとに基づいて決定される。このうち、基準値Ｐｒは、ある瞬間の入力値Ｉを反映した成分であり、変化量Ｐｄについては、ユーザが開始操作を行った後に取得された複数の入力値Ｉのそれぞれに応じた変化量Ｐｄが累積されて出力値Ｐｏに反映される。ユーザが傾き操作を継続している間は、時間経過に従って出力値Ｐｏに占める変化量Ｐｄの寄与は増大していくので、ある一時点における入力値Ｉだけを用いて出力値Ｐｏを算出する場合と異なり、出力値Ｐｏがとり得る値の範囲を大きくすることができる。逆に、傾き操作を開始した直後は、出力値Ｐｏに対する変化量Ｐｄの寄与は基準値Ｐｒと比較して小さいので、基準値Ｐｒに略対応する出力値Ｐｏが出力される。例えばユーザは、開始操作を行った後、視線方向ＶＤを変化させたい向きに筐体１０を傾ける傾き操作を行い、その後、すぐに終了操作を行うことで、自分の意図した向きに近い向きに視線方向ＶＤを変化させることができる。
【００５２】
なお、本発明の実施の形態は以上説明したものに限られない。例えば以上の説明においては、操作対象のパラメータは視線方向ＶＤを表すパラメータであることとしたが、操作対象のパラメータはこれ以外の各種のパラメータであってよい。例えば情報入力装置１は、仮想３次元空間に設定された視点ＶＰの位置座標をユーザの傾き操作に応じて変化させてもよいし、仮想３次元空間や仮想平面内に配置されたキャラクタの位置や進行方向をユーザの傾き操作に応じて変化させてもよい。あるいは、仮想平面内においてディスプレイ１２ａに表示させる表示範囲を変化させてもよい。
【００５３】
また、情報入力装置１は、ジャイロスコープに限らず、例えば地磁気センサなど、各種の検知手段によってユーザが行った傾き操作の向きや傾き量を検出することとしてもよい。また、ユーザが行う操作入力の方法は、筐体１０を傾ける傾き操作に限られない。例えば情報入力装置１は、表面タッチセンサ１２ｂや裏面タッチセンサ１４に対するユーザの操作入力を受け付けることによって、入力値Ｉを取得してもよい。このような処理の具体例として、ユーザは、裏面タッチセンサ１４の一点に自分の指のいずれかを接触させる。そして、その状態を保ったまま、別の指を裏面タッチセンサ１４の他の一点に接触させる。このとき、情報入力装置１は、最初にユーザの指が接触した位置を基準位置として、この基準位置から、次にユーザの指が接触した位置までの方向及び距離を示す値を、入力値Ｉとして取得する。こうすれば、ユーザは、開始操作の後に筐体１０を傾ける操作を行った場合と同様に、タッチセンサを用いて基準位置に対する方向及び量を示す操作入力を行うことができる。あるいは、ユーザは、単にいずれかの指を裏面タッチセンサ１４の一点に接触させることで、操作対象のパラメータを変化させる操作入力を行うこととしてもよい。この場合には、情報入力装置１は、例えば裏面タッチセンサ１４の検出面の中心位置を基準位置とすることで、ユーザの指が接触した位置の基準位置に対する方向及び量を示す値を、入力値Ｉとして取得できる。なお、表面タッチセンサ１２ｂを用いても、以上説明したような裏面タッチセンサ１４に対する操作入力と同様の操作入力を行うことができる。
【００５４】
また、以上の説明では、入力値Ｉは、筐体１０の向きを示す法線ベクトルＶを基準面ＲＰに射影して得られる射影点のＸ座標及びＹ座標を示す２つの成分値から構成されることとしたが、これに代えて、情報入力装置１は、筐体１０のＸ軸及びＹ軸それぞれを回転中心とした回転角そのものを示すθｘ及びθｙを入力値Ｉとして取得し、この回転角θｘ及びθｙを用いて出力角度値Ｐｏｘ及びＰｏｙの算出を行ってもよい。また、以上の説明では、入力値Ｉは基準位置に対する方向及び量を示す二次元の値であることとしたが、入力値Ｉは一次元の値であってもよい。例えば情報入力装置１は、表面タッチセンサ１２ｂや裏面タッチセンサ１４上においてユーザの指が接触した位置のＸ軸方向の座標値だけを入力値Ｉとして取得し、取得された複数の入力値Ｉを用いて算出される一次元の出力値Ｐｏを用いて、当該出力値Ｐｏに応じた量だけディスプレイ１２ａに表示される表示画像を画面横方向にスクロールさせるスクロール処理を実行してもよい。また、入力値Ｉは３つの成分値の組によって構成される三次元の値であってもよい。例えば以上の説明ではジャイロスコープ１６によって検出されるＸ軸及びＹ軸それぞれを回転中心とした回転量を示す成分値を入力値としたが、これらの成分値に加えて、Ｘ軸及びＹ軸双方に直交するＺ軸を回転中心とした回転量を示す成分値Ｉｚも、入力値に含めてよい。この場合、情報入力装置１は、ユーザが裏面タッチセンサ１４の法線方向を回転中心として筐体１０を回転させる操作に応じて、視線方向ＶＤを回転中心としてディスプレイ１２ａに表示する画像を回転させることとし、出力値算出部３４は、成分値Ｉｚに応じて表示画像の回転量を示す出力角度値Ｐｏｚを算出する。
【００５５】
また、以上の説明では、ジャイロスコープ１６や表面タッチセンサ１２ｂ、裏面タッチセンサ１４が操作入力装置として機能することとしたが、例えばアナログスティックなど、これ以外の各種の操作入力装置を用いてユーザの操作入力を受け付けてもよい。また、入力値Ｉを取得する対象となる操作入力の開始や終了を指示する開始操作、終了操作も、以上説明したものに限られず、例えばボタンの押下などであってもよい。さらに、これらの操作入力装置は、いずれも情報入力装置１の筐体１０内に配置されることとしたが、操作入力装置は情報入力装置１と別体に構成されてもよい。具体例として、情報入力装置１は家庭用ゲーム機やパーソナルコンピュータ等であって、操作入力装置は、この情報入力装置１と有線又は無線で通信接続され、ジャイロスコープを内蔵するコントローラであってもよい。この場合、ユーザは、このコントローラの筐体を手で把持して傾ける操作を行い、情報入力装置１は、コントローラから送信されるジャイロスコープの検出結果に基づいて、出力値の算出を行う。
【符号の説明】
【００５６】
１  情報入力装置、１０  筐体、１２  タッチパネル、１２ａ  ディスプレイ、１２ｂ  表面タッチセンサ、１４  裏面タッチセンサ、１６  ジャイロスコープ、２０  制御部、２２  記憶部、２４  画像処理部、３０  開始操作受付部、３２  入力値取得部、３４  出力値算出部、３６  表示画像制御部。
【図１Ａ】
0005508122.tif 000007
【図１Ｂ】
0005508122.tif 000008
【図２】
0005508122.tif 000009
【図３】
0005508122.tif 000010
【図４】
0005508122.tif 000011
【図５】
0005508122.tif 000012
【図６Ａ】
0005508122.tif 000013
【図６Ｂ】
0005508122.tif 000014
【図７】
0005508122.tif 000015
【図８】
0005508122.tif 000016