(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-28
(45)【発行日】2024-11-06
(54)【発明の名称】仮想現実制御システム
(51)【国際特許分類】
G06F 3/01 20060101AFI20241029BHJP
G06F 3/16 20060101ALI20241029BHJP
A63F 13/213 20140101ALI20241029BHJP
A63F 13/5375 20140101ALI20241029BHJP
【FI】
G06F3/01 510
G06F3/16 680
A63F13/213
A63F13/5375
【外国語出願】
(21)【出願番号】P 2023029925
(22)【出願日】2023-02-28
【審査請求日】2023-03-01
(31)【優先権主張番号】10-2023-0000972
(32)【優先日】2023-01-04
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】519110397
【氏名又は名称】スコネック エンターテインメント カンパニー リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】チョイ、ジェオン フォアン
(72)【発明者】
【氏名】ヤク、ジョン ヒュン
(72)【発明者】
【氏名】クォン、チュル
(72)【発明者】
【氏名】リー、ヨン ムーン
(72)【発明者】
【氏名】バク、スン ベム
【審査官】相川 俊
(56)【参考文献】
【文献】特開2018-081644(JP,A)
【文献】中国特許出願公開第110503001(CN,A)
【文献】米国特許出願公開第2019/0227312(US,A1)
【文献】特開2021-068209(JP,A)
【文献】米国特許出願公開第2020/0338453(US,A1)
【文献】米国特許出願公開第2018/0373412(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/16
A63F 13/213
A63F 13/5375
(57)【特許請求の範囲】
【請求項1】
ターゲットオブジェクトに光を放射すること及び光を受信することによって光学信号を検出するように構成されているセンサ;
プレイ空間を使用する第1のユーザにイメージを出力するように構成されている第1のディスプレイ;
前記プレイ空間を使用する第2のユーザにイメージを出力するように構成されている第2のディスプレイ;及び
前記第1のディスプレイ及び前記第2のディスプレイのうちの少なくとも1つを制御するように構成されている少なくとも1つ又は複数のコントローラ
を備え、
前記コントローラは、
前記第1のユーザ及び前記第2のユーザ間の衝突を防止すべく、前記第1のユーザに第1の安全領域を割り当てるとともに前記第2のユーザに第2の安全領域を割り当て;及び
前記第2のユーザが前記第2の安全領域を退去した場合に衝突防止ガイドを出力する
ように構成され
ており、
前記衝突防止ガイドは、前記第1のディスプレイ及び前記第2のディスプレイ上において異なる形式で表示され、
前記第1のディスプレイは、前記第2のユーザが前記第2の安全領域を退去した場合、前記第2のユーザに対応する第2のキャラクタと、前記第2のユーザの第2の位置データに基づいた前記衝突防止ガイドとしての第2のゴーストイメージとを出力し、
前記第2のディスプレイは、前記第2のユーザが前記第2の安全領域を退去した場合、すべての他のユーザのキャラクタと、すべての他のユーザのゴーストイメージと、前記第2の安全領域を表示する前記衝突防止ガイドとしての安全領域ガイドとを出力し、
すべての他のユーザのそれぞれのゴーストイメージは、それぞれ各ユーザの位置データに対応する、仮想現実制御システム。
【請求項2】
前記衝突防止ガイドは、前記第1のディスプレイ及び前記第2のディスプレイ上に表示される、請求項1に記載の仮想現実制御システム。
【請求項3】
前記第2のディスプレイ上に出力される前記衝突防止ガイドは、退去警告メッセージを含む、請求
項1に記載の仮想現実制御システム。
【請求項4】
前記退去警告メッセージは、前
記第1のユーザの第1の位置データ及
び前記第2の位置データ間の距離に応じて異なるように出力される、請求
項3に記載の仮想現実制御システム。
【請求項5】
前記コントローラは、前記第2のユーザが前記第2の安全領域を退去した場合に音声メッセージを出力するように構成されている、請求項
1に記載の仮想現実制御システム。
【請求項6】
前記コントローラは、前記第2のユーザ及び前記第2の安全領域間の距離が臨界距離よりも長いか又はそれに等しい場合、前記第2のディスプレイに設置されたカメラによって捕捉されたイメージを前記第2のディスプレイ上に出力するように構成されている、請求項
1に記載の仮想現実制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、仮想現実制御システムに関する。
【背景技術】
【0002】
仮想現実は、ユーザに現実に追加される仮想情報又はプログラムによって生成された仮想現実イメージとしての現実世界におけるターゲットオブジェクトの状態を提供する技術であり得る。
【0003】
仮想現実を提供するためのそのような技術は、ユーザ又はオブジェクト等のターゲットオブジェクトの状態に関する現実世界において提供される情報に基づき、プログラムを用いて、仮想空間、仮想キャラクタ、及び仮想オブジェクトを生成する技術を含み得る。この技術において、ターゲットオブジェクトの状態に関する情報は、様々なセンサを使用して取得され得る。
【0004】
仮想現実は、参加者の位置を追跡するとともに、ターゲットの現実の移動を仮想空間における参加者のキャラクタと合致させながら移動するウォークスルー方法、及び、参加者の移動を伴わずに別個のコントローラを使用することによってキャラクタを移動させるロコモーション方法を含み得る。
【0005】
1つのプレイ空間においてロコモーション方法を進行させることにおいて、キャラクタが別個のコントローラを通じて移動し得、それに応じて、ユーザの現実の位置が反映されず、ユーザ間の衝突が発生するという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
実施形態は、体験空間においてロコモーションモードをより安全に実装する仮想現実制御システムを提供する。
【課題を解決するための手段】
【0007】
仮想現実制御システムは、ターゲットオブジェクトに光を放射すること及び光を受信することによって光学信号を検出するように構成されているセンサ;プレイ空間を使用する第1のユーザにイメージを出力するように構成されている第1のディスプレイ;前記プレイ空間を使用する第2のユーザにイメージを出力するように構成されている第2のディスプレイ;及び前記第1のディスプレイ及び前記第2のディスプレイのうちの少なくとも1つを制御するように構成されている少なくとも1つ又は複数のコントローラを備え、前記コントローラは、前記第1のユーザ及び前記第2のユーザ間の衝突を防止すべく、前記第1のユーザに第1の安全領域を割り当てるとともに前記第2のユーザに第2の安全領域を割り当て;及び前記第2のユーザが前記第2の安全領域を退去した場合に衝突防止ガイドを出力するように構成されている。
【発明の効果】
【0008】
実施形態による仮想現実制御システムは、ロコモーションモードでユーザが安全領域を退去した場合に衝突防止ガイドを出力することによってユーザ間の衝突を防止し得、それにより、コンテンツがより安全に提供され得る。
【図面の簡単な説明】
【0009】
【
図1】第1の実施形態による仮想現実制御システムを示す図である。
【0010】
【
図2】第1の実施形態による検出デバイスを示すブロック図である。
【0011】
【
図3】第1の実施形態によるサーバを示すブロック図である。
【0012】
【
図4】第1の実施形態による補助コンピューティングデバイスを示すブロック図である。
【0013】
【
図5】第1の実施形態によるウェアラブルディスプレイデバイスを示す図である。
【0014】
【
図6】第1の実施形態による仮想現実制御システムの実施例を示す図である。
【0015】
【
図7】第1の実施形態によるターゲットオブジェクトを追跡する方法を示す概略図である。
【0016】
【
図8】第1の実施形態によるウェアラブルディスプレイデバイスを通して仮想環境イメージを出力する一例を示す図である。
【0017】
【
図9】第1の実施形態による仮想現実システムの制御方法を示す図である。
【0018】
【
図10】第1の実施形態によるロコモーション変換ガイドを示す図である。
【0019】
【
図11】第1の実施形態による変換マップを示す図である。
【0020】
【
図12】第1の実施形態による待機領域を示す図である。
【0021】
【
図13】第1の実施形態によるモード変換完了状態を示す図である。
【0022】
【
図14】第1の実施形態による仮想現実システムの制御方法を示す図である。
【0023】
【
図15】第1の実施形態によるウォークスルーターゲット領域を示す図である。
【0024】
【
図16】第1の実施形態による、全てのユーザがウォークスルーターゲット領域に移動した状態を示す図である。
【0025】
【
図17】ロコモーション変換マップを示す図である。
【0026】
【
図18】第1の実施形態によるロコモーション変換完了状態を示す図である。
【0027】
【
図19】第2の実施形態による、ユーザが退去した場合に備える仮想現実制御システムの制御方法を示す図である。
【0028】
【
図20】第2の実施形態によるロコモーションマップを示す図である。
【0029】
【
図21】第2の実施形態による、退去したユーザを示す図である。
【0030】
【
図22】第2の実施形態によるユーザのディスプレイ上に出力された衝突防止ガイドを示す図である。
【0031】
【
図23】第2の実施形態による、退去したユーザのディスプレイ上に出力された衝突防止ガイドを示す図である。
【発明を実施するための形態】
【0032】
添付図面を参照しながら、本発明の上記の目的、特性、及び利点をここでより完全に説明する。しかしながら、本発明は、多くの異なる形式で具現化されてよく、以下の説明においては、本発明の特定の実施形態が添付図面に示されかつ詳細に説明される。
【0033】
図面において、層及び領域の厚さは、明確さのために誇張されている。また、層が別の層又は基板「上」にあるものとして言及される場合、それは別の層又は基板上に直接存在することができ、又は介在層が存在してもよいことが理解される。さらに、本開示の範囲内で図面全体を通して同様の機能を有する同様の構成要素を指すのに同様の参照符号が使用されている。
【0034】
本発明の主旨を不必要に不明瞭にすると判断された関連する既知の機能の詳細な説明は、省略される。「第1」、「第2」等のような序数を含む用語は、様々な構成要素を説明するのに使用され得るが、そのような構成要素は、これらの用語によって限定されない。第1及び第2という用語は、いかなる重要度の順序を付与するためにも使用されるべきでなく、1つの要素を別の要素から区別するために使用される。
【0035】
さらに、以下の説明において、要素に言及するのに使用される「モジュール」及び「ユニット」等の用語の使用は、単に本発明の説明を容易にするために与えられており、それ自体いかなる重要な意味も有しない。
【0036】
現実世界とは異なり、仮想現実は、プログラムによって生成される人工環境であり得る。
【0037】
そのような仮想現実は、一般に、プログラムを用いて現実から分離された仮想空間を生成するとともに仮想空間のイメージを提供する仮想現実(VR)、現実世界に仮想イメージを重ねることによって単一のイメージを提供する拡張現実(AR)、及び、現実世界及び仮想現実を混合させることによって仮想空間を提供するとともに仮想空間のイメージを提供する複合現実(MR)に分類され得る。
【0038】
以下の仮想現実の説明において、仮想現実は、様々なタイプの仮想空間を提供する仮想環境、並びに上述したVR、AR、及びMRを指し得る。
【0039】
仮想現実制御システムは、ターゲットオブジェクトに光を放射すること及び光を受信することによって光学信号を検出するように構成されているセンサ;プレイ空間を使用する第1のユーザにイメージを出力するように構成されている第1のディスプレイ;前記プレイ空間を使用する第2のユーザにイメージを出力するように構成されている第2のディスプレイ;及び前記第1のディスプレイ及び前記第2のディスプレイのうちの少なくとも1つを制御するように構成されている少なくとも1つ又は複数のコントローラを備え、前記コントローラは、前記第1のユーザ及び前記第2のユーザ間の衝突を防止すべく、前記第1のユーザに第1の安全領域を割り当てるとともに前記第2のユーザに第2の安全領域を割り当て;及び前記第2のユーザが前記第2の安全領域を退去した場合に衝突防止ガイドを出力するように構成されている。
前記衝突防止ガイドは、前記第1のディスプレイ及び前記第2のディスプレイ上に表示される。
前記衝突防止ガイドは、前記第1のディスプレイ及び前記第2のディスプレイ上において異なる形式で表示される。
前記コントローラは、前記第2のユーザが前記第2の安全領域を退去した場合であっても、前記第2のディスプレイ上に前記第1のユーザに対応する第1のキャラクタを出力するように制御するように構成されている。
前記第2のディスプレイ上に出力される前記衝突防止ガイドは、前記第2の安全領域を表示する安全領域ガイドを含む。
前記第2のディスプレイ上に出力される前記衝突防止ガイドは、前記第1のユーザの第1の位置データに基づく第1のゴーストイメージを含む。
前記第2のディスプレイ上に出力される前記衝突防止ガイドは、退去警告メッセージを含む。
前記退去警告メッセージは、前記第1の位置データ及び第2の位置データ間の距離に応じて異なるように出力される。
前記コントローラは、前記第2のユーザが前記第2の安全領域を退去した場合に音声メッセージを出力するように構成されている。
前記第2のディスプレイ上に出力される前記衝突防止ガイドは、前記プレイ空間に位置する全てのユーザの位置データに対応するゴーストイメージを含む。
前記コントローラは、前記第2のユーザ及び前記第2の安全領域間の距離が臨界距離よりも長いか又はそれに等しい場合、前記第2のディスプレイに設置されたカメラによって捕捉されたイメージを前記第2のディスプレイ上に出力するように構成されている。
前記第1のディスプレイ上に出力される前記衝突防止ガイドは、前記第2のユーザの第2の位置データに基づく第2のゴーストイメージを含む。
【0040】
以下、
図1を参照しながら、1つの実施形態による仮想現実を提供するための仮想現実制御システム10を説明する。
【0041】
図1は、1つの実施形態による仮想現実制御システム10の環境を示す図である。
【0042】
図1を参照すると、仮想現実制御システムは、検出デバイス100、サーバ200、補助コンピューティングデバイス300、ウェアラブルディスプレイデバイス400、及び入力デバイス500を備えてよい。
【0043】
1つの実施形態によれば、検出デバイス100は、サーバ200に接続されてよい。
【0044】
検出デバイス100は、ターゲットオブジェクトを追跡することによって検出データを取得してよい。
【0045】
1つの実施形態によるターゲットオブジェクトは、ウェアラブルディスプレイデバイス400を通して出力されるイメージに影響を与えるオブジェクトであってよい。
【0046】
例えば、ターゲットオブジェクトは、ウェアラブルディスプレイデバイス400、ユーザ、入力デバイス500、ユーザの近くに配置されたオブジェクト、及び基準点又は特徴点を有するオブジェクトのうちの少なくとも1つを含んでよい。
【0047】
さらに、1つの実施形態によるターゲットオブジェクトの追跡は、現実環境におけるターゲットオブジェクトの位置についてのデータを取得することを意味してよい。
【0048】
例えば、ターゲットオブジェクトを追跡することによって、現実環境におけるターゲットオブジェクトの移動に応じて変化する位置についてのデータが取得されてよい。ターゲットオブジェクトの位置データは、所定の間隔を置いて取得されてよいが、これに限定されるものではない。
【0049】
1つの実施形態によれば、検出デバイス100は、検出データをサーバ200に提供してよい。
【0050】
1つの実施形態によれば、サーバ200は、検出デバイス100及び補助コンピューティングデバイス300に接続されてよい。
【0051】
サーバ200は、これに接続されているデバイスからデータを取得してよい。
【0052】
1つの実施形態によれば、サーバ200は、検出デバイス100から、検出データ、検出デバイス100によって取得されたイメージデータ、及び検出デバイス100の状態データのうちの少なくとも1つを取得してよい。
【0053】
さらに、下で説明されるいくつかの実施形態によれば、サーバ200は、様々なデータを取得してよい。
【0054】
1つの実施形態によれば、サーバ200は、これに接続されているデバイスを制御してよい。
【0055】
1つの実施形態によれば、サーバ200は、補助コンピューティングデバイス300又はウェアラブルディスプレイデバイス400を制御してよい。
【0056】
1つの例において、サーバ200は、補助コンピューティングデバイス300にインストールされたプログラム又はアプリケーションの駆動を制御してよい。より具体的には、サーバ200は、補助コンピューティングデバイス300にインストールされたプログラム又はアプリケーションの開始及び/又は終了を制御してよい。
【0057】
別の例において、サーバ200は、検出デバイス100の動作に必要な様々な設定を提供してよい。
【0058】
さらに、サーバ200は、検出データに基づいて、ターゲットオブジェクトの位置データを生成するか、又は、仮想環境におけるターゲットオブジェクトの位置に対応する仮想位置データを生成してよい。
【0059】
また、サーバ200は、補助コンピューティングデバイス300において実行されるプログラム又はアプリケーションの認証を実行してよい。
【0060】
1つの実施形態によるサーバ200の機能は、上述した機能に限定されるものではなく、いくつかの実施形態によれば、様々な機能を実行するサーバ200が設けられてよい。
【0061】
さらに、1つの実施形態によるサーバ200は、必ずしも単一の物理デバイスとして設けられるものではなく、上述した機能から細分化された個々の機能を実行する複数のデバイスとして設けられてよい。
【0062】
例えば、サーバ200は、検出デバイス100に接続された、検出データに基づいて位置データを取得するように構成されている検出サーバ、システムに設けられたデバイスのうちのいくつかを制御するように構成されているオペレーションサーバ、及び、仮想現実制御システム10のデバイスの中の少なくとも1つのデバイスにおいて実行されるプログラム又はアプリケーションの認証を実行するように構成されているライセンスサーバに分割されてよく、関連機能は、それぞれのサーバによって実行されてよい。
【0063】
一方で、サーバ200には、補助コンピューティングデバイス300によって入力デバイス500から取得された入力信号又は入力信号に基づく入力データが提供されてよい。
【0064】
入力データは、オブジェクト又は同様のものに関するユーザの選択データ、入力デバイス500を介したモーション入力に関連するデータ、及び入力デバイス500の照準方向に関連する照準データを含んでよい。
【0065】
補助コンピューティングデバイス300は、検出デバイス100、サーバ200、ウェアラブルディスプレイデバイス400、及び入力デバイス500のうちの少なくとも1つに接続されてよい。
【0066】
補助コンピューティングデバイス300は、サーバ200から取得された位置データに基づいて仮想位置データを計算してよい。
【0067】
代替的に、補助コンピューティングデバイス300は、検出デバイス100から取得された検出データを処理することによってターゲットオブジェクトの位置データを計算するか又は仮想位置データを計算してよい。
【0068】
補助コンピューティングデバイス300は、予め記憶されたプログラム又はアプリケーションを通してウェアラブルディスプレイデバイス400を介してユーザにイメージを提供してよい。
【0069】
さらに、補助コンピューティングデバイス300は、ウェアラブルディスプレイデバイス400を介して提供されることになるサウンドデータを提供してよい。
【0070】
1つの実施形態によれば、補助コンピューティングデバイス300は、予めインストールされたプログラム又はアプリケーションを通して位置データに基づいてユーザに提供されることになるイメージを取得してよい。
【0071】
さらに、補助コンピューティングデバイス300は、入力デバイス500から取得された入力信号に基づいて入力データを取得してよい。
【0072】
さらに、補助コンピューティングデバイス300は、取得された入力データを考慮することによってユーザに提供されることになるイメージを取得してよい。
【0073】
ウェアラブルディスプレイデバイス400は、補助コンピューティングデバイス300に接続されてよい。
【0074】
ウェアラブルディスプレイデバイス400は、仮想環境のイメージをユーザに提供してよい。
【0075】
ウェアラブルディスプレイデバイス400は、補助コンピューティングデバイス300から取得された仮想環境イメージをユーザに視覚的に出力してよい。
【0076】
さらに、ウェアラブルディスプレイデバイス400は、補助コンピューティングデバイス300から取得されたサウンドデータを出力してよい。
【0077】
入力デバイス500は、仮想環境において反映されることになるユーザの入力に関連する信号を取得してよい。
【0078】
入力デバイス500は、補助コンピューティングデバイス300に接続されてよい。
【0079】
入力デバイス500は、ユーザの入力に対応する入力信号を補助コンピューティングデバイス300に提供してよい。
【0080】
入力デバイス500は、ユーザの移動に対応する信号を取得するための、加速度センサ、ジャイロスコープ、ジャイロセンサ、微小電気機械システム(MEMS)、地磁気センサ、慣性計測センサ(IMIU)、光学センサ、照度センサ、フォトセンサ、赤外線センサ、色センサ、深度センサ、電磁波センサ、及び同様のものを含んでよい。
【0081】
さらに、入力デバイス500は、ユーザの選択に関連する信号を取得するための、ボタン、スイッチ、ジョグシャトル、ホイール、及び同様のものを含んでよい。
【0082】
さらに、入力デバイス500は、有線通信及び無線通信のうちの少なくとも1つを通して補助コンピューティングデバイス300に接続されてよい。
【0083】
また、入力デバイス500は、補助コンピューティングデバイス300と通信するための通信モジュールを含んでよい。
【0084】
図1は、入力デバイス500が補助コンピューティングデバイス300に接続されていることを示しているが、実施形態はこれに限定されるものではなく、入力デバイス500は、選択に応じて様々な接続形式で提供されてよい。
【0085】
例えば、入力デバイス500は、サーバ200及びウェアラブルディスプレイデバイス400に接続されて、入力信号をそれらに提供してよい。
【0086】
上述した仮想現実制御システム10は、説明の便宜上の一例に過ぎない。1つの実施形態による仮想現実制御システム10は、
図1に示す構成及び接続関係に限定されるものではなく、選択に応じて様々な形式で提供されてよい。
【0087】
1つの例において、補助コンピューティングデバイス300及びウェアラブルディスプレイデバイス400は、1つのデバイスとして設けられてよく、この場合、補助コンピューティングデバイス300において実行される動作は、ウェアラブルディスプレイデバイス400において実施されてよい。
【0088】
しかしながら、様々な実施形態の以下の説明において、上述した仮想現実制御システム10は、説明の便宜上の一例として説明される。
【0089】
以下、
図2を参照しながら、1つの実施形態による検出デバイス100が説明される。
【0090】
図2は、1つの実施形態による検出デバイスを示すブロック図である。
【0091】
図2を参照すると、検出デバイス100は、発光素子110及びセンサ120を備えてよい。
【0092】
発光素子110は、追跡のために、ターゲットオブジェクトに又はターゲットオブジェクトの近傍に信号を投影してよい。
【0093】
1つの例において、発光素子110は、可視光、赤外光、又は同様のもの等の光学信号を投影する発光デバイスとして設けられてよい。
【0094】
より具体的には、発光素子は、可視光発光ダイオード(LED)、赤外線LED、又は同様のものとして設けられてよい。
【0095】
センサ120は、外部ソースから信号を取得してよい。
【0096】
1つの例において、センサ120は、発光素子110から投影された信号に対応する信号を取得してよい。
【0097】
別の例において、センサ120は、ターゲットオブジェクト上に設けられたマーカによって反射される光に関連する信号を取得してよい。
【0098】
例えば、センサ120は、イメージセンサ、光学センサ、照度センサ、フォトセンサ、赤外線センサ、色センサ、深度センサ、電磁波センサ、又は同様のものとして設けられてよい。
【0099】
図3は、1つの実施形態によるサーバ200を示すブロック図である。
【0100】
図3を参照すると、サーバ200は、サーバコミュニケータ210、サーバストレージ220、サーバインプッタ230、サーバコントローラ240、及びサーバディスプレイ250を含んでよい。
【0101】
サーバコミュニケータ210は、検出デバイス100、補助コンピューティングデバイス300、ウェアラブルディスプレイデバイス400、及び入力デバイス500のうちの少なくとも1つに、データをそこから取得するか又はそこに提供するために接続されてよい。
【0102】
サーバコミュニケータ210は、有線通信及び無線通信のうちの少なくとも1つを通して、検出デバイス100、補助コンピューティングデバイス300、ウェアラブルディスプレイデバイス400、及び入力デバイス500のうちの少なくとも1つに接続されてよい。
【0103】
例えば、無線通信は、Wi-Fi(登録商標)ネットワーク、第3世代(3G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、5Gネットワーク、及びLong Range(LoRA)、車両環境における無線アクセス(WAVE)、ビーコン、ZigBee(登録商標)、Bluetooth(登録商標)、Bluetooth low energy、又は同様のもの等の移動通信ネットワークを含んでよい。
【0104】
さらに、有線通信は、ツイストペアケーブル、同軸ケーブル、光ファイバケーブル、又は同様のものを含んでよい。
【0105】
サーバコミュニケータ210は、有線通信及び無線通信のうちの少なくとも1つを提供するための通信モジュールとして設けられてよい。
【0106】
サーバストレージ220は、そこにデータを格納してよい。
【0107】
サーバストレージ220は、外部ソースから取得されたデータを格納してよい。
【0108】
さらに、サーバストレージ220は、サーバ200の動作に必要なデータを格納してよい。
【0109】
例えば、サーバストレージ220は、ハードディスク、フロッピディスク、磁気テープ等の磁気媒体、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク、又は同様のもの等の光学媒体、フロプティカルディスク等の光磁気媒体、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリ、ソリッドステートドライブ(SSD)、CD-ROM、DVD-ROM、ユニバーサルシリアルバス(USB)、又は同様のものとして提供されてよい。
【0110】
サーバインプッタ230は、ユーザの入力に対応する信号を取得してよい。
【0111】
ユーザの入力は、例えば、ボタンの押圧、クリック、タッチ、又はドラッグであってよい。
【0112】
サーバインプッタ230は、例えば、キーボード、キーパッド、ジョグシャトル、又はホイールとして実装されてよい。
【0113】
サーバコントローラ240は、サーバ200の動作全体を制御してよい。
【0114】
例えば、サーバコントローラ240は、サーバ200に含まれているデバイスの動作を制御してよい。
【0115】
サーバディスプレイ250は、視覚データを出力してよい。
【0116】
サーバディスプレイ250は、モニタ、TV、ディスプレイパネル、又は同様のものとして設けられてよく、これが視覚データを出力する。
【0117】
さらに、サーバディスプレイ250がタッチスクリーンとして設けられる場合、サーバディスプレイ250は、サーバインプッタ230の機能を実行してよい。
【0118】
図4は、1つの実施形態による補助コンピューティングデバイス300を示すブロック図である。
【0119】
図4を参照すると、補助コンピューティングデバイス300は、補助コンピューティングコミュニケータ310、補助コンピューティングストレージ320、補助コンピューティングインプッタ330、及び補助コンピューティングコントローラ340を含んでよい。
【0120】
補助コンピューティングコミュニケータ310は、サーバ200、ウェアラブルディスプレイデバイス400、及び入力デバイス500のうちの少なくとも1つに接続されてよい。
【0121】
補助コンピューティングコミュニケータ310は、有線通信及び無線通信のうちの少なくとも1つを通して、サーバ200、ウェアラブルディスプレイデバイス400、及び入力デバイス500のうちの少なくとも1つに接続されてよい。
【0122】
補助コンピューティングコミュニケータ310は、接続されたサーバ200、接続されたウェアラブルディスプレイデバイス、及び接続された入力デバイス500のうちの少なくとも1つとデータをやり取りしてよい。
【0123】
例えば、無線通信は、Wi-Fiネットワーク、3Gネットワーク、LTEネットワーク、5Gネットワーク、及びLoRA、WAVE、ビーコン、ZigBee、Bluetooth、Bluetooth low energy、及び同様のもの等の移動通信ネットワークを含んでよい。
【0124】
さらに、有線通信は、ツイストペアケーブル、同軸ケーブル、光ファイバケーブル、又は同様のものを含んでよい。
【0125】
補助コンピューティングコミュニケータ310は、有線通信及び無線通信のうちの少なくとも1つを提供するための通信モジュールとして設けられてよい。
【0126】
補助コンピューティングストレージ320は、外部ソースから取得されたデータを格納してよい。
【0127】
さらに、補助コンピューティングストレージ320は、補助コンピューティングデバイス300の動作に必要なデータを格納してよい。
【0128】
また、補助コンピューティングストレージ320は、ユーザに仮想体験を提供するために、そこにアプリケーション又はプログラムを格納してよい。
【0129】
補助コンピューティングインプッタ330は、ユーザの入力に対応する信号を取得してよい。
【0130】
ユーザの入力は、例えば、ボタンの押圧、クリック、タッチ、又はドラッグであってよい。
【0131】
例えば、補助コンピューティングインプッタ330は、例えば、キーボード、キーパッド、ジョグシャトル、又はホイールとして実装されてよい。
【0132】
補助コンピューティングコントローラ340は、補助コンピューティングデバイス300の動作全体を制御してよい。
【0133】
図5は、1つの実施形態によるウェアラブルディスプレイデバイス400を示す図である。
【0134】
図5を参照すると、ウェアラブルディスプレイデバイス400は、ウェアラブルディスプレイコミュニケータ410、ウェアラブルディスプレイストレージ420、ウェアラブルディスプレイセンサ430、ウェアラブルディスプレイコントローラ440、ウェアラブルディスプレイスクリーンアウトプッタ450、及びウェアラブルディスプレイスピーカ460を含んでよい。
【0135】
ウェアラブルディスプレイコミュニケータ410は、補助コンピューティングデバイス300に接続されてよい。
【0136】
ウェアラブルディスプレイコミュニケータ410は、有線通信及び無線通信のうちの少なくとも1つを通して補助コンピューティングデバイス300に接続されてよい。
【0137】
ウェアラブルディスプレイストレージ420は、そこにデータを格納してよい。
【0138】
ウェアラブルディスプレイストレージ420は、ウェアラブルディスプレイデバイス400の動作に必要なアプリケーション又はプログラムを格納してよい。
【0139】
さらに、ウェアラブルディスプレイストレージ420は、外部ソースから取得されたデータを格納してよい。
【0140】
ウェアラブルディスプレイセンサ430は、ウェアラブルディスプレイデバイス400の状態及びユーザの入力に対応する信号を取得してよい。
【0141】
1つの実施形態によるウェアラブルディスプレイセンサ430は、ウェアラブルディスプレイ動作センサモジュール431及びウェアラブルディスプレイサウンドセンサモジュール432を含んでよい。
【0142】
ウェアラブルディスプレイ動作センサモジュール431は、ウェアラブルディスプレイデバイス400の状態に関連する信号を取得してよい。
【0143】
1つの例において、ウェアラブルディスプレイ動作センサモジュール431は、ウェアラブルディスプレイデバイス400の回転に関連する回転データを取得してよい。
【0144】
別の例において、ウェアラブルディスプレイ動作センサモジュール431は、ウェアラブルディスプレイデバイス400の位置移動に関連する移動データを取得してよい。
【0145】
ウェアラブルディスプレイ動作センサモジュール431は、加速度センサ、ジャイロスコープ、ジャイロセンサ、MEMS、地磁気センサ、IMIU、光学センサ、照度センサ、フォトセンサ、赤外線センサ、色センサ、深度センサ、電磁波センサ、及び同様のものを含んでよい。
【0146】
ウェアラブルディスプレイサウンドセンサモジュール432は、外部から入力された音に対応する信号を取得してよい。
【0147】
1つの例において、ウェアラブルディスプレイサウンドセンサモジュール432は、マイクロフォンであってよい。
【0148】
ウェアラブルディスプレイコントローラ440は、ウェアラブルディスプレイデバイス400の動作全体を制御してよい。
【0149】
ウェアラブルディスプレイスクリーンアウトプッタ450は、ユーザに視覚データを出力してよい。
【0150】
1つの例において、ウェアラブルディスプレイスクリーンアウトプッタ450は、仮想現実のイメージを出力してよい。別の例において、ウェアラブルディスプレイスクリーンアウトプッタ450は、3次元(3D)仮想現実のイメージを出力してよい。
【0151】
ウェアラブルディスプレイスクリーンアウトプッタ450は、液晶ディスプレイ(LCD)、電子ペーパ、LEDディスプレイ、有機発光ダイオード(OLED)ディスプレイ、湾曲ディスプレイ、ステレオスコピ(両眼視差を利用した3Dディスプレイ)、又は同様のもの等のイメージ出力デバイスとして設けられてよい。
【0152】
ウェアラブルディスプレイスピーカ460は、聴覚データを出力してよい。
【0153】
ウェアラブルディスプレイスピーカ460は、チューナ、プレーヤ、アンプ、スピーカ、又は同様のもの等のサウンドデバイスとして設けられてよい。
【0154】
図6は、1つの実施形態による仮想現実制御システム10の実施例を示す図である。
【0155】
図6を参照すると、仮想現実制御システム10は、少なくとも1人のユーザ800に、仮想体験のための追跡領域600を提供してよい。
【0156】
さらに、追跡領域600において、ユーザ800には、補助コンピューティングデバイス300、ウェアラブルディスプレイデバイス400、及び入力デバイス500のうちの少なくとも1つが提供されてよい。
【0157】
さらに、ユーザ800に提供されることになるターゲットオブジェクトには、マーカMが設けられてよい。
【0158】
例えば、ターゲットオブジェクトがウェアラブルディスプレイデバイス400及び入力デバイス500である場合、ウェアラブルディスプレイデバイス400及び入力デバイス500には、異なるパターンのマーカMが設けられてよい。
【0159】
マーカMが設けられるパターンは、以下で説明される。
【0160】
さらに、追跡領域600には、少なくとも1つの検出デバイス100が設けられてよい。
【0161】
例えば、
図6に示すように、追跡領域600には、複数の検出デバイス100が設けられてよい。
【0162】
検出デバイス100は、追跡領域600の外縁の周囲で互いから所定の間隔を置いて離隔されるように設けられてよい。
【0163】
さらに、検出デバイス100は、地面から所定の高さにおいて互いから離隔されるように設けられてよい。
【0164】
さらに、検出デバイス100は、追跡領域600に向けられるように設けられてよい。
【0165】
検出デバイス100は、予め設置されたフレーム上に固定して設置されてよい。
【0166】
例えば、
図6に示すように、検出デバイス100を設置するためのフレームが、追跡領域600の周囲に設けられてよい。さらに、検出デバイス100は、そのフレーム上に固定して設置されてよい。
【0167】
検出デバイス100は、追跡領域600に関連する検出データを取得してよい。
【0168】
検出デバイス100に含まれているセンサ120は、追跡領域600の少なくとも一部に関連する検出データを取得してよい。
【0169】
検出デバイス100は、サーバ200又は補助コンピューティングデバイス300に検出データを提供してよい。
【0170】
例えば、検出デバイス100は、センサ120によって取得された検出データをサーバ200に提供してよい。
【0171】
サーバ200は、検出データに基づいてターゲットオブジェクトのリアルタイム位置データを取得してよい。
【0172】
図6に示すように、追跡領域600において複数の検出デバイス100が設けられている場合、サーバ200又は補助コンピューティングデバイス300は、複数の検出デバイス100から検出データを取得して、取得された検出データに基づいてターゲットオブジェクトの現在の位置データを取得してよい。
【0173】
さらに、サーバ200又は補助コンピューティングデバイス300は、ターゲットオブジェクトの位置データに基づいて少なくとも1つのターゲットオブジェクトの仮想位置データを取得してよい。
【0174】
例えば、補助コンピューティングデバイス300は、現実世界におけるユーザ800の位置データに含まれている座標に対応する仮想現実における座標を、ユーザ800に対応する仮想現実におけるキャラクタの仮想位置データとして取得してよい。
【0175】
サーバ200は、ターゲットオブジェクトの位置データ及び仮想位置データのうちの少なくとも1つを補助コンピューティングデバイス300に提供してよい。
【0176】
補助コンピューティングデバイス300は、取得された位置データに基づいて仮想位置データを計算してよい。
【0177】
さらに、補助コンピューティングデバイス300は、仮想位置データに基づいて仮想環境イメージを取得してよい。
【0178】
例えば、仮想体験に必要な仮想環境は、補助コンピューティングストレージ320に格納されたプログラム又はアプリケーションによって構築され、補助コンピューティングデバイス300は、取得された仮想位置データに基づいて仮想環境から仮想環境イメージ領域を取得してよい。補助コンピューティングデバイス300は、仮想環境イメージ領域に関連する仮想環境イメージを取得してよい。
【0179】
補助コンピューティングデバイス300は、仮想環境イメージをウェアラブルディスプレイデバイス400に提供してよい。
【0180】
ウェアラブルディスプレイデバイス400は、仮想環境イメージをユーザ800に出力してよい。
【0181】
さらに、サーバ200は、仮想環境イメージをモニタリングディスプレイデバイス700に提供してよい。
【0182】
サーバ200は、補助コンピューティングデバイス300から取得された仮想環境イメージを接続されたモニタリングディスプレイデバイス700に提供してよい。
【0183】
さらに、サーバ200が複数の補助コンピューティングデバイス300に接続されている場合、サーバ200は、複数の補助コンピューティングデバイス300の中の少なくとも1つの補助コンピューティングデバイス300から仮想環境イメージを取得し、取得された仮想現実イメージを接続されたモニタリングディスプレイデバイス700に提供してよい。
【0184】
例えば、サーバ200は、サーバインプッタ230を通して、サーバ200に接続された補助コンピューティングデバイス300の中から、仮想環境イメージが取得されることになる補助コンピューティングデバイス300のセレクションを取得してよく、選択された補助コンピューティングデバイス300から取得された仮想環境イメージをモニタリングディスプレイデバイス700に提供してよい。
【0185】
さらに、サーバ200は、補助コンピューティングデバイス300から仮想位置データを取得し、取得された仮想位置データ及び仮想環境における仮想カメラの予め設定された位置に基づいて仮想環境イメージを取得してよい。
【0186】
さらに、サーバ200は、取得された仮想現実イメージを接続されたモニタリングディスプレイデバイス700に提供してよい。
【0187】
モニタリングディスプレイデバイス700は、サーバ200から取得された仮想環境イメージを出力してよい。
【0188】
さらに、入力デバイス500は、サーバ200、補助コンピューティングデバイス300、及びウェアラブルディスプレイデバイス400のうちの少なくとも1つに接続されるように設けられてよい。
【0189】
さらに、入力デバイス500には、少なくとも1つのマーカMが設けられてよい。
【0190】
入力デバイス500は、各ユーザ800が入力デバイス500を保持するように提供されてよい。
【0191】
例えば、ユーザ800は、入力デバイス500をその手に保持してよい。
【0192】
1つの実施形態によれば、サーバ200は、検出デバイス100から取得された検出データに基づいて入力デバイス500の位置データを取得してよい。さらに、入力デバイス500の現実位置データは、追跡領域600における入力デバイス500の位置データ又は向き方向データのうちの少なくとも1つを含んでよい。
【0193】
補助コンピューティングデバイス300は、入力デバイス500の位置データに基づいて仮想環境における入力デバイス500に対応する仮想オブジェクトの向き方向を判定してよい。
【0194】
さらに、補助コンピューティングデバイス300は、仮想環境における入力デバイス500に対応する仮想オブジェクトの向き方向が考慮された仮想イメージを取得してよい。
【0195】
例えば、補助コンピューティングデバイス300は、入力デバイス500に対応する銃が仮想環境における入力デバイス500の向き方向に対応する方向に向けられている仮想イメージを取得してよい。
【0196】
さらに、補助コンピューティングデバイス300は、仮想環境における入力デバイス500を通したユーザ800のイベント発生コマンドに従ったイベントの発生が考慮された仮想イメージを取得してよい。
【0197】
例えば、ユーザ800が入力デバイス500に設けられているスイッチを押した場合、補助コンピューティングデバイス300は、ユーザ800に対応するキャラクタが仮想環境における銃を発砲することを示す仮想イメージを取得してよい。
【0198】
図7は、1つの実施形態によるターゲットオブジェクトを追跡する方法を示す概略図である。
【0199】
図7を参照すると、ターゲットオブジェクトを追跡する方法は、外部に設けられているセンサを使用してターゲットオブジェクトに関連するデータを取得し、ターゲットオブジェクトに関連する取得されたデータに基づいてターゲットオブジェクトの位置を判定してよい。
【0200】
以下、
図7を参照しながら、ターゲットオブジェクトがウェアラブルディスプレイデバイス400である一例が説明される。
【0201】
図7を参照すると、ターゲットオブジェクトには、ターゲットオブジェクトを識別するためのマーカMが設けられてよい。
【0202】
マーカMは、ターゲットオブジェクト上に設けられて、ターゲットオブジェクトを識別及び追跡するための基準としての役割を果たしてよい。
【0203】
ターゲットオブジェクトを追跡するために、ターゲットオブジェクト及び他のデバイスを区別する必要があり、ターゲットオブジェクトにマーカMを与えることによってターゲットオブジェクトを識別することが可能であり得る。
【0204】
さらに、複数のターゲットオブジェクトが設けられる場合、ターゲットオブジェクトのそれぞれを識別する必要があり、このために、1つのオブジェクト上に設けられるマーカは、別のオブジェクト上に設けられる別のマーカMから区別可能であってよい。
【0205】
例えば、1つのターゲットオブジェクト上に設けられるマーカMは、別のターゲットオブジェクト上に設けられる別のマーカMのそれとは異なるパターンで設けられてよい。
【0206】
さらに、パターンは、異なる位置に設けられた複数のマーカMによって形成されるパターン、1つのディスプレイパネルに設けられる光学的パターン、及び同様のもの等の様々なタイプのパターンを含んでよい。
【0207】
パターンは、マーカMのマーカ座標によって形成されてよい。
【0208】
例えば、第1のマーカ座標MP1-1、第2のマーカ座標MP1-2、及び第3のマーカ座標MP1-3が検出データとして取得され得るように、検出デバイス100によって3つのマーカMが追跡されてよく、第1のマーカ座標MP1-1から第3のマーカ座標MP1-3は、三角形パターンを形成してよい。
【0209】
さらに、マーカMは、発光素子110から投影される光学信号を反射又は吸収するパッシブマーカ、及び光学信号を自律的に放射するアクティブマーカとして提供されてよい。
【0210】
例えば、パッシブマーカは、光反射材料がそこに付与された3次元モデル、認識可能なコードがプリントされた紙、反射テープ、及び同様のものを含んでよい。
【0211】
さらに、アクティブマーカは、LEDモジュール、電波発生器、及び同様のものを含んでよい。
【0212】
1つの実施形態によれば、ターゲットオブジェクトには、少なくとも1つのマーカMが設けられてよい。
【0213】
例えば、仮想現実制御システム10が1つのオブジェクトのみの位置を追跡する場合、1つのマーカMのみがターゲットオブジェクト上に設けられてよい。
【0214】
さらに、仮想現実制御システム10が1つのオブジェクトのみの位置を追跡する場合であっても、ターゲットオブジェクトに複数のマーカMが設けられてよい。
【0215】
さらに、仮想現実制御システム10が複数のターゲットオブジェクトの位置を追跡する場合、複数のターゲットオブジェクトのそれぞれを識別すべく、パターンを形成する複数のマーカMが1つのターゲットオブジェクトに設けられてよい。
【0216】
例えば、仮想現実制御システム10によって位置が追跡されるターゲットオブジェクトがウェアラブルディスプレイデバイス400及び入力デバイス500である場合、ウェアラブルディスプレイデバイス400には、第1パターンのマーカMが設けられてよく、入力デバイス500には、第2パターンのマーカMが設けられてよい。
【0217】
第1パターンは、第2パターンとは異なり、位置追跡中に検出される第1パターンは、ウェアラブルディスプレイデバイス400として識別されてよく、検出される第2パターンは、入力デバイス500として識別されてよい。
【0218】
上の説明において、複数のターゲットオブジェクトが設けられている場合、複数のオブジェクトのそれぞれ上に設けられるマーカMは、複数のオブジェクトのそれぞれを識別すべくパターンを形成するように設けられている。しかしながら、この実施形態はこれに限定されるものではなく、単一のターゲットオブジェクトが設けられている場合であっても、ターゲットオブジェクト上に設けられるマーカMは、パターンを形成するように形成されてよい。
【0219】
さらに、ターゲットオブジェクト上に設けられるマーカMのパターンは、ユーザ800を識別するために使用されてよい。
【0220】
例えば、第1パターンは、第1のユーザによって着用されているウェアラブルディスプレイデバイス400として識別されてよく、第2パターンは、第1のユーザによって保持されている入力デバイス500として識別されてよい。さらに、第3パターンは、第2のユーザによって着用されているウェアラブルディスプレイデバイス400として識別されてよく、第4パターンは、第2のユーザによって保持されている入力デバイス500として識別されてよい。
【0221】
ターゲットオブジェクトを追跡するために、サーバ200は、検出デバイス100からターゲットオブジェクトに関連するデータを取得し、取得されたデータに基づいてターゲットオブジェクトの位置に関連する検出データを取得してよい。さらに、サーバ200は、検出データに基づいてターゲットオブジェクトの位置データを計算してよい。
【0222】
検出デバイス100がターゲットオブジェクトに関連するデータをサーバ200に提供する技術の説明が与えられる。検出デバイス100の発光素子110は、追跡領域600の少なくとも一部に信号を投影してよい。
【0223】
例えば、発光素子110が赤外線LEDである場合、発光素子110は、追跡領域600の少なくとも一部に赤外線信号を投影してよい
【0224】
さらに、センサ120は、外部ソースから取得されたデータをサーバ200に提供してよい。
【0225】
1つの例において、センサ120がカメラである場合、センサ120は、外部ソースから取得されたイメージ信号をサーバ200に提供してよい。
【0226】
図7は1つのセンサ120のみを示しているが、上記実施形態はこれに限定されるものではない。
図6において説明されているように、複数のセンサ120が設けられてよく、複数のセンサ120のそれぞれは、取得されたデータをサーバ200に提供してよい。
【0227】
サーバ200は、センサ120から取得されたデータに基づいてターゲットオブジェクトの位置を判定してよい。
【0228】
サーバ200は、センサ120から取得されたデータがマーカMに関連するデータを含むか否かを判定してよい。さらに、センサ120から取得されたデータにマーカMに関連するデータが含まれていると判定された場合、サーバ200は、マーカMのパターンに基づいてターゲットオブジェクトを識別してよい。
【0229】
例えば、センサ120から取得されたデータが第1パターンを含む場合、サーバ200は、ターゲットオブジェクトをウェアラブルディスプレイデバイス400として識別してよい。
【0230】
1つのセンサ120から取得されたデータに複数のパターンが存在しよく、サーバ200は、複数のパターンを識別してよい。
【0231】
パターンは、サーバ200に予め記憶されてよく、取得されたデータに予め記憶されたパターンが存在する場合、サーバ200は、対応するパターンが存在すると判定してよく、そのパターンに対応するターゲットオブジェクトを識別してよい。
【0232】
サーバ200は、センサ120から取得されたデータに基づいてターゲットオブジェクトの位置を判定してよい。
【0233】
一方で、予め記憶されたパターンのそれぞれに関連する代表点RPがサーバ200に設定されてよい。
【0234】
代表点RPは、パターンを代表する点であってよい。
【0235】
代表点RPは、パターンの外に存在してよい。
【0236】
例えば、代表点RPは、第1のマーカ座標MK1-1、第2のマーカ座標MK1-2、及び第3のマーカ座標MK1-3によって形成される平面から予め定められた距離だけ離隔した点に設定されてよい。
【0237】
複数のマーカMに基づくパターンが設けられる場合、パターンに含まれている複数のマーカMに関連する座標データが取得されてよく、サーバ200は、そのパターンを代表する代表点RPを、パターンが設けられたターゲットオブジェクトの位置データとして取得してよい。
【0238】
したがって、サーバ200は、ターゲットオブジェクトの位置データを取得し得、それにより、ターゲットオブジェクトを追跡可能である。
【0239】
ターゲットオブジェクトの位置を追跡する方法は、上記の例に限定されるものではなく、位置を追跡する様々なタイプの方法が選択に応じて使用されてよい。
【0240】
1つの実施形態によれば、センサ120がイメージセンサとして設けられている場合、センサ120は、外部イメージを取得し、取得されたイメージに基づいてターゲットオブジェクトに関連する位置データを取得してよい。
【0241】
1つの例において、
図7に示すセンサ120がウェアラブルディスプレイデバイス400に設けられている場合、センサ120は、ウェアラブルディスプレイデバイス400の1つの側面上に設けられて、ウェアラブルディスプレイデバイス400の外に関連するイメージデータを取得するようにウェアラブルディスプレイデバイス400の内側から外側方向に向けられてよい。
【0242】
さらに、ウェアラブルディスプレイデバイス400は、取得されたイメージデータを補助コンピューティングデバイス300に提供してよい。
【0243】
1つの実施形態によれば、ウェアラブルディスプレイデバイス400は、イメージデータを、所定の間隔を置いて補助コンピューティングデバイス300に提供してよい。
【0244】
例えば、ウェアラブルディスプレイデバイス400は、イメージデータを補助コンピューティングデバイス300に、センサ120を通してイメージデータが取得されるそれと同じ間隔を置いて提供してよい。
【0245】
補助コンピューティングデバイス300は、取得されたイメージデータから少なくとも1つの特徴点を取得してよい。
【0246】
1つの実施形態によれば、補助コンピューティングデバイス300は、イメージデータに含まれているオブジェクトを特徴点として取得してよい。
【0247】
1つの実施形態によれば、補助コンピューティングデバイス300は、イメージデータに含まれているオブジェクトの中から予め定められたサイズよりも大きなオブジェクトを特徴点として取得してよい。
【0248】
補助コンピューティングデバイス300は、イメージデータに含まれているオブジェクトを識別して、識別されたオブジェクトの中から予め定められたサイズよりも大きなオブジェクトを特徴点として取得してよい。さらに、補助コンピューティングデバイス300は、イメージデータに含まれているオブジェクトが占めるピクセルの数に基づいてオブジェクトのサイズを判定してよい。
【0249】
1つの実施形態によれば、補助コンピューティングデバイス300は、イメージデータに含まれているオブジェクトの中から予め設定されたタイプのオブジェクトを特徴点として取得してよい。
【0250】
例えば、ボールタイプオブジェクトが予め設定されている場合、補助コンピューティングデバイス300は、イメージデータに含まれている、野球ボール、サッカーボール、バスケットボール、又は同様のもの等のボールタイプオブジェクトを特徴点として取得してよい。
【0251】
1つの実施形態によれば、補助コンピューティングデバイス300は、イメージデータに含まれているマーカを特徴点として取得してよい。
【0252】
補助コンピューティングデバイス300は、イメージデータに含まれている、バーコード、クイックレスポンス(QR)コード、又は同様のもの等のマーカを識別し、このマーカを特徴点として取得してよい。
【0253】
さらに、補助コンピューティングデバイス300は、イメージデータに含まれている特徴点の位置を判定してよい。
【0254】
補助コンピューティングデバイス300は、ウェアラブルディスプレイデバイス400から取得されたイメージデータに基づいて特徴点の位置変化及びサイズ変化のうちの少なくとも1つを判定してよい。
【0255】
補助コンピューティングデバイス300は、特徴点の位置変化方向、位置変動、及びサイズ変動に基づいて、ウェアラブルディスプレイデバイス400の移動方向及び移動距離を判定してよい。
【0256】
例えば、補助コンピューティングデバイス300は、ウェアラブルディスプレイデバイス400から取得されたイメージデータに基づいて特徴点の位置変化を判定してよい。
【0257】
補助コンピューティングデバイス300は、ウェアラブルディスプレイデバイス400の移動方向及び移動距離を判定してよい。
【0258】
補助コンピューティングデバイス300は、特徴点の位置変化方向、位置変動、及びサイズ変動に基づいて、ウェアラブルディスプレイデバイス400の移動方向及び移動距離を判定してよい。
【0259】
例えば、補助コンピューティングデバイス300は、第1の時点において取得された第1のイメージデータに含まれている特徴点の位置を、第1の時点よりも後の第2の時点において取得された第2のイメージデータに含まれている特徴点の位置と比較してよく、この比較が第1のイメージデータにおける特徴点が第2のイメージデータにおける右に移動したこと示す場合、ウェアラブルディスプレイデバイス400が左に移動したと判定してよい。
【0260】
さらに、補助コンピューティングデバイス300は、特徴点の位置が変化した場合に特徴点の移動距離を判定してよい。
【0261】
補助コンピューティングデバイスは、第1のイメージデータにおける特徴点の位置及び第2のイメージデータにおける特徴点の位置間のピクセルの数に基づいて、特徴点の移動距離を判定してよい。
【0262】
代替的に、補助コンピューティングデバイス300は、第1のイメージデータにおける特徴点の座標及び第2のイメージデータにおける特徴点の座標に基づいて特徴点の移動距離を判定してよい。
【0263】
また、例えば、補助コンピューティングデバイス300は、サイズ変動に基づいてウェアラブルディスプレイデバイスの移動方向及び移動距離を判定してよい。
【0264】
補助コンピューティングデバイス300は、第1の時点において取得された第1のイメージデータに含まれている特徴点のサイズを第1の時点よりも後の第2の時点において取得された第2のイメージデータに含まれている特徴点のサイズと比較してよく、この比較が第1のイメージデータにおける特徴点の位置が第2のイメージデータにおける右に移動したことを示す場合、ウェアラブルディスプレイデバイス400が左に移動したと判定してよい。
【0265】
それに応じて、補助コンピューティングデバイス300は、予め設定された初期位置に対するターゲットオブジェクトの位置の変化に基づいてターゲットオブジェクトの位置を追跡してよい。
【0266】
図8は、1つの実施形態によるウェアラブルディスプレイデバイスを通して仮想環境イメージ452を出力する一例を示す図である。
【0267】
図8を参照すると、仮想現実制御システム10は、仮想環境の少なくとも一部に関連する仮想環境イメージ452を、ウェアラブルディスプレイデバイス400を通してユーザ800に提供してよい。
【0268】
仮想環境は、背景、地形、仮想オブジェクト、キャラクタ、及び同様のものを含んでよい。
【0269】
例えば、仮想環境には、ユーザ800に対応するキャラクタが提供されてよい。
【0270】
別の例において、仮想環境には、ユーザ800によって保持されている入力デバイス500に対応する手又は銃等の仮想オブジェクトが提供されてよい。
【0271】
別の例において、仮想オブジェクトは、仮想環境において実装されるオブジェクトを含んでよく、仮想体験中にユーザ800によって使用されてよい。
【0272】
地形は、仮想環境において予め設定された位置に提供されてよい。
【0273】
さらに、地形は、キャラクタがそこまで移動可能であるか又はその中に移動することが可能であるアクセス可能領域及びキャラクタがその中に移動することが許容されないアクセス不可領域を含んでよい。
【0274】
地形は、下でさらに説明される。
【0275】
さらに、キャラクタは、補助コンピューティングデバイス300に予め記憶されたアプリケーション又はプログラムによって提供されるノンプレーヤキャラクタ(NPC)及びユーザキャラクタを含んでよい。
【0276】
仮想環境では、キャラクタ又はオブジェクトの位置データは、仮想位置データとして提示されてよい。
【0277】
一方で、現実における位置データは、ターゲットオブジェクトの位置座標及び向き方向のうちの少なくとも1つを含んでよい。
【0278】
例えば、位置データは、追跡領域600に位置するターゲットオブジェクトの位置座標であってよい。
【0279】
サーバ200は、追跡領域600に関連する座標値を予め記憶してよい。
【0280】
サーバ200は、追跡領域600に関連する座標系を予め記憶してよい。座標系は、平面座標系、直交座標系、極座標系、空間座標系、円筒座標系、及び球座標系のうちの少なくとも1つであってよい。
【0281】
サーバ200は、追跡領域600に関連する検出データ及び座標系に基づいて追跡領域600内のターゲットオブジェクトの座標値を取得してよい。さらに、サーバ200は、追跡領域600内のターゲットオブジェクトの取得された座標値を位置データとして取得してよい。
【0282】
1つの例において、検出データが赤外線イメージである場合、サーバ200は、赤外線イメージにおけるターゲットオブジェクトに対応するマーカの位置及び赤外線イメージを提供した検出デバイス100の設置位置に基づいて、追跡領域600内のマーカの座標値を取得してよい。さらに、サーバ200は、追跡領域600内のマーカの座標値に基づいてマーカによって形成されるパターンを判定してよく、マーカによって形成されるパターンに対応するターゲットオブジェクトを識別してよい。さらに、サーバ200は、マーカによって形成されるパターン及び追跡領域600内のマーカの座標値に基づいてターゲットオブジェクトの代表点RPを取得し、ターゲットオブジェクトの代表点RPの座標値をターゲットオブジェクトの位置データとして取得してよい。
【0283】
サーバ200は、位置データを補助コンピューティングデバイス300に提供してよい。
【0284】
補助コンピューティングデバイス300は、仮想環境に関連する座標値を予め記憶してよい。
【0285】
補助コンピューティングデバイス300は、仮想環境に関連する座標系を予め記憶してよい。座標系は、平面座標系、直交座標系、極座標系、空間座標系、円筒座標系、及び球座標系のうちの少なくとも1つであってよい。
【0286】
補助コンピューティングデバイス300は、位置データ及び仮想環境に関連する座標系に基づいて仮想環境内のターゲットオブジェクトの座標値を取得してよい。
【0287】
例えば、補助コンピューティングデバイス300は、現実位置データに含まれている座標値に対応する仮想環境における座標値を取得し、仮想環境における取得された座標値を仮想位置データとして取得してよい。
【0288】
補助コンピューティングデバイス300は、仮想位置データに基づいてユーザ800に出力されることになる仮想環境イメージ452を取得してよい。
【0289】
1つの実施形態によれば、補助コンピューティングデバイス300は、ウェアラブルディスプレイデバイス400の仮想位置データを仮想カメラの仮想位置データとして取得し、仮想カメラの仮想位置データ及び仮想カメラの向き方向に基づいて仮想カメラの視野451を取得してよい。
【0290】
補助コンピューティングデバイス300は、ウェアラブルディスプレイデバイス400の位置データに含まれている向き方向に基づいて仮想カメラの向き方向を取得してよい。
【0291】
さらに、補助コンピューティングデバイス300は、仮想カメラの向き方向における予め定められた領域を仮想カメラの視野451として取得してよい。
【0292】
一方で、仮想カメラの視野451は、仮想環境における特定の仮想位置データ、並びにウェアラブルディスプレイデバイス400の仮想位置データに基づいて取得されてよい。
【0293】
さらに、補助コンピューティングデバイス300は、仮想環境における仮想カメラの視野451に対応する仮想環境イメージ452を取得してよい。
【0294】
補助コンピューティングデバイス300は、仮想環境イメージ452をウェアラブルディスプレイデバイス400に提供してよい。
【0295】
ウェアラブルディスプレイデバイス400は、取得された仮想現実イメージ452を、ウェアラブルディスプレイスクリーンアウトプッタ450を通してユーザ800に出力してよい。
【0296】
図9は、第1の実施形態による仮想現実システムの制御方法を示す図であり、
図10は、第1の実施形態によるロコモーション変換ガイドを示す図であり、
図11は、第1の実施形態による変換マップを示す図であり、
図12は、第1の実施形態による待機領域を示す図であり、
図13は、第1の実施形態によるモード変換完了状態を示す図である。
【0297】
図9から13を参照すると、第1の実施形態による仮想現実システム10のコントローラは、仮想現実システムをロコモーションモード及びウォークスルーモードで制御してよい。コントローラは、仮想現実システムをロコモーションモード及びウォークスルーモードで選択的に制御してよい。
【0298】
本明細書において、コントローラは、サーバコントローラ240、補助コンピューティングコントローラ340、及びウェアラブルディスプレイコントローラ440のうちの少なくとも1つ又は複数であってよい。すなわち、下で説明されるコントローラの機能は、サーバコントローラ240、補助コンピューティングコントローラ340、及びウェアラブルディスプレイコントローラ440のいずれか1つにおいて独立して実行されてよく、又は2つ又はそれよりも多いコントローラの組み合わせによって実行されてよい。
【0299】
仮想現実システム10がロコモーションモード及びウォークスルーモードのいずれか1つのモードで制御される場合であっても、位置を取得するための上述した技術はそのまま適用されてよい。
【0300】
ウォークスルーモードでは、プレイ空間は、自由に使用されてよく、コントローラは、同じプレイ空間に位置する第1のユーザ及び第2のユーザの第1の位置データ及び第2の位置データを取得し、次に、第1の位置データ及び第2の位置データに基づいて、第1のユーザによって着用されている第1のディスプレイ上に第2のユーザに対応する第2のキャラクタを表示するように制御されてよい。
【0301】
コントローラは、第2の位置データに対応する第1のディスプレイの領域上に第2のキャラクタを表示してよい。
【0302】
ロコモーションモードもまた、プレイ空間において実行されてよいが、ロコモーションモードでは、同じプレイ空間においてプレイしている第1のユーザ及び第2のユーザの第1の位置データ及び第2の位置データ関連していないコンテンツが第1のディスプレイ上に及び第2のディスプレイそれぞれに表示されてよい。
【0303】
ロコモーションモードでは、コントローラは、第1のユーザの第1の位置データ及び第2のユーザの第2の位置データを取得してよいが、第1のディスプレイ上に第2のユーザに対応する前記第2のキャラクタを表示しなくてよい。
【0304】
代替的に、コントローラが第1のディスプレイ上に第2のキャラクタを表示する場合であっても、コントローラは、第2のキャラクタを第1の位置データ及び第2の位置データ間の距離とは異なる距離を有するものとして表示してよい。換言すれば、現実のプレイ空間における距離とは異なる距離が表示されてよい。
【0305】
コントローラは、ロコモーションモードでは安全領域を定義してよい。安全領域は、プレイ空間における仮想領域であってよく、複数のユーザが仮想現実システムを利用する場合に安全上の事故を防止すべく互いから離隔されるように複数の安全領域が設定されてよい。ロコモーションモードでは、プレイ空間に他のユーザに対応するキャラクタが表示されなくてよく、それに応じて、コントローラは、衝突による安全上の事故を防止すべく安全領域を定義及び制御してよい。
【0306】
コントローラは、ウォークスルーモードでのように、各ユーザが安全領域内で自由に移動することを可能にするように制御されてよい。この場合、コントローラは、安全領域内の空間におけるユーザの位置に基づいてコンテンツを進行させるように制御してよい。
【0307】
以下、
図9から13を参照しながら、ロコモーションモードからウォークスルーモードに変換するための方法が説明される。
【0308】
コントローラは、ロコモーションモードを進行させてよい(S1100)。
【0309】
コントローラは、ユーザのプレイに基づいてロコモーションモードからウォークスルーモードに変換することを決定してよい。
【0310】
ロコモーションモードからウォークスルーモードに変換することが決定された場合、コントローラは、
図9に示す変換領域ガイドAを表示してよい(S1200)。
【0311】
コントローラは、ロコモーションマップ2000上に変換領域ガイドを表示してよい。変換領域ガイドは、ユーザによって認識されるようにロコモーションマップ2000上に表示されてよい。変換領域ガイドは、異なる色でロコモーションマップ2000上に表示されてよい。
【0312】
ロコモーションマップ2000及び変換領域ガイドは、ユーザ上に着用されているディスプレイ上に表示されてよい。キャラクタが変換領域に移動した場合、コントローラは、移動したキャラクタに対応するディスプレイ上での変換領域ガイドの出力を終了してよい。
【0313】
例えば、第1のユーザの第1のキャラクタが変換領域に移動したが第2のユーザの第2のキャラクタがまだ変換領域に移動していない場合、変換領域ガイドは、第1のユーザの第1のディスプレイ上にもはや表示されなくてよく、変換領域ガイドは、第2のユーザの第2のディスプレイ上に表示されてよい。
【0314】
コントローラは、全てのキャラクタが変換領域に移動したか否かを判定してよい(S1300)。
【0315】
複数のユーザは、彼らのそれぞれの入力デバイス500を通してキャラクタを移動させてよい。ユーザは、入力デバイス500を操作することによってキャラクタを移動させてよい。
【0316】
全てのキャラクタが変換領域への移動を完了しない場合、コントローラは、対応するユーザのディスプレイ上での変換領域ガイドの表示を継続してよい。
【0317】
全てのキャラクタが変換領域への移動を完了した場合、コントローラは、
図10に示すようにそれぞれのユーザのディスプレイ上に変換マップ3000を表示してよい(S1400)。
【0318】
コントローラがそれぞれのユーザのディスプレイ上に変換マップ3000を表示するモードは、変換モードとして定義されてよい。変換モードは、ウォークスルーモードと同じモードであってよい。
【0319】
複数のユーザ3100は、変換マップ3000上の複数の安全領域3200に位置してよい。ロコモーションモードでは、コントローラは、ユーザ間の衝突を防止すべく、ユーザが互いから離隔された安全領域3200に位置することを可能にするように制御してよく、それに応じて、複数のユーザ3100は、マップが変換マップ3000に変換される場合に互いから離隔して位置することができる。
【0320】
すなわち、複数の安全領域3200は、変換マップ上で互いから離隔されるように配置されてよい。
【0321】
例えば、第1の安全領域3201及び第2の安全領域3203は、互いから離隔されるように配置されてよい。第1のユーザ3101は、第1の安全領域3201に位置してよく、第2のユーザ3103は、第2の安全領域3203に位置してよい。第1のユーザ3101及び第2のユーザ3103は、第1の距離によって互いから離隔されるように位置してよい。
【0322】
コントローラは、変換マップ3000上に待機領域3300を表示してよい。コントローラは、複数のユーザのディスプレイ上に待機領域3300を表示してよい。待機領域3300は、変換マップ3000の特定の領域上に表示されてよい。
【0323】
待機領域3300は、変換マップ3000の他の構成要素から区別されるように表示されてよい。待機領域3300は、変換マップ3000の他の構成要素のそれとは異なる色で表示されてよい。待機領域3300は、仮想空間であってよく、又は仮想現実に存在する空間であってよい。
【0324】
コントローラは、複数のユーザが待機領域3300への道を見つけることを可能にするように、それぞれのディスプレイ上に待機領域ガイドを表示してよい。待機領域ガイドは、ユーザの現在のポジションに応じて異なるように表示されてよい。例えば、ユーザの現在のポジションが待機領域から遠く離れている場合、比較的小さなサイズの待機領域ガイドが表示されてよく、ユーザの現在のポジションが待機領域に近い場合、比較的大きなサイズの待機領域ガイドが表示されてよい。ユーザの現在のポジションが、ユーザのディスプレイ上に待機領域を表示できるような状態にある場合、コントローラは、待機領域ガイドを省略してよい。
【0325】
コントローラは、複数のユーザのディスプレイ上に待機領域ガイドを表示してよく、それにより、複数のユーザが待機領域において集結するようにガイドする。
【0326】
待機領域3300は、変換マップ3000のそれよりも小さい領域を有してよい。コントローラは、変換マップ3000を表示してよく、複数のユーザを変換マップ3000にガイドしてよい。コントローラは、複数のユーザを変換マップ3000にガイドしてよく、それにより、複数のユーザ間の距離を減少させる。
【0327】
コントローラは、全てのキャラクタが待機領域3300への移動を完了したか否かを判定してよい(S1600)。
【0328】
コントローラは、全てのユーザが待機領域3300への移動を完了したか否かを判定してよい。コントローラは、ユーザのいずれか1人が待機領域3300への移動を完了していない場合にディスプレイを使用することによって待機領域の表示を継続してよい。
【0329】
コントローラは、待機領域3300への移動を完了していないユーザのディスプレイ上に待機領域3300を表示してよく、待機領域3300への移動を完了したユーザのディスプレイ上に待機領域3300を表示しなくてよい。コントローラは、待機領域3300への移動を完了していないユーザのディスプレイ上に、待機領域3300に移動するためのガイドを表示してよい。コントローラは、待機領域3300への移動を完了していないユーザに対してのみ待機領域3300に移動するためのガイドを表示してよく、それにより、ユーザを待機領域3300に移動するように誘導する。
【0330】
コントローラは、ユーザを待機領域3300に移動するように誘導することによって待機領域3300におけるユーザ間の距離を減少させてよい。待機領域3300におけるユーザ間の距離が第2の距離として定義される場合、第2の距離は、第1の距離よりも短くてよい。すなわち、変換マップ3000に変換された安全領域3200に位置するユーザ間の距離は、待機領域3300におけるユーザ間の距離よりも長くてよい。
【0331】
コントローラは、ユーザを待機領域3300内に移動するように誘導してよく、それにより、より効率的なウォークスルーを実行できる。すなわち、ウォークスルーモードは、ユーザが移動しながら仮想現実ストーリを進行させるモードであるので、コントローラは、ユーザを待機領域3300に移動するように誘導することによってウォークスルーモードを効率的に進行させるように準備してよい。
【0332】
コントローラは、変換マップを表示するように及び待機領域にユーザを移動させるように変換モードを進行させるように制御してよく、それにより、ロコモーションモードがウォークスルーモードに変換される場合に現実的なモード変換が実行され得、ユーザの安全が保証され得る。
【0333】
コントローラは、
図13に示すように全てのキャラクタが待機領域3300への移動を完了した場合にウォークスルーモードを進行させるように制御してよい(S1700)。
【0334】
コントローラは、全てのキャラクタが待機領域3300への移動を完了した場合にモード変換を完了してよく、ウォークスルーモードを進行させるように制御してよい。
【0335】
図14から18は、第1の実施形態による、仮想現実システムにおけるウォークスルーモードからロコモーションモードへの変換を示す図である。
【0336】
図14は、第1の実施形態による仮想現実システムの制御方法を示す図であり、
図15は、第1の実施形態によるウォークスルーターゲット領域を示す図であり、
図16は、第1の実施形態による、全てのユーザがウォークスルーターゲット領域に移動した状態を示す図であり、
図17は、ロコモーション変換マップを示す図であり、
図18は、第1の実施形態によるロコモーション変換完了状態を示す図である。
【0337】
図14から18を参照すると、第1の実施形態による仮想現実システム10のコントローラは、ウォークスルーモードで仮想現実制御システムを制御してよい(S4100)。
【0338】
コントローラは、
図15に示すようなウォークスルーマップ5000を表示してよい。コントローラは、ウォークスルーマップ5000上にターゲット領域5200を表示してよい。
【0339】
ターゲット領域5200は、ウォークスルーマップ5000の領域の一部であってよい。ターゲット領域5200は、ウォークスルーモードでシナリオを進行させるためのトリガ領域であってよい。
【0340】
コントローラは、ユーザ5100上に着用されているディスプレイ上にターゲット領域5200を表示してよい。コントローラは、ユーザ5100がターゲット領域5200に移動するようにすべくユーザ5100上に着用されているディスプレイ上にターゲット領域5200への移動を誘導するためのガイドを表示してよい。
【0341】
コントローラは、
図16に示すように全てのユーザ5100がターゲット領域5200に到達したか否かを判定してよい。
【0342】
全てのユーザ5100がターゲット領域5200に位置している場合、コントローラは、
図17に示すようにウォークスルーマップ5000をロコモーション変換マップ6000に変換してよい。
【0343】
コントローラは、ロコモーション変換マップ6000上にロコモーションガイド領域6200を表示してよい(S4200)。
【0344】
コントローラは、複数のユーザ5100それぞれに割り当てられた複数のロコモーションガイド領域6200を表示してよい。コントローラは、複数のユーザ5100のそれぞれのディスプレイ上にロコモーションガイド領域6200を出力してよい。
【0345】
ロコモーションガイド領域6200は、ロコモーション変換マップ6000の領域の一部であってよい。
【0346】
例えば、コントローラは、第1のユーザ5101のための第1のロコモーションガイド領域6201を出力してよい。コントローラは、第2のユーザ5103のための第2のロコモーションガイド領域6203を出力してよい。
【0347】
第1のロコモーションガイド領域6201及び第2のロコモーションガイド領域6203は、互いから離隔した領域であってよい。第1のロコモーションガイド領域6201及び第2のロコモーションガイド領域は、それらの間に第3の距離を有してよい。第3の距離は、ターゲット領域5200に位置するユーザ間の距離よりも長くてよい。
【0348】
ロコモーションガイド領域6200は、ターゲット領域5200に位置するユーザ5100の位置データに基づいて割り当てられてよい。ロコモーションガイド領域6200は、ユーザ5100がロコモーションガイド領域6200に移動している間のユーザ間の衝突を最小限に抑えるように割り当てられてよい。
【0349】
コントローラは、まず、ターゲット領域5200に位置するユーザ5100の中の外側領域上に位置するユーザにロコモーションガイド領域6200を割り当ててよく、後で、中心領域上に位置するユーザにロコモーションガイド領域6200を割り当ててよい。
【0350】
コントローラは、まず、ロコモーションガイド領域6200の中のターゲット領域5200から最も遠く離れたロコモーションガイド領域6200を割り当ててよく、後で、ターゲット領域5200に対して比較的短い距離を有するロコモーションガイド領域6200を割り当ててよい。
【0351】
コントローラは、ロコモーションガイド領域6200の中のターゲット領域5200から最も遠く離れたロコモーションガイド領域6200を、対応するロコモーションガイド領域6200に最も近いユーザに割り当ててよく、その後、最も遠いロコモーションガイド領域6200を対応するロコモーションガイド領域6200に最も近いユーザに割り当ててよい。
【0352】
例えば、コントローラは、ターゲット領域5200から最も遠く離れた第1のロコモーションガイド領域6201を、第1のロコモーションガイド領域6201から最短距離を有する第1のユーザ5101に割り当ててよく、その後、既に割り当てられた第1のロコモーションガイド領域6201を除いてロコモーションガイド領域の中の最も遠く離れた第2のロコモーションガイド領域6203を、第2のロコモーションガイド領域6203から最短距離を有する第2のユーザ5103に割り当ててよい。
【0353】
それに応じて、ターゲット領域5200からロコモーションガイド領域6200に向かって移動するユーザ間の衝突を最小限に抑えることができる。
【0354】
ロコモーションガイド領域6200は、割り当てられたユーザのディスプレイ上にのみ表示されてよい。第1のロコモーションガイド領域6201は、第1のユーザ5101のディスプレイ上にのみ表示されてよく、第2のユーザ5103のディスプレイ上に表示されなくてよい。
【0355】
ロコモーションガイド領域6200は、ユーザが割り当てられたロコモーションガイド領域6200への移動を完了した場合にはもはや出力されなくてよい。
【0356】
コントローラは、ロコモーションガイド領域6200がユーザによってより効果的に認識されることを可能にするように追加エフェクト6300を出力してよい。追加エフェクト6300は、ロコモーションガイド領域6200上に出力されてよい。この場合、追加エフェクト6300は、各ユーザのディスプレイを通して各ユーザに割り当てられたロコモーションガイド領域6200上に表示されてよい。
【0357】
追加エフェクト6300は、ユーザが割り当てられたロコモーションガイド領域6200への移動が完了した場合にはもはや出力されなくてよい。
【0358】
代替的に、追加エフェクト6300は、ユーザが割り当てられたロコモーションガイド領域6200への移動を完了した場合にのみ出力されてよい。この場合、追加エフェクト6300は、全てのユーザのディスプレイ上に表示されてよい。それに応じて、コントローラは、ユーザの中のロコモーションガイド領域6200への移動を完了したユーザが認識することを可能にし得る。
【0359】
コントローラは、全てのユーザがロコモーションガイド領域6200への移動を完了したか否かを識別してよい(S4300)。
【0360】
ユーザのいずれか1人がロコモーションガイド領域への移動を完了していない場合、コントローラは、ロコモーションガイド領域6200の出力を継続してよい。
【0361】
コントローラは、
図18に示すように全てのユーザがロコモーションガイド領域への移動を完了した場合にロコモーションモードを進行させてよい(S4400)。
【0362】
ウォークスルーモードがロコモーションモードに変換される場合、コントローラは、ユーザ間の距離をウォークスルーモードよりも長く増加させるようにロコモーションガイド領域を通してガイドし、それにより、ロコモーションモードでのユーザ間の衝突を防止する。
【0363】
図19は、第2の実施形態による、ユーザが退去した場合に備えた仮想現実制御システムの制御方法を示す図であり、
図20は、第2の実施形態によるロコモーションマップを示す図であり、
図21は、第2の実施形態による、ユーザが退去した状態を示す図であり、
図22は、第2の実施形態による、ユーザのディスプレイ上に出力される衝突防止ガイドを示す図であり、
図23は、第2の実施形態による、退去したユーザのディスプレイ上に出力される衝突防止ガイドを示す図である。
【0364】
第2の実施形態は、第1の実施形態によるロコモーションモードでユーザが安全領域を退去した場合に出力される衝突防止ガイドに関する追加の実施形態である。それに応じて、第2の実施形態の説明において、第1の実施形態と同じ構成要素について同じ参照符号が使用されており、詳細な説明は省略される。
【0365】
図19を参照すると、コントローラは、ロコモーションモードで仮想現実システムを制御してよい(S7100)。
【0366】
コントローラは、
図20に示すように、ロコモーションマップ8000を構成してよく、複数の安全領域8200を定義してよい。
【0367】
安全領域8200は、ユーザ8100間の衝突を防止すべく互いから離隔されているものとして定義されてよい。例えば、第1の安全領域8201は、第2の安全領域8203から離隔されているものとして定義されてよい。
【0368】
ユーザ8100は、ロコモーションモードで安全領域8200上のコンテンツを進行させてよい。例えば、第1のユーザ8101は、第1の安全領域8201におけるロコモーションシナリオを進行させてよく、第2のユーザ8103は、第2の安全領域8203におけるロコモーションシナリオを進行させてよい。
【0369】
第1のユーザに対応する第1のキャラクタ8101が第2のユーザ8103のディスプレイ上に出力されてよく、第2のユーザに対応する第2のキャラクタ8103が第1のユーザ8101のディスプレイ上に出力されてよい。しかしながら、第2のユーザ8103のディスプレイ上に出力される第1のキャラクタは、第1のユーザ8101の第1の位置データを反映していなくてよい。第2のユーザ8103のディスプレイ上に出力される第1のキャラクタは、第1のユーザ8101の方向に関するデータのみを反映してよい。すなわち、第1のユーザ8101が第1の安全領域8201内を移動した場合であっても、第1のユーザ8101の第1のキャラクタは、第1のキャラクタが第2のユーザ8103のディスプレイ上ではなおも立っているように示されてよい。しかしながら、第1のユーザ8101が第1の安全領域8201内で回転する場合、第1のキャラクタは、第2のユーザ8103のディスプレイ上で回転するものとして表示されてよい。
【0370】
安全領域8200は、ユーザ8100間の衝突を防止するように構成されている領域であるので、ユーザ8100のうちの1人が安全領域8200を退去する場合にユーザ間の衝突のリスクが存在し得る。それに応じて、衝突を防止するように衝突防止ガイドが必要である。
【0371】
コントローラは、プレイ空間に存在する複数のユーザのうちの1人が安全領域を退去した否かを判定してよい(S7200)。
【0372】
例えば、
図21に示すように第2のユーザ8103が第2の安全領域8203を退去した場合、コントローラは、第2のユーザ8203が退去したことを検出してよい。
【0373】
コントローラは、全てのユーザ8100が安全領域8200に位置している場合にロコモーションの進行を継続してよい。
【0374】
全てのユーザ8100のうちの1人が安全領域を退去した場合、コントローラは、衝突防止ガイドを出力してよい(S7300)。
【0375】
衝突防止ガイドは、ユーザ8100のディスプレイ上に表示されてよい。衝突防止ガイドは、退去者及び非退去者のディスプレイ上に異なる形式で表示されてよい。
【0376】
衝突防止ガイドは、安全領域から退去者までの距離に応じて異なる形式で出力されてよい。
【0377】
第2のユーザ8103が安全領域8203を退去した場合、
図22に示すようなイメージが、第1のユーザ8101のディスプレイ上に表示されてよい。
【0378】
ロコモーションマップ8000上に位置している複数のユーザに対応するキャラクタ8300が、第1のユーザ8101の第1のディスプレイ上に表示されてよい。第2のキャラクタ8303、第3のキャラクタ8305、及び第4のキャラクタ8307が、第1のユーザ8101の第1のディスプレイ上に表示されてよい。
【0379】
第2のユーザ8103が第2の安全ゾーン8203を退去した場合であっても、第2のキャラクタ8303は、以前の位置に出力されてよい。
【0380】
第1のディスプレイ上に出力される衝突防止ガイドは、第2のユーザ8103に対応する第2のゴーストイメージ8403であってよい。第2のゴーストイメージ8403は、第2のキャラクタ8303とは異なる形式で出力されてよい。第2のゴーストイメージ8403は、第2のユーザ8103の第2の位置データに基づいて出力されてよい。第2のゴーストイメージ8403は、第2のユーザ8103の現実の位置を反映する位置に出力されてよい。
【0381】
第2のユーザ8103が退去した場合、コントローラは、退去していない第1のユーザ8201の第1のディスプレイ上に第2のユーザ8103の位置を反映する第2のゴーストイメージ8403を出力してよく、それにより、第1のユーザ8101及び第2のユーザ8103間の衝突が防止され得る。
【0382】
第2のゴーストイメージ8403は、第1のユーザ8101によって容易に認識されるように高輝度を有するイメージとして出力されてよい。この場合、コントローラは、安全領域を退去したユーザの発生に関して、退去していないユーザに音声又はイメージメッセージを出力してよい。
【0383】
さらに、複数のユーザが安全領域8200を退去した場合、コントローラは、第1のディスプレイ上に退去した複数のユーザの位置に対応するゴーストイメージを出力してよい。
【0384】
第2のユーザ8103が第2の安全領域8203を退去した場合、
図22に示すようなイメージが第2のユーザ8103の第2のディスプレイ上に表示されてよい。
【0385】
コントローラは、第2のディスプレイ上に、キャラクタ8300、ゴーストイメージ8400、及び安全領域ガイド8213を表示してよい。
【0386】
コントローラは、ゴーストイメージ8400及び安全領域ガイド8213を衝突防止ガイドとして表示してよい。
【0387】
第1のキャラクタ8301及び第3のキャラクタ8305が、第2のディスプレイ上に出力されてよい。第1のキャラクタ8301及び第3のキャラクタ8305は、ユーザの現在のポジションを反映していない位置上に表示されてよい。
【0388】
第1のゴーストイメージ8401及び第3のゴーストイメージ8405が、第2のディスプレイ上に表示されてよい。プレイ空間に存在する全てのユーザに対応するゴーストイメージ8400が、第2のディスプレイ上に出力されてよい。
【0389】
第1のゴーストイメージ8401は、第1のユーザ8101の位置データに対応するイメージであってよく、第3のゴーストイメージは、第3ユーザの位置データに対応するイメージであってよい。第1のゴーストイメージ8401は、第1のユーザ8101の現実の位置を反映する位置に出力されてよい。全てのゴーストイメージ8400は、全てのユーザのそれぞれの位置を反映する位置に出力されてよい。
【0390】
安全領域を退去した第2のユーザ8103は、他のユーザと衝突する可能性が高いので、ユーザ間の衝突を防止するために、全てのユーザの位置を反映するゴーストイメージ8400が出力されてよい。
【0391】
コントローラは、第2のディスプレイ上に安全領域ガイド8213を出力してよい。安全領域ガイド8213は、第2のユーザ8103が戻るべき位置についてガイドしてよい。安全領域ガイド8213は、第2の安全領域8203に対応する位置上に表示されてよい。
【0392】
コントローラは、第2のユーザ8103が安全領域を退去したことを通知する退去警告メッセージを第2のディスプレイに出力してよい。代替的に、コントローラは、第2のユーザ8103が安全領域を退去したことを通知するメッセージを音声として第2のユーザ8103に出力してよい。
【0393】
コントローラは、第2のユーザ8103の第2の位置データ及び第2の安全領域8203間の距離に応じて異なる形式で退去警告メッセージを出力してよい。すなわち、コントローラは、第2のユーザ8103が第2の安全領域8203を退去した場合に、予め設定された臨界距離又はそれよりも長い距離によって異なる形式で退去警告メッセージを出力してよい。
【0394】
さらに、コントローラは、第2のユーザ8103及び他のユーザの位置データに基づいて切迫衝突メッセージを出力してよい。すなわち、コントローラは、第2のユーザ8103が予め定められた範囲内で別のユーザにより近くにいるために衝突のリスクが存在する場合に切迫衝突メッセージを出力してよい。切迫衝突メッセージは、第2のユーザ8103から予め定められた範囲内に存在するユーザに出力されてよい。
【0395】
第2のユーザ8103及び第2の安全領域8203間の距離が臨界距離よりも長い又はそれに等しい場合、コントローラは、ロコモーションコンテンツイメージとは異なるイメージを出力してよい。この場合、コントローラは、全てのユーザのディスプレイにロコモーションコンテンツイメージとは異なるイメージを出力するように制御してよい。
【0396】
第2のユーザの向き方向において捕捉するように第2のユーザ8103の第2のディスプレイ上にカメラが設置されている場合、コントローラは、第2のディスプレイ上のカメラによって捕捉されたイメージを出力するように制御してよい。カメラによって捕捉されたイメージは、第2のディスプレイ上に出力されてよく、それにより、第2のユーザ8103は、現実空間を認識することができ、ユーザ間の衝突が防止され得る。
【0397】
コントローラは、安全領域を退去したユーザが安全領域に戻ったか否かを判定してよい(S7400)。
【0398】
コントローラは、第2のユーザ8103が第2の安全領域8203に戻ったか否かを判定してよい。
【0399】
コントローラは、第2のユーザ8103が安全領域8203に戻っていない場合に衝突防止ガイドの出力を継続してよい。
【0400】
コントローラは、第2のユーザ8103が安全領域8203に戻ることを完了した場合に衝突防止ガイドの出力を停止してよく、それにより、第2のユーザ8103がロコモーションモードを再度進行させるように制御してよい。
【0401】
上で説明した様々な実施形態は、ソフトウェア、ハードウェア、又はこれらの組み合わせを使用することによって、コンピュータ又は同様のデバイスによって可読な記録媒体内でそれらに実装されてよい。いくつかの状況において、本明細書において説明された実施形態は、プロセッサ自体によって実装されてよい。ソフトウェアによって実装される場合、本明細書において説明されたプロシージャ及び機能等の実施形態は、別個のソフトウェアモジュールによって実装されてよい。ソフトウェアモジュールのそれぞれは、本明細書において説明された1つ又は複数の機能及び動作を実行してよい。
【0402】
上で説明された本開示の様々な実施形態による処理動作を実行するためのコンピュータ命令が、非一時的コンピュータ可読媒体に格納されてよい。非一時的コンピュータ可読媒体に格納されたコンピュータ命令は、プロセッサによって実行されると、特定のデバイスに、上で説明された様々な実施形態による処理動作を実行させてよい。
【0403】
非一時的コンピュータ可読媒体は、レジスタ、キャッシュ、メモリ又は同様のもの等の、データを非常に短時間格納するのではなく、データを半永久的に格納する媒体を指し、デバイスによって可読である。非一時的コンピュータ可読媒体の具体例は、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ハードディスク、ブルーレイディスク、ユニバーサルシリアルバス(USB)、メモリカード、リードオンリメモリ(ROM)、又は同様のものを含み得る。
【0404】
デバイスによって可読な記憶媒体が、非一時的記憶媒体の形態で提供されてよい。本明細書において、「非一時的記憶媒体」は、有形デバイスを指し、信号(例えば、電波)が含まれていないことのみを意味しており、この用語は、データが記憶媒体に半永久的に格納される場合及びデータが一時的に格納される場合を区別しない。例えば、「非一時的記憶媒体」は、データが一時的に格納されるバッファを含み得る。
【0405】
本開示の様々な実施形態による方法が、コンピュータプログラム製品に含まれて提供されてよい。コンピュータプログラム製品は、販売者及び購入者間で製品として取引されてよい。コンピュータプログラム製品は、デバイス可読記憶媒体(例えば、コンパクトディスクリードオンリメモリ(CD-ROM))の形態で配布されてよく、又は、アプリケーションストア(例えば、Play Store(商標))を介して又は2つのユーザデバイス(例えば、スマートフォン)間で、直接オンラインで配布(例えば、ダウンロード又はアップロード)されてよい。オンラインで配布される場合、コンピュータプログラム製品(例えば、ダウンロード可能なapp.)の少なくとも一部が、製造業者のサーバ、アプリケーションストアのサーバ、又はリレーサーバのメモリ等のデバイス可読記憶媒体に少なくとも一時的に格納又は一時的に生成されてよい。
【0406】
本開示の好ましい実施形態を例示及び説明したが、本開示は、上述した特定の実施形態に限定されるものではない。特許請求の範囲において請求されている本開示の範囲から逸脱することなく当業者によって様々な変更を加えることができ、また、変更された実施形態は、本開示の技術的思想又は展望から切り離されるものと理解されるべきでない。