(57)【要約】【課題】入力部材を動かすことで行われる入力操作の操作性を向上する。【解決手段】情報処理装置は、撮像手段による撮像画像に基づく撮像情報を用いて、所定の平面上の位置であって、入力部材の少なくとも姿勢に応じて変化する第１位置を算出する。また、情報処理装置は、その検出結果から入力部材の姿勢を算出可能なセンサの検出結果を用いて、上記平面上の位置であって、入力部材の姿勢に応じた第２位置を算出する。情報処理装置は、第１位置と第２位置との関係に関する条件を含む所定条件が満たされるか否かを繰り返し判定する。上記平面上の指示位置は、第１位置および／または第２位置を用いて算出される。ここで、情報処理装置は、所定条件が満たされた後の充足期間において、所定条件が満たされる前の非充足期間に比べて第２位置の影響を相対的に大きくして指示位置を算出する。【選択図】図４
2015005169.tif 000002
【特許請求の範囲】
【請求項１】
入力部材に対する入力に基づいて指示位置を算出する情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記入力部材に設けられる、または、前記入力部材を撮像する撮像手段による撮像画像に基づく撮像情報を用いて、所定の平面上の位置であって、前記入力部材の少なくとも姿勢に応じて変化する第１位置を算出する第１位置算出手段と、
その検出結果から前記入力部材の姿勢を算出可能なセンサの検出結果を用いて、前記平面上の位置であって、前記入力部材の姿勢に応じた第２位置を算出する第２位置算出手段と、
前記第１位置と前記第２位置との関係に関する条件を含む所定条件が満たされるか否かを繰り返し判定する判定手段と、
前記第１位置および／または前記第２位置を用いて前記平面上の指示位置を算出する指示位置算出手段として前記コンピュータを機能させ、
前記指示位置算出手段は、前記所定条件が満たされた後の充足期間において、前記所定条件が満たされる前の非充足期間に比べて前記第２位置の影響を相対的に大きくして前記指示位置を算出する、情報処理プログラム。
【請求項２】
前記所定条件は、前記第１位置と前記第２位置との距離に関する条件を含む、請求項１に記載の情報処理プログラム。
【請求項３】
前記距離に関する条件は、前記第１位置と前記第２位置との距離が所定値以下となることである、請求項２に記載の情報処理プログラム。
【請求項４】
前記判定手段は、
前記第１位置と前記第２位置との関係に関する単位条件が満たされたか否かを繰り返し判定する単位判定手段と、
前記単位条件が所定の複数回満たされた場合に前記所定条件が満たされたと判定する判定実行手段とを含む、請求項１から請求項３のいずれか１項に記載の情報処理プログラム。
【請求項５】
前記判定手段は、
前記第１位置と前記第２位置との関係に関する単位条件が満たされたか否かを繰り返し判定する単位判定手段と、
前記単位条件が連続して所定回数満たされた場合に前記所定条件が満たされたと判定する判定実行手段とを含む、請求項１から請求項３のいずれか１項に記載の情報処理プログラム。
【請求項６】
前記所定条件は、前記センサの検出結果の信頼度に関する条件を含む、請求項１から請求項５のいずれか１項に記載の情報処理プログラム。
【請求項７】
前記信頼度に関する条件は、前記入力部材の動きが所定の基準よりも緩やかであることである、請求項６に記載の情報処理プログラム。
【請求項８】
前記指示位置算出手段は、前記非充足期間においては前記第１位置を用いて前記指示位置を算出し、前記充足期間においては前記第２位置を用いて前記指示位置を算出する、請求項１から請求項７のいずれか１項に記載の情報処理プログラム。
【請求項９】
前記指示位置算出手段は、前記非充足期間においては前記第１位置を用い、前記第２位置を用いずに前記指示位置を算出し、前記充足期間においては前記第１位置と前記第２位置とを用いて前記指示位置を算出する、請求項１から請求項７のいずれか１項に記載の情報処理プログラム。
【請求項１０】
前記第２位置算出手段は、前記センサの検出結果に基づいて前記第２位置を算出し、算出された第２位置を前記第１位置に近づける補正を行い、
前記判定手段は、補正された第２位置を用いて前記所定条件が満たされるか否かを判定し、
前記指示位置算出手段は、補正された第２位置を用いて前記指示位置を算出する、請求項１から請求項９のいずれか１項に記載の情報処理プログラム。
【請求項１１】
前記第１位置および補正前の前記第２位置は、繰り返し算出され、
前記第２位置算出手段は、前記第１位置および前記補正前の第２位置が算出される度に前記第１位置と補正前の第２位置との差に応じて補正量を算出し、補正前の第２位置を当該補正量だけ前記第１位置に近づける補正を行う、請求項１０に記載の情報処理プログラム。
【請求項１２】
前記第２位置算出手段は、前記第１位置が算出されずに前記第２位置が算出される場合、最後に算出された補正量を用いて、今回に算出された第２位置を補正する、請求項１１に記載の情報処理プログラム。
【請求項１３】
前記第１位置算出手段は、所定のタイミングで取得される前記撮像情報を用いて前記第１位置を算出し、
前記第２位置算出手段は、前記撮像情報と同じタイミングで取得される前記センサの検出結果を用いて前記第２位置を算出する、請求項１から請求項１２のいずれか１項に記載の情報処理プログラム。
【請求項１４】
前記第１位置算出手段は、前記撮像手段が所定の撮像対象を撮像可能な場合に、前記撮像手段による撮像画像における当該撮像対象の位置に基づいて前記第１位置を算出し、
前記第２位置算出手段は、前記入力部材が任意の姿勢である場合における前記センサの検出結果に基づいて前記第２位置を算出する、請求項１から請求項１３のいずれか１項に記載の情報処理プログラム。
【請求項１５】
入力部材に対する入力に基づいて指示位置を算出する情報処理装置であって、
前記入力部材に設けられる、または、前記入力部材を撮像する撮像手段による撮像画像に基づく撮像情報を用いて、所定の平面上の位置であって、前記入力部材の少なくとも姿勢に応じて変化する第１位置を算出する第１位置算出部と、
その検出結果から前記入力部材の姿勢を算出可能なセンサの検出結果を用いて、前記平面上の位置であって、前記入力部材の姿勢に応じた第２位置を算出する第２位置算出部と、
前記第１位置と前記第２位置との関係に関する条件を含む所定条件が満たされるか否かを繰り返し判定する判定部と、
前記第１位置および／または前記第２位置を用いて前記平面上の指示位置を算出する指示位置算出部とを備え、
前記指示位置算出部は、前記所定条件が満たされた後の充足期間において、前記所定条件が満たされる前の非充足期間に比べて前記第２位置の影響を相対的に大きくして前記指示位置を算出する、情報処理装置。
【請求項１６】
入力部材に対する入力に基づいて指示位置を算出する情報処理システムであって、
前記入力部材に設けられる、または、前記入力部材を撮像する撮像手段による撮像画像に基づく撮像情報を用いて、所定の平面上の位置であって、前記入力部材の少なくとも姿勢に応じて変化する第１位置を算出する第１位置算出部と、
その検出結果から前記入力部材の姿勢を算出可能なセンサの検出結果を用いて、前記平面上の位置であって、前記入力部材の姿勢に応じた第２位置を算出する第２位置算出部と、
前記第１位置と前記第２位置との関係に関する条件を含む所定条件が満たされるか否かを繰り返し判定する判定部と、
前記第１位置および／または前記第２位置を用いて前記平面上の指示位置を算出する指示位置算出部とを備え、
前記指示位置算出部は、前記所定条件が満たされた後の充足期間において、前記所定条件が満たされる前の非充足期間に比べて前記第２位置の影響を相対的に大きくして前記指示位置を算出する、情報処理システム。
【請求項１７】
入力部材に対する入力に基づいて指示位置を算出する情報処理システムにおいて実行される指示位置の算出方法であって、
前記入力部材に設けられる、または、前記入力部材を撮像する撮像手段による撮像画像に基づく撮像情報を用いて、所定の平面上の位置であって、前記入力部材の少なくとも姿勢に応じて変化する第１位置を算出する第１位置算出ステップと、
その検出結果から前記入力部材の姿勢を算出可能なセンサの検出結果を用いて、前記平面上の位置であって、前記入力部材の姿勢に応じた第２位置を算出する第２位置算出ステップと、
前記第１位置と前記第２位置との関係に関する条件を含む所定条件が満たされるか否かを繰り返し判定する判定ステップと、
前記第１位置および／または前記第２位置を用いて前記平面上の指示位置を算出する指示位置算出ステップとを備え、
前記指示位置算出ステップにおいては、前記所定条件が満たされた後の充足期間において、前記所定条件が満たされる前の非充足期間に比べて前記第２位置の影響を相対的に大きくして前記指示位置が算出される、指示位置の算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力部材（入力装置）に対する入力に基づいて指示位置を算出するための情報処理プログラム、情報処理システム、情報処理装置、および、指示位置の算出方法に関する。
【背景技術】
【０００２】
従来、入力装置を動かす操作によって入力を行う情報処理システムがある。例えば特許文献１に記載のゲームシステムでは、ユーザが把持するコントローラにカメラを設け、テレビの周囲に配置されたマーカをカメラによって撮像する。ゲームシステムは、カメラによる撮像画像に基づいて２次元ベクトルを算出し、モニタに表示される操作対象を２次元ベクトルに基づいて移動させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−６１４８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
カメラによってマーカを撮像する方法では、カメラの撮像範囲（視野範囲）にマーカが含まれる範囲でしか入力装置を動かすことができず、入力装置を動かす範囲が制限されていた。
【０００５】
それ故、本発明の目的は、入力部材を動かすことで行われる入力操作の操作性を向上することができる情報処理プログラム、情報処理システム、情報処理装置、および、指示位置の算出方法を提供することである。
【課題を解決するための手段】
【０００６】
上記の課題を解決すべく、本発明は、以下の（１）〜（１４）の構成を採用した。
【０００７】
（１）
本発明の一例は、入力部材に対する入力に基づいて指示位置を算出する情報処理装置のコンピュータにおいて実行される情報処理プログラムである。情報処理プログラムは、第１位置算出手段と、第２位置算出手段と、判定手段と、指示位置算出手段としてコンピュータを機能させる。
第１位置算出手段は、入力部材に設けられる、または、入力部材を撮像する撮像手段による撮像画像に基づく撮像情報を用いて、所定の平面上の位置であって、入力部材の少なくとも姿勢に応じて変化する第１位置を算出する。
第２位置算出手段は、その検出結果から入力部材の姿勢を算出可能なセンサの検出結果を用いて、平面上の位置であって、入力部材の姿勢に応じた第２位置を算出する。
判定手段は、第１位置と第２位置との関係に関する条件を含む所定条件が満たされるか否かを繰り返し判定する。
指示位置算出手段は、第１位置および／または第２位置を用いて平面上の指示位置を算出する。
また、指示位置算出手段は、所定条件が満たされた後の充足期間において、所定条件が満たされる前の非充足期間に比べて第２位置の影響を相対的に大きくして指示位置を算出する。
【０００８】
上記「入力部材」は、情報処理装置とは別体の入力装置であってもよいし、情報処理装置と一体として構成されてもよい。
【０００９】
上記（１）の構成によれば、撮像情報から算出される第１位置とともに、センサの検出結果から算出される第２位置を用いて指示位置が算出される。したがって、例えば撮像情報から第１位置が算出されない場合でも第２位置を用いて指示位置が算出されるので、ユーザは、第１位置が算出されないような姿勢でも入力部材を用いて入力操作を行うことができる。これによれば、ユーザは、入力部材をより自由に動かして入力操作を行うことができるので、入力部材を動かす入力操作の操作性を向上することができる。
【００１０】
また、上記（１）の構成によれば、非充足期間においては、第１位置の影響を相対的に大きくして指示位置が算出される。つまり、指示位置の算出が開始された初期段階においては、第１位置の影響を相対的に大きくすることによって、指示位置の精度を向上することができる。
【００１１】
（２）
所定条件は、第１位置と第２位置との距離に関する条件を含んでいてもよい。
【００１２】
上記（２）の構成によれば、上記距離を用いることによって、入力部材の姿勢に応じた値として第２位置が第１位置と同程度に精度良く算出されているか否かを容易に判断することができる。これによって、非充足期間から充足期間への切り替えの判断を容易に行うことができる。
【００１３】
（３）
距離に関する条件は、第１位置と第２位置との距離が所定値以下となることであってもよい。
【００１４】
上記（３）の構成によれば、第１位置と第２位置との差が小さいタイミングで非充足期間から充足期間への切り替えが行われることになる。このようなタイミングで切り替えを行うことによって、これらの位置に基づく指示位置が切り替え前後において急激に変化する可能性を軽減することができる。これによれば、切り替え時にユーザに違和感を与えるおそれが少なくなるので、入力操作の操作性を向上することができる。
【００１５】
（４）
判定手段は、単位判定手段と、判定実行手段とを含んでいてもよい。
単位判定手段は、第１位置と第２位置との関係に関する単位条件が満たされたか否かを繰り返し判定する。
判定実行手段は、単位条件が所定の複数回満たされた場合に所定条件が満たされたと判定する。
【００１６】
上記（４）の構成によれば、単位条件が偶然に１回だけ満たされた場合に、非充足期間から充足期間への切り替えが行われることを防止することができる。これによって、切り替えタイミングの精度を向上することができ、入力部材の操作性を向上することができる。
【００１７】
（５）
判定手段は、単位判定手段と、判定実行手段とを含んでいてもよい。
単位判定手段は、第１位置と第２位置との関係に関する単位条件が満たされたか否かを繰り返し判定する。
判定実行手段は、単位条件が連続して所定回数満たされた場合に所定条件が満たされたと判定する。
【００１８】
上記（５）の構成によれば、単位条件が連続して所定回数満たされた場合に、非充足期間から充足期間への切り替えが行われる。これによれば、精度が良くない第２位置を用いて指示位置が算出されるおそれをより軽減することができ、指示位置をより精度良く算出することができる。
【００１９】
（６）
所定条件は、センサの検出結果の信頼度に関する条件を含んでいてもよい。
【００２０】
上記（６）の構成によれば、センサの検出結果から算出される第２位置の精度が良い場合に第２位置の影響度を大きくして指示位置を算出することができる。したがって、指示位置の算出精度を向上することができ、入力操作の精度を向上することができる。
【００２１】
（７）
信頼度に関する条件は、入力部材の動きが所定の基準よりも緩やかであることであってもよい。
【００２２】
上記（７）の構成によれば、入力部材の動きの激しさを用いることによって、上記信頼度を正確に判断することができる。
【００２３】
（８）
指示位置算出手段は、非充足期間においては第１位置を用いて指示位置を算出し、充足期間においては第２位置を用いて指示位置を算出してもよい。
【００２４】
上記（８）の構成によれば、第２位置の精度が良くないと推測される初期期間においては、相対的に精度が良いと推測される第１位置を用いて指示位置が算出される。したがって、精度の良い入力操作が可能となり、入力操作の操作性を向上することができる。
【００２５】
（９）
指示位置算出手段は、非充足期間においては第１位置を用い、第２位置を用いずに指示位置を算出し、充足期間においては第１位置と第２位置とを用いて指示位置を算出してもよい。
【００２６】
上記（９）の構成によれば、第２位置の精度が良くない可能性がある初期期間においては、第１位置のみを用いることで精度良く指示位置を算出することができるとともに、充足期間においては２種類の位置を用いることで精度良く指示位置を算出することができる。
【００２７】
（１０）
第２位置算出手段は、センサの検出結果に基づいて第２位置を算出し、算出された第２位置を第１位置に近づける補正を行ってもよい。
判定手段は、補正された第２位置を用いて所定条件が満たされるか否かを判定してもよい。
指示位置算出手段は、補正された第２位置を用いて指示位置を算出してもよい。
【００２８】
上記（１０）の構成によれば、第１位置と第２位置との差が大きくなることを軽減することができる。したがって、非充足期間から充足期間への切り替え前後においてこれらの位置に基づいて算出される指示位置が急激に変化する可能性を軽減することができる。これによれば、切り替え時にユーザに違和感を与えるおそれが少なくなるので、入力操作の操作性を向上することができる。
また、上記（１０）の構成を上記（２）あるいは（３）の構成と組み合わせる場合には、補正によって第１位置と第２位置とを近づきやすくすることができるので、充足期間への切り替えタイミングが早くなりやすくなる。これによって、ユーザは、入力部材を自由に動かすことができる入力操作をより早く開始することができ、入力操作の操作性を向上することができる。
【００２９】
（１１）
第１位置および補正前の第２位置は、繰り返し算出されてもよい。
第２位置算出手段は、第１位置および補正前の第２位置が算出される度に第１位置と補正前の第２位置との差に応じて補正量を算出し、補正前の第２位置を当該補正量だけ第１位置に近づける補正を行ってもよい。
【００３０】
上記（１１）の構成によれば、上記差に応じた補正量を用いることによって、補正前の第２位置を第１位置に近づける補正を容易に行うことができる。
【００３１】
（１２）
第２位置算出手段は、第１位置が算出されずに第２位置が算出される場合、最後に算出された補正量を用いて、今回に算出された第２位置を補正してもよい。
【００３２】
上記（１２）の構成によれば、第１位置が算出されない場合であっても第２位置の補正が行われる。これによれば、第１位置の算出の可不可にかかわらず第２位置の補正が行われるので、第１位置の算出の可不可が切り替わることに応じて第２位置が変化することを防止することができる。これによって、ユーザに違和感を与えるおそれが少なくなるので、入力操作の操作性を向上することができる。
【００３３】
（１３）
第１位置算出手段は、所定のタイミングで取得される撮像情報を用いて第１位置を算出してもよい。
第２位置算出手段は、撮像情報と同じタイミングで取得されるセンサの検出結果を用いて第２位置を算出してもよい。
【００３４】
上記（１３）の構成によれば、入力部材の姿勢に応じた２種類の位置（第１位置および第２位置）を、実質的に同じ時点における入力部材の姿勢に対応するように算出することができる。これによって、精度良く指示位置を算出することができる。
【００３５】
（１４）
第１位置算出手段は、撮像手段が所定の撮像対象を撮像可能な場合に、撮像手段による撮像画像における当該撮像対象の位置に基づいて第１位置を算出してもよい。
第２位置算出手段は、入力部材が任意の姿勢である場合におけるセンサの検出結果に基づいて第２位置を算出してもよい。
【００３６】
上記（１４）の構成によれば、撮像情報を用いて精度良く指示位置を算出することができるとともに、撮像情報を用いた第１位置の算出が行われない場合においても、センサの検出結果を用いることで入力操作を可能とすることができる。
【００３７】
なお、本発明の別の一例は、上記（１）〜（１４）の情報処理プログラムを実行することによって実現される各手段と同等の手段を備える情報処理装置あるいは情報処理システムであってもよいし、上記（１）〜（１４）において実行される指示位置の算出方法であってもよい。
【発明の効果】
【００３８】
本発明によれば、撮像情報に基づく第１位置とセンサの検出結果に基づく第２位置とを適切に用いることによって、入力部材を動かす入力操作の操作性を向上することができる。
【図面の簡単な説明】
【００３９】
【図１】本実施形態に係る情報処理システムの一例を示すブロック図
【図２】入力装置２を用いる場合におけるテレビ４およびマーカ装置５の配置の一例を示す図
【図３】平面上におけるカメラ座標とセンサ座標の一例を示す図
【図４】指示位置を算出する方法の一例を示す図
【図５】ある時刻ｔにおいて、カメラ座標が算出される場合におけるセンサ座標の算出方法の一例を示す図
【図６】ある時刻ｔにおいて、カメラ座標が算出されない場合におけるセンサ座標の算出方法の一例を示す図
【図７】関係条件が満たされる場合と満たされない場合とにおけるカメラ座標およびセンサ座標の一例を示す図
【図８】信頼度条件が満たされる場合と満たされない場合とにおけるセンサ座標の挙動の一例を示す図
【図９】本実施形態において情報処理装置３（ＣＰＵ１４）が実行する指示位置算出処理の流れの一例を示すフローチャート
【発明を実施するための形態】
【００４０】
［１．情報処理システムの構成］
以下、本実施形態の一例に係る情報処理プログラム、情報処理システム、情報処理装置、および、指示位置の算出方法について説明する。図１は、本実施形態に係る情報処理システムの一例を示すブロック図である。図１において、情報処理システム１は、入力装置２、情報処理装置３、テレビ４、および、マーカ装置５を備える。本実施形態における情報処理システム１は、入力装置２の姿勢を変化させる操作に応じて情報処理を実行するものである。
【００４１】
情報処理システム１は、ユーザが把持して入力を行うための入力部材の一例である入力装置（コントローラ）２を含む。本実施形態においては、入力装置２は、カメラ１１、ジャイロセンサ１２、およびボタン１３を有する。
【００４２】
カメラ１１は、撮像手段（撮像装置）の一例であり、本実施形態においては、後述するマーカ装置５を撮像可能（マーカ装置５が発する赤外光を検知可能）なカメラである。詳細は後述するが、カメラ１１によってマーカ装置５が撮像される場合、撮像結果を用いて、マーカ装置５に対する入力装置２の位置および／または姿勢を推測することができる。
【００４３】
ジャイロセンサ１２は、入力装置２の角速度を検出する。本実施形態においては、ジャイロセンサ１２は所定の３軸回りの角速度を検出する。ただし、他の実施形態においては、ジャイロセンサ１２は所定の１軸または２軸回りの角速度を検出するものであってもよい。また、入力装置２は、その検出結果を用いて入力装置２の姿勢を算出（推定）することができる任意のセンサ（姿勢センサ）を有していてもよい。例えば、入力装置２は、ジャイロセンサ１２に加えて（または代えて）、加速度センサおよび／または磁気センサを有していてもよい。
【００４４】
ボタン１３は、ユーザによって操作される操作部の一例である。他の実施形態においては、入力装置２は、ボタン１３に加えて（または代えて）、方向を入力可能なスティックや、タッチパネルや、タッチパッド等を備えていてもよい。
【００４５】
入力装置２は、ユーザの操作を検出し、ユーザの操作を表す操作データを情報処理装置３へ送信する。本実施形態においては、操作データは、カメラ１１による撮像画像から得られる撮像情報、ジャイロセンサ１２による角速度情報、および、ボタン１３に関する押下情報を含む。上記撮像情報は、撮像画像に関する情報であり、本実施形態においては、撮像画像の平面上におけるマーカ装置５の位置を示す情報である。また、撮像画像中にマーカ装置５が含まれていない場合には、撮像情報は、マーカ装置５が含まれない旨を示す。本実施形態においては、入力装置２が備える処理部によって撮像画像から撮像情報が生成される。なお、他の実施形態においては、撮像画像のデータ自体が上記撮像情報として操作データに含まれてもよい。上記角速度情報は、ジャイロセンサ１２が検出する角速度を示す。上記押下情報は、ボタン１３が押下されたか否かを示す。
【００４６】
情報処理システム１は情報処理装置３を含む。情報処理装置３は、情報処理システム１において実行される情報処理（後述する指示位置算出処理）を実行する。情報処理装置３は、パーソナルコンピュータ、ゲーム装置、携帯端末、スマートフォン等、どのような形態の情報処理装置であってもよい。情報処理装置３は、入力装置２およびテレビ４と通信可能である。なお、情報処理装置３と入力装置２またはテレビ４との通信は、有線であってもよいし無線であってもよい。
【００４７】
図１に示すように、情報処理装置３は、ＣＰＵ１４、メモリ１５、および、プログラム記憶部１６を備える。ＣＰＵ１４は、所定の情報処理プログラムをメモリ１５を用いて実行することによって、上記情報処理を実行する。詳細は後述するが、本実施形態における上記情報処理は、上記操作データに基づいて指示位置を算出する指示位置算出処理である。なお、指示位置は、ユーザによって操作されるテレビ４の画面上の位置である。情報処理装置３は、情報処理を実行することが可能な任意の構成でよく、例えば情報処理の一部または全部が専用回路によって実行されてもよい。本実施形態においては、上記情報処理によって情報処理装置３が画像を生成し、生成された画像が情報処理装置３からテレビ４へ出力される。
【００４８】
プログラム記憶部１６は、上記情報処理プログラムを記憶する。プログラム記憶部１６は、ＣＰＵ１４がアクセス可能な任意の記憶装置（記憶媒体）である。プログラム記憶部１６は、例えばハードディスク等の、情報処理装置３に内蔵される記憶部であってもよいし、例えば光ディスク等の、情報処理装置３に着脱可能な記憶媒体であってもよい。
【００４９】
テレビ４は、画像を表示する表示装置の一例である。情報処理装置３からテレビ４へ画像が送信されてくる場合、テレビ４は当該画像を表示する。
【００５０】
マーカ装置５は、カメラ１１の撮像対象として機能する。マーカ装置５は、例えばテレビ４の周囲に載置される（図２参照）。本実施形態においては、マーカ装置５は、赤外光を発する１以上の発光素子（例えばＬＥＤ）を有している。本実施形態においては、マーカ装置５は情報処理装置３に接続され、発光素子の発光は情報処理装置３によって制御される。
【００５１】
上記情報処理システム１においては、入力装置２に対する入力に応じて情報処理装置３が情報処理を実行し、実行の結果得られた画像がテレビ４に表示される。このように、本実施形態においては、情報処理システム１は、入力機能、情報処理機能、および表示機能が複数の装置によって実現される構成である。なお、他の実施形態においては、これらの機能のうち複数の機能が単一の情報処理装置によって実現されてもよい。例えば、情報処理システム１は、入力装置２および情報処理装置３に代えて、入力機能および情報処理機能を有する単一の情報処理装置（例えば、携帯型の情報処理端末等）を含んでいてもよい。
【００５２】
また、他の実施形態においては、情報処理装置３の機能が複数の装置によって実現されてもよい。例えば、他の実施形態においては、情報処理装置３において実行される情報処理の少なくとも一部が、ネットワーク（広域ネットワークおよび／またはローカルネットワーク）によって通信可能な複数の装置によって分散して実行されてもよい。
【００５３】
［２．情報処理システム１における指示位置算出処理］
次に、情報処理システム１において実行される指示位置算出処理について説明する。なお、以下では、テレビ４の画面上における上記指示位置にカーソル（ポインタ）が表示され、ユーザが入力装置２を用いてカーソルを移動させる操作を行う場合を例として、指示位置算出処理について説明する。
【００５４】
（２−１：入力装置を用いた操作の概要）
図２は、入力装置２を用いる場合におけるテレビ４およびマーカ装置５の配置の一例を示す図である。図２に示すように、本実施形態においては、ユーザは、テレビ４の周囲（図２ではテレビ４の上）にマーカ装置５を配置し、基本的にはカメラ１１の撮像方向をテレビ４（マーカ装置５）の方に向けた状態で入力装置２を使用する。ユーザは、この状態で入力装置２の姿勢を変化させることによって各種の操作を行う。ただし、入力装置２は常にテレビ４の方を向いた状態で使用される必要はなく、テレビ４から外れた方を向いた状態でも使用されることが可能である（後述する“（２−３：指示位置の算出）”参照）。
【００５５】
図２に示すように、本実施形態においては、ユーザは、入力装置２を用いて、カーソル２１を移動させる操作を行うことができる。詳細は後述するが、入力装置２の姿勢に基づいて指示位置が算出され、この指示位置にカーソル２１が表示される。つまり、カーソル２１は、入力装置２の姿勢に応じた位置に表示される。
【００５６】
（２−２：カメラ座標およびセンサ座標）
次に、入力装置２の操作データから算出され、指示位置の算出のために用いられる座標値（カメラ座標およびセンサ座標）について説明する。本実施形態においては、情報処理システム１は、入力装置２の姿勢に応じた座標値を操作データから算出し、算出された座標値に基づいて指示位置を算出する。なお、この座標値は、テレビ４の画面に対応する仮想の平面上の位置を示す（図３参照）。つまり、情報処理システム１は、上記平面上において入力装置２の姿勢に応じた位置を算出する。
【００５７】
ここで、情報処理システム１は、入力装置２の姿勢に応じた座標値を、カメラ１１からの出力情報（上記撮像情報）に基づいて算出するとともに、ジャイロセンサ１２からの出力情報（上記角速度情報）に基づいて算出する。以下では、カメラ１１から得られる上記撮像情報に基づいて算出される座標を「カメラ座標」と呼び、ジャイロセンサ１２から得られる上記角速度情報に基づいて算出される座標を「センサ座標」と呼ぶ。
【００５８】
カメラ座標は、上記撮像情報に基づいて算出される。上述のように、撮像情報は、撮像画像の平面上におけるマーカ装置５の位置を示す情報である。撮像情報が示す位置は、入力装置２の姿勢を変化させることに応じて変化するので、撮像情報に基づいて、入力装置２の姿勢に応じたカメラ座標を算出することが可能である。なお、本明細書において「姿勢に応じた値（座標）」とは、少なくとも姿勢に応じて変化する値（座標）を意味し、姿勢と一対一に対応する値である必要はない。撮像情報からカメラ座標を算出する方法は任意であるが、例えば、特開２００７−６１４８９号公報に開示される方法によってカメラ座標を算出することができる。
【００５９】
センサ座標は、上記角速度情報に基づいて算出される。角速度情報は入力装置２の角速度を示すので、角速度情報に基づいて、入力装置２の姿勢に応じたセンサ座標を算出することが可能である。角速度情報からセンサ座標を算出する方法は任意であるが、本実施形態においては、情報処理システム１は、入力装置２の姿勢を精度良く算出すべく、角速度情報に加えて、上記撮像情報と加速度センサ（図示せず）の検出結果とをさらに用いて姿勢を算出する。以下、センサ座標の算出方法の詳細を説明する。
【００６０】
本実施形態においては、情報処理システム１はまず、角速度情報に基づいて、入力装置２の姿勢を算出する。この姿勢（角速度情報に基づく姿勢）は、所定の方法で設定される基準姿勢からの入力装置２の回転角度（傾き）を角速度情報から算出することで、算出することができる。
【００６１】
次に、情報処理システム１は、角速度に基づく姿勢を、加速度センサの検出結果を用いて修正する。具体的には、情報処理システム１は、重力方向を基準とした入力装置２の傾き（ピッチ方向の傾き）を加速度センサの検出結果から算出し、算出された傾きを用いて角速度情報に基づく姿勢を修正する。本実施形態においては、この修正は、角速度に基づく姿勢を、加速度センサの検出結果から算出される上記傾きに対応する姿勢へと近づけることで行われる。
【００６２】
次に、情報処理システム１は、角速度に基づく姿勢（本実施形態においては、加速度センサの検出結果を用いて修正された姿勢）を、撮像情報を用いて修正する。具体的には、情報処理システム１は、水平方向を基準とした入力装置２の傾き（ヨー方向の傾き）を撮像情報から算出し、算出された傾きを用いて、角速度情報に基づく姿勢を修正する。本実施形態においては、この修正は、角速度に基づく姿勢を、撮像情報から算出される上記傾きに対応する姿勢へと近づけることで行われる。
【００６３】
なお、加速度センサの検出結果を用いた修正処理と、撮像情報を用いた修正処理とを実行する順序はどちらが先でもよい。また、他の実施形態においては、加速度センサの検出結果を用いた修正処理と、撮像情報を用いた修正処理とのうちいずれか一方の処理が実行されてもよい。また、他の実施形態においては、上記修正処理は実行されなくてもよい。
【００６４】
情報処理システム１は、以上のようにして修正された姿勢に基づいてセンサ座標を算出する。本実施形態においては、情報処理システム１は、原点姿勢からのヨー方向およびピッチ方向に関する回転角度を算出し、この回転角度に所定の定数を乗算することでセンサ座標を算出する。なお、原点姿勢とは、センサ座標がｘｙ平面における原点の位置となる場合の入力装置２の姿勢である。
【００６５】
なお、情報処理システム１は、入力装置２の姿勢算出処理として、角速度情報に基づく姿勢の算出処理、加速度センサの検出結果を用いた修正処理、および、撮像情報を用いた修正処理を実行し、姿勢算出処理を繰り返し実行する。また、情報処理システム１は、姿勢算出処理によって姿勢が算出される度にセンサ座標を算出する。
【００６６】
ここで、角速度情報に基づく姿勢は、マーカ装置５との位置関係を考慮せずに算出される。また、上記の修正処理においては、姿勢が急激に変化することでユーザに違和感を与えることを軽減する目的等で、修正が徐々に行われる。そのため、当該姿勢に基づくセンサ座標は、センサ座標の算出を開始した初期段階においては、上記カメラ座標とは大きく異なる値となり、（カメラ座標と大きく異なるという意味で）精度が悪い可能性がある。これに対して、本実施形態においては、上記姿勢算出処理が繰り返し実行されることで修正処理が繰り返し実行されるので、入力装置２の姿勢およびセンサ座標は、次第に精度良く算出されるようになる。このように、本実施形態においては、センサ座標は、最初は精度が悪い可能性があるものの、次第に精度良く算出されるようになる。
【００６７】
なお、詳細は後述するが、本実施形態においては、情報処理システム１は、以上のようにして算出されるセンサ座標を、上記カメラ座標を用いて補正することで、最終的な（つまり、指示位置の算出に用いる）センサ座標を算出する。なお、他の実施形態においては、カメラ座標を用いた補正処理は行われなくてもよい。
【００６８】
また、本実施形態においては、カメラ座標Ｐｃおよびセンサ座標Ｐｓは同じタイミングで算出される。すなわち、情報処理システム１は、所定時間に１回の割合で入力装置２から操作データを取得し、取得した操作データを用いてカメラ座標Ｐｃおよびセンサ座標Ｐｓを算出する。つまり、カメラ座標Ｐｃは、操作データに含まれる撮像情報に基づいて算出され、センサ座標Ｐｓは、同じ操作データに含まれる角速度情報に基づいて算出される。単一の操作データに含まれる情報を用いてカメラ座標Ｐｃおよびセンサ座標Ｐｓが算出されるので、カメラ座標Ｐｃおよびセンサ座標Ｐｓは、実質的に同じ時点における入力装置２の姿勢に応じた値となる。
【００６９】
上記のように、情報処理システム１は、所定のタイミングで取得される撮像情報を用いてカメラ座標Ｐｃを算出し、当該撮像情報と同じタイミングで取得されるジャイロセンサ１２の検出結果を用いてセンサ座標Ｐｓを算出する。これによって、入力装置２の姿勢に応じた２種類の座標値を、実質的に同じ時点における入力装置２の姿勢に対応するように算出することができる。これによって、精度良く指示位置を算出することができる。
【００７０】
図３は、平面上におけるカメラ座標とセンサ座標の一例を示す図である。図３に示すように、本実施形態においては、上記平面上の位置を表す座標系としてｘｙ座標系が設定される。ｘｙ座標系は、画面の中央に対応する位置を原点とし、画面の横方向に対応する軸をｘ軸とし、画面の縦方向に対応する軸をｙ軸とするように設定される。図３は、入力装置２がある姿勢となる場合におけるカメラ座標Ｐｃとセンサ座標Ｐｓとを示している。カメラ座標Ｐｃとセンサ座標Ｐｓは、互いに異なる装置を用いて異なる方法で算出される。そのため、入力装置２の姿勢が同じであっても（同じタイミングで取得された情報に基づいて各座標が算出されても）、図３に示すように、カメラ座標Ｐｃとセンサ座標Ｐｓとが異なる値となり得る。
【００７１】
図３に示す点線領域２２は、平面上においてテレビ４の画面に対応する領域である。図３においては、カメラ座標Ｐｃおよびセンサ座標Ｐｓはそれぞれ領域２２内の位置を示しているが、領域２２の外（つまり、画面の外）の位置を示すこともあり得る。すなわち、ジャイロセンサ１２は入力装置２とテレビ４との位置関係にかかわらず入力装置２の姿勢を算出することが可能であるので、情報処理システム１は、画面外の位置を示すセンサ座標を算出可能である。また、カメラ座標については、基本的には、カメラ座標が領域２２内となる場合（つまり、カメラ１１がテレビ４の方を向いている場合）に算出可能であるが、カメラ１１の撮像範囲にマーカ装置５が含まれている範囲であれば、領域２２外の位置を示すカメラ座標が算出され得る。
【００７２】
（２−３：指示位置の算出）
次に、上記カメラ座標およびセンサ座標に基づいて指示位置を算出する方法について説明する。本実施形態においては、指示位置算出処理の開始時においては、カメラ座標を用いて指示位置が算出され、所定の判定条件（後述する）が満たされたことに応じて、指示位置の算出に用いられる座標がカメラ座標からセンサ座標へ切り替えられる。以下、指示位置の算出の詳細を説明する。
【００７３】
図４は、指示位置を算出する方法の一例を示す図である。図４の（ａ）に示すように、指示位置を算出する処理を開始してから判定条件が満たされるまでの期間（「非充足期間」と呼ぶ）においては、情報処理システム１は、カメラ座標Ｐｃに基づいて指示位置を算出する。指示位置の具体的な算出方法は任意であるが、本実施形態においては、カメラ座標Ｐｃの位置がそのまま指示位置とされる。
【００７４】
なお、指示位置の算出処理中において、情報処理システム１は、カメラ座標Ｐｃとセンサ座標Ｐｓとの両方を算出する。つまり、非充足期間であってもセンサ座標Ｐｓが算出される。また、後述する充足期間であってもカメラ座標Ｐｃが算出される。
【００７５】
情報処理システム１は、カメラ座標Ｐｃおよびセンサ座標Ｐｓを算出すると、所定の判定条件が満たされるか否かを判定する。判定条件とは、カメラ座標Ｐｃとセンサ座標Ｐｓとの関係に関する条件である。本実施形態における判定条件については後述するが、判定条件は、「カメラ座標Ｐｃとセンサ座標Ｐｓとが所定距離以内であること」という条件を含む。なお、情報処理システム１は、カメラ座標Ｐｃおよびセンサ座標Ｐｓが算出される度に、繰り返し上記の判定を行う。
【００７６】
上記判定条件が満たされると、情報処理システム１は、指示位置を算出するために用いる座標を、カメラ座標Ｐｃからセンサ座標Ｐｓに切り替える。したがって、本実施形態においては、図４の（ｂ）に示すように、カメラ座標Ｐｃとセンサ座標Ｐｓとの距離が所定距離以内となったことを（少なくとも）条件として、カメラ座標Ｐｃからセンサ座標Ｐｓへの切替が行われる。
【００７７】
本実施形態においては、図４の（ｃ）に示すように、上記判定条件が満たされた後の期間（「充足期間」と呼ぶ。）は、情報処理システム１は、センサ座標Ｐｓに基づいて指示位置を算出する。指示位置の具体的な算出方法は任意であるが、本実施形態においては、センサ座標Ｐｓの位置がそのまま指示位置とされる。なお、本実施形態においては、充足期間となった後で非充足期間に戻ることはない。ただし、他の実施形態においては、所定の条件が満たされた場合（例えば、カーソルを用いた操作が終了される場合）に非充足期間に戻るようにしてもよい。
【００７８】
以上のように、本実施形態においては、（充足期間においては）センサ座標Ｐｓを用いて指示位置が算出される。したがって、カメラ座標Ｐｃのみを用いて指示位置を算出する場合に比べて、ユーザは、入力装置２を大きく動かして入力操作を行うことができる。つまり、本実施形態においては、入力装置２をより自由に動かして入力操作を行うことができ、入力装置２を動かす入力操作の操作性を向上することができる。
【００７９】
ここで、本実施形態では、上述のように、センサ座標Ｐｓは、次第に精度が良くなるものの、最初は精度が悪い可能性がある。また、本実施形態におけるセンサ座標Ｐｓの算出方法に限らず、ジャイロセンサや加速度センサや磁気センサ等の、その検出値から姿勢を算出可能なセンサを用いて入力装置２の姿勢に応じた値（例えばセンサ座標）を算出する方法では、値の算出を開始した初期期間において、値を精度良く算出することが難しい場合がある。例えばジャイロセンサを用いる場合、値を精度良く算出するために、ジャイロセンサに生じる温度ドリフトによる誤差を補正することが行われるが、適切な補正量を得るために時間を要することがある。また、値を精度良く算出するため、（本実施形態のように）最新の検出値だけでなく過去の検出値をも考慮して値を算出する方法が採用されることもある。この方法において、値の算出を開始した初期期間においては、十分な検出値を得ることができない等の理由で、算出結果が安定せず、センサに応じた値を精度良く算出することが難しい場合がある。以上のように、センサ座標Ｐｓが算出され始める初期期間においては、センサ座標Ｐｓを精度良く算出することが難しい場合がある。
【００８０】
そのため、本実施形態においては、情報処理システム１は、上記のように、センサ座標Ｐｓが算出され始める初期期間（非充足期間）においては、センサ座標Ｐｓに代えてカメラ座標Ｐｃを用いて、指示位置を算出する。すなわち、上記非充足期間においてはカメラ座標Ｐｃの位置を用いて指示位置が算出され、上記充足期間においてはセンサ座標Ｐｓの位置を用いて指示位置が算出される。これによれば、センサ座標Ｐｓの精度が良くない可能性がある初期期間においては、相対的に精度が良いと考えられるカメラ座標Ｐｃを用いて指示位置が算出される。したがって、本実施形態においては、ユーザが入力装置２を自由に動かして入力操作を行うことができるとともに、精度の良い入力操作が可能となる。
【００８１】
より具体的には、本実施形態においては、上記非充足期間においてはカメラ座標Ｐｃを用い、かつ、センサ座標Ｐｓを用いずに指示位置が算出され、上記充足期間においてはカメラ座標Ｐｃとセンサ座標Ｐｓとを用いて指示位置が算出される。これによれば、センサ座標Ｐｓの精度が良くない可能性がある初期期間においては、カメラ座標Ｐｃのみを用いることで精度良く指示位置を算出することができるとともに、充足期間においては２種類の座標を用いることで精度良く指示位置を算出することができる。
【００８２】
また、本実施形態においては、カメラ座標Ｐｃは、カメラ１１が所定の撮像対象（マーカ装置５）を撮像可能な場合に、カメラ１１による撮像画像における当該撮像対象の位置に基づいて算出される。一方、センサ座標Ｐｓは、入力装置２が任意の姿勢である場合におけるジャイロセンサ１２の検出結果に基づいて算出される。ここで、カメラ１１で所定の撮像対象を撮像することによって座標（カメラ座標Ｐｃ）を算出する方法は、座標検出が正確である一方、座標を算出することが可能な範囲が限られる。また、センサ（ジャイロセンサ１２）を用いて座標（センサ座標Ｐｓ）を算出する方法は、正確な座標検出が難しいおそれがある一方、任意の姿勢で座標を算出可能である。つまり、本実施形態においては、長所が異なる２種類の方法で座標を算出し、２種類の座標を用いて指示位置を算出することで、精度良く指示位置を算出することができるとともに、ユーザが入力装置２を自由に動かして入力操作を行うことができる。すなわち、カメラ１１を用いて精度良く指示位置を算出することができるとともに、カメラ１１によるカメラ座標Ｐｃの算出が行われない場合においても、ジャイロセンサ１２を用いることで入力操作を可能とすることができる。
【００８３】
なお、本実施形態においては、所定の撮像対象として、予め設置されるマーカ装置５を用いる構成とした。そのため、カメラ１１を用いてカメラ座標Ｐｃを算出する方法において、カメラ座標Ｐｃを算出することが可能な範囲が制限された。ここで、他の実施形態においては、情報処理システム１は、カメラ１１による撮像画像中に含まれる任意の対象を用いてカメラ座標を算出してもよい。例えば、情報処理システム１は、撮像画像中に含まれる物体を画像認識処理によって特定し、特定された物体の（撮像画像中における）位置に基づいてカメラ座標Ｐｃを算出してもよい。この方法によれば、任意の姿勢でカメラ座標Ｐｃを算出可能となる。ただし、この方法を採用する場合であっても、認識処理が失敗する等の理由で対象を特定できず、カメラ座標を算出できない場合があり得る。したがって、この方法を採用する場合であっても、上記実施形態と同様、カメラ座標とセンサ座標とを用いて指示位置を算出する方法が有効である。
【００８４】
（２−４：センサ座標の算出方法）
次に、図５および図６を参照して、本実施形態におけるセンサ座標Ｐｓの算出方法について説明する。情報処理システム１は、所定時間に１回の割合で入力装置２から操作データを取得し、操作データを取得する度にセンサ座標Ｐｓを算出する。本実施形態においては、後述するように、最終的なセンサ座標Ｐｓは、補正前のセンサ座標を補正することによって算出される。以下、詳細を説明する。
【００８５】
図５は、ある時刻ｔにおいて、カメラ座標が算出される場合におけるセンサ座標の算出方法の一例を示す図である。本実施形態においては、操作データが取得されると、情報処理システム１は、操作データに含まれる撮像情報に基づいてカメラ座標Ｐｃ（図５に示すＰｃ（ｔ））を算出する。また、情報処理システム１は、上記操作データに含まれる角速度情報に基づいてセンサ座標Ｐｏ（図５に示すＰｏ（ｔ））を算出する。このセンサ座標Ｐｏは、カメラ座標Ｐｃを用いた補正が行われる前のセンサ座標である。以下では、補正後のセンサ座標と区別して、このセンサ座標Ｐｏを「補正前センサ座標Ｐｏ」と呼ぶ。本実施形態において、補正前センサ座標Ｐｏは、上述したように、角速度情報と、上記撮像情報と、加速度センサ（図示せず）の検出結果とから算出される。
【００８６】
上記カメラ座標Ｐｃおよび補正前センサ座標Ｐｏが算出されると、情報処理システム１は、オフセットＶｏ（図５に示すＶｏ（ｔ））を算出する。オフセットＶｏは、補正前センサ座標Ｐｏを補正してセンサ座標Ｐｓを得るための補正量（および、平面上における補正方向）を示すベクトルである。具体的には、オフセットＶｏは、以下の式（１）に従って算出される。
Ｖｏ（ｔ）＝｛Ｐｃ（ｔ）−Ｐｏ（ｔ）｝・Ａ＋Ｖｏ（ｔ−１）・｛１−Ａ｝  …（１）
上式（１）において、係数Ａは、予め定められる定数（０＜Ａ＜１）である。この係数Ａは、今回得られたカメラ座標Ｐｃ（ｔ）と補正前センサ座標Ｐｏ（ｔ）との差分を、オフセットＶｏ（ｔ）に反映させる影響度を示す。また、変数Ｖｏ（ｔ−１）は、前回（時刻ｔ−１）において算出されたオフセットを示す。上式（１）に示すように、オフセットＶｏは、カメラ座標Ｐｃと補正前センサ座標Ｐｏとの差分に基づいて算出される。
【００８７】
上記オフセットＶｏが算出されると、情報処理システム１は、オフセットＶｏを用いて補正前センサ座標Ｐｏを補正することによってセンサ座標Ｐｓを算出する（図５参照）。具体的には、センサ座標Ｐｓは、以下の式（２）に従って算出される。
Ｐｓ（ｔ）＝Ｐｏ（ｔ）＋Ｖｏ（ｔ）  …（２）
図５および上式（２）から明らかなように、センサ座標Ｐｓは、補正前センサ座標ＰｏをオフセットＶｏだけ移動させる（カメラ座標Ｐｃに近づける）ことによって得られる。
【００８８】
なお、上式（１）より、オフセットＶｏは、補正前センサ座標Ｐｏからカメラ座標Ｐｃの方を向くベクトルとなることがわかる（図５参照）。すなわち、上式（１）および（２）より、オフセットＶｏは、補正前センサ座標Ｐｏをカメラ座標Ｐｃに近づける補正を行うものであることがわかる。なお、本実施形態のように、今回のオフセットＶｏ（ｔ）に対して前回のオフセットＶｏ（ｔ−１）を反映させる場合には、１回の補正だけを考えれば、オフセットＶｏは、補正前センサ座標Ｐｏをカメラ座標Ｐｃから遠ざける補正を行う場合もあり得る。しかし、補正が繰り返されれば、センサ座標Ｐｓはカメラ座標Ｐｃに近づいていくこととなる。つまり、補正が複数回繰り返されることを考慮すれば、本実施形態におけるオフセットＶｏは、補正前センサ座標Ｐｏをカメラ座標Ｐｃに近づける補正を行うものであると言うことができる。
【００８９】
なお、本実施形態においては、今回のオフセットＶｏ（ｔ）に対して前回のオフセットＶｏ（ｔ−１）が反映されたが、他の実施形態においては、前回のオフセットＶｏ（ｔ−１）が反映されなくてもよい。つまり、上式（１）において係数Ａ＝１に設定されてもよい。
【００９０】
ここで、本実施形態においては、上記判定条件には、「カメラ座標Ｐｃとセンサ座標Ｐｓとが所定距離以内であること」という条件が含まれる。つまり、カメラ座標Ｐｃとセンサ座標Ｐｓとがある程度近づかなければ、判定条件が充足されず、センサ座標Ｐｓを用いた指示位置の算出処理が開始されないこととなる。ここで、本実施形態においては、情報処理システム１は、センサの検出結果に基づいて補正前センサ座標Ｐｏを算出し、算出された補正前センサ座標Ｐｏを、カメラ座標Ｐｃに近づけることによって（最終的な）センサ座標Ｐｓを算出する。これによれば、カメラ座標Ｐｃとセンサ座標Ｐｓとを近づきやすくすることができるので、センサ座標Ｐｓを用いた指示位置の算出処理が開始されやすくなる。つまり、ユーザは、入力装置２を自由に動かすことができる入力操作をより早く開始することができる。
【００９１】
また、本実施形態においては、カメラ座標Ｐｃおよび補正前センサ座標Ｐｏが繰り返し算出され、情報処理システム１は、カメラ座標Ｐｃおよび補正前センサ座標Ｐｏが算出される度に、カメラ座標Ｐｃと補正前センサ座標Ｐｏとの差に応じて補正量（オフセットＶｏ）を算出する（上式（１））。そして、算出された補正量だけ補正前センサ座標Ｐｏをカメラ座標Ｐｃに近づける補正が行われる。このように、上記差に応じた補正量を用いることによって、補正前センサ座標Ｐｏをカメラ座標Ｐｃに近づける補正を容易に行うことができる。
【００９２】
次に、カメラ座標Ｐｃが算出されない場合におけるセンサ座標Ｐｓの算出方法について説明する。本実施形態において、情報処理システム１は、操作データを取得する度にカメラ座標Ｐｃの算出処理を実行するが、カメラ１１がマーカ装置５を撮像できていない場合（マーカ装置５が含まれない旨を示す撮像情報が取得される場合）には、カメラ座標Ｐｃを算出することができない。この場合、センサ座標Ｐｓは以下のようにして算出される。
【００９３】
図６は、ある時刻ｔにおいて、カメラ座標が算出されない場合におけるセンサ座標の算出方法の一例を示す図である。ある時刻ｔにおいてカメラ座標Ｐｃが算出されない場合、情報処理システム１は、前に算出されたオフセットＶｏのうち最新のものを用いて、補正前センサ座標Ｐｏを補正する。具体的には、カメラ座標Ｐｃが算出されない場合、上式（１）に代えて下記の式（３）に従ってオフセットＶｏが決定される。
Ｖｏ（ｔ）＝Ｖｏ（ｔ−１）  …（３）
上式（３）のように、上記の場合、前回に算出されたオフセットＶｏ（ｔ−１）が、今回のオフセットＶｏとされる。そして、情報処理システム１は、上式（２）に従ってセンサ座標Ｐｓを算出する。すなわち、今回に算出された補正前センサ座標Ｐｏ（ｔ）を、前回のオフセットＶｏ（ｔ−１）（と等しいオフセットＶｏ（ｔ））だけ移動させることで、センサ座標Ｐｓ（ｔ）が算出される（図６参照）。
【００９４】
以上のように、本実施形態においては、情報処理システム１は、カメラ座標Ｐｃが算出不可能である場合には補正量（オフセット）を算出せず、最後に算出された補正前センサ座標Ｐｏ（今回算出された補正前センサ座標Ｐｏ）および補正量（最後に算出されたオフセットＶｏ）を用いてセンサ座標Ｐｓを算出する。したがって、本実施形態においては、カメラ座標Ｐｃが算出されない場合であってもセンサ座標の補正が行われる。これによって、カメラ座標Ｐｃが算出されない場合であってもセンサ座標Ｐｓをカメラ座標Ｐｃへ近づけることができる。また、カメラ座標Ｐｃの算出の可不可にかかわらずセンサ座標の補正が行われるので、カメラ座標Ｐｃの算出の可不可が切り替わることに応じてセンサ座標の値が変化することを防止することができる。
【００９５】
また、本実施形態における情報処理システム１は、充足期間においてカメラ座標Ｐｃが算出されない場合には、センサ座標Ｐｓを用いて指示位置を算出し、充足期間においてカメラ座標Ｐｃが算出される場合には、センサ座標Ｐｓと共にカメラ座標Ｐｃを用いて指示位置を算出している。このように、カメラ座標Ｐｃが算出される場合には充足期間においてもカメラ座標Ｐｃを用いることによって、指示位置の算出を精度良く行うことができる。
【００９６】
（２−５：判定条件）
次に、非充足期間から充足期間への切り替えを判定するための上記判定条件について説明する。本実施形態においては、判定条件は、カメラ座標Ｐｃとセンサ座標（ＰｓまたはＰｏ）との関係に関する条件（「関係条件」と呼ぶ。）を含む。さらに、本実施形態においては、判定条件は、ジャイロセンサ１２の検出結果の信頼度に関する条件（「信頼度条件」と呼ぶ。）と、カメラ座標の算出に関する条件（「カメラ条件」と呼ぶ。）を含む。以下、判定条件に含まれる各条件について説明する。
【００９７】
（関係条件）
図７は、関係条件が満たされる場合と満たされない場合とにおけるカメラ座標およびセンサ座標の一例を示す図である。本実施形態においては、関係条件は、カメラ座標Ｐｃとセンサ座標Ｐｓとの距離が、予め定められた所定距離以内となることである。すなわち、情報処理システム１は、カメラ座標Ｐｃとセンサ座標Ｐｓとの距離を算出し、当該距離を用いて、関係条件が満たされるか否かを判定する。したがって、図７に示されるように、カメラ座標Ｐｃとセンサ座標Ｐｓとの間の距離が所定距離以内となる場合、関係条件は充足され、当該距離が所定距離外となる場合、関係条件は充足されない。
【００９８】
上記のように、情報処理システム１は、判定条件として、カメラ座標Ｐｃとセンサ座標Ｐｓとの距離が所定値以下となることを少なくとも用いてもよい。これによれば、カメラ座標Ｐｃとセンサ座標Ｐｓとの差が小さいタイミングで非充足期間から充足期間への切り替えが行われることになる。このようなタイミングで切り替えを行うことによって、指示位置が切り替え前後において急激に変化する可能性を軽減することができる。これによれば、ユーザに違和感を与えるおそれが少なくなり、入力操作の操作性を向上することができる。また、適切なタイミングで切り替えを行うことができ、指示位置を適切に算出することができる。
【００９９】
また、本実施形態における関係条件は、カメラ座標Ｐｃとセンサ座標Ｐｓとの距離に関する条件であると言える。このように、判定条件が上記距離に関する条件を含む場合には、センサ座標Ｐｓがカメラ座標Ｐｃと同程度に精度良く算出されているか否かを当該距離から判断することができるので、非充足期間から充足期間への切り替えを適切なタイミングで行うことができる。なお、他の実施形態においては、カメラ座標Ｐｃとセンサ座標Ｐｓとの距離に関する条件として、「所定期間における距離の変化が一定範囲内であること」という条件が用いられてもよい。これによっても、切り替えを適切なタイミングで行うことができる。
【０１００】
また、関係条件は、上記距離に関する条件に限らず、カメラ座標Ｐｃとセンサ座標との関係に関する任意の条件であってよい。例えば他の実施形態においては、関係条件は、カメラ座標Ｐｃとセンサ座標Ｐｓとの移動（移動の仕方、例えば、移動方向や移動量）に関する条件であってもよい。具体的には、情報処理システム１は、所定期間におけるカメラ座標Ｐｃの挙動（移動軌跡）と、当該所定期間におけるセンサ座標Ｐｓの挙動（移動軌跡）との類似度を算出し、類似度が所定値以上であるか否かを判定してもよい。このとき、類似度が所定値以上であれば関係条件が満たされたと判定され、類似度が所定値未満であれば関係条件が満たされないと判定されてもよい。
【０１０１】
以上のように、関係条件は、センサ座標Ｐｓがカメラ座標Ｐｃと同程度に精度良く算出されているか否かを判定する条件であると言える。このような関係条件を用いて切り替えを判断することによって、センサ座標Ｐｓが精度良く算出されるようになってから、非充足期間から充足期間への切り替えが行われることとなるので、切り替えを適切なタイミングで行うことができる。
【０１０２】
なお、関係条件を判定するために用いられるセンサ座標は、本実施形態においては、補正後のセンサ座標Ｐｓであるが、他の実施形態においては、上記補正前センサ座標Ｐｏであってもよい。
【０１０３】
（信頼度条件）
次に、信頼度条件について説明する。上述のように、信頼度条件は、ジャイロセンサ１２の検出結果の信頼度に関する条件であり、当該検出結果の信頼度が所定の基準より高いことを条件とするものである。ここで「ジャイロセンサの検出結果の信頼度が高い」とは、検出結果から算出される入力装置２の姿勢に応じた値の精度が良いことを意味する。
【０１０４】
ここで、入力装置２が激しく動かされている場合には、ジャイロセンサ１２の検出結果から入力装置２の姿勢に応じた値を精度良く算出することが困難であり、上記信頼度が低いと推測することができる。そのため、本実施形態においては、信頼度条件として、入力装置２が激しく動かされていないかを判定する条件が用いられる。具体的には、情報処理システム１は、入力装置２の動きの激しさを表す指標を操作データから取得し、当該指標を用いて、信頼度条件が満たされるか否かを判定する。上記指標としては、例えば、ジャイロセンサ１２のゼロ点（バイアス）の補正量を示す値を用いることができる。なお、この値は、ジャイロセンサ１２から出力されて操作データとして情報処理装置３に取得されることが可能である。上記の値が所定の閾値以上である場合、入力装置２の動きが相対的に激しいと判断され、信頼度条件が満たされないと判定される。一方、上記の値が上記閾値より小さい場合、入力装置２の動きが相対的に緩やかであると判断され、信頼度条件が満たされると判定される。
【０１０５】
図８は、信頼度条件が満たされる場合と満たされない場合とにおけるセンサ座標の挙動の一例を示す図である。典型的には、図８の（ａ）に示すようにセンサ座標Ｐｓの変化が穏やかである場合、上記指標の値が所定の閾値以上となる結果、信頼度条件が満たされる。一方、図８の（ｂ）に示すようにセンサ座標Ｐｓの変化が急激である場合、上記指標の値が所定の閾値より小さくなる結果、信頼度条件が満たされなくなる。なお、図８は一例を示したにすぎず、実際には、センサ座標Ｐｓの変化が穏やかであっても上記指標の値が所定の閾値よりも小さくなる場合もあるし、センサ座標Ｐｓの変化が急激であっても上記指標の値が所定の閾値以上となる場合もある。
【０１０６】
以上のように、本実施形態においては、所定条件は、ジャイロセンサ１２の検出結果の信頼度に関する信頼度条件を含む。これによれば、ジャイロセンサ１２の検出結果から算出されるセンサ座標の精度が良い場合にセンサ座標を用いて指示位置を算出することができる。したがって、指示位置の算出精度を向上することができ、入力装置２を用いた入力操作の精度を向上することができる。
【０１０７】
また、本実施形態においては、上記信頼度条件は、「入力装置２の動きが所定の基準よりも緩やかであること」である。このように、入力装置２の動きの激しさを用いることによって、信頼度を正確に判断することができる。
【０１０８】
なお、入力装置２の動きの激しさを示す指標は、上記に限らない。例えば、姿勢を算出するためのセンサとして加速度センサが用いられる場合には、加速度センサの検出結果（加速度）を上記指標として用いてもよい。すなわち、情報処理システム１は、加速度が所定値以上である場合には、入力装置２の動きが激しいと判断し、加速度が所定値未満である場合には、入力装置２の動きが緩やかであると判断するようにしてもよい。また、他の実施形態においては、センサ座標（補正前センサ座標Ｐｏでもよい）の変化量が上記指標として用いられてもよい。
【０１０９】
（カメラ条件）
カメラ条件は、カメラ座標の算出に関する条件である。本実施形態においては、カメラ条件は、カメラ座標Ｐｃが算出されること（カメラ座標Ｐｃが算出可能であること）である。すなわち、情報処理システム１は、取得された撮像情報からカメラ座標Ｐｃが算出される場合、カメラ条件が満たされたと判定し、カメラ座標Ｐｃが算出できない場合、カメラ条件が満たされないと判定する。なお、本実施形態においては、カメラ座標Ｐｃを用いて上記関係条件を判定しており、関係条件の判定においてはカメラ座標Ｐｃが算出されることが前提となっている。したがって、情報処理システム１は、カメラ条件を設定せずに、カメラ座標Ｐｃが算出されない場合には上記関係条件が満たされないと判断するようにしてもよい。
【０１１０】
（判定条件の判定方法）
次に、判定条件の判定方法について説明する。本実施形態においては、上記関係条件、信頼度条件、およびカメラ条件からなる条件を「単位条件」とし、この単位条件が所定回数（例えば、１５回）満たされたことを判定条件とする。すなわち、情報処理システム１は、単位条件が満たされるか否かを、上記センサ座標Ｐｓが算出される度に判定する。なお、関係条件、信頼度条件、およびカメラ条件が全て満たされる場合に単位条件が満たされると判断され、一方、関係条件、信頼度条件、およびカメラ条件のうち１つでも満たされない場合は、単位条件が満たされないと判断される。そして、単位条件が所定回数満たされた場合、情報処理システム１は、判定条件が満たされたと判定する。これによって、非充足期間から充足期間への切り替えが行われる。
【０１１１】
上記のように、本実施形態においては、情報処理システム１は、単位条件が満たされたか否かを繰り返し判定し、（指示位置の算出処理の開始後において）単位条件が所定の複数回満たされた場合に、判定条件が満たされたと判定する。したがって、本実施形態においては、指示位置の算出が開始されてから通算して所定回数だけ単位条件が満たされた場合に、非充足期間から充足期間への切り替えが行われる。これによれば、単位条件が偶然に１回だけ満たされたとしても切り替えは行われないので、精度が良くないセンサ座標Ｐｓを用いて指示位置が算出されるおそれを軽減することができる。その結果、指示位置を精度良く算出することができ、入力装置２の操作性を向上することができる。
【０１１２】
また、上記においては、単位条件が上記所定回数だけ連続して満たされることが条件ではないので、判定条件が厳しくなりすぎるために充足期間への切り替えが遅くなりすぎることを軽減することができる。つまり、センサ座標Ｐｓを用いた指示位置の算出処理が開始されやすくなるので、ユーザは、入力装置２を自由に動かすことができる入力操作をより早く開始することができる。
【０１１３】
なお、他の実施形態においては、情報処理システム１は、（指示位置算出の開始後において）単位条件が連続して所定回数満たされた場合に所定条件が満たされたと判定するようにしてもよい。これによれば、精度が良くないセンサ座標Ｐｓを用いて指示位置が算出される可能性をより軽減することができ、指示位置をより精度良く算出することができる。
【０１１４】
なお、本実施形態においては、判定条件（単位条件）は、上記関係条件を含むものとしたが、他の実施形態においては、これに限らない。例えば、他の実施形態においては、判定条件（単位条件）は、関係条件を含まない）ものであってもよい。すなわち、判定条件（単位条件）は、信頼度条件（のみ）を含むものであってもよいし、カメラ条件（のみ）を含むものであってもよい。
【０１１５】
［３．指示位置算出処理の具体例］
以下、本実施形態において情報処理システム１（情報処理装置３）で実行される指示位置算出処理の具体的な一例について説明する。図９は、本実施形態において情報処理装置３（ＣＰＵ１４）が実行する指示位置算出処理の流れの一例を示すフローチャートである。本実施形態においては、図９に示す一連の処理は、ＣＰＵ１４が、プログラム記憶部１６に記憶される情報処理プログラムを実行することによって行われる。
【０１１６】
図９に示す指示位置算出処理が開始されるタイミングは任意である。本実施形態においては、上記情報処理プログラムが、所定のゲームプログラムの一部として構成されるものとする。このとき、図９に示す指示位置算出処理は、上記ゲームプログラムの実行を開始する指示をユーザが行ったことに応じて開始される。また、情報処理プログラム（ゲームプログラム）は、適宜のタイミングでその一部または全部がメモリ１５に読み出され、ＣＰＵ１４によって実行される。これによって、図９に示す一連の処理が開始される。なお、上記情報処理プログラムは、情報処理装置３内のプログラム記憶部１６に予め記憶されているものとする。ただし、他の実施形態においては、情報処理プログラムは、情報処理装置３に着脱可能な記憶媒体から取得されてメモリ１５に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてメモリ１５に記憶されてもよい。
【０１１７】
なお、図９に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をＣＰＵが実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、ＣＰＵ以外のプロセッサや専用回路が実行するようにしてもよい。
【０１１８】
指示位置算出処理においては、まずステップＳ１において、ＣＰＵ１４は、操作データを取得する。すなわち、ＣＰＵ１４は、撮像情報および角速度情報等を含む操作データを入力装置２から受信し、受信した操作データをメモリ１５に記憶する。ステップＳ１の次にステップＳ２の処理が実行される。
【０１１９】
ステップＳ２において、ＣＰＵ１４は、撮像情報に基づいてカメラ座標Ｐｃを算出する。本実施形態においては、カメラ座標は、上記“（２−２：カメラ座標およびセンサ座標）”で述べた方法に従って算出される。具体的には、ＣＰＵ１４は、メモリ１５から読み出した撮像情報に基づいてカメラ座標Ｐｃを算出し、算出されたカメラ座標Ｐｃを示すデータをメモリ１５に記憶する。ステップＳ２の次にステップＳ３の処理が実行される。
【０１２０】
ステップＳ３において、ＣＰＵ１４は、角速度情報に基づいて補正前センサ座標Ｐｏを算出する。本実施形態においては、補正前センサ座標Ｐｏは、上記“（２−２：カメラ座標およびセンサ座標）”および“（２−４：センサ座標の算出方法）”で述べた方法に従って算出される。具体的には、ＣＰＵ１４は、メモリ１５から読み出した角速度情報に基づいて補正前センサ座標Ｐｏを算出し、算出された補正前センサ座標Ｐｏを示すデータをメモリ１５に記憶する。ステップＳ３の次にステップＳ４の処理が実行される。
【０１２１】
ステップＳ４において、ＣＰＵ１４は、センサ座標Ｐｓを算出する。本実施形態においては、センサ座標Ｐｓは、上記“（２−２：カメラ座標およびセンサ座標）”および“（２−４：センサ座標の算出方法）”で述べた方法に従って算出される。具体的には、ＣＰＵ１４は、前回に算出されたオフセットＶｏと、補正前センサ座標Ｐｏと、（必要に応じて）カメラ座標Ｐｃとのデータをメモリ１５から読み出し、読み出したデータに基づいてセンサ座標Ｐｓを算出する。そして、算出されたセンサ座標Ｐｓを示すデータをメモリ１５に記憶する。また、センサ座標Ｐｓを算出する際に算出されたオフセットＶｏのデータをメモリ１５に記憶する。ステップＳ４の次にステップＳ５の処理が実行される。
【０１２２】
ステップＳ５において、ＣＰＵ１４は、単位条件が満たされるか否かを判定する。この判定は、上記“（２−５：判定条件）”で述べた方法に従って行われる。具体的には、ＣＰＵ１４は、カメラ座標Ｐｃおよびセンサ座標Ｐｓ等のデータをメモリ１５から読み出し、読み出したデータを用いて判定を行う。ステップＳ５における判定結果が肯定である場合、ステップＳ６の処理が実行される。一方、ステップＳ５における判定結果が否定である場合、ステップＳ６の処理がスキップされてステップＳ７の処理が実行される。
【０１２３】
ステップＳ６において、ＣＰＵ１４は、メモリ１５に記憶されているカウンタの値をインクリメント（１だけ加算）する。なお、このカウンタの値は、指示位置算出処理の開始時において０に設定される。ステップＳ６の次にステップＳ７の処理が実行される。
【０１２４】
ステップＳ７において、ＣＰＵ１４は、判定条件が満たされるか否かを判定する。具体的には、ＣＰＵ１４は、上記カウンタの値をメモリ１５から読み出し、カウンタの値が所定回数となったか否かを判定する。ステップＳ７における判定結果が否定である場合、ステップＳ８の処理が実行される。一方、ステップＳ７における判定結果が肯定である場合、ステップＳ９の処理が実行される。
【０１２５】
なお、本実施形態においては、充足期間になった後は、図９に示す指示位置算出処理が終了するまで非充足期間に戻ることはない。そのため、充足期間になった後においては、ＣＰＵ１４は、上記ステップＳ５〜Ｓ７の処理をスキップするようにしてもよい。
【０１２６】
ステップＳ８において、ＣＰＵ１４は、カメラ座標Ｐｃに基づいて指示位置を算出する。本実施形態においては、指示位置は、上記“（２−３：指示位置の算出）”で述べた方法に従って算出される。具体的には、ＣＰＵ１４は、カメラ座標Ｐｃのデータをメモリ１５から読み出し、読み出したデータに基づいて指示位置を算出する。なお、ステップＳ８の処理が実行される際に（つまり、非充足期間において）カメラ座標Ｐｃが算出されない場合には、指示位置の算出は行われなくてもよいし、センサ座標Ｐｓを用いて行われてもよい。ステップＳ８の次に、後述するステップＳ１０の処理が実行される。
【０１２７】
一方、ステップＳ９において、ＣＰＵ１４は、センサ座標Ｐｓに基づいて指示位置を算出する。本実施形態においては、指示位置は、上記“（２−３：指示位置の算出）”で述べた方法に従って算出される。具体的には、ＣＰＵ１４は、センサ座標Ｐｓのデータをメモリ１５から読み出し、読み出したデータに基づいて指示位置を算出する。ステップＳ９の次にステップＳ１０の処理が実行される。
【０１２８】
ステップＳ１０において、ＣＰＵ１４は、指示位置に応じた情報処理（ゲーム処理）を実行する。本実施形態においては、上記情報処理として、指示位置にカーソルを表示する処理が実行される。なお、この情報処理の内容は任意である。例えば他の実施形態においては、指示位置の移動に応じて画面をスクロールする処理が実行されてもよいし、プレイヤキャラクタ等のオブジェクトを指示位置へ向かって移動させる処理が実行されてもよい。ステップＳ１０の次にステップＳ１１の処理が実行される。
【０１２９】
ステップＳ１１において、ＣＰＵ１４は、指示位置算出処理を終了するか否かを判定する。この判定の具体的な方法は任意である。例えば、ゲームプログラムの実行を終了する旨の指示がユーザによって行われた場合には、ＣＰＵ１４は、指示位置算出処理を終了すると判定し、ユーザによる当該指示がない場合には、指示位置算出処理を終了しないと判定する。ステップＳ１１の判定結果が否定である場合、ステップＳ１の処理が再度実行される。以降、ステップＳ１１において指示位置算出処理を終了すると判定されるまで、ステップＳ１〜Ｓ１１の処理が繰り返し実行される。一方、ステップＳ１１の判定結果が肯定である場合、ＣＰＵ１４は、図９に示す指示位置算出処理を終了する。
【０１３０】
なお、図９においては示していないが、ゲームプログラムの実行中においては、ステップＳ１〜Ｓ１１の処理以外に、ゲームを進行させるためのゲーム処理等が実行されてもよい。
【０１３１】
［４．変形例］
（カメラ座標およびセンサ座標の用い方に関する変形例）
なお、上記実施形態においては、情報処理システム１は、充足期間と非充足期間とでセンサ座標Ｐｓとカメラ座標Ｐｃとを切り替えて、指示位置を算出する処理を実行した。ここで、センサ座標Ｐｓおよびカメラ座標Ｐｃの用い方はこれに限らない。例えば、本実施形態の変形例においては、非充足期間において（カメラ座標Ｐｃに加えて）センサ座標Ｐｓを用いて指示位置を算出する処理が実行されてもよい。
【０１３２】
ただし、上記のような変形例においても上記実施形態と同様、情報処理システム１は、充足期間において、非充足期間に比べてセンサ座標Ｐｓの影響を相対的に大きくして指示位置を算出する。例えば、情報処理システム１は、非充足期間においては、上記オフセットＶｏの値を充足期間よりも小さくして（例えば、０．５倍にして）センサ座標Ｐｓを算出し、このようにして算出されたセンサ座標Ｐｓを用いて指示位置を算出してもよい。これによって、本実施形態と同様、充足期間においてユーザが入力装置２を自由に動かして入力操作を行うことができるとともに、精度の良い入力操作が可能となる。
【０１３３】
また、上記実施形態においては、センサ座標Ｐｓの算出にはカメラ座標Ｐｃが用いられるので（上式（１））、充足期間においてはカメラ座標とセンサ座標との両方を用いて指示位置が算出されるとも言える。ここで、他の実施形態においては、情報処理システム１は、充足期間においては（カメラ座標を用いずに）センサ座標のみを用いて指示位置を算出してもよい。換言すれば、上記実施形態において、充足期間においては、センサ座標Ｐｓに代えて補正前センサ座標Ｐｏを用いて指示位置が算出されてもよい。これによっても本実施形態と同様、充足期間においてユーザが入力装置２を自由に動かして入力操作を行うことができるとともに、精度の良い入力操作が可能となる。
【０１３４】
（入力装置２の姿勢に応じて算出される値に関する変形例）
上記実施形態においては、情報処理システム１は、入力装置２の姿勢に応じた値として、所定の平面（図３に示すｘｙ平面）上における位置を示す２種類の座標（カメラ座標およびセンサ座標）を算出した。ここで、他の実施形態においては、情報処理システム１は、入力装置２の姿勢に応じた値として、所定の直線上における位置を示す値（つまり、スカラー値）を算出してもよい。つまり、上記カメラ座標およびセンサ座標は、１次元の値であってもよい。例えば、情報処理システム１は、入力装置２のピッチ方向に関する姿勢に応じたスカラー値を算出し、スカラー値を用いて情報処理を実行してもよい。
【０１３５】
（各座標を用いて行う情報処理に関する変形例）
上記実施形態においては、入力装置２の姿勢に応じた値（カメラ座標およびセンサ座標）を用いて行う情報処理の一例として、画面に対応する平面上における指示位置を算出する処理を実行する場合を説明した。ここで、入力装置２の姿勢に応じた値を用いて行う情報処理の内容は任意である。例えば、他の実施形態においては、情報処理は、カメラ座標およびセンサ座標から仮想空間（ゲーム空間）における位置を算出する処理であってもよい。また、情報処理は、カメラ座標およびセンサ座標から算出される指示位置によって構成される軌跡に基づいてジェスチャー入力を判別する処理であってもよい。
【０１３６】
（カメラ座標の算出に関する変形例）
上記実施形態においては、カメラ座標は、入力装置２に設けられる撮像手段（カメラ１１）による撮像画像に基づく撮像情報を用いて算出された。ここで、他の実施形態においては、カメラ座標は、入力装置２を撮像する撮像手段（入力装置２とは別体で、異なる位置に配置されるカメラ）による撮像画像に基づく撮像情報を用いて算出されてもよい。つまり、上記実施形態においては、ユーザが把持する入力装置２にカメラ１１が設けられ、テレビ４の周囲にマーカ装置５が配置される構成であったが、他の実施形態においては、入力装置にマーカ装置が設けられ、他の位置（例えばテレビの周囲）にカメラが配置される構成であってもよい。この構成においても上記実施形態と同様、情報処理装置は、カメラによる撮像画像に基づく撮像情報を用いて、カメラに対する入力装置の位置関係を算出することができ、入力装置の姿勢に応じたカメラ座標を、撮像情報を用いて算出することができる。
【産業上の利用可能性】
【０１３７】
以上のように、本発明は、入力部材を動かすことで行われる入力操作の操作性を向上すること等を目的として、例えばゲーム装置、ゲームシステム、およびゲームプログラム等に利用することが可能である。
【符号の説明】
【０１３８】
１  情報処理システム
２  入力装置
３  情報処理装置
４  テレビ
５  マーカ装置
１１  カメラ
１２  ジャイロセンサ
１３  ボタン
１４  ＣＰＵ
１５  メモリ
１６  プログラム記憶部
２１  カーソル
【図１】
2015005169.tif 000003
【図２】
2015005169.tif 000004
【図３】
2015005169.tif 000005
【図４】
2015005169.tif 000006
【図５】
2015005169.tif 000007
【図６】
2015005169.tif 000008
【図７】
2015005169.tif 000009
【図８】
2015005169.tif 000010
【図９】
2015005169.tif 000011