(58)【調査した分野】(Int.Cl.,DB名)
前記画像データを介して前記局所的な環境の照明特性を識別するステップと、前記局所的な環境の前記照明特性に基づいて前記第1及び第2のモジュール型拡張現実画像セグメントの見た目を調整するステップと、を更に含む、請求項1に記載の方法。
前記照明特性は、前記局所的な環境の色特性を含み、前記第1及び第2のモジュール型拡張現実画像セグメントの見た目を調整する前記ステップは、前記第1及び第2のモジュール型拡張現実画像セグメントに前記色特性を添えるステップを含む、請求項6に記載の方法。
前記照明特性は、前記局所的な環境における物理的な照明の位置を含み、前記第1及び第2のモジュール型拡張現実画像セグメントの見た目を調整する前記ステップは、前記物理的な照明の位置にある仮想的な点照明から生じる照明効果を計算するステップを含む、請求項6に記載の方法。
前記仮想構造の拡張現実画像を構築する前記ステップは、局所的な照明特性を識別するステップと、同様の事前計算された照明効果を有するように決定された一組のモジュール型拡張現実画像セグメントを選択するステップと、を含む、請求項1に記載の方法。
前記仮想構造の拡張現実画像を構築する前記ステップは、隣接するモジュール型拡張現実画像セグメントを選択するための接続性制約条件を適用するステップを含む、請求項1に記載の方法。
【発明を実施するための形態】
【0006】
[0013] 上述されたように、仮想環境のためのリアルな照明効果は、一般に仮想環境が構築された後に事前計算されて、その後、例えばその仮想環境のライトマップとして記憶される。そのような仮想環境は、通常、ユーザーの周囲には適応していない固定の幾何学的構造によって作られている。
【0007】
[0014] 対照的に、拡張現実表示システムは、仮想的な画像をユーザーの周囲に適応させるように構成されることができる。例えば、拡張現実のビデオゲームは、ゲーム内の仮想的な構造物を、ユーザーの物理的環境の対応する物理的な構造物にフィットさせることができる。このように、拡張現実の画像オブジェクトの幾何学的配置は、ユーザーの物理的環境に基づいて変化し得る。
【0008】
[0015] 拡張現実環境の物理的環境へのフィッティングはリアルタイムの使用の間に行われるので、もし環境を作成した後に高品質な照明効果がその環境に適用されるのなら、その照明の計算処理もその時に行われることになる。しかしながら、もし拡張現実環境のためのそのような照明効果が、拡張現実画像を物理的環境にフィットさせた後に計算されるとしたら、ユーザーは、リアルな照明効果を適用することの計算処理上のコストのせいで、照明効果を計算するために用いられる特定のコンピューティングシステムに応じて、拡張現実体験をプレイするのに数時間から数日待たなければならないかもしれない。このことは、容認しがたいほどに遅いユーザー体験をもたらし得る。更に、物理的環境の有り様は、そのような長い時間遅れの間に変化するかもしれない。このことは、現実世界と仮想世界の間の不整合を招来する可能性があり、この不整合は、拡張現実体験に著しい影響を及ぼし得る。
【0009】
[0016] 1つのとり得る解決策として、拡張現実環境のための事前計算された照明効果の代わりに、動的照明が使用されることができる。しかしながら、上述されたように、動的照明は、事前計算された照明よりも低品質である場合があり、したがって、それほど良好なユーザー体験を提供しないかもしれない。更に、動的照明は実行時に計算処理上のコストが高い場合があり、そのことは、他の映像やゲームプレイなど、体験の別側面に対する計算バジェットを減らしてしまうかもしれない。
【0010】
[0017] したがって、高品質な事前計算された照明効果を有する、局所的な物理的環境の幾何学的構造にフィットした拡張現実環境の効率的な構築に関連する実施態様が、本明細書で開示される。簡潔には、開示される実施態様は、拡張現実画像のための仮想構造を形成するように互いに隣接して配列されることのできるモジュール型仮想構造セグメントを利用し、ここで、このモジュール型仮想構造セグメントは、高品質な事前計算された照明効果を備える。それぞれのモジュール型仮想構造セグメントについて照明効果が事前計算されているので、モジュール型仮想構造セグメントによって構築される仮想構造に照明効果が含まれることになるだろう。更に、いくつかの実施態様では、局所的な照明特性が検出されて、モジュール型仮想構造セグメントの見た目を調整するのに用いられることができる。そのような局所的な照明特性の例には、限定ではないが、当該局所的な物理的環境における色特性及び光源の位置が含まれることができる。
【0011】
[0018]
図1は、拡張現実表示システムのための使用環境100の、リビングルームの形の例示的な実施態様を示す。シースルー・ディスプレイデバイス104を通してリビングルームを眺めているユーザー102が示されている。
図1はまた、当該ユーザーの視野103も表しており、この視野103は、シースルー・ディスプレイデバイス104を通して視認可能な環境の一部分、したがってシースルー・ディスプレイデバイス104を介して表示された画像により拡張されることができる当該環境の一部分を表す。いくつかの実施態様では、ユーザーの視野103は、ユーザーの実際の視界と実質的に同一の広がりをもつことができ、一方、他の実施態様では、ユーザーの視野103は、ユーザーの実際の視界のより小さな一部分を占めることができる。
【0012】
[0019] 以下でより詳細に説明されるように、シースルー・ディスプレイデバイス104は、使用環境100を表す画像データ(例えば、カラー/グレイスケール画像、深度画像/点群データ/メッシュデータ等)をユーザーが当該環境を移動する際に取得するように構成された、1又は複数の外向きイメージセンサー(例えば、2次元カメラ及び/又は深度カメラ)を備えることができる。この画像データは、環境のレイアウト、及び天井106や壁108など環境の構造的特徴、それに加えて他の特徴に関する情報を得るために用いられることができる。
【0013】
[0020] シースルー・ディスプレイデバイス104は、更に、表示した仮想オブジェクトを当該デバイスを通して見える物理的な物体の上にオーバーレイして、拡張現実画像を作り出すように構成される。例えば、
図2を参照すると、仮想的な間柱202、まぐさ204等の仮想的な部屋の骨組み構造200がユーザーの壁にオーバーレイとして表示された、例示的な拡張現実画像が描かれている。配管206、電線管/ケーブル等の基盤設備の画像も、任意の他の適切な仮想構造に加えて表示されることができる。類似の構造(不図示)が、天井に関して同様に表示されることができる。更に、家具や部屋内の他の非構造的な物体に対応する画像が、部屋の中の何もない空間を占めるように表示されることができる。拡張現実環境をより完全に図示するために、
図2に描かれた拡張現実の画像は
図1に示されたユーザーの視野には限定されていない、ということが認識されるだろう。
【0014】
[0021]
図2の仮想的な壁の骨組み構造は、その下にある物理的構造(例えば壁108)に幾何学的にフィットしている。それぞれのユーザーの局所的な物理的環境は異なるであろうから、各プレーヤーの局所的な物理的環境に対する全体としての仮想的構造は、事前にデザインされるのではなく、当該局所的な物理的環境の画像データ(例えば、ステレオ深度画像データ、構造化照明画像データ、飛行時間画像データ、又は他の深度画像データ)を取得した時に構築される。よって、もしその仮想的構造を構築した後に大域照明効果が当該仮想的構造に適用されるとしたら、プレーヤーは、活動がプレイ可能となる前に好ましからざるほど長い時間待つことを強いられるかもしれず、また、ゲーム中に環境を変化させる(例えば、違う部屋へ歩いていく)ことを制限されるかもしれない。何故なら、新たな環境への照明の作り込みと適用には、不適当に長い時間期間がかかる場合があるからである。
【0015】
[0022] したがって、上述されたように、仮想構造200は事前計算された照明効果を有するモジュール型仮想構造セグメントのセットから組み立てられ、このモジュール型仮想構造セグメントのインスタンスが、互いに隣接して配列され、一体的な仮想構造の見た目を形作るように加工(例えば、回転、拡大縮小等)されることができる。
図3は、間柱セグメント302、継手配管付き間柱セグメント304、水平配管付き間柱セグメント306、一対のドアフレームセグメント308、310、及び一対の窓フレームセグメント312、314を含むモジュール型仮想構造セグメントのセット300の例示的な実施態様を示す。
図2を参照すると、仮想構造200は、セット300から選択されて各特定インスタンスの配置に基づいて拡大縮小、回転、分断、変形、及び/又は他の方法で適切に加工された、仮想的な壁のセグメントのインスタンスから完全に構築されることができる、ということが注目されるだろう。
【0016】
[0023]
図3にはモジュール型仮想構造セグメントの比較的単純なセットが描かれているが、モジュール型仮想構造セグメントのセットは、任意の所望される複雑さを持つ任意の適切な数及び選択のセグメントを有してよい、ということが理解されるだろう。更に、事前計算された照明を有するモジュール型仮想構造セグメントのセットは、壁にフィットした仮想構造以外の、限定ではないが天井にフィットした仮想構造を含む任意の他の所望の物理的特徴物にフィットする任意の他の適切な構造と、それに加えて例えば家具、壁掛け、植物、エクステリア物品、カウンター用天板、バー用天板等の非構造的な特徴物とを作り上げるのに用いられてよい、ということが理解されるだろう。例えば、事前照明されたモジュール型仮想構造セグメントは、事前照明された仮想的なソファ、机、テレビ、鏡、及び物理的環境において普通に見つかるが異なった物理的環境では異なる形状及び/又は見た目を有することのある他の物体を含むことができる。あるインスタンスにおけるそのような物体のそのような仮想構造セグメントは、単一の「セグメント」からなってもよく、その結果1つの仮想構造要素が、隣のセグメントと必ずしも組み合わされずに、所望の物理的構造物にフィットするようにサイズ変更、回転、及び他の方法で加工されることとなる、ということが理解されるだろう。加えて、物理的環境の中の何もない空間が当該環境の物理的特徴物とみなされてよく、部屋又は他の使用環境内の空間の非占有部分に仮想オブジェクトを構築するようにモジュール型仮想構造セグメントが配列されることができる、ということが理解されるだろう。
【0017】
[0024] いくつかのモジュール型仮想構造セグメントは、セグメントに結合されることのできる他のセグメントのセットを制限する接続性制約条件を含むことができる。例えば、
図3において、それぞれの窓セグメントとドアセグメントは、一方の側(例えば窓/ドアの側)では間柱セグメント302でなく別の窓セグメント又はドアセグメントに結合されることができ、さもなければセグメントは間違って嵌ることになろう。更に、継手配管304と水平配管306のセグメントは、相補的な配管部分を持ったセグメントに結合される状態に制限されてよい。これらの接続性制約条件は例示の目的のために説明され、任意の他の適切な接続性制約条件が用いられてよい、ということが理解されるだろう。
【0018】
[0025] 任意の適切な事前計算された照明効果が、モジュール型仮想構造セグメントに適用されることができる。例えば、いくつかの実施態様では、モジュール型仮想構造セグメントのセットは、環境内の物理的な照明の位置にかかわらず、あらゆる局所的な照明環境における使用を意図されることができる。そのような実施態様では、指向性のある照明効果が利用されることができる。これの例が、仮想的な間柱セグメントの一部分400に入射する指向性を持った照明として
図4に示されている。適用される仮想照明は、任意の適切な方向を有してよい。例えば、水平に敷設されたピースに関しては、照明は水平軸に対して直角であってよく、一方垂直に敷設されたピースに関しては、照明は垂直軸に対して直角であってよい。加えて、水平と垂直の両方に敷設されたモジュールのピースに関しては、照明は両方の軸に対して直角であってよい。このことによって、当該セグメントに対して事前計算された影と照明が、必ず各セグメントに共通の照明特性を有するようにすることができ、したがって、隣のセグメントが合わさる場所で視差及び/又は他の不連続性が現れるのを防止することができる。
図4の実施態様では、指向性を持った照明は、垂直面に対しておよそ45度の角度で照射されているように示されているが、これは例示の目的のために提示されており、任意の他の適切な角度が用いられてよい、ということが理解されるだろう。
【0019】
[0026] 他の実施態様では、モジュール型仮想構造セグメントのセットは、特定の照明特性、例えば単一の頭上点光源、壁際のランプ等と共に使用されるように構成されることができる。そのような実施態様では、照明効果を事前計算するのに任意の適切な種類の仮想照明が用いられることができる。いかなる場合にも、照明効果を事前計算した後に、それに関連するモジュール型仮想構造セグメントにより組み立てられた仮想構造の画像がリアルな照明効果を有するように、その計算されたライトマップがモジュール型仮想構造セグメントと共に高水準の情報で保存されることができる。
【0020】
[0027] モジュール型仮想構造セグメントに対して任意の適切な種類の照明情報が記憶されることができる。例えば、事前計算された照明効果は、ライトマップ、キューブマップ、球面調和関数(例えば事前計算された放射輝度伝達関数)として、及び/又は任意の他の適切な形で記憶されることができる。事前計算された放射輝度伝達関数の使用は、例えば、使用環境における物理的な照明の検出位置に基づいて、
図5Aに仮想点光源500により描かれているように物理的環境における物理的な照明の位置に仮想的な点照明を適用することによって、仮想オブジェクト上にリアルな照明と影が生成されることを可能にするだろう。
図5Bは、
図4に示された間柱の一部分の見映えが
図5Aの仮想点光源に基づいてどのように調整され得るかの一例を示す。加えて、手続き的又は動的照明がリアルタイムで適用されてもよい(例えば、拡張現実画像に表示された動的な仮想オブジェクトから生じる光)。
【0021】
[0028] モジュール型仮想構造セグメントの見た目を他の方法で調整するために、局所的な物理的照明特性が用いられることもできる。例えば、モジュール型仮想構造セグメントの事前計算された照明効果は、白色光の照射に基づいて計算されることができる。次いで、特定の物理的環境に対して仮想的な画像を作り上げる際に、シースルー・ディスプレイデバイスによって取得された画像データから当該物理的環境における物理的な照明の色特性が分析されることができ、仮想照明が局所的な物理的照明によりぴったりと合うように、その決定された色特性(例えば、色相、彩度、反射率)が仮想照明効果に適用されることができる。このようにして、事前照明された仮想的な壁/天井のセグメント、事前照明された仮想的な家具、及び任意の他の適切な事前照明された仮想オブジェクトの表示されたインスタンスが、物理的環境の見た目によりぴったりと合うことができる。
【0022】
[0029]
図6は、モジュール型仮想構造セグメントのインスタンスを検出された物理的構造物に適用することによって拡張現実環境を構築するための方法600の一実施態様を示す。方法600は、602において、シースルー・ディスプレイデバイスの局所的な環境の画像を撮影した画像データを受け取るステップを含む。画像データは、限定ではないが深度画像604及び/又は2次元画像を含む任意の適切なデータを含んでよく、シースルー・ディスプレイデバイス上の、又はシースルー・ディスプレイデバイスの外部の画像センサーから受け取られることができる。深度画像データは、限定ではないがステレオ撮像システム、飛行時間撮像システム、及び構造化照明撮像システムを含む、任意の適切な深度撮像システムから受け取られることができる。
【0023】
[0030] 方法600は次に、606において、画像データから前記局所的な環境の物理的特徴物を識別するステップを含む。物理的特徴物は、任意の適切な方法で識別されることができる。例えば、いくつかの実施態様では、608において、深度画像データから物理的環境のメッシュ表現が決定されてメッシュ分析が実行され、610において、その物理的環境内の主要面(major surface)が識別される。その例には、限定ではないが、壁612や天井614に加えて、ドア、窓、天窓、柱、部屋の中の他の突起部/切欠き部等のような壁や天井の特徴物が含まれる。更に、当該幾何構造内の空きスペースが識別されてよく、例えば、所望の仮想構造がその識別された空きスペースにフィットされることが可能である。
【0024】
[0031] 方法600はまた、616において、その物理的環境の1又は複数の局所的な照明特性を識別するステップを含んでもよい。局所的な照明特性の例には、限定ではないが、色特性618や局所光源の位置620が含まれることができる。
【0025】
[0032] 方法600は更に、622において、検出された物理的特徴物の上に当該物理的特徴物と空間的に位置合わせした状態で表示するための、仮想構造特徴物を含んだ拡張現実画像を構築するステップを含む。上述され、また624に示されるように、仮想構造は、それぞれが事前計算された照明効果を備える複数のモジュール型仮想構造セグメントを配列することによって構築されることができる。仮想構造セグメントは、限定ではないが、対象の物理的な幾何学的構造にフィットするように部品を回転、拡大縮小、変形、分断すること等を含む、任意の適切な方法で配列されることができる。同様に、モジュール型仮想構造セグメントは、事前計算された照明効果に関する任意の適切な事前計算された情報を含んでよい。その例には、限定ではないが、ライトマップ626及び/又は放射輝度伝達関数628が含まれる。更に、上述されたように、モジュール型仮想構造セグメントを選択し配列する際に、相補的な特徴物が隣のセグメントに適切に結合されるのを保証するため、630において、選択されたモジュール型仮想構造セグメントに結合されることが可能な他のモジュール型仮想構造セグメントのセットを制限する接続性制約条件が適用されることができる。
【0026】
[0033] 加えて、上述されたように、拡張現実画像を構築するのに際して局所的な照明特性が利用されてよい。例えば、632に示されるように、いくつかの実施態様では、局所的な照明特性に基づいてモジュール型仮想構造セグメントの見た目が調整されることができる。その見た目は、任意の適切な方法で調整されることができる。例えば、634に示されるように、局所的な照明環境の色が、事前計算された照明効果に添えられてよい。同様に、636に示されるように、仮想的な光源、例えば仮想点光源が、その環境の中の物理的な光源の位置に適用されてよい。
【0027】
[0034] 他の実施態様では、モジュール型仮想構造セグメントの見た目を調整する代わりに、異なる照明特性を有するモジュール型仮想構造セグメントの複数の異なるセットが利用可能であってよい。例えば、モジュール型仮想構造セグメントのあるセットは頭上点光源に対応する事前計算された照明効果を含むことができ、一方、別のセットは側窓から入ってくる指向性のある照明に対応する事前計算された照明効果を含むことができる。この実例では、638に示されるように、局所的な照明特性が利用されて、対応する照明特性を有したモジュール型仮想構造セグメントのセットを選択することができ、これにより、その結果として得られる仮想構造が、その環境内の物理的な照明と同様の照明特性を有するようになる。
【0028】
[0035] 拡張現実画像を構築すると、方法600は、640に示されるように、当該拡張現実画像をシースルー・ディスプレイデバイスへ出力するステップを含む。シースルー・ディスプレイデバイス(例えば内向き及び外向き画像センサー)からのセンサーデータが用いられて、ユーザーの目の位置及び視線方向を検出し、またユーザーの視野内にある物理的な物体も検出し、仮想構造を対応する物理的特徴物の上に当該物理的特徴物と空間的に位置合わせした状態で表示して、ユーザーに物理的環境の拡張現実ビューを与えることができる。
【0029】
[0036] 上述されたように、上で説明された方法は、任意の適切なディスプレイデバイスによって実施されることができる。その例には、限定ではないが、
図1のヘッドマウント型シースルー・ディスプレイデバイス104のようなシースルー・ディスプレイデバイス、及びスマートフォンやノートパッドコンピューターのような1又は複数の画像センサーを有した他のディスプレイデバイスが含まれる。
図7は、シースルー・ディスプレイデバイス104の例示的構成のブロック図を示す。
【0030】
[0037] シースルー・ディスプレイデバイス104は、ニアアイ(near-eye)・シースルー・ディスプレイサブシステム704の一部分を形成する1又は複数のレンズ702を備えることができる。シースルー・ディスプレイデバイス104は、ユーザーが見ている背景シーンの画像を取得するように構成された1又は複数の外向き画像センサー706を更に備えることができ、またユーザーからの音声コマンドなどの音を検出するように構成された1又は複数のマイク708を含むことができる。外向き画像センサー706は、(限定ではないがステレオ深度撮像配置を含む)1又は複数の深度センサー、及び/又は、1又は複数の2次元画像センサーを含むことができる。
【0031】
[0038] シースルー・ディスプレイデバイス104は、上述されたようにユーザーのそれぞれの目の視線の方向を検出するように構成された視線検出サブシステム710を更に備える。視線検出サブシステム710は、任意の適切な方法でユーザーの目のそれぞれの視線方向を決定するように構成されることができる。例えば、描かれた実施態様では、視線検出サブシステム710は、光の閃きをユーザーのそれぞれの目の角膜から反射させるように構成された赤外光源などの1又は複数の閃光源712と、ユーザーの1又は複数の目の画像をキャプチャするように構成された1又は複数の画像センサー714とを備える。画像センサー714を介して集められた画像データから決定される閃きと瞳の画像が、それぞれの目の光軸を決定するのに用いられることができる。視線検出サブシステム710は、任意の適切な数及び配置の光源と画像センサーを有してよい、ということが理解されるだろう。
【0032】
[0039] シースルー・ディスプレイデバイス104は、付加的なセンサーを更に備えることができる。例えば、シースルー・ディスプレイデバイス104は、シースルー・ディスプレイデバイス104の位置が決定されるのを可能にするための全地球測位(GPS)サブシステム716を備えることができる。
【0033】
[0040] シースルー・ディスプレイデバイス104は、更に、ユーザーがシースルー・ディスプレイデバイス104を装着している時のユーザーの頭の動きを検出するための1又は複数のモーションセンサー718を含んでよい。モーションデータが、例えば画像安定化のために用いられて、外向き画像センサー706からの画像のぼけを補正するのに役立つことができる。同様に、モーションセンサー718は、マイク708及び視線検出サブシステム710と共に、ユーザー入力デバイスとして利用されることもでき、その結果、ユーザーは、言葉によるコマンドに加えて、目、首及び/又は頭のジェスチャを介してシースルー・ディスプレイサブシステム704と対話することができるようになる。
図7に描かれたセンサーは、例示の目的のために示されているのであり、任意の他の適切なセンサー及び/又はセンサーの組み合わせが利用され得るので、いかなる方法であっても限定的であるようには意図されていない、ということが理解されるだろう。
【0034】
[0041] シースルー・ディスプレイデバイス104は、更に、センサー、視線検出サブシステム710、及びシースルー・ディスプレイサブシステム704と通信可能な、論理サブシステム722と記憶サブシステム724を有したコンピューティングデバイス720を備える。記憶サブシステム724は、記憶サブシステム724上に格納された命令を備えており、当該命令は、例えば、シースルー・ディスプレイデバイスの局所的な環境の画像をキャプチャする外向き画像センサー706から画像データを受け取り、その画像データを介して当該局所的な環境の物理的特徴物を識別するように、論理サブシステム722によって実行可能である。当該命令はまた、それぞれが事前計算された大域照明効果を備えた複数のモジュール型仮想構造セグメントを隣接位置に配列することによって仮想構造の拡張現実画像を構築し、その拡張現実画像を物理的特徴物の上にユーザーの視点から見て当該物理的特徴物と空間的に位置合わせした状態で表示するように、実行可能であってもよい。当該命令は、更に、局所的な照明特性を検出し、その局所的な照明特性に基づいて拡張現実画像を調整し、シースルー・ディスプレイサブシステム704を介してその拡張現実画像を物理的特徴物の上に当該物理的特徴物と空間的に位置合わせした状態で表示するように、実行可能であってよい。
【0035】
[0042] 論理サブシステム722、記憶サブシステム724、及び他の上述されたコンポーネントの例示的なハードウェアに関する更なる情報は、
図8を参照して以下で説明される。
【0036】
[0043] 描写されたシースルー・ディスプレイデバイス104は、例として提供されており、よって限定的であるようには意図されていない、ということが認識されるだろう。したがって、ディスプレイデバイスは、この開示の範囲から逸脱することなく、示されたもの以外の付加的な及び/又は代替的なセンサー、カメラ、マイク、入力デバイス、出力デバイス等を含んでよい、ということが理解されなければならない。ディスプレイデバイス並びにその様々なセンサー及びサブコンポーネントの物理的構成は、この開示の範囲から逸脱することなく、様々な異なる形をとることができる。
【0037】
[0044] 更に、シースルー・ディスプレイデバイスを介して拡張現実画像を表示するように構成されたコンピューティングシステムは、限定ではないが、メインフレームコンピューター、サーバーコンピューター、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、ホームエンターテインメントコンピューター、ネットワークコンピューティングデバイス、ゲームデバイス、モバイルコンピューティングデバイス、モバイル通信デバイス(例えばスマートフォン)、他のウェアラブルコンピューター等を含む、ヘッドマウント型ディスプレイデバイス以外の任意の適切な形をとることができる、ということが理解されるだろう。上述された方法及びプロセスは、コンピューターアプリケーションのプログラム若しくはサービス、アプリケーションプログラミングインターフェイス(API)、ライブラリ、及び/又は他のコンピュータープログラム製品として実装されることができる、ということが更に理解されるだろう。
【0038】
[0045]
図8は、上述された方法及びプロセスの1又は複数を実施することが可能なコンピューティングシステム800の非限定的な実施態様を模式的に示す。コンピューティングシステム800は簡略化された形で示されており、上で言及されたように、限定ではないが
図1−9を参照して上述されたものを含む、任意の適切なデバイス及び/又はデバイスの組み合わせを表すことができる。
【0039】
[0046] コンピューティングシステム800は、論理サブシステム802及び記憶サブシステム804を含む。コンピューティングシステム800は、表示サブシステム806、入力デバイスサブシステム808、通信サブシステム810、及び/又は
図8に示されていない他のコンポーネントを任意的に含んでよい。コンピューティングシステム800はまた、例えばキーボード、マウス、ゲームコントローラー、カメラ(深度及び/又は2次元の)、マイク、及び/又はタッチスクリーンのみならず、上述された視線追跡システムなどの1又は複数のユーザー入力デバイスを任意的に含み、又はそれらとインターフェイスしてもよい。そのようなユーザー入力デバイスは、入力デバイスサブシステム808の一部を形作ることができ、又は入力デバイスサブシステム808とインターフェイスすることができる。
【0040】
[0047] 論理サブシステム802は、命令を実行するように構成された1又は複数の物理的デバイスを含む。例えば、論理サブシステムは、1又は複数のアプリケーション、サービス、プログラム、ルーチン、ライブラリ、オブジェクト、コンポーネント、データ構造、又は他の論理的構造体の一部である機械可読命令を実行するように構成されることができる。そのような命令は、タスクを実施し、データ型を実現し、1又は複数のコンポーネントの状態を変換し、又は他の方法で所望の結果に到達するように実装されることができる。
【0041】
[0048] 論理サブシステム802は、ソフトウェア命令を実行するように構成された1又は複数のプロセッサーを含むことができる。それに加えて、又はその代わりに、論理サブシステム802は、ハードウェア命令又はファームウェア命令を実行するように構成された1又は複数のハードウェア論理マシン若しくはファームウェア論理マシンを含むことができる。論理サブシステム802のプロセッサーは、シングルコア又はマルチコアであってよく、当該プロセッサー上で実行されるプログラムは、順次処理、並列処理、又は分散処理向けに構成されることができる。論理サブシステム802は、任意的に、遠隔に配置され及び/又は連携処理向けに構成されることの可能な2以上のデバイスにわたって分散配置された個別コンポーネントを含んでよい。論理サブシステムの態様は、クラウドコンピューティングの機器構成に構成されたリモートアクセス可能なネットワークコンピューティングデバイスによって、仮想化され実行されることができる。
【0042】
[0049] 記憶サブシステム804は、データ及び/又は本明細書で説明された方法及びプロセスを実現するように論理サブシステムによって実行可能な命令を保持するように構成された、1又は複数の物理的且つ非一時的なコンピューター可読記憶デバイスを含む。そのような方法及びプロセスが実現される時、記憶サブシステム804の状態は、例えば異なるデータを保持するように、変換されることができる。
【0043】
[0050] 記憶サブシステム804は、リムーバブル媒体及び/又は内蔵デバイスを含むことができる。記憶サブシステム804は、特に、光メモリデバイス(例えば、CD、DVD、HD−DVD、Blu−Ray(登録商標)ディスク等)、半導体メモリデバイス(例えば、RAM、EPROM、EEPROM等)、及び/又は磁気メモリデバイス(例えば、ハードディスクドライブ、フロッピーディスク(登録商標)ドライブ、テープドライブ、MRAM等)を含むことができる。記憶サブシステム804は、揮発性デバイス、不揮発性デバイス、動的デバイス、静的デバイス、読み取り/書き込みデバイス、読み取り専用デバイス、ランダムアクセスデバイス、シーケンシャルアクセスデバイス、場所アドレス指定可能デバイス、ファイルアドレス指定可能デバイス、及び/又は内容アドレス指定可能デバイスを含むことができる。いくつかの実施態様では、論理サブシステム802と記憶サブシステム804は、特定用途向け集積回路(ASIC)又はシステムオンチップなどの、1又は複数の単一デバイスに集積化されてよい。
【0044】
[0051] 記憶サブシステム804は、1又は複数の物理的且つ非一時的なデバイスを含むことが認識されるだろう。しかしながら、いくつかの実施態様では、本明細書で説明される命令の態様は、有限期間の間は物理的デバイスにより保持されない純粋な信号(例えば、電磁気信号、光信号等)によって、一時的な方法で伝搬されてよい。その上、本開示に関係するデータ及び/又は他の形式の情報が、純粋な信号によって伝搬されてよい。
【0045】
[0052] 「プログラム」という用語は、特定の機能を実施するように実装されたコンピューティングシステム800の一態様を説明するために用いられることができる。いくつかの場合には、プログラムは、記憶サブシステム804により保持された命令を実行する論理サブシステム802によってインスタンス化されることができる。異なるプログラムが、同一のアプリケーション、サービス、コードブロック、オブジェクト、ライブラリ、ルーチン、API、関数等からインスタンス化されることができる、ということが理解されるだろう。同様に、同一のプログラムが、異なるアプリケーション、サービス、コードブロック、オブジェクト、ルーチン、API、関数等によってインスタンス化されてよい。「プログラム」という用語は、実行可能ファイル、データファイル、ライブラリ、ドライバー、スクリプト、データベースレコード等の個々又は集まりを包含することができる。
【0046】
[0053] 本明細書で用いられる「サービス」は、複数のユーザーセッションにわたって実行可能なアプリケーションプログラムであることが認識されるだろう。サービスは、1又は複数のシステムコンポーネント、プログラム、及び/又は他のサービスにとって利用可能なものであってよい。いくつかの実施例では、サービスは、1又は複数のサーバーコンピューティングデバイス上で動作することができる。
【0047】
[0054] 含まれる場合、表示サブシステム806が、記憶サブシステム804によって保持されたデータの視覚的表現を提示するために用いられてよい。この視覚的表現は、グラフィカルユーザーインターフェイス(GUI)の形をとることができる。本明細書で説明される方法及びプロセスが記憶サブシステムにより保持されるデータを変化させ、その結果記憶サブシステムの状態を変換する時、表示サブシステム806の状態が、その元となるデータの変化を視覚的に表現するように同様に変換されることができる。表示サブシステム806は、ほとんど任意の種類の技術を利用した1又は複数のディスプレイデバイスを含んでよい。そのようなディスプレイデバイスは、共通の筐体内で論理サブシステム802及び/又は記憶サブシステム804と結合されてよく、又は周辺機器としてのディスプレイデバイスであってもよい。
【0048】
[0055] 含まれる場合、通信サブシステム810が、コンピューティングシステム800を1又は複数の他のコンピューティングデバイスに通信可能に結合するように構成されてよい。通信サブシステム810は、1又は複数の異なる通信プロトコルと互換性のある有線及び/又は無線通信デバイスを含むことができる。非限定的な例として、通信サブシステムは、無線電話ネットワーク又は有線若しくは無線のローカルエリアネットワーク若しくはワイドエリアネットワークを介した通信用に構成されることができる。いくつかの実施態様では、通信サブシステムは、コンピューティングシステム800がインターネットなどのネットワークを介してメッセージを他のデバイスへ送信し、及び/又は他のデバイスから受信することを可能にすることができる。
【0049】
[0056] 本明細書で説明された構成及び/又は手法は本質的に例示的なものであり、数多くのバリエーションが可能であるためこれらの具体的な実施態様又は例は限定的な意味に解されてはならない、ということが理解されるだろう。本明細書で説明された具体的なルーチン又は方法は、多くの処理戦略のうちの1又は複数を代表することができる。それ故に、例示及び/又は説明された様々な動作は、例示及び/又は説明された順序で、他の順序で、並列で、又は省略されて、実施されることができる。同様に、上述された処理の順序は変更されることができる。
【0050】
[0057] 本開示の主題は、本明細書で開示された様々な処理、システム及び構成、並びに、他の特徴、機能、動作、及び/又は特性のみならず、それらのいずれか及び全ての均等物の、あらゆる新規且つ非自明なコンビネーション及びサブコンビネーションを含んでいる。