(57)【特許請求の範囲】
【請求項１】
物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングするための方法であって、
拡張現実デバイスにより、第１の仮想空間を定めることであって、前記第１の仮想空間は、前記拡張現実デバイスにより生成される第１の空間境界により境界付けられ、前記第１の空間境界は前記拡張現実デバイスのユーザにしか見えない、定めることと、
１つ又は複数のプロセッサにより、前記第１の仮想空間を複数のグラフィック・ドライバからの第１のグラフィック・ドライバと関連付けることであって、前記グラフィック・ドライバは前記物理的ディスプレイ上に画像を生成する、関連付けることと、
ビデオ・アダプタ・ハードウェア・カードにより、前記拡張現実デバイスから、第１の仮想空間選択ジェスチャを示す第１の信号を受け取ることであって、前記第１の仮想空間選択ジェスチャを示す前記第１の信号は、前記ユーザが前記第１の仮想空間を選択する第１の物理的運動を行うことに応答して、前記拡張現実デバイスにより生成される、受け取ることと、
前記ビデオ・アダプタ・ハードウェア・カードが前記第１の仮想空間選択ジェスチャを示す前記第１の信号を受け取ることに応答して、前記第１のグラフィック・ドライバを実装する前記ビデオ・アダプタ・ハードウェア・カードにより、前記物理的ディスプレイ上に前記第１の仮想空間と関連したコンテンツを表示することと、
を含む、方法。
【請求項２】
前記第１の仮想空間は、前記拡張現実デバイスにより定められる複数の仮想空間からのものであり、前記複数の仮想空間は、前記拡張現実デバイスの前記ユーザにしか見えない、請求項１に記載の方法。
【請求項３】
前記物理的ディスプレイ上に表示されるリアルタイム・コンテンツは、前記拡張現実デバイスにより表示されない、請求項２に記載の方法。
【請求項４】
前記拡張現実デバイスの前記ユーザは、前記拡張現実デバイスの着用者である、請求項１〜３の何か１項に記載の方法。
【請求項５】
前記拡張現実デバイスは、拡張現実グラスである、請求項１〜４の何か１項に記載の方法。
【請求項６】
前記第１の仮想空間選択ジェスチャは、前記第１の仮想空間を通る前記ユーザの動作である、請求項１〜５の何か１項に記載の方法。
【請求項７】
前記第１の仮想空間選択ジェスチャは、前記拡張現実デバイスを前記第１の仮想空間に向けるユーザの動作である、請求項１〜５の何か１項に記載の方法。
【請求項８】
前記第１の仮想空間選択ジェスチャは、前記ユーザが前記ユーザの視野を前記第１の仮想空間に向けることである、請求項１〜５の何か１項に記載の方法。
【請求項９】
１つ又は複数のプロセッサにより、前記拡張現実デバイスからのセンサ信号を用いて、実物理空間における前記物理的ディスプレイの偏向に応じて前記第１の仮想空間の寸法を調整することをさらに含む、請求項１〜８の何か１項に記載の方法。
【請求項１０】
前記拡張現実デバイスにより、第２の仮想空間を定めることであって、前記第２の仮想空間は、前記拡張現実デバイスにより生成される第２の空間境界により境界付けられ、前記第２の空間境界は前記拡張現実デバイスの前記ユーザにしか見えない、定めることと、
１つ又は複数のプロセッサにより、前記第２の仮想空間を前記複数のグラフィック・ドライバからの第２のグラフィック・ドライバと関連付けることと、
前記ビデオ・アダプタ・ハードウェア・カードにより、前記拡張現実デバイスから、第２の仮想空間選択ジェスチャを示す第２の信号を受け取ることであって、前記第２の仮想空間選択ジェスチャを示す前記第２の信号は、前記ユーザが前記第２の仮想空間を選択する第２の物理的運動を行うことに応答して、前記拡張現実デバイスにより生成される、受け取ることと、
前記ビデオ・アダプタ・ハードウェア・カードが前記第２の仮想空間選択ジェスチャを示す前記第２の信号を受け取ることに応答して、前記ビデオ・アダプタ・ハードウェア・カードが前記第１のグラフィック・ドライバを前記第２のグラフィック・ドライバに置き換えることにより、前記物理的ディスプレイ上に前記第２の仮想空間と関連したコンテンツを表示することであって、前記第１の仮想空間と関連したコンテンツは前記物理的ディスプレイから除去される、表示することと、
をさらに含む、請求項１〜９の何か１項に記載の方法。
【請求項１１】
前記第１の仮想空間は２次元である、請求項１〜１０の何か１項に記載の方法。
【請求項１２】
前記第１の仮想空間は３次元である、請求項１〜１０の何か１項に記載の方法。
【請求項１３】
前記ビデオ・アダプタ・ハードウェア・カードにより、前記物理的ディスプレイ上に複数の位置決めアイコンを表示することと、
１つ又は複数のプロセッサにより、前記物理的ディスプレイ上の前記複数の位置決めアイコンに基づいて、前記物理的ディスプレイの知覚されるサイズを求めることと、
前記拡張現実デバイスにより、前記物理的ディスプレイの前記知覚されるサイズに合致するように、前記第１の仮想空間のサイズを調整することと、
をさらに含む、請求項１〜１２の何か１項に記載の方法。
【請求項１４】
前記第１の仮想空間と関連付けられ、前記物理的ディスプレイ上に表示される前記コンテンツは、アプリケーション・プログラムである、請求項１〜１３の何か１項に記載の方法。
【請求項１５】
物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングするためのシステムであって、
拡張現実デバイスであって、拡張現実デバイスは第１の仮想空間を定め、前記第１の仮想空間は拡張現実デバイスにより生成される第１の空間境界により境界付けられ、前記第１の空間境界は拡張現実デバイスのユーザにしか見えない、拡張現実デバイスと、
前記第１の仮想空間を複数のグラフィック・ドライバからの第１のグラフィック・ドライバと関連付ける１つ又は複数のプロセッサであって、１つ又は複数のプロセッサは、前記拡張現実デバイスから、前記ユーザが前記第１の仮想空間を選択する第１の物理的運動を行うことに応答して、前記拡張現実デバイスにより生成される前記第１の仮想空間の選択ジェスチャを示す第１の信号を受け取る、１つ又は複数のプロセッサと、
ビデオ・アダプタ・ハードウェア・カードであって、ビデオ・アダプタ・ハードウェア・カードは、前記第１の仮想空間の選択ジェスチャを示す前記第１の信号を受け取ることに応答して、前記第１のグラフィック・ドライバを実装し、前記物理的ディスプレイ上に前記第１の仮想空間と関連したコンテンツを表示する、ビデオ・アダプタ・ハードウェア・カードと、
を備える、システム。
【請求項１６】
前記第１の仮想空間は、前記拡張現実デバイスにより定められる複数の仮想空間からのものであり、前記複数の仮想空間内は前記拡張現実デバイスの前記ユーザにしか見えず、前記複数の仮想空間内に表示されるリアルタイム・コンテンツは、視認可能であり、前記物理的ディスプレイ上に表示されない、請求項１５に記載のシステム。
【請求項１７】
前記１つ又は複数のプロセッサは、前記拡張現実デバイスからのセンサ信号を用いて、実物理空間における前記物理的ディスプレイの偏向に応じて前記第１の仮想空間の寸法を調整する、請求項１５〜１６の何か１項に記載のシステム。
【請求項１８】
請求項１〜１４の何か１項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項１９】
請求項１８に記載の前記コンピュータ・プログラムを、コンピュータ可読ストレージ媒体に記録した、コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータの分野に関し、具体的には、コンピュータ・ディスプレイに関する。さらにより特定的には、本開示は、物理的コンピュータ・ディスプレイを、仮想空間において拡張現実グラス（augmented reality glasses）により提示されるアプリケーションにポピュレートすることに関する。
【背景技術】
【０００２】
デスクトップ・コンピューティング環境において利用可能な仮想領域の拡張は、例えば、（１）より多くの物理的モニタを付加する、（２）仮想デスクトップを生成し、それらを切り替える、（３）ウィンドウを最小化し、それらが必要なときに最大化するなど、多数の方法で行うことができる。
【０００３】
しかしながら、これらの解決法は、ユーザが常にウィンドウを切り替える必要があること、又は多数の物理的画面を付加しなければならないことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従って、当技術分野において、上述の問題に対処するための必要性がある。
【課題を解決するための手段】
【０００５】
第１の態様から見ると、本発明は、物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングするための方法を提供し、この方法は、拡張現実デバイスにより、第１の仮想空間を定めることであって、第１の仮想空間は拡張現実デバイスにより生成される第１の空間境界により境界付けられ、第１の空間境界は拡張現実デバイスのユーザにしか見えない、定めることと；１つ又は複数のプロセッサにより、第１の仮想空間を複数のグラフィック・ドライバからの第１のグラフィック・ドライバと関連付けることであって、グラフィック・ドライバは、物理的ディスプレイ上に画像を生成する、関連付けることと；ビデオ・アダプタ・ハードウェア・カードにより、拡張現実デバイスから、第１の仮想空間選択ジェスチャを示す第１の信号を受け取ることであって、第１の仮想空間選択ジェスチャが生成されることを示す第１の信号は、ユーザが第１の仮想空間を選択する第１の物理的運動を行うことに応答して、拡張現実デバイスにより生成される、受け取ることと；ビデオ・アダプタ・ハードウェア・カードが第１の仮想空間選択ジェスチャを示す第１の信号を受け取ることに応答して、第１のグラフィック・ドライバを実装するビデオ・アダプタ・ハードウェア・カードにより、物理的ディスプレイ上に前記第１の仮想空間と関連したコンテンツを表示することと、を含む。
【０００６】
本発明の１つの実施形態において、方法は、物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングする。拡張現実デバイスは仮想空間を定め、該仮想空間は、拡張現実デバイスにより生成される空間境界により境界付けられ、空間境界は拡張現実デバイスのユーザにしか見えない。１つ又は複数のプロセッサは、仮想空間を複数のグラフィック・ドライバからの１つのグラフィック・ドライバと関連付け、グラフィック・ドライバは、物理的ディスプレイ上に画像を生成する。仮想空間選択ジェスチャを示す第１の信号を拡張現実デバイスから受け取り、仮想空間選択ジェスチャを示す第１の信号は、ユーザが仮想空間を選択する物理的運動を行うことに応答して、拡張現実デバイスにより生成される。仮想空間選択ジェスチャを示す信号を受け取ることに応答して、ハードウェア・グラフィック・カードは、グラフィック・ドライバを実装し、物理的ディスプレイ上に仮想空間と関連したコンテンツを表示する。
【０００７】
更に別の態様から見ると、本発明は、物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングするためのシステムを提供し、このシステムは、拡張現実デバイスであって、該拡張現実デバイスは第１の仮想空間を定め、第１の仮想空間は拡張現実デバイスにより生成される第１の空間境界により境界付けられ、第１の空間境界は拡張現実デバイスのユーザにしか見えない、拡張現実デバイスと；第１の仮想空間を複数のグラフィック・ドライバからの第１のグラフィック・ドライバと関連付ける１つ又は複数のプロセッサであって、グラフィック・ドライバは物理的ディスプレイ上に画像を生成し、１つ又は複数のプロセッサは、ユーザが第１の仮想空間を選択する第１の物理的運動を行うことに応答して、拡張現実デバイスから、拡張現実デバイスにより生成される第１の仮想空間選択ジェスチャを示す第１の信号を受け取る、１つ又は複数のプロセッサと；ビデオ・アダプタ・ハードウェア・カードであって、該ビデオ・アダプタ・ハードウェア・カードは、第１の仮想空間選択ジェスチャを示す第１の信号を受け取ることに応答して、第１のグラフィック・ドライバを実装し、物理的ディスプレイ上に第１の仮想空間と関連したコンテンツを表示する、ビデオ・アダプタ・ハードウェア・カードと、を備える。
【０００８】
本発明の１つの実施形態において、システムは、物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングする。拡張現実デバイスは仮想空間を定め、仮想空間は、拡張現実デバイスにより生成される空間境界により境界付けられ、空間境界は拡張現実デバイスのユーザにしか見えない。１つ又は複数のプロセッサは、仮想空間を複数のグラフィック・ドライバからの特定のグラフィック・ドライバと関連付け、グラフィック・ドライバは物理的ディスプレイ上に画像を生成し、１つ又は複数のプロセッサは、拡張現実デバイスから、拡張現実デバイスのユーザからの仮想空間選択ジェスチャを示す信号を受け取り、仮想空間選択ジェスチャを示す信号が、ユーザが仮想空間を選択する物理的運動を行うことに応答して、拡張現実デバイスにより生成される。ハードウェア・カードは、仮想空間選択ジェスチャを示す信号を受け取ることに応答して、特定のグラフィック・ドライバを実装し、物理的ディスプレイ上に仮想空間と関連したコンテンツを表示する。
【０００９】
更に別の態様から見ると、本発明は、物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングするためのコンピュータ・プログラム、またはコンピュータ・プログラム製品を提供し、コンピュータ・プログラム製品は、処理回路により読み取り可能であり、本発明のステップを実施する方法を実行するための、処理回路により実行される命令を格納する、コンピュータ可読ストレージ媒体を含む。
【００１０】
本発明の１つの実施形態において、コンピュータ・プログラム製品は、物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングする。コンピュータ・プログラム製品は、プログラム・コードがそこに具体化されたコンピュータ可読ストレージ媒体を含み、コンピュータ可読ストレージ媒体は、一時的信号自体ではない。プログラム・コードは、方法を実施するために、プロセッサにより読み取り可能かつ実行可能であり、この方法は、仮想空間を定めることであって、仮想空間は拡張現実デバイスにより生成される空間境界により境界付けられ、空間境界は拡張現実デバイスのユーザにしか見えない、定めることを含む。仮想空間は、複数のグラフィック・ドライバからの特定のグラフィック・ドライバと関連付けられ、グラフィック・ドライバは、物理的ディスプレイ上に画像を生成する。仮想空間選択ジェスチャを示す信号を拡張現実デバイスから受け取り、仮想空間選択ジェスチャを示す信号は、ユーザが仮想空間を選択する物理的運動を行うことに応答して、拡張現実デバイスにより生成される。仮想空間選択ジェスチャを示す信号を受け取ることに応答して、ハードウェア・グラフィック・カードは、特定のグラフィック・ドライバを実装し、物理的ディスプレイ上に仮想空間と関連したコンテンツを表示する。
【００１１】
更に別の態様から見ると、本発明は、コンピュータ可読媒体上に格納され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、プログラムがコンピュータ上で実行されるとき、本発明のステップを実行するためのソフトウェア・コード部分を含むコンピュータ・プログラムを提供する。
ここで、単なる例として以下の図に示されるような好ましい実施形態を参照して、本発明を説明する。
【図面の簡単な説明】
【００１２】
【図１】従来技術による、本発明の好ましい実施形態を実施することができる、例示的なシステム及びネットワークを示す。
【図２】本発明の好ましい実施形態を実施することができる、物理的ディスプレイ上に仮想画像を選択的に表示するために使用される拡張現実デバイスを示す。
【図３】本発明の好ましい実施形態を実施することができる、図２に示される拡張現実デバイスの付加的な詳細を示す。
【図４】本発明の好ましい実施形態を実施することができる、図２に示される拡張現実デバイスの着用者により見られるような仮想画像に囲まれる物理的ディスプレイの例示的なビューを示す。
【図５】本発明の好ましい実施形態を実施することができる、図２に示される拡張現実デバイスの着用者により見られるような仮想画像に囲まれる物理的ディスプレイの別の例示的なビューを示す。
【図６】本発明の好ましい実施形態を実施することができる、仮想画像のサイズが、物理的ディスプレイの見掛け上の寸法と一致するように調整されることを示す。
【図７】本発明の好ましい実施形態を実施することができる、物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングするための、１つ又は複数のハードウェア・デバイスにより実施される１つ又は複数の動作の高レベルのフローチャートである。
【発明を実施するための形態】
【００１３】
本発明は、システム、方法、及び／又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体（単数又は複数）を含むことができる。
【００１４】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの：即ち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能なプログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカード又は命令が記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、又はワイヤを通って伝搬される電気信号などの、一時的信号自体として解釈されるべきではない。
【００１５】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク及び／又は無線ネットワークなどのネットワークを介して、外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び／又はエッジ・サーバを含むことができる。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
【００１６】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、又は、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて、電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。Ｊａｖａ及び全てのＪａｖａベースの商標及びロゴは、Ｏｒａｃｌｅ社及び／又はその関連会社の商標又は登録商標である。
【００１７】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【００１８】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装する命令を含む製品を製造するようにすることもできる。
【００１９】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実行するためのプロセスを提供するようにすることもできる。
【００２０】
ここで図を、特に図１を参照すると、本発明の実施により及び／又はそれにおいて用いることができる例示的なシステム及びネットワークのブロック図が示される。コンピュータ１０２について及びコンピュータ１０２内に示される、描かれているハードウェア及びソフトウェアの両方を含む例示的なアーキテクチャの一部又は全ては、ソフトウェア配備サーバ１５０及び／又は拡張現実デバイス１５２により利用できることに留意されたい。
【００２１】
例示的なコンピュータ１０２は、システム・バス１０６に結合されたプロセッサ１０４を含む。プロセッサ１０４は、各々が１つ又は複数のプロセッサ・コアを有する１つ又は複数のプロセッサを利用することができる。ディスプレイ１１０を駆動／サポートするビデオ・アダプタ１０８もまた、システム・バス１０６に結合される。本発明の１つ又は複数の実施形態において、ビデオ・アダプタ１０８は、ハードウェア・ビデオ・カードである。システム・バス１０６は、バス・ブリッジ１１２を介して入力／出力（Ｉ／Ｏ）バス１１４に結合される。Ｉ／Ｏインターフェース１１６は、Ｉ／Ｏバス１１４に結合される。Ｉ／Ｏインターフェース１１６は、キーボード１１８、マウス１２０、媒体トレイ１２２（ＣＤ−ＲＯＭドライブ、マルチメディア・インターフェース等のようなストレージ・デバイスを含むことができる）、送受信機１２４、及び外部ＵＳＢポート１２６を含む、種々のＩ／Ｏデバイスとの通信を提供する。Ｉ／Ｏインターフェース１１６に接続されるポートの形式は、コンピュータ・アーキテクチャの当業者には周知のものとすることができるが、一実施形態においては、これらのポートの一部又は全ては、ユニバーサル・シリアル・バス（ＵＳＢ）ポートである。
【００２２】
グラフィック・ドライバ１０９は、ビデオ・アダプタ１０８と（そうでない場合はその一部と）関連付けられる。グラフィック・ドライバ１０９は、一実施形態においては、オペレーティング・システム１３８の一部であり、ビデオ・アダプタ１０８（例えば、ビデオ・カード）がディスプレイ１１０上にどのようにテキスト及び画像を生成するかを制御するソフトウェアである。本発明の実施形態において、複数のグラフィック・ドライバ１０９をビデオ・アダプタ１０８と関連付けることができる。この実施形態において、以下に説明されるように、複数のグラフィック・ドライバ１０９の各々は、仮想空間の特定の領域及び／又は特定のアプリケーションと関連付けられる。
【００２３】
示されるように、コンピュータ１０２は、ネットワーク・インターフェース１３０を用いて、ソフトウェア配備サーバ１５０と通信することができる。ネットワーク・インターフェース１３０は、ネットワーク・インターフェース・カード（ＮＩＣ）等のようなハードウェア・ネットワーク・インターフェースである。ネットワーク１２８は、インターネットのような外部ネットワーク、又はイーサネット若しくは仮想プライベート・ネットワーク（ＶＰＮ）のような内部ネットワークとすることができる。
【００２４】
ハードドライブ・インターフェース１３２もまた、システム・バス１０６に結合される。ハードドライブ・インターフェース１３２は、ハードドライブ１３４とインターフェース接続する。一実施形態において、ハードドライブ１３４は、同じくシステム・バス１０６に結合されるシステム・メモリ１３６をポピュレートする。システム・メモリは、コンピュータ１０２における最下位レベルの揮発性メモリとして定義される。この揮発性メモリは、これらに限られるものではないが、キャッシュ・メモリ、レジスタ及びバッファを含む、付加的なより上位レベルの揮発性メモリ（図示せず）を含む。システム・メモリ１３６をポピュレートするデータは、コンピュータ１０２のオペレーティング・システム（ＯＳ）１３８及びアプリケーション・プログラム１４４を含む。
【００２５】
ＯＳ１３８は、アプリケーション・プログラム１４４のようなリソースへのトランスペアレントなユーザ・アクセスを提供するためのシェル１４０を含む。一般に、シェル１４０は、インタープリタと、ユーザとオペレーティング・システムとの間のインターフェースとを提供するプログラムである。より具体的には、シェル１４０は、コマンドライン・ユーザ・インターフェースに又はファイルから入力されるコマンドを実行する。従って、シェル１４０は、コマンド・プロセッサとも呼ばれ、一般に、最上位レベルのオペレーティング・システム・ソフトウェア階層であり、コマンド・インタープリタとして働く。シェルは、システムのプロンプトを提供し、キーボード、マウス、又は他のユーザ入力媒体によって入力されたコマンドを解釈し、処理のために、解釈したコマンドを、適切なより下位レベルのオペレーティング・システム（例えば、カーネル１４２）に送る。シェル１４０は、テキスト・ベースのライン指向ユーザ・インターフェースであるが、本発明は、グラフィカル、音声、ジェスチャ等のような他のユーザ・インターフェース・モードも等しく良好にサポートすることに留意されたい。
【００２６】
示されるように、ＯＳ１３８はまた、カーネル１４２も含み、このカーネル１４２は、メモリ管理、プロセス及びタスク管理、ディスク管理、マウス及びキーボード管理を含む、ＯＳ１３８の他の部分及びアプリケーション・プログラム１４４によって要求される必須サービスの提供を含む、より下位レベルのＯＳ１３８の機能を含む。
【００２７】
アプリケーション・プログラム１４４は、ブラウザ１４６などの例示的な形で示されるレンダラー（renderer）を含む。ブラウザ１４６は、ワールド・ワイド・ウェブ（ＷＷＷ）のクライアント（即ち、コンピュータ１０２）が、ハイパーテキスト転送プロトコル（ＨＴＴＰ）メッセージングを用いてネットワーク・メッセージをインターネットとの間で受送信するのを可能にし、従って、ソフトウェア配備サーバ１５０及び他のコンピュータ・システムとの通信を可能にする、プログラム・モジュール及び命令を含む。
【００２８】
コンピュータ１０２のシステム・メモリ（及び、ソフトウェア配備サーバ１５０のシステム・メモリ）内のアプリケーション・プログラム１４４はまた、拡張現実協調論理（augmented reality coordination logic、ＡＲＣＬ）１４８も含む。ＡＲＣＬ１４８は、図２〜図７に説明されるものを含む、下記に説明されるプロセスを実施するためのコードを含む。一実施形態において、コンピュータ１０２は、例えばオンデマンドで、ソフトウェア配備サーバ１５０からＡＲＣＬ１４８をダウンロードすることができ、ＡＲＣＬ１４８のコードは、実行のために必要とされるまでダウンロードされない。さらに、本発明の一実施形態においては、ソフトウェア配備サーバ１５０は、本発明と関連した機能（ＡＲＣＬ１４８の実行を含む）の全てを実行し、従って、コンピュータ１０２が、ＡＲＣＬ１４８を実行するために自分の内部コンピューティング・リソースを使用しなくても済むようにする。
【００２９】
受送信機１２４（及び／又は、ＵＳＢポート１２６のようないずれかの入力／出力（Ｉ／Ｏ）インターフェース）は、一対の拡張現実（ＡＲ）グラスのような拡張現実デバイス１５２と電子的に通信することができる。ＡＲグラスは、着用者が、オーバーレイされた仮想現実（例えば、ヘッドアップ表示）により物理的現実を見ることを可能にするウェアラブル（wearable）電子デバイスである。従って、着用者／ユーザは、現実のもの（即ち、実物理空間における）と仮想のもの（即ち、コンピュータにより生成され、ヘッドアップ表示上に表示されるもの）の両方を見ることができ、それにより、現実（実世界の）がコンピュータにより生成される画像（仮想の）により「拡張される」。
【００３０】
コンピュータ１０２内に示されるハードウェア要素は、網羅的であることを意図するものではなく、本発明により必要とされる重要なコンポーネントを強調表示するために表される。例えば、コンピュータ１０２は、磁気カセット、デジタル多用途ディスク（ＤＶＤ）、ベルヌーイ・カートリッジ等のような代替的なメモリ・ストレージ・デバイスを含むことができる。これら及び他の変形は、本発明の趣旨及び範囲内にあるように意図される。
【００３１】
ここで図２を参照すると、物理的ディスプレイ上に仮想画像を選択的に表示するために使用される拡張現実デバイス２００が提示される。図２に示されるように、ユーザ２０４（例えば、拡張現実デバイス２００の着用者）は、２つのタイプの画像を「見る」ことができる。
【００３２】
ユーザ２０４が見る第１のタイプの画像は、拡張現実デバイス２００の透明な部分を通して見られる実オブジェクト（real object）のものである。こうした実オブジェクトの例は、物理的ディスプレイ２１０（図１のディスプレイ１１０に類似した）、及びコンピュータ２０２（図１のコンピュータ１０２に類似した）により物理的ディスプレイ上に提示されるコンテンツ（例えば、アプリケーション、ウェブページ等）である。
【００３３】
ユーザ２０４が見る第２のタイプの画像は、拡張現実デバイス２００内の表示画面上でユーザに示される仮想画像のものである。本明細書で説明されるように、仮想画像は、それを通してユーザ２０４が実世界を見る拡張現実デバイス２００の透明な部分の上にオーバーレイ表示する（overlay）ことができる。従って、これらのオーバーレイ表示された仮想画像により、現実が「拡張される」。ユーザ２０４に見える仮想画像の例は、これらに限定されるものではないが、仮想アプリケーション表示、仮想ウェブページ、仮想ビデオ・クリップ等を含み、その全てが拡張現実デバイス２００により生成される。
【００３４】
図２に示されるように、コンピュータ２０２内には、グラフィック・ドライバ２０９（図１に示されるグラフィック・ドライバ１０９と類似した）がある。グラフィック・ドライバ２０９は、物理的ディスプレイ（例えば、物理的ディスプレイ２１０）上に画像を生成するソフトウェア・ユニットとして定義される。本発明の１つの実施形態において、グラフィック・ドライバ２０９の各々は、アプリケーション２４４（スプレッドシート、ビデオ・アプリケーション、ワード・プロセッシング・アプリケーション、ブラウザ等のような）の１つだけと関連付けされる。さらに、本発明の一実施形態において、アプリケーション２４４の完全バージョン及びその関連するグラフィック・ドライバは、拡張現実デバイス２００に利用可能でない。むしろ、アプリケーション２４４の静止記述子画像だけが、拡張現実デバイス２００上に表示される。しかしながら、本発明の別の実施形態においては、アプリケーション２４４の完全バージョン及びその関連するグラフィック・ドライバは、拡張現実デバイス２００に利用可能であり、拡張現実デバイス２００上に表示するために、アプリケーション２４４のリアルタイムの動的（可変の）コンテンツが利用可能である。
【００３５】
ここで図３を参照すると、本発明の１つ又は複数の実施形態による、図２に示される拡張現実デバイス２００の付加的な詳細が提示される。上述のように、拡張現実デバイス２００は、透明な視認グラス３０２を含み、これを通して拡張現実デバイス２００の着用者は、実（物理）世界を見ることができる。しかしながら、実世界のこのビューを仮想画像により拡張するために、オーバーレイ・プロジェクタ３０４は、透明な視認グラス上に画像を投影することができるので、拡張現実デバイス２００のユーザ／視認者／着用者は、世界からの物理的な実オブジェクト及び拡張された仮想画像の両方を見ることになる。従って、図２に示されるように、ユーザ２０４は、物理的ディスプレイ２１０（及びそこに生成されるアプリケーション２４４からのコンテンツ）、並びに仮想空間２０８内のもののような仮想画像の両方を見ることができる。
【００３６】
仮想空間２０８は、２次元又は３次元とすることができる。例えば、図３に示されるように、２次元（２−Ｄ）空間境界（spatial border）３０６が、２次元のみを境界付ける。従って、ユーザが空間を通ってユーザの手２０６を動かすと（図２に示されるように）、システム（例えば、コンピュータ２０２）により、ユーザ２０４が見るような、２−Ｄの空間境界３０６の「後ろに（behind）」ある実空間におけるいずれの領域も、ユーザ２０４により選択される仮想空間２０８の一部であると考えられる。しかしながら、ユーザが、３−Ｄ空間境界３０８により定められる限られた３次元（３−Ｄ）空間を通ってユーザの手２０６を動かすと、システムは、その限られた３−Ｄ空間と関連したアクションのみを実施する。１つの仮想空間が別の仮想空間の前に（後ろに）ある場合、この３−Ｄフィーチャにより、種々の仮想空間がユーザ２０４の同じ視線に入ることが可能になる。
【００３７】
従って、３−Ｄ空間境界３０８は、実空間の特定の容積を仮想空間として境界付ける。オーバーレイ・プロジェクタ３０４により透明な視認グラス３０２上に投影される画像が生成する錯視（optical illusion）のために、ユーザ２０４には、３−Ｄ空間境界３０８が実空間中に「浮いている」ように「見える」。ユーザ２０４が、３−Ｄ空間境界３０８により生成される仮想空間２０８を通って自分の手２０６（又は、杖、手袋、ポインタ等の他のオブジェクト）を動かすと、コンピュータ２０２は、（１）特定の仮想空間２０８、及び（２）ユーザの手２０６により行われるジェスチャ／動きと関連付けられたアクションで応答する。
【００３８】
図３に戻ると、拡張現実デバイス２００の３−Ｄ位置は、（１）ユーザ２０４がどこを見ているか、従って（２）どの仮想空間がユーザ２０４と関係するかを明らかにする／識別することが必要である。
【００３９】
本発明の１つの実施形態において、拡張現実デバイス２００の３−Ｄ位置は、拡張現実デバイス２００の３−Ｄの動きを検出する３−Ｄ加速度計３１０により確立される。機械的運動を電気信号に変換する、圧電、圧電抵抗及び容量性コンポーネントを含む種々の電子デバイスを用いて、１つ又は複数の軸線における加速度運動を検出することができる。一実施形態において、３−Ｄ加速度計３１０は、微小電子機械システム（ＭＥＭＳ）の使用を組み込み、既知の質量の釣り合い重りを構成するマイクロレバーの偏向を測定する。
【００４０】
本発明の一実施形態において、拡張現実デバイス２００の３−Ｄ位置は、図３に示される筋電（ＥＭＧ）センサ３１２により求められる。ＥＭＧセンサ３１２は、図２に示されるユーザ２０４により筋肉運動を検出するセンサである。つまり、拡張現実デバイス２００の着用者が自分の頭の筋肉を動かすたびに、電気信号（即ち、神経細胞膜にわたる、イオン誘起された電位の変化）が、筋肉を制御する軸索（神経線維）に伝達される。運動ニューロン及びこれが神経支配する筋肉は、まとめて運動単位として知られる。運動ニューロンにより運動単位内の筋肉が収縮すると、これらの筋肉内で電気活動が刺激される。運動単位の運動ニューロン及び筋肉からの電気活動の合計は、運動単位活動電位（ＭＵＡＰ）を生成し、これがＥＭＧセンサ３１２により測定される。処理論理（例えば、図３に示されるマイクロプロセッサ３１４）により、測定されたＭＵＡＰを分析し、筋肉運動のレベルを特定する。つまり、電気信号は、筋肉が動かされている場所を特定するのに十分に特有のものである。着用者が自分の頭部を動かすと、一意のＭＵＡＰパターンが発生する。従って、ＥＭＧセンサ３１２によりリアルタイムで検出されるＭＵＡＰパターンを、特定の頭部位置についての既知の／格納されたＭＵＡＰ読取値と比較する。この比較により、３−Ｄの実空間において拡張現実デバイス２００がある位置を判定し、従って、生成される仮想空間２０８が突き止められる。
【００４１】
図２に示されるユーザの手２０６の位置を判定するために、拡張現実デバイス２００内の種々のデバイスを使用することができる。
【００４２】
例えば、本発明の一実施形態において、モーション・センサ３１６は、ユーザの手２０６の動き及びユーザの手２０６の位置を検出する。モーション・センサ３１６は、ユーザの手２０６から送られる信号を感知する光学、マイクロ波、音響、及び／又は赤外線センサを使用する。例えば、ユーザの手２０６に着用している手袋（図示せず）上の光又は赤外線送信機をモーション・センサ３１６により検出し、ユーザ２０４が自分の手を動かしている位置を判定することができる。代替的に、音響信号を、モーション・センサ３１６から伝送し、モーション・センサ３１６に跳ね返すようにすることもできる。跳ね返った音響信号の方向及び音響信号の送信と受信の間の持続時間を用いることにより、拡張現実デバイス２００は、ユーザの手２０６の３−Ｄ位置を判定することができる。同様に、電磁放射（例えば、赤外線光、可視光、無線周波数信号等）をモーション・センサ３１６から伝送し、モーション・センサ３１６に跳ね返すようにすることもできる。音響信号の使用と同様に、跳ね返った電磁放射の方向及び電磁放射の送信と受信の間の持続時間を用いることにより、拡張現実デバイス２００は、ユーザの手２０６の３−Ｄ位置を判定することができる。
【００４３】
本発明の一実施形態において、ユーザの手２０６の３−Ｄ位置は、受動型赤外線（ＩＲ）センサ３１８により検出される。ユーザの手２０６は、通常の人体の生理機能のために熱を発生させる。ＩＲ放射の強さ及び方向を検出することにより、ＩＲセンサ３１８は、十分な情報／データをマイクロプロセッサ３１４に与え、ＩＲセンサの読取値と既知の表／チャートとを比較することにより、ユーザの手２０６の３−Ｄ位置を判定する。
【００４４】
本発明の一実施形態において、ユーザの手２０６の３−Ｄ位置は、カメラ３２０により検出される。カメラ３２０は、ユーザの手２０６のビデオ画像をキャプチャする。キャプチャされた画像のサイズを、ユーザの手２０６の既知のサイズと比較することにより、拡張現実デバイス２００からユーザの手２０６までの距離が、マイクロプロセッサ３１４により求められる。拡張現実デバイス２００の位置に対するユーザの手２０６の方向は、拡張現実デバイス２００内の他のセンサ（例えば、３−Ｄ加速度計３１０）により判定することができる。
【００４５】
図３はまた、Ｉ／Ｏカード３２２が、図２に示されるコンピュータ２０２、ユーザ２０４により保持される電子デバイス等を含む他のデバイスとデータ／情報を交換することを可能にする入力／出力（Ｉ／Ｏ）カード３２２も示す。
【００４６】
ここで図４を参照すると、透明な視認グラス３０２を通した例示的なビュー（図２に示される拡張現実デバイス２００の着用が見るような）が示される。図４に示されるように、拡張現実デバイス２００のユーザ／着用者は、実オブジェクト及び仮想オブジェクトの両方を見る。実オブジェクトは、物理的ディスプレイ４１０（図２に示される物理的ディスプレイ２１０に類似した）である。仮想オブジェクトは、示される複数の仮想空間４０８ａ〜４０８ｃ（ここで「ｃ」は任意の整数である）内にあり、図２に示される仮想空間２０８に類似している。仮想空間４０８ａ〜４０８ｃの各々は、拡張現実デバイス２００により生成される境界により境界付けられる。本発明の１つ又は複数の実施形態において、仮想空間４０８ａ〜４０８ｃの各々は、特定のグラフィック・ドライバ（例えば、図２のグラフィック・ドライバ２０９からの）及び／又は特定のアプリケーション（例えば、図２のアプリケーション２４４からの）と関連付けられる。つまり、一実施形態において、図３のオーバーレイ・プロジェクタ３０４は、アプリケーション２４４により生成される画像を透明な視認グラス３０２上に投影し、これにより、仮想空間４０８ａ〜４０８ｃ内のこれらの画像の外観（appearance）が生成される。一実施形態において、仮想空間４０８ａ〜４０８ｃからの各仮想空間は、特定のアプリケーションからのコンテンツを表示するための環境を提供する。一実施形態において、このコンテンツは、アプリケーションが生成するものの完全バージョンであり、一方、別の実施形態において、仮想空間４０８ａ〜４０８ｃは、アプリケーションのアイコンのための環境のみを提供する。
【００４７】
例えば、仮想空間４０８ａがウェブページと関連付けられると仮定する。一実施形態において、このウェブページは、リアルタイム・アクティブ・モードで、（透明な視認グラス３０２を介して）拡張現実デバイス２００の着用者に視認可能である。つまり、仮想空間４０８ａ内に示される仮想画像上に、実際のモニタ上に表示されるものも表示される。しかしながら、他の実施形態においては、仮想空間４０８ａ内に、そのウェブページのアイコン、スナップショット、又は他の静止表示だけが表示される。
【００４８】
いずれの実施形態においても（仮想空間４０８ａ内に動的ウェブページが表示されようと、又は仮想空間４０８ａ内にウェブページのアイコン画像だけが表示されようと）、本発明は、拡張現実デバイス２００の着用者が、ウェブページを仮想空間（例えば、仮想空間４０８ａ内の）から実空間に（例えば、物理的ディスプレイ４１０上に）移動させることを可能にする。ユーザにより、種々のアクション（例えば、仮想空間４０８ａを通ってユーザの手を物理的ディスプレイ４１０の方にスイープすることなど）を取ることができ、それにより、ウェブページが物理的ディスプレイ４１０上に表示される。仮想空間４０８ａから物理的ディスプレイ４１０へのこのウェブページの表示の動きにより、コンピュータ２０２が、物理的ディスプレイ２１０／４１０上へのウェブページの表示を制御するだけでなく、キーボード又は他の入力（例えば、図１に示されるキーボード１１８又はマウス１２０）を使用してウェブページ及びその表示を制御／操作することも可能になる。
【００４９】
つまり、本発明は、ユーザが、アプリケーションと関連した仮想画像を物理的ディスプレイ上に移動することを可能にし、これにより、ユーザが、（１）物理的ディスプレイ上のアプリケーションのコンテンツを見ること、及び（２）物理的ディスプレイをサポートするコンピュータと関連したハードウェアを用いて、アプリケーション及びそのコンテンツを操作する能力を有することができるようにする。
【００５０】
ここで図５を参照すると、図２に示される物理的ディスプレイ２１０が、仮想グラフィック・デバイス１〜４（仮想グラフィック・デバイス５０１ａ〜５０１ｄ）として説明される４つの仮想空間に取り囲まれると仮定する。仮想グラフィック・デバイス５０１ａ〜５０１ｄの各々は、物理的ディスプレイ２１０自体と同じ仮想寸法を有することに留意されたい。つまり、仮想グラフィック・デバイス５０１ａ〜５０１ｄの各々について、拡張現実デバイス２００の着用者が透明な視認グラス３０２上で見るものの寸法は、透明な視認グラス３０２を通して見られる物理的ディスプレイ４１０の寸法と合致するような大きさにされている。
【００５１】
本発明の一実施形態において、物理的ディスプレイ２１０の見掛け上の寸法は、物理的ディスプレイ２１０上に見出される物理的マーカーから得られる。例えば、物理的ディスプレイ２１０の４つのコーナー部の各々に配置された４つのマーカー（三角形として示される）の１つである、図５のマーカー５０３を考える。三角形／マーカーは、物理的ディスプレイ２１０の物理的ハウジング上に取り付けることができ、又は物理的ディスプレイ２１０の画面上に電子的に表示することができる。いずれの実施形態においても、図３のカメラ３２０で、４つの三角形／マーカーを含む物理的ディスプレイ２１０の写真を撮る。次に、マイクロプロセッサ３１４は、キャプチャされた画像に対してエッジ検出アルゴリズムを実行し、４つの三角形／マーカーを識別する。４つの三角形／マーカーの位置により、マイクロプロセッサ３１４が、ユーザの視点による物理的ディスプレイ２１０の見掛け上のサイズを求めることが可能になる。ひとたび物理的ディスプレイ２１０のサイズ及び位置が確認されると、仮想現実において物理的ディスプレイ２１０を取り囲む拡張現実（ＡＲ）マーカー５０５は、物理的ディスプレイ２１０の画面位置及び配向を、仮想グラフィック・デバイス５０１ａ〜５０１ｄが配置される基底／基準位置として示す。
【００５２】
図４及び図５に示される例は、物理的ディスプレイ２１０が、拡張現実デバイス２００の着用者の視線に対して直角である（即ち、垂直である）と仮定するが、時として、特に物理的ディスプレイ２１０がタブレット・コンピュータ又は他の可動デバイスの一部である場合、物理的ディスプレイが、ユーザ／着用者に向かって又はこれから遠ざかるように傾斜されることがある。こうした傾斜を補償するために、システムは、補償手順を用いる。
【００５３】
従って、図６において、物理的ディスプレイ２１０が点線６０９で示される高さを有すると仮定する。しかしながら、物理的ディスプレイ２１０が視認者６０４に向かって傾斜される場合、物理的ディスプレイ２１０が今や線６１０に沿って傾斜されているため、視線６０３に沿って見ている視認者６０４は、物理的ディスプレイ２１０を、線６０１で示される高さだけを有するものとして知覚する。（線６１０の長さと線６０９の長さは同じであることに留意されたい。）
【００５４】
線６１０と線６０９との間の知覚される高さの差は、単に、物理的ディスプレイ２１０の傾斜により引き起こされる錯視にすぎない。
【００５５】
配向角度を計算するために、余弦法則が用いられる。
【数１】
0006619005.tif 000002
【００５６】
従って、Ａ（角６０７）の余弦は、線６１１までの線６０９の長さを線６１０の長さで除算したものに等しい。隣辺（adjacent）の長さは、線６０１のものと同じであり、これは拡張現実デバイス２００内のカメラ３２０により撮られた傾斜した物理的ディスプレイ２１０の写真により測定される。斜辺（hypotenuse）の長さは、物理的ディスプレイ２１０の実際の高さであり、視線６０３に対して垂直な場合に物理的ディスプレイ２１０の写真を撮るカメラ３２０により得ることができ、又は物理的ディスプレイの寸法を含む、物理的ディスプレイから伝送される識別子（例えば、ユニバーサル・ユニーク識別子−ＵＵＩＤ）により提供することができる。従って、この情報は、角Ａ（角６０７）の値をもたらし、システムが、図５に示される仮想グラフィック・デバイス５０１ａ〜５０１ｄのサイズを調整することを可能にする。
【００５７】
ここで図７を参照すると、物理的ディスプレイのために仮想空間内の特定の領域からのコンテンツをグラフィック・ドライバとペアリングするための、１つ又は複数のハードウェア・デバイスにより実施される１つ又は複数の動作の高レベルフローチャートが提示される。
【００５８】
開始ブロック７０２の後、ブロック７０４に記載されるように、拡張現実デバイス（例えば、図２の拡張現実デバイス２００）は、第１の仮想空間（例えば、図２の仮想空間２０８）を定める。第１の仮想空間は、拡張現実デバイスにより生成される第１の空間境界（例えば、図３の３−Ｄ空間境界３０８）により境界付けられる。第１の空間境界は、図３の透明な視認グラス３０２上に表示されるので、拡張現実デバイスのユーザにしか見えない。代替的な実施形態において、空間境界及びその関連した仮想グラフィック・デバイスは、第２のビデオ・ディスプレイのような第２のデバイスに伝送することができ、従って、複数の人が、拡張現実（図３のオーバーレイ・プロジェクタ３０４により生成される）及び／又はユーザが現実の物理世界（図３のカメラ３２０によりキャプチャされるような）から見るものを見ることが可能になる。
【００５９】
ここでブロック７０６を参照すると、次に、１つ又は複数のプロセッサ（例えば、図３のマイクロプロセッサ３１４又は図１のプロセッサ１０４）は、第１の仮想空間を、複数のグラフィック・デバイスからの第１のグラフィック・ドライバと関連付け、グラフィック・ドライバは、物理的ディスプレイ上に画像を生成する。つまり、プロセッサは、特定の仮想空間（例えば、仮想空間２０８）を特定のグラフィック・ドライバ（図２のグラフィック・ドライバ２０９からの）に割り当てる。従って、各仮想空間は、特定のアプリケーション／コンテンツ、及び特定のアプリケーション／コンテンツをサポートするグラフィック・ドライバに特有のものである。
【００６０】
ここでブロック７０８を参照すると、ビデオ・アダプタ・ハードウェア・カード（例えば、図１のビデオ・アダプタ１０８）は、拡張現実デバイスから、第１の仮想空間選択ジェスチャを示す第１の信号を受け取る。ユーザが、第１の仮想空間（即ち、ユーザに対して、仮想境界により境界付けられるように「見える」実空間内の領域）を通ってユーザの手を動かすといった、第１の仮想空間を選択する第１の物理的運動を行うことに応答して、拡張現実デバイスにより、第１の仮想空間選択ジェスチャを示す第１の信号が生成される。
【００６１】
ブロック７１０に記載されるように、ビデオ・アダプタ・ハードウェア・カードが第１の仮想空間選択ジェスチャを示す第１の信号を受け取ることに応答して、ビデオ・アダプタ・ハードウェア・カードは、第１のグラフィック・ドライバを実施することにより、物理的ディスプレイ上に第１の仮想空間と関連したコンテンツを表示する。つまり、以前に仮想拡張デバイスを通してしか視認できなかったものは、物理的デバイス上に配置されず、それは、その物理的デバイスをサポートするコンピュータにより直接操作することができる。
【００６２】
フローチャートは、終了ブロック７１２で終了する。
【００６３】
本発明の実施形態において、第１の仮想空間は、拡張現実デバイスにより定められる複数の仮想空間からのものであり、複数の仮想空間は、拡張現実デバイスのユーザにしか見えない。つまり、拡張現実デバイスの使用により、複数の仮想空間が視認可能である（図４及び図５を参照されたい）。
【００６４】
本発明の１つの実施形態において、物理的ディスプレイ上に表示されるリアルタイムのコンテンツは、拡張現実デバイス上に表示されない。つまり、この実施形態において、コンテンツが物理的ディスプレイ上に表示されるとき、このコンテンツは、拡張現実デバイスにより生成される仮想空間において、もはや見ることができない。むしろ、システムは、以前はコンテンツにあてられ、今は物理的ディスプレイ上に表示されているあらゆる仮想空間を削除する。
【００６５】
本明細書で説明されるように、本発明の一実施形態において、第１の仮想空間選択ジェスチャは、第１の仮想空間を通るユーザの動きである。例えば、ユーザは、拡張現実デバイス上に表示される第１の仮想空間に相関する空間内の領域を通ってユーザの手を動かすことができる。しかしながら、別の実施形態においては、物理的ディスプレイ上に表示するために、その仮想空間内に提示されるコンテンツを選択するのに、単に拡張現実デバイスを特定の仮想空間に向けるだけで十分である。従って、ユーザは、特定の仮想空間が図３に示される透明な視認グラス３０２の中心にくるように、ユーザの頭を動かすことができる。何らかの二次的動作（まばたきをする、又は単に拡張現実デバイスを、例えば３秒といった所定の時間より長く固定位置に保持するといった）をとることにより、システムは、物理的ディスプレイ上で表示するために、仮想空間及びその関連したアプリケーション／ドライバ／コンテンツを選択する。ユーザがどこを見ているか、及びどの仮想空間が見られているかの判断は、本明細書で特に図３において説明される拡張現実デバイス２００のコンポーネントにより達成される。
【００６６】
本発明の１つの実施形態において、図６に示されるように、１つ又は複数のプロセッサは、拡張現実からのセンサ信号を用いて、実物理空間における物理的ディスプレイの偏向に従って第１の仮想空間の寸法を調整することができる。
【００６７】
本発明の１つの実施形態において、拡張現実デバイスは、該拡張現実デバイスにより生成される第２の空間境界により境界付けられる第２の仮想空間を定め、第２の空間境界は、拡張現実デバイスのユーザにしか見えない。次に、１つ又は複数のプロセッサは、第２の仮想空間を複数のグラフィック・ドライバからの第２のグラフィック・ドライバと関連付ける。ビデオ・アダプタ・ハードウェア・カードは、拡張現実デバイスから、第２の仮想空間選択ジェスチャを示す第２の信号を受け取り、ユーザが第２の仮想空間を選択する第２の物理的運動をすることに応答して、第２の信号は、拡張現実デバイスにより生成される第２の仮想空間選択ジェスチャを示す。ビデオ・アダプタ・ハードウェア・カードが、第２の仮想空間選択ジェスチャを示す第２の信号を受け取ることに応答して、ビデオ・アダプタ・ハードウェア・カードは、第１のグラフィック・ドライバを第２のグラフィック・ドライバに置き換え、第２の仮想空間と関連したコンテンツが、今や物理ディスプレイ上にあり、そして、第１の仮想空間と最初に関連付けられ、物理的ディスプレイに移動されたコンテンツは、今や物理的ディスプレイから除去される。つまり、第２の仮想空間は、物理的ディスプレイから、第１の仮想空間と最初に関連付けられたコンテンツを追い出すことができる。
【００６８】
本発明の１つの実施形態において、ハードウェア・グラフィック・カードは、物理的ディスプレイ上の複数の位置決めアイコンを表示する（図５に示されるマーカー５０３及び他の位置決め三角形を参照されたい）。図５に説明されるように、１つ又は複数のプロセッサは、物理的ディスプレイ上の複数の位置決めアイコンに基づいて、物理的ディスプレイの知覚されたサイズを計算することができる。次に、拡張現実デバイスは、物理的ディスプレイの知覚されたサイズに合致するように、第１の仮想空間のサイズを調整することができる。
【００６９】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【００７０】
本明細書で用いられる用語は、特定の実施形態を説明する目的のためのものに過ぎず、本発明を限定することを意図したものではない。本明細書で用いられる場合、単数形「１つの（a）」、「１つの（an）」及び「その（the）」は、文脈が特に明示しない限り、複数形も同様に含むことを意図したものである。「含む（comprise）」及び／又は「含んでいる（comprising）」という用語は、本明細書で用いられる場合、記述された特徴、整数、ステップ、操作、要素、及び／又はコンポーネントの存在を指示するが、１つ又は複数の他の特徴、整数、ステップ、操作、要素、コンポーネント、及び／又はそれらの群の存在又は追加を排除するものではないこともさらに理解されるであろう。
【００７１】
以下の特許請求の範囲における全ての「手段又はステップと機能との組み合わせ（ミーンズ又はステップ・プラス・ファンクション）」要素の対応する構造、材料、動作及び均等物は、その機能を、明確に特許請求される他の特許請求された要素と組み合わせで実行するためのあらゆる構造、材料又は動作を含むことが意図されている。本発明の種々の実施形態の説明は、例証及び説明を目的として提示されたものであり、網羅的であること又は本発明を開示された形態に限定することを意図したものではない。本発明の範囲及び趣旨から逸脱しない多くの修正及び変形が、当業者には明らかになるであろう。実施形態は、本発明の原理及び実際的用途を最も良く説明するために、そして、当業者が、企図した特定の用途に適した種々の修正を伴う実施形態に関して本発明を理解できるように、選択され、説明された。
【００７２】
さらに、本開示において説明されるいずれの方法も、ＶＨＤＬ（ＶＨＳＩＣハードウェア記述言語）プログラム及びＶＨＤＬチップを用いて実装できることに留意されたい。ＶＨＤＬは、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）及び他の類似の電子デバイスのための例示的な設計入力言語である。従って、本明細書で説明されるいずれのソフトウェア実装方法も、ハードウェア・ベースのＶＨＤＬプログラムによってエミュレートすることができ、次にこれは、ＦＰＧＡのようなＶＨＤＬチップに適用される。
【００７３】
このように本出願の本発明の実施形態を詳細に説明し、その例証的な実施形態を参照すると、添付の特許請求の範囲に定められる本発明の範囲から逸脱することなく、修正及び変形が可能であることが明らかであろう。
【符号の説明】
【００７４】
１０２、２０２：コンピュータ
１０４：プロセッサ
１０６：システム・バス
１０８：ビデオ・アダプタ
１０９、２０９：グラフィック・ドライバ
１１０、２１０、４１０：ディスプレイ
１１２：バス・ブリッジ
１１４：入力／出力（Ｉ／Ｏ）バス
１１６：Ｉ／Ｏインターフェース
１２４：受送信機
１２８：ネットワーク
１３０：ネットワーク・インターフェース
１３２：ハードドライブ・インターフェース
１３４：ハードドライブ
１３６：システム・メモリ
１３８：オペレーティング・システム（ＯＳ）
１４０：シェル
１４２：カーネル
１４４、２４４：アプリケーション・プログラム
１４６：ブラウザ
１４８：拡張現実協調論理（ＡＲＣＬ）
１５０：ソフトウェア配備サーバ
１５２、２００：拡張現実デバイス
２０４：ユーザ
２０６：ユーザの手
２０８、４０８ａ〜４０８ｃ：仮想空間
３０２：視認グラス
３０４：オーバーレイ・プロジェクタ
３０６：２−Ｄ空間境界
３０８：３−Ｄ空間境界
３１０：加速度計
３１２：ＥＭＧセンサ
３１４：マイクロプロセッサ
３１６：モーション・センサ
３２０：カメラ
５０１ａ〜５０１ｄ：仮想グラフィック・デバイス
５０３：マーカー
６０４：視認者
【図１】
0006619005.tif 000003
【図２】
0006619005.tif 000004
【図３】
0006619005.tif 000005
【図４】
0006619005.tif 000006
【図５】
0006619005.tif 000007
【図６】
0006619005.tif 000008
【図７】
0006619005.tif 000009