(57)【要約】【課題】現実空間における物体の移動に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力すること【解決手段】現実画像と仮想オブジェクト画像とを合成した合成画像を表示装置に出力する情報処理装置が、現実物体の位置を特定し、特定された現実物体の位置の情報に基づいて現実物体が移動しているか判定し、移動している場合に現実物体の存否を認識可能にするように前記合成画像を前記表示装置に表示させるべく出力する【選択図】図４
2016122392.tif 000002
【特許請求の範囲】
【請求項１】
現実空間を表す現実画像と、仮想空間における仮想オブジェクト画像とを合成した合成画像をユーザが視認するための表示装置に出力する情報処理装置であって、
現実空間上の現実物体の位置を特定する現実物体位置特定手段と、
前記現実物体位置特定手段で特定された現実物体の位置の情報に基づいて、前記現実物体が移動しているか判定する移動判定手段と、
前記移動判定手段で前記現実物体が移動していると判定された場合に、現実物体の存否を認識可能にするように前記現実画像と前記仮想オブジェクト画像が合成された合成画像を前記表示装置に表示させるべく出力する出力手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記出力手段は、前記移動判定手段で前記現実物体が移動していると判定された場合であって、当該移動の速度が所定の速度以上であった場合に、現実物体の存否を認識可能にするように前記現実画像と前記仮想オブジェクト画像が合成された合成画像を前記表示装置に表示させるべく出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
現実物体の存否を認識可能にするように前記仮想オブジェクト画像の表示形態を変更する表示形態変更手段と、
を備え、
前記出力手段は、前記表示形態変更手段で、現実物体の存否を認識可能にするように表示形態が変更された仮想オブジェクト画像と前記現実画像が合成された合成画像を、前記移動判定手段による現実物体の移動に応じて前記表示装置に表示させるべく出力することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記仮想オブジェクトと現実物体が重なった位置にあるか判定する重なり判定手段と、
を備え、
前記表示形態変更手段は、前記移動判定手段で前記現実物体が移動していると判定された場合であって、前記重なり判定手段で現実物体と重なった位置にあると判定された仮想オブジェクトについて、現実物体の存否を認識可能にするように前記仮想オブジェクト画像の表示形態を変更することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
仮想オブジェクトごとに、現実物体の移動に応じて当該仮想オブジェクトの表示形態を、現実物体の存否を認識可能にするように変更するか否かを示すフラグを記憶するフラグ記憶手段と、
を備え、
前記表示形態変更手段は、前記移動判定手段で前記現実物体が移動していると判定された場合であって、前記フラグ記憶手段でフラグが記憶された仮想オブジェクトについて、現実物体の存否を認識可能にするように前記仮想オブジェクト画像の表示形態を変更することを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記移動判定手段で移動していると判定された現実物体と仮想オブジェクトの距離が所定距離以内か判定する距離判定手段と、
を備え、
前記表示形態変更手段は、前記現実物体が移動していると判定された場合に、前記距離判定手段で、前記移動判定手段で移動していると判定された現実物体との距離が所定距離以内であると判定された仮想オブジェクトについて、現実物体の存否を認識可能にするように前記仮想オブジェクト画像の表示形態を変更することを特徴とする請求項３乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記表示形態変更手段は、前記仮想オブジェクト画像の一部又は全部の透明度を変更することを特徴とする請求項３乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記表示形態変更手段は、
前記特定手段で特定した距離が小さいほど、前記仮想オブジェクト画像の一部もしくは全部の透過度を大きくすることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記表示形態変更手段は、前記仮想オブジェクト画像の一部又は全部の色を変更することを特徴とする請求項３乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
現実物体の存否を認識可能にするように、前記現実画像の存否を示す新規オブジェクトを生成する新規オブジェクト生成手段と、
前記出力手段は、前記新規オブジェクト生成手段で生成した新規オブジェクトと、前記現実画像と、前記仮想オブジェクト画像とが合成された合成画像を、前記現実物体の存否を認識可能にするように前記現実画像と前記仮想オブジェクト画像が合成された合成画像として出力することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記新規オブジェクト生成手段は、前記仮想空間が配置された現実空間における現実物体の位置情報を用いて、前記現実物体の位置を示す新規オブジェクトを生成することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記現実物体は、前記表示装置であるヘッドマウントディスプレイであることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
現実空間を表す現実画像と、仮想空間における仮想オブジェクト画像とを合成した合成画像をユーザが視認するための表示装置に出力する情報処理装置の制御方法であって、
現実空間上の現実物体の位置を特定する現実物体位置特定工程と、
前記現実物体位置特定工程で特定された現実物体の位置の情報に基づいて、前記現実物体が移動しているか判定する移動判定工程と、
前記移動判定工程で前記現実物体が移動していると判定された場合に、現実物体の存否を認識可能にするように前記現実画像と前記仮想オブジェクト画像が合成された合成画像を前記表示装置に表示させるべく出力する出力工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項１４】
現実空間を表す現実画像と、仮想空間における仮想オブジェクト画像とを合成した合成画像をユーザが視認するための表示装置に出力する情報処理装置で実行が可能なプログラムであって、
前記情報処理装置を、
現実空間上の現実物体の位置を特定する現実物体位置特定手段と、
前記現実物体位置特定手段で特定された現実物体の位置の情報に基づいて、前記現実物体が移動しているか判定する移動判定手段と、
前記移動判定手段で前記現実物体が移動していると判定された場合に、現実物体の存否を認識可能にするように前記現実画像と前記仮想オブジェクト画像が合成された合成画像を前記表示装置に表示させるべく出力する出力手段として機能させることを特徴とする情報処理装置のプログラム。
【請求項１５】
現実空間を表す現実画像と、仮想空間における仮想オブジェクト画像とを合成した合成画像をユーザが視認するための表示装置に出力する情報処理装置と、出力された画像を表示する表示装置とを含む情報処理システムであって、
前記情報処理装置は、
現実空間上の現実物体の位置を特定する現実物体位置特定手段と、
前記現実物体位置特定手段で特定された現実物体の位置の情報に基づいて、前記現実物体が移動しているか判定する移動判定手段と、
前記移動判定手段で前記現実物体が移動していると判定された場合に、現実物体の存否を認識可能にするように前記現実画像と前記仮想オブジェクト画像が合成された合成画像を前記表示装置に表示させるべく出力する出力手段と、
を備え、
前記表示装置は、
前記出力手段で出力された前記合成画像を取得する取得手段と、
前記取得手段で取得した前記合成画像を表示する表示手段と、
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複合現実（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ／以下、ＭＲと記載）の技術が普及している。ＭＲ技術を用いて、ヘッドマウントディスプレイを装着したユーザに対し、現実物体とＣＧモデルを配置した空間の疑似体験を提供できる。ＭＲ空間（現実空間と仮想空間とを合成した複合現実空間）を生成するにあたり、仮想空間を現実空間の位置合わせに用いられる位置指標として、マーカを用いる場合がある。
【０００３】
特許文献１には、当該マーカの存在をユーザに意識させないために、マーカを検出した場合に、当該マーカを隠した画像を描画する技術が記載されている。
【０００４】
また、特許文献２では、仮想のペットを育成する複合現実感提示装置において、ユーザの所定部位による所定動作により、仮想のペットを示す３次元モデルの内部状態を遷移させ、仮想物体の存在感の認知を容易にするＭＲに関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３５０８６０号公報
【特許文献２】特開２００２−１１２２８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば、特許文献１及び特許文献２に記載の技術を用いて仮想物体（ＣＧオブジェクト）の画像を描画して現実の画像と単純に重畳する場合には問題はないが、ユーザがＭＲ空間に積極的に参加する形式の場合に問題になることがある。その代表的なものは、ユーザが２つの現実物体の一方（もしくは両方でも良い）を移動させたことで、他方の物体に接触（衝突）してしまう場合である。
【０００７】
一例を示すなら、ユーザ（ユーザの装着しているＨＭＤ）が移動し、複合現実空間上に配置されているＣＧモデル（仮想オブジェクト）で隠れている現実物体と衝突してしまうことが考えられる。ここではユーザが移動している場合について記載したが、この関係が逆の場合にも言えることである。
【０００８】
本発明は、現実空間における物体の移動に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することを目的とする。
【課題を解決するための手段】
【０００９】
例えば本発明の情報処理装置は、現実空間を表す現実画像と、仮想空間における仮想オブジェクト画像とを合成した合成画像をユーザが視認するための表示装置に出力する情報処理装置であって、現実空間上の現実物体の位置を特定する現実物体位置特定手段と、
【００１０】
前記現実物体位置特定手段で特定された現実物体の位置の情報に基づいて、前記現実物体が移動しているか判定する移動判定手段と、前記移動判定手段で前記現実物体が移動していると判定された場合に、現実物体の存否を認識可能にするように前記現実画像と前記仮想オブジェクト画像が合成された合成画像を前記表示装置に表示させるべく出力する出力手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、現実空間における物体の移動に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態における、情報処理システムの構成、及び現実物体の移動に応じた複合現実画像の出力処理の様子の一例を示す図である。
【図２】実施形態における情報処理装置とＨＭＤのハードウェア構成の一例を示す図である。
【図３】実施形態における、各種装置の機能構成の一例を示す図である。
【図４】第１の実施形態における、現実物体の移動に応じた複合現実画像の出力処理の流れを示すフローチャートである。
【図５】第２の実施形態における、現実物体の移動に応じた複合現実画像の出力処理の流れを示すフローチャートである。
【図６】第３の実施形態における、現実物体の移動に応じた複合現実画像の出力処理の流れを示すフローチャートである。
【図７】実施形態における、現実物体の移動に応じた複合現実画像の出力処理の様子の一例を示す図である。
【図８】第４の実施形態における、現実物体の移動に応じた複合現実画像の出力処理の流れを示すフローチャートである。
【図９】第４の実施形態における、現実物体の移動に応じた複合現実画像の出力処理の様子の一例を示す図である。
【図１０】第５の実施形態における、現実物体の移動に応じた複合現実画像の出力処理の流れを示すフローチャートである。
【図１１】第５の実施形態における、現実物体の移動に応じた複合現実画像の出力処理の様子の一例を示す図である。
【図１２】第６の実施形態における、現実物体の移動に応じた複合現実画像の出力処理の流れを示すフローチャートである。
【図１３】実施形態における各テーブルの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、添付図面に従って本発明に係る実施の形態を詳細に説明する。
［第１の実施形態］
図１は実施の形態における情報処理システムの構成とその利用の様子を示している。
【００１４】
本情報処理システムはＰＣ１００（情報処理装置１００）とヘッドマウントディスプレイ（以下、ＨＭＤ／表示装置）１０１で構成される。図示ではＨＭＤ１０１と情報処理装置とはケーブル１０２で接続されているものとしているが、情報処理装置１００とＨＭＤ１０１とが互いに通信が行えれば良いので、有線、無線は問わない。
【００１５】
図示の環境では、ＨＭＤ１０１を装着したユーザが室内にいる状態を示している。また、室内には複数の仮想オブジェクトが配置されているものとする。仮想オブジェクトとは、仮想空間上に配置された３次元モデル（３次元ＣＡＤデータ／描画データ）のことである。尚、３次元モデルのデータは情報処理装置１００の外部メモリ上に、当該３次元モデルを仮想空間上のいずれの位置にどのような姿勢で配置するかを示す位置姿勢の情報と対応付けられて記憶されている（例えば、図１３−Ｂ）。
【００１６】
また、この室内には複数のマーカ１５０が貼り付けられているものとする。マーカの形状は問わないが、実施形態では正方形であり、全て同じサイズであるものとする。各マーカにはユニークなマーカ番号が埋め込まれているものとする。そして、ＨＭＤ１０１に設けられたカメラで撮像した際に、個々のマーカが識別でき、デコードした際に、そのマーカ番号が得られるものとする。マーカの種類（マーカが果たす役割の種類）は、ＨＭＤ１０１の位置姿勢を決定するための位置検出用マーカ（位置検出マーカ）、並びに、そのマーカで規定される箇所に仮想オブジェクトを描画するものとして利用される仮想オブジェクト配置用マーカ（仮想オブジェクト化マーカ）の２種類がある。そして、位置検出用マーカについては、ＨＭＤ１０１の位置姿勢がどのような状態であっても、内蔵するカメラの視野内に最低でも３つが含まれるように、予め既知の位置に貼り付けられているものとする。
【００１７】
上記の構成におけるＨＭＤ１０１の位置姿勢を検出する原理は、撮像した画像中の３つの位置検出用マーカ（その位置は既知）それぞれのサイズから、ＨＭＤ１０１からそれぞれまでの位置検出用マーカまでの距離を求める。そして、逆に、３つの位置検出用マーカから求めた３つの距離が重なる位置を、ＨＭＤ１０１の位置として決定する。また、ＨＭＤ１０１の姿勢は、撮像した画像中の３つの位置検出用マーカの配置から求めればよい。
【００１８】
図２は実施形態における情報処理装置１００とＨＭＤ１０１のハードウェアのブロック構成図を示している。尚、図２の情報処理装置１００とＨＭＤ１０１のハードウェアの構成は一例であり、用途や目的に応じて様々な構成例が考えられる。図示はあくまでその一例であると認識されたい。
【００１９】
まず、情報処理装置１００は、例えば、パーソナルコンピュータである。そして、内部には、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、システムバス２０４、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、通信Ｉ／Ｆコントローラ２０８、入力デバイス２０９、ディスプレイ２１０、外部メモリ２１１等を備える。
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２０】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムや、各種装置の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ（入力Ｃ）２０５は、キーボードやマウス２５０等のポインティングデバイスからの入力を制御する。
ビデオコントローラ（ＶＣ）２０６は、ディスプレイ２１０等の表示器への表示を制御する。表示器は液晶ディスプレイでもＣＲＴでも構わない。
【００２１】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２２】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。通信Ｉ／Ｆコントローラ２０８は、トランスミッター２７０から磁場を受信したレシーバ２７１との通信と、赤外線カメラ１０４との通信も制御する。
【００２３】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２４】
本実施形態の情報処理装置１００が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本実施形態に係わるプログラムが用いる定義ファイルや各種情報テーブル（後述の図３のテーブルを含む）は外部メモリ２１１に格納されている。
【００２５】
一方、ＨＭＤ１０１は、右目ビデオカメラ２２１、左目ビデオカメラ２２２、右目ディスプレイ２２３、左目ディスプレイ２２４、コントローラ２２５等を備える。
【００２６】
右目ビデオカメラ２２１と、左目ビデオカメラ２２２は、現実世界を撮影するビデオカメラである。右目ビデオカメラ２２１は、右目ディスプレイ２２３に表示するための画像を撮影し、左目ビデオカメラ５２２は、左目ディスプレイ２２４に表示するための画像を撮影する。撮影された画像（現実空間画像）は、コントローラ２２５が情報処理装置１００の通信Ｉ／Ｆコントローラ２０８に向けて送信する。
【００２７】
情報処理装置１００から通信Ｉ／Ｆコントローラ２０８を通じて複合現実画像データが送信されると、コントローラ２２５が受信し、受信した複合現実画像を右目ディスプレイ２２３と左目ディスプレイ２２４に表示させる。この時、右目ビデオカメラ２２１で撮影された現実空間画像に基づいて生成された複合現実画像は、右目ディスプレイ２２３に表示し、左目ビデオカメラ２２２で撮影された現実空間画像に基づいて生成された複合現実画像は、左目ディスプレイ２２４に表示する。
【００２８】
以上実施形態におけるシステムの構成を説明した。次に、実施形態における各種テーブルを説明する。以下に説明する各テーブルは、外部メモリ２１１に格納されているものである。
【００２９】
図１３（ａ）はマーカテーブルを示している。マーカテーブルは、マーカ番号（マーカＮｏ）、マーカの種別（マーカの種類）、座標（位置及び向き＝位置姿勢）、オブジェクトＩＤのフィールドで構成されている。マーカ番号は、マーカを一意に特定するためのものである。マーカの種別には、位置検出用マーカと、仮想オブジェクト配置用マーカがある。なお、マーカに埋め込めるビット数にもよるが、位置検出用マーカと仮想オブジェクト配置用マーカを兼ねるマーカを定義しても構わない。
【００３０】
仮想オブジェクト配置用マーカとは、仮想オブジェクトを表示する位置を特定するために用いられるマーカである。情報処理装置１００のＣＰＵ２０１は、当該仮想オブジェクト配置用マーカが検出された際、当該仮想オブジェクト配置用マーカが存在する位置（正確には後述するように当該仮想オブジェクト配置用マーカの重心位置からオフセットを持つ位置）に仮想オブジェクトを表示するための処理を行う。例えば、３次元モデルを当該オフセットの示す仮想空間上の位置に配置する処理を行う。本実施形態では、現実物体１２０にこの仮想オブジェクト配置用マーカが貼り付けられているものとしている。
【００３１】
座標（位置・向き）、オブジェクトＩＤのフィールドには、マーカが位置検出用マーカであれば、３次元空間（仮想空間）における当該位置検出用マーカの座標（位置・向き＝位置姿勢）が格納され、オブジェクトＩＤの項目にはｎｕｌｌ（データなし）の値が格納される。
【００３２】
マーカが仮想オブジェクト配置用マーカであれば、仮想空間における当該仮想オブジェクト配置用マーカの座標と、当該仮想オブジェクト配置用マーカに対応する仮想オブジェクトの描画データを特定するオブジェクトＩＤが格納される。
【００３３】
なお、マーカの法線方向に視点があるとき、そのマーカ画像が正方形に見えることになる。そして、視点が法線方向からずれると、そのずれの度合いに応じて正方形が歪んで見える。つまり、この歪みから、視点の軸に対するマーカで規定される平面の向きが判明し、マーカのサイズから視点とマーカ間の距離を検出でき、マーカが貼り付けられた平面が規定できる。また、実施形態では、マーカには、互いに識別できる２つの印が設けられ、マーカの中心位置を原点とし、マーカで規定される上記の平面上の、原点からその印に向かう２つのベクトルを２軸、マーカの中心位置から法線方向の１軸で、局所的（ローカル）な３次元座標を規定する３軸を規定しているものとする。
【００３４】
図１３（ｂ）は仮想オブジェクト描画データのテーブルを示している。このテーブルは、オブジェクトＩＤ、仮想オブジェクトの描画データ、位置、向きのフィールドを有する。オブジェクトＩＤは、図３（ａ）の「オブジェクトＩＤ」フィールドに格納されたＩＤを格納する。描画データは、３次元ＣＡＤデータ等の（仮想オブジェクトの形状を形作る）３次元モデルのデータである。位置は、仮想オブジェクト配置用マーカで規定される局所的な３次元座標において、仮想オブジェクトを描画する位置を格納する。「向き」は、「位置」に仮想オブジェクトを仮想空間上に配置して画像として描画する際に、その仮想オブジェクトの向きを規定するための情報である。
【００３５】
つまり、仮想オブジェクトは、仮想オブジェクトマーカの重心位置を局所的な座標原点としたとき、その座標原点から「位置」「向き」で規定される位置と向きに、描画データに基づく形状を描画することで得られる。換言すれば、仮想オブジェクトは、位置検出用マーカで規定される座標空間における仮想オブジェクト配置用マーカの重心位置から、「位置」で規定されるオフセットだけずれた位置に、「向き」で示される向きに表示されることを意味する。
【００３６】
図１３（ａ）によると、マーカ番号「５０」は仮想オブジェクト配置用マーカであり、そのオブジェクトＩＤは“２０１”である。このオブジェクトＩＤ“２０１”を用いて、図１３（ｂ）のテーブルから、描画データを読み出し、仮想オブジェクト配置用マーカの重心位置を原点とした局所的な３次元座標上の「位置」と「向き」に合わせて、仮想空間上に配置された仮想オブジェクトの画像を描画することになる。
【００３７】
実施形態では説明を簡単にするため、仮想オブジェクト配置用マーカの重心位置が仮想オブジェクトの重心位置と一致している、つまり、「位置」の３成分（Ｘ，Ｙ，Ｚ座標）がゼロであるものとする。繰り返すが、仮想オブジェクトの位置は、厳密には、仮想オブジェクト配置用マーカに図１３（ｂ）で示した「位置」（オフセット）を加味したものとなる点に注意されたい。
【００３８】
図１３（ｃ）はユーザが体感するＭＲ空間（図１の部屋）内に存在する現実物体のデータを管理する現実物体テーブルである。現実物体も、管理する上で現実物体の番号が割り当てられ、かつ、その現実物体の仮想空間上の位置、向き、形状の情報（いわゆるＣＡＤデータ／ＣＡＤデータと仮想空間上の位置姿勢の情報を対応付けたデータ）を格納する。詳細は後述するが、ＭＲ空間における、仮想物体と現実物体との距離を求める際の、現実物体の位置座標もこの情報を参照することになる。
【００３９】
以上実施形態におけるテーブルを説明した。次に、実施形態における特徴となる処理を説明する。
【００４０】
ＨＭＤ１０１のコントローラ２２５の処理は単純である。すなわち、左右のビデオカメラ２２１，２２２で撮像した２つの画像を情報処理装置１００に送信する処理と、情報処理装置１００から受信した２つの画像（ＭＲ空間画像）を左右のディスプレイ２２３，２２４に表示する処理とを、例えば１秒当たり３０回程度の速度で繰り返し行うだけである。
従って、以下では情報処理装置１００（のＣＰＵ２０１）の処理概要を説明する。
【００４１】
まず、理解を容易にするため、図１に示すような環境において、ＨＭＤ１０１を装着したユーザが複合現実空間内を移動する例を説明する。
【００４２】
情報処理装置１００は、ＨＭＤ１０１からの受信した画像を解析することで、マーカを識別（デコード）し、図１３（ａ）のマーカテーブルを参照して、当該画像に含まれるマーカが位置検出用マーカか、仮想オブジェクト配置用マーカかを判定する。位置検出用マーカはＨＭＤ１０１の位置姿勢の算出に用いられる。ここでは、更に、撮像した画像内に仮想オブジェクト配置用マーカが存在した場合について説明する。
【００４３】
仮想オブジェクト配置用マーカを検出すると、当該仮想オブジェクト配置用マーカに対応するオブジェクトＩＤから、図１３（ｂ）の仮想オブジェクト描画データを取得し、ＨＭＤ１０１の位置姿勢と、仮想オブジェクト配置用マーカの存在する仮想空間上の位置、図１３（ｂ）の位置姿勢の情報（ここでは図１３（ｂ）の位置姿勢の情報＝０，０，０であるものとする）に基づき、３次元モデルを仮想空間内の仮想オブジェクト配置用マーカの位置に配置し、仮想空間内の仮想オブジェクト配置用マーカの存在する位置に左右のカメラから見たと仮定した場合の仮想オブジェクトを描画する。そして、その描画した画像と、現実に撮像された左右の目用の画像とを合成し、ＭＲ画像（合成画像／複合現実画像）を生成し、ＨＭＤ１０１に送信し、表示させる。
【００４４】
例えば、ここでは、現実物体１２０Ａに貼り付けられたマーカが仮想オブジェクト配置用マーカであって、仮想オブジェクト配置用マーカ（仮想オブジェクト配置用マーカの貼付された現実物体１２０Ａ）を覆う「仮想オブジェクトＡ」を描画する仮想オブジェクト描画データのオブジェクトＩＤを有しているものとする。この場合、ＨＭＤ１０１を装着したユーザには、現実物体１２０Ａに代わって「仮想オブジェクトＡ」の画像がその位置に存在するものとして知覚させることができる。
【００４５】
室内には、図１に示すように現実物体１２０（１２０Ａ及び１２０Ｂ）を覆う仮想オブジェクトと、現実物体を覆っていない仮想オブジェクトが配置されているものとする。結果、ＨＭＤ１０１のディスプレイには、図１でいうと仮想オブジェクトが４つ表示されることになり、ユーザにとってはどれも同じ仮想オブジェクト（実体を伴わないＣＧ）として認識されることになる。
【００４６】
この場合、仮想オブジェクトによっては、仮想オブジェクト内を素通りすることができるが、例えば仮想オブジェクトＡ又は仮想オブジェクトＢの場合は現実物体と重なっているため、素通りしようとすると現実物体１２０Ａ、１２０Ｂと衝突してしまうことになり、ユーザの混乱を招く可能性が高い。
【００４７】
そこで、第１の実施形態では、図１に示すように、現実物体（ＨＭＤ１０１）が移動している場合に、仮想オブジェクトを表す画像の一部（又は全部でも良い）の透明度を大きくする（以下、透過処理という）。つまり、仮想オブジェクトの表示形態（表示状態）を変更する。その後、ＭＲ画像を生成してＨＭＤ１０１に出力し、表示させることで、複合現実空間上の現実物体の存否を積極的にユーザに知らしめる。
【００４８】
現実物体１２０の位置と形状、大きさに係るデータは図１３（ｃ）に示すように外部メモリ２１１に現実物体テーブルとして記憶されている。
【００４９】
次に図３を参照して、本発明の実施形態における各種装置の機能構成の一例について説明する。
【００５０】
マーカ情報記憶部３０１は、各マーカの情報を記憶する記憶部である（図１３）。撮像画像受信部３０２は、ＨＭＤ１０１の撮像処理部３１１で撮像され、撮像画像送信部３１２で送信された撮像画像（現実画像）を受信する。
【００５１】
位置情報特定部３０３は、現実画像中のマーカの情報からＨＭＤ１０１の位置及び仮想オブジェクトの位置を特定する。オブジェクト記憶部３０４は、仮想オブジェクト、現実物体の形状、位置姿勢等を記憶する記憶部である。
【００５２】
現実物体移動判定部３０５は、複合現実空間において現実物体が移動しているか判定する。オブジェクト透過処理部３０６は、当該現実物体の移動に応じて、複合現実空間に配置された仮想オブジェクトを透過する。
【００５３】
重畳画像生成部３０７は、当該透過した仮想オブジェクトを現実画像に重畳した重畳画像（ＭＲ画像）を生成し、重畳画像送信部３０８が、当該ＭＲ画像をＨＭＤ１０１に送信する。重畳画像受信部３１３はＭＲ画像を受信して、当該重畳画像表示部３１４が当該受信したＭＲ画像を表示する。以上が図３の説明である。
【００５４】
以下、図４を参照して、本発明の第１の実施形態における、現実物体の移動に応じた複合現実画像の出力処理の流れを示すフローチャートである。
【００５５】
まず、情報処理装置１００のＣＰＵ２０１は、ＨＭＤ１０１が撮像した２枚の画像データを入力し、その画像中のマーカ画像を識別する。入力した画像中に存在する位置検出用マーカであると判定されたマーカ画像から、ＨＭＤ１０１の位置姿勢を検出（算出）する（ステップＳ４０１／現実物体位置特定手段）。入力した画像中に仮想オブジェクト配置用マーカが存在しないと判定した場合には、合成すべき仮想オブジェクトを描画する必要はないので、入力した画像をそのまま左目、右目用の画像としてＨＭＤ１０１に送信する。
【００５６】
一方、入力した画像中に仮想オブジェクト配置用マーカが存在すると判定した場合（ユーザの視野内に現実物体１２０が存在する場合である）、情報処理装置１００のＣＰＵ２０１は、その仮想オブジェクト配置用マーカに該当するオブジェクトＩＤで特定される描画データを読み出し、現在のＨＭＤ１０１の位置姿勢、並びに、仮想オブジェクト配置用マーカの位置に従い、仮想オブジェクトの仮想空間上の位置・姿勢を決定する（ステップＳ４０２）。
【００５７】
情報処理装置１００のＣＰＵ２０１は、ステップＳ４０４でＨＭＤ１０１が移動しているか判定する（ステップＳ４０４）。実施形態では、３０フレーム／秒で処理することを想定しているので、１／３０秒前のＨＭＤ１０１の位置と、現在の位置とを取得して（ステップＳ４０３）当該位置の差が所定閾値以上あるか否かで判断するものとする。１／３０秒前に、なお、この閾値は、ＨＭＤ１０１の位置姿勢の検出精度に依存して決めればよい。
【００５８】
ステップＳＳ４０４の判定結果が移動中ではない、すなわち、停止状態を示す場合、処理はステップＳ４０６に進み、通常の仮想オブジェクト（透過率（透過度）＝０％の仮想オブジェクト）の描画処理を行う。つまり、透過率０％のＭＲ画像を生成する（ステップＳ４０６）。
【００５９】
また、ステップＳ４０４の判定結果が、ＨＭＤ１０１が移動中であることを示している場合、情報処理装置１００のＣＰＵ２０１は処理をステップ４０５に進める。そして、仮想オブジェクトに現実物体が隠れているか否かをユーザに認識させるべく、入力された画像に含まれる仮想オブジェクト配置用マーカによって配置される仮想オブジェクトの透過率を所定の透過率（例えば５０％）に変更し、当該透過率が変更された（透過された）仮想オブジェクトを現実画像に重畳したＭＲ画像を生成する（ステップＳ４０５／表示形態変更手段に該当）。例えば、図１の１７０に示すように仮想オブジェクトを半透明にするものである。
【００６０】
情報処理装置１００のＣＰＵ２０１はＭＲ画像をＨＭＤ１０１に送信し（ステップＳ４０７）、ＨＭＤ１０１が当該ＭＲ画像を受信して（ステップＳ４０８）表示画面に表示する（ステップＳ４０９）。
【００６１】
以上本発明の第１の実施形態について説明した。
【００６２】
以上説明したように、本発明によれば、現実空間における物体の移動に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することができる。
【００６３】
［第２の実施形態］
【００６４】
上記第１の実施形態では、ＨＭＤ１０１が移動している場合に、ＭＲ空間上の仮想オブジェクトを特に区別なく透過するようにした。つまり、現実物体を覆っていない（現実物体と重なっていない）仮想オブジェクトまで透過させてしまう。
【００６５】
第２の実施形態では、現実物体が移動した場合に表示状態（表示形態）を変更すべき仮想オブジェクトを示す識別情報に従って、現実空間における物体の移動に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することを目的とする。
【００６６】
以下、図５を参照して、第２の実施形態における、現実物体の移動に応じた複合現実画像の出力処理について説明する。ステップＳ４０１〜Ｓ４０４、ステップＳ４０６〜Ｓ４０９の処理は図４に説明したとおりであるため、ここでは説明を割愛する。
【００６７】
第２の実施形態においては、図１３（ｂ）の仮想オブジェクト描画データに、更に、ＨＭＤ１０１（現実物体）が移動した場合にいずれの仮想オブジェクトを識別表示（透過）すべきかを示す不図示の透過フラグが、オブジェクト識別Ｎｏごとに対応付けて記憶されているものとする。
【００６８】
透過フラグ＝１の仮想オブジェクトは、ＨＭＤ１０１（現実物体）が移動している場合に透過させる仮想オブジェクトである。透過フラグ＝０の仮想オブジェクトは、ＨＭＤ１０１（現実物体）が移動していたとしても透過させない仮想オブジェクトであるものとする（フラグ記憶手段に該当）。
【００６９】
情報処理装置１００のＣＰＵ２０１は、ステップＳ４０４でＨＭＤ１０１が移動中であると判定された場合に、図１３（ｂ）を参照して、透過フラグ＝１の仮想オブジェクトを特定する（ステップＳ５０１）。そして、当該透過フラグ＝１の仮想オブジェクトを透過すべく、当該仮想オブジェクトの透過率を所定の透過率（例えば５０％）に変更し（ステップＳ５０２）、ＨＭＤ１０１から入力された画像中に含まれる仮想オブジェクト配置用マーカによって位置姿勢が決定された仮想オブジェクト（透過した仮想オブジェクト及び透過していない仮想オブジェクト）を現実画像に合成してＭＲ画像を生成する（ステップＳ５０３／表示形態変更手段に該当）。そして、当該ＭＲ画像をＨＭＤ１０１に表示させるべく送信する。
【００７０】
以上本発明の第２の実施形態について説明した。
【００７１】
以上説明したように、本発明の第２の実施形態によれば、現実物体が移動した場合に表示状態を変更すべき仮想オブジェクトを示す識別情報に従って、現実空間における物体の移動に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することができる。
【００７２】
［第３の実施形態］
【００７３】
上記第１の実施形態では、ＨＭＤ１０１が移動している場合に、ＭＲ空間上の仮想オブジェクトを特に区別なく透過するようにした。つまり、現実物体を覆っていない（現実物体と重なっていない）仮想オブジェクトまで透過させてしまう。
【００７４】
第３の実施形態では、現実空間における物体の移動に応じて、現実物体と重なっている仮想オブジェクトについて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することを目的とする。
【００７５】
以下、図６を参照して、第３の実施形態における、現実物体の移動に応じた複合現実画像の出力処理について説明する。ステップＳ４０１〜Ｓ４０４、ステップＳ４０６〜Ｓ４０９の処理は図４に説明したとおりであるため、ここでは説明を割愛する。
【００７６】
情報処理装置１００のＣＰＵ２０１は、ステップＳ４０４でＨＭＤ１０１が移動中であると判定された場合に、図１３（ｂ）及び図１３（ｃ）のテーブルを参照し、仮想オブジェクトの形状（仮想オブジェクトを形作る描画データの形状）及び位置姿勢、現実物体の形状及び位置姿勢の情報を取得し、複合現実空間上に置いて、現実物体と全部または一部が重なっている仮想オブジェクトを特定する（ステップＳ６０１）。
【００７７】
そして、当該現実物体と重なっている仮想オブジェクトを透過すべく、当該仮想オブジェクトの透過率を所定の透過率（例えば５０％）に変更し（ステップＳ６０２）、ＨＭＤ１０１から入力された画像中に含まれる仮想オブジェクト配置用マーカによって位置姿勢が決定された仮想オブジェクト（透過した仮想オブジェクト及び透過していない仮想オブジェクト）を現実画像に合成してＭＲ画像を生成する（ステップＳ６０３／表示形態変更手段に該当）。そして、当該ＭＲ画像をＨＭＤ１０１に表示させるべく送信する。
【００７８】
以上本発明の第３の実施形態について説明した。
【００７９】
以上説明したように、本発明の第３の実施形態によれば、現実空間における物体の移動に応じて、現実物体と重なっている仮想オブジェクトについて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することができる。
【００８０】
例えば図７に示すように、ＨＭＤ１０１（現実物体）が移動している場合に、現実物体を覆う仮想オブジェクトのみを識別表示することができる。
【００８１】
［第４の実施形態］
【００８２】
上記第１の実施形態では、ＨＭＤ１０１が移動している場合に、ＭＲ空間上の仮想オブジェクトを特に区別なく透過するようにした。つまり、衝突の危性が低い、移動中の現実物体（例えばＨＭＤ１０１）から離れている仮想オブジェクトまで透過させてしまう。
【００８３】
第４の実施形態では、現実空間における物体の移動、及び移動した現実物体からの距離に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することを目的とする。
【００８４】
以下、図８を参照して、第４の実施形態における、現実物体の移動に応じた複合現実画像の出力処理について説明する。ステップＳ４０１〜Ｓ４０４、ステップＳ４０６〜Ｓ４０９の処理は図４に説明したとおりであるため、ここでは説明を割愛する。
【００８５】
情報処理装置１００のＣＰＵ２０１は、ステップＳ４０４でＨＭＤ１０１が移動中であると判定された場合に、仮想空間上に配置された（位置姿勢が決定された）仮想オブジェクトを１つ特定し（ステップＳ８０１）、当該仮想オブジェクトと移動中の現実物体（ＨＭＤ１０１）との距離が所定距離以内か判定する（ステップＳ８０２／距離判定手段に該当）。当該所定距離の値は予めサーバ２００の外部メモリに記憶されているものとする。
【００８６】
ここで判定する「距離」は、ＨＭＤ１０１と、現実物体１２０に貼り付けられた仮想オブジェクト配置用マーカの中心位置に最も近い座標を検索することで判定するものとする。
【００８７】
仮想オブジェクト配置用マーカの中心位置の座標を｛Ｘv，Ｙv，Ｚv｝とし、図１３（ｃ）のＨＭＤ１０１の座標を｛Ｘi,Ｙi,Ｚi｝(ここで、i=0,1,2,…)と定義したとき、距離Ｌは次式で得られる。
Ｌ＝｛（Ｘv−Ｘi）2＋（Ｙv−Ｙi）2＋（Ｚv−Ｚi）2｝1/2
【００８８】
ここで、iを変化させた際の最小の距離Ｌを、仮想オブジェクト配置用マーカと仮想オブジェクトとの距離とした。なお、上記では距離を計算する際に、最終的に平方根を求めたが、大小の判定で良いのであれば、平行根を求める必要な無く、座標の差分の二乗和を算出しても構わない。
【００８９】
なお、上記式では、仮想オブジェクト配置用マーカの中心位置＝仮想オブジェクトの中心位置とした場合である。先に説明したように、仮想オブジェクトの配置される位置（図１３（ｂ）の「位置」の示す位置）は、仮想オブジェクト配置用マーカの中心位置に対し、「位置」で示されるオフセットが与えられる。
【００９０】
情報処理装置１００のＣＰＵ２０１は、仮想オブジェクトと移動中の現実物体（ＨＭＤ１０１）との距離が所定距離以内であると判定された場合（ステップＳ８０２でＹＥＳ）、当該移動中のＨＭＤ１０１と所定距離以内にある仮想オブジェクトを透過する（透過率を所定の透過率（例：５０％）に変更する／ステップＳ８０３）。仮想オブジェクトと移動中の現実物体（ＨＭＤ１０１）との距離が所定距離外であると判定された場合、当該仮想オブジェクトは透過しない（透過率＝０％とする）。
【００９１】
そして、仮想空間に配置されている全ての仮想オブジェクトに対してＳ８０１〜Ｓ８０３の処理を適用した後、ＨＭＤ１０１から入力された画像中に含まれる仮想オブジェクト配置用マーカによって位置姿勢が決定された各仮想オブジェクト（透過した仮想オブジェクト及び透過していない仮想オブジェクト）を現実画像に合成してＭＲ画像を生成し（ステップＳ８０４／表示形態変更手段に該当）、ＨＭＤ１０１に表示させるべく送信する。
【００９２】
以上本発明の第４の実施形態について説明した。
【００９３】
以上説明したように、本発明の第４の実施形態によれば、現実空間における物体の移動、及び移動した現実物体からの距離に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することができる。
【００９４】
例えば図９に示すように、移動中のＨＭＤ１０１から所定距離内の仮想オブジェクトを識別表示（透過）することができる。
【００９５】
［第５の実施形態］
【００９６】
第５の実施形態では、マスクオブジェクトを用いて、現実空間における物体の移動、及び移動した現実物体からの距離に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することを目的とする。
【００９７】
マスクオブジェクトとは、仮想オブジェクトと同じように描画データによって形作られる仮想の物体である。仮想空間上に配置されたマスクオブジェクトの位置には（配置されたマスクオブジェクトの形状が占める空間には）、仮想オブジェクトを描画しない（例えば、図１１）。
【００９８】
以下、図１０を参照して、第５の実施形態における、現実物体の移動に応じた複合現実画像の出力処理について説明する。ステップＳ４０１〜Ｓ４０４、ステップＳ４０６〜Ｓ４０９の処理は図４に説明したとおりであるため、ここでは説明を割愛する。
【００９９】
情報処理装置１００のＣＰＵ２０１は、ステップＳ４０４でＨＭＤ１０１が移動中であると判定された場合に、ＨＭＤ１０１の位置に、所定の形状のマスクオブジェクトを配置する処理を行う（ステップＳ１００１）。当該マスクオブジェクトの形状のデータは、情報処理装置１００の外部メモリに予め記憶されているものとする。
【０１００】
情報処理装置１００のＣＰＵ２０１は、当該マスクオブジェクトの占める空間（つまり、ＨＭＤ１０１から所定距離以内の空間）には仮想オブジェクトの画像を描画しないようにＭＲ画像を生成し（ステップＳ１００２／表示形態変更手段に該当）、当該ＭＲ画像をＨＭＤ１０１に表示させるべく送信する。
【０１０１】
以上本発明の第５の実施形態について説明した。
【０１０２】
以上説明したように、本発明の第５の実施形態によれば、マスクオブジェクトを用いて、現実空間における物体の移動、及び移動した現実物体からの距離に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することができる。
【０１０３】
例えば図１１に示すように、ＨＭＤ１０１（現実物体）が移動している場合に、ＨＭＤ１０１から所定距離内の仮想オブジェクトを透過することができる。
【０１０４】
［第６の実施形態］
【０１０５】
上記実施形態では、ＨＭＤ１０１（現実物体）が移動している場合に、ＭＲ空間上の仮想オブジェクトを特に区別なく透過するようにした。つまり、ユーザが他の物体と書写しないようにゆっくりと移動していたとしても仮想オブジェクトが透過されてしまう。
【０１０６】
第６の実施形態では、現実空間における物体の移動、及び移動速度に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することを目的とする。
【０１０７】
以下、図１２を参照して、第６の実施形態における、現実物体の移動に応じた複合現実画像の出力処理について説明する。ステップＳ４０１〜Ｓ４０４、ステップＳ４０６〜Ｓ４０９の処理は図４に説明したとおりであるため、ここでは説明を割愛する。
【０１０８】
情報処理装置１００のＣＰＵ２０１は、ステップＳ４０４でＨＭＤ１０１が移動中であると判定された場合に、当該ＨＭＤ１０１の移動速度が所定の速度以上か判定する（ステップＳ１２０１）。当該所定の速度の値（閾値）は、情報処理装置１００の外部メモリに予め記憶されているものとする。
【０１０９】
本実施形態においては３０フレーム／秒で処理することを想定しているので、１／３０秒前のＨＭＤ１０１の位置と、現在の位置とを取得して、当該２つの位置の距離と１／３０秒という当該距離を移動した時間とからＨＭＤ１０１の移動速度を算出するものとする。
【０１１０】
情報処理装置１００のＣＰＵ２０１は、当該ＨＭＤ１０１の移動速度が所定の速度以上でないと判定された場合には（ステップＳ１２０１でＮＯ）処理をステップＳ４０６に移行し、当該ＨＭＤ１０１の移動速度が所定の速度以上であると判定された場合には（ステップＳ１２０１でＹＥＳ）処理をステップＳ４０５に移行して仮想オブジェクトを透過したＭＲ画像を生成する。
【０１１１】
以上本発明の第６の実施形態について説明した。
【０１１２】
以上説明したように、本発明の第６の実施形態によれば、現実空間における物体の移動、及び移動速度に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することができる。
【０１１３】
上述した各実施形態によれば、現実空間における物体の移動に応じて、現実物体の存否を認識可能にするように現実画像と仮想オブジェクト画像が合成された合成画像を出力することができる。
【０１１４】
なお、上述した実施形態によれば、移動している現実物体＝ＨＭＤ１０１としたが、例えば、情報処理装置１００のＣＰＵ２０１が、仮想オブジェクト配置用マーカ（仮想オブジェクト配置用マーカの貼付されている現実物体）の移動を各実施形態におけるステップＳ４０４で実行して、仮想オブジェクト配置用マーカ（仮想オブジェクト配置用マーカの貼付されている現実物体）が移動している場合に処理をステップＳ４０５、Ｓ５０１、Ｓ６０１、Ｓ８０１、Ｓ１００１、Ｓ１２０１に移行し、仮想オブジェクト配置用マーカ（仮想オブジェクト配置用マーカの貼付されている現実物体）が移動していない場合に処理をステップＳ４０６に移行するようにしてもよい。
【０１１５】
なお、上記実施形態における透過処理では、管理者が透明率を設定できるようにしても良い。例えば、透明率を１００より小さくすると、ＨＭＤ１０１を装着したユーザには、透過処理を経た仮想オブジェクトの輪郭が維持されて見え、仮想オブジェクトの原形を把握したまま操作できるようになる。
【０１１６】
また、透明度を、移動中の現実物体と他の物体（例：仮想オブジェクト）との距離に応じて変化するようにしてもよい。たとえば、距離の閾値Ｔｈ、算出した距離Ｌ、透明度αと定義したとき、
Ｌ＞Ｔｈのときα＝０（すなわち、非透明）
Ｌ≦Ｔｈのとき、α＝（Ｔｈ−Ｌ）／Ｔｈ
【０１１７】
としても良い。この場合、現実物体が移動中で、仮想オブジェクトとの距離がＴｈ以下の部分については仮想オブジェクトに近い位置ほど透明度が高くすることができる。
【０１１８】
以上、本発明に係る各実施形態を説明したが、上記実施形態は、本発明に係る例であると認識されたい。たとえば、ＨＭＤ１０１の位置姿勢を検出するため、上記実施形態では位置検出用マーカが撮像した視野内に３つは存在するものとして、位置検出用マーカを部屋中に多数張り付けるものとしたが、これによって本発明が限定されるものではない。位置検出用マーカには向きを規定する印があり、位置検出用マーカの座標だけでなく、形状や寸法も既知であれば、撮像した画像の位置検出の歪み、サイズ、印の位置から、１つの位置検出用マーカからだけでもＨＭＤ１０１の位置姿勢を特定できる。また、位置検出用マーカを用いるのではなく、ＨＭＤそのものの位置姿勢を、光学式センサ、磁気センサ、超音波センサなどを利用して検出する公知技術を利用しても構わない。つまり、ＨＭＤの位置姿勢検出に係る手段は問わない。
【０１１９】
尚、当該透過の処理は、実物体の存否を認識可能にするための手段の１つである。
【０１２０】
例えば、仮想オブジェクトを透過する代わりに、又は透過処理とあわせて、仮想オブジェクトに重なっている現実物体と同じ形状の仮想オブジェクトを生成して（新規オブジェクト生成手段に該当）、現実物体と同じ位置に配置して強調表示する（現実物体の形状をした新規オブジェクトを最前面に表示する／点線で輪郭を表示する等）することで、仮想オブジェクトと重なっている現実物体の存在をユーザに通知し、視認（確認）させるようにしてもよい。
【０１２１】
また、前述した透過処理の代わりに、又は透過処理とあわせて、透過対象の仮想オブジェクトの全部又は一部の色を変更する処理を行ってもよい。
【０１２２】
また、所定時間以上、当該所定距離以内にあるオブジェクトと現実物体、又は他の仮想オブジェクトが停止した状態にある場合、透過処理、強調表示、色の変更処理を停止し、元の透過率（例：０％）、元の色彩に仮想オブジェクトの状態を戻して描画するようにしてもよい。
【０１２３】
また、仮想オブジェクトから所定距離離れた位置（予め決められた座標）に、当該仮想オブジェクトに現実物体が重なっている旨を示す、不図示の吹き出しアイコン（２次元画像／新規オブジェクト）を生成して（新規オブジェクト生成手段に該当）配置・表示して当該通知を行うようにしてもよい。
【０１２４】
透過処理、現実物体のオブジェクト描画、アイコン表示はそれぞれ個別に行ってもよいし、同時に行うようにしてもよい。
【０１２５】
尚、上述した各実施形態の処理は、同時並行的に実行可能であり、自由に組み合わせ可能であるものである。例えば、ＨＭＤ１０１が移動中であって、当該移動の速度が所定の速度以上である場合に、ＨＭＤ１０１から所定距離内にある、透過フラグ＝１の、現実物体と重なっている仮想オブジェクトを透過（識別表示）するようにしてもよい。
【０１２６】
また、ＨＭＤ１０１は、シースルー型の端末であってもよいし、携帯端末等、ユーザが手に保持して複合現実空間を覗くような端末・利用形態でもよい。ＨＭＤ１０１は、複合現実空間における位置情報が特定可能であり、ＭＲ画像を表示できる端末であればよい。
【０１２７】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１２８】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１２９】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１３０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１３１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１３２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１３３】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１３４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１３５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１３６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１３７】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１３８】
１００…情報処理装置、１０１…ＨＭＤ１０１、１０２…ケーブル、２０１…ＣＰＵ、２０２…ＲＯＭ、２０３…ＲＡＭ、２０４…システムバス、２０５…入力コントローラ、２０６…ビデオコントローラ、２０７…メモリコントローラ、２０８…通信Ｉ／Ｆコントローラ、２０９…入力デバイス、２１０…ディスプレイ、２１１…外部メモリ、２２１…右目ビデオカメラ、２２２…左目ビデオカメラ、２２３…右目ディスプレイ、２２４…左目ディスプレイ、２２５…コントローラ
【図１】
2016122392.tif 000003
【図２】
2016122392.tif 000004
【図３】
2016122392.tif 000005
【図４】
2016122392.tif 000006
【図５】
2016122392.tif 000007
【図６】
2016122392.tif 000008
【図７】
2016122392.tif 000009
【図８】
2016122392.tif 000010
【図９】
2016122392.tif 000011
【図１０】
2016122392.tif 000012
【図１１】
2016122392.tif 000013
【図１２】
2016122392.tif 000014
【図１３】
2016122392.tif 000015