図面に示される例示的な実施形態の十分な理解を提供するために、数多くの詳細が記載されている。しかしながら、図面は単に本開示のいくつかの例示的な態様を示すものであり、したがって、限定的であると考慮されるべきではない。当業者は、他の有効な態様及び/又は変形が本明細書に記載される特定の詳細全てを含まないことを理解するであろう。更に、周知のシステム、方法、構成要素、デバイス及び回路は、本明細書に記載される例示的な実施形態のより適切な態様を不明瞭にしないように、網羅的に詳細を記載していない。
前述の以前から利用可能なコンピュータ生成現実(CGR)システムとは対照的に、本明細書に開示される各種実施形態は、多次元CGR環境を提供する。いくつかの実施形態において、多次元CGR環境は、有界面又は有界領域として表される仮想紙の表示を含む。いくつかの実施形態において、有界面は、ネイティブユーザCGR環境を特徴付ける第1の1組の世界座標に基づいて表示される。更に、有界面内で、立体仮想コンテンツは、第2の1組の世界座標に基づいて表示される。いくつかの実施形態において、有界面内に更に表示されるのは、適合する仮想コンテンツ(例えば、サブセットのインスタンス内の2D仮想コンテンツ)である。適合する仮想コンテンツは、いくつかの実施形態による第1の1組の世界座標に基づいて、有界面の輪郭に適合する。
例えば、3D仮想コンテンツが仮想紙の周辺部内にとどまるように3D仮想コンテンツが表示されているが、3D仮想コンテンツは仮想紙の第1の側から突出することができ、3D仮想コンテンツの表示は、第2の1組の世界座標に基づく。一方、2Dの仮想コンテンツは、第1の1組の世界座標に基づいて仮想紙の表面に適合して表示される。いくつかの実施形態において、仮想紙(例えば、後側)の第1の側に対向する仮想紙の第2の側は、2D仮想コンテンツのラスタ化された適合する表現に加えて、3D仮想コンテンツのラスタ化された適合する表現、例えば、3D仮想コンテンツのぼけ効果又は影と共に表示される。
本明細書に記載される実施形態による仮想紙は、仮想コンテンツがどのようにCGR環境内に表示されるかを改善するだけでなく、仮想コンテンツがCGR環境内でどのように対話されるかを改善する。例えば、以前から利用可能な表示方法は、多くの場合、ウィンドウ(又はアプリケーション)ペイン内に表示され得るよりも2Dコンテンツが多い場合に、2Dコンテンツの一部分を表示することが多い。スクロール入力に応答して、ウィンドウ又はアプリケーションペインの範囲は、2Dコンテンツを境界で切り取り、2Dコンテンツの別の部分が範囲内に表示される。立体視コンテンツ内に有界領域を提示するためのCGR環境では、以前から利用可能なシステム及び方法は、有界領域内で少なくとも部分的に可視のままであることを意図した立体仮想コンテンツを切り取るための効率的かつ洗練された方法を提供しない。
対照的に、本明細書に開示される各種実施形態は、立体(又は3D)仮想コンテンツを有界領域の周辺部内に結びつける。したがって、立体仮想オブジェクトを有界領域の周辺部を越えて移動させるスクロール入力に応答して、いくつかの実施形態において、初期に有界領域の表面から突出する立体仮想オブジェクトは、有界領域の表面の反対側に後退する。更に、いくつかの実施形態において、立体仮想オブジェクトがネイティブユーザCGR環境の内側に適合するには大きすぎる場合(例えば、海洋ライナ)、立体仮想オブジェクトは、第2の1組の世界座標によって特徴付けられる有界領域内に配置される。立体仮想オブジェクトを有界領域内に配置することにより、立体仮想オブジェクトを実物大で、かつ適切な距離から見るために、有界領域の表面を介してユーザが見ることを可能にする。
図1Aは、いくつかの実施形態に係る、コンピュータ生成現実(CGR)環境100Aの一例のブロック図である。関連する特徴が示されているが、当業者は、本明細書に開示される例示的な実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。
本明細書に記載のように、物理的環境とは、人々が電子システムの助けを借りずに、感知及び/又は対話することができる物理的世界を指す。物理的な公園などの物理的環境には、物理的な木々、物理的な建物、及び物理的な人々などの物理的物品が挙げられる。人々は、視覚、触覚、聴覚、味覚、及び臭覚などを介して、物理的環境を直接感知し、及び/又はそれと対話することができる。対照的に、CGR環境は、人々が電子システムを介して感知する及び/又は対話する、完全に又は部分的にシミュレーション環境を指す。CGRでは、人の身体運動のサブセット又はその表現が追跡され、それに応答して、CGR環境内でシミュレートされた1つ以上の仮想オブジェクトの1つ以上の特性が、少なくとも1つの物理学の法則でふるまうように調整される。例えば、CGRシステムは、人の頭部の回転を検出し、それに応答して、そのようなビュー及び音が物理的環境においてどのように変化し得るかと同様の方法で、人に提示されるグラフィックコンテンツ及び音場を調整することができる。状況によっては(例えば、アクセス性の理由から)、CGR環境における仮想オブジェクト(単数又は複数)の特性(単数又は複数)に対する調整は、身体運動の表現(例えば、音声コマンド)に応じて行われてもよい。
人は、視覚、聴覚、触覚、味覚及び嗅覚を含むこれらの感覚のうちのいずれか1つを使用して、CGRオブジェクトを感知する及び/又はCGRオブジェクトと対話してもよい。例えば、人は、3D空間内のポイントオーディオソースの知覚を提供する、3D又は空間オーディオ環境を作り出すオーディオオブジェクトを感知し、及び/又はそれと対話することができる。別の例では、オーディオオブジェクトは、コンピュータ生成オーディオの有無にかかわらず、物理的環境から周囲音を選択的に組み込む、オーディオ透過性を可能にすることができる。いくつかのCGR環境では、人は、オーディオオブジェクトのみを感知し、及び/又はそれと対話することができる。CGRの例としては、仮想現実及び複合現実が挙げられる。
本明細書に記載のように、仮想現実(VR)環境とは、1つ以上の感覚に対するコンピュータ生成感覚入力に完全に基づくように設計されたシミュレーション環境を指す。VR環境は、人が感知及び/又は対話することができる複数の仮想オブジェクトを含む。例えば、木、建物、及び人々を表すアバターのコンピュータ生成イメージは、仮想オブジェクトの例である。人は、コンピュータ生成環境内での人の存在のシミュレーションを通じて、及び/又はコンピュータ生成環境内での人の身体運動のサブセットのシミュレーションを通じて、VR環境における仮想オブジェクトを感知し、及び/又はそれと対話することができる。
コンピュータ生成感覚入力に完全に基づくように設計されたVR環境とは対照的に、複合現実(MR)環境は、コンピュータ生成感覚入力(例えば、仮想オブジェクト)を含むことに加えて、物理的環境からの感覚入力又はその表現を組み込むように設計されたシミュレーション環境を指す。仮想の連続体上では、複合現実環境は、一方の端部における完全な物理的環境と、他方の端部における仮想現実環境との間であるがこれらを含まない、任意の場所である。
MR環境によっては、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変更に応答し得る。また、MR環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト(すなわち、物理的環境又はその表現からの物理的物品)と対話することを可能にするために、物理的環境に対する場所及び/又は向きを追跡することができる。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、動きを考慮することができる。複合現実の例としては、拡張現実及び拡張仮想が挙げられる。
本明細書に記載のように、拡張現実(AR)環境とは、1つ以上の仮想オブジェクトが物理的環境又はその表現の上に重ね合わされているシミュレーションされた環境を指す。例えば、AR環境を提示するための電子システムは、人が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイ上に仮想オブジェクトを提示するように構成されていてもよく、それによって、人はシステムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。あるいは、システムは、不透明ディスプレイと、物理的環境の表現である、物理的環境の画像又はビデオをキャプチャする1つ以上の画像センサとを有してもよい。システムは、画像又はビデオを仮想オブジェクトと合成し、その合成物を不透明なディスプレイ上に提示する。人は、システムを使用して、物理的環境の画像又はビデオによって物理的環境を間接的に見て、物理的環境上に重ねられた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境のビデオは、「パススルービデオ」と呼ばれ、システムが、1つ以上の画像センサ(単数又は複数)を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にAR環境を提示する際にそれらの画像を使用することを意味する。更に代替的に、システムは、仮想オブジェクトを、物理的環境に、例えば、ホログラムとして又は物理的表面上に投影するプロジェクションシステムを有してもよく、それによって、人は、システムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。
本明細書で使用されるように、拡張現実環境はまた、物理的環境の表現がコンピュータ生成感覚情報によって変形されるシミュレーション環境を指す。例えば、パススルービデオを提供する際に、システムは、1つ以上のセンサ画像を変形して、画像センサによってキャプチャされた視点は異なる選択パースペクティブ視点(例えば、視点)を課すことができる。別の例として、物理的環境の表現は、その一部分をグラフィカルに変更(例えば、拡大)することによって変形されてもよく、それにより、変更された部分は、元のキャプチャ画像を表すが写実的ではないバージョンとなり得る。更なる例として、物理的環境の表現は、その一部分をグラフィカルに除去又は曖昧化することによって変形されてもよい。
本明細書で使用されるように、拡張仮想(AV)環境とは、仮想又はコンピュータ生成環境が物理的環境から1つ以上の感覚入力を組み込んでいるシミュレーション環境を指す。感覚入力は、物理的環境の1つ以上の特性の表現であり得る。例えば、AVパークには、仮想の木及び仮想の建物があり得るが、顔がある人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、1つ以上の画像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽の位置と一致する影を採用することができる。
多種多様の電子システムが存在することによって、人が様々なCGR環境を感知する及び/又はCGR環境と対話できるようになる。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ(HUD)、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、(例えば、コンタクトレンズと同様に)人の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン/イヤフォン、スピーカアレイ、入力システム(例えば、触覚フィードバックを有する又は有さない、ウェアラブル又はハンドヘルドコントローラ)、スマートフォン、タブレット、及びデスクトップ/ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、1つ以上のスピーカ(単数又は複数)及び一体型不透明ディスプレイを有してもよい。あるいは、ヘッドマウントシステムは、外部の不透明ディスプレイ(例えば、スマートフォン)を受け入れるように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくはビデオをキャプチャするための1つ以上の画像センサ、及び/又は物理的環境の音声をキャプチャするための1つ以上のマイクロフォンを組み込んでいてもよい。不透明ディスプレイではなく、ヘッドマウントシステムは、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、OLED、LED、uLED、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。一実施形態において、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィック画像を人間の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、例えば、ホログラムとして、又は物理的表面上に、仮想オブジェクトを物理的環境内に投影するように構成されていてもよい。
そのため、非限定的な例として、CGR環境100Aは、コントローラ102及びCGRデバイス(例えば、ヘッドマウントデバイス(HMD))104を含む。図1の実施例では、CGRデバイス104はユーザ10によって装着される。いくつかの実施形態において、CGRデバイス104は、ヘッドマウントデバイス(HMD)、タブレット、携帯電話、ウェアラブルコンピューティングデバイスなどに対応する。いくつかの実施形態において、CGRデバイス104は、ユーザ10にCGR体験を提示するように構成される。いくつかの実施形態において、CGRデバイス104は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。
いくつかの実施形態において、CGRデバイス104は、ユーザ10がシーン106内に仮想的及び/又は物理的に存在している間に、CGR体験をユーザ10に提示する。いくつかの実施形態において、CGR体験を提示している間に、CGRデバイス104は、CGRコンテンツを提示し、シーン106のビデオパススルーを可能にするように構成される(例えば、CGRデバイス104は、AR対応携帯電話又はタブレットに対応する)。いくつかの実施形態において、AR体験を提示している間、CGRデバイス104は、ARコンテンツを提示し、シーン106の光学的シースルーを可能にするように構成される(例えば、CGRデバイス104は、AR対応ガラスに対応する)。いくつかの実施形態において、仮想現実(VR)体験を提示している間、CGRデバイス104は、VRコンテンツを提示し、任意選択的に、シーン106のビデオパススルーを可能にするように構成されている(例えば、CGRデバイス104は、VR対応HMDに対応する)。
いくつかの実施形態において、ユーザ10は、(例えば、図1に示すように)自身の頭部上に、CGRデバイス104を装着する。したがって、CGRデバイス104は、CGRコンテンツを表示するために提供される1つ以上のディスプレイを含む。例えば、CGRデバイス104は、ユーザ10の視野を囲む。いくつかの実施形態において、CGRデバイス104は、ユーザ10がCGRデバイス104を装着しないCGRコンテンツを提示するように構成されたCGR(例えば、AR/VR)チャンバ、CGRエンクロージャ、又は、CGRルームで置き換えられる。いくつかの実施形態において、ユーザ10は、その手にCGRデバイス104を保持する。
いくつかの実施形態において、コントローラ102は、ユーザ10に対するCGR体験を管理及び調整するように構成される。いくつかの実施形態において、コントローラ102は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。いくつかの実施形態において、コントローラ102は、シーン106に対してローカル又はリモートであるコンピューティングデバイスである。例えば、コントローラ102は、シーン106内に位置するローカルサーバである。別の例では、コントローラ102は、シーン106の外側に位置するリモートサーバ(例えば、クラウドサーバ、中央サーバなど)である。いくつかの実施形態において、コントローラ102は、1つ以上の有線又は無線通信チャネル(例えば、BLUETOOTH(登録商標)、IEEE 802.11x、IEEE 802.16x、IEEE 802.3xなど)を介して、CGRデバイス104と通信可能に結合される。いくつかの実施形態において、コントローラ102の機能性は、CGRデバイス104によって提供されるか、及び/又はそれと組み合わされる。
図1Aに示すように、CGRデバイス104は、シーン106を提示する。いくつかの実施形態において、シーン106は、コントローラ102及び/又はCGRデバイス104によって生成される。いくつかの実施形態において、シーン106は、実世界シーンのシミュレートされた置き換えである仮想シーンを含む。換言すれば、いくつかの実施形態において、シーン106は、コントローラ102及び/又はCGRデバイス104によってシミュレートされる。このような実施形態において、シーン106は、CGRデバイス104が位置する実世界シーンとは異なる。いくつかの実施形態において、シーン106は、実世界シーンの修正されたバージョンである拡張シーンを含む。例えば、いくつかの実施形態において、コントローラ102及び/又はCGRデバイス104は、シーン106を生成するために、CGRデバイス104が位置する実世界シーンを修正(例えば、拡張)する。いくつかの実施形態において、コントローラ102及び/又はCGRデバイス104は、CGRデバイス104が位置する実世界シーンの複製をシミュレートすることによってシーン106を生成する。いくつかの実施形態において、コントローラ102及び/又はCGRデバイス104は、CGRデバイス104が位置する実世界シーンのシミュレートされた複製からアイテムを除去及び/又は追加することによってシーン106を生成する。
図1Bを参照すると、図1Bは、いくつかの実施形態に係る、例示的な動作環境100Bの図である。関連する特徴が示されているが、当業者は、本明細書に開示される例示的な実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的のために、非限定的な例として、動作環境100Bは、ネットワーク20、コンピューティングデバイス30、実世界シーン40、及びデバイス104bを含む。
図1Bの例では、実世界シーン40は、ユーザ10を含む。各種実施形態において、デバイス104bは、実世界シーン40の1組の画像をキャプチャし、シーン106を表すデータをネットワーク20を介してコンピューティングデバイス30に送信する。いくつかの実施形態において、デバイス104bは、コントローラ102及びカメラ104aを含む。いくつかの実施形態において、カメラ104aは1組の画像をキャプチャし、コントローラ102は、1組の画像に基づいてシーン106を表すデータを生成する。いくつかの実施形態において、シーン106を表すデータは、カメラ104aの視野内にあるユーザ10に関する人体姿勢情報108を含む。
各種実施形態において、人体姿勢情報108は、カメラ104aの視野内にあるユーザ10の人体姿勢を示す。例えば、いくつかの実施形態において、人体姿勢情報108は、ユーザ10の関節位置及び/又は関節方向(例えば、肩関節、肘関節、手首関節、骨盤関節、膝関節、及び足首関節の位置/向き)を示す。いくつかの実施形態において、人体姿勢情報108は、ユーザ10の様々な人体部分の位置/向き(例えば、頭部、胴体、上腕、下腕、上脚、及び下脚の位置/向き)を示す。
各種実施形態において、ネットワーク20を介して人体姿勢情報108を送信することは、カメラ104aによってキャプチャされた画像を送信するよりも消費する帯域幅が少ない。いくつかの実施形態において、ネットワークリソースは制限され、デバイス104bは、利用可能な量の帯域幅へのアクセスを有する。このような実施形態において、人体姿勢情報108を送信することは、利用可能な量の帯域幅より少ない量を消費するが、カメラ104aによってキャプチャされた画像を送信することは、利用可能な量の帯域幅よりも多く消費する。各種実施形態において、(例えば、画像を送信する代わりに)人体姿勢情報108を送信することは、例えば、より少ないネットワークリソースを利用することによって(例えば、より少ない帯域幅を利用することによって)ネットワーク20の動作性を改善する。
いくつかの実施形態において、コンピューティングデバイス30は、人体姿勢情報108を利用してユーザ10のアバターをレンダリングする。例えば、コンピューティングデバイス30は、仮想シーン内にアバターをレンダリングするために、人体姿勢情報108を利用するディスプレイエンジン(例えば、レンダリング及びディスプレイパイプライン)に人体姿勢情報108を提供することができる。コンピューティングデバイス30は、アバターをレンダリングするために人体姿勢情報108を利用するため、アバターの人体姿勢は、実世界シーン40におけるユーザ10の人体姿勢との類似度の範囲内にある。したがって、仮想シーン内のアバターを見ることは、実世界シーン40の画像を見ることへの類似度の範囲内にある。
図2は、いくつかの実施形態に係る、コントローラ102の例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。そのため、非限定的な例として、いくつかの実施形態において、コントローラ102は、1つ以上の処理ユニット202(例えば、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィック処理ユニット(GPU)、中央処理ユニット(CPU)、処理コア、及び/又は同様のものなど)、1つ以上の入出力(I/O)デバイス206、1つ以上の通信インタフェース208(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、global system for mobile communications(GSM(登録商標))、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、全地球測位システム(GPS)、赤外線(IR)、BLUETOOTH(登録商標)、ZIGBEE(登録商標)、及び/又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース210、メモリ220、並びにこれら及び様々な他の構成要素を相互接続するための1つ以上の通信バス204を含む。
いくつかの実施形態において、1つ以上の通信バス204は、システム構成要素を相互接続し、システム構成要素間の通信を制御する回路を含む。いくつかの実施形態において、1つ以上のI/Oデバイス206は、キーボード、マウス、タッチパッド、ジョイスティック、1つ以上のマイクロフォン、1つ以上のスピーカ、1つ以上の画像センサ、1つ以上のディスプレイ、及び/又は同様のものなどうちの少なくとも1つを含む。
メモリ220は、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、ダブルデータレートランダムアクセスメモリ(DDR RAM)、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含む。いくつかの実施形態において、メモリ220は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス又は他の不揮発性記憶デバイスなどの、不揮発性メモリを含む。メモリ220は、1つ以上の処理ユニット202からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ220は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態において、メモリ220又はメモリ220の非一時的コンピュータ可読記憶媒体は、以下のプログラム、モジュール及びデータ構造、又は任意選択のオペレーティングシステム230及びCGR体験モジュール240を含むそれらのサブセットを記憶する。
オペレーティングシステム230は、様々な基本システムサービスを処理するための及びハードウェア依存タスクを実行するための手順を含む。いくつかの実施形態において、CGR体験モジュール240は、1人以上のユーザに対して1つ以上のCGR体験を管理及び調整するように構成される(例えば、1人以上のユーザのための単一のCGR体験、又は1人以上のユーザのそれぞれのグループに対して複数のCGR体験)。そのため、各種実施形態において、CGR体験モジュール240は、データ取得ユニット242、追跡ユニット244、調整ユニット246、及びデータ送信ユニット248を含む。
いくつかの実施形態において、データ取得ユニット242は、少なくともCGRデバイス104からデータ(例えば、提示データ、対話データ、センサデータ、位置データなど)を取得するように構成される。そのため、各種実施形態において、データ取得ユニット242は、そのための命令及び/又は論理、並びにそのためのヒューリスティック及びメタデータを含む。
いくつかの実施形態において、追跡ユニット244は、シーン106をマッピングし、シーン106に対する少なくともCGRデバイス104の位置/場所を追跡するように構成される(図1A)。そのため、各種実施形態において、追跡ユニット244は、そのための命令及び/又は論理、並びにそのためのヒューリスティック及びメタデータを含む。
いくつかの実施形態において、調整ユニット246は、CGRデバイス104によってユーザに提示されるCGR体験を管理及び調整するように構成される。その目的のために、各種実施形態において、調整ユニット246は、そのための命令及び/又は論理、並びにそのためのヒューリスティック及びメタデータを含む。
いくつかの実施形態において、データ送信ユニット248は、少なくともCGRデバイス104にデータ(例えば、提示データ、位置データなど)を送信するように構成される。そのため、各種実施形態において、データ送信ユニット248は、そのための命令及び/又は論理、並びにそのためのヒューリスティック及びメタデータを含む。
データ取得ユニット242、追跡ユニット244、調整ユニット246、及びデータ送信ユニット248は、単一のデバイス(例えば、コントローラ102)上に存在するものとして示されているが、他の実施形態において、データ取得ユニット242、追跡ユニット244、調整ユニット246、及びデータ送信ユニット248の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
更に、図2は、本明細書に開示される実施形態の構造概略とは対照的に、特定の実施形態に存在し得る様々な特徴の機能的説明を更に意図している。当業者によって認識されるように、別々に示されたアイテムを組み合わせることができ、一部のアイテムを分離することができる。例えば、図2に別々に示されるいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、様々な実施形態において1つ以上の機能ブロックによって実装することができる。モジュールの実際の数並びに特定の機能の分割及びそれらにどのように機能が割り当てられるかは、実施形態によって異なり、いくつかの実施形態において、特定の実施形態のために選択されたハードウェア、ソフトウェア及び/又はファームウェアの特定の組み合わせに部分的に依存する。
図3は、いくつかの実施形態に係るCGRデバイス104(図1A)のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的のために、非限定的な例として、いくつかの実施形態において、CGRデバイス104は、1つ以上の処理ユニット302(例えば、マイクロプロセッサ、ASIC、FPGA、GPU、CPU、処理、コア、及び/又は同様のもの)、1つ以上の入出力(I/O)機器及びセンサ306、1つ以上の通信インタフェース308(例えば、USB、BLUETOOTH(登録商標)、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM(登録商標)、CDMA、TDMA、GPS、赤外線、BLUETOOTH(登録商標)、ZIGBEE(登録商標)、及び/又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース310、1つ以上のCGRディスプレイ312、1つ以上の内部及び/又は外部対向画像センサ(interior-and/or exterior-facing image sensor)314、メモリ320、及びこれら並びに様々な他の構成要素を相互接続するための1つ以上の通信バス304が挙げられる。
いくつかの実施形態において、1つ以上の通信バス304は、システム構成要素を相互接続し、システム構成要素間の通信を制御する回路を含む。いくつかの実施形態において、1つ以上のI/O機器及びセンサ306は、少なくとも1つの慣性測定装置(IMU)、加速度計、ジャイロスコープ、温度計、1つ以上の生理的センサ(例えば、血圧モニタ、心拍数モニタ、血液酸素センサ、血糖センサなど)、1つ以上のマイクロフォン307A、1つ以上のスピーカ307B(例えば、ヘッドホン又はラウドスピーカ)、触覚エンジン、1つ以上の深度センサ(例えば、構造化光、飛行時間など)、及び/又は同様のものなどが挙げられる。
いくつかの実施形態において、1つ以上のCGRディスプレイ312は、CGR体験をユーザに提供するように構成される。いくつかの実施形態において、1つ以上のCGRディスプレイ312は、ホログラフィック、デジタル光処理(DLP)、液晶ディスプレイ(LCD)、LCoS、有機発光電界効果トランジスタ(OLET)、有機発光ダイオード(OLED)、表面伝導型電子放出素子ディスプレイ(SED)、電界放出ディスプレイ(FED)、量子ドット発光ダイオード(QD-LED)、MEMS及び/又は同様のディスプレイタイプに相当する。いくつかの実施形態において、1つ以上のCGRディスプレイ312は、回折、反射、偏光、ホログラフィック、導波管ディスプレイ、及び/又は同様のものなどに相当する。例えば、CGRデバイス104は単一のCGRディスプレイを含む。別の実施例では、CGRデバイス104は、ユーザの眼鏡型CGRディスプレイを含む。いくつかの実施形態において、1つ以上のCGRディスプレイ312は、CGRコンテンツを提示することができる。
いくつかの実施形態において、1つ以上の内部、外部、内向き、外向き、前側、及び/又は後側画像センサ314は、ユーザの目を含むユーザの顔の少なくとも一部分に対応する画像データを取得するように構成されている(任意のものは、視線追跡カメラと称されてもよい)。いくつかの実施形態において、1つ以上の内部、外部、内向き、外向き、前側、及び/又は後側画像センサ314は、CGRデバイス104が存在しなかった場合に、ユーザが見たシーンに対応する画像データを取得するように、前向き(又は外向き)に構成される(そして外向きカメラと称される場合もある)。1つ以上の内部、外部、内向き、外向き、前側、及び/又は後側画像センサ314は、1つ以上のRGBカメラ(例えば、相補型金属酸化膜半導体(CMOS)画像センサ又は電荷結合デバイス(CCD)画像センサを備えた)、1つ以上の赤外線(IR)カメラ、1つ以上のイベントベースのカメラ、及び/又は同様のものなどを含むことができる。
メモリ320は、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含む。いくつかの実施形態において、メモリ320は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス又は他の不揮発性記憶デバイスなどの、不揮発性メモリを含む。メモリ320は、1つ以上の処理ユニット302からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ320は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態において、メモリ320又はメモリ320の非一時的コンピュータ可読記憶媒体は、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶し、任意選択のオペレーティングシステム330及びCGR提示モジュール340を含む。
オペレーティングシステム330は、様々な基本システムサービスを処理するための及びハードウェア依存タスクを実行するための手順を含む。いくつかの実施形態において、CGR提示モジュール340は、1つ以上のCGRディスプレイ312を介して、ユーザにCGRコンテンツを提示するように構成されている。そのため、各種実施形態において、CGR提示モジュール340は、データ取得ユニット342、オーディオ/CGR提示ユニット344、及びデータ送信ユニット346を含む。
いくつかの実施形態において、データ取得ユニット342は、コントローラ102、1つ以上のI/Oデバイス及びセンサ306、又は1つ以上の内部、外部、内向き、外向き、前側、及び/又は後側画像センサ314のうちの1つ以上から、(例えば、1つ以上の通信インタフェース308を介して)データ(例えば、提示データ、相互作用データ、センサデータ、位置データなど)を取得するように構成されている。そのため、各種実施形態において、データ取得ユニット342は、そのための命令及び/又は論理、並びにそのためのヒューリスティック及びメタデータを含む。
いくつかの実施形態において、オーディオ/CGR提示ユニット344は、1つ以上のCGRディスプレイ312(及び、各種実施形態において、スピーカ307B及び/又はマイクロフォン307A)を介してオーディオ/CGR体験を提示するように構成されている。そのため、各種実施形態において、オーディオ/CGR提示ユニット344は、そのための命令及び/又は論理、並びにそのためのヒューリスティック及びメタデータを含む。
いくつかの実施形態において、データ送信ユニット346は、少なくともコントローラ102にデータ(例えば、提示データ、位置データなど)を送信するように構成される。そのため、各種実施形態において、データ送信ユニット346は、そのための命令及び/又は論理、並びにそのためのヒューリスティック及びメタデータを含む。
データ取得ユニット342、オーディオ/CGR提示ユニット344、及びデータ送信ユニット346は、単一のデバイス(例えば、CGRデバイス104)上に存在するものとして示されているが、他の実施形態において、データ取得ユニット342、オーディオ/CGR提示ユニット344、及びデータ送信ユニット346の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
更に、図3は、本明細書に開示される実施形態の構造概略とは対照的に、特定の実施形態に存在し得る様々な特徴の機能的説明を更に意図している。当業者によって認識されるように、別々に示されたアイテムを組み合わせることができ、一部のアイテムを分離することができる。例えば、図3に別々に示されるいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、各種実施形態において1つ以上の機能ブロックによって実装することができる。モジュールの実際の数並びに特定の機能の分割及びそれらにどのように機能が割り当てられるかは、実施形態によって異なり、いくつかの実施形態において、特定の実施形態のために選択されたハードウェア、ソフトウェア及び/又はファームウェアの特定の組み合わせに部分的に依存することができる。
図4Aは、いくつかの実施形態に係る、仮想紙405の第1の側(例えば、前側)が表示されるCGR環境400の一例を示す。いくつかの実施形態において、CGR環境400は、ネイティブユーザCGR環境である。いくつかの実施形態において、ネイティブユーザCGR環境は、ユーザ又はユーザを表すアバターが位置するCGR環境である。例えば、CGR環境400は、ユーザ401又はユーザ401を表すアバターを含む。したがって、図4Aに示されるシーンは、ユーザ401又は見物人の視点から、CGR環境400の図であり得る。
いくつかの実施形態において、ネイティブユーザCGR環境400内で、仮想紙405は、有界面、例えば、仮想面の周辺部の周りの縁部又は範囲を有する仮想面として表示される。したがって、仮想紙405は、以下、有界面405と呼ばれることもある。いくつかの実施形態において、有界面405は、ネイティブユーザCGR環境400を特徴付ける第1の1組の世界座標に従って表示される。いくつかの実施形態において、ネイティブユーザCGR環境400を特徴付ける世界座標系は、ネイティブユーザCGR環境400を描写するシーンの主又は普遍の座標系である。例えば、典型的なデカルト座標系では、X軸、Y軸、及びZ軸を有する世界の1つの原点がある。ネイティブユーザCGR環境400では、軸X1、Y1、及びZ1は、ユーザ401又はユーザ401を表すアバターが図4Aに示されるように原点に位置し、それに位置合わせされているかのように、それぞれ右/左、上下、及び前方/後方に概ね対応する。したがって、ネイティブユーザCGR環境400内のオブジェクトの位置は、ネイティブユーザCGR環境400、例えば、(X1,Y1,Z1)を特徴付ける1組の世界座標によって説明することができる。換言すれば、仮想紙405を含むオブジェクトの位置は、ユーザ401又はユーザ401を表すアバターの視点からであるように、ネイティブユーザCGR環境400内に表示される。
いくつかの実施形態において、少なくとも1つの立体仮想オブジェクト(例えば、3Dニワトリ420、3D球形オブジェクト430、及び/又は3Dツールボックスオブジェクト440)は、仮想紙405の前側の周辺部内に表示される。いくつかの実施形態において、少なくとも1つの立体仮想オブジェクト420-440は、1組の世界座標に従って表示され、例えば、1組の世界座標に従って3Dニワトリ420を表示する(X2,Y2,Z2)、又は1組の世界座標(X3,Y3,Z3)に従って3Dツールボックスオブジェクト440を表示する。図4Aには示されていないが、3Dツールボックスオブジェクト440のそれぞれは、それ自身の1組の世界座標に従って表示することができる。
いくつかの実施形態において、1組の世界座標(X2,Y2,Z2)、及び(X3,Y3,Z3)は、ネイティブユーザCGR環境400を特徴とする1組の界座標(X1,Y1,Z1)とは異なる。したがって、以下に詳述するように、立体仮想オブジェクト420~440のそれぞれは、それぞれの1組の世界座標に従って移動することができ、仮想紙405及び仮想紙405内に表示される仮想オブジェクトは、それぞれの1組の世界座標に従ってアニメーション化することができる。いくつかの他の実施形態において、1組の世界座標(X2,Y2,Z2)又は(X3,Y3,Z3)は、ネイティブユーザCGR環境400を特徴付ける1組の世界座標(X1,Y1,Z1)と同じである。換言すれば、1組の世界座標(X1,Y1,Z1)、(X2,Y2,Z2)、及び/又は(X3,Y3,Z3)は、接続可能又は分離している。
いくつかの実施形態においてまた、仮想紙405の周辺部内に表示されるのは、例えば、2Dテキスト「Matrix」410及びアフォーダンス「<」412のような、適合する仮想オブジェクトである。2Dテキスト「Matrix」410及びアフォーダンス412は、仮想紙405の輪郭及び/又は表面に適合するように表示される。適合する仮想オブジェクト410及び412は、第1の1組の世界座標(X1,Y1,Z1)によって特徴付けられる仮想紙405の輪郭及び/又は表面に適合するため、3Dニワトリ420は、第2の1組の世界座標(X2,Y2,Z2)に従って表示され、これらの仮想オブジェクト410、412、及び420は互いに遮蔽してもよい。図4Aに示すように、2Dテキスト「Matrix」410は、仮想紙405の前側の表面上に浮いているように見え、3Dニワトリ420は仮想紙405の内側にあるように見える。したがって、2Dテキスト「Matrix」410は、ユーザ401の視点から3Dニワトリ420の前に(例えば、上に重なって)あるように見える。したがって、2Dテキスト「Matrix」410は、仮想紙405内の3Dニワトリ420の頂部の一部分を遮蔽する。
CGR環境400内に表示される仮想紙405は、既存のシステムにおける仮想紙とは異なる。従来の3D空間に制約されると、3D仮想オブジェクトは、典型的には、紙のシートの前(又はその上に)に表示される。したがって、従来の3D空間では、3D仮想オブジェクトは、仮想紙上の他のコンテンツ(例えば、テキスト)を遮蔽する。対照的に、以下に詳細に説明するように、仮想紙405は、1組の世界座標(X1,Y1,Z1)によって特徴付けられるネイティブユーザCGR環境400から別の3D世界、例えば、1組の世界座標(X2,Y2,Z2)によって特徴付けられる3D世界への入口であり得る。このようにして、立体仮想オブジェクト420~440を仮想紙405に挿入し、仮想紙405の内側として表示する。これにより、立体仮想オブジェクト420-440が容易に読み取れるように、関連付けられたテキスト(例えば、2Dテキスト「Matrix」410又はアフォーダンス412)と共存することを可能にし、それによって視覚的に心地よいページレイアウトを提供する。
いくつかの実施形態において、異なる世界照明は、異なる仮想オブジェクトを照らす。いくつかの実施形態において、1つの光源は、仮想紙405の範囲内及び内側(例えば、仮想紙の表面からの閾値距離内)の1組の仮想オブジェクトを照らし、一方、異なる光源は仮想紙405の表面に近いか又は表面上の仮想オブジェクトを照らす。図4Aでは、第2の1組の世界座標(X2,Y2,Z2)に従って仮想紙405の範囲内及び内部に表示される立体仮想オブジェクトである3Dニワトリ420の上の光源は、3Dニワトリ420の下に影422を生じる。対照的に、仮想紙405の表面に近い(例えば、仮想紙405の表面からの閾値距離内の)立体仮想オブジェクト430は、下に影がない。更に、立体仮想オブジェクト430の一部分、例えば仮想紙405の表面から突出する光沢面によって示されるように、立体仮想オブジェクト430は、第1の1組の世界座標(X1,Y1,Z1)によって特徴付けられるネイティブユーザCGR環境400内の光源によって照らされてもよい。具体的には、小さい、強烈な、鏡面ハイライトを備える光沢面は、ハイライトがネイティブユーザCGR環境400内の光源からの乱反射によって引き起こされることを示す。
図4Aは世界照明の一例を示すことに留意されたい。いくつかの他の実施形態において、仮想紙405内に表示される仮想オブジェクトは、同じ世界照明を共有する。更に、いくつかの実施形態において、同じ光源は、仮想紙405とネイティブユーザCGR環境400の両方を照らす。このような実施形態において、同じ光源、例えば点光、スポット光、指向性光、エリア光、容積光、周囲光などは、複数の世界座標に従って照明効果を提供することができる。例えば、ユーザ401、2Dテキスト「Matrix」410、アフォーダンス412、及び立体仮想オブジェクト420~440は、1つの世界照明を共有することができ、そのような照明の効果は、様々な世界座標に従って異なり得る。
いくつかの実施形態において、図4Aに示される仮想紙405は、第2の側、例えば、後側を有する。図4Bは、いくつかの実施形態に係る仮想紙405の後側を示す。いくつかの実施形態において、仮想紙405の後側は、立体仮想オブジェクトのラスタ化された適合する表現を含む。当該技術分野において既知であるように、ラスタ化は、画素で作製されたビットマップ画像にグラフィック要素を変形するプロセスである。グラフィック要素が3Dオブジェクトである場合、3Dオブジェクトは、オブジェクトの2D画像に変形される。例えば、仮想紙405の前側の3Dニワトリ420(図4A)がラスタ化され、図4Bに示されるように3Dニワトリ420の2D表現420-Bが生成され、後側に表示される。同様に、仮想紙405(図4A)の前側の3D球形オブジェクト430及び3Dツールボックスオブジェクト440-1、440-2、440-3、440-4、及び440-5もラスタ化され、3Dコンテンツの2D表現430-B、440-1-B、440-2-B、440-3-B、440-4-B、及び440-5-Bが生成され、図4Bに示されるように後側に表示される。
いくつかの実施形態において、仮想紙405は、半透過である。いくつかの実施形態において、ラスタ化された適合する表現420-B、430-B、440-1-B、440-2-B、440-3-B、440-4-B、及び440-5-Bは、仮想紙405の後側でぼける。3Dコンテンツのラスタ化された適合する表現をぼかすことに加えて、仮想紙405の後側はまた、ぼやけた2Dテキスト「Matrix」410-B及びぼやけた2Dナビゲーションアフォーダンス412-Bなどの、ぼやけた2Dコンテンツを含む。仮想紙405の前側からのコンテンツのぼけは、半透明の仮想紙405がユーザ401のネイティブユーザCGR環境に存在する効果をもたらすと同時に、仮想紙405の前側上のコンテンツをほのめかすという効果がもたらされる。
いくつかの実施形態において、仮想紙405の表示は、仮想紙405に向けられた入力に応答して変形することができる。例えば、入力は、仮想紙405を配置し、ねじり、揺らし、投げ、裏返し、めくり、回転し、曲げ、巻き、及び/又は折り畳むユーザであり得る。入力の受信に応答して、いくつかの実施形態において、仮想紙405の輪郭が変化する。例えば、図4C~4Eに示されるように、仮想紙405は、前側から後側へと裏返されたときにしわが生じ、例えば、仮想紙405の輪郭は曲線を有する。別の実施例では、図4F及び4Gに示されるように、仮想紙405は、前側から後側へと裏返されている間にねじられるか、又は反りを受ける。このように、仮想紙405の表示は、平面から曲面に変形され、曲面の特定の部分が曲面の他の部分によって遮蔽される。例えば、図4Fでは、2Dテキストの一部分が仮想紙405の曲面の一部分によって遮蔽されている。
いくつかの実施形態において、仮想紙405への入力は、仮想紙405の移動に限定されず、仮想紙405に向けられたユーザ401からの入力は、ユーザ401の人体姿勢変化を含む。例えば、ユーザ401の人体姿勢変化は、ユーザ401が仮想紙405の後側に歩くこと、及び/又は、仮想紙405を異なる角度から見るために、CGRデバイス(例えば、図1Aのデバイス104又はモバイルデバイス)を傾けることを含むことができる。いくつかの実施形態において、入力は、I/Oデバイス及びセンサ306及び/又はCGRデバイス104の1つ以上の通信インタフェース308(図3)を介して取得され、例えば、ユーザがボタン若しくはアフォーダンスをクリックし、ユーザが音声コマンドを与えるか、又は1つ以上の通信インタフェース308を通じてリモート装置から入力を受信する。
図4C~4Gに示すように、仮想紙405の表示の変形中、仮想紙405に関連付けられた仮想コンテンツの表示もまた、仮想紙405の輪郭の変形に応答して変形する。例えば、仮想紙405の揺れに応答して3Dニワトリ又は3D犬を投げ出す場合のように、3Dニワトリの一部分は仮想紙405の片側から突出しており(図4C~4E)、3D犬の一部分は仮想紙405の片側から突出している(図4F及び4G)。更に、仮想紙405上のテキストもまた変形し、例えば、図4Cではテキスト「ニワトリ」が傾斜しており、3D犬の下のテキストの段落は、図4Fにおいて湾曲しているように見える。これらの変形は、図4H~4Mを参照して以下で更に詳細に説明する。
図4H~4Kを参照すると、図4H~4Kはいくつかの実施形態に係る、仮想紙405を回転させる入力に応答して、仮想紙405の表示の変形を示す。図4Hでは、点線の矢印によって示される入力に応答して、仮想紙405の表示が変形され、仮想紙の輪郭が変化する。例えば、仮想紙405がユーザ401(図示せず)から回転又は揺動される場合のように、仮想紙405の右垂直縁部はより短くなるように見え、仮想紙405の上縁部及び下縁部は傾斜している。図4I~4Kに示されるように、仮想紙405が縦軸450の周りを更に回転すると、仮想紙405の右垂直縁部がより短くなり、仮想紙405の上縁部及び下縁部が更に傾斜している。
仮想紙405の表示を変形することに加えて、仮想紙405の周辺部内の適合する仮想オブジェクトの表示は、同時に変形する。適合する仮想オブジェクトの表示の変化にもかかわらず、適合する仮想オブジェクトの表示は、仮想紙405の表示に依然として適合する。例えば、図4Aでは、適合する仮想オブジェクト、例えば、2Dテキスト「Matrix」410は、仮想紙405の上縁部に平行であるように表示される。仮想紙405が縦軸450の周りを回転すると、2Dテキスト「Matrix」410は、図4H~4Kで傾斜しているように見え、仮想紙405の表示と一致する。
図4Aを参照して上述したように、仮想紙405は、1組の世界座標標(X1,Y1,Z1)に従って表示され、一方、立体仮想オブジェクト420~440は、異なる1組の世界座標に従って表示される。したがって、仮想紙405が1組の世界座標(X1,Y1,Z1)の縦軸450に沿って回転すると、仮想紙405の表示は1組の世界座標(X1,Y1,Z1)に基づいて変形する。対照的に、立体仮想オブジェクトの表示は、異なる1組(単数又は複数)の世界座標に基づいて変形する。
例えば、図4H~4Kに示されるように、仮想紙405が回転する間、仮想紙405によってユーザ(図示せず)から離れる外観に加えて、3Dニワトリ420は、異なる1組の世界座標に従って異なる軸452の周りを回転する。更に、図4Kに示すように、いくつかの実施形態において、3D仮想オブジェクト420~440の変形は、異なる1組の世界座標に基づいて、3D仮想オブジェクト420~440の少なくとも一部分を、仮想紙405の前側から突出させることを含む。例えば、3Dニワトリ420が、第2の1組の世界座標(X2,Y2,Z2)に基づいて、異なる軸452の周りを回転すると、図4Kに示されるように、3Dニワトリ420のくちばし、頭の一部分、及びジャケットに覆われた翼の一部分は、仮想紙405の前側から突出する。同様に、3D球形オブジェクト430の一部分は、図4J及び4Kに示されるように仮想紙405の前側から突出する。
いくつかの実施形態において、仮想紙405の第1の側の周辺部内に表示される仮想オブジェクトは、互いに遮蔽する。例えば、図4Aでは、ユーザ401は仮想紙405の前に立っているものとして示されている。このように、仮想紙405は、ユーザ401のユーザ姿勢に関連付けられたほぼ垂直な見通し線から表示される。ほぼ垂直な見通し線から、2Dテキスト「Matrix」410は、3Dニワトリ420の前にあるように見え、3Dニワトリ420の一部分を塞ぐ。図4H及び4Iは、仮想紙405が、ユーザ401のユーザ姿勢に関連付けられたほぼ垂直な見通し線から斜めに表示されると、2Dテキスト「Matrix」410は、3Dニワトリ420の上部に浮いているように見える。更に、図4H及び4Iでは、3Dニワトリ420の頂部は、2Dテキスト「Matrix」410によって依然として遮蔽されているが、仮想紙405が縦軸450の周りを回転すると、遮蔽は減少する。図4Jでは、仮想紙405が更に回転すると、2Dテキスト「Matrix」410が3Dニワトリ420の頂部をもはや遮蔽しないように、体積領域の角度付き視野が表示される。代わりに、2Dテキスト「Matrix」410は、仮想紙405内の仮想コンテンツを明確化するために、3Dニワトリ420の頂部の側にあるものとして表示される。また図4Jに示されるように、仮想紙405の内側にある3Dニワトリ420の残りは、遮蔽の性質によって仮想紙405の範囲の後ろに消える。
いくつかの実施形態において、図4C~4Kに示される立体オブジェクト変形の表示は、入力の受信に応答して実行され、例えば、ユーザが仮想紙405を裏返し(図4C~4E)、ねじり(図4F及び4G)、又は回転する(図4H~4K)ことに応答して、3Dコンテンツが仮想紙405の前側から突出することに留意されたい。いくつかの実施形態において、立体視オブジェクトは、仮想紙405に向けられたユーザ入力なしに変形することができる。図4L及び4Mは、いくつかの実施形態により、ユーザ入力なしに仮想紙405の周辺部内に表示された立体仮想オブジェクト460を変形することを示す。
図4L及び4Mは、立体仮想オブジェクト460、例えば、ウェブページに表示される3Dニワトリ460に加えて、2Dテキスト「ニワトリ」462及び2Dテキスト記述464などの適合する仮想オブジェクトもまた、仮想紙405の周辺部内に表示される。図4L及び4Mでは、仮想紙405に向けられたユーザ入力なしに、仮想紙405及び/又は適合する仮想オブジェクト462及び464の変形はない。仮想紙405が静止したままである間、3Dニワトリ460はアニメーション化し、例えば、図4Lの3Dニワトリ460の頭部位置は、図4Mの3Dニワトリ460の頭部位置と異なる。換言すれば、3Dニワトリ460の表示は、自身の1組の世界座標(例えば、図4Aを参照して説明される第2の1組の世界座標(X2,Y2,Z2))に基づいて変形され、これは仮想紙405及び適合する仮想オブジェクト462及び464が基づく第1の1組の世界座標とは異なる。
図4N及び4Oを参照し、図4N及び4Oは、いくつかの実施形態による、ネイティブユーザCGR環境400における入口としての仮想紙405を示す。上で説明したように、図4Aでは、立体オブジェクト420は、仮想紙405の第1の側の周辺部内の第2の1組の世界座標(X2,Y2,Z2)に従って表示される。更に、図4Aを参照して上述したように、仮想紙405は、ネイティブユーザCGR環境400を特徴付ける第1の1組の世界座標(X1,Y1,Z1)に従って表示される。いくつかの実施形態において、仮想紙405は入口である。
例えば、図4Nでは、3Dニワトリ420を仮想紙405の周辺部から移動させ、ネイティブユーザCGR環境400内に配置することができる。ネイティブユーザCGR環境に置かれると、3Dニワトリ420は、第1の1組の世界座標(X1,Y1,Z1)に従って表示される。更に、ネイティブユーザCGR環境に入ると、ユーザ401又はネイティブユーザCGR環境内のユーザ401を表すアバターは、3Dニワトリ420と対話することができ、例えば、頂部及び/又はくちばしなどを塗ることができる。
別の実施例では、図4Oでは、ユーザ401又はユーザ401を表すアバターは、例えば、仮想紙405によって表される入口に入るコマンドなどのユーザ入力、又は仮想紙405の前側の周辺部に入るユーザ401を示すユーザ姿勢変化などのユーザ入力を介して、有界面405の周辺部の中に移動することができる。第1の1組の世界座標(X1,Y1,Z1)から第2の1組の世界座標(X2,Y2,Z2)への視野座標の変化を示すこのようなユーザ入力を受信すると、いくつかの実施形態において、仮想紙405内の立体仮想オブジェクトが調整される。例えば、3Dニワトリ420のサイズ、あるいはユーザ401又はユーザ401を表すアバターからの3Dニワトリ420の距離は、3Dニワトリ420の視野に適応するように、第2の1組の世界座標(X2,Y2,Z2)に基づいて調整することができる。
図5A~5Mは、いくつかの実施形態に係る、仮想紙505における仮想コンテンツとの相互作用を示す。いくつかの実施形態において、仮想紙505は、領域の周辺部の周りの縁部又は範囲によってマークされた平坦又は容積であり得る有界領域(例えば、平坦又は曲面を有する領域)である。したがって、仮想紙505は、以下、有界領域505と呼ばれることもある。いくつかの実施形態において、有界領域505は、第1の1組の世界座標、例えば、ネイティブユーザCGR環境を特徴付ける1組の世界座標(X1,Y1,Z1)に基づいて表示される。いくつかの実施形態において、有界領域505は、有界領域505の第1の側(例えば、前側)の周辺部内に適合する仮想オブジェクト(例えば、2Dテキスト「Dinosaur Cutters」522)を含む。いくつかの実施形態において、有界領域505内の仮想コンテンツ(以下、「コンテンツ」とも呼ばれる)もまた、1つ以上の立体仮想オブジェクトを含む。例えば、図5Aでは、有界領域505を有するコンテンツは、第1の立体仮想オブジェクト512-1(例えば、大きい3D恐竜カッター512-1)及び第2の立体仮想オブジェクト512-2(例えば、小さい3D恐竜カッター512-2)を含む。いくつかの実施形態において、適合する仮想オブジェクト522は、1つ以上の立体仮想オブジェクト512に対して相対位置に表示され、例えば、2Dテキスト「Dinosaur Cutters」522は、第1の1組の世界座標(X1,Y1,Z1)に従って測定された距離で、3D恐竜カッター512の上方にある。後述するように、ユーザ入力に応答して仮想オブジェクト(2Dテキスト「Dinosaur Cutters」522)が移動されると、適合する仮想オブジェクト(例えば、2Dテキスト「Dinosaur Cutters」522)と立体仮想オブジェクト512との間の相対位置が移動中に維持される。
いくつかの実施形態において、上述したように、立体仮想オブジェクト512は異なる1組の世界座標、例えば、互いに異なる、及び/又はネイティブユーザCGR環境を特徴付ける1組の世界座標とは異なる世界座標に従って表示することができる。したがって、立体仮想オブジェクト512の表示は、それぞれの1組の世界座標に基づいて変形することができる。図5Aでは、第2の1組の世界座標(X2,Y2,Z2)に従って大きな3D恐竜カッター512-1が表示され、第3の1組の世界座標(X3,Y3,Z3)に従って、小さい3D恐竜カッター512-2が表示される。したがって、いくつかの実施形態において、大きい3D恐竜カッター512-1及び小さい3D恐竜カッター512-2は、異なる1組の世界座標に従って異なる方向、寸法などでアニメーション化される。
図5Aの点線の矢印によって示されるように、有界領域505内のコンテンツに向けられた入力が受信され、入力は、第1の1組の世界座標(X1,Y1,Z1)に従った方向、例えば、ネイティブユーザCGR環境における有界領域505内のZ1軸に沿ったコンテンツの上方向スクロールである。上方スクロール入力の受信に応答して、有界領域505の周辺部内のコンテンツは、第1の1組の世界座標(X1,Y1,Z1)に基づいて上方に移動される。例えば、上方向スクロールの結果を示す図5Bでは、2Dテキスト「Dinosaur Cutter」522は上方に移動し、有界領域505から消え、立体仮想オブジェクト512もまた、第1の1組の世界座標(X1,Y1,Z1)に従って、有界領域505の上縁部のより近くに上方に移動する。
コンテンツを上方に移動させることに加えて、立体仮想オブジェクト512は、それぞれの1組の世界座標に従ってアニメーション化される。例えば、図5Aは、小さい3D恐竜カッター512-2が有界領域505の周辺部から閾値距離内にある場合、小さい3D恐竜カッター512-2は、有界領域505の前面の反対側の中に平坦化され、及び/又は後退しているように見える。更に、平坦化された小さい3D恐竜カッター512-2は、有界領域505の下縁部によって遮蔽される。別の例では、図5Bは、上方向スクロールに応答して、大きい3D恐竜カッター512-1が有界領域505の上縁部により近く移動すると、大きい3D恐竜カッター512-1はY2軸に沿って回転し、その結果、有界領域505の上縁部によって遮蔽される準備において有界領域内に平坦化されるように見えることを示す。更に図5Bに示されるように、一旦小さい3D恐竜カッター512-2が、有界領域505の前側の周辺部から閾値距離を超えて上方に移動し、例えば、小さい3D恐竜カッター512-2は、その全体が上方に移動され、有界領域505内に表示され、小さい3D恐竜カッター512-2は、Y3軸に沿って回転して、小さい3D恐竜カッター512-2の異なる視点を提供する。その結果、小さい3D恐竜カッター512-2の一部分は、有界領域505の前側から突出する。
図5C及び図5Dは、いくつかの実施形態に係る、有界領域505が平らに置かれたときに、有界領域505の前側の周辺部内に表示されるコンテンツと相互作用することを示す。いくつかの実施形態において、有界領域505の表示がユーザ入力の受信、例えば、第1の1組の世界座標(X1,Y1,Z1)(図示せず)のX1軸の周りに有界領域505を置く又は回転させることに応答して変形すると、適合する仮想オブジェクト522は、有界領域505の輪郭変形と整合されたままになるために適宜変形する。例えば、図5Cでは、有界領域505が平らに置かれると、2Dテキスト「Dinosaur Cutters」522もまた、有界領域505の前面に適合するように平らに置かれる。図5Cでは、点線の矢印によって示されるスクロール入力に応答して、2Dテキスト「Dinosaur Cutters」522は、スクロール入力の方向に移動し、図5Dに示すように、立体仮想オブジェクト512に対する相対位置を維持する。
適合する仮想オブジェクト(例えば、2Dテキスト「Dinosaur Cutters」522)の変形とは異なり、立体仮想オブジェクト512は、有界領域505を置く入力に応答して、異なる1組の世界座標に従ってアニメーション化される。図5Cでは、3D恐竜カッター512は、有界領域505の前側から突出し、例えば、それぞれの1組の世界座標に基づいて起立又は回転する。その結果、図5A及び5Bに示されるように、別のものの上方又は上に表示される代わりに、図5C及び5Dでは、3D恐竜カッター512は列に表示されるか、又は1つが別のものの前にあるかのように表示される。したがって、点線の矢印によって示されるようなスクロール入力に応答して、3D恐竜カッター512は、前列から後列へと列ごとにスクロールされる。
図5Dはまた、いくつかの実施形態において、小さい3D恐竜カッター512-2が有界領域505の縁部に近接している、例えば、有界領域505の周辺部からの閾値距離内にある場合、小さい3D恐竜カッター512-2が、第3の1組の世界座標(X3,Y3,Z3)(図示せず)に基づいて、X3軸の周りで傾斜、倒壊、又は回転することを示す。したがって、小さい3D恐竜カッター512-2は、有界領域505の表面の反対側に向かって後退し、小さい3D恐竜カッター512-2の一部分は、有界領域505の縁部によって遮蔽される。
図5E~5Hは、いくつかの実施形態に係る、有界領域505の第2の側(例えば、後側)を表示することを示す。図4A~4Oを参照して上述した仮想紙405と同様に、いくつかの実施形態において、有界領域505は、前側からの立体仮想オブジェクトのラスタ化された適合する表現を含む後側を有する。例えば、図5Eでは、有界領域の前側からのコンテンツは、立体オブジェクト520、例えば、3Dニワトリ520を含む。図5Fでは、有界領域505の対応する後側は、前側に表示された3Dニワトリ520のラスタ化された適合する表現に対応する、ニワトリ520-Bのぼやけた画像を含む。
図5Gでは、点線の矢印によって示されるように、上方スクロール入力は、有界領域505の第1の側の周辺部内のコンテンツに向けられる。図5Fに示されるように、上方スクロール入力の受信に応答して、3Dニワトリ520は上方に移動し、別の立体仮想オブジェクトの一部分、例えば、ウェブページ内の3D犬524は、有界領域505内に現れる。図5Gには示されていないが、上方向スクロールが継続すると、3D犬524は、有界領域505の中心に表示される。図5Hに示すように、上方スクロール入力に応答して、有界領域505の対応する後側は、前側に表示された3D犬524のラスタ化された適合する表現に対応する、犬524-Bのぼやけた画像を含む。
いくつかの実施形態において、有界領域505の後側のコンテンツ(例えば、チキン520-B(図5F)又は犬524-B(図5H)のぼやけた画像、あるいは2Dテキストのぼやけた画像)はまた、入力の受信、例えば、ぼやけた画像を上下にスクロールすることに応答して、移動することができる。後側上のコンテンツに向けられた入力の受信に応答して、有界領域505の前側の対応する立体仮想オブジェクト(単数又は複数)を、適宜移動させることができる。更に、上で説明したように、対応する立体仮想オブジェクト(単数又は複数)を移動させながら、対応する立体仮想オブジェクト(単数又は複数)はまた、それぞれの1組の世界座標に従ってアニメーション化することもできる。
図5Iは、いくつかの実施形態に係る、有界領域505内に大きな立体仮想オブジェクトを表示することを示す。いくつかの実施形態において、立体仮想オブジェクトがネイティブユーザCGR環境の内側に適合するには大きすぎる場合、立体仮想オブジェクトは、有界領域505内に配置される。例えば、海洋ライナがネイティブユーザCGR環境内に収まるには大きすぎる場合、海洋ライナは有界領域505の内側に配置され得る。図5Iでは、海洋ライナ530は、世界座標(X2,Y2,Z2)に基づいて有界領域505内に表示され、有界領域505のサイズに比例して縮尺される。海洋ライナ530が有界領域505内に配置された後、ユーザ401は、有界領域505を介して海洋ライナ530を実物大でかつ適切な距離から見ることができる。上述した他の立体仮想オブジェクトと同様に、有界領域505の内側に表示される海洋ライナ530は、それ自身の1組の世界座標(X2,Y2,Z2)に従ってアニメーション化することができる。例えば、図5Iでは、海洋ライナ530は浮かぶか又は航行し、その結果、海洋ライナ530の船首(又は前端)が有界領域505の前側の表面から外に突き出し、立体的に提示されるようにユーザ401により近くなってもよい。したがって、ユーザ401は、近接距離で海洋ライナ530の船首を調べることができる。
いくつかの実施形態において、海洋ライナ530の特性、例えば、距離、方向、向き、縮尺、移動速度などを、入力に応答して更に調整することができる。例えば、有界領域505に向けられた入力に応答して、海洋ライナ530は、有界領域505内で回転され得る。このため、海洋ライナ530の船尾(又は後方)は、ユーザ401により近くなり、ユーザは、近接距離で海洋ライナ530の船尾を調べることができる。ユーザ401が海洋ライナ530の調査を終了すると、有界領域505の表面から突出している海洋ライナ530の部分に対応するユーザ401からの入力(例えば、押すジェスチャ)は、海洋ライナ530を海洋に送り込むことができる。
加えて、図4Aを参照して上述したように、いくつかの実施形態において、異なる世界照明は、異なる仮想オブジェクト及び/又は環境の異なる部分を照明する。例えば、海洋ライナ530は、世界座標(X2,Y2,Z2)に従って有界領域505の範囲内及び内部に表示される立体仮想オブジェクトであり、海洋ライナ530の上方の太陽光541は、海洋ライナ530に陰影を加える。その結果、海洋ライナ530の影及び/又は反射は、海洋ライナ530の下の水に現れ得る。図5Iでは、ユーザ401の視点から、海洋ライナ530の上方及び後方にある世界照明(例えば、太陽光541)は、影及び/又は反射をユーザ401に向けさせる。対照的に、ユーザ401の影402は、ネイティブユーザCGR環境内の異なる光源543、例えば、ネイティブユーザCGR環境の世界座標(X1,Y1,Z1)に従って、ユーザ401の後側から光を放つ光源543を示す。結果として、ユーザ401の視点から、影402はユーザ401の前であり、かつユーザ401から離れ、例えば、海洋ライナ530の影及び/又は反射531の反対方向にある。更に、適合する仮想オブジェクト、例えば、有界領域505の表面から閾値距離以内(例えば、有界領域505の表面上)に表示され、ネイティブユーザCGR環境に近い、テキスト「Ocean Liner」532は、海洋ライナ530からの異なる世界照明によって照明されてもよい。その結果、ユーザ401に向かうテキスト「Ocean Liner」532の影はない。
図5Iは、世界照明の一例を示すことに留意されたい。いくつかの他の実施形態において、有界領域505内に表示される立体及び適合する仮想オブジェクトは、同じ世界照明を共有する。更に、いくつかの実施形態において、同じ光源は、有界領域505内と有界領域505外の両方を照射する。このような実施形態において、同じ光源、例えば点光、スポット光、指向性光、エリア光、容積光、周囲光などは、複数の世界座標に従って照明を提供することができる。例えば、ユーザ401、テキスト「Ocean Liner」532、及び海洋ライナ530は、1つの世界照明を共有することができ、そのような照明の効果は、様々な世界座標に従って異なり得る。
図5Jは、いくつかの実施形態に係る、オーディオ信号を視覚化する立体仮想オブジェクトを表示し、それと対話する様子を示す。オーディオ信号は、従来の3D環境において視覚化するのが困難である。例えば、楽曲を表すオーディオ信号は、熟知された物理的寸法又は照明のメタファに従わない場合がある。したがって、既存のオーディオシステム又は電磁波可視化システム及び方法は、多くの場合、2D表現に限定される。いくつかの実施形態において、有界領域505を使用して、オーディオ信号を立体仮想オブジェクトによって視覚化することができる。
例えば、図5Jでは、立体仮想オブジェクト540-1及び540-2は、有界領域505内に表示される。立体仮想オブジェクトは、いくつかの実施形態において、オーディオ信号の視覚的表現に対応する。例えば、有界領域505は、音楽を視覚化するために立体仮想オブジェクト540を含む。上述の他の立体仮想オブジェクトと同様に、有界領域505内に表示される立体仮想オブジェクト540は、それぞれの1組の世界座標に従ってアニメーション化することができる。音楽が再生すると、立体仮想オブジェクト540は、音楽の属性を示すためにアニメーション化され、例えば、立体オブジェクト540は、大きな音の金管楽器が再生していることに対応してより大きく成長するか、又は、明色に変化するか、あるいは静かでソフトな弦楽器が再生していることに対応して収縮するか、又は暗色に変化してもよい。更に、音楽の変化の属性として、立体仮想オブジェクト540は、例えば、有界領域505の前面から突出するように移動する。立体仮想オブジェクト540を介した音楽の視覚化は、したがって、ユーザ401に多次元体験を提供する。
更に、いくつかの実施形態において、例えば、サイズ、色、アニメーション速度などの立体仮想オブジェクト540の特性は、入力に応答して調整される。例えば、ユーザ401は、立体仮想オブジェクト540-1に触り、それを移動させ、それを飛行させ、又は有界領域505から引き出すことができる。いくつかの実施形態において、立体仮想オブジェクト540は、それらが表すオーディオ信号に関連付けられる。したがって、立体仮想オブジェクト540の特性の変化はまた、対応するオーディオ信号を変化させる。したがって、立体仮想オブジェクト540との対話は、立体仮想オブジェクト540が表す対応する音楽を変更することができる。
図5K~5Mは、いくつかの実施形態に係る、有界領域505の周辺部内に表示される地図550と相互作用することを示す。既存のシステムでは、地図は、典型的には、領域の2D表現又は3D表現のいずれかを有する。図5Kでは、地図550は、有界領域505内に表示される。既存のシステムにおける地図と同様に、地図550は対話型であり、例えば、地図550をパン操作及び/又はズーム操作などする。しかしながら、既存のシステムにおける地図とは異なり、地図550は、立体仮想オブジェクト及び非立体仮想オブジェクト(例えば、2Dテキスト又は2D地図画像)の両方を含むことができる。
例えば、図5Kに示すように、有界領域505の周辺部内のサブ領域552が指定される。図5Lに示されるように、サブ領域552を指定することに応答して、立体仮想オブジェクト560は、サブ領域552の周辺部内に表示される。図5Lでは、立体仮想オブジェクト560は、例えば、3D高層ビル560-1及び560-3、並びに3Dピラミッド560-2を含む。これらの立体仮想オブジェクト560は、サブ領域552、例えば地図550上でラベル付けされた、例えばMarket St.に近い領域の周辺部内の地図550の一部分の3D視野を表す。図5Lには示されていないが、いくつかの実施形態において、立体仮想オブジェクト560はまた、3D道路標識、3D信号機、及び/又は実際のトラフィック(例えば、移動する車及び/又はバス)などを含むことができる。いくつかの実施形態において、サブ領域552の周辺部の外側に、適合する仮想オブジェクト、例えば、通り/道路及び道路ラベルを表示する2D地図が表示される。したがって、立体仮想オブジェクト560及び非立体仮想オブジェクト(例えば、有界領域505内の地図の残り)は、有界領域505の周辺部内に共存する。
いくつかの実施形態において、有界領域505内のサブ領域552の位置は、ネイティブユーザCGR環境を特徴付ける1組の世界座標に従って固定される。換言すれば、地図550が移動すると、サブ領域552が、有界領域505内の位置にピン留めするウィンドウを開くかのように、サブ領域552の位置は、有界領域505内で変化しない。したがって、有界領域505の縁部までのサブ領域552の距離は固定される。このような実施形態において、地図550が移動すると、地図コンテンツはウィンドウの中及び外にスライドする。いくつかの実施形態において、ウィンドウ内にスライドするコンテンツは、対応する立体仮想コンテンツに変形され、サブ領域552の周辺部からスライドするコンテンツは、対応する適合する仮想コンテンツに変形される。
例えば、図5Lでは、点線の矢印によって示されるように、有界領域505内の地図550に向けられたパン操作入力が検出される。有界領域505の右縁部に向かうパンニング入力を受け取ることに応答して、地図550は右に移動される。結果として、立体仮想オブジェクト560の少なくとも一部分は、サブ領域552の周辺部から移動される。いくつかの実施形態において、サブ領域552の周辺部から移動すると、立体仮想オブジェクト560の少なくとも一部分は、1つ以上の適合する仮想オブジェクト、例えば、Market St.に近いエリアの通り/道路及び道路標識を表示する2D地図に変形される。いくつかの実施形態において、有界領域505の右縁部に向かうパンニング入力を受け取ることに応答して、地図550上の別の場所/エリアは、サブ領域552に関連付けられた場所、例えば、Jackson St.に近接するエリア内に移動する。したがって、図5Lに示されるように、Jackson St.に近接する2D通り/道路及び/又は道路ラベルは、対応する3Dオブジェクトに変形され、サブ領域554、例えば、図5Mに示されるように、Jackson St.に近接した小さい3Dビルのクラスタの周辺部内に表示される。
図には示されていないが、いくつかの実施形態において、ネイティブユーザCGR環境を特徴付ける1組の世界座標に基づくサブ領域552の位置は、地図550上のコンテンツに関連付けられている(又はそれに取り付けられる)。例えば、図5Lでは、サブ領域552の位置は、Market St.に近い領域と関連付けることができる。このような実施形態において、有界領域505内に表示されたコンテンツが移動されながら(例えば、パン操作されるか、又はドラッグされる)、サブ領域552の位置は、地図550上の関連付けられたコンテンツと共に移動する。結果として、サブ領域522の周辺部内に表示された立体仮想オブジェクト560は、地図550上の残りのコンテンツと共に移動する。換言すれば、地図550をパン操作するとき、指定されたサブ領域内の立体仮想オブジェクト560は、地図550の残りの部分と共に移動する。
図6A及び図6Bは、いくつかの実施形態に係る、有界面の周辺部内に立体視仮想コンテンツを表示する方法600のフローチャートを表す。いくつかの実施形態において、方法600は、1つ以上のプロセッサと、非一時的メモリと、1つ以上のディスプレイとを有するデバイスによって実行される。いくつかの実施形態において、方法600は、ハードウェア、ファームウェア、ソフトウェア又はそれらの組み合わせを含む処理ロジックによって実行される。いくつかの実施形態において、方法600は、非一時的コンピュータ可読媒体(例えば、メモリ)内に記憶された命令(例えば、コード)を実行するプロセッサ及び/又はコントローラ(例えば、図1A、1B、及び2中のコントローラ102)によって実行される。簡潔に述べると、いくつかの状況において、方法600は、ネイティブユーザコンピュータ生成現実(CGR)環境内に有界面を表示することであって、有界面が、ネイティブユーザCGR環境を特徴付ける第1の1組の世界座標に基づいて表示される、ことと、第1の立体仮想オブジェクトを有界面の第1の側の周辺部内に表示することであって、第1の立体仮想オブジェクトが、ネイティブユーザCGR環境を特徴付ける第1の1組の世界座標とは異なる第2の1組の世界座標に従って表示される、こととを含む。
方法600は、ブロック602において、デバイスを用いて、ネイティブユーザコンピュータ生成現実(CGR)環境内に有界面を表示することであって、有界面が、ネイティブユーザCGR環境を特徴付ける第1の1組の世界座標に基づいて表示される、ことで開始する。例えば、図4Aは、第1の1組の世界座標(X1,Y1,Z1)に基づいて有界面405を表示することを示す。図4Aは、第1の1組の世界座標(X1,Y1,Z1)が、ユーザ又はユーザ401を表すアバターが位置するネイティブユーザCGR環境400を特徴付けることを更に示す。
方法600は、ブロック604において、第1の立体仮想オブジェクトを有界面の第1の側の周辺部内に表示するデバイスを使用して継続し、第1の立体仮想オブジェクトは、ネイティブユーザCGR環境を特徴付ける第1の1組の世界座標とは異なる第2の1組の世界座標に従って表示される。例えば、図4Aでは、3Dニワトリである立体仮想オブジェクト420は、有界面405の前側の周辺部内に表示される。更に図4Aに示すように、有界面405は、第1の1組の世界座標(X1,Y1,Z1)に基づいて表示されるが、3Dニワトリ420は、第1の1組の世界座標(X1,Y1,Z1)とは異なる第2の1組の世界座標(X2,Y2,Z2)に従って表示される。したがって、ユーザ401の視点から、3Dニワトリ420は、有界面405の前側の内側又は後方に表示されるように見える。
いくつかの実施形態において、ブロック610によって表されるように、方法600は、適合する仮想オブジェクトを有界面の周辺部内に表示することであって、適合する仮想オブジェクトが、第1の1組の世界座標によって特徴付けられる有界面の輪郭に適合する、こと、を更に含む。このような実施形態において、ブロック612によって表されるように、方法600は、有界面の輪郭を変形することに応答して、適合する仮想オブジェクトの表示を同時に変形することを更に含む。
例えば、図4Aでは、2Dテキスト「Matrix」410は、第1の1組の世界座標(X1,Y1,Z1)に従って有界面405の第1の側の周辺部内に表示される、適合する仮想オブジェクトである。図4Aでは、2Dテキスト「Matrix」410は、有界面405の上縁部に平行であり、有界面405の平坦な前側に浮いているかのように、有界面405の平坦な前側に適合する。図4H~4Kでは、回転入力に応答して有界面405の輪郭が変化し、例えば、有界面405の輪郭は矩形形状から台形形状に変化する。結果として、2Dテキスト「Matrix」410の形状は、有界面405の輪郭変形と整合されたままであるために同時に変化し、例えば、2Dテキスト「Matrix」410の視点及び形状は、台形形状の有界面405に適合するために変化する。
別の例では、図5Gでは、2Dテキスト「dog」は、有界面505の前側の周辺部内に表示され、平坦な有界面505の輪郭に適合する、適合する仮想オブジェクトである。図4Fでは、有界面405の輪郭は、回転入力に応答して変化し、例えば、有界面405はねじれ、有界面405の輪郭は湾曲する。図4Fに示されるように、有界面405の変形に応答して、2Dテキスト「dog」は、曲線状に表示され、ねじれた有界面405に適合するようにしわが寄っているように見える。
再び図6Aを参照すると、いくつかの実施形態において、ブロック620によって表されるように、方法600は、有界面の第2の側を表示することであって、有界面の後側が、第1の立体仮想オブジェクトのラスタ化された適合する表現を含む、こと、を更に含む。このような実施形態において、ブロック622によって表されるように、いくつかの実施形態において、有界面の第2の側を表示することが、有界面の第2の側上に、第1の立体仮想オブジェクトのラスタ化された適合する表現のぼやけた表現を表示することを含む。
例えば、図4B、4E、及び4Gは、有界面405の後側を表示することを示す。図4Bに示すように、有界面405の後側は、有界面405の前側からの3Dニワトリ420の適合する表現420-Bを含む。結果として、有界面405は半透明又は半透過であるように見え、それにより、ぼやけたニワトリ画像420-Bがホウ素405の後側の周辺部内の有界面405の後側に表示される。同様に、図4E及び4Gでは、有界面405の後側は、有界面405の前側からのそれぞれの立体仮想オブジェクトの適合する(例えば、2D)表現を含む。例えば、図4E及び4Gに示すように、有界面405を回す入力に応答して有界面405が変形するとき、それぞれの立体仮想オブジェクトの適合する表現は有界面405に適合するので、後側のラスタ化された適合する表現は、有界面405の湾曲と整合されたままであるように同時に変形する。
いくつかの実施形態において、ブロック630によって表されるように、方法600は、有界面に向けられた入力に応答して、有界面の輪郭を変化させるために、有界面の表示を変形することを更に含む。このような実施形態において、ブロック632によって表されるように、方法600は、ユーザの人体姿勢変化の検出を含む、ユーザからの入力を受信することを更に含む。更に、このような実施形態において、ブロック634によって表されるように、有界面の表示を変形することが、第1の1組の世界座標及び第2の1組の世界座標に基づいて、第1の立体仮想オブジェクトの表示を変形することを含む。
例えば、図4C~4Kを参照して上述したように、入力は、ユーザが有界面405を後側に回転させることであり得る。有界面405が入力に応答して変形すると、3Dニワトリの頭部は、有界面405の移動と共に運ばれる間に、第2の1組の世界座標(X2,Y2,Z2)に従って移動される。別の実施例では、図には示されていないが、入力は、ユーザが、CGR環境400内の有界面405の後側に歩いて、入口の後側を調べることであり得る。更に別の例では、入力は、図4Jに示されるように、有界面405の側面の視野を得るために、ユーザはポータブル多機能デバイスを移動させて、有界面405を異なる角度から見ることができる。したがって、デバイスによって検出されたユーザの人体姿勢変化は、有界面405の変形をトリガする入力とすることができる。例えば、人体姿勢変化は、ユーザがボタンをクリックして有界面405を回転させることと、ユーザが有界面405をねじるか又は弾くことと、ユーザが有界面405を折り畳むことと、ユーザが有界面405を押し下げることと、ユーザが3Dツールボックスオブジェクト440及び/又は同様のものなどを選択することと、を含み得る。当業者であれば、入力は上述の人体姿勢変化に限定されないことを理解するであろう。音声入力などの他の形態の入力もまた、有界面の変形をトリガするために使用することができる。更に、いくつかの実施形態において、有界面の変形は、ユーザ入力なしに実行される。
図6Bを参照すると、いくつかの実施形態において、ブロック640によって表されるように、方法600は、第2の1組の世界座標に基づいて第1の立体仮想オブジェクトの表示を変形することを更に含む。このような実施形態において、ブロック642によって表されるように、いくつかの実施形態において、第2の1組の世界座標に基づいて第1の立体仮想オブジェクトの表示を変形することが、第1の立体仮想オブジェクトの少なくとも一部分を有界面の第1の側から突出するように表示することを含む。換言すれば、いくつかの実施形態において、立体仮想オブジェクトの表示は、ユーザ入力に応答して変形されない。このような実施形態において、立体仮想オブジェクトの変形は、有界面の変形及び適合する仮想オブジェクトの変形と不均衡であり得る。
例えば、図4L及び4Mでは、3Dニワトリ460の頭部は、有界面405が移動していないときも移動する。別の実施例では、図4H~4Kに示すように、3Dニワトリ420は、第2の1組の世界座標(X2,Y2,Z2)に基づいて軸452の周りを回転し、一方、有界面405は、第1の1組の世界座標(X1,Y1,Z1)に基づいて縦軸450の周りを回転する。別の実施例では、図5Cに示すように、有界面505が平らに置かれたとき、3D恐竜カッター512は有界面505の前側から起立して突出する。
更に図6Bを参照すると、いくつかの実施形態において、ブロック650によって表されるように、方法600は、第1の立体仮想オブジェクトの少なくとも一部分を遮蔽するように、有界面の周辺部内に仮想オブジェクトを表示することを含む。このような実施形態において、ブロック652によって表されるように、方法600は、ユーザ姿勢に関連付けられた垂直な見通し線から、斜めの有界面の第1の側を表示することと、第1の立体仮想オブジェクトの少なくとも一部分を遮蔽するように、仮想オブジェクトの表示を停止することと、を更に含む。例えば、図4Aでは、有界面405の前側視野は、有界面405のほぼ正面に立っているユーザ401と関連付けられたほぼ垂直な見通し線を示す。図4Aでは、ほぼ垂直な見通し線の視点から、有界面405内の3Dニワトリ420は、有界面405の前側に浮いている2Dテキスト「Matrix」410の後ろにある。したがって、2Dテキスト「Matrix」410は、3Dニワトリ420の頂部を遮蔽する。比較すると、図4Jに示されるような角度付き視野では、有界面405が一定の角度に回転され、有界面405の前側が垂直な見通し線の視点から斜めであるとき、2Dテキスト「Matrix」410は、3Dニワトリ420の頂部をもはや遮蔽しない。
いくつかの実施形態において、ブロック660によって表されるように、方法600は、第1の立体仮想オブジェクトを、有界面の周辺部から、ネイティブユーザCGR環境内に移動させることと、ネイティブユーザCGR環境に入る第1の立体仮想オブジェクトに応答して、第1の1組の世界座標に従って第1の立体仮想オブジェクトを表示することと、を更に含む。例えば、図4Nでは、3Dニワトリ420は、有界面405の前側の周辺部の外側に引っ張られ、例えば、3Dニワトリ420を色塗りする準備で、3Dニワトリ420を入口から引き出すかのように、ユーザ401の前に配置されることができる。有界面405の周辺部の外側に3Dニワトリ420を引き出すことによって、3Dニワトリ420は、もはや第2の1組の世界座標(X2,Y2,Z2)に従って表示されない。代わりに、3Dニワトリ420は、ユーザ401と共に第1の1組の世界座標(X1,Y1,Z1)に従って表示及び/又はアニメーション化される。
いくつかの実施形態において、ブロック670によって表されるように、方法600は、ネイティブユーザCGR環境の第1の1組の世界座標から有界面内の第2の1組の世界座標への視野座標変化を示すユーザ入力を受信することを更に含む。更に、ブロック670によって表されるように、視野座標の変化を示すユーザ入力の受信に応答して、方法600はまた、第2の1組の世界座標に従って第1の立体仮想オブジェクトの表示を調整することを含む。例えば、図4Oでは、ユーザ401は、例えば、3Dニワトリ420を調べるために入口を通過しているかのように、有界面405の周辺部に入るか、又は有界面を介して見ることができる。第1の1組の世界座標(X1,Y1,Z1)から第2の1組の世界座標(X2,Y2,Z2)への視野座標変化を示すユーザ入力(例えば、人体姿勢変化)の検出に応答して、3Dニワトリ420の表示は変化し、例えば、3Dニワトリ420が第2の1組の世界座標(X2,Y2,Z2)に従って移動される。別の実施例では、図には示されていないが、ユーザが立体仮想オブジェクトを有界面から引き出した後、ユーザは、立体仮想オブジェクトと対話する(例えば、色の変更又は追加、ネクタイの追加など)ことができ、次いで、立体仮想オブジェクトを有界面の前側の周辺部に戻して、有界面における修正の効果を見ることができる。
いくつかの実施形態において、ブロック680によって表されるように、方法600は、有界面の周辺部内に第2の立体仮想オブジェクトを表示することであって、第2の立体仮想オブジェクトが、第1及び第2の1組の世界座標とは異なる第3の1組の世界座標に従って表示される、ことを更に含む。例えば、図4H~4Kでは、3Dツールボックスオブジェクト440のそれぞれは、それ自身の1組の世界座標に従って回転することができる。それぞれの3Dツールボックスオブジェクト440に対するそれぞれの1組の世界座標は、3Dニワトリ420が基づく第2の1組の世界座標(X2,Y2,Z2)とは異なり得る。その結果、3Dニワトリ420及び3Dツールボックスオブジェクト440は、異なってアニメーション化することができ、例えば、異なる世界座標系内で異なる軸の周りを回転することができる。
図7A及び図7Bは、いくつかの実施形態に係る、有界面の周辺部内に立体視仮想コンテンツを表示する方法700のフローチャートを表す。いくつかの実施形態において、方法700は、1つ以上のプロセッサと、非一時的メモリと、1つ以上のディスプレイとを有するデバイスによって実行される。いくつかの実施形態において、方法700は、ハードウェア、ファームウェア、ソフトウェア又はそれらの組み合わせを含む処理ロジックによって実行される。いくつかの実施形態において、方法700は、非一時的コンピュータ可読媒体(例えば、メモリ)内に記憶された命令(例えば、コード)を実行するプロセッサ及び/又はコントローラ(例えば、図1A、1B、及び2中のコントローラ102)によって実行される。簡潔に述べると、いくつかの状況では、方法700は、第1の1組の世界座標に基づいて有界領域を表示することであって、有界領域内のコンテンツは、第2の1組の世界座標に従って表示される立体仮想オブジェクトを含む、ことと、コンテンツに向けられた入力を受信することと、入力に従って、有界領域の第1の側の周辺部内で立体仮想オブジェクトを移動させることを含み、入力に従って、有界領域の第1の側の周辺部内でコンテンツを移動させることと、第2の1組の世界座標に従って立体仮想オブジェクトをアニメーション化することと、を含む。
方法700は、ブロック710において、第1の1組の世界座標に基づいて有界領域を表示するデバイスで開始し、有界領域内のコンテンツは、第2の1組の世界座標に従って表示される立体仮想オブジェクトを含む。例えば、図5Aでは、有界領域505は、第1の1組の世界座標(X1,Y1,Z1に基づいて表示される。更に図5Aに示されるように、有界領域505内に表示されるコンテンツは、3D恐竜カッター512を含み、3D恐竜カッター512は、第2の1組の世界座標(X2,Y2,Z2)に従って表示される。
いくつかの実施形態において、ブロック712によって表されるように、方法は、立体仮想オブジェクトを、有界領域の第1の側の周辺部内に収まるように縮尺することを更に含む。例えば、図5Iに示されるような海洋ライナ530は、視野を容易にするために、実物大で、かつ適切な距離で有界領域505の前側の周辺部内に表示される。
方法700は、ブロック720において、コンテンツに向けられた入力を受信するデバイスを使用して継続する。例えば、入力は、ユーザが、図5A、5G、及び5L中の点線の矢印によって示されるように、コンテンツを上下にスクロールすることであり得る。別の例では、入力は、図5Cの点線の矢印によって示されるように、ユーザが立体仮想オブジェクトを列ごとにスクロールすることであり得る。更に別の実施例では、図5Iに示される海洋ライナの例では、入力は、ユーザが海洋ライナ530を有界領域505の内側に移動させて、海洋ライナ530の前側又は側面を見ることであり得る。更に別の例では、入力は、図5Jに示されるように、ユーザ401が立体仮想オブジェクト540-1と対話することであり得る。
更に図7Aを参照すると、方法700は、ブロック730において、入力に従って、有界領域の第1の側の周辺部内でコンテンツを移動させるデバイスを使用して継続する。例えば、図5A及び5Bでは、上方スクロール入力に応答して、3D恐竜カッター512は、上方スクロール入力の方向に従って上方にスクロールされる。別の実施例では、図5C及び5Dでは、後ろから前への列ごとのスクロール入力に応答して、3D恐竜カッター512は、後側から前側へ移動される。
いくつかの実施形態において、入力に従って、有界領域の第1の側の周辺部内でコンテンツを移動させることは、(a)ブロック732に表されるように、入力に従って、有界領域の第1の側の周辺部内で立体仮想オブジェクトを移動させることと、(b)ブロック734に表されるように、第2の1組の世界座標に従って立体仮想オブジェクトをアニメーション化することと、を含む。例えば、図5Bでは、小さい3D恐竜カッター512-2は、第2の1組の世界座標(X2,Y2,Z2)に従って回転する。
いくつかの実施形態において、ブロック736によって表されるように、第2の1組の世界座標に従って立体仮想オブジェクトをアニメーション化することは、第1の1組の世界座標に基づいて、有界領域の第1の側の周辺部から立体仮想オブジェクトの距離を決定することと、距離が閾値内であるという決定に従って、立体仮想オブジェクトを有界領域内に後退させ、かつ、有界領域の第1の側の周辺部によって立体仮想オブジェクトの一部分を遮蔽することと、を含む。例えば、図5Bの大きい3D恐竜カッター512-1及び図5Dの小さい3D恐竜カッター512-2は、有界領域505の縁部付近でスクロールされると、有界領域505の内側に折り畳まれる。更に、遮蔽の性質によって、図5Bの大きい3D恐竜カッター512-1及び図5Dの小さい3D恐竜カッター512-2は、有界領域505内に後退し、それぞれの立体仮想オブジェクト512の一部分は有界領域505の前側の周辺部によって遮蔽される。例えば、図5Bの大きい3D恐竜カッター512-1は、有界領域505の上縁部によって遮蔽され、図5Dの小さい3D恐竜カッター512-2は、有界領域505の下縁部によって遮蔽される。
いくつかの実施形態において、ブロック738によって表されるように、第2の1組の世界座標に従って立体仮想オブジェクトをアニメーション化することは、第1の1組の世界座標に基づいて、有界領域の第1の側の周辺部から立体仮想オブジェクトの距離を決定することと、距離が閾値より大きいという決定に従って、立体仮想オブジェクトの少なくとも一部分を有界領域の第1の側から突出するように表示することと、を含む。例えば、図5Bでは、有界領域505内のコンテンツが上にスクロールされると、小さい3D恐竜カッター512-2は回転して、有界領域505の前側から突出する。
図7Bを参照すると、いくつかの実施形態において、方法700は、ブロック740によって表されるように、有界領域の第2の側を表示することを更に含み、有界領域の第2の側は、立体仮想オブジェクトのラスタ化された適合する表現を含む。このような実施形態において、ブロック742によって表されるように、方法700は、入力の受信に応答して、有界領域の第2の側の表示を更新することを更に含む。いくつかの実施形態において、有界領域の第2の側の表示を更新することは、第1の1組の世界座標に基づいて、立体仮想オブジェクトのラスタ化された適合する表現を移動させることと、立体仮想オブジェクトをアニメーション化することに基づいて、立体仮想オブジェクトのラスタ化された適合する表現を修正することと、を更に含む。
例えば、図5Eは、有界領域505の前側を示し、一方、図5Fは、有界領域505の対応する後側を示す。図5Fでは、有界面505の後側は、有界領域505の前側からの3Dニワトリ520のラスタ化された適合する表現520-Bを含む。図5Gでは、有界領域505のコンテンツが上にスクロールされると、3D犬524は、有界領域505内に移動する。3D犬524が更に上に移動される間、図5Hに示すように、有界領域505の後側のコンテンツは、3D犬524のラスタ化された適合する表現524-Bを示すように修正される。
いくつかの実施形態において、方法700は、ブロック750によって表されるように、有界領域内のサブ領域を指定することを更に含み、サブ領域は立体仮想オブジェクトを含む。このような実施形態において、ブロック752によって表されるように、いくつかの実施形態において、入力に従って、有界領域の周辺部内でコンテンツを移動させることは、立体仮想オブジェクトをサブ領域の周辺部から移動させることと、第1の1組の世界座標に従って、サブ領域の周辺部の外側に表示するために、立体仮想オブジェクトを適合する仮想オブジェクトに変形することと、を含む。また、このような実施形態において、ブロック754によって表されるように、入力に従って有界領域の周辺部内でコンテンツを移動させることは、サブ領域の周辺部の内側のサブ領域の周辺部の外側に表示された適合する仮想オブジェクトを移動させることと、適合する仮想オブジェクトを少なくとも1つの立体仮想オブジェクトに変形することと、を含む。
例えば、図5Kは、有界領域505内に表示された地図550、及び有界領域505の前側の周辺部内の指定されたサブ領域552を示す。図5Lに示されるようにサブ領域552を指定することに応答して、立体仮想オブジェクト560は、サブ領域552、例えばMarket St.に近いエリアの3Dビューの周辺部内に表示される。サブ領域552の周辺部の外側に、有界領域505の残りの部分内に2D地図が表示される。図5Lに示すように、地図550がパン操作又はドラッグされると、地図550が更新される。例えば、図5Mでは、Market St.に近いエリアの3Dビューは、サブ領域522から移動され、Jackson St.に近接するエリアの3Dビューに置き換えられている。換言すれば、パン操作又はドラッグ操作入力に応答して、図5Lのサブ領域522内の3Dコンテンツ(例えば、Market St.に近いエリアの3Dビュー)は、サブ領域522の周辺部から移動し、サブ領域522から移動すると、そのようなコンテンツは、地図上の2Dコンテンツに変形される。更に、パン操作又はドラッグ操作入力に応答して、図5Lのサブ領域522の外側の一部分の2Dコンテンツ(例えば、Jackson St.付近のエリアの2Dビュー)が、サブ領域522の周辺部内に移動され、サブ領域522内に入ると、そのようなコンテンツは3Dコンテンツに変形される。
いくつかの実施形態において、ブロック760によって表されるように、コンテンツは、有界領域の輪郭に適合する、適合する仮想オブジェクトを含む。方法700は、第1の1組の世界座標に基づいて、立体仮想オブジェクトに対する相対位置で、適合する仮想オブジェクトを表示することを更に含む。例えば、有界領域505内のコンテンツはまた、図5Aの2Dテキスト「Dinosaur Cutters」522を含み、立体仮想オブジェクト間の2Dテキスト(例えば、図5Gにおける3Dニワトリ520及び2Dテキスト「Dinosaur Cutters」522)、図5Iにおける2Dテキスト「Ocean Liner」、図5Jにおける2Dテキスト「Music」、及び/又は図5K~5Mにおけるサブ領域552の外側の2D地図を含む。このような実施形態において、いくつかの実施形態において、入力に従って有界領域の第1の側の周辺部内でコンテンツを移動させることは、立体仮想オブジェクトに対する相対位置を維持しながら、第1の1組の世界座標に基づいて、適合する仮想オブジェクトを入力の方向に移動させることを含む。
例えば、図5Aでは、2Dテキスト「Dinosaur Cutters」522は、大きい3D恐竜カッター512-1の上方に表示され、有界領域522の上縁部に近い。コンテンツが上向きにスクロールされると、2Dテキスト「Dinosaur Cutters」522は、3D立体仮想オブジェクト512と共に上向きに移動される。図5Bに示されるように、2Dのテキストは、有界領域505の縁部によって切り取られるように、非常に上方に移動されている。別の例では、図5Cでは、有界領域505が平坦であるとき、2Dテキスト「Dinosaur Cutters」522は、ある距離で立体仮想オブジェクト512の後ろにある。後から前へのスクロールに応答して、2Dテキスト「Dinosaur Cutters」522は、立体仮想オブジェクト512と共に、有界領域505の下縁部の近くに同じ方向に移動され、立体仮想オブジェクト512に対する2Dテキスト「Dinosaur Cutters」522の位置は維持され、例えば、2Dテキスト「Dinosaur Cutters」522が、同じ相対距離で依然として大きい3D恐竜カッター512-1の後ろにある。
図8は、いくつかの実施形態に係るコンピューティングデバイス800のブロック図である。いくつかの実施形態において、コンピューティングデバイス800は、図1Aにおけるデバイス104の少なくとも一部分に対応し、上記で説明された機能性のうちの1つ以上を実行する。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。そのために、非限定的な実施例として、いくつかの実施形態において、コンピューティングデバイス800は、1つ以上の処理ユニット(CPU)802(例えば、プロセッサ)、1つ以上の入出力(I/O)インタフェース803(例えば、ネットワークインタフェース、入力デバイス、出力デバイス、及び/又はセンサインタフェース)、メモリ810、プログラミングインタフェース805、及びこれら及び様々な他の構成要素を相互接続するための1つ以上の通信バス804を含む。
いくつかの実施形態において、1つ以上の通信バス804は、システム構成要素を相互接続し、システム構成要素間の通信を制御する回路を含む。メモリ810は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、いくつかの実施形態において、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ810は、1つ以上のCPU802からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ810は、非一時的コンピュータ可読記憶媒体を含む。更に、いくつかの実施形態において、メモリ810又はメモリ810の非一時的コンピュータ可読記憶媒体は、任意選択のオペレーティングシステム820、画像キャプチャ制御モジュール850、画像処理モジュール852、人体姿勢処理モジュール854、入力処理モジュール856及びCGRコンテンツレンダリングモジュール858を含むプログラム、モジュール及びデータ構造、又はそれらのサブセットを蓄積する。いくつかの実施形態において、1つ以上の命令は、論理メモリ及び非一時的メモリの組み合わせに含まれる。オペレーティングシステム820は、様々な基本システムサービスを処理するための及びハードウェア依存タスクを実行するための手順を含む。
いくつかの実施形態において、画像キャプチャ制御モジュール850は、画像をキャプチャするか、又は画像データを取得する、例えば、CGRコンテンツを生成するための画像データを取得する画像センサ又はカメラアセンブリの機能性を制御するように構成される。そのために、画像キャプチャ制御モジュール850は、1組の命令851a並びにヒューリスティック及びメタデータ851bを含む。
いくつかの実施形態において、画像処理モジュール852は、画像センサ又はカメラアセンブリから生画像データを前処理する(例えば、RAW画像データをRGB画像データ又はYCbCr画像データに変形し、姿勢情報を引き出すなど)ように構成される。そのために、画像処理モジュール852は、1組の命令853a並びにヒューリスティック及びメタデータ853bを含む。
いくつかの実施形態において、人体姿勢処理モジュール854は、例えば、ユーザの人体姿勢又は人体の動きに基づいてユーザ入力を生成するために、ユーザの人体姿勢(例えば、処理IMUデータ)を処理するように構成される。そのために、人体姿勢処理モジュール854は、1組の命令855a並びにヒューリスティック及びメタデータ855bを含む。
いくつかの実施形態において、入力処理モジュール856は、ユーザ入力、例えば、仮想紙上のコンテンツのスクロール又はドラッグ、仮想紙の移動、又は仮想紙の異なる側への歩行を処理するように構成される。そのために、入力処理モジュール856は、1組の命令857a並びにヒューリスティック及びメタデータ857bを含む。
いくつかの実施形態において、CGRコンテンツレンダリングモジュール858は、他の後処理画像データと共に、CGRコンテンツアイテムを合成、レンダリング、及び/又は表示するように構成される。そのために、CGRコンテンツレンダリングモジュール858は、1組の命令859a並びにヒューリスティック及びメタデータ859bを含む。
画像キャプチャ制御モジュール850、画像処理モジュール852、人体姿勢処理モジュール854、入力処理モジュール856、及びCGRコンテンツレンダリングモジュール858は、単一のコンピューティングデバイス上に存在するものとして示されているが、他の実施形態において、画像キャプチャ制御モジュール850、画像処理モジュール852、人体姿勢処理モジュール854、入力処理モジュール856、及びCGRコンテンツレンダリングモジュール858の任意の組み合わせが、各種実施形態において、別個のコンピューティングデバイス内に存在することができることに理解されたい。例えば、いくつかの実施形態において、画像キャプチャ制御モジュール850、画像処理モジュール852、人体姿勢処理モジュール854、入力処理モジュール856、及びCGRコンテンツレンダリングモジュール858のそれぞれが、別個のコンピューティングデバイス上又はクラウド内に存在することができる。
更に、図8は、本明細書に開示される実施形態の構造概略とは対照的に、特定の実施形態に存在する様々な特徴の機能的説明を更に意図している。当業者によって認識されるように、別々に示されたアイテムを組み合わせることができ、一部のアイテムを分離することができる。例えば、図8に別々に示されるいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、各種実施形態において1つ以上の機能ブロックによって実装することができる。モジュールの実際の数並びに特定の機能の分割及びそれらにどのように機能が割り当てられるかは、実施形態によって異なり、特定の実施形態のために選択されたハードウェア、ソフトウェア及び/又はファームウェアの特定の組み合わせに部分的に依存することができる。
添付の特許請求の範囲内の実施形態の様々な態様が上述されているが、上述の実施形態の様々な特徴は、多種多様な形態で具現化されてもよく、上記の任意の特定の構造及び/又は機能は単なる例示に過ぎないことは明らかである。本開示に基づいて、当業者は、本明細書に記載される態様は、任意の他の態様とは独立して実施されてもよく、これらの態様のうちの2つ以上が様々な方法で組み合わされてもよいことを理解すべきである。例えば、装置が実装されてもよく、及び/又は本明細書に記載される任意の数の態様を使用して実施されてもよい。更に、本明細書に記載の態様の1つ以上に加えて、又はそれ以外の態様で、他の構造及び/又は機能を使用して、そのような装置を実装及び/又はそのような方法を実施できる。
本明細書では、様々な要素を説明するために「第1の」、「第2の」などの用語が使用される場合があるが、これらの要素は、これらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、「第1ノード」の全ての出現について一貫して名前が変更され、「第2ノード」の全ての出現について一貫して名前が変更される限り、説明の意味を変えることなく、第1ノードは第2ノードと呼ぶことができ、同様に、第2ノードは第1ノードと呼ぶことができる。第1のノードと第2のノードは両方ともノードであるが、それらは同じノードではない。
本明細書で使用される用語は、特定の実施形態を説明する目的のためであり、特許請求の範囲を限定することを意図するものではない。説明される実施形態の説明及び添付の特許請求の範囲で使用されるように、単数形の「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形も含むことを意図している。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組み合わせを指し、かつこれを含むことを理解されたい。用語「comprises(含む、備える)」及び/又は「comprising(含む、備える)」が、本明細書で使用される場合、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことを更に理解されたい。
本明細書で使用されるときには、用語「if」は、文脈に応じて、「とき」又は「際に」又は、先に述べた条件が正しいとの「判定に応じて」又は「判定に従って」、「検出に応じて」を意味するものと解釈できる。同様に、「[先に述べた条件が正しい]と判定される場合」又は「[先に述べた条件が正しい]場合」、又は「[先に述べた条件が正しい]とき」というフレーズは、先に述べた条件が正しいとの「判定に際して」又は「判定に応じて」又は「判定に従って」又は「検出した際に」又は「検出に応じて」ということを意味するものと解釈できる。