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