(57)【要約】【課題】ヘッドマウントディスプレイにパノラマ画像や仮想空間を表示させるには処理負荷が大きい。【解決手段】ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供する画像生成装置を提供する。撮影画像受信部５１０は、撮影方向の異なる複数の撮影画像を受信する。パノラマ画像処理部５３０は、撮影方向の異なる複数の撮影画像を合成してパノラマ画像を生成する。フォーマット変換部５４０は、パノラマ画像をヘッドマウントディスプレイの仕様に適した画像フォーマットに変換する。パノラマ画像送信部５５０は、フォーマット変換後のパノラマ画像をヘッドマウントディスプレイに送信する。【選択図】図４
2014017776.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供する画像生成装置であって、
撮影方向の異なる複数の撮影画像を受信する撮影画像受信部と、
撮影方向の異なる複数の撮影画像を合成してパノラマ画像を生成するパノラマ画像処理部と、
パノラマ画像をヘッドマウントディスプレイの仕様に適した画像フォーマットに変換するフォーマット変換部と、
フォーマット変換後のパノラマ画像をヘッドマウントディスプレイに送信するパノラマ画像送信部とを含むことを特徴とする画像生成装置。
【請求項２】
前記撮影画像受信部は、撮影された被写体までの距離の情報を撮影画像とともに受信し、
前記パノラマ画像処理部は、被写体までの距離の情報を用いて視差を計算して、左目用画像と右目用画像を含む３次元パノラマ画像を生成することを特徴とする請求項１に記載の画像生成装置。
【請求項３】
ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供する画像生成装置であって、
ヘッドマウントディスプレイに搭載された位置センサにより取得された前記ヘッドマウントディスプレイを装着するユーザの位置の情報を受信する位置情報受信部と、
複数のユーザ間の位置関係にもとづいて前記複数のユーザのキャラクタの位置関係を決定する位置関係処理部と、
決定されたキャラクタの位置関係にもとづいて前記複数のユーザのキャラクタを仮想空間に配置し、仮想空間をレンダリングする３次元レンダリング部と、
レンダリングされた仮想空間の情報を前記ヘッドマウントディスプレイに送信する描画データ送信部とを含むことを特徴とする画像生成装置。
【請求項４】
前記ヘッドマウントディスプレイに搭載された姿勢センサにより取得された前記ヘッドマウントディスプレイを装着するユーザの頭部の向きの情報を受信する向き情報受信部をさらに含み、
前記位置関係処理部は、各ユーザの向きにもとづいて各ユーザのキャラクタの仮想空間内の向きを決定することを特徴とする請求項３に記載の画像生成装置。
【請求項５】
前記３次元レンダリング部は、前記複数のユーザ間の現実の距離に応じて、各ユーザのキャラクタが仮想空間に出現する速度を変えることを特徴とする請求項３または４に記載の画像生成装置。
【請求項６】
前記３次元レンダリング部は、前記複数のユーザ間の現実の距離に応じて、各ユーザのキャラクタが仮想空間に出現するときの乗り物の種類を変えることを特徴とする請求項３から５のいずれかに記載の画像生成装置。
【請求項７】
ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供する画像生成方法であって、
撮影方向の異なる複数の撮影画像を受信する撮影画像受信ステップと、
撮影方向の異なる複数の撮影画像を合成してパノラマ画像を生成するパノラマ画像処理ステップと、
パノラマ画像をヘッドマウントディスプレイの仕様に適した画像フォーマットに変換するフォーマット変換ステップと、
フォーマット変換後のパノラマ画像をヘッドマウントディスプレイに送信するパノラマ画像送信ステップとを含むことを特徴とする画像生成方法。
【請求項８】
ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供する画像生成方法であって、
ヘッドマウントディスプレイに搭載された位置センサにより取得された前記ヘッドマウントディスプレイを装着するユーザの位置の情報を受信する位置情報受信ステップと、
複数のユーザ間の位置関係にもとづいて前記複数のユーザのキャラクタの位置関係を決定する位置関係処理ステップと、
決定されたキャラクタの位置関係にもとづいて前記複数のユーザのキャラクタを仮想空間に配置し、仮想空間をレンダリングする３次元レンダリングステップと、
レンダリングされた仮想空間の情報を前記ヘッドマウントディスプレイに送信する描画データ送信ステップとを含むことを特徴とする画像生成方法。
【請求項９】
ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供するプログラムであって、
撮影方向の異なる複数の撮影画像を受信する撮影画像受信ステップと、
撮影方向の異なる複数の撮影画像を合成してパノラマ画像を生成するパノラマ画像処理ステップと、
パノラマ画像をヘッドマウントディスプレイの仕様に適した画像フォーマットに変換するフォーマット変換ステップと、
フォーマット変換後のパノラマ画像をヘッドマウントディスプレイに送信するパノラマ画像送信ステップとをコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供するプログラムであって、
ヘッドマウントディスプレイに搭載された位置センサにより取得された前記ヘッドマウントディスプレイを装着するユーザの位置の情報を受信する位置情報受信ステップと、
複数のユーザ間の位置関係にもとづいて前記複数のユーザのキャラクタの位置関係を決定する位置関係処理ステップと、
決定されたキャラクタの位置関係にもとづいて前記複数のユーザのキャラクタを仮想空間に配置し、仮想空間をレンダリングする３次元レンダリングステップと、
レンダリングされた仮想空間の情報を前記ヘッドマウントディスプレイに送信する描画データ送信ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ヘッドマウントディスプレイに表示される画像を生成する装置および方法に関する。
【背景技術】
【０００２】
ゲーム機に接続されたヘッドマウントディスプレイを頭部に装着して、ヘッドマウントディスプレイに表示された画面を見ながら、コントローラなどを操作してゲームプレイすることが行われている。ゲーム機に接続された通常の据え置き型のディスプレイでは、ディスプレイの画面の外側にもユーザの視野範囲が広がっているため、ディスプレイの画面に集中できなかったり、ゲームへの没入感に欠けることがある。その点、ヘッドマウントディスプレイを装着すると、ヘッドマウントディスプレイに表示される映像以外はユーザは見ないため、映像世界への没入感が高まり、ゲームのエンタテインメント性を一層高める効果がある。
【０００３】
また、ヘッドマウントディスプレイにパノラマ画像を表示させ、ヘッドマウントディスプレイを装着したユーザが頭部を回転させると、３６０度のパノラマ画像や仮想空間が表示されるようにすると、さらに映像への没入感が高まり、ゲームなどのアプリケーションの操作性も向上する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ヘッドマウントディスプレイにパノラマ画像や仮想空間を表示させるにはヘッドマウントディスプレイ側に計算パワーが必要であり、処理負荷が大きくなる。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ヘッドマウントディスプレイに表示する画像を効率良く生成することのできる画像生成装置および画像生成方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の画像生成装置は、ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供する画像生成装置であって、撮影方向の異なる複数の撮影画像を受信する撮影画像受信部と、撮影方向の異なる複数の撮影画像を合成してパノラマ画像を生成するパノラマ画像処理部と、パノラマ画像をヘッドマウントディスプレイの仕様に適した画像フォーマットに変換するフォーマット変換部と、フォーマット変換後のパノラマ画像をヘッドマウントディスプレイに送信するパノラマ画像送信部とを含む。
【０００７】
本発明の別の態様もまた、画像生成装置である。この装置は、ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供する画像生成装置であって、ヘッドマウントディスプレイに搭載された位置センサにより取得された前記ヘッドマウントディスプレイを装着するユーザの位置の情報を受信する位置情報受信部と、複数のユーザ間の位置関係にもとづいて前記複数のユーザのキャラクタの位置関係を決定する位置関係処理部と、決定されたキャラクタの位置関係にもとづいて前記複数のユーザのキャラクタを仮想空間に配置し、仮想空間をレンダリングする３次元レンダリング部と、レンダリングされた仮想空間の情報を前記ヘッドマウントディスプレイに送信する描画データ送信部とを含む。
【０００８】
本発明のさらに別の態様は、画像生成方法である。この方法は、ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供する画像生成方法であって、撮影方向の異なる複数の撮影画像を受信する撮影画像受信ステップと、撮影方向の異なる複数の撮影画像を合成してパノラマ画像を生成するパノラマ画像処理ステップと、パノラマ画像をヘッドマウントディスプレイの仕様に適した画像フォーマットに変換するフォーマット変換ステップと、フォーマット変換後のパノラマ画像をヘッドマウントディスプレイに送信するパノラマ画像送信ステップとを含む。
【０００９】
本発明のさらに別の態様もまた、画像生成方法である。この方法は、ネットワークを介してヘッドマウントディスプレイにクラウドサービスを提供する画像生成方法であって、ヘッドマウントディスプレイに搭載された位置センサにより取得された前記ヘッドマウントディスプレイを装着するユーザの位置の情報を受信する位置情報受信ステップと、複数のユーザ間の位置関係にもとづいて前記複数のユーザのキャラクタの位置関係を決定する位置関係処理ステップと、決定されたキャラクタの位置関係にもとづいて前記複数のユーザのキャラクタを仮想空間に配置し、仮想空間をレンダリングする３次元レンダリングステップと、レンダリングされた仮想空間の情報を前記ヘッドマウントディスプレイに送信する描画データ送信ステップとを含む。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、ヘッドマウントディスプレイに表示する画像を効率良く生成することができる。
【図面の簡単な説明】
【００１２】
【図１】ヘッドマウントディスプレイの外観図である。
【図２】ヘッドマウントディスプレイの機能構成図である。
【図３】画像生成システムの構成図である。
【図４】パノラマ画像生成装置の機能構成図である。
【図５】複数のヘッドマウントディスプレイにより映像を共有するシステムの構成図である。
【図６】仮想空間描画処理装置の機能構成図である。
【図７】仮想空間描画処理手順を説明するシーケンス図である。
【図８】図７の他ユーザとの位置関係処理の手順を詳しく説明するフローチャートである。
【図９Ａ】仮想空間に登場した第１のユーザのアバタを説明する図である。
【図９Ｂ】仮想空間に登場した第２のユーザのアバタを説明する図である。
【図９Ｃ】仮想空間に登場した第３のユーザのアバタを説明する図である。
【図９Ｄ】仮想空間に登場した第４のユーザのアバタを説明する図である。
【図１０】仮想空間にユーザのアバタを登場させる別の例を説明する図である。
【図１１】ゲーム画面にユーザのアバタを登場させる例を説明する図である。
【図１２】仮想空間と実世界に地理的な相関関係がない場合における、ユーザの位置関係のスコア計算方法を説明する図である。
【図１３】仮想空間と実世界に地理的な相関関係がない場合における、ユーザの位置関係のスコア計算方法を説明する図である。
【図１４】仮想空間と実世界に地理的な相関関係がある場合における、ユーザの位置関係のスコア計算方法を説明する図である。
【図１５】仮想空間と実世界に地理的な相関関係がある場合における、ユーザの位置関係のスコア計算方法を説明する図である。
【発明を実施するための形態】
【００１３】
図１は、ヘッドマウントディスプレイ１００の外観図である。ヘッドマウントディスプレイ１００は、本体部１１０、前頭部接触部１２０、および側頭部接触部１３０を含む。
【００１４】
ヘッドマウントディスプレイ１００は、ユーザの頭部に装着してディスプレイに表示される静止画や動画などを鑑賞し、ヘッドホンから出力される音声や音楽などを聴くための表示装置である。
【００１５】
ヘッドマウントディスプレイ１００に内蔵または外付けされたＧＰＳ（Global Positioning System）などの位置センサによりユーザの位置情報を計測することができる。また、ヘッドマウントディスプレイ１００に内蔵または外付けされた姿勢センサによりヘッドマウントディスプレイ１００を装着したユーザの頭部の向きや傾きといった姿勢情報を計測することができる。
【００１６】
本体部１１０には、ディスプレイ、位置情報取得センサ、姿勢センサ、通信装置などが含まれる。前頭部接触部１２０および側頭部接触部１３０には、ユーザの体温、脈拍、血液成分、発汗、脳波、脳血流などの生体情報を計測することのできる生体情報取得センサが含まれる。
【００１７】
ヘッドマウントディスプレイ１００には、さらに、ユーザの目を撮影するカメラが設けられてもよい。ヘッドマウントディスプレイ１００に搭載されたカメラにより、ユーザの視線、瞳孔の動き、瞬きなどを検出することができる。
【００１８】
ここでは、ヘッドマウントディスプレイ１００に表示される画像の生成方法を説明するが、本実施の形態の画像生成方法は、狭義のヘッドマウントディスプレイ１００に限らず、めがね、めがね型ディスプレイ、めがね型カメラ、ヘッドフォン、ヘッドセット（マイクつきヘッドフォン）、イヤホン、イヤリング、耳かけカメラ、帽子、カメラつき帽子、ヘアバンドなどを装着した場合にも適用することができる。
【００１９】
図２は、ヘッドマウントディスプレイ１００の機能構成図である。
【００２０】
制御部１０は、画像信号、センサ信号などの信号や、命令やデータを処理して出力するメインプロセッサである。入力インタフェース２０は、タッチパネルおよびタッチパネルコントローラから操作信号や設定信号を受け付け、制御部１０に供給する。出力インタフェース３０は、制御部１０から画像信号を受け取り、ディスプレイに表示させる。バックライト３２は、液晶ディスプレイにバックライトを供給する。
【００２１】
通信制御部４０は、ネットワークアダプタ４２またはアンテナ４４を介して、有線または無線通信により、制御部１０から入力されるデータを外部に送信する。通信制御部４０は、また、ネットワークアダプタ４２またはアンテナ４４を介して、有線または無線通信により、外部からデータを受信し、制御部１０に出力する。
【００２２】
記憶部５０は、制御部１０が処理するデータやパラメータ、操作信号などを一時的に記憶する。
【００２３】
ＧＰＳユニット６０は、制御部１０からの操作信号にしたがって、ＧＰＳ衛星から位置情報を受信して制御部１０に供給する。無線ユニット６２は、制御部１０からの操作信号にしたがって、無線基地局から位置情報を受信して制御部１０に供給する。
【００２４】
姿勢センサ６４は、ヘッドマウントディスプレイ１００の本体部１１０の向きや傾きなどの姿勢情報を検出する。姿勢センサ６４は、ジャイロセンサ、加速度センサ、角加速度センサなどを適宜組み合わせて実現される。
【００２５】
外部入出力端子インタフェース７０は、ＵＳＢ（Universal Serial Bus）コントローラなどの周辺機器を接続するためのインタフェースである。外部メモリ７２は、フラッシュメモリなどの外部メモリである。
【００２６】
時計部８０は、制御部１０からの設定信号によって時間情報を設定し、時間データを制御部１０に供給する。
【００２７】
制御部１０は、画像やテキストデータを出力インタフェース３０に供給してディスプレイに表示させたり、通信制御部４０に供給して外部に送信させることができる。
【００２８】
図３は、本実施の形態に係る画像生成システムの構成図である。画像生成システムは、ヘッドマウントディスプレイ１００、クラウドサーバ２００、およびカメラ３００を含む。
【００２９】
ヘッドマウントディスプレイ１００は、ユーザが頭部に装着して静止画、動画などの画像鑑賞を行うことのできる頭部装着型表示装置の一例である。ヘッドマウントディスプレイ１００は、有線ＬＡＮや無線ＬＡＮ、ブルートゥース（商標）、携帯電話回線などの通信機能を備え、外部とのデータ入出力が可能である。ヘッドマウントディスプレイ１００は、ネットワーク４００を介してクラウドサーバ２００とデータ通信を行う。また、ヘッドマウントディスプレイ１００に搭載されたＧＰＳセンサによりユーザの位置を計測し、ユーザの位置情報をクラウドサーバ２００に送信することができる。また、ヘッドマウントディスプレイ１００に搭載された姿勢センサによりヘッドマウントディスプレイ１００の向きや傾きを計測し、姿勢情報をクラウドサーバ２００に送信することができる。
【００３０】
カメラ３００は、２次元または３次元の静止画や動画を撮影することができる画像データ取得装置の一例である。カメラ３００は、有線ＬＡＮや無線ＬＡＮ、ブルートゥース（商標）、携帯電話回線などの通信機能を備え、外部とのデータ入出力が可能である。カメラ３００は、ネットワーク４００を介してクラウドサーバ２００とデータ通信を行う。また、カメラ３００は、撮影時の露出やレンズ情報、姿勢などの機器情報を記録する機能を持ち、クラウドサーバ２００に撮影画像データとともに機器情報を送信することができる。また、カメラ３００は、内蔵もしくは外付けの超音波やレーザーを用いた距離センサによって撮影した被写体までの距離を計測する機能を有してもよく、クラウドサーバ２００に撮影画像データとともに距離情報を送信することができる。
【００３１】
クラウドサーバ２００は、カメラ３００で取得した画像データをヘッドマウントディスプレイ１００に表示するのに適した形態に加工してヘッドマウントディスプレイ１００に送信する。
【００３２】
たとえば、ハードウェア仕様の異なるヘッドマウントディスプレイに対応するように、クラウドサーバ２００は、解像度、表示方法、画質など各ヘッドマウントディスプレイに最適化したデータに変換してもよい。クラウドサーバ２００は、カメラ３００で撮影された画像データをヘッドマウントディスプレイでの表示に最適となるように加工してもよい。クラウドサーバ２００は、２次元画像を撮影する複数のカメラで撮影した複数枚の撮影画像から３次元表示可能な画像データに加工してもよい。クラウドサーバ２００は、２次元画像を撮影する複数のカメラで撮影した複数枚の撮影画像から被写体までの距離データを計算してもよい。クラウドサーバ２００は、距離センサで取得した距離データと画像データを組み合わせる事で２次元表示可能な画像データに加工してもよい。クラウドサーバ２００は、カメラ３００で撮影したデータをつなぎ合わせる事でパノラマ画像データを生成してもよい。
【００３３】
このように、クラウドサービスを利用することでクラウドサーバ２００側で画像にいろいろな処理を施すことができるため、ヘッドマウントディスプレイ１００およびカメラ３００のハードウェア構成を簡単かつ安価にすることができる。カメラ３００が撮影した画像をクラウドサーバ２００に送信し、ヘッドマウントディスプレイ１００が最適化されたデータを受け取って表示することにより、ユーザはリアルタイムで遠隔地のパノラマ画像を見ることができる。
【００３４】
図４は、パノラマ画像生成装置５００の機能構成図である。パノラマ画像生成装置５００の機能構成は、クラウドサーバ２００に実装される。パノラマ画像生成装置５００の機能構成の一部をヘッドマウントディスプレイ１００またはカメラ３００に実装することもできる。
【００３５】
撮影画像受信部５１０は、カメラ３００から撮影方向の異なる複数の撮影画像を受信し、画像データ記憶部５２０に保存する。パノラマ画像処理部５３０は、画像データ記憶部５２０に記憶された撮影方向の異なる複数の撮影画像をステッチング処理によってつなぎ合わせてパノラマ画像を生成する。
【００３６】
フォーマット変換部５４０は、ヘッドマウントディスプレイ１００の仕様に合わせて、パノラマ画像の解像度、アスペクト比（縦横比）、３次元表示データ形式などを変換する。
【００３７】
パノラマ画像送信部５５０は、フォーマット変換部５４０により変換されたパノラマ画像データをヘッドマウントディスプレイ１００に送信する。
【００３８】
カメラ３００がパノラマ撮影が可能な撮像装置である場合は、撮影画像受信部５１０はカメラ３００からパノラマ画像を受信して画像データ記憶部５２０に保存する。この場合、ステッチング処理は不要であるから、フォーマット変換部５４０がパノラマ画像を画像データ記憶部５２０から読み出してヘッドマウントディスプレイ１００の仕様に合わせて画像形式を変換すればよい。
【００３９】
カメラ３００が被写体までの距離を測定する距離センサを備えている場合、撮影画像受信部５１０は、カメラ３００から２次元パノラマ撮影画像とともに距離情報を受信し、画像データ記憶部５２０に２次元パノラマ撮影画像と距離情報を保存する。パノラマ画像処理部５３０は、画像解析を行い、２次元パノラマ撮影画像から距離情報を用いて視差を計算し、左目用画像と右目用画像を含む３次元パノラマ画像を生成する。フォーマット変換部５４０は、ヘッドマウントディスプレイ１００の仕様に合わせて、３次元パノラマ画像の解像度、アスペクト比（縦横比）、表示データ形式などを変換する。パノラマ画像送信部５５０は、３次元パノラマ画像をヘッドマウントディスプレイ１００に送信する。
【００４０】
また、クラウドサーバ２００のパノラマ画像処理部５３０は、カメラ３００により撮影された実写画像に各種のエフェクトを施してもよい。たとえば、コンピュータグラフィックス（ＣＧ)調、アニメーション調、セピア調などのエフェクトを実写画像に施す。また、パノラマ画像処理部５３０は、ゲームキャラクタなどのＣＧを生成し、カメラ３００により撮影された実写画像に重ねてレンダリングしてもよい。これにより、クラウドサーバ２００は実写画像とＣＧを合成した映像コンテンツをヘッドマウントディスプレイ１００に配信することができる。
【００４１】
図５は、複数のヘッドマウントディスプレイにより映像を共有するシステムの構成図である。映像共有システムは、複数のヘッドマウントディスプレイ１００ａ、１００ｂおよびクラウドサーバ２００を含む。ヘッドマウントディスプレイ１００ａ、１００ｂはネットワーク４００を介してクラウドサーバ２００とデータ通信する。
【００４２】
ヘッドマウントディスプレイ１００ａ、１００ｂは実世界におけるユーザの位置情報をクラウドサーバ２００に送信する。クラウドサーバ２００はユーザの位置関係を反映した画像データをヘッドマウントディスプレイ１００ａ、１００ｂに送信する。
【００４３】
たとえば、複数のユーザが一つの部屋でテーブルを囲んで座っている場合、クラウドサーバ２００は各ユーザの位置情報をもとに現実の位置情報を仮想世界のアバタの位置情報に反映させてアバタの位置を決めて仮想空間内に各ユーザのアバタを描画する。また、映画館内や展示物の前で複数のユーザがヘッドマウントディスプレイを装着した場合、ユーザの現実世界での位置に応じて、視点位置の異なる映像をユーザのヘッドマウントディスプレイに配信してもよい。また、複数のユーザが異なるロケーションにいる場合、ユーザのロケーション間の距離をアバタの位置関係やアバタの表示サイズに反映してもよい。
【００４４】
図６は、仮想空間描画処理装置６００の機能構成図である。仮想空間描画処理装置６００の機能構成は、クラウドサーバ２００に実装される。仮想空間描画処理装置６００の機能構成の一部をヘッドマウントディスプレイ１００に実装することもできる。
【００４５】
ユーザ位置・向き受信部６１０は、ヘッドマウントディスプレイ１００に内蔵されたＧＰＳセンサにより取得されたユーザの位置の情報、およびヘッドマウントディスプレイ１００に内蔵された姿勢センサにより取得されたユーザの頭部の向きの情報をヘッドマウントディスプレイ１００から受信し、ユーザデータベース６６０にユーザの位置および向きの情報をユーザの識別情報に関連づけて保存する。
【００４６】
位置関係処理部６２０は、ユーザデータベース６６０から複数のユーザの位置および向きの情報を読み出し、複数のユーザの位置関係を決定する。たとえば、現実世界において二人のユーザが向き合っているなら、仮想空間においても二人のユーザのアバタが向き合うようにアバタの位置と向きを決定する。また、現実世界におけるユーザＡとユーザＢの間の距離が、ユーザＡとユーザＣの間の距離よりも大きい場合、仮想空間においてもユーザＡのアバタはユーザＢのアバタよりもユーザＣのアバタに近い位置に配置される。ユーザＡとユーザＢが向き合っている場合は、ユーザＡのアバタとユーザＢのアバタを向き合わせる。ユーザＡ、Ｂ、Ｃが一つの対象物を取り囲んで向き合っている場合は、ユーザＡ、Ｂ、Ｃのアバタも仮想空間におけるオブジェクトを取り囲んで向き合うように向きを決定する。
【００４７】
視線方向設定部６３０は、ユーザの現実の方向に応じて、各ユーザのカメラ位置、言い換えれば仮想空間における視線方向を設定する。たとえば、一つの対象物の周りを複数のユーザが取り囲んでいる場合、ユーザが現実の対象物に向かっている方向をユーザの仮想空間における視線方向とする。
【００４８】
３次元レンダリング部６４０は、仮想空間情報記憶部６７０から仮想空間の情報やキャラクタのデータを読み出し、各ユーザの視線方向から見た仮想空間の３次元レンダリングを行う。仮想空間には各ユーザのアバタが合成される。描画データ送信部６５０は仮想空間の描画データをヘッドマウントディスプレイ１００に送信する。
【００４９】
図７は、仮想空間描画処理手順を説明するシーケンス図である。
【００５０】
ヘッドマウントディスプレイ１００は、各種変数を初期化する（Ｓ１０）。ヘッドマウントディスプレイ１００に搭載されたＧＰＳセンサや姿勢センサがユーザの位置と向きを測定する（Ｓ１２）。ヘッドマウントディスプレイ１００の通信制御部４０は、ユーザの位置と向きの情報をクラウドサーバ２００に送信する。
【００５１】
クラウドサーバ２００の位置関係処理部６２０は、ユーザの位置情報にもとづいて、仮想空間内の位置にユーザのキャラクタをマッピングする（Ｓ１４）。位置関係処理部６２０は、仮想空間内に既にマッピングされた他のユーザとの相対的な位置関係を計算し、当該ユーザのキャラクタを表示する位置と向きを決定する（Ｓ１６）。視線方向設定部６３０は、当該ユーザのカメラ方向、すなわち仮想空間における視線方向を計算する（Ｓ１８）。３次元レンダリング部６４０は、当該ユーザの視点方向から見た仮想空間の３次元レンダリングを行う（Ｓ２０）。描画データ送信部６５０は、３次元レンダリングの描画データをヘッドマウントディスプレイ１００に送信する。
【００５２】
ヘッドマウントディスプレイ１００は、３次元描画データを表示する（Ｓ２２）。終了条件を満たせば（Ｓ２４のＹ）、終了し、終了条件を満たさない場合（Ｓ２４のＮ）、ステップＳ１２に戻って、それ以降の処理が繰り返される。
【００５３】
図８は、図７のステップＳ１６の他ユーザとの位置関係処理の手順を詳しく説明するフローチャートである。
【００５４】
まず、仮想空間に既にアバタがいるかどうかを判定する（Ｓ３０）。仮想空間にまだアバタがいなければ（Ｓ３０のＮ）、仮想空間に当該ユーザのアバタを登場させる（Ｓ４２）。
【００５５】
仮想空間に既にアバタが存在する場合（Ｓ３０のＹ）、位置関係のスコア計算を行う（Ｓ３２）。たとえば、実世界におけるユーザ間の距離をもとに、位置関係のスコアを求める。各ユーザの実世界における位置と方向の情報を用いて、アバタの相対的位置関係、すなわち、アバタ間の距離や、あるアバタが別のアバタに対して取る向きを決定する。
【００５６】
図１２〜図１５を参照してステップＳ３２の位置関係のスコア計算の一例を説明する。ここではスコア計算方法の一例を説明するが、スコア計算方法はこれに限定されるものではない。
【００５７】
図１２および図１３は、仮想空間と実世界に地理的な相関関係がない場合における、ユーザの位置関係のスコア計算方法を説明する図である。
【００５８】
まず、各ユーザの実世界の位置の緯度経度データにもとづいて、各ユーザを基準とした他のユーザの距離および方向を求める。ＧＰＳデータを用いて実世界におけるユーザの位置を取得する。図１２（ａ）は、ユーザ１、ユーザ２、ユーザ３の実世界の位置の緯度経度データを示す。
【００５９】
図１２（ｂ）は、実世界におけるユーザ１を基準としたユーザ２およびユーザ３の距離と方向を示す。ユーザ１を基準としたユーザ２の距離はＬｒ＿１２であり、方向はＡｒ＿１２である。また、ユーザ１を基準としたユーザ３の距離はＬｒ＿１３であり、方向はＡｒ＿１３である。ここで、方向は緯線を基準とした時計回りの角度で定義する。
【００６０】
同様に、図１２（ｃ）は、実世界におけるユーザ３を基準としたユーザ２およびユーザ１の距離と方向を示す。ユーザ３を基準としたユーザ２の距離はＬｒ＿３２であり、方向はＡｒ＿３２である。また、ユーザ３を基準としたユーザ１の距離はＬｒ＿３１であり、方向はＡｒ＿３１である。
【００６１】
なお、事前に仮想空間にいるアバタが一人だけである場合は、方向の計算は省略することができる。
【００６２】
次に、各ユーザの仮想空間の位置の絶対座標にもとづいて、各ユーザを基準とした他のユーザの距離および方向を求める。図１３（ａ）は、ユーザ１、ユーザ２、ユーザ３の仮想空間の位置の絶対座標を示す。
【００６３】
図１３（ｂ）は、仮想空間におけるユーザ１を基準としたユーザ２およびユーザ３の距離と方向を示す。ユーザ１を基準としたユーザ２の距離はＬｖ＿１２であり、方向はＡｖ＿１２である。また、ユーザ１を基準としたユーザ３の距離はＬｖ＿１３であり、方向はＡｖ＿１３である。
【００６４】
同様に、図１３（ｃ）は、仮想空間におけるユーザ３を基準としたユーザ２およびユーザ１の距離と方向を示す。ユーザ３を基準としたユーザ２の距離はＬｖ＿３２であり、方向はＡｖ＿３２である。また、ユーザ３を基準としたユーザ１の距離はＬｖ＿３１であり、方向はＡｖ＿３１である。
【００６５】
次に、実世界におけるユーザ間の距離・方向と、仮想空間におけるユーザ間の距離・方向とを比較し、相関係数を計算する。
【００６６】
ユーザｍとユーザｎについての実世界と仮想空間の位置関係の相関係数Ｒｍｎは次式で定義される。
Ｒｍｎ＝｜Ｌｖ＿ｍｎ−Ｌｒ＿ｍｎ｜×｜Ａｖ＿ｍｎ−Ａｒ＿ｍｎ｜
ここで、｜ａ｜は値ａの絶対値を取る演算である。
【００６７】
相関係数Ｒｍｎをユーザの位置関係のスコアとして用いて（相関係数が小さいほどスコアは高く、相関係数が大きいほどスコアは低いとする）、相関係数Ｒｍｎが事前に決めた閾値以下であれば、実世界と仮想空間の位置関係は同じであるとみなす。
【００６８】
図１４および図１５は、仮想空間と実世界に地理的な相関関係がある場合における、ユーザの位置関係のスコア計算方法を説明する図である。
【００６９】
まず、各ユーザの実世界の位置の緯度経度データおよび実世界の地理的な基準点の緯度経度データにもとづいて、実世界の地理的な基準点（ここでは東京）を基準とした各ユーザの距離および方向を求める。ＧＰＳデータを用いて実世界におけるユーザの位置を取得する。図１４（ａ）は、ユーザ１、ユーザ２、ユーザ３、および東京の実世界の位置の緯度経度データを示す。
【００７０】
図１４（ｂ）は、実世界における東京を基準としたユーザ２の距離と方向を示す。実世界の東京を基準としたユーザ２の距離はＬｒ＿０２であり、方向はＡｒ＿０２である。同様に、図１４（ｃ）は、実世界における東京を基準としたユーザ１の距離と方向を示す。実世界の東京を基準としたユーザ１の距離はＬｒ＿０１であり、方向はＡｒ＿０１である。図１４（ｄ）は、実世界における東京を基準としたユーザ３の距離と方向を示す。実世界の東京を基準としたユーザ３の距離はＬｒ＿０３であり、方向はＡｒ＿０３である。
【００７１】
次に、各ユーザの仮想空間の位置の絶対座標および仮想空間の地理的な基準点の絶対座標にもとづいて、仮想空間の地理的な基準点（ここでは東京）を基準とした各ユーザの距離および方向を求める。図１５（ａ）は、ユーザ１、ユーザ２、ユーザ３、および東京の仮想空間の位置の絶対座標を示す。
【００７２】
図１５（ｂ）は、仮想空間における東京を基準としたユーザ２の距離と方向を示す。仮想空間の東京を基準としたユーザ２の距離はＬｖ＿０２であり、方向はＡｖ＿０２である。同様に、図１５（ｃ）は、仮想空間における東京を基準としたユーザ１の距離と方向を示す。仮想空間の東京を基準としたユーザ１の距離はＬｖ＿０１であり、方向はＡｖ＿０１である。図１５（ｄ）は、仮想空間における東京を基準としたユーザ３の距離と方向を示す。仮想空間の東京を基準としたユーザ３の距離はＬｖ＿０３であり、方向はＡｖ＿０３である。
【００７３】
次に、実世界における基準点とユーザ間の距離・方向と、仮想空間における基準点とユーザ間の距離・方向とを比較し、相関係数を計算する。
【００７４】
基準点とユーザｍについての実世界と仮想空間の位置関係の相関係数Ｒ０ｍは次式で定義される。
Ｒ０ｍ＝｜Ｌｖ＿０ｍ−Ｌｒ＿０ｍ｜×｜Ａｖ＿０ｍ−Ａｒ＿０ｍ｜
【００７５】
相関係数Ｒ０ｍをユーザの位置関係のスコアとして用いて（相関係数が小さいほどスコアは高く、相関係数が大きいほどスコアは低いとする）、相関係数Ｒ０ｍが事前に決めた閾値以下であれば、実世界と仮想空間の位置関係は同じであるとみなす。
【００７６】
再び図８を参照する。実世界の位置関係と仮想空間内のアバタの位置関係が同じかどうかを判定する（Ｓ３４）。これは、仮想空間内でアバタが移動することがあり、現実の位置関係から外れていくことがあるからである。ステップＳ３２で求めた相関係数Ｒｍｎ（またはＲ０ｍ）について閾値Ｒｔｈと比較する。すべてのユーザについて、Ｒｍｎ＜Ｒｔｈ（またはＲ０ｍ＜Ｒｔｈ）であれば、実世界の位置関係と仮想空間内のアバタの位置関係は同じであると判定する。実世界の位置関係と仮想空間内のアバタの位置関係が所定の範囲で保たれている場合（Ｓ３４のＹ）、仮想空間に当該ユーザのアバタを登場させる（Ｓ４２）。
【００７７】
実世界の位置関係と仮想空間内のアバタの位置関係が保たれていない場合（Ｓ３４のＮ）、ユーザ同士の現実の位置関係に近い場所が仮想空間にあるか判定する（Ｓ３６）。ステップＳ３４で行った相関係数と閾値の比較において、一人以上のユーザについてＲｍｎ＜Ｒｔｈ（またはＲ０ｍ＜Ｒｔｈ）であれば、ユーザ同士の現実の位置関係に近い場所が仮想空間にあると判定する。ユーザ同士の現実の位置関係に近い場所が仮想空間内にある場合（Ｓ３６のＹ）、その場所の中からスコアがもっとも高いものを最も近い場所に決定する（Ｓ３８）。たとえば、ステップＳ３４で行った相関係数と閾値の比較において、Ｒｍｎ＜Ｒｔｈ（またはＲ０ｍ＜Ｒｔｈ）を満たしているユーザのデータのみを使って位置を決定する。ユーザ同士の現実の位置関係に近い場所が仮想空間内にない場合（Ｓ３６のＮ）、適当な場所、たとえばランダムな位置や最後方の位置を決定する（Ｓ４０）。いずれの場合でも、決定された場所に当該ユーザのアバタを登場させる（Ｓ４２）。
【００７８】
図９Ａ〜図９Ｄは、仮想空間にユーザのアバタを登場させる例を説明する図である。ここでは、４人のユーザＡ〜Ｄのアバタ７００ａ〜７００ｄを仮想空間に登場させる例を説明する。４人のユーザＡ〜Ｄは、現実世界において異なる場所にいるとする。
【００７９】
図９Ａに示すように、ユーザＡが最初に仮想空間にログインし、アバタ７００ａが仮想空間内に登場したとする。
【００８０】
現実世界において、残りのユーザＢ、ユーザＣ、ユーザＤはこの順でユーザＡに対して近い位置にいるとする。たとえば、東京にいるユーザＡに対して、ユーザＢは横浜、ユーザＣは神戸、ユーザＤは香港にいるとする。
【００８１】
ユーザＢ、ユーザＣ、ユーザＤのアバタを仮想空間内に登場させる際、現実世界における位置関係を考慮して、図９Ｂに示すように、ユーザＢのアバタ７００ｂを先に登場させ、次に図９Ｃに示すように、ユーザＣのアバタ７００ｃを登場させ、最後に図９Ｄに示すように、ユーザＤのアバタ７００ｄを登場させる。このように最初にアバタを登場させたユーザに対して近くにいるユーザのアバタは先に出現し、遠くにいるユーザのアバタはゆっくり出現する。このように、ユーザ間の現実の距離に応じて各ユーザのアバタの出現速度を変えることによって、現実世界の距離感を仮想空間に反映させることができる。
【００８２】
上記の説明では、ユーザＡ、Ｂ、Ｃ、Ｄが互いに離れた場所にいる場合を考えたが、ユーザＡ、Ｂ、Ｃ、Ｄがたとえば同じ部屋にいる場合は、ユーザＡ、Ｂ、Ｃ、Ｄの向きを仮想空間内のアバタ７００ａ、７００ｂ、７００ｃ、７００ｄの向きに反映させてもよい。たとえば、ユーザＡとユーザＢがテーブルを挟んで向かい合っている場合は、ユーザＡのアバタ７００ａとユーザＢのアバタ７００ｂを仮想空間内のテーブルで向かい合う位置に配置される。
【００８３】
図１０は、仮想空間にユーザのアバタを登場させる別の例を説明する図である。図９Ａ〜図９Ｄでは、最初にアバタ７００ａを仮想空間に登場させたユーザＡに対するユーザＢ、Ｃ、Ｄの現実の位置関係にもとづいて、ユーザＢ、Ｃ、Ｄのアバタ７００ｂ、７００ｃ、７００ｄを登場させる順序を決めたが、図１０では、ユーザＢ、Ｃ、Ｄのアバタ７００ｂ、７００ｃ、７００ｄは乗り物に乗って登場する。
【００８４】
図１０に示すように、ユーザＡに対して最も近い位置にいるユーザＢのアバタ７００ｂは自転車に乗って登場し、次に近い位置にいるユーザＣのアバタ７００ｃは自動車に乗って登場し、最も遠い位置にいるユーザＤのアバタ７００ｄは飛行機に乗って登場する。このように最初にアバタを登場させたユーザとの距離に応じてアバタの乗り物を変えることで現実世界の距離感を仮想空間に反映させることができる。
【００８５】
図９Ａ〜図９Ｄおよび図１０で説明したように、先に仮想空間にアバタを登場させたユーザに対する距離に応じて他のユーザのアバタの現れ方を異ならせることでユーザは現実の距離感をヘッドマウントディスプレイ１００に表示された仮想空間の中でも感じることができる。なお、ユーザ間の現実の距離に応じて、アバタの出現速度と乗り物の種類の両方を変えるようにしてもよい。
【００８６】
図１１は、ゲーム画面にユーザのアバタを登場させる例を説明する図である。地球上のある基準点（たとえば東京）からユーザの現実の位置までの距離をゲームに反映させる。ただし、ユーザの現実の位置によってゲーム上、不利とならないように、基準点をランダムにしたり、条件によって変えるようにする。
【００８７】
図１１に示すように、ユーザＡ、Ｂ、Ｃ、Ｄの地球上の位置を、互いの位置関係をできるだけ保持しながら、ゲーム内の位置にマッピングすることでユーザＡ、Ｂ、Ｃ、Ｄのアバタ７００ａ、７００ｂ、７００ｃ、７００ｄを表示する。ゲーム内の位置は取りうる場所が限定されるため、ユーザＡ、Ｂ、Ｃ、Ｄの現実の位置関係を、アバタ７００ａ、７００ｂ、７００ｃ、７００ｄの仮想空間内の位置関係に厳密に対応させる必要はなく、現実世界におけるユーザ同士の距離感が仮想空間におけるアバタの位置関係にある程度反映するものであればよい。
【００８８】
以上説明したように、本実施の形態によれば、位置や姿勢検出可能なセンサを備えたヘッドマウントディスプレイをクラウドサービスに組み入れることによって、ヘッドマウントディスプレイを装着したユーザの現実の位置関係や姿勢を仮想空間に反映させ、ヘッドマウントディスプレイに表示される画面への没入感および操作性を向上させることができる。またクラウドサーバを利用することでクライアント側のヘッドマウントディスプレイのハードウェア構成を単純化することができる。
【００８９】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を説明する。
【符号の説明】
【００９０】
１０  制御部、  ２０  入力インタフェース、  ３０  出力インタフェース、  ３２  バックライト、  ４０  通信制御部、  ４２  ネットワークアダプタ、  ４４  アンテナ、  ５０  記憶部、  ６０  ＧＰＳユニット、  ６２  無線ユニット、  ６４  姿勢センサ、  ７０  外部入出力端子インタフェース、  ７２  外部メモリ、  ８０  時計部、  １００  ヘッドマウントディスプレイ、  １１０  本体部、  １２０  前頭部接触部、  １３０  側頭部接触部、  ２００  クラウドサーバ、  ３００  カメラ、  ４００  ネットワーク、  ５００  パノラマ画像生成装置、  ５１０  撮影画像受信部、  ５２０  画像データ記憶部、  ５３０  パノラマ画像処理部、  ５４０  フォーマット変換部、  ５５０  パノラマ画像送信部、  ６００  仮想空間描画処理装置、  ６１０  ユーザ位置・向き受信部、  ６２０  位置関係処理部、  ６３０  視線方向設定部、  ６４０  ３次元レンダリング部、  ６５０  描画データ送信部、  ６６０  ユーザデータベース、  ６７０  仮想空間情報記憶部。
【図１】
2014017776.tif 000003
【図２】
2014017776.tif 000004
【図３】
2014017776.tif 000005
【図４】
2014017776.tif 000006
【図５】
2014017776.tif 000007
【図６】
2014017776.tif 000008
【図７】
2014017776.tif 000009
【図８】
2014017776.tif 000010
【図９Ａ】
2014017776.tif 000011
【図９Ｂ】
2014017776.tif 000012
【図９Ｃ】
2014017776.tif 000013
【図９Ｄ】
2014017776.tif 000014
【図１０】
2014017776.tif 000015
【図１１】
2014017776.tif 000016
【図１２】
2014017776.tif 000017
【図１３】
2014017776.tif 000018
【図１４】
2014017776.tif 000019
【図１５】
2014017776.tif 000020