JP2024513635A - 仮想現実環境における複合現実オブジェクト - Google Patents
仮想現実環境における複合現実オブジェクト Download PDFInfo
- Publication number
- JP2024513635A JP2024513635A JP2023545773A JP2023545773A JP2024513635A JP 2024513635 A JP2024513635 A JP 2024513635A JP 2023545773 A JP2023545773 A JP 2023545773A JP 2023545773 A JP2023545773 A JP 2023545773A JP 2024513635 A JP2024513635 A JP 2024513635A
- Authority
- JP
- Japan
- Prior art keywords
- user
- real
- world
- environment
- dimension
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000009877 rendering Methods 0.000 claims abstract description 41
- 238000013459 approach Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 4
- 230000033001 locomotion Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 abstract 1
- 230000006855 networking Effects 0.000 description 56
- 230000015654 memory Effects 0.000 description 30
- 238000003860 storage Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 12
- 230000008901 benefit Effects 0.000 description 11
- 238000005259 measurement Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 9
- 238000007654 immersion Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 230000006378 damage Effects 0.000 description 5
- 238000012552 review Methods 0.000 description 5
- 208000027418 Wounds and injury Diseases 0.000 description 4
- 208000014674 injury Diseases 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000013386 optimize process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一実施形態では、方法は、仮想VRデバイスの1つまたは複数のディスプレイについて、現実世界環境のパススルービューを含む第1の出力画像を表示することを含む。本方法は、VR表示デバイスの1つまたは複数のカメラによって取り込まれた1つまたは複数の画像を使用して、現実世界環境内の現実世界のオブジェクトを識別することを含む。本方法は、現実世界のオブジェクトに対応する第1の寸法を示すユーザ入力を受信することを含む。本方法は、第1の寸法に基づいて、現実世界のオブジェクトに対応する第2の寸法および第3の寸法を自動的に決定することを含む。本方法は、VR表示デバイスの1つまたは複数のディスプレイについて、VR環境の第2の出力画像をレンダリングすることを含む。VR環境は、現実世界のオブジェクトに対応するMRオブジェクトを含む。MRオブジェクトは、決定された第1の寸法、第2の寸法、および第3の寸法によって定義される。
【選択図】図6
【選択図】図6
Description
本開示は、一般に、ネットワーク環境内のデータベースおよびファイル管理に関し、特に、仮想現実(VR)環境における複合現実(MR)オブジェクトとの対話に関する。
VR環境内でユーザを安全に保つための空間認識の従来の方法は、ユーザが移動するための安全な境界周囲の外側境界を表す境界壁を定義することをユーザに要求する。たとえば、ユーザは、部屋の床を境界として線を引くことができる。境界は、ユーザがVR環境内で動き回るときに椅子や机などの現実世界のオブジェクトにぶつかるのを防ぐために引くことができる。ユーザが境界に近づくと、仮想壁が現れて、境界に近づいていることをユーザに警告することが可能であり、これは、ユーザの経路に椅子または机などの現実世界のオブジェクトがあることを示し得る。
特定の実施形態では、没入型仮想現実(VR)システム(たとえば、頭部装着型VRゴーグル)のユーザは、現実世界環境のビューをVRシステムによって部分的にまたは完全に遮られ、したがってVR環境に没入している間に現実世界のオブジェクトにぶつかったり現実世界のオブジェクトに当たったりする危険性がある。さらに、VR環境への没入は、現実世界環境におけるユーザの位置および/または向きに関してユーザを混乱させる可能性がある。すなわち、ユーザは、近傍の家具やその他のオブジェクトがある方向を忘れてしまうことがある。したがって、1つの技術的課題は、ユーザが没入型VR体験中に現実世界のオブジェクトと対話することを含み得る。ユーザを安全に保ち、VR環境内でユーザが自分自身を方向付けるのを支援する従来の方法は、VR体験中のユーザのための安全ゾーンを定義する仮想境界を引くことを含む。ユーザが仮想境界に近づくと、仮想境界壁が現れるかまたは起動し得る。これらの仮想境界壁は、格子状の外観を有し得る。これらの仮想境界壁は、VR環境の没入を破り、VR体験に没入している間に現実世界の空間の使用を妨げる可能性があり、ユーザのVR体験を損なう可能性がある。ユーザが没入型VR体験をしている間に現実世界のオブジェクトと対話するという技術的課題に対処するために本明細書で開示される実施形態によって提示される1つの解決策は、VR環境内の現実世界環境のパススルービューを提供して、VR環境に組み込むことができる現実世界のオブジェクトを識別し、現実世界のオブジェクトに対応する複合現実(MR)オブジェクトをVR環境でレンダリングすることであり得る。実施形態の技術的利点は、VR環境内にいる間にユーザが対話することが可能であるMRオブジェクトとして現実世界のオブジェクトを組み込むことを含み得る。限定ではなく、一例として、ユーザは、現実世界環境における現実世界の机を識別し、机の寸法を決定し、VR環境に没入している間にユーザが対話するための現実世界の机に対応するMR机をレンダリングし得、MR机は、現実世界環境に対応し、現実世界の机の寸法によって定義され得る。これにより、ユーザは現実世界のオブジェクトをVR環境に組み込んでもよく、したがって、ユーザがVR環境に没入している間に安全に探索できる空間を拡大することが可能である。さらに、ユーザは、たとえば、使い慣れた現実世界の家具、壁、電子デバイス(たとえば、現実世界のタブレットコンピュータをMRタブレットコンピュータに変える)、文書(たとえば、現実世界のメモをMRメモに変える)、および他のオブジェクトをVR環境に組み込むことによって、VR環境に没入している間に、現実世界環境における自分の姿勢(たとえば、位置および向き)を決定するのを助けるためにMRオブジェクトを使用することが可能である。本開示は、VR環境に没入している間にMRオブジェクトをレンダリングすることによって現実世界のオブジェクトと対話する方法を説明しているが、本開示は、任意の適切な方法で現実世界のオブジェクトをVR環境に組み込むことを企図している。
特定の実施形態では、1つまたは複数のコンピューティングシステムは、仮想VRデバイスの1つまたは複数のディスプレイについて、現実世界環境のパススルービューを含む第1の出力画像を表示し得る。1つまたは複数のコンピューティングシステムは、VR表示デバイスの1つまたは複数のカメラによって取り込まれた1つまたは複数の画像を使用して、現実世界環境内の現実世界のオブジェクトを識別し得る。1つまたは複数のコンピューティングシステムは、現実世界のオブジェクトに対応する第1の寸法を示すユーザ入力を受信し得る。1つまたは複数のコンピューティングシステムは、第1の寸法に基づいて、現実世界のオブジェクトに対応する第2の寸法および第3の寸法を自動的に決定し得る。次いで、1つまたは複数のコンピューティングシステムは、VR表示デバイスの1つまたは複数のディスプレイについて、VR環境の第2の出力画像をレンダリングし得るVR環境は、現実世界のオブジェクトに対応するMRオブジェクトを含み得るMRオブジェクトは、決定された第1の寸法、第2の寸法、および第3の寸法によって定義され得る。
VR環境においてMRオブジェクトと対話するために、特定の技術的課題が存在する。1つの技術的課題は、現実世界のオブジェクトをVR環境に持ち込むことを含み得る。この課題に対処するために本明細書で開示される実施形態によって提示される解決策は、現実世界環境における現実世界のオブジェクトをVR環境におけるMRオブジェクトとして適合させて統合することであり得る。別の技術的課題は、ユーザがVR体験に没入している間に、現実世界環境および現実世界環境内の現実世界のオブジェクトに関する空間情報をユーザに伝達することを含み得る。この課題に対処するために本明細書で開示される実施形態によって提示される解決策は、VR環境の没入を大きく妨げることなく、ユーザが現実世界環境内のどこにあるかを確認できるように、現実世界環境内の現実世界のオブジェクトに対応するVR環境内のMRオブジェクトをレンダリングすることであり得る。さらに、この課題に対処するために本明細書で開示される実施形態によって提示される解決策は、VR環境内の現実世界環境のパススルービューをレンダリングして、ユーザが現実世界のオブジェクトの存在を認識させられない場合にユーザに傷害を引き起こす可能性がある現実世界のオブジェクトをユーザが識別するのを助けることであり得る。
本明細書に開示される特定の実施形態は、1つまたは複数の技術的利点を提供し得る。実施形態の技術的利点は、VR環境に没入している間に、現実世界環境のパススルービューを介して現実世界環境の迅速な見通しを提供することを含み得る。実施形態の別の技術的利点は、ユーザがVR環境と現実世界環境との間で迅速に切り替えることを可能にすることによって空間情報を提供することを含み得る。本明細書に開示された特定の実施形態は、上記の技術的利点のいずれも、一部または全部を提供しない可能性がある。本開示の図面、説明、および特許請求の範囲を考慮すると、1つまたは複数の他の技術的利点が当業者には容易に明らかになり得る。
第1の態様によれば、1つまたは複数のコンピューティングシステムによって、仮想現実(VR)表示デバイスの1つまたは複数のディスプレイについて、現実世界環境のパススルービューを含む第1の出力画像をレンダリングすることと、VR表示デバイスの1つまたは複数のディスプレイの1つまたは複数のカメラによって取り込まれた1つまたは複数の画像を使用して、現実世界環境内の現実世界のオブジェクトを識別することと、現実世界のオブジェクトに対応する第1の寸法を示す第1のユーザ入力を受信することと、第1の寸法に基づいて、現実世界のオブジェクトに対応する第2の寸法および第3の寸法を自動的に決定することと、VR表示デバイスの1つまたは複数のディスプレイについて、VR環境の第2の出力画像をレンダリングすることであって、VR環境が、現実世界のオブジェクトに対応する複合現実(MR)オブジェクトを含み、MRオブジェクトが、決定された第1の寸法、第2の寸法、および第3の寸法によって定義される、レンダリングすることと、を含む方法が提供される。
本方法は、VR表示デバイスの1つまたは複数のカメラによって取り込まれた現実世界環境の1つまたは複数の画像にアクセスすることと、VR表示デバイスの1つまたは複数のディスプレイについて、アクセスされた画像に基づいて、VR環境の一部および現実世界環境のパススルービューの一部を含む第3の出力画像をレンダリングすることであって、パススルービューの一部が、VR環境内のMRオブジェクトの表面に位置する、レンダリングすることと、をさらに含み得る。
本方法は、MRオブジェクトのパススルービューの一部を見るための選択を示す第2のユーザ入力を受信することであって、第3の出力画像が、MRオブジェクトのパススルービューの一部を見るための選択を示す第2のユーザ入力の受信に応答してレンダリングされる、受信することをさらに含み得る。
本方法は、MRオブジェクトが閾値期間にわたってVR表示デバイスのユーザの視野の中心にあると判定することであって、第3の出力画像は、MRオブジェクトが閾値期間にわたってユーザの視野の中心にあると判定したことに応答してレンダリングされる、判定することをさらに含み得る。
本方法は、VR表示デバイスのユーザが現実世界のオブジェクトの閾値距離内に近づいたか否かを判定することであって、第3の出力画像は、ユーザが現実世界のオブジェクトの閾値距離内に接近したとの判定に応答してレンダリングされる、判定することをさらに含み得る。
本方法は、MRオブジェクトがVR表示デバイスのユーザの視野内にあるか否かを判定することであって、第3の出力画像が、MRオブジェクトがユーザの視野内にあると判定したことに応答してレンダリングされる、判定することをさらに含み得る。
本方法は、VR表示デバイスの1つまたは複数のディスプレイについて、現実世界環境に対応する仮想境界をレンダリングすることをさらに含み得る。
本方法は、現実世界のオブジェクトに対応する第2の寸法および第3の寸法を自動的に決定することに応答して、識別された現実世界のオブジェクトを含むように仮想境界を拡張することをさらに含み得る。
本方法は、VR表示デバイスの1つまたは複数のディスプレイについて、パーソナルユーザインターフェース(UI)をレンダリングすることであって、パーソナルUIはVR表示デバイスのユーザに近接した仮想オブジェクトとしてレンダリングされ、パーソナルUIはユーザの動きに対応して移動し、パーソナルUIはMRオブジェクトに対して適合する1つまたは複数の属性を有する、レンダリングすることをさらに含み得る。
パーソナルUIの属性のうちの1つは、パーソナルUIのフォームファクタであって、パーソナルUIの第1のフォームファクタが、MRオブジェクトに対するユーザの近接度に基づいてパーソナルUIの第2のフォームファクタに適合する、パーソナルUIのフォームファクタであってもよく、および/またはパーソナルUIのユーザ機能セットであって、パーソナルUIの第1のユーザ機能セットが、MRオブジェクトに対するユーザの近接度に基づいてパーソナルUIの第2のユーザ機能セットに適合する、ユーザ機能セットであり得る。
現実世界のオブジェクトの第1の寸法を示すユーザ入力は、現実世界のオブジェクトのエッジを定義するVR環境内のVR表示デバイスのユーザによって作成された仮想線であり得る。
現実世界のオブジェクトの第1の寸法を示すユーザ入力は、現実世界のオブジェクトのエッジに対応する仮想線の端点を定義するVR環境内のVR表示デバイスのユーザによって作成された2つの仮想点であり得る。
現実世界のオブジェクトの第1の寸法を示すユーザ入力は、現実世界のオブジェクトの表面を定義するVR環境内のVR表示デバイスのユーザによって作成された単一の仮想点であり得る。
本開示の第2の態様によって、コンピュータによって実行されると、コンピュータに本開示の第1の態様の方法を実行させる命令を備えるコンピュータ可読媒体が提供される。
第3の態様によれば、第1の態様の方法を実行するように構成されたプロセッサを備えるシステムが提供される。
第4の態様によれば、プログラムがコンピュータによって実行されると、コンピュータに第1の態様の方法を実行させる命令を備えるコンピュータプログラム製品が提供される。
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、本明細書で開示される実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、前の請求項への意図的な参照(特に複数の従属関係)から生じる主題も請求され得、その結果、請求項とその特徴との任意の組合せが、開示され、添付の特許請求の範囲で選定された従属関係にかかわらず請求され得る。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれも、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
特定の実施形態では、没入型仮想現実(VR)システム(たとえば、頭部装着型VRゴーグル)のユーザは、現実世界環境のビューをVRシステムによって部分的にまたは完全に遮られ、したがってVR環境に没入している間に現実世界のオブジェクトにぶつかったり現実世界のオブジェクトに当たったりする危険性がある。さらに、VR環境への没入は、現実世界環境におけるユーザの位置および/または向きに関してユーザを混乱させる可能性がある。すなわち、ユーザは、近傍の家具やその他のオブジェクトがある方向を忘れてしまうことがある。したがって、1つの技術的課題は、ユーザが没入型VR体験中に現実世界のオブジェクトと対話することを含み得る。ユーザを安全に保ち、VR環境内でユーザが自分自身を方向付けるのを支援する従来の方法は、VR体験中のユーザのための安全ゾーンを定義する仮想境界を引くことを含む。ユーザが仮想境界に近づくと、仮想境界壁が現れるかまたは起動し得る。これらの仮想境界壁は、格子状の外観を有し得る。しかし、これらの仮想境界壁は、VR環境の没入を破り、VR体験に没入している間に現実世界の空間の使用を妨げる可能性があり、ユーザの体験を損なう可能性がある。ユーザが没入型VR体験をしている間に現実世界のオブジェクトと対話するという技術的課題に対処するために本明細書で開示される実施形態によって提示される1つの解決策は、VR環境内の現実世界環境のパススルービューを提供して、VR環境に組み込むことができる現実世界のオブジェクトを識別し、現実世界のオブジェクトに対応する複合現実(MR)オブジェクトをVR環境でレンダリングすることであり得る。実施形態の技術的利点は、VR環境内にいる間にユーザが対話することが可能であるMRオブジェクトとして現実世界のオブジェクトを組み込むことを含み得る。限定ではなく、一例として、ユーザは、現実世界環境において現実世界の机を識別し、机の寸法を決定し、VR環境に没入している間にユーザが対話するための現実世界の机に対応するMR机をレンダリングし得、MR机は、現実世界の机の寸法によって定義され得る。これにより、ユーザは現実世界のオブジェクトをVR環境に組み込んでもよく、したがって、ユーザがVR環境に没入している間に安全に探索できる空間を拡大することが可能である。さらに、ユーザは、たとえば、使い慣れた現実世界の家具、壁、電子デバイス(たとえば、現実世界のタブレットコンピュータをMRタブレットコンピュータに変える)、文書(たとえば、現実世界のメモをMRメモに変える)、および他のオブジェクトをVR環境に組み込むことによって、VR環境に没入している間に、現実世界環境における自分の姿勢(たとえば、位置および向き)を決定するのを助けるためにMRオブジェクトを使用することが可能である。本開示は、VR環境に没入している間にMRオブジェクトをレンダリングすることによって現実世界のオブジェクトと対話する方法を説明しているが、本開示は、任意の適切な方法で現実世界のオブジェクトをVR環境に組み込むことを企図している。
図1は、ユーザ102が装着する仮想現実システム100の一例を示す。特定の実施形態では、仮想現実システム100は、頭部装着型VR表示デバイス135、コントローラ106、および1つまたは複数のコンピューティングシステム110を備え得る。VR表示デバイス135は、ユーザの目に装着され、内部ディスプレイ(図示せず)を介して視覚コンテンツをユーザ102に提供し得る。VR表示デバイス135は、ユーザ102のそれぞれの目に1つずつ、2つの別個の内部ディスプレイを有してもよい(単一の表示デバイスも可能である)。図1に示すように、VR表示デバイス135は、ユーザの視野を完全にカバーすることが可能である。VR表示デバイス135は、ユーザ102への視覚情報を排他的に提供することにより、没入型人工現実体験を提供するという目的を達成する。しかしながら、この結果の1つは、ユーザの視界がVR表示デバイス135によって遮られるため、ユーザ102が自分を取り囲む物理(現実世界)環境を見ることができない可能性があることである。したがって、本明細書に記載のパススルー機能は、ユーザの物理的な環境に関するリアルタイムの視覚情報をユーザに提供するために技術的に有利であり得る。
図2は、パススルー機能の一例を示す。ユーザ102は、VR表示デバイス135を装着しており、VR環境内に没入している可能性がある。現実世界のオブジェクト145は、ユーザ102を取り囲む物理環境内にあり得る。しかしながら、VR表示デバイス135がユーザ102の視界を遮るために、ユーザ102は現実世界のオブジェクト145を直接見ることができない場合がある。VR表示デバイス135を装着している間にユーザが物理的な環境を知覚するのを助けるために、パススルー機能は、たとえば、外向きカメラ105A~Bなどの1つまたは複数のカメラ105を使用して、物理環境に関する情報を取り込む。その後、取り込まれた情報は、ユーザの視点に基づいてユーザ102に再投影されてもよい。VR表示デバイス135がユーザの右目用の右ディスプレイ136Aおよびユーザの左目用の左ディスプレイ136Bを有する特定の実施形態では、仮想現実システム100は、(1)ユーザの右目の視点に基づいて右ディスプレイ135A用の物理環境の再投影ビュー145A、および(2)ユーザの左目の視点に基づいて左ディスプレイ135B用の物理環境の再投影ビュー145Bを個別にレンダリングしてもよい。
再び図1を参照すると、VR表示デバイス135は、図1に示す2つの前向きカメラ105Aおよび105Bなどの外向きカメラを有してもよい。2つの前向きカメラ105A~Bのみが示されているが、VR表示デバイス135は、任意の方向に向いている任意の数のカメラ(たとえば、天井もしくは部屋の照明を取り込むための上向きカメラ、ユーザの顔および/もしくは体の一部を取り込むための下向きカメラ、ユーザの背後にあるものの一部を取り込むための後ろ向きカメラ、ならびに/または視線追跡の目的でユーザの視線を取り込むための内部カメラ)を有することが可能である。外向きカメラは、ユーザの周囲の物理環境を取り込むように構成されており、継続的にそうして(たとえば、ビデオとしての)一連のフレームを生成することが可能である。前に説明したように、前向きカメラ105A~Bによって取り込まれた画像は、VR表示デバイス135を介してユーザ102に対して直接表示されることが可能であるが、そうしても、カメラ105A~Bが物理的にユーザの目と全く同じロケーションに位置することができないため、物理環境の正確なビューをユーザに提供しない可能性がある。したがって、本明細書において記載されているパススルー機能は、物理環境の3D表示を生成して、次いでユーザの目の視点からその3D表示に基づいて画像をレンダリングする再投影技術を使用し得る。
3D表示は、カメラ105A~Bによって観察された物理オブジェクトの奥行き測定に基づいて生成されることが可能である。深度は様々なやり方で測定され得る。特定の実施形態においては、奥行きは、ステレオ画像に基づいて計算されることが可能である。たとえば、2つの前向きカメラ105A~Bは、重なり合う視野を共有すること、および画像を同時に取り込むように構成されることが可能である。結果として、同じ物理オブジェクトが、両方のカメラ105A~Bによって同時に取り込まれることが可能である。たとえば、オブジェクトの特定の特徴が、カメラ105Aによって取り込まれた画像における1つのピクセルpAに現れる場合があり、同じ特徴が、カメラ105Bによって取り込まれた画像における別のピクセルpBに現れる場合がある。それらの2つのピクセルが同じ特徴に対応するということを奥行き測定システムが知っている限り、仮想現実システム100は、三角測量技術を使用して、観察された特徴の奥行きを計算することが可能である。たとえば、3D空間内のカメラ105Aの位置、およびカメラ105Aの視野に対するpAのピクセルロケーションに基づいて、カメラ105AからピクセルpAを通して線が投影されることが可能である。他方のカメラ105BからピクセルpBを通して同様の線が投影されることが可能である。両方のピクセルが同じ物理的な特徴に対応することになるので、それらの2本の線は交差するはずである。それらの2本の交差する線と、2つのカメラ105Aおよび105Bの間に引かれた想像線とが三角形を形成し、これを使用して、カメラ105Aまたは105Bのいずれかからの観察された特徴の距離、または観察された特徴が位置している空間におけるポイントを計算することが可能である。
特定の実施形態では、環境内のVR表示デバイス135の姿勢(たとえば、位置および向き)が必要とされ得る。たとえば、ユーザ102が仮想環境において動き回っている間にユーザ102のために適切な表示をレンダリングするためには、仮想現実システム100は、いずれの瞬間においてもユーザ102の位置および向きを決定する必要があり得る。VR表示デバイスの姿勢に基づいて、仮想現実システム100はさらに、カメラ105Aおよび105Bのいずれか、またはユーザの目のいずれかの視点を決定することが可能である。特定の実施形態においては、VR表示デバイス135は、慣性測定ユニット(「IMU」)を備えていることが可能である。IMUによって生成されたデータは、外向きカメラ105A~Bによって取り込まれたステレオ画像とともに、仮想現実システム100が、たとえば、SLAM(simultaneous localization and mapping)またはその他の適切な技術を使用してVR表示デバイス135の姿勢を計算することを可能にする。
特定の実施形態では、仮想現実システム100は、ユーザ102が入力を提供することを可能にする1つまたは複数のコントローラ106をさらに有し得る。コントローラ106は、無線接続または有線接続を介してVR表示デバイス135または別個の1つまたは複数のコンピューティングシステム110と通信し得る。コントローラ106は、任意の数のボタンまたはその他の機械式の入力メカニズムを有することが可能である。加えて、コントローラ106は、IMUを有することが可能であり、それによって、コントローラ106の姿勢が追跡されることが可能である。コントローラ106はさらに、コントローラ上の所定のパターンに基づいて追跡されることが可能である。たとえば、コントローラ106は、所定のパターンを集合的に形成するいくつかの赤外線LEDまたはその他の既知の観察可能な特徴を有することが可能である。センサまたはカメラを使用して、仮想現実システム100は、コントローラ上の所定のパターンの画像を取り込むことが可能であり得る。これらのパターンの観察された向きに基づいて、システムは、センサまたはカメラに対するコントローラの位置および向きを計算することが可能である。
仮想現実システム100は、1つまたは複数のコンピューティングシステム110をさらに含み得る。1つまたは複数のコンピューティングシステム110は、VR表示デバイス135から物理的に分離したスタンドアロンユニットであってもよく、またはコンピュータシステム110はVR表示デバイス135と統合されてもよい。1つまたは複数のコンピューティングシステム110が別個のユニットである実施形態では、1つまたは複数のコンピューティングシステム110は、無線リンクまたは有線リンクを介してVR表示デバイス135に通信可能に結合されてもよい。1つまたは複数のコンピューティングシステム110は、デスクトップもしくはラップトップなど、高性能のデバイス、または携帯電話など、リソースの限られているデバイスであることが可能である。高性能のデバイスは、専用のGPUと、大容量または一定の電源とを有する場合がある。その一方で、リソースの限られているデバイスは、GPUを有していない場合があり、限られたバッテリー容量を有する場合がある。したがって、仮想現実システム100によって実際に使用され得るアルゴリズムは、その1つまたは複数のコンピューティングシステム110の能力に依存する。
1つまたは複数のコンピューティングシステム110が高性能デバイスである実施形態では、パススルー機能の一実施形態は、以下のように設計されてもよい。VR表示デバイス135の外向きカメラ105A~Bを介して、周囲の物理環境の一連の画像を取り込み得る。しかしながら、カメラ105A~Bによって取り込まれた情報は、カメラがユーザの目と空間上で合致することが可能ではない(たとえば、カメラおよびユーザの目は、互いからいくらかの距離だけ離れて位置しているので、異なる視点を有する)ため、ユーザの目が取り込み得るものと位置合わせされていない可能性がある。したがって、カメラが取り込んだものをユーザに対して単に表示するだけでは、ユーザが知覚するはずであるものの正確な表示とはならない場合がある。
単に取り込まれたものを表示する代わりに、パススルー機能は、外向きカメラ105A~Bによって取り込まれた情報をユーザに再投影し得る。同時に取り込まれたステレオ画像の各ペアを使用して、観察された特徴の奥行きを推定することが可能である。上述したように、三角測量を使用して奥行きを測定するために、1つまたは複数のコンピューティングシステム110は、ステレオ画像間の対応関係を見つけ得る。たとえば、1つまたは複数のコンピューティングシステム110は、ペアのステレオ画像内のどの2つのピクセルが同じ観察された特徴に対応するかを判定してもよい。高性能の1つまたは複数のコンピューティングシステム110は、そのようなタスクのために最適化されたGPUおよびオプティカルフロー技術を使用して対応関係の問題を解決し得る。そして三角測量技術を使用して奥行きを計算するために、対応関係情報が使用されることが可能である。観察された特徴の計算された奥行きに基づいて、1つまたは複数のコンピューティングシステム110は、それらの特徴が3D空間内のどこに位置しているかを決定することが可能である(なぜなら、1つまたは複数のコンピューティングシステム110は、カメラがその3D空間のどこにあるかも知っているからである)。結果は、密な3Dポイントクラウドによって表されることが可能であり、それに伴って、それぞれのポイントは、観察された特徴に対応する。次いで、密なポイントクラウドを使用して、環境におけるオブジェクトの3Dモデルを生成することが可能である。システムが表示用のシーンをレンダリングする際に、システムは、ユーザの目の視点から可視性テストを実行することが可能である。たとえば、システムは、ユーザのそれぞれの目に対応する観点から3D空間へと光線を投射することが可能である。このようにして、ユーザに対して表示されるレンダリングされるシーンは、外向きカメラ105A~Bの視点からではなく、ユーザの目の視点から計算され得る。
しかしながら、上述したプロセスは、リソースの限られているコンピューティングデバイスにとって実行可能ではない場合がある(たとえば、携帯電話が、VR表示デバイスの主要な計算ユニットである場合がある)。たとえば、強力な計算リソースおよび豊富なエネルギー源を有するシステムとは異なり、携帯電話は、奥行き測定を実行して環境の正確な3Dモデルを生成する上で、GPUおよび計算コストのかさむアルゴリズム(たとえば、オプティカルフロー)に依存することが可能ではない場合がある。それゆえに、リソースの限られているデバイス上でパススルーを提供するためには、最適化されたプロセスが必要とされる。
特定の実施形態では、コンピューティングデバイスは、以下でさらに詳細に説明するように、(1)GPUおよびオプティカルフロー、または(2)ビデオエンコーダおよびモーションベクトルを使用した最適化された技術を使用して奥行き測定値を生成することができるか、または生成することができるか否かを実行時に動的に判定するように構成され得る。たとえば、デバイスがGPUおよび十分なパワーバジェットを有する場合(たとえば、デバイスが電源に接続されている、満杯のバッテリーを有している、などの場合)には、デバイスは、自身のGPUおよびオプティカルフローを使用して奥行き測定を実行することが可能である。しかしながら、デバイスがGPUを有していないか、または厳しいパワーバジェットを有する場合には、デバイスは、奥行きを計算するための最適化された方法を選ぶことが可能である。
図3は、VR環境125におけるパーソナルユーザインターフェース(UI)115の例示的なビューを示す。特定の実施形態では、1つまたは複数のコンピューティングシステム110は、VR表示デバイス135の1つまたは複数のディスプレイについて、パーソナルUI 115をレンダリングすることが可能である。パーソナルUI 115は、図1および図2に示すように、VR表示デバイス135を装着しているユーザ102のためのインターフェースとして現れる場合がある。パーソナルUI 115は、1つまたは複数のアプリケーション120、メニュー121、ユーザ情報122、およびユーザが選択するための他の特徴または属性を表示してもよい。パーソナルUI 115は、VR環境125と現実世界環境130(図示せず)の両方においてユーザの前に現れるフローティング仮想オブジェクトとして現れる場合がある。パーソナルUI 115は、ユーザが(パススルービューを介して)VR環境125と現実世界環境130の両方で機能を実行することを可能にし得る。パーソナルUI 115は、ユーザが現実世界のオブジェクトおよびMRオブジェクトと対話することを可能にし得る。たとえば、ユーザは、パーソナルUI 115を使用して現実世界のオブジェクト145を(たとえば、パススルービューを介して)識別することが可能である。VR環境125内では、パーソナルUI 115は、VR表示デバイス135のユーザに近接した仮想オブジェクトとしてレンダリングすることが可能である。パーソナルUI 115は、ユーザの移動に対応して移動してもよい。すなわち、パーソナルUI 115は、ユーザが移動しても、ユーザに近接したままであり得る(たとえば、パーソナルUI 115は、ユーザの視野に入ったままでもよい)。たとえば、ユーザが前進すると、パーソナルUI 115も前進することが可能である。ユーザが回転する場合、パーソナルUI 115はまた、ユーザに近接したままであるように回転してもよい。パーソナルUIは、フォームファクタおよびユーザ機能セット(以下でより詳細に説明する)など、MRオブジェクト165に関して適合する1つまたは複数の属性を有することが可能である。
図4は、VR表示デバイス135を使用して現実世界のオブジェクト145を識別する例示的なビューを示す。現実世界のオブジェクト145は、たとえば、現実世界環境130のパススルービューでレンダリングされるように、現実世界環境130に現れる可能性がある。パススルービューは、VR表示デバイス135の1つまたは複数のカメラ105を使用して提供され得る。パーソナルUI 115は、現実世界のオブジェクト145を識別するための1つまたは複数のオプションをユーザに提供することが可能である。たとえば、限定ではなく、パーソナルUI 115は、ユーザに部屋スケールの空間を定義させることによってVR環境の空間を編集するため、座席を定義するため、または机を定義するためのオプションを示す可能性がある。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、VR表示デバイス135の1つまたは複数のディスプレイについて、現実世界環境130のパススルービューを含む第1の出力画像をレンダリングすることが可能である。第1の出力画像は、現実世界環境130のパススルービューを提供するためにVR表示デバイス135の1つまたは複数のカメラ105を使用することによって現実世界環境130の第1の出力画像をレンダリングすることが可能である。限定ではなく、一例として、1つまたは複数のコンピューティングシステム110は、パススルービューを介して、VR表示デバイスを装着しているユーザに、1つまたは複数の現実世界のオブジェクト145を含み得る現実世界環境130を示す可能性がある。現実世界環境130のパススルービューは、1つまたは複数のカメラ105を使用して取り込む可能性がある。本開示は、現実世界環境130のパススルービューを含む出力画像をレンダリングすることを説明しているが、本開示は、任意の適切な方法で出力画像をレンダリングすることを企図している。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、VR表示デバイス135の1つまたは複数のディスプレイの1つまたは複数のカメラ105によって取り込まれた1つまたは複数の画像を使用して、現実世界環境130内の現実世界のオブジェクト145を識別することが可能である。1つまたは複数のカメラ105によって取り込まれた1つまたは複数の画像は、1つまたは複数の現実世界のオブジェクト145(たとえば、カウチや机などの家具、その他の物品)を有する現実世界環境130(たとえば、ユーザのリビングルーム)のビュー(たとえば、パススルービュー)をユーザに提供することが可能である。限定ではなく、一例として、コンピューティングシステム110は、現実世界のオブジェクト145(カウチなど)を含む現実世界環境130のパススルービューを示す可能性がある。ユーザは、パーソナルUI 115を使用して、識別される現実世界のオブジェクト145のタイプを選択することが可能である。たとえば、ユーザは、パーソナルUI 115を使用して、部屋スケールの空間(現実世界環境130の部屋など)、座席空間(カウチや椅子など)、および机の空間(机やテーブルなど)を識別することが可能である。本開示は、特定の方法で現実世界のオブジェクトを識別することについて説明しているが、本開示は、任意の適切な方法で現実世界のオブジェクトを識別することを企図している。
図5は、現実世界のオブジェクト145の第1の寸法150を示す例示的なビューを示す。ユーザは、カウチの長さを定義する線を引くことによって、現実世界のオブジェクト145(たとえば、カウチ)の第1の寸法150に対応する線を引く可能性がある。ユーザは、コントローラ106を使用して線を引く可能性がある。1つまたは複数のコンピューティングシステム110はまた、第1の寸法150(たとえば、カウチの長さ)を自動的に決定してもよく、ユーザは第1の寸法150を確認または編集することができる。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、現実世界のオブジェクト145に対応する第1の寸法150を示す第1のユーザ入力を受信することが可能である。たとえば、1つまたは複数のコンピューティングシステム110は、ユーザによって(たとえば、ユーザがコントローラ106を使用することによって)測定された現実世界のオブジェクト145の第1の寸法150の測定値を受信することが可能である。寸法(たとえば、第1の寸法150)は、現実世界のオブジェクト145の高さ、幅、長さ、半径、円周、または他の形態の寸法測定値に対応することが可能である。現実世界のオブジェクト145に対応する第1の寸法150はまた、VR表示デバイス(たとえば、測定センサ、カメラセンサなど)の1つまたは複数のセンサを使用して自動的に決定されてもよい。現実世界のオブジェクト145に対応する第1の寸法150はまた、たとえば、1つまたは複数のセンサを使用して第1の寸法150を自動的に測定し、ユーザに測定値を確認または編集させることによって半自動的に決定されてもよい。現実世界のオブジェクト145の第1の寸法150を示すユーザ入力は、現実世界のオブジェクト145のエッジを定義するVR環境内のVR表示デバイス135のユーザによって作成された仮想線であり得る。限定ではなく、一例として、ユーザは、コントローラ106を使用して、カウチのフロントエッジなどの現実世界のオブジェクト145の第1の寸法150を測定することが可能である。現実世界のオブジェクトの第1の寸法を示すユーザ入力は、現実世界のオブジェクト145のエッジに対応する仮想線の端点を定義するVR環境125内のVR表示デバイス135のユーザによって作成された2つの仮想点であり得る。限定ではなく、一例として、ユーザは、第1の寸法の第1の端点(たとえば、カウチの左コーナフロントエッジ)を定義し得、ユーザは、第1の寸法の第2の端点(たとえば、カウチの右コーナフロントエッジ)を定義し得、カウチの寸法(たとえば、第1の寸法150)を定義する仮想線を第1の端点と第2の端点との間に自動的に引く可能性がある。すなわち、ユーザは、ユーザが座ることができる表面の第1の寸法150を定義するために、カウチの一端からカウチの他端までを測定してもよい。別の例として、第1の寸法150は、机の高さ、幅、長さ、または他の寸法測定値に対応してもよい。本開示は、特定の方法に対応する第1の寸法を示す第1のユーザ入力を受信することについて説明しているが、本開示は、任意の適切な方法で現実世界のオブジェクトに対応する第1の寸法を示す入力を受信することを企図している。
図6は、現実世界のオブジェクト145の第2の寸法155および第3の寸法160を決定する例示的なビューを示す。現実世界のオブジェクト145の第1の寸法150(たとえば、カウチの長さ)を受信した後、コンピューティングシステムは、VR表示デバイスの1つまたは複数のセンサを使用して、またはユーザに第2の寸法および第3の寸法を定義させることによって(たとえば、コントローラ106を使用して第2の寸法および第3の寸法を定義することによって)、現実世界のオブジェクト145の第2の寸法155および第3の寸法160(たとえば、カウチの高さおよび幅)を自動的に決定することが可能である。第1の寸法、第2の寸法および第3の寸法が決定されると、パーソナルUI 115は、決定された寸法を確認するための入力をユーザに提供することができ、または、第1の寸法、第2の寸法および/または第3の寸法を再度引くか、または再定義するための入力をユーザに提供することができる。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、第1の寸法150に基づいて、現実世界のオブジェクト145に対応する第2の寸法155および第3の寸法160を自動的に決定してもよい。1つまたは複数のコンピューティングシステムは、第1の寸法150に基づいて、第2の寸法155および第3の寸法160が何であり得るかを自動的に外挿してもよい。第2の寸法155および第3の寸法160は、VR表示デバイス135の1つまたは複数のセンサ(たとえば、カメラセンサ、奥行き知覚センサなど)を使用して、またはエッジ検出フィルタを使用して自動的に決定されてもよい。第2の寸法155および第3の寸法160は半自動的に決定されてもよい(たとえば、1つまたは複数のセンサが第2の寸法155および第3の寸法160を決定し、寸法はユーザによって確認される)。第2の寸法および第3の寸法を半自動的に決定することはまた、所定の第2の寸法および第3の寸法を定義することを伴い得、ユーザはその後、所定の第2の寸法および第3の寸法を実際の寸法に一致するように調整する。特定の実施形態では、ユーザは各寸法を定義する(たとえば、ユーザは、コントローラ106を使用して、第1の寸法、第2の寸法、および第3の寸法の各々を定義する)。第1の寸法150が現実世界のオブジェクト145の長さに対応する場合、第2の寸法は現実世界のオブジェクト145の幅に対応してもよく、第3の寸法は現実世界のオブジェクト145の高さに対応してもよい。限定ではなく、一例として、1つまたは複数のコンピューティングシステム110が現実世界のオブジェクト145に対応する第1の寸法150(たとえば、カウチの長さ)の指示を受信した場合、1つまたは複数のコンピューティングシステム110は、カウチの第2の寸法および第3の寸法(たとえば、高さおよび幅)を自動的に決定することが可能である。本開示は、特定の方法で第2の寸法および第3の寸法を決定することを記載しているが、本開示は、任意の適切な方法で第2の寸法および第3の寸法を決定することを企図している。
図7は、コントローラを使用して現実世界環境における現実世界のオブジェクトの第1の寸法、第2の寸法、および第3の寸法を決定する例示的なビューを示す。図8は、現実世界のオブジェクトに対応するMRオブジェクトを有するVR環境の例示的なビューを示す。特定の実施形態では、現実世界のオブジェクト145の寸法(たとえば、第1の寸法150)を示すユーザ入力は、現実世界のオブジェクト145の表面を定義するVR環境125内のVR表示デバイス135のユーザによって作成された単一の仮想点である。仮想点は、コントローラ106を使用して作成することが可能である。コントローラ106は、現実世界のオブジェクト145の第1の寸法150、第2の寸法155、および第3の寸法160を決定するために使用され得る。限定ではなく、一例として、ユーザは、現実世界のオブジェクト145の表面上にコントローラ106を配置することができ(たとえば、ユーザは、現実世界の机の平面上にコントローラを配置することができ)、1つまたは複数のコンピューティングシステム110は、コントローラ106の位置に基づいて、現実世界のオブジェクト145の第1の寸法、第2の寸法、および第3の寸法を決定することができる。1つまたは複数のコンピューティングシステムは、現実世界のオブジェクト145上のコントローラのロケーションに基づいて寸法のうちの1つまたは複数を決定し、現実世界のオブジェクト145の寸法を自動的に外挿して、現実世界のオブジェクト145に対応し、現実世界のオブジェクト145の第1の寸法150、第2の寸法155、および第3の寸法160によって定義されるMRオブジェクト165を有するVR環境125の第2の出力画像をレンダリングすることができる。
特定の実施形態では、VRシステム100は、潜在的なMRオブジェクト165を自動的に検出することが可能である。たとえば、現実世界のオブジェクト145は、MRオブジェクト165として自動的に検出されレンダリングされてもよい。VRシステム100は、レンダリングされる現実世界のオブジェクトをMRオブジェクト165として自動的に識別することができ、ユーザは、現実世界のオブジェクト145がMRオブジェクト165としてレンダリングされるか否かを確認することができる。たとえば、潜在的なMRオブジェクト165は、現実世界のオブジェクト145の明瞭な(たとえば、不透明な、着色された、またはぼんやりした)輪郭としてレンダリングすることができ、ユーザは、ユーザがMRオブジェクト165としてレンダリングしたいと思う現実世界のオブジェクト145を指す、(コントローラ106を介して)クリックする、タッチする、または他の方法で示すことによって、現実世界のオブジェクト145をMRオブジェクト165としてレンダリングすることができる。
図9は、現実世界のオブジェクト145に対応するMRオブジェクト165を有するVR環境125の例示的なビューを示す。VR環境は、現実世界のオブジェクト145(たとえば、図4~図6に示すような現実世界のオブジェクト145)と同じ寸法を有することが可能であるMRオブジェクト165などの1つまたは複数のオブジェクトを含み得る。VR環境125におけるMRオブジェクト165の姿勢(たとえば、位置および向き)は、現実世界環境130における現実世界のオブジェクト145の姿勢に対応することが可能である。すなわち、ユーザがVR環境125および現実世界環境130において同じ姿勢で立っている場合、MRオブジェクト165の姿勢は現実世界のオブジェクト145の姿勢に対応する。
1つの技術的課題は、現実世界のオブジェクト145をVR環境125に持ち込むことを含み得る。この課題に対処するための本明細書に開示される1つの解決策は、現実世界環境130内の現実世界のオブジェクト145をVR環境125内のMRオブジェクト165として適合させて統合することであり得る。特定の実施形態では、1つまたは複数のコンピューティングシステム110は、VR表示デバイス135の1つまたは複数のディスプレイについて、VR環境130の第2の出力画像をレンダリングすることが可能である。VR環境125は、現実世界のオブジェクト145に対応する1つまたは複数のMRオブジェクト165を含み得る。MRオブジェクト165は、決定された第1の寸法150、決定された第2の寸法155、および決定された第3の寸法160によって定義され得る(たとえば、MRオブジェクト165は、図4~図6に示す現実世界のオブジェクト145と同じ寸法を有することが可能である)。すなわち、現実世界のオブジェクト145の決定された第1の寸法150、決定された第2の寸法155、および決定された第3の寸法160を使用して、1つまたは複数のコンピューティングシステム110は、VR表示デバイス135の1つまたは複数のディスプレイについて、現実世界のオブジェクト145の寸法および/または姿勢を使用して、かつそれらに基づいて構築されたMRオブジェクト165のレンダリングをレンダリングすることが可能である。限定ではなく、一例として、現実世界のオブジェクト145(たとえば、現実世界のカウチ)の寸法を決定した後に、1つまたは複数のコンピューティングシステム110は、(たとえば、現実世界のオブジェクト145の実質的に同じ形状およびサイズを有する)現実世界のオブジェクト145の寸法に対応するVR環境125内のMRオブジェクト165(たとえば、MRカウチ)をレンダリングすることが可能である。したがって、ユーザがVR環境125に没入してMRカウチに座りに行くと、ユーザは現実世界環境130の現実世界のカウチに座っていることを知る。本開示は、特定の方法でMRオブジェクトを含む第2の出力画像をレンダリングすることを説明しているが、本開示は、任意の適切な方法で第2の出力画像をレンダリングすることを企図している。
図10は、現実世界環境130のパススルービューを有するMRオブジェクト165の一部を有するVR環境125の例示的なビューを示す。特定の実施形態では、1つまたは複数のコンピューティングシステム110は、MRオブジェクト165のパススルービューの一部を見るための選択を示す第2のユーザ入力を受信することが可能である。第3の出力画像は、MRオブジェクト165のパススルービューの一部を見るための選択を示す第2のユーザ入力の受信に応答してレンダリングされる可能性がある。すなわち、VR表示デバイス135は、レンダリングされたMRオブジェクト165の一部(レンダリングされたMRオブジェクト165の表面170など)を、現実世界環境130における対応する現実世界のオブジェクト145のパススルービューとして示す可能性がある。図10に示すように、表面170は、決定された寸法のうちの2つまたはそれ以上によって定義されてもよい(たとえば、図10の表面170は、第1の寸法150と、カウチの座面を定義する第2の寸法155とによって定義される)。限定ではなく、一例として、ユーザがMRオブジェクト165(たとえば、現実世界環境130における現実世界のカウチに基づくMRカウチ)に近づくと、1つまたは複数のコンピューティングシステム110は、現実世界環境130を示すパススルービューをレンダリングすることが可能である。1つまたは複数のコンピューティングシステム110は、現実世界のオブジェクト145の明瞭な(たとえば、不透明または着色された輪郭としてレンダリングされる)ビューをレンダリングすることが可能である。したがって、ユーザは、ユーザが座ることを計画し得るカウチの表面に障害物またはオブジェクトがないことを確認することが可能である。技術的利点は、ユーザが依然としてVR環境125に没入している間に、現実世界環境130のパススルービューを通して現実世界環境130の迅速な見通しを提供することを含み得る。したがって、たとえば、ユーザがVR体験に没入している間にカウチにペットが飛び乗った場合、ユーザは座る前にカウチがペットから離れていることを確認することができる。限定ではなく、別の例として、ユーザは、現実世界環境130における現実世界の机のパススルービューとしてMR机の一部を見てもよく、VR体験に没入している間にユーザの手が倒れる可能性があるオブジェクトが机から離れていることを保証する。本開示は、特定の方法で第3の出力画像をレンダリングすることについて説明しているが、本開示は、任意の適切な方法で第3の出力画像をレンダリングすることを企図している。
技術的課題は、ユーザがVR体験に没入している間に、現実世界環境130および現実世界環境130内の現実世界のオブジェクト145に関する空間情報をユーザに伝達することを含み得る。この課題に対処するために本明細書で開示される解決策は、VR環境125の没入を大きく妨げることなく、ユーザが現実世界環境130内のどこにあるかを確認できるように、現実世界環境130内の現実世界のオブジェクト145に対応するVR環境125内のMRオブジェクト165をレンダリングすることであり得る。さらに、この課題に対処するために本明細書で開示される実施形態によって提示される解決策は、VR環境内の現実世界環境のパススルービューをレンダリングして、ユーザが現実世界のオブジェクトの存在を認識させられない場合にユーザに傷害を引き起こす可能性がある現実世界のオブジェクトをユーザが識別するのを助けることであり得る。特定の実施形態では、1つまたは複数のコンピューティングシステム110は、MRオブジェクト165のパススルービューの一部を見るための選択を示す第2のユーザ入力を受信し、MRオブジェクト165のパススルービューの一部を見るための選択を示す第2のユーザ入力の受信に応答して第3の出力画像をレンダリングすることが可能である。たとえば、ユーザは、MRオブジェクト165のパススルービューを見るために選択してもよい(たとえば、パーソナルUI 115上のボタンを選択してもよい)。ユーザは、他の場所ではVR環境125のレンダリングを維持しながら、現実世界環境130のパススルービューとしてカウチの表面または座席を見るように(たとえば、パーソナルUI 115上のボタンを介して)指示する可能性がある。したがって、ユーザは、現実世界のオブジェクト145に対応するMRオブジェクト165が障害物または他のオブジェクトから離れていることを保証することができる。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、MRオブジェクト165が閾値期間にわたってVR表示デバイス135のユーザの視野の中心にあると判定し、MRオブジェクト165が閾値期間にわたってユーザの視野の中心にあると判定したことに応答して第3の出力画像をレンダリングすることが可能である。すなわち、MRオブジェクト165が所定の期間にわたってユーザの視野の中心にあるか、または所定の期間にわたってユーザの視野の中心にある場合、MRオブジェクト165の一部は、現実世界環境130における対応する現実世界のオブジェクト145のパススルービューとしてレンダリングされる可能性がある。たとえば、ユーザがMRカウチを所定の期間(たとえば、5秒)見ている場合、1つまたは複数のコンピューティングシステムは、カウチの表面170のパススルービューを自動的に表示して、ユーザがカウチを使用することによって損傷する可能性のあるオブジェクトがないことをユーザが確認できるようにし、またはカウチがオブジェクトから離れていることを確認する前に、ユーザがカウチに座った場合にユーザに傷害を引き起こす可能性のあるオブジェクトがないことをユーザが確認できるようにすることが可能である。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、VR表示デバイス135のユーザが現実世界のオブジェクト145の閾値距離内に近づいたか否かを判定し、ユーザが現実世界のオブジェクト145の閾値距離内に近づいたとの判定に応答して第3の出力画像をレンダリングすることが可能である。すなわち、ユーザがMRオブジェクト165に近づくと、MRオブジェクト165の一部は、現実世界環境130における対応する現実世界のオブジェクト145のパススルービューとしてレンダリングされる可能性がある。たとえば、ユーザがMRオブジェクト165(たとえば、カウチ)に近づくと、1つまたは複数のコンピューティングシステム110は、ユーザが現実世界のオブジェクト145の閾値距離内、たとえば、現実世界のオブジェクト145の1メートル以内にあると判定することが可能である。ユーザが閾値距離内にあると判定した後、1つまたは複数のコンピューティングシステム110は、ユーザがカウチを使用することによって損傷し得るオブジェクトがないことをユーザが確認することを可能にするために、またはカウチがオブジェクトから離れていることを確実にする前にユーザがカウチに座った場合にユーザに傷害を引き起こす可能性があるオブジェクトがないことを確認するために、カウチの表面170のパススルービューを自動的に示す可能性がある。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、MRオブジェクト165がVR表示デバイス135のユーザの視野内にあるか否かを判定し、MRオブジェクト165がユーザの視野内にあると判定したことに応答して第3の出力画像をレンダリングすることが可能である。すなわち、ユーザがMRオブジェクト165を凝視する場合、MRオブジェクト165の一部は、現実世界環境130における対応する現実世界のオブジェクト145のパススルービューとしてレンダリングされる可能性がある。パススルービューの一部は、ユーザが対話することが可能であるMRオブジェクト165のプレビューをユーザに迅速に提供するようにレンダリングすることが可能である。したがって、ユーザは、VR環境130内のオブジェクトがユーザが対話することが可能であるMRオブジェクト165であるか否か、およびMRオブジェクト165が安全に対話することが可能である(たとえば、MRオブジェクト165から除去されていない場合にユーザに害を及ぼし得る他のオブジェクトがない)か否かを迅速に判定することが可能である。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、MRオブジェクト165に対応する現実世界のオブジェクト145上にオブジェクトが新たに現れたか否かを判定することが可能である。たとえば、ユーザが現実世界のオブジェクト145(たとえば、カウチ)に基づいてMRオブジェクト165をレンダリングし、ユーザのペットが続いてカウチに飛び乗った場合、オブジェクト検出フィルタを使用して、現実世界のカウチ上にある新しいオブジェクト(たとえば、ペット)を識別することが可能である。次いで、ユーザは、現実世界のカウチ上にオブジェクトを示すためにパススルービューを使用して、または新しいオブジェクトを明瞭なオブジェクトとしてレンダリングすることによって(たとえば、オブジェクトの不透明または着色された輪郭)、新しいオブジェクトの存在について警告されることができる。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、VR表示デバイス135の1つまたは複数のディスプレイについて、現実世界環境130に対応する仮想境界をレンダリングすることが可能である。VR環境125は、現実世界環境130に対応する仮想境界を有することが可能である。仮想境界は、VR環境125に没入している間にユーザが探索するための安全領域のエッジをマークすることが可能である。ユーザが仮想境界に近づくと、仮想境界壁が現れるかまたは起動し得る。これらの仮想境界壁は、VR環境125にいる間の没入を妨げ、ユーザの体験を損なう可能性がある格子状の外観を有することが可能である。たとえば、部屋スケールの(VR体験中にユーザが部屋を歩き回ることができる)VR環境では、仮想境界は、VR表示デバイス135を装着しているユーザが回避したい現実世界のオブジェクト145(たとえば、カウチ、椅子、テーブル、壁、障害物など)に対応することが可能である。仮想境界は、ユーザによって(たとえば、コントローラ106を使用してユーザに仮想境界を手動で引かせることによって)定義されてもよく、自動的に決定されてもよく(たとえば、画像プロセッサは、安全な境界を決定し、境界壁を自動的に決定してもよく)、半自動的に決定されてもよい(たとえば、画像プロセッサは、安全な境界および境界壁を決定または提案してもよく、ユーザは、決定された境界壁を手動で拡張または編集してもよい)。
特定の実施形態では、1つまたは複数のコンピューティングシステム110は、現実世界のオブジェクト145に対応する第2の寸法155および第3の寸法160を自動的に決定することに応答して、識別された現実世界のオブジェクト145を含むように仮想境界を拡張することが可能である。すなわち、現実世界のオブジェクト145がユーザによって定義された元の仮想境界の外側にある場合、現実世界のオブジェクトの寸法を決定した後、1つまたは複数のコンピューティングシステム110は、現実世界のオブジェクト145を含むように仮想境界を拡張することが可能である。たとえば、ユーザが最初に仮想境界を現実世界のオブジェクト(たとえば、カウチ)のエッジに移動させた場合、カウチの寸法を決定した後、仮想境界はカウチを含むように拡張され得る。したがって、ユーザは、カウチに近づくかまたはカウチと対話するときに仮想境界壁を見ることがなく、VR体験の没入に対する混乱を低減する。
パーソナルUIの特徴または属性のうちの1つは、VR環境125と現実世界環境130との間の遷移のためのスイッチ、トグル、ボタン、またはスライダであり得る。図11Aは、現実世界環境130を示すように構成されたパーソナルUI 115のリアリティスライダ140の例示的なビューを示す。図11Bは、VR環境125を示すように構成されたパーソナルUI 115のリアリティスライダ140の例示的なビューを示す。図12は、現実世界環境130とVR環境125との間の遷移を示すように構成されたパーソナルUI 115のリアリティスライダ140の例示的なビューを示す。リアリティスライダ140を使用して、現実世界環境130とVR環境125とを切り替えることができる。たとえば、リアリティスライダ140が(図11Aと同様に)ずっと右にある場合、VR表示デバイス135は現実世界環境130のビュー(たとえば、パススルービュー)をレンダリングする。リアリティスライダ140が左端まである場合(図11Bと同様に)、VR表示デバイス135はVR環境125のビューをレンダリングする。リアリティスライダは、VR環境125と現実世界環境130とのブレンドを表示するように切り替えることができる。たとえば、リアリティスライダがリアリティスライダバーの中間のどこかにある場合(図12と同様に)、VR表示デバイス135は、VR環境125と現実世界環境130との間のぼかし、または他の形式の遷移をレンダリングすることが可能である。すなわち、VR環境125は、現実世界環境130における不透明レンダリングとして到来してもよく、または現実世界環境130は、VR環境125における不透明レンダリングとして到来してもよい。実施形態の技術的利点は、ユーザがVR環境125と現実世界環境130との間で迅速に切り替えることを可能にすることによって空間情報を提供することを含み得る。
図13は、VR環境125内のMRオブジェクト165に近づくユーザ102の第三者ビューを示す。ユーザ102は、1つまたは複数のMRオブジェクト165(たとえば、MR机およびMR仮想スクリーン)に近づく可能性がある。ユーザ102に近接しているのは、パーソナルUI 115であり得る。図3の説明において上述したように、パーソナルUI 115は、1つまたは複数の属性を有することが可能である。属性は、MRオブジェクト165に対して適合することが可能である。たとえば、パーソナルUI 115の属性のうちの1つは、パーソナルUI 115のフォームファクタ(たとえば、パーソナルUI 115の外観またはレイアウト)であり得る。パーソナルUI 115のフォームファクタは、ユーザの環境またはユーザの要望およびニーズの変化に基づいて異なる外観またはレイアウトをとる可能性がある。パーソナルUI 115の第1のフォームファクタは、MRオブジェクト165に対するユーザ102の近接度に基づいてパーソナルUI 115の第2のフォームファクタに適合することが可能である。パーソナルUI 115の属性の別の1つは、パーソナルUIのユーザ機能セットであり得る。パーソナルUIのユーザ機能セットは、パーソナルUI 115またはMRオブジェクト165に近づくユーザを適合させるためのユーザ選択に応答して変化または適合することが可能である。すなわち、パーソナルUI 115の第1のユーザ機能セットは、MRオブジェクトに対するユーザの近接度に基づいてパーソナルUIの第2のユーザ機能セットになってもよい。たとえば、パーソナルUIの第1のフォームファクタは、ユーザ102の前にあり、ユーザに近接しているフローティング仮想オブジェクトであり得る。第1のユーザ機能セットは、たとえば、ビデオゲームアプリケーション120およびビデオストリーミングアプリケーション120などのエンターテイメントに特化した機能を含み得る第1のアプリケーションセットを含み得る。ユーザがMRオブジェクト165に近づくと(たとえば、ユーザがMR机に近づくと)、パーソナルUI 115の属性はMRオブジェクト165に適合することが可能である。MRオブジェクト165に対するユーザ102の近接度は、ユーザがMRオブジェクト165の閾値距離内に近づいたと判定することによって測定することが可能である。たとえば、閾値距離は、MRオブジェクト165から1メートルであり得る。ユーザが閾値距離内に近づくにつれて、パーソナルUI 115の1つまたは複数の属性は、MRオブジェクト165に対して適合することが可能である。
図14は、MRオブジェクト165に近づくユーザ102のユーザ視点ビューを示す。図15は、MRオブジェクト165におけるユーザ102のユーザ視点ビューを示す。ユーザ102がMRオブジェクト165(たとえば、MR机)に近づくにつれて、パーソナルUI 115はMR机に適合することが可能である。パーソナルUI 115は、第1のフォームファクタから第2のフォームファクタに変更することによって適合してもよい。たとえば、パーソナルUI(たとえば、図13に見られるようなフローティング仮想オブジェクト)の第1のフォームファクタは、MRオブジェクト165(現実世界環境130における現実世界のスクリーンに対応するMRスクリーンなど)またはVRオブジェクト(MR机上の仮想スクリーンなど)に「スナップ」または貼り付ける可能性がある。したがって、パーソナルUI 115は、机の上の職場モニタ設定を模倣する第2のフォームファクタを有することが可能である。さらに、第1のユーザ機能セット(たとえば、図13に見られるようなゲームおよびストリーミングアプリケーション120)は、第2の機能セット(たとえば、図14および図15に見られるようなワークチャット、ビジネスネットワーク、およびインターネットブラウザアプリケーション120)に適合することが可能である。すなわち、機能セットは、ユーザ102がMR机にいるときにユーザが「仕事」モードに入ることを検出することによってMRオブジェクトに適合することが可能である。したがって、機能セットは、エンターテイメント(たとえば、ゲーム、ストリーミングなどのアプリケーション)から仕事関連アプリケーション(ワークチャット、ビジネスネットワークなどのアプリケーション)に適合することができる。限定ではなく、別の例として、ユーザ102がMRカウチに近づくと、パーソナルUI 115の第2のフォームファクタは、エンターテイメント関連アプリケーション(ゲームまたはストリーミングアプリケーションなど)を対象とした第2の機能セットを有する映画館のスクリーンまたはワイドスクリーンテレビとして現れる可能性がある。
特定の実施形態では、パーソナルUI 115は、異なるユーザ機能間を遷移するためのスイッチ、トグル、ボタン、またはスライダを含み得る。たとえば、選択されると、フォームファクタを第1のフォームファクタから第2のフォームファクタに切り替えるパーソナルUI 115上のアイコンがあり得る。選択されると、第1のユーザ機能セット(仕事関連アプリケーションセットなど)から第2のユーザ機能セット(エンターテイメント関連アプリケーションセットなど)に切り替わるパーソナルUI上のアイコンがあり得る。
図16は、VR環境においてMRオブジェクトと対話するための例示的な方法1600を示す。本方法は、ステップ1610で開始し得、1つまたは複数のコンピューティングシステムが、VR表示デバイスの1つまたは複数のディスプレイについて、現実世界環境のパススルービューを含む第1の出力画像をレンダリングすることが可能である。ステップ1620において、本方法は、VR表示デバイスの1つまたは複数のディスプレイの1つまたは複数のカメラによって取り込まれた1つまたは複数の画像を使用して、現実世界環境内の現実世界のオブジェクトを識別することを含み得る。ステップ1630において、本方法は、現実世界のオブジェクトに対応する第1の寸法を示す第1のユーザ入力を受信することを含み得る。ステップ1640において、本方法は、第1の寸法に基づいて、現実世界のオブジェクトに対応する第2の寸法および第3の寸法を自動的に決定することを含み得る。ステップ1650において、本方法は、VR表示デバイスの1つまたは複数のディスプレイについて、VR環境の第2の出力画像をレンダリングすることを含み得る。VR環境は、現実世界のオブジェクトに対応するMRオブジェクトを含み得る。MRオブジェクトは、決定された第1の寸法、第2の寸法、および第3の寸法によって定義され得る。特定の実施形態は、適切な場合、図16の方法の1つまたは複数のステップを繰り返してもよい。本開示は、図16の方法の特定のステップを特定の順序で発生するものとして説明および図示しているが、本開示は、任意の適切な順序で発生する図16の方法の任意の適切なステップを企図している。その上、本開示は、図16の方法の特定のステップを含むVR環境においてMRオブジェクトと対話するための例示的な方法1600を説明および図示するが、本開示は、図16の方法のステップのすべて、一部、またはいずれも適切な場合には含まない任意の適切なステップを含むVR環境においてMRオブジェクトと対話するための例示的な方法1600を図示するための任意の適切な方法を企図する。さらに、本開示は、図16の方法の特定のステップを実行する特定の構成要素、装置、またはシステムを説明および図示しているが、本開示は、図16の方法の任意の適切なステップを実行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せを企図している。
図17は、VRまたはソーシャルネットワーキングシステムに関連付けられた例示的なネットワーク環境1700を示している。ネットワーク環境1700は、ネットワーク1710によって互いに接続されたクライアントシステム1730、VRまたはソーシャルネットワーキングシステム1760、およびサードパーティーシステム1770を含む。図17は、クライアントシステム1730、VRまたはソーシャルネットワーキングシステム1760、サードパーティーシステム1770、およびネットワーク1710の特定の配置を示しているが、本開示は、クライアントシステム1730、VRまたはソーシャルネットワーキングシステム1760、サードパーティーシステム1770、およびネットワーク1710の任意の適切な配置を企図している。限定ではなく、一例として、クライアントシステム1730、VRまたはソーシャルネットワーキングシステム1760、およびサードパーティーシステム1770のうちの2つまたはそれ以上が、ネットワーク1710をバイパスして互いに直接接続され得る。別の例として、クライアントシステム1730、VRまたはソーシャルネットワーキングシステム1760、およびサードパーティーシステム1770のうちの2つまたはそれ以上が、全体的または部分的に、物理的または論理的に互いに同一場所に配置され得る。その上、図17は、特定の数のクライアントシステム1730、VRまたはソーシャルネットワーキングシステム1760、サードパーティーシステム1770、およびネットワーク1710を示しているが、本開示は、任意の適切な数のクライアントシステム1730、VRまたはソーシャルネットワーキングシステム1760、サードパーティーシステム1770、およびネットワーク1710を企図している。限定ではなく、一例として、ネットワーク環境1700は、複数のクライアントシステム1730、VRまたはソーシャルネットワーキングシステム1760、サードパーティーシステム1770、およびネットワーク1710を含み得る。
本開示は、任意の適切なネットワーク1710を企図している。限定ではなく、一例として、ネットワーク1710の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、無線LAN(WLAN)、ワイドエリアネットワーク(WAN)、無線WAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部、公衆交換電話網(PSTN)の一部、携帯電話網、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。ネットワーク1710は、1つまたは複数のネットワーク1710を含み得る。
リンク1750は、クライアントシステム1730、ソーシャルネットワーキングシステム1760、およびサードパーティーシステム1770を通信ネットワーク1710に、または互いに接続することが可能である。本開示は、任意の適切なリンク1750を企図している。特定の実施形態では、1つまたは複数のリンク1750は、1つまたは複数の有線(たとえば、デジタル加入者回線(DSL)またはデータオーバーケーブルサービスインターフェース仕様(DOCSIS)など)、無線(たとえば、Wi-FiまたはWiMAX(Worldwide Interoperability for Microwave Access)など)、または光(たとえば、同期光ネットワーク(SONET)または同期デジタル階層(SDH)など)リンクを含む。特定の実施形態では、1つまたは複数のリンク1750は各々、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部、PSTNの一部、セルラー技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク1750、または2つまたはそれ以上のそのようなリンク1750の組合せを含む。リンク1750は、ネットワーク環境1700全体にわたって必ずしも同じである必要はない。1つまたは複数の第1のリンク1750は、1つまたは複数の第2のリンク1750とは1つまたは複数の点で異なり得る。
特定の実施形態では、クライアントシステム1730は、ハードウェア、ソフトウェア、もしくは組み込み論理構成要素、または2つまたはそれ以上のそのような構成要素の組合せを含み、クライアントシステム1730によって実装またはサポートされる適切な機能を実行することが可能である電子デバイスであり得る。限定ではなく、一例として、クライアントシステム1730は、デスクトップコンピュータ、ノートブックコンピュータもしくはラップトップコンピュータ、ネットブック、タブレットコンピュータ、電子書籍リーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、携帯電話、スマートフォン、拡張/仮想現実デバイス、他の適切な電子デバイスなど、またはそれらの任意の適切な組合せといったコンピュータシステムを含み得る。本開示は、任意の適切なクライアントシステム1730を企図している。クライアントシステム1730は、クライアントシステム1730におけるネットワークユーザがネットワーク1710にアクセスすることを可能にし得る。クライアントシステム1730は、そのユーザが他のクライアントシステム1730における他のユーザと通信することを可能にし得る。
特定の実施形態では、クライアントシステム1730(たとえば、HMD)は、本明細書に記載のパススルー機能を提供するためのパススルーエンジン1732を含み得、1つまたは複数のアドオン、プラグイン、または他の拡張機能を有することが可能である。クライアントシステム1730のユーザは、特定のサーバ(サーバ1762、またはサードパーティーシステム1770に関連付けられたサーバなど)に接続することが可能である。サーバは、要求を受け入れ、クライアントシステム1730と通信することが可能である。
特定の実施形態においては、VRまたはソーシャルネットワーキングシステム1760は、オンライン仮想現実環境またはソーシャルネットワークをホストすることができるネットワークアドレス指定可能なコンピューティングシステムとすることが可能である。VRまたはソーシャルネットワーキングシステム1760は、たとえば、ユーザプロファイルデータ、コンセプトプロファイルデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関連する他の適切なデータなどのソーシャルネットワーキングデータを生成し、記憶し、受信し、送信することが可能である。ソーシャルネットワーキングシステムまたはVRシステム1760は、ネットワーク環境1700の他の構成要素によって、直接またはネットワーク1710を介してアクセスされ得る。限定ではなく、一例として、クライアントシステム1730は、ウェブブラウザ、またはソーシャルネットワーキングシステムもしくはVRシステム1760に関連付けられたネイティブアプリケーション(たとえば、モバイルソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、別の適切なアプリケーション、またはそれらの任意の組合せ)を使用して、直接的に、またはネットワーク1710を介して、ソーシャルネットワーキングシステムもしくはVRシステム1760にアクセスすることが可能である。特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1760は、1つまたは複数のサーバ1762を含み得る。各サーバ1762は、単一サーバ、あるいは複数のコンピュータまたは複数のデータセンターにまたがる分散型サーバであり得る。サーバ1762は、たとえば、限定ではないが、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、プロキシサーバ、本明細書に記載の機能またはプロセスを実行するのに適した別のサーバ、またはそれらの任意の組合せなど、様々なタイプのものであり得る。特定の実施形態では、各サーバ1762は、サーバ1762によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込み論理構成要素、または2つまたはそれ以上のそのような構成要素の組合せを含み得る。特定の実施形態においては、ソーシャルネットワーキングシステムまたはVRシステム1760は、1つまたは複数のデータストア1764を含み得る。データストア1764は、様々なタイプの情報を記憶するために使用され得る。特定の実施形態では、データストア1764に記憶された情報は、固有のデータ構造に従って編成され得る。特定の実施形態では、各データストア1764は、リレーショナルデータベース、列指向データベース、相関データベース、または他の適切なデータベースであり得る。本開示は、特定のタイプのデータベースを説明するかまたは示すが、本開示は任意の好適なタイプのデータベースを企図する。特定の実施形態は、クライアントシステム1730、ソーシャルネットワーキングもしくはVRシステム1760、またはサードパーティーシステム1770が、データストア1764に記憶されている情報を管理すること、取り出すこと、修正すること、付加すること、または削除することを可能にするインターフェースを提供することが可能である。
特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1760は、1つまたは複数のソーシャルグラフを1つまたは複数のデータストア1764に記憶することが可能である。特定の実施形態では、ソーシャルグラフは、(各々特定のユーザに対応する)複数のユーザノードまたは(各々特定の概念に対応する)複数の概念ノードを含み得る、複数のノードと、ノードをつなげる複数のエッジとを含み得る。ソーシャルネットワーキングシステムまたはVRシステム1760は、オンラインソーシャルネットワークのユーザに、他のユーザと通信し対話する能力を提供することが可能である。特定の実施形態においては、ユーザは、ソーシャルネットワーキングシステムまたはVRシステム1760を介してオンラインソーシャルネットワークに参加し、次いで、自分がつながりたいと望むソーシャルネットワーキングシステムまたはVRシステム1760のいくつかの他のユーザへのつながり(たとえば、関係)を付加することが可能である。本明細書では、「友達」という用語は、ユーザがソーシャルネットワーキングシステムまたはVRシステム1760を介してつながり、関連付け、または関係を形成した相手であるソーシャルネットワーキングシステムまたはVRシステム1760の任意の他のユーザを指す可能性がある。
特定の実施形態においては、ソーシャルネットワーキングシステムまたはVRシステム1760は、ソーシャルネットワーキングシステムまたはVRシステム1760によってサポートされる様々なタイプのアイテムまたはオブジェクトについてアクションを取る能力をユーザに提供することが可能である。限定ではなく、一例として、アイテムおよびオブジェクトは、ソーシャルネットワーキングシステムまたはVRシステム1760のユーザが属することが可能であるグループもしくはソーシャルネットワーク、ユーザが興味を持つ可能性があるイベントもしくはカレンダー項目、ユーザが使用することが可能であるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを売買することを可能にするトランザクション、ユーザが実行することが可能である広告との対話、または他の適切なアイテムもしくはオブジェクトを含み得る。ユーザは、ソーシャルネットワーキングシステムもしくはVRシステム1760において、またはソーシャルネットワーキングシステムもしくはVRシステム1760とは別個のものであり、ネットワーク1710を介してソーシャルネットワーキングシステムもしくはVRシステム1760に結合されたサードパーティーシステム1770の外部システムによって表すことができる任意のものと対話することが可能である。
特定の実施形態においては、ソーシャルネットワーキングシステムまたはVRシステム1760は、様々なエンティティをリンクすることが可能であり得る。限定ではなく、一例として、ソーシャルネットワーキングシステムまたはVRシステム1760は、ユーザが互いに対話すること、ならびにサードパーティーシステム1770もしくは他のエンティティからのコンテンツを受信することを可能にし得、またはユーザがアプリケーションプログラミングインターフェース(API)もしくは他の通信チャネルを通じてこれらのエンティティと対話することを可能にし得る。
特定の実施形態においては、サードパーティーシステム1770は、これらに限られるわけではないがAPIを含む、1つまたは複数のタイプのサーバ、1つまたは複数のデータストア、1つまたは複数のインターフェース、1つまたは複数のウェブサービス、1つまたは複数のコンテンツソース、1つまたは複数のネットワーク、あるいはたとえばサーバが通信することが可能である任意の他の適切な構成要素を含み得る。サードパーティーシステム1770は、ソーシャルネットワーキングシステムまたはVRシステム1760を運営しているエンティティとは異なるエンティティによって運営され得る。しかしながら、特定の実施形態においては、ソーシャルネットワーキングシステムまたはVRシステム1760およびサードパーティーシステム1770は、ソーシャルネットワーキングシステムまたはVRシステム1760またはサードパーティーシステム1770のユーザにソーシャルネットワーキングサービスを提供するために互いに連携して動作することが可能である。この意味で、ソーシャルネットワーキングシステムまたはVRシステム1760は、サードパーティーシステム1770などの他のシステムがソーシャルネットワーキングサービスおよび機能をインターネットにわたってユーザに提供するために使用することが可能であるプラットフォームまたはバックボーンを提供することが可能である。
特定の実施形態においては、サードパーティーシステム1770は、サードパーティーコンテンツオブジェクトプロバイダを含み得る。サードパーティーのコンテンツオブジェクトプロバイダは、クライアントシステム1730に通信され得るコンテンツオブジェクトの1つまたは複数のソースを含み得る。限定としてではなく一例として、コンテンツオブジェクトは、たとえば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の好適な情報など、ユーザにとって興味のある物またはアクティビティに関する情報を含み得る。限定としてではなく別の例として、コンテンツオブジェクトは、クーポン、ディスカウントチケット、ギフト券、または他の好適なインセンティブオブジェクトなど、インセンティブコンテンツオブジェクトを含み得る。
特定の実施形態においては、ソーシャルネットワーキングシステムまたはVRシステム1760はまた、ソーシャルネットワーキングシステムまたはVRシステム1760とのユーザの対話を高めることが可能であるユーザ生成コンテンツオブジェクトを含む。ユーザ生成コンテンツは、ユーザがソーシャルネットワーキングシステムまたはVRシステム1760に付加、アップロード、送信、または「投稿」することが可能である任意のものを含み得る。限定ではなく、一例として、ユーザは、クライアントシステム1730からソーシャルネットワーキングシステムまたはVRシステム1760へ投稿を通信する。投稿は、ステータス更新または他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽あるいは他の同様のデータまたはメディアなど、データを含み得る。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を介してサードパーティーによってソーシャルネットワーキングシステムまたはVRシステム1760に付加されることも可能である。
特定の実施形態においては、ソーシャルネットワーキングシステムまたはVRシステム1760は、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含み得る。特定の実施形態においては、ソーシャルネットワーキングシステムまたはVRシステム1760は、ウェブサーバ、アクションロガー、API要求サーバ、関連性およびランキングエンジン、コンテンツオブジェクト分類器、通知コントローラ、アクションログ、サードパーティーコンテンツオブジェクト公開ログ、推測モジュール、承認/プライバシーサーバ、検索モジュール、広告ターゲティングモジュール、ユーザインターフェースモジュール、ユーザプロファイルストア、つながりストア、サードパーティーコンテンツストア、またはロケーションストアのうちの1つまたは複数を含み得る。ソーシャルネットワーキングシステムまたはVRシステム1760はまた、ネットワークインターフェース、セキュリティメカニズム、ロードバランサ、フェイルオーバーサーバ、管理およびネットワークオペレーションコンソール、他の適切な構成要素、またはそれらの任意の適切な組合せなどの適切な構成要素を含み得る。特定の実施形態においては、ソーシャルネットワーキングシステムまたはVRシステム1760は、ユーザプロファイルを記憶するための1つまたは複数のユーザプロファイルストアを含み得る。ユーザプロファイルは、たとえば、経歴情報、人口統計学的情報、行動情報、ソーシャル情報、あるいは、職歴、学歴、趣味もしくは選好、興味、親和性、またはロケーションなど、他のタイプの記述的情報を含み得る。興味情報は、1つまたは複数のカテゴリーに関係する興味を含み得る。カテゴリーは一般的であるかまたは固有のものであり得る。限定としてではなく一例として、ユーザが、靴のブランドに関する記事に対して「いいね!」を表明した場合、カテゴリーは、ブランド、あるいは「靴」または「衣類」の一般的なカテゴリーであり得る。つながりストアは、ユーザに関するつながり情報を記憶するために使用され得る。つながり情報は、同様のまたは共通の職歴、グループメンバーシップ、趣味、学歴を有するか、あるいはいかなる形でも関係するか、または共通属性を共有する、ユーザを指示し得る。つながり情報は、(内部と外部の両方の)異なるユーザとコンテンツとの間のユーザ定義されたつながりをも含み得る。ウェブサーバは、ソーシャルネットワーキングシステムまたはVRシステム1760を、ネットワーク1710を介して1つもしくは複数のクライアントシステム1730または1つもしくは複数のサードパーティーシステム1770にリンクするために使用することが可能である。ウェブサーバは、ソーシャルネットワーキングシステムまたはVRシステム1760と1つまたは複数のクライアントシステム1730との間でメッセージを受信およびルーティングするためのメールサーバまたは他のメッセージング機能を含み得る。API要求サーバは、サードパーティーシステム1770が、1つまたは複数のAPIを呼び出すことによってソーシャルネットワーキングシステムまたはVRシステム1760からの情報にアクセスすることを可能にし得る。ソーシャルネットワーキングシステムまたはVRシステム1760上または外でのユーザのアクションに関するウェブサーバからの通信を受信するために、アクションロガーを使用することが可能である。アクションログと連携して、サードパーティーのコンテンツオブジェクトへのユーザ公開のサードパーティーのコンテンツオブジェクトログを維持することが可能である。通知コントローラは、コンテンツオブジェクトに関する情報をクライアントシステム1730に提供することが可能である。情報は、通知としてクライアントシステム1730にプッシュされてもよく、または情報は、クライアントシステム1730から受信した要求に応答してクライアントシステム1730からプルされてもよい。承認サーバは、ソーシャルネットワーキングシステムまたはVRシステム1760のユーザの1つまたは複数のプライバシー設定を実施するために使用することが可能である。ユーザのプライバシー設定は、ユーザと関連付けられた特定の情報がどのように共有され得るかを決定する。承認サーバは、ユーザが、たとえば適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキングシステムもしくはVRシステム1760によって記録させ、または他のシステム(たとえば、サードパーティーシステム1770)と共有させることをオプトインまたはオプトアウトすることを可能にし得る。サードパーティーコンテンツオブジェクトストアは、サードパーティーシステム1770などのサードパーティーから受信したコンテンツオブジェクトを記憶するために使用され得る。ロケーションストアは、ユーザに関連付けられたクライアントシステム1730から受信したロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、ソーシャル情報、現在時間、ロケーション情報、または他の好適な情報を組み合わせて、関連する広告を通知の形態でユーザに提供し得る。
図18は、例示的なコンピュータシステム1800を示す。特定の実施形態では、1つまたは複数のコンピュータシステム1800は、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数のステップを実行する。特定の実施形態では、1つまたは複数のコンピュータシステム1800は、本明細書で説明または図示される機能を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム1800上で実行されるソフトウェアは、本明細書に記載または図示される1つまたは複数の方法の1つまたは複数のステップを実行するか、または本明細書に記載または図示される機能を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム1800の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
本開示は、任意の適切な数のコンピュータシステム1800を企図している。本開示は、任意の適切な物理的形態をとるコンピュータシステム1800を企図している。限定ではなく、一例として、コンピュータシステム1800は、組み込みコンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)など)、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、またはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム1800は、1つまたは複数のコンピュータシステム1800を含むか、単一または分散型であるか、複数のロケーションにまたがるか、複数の機械にまたがるか、複数のデータセンターにまたがるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム1800は、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数のステップを実質的な空間的または時間的制限なしに実行することが可能である。限定ではなく、一例として、1つまたは複数のコンピュータシステム1800は、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数のステップをリアルタイムまたはバッチモードで実行することが可能である。適切な場合、1つまたは複数のコンピュータシステム1800は、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数のステップを異なる時間または異なるロケーションで実行することが可能である。
特定の実施形態では、コンピュータシステム1800は、プロセッサ1802、メモリ1804、ストレージ1806、入力/出力(I/O)インターフェース1808、通信インターフェース1810、およびバス1812を含む。本開示は、特定の配置において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な配置において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
特定の実施形態では、プロセッサ1802は、コンピュータプログラムを構成するものなどの命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ1802は、内部レジスタ、内部キャッシュ、メモリ1804、またはストレージ1806から命令を取り出し(またはフェッチし)、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ1804、またはストレージ1806に1つまたは複数の結果を書き込み得る。特定の実施形態においては、プロセッサ1802は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ1802を企図している。限定ではなく、一例として、プロセッサ1802は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数の変換ルックアサイドバッファー(TLB)を含み得る。命令キャッシュ内の命令は、メモリ1804またはストレージ1806内の命令のコピーであってもよく、命令キャッシュは、プロセッサ1802によるそれらの命令の取り出しを高速化することが可能である。データキャッシュ内のデータは、プロセッサ1802において実行して動作する命令のためのメモリ1804またはストレージ1806内のデータのコピーであり得る。プロセッサ1802で実行される後続の命令によるアクセスのため、またはメモリ1804もしくはストレージ1806への書き込みのためにプロセッサ1802で実行される先行する命令の結果;または他の適切なデータ。データキャッシュは、プロセッサ1802による読み取りまたは書き込み動作を高速化し得る。TLBは、プロセッサ1802の仮想アドレス変換を高速化することが可能である。特定の実施形態においては、プロセッサ1802は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ1802を企図している。適切な場合、プロセッサ1802は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ1802を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ1804は、プロセッサ1802が実行するための命令またはプロセッサ1802が動作するためのデータを記憶するためのメインメモリを含む。限定ではなく、一例として、コンピュータシステム1800は、ストレージ1806または別のソース(たとえば、別のコンピュータシステム1800など)からメモリ1804に命令をロードし得る。次いで、プロセッサ1802は、メモリ1804から内部レジスタまたは内部キャッシュに命令をロードすることが可能である。命令を実行するために、プロセッサ1802は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号することが可能である。命令の実行中または実行後に、プロセッサ1802は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込む可能性がある。次いで、プロセッサ1802は、それらの結果のうちの1つまたは複数をメモリ1804に書き込む可能性がある。特定の実施形態では、プロセッサ1802は、(ストレージ1806または他の場所とは対照的に)1つまたは複数の内部レジスタもしくは内部キャッシュまたはメモリ1804内の命令のみを実行し、(ストレージ1806または他の場所とは対照的に)1つまたは複数の内部レジスタもしくは内部キャッシュまたはメモリ1804内のデータのみに対して動作する。(各々がアドレスバスおよびデータバスを含み得る)1つまたは複数のメモリバスは、プロセッサ1802をメモリ1804に結合することが可能である。バス1812は、後述するように、1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ1802とメモリ1804との間に常駐し、プロセッサ1802によって要求されるメモリ1804へのアクセスを容易にする。特定の実施形態においては、メモリ1804は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ1804は、適切な場合、1つまたは複数のメモリ1804を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
特定の実施形態においては、ストレージ1806は、データまたは命令のための大容量ストレージを含む。限定ではなく、一例として、ストレージ1806は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。ストレージ1806は、適切な場合、リムーバブルまたは非リムーバブル(または固定された)媒体を含み得る。ストレージ1806は、適切な場合、コンピュータシステム1800の内部または外部にあり得る。特定の実施形態では、ストレージ1806は、不揮発性ソリッドステートメモリである。特定の実施形態においては、ストレージ1806は、読み出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の適切な物理的形態をとる大容量ストレージ1806を企図している。ストレージ1806は、適切な場合、プロセッサ1802とストレージ1806との間の通信を容易にする1つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ1806は、1つまたは複数のストレージ1806を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース1808は、コンピュータシステム1800と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム1800は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含み得る。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム1800との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサを含み得る。本開示は、任意の適切なI/Oデバイスおよびそれらのための任意の適切なI/Oインターフェース1808を企図している。適切な場合、I/Oインターフェース1808は、プロセッサ1802がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスもしくはソフトウェアドライバを含み得る。I/Oインターフェース1808は、適切な場合、1つまたは複数のI/Oインターフェース1808を含み得る。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース1810は、コンピュータシステム1800と、1つもしくは複数の他のコンピュータシステム1800または1つもしくは複数のネットワークとの間の通信(たとえば、パケットベースの通信など)のための1つもしくは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、一例として、通信インターフェース1810は、イーサネット(登録商標)もしくは他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタ、またはWI-FIネットワークなどの無線ネットワークと通信するための無線NIC(WNIC)もしくは無線アダプタを含み得る。本開示は、任意の適切なネットワークと、そのネットワークのための任意の適切な通信インターフェース1810とを企図している。限定としてではなく一例として、コンピュータシステム1800は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム1800は、無線PAN(WPAN)(たとえばBLUETOOTH WPANなど)、WI-FIネットワーク、WI-MAXネットワーク、携帯電話網(たとえば、GSM(Global System for Mobile Communications)ネットワークなど)、またはその他の適切な無線ネットワーク、またはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム1800は、適切な場合、これらのネットワークのいずれかのための任意の適切な通信インターフェース1810を含み得る。通信インターフェース1810は、適切な場合、1つまたは複数の通信インターフェース1810を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス1812は、コンピュータシステム1800の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス1812は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の適切なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。バス1812は、適切な場合、1つまたは複数のバス1812を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、配置されるか、実施することが可能であるか、実施するように構成されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、配置されるか、可能であるか、構成されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。
Claims (15)
- 1つまたは複数のコンピューティングシステムによって、
仮想現実(VR)表示デバイスの1つまたは複数のディスプレイについて、現実世界環境のパススルービューを含む第1の出力画像をレンダリングすることと、
前記VR表示デバイスの前記1つまたは複数のディスプレイの1つまたは複数のカメラによって取り込まれた1つまたは複数の画像を使用して、前記現実世界環境内の現実世界のオブジェクトを識別することと、
前記現実世界のオブジェクトに対応する第1の寸法を示す第1のユーザ入力を受信することと、
前記第1の寸法に基づいて、前記現実世界のオブジェクトに対応する第2の寸法および第3の寸法を自動的に決定することと、
前記VR表示デバイスの前記1つまたは複数のディスプレイについて、VR環境の第2の出力画像をレンダリングすることであって、前記VR環境が、前記現実世界のオブジェクトに対応する複合現実(MR)オブジェクトを含み、前記MRオブジェクトが、決定された前記第1の寸法、前記第2の寸法、および前記第3の寸法によって定義される、第2の出力画像をレンダリングすることと、
を含む、方法。 - 前記VR表示デバイスの前記1つまたは複数のカメラによって取り込まれた前記現実世界環境の1つまたは複数の画像にアクセスすることと、
前記VR表示デバイスの前記1つまたは複数のディスプレイについて、アクセスされた前記画像に基づいて、前記VR環境の一部および前記現実世界環境の前記パススルービューの一部を含む第3の出力画像をレンダリングすることであって、前記パススルービューの一部が、前記VR環境内の前記MRオブジェクトの表面に位置する、第3の出力画像をレンダリングすることと、
をさらに含む、請求項1に記載の方法。 - 前記MRオブジェクトの前記パススルービューの一部を見るための選択を示す第2のユーザ入力を受信することをさらに含み、前記第3の出力画像が、前記MRオブジェクトの前記パススルービューの一部を見るための前記選択を示す前記第2のユーザ入力の受信に応答してレンダリングされる、請求項2に記載の方法。
- 前記MRオブジェクトが閾値期間にわたって前記VR表示デバイスのユーザの視野の中心にあると判定することをさらに含み、前記第3の出力画像が、前記MRオブジェクトが前記閾値期間にわたって前記ユーザの視野の中心にあると判定したことに応答してレンダリングされる、請求項2または3に記載の方法。
- 前記VR表示デバイスのユーザが前記現実世界のオブジェクトの閾値距離内に近づいたか否かを判定することをさらに含み、前記第3の出力画像が、前記ユーザが前記現実世界のオブジェクトの前記閾値距離内に近づいたとの判定に応答してレンダリングされる、請求項2から4のいずれか一項に記載の方法。
- 前記MRオブジェクトが前記VR表示デバイスのユーザの視野内にあるか否かを判定することをさらに含み、前記第3の出力画像が、前記MRオブジェクトが前記ユーザの前記視野内にあると判定したことに応答してレンダリングされる、請求項2から5のいずれか一項に記載の方法。
- 前記VR表示デバイスの前記1つまたは複数のディスプレイについて、前記現実世界環境に対応する仮想境界をレンダリングすること
をさらに含み、
好ましくは、前記方法が、
前記現実世界のオブジェクトに対応する前記第2の寸法および前記第3の寸法を自動的に決定することに応答して、識別された前記現実世界のオブジェクトを含むように前記仮想境界を拡張すること
をさらに含む、請求項1から6のいずれか一項に記載の方法。 - 前記VR表示デバイスの前記1つまたは複数のディスプレイについて、パーソナルユーザインターフェース(UI)をレンダリングすることをさらに含み、前記パーソナルUIが、前記VR表示デバイスのユーザに近接した仮想オブジェクトとしてレンダリングされ、前記パーソナルUIが、前記ユーザの動きに対応して移動し、前記パーソナルUIが、前記MRオブジェクトに対して適合する1つまたは複数の属性を有する、請求項1から7のいずれか一項に記載の方法。
- 前記パーソナルUIの前記属性のうちの1つが、
前記パーソナルUIのフォームファクタであって、前記パーソナルUIの第1のフォームファクタが、前記MRオブジェクトに対する前記ユーザの近接度に基づいて前記パーソナルUIの第2のフォームファクタに適合する、前記パーソナルUIのフォームファクタ、および/または、
前記パーソナルUIのユーザ機能セットであって、前記パーソナルUIの第1のユーザ機能セットが、前記MRオブジェクトに対する前記ユーザの近接度に基づいて前記パーソナルUIの第2のユーザ機能セットに適合する、前記パーソナルUIのユーザ機能セット
である、請求項8に記載の方法。 - 前記現実世界のオブジェクトの前記第1の寸法を示す前記ユーザ入力が、前記現実世界のオブジェクトのエッジを定義する前記VR環境内の前記VR表示デバイスのユーザによって作成された仮想線である、請求項1から9のいずれか一項に記載の方法。
- 前記現実世界のオブジェクトの前記第1の寸法を示す前記ユーザ入力が、前記現実世界のオブジェクトのエッジに対応する仮想線の端点を定義する前記VR環境内の前記VR表示デバイスのユーザによって作成された2つの仮想点である、請求項1から9のいずれか一項に記載の方法。
- 前記現実世界のオブジェクトの前記第1の寸法を示す前記ユーザ入力が、前記現実世界のオブジェクトの表面を定義する前記VR環境内の前記VR表示デバイスのユーザによって作成された単一の仮想点である、請求項1から9のいずれか一項に記載の方法。
- コンピュータによって実行されると請求項1から12のいずれか一項に記載の方法を前記コンピュータに実行させる命令を含む、コンピュータ可読媒体。
- 請求項1から12のいずれか一項に記載の方法を実行するように構成されたプロセッサを備える、システム。
- 命令を含むコンピュータプログラム製品であって、前記命令は、前記プログラムがコンピュータによって実行されると、請求項1から12のいずれか一項に記載の方法を前記コンピュータに実行させ、コンピュータプログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/204,699 | 2021-03-17 | ||
US17/204,699 US11417054B1 (en) | 2021-03-17 | 2021-03-17 | Mixed reality objects in virtual reality environments |
PCT/US2022/020292 WO2022197644A1 (en) | 2021-03-17 | 2022-03-15 | Mixed reality objects in virtual reality environments |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024513635A true JP2024513635A (ja) | 2024-03-27 |
Family
ID=81326763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023545773A Pending JP2024513635A (ja) | 2021-03-17 | 2022-03-15 | 仮想現実環境における複合現実オブジェクト |
Country Status (7)
Country | Link |
---|---|
US (2) | US11417054B1 (ja) |
EP (1) | EP4309025A1 (ja) |
JP (1) | JP2024513635A (ja) |
KR (1) | KR20230156029A (ja) |
CN (1) | CN116997881A (ja) |
TW (1) | TW202238531A (ja) |
WO (1) | WO2022197644A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11175730B2 (en) * | 2019-12-06 | 2021-11-16 | Facebook Technologies, Llc | Posture-based virtual space configurations |
US11417054B1 (en) * | 2021-03-17 | 2022-08-16 | Facebook Technologies, Llc. | Mixed reality objects in virtual reality environments |
US20220319059A1 (en) * | 2021-03-31 | 2022-10-06 | Snap Inc | User-defined contextual spaces |
US20230056976A1 (en) * | 2021-08-17 | 2023-02-23 | Meta Platforms Technologies, Llc | Platformization of Mixed Reality Objects in Virtual Reality Environments |
US12026527B2 (en) | 2022-05-10 | 2024-07-02 | Meta Platforms Technologies, Llc | World-controlled and application-controlled augments in an artificial-reality environment |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168153A1 (en) * | 2006-01-13 | 2007-07-19 | Digicontractor Corporation | Method and apparatus for photographic measurement |
US9443353B2 (en) * | 2011-12-01 | 2016-09-13 | Qualcomm Incorporated | Methods and systems for capturing and moving 3D models and true-scale metadata of real world objects |
US9607422B1 (en) * | 2011-12-22 | 2017-03-28 | Msc.Software Corporation | Interactive vertex manipulation system and methods for geometry repair |
US9129404B1 (en) * | 2012-09-13 | 2015-09-08 | Amazon Technologies, Inc. | Measuring physical objects and presenting virtual articles |
US9478030B1 (en) * | 2014-03-19 | 2016-10-25 | Amazon Technologies, Inc. | Automatic visual fact extraction |
US20160147408A1 (en) | 2014-11-25 | 2016-05-26 | Johnathan Bevis | Virtual measurement tool for a wearable visualization device |
US9569859B2 (en) * | 2014-12-29 | 2017-02-14 | Dell Products, Lp | System and method for redefining depth-based edge snapping for three-dimensional point selection |
US10304251B2 (en) * | 2017-06-15 | 2019-05-28 | Microsoft Technology Licensing, Llc | Virtually representing spaces and objects while maintaining physical properties |
US10521020B2 (en) * | 2017-07-12 | 2019-12-31 | Unity IPR ApS | Methods and systems for displaying UI elements in mixed reality environments |
US10627635B2 (en) * | 2017-08-02 | 2020-04-21 | Microsoft Technology Licensing, Llc | Transitioning into a VR environment and warning HMD users of real-world physical obstacles |
DK201870350A1 (en) | 2018-05-07 | 2019-12-05 | Apple Inc. | Devices and Methods for Measuring Using Augmented Reality |
EP3803688A4 (en) * | 2018-06-05 | 2021-08-04 | Magic Leap, Inc. | MATCHING CONTENT WITH A 3D SPATIAL ENVIRONMENT |
US11263824B2 (en) * | 2018-11-14 | 2022-03-01 | Unity IPR ApS | Method and system to generate authoring conditions for digital content in a mixed reality environment |
US10783714B2 (en) * | 2019-01-29 | 2020-09-22 | Verizon Patent And Licensing Inc. | Methods and systems for automatically tailoring a form of an extended reality overlay object |
US10984546B2 (en) * | 2019-02-28 | 2021-04-20 | Apple Inc. | Enabling automatic measurements |
WO2020198437A1 (en) * | 2019-03-27 | 2020-10-01 | Drone Technology LLC | System and method for structure inspection |
US11270522B1 (en) * | 2020-08-31 | 2022-03-08 | Verizon Patent And Licensing Inc. | Systems and methods for facilitating display of augmented reality content |
US11417054B1 (en) * | 2021-03-17 | 2022-08-16 | Facebook Technologies, Llc. | Mixed reality objects in virtual reality environments |
-
2021
- 2021-03-17 US US17/204,699 patent/US11417054B1/en active Active
-
2022
- 2022-02-16 TW TW111105638A patent/TW202238531A/zh unknown
- 2022-03-15 KR KR1020237027954A patent/KR20230156029A/ko unknown
- 2022-03-15 JP JP2023545773A patent/JP2024513635A/ja active Pending
- 2022-03-15 CN CN202280022190.XA patent/CN116997881A/zh active Pending
- 2022-03-15 WO PCT/US2022/020292 patent/WO2022197644A1/en active Application Filing
- 2022-03-15 EP EP22715817.7A patent/EP4309025A1/en active Pending
- 2022-06-30 US US17/855,557 patent/US20220358715A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
TW202238531A (zh) | 2022-10-01 |
WO2022197644A1 (en) | 2022-09-22 |
EP4309025A1 (en) | 2024-01-24 |
US11417054B1 (en) | 2022-08-16 |
US20220358715A1 (en) | 2022-11-10 |
CN116997881A (zh) | 2023-11-03 |
KR20230156029A (ko) | 2023-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2024513635A (ja) | 仮想現実環境における複合現実オブジェクト | |
US11989844B2 (en) | Systems and methods for providing spatial awareness in virtual reality | |
JP2023511639A (ja) | 人工現実における物理環境のリアルタイムの視覚化を表示するためのシステム、方法、およびメディア | |
JP2023511807A (ja) | 人工現実における物理環境のリアルタイムの視覚化を自動的にトリガーするためのシステム、方法、およびメディア | |
CN117425870A (zh) | 虚拟现实中的动态混合现实内容 | |
US20230120052A1 (en) | Adaptable Personal User Interfaces in Cross-Application Virtual Reality Settings | |
US11481960B2 (en) | Systems and methods for generating stabilized images of a real environment in artificial reality | |
US20220148254A1 (en) | Systems and methods for displaying stereoscopic rendered image data captured from multiple perspectives | |
US20230056976A1 (en) | Platformization of Mixed Reality Objects in Virtual Reality Environments | |
US12033270B2 (en) | Systems and methods for generating stabilized images of a real environment in artificial reality | |
US20230259194A1 (en) | Spatial Anchor Sharing for Multiple Virtual Reality Systems in Shared Real-World Environments |