(57)【特許請求の範囲】
【請求項１】
据置型表示装置に画像を表示させる情報処理装置のコンピュータによって実行される情報処理プログラムであって、前記コンピュータを、
所定のオブジェクトが配置された仮想空間内に第１の仮想カメラを設定する第１カメラ設定手段と、
前記所定のオブジェクトが配置された仮想空間内に第２の仮想カメラを設定する第２カメラ設定手段と、
前記第１の仮想カメラで前記所定のオブジェクトを含む前記仮想空間を撮像した第１画像を前記据置型表示装置に表示させる第１表示制御手段と、
前記第２の仮想カメラで前記仮想空間を撮像した第２画像をユーザによって把持される可搬型表示装置に表示させる第２表示制御手段と、
ユーザが前記据置型表示装置を視認している状態か否かを判定する判定手段として機能させ、
前記第１表示制御手段は、
前記判定手段によってユーザが前記据置型表示装置を視認していると判定された場合、前記第１画像として、第１画像Ａを生成し、当該生成した第１画像Ａを前記据置型表示装置に出力し、
前記判定手段によってユーザが前記据置型表示装置を視認していないと判定された場合、前記第１画像として、前記第１画像Ａとは異なる画像であって前記第１画像Ａよりもユーザにとって視認し難い第１画像Ｂを生成し、当該生成した第１画像Ｂを前記据置型表示装置に出力する、情報処理プログラム。
【請求項２】
前記第１表示制御手段は、前記判定手段によってユーザが前記据置型表示装置を視認していないと判定された場合、少なくとも前記所定のオブジェクトを縮小表示する処理、前記第１画像のうちの前記所定のオブジェクトを含む一部あるいは全部の領域に所定の画像が表示されるようにする処理、少なくとも前記所定のオブジェクトをぼかす処理、少なくとも前記所定のオブジェクトを透明あるいは半透明にする処理、および、少なくとも前記所定のオブジェクトをモザイク表示する処理のうちの少なくとも何れかを行うことにより、前記第１画像Ｂを生成する、請求項１に記載の情報処理プログラム。
【請求項３】
前記可搬型表示装置の姿勢を取得する姿勢取得手段として、前記コンピュータをさらに機能させ、
前記判定手段は、前記可搬型表示装置の姿勢が第１の姿勢である場合、ユーザが前記据置型表示装置を視認していると判定し、前記可搬型表示装置の姿勢が第２の姿勢である場合、ユーザが前記据置型表示装置を視認していないと判定する、請求項１または２に記載の情報処理プログラム。
【請求項４】
前記第１表示制御手段は、前記可搬型表示装置の姿勢が前記第２の姿勢である場合、前記第１の仮想カメラの位置および画角のうちの少なくとも一方を変更することにより、少なくとも前記所定のオブジェクトを縮小表示する、請求項３に記載の情報処理プログラム。
【請求項５】
前記第２表示制御手段は、前記可搬型表示装置の姿勢に応じて、前記第２の仮想カメラの姿勢を制御する、請求項３または４に記載の情報処理プログラム。
【請求項６】
前記第２表示制御手段は、前記可搬型表示装置の姿勢が所定の基準姿勢の場合、前記第２の仮想カメラの撮像方向を前記第１の仮想カメラの撮像方向と同じに設定し、当該基準姿勢からの前記可搬型表示装置の姿勢の変化に応じて、前記第２の仮想カメラの姿勢を変化させる、請求項５に記載の情報処理プログラム。
【請求項７】
前記第１の仮想カメラの撮像方向は、前記可搬型表示装置の姿勢に依存しない所定の方向である、請求項３から６のいずれかに記載の情報処理プログラム。
【請求項８】
前記第１表示制御手段は、前記判定手段によってユーザが前記据置型表示装置を視認していないと判定された場合、前記第１の仮想カメラの位置および画角のうちの少なくとも一方を変更することにより、少なくとも前記所定のオブジェクトを縮小表示する、請求項１に記載の情報処理プログラム。
【請求項９】
前記第１画像には第２のオブジェクトが含まれ、前記第２画像には当該第２のオブジェクトが含まれない、請求項１から８の何れかに記載の情報処理プログラム。
【請求項１０】
前記可搬型表示装置に表示される前記所定のオブジェクトは、前記判定手段によってユーザが前記据置型表示装置を視認していると判定された場合に前記据置型表示装置に表示される前記所定のオブジェクトよりも視認困難である、請求項１から９の何れかに記載の情報処理プログラム。
【請求項１１】
前記第２の仮想カメラの位置は、前記判定手段によってユーザが前記据置型表示装置を視認していないと判定された場合の前記第１の仮想カメラの位置と略同じである、請求項１から１０の何れかに記載の情報処理プログラム。
【請求項１２】
前記第２の仮想カメラの画角は、前記判定手段によってユーザが前記据置型表示装置を視認していないと判定された場合の前記第１の仮想カメラの画角と略同じである、請求項１から１１の何れかに記載の情報処理プログラム。
【請求項１３】
前記第２の仮想カメラの撮像範囲は、前記判定手段によってユーザが前記据置型表示装置を視認していないと判定された場合の前記第１の仮想カメラの撮像範囲と略同じである、請求項１から１２の何れかに記載の情報処理プログラム。
【請求項１４】
前記第２の姿勢は、前記可搬型表示装置の画面が重力方向と略平行となる姿勢である、請求項３から７の何れかに記載の情報処理プログラム。
【請求項１５】
前記第１の姿勢は、前記可搬型表示装置の画面が重力方向と略垂直となる姿勢である、請求項３から７または１４の何れかに記載の情報処理プログラム。
【請求項１６】
前記判定手段による判定結果に応じて、前記据置型表示装置から出力される音声の音量を調整する音量調整手段として、前記コンピュータをさらに機能させる、請求項１から１５の何れかに記載の情報処理プログラム。
【請求項１７】
前記音量調整手段は、前記判定手段によってユーザが前記据置型表示装置を視認していないと判定された場合、ユーザが視認していると判定された場合よりも前記据置型表示装置から出力される音声の音量を小さくする、請求項１６に記載の情報処理プログラム。
【請求項１８】
前記可搬型表示装置は、ジャイロセンサおよび加速度センサの少なくとも一方を含み、
前記姿勢取得手段は、前記ジャイロセンサおよび前記加速度センサの少なくとも一方から出力されたデータに基づいて、前記可搬型表示装置の姿勢を算出する、請求項３から７、１４、１５の何れかに記載の情報処理プログラム。
【請求項１９】
前記第２表示制御手段は、前記第２画像を示す画像データを前記可搬型表示装置に出力し、
前記可搬型表示手段は、
前記情報処理装置から出力された画像データを取得する画像データ取得手段と、
前記画像データが示す前記第２画像を表示する表示手段とを備える、請求項１から１８の何れかに記載の情報処理プログラム。
【請求項２０】
前記第２画像を示す画像データを圧縮して圧縮画像データを生成する画像圧縮手段として、前記コンピュータをさらに機能させ、
前記第２表示制御手段は、前記圧縮画像データを前記可搬型表示装置に出力し、
前記画像データ取得手段は、前記情報処理装置から出力された圧縮画像データを取得し、
前記可搬型表示装置は、前記圧縮画像データを伸張する画像伸張手段をさらに備え、
前記表示手段は、前記画像伸張手段によって伸張された前記第２画像を表示する、請求項１９に記載の情報処理プログラム。
【請求項２１】
据置型表示装置に画像を表示させる情報処理装置であって、
所定のオブジェクトが配置された仮想空間内に第１の仮想カメラを設定する第１カメラ設定手段と、
前記所定のオブジェクトが配置された仮想空間内に第２の仮想カメラを設定する第２カメラ設定手段と、
前記第１の仮想カメラで前記所定のオブジェクトを含む前記仮想空間を撮像した第１画像を前記据置型表示装置に表示させる第１表示制御手段と、
前記第２の仮想カメラで前記仮想空間を撮像した第２画像をユーザによって把持される可搬型表示装置に表示させる第２表示制御手段と、
ユーザが前記据置型表示装置を視認している状態か否かを判定する判定手段とを備え、
前記第１表示制御手段は、
前記判定手段によってユーザが前記据置型表示装置を視認していると判定された場合、前記第１画像として、第１画像Ａを生成し、当該生成した第１画像Ａを前記据置型表示装置に出力し、
前記判定手段によってユーザが前記据置型表示装置を視認していないと判定された場合、前記第１画像として、前記第１画像Ａとは異なる画像であって前記第１画像Ａよりもユーザにとって視認し難い第１画像Ｂを生成し、当該生成した第１画像Ｂを前記据置型表示装置に出力する、情報処理装置。
【請求項２２】
据置型表示装置に画像を表示させる情報処理システムであって、
可搬型表示装置と、
所定のオブジェクトが配置された仮想空間内に第１の仮想カメラを設定する第１カメラ設定手段と、
前記所定のオブジェクトが配置された仮想空間内に第２の仮想カメラを設定する第２カメラ設定手段と、
前記第１の仮想カメラで前記所定のオブジェクトを含む前記仮想空間を撮像した第１画像を前記据置型表示装置に表示させる第１表示制御手段と、
前記第２の仮想カメラで前記仮想空間を撮像した第２画像を前記可搬型表示装置に表示させる第２表示制御手段と、
ユーザが前記据置型表示装置を視認している状態か否かを判定する判定手段とを備え、
前記第１表示制御手段は、
前記判定手段によってユーザが前記据置型表示装置を視認していると判定された場合、前記第１画像として、第１画像Ａを生成し、当該生成した第１画像Ａを前記据置型表示装置に出力し、
前記判定手段によってユーザが前記据置型表示装置を視認していないと判定された場合、前記第１画像として、前記第１画像Ａとは異なる画像であって前記第１画像Ａよりもユーザにとって視認し難い第１画像Ｂを生成し、当該生成した第１画像Ｂを前記据置型表示装置に出力する、情報処理システム。
【請求項２３】
据置型表示装置に画像を表示させる情報処理装置において行われる情報処理方法であって、
所定のオブジェクトが配置された仮想空間内に第１の仮想カメラを設定する第１カメラ設定ステップと、
前記所定のオブジェクトが配置された仮想空間内に第２の仮想カメラを設定する第２カメラ設定ステップと、
前記第１の仮想カメラで前記所定のオブジェクトを含む前記仮想空間を撮像した第１画像を前記据置型表示装置に表示させる第１表示制御ステップと、
前記第２の仮想カメラで前記仮想空間を撮像した第２画像をユーザによって把持される可搬型表示装置に表示させる第２表示制御ステップと、
ユーザが前記据置型表示装置を視認している状態か否かを判定する判定ステップとを実行し、
前記第１表示制御ステップでは、
前記判定ステップでユーザが前記据置型表示装置を視認していると判定された場合、前記第１画像として、第１画像Ａを生成し、当該生成した第１画像Ａを前記据置型表示装置に出力し、
前記判定ステップでユーザが前記据置型表示装置を視認していないと判定された場合、前記第１画像として、前記第１画像Ａとは異なる画像であって前記第１画像Ａよりもユーザにとって視認し難い第１画像Ｂを生成し、当該生成した第１画像Ｂを前記据置型表示装置に出力する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の表示装置に表示を行う情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法に関する。
【背景技術】
【０００２】
従来、複数の表示装置に画像を表示するゲームシステムがあった。例えば、特許文献１に記載のゲームシステムでは、携帯ゲーム機には、ゲーム空間における第１〜第４キャラクタの位置が分かる第１ゲーム画像が表示され、テレビには、第２〜第４キャラクタにそれぞれ対応する、ゲーム空間の限られた範囲の画像が表示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３２９７４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載のゲームシステムは、複数の表示装置にゲーム空間の画像を表示しているが、各プレイヤは自身のキャラクタに対応するゲーム空間の範囲を見てゲームを行うだけのものであり、複数の表示装置を有効に活用してゲームをプレイさせるという観点では改善の余地があった。
【０００５】
それ故、本発明の目的は、複数の表示装置を有効に活用して複数の表示装置に画像を表示する情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
本発明の一例は、据置型表示装置に画像を表示させる情報処理装置のコンピュータによって実行される情報処理プログラムである。当該プログラムは、上記コンピュータを、第１カメラ設定手段と、第２カメラ設定手段と、第１表示制御手段と、第２表示制御手段と、判定手段として機能させる。第１カメラ設定手段は、所定のオブジェクトが配置された仮想空間内に第１の仮想カメラを設定する。第２カメラ設定手段は、上記所定のオブジェクトが配置された仮想空間内に第２の仮想カメラを設定する。第１表示制御手段は、上記第１の仮想カメラで上記所定のオブジェクトを含む上記仮想空間を撮像した第１画像を上記据置型表示装置に表示させる。第２表示制御手段は、上記第２の仮想カメラで上記仮想空間を撮像した第２画像をユーザによって把持される可搬型表示装置に表示させる。判定手段は、ユーザが上記据置型表示装置を視認している状態か否かを判定する。上記第１表示制御手段は、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合、ユーザが視認していると判定された場合よりも上記第１画像を視認困難な画像にする。
【０００８】
なお、第１仮想カメラが設定される仮想空間と第２仮想カメラが設定される仮想空間は同一の空間であってもよいし、異なる空間であってもよい。
【０００９】
上記構成によれば、据置型表示装置と可搬型表示装置に上記所定のオブジェクトを含む仮想空間を撮像した画像が表示される。判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合、据置型表示装置に表示される所定のオブジェクト（例えば、海賊船９０Ａ等）は、通常よりも視認困難にすることができる。すなわち、ユーザが上記据置型表示装置を視認している状態であれば所定のオブジェクトを視認容易にし、ユーザが上記据置型表示装置を視認していない状態であれば所定のオブジェクトを視認困難にすることができ、据置型表示装置の表示を制御することができる。これにより、ユーザは、例えば、据置型表示装置と可搬型表示装置とを交互に見てゲームを行うことができる。
【００１０】
また、他の構成では、上記第１表示制御手段は、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合、少なくとも上記所定のオブジェクトを縮小表示する処理、上記第１画像のうちの上記所定のオブジェクトを含む一部あるいは全部の領域に所定の画像が表示されるようにする処理、少なくとも上記所定のオブジェクトをぼかす処理、少なくとも上記所定のオブジェクトを透明あるいは半透明にする処理、および、少なくとも上記所定のオブジェクトをモザイク表示する処理のうちの少なくとも何れかを行うことにより、上記所定のオブジェクトを視認困難にしてもよい。
【００１１】
なお、上記所定の画像が表示されるようにする処理は、例えば、第１画像の一部あるいは全部の領域に、霧が発生したことを示す画像、画面がブラックアウトしたことを示す画像、他のオブジェクトの画像を表示する処理であってもよい。
【００１２】
上記構成によれば、所定のオブジェクトを様々な方法で視認困難にすることができる。
【００１３】
また、他の構成では、上記プログラムは、上記可搬型表示装置の姿勢を取得する姿勢取得手段として、上記コンピュータをさらに機能させてもよい。上記判定手段は、上記可搬型表示装置の姿勢が第１の姿勢である場合、ユーザが上記据置型表示装置を視認していると判定し、上記可搬型表示装置の姿勢が第２の姿勢である場合、ユーザが上記据置型表示装置を視認していないと判定する。
【００１４】
なお、姿勢取得手段は、様々な方法により可搬型表示装置の姿勢を取得してもよい。例えば、姿勢取得手段は、可搬型表示装置に設けられた姿勢を検出するセンサからのデータに基づいて可搬型表示装置の姿勢を算出して取得してもよいし、可搬型表示装置において算出された当該可搬型表示装置の姿勢を取得してもよい。また、例えば、姿勢取得手段は、可搬型表示装置や空間の所定位置に配置されたカメラからの画像に基づいて、可搬型表示装置の姿勢を算出してもよい。
【００１５】
上記構成によれば、可搬型表示装置の姿勢に基づいて、据置型表示装置に表示される所定のオブジェクトを視認困難にすることができ、据置型表示装置の表示を制御することができる。
【００１６】
また、他の構成では、上記第１表示制御手段は、上記可搬型表示装置の姿勢が上記第２の姿勢である場合、上記第１の仮想カメラの位置および画角のうちの少なくとも一方を変更することにより、少なくとも上記所定のオブジェクトを縮小表示してもよい。
【００１７】
上記構成によれば、可搬型表示装置の姿勢が上記第２の姿勢である場合、据置型表示装置に表示される所定のオブジェクトを縮小表示することができる。
【００１８】
また、他の構成では、上記第２表示制御手段は、上記可搬型表示装置の姿勢に応じて、上記第２の仮想カメラの姿勢を制御してもよい。
【００１９】
上記構成によれば、可搬型表示装置の姿勢に応じて、上記第２の仮想カメラの姿勢を制御することができ、当該第２の仮想カメラで仮想空間を撮像した画像を可搬型表示装置に表示させることができる。これにより、可搬型表示装置の姿勢を変化させることで、仮想空間を見渡すことができる。
【００２０】
また、他の構成では、上記第２表示制御手段は、上記可搬型表示装置の姿勢が所定の基準姿勢の場合、上記第２の仮想カメラの撮像方向を上記第１の仮想カメラの撮像方向と同じに設定し、当該基準姿勢からの上記可搬型表示装置の姿勢の変化に応じて、上記第２の仮想カメラの姿勢を変化させてもよい。
【００２１】
上記構成によれば、可搬型表示装置の姿勢を基準姿勢にすることで、第２の仮想カメラの撮像方向を第１の仮想カメラの撮像方向と同じにすることができる。そして、可搬型表示装置の姿勢を変化させることで、可搬型表示装置に仮想空間を様々な方向から見た画像を表示させることができる。
【００２２】
また、他の構成では、上記第１の仮想カメラの撮像方向は、上記可搬型表示装置の姿勢に依存しない所定の方向であってもよい。
【００２３】
上記構成によれば、据置型表示装置には、所定の方向から仮想空間を見た画像を表示させることができ、可搬型表示装置には当該可搬型表示装置の姿勢に応じた方向から仮想空間を見た画像を表示させることができる。
【００２４】
また、他の構成では、上記第１表示制御手段は、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合、上記第１の仮想カメラの位置および画角のうちの少なくとも一方を変更することにより、少なくとも上記所定のオブジェクトを縮小表示してもよい。
【００２５】
上記構成によれば、据置型表示装置に表示される所定のオブジェクトを縮小表示して視認困難にすることができる。
【００２６】
また、他の構成では、上記第１画像には第２のオブジェクトが含まれ、上記第２画像には当該第２のオブジェクトが含まれなくてもよい。
【００２７】
上記構成によれば、据置型表示装置には第２のオブジェクトが含まれ、可搬型表示装置には当該第２のオブジェクトは含まれない。したがって、ユーザは第２のオブジェクトを視認するためには、据置型表示装置を見る必要があり、ユーザに据置型表示装置と可搬型表示装置とを見させることができる。
【００２８】
また、他の構成では、上記可搬型表示装置に表示される上記所定のオブジェクトは、上記判定手段によってユーザが上記据置型表示装置を視認していると判定された場合に上記据置型表示装置に表示される上記所定のオブジェクトよりも視認困難であってもよい。
【００２９】
上記構成によれば、可搬型表示装置には視認困難な所定のオブジェクトが表示される。ユーザは所定のオブジェクトを視認容易にするために、据置型表示装置を視認する必要があり、ユーザに据置型表示装置と可搬型表示装置とを見させることができる。
【００３０】
また、他の構成では、上記第２の仮想カメラの位置は、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合の上記第１の仮想カメラの位置と略同じであってもよい。
【００３１】
上記構成によれば、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合、第２の仮想カメラと第１の仮想カメラとを略同じ位置に設定することができる。
【００３２】
また、他の構成では、上記第２の仮想カメラの画角は、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合の上記第１の仮想カメラの画角と略同じであってもよい。
【００３３】
上記構成によれば、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合、第２の仮想カメラと第１の仮想カメラとを略同じ位置、画角に設定することができる。これにより、同様の撮像範囲を撮像した画像を上記据置型表示装置および上記可搬型表示装置に表示させることができる。
【００３４】
また、他の構成では、上記第２の仮想カメラの撮像範囲は、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合の上記第１の仮想カメラの撮像範囲と略同じであってもよい。
【００３５】
上記構成によれば、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合、第２の仮想カメラと第１の仮想カメラとを略同じ撮像範囲に設定することができる。
【００３６】
また、他の構成では、上記第２の姿勢は、上記可搬型表示装置の画面が重力方向と略平行となる姿勢であってもよい。
【００３７】
上記構成によれば、可搬型表示装置の画面が重力方向と略平行となる場合に、ユーザが上記据置型表示装置を視認していないと判定することができる。
【００３８】
また、他の構成では、上記第１の姿勢は、上記可搬型表示装置の画面が重力方向と略垂直となる姿勢であってもよい。
【００３９】
上記構成によれば、可搬型表示装置の画面が重力方向と略垂直となる場合に、ユーザが上記据置型表示装置を視認していないと判定することができる。
【００４０】
また、他の構成では、上記プログラムは、上記判定手段による判定結果に応じて、上記据置型表示装置から出力される音声の音量を調整する音量調整手段として、上記コンピュータをさらに機能させてもよい。
【００４１】
上記構成によれば、判定手段による判定結果に応じて、上記据置型表示装置から出力される音声の音量を調整することができる。
【００４２】
また、他の構成では、上記音量調整手段は、上記判定手段によってユーザが上記据置型表示装置を視認していないと判定された場合、ユーザが視認していると判定された場合よりも上記据置型表示装置から出力される音声の音量を小さくしてもよい。
【００４３】
上記構成によれば、ユーザが上記据置型表示装置を視認していない場合、据置型表示装置から出力される音声の音量を小さくすることができる。
【００４４】
また、他の構成では、上記可搬型表示装置は、ジャイロセンサおよび加速度センサの少なくとも一方を含んでもよい。上記姿勢取得手段は、上記ジャイロセンサおよび上記加速度センサの少なくとも一方から出力されたデータに基づいて、上記可搬型表示装置の姿勢を算出する。
【００４５】
上記構成によれば、ジャイロセンサや加速度センサからのデータに基づいて、可搬型表示装置の姿勢を算出することができる。
【００４６】
また、他の構成では、上記第２表示制御手段は、上記第２画像を示す画像データを上記可搬型表示装置に出力してもよい。上記可搬型表示手段は、上記情報処理装置から出力された画像データを取得する画像データ取得手段と、上記画像データが示す上記第２画像を表示する表示手段とを備える。
【００４７】
上記構成によれば、情報処理装置において第２画像を生成し、当該第２画像を可搬型表示装置に出力することにより、可搬型表示装置に第２画像を表示することができる。
【００４８】
また、他の構成では、上記プログラムは、上記第２画像を示す画像データを圧縮して圧縮画像データを生成する画像圧縮手段として、上記コンピュータをさらに機能させてもよい。上記第２表示制御手段は、上記圧縮画像データを上記可搬型表示装置に出力する。上記画像データ取得手段は、上記情報処理装置から出力された圧縮画像データを取得する。上記可搬型表示装置は、上記圧縮画像データを伸張する画像伸張手段をさらに備える。上記表示手段は、上記画像伸張手段によって伸張された上記第２画像を表示する。
【００４９】
上記構成によれば、第２画像は圧縮されて情報処理装置から可搬型表示装置に出力される。このため、データ量の大きな画像であっても短時間でゲーム装置から可搬型表示装置に送信することができる。
【００５０】
なお、本発明の別の一例は、上記各手段を実現した情報処理装置であってもよい。また、本発明では、上記各手段を実現する複数の要素が相互に動作することによって、１つの情報処理システムとして構成されてもよい。当該情報処理システムは、１つの装置によって構成されてもよいし、複数の装置によって構成されてもよい。また、本発明は、上述の各手段によって実行されるステップを含む情報処理方法であってもよい。
【発明の効果】
【００５１】
本発明によれば、複数の表示装置を有効に活用して複数の表示装置に画像を表示する情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法を提供することが可能となる。
【図面の簡単な説明】
【００５２】
【図１】ゲームシステム１の外観図
【図２】ゲーム装置３の内部構成を示すブロック図
【図３】メインコントローラ８の外観構成を示す斜視図
【図４】メインコントローラ８の外観構成を示す斜視図
【図５】メインコントローラ８の内部構造を示す図
【図６】メインコントローラ８の内部構造を示す図
【図７】サブコントローラ９の外観構成を示す斜視図
【図８】コントローラ５の構成を示すブロック図
【図９】端末装置７の外観構成を示す図
【図１０】ユーザが端末装置７を把持した様子を示す図
【図１１】端末装置７の内部構成を示すブロック図
【図１２Ａ】本ゲームが行われる場合のプレイヤの基本的な姿勢を示す図であり、プレイヤが端末装置７を第１の姿勢で把持している様子を示す図
【図１２Ｂ】本ゲームが行われる場合のプレイヤの基本的な姿勢を示す図であり、プレイヤが端末装置７を第２の姿勢で把持している様子を示す図
【図１３Ａ】端末装置７を第１の姿勢で把持した場合にテレビ２に表示されるテレビ用ゲーム画像の一例を示す図
【図１３Ｂ】端末装置７を第２の姿勢で把持した場合にテレビ２に表示されるテレビ用ゲーム画像の一例を示す図
【図１４】本ゲームにおける仮想空間に配置された各オブジェクトの位置関係を示す図
【図１５Ａ】プレイヤが端末装置７を自身の目の前で把持して、テレビ２に対して正面を向いているときの端末装置７のＬＣＤ５１に表示される端末用ゲーム画像の一例を示す図
【図１５Ｂ】プレイヤが端末装置７を自身の目の前で把持して、テレビ２に対して右側を向いているときの端末装置７のＬＣＤ５１に表示される端末用ゲーム画像の一例を示す図
【図１６Ａ】本実施形態のゲームが実行された後の第１タイミングでテレビ２に表示されるテレビ用ゲーム画像の一例を示す図
【図１６Ｂ】第１タイミングから所定時間経過後の第２タイミングで端末装置７のＬＣＤ５１に表示される端末用ゲーム画像の一例を示す図
【図１７】プレイヤが端末装置７を下に向けている状態（第１の姿勢）から上に向ける状態に端末装置７の姿勢を変化させる様子を示す図
【図１８】海賊９２が矢９４を放った第１タイミングｔ１から矢９４がプレイヤに届く第２タイミングｔ２までの時間経過を示す図
【図１９Ａ】本実施形態のゲームが実行された後の第１タイミングｔ１でテレビ２に表示されるテレビ用ゲーム画像の他の例を示す図
【図１９Ｂ】第１タイミングｔ１から所定時間経過後の第２タイミングｔ２で端末装置７のＬＣＤ５１に表示される端末用ゲーム画像の他の例を示す図
【図２０】プレイヤがゲーム装置３からの指示に応じてテレビ２に対して右側を向く様子を実空間の上方から見た図
【図２１】ゲーム処理において用いられる各種データを示す図
【図２２】ゲーム装置３において実行されるゲーム処理の流れを示すメインフローチャート
【図２３】図２２に示すゲーム制御処理（ステップＳ３）の詳細な流れを示すフローチャート
【図２４】端末装置７がＸ軸周りに所定角度回転している場合の端末装置７を側面から見た図
【図２５】端末装置７が動いている場合において、第２タイミングｔ２で端末装置７のＬＣＤ５１に表示される画像の一例を示す図
【図２６】端末装置７のＬＣＤ５１に表示されるロックオン枠９９の一例を示す図
【発明を実施するための形態】
【００５３】
［１．ゲームシステムの全体構成］
以下、図面を参照して、本発明の一実施形態に係るゲームシステム１について説明する。図１は、ゲームシステム１の外観図である。図１において、ゲームシステム１は、テレビジョン受像器等に代表される据置型のディスプレイ装置（以下、「テレビ」と記載する）２、据置型のゲーム装置３、光ディスク４、コントローラ５、マーカ装置６、および、端末装置７を含む。ゲームシステム１は、コントローラ５を用いたゲーム操作に基づいてゲーム装置３においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ２および／または端末装置７に表示するものである。
【００５４】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置３において実行されるための情報処理プログラム（典型的にはゲームプログラム）が記憶されている。ゲーム装置３の前面には光ディスク４の挿入口が設けられている。ゲーム装置３は、挿入口に挿入された光ディスク４に記憶されている情報処理プログラムを読み出して実行することによってゲーム処理を実行する。
【００５５】
ゲーム装置３には、テレビ２が接続コードを介して接続される。テレビ２は、ゲーム装置３において実行されるゲーム処理によって得られるゲーム画像を表示する。テレビ２はスピーカ２ａ（図２）を有しており、スピーカ２ａは、上記ゲーム処理の結果得られるゲーム音声を出力する。なお、他の実施形態においては、ゲーム装置３と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置３とテレビ２との通信は無線通信であってもよい。
【００５６】
テレビ２の画面の周辺（図１では画面の上側）には、マーカ装置６が設置される。詳細は後述するが、ユーザ（プレイヤ）はコントローラ５を動かすゲーム操作を行うことができ、マーカ装置６は、コントローラ５の動きや位置や姿勢等をゲーム装置３が算出するために用いられる。マーカ装置６は、その両端に２つのマーカ６Ｒおよび６Ｌを備えている。マーカ６Ｒ（マーカ６Ｌも同様）は、具体的には１以上の赤外ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）であり、テレビ２の前方に向かって赤外光を出力する。マーカ装置６は有線で（無線であってもよい）ゲーム装置３に接続されており、ゲーム装置３はマーカ装置６が備える各赤外ＬＥＤの点灯を制御することが可能である。なお、マーカ装置６は可搬型であり、ユーザはマーカ装置６を自由な位置に設置することができる。図１ではマーカ装置６がテレビ２の上に設置された態様を表しているが、マーカ装置６を設置する位置および向きは任意である。
【００５７】
コントローラ５は、自機に対する操作に基づく操作データをゲーム装置３に与えるものである。本実施形態では、コントローラ５は、メインコントローラ８とサブコントローラ９とを有し、サブコントローラ９がメインコントローラ８に着脱可能に装着される構成である。コントローラ５とゲーム装置３とは無線通信によって通信可能である。本実施形態では、コントローラ５とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。なお、他の実施形態においてはコントローラ５とゲーム装置３とは有線で接続されてもよい。また、図１では、ゲームシステム１に含まれるコントローラ５は１つとするが、ゲームシステム１は複数のコントローラ５を含んでいてもよい。つまり、ゲーム装置３は複数のコントローラと通信可能であり、所定台数のコントローラを同時に使用することによって複数人でゲームをプレイすることが可能である。コントローラ５の詳細な構成については後述する。
【００５８】
端末装置７は、ユーザが把持可能な程度の大きさであり、ユーザは端末装置７を手に持って動かしたり、あるいは、端末装置７を自由な位置に配置したりして使用することが可能である。詳細な構成は後述するが、端末装置７は、表示手段であるＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）５１、および、入力手段（後述するタッチパネル５２やジャイロセンサ６４等）を備える。端末装置７とゲーム装置３とは無線（有線であってもよい）によって通信可能である。端末装置７は、ゲーム装置３で生成された画像（例えばゲーム画像）のデータをゲーム装置３から受信し、画像をＬＣＤ５１に表示する。なお、本実施形態では表示装置としてＬＣＤを用いているが、端末装置７は、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を有していてもよい。また、端末装置７は、自機に対する操作に基づく操作データをゲーム装置３に送信する。
【００５９】
［２．ゲーム装置３の内部構成］
次に、図２を参照して、ゲーム装置３の内部構成について説明する。図２は、ゲーム装置３の内部構成を示すブロック図である。ゲーム装置３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、システムＬＳＩ１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５等を有する。
【００６０】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムＬＳＩ１１の内部構成については後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置３の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ：Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ１１ｅまたは外部メインメモリ１２に読み出したデータを書き込む。
【００６１】
システムＬＳＩ１１には、入出力プロセッサ（Ｉ／Ｏプロセッサ）１１ａ、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１１ｂ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１１ｃ、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）１１ｄ、および内部メインメモリ１１ｅが設けられる。図示は省略するが、これらの構成要素１１ａ〜１１ｅは内部バスによって互いに接続される。
【００６２】
ＧＰＵ１１ｂは、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。ＶＲＡＭ１１ｄは、ＧＰＵ１１ｂがグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ１１ｂは、ＶＲＡＭ１１ｄに記憶されたデータを用いて画像データを作成する。なお、本実施形態においては、ゲーム装置３は、テレビ２に表示するゲーム画像と、端末装置７に表示するゲーム画像との両方を生成する。以下では、テレビ２に表示されるゲーム画像を「テレビ用ゲーム画像」と呼び、端末装置７に表示されるゲーム画像を「端末用ゲーム画像」と呼ぶことがある。
【００６３】
ＤＳＰ１１ｃは、オーディオプロセッサとして機能し、内部メインメモリ１１ｅや外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。なお、本実施形態においては、ゲーム音声についてもゲーム画像と同様、テレビ２のスピーカから出力するゲーム音声と、端末装置７のスピーカから出力するゲーム音声との両方が生成される。以下では、テレビ２から出力されるゲーム音声を「テレビ用ゲーム音声」と呼び、端末装置７から出力されるゲーム音声を「端末用ゲーム音声」と呼ぶことがある。
【００６４】
上記のようにゲーム装置３において生成される画像および音声のうちで、テレビ２において出力される画像および音声のデータは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、読み出した画像データをＡＶコネクタ１６を介してテレビ２に出力するとともに、読み出した音声データを、テレビ２に内蔵されるスピーカ２ａに出力する。これによって、テレビ２に画像が表示されるとともにスピーカ２ａから音が出力される。
【００６５】
また、ゲーム装置３において生成される画像および音声のうちで、端末装置７において出力される画像および音声のデータは、入出力プロセッサ１１ａ等によって端末装置７へ送信される。入出力プロセッサ１１ａ等による端末装置７へのデータの送信については後述する。
【００６６】
入出力プロセッサ１１ａは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ１１ａは、フラッシュメモリ１７、ネットワーク通信モジュール１８、コントローラ通信モジュール１９、拡張コネクタ２０、メモリカード用コネクタ２１、コーデックＬＳＩ２７に接続される。また、ネットワーク通信モジュール１８にはアンテナ２２が接続される。コントローラ通信モジュール１９にはアンテナ２３が接続される。コーデックＬＳＩ２７は端末通信モジュール２８に接続され、端末通信モジュール２８にはアンテナ２９が接続される。
【００６７】
ゲーム装置３は、インターネット等のネットワークに接続して外部情報処理装置（例えば他のゲーム装置や、各種サーバや、各種情報処理装置等）と通信を行うことが可能である。すなわち、入出力プロセッサ１１ａは、ネットワーク通信モジュール１８およびアンテナ２２を介してインターネット等のネットワークに接続し、ネットワークに接続される外部情報処理装置と通信することができる。入出力プロセッサ１１ａは、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、ネットワーク通信モジュール１８およびアンテナ２２を介してネットワークに送信する。また、入出力プロセッサ１１ａは、外部情報処理装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２およびネットワーク通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０はゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置３と外部情報処理装置との間で送受信されるデータの他、ゲーム装置３を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。また、フラッシュメモリ１７にはゲームプログラムが記憶されてもよい。
【００６８】
また、ゲーム装置３は、コントローラ５からの操作データを受信することが可能である。すなわち、入出力プロセッサ１１ａは、コントローラ５から送信される操作データをアンテナ２３およびコントローラ通信モジュール１９を介して受信し、内部メインメモリ１１ｅまたは外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００６９】
また、ゲーム装置３は、端末装置７との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ１１ａは、端末装置７へゲーム画像（端末用ゲーム画像）を送信する場合、ＧＰＵ１１ｂが生成したゲーム画像のデータをコーデックＬＳＩ２７へ出力する。コーデックＬＳＩ２７は、入出力プロセッサ１１ａからの画像データに対して所定の圧縮処理を行う。端末通信モジュール２８は、端末装置７との間で無線通信を行う。したがって、コーデックＬＳＩ２７によって圧縮された画像データは、端末通信モジュール２８によってアンテナ２９を介して端末装置７へ送信される。なお、本実施形態では、ゲーム装置３から端末装置７へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置３から端末装置７への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、コーデックＬＳＩ２７は、例えばＨ．２６４規格といった高効率の圧縮技術を用いて画像データを圧縮する。なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。また、端末通信モジュール２８は、例えばＷｉ−Ｆｉの認証を受けた通信モジュールであり、例えばＩＥＥＥ８０２．１１ｎ規格で採用されるＭＩＭＯ（Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｍｕｌｔｉｐｌｅ  Ｏｕｔｐｕｔ）の技術を用いて端末装置７との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
【００７０】
また、ゲーム装置３は、画像データの他、音声データを端末装置７へ送信する。すなわち、入出力プロセッサ１１ａは、ＤＳＰ１１ｃが生成した音声データを、コーデックＬＳＩ２７を介して端末通信モジュール２８へ出力する。コーデックＬＳＩ２７は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよいが、圧縮率が高く、音声の劣化が少ない方式が好ましい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール２８は、圧縮された画像データおよび音声データを、アンテナ２９を介して端末装置７へ送信する。
【００７１】
さらに、ゲーム装置３は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを端末装置７へ送信する。制御データは、端末装置７が備える構成要素に対する制御指示を表すデータであり、例えばマーカ部（図１０に示すマーカ部５５）の点灯を制御する指示や、カメラ（図１０に示すカメラ５６）の撮像を制御する指示等を表す。入出力プロセッサ１１ａは、ＣＰＵ１０の指示に応じて制御データを端末装置７へ送信する。なお、この制御データに関して、本実施形態ではコーデックＬＳＩ２７はデータの圧縮処理を行わないが、他の実施形態においては圧縮処理を行うようにしてもよい。なお、ゲーム装置３から端末装置７へ送信される上述のデータは、必要に応じて暗号化がされていてもよいし、されていなくともよい。
【００７２】
また、ゲーム装置３は、端末装置７から各種データを受信可能である。詳細は後述するが、本実施形態では、端末装置７は、操作データ、画像データ、および音声データを送信する。端末装置７から送信される各データはアンテナ２９を介して端末通信モジュール２８によって受信される。ここで、端末装置７からの画像データおよび音声データは、ゲーム装置３から端末装置７への画像データおよび音声データと同様の圧縮処理が施されている。したがって、これら画像データおよび音声データについては、端末通信モジュール２８からコーデックＬＳＩ２７に送られ、コーデックＬＳＩ２７によって伸張処理が施されて入出力プロセッサ１１ａに出力される。一方、端末装置７からの操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくともよい。したがって、操作データは、端末通信モジュール２８で受信された後、コーデックＬＳＩ２７を介して入出力プロセッサ１１ａに出力される。入出力プロセッサ１１ａは、端末装置７から受信したデータを、内部メインメモリ１１ｅまたは外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００７３】
また、ゲーム装置３は、他の機器や外部記憶媒体に接続することが可能である。すなわち、入出力プロセッサ１１ａには、拡張コネクタ２０およびメモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタである。拡張コネクタ２０に対しては、外部記憶媒体のようなメディアを接続したり、他のコントローラ等の周辺機器を接続したり、有線の通信用コネクタを接続することによってネットワーク通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ１１ａは、拡張コネクタ２０やメモリカード用コネクタ２１を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
【００７４】
ゲーム装置３には、電源ボタン２４、リセットボタン２５、およびイジェクトボタン２６が設けられる。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンされると、図示しないＡＣアダプタによって外部の電源からゲーム装置３の各構成要素に対して電力が供給される。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置３の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００７５】
なお、他の実施形態においては、ゲーム装置３が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置３とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば上記拡張コネクタ２０を介してゲーム装置３と接続されるようにしてもよい。具体的には、拡張機器は、例えば上記コーデックＬＳＩ２７、端末通信モジュール２８およびアンテナ２９の各構成要素を備えており、拡張コネクタ２０に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置に対して上記拡張機器を接続することによって、当該ゲーム装置を端末装置７と通信可能な構成とすることができる。
【００７６】
［３．コントローラ５の構成］
次に、図３〜図７を参照して、コントローラ５について説明する。上述のように、コントローラ５は、メインコントローラ８とサブコントローラ９とによって構成される。図３は、メインコントローラ８の外観構成を示す斜視図である。図４は、メインコントローラ８の外観構成を示す斜視図である。図３は、メインコントローラ８の上側後方から見た斜視図であり、図４は、メインコントローラ８を下側前方から見た斜視図である。
【００７７】
図３および図４において、メインコントローラ８は、例えばプラスチック成型によって形成されたハウジング３１を有している。ハウジング３１は、その前後方向（図３に示すＺ１軸方向）を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザは、メインコントローラ８に設けられたボタンを押下すること、および、メインコントローラ８自体を動かしてその位置や姿勢（傾き）を変えることによってゲーム操作を行うことができる。
【００７８】
ハウジング３１には、複数の操作ボタンが設けられる。図３に示すように、ハウジング３１の上面には、十字ボタン３２ａ、１番ボタン３２ｂ、２番ボタン３２ｃ、Ａボタン３２ｄ、マイナスボタン３２ｅ、ホームボタン３２ｆ、プラスボタン３２ｇ、および電源ボタン３２ｈが設けられる。本明細書では、これらのボタン３２ａ〜３２ｈが設けられるハウジング３１の上面を「ボタン面」と呼ぶことがある。一方、図４に示すように、ハウジング３１の下面には凹部が形成されており、当該凹部の後面側傾斜面にはＢボタン３２ｉが設けられる。これらの各操作ボタン３２ａ〜３２ｉには、ゲーム装置３が実行する情報処理プログラムに応じた機能が適宜割り当てられる。また、電源ボタン３２ｈは遠隔からゲーム装置３本体の電源をオン／オフするためのものである。ホームボタン３２ｆおよび電源ボタン３２ｈは、その上面がハウジング３１の上面に埋没している。これによって、ユーザがホームボタン３２ｆまたは電源ボタン３２ｈを誤って押下することを防止することができる。
【００７９】
ハウジング３１の後面にはコネクタ３３が設けられている。コネクタ３３は、メインコントローラ８に他の機器（例えば、サブコントローラ９や他のセンサユニット等）を接続するために利用される。また、ハウジング３１の後面におけるコネクタ３３の両側には、上記他の機器が容易に離脱することを防止するために係止穴３３ａが設けられている。
【００８０】
ハウジング３１上面の後方には複数（図３では４つ）のＬＥＤ３４ａ〜３４ｄが設けられる。ここで、コントローラ５（メインコントローラ８）には、他のコントローラと区別するためにコントローラ種別（番号）が付与される。各ＬＥＤ３４ａ〜３４ｄは、コントローラ５に現在設定されている上記コントローラ種別をユーザに通知したり、コントローラ５の電池残量をユーザに通知したりする等の目的で用いられる。具体的には、コントローラ５を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のＬＥＤ３４ａ〜３４ｄのいずれか１つが点灯する。
【００８１】
また、メインコントローラ８は撮像情報演算部３５（図６）を有しており、図４に示すように、ハウジング３１前面には撮像情報演算部３５の光入射面３５ａが設けられる。光入射面３５ａは、マーカ６Ｒおよび６Ｌからの赤外光を少なくとも透過する材質で構成される。
【００８２】
ハウジング３１上面における１番ボタン３２ｂとホームボタン３２ｆとの間には、メインコントローラ８に内蔵されるスピーカ４７（図５）からの音を外部に放出するための音抜き孔３１ａが形成されている。
【００８３】
次に、図５および図６を参照して、メインコントローラ８の内部構造について説明する。図５および図６は、メインコントローラ８の内部構造を示す図である。なお、図５は、メインコントローラ８の上筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図６は、メインコントローラ８の下筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図６に示す斜視図は、図５に示す基板３０を裏面から見た斜視図となっている。
【００８４】
図５において、ハウジング３１の内部には基板３０が固設されており、当該基板３０の上主面上に各操作ボタン３２ａ〜３２ｈ、各ＬＥＤ３４ａ〜３４ｄ、加速度センサ３７、アンテナ４５、およびスピーカ４７等が設けられる。これらは、基板３０等に形成された配線（図示せず）によってマイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）４２（図６参照）に接続される。本実施形態では、加速度センサ３７は、Ｘ１軸方向に関してメインコントローラ８の中心からずれた位置に配置されている。これによって、メインコントローラ８をＺ１軸回りに回転させたときのメインコントローラ８の動きが算出しやすくなる。また、加速度センサ３７は、長手方向（Ｚ１軸方向）に関してメインコントローラ８の中心よりも前方に配置されている。また、無線モジュール４４（図６）およびアンテナ４５によって、コントローラ５（メインコントローラ８）がワイヤレスコントローラとして機能する。
【００８５】
一方、図６において、基板３０の下主面上の前端縁に撮像情報演算部３５が設けられる。撮像情報演算部３５は、メインコントローラ８の前方から順に赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を備えている。これらの部材３８〜４１はそれぞれ基板３０の下主面に取り付けられる。
【００８６】
さらに、基板３０の下主面上には、上記マイコン４２およびバイブレータ４６が設けられている。バイブレータ４６は、例えば振動モータやソレノイドであり、基板３０等に形成された配線によってマイコン４２と接続される。マイコン４２の指示によりバイブレータ４６が作動することによってメインコントローラ８に振動が発生する。これによって、メインコントローラ８を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ４６は、ハウジング３１のやや前方寄りに配置される。つまり、バイブレータ４６がメインコントローラ８の中心よりも端側に配置することによって、バイブレータ４６の振動によりメインコントローラ８全体を大きく振動させることができる。また、コネクタ３３は、基板３０の下主面上の後端縁に取り付けられる。なお、図５および図６に示す他、メインコントローラ８は、マイコン４２の基本クロックを生成する水晶振動子、スピーカ４７に音声信号を出力するアンプ等を備えている。
【００８７】
図７は、サブコントローラ９の外観構成を示す斜視図である。サブコントローラ９は、例えばプラスチック成型によって形成されたハウジング８０を有している。ハウジング８０は、メインコントローラ８と同様に、全体として大人や子供の片手で把持可能な大きさである。このサブコントローラ９を用いることによっても、プレイヤは、ボタンやスティックを操作することと、コントローラ自体の位置や向きを変えることとによって、ゲーム操作を行うことができる。
【００８８】
図７に示すように、ハウジング８０の上面（Ｙ２軸負方向側の面）の先端側（Ｚ２軸正側）には、アナログジョイスティック８１が設けられる。また、図示されないが、ハウジング８０の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向（図７に示すＹ２軸方向）に並べて、ＣボタンおよびＺボタンが設けられる。アナログジョイスティック８１および各ボタン（ＣボタンおよびＺボタン）には、ゲーム装置３が実行するゲームプログラムに応じてそれぞれ適宜の機能が割り当てられる。なお、アナログジョイスティック８１および各ボタンを包括的に「操作部８２（図８参照）」と呼ぶことがある。
【００８９】
また、図７では示されないが、サブコントローラ９は、ハウジング８０の内部に加速度センサ（図８に示す加速度センサ８３）を有している。本実施形態においては、加速度センサ８３は、メインコントローラ８の加速度センサ３７と同様のものが用いられる。ただし、加速度センサ８３は、加速度センサ３７とは異なるものであってもよく、例えば所定の１軸または２軸の加速度を検出するものであってもよい。
【００９０】
また、図７に示すように、ハウジング８０の後端にはケーブルの一端が接続されている。図７では示されないが、ケーブルの他端にはコネクタ（図８に示すコネクタ８４）が接続される。このコネクタはメインコントローラ８のコネクタ３３と接続可能である。つまり、コネクタ３３とコネクタ８４とを接続することによって、メインコントローラ８とサブコントローラ９とが接続される。
【００９１】
なお、図３〜図７に示したメインコントローラ８およびサブコントローラ９の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。また、本実施形態では、メインコントローラ８の撮像手段による撮像方向はＺ１軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ５における撮像情報演算部３５の位置（撮像情報演算部３５の光入射面３５ａ）は、ハウジング３１の前面でなくてもよく、ハウジング３１の外部から光を取り入れることができれば他の面に設けられてもかまわない。
【００９２】
図８は、コントローラ５の構成を示すブロック図である。図８に示すように、メインコントローラ８は、操作部３２（各操作ボタン３２ａ〜３２ｉ）、撮像情報演算部３５、通信部３６、加速度センサ３７、およびジャイロセンサ４８を備えている。また、サブコントローラ９は、操作部８２および加速度センサ８３を備えている。コントローラ５は、自機に対して行われた操作内容を表すデータを操作データとしてゲーム装置３へ送信するものである。なお、以下では、コントローラ５が送信する操作データを「コントローラ操作データ」と呼び、端末装置７が送信する操作データを「端末操作データ」と呼ぶことがある。
【００９３】
操作部３２は、上述した各操作ボタン３２ａ〜３２ｉを含み、各操作ボタン３２ａ〜３２ｉに対する入力状態（各操作ボタン３２ａ〜３２ｉが押下されたか否か）を表す操作ボタンデータを通信部３６のマイコン４２へ出力する。
【００９４】
撮像情報演算部３５は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部３５は、例えば最大２００フレーム／秒程度のサンプリング周期を有するので、比較的高速なコントローラ５の動きでも追跡して解析することができる。
【００９５】
撮像情報演算部３５は、赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を含んでいる。赤外線フィルタ３８は、コントローラ５の前方から入射する光から赤外線のみを通過させる。レンズ３９は、赤外線フィルタ３８を透過した赤外線を集光して撮像素子４０へ入射させる。撮像素子４０は、例えばＣＭＯＳセンサやあるいはＣＣＤセンサのような固体撮像素子であり、レンズ３９が集光した赤外線を受光して画像信号を出力する。ここで、撮像対象となる端末装置７のマーカ部５５およびマーカ装置６は、赤外光を出力するマーカで構成される。したがって、赤外線フィルタ３８を設けることによって、撮像素子４０は、赤外線フィルタ３８を通過した赤外線だけを受光して画像データを生成するので、撮像対象（マーカ部５５および／またはマーカ装置６）の画像をより正確に撮像することができる。以下では、撮像素子４０によって撮像された画像を撮像画像と呼ぶ。撮像素子４０によって生成された画像データは、画像処理回路４１で処理される。画像処理回路４１は、撮像画像内における撮像対象の位置を算出する。画像処理回路４１は、算出された位置を示す座標を通信部３６のマイコン４２へ出力する。この座標のデータは、マイコン４２によって操作データとしてゲーム装置３に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ５自体の向き（傾斜角度）や位置に対応して変化するので、ゲーム装置３はこのマーカ座標を用いてコントローラ５の向きや位置を算出することができる。
【００９６】
なお、他の実施形態においては、コントローラ５は画像処理回路４１を備えていない構成であってもよく、撮像画像自体がコントローラ５からゲーム装置３へ送信されてもよい。このとき、ゲーム装置３は、画像処理回路４１と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
【００９７】
加速度センサ３７は、コントローラ５の加速度（重力加速度を含む）を検出する、すなわち、コントローラ５に加わる力（重力を含む）を検出する。加速度センサ３７は、当該加速度センサ３７の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度（直線加速度）の値を検出する。例えば、２軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。なお、加速度センサ３７は、例えば静電容量式のＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍ）型加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
【００９８】
本実施形態では、加速度センサ３７は、コントローラ５を基準とした上下方向（図３に示すＹ１軸方向）、左右方向（図３に示すＸ１軸方向）および前後方向（図３に示すＺ１軸方向）の３軸方向に関してそれぞれ直線加速度を検出する。加速度センサ３７は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ３７からの出力は３軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ５を基準に設定されるＸ１Ｙ１Ｚ１座標系（コントローラ座標系）における３次元のベクトルとして表される。
【００９９】
加速度センサ３７が検出した加速度を表すデータ（加速度データ）は、通信部３６へ出力される。なお、加速度センサ３７が検出した加速度は、コントローラ５自体の向き（傾斜角度）や動きに対応して変化するので、ゲーム装置３は取得された加速度データを用いてコントローラ５の向きや動きを算出することができる。本実施形態では、ゲーム装置３は、取得された加速度データに基づいてコントローラ５の姿勢や傾斜角度等を算出する。
【０１００】
なお、加速度センサ３７（後述する加速度センサ６３についても同様）から出力される加速度の信号に基づいて、ゲーム装置３のプロセッサ（例えばＣＰＵ１０）またはコントローラ５のプロセッサ（例えばマイコン４２）等のコンピュータが処理を行うことによって、コントローラ５に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ３７を搭載するコントローラ５が静止状態であることを前提としてコンピュータ側の処理が実行される場合（すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合）、コントローラ５が現実に静止状態であれば、検出された加速度に基づいてコントローラ５の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ３７の検出軸が鉛直下方向を向いている状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かによって、コントローラ５が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ３７の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ５がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ３７からの出力に基づいてコントローラ５の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ５の傾斜方向を算出するようにしてもよい。このように、加速度センサ３７をプロセッサと組み合わせて用いることによって、コントローラ５の傾斜角度または姿勢を判定することができる。
【０１０１】
一方、コントローラ５が動的な状態（コントローラ５が動かされている状態）であることを前提とする場合には、加速度センサ３７は重力加速度に加えてコントローラ５の動きに応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ５の動き方向を知ることができる。また、コントローラ５が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの動きに応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ５の傾きを知ることが可能である。なお、他の実施例では、加速度センサ３７は、内蔵の加速度検出手段で検出された加速度信号をマイコン４２に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ３７が静的な加速度（例えば、重力加速度）を検出するために用いられる場合、加速度信号を傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【０１０２】
ジャイロセンサ４８は、３軸（本実施形態では、Ｘ１Ｙ１Ｚ１軸）回りの角速度を検出する。本明細書では、コントローラ５の撮像方向（Ｚ１軸正方向）を基準として、Ｘ１軸回りの回転方向をピッチ方向、Ｙ１軸回りの回転方向をヨー方向、Ｚ１軸回りの回転方向をロール方向と呼ぶ。ジャイロセンサ４８は、３軸回りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。例えば、ジャイロセンサ４８は、３軸ジャイロセンサであってもよいし、２軸ジャイロセンサと１軸ジャイロセンサとを組み合わせて３軸周りの角速度を検出するものであってもよい。ジャイロセンサ４８で検出された角速度を表すデータは、通信部３６へ出力される。また、ジャイロセンサ４８は１軸または２軸回りの角速度を検出するものであってもよい。
【０１０３】
また、サブコントローラ９の操作部８２は、上述したアナログジョイスティック８１、ＣボタンおよびＺボタンを含む。操作部８２は、アナログジョイスティック８１に対する傾倒方向および傾倒量を表すスティックデータ（サブスティックデータと呼ぶ）と、各ボタンに対する入力状態（各ボタンが押下されたか否か）を表す操作ボタンデータ（サブ操作ボタンデータと呼ぶ）とを、コネクタ８４を介してメインコントローラ８へ出力する。
【０１０４】
また、サブコントローラ９の加速度センサ８３は、メインコントローラ８の加速度センサ３７と同様のセンサであり、サブコントローラ９の加速度（重力加速度を含む）を検出する、すなわち、サブコントローラ９に加わる力（重力を含む）を検出する。加速度センサ８３は、当該加速度センサ８３の検出部に加わっている加速度のうち、所定の３軸方向に沿った直線方向の加速度（直線加速度）の値を検出する。検出された加速度を表すデータ（サブ加速度データと呼ぶ）は、コネクタ８４を介してメインコントローラ８へ出力される。
【０１０５】
以上のように、サブコントローラ９は、上記サブスティックデータ、サブ操作ボタンデータ、およびサブ加速度データを含むサブコントローラデータをメインコントローラ８へ出力する。
【０１０６】
メインコントローラ８の通信部３６は、マイコン４２、メモリ４３、無線モジュール４４、およびアンテナ４５を含んでいる。マイコン４２は、処理を行う際にメモリ４３を記憶領域として用いながら、マイコン４２が取得したデータをゲーム装置３へ無線送信する無線モジュール４４を制御する。
【０１０７】
サブコントローラ９からのサブコントローラデータは、マイコン４２に入力され、一時的にメモリ４３に格納される。また、操作部３２、撮像情報演算部３５、加速度センサ３７、およびジャイロセンサ４８からマイコン４２へ出力されたデータ（メインコントローラデータと呼ぶ）は、一時的にメモリ４３に格納される。これらのメインコントローラおよびサブコントローラデータは、操作データ（コントローラ操作データ）としてゲーム装置３へ送信される。すなわち、マイコン４２は、ゲーム装置３のコントローラ通信モジュール１９への送信タイミングが到来すると、メモリ４３に格納されている操作データを無線モジュール４４へ出力する。無線モジュール４４は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ４５から放射する。つまり、操作データは、無線モジュール４４で微弱電波信号に変調されてコントローラ５から送信される。微弱電波信号はゲーム装置３側のコントローラ通信モジュール１９で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置３は操作データを取得することができる。そして、ゲーム装置３のＣＰＵ１０は、コントローラ５から取得した操作データを用いてゲーム処理を行う。なお、通信部３６からコントローラ通信モジュール１９への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は１／６０秒を単位として（１フレーム時間として）行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ５の通信部３６は、例えば１／２００秒に１回の割合で操作データをゲーム装置３のコントローラ通信モジュール１９へ出力する。
【０１０８】
以上のように、メインコントローラ８は、自機に対する操作を表す操作データとして、マーカ座標データ、加速度データ、角速度データ、および操作ボタンデータを送信可能である。サブコントローラ９は、自機に対する操作を表す操作データとして、加速度データ、スティックデータ、および操作ボタンデータを送信可能である。また、ゲーム装置３は、上記操作データをゲーム入力として用いてゲーム処理を実行する。したがって、上記コントローラ５を用いることによって、ユーザは、各操作ボタンを押下するという従来の一般的なゲーム操作に加えて、コントローラ５自体を動かすゲーム操作を行うことができる。例えば、メインコントローラ８および／またはサブコントローラ９を任意の姿勢に傾ける操作、メインコントローラ８によって画面上の任意の位置を指示する操作、および、メインコントローラ８および／またはサブコントローラ９自体を動かす操作等を行うことが可能となる。
【０１０９】
また、本実施形態において、コントローラ５は、ゲーム画像を表示する表示手段を有しないが、例えば電池残量を表す画像等を表示するための表示手段を有していてもよい。
【０１１０】
［４．端末装置７の構成］
次に、図９〜図１１を参照して、端末装置７の構成について説明する。図９は、端末装置７の外観構成を示す図である。図９における（ａ）図は端末装置７の正面図であり、（ｂ）図は上面図であり、（ｃ）図は右側面図であり、（ｄ）図は下面図である。また、図１０は、ユーザが端末装置７を把持した様子を示す図である。
【０１１１】
図９に示されるように、端末装置７は、大略的には横長の長方形の板状形状であるハウジング５０を備える。ハウジング５０は、ユーザが把持することができる程度の大きさである。したがって、ユーザは、端末装置７を持って動かしたり、端末装置７の配置位置を変更したりすることができる。
【０１１２】
端末装置７は、ハウジング５０の表面にＬＣＤ５１を有する。ＬＣＤ５１は、ハウジング５０の表面の中央付近に設けられる。したがって、ユーザは、図１０に示すようにＬＣＤ５１の両側部分のハウジング５０を持つことによって、ＬＣＤ５１の画面を見ながら端末装置を持って動かすことができる。なお、図１０ではユーザがＬＣＤ５１の左右両側の部分のハウジング５０を持つことで端末装置７を横持ちで（横に長い向きにして）持つ例を示しているが、端末装置７を縦持ちで（縦に長い向きにして）持つことも可能である。
【０１１３】
図９の（ａ）図に示すように、端末装置７は、操作手段として、ＬＣＤ５１の画面上にタッチパネル５２を有する。本実施形態では、タッチパネル５２は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル５２はシングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル５２として、ＬＣＤ５１の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル５２の解像度とＬＣＤ５１の解像度が一致している必要はない。タッチパネル５２に対する入力は通常タッチペンを用いて行われるが、タッチペンに限らずユーザの指でタッチパネル５２に対する入力をすることも可能である。なお、ハウジング５０には、タッチパネル５２に対する操作を行うために用いられるタッチペンを収納するための収納穴が設けられていてもよい。このように、端末装置７はタッチパネル５２を備えるので、ユーザは、端末装置７を動かしながらタッチパネル５２を操作することができる。つまりユーザは、ＬＣＤ５１の画面を動かしつつ、その画面に対して直接（タッチパネル５２によって）入力を行うことができる。
【０１１４】
図９に示すように、端末装置７は、操作手段として、２つのアナログスティック５３Ａおよび５３Ｂと、複数のボタン５４Ａ〜５４Ｌとを備えている。各アナログスティック５３Ａおよび５３Ｂは、方向を指示するデバイスである。各アナログスティック５３Ａおよび５３Ｂは、ユーザの指で操作されるスティック部がハウジング５０の表面に対して任意の方向（上下左右および斜め方向の任意の角度）にスライド（または傾倒）することができるように構成されている。また、左アナログスティック５３ＡはＬＣＤ５１の画面の左側に、右アナログスティック５３ＢはＬＣＤ５１の画面の右側にそれぞれ設けられる。したがって、ユーザは、左右いずれの手でもアナログスティックを用いて方向を指示する入力を行うことができる。また、図１０に示すように、各アナログスティック５３Ａおよび５３Ｂは、ユーザが端末装置７の左右部分を把持した状態で操作可能な位置に設けられるので、ユーザは、端末装置７を持って動かす場合においても各アナログスティック５３Ａおよび５３Ｂを容易に操作することができる。
【０１１５】
各ボタン５４Ａ〜５４Ｌは、所定の入力を行うための操作手段である。以下に示すように、各ボタン５４Ａ〜５４Ｌは、ユーザが端末装置７の左右部分を把持した状態で操作可能な位置に設けられる（図１０参照）。したがって、ユーザは、端末装置７を持って動かす場合においてもこれらの操作手段を容易に操作することができる。
【０１１６】
図９の（ａ）図に示すように、ハウジング５０の表面には、各操作ボタン５４Ａ〜５４Ｌのうち、十字ボタン（方向入力ボタン）５４Ａと、ボタン５４Ｂ〜５４Ｈとが設けられる。つまり、これらのボタン５４Ａ〜５４Ｈは、ユーザの親指で操作可能な位置に配置されている（図１０参照）。
【０１１７】
十字ボタン５４Ａは、ＬＣＤ５１の左側であって、左アナログスティック５３Ａの下側に設けられる。つまり、十字ボタン５４Ａはユーザの左手で操作可能な位置に配置されている。十字ボタン５４Ａは、十字の形状を有しており、上下左右の方向を指示することが可能なボタンである。また、ボタン５４Ｂ〜５４Ｄは、ＬＣＤ５１の下側に設けられる。これら３つのボタン５４Ｂ〜５４Ｄは、左右両方の手で操作可能な位置に配置されている。また、４つのボタン５４Ｅ〜５４Ｈは、ＬＣＤ５１の右側であって、右アナログスティック５３Ｂの下側に設けられる。つまり、４つのボタン５４Ｅ〜５４Ｈはユーザの右手で操作可能な位置に配置されている。さらに、４つのボタン５４Ｅ〜５４Ｈは、（４つのボタン５４Ｅ〜５４Ｈの中心位置に対して）上下左右の位置関係となるように配置されている。したがって、端末装置７は、ユーザに上下左右の方向を指示させるためのボタンとして４つのボタン５４Ｅ〜５４Ｈを機能させることも可能である。
【０１１８】
また、図９の（ａ）図、（ｂ）図、および（ｃ）図に示すように、第１Ｌボタン５４Ｉおよび第１Ｒボタン５４Ｊは、ハウジング５０の斜め上部分（左上部分および右上部分）に設けられる。具体的には、第１Ｌボタン５４Ｉは、板状のハウジング５０における上側の側面の左端に設けられ、上側および左側の側面から露出している。また、第１Ｒボタン５４Ｊは、ハウジング５０における上側の側面の右端に設けられ、上側および右側の側面から露出している。このように、第１Ｌボタン５４Ｉは、ユーザの左手人差し指で操作可能な位置に配置され、第１Ｒボタン５４Ｊは、ユーザの右手人差し指で操作可能な位置に配置される（図１０参照）。
【０１１９】
また、図９の（ｂ）図および（ｃ）図に示すように、第２Ｌボタン５４Ｋおよび第２Ｒボタン５４Ｌは、板状のハウジング５０の裏面（すなわちＬＣＤ５１が設けられる表面の反対側の面）に突起して設けられる足部５９Ａおよび５９Ｂに配置される。具体的には、第２Ｌボタン５４Ｋは、ハウジング５０の裏面の左側（表面側から見たときの左側）のやや上方に設けられ、第２Ｒボタン５４Ｌは、ハウジング５０の裏面の右側（表面側から見たときの右側）のやや上方に設けられる。換言すれば、第２Ｌボタン５４Ｋは、表面に設けられる左アナログスティック５３Ａの概ね反対側の位置に設けられ、第２Ｒボタン５４Ｌは、表面に設けられる右アナログスティック５３Ｂの概ね反対側の位置に設けられる。このように、第２Ｌボタン５４Ｋは、ユーザの左手中指で操作可能な位置に配置され、第２Ｒボタン５４Ｌは、ユーザの右手中指で操作可能な位置に配置される（図１０参照）。また、第２Ｌボタン５４Ｋおよび第２Ｒボタン５４Ｌは、図９の（ｃ）図に示すように、上記足部５９Ａおよび５９Ｂの斜め上方を向く面に設けられ、斜め上方を向くボタン面を有する。ユーザが端末装置７を把持した場合には中指は上下方向に動くと考えられるので、ボタン面を上方に向けることで、ユーザは第２Ｌボタン５４Ｋおよび第２Ｒボタン５４Ｌを押下しやすくなる。また、ハウジング５０の裏面に足部が設けられることにより、ユーザはハウジング５０を把持しやすくなり、かつ、足部にボタンが設けられることで、ハウジング５０を把持したまま操作しやすくなる。
【０１２０】
なお、図９に示す端末装置７に関しては、第２Ｌボタン５４Ｋおよび第２Ｒボタン５４Ｌが裏面に設けられるので、ＬＣＤ５１の画面（ハウジング５０の表面）が上を向いた状態で端末装置７を載置させる場合、画面が完全に水平にはならない場合がある。そのため、他の実施形態においては、ハウジング５０の裏面に３つ以上の足部が形成されてもよい。これによれば、ＬＣＤ５１の画面が上を向いた状態では足部が床面（または他の水平な面）に接することで床面に載置できるので、画面が水平になるように端末装置７を載置することができる。また、着脱可能な足部を追加することで端末装置７を水平に載置するようにしてもよい。
【０１２１】
各ボタン５４Ａ〜５４Ｌには、ゲームプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン５４Ａおよびボタン５４Ｅ〜５４Ｈは方向指示操作や選択操作等に用いられてもよいし、各ボタン５４Ｂ〜５４Ｅは決定操作やキャンセル操作等に用いられてもよい。
【０１２２】
なお、図示しないが、端末装置７は、端末装置７の電源をオン／オフするための電源ボタンを有している。また、端末装置７は、ＬＣＤ５１の画面表示をオン／オフするためのボタンや、ゲーム装置３との接続設定（ペアリング）を行うためのボタンや、スピーカ（図１１に示すスピーカ６７）の音量を調節するためのボタンを有していてもよい。
【０１２３】
図９の（ａ）図に示すように、端末装置７は、マーカ５５Ａおよびマーカ５５Ｂからなるマーカ部（図１１に示すマーカ部５５）をハウジング５０の表面に備えている。マーカ部５５は、どの位置に設けられてもよいが、ここではＬＣＤ５１の上側に設けられる。各マーカ５５Ａおよびマーカ５５Ｂは、マーカ装置６の各マーカ６Ｒおよび６Ｌと同様、１以上の赤外ＬＥＤで構成される。マーカ部５５は、上述のマーカ装置６と同様、コントローラ５（メインコントローラ８）の動き等をゲーム装置３が算出するために用いられる。また、ゲーム装置３はマーカ部５５が備える各赤外ＬＥＤの点灯を制御することが可能である。
【０１２４】
端末装置７は、撮像手段であるカメラ５６を備えている。カメラ５６は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。図９に示すように、本実施形態では、カメラ５６はハウジング５０の表面に設けられる。したがって、カメラ５６は、端末装置７を持っているユーザの顔を撮像することができ、例えばＬＣＤ５１を見ながらゲームを行っている時のユーザを撮像することができる。なお、他の実施形態では、１以上のカメラが端末装置７に設けられてもよい。
【０１２５】
なお、端末装置７は、音声入力手段であるマイク（図１１に示すマイク６９）を備えている。ハウジング５０の表面には、マイクロフォン用孔６０が設けられる。マイク６９はこのマイクロフォン用孔６０の奥のハウジング５０内部に設けられる。マイクは、ユーザの音声等、端末装置７の周囲の音を検出する。なお、他の実施形態では、１以上のマイクが端末装置７に設けられてもよい。
【０１２６】
端末装置７は、音声出力手段であるスピーカ（図１１に示すスピーカ６７）を備えている。図９の（ｄ）図に示すように、ハウジング５０の下側側面にはスピーカ孔５７が設けられる。スピーカ６７の出力音はこのスピーカ孔５７から出力される。本実施形態では、端末装置７は２つのスピーカを備えており、左スピーカおよび右スピーカのそれぞれの位置にスピーカ孔５７が設けられる。なお、端末装置７が備えるスピーカの数はいくつであってもよく、上記２つのスピーカに加えて追加のスピーカが端末装置７に設けられてもよい。
【０１２７】
また、端末装置７は、他の装置を端末装置７に接続するための拡張コネクタ５８を備えている。本実施形態においては、図９の（ｄ）図に示すように、拡張コネクタ５８は、ハウジング５０の下側側面に設けられる。なお、拡張コネクタ５８に接続される他の装置はどのようなものであってもよく、例えば、特定のゲームに用いるコントローラ（銃型のコントローラ等）やキーボード等の入力装置であってもよい。他の装置を接続する必要がなければ、拡張コネクタ５８は設けられていなくともよい。
【０１２８】
なお、図９に示した端末装置７に関して、各操作ボタンやハウジング５０の形状や、各構成要素の数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。
【０１２９】
次に、図１１を参照して、端末装置７の内部構成について説明する。図１１は、端末装置７の内部構成を示すブロック図である。図１１に示すように、端末装置７は、図９に示した構成の他、タッチパネルコントローラ６１、磁気センサ６２、加速度センサ６３、ジャイロセンサ６４、ユーザインタフェースコントローラ（ＵＩコントローラ）６５、コーデックＬＳＩ６６、スピーカ６７、サウンドＩＣ６８、マイク６９、無線モジュール７０、アンテナ７１、赤外線通信モジュール７２、フラッシュメモリ７３、電源ＩＣ７４、電池７５、および、バイブレータ７９を備える。これらの電子部品は、電子回路基板上に実装されてハウジング５０内に収納される。
【０１３０】
ＵＩコントローラ６５は、各種の入出力部に対するデータの入出力を制御するための回路である。ＵＩコントローラ６５は、タッチパネルコントローラ６１、アナログスティック５３（アナログスティック５３Ａおよび５３Ｂ）、操作ボタン５４（各操作ボタン５４Ａ〜５４Ｌ）、マーカ部５５、磁気センサ６２、加速度センサ６３、ジャイロセンサ６４、およびバイブレータ７９に接続される。また、ＵＩコントローラ６５は、コーデックＬＳＩ６６と拡張コネクタ５８に接続される。また、ＵＩコントローラ６５には電源ＩＣ７４が接続され、ＵＩコントローラ６５を介して各部に電力が供給される。電源ＩＣ７４には内蔵の電池７５が接続され、電力が供給される。また、電源ＩＣ７４には、コネクタ等を介して外部電源から電力を取得可能な充電器７６またはケーブルを接続することが可能であり、端末装置７は、当該充電器７６またはケーブルを用いて外部電源からの電力供給と充電を行うことができる。なお、端末装置７は、図示しない充電機能を有するクレイドルに端末装置７を装着することで充電を行うようにしてもよい。
【０１３１】
タッチパネルコントローラ６１は、タッチパネル５２に接続され、タッチパネル５２の制御を行う回路である。タッチパネルコントローラ６１は、タッチパネル５２からの信号に基づいて所定の形式のタッチ位置データを生成してＵＩコントローラ６５へ出力する。タッチ位置データは、タッチパネル５２の入力面において入力が行われた位置（タッチパネル５２がマルチタッチ方式である場合は複数の位置であってもよい）の座標を表す。なお、タッチパネルコントローラ６１は、タッチパネル５２からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。また、ＵＩコントローラ６５からタッチパネルコントローラ６１へは、タッチパネル５２に対する各種の制御指示が出力される。
【０１３２】
アナログスティック５３は、ユーザの指で操作されるスティック部がスライドした（または傾倒した）方向および量を表すスティックデータをＵＩコントローラ６５へ出力する。また、操作ボタン５４は、各操作ボタン５４Ａ〜５４Ｌに対する入力状況（押下されたか否か）を表す操作ボタンデータをＵＩコントローラ６５へ出力する。
【０１３３】
磁気センサ６２は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、ＵＩコントローラ６５へ出力される。また、ＵＩコントローラ６５から磁気センサ６２へは、磁気センサ６２に対する制御指示が出力される。磁気センサ６２に関しては、ＭＩ（磁気インピーダンス）素子、フラックスゲートセンサ、ホール素子、ＧＭＲ（巨大磁気抵抗）素子、ＴＭＲ（トンネル磁気抵抗）素子、あるいはＡＭＲ（異方性磁気抵抗）素子等を用いたセンサがあるが、方位を検出することができればどのようなものが用いられてもよい。なお、厳密には、地磁気以外に磁界が発生している場所においては、得られた方位データは方位を示さないことになるが、そのような場合であっても、端末装置７が動いた場合には方位データが変化するため、端末装置７の姿勢の変化を算出することができる。
【０１３４】
加速度センサ６３は、ハウジング５０の内部に設けられ、３軸（図９の（ａ）図に示すＸＹＺ軸）方向に沿った直線加速度の大きさを検出する。具体的には、加速度センサ６３は、ハウジング５０の長辺方向をＺ軸、ハウジング５０の短辺方向をＸ軸、ハウジング５０の表面に対して垂直な方向をＹ軸として、各軸の直線加速度の大きさを検出する。検出された加速度を表す加速度データはＵＩコントローラ６５へ出力される。また、ＵＩコントローラ６５から加速度センサ６３へは、加速度センサ６３に対する制御指示が出力される。加速度センサ６３は、本実施形態では例えば静電容量式のＭＥＭＳ型加速度センサであるとするが、他の実施形態においては他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ６３は１軸または２軸方向を検出する加速度センサであってもよい。
【０１３５】
ジャイロセンサ６４は、ハウジング５０の内部に設けられ、上記Ｘ軸、Ｙ軸およびＺ軸の３軸周りの角速度を検出する。検出された角速度を表す角速度データは、ＵＩコントローラ６５へ出力される。また、ＵＩコントローラ６５からジャイロセンサ６４へは、ジャイロセンサ６４に対する制御指示が出力される。なお、３軸の角速度を検出するために用いられるジャイロセンサの数および組み合わせはどのようなものであってもよく、ジャイロセンサ６４はジャイロセンサ４８と同様、２軸ジャイロセンサと１軸ジャイロセンサとで構成されてもよい。また、ジャイロセンサ６４は１軸または２軸方向を検出するジャイロセンサであってもよい。
【０１３６】
バイブレータ７９は、例えば振動モータやソレノイドであり、ＵＩコントローラ６５に接続される。ＵＩコントローラ６５の指示によりバイブレータ７９が作動することによって端末装置７に振動が発生する。これによって、端末装置７を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。
【０１３７】
ＵＩコントローラ６５は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データ（端末操作データ）をコーデックＬＳＩ６６に出力する。なお、拡張コネクタ５８を介して端末装置７に他の装置が接続される場合には、当該他の装置に対する操作を表すデータが上記操作データにさらに含まれていてもよい。
【０１３８】
コーデックＬＳＩ６６は、ゲーム装置３へ送信するデータに対する圧縮処理、および、ゲーム装置３から送信されたデータに対する伸張処理を行う回路である。コーデックＬＳＩ６６には、ＬＣＤ５１、カメラ５６、サウンドＩＣ６８、無線モジュール７０、フラッシュメモリ７３、および赤外線通信モジュール７２が接続される。また、コーデックＬＳＩ６６はＣＰＵ７７と内部メモリ７８を含む。端末装置７はゲーム処理自体を行なわない構成であるが、端末装置７の管理や通信のための最小限のプログラムを実行する必要がある。電源投入時にフラッシュメモリ７３に格納されたプログラムを内部メモリ７８に読み出してＣＰＵ７７が実行することで、端末装置７が起動する。また、内部メモリ７８の一部の領域はＬＣＤ５１のためのＶＲＡＭとして使用される。
【０１３９】
カメラ５６は、ゲーム装置３からの指示に従って画像を撮像し、撮像した画像データをコーデックＬＳＩ６６へ出力する。また、コーデックＬＳＩ６６からカメラ５６へは、画像の撮像指示等、カメラ５６に対する制御指示が出力される。なお、カメラ５６は動画の撮影も可能である。すなわち、カメラ５６は、繰り返し撮像を行って画像データをコーデックＬＳＩ６６へ繰り返し出力することも可能である。
【０１４０】
サウンドＩＣ６８は、スピーカ６７およびマイク６９に接続され、スピーカ６７およびマイク６９への音声データの入出力を制御する回路である。すなわち、コーデックＬＳＩ６６から音声データを受け取った場合、サウンドＩＣ６８は当該音声データに対してＤ／Ａ変換を行って得られる音声信号をスピーカ６７へ出力し、スピーカ６７から音を出力させる。また、マイク６９は、端末装置７に伝わる音（ユーザの音声等）を検知して、当該音を示す音声信号をサウンドＩＣ６８へ出力する。サウンドＩＣ６８は、マイク６９からの音声信号に対してＡ／Ｄ変換を行い、所定の形式の音声データをコーデックＬＳＩ６６へ出力する。
【０１４１】
コーデックＬＳＩ６６は、カメラ５６からの画像データ、マイク６９からの音声データ、および、ＵＩコントローラ６５からの操作データを、端末操作データとして無線モジュール７０を介してゲーム装置３へ送信する。本実施形態では、コーデックＬＳＩ６６は、画像データおよび音声データに対して、コーデックＬＳＩ２７と同様の圧縮処理を行う。上記端末操作データ、ならびに、圧縮された画像データおよび音声データは、送信データとして無線モジュール７０に出力される。無線モジュール７０にはアンテナ７１が接続されており、無線モジュール７０はアンテナ７１を介してゲーム装置３へ上記送信データを送信する。無線モジュール７０は、ゲーム装置３の端末通信モジュール２８と同様の機能を有している。すなわち、無線モジュール７０は、例えばＩＥＥＥ８０２．１１ｎの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。送信されるデータは必要に応じて暗号化されていてもよいし、されていなくともよい。
【０１４２】
以上のように、端末装置７からゲーム装置３へ送信される送信データには、操作データ（端末操作データ）、画像データ、および音声データが含まれる。なお、拡張コネクタ５８を介して端末装置７に他の装置が接続される場合には、当該他の装置から受け取ったデータが上記送信データにさらに含まれていてもよい。また、赤外線通信モジュール７２は、他の装置との間で例えばＩＲＤＡの規格に従った赤外線通信を行う。コーデックＬＳＩ６６は、赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置３へ送信してもよい。
【０１４３】
また、上述のように、ゲーム装置３から端末装置７へは、圧縮された画像データおよび音声データが送信される。これらのデータはアンテナ７１および無線モジュール７０を介してコーデックＬＳＩ６６に受信される。コーデックＬＳＩ６６は、受信した画像データおよび音声データを伸張する。伸張された画像データはＬＣＤ５１へ出力され、画像がＬＣＤ５１に表示される。また、伸張された音声データはサウンドＩＣ６８へ出力され、サウンドＩＣ６８はスピーカ６７から音を出力させる。
【０１４４】
また、ゲーム装置３から受信されるデータに制御データが含まれる場合、コーデックＬＳＩ６６およびＵＩコントローラ６５は、制御データに従った制御指示を各部に行う。上述のように、制御データは、端末装置７が備える各構成要素（本実施形態では、カメラ５６、タッチパネルコントローラ６１、マーカ部５５、各センサ６２〜６４、赤外線通信モジュール７２、およびバイブレータ７９）に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止（停止）させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、端末装置７からゲーム装置３へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。なお、マーカ部５５は赤外ＬＥＤであるので、制御は単に電力の供給のＯＮ／ＯＦＦでよい。
【０１４５】
以上のように、端末装置７は、タッチパネル５２、アナログスティック５３、および操作ボタン５４といった操作手段を備えるが、他の実施形態においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。
【０１４６】
また、端末装置７は、端末装置７の動き（位置や姿勢、あるいは、位置や姿勢の変化を含む）を算出するためのセンサとして、磁気センサ６２、加速度センサ６３、およびジャイロセンサ６４を備えるが、他の実施形態においては、これらのセンサのうち１つまたは２つのみを備える構成であってもよい。また、他の実施形態においては、これらのセンサに代えて、または、これらのセンサとともに、他のセンサを備える構成であってもよい。
【０１４７】
また、端末装置７は、カメラ５６およびマイク６９を備える構成であるが、他の実施形態においては、カメラ５６およびマイク６９を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。
【０１４８】
また、端末装置７は、端末装置７とメインコントローラ８との位置関係（メインコントローラ８から見た端末装置７の位置および／または姿勢等）を算出するための構成としてマーカ部５５を備える構成であるが、他の実施形態ではマーカ部５５を備えていない構成としてもよい。また、他の実施形態では、端末装置７は、上記位置関係を算出するための構成として他の手段を備えていてもよい。例えば、他の実施形態においては、メインコントローラ８がマーカ部を備え、端末装置７が撮像素子を備える構成としてもよい。さらにこの場合、マーカ装置６は赤外ＬＥＤに代えて、撮像素子を備える構成としてもよい。
【０１４９】
［５．ゲーム処理の概要］
次に、本実施形態のゲームシステム１において実行されるゲーム処理の概要について説明する。本実施形態におけるゲームは、プレイヤがリズムに合わせて端末装置７を操作するリズムゲームである。プレイヤは、端末装置７を把持し、当該端末装置７の姿勢を変化させてテレビ２に表示されるゲーム画像（テレビ用ゲーム画像）および端末装置７に表示されるゲーム画像（端末用ゲーム画像）を見ながら、ゲームをプレイする。図１２Ａは、本ゲームが行われる場合のプレイヤの基本的な姿勢を示す図であり、プレイヤが端末装置７を第１の姿勢で把持している様子を示す図である。図１２Ｂは、本ゲームが行われる場合のプレイヤの基本的な姿勢を示す図であり、プレイヤが端末装置７を第２の姿勢で把持している様子を示す図である。図１３Ａは、端末装置７を第１の姿勢で把持した場合にテレビ２に表示されるテレビ用ゲーム画像の一例を示す図である。図１３Ｂは、端末装置７を第２の姿勢で把持した場合にテレビ２に表示されるテレビ用ゲーム画像の一例を示す図である。図１４は、本ゲームにおける仮想空間に配置された各オブジェクトの位置関係を示す図である。
【０１５０】
図１２Ａおよび図１２Ｂに示すように、プレイヤは、基本的にテレビ２の画面に対して正面を向き、テレビ２および端末装置７のＬＣＤ５１を見ながら本ゲームをプレイする。具体的には、プレイヤは、端末装置７が第１の姿勢となるようにして端末装置７を把持した場合に、テレビ２の画面に表示される画像（テレビ用ゲーム画像）を見てゲームをプレイする。また、プレイヤは、端末装置７が第２の姿勢となるようにして端末装置７を把持した場合に、端末装置７のＬＣＤ５１に表示される画像（端末用ゲーム画像）を見てゲームをプレイする。図１２Ａに示すように、第１の姿勢は、端末装置７のＬＣＤ５１が設けられた面が垂直上方向を向く姿勢（Ｚ軸負方向が重力方向となる姿勢）であり、端末装置７のＬＣＤ５１の画面が重力と垂直になる姿勢である。また、図１２Ｂに示すように、第２の姿勢は、プレイヤが両手を前方にまっすぐに伸ばした状態で端末装置７を両手で把持した場合の端末装置７の姿勢であり、端末装置７のＬＣＤ５１の画面が重力と平行になる姿勢である。
【０１５１】
図１３Ａおよび図１３Ｂに示すように、テレビ２には、海賊船９０Ａと、海賊９２と、弓９３と、矢９４とが表示される。プレイヤが第１の姿勢で端末装置７を把持すると、海賊９２が拡大表示される。一方、プレイヤが第２の姿勢で端末装置７を把持すると、海賊９２は縮小表示される。本ゲームでは、図１４に示すように、プレイヤの視点（第１仮想カメラの位置）は仮想空間の船９１に設定され、船９１の正面には海賊船９０Ａ、船９１の右側には海賊船９０Ｂ、船９１の左側には海賊船９０Ｃが配置される。すなわち、本実施形態では、プレイヤが乗った船９１は海賊船９０Ａと、海賊船９０Ｂと、海賊船９０Ｃとに囲まれている状況を想定したゲームが行われる。第１仮想カメラの撮像方向は固定され、第１仮想カメラの注視点は海賊９２に固定される。なお、第１仮想カメラの撮像方向は必ずしも固定される必要はなく、例えば、ユーザによる端末装置７の操作ボタンに対する操作やゲームの状況に応じて変更されてもよい。プレイヤが第１の姿勢で端末装置７を把持すると、第１仮想カメラの位置が当該第１仮想カメラの撮像方向に移動するとともに、第１仮想カメラのズーム設定が変更される（画角が小さくされる）ことによって、海賊９２が拡大表示される。一方、プレイヤが端末装置７の姿勢を第２の姿勢に変化させると、第１仮想カメラの位置が当該第１仮想カメラの撮像方向と反対方向に移動するとともに、第１仮想カメラがズームアウトして、海賊９２が縮小表示される。なお、海賊船９０Ｂおよび海賊船９０Ｃは、船９１の真横に配置されるとしたが、海賊船９０Ｂおよび海賊船９０Ｃはどのような位置に配置されてもよい。すなわち、海賊船９０Ｂおよび海賊船９０Ｃは、正面に対して９０度の方向の位置に配置されたが、これらは、例えば、正面に対して６０度の位置に配置されてもよい。
【０１５２】
図１５Ａは、プレイヤが端末装置７を自身の目の前で把持して、テレビ２に対して正面を向いているときの端末装置７のＬＣＤ５１に表示される端末用ゲーム画像の一例を示す図である。図１５Ｂは、プレイヤが端末装置７を自身の目の前で把持して、テレビ２に対して右側を向いているときの端末装置７のＬＣＤ５１に表示される端末用ゲーム画像の一例を示す図である。
【０１５３】
図１５Ａに示すように、プレイヤがテレビ２に対して正面を向いている場合、ＬＣＤ５１には海賊船９０Ａ、および船９１の一部が表示される一方、海賊９２や弓９３、矢９４は表示されない。端末用ゲーム画像は、船９１に設定された第２仮想カメラで仮想空間を撮像することによって得られる画像である。第２仮想カメラの位置は、海賊９２が縮小表示されるときの第１仮想カメラの位置と略同じに設定される。また、第２仮想カメラの画角は、海賊９２が縮小表示されるときの第１仮想カメラの画角と略同じに設定される。したがって、第２仮想カメラの撮像範囲は、海賊９２が縮小表示されるときの第１仮想カメラの撮像範囲と略同じになる。プレイヤが端末装置７を自身の目の前で把持して、テレビ２に対して正面を向いている場合、図１２Ｂのように、端末装置７のＬＣＤ５１の画面が設けられた面の反対側の面が、テレビ２の方を向く。このような端末装置７の姿勢（ここでは「基準姿勢」という場合がある）では、端末装置７のＬＣＤ５１には、船９１の正面の海賊船９０Ａが表示される。「基準姿勢」は、端末装置７のＬＣＤ５１が設けられた面と反対側の面がテレビ２を向く姿勢であり、端末装置７からＺ軸負方向に伸ばした直線がテレビ２の画面と略垂直に交わるような姿勢である。端末装置７が基準姿勢である場合、第２仮想カメラの撮像方向は第１仮想カメラの撮像方向と同じになり、第１仮想カメラおよび第２仮想カメラの位置も同じまたは略同じになる。
【０１５４】
なお、上記第１の姿勢は、端末装置７のＬＣＤ５１の画面が重力と垂直になる姿勢であり、端末装置７の上面がどこを向いていても第１の姿勢となる。すなわち、端末装置７がＺ軸周りにどの程度回転しているかには依存せず、端末装置７のＺ軸負方向が重力方向に近い姿勢の場合は、第１の姿勢となる。同様に、上記第２の姿勢は、端末装置７のＬＣＤ５１の画面が重力と平行になる姿勢であり、端末装置７のＬＣＤ５１の画面が設けられた面の反対側の面がどこを向いていても第２の姿勢となる。すなわち、端末装置７がＹ軸周りにどの程度回転しているかには依存せず、端末装置７のＹ軸負方向が重力方向に近い姿勢の場合は、第２の姿勢となる。これに対して、上記基準姿勢は、端末装置７のＹ軸負方向が重力方向となる姿勢であり、かつ、端末装置７のＬＣＤ５１の画面が設けられた面の反対側の面がテレビ２を向く姿勢である。すなわち、基準姿勢は、プレイヤがテレビ２の正面に立ち、かつ、プレイヤが両手を前方にまっすぐに伸ばした状態で端末装置７を両手で把持した場合の端末装置７の姿勢である。
【０１５５】
また、図１５Ｂに示すように、プレイヤがテレビ２に対して右側を向く場合（図２０参照）、端末装置７のＬＣＤ５１には、海賊船９０Ｂおよび船９１の一部が表示される。プレイヤが端末装置７を自身の目の前で把持して、テレビに対して右側を向く場合、端末装置７の左側面がテレビ２の方を向く。このような端末装置７の姿勢では、端末装置７のＬＣＤ５１には、船９１の右側の海賊船９０Ｂが表示される。
【０１５６】
このように、プレイヤがテレビ２に対して右側を向くと、第２仮想カメラも右側を向き、海賊船９０ＢがＬＣＤ５１に表示される。すなわち、第２仮想カメラの姿勢は、端末装置７の姿勢に応じて変化し、端末装置７の姿勢と一致するように第２仮想カメラの姿勢が決定される。具体的には、ジャイロセンサ６４によって検出された各軸（Ｘ、Ｙ、Ｚ軸）周りの角速度を時間で積分して得られる各軸周りの回転角度に応じて、第２仮想カメラの姿勢が設定される。なお、第２仮想カメラのズーム設定や撮像方向における位置は、端末装置７の姿勢に応じて変化しない。
【０１５７】
一方、プレイヤがテレビ２に対して右側を向いても、テレビ２に表示される画像は変化しない。すなわち、第１仮想カメラの姿勢は、端末装置７の姿勢に応じて変化しない。しかしながら、上述のように、端末装置７の姿勢に応じて第１仮想カメラの位置およびズーム設定が変化する。具体的には、端末装置７のＸ軸周りの回転角度に応じて、第１仮想カメラの位置が船９１から海賊船９０Ａに向かって移動するとともに、第１仮想カメラの画角が小さくなって、図１３Ａに示すように海賊９２が拡大表示される。
【０１５８】
なお、本実施形態では、ゲーム装置３において２つの仮想空間が定義され、第１仮想カメラは一方の仮想空間に設定され、第２仮想カメラは他方の仮想空間に設定されるものとする。当該２つの仮想空間には、同じオブジェクト（海賊船９０Ａや背景のオブジェクト等）が配置され、それぞれの画面に同じオブジェクトが表示される。このため、テレビ２および端末装置７には、同一の仮想空間を異なる仮想カメラで撮像したような画像が表示される。一方で、図１３Ｂと図１５Ａとを比較すると、基本的には同様の画像であるが、図１３Ｂには海賊９２は表示されているが、図１５Ａには海賊９２は表示されていない。第２仮想カメラが配置された他方の仮想空間には、海賊９２等は配置されない。端末装置７は可搬型の表示装置であるため、画面の大きさには限界があり、端末装置７のＬＣＤ５１に海賊９２の小さな画像が表示されてもプレイヤは当該画像を認識することができない。したがって、端末装置７のＬＣＤ５１には、海賊９２は表示されない。なお、他の実施形態では、１つの仮想空間が定義され、２つの仮想カメラを１つの仮想空間に配置してもよい。また、２つの仮想空間が定義され、それぞれの仮想空間に全く同一のオブジェクト（海賊船９０Ａ等）が配置される必要はなく、同じものを表していればオブジェクト自体は異なるものであってもよい。例えば、一方の仮想空間に、海賊船９０Ａを示す第１のオブジェクトが配置され、他方の仮想空間に海賊船９０Ａと同じあるいは外観上類似した海賊船を示す第２のオブジェクトが配置されてもよい。そして、それぞれの仮想空間に配置された仮想カメラで、これらのオブジェクトが撮像されてテレビ２および端末装置７に表示されてもよい。
【０１５９】
次に、本実施形態のリズムゲームについてより具体的に説明する。図１６Ａは、本実施形態のゲームが実行された後の第１タイミングでテレビ２に表示されるテレビ用ゲーム画像の一例を示す図である。図１６Ｂは、第１タイミングから所定時間経過後の第２タイミングで端末装置７のＬＣＤ５１に表示される端末用ゲーム画像の一例を示す図である。図１７は、プレイヤが端末装置７を下に向けている状態（第１の姿勢）から上に向ける状態に端末装置７の姿勢を変化させる様子を示す図である。
【０１６０】
本ゲームが開始されると、端末装置７の姿勢に応じて図１３Ａまたは図１３Ｂに示す画像がテレビ２に表示されるとともに、所定の音楽がテレビ２のスピーカ２ａから出力される。そして、図１６Ａに示すように、所定のタイミング（第１タイミング）で、指示画像９６がテレビ２に表示されるとともに、矢９４が放たれたことを示す指示画像９６がテレビ２に表示される。指示画像９６は、プレイヤに矢が発射されたことを知らせるための画像である。また、当該第１タイミングにおいて、矢９４が放たれたことおよび矢９４がどの方向から飛んでくるか（どの位置から矢９４が放たれるか）を示す音声および矢９４が放たれたことを示す効果音が、テレビ２のスピーカ２ａから出力される。例えば、図１６Ａに示すように、第１タイミングにおいて海賊９２が矢９４を発射したことを示す指示画像９６が表示されるとともに、海賊９２がプレイヤに対して「上」と声で指示を出す（海賊９２の声がテレビ２のスピーカ２ａから出力される）。この指示画像９６および音声による指示に応じて、プレイヤは、端末装置７を上方向に向けるように端末装置７の姿勢を変化させる。なお、矢９４を放つ海賊が海賊９２とは別に表示されてもよい。また、海賊９２が矢９４を放つ際に、上記指示画像９６および音声に加えて、矢９４がどの方向から飛んでくるかを示す文字情報が、テレビ２に表示されてもよい。
【０１６１】
図１７に示すように、プレイヤは、端末装置７のＬＣＤ５１の画面が設けられた面の反対側の面で矢を受けるようにして、当該反対側の面を実空間の上方を向ける。そして、第１タイミングから所定時間経過後の第２タイミングにおいて当該端末装置７の姿勢が維持されている場合、図１６Ｂに示す画像が端末装置７のＬＣＤ５１に表示される。具体的には、矢９４を端末装置７で受け止めたことを示す画像９７と、矢を受け止めた位置を示す円形画像９８とが、端末装置７のＬＣＤ５１に表示される。本実施形態においては、概念的に、海賊９２が放った矢９４を受け止めるための的として端末装置７が用いられる。
【０１６２】
図１６Ａおよび図１６Ｂに示すように、第１タイミングにおいて矢９４が放たれる様子がテレビ２に表示され、第２タイミングにおいて矢９４がプレイヤに届いた様子が端末装置７のＬＣＤ５１に表示される。第１タイミングから第２タイミングの間、矢９４がプレイヤに向かって飛んでくる様子は、テレビ２にも端末装置７のＬＣＤ５１にも表示されない。したがって、プレイヤは、テレビ２のスピーカ２ａおよび端末装置７のスピーカ６７から出力される音から、タイミングを合わせて端末装置７の姿勢を変化させる。具体的には、プレイヤは、テレビ２のスピーカ２ａから出力される音楽に基づいて矢９４がプレイヤに届くタイミングを予測し、当該矢９４が届く前に端末装置７の姿勢を変化させて、当該タイミングにおいて端末装置７の姿勢を維持する。また、プレイヤは、テレビ２のスピーカ２ａおよび端末装置７のスピーカ６７から出力される効果音に基づいて、矢９４がプレイヤに届くタイミングを予測する。当該効果音は、矢９４が空間を移動する際に空気との摩擦によって発生するような音である。当該効果音は、矢９４が発射された第１タイミングでテレビ２から発せられ、第１タイミングからの経過時間に応じて、テレビ２から発せられる効果音は、徐々に小さくなる。一方、端末装置７から発せられる効果音は、第１タイミングからの経過時間に応じて徐々に大きくなり、当該効果音が徐々に大きくなることで、矢９４が近づいてくることをプレイヤに想像させる。
【０１６３】
図１８は、海賊９２が矢９４を放った第１タイミングｔ１から矢９４がプレイヤに届く第２タイミングｔ２までの時間経過を示す図である。上述のように、テレビ２のスピーカ２ａからはゲームの開始とともに所定の音楽が出力される。当該音楽が出力されている間の第１タイミングｔ１において、矢９４が放たれる。そして、当該第１タイミングｔ１から所定時間（例えば３拍）経過した時点の第２タイミングｔ２において、矢９４がプレイヤに届く。当該第２タイミングｔ２において、端末装置７の姿勢が、第１タイミングｔ１で指示された姿勢である場合、矢９４を端末装置７で受け止めたことを示す画像９７および円形画像９８が表示される。さらに、矢９４を端末装置７で受け止めたことを示す音声（効果音）が端末装置７のスピーカ６７から表示される。なお、第２タイミングｔ２において、端末装置７の姿勢が、第１タイミングｔ１で指示された姿勢でない場合、矢９４を端末装置７で受け止めたことを示す画像９７および円形画像９８は表示されない。例えば、端末装置７からの音声や振動（バイブレータ７９の振動）等によって、プレイヤが矢を端末装置７で受け止めることができなかったことがプレイヤに知らせられる。さらに、時間が経過して第１タイミングｔ１になった場合、海賊９２および音声によっては次の指示が行われる。
【０１６４】
なお、第２タイミングｔ２から次の第１タイミングｔ１までの間に、プレイヤは端末装置７に対する所定の操作を行うことによって、端末装置７で受け止めた矢９４を振り落とす操作を行う。当該操作が行われると、矢９４が振り落とされて、画像９７および円形画像９８が端末装置７のＬＣＤ５１に表示されなくなる。所定の操作は、例えば、端末装置７のＺ軸負方向に所定の大きさの加速度を発生させる操作であってもよいし、端末装置７の所定の操作ボタンを押す操作であってもよい。
【０１６５】
また、上記第１タイミングｔ１および当該第２タイミングｔ２は、予め所定の音楽に関連付けられて記憶される。第１タイミングおよび第２タイミングは、所定の音楽のリズムに同期して設定される。例えば、第１タイミングｔ１は、所定の音楽の再生が開始されてから８拍目のタイミング、１６拍目のタイミング、２４拍目のタイミング等のように、予め所定の音楽に関連付けられてゲーム装置３に記憶され、第２タイミングｔ２は、第１タイミングｔ１から３拍目のタイミングになるように、予めゲーム装置３に記憶される。そして、所定の音楽の再生が開始された時点で、第１タイミングおよび第２タイミングが設定される。また、所定の音楽の再生速度は、プレイヤによって調整されてもよい。所定の音楽の再生速度が調整されると、当該調整された再生速度に応じて、音楽の再生開始から第１タイミングになるまでの時間および第２タイミングになるまでの時間も、調整される。すなわち、例えば、所定の音楽が通常よりも速いテンポで再生される場合は、当該音楽の再生開始から１回目の第１タイミングまでの時間は短くなり、第１タイミングと第２タイミングとの間の時間も短くなる。
【０１６６】
図１９Ａは、本実施形態のゲームが実行された後の第１タイミングｔ１でテレビ２に表示されるテレビ用ゲーム画像の他の例を示す図である。図１９Ｂは、第１タイミングｔ１から所定時間経過後の第２タイミングｔ２で端末装置７のＬＣＤ５１に表示される端末用ゲーム画像の他の例を示す図である。
【０１６７】
図１９Ａに示すように、第１タイミングｔ１において、テレビ２には海賊９２が右側を指示している様子が表示されるとともに、海賊９２がプレイヤに対して「右」と声で指示を出す（海賊９２の声がテレビ２のスピーカ２ａから出力される）。この場合、船９１の正面の海賊船９０Ａから矢９４が放たれず、船９１の右側の海賊船９０Ｂから矢９４が放たれる。このため、図１９Ａでは、海賊９２が矢９４を放ったことを示す指示画像９６は表示されない。
【０１６８】
ここで、プレイヤは、海賊９２による指示に応じて、テレビ２に対して右側を向くように自身の姿勢（および端末装置７の姿勢）を変化させる。図２０は、プレイヤがゲーム装置３からの指示に応じてテレビ２に対して右側を向く様子を実空間の上方から見た図である。プレイヤは、通常、テレビ２に対して正面を向いたままゲーム装置３からの指示を待つ。第１タイミングｔ１において、海賊９２が右方向を指す動作およびテレビ２のスピーカ２ａからの音声によって、プレイヤは、ゲーム装置３から指示を受ける。そして、図２０に示すように、プレイヤは、当該指示に従ってテレビ２に対して右側を向くように自身の姿勢を変化させる（体全体を右に９０度回転させる）。すると、図１９Ｂに示すように、第２タイミングｔ２において、矢９４が端末装置７に届いたことを示す画像９７および円形画像９８が表示される。
【０１６９】
以上のような海賊９２による指示が音楽に合わせて繰り返される。本実施形態のゲームでは、テレビ２に表示される画像による指示およびテレビ２からの音声による指示に基づいて、プレイヤは、リズムに合わせてタイミング良く端末装置７を操作する。そして、プレイヤは、指示に従った操作を行った場合、高い点数を得ることができる。
【０１７０】
［６．ゲーム処理の詳細］
次に、本ゲームシステムにおいて実行されるゲーム処理の詳細を説明する。まず、ゲーム処理において用いられる各種データについて説明する。図２１は、ゲーム処理において用いられる各種データを示す図である。図２１において、ゲーム装置３のメインメモリ（外部メインメモリ１２または内部メインメモリ１１ｅ）に記憶される主なデータを示す図である。図２１に示すように、ゲーム装置３のメインメモリには、ゲームプログラム１００、端末操作データ１１０、および処理用データ１２０が記憶される。なお、メインメモリには、図２１に示すデータの他、ゲームに登場する各種オブジェクトの画像データやゲームに使用される音声データ等、ゲームに必要なデータが記憶される。
【０１７１】
ゲームプログラム１００は、ゲーム装置３に電源が投入された後の適宜のタイミングで光ディスク４からその一部または全部が読み込まれてメインメモリに記憶される。なお、ゲームプログラム１００は、光ディスク４に代えて、フラッシュメモリ１７やゲーム装置３の外部装置から（例えばインターネットを介して）取得されてもよい。また、ゲームプログラム１００に含まれる一部（例えば、端末装置７の姿勢を算出するためのプログラム）については、ゲーム装置３内に予め記憶されていてもよい。
【０１７２】
端末操作データ１１０は、端末装置７に対するプレイヤの操作を表すデータであり、端末装置７に対する操作に基づいて端末装置７から出力（送信）される。端末操作データ１１０は、端末装置７から送信されてゲーム装置３において取得され、メインメモリに記憶される。端末操作データ１１０は、角速度データ１１１、加速度データ１１２、方位データ１１３、および操作ボタンデータ１１４を含む。なお、端末操作データ１１０は、これらのデータの他、端末装置７のタッチパネル５２においてタッチが行われた位置（タッチ位置）を示すデータ等を含む。また、ゲーム装置３は、複数の端末装置７から端末操作データを取得する場合、各端末装置７からそれぞれ送信されてくる各端末操作データ１１０をメインメモリにそれぞれ記憶してもよい。
【０１７３】
角速度データ１１１は、端末装置７におけるジャイロセンサ６４によって検出された角速度を表すデータである。ここでは、角速度データ１１１は、端末装置７に固定のＸＹＺ座標系（図９参照）の各軸回りの角速度をそれぞれ表すものであるが、他の実施形態においては、任意の１軸以上の軸回り角速度を表すものであればよい。
【０１７４】
加速度データ１１２は、端末装置７の加速度センサ６３によって検出された加速度を表すデータである。ここでは、端末装置７に固定のＸＹＺ座標系（図９参照）の各軸回りの加速度をそれぞれ表す。
【０１７５】
方位データ１１３は、端末装置７の磁気センサ６２によって検出された方位を示すデータである。
【０１７６】
操作ボタンデータ１１４は、端末装置７に設けられた各操作ボタン５４Ａ〜５４Ｌが押されているか否かを表すデータである。
【０１７７】
処理用データ１２０は、後述するゲーム処理（図２２）において用いられるデータである。処理用データ１２０は、姿勢データ１２１、第１仮想カメラデータ１２２、第２仮想カメラデータ１２３、および状態データ１２４を含む。なお、図２１に示すデータの他、処理用データ１２０は、得点に関するデータ等、ゲーム処理において用いられる各種データを含む。
【０１７８】
姿勢データ１２１は、端末装置７の姿勢を表すデータである。端末装置７の姿勢は、例えば、基準姿勢から現在の姿勢への回転を表す回転行列によって表現される。なお、端末装置７の姿勢は、３つの角度（ＸＹＺ各軸周りの回転角度）によって表現されてもよい。姿勢データ１２１は、端末装置７からの端末操作データ１１０に含まれる角速度データ１１１に基づいて算出される。具体的には、姿勢データ１２１は、ジャイロセンサ６４によって検出されたＸ軸、Ｙ軸、Ｚ軸周りの角速度をそれぞれ時間で積分することによって算出される。なお、端末装置７の姿勢は、ジャイロセンサ６４によって検出された角速度を示す角速度データ１１１に限らず、加速度センサ６３によって検出された加速度を表す加速度データ１１２、および、磁気センサ６２によって検出された方位を示す方位データ１１３に基づいて算出されてもよい。また、角速度に基づいて算出される姿勢を加速度データや方位データに基づいて補正をすることによって姿勢を算出するようにしてもよい。また、メインメモリには、過去所定数フレームにおける端末装置７の姿勢を示す姿勢データ１２１が、時系列に記憶される。
【０１７９】
第１仮想カメラデータ１２２は、仮想空間に設定された第１仮想カメラの当該仮想空間における位置および姿勢を示すデータと、第１仮想カメラのズーム設定（画角の設定）を示すデータとを含む。上述のように、第１仮想カメラは、テレビ用ゲーム画像を生成するための仮想カメラである。また、第１仮想カメラの撮像方向（姿勢）は固定されるが、第１仮想カメラの位置とズーム設定とは、端末装置７の姿勢に応じて変化する。
【０１８０】
第２仮想カメラデータ１２３は、仮想空間に設定された第２仮想カメラの当該仮想空間における位置および姿勢を示すデータである。上述のように、第２仮想カメラは、端末用ゲーム画像を生成するための仮想カメラである。また、第２仮想カメラの位置は固定されているが、第２仮想カメラの姿勢は、端末装置７の姿勢に応じて変化する。
【０１８１】
状態データ１２４は、端末装置７の姿勢が、上記第１の姿勢か第２の姿勢かを示すデータである。
【０１８２】
次に、ゲーム装置３において実行されるゲーム処理の詳細を、図２２および図２３を用いて説明する。図２２は、ゲーム装置３において実行されるゲーム処理の流れを示すメインフローチャートである。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ１０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムがメインメモリに読み込まれ、ＣＰＵ１０によって当該ゲームプログラムの実行が開始される。図２２に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。なお、ゲーム装置３においては、電源投入後にゲームプログラムがすぐに実行される構成であってもよいし、電源投入後にまず所定のメニュー画面を表示する内蔵プログラムが実行され、その後例えばユーザによるメニュー画面に対する選択操作によってゲームの開始が指示されたことに応じてゲームプログラムが実行される構成であってもよい。
【０１８３】
なお、図２２および図２３に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数や定数の値等も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、上記フローチャートの各ステップの処理をＣＰＵ１０が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、ＣＰＵ１０以外のプロセッサや専用回路が実行するようにしてもよい。
【０１８４】
まず、ステップＳ１において、ＣＰＵ１０は初期処理を実行する。初期処理は、仮想空間を構築し、仮想空間に登場する各オブジェクト（船９１、海賊船９０Ａや海賊９２、矢９４、第１仮想カメラおよび第２仮想カメラ等）を初期位置に配置したり、ゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。
【０１８５】
また、ステップＳ１において、端末装置７の初期処理が行われる。例えば、プレイヤに端末装置７を上記基準姿勢で把持して、当該姿勢のまま端末装置７の所定の操作ボタンを押させるための画像がテレビ２に表示される。このような端末装置７の初期処理によって、端末装置７のＸＹＺ各軸周りの回転角が０に設定される。なお、初期処理において、Ｚ軸周りの回転角（端末装置７のＬＣＤ５１に対して垂直な軸周りの回転角）のみが０に設定されて、Ｘ軸およびＹ軸周りの回転角は加速度センサ６３が検出した加速度に基づいて設定されてもよい。ゲーム装置３は、端末装置７の加速度センサ６３が検出する重力の方向に基づいて、重力に対して端末装置７がどの程度傾いているかを計算することができる。しかしながら、ゲーム装置３は、加速度センサ６３が検出する重力の方向のみでは、端末装置７がどの方向を向いているか（鉛直下向きの軸の周りにどの程度回転しているか）を知ることができない。したがって、ステップＳ１においては、プレイヤに端末装置７の所定の面（例えば、ＬＣＤ５１が設けられた面の反対側の面）をテレビ２の方に向けさせて、端末装置７のＺ軸周りの回転角を０に設定することにより、端末装置７の姿勢を初期化する。これにより、ゲーム装置３は、初期化された時点における端末装置７の姿勢を基準姿勢として、当該基準姿勢からの端末装置７の姿勢の変化をジャイロセンサ６４によって検出された角速度を用いて算出することができる。
【０１８６】
端末装置７の所定の操作ボタンが押されて端末装置７の初期処理が完了すると、ＣＰＵ１０は、所定の音楽の再生を開始して、次にステップＳ２の処理を実行する。以降、ステップＳ２〜Ｓ８の一連の処理からなる処理ループが所定時間（１フレーム時間。例えば１／６０秒）に１回の割合で繰り返し実行される。
【０１８７】
ステップＳ２において、ＣＰＵ１０は、端末装置７から送信されて、メインメモリに記憶されている端末操作データ１１０を取得する。端末装置７は端末操作データ１１０をゲーム装置３へ繰り返し送信する。ゲーム装置３においては、端末通信モジュール２８が端末操作データを逐次受信し、受信された端末操作データが入出力プロセッサ１１ａによってメインメモリに逐次記憶される。端末装置７とゲーム装置３との間における送受信の間隔はゲームの処理時間よりも短い方が好ましく、例えば２００分の１秒である。ステップＳ２においては、ＣＰＵ１０は、最新の端末操作データ１１０をメインメモリから読み出す。ステップＳ２の次にステップＳ３の処理が実行される。
【０１８８】
ステップＳ３において、ＣＰＵ１０はゲーム制御処理を実行する。ゲーム制御処理は、プレイヤによるゲーム操作に従ってゲームを進行させる処理である。以下、図２３を参照して、ゲーム制御処理の詳細について説明する。
【０１８９】
図２３は、図２２に示すゲーム制御処理（ステップＳ３）の詳細な流れを示すフローチャートである。
【０１９０】
ステップＳ１１において、ＣＰＵ１０は、角速度データ１１１に基づいて、端末装置７の姿勢を算出する。具体的には、ＣＰＵ１０は、ステップＳ２で取得した角速度データ１１１と、メインメモリに記憶されている姿勢データ１２１とに基づいて、端末装置７の姿勢を算出する。より具体的には、ＣＰＵ１０は、ステップＳ２で取得した角速度データ１１１によって表わされる各軸（Ｘ軸、Ｙ軸、Ｚ軸）周りの角速度に１フレーム時間をかけて得られる各軸周りの回転角を算出する。このようにして算出される各軸周りの回転角は、前回の処理ループが実行されてから今回の処理ループが実行されるまでの、端末装置７の各軸周りの回転角（１フレーム時間における回転角）である。次に、ＣＰＵ１０は、姿勢データ１２１によって示される端末装置７の各軸周りの回転角に、当該算出された各軸周りの回転角（１フレーム時間における回転角）を加えることにより、端末装置７の各軸周りの最新の回転角（端末装置７の最新の姿勢）を算出する。なお、算出された姿勢に対して加速度に基づいた補正をさらに行ってもよい。具体的には、端末装置７の動きが少ないときには加速度センサ６３によって検出された加速度の方向を重力方向とみなすことができる。このため、端末装置７の動きが少ないときに、角速度に基づいて算出された姿勢に基づいて算出される重力方向が、加速度センサ６３によって検出された加速度の方向に近づくように姿勢を補正するようにすればよい。また、算出された姿勢に対して方位データ１１３に基づいた補正をさらに行ってもよい。具体的には、ステップＳ１において初期処理が行われた時点において磁気センサ６２が検出した方位と、現在磁気センサ６２が検出している方位とに基づいて、端末装置７が鉛直下向きの軸周りにどの程度回転しているかを求めることができる。したがって、方位データ１１３に基づいて、端末装置７の姿勢を補正してもよい。そして、ＣＰＵ１０は、算出した端末装置７の最新の姿勢を姿勢データ１２１として、メインメモリに記憶する。以上のようにして算出された端末装置７の最新の姿勢は、初期化された時点（ステップＳ１において初期化された時点）を基準姿勢として、当該基準姿勢からの端末装置７の各軸周りの回転角を示す。具体的には、端末装置７の姿勢を示す姿勢データ１２１は、回転行列を表すデータである。ステップＳ１１の処理の後、ＣＰＵ１０は、ステップＳ１２の処理を実行する。
【０１９１】
ステップＳ１２において、ＣＰＵ１０は、端末装置７の姿勢に応じて、第１仮想カメラの位置および画角の設定を行う。具体的には、ＣＰＵ１０は、ステップＳ１１で算出された端末装置７の姿勢が、上記第１の姿勢か第２の姿勢かを判定し、当該判定結果に応じて、第１仮想カメラの設定を行う。より具体的には、ＣＰＵ１０は、まず、端末装置７のＸ軸周りの回転角が、所定の閾値（例えば、４５度）以上か否かを判定する。
【０１９２】
図２４は、端末装置７がＸ軸周りに所定角度回転している場合の端末装置７を側面から見た図である。図２４に示すように、端末装置７のＸ軸周りの回転角が、所定の閾値以上である場合、ＣＰＵ１０は、端末装置７の姿勢が第２の姿勢であると判定する。一方、ＣＰＵ１０は、端末装置７のＸ軸周りの回転角が、所定の閾値未満である場合、端末装置７の姿勢が第１の姿勢であると判定する。ＣＰＵ１０は、判定結果を状態データ１２４として、メインメモリに記憶する。なお、ＣＰＵ１０は、現在の端末装置７の姿勢が第１の姿勢かあるいは第２の姿勢かに応じて、上記所定の閾値を変更する。例えば、ＣＰＵ１０は、現在の姿勢が第１の姿勢である場合、上記所定の閾値として４５度を用い、現在の姿勢が第２の姿勢である場合、上記所定の閾値として３０度を用いてもよい。
【０１９３】
次に、ＣＰＵ１０は、第１仮想カメラの位置および画角を設定する。具体的には、ＣＰＵ１０は、端末装置７の姿勢が第１の姿勢である場合、第１仮想カメラの位置を船９１の位置と海賊船９０Ａの位置との間の所定位置（海賊船９０Ａに近い位置）に設定するとともに、第１仮想カメラの画角を最小に設定する。これにより、第１仮想カメラで仮想空間を撮像した場合、海賊船９０Ａ（海賊９２）がズームインされて拡大表示される。一方、ＣＰＵ１０は、端末装置７の姿勢が第２の姿勢である場合、第１仮想カメラの位置を船９１の位置に設定するとともに、第１仮想カメラの画角を最大に設定する。これにより、第１仮想カメラで仮想空間を撮像した場合、海賊船９０Ａがズームアウトされて縮小表示される。なお、ＣＰＵ１０は、所定時間かけて第１仮想カメラを移動させるとともに、第１仮想カメラの画角を変化させる。したがって、テレビ２には、海賊９２が次第にズームインあるいはズームアウトされる様子が表示される。ステップＳ１２の処理が終了すると、ＣＰＵ１０は、次にステップＳ１３の処理を実行する。
【０１９４】
ステップＳ１３において、ＣＰＵ１０は、端末装置７の姿勢に応じて、テレビ２から出力される音声の音量を設定する。具体的には、ＣＰＵ１０は、ステップＳ１１で算出された端末装置７の姿勢が第２の姿勢である場合、第１の姿勢である場合に比べてテレビ２から出力される音声（海賊９２の声や音楽）の音量を小さくする。ＣＰＵ１０は、次にステップＳ１４の処理を実行する。
【０１９５】
ステップＳ１４において、ＣＰＵ１０は、端末装置７の姿勢に応じて、第２仮想カメラの姿勢を設定する。具体的には、ＣＰＵ１０は、ステップＳ１１で算出された端末装置７の姿勢と一致するように、第２仮想カメラの姿勢を設定し、第２仮想カメラデータ１２３としてメインメモリに記憶する。これにより、例えば、端末装置７のＬＣＤ５１が設けられた面の反対側の面がテレビ２を向く姿勢の場合（プレイヤがテレビ２を向く場合）、第２仮想カメラは海賊船９０Ａを向く姿勢に設定される。また、例えば、端末装置７のＬＣＤ５１が設けられた面がテレビ２を向く姿勢の場合（プレイヤがテレビ２の反対側を向く場合）、第２仮想カメラは海賊船９０Ａの反対側を向く姿勢に設定される。ＣＰＵ１０は、次にステップＳ１５の処理を実行する。
【０１９６】
ステップＳ１５において、ＣＰＵ１０は、第１タイミングｔ１か否かを判定する。具体的には、ＣＰＵ１０は、ステップＳ１において所定の音楽の再生が開始されてからの経過時間に基づいて、第１タイミングｔ１か否かを判定する。判定結果が肯定の場合、ＣＰＵ１０は、次にステップＳ１６の処理を実行する。一方、判定結果が否定の場合、ＣＰＵ１０は、次にステップＳ１８の処理を実行する。
【０１９７】
ステップＳ１６において、ＣＰＵ１０は、矢９４を放つ処理を開始する。具体的には、ＣＰＵ１０は、所定のアルゴリズムに従って矢９４をどの方向（前、上、右、左等）から飛ばすかを決定し、決定した方向から矢９４を放つための処理を開始する。これにより、第１仮想カメラで海賊９２を撮像した場合に、海賊９２が矢９４を放つ様子（図１６Ａ）がテレビ２に表示されたり、どの方向から矢９４が飛んでくるかを海賊９２が指し示す様子（図１９Ａ）がテレビ２に表示されたりする。また、ＣＰＵ１０は、矢を放つ処理として、どの方向から矢９４が飛んでくるかを示す音声および矢９４が放たれたことを示す効果音を再生する。メインメモリには、複数の音声データが格納されており、ＣＰＵ１０は、決定した方向に応じた音声データを選択する。これにより、テレビ２のスピーカ２ａから、どの方向から矢９４が飛んでくるかを示す音声（例えば、「右」）が出力される。ＣＰＵ１０は、次にステップＳ１７の処理を実行する。
【０１９８】
ステップＳ１７において、ＣＰＵ１０は、第１タイミングｔ１からの経過時間の計測を開始する。ＣＰＵ１０は、ステップＳ１７の処理の後、ＣＰＵ１０は、図２３に示すゲーム制御処理を終了する。
【０１９９】
一方、ステップＳ１８において、ＣＰＵ１０は、現在矢９４が放たれているか否かを判定する。ここでは、図１８に示すように、現在が第１タイミングｔ１から第２タイミングｔ２までの期間か否かを判定する処理である。具体的には、ＣＰＵ１０は、ステップＳ１７で計測が開始されてからの経過時間に基づいて、現在矢９４が放たれているか否かを判定する。判定結果が肯定の場合、ＣＰＵ１０は、次にステップＳ１９の処理を実行する。一方、判定結果が否定の場合、ＣＰＵ１０は、次にステップＳ２２の処理を実行する。
【０２００】
ステップＳ１９において、ＣＰＵ１０は、第２タイミングｔ２か否かを判定する。具体的には、ＣＰＵ１０は、ステップＳ１７で計測が開始されてからの経過時間に基づいて、第２タイミングｔ２か否かを判定する。判定結果が肯定の場合、ＣＰＵ１０は、次にステップＳ２０の処理を実行する。一方、判定結果が否定の場合、ＣＰＵ１０は、次にステップＳ２１の処理を実行する。
【０２０１】
ステップＳ２０において、端末装置７の姿勢に基づいた判定処理を行う。ステップＳ２０においては、第２タイミングｔ２における端末装置７の姿勢に応じた処理を行う。具体的には、ＣＰＵ１０は、ステップＳ１１で算出した端末装置７の姿勢が、ステップＳ１６で決定した方向（海賊９２が指示した方向）に応じた姿勢か否かを判定する。例えば、ステップＳ１６において、矢９４を右側から飛ばす（すなわち、海賊船９０Ｂからプレイヤに矢９４を飛ばす）と決定された場合、ＣＰＵ１０は、端末装置７の姿勢が、図２０に示すような姿勢であるか否かを判定する。例えば、ＣＰＵ１０は、姿勢データ１２１に基づいて、端末装置７のＺ軸負方向の単位ベクトルの各軸の座標値が、ステップＳ１６における決定に応じた所定の範囲内か否かを判定することにより、端末装置７の姿勢が海賊９２の指示に応じた姿勢か否かを判定する。
【０２０２】
また、ＣＰＵ１０は、当該判定結果に応じて、端末装置７のＬＣＤ５１に表示する画像、および端末装置７のスピーカ６７から出力する音声を決定する。これにより、例えば、判定結果が肯定の場合（端末装置７の姿勢がステップＳ１６で決定した方向に応じた姿勢である場合）、後述するステップＳ５およびＳ７の処理が実行されることで、図１６Ｂに示す画像９７および円形画像９８がＬＣＤ５１に表示される。また、ＣＰＵ１０は、判定が肯定の場合、得点を加算する。
【０２０３】
なお、ＣＰＵ１０は、ステップＳ２０において、過去所定数フレームにおいて算出した端末装置７の姿勢に基づいて、端末装置７が動いているか否かを判定する。メインメモリには、過去所定数フレームにおける端末装置７の姿勢が格納されている。したがって、ＣＰＵ１０は、過去所定数フレームの端末装置７の姿勢に基づいて、端末装置７の姿勢がどの程度変動しているかを算出することができる。ＣＰＵ１０は、端末装置７が動いていると判定した場合、現在の端末装置７の姿勢がステップＳ１６で決定した方向に応じた姿勢であっても、端末装置７が静止している場合とは異なる画像を生成して端末装置７に表示する。図２５は、端末装置７が動いている場合において、第２タイミングｔ２で端末装置７のＬＣＤ５１に表示される画像の一例を示す図である。図２５に示すように、端末装置７が動いている場合、プレイヤが正しい姿勢（海賊９２の指示に応じた姿勢）で端末装置７を把持していたとしても、矢を受け止めた位置を示す円形画像９８は、画面の中心からずれた位置に表示される。この場合、プレイヤが獲得する得点は、端末装置７が動いていないと判定された場合よりも、低くなる。このように、第２タイミングｔ２における端末装置７の姿勢に応じてゲーム処理が行われるとともに、当該タイミングにおいて端末装置７が静止しているか否かによってもゲーム処理の結果が異なる。なお、端末装置７が動いているか否かの判定は、加速度センサ６３が検出した加速度に基づいて行ってもよい。
【０２０４】
さらに、ＣＰＵ１０は、ステップＳ２０において、矢９４が振り落とされずに残っているか否かに応じて、画像９７および円形画像９８を表示する位置を決定する。後述のステップＳ２２において、端末装置７で受け止めた矢９４を振り落とす処理が行われない場合、矢９４は振り落とされずに残り、端末装置７のＬＣＤ５１に表示されたままとなる。メインメモリには、端末装置７で受け止めた矢９４が残っているか否かを示す情報が記憶されている。矢９４が残っている場合、画像９７および円形画像９８は、端末装置７の画面の中心付近に表示されず、図２５に示すように画面の中心からずれた位置に表示される。この場合も同様に、プレイヤが獲得する得点は、矢９４が残っていない場合よりも低くなる。次に、ＣＰＵ１０は、ステップＳ１７において計測を開始した経過時間をリセットし、図２３に示すゲーム制御処理を終了する。
【０２０５】
ステップＳ２１において、ＣＰＵ１０は、ロックオン枠の表示／非表示を設定する。図２６は、端末装置７のＬＣＤ５１に表示されるロックオン枠９９の一例を示す図である。ステップＳ２１の処理は、矢９４が放たれており、かつ、第２タイミングｔ２でない場合（すなわち、第１タイミングｔ１から第２タイミングｔ２の間の期間である場合）に実行される。ステップＳ２１の処理は、当該期間における端末装置７の姿勢が、正しい姿勢（海賊９２の指示に応じた姿勢）か否かを判定し、正しい姿勢である場合は、ロックオン枠９９を表示する処理である。ロックオン枠９９は、プレイヤに現在の端末装置７の姿勢が正しいことを知らせるためのものである。すなわち、ＣＰＵ１０は、現在の端末装置７の姿勢が、矢９４が放たれたときに海賊９２が指示した方向に応じた姿勢か否かを判定し、判定結果が肯定である場合に、ロックオン枠９９の表示をＯＮにする。判定結果が否定である場合、ロックオン枠９９は非表示に設定される。ＣＰＵ１０は、ステップＳ２１の処理の後、ＣＰＵ１０は、図２３に示すゲーム制御処理を終了する。
【０２０６】
一方、ステップＳ２２において、ＣＰＵ１０は、加速度に基づく処理を実行する。ステップＳ２２では、端末装置７の加速度センサ６３が検出した加速度に基づいて、所定のゲーム処理が実行される。具体的には、ＣＰＵ１０は、端末装置７のＺ軸負方向の加速度の値が所定の閾値以上であるか否かを判定する。判定結果が肯定の場合、ＣＰＵ１０は、端末装置７で受け止めた矢９４を振り落とす処理を行い、図２３に示すゲーム制御処理を終了する。これにより、端末装置７のＬＣＤ５１に表示されている画像９７および円形画像９８が表示されなくなる。判定結果が否定の場合、または、既に矢９４が振り落とされている場合、ＣＰＵ１０は何も行わず、図２３に示すゲーム制御処理を終了する。
【０２０７】
図２２に戻り、ＣＰＵ１０はステップＳ３の処理の後、次にステップＳ４の処理を実行する。
【０２０８】
ステップＳ４において、ＣＰＵ１０は、テレビ用ゲーム画像の生成処理を実行する。具体的には、ＣＰＵ１０は、第１仮想カメラで仮想空間を撮像することによってテレビ用ゲーム画像を取得する。ステップＳ１２の処理において設定された位置および画角の第１仮想カメラで仮想空間が撮像されることにより、端末装置７の姿勢に応じて海賊９２が拡大表示されたり縮小表示されたりする。以上のような処理により、海賊９２が拡大された画像や海賊９２が矢９４を放つ様子を示す画像等、ゲームの状況に応じたテレビ用ゲーム画像が取得される。ＣＰＵ１０は、次にステップＳ５の処理を実行する。
【０２０９】
ステップＳ５において、ＣＰＵ１０は、端末用ゲーム画像の生成処理を実行する。具体的には、ＣＰＵ１０は、ステップＳ１４で仮想空間における姿勢が設定された第２仮想カメラで仮想空間を撮像することにより、端末用ゲーム画像を生成する。また、ＣＰＵ１０は、ステップＳ２０やステップＳ２２の処理の結果に応じて、画像９７および円形画像９８を生成した端末用ゲーム画像に重ね合わせる。また、ステップＳ２１において、ロックオン枠９９の表示がＯＮに設定された場合、ＣＰＵ１０は、第２仮想カメラで仮想空間を撮像して得られた端末用ゲーム画像に、ロックオン枠９９の画像を重ね合わせる。これにより、端末装置７の姿勢に応じた姿勢の第２仮想カメラから仮想空間を見た画像、第２タイミングｔ２になって端末装置７の画面に矢９４が刺さった様子を示す画像（円形画像９８等）等、ゲームの状況に応じた端末用ゲーム画像が取得される。ＣＰＵ１０は、次にステップＳ６の処理を実行する。
【０２１０】
ステップＳ６において、ＣＰＵ１０は、テレビ２へステップＳ４で生成したテレビ用ゲーム画像を出力する。これにより、テレビ２には、例えば図１３Ａまたは図１３Ｂに示すような画像が表示される。また、ステップＳ６においては、テレビ用ゲーム画像と共に音声データがテレビ２へ出力され、テレビ２のスピーカ２ａからゲーム音声がステップＳ１３の処理で設定された音量で出力される。具体的には、端末装置７の姿勢が第１の姿勢の場合、第２の姿勢の場合よりも海賊９２の声の音量が大きくなる。すなわち、海賊９２が拡大表示されている場合は、海賊９２の声の音量が大きくなり、縮小表示されている場合は、音量が小さくなる。なお、所定の音楽の音量は、端末装置７の姿勢に応じて変化してもよいし（海賊９２の声と同様に第１の姿勢の場合は音量が大きくなってもよい）、端末装置７の姿勢によらず一定であってもよい。ＣＰＵ１０は、次にステップＳ７の処理を実行する。
【０２１１】
ステップＳ７において、ＣＰＵ１０は、端末装置７へ端末用ゲーム画像を送信する。具体的には、ＣＰＵ１０は、ステップＳ５で生成した端末用ゲーム画像をコーデックＬＳＩ２７に送り、当該コーデックＬＳＩ２７は、端末用ゲーム画像に対して所定の圧縮処理を行う。圧縮処理が施された画像のデータは、端末通信モジュール２８によってアンテナ２９を介して端末装置７へ送信される。端末装置７は、ゲーム装置３から送信されてくる画像のデータを無線モジュール７０によって受信する。コーデックＬＳＩ６６は、受信された画像データに対して所定の伸張処理を行う。伸張処理が行われた画像データはＬＣＤ５１に出力される。これによって、端末用ゲーム画像がＬＣＤ５１に表示される。また、ステップＳ７においては、端末用ゲーム画像と共に音声データが端末装置７へ送信され、端末装置７のスピーカ６７からゲーム音声が出力される。ＣＰＵ１０は、次にステップＳ８の処理を実行する。
【０２１２】
ステップＳ８において、ＣＰＵ１０は、ゲームを終了するか否かを判定する。ステップＳ８の判定は、例えば、ゲームの開始から所定の時間が経過したか否か、あるいは、ユーザがゲームを中止する指示を行ったか否か等によって行われる。ステップＳ８の判定結果が否定の場合、ステップＳ２の処理が再度実行される。一方、ステップＳ８の判定結果が肯定の場合、ＣＰＵ１０は図２２に示すゲーム処理を終了する。
【０２１３】
以上のように、プレイヤは、端末装置７の姿勢を変化させることで、海賊船９０Ａ等（海賊９２や矢９４を含む）を拡大したり縮小したりすることができる。具体的には、プレイヤが端末装置７のＬＣＤ５１を視認しない姿勢（第１の姿勢）で端末装置７を把持した場合、海賊船９０Ａ等は拡大表示されるとともに、テレビ２のスピーカ２ａから出力される音声の音量が大きくなる。一方、端末装置７を第２の姿勢に変化させた場合、海賊船９０Ａ等は縮小表示されるとともに、テレビ２のスピーカ２ａから出力される音声の音量が小さくなる。また、テレビ２には海賊９２や矢９４が表示されるが、端末装置７には海賊９２や矢９４は表示されない。さらに、端末装置７は可搬型の表示装置であるため、ＬＣＤ５１の画面サイズは比較的小さく、端末装置７に表示される海賊船９０Ａは、端末装置７の姿勢が第２の姿勢である場合に縮小表示される海賊船９０Ａと同様に、視認困難である。このため、プレイヤは端末装置７のＬＣＤ５１を見るだけでは海賊９２からの指示を視認することができない。言い換えると、端末装置７に表示される海賊船９０Ａは、常に視認困難な程度の大きさでしかないが、テレビ２に表示される海賊船９０Ａは、端末装置７の姿勢に応じて視認容易になったり、視認困難になったりする。したがって、プレイヤは海賊９２からの指示（画像および音声による指示）を視聴するために、テレビ２を見る必要があり、さらに海賊９２からの指示を視聴し易くするため、端末装置７の姿勢を第１の姿勢に変化させてテレビ２を視聴する。海賊９２からの指示があった後、第２タイミングｔ２において、プレイヤは端末装置７で矢９４を受け止めるようにして、端末装置７の姿勢を変化させ、矢９４を受け止めたか否かの結果が端末装置７のＬＣＤ５１に表示される。
【０２１４】
このように、本実施形態のゲームでは、プレイヤにテレビ２と端末装置７の画面とを交互に見させることができ、プレイヤは可搬型表示装置である端末装置７を用いたゲームを楽しむことができる。
【０２１５】
また、テレビ２は据置型の表示装置であり、端末装置７は可搬型の表示装置である。可搬型表示装置はプレイヤによって把持され、これら２つの表示装置は距離がある程度離れている。このようなゲーム環境において上述のようなリズムゲームが行われることにより、これら２つの表示装置の間の距離を利用した空間的な広がりを持つリズムゲームを楽しむことができる。
【０２１６】
［７．変形例］
なお、上記実施形態は本発明を実施する一例であり、他の実施形態においては例えば以下に説明する構成で本発明を実施することも可能である。
【０２１７】
例えば、本実施形態では、端末装置７の姿勢に応じてテレビ２に表示される海賊船９０Ａや海賊９２を拡大または縮小した。これにより、プレイヤにテレビ２と端末装置７とを交互に視聴させて、２つの表示装置を用いたゲームを行わせた。他の実施形態では、例えば、仮想空間に霧を発生／消滅させて、海賊船９０Ａや海賊９２を視認困難／視認容易に切り替えてもよい。また、例えば、テレビ２の画面をブラックアウトさせたり、画面全体あるいは海賊船９０Ａ等を含む所定の領域をぼかしたり、海賊船９０Ａ等を透明または半透明にすることにより、海賊船９０Ａ等を視認困難（視認不可能）にしてもよい。また、例えば、海賊船９０Ａ等をモザイク表示することにより、海賊船９０Ａや海賊９２を視認困難（視認不可能）にしてもよい。また、例えば、海賊船９０Ａの手前に他のオブジェクトを表示することにより、海賊船９０Ａを視認困難（視認不可能）にしてもよい。すなわち、本実施形態では、端末装置７の姿勢が第１の姿勢の場合に海賊船９０Ａ等を拡大（ズームイン）して視認容易にし、端末装置７の姿勢が第２の姿勢の場合に縮小（ズームアウト）して視認困難にした。そして、海賊船９０Ａ等を視認困難にすることにより、端末装置７の画面をプレイヤに見させるようにした。他の実施形態では、第１仮想カメラの設定を変更して海賊船９０Ａ等を拡大／縮小する代わりに、上記のように他の方法によって海賊船９０Ａ等を視認困難／視認容易に切り替えてもよい。海賊船９０Ａ等を視認困難にするために、海賊船９０Ａ等を縮小表示する処理、海賊船９０Ａ等を含む一部あるいは全部の領域に所定の画像（霧を示す白色の画像や画面をブラックアウトさせる黒色の画像、海賊船９０Ａの手前に配置された他のオブジェクトの画像等）を表示させる処理を行ってもよい。また、海賊船９０Ａ等を視認困難にするために、海賊船９０Ａ等をぼかす処理、海賊船９０Ａ等をモザイク表示する処理を行ってもよい。これにより、プレイヤにテレビ２と端末装置７の画面とを交互に見させてゲームをプレイさせることができる。
【０２１８】
また、本実施形態では、端末装置７の姿勢が第１の姿勢か第２の姿勢かを判定した。具体的には、第１の姿勢は、端末装置７の画面が地面と水平となる姿勢（画面が重力方向と略垂直になる姿勢）であり、当該姿勢ではプレイヤは端末装置７の画面を見ずにテレビ２を見ているものとした。第２の姿勢は、端末装置７の画面が地面に対して垂直となる姿勢（画面が重力方向と略平行になる姿勢）であり、当該姿勢ではプレイヤは端末装置７の画面を見ているものとした。すなわち、本実施形態では、端末装置７の姿勢に基づいて、プレイヤが端末装置７の画面を視認しているか否か（言い換えるとプレイヤがテレビ２を視認しているか否か）を判定した。他の実施形態では、他の方法により、プレイヤがテレビ２（あるいは端末装置７）を視認している状態か、視認していない状態かを判定してもよい。例えば、端末装置７が備えるカメラ５６でプレイヤの顔を撮像し、当該撮像した画像に対して顔認識処理を行ってもよい。これにより、プレイヤの視線が端末装置７のＬＣＤ５１に向いているか否かを判定することにより、プレイヤが端末装置７を視認している状態か否か（テレビ２を視認しているか否か）を判定してもよい。また、例えば、カメラ５６とは異なるカメラを実空間（例えばテレビ２の周辺）に配置し、当該カメラによって撮像された画像をゲーム装置３が取得して、プレイヤがテレビ２を視認している状態か否かを判定してもよい。例えば、プレイヤがテレビ２を視認している状態か否かは、当該カメラによって撮像された画像にプレイヤの顔が含まれているか否かを顔認識技術等を用いることによって判定することができる。また、他の実施形態では、プレイヤによって端末装置７の所定の操作ボタンが押されているか否かによって、プレイヤがテレビ２を視認しているか否かを判定してもよい。
【０２１９】
また、例えば、端末装置７の姿勢はマーカ装置６のマーカを端末装置７が撮像することによって、算出されてもよく、当該端末装置７の姿勢に応じてプレイヤが端末装置７（あるいはテレビ２）を視認しているか否かを判定してもよい。この場合、端末装置のＬＣＤ５１が設けられた面の反対側の面にマーカを撮像するカメラが設けられてもよい。あるいは、実空間に配置されたカメラで端末装置７のマーカ部５５を撮像することにより、端末装置７の姿勢が算出されてもよい。例えば、端末装置７が備えるカメラでマーカ装置６の２つのマーカを撮像する場合、撮像画像に含まれる２つのマーカの位置や姿勢に基づいて、端末装置７がどの方向を向いているか（テレビ２を向いているか）、横方向にどの程度傾いているかをゲーム装置３は算出することができる。また、実空間に配置されたカメラで端末装置７を撮像し、撮像画像に含まれる端末装置７をパターンマッチング等の画像認識技術によって検出することで、端末装置７の姿勢を算出することができる。
【０２２０】
また、本実施形態では、ジャイロセンサが検出した角速度に基づいて、端末装置７の姿勢を算出し、加速度センサが検出した加速度に基づいて端末装置７の姿勢を補正した。すなわち、これらの２種類の慣性センサ（加速度センサおよびジャイロセンサ）が検出する物理量の双方を用いて、端末装置７の姿勢を算出した。他の実施形態では、磁気センサが検出する方位（磁気センサが検出する地磁気によって示される方角）に基づいて、端末装置７の姿勢を算出してもよい。磁気センサによって端末装置７がどの方向（地面に平行な方向）を向いているかを検出することができる。この場合、さらに加速度センサを用いると、重力方向に対する傾きを検出することができ、端末装置７の３次元空間における姿勢を算出することができる。
【０２２１】
また、他の実施形態では、端末装置７においてジャイロセンサ６４等によって検出された物理量に基づいて、端末装置７の姿勢が算出され、当該姿勢に関するデータがゲーム装置３に送信されてもよい。そして、ゲーム装置３において、端末装置７からのデータを受信して、端末装置７の姿勢を取得し、当該端末装置７の姿勢に基づいて、上述のようなゲーム処理が行われてもよい。すなわち、ゲーム装置３は、端末装置７からのジャイロセンサ６４等によって検出された物理量に応じたデータに基づいて、端末装置７の姿勢を算出することによって端末装置７の姿勢を取得してもよいし、端末装置７において算出された姿勢に関するデータに基づいて、端末装置７の姿勢を取得してもよい。
【０２２２】
また、本実施形態では、端末装置７の姿勢が第１の姿勢の場合、第１仮想カメラの位置を撮像方向に移動させるとともに、第１仮想カメラの画角を小さくすることにより、海賊船９０Ａ等を拡大表示した。他の実施形態では、第１仮想カメラの位置および画角の少なくとも一方を変更することにより、海賊船９０Ａ等を拡大／縮小表示してもよい。また、本実施形態では、端末装置７の姿勢が第２の姿勢の場合、第１仮想カメラと第２仮想カメラの位置および画角を略同一に設定して、２つの仮想カメラの撮像範囲を略同一にした。他の実施形態では、必ずしも第１仮想カメラと第２仮想カメラの位置および画角は略同一である必要はなく、２つの仮想カメラの撮像範囲が略同一であれば、２つの仮想カメラの位置および画角はそれぞれ適宜調整されてもよい。
【０２２３】
また、本実施形態では、第１タイミングと第２タイミングとの間の期間において、端末装置７の姿勢が所定の姿勢（指示に応じた姿勢）である場合、ロックオン枠９９を端末装置７に表示した。他の実施形態では、ロックオン枠９９を表示するとともに（あるいはロックオン枠９９を表示することに代えて）、端末装置７に第２仮想カメラで仮想空間を撮像した静止画を表示してもよい。例えば、当該期間において端末装置７の姿勢が所定の姿勢となった場合、端末装置７の姿勢に応じて第２仮想カメラの姿勢を変化させず、あるいは、端末装置７の姿勢の変化量に対して第２仮想カメラの姿勢の変化量を小さくして、第２仮想カメラで仮想空間を撮像した画像を端末装置７に表示してもよい。また、他の実施形態では、当該期間において、姿勢の判定結果に応じて、バイブレータ７９を所定のパターンで動作させてもよい。すなわち、当該期間において、端末装置７の姿勢が所定の姿勢であるか否かを判定し、当該判定結果に応じた報知（枠の表示や静止画の表示、音や振動等によるユーザに対する報知）を端末装置７において行ってもよい。
【０２２４】
また、本実施形態では、端末装置７の姿勢に応じて、海賊船９０Ａ等を拡大表示または縮小表示するとともに、テレビ２から出力される音声の音量を調整した。具体的には、端末装置７の姿勢が第１の姿勢の場合（端末装置７を視認しない姿勢、言い換えるとテレビ２を視認する姿勢の場合）、海賊船９０Ａ等を拡大表示するとともに、テレビ２から出力される音声の音量を大きくした。他の実施形態では、端末装置７の姿勢が第１の姿勢の場合、端末装置７から出力される音声の音量を大きくしてもよいし、音量の調整は行われなくてもよい。
【０２２５】
また、本実施形態では、テレビ２に海賊９２が表示され、第１タイミングで海賊９２に所定の動作（矢９４を放つ動作や所定の方向を指す動作）をさせることによってプレイヤに対する指示を行った。他の実施形態では、プレイヤに対する指示は、どのようなものであってもよく、テレビ２に表示されるオブジェクトは任意のものであってもよい。また、本実施形態では、矢９４を飛ばして端末装置７で当該矢９４を受け止めることを想定したが、他の実施形態では、他の任意のオブジェクトをテレビ２から端末装置７へ、あるいは端末装置７からテレビ２へ移動させることを想定したゲームであってもよい。
【０２２６】
また、本実施形態では、テレビ２に表示される海賊９２の動作およびテレビ２からの音声によってユーザに対する指示を行った。他の実施形態では、画像および音声のうちの何れか一方のみによる指示がテレビ２において行われてもよい。
【０２２７】
また、本実施形態では、第１タイミングでプレイヤに対して所定の指示を行い、第１タイミングから所定時間経過後の第２タイミングにおける端末装置７の姿勢に基づいて、ゲーム処理を行った。他の実施形態では、例えば、コントローラ５を入力装置として用いてもよいし、端末装置７を入力装置として用いてもよい。すなわち、他の実施形態では、例えば第２タイミングにおいてコントローラ５の所定の操作ボタンが押されているか否かに応じてゲーム処理を行ってもよいし、端末装置７の所定の操作ボタンが押されているか否かに応じてゲーム処理を行ってもよい。また、例えば、第２タイミングにおいてコントローラ５の姿勢や端末装置７の姿勢に応じてゲーム処理を行ってもよい。
【０２２８】
また、他の実施形態では、プレイヤによる入力が、プレイヤ自身のジェスチャ（動作）によって行われてもよい。例えば、プレイヤを撮像するカメラをゲーム装置３に接続し、当該カメラからの画像に基づいて、プレイヤの動作を判別することにより、プレイヤからの入力が行われてもよい。例えば、第１タイミングにおいてプレイヤに対する指示が行われ、当該指示に基づいて第２タイミングにおいてプレイヤは指示に応じた動作をする。そして、カメラからの画像に基づいてゲーム装置３がプレイヤの動作を解析し、プレイヤの動作が指示に応じた動作か否かを判定する。
【０２２９】
すなわち、第２タイミングにおける入力装置に対する入力状態に基づいて、ゲーム処理を行ってもよい。入力装置に対する入力状態は、コントローラ５や端末装置７に設けられた所定の操作ボタンが押されているか否かの状態であってもよいし、コントローラ５や端末装置７自体の姿勢であってもよい。また、入力装置に対する入力状態は、プレイヤ自身のジェスチャ（動作）に基づいた状態であってもよく、プレイヤをカメラで撮像することでプレイヤの動作を判別してもよい。
【０２３０】
また、例えば、第２タイミングと、入力装置（例えば、端末装置７）に対する入力が行われたタイミングとに基づいて、ゲーム処理を行ってもよい。例えば、第２タイミングと入力装置の所定の操作ボタンが押されたタイミングとの差に基づいて、ゲーム処理を行ってもよい。具体的には、当該差が所定の閾値以下であった場合、プレイヤが指示に応じた入力を行ったとして矢９４が端末装置７に到達した様子を端末装置７のＬＣＤ５１に表示してもよい。また、例えば、第２タイミングと入力装置に対する所定の操作（例えば入力装置を振る操作等、入力装置自体の姿勢を変化させる操作や入力装置に加速度を加える操作）のタイミングとの差に基づいて、ゲーム処理が行われてもよい。すなわち、第２タイミングと入力装置に対する入力のタイミングとの差に基づいて、ゲーム処理が行われてもよい。
【０２３１】
また、本実施形態では、第１タイミングにおいてテレビ２からプレイヤに向かって矢９４を飛ばす様子を表示し、第２タイミングにおいて端末装置７に矢９４が到達した様子を表示した。他の実施形態では、第１タイミングにおいて端末装置７からテレビ２に向かって所定のオブジェクトを移動させる様子を表示し、第２タイミングにおいてテレビ２において当該オブジェクトが到達する様子を表示してもよい。この場合において、第２タイミングにおける入力装置（端末装置７やその他の入力装置でもよい）に対する入力状態に基づいてゲーム処理が行われる。すなわち、他の実施形態では、据置型表示装置であるテレビ２と可搬型表示装置である端末装置７とが入れ替わった構成で、上述のようなゲームが行われてもよい。
【０２３２】
また、他の実施形態では、ゲーム装置３において行われたゲーム処理の一部が、端末装置７において実行されてもよい。例えば、端末装置７において仮想空間が定義され、当該仮想空間を仮想カメラで撮像することにより、端末装置７のＬＣＤ５１に表示される画像が端末装置７において生成されてもよい。
【０２３３】
さらに、他の実施形態では、互いに通信可能な複数の情報処理装置を有するゲームシステムにおいて、当該複数の情報処理装置が、上述のようなゲーム装置３において実行されたゲーム処理を分担して実行するようにしてもよい。例えば、インターネットのようなネットワークに接続された複数の情報処理装置によって上述のようなゲームシステムが構成されてもよい。例えば、端末装置７およびモニタが接続された情報処理装置と、当該情報処理装置とインターネットを介して接続されるサーバとによって、上述のようなゲームシステムが構築されてもよい。この場合、端末装置７および情報処理装置はプレイヤ側に配置される。そして、例えば、端末装置７において行われたゲーム操作に応じた操作情報は、ネットワークを介してサーバに送信され、当該サーバは、受信した操作情報に基づいたゲーム処理を実行し、実行結果を情報処理装置に送信する。
【０２３４】
また、他の実施形態では、ゲーム装置３と、端末装置７とが無線ではなく有線で接続されることによって、データが送受信されてもよい。また、上述したプログラムは、ゲーム装置３以外の様々な情報処理を行う目的で用いられる情報処理装置、例えばパーソナルコンピュータ等において実行されてもよい。
【０２３５】
また、上記ゲームプログラムは、光ディスクに限らず、磁気ディスク、不揮発性メモリ等の記憶媒体に記憶されてもよく、ネットワークに接続されたサーバ上のＲＡＭや磁気ディスク等のコンピュータ読み取り可能な記憶媒体に記憶されて、ネットワークを介して当該プログラムが提供されてもよい。また、上記ゲームプログラムは、ソースコードとして情報処理装置に読み込まれて、プログラムの実行の際にコンパイルされて実行されてもよい。
【０２３６】
また、上記実施形態においては、ゲーム装置３のＣＰＵ１０が上記ゲームプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置３が備える専用回路によって行われてもよし、他の汎用プロセッサによって行われてもよい。少なくとも１つのプロセッサが、上記処理を実行するための「プログラムされた論理回路」として動作するものであってもよい。
【符号の説明】
【０２３７】
１  ゲームシステム
２  テレビ
３  ゲーム装置
４  光ディスク
５  コントローラ
６  マーカ装置
７  端末装置
１０  ＣＰＵ
１１ｅ  内部メインメモリ
１２  外部メインメモリ
６２  磁気センサ
６３  加速度センサ
６４  ジャイロセンサ
６７  スピーカ
５１  ＬＣＤ
５５  マーカ部
７０  無線モジュール
９０Ａ、９０Ｂ、９０Ｃ  海賊船
９１  船
９２  海賊
９３  弓
９４  矢
９６  指示画像
９８  円形画像
９９  ロックオン枠
【図１】
0005869236.tif 000002
【図２】
0005869236.tif 000003
【図３】
0005869236.tif 000004
【図４】
0005869236.tif 000005
【図５】
0005869236.tif 000006
【図６】
0005869236.tif 000007
【図７】
0005869236.tif 000008
【図８】
0005869236.tif 000009
【図９】
0005869236.tif 000010
【図１０】
0005869236.tif 000011
【図１１】
0005869236.tif 000012
【図１２Ａ】
0005869236.tif 000013
【図１２Ｂ】
0005869236.tif 000014
【図１３Ａ】
0005869236.tif 000015
【図１３Ｂ】
0005869236.tif 000016
【図１４】
0005869236.tif 000017
【図１５Ａ】
0005869236.tif 000018
【図１５Ｂ】
0005869236.tif 000019
【図１６Ａ】
0005869236.tif 000020
【図１６Ｂ】
0005869236.tif 000021
【図１７】
0005869236.tif 000022
【図１８】
0005869236.tif 000023
【図１９Ａ】
0005869236.tif 000024
【図１９Ｂ】
0005869236.tif 000025
【図２０】
0005869236.tif 000026
【図２１】
0005869236.tif 000027
【図２２】
0005869236.tif 000028
【図２３】
0005869236.tif 000029
【図２４】
0005869236.tif 000030
【図２５】
0005869236.tif 000031
【図２６】
0005869236.tif 000032