IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オキュラス ブイアール,エルエルシーの特許一覧

特許7604404人工現実システムのための中断モード特徴
<>
  • 特許-人工現実システムのための中断モード特徴 図1A
  • 特許-人工現実システムのための中断モード特徴 図1B
  • 特許-人工現実システムのための中断モード特徴 図2A
  • 特許-人工現実システムのための中断モード特徴 図2B
  • 特許-人工現実システムのための中断モード特徴 図3
  • 特許-人工現実システムのための中断モード特徴 図4
  • 特許-人工現実システムのための中断モード特徴 図5
  • 特許-人工現実システムのための中断モード特徴 図6
  • 特許-人工現実システムのための中断モード特徴 図7
  • 特許-人工現実システムのための中断モード特徴 図8
  • 特許-人工現実システムのための中断モード特徴 図9
  • 特許-人工現実システムのための中断モード特徴 図10
  • 特許-人工現実システムのための中断モード特徴 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-13
(45)【発行日】2024-12-23
(54)【発明の名称】人工現実システムのための中断モード特徴
(51)【国際特許分類】
   G06F 3/01 20060101AFI20241216BHJP
   A63F 13/25 20140101ALI20241216BHJP
   A63F 13/49 20140101ALI20241216BHJP
   G06F 3/0482 20130101ALI20241216BHJP
   G09G 5/00 20060101ALI20241216BHJP
