(57)【特許請求の範囲】
【請求項１】
写真撮影ユニットおよび表示ユニットに結合された処理ユニットであって、
マーカーを含む現実世界イメージを前記写真撮影ユニットから受信し、前記マーカーは少なくとも２つの異なるマーカーイメージからなるマーカーイメージのセットを備え、
前記現実世界イメージから、連続して所定の時間間隔で前記表示ユニットに表示される異なる形状のマーカーイメージの組み合わせである第１のマーカーイメージのセットを検出し、
前記現実世界イメージから連続して所定の時間間隔で前記表示ユニットに表示される異なる形状のマーカーイメージの組み合わせである第２のマーカーイメージのセットを検出し、
前記第１のマーカーイメージのセットのマーカー認識が正しいかどうか決定するために、当該第１のマーカーイメージのセットと前記第２のマーカーイメージのセットとを比較し、
前記比較の結果正しいと決定されたマーカーイメージのセットに対応するオブジェクトイメージを前記現実世界イメージと結合して、拡張現実イメージを生成し、
前記表示ユニットに前記拡張現実イメージを表示させるように構成された処理ユニットを備える拡張現実のための装置。
【請求項２】
前記マーカーイメージが３次元イメージを備える請求項１に記載の装置。
【請求項３】
前記マーカーイメージの表示間隔が、前記写真撮影ユニットが前記現実世界イメージを生成する毎秒フレーム数を所定の自然数で除算した商とほぼ等しい請求項１に記載の装置。
【請求項４】
前記マーカーが、前記マーカーイメージの始めを表す開始イメージ、前記マーカーイメージの終わりを表す終了イメージ、および前記マーカーイメージのエラーを検出するための検査イメージのうちの少なくとも１つをさらに備える請求項１に記載の装置。
【請求項５】
前記マーカーが、グラフィック交換フォーマット（ＧＩＦ）ファイル、フラッシュファイル、およびアニメーションファイルのうちの少なくとも１つをさらに備える請求項１に記載の装置。
【請求項６】
前記マーカーイメージの各々が所定の意味を有する請求項１に記載の装置。
【請求項７】
前記処理ユニットが、組み合わされた前記イメージを前記表示ユニットに表示させるようにさらに構成される請求項１に記載の装置。
【請求項８】
前記処理ユニットが、前記オブジェクトイメージおよび前記マーカーに関連付けられている情報のうちの少なくとも１つをストレージユニットに格納させるようにさらに構成される請求項１に記載の装置。
【請求項９】
前記処理ユニットが、外部ユーザ入力から入力データを受信するようにさらに構成される請求項１に記載の装置。
【請求項１０】
プロセッサに一連の命令を実行させるためのプログラムであって、前記一連の命令は、
現実世界イメージから、連続して所定の時間間隔で前記表示ユニットに表示される異なる形状のマーカーイメージの組み合わせである、第１のマーカーイメージのセットと第２のマーカーイメージのセットとを検出するための命令と、
前記第１のマーカーイメージのセットのマーカー認識が正しいかどうか決定するために、当該第１のマーカーイメージのセットと前記第２のマーカーイメージのセットとを比較する命令と、
前記比較の結果、正しいと決定されたマーカーイメージのセットに対応するオブジェクトイメージを検索するための命令と、
前記オブジェクトイメージを前記現実世界イメージと組み合わせて拡張現実イメージを生成するための命令と、
前記拡張現実イメージを表示するための命令とを備える、プログラム。
【請求項１１】
前記マーカーイメージの表示間隔が、前記現実世界イメージが取り込まれる毎秒フレーム数を所定の自然数で除算した商と等しい請求項１０に記載のプログラム。
【請求項１２】
前記マーカーイメージが、前記マーカーイメージの始めを表す開始イメージ、前記マーカーイメージの終わりを表す終了イメージ、および前記マーカーイメージのエラーを検出するための検査イメージのうちの少なくとも１つをさらに備える請求項１０に記載のプログラム。
【請求項１３】
現実世界イメージから、連続して所定の時間間隔で前記表示ユニットに表示される異なる形状のマーカーイメージの組み合わせである、第１のマーカーイメージのセットと第２のマーカーイメージのセットとを検出することと、
前記第１のマーカーイメージのセットのマーカー認識が正しいかどうか決定するために、当該第１のマーカーイメージのセットと前記第２のマーカーイメージのセットとを比較することと、
前記比較の結果、正しいと決定されたマーカーイメージのセットに対応するオブジェクトイメージを検索することと、
前記オブジェクトイメージを前記現実世界イメージと組み合わせて拡張現実イメージを生成することと、
前記拡張現実イメージを表示することとを備える拡張現実のための方法。
【請求項１４】
前記マーカーイメージを備える前記現実世界イメージを生成することをさらに備える請求項１３に記載の方法。
【請求項１５】
前記マーカーイメージを表示することをさらに備え、
前記マーカーイメージを表示することが、前記マーカーイメージを所定の表示間隔で表示することを備え、前記所定の表示間隔は、前記現実世界イメージを生成する毎秒フレーム数を所定の自然数で除算した商と等しい請求項１３に記載の方法。
【請求項１６】
前記マーカーイメージが、前記マーカーイメージの始めを表す開始イメージ、前記マーカーイメージの終わりを表す終了イメージ、および前記マーカーイメージのエラーを検出するための検査イメージのうちの少なくとも１つをさらに備える請求項１３に記載の方法。
【請求項１７】
前記マーカーイメージが３次元イメージを備える請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、拡張現実のための装置および方法に関する。
【発明の概要】
【０００２】
拡張現実（ＡＲ：ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ）は、現実世界イメージを仮想イメージと組み合わせる。現実世界イメージは、実際の観察可能なシーンであって、カメラもしくは他の光学または電子センサーにより取り込まれたシーンである。ＡＲ技術はまた、現実世界イメージを追跡するためにマーカーを使用する。マーカーは通常、黒および白のパターンと、そのパターンを取り囲む黒枠から成る。一般に、ＡＲ技術は、マーカーに対応する仮想イメージを決定し、仮想イメージをマーカー上に重ね合わせて仮想イメージを現実世界イメージと組み合わせる。本開示によれば、ＡＲのための改良された装置および方法が提供される。
【図面の簡単な説明】
【０００３】
【図１】拡張現実のための装置の例示的な実施形態を示すブロック図である。
【図２】図１に示される拡張現実装置により提供される拡張サービスの例示的な実施形態を示す概略図である。
【図３】拡張現実のための装置のもう１つの例示的な実施形態を示すブロック図である。
【図４】マーカーの例示的な実施例を示す概略図である。
【図５】拡張現実のための方法の例示的な実施形態を示す流れ図である。
【図６】例示的な実施形態による拡張現実のための画面の例示的な実施例を示す概略図である。
【図７】本開示に従って拡張現実のために配置される例示のコンピューティングデバイスを示すブロック図である。
【発明を実施するための形態】
【０００４】
１つの実施形態において、拡張現実のための装置は、マーカーを含む現実世界イメージを生成するように構成された写真撮影ユニットと、現実世界イメージからマーカーを検出し、検出されたマーカーに対応するオブジェクトイメージを現実世界イメージと結合して、拡張現実イメージを生成するように構成された処理ユニットとを含む。マーカーは、少なくとも２つの異なるマーカーイメージを含む。
【０００５】
もう１つの実施形態において、処理デバイスは、拡張現実装置に提供される少なくとも２つの異なるマーカーイメージを含むマーカーを表示するための表示ユニットを含む。
【０００６】
さらなる実施形態において、拡張現実のための方法は、現実世界イメージからマーカーを検出することと、検出されたマーカーに対応するオブジェクトイメージを検索することと、オブジェクトイメージを現実世界イメージと組み合わせて拡張現実イメージを生成することとを含む。マーカーは、少なくとも２つの異なるマーカーイメージを含む。
【０００７】
なおさらなる実施形態において、少なくとも１つのプロセッサにより実行されるとき、プロセッサに拡張現実のための方法を実行させるコンピュータプログラムを格納したコンピュータ可読媒体。その方法は、現実世界イメージからマーカーを検出することと、検出されたマーカーに対応するオブジェクトイメージを検索することと、オブジェクトイメージを現実世界イメージと組み合わせて拡張現実イメージを生成することとを含む。マーカーは、少なくとも２つの異なるマーカーイメージを含む。
【０００８】
以下の詳細な説明において、本明細書の一部を形成する添付の図面が参照される。図面において、文脈に特に指示がない限り、類似する符号は概して、類似するコンポーネントを識別する。詳細な説明、図面、および特許請求の範囲において説明される例示的な実施形態は、限定的であることを意図されていない。本明細書において提示される主題の精神および範囲を逸脱することなく、その他の実施形態が使用されてもよく、その他の変更が行われてもよい。本明細書において概ね説明され、図面に示される本開示の態様が、多岐にわたるさまざまな構成において配置され、代替され、組み合わされ、分離され、設計されてもよく、それらのすべてが本明細書において明示的に検討されることは容易に理解されよう。
【０００９】
図１は、拡張現実のための装置の例示的な実施形態を示すブロック図である。図２は、図１に示される拡張現実装置により提供される拡張サービスの例示的な実施形態を示す概略図である。
【００１０】
図１は、拡張現実装置１００が、相互に関連付けられている処理ユニット１１０および写真撮影ユニット１２０を含むことを示す。１つの実施形態において、拡張現実装置１００は、デスクトップコンピュータ、ワークステーション、ラップトップコンピュータ、パームトップコンピュータ、ウルトラモバイルパーソナルコンピュータ（ＵＭＰＣ）、タブレットパーソナルコンピュータ（ＰＣ）、携帯情報端末（ＰＤＡ）、ウェブパッド、携帯電話、スマートフォン、電子手帳、ＭＰ３プレイヤー、ポータブルマルチメディアプレイヤー（ＰＭＰ）などのような、コンピュータまたはポータブル情報デバイスとして実施されてもよいが、それらに限定されることはない。
【００１１】
写真撮影ユニット１２０は、マーカーＭＫを含む現実世界イメージを取り込み、現実世界イメージを処理ユニット１１０に伝送するように構成されてもよい。一例として、写真撮影ユニット１２０は、デジタルカメラ、ビデオカメラ、ウェブカム、光学センサー、または電子センサーなどを、非限定的に含むことができる。１つの実施形態において、マーカーＭＫは、少なくとも２つの異なるマーカーイメージを含み、その詳細は後段において説明される。
【００１２】
処理ユニット１１０は、写真撮影ユニット１２０から現実世界イメージを受信して、現実世界イメージを処理するように構成されてもよい。１つの実施形態において、処理ユニット１１０は、非限定的に、エッジマッチング、グレースケールマッチング、およびグラジエントマッチングのような、オブジェクト認識技術を使用することにより、現実世界イメージに含まれるマーカーＭＫを検出し、検出されたマーカーＭＫに対応するオブジェクトイメージを求めて処理ユニット１１０のストレージまたはデータベース（図示せず）もしくは別個のストレージまたはデータベース（図示せず）を検索することができる。
【００１３】
もう１つの実施形態において、処理ユニット１１０は、マーカーＭＫに対応するオブジェクトイメージ（例えば、仮想グラフィックイメージ）を、写真撮影ユニット１２０からの現実世界イメージと組み合わせて、拡張イメージを生成することができる。処理ユニット１１０は、単一チップ、複数のチップとして、または複数の電気コンポーネント上で実施されてもよく、非限定的に、専用または組み込みプロセッサ、単一用途プロセッサ、コントローラ、特定用途向け集積回路（ＡＳＩＣ）などの形態であってもよい。
【００１４】
図２は、拡張現実装置１００が、表示デバイス２００に表示されるマーカーＭＫを含む画像を取り込むことを示す。一例として、表示デバイス２００は、例えば、液晶ディスプレイ、ブラウン管（ＣＲＴ）、有機発光ダイオード、プラズマディスプレイモニタなどを含むことができる。１つの実施形態において、表示デバイス２００は、マーカーＭＫを表示することができる。表示デバイス２００は、上記で説明されるように、コンピュータ、ポータブル情報デバイス、テレビジョンセットなどのような、汎用デバイスであってもよいが、マーカーＭＫの表示のために専用に設計されてもよい。表示デバイス２００は、マーカーＭＫのマーカー情報を格納するためのストレージ（図示せず）を含むことができ、マーカー情報は、非限定的に、外部サーバ（図示せず）から供給されてもよい。マーカー情報は、例えば、マーカーＭＫに含まれるマーカーイメージの形状、色、または表示間隔を非限定的に含むことができ、その詳細は後段において説明される。マーカー情報は、例えば、表示デバイス２００に出力されうる、グラフィック交換フォーマット（ＧＩＦ：ｇｒａｐｈｉｃｓ  ｉｎｔｅｒｃｈａｎｇｅ  ｆｏｒｍａｔ）ファイル、フラッシュファイル、またはアニメーションファイルに含まれてもよいが、それらに限定されることはない。図２では、拡張現実装置１００が表示デバイス２００に表示されるイメージを取り込むことが示されているが、拡張現実装置１００が、非限定的に、紙、プラスチック、木、金属などのような、任意の他の物質上に表示または印刷されたマーカーを含むイメージを取り込むことができることは、当業者には明らかである。
【００１５】
図３は、拡張現実のための装置のもう１つの例示的な実施形態を示すブロック図である。図３は、拡張現実装置３００が、処理ユニット３１０、写真撮影ユニット３２０、入力ユニット３３０、ストレージユニット３４０、および表示ユニット３５０を含むことを示す。
【００１６】
処理ユニット３１０および写真撮影ユニット３２０は、それぞれ、処理ユニット１１０および写真撮影ユニット１２０とほぼ類似している。したがって、処理ユニット３１０および写真撮影ユニット３２０に関する詳細な説明は省略される。
【００１７】
入力ユニット３３０は、外部ユーザ入力から入力データを受信し、入力データを処理ユニット３１０に伝送することができる。１つの実施形態において、入力ユニット３３０は、タッチセンサー、キーパッド、およびマウスのうちの１つまたは複数を含むことができる。例えば、ユーザは、処理ユニット３１０により処理されるべきアプリケーションの始動を開始するための文字を入力することができる。もう１つの例では、ユーザは、表示ユニット３５０でグラフィカルユーザインターフェイス（ＧＵＩ）のオプションを選択するために入力ユニット３３０を使用することができる。
【００１８】
ストレージユニット３４０は、実行コードおよびマーカーイメージデータを格納して、コードおよびデータを処理ユニット３１０に提供することができる。例えば、ストレージユニット３４０は、マーカーイメージデータを格納することができ、処理ユニット３１０の要求に応じて、命令および／またはデータを処理ユニット３１０に供給することができる。一例として、マーカーイメージデータは、マーカーのさまざまな形状または色、および／またはマーカーの形状または色に対応するオブジェクトイメージ、ならびに写真撮影ユニット３２０からの現実世界イメージに含まれるマーカーを検出するために処理ユニット３１０に使用されるアルゴリズムまたはプログラムに関する情報を含むことができる。ストレージユニット３４０の例は、非限定的に、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ハードディスクドライブ、メモリカード、ＰＣカード、ＣＤ−ＲＯＭ、フロッピーディスク、または磁気テープであってもよい。
【００１９】
表示ユニット３５０は、画面またはモニタ上に、例えば、処理ユニット３１０により生成された拡張現実イメージなどのさまざまな情報を表示することができる。表示ユニット３５０は、例えば、液晶ディスプレイ、ブラウン管（ＣＲＴ）、有機発光ダイオード、プラズマディスプレイモニタなどを含むことができるが、それらに限定されることはない。
【００２０】
図４は、マーカーの例示的な実施例を示す概略図である。例示的な実施例は、拡張現実装置１００または３００により実行されてもよい。
【００２１】
１つの実施形態において、マーカーＭＫは、相互に異なる少なくとも２つのイメージを含むことができる。説明の便宜上、マーカーＭＫに含まれる各イメージは、これ以降マーカーイメージと称される。一部の実施形態において、マーカーイメージは、２次元または３次元の図形であってもよい。２次元図形の例は、三角形、四角形、六角形、円、または星形であり、３次元図形の例は、六面体、円柱、三角柱、四面体、八面体、または球体である。しかし、図形はそれらに限定されることはなく、文字、数字、花、建造物などのような、さまざまな物体の形状を有することができる。マーカーイメージは、パターン化された形状を有さない場合もあり、マーカーイメージの図形は、相互に区別されうる任意の形状を有することができる。さらに、マーカーイメージは、グラフィックイメージに限定されることはないが、現実世界イメージであってもよい。一部の実施形態において、マーカーイメージは、さまざまな形状以外にさまざまな色を有することができる。
【００２２】
１つの実施形態において、１つのマーカーＭＫに含まれるマーカーイメージのセットは、連続して所定の時間間隔で、表示デバイス（例えば、表示デバイス２００）に繰り返し表示されてもよい。表示されるマーカーイメージは、マーカーＭＫの所定の位置に配置されてもよい。２つの表示されるマーカーイメージの時間間隔は、写真撮影ユニット１２０および３２０により取り込まれる現実世界イメージの秒あたりのフレーム数（毎秒フレーム、ｆｐｓ）に応じて決定されてもよい。すなわち、マーカーイメージの表示間隔は、所定の自然数で除算された写真撮影ユニット１２０および３２０のｆｐｓの数とほぼ等しくてもよい。例えば、表示デバイスは、３０ｆｐｓの写真撮影ユニット１２０および３２０の場合、３０Ｈｚ、１５Ｈｚ、１０Ｈｚなどの周期でマーカーイメージを表示することができる。人間の眼は、表示デバイスにそのような周期で表示されるマーカーイメージを認識しないこともある。
【００２３】
図４は、例えば、４つのマーカーイメージ、すなわち立方体、円柱、三角柱、星形角柱（ｓｔａｒ−ｓｅｃｔｉｏｎａｌ  ｃｙｌｉｎｄｅｒ）のセットにより表される４桁のマーカーＭＫを示す。図４は、マーカーＭＫが、４つのマーカーイメージ、すなわち連続する立方体、円柱、三角柱、星形角柱を含み、４つのマーカーイメージが連続して繰り返し表示されることを示す。特に、４つのマーカーイメージ、すなわち立方体、円柱、三角柱、星形角柱の第１の連続が表示デバイスに表示されたのち、４つのマーカーイメージの第２の連続は、所定の時間間隔内に表示デバイスに表示されてもよい。
【００２４】
１つの実施形態において、各マーカーイメージは所定の意味を有することができ、したがってマーカーＭＫは、それぞれマーカーイメージに割り当てられている所定の意味を組み合わせることによりさまざまな意味を表すことができる。例えば、１０のマーカーイメージはそれぞれ、ゼロ（０）から９を表すことができる。この場合、１０のマーカーイメージを有するマーカーＭＫは、一連の数字であってもよく、製品のシリアル番号を示すバーコードのようなオブジェクトイメージを暗示することもできる。もう１つの例において、２８のマーカーイメージはそれぞれ、ａからｚの英文字、スラッシュ、およびドットに対応することができる。したがって、２８のマーカーイメージを有するマーカーＭＫは、オブジェクトイメージを含むＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）を表すことができる。数字、英文字のような、マーカーイメージの前述の意味は、例に過ぎず、それらに限定されることはない。マーカーイメージの意味は、さまざまな方法で定義されてもよい。
【００２５】
さらにもう１つの実施形態において、マーカーＭＫは、オブジェクトイメージを表すマーカーイメージに加えて、マーカーイメージの始めを表す開始イメージ、マーカーイメージの終わりを表す終了イメージ、およびマーカーイメージのエラーを検出するための検査イメージのうちの少なくとも１つをさらに含むことができる。マーカーＭＫは、検出しやすいようにマーカーイメージを囲む境界線を含むことができるが、それに限定されることはない。
【００２６】
さまざまなマーカーイメージで生成されうるマーカーの数は、マーカーイメージの数とマーカーイメージの繰り返し回数の乗算により計算されてもよい。例えば、マーカーＭＫが４つのマーカーイメージを含み、マーカーイメージのセットが５回繰り返されると仮定すると、生成されるマーカーＭＫの数は２５６である。したがって、４つの異なるマーカーイメージからなる可能な４桁のマーカーＭＫの数は、４４＝２５６である。同様に、４つの異なるマーカーイメージからなる可能な５桁のマーカーＭＫの数は、４５＝１、０２４である。
【００２７】
マーカーイメージは、２次元図形、３次元図形などであってもよく、したがってマーカーイメージを検出することは容易である。さらに、マーカーイメージの数および／または桁を増やすことは容易であり、したがって、多数のマーカーＭＫが生成されうる。
【００２８】
図５は、拡張現実のための方法の例示的な実施形態を示す流れ図である。方法の例示的な実施形態は、拡張現実装置１００により実行されてもよい。
【００２９】
写真撮影ユニット１２０は、表示デバイス（例えば、表示デバイス２００）に表示されるマーカーＭＫを含む現実世界イメージを取り込むことができる（５１０）。１つの実施形態において、マーカーＭＫは、連続して所定の時間間隔で繰り返し表示される複数のマーカーイメージを含むことができる。写真撮影ユニット１２０は、現実世界イメージを処理ユニット１１０に送信することができる。
【００３０】
処理ユニット１１０は、写真撮影ユニット１２０から受信した現実世界イメージからマーカーＭＫを検出することができる（５２０）。１つの実施形態において、処理ユニット１１０は、所定のフレームレートで現実世界イメージから一部のイメージを選択して、非限定的に、エッジマッチング、グレースケールマッチング、およびグラジエントマッチングのようなオブジェクト認識技術を使用することにより、選択されたイメージからマーカーイメージを検出することができる。処理ユニット１１０が、表示デバイスへのマーカーイメージの表示間隔に関する情報を有するので、処理ユニット１１０は、表示間隔を考慮してフレームを決定することができる。例えば、表示デバイスが１５Ｈｚの表示間隔でマーカーイメージを表示し、写真撮影ユニット１２０により取り込まれる秒あたりのフレーム数が３０ｆｐｓである場合、処理デバイス１１０は、２フレームごとに２つの現実世界イメージのうちの１つのイメージを選択して、選択されたイメージからマーカーイメージを検出することができる。ユーザは、写真撮影ユニット１２０の秒あたりのフレーム数を考慮して、表示デバイスのマーカーイメージ表示間隔を決定することができる。一部の実施形態において、ユーザは、表示デバイスのマーカーイメージ表示間隔を考慮して、写真撮影ユニット１２０の秒あたりのフレーム数を決定することができる。
【００３１】
処理ユニット１１０は、マーカーイメージの組合せを使用することにより、マーカーＭＫを解釈することができる。ここで、マーカーＭＫの「解釈」とは、マーカーイメージの所定の意味を解釈することを示す。一例として、一連の数字を有するマーカーＭＫは、バーコードを指示すると解釈されてもよい。もう１つの例として、２８の英文字を有するマーカーＭＫは、ＵＲＬを指示すると解釈されてもよい。１つの実施形態において、処理ユニット１１０は、マーカーイメージの組合せに対応するマーカー情報を格納したストレージまたはデータベースを検索することにより、要求に応じて外部サーバからマーカー情報を受信することにより、またはマーカーイメージの意味を使用することにより、マーカーＭＫを解釈することができる。処理ユニット１１０は、マーカー認識の正確度を高めるために、ブロック５２０を少なくとも２回繰り返すことができる。つまり、マーカーイメージの第１のセットが検出された後、マーカーイメージの第２のセットは、検出されて、マーカー認識が正しいかどうかを決定するためにマーカーイメージの第１のセットと比較されてもよい。
【００３２】
処理ユニット１１０は、オブジェクトイメージを格納するストレージまたはデータベースから検出されたマーカーＭＫに対応するオブジェクトイメージを検索するか（５３０）、または要求に応じて外部サーバからオブジェクトイメージを受信することができる。処理ユニット１１０は、オブジェクトイメージを、写真撮影ユニット１２０からの現実世界イメージと組み合わせて（５４０）、新しいイメージ、すなわち拡張現実イメージを生成し、装置１００に含まれるかまたは外部デバイスである表示ユニットに拡張現実イメージを表示することができる（５５０）。イメージを組み合わせる場合、オブジェクトイメージは、マーカーＭＫが位置する現実世界イメージの位置に配置されてもよい。一方、マーカーＭＫが３次元図形のマーカーイメージを含む場合、処理ユニット１１０は、３次元図形の向きを検出して、３次元図形の向きに応じて決定される向きにオブジェクトを表示することができる。
【００３３】
図５は拡張現実装置１００で実行される方法のフローを示すが、方法が装置３００で実行されてもよいことは当業者には明らかである。この場合、入力ユニット３３０は、外部ユーザ入力から入力データを受信し、入力データを処理ユニット３１０に送信することができる。写真撮影ユニット３２０は、表示デバイスに表示されたマーカーＭＫを含む現実世界イメージを取り込み、現実世界イメージを処理ユニット３１０に伝送することができる。処理ユニット３１０は、入力データに従って現実世界イメージからマーカーイメージを検出し、マーカーイメージの組合せに対応するマーカーＭＫを解釈して、オブジェクトイメージを現実世界イメージと組み合わせることができる。ストレージユニット３４０は、マーカー情報および／またはオブジェクトイメージを格納して、マーカー情報および／またはオブジェクトイメージを処理ユニット３１０に伝送することができる。表示ユニット３５０は、組み合わされたイメージを表示することができる。
【００３４】
図６は、拡張現実のための画面の例示的な実施例を示す概略図である。図６は、拡張イメージが装置３００の表示ユニット３５０に表示されることを示す。拡張イメージは、オブジェクトイメージ（例えば、地球儀オブジェクトＯＢ）にマーカーＭＫを含む現実世界イメージ（例えば、マーカーＭＫが表示デバイスに表示される表示デバイス（例えば、表示デバイス２００）のイメージ）をオーバーレイすることにより生成されてもよい。地球儀オブジェクトＯＢは、グラフィックイメージであってもよく、マーカーＭＫが位置する位置に表示されてもよい。ユーザが、例えば手、ペン、またはマウスを使用して、矢印に沿って表示デバイス２００上でマーカーＭＫを移動させると、地球儀オブジェクトＯＢもまた、それと共に移動することができる。
【００３５】
１つの実施形態において、拡張現実のための装置は、例えば表示デバイス２００のような、表示デバイスをさらにオプションで含むことができる。一例として、装置は、装置１００または３００により作成された拡張現実を表示するように構成された表示デバイスをオプションで含むことができる。もう１つの実施形態において、拡張現実のための方法は、表示デバイスにマーカーＭＫを表示することを含むことができる。一例として、マーカーＭＫの表示は、図５の方法において現実世界イメージの取り込み（５１０）の前に実行されてもよい。
【００３６】
上記で説明されるように、拡張現実のための装置および方法の例示的な実施形態は、マーカーイメージが単純な形状であることから、ユーザが容易にマーカーを認識できるようにして、拡張現実の分野において新しいタイプのマーカーとして機能できるように多数のマーカーを生成することができる。そのような装置および方法はまた、設計、ゲーム、教育、研究などのような、さまざまな分野に適用されてもよい。
【００３７】
１つの実施形態において、拡張現実のための方法の例示的な実施形態は、ストレージ媒体に適用されてもよい。ストレージ媒体は、コンピュータによって読み込まれ、さまざまなコンピュータにより実施されうる操作を実行するためのプログラム命令を含むことができる。媒体は、拡張現実のための前述の方法を実行するためのプログラムを記録することができる。媒体は、プログラム命令、データファイル、データ構造体、およびそれらの組合せの１つを含むことができる。媒体の例は、ハードディスク、フロッピーディスク、および磁気テープのような磁気媒体、ＣＤおよびＤＶＤのような光媒体、光フロッピーディスクのような光磁気媒体、ならびにＲＯＭ、ＲＡＭ、およびフラッシュメモリのようなハードウェアデバイスを含み、媒体はプログラム命令を格納して実行するように構成される。媒体は、光または金属回線、導波管などのような伝送媒体であってもよく、それらの媒体はプログラム命令、データ構造体などを指定するための信号を含むキャリアを含む。プログラム命令の例は、コンパイラによって作成されうる機械コード、およびインタープリタを介してコンピュータにより実行される高水準言語コードを含むことができる。
【００３８】
例示的な実施形態において、本明細書において説明される操作、プロセスなどはいずれも、コンピュータ可読媒体に格納されたコンピュータ可読命令として実施されてもよい。コンピュータ可読命令は、モバイルユニット、ネットワーク要素、および／またはその他のコンピューティングデバイスのプロセッサによって実行されてもよい。
【００３９】
図７は、本開示に従って拡張現実のために配置される例示のコンピューティングデバイス７００を示すブロック図である。極めて基本的な構成７０１において、コンピューティングデバイス７００は通常、１つまたは複数のプロセッサ７１０およびシステムメモリ７２０を含む。メモリバス７３０は、プロセッサ７１０とシステムメモリ７２０との間で通信するために使用されてもよい。
【００４０】
望ましい構成に応じて、プロセッサ７１０は、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、またはそれらの任意の組合せを含む任意のタイプであってもよいが、これらに限定されることはない。プロセッサ７１０は、レベル１キャッシュ７１１およびレベル２キャッシュ７１２のような、１つまたは複数のレベルのキャッシング、プロセッサコア７１３、およびレジスタ７１４を含むことができる。例示のプロセッサコア７１３は、演算論理装置（ＡＬＵ：ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、浮動小数点演算ユニット（ＦＰＵ：ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ  ｕｎｉｔ）、デジタル信号処理コア（ＤＳＰ  Ｃｏｒｅ）、またはそれらの任意の組合せを含むことができる。例示のメモリコントローラ７１５はまた、プロセッサ７１０と共に使用されてもよいか、または一部の実施態様において、メモリコントローラ７１５はプロセッサ７１０の内部部品であってもよい。
【００４１】
望ましい構成に応じて、システムメモリ７２０は、（ＲＡＭのような）揮発性メモリ、（ＲＯＭ、フラッシュメモリなどのような）不揮発性メモリ、またはそれらの任意の組合せを含む任意のタイプであってもよいが、これらに限定されることはない。システムメモリ７２０は通常、オペレーティングシステム７２１、１つまたは複数のアプリケーション７２２、およびプログラムデータ７２４を含むことができる。アプリケーション７２２は、図５のプロセス５１０から５５０に関して説明されている機能を含む、本明細書において説明される機能を実行するように配置される拡張現実アルゴリズム７２３を含むことができる。プログラムデータ７２４は、後段でさらに説明されるように、拡張現実アルゴリズム７２３による操作に有用となりうる拡張現実データ７２５を含むことができる。一部の実施形態において、アプリケーション７２２は、本明細書において説明されるように堅固な拡張現実の実施態様が提供されうるように、オペレーティングシステム７２１でプログラムデータ７２４と共に動作するように配置されてもよい。この説明される基本構成は、破線７０１内のコンポーネントにより図７に示される。
【００４２】
コンピューティングデバイス７００は、基本構成７０１と任意の必要とされるデバイスおよびインターフェイスとの間の通信を容易にするために、追加の特徴または機能、および追加のインターフェイスを有することができる。例えば、バス／インターフェイスコントローラ７４０は、ストレージインターフェイスバス７４１を介して基本構成７０１と１つまたは複数のデータストレージデバイス７５０との間の通信を容易にするために使用されてもよい。データストレージデバイス７５０は、取り外し可能ストレージデバイス７５１、固定式ストレージデバイス７５２、またはその組合せであってもよい。取り外し可能ストレージデバイスおよび固定式ストレージデバイスの例は、ほんの一部をあげると、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）のような磁気ディスクデバイス、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブのような光ディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、およびテープドライブを含む。例示のコンピュータストレージ媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータのような情報の格納のための任意の方法または技術で実施された揮発性および不揮発性の、取り外し可能および固定式媒体を含むことができる。
【００４３】
システムメモリ７２０、取り外し可能ストレージ７５１、および固定式ストレージ７５２はすべて、コンピュータストレージ媒体の例である。コンピュータストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気ストレージデバイス、もしくは所望の情報を格納するために使用されうる、コンピューティングデバイス７００によってアクセスされうる任意の他の媒体を含むが、これらに限定されることはない。任意のそのようなコンピュータストレージ媒体は、デバイス７００の一部であってもよい。
【００４４】
コンピューティングデバイス７００はまた、バス／インターフェイスコントローラ７４０を介して、さまざまなインターフェイスデバイス（例えば、出力インターフェイス、周辺インターフェイス、および通信インターフェイス）から基本構成７０１への通信を容易にするために、インターフェイスバス７４２を含むことができる。例示の出力デバイス７６０は、グラフィック処理ユニット７６１およびオーディオ処理ユニット７６２を含み、これらは１つまたは複数のＡ／Ｖポート７６３を介してディスプレイまたはスピーカのようなさまざまな外部デバイスと通信するように構成されてもよい。例示の周辺インターフェイス７７０は、シリアルインターフェイスコントローラ７７１またはパラレルインターフェイスコントローラ７７２を含み、これらは１つまたは複数のＩ／Ｏポート７７３を介して入力デバイス（例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど）またはその他の周辺デバイス（例えば、プリンタ、スキャナなど）のような外部デバイスと通信するように構成されてもよい。例示の通信デバイス７８０はネットワークコントローラ７８１を含み、これは１つまたは複数の通信ポート７８２を介するネットワーク通信リンク上の１つまたは複数のその他のコンピューティングデバイス７９０との通信を容易にするために配置されてもよい。
【００４５】
ネットワーク通信リンクは、通信媒体の１つの例であってもよい。通信媒体は通常、搬送波または他のトランスポート機構のような、変調データ信号でコンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータによって具現されてもよく、任意の情報配信媒体を含むことができる。「変調データ信号」とは、信号の特性セットの１つまたは複数を有する信号、または信号の情報をエンコードするような方法で変更された信号であってもよい。限定的ではなく、一例として、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、ならびに音響、無線周波数（ＲＦ）、マイクロ波、赤外線（ＩＲ）および他の無線媒体のような無線媒体を含むことができる。本明細書に使用されているコンピュータ可読媒体という用語は、ストレージ媒体および通信媒体の両方を含むことができる。
【００４６】
コンピューティングデバイス７００は、携帯電話、携帯情報端末（ＰＤＡ）のような小型フォームファクターポータブル（またはモバイル）電子デバイス、パーソナルメディアプレイヤーデバイス、無線Ｗｅｂ視聴デバイス、パーソナルハンドセットデバイス、アプリケーション固有デバイス、または上記の機能のいずれかを含む混合デバイスの一部として実施されてもよい。コンピューティングデバイス７００はまた、ラップトップコンピュータおよびラップトップコンピュータ以外の両方の構成を含むパーソナルコンピュータとして実施されてもよい。
【００４７】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができるさまざまな達成手段があり（例えば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。例えば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアのなんらかの組合せを選択することができる。
【００４８】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組合せにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（例えば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（例えば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組合せとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピーディスク、ハードディスクドライブ、ＣＤ、ＤＶＤ、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００４９】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェイス、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（例えば、位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
【００５０】
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例に過ぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００５１】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００５２】
通常、本明細書において、特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（例えば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（例えば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（例えば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、そ���に限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００５３】
加えて、本開示の特徴または態様がマーカッシュグループに関して説明される場合、それにより本開示はまた、マーカッシュグループの構成要素の任意の個々の構成要素または構成要素のサブグループに関しても説明されることを当業者は理解するであろう。
【００５４】
書面による説明を行うことに関してなど、任意およびすべての目的のため、当業者によって理解されるように、本明細書において開示されるあらゆる範囲はまた、任意およびすべての可能な下位範囲およびその下位範囲の組合せを網羅する。任意の一覧される範囲は、同範囲が少なくとも等価の２分の１、３分の１、４分の１、５分の１、１０分の１などに分解されることを十分に説明および可能にするものと容易に理解されてもよい。非限定的な例として、本明細書において説明される各範囲は、下３分の１、中３分の１、および上３分の１などに容易に分解されてもよい。さらに当業者によって理解されるように、「最大（ｕｐ  ｔｏ）」、「少なくとも（ａｔ  ｌｅａｓｔ）」などのようなすべての表現は、列挙される数を含み、引き続き上記で説明されている下位範囲に分解されてもよい範囲を示す。最後に、当業者に理解されるように、範囲は個々の構成要素を含む。したがって、例えば、１〜３個のセルを有するグループは、１個、２個、または３個のセルを有するグループを示す。同様に、１〜５個のセルを有するグループは、１個、２個、３個、４個、または５個のセルを有するグループを示し、以下同様である。
【００５５】
以上の記述から、本開示のさまざまな実施形態は本明細書において例示の目的で説明されており、本開示の範囲および精神を逸脱することなくさまざまな変更が行われてもよいことが理解されよう。したがって、本明細書において開示されるさまざまな実施形態は、限定的であることを意図されておらず、真の範囲および精神は後段の特許請求の範囲により示される。
【図１】
0005632073.tif 000002
【図２】
0005632073.tif 000003
【図３】
0005632073.tif 000004
【図４】
0005632073.tif 000005
【図５】
0005632073.tif 000006
【図６】
0005632073.tif 000007
【図７】
0005632073.tif 000008