(57)【特許請求の範囲】
【請求項１】
第１表示手段を利用する第１画像処理装置と、前記第１画像処理装置と通信可能であって、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とを含む、画像処理システムであって、
前記第１画像処理装置は、
所定のマーカ画像を前記第１表示手段に表示する第１表示処理手段、および
前記第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、
前記第２画像処理装置は、
前記撮像手段で撮像を行う撮像処理手段、および
前記撮像画像内で前記マーカ画像を認識することにより、前記第２表示手段上で視認可能な現実空間に対して、前記撮像画像内の前記マーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段を備え、
前記第２オブジェクト表示制御手段は、前記撮像画像内で前記マーカ画像を認識した際に、前記撮像画像内に前記第２オブジェクト画像の少なくとも一部を合成し、
前記第１オブジェクト表示制御手段は、前記第２オブジェクト表示制御手段において前記撮像画像内で前記マーカ画像を認識した際に、前記第１表示手段に対して、前記第１オブジェクト画像の表示を制御する、画像処理システム。
【請求項２】
前記第１オブジェクト表示制御手段は、前記第２オブジェクト表示制御手段において、前記撮像画像内で前記マーカ画像を認識した際に、前記第１表示手段に対して、前記第１オブジェクト画像が消えるように制御を行う、請求項１に記載の画像処理システム。
【請求項３】
前記第１オブジェクト表示制御手段は、前記第２オブジェクト表示制御手段において、前記撮像画像内で前記マーカ画像を認識した際に、前記第１表示手段に対して、前記第１オブジェクト画像が表示されるように制御を行う、請求項１に記載の画像処理システム。
【請求項４】
前記マーカ画像には識別情報が含まれ、
前記第１オブジェクト画像および前記第２オブジェクト画像は、それぞれ前記マーカ画像に含まれる識別情報に対応した画像である、請求項１に記載の画像処理システム。
【請求項５】
前記第１表示処理手段は、複数の前記マーカ画像を前記第１表示手段に表示する、請求項１に記載の画像処理システム。
【請求項６】
前記第１表示処理手段は、４つのマーカ画像を前記第１表示手段の四隅に表示する、請求項５に記載の画像処理システム。
【請求項７】
前記第１オブジェクト表示制御手段は、前記複数のマーカ画像に囲まれた所定の位置に対して、前記第１オブジェクト画像が表示されるように制御を行い、
前記第２オブジェクト表示制御手段は、前記撮像画像内で前記複数のマーカ画像の少なくも一つを認識することにより、前記撮像画像内で認識された前記複数のマーカ画像に囲まれた位置に対して、前記第２オブジェクト画像の合成の制御を行う、請求項５または６に記載の画像処理システム。
【請求項８】
前記第２オブジェクト表示制御手段は、前記撮像画像中の前記マーカ画像に対してＡＲ認識することにより、前記撮像画像中の前記マーカ画像の位置および姿勢に応じた位置および姿勢で前記第２オブジェクトの合成の制御を行う、請求項１に記載の画像処理システム。
【請求項９】
前記第２オブジェクト表示制御手段は、
前記撮像画像中の前記マーカ画像を認識することにより、前記第１表示手段上の前記マーカ画像と、前記撮像手段との位置および姿勢の相対関係を算出する位置姿勢算出手段、
仮想空間に前記第２オブジェクトを配置するとともに、当該第２オブジェクトと仮想カメラとの位置および姿勢の相対関係が、前記位置姿勢算出手段によって算出された位置および姿勢と同じなるように、当該仮想カメラの位置および姿勢を決定する仮想カメラ設定手段、および
前記仮想カメラで前記第２オブジェクトを含む前記仮想空間を撮影する仮想空間撮影手段を含み、
前記撮像画像と前記仮想空間撮影手段で撮影した仮想空間との合成の制御を行う、請求項８に記載の画像処理システム。
【請求項１０】
前記第２画像処理装置は、前記撮像処理手段で撮像した撮像画像を前記第２表示手段に表示する第２表示処理手段をさらに備え、
前記第２オブジェクト表示制御手段は、前記第２表示手段で表示されている前記撮像画像に対して、前記第２オブジェクトの合成の制御を行う、請求項１に記載の画像処理システム。
【請求項１１】
第１表示手段を利用する第１画像処理装置と、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とを含む、画像処理システムであって、
前記第１画像処理装置は、
所定のマーカ画像を前記第１表示手段に表示する第１表示処理手段、および
前記第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、
前記第２画像処理装置は、
前記撮像手段で撮像を行う撮像処理手段、
前記撮像画像内で前記マーカ画像を認識することにより、前記第２表示手段上で視認可能な現実空間に対して、前記撮像画像内の前記マーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段、および
前記マーカ画像の認識結果に基づいて、前記第１画像処理装置に対して第１信号を送信する第１信号送信手段を備え、
前記第１画像処理装置はさらに、
前記第１信号送信手段で送信された第１信号を受信する第１信号受信手段を備え、
前記第１オブジェクト表示制御手段は、前記第１信号受信手段で受信された第１信号に基づいて、前記第１オブジェクトの表示を制御する、画像処理システム。
【請求項１２】
前記第１画像処理装置は、前記第１信号受信手段で前記第１信号が受信された場合に、前記第２画像処理装置に対して第２信号を送信する第２信号送信手段をさらに備え、
前記第２画像処理装置は、前記第２信号を受信する第２信号受信手段をさらに備え、
前記第２オブジェクト表示制御手段は、前記第２信号受信手段で受信された第２信号に基づいて表示制御を行う、請求項１１に記載の画像処理システム。
【請求項１３】
前記第２信号送信手段は、前記第１信号受信手段で第１信号を受信されてから第１所定時間が経過した後に、前記第２画像処理装置に対して第２信号を送信する、請求項１２に記載の画像処理システム。
【請求項１４】
前記第１オブジェクト表示制御手段は、前記第２信号送信手段で第２信号を送信された後に表示制御を行う、請求項１２または１３に記載の画像処理システム。
【請求項１５】
前記第１画像処理装置は、前記第１オブジェクト表示制御手段で表示制御が行われてから第２所定時間が経過した後に、前記第２画像処理装置に対して第３信号を送信する第３信号送信手段をさらに備え、
前記第２画像処理装置は、前記第３信号を受信する第３信号受信手段をさらに備え、
前記第２オブジェクト表示制御手段は、前記第３信号受信手段で前記第３信号を受信された後に、前記撮像画像から前記第２オブジェクトを削除する、請求項１３に記載の画像処理システム。
【請求項１６】
前記第１オブジェクト表示制御手段は、前記第３信号送信手段で前記第３信号を送信された後に、前記表示制御を行う前の状態にする、請求項１５に記載の画像処理システム。
【請求項１７】
前記第１表示処理手段は、前記所定の識別情報と共に、前記第１オブジェクトの少なくとも一部を表示し、
前記第１オブジェクト表示制御手段は、前記第１信号に基づいて、前記第１オブジェクトの少なくとも一部を消去する、請求項１１に記載の画像処理システム。
【請求項１８】
前記第１オブジェクト表示制御手段は、前記第１信号に基づいて、前記第１オブジェクトの少なくとも一部を表示する、請求項１１に記載の画像処理システム。
【請求項１９】
第１表示手段を利用する第１画像処理装置と、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とを含む、画像処理システムであって、
前記第１画像処理装置は、
所定のマーカ画像を前記第１表示手段に表示する第１表示処理手段、および
前記第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、
前記第２画像処理装置は、
前記撮像手段で撮像を行う撮像処理手段、および
前記撮像画像内で前記マーカ画像を認識することにより、前記第２表示手段上で視認可能な現実空間に対して、前記撮像画像内の前記マーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段を備え、
前記第１オブジェクト表示制御手段は、前記マーカ画像の大きさに基づいて、前記第１オブジェクトの大きさを変更する第１オブジェクト大きさ変更手段を含み、
前記第２オブジェクト表示制御手段は、前記マーカ画像の大きさに基づいて、前記第２オブジェクトの大きさを変更する第２オブジェクト大きさ変更手段を含む、画像処理システム。
【請求項２０】
第１表示手段を利用する第１画像処理装置と、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とを含む、画像処理システムであって、
前記第１画像処理装置は、
所定のマーカ画像を前記第１表示手段に表示する第１表示処理手段、および
前記第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、
前記第２画像処理装置は、
前記撮像手段で撮像を行う撮像処理手段、および
前記撮像画像内で前記マーカ画像を認識することにより、前記第２表示手段上で視認可能な現実空間に対して、前記撮像画像内の前記マーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段を備え、
前記第１オブジェクト表示制御手段は、前記マーカ画像の形状に基づいて、前記第１オブジェクトの表示方向を変更する第１オブジェクト方向変更手段を含み、
前記第２オブジェクト表示制御手段は、前記マーカ画像の形状に基づいて、前記第２オブジェクトの表示方向を変更する第２オブジェクト方向変更手段を含む、画像処理システム。
【請求項２１】
前記第１信号には座標情報が含まれ、
前記第１オブジェクト表示制御手段は、前記第１信号に含まれる座標情報に基づいて、前記第１オブジェクトの少なくとも一部の表示の制御を行う、請求項１１に記載の画像処理システム。
【請求項２２】
前記第２表示処理手段は、前記第２表示手段に前記マーカ画像と同一形状の枠を表示する枠表示手段を含み、
前記第２オブジェクト表示制御手段は、前記マーカ画像が、前記枠表示手段で表示された枠に沿って表示されている状態で認識する、請求項１０に記載の画像処理システム。
【請求項２３】
第１表示手段を利用する第１画像処理装置と、前記第１画像処理装置と通信可能であって、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とで画像処理を行う、画像処理プログラムであって、
前記第１画像処理装置のコンピュータを、
所定のマーカ画像を前記第１表示手段に表示する第１表示処理手段、および
前記第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段として機能させ、
前記第２画像処理装置のコンピュータを、
前記撮像手段で撮像を行う撮像処理手段、および
前記撮像画像内で前記マーカ画像を認識することにより、前記第２表示手段上で視認可能な現実空間に対して、前記撮像画像内の前記マーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段として機能させ、
前記第２オブジェクト表示制御手段は、前記撮像画像内で前記マーカ画像を認識した際に、前記撮像画像内に前記第２オブジェクト画像の少なくとも一部を合成し、
前記第１オブジェクト表示制御手段は、前記第２オブジェクト表示制御手段において前記撮像画像内で前記マーカ画像を認識した際に、前記第１表示手段に対して、前記第１オブジェクト画像の表示を制御する、画像処理プログラム。
【請求項２４】
第１表示手段を利用するとともに、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置と通信可能な、第１画像処理装置であって、
所定のマーカ画像を前記第１表示手段に表示する第１表示処理手段、および
前記第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、
前記第２画像処理装置には、
前記撮像手段で撮像を行う撮像処理手段、および
前記撮像画像内で前記マーカ画像を認識することにより、前記第２表示手段上で視認可能な現実空間に対して、前記撮像画像内の前記マーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段が備えられ、
前記第２オブジェクト表示制御手段は、前記撮像画像内で前記マーカ画像を認識した際に、前記撮像画像内に前記第２オブジェクト画像の少なくとも一部を合成し、
前記第１オブジェクト表示制御手段は、前記第２オブジェクト表示制御手段において前記撮像画像内で前記マーカ画像を認識した際に、前記第１表示手段に対して、前記第１オブジェクト画像の表示を制御する、第１画像処理装置。
【請求項２５】
第１表示手段を利用する第１画像処理装置と通信可能であり、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する、第２画像処理装置であって、
前記第１画像処理装置には、
所定のマーカ画像を前記第１表示手段に表示する第１表示処理手段、および
前記第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段が備えられ、
前記撮像手段で撮像を行う撮像処理手段、および
前記撮像画像内で前記マーカ画像を認識することにより、前記第２表示手段上で視認可能な現実空間に対して、前記撮像画像内の前記マーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段を備え、
前記第２オブジェクト表示制御手段は、前記撮像画像内で前記マーカ画像を認識した際に、前記撮像画像内に前記第２オブジェクト画像の少なくとも一部を合成し、
前記第１オブジェクト表示制御手段は、前記第２オブジェクト表示制御手段において前記撮像画像内で前記マーカ画像を認識した際に、前記第１表示手段に対して、前記第１オブジェクト画像の表示を制御する、第２画像処理装置。
【請求項２６】
第１表示手段を利用する第１画像処理装置と、前記第１画像処理装置と通信可能であって、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とで行う、画像処理方法であって、
前記第１画像処理装置のコンピュータで行う、
所定のマーカ画像を前記第１表示手段に表示する第１表示処理ステップ、および
前記第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御ステップ、ならびに
前記第２画像処理装置のコンピュータで行う、
前記撮像手段で撮像を行う撮像処理ステップ、および
前記撮像画像内で前記マーカ画像を認識することにより、前記第２表示手段上で視認可能な現実空間に対して、前記撮像画像内の前記マーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御ステップを含み、
前記第２オブジェクト表示ステップでは、前記撮像画像内で前記マーカ画像を認識した際に、前記撮像画像内に前記第２オブジェクト画像の少なくとも一部を合成し、
前記第１オブジェクト表示ステップでは、前記第２オブジェクト表示制御ステップにおいて前記撮像画像内で前記マーカ画像を認識した際に、前記第１表示手段に対して、前記第１オブジェクト画像の表示を制御する、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理システム、画像処理プログラム、画像処理装置および画像処理方法に関し、より特定的には、実写画像とＣＧ画像とを合成した合成画像の表示を行う、画像処理システム、画像処理プログラム、画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
従来、この種の画像処理装置として、特許文献１に開示されたものが知られている。この背景技術では、画像処理装置は、２次元バーコードが貼付されたカードをＣＣＤカメラで撮像して、この撮像画像の中から２次元バーコードを探知し、撮像画像の中での２次元バーコードの位置を検出すると共に２次元バーコードのパターンを識別した上で、このパターンに対応する３次元画像を撮像画像の中の２次元バーコードの位置に重畳して表示する。
【特許文献１】特開２０００−３２２６０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記の背景技術では、２次元バーコードはカードに印刷されているが、これを別の画像処理装置たとえばＰＣのモニタに表示させることが考えられる。この場合、ＰＣを介してモニタの２次元バーコードを変化させることで、画像処理装置に多様な３次元画像の合成を行わせることが可能となる。しかし、これは、ＰＣから画像処理装置への一方向の表示制御に過ぎないので、興趣性を高めるには限界がある。
【０００４】
それゆえに、この発明の主たる目的は、新規な、画像処理システム、画像処理プログラム、画像処理装置および画像処理方法を提供することである。
【０００５】
この発明の他の目的は、第１画像処理装置および第２画像処理装置が連携して、第１表示手段および第２表示手段の撮像画像の間で第１オブジェクトおよび第２オブジェクトを連動させることができる、画像処理システム、画像処理プログラムおよび画像処理方法、ならびに、そのような第１画像処理装置および第２画像処理装置を提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
第１の発明は、第１表示手段を利用する第１画像処理装置と、第１画像処理装置と通信可能であって、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とを含む、画像処理システムであって、第１画像処理装置は、所定のマーカ画像を第１表示手段に表示する第１表示処理手段、および第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、第２画像処理装置は、撮像手段で撮像を行う撮像処理手段、および撮像画像内でマーカ画像を認識することにより、第２表示手段上で視認可能な現実空間に対して、撮像画像内のマーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段を備え、第２オブジェクト表示制御手段は、撮像画像内でマーカ画像を認識した際に、撮像画像内に第２オブジェクト画像の少なくとも一部を合成し、第１オブジェクト表示制御手段は、第２オブジェクト表示制御手段において撮像画像内でマーカ画像を認識した際に、第１表示手段に対して、第１オブジェクト画像の表示を制御する。
【０００８】
第１の発明では、第１画像処理装置は、所定のマーカ画像を第１表示手段に表示して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行い、第２画像処理装置は、撮像手段で撮像を行い、撮像画像内でマーカ画像を認識することにより、第２表示手段上で視認可能な現実空間に対して、撮像画像内のマーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う。そして、第２オブジェクト表示制御手段は、撮像画像内でマーカ画像を認識した際に、撮像画像内に第２オブジェクト画像の少なくとも一部を合成し、第１オブジェクト表示制御手段は、第２オブジェクト表示制御手段において撮像画像内でマーカ画像を認識した際に、第１表示手段に対して、第１オブジェクト画像が消えるようにまたは第１オブジェクト画像が出現するように制御を行う。
【０００９】
第１の発明によれば、第１画像処理装置および第２画像処理装置がマーカ画像を通じて連携して、第１表示手段および第２表示手段の撮像画像の間で第１オブジェクトおよび第２オブジェクトを連動させることが可能となる。そして、第１画像処理装置および第２画像処理装置がマーカ画像および通信を通じて連携するので、第１オブジェクトおよび第２オブジェクトの連動性を高めることができる。
【００１０】
ここで、第１オブジェクトおよび第２オブジェクトは、共通のオブジェクトでもよく（つまり共通のオブジェクトが、第１表示手段では第１オブジェクトになり、第２表示手段では第２オブジェクトになる）、共通のオブジェクトの一部（たとえば頭および腕）および他の一部（たとえば胴体）でもよい。このように、第１オブジェクトおよび第２オブジェクトは、好ましくは互いに関連したオブジェクトであるが、互いに独立したオブジェクトでもよい。
【００１１】
たとえば、第１オブジェクトおよび第２オブジェクトが共通のオブジェクト（の一部および他の一部）である場合、オブジェクトが第１表示手段および第２表示手段の間を移動するように見せる（表示制御する）ことができる。ある実施例では、オブジェクトは、第１表示手段から第２表示手段の撮像画像上に飛び出したり、そこから第１表示手段に戻ったりする。一変形例では、オブジェクトは、第１表示手段および第２表示手段の撮像画像上に同時に登場し、そこから同時に退場する。
【００１２】
なお、マーカ画像は、常時表示するのが好ましいが、適時表示してもよい。マーカ画像は、ある実施例では常時表示されるが、一変形例では適時表示される。
【００１３】
また、合成は、ある実施例では重畳表示であるが、撮像画像自体を変化させるのでもよい。
【００１６】
第２の発明は、第１の発明に従属する画像処理システムであって、第２オブジェクト表示制御手段において、撮像画像内でマーカ画像を認識した際に、第１表示手段に対して、第１オブジェクト画像が消えるように制御を行う。
【００１７】
第２の発明によれば、第１表示手段から第１オブジェクト画像が消えるのに伴って、第２表示手段の撮像画像内に第２オブジェクト画像が出現するようにできる。
【００１８】
第３の発明は、第１の発明に従属する画像処理システムであって、第２オブジェクト表示制御手段は、撮像画像内でマーカ画像を認識した際に、撮像画像内に第２オブジェクト画像の少なくとも一部を合成し、第１オブジェクト表示制御手段は、第２オブジェクト表示制御手段において、撮像画像内でマーカ画像を認識した際に、第１表示手段に対して、第１オブジェクト画像が表示されるように制御を行う。
【００１９】
第３の発明によれば、第２表示手段の撮像画像内に第２オブジェクト画像が出現するのに伴って、第１表示手段にも第１オブジェクト画像が出現するようにできる。
【００２０】
第４の発明は、第１の発明に従属する画像処理システムであって、マーカ画像には識別情報が含まれ、第１オブジェクト画像および第２オブジェクト画像は、それぞれマーカ画像に含まれる識別情報に対応した画像である。
【００２１】
第４の発明によれば、マーカ画像に含まれる識別情報を通じて、多様な第１オブジェクト画像および第２オブジェクト画像を表示させることができる。
【００２２】
第５の発明は、第１の発明に従属する画像処理システムであって、第１表示処理手段は、複数のマーカ画像を第１表示手段に表示する。
【００２３】
第５の発明によれば、複数のマーカ画像を表示することで、認識可能範囲を広げることができる。
【００２４】
第６の発明は、第５の発明に従属する画像処理システムであって、第１表示処理手段は、４つのマーカ画像を第１表示手段の四隅に表示する。
【００２５】
第６の発明によれば、第１表示手段の視認性をできるだけ維持しながら、認識可能範囲を広げることができる。
【００２６】
第７の発明は、第５または第６の発明に従属する画像処理システムであって、第１オブジェクト表示制御手段は、複数のマーカ画像に囲まれた所定の位置に対して、第１オブジェクト画像が表示されるように制御を行い、第２オブジェクト表示制御手段は、撮像画像内で複数のマーカ画像の少なくも一つを認識することにより、撮像画像内で認識された複数のマーカ画像に囲まれた位置に対して、第２オブジェクト画像の合成の制御を行う。
【００２７】
第７の発明によれば、第１表示手段および第２表示手段の各々で、マーカに囲まれた所定の位置にオブジェクト画像を表示できる。
【００２８】
第８の発明は、第１の発明に従属する画像処理システムであって、第２オブジェクト表示制御手段は、撮像画像中のマーカ画像に対してＡＲ認識することにより、撮像画像中のマーカ画像の位置および姿勢に応じた位置および姿勢で第２オブジェクトの合成の制御を行う。
【００２９】
第８の発明によれば、ＡＲ認識を通じて第２オブジェクトの合成制御を精度よく行うことができる。
【００３０】
第９の発明は、第８の発明に従属する画像処理システムであって、第２オブジェクト表示制御手段は、撮像画像中のマーカ画像を認識することにより、第１表示手段上のマーカ画像と、撮像手段との位置および姿勢の相対関係を算出する位置姿勢算出手段、仮想空間に第２オブジェクトを配置するとともに、当該第２オブジェクトと仮想カメラとの位置および姿勢の相対関係が、位置姿勢算出手段によって算出された位置および姿勢と同じなるように、当該仮想カメラの位置および姿勢を決定する仮想カメラ設定手段、および仮想カメラで第２オブジェクトを含む仮想空間を撮影する仮想空間撮影手段を含み、撮像画像と仮想空間撮影手段で撮影した仮想空間との合成の制御を行う。
【００３１】
第９の発明によれば、第１表示手段上のマーカ画像と、撮像手段との位置および姿勢の相対関係を算出して、仮想空間に第２オブジェクトを配置するとともに、当該第２オブジェクトと仮想カメラとの位置および姿勢の相対関係が、位置姿勢算出手段によって算出された位置および姿勢と同じなるように、当該仮想カメラの位置および姿勢を決定するので、第２オブジェクトを高い精度で合成できる。
【００３２】
第１０の発明は、第１の発明に従属する画像処理システムであって、第２画像処理装置は、撮像処理手段で撮像した撮像画像を第２表示手段に表示する第２表示処理手段をさらに備え、第２オブジェクト表示制御手段は、第２表示手段で表示されている撮像画像に対して、第２オブジェクトの合成の制御を行う。
【００３３】
第１０の発明によれば、第２オブジェクトの撮像画像への合成が行える。
【００３４】
第１１の発明は、第１表示手段を利用する第１画像処理装置と、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とを含む、画像処理システムであって、第１画像処理装置は、所定のマーカ画像を第１表示手段に表示する第１表示処理手段、および第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、第２画像処理装置は、撮像手段で撮像を行う撮像処理手段、撮像画像内でマーカ画像を認識することにより、第２表示手段上で視認可能な現実空間に対して、撮像画像内のマーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段、およびマーカ画像の認識結果に基づいて、第１画像処理装置に対して第１信号を送信する第１信号送信手段を備え、第１画像処理装置はさらに、第１信号送信手段で送信された第１信号を受信する第１信号受信手段を備え、第１オブジェクト表示制御手段は、第１信号受信手段で受信された第１信号に基づいて、第１オブジェクトの表示を制御する。
【００３５】
第１１の発明によれば、第１表示手段に所定のマーカ画像を表示することで、第２画像処理装置に対して、第２表示手段の撮像画像への第２オブジェクトの表示制御を行わせ、一方、第２画像処理装置は、マーカ画像に基づいて表示制御を行う際に第１信号を送信することで、第１画像処理装置に対して、第１表示手段への第１オブジェクトの表示制御を行わせるので、第１画像処理装置および第２画像処理装置がマーカ画像および第１信号を通じて連携して、第１表示手段および第２表示手段の撮像画像の間で第１オブジェクトおよび第２オブジェクトを連動させることが可能となる。なお、第１信号は、好ましくは、マーカ画像が含まれると判定された判定結果（ＹＥＳ）を示す判定結果信号であり、繰り返し送信されるが、判定結果がＮＯからＹＥＳに変化したタイミングを示すタイミング信号などでもよく、単発的に送信されてよい。
【００３６】
第１２の発明は、第１１の発明に従属する画像処理システムであって、第１画像処理装置は、第１信号受信手段で第１信号が受信された場合に、第２画像処理装置に対して第２信号を送信する第２信号送信手段をさらに備え、第２画像処理装置は、第２信号を受信する第２信号受信手段をさらに備え、第２オブジェクト表示制御手段は、第２信号受信手段で受信された第２信号に基づいて表示制御を行う。
【００３７】
第１２の発明では、第２画像処理装置は、第１信号を受信した場合に第１画像処理装置に第２信号を送信し、第１処理装置は、第２信号に基づいて表示制御を行う。
【００３８】
第１２の発明によれば、第１画像処理装置および第２画像処理装置は、マーカ画像および第１信号に加えて第２信号を通じて連携するので、第１オブジェクトおよび第２オブジェクトの連動性を高めることができる。
【００３９】
なお、第２信号は、好ましくは表示制御の内容およびタイミングを示す制御信号であるが、単に表示制御のタイミングを示すタイミング信号でもよいし、第１信号が受信されたことを確認する確認信号（たとえばＡＣＫ）でもよい。また、第２信号は、好ましくは繰り返し送信されるが、単発的に送信されてもよい。
【００４０】
第１３の発明は、第１２の発明に従属する画像処理システムであって、第２信号送信手段は、第１信号受信手段で第１信号を受信されてから第１所定時間が経過した後に、第２画像処理装置に対して第２信号を送信する。
【００４１】
第１３の発明によれば、第１制御装置は、第１信号の受信からの経過時間に基づいて第２信号の送信を行うので、第２オブジェクトの合成に関し能動的な制御が可能となる。
【００４２】
なお、第１画像処理装置による第２信号の送信は、第１制御装置からのコマンドに基づいて受動的に行われてもよい。
【００４３】
第１４の発明は、第１２または第１３の発明に従属する画像処理システムであって、第１オブジェクト表示制御手段は、第２信号送信手段で第２信号を送信された後に表示制御を行う。
【００４４】
第１４の発明によれば、第１画像処理装置は、第２信号の送信後に第１オブジェクトの表示制御を行うので、第２画像処理装置が第２信号に応じて第２オブジェクトの表示制御を行うことで、第１画像処理装置自身による表示制御を第２画像処理装置による表示制御と互いに同期させることが可能となる。たとえば、第１画像処理装置および第２画像処理装置の間で、表示制御の開始タイミングを一致させるのが容易になる。
【００４５】
第１５の発明は、第１３の発明に従属する画像処理システムであって、第１画像処理装置は、第１オブジェクト表示制御手段で表示制御が行われてから第２所定時間が経過した後に、第２画像処理装置に対して第３信号を送信する第３信号送信手段をさらに備え、第２画像処理装置は、第３信号を受信する第３信号受信手段をさらに備え、第２オブジェクト表示制御手段は、第３信号受信手段で第３信号を受信された後に、撮像画像から第２オブジェクトを削除する。
【００４６】
第１５の発明によれば、第１制御装置は、第１オブジェクトの表示制御が行われてからの経過時間に基づいて第３信号の送信を行うので、第２オブジェクトの合成さらには削除に関し能動的な制御が可能となる。
【００４７】
なお、第１画像処理装置による第３信号の送信もまた、第１制御装置からのコマンドに基づいて受動的に行われてもよい。
【００４８】
また、第３信号は、好ましくは表示制御の内容およびタイミングを示す制御信号であるが、単に表示制御のタイミングを示すタイミング信号でもよい。また、第３信号は、好ましくは繰り返し送信されるが、単発的に送信されてもよい。
【００４９】
第１６の発明は、第１５の発明に従属する画像処理システムであって、第１オブジェクト表示制御手段は、第３信号送信手段で第３信号を送信された後に、表示制御を行う前の状態にする。
【００５０】
第１６の発明によれば、第２表示手段で第２オブジェクトが削除されたとき、第１表示手段の撮像画像を元の状態つまり第１オブジェクトが合成される前の状態に戻すことができる。
【００５１】
第１７の発明は、第１１の発明に従属する画像処理システムであって、第１表示処理手段は、所定の識別情報と共に、第１オブジェクトの少なくとも一部を表示し、第１オブジェクト表示制御手段は、第１信号に基づいて、第１オブジェクトの少なくとも一部を消去する。
【００５２】
第１７の発明によれば、第１表示手段および第２表示手段の間でオブジェクトが移動したような表現が可能となる。
【００５３】
第１８の発明は、第１１の発明に従属する画像処理システムであって、第１オブジェクト表示制御手段は、第１信号に基づいて、第１オブジェクトの少なくとも一部を表示する。
【００５４】
第１８の発明によれば、第１表示手段および第２表示手段の間でオブジェクトが同時に登場／退場したような表現が可能となる。
【００５５】
第１９の発明は、第１表示手段を利用する第１画像処理装置と、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とを含む、画像処理システムであって、第１画像処理装置は、所定のマーカ画像を第１表示手段に表示する第１表示処理手段、および第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、第２画像処理装置は、撮像手段で撮像を行う撮像処理手段、および撮像画像内でマーカ画像を認識することにより、第２表示手段上で視認可能な現実空間に対して、撮像画像内のマーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段を備え、第１オブジェクト表示制御手段は、マーカ画像の大きさに基づいて、第１オブジェクトの大きさを変更する第１オブジェクト大きさ変更手段を含み、第２オブジェクト表示制御手段は、マーカ画像の大きさに基づいて、第２オブジェクトの大きさを変更する第２オブジェクト大きさ変更手段を含む。
【００５６】
第１９の発明によれば、マーカの大きさを通して、オブジェクトの大きさを制御することが可能となる。
【００５７】
第２０の発明は、第１表示手段を利用する第１画像処理装置と、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とを含む、画像処理システムであって、第１画像処理装置は、所定のマーカ画像を第１表示手段に表示する第１表示処理手段、および第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、第２画像処理装置は、撮像手段で撮像を行う撮像処理手段、および撮像画像内でマーカ画像を認識することにより、第２表示手段上で視認可能な現実空間に対して、撮像画像内のマーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段を備え、第１オブジェクト表示制御手段は、マーカ画像の形状に基づいて、第１オブジェクトの表示方向を変更する第１オブジェクト方向変更手段を含み、第２オブジェクト表示制御手段は、マーカ画像の形状に基づいて、第２オブジェクトの表示方向を変更する第２オブジェクト方向変更手段を含む。
【００５８】
第２０の発明によれば、マーカの形状を通して、オブジェクトの方向を制御することが可能となる。
【００５９】
第２１の発明は、第１１の発明に従属する画像処理システムであって、第１信号には座標情報が含まれ、第１オブジェクト表示制御手段は、第１信号に含まれる座標情報に基づいて、第１オブジェクトの少なくとも一部の表示の制御を行う。
【００６０】
第２１の発明によれば、第２画像処理装置が第１信号に座標情報を含めて送信することで、第１画像処理装置では、第２画像処理装置と連動した表示が可能となる。
【００６１】
第２２の発明は、第１０の発明に従属する画像処理システムであって、第２表示処理手段は、第２表示手段にマーカ画像と同一形状の枠を表示する枠表示手段を含み、第２オブジェクト表示制御手段は、マーカ画像が、枠表示手段で表示された枠に沿って表示されている状態で認識する。
【００６２】
第２２の発明によれば、第２表示手段にマーカ画像と同一形状の枠を表示して、マーカ画像が枠に沿って表示されている状態で認識を行うので、マーカ画像の位置に基づく方向検出さらには座標変換といった処理を行う必要がなくなり、処理負荷が軽減される。
【００６３】
第２３の発明は、第１表示手段を利用する第１画像処理装置と、第１画像処理装置と通信可能であって、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とで画像処理を行う、画像処理プログラムであって、第１画像処理装置のコンピュータを、所定のマーカ画像を第１表示手段に表示する第１表示処理手段、および第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段として機能させ、第２画像処理装置のコンピュータを、撮像手段で撮像を行う撮像処理手段、および撮像画像内でマーカ画像を認識することにより、第２表示手段上で視認可能な現実空間に対して、撮像画像内のマーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段として機能させ、第２オブジェクト表示制御手段は、撮像画像内でマーカ画像を認識した際に、撮像画像内に第２オブジェクト画像の少なくとも一部を合成し、第１オブジェクト表示制御手段は、第２オブジェクト表示制御手段において撮像画像内で前記マーカ画像を認識した際に、第１表示手段に対して、前記第１オブジェクト画像の表示を制御する。
【００６４】
第２４の発明は、第１表示手段を利用するとともに、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置と通信可能な、第１画像処理装置であって、所定のマーカ画像を第１表示手段に表示する第１表示処理手段、および第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段を備え、第２画像処理装置には、撮像手段で撮像を行う撮像処理手段、および撮像画像内でマーカ画像を認識することにより、第２表示手段上で視認可能な現実空間に対して、撮像画像内のマーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段が備えられ、第２オブジェクト表示制御手段は、撮像画像内でマーカ画像を認識した際に、撮像画像内に第２オブジェクト画像の少なくとも一部を合成し、第１オブジェクト表示制御手段は、第２オブジェクト表示制御手段において撮像画像内でマーカ画像を認識した際に、第１表示手段に対して、第１オブジェクト画像の表示を制御する。
【００６５】
第２５の発明は、第１表示手段を利用する第１画像処理装置と通信可能であり、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する、第２画像処理装置であって、第１画像処理装置には、所定のマーカ画像を第１表示手段に表示する第１表示処理手段、および第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御手段が備えられ、撮像手段で撮像を行う撮像処理手段、および撮像画像内でマーカ画像を認識することにより、第２表示手段上で視認可能な現実空間に対して、撮像画像内のマーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御手段を備え、第２オブジェクト表示制御手段は、撮像画像内でマーカ画像を認識した際に、撮像画像内に第２オブジェクト画像の少なくとも一部を合成し、第１オブジェクト表示制御手段は、第２オブジェクト表示制御手段において撮像画像内でマーカ画像を認識した際に、第１表示手段に対して、第１オブジェクト画像の表示を制御する。
【００６６】
第２６の発明は、第１表示手段を利用する第１画像処理装置と、第１画像処理装置と通信可能であって、撮像手段および画面上に現実空間を視認可能な第２表示手段を利用する第２画像処理装置とで行う、画像処理方法であって、第１画像処理装置のコンピュータで行う、所定のマーカ画像を第１表示手段に表示する第１表示処理ステップ、および第１表示手段に対して、所定のＣＧオブジェクトである第１オブジェクト画像の少なくとも一部の表示の制御を行う第１オブジェクト表示制御ステップ、ならびに第２画像処理装置のコンピュータで行う、撮像手段で撮像を行う撮像処理ステップ、および撮像画像内でマーカ画像を認識することにより、第２表示手段上で視認可能な現実空間に対して、撮像画像内のマーカ画像を基準とした位置に、所定のＣＧオブジェクトである第２オブジェクト画像の少なくとも一部の合成の制御を行う第２オブジェクト表示制御ステップを含み、第２オブジェクト表示ステップでは、撮像画像内でマーカ画像を認識した際に、撮像画像内に第２オブジェクト画像の少なくとも一部を合成し、第１オブジェクト表示ステップでは、第２オブジェクト表示制御ステップにおいて撮像画像内でマーカ画像を認識した際に、第１表示手段に対して、第１オブジェクト画像の表示を制御する。
【００６７】
第２３ないし第２６の発明でも、第１の発明と同様に、第１画像処理装置および第２画像処理装置がマーカ画像を通じて連携して、第１表示手段および第２表示手段の撮像画像の間で第１オブジェクトおよび第２オブジェクトを連動させることが可能となる。
【発明の効果】
【００６８】
この発明によれば、第１画像処理装置および第２画像処理装置が連携して、第１表示手段および第２表示手段の撮像画像の間で第１オブジェクトおよび第２オブジェクトを連動させることができる、画像処理システム、画像処理プログラムおよび画像処理方法、ならびに、そのような第１画像処理装置および第２画像処理装置が実現される。
【００６９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００７０】
【図１】この発明のゲームシステムの一実施例を示す図解図である。
【図２】ゲームシステムの電気的な構成を示すブロック図である。
【図３】第１コントローラの外観を説明するための図解図である。
【図４】第２コントローラの外観を説明するための図解図である。
【図５】コントローラ（第１コントローラおよび第２コントローラを互いに接続したもの）の電気的な構成を示すブロック図である。
【図６】コントローラを用いて仮想ゲームをプレイするときの状態を概説するための図解図である。
【図７】マーカおよびコントローラの視野角を説明するための図解図である。
【図８】コントローラによる撮像画像の一例を示す図解図である。
【図９】携帯ゲーム装置の外観図であり、開状態における正面を示す。
【図１０】携帯ゲーム装置の外観図であり、開状態における側面を示す。
【図１１】携帯ゲーム装置の外観図であり、図１１（Ａ）は閉状態における一方側面を、図１１（Ｂ）は閉状態における上面を、図１１（Ｃ）は閉状態における他方側面を、そして図１１（Ｄ）は閉状態における下面をそれぞれ示す。
【図１２】携帯ゲーム装置がユーザによって把持された様子を示す図解図である。
【図１３】携帯ゲーム装置の電気的構成の一例を示すブロック図である。
【図１４】「飛び出す」仮想ゲームをプレイするときの状態を概説するための図解図である。
【図１５】メモリマップの一部を示す図解図であり、図１５（Ａ）が据え置き側のメモリマップを示し、図１５（Ｂ）が携帯側のメモリマップを示す。
【図１６】ＣＰＵ動作の一部を示すフロー図であり、図１６（Ａ）が据え置き側のＣＰＵ動作を示し、図１６（Ｂ）が携帯側のＣＰＵ動作を示す。
【図１７】据え置き側のＣＰＵ動作の他の一部を示すフロー図である。
【図１８】携帯側のＣＰＵ動作の他の一部を示すフロー図である。
【図１９】携帯側のＣＰＵ動作のその他の一部を示すフロー図である。
【図２０】パターン保存時の表示制御を説明するための図解図であり、図２０（Ａ）がモニタ画面を示し、図２０（Ｂ）がＬＣＤ画面を示す。
【図２１】パターン保存時のサイズ変換を説明するための図解図である。
【図２２】ゲームプレイ時の表示制御の一部を説明するための図解図であり、図２２（Ａ）がモニタ画面を示し、図２２（Ｂ）がＬＣＤ画面を示す。
【図２３】図２２に続く図解図であり、図２３（Ａ）がモニタ画面を示し、図２３（Ｂ）がＬＣＤ画面を示す。
【図２４】図２３に続く図解図であり、図２４（Ａ）がモニタ画面を示し、図２４（Ｂ）がＬＣＤ画面を示す。
【図２５】図２４に続く図解図であり、図２５（Ａ）がモニタ画面を示し、図２５（Ｂ）がＬＣＤ画面を示す。
【図２６】ゲームプレイ時の表示制御の他の一部を説明するための図解図であり、図２６（Ａ）がモニタ画面とＬＣＤ画面との間の位置関係の変化を示し、図２６（Ｂ）が変化後のＬＣＤ画面を示す。
【図２７】第１変形例における据え置き側のＣＰＵ動作の一部を示すフロー図である。
【図２８】第１変形例における携帯側のＣＰＵ動作の一部を示すフロー図である。
【図２９】第１変形例における表示制御を説明するための図解図であり、図２９（Ａ）がモニタ画面を示し、図２９（Ｂ）がＬＣＤ画面を示す。
【図３０】図２９に続く図解図であり、図３０（Ａ）がモニタ画面を示し、図３０（Ｂ）がＬＣＤ画面を示す。
【図３１】第２変形例におけるＣＰＵ動作の一部を示すフロー図であり、図３１（Ａ）が据え置き側のＣＰＵ動作を示し、図３１（Ｂ）が携帯側のＣＰＵ動作を示す。
【図３２】第２変形例における表示制御を説明するための図解図であり、図３２（Ａ）がモニタ画面を示し、図３２（Ｂ）がＬＣＤ画面を示す。
【図３３】図３２に続く図解図であり、図３３（Ａ）がモニタ画面を示し、図３３（Ｂ）がＬＣＤ画面を示す。
【発明を実施するための形態】
【００７１】
図１を参照して、この発明の一実施例であるゲームシステム１０は、ゲーム装置１２（据え置き型のゲーム装置）およびコントローラ１４を含む。図示は省略するが、この実施例のゲーム装置１２は、最大４つのコントローラ１４と通信可能に設計されている。また、ゲーム装置１２と各コントローラ１４とは、無線によって接続される。たとえば、無線通信は、ＭＰ(Multilink Protocol)またはＢｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
【００７２】
ゲーム装置１２は、略直方体のハウジング１６を含み、ハウジング１６の前面にはディスクスロット１８が設けられる。ディスクスロット１８から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク２４が挿入されて、ハウジング１６内のディスクドライブ５４（図２参照）に装着される。図示は省略するが、ディスクスロット１８の周囲には、ＬＥＤと導光板とが配置され、様々な処理に応答させて、ディスクスロット１８を点灯または点滅させることが可能である。
【００７３】
また、ゲーム装置１２のハウジング１６の前面の上部には、電源ボタン２０ａおよびリセットボタン２０ｂが設けられ、その下部には、イジェクトボタン２０ｃが設けられる。さらに、リセットボタン２０ｂとイジェクトボタン２０ｃとの間であり、ディスクスロット１８の近傍には、外部メモリカード用コネクタカバー２２が設けられる。この外部メモリカード用コネクタカバー２２の内側には、外部メモリカード用コネクタ６２（図２参照）が設けられ、外部メモリカード３８（以下、単に「メモリカード３８」という。）が挿入される。メモリカード３８は、光ディスク２４から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ、あるいは後述するリプレイデータ）を保存（セーブ）しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカード３８に対して行うことに代えて、たとえばゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）のような内部メモリに対して行うようにしてもよい。また、メモリカード３８は、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置１２では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカード３８には当該他のアプリケーションのデータを保存することができる。
【００７４】
なお、メモリカード３８としては、汎用のＳＤカードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。メモリカード３８は、ゲーム装置１２と同様の構成を有する他のゲーム装置１２Ａでも利用することができるので、ゲームデータをメモリカード３８を介して他のプレイヤに提供することもできる。
【００７５】
図１では省略するが、ゲーム装置１２のハウジング１６の後面には、ＡＶコネクタ５８（図２参照）が設けられ、そのＡＶコネクタ５８を用いて、ＡＶケーブル２６を通してゲーム装置１２にモニタ２８およびスピーカ３０を接続する。このモニタ２８およびスピーカ３０は典型的にはカラーテレビジョン受像機であり、ＡＶケーブル２６によって、ゲーム装置１２からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置１２からの音声信号が音声入力端子に入力される。したがって、カラーテレビ（モニタ）２８の画面上にたとえば３次元（３Ｄ）ビデオゲームの仮想３次元ゲーム画像が表示され、左右のスピーカ３０からゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ２８の周辺（この実施例では、モニタ２８の上側）には、２つの赤外ＬＥＤ（マーカ）３２Ａおよび３２Ｂを備えるマーカ部３２が設けられる。このマーカ部３２は、電源線３２ｃを通してゲーム装置１２に接続される。したがって、マーカ部３２には、ゲーム装置１２から電源が供給される。これによって、マーカ３２Ａおよび３２Ｂは発光し、それぞれモニタ２８の前方に向けて赤外光を出力する。
【００７６】
なお、ゲーム装置１２の電源は、一般的なＡＣアダプタ（図示せず）によって与えられる。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置１２は、家庭用電源（商用電源）を、駆動に適した低いＤＣ電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【００７７】
コントローラ１４は、詳細は後述されるが、第１の操作ユニットおよび第２の操作ユニットとして、それぞれが片手で把持可能な第１コントローラ３４および第２コントローラ３６を含む。第２コントローラ３６の後端から延びるケーブル３６ａの先端にはコネクタ３６ｂが設けられており、当該コネクタ３６ｂは、第１コントローラ３４の後端面に設けられるコネクタ３４ａ（図３、図５）に接続される。第２コントローラ３６において取得される入力データは、ケーブル３６ａを介して第１コントローラ３４に与えられる。第１コントローラ３４は、第１コントローラ３４自身の入力データと第２コントローラ３６の入力データとを含むコントローラデータをゲーム装置１２に送信する。
【００７８】
このゲームシステム１０において、ユーザまたはプレイヤがゲーム（またはゲームに限らず、他のアプリケーション）をプレイするために、ユーザは電源スイッチ２０ａによってまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）のプログラムを記録している適宜の光ディスク２４を選択し、その光ディスク２４をゲーム装置１２のディスクドライブ５４にローディングする。応じて、ゲーム装置１２がその光ディスク２４に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始める。ユーザはゲーム装置１２に入力を与えるためにコントローラ１４を操作する。たとえば操作部８２のどれかの操作ボタンを操作することによって、ゲームもしくは他のアプリケーションをスタートさせる。また、操作部８２に対する操作以外にも、コントローラ１４自体を動かすことによって、動画オブジェクト（プレイヤオブジェクト）を異なる方向に移動させ、または３Ｄのゲーム世界におけるユーザの視点（仮想カメラの位置）を変化させることができる。
【００７９】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置１２の内部メモリ（フラッシュメモリ４４（図２参照））に記憶（インストール）しておき、当該内部メモリから実行するようにしてもよい。かかる場合には，光ディスク２４のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
【００８０】
図２は図１実施例のゲームシステム１０の電気的な構成を示すブロック図である。図示は省略するが、ハウジング１６内の各コンポーネントは、プリント基板に実装される。図２に示すように、ゲーム装置１２には、ＣＰＵ４０が設けられ、ゲームプロセッサとして機能する。また、ＣＰＵ４０には、システムＬＳＩ４２が接続される。このシステムＬＳＩ４２には、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８、ディスクドライブ５４およびＡＶ  ＩＣ５６が接続される。
【００８１】
外部メインメモリ４６は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、ＣＰＵ４０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ４８は、いわゆるブートＲＯＭであり、ゲーム装置１２の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ５４は、光ディスク２４からプログラムやテクスチャデータ等を読み出し、ＣＰＵ４０の制御の下で、後述する内部メインメモリ４２ｅまたは外部メインメモリ４６に書き込む。
【００８２】
システムＬＳＩ４２には、入出力プロセッサ４２ａ、ＧＰＵ(Graphics Processor Unit)４２ｂ，ＤＳＰ(Digital Signal Processor)４２ｃ，ＶＲＡＭ４２ｄおよび内部メインメモリ４２ｅが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。入出力プロセッサ（Ｉ／Ｏプロセッサ）４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。ＧＰＵ４２ｂは、描画手段の一部を形成し、ＣＰＵ４０からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵ４０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ４２ｂに与える。
【００８３】
図示は省略するが、上述したように、ＧＰＵ４２ｂにはＶＲＡＭ４２ｄが接続される。ＧＰＵ４２ｂが作画命令を実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ４２ｂがＶＲＡＭ４２ｄにアクセスして取得する。ただし、ＣＰＵ４０は、描画に必要な画像データを、ＧＰＵ４２ｂを介してＶＲＡＭ４２ｄに書き込む。ＧＰＵ４２ｂは、ＶＲＡＭ４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００８４】
なお、この実施例では、ＧＰＵ４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、ＧＰＵ４２ｂは当該任意のアプリケーションについての画像データを生成する。
【００８５】
また、ＤＳＰ４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ４２ｅや外部メインメモリ４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ３０から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００８６】
上述のように生成されたゲーム画像データおよびオーディオデータは、ＡＶ  ＩＣ５６によって読み出され、ＡＶコネクタ５８を介してモニタ２８およびスピーカ３０に出力される。したがって、ゲーム画面がモニタ２８に表示され、ゲームに必要な音（音楽）がスピーカ３０から出力される。
【００８７】
また、入出力プロセッサ４２ａには、フラッシュメモリ４４、無線通信モジュール５０および無線コントローラモジュール５２が接続されるとともに、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。また、無線通信モジュール５０にはアンテナ５０ａが接続され、無線コントローラモジュール５２にはアンテナ５２ａが接続される。
【００８８】
入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワークに接続された他のゲーム装置やサーバ（いずれも図示せず）と通信することができる。入出力プロセッサ４２ａは、定期的にフラッシュメモリ４４にアクセスし、ネットワークへ送信する必要があるデータ（「送信データ」とする）の有無を検出し、当該送信データが有る場合には、無線通信モジュール５０およびアンテナ５０ａを介してネットワークに送信する。また、入出力プロセッサ４２ａは、他のゲーム装置から送信されるデータ（「受信データ」とする）を、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、当該受信データをフラッシュメモリ４４に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ４２ａは、ネットワークに接続されたサーバからダウンロードしたデータ（ダウンロードデータとする）をネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、そのダウンロードデータをフラッシュメモリ４４に記憶することもできる。
【００８９】
また、入出力プロセッサ４２ａは、コントローラ１４から送信される入力データをアンテナ５２ａおよび無線コントローラモジュール５２を介して受信し、内部メインメモリ４２ｅまたは外部メインメモリ４６のバッファ領域に記憶（一時記憶）する。入力データは、ＣＰＵ４０の処理（たとえば、ゲーム処理）によって利用された後、バッファ領域から消去される。
【００９０】
ただし、入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワークを通すことなく直接的に、同種の他のゲーム装置や、携帯型のゲーム装置１００（後述）と通信することも可能である。
【００９１】
さらに、入出力プロセッサ４２ａには、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。拡張コネクタ６０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ１４とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ６０に有線ＬＡＮアダプタを接続し、無線通信モジュール５０に代えて当該有線ＬＡＮを利用することもできる。メモリカード用コネクタ６２には、メモリカード３８のような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ４２ａは、拡張コネクタ６０やメモリカード用コネクタ６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００９２】
詳細な説明は省略するが、図１にも示したように、ゲーム装置１２（ハウジング１６）には、電源ボタン２０ａ，リセットボタン２０ｂおよびイジェクトボタン２０ｃが設けられる。電源ボタン２０ａは、システムＬＳＩ４２に接続される。この電源ボタン２０ａがオンされると、システムＬＳＩ４２には、ゲーム装置１２の各コンポーネントに図示しないＡＣアダプタを経て電源が供給され、通常の通電状態となるモード（「通常モード」と呼ぶこととする）が設定される。一方、電源ボタン２０ａがオフされると、システムＬＳＩ４２には、ゲーム装置１２の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード（以下、「スタンバイモード」という）が設定される。
【００９３】
この実施例では、スタンバイモードが設定された場合には、システムＬＳＩ４２は、入出力プロセッサ４２ａ、フラッシュメモリ４４、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８および無線通信モジュール５０、無線コントローラモジュール５２以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、ＣＰＵ４０がアプリケーションを実行することはない。
【００９４】
リセットボタン２０ｂもまた、システムＬＳＩ４２に接続される。リセットボタン２０ｂが押されると、システムＬＳＩ４２は、ゲーム装置１２の起動プログラムを再起動する。イジェクトボタン２０ｃは、ディスクドライブ５４に接続される。イジェクトボタン２０ｃが押されると、ディスクドライブ５４から光ディスク２４が排出される。
【００９５】
図３には第１コントローラ３４の外観の一例が示される。図３（Ａ）は、第１コントローラ３４を上面後方から見た斜視図であり、図３（Ｂ）は、第１コントローラ３４を下面前方から見た斜視図である。第１コントローラ３４は、たとえばプラスチック成型によって形成されたハウジング８０を有している。ハウジング８０は、その前後方向（図３に示すＺ軸方向）を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。一例として、ハウジング８０は人間の掌とほぼ同じ長さまたは幅を持つ大きさをしている。プレイヤは、第１コントローラ３４を用いて、それに設けられたボタンを押下することと、第１コントローラ３４自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【００９６】
ハウジング８０には、複数の操作ボタン（操作キー）が設けられる。すなわち、ハウジング８０の上面には、十字キー８２ａ、１ボタン８２ｂ、２ボタン８２ｃ、Ａボタン８２ｄ、−ボタン８２ｅ、メニューボタン８２ｆ、および＋ボタン８２ｇが設けられる。一方、ハウジング８０の下面には凹部が形成されており、当該凹部の後方側傾斜面にはＢボタン８２ｈが設けられる。これら各ボタン（スイッチ）８２ａ−８２ｈには、ゲーム装置１２が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。また、ハウジング８０の上面には、遠隔からゲーム装置１２本体の電源をオン／オフするための電源スイッチ８２ｉが設けられる。第１コントローラ３４に設けられる各ボタン（スイッチ）は、包括的に参照符号８２を用いて示されることもある。
【００９７】
また、ハウジング８０の後面には、上述のコネクタ３４ａが設けられている。コネクタ３４ａは、たとえば３２ピンのエッジコネクタであり、第１コントローラ３４に他の機器を接続するために利用される。この実施例では、コネクタ３４ａには第２コントローラ３６のコネクタ３６ｂが接続される。また、ハウジング８０上面の後端側には複数のＬＥＤ８４が設けられ、この複数のＬＥＤ８４によって当該コントローラ１４のコントローラ番号（コントローラの識別番号）が示される。ゲーム装置１２には、たとえば最大４つのコントローラ１４が接続可能であり、ゲーム装置１２に複数のコントローラ１４が接続される場合には、各コントローラ１４には、たとえば接続順にコントローラ番号が付与される。各ＬＥＤ８４はコントローラ番号と対応付けられており、当該コントローラ番号に対応するＬＥＤ８４が点灯される。
【００９８】
また、第１コントローラ３４のハウジング８０内には加速度センサ８６（図５）が設けられている。加速度センサ８６としては、典型的には静電容量式の加速度センサが用いられ得る。加速度センサ８６は、当該加速度センサの検出部に加わっている加速度のうち、センシング軸ごとの直線成分の加速度や重力加速度を検出する。具体的には、この実施例では、３軸加速度センサが適用され、第１コントローラ３４の上下方向（図３に示すＹ軸方向）、左右方向（図３に示すＸ軸方向）および前後方向（図３に示すＺ軸方向）の３軸方向のそれぞれで加速度を検知する。
【００９９】
なお、加速度センサ８６としては、ハウジング８０の形状または第１コントローラ３４の持たせ方の限定等に応じて、上下方向、左右方向および前後方向のうちいずれか２方向の加速度を検出する２軸加速度センサが用いられてもよい。場合によっては１軸加速度センサが用いられてもよい。
【０１００】
さらに、コントローラ２２は、撮像情報演算部８８（図５参照）を有している。図３（Ｂ）に示すように、ハウジング８０の先端面には撮像情報演算部８８の光入射口９０が設けられ、光入射口９０からはセンサバー４４のマーカ４４ｍ、４４ｎの発する赤外線が取り込まれる。
【０１０１】
図４には第２コントローラ３６の外観の一例が示される。図４（Ａ）は、第２コントローラ３６を上面後方から見た斜視図であり、図４（Ｂ）は、第２コントローラ３６を下面前方から見た斜視図である。なお、図４では、第２コントローラ３６のケーブル３６ａは省略されている。
【０１０２】
第２コントローラ３６は、たとえばプラスチック成型によって形成されたハウジング９２を有している。ハウジング９２は、平面視では、前後方向（図４のＺ軸方向）に略細長い楕円形状を有し、後端側の左右方向（図４のＸ軸方向）の幅が先端側のそれよりも狭くされている。また、ハウジング９２は、側面視では、全体として湾曲した形状を有しており、先端側の水平部分から後端側に向かって下がるように湾曲している。ハウジング９２は、第１コントローラ３４と同様に、全体として大人や子供の片手で把持可能な大きさであるが、長手方向（Ｚ軸方向）の長さは、第１コントローラ３４のハウジング８０よりもやや短くされている。この第２コントローラ３６でも、プレイヤは、ボタンやスティックを操作することと、コントローラ自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【０１０３】
ハウジング９２の上面の先端側には、アナログジョイスティック９４ａが設けられる。ハウジング９２の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向（図４に示すＹ軸方向）に並べて、Ｃボタン９４ｂおよびＺボタン９４ｃが設けられる。アナログジョイスティック９４ａおよび各ボタン９４ｂ，９４ｃには、ゲーム装置１２が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。第２コントローラ３６に設けられるアナログジョイスティック９４ａおよび各ボタン９４ｂ，９４ｃは、包括的に参照符号９４を用いて示されることもある。
【０１０４】
また、第２コントローラ３６のハウジング９２内には加速度センサ９６（図５）が設けられている。この加速度センサ９６としては、第１コントローラ３４の加速度センサ８６と同様の加速度センサが適用される。具体的には、この実施例では３軸加速度センサが適用され、第２コントローラ３６の上下方向（図４に示すＹ軸方向）、左右方向（図４に示すＸ軸方向）および前後方向（図４に示すＺ軸方向）の３軸方向のそれぞれで加速度を検知する。
【０１０５】
なお、図３に示した第１コントローラ３４および図４に示した第２コントローラ３６の形状や、ボタン（スイッチまたはスティック等）の形状、数および設置位置等は一例であり、他の形状、数および設置位置等に適宜変更され得る。
【０１０６】
また、コントローラ１４の電源は、第１コントローラ３４内に取替可能に収容されるバッテリ（図示せず）によって与えられる。第２コントローラ３６には、コネクタ３４ａ、コネクタ３６ｂおよびケーブル３６ａを介してこの電源が供給される。
【０１０７】
図５には、第１コントローラ３４と第２コントローラ３６とが接続されたときのコントローラ１４の電気的構成の一例が示される。第１コントローラ３４は、その内部に通信部９８を備え、通信部９８には、操作部８２、加速度センサ８６、撮像情報演算部８８およびコネクタ３４ａが接続される。操作部８２は、上述の操作ボタンないし操作スイッチ８２ａ‐８２ｉを示す。操作部８２が操作されると、その操作信号（キー情報）が通信部９８に与えられる。加速度センサ８６が検出した加速度を示すデータは、通信部９８へ出力される。加速度センサ８６は、たとえば最大２００フレーム／秒程度のサンプリング周期を有する。
【０１０８】
撮像情報演算部８８が取得したデータもまた通信部９８に出力される。撮像情報演算部８８は、赤外線フィルタ１００、レンズ１０２、撮像素子１０４および画像処理回路１０６によって構成される。赤外線フィルタ１００は、第１コントローラ３４の前方の光入射口９０から入射する光から赤外線のみを通過させる。上述したように、モニタ３０の表示面近傍（周辺）に配置されるセンサバー４４のマーカ４４ｍおよび４４ｎは、モニタ３０の前方に向かって赤外光を出力する赤外ＬＥＤである。したがって、赤外線フィルタ１００を設けることによってマーカ４４ｍおよび４４ｎの画像をより正確に撮像することができる。レンズ１０２は、赤外線フィルタ１００を透過した赤外線を集光して撮像素子１０４へ出射する。撮像素子１０４は、たとえばＣＭＯＳセンサあるいはＣＣＤのような固体撮像素子であり、レンズ１０２によって集光された赤外線を撮像する。したがって、撮像素子１０４は、赤外線フィルタ１００を通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子１０４によって撮像された画像を撮像画像と呼ぶ。撮像素子１０４によって生成された画像データは、画像処理回路１０６で処理される。画像処理回路１０６は、撮像画像内における撮像対象（マーカ４４ｍおよび４４ｎ）の位置を算出し、所定時間（たとえば１フレーム）毎に、当該位置を示す各座標値を含むマーカ座標データを通信部９８に出力する。なお、画像処理回路１０６における処理については後述する。
【０１０９】
コネクタ３４ａには、第２コントローラ３６から延びるケーブル３６ａのコネクタ３６ｂが接続される。コネクタ３６ｂには、第２コントローラ３６の操作部９４および加速度センサ９６が接続される。操作部９４は、上述のアナログジョイスティック９４ａおよび操作ボタン９４ｂ、９４ｃを示す。操作部９４が操作されると、その操作信号がケーブル３６ａ、コネクタ３６ｂおよびコネクタ３４ａ等を介して通信部９８に与えられる。また、加速度センサ９６も、加速度センサ８６と同様のサンプリング周期を有しており、検出された加速度を示すデータを通信部９８に与える。
【０１１０】
通信部９８は、マイクロコンピュータ（マイコン）１０８、メモリ１１０、無線モジュール７８およびアンテナ１１２を含む。マイコン１０８は、処理の際にメモリ１１０を記憶領域（作業領域やバッファ領域）として用いながら、無線モジュール７８を制御して、取得したデータをゲーム装置１２に送信したりゲーム装置１２からのデータを受信したりする。
【０１１１】
第１コントローラ３４の操作部８２、加速度センサ８６および撮像情報演算部８８ならびに第２コントローラ３６の操作部９４および加速度センサ９６からマイコン１０８へ出力されたデータは、一時的にメモリ１１０に格納される。通信部９８からゲーム装置１２のＢｌｕｅｔｏｏｔｈ通信ユニット７６への無線送信は所定の周期毎に行われる。なお、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、第１コントローラ３４からの送信はそれと同等かそれより短い周期で行うことが必要となる。マイコン１０８は、ゲーム装置１２への送信タイミングが到来すると、メモリ１１０に格納されている操作部８２および９４の操作データ、加速度センサ８６および９６の加速度データならびに撮像情報演算部８８のマーカ座標データを含むデータを、コントローラデータとして無線モジュール７８へ出力する。無線モジュール７８は、Ｂｌｕｅｔｏｏｔｈのような近距離無線通信技術を用いて、所定周波数の搬送波をコントローラデータで変調し、その微弱電波信号をアンテナ１１２から放射する。つまり、コントローラデータは、無線モジュール７８で微弱電波信号に変調されて第１コントローラ３４から送信される。微弱電波信号はゲーム装置１２側のＢｌｕｅｔｏｏｔｈ通信ユニット７６で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置１２はコントローラデータを取得することができる。ゲーム装置１２のＣＰＵ４６は、コントローラ１４から取得したコントローラデータに基づいてゲーム処理を行う。
【０１１２】
なお、加速度センサ８６および９６から出力される加速度の信号に基づいて、ゲーム装置１２のプロセッサ（例えばＣＰＵ４６）またはコントローラ１４のプロセッサ（例えばマイコン１０８）などのコンピュータが処理を行うことによって、コントローラ１４に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ８６および９６を搭載する第１コントローラ３４および第２コントローラ３６が静的な状態であることを前提としてコンピュータ側で処理する場合（すなわち、加速度センサ８６および９６によって検出される加速度が重力加速度のみであるとして処理する場合）、第１コントローラ３４および第２コントローラ３６が現実に静的な状態であれば、検出された加速度に基づいて第１コントローラ３４および第２コントローラ３６の姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかをそれぞれ知ることができる。具体的には、加速度センサ８６および９６の検出軸が鉛直下方向を向いている状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かだけで、第１コントローラ３４および第２コントローラ３６がそれぞれ傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸加速度センサが適用される場合には、さらに各軸の加速度の信号に対して処理を施すことによって、第１コントローラ３４および第２コントローラ３６がそれぞれ重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ８６および９６からの出力に基づいて、コンピュータが第１コントローラ３４および第２コントローラ３６の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータを算出する処理を行うことなく、加速度センサ８６および９６からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ８６および９６をコンピュータと組み合わせて用いることによって、第１コントローラ３４および第２コントローラ３６の傾き、姿勢または位置を判定することができる。
【０１１３】
一方、加速度センサ８６および９６が動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサ８６および９６の動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ８６および９６を備える第１コントローラ３４および第２コントローラ３６がユーザの手で動的に加速されて動かされる場合に、加速度センサ８６および９６によって生成される加速度信号を上記コンピュータによって処理することによって、第１コントローラ３４および第２コントローラ３６のさまざまな動きおよび／または位置を算出することができる。なお、加速度センサ８６および９６が動的な状態であることを前提とする場合であっても、加速度センサ８６および９６の動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることが可能である。他の実施例では、加速度センサ８６および９６は、信号をマイコン１０８に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサ８６および９６が静的な加速度（例えば、重力加速度）を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【０１１４】
このゲームシステム１０では、ユーザがコントローラ１４を動かすことによってゲームに対する操作または入力を行うことができる。ゲームをプレイする際には、たとえば図６に示すように、ユーザは、その右手で第１コントローラ３４を持ち、その左手で第２コントローラ３６を持つ。上述のように、この実施例では、第１コントローラ３４には３軸方向の加速度を検出する加速度センサ８６が内蔵され、第２コントローラ３６にも同様の加速度センサ９６が内蔵されている。第１コントローラ３４および第２コントローラ３６がそれぞれユーザによって動かされると、加速度センサ８６および加速度センサ９６によって、それぞれのコントローラ自身の動きを示す加速度値が検出される。ゲーム装置１２では、当該検出された加速度値に応じてゲーム処理が実行され得る。
【０１１５】
また、第１コントローラ３４には撮像情報演算部８８が設けられるので、ユーザは第１コントローラ３４をポインティングデバイスとして使用して操作を行うことができる。この場合、ユーザは、第１コントローラ３４の先端面（光入射口９０）がマーカ４４ｍおよび４４ｎの方を向く状態で第１コントローラ３４を把持する。ただし、図１から分かるように、マーカ４４ｍおよび４４ｎは、モニタ３０の画面の所定の１辺（上辺または下辺）の近傍に、当該所定の１辺に対して平行に配置されている。この状態で、ユーザは、第１コントローラ３４自体を動かして、第１コントローラ３４が指示する画面上の位置を変更したり、第１コントローラ３４と各マーカ４４ｍおよび４４ｎとの距離を変更したりすることによって、ゲーム操作を行うことができる。
【０１１６】
図７は、マーカ４４ｍおよび４４ｎと第１コントローラ３４の視野角を説明するための図である。図７に示すように、マーカ４４ｍおよび４４ｎは、それぞれ、視野角αの範囲で赤外光を放射する。また、撮像情報演算部８８の撮像素子１０４は、第１コントローラ３４の視線方向（図３に示すＺ軸方向）を中心とした視野角βの範囲で入射する光を受光することができる。たとえば、マーカ４４ｍおよび４４ｎの視野角αは、共に３４°（半値角）であり、一方、撮像素子１０４の視野角βは４２°である。ユーザは、撮像素子１０４が２つのマーカ４４ｍおよび４４ｎからの赤外光を受光することが可能な位置および向きとなるように、第１コントローラ３４を把持する。具体的には、撮像素子１０４の視野角βの中に少なくとも一方のマーカ４４ｍまたは４４ｎが存在し、かつ、マーカ４４ｍおよび４４ｎの少なくとも一方の視野角αの中に第１コントローラ３４が存在する状態となるように、ユーザは第１コントローラ３４を把持する。この状態にあるとき、第１コントローラ３４は、マーカ４４ｍおよび４４ｎの少なくとも一方を検知することができる。ユーザは、この状態を満たす範囲で第１コントローラ３４の位置および向きを変化させることによってゲーム操作を行うことができる。なお、マーカ４４ｍおよび４４ｎのいずれか一方のみが検出される場合には、たとえば、直前の２つのマーカ４４ｍおよび４４ｎを検出したデータを利用して、検出されない他方のマーカの代わりに仮のマーカ座標を設定することによって、第１コントローラ３４の指示位置を算出することができる。
【０１１７】
なお、第１コントローラ３４の位置および向きがこの範囲外となった場合、第１コントローラ３４の位置および向きに基づいたゲーム操作を行うことができなくなる。したがって、上記範囲は「操作可能範囲」と呼ばれる。
【０１１８】
操作可能範囲内で第１コントローラ３４が把持される場合、撮像情報演算部８８によってマーカ４４ｍおよび４４ｎの画像が撮像される。すなわち、撮像素子１０４によって得られる撮像画像には、撮像対象であるマーカ４４ｍおよび４４ｎの画像（対象画像）が含まれる。図８は、対象画像を含む撮像画像の一例を示す図である。対象画像４４ｍ’および４４ｎ’を含む撮像画像の画像データを用いて、画像処理回路１０６は、各マーカ４４ｍおよび４４ｎの撮像画像における位置を表す座標（マーカ座標）を算出する。
【０１１９】
撮像画像の画像データにおいて対象画像４４ｍ’および４４ｎ’は高輝度部分として現れるため、画像処理回路１０６は、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路１０６は、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、２つの対象画像（マーカ画像）４４ｍ’および４４ｎ’だけではなく、窓からの太陽光や部屋の蛍光灯の光等のような他の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、マーカ４４ｍおよび４４ｎの画像４４ｍ’および４４ｎ’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。撮像画像における対象画像４４ｍ’および４４ｎ’と他の画像との区別のために、撮像対象４４ｍおよび４４ｎは既知のものである必要があり、この実施例ではその大きさが予め決められるので、マーカ画像４４ｍ’および４４ｎ’の大きさを予測することができる。したがって、高輝度部分の大きさに基づいて、マーカ画像４４ｍ’および４４ｎ’の判定を行うことができる。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【０１２０】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路１０６は当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子１０４の解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子１０４によって撮像された撮像画像の解像度が１２６×９６であるとし、重心位置は１０２４×７６８のスケールで算出されるものとする。つまり、マーカ座標は、（０，０）から（１０２４，７６８）までの整数値で表現される。
【０１２１】
なお、図８に示すように、撮像画像における位置は、撮像画像の左上を原点Ｏとし、下向きをＹ軸正方向とし、右向きをＸ軸正方向とする座標系（撮像画像のＸＹ座標系）で表現されるものとする。
【０１２２】
また、対象画像４４ｍ’および４４ｎ’が正しく検出される場合には、判定処理によって２つの高輝度部分が対象画像として判定されるので、２箇所のマーカ座標が算出される。画像処理回路１０６は、算出された２箇所のマーカ座標を示すデータ、つまり、撮像対象の位置を示す撮像対象データを通信部９８に出力する。出力された撮像対象データ（マーカ座標データ）は、上述したように、マイコン１０８によってコントローラデータに含められて、ゲーム装置１２に送信される。
【０１２３】
ゲーム装置１２（ＣＰＵ４６）は、受信したコントローラデータからマーカ座標データを取得すると、このマーカ座標データに基づいて、モニタ３０の画面上における第１コントローラ３４の指示位置（指示座標）と、第１コントローラ３４からマーカ４４ｍおよび４４ｎまでの各距離とを算出することができる。なお、たとえば、第１コントローラ３４がモニタ３０の画面の左端を指示するとき、対象画像４４ｍ’および４４ｎ’は撮像画像の右側に検出され、第１コントローラ３４が画面の下端を指示するとき、対象画像４４ｍ’および４４ｎ’は撮像画像の上側に検出され、つまり、画面上の第１コントローラ３４の指示位置と逆側に撮像画像上のマーカ座標が検出される。したがって、第１コントローラ３４の指示位置の座標をマーカ座標から算出する際には、座標系が図８の撮像画像の座標系から画面上の位置を表すための座標系に適宜に変換される。
【０１２４】
なお、この実施例では、第１コントローラ３４で撮像データに所定の演算処理を行ってマーカ座標を検出して、そのマーカ座標データをゲーム装置１２に送信するようにしている。しかし、他の実施例では、撮像データをコントローラデータとして第１コントローラ３４からゲーム装置１２に送信し、ゲーム装置１２のＣＰＵ４６が撮像データに所定の演算処理を行って、マーカ座標および指示位置の座標を検出するようにしてもよい。
【０１２５】
また、撮像画像における対象画像間の距離は、第１コントローラ３４と、マーカ４４ｍおよび４４ｎとの距離に応じて変化する。マーカ４４ｍおよび４４ｎ間の距離、撮像画像の幅、撮像素子１０４の視野角βが予め決まっているので、２つのマーカ座標間の距離を算出することによって、ゲーム装置１２は第１コントローラ３４とマーカ４４ｍおよび４４ｎとの間の現在の距離を算出することができる。
【０１２６】
以上のように、ゲームシステム１０では通常、プレイヤはコントローラ１４を操作し、ゲーム装置１２はコントローラ１４からのコントローラデータに基づいてゲーム処理を実行する。ただし、ゲーム装置１２は、先述したようにゲーム装置１００との間で無線通信を行うことが可能なので、ゲーム装置１００をコントローラとして利用するようなゲームも存在する（たとえば、後述する「飛び出す」ゲーム）。この種のゲームをプレイする場合、ゲームシステム１０はゲーム装置１００（携帯型のゲーム装置）をさらに含む。
【０１２７】
図９〜図１１には、ゲーム装置１００の外観が示される。ゲーム装置１００は折り畳み型のゲーム装置であり、図９および図１０は、開いた状態（開状態）におけるゲーム装置１００を示し、図１１は、閉じた状態（閉状態）におけるゲーム装置１００を示している。また、図９は、開状態におけるゲーム装置１００の正面図であり、図１０は、開状態におけるゲーム装置の側面図である。ゲーム装置１００は、２つの表示装置（ＬＣＤ１１２および１１４）および２つのカメラ（カメラ１１６および１１８）を有し、カメラによって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることができる。
【０１２８】
ゲーム装置１００は、開いた状態において両手または片手で把持することができるような小型のサイズとされる。
【０１２９】
ゲーム装置１００は、下側ハウジング１２０および上側ハウジング１２２という２つのハウジングを有する。下側ハウジング１２０と上側ハウジング１２２とは、開閉可能（折り畳み可能）に接続されている。この実施例では、各ハウジング１２０および１２２はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【０１３０】
上側ハウジング１２２は、下側ハウジング１２０の上側の一部で回動自在に支持されている。これによって、ゲーム装置１００は、閉状態（下側ハウジング１２０と上側ハウジング１２２とのなす角度が約０°の状態（図１１参照））と、開状態（下側ハウジング１２０と上側ハウジング１２２とのなす角度が約１８０°の状態（図１０参照））とをとることができる。ユーザは通常、開状態でゲーム装置１００を使用し、ゲーム装置１００を使用しない場合には閉状態としてゲーム装置１００を保管する。また、ゲーム装置１００は、上記閉状態および開状態のみでなく、下側ハウジング１２０と上側ハウジング１２２とのなす角度を、ヒンジに発生する摩擦力などによって閉状態と開状態との間の任意の角度に維持することができる。つまり、上側ハウジング１２２を下側ハウジング１２０に対して任意の角度で静止させることができる。
【０１３１】
まず、下側ハウジング１２０に設けられる構成について説明する。図９に示すように、ゲーム装置１００は、下側ＬＣＤ（液晶表示装置）１１２を有する。下側ＬＣＤ１１２は横長形状であり、長辺方向が下側ハウジング１２０の長辺方向に一致するように配置される。下側ＬＣＤ１１２は下側ハウジング１２０に収納される。下側ＬＣＤ１１２は、下側ハウジング１２０の内側面に設けられる。したがって、ゲーム装置１００を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１１２の画面が汚れたり傷ついたりすることを防止することができる。なお、この実施例では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、ゲーム装置１００は任意の解像度の表示装置を利用することができる。なお、ゲーム装置１００を撮像装置として利用する場合、下側ＬＣＤ１１２は主に、カメラ１１６または１１８で撮像されている画像をリアルタイムに表示（スルー表示）するために用いられる。
【０１３２】
下側ハウジング１２０の内側面はほぼ平面状に形成される。当該内側面の中央には、下側ＬＣＤ１１２を露出させるための開口部１２０ｂが形成される。当該開口部１２０ｂの左側（図示ｙ軸負側）には開口部１２０ｃが形成され、当該開口部１２０ｂの右側には開口部１２０ｄが形成される。開口部１２０ｂおよび１２０ｃは、各キートップ（各ボタン１２４ａ〜１２４ｅの上面）を露出させるためのものである。そして、下側ハウジング１２０の内部に収納される下側ＬＣＤ１１２の画面が開口部１２０ｂから露出し、各キートップが開口部１２０ｃおよび１２０ｄから露出される。このように、下側ハウジング１２０の内側面には、中央に設けられる下側ＬＣＤ１１２用の開口部１２０ｂの左右両側に非画面領域（図９に示す点線領域Ａ１およびＡ２。具体的には、各ボタン１２４ａ〜１２４ｅを配置するための領域；ボタン配置領域）がそれぞれ設けられる。
【０１３３】
下側ハウジング１２０には、入力装置として、各ボタン１２４ａ〜１２４ｉおよびタッチパネル１２８が設けられる。図９に示されるように、各ボタン１２４ａ〜１２４ｉのうち、方向入力ボタン１２４ａ、ボタン１２４ｂ、ボタン１２４ｃ、ボタン１２４ｄ、ボタン１２４ｅ、および電源ボタン１２４ｆは、下側ハウジング１２０の内側面に設けられる。方向入力ボタン１２４ａは例えば選択操作等に用いられ、各ボタン１２４ｂ〜１２４ｅは例えば決定操作やキャンセル操作等に用いられる。電源ボタン１２４ｆは、ゲーム装置１００の電源をオン／オフするために用いられる。ここでは、方向入力ボタン１２４ａおよび電源ボタン１２４ｆは、下側ハウジング１２０の中央付近に設けられる下側ＬＣＤ１１２に対して一方の側（図９では左側）に設けられ、ボタン１２４ｂ〜１２４ｅは下側ＬＣＤ１１２に対して他方の側（図９では右側）に設けられる。方向入力ボタン１２４ａおよびボタン１２４ｂ〜１２４ｅは、ゲーム装置１００に対する各種操作を行うために用いられる。
【０１３４】
図１１（Ａ）は閉状態におけるゲーム装置１００の左側面図であり、図１１（Ｂ）は当該ゲーム装置１００の正面図であり、図１１（Ｃ）は当該ゲーム装置１００の右側面図であり、そして図１１（Ｄ）は当該ゲーム装置１００の背面図である。図１１（Ａ）に示されるように、音量ボタン１２４ｉは、下側ハウジング１２０の左側面に設けられる。音量ボタン１２４ｉは、ゲーム装置１００が備えるスピーカ１３４の音量を調整するために用いられる。また、図１１（Ｂ）に示されるように、ボタン１２４ｈは、下側ハウジング１２０の上面の右端部に設けられる。ボタン１２４ｇは、下側ハウジング１２０の上面の左端部に設けられる。各ボタン１２４ｇおよび１２４ｈは、ゲーム装置１００に対して例えば撮影指示操作（シャッタ操作）を行うために用いられる。各ボタン１２４ｇおよび１２４ｈの両方をシャッターボタンとして機能させてもよく、この場合、右利きのユーザはボタン１２４ｈを使用し、左利きのユーザはボタン１２４ｇを使用することができ、いずれのユーザにも使い勝手が良い。なお、ゲーム装置１００は、各ボタン１２４ｇおよび１２４ｈを常にシャッターボタンとして有効としておいてもよいし、右利きか左利きかの設定をして（メニュープログラムなどによりユーザに設定入力をさせ、設定されたデータを記憶しておく）、右利き設定のときにはボタン１２４ｈのみ有効とし、左利き設定のときにはボタン１２４ｇのみ有効とするようにしてもよい。
【０１３５】
図９に示されるように、ゲーム装置１００は、各操作ボタン１２４ａ〜１２４ｉとは別の入力装置として、タッチパネル１２８をさらに備えている。タッチパネル１２８は、下側ＬＣＤ１１２の画面上に装着されている。なお、この実施例では、タッチパネル１２８は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。この実施例では、タッチパネル１２８として、下側ＬＣＤ１１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１２８の解像度と下側ＬＣＤ１１２の解像度が一致している必要はない。また、下側ハウジング１２０の右側面には挿入口１３０（図９および図１１（Ｄ）に示す点線）が設けられている。挿入口１３０は、タッチパネル１２８に対する操作を行うために用いられるタッチペン１３６を収納することができる。なお、タッチパネル１２８に対する入力は通常タッチペン１３６を用いて行われるが、タッチペン１３６に限らずユーザの指でタッチパネル１２８を操作することも可能である。
【０１３６】
図１０や図１１（Ｃ）に示されるように、下側ハウジング１２０の右側面には開閉可能なカバー部１１１ｂが設けられる。このカバー部１１１ｂの内側には、メモリカード１３８ａを挿入するための挿入口（２点鎖線）、およびゲーム装置１００とメモリカード１３８ａとを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード１３８ａは、コネクタに着脱自在に装着される。メモリカード１３８ａは、例えば、ゲーム装置１００によって撮像された画像のデータを記憶（保存）するために用いられる。
【０１３７】
さらに、下側ハウジング１２０の上側面には、メモリカード１３８ｂを挿入するための挿入口（１点鎖線）、およびゲーム装置１００とメモリカード１３８ｂとを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード１３８ｂは、例えば、ゲーム装置１００で動作するプログラムを記憶するために用いられる。
【０１３８】
図９に示されるように、下側ハウジング１２０の軸部１２０ａの左側部分には、３つのＬＥＤ１２６ａ〜１２６ｃが取り付けられる。ここで、ゲーム装置１００は同種の他のゲーム装置や上述のゲーム装置１２との間で無線通信を行うことが可能であり、第１ＬＥＤ１２６ａは、無線通信が確立している場合に点灯する。第２ＬＥＤ１２６ｂは、ゲーム装置１００の充電中に点灯する。第３ＬＥＤ１２６ｃは、ゲーム装置１００の電源がオンである場合に点灯する。したがって、３つのＬＥＤ１２６ａ〜１２６ｃによって、ゲーム装置１００の通信確立状況、充電状況、および、電源のオン／オフ状況をユーザに通知することができる。
【０１３９】
以上に説明したように、下側ハウジング１２０には、ゲーム装置１００に対する操作入力を行うための入力装置（タッチパネル１２８および各ボタン１２４ａ〜１２４ｉ）が設けられる。したがって、ユーザは、ゲーム装置１００を使用する際には下側ハウジング１２０を把持してゲーム装置１００に対する操作を行うことができる。図１２は、ユーザがゲーム装置１００を両手で把持した様子を示す図である。図１２に示すように、ユーザは、各ＬＣＤ１１２および１１４がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング１２０の側面および外側面（内側面の反対側の面）を把持する。このように把持することで、ユーザは、下側ハウジング１２０を把持したまま、各ボタン１２４ａ〜１２４ｅに対する操作を親指で行い、ボタン１２４ｇおよび１２４ｈに対する操作を人差し指で行うことができる。
【０１４０】
一方、上側ハウジング１２２には、画像を撮像するための構成（カメラ）、および、撮像した画像を表示するための構成（表示装置）が設けられる。以下、上側ハウジング１２２に設けられる構成について説明する。
【０１４１】
図９に示すように、ゲーム装置１００は、上側ＬＣＤ１１４を有する。上側ＬＣＤ１１４は上側ハウジング１２２に収納される。上側ＬＣＤ１１４は横長形状であり、長辺方向が上側ハウジング１２２の長辺方向に一致するように配置される。上側ＬＣＤ１１４は、上側ハウジング１２２の内側面（ゲーム装置１００が閉状態となった場合に内側となる面）に設けられる。したがって、ゲーム装置１００を使用しない場合には閉状態としておくことによって、上側ＬＣＤ１１４の画面が汚れたり傷ついたりすることを防止することができる。なお、下側ＬＣＤ１１２と同様、上側ＬＣＤ１１４に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、他の実施形態においては、上側ＬＣＤ１１４上にもタッチパネルを設けてもよい。
【０１４２】
また、ゲーム装置１００は、２つのカメラ１１６および１１８を有する。各カメラ１１６および１１８はともに上側ハウジング１２２に収納される。図９に示されるように、内側カメラ１１６は、上側ハウジング１２２の内側面に取り付けられる。一方、図１１（Ｂ）に示されるように、外側カメラ１１８は、内側カメラ１１６が取り付けられる面の反対側の面、すなわち、上側ハウジング１２２の外側面（ゲーム装置１００が閉状態となった場合に外側となる面）に取り付けられる。これによって、内側カメラ１１６は、上側ハウジング１２２の内側面が向く方向を撮像することが可能であり、外側カメラ１１８は、内側カメラ１１６の撮像方向の逆方向、すなわち、上側ハウジング１２２の外側面が向く方向を撮像することが可能である。以上のように、この実施例では、２つのカメラ１１６および１１８が撮像方向が互いに逆方向となるように設けられる。したがって、ユーザはゲーム装置１００を持ち替えることなく、異なる２方向を撮像することができる。例えば、ユーザは、ゲーム装置１００からユーザの方を見た景色を内側カメラ１１６で撮影することができるとともに、ゲーム装置１００からユーザの反対側の方向を見た景色を外側カメラ１１８で撮影することができる。
【０１４３】
また、内側カメラ１１６は、上側ハウジング１２２の下側の中央部に形成される軸部１２２ａの中央に取り付けられる。つまり、内側カメラ１１６は、２つのハウジング１２０および１２２が接続される部分の中央に取り付けられる。したがって、ゲーム装置１００を開状態にした場合、内側カメラ１１６は、２つのＬＣＤ１１２および１１４の間に配置されることになる（図９参照）。換言すれば、内側カメラ１１６は、ゲーム装置１００の中心付近に配置されることになる。なお、「ゲーム装置１００の中心」とは、ゲーム装置１００の操作面（開状態における各ハウジング１２０および１２２の内側面からなる面）の中心という意味である。なお、内側カメラ１１６は、ＬＣＤ１１２および１１４の横方向の中心付近に配置されているということもできる。
この実施例では、ゲーム装置１００を開状態にした場合に内側カメラ１１６はゲーム装置１００の中心付近に配置されるので、ユーザは、内側カメラ１１６によってユーザ自身を撮影する場合、ユーザがゲーム装置１００に正対する位置でゲーム装置１００を把持すればよい。つまり、通常の把持位置でゲーム装置を把持すれば、ユーザは撮像範囲の中心付近に位置することになり、ユーザ自身を撮像範囲内に収めることが容易になる。
【０１４４】
また、図１１（Ｂ）に示されるように、外側カメラ１１８は、ゲーム装置１００を開状態とした場合において上側ハウジング１２２の上部（下側ハウジング１２０から遠い側の部分）に配置される。なお、外側カメラ１１８は、ゲーム装置１００を把持するユーザを撮影するものではないので、ゲーム装置１００の中心に設ける必要性は高くない。
【０１４５】
また、図９または図１１（Ｂ）に示されるように、マイク１３２は、上側ハウジング１２２に収納されている。具体的には、マイク１３２は、上側ハウジング１２２の軸部１２２ａに取り付けられる。この実施例では、マイク１３２は、内側カメラ１１６の周囲（図ではｙ軸の側方）に取り付けられ、より具体的には、内側カメラ１１６からｙ軸正方向側の側方に取り付けられる。また、軸部１２２ａにおいては、マイク１３２がゲーム装置１００外部の音を検知することができるように、マイク１３２に対応する位置（内側カメラ１１６の側方）にマイクロフォン用孔１２２ｃが設けられる。なお、マイク１３２は下側ハウジング１２０に収納されてもよい。たとえば、マイクロフォン用孔１２２ｃを下側ハウジング１２０の内側面、具体的には下側ハウジング１２０の内側面の左下部分（ボタン配置領域Ａ１）に設け、マイク１３２を、下側ハウジング１２０内における、マイクロフォン用孔１２２ｃの近傍に配置することができる。また、マイク１３２は、その集音方向（感度が最大となる方向）が内側カメラ１１６の撮像方向（光軸）と略並行（言い換えれば集音方向および撮像方向がそれぞれｚ軸と略並行）となる向きに取り付けられる。これによって、内側カメラ１１６の撮像範囲内で発せられた音声は、マイク１３２によって好適に捉えられる。すなわち、マイク１３２による音声入力の検出と内側カメラ１１６の撮像画像によるユーザの検出とを同時行うことができるとともに、検出の精度を向上させることができる。
【０１４６】
図１１（Ｂ）に示されるように、上側ハウジング１２２の外側面には、第４ＬＥＤ１２６ｄが取り付けられる。第４ＬＥＤ１２６ｄは、外側カメラ１１８の周囲（この実施例では、外側カメラ１１８の右側）に取り付けられる。第４ＬＥＤ１２６ｄは、内側カメラ１１６または外側カメラ１１８によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、内側カメラ１１６または外側カメラ１１８によって動画が撮影される間点灯する。第４ＬＥＤ１２６ｄによって、ゲーム装置１００による撮影が行われた（行われている）ことを撮影対象者に通知することができる。
【０１４７】
また、上側ハウジング１２２の内側面はほぼ平面状に形成される。図９に示すように、当該内側面の中央には、上側ＬＣＤ１１４を露出させるための開口部１２２ｂが形成される。上側ハウジング１２２の内部に収納される上側ＬＣＤ１１４の画面は、開口部１２２ｂから露出する。また、上記開口部１２２ｂの左右両側には音抜き孔１２２ｄがそれぞれ１つずつ形成される。音抜き孔１２２ｄの奥の上側ハウジング１２２内にはスピーカ１３４が収納されている。音抜き孔１２２ｄは、スピーカ１３４からの音を外部に放出するための孔である。
【０１４８】
このように、上側ハウジング１２２の内側面には、中央に設けられる上側ＬＣＤ１１４用の開口部１２２ｂの左右両側に非画面領域（図９に示す点線領域Ｂ１およびＢ２。具体的には、スピーカ１３４を配置するための領域；スピーカ配置領域）がそれぞれ設けられる。２つの音抜き孔１２２ｄは、左右方向については、各スピーカ配置領域の左右方向における中央部付近に配置され、上下方向については、各スピーカ配置領域の下部領域（下側ハウジング１２０に近い側の領域）に配置される。
【０１４９】
なお、上記のように、下側ハウジング１２０および上側ハウジング１２２に左右方向に関して同じ位置に非画面領域をそれぞれ設けたことで、ゲーム装置１００は、図１２に示すような横持ちで把持される場合だけでなく、縦持ち（図１２に示す状態からゲーム装置１００を左または右回りに９０°回転させた状態）で把持される場合にも持ちやすい構成となっている。
【０１５０】
以上に説明したように、上側ハウジング１２２には、画像を撮像するための構成であるカメラ１１６および１１８、および、撮像された画像を表示するための表示手段である上側ＬＣＤ１１４が設けられる。一方、下側ハウジング１２０には、ゲーム装置１００に対する操作入力を行うための入力装置（タッチパネル１２８および各ボタン１２４ａ〜１２４ｉ）が設けられる。したがって、ゲーム装置１００を撮像装置として使用する際には、ユーザは、上側ＬＣＤ１１４に表示される撮像画像（カメラによって撮像された画像）を見ながら、下側ハウジング１２０を把持して入力装置に対する入力を行うことができる。
【０１５１】
また、上側ハウジング１２２のカメラ１１６近傍には、音声を入力するための構成であるマイク１３２が設けられており、したがってゲーム装置１００は、録音装置としても使用可能である。さらに、ユーザがマイク１３２を通して音声入力を行い、ゲーム装置１００はこのマイク入力情報に基づいてゲーム処理やゲーム以外のアプリケーション処理を実行することもできる。
【０１５２】
図１３は、ゲーム装置１００の内部構成（電気的構成）を示すブロック図である。図１３に示すように、ゲーム装置１００は、ＣＰＵ１４２、メインメモリ１４８、メモリ制御回路１５０、保存用データメモリ１５２、プリセットデータ用メモリ１５４、メモリカードインターフェース（メモリカードＩ／Ｆ）１４４、無線通信モジュール１５６、ローカル通信モジュール１５８、リアルタイムクロック（ＲＴＣ）１６０、電源回路１４６、およびインターフェース回路（Ｉ／Ｆ回路）１４０等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１２０（または上側ハウジング１２２でもよい）内に収納される。
【０１５３】
ＣＰＵ１４２は、各種のプログラムを実行するための情報処理手段である。ゲーム装置１００を撮像装置として利用する場合には、そのためのプログラムがゲーム装置１００内のメモリ（例えば保存用データメモリ１５２）に記憶される。ＣＰＵ１４２が当該プログラムを実行することで、ゲーム装置１００は撮影装置として機能する。なお、ＣＰＵ１４２によって実行されるプログラムは、ゲーム装置１００内のメモリに予め記憶されていてもよいし、メモリカード１３８ｂから取得されてもよいし、他の機器たとえばゲーム装置１２から通信によって取得されてもよい。
【０１５４】
ＣＰＵ１４２には、メインメモリ１４８、メモリ制御回路１５０、およびプリセットデータ用メモリ１５４が接続される。また、メモリ制御回路１５０には保存用データメモリ１５２が接続される。メインメモリ１４８は、ＣＰＵ１４２のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ１４８は、ゲーム処理やアプリケーション処理に用いられる各種データを記憶したり、外部（メモリカード１３８ｂやゲーム装置１２等）から取得されるプログラムを記憶したりする。この実施例では、メインメモリ１４８として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ１５２は、ＣＰＵ１４２によって実行されるプログラムや各カメラ１１６および１１８によって撮像された画像のデータ等を記憶するための記憶手段である。保存用データメモリ１５２は、例えばＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路１５０は、ＣＰＵ１４２の指示に従って、保存用データメモリ１５２に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ１５４は、ゲーム装置１００において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ１５４としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによってＣＰＵ１４２と接続されるフラッシュメモリを用いることができる。
【０１５５】
メモリカードＩ／Ｆ１４４はＣＰＵ１４２に接続される。メモリカードＩ／Ｆ１４４は、コネクタに装着されたメモリカード１３８ａおよび１３８ｂに対するデータの読み出しおよび書き込みをＣＰＵ１４２の指示に従って行う。この実施例では、各カメラ１１６および１１８によって撮像された画像データがメモリカード１３８ａに書き込まれたり、メモリカード１３８ａに記憶された画像データがメモリカード１３８ａから読み出されて保存用データメモリ１５２に記憶されたりする。また、メモリカード１３８ｂに記憶されているプログラムやデータを読み出してメインメモリ１４８に転送したりもする。
【０１５６】
無線通信モジュール１５６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール１５８は、所定の通信方式たとえば赤外線方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール１５６およびローカル通信モジュール１５８はＣＰＵ１４２に接続される。ＣＰＵ１４２は、無線通信モジュール１５６を用いて、インターネットを介して、またはインターネットを介すことなく直接、同種の他のゲーム装置やゲーム装置１２との間でデータを送受信したり、ローカル通信モジュール１５８を用いて、同種の他のゲーム装置との間でデータを送受信したりすることができる。
【０１５７】
なお、ローカル通信モジュール１５８は、この実施例ではゲーム装置１００に内蔵されるようになっているが、例えばメモリカード１３８ｂに設けてもよい。この場合、ＣＰＵ１４２は、メモリカードＩ／Ｆ１４４を介して通信の制御を行うことになる。
【０１５８】
また、ＣＰＵ１４２には、ＲＴＣ１６０および電源回路１４６が接続される。ＲＴＣ１６０は、時間をカウントしてＣＰＵ１４２に出力する。ＣＰＵ１４２は、ＲＴＣ１６０によって計時された時間に基づいて、現在時刻（日付）を計算したり、画像取り込み等の動作タイミングを検知したりする。電源回路１４６は、ゲーム装置１００が有する電源（電池；下ハウジングに収納される）からの電力を制御し、ゲーム装置１００の各部品に電力を供給する。
【０１５９】
また、ゲーム装置１００は、マイク１３２およびスピーカ１３４を備えている。マイク１３２およびスピーカ１３４はそれぞれＩ／Ｆ回路１４０に接続される。マイク１３２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路１４０に出力する。スピーカ１３４は、Ｉ／Ｆ回路１４０からの音声信号に応じた音声を出力する。Ｉ／Ｆ回路１４０はＣＰＵ１４２に接続される。また、タッチパネル１２８はＩ／Ｆ回路１４０に接続される。Ｉ／Ｆ回路１４０は、マイク１３２およびスピーカ１３４の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。変換された音声データは、メインメモリ１４８の音声エリア（図示せず）に書き込まれる。ゲーム装置１００を録音装置として利用する場合には、音声エリアに格納された音声データは、後にメモリ制御回路１５０を介して保存用データメモリ１５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ１４４を介してメモリカード１３８ａに記録される）。また、音声エリアに格納された音声データ（マイク入力情報）は、各種のゲーム処理にも利用される。タッチパネル制御回路は、タッチパネル１２８からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ１４２に出力する。タッチ位置データは、タッチパネル１２８の入力面のうちで入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１２８からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ１４２は、タッチ位置データを取得することにより、タッチパネル１２８に対して入力が行われた位置を知ることができる。
【０１６０】
操作部１２４は、上記各ボタン１２４ａ〜１２４ｉからなり、ＣＰＵ１４２に接続される。操作部１２４からＣＰＵ１４２へは、各ボタン１２４ａ〜１２４ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。ＣＰＵ１４２は、操作部１２４から操作データを取得することによって、操作部１２４に対する入力に従った処理を実行する。
【０１６１】
各カメラ１１６および１１８はＣＰＵ１４２に接続される。各カメラ１１６および１１８は、ＣＰＵ１４２の指示に従って画像を撮像し、撮像した画像データをＣＰＵ１４２に出力する。ＣＰＵ１４２は、各カメラ１１６および１１８からの画像データをメインメモリ１４８の画像エリア（図示せず）に書き込む。ゲーム装置１００を撮像装置として利用する場合には、画像エリアに格納された画像データは、後にメモリ制御回路１５０を介して保存用データメモリ１５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ１４４を介してメモリカード１３８ａに記録される）。また、画像エリアに格納された画像データは、各種のゲーム処理にも利用される。
【０１６２】
また、各ＬＣＤ１１２および１１４はＣＰＵ１４２に接続される。各ＬＣＤ１１２および１１４はＣＰＵ１４２の指示に従って画像を表示する。ゲーム装置１００を撮像装置として利用する場合、ＣＰＵ１４２は、各カメラ１１６および１１８のいずれかから取得した画像を上側ＬＣＤ１１４に表示させ、所定の処理によって生成した操作画面を下側ＬＣＤ１１２に表示させる。ゲーム装置１００でゲームをプレイする場合には、ＬＣＤ１１２および１１４の一方または両方にゲーム画像が表示される。
【０１６３】
以上のように構成されたゲーム装置１００を含むゲームシステム１０で「飛び出す」ゲームをプレイするとき、プレイヤは、図１４に示すように、ゲーム装置１２に接続されたモニタ２８の正面に立って、ゲーム装置１００の外側カメラ（以下単にカメラ）１１８でモニタ２８を撮像する。ゲーム装置１００の下側ＬＣＤ（以下単にＬＣＤ）１１２には、モニタ画面２８ａを含む撮像画像が表示される。
【０１６４】
ゲーム装置１２のメインメモリ４２ｅおよび／または４６には、図１５（Ａ）に示すように、プログラム記憶領域７０およびデータ記憶領域７４が形成され、プログラム記憶領域７０にはゲームプログラム７２などが格納される。ゲームプログラム７２は、ＣＰＵ４０を介してゲーム装置１２のハードウェア全体（図２参照）を制御することにより「飛び出す」ゲームを実現するソフトウェアであり、図１６（Ａ）および図１７のフローチャートに対応する表示制御プログラム７２ａを含む。なお、表示制御プログラム７２ａは、後述する第１および第２変形例では、図２７および図３１（Ａ）のフローチャートとそれぞれ対応する。
【０１６５】
また、図示は省略するが、プログラム記憶領域７０には、ゲームプログラム７２の他にも、「飛び出す」ゲームに必要な各種のプログラム、たとえば出力・通信制御プログラム（図示せず）などが格納されている。出力・通信制御プログラムは、主として入出力プロセッサ４２ａを介してモニタ２８への出力を制御し、また、主として無線通信モジュール５０を介してゲーム装置１００との間の無線通信を制御する。
【０１６６】
データ記憶領域７４には、時間データ７６および画像データ７８などが記憶される。時間データ７６は、オブジェクト（ＰＯ，ＥＯ：図２２（Ａ）等参照）を仮想空間内でモニタ２８の外に出したり中に戻したりする時間を示すデータであり、画像データ７８は、オブジェクトやマーカ（Ｍ：図２０（Ａ），図２２（Ａ）等参照）をモニタ２８に表示するためのデータである。
【０１６７】
一方、ゲーム装置１００のメインメモリ１４８には、図１５（Ｂ）に示すように、プログラム記憶領域１７０およびデータ記憶領域１７４が形成され、プログラム記憶領域１７０にはゲームプログラム１７２などが格納される。ゲームプログラム１７２は、ＣＰＵ１４２を介してゲーム装置１００のハードウェア全体（図１３参照）を制御することにより「飛び出す」ゲームを実現するソフトウェアであり、図１６（Ｂ），図１８および図１９のフローチャートに対応する表示制御プログラム１７２ａと、撮像画像に含まれるマーカ（Ｍａ：図２０（Ｂ），図２２（Ｂ）等参照）を認識する（パターン照合）ための認識プログラム１７２ｂを含む。なお、表示制御プログラム１７２ａは、後述する第１および第２変形例では、図２８および図３１（Ｂ）のフローチャートとそれぞれ対応する。
【０１６８】
また、図示は省略するが、プログラム記憶領域１７０には、ゲームプログラム１７２ａの他にも、「飛び出す」ゲームに必要な各種のプログラム、たとえば入出力・通信制御プログラム（図示せず）などが格納されている。入出力・通信制御プログラムは、主としてカメラ１１８からの入力やＬＣＤ１１２への出力を制御し、また、主として無線通信モジュール１５６を介してゲーム装置１２との間の無線通信を制御する。
【０１６９】
データ記憶領域１７４は、撮像画像領域１７６，パターン一時保持領域１７８およびパターン保存領域１８０を含む。撮像画像領域１７６には、カメラ１１８から所定のフレームレート（たとえば６０フレーム／秒）で入力される撮像画像が、ＣＰＵ１４２を通して書き込まれる。こうして撮像画像領域１７６に記憶された撮像画像は、ＣＰＵ１４２の制御下で、ＬＣＤ１１２によって所定のフレームレート（たとえば書き込み時と同じレート）で読み出される。これにより、ＬＣＤ１１２には、カメラ１１８からの撮像画像が表示される。
【０１７０】
撮像画像領域１７６に記憶された撮像画像に対しては、所定のマーカを認識する認識処理（図１９参照）が施される。パターン一時保持領域１７８は、撮像画像からリアルタイムに検出されるマーカのパターンを一時保持するための領域である。パターン保存領域１８０には、事前のパターン保存処理（図１６参照）を通じて、所定のマーカのパターン（図２０参照）が保存される。パターン一時保持領域１７８に一時保持されたパターンは、パターン保存領域１８０に保存されたパターンと逐次比較され、一時保持パターンが保存パターンと一致すれば、所定のマーカを認識したことを示すマーカ認識信号がゲーム装置１２に向けて送信される。
【０１７１】
なお、認識対象であるマーカは、この実施例では１種類であるが、複数種類でもよい。この場合、パターン保存領域１８０には複数のパターンが保存され、一時保持パターンは各保存パターンと比較される。マーカ認識信号には、どのマーカを認識したかを示す情報が付加される。
【０１７２】
また、データ記憶領域１７４には、画像データ１８２などが記憶される。画像データ１８２は、仮想空間内でモニタ２８の外に出たオブジェクト（ＰＯｂ，ＥＯｂ：図２４（Ｂ），図２５（Ｂ）等参照）をＬＣＤ１１２の撮像画像に重畳表示するためのデータである。
【０１７３】
事前にパターンを保存するとき、ゲーム装置１２（据え置き側）のＣＰＵ４０およびゲーム装置１００（携帯側）のＣＰＵ１４２は、図１６（Ａ）および図１６（Ｂ）に示すパターン保存処理をそれぞれ実行する。まず、据え置き側に関し、図１６（Ａ）を参照して、ＣＰＵ４０は、ステップＳ１で、マーカをモニタ２８に表示するようＧＰＵ４２ｂに命令する。応じてＧＰＵ４２ｂは、たとえば、図２０（Ａ）に示すように、長方形のマーカＭをモニタ２８に表示する。なお、このとき携帯側では、図２０（Ｂ）のような撮像画像がＬＣＤ１１２に表示される。
【０１７４】
このマーカＭは、長方形の輪郭線を持つ白地に所定のパターン（ここでは各面が異なる色を有する直方体）を描いたものである。マーカＭの背景は、白地との輝度差を極力高める（輪郭線の検出を容易にする）ために、ここでは黒く塗られている。なお、マーカＭの形状は、たとえば正方形，ひし形，台形といった、長方形以外の四角形でもよい。あるいは、三角形，六角形などの多角形や円形、さらには、これらを組み合わせた複雑な形状でもよい。また、マーカＭの白地は着色されていてもよし、輪郭線の検出が可能であれば、背景も適宜な色に塗ってかまわない。マーカ（パターン）は、カラー表示でも、モノクロ表示でもよい。
【０１７５】
次に、ＣＰＵ４０は、ステップＳ３で、無線通信モジュール５０によって完了通知（後述）が受信されたか否かを判別する。ここでＮＯであればステップＳ１に戻り、１フレーム毎に（たとえば１／６０秒周期で）に同様の処理を繰り返す。ステップＳ３でＹＥＳであれば、この処理を終了する。
【０１７６】
次に、携帯側に関し、図１６（Ｂ）を参照して、ＣＰＵ１４２は、ステップＳ１１で、カメラ１１８を介して撮像処理を実行し、得られた撮像画像を撮像画像領域１７６に繰り返し書き込む。次に、ＣＰＵ１４２は、ステップＳ１３で、ＬＣＤ１１２に撮像画像の表示を命令し、応じてＬＣＤ１１２は、撮像画像領域１７６に記憶された撮像画像を順次読み出して表示する。したがって、ＬＣＤ１１２には、図２０（Ｂ）に示すような撮像画像が表示される。この撮像画像は、モニタ画像２８ａを含む。モニタ画像２８ａは、図２０（Ａ）に示したモニタ２８の撮像画像であり、長方形の白地にパターンＰａが描かれたマーカ画像Ｍａと、黒色の背景とを含む。
【０１７７】
次に、ＣＰＵ１４２は、ステップＳ１５で、像画像領域１７６に記憶された撮像画像に対し、輝度差に基づく輪郭線検出を行う。図２０（Ｂ）の撮像画像からは、マーカＭａの白地と背景との輝度差に基づいて、白地の輪郭線が検出される。次に、ステップＳ１７で、検出された輪郭線が所定の形状（ここでは四角形）であるか否かを判別し、ＮＯであればステップＳ１１に戻って、１フレーム毎に同様の処理を繰り返す。
【０１７８】
次に、ＣＰＵ１４２は、ステップＳ１９で、四角形を所定サイズの長方形に変形する。つまり、モニタ２８とゲーム装置１００との位置関係によっては、マーカＭａが長方形とは異なる四角形たとえば台形となるし、また、そのサイズも一定ではないので、このような四角形を図２１に示す要領でＡ×Ｂの長方形に変形する。
【０１７９】
なお、マーカＭａが最初から所定サイズの長方形であれば、このような変形は不要である。たとえば、ＣＰＵ１４２がＬＣＤ１１２の撮像画像に所定サイズの長方形に対応する枠画像（図示せず）を重畳表示し、プレイヤは、この枠画像内にマーカＭａがきっちり収まるように位置調整を行えばよい。
【０１８０】
次に、ＣＰＵ１４２は、ステップＳ２１で、長方形内の色分布をマーカのパターンとしてパターン保存領域１８０に保存する。長方形内の色分布は、たとえば、図２１に示すように、長方形内の任意の点（ｘ，ｙ）におけるＲＧＢの値として、ＲＧＢ（ｘ，ｙ）のように表現される。この場合、長方形内の全画素、またはそこから適宜サンプリングされた一部画素について、ＲＧＢ（ｘ，ｙ）が保存される。
【０１８１】
なお、保存されるパターンは、二値化したもの（たとえばグレースケール）でもよい。認識を行う際には、撮像されたマーカから抽出されたパターンは、この二値化したパターンと比較される。
【０１８２】
また、細かい認識が必要ない仕様であれば、パターンを縮小して保存してもよい。これにより、容量を節約できると共に、誤認識となる可能性も低減できる。
【０１８３】
パターン保存が完了すると、ＣＰＵ１４２は、ステップＳ２３で、無線モジュール１５６を介してゲーム装置１２に完了通知を送信する。そして、この処理を終了する。
【０１８４】
この後に「飛び出す」ゲームをプレイするとき、ゲーム装置１２（据え置き側）のＣＰＵ４０およびゲーム装置１００（携帯側）のＣＰＵ１４２は、図１７および図１８に示す表示制御処理をそれぞれ実行する。まず、据え置き側に関し、図１７を参照して、ＣＰＵ４０は、ステップＳ３１で、オブジェクトの全部または一部をモニタ２８に表示するようＧＰＵ４２ｂに命令する。応じてＧＰＵ４２ｂは、たとえば、図２２（Ａ）に示すように、プレイヤオブジェクトＰＯおよび敵オブジェクトＥＯをモニタ２８に表示する。背景は、白以外の適宜な色たとえば灰色に着色される（着色の図示は省略）。
【０１８５】
次に、ＣＰＵ４０は、ステップＳ３３で、マーカをモニタ２８に表示するようＧＰＵ４２ｂに命令する。応じてＧＰＵ４２ｂは、たとえば、図２２（Ａ）に示すように、モニタ２８の四隅にマーカＭを表示する。各マーカＭは、図２０（Ａ）に示したマーカＭと表示サイズが異なるだけで同等のものである。なお、このとき携帯側では、図２２（Ｂ）のような撮像画像がＬＣＤ１１２に表示される。
【０１８６】
次に、ＣＰＵ４０は、ステップＳ３５で、無線通信モジュール５０によってマーカ認識信号（後述）が受信されたか否かを判別する。ここでＮＯであればステップＳ３１に戻り、１フレーム毎に同様の処理を繰り返す。このステップＳ３１〜Ｓ３５のループ処理を通じて、モニタ２８の表示は、図２２（Ａ）から図２３（Ａ）のように変化していく。なお、この間、携帯側でも、ＬＣＤ１１２の表示は、図２２（Ｂ）から図２３（Ｂ）のように変化していく。
【０１８７】
なお、フローチャートには画面制御（表示制御プログラム１７２ａ）しか記載していないが、画面内のオブジェクト（ＰＯ，ＥＯ）の位置や動きは、ゲームプログラム７２によって制御されており、この制御によって、まず、モニタ２８の表示が図２２（Ａ）から図２３（Ａ）のように変化し、これを撮影したＬＣＤ１１２の表示もまた、図２２（Ｂ）から図２３（Ｂ）のように変化している。
【０１８８】
ステップＳ３５でＹＥＳであれば、つまりマーカ認識信号が受信されると、ステップＳ３７に進んで、オブジェクト（ＰＯ，ＥＯ）をモニタ２８の外に出すか否かを時間データ７６（図１５（Ａ）参照）に基づいて判断する。
【０１８９】
時間データ７６には、仮想空間内でオブジェクト（ＰＯ，ＥＯ）をモニタ２８の外に出すタイミング（第１所定時間）と、仮想空間内でオブジェクト（ＰＯ，ＥＯ）をモニタ２８の中に戻すタイミング（第２所定時間）とが記述されており、たとえば、オブジェクト（ＰＯ，ＥＯ）がモニタ２８内に登場してからの経過時間が第１所定時間に達すると、ステップＳ３７でＹＥＳと判断され、処理はステップＳ３９に進む。なお、登場から第１所定時間が経過するまでの期間は、ステップＳ３１〜Ｓ３７およびＳ４３のループ処理が実行される。
【０１９０】
ステップＳ３９では、ＣＰＵ４０は、無線モジュール１５６を介して第１制御信号をゲーム装置１００に向けて送信する。第１制御信号には、次のステップＳ４１でモニタ２８の外に出ようとするオブジェクト（ＰＯ，ＥＯ）のモニタ２８内での位置（言い換えると、マーカＭに対するオブジェクトの位置）を示す位置情報が含まれる。
【０１９１】
次のステップＳ４１では、ＣＰＵ４０は、オブジェクトの全部または一部をモニタ２８から消去するようＧＰＵ４２ｂに命令する。応じてＧＰＵ４２ｂは、たとえば、図２４（Ａ）に示すように、プレイヤオブジェクトＰＯをモニタ２８から消去する。なお、これに伴い、携帯側では、図２４（Ｂ）に示すように、モニタ２８ａ内のプレイヤオブジェクトＰＯａが消える一方、これと同等のプレイヤオブジェクトＰＯｂが撮像画像に重畳表示される。プレイヤオブジェクトＰＯｂが重畳される位置は、第１制御信号に含まれる位置情報に基づいて、モニタ２８ａの外部に決定される。これによって、仮想空間内でプレイヤオブジェクトＰＯがモニタ２８から飛び出したように見せることができる。
【０１９２】
その後、ステップＳ３３に戻って、１フレーム毎に同様の処理を繰り返す。このステップＳ３３〜Ｓ４１のループ処理を通じて、モニタ２８の表示は、図２３（Ａ）から図２４（Ａ）さらには図２５（Ａ）のように徐々に変化していく。なお、この間、携帯側でも、ＬＣＤ１１２の表示は、図２３（Ｂ）から図２４（Ｂ）さらには図２５（Ｂ）のように徐々に変化していく。
【０１９３】
こうしてオブジェクト（ＰＯ，ＥＯ）がモニタ２８外に退場すると、ステップＳ３７の判断がＹＥＳからＮＯに変化し、処理はステップＳ４３に移る。ステップＳ４３では、ＣＰＵ４０は、オブジェクト（ＰＯ，ＥＯ）をモニタ２８の中に戻すか否かを時間データ７６に基づいて判断する。オブジェクト（ＰＯ，ＥＯ）がモニタ２８外に退場してからの経過時間が第２所定時間に達すると、ステップＳ４３でＹＥＳと判断され、処理はステップＳ４５に進む。なお、退場から第２所定時間が経過するまでの期間は、ステップＳ３１〜Ｓ３７およびＳ４３のループ処理が実行される。
【０１９４】
ステップＳ４５では、ＣＰＵ４０は、無線モジュール１５６を介して第２制御信号をゲーム装置１００に向けて送信する。その後、ステップＳ３１に戻って、１フレーム毎に同様の処理を繰り返す。このステップＳ３１〜Ｓ３７，Ｓ４３およびＳ４５のループ処理を通じて、モニタ２８の表示は、図２５（Ａ）から図２４（Ａ）さらには図２３（Ａ）のように徐々に変化していく。なお、この間、携帯側でも、ＬＣＤ１１２の表示は、図２５（Ｂ）から図２４（Ｂ）さらには図２３（Ｂ）のように徐々に変化していく。これによって、仮想空間内でモニタ２８から飛び出したプレイヤオブジェクトＰＯがモニタ２８に戻ったように見せることができる。
【０１９５】
こうしてオブジェクト（ＰＯ，ＥＯ）がモニタ２８内に再登場すると、ステップＳ４３の判断がＹＥＳからＮＯに変化し、処理はステップＳ３１〜Ｓ３７およびＳ４３のループに戻る。
【０１９６】
なお、ステップＳ３７，Ｓ４３の判断は、時間データ７６に基づく代わりに、ゲーム装置１００からのコマンドに基づいて行われてもよい。たとえば、ゲーム装置１００において、操作部１２４を介して所定の操作が行われたとき、無線モジュール１５６から当該操作に対応するコマンドを送信する一方、ゲーム装置１２においては、無線モジュール１５６によってコマンドを受信したとき、当該コマンドに基づいてステップＳ３７，Ｓ４３の判断を行う。これにより、プレイヤは、オブジェクトを出し入れするタイミングを任意に決めることができるようになる。
【０１９７】
次に、携帯側に関し、図１８を参照して、ＣＰＵ１４２は、ステップＳ５１で、カメラ１１８を介して撮像処理を実行し、得られた撮像画像を撮像画像領域１７６に繰り返し書き込む。次に、ＣＰＵ１４２は、ステップＳ５３で、ＬＣＤ１１２に撮像画像の表示を命令し、応じてＬＣＤ１１２は、撮像画像領域１７６に記憶された撮像画像を順次読み出して表示する。したがって、ＬＣＤ１１２には、図２２（Ｂ）に示すような撮像画像が表示される。この撮像画像は、モニタ画像２８ａを含む。モニタ画像２８ａは、図２２（Ａ）に示したモニタ２８の撮像画像であり、詳しくは、図２０（Ｂ）に示したような、長方形の白地にパターンＰａが描かれたマーカ画像Ｍａと、灰色の背景（着色の図示は省略）とを含む。
【０１９８】
次に、ＣＰＵ１４２は、ステップＳ５５で、像画像領域１７６に記憶された撮像画像に対し、マーカ認識処理を行う。ここでは、モニタ２８の四隅に表示されている４つのマーカＭのうち少なくとも１つを認識すればよい。つまり、複数のマーカＭを間隔を空けて表示したことで、認識可能範囲が単一マーカの場合よりも拡大されている。
【０１９９】
ステップＳ５５のマーカ認識処理は、パターン保存時のマーカ検出処理（ステップＳ１５〜Ｓ２１）と同様の処理を含んでおり、詳しくは図１９のサブルーチンに従って実行される。ＣＰＵ１４２は、最初、ステップＳ７１で輝度差に基づく輪郭線検出を行い、次に、検出された輪郭線が四角形であるか否かをステップＳ７３で判別する。ステップＳ７３でＮＯであれば、メインルーチン（図１８）に復帰する。一方、ステップＳ７３でＹＥＳであれば、ステップＳ７５に進んで、四角形を図２１に示す要領でＡ×Ｂの長方形に変形する。ステップＳ７７では、長方形内の色分布（たとえば各画素のＲＧＢ（ｘ，ｙ）：図２１参照）をマーカのパターンとしてパターン一時保持領域１７８に一時保持する。そして、ＣＰＵ１４２は、ステップＳ７９で、一時保持領域１７８に一時保持されたパターンを保存領域１８０に保存されたパターンと比較し、その後メインルーチン（図１８）に復帰する。
【０２００】
次に、ＣＰＵ１４２は、ステップＳ５７で、マーカを認識したか否かをステップＳ７９の比較結果に基づいて判別する。一時保持パターンが保存パターンと一致しなければ、ステップＳ５７でＮＯと判別し、ステップＳ５１に戻って、１フレーム毎に同様の処理を繰り返す。一時保持パターンが保存パターンと一致すると、ステップＳ５７でＹＥＳと判別し、ステップＳ５９に進む。なお、ステップＳ５７の判別は、必ずしも繰り返される必要はなく、一回だけでもよい。つまり、連続的に認識しても、１回だけ認識してもよい。
【０２０１】
ステップＳ５９では、ＣＰＵ１４２は、無線通信モジュール５０を介してマーカ認識信号をゲーム装置１２に送信する。次に、ＣＰＵ１４２は、ステップＳ６１で、無線通信モジュール１５６によって第１制御信号が受信されたか否かを判別し、ここでＮＯであればステップＳ６７に移って、無線通信モジュール１５６によって第２制御信号が受信されたか否かをさらに判別する。ステップＳ６７でもＮＯであれば、ステップＳ５１に戻って、１フレーム毎に同様の処理を繰り返す。したがって、ゲーム装置１２からいずれの制御信号も送られてこない期間では、このステップＳ５１〜Ｓ６１およびＳ６７のループ処理を通じて、ＬＣＤ１１２の表示は、モニタ２８の表示が図２２（Ａ）から図２３（Ａ）のように変化していくのに伴って、図２２（Ｂ）から図２３（Ｂ）のように変化していく。
【０２０２】
ステップＳ６１でＹＥＳであれば、ＣＰＵ１４２は、ステップＳ６３に進んで、ステップＳ５５で認識したマーカのサイズおよび／または形状に応じて、後のステップＳ６５で重畳表示しようとするオブジェクトのサイズおよび／またはアングルを補正する。この補正処理は、モニタ２８から飛び出すオブジェクトのサイズおよび／またはアングルを、モニタ２８とゲーム装置１００との位置関係に応じて変化させるための処理である（図２６参照：後述）。
【０２０３】
次に、ＣＰＵ１４２は、ステップＳ６５で、オブジェクトの全部または一部を撮像画像の上に重畳表示するようＬＣＤ１１２に命令する。応じてＬＣＤ１１２は、たとえば、図２４（Ｂ）に示すように、プレイヤオブジェクトＰＯｂを撮像画像に重畳表示する。プレイヤオブジェクトＰＯｂが重畳される位置は、第１制御信号に含まれる位置情報に基づいて、モニタ２８ａの外部に決定される。
【０２０４】
こうしてプレイヤオブジェクトＰＯｂが重畳表示されるとき、据え置き側では、先述のステップＳ４１が実行される結果、図２４（Ａ）に示すように、モニタ２８内のプレイヤオブジェクトＰＯが消去される。これに伴い、ＬＣＤ１１２でも、モニタ２８ａ内のプレイヤオブジェクトＰＯａが消えるので、仮想空間内でプレイヤオブジェクトＰＯがモニタ２８から飛び出したように見せることができる。
【０２０５】
その後、ステップＳ５１に戻って、１フレーム毎に同様の処理を繰り返す。したがって、ゲーム装置１２から第１制御信号が送られてくる期間では、このステップＳ５１〜Ｓ６５のループ処理を通じて、ＬＣＤ１１２の表示は、モニタ２８の表示が図２３（Ａ）から図２４（Ａ）さらには図２５（Ａ）のように変化していくのに伴い、図２３（Ｂ）から図２４（Ｂ）さらには図２５（Ｂ）のように変化していく。
【０２０６】
なお、図２５（Ａ）では、敵オブジェクトＥＯの一部ここでは頭および腕がモニタ２８から消去されており、図２５（Ｂ）では、この消去部分つまり敵オブジェクトＥＯｂの頭および腕が、撮像画像に重畳表示されている。
【０２０７】
また、図２５（Ｂ）は、ゲーム装置１００がモニタ２８の正面よりも左に位置する場合のＬＣＤ１１２の表示であるが、図２６（Ａ）に示すように、ゲーム装置１００がモニタ２８の正面よりも右に位置する場合には、ＬＣＤ１１２の表示は、図２６（Ｂ）のようになる。図２５（Ｂ）では、敵オブジェクトＥＯｂに隠れて見えなかった心臓が、図２６（Ｂ）では見えているので、プレイヤオブジェクトＰＯｂが敵オブジェクトＥＯｂの心臓に向けて矢を放つ、といったプレイが可能となる。
【０２０８】
ステップＳ６７でＹＥＳであれば、ＣＰＵ１４２は、ステップＳ６９に進んで、オブジェクトの全部または一部を消去するようＬＣＤ１１２に命令する。応じてＬＣＤ１１２は、撮像画像に重畳表示さているオブジェクトの全部または一部を消去する。その後、ステップＳ５１に戻って、１フレーム毎に同様の処理を繰り返す。したがって、ゲーム装置１２から第２制御信号が送られてくる期間では、このステップＳ５１〜Ｓ６１，Ｓ６７およびＳ６９のループ処理を通じて、ＬＣＤ１１２の表示は、モニタ２８の表示が図２５（Ａ）から図２４（Ａ）さらには図２３（Ａ）のように変化するのに伴って、図２５（Ｂ）から図２４（Ｂ）さらには図２３（Ｂ）のように変化していく。これによって、仮想空間内でモニタ２８から飛び出したプレイヤオブジェクトＰＯがモニタ２８に戻ったように見せることができる。
【０２０９】
なお、ステップＳ５７でＹＥＳと判別された場合に、パターン保存領域１８０に保存されているパターンを、ステップＳ５５の認識処理で得られる最新のパターンに随時更新してもよい。たとえば、ステップＳ５９とステップＳ６１との間に、パターン更新を行うステップＳ６０が挿入される。これによって、周辺環境の明るさやモニタ２８の画質などが変化しても、マーカ認識の精度を高く維持することができる。
【０２１０】
なお、以上では詳しい説明を省略したが、図２１および図２６に関連するマーカ認識や表示位置の制御には、たとえば、「マーカ追跡に基づく拡張現実感システムとそのキャリブレーション」（日本バーチャルリアリティ学会論文誌  Ｖｏｌ．４，Ｎｏ．４，１９９９）に記載されたＡＲ（Augmented Reality：拡張現実感）の処理を用いることができる。このＡＲ処理の基本的な流れは、次の通りである。最初、撮影画像に対してマーカ認識を行い、マーカがあれば、撮影画像中のマーカの位置および姿勢に基づいて、マーカ座標系における仮想カメラの位置および姿勢を算出する。次に、マーカ座標系からカメラ座標系への変換行列を算出する。より詳しくは、マーカ認識では、マーカの４頂点（この実施例でいえば、図２１に示すマーカ画像Ｍａの４頂点）の座標値が求められ、この座標値と、マーカの大きさに関する情報とに基づいて、マーカ座標系からカメラ座標系への変換行列（この実施例でいえば、図２１に示すマーカ画像ＭａからＭｂへの変換行列）が計算される。そして、この変換行列を仮想カメラのビュー行列に設定し、この仮想カメラで仮想空間を撮影してＣＧ画像を生成し、撮像画像とＣＧ画像を合成する。
【０２１１】
この実施例では、撮像画像に対して仮想画像を合成した画像（合成画像）は、例えば次の処理によって生成することができる。すなわち、ゲーム装置１００のＣＰＵ１４２は、ステップＳ５５で、撮像画像から、その中に含まれるマーカを認識する（画像）認識処理を実行する。ここでは、認識処理の処理結果として、マーカの位置および向きを示す情報が算出される。マーカが認識された場合（Ｓ５７：ＹＥＳ）、認識されたマーカの形状および向きから、ゲーム装置１００自身（カメラ）とマーカとの位置関係を算出する。なお、認識処理が失敗であった場合、ＣＰＵ１４２は、仮想カメラの位置および姿勢の算出を行わず、認識処理が最後に成功した時に算出された仮想カメラの位置および姿勢を用いる。さらに、ＣＰＵ１４２は、位置関係に基づいて仮想空間における仮想カメラの位置および姿勢を算出する。仮想カメラの位置および姿勢は、仮想空間における仮想カメラと仮想オブジェクトとの位置関係が、現実空間におけるゲーム装置１００自身とマーカとの位置関係に一致するように算出される。仮想カメラの位置が決まると、ＣＰＵ１４２は、仮想カメラの位置から仮想オブジェクトを見た仮想画像を生成し、撮像画像に対して仮想画像を合成する。以上の処理によって、ゲーム装置１００は合成画像を生成して表示することができる。なお、上記位置関係から仮想カメラの位置を算出する処理は、従来のＡＲにおける処理と同様であってもよい。
【０２１２】
以上から明らかなように、この実施例のゲームシステム１０は、モニタ２８が接続されたゲーム装置１２と、カメラ１１８およびＬＣＤ１１２を備えるゲーム装置１００とを含む。なお、モニタ２８は、ゲーム装置１２と一体でもよく、カメラ１１８および／またはＬＣＤ１１２は、ゲーム装置１００とは別体でもよい。
【０２１３】
ゲーム装置１２のＣＰＵ４０は、マーカＭをモニタ２８に表示し（Ｓ３３）、ゲーム装置１００のＣＰＵ１４２は、カメラ１１８で撮像を行い（Ｓ５１）、撮像した撮像画像をＬＣＤ１１２に表示し（Ｓ５３）、撮像画像中に、マーカＭが含まれるか否かを判定し（Ｓ５５，Ｓ５７）、判定結果に基づいて、ＬＣＤ１１２で表示されている撮像画像に対してマーカＭに対応する第２オブジェクト（ＰＯｂ，ＥＯｂ）の少なくとも一部を合成する表示制御を行い（Ｓ６５）、そして、判定結果に基づいて、ゲーム装置１２に対してマーカ認識信号を送信する（Ｓ５９）。
【０２１４】
ゲーム装置１２はさらに、上記のように送信されたマーカ認識信号を受信し（Ｓ３５）、そして、受信されたマーカ認識信号に基づいて、モニタ２８に対して、マーカＭに対応した第１オブジェクト画像（ＰＯ，ＥＯ）の少なくとも一部の表示制御を行う（Ｓ４１）。
【０２１５】
すなわち、ゲーム装置１２は、モニタ２８にマーカＭを表示し、マーカＭを表示したモニタ２８は、カメラ１１８によって撮像される。ゲーム装置１００は、カメラ１１８による撮像画像をＬＣＤ１１２に表示すると共に、撮像画像にマーカＭが含まれるか否かを判定する。この判定結果に基づいて、たとえば撮像画像にマーカＭが含まれていれば、ゲーム装置１００は、ＬＣＤ１１２に表示されている撮像画像に対して第２オブジェクトの少なくとも一部を合成（この実施例では重畳表示）する表示制御を行うと共に、ゲーム装置１２にマーカ認識信号を送信する。ゲーム装置１２は、マーカ認識信号を受信して、第１オブジェクトの少なくとも一部の表示制御を行う。
【０２１６】
このように、ゲーム装置１２は、モニタ２８にマーカＭを表示することで、ゲーム装置１００に対して、ＬＣＤ１１２の撮像画像への第２オブジェクトの表示制御を行わせ、一方、ゲーム装置１００は、ゲーム装置１２に対して、マーカＭに基づいて表示制御を行う際にマーカ認識信号を送信することで、モニタ２８への第１オブジェクトの表示制御を行わせるので、ゲーム装置１２およびゲーム装置１００がマーカＭおよびマーカ認識信号を通じて連携して、モニタ２８およびＬＣＤ１１２の撮像画像の間で第１オブジェクトおよび第２オブジェクトを連動させることが可能となる。
【０２１７】
特に、この実施例では、第１オブジェクトおよび第２オブジェクトは、共通のオブジェクトである（つまり共通のオブジェクトが、モニタ２８では第１オブジェクトになり、ＬＣＤ１１２では第２オブジェクトになる）ので、共通のオブジェクトがモニタ２８およびＬＣＤ１１２の間を移動するように見せる（表示制御する）ことができる。
【０２１８】
より具体的には、ゲーム装置１２は、マーカＭと共に、第１オブジェクトの少なくとも一部を表示し（Ｓ３１）、マーカ認識信号に基づいて、第１オブジェクトの少なくとも一部を消去する（Ｓ４１）。これにより、プレイヤオブジェクトＰＯや敵オブジェクトＥＯは、モニタ２８からＬＣＤ１１２の撮像画像上に飛び出したり、そこからモニタ２８に戻ったりする。
【０２１９】
なお、第１オブジェクトおよび第２オブジェクトは、共通のオブジェクトの一部（たとえば頭および腕）および他の一部（たとえば胴体）でもよいし、互いに独立したオブジェクトでもよい。
【０２２０】
さて、上述の実施例では、マーカを常時表示した状態で、オブジェクトをモニタ２８およびＬＣＤ１１２の撮像画像の間で出入りさせたが、マーカを適時表示して、オブジェクトをモニタ２８およびＬＣＤ１１２に同時に登場させたり、モニタ２８およびＬＣＤ１１２から同時に退場させたりしてもよい。この場合の表示制御を第１変形例として、以下に説明する。
【０２２１】
第１変形例では、ゲーム装置１２（据え置き側）のＣＰＵ４０およびゲーム装置１００（携帯側）のＣＰＵ１４２は、図２７および図２８に示す表示制御処理をそれぞれ実行する。まず、据え置き側に関し、図２７を参照して、ＣＰＵ４０は、ステップＳ８１で、オブジェクトの影をモニタ２８に表示するようＧＰＵ４２ｂに命令する。応じてＧＰＵ４２ｂは、たとえば、図２９（Ａ）に示すように、オブジェクトＯの影ＳＨをモニタ２８に表示する。なお、このとき携帯側では、図２９（Ｂ）のような撮像画像がＬＣＤ１１２に表示される（後述）。
【０２２２】
次に、ＣＰＵ４０は、ステップＳ８３で、現時点はオブジェクトを登場させる期間内か否かを時間データ７６に基づいて判別し、ここでＹＥＳであればステップＳ８５に進んで、マーカをモニタ２８に表示するようＧＰＵ４２ｂに命令する。応じてＧＰＵ４２ｂは、モニタ２８の四隅にマーカＭを表示する。
【０２２３】
次に、ＣＰＵ４０は、ステップＳ８７で、無線通信モジュール５０によってマーカ認識信号が受信されたか否かを判別する。ここでＮＯであればステップＳ８１に戻り、１フレーム毎に同様の処理を繰り返す。ステップＳ８７でＹＥＳであれば、ＣＰＵ４０は、オブジェクトＯの胴体をモニタ２８に表示するようＧＰＵ４２ｂに命令し、応じてＧＰＵ４２ｂは、図３０（Ａ）に示すようにモニタ２８に胴体を表示する。なお、このとき携帯側では、図３０（Ｂ）のような撮像画像がＬＣＤ１１２に表示される（後述）。その後、ステップＳ８１に戻って、１フレーム毎に同様の処理を繰り返す。
【０２２４】
ステップＳ８３でＮＯであれば、ＣＰＵ４０は、ステップＳ９１に移って、マーカを消去するようＧＰＵ４２ｂに命令し、次のステップＳ９３では、さらに胴体を消去するように命令する。応じてＧＰＵ４２ｂは、マーカＭさらには胴体モニタ２８から消去する。その後、ステップＳ８１に戻って、１フレーム毎に同様の処理を繰り返す。
【０２２５】
次に、携帯側に関し、図２８を参照して、ＣＰＵ１４２は、ステップＳ１０１で、カメラ１１８を介して撮像処理を実行し、得られた撮像画像を撮像画像領域１７６に繰り返し書き込む。次に、ＣＰＵ１４２は、ステップＳ１０３で、ＬＣＤ１１２に撮像画像の表示を命令し、応じてＬＣＤ１１２は、撮像画像領域１７６に記憶された撮像画像を順次読み出して表示する。したがって、ＬＣＤ１１２には、図２９（Ｂ）に示すような撮像画像が表示される。この撮像画像は、モニタ画像２８ａを含む。モニタ画像２８ａは、図３２（Ａ）に示したモニタ２８の撮像画像であり、影画像ＳＨａを含む。
【０２２６】
次に、ＣＰＵ１４２は、ステップＳ１０５で、像画像領域１７６に記憶された撮像画像に対しマーカ認識処理を行う。このマーカ認識処理もまた、図１９のサブルーチンに従って実行される。次のステップＳ１０７では、マーカを認識したか否かをステップＳ７９（図１９参照）の比較結果に基づいて判別する。ここでＹＥＳであれば、ステップＳ１０９に移って、無線通信モジュール５０を介してマーカ認識信号をゲーム装置１２に送信する。そしてステップＳ１１１で、オブジェクトＯｂの頭および腕を撮像画像の上に重畳表示するようＬＣＤ１１２に命令する。応じてＬＣＤ１１２は、たとえば、図３０（Ｂ）に示すように、オブジェクトＯｂの頭および腕を撮像画像に重畳表示する。その後、ステップＳ１０１に戻って、１フレーム毎に同様の処理を繰り返す。
【０２２７】
ステップＳ１０７でＮＯであれば、ＣＰＵ１４２は、ステップＳ１１３に移って、オブジェクトＯｂの頭および腕を消去するようＬＣＤ１１２に命令し、応じてＬＣＤ１１２は、重畳表示されているオブジェクトＯｂの頭および腕を消去する。その後、ステップＳ１０１に戻って、１フレーム毎に同様の処理を繰り返す。これによって、ＬＣＤ１１２の表示は、図３０（Ｂ）から図２９（Ｂ）に変化する。
【０２２８】
以上のように、第１変形例では、ゲーム装置１２のＣＰＵ４０は、マーカＭをモニタ２８に表示し（Ｓ８５）、ゲーム装置１００のＣＰＵ１４２は、カメラ１１８で撮像を行い（Ｓ１０１）、撮像した撮像画像をＬＣＤ１１２に表示し（Ｓ１０３）、撮像画像中に、マーカＭが含まれるか否かを判定し（Ｓ１０５，Ｓ１０７）、判定結果に基づいて、ＬＣＤ１１２で表示されている撮像画像に対してマーカＭに対応する第２オブジェクトＯｂの少なくとも一部を合成する表示制御を行い（Ｓ１１１）、そして、判定結果に基づいて、ゲーム装置１２に対してマーカ認識信号を送信する（Ｓ１０９）。
【０２２９】
ゲーム装置１２はさらに、上記のように送信されたマーカ認識信号を受信し（Ｓ８７）、そして、受信されたマーカ認識信号に基づいて、モニタ２８に対して、マーカＭに対応した第１オブジェクト画像Ｏの少なくとも一部を表示する（Ｓ８９）。これによって、モニタ２８およびＬＣＤ１１２の撮像画像の間でオブジェクトが同時に登場／退場したような表現が可能となる。
【０２３０】
なお、先述の実施例および第１変形例では、表示制御を行う際に無線通信モジュールを介して各種信号を送受信しているが、何ら信号を用いずに表示制御を行うことも可能である。この場合の表示制御を第２変形例として、以下に説明する。
【０２３１】
第２変形例では、ゲーム装置１２（据え置き側）のＣＰＵ４０およびゲーム装置１００（携帯側）のＣＰＵ１４２は、図３１（Ａ）および図３１（Ｂ）に示す表示制御処理をそれぞれ実行する。まず、据え置き側に関し、図３１（Ａ）を参照して、ＣＰＵ４０は、ステップＳ１２１で、オブジェクトＯをモニタ２８に表示するようＧＰＵ４２ｂに命令する。応じてＧＰＵ４２ｂは、たとえば、図３２（Ａ）に示すように、オブジェクトＯをモニタ２８に表示する。なお、このとき携帯側では、図３２（Ｂ）のような撮像画像がＬＣＤ１１２に表示される（後述）。
【０２３２】
次に、ＣＰＵ４０は、ステップＳ１２３で、現時点はオブジェクトＯをモニタ２８の外に出す期間内か否かを時間データ７６に基づいて判別し、ここでＹＥＳであればステップＳ１２５に進んで、オブジェクトＯをモニタ２８から消去するようＧＰＵ４２ｂに命令し、さらにステップＳ１２７でマーカＭをモニタ２８に表示するようＧＰＵ４２ｂに命令する。応じてＧＰＵ４２ｂは、オブジェクトＯをモニタ２８から消去し、そしてモニタ２８の所定位置（ここではオブジェクトＯの消去位置）にマーカＭを表示する。その後、ステップＳ１２３に戻って、１フレーム毎に同様の処理を繰り返す。
【０２３３】
ステップＳ１２３でＮＯであれば、ＣＰＵ４０は、ステップＳ１２９で、マーカＭをモニタ２８から消去するようＧＰＵ４２ｂに命令する。応じてＧＰＵ４２ｂは、マーカＭをモニタ２８から消去する。その後、ステップＳ１２１に戻って、１フレーム毎に同様の処理を繰り返す。
【０２３４】
したがって、ステップＳ１２３の判別結果がＮＯからＹＥＳに変化したとき、モニタ２８の表示は、図３２（Ａ）から図３３（Ａ）のように変化する。なお、このときＬＣＤ１１２の表示は、図３２（Ｂ）から図３３（Ｂ）のように変化する（後述）。一方、ステップＳ１２３の判別結果がＹＥＳからＮＯに変化したとき、モニタ２８の表示は、図３３（Ａ）から図３２（Ａ）のように変化する。なお、このときＬＣＤ１１２の表示は、図３３（Ｂ）から図３２（Ｂ）のように変化する（後述）。
【０２３５】
次に、携帯側に関し、図３１（Ｂ）を参照して、ＣＰＵ１４２は、ステップＳ１３１で、カメラ１１８を介して撮像処理を実行し、得られた撮像画像を撮像画像領域１７６に繰り返し書き込む。次に、ＣＰＵ１４２は、ステップＳ１３３で、ＬＣＤ１１２に撮像画像の表示を命令し、応じてＬＣＤ１１２は、撮像画像領域１７６に記憶された撮像画像を順次読み出して表示する。したがって、ＬＣＤ１１２には、図３２（Ｂ）に示すような撮像画像が表示される。この撮像画像は、モニタ画像２８ａを含む。モニタ画像２８ａは、図２９（Ａ）に示したモニタ２８の撮像画像であり、オブジェクト画像Ｏａを含む。
【０２３６】
次に、ＣＰＵ１４２は、ステップＳ１３５で、像画像領域１７６に記憶された撮像画像に対しマーカ認識処理を行う。このマーカ認識処理もまた、図１９のサブルーチンに従って実行される。次のステップＳ１３７では、マーカを認識したか否かをステップＳ７９（図１９参照）の比較結果に基づいて判別する。ここでＹＥＳであれば、ステップＳ１３９で、オブジェクト画像Ｏｂを撮像画像の上に重畳表示するようＬＣＤ１１２に命令する。応じてＬＣＤ１１２は、たとえば、図３３（Ｂ）に示すように、オブジェクト画像Ｏｂを撮像画像に重畳表示する。その後、ステップＳ１３１に戻って、１フレーム毎に同様の処理を繰り返す。
【０２３７】
ステップＳ１３７でＮＯであれば、ＣＰＵ１４２は、ステップＳ１４１に移って、オブジェクト画像Ｏｂを消去するようＬＣＤ１１２に命令し、応じてＬＣＤ１１２は、重畳表示されているオブジェクト画像Ｏｂを消去する。その後、ステップＳ１３１に戻って、１フレーム毎に同様の処理を繰り返す。
【０２３８】
したがって、ステップＳ１３７の判別結果がＮＯからＹＥＳに変化したとき、ＬＣＤ１１２の表示は、図３２（Ｂ）から図３３（Ｂ）のように変化する。なお、このときモニタ２８の表示は、図３２（Ａ）から図３３（Ａ）のように変化する。一方、ステップＳ１３７の判別結果がＹＥＳからＮＯに変化したとき、ＬＣＤ１１２の表示は、図３３（Ｂ）から図３２（Ｂ）のように変化する。なお、このときモニタ２８の表示は、図３３（Ａ）から図３２（Ａ）のように変化する。
【０２３９】
なお、上記の実施例や変形例では、認識を行う前に、マーカをモニタ２８に表示して、このモニタ２８に表示されたマーカを撮像して保存し、認識を行う際には、こうして撮像して保存したマーカと、新たに撮像したマーカとを比較したが、予めマーカを記憶しておくことで、このような保存処理を省略し、認識を行う際には、予め記憶されたマーカと、新たに撮像したマーカとを比較するようにしてもよい。ただし、この実施例のように保存処理を行えば、モニタ２８の特性や環境の変化に対応することができるので、認識精度の向上が期待できる。
【０２４０】
また、上記の実施例や変形例では、マーカは静的であったが、動的に変化させてもよい。たとえば、マーカの大きさに応じて、出現するオブジェクトの大きさを変更してもよい。あるいは、マーカの形状に応じて、出現するオブジェクトの表示方向を変更してもよい。
【０２４１】
また、図１７〜図１９の実施例において、携帯側から信号を送って、携帯側はその時点で表示制御を実行し、据え置き側は信号を受信した時点で表示制御を行ってもよい。
【０２４２】
また、この実施例では、据え置き側と携帯側との接続は無線接続であったが、有線接続でもよい。
【０２４３】
また、この実施例では、据え置き側の表示装置に対する携帯側の向きは、携帯側の撮像画像に含まれるマーカの位置に基づいて算出したが、携帯側に動きを検知するセンサ（加速度センサやジャイロセンサなど）を搭載して、センサ値に基づき位置を算出し、算出された位置に基づいて、据え置き側の表示装置に対する携帯側の向きを算出してもよい。
【０２４４】
なお、実施例や変形例では、据え置き側の表示装置と携帯側の画面とを同時に（目線を移さずに）見るのは困難であるが、携帯側の画面として、光学シースルー（半透明表示）が可能なヘッドマウントディスプレイを用いれば、これが可能になる。具体的には、ヘッドマウントディスプレイにカメラを取り付け（ただしカメラは別体でもよい）、このカメラで据え置き側の表示装置を撮像して、撮像画像からマーカを検出したとき、ヘッドマウントディスプレイにオブジェクトを表示する。ヘッドマウントディスプレイには、カメラからの撮像画像は表示しない。これによって、ヘッドマウントディスプレイに表示された半透明のオブジェクト越しに、据え置き側の表示装置に表示された画像（オブジェクト）を見ることができるので、据え置き側と携帯側との間で視覚的な連動性を高めることができる。
【０２４５】
以上では、ゲームシステム１０について説明したが、この発明は、第１表示手段を利用する第１画像処理装置（たとえば、モニタに接続された据え置き型のゲーム装置，ＰＣなど：モニタは外付けでも内蔵でもよい）と、撮像手段および第２表示手段を利用する第２画像処理装置（たとえば、ＬＣＤおよびカメラを内蔵する携帯型のゲーム装置，携帯通信端末，ＰＤＡなど：ＬＣＤやカメラは外付けでもよい）とを含む、画像処理システムに適用できる。
【０２４６】
なお、ＬＣＤやカメラが３Ｄ対応型であれば、図２５等に示したオブジェクトの飛び出しを、よりリアルに表現できる。
【符号の説明】
【０２４７】
１０  …ゲームシステム
１２  …（据え置き型の）ゲーム装置
２８  …モニタ
４０  …ＣＰＵ
４２ｂ  …ＧＰＵ
４２ｅ  …内部メインメモリ
４６  …外部メインメモリ
５０  …無線通信モジュール
１００  …（携帯型の）ゲーム装置
１１２  …（下側）ＬＣＤ
１１８  …（外側）カメラ
１４２  …ＣＰＵ
１４８  …メインメモリ
１５６  …無線通信モジュール
【図１】
0005643549.tif 000002
【図２】
0005643549.tif 000003
【図３】
0005643549.tif 000004
【図４】
0005643549.tif 000005
【図５】
0005643549.tif 000006
【図６】
0005643549.tif 000007
【図７】
0005643549.tif 000008
【図８】
0005643549.tif 000009
【図９】
0005643549.tif 000010
【図１０】
0005643549.tif 000011
【図１１】
0005643549.tif 000012
【図１２】
0005643549.tif 000013
【図１３】
0005643549.tif 000014
【図１４】
0005643549.tif 000015
【図１５】
0005643549.tif 000016
【図１６】
0005643549.tif 000017
【図１７】
0005643549.tif 000018
【図１８】
0005643549.tif 000019
【図１９】
0005643549.tif 000020
【図２０】
0005643549.tif 000021
【図２１】
0005643549.tif 000022
【図２２】
0005643549.tif 000023
【図２３】
0005643549.tif 000024
【図２４】
0005643549.tif 000025
【図２５】
0005643549.tif 000026
【図２６】
0005643549.tif 000027
【図２７】
0005643549.tif 000028
【図２８】
0005643549.tif 000029
【図２９】
0005643549.tif 000030
【図３０】
0005643549.tif 000031
【図３１】
0005643549.tif 000032
【図３２】
0005643549.tif 000033
【図３３】
0005643549.tif 000034