(57)【特許請求の範囲】
【請求項１】
拡張現実感デバイスを用いて相互作用をシミュレーションする方法であって、
第１の物理オブジェクトを含み、１つまたは複数のカメラデバイスを用いて取り込まれる視覚的シーンを表示用に取り込むことと、
前記拡張現実感デバイスの１つまたは複数のコンピュータプロセッサの動作によって、前記第１の物理オブジェクトと１つまたは複数の仮想オブジェクトとの間の動的相互作用をシミュレーションすることと、
前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の前記シミュレーションされた動的相互作用を描写する表示用の一連のフレームをレンダリングすることと、を含み、
前記視覚的シーン内の前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の前記シミュレーションされた動的相互作用に基づいて、前記取り込まれた視覚的シーンの外側の前記第１の物理オブジェクトに力を加えることを更に含む、
方法。
【請求項２】
前記第１の物理オブジェクトについての既定の幾何学情報であって、少なくとも前記第１の物理オブジェクトについての一定のサイズを含む既定の幾何学情報を識別することと、
前記識別された既定の幾何学情報に基づいて、前記視覚的シーン内の前記第１の物理オブジェクトの深度を見積もることと、を更に含み、
前記動的相互作用をシミュレーションすることは、前記第１の物理オブジェクトの前記見積もられた深度に更に基づく、請求項１に記載の方法。
【請求項３】
前記視覚的シーン内の前記第１の物理オブジェクトの動きを監視することと、
前記監視された動きに基づいて、前記第１の物理オブジェクトの速度を見積もることと、を更に含む、請求項１に記載の方法。
【請求項４】
前記視覚的シーン内に表示される前記１つまたは複数の仮想オブジェクトの速度を判断することを更に含み、
動力学的な前記シミュレーションは、前記第１の物理オブジェクトの前記判断された速度と、前記１つまたは複数の仮想オブジェクトの前記判断された速度とに更に基づく、請求項３に記載の方法。
【請求項５】
前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の動的相互作用をシミュレーションすることは、前記拡張現実感デバイス上に表示される前記視覚的シーンについての動力学相互作用を定義する動力学ルールのセットに更に基づく、請求項１に記載の方法。
【請求項６】
前記取り込まれた視覚的シーンの外側の前記第１の物理オブジェクトと関連付けられたコントローラであって、メッセージを受信することに応答して前記第１の物理オブジェクトに力を加えるように構成されたコントローラに前記メッセージを伝送することを更に含む、請求項１に記載の方法。
【請求項７】
前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の前記動的相互作用をシミュレーションすることは、
前記第１の物理オブジェクトの１つまたは複数の特徴を判断することと、
前記判断された１つまたは複数の特徴に基づいて、前記動的相互作用の一部として前記１つまたは複数の仮想オブジェクトの挙動を調整することと、を更に含む、請求項１に記載の方法。
【請求項８】
プロセッサと、
前記プロセッサによって実行されるとき、拡張現実感デバイスを用いて相互作用をシミュレーションするための動作であって、
１つまたは複数のカメラデバイスを用いて取り込まれる視覚的シーンを表示用に取り込むことと、
第１の物理オブジェクトと１つまたは複数の仮想オブジェクトとの間の動的相互作用をシミュレーションすることと、
前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の前記シミュレーションされた動的相互作用を描写する表示用の一連のフレームをレンダリングすることと、を含む動作を実行するプログラムを含むメモリと、を備え、
前記動作は、
前記視覚的シーン内の前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の前記シミュレーションされた動的相互作用に基づいて、前記取り込まれた視覚的シーンの外側の前記第１の物理オブジェクトに力を加えることを更に含む、
拡張現実感デバイス。
【請求項９】
前記動作は、
前記第１の物理オブジェクトについての既定の幾何学情報であって、前記第１の物理オブジェクトについての少なくとも一定のサイズを含む既定の幾何学情報を識別することと、
前記識別された既定の幾何学情報に基づいて、前記視覚的シーン内の前記第１の物理オブジェクトの深度を見積もることと、を更に含み、
前記動的相互作用をシミュレーションすることは、前記第１の物理オブジェクトの前記見積もられた深度に更に基づく、請求項８に記載の拡張現実感デバイス。
【請求項１０】
前記視覚的シーン内の前記第１の物理オブジェクトの動きを監視することと、
前記監視された動きに基づいて、前記第１の物理オブジェクトの速度を見積もることと、を更に含む、請求項８に記載の拡張現実感デバイス。
【請求項１１】
前記視覚的シーン内に表示される前記１つまたは複数の仮想オブジェクトの速度を判断することを更に含み、
動力学的な前記シミュレーションは、前記第１の物理オブジェクトの前記判断された速度と、前記１つまたは複数の仮想オブジェクトの前記判断された速度とに更に基づく、請求項１０に記載の拡張現実感デバイス。
【請求項１２】
前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の動的相互作用をシミュレーションすることは、前記拡張現実感デバイス上に表示される前記視覚的シーンについての動力学相互作用を定義する動力学ルールのセットに更に基づく、請求項８に記載の拡張現実感デバイス。
【請求項１３】
前記動作は、
前記取り込まれた視覚的シーンの外側の前記第１の物理オブジェクトと関連付けられたコントローラであって、メッセージを受信することに応答して、力を前記第１の物理オブジェクトに加えるように構成されるコントローラに前記メッセージを伝送することを更に含む、請求項８に記載の拡張現実感デバイス。
【請求項１４】
前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の前記動的相互作用をシミュレーションすることは、
前記第１の物理オブジェクトの１つまたは複数の特徴を判断することと、
前記判断された１つまたは複数の特徴に基づいて、前記動的相互作用の一部として前記１つまたは複数の仮想オブジェクトの挙動を調整することと、を更に含む、請求項８に記載の拡張現実感デバイス。
【請求項１５】
実行されるとき、拡張現実感デバイスを用いて相互作用をシミュレーションするための動作であって、
１つまたは複数のカメラデバイスを用いて取り込まれる視覚的シーンを表示用に取り込むことと、
第１の物理オブジェクトと１つまたは複数の仮想オブジェクトとの間の動的相互作用をシミュレーションすることと、
前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の前記シミュレーションされた動的相互作用を描写する表示用の一連のフレームをレンダリングすることと、を含む動作を実行するプログラムを含み、
前記動作は、
前記視覚的シーン内の前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の前記シミュレーションされた動的相互作用に基づいて、前記取り込まれた視覚的シーンの外側の前記第１の物理オブジェクトに力を加えることを更に含む、
コンピュータ可読記憶媒体。
【請求項１６】
前記動作は、
前記第１の物理オブジェクトについての既定の幾何学情報であって、前記第１の物理オブジェクトについての少なくとも一定のサイズを含む既定の幾何学情報を識別することと、
前記識別された既定の幾何学情報に基づいて、前記視覚的シーン内の前記第１の物理オブジェクトの深度を見積もることと、を更に含み、
前記動的相互作用をシミュレーションすることは、前記第１の物理オブジェクトの前記見積もられた深度に更に基づく、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記視覚的シーン内の前記第１の物理オブジェクトの動きを監視することと、
前記監視された動きに基づいて、前記第１の物理オブジェクトの速度を見積もることと、を更に含む、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記視覚的シーン内に表示される前記１つまたは複数の仮想オブジェクトの速度を判断することを更に含み、
動力学的な前記シミュレーションは、前記第１の物理オブジェクトの前記判断された速度と、前記１つまたは複数の仮想オブジェクトの前記判断された速度とに更に基づく、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の動的相互作用をシミュレーションすることは、前記拡張現実感デバイス上に表示される前記視覚的シーンについての動力学相互作用を定義する動力学ルールのセットに更に基づく、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記動作は、
前記取り込まれた視覚的シーンの外側の前記第１の物理オブジェクトと関連付けられたコントローラであって、メッセージを受信することに応答して、力を前記第１の物理オブジェクトに加えるように構成されるコントローラに前記メッセージを伝送することを更に含む、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記第１の物理オブジェクトと前記１つまたは複数の仮想オブジェクトとの間の前記動的相互作用をシミュレーションすることは、
前記第１の物理オブジェクトの１つまたは複数の特徴を判断することと、
前記判断された１つまたは複数の特徴に基づいて、前記動的相互作用の一部として前記１つまたは複数の仮想オブジェクトの挙動を調整することと、を更に含む、請求項１５に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、一般に、ヒューマンコンピュータインターフェースに関するものであり、より具体的には、拡張現実感デバイス上の動的相互作用をシミュレーションするための技術に関するものである。
【背景技術】
【０００２】
［関連技術の説明］
[0002]コンピュータグラフィックス技術は、ビデオゲームが最初に開発されて以来、大きな発展を遂げている。今では、比較的安価な３Ｄグラフィックスエンジンが、わずか数百ドルしか費用がかからない手持ち式のビデオゲーム、ホームビデオゲーム及びパーソナルコンピュータハードウェアプラットフォーム上でほぼフォトリアリスティクなインタラクティブゲームプレイを提供する。これらのビデオゲームシステムは、典型的に、手持ち式のコントローラ、ゲームコントローラ、あるいは、手持ち式のビデオゲームプラットフォームの場合には、一体型コントローラを含む。ユーザ又はプレーヤーは、プレイされるビデオゲーム又は他のシミュレーションを制御するビデオゲームシステムにコマンド又は他の命令を送信するためにコントローラを使用する。例えば、コントローラは、ユーザによって操作されるマニピュレータ（例えば、ジョイスティック）及びボタンを備えていてもよい。
【０００３】
[0003]多くの手持ち式のゲームデバイスは、物理的な実世界シーンの画像又は一連の画像を取り込むために使用されるであろういくつかの形式のカメラデバイスを含む。次いで、取り込まれた画像は、例えば手持ち式のゲームデバイスのディスプレイ上に、表示され得る。拡張現実感デバイスにおいて、これらの取り込まれた画像は、仮想オブジェクトなどの追加的コンテンツを含むように修正され得る。しかしながら、撮影される物理オブジェクトが一連のフレーム上で動く場合、これらの物理オブジェクトは、挿入された仮想オブジェクトと非現実的に相互作用する（又はその仮想オブジェクトと全く相互作用しない）ように見えるであろう。同様に、仮想オブジェクトが表示されたシーン内を動く場合、仮想オブジェクトは、シーン内に示された物理オブジェクトと理想的に相互作用しないであろう。
【発明の概要】
【０００４】
[0004]実施形態は、拡張現実感デバイスを用いて相互作用をシミュレーションするための方法、拡張現実感デバイス及びコンピュータ可読記憶媒体を提供する。その方法、拡張現実感デバイス及びコンピュータ可読記憶媒体は、表示用の視覚的シーンであって、１つまたは複数のカメラデバイスを用いて取り込まれる視覚的シーンを取り込むことを含む。その方法、拡張現実感デバイス及びコンピュータ可読記憶媒体は、第１の物理オブジェクトと１つまたは複数の仮想オブジェクトとの間の動的相互作用をシミュレーションすることを更に含む。その方法、拡張現実感デバイス及びコンピュータ可読記憶媒体はまた、第１の物理オブジェクトと１つまたは複数の仮想オブジェクトとの間のシミュレーションされた動的相互作用を描写する表示用の一連のフレームをレンダリングすることを含む。
【０００５】
[0005]上記で挙げられた態様が達成される手法が詳細に理解され得るように、上記で簡単に要約された発明の実施形態のより詳細な記載は、添付された図面を参照にして示されるであろう。
【０００６】
[0006]しかしながら、添付された図面は、この発明の典型的な実施形態を例示するだけであり、したがって、その発明の範囲を限定するものとみなされないことに留意されたい。なぜなら、発明は、他の同様に有効な実施形態を許容し得るからである。
【図面の簡単な説明】
【０００７】
【図１】図１は、本明細書に記載された一実施形態に係る動力学シミュレーション構成要素を備えて構成された拡張現実感デバイスを例示するブロック図である。
【図２Ａ】図２Ａは、本明細書に記載された実施形態に係る拡張現実感デバイスを例示する図である。
【図２Ｂ】図２Ｂは、本明細書に記載された実施形態に係る拡張現実感デバイスを例示する図である。
【図３】図３は、本明細書に記載された一実施形態に係る拡張現実感デバイスを例示する図である。
【図４】図４は、本明細書に記載された一実施形態に係る拡張現実感デバイス上の仮想オブジェクトと物理オブジェクトとの間の相互作用の動力学をシミュレーションする方法を例示するフロー図である。
【図５】図５は、本明細書に記載された一実施形態に係る動力学シミュレーション構成要素を備えて構成された拡張現実感デバイスを例示するブロック図である。
【発明を実施するための形態】
【０００８】
[0012]本明細書に記載された実施形態は、一般に、拡張現実感デバイス上にコンテンツを表示するための技術に関する。本明細書中で使用されるとき、拡張現実感デバイスは、物理的な実世界環境のリアルタイムの視野を表示する一方で、その環境の表示された視野内の要素を変えることが可能な任意のデバイスのことを言う。そのように、仮想世界の視野を表示する仮想現実感デバイスとは異なり、拡張現実感デバイスは、実世界の視野を表示するが、コンピュータグラフィックス技術を用いて要素を拡張する。実世界のこの拡張された視野は、本明細書中において「拡張現実感世界」又は「拡張現実感空間」と呼ばれ得る。
【０００９】
[0013]そのような拡張現実感デバイスは、実世界環境の視野を取り込むために使用されるカメラデバイス（又は複数のカメラデバイス）を含んでもよいし、取り込まれたシーンの要素を拡張するように構成されたコンピュータソフトウェア及び／又はハードウェアを更に含んでもよい。例えば、拡張現実感デバイスは、テーブルの上部上にあるコーヒーカップの一連の画像を取り込み、コーヒーカップが動画漫画的特徴として現れるように一連の画像を修正し、修正された一連の画像をリアルタイムでユーザに表示することができる。そのように、ユーザが拡張現実感デバイスに目を向けると、ユーザは、ユーザが位置する物理的な実世界環境の拡張された視野を見る。上記例を続けると、ユーザは、拡張現実感デバイスのカメラを異なる角度からテーブル上の物理的なコーヒーカップに向ける際、ユーザは、拡張現実感デバイス上に表示される仮想漫画的コーヒーカップの異なる角度を代わりに見るであろう。
【００１０】
[0014]拡張現実感デバイスの一つの難題は、拡張現実感デバイス上に表示される仮想オブジェクトが、物理的な実世界環境内のオブジェクトと現実的に相互作用し得ないことである。すなわち、仮想オブジェクトが、取り込まれたシーン内の物理オブジェクトに加えて又は代わって、取り込まれたシーンに単に挿入される拡張現実感デバイスについて、これらのデバイスは、仮想オブジェクトと物理オブジェクトとの間の相互作用を現実的に表示しないであろうし、あるいは、これらの相互作用の結果として生じる動力学効果を考慮しないであろう。本明細書に記載されるように、動力学は、オブジェクトに加えられるエネルギー又は力の結果として（物理オブジェクトと仮想オブジェクトとの両方を含む）オブジェクトの動きに関連する。例えば、動力学シミュレーションを全く実行せずに物理テーブル上のコーヒーカップを動画漫画的コーヒーカップと取り替えるように構成された拡張現実感デバイスは、動画のコーヒーカップが、物理オブジェクトによる相互作用に現実的に応答しないであろうから、物理オブジェクト（例えば、ユーザの手）と挿入された漫画のコーヒーカップとの間の相互作用を現実感に欠けて描写するであろう。別の例として、仮想ボールの動力学を考慮せずに仮想ボールを視覚的シーンに挿入する拡張現実感デバイスは、物理オブジェクト（例えば、物理ボール）が、何の相互作用も無しに、仮想ボール（逆の場合も同じ）を通して単純に動くように見えるであろうから、現実感に欠けるようにユーザに見えるであろう。
【００１１】
[0015]本明細書に記載される実施形態であって、拡張現実感デバイスを用いて相互作用をシミュレーションするための技術を提供する実施形態が記載される。例えば、手持ち式のデバイス上にあるソフトウェアは、表示用の視覚的シーンを取り込んでもよい。そのような視覚的シーンは、例えば、物理的な実世界環境を描写する複数のフレームであって、拡張現実感デバイスの１つまたは複数のカメラを用いて取り込まれた複数のフレームを含んでもよい。ソフトウェアは、視覚的シーン内の物理オブジェクトを更に識別してもよい。一例として、ソフトウェアは、取り込まれた視覚的シーン内のテーブル上にあるボールを識別することができる。さらに、ソフトウェアは、シーン内に表示するための１つまたは複数の仮想オブジェクトを識別することができる。例えば、特定の拡張現実感デバイスは、仮想ボールをそのシーンに挿入するように構成され得る。次いで、ソフトウェアは、視覚的シーン内の物理オブジェクトと１つまたは複数の仮想オブジェクトとの間の相互作用の動力学をシミュレーションしてもよい。
【００１２】
[0016]例えば、物理ボールが、拡張現実感デバイス上に表示される視覚的シーン内の仮想ボールと衝突するように見えるように、ユーザは、テーブル上の物理ボールを物理的に転がすことができる。このシナリオにおいて、拡張現実感デバイスは、物理ボールが、拡張現実感デバイスによって表示される拡張現実感シーン内の仮想ボールといつ衝突するかを判断する動力学シミュレーション構成要素を備えて構成され得る。このことが起こると、動力学シミュレーション構成要素は、動力学ルールのセットを用いて仮想ボールの反応をシミュレーションし、拡張現実感デバイス上に仮想ボールの反応を表示することができる。例えば、拡張現実感デバイスは、物理ボールと衝突している仮想ボールに応答して、テーブルを横切って転がる仮想ボールを描写することができる。そうすることによって、より現実感のある拡張現実感シーンを拡張現実感デバイス上に提供し、ひいては、拡張現実感デバイスとのユーザの相互作用を強めるであろう。
【００１３】
[0017]特定の実施形態では、拡張現実感デバイス上のソフトウェアは、シーン内の物理表面の１つまたは複数の物理特徴を判断することができる。例えば、そのような物理特徴は、物理表面の一定の摩擦、一定の表面張力、及び一定の変形性を含むことができる。ソフトウェアは、物理表面の１つまたは複数の物理特徴についての情報を用いて予め構成されることができる。一実施形態では、ソフトウェアは、表面の他の特性に基づいて、表面の物理特徴を判断するように構成される。例えば、ソフトウェアは、光る鏡面反射性表面がより低い摩擦係数（例えば、一片の氷の表面）を示すことを判断することができる。次いで、ソフトウェアは、これらの判断された物理特徴の一部における仮想オブジェクトと物理オブジェクトとの間の相互作用のシミュレーションに基づくことができる。一例として、仮想のクモが、低い摩擦係数を有する物理表面（例えば、一片の氷）を横切って歩くように拡張現実感デバイス上に描写され得る。次いで、ソフトウェアは、仮想のクモが物理表面を横切って進むように滑る又は落ちるように見えるよう、仮想のクモの挙動を調整することができる。有利なことに、そうすることで、ユーザの拡張現実感体験の現実感を強める。
【００１４】
[0018]図１は、本発明の一実施形態に係る動力学シミュレーション構成要素を備えて構成された拡張現実感デバイスを例示するブロック図である。図示されるように、拡張現実感デバイス１００は、動力学シミュレーション構成要素１１０、カメラデバイス１２０、ディスプレイデバイス１３０及び加速度計１４０を含む。一般に、動力学シミュレーション構成要素１１０は、（例えば、ディスプレイデバイス１３０上に）表示されるときの拡張現実感シーンの現実感を向上するために、実世界環境の取り込まれたシーン内の物理オブジェクトと仮想オブジェクトとの間の相互作用を検出し、これらの相互作用の動力学をシミュレーションするように構成される。カメラデバイス１２０は、視覚的シーンを取り込むためのカメラを含んでもよい。本明細書中で使用されるとき、視覚的シーンは、実世界環境の（複数の）視野のことを言い、その実世界環境において、デバイス１００が使用される。例えば、視覚的シーンは、実世界環境の一連の画像（本明細書中において「フレーム」とも呼ばれる）であってもよい。カメラデバイス１２０はまた、ユーザの方を向いた１つまたは複数のカメラを含んでもよい。一般に、加速度計１４０は、拡張現実感デバイス１００の物理的（又は適切な）加速度を測定することが可能なデバイスである。
【００１５】
[0019]上記したように、動力学シミュレーション構成要素１１０は、拡張現実感デバイス１００上に表示される拡張現実感シーン内の物理オブジェクトと仮想オブジェクトとの間の相互作用をシミュレーションするように構成されてもよい。そうする際、動力学シミュレーション構成要素１１０は、取り込まれた視覚的シーン内の物理オブジェクトを識別することができる。例えば、動力学シミュレーション構成要素１１０は、取り込まれた視覚的シーン内の一定の既定のオブジェクトを認識するよう構成され得る。一例として、動力学シミュレーション構成要素１１０は、物理オブジェクトの特定の特徴（例えば、形状、色、パターンなど）に基づいて、視覚的シーン内の特定の物理オブジェクト（例えば、ボール）を識別するよう予め構成され得る。
【００１６】
[0020]一実施形態では、動力学シミュレーション構成要素１１０は、取り込まれた視覚的シーン内の物理オブジェクトの深度を見積もるよう更に構成される。すなわち、取り込まれた視覚的シーンは、複数の２次元フレームから成ってもよいが、これらの２次元フレームは、３次元空間（例えば、拡張現実感デバイスが位置する物理環境）を表わす。そのように、動力学シミュレーション構成要素１１０は、３次元空間内の物理オブジェクトの深度を判断するために、取り込まれた視覚的シーンを解析することができる。例えば、動力学シミュレーション構成要素１１０は、オブジェクトについての幾何学情報に基づいて、一定の既定の物理オブジェクトを認識するように構成され得る。そのような幾何学情報は、例えば既定の物理オブジェクトの形状及びサイズを含むことができ、動力学シミュレーション構成要素１１０が、シーン内のオブジェクトを利用可能な幾何学情報と比較することを可能にする。動力学シミュレーション構成要素１１０は、視覚的シーン内の物理オブジェクトの深度を判断するために幾何学情報を使用することができる。一例として、幾何学情報が特定のボールが直径３インチを示すことと、視覚的シーンがその種類のボールの２つのインスタンスを含むことと、ここで、第１のインスタンスは１０画素の視覚的シーンを用いて表示され、第２のインスタンスは５０画素の視覚的シーンを用いて表示されることとを仮定する。そのような例において、幾何学情報は、２つの物理ボールが同じサイズであることを示すものの、第１のインスタンスが、第２のインスタンスよりも少ない数の画素を用いて表わされるので、動力学シミュレーション構成要素１１０は、ボールの第１のインスタンスが、ボールの第２のインスタンスよりもカメラから更に離れていることを判断することができる。
【００１７】
[0021]物理オブジェクトがそのシーン内で識別されるとき、動力学シミュレーション構成要素１１０は、時間の経過に伴って、物理オブジェクトの動き又は運動（もしあれば）を観測することができる。一実施形態では、動力学シミュレーション構成要素１１０は、物理オブジェクトの速度を判断するように構成される。例えば、動力学シミュレーション構成要素１１０は、視覚的シーンを構成する複数の取り込まれたフレームにわたって物理オブジェクトを監視することができ、物理オブジェクトの速さ及び軌道を判断することができる。
【００１８】
[0022]さらに、動力学シミュレーション構成要素１１０は、（例えば、ディスプレイ１３０を用いて）拡張現実感デバイス１００上に表示される視覚的シーン内に含めるための１つまたは複数の仮想オブジェクトを識別する。一例として、動力学シミュレーション構成要素１１０は、視覚的シーン内に仮想ボールを表示することを判断することができる。もちろん、そのような例は、限定するものではないし、例示目的のためだけに提供され、より一般的には、仮想オブジェクトは、視覚的シーン内に表示されることが可能な任意の仮想オブジェクトであり得る。さらに、動力学シミュレーション構成要素１１０は、例えば、速さ、仮想オブジェクトの速度、仮想オブジェクトなどの、仮想オブジェクトについての動力学特性及び運動学を識別するように構成され得る。
【００１９】
[0023]次いで、動力学シミュレーション構成要素１１０は、相互作用が、視覚的シーン内の物理オブジェクトと１つまたは複数の仮想オブジェクトとの間にいつ生じるかを判断する。一般的に言えば、相互作用は、物理オブジェクトと（複数の）仮想オブジェクトとが互いに触れる場合か、あるいはそうではなくて、拡張現実感デバイス１００上に表示されたシーンによって表わされる３次元拡張現実感空間内で互いに力を伝える場合に、生じる。例えば、物理ボール及び仮想ボールは、その２つのボールが３次元拡張現実感空間内で互いに衝突する場合、相互作用することが言えるであろう。別の例として、仮想動物が物理テーブル上部上に立っているように表示される実施形態では、ユーザは、仮想動物が描写されている位置におけるテーブル上部上に彼の又は彼女の手を移動させることによって、仮想動物と相互作用することができる。更に別の例として、仮想ボールは、テーブルから転がって離れるようにレンダリングされることができ、ここで、ボールの速さの度合いは、テーブルから転がって離れる物理ボールに作用するであろう重力の実際の力を模倣する。
【００２０】
[0024]一実施形態では、動力学シミュレーション構成要素１１０は、（例えば、物理オブジェクトについての既定の幾何学情報を用いて）取り込まれた視覚的シーンによって表わされた３次元空間内の物理オブジェクトの深度を判断し、３次元拡張現実感空間内の仮想オブジェクトの深度（すなわち、３次元の位置）を更に判断する。次いで、動力学シミュレーション構成要素１１０は、仮想オブジェクトと物理オブジェクトとの間のより現実感のある相互作用を描写する動画をレンダリングするために、深度の値を使用することができる。例えば、第１のオブジェクトが第２のオブジェクトよりも３次元空間内においてカメラにより近い場合、第１のオブジェクトは、第２のオブジェクトと衝突するのではなく、第２のオブジェクトを単に遮ってもよい。換言すれば、動力学シミュレーション構成要素１１０は、３次元空間の３つの軸すべてを考慮するために深度情報を使用してもよい。
【００２１】
[0025]相互作用が物理オブジェクトと１つまたは複数の仮想オブジェクトとの間で生じていることを判断すると、動力学シミュレーション構成要素１１０は、オブジェクト間の相互作用をモデル化するために動力学シミュレーションを実行することができる。例えば、物理ボールが仮想ボールと衝突する実施形態では、動力学シミュレーション構成要素１１０は、物理ボールとの現実感のある衝突をシミュレーションするような手法で仮想ボールを動かすように構成され得る。一例として、動力学シミュレーション構成要素１１０は、物理ボールとの衝突から仮想ボールに伝えられる仮想の力を計算するために、実世界の物理をモデル化する動力学ルールのセットを仮想ボールに適用することができ、動力学シミュレーション構成要素１１０は、仮想ボール上の仮想の力の効果を判断するために、そのルールを更に適用することができる。一実施形態ではこれらの動力学ルールが実世界の物理ルールをモデル化するが、他の動力学システム（例えば、低重力、無重力など）が広く意図される。
【００２２】
[0026]特定の実施形態では、物理オブジェクトと１つまたは複数の仮想オブジェクトとの間の相互作用を検出した後に、動力学シミュレーション構成要素１１０は、拡張現実感世界内の仮想オブジェクトとの相互作用をシミュレーションするために、実世界内の物理オブジェクトに力を加えてもよい。例えば、物理オブジェクトは、表面コントローラによって操作されることが可能な制御された表面上を転がるボールとすることができる。物理オブジェクトと仮想オブジェクトとの間の相互作用を検出することに応答して、動力学シミュレーション構成要素１１０は、（例えば、表面内の回転子、表面内の磁石及び／又はボールなどを用いて）制御された表面経由で物理ボールに力を加えるためにコントローラにメッセージを伝送することができる。一実施形態では、物理オブジェクト自体は、要求に応答して、それ自体の運動を操作するように構成される。例えば、物理ボールは、そのボールの動きを変えることが可能なジャイロスコープを備えて構成され得る。そのような実施形態では、動力学シミュレーション構成要素１１０は、例えば、物理ボールが拡張現実感空間内の仮想オブジェクトといつ衝突するかを検出することができるし、物理ボール内のコントローラに信号を伝送することができ、コントローラにジャイロスコープを作動させ、物理ボールの軌道を変えることを命令する。結果として、拡張現実感デバイス１００を通して物理ボールを見ているユーザは、仮想ボールと相互に作用する物理ボールを知覚することができ、それによって、より現実感のある拡張現実感体験をユーザのためにもたらす。
【００２３】
[0027]図２Ａ〜Ｂは、本明細書に記載された実施形態に係る拡張現実感デバイスを例示する例を提供する。図２Ａは、テーブル２１５を含むシーン２００を例示し、そのテーブル上で、物理ボール２２５は、出発点２２０から転がっており、拡張現実感デバイス１００はディスプレイ２１０を有する。描写されるように、拡張現実感デバイス１００のディスプレイ２１０は、出発位置２２０の出発位置仮想表示２１２と共に、物理ボール２２５の仮想表示２１６を示す。さらに、ディスプレイ２１０は、出発位置２１４と共に、仮想ボール２１８を示す。
【００２４】
[0028]シーン２００では、物理ボール２２５がそれの出発位置２２０から転がったので、仮想表示２１６は、ディスプレイ２１０上のそれの出発位置２１２に静止した。しかしながら、交差する点２２２で、仮想表示２１６は、仮想ボールの出発位置２１４で仮想ボール２１８と衝突した。仮想表示２１６と仮想ボール２１８との間の衝突を検出すると、動力学シミュレーション構成要素１１０は、仮想表示２１６と仮想ボール２１８との間の相互作用の動力学をシミュレーションするために、仮想ボール２１８の運動を調整することができる。それゆえに、この例では、動力学シミュレーション構成要素１１０は、仮想表示２１６及び仮想ボール２１８が交差する点２２２で衝突したことを判断し、それに応じて、仮想の力を仮想ボール２１８に加え、仮想ボール２１８をそれの出発位置２１４から転がさせる。そうすることで、例えば、仮想オブジェクト（例えば、仮想ボール２１８）が、拡張現実感デバイス１００上の物理オブジェクトの仮想表示（例えば、仮想表示２１６）と現実的に相互作用できるようにすることによって、拡張現実感デバイス１００とのユーザ相互作用を強めてもよい。
【００２５】
[0029]一実施形態では、動力学シミュレーション構成要素１１０は、拡張現実感世界についての動力学相互作用を定義する動力学ルールのセットを適用するように構成される。一実施形態では、動力学ルールのセットは、実世界物理を拡張現実感世界内のオブジェクトに適用する。しかしながら、そのような例は、例示目的のためだけのものであり、限定するものではなく、より一般的には、動力学シミュレーション構成要素１１０は、任意の組の動力学ルールを拡張現実感世界（例えば、低重力物理）内の相互作用に適用するように構成され得ることが意図される。
【００２６】
[0030]図２Ｂは、物理オブジェクト（及びそれらの仮想表示）と仮想オブジェクトとが相互作用する別の例を例示する。より詳細には、図２Ｂは、テーブル２１５を含むシーン２４０を例示し、そのテーブル上で、物理ボール２３０は、それの出発点２２０から転がっており、点２２５でそのボールのコースを変える。さらに、シーン２４０は、ディスプレイデバイス２１０を有する拡張現実感デバイス１００を含む。ディスプレイデバイス２１０は、物理ボール２３０の仮想表示２６５と仮想ボール２６０とを示す。ここで、仮想表示２６５は、物理ボール２３０の出発位置２２０に対応する出発位置２５０から転がっており、仮想表示２６５は、交差する点２５５で仮想ボールと衝突している。
【００２７】
[0031]仮想表示２６５と仮想ボール２６０との間の衝突を検出すると、動力学シミュレーション構成要素１１０は、衝突をモデル化するための動力学シミュレーションを実行し、結果として仮想ボール２６０がそれの出発点２４５から転がることをもたらした。すなわち、動力学シミュレーション構成要素１１０は、仮想ボール２６０上に仮想の力を伝えられる交差する点２５５で生じている衝突を判断し、その仮想の力は、仮想ボール２６０がそれの最初の出発位置２４５から転がることを引き起こした。さらに、動力学シミュレーション構成要素１１０は、衝突の結果として、仮想ボール２６０が仮想表示２６５上で次いで仮想の力を伝えられたことを判断した。上記のように、動力学シミュレーション構成要素１１０は、例えば、制御された表面（例えば、テーブル２１５）内の回転子、物理オブジェクト内のジャイロスコープ、制御された表面及び／又は物理オブジェクト内の磁石などを用いて、物理オブジェクト（例えば、物理ボール２３０）の運動を変えるように構成され得る。より一般的には、物理オブジェクトの運動を変えるための任意の機構が、本明細書に記載された機能と矛盾せずに、動力学シミュレーション構成要素１１０によって使用されてもよいことが広く意図される。
【００２８】
[0032]描写された例に戻ると、動力学シミュレーション構成要素１１０は、仮想の力を物理ボール２３０に加えており、それゆえに、交差する点２３５で物理ボールの軌道を変える（そして次に、交差する点２５５で仮想表示の軌道を変える）。有利なことに、そうすることで、動力学的連続体を生成することによって、拡張現実感デバイス１００のユーザのために向上された拡張現実感体験が提供された。その動力学的連続体では、仮想オブジェクトは、拡張現実感デバイス上に示される実世界オブジェクトの動力学に影響を及ぼすことができ、逆の場合もまた同じである。
【００２９】
[0033]さらに、動力学シミュレーション構成要素１１０は、２つの物理オブジェクトの間の相互作用（例えば、衝突）の結果として、仮想オブジェクト上に伝えられる動力学をシミュレーションするように構成され得る。例えば、動力学シミュレーション構成要素１１０は、仮想特徴が、物理的な実世界オブジェクトの運動に現実的に反応するように、拡張現実感空間内の仮想特徴の動作を調整するよう構成されてもよい。この例は図３に示され、図３は、本明細書に記載された一実施形態に係る拡張現実感デバイスを例示する図である。より詳細には、シーン３００は、テーブル２１５と、ディスプレイ２１０を有する拡張現実感デバイス１００とを含む。ここで、第１の物理ボール３２５及び第２の物理ボール３３０が、それらのそれぞれの出発位置３０５及び３１０からテーブル２１５を横切って転がっているように示される。この例の目的のために、物理ボール３２５が出発位置３０５で静止しており、ボール３３０が、それの出発位置３１０から動くように設定されており、静止した第１のボール３２５と交差する点３２０で衝突することを仮定する。衝突の結果として、物理ボール３２５は、それの出発位置３０５からそれの現在の位置まで転がった一方で、ボール３３０は、転がり続けたものの、それの描写された位置で静止することになる前にそれの軌道を変えた。
【００３０】
[0034]この衝突は、拡張現実感デバイス１００のディスプレイ２１０上にもまた例示され、そのディスプレイ２１０では、第１の物理ボール３２５の仮想表示３６０と第２の物理ボール３３０の仮想表示３６５は、それらのそれぞれの出発位置３４５及び３４０からテーブルを横切って転がっているように示される。ここで、仮想表示３６０は出発位置３４５で静止しており、仮想表示３６５は、それの出発位置３４０から動くように設定されており、静止した仮想表示３６０と交差する点３５５で衝突する。衝突の結果として、仮想表示３６０は、それの出発位置３４５からそれの現在の位置まで転がった一方で、仮想表示３６５は、転がり続けたものの、それの描写された位置で静止することになる前にそれの軌道を変えた。
【００３１】
[0035]さらに、拡張現実感デバイス１００のディスプレイ２１０は、最初の位置３５０を有する仮想特徴３７０を含む。それゆえに、現在の例の目的のために、仮想特徴３７０が、出発位置３５０によって示されるように、仮想表示３６０の出発位置３４５内の仮想表示３６０の上部上でバランスをとっていたことを仮定する。しかしながら、仮想表示３６０が仮想表示３６５と衝突した場合、描写された実施形態における動力学シミュレーション構成要素１１０は、仮想表示３６０の結果として生じる動きは、仮想表示３６０上部上で仮想特徴３７０のバランスを保つためには仮想特徴３７０にとって速すぎたことを判断した。結果として、仮想特徴３７０は、その仮想特徴３７０の出発位置３５０から落ちており、描写された位置で静止することになる。
【００３２】
[0036]拡張現実感デバイスのディスプレイ２１０上に示された実世界オブジェクトの運動を監視し、拡張現実感空間内の実世界オブジェクトと仮想オブジェクトとの間の相互作用についての動力学をシミュレーションすることによって、実施形態は、より没入型の拡張現実感体験及びより現実感のある拡張現実感体験をユーザのためにもたらすことができる。例えば、上記例を続けると、ユーザは、仮想特徴３７０が位置する場所における拡張現実感デバイス１００の前面に彼の又は彼女の手を届かすことができ、動力学シミュレーション構成要素１１０は、特徴３７０とユーザの手との間の相互作用の動力学をシミュレーションするために仮想特徴の動作を変えることができる。例えば、一旦、仮想特徴３７０が仮想表示３６０から落ちたら、ユーザは、仮想特徴３７０を持ち上げて戻すように彼の又は彼女の手を用い、ユーザは、仮想特徴３７０をボール３２５の表示３６０の頂部に戻すことができる。有利なことに、そうすることで、没入型の体験を拡張現実感デバイスのユーザのためにもたらすことに役立ち、その拡張現実感デバイスでは、ユーザは、リアルタイムでデバイス上に示された仮想オブジェクト及び特徴と相互作用することができ、それに応じで、仮想オブジェクト及び特徴は、ユーザとの相互作用に応答することになる。
【００３３】
[0037]注目すべきことには、動力学シミュレーション構成要素１１０は、拡張現実感シーンの物理オブジェクト及び仮想オブジェクトとの仮想特徴３７０の相互作用をシミュレーションするときに、物理学ベースのルールのセットをモデル化するように構成され得る。例えば、その特徴の腕、足及び関節のそれぞれのシミュレーションされた挙動は、重力又は任意の他の外部衝撃力の存在を考慮することができる。有利なことに、そうすることで、拡張現実感環境における仮想特徴とオブジェクトとの間により現実感のある相互作用をもたらす。さらに、本明細書において提供された様々な例は実世界の物理を使用するが、拡張現実感世界は、物理の他のルールを使用できることが広く意図される。例えば、動力学シミュレーション構成要素１１０は、実世界に比較してより低い重力係数を用いて、拡張現実感世界内の仮想特徴とオブジェクトとの間の相互作用をシミュレーションするように構成され得る。より一般的には、実施形態は、本明細書に記載された機能と矛盾しない任意の物理に基づくルールを使用するように構成されてもよい。
【００３４】
[0038]図４は、一実施形態に係る拡張現実感デバイス上の仮想オブジェクトと物理オブジェクトとの間の相互作用の動力学をシミュレーションする方法を例示するフロー図である。図示されるように、方法４００は、拡張現実感デバイスがシーンを取り込むステップ４１０で始まる。上記のように、視覚的シーンは、拡張現実感デバイスのカメラを用いて取り込まれた一連のフレーム（すなわち、画像）とすることができる。次いで、動力学シミュレーション構成要素１１０は、そのシーン内の物理オブジェクトを識別する（ステップ４１５）。例えば、動力学シミュレーション構成要素１１０は、そのオブジェクトの既定の特徴に基づいて、一定のオブジェクトを認識するように構成され得る。そのような特徴は、オブジェクトの色、形状、テクスチャなどを含むことができるが、これらに限定されるものではない。
【００３５】
[0039]描写された実施形態では、動力学シミュレーション構成要素１１０は、視覚的シーン内に表示される１つまたは複数の仮想オブジェクトを識別する（ステップ４２０）。もちろん、上記参考例は仮想ボール及び仮想特徴に関係するが、そのような例は、限定するものではなく、例示目的のために提供される。その上、本明細書に記載された実施形態は、視覚的シーンに挿入され、拡張現実感デバイス上に表示されることが可能な任意の仮想オブジェクトと共に使用され得ることが広く意図される。
【００３６】
[0040]識別された物理オブジェクトのそれぞれについて、動力学シミュレーション構成要素１１０は、対応する速度（すなわち、速さ及び軌道）を判断する（ステップ４３０）。例えば、動力学シミュレーション構成要素１１０は、それらの実世界物理次元などの一定の物理オブジェクトの幾何学的特徴を記載する幾何学情報を記憶することができる。動力学シミュレーション構成要素１１０は、視覚的シーン内の識別された物理オブジェクトの深度を判断するためにこの幾何学的情報を使用してもよい。さらに、この情報は、（例えば、一連のフレーム上のオブジェクトの位置を監視することによって）これらのオブジェクトの実世界速度を判断するために使用され得る。
【００３７】
[0041]図示されるように、動力学シミュレーション構成要素１１０は、１つまたは複数の仮想オブジェクトと相互作用する１つまたは複数の物理オブジェクトの動力学をモデル化するために、この速度情報を使用する（ステップ４３５）。例えば、シミュレーション構成要素１１０は、物理ボールが拡張現実感空間内で仮想ボールと衝突していることを判断すると、仮想ボールに加えられる仮想の力の量を判断するために、物理ボールが移動している速度を使用することができる。次いで、この仮想の力の情報は、（例えば、物理ボールと衝突する結果として、仮想ボールが転がっていくことを引き起こす）仮想ボールの動きを変えるために使用され得る。
【００３８】
[0042]さらに、この例では、動力学シミュレーション構成要素１１０はまた、仮想オブジェクトの少なくとも１つと相互作用する物理オブジェクトをシミュレーションするために、少なくとも１つの物理オブジェクトの経路を調整することができる（ステップ４４０）。例えば、動力学シミュレーション構成要素１１０は、物理オブジェクト内のコントローラにメッセージを伝送することができ、仮想オブジェクトとの衝突の結果として一定の方向に動くよう物理オブジェクトに命令する。別の例として、動力学シミュレーション構成要素１１０は、物理オブジェクトが配置された表面と関連付けられたコントローラにメッセージを伝送することができ、（例えば、表面及び／又は物理オブジェクト内の磁石を用いて）衝突の結果として物理オブジェクトの動きを変えるよう表面に命令する。もちろん、そのような例は、限定するものではなく、例示目的のためだけに提供されるものであり、より一般的には、本明細書に記載された機能と矛盾せずに、物理オブジェクトの動きを変えるための任意の機構が使用されてもよいことが広く意図される。
【００３９】
[0043]上記のように、一実施形態では、動力学シミュレーション構成要素１１０は、シーン内の物理表面の１つまたは複数の物理特徴を判断することができる。そのような物理特徴は、物理表面の一定の摩擦、一定の表面張力、及び一定の変形性を含むことができるが、これらに限定されるものではない。動力学シミュレーション構成要素１１０は、物理表面の１つまたは複数の物理特徴についての情報を用いて予め構成され得る。例えば、動力学シミュレーション構成要素１１０は、シーン内の表面の種類を識別することができ、次いで、識別された表面についての予め構成された物理特徴情報にアクセスすることができる。一実施形態では、動力学シミュレーション構成要素１１０は、表面の他の特性に基づいて、表面の物理特徴を判断するように構成される。例えば、動力学シミュレーション構成要素１１０は、光る鏡面反射性表面がより低い摩擦係数（例えば、一片の氷の表面）を示すことを判断することができる。次いで、動力学シミュレーション構成要素１１０は、これらの判断された物理特徴の一部における仮想オブジェクトと物理オブジェクトとの間の相互作用のシミュレーションに基づくことができる。例えば、上記のように、仮想のクモが、低い摩擦係数を有する物理表面（例えば、一片の氷）を横切って歩くように拡張現実感デバイス上に描写され得る。動力学シミュレーション構成要素１１０は、仮想のクモが物理表面を横切って進むように滑る又は落ちるように見えるよう、仮想のクモの挙動を調整することができる。有利なことに、そうすることで、ユーザの拡張現実感体験の現実感を強める。
【００４０】
[0044]ステップ４４５では、動力学シミュレーション構成要素１１０は、仮想オブジェクトとシーン内に存在するオブジェクトとの間のモデル化された相互作用を考慮する拡張現実感デバイス上の視覚的シーンのフレームをレンダリングする。有利なことに、実施形態は、より現実感のある拡張現実感体験を拡張現実感デバイスのユーザのためにもたらすことに役立つ。次いで、これは、ユーザが、拡張現実感デバイス上に表示される仮想オブジェクトと相互作用するために物理オブジェクト（例えば、ユーザの手）を使用することができるので、より没入型の体験をユーザのためにもたらす。
【００４１】
[0045]図５は、本明細書に記載された一実施形態に係る動力学シミュレーション構成要素を備えて構成された拡張現実感デバイスを例示するブロック図である。この例では、拡張現実感デバイス１００は、プロセッサ５００、記憶装置５０５、メモリ５１０、入出力デバイス５２０、ネットワークインターフェース５２５、カメラデバイス１２０、ディスプレイデバイス１３０及び加速度計デバイス１４０を含むが、これらに限定されるものではない。一般に、プロセッサ５００は、メモリ５１０内に記憶されたプログラミング命令を検索し実行する。プロセッサ５００は、単一ＣＰＵ、複数ＣＰＵ、複数処理コアを有する単一ＣＰＵ、複数実行経路を有するＧＰＵなどを代表するものに含まれる。メモリ５１０は、一般に、ランダムアクセスメモリを代表するものに含まれる。ネットワークインターフェース５２５は、拡張現実感デバイス１００がデータ通信ネットワーク（例えば、有線イーサネット（登録商標）接続又は８０２．１１無線ネットワーク）に接続することを可能にする。さらに、描写された実施形態は、特定の拡張現実感デバイス１００の構成要素を例示するが、当業者は、拡張現実感デバイスが様々な異なるハードウェアアーキテクチャを使用してもよいことを認識するであろう。その上、発明の実施形態は、本明細書に記載された機能を実行することが可能な任意のデバイス又はコンピュータシステムを用いて実施されてもよいことが明確に意図される。
【００４２】
[0046]メモリ５１０は、必要なプログラム及びデータ構造を保持するために十分に大きな任意のメモリを表わす。メモリ５１０は、ランダムアクセスメモリ、不揮発性又はバックアップメモリ（例えば、プログラム可能な又はフラッシュメモリ、読み取り専用メモリなど）を含むメモリデバイスの一つまたは組み合わせとすることができる。さらに、メモリ５１０及び記憶装置５０５は、どこか他の場所に、例えば、拡張現実感デバイス１００に通信可能に結合された別のコンピュータ上に、物理的に位置するメモリを含むことが考慮されてもよい。実例として、メモリ５１０は、動力学シミュレーション構成要素１１０とオペレーティングシステム５１５を含む。オペレーティングシステム５１５は、一般に、拡張現実感デバイス１００上のアプリケーションプログラムの実行を制御する。オペレーティングシステム５１５の例は、ＵＮＩＸ（登録商標）、あるバージョンのＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステム、及びＬｉｎｕｘ（登録商標）オペレーティングシステムの配布物を含む（注釈：Ｌｉｎｕｘは、Ｌｉｎｕｓ  Ｔｏｒｖａｌｄｓ氏の米国及び他の国における商標である）。オペレーティングシステム５１５の追加的な例は、ゲームコンソールのためのカスタムオペレーティングシステムを含み、Ｎｉｎｔｅｎｄｏ  ＤＳ（登録商標）及びＳｏｎｙ  ＰＳＰ（登録商標）などのシステムのためのカスタムオペレーティングシステムを含む。
【００４３】
[0047]入出力デバイス５２０は、多種多様の入出力デバイスを表わし、ディスプレイ、キーボード、タッチスクリーンなどを含む。例えば、入出力デバイス５２０は、ユーザインターフェースを提供するために使用されるディスプレイデバイスを含んでもよい。一例として、ディスプレイは、ユーザが、（例えば、仮想オブジェクトを選択し制御するために）異なるアプリケーション及びアプリケーション内のオプションを選択することを可能にするタッチセンサ式表面を提供してもよい。さらに、入出力デバイス５２０は、拡張現実感デバイス１００を制御するための一組のボタン、スイッチ又は他の物理デバイス機構を含んでもよい。例えば、入出力デバイス５２０は、拡張現実感デバイス１００を用いてプレイされるビデオゲームの態様を制御するために使用される一組の方向性ボタンを含むことができる。
【００４４】
[0048]一般に、動力学シミュレーション構成要素１１０は、（例えば、ディスプレイ１３０を用いて）拡張現実感デバイス１００によって表示される仮想オブジェクトと、デバイス１００の外側の物理オブジェクト（例えば、カメラ１２０を用いて撮影された物理ボール）との間の相互作用を制御する。動力学シミュレーション構成要素１１０は、表示用の視覚的シーンを取り込んでもよい。例えば、視覚的シーンは、拡張現実感デバイス１００のカメラ１２０を用いて取り込まれた一連のフレームとすることができる。動力学シミュレーション構成要素１１０は、視覚的シーン内の１つまたは複数の物理オブジェクトを識別することができ、視覚的シーン内に表示される１つまたは複数の仮想オブジェクトを更に識別することができる。動力学シミュレーション構成要素１１０は、オブジェクトがいつ互いに相互作用するかを判断するために、物理オブジェクト及び仮想オブジェクトの運動を更に監視することができる。次いで、動力学シミュレーション構成要素１１０は、視覚的シーン内における物理オブジェクトと１つまたは複数の仮想オブジェクトとの間の相互作用の動力学をシミュレーションすることができる。次いで、このシミュレーションの出力は、ディスプレイ１３０を用いて表示され得る。有利なことに、そうすることで、物理オブジェクトが拡張現実感デバイス１００上に表示される仮想オブジェクトと相互作用することを可能にすることによって、また逆の場合も同じようにすることによって、より現実感のある及びより没入型の拡張現実感体験を提供することに役立つ。
【００４５】
[0049]上記では、言及は発明の実施形態になされた。しかしながら、発明は、特定の記載された実施形態に限定されない。その代わりに、以下の特徴及び要素の任意の組み合わせは、異なる実施形態に関するものであろうとなかろうと、発明を実施し実行することが意図される。さらに、発明の実施形態は、他の可能な解決策に勝る及び／又は先行技術に勝る利点を実現するであろうが、いずれにせよ、所与の実施形態によって実現される特定の利点は発明を限定するものではない。それゆえに、上記の態様、特徴、実施形態及び利点は、単に例示的なものであり、（複数の）特許請求の範囲に明確に列挙される場合を除き、添付された特許請求の範囲の要素又は限定とみなされない。同様に、「発明」への言及は、本明細書に開示された任意の発明の主題の一般化として解釈されないものとし、（複数の）特許請求の範囲に明確に列挙される場合を除き、添付された特許請求の範囲の要素又は限定とみなされないものとする。
【００４６】
[0050]本発明の態様は、システム、方法又はコンピュータプログラム製品として具体化されてもよい。それに応じて、本発明の態様は、完全にハードウェアの実施形態、（ファームウェア、常駐のソフトウェア、マイクロコードなどを含む）完全にソフトウェアの実施形態、あるいはすべて一般に本明細書において「回路」、「モジュール」又は「システム」と呼ばれるであろうソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形式をとってもよい。その上、本発明の態様は、コンピュータ可読媒体上に具体化されるコンピュータ可読プログラムコードを有する１つまたは複数のコンピュータ可読媒体内に具体化されるコンピュータプログラム製品の形式をとってもよい。
【００４７】
[0051]１つまたは複数のコンピュータ可読媒体の任意の組み合わせが利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、限定されるものではないが、電子、磁気、光学、電磁気、赤外線、若しくは半導体システム、装置、又はデバイス、あるいは前記したものの任意適切な組み合わせであってもよい。コンピュータ可読記憶媒体のより詳細な例（包括的ではないリスト）は、以下のもの、すなわち、１つまたは複数の電線を有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能でプログラム可能な読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ‐ＲＯＭ）、光学記憶デバイス、磁気記憶デバイス、あるいは前記したものの任意適切な組み合わせを含むであろう。この文書との関連において、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによる使用、あるいはその命令実行システム、装置、又はデバイスと関連する使用のためのプログラムを含むか記憶することができる任意の有形の媒体であってもよい。
【００４８】
[0052]コンピュータ可読信号媒体は、例えば、ベースバンド内に又は搬送波の一部として、その媒体内に具体化されたコンピュータ可読プログラムコードを用いて伝搬されるデータ信号を含んでもよい。そのような伝搬される信号は、限定されるものではないが、電磁気、光、又はそれらの任意適切な組み合わせを含む様々な形式のいずれかをとってもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではない任意のコンピュータ可読媒体であって、命令実行システム、装置、若しくはデバイスによる使用、あるいはその命令実行システム、装置、若しくはデバイスと関連する使用のためのプログラムを通信し、伝搬し、又は伝送することができる任意のコンピュータ可読媒体であってもよい。
【００４９】
[0053]コンピュータ可読媒体上に具体化されたプログラムコードは、限定されるものではないが無線、有線、光ファイバケーブル、ＲＦなど、あるいは前記のものの任意適切な組み合わせを含む任意適切な媒体を用いて伝送されてもよい。
【００５０】
[0054]本発明の態様についての動作を実行するためのコンピュータプログラムコードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋又は同様のものなどのオブジェクト指向プログラミング言語と、「Ｃ」プログラミング言語又は類似のプログラミング言語などの従来の手続き型プログラミング言語とを含む、１つまたは複数のプログラミング言語の任意の組み合わせで書かれていてもよい。プログラムコードは、ユーザのコンピュータ上で全部、ユーザのコンピュータ上で部分的に、独立型のソフトウェアパッケージとして、ユーザのコンピュータ上で部分的にかつ遠隔コンピュータ上で部分的に、あるいは遠隔コンピュータ又はサーバ上で全部実行されてもよい。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）若しくはワイドエリアネットワーク（ＷＡＮ）を含む任意の種類のネットワーク経由でユーザのコンピュータに接続されてもよく、あるいは接続は、（例えば、インターネットサービスプロバイダを用いたインターネット経由で）外部コンピュータになされてもよい。
【００５１】
[0055]本発明の態様は、発明の実施形態に係る方法、装置（システム）及びコンピュータプログラム製品のフローチャート図並びに／又はブロック図に関して上記された。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせが、コンピュータプログラム命令によって実施され得ることは理解されるであろう。コンピュータのプロセッサ又は他のプログラム可能なデータ処理装置経由で実行する命令が、フローチャート及び／又はブロック図のブロックあるいは複数ブロック内において指定された機能／動作を実施するための手段を生成するように、これらのコンピュータプログラム命令は、マシンを作るための一般目的のコンピュータ、特別目的のコンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供されてもよい。
【００５２】
[0056]コンピュータ可読媒体内に記憶された命令が、フローチャート及び／又はブロック図のブロックあるいは複数ブロック内において指定された機能／動作を実施する命令を含む製造品をもたらすように、これらのコンピュータプログラム命令はまた、特定の手法で機能するようにコンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスに指示することができるコンピュータ可読媒体内に記憶されてもよい。
【００５３】
[0057]コンピュータ又は他のプログラム可能な装置上で実行する命令が、フローチャート及び／又はブロック図のブロックあるいは複数ブロック内において指定された機能／動作を実施するためのプロセスを提供するように、コンピュータプログラム命令はまた、コンピュータにより実施されるプロセスを生じさせるために、一連の操作上のステップをコンピュータ、他のプログラム可能な装置又は他のデバイス上で実行させるように、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイス上にロードされてもよい。
【００５４】
[0058]発明の実施形態は、クラウドコンピューティングインフラストラクチャを通してエンドユーザに提供されてもよい。クラウドコンピューティングは、一般に、ネットワーク上のサービスとして拡張可能なコンピューティングリソースの供給に関連する。より正式には、クラウドコンピューティングは、コンピューティングリソースとそれの基礎をなす技術的アーキテクチャ（例えば、サーバ、記憶装置、ネットワーク）との間の抽象化を提供するコンピューティング機能として定義されてもよく、最小限の管理努力又はサービスプロバイダ相互作用で迅速に提供され解放され得る構成可能なコンピューティングリソースの共有プールへの便利な、オンデマンド式ネットワークアクセスを可能にする。それゆえに、クラウドコンピューティングは、ユーザが、コンピューティングリソースを提供するために使用される基礎をなす物理システム（又はそれらのシステムの位置）を考慮せずに、「クラウド」内の仮想コンピューティングリソース（例えば、記憶装置、データ、アプリケーション、さらには、完全に仮想化されたコンピューティングシステム）にアクセスすることを可能にする。
【００５５】
[0059]典型的に、クラウドコンピューティングリソースは、ユーザが、実際に使用されたコンピューティングリソース（例えば、ユーザによって消費された記憶スペースの量又はユーザによってインスタンス化された仮想化システムの数）についてだけ請求される使用回数制料金で、ユーザに提供される。ユーザは、インターネット上でどこからでも、任意の時間にクラウド内にあるいずれのリソースにもアクセスすることができる。本発明の関係において、ユーザは、クラウド内で利用可能な幾何学的データにアクセスしてもよい。例えば、動力学シミュレーション構成要素１１０は、ユーザによって操作される拡張現実感デバイス１００上で実行することができ、ユーザの現在の環境（例えば、ユーザの現在の環境内の物理オブジェクトの寸法）に関係する幾何学的情報を収集することができる。そのような場合では、動力学シミュレーション構成要素１１０は、収集されたデータを記憶用のクラウド内のコンピューティングシステムに伝送することができる。ユーザが同じ環境に再度戻ると、動力学シミュレーション構成要素１１０は、幾何学的データを検索するためにクラウド内のコンピュータシステムに問い合わせることができ、次いで、ユーザの物理環境内の物理オブジェクトと拡張現実感デバイス１００上に表示される仮想オブジェクトとの間の動力学シミュレーションを実行するために、検索されたデータを使用することができる。例えば、動力学シミュレーション構成要素１１０は、取り込まれた視覚的シーン内の物理オブジェクトの深度を判断するために幾何学的情報を使用することができる。そうすることで、ユーザが、クラウドに接続されたネットワーク（例えば、インターネット）に付属した任意のデバイス又はコンピュータシステムからこの情報にアクセスすることを可能にする。
【００５６】
[0060]図面内のフローチャート及びブロック図は、本発明の様々な実施形態に係るシステム、方法及びコンピュータプログラム製品の可能な実施のアーキテクチャ、機能性、及び動作を例示する。これに関して、フローチャート又はブロック図内の各ブロックは、（複数の）指定された論理的機能を実施するための１つまたは複数の実行可能な命令を含むモジュール、セグメント、又はコードの一部を表わしてもよい。いくつかの代替の実施では、ブロック内に示された機能は、図面内に示された順序から外れて生じてもよい。例えば、連続して示された２つのブロックは、実際、実質的に同時に実行されてもよいし、あるいは、そのブロックは、関係する機能性次第で、時には逆の順序で実行されてもよい。ブロック図及び／又はフローチャート図の各ブロック、並びにブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する特別目的のハードウェアベースのシステム、あるいは特別目的のハードウェアとコンピュータ命令との組み合わせによって実施され得る。
【００５７】
[0061]前記したものは、本発明の実施形態に関するものであるが、発明の他の及び更なる実施形態は、発明の基本的な範囲から逸脱することなく考案されてもよく、その発明の範囲は、以下に続く特許請求の範囲によって決定される。
【図１】
0005619964.tif 000002
【図４】
0005619964.tif 000003
【図５】
0005619964.tif 000004
【図２Ａ】
0005619964.tif 000005
【図２Ｂ】
0005619964.tif 000006
【図３】
0005619964.tif 000007