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