(57)【要約】【課題】  ユーザ同士の距離に応じて、ユーザの視点位置の移動先を容易に決定可能とする仕組みを提供すること【解決手段】  複数の装着型の表示装置のユーザの視点を示す仮想空間の視点位置と姿勢を記憶し、仮想オブジェクト及び前記仮想オブジェクトの仮想空間における位置姿勢を記憶し、表示装置の位置姿勢と仮想オブジェクトの位置姿勢に基づいて表示装置の視点から見た場合の仮想オブジェクトの画像を生成する情報処理装置であって、現実空間において、第１の表示装置と所定距離内に位置する第２の表示装置を特定し、第２の表示装置の視点が位置する仮想空間上の位置を特定し、第１の表示装置の仮想空間上の視点の移動先の位置を、第２の表示装置の仮想空間上の位置に基づいて決定する【選択図】  図１８
2018142230.tif 000002
【特許請求の範囲】
【請求項１】
複数の装着型の表示装置のユーザの視点を示す仮想空間の視点位置と姿勢を記憶する位置姿勢記憶手段と、仮想オブジェクト及び前記仮想オブジェクトの仮想空間における位置姿勢を記憶する仮想オブジェクト記憶手段と、前記表示装置の位置姿勢と前記仮想オブジェクトの位置姿勢に基づいて前記表示装置の視点から見た場合の前記仮想オブジェクトの画像を生成する生成手段と、を備える情報処理装置であって、
現実空間において、第１の表示装置と所定距離内に位置する第２の表示装置を特定する特定手段と、
前記特定手段により特定された前記第２の表示装置の視点が位置する仮想空間上の位置を特定する位置特定手段と、
前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定手段により特定された位置に基づいて決定する決定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記特定手段により、前記第１の表示装置と所定距離内に位置する第２の表示装置が特定された場合に、前記第１の表示装置の仮想空間上の視点の位置を前記位置特定手段により特定された位置に基づいて移動するための操作画面を、前記第１の表示装置の画面に表示すべく制御する操作画面表示制御手段
を備え、
前記決定手段は、前記操作画面において前記第１の表示装置の仮想空間上の視点の移動先の位置を前記位置特定手段により特定された位置に基づいて決定する操作を受け付けた場合に、前記第１の表示装置の仮想空間上の視点の移動先の位置を前記位置特定手段により特定された位置に基づいて決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記第２の表示装置が前記第１の表示装置の視野に入っている場合に、前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定手段により特定された位置に基づいて決定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記決定手段は、前記第１の表示装置の視点が位置する仮想空間と前記第２の表示装置の視点が位置する仮想空間とが異なる場合に、前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定手段により特定された位置に基づいて決定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定手段は、前記第１の表示装置の視点が位置する仮想空間上の位置と前記第２の表示装置の視点が位置する仮想空間上の位置とが所定距離より離れている場合に、前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定手段により特定された位置に基づいて決定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
複数の装着型の表示装置のユーザの視点を示す仮想空間の視点位置と姿勢を記憶する位置姿勢記憶手段と、仮想オブジェクト及び前記仮想オブジェクトの仮想空間における位置姿勢を記憶する仮想オブジェクト記憶手段と、前記表示装置の位置姿勢と前記仮想オブジェクトの位置姿勢に基づいて前記表示装置の視点から見た場合の前記仮想オブジェクトの画像を生成する生成手段と、を備える情報処理装置の制御方法であって、
現実空間において、第１の表示装置と所定距離内に位置する第２の表示装置を特定する特定工程と、
前記特定工程により特定された前記第２の表示装置の視点が位置する仮想空間上の位置を特定する位置特定工程と、
前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定工程により特定された位置に基づいて決定する決定工程と、
を含むことを特徴とする制御方法。
【請求項７】
複数の装着型の表示装置のユーザの視点を示す仮想空間の視点位置と姿勢を記憶する位置姿勢記憶手段と、仮想オブジェクト及び前記仮想オブジェクトの仮想空間における位置姿勢を記憶する仮想オブジェクト記憶手段と、前記表示装置の位置姿勢と前記仮想オブジェクトの位置姿勢に基づいて前記表示装置の視点から見た場合の前記仮想オブジェクトの画像を生成する生成手段と、を備える情報処理装置を制御するプログラムであって、
前記情報処理装置を、
現実空間において、第１の表示装置と所定距離内に位置する第２の表示装置を特定する特定手段と、
前記特定手段により特定された前記第２の表示装置の視点が位置する仮想空間上の位置を特定する位置特定手段と、
前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定手段により特定された位置に基づいて決定する決定手段として機能させるためのプログラム。
【請求項８】
装着型の表示装置と、前記表示装置のユーザの視点を示す仮想空間の視点位置と姿勢を記憶する位置姿勢記憶手段と、仮想オブジェクト及び前記仮想オブジェクトの仮想空間における位置姿勢を記憶する仮想オブジェクト記憶手段と、前記表示装置の位置姿勢と前記仮想オブジェクトの位置姿勢に基づいて前記表示装置の視点から見た場合の前記仮想オブジェクトの画像を生成する生成手段と、を備える情報処理装置と、を含む情報処理システムであって、
現実空間において、第１の表示装置と所定距離内に位置する第２の表示装置を特定する特定手段と、
前記特定手段により特定された前記第２の表示装置の視点が位置する仮想空間上の位置を特定する位置特定手段と、
前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定手段により特定された位置に基づいて決定する決定手段と、
を備えることを特徴とする情報処理システム。
【請求項９】
装着型の表示装置と、前記表示装置のユーザの視点を示す仮想空間の視点位置と姿勢を記憶する位置姿勢記憶手段と、仮想オブジェクト及び前記仮想オブジェクトの仮想空間における位置姿勢を記憶する仮想オブジェクト記憶手段と、前記表示装置の位置姿勢と前記仮想オブジェクトの位置姿勢に基づいて前記表示装置の視点から見た場合の前記仮想オブジェクトの画像を生成する生成手段と、を備える情報処理装置と、を含む情報処理システムにおける情報処理方法であって、
現実空間において、第１の表示装置と所定距離内に位置する第２の表示装置を特定する特定工程と、
前記特定工程により特定された前記第２の表示装置の視点が位置する仮想空間上の位置を特定する位置特定工程と、
前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定工程により特定された位置に基づいて決定する決定工程と、
を含むことを特徴とする制御方法。
【請求項１０】
装着型の表示装置と、前記表示装置のユーザの視点を示す仮想空間の視点位置と姿勢を記憶する位置姿勢記憶手段と、仮想オブジェクト及び前記仮想オブジェクトの仮想空間における位置姿勢を記憶する仮想オブジェクト記憶手段と、前記表示装置の位置姿勢と前記仮想オブジェクトの位置姿勢に基づいて前記表示装置の視点から見た場合の前記仮想オブジェクトの画像を生成する生成手段と、を備える情報処理装置と、を含む情報処理システムを、
現実空間において、第１の表示装置と所定距離内に位置する第２の表示装置を特定する特定手段と、
前記特定手段により特定された前記第２の表示装置の視点が位置する仮想空間上の位置を特定する位置特定手段と、
前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定手段により特定された位置に基づいて決定する決定手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複合現実（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ／以下、ＭＲと記載）の技術が普及している。複合現実の技術を用いて、ヘッドマウントディスプレイ（ＨＭＤ）を装着したユーザに対し、現実画像にＣＧモデルを配置した複合現実画像を提供し、現実と仮想を複合した複合現実の世界を体験させることができる。複合現実画像を生成するにあたり、ＨＭＤの位置とＣＧモデルの位置とを、センサや二次元マーカを用いて特定する手法が取られている。
【０００３】
特許文献１には、ＨＭＤで撮影された画像の中に写る二次元マーカを用いてＨＭＤの位置姿勢を特定し、複合現実画像を提供する技術が記載されている。また、特許文献２には、磁気センサを用いてＨＭＤの位置姿勢を特定し、複合現実画像を提供する技術が記載されている。
【０００４】
また、特許文献３には、撮影した複合現実画像と、その時点での時刻とＨＭＤの位置姿勢を対応付けて記憶することが記載されている。特許文献４には、画像の撮影地点にサムネイル画像を配置した仮想空間画像を提供する技術が記載されている。特許文献５には、視線によるユーザの選択操作に基づいてユーザの視点位置を変更することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３０８５１４号公報
【特許文献２】特開２００３−２４０５３２号公報
【特許文献３】特開２００５−２６０７２４号公報
【特許文献４】特開２０１０−９３７１３号公報
【特許文献５】特開２００８−２９３３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数人でＭＲを体験する場合、他者が見ていた場所や物を見たい場面が想定される。例えば、記録された複合現実画像に対応する位置を指定することで、当該指定された仮想空間上の位置に自身の視点位置を移動させ、他者が撮影時点で見ていたＣＧモデルを、他者が見ていた場所から確認できる。
【０００７】
また、複数人が同時にＭＲを体験する場合に、他者がリアルタイムで見ている画像を、当該他者と近い視点で見たいことがある。また、自分自身がリアルタイムで見ている画像を、他者に見てもらいたいことがある。例えば、自分自身が作業している場所や物、もしくは現在着目している場所や物を他者に伝えたい場面が想定される。
【０００８】
特に、当該他者と自分自身が同じ現実空間にいながら異なる仮想空間の画像を見ている場合、当該他者の視点と同じ視点で当該他者が見ている画像を見るためには、当該他者のいる仮想空間に自分自身の視点を移動させなければならない。他者のいる仮想空間へ仮想空間上の視点位置を移動させるために、移動先として選択可能な仮想空間の一覧を表示してユーザに移動先を選択させることが考えられる。
【０００９】
ユーザに移動先を選択させる場合、ユーザはジェスチャや音声、コントローラなどの外部機器の操作によって移動先の仮想空間の一覧を表示させ、表示内容から所望の他者のいる仮想空間を探し出し、移動先として選択して、視点を移動させる操作をする必要があり、多くの操作手順を踏まなければならず手間である。
【００１０】
また、選択肢の一覧を表示するということは、ＭＲの体験者であるユーザの視界を一覧で塞いでしまうこととなる。選択肢となるデータが一覧上に増えるほど、視界が塞がれる範囲が広くなれば、ＭＲの快適な体験を妨げてしまうこととなる。
【００１１】
本発明は、ユーザ同士の距離に応じて、ユーザの視点位置の移動先を容易に決定可能とする仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、複数の装着型の表示装置のユーザの視点を示す仮想空間の視点位置と姿勢を記憶する位置姿勢記憶手段と、仮想オブジェクト及び前記仮想オブジェクトの仮想空間における位置姿勢を記憶する仮想オブジェクト記憶手段と、前記表示装置の位置姿勢と前記仮想オブジェクトの位置姿勢に基づいて前記表示装置の視点から見た場合の前記仮想オブジェクトの画像を生成する生成手段と、を備える情報処理装置であって、現実空間において、第１の表示装置と所定距離内に位置する第２の表示装置を特定する特定手段と、前記特定手段により特定された前記第２の表示装置の視点が位置する仮想空間上の位置を特定する位置特定手段と、前記第１の表示装置の仮想空間上の視点の移動先の位置を、前記位置特定手段により特定された位置に基づいて決定する決定手段と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ユーザ同士の距離に応じて、ユーザの視点位置の移動先を容易に決定可能とする仕組みを提供することが可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態における、情報処理システム構成図の一例を示す図である。
【図２】本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【図４】本発明の実施形態における、各種装置のモジュール構成の一例を示す処理図である。
【図５】本発明の実施形態における、複合現実画像の生成及び表示処理の一例を示す処理図である。
【図６】本発明の実施形態における、各種データ構成の一例を示す図である。
【図７】本発明の実施形態における、現実空間及び仮想空間におけるカメラの様子と、ＭＲ画像の一例を示す図である。
【図８】本発明の実施形態における、ＨＭＤの方向、角度の例を示す図である。
【図９】本発明の実施形態における、撮影画像の記録処理の流れを示すフローチャートである。
【図１０】本発明の実施形態における、処理の概要を示すフローチャートである。
【図１１】本発明の実施形態における、共有画像の表示処理の詳細を示すフローチャートである。
【図１２】本発明の実施形態における、視点位置の移動処理の詳細を示すフローチャートである。
【図１３】本発明の実施形態における、各種データ構成の一例を示す図である。
【図１４】本発明の実施形態における、視点移動の様子とＭＲ画像の一例を示す図である。
【図１５】本発明の実施形態における、共有画像の表示の一例を示す図である。
【図１６】本発明の実施形態における、共有画像の表示の一例を示す図である。
【図１７】本発明の実施形態における、他のＨＭＤに送信中の画像を共有画像として表示することを決定する決定処理の詳細を示すフローチャートである。
【図１８】本発明の実施形態における、視点位置の移動先の決定処理の詳細を示すフローチャートである。
【図１９】本発明の実施形態における、他者のＨＭＤに送信中の画像及び操作画面の表示の一例を示す図である。
【図２０】本発明の実施形態における、視野の移動に応じた表示の様子を示す図である。
【図２１】本発明の実施形態における、ＨＭＤに対応する共有画像の表示の様子を示す図である。
【発明を実施するための形態】
【００１５】
図１を参照して、本発明の実施形態における情報処理システムの構成の一例について説明する。
【００１６】
図１に示すように、本発明における情報処理システムの各種装置はネットワーク１５０を介して通信可能に接続されている。例えばＰＣ１００は、ＨＭＤ１０１（ＨＭＤ１０１Ａ〜ＨＭＤ１０１Ｃの総称）と通信可能に接続されている。ＨＭＤ１０１は、頭部装着型の表示装置（ヘッドマウントディスプレイ）である。
【００１７】
ＰＣ１００には、ＨＭＤ１０１により撮影される現実画像に重畳する３次元モデル（ＣＧモデル／仮想オブジェクト／仮想物体）が記憶されている。
【００１８】
また、ＰＣ１００は、自機の管理するＨＭＤ１０１（図１におけるＨＭＤ１０１Ａ〜１０１Ｃ）より現実画像を取得して、記憶部に記憶する。また、ＰＣ１００はＨＭＤ１０１の位置姿勢を特定し、記憶する。ＨＭＤ１０１の位置姿勢の特定方法は、特許文献１に記載されている、ＨＭＤ１０１の撮影した現実画像中の二次元マーカを用いて特定可能である。また、特許文献２に記載されている、センサ（図１における光学センサ１０４）がＨＭＤ１０１に設置された光学式マーカの位置姿勢をＨＭＤ１０１の位置姿勢として検出し、それをＰＣ１００が当該センサで検出された位置姿勢の値を取得することで特定可能である。本実施形態においては、特許文献２に記載の方法用いてＨＭＤ１０１の位置姿勢を特定するものとする。
【００１９】
ＰＣ１００では、ＨＭＤ１０１の位置姿勢と、記憶部に記憶されている３次元モデル及び３次元モデルの位置姿勢の情報を用いて、現実画像に３次元モデルを重畳した複合現実画像（ＭＲ画像）を生成する。そして、当該複合現実画像をＨＭＤ１０１のディスプレイに表示させるべく、ＨＭＤ１０１に送信する。ＨＭＤ１０１は受信した複合現実画像をディスプレイに表示する。
【００２０】
また、ＰＣ１００は、自機と通信可能に接続され管理されている各ＨＭＤ１０１の視野角（視界の広さ）を示す値を記憶している。本実施形態においては、各ＨＭＤ１０１の視野角は一律であり、ＨＭＤ１０１の正面方向を基準に、水平方向６０度・垂直方向４０度の視野角であるものとする。以上が図１の説明である。
【００２１】
次に図２を参照して、本発明の実施形態における、各種装置のハードウェア構成の一例について説明する。
【００２２】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２３】
また、ＲＯＭ２０２には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステム（ＯＳ）、その他各種装置の実行する機能を実現するために必要な各種プログラムが記憶されている。
【００２４】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２５】
本発明のＰＣ１００が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００２６】
入力コントローラ（入力Ｃ）２０５は、キーボードやマウス等のポインティングデバイス（入力デバイス２０９）からの入力を制御する。
【００２７】
また、入力デバイス２０９がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下（指等でタッチ）することにより、各種の指示を行うことができることとする。なお、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよいこととする。
【００２８】
ビデオコントローラ（ＶＣ）２０６は、ＨＭＤ１０１が備える右目・左目ディスプレイ２２２等の表示器への表示を制御する。右目・左目ディスプレイ２２２に対しては、例えば外部出力端子（例えば、Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）を用いて出力される。また、右目・左目ディスプレイ２２２は、右目用のディスプレイと左目用のディスプレイとから構成されている。また、入力コントローラ（入力Ｃ）２０５は、ＰＣ１００の備えるディスプレイ２１０（ＣＲＴディスプレイ等）の表示器への表示を制御する。なお、図２では、表示器はＣＲＴディスプレイだけでなく、液晶ディスプレイ等の他の表示器であってもよい。
【００２９】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３０】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。また、通信Ｉ／Ｆコントローラ２０８は、ギガビットイーサネット（登録商標）等を通じて光学センサ１０４との通信も制御する。
【００３１】
汎用バス２１２は、ＨＭＤ１０１の右目・左目ビデオカメラ２２１からの映像を取り込むために使用される。右目・左目ビデオカメラ２２１からは、外部入力端子（例えば、ＩＥＥＥ１３９４端子）を用いて入力される。右目・左目ビデオカメラ２２１は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。
【００３２】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が図２の説明である。
【００３３】
次に図３を参照して、本発明の実施形態における各種装置の機能構成の一例について説明する。
【００３４】
撮影画像送信部３０１は、カメラで撮影した撮影画像（現実画像）をＰＣ１００に送信する。
【００３５】
撮影画像受信部３１１は、撮影画像を受信して随時ＲＡＭ上に記憶する。位置姿勢記憶部３１２は、光学センサにより取得したＨＭＤ１０１の位置姿勢を記憶する。
【００３６】
ＭＲ画像生成部３１３は、現実に仮想物体の画像を重畳した重畳画像であるＭＲ画像を生成する。ＭＲ画像送信部３１４は、生成したＭＲ画像をＨＭＤ１０１において表示させるべく出力する。
【００３７】
共有画像記憶部３１５は、ＨＭＤ１０１に設置されている不図示のレリーズボタンの押下を受け付けることにより、ＨＭＤ１０１で表示中のＭＲ画像を、レリーズボタン押下時のＨＭＤ１０１の位置姿勢と対応付けて、共有画像として外部メモリに記憶する。レリーズボタンの押下＝表示中のＭＲ画像の撮影及び保存指示である。
【００３８】
また、ＨＭＤ１０１の視野内に（視野角の中に）他のＨＭＤ１０１が位置し、当該他のＨＭＤ１０１の仮想空間上の視点位置が現実空間のＨＭＤ１０１の位置と同じ仮想空間上の位置にない場合、つまり、視点位置を仮想空間上で移動している場合、当該視点位置を移動中のＨＭＤ１０１にＰＣ１００が送信している複合現実画像（動画）を、現在の当該他のＨＭＤ１０１の位置姿勢と対応付けて共有画像として外部メモリに記憶する。
【００３９】
現実空間位置判定部３１６は、あるＨＭＤ１０１と他のＨＭＤ１０１の現実空間上の位置が所定距離以内か判定する。つまり、当該判定により、あるＨＭＤ１０１から現実空間内において所定距離内に位置する他のＨＭＤ１０１を特定する処理部である。
【００４０】
仮想空間位置判定部３１７は、あるＨＭＤ１０１と他のＨＭＤ１０１の仮想空間上の視点位置が所定距離以内か判定する。つまり、当該判定により、あるＨＭＤ１０１から仮想空間内において所定距離内に位置する他のＨＭＤ１０１を特定する処理部である。また、あるＨＭＤ１０１と他のＨＭＤ１０１の視点位置が異なる仮想空間に位置するか判定する機能を備える。つまり当該判定機能により、視点位置が、あるＨＭＤ１０１と異なる仮想空間に位置する他のＨＭＤ１０１を特定することが可能である。
【００４１】
決定部３１８は、現実空間位置判定部３１６の判定結果に応じて、ＨＭＤ１０１の視点位置を移動することを決定する。また、移動先の仮想空間上の位置を決定する。例えば、現実空間位置判定部３１６において、現実空間上でＨＭＤ１０１Ａと所定距離内にある他のＨＭＤ１０１Ｂが特定された場合に、当該他のＨＭＤ１０１Ｂの仮想空間上の視点位置に、ＨＭＤ１０１Ａの視点位置を移動（変更）することを決定する。
【００４２】
ＭＲ画像生成部は、移動後の視点位置から見た仮想空間上のＣＧ画像と、ＨＭＤ１０１のカメラで撮像された現実画像とを合成してＭＲ画像を生成する。ＭＲ画像送信部３１４は、視点位置移動後のＭＲ画像をＨＭＤ１０１に送信する。
【００４３】
ＭＲ画像受信部３０３は、当該ＭＲ画像を受信し、表示部３０４は当該ＭＲ画像を表示する。
【００４４】
なお、本実施形態においては、３１１〜３１８の各機能部の備える機能をＰＣ１００が備えているが、例えばこれらの構成をＨＭＤ１０１が備えるよう構成してもよいものとする。以上が図３の説明である。
【００４５】
次に図４を参照して、本発明の実施形態における、各種装置のモジュール構成の一例について説明する。
【００４６】
ＰＣ１００は、オペレーティングシステム４０１（ＯＳ）、グラフィックエンジン４０２、複合現実感プラットフォーム４０３（ＭＲプラットフォームともいう）、複合現実感アプリケーション４０４（ＭＲアプリケーションやビューアアプリケーションともいう）で構成され、ＣＰＵ２０１により制御されている。
【００４７】
オペレーティングシステム４０１は、ＨＭＤ１０１の入出力を制御しカメラ２２１から入力インターフェースを介して得られた現実画像を複合現実感プラットフォーム４０３へ受け渡す。またグラフィックエンジン４０２で描画された複合現実画像を、出力インターフェースを介して、ディスプレイ２２２へ出力する。
【００４８】
グラフィックエンジン４０２は、外部メモリ２１１に記憶されている３次元モデルから描画する画像を生成し、現実画像に重畳し、合成する。描画に利用するエンジンは、例えば、ＯｐｅｎＧＬやＤｉｒｅｃｔＸなどの広く利用されているグラフィックエンジンでも、独自に開発したグラフィックエンジンでもよい。なお、本実施形態ではグラフィックライブラリとしてＯｐｅｎＧＬを利用するものとする。
【００４９】
複合現実感プラットフォーム４０３は、光学センサ１０４からＨＭＤに付与された複数の光マーカの位置姿勢を受信することでＨＭＤ１０１の位置姿勢を特定し、現実空間と仮想空間の位置合わせを行う。
【００５０】
なお、位置姿勢や位置合わせの技術は、既知の技術として開示されている、特開２００２−３２７８４、特開２００６−０７２９０３、特開２００７−１６６４２７等を用いて実現することが可能である。
【００５１】
なお、二次元マーカを使用せずに、ＨＭＤ１０１に位置センサを備え、この位置センサを用いて三角測量により計測された位置をもとに、ＨＭＤ１０１の位置や姿勢を特定して実現することも可能である。
【００５２】
複合現実感アプリケーション４０４は、複合現実感プラットフォーム４０３からＨＭＤ１０１の位置姿勢、３次元モデルの形状の情報、位置姿勢の情報を受け付け、グラフィックエンジン４０２に対して、３次元モデルの描画命令を発行する。この時、ＯｐｅｎＧＬのＡＰＩを用いて、描画する３次元モデルの識別情報、位置姿勢の情報を設定した命令を発行する。以上が図４の説明である。
【００５３】
次に図５を参照して、本発明の実施形態における複合現実画像の生成及び表示処理について説明する。
【００５４】
ＰＣ１００のＣＰＵ２０１は、ユーザ操作に応じて複合現実アプリケーション起動し、ＨＭＤ１０１に指示を出してＨＭＤ１０１を起動する（ステップＳ５０１）。ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１のカメラ２２１の機能を用いて現実画像の撮影を開始する（ステップＳ５０２）。ＨＭＤ１０１は、撮影処理によって取得した現実画像をＰＣ１００に送信する（ステップＳ５０３）。
【００５５】
当該複合現実アプリケーションの起動及び撮影開始は、ＨＭＤ１０１の起動操作（例えばＨＭＤ１０１に設置された不図示の起動ボタンの押下受付）を検知したことに応じて実行・開始することも可能である。
【００５６】
ＰＣ１００のＣＰＵ２０１はＨＭＤ１０１より現実画像を受信し（ステップＳ５０４）、受信した現実画像を外部メモリ２１１に記憶する（ステップＳ５０５）。例えば、図６の現実画像テーブル６３０に示すように、現実画像の送信元のＨＭＤ１０１の識別情報であるＨＭＤ  ＩＤ６３１と、現実画像６３２とを対応付けて記憶する。
【００５７】
ＰＣ１００のＣＰＵ２０１は、光学センサ１０４からＨＭＤ１０１の位置姿勢を取得して（ステップＳ５０６）、外部メモリ２１１に記憶する（ステップＳ５０７）。例えば、図６のＨＭＤ情報６１０に示すように、ＨＭＤ１０１の識別情報であるＨＭＤ  ＩＤ６１１と、当該ＨＭＤの位置６１２（Ｘ，Ｙ，Ｚ座標）、姿勢（方向６１３及び角度６１４）を記憶する。
【００５８】
方向６１３及び角度６１４の例を図８に示す。方向６１３は、ＨＭＤ１０１の視線方向である。方向６１３は、図８の８００に示すように、３次元空間のＸＹＺ方向の軸に基づく球８０１上の、視線方向と交差する点のＸＹＺ座標によって示される。
【００５９】
角度６１４は、図８の８１０に示すような、ＨＭＤ１０１の左右の傾きの角度である。ＨＭＤ１０１が床面と平行な状態を角度６１４＝０度とする。ＨＭＤ１０１を装着した状態で頭部を左に傾けると＋ｎ度となり、ＨＭＤ１０１を装着した状態で頭部を右に傾けると−ｎ度となる。
【００６０】
また、ステップＳ５０７において、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１の属する（位置する）フロア（階）とルーム（部屋）の識別情報（ＩＤ）を特定して、フロア６１５、ルーム６１６にそれぞれ記憶する。フロア６１５、ルーム６１６はＨＭＤ１０１を装着したユーザの体験状況の属性情報である。
【００６１】
なお、フロア及びルーム自体の位置の情報は、例えば図６の６６０に示す形式でＰＣ１００の外部メモリ２１１に予め記憶されている。フロア６６１はフロアのＩＤである。ルーム６６２はフロア６６１に属する（位置する）部屋のＩＤである。
【００６２】
位置６６３は、ルーム６６２の示すルームの頂点位置を複数記憶している。当該頂点を、当該頂点が記憶されている順につなぐことでルームの形状（外枠）が特定可能である。つまり、位置６６３は、ルームの位置及び形状の情報である。当該形状（外枠）によって特定される、当該ルーム形状の内側の位置＝ルームの中である。
【００６３】
ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１の位置（Ｘ，Ｙ，Ｚ座標）とルームの位置（Ｘ，Ｙ，Ｚ座標）を用いて、ＨＭＤ１０１が現在どのルームの中にあるかを特定し、特定されたＨＭＤ１０１が位置するルーム及びそのルームのフロアのＩＤをフロア６１５、ルーム６１６にそれぞれ記憶するものである。
【００６４】
ＰＣ１００のＣＰＵ２０１は、外部メモリ２１１から仮想物体（ここでは３Ｄモデル）の情報を取得し、ＨＭＤ１０１から受信した現実画像に重畳して複合現実画像を生成して（ステップＳ５０８）、ＨＭＤ１０１に送信する（ステップＳ５０９）。
【００６５】
３Ｄモデルの情報は、例えば図６のモデル情報６２０に示す情報である（仮想オブジェクト記憶手段に該当）。モデル情報６２０は、予めＰＣ１００の外部メモリ２１１に記憶されている情報である。モデルＩＤ６２１は３Ｄモデルの識別情報である。
【００６６】
モデル名６２２は、３Ｄモデルのファイル名である。ファイルパス６２３は、ファイルが記憶されている場所を示す。位置６２４、姿勢（方向６２５、角度６２６）は、３Ｄモデルの仮想空間上の位置姿勢を示す。
【００６７】
ＰＣ１００のＣＰＵ２０１は、ＨＭＤの現在の位置姿勢から、ＨＭＤ１０１と同じ画角（視野角）を持つカメラが、モデル情報６２０の位置姿勢の３Ｄモデルを撮影した場合の、当該３Ｄモデルの画像を描画データ６４０として生成する。一例として、レンダリング済みのモデル画像とする。
【００６８】
そして、当該描画データを現実画像と合成することで、図６のＭＲ画像テーブル６５０に示すＭＲ画像（複合現実画像）を生成する。ＭＲ画像は、現実に仮想物体の画像を重畳した重畳画像である。
【００６９】
図７に現実空間及び仮想空間におけるカメラの様子と、ＭＲ画像の一例を示す。図７において、７００は現実空間、７１０は仮想空間、７２０は現実空間と仮想空間を複合した複合現実空間（ＭＲ空間）である。
【００７０】
現実空間７００と仮想空間７１０は、例えば同じ形状・同じ大きさの空間であり、７０３を原点として位置合わせがされているものとする。つまり、現実空間における位置（ＸＹＺ座標）及び姿勢と、仮想空間における位置姿勢は同じである。
【００７１】
現実空間７００においてＨＭＤ１０１の位置姿勢が光学センサ１０４によって特定される。７０２は現実物体であり、７００においてはＨＭＤ１０１のカメラ装置によって現実物体７０２の一部が撮影されている。撮影された現実画像（図６の６３２）の一例を７０１に示す。
【００７２】
仮想空間７１０において、仮想カメラ７１３は、ＨＭＤ１０１の現実空間上の位置姿勢と同じ仮想空間上の位置姿勢で、仮想空間上に仮想的に配置される。仮想カメラはＨＭＤ１０１ごとに対応づけられて存在する。
【００７３】
ＨＭＤ１０１のカメラ装置と仮想カメラ７１３の画角は同じである。ＰＣ１００のＣＰＵ２０１は、仮想カメラ７１３の位置姿勢を、ＨＭＤ１０１の現実空間上の位置姿勢に連動させて変更する。
【００７４】
仮想カメラ７１３は、仮想空間７１０の画像（動画）を撮影している。例えば仮想空間７１０には仮想物体７１２が配置されており、ＨＭＤ１０１と同じ位置姿勢の仮想カメラ７１３は、仮想物体７１２を撮影している。７１１は仮想カメラ７１３が仮想空間７１０を撮影した仮想画像であり、７１１における７１２は、描画データ６４０の一例である。
【００７５】
ＰＣ１００のＣＰＵ２０１は、現実画像７０１と仮想画像７１１（仮想画像７１１の中の描画データ）を重畳して、ＭＲ画像７２１（複合現実画像６５２）を生成して記憶する。
【００７６】
また、ＭＲ画像テーブル６５０の、ＭＲ画像を生成するために用いた現実画像の送信元のＨＭＤ（ＨＭＤ  ＩＤ６５１）と対応付けて記憶する。その後、ＨＭＤ  ＩＤ６５１の示すＨＭＤ１０１に、複合現実画像６５２を送信する（ステップＳ５０９）。
【００７７】
ＨＭＤ１０１は、ＰＣ１００から複合現実画像を受信し（ステップＳ５１０）、表示画面に表示する（ステップＳ５１１）。ＨＭＤ１０１及びＰＣ１００は、複合現実アプリケーションの終了指示を受け付けるまで、ステップＳ５０２〜Ｓ５１１の処理を繰り返し実行する。
【００７８】
つまり、ＨＭＤ情報６１０におけるＨＭＤ１０１の位置姿勢の情報及び描画データ６４０は光学センサ１０４から位置姿勢が取得される都度更新される。また、現実画像６３２、複合現実画像６５２は、ＨＭＤ１０１から新たな現実画像（動画の１フレーム）が受信される都度更新される。以上が図５の説明である。
【００７９】
次に図９を参照して、本発明の実施形態における、撮影画像の記録処理の流れについて説明する。ここでいう撮影画像の記録処理とは、撮影指示を受け付けた時点のＨＭＤ１０１の位置姿勢と撮影画像を記憶する処理である。
【００８０】
ステップＳ９０１では、ＰＣ１００のＣＰＵ２０１は指示を受け付け、受け付けた指示がＨＭＤ１０１に表示中のＭＲ画像の撮影・保存指示か判定する。
【００８１】
例えば、ＨＭＤ１０１に設置された不図示のレリーズボタンの押下を受け付けた旨の情報をＨＭＤ１０１から受け付け、ＰＣ１００が当該レリーズボタンの押下を検知した場合に、ＨＭＤ１０１に表示中の画像の保存指示を受け付けたと判定する。ここでいう表示中の画像とはサーバ２００によって生成されたＭＲ画像である。
【００８２】
ここでは、画像の保存の操作（レリーズボタンの押下）を受け付けたのはＨＭＤ１０１Ｃであるものとする。
【００８３】
画像の保存指示を受け付けた場合、ＰＣ１００のＣＰＵ２０１は、ステップＳ９０２で保存指示がされた時点でＨＭＤ１０１に表示していた画像を、保存指示がされた時点のＨＭＤ１０１の位置姿勢と対応付けて記憶する。
【００８４】
保存指示された画像は、共有画像情報１３００に記憶されることで他のＨＭＤ１０１からも参照可能となる。つまり、複数のＨＭＤ１０１によって共有される共有画像として記憶される（撮影画像記憶手段に該当）。
【００８５】
例えば、図１３の共有画像情報１３００に撮影した画像の情報を記憶する。画像ＩＤ１３０１には、ステップＳ９０２で画像の保存指示がされた時点でＨＭＤ１０１に表示していたＭＲ画像を記憶する。撮影者１３０２には、画像の保存指示がされた、画像ＩＤ１３０１の画像を表示していたＨＭＤのＩＤを記憶する。また、画像の撮影日時を、撮影日時１３０６に記憶する。
【００８６】
ステップＳ９０３で、ＰＣ１００のＣＰＵ２０１は、当該画像と対応付けて、ＨＭＤ１０１の画像撮影当初の位置姿勢を、共有画像情報１３００の１３０３〜１３０５に記憶する。
【００８７】
位置１３０３には、画像の保存指示がされた時点の、撮影者１３０２の示すＨＭＤ１０１の位置を記憶する。
【００８８】
方向１３０４、角度１３０５には、画像の保存指示がされた時点の、撮影者１３０２の示すＨＭＤ１０１の向いている方向と、角度を記憶する。
【００８９】
また、ステップ９０４で、ＰＣ１００のＣＰＵ２０１は、画像の保存指示がされた時点の、ＨＭＤ１０１の位置するフロアと部屋の識別情報（ＩＤ）を、フロア１３０７、ルーム１３０８に記憶する。以上が図９の説明である。
【００９０】
以下、本発明について、まずＨＭＤ１０１Ｃが共有画像を撮像した時点の視点位置にＨＭＤ１０１Ｂの視点位置が移動され、その後、ＨＭＤ１０１ＡとＨＭＤ１０１Ｂが所定距離内に入ることでＨＭＤ１０１Ａの視点位置をＨＭＤ１０１Ｂの視点位置（ＨＭＤ１０１Ｃが共有画像を撮像した時点の視点位置）に移動するものとして説明する。
【００９１】
次に図１０を参照して、本発明の実施形態における処理の概要について説明する。
【００９２】
ステップＳ１００１で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１に共有画像を表示する表示処理を行う。当該表示処理の詳細については図１１の説明で後述する。
【００９３】
ステップＳ１００２で、ＰＣ１００のＣＰＵ２０１は、視点位置の移動先決定の処理を実行する。当該移動先決定処理の詳細については図１８の説明で後述する。
【００９４】
ステップＳ１００３で、ＰＣ１００のＣＰＵ２０１は、ステップＳ１００２で決定された位置に、ＨＭＤ１０１の仮想空間上の視点位置を移動する処理を行う。視点位置の移動処理の詳細は図１２の説明で後述する。
【００９５】
ステップＳ１００４で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１がステップＳ１００３で視点位置を移動している（視点位置が、現実空間と同じ仮想空間上の位置とは異なる、例えば他のＨＭＤ１０１の仮想空間上の視点位置に位置する）ことを、ＨＭＤ１０１のＨＭＤ  ＩＤと対応付けて記憶する。
【００９６】
例えば、外部メモリ２１１に記憶されている図１３の視点移動情報１３３０の中の対象のＨＭＤ１０１のＨＭＤＩＤ１３３１に対応する視点移動フラグ１３３２を１に変更する。
【００９７】
視点移動フラグ１３３２＝１の場合、ＨＭＤ  ＩＤ１３３１のＨＭＤ１０１は、当該ＨＭＤ１０１の現実空間上の位置と異なる仮想空間上の位置（例えば過去に共有画像が撮像された時点の他のＨＭＤ１０１の仮想空間上の視点位置）に視点位置が変更されている状態を示す。
【００９８】
視点移動フラグ１３３２＝０の場合、ＨＭＤ  ＩＤ１３３１のＨＭＤ１０１は、当該ＨＭＤ１０１の現実空間上の位置と同じ仮想空間上の位置に視点位置が位置している状態を示す。視点位置の移動が終了された場合、視点位置をＨＭＤ１０１の現実空間上の位置と同じ仮想空間上に位置に戻し、フラグを０に変更するものとする。以上が図１０の説明である。
【００９９】
次に図１１を参照して、本発明の実施形態における、共有画像の表示処理の詳細について説明する。
【０１００】
共有画像の表示処理は、外部メモリに記憶されているＨＭＤ（ＨＭＤを装着したユーザ）の過去の位置を選択及び識別可能に表示する処理である。
【０１０１】
ステップＳ１１０１で、ＰＣ１００のＣＰＵ２０１は、共有画像の表示指示を受け付ける。例えば、ＨＭＤ１０１に設置された不図示のボタンの押下を受け付け、当該ボタンが押下された旨の情報をＨＭＤ１０１がＰＣ１００に送信し、ＰＣ１００がこれを検知することで共有画像の表示指示を受け付けるものとする。
【０１０２】
ＰＣ１００のＣＰＵ２０１は、共有画像の表示指示を受け付けた場合にステップＳ１１０１の処理を行う。
【０１０３】
ステップＳ１１０１で、ＰＣ１００のＣＰＵ２０１は、現在のＨＭＤ１０１のユーザの体験状況の属性を取得する。具体的には、ボタンが押下されたＨＭＤ１０１の現在のフロア６１５、ルーム６１６を取得する。
【０１０４】
ＰＣ１００のＣＰＵ２０１は、図１３の１３００に記憶された共有画像数分、ステップＳ１１０２〜Ｓ１１０６の処理を繰り返す。つまり、全ての共有画像に対してステップＳ１１０２、Ｓ１１０３、Ｓ１１０４、Ｓ１１０５又はステップＳ１１０２、Ｓ１１０３、Ｓ１１０６の処理を適用する。
【０１０５】
ステップＳ１１０２で、ＰＣ１００のＣＰＵ２０１は、ステップＳ１１０３以下の処理を未適用の（未処理の）共有画像を１３００から１つ取得し、処理中の画像としてＲＡＭ上に記憶する。
【０１０６】
ステップＳ１１０３で、ＰＣ１００のＣＰＵ２０１は、ステップＳ１１０２で取得した画像の属性と、ステップＳ１１０１で取得したＨＭＤ１０１の体験状況の属性とが一致するか判定する。ここでは、取得した共有画像とＨＭＤが同じルームに位置しているか判定するものとする。
【０１０７】
ステップＳ１１０３で２つのデータの属性が一致している（共有画像とＨＭＤとが同じルームに位置している）と判定された場合、処理をステップＳ１１０４に移行する。ステップＳ１１０３で２つのデータの属性が一致していない（共有画像とＨＭＤとが同じルームに位置していない）と判定された場合、処理をステップＳ１１０６に移行する。
【０１０８】
ステップＳ１１０４で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１と同じルームに位置すると判定された共有画像を、ＨＭＤ１０１の位置姿勢に応じてＨＭＤ１０１に表示する共有画像として決定し、ＲＡＭ上に記憶する。
【０１０９】
ステップＳ１１０５で、ＰＣ１００のＣＰＵ２０１は、外部メモリに予め記憶されているテンプレートの仮想オブジェクト（テンプレートモデル情報１３１０に図示）を取得する。
【０１１０】
テンプレートの仮想オブジェクトの構成は、モデル情報６２０の構成と同じである。但し、まだ仮想空間に配置されていない状態のであり、モデルＩＤや位置姿勢の情報は未挿入の状態である。
【０１１１】
ステップＳ１１０５で、ＰＣ１００のＣＰＵ２０１は、追加表示モデル情報１３２０のテーブルを外部メモリに生成して、取得したテンプレートの仮想オブジェクトをコピーし、追加・記憶する。つまり、表示対象の仮想オブジェクトを生成する。
【０１１２】
追加表示モデル情報１３２０は、ＨＭＤ１０１ごと（ユーザごと）に、ＨＭＤ１０１のＩＤと対応付けて作成・記憶・管理する。追加表示モデル情報１３２０は、モデル情報６２０に加えて、当該追加表示モデル情報１３２０に対応するＨＭＤ１０１（共有画像の表示指示がされたＨＭＤ１０１）のＭＲ画像の生成に用いる仮想オブジェクトを記憶するテーブルである。他のＨＭＤ１０１のＭＲ画像の生成には用いない。
【０１１３】
なお、追加表示モデル情報１３２０におけるモデルＩＤには、追加表示モデル情報１３２０へのデータの追加時に新規の値を付与する。また、モデルの姿勢は一律同じ値を設定する。
【０１１４】
ＰＣ１００のＣＰＵ２０１は、ステップＳ１１０４でＲＡＭに記憶した共有画像の位置を取得し、追加表示モデル情報１３２０に追加した仮想オブジェクトの位置として記憶する。そして、画像１３２１に、ステップＳ１１０２で取得した共有画像を記憶する。つまり、共有画像の仮想空間上の位置を決定する。
【０１１５】
画像１３２１は、当該追加表示モデル情報１３２０に追加した仮想オブジェクトにテクスチャ画像として貼り付ける画像を記憶する記憶部である。
【０１１６】
ステップＳ１１０６で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１と同じルームに位置しないと判定された共有画像を、ＨＭＤ１０１の共有画像一覧表示部に表示する共有画像として決定し、ＲＡＭ上に記憶する。
【０１１７】
ＰＣ１００のＣＰＵ２０１は、全ての共有画像に対するＳ１１０２〜Ｓ１１０６の処理が完了した場合には処理をステップＳ１１０７に移行する。
【０１１８】
ステップＳ１１０７で、ＰＣ１００のＣＰＵ２０１は、他のＨＭＤ１０１でリアルタイムに表示されている（他のＨＭＤ１０１に送信中の）動画を共有画像として特定し、選択可能に表示することを決定する決定処理を実行する。図１８の処理については、視点位置の移動処理後に、図１７の説明として後述する。
【０１１９】
ステップＳ１１０８で、ＰＣ１００のＣＰＵ２０１は、モデル情報６２０及び追加表示モデル情報１３２０を用いて、ステップＳ１１０１で共有画像の表示指示がされたＨＭＤ１０１のＭＲ画像の生成・表示更新を行う。具体的には、図５のステップＳ５０６以降の処理を順次行い、ステップＳ５０８において、モデル情報６２０だけでなく、追加表示モデル情報１３２０の仮想オブジェクトも用いて描画データの生成及びＨＭＤ１０１の画面における表示位置（描画位置）を決定してＭＲ画像を生成し、ステップＳ５１１まで処理を実行する。
【０１２０】
また、ステップＳ１１０６で記憶された、ＨＭＤ１０１と同じルームに位置しないと判定された共有画像があるか判定し、ある場合には、当該ＨＭＤ１０１と同じルームに位置しないと判定された共有画像をＨＭＤ１０１に一覧表示する（一覧表示部に各共有画像を配置して表示する）。
【０１２１】
以降、共有画像の表示を終了する指示を受け付けるまで、共有画像の一覧、又は／及び共有画像を貼り付けた仮想オブジェクトを用いたＭＲ画像の生成・表示処理を継続する。以上が図１１の説明である。
【０１２２】
ＨＭＤ１０１と同じルームの共有画像のみ記憶されている場合の共有画像の表示（共有画像がテクスチャとして貼り付けられた仮想オブジェクトの表示）の一例を、図１５の１５００に示す。テンプレートの仮想オブジェクトは、１５０５に示す共有画像の撮像位置（具体的には撮影位置から高さ方向において床に向けて垂直に伸ばした線と床が交差する点）を示す部分と、共有画像を貼り付ける１５０１〜１５０４の部分とから成る。１５０１〜１５０４には、ＨＭＤ１０１と同じルームの共有画像が貼り付けられ、ＨＭＤ１０１で表示される。
【０１２３】
ＨＭＤ１０１と別のルームの共有画像のみ記憶されている場合の共有画像の表示の一例を、図１５の１５１０に示す。一覧表示部１５１１には、ＨＭＤ１０１と別のルームの共有画像が選択可能に一覧表示されている。
【０１２４】
ＨＭＤ１０１と同じルームの共有画像と、ＨＭＤ１０１と別のルームの共有画像の両方が記憶されている場合の共有画像の表示の一例を図１６の１６００に示す。
【０１２５】
次にＰＣ１００のＣＰＵ２０１は、図１１のステップＳ１１０２で、視点位置の移動先の決定処理を行う。
【０１２６】
ここでは、ＨＭＤ１０１Ｂのユーザによる共有画像の選択操作によって選択された共有画像を特定し、当該共有画像の撮像時点のＨＭＤの位置（例：共有画像を撮像したＨＭＤ１０１Ｃの撮像時点の仮想空間上の位置）を、ＨＭＤ１０１Ｂの視点位置の移動先として決定するものとする。例えば、後述する図１８のステップＳ１８０９で共有画像の選択操作を受け付け、ステップＳ１８１０で選択された共有画像の撮像時点のＨＭＤの位置を視点位置の移動先として決定するものである。
【０１２７】
ＨＭＤ１０１に一覧表示されている共有画像の場合、例えばＨＭＤ１０１に設置されているボタンを複数回押下することで選択中の共有画像を切り替え、ボタンの長押しを受け付けることで共有画像の選択確定をする。また、仮想空間上の当該共有画像の撮影位置に配置され、ＨＭＤ１０１の位置姿勢に応じてＨＭＤ１０１に表示されている共有画像の場合、例えばＨＭＤ１０１の視線で選択を行う。具体的には、ＨＭＤ１０１の視線方向と交差する共有画像（共有画像が貼り付けられた仮想オブジェクト）を選択し、当該交差している状態が所定時間以上（例：５秒以上）継続した場合に選択確定する。
【０１２８】
本実施形態の説明においては、共有画像の選択、選択による移動先の位置の決定は、選択された共有画像の撮影位置への視点位置の移動指示と同義であるものとする。
【０１２９】
次に図１２を参照して、本発明の実施形態における、視点位置の移動処理の詳細について説明する。
【０１３０】
視点位置を移動させるとは、現実空間におけるＨＭＤ１０１の動きと連動して移動・方向転換する仮想空間上の仮想のカメラの位置を、他の仮想空間上の位置に移動させるということである。例えば図１４に示すように、ＨＭＤ１０１に対応する仮想カメラ７１３の位置を、仮想空間において移動させる処理である。
【０１３１】
現実空間のＨＭＤ１０１の視点が移動するわけではなく、仮想空間上の仮想の視点が移動だけであるため、現実の映像に重畳する仮想物体（ＣＧ）の表示のみが移動先の位置から見た仮想物体の表示に変更されることとなる。共有画像の位置は移動先の候補の位置である。
【０１３２】
ステップＳ１２０１で、ＰＣ１００のＣＰＵ２０１は、図１０のステップＳ１００２において選択された共有画像の位置姿勢を取得する。具体的には、図１３の共有画像情報１３００から対象の共有画像の位置１３０３、方向１３０４、角度１３０５を取得する。
【０１３３】
ステップＳ１２０２で、ＰＣ１００のＣＰＵ２０１は、ステップＳ１２０１で取得した位置姿勢情報からＨＭＤ１０１の仮想空間上の位置（視点位置）の移動先の位置を決定する。例えば、当該共有画像の位置１３０３を移動先の位置として決定する。
【０１３４】
ステップＳ１２０３で、ＰＣ１００のＣＰＵ２０１は、ステップＳ１２０２で決定した移動先の位置に、ＨＭＤ１０１の仮想空間上の視点位置を変更する。つまり、ユーザの視点を指定された共有画像の位置に移動する。
【０１３５】
ステップＳ１２０４で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１のカメラが撮像している現在の現実画像と、移動先の仮想空間上の視点位置から見た仮想オブジェクトの画像を合成（重畳）して、ＭＲ画像を生成し、ステップＳ１２０５でＨＭＤ１０１に送信して表示させる。
【０１３６】
以降、視点位置の移動を解除する操作がされるまで、現在の現実画像と、移動先の仮想空間上の視点位置から見た仮想オブジェクトの画像を合成してＭＲ画像を生成し、ＨＭＤ１０１に表示するものとする。以上が図１２の説明である。
【０１３７】
視点の移動前後の位置関係及びＭＲ画像の状態を図１４に示す。１４００の１４０１は現実画像である。１４１０は仮想空間上のＨＭＤ１０１の視点位置（仮想カメラ）の移動の様子を示す。１４１１は視点位置の移動前の仮想空間の画像である。１４２０の１４２１は、視点位置移動後のＭＲ画像の一例である。
【０１３８】
次に、ＨＭＤ１０１ＡとＨＭＤ１０１Ｂの接近に応じて、ＨＭＤ１０１Ａの仮想空間上の視点位置を、ＨＭＤ１０１Ｂの視点位置（移動中の視点位置）に移動・変更する処理について説明する。
【０１３９】
ＰＣ１００のＣＰＵ２０１は、図１０において、ＨＭＤ１０１Ａから共有画像の表示指示を受け付け、ＨＭＤ１０１Ａに対して図１０の各処理を実行する。ステップＳ１００１の処理として、図１１のステップＳ１１０１〜Ｓ１１０６の処理を実行し、処理をステップＳ１１０７に移行する。ステップＳ１１０１〜Ｓ１１０６の処理の詳細は前述したためここでは説明省略する。
【０１４０】
ＰＣ１００のＣＰＵ２０１は、ステップＳ１００７で、他のＨＭＤに送信中の画像を共有画像として表示することを決定する決定処理を実行する。
【０１４１】
ここで図１７を参照して、本発明の実施形態における、他のＨＭＤに送信中の画像を共有画像として表示することを決定する決定処理の詳細について説明する。
【０１４２】
ステップＳ１７０１で、ＰＣ１００のＣＰＵ２０１は、ステップＳ１１０１で共有画像の表示指示を受け付けたＨＭＤ１０１Ａの他のＨＭＤ１０１を特定する。具体的には、ＨＭＤ情報６１０の中の、ＨＭＤ１０１Ｂ、ＨＭＤ１０１Ｃの情報を取得し、ＨＭＤ１０１のリストとしてＲＡＭ２０３に記憶する。また、ＨＭＤ１０１Ｂ、ＨＭＤ１０１Ｃの視点移動情報６６０も取得してＲＡＭ２０３に記憶する。
【０１４３】
以降、取得した全ての他のＨＭＤ１０１（ＨＭＤ１０１Ｂ、ＨＭＤ１０１Ｃ）に対してステップＳ１７０２以降の処理を実行する。
【０１４４】
ステップＳ１７０２で、ＰＣ１００のＣＰＵ２０１は、未処理のＨＭＤ  ＩＤを１つ取得する。例えばＨＭＤ１０１ＢのＩＤを取得する。
【０１４５】
ステップＳ１７０３で、ＰＣ１００のＣＰＵ２０１は、現実空間において、ＨＭＤ１０１の位置姿勢から見たＨＭＤ１０１Ａの視野の中に、ＨＭＤ１０１Ｂが存在するか判定する。視野の中に存在する場合には処理をステップＳ１７０４に移行する。視野の中に存在しない場合にはＨＭＤ１０１Ｂにかかる図１７の処理を終了し、未処理のＨＭＤ  ＩＤ（例えばＨＭＤ１０１Ｃ）をステップＳ１７０２で取得し、ステップＳ１７０３以降の処理を実行する。
【０１４６】
ステップＳ１７０４で、ＰＣ１００のＣＰＵ２０１は、視野の中に存在（位置）すると判定された他のＨＭＤ１０１（例えばＨＭＤ１０１Ｂ）の視点移動情報１３３０を参照し、視点移動フラグ１３３２が１か判定する。つまり、ＨＭＤ１０１Ｂの仮想空間における視点位置が、当該ＨＭＤ１０１Ｂの現実空間上の位置と異なる仮想空間上の位置（例えば過去に共有画像が撮像された時点の他のＨＭＤ１０１の仮想空間上の視点位置）に変更されている（移動中）か判定する。
【０１４７】
ＨＭＤ１０１Ｂの視点位置が変更中の場合、処理をステップＳ１７０５に移行する。視点位置が変更中でない場合、ＨＭＤ１０１Ｂにかかる図１７の処理を終了する。
【０１４８】
ステップＳ１７０５で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１Ｂに送信中のＭＲ画像（動画）を取得する。そして、ステップＳ１７０６で、取得した画像を共有画像として記憶する。
【０１４９】
具体的には、図６のＭＲ画像テーブル６５０におけるＨＭＤ１０１Ｂの複合現実画像６５２を、複合現実画像６５２が更新される都度取得して、ＲＡＭ２０３にコピーして記憶する。当該画像は動画の中の１フレーム（１コマ）であるため、複合現実画像６５２が更新される都度、画像を追加していく。つまり動画として記憶する。一例を図１３の１３４０の１３４２に示す。動画には一意の画像ＩＤ１３４１を付与する。
【０１５０】
そして、共有画像情報１３００に当該動画のＩＤを１３０１に追加して記憶し、動画の再生端末（ＨＭＤ１０１Ｂ）を１３０２に追加して記憶する。また、１３０３〜１３０８には、現在のＨＭＤ１０１Ｂの仮想空間上の視点の位置姿勢、フロア、部屋番号を、ＨＭＤ１０１Ｂの位置姿勢を取得する都度記憶・更新する。
【０１５１】
なお、ＨＭＤ１０１Ｂの仮想空間上における視点の位置姿勢は、ＨＭＤ１０１Ｂの現実空間の位置姿勢に応じて変化する。よって、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１Ｂの視点位置が、ＨＭＤ１０１Ｂのユーザによって選択された共有画像の撮像位置に移動した後の、ＨＭＤ１０１Ｂの現実空間上の位置姿勢の変化を計測しておく。
【０１５２】
そして、当該共有画像の撮像位置をＸ，Ｙ，Ｚ座標＝０，０，０として規定し、当該共有画像の撮像位置に視点位置が移動してからのＨＭＤ１０１Ｂの現実空間上の位置姿勢の変化を、仮想空間上の当該共有画像の撮像位置に適用して、現在のＨＭＤ１０１Ｂの仮想空間上の視点位置・姿勢を計測、特定する。
【０１５３】
例えば、ＨＭＤ１０１Ｂの視点位置がＸ，Ｙ，Ｚ＝１，１，５の位置に移動し、その後、ＨＭＤ１０１が現実空間上においてＸ方向に２移動した場合、ＨＭＤ１０１の仮想空間上における視点位置はＸ，Ｙ，Ｚ＝３，１，５となる。
【０１５４】
ＰＣ１００のＣＰＵ２０１は、当該特定した値をＨＭＤ１０１Ｂの現在の仮想空間上の位置・姿勢として、順次、共有画像情報１３００のＤ１１１に対応する位置姿勢に記憶・更新する。
【０１５５】
ステップＳ１７０７で、ＰＣ１００のＣＰＵ２０１は、外部メモリに予め記憶されているテンプレートの仮想オブジェクト（テンプレートモデル情報１３１０に図示）を取得する。そして、ＨＭＤ１０１Ａ用の追加表示モデル情報１３２０を生成して、取得したテンプレートの仮想オブジェクトをコピーし、追加・記憶する。
【０１５６】
追加表示モデル情報１３２０におけるモデルＩＤには、追加表示モデル情報１３２０へのデータの追加時に新規の値を付与する。また、モデルの姿勢は一律同じ値を設定する。
【０１５７】
そして、追加したテンプレートの仮想オブジェクトの位置には、ＨＭＤ１０１Ｂの現実空間上の位置を、光学センサ１０４から新規の位置を取得する都度記憶・更新し、画像１３２１には、画像ＩＤ１３０１に記憶した動画（図１３のＤ１１１）を、リアルタイムに記憶・更新する。つまり、共有画像の仮想空間上の位置を決定する。
【０１５８】
この位置と画像の更新処理は、ＨＭＤ１０１ＢがＨＭＤ１０１Ａの視野から外れるか、ＨＭＤ１０１Ｂの視点移動フラグが０になるまで継続する。以上が図１７の説明である。
【０１５９】
ＰＣ１００のＣＰＵ２０１は、ステップＳ１１０８において、モデル情報６２０及び追加表示モデル情報１３２０を用いて、ＨＭＤ１０１ＡのＭＲ画像の生成・表示更新を行う。具体的には、図５のステップＳ５０６以降の処理を順次行い、ステップＳ５０８において、モデル情報６２０だけでなく、追加表示モデル情報１３２０の仮想オブジェクトも用いて描画データの生成及びＨＭＤ１０１の画面における表示位置（描画位置）を決定してＭＲ画像を生成し、ステップＳ５１１まで処理を実行する。
【０１６０】
例えば、図１９の１９００に示すＭＲ画像を生成してＨＭＤ１０１Ａに送信する。１９０１は、ＨＭＤ１０１Ｂの位置に配置され、描画される、ＨＭＤ１０１に送信中のＭＲ画像１９０２（複合現実画像である動画）を選択可能に表示した仮想オブジェジェクトである。１９０３は、ＨＭＤ１０１Ａの画像の中心（ＨＭＤ１０１の向いている方向）を示すカーソルである。
【０１６１】
ＨＭＤ１０１ＢがＨＭＤ１０１Ａの視野内に存在しない場合のＭＲ画像の一例を図１９の１９１０に示す。
【０１６２】
ＰＣ１００のＣＰＵ２０１は、図１１の処理終了後、図１０のステップＳ１００２の処理を実行する。具体的には、図１８の視点位置の移動先の決定処理を実行する。
【０１６３】
ここで図１８を参照して、本発明の実施形態における、視点位置の移動先の決定処理の詳細について説明する。
【０１６４】
ステップＳ１８０１で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１Ａ（ＨＭＤ  ＩＤ）を取得し、ステップＳ１８０２で、その他のＨＭＤ１０１（１０１Ｂ、１０１ＣのＩＤ）を取得する。
【０１６５】
ステップＳ１８０３で、ＰＣ１００のＣＰＵ２０１は、他のＨＭＤ１０１のうち未処理のＨＭＤを取得する。例えばＨＭＤ１０１Ｂを取得するものとする。
【０１６６】
ステップＳ１８０４で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１Ａの現実空間上の位置と、取得したＨＭＤ１０１Ｂの現実空間上の位置とが所定距離内か判定する。ここでいう処理距離とは、ＰＣ１００の外部メモリに予め記憶されている値である。例えば２ｍとする。
【０１６７】
ステップＳ１８０４で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１Ａの現実空間上の位置と、取得したＨＭＤ１０１Ｂの現実空間上の位置とが所定距離内である（２つのＨＭＤの距離が所定距離より短い）と判定した場合、処理をステップＳ１８０５に移行する。所定距離以上ある場合は処理をステップＳ１８１１に移行する。
【０１６８】
ステップＳ１８０５で、ＰＣ１００のＣＰＵ２０１は、現実空間において、ＨＭＤ１０１ＢがＨＭＤ１０１Ａの視界の中に位置するか判定する。視界の中に位置する場合は処理をステップＳ１８０６に移行する。視界の外に位置する場合は処理をステップＳ１８１１に移行する。
【０１６９】
ステップＳ１８１１では、ＰＣ１００のＣＰＵ２０１は、全ての他のＨＭＤ１０１（ＨＭＤ１０１ＡにとってのＨＭＤ１０１ＢとＨＭＤ１０１Ｃ）に対して、ステップＳ１８０４又はステップＳ１８０５の処理を適用したか判定し、適用済の場合は処理をステップＳ１８０９に移行し、未適用の場合は処理をステップＳ１８０３の前に戻して未処理のＨＭＤを取得する。
【０１７０】
ステップＳ１８０６で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１Ｂの仮想空間上の視点位置にＨＭＤ１０１Ａの仮想空間上の視点位置を移動させるための操作部の画像を生成し、ＨＭＤ１０１Ａに送信して、ＭＲ画像に重畳して表示させる（操作画面表示制御手段に該当）。
【０１７１】
具体的には、図２０の２０００における、操作画面２００１の「移動」ボタン２００２、「キャンセル」ボタン２００３を表示する。「移動」ボタン２００２は、ＨＭＤ１０１Ａの仮想空間上の視点位置を、ＨＭＤ１０１Ａから所定距離内にある他のＨＭＤ１０１（１０１Ｂ）の仮想空間上の視点位置に移動して変更するためのボタンである。「キャンセル」ボタン２００３は、当該移動を行わず、操作画面２００１の表示を終了するボタンである。
【０１７２】
ＰＣ１００のＣＰＵ２０１は、例えばＨＭＤ１０１Ａに設置されているボタンが複数回押下されることで「移動」ボタン２００２、「キャンセル」ボタン２００３の選択状態を切り替え、ボタンの長押しを受け付けることで選択確定することができる。
【０１７３】
ステップＳ１８０７で、ＰＣ１００のＣＰＵ２０１は、ユーザ操作を受け付けたか判定する。操作を受け付けた場合、ステップＳ１８０８に移行し、受け付けた操作が「移動」ボタン２００２の選択操作か、「キャンセル」ボタン２００３の選択操作か判定する。
【０１７４】
「移動」ボタン２００２の選択操作の場合は処理をステップＳ１８１２に移行し、「キャンセル」ボタン２００３の選択操作の場合は処理をステップＳ１８０９に移行する。
【０１７５】
ステップＳ１８１２で、ＰＣ１００のＣＰＵ２０１は、ＨＭＤ１０１Ｂの現在の仮想空間上の視点位置を取得し、ＨＭＤ１０１Ａの仮想空間上の視点位置の移動先に決定する。具体的には、共有画像情報１３００の中の、リアルタイム動画（Ｄ１１１）と対応づけられているＨＭＤ１０１Ｂの仮想空間上の位置を特定して取得して、移動先に決定する（位置特定手段に該当）。
【０１７６】
ステップＳ１８０９では、共有画像の選択操作を受け付けたか判定する。例えば、図１９の１９０１や、図１６の各共有画像（共有画像が貼り付けられた仮想オブジェクト）を選択可能である。
【０１７７】
共有画像の選択操作を受け付けた場合は処理をステップＳ１８１０に移行し、当該選択を受け付けた共有画像に対応する仮想空間上の位置を取得し、ＨＭＤ１０１の移動先の視点位置として決定する。例えば、共有画像が撮像された時点での、当該共有画像の撮像元であるＨＭＤの仮想空間上の位置である。なお、図１９の１９０１が選択された場合の移動先の位置の特定方法は、ステップＳ１８１２と同じである。以上が図１８の説明である。
【０１７８】
ＰＣ１００は、図１０のステップＳ１００３の処理を実行し、ＨＭＤ１０１Ａの視点位置を、ステップＳ１８１０又はＳ１８１２で決定した位置に移動する。
【０１７９】
以上説明したように、本発明によれば、ユーザ同士の距離に応じて、ユーザの視点位置の移動先を容易に決定可能とする仕組みを提供することができる。
【０１８０】
例えば、ＨＭＤ同士の距離に応じて、仮想空間上の視点位置を容易に決定可能となる。
【０１８１】
なお、上述した実施形態においては、ＨＭＤ１０１ＡとＨＭＤ１０１Ｂとの距離が所定距離内になった場合に、「移動」ボタン２００２を表示し、「移動」ボタンの選択に応じて、ＨＭＤ１０１Ａの視点位置をＨＭＤ１０１Ｂの視点位置に変更するものとしたが、「移動」ボタン等の表示をすることなく、自動で、ＨＭＤ１０１Ａの視点位置を、ＨＭＤ１０１Ｂの視点位置に変更し、操作の手間を省くようにしてもよい。
【０１８２】
また、上述した実施形態においては、ＨＭＤ１０１ＡとＨＭＤ１０１Ｂとの距離が所定距離内になった場合に、ＨＭＤ１０１Ａの視点位置をＨＭＤ１０１Ｂの視点位置に移動するものとしたが、ＨＭＤ１０１Ｂの視点そのものではなく、ＨＭＤ１０１Ｂに近い視点が得られれば十分な場合もある。よって、例えばＨＭＤ１０１ＡとＨＭＤ１０１Ｂとの距離が所定距離内になった場合に、ＨＭＤ１０１Ｂの視点位置が属するフロアを特定し、当該フロアにＨＭＤ１０１Ａの視点位置を移動する（地面から垂直方向にのみ視点位置を変更する）ようにしてもよい。フロア移動の際、移動後のフロアにおける視点位置の床面からの高さは、移動前のフロアにおける視点位置の床面からの高さと同じ高さに決定する。フロアが同じであれば、後は歩いてＨＭＤ１０１Ｂの視点位置に近づけばよいためである。
【０１８３】
上述したように、ＨＭＤ１０１ＡとＨＭＤ１０１Ｂが同じ仮想空間内（例：同じ仮想の部屋）にいる場合、ＨＭＤ１０１ＡのユーザがＨＭＤ１０１Ｂのユーザの視点位置に歩いて近づくことができる。手間なのは、主に、歩いて移動するだけでは他のＨＭＤのユーザの視点位置に近づくことができない場合である。
【０１８４】
よって、例えば、ＨＭＤ１０１ＡとＨＭＤ１０１Ｂが異なる仮想空間にいる場合に、ＨＭＤ同士の距離に応じた視点位置の決定を行うようにしてもよい。
【０１８５】
例えば、図１８のステップＳ１８０３の後、ステップＳ１８０４の前に、ステップＳ１８０３で取得したＨＭＤ１０１Ｂが、ＨＭＤ１０１Ａと異なる仮想空間にいるか判定する。例えばＨＭＤ１０１Ａの視点位置が属するフロアまたは部屋と、ＨＭＤ１０１Ｂの視点位置が属するフロアまたは部屋が異なる場合に、異なる仮想空間にいると判定する。
【０１８６】
ＨＭＤ１０１Ｂが、ＨＭＤ１０１Ａと異なる仮想空間にいる場合は処理をステップＳ１８０４に移行し、同じフロアの同じ部屋にいる場合は処理をステップＳ１８１１に移行する。
【０１８７】
これにより、現実空間を歩いて移動するだけでは所望のユーザの視点に近い画像が得られない場合に、ユーザ同士の距離に応じて、ユーザの視点位置の移動先を容易に決定可能とする仕組みを提供することができる。
【０１８８】
なお、部屋が異なったとしても、ＨＭＤ１０１ＡとＨＭＤ１０１Ｂの仮想空間上の距離が近い場合には、歩いてＨＭＤ１０１Ｂの近くに移動し、ＨＭＤ１０１Ｂの視点に近い画像を得ることが可能である。
【０１８９】
よって、例えばステップＳ１８０４でＹＥＳと判定された後に、ＨＭＤ１０１ＡとＨＭＤ１０１Ｂの仮想空間上の距離が所定距離以内（例：５ｍ以内）か判定し、所定距離より離れている場合には処理をステップＳ１８０５に移行し、初手距離以内の場合には処理をステップＳ１８１１に移行するようにしてもよい。
【０１９０】
これにより、各ユーザの属する仮想空間が異なるか否かに関わらず、現実空間を歩いて移動するだけでは所望のユーザの視点に近い画像が得られない場合に、ユーザ同士の距離に応じて、ユーザの視点位置の移動先を容易に決定可能とする仕組みを提供することができる。
【０１９１】
また、ＨＭＤ１０１Ｂに現在送信中の画像だけでなく、ＨＭＤ１０１が過去に撮像した共有画像を、ＨＭＤ１０１と対応付けて、選択可能に表示してもよい。
【０１９２】
図１９の１９０１の選択を受け付けた場合、例えば図２１の２１００に示す、２１０１の仮想オブジェクトを生成して、１９０１の変わりに選択可能に配置する。２１０２は１９０２と同じ動画である。２１０３〜２１０５は、ＨＭＤ１０１Ｂが過去に撮像した共有画像であり、選択可能な画像である。ＰＣ１００のＣＰＵ２０１は、選択された画像に応じた視点位置の移動先を特定して視点位置を移動させる。
【０１９３】
また、上述した実施形態においては、図１１のステップＳ１１０３で、ＨＭＤ１０１と共有画像が同じ部屋の中にあるか判定するものとしたが、例えば、ＨＭＤ１０１と共有画像が同じフロアにあるか判定するようしにてもよい。
【０１９４】
具体的には、ステップＳ１１０３においてＰＣ１００のＣＰＵ２０１が、ステップＳ１１０１で取得したＨＭＤ１０１の位置するフロアと、ステップＳ１１０２で取得した共有画像に対応するフロアとが一致するか判定し、一致する場合は処理をステップＳ１１０４に移行し、一致しない場合は処理をステップ１１０６に移行する。
【０１９５】
これにより、仮に一覧に表示する共有画像（過去の位置の識別情報）が多い場合であっても、一覧表示部を過剰に拡大してしまいＨＭＤの表示領域を圧迫してしまう危険を低減できる。
【０１９６】
また、図６の６６０に示す部屋の情報がない場合であっても、フロアの情報さえれば、ユーザと記録済の位置の関係に応じて適切に当該位置の選択部を表示することが可能となる。
【０１９７】
また、上述した実施形態においては、共有画像として記憶するデータは静止画である画像として説明したが、例えば録画した動画像であってもよい。録画した動画の撮影場所＝動画の録画が開始された時点（録画開始時点）の撮影者のＨＭＤの位置とする。
【０１９８】
以上、本発明の実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１９９】
例えば、図２に示すＰＣ１００の構成を全て備えるＨＭＤ１０１が、自機の機能をＣＰＵ２０１で実行して、上述した実施形態においてＰＣ１００の実行するものとして説明した処理の全てを、実行するようにしてもよい。
【０２００】
具体的には、ＨＭＤ１０１とＰＣ１００が一体であり、１つの筐体として、ＨＭＤ１０１のＣＰＵ２０１が、ステップＳ５０４〜Ｓ５０９の処理及びその他の図のフローチャートに記載の処理を実行するよう構成してもよい。この場合、ＰＣ１００の機能は各ＨＭＤ１０１に備わり、各ＨＭＤ１０１の記憶装置に、光学センサ１０４から取得された各ＨＭＤ１０１の位置姿勢が記憶されるものとする。
【０２０１】
また、ＰＣ１００が１つではなく複数の装置から構成されてもよい。例えば、ＨＭＤ１０１ごとにＨＭＤ１０１の位置姿勢をセンサから取得するＰＣが接続され、各ＰＣと図１のＰＣ１００が接続され、各ＰＣから各ＰＣが管理するＨＭＤのＩＤと位置姿勢を取得するようにしてもよい。また、各ＰＣが共有画像をＰＣ１００にアップロードし、アップロードを受け付けたＰＣ１００が、アップロード元以外の他のＰＣに当該共有画像の共有画像情報１３００を配信し、各ＰＣに共有画像情報１３００を記憶させるようにしてもよい。
【０２０２】
なお、上述した実施形態においては、複合現実における視点移動と案内について説明したが、例えば視点移動及び経路案内の表示を、仮想現実や拡張現実の技術を用いて実現するようにしてもよい。
【０２０３】
また、上述した実施形態においては、現実画像と仮想物体の描画データを重畳することで複合現実画像を生成するものとしたが、例えば透過型（シースルー型）のＨＭＤ１０１を採用し、透過率１００％の現実画像に透過率０％の描画データを重ね合わせてディスプレイに表示し、現実の情報はディスプレイ越しに肉眼で確認できるような複合現実画像を生成・表示するようにしてもよい。
【０２０４】
また、上述した実施形態においては、ＭＲ画像を生成するものとしたが、例えば仮想世界の画像のみを表示するようにしてもよい。つまり、複合現実ではなく、仮想現実の技術を用いて本発明を実現するようにしてもよい。
【０２０５】
また、本発明におけるプログラムは、各図に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は各図の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各図の各装置の処理方法ごとのプログラムであってもよい。
【０２０６】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２０７】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０２０８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０２０９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２１０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２１１】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２１２】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２１３】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０２１４】
１００    ＰＣ
１０１Ａ  ＨＭＤ
１０１Ｂ  ＨＭＤ
１０１Ｃ  ＨＭＤ
１０３    光学式マーカ
１０４    光学センサ
１５０    ネットワーク
【図１】
2018142230.tif 000003
【図２】
2018142230.tif 000004
【図３】
2018142230.tif 000005
【図４】
2018142230.tif 000006
【図５】
2018142230.tif 000007
【図６】
2018142230.tif 000008
【図７】
2018142230.tif 000009
【図８】
2018142230.tif 000010
【図９】
2018142230.tif 000011
【図１０】
2018142230.tif 000012
【図１１】
2018142230.tif 000013
【図１２】
2018142230.tif 000014
【図１３】
2018142230.tif 000015
【図１４】
2018142230.tif 000016
【図１５】
2018142230.tif 000017
【図１６】
2018142230.tif 000018
【図１７】
2018142230.tif 000019
【図１８】
2018142230.tif 000020
【図１９】
2018142230.tif 000021
【図２０】
2018142230.tif 000022
【図２１】
2018142230.tif 000023