(57)【要約】【課題】ユーザの視線に応じて仮想物体の表示を容易に切り替え可能な仕組みを提供すること【解決手段】頭部装着型表示装置を装着しているユーザの視線からユーザが着目している着目対象の物体を特定し、着目対象の物体とは別に、着目対象の物体に対応する仮想物体を頭部装着型表示装置に表示する仮想物体として決定し、当該仮想物体を頭部装着型表示装置に表示すべく制御し、ユーザの着目対象の物体が別の物体となった場合には、頭部装着型表示装置において既に表示されている前記仮想物体を前記別の物体に対応する仮想物体とすることを決定し、頭部装着型表示装置に表示すべく制御する【選択図】図８
2018097645.tif 000002
【特許請求の範囲】
【請求項１】
頭部装着型表示装置を備える情報処理装置であって、
前記頭部装着型表示装置を装着しているユーザの視線から、前記ユーザが着目している着目対象の物体を特定する特定手段と、
前記特定手段により特定された前記着目対象の物体とは別に、前記着目対象の物体に対応する仮想物体を前記頭部装着型表示装置に表示する仮想物体として決定する決定手段と、
前記決定手段によって表示することが決定された仮想物体を前記頭部装着型表示装置に表示すべく制御する表示制御手段と、
を備え、
前記決定手段は、前記特定手段により特定されたユーザの着目対象の物体が別の物体となった場合に、前記表示制御手段により前記頭部装着型表示装置において既に表示されている前記仮想物体を、前記別の物体に対応する仮想物体とすることを決定し、
前記表示制御手段は、前記決定手段により決定された前記別の物体に対応する仮想物体を前記頭部装着型表示装置に表示すべく制御することを特徴とする情報処理装置。
【請求項２】
前記ユーザの手に持たれている前記仮想物体を特定する所持物体特定手段と、
を備え、
前記決定手段は、前記着目対象の物体に対応する仮想物体を、前記所持物体特定手段により特定された前記ユーザの手に持たれている仮想物体と入れ替えて表示する仮想物体として決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所持物体特定手段は、前記ユーザの手の仮想物体に触れている仮想物体を、前記ユーザの手に持たれている仮想物体として特定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記所持物体特定手段は、空間の中を移動している仮想物体を、前記ユーザの手に持たれている仮想物体として特定することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、所定の現実物体に対応付けて表示する前記仮想物体を記憶する情報処理装置であって、
前記決定手段は、前記着目対象の物体に対応する仮想物体を、前記所定の現実物体に対応付けて表示する前記仮想物体として決定し、
前記表示制御手段は、前記決定手段による決定に従って、前記着目対象の物体に対応する仮想物体を、前記所定の現実物体の位置に表示すべく制御することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記所定の現実物体が複数ある場合に、前記頭部装着型表示装置の位置と複数の前記所定の現実物体の位置に応じて、前記表示制御手段により表示制御を行なう前記仮想物体の位置とする前記所定の現実物体を選択する選択手段と、
を備え、
前記決定手段は、前記着目対象の物体に対応する仮想物体を、前記選択手段により選択された前記所定の現実物体に対応付けて表示する前記仮想物体として決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
頭部装着型表示装置を備える情報処理装置の制御方法であって、
前記頭部装着型表示装置を装着しているユーザの視線から、前記ユーザが着目している着目対象の物体を特定する特定工程と、
前記特定工程により特定された前記着目対象の物体とは別に、前記着目対象の物体に対応する仮想物体を前記頭部装着型表示装置に表示する仮想物体として決定する決定工程と、
前記決定工程によって表示することが決定された仮想物体を前記頭部装着型表示装置に表示すべく制御する表示制御工程と、
を含み、
前記決定工程は、前記特定工程により特定されたユーザの着目対象の物体が別の物体となった場合に、前記表示制御工程により前記頭部装着型表示装置において既に表示されている前記仮想物体を、前記別の物体に対応する仮想物体とすることを決定し、
前記表示制御工程は、前記決定工程により決定された前記別の物体に対応する仮想物体を前記頭部装着型表示装置に表示すべく制御することを特徴とする制御方法。
【請求項８】
頭部装着型表示装置を備える情報処理装置を制御するためのプログラムであって、
前記情報処理装置を、
前記頭部装着型表示装置を装着しているユーザの視線から、前記ユーザが着目している着目対象の物体を特定する特定手段と、
前記特定手段により特定された前記着目対象の物体とは別に、前記着目対象の物体に対応する仮想物体を前記頭部装着型表示装置に表示する仮想物体として決定する決定手段と、
前記決定手段によって表示することが決定された仮想物体を前記頭部装着型表示装置に表示すべく制御する表示制御手段として機能させ、
前記決定手段は、前記特定手段により特定されたユーザの着目対象の物体が別の物体となった場合に、前記表示制御手段により前記頭部装着型表示装置において既に表示されている前記仮想物体を、前記別の物体に対応する仮想物体とすることを決定し、
前記表示制御手段は、前記決定手段により決定された前記別の物体に対応する仮想物体を前記頭部装着型表示装置に表示すべく制御することを特徴とするプログラム。
【請求項９】
頭部装着型表示装置と、情報処理装置とを含む情報処理システムであって、
前記頭部装着型表示装置を装着しているユーザの視線から、前記ユーザが着目している着目対象の物体を特定する特定手段と、
前記特定手段により特定された前記着目対象の物体とは別に、前記着目対象の物体に対応する仮想物体を前記頭部装着型表示装置に表示する仮想物体として決定する決定手段と、
前記決定手段によって表示することが決定された仮想物体を表示する表示手段と、
を備え、
前記決定手段は、前記特定手段により特定されたユーザの着目対象の物体が別の物体となった場合に、前記表示手段により前記頭部装着型表示装置において既に表示されている前記仮想物体を、前記別の物体に対応する仮想物体とすることを決定し、
前記表示手段は、前記決定手段により決定された前記別の物体に対応する仮想物体を表示することを特徴とする情報処理システム。
【請求項１０】
頭部装着型表示装置と、情報処理装置とを含む情報処理システムの制御方法であって、
前記頭部装着型表示装置を装着しているユーザの視線から、前記ユーザが着目している着目対象の物体を特定する特定工程と、
前記特定工程により特定された前記着目対象の物体とは別に、前記着目対象の物体に対応する仮想物体を前記頭部装着型表示装置に表示する仮想物体として決定する決定工程と、
前記決定工程によって表示することが決定された仮想物体を表示する表示工程と、
を含み、
前記決定工程は、前記特定工程により特定されたユーザの着目対象の物体が別の物体となった場合に、前記表示工程により前記頭部装着型表示装置において既に表示されている前記仮想物体を、前記別の物体に対応する仮想物体とすることを決定し、
前記表示工程は、前記決定工程により決定された前記別の物体に対応する仮想物体を表示することを特徴とする制御方法。
【請求項１１】
頭部装着型表示装置と、情報処理装置とを含む情報処理システムを制御するためのプログラムであって、
前記情報処理システムを、
前記頭部装着型表示装置を装着しているユーザの視線から、前記ユーザが着目している着目対象の物体を特定する特定手段と、
前記特定手段により特定された前記着目対象の物体とは別に、前記着目対象の物体に対応する仮想物体を前記頭部装着型表示装置に表示する仮想物体として決定する決定手段と、
前記決定手段によって表示することが決定された仮想物体を表示する表示手段として機能させ、
前記決定手段は、前記特定手段により特定されたユーザの着目対象の物体が別の物体となった場合に、前記表示手段により前記頭部装着型表示装置において既に表示されている前記仮想物体を、前記別の物体に対応する仮想物体とすることを決定し、
前記表示手段は、前記決定手段により決定された前記別の物体に対応する仮想物体を表示することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複合現実（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ／以下、ＭＲと記載）の技術が普及している。ＭＲ技術を用いて、ヘッドマウントディスプレイ（ＨＭＤ）を装着したユーザに対し、現実物体と仮想物体を配置した空間の疑似体験を提供できる。ＭＲ空間（現実空間と仮想空間とを合成した複合現実空間）を生成するにあたり、仮想空間を現実空間の位置合わせに用いられる位置指標として、センサや二次元マーカを用いる場合がある。
【０００３】
特許文献１には、ＨＭＤで撮像された画像の中のマーカ画像からＨＭＤの位置姿勢を特定し、ＨＭＤの位置姿勢から見た仮想物体の画像を生成、表示する技術が記載されている。
【０００４】
引用文献２には、センサを用いてＨＭＤの位置姿勢を特定し、ユーザの手が所定の仮想物体と近付いた場合に、当該仮想物体の表示形態を変更する技術が記載されている。
【０００５】
また、ＨＭＤには視線追跡機能が搭載されているものがある。これはＨＭＤに搭載されている機構により、装着者の目の動きを認識する機能である（例えば特許文献３）。視線を検知することで、視線の先にある仮想物体を選択したり、識別表示したりすることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２９３１４１号公報
【特許文献２】特開２００９−１６９６２２号公報
【特許文献３】特開２０１１−２２４２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
例えば、複合現実を用いて、製品に係る作業のシミュレーションを行いたいことがある。例えば車のエンジン及びボディの配置・形状を検討するにあたり、車のエンジン部分の仮想物体を表示し、手にスパナ等の整備用の工具を持ち、エンジンと車のボディとの間に工具を差し込む隙間が十分にあるか、手や腕の入る隙間が十分にあるか確認しながら設計を行うことがある。
【０００８】
現実の工具を使うこともできるが、場合によっては、工具も仮想物体で代用することができる。この場合、ユーザが工具を握っている感触を伝えるために、マーカが貼り付けられた現実物体をユーザに持たせ、当該マーカに工具の仮想物体を重畳させる等して複合現実を体感させることが行われている。
【０００９】
そして、これはエンジンに限らないが、製品によっては複数の工具を使い分ける必要がある。よってシミュレーションを行うためには、都度、手元の工具を最適な工具に持ち替えなければならない。現実物体を持ち替えるのが手間な場合は、マーカに対応する仮想物体を、仮想物体の表示状態を管理しているＰＣを操作する等して切り替えることが可能だが、いちいちＰＣの前に移動して操作するのは時間がかかり、手間である。
【００１０】
本発明は、ユーザの視線に応じて仮想物体の表示を容易に切り替え可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、頭部装着型表示装置を備える情報処理装置であって、前記頭部装着型表示装置を装着しているユーザの視線から、前記ユーザが着目している着目対象の物体を特定する特定手段と、前記特定手段により特定された前記着目対象の物体とは別に、前記着目対象の物体に対応する仮想物体を前記頭部装着型表示装置に表示する仮想物体として決定する決定手段と、前記決定手段によって表示することが決定された仮想物体を前記頭部装着型表示装置に表示すべく制御する表示制御手段と、を備え、前記決定手段は、前記特定手段により特定されたユーザの着目対象の物体が別の物体となった場合に、前記表示制御手段により前記頭部装着型表示装置において既に表示されている前記仮想物体を、前記別の物体に対応する仮想物体とすることを決定し、前記表示制御手段は、前記決定手段により決定された前記別の物体に対応する仮想物体を前記頭部装着型表示装置に表示すべく制御することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ユーザの視線に応じて仮想物体の表示を容易に切り替え可能な仕組みを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態における、情報処理システムの構成の一例を示す図である。
【図２】本発明の第１の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【図３】本発明の第１の実施形態における、各種装置の機能構成の一例を示す図である。
【図４】本発明の第１の実施形態における、仮想物体の表示処理の流れを示すフローチャートである。
【図５】本発明の第１の実施形態における、視線による着目対象物体の特定処理の流れを示すフローチャートである。
【図６】本発明の第１の実施形態における、着目対象物体に応じた仮想物体の表示変更処理の流れを示すフローチャートである。
【図７】本発明の第１の実施形態における、各種データ構成の一例を示す図である。
【図８】本発明の第１の実施形態における、着目対象物体に応じた仮想物体の表示変更の様子を示す図である。
【図９】本発明の第２の実施形態における処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１５】
まず図１を参照して、本発明の第１の実施形態における、情報処理システムの構成の一例について説明する。
【００１６】
図１に示すように、本発明における各種装置はネットワークを介して通信可能に接続されている。例えばＰＣ１００は、ケーブルでヘッドマウントディスプレイ（頭部装着型表示装置）であるＨＭＤ１０１と通信可能に接続されている。
【００１７】
つまり、ＰＣ１００は表示装置の１つとしてＨＭＤ１０１を備えており、ＰＣ１００で生成した画像をＨＭＤ１０１に出力し、表示させることが可能である。
【００１８】
ＰＣ１００には、ＨＭＤ１０１により撮像される現実画像に重畳する３次元モデルが記憶されている。現実物体に対して、ＣＧである当該３次元モデルのことを仮想物体と呼ぶこととする。
【００１９】
ＰＣ１００は自機の管理するＨＭＤ１０１より現実画像を取得して、当該現実画像に仮想物体の画像を重畳した複合現実画像（ＭＲ画像）を生成し、ＨＭＤ１０１のディスプレイに表示させるべく、当該ＭＲ画像をＨＭＤ１０１に送信する。ＨＭＤ１０１は受信したＭＲ画像をディスプレイに表示する。
【００２０】
ＨＭＤ１０１は、ＨＭＤ１０１を装着したユーザの視線を検出する機構を備えており、検出した視線の情報をＰＣ１００に送信する。
【００２１】
光学式センサ１０４は、ＨＭＤ１０１に設置された３つのマーカ１０３の位置姿勢を計測するセンサであり、マーカ１０３から所定のオフセットを設けたＨＭＤ１０１の位置姿勢を計測するための装置である。
【００２２】
ターゲット１０５は、例えばマーカが貼り付けられた持ち運び可能な現実物体である。当該ターゲットに貼り付けられたマーカの位置に仮想物体の位置を設定してＭＲ画像を生成・表示することで、ユーザはターゲット移動させるだけで簡単に当該仮想物体を移動させることができる。以上が図１の説明である。
【００２３】
次に図２を参照して、本発明の第１の実施形態における各種装置のハードウェア構成の一例について説明する。
【００２４】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２５】
また、ＲＯＭ２０２には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステム（ＯＳ）、その他各種装置の実行する機能を実現するために必要な各種プログラムが記憶されている。
【００２６】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２７】
本発明のＰＣ１００が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
入力コントローラ（入力Ｃ）２０５は、キーボードやマウス等のポインティングデバイス（入力デバイス２１０）からの入力を制御する。
【００２８】
ビデオコントローラ（ＶＣ）２０６は、ＨＭＤ１０１が備える右目・左目ディスプレイ２２２等の表示器への表示を制御する。右目・左目ディスプレイ２２２に対しては、例えば外部出力端子（例えば、Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）を用いて出力される。また、右目・左目ディスプレイ２２２は、右目用のディスプレイと左目用のディスプレイとから構成されている。
【００２９】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３０】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。また、通信Ｉ／Ｆコントローラ２０８は、ギガビットイーサネット（登録商標）等を通じて光学式センサ１０４との通信も制御する。
【００３１】
汎用バス２０９は、ＨＭＤ１０１の右目・左目ビデオカメラ２２１からの映像を取り込むために使用される。右目・左目ビデオカメラ２２１からは、外部入力端子（例えば、ＩＥＥＥ１３９４端子）を用いて入力される。右目・左目ビデオカメラ２２１は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。
【００３２】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が図２の説明である。
【００３３】
次に図３を参照して、本発明の第１の実施形態における各種装置の機能構成の一例について説明する。
【００３４】
撮像部３１１は、カメラ装置により撮像画像（現実画像）を撮像する撮像部である。撮像画像送信部３１２は、撮像部３１１で撮像処理を実行することにより取得した撮像画像をＰＣ１００に送信する送信部である。
【００３５】
視線情報送信部３１４は、ＨＭＤ１０１を装着しているユーザの視線にかかる情報（視線情報）を生成し、ＰＣ１００に送信する機能部である。例えば、特開２０１０−１９９７８９号公報や、特開２０１６−１２７５８７号公報に記載されているように、ＨＭＤに、ユーザの眼に向けて非可視光を照射する非可視光照射装置、ハーフミラーを設置し、ユーザの眼で反射された非可視光を撮像するカメラを設置して反射光を撮像し、ユーザの眼がディスプレイ上の（表示画面に表示する現実画像上の）どこを見ているのかを所定の時間感覚で計測・特定する。そして、特定した当該ディスプレイ情報の位置（Ｘ，Ｙ）の情報を視線情報として、逐次ＰＣ１００に送信する。
【００３６】
ＭＲ画像受信部３１５は、ＰＣ１００から送信されたＭＲ画像を受信する受信部であり、ＭＲ画像表示部３１６は、当該ＭＲ画像を表示する表示部である。
【００３７】
撮像画像受信部３２１は、ＨＭＤ１０１より撮像画像を受信して記憶する記憶部である。ＨＭＤ位置姿勢記憶部３２２は、ＨＭＤの１０１の位置姿勢を取得して記憶する記憶部である。ＨＭＤの位置姿勢は、ＨＭＤ１０１に設置された複数（例えば３つ以上）のマーカ（光反射マーカ）を光学式センサ１０４（モーションキャプチャカメラ）が撮像することにより光学式センサ１０４により特定される。ＰＣ１００は、当該光学式センサ１０４からＨＭＤ１０１の位置姿勢の情報（ＨＭＤ１０１のＸ，Ｙ，Ｚ座標・姿勢の値）を受信して記憶する。
【００３８】
仮想物体情報記憶部３２３は、仮想物体の形状を記憶したファイルや、仮想物体をどのマーカの位置に表示するかの情報、また、仮想空間における仮想物体の位置姿勢の情報を記憶する記憶部である。なお、本実施形態においては、仮想物体を対応付けるマーカは二次元マーカとする。
【００３９】
ＭＲ画像生成部３２４は、ＨＭＤ１０１の右目・左目ビデオカメラにより撮像されて送信される現実空間の画像と、ＨＭＤ位置姿勢記憶部３２２で記憶したＨＭＤ１０１の最新の位置姿勢（位置及び向き）に基づいて撮像した仮想空間の画像（仮想物体の画像）とを重畳した複合現実画像（ＭＲ画像）を生成する機能部である。ＭＲ画像送信部３２５は、ＭＲ画像生成部３２４で生成されたＭＲ画像をＨＭＤ１０１に表示させるべく送信する。
【００４０】
視線情報取得部３２６は、ＨＭＤ１０１から視線情報を受信して取得する。着目物体特定部３２７は、当該視線情報を用いて、ＨＭＤ１０１のディスプレイ上でユーザが見ている物体を特定する。つまり、ユーザの視線の先にある、ユーザが着目している物体（着目物体）を特定する。
【００４１】
対応仮想物体特定部３２８は、着目物体特定部３２７により特定された着目物体に対応する仮想物体を特定する。
【００４２】
例えば、ユーザが当該着目物体に着目している場合に、当該着目物体とは別にＭＲ画像上に重畳して表示する仮想物体を特定する。
【００４３】
例えば、ユーザが着目しているナットのＣＧモデルに対応する工具であるスパナのＣＧモデルを、当該ナットとスパナの対応関係を記憶したテーブルを参照して、対応仮想物体として特定する。
【００４４】
表示仮想物体設定部３２９は、対応仮想物体特定部３２８によって特定された仮想物体を、ＭＲ画像の生成に用いる仮想物体として、つまり、ＨＭＤ１０１の表示画面に表示させる仮想物体として設定する。既に表示対象
【００４５】
例えば既にユーザの手元に位置決定されている工具のＣＧモデルの代わりに、ユーザの着目物体に応じて新たに対応仮想物体特定部３２８で特定された工具のＣＧを、表示対象のＣＧとしてメモリに記憶する。
【００４６】
ＭＲ画像生成部３２４は、ＭＲ画像を生成する際、当該テーブルの中に記憶されている仮想物体を現実画像に重畳してＭＲ画像を生成する。以上が図３の説明である。
【００４７】
以下に説明する図４〜図６、図９フローチャートの各ステップの処理は、ＰＣ１００のＣＰＵ２０１が、自機の備える各機能部の機能を用いて実行する。
【００４８】
次に図４を参照して、本発明の第１の実施形態における、仮想物体の表示処理の流れについて説明する。
【００４９】
ステップＳ４０１で、ＰＣ１００は、外部メモリ２１１に記憶されている仮想物体の一覧をＲＡＭ２０３上に読み出して、ＭＲ画像の生成に用いる仮想物体の一覧、つまり、ＨＭＤ１０１に表示する候補とするＣＧの一覧として保持する。
【００５０】
また、ＭＲ画像の生成に必要なその他の情報を外部メモリ２１１から読み出してＲＡＭ２０３上に保持する。
【００５１】
外部メモリに記憶されている仮想物体の一覧の情報とは、例えば図７の仮想物体情報７３０である。モデル名７３１は、仮想物体の形状を記憶したファイルのファイル名であり、仮想物体の名称である。
【００５２】
ファイル名は、当該仮想物体のＰＣ１００の外部メモリ２１１における記憶場所を示すＵＲＬを含む文字列である。
【００５３】
種類７３２は仮想物体の種類である。対応モデル７３３は、当該仮想物体に対応する別の仮想物体である。対応モデル７３３は、例えば、モデル名７３１にユーザが着目している間、ユーザの手元に表示する仮想物体のファイル名である。
【００５４】
位置７３４、姿勢７３５は、仮想空間におけるモデル名７３１の仮想物体の位置姿勢を示す。本実施形態においては、仮想空間上の位置及び姿勢＝現実空間上の位置及び姿勢である。つまり、仮想空間の位置と現実空間の位置とが一致した複合現実空間が規定されている。
【００５５】
位置７３４、姿勢７３５に値が挿入されている仮想物体は、位置姿勢が固定されている物体である。位置７３４、姿勢７３５に値が挿入されていない仮想物体は、当該仮想物体が対応付けられたマーカの位置姿勢に連動して、位置姿勢を変更するものとする。
【００５６】
また、ＭＲ画像の生成に必要なその他の情報とは、例えば図７のターゲット情報７１０、ターゲット対応情報７２０、現実物体情報７４０である。
【００５７】
ターゲット情報７１０は、例えばマーカが貼り付けられた持ち運び可能な現実物体であるターゲットにかかる情報である。
【００５８】
ターゲットＩＤ７１１は、マーカＩＤ７１２のマーカが貼り付けられた現実物体であるターゲットの識別情報である。
【００５９】
マーカＩＤ７１２は二次元マーカの名称であり、個別の識別画像であるマーカ画像の名称である。マーカＩＤ７１２は、マーカの名称と、当該マーカの画像が記憶されているＰＣ１００の外部メモリ２１１上のアドレスを含んだ文字列である。大きさ７１３は、マーカ画像の縦横の大きさである。
【００６０】
位置７１４、姿勢７１５は、ＨＭＤ１０１のカメラで撮像した撮像画像に含まれるマーカ画像の大きさや傾きと、ＨＭＤ１０１の位置姿勢から特定されるマーカＩＤ７１２のマーカの位置姿勢である。つまり、ターゲットＩＤ７１１の示すターゲットの位置姿勢であり、リアルタイムに変動する位置姿勢である。
【００６１】
検出中フラグ７１６は、ターゲットのマーカＩＤ７１２のマーカ位置を検出・更新中か否かを示すフラグである。検出中フラグ７１６＝１は、カメラでマーカＩＤ７１２のマーカを撮像中であり、マーカの位置を検出・更新中であることを示す。検出中フラグ７１６＝０は、カメラでマーカＩＤ７１２のマーカを撮像できておらず、マーカの位置を検出できていない状態を示す。
【００６２】
ＰＣ１００は、ＨＭＤ１０１から取得した現実画像におけるマーカの認識可否に応じて、検出中フラグ７１６を切り替え、更新する。
【００６３】
ターゲット対応情報７２０は、ターゲット（ターゲットＩＤ７２１）及びターゲットに貼り付けられたマーカ（マーカＩＤ７２２）と、対応する仮想物体（モデル名７２３）を記憶管理するデータテーブルである。
【００６４】
オフセット位置７２４、オフセット姿勢７２５は、位置７１４及び姿勢７１５に示すマーカＩＤ７２２の位置姿勢からどれだけ離れた位置、どれだけ傾け方向変更した姿勢をモデル名７２３の仮想物体の位置姿勢とするかを示す、仮想物体の位置姿勢の情報である。
【００６５】
つまり、ターゲット対応情報７２０は、ターゲットと、ターゲットに付されたマーカと、仮想物体とを対応付けた情報である。
【００６６】
現実物体情報７４０は、ユーザがどの種類（物体種類７４１）の現実物体に着目している場合に、どの仮想物体（対応モデル７４２）を表示するかを設定した情報である。
【００６７】
ステップＳ４０１で、ＰＣ１００は、配置仮想物体情報７５０をＲＡＭ２０３上に生成して保持する。配置仮想物体情報７５０は、ＭＲ画像の生成に実際に使用する仮想物体（モデル名７５３）の位置姿勢（位置７５４・姿勢７５５）を記憶するテーブルである。
【００６８】
ターゲットＩＤ７５１とマーカＩＤ７５２は、今現在、モデル名７５３の仮想物体が対応付けられているターゲット及びマーカを示す。
【００６９】
例えば、仮想物体情報７３０に位置姿勢が記憶されている仮想物体は、ターゲットＩＤ７５１及びマーカＩＤ７５２には値を挿入せず、モデル名及び位置姿勢をそれぞれ７５３〜７５５に挿入して、ＭＲ画像の生成に用いる仮想物体として配置仮想物体情報７５０に記憶する。
【００７０】
ＰＣ１００は、ユーザによるＭＲ体験の開始指示がされてから終了指示がされるまでの間、ステップＳ４０２〜Ｓ４０７の処理を繰り返す。例えば０．５秒間隔で繰り返し実行する。
【００７１】
ステップＳ４０２で、ＰＣ１００は、光学式センサ１０４からＨＭＤ１０１の位置姿勢の情報を取得して、外部メモリに記憶する。具体的には、図７のＨＭＤ情報７００に、当該位置姿勢を取得したＨＭＤ１０１の識別情報であるＨＭＤ  ＩＤ７０１、光学式センサ１０４から取得した、当該ＨＭＤ１０１の現実空間上の位置７０２、姿勢７０３を記憶する。
【００７２】
ステップＳ４０３で、ＰＣ１００は、ＨＭＤ１０１のカメラで撮像された現実画像を取得してメモリ上に記憶する。
【００７３】
そして、当該現実画像中のマーカ画像を検出することにより検出された現実物体の位置姿勢を特定し、記憶する。具体的には、図７のターゲット情報７１０における、現実画像中から検出したマーカの位置姿勢を位置７１４、姿勢７１５に上書き・更新する。つまり、ターゲットの一姿勢を特定する（ステップＳ４０４）。
【００７４】
ステップＳ４０５で、ＰＣ１００は、ターゲット対応情報７２０を参照して、ステップＳ４０２で現実画像から検出したマーカに対応する仮想物体を特定する。そして、当該仮想物体の位置姿勢を、当該仮想物体に対応するターゲットの位置姿勢に応じて決定して記憶する。
【００７５】
具体的には、当該仮想物体のファイル名をモデル名７５３に、また、ターゲットＩＤ７５１及びマーカＩＤ７５２に対応付けられているターゲットのＩＤ及びマーカのＩＤを挿入して記憶する。
【００７６】
そして、７１４及び７１５に記憶されている当該ターゲットの最新の位置姿勢から、ターゲット対応情報７２０において当該仮想物体に対応付けられたオフセット位置７２４及びオフセット姿勢７２５だけ座標をずらし、傾けた位置姿勢を、モデル名７５３の仮想物体の位置姿勢として位置７５４、姿勢７５５に挿入して記憶する。
【００７７】
ステップＳ４０６で、ＰＣ１００は、不図示の情報であるＨＭＤ１０１のカメラの画角及びＨＭＤ１０１の位置姿勢の情報と、配置仮想物体情報７５０に記憶されている最新の仮想物体の位置姿勢の情報とを参照して、ＨＭＤ１０１用のＭＲ画像を生成し、ステップＳ４０７でＨＭＤ１０１に出力（送信）して表示させる（表示制御手段に該当）。以上が図４の説明である。
【００７８】
次に図５を参照して、本発明の第１の実施形態における、視線による着目対象物体の特定処理の流れについて説明する。
【００７９】
ＰＣ１００は、ユーザによるＭＲ体験の開始指示がされてから終了指示がされるまでの間、ステップＳ５０１〜Ｓ５０４の処理を、所定の時間間隔で繰り返す。例えば０．５秒間隔で繰り返し実行する。
【００８０】
ステップＳ５０１で、ＰＣ１００は、ＨＭＤ１０１を装着した装着者であり、ＭＲの体験者であるユーザの視線情報を取得する。
【００８１】
本発明の実施形態における視線情報とは、例えば、特開２０１０−１９９７８９号公報や、特開２０１６−１２７５８７号公報に記載されているように、ＨＭＤ１０１に設置された、ユーザの眼に向けて非可視光を照射する非可視光照射装置、ハーフミラー、ユーザの眼で反射された非可視光を撮像するカメラを使って、ＨＭＤ１０１で眼の反射光を撮像することによって得られた、ユーザの眼がディスプレイ上の（表示画面に表示する現実画像上の）どこを見ているのかを示す、ディスプレイ上のＸ，Ｙ座標を示す情報である。
【００８２】
ステップＳ５０２で、ＰＣ１００は、ユーザの見ているディスプレイ上の位置に仮想物体が重畳されているか判定する。
【００８３】
例えば、ＨＭＤ１０１におけるユーザの眼自体の位置の情報と、眼からＨＭＤ１０１のディスプレイまでの距離の情報（いずれもＨＭＤ１０１及びＰＣ１００に、予め設定・記憶されている固定の位置及び距離）、ユーザがディスプレイのどこを見ているかを示す情報、ＨＭＤ１０１自体の位置姿勢から特定されるユーザの眼が向いている方向に、配置仮想物体情報７５０において、仮想物体が位置しているかを判定する。
【００８４】
視線の先に仮想物体がある場合には、視線の先にあるＨＭＤ１０１から直近の仮想物体を、ユーザが着目している着目物体として特定し、その仮想物体情報７３０をＲＡＭ２０３に記憶する（ステップＳ５０３）。
【００８５】
また、視線の先に仮想物体がない場合、ユーザが着目しているディスプレイ上の位置と、着目時点でディスプレイに表示されていた画像とから、ユーザが着目していた現実画像の位置に存在する現実物体を、公知の画像解析処理を実行して認識し、特定して、当該特定された現実物体の情報（例えば現実物体が何であるかを示す、物体種類の情報）を、ユーザの着目物体の情報としてＲＡＭ２０３に記憶する（ステップＳ５０４）。以上が図５の説明である。
【００８６】
次に図６を参照して、本発明の第１の実施形態における、着目対象物体に応じた仮想物体の表示変更処理の流れについて説明する。
【００８７】
ステップＳ６０１で、ＰＣ１００は、不図示のモード切替画面におけるユーザ操作に応じて、仮想物体の表示モードを、ユーザが着目している物体に応じて自動で仮想物体の表示を切り替える自動切替モードに設定変更する。
【００８８】
ステップＳ６０２で、ＰＣ１００は、ターゲット情報７１０を参照して、ステップＳ６０３で、検出中のターゲットが複数存在するか判定する。
【００８９】
検出中のターゲットが１つだけの場合は、当該ターゲットを処理対象のターゲットとして特定し、ＲＡＭ２０３上に記憶する。検出中のターゲットが複数存在する場合は処理をステップＳ６０４に移行し、ＨＭＤ１０１の位置から最も近い位置のターゲットを処理対象として特定・選択して記憶する。
【００９０】
ステップＳ６０５で、ＰＣ１００は、ＰＣ１００は、ステップＳ５０３またはステップＳ５０４で記憶された最新の着目物体の情報を取得する。例えば着目物体の物体種類の情報を取得する。
【００９１】
そして、着目物体が仮想物体の場合には仮想物体情報７３０を参照し、着目物体が現実物体の場合には現実物体情報７４０を参照して、着目物体に対応する仮想物体を特定する（ステップＳ６０６）。仮想物体情報７３０においては、対応モデル７３３の仮想物体を、現実物体情報７４０においては、対応モデル７４２の仮想物体を特定することとなる。
【００９２】
なお、対応する仮想物体がない場合（仮想物体情報７３０、現実物体情報７４０に記憶されていない場合）、図６の処理を終了する。つまり、ターゲットに付け替える仮想物体が存在しないということである。
【００９３】
よって、もしも配置仮想物体情報７５０において、処理対象としたターゲットに対応付けられて記憶されている仮想物体が既にある場合、今まで通り、当該既に配置仮想物体情報７５０に当該ターゲットと対応付けて記憶されている仮想物体の表示処理が、ターゲットの動きに応じて行われることとなる。
【００９４】
ステップＳ６０７で、ＰＣ１００は、ステップＳ６０６で特定した仮想物体のファイル名を、ステップＳ６０３〜Ｓ６０４で処理対象として特定したターゲットのターゲットＩＤ及びマーカＩＤと対応付けて、配置仮想物体情報７５０に記憶する。
【００９５】
具体的には、処理対象のターゲットのターゲットＩＤをターゲットＩＤ７５１に、処理対象のターゲットに貼り付けられたマーカのマーカＩＤをマーカＩＤ７５２に、仮想物体のファイル名をモデル名７５３に記憶する。つまり、当該仮想物体の位置を、位置７５４、姿勢７５５に決定する。
【００９６】
既に同一のターゲットＩＤ及びマーカＩＤのデータが配置仮想物体情報７５０に存在する場合、当該データのモデル名７５３を、ステップＳ６０６で特定した仮想物体のファイル名に書き替えて記憶、更新する。以上が図６の説明である。
【００９７】
本実施形態においては、ステップ６０７の処理を終了してから遅くとも０．５秒後には、図４の処理（配置仮想物体情報７５０を用いたＭＲ画像の生成処理）が行われる。
【００９８】
つまり、図６の処理を実行することで、ユーザの視線、具体的にはユーザの視線により特定されたユーザの着目物体に応じて、仮想物体の表示を容易に切り替えることができる。
【００９９】
例えば図８に、着目対象物体に応じた仮想物体の表示変更の様子を示す図である。８００、８１０、８２０は、ＨＭＤ１０１に表示する表示画面の一例でありＭＲ画像が表示されている。
【０１００】
８０１はユーザが着目している位置、つまりユーザの視線情報を示す。１０５はターゲットであり、８０２は、７５０において今現在ターゲットに対応付けて記憶されている仮想物体であり、７５４、７５５の位置姿勢で仮想空間に配置されている。
【０１０１】
８１０に示すように、ユーザがｎａｔＡに着目すると、ＰＣ１００は図７の仮想物体情報７３０を参照してｎａｔＡに対応する仮想物体であるＳ００Ａ．ｖｒｍｌ（ｓｐａｎｎｅｒＡ）を特定して、ターゲット１０５の位置に位置決定し、ＭＲ画像を生成してＨＭＤ１０１に送信・表示させる。
【０１０２】
８０２からＳ００Ａ．ｖｒｍｌへの仮想物体の切り替えの様子を、図７の配置仮想物体情報７５０に示す。
【０１０３】
また、８２０に示すように、ユーザがｎａｔＢに着目すると、ＰＣ１００は図７の仮想物体情報７３０を参照してｎａｔＢに対応する仮想物体であるＳ００Ｂ．ｖｒｍｌ（ｓｐａｎｎｅｒＢ）を特定して、ターゲット１０５の位置に位置決定し、ＭＲ画像を生成してＨＭＤ１０１に送信・表示させる。
【０１０４】
以上説明したように、本発明の第１の実施形態によれば、ユーザの視線に応じて仮想物体の表示を容易に切り替え可能な仕組みを提供することができる。
【０１０５】
例えば、ユーザの視線に応じて、ユーザが着目している物体とは別の仮想物体の表示を容易に変更することができる。
【０１０６】
また、複数のターゲットがある場合には、ターゲットを絞り込んで仮想物体の表示を変更することができる。
【０１０７】
＜第２の実施形態＞
【０１０８】
図９を参照して、本発明の第２の実施形態について説明する。なお、第１の実施形態と共通する処理やハードウェア構成、機能構成、データ構成等については説明を省略する。
【０１０９】
ＰＣ１００は、ステップＳ６０３で、検出中のターゲットが１つであると判定され処理対象のターゲットが特定された場合、又はステップＳ６０４で処理対象のターゲットが特定された場合に、図９のステップＳ９０１の処理を実行する。
【０１１０】
なお、ＰＣ１００は、ＭＲの体験開始から終了指示を受け付けるまでの間の、ターゲット情報９１０のターゲットのごとの位置姿勢の履歴を、外部メモリ２１１に逐次記憶するものとする。
【０１１１】
ステップＳ９０１でＰＣ１００は、当該処理対象のターゲットをユーザが手に持っているか判定する。
【０１１２】
具体的には、当該ターゲットの位置姿勢の履歴を過去所定時間分取得し、当該ターゲットが動いている場合には、ユーザが当該ターゲットを手に持っていると判定する。所定時間とは、例えば１．５秒であるものとする。
【０１１３】
ターゲットが机等の上に置かれている場合、過去１．５秒の間における位置姿勢の変化はない、もしくは所定の振れ幅に収まるはずである。
【０１１４】
ＰＣ１００は、当該ターゲットの位置姿勢の値の変化が所定値（予め外部メモリに記憶されているＸ，Ｙ，Ｚの値）以上だった場合、ターゲットが移動している（動いている）、つまり、ユーザがターゲットを手に持っていると判定する（所持物体特定手段に該当）。
【０１１５】
ターゲットがユーザの手に持たれている場合、処理を図６のステップＳ６０５に移行する。つまり、ターゲットがユーザの手に持たれている場合には、着目物体に対応する仮想物体を、当該ユーザの手に持たれている仮想物体に対応付けて表示する。
【０１１６】
一方、ターゲットがユーザの手に持たれていない場合は（置かれている場合等は）、処理を終了する。以上が図９の説明である。
【０１１７】
以上説明したように、本発明の第２の実施形態によれば、ユーザの視線に応じて、ユーザの手に持たれている仮想物体の表示を容易に切り替え可能な仕組みを提供することができる。
【０１１８】
つまり、ユーザが現実物体を手に持った状態でユーザが何かに着目した場合に、当該着目している物体に対して何かを行おうとしていると推定し、着目している物体に応じて手に持っている現実物体の位置に仮想物体を表示したり、その表示を切り替えることができる。
【０１１９】
当該切り替え処理により、ユーザが手に持っている、現実物体に対応する仮想物体を切り替える操作をする手間を軽減できる。
【０１２０】
また、ユーザが仮想物体を手に持った状態でユーザが何かに着目した場合に、当該着目している物体に対して何かを行おうとしていると推定し、着目している物体に応じて手に持っている仮想物体の表示を切り替えることができる。
【０１２１】
当該切り替え処理により、ユーザが手に持っている仮想物体を切り替える操作をする手間を軽減できる。
【０１２２】
なお、上述した説明においては、ターゲットが動いている場合に当該ターゲットがユーザの手に持たれていると判定したが、例えば、配置仮想物体情報７５０において、当該ターゲットに現在対応付けられている仮想物体が移動している場合に、当該ターゲット（ターゲットの位置にある仮想物体）がユーザの手に持たれていると判定するようにしてもよい。
【０１２３】
また、更に他の方法で判定を行うこともできる。例えば、ユーザの手に、手の形状をした仮想物体を配置し、当該手の仮想物体の位置とターゲットの位置が所定距離以内（例えば５ｃｍ以内）又は、手の仮想物体と現在ターゲットに対応付けられている仮想物体が接触している場合に、当該ターゲットがユーザの手に持たれていると判定するようにしてもよい。
【０１２４】
手の仮想物体のデータは予め外部メモリ２１１に記憶してある。手の仮想物体の配置は、具体的には、ＨＭＤ１０１の撮像した現実画像からユーザの手の肌色を認識し、三角測量で手までの距離を算出、ＨＭＤ１０１と手の位置関係から仮想空間における手の位置姿勢を算出して、手の仮想物体の位置姿勢を当該手の位置姿勢に決定、配置仮想物体情報７５０に記憶することで実現可能である。
【０１２５】
ターゲットが動いていて、且つ手の仮想物体に触れている場合に、当該ターゲット（ターゲットの位置にある仮想物体）がユーザの手に持たれていると判定するようにしてもよい。
【０１２６】
なお、上述した実施形態においては、現実物体に着目している場合も着目している現実物体に対応する仮想物体をユーザの手元に表示するものとしたが、現実画像を解析してユーザが何に着目しているのかを特定するには、相当な処理リソースが消費されると考えられる。また、解析の完了に時間もかかることが考えられる。
【０１２７】
よって、例えば図５のステップＳ５０３で、視線の先に仮想物体がないと判定された場合は、現実物体の解析処理を行わず、処理をステップＳ５０１に戻してもよい。
【０１２８】
これにより、処理リソースの消費を抑え、ユーザが仮想物体に着目している場合に、当該仮想物体とは別の仮想物体の表示を容易に切り替えることができる。
【０１２９】
また、例えば、ユーザが着目する対象が小さな部品の場合、当該小さな部品に視線を向け続けることは難しい。当該部品が取り付けられた土台となる仮想物体を部位ごとに区分けした方が、場合によっては部品よりも当該区分けされた部位の方が大きく、部品単位に仮想物体を対応付けるよりもデータの管理が容易である。また、対象が大きい方が着目状態を維持し易い。
【０１３０】
よって、例えばある１つの仮想物体を部位ごとに区分けして当該区分けした部位（仮想空間における４点以上のＸＹＺ座標によって規定される空間・エリア）ごとに対応する仮想物体を記憶しておき、ユーザが当該部位に着目した場合に、当該部位に対応する仮想物体をターゲットに対応付けて位置決定、表示するようにしてもよい。
【０１３１】
以上説明したように、本発明によれば、ユーザの視線に応じて仮想物体の表示を容易に切り替え可能な仕組みを提供することができる。
【０１３２】
例えば、ユーザの手元のマーカに対応する仮想物体の表示を、ユーザが見ている場所に応じて容易に切り替えることができる。
【０１３３】
また、上述した実施形態においてはＨＭＤ１０１がユーザの視線を検出するものとしたが、例えばＰＣ１００が、ＨＭＤ１０１の向いている方向そのものをユーザの視線方向として取得し、ＨＭＤ１０１の向いている方向にある直近の物体を、着目物体として特定してもよい。
【０１３４】
なお、上述した実施形態においては光学式センサを用いてＨＭＤ１０１の位置姿勢を検出し、取得したが、例えば特開２００２−２２９７３０号公報等に記載されているように、磁気センサ、超音波センサなどを利用して検出するようにしてもよい。つまり、ＨＭＤの位置姿勢検出に係る手段は問わない。
【０１３５】
また、１０３に示す光学式センサ１０４で位置姿勢を検出可能なマーカをターゲットに付与し、ターゲットの位置姿勢を検出、記憶・更新するようにしてもよい。
【０１３６】
また、例えば二次元マーカの画像を用いてＨＭＤ１０１の位置姿勢を特定して取得するようにしてもよい。具体的には、例えば、ＨＭＤ１０１から取得した現実画像に含まれる二次元マーカ（以下、マーカと記載）の情報からＨＭＤ１０１の位置姿勢を特定する。マーカはＨＭＤの撮像する現実の室内に複数貼り付けられているものとする。マーカの形状は問わないが、本実施形態では正方形であり、全て同じサイズであるものとする。各マーカにはユニークなマーカ番号が埋め込まれているものとする。そして個々のマーカが識別でき、デコードした際にそのマーカ番号が得られるものとする。マーカは、ＨＭＤ１０１の位置姿勢がどのような状態であっても、内蔵するカメラの視野内に最低でも３つが含まれるように、予め既知の位置に貼り付けられているものとする。
【０１３７】
ＰＣ１００は、撮像した現実画像中の３つの位置検出用マーカ（その位置は既知）それぞれのサイズから、ＨＭＤ１０１からそれぞれまでの位置検出用マーカまでの距離を求める。そして、３つの位置検出用マーカから求めた３つの距離が重なる位置を、ＨＭＤ１０１の位置として決定する。また、ＨＭＤ１０１の姿勢は、撮像した画像中の３つの位置検出用マーカの配置から求めればよい。
【０１３８】
なお、マーカの法線方向に視点があるとき、そのマーカ画像が正方形に見えることになる。そして、視点が法線方向からずれると、そのずれの度合いに応じて正方形が歪んで見える。つまり、この歪みから、視点の軸に対するマーカで規定される平面の向きが判明し、マーカのサイズから視点とマーカ間の距離を検出でき、マーカが貼り付けられた平面が規定できる。また、実施形態では、マーカには、互いに識別できる２つの印が設けられ、マーカの中心位置を原点とし、マーカで規定される上記の平面上の、原点からその印に向かう２つのベクトルを２軸、マーカの中心位置から法線方向の１軸で、局所的（ローカル）な３次元座標を規定する３軸を規定しているものとする。
【０１３９】
マーカの種類（マーカが果たす役割の種類）は、ＨＭＤ１０１の位置姿勢を決定するための位置検出用マーカ、並びに、そのマーカで規定される箇所に仮想物体（３次元モデル）を描画するものとして利用される配置用マーカの２種類がある。
【０１４０】
配置用マーカとは、仮想物体を表示する位置を特定するために用いられるマーカである。ＰＣ１００のＣＰＵ２０１は、当該配置用マーカが検出された際、当該配置用マーカが存在する位置（正確には後述するように当該配置用マーカの重心位置からオフセットを持つ位置）に仮想物体を表示するための処理を行う。例えば、仮想物体を当該オフセットの示す仮想空間上の位置に配置する処理を行う。
【０１４１】
仮想物体のデータはＰＣ１００の外部メモリ上に、当該仮想物体を仮想空間上のいずれの位置にどのような姿勢で配置するかを示す位置姿勢の情報と対応付けられて記憶されている。
【０１４２】
上述した配置用マーカの中心位置の座標を｛Ｘｖ，Ｙｖ，Ｚｖ｝とし、仮想物体の形状と特定するデータ中の座標を｛Ｘｉ，Ｙｉ，Ｚｉ｝（ここで、ｉ＝０，１，２，・・・)と定義したとき、距離Ｌは次式で得られる。
Ｌ＝｛（Ｘｖ−Ｘｉ）２＋（Ｙｖ−Ｙｉ）２＋（Ｚｖ−Ｚｉ）２｝１／２
【０１４３】
ここで、ｉを変化させた際の最小の距離Ｌを、配置用マーカと仮想物体との距離とした。なお、上記では距離を計算する際に、最終的に平方根を求めたが、大小の判定で良いのであれば、平行根を求める必要な無く、座標の差分の二乗和を算出しても構わない。
【０１４４】
なお、上記式では、配置用マーカの中心位置＝仮想物体の中心位置とした場合である。先に説明したように、仮想物体の配置される位置は、配置用マーカの中心位置に対し、オフセットが与えられる。
【０１４５】
なお、マーカに埋め込めるビット数にもよるが、位置検出用マーカと配置用マーカを兼ねるマーカを定義して、外部メモリに記憶するようにしても構わない。
【０１４６】
尚、上記実施形態は、本発明に係る例であると認識されたい。たとえば、ＨＭＤ１０１の位置姿勢を検出するため、上記実施形態では位置検出用マーカが撮像した視野内に３つは存在するものとして、位置検出用マーカを部屋中に多数張り付けるものとしたが、これによって本発明が限定されるものではない。位置検出用マーカには向きを規定する印があり、位置検出用マーカの座標だけでなく、形状や寸法も既知であれば、撮像した画像の位置検出の歪み、サイズ、印の位置から、１つの位置検出用マーカからだけでもＨＭＤ１０１の位置姿勢を特定できる。
【０１４７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１４８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１５０】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１５１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１５２】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１５３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１５４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１５５】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１５６】
１００  ＰＣ
１０１  ＨＭＤ
１０３  マーカ
１０４  光学式センサ
１５０  ネットワーク
【図１】
2018097645.tif 000003
【図２】
2018097645.tif 000004
【図３】
2018097645.tif 000005
【図４】
2018097645.tif 000006
【図５】
2018097645.tif 000007
【図６】
2018097645.tif 000008
【図７】
2018097645.tif 000009
【図８】
2018097645.tif 000010
【図９】
2018097645.tif 000011