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