(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】仮想現実共有方法及びシステム
(51)【国際特許分類】
G06T 19/00 20110101AFI20240702BHJP
【FI】
G06T19/00 600
(21)【出願番号】P 2022541045
(86)(22)【出願日】2020-08-06
(86)【国際出願番号】 JP2020030202
(87)【国際公開番号】W WO2022029959
(87)【国際公開日】2022-02-10
【審査請求日】2022-10-17
(73)【特許権者】
【識別番号】000005810
【氏名又は名称】マクセル株式会社
(74)【代理人】
【識別番号】110000442
【氏名又は名称】弁理士法人武和国際特許事務所
(72)【発明者】
【氏名】川前 治
(72)【発明者】
【氏名】奥 万寿男
【審査官】橋爪 正樹
(56)【参考文献】
【文献】国際公開第2014/162852(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00 -19/20
G06F 3/01
G06F 3/048- 3/04895
(57)【特許請求の範囲】
【請求項1】
第1仮想現実共有端末の第1視点で現実空間を撮影して生成した第1カメラ撮影映像を取得するステップと、
前記第1仮想現実共有端末に対して前記現実空間に重畳するARオブジェクトを表示させる第1表示ステップと、
前記第1視点とは異なる第2視点で前記現実空間を撮影して生成された第2カメラ撮影映像を取得するステップと、
前記第1カメラ撮影映像及び前記第2カメラ撮影映像を合成してVR映像を生成するVR映像作成ステップと、
第2仮想現実共有端末において受け付けた、前記VR映像を取り込む視聴者視点の設定入力情報を取得する視点取得ステップと、
前記視聴者視点から見た前記VR映像に、前記視聴者視点から見た前記ARオブジェクトを重畳して前記第2仮想現実共有端末に表示させる第2表示ステップと、
を含み、
前記第1カメラ撮影映像は、前記ARオブジェクトの表示トリガーとなる現実物体の前記第1視点から見た相対位置を示すメタデータを含み、
前記第2カメラ撮影映像は、前記現実物体の前記第2視点から見た相対位置を示すメタデータを含み、
前記VR映像作成ステップにおいて、前記第1視点から見た相対位置と前記第2視点から見た相対位置とを付加した前記VR映像を作成し、
前記第2表示ステップにおいて、前記視聴者視点から前記VR映像に撮影された前記現実物体の位置と、前記視聴者視点から見た前記ARオブジェクトの位置とを比較し、前記現実物体が前記ARオブジェクトよりも近くにあるときは、前記現実物体により前記ARオブジェクトの少なくとも一部を隠して表示し、前記現実物体が前記ARオブジェクトよりも遠くにあるときは、前記ARオブジェクトにより前記現実物体の少なくとも一部を隠して表示する、
ことを特徴とする仮想現実共有方法。
【請求項2】
請求項1に記載の仮想現実共有方法において、
前記視点取得ステップにおいて、前記視聴者視点の視点位置及び視線方向を示すポインタを前記第2仮想現実共有端末に表示させ、前記ポインタを用いた入力操作を受け付ける、
ことを特徴とする仮想現実共有方法。
【請求項3】
請求項2に記載の仮想現実共有方法において、
前記視点取得ステップにおいて、前記第2仮想現実共有端末が視点設定モードで実行中に当該第2仮想現実共有端末の表示領域に前記ポインタが表示され、当該視点設定モードが終了すると前記第2表示ステップへ遷移し、
前記第2表示ステップにおいて、前記表示領域から前記ポインタが非表示となると共に、前記視聴者視点から見たVR映像の表示に切り替わる、
ことを特徴とする仮想現実共有方法。
【請求項4】
同一の現実空間を異なる視点で撮影して得られた複数のカメラ撮影映像を合成してVR映像を作成するVRサーバと、
ARオブジェクトを作画するARサーバと、
前記VR映像及び前記ARオブジェクトを受信し、当該VR映像に前記ARオブジェクトを重畳表示する視聴者用仮想現実共有端末とが、ネットワークを介して通信接続されて構成される仮想現実共有システムであって、
前記視聴者用仮想現実共有端末は、
ディスプレイ、入力デバイス、通信器、及びプロセッサを備え、
前記プロセッサは、
前記入力デバイスが、前記VR映像を取り込む視聴者視点の設定入力操作を受け付けると、前記通信器から前記VRサーバ及び前記ARサーバに対して前記視聴者視点の位置及び向きを示すデータを送信し、
前記通信器を介して、前記VRサーバから前記視聴者視点から見た前記VR映像を受信すると共に、前記ARサーバから前記視聴者視点から見た前記ARオブジェクトの描画データを受信し、
前記視聴者視点から見た前記VR映像に前記描画データに基づく前記ARオブジェクトを重畳して前記ディスプレイに表示し、
前記複数のカメラ撮影映像は、第1カメラ撮影映像及び第2カメラ撮影映像を含み、
前記第1カメラ撮影映像は、前記ARオブジェクトの表示トリガーとなる現実物体を第1視点から見た相対位置を示すメタデータを含み、
前記第2カメラ撮影映像は、前記現実物体を第2視点から見た相対位置を示すメタデータを含み、
前記VRサーバは、前記第1視点から見た相対位置と前記第2視点から見た相対位置とを付加した前記VR映像を作成し、
前記視聴者用仮想現実共有端末において、
前記プロセッサは、前記視聴者視点から見た前記VR映像に撮影された前記現実物体の位置と、前記視聴者視点から見た前記ARオブジェクトの位置とを比較し、前記現実物体が前記ARオブジェクトよりも近くにあるときは、前記現実物体により前記ARオブジェクトの少なくとも一部を隠して表示し、前記現実物体が前記ARオブジェクトよりも遠くにあるときは、前記ARオブジェクトにより前記現実物体の少なくとも一部を隠して前記ディスプレイに表示する、
ことを特徴とする仮想現実共有
システム。
【請求項5】
請求項4に記載の仮想現実共有システムにおいて、
前記プロセッサは、前記視聴者視点の視点位置及び視線方向を示すポインタを前記ディスプレイに表示し、前記入力デバイスは前記ポインタを用いた入力操作を受け付ける、
ことを特徴とする仮想現実共有システム。
【請求項6】
請求項5に記載の仮想現実共有システムにおいて、
前記プロセッサは
、視点設定モード又は視聴モードのいずれかを実行し、
前記視点設定モードでは、前記ディスプレイに前記ポインタを表示し、
前記視聴モードでは、前記ディスプレイから前記ポインタを非表示にして前記視聴者視点から見た前記VR映像に前記ARオブジェクトを重畳して表示する、
ことを特徴とする仮想現実共有システム。
【請求項7】
請求項
4に記載の仮想現実共有システムにおいて、
前記VRサーバは、第1仮想現実共有端末が前記現実空間を第1視点から撮影して生成した第1カメラ撮影映像と、前記第1仮想現実共有端末が前記第1カメラ撮影映像を撮影したときと同じときに前記第1仮想現実共有端末とは異なる第2仮想現実共有端末が前記現実空間を第2視点から撮影して生成した第2カメラ撮影映像とを合成して前記VR映像を作成する、
ことを特徴とする仮想現実共有システム。
【請求項8】
請求項
4に記載の仮想現実共有システムにおいて、
前記VRサーバは、第1仮想現実共有端末が前記現実空間を第1視点から撮影して生成した第1カメラ撮影映像と、前記第1カメラ撮影映像を撮影したときとは異なるときに前記第1仮想現実共有端末が前記現実空間を第2視点から撮影して生成した第2カメラ撮影映像とを合成して前記VR映像を作成する、
ことを特徴とする仮想現実共有システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想現実共有方法及びシステムに係り、現実空間と仮想空間(ARオブジェト:Argument Realityオブジェクトとも記す)とから成る複合現実(MR:Mixed Reality)空間を複数の人で共有する方法及びシステムに関する。
【背景技術】
【0002】
特許文献1には、「第1のユーザが装着している第1ステレオ撮影部のステレオ映像と、前記第1ステレオ撮影部の位置姿勢に基づく仮想物体画像とに基づく第1ステレオ画像を取得する第1画像取得工程と、前記第1のユーザが存在する空間に設置されている第2ステレオ撮影部のステレオ映像と、前記第2ステレオ撮影部の位置姿勢に基づく仮想物体画像とに基づく第2ステレオ画像を第2画像取得工程と、前記第1ステレオ画像及び前記第2ステレオ画像から、前記第2のユーザの指示に応じた画像を選択する選択工程と、前記選択された画像を前記第2のユーザに提示する提示工程を有する(要約抜粋)」技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1によれば、リモートサイトにいる視聴者がMR空間を共有するために、体験者(作業者)のHMDに加えて、現実空間に配置した固定カメラを用いて、視聴者の視線を体験者のHMD、及び固定カメラのいずれから選択し、選択した視線からMR空間を共有することができる。
【0005】
しかしながら特許文献1では、リモートサイトにいる視聴者は、体験者のHMD、あるいは固定カメラのいずれかの固定した視線でしかMR空間を共有できない。したがって、視聴者は限られた視線でしかMR空間を共有できないという課題がある。
【0006】
本発明は上記課題に鑑みてなされたものであり、視聴者がMR空間を共有する視線の選択自由度を増やすことにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は特許請求の範囲に記載の構成を備える。その一例をあげるならば、仮想現実共有方法は、第1仮想現実共有端末の第1視点で現実空間を撮影して生成した第1カメラ撮影映像を取得するステップと、前記第1仮想現実共有端末に対して前記現実空間に重畳するARオブジェクトを表示させる第1表示ステップと、前記第1視点とは異なる第2視点で前記現実空間を撮影して生成された第2カメラ撮影映像を取得するステップと、前記第1カメラ撮影映像及び前記第2カメラ撮影映像を合成してVR映像を生成するVR映像作成ステップと、第2仮想現実共有端末において受け付けた、前記VR映像を取り込む視聴者視点の設定入力情報を取得する視点取得ステップと、前記視聴者視点から見た前記VR映像に、前記視聴者視点から見た前記ARオブジェクトを重畳して前記第2仮想現実共有端末に表示させる第2表示ステップと、を含み、前記第1カメラ撮影映像は、前記ARオブジェクトの表示トリガーとなる現実物体の前記第1視点から見た相対位置を示すメタデータを含み、前記第2カメラ撮影映像は、前記現実物体の前記第2視点から見た相対位置を示すメタデータを含み、前記VR映像作成ステップにおいて、前記第1視点から見た相対位置と前記第2視点から見た相対位置とを付加した前記VR映像を作成し、前記第2表示ステップにおいて、前記視聴者視点から前記VR映像に撮影された前記現実物体の位置と、前記視聴者視点から見た前記ARオブジェクトの位置とを比較し、前記現実物体が前記ARオブジェクトよりも近くにあるときは、前記現実物体により前記ARオブジェクトの少なくとも一部を隠して表示し、前記現実物体が前記ARオブジェクトよりも遠くにあるときは、前記ARオブジェクトにより前記現実物体の少なくとも一部を隠して表示する、ことを特徴とする。
【発明の効果】
【0008】
本発明によれば、視聴者がMR空間を共有する視線の選択自由度を増やすことができる。上記した以外の目的、構成、効果については、以下の実施形態において明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】第1実施形態に係る仮想現実共有システムの概略図
【
図2A】仮想現実共有端末である体験者用HMD及び参加者用HMDの外観図
【
図2B】仮想現実共有端末である視聴者用HMDの外観図
【
図8】体験者及び参加者用HMDの位置検出の例を説明する図
【
図13】ARオブジェクトの位置に関する補足説明する図
【
図17】視聴者が視点の位置を選択する方法の一例を示した図
【
図18】第2実施形態の仮想現実共有システムの概略図
【
図19】第2実施形態の仮想現実共有システムの変形例の概略図
【
図20】第3実施形態の仮想現実共有システムの参加者用HMDのブロック図
【
図21】第3実施形態のMR参加プログラムのフローチャート
【
図22】第4実施形態の仮想現実共有システムの概略図
【
図23】第4実施形態のAR作画プログラムのフローチャート
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、本発明の実施形態について説明する。全図において同一の構成、ステップには同一の符号を付し、重複説明を省略する。
【0011】
カメラで撮影する現実空間の背景映像にCG(Computer Graphics)で作成したARオブジェクトを付与することが、ゲームや遠隔医療、保守作業等のコンテンツに用いられている。ARオブジェクトを付与するために、ARトリガーあるいはマーカと呼ばれる現実物体の映像を背景映像と同時にカメラで撮影して、ARトリガーあるいはマーカに紐付けられたARオブジェクトを背景映像に合成する。
【0012】
特に複合現実(MR:Mixed Reality)では、カメラとディスプレイとが一体化されたHMD(ヘッドマウントディスプレイ)を用いて、HMDに装備したカメラで撮影する背景映像、あるいはHMDを透過して見る背景映像に重ねて、HMDの位置及びHMDの向き等に応じて描画するARオブジェクトを、仮想空間の映像としてHMDに表示する。
【0013】
本実施形態は、仮想空間の映像のうち、HMDを装着した人の動きに合わせて超広域(例えば360°)空間の画像を連続して表示するVR(Virtual Reality)により、映像による疑似体験を提供し、その疑似体験を複数人で共有する態様である。
【0014】
[第1実施形態]
(システム構成とHMD)
図1は、第1実施形態に係る仮想現実共有システム100の概略図である。
【0015】
仮想現実共有システム100は、ARオブジェクト4bの操作権を有する体験者11と、体験者11と同一の現実空間に存在してARオブジェクト4bを視認する参加者12a、12b、12c、12d、12eと、体験者11、及び参加者12a~12eとは異なる現実空間(リモートサイト)に存在する視聴者13a、13b、13cとの間で、MR空間6を含む仮想空間を共有するシステムである。同一の現実空間に存在する体験者11と参加者12a~12eだけでなく、リモートサイトにいる視聴者13a~13cもMR空間6を含む仮想現実を共有して体験できる点に特徴がある。
【0016】
MR空間6では、現実物体4aに、これをARマーカとして紐づけられたARオブジェクト4bが重畳表示される。
図1は、現実物体4aは新商品の非操作機器であり、ARオブジェクト4bは、操作手段である。そしてARオブジェクト4bで新商品の操作方法を、体験者11が実演しながら説明している例である。
【0017】
体験者11が装着する体験者用HMD1(以下、「HMD1」と略記することがある。)と、参加者12a~12eのそれぞれが装着する参加者用HMD2a~2e(以下、「HMD2a~2e」と略記することがある。)のそれぞれとは、MR空間6に設置されたアクセスポイント5a~5cとの間でネットワーク信号10a、10b、10c、10d、10e、10f、10g、10h、10iを送受信する。体験者用HMD1及び参加者用HMD2a~2eは仮想現実共有端末である。
【0018】
視聴者13aが操作する視聴者用情報端末3a(以下「情報端末3a」と略記することがある。)と、視聴者13b、13cのそれぞれが装着する視聴者用HMD3b、3c(以下、「HMD3b、3c」と略記することがある。)とは、アクセスポイント5d、5eとの間でネットワーク信号10j、10k、10l、10m、10nを送受信する。視聴者用情報端末3a、視聴者13b、13cも仮想現実共有端末である。
【0019】
アクセスポイント5a~5cは、MR空間6の外のネットワーク7に接続され、ネットワーク7上に置かれているVRサーバ8、ARサーバ9と、HMD1、2a~2eとが通信する仲介媒体となる。またネットワーク7上には、リモートサイトのアクセスポイント5d、5eも置かれ、VRサーバ8、ARサーバ9と、視聴者用HMD3b、3c、及び情報端末3aとが通信する仲介媒体となる。
【0020】
ARオブジェクト4bは、HMD1、2a~2e、3b、3cでは3次元表示されるので、現実物体4aとARオブジェクト4bの前後等の位置関係が反映された現実感のある表示が実現できる。
【0021】
図2Aは、仮想現実共有端末である体験者用HMD1及び参加者用HMD2a~2eの外観図、
図2Bは、仮想現実共有端末である視聴者用HMD3b、3cの外観図である。
【0022】
はじめに、体験者用HMD1、参加者用HMD2a~2e、及び視聴者用HMD3b、3cに共通する構成について説明する。体験者用HMD1、参加者用HMD2a~2e、及び視聴者用HMD3b、3cのそれぞれは、左プロジェクタ22a、右プロジェクタ22b、スクリーン23、ノーズパッド24、プロセッサ25、スピーカ26、マイク27、左つる28a、右つる28b、ブリッジ28cを含む。左つる28a、右つる28b、ブリッジ28cを総称してフレーム筐体28ともいう。装着者は、フレーム筐体28とノーズパッド24で、HMDを自身の顔部に装着する。
【0023】
また体験者用HMD1、参加者用HMD2a~2eは、カメラ21及び測距カメラ29を更に備える。カメラ21はHMD装着者の視線前方の現実空間である背景映像を撮影するように取り付けられており、測距カメラ29は背景映像の一部として捉える現実物体4aまでの距離を測定する。
【0024】
体験者用HMD1、参加者用HMD2a~2eでは、HMD装着者は、前方の現実空間の背景映像を、スクリーン23を透過して見る、もしくは装着しているカメラ21で撮影した背景映像をスクリーン23に映してして見る。また左プロジェクタ22a及び右プロジェクタ22bは、ARオブジェクト4bを、左目で確認する映像と右目で確認する映像として、スクリーン23に投影して、あたかも現実空間の所定の距離にARオブジェクト4bがあるように立体的に表示する。視聴者用HMD3b、3cでは、後記するVR映像とARオブジェクト4bを重畳して表示する。
【0025】
HMDでの表示では、現実物体4aとARオブジェクト4bの距離の前後関係に基づき、現実物体4aの一部分がARオブジェクト4bの一部分の前にある関係にある時、現実物体4aの一部分にARオブジェクト4bの一部分が隠されて見えるように、ARオブジェクトの描画データを加工するオクルージョン処理を行い、現実感を増したMR空間の映像を表示する。
【0026】
プロセッサ25、カメラ21、スピーカ26、マイク27は、フレーム筐体28に配置される。なお、配置場所は
図2A、
図2Bの通りでなくてもよい。
【0027】
(3次元仮想現実表示装置のブロック図)
図3は、体験者用HMD1のブロック図である。
図3にて、プロセッサ25は破線で囲った部分であり、プロセッサ25に、カメラ21、測距カメラ29、左プロジェクタ22a、右プロジェクタ22b、スクリーン23、スピーカ26、マイク27、方位センサ250、ジャイロセンサ251、加速度センサ252のそれぞれが接続される。
【0028】
プロセッサ25は、CPU254、RAM255、映像RAM256、FROM257、特徴抽出プロセッサ260、距離算出プロセッサ261、方位センサ250、ジャイロセンサ251、加速度センサ252、及び内部バス262含み、各要素が内部バス262を介して互いに接続される。なお方位センサ250、ジャイロセンサ251、加速度センサ252はプロセッサ25に含まれない構成の場合もある。
【0029】
左プロジェクタ22a及び右プロジェクタ22bのそれぞれは、左目の画像と右目の画像を独立にスクリーン23に投影させ、映像の三次元表示を行う。別態様として、ホログラフィックレンズを用いた光学系のような三次元表示できる他の表示デバイスであっても良い。
【0030】
無線通信器253は、4G、5G等のモバイル通信、ワイアレスLAN等の幾つかの通信処理の中から適切な処理を選択して、アクセスポイント5a、5b、5cのいずれかを介してHMD1をネットワーク7に接続する。
【0031】
FROM257には、処理プログラムとして、基本プログラム258、及びMR体験プログラム259が含まれる。これら処理プログラムは、CPU254がRAM255に展開して実行する。更にFROM257には、処理プログラムを実行するのに必要なデータを格納する。FROM257は、図示した様にひとつのメモリ媒体であっても、複数のメモリ媒体で構成しても良い。更にはFlash ROM以外の不揮発性のメモリ媒体であっても良い。
【0032】
また左プロジェクタ22a及び右プロジェクタ22bに送出する映像データは、CPU254が映像RAM256に格納し、CPU254が映像RAM256から読み出して左プロジェクタ22a及び右プロジェクタ22bからスクリーン23に投射する。
【0033】
特徴抽出プロセッサ260は、カメラ21で撮影する背景映像から現実物体の輪郭(エッジ)を抽出し、輪郭の変曲点や頂点を特徴点とする処理を行う。これらの特徴点に対して、距離算出プロセッサ261で得る距離データを組み合わせる。輪郭を構成する特徴点データの集合は、背景映像に紐づける。
【0034】
方位センサ250、ジャイロセンサ251、加速度センサ252は、HMD1の位置やカメラの撮影方向(体験者11の視線に等しい)のトレース等に用いる。後記する配置位置が既知のアクセスポイント5a、5b,5cを使って得る位置と、方位センサ250、加速度センサ252で得る上下、左右の視線方向を得、ジャイロセンサ251等でHMD1の動きをトレースして、HMD1の装着者(体験者11)が動いたことによる位置及び方向の変化を検知する。
【0035】
図4は、参加者用HMD2a~2eのブロック図である。
図4では、FROM257に基本プログラム258とMR参加プログラム263を格納する。HMD2a~2eは、ハードウェアとしてはHMD1と同じで、HMD1のMR体験プログラム259に代えて応用プログラムであるMR参加プログラム263を格納する点において異なる。
【0036】
図5は、視聴者用HMD3b、3cのブロック図である。
図5では、カメラ21と測距カメラ29が省かれており、FROM264に基本プログラム265とMR視聴
アプリ266が格納される。また、左プロジェクタ22a、右プロジェクタ22b、スクリーン23に代わり、没入型(非透過型・遮蔽型)のディスプレイ30を備える。
【0037】
図6は、VRサーバ8のブロック図である。
図6にて、VRサーバ8は、有線LAN等のネットワークインターフェース(ネットワークIF)81、CPU82、RAM83、ストレージ84、内部バス87を含み、各構成要素が内部バス87を介して互いに接続される。
【0038】
ストレージ84はFlash ROMのほか、ハードディスクドライブ等で構成してもよい。ストレージ84は、処理プログラムとして、VR作成プログラム85を含み、CPU82がRAM83に展開して実行する。更にストレージ84はVRデータ86を含み、処理プログラムを実行するのに必要なデータを格納する。
【0039】
図7は、ARサーバ9のブロック図である。
図7にて、ARサーバ9は、有線LAN等のネットワークIF91、CPU92、RAM93、ストレージ94、及び内部バス97を含み、各構成要素が内部バス97を介して互いに接続される。
【0040】
ストレージ94はFlash ROMのほか、ハードディスクドライブ等で構成してもよい。ストレージ94は、処理プログラムとして、AR作画プログラム95を含み、CPU92がRAM93に展開して実行する。更にストレージ94はARデータ96を含み、処理プログラムを実行するのに必要なデータを格納する。またARデータ96として、過去に作成したARオブジェクトをアーカイブしておき、処理プログラムの実行中に体験者に利用を促すようにしてもよい。
【0041】
(VR映像の生成)
図8は、体験者11及び参加者12a~12eが装着するHMD1、2a~2eの位置検出方法の例を説明する図である。
図8にて、HMD1、2a~2eの位置検出するために、MR空間6に設置されていて、設置位置が既知のアクセスポイント5a~5cを用いる。HMD1、2a~2eの位置算出方法は同じなので、以下ではHMD1を例に挙げて説明する。
【0042】
P点の位置にHMD1がある時、アクセスポイント5a~5cからネットワーク信号10g~iを受信し、その強度からアクセスポイント5a~5cとの距離を算出する。
図8では、アクセスポイント5aまでの距離がr1、アクセスポイント5bまでの距離がr2、アクセスポイント5cまでの距離がr3であり、アクセスポイント5aから距離がr1の球面、アクセスポイント5bから距離がr2の球面、アクセスポイント5cから距離がr3の球面が交差する面上の1ポイントがP点となり、MR空間6内の存在範囲が絞られる。これらの受信強度の情報に加えて、HMD1を搭載している頭部の高さや、カメラ21から見える画像、各種センサからの情報により、P点の位置を特定することができる。
【0043】
HMD1がP点にある時、HMD1の向く方向、すなわち体験者11の視線方向は、方位センサ250により左右方向が、加速度センサ252により上下方向が決まる。
【0044】
体験者11は、MR体験中に位置を移動し、頭部を動かして視線を変える。これらの変化は、加速度センサ252、ジャイロセンサ251等により移動をトレースする。移動後HMD1が静止状態にあることを検出した時、再度アクセスポイント5a~5cを用いた位置検出等を行い、センサによるトレースでの累積誤差をリセットしてもよい。
【0045】
HMD1の位置や方向の算出方法としては、上記の方法に限定させるものではない。例えばアクセスポイント5a~5cに変え映像マーカを利用し、装備するカメラ21に加え、測距カメラ29を併用し、映像マーカをカメラ21で捉え、測距カメラ29で映像マーカまでの距離を得る方法、カメラ21で捉える映像マーカの変化から移動を算出する方法等を利用してもよい。
【0046】
【0047】
VR映像は、体験者用HMD1及び参加者用HMD2a~2eのカメラで撮影する映像を、半径Rの上半天球面に貼り付けることにより生成する。体験者用HMD1及び参加者用HMD2a~2eのうち、E点の位置にあるいずれかのHMDが上半天球面のPE点を向いて撮影しているときに、PE点を中心とする領域にカメラ撮影映像を貼り付ける。同様にF点の位置にあるHMDが上半天球面のPF点を向いて撮影しているときに、PF点を中心とする領域にカメラ撮影映像を貼り付ける。2つの領域が重なっている部分では、カメラ撮影映像に写っている物体の境界で領域を接合して、連続したVR映像とする。この処理を体験者用HMD1、参加者用HMD2a~2eすべてに対して行う。この結果、上半天球の全域ではなくても、体験者11、参加者12a~12eの視線のある領域に対して映像が貼り付けられたVR映像を得ることができる。
【0048】
なお、重なっている2つの領域を接合するとき、境界にある物体の大きさや位置が整合するように、HMDの位置、方向を微調整するように修正して、修正結果をHMDの位置、方向データとして用い、HMDの位置、方向の精度を向上させることができる。
【0049】
図10は、VR映像の正規化について説明する図である。
【0050】
図10では、H点からK点を撮影している場合と、G点からK点を撮影している場合とを示している。2つの場合において、カメラ21の撮影画角は同一であるため、距離の近いG点から撮影する方が、撮影領域は狭くなる。逆に言えば、同一の被写体であれば、撮影画面の中で大きく写っている。GK間距離をd2、HK間距離をd1とすると、G点から撮影した映像P2を、K点を中心とする領域に貼り付ける場合、あたかも上半天球面のH点から撮影した映像に変換することにより視聴者用VR映像を生成する。2つの撮影範囲の比率はd2/d1であり、この比率でG点から撮影した映像P2を正規化して、正規化した映像を得る。正規化した映像P2の表示領域は、H点から実際に撮影して得る映像の領域P1に比べて小さなものとなる。
【0051】
(MR体験プログラム)
図11は、MR体験プログラム259のフローチャートである。
【0052】
HMD1が起動し、MR空間6の共有のために、ユーザ管理処理にログインする(S101)。ユーザ管理処理は
図1のシステム構成には図示されていないが、独立にサーバを設けてもいいし、VRサーバ8やARサーバ9にその機能を備えさせてもよい。ユーザ管理処理にログインすると、VRサーバ8やARサーバ9に体験者11として登録される。
【0053】
HMD1のカメラ21及び測距カメラ29で撮影を開始する(S102)。カメラ撮影映像には、現実物体への距離データが含まれる。カメラ撮影は、例えば30fps(frame per second)で動画撮影をして、撮影映像をキャプチャするようにしてよく、以降のステップは、カメラ撮影周期に同期して実行してもよい。
【0054】
HMD1は、MR空間6内のHMD1の位置を検出する(S103)。
【0055】
HMD1は、HMD1のカメラ21の撮影方向を検出する(S104)。HMD1の位置情報及び検出した撮影方向はカメラ撮影映像のメタデータとなる。
【0056】
S105とS111からは、2つのプロセスに分かれて並列処理される。S105~S110はARサーバ9との処理に関するプロセスであり、S111~S113はVRサーバ8との処理に関するプロセスである。
【0057】
S105では、HMD1の位置と撮影方向のデータをHMD1からARサーバ9に送信する。
【0058】
HMD1は、MR体験に使用するARオブジェクトを、例えばARサーバ9に保存されているリストから選択し、表示するデータとして生成する(S106)。
【0059】
HMD1は、選択したARオブジェクトの描画データを受信し、HMD1のスクリーン23に表示させる(S107)。
【0060】
体験者11が表示されたARオブジェクト4bに対して操作を行うと(S108)、行った操作内容を示すMR空間6内の配置位置、大きさ、向きなどのパラメータを設定する。配置位置、方向等のパラメータは、HMD1の位置、及び方向を基準として相対的な値である。HMD1は、設定したパラメータをARサーバ9に送信し、ARサーバ9は、パラメータが反映されたARオブジェクト4bの描画データをHMD1に送信する。
【0061】
HMD1は、設定したパラメータが反映されたARオブジェクト4bの描画データを受信し、表示する(S109)。HMD1は、表示に際し、現実物体4aとARオブジェクト4bの距離関係に基づき、現実物体4aの一部分がARオブジェクト4bの一部分の前にある関係にある時、現実物体4aの一部分にARオブジェクト4bの一部分が隠されて見えるように、ARオブジェクト4bの描画データを加工する処理を行う。
【0062】
複数のARオブジェクトは一つのステップで処理をしてもよく、一つのステップで限られた数のARオブジェクトを処理するようにして、カメラ撮影周期の複数周期に渡って、全体のARオブジェクトの処理を行ってもよい。一度生成されたARオブジェクトは、体験者11が取り消しを行わない限り、MR空間6に留まる。体験者11が移動して、位置や方向が変化した場合は、S109で受信する描画されたARオブジェクトのデータは、既に生成されたARオブジェクトのすべてを含むものである。S110でカメラ撮影の周期(Time)の到来を判定し、未到来(S110:No)でS106に戻り、到来(S110:Yes)では、プログラムの終了を判定する(S114)。
【0063】
S105~S110と並行して、HMD1は、HMD1の位置と撮影方向のデータと(S111)、カメラ撮影映像データをVRサーバ8に送信する(S112)。カメラ撮影映像データは、カメラ21で撮影した背景映像と、測距カメラ29で測定した現実物体4aとの距離データである。
【0064】
HMD1は、カメラ撮影周期を判定し(S113)、到来を待って(S113:Yes)、プログラムの終了を確認し(S114)、終了しない場合は(S114:No)、次のカメラ周期でS103からのステップを継続する。終了する場合(S114:Yes)では、一連の処理を終了する。
【0065】
図12は、MR参加プログラム263のフローチャートである。
図12の処理は、参加者用HMD2a~2eにおいて実行される。以下では、HMD2aを例に挙げて説明する。
【0066】
参加者用HMD2aを装着する参加者12aは、MR体験共有のために、ユーザ管理処理にログインする(S121)。ユーザ管理処理にログインすると、VRサーバ8やARサーバ9に参加者として登録される。
【0067】
HMD2aは、HMD2aに搭載されたカメラ21でカメラ撮影を開始する(S122)。以降のステップは、カメラ撮影周期に同期して行ってもよい。
【0068】
HMD2aは、MR空間6内のHMD2aの位置を検出する(S123)。
【0069】
またHMD2aは、HMD2aのカメラ撮影方向(参加者の視線)を検出し(S124)、カメラ撮影映像と紐付ける。
【0070】
S125~S127はARサーバ9との処理に関するプロセスであり、S128~S129はVRサーバ8との処理に関するプロセスである。
【0071】
HMD2aは、ARサーバ9にHMD2aの位置と方向のデータを送信し(S125)、体験者が生成したARオブジェクトの描画データをARサーバ9から受信し(S126)、HMD2aのスクリーン23に表示させる(S127)。
【0072】
受信するARオブジェクト4bの描画データは、S125で送信したHMD2aの位置と方向のデータに基づいて、参加者用HMD2aに合わせて描画したデータである。
【0073】
表示に際し、HMD2aは、現実物体4aとARオブジェクト4bの距離関係に基づき、現実物体4aの一部分がARオブジェクト4bの一部分の前にある関係にある時、現実物体4aの一部分にARオブジェクト4bの一部分が隠されて見えるように、ARオブジェクト4bの描画データを加工する処理を行う。
【0074】
図13は、ARオブジェクト4bの位置に関する補足説明する図である。
【0075】
体験者11がTの位置にいて、Uの位置にARオブジェクト4bを生成する。T点からU点までのベクトルVtuの大きさが体験者11とARオブジェクト4bの距離である。この時、参加者12aがSの位置にいてARオブジェクト4bを観測するとする。体験者11の位置Tと参加者12aの位置Sとの間のベクトルをVtsとすると、参加者12aの位置SとARオブジェクト4bの位置Uとの間のベクトルVsuは、(ベクトルVtu-ベクトルVts)で与えられる。したがって、参加者12aとARオブジェクト4bの距離は、ベクトルVsu大きさで求められ、参加者用HMD2aの表示では、ベクトルVsu大きさで得るARオブジェクト4bの距離と測距カメラ29で得る現実物体までの距離の前後関係を評価する。
【0076】
S125~S127と並行して、HMD2aは、HMD2aの位置と撮影方向のデータと(S128)、カメラ撮影映像データをVRサーバ8に送信する(S129)。
【0077】
HMD2aは、カメラ撮影周期を判定し(S130)、到来を待って(S130:Yes)、プログラムの終了を確認し(S131)、終了しない場合は(S131:No)、次のカメラ周期でS123からのステップを継続する。プログラムを終了すると(S131:Yes)、一連の処理が終了する。
【0078】
(MR視聴
アプリ)
図14は、MR視聴
アプリ266のフローチャートである。
図14の処理は、視聴者用情報端末3a、視聴者用HMD3b、3cにおいて実行される。以下では、HMD3bを例に挙げて説明する。
【0079】
視聴者用HMD3bを装着する視聴者13bは、MR体験共有のために、ユーザ管理処理にログインする(S141)。ユーザ管理処理にログインすると、VRサーバ8やARサーバ9に視聴者として登録される。
【0080】
HMD3bは、ARオブジェクト4bの描画データ(ARオブジェクト4bの初期データ)をARサーバ9から受信する。それと並行して、HMD3bは、VR映像データ(VRの初期データ)をVRサーバ8から受信する(S143)。
【0081】
HMD3bは、ARオブジェクト4bとVR映像をHMD3bのディスプレイ30に表示する(S144)。
【0082】
これらのステップのARオブジェクト4b、及びVR映像は、例えば、HMD3bをデフォルトの起点、例えば上半天球面上で、体験者11と対向する位置、方向にあるものとして表示する。
【0083】
VR映像データには、現実物体4aごとに、撮影したHMD1、2a~2eの位置と方向のメタデータと現実物体4aまでの距離データが含まれる。VRサーバ8は、撮影したHMD1、2a~2eの位置と視聴者用HMD3bの視聴者用視点の視点位置(視点位置は、視聴者の頭部の動きを検知して得る)との関係から、現実物体4aまでの距離を算出する。
【0084】
そして、ARサーバ9は、ARオブジェクト4bの位置と現実物体4aと視聴者用HMD3bの視点位置との関係からARオブジェクト4bとの距離を修正する。その際、現実物体4aの一部分がARオブジェクト4bの一部分の前にある関係にある時、現実物体4aの一部分にARオブジェクト4bの一部分が隠されて見えるように、ARサーバ9は、ARオブジェクト4bの描画データの加工処理を行う。
【0085】
なお、HMD3bのデフォルトの位置と方向は、視聴者13bが設定する位置と方向に変更して、MR視聴アプリの立ち上げに際し、変更された位置と方向を起点として用いてもよい。
【0086】
視聴者13bは、VR映像を見ながら頭部を動かすことによって、視点及び視線を移動させる。頭部を左に回転させたことをHMD3bが検出すると、VRサーバ8は、相対的にVR映像を右にシフトさせる。頭部を前に動かしたことをHMD3bが検出すると、HMD3bはVR映像を拡大表示する。これにより、視聴者13bがあたかも近づいたようなMR体験が演出できる。
【0087】
HMD3bは、視聴者13bの頭部の動きを、方位センサ250、ジャイロセンサ251、加速度センサ252等から検出する。検出した動き情報を、ARサーバ9に送信すると共に(S146)、VRサーバ8にも送信する(S148)。
【0088】
HMD3bは、送信した動き情報をもとに、視聴者13bのHMD3bの視点の位置、方向から見るARオブジェクト4bの更新データを受信する(S147)。一方、HMD3bは、視聴者13bのHMD3bの視点の位置、方向から見るVR映像の更新データをVRサーバ8から受信する(S149)。
【0089】
HMD3bは、S144と同様に、現実物体4aとARオブジェクト4bの距離関係を考慮して、ARオブジェクト4bとVR映像を重畳表示する(S150)。これにより視聴者13bは、MR体験の視聴を行う。
【0090】
画像フレームの更新単位(フレームレート)から表示周期を判定し(S151)、到来を待って(S151:Yes)、MR視聴アプリの終了を確認し(S152)、終了しない場合は(S152:No)、次の表示周期でS145からのステップを継続する。MR視聴アプリを終了する場合(S152:Yes)は、一連の処理を終了する。
【0091】
図15は、VR作成プログラム85のフローチャートである。
【0092】
登録された体験者11、参加者12a~12eと視聴者13a~13cの情報端末3a及びHMD3b、3cに対して各種処理が提供される。VR作成プログラム85による処理は、S161~S165の受信プロセスとS165~S171の送信プロセスから成る。
【0093】
受信プロセスは、VRサーバ8が体験者11、及び参加者12a~12eのHMD1、2a~2eに対して提供する。
【0094】
VRサーバ8は、HMD1、2a~2eのカメラ撮影映像データを受信し(S161)、合わせて各カメラ撮影映像を生成したHMDの位置、方向データを受信する(S162)。
【0095】
VRサーバ8は、受信したカメラ撮影映像データの正規化を行って(S163)、上半天球面上に貼り付けてVR映像データに追記する(S164)。
【0096】
VRサーバ8は、カメラ撮影映像データの受信要求があるHMDに切り替えて(S165:Yes)、S161に戻る。受信要求をしているHMDがない場合(S165:No)、VRサーバ8は、終了判定を行う(S172)。
【0097】
送信プロセスは、VRサーバ8が視聴者13a~13cの情報端末3a及びHMD3b、3cに対して提供する。
【0098】
VRサーバ8は、送信提供対象が新規なデバイスかを判定し(S166)、新規の場合(S166:Yes)は、送信提供対象の起点データを得て、VR映像の初期データを送信する(S167)。
【0099】
新規でない場合(S166:No)またはVR映像初期データの送信後(S167)、VRサーバ8は、送信提供対象HMDから当該送信提供対象HMDの動きを示す動きデータを受信(S168)する。
【0100】
VRサーバ8は、動きデータを基に送信提供対象HMD等の位置と方向を算出し、上半天球面のVR映像データから一部の領域を切り出し(S169)、切り出したVR映像データ(VR映像更新データ)を送信提供対象HMDに対して送信する(S170)。
【0101】
VRサーバ8は、VR映像データを送信要求している他のHMDまたは情報端末がある場合は(S171:Yes)、他の送信提供対象HMD(または情報端末)に切り替えてS166に戻る。送信要求している他のHMDまたは情報端末がない場合(S171:No)、VRサーバ8は終了判定を行い(S172)、終了の指示(例えばMR体験の終了を、体験者11のHMD1から受信した場合など)があれば(S172:Yes)、VRサーバ8での処理を終了する。
【0102】
また終了の指示がなければ(S172:No)、VRサーバ8の処理のスタート直後に戻り、S161とS166との処理を継続する。
【0103】
(AR作画プログラム)
図16は、AR作画プログラム95のフローチャートである。
【0104】
ARサーバ9は、登録された体験者11、参加者12a~12eと視聴者13a~13cのHMD1、2a~2e、3b、3c及び情報端末3aに対して各種処理を提供する。ARサーバ9が行う処理は主にS181~S187の体験者用HMD1に提供するプロセス、S188~S191の参加者用HMD2a~2eに提供するプロセスと、S192~S197の視聴者用HMD3b、3c、及び情報端末3aに提供するプロセスから成る。
【0105】
S181では、ARサーバ9は、体験者用HMD1からの要求の有無、及び種類を判別する。要求がない場合(S181:No)要求を待つ。
【0106】
新規の要求では(S181:新規)、ARサーバ9は、HMD1からARオブジェクトの選択データを受信し(S182)、選択されたARオブジェクトのデフォルトの描画データを送信する(S183)。その後、ステップS187へ進む。
【0107】
操作の要求では(S181:操作)、ARサーバ9は、HMD1から操作パラメータのデータを受信し(S184)、ARサーバ9は、操作パラメータに合わせてARオブジェクトを再描画し(S185)、再描画したARオブジェクトのデータをHMD1に送信する(S186)。その後、ステップS187へ進む。
【0108】
S187では、ARサーバ9は、次の要求があるかを判定する。次の要求があれば(S187:Yes)継続し、なければ(S187:No)終了判定(S198)に進む。
【0109】
S188では、参加者用HMD2a~2eのうち、登録された一台(送信対象参加者用HMD)の位置と方向データを受信する。そして、体験者11のHMD1が選択しているARオブジェクト4bをS188で受信した位置と方向データに合わせて再描画を行い(S189)、再描画したARオブジェクトのデータを送信対象参加者用HMDに送信する(S190)。
【0110】
S191では、未処理の登録された参加者用HMD2a~2eが残されている場合、もしくは登録された参加者の位置や方向に変化があった場合(S191:Yes)、S188に戻り、すべての登録された参加者用HMD2a~2eの処理を済ませている場合には(S191:No)、終了判定(S198)に進む。
【0111】
S192では、ARサーバ9は、送信提供対象が視聴者13aの情報端末3aまたは視聴者用HMD3bまたは3cが新規かを判定し(S192)、新規の場合(S192:Yes)は、ARオブジェクト4bの初期データを送信する(S193)。初期データとは、VR映像の場合と同じく、例えば上半天球面上で、体験者11のHMD1と対向する位置と方向を仮定して描画したデータである。
【0112】
新規でない場合(S192:No)やARO描画データ(初期)を送信した後(S193)では、ARサーバ9は、送信提供対象の視聴者用端末、例えばHMD3bの動き情報のデータを受信し(S194)、送信提供対象の視聴者用端末の位置と方向を算出する。そして、ARサーバ9は、ARオブジェクト4bを受信した動きデータに合わせて再描画し(S195)、再描画したARオブジェクトのデータを送信提供対象の視聴者用端末に送信する(S196)。
【0113】
ARサーバ9は、未処理の送信提供対象の視聴者用端末が残されているかを判定し、残っていれば場合(S197:Yes)、S192に戻り、全ての送信提供対象の視聴者用端末についての処理を済ませている場合には(S197:No)、終了判定(S198)に進む。
【0114】
ARサーバ9は、終了判定(S198)を行い、終了の指示があれば(S198:Yes)、ARサーバ9による一連の処理を終了する。終了の指示がなければ(S198:No)、S180へ戻り、処理を継続する。
【0115】
なお以上の説明では、現実物体4aとARオブジェクト4bの距離関係に基づき、現実物体4aの一部分がARオブジェクト4bの一部分の前にある関係にある時、現実物体4aの一部分にARオブジェクト4bの一部分が隠されて見えるように、ARオブジェクト4bの描画データを加工する処理を、各HMD1、2a~2e、3b、3c、及び情報端末3a側で行う場合について説明したが、ARサーバ9側で行わせるようにしてもよい。この場合各HMD1、2a~2e、3b、3c、及び情報端末3aには、位置、方向のデータに加え、VRサーバ8から得るVR映像データに含まれる現実物体4aのデータ、より詳しくは、各HMDを基準とする位置データと方向データ”を用いて多数の撮影データの合成映像から、現実物体4aがどのように見えるかという視点で作られた映像データをARサーバ9へ送信するステップが追加され、ARサーバ9には、各HMD1、2a~2e、3b、3c、及び情報端末3aからこれらデータを受信するステップが追加される。
【0116】
図17は、視聴者13a~13cがVR映像を視聴する視点の位置(視聴者用視点)を選択する方法の一例を示した図である。特に現実物体4aとARオブジェクト4bを観察する視点を定めることで現実物体4aとARオブジェクト4bを視聴者の好みの視点で観察できる。
【0117】
立体矢印301、302は、視点位置と視線方向を選択するためのポインタの一例である。立体矢印301、302を操作して、MR空間6内のどの位置の視点からのVR映像を見るかを選択する。この時、破線により、どの方向の視線を選択するかも指定することが可能である。また、MR空間6自体を回転させることにより、3次元的に立体矢印301、302の位置や方向を決めることができる。立体矢印301、302のように、自由な位置や方向を選択できるようなポインタにより、視点位置と視線方向を選択することが可能となる。立体矢印301、302のように、自由な位置や方向を選択する処理を2段階に分けて、まず、立体矢印301、302の位置を決めて、次に立体矢印301、302の視線方向を変えるには、例えば、点線の先端の矢印部を掴んで動かす動作で、方向を決めても良い。
【0118】
視聴者用HMD3b、3cまたは情報端末3aは、入力デバイス、例えば音声入力であればマイク27またスイッチ(
図5では不図示)でポインタが表示さ
れ、視線位置と視線方向を選択するためのモードになると、立体矢印が表示され、そのモードが終了すると、立体矢印は消去され、その代わり、選択された視線位置と視線方向からの映像に切り替わる。
【0119】
第1実施形態の仮想現実共有システム100によれば、リモートサイトにいる視聴者13a~13cは、体験者11及び参加者12a~12eのカメラ撮影映像から生成するVR映像を利用してMR体験を視聴することができる。そのため、VR映像は、様々な角度から見たカメラ撮影映像をもとに生成できるので、視聴者13a~13cは視線を連続的にかつおおよそ任意に選択することができる。
【0120】
また、体験者11用及び参加者12a~12e用の仮想現実共有端末(HMD1、2a~2e)は、VR映像の生成に寄与し、また視聴者13a~13c用の仮想現実共有端末(情報端末3a及びHMD3b、c)は、VR映像によるMR体験を共有できる。
【0121】
[第2実施形態]
図18は、第2実施形態の仮想現実共有システム100aの概略図である。
図1に示した第1実施形態に係る仮想現実共有システム100と異なる点は、固定カメラ14が配置されている。固定カメラ14の撮影映像は、ネットワーク信号10pによって、VRサーバ8に提供され、体験者11用、及び参加者12a~12e用の仮想現実共有端末が撮影したカメラ撮影映像と共に、VR映像を作成するための映像データとなる。
【0122】
固定カメラ14として、例えば360°カメラを用いて、上半天球映像を得ることにより、体験者11用、及び参加者12a~12e用の仮想現実共有端末でカバーできない領域の映像を提供できる。これにより、生成されるVR映像は切れ間がない上半天球映像として生成できるので、視聴者13a~13cの仮想現実共有端末からは、切れ目のないVR映像を背景映像として観測できるようになる。また、体験者11用、及び参加者12a~12e用の仮想現実共有端末が360°カメラより部分的に高精細な画像を撮影できる場合には、それらの画像を組み合わせることで、高画質なVR映像を提供することが可能となる。
【0123】
図19は、の仮想現実共有システム100bの変形例の概略図である。仮想現実共有システム100bが仮想現実共有システム100aと異なる点は、360°カメラからなる固定カメラ14aに替えて、画角に制限がある固定カメラ14bと14cが配置されていることにある。
【0124】
図19では、固定カメラ14b、14cのみが記されているが、好ましくはMR空間6の四隅に配置して、MR空間全体の撮影をカバーする。もしくは、撮影する対象物の全体を多方面から撮影できるように固定カメラを配置する。固定カメラ14b、14cの撮影映像は、それぞれネットワーク信号10q、10rによってVRサーバ8に提供され、体験者11用、及び参加者12a~12e用の仮想現実共有端末が撮影したカメラ撮影映像と共に、VR映像を作成するための映像データとなる。
【0125】
仮想現実共有システム100bによれば、仮想現実共有システム100aに比べ、比較的高画質なVR映像が得られる。
【0126】
また、仮想現実共有システム100aのでは、上半球面の内側に映像が貼り付けられたような映像が得られ、視聴者13a~13cは内側を視点とした映像を得ることができるのに対し、仮想現実共有システム100bでは、ARオブジェクト4bを中心としてその外側を視点とした映像を得ることが可能となる。
【0127】
以上説明したように、第2実施形態によれば、少ない設備追加で、第1実施形態と同様の効果を持つと共に、上半天球面全域に映像が貼り付けられ内側を視点としたVR映像や、対象物を中心とした外側からの視点のVR映像が得られ、視聴者13a~13c用の仮想現実共有端末からMR空間6全体の把握が容易になる。
【0128】
[第3実施形態]
図20は、第3実施形態の仮想現実共有システムの参加者用HMD2
fのブロック図である。第3実施形態では、
図1、
図18、
図19に記載の仮想現実共有システム100、100b、100cにおいて、第1、第2実施形態の参加者用HMD2a~2eに代えて参加者用HMD2fを用いる。
【0129】
参加者用HMD2fのスクリーン23は、シャッタ231、ハーフミラー232を含む点で第1、第2実施形態の参加者用HMD2a~2eと異なる。
【0130】
シャッタ231を開状態に制御した場合、参加者用HMD2fは、透過型のHMDとして機能する。すなわち、ハーフミラー232上に、現実空間の背景映像と、プロジェクタ22(左プロジェクタ22a及び右プロジェクタ22bの総称)から投射されるARオブジェクト4bとを見ることができる。
【0131】
一方、シャッタ231を閉に制御した場合には、プロジェクタ22からはARオブジェクト4bとVR映像とが重畳されて投射される。この場合は、参加者用HMD2fは没入型のHMDとして機能する。その結果、参加者12a~12eは視聴者13a~13cと同様に自由な視点位置と視線方向を選択したMRの視聴体験ができるようになる。
【0132】
図21は、MR参加プログラム263aのフローチャートである。
【0133】
HMD2fは、起動後、MR体験共有のためにユーザ管理処理にログインする(S211)。ユーザ管理処理にログインすると、VRサーバ8やARサーバ9に参加者として登録される。
【0134】
HMD2fは、カメラ撮影を開始する(S212)。以降のステップは、カメラ撮影周期に同期して行ってもよい。
【0135】
HMD2fは、MR空間内のHMD位置を検出し(S213)、HMD2fのカメラ撮影方向を検出し(S214)、カメラ撮影映像のメタデータとして関連付ける。
【0136】
S218では、HMD2fは、ARサーバ9にHMD2fの位置と方向のデータを送信する。HMD2fは、体験者11が生成したARオブジェクト4bの描画データを受信し(S219)。
【0137】
一方、HMD2fは、シャッタ231が閉じていれば(S215:Yes)、HMD2fを没入型HMDとして使用することと同義であるため、VRサーバ8にHMD2fの動き情報を送信し(S216)、VRサーバから動き情報に合ったVR映像データを受信すし(S217)、ステップS222へ進む。
【0138】
HMD2fは、シャッタ231が開いていたら(S215:No)、HMD2fを透過型HMDとして使用することと同義であるので、VR映像データは不要である。よって、ステップS222へと進む。
【0139】
S222では、S217で受信したVR映像にARオブジェクト4bを重畳表示する、または、透過型HMDとして使用する際にはスクリーン23に投射するのはARオブジェクト4bのみであり、シャッタ231、ハーフミラー232を透過して見る背景映像と重ね合わせられる。その後ステップS223へ進む。
【0140】
ここで、HMD2fがアクセスポイント5a~5cとの距離を用いてMR空間6の内外のどちらにいるかを判断する。HMD2fがMR空間6内に居る時には、没入型か透過型かのどちらかを選択することが可能であり、入力デバイスからユーザが選択操作を行う。また、HMD2fがMR空間6の外にいると判断した場合には、自動的に没入型に切り替わる(シャッタ231を閉じる)。
【0141】
S220では、HMD2fの位置と方向のデータ(S220)及びカメラ撮影映像データ(S221)をVRサーバ8に送信する。その後ステップS223へ進む。
【0142】
HMD2fはカメラ撮影周期を判定し(S223)、到来を待って(S223:Yes)、MR参加プログラムの終了を確認し、終了しない場合は(S224:No)、次のカメラ周期でS213からのステップを継続する。終了する場合(S224:Yes)は、MR参加プログラムの処理を終了する。
【0143】
以上説明したように、第3実施形態によれば、第1実施形態、第2実施形態と同様の効果を持つと共に、参加者2a~2eが、視聴者13a~13cと同じ形で、MR空間6のAR視聴とVR視聴を切り替えて行える。
【0144】
[第4実施形態]
図22は、第4実施形態の仮想現実共有システム100cの概略図である。
【0145】
図22の仮想現実共有システム100cでは、体験者11a~11f、参加者12f~12iがMR空間6に存在する。
【0146】
体験者11a~11fと参加者12f~12iは、頭部にHMDを装着しており、HMDからネットワーク信号が送受されているが、図面の煩雑さを避けるために、図示を省略している。
【0147】
仮想現実共有システム100cでは、体験者11a~11fは複数人おり、左サイドの体験者11a~11cと右サイドの体験者11d~11fに分かれている。体験者11a~11fのそれぞれは、それぞれ操作コントローラ15a~15fを保持しており、各操作コントローラ15a~15fを用いて、ARオブジェクト4c~4eを生成し、操作する。操作コントローラ15a~15fのそれぞれには、その動きを検知するためのセンサが内蔵されており、その動きに応じて、ARオブジェクト4c~4e生成し、動かす。
【0148】
仮想現実共有システム100cでは、操作コントローラ15a~15fで生成されるARオブジェクト4c~4eは、逆サイドにいる体験者11a~11cまたは11d~11fを攻撃するための仮想の攻撃物体であり、攻撃物体を逆サイドの体験者11a~11cまたは11d~11fに命中させることにより、命中させられた体験者11a~11fを退場させ、一定時間内に退場させた体験者数を競うMR空間6を利用したeスポーツである。
【0149】
参加者12f~12iが第3実施形態の参加者用HMD2fを用い、装着するHMDを透過型として用いる場合には、両サイドの体験者11a~11fをMR空間6で捉えながら、ARオブジェクト4c~4eを重ねて見ることができ、装着するHMDを没入型として用いる場合には、自身があたかも体験者11a~11fであるがごとく、VR映像とARオブジェクトを重ねて見ることができる。また、これまでの実施例と同様に、視聴者13a、13b、13cは、視点位置と視線方向を自由に選択して、MR空間6内を見ることができる。
【0150】
図23は、AR作画プログラム95のフローチャートである。
【0151】
ARサーバ9は、S231~S236の体験者用HMD1に提供するプロセスと、
図16で示したS188~S191の参加者用HMD2a~2fに提供するプロセスと、同S192~S197の視聴者用HMD3b、3c、及び情報端末3aに提供するプロセスとを実行する。
【0152】
ARサーバ9は、体験者用HMD1が把持する操作コントローラ15a~15fのいずれか(送信要求端末)からの要求の有無、及び種類を判別する。要求がない場合(S231:No)には要求を待つ。
【0153】
設定の要求がされた場合(S231:設定)、送信要求端末からARオブジェクト4c~4eの少なくとも一つの設定データを受信し(S232)、体験者用HMD1を装着した者が把持する1台の操作コントローラ15a~15fで生成するARオブジェクト4c~4eの一つとパラメータを設定する。“ARオブジェクトの設定”モードで操作コントローラ15a~15fを所定のパターンで動かすと、ARオブジェクト4c~4eが自動的に生成される。
【0154】
操作の要求がされた場合(S231:操作)、操作コントローラ15a~15fの動きデータを受信し(S233)、その動きデータに合わせてARオブジェクト4c~4eの一つを描画し(S234)、描画したARオブジェクト4c~4eの一つのデータを送信する(S235)。
【0155】
ARサーバ9は、次の要求があるかを判定して、継続する(S236:Yes)か、終了判定S198に進む(S236:No)かを判断する。S234とS235の破線で示されたループは、ARオブジェクト4c~4eの描画、送信の繰り返しである。操作コントローラを操作し発生させたARオブジェクト4c~4eは、自走するためのパラメータを持つ。攻撃物体として発生させられたARオブジェクト4c~4eは、一度発生すると、決められたスピードパターンで、相手側の体験者に向けて自走する。ARオブジェクト4c~4eが体験者に当るか、所定の範囲かMR空間6の外に出るかした時、自動的に消滅する。
【0156】
S198では終了判定を行うが、終了の指示があれば終了し(S199:Yes)、指示がなければ(S199:No)、S231、S188、S192へ戻り、処理を継続する。
【0157】
以上説明したように、第4実施形態によれば、第1実施形態~第3の実施形態と同様の効果を持つと共に、複数の体験者のいる仮想現実共有システムも共有可能となる。
【0158】
以上、
図1から
図23で説明した上記実施形態が、これらに限られるものではない。例えば、上記では、MR空間6内に存在する複数の仮想現実共有端末のカメラ撮影映像を張り合わせてVR映像を作成したが、1台の仮想現実共有端末が異なる時間に異なる位置や視点から撮影したカメラ撮影映像を貼り合わせてVR映像を作成してもよい。
【0159】
また、MR空間6内に存在する複数の仮想現実共有端末の全てが体験者用HMDであってもよい。
【0160】
更に、一端VR映像を作成してVRサーバ8に格納しておくと、視聴者13a~13cは、体験者11や参加者12a~12eとリアルタイムに仮想現実を共有するだけでなく、後から作成されたVR映像を読みだして仮想現実を共有することができる。
【0161】
また本発明は、ある実施形態の構成の一部を他の実施形態に置き換えることが可能である。また、ある実施形態の構成に、他の実施形態の構成を加えることも可能である。これらは全て本発明の範疇に属するものであり、更に文中や図中に現れる数値やメッセージ等もあくまで一例であり、異なるものを用いても本発明の効果を損なうものでない。
【0162】
また、発明の機能等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実装しても良い。また、マイクロプロセッサユニット、CPU等が動作プログラムを解釈して実行することによりソフトウェアで実装しても良い。また、ソフトウェアの実装範囲を限定するものでなく、ハードウェアとソフトウェアを併用しても良い。
【符号の説明】
【0163】
1 :体験者用HMD
2a~2f:参加者用HMD
3a :視聴者用情報端末
3b、3c:視聴者用HMD
4a :現実物体
4b~4d:ARオブジェクト
5a~5e:アクセスポイント
6 :MR空間
7 :ネットワーク
8 :VRサーバ
9 :ARサーバ
10a~10r :ネットワーク信号
11、11a~11f:体験者
12a~12i :参加者
13a~13c :視聴者
14、14a~14c:固定カメラ
15a~15f :操作コントローラ
21 :カメラ
22 :プロジェクタ
22a :左プロジェクタ
22b :右プロジェクタ
23 :スクリーン
24 :ノーズパッド
25 :プロセッサ
26 :スピーカ
27 :マイク
28 :フレーム筐体
28c :ブリッジ
29 :測距カメラ
30 :ディスプレイ
82 :CPU
83 :RAM
84 :ストレージ
85 :VR作成プログラム
86 :VRデータ
87 :内部バス
91 :ネットワークIF
92 :CPU
93 :RAM
94 :ストレージ
95 :AR作画プログラム
96 :ARデータ
97 :内部バス
100、100a~100c:仮想現実共有システム
231 :シャッタ
232 :ハーフミラー
250 :方位センサ
251 :ジャイロセンサ
252 :加速度センサ
253 :無線通信器
254 :CPU
255 :RAM
256 :映像RAM
258、265 :基本プログラム
259 :MR体験プログラム
260 :特徴抽出プロセッサ
261 :距離算出プロセッサ
262 :内部バス
263、263a :MR参加プログラム
266 :MR視聴アプリ
301、302 :立体矢印
P1 :領域
P2 :映像