JP2024509668A - アプリケーション間仮想現実設定における適応可能なパーソナル・ユーザ・インターフェース - Google Patents

アプリケーション間仮想現実設定における適応可能なパーソナル・ユーザ・インターフェース Download PDF

Info

Publication number
JP2024509668A
JP2024509668A JP2023543355A JP2023543355A JP2024509668A JP 2024509668 A JP2024509668 A JP 2024509668A JP 2023543355 A JP2023543355 A JP 2023543355A JP 2023543355 A JP2023543355 A JP 2023543355A JP 2024509668 A JP2024509668 A JP 2024509668A
Authority
JP
Japan
Prior art keywords
user
personal
virtual
environment
pose
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
Application number
JP2023543355A
Other languages
English (en)
Inventor
マシュー ルーサー,
パウロ メルキオーリ,
ニコラス ウォレン,
ハヴィリオ, アミール メスギッシュ
ジェシー ジョン マレン,
アンバー チュウ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Technologies LLC
Original Assignee
Meta Platforms Technologies LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Meta Platforms Technologies LLC filed Critical Meta Platforms Technologies LLC
Publication of JP2024509668A publication Critical patent/JP2024509668A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一実施形態では、方法は、VRディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第1の出力画像をレンダリングすることを含む。VR環境は、第1のユーザに関連付けられたパーソナルUIを含む。パーソナルUIは、第1のユーザに関する第1のフォームファクタおよび第1のポーズを有し、1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであり、複数のアプリケーションを実行するように動作可能である。本方法は、VR環境に関する第1のユーザのコンテキストの検出された変化に基づいて、パーソナルUIを適合させるかどうかを判定することを含む。本方法は、VR環境の第2の出力画像をレンダリングすることを含み、パーソナルUIは、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させる決定に応答して、第1のユーザに関する第2のフォームファクタおよび第2のポーズを有するように適合される。【選択図】図7

Description

