(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-21
(54)【発明の名称】ウェブコンテンツとの3D対話
(51)【国際特許分類】
G06F 3/01 20060101AFI20221214BHJP
G06F 3/04815 20220101ALI20221214BHJP
G06T 19/00 20110101ALI20221214BHJP
【FI】
G06F3/01 510
G06F3/04815
G06F3/01 570
G06T19/00 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022500566
(86)(22)【出願日】2020-09-27
(85)【翻訳文提出日】2022-03-02
(86)【国際出願番号】 US2020052976
(87)【国際公開番号】W WO2021080733
(87)【国際公開日】2021-04-29
(32)【優先日】2019-10-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】インチ, ジョシュア
(72)【発明者】
【氏名】ドノバン, ライリー
(72)【発明者】
【氏名】リャオ, ダイアナ
(72)【発明者】
【氏名】ロジャーズ, ジャスティン
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA10
5B050BA09
5B050BA13
5B050CA01
5B050DA07
5B050EA07
5B050EA26
5B050FA02
5B050FA05
5E555AA11
5E555AA27
5E555BA02
5E555BB02
5E555BB38
5E555BC18
5E555CA42
5E555CA44
5E555CB66
5E555DA08
5E555DA11
5E555DB49
5E555DB53
5E555DC25
5E555DC30
5E555DC43
5E555FA00
(57)【要約】
ユーザが、人工現実環境において表示されるブラウザからコンテンツ項目を選択し、かつ人工現実環境においてコンテンツ項目の対応するバージョンを提示することを可能にする3Dウェブ対話システムの実施形態が開示される。3Dウェブ対話システムは、選択されたコンテンツ項目が3Dコンテンツと関連付けられるかどうか、関連付けられる場合は関連付けられた3Dコンテンツのタイプに応じて種々のやり方で、選択されたコンテンツ項目のバージョンを作成可能である。例えば、3Dウェブ対話システムは、選択されたコンテンツ項目が、(a)3Dコンテンツと関連付けられていない、(b)「環境コンテンツ」と関連付けられている、または、(c)1つもしくは複数の3Dモデルと関連付けられているかどうかに応じて選択されたコンテンツ項目の種々のバージョンを作成し、かつ提示することができる。
【選択図】
図7B
【特許請求の範囲】
【請求項1】
コンピューティングシステムによって実行される時、前記コンピューティングシステムに、第1の人工現実環境においてウェブベースコンテンツ項目を提示するための動作を行わせる命令を記憶するコンピュータ可読記憶媒体であって、前記動作は、
前記第1の人工現実環境に表示されるブラウザにある前記ウェブベースコンテンツ項目に対応するユーザジェスチャを識別することと、
前記ウェブベースコンテンツ項目が、(a)3Dコンテンツと関連付けられていない、(b)パノラマ画像、パノラマ映像、3D画像、もしくは第2の人工現実環境を含む環境コンテンツと関連付けられている、または、(c)3Dモデルと関連付けられているかどうかを判断することと、
前記ウェブベースコンテンツ項目が前記環境コンテンツと関連付けられていると判断することに応答して、
前記ユーザが、前記ブラウザを操作することとは別個に前記第1の人工現実環境において操作できる、前記環境コンテンツへの部分ビューを作成すること、および、
前記環境コンテンツへの前記部分ビューが閾値を超えるようにする前記操作に応答して、新しい人工現実環境を前記環境コンテンツに基づいて表示させることと、を含む、コンピュータ可読記憶媒体。
【請求項2】
前記ユーザジェスチャは、それぞれの手が、他方の手に対して対向側でジェスチャを行う、前記ウェブベースコンテンツ項目の両手ジェスチャを含む、請求項1に記載のコンピュータ可読記憶媒体。
【請求項3】
前記ユーザジェスチャは、前記ブラウザにおいて前記ウェブベースコンテンツ項目を選択し、かつ前記ブラウザから遠ざける動きを含む、請求項1に記載のコンピュータ可読記憶媒体。
【請求項4】
前記ユーザジェスチャを識別した後、前記ウェブベースコンテンツ項目は前記ブラウザに表示されず、
前記部分ビューを解除するためのさらなるユーザジェスチャの後、前記ウェブベースコンテンツ項目は前記ブラウザに再び現れる、請求項1に記載のコンピュータ可読記憶媒体。
【請求項5】
前記ウェブベースコンテンツ項目は、前記ウェブベースコンテンツ項目が3Dコンテンツと関連付けられているとの指示と共に前記ブラウザに表示される、請求項1に記載のコンピュータ可読記憶媒体。
【請求項6】
前記ウェブベースコンテンツ項目が3Dコンテンツと関連付けられているとの前記指示は、前記ユーザが前記ウェブベースコンテンツ項目と対話する時表示される、前記ウェブベースコンテンツ項目に加えられる効果である、請求項5に記載のコンピュータ可読記憶媒体。
【請求項7】
前記新しい人工現実環境を表示させることによって、前記ユーザは、6自由度で前記新しい人工現実環境を動き回ることが可能になる、請求項1に記載のコンピュータ可読記憶媒体。
【請求項8】
前記動作は、前記新しい人工現実環境から抜けるためのユーザ入力を受信し、それに応じて、前記新しい人工現実環境を前記第1の人工現実環境と置き換えることをさらに含む、請求項1に記載のコンピュータ可読記憶媒体。
【請求項9】
前記環境コンテンツへの前記部分ビューが前記閾値を超えるようにする前記操作は、前記環境コンテンツへの前記部分ビューがサイズ閾値を超えるようにする操作を含む、請求項1に記載のコンピュータ可読記憶媒体。
【請求項10】
前記環境コンテンツへの前記部分ビューが前記閾値を超えるようにする前記操作は、前記環境コンテンツへの前記部分ビューがユーザの視野の閾値量を超えるようにする操作を含む、請求項1に記載のコンピュータ可読記憶媒体。
【請求項11】
前記動作は、
前記環境コンテンツへの前記部分ビューを解除するためのユーザジェスチャを識別することと、
前記第1の人工現実環境において、前記部分ビューが前記ブラウザの方に移動する効果を表示することと、
前記環境コンテンツへの前記部分ビューが前記第1の人工現実環境に表示されないようにすることと、をさらに含む、請求項1に記載のコンピュータ可読記憶媒体。
【請求項12】
人工現実環境においてウェブベースコンテンツ項目を提示するための方法であって、
前記人工現実環境に表示されるブラウザにある前記ウェブベースコンテンツ項目に対応するユーザジェスチャを識別することと、
前記ウェブベースコンテンツ項目が、(a)3Dコンテンツと関連付けられていない、(b)環境コンテンツと関連付けられている、または、(c)3Dモデルと関連付けられているかどうかを判断することと、
前記ウェブベースコンテンツ項目が3Dコンテンツと関連付けられていないと判断することに応答して、前記ブラウザ外の前記ウェブベースコンテンツ項目の2Dバージョンを作成することであって、前記ユーザは、前記ブラウザを操作することとは別個に前記人工現実環境において前記ウェブベースコンテンツ項目の前記2Dバージョンを操作できる、前記ウェブベースコンテンツ項目の2Dバージョンを作成することと、を含む、方法。
【請求項13】
前記ユーザが前記ウェブベースコンテンツ項目の前記2Dバージョンとの関連で行うことができる前記操作は、6自由度で移動すること、サイズ変更すること、および前記ウェブベースコンテンツ項目の前記2Dバージョンをワープすることを含む、請求項12に記載の方法。
【請求項14】
前記ウェブベースコンテンツを3D画像に変換することをさらに含む、請求項12に記載の方法。
【請求項15】
前記ウェブベースコンテンツ項目の前記2Dバージョンを解除するためのユーザジェスチャを識別することと、
前記人工現実環境において、前記ウェブベースコンテンツ項目の前記2Dバージョンが前記ブラウザの方に移動する効果を表示することと、
前記ウェブベースコンテンツ項目の前記2Dバージョンが前記人工現実環境に表示されないようにすることと、をさらに含み、
前記ユーザジェスチャを識別した後、前記ウェブベースコンテンツ項目は前記ブラウザに表示されず、
前記ウェブベースコンテンツ項目の前記2Dバージョンを解除するための前記ユーザジェスチャの後、前記ウェブベースコンテンツ項目は前記ブラウザに再び現れる、請求項12に記載の方法。
【請求項16】
人工現実環境においてウェブベースコンテンツ項目を提示するためのコンピューティングシステムであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行される時、前記コンピューティングシステムに、
前記人工現実環境に表示されるブラウザにある前記ウェブベースコンテンツに対応するユーザジェスチャを識別すること、
前記ウェブベースコンテンツ項目が3Dコンテンツと関連付けられているかどうかを判断すること、および、
前記ウェブベースコンテンツ項目が3Dモデルと関連付けられていると判断することに応答して、前記人工現実環境に前記3Dモデルを加えることであって、前記ユーザは、前記ブラウザを操作することとは別個に前記人工現実環境において前記3Dモデルを操作できる、前記3Dモデルを加えること、を含む動作を行わせる命令を記憶するメモリと、を備える、コンピューティングシステム。
【請求項17】
前記動作は、前記ウェブベースコンテンツ項目を含むウェブサイトが前記ブラウザによってロードされることに応答して、ローカルストレージにおいて前記ウェブベースコンテンツ項目と関連付けられた前記3Dモデルをバッファまたはキャッシュすることをさらに含む、請求項16に記載のシステム。
【請求項18】
前記ユーザジェスチャは、前記ブラウザにおいて前記ウェブベースコンテンツ項目を選択し、かつ前記ブラウザから遠ざける動きを含む、請求項16に記載のシステム。
【請求項19】
前記動作は、前記3Dモデルから抜けるためのユーザ入力を受信し、それに応じて、前記3Dモデルを前記人工現実環境に表示させないようにすることをさらに含む、請求項16に記載のシステム。
【請求項20】
前記動作は、前記3Dモデルから抜けるための前記ユーザ入力に応答した前記人工現実環境において、前記3Dモデルが前記ブラウザの方に移動する効果を表示することをさらに含む、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、人工現実環境における対話を対象とする。
【背景技術】
【0002】
人工現実環境におけるさまざまなオブジェクトは、「仮想オブジェクト」、すなわち、環境に現れる、コンピューティングシステムによって生成されるオブジェクトの表現である。人工現実環境における仮想オブジェクトは、頭部装着型ディスプレイ、モバイルデバイス、投影システム、または別のコンピューティングシステムによってユーザに提示可能である。いくつかの人工現実環境は、ユーザが、人工現実環境にいる間に従来のウェブサイトを見てこれと対話することを可能にする仮想ウェブサイトブラウザ(ここでは「ブラウザ」と称される)を提示可能である。例えば、ブラウザは、URLバー、進むおよび戻るボタン、ブックマークなど、従来のウェブブラウザコントロールを有するタブレットまたは2Dウィンドウとして人工現実環境において提示可能である。
【図面の簡単な説明】
【0003】
【
図1】本技術のいくつかの実装形態が動作可能であるデバイスの全体像を示すブロック図である。
【
図2A】本技術のいくつかの実装形態において使用可能である仮想現実ヘッドセットを示す配線図である。
【
図2B】本技術のいくつかの実装形態において使用可能である複合現実ヘッドセットを示す配線図である。
【
図3】本技術のいくつかの実装形態が動作可能である環境の全体像を示すブロック図である。
【
図4】いくつかの実装形態において、開示された技術を用いるシステムで使用可能である構成要素を示すブロック図である。
【
図5A】人工現実環境においてウェブベースコンテンツ項目のあるバージョンを提示するための現在の技術のいくつかの実装形態において使用されるプロセスを示すフロー図である。
【
図5B】人工現実環境においてウェブベースコンテンツ項目のあるバージョンを提示するための現在の技術のいくつかの実装形態において使用されるプロセスを示すフロー図である。
【
図5C】人工現実環境においてウェブベースコンテンツ項目のあるバージョンを提示するための現在の技術のいくつかの実装形態において使用されるプロセスを示すフロー図である。
【
図5D】人工現実環境においてウェブベースコンテンツ項目のあるバージョンを提示するための現在の技術のいくつかの実装形態において使用されるプロセスを示すフロー図である。
【
図6】人工現実環境においてウェブベースコンテンツ項目のインタラクティブな3Dバージョンを提示するための現在の技術のいくつかの実装形態において使用されるプロセスを実行する構成要素を示すブロック図である。
【
図7A】3Dコンテンツと関連付けられていないウェブベースコンテンツ項目との例示の対話を示す概念図である。
【
図7B】3Dコンテンツと関連付けられていないウェブベースコンテンツ項目との例示の対話を示す概念図である。
【
図7C】3Dコンテンツと関連付けられていないウェブベースコンテンツ項目との例示の対話を示す概念図である。
【
図8A】環境コンテンツを含む3Dコンテンツと関連付けられるウェブベースコンテンツ項目との例示の対話を示す概念図である。
【
図8B】環境コンテンツを含む3Dコンテンツと関連付けられるウェブベースコンテンツ項目との例示の対話を示す概念図である。
【
図8C】環境コンテンツを含む3Dコンテンツと関連付けられるウェブベースコンテンツ項目との例示の対話を示す概念図である。
【
図8D】環境コンテンツを含む3Dコンテンツと関連付けられるウェブベースコンテンツ項目との例示の対話を示す概念図である。
【
図9A】3Dモデルを含む3Dコンテンツと関連付けられるウェブベースコンテンツ項目との例示の対話を示す概念図である。
【
図9B】3Dモデルを含む3Dコンテンツと関連付けられるウェブベースコンテンツ項目との例示の対話を示す概念図である。
【
図9C】3Dモデルを含む3Dコンテンツと関連付けられるウェブベースコンテンツ項目との例示の対話を示す概念図である。
【発明を実施するための形態】
【0004】
ここで導入された技法は、同様の参照番号が同一のまたは機能的に同様の要素を指示する添付の図面と併せて以下の「発明を実施するための形態」を参照することによって、より良く理解され得る。
【0005】
ユーザが、人工現実環境において表示されるブラウザからコンテンツ項目を選択し、かつブラウザ外の人工現実環境においてコンテンツ項目の対応するインタラクティブなバージョンを提示することを可能にする3Dウェブ対話システムの実施形態が開示される。3Dウェブ対話システムは、選択されたコンテンツ項目が3Dコンテンツと関連付けられるかどうか、関連付けられる場合は関連付けられた3Dコンテンツのタイプに応じて種々のやり方で、選択されたコンテンツ項目のインタラクティブなバージョンを作成可能である。例えば、3Dウェブ対話システムは、選択されたコンテンツ項目が、A)3Dコンテンツと関連付けられていない、B)「環境コンテンツ」と関連付けられている、または、C)1つもしくは複数の3Dモデルと関連付けられているかどうかに応じて、選択されたコンテンツ項目の異なるインタラクティブなバージョンを作成し、かつ提示することができる。本明細書で使用されるような「環境コンテンツ」は、少なくとも部分的に没入型である人工現実システムによって提示可能であるコンテンツを指す。例えば、3D画像、パノラマ画像または映像、および人工現実環境(例えば、3D「世界」)は、ユーザがコンテンツの異なる部分を体験でき、かつユーザの視点が変わると観察地点を変えることを可能にする人工現実システムによって表示可能であるように、全て環境コンテンツである。
【0006】
動作時、3Dウェブ対話システムは、ユーザが、ウェブページを見る時、表示される画像または他のコンテンツ項目を(例えば、「掴む」ジェスチャによって)選択可能にすることができ、かつ、関連付けられたコンテンツに応じて、いくつかのやり方でこのコンテンツと対話できる。選択されたコンテンツが他の関連付けられた3Dコンテンツがない平面型画像である場合、3Dウェブ対話システムは、ブラウザの外部の選択された画像の2次元バージョンを提示できることで、ユーザはブラウザから画像を「取り出す」ことを体験できる。ブラウザの外部では、ユーザは画像を見て、この画像をサイズ変更し、これをVR空間で回転させることなどを行うことができる。ユーザが選択された画像の2次元バージョンを解除し、これをブラウザに戻し、あるいはこれを閉じる時、画像は、ウェブページのこの元の場所へとスナップすることができる。
【0007】
選択されたコンテンツが3Dモデルと関連付けられる場合、3Dウェブ対話システムは、3Dモデルを取得し、かつこれを提示できることで、ユーザはウェブページから3Dオブジェクトを取り出すことを体験可能になる。3Dウェブ対話システムはさらにまた、移動、回転、サイズ変更、コントロールのアクティブ化など、モデルと対話するための利用可能なオプション全てをユーザに与える。ユーザが3Dモデルを解除し、このモデルをブラウザに戻し、あるいはこれを閉じる時、3Dモデルはブラウザへとスナップできることで、ウェブページのこの元の場所における元のコンテンツとして再び現れる。
【0008】
選択されたコンテンツが環境コンテンツであるまたはこれと関連付けられる場合、3Dウェブ対話システムは、環境コンテンツを取得し、かつこれを提示することができることで、ユーザは部分ビューをウェブページ外の環境に引き入れることを体験することが可能になる。部分ビューは、環境の画像を示す平面または曲面であり得る。いくつかの実装形態では、平面または曲面は、環境内へのビューの静止画像であり得る。他の実装形態では、表面は「ウィンドウ」としての機能を果たすことができることで、ユーザは、このウィンドウを移動させるまたはサイズ変更する際に環境内への異なるビューを見ることが可能になる。3Dウェブ対話システムは、ユーザが、部分ビューを操作すること、例えば、このビューの形状、サイズ、およびユーザに対する向きを変更することを可能にすることができる。
【0009】
ユーザが、例えば、部分ビューを大きくするまたは自分の顔に近づけることによって自分の視野をもっと占めるように部分ビューを操作する際に、部分ビューは人工現実環境を包含し始め得る。部分ビューが占めるユーザの視野量が閾値を超える時(例えば、部分ビューが閾値サイズを超えるおよび/またはユーザの顔の閾値距離内である時)、人工現実環境は部分ビューと関連付けられた環境と置き換え可能である。環境がパノラマ画像または映像である場合、ユーザは、見回し、かつ3自由度で環境の種々の観察地点を見ることができる。環境が3D画像または全て他の環境である場合、ユーザは、6自由度で環境の種々の観察地点を見るために移動し、かつ見回すことができる。
【0010】
いくつかの実装形態では、ユーザは、新しい環境から抜けて元の環境に戻るための、ジェスチャを行うまたはコントロールを選択することができる。他の実装形態では、元の人工現実環境に戻ることによって、部分ビューを、ブラウザに戻ってウェブページのこの元の場所にすることができる。他の実装形態では、元の人工現実環境に戻ることによって、部分ビューをユーザが操作し続けることができる表面として再び示すことができる。ユーザが部分ビューを解除し、これをブラウザに戻し、あるいはこれを閉じる時、部分ビューはウェブページの元の場所へとスナップすることができる。
【0011】
開示された技術の実施形態は、人工現実システムを含むことができる、または人工現実システムと併せて実装され得る。人工現実またはextra reality(XR)は、ユーザに提示する前に何らかのやり方で調節されている現実の形態であり、これは例えば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、またはこれらの何らかの組み合わせおよび/もしくは派生物を含むことができる。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(例えば、現実世界の写真)と組み合わせられて生成されたコンテンツを含んでよい。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはこれらの何らかの組み合わせを含んでよく、これらのいずれかは(視聴者に対する3次元効果を生じさせる立体ビデオなど)単一のチャネルでまたは複数のチャネルで提示され得る。さらに、いくつかの実施形態では、人工現実は、例えば、人工現実でコンテンツを作成するために使用される、および/または人工現実で使用される(例えば、人工現実でアクティビティを行う)、アプリケーション、製品、付属品、サービス、またはこれらの何らかの組み合わせと関連付けられてよい。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続される頭部装着型ディスプレイ(HMD)、独立型HMD、モバイルデバイスもしくはコンピューティングシステム、「洞穴」式環境もしくは他の投影システム、または、1または複数の視聴者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含むさまざまなプラットフォーム上に実装されてよい。
【0012】
本明細書で使用される「仮想現実」または「VR」は、ユーザの視覚的入力がコンピュータシステムによって制御される没入型体験を指す。「拡張現実」または「AR」は、ユーザが現実世界の画像を見る前にこれらの画像がコンピュータシステムを通過しているシステムを指す。例えば、裏にカメラがあるタブレットは、現実世界の画像をキャプチャした後、カメラからタブレットの反対側の画面上にその画像を表示することができる。タブレットは、仮想オブジェクトを追加することなどによって、画像がシステムを通過する際にこの画像を処理し、かつ調節または「拡張」することができる。「複合現実」または「MR」は、ユーザの眼に入る光がコンピューティングシステムによって部分的に生成され、かつ現実世界におけるオブジェクトに反射した光を部分的に構成するシステムを指す。例えば、MRヘッドセットは、パススルーディスプレイを有する眼鏡のように成形可能であり、これによって、現実世界からの光がMRヘッドセットにおけるプロジェクタから同時に光を発する導波路を通過することができることで、MRヘッドセットはユーザが見ることができる実物体と混合させた仮想オブジェクトを提示することができる。本明細書で使用される「人工現実」、「extra reality」、または「XR」は、VR、AR、MRのいずれか、またはこれらの任意の組み合わせもしくは混成物を指す。
【0013】
いくつかの既存のXRシステムは、ウェブコンテンツを見てこれと対話するためのブラウザ(例えば、人工現実環境における2Dパネル)を含む。しかしながら、これらのXRシステムは、インターネットをブラウズするために画面を見る従来のユーザ体験を単に模倣するような、限定された機能性を提供する。これらのブラウザとのユーザ対話は、3次元での表出入力を単なるポイントアンドクリック入力に解釈することを必要とすることで、ウェブコンテンツと十分に対話するユーザの能力を大幅に限定する。ウェブコンテンツが3Dコンテンツと関連付けられていた場合でも(例えば、ウェブコンテンツがパノラマ画像である時)既存のXRシステムはフラットパネルブラウザにおける対話を可能にするだけである。3Dウェブ対話システムおよび本明細書に説明されるプロセスは、在来のXR対話技法と関連付けられたこれらの問題を克服し、かつウェブコンテンツとの対話でのより良いコントロールをユーザに提供し、より多くの機能性を与え、および既存のXRシステムにおける対話より自然で直観的であることが見込まれる。自然で直観的であるにもかかわらず、3Dウェブ対話システムおよび本明細書に説明されるプロセスは、従来のウェブ対話に類似しているものの代わりにコンピュータ化された人工現実システムに根差している。例えば、従来のブラウザにおけるウェブコンテンツまたはさらには3D環境におけるブラウザとの既存の対話は、ブラウザインターフェースから3D空間内へコンテンツを抽出するやり方を含まず、ウェブコンテンツと3Dコンテンツとの間の技術的なリンク設定、このようなコンテンツのオンデマンド取得、およびブラウザ外のこのコンテンツとの対話ははるかに少ない。例えば、既存のシステムでは、ユーザは、ブラウザから新しい環境の3Dモデルまたは部分ビューを取り出し、かつこれら自体を該システム内に引き入れて、現在の人工現実環境を新しい人工現実環境と置き換えることができない。さらに、既存のXRシステムは、ブラウザ外の3D環境においてウェブコンテンツと対話するための方法を提供せず、該ウェブコンテンツについて、これを3Dコンテンツに自動的に変換すること、またはブラウザ外で操作可能である2D表現を提供することのどちらかによる3Dコンテンツとのリンク設定が行われていない。
【0014】
いくつかの実装形態について、図を参照してより詳細に以下に論じる。
図1は、開示された技術のいくつかの実装形態が動作可能であるデバイスの全体像を示すブロック図である。デバイスは、ユーザが仮想環境において表示されるブラウザからコンテンツを取り出し、かつブラウザ外の3D空間においてコンテンツを操作することを可能にするコンピューティングシステム100のハードウェア構成要素を備えることができる。例えば、このような操作は、画像を移動させる、サイズ変更する、もしくは歪めること、ウィンドウを通して別の環境をのぞき込むこともしくはさらにはこの環境に入って現在の環境を置き換えること、または3Dオブジェクトを見て操作することを含むことができ、その間ずっと、ユーザは、要求に応じてコンテンツをブラウザに戻し、かつこれらのウェブブラウジング体験を継続することが可能になる。さまざまな実装形態では、コンピューティングシステム100は、処理を分散し、かつ入力データを共有するために有線または無線チャネル上で通信する単一のコンピューティングデバイス103または複数のコンピューティングデバイス(例えば、コンピューティングデバイス101、コンピューティングデバイス102、およびコンピューティングデバイス103)を含むことができる。いくつかの実装形態では、コンピューティングシステム100は、外部の処理またはセンサを必要とせずにユーザにコンピュータ作成または拡張体験を提供することが可能な独立型ヘッドセットを含むことができる。他の実装形態では、コンピューティングシステム100は、いくつかの処理動作がヘッドセット上で行われ、他の処理動作がコア処理構成要素にオフロードされる、ヘッドセットおよびコア処理構成要素(コンソール、モバイルデバイス、またはサーバシステムなど)などの複数のコンピューティングデバイスを含むことができる。例示のヘッドセットについて、
図2Aおよび
図2Bに関して後述する。いくつかの実装形態では、位置および環境データは、ヘッドセットに組み込まれたセンサによってのみ収集可能であるが、他の実装形態では、ヘッドセット無しのコンピューティングデバイスの1つまたは複数は、環境または位置データを追跡可能であるセンサ構成要素を含むことができる。
【0015】
コンピューティングシステム100は、1つまたは複数のプロセッサ110(例えば、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、ホログラフィック処理ユニット(HPU)など)を含み得る。プロセッサ110は、デバイスにおける単一の処理ユニットまたは複数の処理ユニットとすることができる、または複数のデバイスにわたって分散させる(例えば、コンピューティングデバイス101~103の2つ以上にわたって分散させる)ことができる。
【0016】
コンピューティングシステム100は、プロセッサ110に入力をもたらしてこれらに動きを通知する1つまたは複数の入力デバイス120を含むことができる。動きは、入力デバイスから受信される信号を解釈し、かつ通信プロトコルを使用して情報をプロセッサ110に通信するハードウェアコントローラによって仲介される。それぞれの入力デバイス120は、例えば、マウス、キーボード、タッチスクリーン、タッチパッド、ウェアラブル入力デバイス(例えば、触覚グローブ、ブレスレット、指輪、イヤリング、ネックレス、腕時計など)、カメラ(または、他の光ベースの入力デバイス、例えば、赤外線センサ)、マイクロホン、または、他のユーザ入力デバイスを含むことができる。
【0017】
プロセッサ110は、例えば、PCIバス、SCSIバス、または無線接続などの内部または外部バスを用いて他のハードウェアデバイスに結合可能である。プロセッサ110は、ディスプレイ130などのデバイスに対するハードウェアコントローラと通信可能である。ディスプレイ130は、テキストおよびグラフィックを表示するために使用可能である。いくつかの実装形態では、ディスプレイ130は、入力デバイスがタッチスクリーンである、または視線方向監視システムを備える時など、ディスプレイの一部としての入力デバイスを含む。いくつかの実装形態では、ディスプレイは入力デバイスから分離している。表示装置の例には、LCDディスプレイスクリーン、LEDディスプレイスクリーン、投影、ホログラフィック、または拡張現実ディスプレイ(ヘッドアップ表示装置または頭部装着型デバイスなど)などがある。ネットワークチップまたはカード、ビデオチップまたはカード、オーディオチップまたはカード、USB、ファイヤーワイヤーまたは他の外部デバイス、カメラ、プリンタ、スピーカ、CD-ROMドライブ、DVDドライブ、ディスクドライブなどの他のI/Oデバイス140も、プロセッサに結合可能である。
【0018】
コンピューティングシステム100は、他のローカルコンピューティングデバイスまたはネットワークノードと無線でまたは有線ベースで通信することが可能な通信デバイスを含むことができる。通信デバイスは、例えば、TCP/IPプロトコルを使用するネットワークを通して別のデバイスまたはサーバと通信できる。コンピューティングシステム100は、複数のネットワークデバイスにわたって動作を分散するために通信デバイスを利用できる。
【0019】
コンピューティングシステム100のコンピューティングデバイスのうちの1つにおいて含まれ得る、またはコンピューティングシステム100の複数のコンピューティングデバイスまたは他の外部デバイスにわたって分散可能であるプロセッサ110は、メモリ150にアクセス可能である。メモリは、揮発性または不揮発性ストレージに対する1つまたは複数のハードウェアデバイスを含み、かつ読み出し専用メモリおよび書き込み可能メモリ両方を含むことができる。例えば、メモリは、ランダムアクセスメモリ(RAM)、さまざまなキャッシュ、CPUレジスタ、読み出し専用メモリ(ROM)、および書き込み可能な不揮発性メモリ、例えば、フラッシュメモリ、ハードドライブ、フロッピーディスク、CD、DVD、磁気記憶装置、およびテープドライブなどのうちの1つまたは複数を含むことができる。メモリは、基盤となるハードウェアから切り離されて伝播する信号ではないため、メモリは非一時的なものである。メモリ150は、オペレーティングシステム162、3Dウェブ対話システム164、および他のアプリケーションプログラム166などのプログラムおよびソフトウェアを記憶するプログラムメモリ160を含むことができる。メモリ150は、例えば、プログラムメモリ160またはコンピューティングシステム100の任意の要素に提供可能である、(3Dコンテンツへのタグまたは他のリンクを有する)ブラウザコンテンツ、取得された3Dコンテンツ、2D画像の3D画像への変換、ジェスチャ識別子、環境データ、構成データ、設定、ユーザオプションまたはプリファレンスなどを含むことができるデータメモリ170も含むことができる。
【0020】
いくつかの実装形態は、多数の他のコンピューティングシステム環境または構成で動作可能とすることができる。当該技術で使用するのに適し得るコンピューティングシステム、環境、および/または構成の例は、XRヘッドセット、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップデバイス、携帯電話、ウェアラブル電子機器、ゲーム機、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能家庭電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、または上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
【0021】
図2Aは、いくつかの実装形態による仮想現実頭部装着型ディスプレイ(HMD)200の配線図である。HMD200は前部剛体205およびバンド210を含む。前部剛体205は、電子ディスプレイ245の1つまたは複数の電子ディスプレイ要素、慣性運動装置(IMU)215、1つまたは複数の位置センサ220、ロケータ225、および1つまたは複数の算出部230を含む。位置センサ220、IMU215、および算出部230は、HMD200に内蔵されてよくユーザには不可視である場合がある。さまざまな実装形態では、IMU215、位置センサ220、およびロケータ225は、3自由度(3DoF)または6自由度(6DoF)での現実世界および仮想環境におけるHMD200の移動および場所を追跡可能である。例えば、ロケータ225は、HMD200の周りの実物体上の光点を生じさせる赤外光ビームを発することができる。HMD200と一体化された1つまたは複数のカメラ(図示せず)は光点を検出できる。HMD200における算出部230は、HMD200の位置および移動を推定するために、およびHMD200を取り囲む実物体の形状および位置を識別するために、検出された光点を使用することができる。
【0022】
電子ディスプレイ245は、前部剛体205と一体化可能であり、かつ算出部230によって命令されるとユーザに画像光を提供可能である。さまざまな実施形態では、電子ディスプレイ245は単一の電子ディスプレイまたは複数の電子ディスプレイ(例えば、それぞれのユーザの眼に対するディスプレイ)であり得る。電子ディスプレイ245の例として、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリックス式有機発光ダイオードディスプレイ(AMOLED)、1つもしくは複数の量子ドット発光ダイオード(QOLED)サブピクセル、投射器(例えば、マイクロLED、レーザなど)、その他のディスプレイ、またはこれらの何らかの組み合わせが挙げられる。
【0023】
いくつかの実装形態では、HMD200は、パーソナルコンピュータ(PC)(図示せず)などのコア処理構成要素および/または1つもしくは複数の外部センサ(図示せず)に結合可能である。PCが、HMD200の場所および移動を判断するためにIMU215および位置センサ220からの出力と組み合わせて使用することができる外部センサは、(例えば、HMD200から発した光によって)HMD200を監視することができる。
【0024】
いくつかの実装形態では、HMD200は、ユーザが片手または両手で保持できるコントローラ(図示せず)などの1つまたは複数の外部デバイスと通信している可能性がある。コントローラは、これ自体のIMU装置、位置センサを有することができる、および/またはさらなる光点を発することができる。HMD200または外部センサは、これらのコントローラの光点を追跡可能である。HMD200における算出部230またはコア処理構成要素は、ユーザの手の位置および運動を監視するために、IMUおよび位置出力と組み合わせてこの追跡を使用することができる。コントローラはまた、入力をもたらし、かつ仮想オブジェクトと対話するためにユーザが作動させることができるさまざまなボタンを含むことができる。さまざまな実装形態では、HMD200はまた、視標追跡装置、オーディオシステム、さまざまなネットワーク構成要素などのさらなるサブシステムを含むことができる。いくつかの実装形態では、コントローラの代わりにまたはこれに加えて、HMD200に含まれるまたはHMD200に外付けされる1つまたは複数のカメラは、ジェスチャならびに他の手および体の運動を判断するためにユーザの手の位置および格好を監視することができる。
【0025】
図2Bは、複合現実HMD252およびコア処理構成要素254を含む複合現実HMDシステム250の配線図である。複合現実HMD252およびコア処理構成要素254は、リンク256によって指示されるように無線接続(例えば、60GHzのリンク)を介して通信可能である。他の実装形態では、複合現実システム250は、外部の計算装置はなくヘッドセットのみを含む、または複合現実HMD252とコア処理構成要素254との間の他の有線または無線接続を含む。複合現実HMD252はパススルーディスプレイ258およびフレーム260を含む。フレーム260は、ライトプロジェクタ(例えば、レーザ、L3Dウェブ対話システムなど)、カメラ、視標追跡センサ、MEMS構成要素、ネットワーク構成要素などのさまざまな電子部品(図示せず)を収容することができる。
【0026】
プロジェクタは、ユーザに媒体を表示するために、例えば、光学素子を介して、パススルーディスプレイ258に結合可能である。光学素子は、プロジェクタからユーザの眼に光を導くための、1つまたは複数の導波路アセンブリ、反射器、レンズ、鏡、コリメータ、格子などを含むことができる。画像データは、コア処理構成要素254からリンク256を介してHMD252に送信可能である。HMD252におけるコントローラは、プロジェクタから画像データを光パルスに変換可能であり、これは光学素子を介して出力光としてユーザの眼に送信可能である。出力光は、ディスプレイ258を通過する光と混合させることができることで、出力光によって現実世界に存在するかのように現れる仮想オブジェクトを提示することができる。
【0027】
HMD200と同様に、HMDシステム250は、HMDシステム250が、例えば、これ自体を3DoFまたは6DoFで追跡すること、ユーザの一部分(例えば、手、脚、頭部、または他の体の一部)を追跡すること、HMD252が移動すると静止しているように現れるように仮想オブジェクトをマッピングすること、および、ジェスチャおよび他の現実世界のオブジェクトに対して仮想オブジェクトを反応させることを可能にする、運動および位置追跡装置、カメラ、光源なども含むことができる。
【0028】
図3は、開示された技術のいくつかの実装形態が動作可能である環境300の全体像を示すブロック図である。環境300は、1つまたは複数のクライアントコンピューティングデバイス305A~Dを含むことができ、これらの例として、コンピューティングシステム100を挙げることができる。いくつかの実装形態では、クライアントコンピューティングデバイスのいくつか(例えば、クライアントコンピューティングデバイス305B)は、HMD200またはHMDシステム250とすることができる。クライアントコンピューティングデバイス305は、ネットワーク330を通した、サーバコンピューティングデバイスなどの1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作可能である。
【0029】
いくつかの実装形態では、サーバ310は、サーバ320A~Cなどの他のサーバを通してクライアント要求を受信し、かつこれらの要求の達成を調整するエッジサーバとすることができる。サーバコンピューティングデバイス310および320は、コンピューティングシステム100などのコンピューティングシステムを含むことができる。それぞれのサーバコンピューティングデバイス310および320は単一のサーバとして論理的に表示されるが、サーバコンピューティングデバイスはそれぞれ、同じまたは地理的に異なる物理的場所に位置する複数のコンピューティングデバイスを包含する分散コンピューティング環境とすることができる。
【0030】
クライアントコンピューティングデバイス305ならびにサーバコンピューティングデバイス310および320はそれぞれ、他のサーバ/クライアントデバイスに対するサーバまたはクライアントの機能を果たすことができる。サーバ310はデータベース315に接続することができる。サーバ320A~Cはそれぞれ、対応するデータベース325A~Cに接続できる。上で論じられるように、それぞれのサーバ310または320はサーバのグループに対応することができ、これらのサーバのそれぞれは、データベースを共有できるまたはこれら自体のデータベースを有することができる。データベース315および325は単一のユニットとして論理的に表示されるが、データベース315および325はそれぞれ、複数のコンピューティングデバイスを包含する分散コンピューティング環境とすることができる、これらの対応するサーバ内に位置することができる、または同じまたは地理的に異なる物理的場所に位置することができる。
【0031】
ネットワーク330は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メッシュネットワーク、ハイブリッドネットワーク、または他の有線もしくは無線ネットワークとすることができる。ネットワーク330は、インターネット、またはその他のパブリックもしくはプライベートネットワークであってよい。クライアントコンピューティングデバイス305は、有線または無線通信などによって、ネットワークインターフェースを通してネットワーク330に接続可能である。サーバ310とサーバ320との間の接続は別個の接続として示されるが、これらの接続は、ネットワーク330または別個のパブリックもしくはプライベートネットワークを含む、任意の種類のローカル、広域、有線、または無線ネットワークとすることができる。
【0032】
図4は、いくつかの実装形態において、開示された技術を用いるシステムで使用可能である構成要素400を示すブロック図である。構成要素400は、コンピューティングシステム100の1つのデバイスに含まれ得る、またはコンピューティングシステム100のデバイスの複数にわたって分散され得る。構成要素400は、ハードウェア410、メディエータ420、および専用構成要素430を含む。上で論じられるように、開示された技術を実装するシステムは、処理ユニット412、ワーキングメモリ414、入力および出力デバイス416(例えば、カメラ、ディスプレイ、IMU装置、ネットワーク接続など)、およびデータ記憶用メモリ418を含むさまざまなハードウェアを使用できる。さまざまな実装形態では、データ記憶用メモリ418は、ローカルデバイス、リモート記憶デバイスへのインターフェース、またはこれらの組み合わせの1つまたは複数とすることができる。例えば、データ記憶用メモリ418は、システムバスを通してアクセス可能な1つまたは複数のハードドライブもしくはフラッシュドライブとすることができる、または(ストレージ315または325などにおける)クラウドストレージプロバイダ、または1つまたは複数の通信ネットワークを介してアクセス可能な他のネットワークストレージとすることができる。さまざまな実装形態では、構成要素400は、クライアントコンピューティングデバイス305などのクライアントコンピューティングデバイスにおいて、またはサーバコンピューティングデバイス310または320などのサーバコンピューティングデバイス上に実装可能である。
【0033】
メディエータ420は、ハードウェア410と専用構成要素430との間のリソースを仲介する構成要素を含むことができる。例えば、メディエータ420は、オペレーティングシステム、サービス、ドライブ、基本入出力システム(BIOS)、コントローラ回路、または他のハードウェアもしくはソフトウェアシステムを含むことができる。
【0034】
専用構成要素430は、人工現実環境におけるブラウザ外の、ウェブコンテンツと関連付けられたコンテンツを提示するための動作を行うように構成されるソフトウェアまたはハードウェアを含むことができる。専用構成要素430は、XR環境434、ブラウザ436、ジェスチャモニタおよび識別子438、コンテンツタイプ識別子440、コンテンツ取得部442、ならびに、ユーザインターフェースを提供し、データを転送し、およびインターフェース432などの専用構成要素を制御するために使用可能である構成要素およびAPIを含むことができる。例えば、インターフェース432は、スレッドハンドラと対話し、かつ通信を実施するためのコールバックをセットアップするメッセンジャーによって、例えば、「クライアント」と「サービス」との間の、プロセス境界を超えたスレッド間の通信を可能にするプロセス間通信(IPC)システムを含むことができる。いくつかの実装形態では、構成要素400は、複数のコンピューティングデバイスにわたって分散されるコンピューティングシステムにある可能性がある、または専用構成要素430の1つまたは複数を実行するサーバベースアプリケーションに対するインターフェースである可能性がある。
【0035】
XR環境434は、ブラウザおよび他の2Dまたは3Dオブジェクトを表示できる任意のタイプの人工現実環境であり得る。いくつかの実装形態では、XR環境は、ユーザがブラウザ436などのアプリケーションを起動することができるランチャまたは他のメニューを提示する「ホーム」環境を含むことができる。XR環境434は、ジェスチャモニタおよび識別子438、コンテンツタイプ識別子440、およびコンテンツ取得部442などのサービスおよび他のアプリケーションも含むことができる。いくつかの実装形態では、これらの他の構成要素は、XR環境434から分離可能である、またはいくつかの構成要素はブラウザ436の一部であり得る。
【0036】
ブラウザ436は、XR環境434において実行されるウェブブラウザであり得る。さまざまな実装形態において、ブラウザ436は、ウェブコンテンツを表示する1つまたは複数の仮想パネルもしくはオブジェクトであり得る。例えば、ブラウザ436は、HTML、CSS、JavaScript、ならびに他のコード言語およびマークアップ言語を、オブジェクトおよび/またはユーザの間のレンダリング可能なコンテンツおよびアクションに解釈するプロセスであり得る。いくつかの実装形態では、ブラウザ436は、レンダリングされたコンテンツおよびスクリプトが要素の階層として作成される文書オブジェクトモデル(DOM)を使用してウェブページを作成可能である。場合によっては、ブラウザ436によって使用されるいくつかのデータオブジェクトは、DOM外に存在し得る。ブラウザ436は、コンテンツのタイプを指定する(例えば、3Dコンテンツであるかどうか、またはアドレスを有する3Dコンテンツまたは3Dコンテンツへのパスと関連付けられているかどうかを指定する)タグを含むことができるコンテンツを受信することができる。ブラウザ436は、ブラウザ436に、ブラウザ436内のコンテンツ識別子およびコンテンツ位置を、XR環境434、ジェスチャモニタおよび識別子438、コンテンツタイプ識別子440、および/またはコンテンツ取得部442に送らせるコード(例えば、ネイティブコード、プラグイン、ロードされたスクリプト、または他の命令)を有することができる。いくつかの実装形態では、このコードはまた、例えば、特殊なUI要素、または3Dコンテンツと関連付けられる(ひいては、ブラウザから人工現実環境内への選択または「取り出し」可能であることをユーザに指示する)要素に対する効果を表示するために、DOMに対して修正を行うことができる。いくつかの実装形態では、コードはまた、例えば、ブラウザから取り出される時に指示された要素を隠すまたは置き換え、かつこれらを閉じるまたはブラウザに戻す時に元の要素を示すように、他の構成要素のいずれかからのメッセージに応答することができる。
【0037】
ジェスチャモニタおよび識別子438は、(例えば、カメラ入力、IMU/位置センサなどに基づいて)ユーザの手および/またはコントローラアクションを監視し、かつこれらが、ウェブベースコンテンツ項目に対応するXR環境434において、ブラウザ436に表示されるコンテンツを選択することまたはオブジェクトを操作することに対応するジェスチャにマッチするかどうかを判断することができる。ジェスチャモニタおよび識別子438は、ジェスチャが指示するのはどのブラウザコンテンツ項目であるかを識別するために、インターフェース432を介してブラウザ436と併せて機能し得る。よって、ユーザがブラウザ436からコンテンツ項目を「取り出す」ジェスチャを行う時、これらの構成要素は、コンテンツタイプ識別子440によって識別されたコンテンツタイプに従ってフォーマットされた対応するコンテンツをXR環境434に供給するようにコンテンツ取得部442にシグナリングすることができる。
【0038】
コンテンツタイプ識別子440は、コンテンツが、環境コンテンツまたは1つもしくは複数の3Dモデルであるまたはこれらと関連付けられているかどうか、または3Dコンテンツではないかどうかを識別することができる。いくつかの実装形態では、コンテンツタイプ識別子440は、分類されるコンテンツ上、または分類されるコンテンツと関連付けられたウェブベースコンテンツ上のタグまたは他の識別子を見ることによって、これを達成することができる。他の実装形態では、コンテンツタイプ識別子440は、コンテンツ自体の符号化、構造、または他の特徴を解析することによって、または、コンテンツを、コンテンツタイプを識別するようにトレーニングされた機械学習モデルに供給することによってこれを達成可能である。コンテンツタイプ識別子440によって識別されたタイプは、XR環境434が、コンテンツ取得部442によって提供されるコンテンツをどのように表示するかを制御することができる。例えば、コンテンツタイプが平面型画像である場合、このコンテンツタイプは2Dパネルとして表示または3D画像に変換可能であり、コンテンツタイプが環境コンテンツである場合、このコンテンツタイプは、最初は環境への部分ビューとして、次いで、部分ビューが閾値(例えば、サイズ、占められる視野、ユーザまでの最小距離)を超える場合は環境全体として表示可能であり、または、コンテンツタイプが3Dモデルである場合、3Dモデルが表示可能である。
【0039】
コンテンツ取得部442は、(例えば、ウェブサイトにロードすると、またはコンテンツ項目のユーザ選択時にブラウザ436から)1つまたは複数のコンテンツの指示を受信可能であり、かつ、この指示をローカルストレージまたはリモートの場所から取得可能である。例えば、識別子は、ローカルメモリにおけるポインタ、パス、または、コンテンツ取得部442が指示されたコンテンツ項目を得ることができるリモートアドレスと関連付け可能である。
【0040】
上述される
図1~
図4においておよび以下に論じられるフロー図のそれぞれにおいて示される構成要素がさまざまなやり方で変えられる場合があることを、当業者は理解するであろう。例えば、ロジックの順序は再配置可能であり、サブステップは並列に行われる場合があり、示されるロジックは省略可能であり、他のロジックが含まれる場合があるなどがある。いくつかの実装形態では、上述される構成要素の1つまたは複数は、後述されるプロセスの1つまたは複数を実行することができる。
【0041】
(
図5、
図5続き-1、
図5続き-2、および
図5続き-3を含む)
図5は、人工現実環境においてウェブベースコンテンツ項目を提示するための現在の技術のいくつかの実装形態において使用されるプロセスを、プロセスの部分が500、525、550、および575としてラベル付けされるように示すフロー図である。いくつかの実装形態では、プロセス500は、ユーザが人工現実環境におけるブラウザを動作させると行われ得る。いくつかの実装形態では、プロセス500の部分は、例えば、ウェブサイトへの以前のビジット、またはウェブサイトへのユーザのビジットの予測から、ウェブコンテンツと関連付けられた3Dコンテンツをローカルにキャッシュすることによって、前もって行われ得る。
【0042】
ブロック502で開始すると、プロセス500は、人工現実環境におけるブラウザを表示できる。例えば、ブラウザは、ウェブサイトを提示し、かつURLバー、ナビゲーションボタン、ブックマーク、メニュー、および他の従来のウェブブラウザインターフェースなどのコントロールおよびインターフェースを含む1つまたは複数の2Dパネルであり得る。ユーザは、指を使用して表示されるリンクまたは他のコントロールを「ホバーする」または「クリックする」こと、ウェブサイトのスクロールを「ドラッグする」こと、実際のまたは仮想のキーボードなどを使用するタイプなど、さまざまなジェスチャおよび音声コマンドによって人工現実環境におけるブラウザと対話することができる。
【0043】
ユーザがウェブサイトを訪れる時、テキスト、画像、映像などのさまざまなコンテンツ項目が表示可能である。場合によっては、ウェブサイトにおけるコンテンツ項目は、3D画像もしくは映像(例えば、視野角を変更することによって画像または映像に示されるさまざまなオブジェクトの視点が変更される画像または映像)、またはパノラマ画像もしくは映像(例えば、画像または現在の映像フレームが、楕円形または円柱形などの3D形状の輪郭が付けられて、ユーザの観察地点は、ユーザが画像または映像フレームの異なる部分を見るために回転させることができる3D形状の中心に設定される)などの3Dコンテンツ項目であり得る。いくつかの実装形態では、ウェブページにおけるコンテンツ項目は、ブラウザに表示されない3Dコンテンツと関連付け可能である。このようなコンテンツ項目は、例えば、3Dコンテンツの静止画像として示され得る。さまざまな実装形態では、関連付けられた3Dコンテンツは、環境コンテンツ(例えば、パノラマ画像、パノラマ映像、3D画像、または人工現実環境)または3Dモデルなどのさまざまなタイプのうちの1つとすることができる。
【0044】
いくつかの実装形態では、ウェブページにおけるコンテンツ項目が3Dコンテンツと関連付けられる時、インジケータはコンテンツとともに提示可能である。いくつかの実装形態では、インジケータは、ウェブベースコンテンツ項目と関連して表示される、グラフィック、色、アニメーション、陰影付けなどのユーザインターフェース(UI)要素であり得る。他の実装形態では、インジケータは、ユーザが、3Dコンテンツと関連付けられたウェブベースコンテンツ項目を選択する、ホバーする、またはこれに視線を向ける時、陰影付けまたは影付き効果など、ウェブベースコンテンツ項目に加えられる効果であり得る。
【0045】
ブロック504では、プロセス500は、ブラウザに表示される現在のウェブサイトに含まれる1つまたは複数のコンテンツ項目の指示をブラウザから受信することができる。例えば、人工現実環境とブラウザとの間の、この通信および後述される他の通信は、プロセス間通信(IPC)メッセージを使用して行われ得る。ブロック504は点線で示されることで、いくつかの実装形態ではこのステップがスキップされることを指示している。いくつかの実装形態では、プラグイン、ネイティブコード、またはロードされたスクリプトは、現在のウェブサイトのコンテンツをレビューし、かつ、例えば、HTMLタグ、コンテンツ接尾辞識別子、コンテンツ項目に埋め込まれた識別子、コンテンツ自体の解析、または他のタグを使用することに基づいて、ある特定のタイプのコンテンツ項目を識別することができる。例えば、<meta>タグは、HTMLヘッダにおいて、3D環境または3Dオーディオのサウンドスケープを指示するために含まれ得、<link>タグは3Dファビコンを指定することができ、または、さらなる属性が要素に含まれ得る(例えば、「data-model=「<model_Id>」」属性または「data-environment=「<environment_Id>」」属性は、<img>要素または<video>要素などのさまざまな要素に含まれ得る、または「mediaType=「<typeID>」」属性は、<srcset>要素に含まれ得る)。
【0046】
コンテンツ項目の識別子が受信される時、これらの識別子は、例えば、識別とともに含まれるURLまたは他の場所情報に基づいて、利用可能である(例えば、キャッシュされる)場合はローカルストレージから、またはリモートデータストアから、人工現実環境内にプリフェッチ可能である(がまだ表示されていない)。人工現実環境のローカルストレージにおいてこれらのコンテンツ項目を有することで、3Dコンテンツ項目を取得することによって、該コンテンツ項目がユーザ選択時に取得される場合のみに引き起こされる可能性がある遅延が低減可能である。
【0047】
いくつかの実装形態では、3Dコンテンツと関連付けられないウェブページにおける画像または他のコンテンツ項目は、ユーザがウェブページを訪れる時にパノラマ画像または3D画像に自動的に変換され得る。いくつかの実装形態では、この変換は、全体が参照により本明細書に組み込まれる、「Image Object Extraction and In-Painting Hidden Surfaces for Modified Viewpoint Rendering」という名称の米国特許出願第15/956,177号に記載されるものなどの機械学習方法を使用して達成される。プロセス500は、人工現実環境のローカルストレージにおいてこれらの生成された3Dコンテンツ項目を記憶することができ、かつこれらを作成された対応するウェブコンテンツ項目と関連付けることができる。いくつかの実装形態では、例えば、ブラウザから画像を掴みかつ取り出すためのジェスチャなどの特定のジェスチャによって、ユーザがコンテンツ項目を選択すること(ブロック506を参照)に応答して変換が行われ得る。
【0048】
ブロック506では、プロセス500は、ブラウザに表示される選択されたコンテンツ項目に対応するユーザジェスチャを識別することができる。いくつかの実装形態では、ジェスチャはコントローラを使用して行われ得る。他の実装形態では、ジェスチャは、例えば、システムがユーザの手の場所および格好を追跡するためにカメラおよび/またはウェアラブルデバイスを使用する場合、ユーザの手によって行われ得る。いくつかの実装形態では、ブラウザの方に手を伸ばし、かつコンテンツ項目の一部分を「掴む」ジェスチャは、片手もしくは両手またはコントローラによって行われ得る。さまざまな実装形態では、「掴む」ジェスチャは、コントローラがコンテンツ項目に最も近い時にコントローラ上の特定のボタンを押すこと、親指および1本または複数本の指をくっつけること、または手を握り締めるもしくはげんこつを作ることであり得る。掴むジェスチャは、本明細書における例では、いずれの場合にも、指タップする、ピンチする、ポイントするなどの他のジェスチャも使用可能である。1つの例では、ユーザは、コンテンツ項目の1つまたは複数の隅もしくは縁を掴むことによってコンテンツ項目を選択することができる。いくつかの実装形態では、ジェスチャは、ユーザがコンテンツ項目の一部分を掴みかつこれをブラウザから遠ざける場合のプルも含むことができる。これによって、ウェブページからコンテンツ項目を取り出す体験が提供可能である。
【0049】
いくつかの実装形態では、ブラウザは、人工現実環境が、ユーザジェスチャが対応するのはどのコンテンツ項目かを判断できるように、表示されたコンテンツ項目の場所の指示を人工現実環境に提供することができる。代替的には、人工現実環境は、ブラウザが、表示されるコンテンツ項目との相互関係を持つために使用し、かつ対応するコンテンツ項目識別子によって応えることができるジェスチャ場所情報をブラウザに供給することができる。
【0050】
いくつかの実装形態では、ブラウザ外の操作のためにコンテンツ項目を選択することによって、ブラウザは、コンテンツ項目を「隠す」ことあるいは表示しないようにすること、またはブラウザ外のバージョンが閉じられるまでプレースホルダコンテンツ項目を表示することができる。これは、コンテンツ項目を隠すあるいはこれをプレースホルダと置き換えるためのブラウザのプロセスをトリガするように、掴む場所またはどのコンテンツ項目が選択されているかを指示するメッセージをブラウザに送ることによって達成可能である。
【0051】
ブロック508では、プロセス500は、ブロック506で選択されたコンテンツ項目が、A)3Dコンテンツと関連付けられていないか、B)環境コンテンツ(例えば、パノラマ画像、パノラマ映像、3D画像、または新しい人工現実環境)と関連付けられているか、またはC)1つもしくは複数の3Dモデルと関連付けられているかどうかを判断することができる。3Dコンテンツとの関連性がある場合、該コンテンツ項目は、例えば、HTMLタグ、コンテンツ接尾辞識別子、コンテンツ項目に埋め込まれた識別子、コンテンツ自体の解析、または他のタグを使用することに基づいて、ブロック504に関して上述されるように識別可能である。選択されたコンテンツ項目が3Dコンテンツと関連付けられていない場合、プロセス500は、分岐「A)」でサブプロセス5A(
図5続き-1に示される525)に移ることができる。いくつかの実装形態では、選択されたコンテンツ項目が3Dコンテンツと関連付けられていない時、プロセス500は、選択されたコンテンツ項目に対する環境コンテンツ(例えば、3D画像)を生成することができる。これによって、選択されたコンテンツ項目はここで環境コンテンツと関連付けられることになる。選択されたコンテンツ項目が環境コンテンツと以前関連付けられていたまたは現時点で関連付けられている場合、プロセス500は、分岐「B)」でサブプロセス5B(
図5続き-2に示される550)に移ることができる。選択されたコンテンツ項目が1つまたは複数の3Dモデルと関連付けられている場合、プロセス500は、分岐「C)」でサブプロセス5C(
図5続き-3に示される575)に移ることができる。
【0052】
選択されたコンテンツ項目が3Dコンテンツと関連付けられていない時、プロセス500は、分岐「A)」でブロック508からプロセス525のブロック528に移っている。ブロック528では、プロセス525は、選択されたコンテンツ項目を得、かつこれの2Dバージョンを作成することができる。ブロック504がコンテンツをプリフェッチするために行われた場合、2Dバージョンは、人工現実環境のローカルストレージにおいて既に作成されている可能性があり、プロセス525はそのローカルストレージから2Dバージョンを得ることができる。他の実装形態では、プロセス525は、プロセス525がリモートストレージから取得可能である選択されたコンテンツ項目に対する、リモート記憶場所を指示するURLまたは他のアドレスを含む識別子を有することができる。いくつかの実装形態では、ブラウザは、例えば、IPC通信を介して、選択されたコンテンツ項目を人工現実環境に供給することができる。いくつかの実装形態では、プロセス525は、プロセス525が画像を表示できる2Dパネルをブラウザ外に作成することができる。選択されたコンテンツ項目の2Dバージョンは、人工現実環境において表示できる。例えば、2Dバージョンは、ブロック506で識別されたジェスチャとの関連で表示可能である。ジェスチャが掴みおよびプルである場合のいくつかの実装形態では、これは、2Dバージョンがブラウザから取り出されているかのように現れ得る。
【0053】
ブロック530では、プロセス525は、選択されたコンテンツ項目の2Dバージョンのユーザ操作を監視することができる。例えば、ユーザは、コンテンツ項目の2Dバージョンの、サイズ変更、回転もしくは位置変更、変形、あるいはこれとの対話を行うことを可能にし得る。ユーザはまた、コンテンツ項目の2Dバージョンを「解除」あるいはこれから抜けることができる。いくつかの実装形態では、これは、ユーザの手を広げることまたはコントローラ上のボタンを解除することなどの特定のジェスチャを行うことによって達成可能である。他の実装形態では、2Dバージョンは、出口ボタンなどの仮想コントロールと関連付け可能であり、このアクティブ化は選択されたコンテンツ項目の解除を示すことができる。
【0054】
ブロック532では、プロセス525が選択されたコンテンツ項目の解除を識別していない場合、プロセス525は解除が識別されるまでブロック530に戻ることができる。解除が識別されると、プロセス525はブロック534に進むことができる。
【0055】
ブロック534では、選択されたコンテンツ項目が解除されることに応答して、プロセス525は、人工現実環境から、選択されたコンテンツ項目の2Dバージョンの表示を除去することができる。これは、この項目を人工現実環境のローカルストレージから削除すること、またはこれを隠されたオブジェクトとして設定することを含むことができる。いくつかの実装形態では、選択されたコンテンツ項目を解除することによって、2Dバージョンがブラウザに、例えば、プロセス525が2Dバージョンを隠す前に取り出されたブラウザにおける場所に、スナップするまたは戻るように見える可能性がある。ブラウザにおける選択されたコンテンツ項目が隠された、またはプレースホルダコンテンツ項目と置き換えられたいくつかの実装形態では、プロセス525は、ブラウザにおける選択されたコンテンツ項目を、ユーザが該コンテンツ項目を解除する時、またはブラウザに戻る2Dバージョンの効果を表示後に再表示するようにブラウザにシグナリングすることができる。プロセス525(およびプロセス500)はその後終了することができる。
【0056】
ブロック508から、選択されたコンテンツ項目が環境コンテンツと関連付けられる時、プロセス500は分岐「B)」でブロック508からプロセス550のブロック552に移っている。ブロック552では、プロセス550は、選択されたコンテンツ項目に対応する環境コンテンツを得、かつ環境コンテンツへの部分ビューを作成することができる。ブロック504がコンテンツをプリフェッチするために行われた場合、環境コンテンツは既に人工現実環境のローカルストレージにある可能性があり、プロセス550はそのローカルストレージから環境コンテンツを得ることができる。他の実装形態では、プロセス550は、環境コンテンツに対するURLまたは他のアドレスを含む識別子を有することができ、これをプロセス550で使用して、リモートストレージから環境コンテンツを取得することができる。いくつかの実装形態では、ブラウザは、例えば、IPC通信を介して、環境コンテンツを供給することができる。いくつかの実装形態では、プロセス550は、ブラウザ外で、2Dパネルまたは輪郭が付けられた2D形状(例えば、楕円形または円柱形の一片)として環境コンテンツへの部分ビューを作成することができる。さまざまな実装形態では、環境コンテンツへの部分ビューは、環境の一部分の静止画像として2Dパネルまたは輪郭が付けられた2D形状で示され得る、または、部分ビューが移動すると環境のビューを変更する動的な「ウィンドウ」であり得る。例えば、部分ビューは、部分ビューの位置によって指定されるカメラ角度で環境における仮想カメラから環境へのある画像を示すことができる。作成されると、プロセス550は、人工現実環境において部分ビューを表示することができる。例えば、部分ビューは、ブロック506で識別されたジェスチャとの関連で表示可能である。ジェスチャが掴みおよびプルであるいくつかの実装形態では、これは、部分ビューがブラウザから取り出されるかのように見える可能性がある。この時点で、ユーザは、ブラウザを見ること、および部分ビューをブラウザ外に移動させる操作両方を行うことができる。
【0057】
ブロック554では、プロセス550は、環境コンテンツへの部分ビューのユーザ操作を監視することができる。例えば、ユーザは、部分ビューの、サイズ変更、回転もしくは位置変更、変形、あるいはこれとの対話を行うことを可能にし得る。いくつかの実装形態では、ユーザは、部分ビューの縁または隅を掴み、かつ、この縁または隅の位置を変更すること、例えば、これらを引き離すまたはくっつける、これらを回転させることなどによって、部分ビューを操作することができる。ユーザはまた、部分ビューを「解除する」あるいはこれから抜けることができる。いくつかの実装形態では、これは、ユーザの手を広げることまたはコントローラ上のボタンを解除することなどの特定のジェスチャを行うことによって達成可能である。他の実装形態では、部分ビューは、出口ボタンなどの仮想コントロールと関連付け可能であり、このアクティブ化は部分ビューの解除を示すことができる。
【0058】
ブロック556では、プロセス550が部分ビューの解除を識別していない場合、プロセス550はブロック558に進むことができる。解除が識別されると、プロセス550はブロック566に進むことができる。ブロック558では、プロセス550は、部分ビューの操作によって部分ビューが閾値を超えたかどうかを判断することができる。プロセス550は、部分ビューの合計サイズ、(距離が最小距離を下回っているような、閾値を「上回る」可能性がある)部分ビューとユーザの顔との間の距離、または、部分ビューが占めるユーザの視野量など、この判断についてのさまざまな閾値を使用することができる。いくつかの実装形態では、閾値は、部分ビューが(仮想空間で)2フィートより大きいまたはユーザの顔の10インチ以内である場合に閾値を超えるかを判断することなど、これらの組み合わせ、またはこれらの間の代替策とすることができる。閾値の例は、部分ビューが、対角線が18インチ、24インチ、または36インチを上回る、ユーザの顔の6インチ、10インチ、または18インチ以内である、または、ユーザの視野の30パーセント、50パーセント、または75パーセント以上を占める場合を含む。他の閾値も使用可能である。部分ビューが閾値を超える場合、プロセス550はブロック560に進むことができる。その他の場合、プロセス550はブロック554に戻って、部分ビューのユーザ操作を監視し続けることができる。
【0059】
ブロック560では、部分ビューが閾値を超えることに応答して、プロセス550は環境コンテンツに基づいて新しい人工現実環境を表示することができる。例えば、環境コンテンツがパノラマ画像または映像である場合、プロセス550は、ユーザが、パノラマ画像または映像全体が表示される楕円形または円柱形の中心に位置するようにすることができることで、ユーザは自分の視線方向を変更することによってパノラマ映像または画像の異なる部分を見ることが可能になる。別の例として、環境コンテンツが3D画像または全環境、例えば、仮想オブジェクトを含むことができる仮想エリアである場合、プロセス550は、現在の環境を新しい仮想エリアと置き換え可能であることで、ユーザは、例えば、3または6自由度で、新しい仮想エリアを見ることが可能になる。さまざまな実装形態では、新しい人工現実環境はブラウザを示すことができる、または、ブラウザは以前の人工現実環境にとどまることができる。いくつかの実装形態では、ブロック552で部分ビューを作成する代わりに、プロセス550は、ユーザを新しい人工現実環境に即座に入れること、例えば、環境コンテンツを得た後ブロック508からブロック560に直接進むことによって、開始することができる。
【0060】
ブロック562では、プロセス550は、ユーザが新しい人工現実環境から抜けたどうかを判断することができる。例えば、ユーザは、特定のジェスチャを行うこと、コントロール上のボタンを押すこと、仮想コントロールをアクティブ化することなどによって、人工現実環境から抜けることを可能にしてよい。いくつかの実装形態では、ユーザは、新しい人工現実環境にいる間部分ビューを掴むジェスチャを保持し続けることができ、かつ部分ビューを解除することによって新しい人工現実環境から抜けることができる。ユーザが新しい人工現実環境から抜けるまで、プロセス550は、ブロック562からブロック560に戻ることができ、ここで、プロセス550は新しい人工現実環境を表示し続けることになる。
【0061】
ユーザが新しい人工現実環境から抜けると、プロセス550はブロック564に進むことができ、ここで、新しい人工現実環境を表示することを停止し、かつ以前の人工現実環境を代わりに表示することになる。いくつかの実装形態では、新しい人工現実環境から抜けると、環境コンテンツへの部分ビューは再び現れ得る(例えば、ユーザの片手もしくは両手、または1つもしくは複数のコントローラとの関連で位置付けられる)ことで、ユーザは部分ビューをさらに制御および操作することが可能になる。プロセス550は、ブロック554に戻ることによって部分ビューの操作をさらに監視することができる。代替的な実装形態では、破線568で示されるように、ブロック554に戻る代わりに、新しい人工現実環境から抜けることはまた、部分ビューを解除するとして解釈可能であるため、プロセス550はブロック566に進む。
【0062】
ブロック556またはブロック564のどちらかから入ったブロック566では、プロセス550は、人工現実環境から部分ビューの表示を除去可能である。これは、人工現実環境のローカルストレージから部分ビューを削除すること、または部分ビューを隠されたオブジェクトとして設定することを含むことができる。いくつかの実装形態では、人工現実環境から部分ビューを除去する前に、プロセス550は、部分ビューを、ブラウザに、例えば、取り出されたブラウザにおける場所にスナップするまたは戻るように見えるようにすることが可能である。ブラウザにおける選択されたコンテンツ項目が隠されたまたはプレースホルダコンテンツ項目と置き換えられたいくつかの実装形態では、プロセス550は、ブラウザにおける選択されたコンテンツ項目を、ユーザが部分ビューを解除する時またはブラウザに戻る部分ビューの効果を表示後に再表示するようにブラウザにシグナリングすることができる。プロセス550(およびプロセス500)はその後終了することができる。
【0063】
ブロック508から、選択されたコンテンツ項目が1つまたは複数の3Dモデルと関連付けられる時、プロセス500は、分岐「C)」でブロック508からプロセス575のブロック578に移っている。ブロック578では、プロセス575は、選択されたコンテンツ項目に対応する3Dモデル、および人工現実環境に対する3Dモデルを得ることができる。ブロック504がコンテンツをプリフェッチするために行われた場合、3Dモデルは、人工現実環境のローカルストレージに既にある可能性があり、プロセス575はローカルストレージからこれら3Dモデルを得ることができる。他の実装形態では、プロセス575は、プロセス575がリモートストレージから取得可能である3Dモデルに対するURLまたは他のアドレスを含む識別子を有することができる。いくつかの実装形態では、ブラウザは、例えば、IPC通信を介して、3Dモデルを供給することができる。得られると、プロセス575は3Dモデルを人工現実環境にロードすることができる。
【0064】
プロセス575の残りは、1つまたは複数のモデルのそれぞれに対して、またはグループとしてのモデルに対して別個に行われ得る。ブロック580では、プロセス575は、3Dモデルのうちの1つのユーザ操作を監視することができる。例えば、ユーザは、関連のコントロールの、サイズ変更、回転もしくは位置変更、変形、アクティブ化を行う、あるいは3Dモデルに利用可能ないずれの対話も行うことが可能であってよい。ユーザは、3Dモデルを「解除」あるいはこれから抜けることができる。いくつかの実装形態では、これは、ユーザの手を広げることまたはコントローラ上のボタンを解除することなどの特定のジェスチャを行うことによって達成可能である。他の実装形態では、3Dモデルは、出口ボタンなどの仮想コントロールと関連付け可能であり、このアクティブ化は3Dモデルの解除を示すことができる。
【0065】
ブロック582では、プロセス575が3Dモデルの解除を識別していない場合、プロセス575は解除が識別されるまでブロック580に戻ることができる。解除が識別されると、プロセス575はブロック584に進むことができる。
【0066】
ブロック584では、3Dモデルが解除されることに応答して、プロセス575は、人工現実環境から3Dモデルの表示を除去することができる。これは、この3Dモデルを人工現実環境のローカルストレージから削除すること、またはこれを隠されたオブジェクトとして設定することを含むことができる。いくつかの実装形態では、3Dモデルを解除することによって、3Dモデルがブラウザに、例えば、プロセス575が3Dモデルを隠す前に取り出されたブラウザにおける場所に、スナップするまたは戻るようにすることができる。ブラウザにおける選択されたコンテンツ項目が隠された、またはプレースホルダコンテンツ項目と置き換えられたいくつかの実装形態では、プロセス575は、ブラウザにおける選択されたコンテンツ項目(または、そのモデルと関連付けられた選択されたコンテンツ項目の一部分)を、ユーザが3Dモデルを解除する時またはブラウザに戻る3Dモデルの効果を表示後に再表示するようにブラウザにシグナリングすることができる。プロセス575(およびプロセス500)はその後終了することができる。
【0067】
図6は、人工現実環境においてウェブベースコンテンツ項目を提示するための現在の技術のいくつかの実装形態において使用されるプロセスを実行する構成要素の例600を示すブロック図である。例600は、人工現実(XR)環境602と、XR環境602に表示される画像612を有するウェブブラウザ604と、ジェスチャモニタ606と、選択可能コンテンツストア608と、コンテンツサーバまたはデータベース(DB)610と、コンテンツのインタラクティブな3Dバージョン614とを含む。
【0068】
例600は、XR環境602に表示されるブラウザ604で開始する。ユーザは、画像612を含む表示されたウェブサイトを見てこれと対話するためにブラウザを動作させることができる。ウェブサイトがロードされる時、ブラウザ604はステップ652において、ウェブサイトにおいて、画像612を含むコンテンツ項目のリストを指示するIPCメッセージを送る。IPCメッセージに応答して、選択可能コンテンツストア608は、コンテンツ項目のリストを解決して関連付けられたタグに基づくタイプにし、および、3D環境に含めるためのコンテンツ項目の少なくともいくつかに対応する3Dコンテンツを(例えば、ステップ654および656において)取得し、かつ記憶する。例えば、その他の場合は3Dコンテンツと関連付けられないウェブサイトからの画像は、ブラウザまたはリモートソースから受信され、かつ2Dバージョン(例えば、2Dパネル)にまたは3D画像に変換可能であり、コンテンツ項目は環境コンテンツ(例えば、パノラマ画像もしくは映像、3D画像、または環境)と関連付けられる場合、関連付けられた環境コンテンツは取得可能であり、または、コンテンツ項目が3Dモデルと関連付けられる場合、関連付けられた3Dモデルは取得可能である。
【0069】
例600では、ジェスチャモニタ606がブラウザとの関連でユーザジェスチャを監視することを続けることができる。ジェスチャがステップ652からのIPCメッセージに列挙された(例えば、示されない、ブラウザ604によって提供されたコンテンツ項目位置データに基づいて判断された)コンテンツ項目のうちの1つを選択する時、例600は、ステップ658において、選択可能コンテンツストア608から、ブラウザ外の3D環境において表示可能である対応するコンテンツを選択することができる。この場合、ユーザは、ブラウザ内から画像612を「掴み」、かつ「プル」ジェスチャを行っている。それに応じて、選択可能コンテンツストア608は、画像612に対応するコンテンツのインタラクティブな3Dバージョン614をXR環境602に提供することができ、XR環境602は該コンテンツをプルジェスチャに対して表示する。よって、ユーザには、ユーザがブラウザからコンテンツを取り出したかのように見える。ジェスチャモニタ606はまた、画像選択の指示をブラウザ604に提供可能であることで、ブラウザ604に、ユーザがコンテンツの3Dバージョン614を解除するまで画像612を空のボックスと置き換えさせる。その時点で、XR環境は、(最初に、コンテンツのインタラクティブな3Dバージョン614がブラウザ604へとスナップしているかのような効果を示して)コンテンツのインタラクティブな3Dバージョン614を隠し、かつ、空のボックスを元の画像612と置き換えるようにブラウザ604にシグナリングすることができる。
【0070】
図7A~
図7Cは、以前に3Dコンテンツと関連付けられなかったウェブベースコンテンツ項目との例示の対話を示す概念図である。
図7Aは、例えば、ユーザが、人工現実環境に表示されるブラウザ706の方に手を伸ばし、かつ画像704の縁近くを把持することによってブラウザ706によって表示される画像704を選択するジェスチャ702を示す。
図7Bは、ユーザがブラウザから画像を「取り出す」ジェスチャを示す。人工現実環境は、このジェスチャに応答して、画像704を示す2Dパネル732を作成し、この2Dパネルはユーザの手に取り付けられる。人工現実環境はまた、ブラウザ706における画像704を空のボックス734と置き換えるためのメッセージをブラウザ706に送る。
図7Cは、ユーザが、2Dパネル734の別の縁を掴み、かつこれを2Dパネル734の反対側の縁を保持しているジェスチャ702から遠ざける別のジェスチャ762を行うことで、人工現実環境で2Dパネル734を拡大させることを示す。
【0071】
図8A~
図8Dは、環境コンテンツ(この場合、パノラマ画像)を含む3Dコンテンツと関連付けられるウェブベースコンテンツ項目との例示の対話を示す概念図である。
図8Aは、人工現実環境に表示されるブラウザ806の方に手を伸ばし、かつ画像804の両側の縁を掴むことによってブラウザ806によって表示される画像804を選択するユーザの両手ジェスチャ802を示す。
図8Bは、ユーザがジェスチャ802によってブラウザ806から画像804を取り出すことに応答して作成された画像804と関連付けられた環境コンテンツへの部分ビュー832をユーザが保持することを示す。ユーザは、環境への部分ビュー832を拡大するように、部分ビューの両側の縁を引き離すことによってジェスチャ802を拡張している。この時点で、環境への部分ビュー832は、依然、ユーザから閾値距離を下回って離れている。この例では、環境への部分ビュー832は、パノラマ画像への「ウィンドウ」であるため、ユーザは、パノラマ画像の異なる部分を見るために環境への部分ビュー832を異なる方向に移動させることができる。
図8Cは、ユーザがジェスチャ802を保持し続ける時点を示すが、ユーザ自身までの閾値距離内の環境への部分ビュー832を取り出していることで、環境への部分ビュー832を(矢印862によって指示されるように)広げて人工現実環境全体を包含するようにする。ユーザはここで、パノラマ画像全体が表示される楕円体(例えば、球体)を包含する。ユーザは、自分の頭を3自由度で移動させて、ジェスチャ802を移動させる必要なくパノラマ画像の異なる部分を見ることができる。
図8Dは、ユーザが、ジェスチャ802を解除するように、自分の手を開くことによるジェスチャ882を行った時点を示す。これによって、人工現実環境が
図8Cで入った環境から抜けて、ブラウザ806を含む環境に戻り、および、環境への部分ビュー832がブラウザ806へとスナップする(アクション線884によって示される)効果を表示する。ブラウザ806はさらにまた、プレースホルダボックス886を元の画像804と置き換えることができる。
【0072】
図9A~
図9Cは、3Dモデルを含む3Dコンテンツと関連付けられたウェブベースコンテンツ項目との例示の対話を示す概念図である。
図9Aは、例えば、ユーザが、人工現実環境に表示されるブラウザ906の方に手を伸ばし、かつ、画像904の一部分を把持することによってブラウザによって表示される画像904を選択するジェスチャ902を示す。
図9Bは、ユーザがジェスチャ902を保持している間ブラウザ906から画像904を取り出すことに応答して作成された画像904と関連付けられた3Dモデル932をユーザが保持することを示す。人工現実環境はまた、ブラウザ906における画像904を空のボックス934と置き換えるためのメッセージをブラウザ906に送る。ユーザはここで、ブラウザ906外の3D空間においてモデル932を操作することができ、例えば、ジェスチャ902を保持している間にモデル932を回転もしくは移動させる、または、3Dモデル932と関連して表示されるコントロール936をアクティブにする。
図9Cは、ユーザが、ジェスチャ902を解除するように、自分の手を開くことによるジェスチャ962を行った時点を示す。これによって、人工現実環境は、3Dモデル932がブラウザ906に戻るようにした後隠されるようにし、かつユーザが3Dモデル932を解除したことを指示するメッセージをブラウザ906に送るようにする。ブラウザ906はさらにまた、プレースホルダボックス934を元の画像904と置き換えることができる。
【0073】
本明細書における、「実装形態」(例えば、「いくつかの実装形態」、「さまざまな実装形態」、「1つの実装形態」、「一実装形態」など)への言及は、実装形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも1つの実装形態に含まれることを意味する。本明細書におけるさまざまな場所にこれらの語句が現れることは、全てが必ずしも同じ実装形態に言及しているわけでもないし、他の実装形態を相互に除外する別個のまたは代替的な実装形態であるわけでもない。さらに、一部の実装形態によって示されるが他の実装形態によって示されない場合があるさまざまな特徴が記載される。同様に、一部の実装形態にとっては必要条件であるが、他の実装形態にとってはそうでないさまざまな必要条件が記載される。
【0074】
本明細書で使用される際、閾値を上回ることは、比較中の項目に対する値が指定された他の値を上回ること、比較中の項目がある特定の指定された数の項目の中で最も大きい値を有すること、または比較中の項目が指定された最高のパーセンテージ値内の値を有することを意味する。本明細書で使用される際、閾値を下回ることは、比較中の項目に対する値が指定された他の値を下回ること、比較中の項目がある特定の指定された数の項目の中で最も小さい値を有すること、または比較中の項目が指定された最低のパーセンテージ値内の値を有することを意味する。本明細書で使用される際に、閾値内であることは、比較中の項目に対する値が2つの指定された他の値の間にあること、比較中の項目が指定された数の項目の中間にあること、または比較中の項目が中間の指定されたパーセンテージ範囲内の値を有することを意味する。高いまたは重要ではないなどの相対的な用語は、別段定義されない時、値を割り当て、かつその値が確立された閾値とどのように比較されるかを判断するものと理解可能である。例えば、語句「速い接続を選択すること」は、その接続速度に対応して割り当てられた値を有し、その割り当てられた値が閾値を超える接続を選択することを意味するように理解可能である。
【0075】
本明細書で使用される際、「または」という語は、一連の項目の任意の可能な置換を指す。例えば、「A、BまたはC」という語句は、A、B、C、AおよびB、AおよびC、BおよびC、A、B、およびC、またはAおよびA、B、B、およびC、A、A、B、C、およびCなどの複数の任意の項目のいずれかなど、A、B、Cの少なくとも1つ、またはこれらの任意の組み合わせを指す。
【0076】
構造上の特徴および/または方法論的動作に特有の言語で主題について説明してきたが、添付の特許請求の範囲で定義される主題が必ずしも上述される具体的な特徴または動作に限定されないことは理解されたい。具体的な実施形態および実装形態が例示の目的で本明細書に説明されているが、実施形態および実装形態の範囲から逸脱することなく、さまざまな修正がなされ得る。上述される具体的な特徴および動作は、以下に続く特許請求の範囲を満たす例示の形態として開示される。それ故に、実施形態および実装形態は、添付の特許請求の範囲によって限定される場合を除いて限定されない。
【0077】
上で述べられるいずれの特許、特許出願、および他の参考文献も、参照により本明細書に組み込まれる。必要に応じて、上述されるさまざまな参考文献のシステム、機能、および概念を用いてさらなる実装形態を提供するために態様が修正され得る。参照により組み込まれる文献の記述または主題が本出願の記述または主題と矛盾する場合、本出願が優先されるものとする。
【国際調査報告】