(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
図面に示される例示的な実装形態の十分な理解を提供するために、数多くの詳細が記載されている。しかしながら、図面は単に本開示のいくつかの例示的な態様を示すものであり、したがって、限定的であると考慮されるべきではない。当業者は、他の有効な態様又は変形が本明細書に記載される特定の詳細全てを含まないことを理解するであろう。更に、周知のシステム、方法、構成要素、デバイス及び回路は、本明細書に記載される例示的な実装形態のより適切な態様を不明瞭にしないように、網羅的に詳細を記載していない。
【0010】
図1及び
図2を参照すると、本発明の態様を実装するための例示的な動作環境5が示されている。一般に、動作環境5は、コンピュータ生成現実(CGR)環境を含むがこれらに限定されない、3Dコンテンツの表示に関与するデバイス10を表す。CGR環境は、人々が電子システムを介して感知する及び/又は対話する、完全に又は部分的にシミュレーション環境を指す。CGRでは、人の身体運動のサブセット又はその表現が追跡され、それに応じて、CGR環境内でシミュレートされた1つ以上の仮想オブジェクトの1つ以上の特性が、少なくとも1つの物理学の法則でふるまうように調整される。例えば、CGRシステムは、人の頭部の回転を検出し、それに応じて、そのようなビュー及び音が物理的環境においてどのように変化し得るかと同様の方法で、人に提示されるグラフィックコンテンツ及び音場を調整することができる。状況によっては(例えば、アクセス性の理由から)、CGR環境における仮想オブジェクト(単数又は複数)の特性(単数又は複数)に対する調整は、身体運動の表現(例えば、音声コマンド)に応じて行われてもよい。
【0011】
人は、視覚、聴覚、触覚、味覚及び嗅覚を含むこれらの感覚のうちのいずれか1つを使用して、CGRオブジェクトを感知する及び/又はCGRオブジェクトと対話してもよい。例えば、人は、3D空間内のポイントオーディオソースの知覚を提供する、3D又は空間オーディオ環境を作り出すオーディオオブジェクトを感知し、及び/又はそれと対話することができる。別の実施例では、オーディオオブジェクトは、コンピュータ生成オーディオの有無にかかわらず、物理的環境から周囲音を選択的に取り込む、オーディオ透過性を可能にすることができる。いくつかのCGR環境では、人は、オーディオオブジェクトのみを感知し、及び/又はそれと対話することができる。
【0012】
CGRの例としては、仮想現実及び複合現実が挙げられる。仮想現実(VR)環境とは、1つ以上の感覚のためのコンピュータ生成感覚入力に完全に基づくように設計されたシミュレーション環境を指す。VR環境は、人が感知する及び/又は対話することができる仮想オブジェクトを備える。例えば、木、建物、及び人々を表すアバターのコンピュータ生成画像は、仮想オブジェクトの例である。人は、コンピュータ生成環境内での人の存在のシミュレーションを通じて、及び/又はコンピュータ生成環境内での人の身体運動のサブセットのシミュレーションを通じて、VR環境における仮想オブジェクトを感知し、及び/又はそれと対話することができる。
【0013】
コンピュータ生成感覚入力に完全に基づくように設計されたVR環境とは対照的に、複合現実(MR)環境は、コンピュータ生成感覚入力(例えば、仮想オブジェクト)を含むことに加えて、物理的環境からの感覚入力又はその表現を組み込むように設計されたシミュレーション環境を指す。仮想の連続体上では、複合現実環境は、一方の端部における完全な物理的環境と、他方の端部における仮想現実環境との間の任意の場所であるが、これらを含まない。
【0014】
MR環境によっては、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変更に応答し得る。また、MR環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト(すなわち、物理的環境又はその表現からの物理的物品)と対話することを可能にするために、物理的環境に対する場所及び/又は向きを追跡することができる。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、動きを考慮することができる。
【0015】
複合現実の例としては、拡張現実及び拡張仮想感が挙げられる。拡張現実(AR)環境は、1つ以上の仮想オブジェクトが物理的環境上か又はその表現上に重ねられたシミュレーション環境を指す。例えば、AR環境を提示するための電子システムは、人が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイ上に仮想オブジェクトを提示するように構成されていてもよく、それによって、人はシステムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。本明細書で使用するとき、物理的環境の少なくとも一部の光が透明又は半透明のディスプレイを通過し得るHMDは、「光学的シースルー」HMDと呼ばれる。
【0016】
あるいは、システムは、不透明ディスプレイと、物理的環境の表現である、物理的環境の画像又はビデオをキャプチャする1つ以上の画像センサとを有してもよい。システムは、画像又はビデオを仮想オブジェクトと合成し、その合成物を不透明なディスプレイ上に提示する。人は、システムを使用して、物理的環境の画像又はビデオによって物理的環境を間接的に見て、物理的環境上に重ねられた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境のビデオは、「パススルービデオ」と呼ばれ、システムが、1つ以上の画像センサ(単数又は複数)を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にAR環境を提示する際にそれらの画像を使用することを意味する。
【0017】
更に代替的に、システムは、仮想オブジェクトを、物理的環境に、例えば、ホログラムとして又は物理的表面上に投影するプロジェクションシステムを有してもよく、それによって、人は、システムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。
【0018】
拡張現実環境はまた、物理的環境の表現がコンピュータ生成感覚情報によって変換されるシミュレーション環境を指す。例えば、パススルービデオを提供する際に、システムは、1つ以上のセンサ画像を変換して、画像センサによってキャプチャされた視点とは異なる選択された視点(例えば、観点)を課すことができる。別の実施例として、物理的環境の表現は、その一部分をグラフィカルに変更(例えば、拡大)することによって変換されてもよく、それにより、変更された部分は、元のキャプチャ画像を表すが写実的ではないバージョンとなり得る。更なる例として、物理的環境の表現は、その一部分をグラフィカルに除去又は曖昧化することによって変換されてもよい。
【0019】
拡張仮想感(AV)環境は、物理的環境からの1つ以上の感覚入力を仮想環境又はコンピュータ生成環境が組み込むシミュレーション環境を指す。感覚入力は、物理的環境の1つ以上の特性の表現であり得る。例えば、AVパークには、仮想の木及び仮想の建物があり得るが、顔がある人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、1つ以上の画像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽の位置と一致する影を採用することができる。
【0020】
多種多様の電子システムが存在することによって、人が様々なCGR環境を感知する及び/又はCGR環境と対話できるようになる。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ(HUD)、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、(例えば、コンタクトレンズと同様に)人の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン/イヤフォン、スピーカアレイ、入力システム(例えば、触覚フィードバックを有する又は有さない、ウェアラブル又はハンドヘルドコントローラ)、スマートフォン、タブレット、及びデスクトップ/ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、1つ以上のスピーカ(単数又は複数)及び一体型不透明ディスプレイを有してもよい。あるいは、ヘッドマウントシステムは、外部の不透明ディスプレイ(例えば、スマートフォン)を受け入れるように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくはビデオをキャプチャするための1つ以上の画像センサ、及び/又は物理的環境の音声をキャプチャするための1つ以上のマイクロフォンを組み込んでいてもよい。
【0021】
不透明ディスプレイではなく、ヘッドマウントシステムは、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、OLED、LED、uLED、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。一実装形態において、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィック画像を人間の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、例えば、ホログラムとして、又は物理的表面上に、仮想オブジェクトを物理的環境内に投影するように構成されていてもよい。
【0022】
いくつかの実装形態において、デバイス10は、CGRコンテンツをユーザに提示するように構成されたハンドヘルド電子デバイス(例えば、スマートフォン又はタブレット)である。いくつかの実装形態において、デバイス10は、ユーザが着用するヘッドマウントデバイス(HMD)である。このようなHMDは、ユーザの視野を取り囲むことができる。いくつかの実装形態において、HMDは、1つ以上のスクリーンがユーザの視野内にCGRコンテンツを表示するように位置決めされる方法で着用される。いくつかの実装形態において、2つのデバイス(例えば、HMD、及びHMDと無線通信するコントローラデバイス)は、互いに通信して、CGRコンテンツを提供する(例えば、カメラ及びセンサを使用して、現実世界シーン20についての情報を収集し、CGRコンテンツを表示する1つ以上のディスプレイを有するHMD、並びにカメラ/センサデータ及び他のデータを処理して、CGRコンテンツをHMDに提供するコントローラデバイス)。
【0023】
図1及び
図2では、3Dコンテンツ(例えば、CGR環境15)は、(例えば、現実世界シーン20のローカルにキャプチャされた画像を介して)現実世界シーン20の描写と仮想要素の描写とを組み合わせている。様々な実装形態により、デバイス10が異なる閲覧モード(例えば、平面的、立体的など)で、CGR環境を閲覧又は編集できるようにする。CGR環境は、パススルービデオ(例えば、現実世界コンテンツがカメラによってキャプチャされ、ディスプレイ上に表示される)又は光学的シースルー(例えば、現実世界コンテンツが直接又はガラスを通して見える)であり得る。例えば、CGRシステムは、レンダリングされた3Dグラフィックを内蔵カメラによってキャプチャされたライブビデオストリームに統合することにより、ユーザに、消費者の携帯電話のディスプレイ上にパススルービデオを提供することができる。別の例として、CGRシステムは、レンダリングされた3Dグラフィックをウェアラブルシースルーヘッドマウントディスプレイ(「HMD」)に重ねることによって、ユーザに光学的シースルーCGRを提供することができ、重ねられた3Dモデルを用いて現実世界のユーザの光学的ビューを電気的に強化することができる。
【0024】
コンテンツ内の仮想要素のモダリティは、コンテンツに対する仮想要素の場所に基づく。いくつかの実装形態において、仮想要素のモダリティは、例えば、仮想要素の初期位置に基づいて、仮想要素がコンテンツ内に最初に挿入されるときに判定される。いくつかの実装形態において、仮想要素のモダリティは、仮想要素がコンテンツ内で移動されるときに判定され、変更される。いくつかの実装形態において、コンテンツに対して行われた変更は、仮想要素のモダリティに影響を及ぼす。例えば、デバイス10のユーザは、仮想要素に関連付けられたコンテンツの属性を移動又は変更してもよく、例えば、仮想要素がオープン3D空間(例えば、「空中」)内に残されるように、仮想要素が「載っている」仮想面を排除することができる。
【0025】
図1及び
図2の実施例では、デバイス10は、CGR環境15を提示する。デバイス10上で観察されたCGR環境15は、現実世界シーン20を現実のアイテム、例えば、エンドテーブル25、壁30、床35、及びオープン3D空間40と共に描かれる。1つ以上の仮想要素は、CGR環境15内に自動的に又は手動で含められる。一実施例において、仮想要素は、CGR環境15内の現実のオブジェクトに基づいて自動的に選択される。別の実施例では、ユーザは、CGR環境15内に含めるために1つ以上の仮想要素を選択するための入力を提供する。いくつかの実装形態において、CGR環境15は、単一のソフトウェアアプリケーションなどの単一のソースからの仮想要素を含む。他の実装形態において、CGR環境15は、複数のソースからの仮想要素の配置を含む。例えば、CGR環境15は、複数の別々に実行されるソフトウェアアプリケーションからの複数の仮想要素を含む、現実又は仮想要素のためのCGR「デスクトップ」を提供することができる。例えば、このような環境は、その上面、壁、床などに位置決めされた1つ以上の仮想要素を有する現実環境の机の描写を表示することができ、このような仮想要素は、個別の別々に実行されるアプリケーションから提供されていてもよい。
【0026】
図1及び
図2の実施例では、CGR環境15は、エンドテーブル25、壁30、床35などの平面を示しているが、いくつかの実装形態にでは、CGR環境15は、代わりに、現実世界の非平面及び仮想非平面又は合成された非平面を含む、非平面(例えば、複雑な幾何学的形状を有する表面)を示し得る。更に、いくつかの実装形態は、現実世界シーン20をキャプチャする又は表すために、並びにCGR環境15を生成するために、平面、三角形メッシュ、又は容積表現を使用してもよい。いくつかの実装形態において、参照コンピュータ支援製図(computer-aided drawing、CAD)モデルを使用して、例えば、エンドテーブル25などのアイテムを特定する又は表することができる。
【0027】
いくつかの実装形態において、現実世界シーン20の現実のアイテムは、現実世界シーン20又はCGR環境15内の質感(例えば、色)の遷移又は相違に基づいて特定される。例えば、現実のアイテム、例えば、エンドテーブル25は、黒い領域を含み得、現実世界シーン20又はCGR環境15に直接隣接する領域は、白色であり得る。したがって、現実のアイテムの境界は、明るい色と暗い色との間の遷移する質感の領域を特定することによって判定され得る。いくつかの実装形態において、現実のアイテムは、SfM(structure-from-motion)法、SLAM(simultaneous localization and mapping)法、コンピュータビジョンパッシブステレオ法、構造化光を含むコンピュータビジョンアクティブステレオ法、フォトメトリックステレオ法、shape−from−shading法、shape−from−defocus法、幾何学的モデルフィッティング法、機械学習法、又は単眼深度推定法に基づいて特定される。
【0028】
本明細書に開示されるデバイス、システム、及び方法は、CGR環境15内の物理属性又は仮想属性に対する仮想要素の相対的な場所に基づいて、仮想要素を表示することを可能にする。デバイス10のユーザが仮想要素をCGR環境15内に配置若しくは再位置決めするか、又は仮想要素の周囲のCGR環境15を変更すると、仮想要素のモダリティは、変化又は適応する。具体的には、仮想要素のモダリティは、近くのCGRコンテンツの1つ以上の属性に対する仮想要素の場所に基づいて判定される。このようなモダリティは、仮想要素の外観、機能性、又は対話性の側面を含むことができる。
【0029】
更に、CGR環境15は、共平面仮想要素、例えば、仮想モニタの仮想スクリーン上に位置決めされた1つ以上の仮想要素を有する現実環境の机の描写上に表示された仮想モニタを含んでもよい。このような実装形態では、第1の共平面仮想要素(例えば、仮想モニタ)は、1つ以上の第2の共平面仮想要素(例えば、天気アプリ)の配置のための受信側として機能してもよく、第2の共平面仮想要素(単数又は複数)の配置のための境界を画定することができる。更なる実装形態において、第1の共平面仮想要素は、第2の共平面仮想要素(単数又は複数)のモーダルコンテキストを提供する。すなわち、第2の共平面仮想要素(単数又は複数)のモダリティは、第1の共平面仮想要素に基づいて変化又は適応し得る。
【0030】
仮想要素、例えば、天気オブジェクト)は、CGR環境15内の仮想要素の異なる場所に従って、異なるモダリティ45、50、55内のCGR環境15に含まれる。これを説明するために、仮想要素の複数のインスタンスが、異なる場所に異なるモダリティで
図1に描かれている。仮想要素のこれらのインスタンスは、例えば、仮想要素がCGRコンテンツの使用中に異なる時点で位置決めされ得るので、異なる位置に仮想要素のモダリティを描いている。したがって、異なるモダリティ45、50、55は、必ずしも同じ瞬間に表示されない。仮想要素の複数の別個のインスタンスが同時にCGRコンテンツに含まれる場合、異なるモダリティ45、50、55は、同じ瞬間にのみ表示され、これはいくつかの実装形態において可能である。
【0031】
図1は、仮想要素のモダリティが(例えば、表面、垂直面、水平面、壁、床、天井、テーブル、空中などにおける)CGR環境15の1つ以上の属性に対するその場所にどのように依存するかを示す。本実施例では、仮想要素のモダリティは、仮想要素がエンドテーブル25、壁30、床35、又はオープン3D空間40に位置決めされるかどうかに依存する。
【0032】
仮想要素のモダリティ(例えば、外観、機能、及びインタラクティブフィーチャ)は、例えば、複数のCGRコンテンツ属性(例えば、表面、水平面、垂直面、壁、床、テーブル、天井など)に関連付けられた複数の位置状態(例えば、水平面上、垂直面上、空中など)の各々に対して異なるモダリティ状態定義を作成し得る、仮想要素の作成者によって構成され得る。
【0033】
図1は、垂直面モダリティ45内に表示された仮想要素を示す。壁30に位置決めされている、したがって垂直面属性に関連付けられた仮想要素に基づいて、仮想要素は、垂直面モダリティ45内に(例えば、天気記号として)表示される。本実施例では、仮想要素の垂直面モダリティ45は、天気並びに予測される最高気温及び最低気温を表す2D画像又は記号を表示する。仮想要素の機能性及び対話性は、そのモダリティに依存し得る。例えば、仮想要素の垂直面モダリティ45は、ドップラーレーダマップの表示などのモダリティ固有の機能性を提供し得る。別の例として、仮想要素の垂直面モダリティ45は、ユーザ制御可能なアニメーションなどのモダリティ固有のユーザ対話性を提供し得る。例えば、仮想要素の垂直面モダリティ45は、仮想要素又は仮想要素に近接する領域がデバイス10のタッチスクリーン上でクリックされるか、又はタッチされると、天気アニメーションを提供するように構成されていてもよい。別の実施例では、仮想要素の垂直面モダリティ45は、仮想要素が上にホバーされるか、タッチされるか、又はクリックされると、その外観、例えば、その表示された情報変更するように構成されていてもよい。別の実施例では、仮想要素の垂直面モダリティ45は、ユーザとの対話に基づいて、その外観を拡大するように構成されていてもよい。
【0034】
図1は、オープン空間モダリティ50内に表示された仮想要素を更に示す。本実施例では、仮想要素のオープン空間モダリティ50の外観、機能性、及び対話性は、垂直面モダリティ45のものとは異なる。垂直面モダリティ45の2D外観とは対照的に、オープン空間モダリティ50は、3D外観を有する。オープン空間モダリティ50は、ユーザの現在の地理的場所における現在の天気条件又は予測気象条件の3D表現を提供し、例えば、浮かんでいる太陽、雨雲、竜巻などを表示する。
【0035】
図1は、水平面モダリティ55内に表示された仮想要素を更に示す。本実施例では、仮想要素の水平面モダリティ55の外観、機能性、及び対話性は、垂直面モダリティ45及びオープン空間モダリティ50のものとは異なる。本実施例における仮想要素は、現実世界エンドテーブル25の描写の水平平坦面に対して位置決めされる。この場所に基づいて、仮想要素は、例えば、現在の又は予測される天気がドーム内に3D様式で表示される装飾スノードームとして、水平面モダリティ55内に表示される。更に、例示的な水平面モダリティ55は、予測される天気に応じて、例えば、ドーム内の降雪又は降雨のような時変コンテンツを使用して天気を提示する。水平面モダリティ55(例えば、スノードーム)の対話性には、ユーザがデバイス10のインタフェースを介してドームをクリック又はタッチするときに、ドームのアニメーションを開始又は停止することを含み得る。当業者によって適応されるように、仮想要素の外観、機能性、及び対話性は、任意の数の特徴を含んでもよく、例えば、スノードームがデバイス10上でクリックされるか、又はデバイス10を介してタッチされるときに追加の予測情報を表示することができる。
【0036】
図2は、デバイスがユーザ65の頭部に着用されるように構成されたHMDである、
図1によって提供される環境を示す。このようなHMDは、ユーザ65の視野を取り囲むことができる。HMDは、CGR環境15を表示するように構成された1つ以上のスクリーン又は他のディスプレイを含むことができる。いくつかの実装形態において、HMDは、ユーザ65の視野内にある現実世界コンテンツと共に仮想要素を表示するための1つ以上のスクリーン又は他のディスプレイを含む。いくつかの実装形態において、HMDは、1つ以上のスクリーンがユーザ65の視野内の現実世界シーン20の現実世界コンテンツと共にCGR環境15を表示するように位置決めされる方法で着用される。いくつかの実装形態において、CGR環境15を提供するデバイス10は、ユーザ65がデバイス10を装着しないか又は保持しないCGR環境15を提示するように構成されたチャンバ、エンクロージャ又は部屋である。
【0037】
図3及び
図4は、CGRコンテンツが現在時刻などの時間情報を提供する仮想要素を含む、例示的な動作環境70を示す。例示的な動作環境70では、現実世界シーン20は、複数の現実世界オブジェクト及び関連付けられた属性、例えば、壁30、床35、テーブル75、及びオープン3D空間40を含む。
図1及び
図2の実施例と同様に、
図3及び
図4の実施例に描かれたCGR環境15は、CGRコンテンツの属性に対して異なる位置に配置されたときに異なるモダリティを有する仮想要素を含む。仮想要素のモダリティ(例えば、外観、機能、及びインタラクティブフィーチャ)は、例えば、複数のCGRコンテンツ属性(例えば、表面、水平面、垂直面、壁、床、テーブル、天井など)に関連付けられた複数の位置状態(例えば、水平面上、垂直面上、空中など)の各々に対して異なるモダリティ状態定義を作成し得る、仮想要素作成者によって構成され得る。
【0038】
図3は、垂直面モダリティ45内に表示された仮想要素を示す。例示的な動作環境70では、ユーザは、仮想要素をCGR環境15内の壁30の近くに位置決めすることができる。壁30の近くに位置決めされるとき、仮想要素は、垂直面モダリティ80を有する。垂直面モダリティ80では、仮想要素は、壁掛け時計の外観、機能性、及び対話性を有する。
【0039】
仮想要素は、そのモダリティのうちの1つ以上において、エンドユーザによってカスタマイズされるように構成され得る。例えば、仮想要素が壁30の近くに配置されるとき、仮想要素は、垂直面モダリティ80内に表示され得、ユーザは、モダリティ固有の表示オプションが提示されてもよく、例えば、ユーザは、この特定の垂直面モダリティ80においてアナログ形式又はデジタル形式で時間を表示するかどうかを選択することができる。
【0040】
図3は、床モダリティ85内に表示された仮想要素を更に示す。仮想要素を壁30に沿って配置する代わりに、ユーザは、仮想要素を床35に近接する場所に配置してもよい。例示的な図では、仮想要素の床モダリティ85は、直立している大型振子時計である。仮想要素の床モダリティ85は、モダリティ固有の機能及びインタラクティブフィーチャを提供し得る。一例として、床モダリティ85は、振子、ユーザがデバイス10とのユーザ対話(例えば、音声コマンド、ハンドジェスチャ、視線など)を提供したときに大型振子時計の面から出現するカッコウを含んでもよい。
【0041】
図3は、水平面モダリティ90内に表示された仮想要素を更に示す。例えば、ユーザが仮想要素をCGR環境15内のテーブル75の水平面の近くに位置決めする場合、仮想要素は、水平面モダリティ90内に表示され得る。水平面モダリティ90では、仮想要素は、時計付きラジオの外観を有する。本実施例では、水平面モダリティ90は、ユーザに、インタラクティブフィーチャ105を介して対話する能力を提供する。具体的には、仮想要素の水平面モダリティ90(例えば、ラジオ時計)は、ラジオ上で同調することによって、又は時計付きラジオのボリュームを調整することによって、仮想要素のラジオ機能を制御するためのノブ又はボタンを含む。
【0042】
図4に示すように、デバイス10は、ユーザ65の頭部に着用されるように構成されたHMDであり得る。
【0043】
いくつかの実装形態において、現実世界オブジェクト及び仮想要素の描写を含むCGRコンテンツは、単一のアプリケーションによって提供される。他の実装形態において、オペレーティングシステムなどのアプリケーションは、別々のソースからのコンテンツが組み合わされる共有仮想空間を含む、CGRコンテンツを提供する。一実施例において、オペレーティングシステムは、1つ以上の別々のアプリケーションによって提供される仮想要素を含む共有仮想空間を提供する。
図5は、そのような実装形態の実施例を提供する。
【0044】
図5は、いくつかの実装形態に係る、CGR環境15に含めるために仮想要素120などの仮想要素をオペレーティングシステム130に提供する複数のアプリ115a〜nを含む、デバイス10のブロック図である。本実施例では、アプリ115aは、仮想要素120の配置及びモダリティについての情報を含む仮想要素120を提供する。このようなモダリティ情報は、例えば、仮想要素120が異なるモダリティではどのように見え、機能し、対話するかなどである。モダリティ情報は、仮想要素120の1つ以上の2Dモデル又は3Dモデルを含み得る。いくつかの実装形態において、仮想要素120の3Dモデルは、三角形、直線、曲線、表面などの様々な幾何学的エンティティによって接続された3D空間内の点の集合を特定する。
図5では、仮想要素120は、CGR環境15に加えられ、テーブル125の上のCGR環境15のビュー200に描かれている。仮想要素120は、アプリ115aによってオペレーティングシステム130に提供され、仮想要素120が配置に基づいてモダリティを変更することを示すモダリティ情報を含む。
【0045】
図6は、いくつかの実装形態による、デバイス10のデバイス構成要素を示すブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実装形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的のために、非限定的な例として、いくつかの実装形態において、デバイス10は、1つ以上の処理ユニット142(例えば、マイクロプロセッサ、ASIC、FPGA、GPU、CPU、処理コアなど)、1つ以上の入出力(I/O)機器及びセンサ146、1つ以上の通信インタフェース148(例えば、USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE802.16x、GSM、CDMA、TDMA、GPS、赤外線、BLUETOOTH、ZIGBEE、SPI、I2C又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース150、1つ以上のディスプレイ152、1つ以上の内部又は外部対向画像センサシステム(interior or exterior facing image sensor systems)154、メモリ160、及びこれら並びに様々な他の構成要素を相互接続するための1つ以上の通信バス144が挙げられる。
【0046】
いくつかの実装形態において、1つ以上の通信バス144は、システム構成要素間の通信を相互接続し、制御する回路を含む。いくつかの実装形態において、1つ以上のI/O機器及びセンサ146は、少なくとも1つのタッチスクリーン、ソフトキー、キーボード、仮想キーボード、ボタン、ノブ、ジョイスティック、スイッチ、ダイアル、慣性測定装置(IMU)、加速度計、磁力計、ジャイロスコープ、温度計、1つ以上の生理的センサ(例えば、血圧モニタ、心拍数モニタ、血液酸素センサ、血糖センサなど)、1つ以上のマイクロフォン、1つ以上のスピーカ、触覚エンジン、1つ以上の深度センサ(例えば、構造化光、飛行時間など)などが挙げられる。いくつかの実装形態において、1つ以上のI/O機器及びセンサ146によって検出されたデバイス10の動き、回転又は場所は、デバイス10へ入力を提供する。
【0047】
いくつかの実装形態において、1つ以上のディスプレイ152は、ユーザインタフェースを提示するように構成される。いくつかの実装形態において、1つ以上のディスプレイ152は、ホログラフィック、デジタル光処理(DLP)、液晶ディスプレイ(LCD)、LCoS、有機発光電界効果トランジスタ(OLET)、有機発光ダイオード(OLED)、表面伝導型電子放出素子ディスプレイ(SED)、電界放出ディスプレイ(FED)、量子ドット発光ダイオード(QD−LED)、MEMS又は同様のディスプレイタイプに相当する。いくつかの実装形態において、1つ以上のディスプレイ152は、回折、反射、偏光、ホログラフィックなどの、導波管ディスプレイに相当する。一実施例において、デバイス10は単一のディスプレイを含む。別の実施例では、デバイス10は、眼鏡型ディスプレイを含む。いくつかの実装形態において、1つ以上のディスプレイ152は、CGRコンテンツを提示することができる。
【0048】
いくつかの実装形態において、1つ以上の画像センサシステム154は、デバイス10に対してローカルなシーンの少なくとも一部分に対応する画像データを取得するように構成されている。1つ以上の画像センサシステム154は、1つ以上のRGBカメラ(例えば、相補型金属酸化膜半導体(CMOS)画像センサ又は電荷結合デバイス(CCD)画像センサを備えた)、モノクロカメラ、赤外線カメラ、イベントベースのカメラなどを含むことができる。様々な実装形態において、1つ以上の画像センサシステム154は、フラッシュなどの光を発する照明光源を更に含む。
【0049】
メモリ160は、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含む。いくつかの実装形態において、メモリ160は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス又は他の不揮発性記憶デバイスなどの、不揮発性メモリを含む。メモリ160は、1つ以上の処理ユニット142からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ160は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態において、メモリ160又はメモリ160の非一時的コンピュータ可読記憶媒体は、任意選択のオペレーティングシステム130及び1つ以上のアプリケーション115a〜nを含む、以下のプログラム、モジュール、及びデータ構造、又はそのサブセットを記憶する。オペレーティングシステム130は、様々な基本システムサービスを行い、ハードウェア依存タスクを実行するための手順を含む。
【0050】
いくつかの実装形態において、オペレーティングシステム130は、複数のソースからのデータ、例えば、カメラからの現実世界データ及び1つ以上のアプリケーション(単数又は複数)138(例えば、115a〜n)からの仮想要素を使用して、CGRコンテンツ(例えば、CGR環境のビュー)を生成するためのCGRコンテンツ作成ユニット132を含む。オペレーティングシステム130は、モダリティを判定するための1つ以上のアプリケーション(単数又は複数)138によって使用される、CGRモダリティ選択ユニット134を更に含む。CGRモダリティ選択ユニット134は、CGRコンテンツに対する仮想要素の場所に基づいてモダリティを特定するように構成される。オペレーティングシステム130は、仮想要素情報など、アプリケーション(単数又は複数)138からの情報を受信し、仮想要素の配置並びにCGRコンテンツ作成ユニット132及びCGRモダリティ選択ユニット134によって解釈されるようなモダリティの選択に関する情報をアプリ115a〜nと交換するアプリケーションインタフェースユニット136を更に含む。いくつかの実装形態において、位置に基づいてモダリティを適応させる機能性は、オペレーティングシステム130ではなく、アプリ115a〜n内に構築される。いくつかの実装形態において、単一のアプリケーション、モジュール、又は他の機能ユニットは、仮想要素を定義し、CGRコンテンツを作成し、かつCGRコンテンツ内の仮想要素の位置に基づいて選択されたモダリティに従って、CGRコンテンツ内の仮想要素を含む機能性を含む。
【0051】
図6は、本明細書に記載される実装形態の構造概略とは対照的に、特定の実装形態に存在する様々な特徴の機能的説明を更に意図している。当業者によって認識されるように、別々に示されたアイテムを組み合わせることができ、一部のアイテムを分離することができる。例えば、
図6に別々に示されるいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、様々な実装形態において1つ以上の機能ブロックによって実装され得る。モジュールの実際の数並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実装形態において、特定の実装形態のために選択されたハードウェア、ソフトウェア又はファームウェアの特定の組み合わせに部分的に依存する。
【0052】
図7は、仮想要素の提示がビューに描かれた物理的環境に対する位置決めに基づく仮想要素を含むビューを提示する方法700のフローチャート表現である。いくつかの実装形態において、方法700は、デバイス(例えば、
図1〜
図6のデバイス10)によって実行される。方法700は、モバイル機器、HMD、デスクトップコンピュータ、ラップトップコンピュータ又はサーバデバイスで実行することができる。いくつかの実装形態において、方法700は、ハードウェア、ファームウェア、ソフトウェア又はそれらの組み合わせを含む処理ロジックによって実行される。いくつかの実装形態において、方法700は、非一時的コンピュータ可読媒体(例えば、メモリ)に記憶されたコードを実行するプロセッサによって実行される。
【0053】
ブロック710において、デバイスは、画像センサを使用して物理的環境を表す画像データを取得する。画像は、ローカルレコーダ/カメラ又はリモートレコーダ/カメラのいずれかによってキャプチャされてもよく、いくつかの実装形態では、レコーダ/カメラは、独立型デバイスであってもよく、携帯電話若しくはビデオゲームコンソールに組み込まれてもよく、又はHMDに含まれてもよい。現実世界シーンによって反射された光は、1つ以上のカメラ画像によってキャプチャされてもよい。いくつかの実装形態において、方法は、現実世界シーンの1つ以上のカメラ画像を組み合わせて、環境の単一画像又は3Dモデルを形成してもよい。
【0054】
ブロック720において、方法700は、デバイスのディスプレイ上に1つ以上の仮想要素及び物理的環境を描くビューを提供する。ビューは、パススルービデオ(例えば、現実世界コンテンツがカメラによってキャプチャされ、仮想要素と共にディスプレイ上に表示される)又は光学的シースルーコンテンツ(例えば、現実世界コンテンツが直接又はガラスを通して見え、表示された仮想要素の画像を補足する)を含み得る。
【0055】
ブロック730において、方法700は、ビューの変化を検出する。変化は、ビューに描かれた物理的環境に対するビュー内の場所における仮想要素の配置を含み得る。更に、この変化は、仮想要素をその場所に位置決めする入力を介して、デバイスによって受信されてもよい。例えば、デバイスのユーザは、仮想要素を含むビューの属性又は特性を変更するために、キーボード入力、マウス入力、タッチ入力、音声入力、又は他の入力を提供してもよい。例えば、ユーザは、仮想要素又は3Dモデルのサイズ、色、質感、向きなどを変更し、3Dモデル又は3Dモデルの一部分を追加し、3Dモデル又は3Dモデルの一部分を削除するなどをしてもよい。いくつかの実装形態において、システムの効率を向上させるために、変更が統合されるか、又は合体される。例えば、変更は、3Dモデルの初期状態と最終状態との間の複数の変化を検出することと、3Dモデルの初期状態と最終状態との相違を特定することと、を伴い得る。例えば、仮想要素が最初に10ユニット左に移動された後、5ユニット右に移動された場合、仮想要素が5ユニット左に移動するという単一の変化を特定することができる。
【0056】
ブロック740において、方法700は、ビュー内の仮想要素の場所に基づいて、ビューに描かれた物理的環境内の属性を検出する。いくつかの実装形態において、属性を検出することは、ビューに描かれた物理的環境内において仮想要素が位置決めされている表面、隣接する表面若しくは要素、又は表面のタイプを検出すること、例えば、仮想要素が自由空間内に位置決めされているか、又は床、テーブル、壁、若しくは天井に位置決めされているかを判定することを含む。いくつかの実装形態において、属性を検出することは、物理的環境のオブジェクト及び他の属性を特定するために、ニューラルネットワーク又は他の機械学習モデルなどのモデルを使用することを含む。いくつかの実装形態において、機械学習モデルは、壁、天井、床、テーブル、傾斜面、平面、曲面、円形表面、テクスチャ表面、特定の色又は質感の表面などを特定するように訓練される。いくつかの実装形態において、属性を検出することは、分類子を使用して、ビューに描かれた物理的環境の一部分の分類を特定すること、又は仮想要素が位置決めされ得る部分の量を特定することと、例えば、仮想要素が(例えば、仮想要素は表面上に位置決めされていない)空中に位置決めされていることを検出することを含む。更に、いくつかの実装形態において、方法700は、座標系を有する物理的環境の3Dモデルを判定し、3Dモデルにおける属性に対する仮想要素の場所に基づいて属性を特定する。いくつかの実装形態において、方法700は、その場所における要素の表示が属性に基づいて許可されているかどうかを判定する。
【0057】
ブロック750において、方法700は、属性に基づいて仮想要素を提示する。いくつかの実装形態において、方法700は、属性に基づいて仮想要素のモダリティ(例えば、外観、機能、又は対話性)を選択する。
図1〜
図4は、環境の属性に対する仮想要素の場所に基づいて仮想要素のモダリティ(例えば、外観、機能、又は対話性)を適応させる実施例を提供する。
【0058】
実装形態において、方法700は、ビューが選択されたモダリティに従って仮想要素を含むように、デバイスのディスプレイ上のビューを更新する。方法700は、仮想要素を提供する別々のアプリに通知を送信することができる。通知は、仮想要素の場所に対応するビューの属性を特定することができ、アプリは、モダリティに基づいて仮想要素の外観、機能、又は対話性を更新する特定の情報で応答することができる。
【0059】
図8は、3Dコンテンツ(例えば、仮想要素)が、CGR環境に対する3Dコンテンツの場所に基づいてモダリティを変更するディスプレイ上に3Dコンテンツを提示する方法800のフローチャート表現である。いくつかの実装形態において、方法800は、デバイス(例えば、
図1〜
図6のデバイス10)によって実行される。方法800は、モバイル機器、HMD、デスクトップコンピュータ、ラップトップコンピュータ又はサーバデバイスで実行することができる。いくつかの実装形態において、方法800は、ハードウェア、ファームウェア、ソフトウェア又はそれらの組み合わせを含む処理ロジックによって実行される。いくつかの実装形態において、方法800は、非一時的コンピュータ可読媒体(例えば、メモリ)に記憶されたコードを実行するプロセッサによって実行される。
【0060】
ブロック810において、方法800は、デバイスのディスプレイ上にCGR環境のビューを提示する。CGR環境は、3Dコンテンツ(例えば、物理的要素又は仮想要素)の1つ以上のアイテムを含んでもよい。3Dコンテンツは、パススルービデオ(例えば、現実世界コンテンツがカメラによってキャプチャされ、仮想要素と共にディスプレイ上に表示される)又は光学的シースルーコンテンツ(例えば、現実世界コンテンツが直接又はガラスを通して見え、表示された仮想要素の画像を補足する)を含み得る。
【0061】
ブロック820において、方法800は、3Dコンテンツに関連付けられた変化を検出する。変化は、残りの環境に対する場所における仮想要素の位置決めを含み得る。更に、この変化は、仮想要素をその場所に位置決めする入力を介して、デバイスによって受信されてもよい。例えば、デバイスのユーザは、仮想要素を含む3Dコンテンツの属性を変更するために、手検出入力、キーボード入力、マウス入力、タッチ入力、音声入力、又は他の入力を提供してもよい。例えば、ユーザは、仮想要素又は3Dモデルのサイズ、色、質感、向きなどを変更し、3Dモデル又は3Dモデルの一部分を追加し、3Dモデル又は3Dモデルの一部分を削除するなどをしてもよい。
【0062】
ブロック830において、方法800は、3Dコンテンツの場所に基づいて属性を検出する。いくつかの実装形態において、属性を検出することは、3Dコンテンツに描かれた環境内において仮想要素が位置決めされている隣接する表面若しくは要素、又は表面のタイプを検出すること、例えば、仮想要素が自由空間内に位置決めされているか、又は床、テーブル、壁、天井、若しくは別の仮想要素上に位置決めされているかを判定することを含む。いくつかの実装形態において、属性を検出することは、分類子を使用して、3Dシーンに描かれた環境の一部分の分類を特定することと、及び/又は仮想要素が位置決めされ得る利用可能な、その一部分の量を特定すること、例えば、仮想要素が空中に又は別の共平面仮想要素の境界内に位置決めされていることを検出することを含む。更に、いくつかの実装形態において、方法800は、座標系を有するCGR環境の3Dモデルを判定し、CGR環境における属性に対する仮想要素の場所に基づいて属性を特定する。いくつかの実装形態において、方法800は、その場所における要素の表示が属性に基づいて許可されているかどうかを判定する。
【0063】
属性は、現実世界構成要素及び/又は仮想構成要素、並びに仮想オブジェクトを含む、CGR環境の構成要素を説明するために使用される。更に、属性は、クラス内変動(例えば、海に波があることも、あるいは、波がないこともある)、並びにクラス間関係(例えば、プールと海の両方に波があることがある)を示してもよい。属性の例としては、表面特性(例えば、光沢)、機能若しくはアフォーダンス(例えば、バウンド、点滅)、空間エンベロープ属性(例えば、取り囲まれている、対称的である)、材料属性(例えば、アルミニウム、木材)、又は3Dコンテンツの任意の他の属性に基づく表現を挙げることができる。
【0064】
ブロック840において、方法800は、属性に基づいて仮想要素のモダリティを選択する。いくつかの実装形態において、方法800は、属性に基づいて仮想要素の外観、機能、及び/又は対話性を選択する。
【0065】
ブロック850において、方法800は、デバイスのディスプレイ上の3Dコンテンツを更新する。3Dコンテンツは、選択されたモダリティに従って仮想要素を含めるように更新されてもよい。方法800は、仮想要素を提供する別々のアプリに通知を送信することができる。通知は、仮想要素の場所に対応する属性を特定することができ、アプリは、仮想要素の外観、機能、又は対話性を更新するモダリティ固有の情報で応答することができる。
【0066】
図9は、仮想要素が、残りのCGR環境に対する仮想要素の場所に基づいてモダリティを変更するディスプレイ上にCGR環境を提示する方法900のフローチャート表現である。いくつかの実装形態において、方法900は、デバイス(例えば、
図1〜
図6のデバイス10)によって実行される。方法900は、モバイル機器、HMD、デスクトップコンピュータ、ラップトップコンピュータ又はサーバデバイスで実行することができる。いくつかの実装形態において、方法900は、ハードウェア、ファームウェア、ソフトウェア又はそれらの組み合わせを含む処理ロジックによって実行される。いくつかの実装形態において、方法900は、非一時的コンピュータ可読媒体(例えば、メモリ)に記憶されたコードを実行するプロセッサによって実行される。
【0067】
ブロック910において、方法900は、デバイスのディスプレイ上にCGR環境のビューを提示する。CGR環境は、パススルービデオ(例えば、現実世界コンテンツがカメラによってキャプチャされ、仮想要素と共にディスプレイ上に表示される)又は光学的シースルーコンテンツ(例えば、現実世界コンテンツが直接又はガラスを通して見え、表示された仮想要素の画像を補足する)を含み得る。
【0068】
ブロック920において、方法900は、CGR環境に関連付けられた変化を検出する。変化は、物理的環境及び/又はCGR環境に描かれた仮想環境/要素に対する場所における仮想要素及び/又は物理的オブジェクトの位置決めを含み得る。更に、この変化は、仮想要素をその場所に位置決めする入力を介して、デバイスによって受信されてもよい。例えば、デバイスのユーザは、仮想要素を含むCGR環境の属性を変更するために、手検出入力、キーボード入力、マウス入力、タッチ入力、音声入力、又は他の入力を提供してもよい。例えば、ユーザは、仮想要素又は3Dモデルのサイズ、色、質感、向きなどを変更し、3Dモデル又は3Dモデルの一部分を追加し、3Dモデル又は3Dモデルの一部分を削除するなどをしてもよい。別の例として、ユーザは、現実世界環境内における物理的オブジェクトの場所を変化させることができ、これにより、物理的オブジェクトに対してCGR環境に描かれた仮想要素の相対的な場所を順次変更することができる。
【0069】
ブロック930において、方法900は、仮想要素の場所に基づいて、CGR環境に描かれた表面を(又は、自立している若しくは浮かんでいるアイテムの場合には表面がないことを)検出する。いくつかの実装形態において、表面を検出することは、CGRコンテンツに描かれた環境内において仮想要素が位置決めされている隣接する表面若しくは要素、又は表面のタイプを検出すること、例えば、仮想要素が自由空間内に位置決めされているか、又は床、テーブル、壁、天井、若しくは別の仮想要素上に位置決めされているかを判定することを含む。いくつかの実装形態において、表面を検出することは、分類子を使用して、CGR環境に描かれた環境の一部分の分類を特定すること、及び/又は仮想要素が位置決めされ得る利用可能な、その一部分の量を特定すること、例えば、仮想要素が空中に、又は別の共平面仮想要素の境界内に位置決めされていることを検出することを含む。更に、いくつかの実装形態において、方法900は、座標系を有するCGR環境の3Dモデルを判定し、3Dモデルにおける表面に対する仮想要素に基づいて表面を特定する。
【0070】
いくつかの実装形態において、仮想オブジェクトのモダリティは、別の仮想オブジェクト(単数又は複数)に対する仮想オブジェクトの場所に基づく。例えば、仮想オブジェクトのモダリティは、それが位置決めされている別の仮想オブジェクト(例えば、仮想オブジェクトが仮想床若しくは仮想壁にあるか、仮想テーブルにあるか、又は空中にあるかなど)に依存し得る。
【0071】
いくつかの実装形態において、方法は、複数の仮想オブジェクト又は他の要素を描写する環境のビューを提供する。本方法は、このビューの変化を検出する。変化は、ビューに描かれた1つ以上の他の仮想要素に対するビュー内の場所における仮想要素の自動配置又はユーザ入力に基づく配置を含み得る。更に、この変化は、仮想要素をその場所に位置決めする入力を介して、デバイスによって受信されてもよい。例えば、デバイスのユーザは、仮想要素を含むビューの属性又は特性を変更するために、キーボード入力、マウス入力、タッチ入力、音声入力、又は他の入力を提供してもよい。例えば、ユーザは、仮想要素又は仮想要素の3Dモデルのサイズ、色、質感、向きなどを変更し、3Dモデル又は3Dモデルの一部分を追加し、3Dモデル又は3Dモデルの一部分を削除するなどをしてもよい。
【0072】
本方法は、ビュー内の仮想要素の場所に基づいて、ビューに描かれた1つ以上の他の仮想要素の属性を検出する。いくつかの実装形態において、属性を検出することは、仮想要素が位置決めされている仮想面、隣接する仮想面若しくは仮想要素、又は仮想面のタイプを検出すること、例えば、仮想要素が仮想床、仮想テーブル、仮想壁、又は仮想天井に位置決めされているかどうかを判定することを含む。いくつかの実装形態において、本方法は、その場所における仮想要素の表示が属性に基づいて許可されているかどうかを判定する。本方法は、1つ以上の他の仮想要素の属性に基づいて仮想要素のモダリティを選択又は変更する。いくつかの実装形態において、本方法は、属性に基づいて仮想要素の外観、機能、又は対話性を選択し、選択されたモダリティに従って仮想要素を含めるようにビューを更新する。本方法は、仮想要素を提供する別々のアプリに通知を送信することができる。通知は、仮想要素の場所に対応するビューの属性を特定することができ、アプリは、仮想要素の外観、機能、又は対話性を更新するモダリティ固有の情報で応答することができる。
【0073】
表面を含み得るCGR環境オブジェクトの例としては、別の仮想要素、テーブル、床、壁、机、書籍、水域、山、野原、車両、カウンタ、人間の顔、人間の手、人間の毛髪、別の人体部位、人体全体、動物若しくは他の生物、衣類、用紙、雑誌、書籍、車両、機械、又は平面を有する他の人工物、及び時間の経過と共に平面になり得る任意の他の現実世界若しくは仮想オブジェクト若しくは風景を含むが、それらに限定されるものではない。更に、CGRコンテンツは、任意の数の平面を含み得る。更に、「表面」という用語は、本開示の表面を、CGR環境の特定のオブジェクト又は特定の部分に限定することを意図するものではない。1つ以上の表面がCGR環境内で特定されてもよく、したがって、いくつかの実装形態では、個々の表面が特定されてもよく、他の実装形態では、CGR環境内の全ての表面が特定されてもよい。更に、質感情報は、表面、例えば、色又は外観に関連付けられ得る。CGR環境内の表面(単数又は複数)についての情報は、光源の生成又は合成、陰影形成、又は他の方法で仮想要素のレンダリングを解釈することを伴う目的を含むがこれらに限定されない、多くの目的で使用されてもよい。
【0074】
ブロック940において、方法900は、表面に基づいて仮想要素のモダリティを選択する。いくつかの実装形態において、方法900は、表面に基づいて仮想要素の外観、機能、及び/又は対話性を選択する。
【0075】
ブロック950において、方法900は、CGR環境が選択されたモダリティに従って仮想要素を含めるように、デバイスのディスプレイ上のCGR環境を更新する。方法900は、仮想要素を提供する別々のアプリに通知を送信することができる。通知は、仮想要素の場所に対応するCGR環境の属性を特定することができ、アプリは、仮想要素の外観、機能、又は対話性を更新するモダリティ固有の情報で応答することができる。
【0076】
請求項記載対象の完全な理解を提供するために、多数の具体的な詳細が本明細書に記載されている。しかしながら、当業者であれば、請求項記載対象は、これらの具体的な詳細を伴わずに実施され得ることを理解するであろう。他の例において、当業者によって既知である方法、装置又はシステムは、請求項記載対象を不明瞭にしないように、詳細に記載されていない。
【0077】
特に明記しない限り、本明細書の説明全体を通して、「処理する」、「計算する(computing)」、「計算する(calculating)」、「判定する」、及び「識別する」などの用語を利用することは、コンピューティングデバイスのアクション又はプロセスを指すことが理解される。コンピューティングデバイスとは、メモリ、レジスタ若しくは他の情報記憶デバイス、送信デバイス又はコンピューティングプラットフォームの表示デバイス範囲内にある物理電子量又は磁気量として表されるデータを操作するか又は変換する、1つ以上のコンピュータ又は類似の電子コンピューティングデバイス(単数又は複数)などである。
【0078】
本明細書で論じられるシステム(単数又は複数)は、いかなる特定のハードウェアアーキテクチャ又は構成にも限定されない。コンピューティングデバイスは、1つ以上の入力が条件づけられた結果を提供する、任意の好適な構成要素の配置を含み得る。好適なコンピューティングデバイスは、汎用計算装置から本対象の1つ以上の実装形態を実装する専用計算装置まで、コンピューティングシステムをプログラミングするか又は構成するよう記憶されたソフトウェアにアクセスする汎用マイクロプロセッサベースのコンピュータシステムを含む。任意の好適なプログラミング、スクリプティング又は他のタイプの言語若しくは言語の組み合わせを使用して、本明細書に含まれる教示をソフトウェア内に実装して、コンピューティングデバイスのプログラミング又は構成に使用してもよい。
【0079】
本明細書に開示される方法の実装形態は、このようなコンピューティングデバイスの動作において実行されてもよい。上述の例で提示されているブロックの順序は、例えば、ブロックを並べ替えるか、組み合わせるか又はサブブロックに分割することができる。特定のブロック又はプロセスは、並行して実行することができる。
【0080】
本明細書の「ように適合される」又は「ように構成される」の使用は、追加のタスク若しくはステップを実行するように適合するか又は構成されるデバイスを排除しない、限定されていない及び包括的な言語を意味する。更に、「に基づく」の使用は、1つ以上の列挙された条件又は値「に基づく」プロセス、ステップ、計算又は他のアクションが、実際には、列挙された条件又は値を超える追加の条件又は値に基づいてもよいという点で、限定されていない及び包括的であることを意味する。本明細書に含まれる見出し、リスト及び番号付けは、説明を容易にするためのものであり、限定することを意図するものではない。
【0081】
本明細書では、様々な要素を説明するために「第1の」、「第2の」などの用語が使用される場合があるが、これらの要素は、これらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、「第1のノード」の全ての出現について一貫して名前が変更され、「第2のノード」の全ての出現について一貫して名前が変更される限り、説明の意味を変えることなく、第1のノードは第2のノードと呼ぶことができ、同様に、第2のノードは第1のノードと呼ぶことができる。第1のノードと第2のノードは両方ともノードであるが、それらは同じノードではない。
【0082】
本明細書で使用される用語は、特定の実装形態を説明する目的のためであり、特許請求の範囲を限定することを意図するものではない。説明される実装形態の説明及び添付の特許請求の範囲で使用されるように、単数形の「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形も含むことを意図している。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組み合わせを指し、かつこれを含むことを理解されたい。用語「comprises(を備える)」又は「comprising(を備えている)」が、本明細書で使用される場合、述べられた特徴、整数、ステップ、動作、要素又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素若しくはそれらのグループの存在か又は追加を除外しないことを更に理解されたい。
【0083】
本明細書で使用されるときには、用語「if」は、文脈に応じて、「時」又は「際に」又は、先に述べた条件が正しいとの「判定に応じて」又は「判定に従って」、「検出に応じて」を意味するものと解釈できる。同様に、「[先に述べた条件が正しい]と判定される場合」又は「[先に述べた条件が正しい]場合」、又は「[先に述べた条件が正しい]時」というフレーズは、先に述べた条件が正しいとの「判定に際して」又は「判定に応じて」又は「判定に従って」又は「検出した際に」又は「検出に応じて」ということを意味するものと解釈できる。
【0084】
本発明の前述の説明及び要約は、全ての点で実例及び例示的であるが、限定的ではないとして理解されるべきであり、本明細書に開示される本発明の範囲は、例示的な実装形態の詳細な説明のみからではなく、特許法によって許可される全広に従って判定されるべきであることを理解されたい。本明細書に示され、説明される実装形態は、本発明の原理を単に例示するものにすぎず、本発明の範囲及び趣旨から逸脱することなく、当業者によって様々な修正が実施され得ることを理解されたい。