【FI】
G06F3/01 510
A63F13/25
A63F13/49
G06F3/01 570
G06F3/0482
G09G5/00 510Q
G09G5/00 530T
G09G5/00 550C
【請求項の数】 15
(21)【出願番号】P 2021577042
(86)(22)【出願日】2020-09-03
(65)【公表番号】
(43)【公表日】2022-11-22
(86)【国際出願番号】 US2020049282
(87)【国際公開番号】W WO2021061369
(87)【国際公開日】2021-04-01
【審査請求日】2023-08-17
(31)【優先権主張番号】62/905,098
(32)【優先日】2019-09-24
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/734,093
(32)【優先日】2020-01-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】シュー, チン
(72)【発明者】
【氏名】ヤング, リンジー
(72)【発明者】
【氏名】サマーズ, メリッサ エリン
(72)【発明者】
【氏名】ツェラー, アンドレア
(72)【発明者】
【氏名】ギョカルプ, アイファー
(72)【発明者】
【氏名】ボドレク, アーサー
(72)【発明者】
【氏名】リー, ソヒョン
【審査官】渡辺 慶人
(56)【参考文献】
【文献】特表2018-524134(JP,A)
【文献】米国特許出願公開第2018/0157333(US,A1)
【文献】特開2018-147458(JP,A)
【文献】特開平10-154053(JP,A)
【文献】米国特許出願公開第2018/0095542(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
3/048- 3/04895
A63F 9/24
13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
ヘッドマウントディスプレイ(HMD)であって、前記HMDのユーザに人工現実コンテンツを出力するように構成され、前記人工現実コンテンツが、人工現実環境に参加する1人または複数の他のユーザに対応する1つまたは複数のアバターを含む、ヘッドマウントディスプレイ(HMD)と、
ユーザ入力に応答して、前記HMDの前記ユーザのために、前記ユーザに対応するアバターが前記人工現実環境に参加することを停止するとともに、前記1人または複数の他のユーザの各HMDでは、前記1人または複数の他のユーザに対応する1つまたは複数のアバターが前記人工現実環境に参加することを継続させる中断モード環境を有効にするように構成された中断モードエンジンであって、前記中断モードエンジンが、少なくとも、
前記ユーザの前記HMDにおいて前記中断モード環境内の静的位置に前記1つまたは複数のアバターをレンダリングしつつ、前記1人または複数の他のユーザの各HMDにおいて、前記1人または複数の他のユーザに対応する1つまたは複数のアバターが前記人工現実環境に参加することを継続させること
行う、中断モードエンジンと
を備える、人工現実システム。
【請求項2】
物理的環境を表す画像データをキャプチャするように構成された撮像デバイスと、
前記画像データから、前記撮像デバイスの視野における、前記HMDの前記ユーザの手の内側手首領域を移動することを含むユーザインターフェース(UI)アクティブ化ジェスチャーを識別するように構成されたジェスチャー検出器と、
前記UIアクティブ化ジェスチャーに応答して、中断モードUI要素を生成するように構成されたUIエンジンと、
前記ユーザの前記手の近くでまたは少なくとも部分的にその上で前記中断モードUI要素をレンダリングするように構成されたレンダリングエンジンと
をさらに備え、
好ましくは、前記ユーザ入力が、前記中断モードUI要素上の、前記ユーザのアバターの仮想手の1つまたは複数のフィンガーの配置を含む、中断モード選択ジェスチャーに対応し、前記ジェスチャー検出器が、前記画像データから、前記中断モード選択ジェスチャーを識別するようにさらに構成された、請求項1に記載の人工現実システム。
【請求項3】
前記中断モードエンジンは、前記中断モード環境が有効にされたことに応答して、前記1つまたは複数のアバターが前記ユーザのアバターから個人空間しきい値内にあるとき、前記ユーザの前記アバターから離れるように前記1つまたは複数のアバターを移動するようにさらに構成された、請求項1または2に記載の人工現実システム。
【請求項4】
前記中断モードエンジンが、前記人工現実環境内の仮想背景および仮想オブジェクトを前記中断モード環境中の単色背景と交換するようにさらに構成され、
好ましくは、前記中断モードエンジンが、前記中断モード環境において背景音楽を再生するようにさらに構成された、
請求項1から3のいずれか一項に記載の人工現実システム。
【請求項5】
前記HMDが第1のHMDを含み、前記第1のHMDの前記ユーザが第1のユーザを含み、前記システムが、前記1つまたは複数の他のアバターのうちの1つに対応する第2のユーザの第2のHMDをさらに備え、前記第2のHMDが、前記第2のユーザに、前記人工現実環境を含む人工現実コンテンツを出力するように構成され、
前記第1のユーザのアバターは、前記中断モードが前記第1のHMDにおいて前記第1のユーザのために有効にされた後に、前記人工現実環境に参加することを停止し、
前記第2のユーザは、前記中断モードが前記第1のHMDにおいて前記第1のユーザのために有効にされた後に、前記第2のHMDにおいて前記人工現実環境に参加し続ける、
請求項1から4のいずれか一項に記載の人工現実システム。
【請求項6】
前記第2のHMDは、前記中断モードが前記第1のHMDにおいて前記第1のユーザのために有効にされた後に、前記第1のHMDの前記第1のユーザに対応する仮想グラフィックをレンダリングする、請求項5に記載の人工現実システム。
【請求項7】
前記第2のHMDの前記第2のユーザは、前記中断モードが前記第1のHMDにおいて前記第1のユーザのために有効にされた後に、前記人工現実環境内で前記第1のHMDの前記第1のユーザの前記アバターと相互作用することができない、請求項5または6に記載の人工現実システム。
【請求項8】
前記ユーザ入力が第1のユーザ入力を含み、前記中断モード環境が第1の中断モード環境を含み、
前記中断モードエンジンが、前記第2のユーザからの第2のユーザ入力に応答して、前記第2のHMDの前記第2のユーザのために、前記第1の中断モード環境とは異なる第2の中断モード環境を有効にするようにさらに構成され、
前記第2のHMDの前記第2のユーザが、前記第1の中断モード環境または前記第2の中断モード環境内で前記第1のユーザの前記アバターと相互作用することができない、
請求項5から7のいずれか一項に記載の人工現実システム。
【請求項9】
前記中断モードエンジンは、
前記中断モード環境内の前記1つまたは複数のアバターの各々のためのユーザインターフェース(UI)要素をレンダリングすることであって、各UI要素が、前記ユーザによって実施される選択ジェスチャーを介して選択可能である、ユーザインターフェース(UI)要素をレンダリングすることと、
前記1つまたは複数のアバターのうちの第1のアバターに対応する第1のUI要素の選択ジェスチャーを検出したことに応答して、
選択されたとき、前記ユーザが前記人工現実環境に戻ったときに前記HMDにおいて前記第1のアバターをミュートするように構成された、第1の選択可能な仮想要素をレンダリングすることと、
選択されたとき、前記ユーザが前記人工現実環境に戻ったときに前記第1のアバターと前記ユーザのアバターとが相互作用することをブロックするように構成された、第2の選択可能な仮想要素をレンダリングすることと、
選択されたとき、前記第1のアバターを、AR体験に関連付けられたレビューエンティティに報告するように構成された、第3の選択可能な仮想要素をレンダリングすることと
のうちの少なくとも1つを行うことと
を行うようにさらに構成された、請求項1から8のいずれか一項に記載の人工現実システム。
【請求項10】
前記第1のアバターは、前記第1のアバターに対応する前記第1のUI要素が選択されたとき、ハイライトされ、
好ましくは、前記第1のアバターは、前記中断モード環境が前記ユーザのために有効にされたか否かにかかわらず、前記ユーザによってブロックされた場合、前記人工現実環境または任意の他の人工現実環境において前記ユーザの前記アバターと相互作用することができないことになる、
請求項9に記載の人工現実システム。
【請求項11】
人工現実システムのヘッドマウントディスプレイ(HMD)において、前記HMDのユーザに人工現実コンテンツを出力することであって、前記人工現実コンテンツが、人工現実環境に参加する1人または複数の他のユーザに対応する1つまたは複数のアバターを含む、人工現実コンテンツを出力することと、
ユーザ入力に応答して、前記HMDの前記ユーザのために、前記ユーザに対応するアバターが前記人工現実環境に参加することを停止するとともに、前記1人または複数の他のユーザの各HMDでは、前記1人または複数の他のユーザに対応する1つまたは複数のアバターが前記人工現実環境に参加することを継続させる中断モード環境を、少なくとも、
前記ユーザの前記HMDにおいて前記中断モード環境内の静的位置に前記1つまたは複数のアバターをレンダリングしつつ、前記1人または複数の他のユーザの各HMDにおいて、前記1人または複数の他のユーザに対応する1つまたは複数のアバターが前記人工現実環境に参加することを継続させること
によって有効にすることと
を含む、方法。
【請求項12】
前記人工現実システムによって、撮像デバイスを介して画像データを取得することと、
前記画像データから、前記撮像デバイスの視野における、前記HMDの前記ユーザの手の内側手首領域を移動することを含むユーザインターフェース(UI)アクティブ化ジェスチャーを識別することと、
前記UIアクティブ化ジェスチャーに応答して、中断モードUI要素を生成することと、
前記ユーザの前記手の近くでまたは少なくとも部分的にその上で前記中断モードUI要素をレンダリングすることと
をさらに含み、
好ましくは、前記ユーザ入力が、前記中断モードUI要素上の、前記ユーザのアバターの仮想手の1つまたは複数のフィンガーの配置を含む、中断モード選択ジェスチャーに対応し、
前記方法が、前記画像データから、前記中断モード選択ジェスチャーを識別することをさらに含む、請求項11に記載の方法。
【請求項13】
断モードエンジンが、前記人工現実環境内の仮想背景および仮想オブジェクトを前記中断モード環境中の単色背景と交換するようにさらに構成され、
好ましくは、前記中断モード環境を有効にすることは、前記中断モード環境が有効にされたことに応答して、前記1つまたは複数のアバターが前記ユーザのアバターから個人空間しきい値内にあるとき、前記ユーザの前記アバターから離れるように前記1つまたは複数のアバターを移動することをさらに含む、
請求項11または12に記載の方法。
【請求項14】
前記ユーザのアバターは、前記中断モードが前記HMDにおいて前記ユーザのために有効にされた後に、前記人工現実環境に参加することを停止し、前記1人または複数の他のユーザに対応する前記1つまたは複数のアバターは、前記中断モードが前記HMDにおいて前記ユーザのために有効にされた後に、前記人工現実環境に参加し続ける、請求項11から13のいずれか一項に記載の方法。
【請求項15】
命令を備えるコンピュータ可読記憶媒体であって、前記命令は、
人工現実システムのヘッドマウントディスプレイ(HMD)において、前記HMDのユーザに人工現実コンテンツを出力することであって、前記人工現実コンテンツが、人工現実環境に参加する1人または複数の他のユーザに対応する1つまたは複数のアバターを含む、人工現実コンテンツを出力することと、
ユーザ入力に応答して、前記ユーザに対応するアバターが前記人工現実環境に参加することを停止するとともに、前記1人または複数の他のユーザの各HMDでは、前記1人または複数の他のユーザに対応する1つまたは複数のアバターが前記人工現実環境に参加することを継続させる、中断モード環境を、少なくとも、
前記ユーザの前記HMDにおいて前記中断モード環境内の静的位置に前記1つまたは複数のアバターをレンダリングしつつ、前記1人または複数の他のユーザの各HMDにおいて、前記1人または複数の他のユーザに対応する1つまたは複数のアバターが前記人工現実環境に参加することを継続させること
よって有効にすることと
を行うように1つまたは複数のプログラマブルプロセッサを構成する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、その内容全体が参照により本明細書に組み込まれる、2019年9月24日に出願された米国仮特許出願第62/905,098号の利益を主張する。
【0002】
本開示は、一般に、仮想現実システム、複合現実システムおよび/または拡張現実システムなど、人工現実システムに関する。
【背景技術】
【0003】
人工現実システムは、コンピュータゲーム、健康および安全、工業、ならびに教育などの多くの分野における適用例にとってますますユビキタスになっている。いくつかの例として、人工現実システムは、モバイルデバイス、ゲーミングコンソール、パーソナルコンピュータ、映画館、およびテーマパークに組み込まれている。概して、人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実、拡張現実、複合現実、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。
【0004】
一般的な人工現実システムは、ユーザに対してコンテンツをレンダリングおよび表示するための1つまたは複数のデバイスを含む。一例として、人工現実システムは、ユーザによって装着され、ユーザに人工現実コンテンツを出力するように構成された、ヘッドマウントディスプレイ(HMD)を組み込み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界のビデオおよび/または画像)と組み合わせられた生成されたコンテンツを含み得る。動作中に、ユーザは、一般に、コンテンツを選択するか、アプリケーションを起動するか、またはさもなければシステムを構成するために、人工現実システムと相互作用する。
【発明の概要】
【0005】
概して、本開示は、人工現実システムのための中断モード特徴について説明する。より詳細には、本開示は、人工現実アプリケーションの実行中に中断モード環境を生成することと、中断モード環境内でユーザインターフェース(UI)要素を提示および制御することとを行うためのシステム構成および技法について説明する。中断モード特徴は、人工現実(AR)環境内で1人または複数の他のユーザ(または1人または複数の他のユーザに対応する1つまたは複数のアバター)と相互作用するユーザが、ユーザのパースペクティブ(perspective)からAR環境を中断することを可能にする。中断モード環境中にいる間、ユーザは、AR環境からの他のユーザを観察および選択することが可能である。たとえば、ユーザは、中断モード環境から、友達になるべき別のユーザを選択するか、そのユーザにメッセージするか、そのユーザをミュートするか、そのユーザをブロックするか、またはそのユーザを報告し得る。
【0006】
本発明の第1の態様によれば、ヘッドマウントディスプレイ(HMD)であって、HMDのユーザに人工現実コンテンツを出力するように構成され、人工現実コンテンツが、人工現実環境に参加する1人または複数の他のユーザに対応する1つまたは複数のアバターを含む、ヘッドマウントディスプレイ(HMD)と、ユーザ入力に応答して、HMDのユーザのために中断モード環境を有効にするように構成された中断モードエンジンであって、中断モードエンジンが、HMDにおいて人工現実環境を中断モード環境と交換すること、HMDにおいて1つまたは複数のアバターおよび人工現実環境をミュートすること、または中断モード環境内の静的位置において1つまたは複数のアバターをレンダリングすることのうちの少なくとも1つを行う、中断モードエンジンとを備える、人工現実システムが提供される。
【0007】
人工現実システムは、物理的環境を表す画像データをキャプチャするように構成された撮像デバイス、画像データから、撮像デバイスの視野における、HMDのユーザの手の内側手首領域(inside wrist area)を移動することを含むユーザインターフェース(UI)アクティブ化ジェスチャーを識別するように構成されたジェスチャー検出器、UIアクティブ化ジェスチャーに応答して、中断モードUI要素を生成するように構成されたUIエンジン、および/あるいはユーザの手の近くでまたは少なくとも部分的にその上で中断モードUI要素をレンダリングするように構成されたレンダリングエンジンをさらに備え得る。
【0008】
ユーザ入力は、中断モードUI要素上の、ユーザのアバターの仮想手の1つまたは複数のフィンガー(finger)の配置を含む、中断モード選択ジェスチャーに対応し得る。ジェスチャー検出器は、画像データから、中断モード選択ジェスチャーを識別するようにさらに構成され得る。
【0009】
中断モードエンジンは、中断モード環境が有効にされたことに応答して、1つまたは複数のアバターがユーザのアバターから個人空間しきい値内にあるとき、ユーザのアバターから離れるように1つまたは複数のアバターを移動するようにさらに構成され得る。
【0010】
中断モードエンジンは、人工現実環境内の仮想背景および仮想オブジェクトを中断モード環境中の単色背景(solid-color background)と交換するようにさらに構成され得る。
【0011】
中断モードエンジンは、中断モード環境において背景音楽を再生するようにさらに構成され得る。
【0012】
HMDは、第1のHMDを含み得、第1のHMDのユーザは第1のユーザを含み得る。本システムは、1つまたは複数の他のアバターのうちの1つに対応する第2のユーザの第2のHMDをさらに備え得る。第2のHMDは、第2のユーザに、人工現実環境を含む人工現実コンテンツを出力するように構成され得る。第1のユーザのアバターは、中断モードが第1のHMDにおいて第1のユーザのために有効にされた後に、人工現実環境に参加することを停止し得る。第2のユーザは、中断モードが第1のHMDにおいて第1のユーザのために有効にされた後に、第2のHMDにおいて人工現実環境に参加し続け得る。
【0013】
第2のHMDは、中断モードが第1のHMDにおいて第1のユーザのために有効にされた後に、第1のHMDの第1のユーザに対応する仮想グラフィックをレンダリングし得る。
【0014】
第2のHMDの第2のユーザは、中断モードが第1のHMDにおいて第1のユーザのために有効にされた後に、人工現実環境内で第1のHMDの第1のユーザのアバターと相互作用することができないことがある。
【0015】
ユーザ入力は、第1のユーザ入力を含み得る。中断モード環境は、第1の中断モード環境を含み得る。中断モードエンジンは、第2のユーザからの第2のユーザ入力に応答して、第2のHMDの第2のユーザのために、第1の中断モード環境とは異なる第2の中断モード環境を有効にするようにさらに構成され得る。第2のHMDの第2のユーザは、第1の中断モード環境または第2の中断モード環境内で第1のユーザのアバターと相互作用することができないことがある。
【0016】
中断モードエンジンは、中断モード環境内の1つまたは複数のアバターの各々のためのユーザインターフェース(UI)要素をレンダリングすることであって、各UI要素が、ユーザによって実施される選択ジェスチャーを介して選択可能である、ユーザインターフェース(UI)要素をレンダリングすること、および/または1つまたは複数のアバターのうちの第1のアバターに対応する第1のUI要素の選択ジェスチャーを検出したことに応答して、選択されたとき、ユーザが人工現実環境に戻ったときにHMDにおいて第1のアバターをミュートするように構成された、第1の選択可能な仮想要素をレンダリングすることと、選択されたとき、ユーザが人工現実環境に戻ったときに第1のアバターとユーザのアバターとが相互作用することをブロックするように構成された、第2の選択可能な仮想要素をレンダリングすることと、選択されたとき、第1のアバターを、AR体験に関連付けられたレビューエンティティに報告するように構成された、第3の選択可能な仮想要素をレンダリングすることとのうちの少なくとも1つを行うことを行うようにさらに構成され得る。
【0017】
第1のアバターは、第1のアバターに対応する第1のUI要素が選択されたとき、ハイライトされ得る。
【0018】
第1のアバターは、中断モード環境がユーザのために有効にされたか否かにかかわらず、ユーザによってブロックされた場合、人工現実環境または任意の他の人工現実環境においてユーザのアバターと相互作用することができないことがある。
【0019】
本発明の第2の態様によれば、人工現実システムのヘッドマウントディスプレイ(HMD)において、HMDのユーザに人工現実コンテンツを出力することであって、人工現実コンテンツが、人工現実環境に参加する1人または複数の他のユーザに対応する1つまたは複数のアバターを含む、人工現実コンテンツを出力することと、ユーザ入力に応答して、HMDのユーザのために中断モード環境を、HMDにおいて人工現実環境を中断モード環境と交換すること、HMDにおいて1つまたは複数のアバターおよび人工現実環境をミュートすること、または中断モード環境内の静的位置において1つまたは複数のアバターをレンダリングすることのうちの少なくとも1つを行うことによって有効にすることとを含む、方法が提供される。
【0020】
本方法は、人工現実システムによって、撮像デバイスを介して画像データを取得すること、画像データから、撮像デバイスの視野における、HMDのユーザの手の内側手首領域を移動することを含むユーザインターフェース(UI)アクティブ化ジェスチャーを識別すること、UIアクティブ化ジェスチャーに応答して、中断モードUI要素を生成すること、および/あるいはユーザの手の近くでまたは少なくとも部分的にその上で中断モードUI要素をレンダリングすることをさらに含み得る。
【0021】
ユーザ入力は、中断モードUI要素上の、ユーザのアバターの仮想手の1つまたは複数のフィンガーの配置を含む、中断モード選択ジェスチャーに対応し得る。本方法は、画像データから、中断モード選択ジェスチャーを識別することをさらに含み得る。
【0022】
中断モードエンジンは、人工現実環境内の仮想背景および仮想オブジェクトを中断モード環境中の単色背景と交換するようにさらに構成され得る。
【0023】
中断モード環境を有効にすることは、中断モード環境が有効にされたことに応答して、1つまたは複数のアバターがユーザのアバターから個人空間しきい値内にあるとき、ユーザのアバターから離れるように1つまたは複数のアバターを移動することをさらに含み得る。
【0024】
ユーザのアバターは、中断モードがHMDにおいてユーザのために有効にされた後に、人工現実環境に参加することを停止し得る。1人または複数の他のユーザに対応する1つまたは複数のアバターは、中断モードがHMDにおいてユーザのために有効にされた後に、人工現実環境に参加し続け得る。
【0025】
本発明の第3の態様によれば、命令を備えるコンピュータ可読記憶媒体であって、命令は、人工現実システムのヘッドマウントディスプレイ(HMD)において、HMDのユーザに人工現実コンテンツを出力することであって、人工現実コンテンツが、人工現実環境に参加する1人または複数の他のユーザに対応する1つまたは複数のアバターを含む、人工現実コンテンツを出力することと、ユーザ入力に応答して、中断モード環境を、HMDにおいて人工現実環境を中断モード環境と交換すること、HMDにおいて1つまたは複数のアバターおよび人工現実環境をミュートすること、または中断モード環境内の静的位置において1つまたは複数のアバターをレンダリングすることのうちの少なくとも1つを行うことによって有効にすることとを行うように1つまたは複数のプログラマブルプロセッサを構成する、コンピュータ可読記憶媒体が提供される。
【0026】
本技法は、少なくとも1つの実際的適用例を提供する1つまたは複数の技術的改善を提供し得る。たとえば、本技法は、ユーザが、人工現実環境に対応するデータを受信し続け、他のユーザが他のHMDにおいて人工現実環境に参加し続けることを可能にしながら、HMDにおいて迅速に中断モードを有効にすることを可能にする。他のユーザが他のHMDにおいて人工現実環境に参加し続ける間、人工現実環境に対応するデータを受信し続けることによって、HMDは、中断モード環境から人工現実環境に戻ったときに、処理すべきデータ更新のバックログを有しないことになり、これは、ユーザが、より喜びを与えるユーザ体験のために、データ処理遅延を低減することによって人工現実環境に参加することにより迅速に戻ることを可能にする。
【0027】
本開示の技法の1つまたは複数の例の詳細は、添付の図面および以下の説明において記載される。本技法の他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0028】
図1A】本開示の技法による、中断モード特徴を有する例示的な人工現実システムを示す図である。
図1B】本開示の技法による、中断モード特徴を有する別の例示的な人工現実システムを示す図である。
図2A】本開示の技法に従って動作する例示的なHMDを示す図である。
図2B】本開示で説明される技法による、別の例示的なHMDを示す図である。
図3】本開示の技法による、人工現実アプリケーションの実行中に中断モード環境を生成する人工現実システムの、コンソール、人工現実アプリケーションサーバ、およびHMDの例示的な実装形態を示すブロック図である。
図4】本開示の技法による、人工現実アプリケーションの実行中に中断モード環境を生成する人工現実システムの、例示的なHMD、および人工現実アプリケーションサーバを示すブロック図である。
図5】1つまたは複数のデバイスが、各デバイス内の1つまたは複数のSoC集積回路を使用して実装される、マルチデバイス人工現実システムのための分散アーキテクチャのより詳細な例示的な実装形態を示すブロック図である。
図6】本開示の態様による、人工現実システムのための中断モード環境を有効にするための例示的な動作を示すフローチャートである。
図7】本開示の態様による、人工現実システムのための、中断モード環境内にいる間の例示的な動作を示すフローチャートである。
図8】本開示の技法による、人工現実アプリケーションの実行中に中断モード環境に入るための例示的なジェスチャー駆動型UIとのユーザ相互作用を示す図である。
図9】本開示の技法による、人工現実アプリケーションの例示的な人工現実環境を示す図である。
図10】本開示の技法による、中断モード環境の一例を示す図である。
図11】本開示の技法による、中断モード環境の別の例を示す図である。
【発明を実施するための形態】
【0029】
同様の参照符号は、図および説明全体にわたって同様の要素を指す。
【0030】
図1Aは、本開示の技法による、中断モード特徴を有する例示的な人工現実システム10を示す図である。いくつかの例では、中断モード特徴は、セーフモードまたはセーフゾーン特徴と呼ばれることがある。図1Aの例では、人工現実(AR)システム10は、ヘッドマウントディスプレイ(HMD)112と、コンソール106と、人工現実アプリケーションサーバ107と、いくつかの例では、1つまたは複数の外部センサー90とを含む。
【0031】
示されているように、HMD112は、一般に、ユーザ110によって装着され、ユーザ110に人工現実コンテンツ122を提示するための電子ディスプレイと光学アセンブリとを備える。さらに、HMD112は、HMDの動きを追跡するための1つまたは複数のセンサー(たとえば、加速度計)を含み、周囲の物理的環境の画像データをキャプチャするための1つまたは複数の撮像デバイス138、たとえば、カメラ、ラインスキャナなどを含み得る。ヘッドマウントディスプレイとして示されているが、ARシステム10は、代替的に、または追加として、ユーザ110に人工現実コンテンツ122を提示するための眼鏡または他のディスプレイデバイスを含み得る。
【0032】
この例では、コンソール106は、ゲーミングコンソール、ワークステーション、デスクトップコンピュータ、またはラップトップなど、単一のコンピューティングデバイスとして示されている。他の例では、コンソール106は、分散コンピューティングネットワーク、データセンター、またはクラウドコンピューティングシステムなど、複数のコンピューティングデバイスにわたって分散され得る。コンソール106、HMD112、およびセンサー90は、この例に示されているように、ネットワーク104を介して通信可能に結合され得、ネットワーク104は、Wi-Fi、メッシュネットワークまたは短距離ワイヤレス通信媒体など、ワイヤードまたはワイヤレスネットワークであり得る。HMD112は、この例では、コンソール106と通信しているものとして、たとえば、コンソール106にテザリングされるかまたはコンソール106とワイヤレス通信しているものとして示されているが、いくつかの実装形態では、HMD112は、スタンドアロンモバイル人工現実システムとして動作する。
【0033】
この例では、HMD112は、ネットワーク104を介して、人工現実アプリケーションサーバ107と通信しているものとして示されており、人工現実アプリケーションサーバ107は、コンソール106および/またはHMD112上で実行する人工現実アプリケーションのためのバックエンドネットワーク動作を実施する。いくつかの例では、人工現実アプリケーションサーバ107は、任意の形態におけるサーバまたは別のコンピューティングリソースに対応し得る。たとえば、人工現実アプリケーションサーバ107は、物理的コンピューティングデバイスであり得るか、あるいはクラウドコンピューティングシステム、サーバファーム、および/またはサーバクラスタ(またはそれらの部分)の構成要素であり得る。したがって、人工現実アプリケーションサーバ107は、特定の人工現実アプリケーションを実行するクライアントデバイスおよび他のデバイスまたはシステムにサービスを提供する、1つまたは複数の物理的コンピューティングデバイス、仮想コンピューティングデバイス、仮想マシン、コンテナ、および/または他の仮想化されたコンピューティングデバイスを表し得る。たとえば、人工現実アプリケーションサーバ107は、ユーザ間の関係(たとえば、交友関係)を管理すること、ユーザについてのプロファイルを維持すること、1人または複数のユーザとゲームを協調させること(たとえば、ゲームにおいて1人または複数のユーザを配置すること、スコアを維持すること)などを行い得る。
【0034】
図1Aの例では、ユーザ110は、コンソール106および/またはHMD112上で実行する人工現実アプリケーションによって構築およびレンダリングされた人工現実コンテンツ122を観察する。いくつかの例では、人工現実システム10は、ユーザ110への表示のための人工現実コンテンツ122をレンダリングするために、現実世界の3D物理的環境からキャプチャされた情報を使用する。一例として、人工現実コンテンツ122は、家庭用ゲーミングアプリケーションであり得、ユーザ110が、人工現実環境124内で、仮想手136と仮想腕137とを含むアバターとしてレンダリングされる。人工現実コンテンツ122は、人工現実環境124内に、アバター120としてレンダリングされた1人または複数の他のユーザと、1つまたは複数の仮想オブジェクト128A、128Bとをも含むことができる。いくつかの例では、人工現実コンテンツ122は、現実世界の像と仮想オブジェクトとの混合物、たとえば、複合現実および/または拡張現実を含み得る。他の例では、人工現実コンテンツ122は、たとえば、ソーシャルネットワーキングアプリケーション、ビデオ会議アプリケーション、ナビゲーションアプリケーション、教育アプリケーション、トレーニングまたはシミュレーションアプリケーション、あるいは人工現実を実装する他のタイプのアプリケーションであり得る。いくつかの例では、人工現実コンテンツ122は、HMD112のユーザに関連付けられたアバターに対するファーストパーソンパースペクティブからレンダリングされ得る。
【0035】
動作中に、人工現実アプリケーションは、基準系、一般にHMD112の観察パースペクティブについてのポーズ情報を追跡および計算することによって、ユーザ110への表示のための人工現実コンテンツ122を構築する。基準系としてHMD112を使用して、およびHMD112の現在の推定されたポーズによって決定された現在の視野130に基づいて、人工現実アプリケーションは3D人工現実コンテンツをレンダリングし、3D人工現実コンテンツは、いくつかの例では、少なくとも部分的に、ユーザ110の現実世界の3D物理的環境上にオーバーレイされ得る。このプロセス中、人工現実アプリケーションは、ユーザ110による動きおよび/またはユーザ110に関する特徴追跡情報など、現実世界の物理的環境内の3D情報をキャプチャするために、移動情報およびユーザコマンドなど、HMD112から受信された検知されたデータと、いくつかの例では、外部カメラなど、任意の外部センサー90からのデータとを使用する。検知されたデータに基づいて、人工現実アプリケーションは、HMD112の基準系についての現在のポーズを決定し、現在のポーズに従って、人工現実コンテンツ122をレンダリングする。
【0036】
人工現実システム10は、ユーザ110のリアルタイム視線追跡によって決定され得るようなユーザ110の現在の視野130または他の条件に基づいて、仮想コンテンツアイテムの生成およびレンダリングをトリガし得る。より詳細には、HMD112の撮像デバイス138は、撮像デバイス138の視野130内にある、現実世界の物理的環境中のオブジェクトを表す画像データをキャプチャする。視野130は、一般に、HMD112の観察パースペクティブと対応する。いくつかの例では、人工現実アプリケーションは、複合現実および/または拡張現実を含む人工現実コンテンツ122を提示する。いくつかの例では、人工現実アプリケーションは、人工現実コンテンツ122内でなど、仮想オブジェクトとともに視野130内にある、ユーザ110の手132および/または腕134の部分など、現実世界オブジェクトの画像をレンダリングし得る。他の例では、人工現実アプリケーションは、人工現実コンテンツ122内で、視野130内にある、ユーザ110の手132および/または腕134の部分の仮想表現をレンダリング(たとえば、仮想手136など、仮想オブジェクトとして現実世界オブジェクトをレンダリング)し得る。いずれの例でも、ユーザ110は、人工現実コンテンツ122内で、視野130内にあるユーザの手132、腕134、および/または任意の他の現実世界オブジェクトの部分を観察することが可能である。他の例では、人工現実アプリケーションは、ユーザの手132または腕134の表現をレンダリングしないことがある。
【0037】
いくつかの例では、検知されたデータに基づいて、人工現実システム10は、ユーザ110によって実施されたジェスチャーを検出し、1つまたは複数の特定のジェスチャーを検出したことに応答して、1つまたは複数のユーザインターフェース要素を生成し、それらのユーザインターフェース要素は、図1A中のユーザインターフェース(UI)メニュー140など、ユーザ110に提示されている下にある人工現実コンテンツ122上にオーバーレイされ得る。より詳細には、人工現実システム10は、随意にユーザ110の個々のフィンガーまたは親指、および/あるいは腕134のすべてまたは部分を識別することを含めて、手132を識別するために、HMD112の撮像デバイス138によってキャプチャされた画像データ内でオブジェクト認識を実施する。人工現実システム10は、時間のスライディングウィンドウにわたって(随意に手の特定の指(digit)を含む)手132、および/または腕134の部分の位置、配向、および構成を追跡する。人工現実システム10は、特定のオブジェクト、たとえば、ユーザ110の(手の特定の指を含む)手132、および/または腕134の部分によって実施された、1つまたは複数のジェスチャーを識別するために、手132、および/または腕134の部分の任意の追跡された動き、構成、位置、および/または配向を分析する。(1つまたは複数の)ジェスチャーを検出するために、人工現実アプリケーションは、手132、および/または腕134の部分の動き、構成、位置および/または配向を、人工現実システム10のジェスチャーライブラリに記憶されたジェスチャー定義と比較し得、ここで、ジェスチャーライブラリ中の各ジェスチャーは、各々、1つまたは複数のアクションにマッピングされ得る。いくつかの例では、移動を検出することは、1つまたは複数の指が、仮想オブジェクトに対応する領域(たとえば、UI要素)に配置されるかどうかを含めて、手132の指(個々のフィンガーおよび親指)のうちの1つまたは複数の位置を追跡することを含み得る。他の例では、移動を検出することは、手132の内側手首領域がHMD112のほうを向いているかどうかを含めて、HMD112の現在のポーズに対する手132の配向(たとえば、フィンガーがHMD112のほうを指すまたはHMD112から離れるように指すこと)および/または腕134の配向(すなわち、腕の法線がHMD112のほうを向くこと)を追跡することを含み得る。手132(またはそれの部分)の位置および配向は、代替的に、手132(またはそれの部分)のポーズと呼ばれることがある。
【0038】
本開示の技法によれば、人工現実システム10は、人工現実アプリケーションの実行中に、ユーザ110がHMD112において中断モード特徴を有効にしたことに応答して、ユーザ110のパースペクティブからAR環境を中断し、中断モード環境を生成し得る。たとえば、中断モード特徴は、以下でさらに詳細に説明されるように、ユーザ入力が中断モードUI要素142を選択したことに応答して、人工現実コンテンツ122において、人工現実環境124を中断モード環境と交換し、HMD112における静的位置において人工現実環境124からの1つまたは複数のアバターをレンダリングし得る。ユーザ110は、次いで、中断モード環境に存在する任意のアバター120を選択して、中断モード環境から、ユーザのプロファイルを観察すること、そのユーザと友達になること、そのユーザにメッセージすること、そのユーザをミュートすること、そのユーザをブロックすること、またはそのユーザを報告することを含む、選択されたアバターに対応するそのユーザに関する追加の動作を実施し得る。いくつかの例では、人工現実アプリケーションサーバ107は、中断モード環境から、ユーザと友達になるか、ユーザにメッセージするか、ユーザをブロックするか、またはユーザを報告するための、人工現実アプリケーションバックエンドネットワーク動作を実施する。たとえば、人工現実アプリケーションは、HMD112においてユーザ110に提示されたユーザインターフェース上のユーザ入力に基づいて、プロファイルを取得するか、ユーザと友達になるか、ユーザにメッセージするか、ユーザをミュートするか、ユーザをブロックするか、またはユーザを報告するための、人工現実アプリケーションサーバ107によって実施される命令を策定し得る。いくつかの例では、中断モード特徴は、アバター120が人工現実環境124に参加し続ける間、人工現実環境124においてユーザ110のアバターを仮想グラフィックと交換し得る。このようにして、アバター120は、中断モード特徴がHMD112において有効にされる間、HMD112のアバターと相互作用しないことがある(その逆も同様である)。いくつかの例では、中断モード環境は、セーフモードまたはセーフゾーン環境と呼ばれることがある。
【0039】
いくつかの例では、人工現実システム10は、中断モード環境を選択するために使用されるUI要素の表示をトリガすること、および/または中断モード環境の実行をトリガすることなど、人工現実アプリケーションによる所望の応答をトリガすることを意図された1つまたは複数のUIアクティブ化ジェスチャーを検出し得る。たとえば、ユーザ110は、仮想手136および/または仮想腕137の近くでまたは少なくとも部分的にその上でUIメニュー140(たとえば、仮想アイコン)の表示をトリガするために、手132の内側手首領域を現在の視野130に移動し得る。このUIアクティブ化ジェスチャーは、ユーザが腕時計または任意の他のウェアラブルデバイスを見ることと同様であり得る。図1Aは、仮想腕137の内側表面(たとえば、手首領域)上に表示されたUIメニュー140を示すが、UIメニュー140は、仮想手136および/または仮想腕137の(1つまたは複数の)任意の表面の近くでまたは部分的にその上で表示され得ることを理解されたい。
【0040】
図1Aに示されているように、UIメニュー140は、選択されたとき、中断モード特徴を有効にする中断モードUI要素142と、選択されたとき、個人メニュー項目が表示されることを引き起こす個人UI要素144とを含み得る。
【0041】
いくつかの例では、ユーザ入力が個人UI要素144を選択したことに応答して表示される個人メニュー項目は、選択されたとき、ユーザが人工現実アプリケーション設定または選好を変更することを可能にする設定UI要素、選択されたとき、ユーザが現在の人工現実アプリケーションまたは環境において友達および/または人々を観察することを可能にする人々UI要素、選択されたとき、ユーザが、現在の人工現実環境124または前に訪問した場所/環境に関する情報を観察することを可能にする場所UI要素、あるいは、選択されたとき、ユーザが人々、場所、人工現実体験(たとえば、ゲーム、アプリケーション)を検索することを可能にする検索UI要素などを含み得る。いくつかの例では、人工現実アプリケーションサーバ107は、個人メニュー項目におけるユーザ入力に応答して、人工現実アプリケーション設定または選好を変更すること、人工現実環境中のユーザに関する情報を取得すること、人工現実環境または他の環境に関する情報を取得すること、あるいは人工現実アプリケーションによって策定された命令に基づいて検索を実施することを行うための、バックエンドネットワーク動作を実施する。
【0042】
いくつかの例では、ユーザ110は中断モードUI要素142または個人UI要素144を、対応するUI要素上のまたはその近くの(たとえば、中断モードUI要素142または個人UI要素144がレンダリングされる物理的表面上の、あるいはUI要素に対応する物理的ロケーションの近くの)1つまたは複数のフィンガーの配置を含む選択ジェスチャーにより選択し得る。図1Aに示されている例では、UIメニュー140は、仮想腕137の内側表面上に提示され、ユーザ110は、中断モードUI要素142または個人UI要素144の仮想ロケーションに対応する、腕134の部分にタッチし得、これは、いずれかのUI要素を選択したとき、ユーザ110に自然触覚フィードバックを提供する。すなわち、ユーザの手の1つまたは複数のフィンガーとユーザの腕136との間の物理的接触が、物理的キーボードまたは他の物理的入力デバイス上のボタンなど、物理的ユーザ入力オブジェクトと直接相互作用したとき、ユーザに、ユーザによって感じられる感覚のシミュレーションを提供し得る。これは、ジェスチャー検出の精度を簡略化および改善することができる。ユーザの手の動きに基づくUIアクティブ化ジェスチャーを定義することによって、ユーザは、中断モード特徴を有効にするために迅速におよび直観的にUIメニュー140をアクティブ化し得る。このようにして、ユーザ110は、HMD112を取り外す必要なしに、および、他のユーザが人工現実環境124に参加し続けるとき、HMD112が、人工現実環境124に対応するデータを受信し続けながら、人工現実環境124を休止し得る。他のユーザが人工現実環境124に参加し続ける間、人工現実環境124に対応するデータを受信し続けることによって、HMD112は、ユーザ110が中断モード環境から人工現実環境124に戻ったときに、処理すべきデータ更新のバックログを有しないことになり、これは、ユーザ110が、より喜びを与えるユーザ体験のために、データ処理遅延を低減することによって人工現実環境124に参加することにより迅速に戻ることを可能にする。
【0043】
図1Bは、本開示の技法による、人工現実アプリケーションをコンカレントに実行する、中断モード特徴を有する別の例示的な人工現実システム20を示す図である。図1Bの例では、人工現実システム20は、外部カメラ102Aおよび102B(まとめて、「外部カメラ102」)と、HMD112A~112C(まとめて、「HMD112」)と、コントローラ114Aおよび114B(まとめて、「コントローラ114」)と、コンソール106と、人工現実アプリケーションサーバ107と、センサー90とを含む。
【0044】
図1Bに示されているように、人工現実システム20は、コンソール106および/またはHMD112上で実行する複数の人工現実アプリケーションが、コンカレントに稼働しており、ユーザ110A~110C(まとめて、「ユーザ110」)の各々に、それぞれのユーザについての対応する基準系の現在の観察パースペクティブに基づいて提示される共通のレンダリングされたシーン上で表示される、マルチユーザ環境を表す。すなわち、この例では、複数の人工現実アプリケーションの各々が、HMD112の各々についての基準系についてのポーズ情報を追跡および計算することによって、人工現実環境124を構築する。人工現実システム20は、HMD112の対応する基準系についての更新されたポーズ情報を計算する際に使用するための、ユーザ110による動きならびに/またはユーザ110およびオブジェクト108に関する追跡情報など、現実世界環境内の3D情報をキャプチャするために、カメラ102、HMD112、およびコントローラ114から受信されたデータを使用する。いくつかの例では、各ユーザ110は、同じまたは異なる現実世界環境中に(たとえば、同じまたは異なる物理的ロケーション中に)いることがある。どちらにしても、複数の人工現実アプリケーションは、HMD112Cについて決定された現在の観察パースペクティブに基づいて、仮想オブジェクト128A~128C(まとめて、「仮想オブジェクト128」)を、現実世界オブジェクト108A~108C(まとめて、「現実世界オブジェクト108」)上に空間的にオーバーレイされたものとして有する、人工現実コンテンツ122を、人工現実環境124内の同じシーン上でレンダリングし得る。さらに、HMD112Cのパースペクティブから、人工現実システム20は、それぞれ、ユーザ110A、110Bについての推定された位置に基づいて、人工現実環境124内でアバター120A、120Bをレンダリングする。図1Bに示されている人工現実コンテンツ122は、本開示の技法による、中断モード特徴を有効にするより前の人工現実環境の一例であり得る。
【0045】
HMD112の各々は、人工現実システム20内でコンカレントに動作する。図1Bの例では、ユーザ110の各々は、複数の人工現実アプリケーションにおける「参加者」(または「プレーヤ」)であり得、ユーザ110のいずれかは、複数の人工現実アプリケーションにおける「観客」または「観測者」であり得る。HMD112Cは、ユーザ110Cの手132および/または腕134を追跡することによって、図1AのHMD112と実質的に同様に動作し得る。HMD112Aも、ユーザ110Aの手132A、132Bの移動を追跡することによって、図1AのHMD112と実質的に同様に動作し、ユーザ入力を受信し得る。HMD112Bは、ユーザ110Bによって保持されたコントローラ114からユーザ入力を受信し得る。コントローラ114は、Bluetoothなどの短距離ワイヤレス通信のニアフィールド通信を使用して、ワイヤード通信リンクを使用して、または別のタイプの通信リンクを使用してHMD112Bと通信していることがある。
【0046】
図1Bに示されているように、HMD112Cのカメラ138を介してキャプチャされた画像データに加えてまたはその代替として、外部カメラ102からの入力データが、手の指(フィンガー、親指)の個体および/または組合せの移動を含む、ユーザ110Cの手132など、ユーザ110の手および腕の特定の動き、構成、位置、および/または配向を追跡および検出するために使用され得る。撮像デバイス102および138は、可視光スペクトル、赤外スペクトル、または他のスペクトルにおいて画像をキャプチャし得る。オブジェクト、オブジェクトポーズ、およびジェスチャーを識別するための本明細書で説明される画像処理は、たとえば、赤外画像、可視光スペクトル画像などを処理することを含み得る。
【0047】
図1Aに関して上記で説明された例と同様の様式で、人工現実システム20のコンソール106および/またはHMD112Cは、中断モード環境を選択するために使用されるUI要素の表示をトリガすること、および/または中断モード環境の実行をトリガすることなど、人工現実アプリケーションによる所望の応答をトリガすることを意図された1つまたは複数のUIアクティブ化ジェスチャーを検出し得る。たとえば、ユーザ110は、少なくとも部分的に仮想手136の仮想手首上のまたはその近くの、中断モードUI要素142と個人UI要素144とを含むUIメニュー140の表示をトリガするために、手132の内側手首領域(または任意の他の領域)を現在の視野130に移動し得る。ユーザ110Cは、中断モード特徴を有効にするために、中断モードUI要素142を選択するユーザ入力を入力し得る。たとえば、ユーザ110Cは、アバターの1つまたは複数の仮想フィンガーが人工現実環境124において中断モードUI要素142にタッチするような、中断モードUI要素142がレンダリングされる場所に対応する領域における、ユーザの手の1つまたは複数のフィンガーの配置を含むタッチジェスチャーにより、中断モードUI要素142を選択し得る。
【0048】
アクティブ化されたとき、中断モード特徴は、HMD112Cにおいて、アバター120A、120Bをフリーズさせ(たとえば、静的位置においてアバター120A、120Bをレンダリングし)、(アバター120A、120Bからを含む)人工現実環境124から来るすべてのオーディオをミュートし、および/またはアバター120A、120Bの周囲の人工現実環境124を中断モード環境と交換することになる。すなわち、HMD112Cは、人工コンテンツ122内のアバター120A、120Bを除くあらゆるものを、単色背景を含む中断モード環境と交換することになる。たとえば、HMD112Cは、中断モード環境中にいる間、アバター120A、120B以外のすべての仮想オブジェクト128を除去(たとえば、表示することを中止)することになる。いくつかの例では、HMD112Cは、アバター120A、120Bから武器またはハンドヘルドオブジェクトを除去することになる。いくつかの例では、HMD112Cは、アバター120A、120Bがユーザ110を聴取しないように、マイクロフォンを無効にすることになる。いくつかの例では、ユーザ110は、中断モード特徴が有効にされたとき、人工現実環境124と相互作用することが可能でないことがある。このようにして、ユーザ110Cは、HMD112Cを取り外す必要なしに、および、ユーザ110A、110Bが人工現実環境124に参加し続けるとき、人工現実環境124に対応するデータを受信し続けながら、人工現実環境124を休止し得る。ユーザ110A、110BがそれぞれHMD112A、112Bにおいて人工現実環境124に参加し続ける間、人工現実環境124に対応するデータを受信し続けることによって、HMD112Cは、中断モード環境から人工現実環境124に戻ったときに、処理すべきデータ更新のバックログを有しないことになり、これは、ユーザが、より喜びを与えるユーザ体験のために、データ処理遅延を低減することによって人工現実環境124に参加することにより迅速に戻ることを可能にする。
【0049】
いくつかの例では、中断モード特徴は、中断モード特徴が有効にされたとき、1つまたは複数のアバターがユーザから個人空間しきい値内(たとえば、1または2メートル内)にあるとき、HMD112Cにおいて表示された中断モード環境においてユーザ110Cから離れるように、フリーズされたアバターのうちの1つまたは複数を移動することになる。たとえば、HMD112Cは、中断モード特徴がHMD112Cにおいてアクティブ化されたとき、アバター120がユーザ110Cから個人空間しきい値内にあった場合、特定の距離(たとえば、2または3メートル)後ろにアバター120Aを移動することになる。いくつかの例では、ユーザ110Cは、中断モード環境中にいる間に視野130を(たとえば、すべての方向において360度)回転させることが可能であり得るが、ユーザ110Cに対応するアバターは、中断モード環境内のそのアバターの現在のロケーションから移動することができないことになる。いくつかの例では、ユーザ110Cに対応するアバターは、中断モード環境内の特定の半径(たとえば、3メートル)内で動き回り得る。いくつかの例では、中断モード特徴が有効にされたときにユーザ110Cからの360度の見通し線中にあった、1人または複数の他のユーザのアバターのみが、中断モード環境中にいる間、レンダリングされることになる。たとえば、中断モード特徴が有効にされたときに、人工現実環境124中にいる間、遠くに、より高い高度に(たとえば、仮想山頂上にまたは任意の他の仮想オブジェクト上に)、またはより低い高度に(たとえば、仮想溝の底部上に)いるが、依然として、ユーザ110Cからの360度の見通し線から可視であった、他のユーザのためのアバターが、HMD112Cにおいて中断モード環境において表示されることになる。逆に、中断モード特徴が有効にされたときに、仮想壁の後ろにいたまたはさもなければ仮想オブジェクトによって遮られた別のユーザのためのアバターが、中断モード環境においてレンダリングされないことになる。たとえば、HMD112Cは、HMD112Cにおいて中断モード環境内で仮想オブジェクト128Aの後ろに隠れるユーザのアバターを、仮想オブジェクト128Aを除去した後でも、表示しないことになる。いくつかの例では、HMD112Cは、ユーザ110Cに中断モード環境を表示しながら、周囲音(たとえば、背景音または音楽)を再生することになる。
【0050】
いくつかの例では、ユーザ110Aおよび/または110Bはまた、それぞれ、HMD112Aおよび/または112Bにおいて中断モード特徴を有効にし得る。たとえば、ユーザ110Aは、中断モード特徴がHMD112Cにおいても有効にされるある時間期間中に、ユーザ入力を介してHMD112Aにおいて中断モード特徴を有効にし得る。その時間期間中に、HMD112Cは、第1の中断モード環境を表示し得、HMD112Aは、第1の中断モード環境とは異なる、第2の中断モード環境を表示し得る。たとえば、ユーザ11Cは、第1の中断モード環境においてアバター120Aと相互作用することができないことがあり、ユーザ110Aは、第2の中断モード環境において、ユーザ110Cに対応するアバターと相互作用することができないことがある。いくつかの例では、アバター120Aは、中断モード特徴がHMD112Cにおいて有効にされたときに、中断モード特徴がHMD112Aにおいて有効にされた場合、HMD112Cによって第1の中断モード環境において表示されないことがあり、その逆も同様である。第1の中断モード環境と第2の中断モード環境とは異なり得るが、第1の中断モード環境と第2の中断モード環境の両方が同じ背景および/または周囲音を含み得る(たとえば、2つの環境が同じに見え、感じられ得る)ことを理解されたい。
【0051】
図2Aは、本開示の技法に従って動作する例示的なHMD112を示す図である。図2AのHMD112は、図1Aおよび図1BのHMD112のいずれかの一例であり得る。HMD112は、図1A図1Bの人工現実システム10、20など、人工現実システムの一部であり得るか、または、本明細書で説明される技法を実装するように構成されたスタンドアロンモバイル人工現実システムとして動作し得る。
【0052】
この例では、HMD112は、HMD112をユーザに固定するための前面剛体とバンドとを含む。さらに、HMD112は、ユーザに人工現実コンテンツを提示するように構成された内向き(interior-facing)電子ディスプレイ203を含む。電子ディスプレイ203は、液晶ディスプレイ(LCD)、量子ドットディスプレイ、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、陰極線管(CRT)ディスプレイ、e-ink、あるいは視覚出力を生成することが可能なモノクロ、カラー、または、任意の他のタイプのディスプレイなど、任意の好適なディスプレイ技術であり得る。いくつかの例では、電子ディスプレイは、ユーザの各眼に別個の画像を提供するための立体視ディスプレイである。いくつかの例では、HMD112の前面剛体に対するディスプレイ203の知られている配向および位置は、HMD112およびユーザの現在の観察パースペクティブに従って人工現実コンテンツをレンダリングするためにHMD112の位置および配向を追跡するとき、ローカル原点とも呼ばれる基準系として使用される。他の例では、HMDは、眼鏡またはゴーグルなど、他のウェアラブルヘッドマウントディスプレイの形態をとり得る。
【0053】
図2Aにさらに示されているように、この例では、HMD112は、HMD112の現在の加速度を示すデータを出力する(慣性測定ユニットまたは「IMU」とも呼ばれる)1つまたは複数の加速度計、HMD112のロケーションを示すデータを出力するGPSセンサー、様々なオブジェクトからのHMD112の距離を示すデータを出力するレーダーまたはソナー、あるいは、HMD112または物理的環境内の他のオブジェクトのロケーションまたは配向の指示を提供する他のセンサーなど、1つまたは複数の動きセンサー206をさらに含む。その上、HMD112は、物理的環境を表す画像データを出力するように構成された、ビデオカメラ、レーザースキャナ、ドップラーレーダースキャナ、深度スキャナなど、統合された撮像デバイス138Aおよび138B(まとめて、「撮像デバイス138」)を含み得る。より詳細には、撮像デバイス138は、一般にHMD112の観察パースペクティブと対応する、撮像デバイス138の視野130A、130B内にある、物理的環境中の(手132を含む)オブジェクトを表す画像データをキャプチャする。HMD112は、検知されたデータを処理し、ディスプレイ203上に人工現実コンテンツを提示するためのプログラム可能な動作を実行するための動作環境を提供するために、内部電源と、1つまたは複数のプロセッサ、メモリ、およびハードウェアを有する1つまたは複数のプリント回路基板とを含み得る、内部制御ユニット210を含む。
【0054】
図2Bは、本開示で説明される技法による、別の例示的なHMD112を示す図である。図2Bに示されているように、HMD112は、眼鏡の形態をとり得る。図2AのHMD112は、図1Aおよび図1BのHMD112のいずれかの一例であり得る。HMD112は、図1A図1Bの人工現実システム10、20など、人工現実システムの一部であり得るか、または、本明細書で説明される技法を実装するように構成されたスタンドアロンモバイル人工現実システムとして動作し得る。
【0055】
この例では、HMD112は、HMD112がユーザの鼻に載っていることを可能にするブリッジと、HMD112をユーザに固定するためにユーザの耳にわたって延びるテンプル(または「アーム」)とを含む前面フレームを備える眼鏡である。さらに、図2BのHMD112は、ユーザに人工現実コンテンツを提示するように構成された内向き電子ディスプレイ203Aおよび203B(まとめて、「電子ディスプレイ203」)を含む。電子ディスプレイ203は、液晶ディスプレイ(LCD)、量子ドットディスプレイ、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、陰極線管(CRT)ディスプレイ、e-ink、あるいは視覚出力を生成することが可能なモノクロ、カラー、または、任意の他のタイプのディスプレイなど、任意の好適なディスプレイ技術であり得る。図2Bに示されている例では、電子ディスプレイ203は、ユーザの各眼に別個の画像を提供するための立体視ディスプレイを形成する。いくつかの例では、HMD112の前面フレームに対するディスプレイ203の知られている配向および位置は、HMD112およびユーザの現在の観察パースペクティブに従って人工現実コンテンツをレンダリングするためにHMD112の位置および配向を追跡するとき、ローカル原点とも呼ばれる基準系として使用される。
【0056】
図2Bにさらに示されているように、この例では、HMD112は、HMD112の現在の加速度を示すデータを出力する(慣性測定ユニットまたは「IMU」とも呼ばれる)1つまたは複数の加速度計、HMD112のロケーションを示すデータを出力するGPSセンサー、様々なオブジェクトからのHMD112の距離を示すデータを出力するレーダーまたはソナー、あるいは、HMD112または物理的環境内の他のオブジェクトのロケーションまたは配向の指示を提供する他のセンサーなど、1つまたは複数の動きセンサー206をさらに含む。その上、HMD112は、物理的環境を表す画像データを出力するように構成された、ビデオカメラ、レーザースキャナ、ドップラーレーダースキャナ、深度スキャナなど、統合された撮像デバイス138Aおよび138B(まとめて、「撮像デバイス138」)を含み得る。HMD112は、検知されたデータを処理し、ディスプレイ203上に人工現実コンテンツを提示するためのプログラム可能な動作を実行するための動作環境を提供するために、内部電源と、1つまたは複数のプロセッサ、メモリ、およびハードウェアを有する1つまたは複数のプリント回路基板とを含み得る、内部制御ユニット210を含む。
【0057】
図3は、本開示の技法による、人工現実アプリケーションの実行中に中断モード環境を生成する人工現実システムの、コンソール106、人工現実アプリケーションサーバ107、およびHMD112の例示的な実装形態を示すブロック図である。図3の例では、コンソール106は、稼働し、HMD112の電子ディスプレイ203上での表示のためのコンテンツを出力する人工現実アプリケーションのための、ポーズ追跡、ジェスチャー検出、ならびに生成およびレンダリングを実施する。いくつかの例では、人工現実アプリケーションのためのポーズ追跡、ジェスチャー検出、ならびに/または生成およびレンダリングは、図4を参照しながら以下で説明されるように、HMD112において実施され得る。
【0058】
この例では、HMD112は、いくつかの例では、オペレーティングシステム305を実行するためのコンピュータプラットフォームを提供する1つまたは複数のプロセッサ302とメモリ304とを含み、オペレーティングシステム305は、たとえば埋込み型リアルタイムマルチタスキングオペレーティングシステム、または他のタイプのオペレーティングシステムであり得る。次に、オペレーティングシステム305は、アプリケーションエンジン340を含む1つまたは複数のソフトウェア構成要素307を実行するためのマルチタスキング動作環境を提供する。図2Aおよび図2Bの例に関して説明されるように、プロセッサ302は、電子ディスプレイ203と、動きセンサー206と、撮像デバイス138とに結合される。プロセッサ302は、1つまたは複数のI/Oインターフェース319にさらに結合され、1つまたは複数のI/Oインターフェース319は、ディスプレイデバイス、撮像デバイス、他のHMDなど、他のデバイスと通信するためのI/Oインターフェースを提供する。その上、1つまたは複数のI/Oインターフェース319は、ネットワーク104など、ネットワークと通信するための1つまたは複数のワイヤードまたはワイヤレスネットワークインターフェースコントローラ(NIC)を含み得る。いくつかの例では、プロセッサ302とメモリ304とは、別個の、個別構成要素であり得る。他の例では、メモリ304は、単一の集積回路内にプロセッサ302とコロケートされるオンチップメモリであり得る。
【0059】
概して、コンソール106は、HMD112のためにジェスチャー検出およびユーザインターフェース生成を実施するために、カメラ102(図1B)および/またはHMD112から受信された画像および追跡情報を処理するコンピューティングデバイスである。いくつかの例では、コンソール106は、サーバ、ワークステーション、デスクトップコンピュータ、ラップトップ、またはゲーミングシステムなど、単一のコンピューティングデバイスである。いくつかの例では、プロセッサ312および/またはメモリ314など、コンソール106の少なくとも一部分は、クラウドコンピューティングシステムにわたって、データセンターにわたって、あるいは、インターネット、別のパブリックまたはプライベート通信ネットワーク、たとえば、ブロードバンド、セルラー、Wi-Fi、および/または、コンピューティングシステムとサーバと(HMDを含む)コンピューティングデバイスとの間でデータを送信するための、他のタイプの通信ネットワークなど、ネットワークにわたって分散され得る。
【0060】
図3の例では、コンソール106は、いくつかの例では、オペレーティングシステム316を実行するためのコンピュータプラットフォームを提供する1つまたは複数のプロセッサ312とメモリ314とを含み、オペレーティングシステム316は、たとえば埋込み型リアルタイムマルチタスキングオペレーティングシステム、または他のタイプのオペレーティングシステムであり得る。次に、オペレーティングシステム316は、1つまたは複数のソフトウェア構成要素317を実行するためのマルチタスキング動作環境を提供する。プロセッサ312は、1つまたは複数のI/Oインターフェース315に結合され、1つまたは複数のI/Oインターフェース315は、キーボード、ゲームコントローラ、ディスプレイデバイス、撮像デバイス、HMD、入力デバイスなど、デバイスと通信するための1つまたは複数のI/Oインターフェースを提供する。その上、1つまたは複数のI/Oインターフェース315は、ネットワーク104など、ネットワークと通信するための1つまたは複数のワイヤードまたはワイヤレスネットワークインターフェースコントローラ(NIC)を含み得る。プロセッサ302、312の各々は、マルチコアプロセッサ、コントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは等価な個別論理回路または集積論理回路のうちの任意の1つまたは複数を含み得る。メモリ304、314は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電子的消去可能プログラマブル読取り専用メモリ(EEPROM)、およびフラッシュメモリなど、データおよび実行可能ソフトウェア命令を記憶するための任意の形式のメモリを含み得る。
【0061】
コンソール106のソフトウェアアプリケーション317は、アプリケーションエンジン320と、レンダリングエンジン322と、ジェスチャー検出器324と、ポーズトラッカー326と、ユーザインターフェースエンジン328と、中断モードエンジン332人工現実アプリケーションエンジン334とを含む。概して、アプリケーションエンジン320は、人工現実アプリケーション、たとえば、ソーシャルネットワーキングアプリケーション、遠隔会議アプリケーション、ゲーミングアプリケーション、ナビゲーションアプリケーション、教育アプリケーション、トレーニングまたはシミュレーションアプリケーションなどを提供および提示するための機能性を含む。アプリケーションエンジン320は、たとえば、1つまたは複数のソフトウェアパッケージ、ソフトウェアライブラリ、ハードウェアドライバ、および/またはコンソール106上に人工現実アプリケーションを実装するためのアプリケーションプログラムインターフェース(API)を含み得る。アプリケーションエンジン320による制御に応答して、レンダリングエンジン322は、HMD112のアプリケーションエンジン340によってユーザへの表示のための3D人工現実コンテンツを生成する。
【0062】
アプリケーションエンジン320およびレンダリングエンジン322は、ポーズトラッカー326によって決定された基準系、一般にHMD112の観察パースペクティブについての現在のポーズ情報に従って、ユーザ110への表示のための人工コンテンツを構築する。現在の観察パースペクティブに基づいて、レンダリングエンジン322は、いくつかの場合には、少なくとも部分的に、ユーザ110の現実世界の3D環境上にオーバーレイされ得る3D人工現実コンテンツを構築する。このプロセス中、ポーズトラッカー326は、ユーザ110による動きおよび/またはユーザ110に関する特徴追跡情報など、現実世界環境内の3D情報をキャプチャするために、移動情報およびユーザコマンドなど、HMD112から受信された検知されたデータと、いくつかの例では、外部カメラなど、任意の外部センサー90(図1A図1B)からのデータとに対して動作する。検知されたデータに基づいて、ポーズトラッカー326は、HMD112の基準系についての現在のポーズを決定し、現在のポーズに従って、1つまたは複数のI/Oインターフェース315を介して、ユーザ110への表示のためのHMD112への通信のための人工現実コンテンツを構築する。いくつかの例では、アプリケーションエンジン340は、HMD112のユーザが、電子デバイス203において表示される人工コンテンツの画像データをキャプチャすることを可能にする。
【0063】
撮像デバイス138または102、あるいは他のセンサーデバイスのいずれかからの検知されたデータに基づいて、ジェスチャー検出器324は、ユーザ110によって実施された1つまたは複数のジェスチャーを識別するために、HMD112、および/またはユーザの物理的オブジェクト(たとえば、手、腕、手首、フィンガー、手のひら、親指)の追跡された動き、構成、位置、および/または配向を分析する。より詳細には、ジェスチャー検出器324は、HMD112の撮像デバイス138ならびに/またはセンサー90および外部カメラ102によってキャプチャされた画像データ内で認識されたオブジェクトを分析して、ユーザ110の手および/または腕を識別し、HMD112に対する手および/または腕の移動を追跡して、ユーザ110によって実施されたジェスチャーを識別する。ジェスチャー検出器324は、キャプチャされた画像データに基づいて、腕、手、および/または指の位置および配向の変化を含む移動を追跡し、オブジェクトの動きベクトルをジェスチャーライブラリ330中の1つまたは複数のエントリと比較して、ユーザ110によって実施されたジェスチャーまたはジェスチャーの組合せを検出し得る。
【0064】
ジェスチャーライブラリ330中のいくつかのエントリが、各々、ユーザの手、特定のフィンガー、親指、手首および/または腕の相対経路または空間的な並進運動および回転など、一連の動きまたは動きのパターンとしてジェスチャーを定義し得る。ジェスチャーライブラリ330中のいくつかのエントリは、各々、特定の時間における、またはある時間期間にわたる、ユーザの手および/または腕(またはそれらの部分)の構成、位置、および/または配向としてジェスチャーを定義し得る。ジェスチャーのタイプの他の例が可能である。さらに、ジェスチャーライブラリ330中のエントリの各々が、定義されたジェスチャーまたは一連のジェスチャーについて、個人のリアルタイム視線追跡、表示されている人工コンテンツのタイプ、実行されているアプリケーションのタイプなどによって決定され得るような、HMD112の現在の視野に対する空間関係、ユーザによって現在観測されている特定の区域に対する空間関係など、ジェスチャーまたは一連のジェスチャーがアクションをトリガするために必要とされる条件を指定し得る。
【0065】
ジェスチャーライブラリ330中のエントリの各々は、定義されたジェスチャーまたはジェスチャーの組合せ/一連のジェスチャーの各々について、ソフトウェアアプリケーション317によって実施されるべき所望の応答またはアクションをさらに指定し得る。たとえば、本開示の技法によれば、いくつかの特殊なジェスチャーがあらかじめ定義され得、したがって、あらかじめ定義されたジェスチャーのうちの1つを検出したことに応答して、アプリケーションエンジン340は、(たとえば、図1A図1Bに示されているように)人工現実アプリケーションの人工現実環境124の仮想コンテンツへのオーバーレイとしての、ユーザ110への表示のための、中断モードUI要素142を含むUIメニュー140を生成し得る。UIメニュー140を生成するためのこれらのあらかじめ定義されたジェスチャーは、(たとえば、ユーザが腕時計または他のウェアラブルデバイスを見ることと同様の)ユーザの手の内側手首領域(または任意の領域)をHMD112の現在の視野に移動することを含み得る。他のジェスチャーは、HMD112のユーザのアバターの仮想手の1つまたは複数のフィンガーが人工現実環境においてUI要素と接触するように、UI要素に対応する物理的ロケーションの近くの、ユーザの手の1つまたは複数のフィンガーの配置を含む選択ジェスチャーを含み得る。
【0066】
ジェスチャー検出器324が中断モードUI要素142に対する選択ジェスチャーを検出したことに応答して、中断モードエンジン332は、人工現実アプリケーションの実行中にHMD112において中断モード特徴を有効にし得る。たとえば、中断モードエンジン332は、人工現実環境124を中断モード環境と交換し、人工現実環境124から来るすべてのオーディオをミュートし、および/またはHMD112における静的ポーズ(たとえば、位置および配向)において人工現実環境からの任意の1つまたは複数のアバターをレンダリングすることになる。いくつかの例では、中断モード環境は単色背景を含む。いくつかの例では、中断モードエンジン332は、中断モード特徴が有効にされたとき、1つまたは複数のアバターがユーザから個人空間しきい値内(たとえば、1または2メートル内)にあるとき、HMD112の電子ディスプレイ203において表示された中断モード環境においてユーザから離れるように、フリーズされたアバターのうちの1つまたは複数を移動することになる。いくつかの例では、中断モードエンジン332は、HMD112の電子ディスプレイ203において中断モード環境を表示しながら、周囲音(たとえば、背景音または音楽)を再生することになる。いくつかの例では、中断モードエンジン332は、HMD112のユーザが、電子デバイス203において表示される人工コンテンツの画像データをキャプチャする能力を無効にする。たとえば、HMD112のユーザは、中断モード環境において、レンダリングされたアバターの画像データをキャプチャすることができないことになる。いくつかの例では、中断モードエンジン332は、人工現実環境中の他のユーザがHMD112のユーザを聴取することができないように、HMD112のマイクロフォンを無効にするか、またはHMD112から他のユーザにオーディオを送信することを中止する。
【0067】
いくつかの例では、中断モードエンジン332は、HMD112のユーザが、中断モード環境からの別のユーザに対応するレンダリングされたアバターを選択することと、そのアバター/ユーザに対応する1つまたは複数の動作を実施することとを可能にする。たとえば、HMD112のユーザは、アバターを選択し、対応するユーザのプロファイルを観察するか、あるいはそのユーザと友達になるか、そのユーザにメッセージするか、そのユーザをブロックするか、またはそのユーザを報告し得る。いくつかの例では、中断モードエンジン332は、HMD112においてユーザ110に提示されたユーザインターフェース上のユーザ入力に基づいて、プロファイルを取得するか、ユーザと友達になるか、ユーザにメッセージするか、ユーザをミュートするか、ユーザをブロックするか、またはユーザを報告するための、人工現実アプリケーションサーバ107によって実施されるべきである命令を策定し得る。
【0068】
この例では、HMD112およびコンソール106は、(たとえば、ネットワーク104を介して)人工現実アプリケーションサーバ107と通信しているものとして示されており、人工現実アプリケーションサーバ107は、コンソール106および/またはHMD112上で実行する人工現実アプリケーションのためのバックエンドネットワーク動作を実施する。図3に示されているように、人工現実アプリケーションサーバ107は、人工現実アプリケーションエンジン334と(1つまたは複数の)I/Oインターフェース336と含み得る。人工現実アプリケーションサーバは、1つまたは複数のプロセッサ、メモリ、オペレーティングシステムなど、さらなるハードウェアおよびソフトウェア構成要素を含み得る。これらの他の構成要素は簡単のために示されていない。
【0069】
人工現実アプリケーションエンジン334は、ユーザ間の関係(たとえば、交友関係)を管理すること、ユーザについてのプロファイルを維持すること、1人または複数のユーザとゲームを協調させること(たとえば、ゲームにおいて1人または複数のユーザを配置すること、スコアを維持すること)、あるいはコンソール106および/またはHMD112上で人工現実アプリケーションを実行するための任意の他のネットワークエンド動作を実施することを行い得る。たとえば、人工現実アプリケーションエンジン334は、HMD112および/またはコンソール106から受信されたユーザ入力に応答して、特定のユーザのプロファイルを取得すること、あるいはユーザと友達になるか、ユーザにメッセージするか、ユーザをブロックするか、またはユーザを報告することを行うための機能性を含み得る。いくつかの例では、人工現実アプリケーションエンジン334は、ネットワークレベルにおけるプロファイル動作、友達になる動作、メッセージする動作、ブロックする動作、および/または報告する動作を実装するための、1つまたは複数のソフトウェアパッケージ、ソフトウェアライブラリ、ハードウェアドライバ、および/またはアプリケーションプログラムインターフェース(API)を含み得る。
【0070】
人工現実アプリケーションエンジン334は、(1つまたは複数の)I/Oインターフェース336を介して、ユーザプロファイルを含んでいる1つまたは複数のデータベース(図示せず)にアクセスし得る。これらのユーザプロファイルは、各々、特定のユーザに関する1つまたは複数のピクチャおよび/または情報を含み得る。たとえば、HMD112のユーザが別のユーザをブロックした場合、別のユーザは、人工現実環境において(または任意の他の人工現実環境またはアプリケーションにおいて)HMD112のユーザを見るか、またはさもなければHMD112のユーザと相互作用すること(その逆も同様である)、ネットワーク上でHMD112のユーザを検索すること、人工現実アプリケーションサーバ107を介してHMD112のユーザにメッセージするか、またはHMD112のユーザと友達になることができないことになる。いくつかの例では、人工現実アプリケーションエンジン334は、その2人のユーザが後に同じ人工現実環境または人工現実アプリケーション中に(たとえば、同じゲーム中に)配置されるのを防ぎ得る。いくつかの例では、HMD112のユーザは、現在の人工現実アプリケーションの完了(たとえば、ゲームの完了)後に、またはユーザが人工現実環境を出たときに、直ちに別のユーザをブロックすべきかどうかを示し得る。いくつかの例では、HMD112のユーザは、人工現実環境内で別のユーザをミュートし、HMD112のユーザが人工現実環境を出るときにその別のユーザをブロックする(たとえば、現在のゲーム中に別のユーザをミュートし、ゲームが終了すると別のユーザをブロックする)ことを示し得る。いくつかの例では、ブロックされたユーザは、人工現実環境においてユーザおよび/またはユーザのアバターを見るか、聴取するか、あるいはさもなければユーザおよび/またはユーザのアバターと相互作用することができないことになる。HMD112のユーザが別のユーザをミュートした場合、HMD112のユーザは、HMD112のユーザが人工現実環境に戻ったとき、その別のユーザから来るオーディオを聴取することができないことになる。たとえば、中断モードエンジン332は、HMD112においてその別のユーザから来るオーディオをミュートすることになる。HMD112のユーザが別のユーザを報告した場合、人工現実アプリケーションエンジン334は、人工現実環境またはアプリケーションに関連付けられたレビューエンティティによるレビューのために、そのユーザにフラグを付けることになる。いくつかの例では、人工現実アプリケーションエンジン334は、レビューのために、人工現実環境内での、HMD112のユーザと別のユーザとの間の相互作用を記録し得る。
【0071】
いくつかの例では、コンソール106および/またはHMD112は、中断モード特徴がHMD112において有効にされる間、I/Oインターフェース315および/または319を介して、(たとえば、他のHMD、コンソール、および/または人工現実アプリケーションサーバ107から)人工現実環境に対応するデータ(たとえば、ゲームデータ、位置データ)を受信し続ける。たとえば、コンソール106および/またはHMD112は、中断モード環境中の1つまたは複数のアバターの位置が更新されなくても、人工現実環境に参加し続けている1つまたは複数のアバターについての位置情報を受信し続け得る。このようにして、HMD112のユーザは、他のユーザが人工現実環境に参加し続ける間、人工現実環境を休止し得る。人工現実環境に対応するデータを受信し続けることによって、HMD112および/またはコンソール106は、HMD112のユーザが中断モード環境から人工現実環境に戻ったときに、処理すべきデータ更新のバックログを有しないことになり、これは、HMD112のユーザが、より喜びを与えるユーザ体験のために、データ処理遅延を低減することによって人工現実環境124に参加することをより迅速に再開することを可能にする。
【0072】
図4は、本開示の技法による、人工現実アプリケーションの実行中に中断モード環境を生成する人工現実システムの、例示的なHMD112、および人工現実アプリケーションサーバを示すブロック図である。
【0073】
この例では、図3と同様に、HMD112は、いくつかの例では、オペレーティングシステム305を実行するためのコンピュータプラットフォームを提供する1つまたは複数のプロセッサ302とメモリ304とを含み、オペレーティングシステム305は、たとえば埋込み型リアルタイムマルチタスキングオペレーティングシステム、または他のタイプのオペレーティングシステムであり得る。次に、オペレーティングシステム305は、1つまたは複数のソフトウェア構成要素417を実行するためのマルチタスキング動作環境を提供する。その上、(1つまたは複数の)プロセッサ302は、電子ディスプレイ203と、動きセンサー206と、I/Oインターフェース319と、撮像デバイス138とに結合される。
【0074】
図4の例では、ソフトウェア構成要素417は、アプリケーションエンジン440と、レンダリングエンジン422と、ジェスチャー検出器424と、ポーズトラッカー426と、インターフェースエンジン428と、中断モードエンジン432とを含む。様々な例では、ソフトウェア構成要素417は、図3のコンソール106のカウンターパート構成要素(たとえば、アプリケーションエンジン340、レンダリングエンジン322、ジェスチャー検出器324、ポーズトラッカー326、ユーザインターフェースエンジン328、および中断モードエンジン332)と同様に動作する。いくつかの例では、レンダリングエンジン422は、ユーザ110の現実世界の物理的環境上に少なくとも部分的にオーバーレイされ得る3D人工現実コンテンツを構築する。
【0075】
図3に関して説明される例と同様に、アプリケーションエンジン440およびレンダリングエンジン422は、ポーズトラッカー426によって決定された基準系、一般にHMD112の観察パースペクティブについての現在のポーズ情報に従って、ユーザ110への表示のための人工コンテンツを構築する。検知されたデータに基づいて、ポーズトラッカー426は、HMD112の基準系についての現在のポーズを決定し、現在のポーズに従って、ユーザ110への表示のための人工現実コンテンツを構築する。
【0076】
さらに、検知されたデータに基づいて、ジェスチャー検出器424は、ユーザ110によって実施された1つまたは複数のジェスチャーを識別するために、ユーザのオブジェクト(たとえば、手、腕、手首、フィンガー、手のひら、親指)の追跡された動き、構成、位置、および/または配向を分析する。ジェスチャー検出器424は、キャプチャされた画像データに基づいて、手、指、および/または腕の位置および配向の変化を含む移動を追跡し、オブジェクトの動きベクトルをジェスチャーライブラリ430中の1つまたは複数のエントリと比較して、ユーザ110によって実施されたジェスチャーまたはジェスチャーの組合せを検出し得る。ジェスチャーライブラリ430は、図3のジェスチャーライブラリ330と同様である。
【0077】
ジェスチャー検出器424がUIアクティブ化ジェスチャーを検出したことに基づいて、アプリケーションエンジン440は、(たとえば、図1A図1B図3を参照しながら上記で説明されたように)人工現実アプリケーションの人工現実環境124の仮想コンテンツへのオーバーレイとしての、ユーザ110への表示のための、中断モードUI要素142を含むUIメニュー140を生成し得る。ジェスチャー検出器は、次いで、中断モードUI要素142に対する選択ジェスチャーを検出し得、中断モードエンジン432は、応答して、図3を参照しながら上記で説明されたように、人工現実アプリケーションの人工現実環境を中断モード環境と交換し、人工現実環境から来るすべてのオーディオをミュートし、および/または静的位置において人工現実環境からの任意の1つまたは複数のアバターをレンダリングし得る。中断モードエンジン432は、さらに、図3を参照しながら上記で説明されたように、HMD112のユーザが、中断モード環境からの別のユーザに対応するフリーズされたアバターを選択し、HMD112において、対応するユーザのプロファイルを観察すること、あるいは、そのユーザと友達になること、そのユーザにメッセージすること、そのユーザをブロックすること、またはそのユーザを報告することを含む、1つまたは複数の動作を実施することを可能にし得る。いくつかの例では、人工現実アプリケーションサーバ107は、図3を参照しながら上記で説明されたように、ユーザのプロファイルを取得するための、あるいはユーザと友達になるか、ユーザにメッセージするか、ユーザをブロックするか、またはユーザを報告するための、人工現実アプリケーションバックエンドネットワー機能性を実装する。いくつかの例では、中断モードエンジン432は、図3を参照しながら上記で説明されたように、HMD112において別のユーザをミュートするための機能性を実装する。
【0078】
図5は、1つまたは複数のデバイスが、各デバイス内の1つまたは複数のSoC集積回路を使用して実装される、マルチデバイス人工現実システムのための分散アーキテクチャのより詳細な例示的な実装形態を示すブロック図である。いくつかの例では、人工現実システムは、HMD112とともに動作する周辺デバイス502を含む。この例では、周辺デバイス502は、人工現実システムが仮想コンテンツをその上にオーバーレイする表面を有する物理的な現実世界のデバイスである。周辺デバイス502は、プレゼンスセンシティブ表面のロケーションにタッチするかまたはそのロケーション上をホバリングする1つまたは複数のオブジェクト(たとえば、フィンガー、スタイラス)の存在を検出することによってユーザ入力を検出するための1つまたは複数のプレゼンスセンシティブ表面を含み得る。いくつかの例では、周辺デバイス502は、プレゼンスセンシティブディスプレイであり得る、出力ディスプレイを含み得る。いくつかの例では、周辺デバイス502は、スマートフォン、タブレットコンピュータ、個人情報端末(PDA)、または他のハンドヘルドデバイスであり得る。いくつかの例では、周辺デバイス502は、スマートウォッチ、スマートリング、または他のウェアラブルデバイスであり得る。周辺デバイス502はまた、キオスクあるいは他の固定または移動システムの一部であり得る。周辺デバイス502は、スクリーンにコンテンツを出力するためのディスプレイデバイスを含むことも含まないこともある。
【0079】
概して、図5に示されているSoCは、各SoC集積回路が人工現実アプリケーションのための動作環境を提供するように構成された様々な特殊な機能ブロックを含む分散アーキテクチャにおいて配列された特殊な集積回路の集合を表す。図5は、SoC集積回路の1つの例示的な配列にすぎない。マルチデバイス人工現実システムのための分散アーキテクチャは、SoC集積回路の任意の集合および/または配列を含み得る。
【0080】
この例では、HMD112のSoC530Aは、追跡570と、暗号化/解読580と、コプロセッサ582と、セキュリティプロセッサ583と、インターフェース584とを含む機能ブロックを備える。追跡570は、眼追跡572(「眼572」)、手追跡574(「手574」)、深度追跡576(「深度576」)、ならびに/または同時位置特定およびマッピング(SLAM)578(「SLAM578」)のための機能ブロックを提供する。たとえば、HMD112は、HMD112の現在の加速度を示すデータを出力する(慣性測定ユニットまたは「IMU」とも呼ばれる)1つまたは複数の加速度計、HMD112のロケーションを示すデータを出力するGPSセンサー、様々なオブジェクトからのHMD112の距離を示すデータを出力するレーダーまたはソナー、あるいは、HMD112または物理的環境内の他のオブジェクトのロケーションまたは配向の指示を提供する他のセンサーから、入力を受信し得る。HMD112はまた、1つまたは複数の撮像デバイス588A~588N(まとめて、「撮像デバイス588」)から画像データを受信し得る。撮像デバイスは、物理的環境を表す画像データを出力するように構成された、ビデオカメラ、レーザースキャナ、ドップラーレーダースキャナ、深度スキャナなどを含み得る。より詳細には、撮像デバイスは、一般にHMD112の観察パースペクティブと対応する、撮像デバイスの視野内にある、物理的環境中の(周辺デバイス502および/または手を含む)オブジェクトを表す画像データをキャプチャする。検知されたデータおよび/または画像データに基づいて、追跡570は、たとえば、HMD112の基準系についての現在のポーズを決定し、現在のポーズに従って、人工現実コンテンツをレンダリングする。
【0081】
暗号化/解読580は、周辺デバイス502またはセキュリティサーバに通信される発信データを暗号化し、周辺デバイス502またはセキュリティサーバから通信された着信データを解読するための機能ブロックである。暗号化/解読580は、セッション鍵(たとえば、秘密対称鍵)でデータを暗号化/解読するために対称鍵暗号法をサポートし得る。
【0082】
コアプリケーションプロセッサ582は、ビデオ処理ユニット、グラフィックス処理ユニット、デジタル信号プロセッサ、エンコーダおよび/またはデコーダ、ならびに/あるいは他のものなど、様々なプロセッサを含む。本開示で説明される技法によれば、バックエンドシェルのすべてまたは部分が、ハードウェアで、ソフトウェアで、またはハードウェアとソフトウェアとの組合せのものであり得る。たとえば、コンカレントアプリケーションエンジンのバックエンドシェルがコアプリケーションプロセッサ582上で実行され得る。複数の人工現実アプリケーションがコアプリケーションプロセッサ582上でコンカレントに実行され得る。
【0083】
セキュリティプロセッサ583は、AR環境内で連携して使用されるデバイス、たとえば、周辺デバイス606とペアリングするとき、HMD112のセキュアデバイス構成証明および相互認証を提供する。セキュリティプロセッサ583は、HMD112のSoC530A~530Cを認証し得る。
【0084】
インターフェース584は、SoC530Aの機能ブロックに接続するための1つまたは複数のインターフェースを含む機能ブロックである。一例として、インターフェース584は、周辺構成要素相互接続エクスプレス(PCIe)スロットを含み得る。SoC530Aは、インターフェース584を使用してSoC530B、530Cと接続し得る。SoC530Aは、他のデバイス、たとえば、周辺デバイス136と通信するためにインターフェース584を使用して通信デバイス(たとえば、無線送信機)と接続し得る。
【0085】
SoC530Bおよび530Cは、各々、それぞれのディスプレイ、たとえば、ディスプレイ586A、586B(まとめて、「ディスプレイ586」)上で人工現実コンテンツを出力するためのディスプレイコントローラを表す。この例では、SoC530Bは、ユーザの左眼587Aのための人工現実コンテンツを出力するための、ディスプレイ558Aのためのディスプレイコントローラを含み得る。たとえば、SoC530Bは、ディスプレイ586A上で人工現実コンテンツを出力するための解読ブロック592A、デコーダブロック594A、ディスプレイコントローラ596A、および/またはピクセルドライバ598Aを含む。同様に、SoC530Cは、ユーザの右眼587Bのための人工現実コンテンツを出力するための、ディスプレイ558Bのためのディスプレイコントローラを含み得る。たとえば、SoC530Cは、人工現実コンテンツを生成し、ディスプレイ586B上で出力するための、解読592B、デコーダ594B、ディスプレイコントローラ596B、および/またはピクセルドライバ598Bを含む。ディスプレイ558は、ARコンテンツを表示するための発光ダイオード(LED)ディスプレイ、有機LED(OLED)、量子ドットLED(QLED)、電子ペーパー(E-ink)ディスプレイ、液晶ディスプレイ(LCD)、または他のタイプのディスプレイを含み得る。
【0086】
周辺デバイス502は、人工現実アプリケーションをサポートするように構成されたSoC510Aおよび510Bを含む。この例では、SoC510Aは、追跡540と、暗号化/解読550と、ディスプレイプロセッサ552と、インターフェース554と、セキュリティプロセッサ556とを含む機能ブロックを備える。追跡540は、眼追跡542(「眼542」)、手追跡544(「手544」)、深度追跡546(「深度546」)、ならびに/または同時位置特定およびマッピング(SLAM)548(「SLAM548」)を提供する機能ブロックである。たとえば、周辺デバイス502は、周辺デバイス502の現在の加速度を示すデータを出力する(慣性測定ユニットまたは「IMU」とも呼ばれる)1つまたは複数の加速度計、周辺デバイス502のロケーションを示すデータを出力するGPSセンサー、様々なオブジェクトからの周辺デバイス502の距離を示すデータを出力するレーダーまたはソナー、あるいは、周辺デバイス502または物理的環境内の他のオブジェクトのロケーションまたは配向の指示を提供する他のセンサーから、入力を受信し得る。周辺デバイス502は、いくつかの例では、物理的環境を表す画像データを出力するように構成された、ビデオカメラ、レーザースキャナ、ドップラーレーダースキャナ、深度スキャナなど、1つまたは複数の撮像デバイスから画像データをも受信し得る。検知されたデータおよび/または画像データに基づいて、追跡ブロック540は、たとえば、周辺デバイス502の基準系についての現在のポーズを決定し、現在のポーズに従って、HMD112に人工現実コンテンツをレンダリングする。
【0087】
暗号化/解読550は、HMD112またはセキュリティサーバに通信される発信データを暗号化し、HMD112またはセキュリティサーバから通信された着信データを解読する。暗号化/解読550は、セッション鍵(たとえば、秘密対称鍵)を使用してデータを暗号化/解読するために対称鍵暗号法をサポートし得る。
【0088】
ディスプレイプロセッサ552は、HMD112に人工現実コンテンツをレンダリングするための、ビデオ処理ユニット、グラフィックス処理ユニット、エンコーダおよび/またはデコーダ、ならびに/あるいは他のものなど、1つまたは複数のプロセッサを含む。
【0089】
インターフェース554は、SoC510Aの機能ブロックに接続するための1つまたは複数のインターフェースを含む。一例として、インターフェース584は、周辺構成要素相互接続エクスプレス(PCIe)スロットを含み得る。SoC510Aは、インターフェース584を使用してSoC510Bと接続し得る。SoC510Aは、他のデバイス、たとえば、HMD112と通信するためにインターフェース584を使用して1つまたは複数の通信デバイス(たとえば、無線送信機)と接続し得る。
【0090】
図5の例に関して説明されるように、セキュリティプロセッサ556は、AR環境内で連携して使用されるデバイス、たとえば、HMD112とペアリングするとき、周辺デバイス502のセキュアデバイス構成証明および相互認証を提供する。セキュリティプロセッサ556は、周辺デバイス502のSoC510A、510Bを認証し得る。
【0091】
SoC510Bは、コアプリケーションプロセッサ560とアプリケーションプロセッサ562とを含む。この例では、コアプリケーションプロセッサ560は、視覚処理ユニット(VPU)、グラフィックス処理ユニット(GPU)、および/または中央処理ユニット(CPU)など、様々なプロセッサを含む。アプリケーションプロセッサ562は、たとえば、仮想ユーザインターフェースを生成し、周辺デバイス502の表面にレンダリングするための、および/または周辺デバイス502に関してユーザによって実施されたジェスチャーを検出するための、1つまたは複数の人工現実アプリケーションを実行するための処理ユニットを含み得る。
【0092】
図6は、本開示の態様による、人工現実システム(たとえば、図1A図1Bの人工現実システム10、20)のための中断モード環境を有効にするための例示的な動作を示すフローチャート600である。例および説明の目的で、図6の方法がHMD112に関して説明される。ただし、コンソール106が、この方法の動作のうちの1つまたは複数を実施し得ることを理解されたい。
【0093】
最初に、HMD112は、ユーザに人工現実コンテンツを出力する(602)。たとえば、HMD112は、ソーシャルネットワーキングアプリケーション、遠隔会議アプリケーション、ゲーミングアプリケーション、ナビゲーションアプリケーション、教育アプリケーション、トレーニングまたはシミュレーションアプリケーションなど、人工現実アプリケーションの人工現実環境を出力し得る。人工現実コンテンツは、人工現実環境に参加する他のHMDの1人または複数の他のユーザに対応する1つまたは複数のアバターを含み得る。次に、HMD112は、(たとえば、図1A図1B図7に示されているように)ユーザがユーザの手の内側手首領域(または任意の領域)をHMD112の視野に移動することを含むUIアクティブ化ジェスチャーを検出し得、HMD112は、部分的に、ユーザの手に対応する仮想手の(1つまたは複数の)任意の表面上で、またはその近くでUIメニューを出力することになる(604)。UIメニューは、図1A図1Bを参照しながら上記で説明されたように、中断モードUI要素および/または個人UI要素を含み得る。
【0094】
次に、HMD112は、UIメニュー内の中断モードUI要素の中断モード選択ジェスチャーを検出し得る(606)。たとえば、中断モード選択ジェスチャーは、対応するUI要素上のまたはその近くの(たとえば、中断モードUI要素がレンダリングされた物理的表面上の、または中断モードUI要素がレンダリングされた場所に対応する物理的ロケーションの近くの)、ユーザの1つまたは複数のフィンガー(物理的または仮想)の配置を含み得る。中断モード選択ジェスチャーを検出したことに応答して、HMD112は、1つまたは複数の他のアバターをフリーズすること(たとえば、静的位置において1つまたは複数のアバターをレンダリングすること)とHMD112において中断モード環境を出力することとを含めて、中断モードを有効にする(608)。いくつかの例では、1人または複数のユーザは、中断モードがHMD112において有効にされる間、人工現実環境に参加し続け得る。いくつかの例では、HMD112は、人工環境中の1つまたは複数のアバターについてのゲームステータス(たとえば、スコア、残寿命)情報および/またはロケーション情報を含む、人工現実環境に対応するデータを受信し続け得るが、HMD112のユーザは、中断モード環境から人工現実環境に参加しないことがある。HMD112は、(たとえば、中断モード環境内で更新を表示することなしに)このデータを背景で処理し得る。
【0095】
HMD112は、次いで、ユーザが中断モードを出ることを望むかどうかを決定することになる(610)。たとえば、HMD112は、ユーザが中断モード環境内でUI要素を選択したかどうかを決定し得る。ユーザが中断モードを出ることを望まない(610のいいえ分岐)と決定したことに応答して、HMD112は、中断モードのままである(たとえば、608に戻る)ことになる。ユーザが中断モードを出ることを望む(610のはい分岐)と決定したことに応答して、HMD112は、HMD112のユーザに、人工現実環境を含む人工現実コンテンツを出力する(たとえば、602に戻る)ことになる。HMD112は、人工現実環境に対応するデータを受信し、処理し続けたので、HMD112は、HMD112が、処理すべきデータのバックログを有しないことになるので、中断モード環境から人工現実環境により迅速にユーザを戻し得る。このようにして、中断モード環境と人工現実環境との間の遷移は急(sharp)(たとえば、瞬時またはさもなければ迅速)であり得る。いくつかの例では、HMD112は、中断モード環境と人工現実環境との間で遷移するときにフェージング効果をレンダリングし得る。
【0096】
図7は、本開示の態様による、人工現実システム(たとえば、図1A図1Bの人工現実システム10、20)のための中断モード環境内での例示的な動作を示すフローチャート700である。例および説明の目的で、図7の方法がHMD112に関して説明される。ただし、コンソール106が、この方法の動作のうちの1つまたは複数を実施し得ることを理解されたい。たとえば、フローチャート700は、HMD112において中断モード特徴を有効にするために中断モードエンジン332または432によって実施される機能(たとえば、図6のフローチャート600のステップ608)の一例である。
【0097】
HMD112は、人工現実アプリケーションの人工現実環境を中断モード環境と交換する(702)。たとえば、HMD112は、HMD112においてレンダリングされた人工現実コンテンツを単色背景と交換し得る。これは、人工現実環境中にあった構造、地面/床、(武器などのハンドヘルドオブジェクトを含む)オブジェクトなどを表示することを中止することを含み得る。たとえば、中断モードが有効にされたときにアバターがテーブル上に立っていた場合、テーブルは、中断モード環境において表示されないことになり、そのアバターは、中断モード環境において浮動しているように見え得る。いくつかの例では、中断モード環境の背景が、(たとえば、(1つまたは複数の)他の色に、他の画像に、または1つまたは複数のパター(patter)を含むように)HMD112のユーザによって変更され得る。
【0098】
HMD112はまた、HMD112において人工現実環境からのオーディオをミュートすることになる(704)。たとえば、HMD112は、音楽、1つまたは複数のアバターからの音声または他の雑音、背景雑音などをミュートすることになる。いくつかの例では、HMD112は、中断モード環境に対応する周囲音(たとえば、背景音、音楽、または白色雑音)を再生し得る。たとえば、HMD112は、自然からの音(たとえば、ビーチに打ち寄せる波)、リラックスさせる音楽、または他の音を再生し得る。いくつかの例では、中断モード環境において再生される周囲音は、(たとえば、他の音楽または音に)HMD112のユーザによって変更され得る。いくつかの例では、HMD112は、人工現実環境中の他のユーザがHMD112のユーザを聴取することができないように、HMD112のマイクロフォンを無効にするか、あるいは他のユーザまたはデバイス(たとえば、他のHMD、コンソール106)にオーディオを送信することを中止する。
【0099】
HMD112は、中断モード環境内の静的ポーズ(たとえば、位置および配向)において、他のユーザに対応する1つまたは複数のアバターをレンダリングすることになる(706)。静的ポーズは、中断モードがHMD112において有効にされたときに人工現実環境内で1つまたは複数のアバターがあったポーズに対応し得る。いくつかの例では、HMD112は、レンダリングされたアバターのうちの1つまたは複数がHMD112のユーザから個人空間しきい値内に(たとえば、1または2メートル内に)あるかどうかを決定し得る(708)。1つまたは複数のレンダリングされたアバターが個人空間しきい値内にある(708のはい分岐)という決定に応答して、HMD112は、1つまたは複数のレンダリングされたアバターを特定の距離(たとえば、2または3メートル)後ろに移動する。たとえば、HMD112は、個人空間しきい値内の1つまたは複数のレンダリングされたアバターを後ろにスライドさせるアニメーションをレンダリングし得る。いくつかの例では、HMD112は、個人空間しきい値におけるまたは個人空間しきい値を越える静的位置において、単に、1つまたは複数のレンダリングされたアバターをレンダリングし得る。どちらにしても、フローチャート700は712に続く。
【0100】
1つまたは複数のレンダリングされたアバターが個人空間しきい値内にない(708のいいえ分岐)という決定に応答して、HMD112は、ユーザ入力に基づいて、中断モード環境中の1つまたは複数のレンダリングされたアバターに対応する1つまたは複数の動作を実施する(712)。たとえば、ユーザは、(たとえば、図1A図3を参照しながら上記で説明されたように)別のユーザのアバターを選択して、中断モード環境から、そのユーザと友達になるか、そのユーザにメッセージするか、そのユーザをミュートするか、そのユーザをブロックするか、またはそのユーザを報告し得る。いくつかの例では、人工現実アプリケーションサーバ107は、(たとえば、図1A図3を参照しながら上記で説明されたように)中断モード環境から、ユーザと友達になるか、ユーザにメッセージするか、ユーザをブロックするか、またはユーザを報告するための、バックエンドネットワーク動作を実施する。たとえば、HMD112のユーザがネットワークレベルにおいて別のユーザをブロックした場合、別のユーザは、人工現実環境において(または任意の他の人工現実環境またはアプリケーションにおいて)HMD112のユーザを見るか、またはさもなければHMD112のユーザと相互作用すること(その逆も同様である)、ネットワーク上でHMD112のユーザを検索すること、HMD112のユーザにメッセージするか、またはHMD112のユーザと友達になることができないことになる。HMD112のユーザと別のユーザとがすでに友達であった場合、別のユーザをブロックすることはその2人のユーザを友達解除し得る。いくつかの例では、コンソール106は、その2人のユーザが後に同じ人工現実環境または人工現実アプリケーション中に(たとえば、同じゲーム中に)配置されるのを防ぎ得る。いくつかの例では、HMD112のユーザは、現在の人工現実アプリケーションの完了(たとえば、ゲームの完了)後に、またはユーザが人工現実環境を出たときに、(ブロックすることが、ユーザが中断モード環境から人工現実環境に戻ったときに有効であることになるように)直ちに別のユーザをブロックすべきかどうかを示し得る。いくつかの例では、ブロックされたユーザは、人工現実環境においてユーザおよび/またはユーザのアバターを見るか、聴取するか、あるいはさもなければユーザおよび/またはユーザのアバターと相互作用することができないことになる。HMD112のユーザが別のユーザをミュートした場合、HMD112のユーザは、HMD112のユーザが人工現実環境に戻ったとき、その別のユーザから来るオーディオを聴取することができないことになる。いくつかの例では、HMD112は、その別のユーザからオーディオデータを受信し続けることになるが、そのオーディオをミュートすることになる。
【0101】
図8は、本開示の技法による、人工現実アプリケーションの実行中に中断モード環境に入るための例示的なジェスチャー駆動型UIとのユーザ相互作用を示す図である。特に、図8は、仮想手136A、136B(まとめて、「仮想手136」)、および、仮想手136Aの近くの、中断モードUI要素142と個人UI要素144とを含むUIメニュー140を示す。いくつかの例では、HMD112は、HMD112が、仮想手136に対応するユーザの手の内側手首領域がHMD112の視野に入って来たことを検出したことに応答して(たとえば、図1Aを参照しながら上記で説明されたようにUIアクティブ化ジェスチャーを検出した後に)、レンダリングされていることがある。図8は、ユーザが、中断モードUI要素142上の、仮想フィンガー802の配置を含む中断モード選択ジェスチャーを実施することをさらに示し、これは、ユーザが、中断モードUI要素がレンダリングされた場所に対応する物理的領域にフィンガーを配置することに対応する。HMD112が(たとえばユーザの手のキャプチャされた画像データを介して)中断モードUI要素142に対する選択ジェスチャーを検出したことに応答して、HMD112は中断モード特徴を有効にする。ユーザの手の動きに基づくUIアクティブ化および選択ジェスチャーを定義することによって、ユーザは、迅速におよび直観的に中断モード特徴を有効にし得る。
【0102】
図9は、本開示の技法による、HMD112においてユーザに提示される、人工現実アプリケーションの例示的な人工現実環境924を示す図である。図9に示されている例では、人工現実環境924は、アバター920A、920B、920C、920D、920E、および920F(まとめて、「アバター920」)と、仮想オブジェクト928Aおよび928B(まとめて、「仮想オブジェクト928」)と、仮想ハンドヘルドオブジェクト914とを含む。特に、アバター920は、HMDの他のユーザに対応し得、人工現実環境924はゲーミングアプリケーションに対応し得る。いくつかの例では、1つまたは複数のアバター920が、コスチューム、マスク、またはアクセサリを装着し得る。たとえば、アバター920Eは、図9中のマスク902を装着している。いくつかの例では、各アバターによって装着される用品一式またはコスチュームは、それぞれのユーザによって個人化され得る。いくつかの例では、アバター920は、対応するユーザに関する情報をもつグラフィック要素を含み得る。たとえば、図9は、アバター920に対する対応するユーザのファーストネームをもつグラフィック要素を示す。他の例では、これらのグラフィックは、追加または代替として、対応するユーザに関するゲームスコア、残寿命、または任意の他の情報を含み得る。いくつかの例では、このグラフィック要素は、人工現実環境924中に含まれないことがある。図9に示されている人工現実環境924は、本開示の技法による、中断モード特徴を有効にするより前の人工現実環境の一例であり得る。
【0103】
図9は、6人の異なるユーザに対応する6つのアバターを示すが、他のアバターが、人工現実環境924中に存在し得、ただし、HMD112の視野中にないか、仮想オブジェクトの後ろに(たとえば、仮想壁928Aの後ろに)あるか、またはあまりに遠く離れている(たとえば、可視しきい値を越えて位置する)ので、HMD112のユーザに可視でないことがある。たとえば、HMD112のユーザは、自分の視野を移動すること(たとえば、向きを変えることまたは仮想壁928Aの後ろを見ること)によって追加のアバターを見得る。図9は、利用可能でないユーザ(すなわち、ジェイコブ)に対応する仮想グラフィック904をも示す。仮想グラフィック904は、ユーザのプロファイルピクチャと、ユーザが離れているかまたはさもなければ利用可能でないことを示すメッセージとを含み得る。いくつかの例では、仮想グラフィック904に対応するユーザは、そのユーザが、自分のHMDを一時停止した、自分のHMDを取り外した、自分のHMDにおいて中断モード特徴を有効にしたなどのために、利用可能でないことがある。どちらにしても、仮想グラフィック904は、なぜユーザが利用可能でないかの指示を含むことも含まないこともある。いくつかの例では、仮想グラフィック904は、ユーザに対応する「コイン」またはトークンであり得る。
【0104】
図10は、本開示の技法による、例示的な中断モード環境1024を示す図である。図10に示されている例では、中断モード環境1024は、図9中の人工現実環境924に対応する。すなわち、図10は、ユーザが、図9の人工現実環境924に参加しながら中断モード特徴を有効にした後に、HMD112において表示される例示的な中断モード環境1024である。
【0105】
図10に示されているように、中断モード環境1024は、それぞれ、図9のアバター920A、920B、920C、920D、920E、および920Fに対応する、アバター1020A、1020B、1020C、1020D、1020E、および1020F(まとめて、「アバター1020」)を含む。HMD112は、HMD112のユーザが中断モード特徴を有効にしたときにアバター1020があったポーズに対応する静的ポーズ(たとえば、位置および配向)においてアバター1020を提示する。アバター1020は、HMD112における中断モード環境1024中の静的ポーズにおいて提示されるが、アバター920は、図9の人工環境924に参加し続け得る。HMD112は、中断モード特徴が有効にされる間、アバター920の各々についてのポーズ情報を含む、人工現実環境924に関するデータを受信し続け得る。すなわち、人工現実環境924は、HMD112のユーザが中断モード環境1024に入ったとき、アバター920のために一時停止されないかまたはさもなければ停止されない。特に、HMD112は、中断モード環境1024において(仮想オブジェクト928を含む)人工環境924の仮想背景を表示せず、代わりに、異なる背景(たとえば、単色背景)を提示する。たとえば、中断モード環境1024は、図9の仮想オブジェクト928または仮想ハンドヘルドオブジェクト914を含まない。特に、HMD112は、人工現実環境924において仮想オブジェクト928の後ろにあった(たとえば、仮想オブジェクト928によって遮られた)アバターを中断モード環境1024において表示しないことになる。いくつかの例では、HMD112は、アバター920のコスチューム、マスク、またはアクセサリを提示し続ける。たとえば、HMD112は、アバター1020Eをマスク1002とともに提示することになり、これは図9中のアバター920Eおよびマスク902に対応する。いくつかの例では、アバター1020は、アバター920のうちのいくつかに対する対応するユーザのファーストネームをもつグラフィック要素を含み得る。他の例では、これらのグラフィックは、追加または代替として、対応するユーザに関するゲームスコア、残寿命、または任意の他の情報を含み得る。いくつかの例では、このグラフィック要素は、人工現実環境924中に含まれないことがあるが、中断モード環境1024中に含まれ得る。いくつかの例では、このグラフィック要素は、中断モード環境1024中に含まれないことがある。
【0106】
HMD112は、ユーザが中断モード特徴を有効にしたとき、仮想現実環境924中にあった1つまたは複数のアバターに対応する複数の仮想UI要素をさらに表示し得る。たとえば、中断モード環境1024は、UI要素1050A、1050B、1050C、1050D、および1050(まとめて、「UI要素1050」または「情報パネル1050」)を含む。UI要素1050の各々は、図10に示されているように、アバターのそれぞれのユーザに対応するピクチャ、ネーム、または任意の他の情報を含み得る。いくつかの例では、UI要素1050は、中断モード環境1024において現在可視でないアバターについての1つまたは複数のUI要素を含み得る。たとえば、図10中のUI要素1050Aに対応するアバターが可視でない。このアバターは、HMD112のユーザが中断モード特徴を有効にしたときに、そのアバターがHMD112の見通し線中にないか、そのアバターが仮想オブジェクトまたは別のアバターの後ろにあったか、あるいはそのアバターが「離れて」いたので、可視でないことがある。HMD112は、命令、追加情報、ならびに/または中断モード環境1024を出るためのおよび人工現実環境924に戻るための仮想UI要素とともに、UI要素1054をも提示し得る。図10に示されている例では、UI要素1054は、HMD112のユーザが追加のオプションのためにユーザプロファイル(たとえば、UI要素1050のいずれか)をタップし得ることを示す。この例では、ユーザは、UI要素1050Cをタップすることによってアバター1020Aを選択している。いくつかの例では、HMD112のユーザは、アバターを見るかまたはアバターを指すことによって、アバター1020を選択し得る。いくつかの例では、HMD112のユーザは、たとえば、アバター1020の物理的外観について言葉で説明すること(たとえば、アバターのサイズ、衣類、アクセサリ、または任意の他の特徴的な特性について説明すること)、またはそのアバターのネームを言うことを含む、音声選択によりそのアバターを選択し得る。このようにして、ユーザは、特定のアバター/ユーザを探すのに様々なUI要素1050をスクロールする必要がない。いくつかの例では、HMD112は、アバター1050が選択されるまで、それらのアバターを視覚的にミュートし得る。たとえば、アバター1020B~1020Fは、グレースケールで提示されるか、またはさもなければ人工現実環境924におけるものとは別様に提示され得る(図10では点線によって表される)。HMD112はまた、(たとえば、人工現実環境924の場合のように)選択されたアバター1020Aをトゥルーカラーでハイライトおよび/または提示し得る。たとえば、HMD112は、アバター1020Aの下でスポットライトまたはベース1056を提示し、HMD112のユーザからベース1056へのライン1058を提示し得る。ベース1056およびライン1058は、ユーザが、異なるアバター1020を選択したとき、アバター1020間で移動し得る。
【0107】
ユーザ1020Aを選択したことに応答して、HMD112は、ユーザが中断モードUI1052を通してそのユーザと関与することを可能にする選択可能な仮想要素を含む中断モードUI1052をレンダリングする。たとえば、ユーザは、中断モードUI1052中の対応する仮想要素を選択することによって、ユーザ1020Aと友達になり、ユーザ1020Aにメッセージし、ユーザ1020Aをミュートし、ユーザ1020Aをブロックし、および/またはユーザ1020Aを報告し得る。いくつかの例では、中断モードUI1052は、中断モード環境1024を出るためのおよび人工現実環境924に戻るための仮想UI要素を含み得る。
【0108】
いくつかの例では、ブロックすることは、(たとえば、図3を参照しながら説明された人工現実アプリケーションエンジン334によって)ネットワークまたはサーバレベルにおいて実施され、ミュートすることは、(たとえば、図4を参照しながら説明された中断モードエンジン432によって)HMDレベルにおいて実施される。たとえば、ユーザがネットワーク上でユーザ1020Aをブロックした場合、ユーザ1020Aは、ユーザが中断モード環境を出た後に、人工現実環境924において(または任意の他の人工現実環境またはアプリケーションにおいて)ユーザを見るかまたはさもなければユーザと相互作用すること、ネットワーク上でユーザを検索すること、ユーザにメッセージするか、またはユーザと友達になることができないことになる。いくつかの例では、ユーザは、現在の人工現実アプリケーションの完了(たとえば、ゲームの完了)後に、またはユーザが人工現実環境924を出たときに、直ちにユーザ902をブロックすべきかどうかを示し得る。いくつかの例では、HMD112のユーザは、人工現実環境内で別のユーザをミュートし、HMD112のユーザが人工現実環境を出るときにその別のユーザをブロックする(たとえば、現在のゲーム中に別のユーザをミュートし、ゲームが終了すると別のユーザをブロックする)ことを示し得る。いくつかの例では、ブロックされたユーザは、ユーザおよび/またはユーザのアバターを見るか、聴取するか、あるいはさもなければユーザおよび/またはユーザのアバターと相互作用することができないことになる。たとえば、再び図9を参照すると、HMD112のユーザがアバター920Aをブロックし、アバター920Bが後で、HMD112のユーザが人工現実環境924に戻ったとき、ユーザと話す場合、アバター920Bは、アバター920Aに対応するブロックされたユーザのパースペクティブから、誰とも話していないように見えることになる。
【0109】
ユーザが別のユーザをミュートした場合、ユーザは、HMD112がその別のユーザから来るオーディオをミュートすることになるので、人工現実環境924にいる間、その別のユーザから来るオーディオを聴取することができないことになる。HMD112のユーザが別のユーザを報告した場合、コンソール106(または人工現実システムからの任意の他のデバイス)は、人工現実環境またはアプリケーションに関連付けられたレビューエンティティによるレビューのために、そのユーザにフラグを付けることになる。いくつかの例では、人工現実システムは、レビューのために、人工現実環境924内での、HMD112のユーザと別のユーザとの間の相互作用を記録し得る。
【0110】
アバター920は、中断モード特徴がHMD112において有効にされる間、人工現実環境924に参加し続けることになるが、HMD112のユーザに対応するアバターは人工現実環境924において無効にされることになり、図9のアバター920は、HMD112のユーザに対応するアバターを観察するかまたはそのアバターと相互作用することができないことになる。代わりに、アバター920に対応するユーザは、HMD112のユーザが中断モードを有効にしたことを示すことなしに、そのユーザが利用可能でないことを示す図9の指示904と同様のグラフィックを見得る。いくつかの例では、HMD112のユーザは、人工現実環境924に参加することができないことがある。いくつかの例では、HMD112のユーザは、中断モード環境1024内のアバター1020を撮影または記録することができないことがある。ユーザのアバターは、ユーザの延長(たとえば、人工現実環境中のユーザのエージェントまたはペルソナ(persona))を表し得るので、中断モード特徴は、中断モード特徴がアクティブ化される間、ユーザが知ることまたは承諾することなしに、他のユーザが、ユーザのアバターを撮影しないこと、記録しないこと、またはユーザのアバターと相互作用しないことを保証するのを助けることができ、その逆も同様である。
【0111】
ユーザが中断モード環境1024中にいる間、(そのモードにおける、ユーザのHMDを含む)人工現実環境中のユーザのHMD間のネットワーク通信が続く。たとえば、HMD112は、他のHMDから、人工現実アプリケーション、人工現実環境、および/または他のアバターに関する更新を受信し続けることになる。このようにして、ユーザは、人工現実アプリケーションを休止し、後で直ちに、人工現実アプリケーションの現在の状態において人工現実環境1024に再び入り得る。人工現実アプリケーションは、ユーザが中断モード環境1024中にいた間、続いたので、アバター920のいずれかは、ユーザが、中断モード環境1024を出、人工現実環境924に再び入るときには、異なるロケーションに位置し得、および/または人工現実環境924を出ていることがある。HMD112は、中断モードが有効にされた間、HMD112が処理すべき更新をすでに処理していることになるので、HMD112が、それらの更新のバックログを有しないことになるので、アバター920の更新されたポーズを直ちに表示することが可能であることになる。
【0112】
中断モード特徴が一時停止モードとは異なることを理解されたい。たとえば、中断モード環境では、HMD112のユーザは、人工現実アプリケーション設定または選好にアクセスするかまたはそれらを更新することができないことがある。別の例として、HMD112のユーザのためのアバターは、アバター920が人工現実環境924に参加し続ける間、人工現実環境924において仮想グラフィック(たとえば、図9の仮想グラフィック904)と交換され得る。このようにして、アバター920は、中断モード特徴がHMD112において有効にされる間、HMD112のアバターと相互作用しないことがある(その逆も同様である)。
【0113】
図11は、本開示の技法による、中断モード環境1124の別の例を示す図である。図11に示されている例では、中断モード環境1124は、図10の中断モード環境1024とは異なるパースペクティブから示されている。特に、中断モード環境1124は、図11ではサードパーソンパースペクティブから示されている。中断モード環境1124は、HMD112のユーザに対応するアバター1110と、人工現実環境中の他のユーザに対応するアバター1120A、1120B、および1120C(まとめて、「アバター1120」)とを含む。図10と同様に、HMD112は、中断モード環境1124中の静的ポーズにおいてアバター1020を提示する。図11に示されているように、アバター1110は、プラットフォームまたはベース1160上で提示され得る。
【0114】
いくつかの例では、HMD112は、図7を参照しながら上記で説明されたように、1つまたは複数のアバター1120がアバター1110から個人空間しきい値内(たとえば、1または2メートル内)にあるとき、アバター1110から離れるように1つまたは複数のアバター1120を移動することになる。いくつかの例では、アバター1110は、中断モード環境中にいる間にその視野を回転させることが可能であり得るが、中断モード環境1124内のそのアバターの現在のロケーションから移動することができないことになる。たとえば、アバター1110は、360度向きを変え、上および下を見得るが、中断モード環境1124内の別のロケーションまで歩くことができない。いくつかの例では、アバター1110は、中断モード環境内の半径プラットフォーム1160内で動き回り得る。いくつかの例では、HMD112のユーザが中断モード特徴を有効にしたときにアバター1110からの360度の見通し線中にあったアバターのみが、中断モード環境においてレンダリングされることになる。たとえば、ユーザが中断モード特徴を有効にしたときに、より高いレベル/高度に(たとえば、仮想山頂上にまたは任意の他の仮想オブジェクト上に)、またはより低いレベル/高度に(たとえば、仮想溝の底部上に)あるが、(ユーザがそのアバターを見ていないことがあるにもかかわらず)アバター1110からの360度の見通し線内にあった、アバター1120が、そのアバターが中断モード環境1124内のHMDの視野内にあるとき、表示されることになる。仮想壁の後ろにあったまたはさもなければ仮想オブジェクトによって遮られた別のユーザのためのアバターが、中断モード環境1124においてレンダリングされないことがある。いくつかの例では、HMD112は、アバターのペルソナを構成する衣類、ヘッドギア、靴、コスチューム要素、または任意の他の要素を含む、アバター1120の衣服およびアクセサリを中断モード環境1124においてレンダリングし続け得る。たとえば、HMD112は、アバター1120B上で仮想ヘッドフォン1162をレンダリングし続け得る。このようにして、ユーザは、中断モード環境1124内のアバター1120の各々をより容易に識別し得る。
【0115】
中断モード環境1124中にある間、アバター1110は、(たとえば、図10中のUI要素1050を参照しながら説明されたように)追加の動作を実施するために、UI要素1150A、1150B、または1150C(まとめて、「UI要素1150」)のいずれかに対する選択ジェスチャーを実施することによってアバター1120のいずれかを選択し得る。たとえば、アバター1110が(たとえば、タッチジェスチャーを通して)UI要素1150のうちの1つを選択したとき、HMD112は、仮想中断モードUI1152をレンダリングする。アバターが選択されたとき、HMD112は、選択されたアバターをハイライトし、および/または他のアバターを強調しない(たとえば、他のアバターをグレーアウトする)。たとえば、アバター1110はアバター1120Aを選択し得、HMD112は、アバター1120Aの下でスポットライトまたはベース1156をレンダリングし、プラットフォーム1160からベース1056へのライン1158を提示し得る。ベース1056およびライン1058は、ユーザが、異なるアバター1020を選択したとき、アバター1120間で移動し得る。追加または代替として、HMD112は、たとえば、選択されないアバター1120Bおよび1120Cをグレーアウトすることまたはフェードアウトさせること(図11では点線として表される)によって、それらのアバターを強調しない。
【0116】
本開示で説明される技法は、少なくとも部分的に、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組合せで実装され得る。たとえば、説明される技法の様々な態様が、1つまたは複数のマイクロプロセッサ、DSP、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは任意の他の等価な集積論理回路または個別論理回路、ならびにそのような構成要素の任意の組合せを含む、1つまたは複数のプロセッサ内で実装され得る。「プロセッサ」または「処理回路」という用語は、概して、単独でまたは他の論理回路と組み合わせて、上記の論理回路のいずれか、あるいは任意の他の等価な回路を指し得る。ハードウェアを備える制御ユニットも、本開示の技法のうちの1つまたは複数を実施し得る。
【0117】
そのようなハードウェア、ソフトウェア、およびファームウェアは、本開示で説明される様々な動作および機能をサポートするために、同じデバイス内にまたは別個のデバイス内に実装され得る。さらに、説明されるユニット、モジュール、または構成要素のいずれかは、一緒に、または個別の、ただし相互運用可能な論理デバイスとして別個に、実装され得る。モジュールまたはユニットとしての異なる特徴の図は、異なる機能的態様を強調することが意図され、そのようなモジュールまたはユニットが別個のハードウェアまたはソフトウェア構成要素によって実現されなければならないことを必ずしも暗示するとは限らない。むしろ、1つまたは複数のモジュールまたはユニットに関連付けられた機能性は、別個のハードウェアまたはソフトウェア構成要素によって実施されるか、あるいは共通のまたは別個のハードウェアまたはソフトウェア構成要素内に組み込まれ得る。
【0118】
本開示で説明される技法はまた、命令を含んでいる、コンピュータ可読記憶媒体など、コンピュータ可読媒体において具現されるかまたは符号化され得る。コンピュータ可読記憶媒体において埋め込まれるかまたは符号化される命令は、たとえば、命令が実行されるとき、プログラマブルプロセッサ、または他のプロセッサに方法を実施させ得る。コンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電子的消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、ハードディスク、CD-ROM、フロッピーディスク、カセット、磁気媒体、光媒体、または他のコンピュータ可読媒体を含み得る。
【0119】
本明細書の様々な例として説明されたように、本開示の技法は、人工現実システムを含むか、または人工現実システムとともに実装され得る。説明されたように、人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、(観察者に3次元効果をもたらすステレオビデオなどの)単一のチャネルまたは複数のチャネルにおいて提示され得る。さらに、いくつかの実施形態では、人工現実は、たとえば、人工現実におけるコンテンツを作成するために使用される、および/または人工現実において使用される(たとえば、人工現実におけるアクティビティを実施する)アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せに関連付けられ得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
【0120】
特定の実施形態では、コンピューティングシステムの1つまたは複数のオブジェクト(たとえば、コンテンツまたは他のタイプのオブジェクト)は、1つまたは複数のプライバシー設定に関連付けられ得る。1つまたは複数のオブジェクトは、たとえば、ソーシャルネットワーキングシステム、クライアントシステム、サードパーティシステム、ソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、写真共有アプリケーション、あるいは任意の他の好適なコンピューティングシステムまたはアプリケーションなど、任意の好適なコンピューティングシステムまたはアプリケーションに記憶されるか、または場合によっては関連付けられ得る。本明細書で説明される例はオンラインソーシャルネットワークのコンテキストにおけるものであるが、これらのプライバシー設定は、任意の他の好適なコンピューティングシステムに適用され得る。オブジェクトについてのプライバシー設定(または「アクセス設定」)は、たとえば、オブジェクトに関連して、許可サーバ上のインデックス中で、別の好適な様式で、またはそれらの任意の好適な組合せなど、任意の好適な様式で記憶され得る。オブジェクトについてのプライバシー設定は、オブジェクト(またはオブジェクトに関連付けられた特定の情報)がオンラインソーシャルネットワーク内でどのようにアクセスされ、記憶され、または場合によっては使用され(たとえば、観察、共有、修正、コピー、実行、表面化、または識別され)得るかを指定し得る。オブジェクトについてのプライバシー設定が、特定のユーザまたは他のエンティティがそのオブジェクトにアクセスすることを可能にするとき、オブジェクトは、そのユーザまたは他のエンティティに関して「可視」であるものとして説明され得る。限定としてではなく一例として、オンラインソーシャルネットワークのユーザは、ユーザプロファイルページに関する職歴情報にアクセスし得るユーザのセットを識別するユーザプロファイルページについてのプライバシー設定を指定し、したがって、他のユーザがその情報にアクセスすることを除外し得る。
【0121】
特定の実施形態では、オブジェクトについてのプライバシー設定は、オブジェクトに関連付けられたある情報にアクセスすることを可能にされるべきでないユーザまたは他のエンティティの「ブロックリスト(blocked list)」を指定し得る。特定の実施形態では、ブロックリストは、サードパーティエンティティを含み得る。ブロックリストは、オブジェクトが可視でない1つまたは複数のユーザまたはエンティティを指定し得る。限定としてではなく一例として、ユーザは、ユーザに関連付けられた写真アルバムにアクセスしてはいけないユーザのセットを指定し、したがって、それらのユーザが写真アルバムにアクセスすることを除外し得る(また、場合によってはユーザの指定されたセット内にない何人かのユーザが写真アルバムにアクセスすることを可能にする)。特定の実施形態では、プライバシー設定は、特定のソーシャルグラフ要素に関連付けられ得る。ノードまたはエッジなど、ソーシャルグラフ要素のプライバシー設定は、ソーシャルグラフ要素、ソーシャルグラフ要素に関連付けられた情報、またはソーシャルグラフ要素に関連付けられたオブジェクトが、どのようにオンラインソーシャルネットワークを使用してアクセスされ得るかを指定し得る。限定としてではなく一例として、特定の写真に対応する特定の概念ノードは、写真が、写真においてタグ付けされたユーザと写真においてタグ付けされたユーザの友達とによってのみアクセスされ得ることを指定するプライバシー設定を有し得る。特定の実施形態では、プライバシー設定は、ユーザが、そのユーザのコンテンツ、情報、またはアクションがソーシャルネットワーキングシステムによって記憶/ロギングされるか、または他のシステム(たとえば、サードパーティシステム)と共有されることをオプトインまたはオプトアウトすることを可能にし得る。本開示は、特定の様式で特定のプライバシー設定を使用することについて説明するが、本開示は、任意の好適な様式で任意の好適なプライバシー設定を使用することを企図する。
【0122】
特定の実施形態では、プライバシー設定は、ソーシャルグラフの1つまたは複数のノードまたはエッジに基づき得る。プライバシー設定は、ソーシャルグラフの1つまたは複数のエッジまたはエッジタイプについて、あるいはソーシャルグラフの1つまたは複数のノードまたはノードタイプに関して指定され得る。2つのノードを接続する特定のエッジに適用されるプライバシー設定は、ノードに対応する2つのエンティティ間の関係がオンラインソーシャルネットワークの他のユーザに可視であるかどうかを制御し得る。同様に、特定のノードに適用されるプライバシー設定は、ノードに対応するユーザまたは概念がオンラインソーシャルネットワークの他のユーザに可視であるかどうかを制御し得る。限定としてではなく一例として、第1のユーザは、ソーシャルネットワーキングシステムに対してオブジェクトを共有し得る。オブジェクトは、エッジによって第1のユーザのユーザノードに接続された概念ノードに関連付けられ得る。第1のユーザは、オブジェクトの概念ノードに接続する特定のエッジに適用されるプライバシー設定を指定し得るか、または概念ノードに接続するすべてのエッジに適用されるプライバシー設定を指定し得る。限定としてではなく別の例として、第1のユーザは、特定のオブジェクトタイプのオブジェクトのセット(たとえば、画像のセット)を共有し得る。第1のユーザは、特定のプライバシー設定を有するものとして、その特定のオブジェクトタイプの第1のユーザに関連付けられたすべてのオブジェクトに関してプライバシー設定を指定し得る(たとえば、第1のユーザによって投稿されたすべての画像が、第1のユーザの友達、および/または画像においてタグ付けされたユーザのみに可視であることを指定する)。
【0123】
特定の実施形態では、ソーシャルネットワーキングシステムは、第1のユーザが1つまたは複数のプライバシー設定を指定するのを支援するために、第1のユーザに(たとえば、ウェブページ、モジュール、1つまたは複数のダイアログボックス、または任意の他の好適なインターフェース内に)「プライバシーウィザード」を提示し得る。プライバシーウィザードは、命令、好適なプライバシー関係情報、現在のプライバシー設定、プライバシー設定の変更または確認を指定する、第1のユーザからの1つまたは複数の入力を受け付けるための1つまたは複数の入力フィールド、あるいはそれらの任意の好適な組合せを表示し得る。特定の実施形態では、ソーシャルネットワーキングシステムは、第1のユーザの現在のプライバシー設定を第1のユーザに表示し得る「ダッシュボード」機能性を第1のユーザに与え得る。ダッシュボード機能性は、任意の適切な時間において(たとえば、ダッシュボード機能性を召喚する第1のユーザからの入力に続いて、特定のイベントまたはトリガアクションの発生に続いて)第1のユーザに表示され得る。ダッシュボード機能性は、第1のユーザが、任意の時間において、任意の好適な様式(たとえば、第1のユーザをプライバシーウィザードにリダイレクトすること)で第1のユーザの現在のプライバシー設定のうちの1つまたは複数を修正することを可能にし得る。
【0124】
オブジェクトに関連付けられたプライバシー設定は、許諾されるアクセスまたはアクセスの拒否の任意の好適なグラニュラリティを指定し得る。限定としてではなく一例として、アクセスまたはアクセスの拒否は、特定のユーザ(たとえば、私のみ、私のルームメート、私の上司)、特定の分離の程度内のユーザ(たとえば、友達、友達の友達)、ユーザグループ(たとえば、ゲーミングクラブ、私の家族)、ユーザネットワーク(たとえば、特定の雇用主の従業員、特定の大学の学生または卒業生)、すべてのユーザ(「公開」)、ユーザなし(「プライベート」)、サードパーティシステムのユーザ、特定のアプリケーション(たとえば、サードパーティアプリケーション、外部ウェブサイト)、他の好適なエンティティ、あるいはそれらの任意の好適な組合せについて指定され得る。本開示は、許諾されるアクセスまたはアクセスの拒否の特定のグラニュラリティについて説明するが、本開示は、許諾されるアクセスまたはアクセスの拒否の任意の好適なグラニュラリティを企図する。
【0125】
特定の実施形態では、1つまたは複数のサーバが、プライバシー設定を施行するための許可/プライバシーサーバであり得る。データストアに記憶された特定のオブジェクトについてのユーザ(または他のエンティティ)からの要求に応答して、ソーシャルネットワーキングシステムは、オブジェクトについての要求をデータストアに送り得る。要求は、要求に関連付けられたユーザを識別し得、オブジェクトは、オブジェクトに関連付けられたプライバシー設定に基づいてユーザがオブジェクトにアクセスすることを許可されると許可サーバが決定した場合、ユーザ(またはユーザのクライアントシステム)にのみ送られ得る。要求元ユーザがオブジェクトにアクセスすることを許可されない場合、許可サーバは、要求されたオブジェクトがデータストアから取り出されることを防ぎ得るか、または要求されたオブジェクトがユーザに送られることを防ぎ得る。検索クエリコンテキストでは、問い合わせているユーザがオブジェクトにアクセスすることを許可された場合のみ、たとえば、オブジェクトについてのプライバシー設定が、オブジェクトが、問い合わせているユーザに対して表面化されること、そのユーザによって発見されること、または場合によってはそのユーザに可視であることを可能にする場合のみ、オブジェクトが検索結果として提供され得る。特定の実施形態では、オブジェクトは、ユーザのニュースフィードを通してユーザに可視であるコンテンツを表し得る。限定としてではなく一例として、1つまたは複数のオブジェクトは、ユーザの「トレンディング」ページに可視であり得る。特定の実施形態では、オブジェクトは、特定のユーザに対応し得る。オブジェクトは、特定のユーザに関連付けられたコンテンツであり得るか、あるいはソーシャルネットワーキングシステム、または他のコンピューティングシステムに記憶された特定のユーザのアカウントまたは情報であり得る。限定としてではなく一例として、第1のユーザは、オンラインソーシャルネットワークの「知り合いかも(People You May Know)」機能を通して、または第1のユーザの友達のリストを観察することによって、オンラインソーシャルネットワークの1人または複数の第2のユーザを観察し得る。限定としてではなく一例として、第1のユーザは、第1のユーザが、第1のユーザのニュースフィードまたは友達リスト中の特定の第2のユーザに関連付けられたオブジェクトを見ることを望まないことを指定し得る。オブジェクトについてのプライバシー設定が、オブジェクトが、ユーザに対して表面化されること、ユーザによって発見されること、またはユーザに可視であることを可能にしない場合、オブジェクトは、検索結果から除外され得る。本開示は、特定の様式でプライバシー設定を施行することについて説明するが、本開示は、任意の好適な様式でプライバシー設定を施行することを企図する。
【0126】
特定の実施形態では、ユーザに関連付けられた同じタイプの異なるオブジェクトは、異なるプライバシー設定を有し得る。ユーザに関連付けられた異なるタイプのオブジェクトは、異なるタイプのプライバシー設定を有し得る。限定としてではなく一例として、第1のユーザは、第1のユーザのステータス更新が公開であるが、第1のユーザによって共有される画像がオンラインソーシャルネットワーク上の第1のユーザの友達にのみ可視であることを指定し得る。限定としてではなく別の例として、ユーザは、個人ユーザ、友達の友達、フォロワー、ユーザグループ、または企業エンティティなど、異なるタイプのエンティティについて異なるプライバシー設定を指定し得る。限定としてではなく別の例として、第1のユーザは、第1のユーザによって投稿されたビデオが第1のユーザの雇用主に可視でないようにしながら、それらのビデオを観察し得るユーザのグループを指定し得る。特定の実施形態では、異なるユーザグループまたはユーザ層について異なるプライバシー設定が提供され得る。限定としてではなく一例として、第1のユーザは、第1のユーザと同じ大学に通う他のユーザが、第1のユーザのピクチャを観察し得ることを指定するが、第1のユーザの家族である他のユーザが、それらの同じピクチャを観察し得ないことを指定し得る。
【0127】
特定の実施形態では、ソーシャルネットワーキングシステムは、特定のオブジェクトタイプの各オブジェクトについての1つまたは複数のデフォルトプライバシー設定を提供し得る。デフォルト値に設定されたオブジェクトについてのプライバシー設定は、そのオブジェクトに関連付けられたユーザによって変更され得る。限定としてではなく一例として、第1のユーザによって投稿されるすべての画像が、第1のユーザの友達にのみ可視であるというデフォルトプライバシー設定を有し得、特定の画像について、第1のユーザは、画像が友達と友達の友達とに可視であるようにプライバシー設定を変更し得る。
【0128】
特定の実施形態では、プライバシー設定は、ソーシャルネットワーキングシステムが任意の目的のために第1のユーザに関連付けられた特定のオブジェクトまたは情報を受信すること、収集すること、ロギングすること、または記憶することを行い得るかどうかを、第1のユーザが(たとえば、オプトアウトすることによって、オプトインしないことによって)指定することを可能にし得る。特定の実施形態では、プライバシー設定は、特定のアプリケーションまたはプロセスが第1のユーザに関連付けられた特定のオブジェクトまたは情報にアクセスすること、それを記憶すること、または使用することを行い得るかどうかを、第1のユーザが指定することを可能にし得る。プライバシー設定は、固有のアプリケーションまたはプロセスによって、オブジェクトまたは情報がアクセスされること、記憶されること、または使用されることを、第1のユーザがオプトインすることまたはオプトアウトすることを可能にし得る。ソーシャルネットワーキングシステムは第1のユーザに特定の機能またはサービスを提供するためにそのような情報にアクセスし、ソーシャルネットワーキングシステムは任意の他の目的のためにその情報へのアクセスを有しないことがある。そのようなオブジェクトまたは情報にアクセスするか、それを記憶するか、または使用する前に、ソーシャルネットワーキングシステムは、任意のそのようなアクションを可能にする前に、もしあれば、どのアプリケーションまたはプロセスがオブジェクトまたは情報にアクセスするか、それを記憶するか、または使用し得るかを指定するプライバシー設定を提供するようにユーザにプロンプトし得る。限定としてではなく一例として、第1のユーザは、オンラインソーシャルネットワークに関係するアプリケーション(たとえば、メッセージングアプリ)を介して第2のユーザにメッセージを送信し得、そのようなメッセージがソーシャルネットワーキングシステムによって記憶されるべきでないというプライバシー設定を指定し得る。
【0129】
特定の実施形態では、ユーザは、第1のユーザに関連付けられたオブジェクトまたは情報の特定のタイプがソーシャルネットワーキングシステムによってアクセス、記憶、または使用され得るかどうかを指定し得る。限定としてではなく一例として、第1のユーザは、ソーシャルネットワーキングシステムを通して第1のユーザによって送られた画像が、ソーシャルネットワーキングシステムによって記憶され得ないことを指定し得る。限定としてではなく別の例として、第1のユーザは、第1のユーザから特定の第2のユーザに送られたメッセージが、ソーシャルネットワーキングシステムによって記憶され得ないことを指定し得る。限定としてではなくさらに別の例として、第1のユーザは、特定のアプリケーションを介して送られたすべてのオブジェクトがソーシャルネットワーキングシステムによって保存され得ることを指定し得る。
【0130】
特定の実施形態では、プライバシー設定は、第1のユーザに関連付けられた特定のオブジェクトまたは情報が特定のクライアントシステムまたはサードパーティシステムからアクセスされ得るかどうかを、第1のユーザが指定することを可能にし得る。プライバシー設定は、特定のデバイス(たとえば、ユーザのスマートフォン上の電話帳)から、特定のアプリケーション(たとえば、メッセージングアプリ)から、または特定のシステム(たとえば、電子メールサーバ)からオブジェクトまたは情報がアクセスされることを、第1のユーザがオプトインするかまたはオプトアウトすることを可能にし得る。ソーシャルネットワーキングシステムは、各デバイス、システム、またはアプリケーションに関してデフォルトプライバシー設定を提供し得、および/または、第1のユーザは、各コンテキストについての特定のプライバシー設定を指定するようにプロンプトされ得る。限定としてではなく一例として、第1のユーザは、ユーザに近接しているレストランまたは他の場所についての推奨を提供するために、ソーシャルネットワーキングシステムのロケーションサービス特徴を利用し得る。第1のユーザのデフォルトプライバシー設定は、ソーシャルネットワーキングシステムが、ロケーションベースサービスを提供するために、第1のユーザのクライアントデバイスから提供されたロケーション情報を使用し得ることを指定するが、ソーシャルネットワーキングシステムが、第1のユーザのロケーション情報を記憶すること、またはそれを任意のサードパーティシステムに提供することを行い得ないことを指定し得る。第1のユーザは、次いで、写真にジオタグを付けるために、ロケーション情報がサードパーティ画像共有アプリケーションによって使用されることを可能にするように、プライバシー設定を更新し得る。
図1A
図1B
図2A
図2B
図3
図4
図5
図6
図7
図8
図9
図10
図11