本開示は、一般に、ネットワーク環境内のデータベースおよびファイル管理に関し、特に、仮想現実(VR)設定においてユーザインターフェース(UI)をカスタマイズすることに関する。
従来、仮想現実(VR)体験のユーザは、VR体験中にユーザがアクセスすることができるダッシュボードまたはメニューのようなユーザインターフェース(UI)を有することができる。UIは、VR設定においてユーザの視野にオーバーレイされた2Dメニューまたはウィンドウとして表示され得る。UIは、異なるVR設定にわたって均一な外観を有することができ、したがって、特定のVR設定でユーザの視界を遮る危険性がある。UIは、ビューから隠され、ユーザによるプロンプトまたはコマンドに従ってプルアップされてもよい。しかしながら、ユーザは、そのような状況でUIの機能性を失う可能性がある。
特定の実施形態では、没入型仮想現実(VR)システム(例えば、頭部装着型VRゴーグル)のユーザは、システムユーザインターフェース(UI)または特定用途向けUIのいずれかによってVR環境のビューを部分的または完全に遮られる可能性があり、したがって、VR環境のビューを遮るリスクがある。ユーザはUIを隠すことができるが、ユーザはUI機能へのアクセスを失う。したがって、1つの技術的課題は、ユーザがVR環境内にあり、異なるVR体験にわたってUIへのアクセスを維持することを含んでもよい。ユーザが異なるVR体験をしている間にUIへのアクセスを維持するという技術的課題に対処するために本明細書で開示される実施形態によって提示される1つの解決策は、ユーザおよびVR環境に最も適したフォームファクタおよび/またはポーズ(すなわち、ユーザに対する位置および向き)を有するようにUIを適合させることなどによって、VR環境に関するユーザのコンテキストにUIを適合させることである。UIは、UIがアクセス可能であり、ユーザがあるVR環境から別のVR環境に移動したり、あるアプリケーションから別のアプリケーションに切り替えたりするときにその機能を維持するという点で、ポータブルであってもよい。また、UIは、個人的、プライベート、およびVR環境でのユーザの体験に合わせてカスタマイズ可能であってもよい。限定ではなく、例として、ユーザは、重要なUI機能を維持しながら、UIの生産性を向上させるために、またはUIの視野障害を減少させるために、UIのフォームファクタおよびポーズを調整することができる。本開示は、特定の方法でUIを適応させてパーソナライズすることによって、ユーザが異なるVR体験をしている間にUIを維持することについて説明しているが、本開示は、ユーザが任意の適切な方法で異なるVR体験をしている間にUIを維持することを企図している。
特定の実施形態では、1つまたは複数のコンピューティングシステムは、VRディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第1の出力画像をレンダリングすることができる。VR環境は、第1のユーザに関連付けられたパーソナルUIを含むことができる。パーソナルUIは、第1のユーザに関する第1のフォームファクタおよび第1のポーズを有することができる。パーソナルUIは、1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであってもよい。パーソナルUIは、複数のアプリケーションを実行するように動作可能であってもよい。1つまたは複数のコンピューティングシステムは、VR環境に関する第1のユーザのコンテキストの変化を検出することができる。1つまたは複数のコンピューティングシステムは、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるかどうかを判定することができる。1つまたは複数のコンピューティングシステムは、VRディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第2の出力画像をレンダリングすることができる。パーソナルUIは、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるとの決定に応答して、第1のユーザに関する第2のフォームファクタおよび第2のポーズを有するように適合され得る。
ユーザが異なるVR環境およびコンテキストにいる間にパーソナルUIを維持するための特定の技術的課題が存在する。1つの技術的課題は、VR体験を妨げたり混乱させたりすることなくUI機能を維持することを含んでもよい。この課題に対処するために本明細書で開示される実施形態によって提示される解決策は、VR環境に関するユーザのコンテキストに基づいてパーソナルUIを適合させることであり得る。別の技術的課題は、ユーザのコンテキストが変化したときを検出することを含むことができる。この課題に対処するために本明細書で開示される実施形態によって提示される解決策は、VR環境および/またはVR環境内のオブジェクトに関するユーザのポーズの変化を判定すること、パーソナルUIのフォームファクタおよび/またはポーズの変化に関連するアプリケーションを選択するユーザによる入力を受信すること、またはあるアプリケーションから別のアプリケーションへの変化を検出することであり得る。
本明細書に開示する特定の実施形態は、1つまたは複数の技術的利点を提供することができる。実施形態の技術的利点は、VR環境に関するユーザのコンテキストの検出された変化に応答して、フォームファクタおよびUIのポーズを自動的に適合させることを含むことができる。実施形態の別の技術的利点は、VR環境内のパーソナルUIを自動的に適合させて実世界オブジェクトのUIを模倣し、ユーザがパーソナルUIの使用に順応するのを助けることを含むことができる。本明細書に開示した特定の実施形態は、上記の技術的利点のいずれも、一部または全部を提供しない可能性がある。本開示の図面、説明、および特許請求の範囲を考慮すると、1つまたは複数の他の技術的利点が当業者には容易に明らかになり得る。
本開示の第1の態様によれば、1つまたは複数のコンピューティングシステムにより、仮想現実(VR)ディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第1の出力画像をレンダリングすることであって、VR環境が第1のユーザに関連付けられたパーソナル・ユーザ・インターフェース(UI)を含み、パーソナルUIが第1のユーザに関する第1のフォームファクタおよび第1のポーズを有し、パーソナルUIが1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであり、パーソナルUIが複数のアプリケーションを実行するように動作可能である、レンダリングすることと、VR環境に関する第1のユーザのコンテキストの変化を検出することと、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるかどうかを決定することと、VRディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第2の出力画像をレンダリングすることであって、パーソナルUIが、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるとの決定に応答して、第1のユーザに関する第2のフォームファクタおよび第2のポーズを有するように適合される、レンダリングすることと、を含む方法が提供される。
いくつかの実施形態では、第1のユーザのコンテキストの変化を検出することは、VR環境において第1のユーザが第1のポーズから第2のポーズに変化したと判定することを含む。
いくつかの実施形態では、第1のユーザが第1のポーズから第2のポーズに変化したことを判定することは、ユーザの位置がVR環境内のオブジェクトのしきい値距離内にあるかどうかを判定することと、ユーザの向きが、ユーザがVR環境内のオブジェクトに面していることを示すかどうかを判定することと、を含む。
いくつかの実施形態では、第1のユーザのコンテキストの変化を検出することは、複数のアプリケーションからパーソナルUI上の特定のアプリケーションを選択するユーザによる入力を受信することを含み、特定のアプリケーションは、パーソナルUIの第2のフォームファクタおよび第2のポーズに関連付けられる。
いくつかの実施形態では、第1のユーザのコンテキストの変化を検出することは、第1のユーザが第1の仮想空間から第2の仮想空間に移動したことを検出することを含む。
いくつかの実施形態では、第1のユーザのコンテキストの変化を検出することは、第1のユーザがパーソナルUI上で第1のアプリケーションの使用から第2のアプリケーションへ切り替えたことを検出することを含む。
いくつかの実施形態では、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるかどうかを判定することは、VR環境におけるユーザの活動に関連付けられたパーソナルUIの所定のフォームファクタおよびポーズを識別することを含む。
いくつかの実施形態では、パーソナルUIは複数の2D仮想ディスプレイを含み、複数の2D仮想ディスプレイは、複数の2D仮想ディスプレイの複数の予め設定された向きを含むタイルベースのレイアウトで配置される。
いくつかの実施形態では、複数の2D仮想ディスプレイのうちの第1の2D仮想ディスプレイが、複数のアプリケーションのうちの第1のアプリケーションの組を実行するように動作可能であり、複数の2D仮想ディスプレイのうちの第2の2D仮想ディスプレイが、複数のアプリケーションのうちの第2のアプリケーションの組を実行するように動作可能である。
いくつかの実施形態では、第1のフォームファクタおよび第2のフォームファクタは、仮想時計、仮想スマートフォン、仮想タブレット、仮想リモコン、仮想コンピュータモニタ、仮想テレビ、および仮想映画画面からなる群から選択される。
いくつかの実施形態では、VR環境は、第1のユーザおよび一人または複数の第2のユーザのための共有仮想空間を含む。
いくつかの実施形態では、第1のユーザのプライバシー設定は、一人または複数の第2のユーザが第1のユーザに関連付けられたパーソナルUI上のコンテンツを閲覧することを妨げる。
いくつかの実施形態では、本方法は、第1のユーザのパーソナルUIからVR環境内の共有仮想画面上にコンテンツをキャストすることをさらに含み、コンテンツは、第1のユーザおよび一人または複数の第2のユーザによって共有仮想画面上で閲覧可能である。
いくつかの実施形態では、複数のアプリケーションは、第1のユーザに関連付けられた実世界コンピューティングデバイス上のアプリケーションに対応する。
本開示の第2の態様によれば、ソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的記憶媒体が提供され、ソフトウェアは、実行されると、仮想現実(VR)ディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第1の出力画像をレンダリングし、VR環境が第1のユーザに関連付けられたパーソナル・ユーザ・インターフェース(UI)を含み、パーソナルUIが第1のユーザに関する第1のフォームファクタおよび第1のポーズを有し、パーソナルUIが1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであり、パーソナルUIが複数のアプリケーションを実行するように動作可能であり、VR環境に関する第1のユーザのコンテキストの変化を検出し、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるかどうかを決定し、VRディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第2の出力画像をレンダリングし、パーソナルUIが、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるとの決定に応答して、第1のユーザに関する第2のフォームファクタおよび第2のポーズを有するように適合される、ように動作可能である。
いくつかの実施形態では、ソフトウェアは、実行されると、第1のユーザのコンテキストの変化を検出して、VR環境において第1のユーザが第1のポーズから第2のポーズに変化したと判定するように動作可能である。
いくつかの実施形態では、ソフトウェアは、実行されると、第1のユーザが第1のポーズから第2のポーズに変化したことを判定して、ユーザの位置がVR環境内のオブジェクトのしきい値距離内にあるかどうかを判定し、ユーザの向きが、ユーザがVR環境内のオブジェクトに面していることを示すかどうかを判定する、ように動作可能である。
いくつかの実施形態では、ソフトウェアは、実行されると、第1のユーザのコンテキストの変化を検出して、第1のユーザがパーソナルUI上で第1のアプリケーションを使用することから第2のアプリケーションに切り替えたことを検出するように動作可能である。
本開示の第3の態様によれば、システムが提供され、システムは、1つまたは複数のプロセッサと、プロセッサによって実行可能な命令を含む、プロセッサに結合された非一時的メモリと、を含み、プロセッサは、命令を実行すると、仮想現実(VR)ディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第1の出力画像をレンダリングし、VR環境が第1のユーザに関連付けられたパーソナル・ユーザ・インターフェース(UI)を含み、パーソナルUIが、第1のユーザに関する第1のフォームファクタおよび第1のポーズを有し、パーソナルUIが1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであり、パーソナルUIが複数のアプリケーションを実行するように動作可能であり、VR環境に関する第1のユーザのコンテキストの変化を検出し、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるかどうかを決定し、第1のユーザが第1の仮想空間から第2の仮想空間に移動したことを検出する、ように動作可能である。
本開示の1つまたは複数の態様または実施形態への組込みに好適であるものとして本明細書で説明される任意の特徴は、本開示の任意のおよびすべての態様および実施形態にわたって一般化可能であるものとすることが理解されよう。本開示の他の態様が、本開示の発明を実施するための形態、特許請求の範囲、および図面に照らして当業者によって理解され得る。上記の概略的な説明および以下の発明を実施するための形態は、例示的および説明的なものにすぎず、特許請求の範囲を限定しない。
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、本明細書で開示される実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本開示による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、例えば、方法において述べられた任意の特徴は、別の請求項カテゴリー、例えば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、前の請求項への意図的な参照(特に複数の従属関係)から生じる主題も請求され得、その結果、請求項とその特徴との任意の組合せが、開示され、添付の特許請求の範囲で選定された従属関係にかかわらず請求され得る。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれも、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
特定の実施形態による、ユーザによって装着された例示的な仮想現実システムを示す図である。 特定の実施形態による、パススルー機能の一例を示す図である。 VR環境におけるユーザの例示的な図である。 例示的なパーソナルUIを示す図である。 パーソナルUIの例示的なフォームファクタを示す図である。 VR環境におけるユーザの一例を示す図である。 パーソナルUIのための仮想ディスプレイの配置の例示的な図である。 実世界環境においてコンピューティングデバイスUIを有する実世界コンピューティングデバイスを使用する第1のユーザの一例を示す図である。 VR環境における第1のユーザのためのパーソナルUIの一例を示す図である。 VR環境における共有仮想画面上へのコンテンツのキャスティングの一例を示す図である。 VR環境におけるパーソナルUIをレンダリングするための例示的な方法を示す図である。 ソーシャルネットワーキングシステムと関連付けられた例示的なネットワーク環境を示す図である。 例示的なコンピュータシステムを示す図である。
特定の実施形態では、没入型仮想現実(VR)システム(例えば、頭部装着型VRゴーグル)のユーザは、VR環境のビューをシステムユーザインターフェース(UI)または特定用途向けUIのいずれかによって部分的または完全に遮蔽または遮られる可能性があり、したがってVR環境のビューを遮るリスクがある。ユーザはUIを隠すことができるが、ユーザはUI機能へのアクセスを失う。したがって、1つの技術的課題は、ユーザがVR環境内にあり、異なるVR体験にわたってUIへのアクセスを維持することを含んでもよい。ユーザが異なるVR体験をしている間にUIへのアクセスを維持するという技術的課題に対処するために本明細書で開示される実施形態によって提示される1つの解決策は、ユーザおよびVR環境に最も適したフォームファクタおよび/またはポーズ(すなわち、ユーザに対する位置および向き)を有するようにUIを適合させることなどによって、VR環境に関するユーザのコンテキストにUIを適合させることである。UIは、UIがアクセス可能であり、ユーザがあるVR環境から別のVR環境に移動したり、あるアプリケーションから別のアプリケーションに切り替えたりするときにその機能を維持するという点で、ポータブルであってもよい。また、UIは、個人的、プライベート、およびVR環境でのユーザの体験に合わせてカスタマイズ可能であってもよい。限定ではなく、例として、ユーザは、重要なUI機能を維持しながら、UIの生産性を向上させるために、またはUIの視野障害を減少させるために、UIのフォームファクタおよびポーズを調整することができる。本開示は、特定の方法でUIを適応させてパーソナライズすることによって、ユーザが異なるVR体験をしている間にUIを維持することについて説明しているが、本開示は、ユーザが任意の適切な方法で異なるVR体験をしている間にUIを維持することを企図している。
図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を装着していてもよい。実世界オブジェクト145は、ユーザ102を取り囲む物理的環境内にある。しかしながら、VRディスプレイデバイス135がユーザ102の視覚を遮るため、ユーザ102は実世界オブジェクト145を直接見ることができない。VRディスプレイデバイス135を装着している間にユーザが自分の物理的環境を知覚するのを助けるために、パススルー機能は、例えば、外向きカメラ105A~Bなどの1つまたは複数のカメラ105を使用して、物理的環境に関する情報を取り込む。取り込まれた情報は次いで、ユーザ102の観点に基づいてユーザ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~105Bによって観察された物理的オブジェクトの深度測定値に基づいて生成することができる。深度は様々なやり方で測定され得る。特定の実施形態においては、奥行きは、ステレオ画像に基づいて計算されることが可能である。限定ではなく、例として、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に適切な表示をレンダリングするために、仮想現実システム100は、いつでもユーザの位置および向きを決定する必要があり得る。VRディスプレイデバイスのポーズに基づいて、仮想現実システム100は、カメラ105Aおよび105Bのいずれか、またはユーザの目のいずれかの視点をさらに決定することができる。特定の実施形態では、VRディスプレイデバイス135は、慣性測定ユニット(「IMU」)を含んでもよい。IMUによって生成されたデータは、外向きカメラ105A~Bによって取り込まれたステレオ画像と共に、仮想現実システム100が、例えばSLAM(同時位置特定およびマッピング)または他の適切な技術を使用してVRディスプレイデバイス135のポーズを計算することを可能にする。
特定の実施形態では、仮想現実システム100は、ユーザ102が入力を提供することを可能にする1つまたは複数のコントローラ106をさらに有することができる。コントローラ106は、無線または有線接続を介してVRディスプレイデバイス135または別個の1つまたは複数のコンピューティングシステム110と通信することができる。コントローラ106は、任意の数のボタンまたはその他の機械式の入力メカニズムを有することが可能である。加えて、コントローラ106は、コントローラ106のポーズが追跡され得るようにIMUを有してもよい。コントローラ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~105Bによって取り込まれた情報は、カメラがユーザの目と空間的に一致することができない(例えば、カメラは、ユーザの目からある程度離れて配置され、その結果、異なる視点を有する場合がある)ため、ユーザの目が捕捉し得るものと位置ずれし得る。したがって、カメラが取り込んだものをユーザに対して単に表示するだけでは、ユーザが認識するはずであるものの正確な表示とはならない場合がある。
それゆえに、パススルー機能は、取り込まれたものを単に表示する代わりに、外向きカメラ105A~Bによって取り込まれた情報をユーザに再投影することができる。同時に取り込まれたステレオ画像の各ペアを使用して、観察された特徴の深度を推定することができる。上述したように、三角測量を使用して深度を測定するために、1つまたは複数のコンピューティングシステム110は、ステレオ画像間の対応関係を見つけることができる。限定ではなく、例として、1つまたは複数のコンピューティングシステム110は、一対のステレオ画像内のどの2つのピクセルが同じ観察された特徴に対応するかを判定することができる。高性能の1つまたは複数のコンピューティングシステム110は、そのようなタスクのために最適化されたGPUおよびオプティカルフロー技術を使用して対応問題を解決することができる。そして三角測量技術を使用して奥行きを計算するために、対応関係情報が使用されることが可能である。観察された特徴の計算された深さに基づいて、1つまたは複数のコンピューティングシステム110は、それらの特徴が3次元空間内のどこに位置するかを決定することができる(なぜなら、1つまたは複数のコンピューティングシステム110は、カメラがその3次元空間内のどこにあるかも知っているからである)。結果は、密な3Dポイントクラウドによって表されることが可能であり、それに伴って、それぞれのポイントは、観察された特徴に対応する。次いで、密なポイントクラウドを使用して、環境におけるオブジェクトの3Dモデルを生成することが可能である。システムが表示用のシーンをレンダリングする際に、システムは、ユーザの目の視点から可視性テストを実行することが可能である。限定ではなく、例として、システムは、ユーザの各目に対応する視点から3D空間に光線を投射することができる。このようにして、ユーザに表示されるレンダリングされたシーンは、外向きカメラ105A~Bの視点からではなく、ユーザの目の視点から計算され得る。
しかしながら、上述したプロセスは、リソース制限されたコンピューティングユニット(例えば、携帯電話がVRディスプレイデバイスの主なコンピューティングユニットであってもよい)にとって実行可能ではない場合がある。例えば、強力な計算リソースおよび十分なエネルギー源を有するシステムとは異なり、携帯電話は、深度測定を実行し、環境の正確な3Dモデルを生成するためにGPUおよび計算コストの高いアルゴリズム(例えば、オプティカルフロー)に依存することができない。それゆえに、リソースの限られているデバイス上でパススルーを提供するためには、最適化されたプロセスが必要とされる。
特定の実施形態では、コンピューティングデバイスは、以下でさらに詳細に説明するように、(1)GPUおよびオプティカルフロー、または(2)ビデオエンコーダおよび動きベクトルを使用した最適化された技術を使用して深度測定値を生成することができるか、または生成することができるかどうかを実行時に動的に判定するように構成することができる。限定ではなく、例として、デバイスがGPUおよび十分な電力バジェット(例えば、それは電源に差し込まれ、フルバッテリを有するなど)を有する場合、デバイスは、そのGPUおよびオプティカルフローを使用して深度測定を実行することができる。しかしながら、デバイスがGPUを有していないか、または厳しいパワーバジェットを有する場合には、デバイスは、奥行きを計算するための最適化された方法を選ぶことが可能である。
図3は、VR環境125におけるユーザ102の例示的な図である。ユーザ102は、VRディスプレイデバイス135(図示せず)を装着している場合がある。ユーザ102は、図3に示すように、VR環境125内のアバターによって表され得る。VRディスプレイデバイス135を使用して、ユーザは、VR環境125または実世界環境のパススルービューを見ることができる。VR環境125および実世界環境のパススルービュー内には、(例えば、仮想ディスプレイ140a~d)1つまたは複数の仮想ディスプレイ140を含むパーソナルUI115があり得る。
図4は、例示的なパーソナルUI115を示す。パーソナルUI115は、ユーザが1つまたは複数のタスクを実行するためのメニューまたはダッシュボードとして表示されてもよく、例えば、ユーザは、パーソナルUI115を使用して、ゲームアプリケーション、仕事アプリケーション、娯楽アプリケーション、通話/チャットアプリケーションなどの(アプリケーションアイコン120によって選択可能な複数のアプリケーションの中から)1つまたは複数のアプリケーションを実行してもよい。パーソナルUI115は、仮想現実システム100に関連付けられたVRオペレーティングシステム(VROS)の機能であってもよい。複数のアプリケーションは、ユーザのスマートフォン、タブレット、ラップトップコンピュータ、または他のコンピューティングデバイスなど、ユーザに関連する実世界コンピューティングデバイス上でアクセス可能なアプリケーションに対応することができる。VROSは、様々な内蔵機能を有することができる。限定ではなく、例として、VROSのパーソナルUI115は、ユーザがアクセスすることができる内蔵ウェブブラウザアプリケーションおよびソーシャル・メディア・アプリケーションへのアクセスを提供することができる。ユーザが仮想会議中である場合には、ユーザは、仮想会議を終了する必要なく、パーソナルUI115上のウェブブラウザ上でトピックを素早く調べることができる。ユーザがビデオゲームアプリケーション上でVRビデオゲームをプレイしており、自分のハイスコアを投稿したい場合には、ユーザは、ビデオゲームアプリケーションを離れる必要なく、自分のパーソナルUI115から自分のソーシャル・メディア・アプリケーションにアクセスし、自分のソーシャルメディアに直接ハイスコアを投稿することができる。
図5は、パーソナルUI115の例示的なフォームファクタを示す。パーソナルUI115のフォームファクタ(例えば、形状、外観、レイアウトなど)は、仮想オブジェクトパーソナルUI115a(例えば、フローティング2D画面)として現れるか、またはスマートウォッチパーソナルUI115b(例えば、ユーザの仮想手首に表示される)、電話パーソナルUI115c、タブレットコンピュータパーソナルUI115d、モニタパーソナルUI115e、ラップトップパーソナルUI115f、TV画面パーソナルUI(図示せず)、映画館画面のパーソナルUI(図示せず)、湾曲ディスプレイのパーソナルUI(図示せず)、または任意の他の適切なフォームファクタなどの実世界オブジェクトのフォームファクタを模倣することができる。すなわち、パーソナルUIのフォームファクタは、いくつか例を挙げると、仮想時計、仮想スマートフォン、仮想タブレット、仮想リモコン、仮想コンピュータモニタ、仮想テレビ、および仮想映画画面を含むことができる。したがって、実施形態の技術的利点は、VR環境125内のパーソナルUI115を自動的に適合させて実世界オブジェクトのUIを模倣し、ユーザがパーソナルUI115の使用に順応するのを助けることを含むことができる。
特定の実施形態では、仮想現実システム100は、VRディスプレイデバイス135の1つまたは複数のディスプレイに対して、VR環境125の第1の出力画像をレンダリングすることができる。VR環境125は、第1のユーザ(例えば、ユーザ102)に関連付けられたパーソナルUI115を含んでもよい。パーソナルUI115は、第1のユーザに関する第1のフォームファクタ(例えば、形状、外観、レイアウトなど)および第1のポーズ(例えば、位置および向き)を有してもよい。限定ではなく、例として、パーソナルUI115は、フローティング仮想オブジェクト(例えば、仮想オブジェクトパーソナルUI115a)のフォームファクタを有してもよい。パーソナルUI115は、ユーザ102の近くでユーザの前に、例えばユーザの前でユーザの視野内にあるポーズを有することができる。パーソナルUI115は、1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであってもよい。限定ではなく、例として、パーソナルUI115は、ユーザ102の直前の仮想ディスプレイ140aなどのより小さい仮想ディスプレイ、ならびに1つまたは複数の他の仮想ディスプレイ140b~dを含んでもよい。パーソナルUI115は、複数のアプリケーションを実行するように動作可能とすることができる。限定ではなく、例として、パーソナルUI115は、娯楽関連アプリケーション(ストリーミングサービスなど)、ソーシャルメディアおよびネットワーキングアプリケーション、ゲーム関連アプリケーション、ウェブブラウザアプリケーション、メッセージング、通話およびビデオチャットアプリケーション、業務関連アプリケーション(ワードプロセッシングアプリケーションなど)、または他の適切なアプリケーションを含む様々なアプリケーションにアクセスして表示するように動作可能であってもよい。本開示は、VR環境の第1の出力画像を特定の方法でレンダリングすることについて説明しているが、本開示は、任意の適切な方法で出力画像をレンダリングすることを想定している。
特定の実施形態では、仮想現実システム100は、VR環境125に関する第1のユーザ102のコンテキストの変化を検出することができる。技術的課題は、ユーザのコンテキストが変化したときを検出することを含むことができる。この課題に対処するために本明細書で開示される実施形態によって提示される解決策は、VR環境125および/またはVR環境125内のオブジェクトに関するユーザ102のポーズの変化を判定すること、パーソナルUI115のフォームファクタおよび/またはポーズの変化に関連するアプリケーションを選択するユーザ102による入力を受信すること、またはあるアプリケーションから別のアプリケーションへの変化を検出することであり得る。第1のユーザ102のコンテキストの変化を検出することは、第1のユーザ102がVR環境125において第1のポーズから第2のポーズに変化したと判断することを含んでもよい。仮想現実システム100は、1つまたは複数のセンサ(例えば、位置センサ、カメラ105、加速度計など)を使用してユーザ102のポーズの変化を検出することができる。ユーザ102は、自分のスポットの周りを回転するか、VR環境125内の別のスポットに移動する場合、ポーズを変更することができる。限定ではなく、例として、ユーザ102の第1のポーズは、部屋の中央に立っているユーザ102(例えば、VR環境125の部屋の中央にある)であってもよい。ユーザ102の第2のポーズは、ユーザ102がカウチまたは机(例えば、オブジェクト150)に移動し、カウチに座っているか、または机に座っていることであってもよい。
特定の実施形態では、第1のユーザ102が第1のポーズから第2のポーズに変化したと判定することは、仮想現実システム100が、ユーザ102の位置がVR環境125内のオブジェクト150のしきい値距離内にあるかどうかを判定することと、ユーザ102の向きが、ユーザがVR環境125内のオブジェクト150に面していることを示すかどうかを判定することと、を含んでもよい。仮想現実システム100は、仮想現実システム100の1つまたは複数のセンサ(例えば、位置センサ、カメラ105、加速度計、オブジェクト検出フィルタなど)を使用して、ユーザ102の位置がVR環境125内のオブジェクト150のしきい値距離内にあるかどうかを判定することができる。オブジェクト150は、VR環境125内のVRオブジェクトであってもよい。オブジェクト150は、VR環境125における複合現実(MR)オブジェクトであってもよく、実世界環境における実世界オブジェクトに対応してもよい。限定ではなく、例として、仮想現実システム100は、ユーザ102がカウチに向かって移動したかどうかを判定し、ユーザ102がカウチのしきい値距離内に接近したかどうか(例えば、ユーザ102がカウチの1メートル以内に接近したかどうか)をさらに判定することができる。仮想現実システム100は、仮想現実システム100の1つまたは複数のセンサ(例えば、位置センサ、カメラ105、加速度計、オブジェクト検出フィルタなど)を使用して、ユーザ102の向きがユーザ102がVR環境125内のオブジェクトに面していることを示すかどうかを判定することができる。限定ではなく、例として、仮想現実システム100は、ユーザ102がカウチ(例えば、カウチはユーザの視野内にある)に面しているか、それとも離れて面しているかを判定することができる。次いで、仮想現実システム100が、ユーザ102がオブジェクトのしきい値距離内にあり、ユーザ102がオブジェクトに面していると判定した場合には、仮想現実システム100は、VR環境125においてユーザ102が第1のポーズから第2のポーズに変化したことを検出することができる。
特定の実施形態では、第1のユーザのコンテキストの変化を検出することは、仮想現実システム100が、複数のアプリケーションからパーソナルUI115上の特定のアプリケーションを選択するユーザによる入力を受信することを含むことができる。限定ではなく、例として、ユーザ102は、パーソナルUI115を使用して、パーソナルUI115上のアイコン、ボタン、スイッチ、または他の形態の入力をクリックすることによって、アプリケーションを選択するか、または異なるアプリケーションを切り替えることができる。次いで、仮想現実システム100は、ユーザ102がパーソナルUI115上の特定のアプリケーションを選択しようとしているという表示を受信することができる。特定のアプリケーションは、パーソナルUI115の第2のフォームファクタおよび第2のポーズと関連付けられてもよい。パーソナルUI115は、所定のフォームファクタおよびポーズ、好ましいフォームファクタおよびポーズを有することができ、またはそうでなければ、ユーザのVR体験を最も損なわない(例えば、パーソナルUI115の視界を最も遮らないフォームファクタおよびポーズを決定する)および/またはユーザのVR体験を最も向上させる(例えば、パーソナルUI115の最も生産的なフォームファクタおよびポーズを決定する)パーソナルUIのフォームファクタおよびポーズを決定することによって、ユーザのVR体験を向上させるために特定のフォームファクタおよびポーズと関連付けられ得る。限定ではなく、例として、仮想現実システム100がワードプロセッシングアプリケーションなどの第1のアプリケーションを実行している場合には、パーソナルUI115の第1のフォームファクタは、ユーザがオフィス設定で行うことができるようにユーザ102が仕事を行うことを可能にするためのマルチモニタセットアップであってもよく、パーソナルUI115のポーズは、ユーザに近接してユーザの前に表示される仮想モニタを有してもよい。仮想現実システム100がビデオストリーミングアプリケーションなどの第2のアプリケーションを実行するように切り替える場合には、パーソナルUI115のフォームファクタは、大きな仮想TVまたは映画館の画面とすることができ、パーソナルUIのポーズは、ユーザからさらに離れて配置された仮想TVまたは映画館の画面を有することができる(実世界ユーザに対する実世界TVまたは映画館の画面のポーズを模倣する)。
図6は、VR環境125におけるユーザ102の一例を示す。図6に示すように、ユーザ102は、VR環境125内のアバターによって表され得る。図6のVR環境125は、新しいまたは図3のVR環境125とは異なるVR環境であってもよい。特定の実施形態では、第1のユーザのコンテキストの変化を検出することは、第1のユーザが第1の仮想空間から第2の仮想空間に移動したことを検出することを含んでもよい。限定ではなく、例として、ユーザがVRオフィス空間であった第1のVR空間にいて、ユーザがパーソナルUI115上でビデオストリーミングアプリケーションを選択した場合、第2のVR空間はVRテレビまたは映画館の画面であってもよい。別の例として、ユーザがゲームアプリケーションを選択した場合には、第2のVR空間はゲームVR空間(例えば、ビデオゲーム環境または風景の「内部」、またはゲーム体験用に設計された仮想ワイド画面モニタを含む机のセットアップ)であってもよい。別の例として、ユーザが地図または旅行アプリケーションを選択した場合、第2のVR空間は、ユーザを新しい場所に入れるVR環境125であってもよい。限定ではなく、例として、ユーザが「パリのツアー」アプリケーションを選択した場合、VR空間はエッフェル塔とパリのその周囲のレンダリングとすることができる。これらの例示的な変化に基づいて、仮想現実システム100は、ユーザが第1の仮想空間から第2の仮想空間に切り替わったことを検出することができる。本開示は、特定の方法でコンテキストの変化を検出することを記載しているが、本開示は、任意の適切な方法でコンテキストの変化を検出することを想定している。
特定の実施形態では、第1のユーザのコンテキストの変化を検出することは、仮想現実システム100が、パーソナルUI115上で第1のユーザが第1のアプリケーションの使用から第2のアプリケーションに切り替わったことを検出することを含んでもよい。仮想空間(例えば、VR環境125)は、ユーザがアプリケーションを切り替えた結果であってもよい。限定ではなく、例として、ユーザが仕事関連アプリケーション(ワードプロセッシングアプリケーションなど)を使用していた場合、ユーザはオフィスVR空間であり得る第1のVR空間にいた可能性がある。次いで、ユーザがビデオストリーミングアプリケーションを選択した場合、第2のVR空間はVR映画館であってもよい。限定ではなく、別の例として、ユーザがゲームアプリケーションを選択した場合、第2のVR空間はゲームVR空間(例えば、ビデオゲームの「内部」、または机のセットアップには、ゲーム体験用に適合された仮想ワイド画面モニタが含まれる)であってもよい。別の例として、ユーザが地図または旅行アプリケーションを選択した場合、第2のVR空間は、ユーザを新しい場所に入れるVR環境125であってもよい。限定ではなく、例として、ユーザが「パリのツアー」アプリケーションを選択した場合、VR空間はエッフェル塔とパリのその周囲のレンダリングとすることができる。
1つの技術的課題は、VR環境125を遮ったり混乱させたりすることなくパーソナルUI115の機能を維持することを含むことができる。この課題に対処するために本明細書で開示される実施形態によって提示される解決策は、VR環境125に関するユーザ102のコンテキストに基づいてパーソナルUI115を適合させることであってもよい。特定の実施形態では、仮想現実システム100は、第1のユーザ102のコンテキストの検出された変化に基づいてパーソナルUI115を適合させるか否かを決定してもよい。VR環境125に関するユーザ102のコンテキストの検出された変化(例えば、ユーザ102が第1のポーズから第2のポーズに変化したかどうか、ユーザがパーソナルUI115のフォームファクタおよびポーズに関連付けられた特定のアプリケーションを選択したかどうか、ユーザ102が第1の仮想空間から第2の仮想空間に移動したかどうか、ユーザがパーソナルUI115上で第1のアプリケーションから第2のアプリケーションに切り替わったかどうかなど)に基づいて、パーソナルUI115は、VR環境125内のユーザ102に対する新しいフォームファクタおよび/またはポーズに適応することができる。限定ではなく、例として、ユーザ102が第1のポーズから第2のポーズに変化した場合、仮想現実システム100は、パーソナルUI115をユーザの第2のポーズに適合させることができる(例えば、ユーザ102が立っていた後に座っていた場合、パーソナルUI115のフォームファクタおよびポーズは、その外観、位置、および向きを変更して、パーソナルUI115をユーザ102の視野内に維持するように適合されてもよい)。限定ではなく、別の例として、ユーザ102がフォームファクタおよびパーソナルUI115のポーズに関連付けられた特定のアプリケーションを選択した場合、仮想現実システム100は、パーソナルUI115のフォームファクタおよびポーズを決定してもよく、パーソナルUIの好ましいフォームファクタおよびポーズ、または特定のアプリケーションに関連付けられたフォームファクタおよびポーズに適合すべきである。限定ではなく、例として、ユーザがビデオストリーミングアプリケーションを選択した場合、仮想現実システム100は、実世界映画館の画面を模倣するようにパーソナルUI115のフォームファクタおよびポーズを適合させることを選択することができる。限定ではなく、別の例として、ユーザがある仮想空間から別の仮想空間に移動する(例えば、ワークVR設定から映画館VR設定へ)場合、仮想現実システム100は、パーソナルUI115を仕事VR設定(例えば、デュアルモニタ仮想ディスプレイ)からエンターテイメントVR設定(例えば、仮想映画館画面)に適合させるべきであると決定することができる。限定ではなく、別の例として、ユーザが第1のアプリケーションから第2のアプリケーションに切り替える場合、仮想現実システム100はパーソナルUI115をユーザ102(例えば、ユーザの要望およびニーズ)および/または第2のアプリケーションに最適なフォームファクタおよびポーズに適合させることができる。限定ではなく、例として、ユーザ102が仕事関連アプリケーションから旅行関連アプリケーションに切り替える場合、パーソナルUI115のフォームファクタおよびポーズは、仕事設定により適したフォームファクタおよびポーズ(例えば、大型デュアルモニタ仮想ディスプレイ)から、旅行設定により適したフォームファクタおよびポーズ(例えば、観光のために視界をあまり妨げないより小型のスマートフォンまたはタブレットコンピュータの仮想ディスプレイ)に変化してもよい。限定ではなく、別の例として、パーソナルUI115は、3D VR環境125で2Dアプリケーションを実行するために使用されてもよい。ユーザが映画を見たい場合、ユーザは、2D仮想ストリーミングアプリケーションから3D VR環境125の仮想TV画面に映画をキャストすることができる。本開示は、特定の方法でコンテキストの変化を検出することを記載しているが、本開示は、任意の適切な方法でコンテキストの変化を検出することを想定している。
特定の実施形態では、第1のユーザ102のコンテキストの検出された変化に基づいてパーソナルUI115を適合させるかどうかを判定することは、VR環境125におけるユーザの活動に関連付けられたパーソナルUI115の所定のフォームファクタおよびポーズを識別することを含む。すなわち、仮想現実システム100によって現在実行されているアクティビティまたはアプリケーションに基づいて予め決定されたパーソナルUI115のフォームファクタおよびポーズがあり得る。パーソナルUI115の所定のフォームファクタおよびポーズは、ユーザ102によって現在行われている活動に基づいて、パーソナルUI115の最も視界を妨げないおよび/または最も生産的なフォームファクタおよびポーズであるパーソナルUIのフォームファクタおよびポーズに基づいてもよい。限定ではなく、例として、ユーザ102が仮想会議室または講義室にいる場合、パーソナルUI115のフォームファクタおよびポーズは、メモをとるためにユーザ102の正面に直接ある視界の邪魔にならない仮想ラップトップであってもよい。別の例として、ユーザ102が街中ツアーに参加しているか、または別のユーザと仮想たまり場にいる場合、パーソナルUI115のフォームファクタおよびポーズは、視界を遮ることがない仮想スマートフォンまたはタブレットの外観を呈することができる。別の例として、ユーザが作業VR環境125にいる場合、パーソナルUI115のフォームファクタおよびポーズは、ユーザ102が効率的かつ生産的に作業することを可能にする仮想マルチモニタ設定の外観およびレイアウトをとることができる。別の例として、ユーザ102がエンターテイメントVR設定(例えば、映画を見ること)にある場合、パーソナルUI115のフォームファクタおよびポーズは、ユーザ102から遠く離れているように見える大きな仮想映画画面として現れることができる(実世界映画館体験を模倣する)。本開示は、特定の方法でパーソナルUI115の所定のフォームファクタおよびポーズを特定することについて説明しているが、本開示は、任意の適切な方法でUIのフォームファクタおよびポーズを決定することを想定している。
特定の実施形態では、仮想現実システム100は、VRディスプレイデバイス135の1つまたは複数のディスプレイに対して、VR環境125の第2の出力画像をレンダリングすることができる。パーソナルUI115は、第1のユーザ102のコンテキストの検出された変化に基づいてパーソナルUI115を適合させると決定したことに応答して、第1のユーザ102に関する第2のフォームファクタおよび第2のポーズを有するように適合されてもよい。限定ではなく、例として、図3に見られるように、VR環境125の第1の出力画像は、複数のより大きな仮想ディスプレイを含むパーソナルUI115を有する。図6では、VR環境125に関するユーザ102のコンテキストが変更されたとき、VR環境125の第2の出力画像は、変更されたコンテキストに適合されたパーソナルUI115を有する。パーソナルUI115は、パーソナルUI115のより小さく、視界をあまり遮らないフォームファクタおよびポーズを有し、これにより、ユーザは、ユーザの視界により大きく、視界を遮るディスプレイ140を有することなく、新しいVR環境125を探索することができる(例えば、図6の仮想ディスプレイ140a~bは、図3の仮想ディスプレイ140a~dよりも数が少なくてもよく、および/または小さくてもよい)。限定ではなく、例として、ユーザ102がVR環境125を見ることができることが重要な設定(例えば、ユーザは、仮想的に観光または旅行している可能性がある)にある場合、パーソナルUI115は、ユーザ102が仮想環境を探索することを可能にするために、より小さいフォームファクタ(例えば、スマートウォッチまたはスマートフォンフォームファクタ)およびより少ない視野妨害ポーズ(例えば、ユーザの仮想手首上のスマートウォッチ、またはユーザの仮想ハンド内のスマートフォン)を有するように適合され得る。したがって、実施形態の技術的利点は、VR環境125に関するユーザ102のコンテキストの検出された変化に応答して、パーソナルUI115のフォームファクタおよびポーズを自動的に適合させることを含むことができる。本開示は、VR環境125の第2の出力画像を特定の方法でレンダリングすることについて説明しているが、本開示は、任意の適切な方法で出力画像をレンダリングすることを想定している。
図7は、パーソナルUI115のための仮想ディスプレイ140の配置の例示的な図を示す。特定の実施形態では、パーソナルUI115は、複数の2D仮想ディスプレイ140を含むことができる。複数の2D仮想ディスプレイ140は、複数の2D仮想ディスプレイ140の複数の予め設定された向きを含むタイルベースのレイアウトに配置されてもよい。すなわち、複数の2D仮想ディスプレイは、各仮想ディスプレイ140が位置に「スナップ」できるように配置されてもよい(すなわち、ユーザが所望の位置の近くまでドラッグすると、所定の位置に自動的にジャンプする)。これにより、ユーザ102(ユーザのVRレンダリング、例えばユーザのアバターとして示されている)は、複数の仮想ディスプレイ140を容易かつ効率的に配置することができる。限定ではなく、例として、ユーザ102は、各仮想ディスプレイ140を互いに隣接したり、互いに上下に並べるなど配置することができる。タイルベースのレイアウトは、複数の仮想ディスプレイ140が互いに重なり合うこと、例えば、ある仮想ディスプレイ140が別の仮想ディスプレイ140の視界を遮ることを防止することができる。さらに、ユーザは、仮想ディスプレイ140を調整して、タイルベースのレイアウトの複数のタイルを覆うようにディスプレイを「伸張」または拡張することができる。ユーザは、仮想ディスプレイ140のレイアウトをドラッグ、追加、削除、または他の方法で変更することによって、タイルベースのシステムで仮想ディスプレイ140を調整することができる。本開示は、特定の方法で仮想ディスプレイ140を配置することについて説明しているが、本開示は、任意の適切な方法で仮想ディスプレイを配置することを想定している。
特定の実施形態では、複数の2D仮想ディスプレイ140のうちの第1の2D仮想ディスプレイ140は、複数のアプリケーションのうちの第1のアプリケーションの組を実行するように動作可能とすることができる。複数の2D仮想ディスプレイ140のうちの第2の2D仮想ディスプレイ140は、複数のアプリケーションのうちの第2のアプリケーションの組を実行するように動作可能とすることができる。限定ではなく、例として、第1の仮想ディスプレイ140aは第1のアプリケーション121aを実行するように動作可能であってもよく、第2の仮想ディスプレイ140bは第2のアプリケーション121bを実行するように動作可能であってもよく、第3の仮想ディスプレイ140cは第3のアプリケーション121cを実行するように動作可能であってもよく、他にも、アプリケーション121はパーソナルUI115の1つまたは複数のアプリケーションアイコン120を用いて選択されてもよい(図4参照)。各仮想ディスプレイ140は、互いに独立してアプリケーション121を実行することができる。限定ではなく、例として、第1の仮想ディスプレイ140aは、メッセージングアプリケーション(例えば、アプリケーション121a)を表示することができ、第2の仮想ディスプレイ140bは、ゲームアプリケーション(例えば、アプリケーション121b)を操作することができ、第3の仮想ディスプレイ140cは、写真編集アプリケーション(例えば、アプリケーション121c)を操作することができる。仮想ディスプレイは、パーソナルUI115を仮想ディスプレイ(例えば、仮想ディスプレイ140a~c)上でこれらの別個のアプリケーション(例えば、アプリケーション121a~c)を並べて動作させることができる。本開示は、特定の方法で仮想ディスプレイ上で複数のアプリケーションを実行することについて説明しているが、本開示は、任意の適切な方法で仮想ディスプレイ上でアプリケーションを実行することを想定している。
図8Aは、実世界環境130において実世界コンピューティングデバイスUI118を有する実世界コンピューティングデバイス117(例えば、タブレットコンピュータ)を使用する第1のユーザ102の一例を示す。図8Aは、第1のユーザ102の斜視図である。限定ではなく、例として、第1のユーザ102は自分の家の中にいてもよく、VRディスプレイデバイス135はユーザの実世界環境130のパススルービューを表示してもよい。図8Bは、VR環境125における第1のユーザ102のパーソナルUI115の一例を示す。図8Bは、第1のユーザ102の斜視図である。限定ではなく、例として、VRディスプレイデバイス135は、第1のユーザ102が仮想公園にいるレンダリングされたVR環境125を表示することができる。
図9は、VR環境125における共有仮想画面141上へのコンテンツのキャスティングの一例を示す。図9は、第1のユーザ102aの斜視図である。VRディスプレイデバイス135は、第1のユーザ102aが第2のユーザ102bと共有仮想空間内にあるレンダリングされたVR環境125を表示してもよい。特定の実施形態では、仮想現実システム100は、第1のユーザ102aのパーソナルUI115aからのコンテンツを、VR環境125内の共有仮想画面141などの共有仮想ディスプレイ上にキャストすることができる。共有仮想画面141は、第1のユーザ102aおよび1つまたは複数の第2のユーザ102bによって視認可能であってもよく、共有仮想画面141に投影または表示されるコンテンツは、第1のユーザ102aおよび1つまたは複数の第2のユーザ102bによって視認可能であってもよい。第1のユーザ102aのパーソナルUI115aからのコンテンツを、第1のユーザ102aおよび一人または複数の第2のユーザ102bによって閲覧される共有仮想画面上にキャストする間、第1のユーザ102aのパーソナルUI115a上の情報およびコンテンツは、一人または複数の第2のユーザ102bに対して隠されたまままたはブロックされたままであってもよい。共有仮想画面141のフォームファクタは、VR環境125内の第1のユーザ102aおよび第2のユーザ102bに対して同じであってもよい。共有仮想画面141のポーズは、VR環境125内の第1のユーザ102aおよび第2のユーザ102bに対して同じであってもよい。共有仮想画面141のポーズは、VR環境125に対して同じであってもよい(例えば、第1のユーザ102aおよび第2のユーザ102bは、VR環境125の同じ角で共有仮想画面141を見つけることができる)。本開示は特定の方法でキャスティングコンテンツを説明しているが、本開示は任意の適切な方法でキャスティングコンテンツを想定している。
特定の実施形態では、VR環境125は、第1のユーザ102aおよび一人または複数の第2のユーザ102bのための共有仮想空間、例えば、第1のユーザ102aおよび一人または複数の第2のユーザ102bのための仮想環境125を含んでもよい。第1のユーザ102aおよび一人または複数の第2のユーザ102bは、図9に示すVR環境125などの共有仮想空間において会合および対話することができる。第1のユーザ102aおよび1つまたは複数の第2のユーザ102bは、実世界の場所(例えば、実世界の公園)または仮想空間(例えば、VR環境125内でレンダリングされた異星の惑星)に基づく共有仮想空間において集合してもよい。第1のユーザ102aおよび1つまたは複数の第2のユーザ102bは、共有仮想空間において互いに対話してもよい。限定ではなく、例として、第1のユーザ102aが第2のユーザ102bからビデオ通話を受信した場合、第1のユーザ102aおよび第2のユーザ102bは、ビデオ通話アプリケーションの2Dディスプレイを介して互いに話す代わりに、仮想会議室に入って「対面して」話すことができる。限定ではなく、別の例として、第1のユーザ102aおよび一人または複数の第2のユーザ102bは、互いに対話し、共有仮想空間で仮想テニスのゲームをプレイしてもよい(例えば、ユーザがコントローラ106をテニスラケットとして使用することができる)。本開示は、ユーザが共有仮想空間で特定の方法で会議することを記載しているが、本開示は、ユーザが任意の適切な方法で共有仮想空間で会議することを想定している。
特定の実施形態では、第1のユーザ102aのプライバシー設定は、一人または複数の第2のユーザが第1のユーザ102aと関連付けられたパーソナルUI115a上のコンテンツを閲覧するのを妨げることがある。同様に、一人または複数の第2のユーザ102bのプライバシー設定は、第1のユーザ102aが一人または複数の第2のユーザ102bと関連付けられたパーソナルUI115b上のコンテンツを閲覧するのを妨げることがある。他のユーザのパーソナルUI115は、情報またはコンテンツがない浮動ブランクオブジェクトとして現れることがある(図9に示すように、第2のユーザ102bのパーソナルUI115bは、情報またはコンテンツを欠いたフローティングオブジェクトとして現れる)。限定ではなく、例として、第2のユーザ102bは、第1のユーザ102aのパーソナルUI115aに表示される文書および写真を見ることができない。すなわち、他のユーザのパーソナルUI115のフォームファクタおよびポーズは、標準のフォームファクタおよびポーズとして現れることができる。すなわち、第1のユーザ102aのパーソナルUI115aが大きなテレビ画面のフォームファクタおよび第1のユーザ102aから遠く離れたポーズを有する場合には、第2のユーザ102bは、第1のユーザ102aのパーソナルUI115aを、標準的なフォームファクタおよび第1のユーザ102aに近接したポーズを有する空白のフローティングオブジェクトとしてのみ見ることができる。プライバシー設定は、他のユーザが別のユーザのパーソナルUI115上で情報またはコンテンツの項目を閲覧できるように調整されてもよい。本開示は、特定の方法でプライバシー設定を利用することを記載しているが、本開示は、任意の適切な方法でプライバシー設定を想定している。
図10は、VR環境でパーソナルUIをレンダリングするための例示的な方法1000を示す。本方法は、ステップ1010で開始することができ、1つまたは複数のコンピューティングシステムが、VRディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第1の出力画像をレンダリングすることができる。VR環境は、第1のユーザに関連付けられたパーソナルUIを含むことができる。パーソナルUIは、第1のユーザに関する第1のフォームファクタおよび第1のポーズを有することができる。パーソナルUIは、1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであってもよい。パーソナルUIは、複数のアプリケーションを実行するように動作可能であってもよい。ステップ1020において、1つまたは複数のコンピューティングシステムは、VR環境に関する第1のユーザのコンテキストの変化を検出することができる。ステップ1030において、1つまたは複数のコンピューティングシステムは、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるかどうかを決定してもよい。ステップ1040において、1つまたは複数のコンピューティングシステムは、VRディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第2の出力画像をレンダリングすることができる。パーソナルUIは、第1のユーザのコンテキストの検出された変化に基づいてパーソナルUIを適合させるとの決定に応答して、第1のユーザに関する第2のフォームファクタおよび第2のポーズを有するように適合され得る。特定の実施形態は、適切な場合には、図10の方法の1つまたは複数のステップを繰り返すことが可能である。本開示は、図10の方法の特定のステップが特定の順序で発生するものとして説明し、示すが、本開示は、図10の方法の任意の好適なステップが任意の好適な順序で発生することを想定する。さらに、本開示は、図10の方法の特定のステップを含むVR環境でパーソナルUIをレンダリングするための例示的な方法1000を説明および図示しているが、本開示は、適切な場合には、図10の方法のステップのすべて、一部、またはいずれも含まない任意の適切なステップを含むVR環境でパーソナルUIをレンダリングするための任意の適切な方法を企図している。さらに、本開示は、図10の方法の特定のステップを実行する特定の構成要素、デバイス、またはシステムを説明し、示すが、本開示は、任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せが、図10の方法の任意の好適なステップを実行することを想定する。
図11は、VRまたはソーシャルネットワーキングシステムに関連付けられている例示的なネットワーク環境1100を示している。ネットワーク環境1100は、ネットワーク1110によって互いに接続されているクライアントシステム1130、VRまたはソーシャルネットワーキングシステム1160、およびサードパーティーシステム1170を含む。図11は、クライアントシステム1130、VRまたはソーシャルネットワーキングシステム1160、サードパーティーシステム1170、およびネットワーク1110の特定のアレンジを示しているが、本開示は、クライアントシステム1130、VRまたはソーシャルネットワーキングシステム1160、サードパーティーシステム1170、およびネットワーク1110の任意の適切なアレンジを想定している。限定ではなく、例として、クライアントシステム1130、VRまたはソーシャルネットワーキングシステム1160、およびサードパーティーシステム1170のうちの2つ以上が、ネットワーク1110を迂回して、互いに直接接続されることが可能である。別の例として、クライアントシステム1130、VRまたはソーシャルネットワーキングシステム1160、およびサードパーティーシステム1170のうちの2つ以上が、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図11は、特定の数のクライアントシステム1130、VRまたはソーシャルネットワーキングシステム1160、サードパーティーシステム1170、およびネットワーク1110を示しているが、本開示は、任意の適切な数のクライアントシステム1130、VRまたはソーシャルネットワーキングシステム1160、サードパーティーシステム1170、およびネットワーク1110を想定している。限定ではなく、例として、ネットワーク環境1100は、複数のクライアントシステム1130、VRまたはソーシャルネットワーキングシステム1160、サードパーティーシステム1170、およびネットワーク1110を含むことが可能である。
本開示は、任意の好適なネットワーク1110を企図する。限定ではなく、例として、ネットワーク1110の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの2つ以上の組合せを含むことが可能である。ネットワーク1110は、1つまたは複数のネットワーク1110を含むことが可能である。
リンク1150は、クライアントシステム1130、ソーシャルネットワーキングシステム1160、およびサードパーティーシステム1170を通信ネットワーク1110に、または互いに接続することが可能である。本開示は、任意の好適なリンク1150を企図する。特定の実施形態では、1つまたは複数のリンク1150は、1つまたは複数の、(例えば、デジタル加入者回線(DSL)またはデータオーバーケーブルサービスインターフェース仕様(DOCSIS)などの)ワイヤラインリンク、(例えば、Wi-Fiまたはワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)などの)ワイヤレスリンク、または(例えば、同期光ネットワーク(SONET)または同期デジタルハイアラーキ(SDH)などの)光リンクを含む。特定の実施形態では、1つまたは複数のリンク1150は、各々、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー技術ベースネットワーク、衛星通信技術ベースネットワーク、別のリンク1150、または2つまたはそれ以上のそのようなリンク1150の組合せを含む。リンク1150は、ネットワーク環境1100の全体を通じて必ずしも同じである必要はない。1つまたは複数の第1のリンク1150は、1つまたは複数の第2のリンク1150とは1つまたは複数の点で異なり得る。
特定の実施形態においては、クライアントシステム1130は、クライアントシステム1130によって実施またはサポートされる適切な機能性を実行することが可能な、ハードウェア、ソフトウェア、もしくは組込みロジックコンポーネント、または2つ以上のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアントシステム1130は、デスクトップコンピュータ、ノートブックコンピュータもしくはラップトップコンピュータ、ネットブック、タブレットコンピュータなどのコンピュータシステム、eブックリーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、拡張/仮想現実デバイス、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことが可能である。本開示は、任意の好適なクライアントシステム1130を企図する。クライアントシステム1130は、クライアントシステム1130のネットワークユーザがネットワーク1110にアクセスすることを可能にすることができる。クライアントシステム1130は、クライアントシステム1130のユーザが、他のクライアントシステム1130における他のユーザと通信することを可能にし得る。
特定の実施形態においては、クライアントシステム1130(例えば、HMD)は、本明細書において記述されているパススルー機能を提供するためのパススルーエンジン1132を含むことが可能であり、1つまたは複数のアドオン、プラグイン、またはその他の拡張を有することが可能である。クライアントシステム1130のユーザは、特定のサーバ(サーバ1162、またはサードパーティーシステム1170に関連付けられているサーバなど)に接続することが可能である。サーバは、要求を受け入れてクライアントシステム1130と通信することが可能である。
特定の実施形態においては、VRまたはソーシャルネットワーキングシステム1160は、オンライン仮想現実環境またはソーシャルネットワークをホストすることができるネットワークアドレス可能なコンピューティングシステムであってもよい。VRまたはソーシャルネットワーキングシステム1160は、例えば、ユーザプロフィールデータ、コンセプトプロフィールデータ、ソーシャルグラフ情報、または、オンラインソーシャルネットワークに関連したその他の適切なデータなど、ソーシャルネットワーキングデータを生成すること、格納すること、受信すること、および送ることが可能である。ソーシャルネットワーキングまたはVRシステム1160は、ネットワーク環境1100のその他のコンポーネントによって直接、またはネットワーク1110を介してアクセスされることが可能である。限定ではなく、例として、クライアントシステム1130は、ウェブブラウザ、または、ソーシャルネットワーキングもしくはVRシステム1160に関連付けられているネイティブアプリケーション(例えば、モバイルソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、別の適切なアプリケーション、もしくはそれらの任意の組合せ)を使用して、直接またはネットワーク1110を介してソーシャルネットワーキングまたはVRシステム1160にアクセスすることが可能である。特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160は、1つまたは複数のサーバ1162を含むことが可能である。各サーバ1162は、単一サーバ、あるいは複数のコンピュータまたは複数のデータセンターにわたる分散型サーバであり得る。サーバ1162は、例えば、限定はしないが、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、プロキシサーバ、本明細書で説明される機能またはプロセスを実施するのに好適な別のサーバ、あるいはそれらの任意の組合せなど、様々なタイプのものであり得る。特定の実施形態では、各サーバ1162は、サーバ1162によって実装またはサポートされる適切な機能性を行うための、ハードウェア、ソフトウェア、または埋込み論理構成要素、または2つまたはそれ以上のそのような構成要素の組合せを含んでもよい。特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160は、1つまたは複数のデータストア1164を含むことが可能である。データストア1164は、様々なタイプの情報を記憶するために使用され得る。特定の実施形態では、データストア1164に記憶された情報は、固有のデータ構造に従って編成され得る。特定の実施形態では、各データストア1164は、リレーショナルデータベース、列指向データベース、相関データベース、または他の好適なデータベースであってもよい。本開示は、特定のタイプのデータベースを説明するかまたは示すが、本開示は任意の好適なタイプのデータベースを企図する。特定の実施形態は、クライアントシステム1130、ソーシャルネットワーキングもしくはVRシステム1160、またはサードパーティーシステム1170が、データストア1164に格納されている情報を管理すること、取り出すこと、修正すること、付加すること、または削除することを可能にするインターフェースを提供することが可能である。
特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160は、1つまたは複数のソーシャルグラフを1つまたは複数のデータストア1164に格納することが可能である。特定の実施形態では、ソーシャルグラフは、(各々特定のユーザに対応する)複数のユーザノードまたは(各々特定の概念に対応する)複数の概念ノードを含み得る、複数のノードと、ノードをつなげる複数のエッジとを含み得る。ソーシャルネットワーキングまたはVRシステム1160は、オンラインソーシャルネットワークのユーザに、その他のユーザと通信および対話する能力を提供することが可能である。特定の実施形態においては、ユーザたちは、ソーシャルネットワーキングまたはVRシステム1160を介してオンラインソーシャルネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキングまたはVRシステム1160の複数のその他のユーザにつながり(例えば、関係)を付加することが可能である。本明細書においては、「友達」という用語は、ユーザがソーシャルネットワーキングまたはVRシステム1160を介して、つながり、関連付け、または関係を形成している相手であるソーシャルネットワーキングまたはVRシステム1160の任意のその他のユーザを指すことが可能である。
特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160は、ソーシャルネットワーキングまたはVRシステム1160によってサポートされる様々なタイプのアイテムまたはオブジェクトについてアクションをとる能力をユーザに提供することが可能である。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキングまたはVRシステム1160のユーザが属することが可能であるグループもしくはソーシャルネットワーク、ユーザが関心を抱く可能性がある出来事もしくはカレンダー項目、ユーザが使用することが可能であるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することが可能である広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことが可能である。ユーザは、ソーシャルネットワーキングまたはVRシステム1160において、またはサードパーティーシステム1170の外部システム(ソーシャルネットワーキングまたはVRシステム1160とは別個のものであって、ネットワーク1110を介してソーシャルネットワーキングまたはVRシステム1160に結合されている)によって表されることが可能である任意のものと対話することが可能である。
特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160は、様々なエンティティーどうしをリンクすることが可能であり得る。限定ではなく、例として、ソーシャルネットワーキングまたはVRシステム1160は、ユーザたちが互いに対話すること、ならびにサードパーティーシステム1170もしくはその他のエンティティーからのコンテンツを受信することを可能にすることができ、またはユーザたちがアプリケーションプログラミングインターフェース(API)もしくはその他の通信チャネルを通じてこれらのエンティティーと対話することを可能にすることができる。
特定の実施形態では、サードパーティーシステム1170は、1つまたは複数のタイプのサーバ、1つまたは複数のデータストア、限定はしないがAPIを含む1つまたは複数のインターフェース、1つまたは複数のウェブサービス、1つまたは複数のコンテンツソース、1つまたは複数のネットワーク、または例えばサーバが通信し得る任意の他の好適な構成要素を含んでもよい。サードパーティーシステム1170は、ソーシャルネットワーキングまたはVRシステム1160を運営しているエンティティーとは異なるエンティティーによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160およびサードパーティーシステム1170は、ソーシャルネットワーキングもしくはVRシステム1160またはサードパーティーシステム1170のユーザにソーシャルネットワーキングサービスを提供するために互いに連携して機能することが可能である。この意味において、ソーシャルネットワーキングまたはVRシステム1160は、サードパーティーシステム1170などのその他のシステムがインターネットを介してソーシャルネットワーキングサービスおよび機能性をユーザに提供するために使用することが可能であるプラットフォームまたはバックボーンを提供することが可能である。
特定の実施形態では、サードパーティーシステム1170は、サードパーティー・コンテンツ・オブジェクト・プロバイダを含んでもよい。サードパーティー・コンテンツ・オブジェクト・プロバイダは、クライアントシステム1130に通信され得る、コンテンツオブジェクトの1つまたは複数のソースを含んでもよい。限定としてではなく一例として、コンテンツオブジェクトは、例えば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の好適な情報など、ユーザにとって興味のある物またはアクティビティに関する情報を含み得る。限定としてではなく別の例として、コンテンツオブジェクトは、クーポン、ディスカウントチケット、ギフト券、または他の好適なインセンティブオブジェクトなど、インセンティブコンテンツオブジェクトを含み得る。
特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160はまた、ユーザによって生成されたコンテンツオブジェクトを含み、それらのコンテンツオブジェクトは、ソーシャルネットワーキングまたはVRシステム1160とのユーザの対話を高めることが可能である。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキングまたはVRシステム1160に付加、アップロード、送信、または「投稿」することが可能である任意のものを含むことが可能である。限定ではなく、例として、ユーザは、クライアントシステム1130からソーシャルネットワーキングまたはVRシステム1160へ投稿を通信する。投稿は、ステータス更新または他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽あるいは他の同様のデータまたはメディアなど、データを含み得る。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通じてサードパーティーによってソーシャルネットワーキングまたはVRシステム1160に付加されることも可能である。
特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160は、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含むことが可能である。特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160は、ウェブサーバ、アクションロガー、API要求サーバ、関連性およびランキングエンジン、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティー・コンテンツ・オブジェクト公開ログ、推測モジュール、承認/プライバシーサーバ、検索モジュール、広告ターゲティングモジュール、ユーザインターフェースモジュール、ユーザプロフィールストア、つながりストア、サードパーティーコンテンツストア、またはロケーションストアのうちの1つまたは複数を含むことが可能である。ソーシャルネットワーキングまたはVRシステム1160は、適切なコンポーネント、例えば、ネットワークインターフェース、セキュリティーメカニズム、ロードバランサ、フェイルオーバーサーバ、管理およびネットワークオペレーションコンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むことも可能である。特定の実施形態においては、ソーシャルネットワーキングまたはVRシステム1160は、ユーザプロフィールを格納するための1つまたは複数のユーザプロフィールストアを含むことが可能である。ユーザプロファイルは、例えば、経歴情報、人口統計学的情報、行動情報、ソーシャル情報、あるいは、職歴、学歴、趣味もしくは選好、興味、親和性、またはロケーションなど、他のタイプの記述的情報を含み得る。興味情報は、1つまたは複数のカテゴリーに関係する興味を含み得る。カテゴリーは一般的であるかまたは固有のものであり得る。限定としてではなく一例として、ユーザが、靴のブランドに関する記事に対して「いいね!」を表明した場合、カテゴリーは、ブランド、あるいは「靴」または「衣類」の一般的なカテゴリーであり得る。つながりストアは、ユーザに関するつながり情報を記憶するために使用され得る。つながり情報は、同様のまたは共通の職歴、グループメンバーシップ、趣味、学歴を有するか、あるいはいかなる形でも関係するか、または共通属性を共有する、ユーザを指示し得る。つながり情報は、(内部と外部の両方の)異なるユーザとコンテンツとの間のユーザ定義されたつながりをも含み得る。ネットワーク1110を介してソーシャルネットワーキングまたはVRシステム1160を1つもしくは複数のクライアントシステム1130または1つもしくは複数のサードパーティーシステム1170にリンクさせるために、ウェブサーバが使用されることが可能である。ウェブサーバは、ソーシャルネットワーキングまたはVRシステム1160と、1つまたは複数のクライアントシステム1130との間においてメッセージを受信して回送するためにメールサーバまたはその他のメッセージング機能を含むことが可能である。API要求サーバは、サードパーティーシステム1170が、1つまたは複数のAPIを呼び出すことによってソーシャルネットワーキングまたはVRシステム1160からの情報にアクセスすることを可能にすることができる。ソーシャルネットワーキングまたはVRシステム1160の上のまたは外のユーザのアクションに関してウェブサーバから通信を受信するために、アクションロガーが使用されることが可能である。アクションログと併せて、サードパーティー・コンテンツ・オブジェクトへのユーザ公開についてのサードパーティー・コンテンツ・オブジェクト・ログが維持され得る。通知コントローラは、クライアントシステム1130にコンテンツオブジェクトに関する情報を提供し得る。情報は、通知としてクライアントシステム1130へ押し出されることが可能であり、または情報は、クライアントシステム1130から受け取られた要求に応答してクライアントシステム1130から引き出されることが可能である。ソーシャルネットワーキングまたはVRシステム1160のユーザの1つまたは複数のプライバシー設定を実施するために、承認サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられた特定の情報がどのように共有され得るかを決定する。承認サーバは、ユーザが、例えば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキングまたはVRシステム1160によって記録されること、またはその他のシステム(例えば、サードパーティーシステム1170)と共有されることのオプトインまたはオプトアウトを行うことを可能にすることができる。サードパーティー・コンテンツ・オブジェクト・ストアは、サードパーティーシステム1170など、サードパーティーから受信されたコンテンツオブジェクトを記憶するために使用され得る。ロケーションストアは、ユーザに関連付けられたクライアントシステム1130から受信されたロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、ソーシャル情報、現在時間、ロケーション情報、または他の好適な情報を組み合わせて、関連する広告を通知の形態でユーザに提供し得る。
図12は、例示的なコンピュータシステム1200を示す。特定の実施形態では、1つまたは複数のコンピュータシステム1200は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム1200は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム1200上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム1200の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
本開示は、任意の好適な数のコンピュータシステム1200を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム1200を企図する。限定としてではなく例として、コンピュータシステム1200は、組込み型コンピュータシステム、システムオンチップ(SOC)、(例えば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム1200は、1つまたは複数のコンピュータシステム1200を含むか、単一または分散型であるか、複数のロケーションにわたるか、複数のマシンにわたるか、複数のデータセンターにわたるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含んでもよいクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム1200は、実質的な空間的または時間的制限なしに、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。限定としてではなく一例として、1つまたは複数のコンピュータシステム1200は、リアルタイムでまたはバッチモードで、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステム1200は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。
特定の実施形態では、コンピュータシステム1200は、プロセッサ1202、メモリ1204、ストレージ1206、入力/出力(I/O)インターフェース1208、通信インターフェース1210、およびバス1212を含む。本開示は、特定の配置において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な配置において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
特定の実施形態では、プロセッサ1202は、コンピュータプログラムを作成する命令など、命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ1202は、内部レジスタ、内部キャッシュ、メモリ1204、またはストレージ1206から命令を取り出し(またはフェッチし)、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ1204、またはストレージ1206に1つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ1202は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含んでもよい。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ1202を企図する。限定としてではなく一例として、プロセッサ1202は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファー(TLB)とを含んでもよい。命令キャッシュ中の命令は、メモリ1204またはストレージ1206中の命令のコピーであり得、命令キャッシュは、プロセッサ1202によるそれらの命令の取出しを高速化し得る。データキャッシュ中のデータは、プロセッサ1202において実行する命令が動作する対象のメモリ1204またはストレージ1206中のデータのコピー、プロセッサ1202において実行する後続の命令によるアクセスのための、またはメモリ1204もしくはストレージ1206に書き込むための、プロセッサ1202において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ1202による読取りまたは書込み動作を高速化し得る。TLBは、プロセッサ1202のための仮想アドレストランスレーションを高速化し得る。特定の実施形態では、プロセッサ1202は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含んでもよい。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ1202を企図する。適切な場合、プロセッサ1202は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ1202を含んでもよい。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ1204は、プロセッサ1202が実行するための命令、またはプロセッサ1202が動作する対象のデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム1200は、ストレージ1206または(例えば、別のコンピュータシステム1200などの)別のソースからメモリ1204に命令をロードし得る。プロセッサ1202は、次いで、メモリ1204から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ1202は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令を復号し得る。命令の実行中またはその後に、プロセッサ1202は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ1202は、次いで、メモリ1204にそれらの結果のうちの1つまたは複数を書き込み得る。特定の実施形態では、プロセッサ1202は、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1206または他の場所とは対照的な)メモリ1204中の命令のみを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1206または他の場所とは対照的な)メモリ1204中のデータのみに対して動作する。1つまたは複数のメモリバス(アドレスバスおよびデータバスを各々含んでもよい)が、プロセッサ1202をメモリ1204に結合し得る。バス1212は、以下で説明するように、1つまたは複数のメモリバスを含んでもよい。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ1202とメモリ1204との間に常駐し、プロセッサ1202によって要求されるメモリ1204へのアクセスを容易にする。特定の実施形態では、メモリ1204は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ1204は、適切な場合、1つまたは複数のメモリ1204を含んでもよい。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
特定の実施形態では、ストレージ1206は、データまたは命令のための大容量ストレージを含む。限定としてではなく一例として、ストレージ1206は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含んでもよい。ストレージ1206は、適切な場合、リムーバブルまたは非リムーバブル(または固定)媒体を含んでもよい。ストレージ1206は、適切な場合、コンピュータシステム1200の内部または外部にあり得る。特定の実施形態では、ストレージ1206は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ1206は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ1206を企図する。ストレージ1206は、適切な場合、プロセッサ1202とストレージ1206との間の通信を容易にする1つまたは複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ1206は、1つまたは複数のストレージ1206を含んでもよい。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース1208は、コンピュータシステム1200と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム1200は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含んでもよい。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム1200との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインターフェース1208とを企図する。適切な場合、I/Oインターフェース1208は、プロセッサ1202がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含んでもよい。I/Oインターフェース1208は、適切な場合、1つまたは複数のI/Oインターフェース1208を含んでもよい。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース1210は、コンピュータシステム1200と、1つまたは複数の他のコンピュータシステム1200または1つまたは複数のネットワークとの間の(例えば、パケットベース通信などの)通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、通信インターフェース1210は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含んでもよい。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース1210とを企図する。限定としてではなく一例として、コンピュータシステム1200は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム1200は、(例えば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(例えば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム1200は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース1210を含んでもよい。通信インターフェース1210は、適切な場合、1つまたは複数の通信インターフェース1210を含んでもよい。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス1212は、コンピュータシステム1200の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス1212は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含んでもよい。バス1212は、適切な場合、1つまたは複数のバス1212を含んでもよい。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、配置されるか、実施することが可能であるか、実施するように構成されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、配置されるか、可能であるか、構成されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。

Claims (15)

  1. 1つまたは複数のコンピューティングシステムにより、
    仮想現実(VR)ディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第1の出力画像をレンダリングすることであって、前記VR環境が第1のユーザに関連付けられたパーソナル・ユーザ・インターフェース(UI)を含み、前記パーソナルUIが前記第1のユーザに関する第1のフォームファクタおよび第1のポーズを有し、前記パーソナルUIが1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであり、前記パーソナルUIが複数のアプリケーションを実行するように動作可能である、第1の出力画像をレンダリングすることと、
    前記VR環境に関する前記第1のユーザのコンテキストの変化を検出することと、
    前記第1のユーザの前記コンテキストの前記検出された変化に基づいて前記パーソナルUIを適合させるかどうかを決定することと、
    前記VRディスプレイデバイスの前記1つまたは複数のディスプレイに対して、前記VR環境の第2の出力画像をレンダリングすることであって、前記パーソナルUIが、前記第1のユーザの前記コンテキストの前記検出された変化に基づいて前記パーソナルUIを適合させるとの決定に応答して、前記第1のユーザに関する第2のフォームファクタおよび第2のポーズを有するように適合される、第2の出力画像をレンダリングすることと、
    を含む方法。
  2. 前記第1のユーザの前記コンテキストの前記変化を検出することが、
    前記VR環境において前記第1のユーザが第1のポーズから第2のポーズに変化したと判定することを含み、好ましくは、前記第1のユーザが前記第1のポーズから前記第2のポーズに変化したと判定することが、
    前記ユーザの位置が前記VR環境内のオブジェクトのしきい値距離内にあるかどうかを判定することと、
    前記ユーザの向きが、前記ユーザが前記VR環境内の前記オブジェクトに面していることを示すかどうかを判定することと、
    を含む、請求項1に記載の方法。
  3. 前記第1のユーザの前記コンテキストの前記変化を検出することが、
    前記複数のアプリケーションから前記パーソナルUI上の特定のアプリケーションを選択する、前記ユーザによる入力を受信することであって、前記特定のアプリケーションが前記パーソナルUIの前記第2のフォームファクタおよび前記第2のポーズに関連付けられる、前記ユーザによる入力を受信することを含み、または好ましくは、前記第1のユーザの前記コンテキストの前記変化を検出することが、
    前記第1のユーザが第1の仮想空間から第2の仮想空間に移動したことを検出すること、を含み、または好ましくは、前記第1のユーザの前記コンテキストの前記変化を検出することが、
    前記第1のユーザが前記パーソナルUI上で第1のアプリケーションの使用から第2のアプリケーションに切り替えたことを検出することを含む、
    請求項1に記載の方法。
  4. 前記第1のユーザの前記コンテキストの前記検出された変化に基づいて前記パーソナルUIを適合させるかどうかを決定することが、
    前記VR環境における前記ユーザの活動に関連付けられた前記パーソナルUIの所定のフォームファクタおよびポーズを識別すること
    を含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記パーソナルUIが複数の2D仮想ディスプレイを含み、前記複数の2D仮想ディスプレイが、前記複数の2D仮想ディスプレイの複数の予め設定された向きを含むタイルベースのレイアウトで配置される、請求項1から4のいずれか一項に記載の方法。
  6. 前記複数の2D仮想ディスプレイのうちの第1の2D仮想ディスプレイが、前記複数のアプリケーションのうちの第1のアプリケーションの組を実行するように動作可能であり、前記複数の2D仮想ディスプレイのうちの第2の2D仮想ディスプレイが、前記複数のアプリケーションのうちの第2のアプリケーションの組を実行するように動作可能である、請求項5に記載の方法。
  7. 前記第1のフォームファクタおよび前記第2のフォームファクタは、仮想時計、仮想スマートフォン、仮想タブレット、仮想リモコン、仮想コンピュータモニタ、仮想テレビ、および仮想映画画面からなる群から選択される、請求項1から6のいずれか一項に記載の方法。
  8. 前記VR環境が、前記第1のユーザおよび一人または複数の第2のユーザのための共有仮想空間を含み、好ましくは、前記第1のユーザのプライバシー設定が、前記一人または複数の第2のユーザが前記第1のユーザに関連付けられた前記パーソナルUI上のコンテンツを閲覧するのを妨げ、または好ましくは、
    前記第1のユーザの前記パーソナルUIから前記VR環境内の共有仮想画面上にコンテンツをキャストすることであって、前記コンテンツが、前記第1のユーザおよび前記一人または複数の第2のユーザによって前記共有仮想画面上で閲覧可能である、コンテンツをキャストすること
    をさらに含む、請求項1から7のいずれか一項に記載の方法。
  9. 前記複数のアプリケーションが、前記第1のユーザに関連付けられた実世界コンピューティングデバイス上のアプリケーションに対応する、請求項1から8のいずれか一項に記載の方法。
  10. ソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されると、
    仮想現実(VR)ディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第1の出力画像をレンダリングすることであって、前記VR環境が第1のユーザに関連付けられたパーソナル・ユーザ・インターフェース(UI)を含み、前記パーソナルUIが前記第1のユーザに関する第1のフォームファクタおよび第1のポーズを有し、前記パーソナルUIが1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであり、前記パーソナルUIが複数のアプリケーションを実行するように動作可能である、第1の出力画像をレンダリングすることと、
    前記VR環境に関する前記第1のユーザのコンテキストの変化を検出することと、
    前記第1のユーザの前記コンテキストの前記検出された変化に基づいて前記パーソナルUIを適合させるかどうかを決定することと、
    前記VRディスプレイデバイスの前記1つまたは複数のディスプレイに対して、前記VR環境の第2の出力画像をレンダリングすることであって、前記パーソナルUIが、前記第1のユーザの前記コンテキストの前記検出された変化に基づいて前記パーソナルUIを適合させるとの決定に応答して、前記第1のユーザに関する第2のフォームファクタおよび第2のポーズを有するように適合される、第2の出力画像をレンダリングすることと、
    を行うように動作可能である、
    媒体。
  11. 前記ソフトウェアが、実行されると、前記第1のユーザの前記コンテキストの前記変化を検出して、
    前記第1のユーザが前記VR環境において第1のポーズから第2のポーズに変化したと判定する、
    ように動作可能である、請求項10に記載の媒体。
  12. 前記ソフトウェアが、実行されると、前記第1のユーザが前記第1のポーズから前記第2のポーズに変化したと判定して、
    前記ユーザの位置が前記VR環境内のオブジェクトのしきい値距離内にあるかどうかを判定することと、
    前記ユーザの向きが、前記ユーザが前記VR環境内の前記オブジェクトに面していることを示すかどうかを判定することと、を行うように動作可能である、請求項10または11に記載の媒体。
  13. 前記ソフトウェアが、実行されると、前記第1のユーザの前記コンテキストの前記変化を検出して、
    前記複数のアプリケーションから前記パーソナルUI上の特定のアプリケーションを選択する、前記ユーザによる入力を受信することであって、前記特定のアプリケーションが前記パーソナルUIの前記第2のフォームファクタおよび前記第2のポーズに関連付けられる、前記ユーザによる入力を受信すること、
    を行うように動作可能である、請求項10に記載の媒体。
  14. 前記ソフトウェアが、実行されると、前記第1のユーザの前記コンテキストの前記変化を検出して、
    前記第1のユーザが前記パーソナルUI上で第1のアプリケーションの使用から第2のアプリケーションに切り替えたことを検出する、
    ように動作可能である、請求項10に記載の媒体。
  15. システムであって、1つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を含む、前記プロセッサに結合された非一時的メモリと、を備え、前記プロセッサは、前記命令を実行すると、
    仮想現実(VR)ディスプレイデバイスの1つまたは複数のディスプレイに対して、VR環境の第1の出力画像をレンダリングすることであって、前記VR環境が第1のユーザに関連付けられたパーソナル・ユーザ・インターフェース(UI)を含み、前記パーソナルUIが前記第1のユーザに関する第1のフォームファクタおよび第1のポーズを有し、前記パーソナルUIが1つまたは複数の2D仮想ディスプレイを含む仮想オブジェクトであり、前記パーソナルUIが複数のアプリケーションを実行するように動作可能である、第1の出力画像をレンダリングすることと、
    前記VR環境に関する前記第1のユーザのコンテキストの変化を検出することと、
    前記第1のユーザの前記コンテキストの前記検出された変化に基づいて前記パーソナルUIを適合させるかどうかを決定することと、
    前記第1のユーザが第1の仮想空間から第2の仮想空間に移動したことを検出することと、を行うように動作可能である、システム。
JP2023543355A 2021-02-11 2022-02-11 アプリケーション間仮想現実設定における適応可能なパーソナル・ユーザ・インターフェース Pending JP2024509668A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/174,037 US11556169B2 (en) 2021-02-11 2021-02-11 Adaptable personal user interfaces in cross-application virtual reality settings
US17/174,037 2021-02-11
PCT/US2022/016110 WO2022174029A1 (en) 2021-02-11 2022-02-11 Adaptable personal user interfaces in cross-application virtual reality settings

Publications (1)

Publication Number Publication Date
JP2024509668A true JP2024509668A (ja) 2024-03-05

Family

ID=82704948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023543355A Pending JP2024509668A (ja) 2021-02-11 2022-02-11 アプリケーション間仮想現実設定における適応可能なパーソナル・ユーザ・インターフェース

Country Status (6)

Country Link
US (2) US11556169B2 (ja)
EP (1) EP4291971A1 (ja)
JP (1) JP2024509668A (ja)
KR (1) KR20230137936A (ja)
CN (1) CN116917844A (ja)
WO (1) WO2022174029A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928774B2 (en) * 2022-07-20 2024-03-12 Katmai Tech Inc. Multi-screen presentation in a virtual videoconferencing environment

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019962B2 (en) * 2011-08-17 2018-07-10 Microsoft Technology Licensing, Llc Context adaptive user interface for augmented reality display
DE202014103729U1 (de) * 2014-08-08 2014-09-09 Leap Motion, Inc. Augmented-Reality mit Bewegungserfassung
US20180024623A1 (en) * 2016-07-22 2018-01-25 Google Inc. Detecting user range of motion for virtual reality user interfaces
GB2567367A (en) * 2016-08-04 2019-04-10 Walmart Apollo Llc Vector-based characterizations of products and individuals with respect to personal partialities
US10536691B2 (en) * 2016-10-04 2020-01-14 Facebook, Inc. Controls and interfaces for user interactions in virtual spaces
US11164378B1 (en) * 2016-12-08 2021-11-02 Out of Sight Vision Systems LLC Virtual reality detection and projection system for use with a head mounted display
US10166465B2 (en) 2017-01-20 2019-01-01 Essential Products, Inc. Contextual user interface based on video game playback
US20190088030A1 (en) * 2017-09-20 2019-03-21 Microsoft Technology Licensing, Llc Rendering virtual objects based on location data and image data
EP3688562A1 (en) 2017-09-29 2020-08-05 Apple Inc. Physical boundary guardian
WO2019079790A1 (en) * 2017-10-21 2019-04-25 Eyecam, Inc ADAPTIVE GRAPHIC USER INTERFACE SYSTEM
US10803674B2 (en) 2017-11-03 2020-10-13 Samsung Electronics Co., Ltd. System and method for changing a virtual reality environment dynamically
US10671238B2 (en) * 2017-11-17 2020-06-02 Adobe Inc. Position-dependent modification of descriptive content in a virtual reality environment
US20190340818A1 (en) * 2018-05-04 2019-11-07 Facebook Technologies, Llc Display Reorientation in a Virtual Reality Environment
US20200020165A1 (en) * 2018-07-12 2020-01-16 Bao Tran Smart device
US10831266B2 (en) * 2019-01-03 2020-11-10 International Business Machines Corporation Personalized adaptation of virtual reality content based on eye strain context
US11816800B2 (en) * 2019-07-03 2023-11-14 Apple Inc. Guided consumer experience

Also Published As

Publication number Publication date
US20220253125A1 (en) 2022-08-11
WO2022174029A1 (en) 2022-08-18
KR20230137936A (ko) 2023-10-05
US20230120052A1 (en) 2023-04-20
EP4291971A1 (en) 2023-12-20
US11556169B2 (en) 2023-01-17
CN116917844A (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
US11416067B2 (en) Suspend mode feature for artificial reality systems
US11417054B1 (en) Mixed reality objects in virtual reality environments
JP2023511639A (ja) 人工現実における物理環境のリアルタイムの視覚化を表示するためのシステム、方法、およびメディア
US11989844B2 (en) Systems and methods for providing spatial awareness in virtual reality
CN115087945A (zh) 用于在人工现实中自动触发物理环境的实时可视化的系统、方法和介质
US20230290089A1 (en) Dynamic Mixed Reality Content in Virtual Reality
EP4272061A1 (en) Systems and methods for generating stabilized images of a real environment in artificial reality
US20230120052A1 (en) Adaptable Personal User Interfaces in Cross-Application Virtual Reality Settings
US20230259194A1 (en) Spatial Anchor Sharing for Multiple Virtual Reality Systems in Shared Real-World Environments
US20230221797A1 (en) Ephemeral Artificial Reality Experiences
US20230056976A1 (en) Platformization of Mixed Reality Objects in Virtual Reality Environments
CN115661408A (zh) 在人工现实环境中生成和修改手的表示