(57)【要約】【課題】ユーザに対してより興趣性を高めることができる情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法を提供する。【解決手段】第１の基準に基づいて第１の仮想オブジェクトを配置する第１の配置情報を送信し、第１の基準および第１の配置情報に基づいて、第１の仮想オブジェクトを第１の撮像画像内に表示する。一方、送信された第１の配置情報を取得して、第２の基準および第１の配置情報に基づいて、第１の仮想オブジェクトを第２の撮像画像内に表示する。【選択図】図５
2015176578.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置と当該第１の情報処理装置と通信可能な第２の情報処理装置とを少なくとも含む情報処理システムであって、
前記第１の情報処理装置は、
第１の撮像装置によって撮像された第１の撮像画像を取得する第１の撮像画像取得手段と、
第１の仮想オブジェクトを前記第１の撮像画像内に配置するための第１の基準を認識する第１の基準認識手段と、
前記第１の基準に基づいて前記第１の仮想オブジェクトを配置する第１の配置情報を設定する第１の配置情報設定手段と、
前記第１の配置情報を前記第２の情報処理装置に送信する第１の送信手段と、
前記第１の基準および前記第１の配置情報に基づいて、前記第１の仮想オブジェクトを前記第１の撮像画像内に配置して当該第１の撮像画像を第１の表示装置に表示する第１の表示制御手段とを備え、
前記第２の情報処理装置は、
前記第１の情報処理装置から送信された前記第１の配置情報を取得する第１の取得手段と、
第２の撮像装置によって前記第１の撮像装置とは異なる場所が撮像された第２の撮像画像を取得する第２の撮像画像取得手段と、
前記第１の仮想オブジェクトを前記第２の撮像画像内に少なくとも配置するための第２の基準を認識する第２の基準認識手段と、
前記第２の基準および前記第１の配置情報に基づいて、前記第１の仮想オブジェクトを前記第２の撮像画像内に配置して当該第２の撮像画像を第２の表示装置に表示する第２の表示制御手段とを備える、情報処理システム。
【請求項２】
前記第２の情報処理装置は、
前記第２の基準に基づいて第２の仮想オブジェクトを配置する第２の配置情報を設定する第２の配置情報設定手段と、
前記第２の配置情報を前記第１の情報処理装置に送信する第２の送信手段とを、さらに備え、
前記第２の表示制御手段は、前記第２の基準および前記第２の配置情報に基づいて、前記第２の仮想オブジェクトを前記第２の撮像画像内にさらに配置して当該第２の撮像画像を前記第２の表示装置に表示し、
前記第１の情報処理装置は、前記第２の情報処理装置から送信された前記第２の配置情報を取得する第２の取得手段を、さらに備え、
前記第１の表示制御手段は、前記第１の基準および前記第２の配置情報に基づいて、前記第２の仮想オブジェクトを前記第１の撮像画像内にさらに配置して当該第１の撮像画像を前記第１の表示装置に表示する、請求項１に記載の情報処理システム。
【請求項３】
前記第１の表示制御手段は、撮像された前記第１の撮像画像に前記第１の仮想オブジェクトを前記第１の配置情報に基づいて配置するとともに、当該撮像された前記第１の撮像画像に前記第２の仮想オブジェクトを前記取得した前記第２の配置情報に基づいて配置して、当該配置後の当該第１の撮像画像をリアルタイムに前記第１の表示装置に表示し、
前記第２の表示制御手段は、撮像された前記第２の撮像画像に前記第２の仮想オブジェクトを前記第２の配置情報に基づいて配置するとともに、当該撮像された前記第２の撮像画像に前記第１の仮想オブジェクトを前記取得した前記第１の配置情報に基づいて配置して、当該配置後の当該第２の撮像画像をリアルタイムに前記第２の表示装置に表示する、請求項２に記載の情報処理システム。
【請求項４】
前記配置情報は、前記第１の基準から前記仮想オブジェクトを前記撮像画像内に配置する位置および方向を示す情報であるとともに、同じ情報で前記第２の基準から前記仮想オブジェクトを前記撮像画像内に配置する位置および方向を示す情報である、請求項１乃至３の何れか１つに記載の情報処理システム。
【請求項５】
前記第１の基準認識手段は、前記第１の撮像画像内に所定のマーカを被写体とした画像が含まれる場合、当該マーカの画像を前記第１の基準として認識し、
前記第２の基準認識手段は、前記第２の撮像画像内に所定のマーカを被写体とした画像が含まれる場合、当該マーカの画像を前記第２の基準として認識する、請求項１乃至４の何れか１つに記載の情報処理システム。
【請求項６】
前記第１の配置情報設定手段は、前記第１の仮想オブジェクトの主観視点から見た現実世界の様子が前記第１の撮像画像となるように当該第１の仮想オブジェクトの配置位置を設定して前記第１の配置情報を設定する、請求項１乃至５の何れか１つに記載の情報処理システム。
【請求項７】
前記第１の送信手段は、第１の特定の場所に前記第１の情報処理装置が位置しており、かつ、第２の特定の場所に前記第２の情報処理装置が位置している場合に、前記第１の配置情報を前記第２の情報処理装置に送信することが可能であり、
前記第１の取得手段は、前記第１の特定の場所に前記第１の情報処理装置が位置しており、かつ、前記第２の特定の場所に前記第２の情報処理装置が位置している場合に、前記第１の情報処理装置から送信された前記第１の配置情報を取得することが可能である、請求項１乃至６の何れか１つに記載の情報処理システム。
【請求項８】
前記情報処理システムは、さらに第３の情報処理装置を少なくとも含み、
前記第２の特定の場所には、前記第２の情報処理装置の他に少なくとも前記第３の情報処理装置が位置しており、
前記第１の送信手段は、前記第１の配置情報を前記第２の情報処理装置および前記第３の情報処理装置に送信し、
前記第３の情報処理装置は、
前記第１の情報処理装置から送信された前記第１の配置情報を取得する第３の取得手段と、
第３の撮像装置によって前記第２の特定の場所が撮像された第３の撮像画像を取得する第３の撮像画像取得手段と、
前記第１の仮想オブジェクトを前記第３の撮像画像内に配置するための基準として、前記第２の基準を認識する第３の基準認識手段と、
前記第２の基準および前記第１の配置情報に基づいて、前記第１の仮想オブジェクトを前記第３の撮像画像内に配置して当該第３の撮像画像を第３の表示装置に表示する第３の表示制御手段とを備える、請求項７に記載の情報処理システム。
【請求項９】
前記第１の特定の場所に位置する前記第１の情報処理装置と前記第２の特定の場所に位置する前記第２の情報処理装置とは、所定のネットワークを介して通信可能に構成される、請求項７または８に記載の情報処理システム。
【請求項１０】
他の装置と通信可能な情報処理装置であって、
撮像装置によって撮像された第１の撮像画像を取得する撮像画像取得手段と、
第１の仮想オブジェクトを前記第１の撮像画像内に配置するための第１の基準を認識する第１の基準認識手段と、
前記第１の基準に基づいて前記第１の仮想オブジェクトを配置する第１の配置情報を設定する第１の配置情報設定手段と、
前記第１の配置情報を前記他の装置に送信する送信手段と、
第２の基準に基づいて第２の仮想オブジェクトを配置する第２の配置情報を、前記他の装置から取得する取得手段と、
前記第１の基準および前記第１の配置情報に基づいて前記第１の仮想オブジェクトを前記第１の撮像画像内に配置し、前記第１の基準および前記第２の配置情報に基づいて前記第２の仮想オブジェクトを当該第１の撮像画像内に配置して、当該第１の撮像画像を表示装置に表示する表示制御手段とを備える、情報処理装置。
【請求項１１】
他の装置と通信可能な情報処理装置に含まれるコンピュータで実行される情報処理プログラムであって、
前記コンピュータを、
撮像装置によって撮像された第１の撮像画像を取得する撮像画像取得手段と、
第１の仮想オブジェクトを前記第１の撮像画像内に配置するための第１の基準を認識する第１の基準認識手段と、
前記第１の基準に基づいて前記第１の仮想オブジェクトを配置する第１の配置情報を設定する第１の配置情報設定手段と、
前記第１の配置情報を前記他の装置に送信する送信手段と、
第２の基準に基づいて第２の仮想オブジェクトを配置する第２の配置情報を、前記他の装置から取得する取得手段と、
前記第１の基準および前記第１の配置情報に基づいて前記第１の仮想オブジェクトを前記第１の撮像画像内に配置し、前記第１の基準および前記第２の配置情報に基づいて前記第２の仮想オブジェクトを当該第１の撮像画像内に配置して、当該第１の撮像画像を表示装置に表示する表示制御手段として機能させる、情報処理プログラム。
【請求項１２】
他の装置と通信可能な情報処理装置を少なくとも含む情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行される情報処理方法であって、
撮像装置によって撮像された第１の撮像画像を取得する撮像画像取得ステップと、
第１の仮想オブジェクトを前記第１の撮像画像内に配置するための第１の基準を認識する第１の基準認識ステップと、
前記第１の基準に基づいて前記第１の仮想オブジェクトを配置する第１の配置情報を設定する第１の配置情報設定ステップと、
前記第１の配置情報を前記他の装置に送信する送信ステップと、
第２の基準に基づいて第２の仮想オブジェクトを配置する第２の配置情報を、前記他の装置から取得する取得ステップと、
前記第１の基準および前記第１の配置情報に基づいて前記第１の仮想オブジェクトを前記第１の撮像画像内に配置し、前記第１の基準および前記第２の配置情報に基づいて前記第２の仮想オブジェクトを当該第１の撮像画像内に配置して、当該第１の撮像画像を表示装置に表示する表示制御ステップとを含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法に関し、特に例えば、撮像画像に基づいて所定の処理を行う情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法に関する。
【背景技術】
【０００２】
従来、カメラ等の撮像手段によって撮像された画像（撮像画像）から所定の撮像対象を検出し、当該撮像対象に応じて仮想オブジェクトを表示する技術がある（例えば、非特許文献１参照）。例えば、非特許文献１には、拡張現実感技術において、カメラによる撮像画像に含まれるマーカに対して画像認識処理を行い、当該マーカが検出された場合に当該マーカ位置に基づいて仮想オブジェクトを撮像画像に合成して表示することが記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】加藤博一，Mark Billinghurst，浅野浩一，橘啓八郎、「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」、日本バーチャルリアリティ学会論文誌  Ｖｏｌ．４  Ｎｏ．４、１９９９年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記非特許文献１に記載の技術は、単に撮像対象に応じた仮想オブジェクトを表示するだけであり、より興趣性を高く仮想オブジェクトを表示するという点では改善の余地がある。
【０００５】
それ故に、本発明の目的は、ユーザに対してより興趣性を高めることができる情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明の情報処理システムの一構成例は、第１の情報処理装置と当該第１の情報処理装置と通信可能な第２の情報処理装置とを少なくとも含む。第１の情報処理装置は、第１の撮像画像取得手段、第１の基準認識手段、第１の配置情報設定手段、第１の送信手段、および第１の表示制御手段を備える。第１の撮像画像取得手段は、第１の撮像装置によって撮像された第１の撮像画像を取得する。第１の基準認識手段は、第１の仮想オブジェクトを第１の撮像画像内に配置するための第１の基準を認識する。第１の配置情報設定手段は、第１の基準に基づいて第１の仮想オブジェクトを配置する第１の配置情報を設定する。第１の送信手段は、第１の配置情報を第２の情報処理装置に送信する。第１の表示制御手段は、第１の基準および第１の配置情報に基づいて、第１の仮想オブジェクトを第１の撮像画像内に配置して当該第１の撮像画像を第１の表示装置に表示する。第２の情報処理装置は、第１の取得手段、第２の撮像画像取得手段、第２の基準認識手段、および第２の表示制御手段を備える。第１の取得手段は、第１の情報処理装置から送信された第１の配置情報を取得する。第２の撮像画像取得手段は、第２の撮像装置によって第１の撮像装置とは異なる場所が撮像された第２の撮像画像を取得する。第２の基準認識手段は、第１の仮想オブジェクトを第２の撮像画像内に少なくとも配置するための第２の基準を認識する。第２の表示制御手段は、第２の基準および第１の配置情報に基づいて、第１の仮想オブジェクトを第２の撮像画像内に配置して当該第２の撮像画像を第２の表示装置に表示する。
【０００８】
上記によれば、第１の表示装置における第１の撮像画像内に表示される第１の仮想オブジェクトが、第２の表示装置における第２の撮像画像内にも表示される。また、第１の撮像画像内に表示される第１の仮想オブジェクトの配置に基づいて、第２の撮像画像内に表示される第１の仮想オブジェクトの配置が制御されるため、ユーザに対して興趣性を高めることができる。また、第１の撮像装置および第２の撮像装置がそれぞれ撮像する現実世界の場所に対して、仮想オブジェクトを配置する共通の空間をそれぞれの場所に生成することができる。
【０００９】
また、上記第２の情報処理装置は、第２の配置情報設定手段および第２の送信手段を、さらに備えてもよい。第２の配置情報設定手段は、第２の基準に基づいて第２の仮想オブジェクトを配置する第２の配置情報を設定する。第２の送信手段は、第２の配置情報を第１の情報処理装置に送信する。上記第２の表示制御手段は、第２の基準および第２の配置情報に基づいて、第２の仮想オブジェクトを第２の撮像画像内にさらに配置して当該第２の撮像画像を第２の表示装置に表示してもよい。上記第１の情報処理装置は、第２の取得手段を、さらに備えてもよい。第２の取得手段は、第２の情報処理装置から送信された第２の配置情報を取得する。上記第１の表示制御手段は、第１の基準および第２の配置情報に基づいて、第２の仮想オブジェクトを第１の撮像画像内にさらに配置して当該第１の撮像画像を第１の表示装置に表示してもよい。
【００１０】
上記によれば、第２の表示装置における第２の撮像画像内に表示される第２の仮想オブジェクトが、第１の表示装置における第１の撮像画像内にも表示される。また、第２の撮像画像内に表示される第２の仮想オブジェクトの配置に基づいて、第１の撮像画像内に表示される第２の仮想オブジェクトの配置が制御される。したがって、第１の撮像装置および第２の撮像装置がそれぞれ撮像する現実世界の場所に対して、それぞれの情報処理装置によってその配置が制御されている同じ仮想オブジェクトを配置した共通の空間をそれぞれの場所に生成することができるため、ユーザに対してより興趣性を高めることができる。
【００１１】
また、上記第１の表示制御手段は、撮像された第１の撮像画像に第１の仮想オブジェクトを第１の配置情報に基づいて配置するとともに、当該撮像された第１の撮像画像に第２の仮想オブジェクトを取得した第２の配置情報に基づいて配置して、当該配置後の当該第１の撮像画像をリアルタイムに第１の表示装置に表示してもよい。上記第２の表示制御手段は、撮像された第２の撮像画像に第２の仮想オブジェクトを第２の配置情報に基づいて配置するとともに、当該撮像された第２の撮像画像に第１の仮想オブジェクトを取得した第１の配置情報に基づいて配置して、当該配置後の当該第２の撮像画像をリアルタイムに第２の表示装置に表示してもよい。
【００１２】
上記によれば、第１の情報処理装置によって制御される第１の仮想オブジェクトと第２の情報処理装置によって制御される第２の仮想オブジェクトとが、同じ表示装置にリアルタイムに表示されるため、ユーザに対してより興趣性を高めることができる。
【００１３】
また、上記配置情報は、第１の基準から仮想オブジェクトを撮像画像内に配置する位置および方向を示す情報であるとともに、同じ情報で第２の基準から仮想オブジェクトを撮像画像内に配置する位置および方向を示す情報でもよい。
【００１４】
上記によれば、第１の基準に基づいて第１の撮像画像内に表示されている仮想オブジェクトを、第２の基準に基づいて第２の撮像画像内にも同じ方向で同じ位置に配置することができる。
【００１５】
また、上記第１の基準認識手段は、第１の撮像画像内に所定のマーカを被写体とした画像が含まれる場合、当該マーカの画像を第１の基準として認識してもよい。上記第２の基準認識手段は、第２の撮像画像内に所定のマーカを被写体とした画像が含まれる場合、当該マーカの画像を第２の基準として認識してもよい。
【００１６】
上記によれば、現実世界内に所定のマーカを配置することによって、仮想オブジェクトを配置するための基準を容易に準備することができる。
【００１７】
また、上記第１の配置情報設定手段は、第１の仮想オブジェクトの主観視点から見た現実世界の様子が第１の撮像画像となるように当該第１の仮想オブジェクトの配置位置を設定して第１の配置情報を設定してもよい。
【００１８】
上記によれば、自機が配置制御する仮想オブジェクトの主観視点から見た現実世界画像が表示されるため、当該仮想オブジェクトを操作しているリアリティを高めることができる。
【００１９】
また、上記第１の送信手段は、第１の特定の場所に第１の情報処理装置が位置しており、かつ、第２の特定の場所に第２の情報処理装置が位置している場合に、第１の配置情報を第２の情報処理装置に送信することが可能でもよい。上記第１の取得手段は、第１の特定の場所に第１の情報処理装置が位置しており、かつ、第２の特定の場所に第２の情報処理装置が位置している場合に、第１の情報処理装置から送信された第１の配置情報を取得することが可能でもよい。
【００２０】
上記によれば、第１の情報処理装置のユーザおよび第２の情報処理装置のユーザをそれぞれ別の特定の場所に誘導するための有効な動機付けとなる。
【００２１】
また、上記情報処理システムは、さらに第３の情報処理装置を少なくとも含んでもよい。上記第２の特定の場所には、第２の情報処理装置の他に少なくとも第３の情報処理装置が位置してもよい。上記第１の送信手段は、第１の配置情報を第２の情報処理装置および第３の情報処理装置に送信してもよい。上記第３の情報処理装置は、第３の取得手段、第３の撮像画像取得手段、第３の基準認識手段、および第３の表示制御手段を備えてもよい。第３の取得手段は、第１の情報処理装置から送信された第１の配置情報を取得する。第３の撮像画像取得手段は、第３の撮像装置によって第２の特定の場所が撮像された第３の撮像画像を取得する。第３の基準認識手段は、第１の仮想オブジェクトを第３の撮像画像内に配置するための基準として、第２の基準を認識する。第３の表示制御手段は、第２の基準および第１の配置情報に基づいて、第１の仮想オブジェクトを第３の撮像画像内に配置して当該第３の撮像画像を第３の表示装置に表示する。
【００２２】
上記によれば、第２の特定の場所に位置している複数の情報処理装置がそれぞれ表示装置に表示する第１の仮想オブジェクトを、第１の特定の場所に位置している情報処理装置によって表示制御する環境を構築することができる。
【００２３】
また、上記第１の特定の場所に位置する第１の情報処理装置と第２の特定の場所に位置する第２の情報処理装置とは、所定のネットワークを介して通信可能に構成されてもよい。
【００２４】
上記によれば、所定のネットワークを介して、特定の場所を容易に接続することができ、当該ネットワークを介して仮想オブジェクトを配置する共通の空間をそれぞれの場所に生成することができる。
【００２５】
また、本発明は、上記各手段の少なくとも一部を備える情報処理装置、上記各手段の少なくとも一部としてコンピュータを機能させる情報処理プログラムや上記各手段で行われる動作の少なくとも一部を含む情報処理方法の形態で実施されてもよい。
【発明の効果】
【００２６】
本発明によれば、ユーザに対して興趣性を高めることができる。また、第１の撮像装置および第２の撮像装置がそれぞれ撮像する現実世界の場所に対して、仮想オブジェクトを配置する共通の空間をそれぞれの場所に生成することができる。
【図面の簡単な説明】
【００２７】
【図１】複数の情報処理装置５ａ〜５ｄを含む情報処理システム１の一例を示すブロック図
【図２】情報処理装置５の構成の一例を示すブロック図
【図３】情報処理システム１において、アクセスポイントＡＰ１に接続して複数の情報処理装置５ａおよび５ｂを操作する様子の一例を示す図
【図４】情報処理システム１において、アクセスポイントＡＰ２に接続して複数の情報処理装置５ｃおよび５ｄを操作する様子の一例を示す図
【図５】情報処理装置５ａに仮想オブジェクトＯＢＪａ〜ＯＢＪｄが表示された一例を示す図
【図６】各仮想オブジェクトＯＢＪａ〜ＯＢＪｄに対して設定されるプレイヤオブジェクト設定データの一例を説明するための図
【図７】情報処理装置５のメモリ５６に記憶される主なデータおよびプログラムの一例を示す図
【図８】情報処理装置５（ＣＰＵ５５）において実行される情報処理の前半の一例を示すフローチャート
【図９】情報処理装置５（ＣＰＵ５５）において実行される情報処理の後半の一例を示すフローチャート
【発明を実施するための形態】
【００２８】
図１および図２を参照して、本発明の一実施形態に係る情報処理プログラムを実行する情報処理装置を含む情報処理システムおよび当該情報処理装置について説明する。なお、図１は、複数の情報処理装置５ａ〜５ｄを含む情報処理システム１の一例を示すブロック図である。図２は、情報処理装置５の構成の一例を示すブロック図である。
【００２９】
図１に示すように、情報処理システム１は、複数の情報処理装置５ａおよび５ｂと複数の情報処理装置５ｃおよび５ｄとが遠隔配置されており、アクセスポイントＡＰ１、アクセスポイントＡＰ２、およびネットワーク１００（例えば、インターネット）を介してそれぞれの情報処理装置群の間が接続されて構築される。例えば、情報処理装置５ａおよび５ｂは、無線通信を用いて、アクセスポイントＡＰ１を介してネットワーク１００に接続可能にそれぞれ構成されている。また、情報処理装置５ｃおよび５ｄは、無線通信を用いて、アクセスポイントＡＰ２を介してネットワーク１００に接続可能にそれぞれ構成されている。そして、情報処理装置５ａおよび５ｂと情報処理装置５ｃおよび５ｄとは、ネットワーク１００を介して、他方との接続を確立することによって、互いに無線通信が可能となる。また、情報処理装置群内（図１の例では、情報処理装置５ａと情報処理装置５ｂとの間、または情報処理装置５ｃと情報処理装置５ｄとの間）においても、無線通信を用いて、アクセスポイントＡＰ１またはＡＰ２を介して、情報処理装置５の間が接続可能に構成されている。
【００３０】
例えば、情報処理装置５は、交換可能なメモリカードや光ディスク等の記録媒体内に記憶された、または、サーバや他の装置から受信されたプログラムを実行可能である。情報処理装置５は、携帯ゲーム装置であってもよく、一般的なパーソナルコンピュータ、携帯電話機、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等のデバイスであってもかまわない。
【００３１】
図２に示すように、情報処理装置５は、撮像部５０、操作部５１、ＬＣＤ５２、ＣＰＵ５５、メモリ５６、プログラム記憶部５７、および通信部５８等を備える。なお、情報処理装置５は、ＣＰＵ５５を少なくとも含む情報処理装置と他の装置とを含む１以上の装置によって構成されてもよい。
【００３２】
ＣＰＵ５５は、各種の情報処理を実行するための情報処理手段（コンピュータ）の一例である。ＣＰＵ５５は、各種の情報処理として、通信部５８を介して他の情報処理装置５から送信されたデータを受信し、当該データに応じた処理等を実行する機能を有する。また、ＣＰＵ５５は、各種の情報処理として、他の情報処理装置５へ送信するデータ（例えば、プレイヤオブジェクト設定データ）を作成して、通信部５８を介して当該データを送信する処理等を実行する機能を有する。例えば、ＣＰＵ５５が所定のプログラムを実行することによって、上記機能が実現される。本実施形態においては、情報処理装置５は、特定のアクセスポイントＡＰを介して他の情報処理装置５と通信して所定のゲームプレイが可能となり、通信部５８を用いて特定のアクセスポイントＡＰと通信可能となった場合に他の情報処理装置５と通信を行って当該ゲームを開始する。
【００３３】
また、ＣＰＵ５５は、各種の情報処理として、撮像部５０によって撮像された撮像画像や操作部５１に対するユーザの操作に応じた処理等を実行する機能を有する。本実施形態においては、撮像部５０が撮像した撮像画像内に所定のマーカ画像が含まれる場合、ＣＰＵ５５は、当該マーカ画像の表示位置に基づいた配置位置に仮想オブジェクトを当該撮像画像に合成してＬＣＤ５２に表示する表示制御処理を行う。
【００３４】
メモリ５６は、ＣＰＵ５５が上記処理を実行する際に用いる各種のデータを記憶する。メモリ５６は、例えばＣＰＵ５５がアクセス可能なメモリである。
【００３５】
プログラム記憶部５７は、プログラムを記憶（格納）する。プログラム記憶部５７は、ＣＰＵ５５がアクセス可能な記憶装置（記憶媒体）であればどのようなものであってもよい。例えば、プログラム記憶部５７は、ＣＰＵ５５を含む情報処理装置５内に設けられる記憶装置であってもよいし、ＣＰＵ５５を含む情報処理装置５に着脱自在に装着される記憶媒体であってもよい。また、プログラム記憶部５７は、ＣＰＵ５５とネットワークを介して接続される記憶装置（サーバ等）であってもよい。ＣＰＵ５５は、プログラムの一部または全部を適宜のタイミングでメモリ５６に読み出し、読み出されたプログラムを実行するようにしてもよい。
【００３６】
操作部５１は、ユーザによって操作可能な入力装置である。操作部５１は、どのような入力装置であってもよい。例えば、操作部５１は、操作ボタン、スティック、タッチパネル等の入力装置でもいいし、ジャイロセンサや加速度センサ等の姿勢センサを備えていてもよい。
【００３７】
ＬＣＤ５２は、情報処理装置５が備える表示部の一例であり、ＣＰＵ５５の指示にしたがって画像を表示する。なお、ＬＣＤ５２は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示して、立体視可能な表示装置であってもよい。
【００３８】
例えば、撮像部５０は、情報処理装置５のハウジング外面に固設され、ＬＣＤ５２の画面奥行方向を撮像方向とするカメラを含む。上記カメラは、ＣＰＵ５５と接続されており、ＣＰＵ５５の指示にしたがって画像を撮像し、撮像した画像データをＣＰＵ５５に出力する。上記カメラは、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。なお、レンズは、ズーム機構を有するものでもよい。また、上記カメラは、撮像方向が左右平行となるように固設された２つの撮像部によってステレオカメラを構成してもかまわない。
【００３９】
本実施形態において、情報処理装置５は、それぞれ通信パケットの送受信を行うことで、特定のアクセスポイントＡＰと接続する他の情報処理装置５と通信を行う。情報処理装置５は、情報処理装置５のユーザによって操作可能であり、他の情報処理装置５で表示される画像を制御するデータを当該他の情報処理装置５へ送信するとともに、他の情報処理装置５から送信されたデータに応じた処理を行う。例えば、情報処理装置５は、撮像画像に合成して他の情報処理装置５のＬＣＤ５２に表示される仮想オブジェクトを制御するためのデータ（プレイヤオブジェクト設定データ）を生成して、当該データを特定のアクセスポイントＡＰと接続する他の情報処理装置５に送信する処理を行う。また、情報処理装置５は、他の情報処理装置５から送信されたプレイヤオブジェクト設定データを受信して、他の情報処理装置５で設定された仮想オブジェクトに関する情報（例えば、仮想オブジェクトの種別、位置、方向、移動速度等を示す情報）を取得する。
【００４０】
次に、情報処理装置５が行う具体的な処理を説明する前に、図３〜図６を用いて情報処理システム１において行われる処理の概要の一例について説明する。図３は、情報処理システム１において、アクセスポイントＡＰ１に接続して複数の情報処理装置５ａおよび５ｂを操作する様子の一例を示す図である。図４は、情報処理システム１において、アクセスポイントＡＰ２に接続して複数の情報処理装置５ｃおよび５ｄを操作する様子の一例を示す図である。図５は、情報処理装置５ａに仮想オブジェクトＯＢＪａ〜ＯＢＪｄが表示された一例を示す図である。図６は、各仮想オブジェクトＯＢＪａ〜ＯＢＪｄに対して設定されるプレイヤオブジェクト設定データの一例を説明するための図である。
【００４１】
図３において、現実世界の部屋に特定のアクセスポイントＡＰ１が設置されている。また、アクセスポイントＡＰ１が設置されている場所の床面には、マーカＭが配置されたレースコースＡが描かれている。マーカＭは、一例として矩形の枠内に所定の図形や文字が描かれている。そして、アクセスポイントＡＰ１が設置されている場所には、情報処理装置５ａを操作するユーザＡと情報処理装置５ｂを操作するユーザＢとが訪れている。なお、図３において記載されたレースコースＡを走行している仮想オブジェクトＯＢＪａ〜ＯＢＪｄは、情報処理装置５ａのＬＣＤ５２または情報処理装置５ｂのＬＣＤ５２を介して見える画像を概念的に示したものであり、これらについては後述する。
【００４２】
図４において、アクセスポイントＡＰ１が設置されている場所とは異なる場所（例えば、アクセスポイントＡＰ１が設置された場所の遠隔地や隣接する場所）に特定のアクセスポイントＡＰ２が設置されている。また、アクセスポイントＡＰ２が設置されている場所の床面にも、マーカＭが配置されたレースコースＢが描かれている。ここで、レースコースＢは、レースコースＡと同一の形状であり、マーカＭとの位置関係もレースコースＡと同じになるように配置されている。また、本実施例では、アクセスポイントＡＰ２が設置されている場所に配置されているマーカＭは、アクセスポイントＡＰ１が設置されている場所に配置されているマーカＭと同じものである。そして、アクセスポイントＡＰ２が設置されている場所には、情報処理装置５ｃを操作するユーザＣと情報処理装置５ｄを操作するユーザＤとが訪れている。なお、図４において記載されたレースコースＢを走行している仮想オブジェクトＯＢＪａ〜ＯＢＪｄも、情報処理装置５ｃのＬＣＤ５２または情報処理装置５ｄのＬＣＤ５２を介して見える画像を概念的に示したものであり、これらについては後述する。
【００４３】
情報処理装置５ａ〜５ｄのユーザＡ〜Ｄがそれぞれ撮像部５０を用いて現実世界を撮像した場合、ＣＰＵ５５は、撮像部５０から取得される撮像画像に対して例えばパターンマッチング等の画像処理を行うことによって、当該撮像画像にマーカＭが含まれているか否かを判定する。そして、撮像部５０によってマーカＭが撮像されている場合、現実世界画像としてマーカＭが被写体として含まれている撮像画像がＬＣＤ５２に表示されるとともに、現実世界画像に含まれるマーカ画像Ｍの表示位置に基づいた位置に仮想オブジェクトＯＢＪがＬＣＤ５２に合成表示される。
【００４４】
例えば、図５に示すように、情報処理装置５ａのユーザＡが撮像部５０を用いて床面のマーカＭを含む現実世界を撮像した場合、現実世界画像に含まれるマーカ画像Ｍの表示位置に基づいた位置（例えば、レースコースＡ上）に仮想オブジェクトＯＢＪａ〜ＯＢＪｄがＬＣＤ５２に合成表示される。
【００４５】
本実施例では、撮像画像に合成される仮想オブジェクトＯＢＪａは、情報処理装置５ａのユーザＡによって操作されるプレイヤオブジェクトであり、ユーザＡの操作に応じて、その種別と動作とが制御される。例えば、情報処理装置５ａは、マーカＭの位置を原点としてマーカＭを含む仮想平面上に、マーカＭが撮像されているサイズに応じた大きさで仮想オブジェクトＯＢＪａを配置して現実世界画像に合成する。そして、情報処理装置５ａは、情報処理装置５ａの操作部５１に対するユーザ操作に応じて、上記仮想平面上で仮想オブジェクトＯＢＪａを移動させる。
【００４６】
一方、撮像画像に合成される仮想オブジェクトＯＢＪｂ〜ＯＢＪｄは、アクセスポイントＡＰ１および／またはＡＰ２を介して、他の情報処理装置５から送信されるデータに基づいてその種別と動作とが制御される。ここで、アクセスポイントＡＰ１およびＡＰ２は、情報処理装置５との無線通信が可能となる通信範囲をそれぞれ有している。情報処理装置５がアクセスポイントＡＰ１の通信範囲内またはアクセスポイントＡＰ２の通信範囲内に進入した場合、情報処理装置５とアクセスポイントＡＰ１またはＡＰ２との間における無線通信の接続を確立する処理が自動的またはユーザ操作に応じて行われる。そして、特定のアクセスポイントＡＰ１と接続した情報処理装置５に設定されている送信用データ（プレイヤオブジェクト設定データ）が、特定のアクセスポイントＡＰ１またはＡＰ２と接続した他の情報処理装置５へ送信される。また、特定のアクセスポイントＡＰ２と接続した情報処理装置５に設定されている送信用データが、特定のアクセスポイントＡＰ１またはＡＰ２と接続した他の情報処理装置５へ送信される。つまり、図４〜図５に示した例では、特定のアクセスポイントＡＰ１と接続した情報処理装置５ａの送信用データは、特定のアクセスポイントＡＰ２と接続した情報処理装置５ｃおよび５ｄと、特定のアクセスポイントＡＰ１と接続した情報処理装置５ｂとに送信される。また、特定のアクセスポイントＡＰ２と接続した情報処理装置５ｃの送信用データは、特定のアクセスポイントＡＰ１と接続した情報処理装置５ａおよび５ｂと、特定のアクセスポイントＡＰ２と接続した情報処理装置５ｄとに送信される。
【００４７】
各情報処理装置５は、送信先となる他の情報処理装置５に対して、自機のユーザが操作しているプレイヤオブジェクトである仮想オブジェクトＯＢＪの種別、位置、方向、移動速度等を示すデータ（プレイヤオブジェクト設定データ）等をそれぞれ送信する。例えば、図５の例では、ユーザＡが操作するプレイヤオブジェクト（仮想オブジェクトＯＢＪａ）に加えて、情報処理装置５ｂ〜５ｄから送信されたプレイヤオブジェクト設定データに応じて、ユーザＢ〜Ｄがそれぞれ操作する仮想オブジェクトＯＢＪｂ〜ＯＢＪｄが情報処理装置５ａのＬＣＤ５２に表示されている。このような場合、情報処理装置５ａは、自機のユーザが操作しているプレイヤオブジェクトである仮想オブジェクトＯＢＪａの種別、位置、方向、移動速度等を示すプレイヤオブジェクト設定データを、情報処理装置５ｂ〜５ｄに送信するとともに、仮想オブジェクトＯＢＪｂ〜ＯＢＪｄの種別、位置、方向、移動速度等を示すプレイヤオブジェクト設定データを、他の情報処理装置５ｂ〜５ｄからそれぞれ受信している。
【００４８】
例えば、図６に示すように、上記プレイヤオブジェクト設定データによって設定される仮想オブジェクトＯＢＪの位置、方向、移動速度等を示す情報は、マーカ座標系を用いて算出される。ここで、マーカ座標系は、実世界におけるマーカＭの位置を原点とし、マーカＭの縦方向、横方向、および法線方向の各方向を各軸とする座標系である。例えば、ユーザＡが操作する仮想オブジェクトＯＢＪａの位置Ｐａは、マーカ座標系の座標（Ｘａ，Ｙａ，Ｚａ）で表される。また、仮想オブジェクトＯＢＪａの方向および移動速度は、マーカ座標系におけるベクトルＶａで表される。同様に、ユーザＢが操作する仮想オブジェクトＯＢＪｂの位置Ｐｂ、方向、および移動速度は、マーカ座標系の座標（Ｘｂ，Ｙｂ，Ｚｂ）およびベクトルＶｂで表される。また、ユーザＣが操作する仮想オブジェクトＯＢＪｃの位置Ｐｃ、方向、および移動速度は、マーカ座標系の座標（Ｘｃ，Ｙｃ，Ｚｃ）およびベクトルＶｃで表される。また、ユーザＤが操作する仮想オブジェクトＯＢＪｄの位置Ｐｄ、方向、および移動速度は、マーカ座標系の座標（Ｘｄ，Ｙｄ，Ｚｄ）およびベクトルＶｄで表される。
【００４９】
このようなマーカ座標系で表された座標およびベクトルは、撮像画像におけるマーカＭの位置および姿勢に基づいた撮像部５０とマーカＭとの位置関係によって算出されたマーカ・カメラ変換行列を用いて、現実世界画像における座標（撮像座標系）に変換することができる。ここで、マーカ・カメラ変換行列は、撮像画像におけるマーカＭの位置および姿勢に基づいて算出される撮像部５０の位置および姿勢を反映した行列である。より正確には、マーカ座標系で表された座標を、撮像画像におけるマーカＭの位置および姿勢に基づいて計算された撮像部５０の位置および姿勢を基準とした撮像座標系で表される座標へと変換するための座標変換行列である。ここで、コンピュータによるＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）技術では、マーカ座標系を撮像座標系に変換する上記マーカ・カメラ変換行列を仮想カメラのビュー行列に指定することにより、現実世界画像（撮像画像）にＣＧ画像（マーカ座標系によって仮想オブジェクトＯＢＪａ〜ＯＢＪｄが配置された仮想世界画像）を合成することができる。
【００５０】
このように、特定のアクセスポイントＡＰ１と接続した情報処理装置５ａおよび５ｂでは、マーカＭを基準とした仮想空間が合成された現実世界画像がそれぞれのＬＣＤ５２に表示され、当該仮想空間には他の場所に配置されている情報処理装置５が制御している仮想オブジェクトも配置されている。一方、特定のアクセスポイントＡＰ２と接続した情報処理装置５ｃおよび５ｄでも、マーカＭを基準とした同じ仮想空間が合成された現実世界画像がそれぞれのＬＣＤ５２に表示され、当該仮想空間には他の場所に配置されている情報処理装置５が制御している仮想オブジェクトも配置されている。つまり、情報処理装置５のＬＣＤ５２を介して、特定のアクセスポイントＡＰ１が配置されている場所と特定のアクセスポイントＡＰ２が配置されている場所とにそれぞれマーカＭを基準とした同じ仮想空間が生成される。また、それぞれの仮想空間には、同じ仮想オブジェクトＯＢＪが同様の動作で動くように制御されている。このように、情報処理システム１は、離れた場所に共通の仮想空間をそれぞれ生成し、当該仮想空間が合成された現実世界画像をそれぞれの場所の情報処理装置５に表示することができる。したがって、情報処理システム１を用いることによって、異なる場所を撮像した画像に共通の仮想空間を合成して利用するＡＲゲームをリアルタイムで行うことができる。また、このようなイベントが可能なアクセスポイントを特定のアクセスポイントＡＰ１およびＡＰ２に絞ることによって、特定の場所（特定のアクセスポイントＡＰ１またはＡＰ２の設置場所）にユーザを誘導するための有効な動機付けとなる。
【００５１】
なお、仮想オブジェクトＯＢＪの画像データは、情報処理装置５がアクセスポイントＡＰと接続されることに応じて当該仮想オブジェクトＯＢＪを操作する情報処理装置５から適宜送信されてもいいし、送信先となる情報処理装置５に予め格納されていてもかまわない。一例として、各情報処理装置５に仮想オブジェクトＯＢＪを構成するパーツが予め格納されている場合、仮想オブジェクトＯＢＪの種別および／または動作を設定する際に、各パーツの選択情報および各パーツの位置、方向、大きさを示す情報が設定されて、当該設定を示すデータが他の情報処理装置５へ送信される。そして、送信先の情報処理装置５において、予め格納されている仮想オブジェクトＯＢＪのパーツを受信データに基づいて配置することによって、送信元の設定に基づいた仮想オブジェクトＯＢＪの画像データが生成される。
【００５２】
また、撮像画像からマーカＭを検出することによって出現する仮想オブジェクトＯＢＪは、一例として、特定のアクセスポイントＡＰと接続された場合のみＬＣＤ５２に表示可能に構成されてもよい。また、他の例として、特定のアクセスポイントＡＰと接続された場合のみ特別なオブジェクトが仮想オブジェクトＯＢＪとしてＬＣＤ５２に表示されてもよい。前者の場合、マーカＭを撮像しただけでは仮想オブジェクトＯＢＪが表示されないため、ユーザは、仮想オブジェクトＯＢＪを表示するためにはマーカＭが設置されている特定のアクセスポイントＡＰの通信範囲内に行く必要がある。後者の場合も、マーカＭを撮像しただけでは特別なオブジェクトが仮想オブジェクトＯＢＪとして表示されないため、ユーザは、特別なオブジェクトを利用するためにはマーカＭが設置されている特定のアクセスポイントＡＰの通信範囲内に行く必要がある。したがって、何れの場合も特定のアクセスポイントＡＰと情報処理装置５とが通信を確立する必要があるため、特定の場所（特定のアクセスポイントＡＰ設置場所）にユーザを誘導するための有効な動機付けとなる。
【００５３】
また、仮想オブジェクトＯＢＪの動作は、送信先となる情報処理装置５側で設定されてもよい。例えば、送信先の情報処理装置５が仮想オブジェクトＯＢＪ（プレイヤオブジェクト）を操作する操作データ自体を受信した場合、送信先の情報処理装置５において当該操作データから当該仮想オブジェクトＯＢＪの動作を算出して送信元の仮想オブジェクトＯＢＪの動作を設定してもよい。
【００５４】
また、情報処理装置５のユーザが操作する仮想オブジェクトＯＢＪが当該情報処理装置５のＬＣＤ５２には表示されなくてもよい。第１の例として、情報処理装置５のユーザが操作する仮想オブジェクトＯＢＪ（プレイヤオブジェクト）の主観視点から見た仮想空間を現実世界画像に合成して、当該情報処理装置５のＬＣＤ５２に表示してもよい。この場合、上記仮想空間におけるプレイヤオブジェクトの位置や方向は、現実世界におけるマーカＭと撮像部５０との位置関係に応じて決定してもよい。なお、現実世界におけるマーカＭと撮像部５０との位置関係は、当該撮像部５０で撮像された撮像画像を解析することによって算出されてもいいし、情報処理装置５に設けられている姿勢センサ（加速度センサやジャイロセンサ）等から算出される情報処理装置５本体の姿勢や動きに基づいて算出されてもよい。第２の例として、情報処理装置５のユーザが仮想オブジェクトＯＢＪを操作することなく、当該情報処理装置５を用いて仮想空間の様子を見るだけでもよい。この場合、情報処理装置５は、他の情報処理装置５へプレイヤオブジェクト設定データを送信しなくてもよいが、他の情報処理装置５からプレイヤオブジェクト設定データを受信することになる。そして、情報処理装置５には、受信したプレイヤオブジェクト設定データに応じた仮想オブジェクトＯＢＪが配置された仮想空間が合成された現実世界画像がＬＣＤ５２に表示され、当該情報処理装置５のユーザは、当該仮想空間を傍観する観客となる。
【００５５】
また、上述した情報処理システム１では、仮想オブジェクトＯＢＪを現実世界画像内に配置して合成するために現実世界に同じマーカＭをそれぞれの場所に配置しているが、異なるマーカをそれぞれの場所に配置してもいいし、マーカＭ自体がなくてもかまわない。第１の例として、マーカＭを設置しない場合、それぞれの場所を撮像した現実世界画像内に仮想オブジェクトＯＢＪを配置するための基準をそれぞれ設ければよく、例えば現実世界における所定の形状や所定の物体（例えば、矩形の机上面）を当該基準としてもよい。この場合、パターンマッチング等の画像処理を行うことによって上記所定の形状や所定の物体を撮像画像から検出し、当該検出された基準に基づいて、現実世界画像内に仮想オブジェクトＯＢＪを配置することができる。第２の例として、情報処理装置５がＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）機能を有している場合、ＧＰＳから取得した位置情報と付加的な情報（例えば、磁気センサによる情報処理装置５の方位を示す情報や加速度センサやジャイロセンサによる情報処理装置５本体の姿勢や動作を示す情報）とを用いて現実世界画像内に仮想オブジェクトＯＢＪを配置する、いわゆるロケーションベースＡＲを用いてもよい。第３の例として、情報処理装置５がアクセスポイントとの無線通信の際の電波強度を検出する機能を有している場合、当該機能によって検出された各アクセスポイントとの電波強度と各アクセスポイントの設置位置とに基づいて算出されたアクセス位置を上記位置情報として、現実世界画像内に仮想オブジェクトＯＢＪを配置してもよい。
【００５６】
また、上述した実施例では、アクセスポイントＡＰ１が設置されている場所の床面にマーカＭが配置されたレースコースＡが描かれ、アクセスポイントＡＰ２が設置されている場所の床面にもマーカＭが配置された同一形状のレースコースＢが描かれている例を説明したが、これらのレースコースＡおよびＢは、現実世界画像内に合成することによってＬＣＤ５２に表示されてもよい。例えば、各仮想オブジェクトＯＢＪと同様に仮想オブジェクトＯＢＪが配置されるマーカ座標系の仮想空間内の背景画像としてレースコースを描画し、マーカ・カメラ変換行列を用いて当該レースコース画像も現実世界画像における座標（撮像座標系）に変換することによって、現実世界画像内に合成して表示することができる。
【００５７】
また、上述した実施例では、ユーザ入力（操作入力等）に応じて仮想オブジェクトＯＢＪの種別や動作が設定されるが、仮想オブジェクトＯＢＪに関する他の表示態様が設定されてもよい。例えば、ユーザ入力に応じて仮想オブジェクトＯＢＪの大きさ、数、色、濃度、明度等が設定されてもよい。
【００５８】
また、上述した実施例では、特定のアクセスポイントを設定することによって、当該特定のアクセスポイントの通信可能範囲を、ユーザを誘導する特定の場所として設定しているが、他の方法によって特定の場所を設定してもかまわない。一例として、情報処理装置５がＧＰＳ機能を有している場合、当該ＧＰＳ機能によって算出された地球上の位置に基づいて、情報処理装置５が特定の場所からアクセスしているか否かを判定してもよい。他の例として、情報処理装置５がアクセスポイントとの無線通信の際の電波強度を検出する機能を有している場合、当該機能によって検出された各アクセスポイントとの電波強度と各アクセスポイントの設置位置とに基づいて算出されたアクセス位置に基づいて、情報処理装置５が特定の場所からアクセスしているか否かを判定してもよい。また、自機が設置されている位置を示す位置情報を発信する装置（例えば、ビーコンで当該位置情報を発信する機器）を用いて、情報処理装置５が特定の場所からアクセスしているか否かを判定してもよい。例えば、情報処理装置５が他の装置から位置情報を受信した場合、当該受信した位置情報に基づいて、情報処理装置５が特定の場所からアクセスしているか否かを判定してもよい。
【００５９】
また、上述した実施例では、同じアクセスポイントＡＰの通信可能範囲内に配置されている情報処理装置５同士が、当該アクセスポイントＡＰを介してデータ送受信する態様を用いたが、当該情報処理装置５が直接データを送受信してもよい。
【００６０】
また、上述した情報処理システム１では、現実世界画像（撮像画像）に仮想オブジェクトＯＢＪの画像を合成する処理を合成した画像を表示制御する装置で行っているが、仮想オブジェクトＯＢＪを制御している装置側で当該処理を行ってもよい。例えば、合成した画像を表示制御する装置は、当該装置で撮像された撮像画像を、仮想オブジェクトＯＢＪを制御している装置へ送信する。そして、仮想オブジェクトＯＢＪを制御している装置は、送信された撮像画像内に仮想オブジェクトＯＢＪを表示させる合成処理を行って、当該撮像画像を送信した装置へ当該合成処理後の画像を送信する。
【００６１】
次に、情報処理装置５において行われる処理の詳細を説明する。まず、図７を参照して、処理において用いられる主なデータについて説明する。なお、図７は、情報処理装置５のメモリ５６に記憶される主なデータおよびプログラムの一例を示す図である。
【００６２】
図７に示すように、メモリ５６のデータ記憶領域には、操作データＤａ、撮像画像データＤｂ、プレイヤオブジェクト設定データＤｃ、他オブジェクト設定データＤｄ、および仮想オブジェクト画像データＤｅ等が記憶される。なお、メモリ５６には、図７に示すデータの他、実行するアプリケーションで用いるデータ等、処理に必要なデータ等が記憶されてもよい。また、メモリ５６のプログラム記憶領域には、情報処理プログラムを構成する各種プログラム群Ｐａが記憶される。
【００６３】
操作データＤａは、情報処理装置５のユーザ操作に応じて設定されるデータであり、操作部５１に対する操作内容を示すデータである。撮像画像データＤｂは、撮像部５０によってリアルタイムに撮像された撮像画像を示すデータであり、撮像される毎に逐次更新される。
【００６４】
プレイヤオブジェクト設定データＤｃは、情報処理装置５のユーザによって操作されるプレイヤオブジェクト（仮想オブジェクトＯＢＪ）に関して設定されるデータであり、種別データＤｃ１、位置データＤｃ２、および移動データＤｃ３等を含む。種別データＤｃ１は、プレイヤオブジェクト（仮想オブジェクトＯＢＪ）の種類を設定するために用いられるデータである。位置データＤｃ２は、現実世界画像に合成される仮想空間におけるプレイヤオブジェクト（仮想オブジェクトＯＢＪ）の位置を示すデータであり、例えばマーカ座標系の座標データによって示される。移動データＤｃ３は、仮想空間におけるプレイヤオブジェクト（仮想オブジェクトＯＢＪ）の移動方向や移動速度を示すデータであり、例えばマーカ座標系のベクトルデータによって示される。
【００６５】
他オブジェクト設定データＤｄは、他の情報処理装置５から受信したデータであり、種別データＤｄ１、位置データＤｄ２、および移動データＤｄ３等を含む。種別データＤｄ１は、他の情報処理装置５によって制御されている仮想オブジェクトＯＢＪの種類を設定するために用いられるデータである。位置データＤｄ２は、他の情報処理装置５によって制御されている仮想オブジェクトＯＢＪの上記仮想空間における位置を示すデータであり、例えばマーカ座標系の座標データによって示される。移動データＤｃ３は、他の情報処理装置５によって制御されている仮想オブジェクトＯＢＪの上記仮想空間における移動方向や移動速度を示すデータであり、例えばマーカ座標系のベクトルデータによって示される。
【００６６】
仮想オブジェクト画像データＤｅは、仮想オブジェクトＯＢＪの画像を生成してＬＣＤ５２に表示するためのデータである。
【００６７】
次に、図８および図９を参照して、情報処理装置５において行われる処理の詳細を説明する。なお、図８は、情報処理装置５（ＣＰＵ５５）において実行される情報処理の前半の一例を示すフローチャートである。図９は、情報処理装置５（ＣＰＵ５５）において実行される情報処理の後半の一例を示すフローチャートである。ここで、図８および図９に示すフローチャートにおいて、上述した情報処理システム１に含まれる情報処理装置５の処理のうち、撮像画像内に所定のマーカが検出された場合に仮想オブジェクトＯＢＪを登場させてＬＣＤ５２に表示する処理について主に説明し、これらの処理と直接関連しない他の処理については詳細な説明を省略する。本実施形態においては、図８および図９に示す一連の処理は、ＣＰＵ５５が、プログラム記憶部５７に記憶される情報処理プログラムを実行することによって行われる。
【００６８】
なお、図８および図９に示す情報処理が開始されるタイミングは任意である。例えば、当該情報処理を開始する指示をユーザが行ったことに応じてアクセスポイントとの接続が確立されるとともに、情報処理プログラムの実行が開始されてもよい。このとき、情報処理プログラムは、適宜のタイミングでその一部または全部がメモリ５６に読み出され、ＣＰＵ５５によって実行される。これによって、図８および図９に示す一連の処理が開始される。なお、情報処理プログラムは、情報処理装置５内のプログラム記憶部５７に予め記憶されているものとする。ただし、他の実施形態においては、情報処理装置５に着脱可能な記憶媒体から取得されてメモリ５６に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてメモリ５６に記憶されてもよい。
【００６９】
また、図８および図９に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えておよび／または代えて別の処理が実行されてもよい。また、本実施例では、上記フローチャートにおける一部のステップの処理をＣＰＵ５５が実行し、その他のステップの処理をＣＰＵ５５以外のプロセッサや専用回路が実行するようにしてもよく、上記フローチャートにおける全部のステップの処理をＣＰＵ５５以外のプロセッサや専用回路が実行するようにしてもよい。
【００７０】
図８において、ＣＰＵ５５は、情報処理における初期処理を実行し（ステップ８１）、次のステップに処理を進める。例えば、ＣＰＵ５５は、上記ステップ８１において、当該情報処理で用いられる各パラメータを初期化する。
【００７１】
次に、ＣＰＵ５５は、撮像部５０から出力される撮像画像を示す撮像画像データを取得し（ステップ８２）、次のステップに処理を進める。例えば、ＣＰＵ５５は、新たに所得した撮像画像を表す撮像画像データをメモリ５６に撮像画像データＤｂとして記憶する。
【００７２】
次に、ＣＰＵ５５は、操作部５１に対する操作内容を示す操作データを取得し（ステップ８３）、次のステップに処理を進める。例えば、ＣＰＵ５５は、新たに取得した操作データをメモリ５６に操作データＤａ３としてそれぞれ記憶する。
【００７３】
次に、ＣＰＵ５５は、上記ステップ８２で取得した撮像画像データを用いて撮像画像認識処理を行い（ステップ８４）、当該撮像画像データが表す撮像画像内にマーカＭが含まれているか否かを判定する（ステップ８５）。そして、ＣＰＵ５５は、上記撮像画像内にマーカＭが含まれている場合、ステップ８６に処理を進める。一方、ＣＰＵ５５は、上記撮像画像内にマーカＭが含まれていない場合、ステップ９１（図９参照）に処理を進める。以下、上記ステップ８４およびステップ８５で行う撮像画像認識処理の一例について説明する。
【００７４】
例えば、ＣＰＵ５５は、パターンマッチング手法等によって撮像画像データが表す撮像画像に対する画像認識処理を行い、当該撮像画像内にマーカＭが含まれているか否かを判定する。そして、ＣＰＵ５５は、撮像画像にマーカＭが含まれている場合には、撮像部５０の撮像範囲内にマーカＭが現実世界で実在していると仮定し、当該撮像画像におけるマーカＭの位置および姿勢に基づいて、撮像部５０とマーカＭとの位置関係を算出する。一例として、ＣＰＵ５５は、上記撮像画像におけるマーカＭの位置および／または姿勢を認識することによってマーカ・カメラ変換行列を算出し、当該マーカ・カメラ変換行列を表す画像認識結果データをメモリ５６に記憶する。上述したように、コンピュータによるＡＲ技術では、マーカ座標系を撮像座標系に変換する上記マーカ・カメラ変換行列を仮想カメラのビュー行列に指定することにより、現実世界画像（撮像画像）にＣＧ画像（仮想世界画像）を合成することができる。
【００７５】
ステップ８６において、ＣＰＵ５５は、仮想オブジェクトに関する設定情報および画像認識されたマーカＭに応じて、出現させる仮想オブジェクトＯＢＪを表す仮想オブジェクト画像を生成し、ステップ９１（図９参照）に処理を進める。例えば、ＣＰＵ５５は、画像認識されたマーカＭの種類およびプレイヤオブジェクト設定データＤｃや他オブジェクト設定データＤｄに設定されている設定情報（例えば、種別データＤｃ１、移動データＤｃ３、種別データＤｄ１、および移動データＤｄ３）に応じて、出現させる仮想オブジェクトＯＢＪの種別、姿勢、動作等を設定する。そして、ＣＰＵ５５は、位置データＤｃ２および位置データＤｄ２を参照して、上記マーカ座標系で定義される仮想空間に仮想オブジェクトＯＢＪをそれぞれ配置し、必要に応じて仮想オブジェクトＯＢＪの大きさをそれぞれ変化させる。なお、プレイヤオブジェクト設定データＤｃや他オブジェクト設定データＤｄに情報が設定されていない場合、画像認識されたマーカＭの種類に応じて予め定められている仮想オブジェクトＯＢＪを表す仮想オブジェクト画像を生成してもいいし、仮想オブジェクト画像を生成する処理をスキップしてもよい。
【００７６】
そして、ＣＰＵ５５は、仮想カメラから見た仮想オブジェクトＯＢＪを仮想オブジェクト画像として生成し、メモリ５６の仮想オブジェクト画像データＤｅに記憶する。例えば、ＣＰＵ５５は、上記マーカ・カメラ変換行列を仮想カメラのビュー行列に指定することによって、マーカ座標系で表現されたＣＧモデル（仮想オブジェクトＯＢＪ）を、現実世界に当該ＣＧモデルが存在する場合にＬＣＤ５２に表示される場所（例えば、撮像画像におけるマーカＭを基準として、位置データＤｃ２および位置データＤｄ２によって定義される位置）と同じ位置に表示することができる。つまり、ＬＣＤ５２に表示される表示画像において、マーカ座標系で定義された仮想空間に配置された仮想オブジェクトＯＢＪを、現実世界のマーカＭに関連して存在しているように表示することができる。
【００７７】
図９に進み、ＣＰＵ５５は、所定のアクセスポイント（例えば、図３を用いた例におけるアクセスポイントＡＰ１や、図４を用いた例におけるアクセスポイントＡＰ２）と通信可能か否かを判定する（ステップ９１）。例えば、ＣＰＵ５５は、アクセスポイントに接続するための識別子を用いて、いわゆるパッシブスキャンやアクティブスキャンによるアクセスポイントのサーチを行う。次に、ＣＰＵ５５は、所定のアクセスポイントが検出されて当該アクセスポイントとの接続が確立できた場合、当該アクセスポイントを介してデータを送受信する通信相手として設定されている装置を設定して通信を開始して、ステップ９２に処理を進める。一方、ＣＰＵ５５は、所定のアクセスポイントが検出されない場合や、所定のアクセスポイントとの接続が確立できない場合、ステップ９６に処理を進める。なお、上述したアクセスポイントを介してデータを送受信する通信相手とは、図１、図３、図４を用いた例において送信先となる他の情報処理装置５であり、情報処理装置５ａの場合は、情報処理装置５ｂ〜５ｄとなる。
【００７８】
ステップ９２において、ＣＰＵ５５は、設定されている通信相手の装置から送信されたプレイヤオブジェクト設定データを受信して、次のステップに処理を進める。例えば、ＣＰＵ５５は、通信相手の装置が制御する仮想オブジェクトＯＢＪに関する設定情報であるプレイヤオブジェクト設定データを当該通信相手毎に受信する。
【００７９】
次に、ＣＰＵ５５は、上記ステップ９２において受信したデータに応じて、他オブジェクト設定データを設定し（ステップ９３）、次のステップに処理を進める。例えば、ＣＰＵ５５は、通信相手毎に受信したプレイヤオブジェクト設定データを用いて、他オブジェクト設定データＤｄを当該通信相手毎に更新する。
【００８０】
次に、ＣＰＵ５５は、操作データＤａに応じて、自機のユーザが操作するプレイヤオブジェクト（仮想オブジェクトＯＢＪ）に関する設定情報を設定し（ステップ９４）、次のステップに処理を進める。例えば、ＣＰＵ５５は、操作データＤａがプレイヤオブジェクトの種別設定または種別変更をするための操作を示す場合、当該操作内容に基づいてプレイヤオブジェクトの種別を設定し、当該種別を用いて種別データＤｃ１を更新する。また、ＣＰＵ５５は、操作データＤａがプレイヤオブジェクトを動作（移動）させる操作を示す場合、当該操作内容に応じて仮想空間内でプレイヤオブジェクトを動作（移動）させて姿勢（動作方向）および動作速度（移動速度）を設定し、当該動作後（移動後）の位置、姿勢（動作方向）、および動作速度（移動速度）を用いて位置データＤｃ２および移動データＤｃ３を更新する。なお、位置データＤｃ２および移動データＤｃ３については、上述したマーカ座標系に基づいた情報によって管理されてもよい。
【００８１】
次に、ＣＰＵ５５は、設定されている通信相手の装置へプレイヤオブジェクト設定データを送信し（ステップ９５）、次のステップに処理を進める。例えば、ＣＰＵ５５は、プレイヤオブジェクト設定データＤｃを送信用データとして設定して、設定されている通信相手の装置へ当該送信用データを送信する処理を行う。
【００８２】
一方、所定のアクセスポイントが検出されない場合や、所定のアクセスポイントとの接続が確立できない場合（ステップ９１において否定判定された場合）、ＣＰＵ５５は、仮想オブジェクトＯＢＪに関する設定情報をクリアして（ステップ９６）、ステップ９７に処理を進める。例えば、ＣＰＵ５５は、仮想オブジェクトＯＢＪに関する設定情報として、プレイヤオブジェクト設定データＤｃおよび他プレイヤオブジェクト設定データＤｄを消去する。
【００８３】
ステップ９７において、ＣＰＵ５５は、合成表示処理を行い、次のステップに処理を進める。例えば、ＣＰＵ５５は、マーカＭが撮像されている場合、上記ステップ８２で取得した撮像画像（現実世界画像）と上記ステップ８６で生成した仮想オブジェクト画像とを合成した表示画像を生成し、当該表示画像をＬＣＤ５２に表示する。
【００８４】
具体的には、ＣＰＵ５５は、上記ステップ８２で取得した撮像画像を、ＬＣＤ５２へ供給すべき画像を一時的に記憶するためのＶＲＡＭ内の所定の記憶領域（以下、フレームバッファと称す）に描画する。そして、ＣＰＵ５５は、上記ステップ８５で肯定判定されている場合、メモリ５６に記憶されている仮想オブジェクト画像（すなわち、仮想カメラから見た仮想空間の画像）をフレームバッファに上書きする。これによって、フレームバッファに描画された撮像画像（現実世界画像）に仮想オブジェクト画像が合成される。そして、フレームバッファに描画された画像は、所定のタイミングでＬＣＤ５２へ供給されて、ＬＣＤ５２に表示されることになる。なお、上記仮想オブジェクト画像においては、仮想空間の背景が透明であり、そのため、現実世界画像に仮想オブジェクト画像を合成することで、現実世界画像上に仮想オブジェクトＯＢＪが存在するような画像が生成される。なお、ＣＰＵ５５は、上記ステップ８５で否定判定されている場合、撮像画像のみをフレームバッファに描画してＬＣＤ５２に表示する。
【００８５】
次に、ＣＰＵ５５は、処理を終了するか否かを判定する（ステップ９８）。処理を終了する条件としては、例えば、ユーザが処理を終了する操作を行ったこと等がある。ＣＰＵ５５は、処理を終了しない場合に上記ステップ８２に戻って処理を繰り返し、処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップ８２〜ステップ９７の一連の処理は、ステップ９８で処理を終了すると判定されるまで繰り返し実行される。
【００８６】
なお、上述した情報処理システム１では、データを送受信する装置同士がアクセスポイントを介して直接データ通信する態様を用いたが、さらに他の装置（例えば、中継サーバ）等を介してデータ通信されてもかまわない。
【００８７】
また、上述では、１つの情報処理装置５で情報処理を行う場合の処理手順を説明しているが、当該情報処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、情報処理装置５がさらに他の装置（例えば、別のサーバ、他のゲーム装置、他の携帯端末）と通信可能に構成されている場合、上記情報処理における処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記情報処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述した情報処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、情報処理装置５のＣＰＵ５５が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、情報処理装置５が備える専用回路によって上記処理の一部または全部が行われてもよい。
【００８８】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置（据置型のゲーム装置）と携帯型の情報処理装置（携帯型のゲーム装置）との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理の各ステップの処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【００８９】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【００９０】
また、上記各プログラムは、外部メモリ等の外部記憶媒体を通じて情報処理装置５に供給されるだけでなく、有線または無線の通信回線を通じて情報処理装置５に供給されてもよい。また、上記プログラムは、情報処理装置５内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【００９１】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【００９２】
以上のように、本発明は、ユーザに対してより興趣性を高めることができる等を目的として、例えば情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法等として有用である。
【符号の説明】
【００９３】
１…情報処理システム
５…情報処理装置
５０…撮像部
５１…操作部
５２…ＬＣＤ
５５…ＣＰＵ
５６…メモリ
５７…プログラム記憶部
５８…通信部
１００…ネットワーク
【図１】
2015176578.tif 000003
【図２】
2015176578.tif 000004
【図３】
2015176578.tif 000005
【図４】
2015176578.tif 000006
【図５】
2015176578.tif 000007
【図６】
2015176578.tif 000008
【図７】
2015176578.tif 000009
【図８】
2015176578.tif 000010
【図９】
2015176578.tif 000011