(57)【要約】      （修正有）【課題】仮想空間におけるユーザの仮想体験の興趣性をより高めることができるシステム、プログラム、方法及び情報処理装置を提供する。【解決手段】システムにおいて、コンピュータ１７９１は、第１パフォーマンスにおける、演者の身体の動きを検出するＳ２３２３、コンピュータ２００Ａは、ユーザに仮想体験を提供するための仮想空間を定義するＳ２３０１、演者に関連付けられるアバターオブジェクト１５３３を仮想空間に配置するＳ２３１１、コンピュータ１７９１が検出した演者の身体の動きに応じて、アバターオブジェクト１５３３に、第１パフォーマンスに対応する第２パフォーマンスを実行させるＳ２３１３を備える。【選択図】図２３
2020004388.tif 000002
【特許請求の範囲】
【請求項１】
現実空間にて観客に対して第１パフォーマンスを行う演者に関連付けられた第１コンピュータと、第１ユーザに関連付けられた、前記第１ユーザに仮想体験を提供するための第２コンピュータとを含むシステムであって、
前記第１コンピュータは、前記第１パフォーマンスにおける、前記演者の身体の動きを検出し、
前記第２コンピュータは、
前記第１ユーザに前記仮想体験を提供するための仮想空間を定義し、
前記演者に関連付けられる第１アバターを前記仮想空間に配置し、
前記第１コンピュータが検出した前記演者の身体の動きに応じて、前記第１アバターに、前記第１パフォーマンスに対応する第２パフォーマンスを実行させる、システム。
【請求項２】
前記システムは、前記観客に関連付けられた第１端末装置をさらに含み、
前記第１端末装置は、前記観客の第１動作を検出し、
前記第２コンピュータは、前記第１端末装置が検出した前記第１動作に応じて、前記仮想空間において第１処理を実行する、請求項１に記載のシステム。
【請求項３】
前記第２コンピュータは、
前記観客に関連付けられる第２アバターを前記仮想空間に配置し、
前記第１処理として、前記第１端末装置が検出した前記第１動作に応じて前記第２アバターを動かす、請求項２に記載のシステム。
【請求項４】
複数の前記第１端末装置が、複数の前記観客それぞれに関連付けられており、
前記第２コンピュータは、
前記第１動作を検出した前記第１端末装置の数を特定し、
前記第１処理として、特定した前記数に応じた演出を実行する、請求項２に記載のシステム。
【請求項５】
前記システムは、前記現実空間を表示する表示部を備える、前記観客に関連付けられた第２端末装置をさらに含み、
前記第２コンピュータは、
前記第１ユーザに関連付けられる第３アバターを前記仮想空間に配置し、
前記第１ユーザの第２動作を検出し、
検出した前記第２動作に応じて前記第３アバターに第３動作を実行させ、
前記第２端末装置は、前記現実空間とともに、前記第３動作の実行に応じた第１画像を前記表示部に表示させる、請求項１から４のいずれか１項に記載のシステム。
【請求項６】
前記第２コンピュータは、
複数の第２ユーザそれぞれに関連付けられる複数の第４アバターを前記仮想空間に配置し、
前記第２ユーザの前記第２動作に応じて前記第４アバターに前記第３動作を実行させ、
前記第２端末装置は、
前記第３動作を実行している前記第３アバターおよび前記第４アバターの合計数を特定し、
前記合計数に応じた前記第１画像を前記表示部に表示させる、請求項５に記載のシステム。
【請求項７】
前記第２コンピュータは、
前記第１ユーザに関連付けられる仮想カメラを前記仮想空間に配置し、
前記第１ユーザの頭部の姿勢と前記仮想空間における前記仮想カメラの位置とに応じて、前記仮想空間における前記仮想カメラからの視界を制御し、
前記仮想カメラからの前記視界に対応する視界画像を定義し、
前記第１ユーザの頭部に関連付けられた画像表示装置に前記視界画像を出力する、請求項１から６のいずれか１項に記載のシステム。
【請求項８】
ユーザに仮想体験を提供するために、プロセッサを備えたコンピュータによって実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
前記ユーザに前記仮想体験を提供するための仮想空間を定義するステップと、
現実空間にて観客に対して第１パフォーマンスを行う演者に関連付けられる第１アバターを前記仮想空間に配置するステップと、
前記第１パフォーマンスにおける、前記演者の身体の動きに関する第１情報を受信するステップと、
前記第１情報に応じて、前記第１アバターに、前記第１パフォーマンスに対応する第２パフォーマンスを実行させるステップと、を実行させる、プログラム。
【請求項９】
情報処理装置であって、
前記情報処理装置は、
ユーザに仮想体験を提供するために、前記情報処理装置によって実行されるプログラムを記憶する記憶部と、
前記プログラムを実行することにより、前記情報処理装置の動作を制御する制御部と、を備え、
前記制御部は、
前記ユーザに前記仮想体験を提供するための仮想空間を定義し、
現実空間にて観客に対して第１パフォーマンスを行う演者に関連付けられる第１アバターを前記仮想空間に配置し、
前記第１パフォーマンスにおける、前記演者の身体の動きに関する第１情報を受信し、
前記第１情報に応じて、前記第１アバターに、前記第１パフォーマンスに対応する第２パフォーマンスを実行させる、情報処理装置。
【請求項１０】
ユーザに仮想体験を提供するために、プロセッサを備えたコンピュータがプログラムを実行する方法であって、
前記方法は、前記プロセッサが、
前記ユーザに前記仮想体験を提供するための仮想空間を定義するステップと、
現実空間にて観客に対して第１パフォーマンスを行う演者に関連付けられる第１アバターを前記仮想空間に配置するステップと、
前記第１パフォーマンスにおける、前記演者の身体の動きに関する第１情報を受信するステップと、
前記第１情報に応じて、前記第１アバターに、前記第１パフォーマンスに対応する第２パフォーマンスを実行させるステップと、を含む、方法。
【請求項１１】
現実空間にて演者の第１パフォーマンスを視聴している観客に仮想体験を提供するために、プロセッサと、前記現実空間を表示する表示部と、を備えた端末装置によって実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
前記演者に関連付けられる第１アバターによる、前記第１パフォーマンスに対応する第２パフォーマンスを仮想空間にて視聴している第３アバターが実行する第３動作に関する第３情報を受信するステップと、
前記現実空間とともに、前記第３情報に応じた第１画像を前記表示部に表示させるステップと、を実行させるプログラム。
【請求項１２】
情報処理装置であって、
前記情報処理装置は、
現実空間にて演者の第１パフォーマンスを視聴している観客に仮想体験を提供するために、前記情報処理装置によって実行されるプログラムを記憶する記憶部と、
前記プログラムを実行することにより、前記情報処理装置の動作を制御する制御部と、
前記現実空間を表示する表示部と、を備え、
前記制御部は、
前記演者に関連付けられる第１アバターによる、前記第１パフォーマンスに対応する第２パフォーマンスを仮想空間にて視聴している第３アバターが実行する第３動作に関する第３情報を受信し、
前記現実空間とともに、前記第３情報に応じた第１画像を前記表示部に表示させる、情報処理装置。
【請求項１３】
現実空間にて演者の第１パフォーマンスを視聴している観客に仮想体験を提供するために、プロセッサと、前記現実空間を表示する表示部と、を備えた端末装置がプログラムを実行する方法であって、
前記方法は、前記プロセッサが、
前記演者に関連付けられる第１アバターによる、前記第１パフォーマンスに対応する第２パフォーマンスを仮想空間にて視聴している第３アバターが実行する第３動作に関する第３情報を受信するステップと、
前記現実空間とともに、前記第３情報に応じた第１画像を前記表示部に表示させるステップと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステム、プログラム、プログラムを実行する方法、および情報処理装置に関する。
【背景技術】
【０００２】
特許文献１〜３に、仮想空間においてユーザにコンテンツを視聴させる技術の一例が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１７６７２８号
【特許文献２】特開２０１８−００７８２８号
【特許文献３】特開２０１６−０２５６３３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術には、仮想空間におけるユーザの仮想体験の興趣性をより高めることができる余地がある。
【０００５】
本発明の一態様は、仮想空間におけるユーザの仮想体験の興趣性をより高めることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、現実空間にて観客に対して第１パフォーマンスを行う演者に関連付けられた第１コンピュータと、第１ユーザに関連付けられた、第１ユーザに仮想体験を提供するための第２コンピュータとを含むシステムが提供される。システムにおいて、第１コンピュータは、第１パフォーマンスにおける、演者の身体の動きを検出する。第２コンピュータは、第１ユーザに仮想体験を提供するための仮想空間を定義し、演者に関連付けられる第１アバターを仮想空間に配置し、第１コンピュータが検出した演者の身体の動きに応じて、第１アバターに、第１パフォーマンスに対応する第２パフォーマンスを実行させる。
【０００７】
また、本発明の一態様によれば、ユーザに仮想体験を提供するために、プロセッサを備えたコンピュータによって実行されるプログラムが提供される。プログラムは、プロセッサに、ユーザに仮想体験を提供するための仮想空間を定義するステップと、現実空間にて観客に対して第１パフォーマンスを行う演者に関連付けられる第１アバターを仮想空間に配置するステップと、第１パフォーマンスにおける、演者の身体の動きに関する第１情報を受信するステップと、第１情報に応じて、第１アバターに、第１パフォーマンスに対応する第２パフォーマンスを実行させるステップと、を実行させる。
【０００８】
また、本発明の一態様によれば、現実空間にて演者の第１パフォーマンスを視聴している観客に仮想体験を提供するために、プロセッサと、現実空間を表示する表示部と、を備えた端末装置によって実行されるプログラムが提供される。プログラムは、プロセッサに、演者に関連付けられる第１アバターによる、第１パフォーマンスに対応する第２パフォーマンスを仮想空間にて視聴している第３アバターが実行する第３動作に関する第３情報を受信するステップと、現実空間とともに、第３情報に応じた第１画像を表示部に表示させるステップと、を実行させる。
【発明の効果】
【０００９】
本開示の一態様によれば、仮想空間におけるユーザの仮想体験の興趣性をより高めることができる。
【図面の簡単な説明】
【００１０】
【図１】ある実施の形態に従うＨＭＤシステムの構成の概略を表す図である。
【図２】ある実施の形態に従うコンピュータのハードウェア構成の一例を表すブロック図である。
【図３】ある実施の形態に従うＨＭＤに設定されるｕｖｗ視野座標系を概念的に表す図である。
【図４】ある実施の形態に従う仮想空間を表現する一態様を概念的に表す図である。
【図５】ある実施の形態に従うＨＭＤを装着するユーザの頭部を上から表した図である。
【図６】仮想空間において視界領域をＸ方向から見たＹＺ断面を表す図である。
【図７】仮想空間において視界領域をＹ方向から見たＸＺ断面を表す図である。
【図８Ａ】ある実施の形態に従うコントローラの概略構成を表す図である。
【図８Ｂ】ある実施の形態に従うユーザの右手に対して規定されるヨー、ロール、ピッチの各方向の一例を示す図である。
【図９】ある実施の形態に従うサーバのハードウェア構成の一例を表すブロック図である。
【図１０】ある実施の形態に従うコンピュータをモジュール構成として表わすブロック図である。
【図１１】ある実施の形態に従うＨＭＤセットにおいて実行される処理の一部を表すシーケンスチャートである。
【図１２Ａ】ネットワークにおいて、各ＨＭＤがユーザに仮想空間を提供する状況を表す模式図である。
【図１２Ｂ】図１２（Ａ）におけるユーザ５Ａの視界画像を示す図である。
【図１３】ある実施の形態に従うＨＭＤシステムにおいて実行する処理を示すシーケンス図である。
【図１４】ある実施の形態に従うコンピュータのモジュールの詳細構成を表わすブロック図である。
【図１５】ある実施の形態に従う仮想空間および視界画像を示す図である。
【図１６】ある実施の形態に従う現実空間でのライブを示す図である。
【図１７】ある実施の形態に従うシステムの構成の概略を示す図である。
【図１８】ある実施の形態に従う寸法データの取得方法を説明するための図である。
【図１９】ある実施の形態に従う位置情報のデータ構造の一例を示す図である。
【図２０】ある実施の形態に従う寸法データのデータ構造の一例を示す図である。
【図２１】ある実施の形態に従う寸法データを取得するための処理を表すフローチャートである。
【図２２】ある実施の形態に従う回転方向のデータ構造の一例を示す図である。
【図２３】ある実施の形態に従うシステムにおいて実行される処理の一部を示すシーケンス図である。
【図２４】ある実施形態に係る演者の姿勢の一例を示す図である。
【図２５】ある実施の形態に従う仮想空間および視界画像を示す図である。
【図２６】ある実施の形態に従う現実空間でのライブを示す図である。
【図２７】ある実施の形態に従う仮想空間および視界画像を示す図である。
【図２８】ある実施の形態に従う仮想空間および視界画像を示す図である。
【図２９】ある実施の形態に従うスマートフォンのハードウェア構成の一例を表すブロック図である。
【図３０】ある実施の形態に従うスマートフォンのモジュールの詳細構成を表すブロック図である。
【図３１】ある実施の形態に従うシステムにおいて実行される処理の一部を示すシーケンス図である。
【図３２】ある実施の形態に従う現実空間でのライブを示す図である。
【図３３】ある実施の形態に従う仮想空間および視界画像を示す図である。
【図３４】ある実施の形態に従う現実空間でのライブを示す図である。
【図３５】ある実施の形態に従うＡＲグラスのハードウェア構成の一例を表すブロック図である。
【図３６】ある実施の形態に従う現実空間でのライブを示す図である。
【発明を実施するための形態】
【００１１】
以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。本開示において示される１以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
【００１２】
［ＨＭＤシステムの構成］
図１を参照して、ＨＭＤ（Head-Mounted  Device）システム１００の構成について説明する。図１は、本実施の形態に従うＨＭＤシステム１００の構成の概略を表す図である。ＨＭＤシステム１００は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。
【００１３】
ＨＭＤシステム１００は、サーバ６００と、ＨＭＤセット１１０Ａ，１１０Ｂ，１１０Ｃ，１１０Ｄと、外部機器７００と、ネットワーク２とを含む。ＨＭＤセット１１０Ａ，１１０Ｂ，１１０Ｃ，１１０Ｄの各々は、ネットワーク２を介してサーバ６００や外部機器７００と通信可能に構成される。以下、ＨＭＤセット１１０Ａ，１１０Ｂ，１１０Ｃ，１１０Ｄを総称して、ＨＭＤセット１１０とも言う。ＨＭＤシステム１００を構成するＨＭＤセット１１０の数は、４つに限られず、３つ以下でも、５つ以上でもよい。ＨＭＤセット１１０は、ＨＭＤ１２０と、コンピュータ２００と、ＨＭＤセンサ４１０と、ディスプレイ４３０と、コントローラ３００とを備える。ＨＭＤ１２０は、モニタ１３０と、注視センサ１４０と、第１カメラ１５０と、第２カメラ１６０と、マイク１７０と、スピーカ１８０とを含む。コントローラ３００は、モーションセンサ４２０を含み得る。
【００１４】
ある局面において、コンピュータ２００は、インターネットその他のネットワーク２に接続可能であり、ネットワーク２に接続されているサーバ６００その他のコンピュータと通信可能である。その他のコンピュータとしては、例えば、他のＨＭＤセット１１０のコンピュータや外部機器７００が挙げられる。別の局面において、ＨＭＤ１２０は、ＨＭＤセンサ４１０の代わりに、センサ１９０を含み得る。
【００１５】
ＨＭＤ１２０は、ユーザ５の頭部に装着され、動作中に仮想空間をユーザ５に提供し得る。より具体的には、ＨＭＤ１２０は、右目用の画像および左目用の画像をモニタ１３０にそれぞれ表示する。ユーザ５の各目がそれぞれの画像を視認すると、ユーザ５は、両目の視差に基づき当該画像を３次元画像として認識し得る。ＨＭＤ１２０は、モニタを備える所謂ヘッドマウントディスプレイと、スマートフォンその他のモニタを有する端末を装着可能なヘッドマウント機器のいずれをも含み得る。
【００１６】
モニタ１３０は、例えば、非透過型の表示装置として実現される。ある局面において、モニタ１３０は、ユーザ５の両目の前方に位置するようにＨＭＤ１２０の本体に配置されている。したがって、ユーザ５は、モニタ１３０に表示される３次元画像を視認すると、仮想空間に没入することができる。ある局面において、仮想空間は、例えば、背景、ユーザ５が操作可能なオブジェクト、ユーザ５が選択可能なメニューの画像を含む。ある局面において、モニタ１３０は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機ＥＬ（Electro  Luminescence）モニタとして実現され得る。
【００１７】
別の局面において、モニタ１３０は、透過型の表示装置として実現され得る。この場合、ＨＭＤ１２０は、図１に示されるようにユーザ５の目を覆う密閉型ではなく、メガネ型のような開放型であり得る。透過型のモニタ１３０は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。モニタ１３０は、仮想空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。例えば、モニタ１３０は、ＨＭＤ１２０に搭載されたカメラで撮影した現実空間の画像を表示してもよいし、一部の透過率を高く設定することにより現実空間を視認可能にしてもよい。
【００１８】
ある局面において、モニタ１３０は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。別の局面において、モニタ１３０は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ１３０は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００１９】
ある局面において、ＨＭＤ１２０は、図示せぬ複数の光源を含む。各光源は例えば、赤外線を発するＬＥＤ（Light  Emitting  Diode）により実現される。ＨＭＤセンサ４１０は、ＨＭＤ１２０の動きを検出するためのポジショントラッキング機能を有する。より具体的には、ＨＭＤセンサ４１０は、ＨＭＤ１２０が発する複数の赤外線を読み取り、現実空間内におけるＨＭＤ１２０の位置および傾きを検出する。
【００２０】
別の局面において、ＨＭＤセンサ４１０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ４１０は、カメラから出力されるＨＭＤ１２０の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１２０の位置および傾きを検出することができる。
【００２１】
別の局面において、ＨＭＤ１２０は、位置検出器として、ＨＭＤセンサ４１０の代わりに、あるいはＨＭＤセンサ４１０に加えてセンサ１９０を備えてもよい。ＨＭＤ１２０は、センサ１９０を用いて、ＨＭＤ１２０自身の位置および傾きを検出し得る。例えば、センサ１９０が角速度センサ、地磁気センサ、あるいは加速度センサである場合、ＨＭＤ１２０は、ＨＭＤセンサ４１０の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ１９０が角速度センサである場合、角速度センサは、現実空間におけるＨＭＤ１２０の３軸周りの角速度を経時的に検出する。ＨＭＤ１２０は、各角速度に基づいて、ＨＭＤ１２０の３軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１２０の傾きを算出する。
【００２２】
注視センサ１４０は、ユーザ５の右目および左目の視線が向けられる方向を検出する。つまり、注視センサ１４０は、ユーザ５の視線を検出する。視線の方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ１４０は、当該アイトラッキング機能を有するセンサにより実現される。ある局面において、注視センサ１４０は、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ１４０は、例えば、ユーザ５の右目および左目に赤外線を照射するとともに、照射光に対する角膜および虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ１４０は、検出した各回転角に基づいて、ユーザ５の視線を検知することができる。
【００２３】
第１カメラ１５０は、ユーザ５の顔の下部を撮影する。より具体的には、第１カメラ１５０は、ユーザ５の鼻および口などを撮影する。第２カメラ１６０は、ユーザ５の目および眉などを撮影する。ＨＭＤ１２０のユーザ５側の筐体をＨＭＤ１２０の内側、ＨＭＤ１２０のユーザ５とは逆側の筐体をＨＭＤ１２０の外側と定義する。ある局面において、第１カメラ１５０は、ＨＭＤ１２０の外側に配置され、第２カメラ１６０は、ＨＭＤ１２０の内側に配置され得る。第１カメラ１５０および第２カメラ１６０が生成した画像は、コンピュータ２００に入力される。別の局面において、第１カメラ１５０と第２カメラ１６０とを１台のカメラとして実現し、この１台のカメラでユーザ５の顔を撮影するようにしてもよい。
【００２４】
マイク１７０は、ユーザ５の発話を音声信号（電気信号）に変換してコンピュータ２００に出力する。スピーカ１８０は、音声信号を音声に変換してユーザ５に出力する。別の局面において、ＨＭＤ１２０は、スピーカ１８０に替えてイヤホンを含み得る。
【００２５】
コントローラ３００は、有線または無線によりコンピュータ２００に接続されている。コントローラ３００は、ユーザ５からコンピュータ２００への命令の入力を受け付ける。ある局面において、コントローラ３００は、ユーザ５によって把持可能に構成される。別の局面において、コントローラ３００は、ユーザ５の身体あるいは衣類の一部に装着可能に構成される。さらに別の局面において、コントローラ３００は、コンピュータ２００から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。さらに別の局面において、コントローラ３００は、ユーザ５から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
【００２６】
ある局面において、コントローラ３００は、複数の光源を含む。各光源は例えば、赤外線を発するＬＥＤにより実現される。ＨＭＤセンサ４１０は、ポジショントラッキング機能を有する。この場合、ＨＭＤセンサ４１０は、コントローラ３００が発する複数の赤外線を読み取り、現実空間内におけるコントローラ３００の位置および傾きを検出する。別の局面において、ＨＭＤセンサ４１０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ４１０は、カメラから出力されるコントローラ３００の画像情報を用いて、画像解析処理を実行することにより、コントローラ３００の位置および傾きを検出することができる。
【００２７】
モーションセンサ４２０は、ある局面において、ユーザ５の手に取り付けられて、ユーザ５の手の動きを検出する。例えば、モーションセンサ４２０は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ２００に送られる。モーションセンサ４２０は、例えば、コントローラ３００に設けられている。ある局面において、モーションセンサ４２０は、例えば、ユーザ５に把持可能に構成されたコントローラ３００に設けられている。別の局面において、現実空間における安全のため、コントローラ３００は、手袋型のようにユーザ５の手に装着されることにより容易に飛んで行かないものに装着される。さらに別の局面において、ユーザ５に装着されないセンサがユーザ５の手の動きを検出してもよい。例えば、ユーザ５を撮影するカメラの信号が、ユーザ５の動作を表わす信号として、コンピュータ２００に入力されてもよい。モーションセンサ４２０とコンピュータ２００とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）その他の公知の通信手法が用いられる。
【００２８】
ディスプレイ４３０は、モニタ１３０に表示されている画像と同様の画像を表示する。これにより、ＨＭＤ１２０を装着しているユーザ５以外のユーザにも当該ユーザ５と同様の画像を視聴させることができる。ディスプレイ４３０に表示される画像は、３次元画像である必要はなく、右目用の画像や左目用の画像であってもよい。ディスプレイ４３０としては、例えば、液晶ディスプレイや有機ＥＬモニタなどが挙げられる。
【００２９】
サーバ６００は、コンピュータ２００にプログラムを送信し得る。別の局面において、サーバ６００は、他のユーザによって使用されるＨＭＤ１２０に仮想現実を提供するための他のコンピュータ２００と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行なう場合、各コンピュータ２００は、各ユーザの動作に基づく信号をサーバ６００を介して他のコンピュータ２００と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。各コンピュータ２００は、各ユーザの動作に基づく信号をサーバ６００を介さずに他のコンピュータ２００と通信するようにしてもよい。
【００３０】
外部機器７００は、コンピュータ２００と通信可能な機器であればどのような機器であってもよい。外部機器７００は、例えば、ネットワーク２を介してコンピュータ２００と通信可能な機器であってもよいし、近距離無線通信や有線接続によりコンピュータ２００と直接通信可能な機器であってもよい。外部機器７００としては、例えば、スマートデバイス、ＰＣ（Personal  Computer）、及びコンピュータ２００の周辺機器などが挙げられるが、これらに限定されるものではない。
【００３１】
［コンピュータのハードウェア構成］
図２を参照して、本実施の形態に係るコンピュータ２００について説明する。図２は、本実施の形態に従うコンピュータ２００のハードウェア構成の一例を表すブロック図である。コンピュータ２００は、主たる構成要素として、プロセッサ２１０と、メモリ２２０と、ストレージ２３０と、入出力インターフェイス２４０と、通信インターフェイス２５０とを備える。各構成要素は、それぞれ、バス２６０に接続されている。
【００３２】
プロセッサ２１０は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ２２０またはストレージ２３０に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ２１０は、ＣＰＵ（Central  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）、ＭＰＵ（Micro  Processor  Unit）、ＦＰＧＡ（Field-Programmable  Gate  Array）その他のデバイスとして実現される。
【００３３】
メモリ２２０は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ２３０からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ２１０によって生成されたデータとを含む。ある局面において、メモリ２２０は、ＲＡＭ（Random  Access  Memory）その他の揮発メモリとして実現される。
【００３４】
ストレージ２３０は、プログラムおよびデータを永続的に保持する。ストレージ２３０は、例えば、ＲＯＭ（Read-Only  Memory）、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ２３０に格納されるプログラムは、ＨＭＤシステム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラムを含む。ストレージ２３０に格納されるデータは、仮想空間を規定するためのデータおよびオブジェクト等を含む。
【００３５】
別の局面において、ストレージ２３０は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、コンピュータ２００に内蔵されたストレージ２３０の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のＨＭＤシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００３６】
入出力インターフェイス２４０は、ＨＭＤ１２０、ＨＭＤセンサ４１０、モーションセンサ４２０およびディスプレイ４３０との間で信号を通信する。ＨＭＤ１２０に含まれるモニタ１３０，注視センサ１４０，第１カメラ１５０，第２カメラ１６０，マイク１７０およびスピーカ１８０は、ＨＭＤ１２０の入出力インターフェイス２４０を介してコンピュータ２００との通信を行ない得る。ある局面において、入出力インターフェイス２４０は、ＵＳＢ（Universal  Serial  Bus）、ＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）その他の端子を用いて実現される。入出力インターフェイス２４０は上述のものに限られない。
【００３７】
ある局面において、入出力インターフェイス２４０は、さらに、コントローラ３００と通信し得る。例えば、入出力インターフェイス２４０は、コントローラ３００およびモーションセンサ４２０から出力された信号の入力を受ける。別の局面において、入出力インターフェイス２４０は、プロセッサ２１０から出力された命令を、コントローラ３００に送る。当該命令は、振動、音声出力、発光等をコントローラ３００に指示する。コントローラ３００は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。
【００３８】
通信インターフェイス２５０は、ネットワーク２に接続されて、ネットワーク２に接続されている他のコンピュータ（例えば、サーバ６００）と通信する。ある局面において、通信インターフェイス２５０は、例えば、ＬＡＮ（Local  Area  Network）その他の有線通信インターフェイス、あるいは、ＷｉＦｉ（Wireless  Fidelity）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near  Field  Communication）その他の無線通信インターフェイスとして実現される。通信インターフェイス２５０は上述のものに限られない。
【００３９】
ある局面において、プロセッサ２１０は、ストレージ２３０にアクセスし、ストレージ２３０に格納されている１つ以上のプログラムをメモリ２２０にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ２１０は、入出力インターフェイス２４０を介して、仮想空間を提供するための信号をＨＭＤ１２０に送る。ＨＭＤ１２０は、その信号に基づいてモニタ１３０に映像を表示する。
【００４０】
図２に示される例では、コンピュータ２００は、ＨＭＤ１２０の外部に設けられる構成が示されているが、別の局面において、コンピュータ２００は、ＨＭＤ１２０に内蔵されてもよい。一例として、モニタ１３０を含む携帯型の情報通信端末（例えば、スマートフォン）がコンピュータ２００として機能してもよい。
【００４１】
コンピュータ２００は、複数のＨＭＤ１２０に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
【００４２】
ある実施の形態において、ＨＭＤシステム１００では、現実空間における座標系である実座標系が予め設定されている。実座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、並びに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。実座標系における水平方向、鉛直方向（上下方向）、および前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸と規定される。より具体的には、実座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００４３】
ある局面において、ＨＭＤセンサ４１０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１２０の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１２０の存在を検出する。ＨＭＤセンサ４１０は、さらに、各点の値（実座標系における各座標値）に基づいて、ＨＭＤ１２０を装着したユーザ５の動きに応じた、現実空間内におけるＨＭＤ１２０の位置および傾き（向き）を検出する。より詳しくは、ＨＭＤセンサ４１０は、経時的に検出された各値を用いて、ＨＭＤ１２０の位置および傾きの時間的変化を検出できる。
【００４４】
ＨＭＤセンサ４１０によって検出されたＨＭＤ１２０の各傾きは、実座標系におけるＨＭＤ１２０の３軸周りの各傾きに相当する。ＨＭＤセンサ４１０は、実座標系におけるＨＭＤ１２０の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１２０に設定する。ＨＭＤ１２０に設定されるｕｖｗ視野座標系は、ＨＭＤ１２０を装着したユーザ５が仮想空間において物体を見る際の視点座標系に対応する。
【００４５】
［ｕｖｗ視野座標系］
図３を参照して、ｕｖｗ視野座標系について説明する。図３は、ある実施の形態に従うＨＭＤ１２０に設定されるｕｖｗ視野座標系を概念的に表す図である。ＨＭＤセンサ４１０は、ＨＭＤ１２０の起動時に、実座標系におけるＨＭＤ１２０の位置および傾きを検出する。プロセッサ２１０は、検出された値に基づいて、ｕｖｗ視野座標系をＨＭＤ１２０に設定する。
【００４６】
図３に示されるように、ＨＭＤ１２０は、ＨＭＤ１２０を装着したユーザ５の頭部を中心（原点）とした３次元のｕｖｗ視野座標系を設定する。より具体的には、ＨＭＤ１２０は、実座標系を規定する水平方向、鉛直方向、および前後方向（ｘ軸、ｙ軸、ｚ軸）を、実座標系内においてＨＭＤ１２０の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる３つの方向を、ＨＭＤ１２０におけるｕｖｗ視野座標系のピッチ軸（ｕ軸）、ヨー軸（ｖ軸）、およびロール軸（ｗ軸）として設定する。
【００４７】
ある局面において、ＨＭＤ１２０を装着したユーザ５が直立し、かつ、正面を視認している場合、プロセッサ２１０は、実座標系に平行なｕｖｗ視野座標系をＨＭＤ１２０に設定する。この場合、実座標系における水平方向（ｘ軸）、鉛直方向（ｙ軸）、および前後方向（ｚ軸）は、ＨＭＤ１２０におけるｕｖｗ視野座標系のピッチ軸（ｕ軸）、ヨー軸（ｖ軸）、およびロール軸（ｗ軸）に一致する。
【００４８】
ｕｖｗ視野座標系がＨＭＤ１２０に設定された後、ＨＭＤセンサ４１０は、ＨＭＤ１２０の動きに基づいて、設定されたｕｖｗ視野座標系におけるＨＭＤ１２０の傾きを検出できる。この場合、ＨＭＤセンサ４１０は、ＨＭＤ１２０の傾きとして、ｕｖｗ視野座標系におけるＨＭＤ１２０のピッチ角（θｕ）、ヨー角（θｖ）、およびロール角（θｗ）をそれぞれ検出する。ピッチ角（θｕ）は、ｕｖｗ視野座標系におけるピッチ軸周りのＨＭＤ１２０の傾き角度を表す。ヨー角（θｖ）は、ｕｖｗ視野座標系におけるヨー軸周りのＨＭＤ１２０の傾き角度を表す。ロール角（θｗ）は、ｕｖｗ視野座標系におけるロール軸周りのＨＭＤ１２０の傾き角度を表す。
【００４９】
ＨＭＤセンサ４１０は、検出されたＨＭＤ１２０の傾きに基づいて、ＨＭＤ１２０が動いた後のＨＭＤ１２０におけるｕｖｗ視野座標系を、ＨＭＤ１２０に設定する。ＨＭＤ１２０と、ＨＭＤ１２０のｕｖｗ視野座標系との関係は、ＨＭＤ１２０の位置および傾きに関わらず、常に一定である。ＨＭＤ１２０の位置および傾きが変わると、当該位置および傾きの変化に連動して、実座標系におけるＨＭＤ１２０のｕｖｗ視野座標系の位置および傾きが変化する。
【００５０】
ある局面において、ＨＭＤセンサ４１０は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係（例えば、各点間の距離など）に基づいて、ＨＭＤ１２０の現実空間内における位置を、ＨＭＤセンサ４１０に対する相対位置として特定してもよい。プロセッサ２１０は、特定された相対位置に基づいて、現実空間内（実座標系）におけるＨＭＤ１２０のｕｖｗ視野座標系の原点を決定してもよい。
【００５１】
［仮想空間］
図４を参照して、仮想空間についてさらに説明する。図４は、ある実施の形態に従う仮想空間１１を表現する一態様を概念的に表す図である。仮想空間１１は、中心１２の３６０度方向の全体を覆う全天球状の構造を有する。図４では、説明を複雑にしないために、仮想空間１１のうちの上半分の天球が例示されている。仮想空間１１では各メッシュが規定される。各メッシュの位置は、仮想空間１１に規定されるグローバル座標系であるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間１１に展開可能なパノラマ画像１３（静止画、動画等）を構成する各部分画像を、仮想空間１１において対応する各メッシュにそれぞれ対応付ける。
【００５２】
ある局面において、仮想空間１１では、中心１２を原点とするＸＹＺ座標系が規定される。ＸＹＺ座標系は、例えば、実座標系に平行である。ＸＹＺ座標系における水平方向、鉛直方向（上下方向）、および前後方向は、それぞれＸ軸、Ｙ軸、Ｚ軸として規定される。したがって、ＸＹＺ座標系のＸ軸（水平方向）が実座標系のｘ軸と平行であり、ＸＹＺ座標系のＹ軸（鉛直方向）が実座標系のｙ軸と平行であり、ＸＹＺ座標系のＺ軸（前後方向）が実座標系のｚ軸と平行である。
【００５３】
ＨＭＤ１２０の起動時、すなわちＨＭＤ１２０の初期状態において、仮想カメラ１４が、仮想空間１１の中心１２に配置される。ある局面において、プロセッサ２１０は、仮想カメラ１４が撮影する画像をＨＭＤ１２０のモニタ１３０に表示する。仮想カメラ１４は、現実空間におけるＨＭＤ１２０の動きに連動して、仮想空間１１を同様に移動する。これにより、現実空間におけるＨＭＤ１２０の位置および傾きの変化が、仮想空間１１において同様に再現され得る。
【００５４】
仮想カメラ１４には、ＨＭＤ１２０の場合と同様に、ｕｖｗ視野座標系が規定される。仮想空間１１における仮想カメラ１４のｕｖｗ視野座標系は、現実空間（実座標系）におけるＨＭＤ１２０のｕｖｗ視野座標系に連動するように規定されている。したがって、ＨＭＤ１２０の傾きが変化すると、それに応じて、仮想カメラ１４の傾きも変化する。仮想カメラ１４は、ＨＭＤ１２０を装着したユーザ５の現実空間における移動に連動して、仮想空間１１において移動することもできる。
【００５５】
コンピュータ２００のプロセッサ２１０は、仮想カメラ１４の位置と傾き（基準視線１６）とに基づいて、仮想空間１１における視界領域１５を規定する。視界領域１５は、仮想空間１１のうち、ＨＭＤ１２０を装着したユーザ５が視認する領域に対応する。つまり、仮想カメラ１４の位置は、仮想空間１１におけるユーザ５の視点と言える。
【００５６】
注視センサ１４０によって検出されるユーザ５の視線は、ユーザ５が物体を視認する際の視点座標系における方向である。ＨＭＤ１２０のｕｖｗ視野座標系は、ユーザ５がモニタ１３０を視認する際の視点座標系に等しい。仮想カメラ１４のｕｖｗ視野座標系は、ＨＭＤ１２０のｕｖｗ視野座標系に連動している。したがって、ある局面に従うＨＭＤシステム１００は、注視センサ１４０によって検出されたユーザ５の視線を、仮想カメラ１４のｕｖｗ視野座標系におけるユーザ５の視線とみなすことができる。
【００５７】
［ユーザの視線］
図５を参照して、ユーザ５の視線の決定について説明する。図５は、ある実施の形態に従うＨＭＤ１２０を装着するユーザ５の頭部を上から表した図である。
【００５８】
ある局面において、注視センサ１４０は、ユーザ５の右目および左目の各視線を検出する。ある局面において、ユーザ５が近くを見ている場合、注視センサ１４０は、視線Ｒ１およびＬ１を検出する。別の局面において、ユーザ５が遠くを見ている場合、注視センサ１４０は、視線Ｒ２およびＬ２を検出する。この場合、ロール軸ｗに対して視線Ｒ２およびＬ２が成す角度は、ロール軸ｗに対して視線Ｒ１およびＬ１が成す角度よりも小さい。注視センサ１４０は、検出結果をコンピュータ２００に送信する。
【００５９】
コンピュータ２００が、視線の検出結果として、視線Ｒ１およびＬ１の検出値を注視センサ１４０から受信した場合には、その検出値に基づいて、視線Ｒ１およびＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２およびＬ２の検出値を注視センサ１４０から受信した場合には、視線Ｒ２およびＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、ユーザ５の視線Ｎ０を特定する。コンピュータ２００は、例えば、ユーザ５の右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線Ｎ０として検出する。視線Ｎ０は、ユーザ５が両目により実際に視線を向けている方向である。視線Ｎ０は、視界領域１５に対してユーザ５が実際に視線を向けている方向に相当する。
【００６０】
別の局面において、ＨＭＤシステム１００は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、ＨＭＤシステム１００は、仮想空間１１においてテレビ番組を表示することができる。
【００６１】
さらに別の局面において、ＨＭＤシステム１００は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００６２】
［視界領域］
図６および図７を参照して、視界領域１５について説明する。図６は、仮想空間１１において視界領域１５をＸ方向から見たＹＺ断面を表す図である。図７は、仮想空間１１において視界領域１５をＹ方向から見たＸＺ断面を表す図である。
【００６３】
図６に示されるように、ＹＺ断面における視界領域１５は、領域１８を含む。領域１８は、仮想カメラ１４の位置と基準視線１６と仮想空間１１のＹＺ断面とによって定義される。プロセッサ２１０は、仮想空間における基準視線１６を中心として極角αを含む範囲を、領域１８として規定する。
【００６４】
図７に示されるように、ＸＺ断面における視界領域１５は、領域１９を含む。領域１９は、仮想カメラ１４の位置と基準視線１６と仮想空間１１のＸＺ断面とによって定義される。プロセッサ２１０は、仮想空間１１における基準視線１６を中心とした方位角βを含む範囲を、領域１９として規定する。極角αおよびβは、仮想カメラ１４の位置と仮想カメラ１４の傾き（向き）とに応じて定まる。
【００６５】
ある局面において、ＨＭＤシステム１００は、コンピュータ２００からの信号に基づいて、視界画像１７をモニタ１３０に表示させることにより、ユーザ５に仮想空間１１における視界を提供する。視界画像１７は、パノラマ画像１３のうち視界領域１５に対応する部分に相当する画像である。ユーザ５が、頭部に装着したＨＭＤ１２０を動かすと、その動きに連動して仮想カメラ１４も動く。その結果、仮想空間１１における視界領域１５の位置が変化する。これにより、モニタ１３０に表示される視界画像１７は、パノラマ画像１３のうち、仮想空間１１においてユーザ５が向いた方向の視界領域１５に重畳する画像に更新される。ユーザ５は、仮想空間１１における所望の方向を視認することができる。
【００６６】
このように、仮想カメラ１４の傾きは仮想空間１１におけるユーザ５の視線（基準視線１６）に相当し、仮想カメラ１４が配置される位置は、仮想空間１１におけるユーザ５の視点に相当する。したがって、仮想カメラ１４の位置または傾きを変更することにより、モニタ１３０に表示される画像が更新され、ユーザ５の視界が移動される。
【００６７】
ユーザ５は、ＨＭＤ１２０を装着している間、現実世界を視認することなく、仮想空間１１に展開されるパノラマ画像１３のみを視認できる。そのため、ＨＭＤシステム１００は、仮想空間１１への高い没入感覚をユーザ５に与えることができる。
【００６８】
ある局面において、プロセッサ２１０は、ＨＭＤ１２０を装着したユーザ５の現実空間における移動に連動して、仮想空間１１において仮想カメラ１４を移動し得る。この場合、プロセッサ２１０は、仮想空間１１における仮想カメラ１４の位置および傾きに基づいて、ＨＭＤ１２０のモニタ１３０に投影される画像領域（視界領域１５）を特定する。
【００６９】
ある局面において、仮想カメラ１４は、２つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含み得る。ユーザ５が３次元の仮想空間１１を認識できるように、適切な視差が、２つの仮想カメラに設定される。別の局面において、仮想カメラ１４を１つの仮想カメラにより実現してもよい。この場合、１つの仮想カメラにより得られた画像から、右目用の画像と左目用の画像とを生成するようにしてもよい。本実施の形態においては、仮想カメラ１４が２つの仮想カメラを含み、２つの仮想カメラのロール軸が合成されることによって生成されるロール軸（ｗ）がＨＭＤ１２０のロール軸（ｗ）に適合されるように構成されているものとして、本開示に係る技術思想を例示する。
【００７０】
［コントローラ］
図８を参照して、コントローラ３００の一例について説明する。図８は、ある実施の形態に従うコントローラ３００の概略構成を表す図である。
【００７１】
図８に示されるように、ある局面において、コントローラ３００は、右コントローラ３００Ｒと図示せぬ左コントローラとを含み得る。右コントローラ３００Ｒは、ユーザ５の右手で操作される。左コントローラは、ユーザ５の左手で操作される。ある局面において、右コントローラ３００Ｒと左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ５は、右コントローラ３００Ｒを把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の局面において、コントローラ３００は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ３００Ｒについて説明する。
【００７２】
右コントローラ３００Ｒは、グリップ３１０と、フレーム３２０と、天面３３０とを備える。グリップ３１０は、ユーザ５の右手によって把持されるように構成されている。たとえば、グリップ３１０は、ユーザ５の右手の掌と３本の指（中指、薬指、小指）とによって保持され得る。
【００７３】
グリップ３１０は、ボタン３４０，３５０と、モーションセンサ４２０とを含む。ボタン３４０は、グリップ３１０の側面に配置され、右手の中指による操作を受け付ける。ボタン３５０は、グリップ３１０の前面に配置され、右手の人差し指による操作を受け付ける。ある局面において、ボタン３４０，３５０は、トリガー式のボタンとして構成される。モーションセンサ４２０は、グリップ３１０の筐体に内蔵されている。ユーザ５の動作がカメラその他の装置によってユーザ５の周りから検出可能である場合には、グリップ３１０は、モーションセンサ４２０を備えなくてもよい。
【００７４】
フレーム３２０は、その円周方向に沿って配置された複数の赤外線ＬＥＤ３６０を含む。赤外線ＬＥＤ３６０は、コントローラ３００を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤ３６０から発せられた赤外線は、右コントローラ３００Ｒと左コントローラとの各位置や姿勢（傾き、向き）を検出するために使用され得る。図８に示される例では、二列に配置された赤外線ＬＥＤ３６０が示されているが、配列の数は図８に示されるものに限られない。一列あるいは３列以上の配列が使用されてもよい。
【００７５】
天面３３０は、ボタン３７０，３８０と、アナログスティック３９０とを備える。ボタン３７０，３８０は、プッシュ式ボタンとして構成される。ボタン３７０，３８０は、ユーザ５の右手の親指による操作を受け付ける。アナログスティック３９０は、ある局面において、初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、たとえば、仮想空間１１に配置されるオブジェクトを移動するための操作を含む。
【００７６】
ある局面において、右コントローラ３００Ｒおよび左コントローラは、赤外線ＬＥＤ３６０その他の部材を駆動するための電池を含む。電池は、充電式、ボタン型、乾電池型などを含むが、これらに限定されない。別の局面において、右コントローラ３００Ｒと左コントローラは、たとえば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、右コントローラ３００Ｒおよび左コントローラは、電池を必要としない。
【００７７】
図８の状態（Ａ）および状態（Ｂ）に示されるように、例えば、ユーザ５の右手に対して、ヨー、ロール、ピッチの各方向が規定される。ユーザ５が親指と人差し指とを伸ばした場合に、親指の伸びる方向がヨー方向、人差し指の伸びる方向がロール方向、ヨー方向の軸およびロール方向の軸によって規定される平面に垂直な方向がピッチ方向として規定される。
【００７８】
［サーバのハードウェア構成］
図９を参照して、本実施の形態に係るサーバ６００について説明する。図９は、ある実施の形態に従うサーバ６００のハードウェア構成の一例を表すブロック図である。サーバ６００は、主たる構成要素として、プロセッサ６１０と、メモリ６２０と、ストレージ６３０と、入出力インターフェイス６４０と、通信インターフェイス６５０とを備える。各構成要素は、それぞれ、バス６６０に接続されている。
【００７９】
プロセッサ６１０は、サーバ６００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ６２０またはストレージ６３０に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ６１０は、ＣＰＵ、ＧＰＵ、ＭＰＵ、ＦＰＧＡその他のデバイスとして実現される。
【００８０】
メモリ６２０は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ６３０からロードされる。データは、サーバ６００に入力されたデータと、プロセッサ６１０によって生成されたデータとを含む。ある局面において、メモリ６２０は、ＲＡＭその他の揮発メモリとして実現される。
【００８１】
ストレージ６３０は、プログラムおよびデータを永続的に保持する。ストレージ６３０は、例えば、ＲＯＭ、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ６３０に格納されるプログラムは、ＨＭＤシステム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、コンピュータ２００との通信を実現するためのプログラムを含んでもよい。ストレージ６３０に格納されるデータは、仮想空間を規定するためのデータおよびオブジェクト等を含んでもよい。
【００８２】
別の局面において、ストレージ６３０は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、サーバ６００に内蔵されたストレージ６３０の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のＨＭＤシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００８３】
入出力インターフェイス６４０は、入出力機器との間で信号を通信する。ある局面において、入出力インターフェイス６４０は、ＵＳＢ、ＤＶＩ、ＨＤＭＩその他の端子を用いて実現される。入出力インターフェイス６４０は上述のものに限られない。
【００８４】
通信インターフェイス６５０は、ネットワーク２に接続されて、ネットワーク２に接続されているコンピュータ２００と通信する。ある局面において、通信インターフェイス６５０は、例えば、ＬＡＮその他の有線通信インターフェイス、あるいは、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ、ＮＦＣその他の無線通信インターフェイスとして実現される。通信インターフェイス６５０は上述のものに限られない。
【００８５】
ある局面において、プロセッサ６１０は、ストレージ６３０にアクセスし、ストレージ６３０に格納されている１つ以上のプログラムをメモリ６２０にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、サーバ６００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ６１０は、入出力インターフェイス６４０を介して、仮想空間を提供するための信号をコンピュータ２００に送ってもよい。
【００８６】
［ＨＭＤの制御装置］
図１０を参照して、ＨＭＤ１２０の制御装置について説明する。ある実施の形態において、制御装置は周知の構成を有するコンピュータ２００によって実現される。図１０は、ある実施の形態に従うコンピュータ２００をモジュール構成として表わすブロック図である。
【００８７】
図１０に示されるように、コンピュータ２００は、コントロールモジュール５１０と、レンダリングモジュール５２０と、メモリモジュール５３０と、通信制御モジュール５４０とを備える。ある局面において、コントロールモジュール５１０とレンダリングモジュール５２０とは、プロセッサ２１０によって実現される。別の局面において、複数のプロセッサ２１０がコントロールモジュール５１０とレンダリングモジュール５２０として作動してもよい。メモリモジュール５３０は、メモリ２２０またはストレージ２３０によって実現される。通信制御モジュール５４０は、通信インターフェイス２５０によって実現される。
【００８８】
コントロールモジュール５１０は、ユーザ５に提供される仮想空間１１を制御する。コントロールモジュール５１０は、仮想空間１１を表す仮想空間データを用いて、ＨＭＤシステム１００における仮想空間１１を規定する。仮想空間データは、例えば、メモリモジュール５３０に記憶されている。コントロールモジュール５１０が、仮想空間データを生成したり、サーバ６００などから仮想空間データを取得するようにしたりしてもよい。
【００８９】
コントロールモジュール５１０は、オブジェクトを表すオブジェクトデータを用いて、仮想空間１１にオブジェクトを配置する。オブジェクトデータは、例えば、メモリモジュール５３０に記憶されている。コントロールモジュール５１０が、オブジェクトデータを生成したり、サーバ６００などからオブジェクトデータを取得するようにしたりしてもよい。オブジェクトは、例えば、ユーザ５の分身であるアバターオブジェクト、キャラクタオブジェクト、コントローラ３００によって操作される仮想手などの操作オブジェクト、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、街並み、動物等を含み得る。
【００９０】
コントロールモジュール５１０は、ネットワーク２を介して接続される他のコンピュータ２００のユーザ５のアバターオブジェクトを仮想空間１１に配置する。ある局面において、コントロールモジュール５１０は、ユーザ５のアバターオブジェクトを仮想空間１１に配置する。ある局面において、コントロールモジュール５１０は、ユーザ５を含む画像に基づいて、ユーザ５を模したアバターオブジェクトを仮想空間１１に配置する。別の局面において、コントロールモジュール５１０は、複数種類のアバターオブジェクト（例えば、動物を模したオブジェクトや、デフォルメされた人のオブジェクト）の中からユーザ５による選択を受け付けたアバターオブジェクトを仮想空間１１に配置する。
【００９１】
コントロールモジュール５１０は、ＨＭＤセンサ４１０の出力に基づいてＨＭＤ１２０の傾きを特定する。別の局面において、コントロールモジュール５１０は、モーションセンサとして機能するセンサ１９０の出力に基づいてＨＭＤ１２０の傾きを特定する。コントロールモジュール５１０は、第１カメラ１５０および第２カメラ１６０が生成するユーザ５の顔の画像から、ユーザ５の顔を構成する器官（例えば、口，目，眉）を検出する。コントロールモジュール５１０は、検出した各器官の動き（形状）を検出する。
【００９２】
コントロールモジュール５１０は、注視センサ１４０からの信号に基づいて、ユーザ５の仮想空間１１における視線を検出する。コントロールモジュール５１０は、検出したユーザ５の視線と仮想空間１１の天球とが交わる視点位置（ＸＹＺ座標系における座標値）を検出する。より具体的には、コントロールモジュール５１０は、ｕｖｗ座標系で規定されるユーザ５の視線と、仮想カメラ１４の位置および傾きとに基づいて、視点位置を検出する。コントロールモジュール５１０は、検出した視点位置をサーバ６００に送信する。別の局面において、コントロールモジュール５１０は、ユーザ５の視線を表す視線情報をサーバ６００に送信するように構成されてもよい。係る場合、サーバ６００が受信した視線情報に基づいて視点位置を算出し得る。
【００９３】
コントロールモジュール５１０は、ＨＭＤセンサ４１０が検出するＨＭＤ１２０の動きをアバターオブジェクトに反映する。例えば、コントロールモジュール５１０は、ＨＭＤ１２０が傾いたことを検知して、アバターオブジェクトを傾けて配置する。コントロールモジュール５１０は、検出した顔器官の動作を、仮想空間１１に配置されるアバターオブジェクトの顔に反映させる。コントロールモジュール５１０は、サーバ６００から他のユーザ５の視線情報を受信し、当該他のユーザ５のアバターオブジェクトの視線に反映させる。ある局面において、コントロールモジュール５１０は、コントローラ３００の動きをアバターオブジェクトや操作オブジェクトに反映する。この場合、コントローラ３００は、コントローラ３００の動きを検知するためのモーションセンサ、加速度センサ、または複数の発光素子（例えば、赤外線ＬＥＤ）などを備える。
【００９４】
コントロールモジュール５１０は、仮想空間１１においてユーザ５の操作を受け付けるための操作オブジェクトを仮想空間１１に配置する。ユーザ５は、操作オブジェクトを操作することにより、例えば、仮想空間１１に配置されるオブジェクトを操作する。ある局面において、操作オブジェクトは、例えば、ユーザ５の手に相当する仮想手である手オブジェクト等を含み得る。ある局面において、コントロールモジュール５１０は、モーションセンサ４２０の出力に基づいて現実空間におけるユーザ５の手の動きに連動するように仮想空間１１において手オブジェクトを動かす。ある局面において、操作オブジェクトは、アバターオブジェクトの手の部分に相当し得る。
【００９５】
コントロールモジュール５１０は、仮想空間１１に配置されるオブジェクトのそれぞれが、他のオブジェクトと衝突した場合に、当該衝突を検出する。コントロールモジュール５１０は、例えば、あるオブジェクトのコリジョンエリアと、別のオブジェクトのコリジョンエリアとが触れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行なう。コントロールモジュール５１０は、オブジェクトとオブジェクトとが触れている状態から離れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行なう。コントロールモジュール５１０は、オブジェクトとオブジェクトとが触れている状態であることを検出することができる。例えば、コントロールモジュール５１０は、操作オブジェクトと、他のオブジェクトとが触れたときに、これら操作オブジェクトと他のオブジェクトとが触れたことを検出して、予め定められた処理を行なう。
【００９６】
ある局面において、コントロールモジュール５１０は、ＨＭＤ１２０のモニタ１３０における画像表示を制御する。例えば、コントロールモジュール５１０は、仮想空間１１に仮想カメラ１４を配置する。コントロールモジュール５１０は、仮想空間１１における仮想カメラ１４の位置と、仮想カメラ１４の傾き（向き）を制御する。コントロールモジュール５１０は、ＨＭＤ１２０を装着したユーザ５の頭部の傾きと、仮想カメラ１４の位置に応じて、視界領域１５を規定する。レンダリングモジュール５２０は、決定された視界領域１５に基づいて、モニタ１３０に表示される視界画像１７を生成する。レンダリングモジュール５２０により生成された視界画像１７は、通信制御モジュール５４０によってＨＭＤ１２０に出力される。
【００９７】
コントロールモジュール５１０は、ＨＭＤ１２０から、ユーザ５のマイク１７０を用いた発話を検出すると、当該発話に対応する音声データの送信対象のコンピュータ２００を特定する。音声データは、コントロールモジュール５１０によって特定されたコンピュータ２００に送信される。コントロールモジュール５１０は、ネットワーク２を介して他のユーザのコンピュータ２００から音声データを受信すると、当該音声データに対応する音声（発話）をスピーカ１８０から出力する。
【００９８】
メモリモジュール５３０は、コンピュータ２００が仮想空間１１をユーザ５に提供するために使用されるデータを保持している。ある局面において、メモリモジュール５３０は、空間情報と、オブジェクト情報と、ユーザ情報とを保持している。
【００９９】
空間情報は、仮想空間１１を提供するために規定された１つ以上のテンプレートを保持している。
【０１００】
オブジェクト情報は、仮想空間１１を構成する複数のパノラマ画像１３、仮想空間１１にオブジェクトを配置するためのオブジェクトデータを含む。パノラマ画像１３は、静止画像および動画像を含み得る。パノラマ画像１３は、非現実空間の画像と現実空間の画像とを含み得る。非現実空間の画像としては、例えば、コンピュータグラフィックスで生成された画像が挙げられる。
【０１０１】
ユーザ情報は、ユーザ５を識別するユーザＩＤを保持する。ユーザＩＤは、例えば、ユーザが使用するコンピュータ２００に設定されるＩＰ（Internet  Protocol）アドレスまたはＭＡＣ（Media  Access  Control）アドレスであり得る。別の局面において、ユーザＩＤはユーザによって設定され得る。ユーザ情報は、ＨＭＤシステム１００の制御装置としてコンピュータ２００を機能させるためのプログラム等を含む。
【０１０２】
メモリモジュール５３０に格納されているデータおよびプログラムは、ＨＭＤ１２０のユーザ５によって入力される。あるいは、プロセッサ２１０が、当該コンテンツを提供する事業者が運営するコンピュータ（例えば、サーバ６００）からプログラムあるいはデータをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュール５３０に格納する。
【０１０３】
通信制御モジュール５４０は、ネットワーク２を介して、サーバ６００その他の情報通信装置と通信し得る。
【０１０４】
ある局面において、コントロールモジュール５１０及びレンダリングモジュール５２０は、例えば、ユニティテクノロジーズ社によって提供されるＵｎｉｔｙ（登録商標）を用いて実現され得る。別の局面において、コントロールモジュール５１０及びレンダリングモジュール５２０は、各処理を実現する回路素子の組み合わせとしても実現され得る。
【０１０５】
コンピュータ２００における処理は、ハードウェアと、プロセッサ２１０により実行されるソフトウェアとによって実現される。このようなソフトウェアは、ハードディスクその他のメモリモジュール５３０に予め格納されている場合がある。ソフトウェアは、ＣＤ−ＲＯＭその他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信制御モジュール５４０を介してサーバ６００その他のコンピュータからダウンロードされた後、記憶モジュールに一旦格納される。そのソフトウェアは、プロセッサ２１０によって記憶モジュールから読み出され、実行可能なプログラムの形式でＲＡＭに格納される。プロセッサ２１０は、そのプログラムを実行する。
【０１０６】
［ＨＭＤシステムの制御構造］
図１１を参照して、ＨＭＤセット１１０の制御構造について説明する。図１１は、ある実施の形態に従うＨＭＤセット１１０において実行される処理の一部を表すシーケンスチャートである。
【０１０７】
図１１に示されるように、ステップＳ１１１０において、コンピュータ２００のプロセッサ２１０は、コントロールモジュール５１０として、仮想空間データを特定し、仮想空間１１を定義する。
【０１０８】
ステップＳ１１２０において、プロセッサ２１０は、仮想カメラ１４を初期化する。たとえば、プロセッサ２１０は、メモリのワーク領域において、仮想カメラ１４を仮想空間１１において予め規定された中心１２に配置し、仮想カメラ１４の視線をユーザ５が向いている方向に向ける。
【０１０９】
ステップＳ１１３０において、プロセッサ２１０は、レンダリングモジュール５２０として、初期の視界画像を表示するための視界画像データを生成する。生成された視界画像データは、通信制御モジュール５４０によってＨＭＤ１２０に出力される。
【０１１０】
ステップＳ１１３２において、ＨＭＤ１２０のモニタ１３０は、コンピュータ２００から受信した視界画像データに基づいて、視界画像を表示する。ＨＭＤ１２０を装着したユーザ５は、視界画像を視認すると仮想空間１１を認識し得る。
【０１１１】
ステップＳ１１３４において、ＨＭＤセンサ４１０は、ＨＭＤ１２０から発信される複数の赤外線光に基づいて、ＨＭＤ１２０の位置と傾きを検知する。検知結果は、動き検知データとして、コンピュータ２００に出力される。
【０１１２】
ステップＳ１１４０において、プロセッサ２１０は、ＨＭＤ１２０の動き検知データに含まれる位置と傾きとに基づいて、ＨＭＤ１２０を装着したユーザ５の視界方向を特定する。
【０１１３】
ステップＳ１１５０において、プロセッサ２１０は、アプリケーションプログラムを実行し、アプリケーションプログラムに含まれる命令に基づいて、仮想空間１１にオブジェクトを配置する。
【０１１４】
ステップＳ１１６０において、コントローラ３００は、モーションセンサ４２０から出力される信号に基づいて、ユーザ５の操作を検出し、その検出された操作を表す検出データをコンピュータ２００に出力する。別の局面において、ユーザ５によるコントローラ３００の操作は、ユーザ５の周囲に配置されたカメラからの画像に基づいて検出されてもよい。
【０１１５】
ステップＳ１１７０において、プロセッサ２１０は、コントローラ３００から取得した検出データに基づいて、ユーザ５によるコントローラ３００の操作を検出する。
【０１１６】
ステップＳ１１８０において、プロセッサ２１０は、ユーザ５によるコントローラ３００の操作に基づく視界画像データを生成する。生成された視界画像データは、通信制御モジュール５４０によってＨＭＤ１２０に出力される。
【０１１７】
ステップＳ１１９０において、ＨＭＤ１２０は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ１３０に表示する。
【０１１８】
［アバターオブジェクト］
図１２（Ａ）、（Ｂ）を参照して、本実施の形態に従うアバターオブジェクトについて説明する。以下、ＨＭＤセット１１０Ａ，１１０Ｂの各ユーザ５のアバターオブジェクトを説明する図である。以下、ＨＭＤセット１１０Ａのユーザをユーザ５Ａ、ＨＭＤセット１１０Ｂのユーザをユーザ５Ｂ、ＨＭＤセット１１０Ｃのユーザをユーザ５Ｃ、ＨＭＤセット１１０Ｄのユーザをユーザ５Ｄと表す。ＨＭＤセット１１０Ａに関する各構成要素の参照符号にＡが付され、ＨＭＤセット１１０Ｂに関する各構成要素の参照符号にＢが付され、ＨＭＤセット１１０Ｃに関する各構成要素の参照符号にＣが付され、ＨＭＤセット１１０Ｄに関する各構成要素の参照符号にＤが付される。例えば、ＨＭＤ１２０Ａは、ＨＭＤセット１１０Ａに含まれる。
【０１１９】
図１２（Ａ）は、ネットワーク２において、各ＨＭＤ１２０がユーザ５に仮想空間１１を提供する状況を表す模式図である。コンピュータ２００Ａ〜２００Ｄは、ＨＭＤ１２０Ａ〜１２０Ｄを介して、ユーザ５Ａ〜５Ｄに、仮想空間１１Ａ〜１１Ｄをそれぞれ提供する。図１２（Ａ）に示される例において、仮想空間１１Ａおよび仮想空間１１Ｂは同じデータによって構成されている。換言すれば、コンピュータ２００Ａとコンピュータ２００Ｂとは同じ仮想空間を共有していることになる。仮想空間１１Ａおよび仮想空間１１Ｂには、ユーザ５Ａのアバターオブジェクト６Ａと、ユーザ５Ｂのアバターオブジェクト６Ｂとが存在する。仮想空間１１Ａにおけるアバターオブジェクト６Ａおよび仮想空間１１Ｂにおけるアバターオブジェクト６ＢがそれぞれＨＭＤ１２０を装着しているが、これは説明を分かりやすくするためのものであって、実際にはこれらのオブジェクトはＨＭＤ１２０を装着していない。
【０１２０】
ある局面において、プロセッサ２１０Ａは、ユーザ５Ａの視界画像１７Ａを撮影する仮想カメラ１４Ａを、アバターオブジェクト６Ａの目の位置に配置し得る。
【０１２１】
図１２（Ｂ）は、図１２（Ａ）におけるユーザ５Ａの視界画像１７Ａを示す図である。視界画像１７Ａは、ＨＭＤ１２０Ａのモニタ１３０Ａに表示される画像である。この視界画像１７Ａは、仮想カメラ１４Ａにより生成された画像である。視界画像１７Ａには、ユーザ５Ｂのアバターオブジェクト６Ｂが表示されている。特に図示はしていないが、ユーザ５Ｂの視界画像にも同様に、ユーザ５Ａのアバターオブジェクト６Ａが表示されている。
【０１２２】
図１２（Ｂ）の状態において、ユーザ５Ａは仮想空間１１Ａを介してユーザ５Ｂと対話による通信（コミュニケーション）を図ることができる。より具体的には、マイク１７０Ａにより取得されたユーザ５Ａの音声は、サーバ６００を介してユーザ５ＢのＨＭＤ１２０Ｂに送信され、ＨＭＤ１２０Ｂに設けられたスピーカ１８０Ｂから出力される。ユーザ５Ｂの音声は、サーバ６００を介してユーザ５ＡのＨＭＤ１２０Ａに送信され、ＨＭＤ１２０Ａに設けられたスピーカ１８０Ａから出力される。
【０１２３】
ユーザ５Ｂの動作（ＨＭＤ１２０Ｂの動作およびコントローラ３００Ｂの動作）は、プロセッサ２１０Ａにより仮想空間１１Ａに配置されるアバターオブジェクト６Ｂに反映される。これにより、ユーザ５Ａは、ユーザ５Ｂの動作を、アバターオブジェクト６Ｂを通じて認識できる。
【０１２４】
図１３は、本実施の形態に従うＨＭＤシステム１００において実行される処理の一部を表すシーケンスチャートである。図１３においては、ＨＭＤセット１１０Ｄを図示していないが、ＨＭＤセット１１０Ｄについても、ＨＭＤセット１１０Ａ、１１０Ｂ、１１０Ｃと同様に動作する。以下の説明でも、ＨＭＤセット１１０Ａに関する各構成要素の参照符号にＡが付され、ＨＭＤセット１１０Ｂに関する各構成要素の参照符号にＢが付され、ＨＭＤセット１１０Ｃに関する各構成要素の参照符号にＣが付され、ＨＭＤセット１１０Ｄに関する各構成要素の参照符号にＤが付されるものとする。
【０１２５】
ステップＳ１３１０Ａにおいて、ＨＭＤセット１１０Ａにおけるプロセッサ２１０Ａは、仮想空間１１Ａにおけるアバターオブジェクト６Ａの動作を決定するためのアバター情報を取得する。このアバター情報は、例えば、動き情報、フェイストラッキングデータ、および音声データ等のアバターに関する情報を含む。動き情報は、ＨＭＤ１２０Ａの位置および傾きの時間的変化を示す情報や、モーションセンサ４２０Ａ等により検出されたユーザ５Ａの手の動きを示す情報などを含む。フェイストラッキングデータは、ユーザ５Ａの顔の各パーツの位置および大きさを特定するデータが挙げられる。フェイストラッキングデータは、ユーザ５Ａの顔を構成する各器官の動きを示すデータや視線データが挙げられる。音声データは、ＨＭＤ１２０Ａのマイク１７０Ａによって取得されたユーザ５Ａの音声を示すデータが挙げられる。アバター情報には、アバターオブジェクト６Ａ、あるいはアバターオブジェクト６Ａに関連付けられるユーザ５Ａを特定する情報や、アバターオブジェクト６Ａが存在する仮想空間１１Ａを特定する情報等が含まれてもよい。アバターオブジェクト６Ａやユーザ５Ａを特定する情報としては、ユーザＩＤが挙げられる。アバターオブジェクト６Ａが存在する仮想空間１１Ａを特定する情報としては、ルームＩＤが挙げられる。プロセッサ２１０Ａは、上述のように取得されたアバター情報を、ネットワーク２を介してサーバ６００に送信する。
【０１２６】
ステップＳ１３１０Ｂにおいて、ＨＭＤセット１１０Ｂにおけるプロセッサ２１０Ｂは、ステップＳ１３１０Ａにおける処理と同様に、仮想空間１１Ｂにおけるアバターオブジェクト６Ｂの動作を決定するためのアバター情報を取得し、サーバ６００に送信する。同様に、ステップＳ１３１０Ｃにおいて、ＨＭＤセット１１０Ｃにおけるプロセッサ２１０Ｃは、仮想空間１１Ｃにおけるアバターオブジェクト６Ｃの動作を決定するためのアバター情報を取得し、サーバ６００に送信する。
【０１２７】
ステップＳ１３２０において、サーバ６００は、ＨＭＤセット１１０Ａ、ＨＭＤセット１１０Ｂ、およびＨＭＤセット１１０Ｃのそれぞれから受信したプレイヤ情報を一旦記憶する。サーバ６００は、各アバター情報に含まれるユーザＩＤおよびルームＩＤ等に基づいて、共通の仮想空間１１に関連付けられた全ユーザ（この例では、ユーザ５Ａ〜５Ｃ）のアバター情報を統合する。そして、サーバ６００は、予め定められたタイミングで、統合したアバター情報を当該仮想空間１１に関連付けられた全ユーザに送信する。これにより、同期処理が実行される。このような同期処理により、ＨＭＤセット１１０Ａ、ＨＭＤセット１１０Ｂ、およびＨＭＤセット１１０Ｃは、互いのアバター情報をほぼ同じタイミングで共有することができる。
【０１２８】
続いて、サーバ６００から各ＨＭＤセット１１０Ａ〜１１０Ｃに送信されたアバター情報に基づいて、各ＨＭＤセット１１０Ａ〜１１０Ｃは、ステップＳ１３３０Ａ〜Ｓ１３３０Ｃの処理を実行する。ステップＳ１３３０Ａの処理は、図１１におけるステップＳ１１８０の処理に相当する。
【０１２９】
ステップＳ１３３０Ａにおいて、ＨＭＤセット１１０Ａにおけるプロセッサ２１０Ａは、仮想空間１１Ａにおける他のユーザ５Ｂ，５Ｃのアバターオブジェクト６Ｂ、アバターオブジェクト６Ｃの情報を更新する。具体的には、プロセッサ２１０Ａは、ＨＭＤセット１１０Ｂから送信されたアバター情報に含まれる動き情報に基づいて、仮想空間１１におけるアバターオブジェクト６Ｂの位置および向き等を更新する。例えば、プロセッサ２１０Ａは、メモリモジュール５３０に格納されたオブジェクト情報に含まれるアバターオブジェクト６Ｂの情報（位置および向き等）を更新する。同様に、プロセッサ２１０Ａは、ＨＭＤセット１１０Ｃから送信されたアバター情報に含まれる動き情報に基づいて、仮想空間１１におけるアバターオブジェクト６Ｃの情報（位置および向き等）を更新する。
【０１３０】
ステップＳ１３３０Ｂにおいて、ＨＭＤセット１１０Ｂにおけるプロセッサ２１０Ｂは、ステップＳ１３３０Ａにおける処理と同様に、仮想空間１１Ｂにおけるユーザ５Ａ，５Ｃのアバターオブジェクト６Ａ，６Ｃの情報を更新する。同様に、ステップＳ１３３０Ｃにおいて、ＨＭＤセット１１０Ｃにおけるプロセッサ２１０Ｃは、仮想空間１１Ｃにおけるユーザ５Ａ，５Ｂのアバターオブジェクト６Ａ，６Ｂの情報を更新する。
【０１３１】
［モジュールの詳細構成］
図１４を参照して、コンピュータ２００のモジュール構成の詳細について説明する。図１４は、ある実施の形態に従うコンピュータ２００のモジュールの詳細構成を表わすブロック図である。図１４に示されるように、コントロールモジュール５１０は、仮想オブジェクト生成モジュール１４２１、仮想カメラ制御モジュール１４２２、操作オブジェクト制御モジュール１４２３、アバターオブジェクト制御モジュール１４２４、動き検出モジュール１４２５、仮想オブジェクト制御モジュール１４２６を備えている。
【０１３２】
仮想オブジェクト生成モジュール１４２１は、各種の仮想オブジェクトを仮想空間１１に生成する。ある局面において、仮想オブジェクトは、例えば、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、動物等を含み得る。ある局面において、仮想オブジェクトは、アバターオブジェクト、操作オブジェクト、およびステージオブジェクト、ＵＩ（User  Interface）オブジェクトを含み得る。
【０１３３】
仮想カメラ制御モジュール１４２２は、仮想空間１１における仮想カメラ１４の挙動を制御する。仮想カメラ制御モジュール１４２２は、例えば、仮想空間１１における仮想カメラ１４の配置位置と、仮想カメラ１４の向き（傾き）とを制御する。
【０１３４】
操作オブジェクト制御モジュール１４２３は、仮想空間１１においてユーザ５の操作を受け付けるための操作オブジェクトを制御する。ユーザ５は、操作オブジェクトを操作することによって、例えば、仮想空間１１に配置される仮想オブジェクトを操作する。ある局面において、操作オブジェクトは、例えば、ＨＭＤ１２０を装着したユーザ５の手に相当する手オブジェクト（仮想手）等を含み得る。ある局面において、操作オブジェクトは、後述するアバターオブジェクトの手の部分に相当し得る。
【０１３５】
アバターオブジェクト制御モジュール１４２４は、ＨＭＤセンサ４１０が検出するＨＭＤ１２０の動きをアバターオブジェクトに反映する。例えば、アバターオブジェクト制御モジュール１４２４は、ＨＭＤ１２０が傾いたことを検知して、アバターオブジェクトを傾けて配置するためのデータを生成する。ある局面において、アバターオブジェクト制御モジュール１４２４は、コントローラ３００の動きをアバターオブジェクトに反映する。この場合、コントローラ３００は、コントローラ３００の動きを検知するためのモーションセンサ、加速度センサ、または複数の発光素子（例えば、赤外線ＬＥＤ）などを備える。アバターオブジェクト制御モジュール１４２４は、動き検出モジュール１４２５が検出した顔器官の動作を、仮想空間１１に配置されるアバターオブジェクトの顔に反映させる。つまり、アバターオブジェクト制御モジュール１４２４は、ユーザ５の顔の動作をアバターオブジェクトに反映する。
【０１３６】
動き検出モジュール１４２５は、ユーザ５の動きを検出する。動き検出モジュール１４２５は、例えば、コントローラ３００の出力に応じて、ユーザ５の手の動きを検出する。動き検出モジュール１４２５は、例えば、ユーザ５の身体に装着されるモーションセンサの出力に応じて、ユーザ５の身体の動きを検出する。動き検出モジュール１４２５は、ユーザ５の顔器官の動作を検出することもできる。
【０１３７】
仮想オブジェクト制御モジュール１４２６は、仮想空間１１において、アバターオブジェクトを除く仮想オブジェクトの挙動を制御する。一例として、仮想オブジェクト制御モジュール１４２６は、仮想オブジェクトを変形させる。別の例として、仮想オブジェクト制御モジュール１４２６は、仮想オブジェクトの配置位置を変更する。別の例として、仮想オブジェクト制御モジュール１４２６は、仮想オブジェクトを移動させる。
【０１３８】
［視聴者の仮想空間］
図１５は、ある実施の形態に従う仮想空間１１Ａおよび視界画像１５１７Ａを示す図である。図１５（Ａ）では、ユーザ５Ａ（第１ユーザ）に仮想体験を提供するための仮想空間１１Ａに、アバターオブジェクト６Ａ〜６Ｃ、仮想カメラ１４Ａ、ステージオブジェクト１５３２、アバターオブジェクト１５３３（第１アバター）、アバターオブジェクト１５３４（第２アバター）、およびライトオブジェクト１５４１が少なくとも配置される。ユーザ５Ａは、頭部にＨＭＤ１２０Ａを装着している。ユーザ５Ａは、ユーザ５Ａの身体の右側の一部を構成する右手で右コントローラ３００ＲＡを把持し、ユーザ５Ａの身体の左側の一部を構成する左手で左コントローラ３００ＬＡを把持している。アバターオブジェクト６Ａは、ユーザ５Ａに関連付けられている。アバターオブジェクト６Ａ（第３アバター）は、仮想右手１５３１ＲＡおよび仮想左手１５３１ＬＡを含む。仮想右手１５３１ＲＡは操作オブジェクトの一種であり、ユーザ５Ａの右手の動きに応じて仮想空間１１Ａにおいて動くことができる。仮想左手１５３１ＬＡは操作オブジェクトの一種であり、ユーザ５Ａの左手の動きに応じて仮想空間１１Ａにおいて動くことができる。
【０１３９】
図１５（Ａ）に示す仮想空間１１Ａは、コンピュータ２００Ａにおいてライブコンテンツが再生されることによって、構築される。仮想空間１１Ａにおいて、アバターオブジェクト１５３３は、ライブの演者としてパフォーマンスを実行し、アバターオブジェクト６Ａを含む他のアバターオブジェクトは、ライブの視聴者としてパフォーマンスを視聴する。仮想空間１１Ａにおいて、アバターオブジェクト６Ｂおよび６Ｃは、それぞれ、ユーザ５Ｂおよび５Ｃに個別に関連付けられている。また、詳細については後述するが、アバターオブジェクト１５３３は、現実空間のライブでパフォーマンスを行っている演者（以下、単に「演者」と称する）に関連付けられている。アバターオブジェクト１５３４は、ユーザ５および演者に関連付けられていないアバターオブジェクトである。アバターオブジェクト１５３４は、コンピュータ２００Ａに格納されているプログラムに従って、少なくとも一部の動作を行なってもよい。
【０１４０】
仮想空間１１Ａにおいて、アバターオブジェクト１５３３は、ステージオブジェクト１５３２上に配置される。ステージオブジェクト１５３２は、現実のライブ会場におけるステージを模した外観を有している。アバターオブジェクト６Ａ、６Ｂ、および６Ｃ、並びに、アバターオブジェクト１５３４は、いずれも、ステージオブジェクト１５３２の手前に配置される。仮想空間１１Ａにおいて、アバターオブジェクト１５３３は、演者の動きに応じて動くことによって、ライブのパフォーマンスを実行する。換言すれば、アバターオブジェクト１５３３は、現実空間において演者が行ったパフォーマンス（第１パフォーマンス）に対応するパフォーマンス（第２パフォーマンス）を、仮想空間１１Ａにおいて実行する。仮想空間１１Ａにおいて、アバターオブジェクト６Ａは、アバターオブジェクト１５３３による第２パフォーマンスを視聴する。このとき、ユーザ５Ｂに提供される仮想空間１１Ｂにおいて、アバターオブジェクト６Ｂ（第４アバター）は、アバターオブジェクト１５３３によって実行された第２パフォーマンスを視聴する。同様に、ユーザ５Ｃに提供される仮想空間１１Ｃにおいて、アバターオブジェクト６Ｃ（第４アバター）は、アバターオブジェクト６Ｃによって実行された第２パフォーマンスを視聴する。したがって、ユーザ５Ａ、５Ｂ、および５Ｃは視聴者であるとも言える。
【０１４１】
図１５（Ａ）において、ライトオブジェクト１５４１は、ケミカルライトなどの棒状の照明器具を模したオブジェクトであり、アバターオブジェクト６Ａ〜６Ｃ、および、アバターオブジェクト１５３４の仮想右手１５３１Ｒに把持された状態で配置される。アバターオブジェクト６Ａ〜６Ｃが把持しているライトオブジェクト１５４１は、それぞれ、仮想右手１５３１ＲＡ〜１５３１ＲＣの動きに応じて動く。つまり、ユーザ５Ａ〜５Ｃは、自身の右手を動かすことで、ライトオブジェクト１５４１を動かす（振る）という仮想体験を得ることができる。
【０１４２】
図１５（Ａ）において、仮想カメラ１４Ａは、アバターオブジェクト６Ａの頭部に配置される。仮想カメラ１４Ａは、仮想カメラ１４Ａの位置および向きに応じた視界領域１５Ａを規定する。仮想カメラ１４Ａは、視界領域１５Ａに対応する視界画像１５１７Ａを生成して、図１５（Ｂ）に示すようにＨＭＤ１２０Ａに表示させる。ユーザ５Ａは、視界画像１５１７Ａを視認することによって、アバターオブジェクト６Ａの視点で仮想空間の一部を視認する。これにより、ユーザ５Ａは、あたかもユーザ５Ａ自身がアバターオブジェクト６Ａであるかのような仮想体験を、得ることができる。視界画像１５１７Ａには、第２パフォーマンスを実行するアバターオブジェクト１５３３が含まれる。したがって、ユーザ５Ａは、アバターオブジェクト１５３３による第２パフォーマンスを、アバターオブジェクト６Ａの視点で視聴することができる。
【０１４３】
仮想空間１１Ａには、異なる複数のアバターオブジェクト１５３３を配置することもできる。ある局面では、複数のアバターオブジェクト１５３３にそれぞれ異なる演者が関連付けられる。別の局面では、複数のアバターオブジェクト１５３３に同一の演者が関連付けられる。
【０１４４】
［現実空間でのライブ］
図１６は、ある実施の形態に従う現実空間でのライブを示す図である。図１６では、現実空間でのライブにおいて、演者１６３５が観客１６３６に対してパフォーマンス（第１パフォーマンス）を行なっている。演者１６３５は、モーションセンサ１６５１〜１６５３、および１６５５を装着している。モーションセンサ１６５１は、ベルト１６５４によって演者１６３５の腰部に装着されている。モーションセンサ１６５２は、演者１６３５の右足の甲に装着されている。モーションセンサ１６５３は、演者１６３５の左足の甲に装着されている。モーションセンサ１６５５は、ベルト１６５６によって演者１６３５の頭部に装着されている。なお、図１６では、モーションセンサ１６５５およびベルト１６５６が、演者１６３５の髪に隠れているため、モーションセンサ１６５５およびベルト１６５６を点線で示している。
【０１４５】
演者１６３５は、さらに、演者１６３５の身体の右側の一部を構成する右手（第１部位）で右コントローラ３００ＲＢを把持し、演者１６３５の身体の左側の一部を構成する左手（第２部位）で左コントローラ３００ＬＢを把持している。演者１６３５は、さらに、マイク１６５７を装着している。マイク１６５７は、演者１６３５の発した音声（例えば、歌声）を音声信号（電気信号）に変換してコンピュータ１７９１（第１コンピュータ、図１６では不図示）に出力する。コンピュータ１７９１に出力された音声信号は、例えば、スピーカ（不図示）によって音声に変換され、出力される。これにより、現実空間におけるライブ会場に、演者１６３５の音声が出力され、観客１６３６は、該音声を聴くことができる。
【０１４６】
ある局面において、演者１６３５に装着されるモーションセンサは、ベースステーション１６５９から照射される信号（例えば赤外線レーザ）の到達時間と角度とを検出する。コンピュータ１７９１のプロセッサは、モーションセンサの検出結果に基づいて、ベースステーション１６５９に対するモーションセンサの位置を検出する。プロセッサは、さらに、ベースステーション１６５９に対するモーションセンサの位置を、所定点（例えば頭部に装着されたモーションセンサ１６５５の位置）を基準として規格化してもよい。プロセッサは、検出したモーションセンサの位置に基づいて、演者１６３５の動きを検出する。
【０１４７】
具体的には、プロセッサは、演者１６３５の頭部、腰部、両手、および両足の位置を検出する。以下、各モーションセンサによって検出される演者１６３５の部位の位置を「位置情報」とも言う。プロセッサは、演者１６３５の現在の位置情報と、予め取得された演者１６３５の寸法データとに基づいて、演者１６３５の関節の回転方向を算出する。寸法データは、演者１６３５の身体の寸法を表すデータである。寸法データおよび回転方向については後述する。現在の位置情報を検出することおよび回転方向を算出することは、演者１６３５の動きを検出することと同義である。
【０１４８】
プロセッサは、現在の位置情報および回転方向を含む情報、すなわち、検出した動きの情報（以下、「第１動き情報」と称する）を生成し、サーバ６００を介してコンピュータ２００に送信する。プロセッサ２１０は、第１動き情報に応じて、ユーザ５に仮想体験を提供するための仮想空間１１に配置されたアバターオブジェクト１５３３に、現実空間のライブにおける演者１６３５の動きが反映されたパフォーマンスを実行させる。第１動き情報は、マイク１６５７を介してコンピュータ１７９１に出力された音声信号を含んでもよい。これにより、プロセッサ２１０は、アバターオブジェクト１５３３に、演者１６３５が発した音声を出力させることができる。ユーザ５は、現実空間のライブにおいて演者１６３５が行った第１パフォーマンスに対応する、アバターオブジェクト１５３３が行う第２パフォーマンスを視聴することができる。このように、演者１６３５は、アバターオブジェクト１５３３によるライブを、ユーザ５Ａ、５Ｂ、および５Ｃにそれぞれ配信する配信者としての役割をも有する。
【０１４９】
第１動き情報は、仮想空間１１においてアバターオブジェクト１５３３に第２パフォーマンスを実行させることができる情報であればよく、現在の位置情報および回転方向を含む情報に限定されない。第１動き情報は、例えば、回転方向を含まない情報であってもよい。この場合、コンピュータ２００のプロセッサ２１０は、例えば、受信した動き情報に含まれる、演者１６３５の身体を構成する各部位の位置に対応するように、演者１６３５の各部位に対応するアバターオブジェクト１５３３の各部位オブジェクトの位置を制御する。
【０１５０】
図１６の例では、観客１６３６は、ケミカルライト１６５８（第１端末装置）を保持している。本実施形態において、ケミカルライト１６５８は、ケミカルライト１６５８の動きを検出するセンサ（例えば、加速度センサ）を備えている。つまり、該センサは、観客１６３６がケミカルライト１６５８を振る動作（第１動作）を検出することができる。該センサが動きを検出したことを示す情報（以下、「第２動き情報」と称する）は、ゲートウェイ１７９３（図１６では不図示）を介してサーバ６００へ送信される。第２動き情報は、例えば、ケミカルライト１６５８を識別する情報（ケミカルライト１６５８のＩＤ）であってもよい。なお、ケミカルライト１６５８に備えられるセンサは、ケミカルライト１６５８が振られたか否かを検出することができるセンサであればよく、加速度センサに限定されない。また、観客１６３６が保持する物体は、第１動作を検出するセンサが備えていればよく、ケミカルライトに限定されない。例えば、ライトスティック、ペンライトなどの、ケミカルライトと異なる棒状の照明器具であってもよい。あるいは、団扇、タオルなどの照明器具とは異なる物であってもよい。なお、観客１６３６が保持する物体は、ライブを盛り上げるために使用されるものであることが好ましい。
【０１５１】
なお、図１５および図１６に示すように、演者１６３５に関連付けられるアバターオブジェクト１５３３は、演者１６３５に酷似したアバターオブジェクトであることが好ましい。換言すれば、アバターオブジェクト１５３３は、演者１６３５の高精度な３Ｄモデルであることが好ましい。これにより、仮想空間１１でライブを視聴するユーザ５に、演者１６３５のライブを視聴しているかのような仮想体験を与えることができる。
【０１５２】
［システムの構成］
図１７は、ある実施の形態に従うシステム１７００の構成の概略を示す図である。システム１７００は、例えば業務用のシステムとして提供される。
【０１５３】
システム１７００は、サーバ６００と、コンピュータ２００Ａ（第２コンピュータ）、２００Ｂ、２００Ｃと、コンピュータ１７９１と、スマートフォン１７９２（第２端末装置）と、ゲートウェイ１７９３と、外部機器７００と、ネットワーク２とを含む。なお、図１７では、図示している各装置と有線または無線で接続されることにより、間接的にネットワーク２と接続されている装置については図示していないが、システム１７００はこのような装置も含む。このような装置としては、ユーザ５が装着しているＨＭＤ１２０などのＨＭＤセット１１０が備える各装置、演者に装着されたモーションセンサ、ベースステーション１６５９、ケミカルライト１６５８などが挙げられる。
【０１５４】
コンピュータ２００Ａ、２００Ｂ、２００Ｃは、それぞれ、ＨＭＤセット１１０Ａ、１１０Ｂ、１１０Ｃに備えられたコンピュータである。ＨＭＤセット１１０については、図１を参照して既に説明しているため、ここでは説明を繰り返さない。外部機器７００についても、図１を参照して既に説明しているため、ここでは説明を繰り返さない。
【０１５５】
コンピュータ１７９１は、演者１６３５に関連付けられたコンピュータである。コンピュータ１７９１は、ベースステーション１６５９を制御して、モーションセンサに対して信号を照射させる。また、コンピュータ１７９１は、モーションセンサから取得した検出結果に基づいて第１動き情報を生成し、サーバ６００へ送信する。
【０１５６】
スマートフォン１７９２は、観客１６３６に関連付けられたスマートフォンである。スマートフォン１７９２の詳細については後述する。
【０１５７】
ゲートウェイ１７９３は、ケミカルライト１６５８が検出した第２動き情報を受信し、サーバ６００へ送信する中継装置である。
【０１５８】
サーバ６００は、図１を参照して説明した機能に加え、コンピュータ１７９１から第１動き情報を受信したり、ゲートウェイ１７９３から第２動き情報を受信したりする。
【０１５９】
［寸法データの取得］
図１８は、寸法データの取得方法を説明するための図である。図１８（Ａ）は、演者１６３５が、正面を向き、両手を水平に広げ、起立している状態を表す。以下、図１８（Ａ）に示される状態を第１姿勢とも言う。図１８（Ｂ）は、演者１６３５が、正面を向き、両手を太もも側面に下ろし、起立している状態を表す。以下、図１８（Ｂ）に示される状態を第２姿勢とも言う。
【０１６０】
ある局面において、コンピュータ１７９１のプロセッサは、演者１６３５に対し第１姿勢および第２姿勢をとるように促す。一例として、プロセッサは、第１姿勢および第２姿勢をとる旨の音声をスピーカ（不図示）から出力する。
【０１６１】
プロセッサは、２つの姿勢（第１姿勢と第２姿勢）のそれぞれにおいて、演者１６３５に装着されたモーションセンサの出力に基づいて演者１６３５の頭部、腰部、両手、両足の位置情報を取得する。これら位置情報は、図１９に示されるように実座標系（ｘ、ｙ、ｚ）における位置として取得され得る。
【０１６２】
プロセッサは、２つの姿勢に対応する位置情報から演者１６３５の寸法データを算出する。ある実施形態において、プロセッサは、図２０に示されるように、演者１６３５の身長、肩幅、腕の長さ、足の長さ、頭部から肩までの高さを寸法データとして算出する。プロセッサは、第２姿勢における両手の間隔を肩幅として算出し得る。プロセッサは、第１姿勢における両手の間隔から肩幅を差し引いた値の半分を腕の長さとして算出し得る。プロセッサは、足の高さから頭部の高さまでの距離を身長として算出し得る。プロセッサは、足の高さから腰部の高さまでの距離を足の長さとして算出し得る。プロセッサは、第１姿勢における手の高さから頭部までの高さを、頭部から肩までの高さとして算出し得る。
【０１６３】
図２１は、寸法データを取得するための処理を表すフローチャートである。ステップＳ２１１０において、プロセッサは、演者１６３５に第１姿勢になるように指示する。例えば、プロセッサは、該指示を音声としてスピーカから出力することでステップＳ２１１０の処理を実現する。ステップＳ２１２０において、プロセッサは、第１姿勢に対応する位置情報を取得する。
【０１６４】
ステップＳ２１３０において、プロセッサは、演者１６３５に第２姿勢になるように指示する。ステップＳ２１４０において、プロセッサは、第２姿勢に対応する位置情報を取得する。
【０１６５】
ステップＳ２１５０において、プロセッサは、第１姿勢に対応する位置情報と第２姿勢に対応する位置情報とから、演者１６３５の寸法データを算出する。プロセッサは、寸法データをコンピュータ１７９１のストレージに格納する。
【０１６６】
以上のように、演者１６３５は、２つの姿勢をとるだけで、自身の寸法をコンピュータ１７９１に容易に入力できる。なお、他の局面において、演者１６３５は、自身の寸法をキーボード等の入力デバイスを用いてコンピュータ１７９１に入力してもよい。
【０１６７】
［関節の回転方向］
ある実施形態において、コンピュータ１７９１のプロセッサは、演者１６３５に装着された６つのモーションセンサの出力（位置情報）と、寸法データとに基づいて、演者１６３５の関節の回転方向を推定する。一例として、プロセッサは、頭部の位置情報と、肩幅と、頭部から肩までの高さとに基づいて、肩の位置を推定する。プロセッサは、肩の位置と手の位置情報とから、肘の位置を推定する。この推定は、逆運動学（Inverse Kinematics）を利用した公知のアプリケーションにより実行され得る。
【０１６８】
ある実施形態において、プロセッサは、６つのモーションセンサから、演者１６３５の首（頭部）、腰、両手首、および両足首の関節の傾き（回転方向）を取得する。加えて、プロセッサは、逆運動学に基づいて、両肩、両肘、両股（足のつけ根）、両膝の関節の回転方向を推定する。図２２に示されるように、プロセッサは、各関節の回転方向をｕｖｗ視野座標系で取得または推定する。
【０１６９】
なお、回転方向が位置情報と寸法データとに基づいて算出される場合、プロセッサは、演者１６３５が正面を向いていないとき（つまり、頭部と腰部とが異なる方向を向いているとき）の肩の位置等を正確に推定できない。そこで、他の実施形態において、コンピュータ１７９１は、モーションセンサによって検出される演者１６３５の部位の傾きをさらに考慮して関節の回転方向を推定してもよい。例えば、コンピュータ１７９１は、頭部の位置情報と、頭部の傾きと、腰部の傾きと、肩幅と、頭部から肩までの高さとに基づいて、肩の位置を推定する。当該構成によれば、コンピュータ１７９１は、関節の回転方向の精度を向上し得る。
【０１７０】
［ライブ視聴処理フロー］
図２３は、ある実施の形態に従うシステム１７００において実行される処理の一部を示すシーケンス図である。本実施形態では、ライブ視聴を開始するための、視聴者側の一連の処理が、ＨＭＤセット１１０Ａにより実行されるものとして説明する。ただし、当該処理は、他のＨＭＤセット１１０Ｂ、１１０Ｃにより実行されてもよいし、当該処理の一部または全部がサーバ６００によって実行されてもよい。
【０１７１】
ステップＳ２３０１において、プロセッサ２１０Ａは、仮想空間１１Ａを定義する。当該処理は、図１１のステップＳ１１１０の処理に相当する。具体的には、プロセッサ２１０Ａは、仮想空間データを特定することによって、仮想空間データによって表される仮想空間１１Ａを定義する。仮想空間１１Ａは、アバターオブジェクト１５３３のライブをアバターオブジェクト６Ａが視聴する仮想空間である。言い換えれば、仮想空間１１Ａは、アバターオブジェクト１５３３によるパフォーマンスが行われる仮想空間である。
【０１７２】
ステップＳ２３０２において、プロセッサ２１０Ａは、仮想カメラ１４Ａを生成し、仮想空間１１Ａに配置する。ステップＳ２３０３において、プロセッサ２１０Ａは、ステージオブジェクト１５３２を生成し、第２仮想空間１１Ａに配置する。ステップＳ２３０４において、プロセッサ２１０Ａは、アバターオブジェクト１５３４を仮想空間１１Ａに配置する。一例として、プロセッサ２１０Ａは、仮想カメラ１４Ａとアバターオブジェクト６Ａとを、同一の位置に配置する。
【０１７３】
ステップＳ２３０５において、プロセッサ２１０Ａは、アバターオブジェクト６Ｂおよび６Ｃの各アバター情報を、サーバ６００から受信する。ステップＳ２３０６において、プロセッサ２１０Ａは、受信した各アバター情報に基づいて、アバターオブジェクト６Ｂおよび６Ｃを仮想空間１１Ａに配置する。プロセッサ２１０Ａは、さらに、他のアバターオブジェクト６のアバター情報も受信し、仮想空間１１Ａに配置する。仮想空間１１Ａには、多数のアバターオブジェクト６、および、多数のアバターオブジェクト１５３４が配置される。ただし、説明の便宜のため、仮想空間１１を示す図面（図１５など）では、アバターオブジェクト６Ｂおよび６Ｃ、並びに、２体のアバターオブジェクト１５３４を代表的に図示している。以降、特に必要がない限り、他のアバターオブジェクト６および他のアバターオブジェクト１５３４には言及しない。
【０１７４】
ステップＳ２３０７において、プロセッサ２１０Ａは、アバターオブジェクト制御モジュール１４２４として、アバターオブジェクト６Ａを仮想空間１１Ａに配置する。図示しないが、プロセッサ２１０Ａは、任意のタイミングで、アバターオブジェクト６Ａのアバター情報を生成し、サーバ６００に送信する。
【０１７５】
ステップ２３０８において、プロセッサ２１０Ａは、仮想カメラ制御モジュール１４２２として、ＨＭＤ１２０Ａの動きに応じて仮想空間１１Ａにおける仮想カメラ１４Ａの位置および傾きを決定する。より詳細には、プロセッサ２１０Ａは、ユーザ５Ａの頭部の姿勢と、仮想空間１１Ａにおける仮想カメラ１４Ａの位置とに応じて、仮想空間１１Ａにおける仮想カメラ１４Ａからの視界である視界領域１５Ａを制御する。当該処理は、図１１のステップＳ１１４０の処理の一部に相当する。仮想カメラ１４Ａがアバターオブジェクト６Ａと同一の位置に配置されるので、仮想カメラ１４Ａの位置は、アバターオブジェクト６Ａの位置と同義である。さらに、仮想カメラ１４Ａからの視界は、アバターオブジェクト６Ａからの視界と同義である。
【０１７６】
ステップＳ２３０９において、プロセッサ２１０Ａは、視界画像１７Ａをモニタ１３０Ａに表示する。具体的には、プロセッサ２１０Ａは、ＨＭＤ１２０Ａの動き（すなわち仮想カメラ１４Ａの位置および傾き）と、仮想空間１１Ａを定義する仮想空間データと、に基づいて、視界領域１５Ａに対応する視界画像１７Ａを定義する。視界画像１７Ａを定義することは、視界画像１７Ａを生成することと同義である。プロセッサ２１０Ａは、さらに、ＨＭＤ１２０Ａのモニタ１３０Ａに視界画像１７Ａを出力することによって、視界画像１７ＡをＨＭＤ１２０Ａに表示させる。当該処理は、図１１のステップＳ１１８０およびＳ１１９０の処理に相当する。
【０１７７】
ステップＳ２３２１において、コンピュータ１７９１のプロセッサは、演者１６３５に装着されたモーションセンサからの検出結果の受信を開始する。具体的には、モーションセンサを装着した演者１６３５が現実空間においてステージに現れることにより、モーションセンサが、ベースステーション１６５９から照射される信号の到達時間と角度との検出を開始する。これにより、コンピュータ１７９１は、モーションセンサからの検出結果の受信を開始する。
【０１７８】
ステップＳ２３２２において、プロセッサは、モーションセンサからの受信開始を示す情報を、サーバ６００を介してリアルタイムにコンピュータ２００Ａへ送信する。該情報は、モーションセンサから最初に受信した検出結果に基づいて生成された第１動き情報であってもよい。
【０１７９】
ステップＳ２３１０において、プロセッサ２１０Ａは、モーションセンサからの受信開始を示す情報を受信する。ステップＳ２３１１において、プロセッサ２１０Ａは、受信した該情報に基づいて、アバターオブジェクト１５３３を仮想空間１１Ａに配置する。詳細には、プロセッサ２１０Ａは、アバターオブジェクト１５３３をステージオブジェクト１５３２上に配置する。
【０１８０】
（ライブ開始）
図２４は、ある実施形態に係る演者１６３５の姿勢の一例を示す図である。現実空間におけるライブの開始後、演者１６３５は、例えば図２４に示す姿勢を取るように、自身の身体を動かす。図２４に示す姿勢は、第１パフォーマンスを実行したときの姿勢である。ステップＳ２３２３において、コンピュータ１７９１のプロセッサは、図２４に示す姿勢を取る動き、すなわち、第１パフォーマンスの動きを検出する。ステップＳ２３２４において、該プロセッサは、検出した動きに基づき第１動き情報を生成し、該第１動き情報を、サーバ６００を介してリアルタイムにコンピュータ２００Ａへ送信する。
【０１８１】
図２５は、ある実施の形態に従う仮想空間２５１１Ａおよび視界画像２５１７Ａを示す図である。なお、以降、図２５に示すように、２体のアバターオブジェクト１５３４を、それぞれ、アバターオブジェクト１５３４Ａ、および、アバターオブジェクト１５３４Ｂと称する。
【０１８２】
ステップＳ２３１２において、プロセッサ２１０Ａは、演者１６３５の第１動き情報を、サーバ６００を介してリアルタイムに受信する。ステップＳ２３１３において、プロセッサ２１０Ａは、受信した第１動き情報に基づいて、アバターオブジェクト１５３３に第２パフォーマンスを実行させる。これにより、プロセッサ２１０Ａは、図２４に示す演者１６３５の第１パフォーマンスに対応する第２パフォーマンスを、アバターオブジェクト１５３３に実行させることができる。
【０１８３】
プロセッサ２１０Ａは、アバターオブジェクト１５３３による第２パフォーマンスを、仮想空間２５１１Ａにおいてアバターオブジェクト６Ａに視聴させる。プロセッサ２１０Ａは、例えば、図２５（Ａ）に示す仮想空間２５１１Ａに対応する視界画像２５１７Ａを、図２５（Ｂ）に示すようにモニタ１３０Ａに表示する。ユーザ５Ａは、視界画像２５１７Ａを視認することによって、アバターオブジェクト１５３３がステージオブジェクト１５３２上で第２パフォーマンスを実行したことを認識する。これにより、ユーザ５Ａは、アバターオブジェクト６Ａの視点で、アバターオブジェクト１５３３による第２パフォーマンスを楽しむことができる。
【０１８４】
このように、ＨＭＤセット１１０のユーザ５は、現実空間で行われているライブにおける演者１６３５の第１パフォーマンスを反映した、アバターオブジェクト１５３３の第２パフォーマンスを、仮想空間２５１１で仮想体験することができる。換言すれば、システム１７００は、ライブを現地で視聴する、ライブビューイングで視聴するといった従来の選択肢に加え、仮想空間２５１１でライブを視聴する、という新たな選択肢をユーザ５に与えることができる。これにより、ユーザ５は、ライブのチケットが取れなかった、あるいは、ライブ会場やライブビューイング会場へ行くことができない、などの状況であっても、ライブを仮想体験することができる。
【０１８５】
［現実空間の情報の仮想空間への反映］
図２６は、ある実施の形態に従う現実空間でのライブを示す図である。説明の便宜のため、図２６では、多数の観客１６３６のうち、観客１６３６Ａおよび観客１６３６Ｂを代表的に図示している。また、図２６では、ベースステーション１６５９の記載を省略している。以降の現実空間でのライブを示す図でも同様である。
【０１８６】
現実空間におけるライブ中、観客１６３６は、例えば図２６に示すように、把持したケミカルライト１６５８を振る。これにより、ケミカルライト１６５８が振られたことを示す第２動き情報が、ゲートウェイ１７９３およびサーバ６００を介してコンピュータ２００Ａへ送信される。プロセッサ２１０Ａは、第２動き情報、換言すれば、観客１６３６がケミカルライト１６５８を振る動作に応じて、仮想空間１１Ａにおいて第１処理を実行する。
【０１８７】
（第１処理の例１）
図２７は、ある実施の形態に従う仮想空間２５１１Ａおよび視界画像２７１７Ａを示す図である。一例として、プロセッサ２１０Ａは、上記第１処理として、受信した第２動き情報に応じてアバターオブジェクト１５３４を動かす。例えば、プロセッサ２１０Ａは、図２７（Ａ）に示すように、仮想空間２５１１Ａにおいて、アバターオブジェクト１５３４にライトオブジェクト１５４１を振らせる。
【０１８８】
この例において、プロセッサ２１０Ａは、ライブの開始前に、各ケミカルライト１６５８を識別する情報を取得し、ストレージ２３０に格納する。さらに、プロセッサ２１０Ａは、アバターオブジェクト１５３４を仮想空間２５１１Ａに配置するとき、各アバターオブジェクト１５３４と、ストレージ２３０に格納されている各ケミカルライト１６５８を識別する情報とを関連付ける。これにより、ライブの開始前に、各アバターオブジェクト１５３４と、ケミカルライト１６５８を持つ観客１６３６とが関連付けられる。換言すれば、プロセッサ２１０Ａは、各観客１６３６に関連付けられるアバターオブジェクト１５３４を仮想空間２５１１Ａに配置する。
【０１８９】
プロセッサ２１０Ａは、観客１６３６がケミカルライト１６５８を振ったことに基づいて第２動き情報、すなわち、ケミカルライト１６５８を識別する情報を受信すると、該情報に関連付けられているアバターオブジェクト１５３４を特定する。そして、プロセッサ２１０Ａは、特定したアバターオブジェクト１５３４にライトオブジェクト１５４１を振らせる。図２６の例では、観客１６３６Ａおよび観客１６３６Ｂがケミカルライト１６５８を振っている。図２７の例では、プロセッサ２１０Ａは、観客１６３６Ａがケミカルライト１６５８を振ったことに基づく第２動き情報に応じて、アバターオブジェクト１５３４Ａにライトオブジェクト１５４１を振らせている。また、プロセッサ２１０Ａは、観客１６３６Ｂがケミカルライト１６５８を振ったことに基づく第２動き情報に応じて、アバターオブジェクト１５３４Ｂにライトオブジェクト１５４１を振らせている。
【０１９０】
プロセッサ２１０Ａは、例えば、図２７（Ａ）に示す仮想空間２５１１Ａに対応する視界画像２７１７Ａを、図２７（Ｂ）に示すようにモニタ１３０Ａに表示する。ユーザ５Ａは、視界画像２７１７Ａを視認することによって、アバターオブジェクト１５３４がライトオブジェクト１５４１を振っていることを認識する。
【０１９１】
このように、現実空間で観客１６３６がケミカルライト１６５８を振ったことに応じて、仮想空間２５１１Ａでアバターオブジェクト１５３４にライトオブジェクト１５４１を振らせることで、現実空間で行われているライブの盛り上がりを、仮想空間２５１１Ａに反映することができる。換言すれば、仮想空間２５１１Ａで行われているライブが、現実空間で行われているライブと同様に盛り上がる。結果として、現実空間のライブの観客１６３６と、仮想空間２５１１でライブを視聴しているユーザ５とが、一体的にライブを視聴しているかのような状態を作り出すことができる。
【０１９２】
（第１処理の例２）
図２８は、ある実施の形態に従う仮想空間２５１１Ａおよび視界画像２８１７Ａを示す図である。一例として、プロセッサ２１０Ａは、上記第１処理として、ケミカルライト１６５８を振っている観客１６３６の数に応じた演出を実行する。
【０１９３】
具体的には、プロセッサ２１０Ａは、受信した第２動き情報の数を算出することにより、ケミカルライト１６５８を振っている観客１６３６の数を特定する。そして、プロセッサ２１０Ａは、例えば、特定した数が所定の閾値以上である場合、上記演出を実行する。プロセッサ２１０Ａは、例えば、該演出として、図２８（Ａ）に示すように、仮想空間２５１１Ａにおいて、流れ星の演出を行なってもよい。つまり、プロセッサ２１０Ａは、星型の仮想オブジェクトである星型オブジェクト２８４２を、仮想空間２５１１Ａに配置し、さらに、該星型オブジェクト２８４２を動かしてもよい。
【０１９４】
プロセッサ２１０Ａは、例えば、図２８（Ａ）に示す仮想空間２５１１Ａに対応する視界画像２８１７Ａを、図２８（Ｂ）に示すようにモニタ１３０Ａに表示する。ユーザ５Ａは、視界画像２８１７Ａを視認することによって、仮想空間２５１１Ａにおいて流れ星の演出が行われていることを認識する。
【０１９５】
このように、現実空間でケミカルライト１６５８を振った観客１６３６の人数に応じた演出を、仮想空間２５１１Ａで実行することで、現実空間で行われているライブの盛り上がりを、仮想空間２５１１Ａに反映することができる。仮想空間２５１１Ａで該演出が行われることで、仮想空間２５１１Ａで行われているライブが、現実空間で行われているライブと同様に盛り上がる。結果として、現実空間のライブの観客１６３６と、仮想空間２５１１でライブを視聴しているユーザ５とが、一体的にライブを視聴しているかのような状態を作り出すことができる。
【０１９６】
プロセッサ２１０Ａは、受信した第２動き情報の数が多いほど、実行する演出を派手なものとしてもよい。例えば、プロセッサ２１０Ａは、上述した流れ星の演出において、受信した第２動き情報の数が多いほど、星型オブジェクト２８４２の数を多くしてもよい。
【０１９７】
なお、ケミカルライト１６５８を振っている観客１６３６の数の特定を、サーバ６００が行ってもよい。サーバ６００は、さらに、特定した数が所定の閾値以上であるか否かの判定を行ってもよい。サーバ６００がケミカルライト１６５８を振っている観客１６３６の数の特定のみを行う場合、サーバ６００は、特定した数をコンピュータ２００Ａへ送信する。サーバ６００が、ケミカルライト１６５８を振っている観客１６３６の数の特定と、特定した数が所定の閾値以上であるか否かの判定の両方を行う場合、サーバ６００は、特定した数が所定の閾値以上であると判定した場合に、その旨をプロセッサ２１０Ａへ通知する。
【０１９８】
［仮想空間の情報の現実空間への反映例１］
システム１７００は、仮想空間１１における情報を、現実空間へ反映する装置を含んでいてもよい。該装置は、一例として、拡張現実（ＡＲ：Augmented  Reality）空間における仮想体験を観客１６３６に提供する。例えば、該装置は、現実空間を表示する表示部を備え、該現実空間とともに、仮想空間１１における情報に応じた第１画像を表示部に表示させてもよい。なお、「現実空間を表示する」とは、例えば、現実空間を撮影した画像（第２画像）を表示することであってもよいし、現実空間をそのまま映すことであってもよい。また、「現実空間をそのまま映す」とは、例えば、ユーザが透過型の表示部を介して現実空間を視認することである。以降、該装置として、図１７に示すスマートフォン１７９２を例に挙げて説明する、
（スマートフォンのハードウェア構成）
図２９は、本実施の形態に従うスマートフォン１７９２のハードウェア構成の一例を示すブロック図である。上述したように、スマートフォン１７９２は、観客１６３６に関連付けられたスマートフォン（例えば、観客１６３６が所有するスマートフォン）である。スマートフォン１７９２は、主たる構成要素として、プロセッサ２９５１と、メモリ２９５２と、ストレージ２９５３と、タッチパネル２９５４と、ディスプレイ２９５５（表示部）と、カメラ２９５６と、通信インターフェイス２９５７とを備える。各構成要素は、それぞれ、バス２９５８に接続されている。
【０１９９】
プロセッサ２９５１は、スマートフォン１７９２に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ２９５２またはストレージ２９５３に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ２９５１は、ＣＰＵ（Central  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）、ＭＰＵ（Micro  Processor  Unit）、ＦＰＧＡ（Field-Programmable  Gate  Array）その他のデバイスとして実現される。
【０２００】
メモリ２９５２は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ２９５３からロードされる。データは、スマートフォン１７９２に入力されたデータと、プロセッサ２９５１によって生成されたデータとを含む。ある局面において、メモリ２９５２は、ＲＡＭ（Random  Access  Memory）その他の揮発メモリとして実現される。
【０２０１】
ストレージ２９５３は、プログラムおよびデータを永続的に保持する。ストレージ２９５３は、例えば、ＲＯＭ（Read-Only  Memory）、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ２９５３に格納されるプログラムは、アプリケーションプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他の装置との通信を実現するためのプログラムを含む。別の局面において、ストレージ２９５３は、メモリカードのように着脱可能な記憶装置として実現されてもよい。
【０２０２】
タッチパネル２９５４は、観客１６３６によって操作されることにより、観客１６３６からスマートフォン１７９２への命令の入力を受け付ける。一例として、タッチパネル２９５４に対する観客１６３６の操作は、タッチパネル２９５４に物体を接触させたり、物体の接触を解除したり、接触させた物体を、接触を維持したまま移動させたりすることである。ある局面において、タッチパネル２９５４は、ディスプレイ２９５５に重畳するように配置される。換言すれば、タッチパネル２９５４とディスプレイ２９５５とは一体となっている。
【０２０３】
ディスプレイ２９５５は、例えば、液晶モニタまたは有機ＥＬ（Electro  Luminescence）モニタとして実現され得る。カメラ２９５６は、現実空間を撮影する。カメラ２９５６により撮影された画像（静止画像または動画像）は、ディスプレイ２９５５に表示される。
【０２０４】
通信インターフェイス２９５７は、ネットワーク２に接続されて、ネットワーク２に接続されている他のコンピュータ（例えば、サーバ６００）と通信する。ある局面において、通信インターフェイス２９５７は、例えば、ＬＡＮ（Local  Area  Network）その他の有線通信インターフェイス、あるいは、ＷｉＦｉ（Wireless  Fidelity）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near  Field  Communication）その他の無線通信インターフェイスとして実現される。通信インターフェイス２９５７は上述のものに限られない。
【０２０５】
ある局面において、プロセッサ２９５１は、ストレージ２９５３にアクセスし、ストレージ２９５３に格納されている１つ以上のプログラムをメモリ２２０にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、スマートフォン１７９２のオペレーティングシステム、各種アプリケーションプログラム、ゲームソフトウェア等を含み得る。
【０２０６】
一例として、ストレージ２９５３は、ＡＲ空間における仮想体験をユーザに提供するためのアプリケーションプログラムを格納している。つまり、スマートフォン１７９２は、該アプリケーションプログラムを実行することにより、カメラ２９５６が現実空間を撮影した第２画像とともに、仮想オブジェクトをディスプレイ２９５５に表示させることができる。
【０２０７】
（モジュールの詳細構成）
図３０は、ある実施の形態に従うスマートフォン１７９２のモジュールの詳細構成を表すブロック図である。図３０に示されるように、スマートフォン１７９２は、コントロールモジュール３０６１と、レンダリングモジュール３０６２と、メモリモジュール３０６３とを備える。ある局面において、コントロールモジュール３０６１とレンダリングモジュール３０６２とは、プロセッサ２９５１によって実現される。別の局面において、複数のプロセッサ２９５１がコントロールモジュール３０６１とレンダリングモジュール３０６２として作動してもよい。メモリモジュール３０６３は、メモリ２９５２またはストレージ２９５３によって実現される。
【０２０８】
図３０に示されるように、コントロールモジュール３０６１は、仮想オブジェクト生成モジュール３０６４および仮想オブジェクト制御モジュール３０６５を備えている。
【０２０９】
仮想オブジェクト生成モジュール３０６４は、各種の仮想オブジェクトをＡＲ空間に生成する。仮想オブジェクト制御モジュール３０６５は、ＡＲ空間において、仮想オブジェクトの挙動を制御する。一例として、仮想オブジェクト制御モジュール３０６５は、仮想オブジェクトを変形させる。別の例として、仮想オブジェクト制御モジュール３０６５は、仮想オブジェクトの配置位置を変更する。別の例として、仮想オブジェクト制御モジュール３０６５は、仮想オブジェクトを移動させる。
【０２１０】
ある局面において、コントロールモジュール３０６１は、カメラ２９５６が現実空間を撮影した第２画像を取得する。レンダリングモジュール３０６２は、該第２画像と仮想オブジェクトとに基づいて、ディスプレイ２９５５に表示される画像を生成する。一例として、レンダリングモジュール３０６２は、第２画像に仮想オブジェクトを重畳させることにより、ディスプレイ２９５５に表示される画像を生成する。
【０２１１】
メモリモジュール３０６３は、スマートフォン１７９２がＡＲ空間を観客１６３６に提供するために使用されるデータを保持している。ある局面において、メモリモジュール３０６３は、空間情報と、オブジェクト情報と、ユーザ情報とを保持している。
【０２１２】
空間情報は、ＡＲ空間を提供するために規定された１つ以上のテンプレートを保持している。オブジェクト情報は、ＡＲ空間にオブジェクトを配置するためのオブジェクトデータを含む。
【０２１３】
ユーザ情報は、ユーザ（すなわち観客１６３６）を識別するユーザＩＤを保持する。ユーザＩＤは、例えば、観客１６３６が使用するスマートフォン１７９２に設定されるＩＰ（Internet  Protocol）アドレスまたはＭＡＣ（Media  Access  Control）アドレスであり得る。別の局面において、ユーザＩＤはユーザによって設定され得る。
【０２１４】
メモリモジュール３０６３に格納されているデータおよびプログラムは、スマートフォン１７９２のユーザ（すなわち観客１６３６）によって入力される。あるいは、プロセッサ２９５１が、当該コンテンツを提供する事業者が運営するコンピュータ（例えば、サーバ６００）からプログラムあるいはデータをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュール３０６３に格納する。
【０２１５】
ある局面において、コントロールモジュール３０６１及びレンダリングモジュール３０６２は、各処理を実現する回路素子の組み合わせとしても実現され得る。
【０２１６】
スマートフォン１７９２における処理は、ハードウェアと、プロセッサ２９５１により実行されるソフトウェアとによって実現される。このようなソフトウェアは、ハードディスクその他のメモリモジュール３０６３に予め格納されている場合がある。ソフトウェアは、ＣＤ−ＲＯＭその他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信制御モジュール（不図示）を介してサーバ６００その他のコンピュータからダウンロードされた後、記憶モジュールに一旦格納される。そのソフトウェアは、プロセッサ２９５１によって記憶モジュールから読み出され、実行可能なプログラムの形式でＲＡＭに格納される。プロセッサ２９５１は、そのプログラムを実行する。
【０２１７】
（処理フロー）
図３１は、ある実施の形態に従うシステム１７００において実行される処理の一部を示すシーケンス図である。図３２は、ある実施の形態に従う現実空間でのライブを示す図である。本実施形態では、視聴者側の一連の処理が、ＨＭＤセット１１０Ａにより実行されるものとして説明する。ただし、当該処理は、他のＨＭＤセット１１０Ｂ、１１０Ｃにより実行されてもよいし、当該処理の一部または全部がサーバ６００によって実行されてもよい。また、観客側の一連の処理の一部または全部がサーバ６００によって実行されてもよい。
【０２１８】
ステップＳ３１１１において、プロセッサ２９５１は、現実空間を撮影した第２画像をディスプレイに表示する。図３２の例では、観客１６３６Ａが、図３２（Ａ）に示すように、スマートフォン１７９２を用いて現実空間、具体的には、演者１６３５を含む現実空間を撮影している。プロセッサ２９５１は、例えば、現実空間を撮影した第２画像３２７１を、図３２（Ｂ）に示すようにディスプレイ２９５５に表示する。本実施形態では、第２画像３２７１は動画像（映像）であるものとして説明するが、第２画像３２７１は静止画像であってもよい。第２画像３２７１には、演者１６３５が含まれる。観客１６３６Ａは、第２画像３２７１を視認することによって、スマートフォン１７９２のディスプレイ２９５５を介して、演者１６３５の第１パフォーマンスを視認する。
【０２１９】
図３３は、ある実施の形態に従う仮想空間２５１１Ａおよび視界画像３３１７Ａを示す図である。仮想空間２５１１Ａにおけるライブ中において、ユーザ５Ａは、アバターオブジェクト５Ａに第３動作を実行させるための第２動作を行う。第２動作は、例えば、右手を挙げた後、左下方向に振り下ろす動きであってもよい。ステップＳ３１０１において、プロセッサ２１０Ａは、ユーザ５Ａが行った第２動作を検出する。ステップＳ３１０２において、プロセッサ２１０Ａは、検出した第２動作に基づき、アバターオブジェクト６Ａに第３動作を実行させる。一例として、プロセッサ２１０Ａは、図３３（Ａ）に示すように、アバターオブジェクト６Ａに、第３動作としてライトオブジェクト１５４１を振らせる。
【０２２０】
ステップＳ３１０３において、プロセッサ２１０Ａは、サーバ６００を介してアバターオブジェクト６Ｂおよびアバターオブジェクト６Ｃのアバター情報を受信する。これらのアバター情報は、それぞれ、コンピュータ２００Ｂおよびコンピュータ２００Ｃから送信される。ステップＳ３１０４において、プロセッサ２１０Ａは、受信したアバター情報に基づき、アバターオブジェクト６Ｂおよびアバターオブジェクト６Ｃに第３動作を実行させる。すなわち、プロセッサ２１０Ａは、アバターオブジェクト６Ｂおよびアバターオブジェクト６Ｃにライトオブジェクト１５４１を振らせる。なお、プロセッサ２１０Ａは、図３３（Ａ）に示すように、アバターオブジェクト１５３４にも、ライトオブジェクト１５４１を振らせてもよい。
【０２２１】
プロセッサ２１０Ａは、例えば、図３３（Ａ）に示す仮想空間２５１１Ａに対応する視界画像３３１７Ａを、図３３（Ｂ）に示すようにモニタ１３０Ａに表示する。ユーザ５Ａは、視界画像２５１７Ａを視認することによって、アバターオブジェクト６Ｂ、アバターオブジェクト６Ｃ、および、アバターオブジェクト１５３４がライトオブジェクト１５４１を振っていることを認識する。
【０２２２】
ステップ３１０５において、プロセッサ２１０Ａは、アバターオブジェクト６Ａが第３動作を行なっていることを示す第３動き情報を、サーバ６００を介してスマートフォン１７９２へ送信する。
【０２２３】
図３４は、ある実施の形態に従う現実空間でのライブを示す図である。ステップＳ３１１２において、プロセッサ２９５１は第３動き情報を受信する。ステップＳ３１１３において、プロセッサ２９５１は、第２画像とともに、第３動き情報に応じた第１画像をディスプレイ２９５５に表示する。図３３の例では、図３２の例と同様に、観客１６３６Ａが、図３３（Ａ）に示すように、スマートフォン１７９２を用いて演者１６３５を含む現実空間を撮影している。プロセッサ２９５１は、例えば、第２画像３４７１とともに、第１画像を図３４（Ｂ）に示すようにディスプレイ２９５５に表示する。第１画像は、例えば、図３４（Ｂ）に示すように、ハート形の仮想オブジェクトであるハート型オブジェクト３４７２であってもよい。
【０２２４】
つまり、スマートフォン１７９２は、現実空間を撮影した第２画像３４７１とともに、現実空間には無いハート型オブジェクト３４７２をディスプレイ２９５５に表示する。これにより、スマートフォン１７９２は、現実空間にハート型オブジェクト３４７２が出現したかのような仮想体験をユーザに提供することができる。
【０２２５】
一例として、プロセッサ２９５１は、各プロセッサ２１０から受信した第３動き情報の合計数を特定することにより、第３動作を実行しているアバターオブジェクト６の合計数を特定する。そして、プロセッサ２９５１は、例えば、特定した合計数が所定の閾値以上である場合、第２画像３４７１とともにハート型オブジェクト３４７２をディスプレイ２９５５に表示する。
【０２２６】
プロセッサ２９５１は、第３動作を実行しているアバターオブジェクト６の合計数が多いほど、実行する演出を派手なものとしてもよい。例えば、プロセッサ２９５１は、該合計数が多いほど、ハート型オブジェクト３４７２の数を多くしてもよい。
【０２２７】
なお、第３動作を実行しているアバターオブジェクト６の合計数の特定を、サーバ６００が行ってもよい。サーバ６００は、さらに、特定した合計数が所定の閾値以上であるか否かの判定を行ってもよい。サーバ６００が第３動作を実行しているアバターオブジェクト６の合計数の特定のみを行う場合、サーバ６００は、特定した合計数をスマートフォン１７９２へ送信する。サーバ６００が、第３動作を実行しているアバターオブジェクト６の合計数の特定と、該合計数が所定の閾値以上であるか否かの判定の両方を行う場合、サーバ６００は、該合計数が所定の閾値以上であると判定した場合に、その旨をプロセッサ２９５１へ通知する。
【０２２８】
このように、プロセッサ２９５１は、仮想空間２５１１で第３動作を実行しているアバターオブジェクト６の合計数に応じて、現実空間を撮影した第２画像３４７１とともにハート型オブジェクト３４７２を表示する。これにより、仮想空間２５１１で行われているライブの盛り上がりを、現実空間に反映することができる。現実空間におけるライブの観客１６３６は、仮想空間２５１１で行われているライブの盛り上がりを、現実空間にいながら仮想体験することができる。結果として、現実空間のライブの観客１６３６と、仮想空間２５１１でライブを視聴しているユーザ５とが、一体的にライブを視聴しているかのような状態を作り出すことができる。
【０２２９】
［仮想空間の情報の現実空間への反映例２］
（ＡＲグラスのハードウェア構成）
図３５は、本実施形態に従うＡＲグラス３５９４（第２端末装置）のハードウェア構成の一例を示すブロック図である。観客１６３６は、スマートフォン１７９２に代えて、ＡＲグラス３５９４を用いることによってもＡＲ空間での仮想体験を享受することができる。具体的には、観客１６３６は、ＡＲグラス３５９４を頭部に装着することにより、ＡＲ空間での仮想体験を享受することができる。
【０２３０】
ＡＲグラス３５９４は、主たる構成要素として、プロセッサ３５８１と、メモリ３５８２と、ストレージ３５８３と、ディスプレイ３５８４（表示部）と、通信インターフェイス３５８５とを備える。各構成要素は、それぞれ、バス３５８６に接続されている。
【０２３１】
プロセッサ３５８１は、ＡＲグラス３５９４に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ３５８２またはストレージ３５８３に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ３５８１は、ＣＰＵ（Central  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）、ＭＰＵ（Micro  Processor  Unit）、ＦＰＧＡ（Field-Programmable  Gate  Array）その他のデバイスとして実現される。
【０２３２】
メモリ３５８２は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ３５８３からロードされる。データは、ＡＲグラス３５９４に入力されたデータと、プロセッサ３５８１によって生成されたデータとを含む。ある局面において、メモリ３５８２は、ＲＡＭ（Random  Access  Memory）その他の揮発メモリとして実現される。
【０２３３】
ストレージ３５８３は、プログラムおよびデータを永続的に保持する。ストレージ３５８３は、例えば、ＲＯＭ（Read-Only  Memory）、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ３５８３に格納されるプログラムは、アプリケーションプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他の装置との通信を実現するためのプログラムを含む。別の局面において、ストレージ３５８３は、メモリカードのように着脱可能な記憶装置として実現されてもよい。
【０２３４】
ディスプレイ３５８４は、透過型の表示装置である。ここで、「透過型の表示装置」とは、ユーザが表示装置を視認した場合、表示装置の後方の景色を併せて視認できる表示装置である。このような表示装置であれば、ディスプレイ３５８４の透過率は特に限定されない。ディスプレイ３５８４は、眼鏡のいわゆるレンズ部分に設けられ、プロセッサ３５８１の処理に基づいて画像を表示する。これにより、ＡＲグラス３５９４を装着した観客１６３６は、現実空間を視認するとともに、ディスプレイ３５８４に表示された画像を視認する。なお、ＡＲグラス３５９４のレンズ部分の全てがディスプレイ３５８４であってもよいし、該レンズ部分の一部がディスプレイ３５８４であってもよい。
【０２３５】
一例として、ストレージ３５８３は、ＡＲ空間における仮想体験をユーザに提供するためのアプリケーションプログラムを格納している。つまり、ＡＲグラス３５９４は、該アプリケーションプログラムを実行することにより、画像の一例として、仮想オブジェクトをディスプレイ３５８４に表示させる。これにより、ＡＲグラス３５９４を装着した観客１６３６は、現実空間と仮想オブジェクトとを同時に視認することとなる。よって、ＡＲグラス３５９４は、ＡＲグラス３５９４を装着した観客１６３６に、ＡＲ空間での仮想体験を提供することができる。
【０２３６】
通信インターフェイス３５８５は、ネットワーク２に接続されて、ネットワーク２に接続されている他のコンピュータ（例えば、サーバ６００）と通信する。ある局面において、通信インターフェイス３５８５は、例えば、ＬＡＮ（Local  Area  Network）その他の有線通信インターフェイス、あるいは、ＷｉＦｉ（Wireless  Fidelity）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near  Field  Communication）その他の無線通信インターフェイスとして実現される。通信インターフェイス３５８５は上述のものに限られない。
【０２３７】
ある局面において、プロセッサ３５８１は、ストレージ３５８３にアクセスし、ストレージ３５８３に格納されている１つ以上のプログラムをメモリ２２０にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、ＡＲグラス３５９４のオペレーティングシステム、各種アプリケーションプログラム、ゲームソフトウェア等を含み得る。
【０２３８】
なお、ＡＲグラス３５９４のモジュールの詳細構成は、図３０を参照して説明した、スマートフォン１７９２のモジュールの詳細構成と同様である。すなわち、ＡＲグラス３５９４は、コントロールモジュール３０６１と、レンダリングモジュール３０６２と、メモリモジュール３０６３とを備えている。また、コントロールモジュール３０６１は、仮想オブジェクト生成モジュール３０６４および仮想オブジェクト制御モジュール３０６５を備えている。これらの詳細は既に説明しているため、ここでは繰り返さない。
【０２３９】
（ＡＲグラスを用いた仮想体験の一例）
図３６は、ある実施の形態に従う現実空間でのライブを示す図である。ＡＲグラス３５９４のプロセッサ３５８１は、アバターオブジェクト６による第３動作の実行に応じた第１画像をディスプレイ３５８４に表示させる。図３６の例では、図３６（Ａ）に示すように、観客１６３６ＡがＡＲグラス３５９４を装着している。
【０２４０】
プロセッサ３５８１は、各プロセッサ２１０から第３動き情報を受信すると、受信した第３動き情報の合計数を特定することにより、第３動作を実行しているアバターオブジェクト６の合計数を特定する。そして、プロセッサ３５８１は、例えば、特定した合計数が所定の閾値以上である場合、第１画像をディスプレイ３５８４に表示させる。一例として、プロセッサ３５８１は、図３６（Ｂ）に示すように、第１画像としてハート型オブジェクト３４７２をディスプレイ３５８４に表示させる。
【０２４１】
これにより、観客１６３６Ａは、図３６（Ｂ）に示すように、現実空間、すなわち第１パフォーマンスを行っている演者１６３５を視認するとともに、ハート型オブジェクト３４７２を視認する。これにより、観客１６３６は、仮想空間２５１１で行われているライブの盛り上がりを、現実空間にいながら仮想体験することができる。結果として、現実空間のライブの観客１６３６と、仮想空間２５１１でライブを視聴しているユーザ５とが、一体的にライブを視聴しているかのような状態を作り出すことができる。
【０２４２】
［変形例］
アバターオブジェクト１５３３は、演者１６３５の高精度な３Ｄモデルでなくてもよい。例えば、アバターオブジェクト１５３３は、演者１６３５をデフォルメした外観であってもよいし、演者１６３５とは異なる外観であってもよい。
【０２４３】
演者１６３５が複数である場合、コンピュータ１７９１のプロセッサが、すべての演者１６３５の動きを検出することができない場合が考えられる。例えば、演者１６３５の位置によっては、ベースステーション１６５９から照射される信号をモーションセンサが検出できない場合が考えられる。この場合、プロセッサ２１０は、一部の演者１６３５に関連付けられているアバターオブジェクト１５３３に、第２パフォーマンスを実行させることができない。
【０２４４】
この課題を解決するために、演者１６３５およびアバターオブジェクト１５３３が複数である場合、すべてのアバターオブジェクト１５３３が、いずれかの演者１６３５の第１パフォーマンスに対応する第２パフォーマンスを実行する構成でなくてもよい。例えば、メインで第１パフォーマンスを行う演者１６３５（いわゆる、「センター」である演者１６３５）に関連付けられたアバターオブジェクト１５３３のみが、該演者１６３５の動きに応じて動作するものであってもよい。他のアバターオブジェクト１５３３は、プロセッサ２１０が人工知能（ＡＩ：artificial intelligence）により動作させてもよい。この構成の場合、ベースステーション１６５９は、センターである演者１６３５が装着しているモーションセンサが信号を検出できる位置に設置されればよい。また、この構成の場合、センター以外の演者１６３５は、モーションセンサを装着しなくてもよい。
【０２４５】
上記の例では、センターである演者１６３５（すなわち、一人）に関連付けられたアバターオブジェクト１５３３のみが、該演者１６３５の動きに応じて動作するものとして説明した。別の局面において、すべての演者１６３５のうち、複数人の演者１６３５に関連付けられたアバターオブジェクト１５３３が、該複数人の演者１６３５の動きに応じて動作するものであってもよい。
【０２４６】
また、現実空間におけるライブに参加していない人（例えば、体調不良で不参加のアイドルグループのメンバー）のアバターオブジェクト１５３３を、仮想空間２５１１におけるライブに登場させてもよい。該アバターオブジェクト１５３３は、例えば、プロセッサ２１０がＡＩにより動作させればよい。これにより、現実空間におけるライブには不参加の演者が、仮想空間２５１１におけるライブには登場することとなる。つまり、ユーザ５は、仮想空間２５１１におけるライブにおいて、現実空間におけるライブには無い特典を享受することができる。
【０２４７】
上述した現実空間の情報の仮想空間への反映例（第１処理の例１）では、プロセッサ２１０Ａは、予めケミカルライト１６５８を識別する情報と、アバターオブジェクト１５３４とを関連付けていた。一方、プロセッサ２１０Ａは、観客１６３６がケミカルライト１６５８を振ったことに基づいて第２動き情報を受信したとき、該第２動き情報、すなわち、ケミカルライト１６５８を識別する情報を、アバターオブジェクト１５３４のいずれかに関連付けてもよい。この例において、プロセッサ２１０Ａは、該第２動き情報を受信しなくなった場合、該第２動き情報と、アバターオブジェクト１５３４との関連付けを解除してもよい。換言すれば、プロセッサ２１０Ａは、ライブ中において、観客１６３６とアバターオブジェクト１５３４とを一時的に関連付ける構成であってもよい。
【０２４８】
仮想空間の情報の現実空間への反映は、ＡＲ空間での仮想体験に限定されない。例えば、アバターオブジェクト６が、アバターオブジェクト１５３４に仮想空間２５１１にて話しかけた場合、プロセッサ２１０は、その内容を、該アバターオブジェクト１５３４に関連付けられる観客１６３６のスマートフォン１７９２に送信してもよい。スマートフォン１７９２のプロセッサ２９５１は、所定のアプリケーション、例えば、チャットを実行するアプリケーションを起動し、受信した内容を該チャットでの発言としてディスプレイ２９５５に表示してもよい。これにより、ユーザ５と観客１６３６とが直接コミュニケーションをとることができる。
【０２４９】
あるいは、プロセッサ２１０は、アバターオブジェクト６が仮想空間２５１１で発言した内容を、ＳＮＳ（social networking service）の掲示板に投稿してもよい。観客１６３６は、スマートフォン１７９２を用いて該ＳＮＳのアプリケーションを起動することにより、アバターオブジェクト６の発言を視認することができる。
【０２５０】
システム１７００は、仮想空間２５１１に、アバターオブジェクト６およびアバターオブジェクト１５３４を配置しない構成であってもよい。換言すれば、システム１７００は、仮想空間２５１１に観客を配置しない構成であってもよい。なお、仮想カメラ１４は仮想空間２５１１に配置されるので、ユーザ５は、アバターオブジェクト１５３３の第２パフォーマンスを視聴することができる。
【０２５１】
プロセッサ２１０は、アバターオブジェクト１５３３によるライブを視聴するモードと、演者１６３５によるライブを仮想空間にて視聴する（すなわち、現実空間のライブを仮想空間にて視聴する）モードとを、ユーザ５の操作に応じて切り替え可能であってもよい。プロセッサ２１０は、例えば、コントローラ３００に対するユーザ５の操作を検出し、上記２つのモードを切り替えてもよい。演者１６３５によるライブを仮想空間にて視聴するモードにおいて、プロセッサ２１０は、仮想空間２５１１にスクリーンオブジェクトを配置し、該スクリーンオブジェクトに、受信した現実空間のライブの映像を表示させればよい。該スクリーンオブジェクトは、例えば、全天球型のスクリーンオブジェクトであってもよい。この例の場合、プロセッサ２１０は、３６０度方向を撮影可能な全天球カメラが撮影した映像を受信し、スクリーンオブジェクトに表示させる。これにより、プロセッサ２１０は、より現実空間のライブに近い仮想体験を、仮想空間２５１１にてユーザ５に提供することができる。なお、プロセッサ２１０は、演者１６３５によるライブを仮想空間にて視聴するモードにおいて、矩形状のスクリーンオブジェクトにライブの映像を表示させるモードと、全天球型のスクリーンオブジェクトにライブの映像を表示させるモードとを、ユーザ５の操作に応じて切り替え可能であってもよい。
【０２５２】
以上、本開示の実施形態について説明したが、本発明の技術的範囲は、本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は、特許請求の範囲に記載された発明の範囲およびその均等の範囲に基づいて定められるべきである。
【０２５３】
〔付記事項〕
本発明の一側面に係る内容を列記すると以下の通りである。
【０２５４】
（項目１）  システムを説明した。本開示のある局面によると、システム（１７００）は、現実空間にて観客（１６３６）に対して第１パフォーマンスを行う演者（１６３５）に関連付けられた第１コンピュータ（コンピュータ１７９１）と、第１ユーザ（ユーザ５Ａ）に関連付けられた、第１ユーザに仮想体験を提供するための第２コンピュータ（コンピュータ２００）とを含む。第１コンピュータは、第１パフォーマンスにおける、演者の身体の動きを検出する。第２コンピュータは、第１ユーザに仮想体験を提供するための仮想空間（２５１１Ａ）を定義し、演者に関連付けられる第１アバター（アバターオブジェクト１５３３）を仮想空間に配置し、第１コンピュータが検出した演者の身体の動きに応じて、第１アバターに、第１パフォーマンスに対応する第２パフォーマンスを実行させる。
【０２５５】
（項目２）  （項目１）において、システムは、観客に関連付けられた第１端末装置（ケミカルライト１６５８）をさらに含む。第１端末装置は、観客の第１動作を検出する。第２コンピュータは、第１端末装置が検出した第１動作に応じて、仮想空間において第１処理を実行する。
【０２５６】
（項目３）  （項目２）において、第２コンピュータは、観客に関連付けられる第２アバター（アバターオブジェクト１５３４）を仮想空間に配置し、第１処理として、第１端末装置が検出した第１動作に応じて第２アバターを動かす。
【０２５７】
（項目４）  （項目２）において、複数の第１端末装置が、複数の観客それぞれに関連付けられている。第２コンピュータは、第１動作を検出した第１端末装置の数を特定し、第１処理として、特定した数に応じた演出を実行する。
【０２５８】
（項目５）  （項目１）から（項目４）のいずれかにおいて、システムは、現実空間を表示する表示部（ディスプレイ２９５５）を備える、観客に関連付けられた第２端末装置（スマートフォン１７９２）をさらに含む。第２コンピュータは、第１ユーザに関連付けられる第３アバター（アバターオブジェクト６Ａ）を仮想空間に配置し、第１ユーザの第２動作を検出し、検出した第２動作に応じて第３アバターに第３動作を実行させる。第２端末装置は、現実空間とともに、第３動作の実行に応じた第１画像（ハート型オブジェクト３４７２）を表示部に表示させる。
【０２５９】
（項目６）  （項目５）において、第２コンピュータは、複数の第２ユーザ（ユーザ５Ｂ，５Ｃ）それぞれに関連付けられる複数の第４アバター（アバターオブジェクト６Ｂ，６Ｃ）を前記仮想空間に配置し、第２ユーザの第２動作に応じて第４アバターに第３動作を実行させる。第２端末装置は、第３動作を実行している第３アバターおよび第４アバターの合計数を特定し、合計数に応じた第１画像を表示部に表示させる。
【０２６０】
（項目７）  （項目１）から（項目６）のいずれかにおいて、第２コンピュータは、第１ユーザに関連付けられる仮想カメラ（１４）を仮想空間に配置し、第１ユーザの頭部の姿勢と仮想空間における仮想カメラの位置とに応じて、仮想空間における仮想カメラからの視界（視界領域１５Ａ）を制御し、仮想カメラからの視界に対応する視界画像（視界画像１７Ａ）を定義し、第１ユーザの頭部に関連付けられた画像表示装置（モニタ１３０Ａ）に視界画像を出力する。
【０２６１】
（項目８）  プログラムを説明した。本開示のある局面によると、プログラムは、ユーザ（５Ａ）に仮想体験を提供するために、プロセッサ（２１０Ａ）を備えたコンピュータ（２００Ａ）によって実行される。プログラムは、プロセッサに、ユーザに仮想体験を提供するための仮想空間（仮想空間２５１１Ａ）を定義するステップ（Ｓ２３０１）と、現実空間にて観客（１６３６）に対して第１パフォーマンスを行う演者（１６３５）に関連付けられる第１アバター（アバターオブジェクト１５３３）を仮想空間に配置するステップ（Ｓ２３１１）と、第１パフォーマンスにおける、演者の身体の動きに関する第１情報を受信するステップ（Ｓ２３１２）と、第１情報に応じて、第１アバターに、第１パフォーマンスに対応する第２パフォーマンスを実行させるステップ（Ｓ２３１３）と、を実行させる。
【０２６２】
（項目９）  情報処理装置を説明した。本開示のある局面によると、情報処理装置（コンピュータ２００Ａ）は、ユーザ（５Ａ）に仮想体験を提供するために、情報処理装置によって実行されるプログラムを記憶する記憶部（ストレージ２３０Ａ）と、プログラムを実行することにより、情報処理装置の動作を制御する制御部（プロセッサ２１０Ａ）と、を備えている。制御部は、ユーザに仮想体験を提供するための仮想空間（２５１１Ａ）を定義し、現実空間にて観客（１６３６）に対して第１パフォーマンスを行う演者（１６３５）に関連付けられる第１アバター（アバターオブジェクト１５３３）を仮想空間に配置し、第１パフォーマンスにおける、演者の身体の動きに関する第１情報を受信し、第１情報に応じて、第１アバターに、第１パフォーマンスに対応する第２パフォーマンスを実行させる。
【０２６３】
（項目１０）  プログラムを実行する方法を説明した。本開示のある局面によると、プログラムは、ユーザ（５Ａ）に仮想体験を提供するために、プロセッサ（２１０Ａ）を備えたコンピュータ（２００Ａ）によって実行される。方法は、プロセッサが、ユーザに仮想体験を提供するための仮想空間（２５１１Ａ）を定義するステップ（Ｓ２３０１）と、現実空間にて観客（１６３６）に対して第１パフォーマンスを行う演者（１６３５）に関連付けられる第１アバター（アバターオブジェクト１５３３）を仮想空間に配置するステップ（Ｓ２３１１）と、第１パフォーマンスにおける、演者の身体の動きに関する第１情報を受信するステップ（Ｓ２３１２）と、第１情報に応じて、第１アバターに、第１パフォーマンスに対応する第２パフォーマンスを実行させるステップ（Ｓ２３１３）と、を含む。
【０２６４】
（項目１１）  プログラムを説明した。本開示のある局面によると、プログラムは、現実空間にて演者（１６３５）の第１パフォーマンスを視聴している観客（１６３６）に仮想体験を提供するために、プロセッサ（２９５１）と、現実空間を表示する表示部（ディスプレイ２９５５）と、を備えた端末装置（スマートフォン１７９２）によって実行される。プログラムは、プロセッサに、演者に関連付けられる第１アバター（アバターオブジェクト１５３３）による、第１パフォーマンスに対応する第２パフォーマンスを仮想空間にて視聴している第３アバター（アバターオブジェクト６）が実行する第３動作に関する第３情報を受信するステップ（Ｓ３１１２）と、現実空間とともに、第３情報に応じた第１画像（ハート型オブジェクト３４７２）を表示部に表示させるステップ（Ｓ３１１３）と、を実行させる。
【０２６５】
（項目１２）  情報処理装置を説明した。本開示のある局面によると、情報処理装置（スマートフォン１７９２）は、現実空間にて演者（１６３５）の第１パフォーマンスを視聴している観客（１６３６）に仮想体験を提供するために、情報処理装置によって実行されるプログラムを記憶する記憶部（ストレージ２９５３）と、プログラムを実行することにより、情報処理装置の動作を制御する制御部（プロセッサ２９５１）と、現実空間を表示する表示部（ディスプレイ２９５５）と、を備えている。制御部は、演者に関連付けられる第１アバター（アバターオブジェクト１５３３）による、第１パフォーマンスに対応する第２パフォーマンスを仮想空間にて視聴している第３アバター（アバターオブジェクト６）が実行する第３動作に関する第３情報を受信し、現実空間とともに、第３情報に応じた第１画像（ハート型オブジェクト３４７２）を表示部に表示させる。
【０２６６】
（項目１３）  プログラムを実行する方法を説明した。本開示のある局面によると、プログラムは、現実空間にて演者（１６３５）の第１パフォーマンスを視聴している観客（１６３６）に仮想体験を提供するために、プロセッサ（２９５１）と、現実空間を表示する表示部（ディスプレイ２９５５）と、を備えた端末装置（スマートフォン１７９２）によって実行される。プログラムは、プロセッサが、演者に関連付けられる第１アバター（アバターオブジェクト１５３３）による、第１パフォーマンスに対応する第２パフォーマンスを仮想空間にて視聴している第３アバター（アバターオブジェクト６）が実行する第３動作に関する第３情報を受信するステップ（Ｓ３１１２）と、現実空間とともに、第３情報に応じた第１画像（ハート型オブジェクト３４７２）を表示部に表示させるステップ（Ｓ３１１３）と、を含む。
【０２６７】
上記実施形態においては、ＨＭＤによってユーザが没入する仮想空間（ＶＲ空間）を例示して説明したが、ＨＭＤとして、透過型のＨＭＤを採用してもよい。この場合、透過型のＨＭＤを介してユーザが視認する現実空間に仮想空間を構成する画像の一部を合成した視界画像を出力することにより、拡張現実（ＡＲ：Augmented  Reality）空間または複合現実（ＭＲ：Mixed  Reality）空間における仮想体験をユーザに提供してもよい。この場合、操作オブジェクトに代えて、ユーザの手の動きに基づいて、仮想空間内における対象オブジェクトへの作用を生じさせてもよい。具体的には、プロセッサは、現実空間におけるユーザの手の位置の座標情報を特定するとともに、仮想空間内における対象オブジェクトの位置を現実空間における座標情報との関係で定義してもよい。これにより、プロセッサは、現実空間におけるユーザの手と仮想空間における対象オブジェクトとの位置関係を把握し、ユーザの手と対象オブジェクトとの間で上述したコリジョン制御等に対応する処理を実行可能となる。その結果、ユーザの手の動きに基づいて対象オブジェクトに作用を与えることが可能となる。
【符号の説明】
【０２６８】
２  ネットワーク、５，５Ａ，５Ｂ，５Ｃ  ユーザ、６，６Ａ，６Ｂ，６Ｃ、１５３３、１５３４，１５３４Ａ，１５３４Ｂ  アバターオブジェクト、１１，１１Ａ，１１Ｂ，１１Ｃ，１１Ｄ  仮想空間、１２  中心、１３  パノラマ画像、１４，１４Ａ，１４Ｂ  仮想カメラ、１５，１５Ａ，１５Ｂ，１５Ｃ  視界領域、１６  基準視線、１７，１７Ａ，１７Ｂ  視界画像、１８，１９  領域、１００  ＨＭＤシステム、１１０，１１０Ａ，１１０Ｂ，１１０Ｃ，１１０Ｄ  ＨＭＤセット、１２０，１２０Ａ，１２０Ｂ，１２０Ｃ、ＨＭＤ、１３０，１３０Ａ，１３０Ｂ，１３０Ｃ  モニタ、１４０  注視センサ、１５０  第１カメラ、１６０  第２カメラ、１７０，１７０Ａ，１７０Ｂ，１６５７  マイク、１８０，１８０Ａ，１８０Ｂ  スピーカ、１９０  センサ、２００，２００Ａ，２００Ｂ，２００Ｃ，１７９１  コンピュータ、２１０，２１０Ａ、２１０Ｂ，２１０Ｃ，２１０Ｄ，６１０，２９５１，３５８１  プロセッサ、２２０，６２０，２９５２，３５８２
メモリ、２３０，２３０Ａ，２３０Ｂ，６３０，２９５３，３５８３  ストレージ、２４０，６４０  入出力インターフェイス、２５０，６５０，２９５７，３５８５  通信インターフェイス、２６０，６６０，２９５８，３５８６  バス、３００，３００Ｂ  コントローラ、３００Ｒ  右コントローラ、３００Ｌ  左コントローラ、３１０  グリップ、３２０  フレーム、３３０  天面、３４０，３４０，３５０，３７０，３８０  ボタン、３６０  赤外線ＬＥＤ、３９０  アナログスティック、４１０  ＨＭＤセンサ、４２０，４２０Ａ  モーションセンサ、４３０，４３０Ａ  ディスプレイ、５１０，３０６１  コントロールモジュール、５２０，３０６２  レンダリングモジュール、５３０，３０６３
メモリモジュール、５４０  通信制御モジュール、６００  サーバ、７００  外部機器、１４２１，３０６４  仮想オブジェクト生成モジュール、１４２２  仮想カメラ制御モジュール、１４２３  操作オブジェクト制御モジュール、１４２４  アバターオブジェクト制御モジュール、１４２５  動き検出モジュール、１４２６，３０６５  仮想オブジェクト制御モジュール、１５１７Ａ，２５１７Ａ，２７１７Ａ，２８１７Ａ，３３１７Ａ  視界画像、１５３１ＬＡ  仮想左手、１５３１ＲＡ  仮想右手、１５３２  ステージオブジェクト、１５４１  ライトオブジェクト、１６３５  演者、１６３６，１６３６Ａ，１６３６Ｂ  観客、１６５１，１６５２，１６５３，１６５５  モーションセンサ、１６５４，１６５６  ベルト、１６５８  ケミカルライト、１６５９  ベースステーション、１７００  システム、１７９２  スマートフォン、１７９３  ゲートウェイ、２８４２  星型オブジェクト、２９５４  タッチパネル、２９５５，３５８４  ディスプレイ、２９５６  カメラ、３２７１，３４７１  第２画像、３４７２  ハート型オブジェクト
【図１】
2020004388.tif 000003
【図２】
2020004388.tif 000004
【図３】
2020004388.tif 000005
【図４】
2020004388.tif 000006
【図５】
2020004388.tif 000007
【図６】
2020004388.tif 000008
【図７】
2020004388.tif 000009
【図８Ａ】
2020004388.tif 000010
【図８Ｂ】
2020004388.tif 000011
【図９】
2020004388.tif 000012
【図１０】
2020004388.tif 000013
【図１１】
2020004388.tif 000014
【図１２Ａ】
2020004388.tif 000015
【図１２Ｂ】
2020004388.tif 000016
【図１３】
2020004388.tif 000017
【図１４】
2020004388.tif 000018
【図１５】
2020004388.tif 000019
【図１６】
2020004388.tif 000020
【図１７】
2020004388.tif 000021
【図１８】
2020004388.tif 000022
【図１９】
2020004388.tif 000023
【図２０】
2020004388.tif 000024
【図２１】
2020004388.tif 000025
【図２２】
2020004388.tif 000026
【図２３】
2020004388.tif 000027
【図２４】
2020004388.tif 000028
【図２５】
2020004388.tif 000029
【図２６】
2020004388.tif 000030
【図２７】
2020004388.tif 000031
【図２８】
2020004388.tif 000032
【図２９】
2020004388.tif 000033
【図３０】
2020004388.tif 000034
【図３１】
2020004388.tif 000035
【図３２】
2020004388.tif 000036
【図３３】
2020004388.tif 000037
【図３４】
2020004388.tif 000038
【図３５】
2020004388.tif 000039
【図３６】
2020004388.tif 000040