(57)【要約】【課題】装着型表示装置を用いた当該装着型表示装置の位置姿勢が適切に決定できない場合に、他の装置の画像を用いて当該装着型表示装置の位置姿勢を決定すること【解決手段】ＨＭＤのカメラにより撮像された第１の現実画像を取得し、第１の現実画像における第１のマーカの情報を用いてＨＭＤの位置姿勢を特定し、ターゲットのカメラで撮像した第２の現実画像における第１のマーカの情報に基づいてターゲットの位置姿勢を特定し、第２の現実画像における第２のマーカの情報に基づいてＨＭＤの位置姿勢を特定し、第１の現実画像において第１のマーカが認識された場合に、第１の現実画像の第１のマーカに基づく位置姿勢をＨＭＤの位置姿勢として決定し、第１の現実画像において第１のマーカが認識されない場合に、第２の現実画像の第２のマーカに基づく位置姿勢をＨＭＤの位置姿勢として決定し、複合現実画像を表示すべく制御する【選択図】図５
2020115362.tif 000002
【特許請求の範囲】
【請求項１】
第１の撮像装置を備えた表示装置及び第２の撮像装置と通信可能であり、現実画像に重畳する仮想オブジェクト及び当該仮想オブジェクトの位置姿勢情報と、前記表示装置又は前記第２の撮像装置の位置姿勢を特定するための第１の二次元マーカの情報と、前記表示装置に添付された第２の二次元マーカの情報を記憶装置に記憶する情報処理装置であって、
前記第１の撮像装置により撮像された第１の現実画像を取得する現実画像取得手段と、
前記第１の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報とに基づいて、前記表示装置の現実空間上の位置姿勢を特定する第１の位置姿勢特定手段と、
前記第２の撮像装置で撮像した第２の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報に基づいて、前記第２の撮像装置の現実空間上の位置姿勢を特定する第２の位置姿勢特定手段と、
前記第２の位置姿勢特定手段で特定された前記第２の撮像装置の位置姿勢と、前記第２の現実画像において認識された前記第２の二次元マーカの情報及び前記記憶装置に記憶された前記第２の二次元マーカの情報を用いて、前記表示装置の現実空間上の位置姿勢を特定する第３の位置姿勢特定手段と、
前記第１の現実画像において前記第１の二次元マーカが認識された場合に、前記第１の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定し、前記第１の現実画像において前記第１の二次元マーカが認識されない場合に、前記第３の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定する決定手段と、
前記決定手段で決定された前記表示装置の位置姿勢と、前記仮想オブジェクトの位置姿勢とに基づいて、前記仮想オブジェクトを前記第１の現実画像に重畳した複合現実画像を前記表示装置に表示させるべく制御する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１の現実画像において前記第１の二次元マーカが認識されない場合とは、前記第１の現実画像における前記第１の二次元マーカの認識率が閾値に達していない場合であって、
前記決定手段は、前記第１の現実画像における前記第１の二次元マーカの認識率が閾値に達していない場合に、前記第３の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記第１の二次元マーカが認識されない方向に前記表示装置が移動又は／及び回転する場合に、前記第３の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記決定手段は、前記表示装置と前記第１の二次元マーカの位置が所定距離に達した場合に、前記第３の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定手段で、前記第３の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定したことを通知する第１の通知手段と、
を備えることを特徴とする請求項１乃至４のいずれか１項情報処理装置。
【請求項６】
前記第１の現実画像において前記第１の二次元マーカが認識されず、前記第２の現実画像において前記第１の二次元マーカ又は／及び前記第２の二次元マーカが認識されない場合に、前記第２の撮像装置を前記第１の二次元マーカ及び前記第２の二次元マーカを撮像可能な位置に移動するよう通知する第２の通知手段と、
を備えることを特徴とする請求項１乃至５のいずれか１項情報処理装置。
【請求項７】
前記第１の現実画像において前記第１の二次元マーカが認識されない場合とは、前記第１の現実画像における前記第１の二次元マーカの認識数が閾値に達していない場合であって、
前記決定手段は、前記第１の現実画像における前記第１の二次元マーカの認識数が閾値に達していない場合に、前記第３の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
第１の撮像装置を備えた表示装置及び第２の撮像装置と通信可能であり、現実画像に重畳する仮想オブジェクト及び当該仮想オブジェクトの位置姿勢情報と、前記表示装置又は前記第２の撮像装置の位置姿勢を特定するための第１の二次元マーカの情報と、前記表示装置に添付された第２の二次元マーカの情報を記憶装置に記憶する情報処理装置の制御方法であって、
前記第１の撮像装置により撮像された第１の現実画像を取得する現実画像取得工程と、
前記第１の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報とに基づいて、前記表示装置の現実空間上の位置姿勢を特定する第１の位置姿勢特定工程と、
前記第２の撮像装置で撮像した第２の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報に基づいて、前記第２の撮像装置の現実空間上の位置姿勢を特定する第２の位置姿勢特定工程と、
前記第２の位置姿勢特定工程で特定された前記第２の撮像装置の位置姿勢と、前記第２の現実画像において認識された前記第２の二次元マーカの情報及び前記記憶装置に記憶された前記第２の二次元マーカの情報を用いて、前記表示装置の現実空間上の位置姿勢を特定する第３の位置姿勢特定工程と、
前記第１の現実画像において前記第１の二次元マーカが認識された場合に、前記第１の位置姿勢特定工程で特定された位置姿勢を前記表示装置の位置姿勢として決定し、前記第１の現実画像において前記第１の二次元マーカが認識されない場合に、前記第３の位置姿勢特定工程で特定された位置姿勢を前記表示装置の位置姿勢として決定する決定工程と、
前記決定工程で決定された前記表示装置の位置姿勢と、前記仮想オブジェクトの位置姿勢とに基づいて、前記仮想オブジェクトを前記第１の現実画像に重畳した複合現実画像を前記表示装置に表示させるべく制御する制御工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項９】
第１の撮像装置を備えた表示装置及び第２の撮像装置と通信可能であり、現実画像に重畳する仮想オブジェクト及び当該仮想オブジェクトの位置姿勢情報と、前記表示装置又は前記第２の撮像装置の位置姿勢を特定するための第１の二次元マーカの情報と、前記表示装置に添付された第２の二次元マーカの情報を記憶装置に記憶する情報処理装置で実行が可能なプログラムであって、
前記情報処理装置を、
前記第１の撮像装置により撮像された第１の現実画像を取得する現実画像取得手段と、
前記第１の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報とに基づいて、前記表示装置の現実空間上の位置姿勢を特定する第１の位置姿勢特定手段と、
前記第２の撮像装置で撮像した第２の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報に基づいて、前記第２の撮像装置の現実空間上の位置姿勢を特定する第２の位置姿勢特定手段と、
前記第２の位置姿勢特定手段で特定された前記第２の撮像装置の位置姿勢と、前記第２の現実画像において認識された前記第２の二次元マーカの情報及び前記記憶装置に記憶された前記第２の二次元マーカの情報を用いて、前記表示装置の現実空間上の位置姿勢を特定する第３の位置姿勢特定手段と、
前記第１の現実画像において前記第１の二次元マーカが認識された場合に、前記第１の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定し、前記第１の現実画像において前記第１の二次元マーカが認識されない場合に、前記第３の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定する決定手段と、
前記決定手段で決定された前記表示装置の位置姿勢と、前記仮想オブジェクトの位置姿勢とに基づいて、前記仮想オブジェクトを前記第１の現実画像に重畳した複合現実画像を前記表示装置に表示させるべく制御する制御手段として機能させることを特徴とする情報処理装置のプログラム。
【請求項１０】
第１の撮像装置を備えた表示装置と、第２の撮像装置と、現実画像に重畳する仮想オブジェクト及び当該仮想オブジェクトの位置姿勢情報と前記表示装置又は前記第２の撮像装置の位置姿勢を特定するための第１の二次元マーカの情報と前記表示装置に添付された第２の二次元マーカの情報を記憶装置に記憶する情報処理装置と、を含む情報処理システムであって、
前記第１の撮像装置により撮像された第１の現実画像を取得する現実画像取得手段と、
前記第１の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報とに基づいて、前記表示装置の現実空間上の位置姿勢を特定する第１の位置姿勢特定手段と、
前記第２の撮像装置で撮像した第２の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報に基づいて、前記第２の撮像装置の現実空間上の位置姿勢を特定する第２の位置姿勢特定手段と、
前記第２の位置姿勢特定手段で特定された前記第２の撮像装置の位置姿勢と、前記第２の現実画像において認識された前記第２の二次元マーカの情報及び前記記憶装置に記憶された前記第２の二次元マーカの情報を用いて、前記表示装置の現実空間上の位置姿勢を特定する第３の位置姿勢特定手段と、
前記第１の現実画像において前記第１の二次元マーカが認識された場合に、前記第１の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定し、前記第１の現実画像において前記第１の二次元マーカが認識されない場合に、前記第３の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定する決定手段と、
前記決定手段で決定された前記表示装置の位置姿勢と、前記仮想オブジェクトの位置姿勢とに基づいて、前記仮想オブジェクトを前記第１の現実画像に重畳した複合現実画像を前記表示装置に表示させるべく制御する制御手段と、
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複合現実（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ／以下、ＭＲと記載）の技術が普及している。ＭＲ技術を用いて、ヘッドマウントディスプレイ（以下、ＨＭＤ）を装着したユーザに対し、現実物体とＣＧモデルを配置したＭＲ空間（現実空間と仮想空間とを重ね合わせた複合現実空間）の疑似体験を提供できる。
【０００３】
特許文献１には、当該マーカの存在をユーザに意識させないために、マーカを検出した場合に、当該マーカを隠した画像を描画する技術が記載されている。また、マーカの３次元空間上の位置姿勢を、撮像装置の位置姿勢とマーカを含む現実画像とを用いて特定することは既知の技術である（例えば特許文献２）。
【０００４】
特許文献２には、
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３５０８６０号公報
【特許文献２】特開２０００−１０２０３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、体験者にターゲットと呼ばれる補助具を持ってもらい、ターゲットにドライバー等のＣＧを重ね合わせ、且つネジの差し込まれたＣＧを表示して、実際の作業環境を体験者に体験してもらうことがある。
【０００７】
しかし、マーカを使ってＨＭＤの位置姿勢を特定している状況で、例えばネジを回そうと思って体験者が自分の目の前にターゲットを持ってきた場合、床・壁のマーカがターゲットで隠れてしまい、ＨＭＤの位置姿勢が特定できなくなってしまうという問題がある。また、ＨＭＤの位置姿勢が適切に特定できないために、ＨＭＤ上の画像のどこにＣＧを重畳してよいか分からなくなるため、ＣＧが不適切な位置に重畳されてしまうという問題がある。
【０００８】
本発明は、装着型表示装置を用いた当該装着型表示装置の位置姿勢が適切に決定できない場合に、他の装置の画像を用いて当該装着型表示装置の位置姿勢を決定可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、第１の撮像装置を備えた表示装置及び第２の撮像装置と通信可能であり、現実画像に重畳する仮想オブジェクト及び当該仮想オブジェクトの位置姿勢情報と、前記表示装置又は前記第２の撮像装置の位置姿勢を特定するための第１の二次元マーカの情報と、前記表示装置に添付された第２の二次元マーカの情報を記憶装置に記憶する情報処理装置であって、前記第１の撮像装置により撮像された第１の現実画像を取得する現実画像取得手段と、前記第１の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報とに基づいて、前記表示装置の現実空間上の位置姿勢を特定する第１の位置姿勢特定手段と、前記第２の撮像装置で撮像した第２の現実画像において認識された前記第１の二次元マーカの情報と前記記憶装置に記憶された前記第１の二次元マーカの情報に基づいて、前記第２の撮像装置の現実空間上の位置姿勢を特定する第２の位置姿勢特定手段と、前記第２の位置姿勢特定手段で特定された前記第２の撮像装置の位置姿勢と、前記第２の現実画像において認識された前記第２の二次元マーカの情報及び前記記憶装置に記憶された前記第２の二次元マーカの情報を用いて、前記表示装置の現実空間上の位置姿勢を特定する第３の位置姿勢特定手段と、前記第１の現実画像において前記第１の二次元マーカが認識された場合に、前記第１の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定し、前記第１の現実画像において前記第１の二次元マーカが認識されない場合に、前記第３の位置姿勢特定手段で特定された位置姿勢を前記表示装置の位置姿勢として決定する決定手段と、前記決定手段で決定された前記表示装置の位置姿勢と、前記仮想オブジェクトの位置姿勢とに基づいて、前記仮想オブジェクトを前記第１の現実画像に重畳した複合現実画像を前記表示装置に表示させるべく制御する制御手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、装着型表示装置を用いた当該装着型表示装置の位置姿勢が適切に決定できない場合に、他の装置の画像を用いて当該装着型表示装置の位置姿勢を決定することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態における、システム構成の一例を示す図である
【図２】本発明の実施形態における、各種装置のハードウエア構成の一例を示す図である
【図３】本発明の実施形態における、各種装置の機能構成の一例を示す図である
【図４】本発明の実施形態における、ターゲットに設置されたカメラの画像を用いたＨＭＤの位置姿勢特定処理の流れを示すフローチャートである
【図５】本発明の実施形態における、ＨＭＤの位置姿勢の決定処理の流れを示すフローチャートである
【図６】本発明の実施形態における、各種データの構成の一例を示す図である
【図７】本発明の実施形態における、現実空間及びＭＲ空間のイメージ図である
【図８】本発明の実施形態における、ＭＲ画像の一例を示す図である
【図９】本発明の実施形態における、現実画像の一例を示す図である
【図１０】本発明の実施形態における、カメラが設置されたターゲットの一例を示す図である
【図１１】本発明の実施形態における、現実画像の一例を示す図である
【図１２】本発明の実施形態における、現実空間のイメージ図である
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１３】
図１は、本発明の実施形態における、システム構成の一例を示す図である。
【００１４】
本発明のシステムは、サーバ２００Ａとサーバ２００Ｂ、ヘッドマウントディスプレイ１０１（以下、ＨＭＤ１０１）、ターゲット１０２等で構成される。図１において、各種装置はネットワーク１５０で通信可能に接続されているものとしている。ネットワークの有線、無線は問わない。
【００１５】
サーバ２００（サーバ２００Ａとサーバ２００Ｂの総称として使用）には、ＨＭＤ１０１により撮像される現実画像に重畳する３次元モデル（仮想オブジェクト）が記憶されている（例えば図６のモデル情報６５０）。
【００１６】
サーバ２００は自機の管理するＨＭＤ１０１より現実画像を取得して、当該現実画像に３次元モデルを重畳したＭＲ画像（現実画像と仮想空間の画像とを重畳した複合現実画像）を生成し、ＨＭＤ１０１のディスプレイに表示させるべく、当該ＭＲ画像をＨＭＤ１０１に送信する。ＨＭＤ１０１は受信したＭＲ画像をディスプレイに表示する。
【００１７】
ターゲット１０２は、主にＭＲ体験者（ユーザ）の補助具として用いられる。例えばスパナやドライバー等の工具の仮想オブジェクトをユーザに持たせる場合、当該工具の仮想オブジェクトをターゲット１０２の位置姿勢に応じて、当該ターゲット１０２に重ねて表示することで、ユーザに工具を持っている実感を与え、且つ、ターゲット１０２を３次元空間上で移動させることで工具の仮想オブジェクトも自由に移動させることを可能にする。
【００１８】
ターゲット１０２にはビデオカメラ２３１、ビデオカメラ２３２が設置されている。本実施形態においては、図１０に示すように複数のビデオカメラ２３１−１〜２３１−４をまとめてビデオカメラ２３１と呼び、ビデオカメラ２３２−１〜２３２−４をまとめてビデオカメラ２３２と呼ぶものとする。実際には２３１−２〜２３１−４、２３２−２〜２３２−４の裏側にもビデオカメラが設置されているため、合計で１４のビデオカメラがターゲット１０２に設置されていることとなる。ビデオカメラ２３１、ビデオカメラ２３２はそれぞれ３６０°撮像可能なカメラとして機能する。
【００１９】
以降、ターゲット１０２のカメラで撮像された画像＝ビデオカメラ２３１及びビデオカメラ２３２で撮像された全ての現実画像とする。以上が図１の説明である。
【００２０】
なお、それぞれの拠点の室内には複数のマーカが貼り付けられているものとする。当該マーカを用いてＨＭＤ１０１の位置姿勢を特定し、また、仮想オブジェクトを配置する位置姿勢を決定することができる。
【００２１】
マーカの形状は問わないが、実施形態では正方形であり、サイズはそれぞれ外部メモリに記憶されているものとする。位置検出用マーカと仮想オブジェクト配置用マーカは全て同じ大きさであるものとする。また、各マーカにはユニークなマーカ番号が埋め込まれているものとする。そして、ＨＭＤ１０１に設けられたカメラで撮像した際に、個々のマーカが識別でき、デコードした際に、そのマーカ番号が得られるものとする。マーカの種類（マーカが果たす役割の種類）は、ＨＭＤ１０１の位置姿勢を決定するための位置検出用マーカ、並びに、そのマーカで規定される箇所に仮想オブジェクトを描画するものとして利用される仮想オブジェクト配置用マーカの２種類がある。そして、位置検出用マーカについては、複数のマーカが、予め既知の位置に貼り付けられているものとする。
【００２２】
本発明の実施形態におけるマーカの情報は図６のマーカ情報６００に示す通りである。マーカ情報６００は、サーバ２００Ａ及びサーバ２００Ｂの外部メモリにそれぞれ記憶されている。マーカＩＤ６０１はマーカの識別情報である。マーカ種別６０２は、各マーカが位置検出用マーカ（位置特定用マーカ）なのか、仮想オブジェクト配置用マーカなのか、又は、ＨＭＤ１０１に添付されておりＨＭＤの位置姿勢の特定に用いられるＨＭＤ位置姿勢特定用マーカなのかを示す。
【００２３】
ＨＭＤ位置姿勢特定用マーカは、上述したように予めＨＭＤ１０１に添付されているマーカである。ＨＭＤ１０１の位置姿勢は、ＨＭＤ１０１自身に設置されている右目・左目ビデオカメラ２２１の画像上の位置検出用マーカの情報から決定されるか、又は、ターゲット１０２の位置姿勢（ビデオカメラ２３１・２３２において撮像された画像上の位置検出用マーカの情報から決定）及びビデオカメラ２３１・２３２において撮像された現実画像上のＨＭＤ位置姿勢特定用マーカの情報から決定される。
【００２４】
ＨＭＤ位置姿勢特定用マーカの位置姿勢の特定方法は、公知の技術を用いる。例えば前述した特許文献２（特開２０００−１０２０３６号公報）に記載の方法を用いて、ＨＭＤ位置姿勢特定用マーカの３次元空間上の位置姿勢を特定する。
【００２５】
マーカ画像６０３は、マーカの識別情報を特定可能なマーカの画像である。上述したように、マーカの形状は正方形で有り、大きさは大きさ６０４に記憶されている。位置６０５、姿勢６０６は、マーカの位置姿勢を示すＸ，Ｙ，Ｚの座標及び角度である。
【００２６】
ターゲット等の携帯可能な現実物体に添付されている仮想オブジェクト配置用マーカと、ＨＭＤに添付されているＨＭＤ位置姿勢特定用マーカの位置６０５、姿勢６０６は、現実画像上で各マーカが認識され、位置姿勢が特定される都度、各サーバ２００によって上書き・更新される。
【００２７】
ＨＭＤ１０１の位置姿勢を検出する原理について説明する。撮像した画像中の３つの位置検出用マーカ（その位置は既知）それぞれのサイズから、ＨＭＤ１０１からそれぞれまでの位置検出用マーカまでの距離を求める。そして、逆に、３つの位置検出用マーカから求めた３つの距離が重なる位置を、ＨＭＤ１０１の位置として決定する。また、ＨＭＤ１０１の姿勢は、撮像した画像中の３つの位置検出用マーカの配置から求めればよい。
【００２８】
なお、マーカの法線方向に視点があるとき、そのマーカ画像が正方形に見えることになる。そして、視点が法線方向からずれると、そのずれの度合いに応じて正方形が歪んで見える。つまり、この歪みから、視点の軸に対するマーカで規定される平面の向きが判明し、マーカのサイズから視点とマーカ間の距離を検出でき、マーカが貼り付けられた平面が規定できる。また、実施形態では、マーカには、互いに識別できる２つの印が設けられ、マーカの中心位置を原点とし、マーカで規定される上記の平面上の、原点からその印に向かう２つのベクトルを２軸、マーカの中心位置から法線方向の１軸で、局所的（ローカル）な３次元座標を規定する３軸を規定しているものとする。
【００２９】
仮想オブジェクト配置用マーカとは、仮想オブジェクトを表示する位置を特定するために用いられるマーカである。サーバ２００及びクライアントＰＣ１００のＣＰＵ２０１は、当該仮想オブジェクト配置用マーカが検出された際、当該仮想オブジェクト配置用マーカが存在する位置（正確には後述するように当該仮想オブジェクト配置用マーカの重心位置からオフセットを持つ位置）に仮想オブジェクトを表示するための処理を行う。例えば、３次元モデルを当該オフセットの示す仮想空間上の位置に配置する処理を行う。
【００３０】
仮想オブジェクトとは、仮想空間上に配置された３次元モデル（３次元ＣＡＤデータ、３Ｄモデル、ＣＧ等とも呼ぶ）のことである。尚、３次元モデルのデータはサーバ２００及びクライアントＰＣ１００の外部メモリ上に、当該３次元モデルを仮想空間上のいずれの位置にどのような姿勢で配置するかを示す位置姿勢の情報と対応付けられて記憶されている。
【００３１】
仮想オブジェクト配置用マーカの中心位置の座標を｛Ｘｖ，Ｙｖ，Ｚｖ｝とし、３次元モデルのデータ中の基準座標を｛Ｘｉ，Ｙｉ，Ｚｉ｝（ここで、ｉ＝０，１，２，・・・）と定義したとき、距離Ｌは次式で得られる。
Ｌ＝｛（Ｘｖ−Ｘｉ）２＋（Ｙｖ−Ｙｉ）２＋（Ｚｖ−Ｚｉ）２｝１／２
【００３２】
ここで、ｉを変化させた際の最小の距離Ｌを、仮想オブジェクト配置用マーカと仮想オブジェクト配置用マーカの位置に応じて配置する３次元モデルとの距離とした。なお、上記では距離を計算する際に、最終的に平方根を求めたが、大小の判定で良いのであれば、平行根を求める必要な無く、座標の差分の二乗和を算出しても構わない。
【００３３】
なお、上記式では、仮想オブジェクト配置用マーカの中心位置＝仮想オブジェクトの中心位置とした場合である。先に説明したように、仮想オブジェクトの配置される位置は、仮想オブジェクト配置用マーカの中心位置に対し、「位置」で示されるオフセットが与えられる。
【００３４】
なお、マーカに埋め込めるビット数にもよるが、位置検出用マーカと仮想オブジェクト配置用マーカを兼ねるマーカを定義しても構わない。
【００３５】
尚、上記実施形態は、本発明に係る例であると認識されたい。たとえば、ＨＭＤ１０１の位置姿勢を検出するため、上記実施形態では位置検出用マーカが撮像した視野内に３つは存在するものとして、位置検出用マーカを部屋中に多数張り付けるものとしたが、これによって本発明が限定されるものではない。位置検出用マーカには向きを規定する印があり、位置検出用マーカの座標だけでなく、形状や寸法も既知であれば、撮像した画像の位置検出の歪み、サイズ、印の位置から、１つの位置検出用マーカからだけでもＨＭＤ１０１の位置姿勢を特定できる。
【００３６】
次に図２を参照して、本発明の実施形態における、各種装置のハードウェア構成について説明する。
【００３７】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００３８】
また、ＲＯＭ２０２には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステム（ＯＳ）、その他各種装置の実行する機能を実現するために必要な各種プログラムが記憶されている。
【００３９】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００４０】
本発明のクライアントＰＣ１００、サーバ２００が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
入力コントローラ（入力Ｃ）２０５は、キーボードやマウス等のポインティングデバイス（入力デバイス２１０）からの入力を制御する。
【００４１】
ビデオコントローラ（ＶＣ）２０６は、ＨＭＤ１０１が備える右目・左目ディスプレイ２２２等の表示器への表示を制御する。右目・左目ディスプレイ２２２に対しては、例えば外部出力端子（例えば、Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）を用いて出力される。また、右目・左目ディスプレイ２２２は、右目用のディスプレイと左目用のディスプレイとから構成されている。
【００４２】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。
【００４３】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００４４】
汎用バス２０９は、ＨＭＤ１０１の右目・左目ビデオカメラ２２１からの映像を取り込むために使用される。右目・左目ビデオカメラ２２１からは、外部入力端子（例えば、ＩＥＥＥ１３９４端子）を用いて入力される。右目・左目ビデオカメラ２２１は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。
【００４５】
また、汎用バス２０９は、ターゲット１０２に設置されたビデオカメラ２３１、ターゲット１０２のビデオカメラ２３１等からの映像を取り込むために使用される。
【００４６】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が図２の説明である。
【００４７】
次に図３を参照して、本発明の実施形態における、各種装置の機能構成の一例について説明する。
【００４８】
撮像部３０１は、ＨＭＤ１０１のカメラであり、現実画像を撮像する撮像部である。撮像画像送信部３０２は、撮像画像（現実画像）を自機に対応するサーバに送信する送信部である。ここではサーバ２００Ａに現実画像を送信する。
【００４９】
ＭＲ画像受信部３０３は、サーバ２００Ａで生成されたＭＲ画像を受信する受信部である。ＭＲ画像表示部３０４は、受信したＭＲ画像を表示画面に表示する表示部である。
【００５０】
ターゲット１０２の撮像部３１１は、ターゲット（図１０に図示）に設置されたカメラであって、現実画像を撮像する撮像部である。撮像画像送信部３１２は、撮像画像送信部３０２と同じである。尚、ターゲット１０２に対応するサーバはサーバ２００Ｂである。
【００５１】
サーバ２００Ａの撮像画像受信部３２１は、ＨＭＤ１０１から現実画像を受信する。マーカ認識部３２２は、現実画像の中のマーカ（二次元マーカ）を認識する認識部である。当該認識部は、画像上の二次元マーカの識別コードと当該コードに対応する二次元マーカの位置姿勢を特定する。ＨＭＤ位置姿勢特定部３２３は、ＨＭＤ１０１から受信した現実画像で認識された二次元マーカの位置姿勢を用いて、ＨＭＤ１０１の現在の位置姿勢を特定する特定部である。
【００５２】
位置姿勢情報受信部３２４は、サーバ２００Ｂの位置姿勢情報送信部３３５から送信される、ターゲット位置姿勢特定部３３３においてターゲット１０２の画像から特定されたＨＭＤ１０１の位置姿勢の値を受信する受信部である。位置姿勢情報記憶部３２５は、位置姿勢情報受信部３２４で受信した位置姿勢の情報を外部メモリに記憶する記憶部である。
【００５３】
認識判定部３２６は、現実画像に含まれる二次元マーカの認識状態が条件をクリアしているか判定する判定部である。例えば、二次元マーカを認識可能か判定する。つまり、ＨＭＤ１０１の現実画像からＨＭＤ１０１の位置姿勢を（適切に）決定可能か判定するものである。
【００５４】
ＨＭＤ位置姿勢決定部３２７は、認識判定部３２６においてＨＭＤ１０１から取得した現実画像上で二次元マーカが適切に認識可能と判定され、ＨＭＤ１０１の位置姿勢が適切に特定されたと判定された場合は、当該ＨＭＤ１０１の現実画像に基づいて特定された位置姿勢を、実際に使用するＨＭＤ１０１の位置姿勢として決定する。一方、認識判定部３２６においてＨＭＤ１０１から取得した現実画像上で二次元マーカが適切に認識されないと判定され、ＨＭＤ１０１の位置姿勢が適切に特定されないと判定された場合は、位置姿勢情報記憶部に記憶しているターゲット１０２の現実画像に基づいて（後述のターゲット位置姿勢特定部３３３で）特定されたＨＭＤ１０１の位置姿勢を、実際に使用するＨＭＤ１０１の位置姿勢として決定する。
【００５５】
ＭＲ画像生成・記憶部３２８は、ＨＭＤ位置姿勢決定部３２７で決定された位置姿勢に基づいて現実画像に仮想オブジェクトを重畳したＭＲ画像（重畳画像）を生成し、外部メモリに記憶する記憶部である。ＭＲ画像送信部３２９は、当該ＭＲ画像をＨＭＤ１０１に送信する送信部である。
【００５６】
撮像画像受信部３３１は、ターゲット１０２の撮像画像送信部３１２で送信された現実画像を受信する受信部である。マーカ認識部３３２は、現実画像の中のマーカ（二次元マーカ）を認識する認識部である。当該認識部は、画像上の二次元マーカの識別コードと当該コードに対応する二次元マーカの位置姿勢を特定する。ターゲット位置姿勢特定部３３３は、ターゲット１０２から受信した現実画像で認識された二次元マーカの位置姿勢を用いて、ターゲット１０２の現在の位置姿勢を特定する特定部である。
【００５７】
ＨＭＤ位置姿勢特定部３３４は、ターゲット１０２から受信した現実画像で認識された、ＨＭＤ１０１に添付されている、ＨＭＤ１０１の位置姿勢特定用の二次元マーカの位置姿勢を用いて、ＨＭＤ１０１の現在の位置姿勢を特定する特定部である。位置姿勢情報送信部３３５は、ＨＭＤ位置姿勢特定部３３４で特定されたＨＭＤ１０１の位置姿勢の情報をサーバ２００Ａに送信する送信部である。以上が図３の説明である。
【００５８】
次に図４を参照して、ターゲットに設置されたカメラの画像を用いたＨＭＤの位置姿勢特定処理の流れを説明する。
【００５９】
ターゲット１０２のビデオカメラ１２３１及び２３２は現実画像を撮像し（ステップＳ４０１）、撮像した現実画像をサーバ２００Ｂに送信する（ステップＳ４０２）。
【００６０】
サーバ２００ＢのＣＰＵ２０１は、当該現実画像を受信して外部メモリに記憶する（ステップＳ４０３／例えば図１２の１２０１、１２０２で撮像している画像を含む、ビデオカメラ２３１、２３２で撮像した全ての画像）。そして、当該現実画像から撮像装置（撮像装置の設置されたターゲット１０２）の位置姿勢を特定するための位置検出用マーカ（位置特定用マーカ）を認識可能か判定する（ステップＳ４０４）。つまり、ターゲット１０２の位置姿勢を決定可能か判定する。
【００６１】
認識できた場合は（ステップＳ４０４でＹＥＳ）、認識した位置特定用マーカの位置姿勢を特定して、外部メモリに記憶する（ステップＳ４０５）。例えば図６のターゲット情報６１０のターゲット１０２の位置６１２、姿勢６１３に位置姿勢の情報を記憶する。認識できない場合は（ステップＳ４０４でＮＯ）、処理をステップＳ４０３に戻す。
【００６２】
サーバ２００ＢのＣＰＵ２０１は、現実画像からＨＭＤ１０１の位置姿勢を特定するためのＨＭＤ位置姿勢特定用マーカを認識可能か判定する（ステップＳ４０６）。つまり、ＨＭＤ１０１の位置姿勢を決定可能か判定する。認識できた場合は（ステップＳ４０６でＹＥＳ）、認識したＨＭＤ位置姿勢特定用マーカの位置姿勢を特定して、外部メモリに記憶する（ステップＳ４０７）。例えば図６のＨＭＤ情報６２０のＨＭＤ１０１の位置６２２、姿勢６２３に位置姿勢の情報を記憶する。また、特定元６２４に、当該位置６２２、姿勢６２３の特定元の画像の取得元であるターゲット１０２の識別情報を記憶する。認識できない場合は（ステップＳ４０６でＮＯ）、処理をステップＳ４０３に戻す。
【００６３】
サーバ２００ＢのＣＰＵ２０１は、ステップＳ４０７で記憶したＨＭＤ情報６２０の情報及びターゲット情報６１０の情報をサーバ２００Ａに送信し（ステップＳ４０８）、サーバ２００ＡのＣＰＵ２０１がこれを受信して外部メモリに記憶する（ステップＳ４０９）。以上が図４の説明である。
【００６４】
次に図５を参照して、本発明の実施形態における、ＨＭＤの位置姿勢の決定処理の流れについて説明する。
【００６５】
ＨＭＤ１０１は、ビデオカメラ２２１の機能を用いて現実画像を撮像して（ステップＳ５０１）、サーバ２００Ａに送信する（ステップＳ５０２）。
【００６６】
サーバ２００ＡのＣＰＵ２０１は当該現実画像を受信して外部メモリに記憶する（ステップＳ５０３／現実画像取得手段に該当）。そして、当該現実画像において位置特定用マーカを認識可能か判定する（ステップＳ５０４）。つまり、ＨＭＤ１０１の画像からＨＭＤ１０１の位置姿勢を決定可能か判定する。
【００６７】
例えば、図７の７００に示すような、床・壁にマーカを添付した現実空間に仮想オブジェクト７１１を配置した仮想空間を重畳し、７１０のようなＭＲ空間が作り上げられているとする。ここではＨＭＤ１０１は７０１に示す画角のビデオカメラを備えており、７０１に示す領域の現実画像を撮像している。そして、サーバ２００Ａは、現実画像に含まれるマーカ７０２を認識することでＨＭＤ１０１の位置姿勢を特定・決定している。
【００６８】
マーカ７０２が適切に認識され、ＨＭＤ１０１の位置姿勢が適切に認識されている場合は、例えば図８の８００のようなＭＲ画像がサーバ２００によって生成され、ＨＭＤ１０１に表示される。
【００６９】
例えば図８に表示されている仮想オブジェクト７１１の穴の奥に配置されているネジ８０１を操作するために、ユーザの手にビデオカメラの設置されていない（仮想オブジェクトは配置用マーカを添付した）ターゲットを持たせて当該ターゲットの位置にドライバー（工具）の仮想オブジェクト９１１を重ね合わせた場合、ユーザはドライバーを穴に差し込むために自身の目の前に手とターゲットを持ってこなければならない。すると、本来は図９の９１０のようなＭＲ画像を生成・表示させるべきであるにも関わらず、図９の９００に示す現実画像のように手やターゲットによってマーカ７０２が隠れてしまい、サーバ２００Ａは現実画像からマーカ７０２を認識できなくなってしまう。結果、サーバ２００ＡはＨＭＤ１０１の位置姿勢を適切に特定・決定できなくなり、ＭＲ画像を適切に生成・表示できなくなってしまう。
【００７０】
また、例えば、マーカ７０２が手の隙間から見え隠れしている場合、マーカ７０２が見えて認識できる一瞬だけ仮想オブジェクト９１１を適切に重畳できるため、９１０に示すようなＭＲ画像がサーバ２００で生成されてＨＭＤ１０１で表示され、マーカ７０２が見えなくなったら仮想オブジェクト９１１が消える、というように、仮想オブジェクトがチラつき、安定してＭＲ画像を生成・表示できないことがある。
【００７１】
適切にＭＲ画像を生成・表示するために、ＨＭＤ１０１の位置姿勢を適切に決定し、実際に使用するＨＭＤ１０１の位置姿勢として使用する（採用する）必要がある。
【００７２】
また、ターゲット１０２を手に持っていない場合、ターゲット１０２に設置されたカメラが必ずしもＨＭＤの位置姿勢を特定可能とは限らない。よって基本はＨＭＤの位置姿勢はＨＭＤ自身のカメラで撮った現実画像で特定・決定したい。
【００７３】
本発明の実施形態では、図１１の１１００、１１１０に示すように、カメラを設置したターゲット１０２をユーザに持たせ、例えばターゲット１０２でＨＭＤ１０１のカメラでマーカ７０２を撮像できない（サーバ２００がマーカ７０２を認識できない）状態になった場合に（ステップＳ５０４でＮＯ）、サーバ２００ＡのＣＰＵ２０１は、ターゲット１０２のカメラの現実画像で特定したＨＭＤ１０１の位置姿勢（ＨＭＤＩＤ６２１＝ＨＭＤ１０１であって、特定元６２４＝ターゲット１０２の位置６２２、姿勢６２３）を外部メモリから取得して（ステップＳ５０５）、実際に使用するＨＭＤ１０１の位置姿勢として採用する（決定する／ステップＳ５０６）。ここでは外部メモリ上にＨＭＤ情報６４０(決定した位置姿勢)のテーブルを設けておき、当該ＨＭＤ情報６４０のＨＭＤＩＤ６４１＝ＨＭＤ１０１のデータ列の位置６４２・姿勢６４３に、ステップＳ５０５で取得した位置６２２・姿勢６２３を挿入して記憶することで、当該位置６２２・姿勢６２３を自際に使用するＨＭＤ１０１の位置姿勢として決定する。サーバ２００ＡのＣＰＵ２０１は、処理をステップＳ５０９に移行する。
【００７４】
一方、ＨＭＤ１０１のカメラでマーカ７０２を撮像できる（サーバ２００がマーカ７０２を認識できる）状態の場合には（ステップＳ５０４でＹＥＳ）、ＨＭＤのカメラで撮像した現実画像の位置特定用マーカの位置姿勢から、ＨＭＤ１０１の位置姿勢を特定して外部メモリに記憶する（ステップＳ５０７）。例えば図６のＨＭＤ情報６３０（ＨＭＤのカメラ画像から特定）のＨＭＤＩＤ６３１＝ＨＭＤ１０１の、特定元６３４にＨＭＤ１０１を挿入し、位置６３２、姿勢６３３にステップＳ５０５で特定した位置・姿勢を記憶する。そして、当該位置姿勢を取得して、実際に使用するＨＭＤ１０１の位置姿勢として採用する（決定する／ステップＳ５０８）。ここでは外部メモリ上にＨＭＤ情報６４０のＨＭＤＩＤ６４１＝ＨＭＤ１０１のデータ列の位置６４２・姿勢６４３に、ステップＳ５０７で取得した位置６２２・姿勢６２３を挿入して記憶することで、実際に使用するＨＭＤ１０１の位置姿勢として採用する。
【００７５】
サーバ２００ＡのＣＰＵ２０１は、ステップＳ５０９で、ステップＳ５０６又はＳ５０８で更新されたＨＭＤ情報６４０の位置姿勢をＲＡＭ上に読み出す（ステップＳ５０９）。
【００７６】
また、外部メモリに記憶されているモデル情報６５０を取得して、モデルＩＤ６５１で識別・管理されている各モデル名６５２（ファイル名）の仮想オブジェクトを、位置６５３、姿勢６５４に従って仮想空間に配置する（ステップＳ５１０）
【００７７】
サーバ２００ＡのＣＰＵ２０１は、ステップＳ５０９で読み出したＨＭＤ情報６４０の位置６４２・姿勢６４３に従って、ＨＭＤ１０１と同じ画角の、仮想のカメラを仮想空間上に配置して（ステップＳ５１１）、仮想空間の画像（仮想オブジェクトの画像／仮想画像）を撮像し（ステップＳ５１２）、ＨＭＤ１０１から取得した現実画像に重畳することでＭＲ画像を生成してメモリに記憶する（ステップＳ５１３）。
【００７８】
サーバ２００ＡのＣＰＵ２０１は、当該ＭＲ画像をＨＭＤ１０１に送信し（ステップＳ５１４）、ＨＭＤ１０１が当該ＭＲ画像を受信して表示画面に表示する（ステップＳ５１５）。以上が図５の説明である。
【００７９】
以上説明したように、本発明によれば、装着型表示装置を用いた当該装着型表示装置の位置姿勢が適切に決定できない場合に、他の装置の画像を用いて当該装着型表示装置の位置姿勢を決定することができる。
【００８０】
なお、上述した実施形態においては、ステップＳ５０４で、ＨＭＤ１０１から取得した現実画像から位置特定用マーカを認識できたか判定したが、例えば、マーカを安定して認識しているか判定するようにしてもよい。つまり、ＨＭＤ１０１のカメラの現実画像からＨＭＤ１０１の位置姿勢を安定して特定できているかを判定する。
【００８１】
具体的には、サーバ２００のＣＰＵ２０１は、ＨＭＤ１０１カメラの現実画像に基づいて特定したＨＭＤ１０１の位置姿勢のログを、ステップＳ５０４の後に外部メモリに記憶するようにする。例えば、ＨＭＤ１０１のＩＤ及び位置姿勢の計測日時とを、ＨＭＤの位置姿勢が特定できた場合は位置姿勢の値とを対応付けて記憶し（ステップＳ５０７の後に実行）、ＨＭＤの位置姿勢が特定できなかった場合にはｎｕｌｌの値を対応付けて記憶する（ステップＳ５０５の後に実行）。
【００８２】
ＨＭＤ１０１カメラの現実画像からＨＭＤ１０１の位置姿勢を特定可能であると判定した場合には（ステップＳ５０４でＹＥＳ）、ステップＳ５０７の後に当該記憶処理を実行した後、サーバ２００のＣＰＵ２０１は、過去の所定時間（例えば１０秒）の間、ＨＭＤの位置姿勢を安定してログとして記憶できているか判定する。例えば、過去１０秒間の位置姿勢の計測結果の中にｎｕｌｌが含まれていない場合は安定している、過去１０秒間の位置姿勢の計測結果の中にｎｕｌｌが含まれている場合は安定していないと判定する。
【００８３】
安定している場合には処理をステップＳ５０８に移行し、安定していない場合は処理をステップＳ５０５に移行する。
【００８４】
ＨＭＤ１０１の位置姿勢をＨＭＤ自身で完全に特定できないわけではないという場合でも、ＨＭＤ１０１のカメラからの画像による位置姿勢特定が不安定な場合に、ターゲット１０２のカメラの画像を使った位置姿勢を採用することで、安定したＭＲ環境を提供することができる。
【００８５】
また、ステップＳ５０４で、位置特定用マーカの認識率が所定値（閾値）に達しているか判定するようにしてもよい。
【００８６】
マーカの認識率が低いということは、例えばマーカまでの距離が長いために撮像した現実画像中のマーカ画像が小さく、そのために画像認識率が下がってマーカを部分的に認識しているという場合等が考えられる。例えばマーカの一部を認識していることで、当該一部を認識したマーカが外部メモリに記憶されているどのマーカであるかは特定できているが、認識精度自体は十分でない状態である。マーカ画像が小さいということは比較的小さな障害物がＨＭＤとマーカの間に入るだけでもマーカを認識できなくなる可能性があり、ＨＭＤの位置姿勢が特定できなくなってしまう可能性がある。実際にＨＭＤでマーカを撮像できなくなってから、サーバ２００がＨＭＤのカメラの画像でマーカを認識できないと判定するのに時間がかかってしまう場合は、ターゲットのカメラの画像に基づいて特定されたＨＭＤの位置姿勢を読み出して採用したとしても、一瞬ＨＭＤの位置姿勢が認識できない空白の時間ができてしまい、ＭＲの体験者に違和感を与えてしまう可能性がある。よって、マーカの認識率が低い場合は、先んじてターゲットのカメラ画像を用いてＨＭＤの位置姿勢を特定するものとする。
【００８７】
具体的には、サーバ２００のＣＰＵ２０１が、ステップＳ５０４の判定の代わりに、マーカの認識率を特定して、認識率が所定値に達しているか判定する。例えばＨＭＤ１０１のカメラで撮像した現実画像の中にあるマーカの認識率が８０％以上か判定する。なお、所定値の値は外部メモリに予め記憶されているものとする。
【００８８】
認識率の値が所定値に達している場合は処理をステップＳ５０７に移行し、認識率の値が所定値に達していない場合は処理をステップＳ５０５に移行する。
【００８９】
これにより、位置特定用マーカの認識率が所定数に達しておらず、装着型表示装置を用いた当該装着型表示装置の位置姿勢が適切に決定できなくなる可能性がある場合にも、他の装置の画像を用いて当該装着型表示装置の位置姿勢を決定することができる。
【００９０】
また、ステップＳ５０４で、位置特定用マーカとＨＭＤ１０１との距離が所定値に達しているか判定するようにしてもよい。
【００９１】
具体的には、サーバ２００のＣＰＵ２０１が、ステップＳ５０４の判定の代わりに、位置特定用マーカとＨＭＤ１０１との距離が所定値に達しているか判定し、例えば位置特定用マーカとＨＭＤ１０１との距離が５ｍ以上離れている場合（マーカが小さい場合）、処理をステップＳ５０５に移行し、位置特定用マーカとＨＭＤ１０１との距離が５ｍより近い場合に処理をステップＳ５０８に移行する。所定値の値はサーバ２００の外部メモリに予め記憶されているものとする。
【００９２】
また、ステップＳ５０４で、位置特定用マーカの認識数が所定数（閾値）に達しているか判定するようにしてもよい。
【００９３】
マーカの認識数が少ない場合とは、例えば現実画像上にマーカが１つしか入っていない等の場合等である。マーカが少ないということは、あるマーカが障害物で隠れてしまった場合にＨＭＤの位置姿勢の特定に用いることができるマーカがなくなってしまう可能性が高いということである。実際にＨＭＤでマーカを撮像できなくなってから、サーバ２００がＨＭＤのカメラの画像でマーカを認識できないと判定するのに時間がかかってしまう場合は、ターゲットのカメラの画像に基づいて特定されたＨＭＤの位置姿勢を読み出して採用したとしても、一瞬ＨＭＤの位置姿勢が認識できない空白の時間ができてしまい、ＭＲの体験者に違和感を与えてしまう可能性がある。よって、マーカの認識数が少ない場合は、先んじてターゲットのカメラ画像を用いてＨＭＤの位置姿勢を特定するものとする。
【００９４】
具体的には、サーバ２００のＣＰＵ２０１が、ステップＳ５０４の判定の代わりに、マーカの認識数を特定して、認識数が所定値に達しているか判定する。例えばＨＭＤ１０１のカメラで撮像した現実画像の中にマーカが３つ以上あるか判定する。なお、ここでは所定数＝３としたが、所定数の値は必ずしもこれに限る必要はない。所定数の値は外部メモリに予め記憶されているものとする。
【００９５】
認識数が所定数に達している場合は処理をステップＳ５０７に移行し、認識数が所定数に達していない場合は処理をステップＳ５０５に移行する。
【００９６】
これにより、位置特定用マーカの認識数が所定数に達しておらず、装着型表示装置を用いた当該装着型表示装置の位置姿勢が適切に決定できなくなる可能性がある場合にも、他の装置の画像を用いて当該装着型表示装置の位置姿勢を決定することができる。
【００９７】
また、ＨＭＤ１０１の位置姿勢のログを記憶しておき、ステップＳ５０４で、ＨＭＤ１０１がＨＭＤ１０１自身の位置姿勢を特定できない位置・方向に移動・回転しようとしているか判定するようにしてもよい。
【００９８】
例えば、マーカを認識できない領域の座標・範囲を予めサーバ２００の外部メモリに記憶しておく。そして、サーバ２００のＣＰＵ２０１がステップＳ５０４の判定の代わりに、、当該領域の座標・範囲を取得して、ＨＭＤの位置・姿勢（回転／角度）と画角から、ＨＭＤ１０１が当該マーカを認識できない領域に向こうとしているかを判定する。
【００９９】
マーカを認識できない領域に向こうといていない場合には、処理をステップＳ５０７に移行する。マーカを認識できない領域に向こうといている場合には、処理をステップＳ５０５に移行する。よって、実際にＨＭＤのカメラの画像からマーカが認識できなくなってしまう前に、ターゲット１０２のカメラの画像から特定されたＨＭＤ１０１の位置姿勢を採用することができる。
【０１００】
また、ターゲット１０２のカメラの画像に基づいてＨＭＤ１０１の位置姿勢を決定している場合には（ＨＭＤ情報６２０を採用した場合には）、サーバ２００ＡのＣＰＵ２０１が、ステップＳ５１４の後に、現在ＨＭＤ１０１の位置姿勢をターゲット１０２のカメラの画像に基づいて決定していることをＨＭＤ１０１に通知して、ＨＭＤ１０１が当該通知を表示画面に表示するようにしてもよい。これにより、ＨＭＤを装着しているユーザは、どのように自身の位置姿勢が特定されているかを知ることができる。
【０１０１】
また、ターゲット１０２のカメラの画像に基づいてＨＭＤ１０１の位置姿勢を決定している場合には（ＨＭＤ情報６２０を採用した場合には）、サーバ２００ＡのＣＰＵ２０１が、ステップＳ５１４の後に、ＨＭＤ１０１自身のカメラの画像でＨＭＤ１０１の位置姿勢を特定できる位置・方向に戻るようにＨＭＤ１０１に通知し、ＨＭＤ１０１が当該通知を表示画面に表示するようにしてもよい。これにより、ＨＭＤを装着しているユーザに、ＨＭＤの位置姿勢を、ＨＭＤ自身のカメラの画像で確実に特定可能とするのが良いこと、及び現時点ではＨＭＤ自身のカメラでマーカを認識できていないことを通知できる。
【０１０２】
以上説明したように、本発明によれば、装着型表示装置を用いた当該装着型表示装置の位置姿勢が適切に決定できない場合に、他の装置の画像を用いて当該装着型表示装置の位置姿勢を決定することができる。
【０１０３】
前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１０４】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１０５】
また、プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０１０６】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０８】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１０９】
１０１    ＨＭＤ
１０２    ターゲット
１５０    ネットワーク
２００Ａ  サーバ
２００Ｂ  サーバ
２３１    ビデオカメラ
２３２    ビデオカメラ
【図１】
2020115362.tif 000003
【図２】
2020115362.tif 000004
【図３】
2020115362.tif 000005
【図４】
2020115362.tif 000006
【図５】
2020115362.tif 000007
【図６】
2020115362.tif 000008
【図７】
2020115362.tif 000009
【図８】
2020115362.tif 000010
【図９】
2020115362.tif 000011
【図１０】
2020115362.tif 000012
【図１１】
2020115362.tif 000013
【図１２】
2020115362.tif 000014