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

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

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

<>
  • 特許-3次元環境オーサリングおよび生成 図1
  • 特許-3次元環境オーサリングおよび生成 図2
  • 特許-3次元環境オーサリングおよび生成 図3
  • 特許-3次元環境オーサリングおよび生成 図4
  • 特許-3次元環境オーサリングおよび生成 図5
  • 特許-3次元環境オーサリングおよび生成 図6
  • 特許-3次元環境オーサリングおよび生成 図7A
  • 特許-3次元環境オーサリングおよび生成 図7B
  • 特許-3次元環境オーサリングおよび生成 図8
  • 特許-3次元環境オーサリングおよび生成 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-05
(45)【発行日】2022-12-13
(54)【発明の名称】3次元環境オーサリングおよび生成
(51)【国際特許分類】
   G06T 19/20 20110101AFI20221206BHJP
   A63F 13/63 20140101ALI20221206BHJP
【FI】
G06T19/20
A63F13/63
【請求項の数】 12
(21)【出願番号】P 2019558437
(86)(22)【出願日】2018-04-11
(65)【公表番号】
(43)【公表日】2020-06-18
(86)【国際出願番号】 US2018026994
(87)【国際公開番号】W WO2018200199
(87)【国際公開日】2018-11-01
【審査請求日】2021-04-09
(31)【優先権主張番号】62/489,904
(32)【優先日】2017-04-25
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/636,125
(32)【優先日】2017-06-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100120112
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(72)【発明者】
【氏名】スリニバサン,ビディヤ
(72)【発明者】
【氏名】ペレス,カルロス・ジー
(72)【発明者】
【氏名】マーシャル,コルトン・ブレット
(72)【発明者】
【氏名】ハンダ,アニケット
(72)【発明者】
【氏名】マルティネス,モリーナ・ハロルド・アンソニー
【審査官】村松 貴士
(56)【参考文献】
【文献】カナダ国特許出願公開第02347290(CA,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00 - 19/20
G06F 3/01
G06F 3/048 - 3/04895
A63F 13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、
命令を記憶するメモリと
を備えるシステムであって、前記命令が、前記少なくとも1つのプロセッサにより実行されるときに、前記システムに動作のセットを実施させ、動作の前記セットは、
環境データファイルを検索することであって、前記環境データファイルは、3次元(3D)仮想現実環境に対する複数のモデルを含み、3D仮想現実環境内でユーザの観点は前記3D仮想現実環境を目視するために使用される、検索することと、
前記3D仮想現実環境内で、前記複数のモデルのうちの第1のモデルの第1の3D表現を生成することであって、前記第1のモデルは、出口アンカーポイントと関連付けられる、生成することと、
ユーザインターフェイス要素を、前記出口アンカーポイントの付近で位置決めすることと、
前記ユーザインターフェイス要素が選択されると、前記出口アンカーポイントにおいて、前記第1のモデルに接続することができるモデルのタイプを示すメニューを表示することと、
前記メニューから、前記複数のモデルのうちの第2のモデルのユーザ選択を受信することと、
前記環境データファイルが、前記複数のモデルのうちの前記第2のモデルが前記第1のモデルの近隣であるということを指示すると決定することであって、前記第2のモデルは、入口アンカーポイントと関連付けられる、決定することと、
前記第2のモデルが前記第1のモデルの近隣であると決定することに基づいて、前記第2のモデルの第2の3D表現を生成することであって、前記第2のモデルの前記第2の3D表現は、前記第2のモデルと関連付けられる前記入口アンカーポイントが、前記第1のモデルの入口ポイントに近接して位置決めされるように、前記3D仮想現実環境内で位置決めされ、それによって前記ユーザの観点から前記3D仮想現実環境内で目視したときに、前記第1の3D表現および前記第2の3D表現が連続的なモデルとして現れるようにさせる、生成することと
を含む、システム。
【請求項2】
請求項1に記載のシステムであって、
前記第1のモデルの前記第1の3D表現を生成することは、
前記環境データファイルが、前記第1のモデルのコンテンツポイントと関連付けられるコンテンツアイテムを指定すると決定することと、
前記第1の3D表現内の前記第1のモデルの前記コンテンツポイントにおいて前記コンテンツアイテムの表現を生成することと
を含む、システム。
【請求項3】
請求項2に記載のシステムであって、前記コンテンツアイテムの表現を生成することは、前記コンテンツアイテムと関連付けられるリモートリソースに対する要求を生成することを含む、システム。
【請求項4】
請求項1に記載のシステムであって、
動作の前記セットは、
ユーザデバイスのディスプレイ上で前記第1の3D表現の少なくとも一部分および前記第2の3D表現の少なくとも一部分を提示すること
をさらに含む、システム。
【請求項5】
請求項4に記載のシステムであって、
前記第1のモデルはユーザの観点に対する初期位置を指示し、前記第1の3D表現の少なくとも一部分および前記第2の3D表現の少なくとも一部分は、前記ユーザの観点に対する前記初期位置から提示される、システム。
【請求項6】
請求項1に記載のシステムであって、前記環境データファイルを検索することは、リモートデータストアに対して前記環境データファイルの少なくとも一部分を要求することを含む、システム。
【請求項7】
環境データファイルを使用して3次元(3D)仮想現実環境を生成するためのコンピュータ実装方法であって、
前記環境データファイルを検索するステップであって、前記環境データファイルは、3D仮想現実環境に対する複数のモデルを含み、3D仮想現実環境内でユーザの観点は前記3D仮想現実環境を目視するために使用される、検索するステップと、
前記3D仮想現実環境内で、前記複数のモデルのうちの第1のモデルの第1の3D表現を生成するステップであって、前記第1のモデルは、出口アンカーポイントと関連付けられる、生成するステップと、
ユーザインターフェイス要素を、前記出口アンカーポイントの付近で位置決めするステップと、
前記ユーザインターフェイス要素が選択されると、前記出口アンカーポイントにおいて、前記第1のモデルに接続することができるモデルのタイプを示すメニューを表示するステップと、
前記メニューから前記複数のモデルのうちの第2のモデルのユーザ選択を受信するステップと、
前記環境データファイルが、前記複数のモデルのうちの前記第2のモデルが前記第1のモデルの近隣であるということを指示すると決定するステップであって、前記第2のモデルは、入口アンカーポイントと関連付けられる、決定するステップと、
前記第2のモデルが前記第1のモデルの近隣であると決定することに基づいて、前記第2のモデルの第2の3D表現を生成するステップであって、前記第2のモデルの前記第2の3D表現は、前記第2のモデルと関連付けられる前記入口アンカーポイントが、前記第1のモデルの入口ポイントに近接して位置決めされるように、前記3D仮想現実環境内で位置決めされ、それによって前記ユーザの観点から前記3D仮想現実環境内を目視したときに、前記第1の3D表現および前記第2の3D表現が連続的なモデルとして現れるようにさせる、生成するステップと
を含む、方法。
【請求項8】
請求項に記載の方法であって、前記第1のモデルの前記第1の3D表現を生成するステップは、
前記環境データファイルが、前記第1のモデルのコンテンツポイントと関連付けられるコンテンツアイテムを指定すると決定するステップと、
前記第1の3D表現内の前記第1のモデルの前記コンテンツポイントにおいて前記コンテンツアイテムの表現を生成するステップと
を含む、方法。
【請求項9】
請求項に記載の方法であって、前記コンテンツアイテムの表現を生成するステップは、前記コンテンツアイテムと関連付けられるリモートリソースに対する要求を生成するステップを含む、方法。
【請求項10】
請求項に記載の方法であって、
ユーザデバイスのディスプレイに前記第1の3D表現の少なくとも一部分および前記第2の3D表現の少なくとも一部分を提示するステップをさらに備える、方法。
【請求項11】
請求項1に記載の方法であって、前記第1のモデルはユーザの観点に対する初期位置を指示し、前記第1の3D表現の少なくとも一部分および前記第2の3D表現の少なくとも一部分は、前記ユーザの観点に対する前記初期位置から提示される、方法。
【請求項12】
請求項に記載の方法であって、前記環境データファイルを検索するステップは、リモートデータストアに対して前記環境データファイルの少なくとも一部分を要求するステップを含む、方法。
【発明の詳細な説明】
【背景技術】
【0001】
[0001]パブリッシングサイトは、ウェブ上で情報を共有および消費するための主要な手立てであり続けている。ウェブサイト作成を大衆的なものにする少数のサービスが存在する。しかしながら、3次元(3D)コンテンツの最大限の潜在能力を現実化するサイトを作成することの問題を解決するためのサービスは存在しない。3Dコンテンツを容易に作成および共有するための取組みが増大していることもあり、3Dコンテンツのオーサリングおよび/または消費を手助けする、ツールおよび/またはサービスに対する必要性がある。
【0002】
[0002]これらおよび他の一般的な考察に関して、実施形態を説明している。さらには、比較的に具体的な問題について論じているが、実施形態は、背景技術において特定される具体的な問題を解決することに制限されるべきでないということを理解すべきである。
【発明の概要】
【課題を解決するための手段】
【0003】
[0003]本開示の態様は、3次元(3D)環境オーサリングおよび生成に関する。例において、3D環境を、1つまたは複数のモデルを使用してオーサリングすることがあり、モデルの2次元(2D)表現を、オーサリングアプリケーションを使用して選択および位置決めすることがある。モデルは、3D環境をレンダリングするときに、モデルを1つまたは複数の他のモデルと一体にスティッチ(stitch)するために使用されることがある、1つまたは複数のアンカーポイント(anchor point)を含むことがある。別の例において、モデルは、3D環境の中でコンテンツアイテムを位置決めするために使用されることがある、1つまたは複数のコンテンツポイントを含むことがある。環境データファイルを、1つまたは複数のモデル、および、コンテンツポイントと関連付けられるコンテンツに基づいて生成し、それによって、他のコンピューティングデバイスに配布してもよいファイルを作成することがある。
【0004】
[0004]ビューアアプリケーションを、環境データファイルに基づいて3D環境を生成するために使用することがある。例として、ビューアアプリケーションは、環境データファイルにより指示されるモデル(models indicated)にアクセスし、モデルの、外見上は連続的な組み合わせを作成するように、スティッチング動作(stitching operation)に基づいてモデルをレンダリングすることがある。ビューアアプリケーションは、さらには、モデルのコンテンツポイントに基づいて、3D環境にコンテンツを取り込むことがある。よって、ユーザが潜在的に、以前の3D設計経験が、ほとんどない場合からまったくない場合でも、本明細書において開示する態様によって、3D環境を容易にオーサリングすることが可能であり得る。
【0005】
[0005]本概要は、発明を実施するための形態において下記でさらに説明する、選択された概念を単純化された形式で紹介するために提供されている。本概要は、請求される主題の主要な特徴または本質的な特徴を識別させる意図はなく、本概要を、請求される主題の範囲を制限するために使用する意図もない。
【0006】
[0006]非制限的および非網羅的な例を、後に続く図を参照して説明する。
【図面の簡単な説明】
【0007】
図1】[0007]3次元環境オーサリングおよび生成のための例システムの概観を示す図である。
図2】[0008]2次元表現を使用して3次元環境をオーサリングするための方法例の概観を示す図である。
図3】[0009]3次元環境を生成するための方法例の概観を示す図である。
図4】[0010]2次元モデルを使用して3次元環境をオーサリングするための例ユーザインターフェイスの概観を示す図である。
図5】[0011]3次元環境の中の例ビューを示す図である。
図6】[0012]用いて本開示の態様が実践されることがある、コンピューティングデバイスの例物理的構成要素を示すブロック線図である。
図7A】[0013]用いて本開示の態様が実践されることがある、モバイルコンピューティングデバイスの、単純化されたブロック線図である。
図7B】[0013]用いて本開示の態様が実践されることがある、モバイルコンピューティングデバイスの、単純化されたブロック線図である。
図8】[0014]本開示の態様が実践されることがある、分散型コンピューティングシステムの、単純化されたブロック線図である。
図9】[0015]本開示の1つまたは複数の態様を実行するためのタブレットコンピューティングデバイスを示す図である。
【発明を実施するための形態】
【0008】
[0016]後に続く詳細な説明において、参照を、本明細書の一部分を形成する、付随する図面に対して行い、それらの図面において、例示として、特定の実施形態または例を示す。これらの態様を組み合わせてもよく、他の態様を利用してもよく、構造的変更を、本開示から逸脱することなく行ってもよい。実施形態を、方法、システム、またはデバイスとして実践してもよい。よって、実施形態は、ハードウェア実装形態、もっぱらソフトウェア実装形態、または、ソフトウェアおよびハードウェア態様を組み合わせる実装形態の形式をとってもよい。後に続く詳細な説明を、それゆえに、制限的な意味にとるべきではなく、本開示の範囲を、添付の特許請求の範囲、および、その均等物により定義する。
【0009】
[0017]本開示の態様は、3次元(3D)環境オーサリングおよび生成に関する。例において、3D環境を、オーサリングアプリケーションを使用してオーサリングすることがあり、オーサリングアプリケーションのユーザは、環境データファイルとして記憶されることがある、モデルの2次元(2D)表現をグラフィカルに選択することがある。環境データファイルを、次いで、後で、選択されたモデルの3Dレンダリングを含む3D環境を生成するために使用することがある。一部の例において、コンテンツの異なるタイプを、3D環境内に嵌め込む、または含めることがある。コンテンツ例は、コンテンツの中でもとりわけ、3Dオブジェクト(例えば、3Dモデル、図形、形状、その他)または2Dオブジェクト(例えば、ファイル、画像、プレゼンテーション、文書、ウェブサイト、ビデオ、リモートリソース、その他)を含むが、それらに制限されない。例において、3D環境は、拡張現実(AR)または仮想現実(VR)技法の中でもとりわけ、VR世界などの仮想空間であることがあり、または、コンテンツが現実世界の上部上で表示される、もしくは層にされることがある、現実世界空間であることがある。
【0010】
[0018]本明細書において開示する態様によってオーサリングされる3D環境を、次いで、デスクトップコンピュータまたはスマートフォンなどのコンピューティングデバイス上のビューアアプリケーションを使用して消費することがある。例において、3D環境は、ローエンドデバイス(例えば、GOOGLE CARDBOARD)からハイエンドデバイス(例えば、MICROSOFT HOLOLENS、OCULOUS RIFT、HTC VIVE、その他)までの範囲に及ぶ、広い領域のデバイスにわたって体験されることがある。同じ3D環境を、デスクトップまたはモバイルコンピューティングデバイスを使用して、同じほど良好に生成することができるので、追加的なオーバーヘッド(例えば、すべての要するテクスチャ、ライトマップ、オーディオファイル、その他の送信)を、3D環境を生成するために要さないことがある。さらに、デバイスまたはプラットフォーム固有の特異性を、ビューアアプリケーションにより取り扱い、それによって、そのような特異性を、3D環境のエンドユーザおよび作者の両方に対して見えなくすることがある。
【0011】
[0019]3D環境は、1つまたは複数のモデルを含むことがあり、モデルは、仮想部屋、仮想景色、または、仮想世界の任意の他のサブパートを含むことがある。上記で説明したように、ユーザは、オーサリングアプリケーションを使用して、1つまたは複数のモデルを、選択、配置構成、および/またはカスタマイズして、3D環境を作成することがある。3D環境を、次いで、環境データファイルとして記憶することがあり、環境データファイルは、3D環境内に含めるための、1つもしくは複数のモデル、および/またはコンテンツに関する情報を記憶することがある。ビューアアプリケーションを、環境データファイルに基づいて3D環境をレンダリングするために使用することがある。ビューアアプリケーションは、環境データファイルにより使用されるモデルと関連付けられるコンピューティングリソースを含むことがあり、そのことによって、環境データファイルは、そのようなリソースを含むことを必要としない。一部の例において、例の中でもとりわけ、環境データファイルは、3D環境をレンダリングするときの使用のためのコンピューティングリソースを含むことがあり、または、リソースは、サーバ、もしくは、他のリモートの場所から検索されることがある。
【0012】
[0020]3D環境をレンダリングするとき、ビューアアプリケーションは、モデルの中の1つまたは複数のアンカーポイントを識別することがあり、それらのアンカーポイントは、環境データファイルにより指定される、近隣の、または接続されるモデルを、3D環境へと一体にスティッチするときに使用されることがある。例として、モデルは、入口(entry)アンカーポイントおよび出口(exit)アンカーポイントを含むことがあり、入口アンカーポイントは、モデル内への戸口(doorway)または他のエントランス(entrance)を指示する(indicate)ことがあり、出口アンカーポイントは、モデルからの戸口または他の出口を指示することがある。こうして、複数個のモデル(例えば、近隣の、または接続されるモデル)を一体にスティッチするとき、第1のモデルの出口アンカーポイントを、第2のモデルの入口アンカーポイント(および、延長線上で考えれば、第2のモデル)を位置決めし、それによって、モデルの連続的な組み合わせを作成するために使用することがある。一部の例において、アンカーポイントは、方向を指定することがあり、入口アンカーポイントの方向は、モデルの方を向くことがあり、一方で、出口アンカーポイントの方向は、モデルから離れる方を向くことがある。
【0013】
[0021]所定の態様において、コンテンツポイントは、どこにコンテンツを(例えば、コンテンツアイテムとして)3D環境の中で配置することができるかを定めることがある。例において、アンカーまたはコンテンツポイントは、モデルの中のレンダリング位置を規定することがある。態様において、1つまたは複数のアンカーポイントを、モデルの一部分として(例えば、基本的な番号付け規則を使用するヌルポイントオブジェクトとして)含めることがあり、それらのアンカーポイントを、ビューアアプリケーションまたは他のレンダラにより、アンカーポイントに対する子(例えば、他のモデル)を取得および付加するために使用することがある。同様に、コンテンツポイントを、モデルの中でコンテンツを位置決めするために使用することがある。こうして、異なるアンカーポイントおよび/またはコンテンツポイントにおいて位置決めされるコンテンツを有する3D環境を、レンダリングより前に、3D環境に関する情報を要することなく作成することがある。一部の例において、3D環境をオーサリングするユーザは、コードを追加することを必要とすることなく、3D環境の中でアンカーポイントおよび/またはコンテンツポイントを配置することができることがある。他の例において、ユーザは、モデルからのコンテンツポイントおよび/またはアンカーポイントを、追加する、移動させる、または削除することができることがある。
【0014】
[0022]一部の例において、モデルのセットを生成することがあり、異なる部屋タイプ(room type)を、セットの一部分としてあらかじめ規定することがある。モデルを同じセットからの別のモデルと一体にスティッチすることが、外見上は連続的なモデルを形成することがあるように、モデルのセットが設計されることがある。他の例において、モデルの態様を、動的に、またはプログラムによって生成することがある。例において、モデルは、そのモデルが一緒にスティッチされることがあるモデルに依存して、所定の態様が取り替えられることがあるということを指示することがある。例として、第1のモデルは、第2のモデルの入口ポイントがドアにおいて第1のモデルにスティッチされることがあるように、壁またはアーチ道がドアに置換されることがあるということを指示することがある。他の置換またはモデル生成技法を、本開示の趣旨から逸脱することなく使用することがあるということを察知するであろう。
【0015】
[0023]図1は、3次元環境オーサリングおよび生成のためのシステム例100の概観を示す。示されるように、システム100は、コンピューティングデバイス102および104と、3D環境サービス106とを備える。例において、コンピューティングデバイス102および104は、モバイルコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、またはデスクトップコンピューティングデバイスを含むが、それらに制限されない、種々のコンピューティングデバイスの任意のものであってもよい。一部の例において、3D環境サービス106を、協働的、通信、または生産性プラットフォームの一部分として用意することがある。3D環境サービス106および要素108~114を、コンピューティングデバイス102および/または104とは別個であるように示すが、要素108~114のうちの1つまたは複数を、コンピューティングデバイス102および/または104の他の例により用意することがあるということを察知するであろう。例として、コンピューティングデバイス102は、オーサリングアプリケーション108を含むことがあり、一方でコンピューティングデバイス104は、ビューアアプリケーション110を含むことがある。
【0016】
[0024]3D環境サービス106は、オーサリングアプリケーション108と、ビューアアプリケーション110と、モデルデータストア112と、オーサリングされた環境データストア114とを含む。オーサリングアプリケーション108を、本明細書において開示する態様によって3D環境をオーサリングするために使用することがある。例において、オーサリングアプリケーション108は、3D環境をオーサリングするために、ユーザにより選択、位置決め、および/またはカスタマイズされることがある、1つまたは複数の3Dモデルの2D表現を表示することがある。モデルは、ユーザにより、3D環境の中でコンテンツを位置決めするために使用されることがある、1つまたは複数のコンテンツポイントを含むことがある。一部の例において、オーサリングアプリケーション108は、種々のテーマを提供することがあり、モデルは、1つもしくは複数のテーマと関連付けられることがあり、または、ユーザの選択されたテーマに基づいて改変される、もしくは適合させられることがある(例えば、色、テクスチャ、ライティング、その他を修正することがある)。例において、モデルを、複数個のテーマにより使用することがあり、モデルの幾何学的態様のうちの少なくとも一部(例えば、レイアウト、アーキテクチャ的または地理的特徴、その他)は不変であることがあり、一方で、モデルの美観は変動させられることがある(例えば、配色、ライティング、オーディオ、その他)。
【0017】
[0025]オーサリングアプリケーション108は、オーサリングされた3D環境を環境データファイルとして出力することがあり、環境データファイルは、情報の中でもとりわけ、選択されたモデルと関連付けられる情報(例えば、モデル識別子、モデル名、モデルタイプ、その他)、位置決め情報(例えば、座標、アンカーポイント識別子、その他)、コンテンツ情報(例えば、どのコンテンツを1つまたは複数のコンテンツポイントに対して表示すべきか、表示されるべきコンテンツ、コンテンツへの参照、その他)、カスタムリソース(例えば、カスタムテクスチャ、サウンド、その他)を含むことがある。一部の例において、オーサリングアプリケーション108は、ウェブベースのアプリケーションであることがあり、ユーザのコンピューティングデバイスは、ウェブブラウザを使用してオーサリングアプリケーション108にアクセスすることがある。他の例において、オーサリングアプリケーション108は、ユーザのコンピューティングデバイスにより検索および実行されることがある、実行可能アプリケーションであることがある。
【0018】
[0026]ビューアアプリケーション110を、環境データファイルに基づく3D環境を生成する、目視する、探索する、および/または、その3D環境と相互作用するために使用することがある。例において、ビューアアプリケーション110は、ウェブベースのアプリケーションであることがあり、ユーザのコンピューティングデバイスは、ウェブブラウザを使用してビューアアプリケーション110にアクセスすることがある。他の例において、ビューアアプリケーション110は、ユーザのコンピューティングデバイスにより検索および実行されることがある、実行可能アプリケーションであることがある。本明細書において開示する態様によれば、ビューアアプリケーション110は、環境データファイルを評価して、3D環境の、1つまたは複数のモデルを識別することがある。環境データファイルが複数のモデルを参照するならば、モデルは、3D環境をレンダリングするときに一体にスティッチされることがある。ビューアアプリケーション110は、環境データファイルにより指定されるコンテンツに基づいて、1つまたは複数のモデルの様々なコンテンツポイントにおいて、レンダリングされる3D環境にコンテンツを取り込むことがある。例において、ビューアアプリケーション110は、種々の3Dレンダリングエンジンの任意のものを使用することがあり、3D環境をレンダリングするときにデバイスおよび/またはエンジン固有の実装形態細部を取り扱うことがあり、そのことによって、環境データファイルの作者は、デバイスおよび/またはエンジン固有の特異性に精通していることを必要としない。
【0019】
[0027]モデルデータストア112は、3D環境をオーサリングおよび/または生成するために使用されることがある、1つまたは複数のモデルを記憶することがある。例において、モデルデータストア112により記憶されるモデルを、1つまたは複数のテーマと関連付けることがあり、そのことによって、オーサリングアプリケーション108のユーザは、テーマを選択することがあり、選択されたテーマと関連付けられるモデルを提示されることがある。一部の例において、モデルのセットを、モデルデータストア112により記憶することがあり、異なる部屋タイプを、セットの一部分としてあらかじめ規定することがある。モデルを同じセットからの別のモデルと一体にスティッチすることが、外見上は連続的なモデルを形成することがあるように、モデルのセットが設計されることがある。他の例において、モデルデータストア112により記憶されるモデルの態様を、動的に、またはプログラムによって生成することがある。例において、モデルは、そのモデルが一緒にスティッチされることがあるモデルに依存して、所定の態様が取り替えられることがあるということを指示することがある。例として、第1のモデルは、第2のモデルの入口ポイントがドアにおいて第1のモデルにスティッチされることがあるように、壁またはアーチ道がドアに置換されることがあるということを指示することがある。他の置換またはモデル生成技法を、本開示の趣旨から逸脱することなく使用することがあるということを察知するであろう。
【0020】
[0028]オーサリングされた環境データストア114は、1つまたは複数の環境データファイルを記憶することがある。一部の例において、「環境データファイル」は、本明細書において使用される際、ファイルシステム上のファイル、データベースにおけるエントリであることがあり、または、種々の他のデータストレージ技法の任意のものを使用して記憶されることがある。オーサリングアプリケーション108によりオーサリングされる3D環境を、オーサリングされた環境データストア114内で記憶することがある。オーサリングアプリケーション108が、ローカルで実行されるアプリケーションである例において、環境データファイルの少なくとも一部分を、コンピューティングデバイス102および104のうちの1つから受信し、オーサリングされた環境データストアを使用して記憶することがある。一部の例において、ビューアアプリケーション110は、環境データファイルを、オーサリングされた環境データストア114から検索することがあり、その環境データファイルは、モデルデータストア112からの1つまたは複数のモデルと連関して、3D環境を生成するために使用されることがある。ビューアアプリケーションが、ローカルで実行されるアプリケーションである例において、モデルデータストアを、アプリケーションを実行するデバイスに対してローカルおよび/またはリモートで記憶することがあり、環境データファイルの少なくとも一部分を、オーサリングされた環境データストア114から検索することがある。一部の例において、データファイルを、帯域幅消費を低減するように、および/または、応答性を改善するように、チャンクの形でストリーミングまたは検索することがある。他のデータストレージおよび/または検索技法を、本開示の趣旨から逸脱することなく使用することがあるということを察知するであろう。
【0021】
[0029]コンピューティングデバイス102および104の、アプリケーション116および118は、それぞれ、種々のアプリケーションの任意のものであることがある。例において、アプリケーション116および/または118は、上記で説明したようなオーサリングアプリケーションであることがあり、コンピューティングデバイス102および/または104のユーザは、アプリケーションを使用して、環境データファイルにより記述される3D環境をオーサリングすることがある。一部の例において、環境データファイルを、オーサリングされた環境データストア114により記憶することがある。別の例において、アプリケーション116および/または118は、上記で説明したようなビューアアプリケーションであることがあり、そのビューアアプリケーションは、コンピューティングデバイス102および/または104のユーザにより、環境データファイルにより少なくとも部分的に規定される3D環境を、目視、レンダリング、および/または探索するために使用されることがある。他の例において、コンピューティングデバイス102および/または104は、モデルデータストア112と類似のモデルデータストア、および/または、オーサリングされた環境データストア114と類似のオーサリングされた環境データストアを含むことがある。例において、ハードウェアARおよび/またはVRデバイス(絵で表されない)を、コンピューティングデバイス102および/または104に取り付け、レンダリングされる3D環境を目視する、および/または、その3D環境と関わり合うために使用することがある。例えば、VRまたはARヘッドセットを使用することがある。
【0022】
[0030]図2は、2次元表現を使用して3次元環境をオーサリングするための方法例200の概観を示す。例において、方法200の態様を、コンピューティングデバイス(例えば、図1におけるコンピューティングデバイス102および/または104)により実施することがあり、または、オーサリングアプリケーション(例えば、オーサリングアプリケーション108)により実施することがある。フローは、動作202において始まり、そこでは、環境テンプレートが選択されることがある。環境テンプレートは、3D環境の全般的な見かけおよび/または感じ(例えば、ライティング、配色、テクスチャ、サウンド、場所、その他)を規定することがある。例えば、事務所を表す3D環境を生成するために使用することができる、事務所テンプレートを選択することがあり、庭園テンプレートを、屋外空間を表す3D環境を生成するために選択することがあり、その他のことがある。
【0023】
[0031]環境テンプレートを選択することを基に、フローは、動作204に続き、そこでは、モデル選択が受信されることがある。本明細書において説明するように、1つまたは複数のモデルを、ユーザに、3D環境をオーサリングするときに提示することがある。一部の例において、モデルのセットを提示することがあり、セットからのモデルは、セットからの別のモデルと一体にスティッチされ、それによって、外見上は連続的なモデルを生成するように設計されていることがある。例として、セット内のモデルは、類似の色、テクスチャ、オブジェクトのスケール、またはテーマ、その他を有することがある。態様において、3D環境は、1つまたは複数の異なるモデル(例えば、部屋、景色、その他)を含むことがある。
【0024】
[0032]フローは、動作206に進行し、そこでは、コンテンツポイントが、選択されたモデルの中で選択されることがある。上記で説明したように、モデルは、モデルの中の異なる位置においてコンテンツを表示または提供するために使用されることがある、1つまたは複数のコンテンツポイントを含むことがある。コンテンツポイントの選択を基に、選択されたコンテンツポイントにおいて位置決めされることがある、コンテンツの異なるタイプを表示する、メニューを生成することがある。例として、ユーザは、3Dオブジェクト、ビデオ、画像、文書、プレゼンテーション、スプレッドシート、オブジェクトの集合体、および同類のものに関するコンテンツを選択することができる。動作206において表示されるメニューは、選択されたコンテンツポイントにおいて位置決めされることになる、コンテンツの、1つまたは複数のタイプの選択を含むユーザ入力を受信するように動作可能であることがある。一部の例において、複数個のコンテンツポイントを、別個に、または一体でのいずれかで選択することがあり、そのことによって、コンテンツを、動作206における選択されたモデルの複数個のコンテンツポイントと関連付けることがある。
【0025】
[0033]様々な態様において、3D環境は、複数個の相互接続されるモデルを含むことがある。フローは、決定208に継続し、そこでは、追加的なモデルを3D環境に追加すべきであるかどうかが決定される。例において、決定は、別のモデルを追加すべきであるという指示をユーザが提供したかどうかを決定することを含むことがある。新しいモデルの選択を受信することに加えて、1つまたは複数の既存のモデルに相対的なモデルの配置を、さらには受信することがある。1つの態様において、ユーザインターフェイス要素を、既存のモデルに対するアンカーポイントの付近で位置決めすることがある。ユーザインターフェイス要素の選択を基に、アンカーポイントにおいて既存のモデルに接続することができるモデルのタイプを示すメニューを表示することがある。選択可能なモデルは、個々のスキーマを有することがあり、態様において、複数個の異なる変形例(例えば、ドアなし、1つのドア、2つのドア、円形、正方形、屋内、屋外、その他)を有することがある。メニューは、メニューからのモデルの選択を受信するように動作可能であることがある。選択の受信を基に、新しいモデルを、アンカーポイントにおいて既存のモデルに接続することがある。追加的なモデルを選択するならば、フローは、「はい」に分岐し、動作204に戻る。フローは、次いで、動作204と208との間をループし、それによって、ユーザにより望まれることがあるのと同じくらい多くのモデルを3D環境に追加することがある。
【0026】
[0034]しかしながら、追加されることになる追加的な部屋がないならば、フローは、代わりに、動作210へと「いいえ」に分岐する。動作210において、オーサリングされた3D環境を記述する環境データファイルを生成することがある。例において、環境データファイルは、1つもしくは複数の選択されたモデル、および/または、モデルのコンテンツポイントに対して選択されたコンテンツに関する情報を記憶することがある。環境データファイルを、ビューアアプリケーションにより、本明細書において開示する態様によって3D環境をレンダリングするために使用することがある。一部の例において、例の中でもとりわけ、環境データファイルは、3D環境をレンダリングするときの使用のためのコンピューティングリソースを含むことがあり、または、リソースは、サーバ、もしくは、他のリモートの場所から検索されることがある。
【0027】
[0035]動作212に移ると、環境データファイルを記憶することがある。環境データファイルを記憶することは、ストレージ技法の中でもとりわけ、1つもしくは複数の出力ファイル、または、データベースにおけるエントリを生成することを含むことがある。一部の例において、環境データファイルを、図1におけるオーサリングされた環境データストア114などの、他のユーザによるアクセスのためのオーサリングされた環境データストアに提供することがある。フローは、動作212において終結する。よって、方法200は、技術的な3D経験を欠くユーザが、3D環境を設計およびオーサリングすることを可能とする。
【0028】
[0036]図3は、3次元環境を生成するための方法例300の概観を示す。例において、方法300の態様を、コンピューティングデバイス(例えば、図1におけるコンピューティングデバイス102および/または104)により実施することがあり、または、ビューアアプリケーション(例えば、ビューアアプリケーション110)により実施することがある。フローは、動作302において始まり、そこでは、環境データファイルが検索されることがある。環境データファイルを、ローカルまたはリモートのデータストアから検索することがある。一部の例において、環境データファイルを、図1におけるオーサリングされた環境データストア114などの、オーサリングされた環境データストアから検索することがある。一部の例において、例の中でもとりわけ、環境データファイルの一部分のみを、初期に検索することがあり、一方で、後続の一部分を、オンデマンドで、または、利用可能なコンピューティングリソースに基づいてのいずれかで検索することがある。
【0029】
[0037]フローは、動作304に進行し、そこでは、モデルが、検索された環境データファイル内で識別されることがある。例において、モデルを、モデル識別子、モデル名、その他により指定することがある。別の例において、モデルを、いくつかのエントランスもしくは出口、またはテーマを含むが、それらに制限されない、他の情報と関連付けることがある。一部の例において、モデルを、判定基準の中でもとりわけ、3D環境内のユーザの位置に対するモデルの近接度に基づいて、または、モデルをレンダリングするための要するアセットを獲得するための予測される時間に基づいて、環境データファイルから選択することがある。
【0030】
[0038]動作306において、モデルの3D表現を、3D環境内でレンダリングすることがある。モデルをレンダリングすることは、モデルと関連付けられるリソースにアクセスすることを含むことがある。例において、リソースを、ローカルで、もしくはリモートで、またはそれらの組み合わせで記憶することがある。一部の例において、サードパーティレンダリングエンジンを、環境をレンダリングするために使用することがある。一部の例において、モデルを、そのモデルをレンダリングする前または間に、調整または修正することがある。例として、エントランスおよび/または出口を、本明細書において開示する態様によって、動的に更新することがある。別の例において、モデルの色、ライティング、またはテクスチャを改変することがある。種々のレンダリング技法の任意のものを、本開示の趣旨から逸脱することなく使用することがあるということを察知するであろう。
【0031】
[0039]動作308に移ると、モデルのコンテンツポイントに、環境データファイルにより指示されるようにコンテンツを取り込むことがある。例として、コンテンツの2D表現を、文書、ウェブページ、または、他の2次元コンテンツに対して生成することがある。別の例において、コンテンツの中でもとりわけ、3Dオブジェクトを、モデル内で浮かんでいるようにレンダリングすることがあり、または、台座上に配置することがある。コンテンツの少なくとも一部分を、環境データファイルにより記憶することがあり、デバイス上のどこか他にローカルで記憶することがあり、または、リモートの場所から検索することがある。
【0032】
[0040]決定310において、環境データファイルが別のモデルを含むかどうかを決定することがある。一部の例において、決定は、利用可能なコンピューティングリソースを評価することをさらに含むことがあり、フローは、コンピューティングリソースが、動作の中でもとりわけ、3D環境の他の一部分をレンダリングすることに充てられてもよいように、決定310において一時停止することがある。環境データファイルが別のモデルを含まないと決定するならば、フローは、動作316へと「いいえ」に分岐し、そこでは、レンダリングされた3D環境が、ユーザに提示されることがある。一部の例において、少なくとも部分的なレンダリングされた環境を、方法300において、より早期にユーザに提示することがある。一部の例において、ユーザを、3D環境内の歓迎部屋内に、または、あらかじめ規定された場所に、初期に配置することがある。フローは、動作316において終結する。
【0033】
[0041]しかしながら、決定310において、環境データファイルが追加的なモデルを含むと決定するならば、フローは、代わりに、動作312へと「はい」に分岐し、そこでは、次のモデルが、環境データファイルから識別されることがある。例において、モデルを、モデル識別子、モデル名、その他により指定することがある。別の例において、モデルを、いくつかのエントランスもしくは出口、またはテーマを含むが、それらに制限されない、他の情報と関連付けることがある。一部の例において、モデルを、判定基準の中でもとりわけ、3D環境内のユーザの位置に対するモデルの近接度に基づいて、または、モデルをレンダリングするための要するアセットを獲得するための予測される時間に基づいて、環境データファイルから選択することがある。
【0034】
[0042]フローは、動作314に進行し、そこでは、新しく識別されたモデルを、先のモデルとスティッチすることがある。例において、両方のモデルのアンカーポイントを、次のモデルをレンダリングすべきである場所を決定するために識別および使用することがある。例えば、先のモデルの出口アンカーポイントを、新しいモデルの入口アンカーポイントに対する場所を決定するために識別および使用することがある。他の例において、モデルを調整することがある(例えば、壁をドアに置換する、テクスチャを精緻化する、スケーリングを変化させる、その他)。他の動作を、本開示の趣旨から逸脱することなく、2つのモデルをスティッチするために実施することがあるということを察知するであろう。フローは、次いで、動作306に移り、そこでは、新しいモデルを、動作314からのスティッチング決定によって、3D環境内でレンダリングすることがある。フローは、次いで、新しく識別されたモデルに基づいて、動作308および310を通って継続する。ついには、レンダリングするための追加的なモデルが存在しなくなることになり、フローは、上記で論じたように、動作316において終結する。
【0035】
[0043]図4は、2次元モデルを使用して3次元環境をオーサリングするためのユーザインターフェイス例400の概観を示す。ユーザインターフェイス400において示される3D環境例は、この例においては部屋:部屋402、404、および406である、3つの異なるモデルを含む。例において、星426は、3D環境が最初にレンダリングされるときの、ユーザの観点に対する初期位置を指示することがある。一部の例において、初期位置は、ユーザインターフェイス400を使用して移動可能であることがあり、一方で、他の例において、「歓迎」部屋タイプが、3D環境内のユーザの初期位置を指定することがある。
【0036】
[0044]示されるように、部屋402、404、および406は、コンテンツポイント416などの、1つまたは複数のコンテンツポイントを含む。コンテンツポイント416は、チェックマークとして示され、それによって、コンテンツがコンテンツポイント416と関連付けられるということを指示する。対照的に、コンテンツポイント408は、コンテンツポイント408が現在選択されているということを指示するために、(灰色の、関連付けられないコンテンツポイントと比較して)濃いプラスとして示される。選択に応答して、利用可能なコンテンツの異なるタイプを表示するメニュー410を表示することがある。メニュー410を、3つのコンテンツ選択肢を提供するように示すが、種々のコンテンツの任意のものを、上記でさらに詳細に論じたように選択することがあるということを察知するであろう。メニュー410による、利用可能なコンテンツタイプのうちの1つの選択を受信することを基に、選択されたコンテンツを、コンテンツポイント408において位置決めすることがある。
【0037】
[0045]アンカーポイント418、420、422、および424は、部屋402、404、および406に対するアンカーポイントを指示することがある。アンカーポイントは、3D環境が最終的にレンダリングされるときには見えなくてもよいが、ユーザインターフェイス400は、3D環境のフローを示すために、ならびに、どのように部屋402、404、および406が一体に合わさるかに関しての指示を提供するために、入口アンカーポイント418および424を、出口アンカーポイント418および422の横側に表示することがある。
【0038】
[0046]ユーザインターフェイス400は、さらには、既存のモデルの接続ポイントにおける新しいモデルの追加を可能なものにする、1つまたは複数のユーザインターフェイス要素を含むことがある。例えば、ユーザインターフェイス要素412は、新しい部屋を追加するための選択を受信するように動作可能であることがある。ユーザインターフェイス要素412における選択を受信することを基に、部屋メニュー414を表示することがある。部屋メニュー414は、接続ポイントにおいて接続することができる、部屋の、1つまたは複数の異なるタイプを表示することがある。部屋メニュー414における部屋の選択を受信することを基に、新しい部屋を、3D環境が表示される2D表現に追加することがある。部屋例およびモデル例を、本明細書において論じているが、種々のモデルおよび/または部屋タイプの任意のものを、本開示の趣旨から逸脱することなく使用することがあるということを察知するであろう。
【0039】
[0047]図5は、3次元環境の中のビュー例500を示す。例において、ビュー500は、本明細書において開示する態様によって、環境データファイルに基づいて生成されるビューであることがある。ビュー500は、3D環境のモデル(例えば、図4における部屋402)の中のユーザの観点であることがあり、そのことによって、3D環境の作者は、コンテンツ502および504が、モデルのコンテンツポイントにおいてユーザに提示されるべきであるということを指定しておくことがある。
【0040】
[0048]図6から図9、および、関連付けられる説明は、本開示の態様が実践されることがある、種々の動作環境を論じることを提供する。しかしながら、図6から図9に関して示され論じられるデバイスおよびシステムは、例および例示の目的のためのものであり、本明細書において説明する、本開示の態様を実践するために利用されることがある、膨大な数のコンピューティングデバイス構成について制限的ではない。
【0041】
[0049]図6は、本開示の態様が実践されることがある、コンピューティングデバイス600の物理的構成要素(例えば、ハードウェア)を示すブロック線図である。下記で説明するコンピューティングデバイス構成要素は、コンピューティングデバイス102および104、ならびに3D環境サービス106を含む、上記で説明したコンピューティングデバイスに適したものであることがある。基本的な構成において、コンピューティングデバイス600は、少なくとも1つの処理ユニット602と、システムメモリ604とを含むことがある。コンピューティングデバイスの構成およびタイプに依存して、システムメモリ604は、揮発性ストレージ(例えば、ランダムアクセスメモリ)、不揮発性ストレージ(例えば、読み出し専用メモリ)、フラッシュメモリ、または、そのようなメモリの任意の組み合わせを含むことがあるが、それらに制限されない。
【0042】
[0050]システムメモリ604は、オペレーティングシステム605と、本明細書において説明するシステムによりサポートされる1つまたは複数の構成要素などの、ソフトウェアアプリケーション620を実行するのに適した、1つまたは複数のプログラムモジュール606とを含むことがある。例として、システムメモリ604は、オーサリングアプリケーション624および環境データストア626を記憶することがある。オペレーティングシステム605は、例えば、コンピューティングデバイス600の動作を制御するのに適したものであることがある。
【0043】
[0051]さらにまた、本開示の実施形態を、グラフィックスライブラリ、他のオペレーティングシステム、または、任意の他のアプリケーションプログラムと連関して実践することがあり、任意の個別のアプリケーションまたはシステムに制限しない。この基本的な構成を、破線608の中のそれらの構成要素により、図6において示す。コンピューティングデバイス600は、追加的な特徴または機能性を有することがある。例えば、コンピューティングデバイス600は、さらには、例えば、磁気ディスク、光学ディスク、またはテープなどの、追加的なデータストレージデバイス(リムーバブルおよび/または非リムーバブル)を含むことがある。そのような追加的なストレージを、図6において、リムーバブルストレージデバイス609および非リムーバブルストレージデバイス610により示す。
【0044】
[0052]上記で明言したように、いくつかのプログラムモジュールおよびデータファイルを、システムメモリ604内で記憶することがある。処理ユニット602上で実行する間に、プログラムモジュール606(例えば、アプリケーション620)は、本明細書において説明するような態様を含むが、それらに制限されない、プロセスを実施することがある。本開示の態様によって使用されることがある他のプログラムモジュールは、電子メールおよび連絡先アプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、データベースアプリケーション、スライドプレゼンテーションアプリケーション、描画またはコンピュータ支援アプリケーションプログラム、その他を含むことがある。
【0045】
[0053]さらにまた、本開示の実施形態を、ディスクリート電子要素を備える電気回路、論理ゲートを含むパッケージ化もしくは集積電子チップ、マイクロプロセッサを利用する回路内で、または、電子要素もしくはマイクロプロセッサを含む単一のチップ上で実践することがある。例えば、本開示の実施形態を、図6において示される構成要素の各々または多くが単一の集積回路上へと集積されることがある、システムオンチップ(SOC)によって実践することがある。そのようなSOCデバイスは、1つまたは複数の処理ユニット、グラフィックスユニット、通信ユニット、システム仮想化ユニット、および、様々なアプリケーション機能性を含むことがあり、それらの列挙したもののすべては、単一の集積回路としてチップ基板上へと集積される(または、「埋め込まれる」)。SOCによって動作するとき、プロトコルを切り替えるためのクライアントの能力に関しての、本明細書において説明する機能性を、単一の集積回路(チップ)上でコンピューティングデバイス600の他の構成要素とともに集積される特定用途向け論理によって動作させることがある。本開示の実施形態を、さらには、機械、光学、流体、および量子技術を含むが、それらに制限されない、例えばAND、OR、およびNOTなどの論理演算を実施する能力のある他の技術を使用して実践することがある。加えて、本開示の実施形態を、汎用目的コンピュータの中で、または、任意の他の回路もしくはシステム内で実践することがある。
【0046】
[0054]コンピューティングデバイス600は、さらには、キーボード、マウス、ペン、サウンドまたはボイス入力デバイス、タッチまたはスワイプ入力デバイス、その他などの、1つまたは複数の入力デバイス612を有することがある。ディスプレイ、スピーカ、プリンタ、その他などの出力デバイス614を、さらには含むことがある。上述のデバイスは例であり、他のものが使用されることがある。コンピューティングデバイス600は、他のコンピューティングデバイス650との通信を可能とする、1つまたは複数の通信接続616を含むことがある。適した通信接続616の例は、無線周波数(RF)送信器、受信器、および/またはトランシーバ回路網、ユニバーサルシリアルバス(USB)、パラレル、および/またはシリアルポートを含むが、それらに制限されない。
【0047】
[0055]用語、コンピュータ可読媒体は、本明細書において使用される際、コンピュータストレージ媒体を含むことがある。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、またはプログラムモジュールなどの情報のストレージのために、任意の方法または技術の形で実施される、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含むことがある。システムメモリ604、リムーバブルストレージデバイス609、および非リムーバブルストレージデバイス610は、すべてコンピュータストレージ媒体例(例えば、メモリストレージ)である。コンピュータストレージ媒体は、RAM、ROM、電気的消去可能読み出し専用メモリ(EEPROM)、フラッシュメモリ、もしくは他のメモリ技術、CD-ROM、デジタルバーサタイルディスク(DVD)、もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイスを含むことがあり、または、コンピュータストレージ媒体は、情報を記憶するために使用することができる、および、コンピューティングデバイス600によりアクセスすることができる、任意の他の製造品を含むことがある。任意のそのようなコンピュータストレージ媒体は、コンピューティングデバイス600の一部分であることがある。コンピュータストレージ媒体は、搬送波、または、他の伝搬させられる、もしくは変調されるデータ信号を含まない。
【0048】
[0056]通信媒体は、搬送波などの変調されるデータ信号、または他の移送機構の形の、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータにより実施されることがあり、任意の情報送達媒体を含む。用語「変調されるデータ信号」は、1つまたは複数の特性を有する信号であって、それらの特性が、その信号内で情報を符号化するような様式でセットされる、または変化させられる、信号を説明することがある。制限ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および、音響、無線周波数(RF)、赤外線などのワイヤレス媒体、および、他のワイヤレス媒体を含むことがある。
【0049】
[0057]図7Aおよび7Bは、用いて本開示の実施形態が実践されることがある、モバイルコンピューティングデバイス700、例えば、モバイル電話、スマートフォン、ウェアラブルコンピュータ(スマートウォッチなど)、タブレットコンピュータ、ラップトップコンピュータ、および同類のものを示す。一部の態様において、クライアントは、モバイルコンピューティングデバイスであることがある。図7Aを参照すると、態様を実施するための、モバイルコンピューティングデバイス700の1つの態様が示されている。基本的な構成において、モバイルコンピューティングデバイス700は、入力要素および出力要素の両方を有するハンドヘルドコンピュータである。モバイルコンピューティングデバイス700は、典型的には、ディスプレイ705と、ユーザが情報をモバイルコンピューティングデバイス700内へと入れることを可能とする、1つまたは複数の入力ボタン710とを含む。モバイルコンピューティングデバイス700のディスプレイ705は、さらには、入力デバイス(例えば、タッチスクリーンディスプレイ)として機能することがある。
【0050】
[0058]含まれるならば、任意選択の側部入力要素715が、さらなるユーザ入力を可能とする。側部入力要素715は、ロータリスイッチ、ボタン、または、任意の他のタイプの手動入力要素であることがある。代替的態様において、モバイルコンピューティングデバイス700は、より多い、または、より少ない入力要素を組み込むことがある。例えば、ディスプレイ705は、一部の実施形態において、タッチスクリーンではないことがある。
【0051】
[0059]さらに別の代替的実施形態において、モバイルコンピューティングデバイス700は、セルラーフォンなどのポータブルフォンシステムである。モバイルコンピューティングデバイス700は、さらには、任意選択のキーパッド735を含むことがある。任意選択のキーパッド735は、物理的キーパッド、または、タッチスクリーンディスプレイ上で生成される「ソフト」キーパッドであることがある。
【0052】
[0060]様々な実施形態において、出力要素は、グラフィカルユーザインターフェイス(GUI)を示すためのディスプレイ705、視覚インジケータ720(例えば、発光ダイオード)、および/またはオーディオトランスデューサ725(例えば、スピーカ)を含む。一部の態様において、モバイルコンピューティングデバイス700は、ユーザに触覚フィードバックを提供するための振動トランスデューサを組み込む。さらに別の態様において、モバイルコンピューティングデバイス700は、信号を外部デバイスに送出する、または、信号を外部デバイスから受信するための、オーディオ入力(例えば、マイクロホンジャック)、オーディオ出力(例えば、ヘッドホンジャック)、およびビデオ出力(例えば、HDMIポート)などの、入力および/または出力ポートを組み込む。
【0053】
[0061]図7Bは、モバイルコンピューティングデバイスの、1つの態様のアーキテクチャを示すブロック線図である。すなわち、モバイルコンピューティングデバイス700は、一部の態様を実施するためのシステム(例えば、アーキテクチャ)702を組み込むことができる。1つの実施形態において、システム702を、1つまたは複数のアプリケーション(例えば、ブラウザ、eメール、カレンダリング、連絡先マネージャ、メッセージングクライアント、ゲーム、およびメディアクライアント/プレーヤ)を走らせる能力のある「スマートフォン」として実施する。一部の態様において、システム702を、統合された携帯情報端末(PDA)およびワイヤレスフォンなどのコンピューティングデバイスとして統合する。
【0054】
[0062]1つまたは複数のアプリケーションプログラム766を、メモリ762内へとロードし、オペレーティングシステム764上で、または、オペレーティングシステム764と関連して走らせることがある。アプリケーションプログラムの例は、フォンダイアラ(phone dialer)プログラム、eメールプログラム、個人情報管理(PIM)プログラム、ワードプロセッシングプログラム、スプレッドシートプログラム、インターネットブラウザプログラム、メッセージングプログラム、等々を含む。システム702は、さらには、メモリ762の中に不揮発性ストレージエリア768を含む。不揮発性ストレージエリア768を、システム702をパワーダウンする場合に失うべきではない永続的情報を記憶するために使用することがある。アプリケーションプログラム766は、eメールアプリケーションにより使用されるeメールまたは他のメッセージ、および同類のものなどの、不揮発性ストレージエリア768内の情報を使用および記憶することがある。同期アプリケーション(示されない)が、さらには、システム702上に常駐するものであり、ホストコンピュータ上に常駐の対応する同期アプリケーションと相互作用して、不揮発性ストレージエリア768内で記憶される情報を、ホストコンピュータにおいて記憶される対応する情報と同期された状態に保つようにプログラムされる。察知すべきであるように、他のアプリケーションを、メモリ762内へとロードし、本明細書において説明するモバイルコンピューティングデバイス700上で走らせることがある(例えば、サーチエンジン、抽出器モジュール、適切性ランキングモジュール、回答スコアリング(answer scoring)モジュール、その他)。
【0055】
[0063]システム702は、1つまたは複数の電池として実施されることがある、電力供給装置770を有する。電力供給装置770は、電池を補完または再充電する、ACアダプタ、または、給電されるドッキングクレードルなどの、外部電力源をさらに含むことがある。
【0056】
[0064]システム702は、さらには、無線周波数通信を送信および受信する機能を実施する無線インターフェイス層772を含むことがある。無線インターフェイス層772は、通信キャリアまたはサービスプロバイダを経た、システム702と「外側世界」との間のワイヤレス接続性を手助けする。無線インターフェイス層772への、および、無線インターフェイス層772からの送信を、オペレーティングシステム764の制御のもとで行う。言い換えれば、無線インターフェイス層772により受信される通信を、オペレーティングシステム764によってアプリケーションプログラム766へと広めることがあり、逆も同じことである。
【0057】
[0065]視覚インジケータ720を、視覚的通知を提供するために使用することがあり、および/または、オーディオインターフェイス774を、オーディオトランスデューサ725によって可聴の通知を生み出すために使用することがある。例示される実施形態において、視覚インジケータ720は発光ダイオード(LED)であり、オーディオトランスデューサ725はスピーカである。これらのデバイスを、電力供給装置770に直接結合することがあり、そのことによって、活動化されるとき、それらのデバイスは、プロセッサ760および他の構成要素が、電池電力を節約するためにシャットダウンすることがあるとしても、通知機構により定められる持続時間の間はオンのままである。LEDを、デバイスのパワーオンされているステータスを指示するために、ユーザが行動をとるまで無期限にオンのままであるようにプログラムすることがある。オーディオインターフェイス774を、可聴の信号をユーザに提供し、可聴の信号をユーザから受信するために使用する。例えば、オーディオトランスデューサ725に結合することに加えて、オーディオインターフェイス774を、さらには、通話を手助けするためなどで、可聴の入力を受信するためにマイクロホンに結合することがある。本開示の実施形態によれば、マイクロホンは、さらには、下記で説明するように、通知の制御を手助けするためのオーディオセンサとして働くことがある。システム702は、オンボードカメラ730の動作が、静止画像、ビデオストリーム、および同類のものを記録することを可能にする、ビデオインターフェイス776をさらに含むことがある。
【0058】
[0066]システム702を実施するモバイルコンピューティングデバイス700は、追加的な特徴または機能性を有することがある。例えば、モバイルコンピューティングデバイス700は、さらには、磁気ディスク、光学ディスク、またはテープなどの、追加的なデータストレージデバイス(リムーバブルおよび/または非リムーバブル)を含むことがある。そのような追加的なストレージを、図7Bにおいて、不揮発性ストレージエリア768により示す。
【0059】
[0067]モバイルコンピューティングデバイス700により生成もしくは捕捉される、および、システム702によって記憶されるデータ/情報を、上記で説明したように、モバイルコンピューティングデバイス700上で、ローカルで記憶することがあり、または、データを、任意の数のストレージ媒体上で記憶することがあり、それらのストレージ媒体に、無線インターフェイス層772を経て、もしくは、インターネットなどの分散型コンピューティングネットワーク内の、モバイルコンピューティングデバイス700と、モバイルコンピューティングデバイス700と関連付けられる別個のコンピューティングデバイス、例えばサーバコンピュータとの間の有線接続を経て、デバイスによりアクセスすることがある。察知すべきであるように、そのようなデータ/情報に、無線インターフェイス層772を経て、または、分散型コンピューティングネットワークを経て、モバイルコンピューティングデバイス700によってアクセスすることがある。同様に、そのようなデータ/情報を、電子メール、および、協働的データ/情報共有システムを含む、よく知られているデータ/情報転送およびストレージ手段によって、ストレージおよび使用のためにコンピューティングデバイスの間で、たやすく転送することがある。
【0060】
[0068]図8は、上記で説明したような、パーソナルコンピュータ804、タブレットコンピューティングデバイス806、またはモバイルコンピューティングデバイス808などのリモートソースから、コンピューティングシステムにおいて受信されるデータを処理するためのシステムのアーキテクチャの1つの態様を示す。サーバデバイス802において表示されるコンテンツを、異なる通信チャネルまたは他のストレージタイプ内で記憶することがある。例えば、様々な文書を、ディレクトリサービス822、ウェブポータル824、メールボックスサービス826、インスタントメッセージングストア828、またはソーシャルネットワーキングサイト830を使用して記憶することがある。
【0061】
[0069]環境ビューアプリケーション820を、サーバデバイス802と通信するクライアントにより使うことがあり、および/または、3D環境データストア821を、サーバデバイス802により使うことがある。サーバデバイス802は、ネットワーク815を通しての、パーソナルコンピュータ804、タブレットコンピューティングデバイス806、および/またはモバイルコンピューティングデバイス808(例えば、スマートフォン)などのクライアントコンピューティングデバイスへの、ならびに、そのクライアントコンピューティングデバイスからのデータを提供することがある。例として、上記で説明したコンピュータシステムを、パーソナルコンピュータ804、タブレットコンピューティングデバイス806、および/またはモバイルコンピューティングデバイス808(例えば、スマートフォン)の形で実施することがある。コンピューティングデバイスのこれらの実施形態の任意のものは、グラフィックを創作するシステムにおいて前処理されるか、または受信するコンピューティングシステムにおいて後処理されるかのいずれかであるように使用可能なグラフィカルデータを受信することに加えて、ストア816からコンテンツを取得することがある。
【0062】
[0070]図9は、本明細書において開示する1つまたは複数の態様を実行することがある、例示的なタブレットコンピューティングデバイス900を示す。加えて、本明細書において説明する態様および機能性は、分散型システム(例えば、クラウドベースのコンピューティングシステム)にわたって動作することがあり、アプリケーション機能性、メモリ、データストレージおよび検索、ならびに、様々な処理機能を、インターネットまたはイントラネットなどの分散型コンピューティングネットワークにわたって、互いからリモートで動作させることがある。様々なタイプのユーザインターフェイスおよび情報を、オンボードのコンピューティングデバイスディスプレイによって、または、1つもしくは複数のコンピューティングデバイスと関連付けられるリモートディスプレイユニットによって表示することがある。例えば、様々なタイプのユーザインターフェイスおよび情報を、壁面上で表示し、それらのユーザインターフェイスおよび情報と、壁面上で相互作用することがあり、その壁面上へと、様々なタイプのユーザインターフェイスおよび情報を投射する。用いて本発明の実施形態が実践されることがある、多数のコンピューティングシステムとの相互作用は、キーストロークエントリ、タッチスクリーンエントリ、ボイスまたは他のオーディオエントリ、ジェスチャエントリ、および同類のものを含み、そのジェスチャエントリの場合、関連付けられるコンピューティングデバイスは、コンピューティングデバイスの機能性を制御するためにユーザジェスチャを捕捉および解釈するための検出(例えば、カメラ)機能性を装備する。
【0063】
[0071]前述の開示から理解されるように、本技術の1つの態様は、少なくとも1つのプロセッサと、命令を記憶するメモリとを備えるシステムであって、命令が少なくとも1つのプロセッサにより実行されるときに、システムに動作のセットを実施させる、システムに関する。動作のセットは、環境データファイルを検索することであって、環境データファイルは、3次元(3D)環境に対する複数のモデルを含む、検索することと、3D環境内で、複数のモデルのうちの第1のモデルの第1の3D表現を生成することであって、第1のモデルは、出口アンカーポイントと関連付けられる、生成することと、環境データファイルが、複数のモデルのうちの第2のモデルが第1のモデルの近隣であるということを指示すると決定することであって、第2のモデルは、入口アンカーポイントと関連付けられる、決定することと、第2のモデルが第1のモデルの近隣であると決定することに基づいて、第2のモデルの第2の3D表現を生成することであって、第2のモデルの表現は、第2のモデルと関連付けられる入口アンカーポイントが、第1のモデルの入口ポイントに近接して位置決めされるように、3D環境内で位置決めされる、生成することとを含む。例において、第1のモデルの第1の3D表現を生成することは、環境データファイルが、第1のモデルのコンテンツポイントと関連付けられるコンテンツアイテムを指定すると決定することと、第1の3D表現内の第1のモデルのコンテンツポイントにおいてコンテンツアイテムの表現を生成することとを含む。別の例において、コンテンツアイテムの表現を生成することは、コンテンツアイテムと関連付けられるリモートリソースに対する要求を生成することを含む。さらなる例において、動作のセットは、ユーザデバイスのディスプレイ上で3D表現を提示することをさらに含む。さらに別の例において、第1のモデルは、ユーザの観点に対する初期位置を指示し、3D表現を提示することは、ユーザの観点に対する初期位置からの3D表現を提示することを含む。さらにその上の例において、環境データファイルを検索することは、環境データファイルの少なくとも一部分を、リモートデータストアに対して要求することを含む。別の例において、第1のモデルおよび第2のモデルは、類似のテーマを有するモデルのセットの構成物である。
【0064】
[0072]別の態様において、本技術は、3次元(3D)環境を表す環境データファイルを生成するための方法に関する。方法は、3D環境に対する環境テンプレートのユーザ選択を受信するステップと、第1のモデルのユーザ選択を受信するステップであって、第1のモデルは、選択された環境テンプレートと関連付けられる、受信するステップと、第1のモデルの2次元(2D)表示を提示するステップであって、2D表示は、第1のモデルの1つまたは複数のコンテンツポイントの表示を含む、提示するステップと、1つまたは複数のコンテンツポイントからのコンテンツポイントのユーザ選択を受信するステップであって、ユーザ選択は、その選択されたコンテンツポイントにおける表示のためのコンテンツを指示する、受信するステップと、環境データファイルを生成するステップであって、環境データファイルは、選択された環境テンプレート、第1のモデル、および、選択されたコンテンツポイントに関する情報を含み、選択されたコンテンツポイントは、指示されたコンテンツと関連付けられる、生成するステップとを含む。例において、方法は、選択された環境テンプレートと関連付けられる、1つまたは複数のモデルの表示を提示するステップであって、1つまたは複数のモデルは、2D表現を使用して表示される、提示するステップをさらに含む。別の例において、方法は、ユーザの観点に対する初期位置の選択を受信するステップであって、選択は、第1のモデルの中にある、受信するステップと、環境データファイルの一部分として、受信された選択を記憶するステップとをさらに含む。さらなる例において、方法は、第2のモデルの選択を受信するステップであって、選択は、第2のモデルが第1のモデルの近隣で位置決めされるという指示を含む、受信するステップをさらに含む。さらに別の例において、環境データファイルは、第1のモデルと関連付けられる識別子と、第2のモデルと関連付けられる識別子とを含む。さらにその上の例において、方法は、1つまたは複数のユーザデバイスによるアクセスのために、リモートデータストアにおいて、生成された環境データファイルを記憶するステップをさらに含む。
【0065】
[0073]さらなる態様において、本技術は、環境データファイルを使用して3次元(3D)環境を生成するための方法に関する。方法は、環境データファイルを検索するステップであって、環境データファイルは、3D環境に対する複数のモデルを含む、検索するステップと、3D環境内で、複数のモデルのうちの第1のモデルの第1の3D表現を生成するステップであって、第1のモデルは、出口アンカーポイントと関連付けられる、生成するステップと、環境データファイルが、複数のモデルのうちの第2のモデルが第1のモデルの近隣であるということを指示すると決定するステップであって、第2のモデルは、入口アンカーポイントと関連付けられる、決定するステップと、第2のモデルが第1のモデルの近隣であると決定することに基づいて、第2のモデルの第2の3D表現を生成するステップであって、第2のモデルの表現は、第2のモデルと関連付けられる入口アンカーポイントが、第1のモデルの入口ポイントに近接して位置決めされるように、3D環境内で位置決めされる、生成するステップとを含む。例において、第1のモデルの第1の3D表現を生成するステップは、環境データファイルが、第1のモデルのコンテンツポイントと関連付けられるコンテンツアイテムを指定すると決定するステップと、第1の3D表現内の第1のモデルのコンテンツポイントにおいてコンテンツアイテムの表現を生成するステップとを含む。別の例において、コンテンツアイテムの表現を生成するステップは、コンテンツアイテムと関連付けられるリモートリソースに対する要求を生成するステップを含む。さらなる例において、方法は、ユーザデバイスのディスプレイ上で3D表現を提示するステップをさらに含む。さらに別の例において、第1のモデルは、ユーザの観点に対する初期位置を指示し、3D表現を提示するステップは、ユーザの観点に対する初期位置からの3D表現を提示するステップを含む。さらにその上の例において、環境データファイルを検索するステップは、環境データファイルの少なくとも一部分を、リモートデータストアに対して要求するステップを含む。別の例において、第1のモデルおよび第2のモデルは、類似のテーマを有するモデルのセットの構成物である。
【0066】
[0074]本開示の態様を、例えば、本開示の態様による方法、システム、およびコンピュータプログラム製品の、ブロック線図および/または動作図を参照して、上記で説明している。ブロックにおいて記した機能/行為は、任意のフローチャートにおいて示されるような順序を外れて発生することがある。例えば、連続して示される2つのブロックを、実際は、実質的に同時に実行することがあり、または、ブロックを、時には、関与する機能性/行為に依存して、逆の順序で実行することがある。
【0067】
[0075]本出願において提供される1つまたは複数の態様の説明および例示は、請求されるような本開示の範囲を制限または限定させる意図は決してない。本出願において提供される態様、例、および詳細は、所有について伝えるのに、また請求される開示の最良の形態を他者が作製および使用することを可能にするのに十分と考える。請求される開示を、本出願において提供される任意の態様、例、または詳細に制限されると解するべきではない。示され説明されるのが、組み合わせてか、または別個であるかに関わらず、様々な特徴(構造的および方法論的の両方)を、特徴の個別のセットを伴う実施形態を生み出すために、選択的に含める、または省略する意図がある。本出願の説明および例示を提供されたことで、当業者は、請求される開示のより広範な範囲から逸脱しない、本出願において実施される一般的な発明概念のより広範な態様の趣旨の中に当てはまる、変形、修正、および代替の態様を構想することがある。
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9