(57)【要約】      （修正有）【課題】ＭＲを用いて表示した設計物上の作業スペースの検証結果を容易に確認する情報処理装置、システム、制御方法及びプログラムを提供する。【解決手段】確認処理は、３次元モデルの位置姿勢を記憶し、作業対象となる第１のモデルと、当該第１のモデルに対する作業を行うための道具を示す第２のモデルを対応付けて記憶し、現実物体を検出し、検出された現実物体の位置と第１のモデルの位置とが所定距離内にあるか判定し、所定距離内にあると判定された場合に第１のモデルに対応する第２のモデルを特定し、第２のモデルの空間上の位置姿勢を現実物体の位置姿勢に従って決定し、現実物体が所定の動きをしたことを検知した場合に、所定の動きをしている現実物体又は当該現実物体の位置姿勢に応じて位置姿勢が決定された第２のモデルが、他の３次元モデルに接触したか判定し、接触したと判定された場合に接触した旨を示す情報を表示画面に表示すべく制御する。【選択図】図５
2020187778.tif 000002
【特許請求の範囲】
【請求項１】
空間上の３次元モデルの位置姿勢に基づいて現実画像と３次元モデルを重畳した複合現実画像を表示する表示装置と通信可能な、当該３次元モデルの位置姿勢を記憶する情報処理装置であって、
前記３次元モデルのうち、作業対象となる第１のモデルと、当該第１のモデルに対する作業を行うための道具を示す第２のモデルを対応付けて記憶する記憶手段と、
現実物体を検出する現実物体検出手段と、
前記現実物体検出手段で検出された現実物体の位置と、前記第１のモデルの位置とが所定距離内にあるか判定する判定手段と、
前記判定手段で、前記現実物体の位置と前記第１のモデルの位置とが所定距離内にあると判定された場合に、前記第１のモデルに対応する前記第２のモデルを特定する特定手段と、
前記特定手段で特定された第２のモデルの空間上の位置姿勢を、前記現実物体の位置姿勢に従って決定する決定手段と、
前記検出手段で検出された現実物体が所定の動きをしたことを検知する動き検知手段と、
前記動き検知手段で当該現実物体が所定の動きをしたと検知した場合に、当該所定の動きをしている現実物体又は当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが、他の３次元モデルに接触したか判定する接触判定手段と、
前記接触判定手段で接触したと判定された場合に、当該接触した旨を示す情報を前記表示装置の表示画面に表示すべく制御する表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記接触判定手段で、前記現実物体又は当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが他の３次元モデルに接触したと判定された場合に、前記表示装置に表示する複合現実画像をキャプチャする第１のキャプチャ手段と、
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記動き検知手段で前記現実物体が所定の動きをしたことが検知された場合であって、前記接触判定手段で所定の動きをしている現実物体又は当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが、他の３次元モデルに接触したと判定された場合に、前記特定手段による当該第２のモデルの特定に用いられた前記第１のモデルの位置を記憶する第１の位置記憶手段と、
前記動き検知手段で前記現実物体が所定の動きをしたことが検知された場合であって、前記接触判定手段で所定の動きをしている現実物体及び当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが、他の３次元モデルに接触しなかったと判定された場合に、当該現実物体から所定の距離にある位置を記憶する第２の位置記憶手段と、
前記第１の位置記憶手段で記憶された第１の位置と、前記第２の位置記憶手段で記憶された第２の位置との相対関係を示す前記複合現実画像を生成する相対関係画像生成手段と、
を備え、
前記表示制御手段は、前記相対関係画像生成手段で生成された前記第１の位置と第２の位置の相対関係を示す複合現実画像を、前記表示装置に表示すべく送信することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記接触判定手段で、前記現実物体及び当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが他の３次元モデルに接触しなかったと判定された場合に、前記表示装置に表示する複合現実画像である前記相対関係画像をキャプチャする第２のキャプチャ手段と、
を備えることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記接触判定手段で、前記現実物体又は当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが他の３次元モデルに接触したと判定された後に、前記接触判定手段で、前記現実物体及び当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが他の３次元モデルに接触しなかったと判定された場合に、接触したと判定された他の３次元モデルと、前記第１の位置と、前記第２の位置とを対応付けて記憶する第３の位置記憶手段と、
を備えることを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記相対関係画像生成手段は、前記第１の位置と、前記第２の位置との距離を示す情報を含む複合現実画像を、前記相対関係画像として生成することを特徴とする請求項３乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
空間上の３次元モデルの位置姿勢に基づいて現実画像と３次元モデルを重畳した複合現実画像を表示する表示装置と通信可能な、当該３次元モデルの位置姿勢を記憶する情報処理装置の制御方法であって、
前記３次元モデルのうち、作業対象となる第１のモデルと、当該第１のモデルに対する作業を行うための道具を示す第２のモデルを対応付けて記憶する記憶工程と、
現実物体を検出する現実物体検出工程と、
前記現実物体検出工程で検出された現実物体の位置と、前記第１のモデルの位置とが所定距離内にあるか判定する判定工程と、
前記判定工程で、前記現実物体の位置と前記第１のモデルの位置とが所定距離内にあると判定された場合に、前記第１のモデルに対応する前記第２のモデルを特定する特定工程と、
前記特定工程で特定された第２のモデルの空間上の位置姿勢を、前記現実物体の位置姿勢に従って決定する決定工程と、
前記検出工程で検出された現実物体が所定の動きをしたことを検知する動き検知工程と、
前記動き検知工程で当該現実物体が所定の動きをしたと検知した場合に、当該所定の動きをしている現実物体又は当該現実物体の位置姿勢に応じて前記決定工程で位置姿勢が決定された前記第２のモデルが、他の３次元モデルに接触したか判定する接触判定工程と、
前記接触判定工程で接触したと判定された場合に、当該接触した旨を示す情報を前記表示装置の表示画面に表示すべく制御する表示制御工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項８】
空間上の３次元モデルの位置姿勢に基づいて現実画像と３次元モデルを重畳した複合現実画像を表示する表示装置と通信可能な、当該３次元モデルの位置姿勢を記憶する情報処理装置で実行が可能なプログラムであって、
前記情報処理装置を、
前記３次元モデルのうち、作業対象となる第１のモデルと、当該第１のモデルに対する作業を行うための道具を示す第２のモデルを対応付けて記憶する記憶手段と、
現実物体を検出する現実物体検出手段と、
前記現実物体検出手段で検出された現実物体の位置と、前記第１のモデルの位置とが所定距離内にあるか判定する判定手段と、
前記判定手段で、前記現実物体の位置と前記第１のモデルの位置とが所定距離内にあると判定された場合に、前記第１のモデルに対応する前記第２のモデルを特定する特定手段と、
前記特定手段で特定された第２のモデルの空間上の位置姿勢を、前記現実物体の位置姿勢に従って決定する決定手段と、
前記検出手段で検出された現実物体が所定の動きをしたことを検知する動き検知手段と、
前記動き検知手段で当該現実物体が所定の動きをしたと検知した場合に、当該所定の動きをしている現実物体又は当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが、他の３次元モデルに接触したか判定する接触判定手段と、
前記接触判定手段で接触したと判定された場合に、当該接触した旨を示す情報を前記表示装置の表示画面に表示すべく制御する表示制御手段として機能させることを特徴とする情報処理装置のプログラム。
【請求項９】
空間上の３次元モデルの位置姿勢に基づいて現実画像と３次元モデルを重畳した複合現実画像を表示する表示装置と、当該３次元モデルの位置姿勢を記憶する情報処理装置とを含む情報処理システムであって、
前記３次元モデルのうち、作業対象となる第１のモデルと、当該第１のモデルに対する作業を行うための道具を示す第２のモデルを対応付けて記憶する記憶手段と、
現実物体を検出する現実物体検出手段と、
前記現実物体検出手段で検出された現実物体の位置と、前記第１のモデルの位置とが所定距離内にあるか判定する判定手段と、
前記判定手段で、前記現実物体の位置と前記第１のモデルの位置とが所定距離内にあると判定された場合に、前記第１のモデルに対応する前記第２のモデルを特定する特定手段と、
前記特定手段で特定された第２のモデルの空間上の位置姿勢を、前記現実物体の位置姿勢に従って決定する決定手段と、
前記検出手段で検出された現実物体が所定の動きをしたことを検知する動き検知手段と、
前記動き検知手段で当該現実物体が所定の動きをしたと検知した場合に、当該所定の動きをしている現実物体又は当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが、他の３次元モデルに接触したか判定する接触判定手段と、
前記接触判定手段で接触したと判定された場合に、当該接触した旨を示す情報を前記表示装置の表示画面に表示すべく制御する表示制御手段と、
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複合現実（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ／以下、ＭＲと記載）の技術が普及している。ＭＲ技術を用いて、ヘッドマウントディスプレイ（以下、ＨＭＤと記載）を装着したユーザに対し、現実物体とＣＧモデルを配置した空間の疑似体験を提供できる。ＭＲ空間（現実空間と仮想空間とを合成した複合現実空間）を生成するにあたり、仮想空間を現実空間の位置合わせに用いられる位置指標として、マーカを用いる場合がある。
【０００３】
特許文献１には、当該マーカの存在をユーザに意識させないために、マーカを検出した場合に、当該マーカを隠した画像を描画する技術が記載されている。また、特許文献２では、光学センサを用いてＨＭＤの位置姿勢を検出する技術について記載されている。
【０００４】
ＭＲの技術はしばしば、製品のデザイン検証や、工事・作業現場での作業のシミュレーション等を、ＨＭＤの装着者にリアルに体験、視認させるために用いられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３５０８６０号公報
【特許文献２】特開２００６−３０１９２４号公報
【特許文献３】特開平０８−１８５４３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
製品の形状設計にあたり、設計対象物の中において作業者が部品を組み立てたり作業したりするスペースが必要になることがある。例えば特許文献３では、これらの作業スペースが十分に確保されているかを検討するために、工具や手の形状データを予め複数用意しておき、装置上で手動で選択された部品に対応する工具の大きさ、部品の取り付け方向を特定して、画面上に工具の画像やその動きを表示し、作業スペースが十分か確認させることが行われている。
【０００７】
一方、実際の設計現場においては、設計者は必ずしも部品の作業方向を把握しているわけではない。よって、どの方向から工具を差し込み、どのくらい工具の振り幅があれば作業ができるか等の情報を、製品設計者やシステム設計者がシステム上に一律に記憶・設定しておいたとしても、実態と設定とに差があれば結局設計を修正しなければならない。
【０００８】
よって、実際の現場においては、これらの作業のノウハウを持つ、部品の組立等の作業をする作業者に製品の作業スペースが十分かの検証を依頼し、検証結果をフィードバックしてもらうことが行われている。
【０００９】
本発明は、ＭＲを用いて表示した設計物上の作業スペースの検証結果を容易に確認可能にする仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、空間上の３次元モデルの位置姿勢に基づいて現実画像と３次元モデルを重畳した複合現実画像を表示する表示装置と通信可能な、当該３次元モデルの位置姿勢を記憶する情報処理装置であって、前記３次元モデルのうち、作業対象となる第１のモデルと、当該第１のモデルに対する作業を行うための道具を示す第２のモデルを対応付けて記憶する記憶手段と、現実物体を検出する現実物体検出手段と、前記現実物体検出手段で検出された現実物体の位置と、前記第１のモデルの位置とが所定距離内にあるか判定する判定手段と、前記判定手段で、前記現実物体の位置と前記第１のモデルの位置とが所定距離内にあると判定された場合に、前記第１のモデルに対応する前記第２のモデルを特定する特定手段と、前記特定手段で特定された第２のモデルの空間上の位置姿勢を、前記現実物体の位置姿勢に従って決定する決定手段と、前記検出手段で検出された現実物体が所定の動きをしたことを検知する動き検知手段と、前記動き検知手段で当該現実物体が所定の動きをしたと検知した場合に、当該所定の動きをしている現実物体又は当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第２のモデルが、他の３次元モデルに接触したか判定する接触判定手段と、前記接触判定手段で接触したと判定された場合に、当該接触した旨を示す情報を前記表示装置の表示画面に表示すべく制御する表示制御手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ＭＲを用いて表示した設計物上の作業スペースの検証結果を容易に確認可能にする仕組みを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態における、情報処理システムの構成の一例を示す図である。
【図２】本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【図４】本発明の実施形態における、ナットに合わせたスパナのモデル表示処理の流れを示すフローチャートである。
【図５】本発明の実施形態における、可動範囲の確認処理の流れを示すフローチャートである。
【図６】本発明の実施形態における、距離特定処理の流れを示すフローチャートである。
【図７】本発明の実施形態における、各種データ構成の一例を示す図である。
【図８】本発明の実施形態における、現実空間と仮想空間を重ね合わせた場合のユーザ及びＣＧの位置の一例を示す図である。
【図９】本発明の実施形態における、可動範囲の確認表示の一例を示す図である。
【図１０】本発明の実施形態における、可動範囲の確認表示の一例を示す図である。
【図１１】本発明の実施形態における、距離表示の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１４】
まず図１を参照して、本発明の実施形態における情報処理システムの構成の一例について説明する。
【００１５】
ＰＣ２００は、ネットワーク１５０（例えばＬＡＮ）で、光学センサや、ＨＭＤ１０１（ヘッドマウントディスプレイ）と通信可能に接続されている。ＰＣ２００は、ＨＭＤ１０１のカメラで撮像した現実画像に重畳する仮想物体（ＣＧ／３次元モデル）の形状、大きさ、仮想空間上の位置姿勢の情報を記憶しており、光学センサから得られるＨＭＤ１０１の位置姿勢を用いて、ＨＭＤ１０１と同じ位置姿勢において同じ画角のカメラを用いて撮影した場合に得られる仮想空間の画像（仮想空間上に前述した位置姿勢で配置された仮想物体の画像）を生成して、現実画像と重畳し、複合現実画像（ＭＲ画像）を生成してＨＭＤ１０１に表示するべく出力する。
【００１６】
ＨＭＤ１０１は当該ＭＲ画像を表示画面に表示する。また光学センサは、ＨＭＤ１０１に設置された光マーカを追跡してＨＭＤ１０１の現実空間上の位置姿勢を特定して、ＰＣ２００に送信する。
【００１７】
また、ＰＣ２００は、ＨＭＤ１０１を装着したＭＲの体験者であるユーザの持つ現実物体が、所定の動きをしたか判定し、所定の動きをした場合に動きの範囲を特定して、当該動きの範囲と仮想物体とが接触しているか（当該動きによる作業のための空きスペース（空間）が十分にあるか）判定し、ユーザに通知する。例えば、図９の９１０に示すようなＭＲ画像を生成してＨＭＤ１０１に送信する。９１０の詳細については図９の説明で後述する。以上が図１の説明である。
【００１８】
次に図２を参照して、本発明の実施形態における各種装置のハードウェア構成の一例について説明する。
【００１９】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２０】
また、ＲＯＭ２０２には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステム（ＯＳ）、その他各種装置の実行する機能を実現するために必要な各種プログラムが記憶されている。
【００２１】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２２】
本発明のＰＣ２００が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００２３】
入力コントローラ（入力Ｃ）２０５は、キーボードやマウス等のポインティングデバイス（入力デバイス２１０）からの入力を制御する。
【００２４】
ビデオコントローラ（ＶＣ）２０６は、ＨＭＤ１０１が備える右目・左目ディスプレイ２２２等の表示器への表示を制御する。右目・左目ディスプレイ２２２に対しては、例えば外部出力端子（例えば、Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）を用いて出力される。また、右目・左目ディスプレイ２２２は、右目用のディスプレイと左目用のディスプレイとから構成されている。
【００２５】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２６】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。また、通信Ｉ／Ｆコントローラ２０８は、ギガビットイーサネット（登録商標）等を通じて光学式センサ（光学センサ）との通信も制御する。
【００２７】
汎用バス２０９は、ＨＭＤ１０１の右目・左目ビデオカメラ２２１からの映像を取り込むために使用される。右目・左目ビデオカメラ２２１からは、外部入力端子（例えば、ＩＥＥＥ１３９４端子）を用いて入力される。右目・左目ビデオカメラ２２１は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。
【００２８】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が図２の説明である。
【００２９】
次に図３を参照して、本発明の実施形態における、各種装置の機能構成について説明する。
【００３０】
撮像部３１１は、現実画像を撮像する撮像部（カメラ）である。撮像画像送信部３１２は、撮像した現実画像をＰＣ２００に送信する送信部である。
【００３１】
撮像画像記憶部３２１は、ＨＭＤ１０１から受信した現実画像（撮像画像）を記憶する記憶部である。ＨＭＤ位置姿勢記憶部３２２は、ＨＭＤ１０１の位置姿勢を記憶する記憶部である。例えば光学センサからＨＭＤ１０１の位置姿勢を取得して記憶する。
【００３２】
モデル情報記憶部３２３は、３次元モデルの位置姿勢を記憶する記憶部である。例えば図７の説明で後述するモデル情報７２０を記憶する。ＭＲ画像生成部３２４は、ＨＭＤ１０１の位置姿勢と、３次元モデルの位置姿勢とを用いて、ＨＭＤ１０１の位置から見た現実画像とＨＭＤ１０１の位置から見た３次元モデルの画像とを重畳したＭＲ画像（複合現実画像）を生成する生成部である。ＭＲ画像送信部３２５は、ＭＲ画像をＨＭＤ１０１に送信する送信部（表示制御部）である。
【００３３】
ＭＲ画像受信部３１３は、ＭＲ画像を受信する受信部であり、ＭＲ画像表示部３１４は、受信したＭＲ画像を表示する表示部である。
【００３４】
現実物体検出部３２６は、現実物体を検出して、検出した現実物体の位置姿勢を特定して記憶部に記憶する処理部である。現実物体とは、例えば２次元マーカの貼りつけられた物体（例：図８の８０１）である。ＰＣ２００のＣＰＵ２０１は、現実画像の中にある２次元マーカの画像から特定される２次元マーカの識別情報、形状、大きさ、角度、ＨＭＤ１０１の位置姿勢の情報から、当該２次元マーカの貼り付けられた現実物体の位置姿勢を特定する。
【００３５】
マーカの形状は問わないが、例えば正方形であり、全て同じサイズであるものとする。各マーカにはユニークなマーカ番号が埋め込まれているものとする。そして、ＨＭＤ１０１に設けられたカメラで撮像した際に、個々のマーカが識別でき、デコードした際に、そのマーカ番号が得られるものとする。撮像した画像中の位置検出用マーカそれぞれのサイズから、ＨＭＤ１０１からそれぞれのマーカまでの距離を求める。（３つのマーカから求めた３つの距離が重なる位置がＨＭＤ１０１の位置である。）なお、マーカの法線方向に視点があるとき、そのマーカ画像が正方形に見えることになる。そして、視点が法線方向からずれると、そのずれの度合いに応じて正方形が歪んで見える。つまり、この歪みから、視点の軸に対するマーカで規定される平面の向きが判明し、マーカのサイズから視点とマーカ間の距離を検出でき、マーカが貼り付けられた平面が規定できる。また、実施形態では、マーカには、互いに識別できる２つの印が設けられ、マーカの中心位置を原点とし、マーカで規定される上記の平面上の、原点からその印に向かう２つのベクトルを２軸、マーカの中心位置から法線方向の１軸で、局所的（ローカル）な３次元座標を規定する３軸を規定しているものとする。
【００３６】
距離判定部３２７は、現実物体と、所定の３次元モデルとの距離が所定距離以内か判定する判定部である。例えば、ナットのモデルの位置と、ユーザが手に持つ現実物体８０１（ターゲット８０１）との距離が所定距離以内か判定する。当該所定距離の情報（例えば所定距離７４０）はＰＣ２００の外部メモリに予め記憶されているものとする。
【００３７】
工具モデル特定部３２８は、ナットのモデルと現実物体が所定距離以内にあると判定された場合に、当該ナットの種類を特定して、特定したナットの種類に対応する工具の３次元モデルを特定する特定部である。
【００３８】
可動範囲判定部３２９は、工具モデル特定部３２８でナットに対応する工具として特定され、現実物体に重畳して配置・表示された工具の３次元モデル（工具モデル）の可動範囲が十分にあるか判定する判定部である。具体的には、ユーザがナットのモデルと所定距離内に現実物体を位置させたまま、所定の動きを検知した場合に（例えば予めＰＣ２００の外部メモリに記憶されているナットを締める動作とモーションの値が所定範囲内の動作／ナットを締める動作と判定される動作を検知した場合に）、ナットの位置・方向を軸とした当該工具モデルの可動の範囲を示すモデルが、他の３次元モデルと接触することを示しているか判定する。
【００３９】
通知部３３０は、工具モデルの可動範囲が十分でないと判定された場合に、当該工具モデルの可動範囲が十分でない旨をユーザに通知する通知部である。例えば、図９の９１０のように、工具モデルを稼動させた場合に他の３次元モデルに接触する旨を示すＭＲ画像を生成して、ＨＭＤ１０１に送信して表示させる表示制御部である。以上が図３の説明である。
【００４０】
次に図４を参照して、本発明の実施形態における、ナットに合わせたスパナのモデル表示処理の流れについて説明する。図４は、所定のモデルに対応する工具モデルの特定、配置、表示処理の流れを示すフローチャートである。ＰＣ２００のＣＰＵ２０１は、ステップＳ４０１〜Ｓ４０８の処理を、ＨＭＤ１０１及びＰＣ２００が起動してから、ＰＣ２００の不図示のＭＲ画像表示開始・終了指示受付画面において、ＭＲ画像の生成・表示の終了操作を受け付けるまで繰り返し実行する。
【００４１】
ＰＣ２００のＣＰＵ２０１は、光学センサからＨＭＤ１０１の位置姿勢の情報を取得して、外部メモリに記憶する（ステップＳ４０１）。具体的には、図７のＨＭＤ情報７００に、当該位置姿勢を取得したＨＭＤ１０１の識別情報であるＨＭＤ  ＩＤ７０１、当該ＨＭＤ１０１の現実空間上の位置７０２、姿勢７０３を記憶する（ステップＳ４０２）。
【００４２】
ＰＣ２００のＣＰＵ２０１は、ＨＭＤ１０１のカメラで撮像された現実画像を取得してメモリ上に記憶する。そして、当該現実画像中の２次元マーカを検出することにより検出された現実物体の位置姿勢を特定し、記憶する（ステップＳ４０３）。例えば、図７のマーカ情報７１０における、現実画像中から検出したマーカの位置姿勢を位置７１３、姿勢７１４に上書き・更新する。尚、マーカＩＤ７１１は２次元マーカの識別情報であり、大きさ７１２は２次元マーカの大きさ（サイズ）を示す。マーカＩＤ７１１、大きさ７１２は予めＰＣ２００の外部メモリに記憶されているものとする。
【００４３】
また、ＰＣ２００のＣＰＵ２０１は、ステップＳ４０３で検出した２次元マーカ（２次元マーカの貼付された現実物体）の検出中フラグ７１５を１に更新する。検出中フラグ７１５は、当該フラグに対応するマーカが検出中か否かを示すフラグであり、検出中フラグ７１５＝１の場合には検出中であり、検出中フラグ７１５＝０の場合には検出していない状態であることを示す。
【００４４】
ＰＣ２００のＣＰＵ２０１は、ステップＳ４０３で検出したターゲット８０１（図８：２次元マーカが貼り付けられた現実物体）から所定距離内に、所定の種類の３次元モデル（例えばナットのモデル）があるか判定する（ステップＳ４０４）。図８に、現実空間と仮想空間を重ね合わせた場合のユーザ及びＣＧの位置の一例を示す。
【００４５】
３次元モデルの位置姿勢、種類は図７のモデル情報７２０、配置中モデル情報７３０等に記憶されている。
【００４６】
図７を参照して、本発明の実施形態におけるモデル情報について説明する。
【００４７】
モデル情報７２０は、ＰＣ２００の外部メモリに予め記憶されている３次元モデルの情報である。モデル名７２１は３次元モデルの識別情報であるモデルのファイル名である。モデルファイルは、ＰＣ２００の外部メモリ上の所定のフォルダに記憶されているものとする。種類７２２は、３次元モデルの種類を示す。例えば、ｎａｔはモデルの種類＝ナットであることを示し、ｓｐａｎｎｅｒ０１はモデルの種類＝スパナ（工具）、ｍｏｖｅ０１はモデルの種類＝工具に対応する工具の可動範囲、ｒｅａｌはモデルの種類＝現実物体に重畳する現実物体と同じ形状・大きさのモデルであることを示す。なお、ｎａｔ０１とｎａｔ０２は、ナットの中でも別の種類のナットである。
【００４８】
対応モデル７２３は、種類７２２に示す種類に対応するモデルの種類である。例えば、種類７２２＝ナットであれば、対応モデル７２３には当該対応モデル７２３のナットに対応する工具（スパナ）のモデルの種類が記憶されている。種類７２２＝スパナであれば、対応モデル７２３には当該種類７２２のスパナに対応するナットのモデル（部品のモデル／工具による作業対象のモデル）の種類が記憶されている。また、種類７２２＝可動範囲であれば、対応モデル７２３には当該種類７２２の可動範囲に対応するスパナのモデルの種類が記憶されている。
【００４９】
可動範囲７２４は、種類７２２＝スパナであるモデル（工具・道具のモデル）に対応付けて記憶される、当該工具の可動範囲を示すモデルの種類である（例えば図９でいう９２１）。マーカＩＤ７２５は、２次元マーカの識別情報である。
【００５０】
配置中モデル情報７３０（配置中モデル情報７３０Ａ、７３０Ｂ，７３０Ｃ）は、ＰＣ２００の外部メモリに記憶される、仮想空間上に配置されているモデルの情報を記憶する。
【００５１】
マーカＩＤ７３１は、モデル名７３２のモデルが、２次元マーカの位置を基準として配置される場合に記憶される。例えば、工具（スパナ）のモデルの場合には、仮想空間上に当該モデルが配置されるにあたり、当該配置の基準位置を示すマーカの識別情報が記憶される。
【００５２】
位置７３３、姿勢７３４は、モデル名７３２のモデルの仮想空間上における位置姿勢を示す。
【００５３】
ステップＳ４０４では、ＰＣ２００のＣＰＵ２０１は、種類７２２＝ナットのモデルの位置７３３と、現実物体の位置７３３（種類７２２＝ｒｅａｌ０１のモデルの位置）とが所定距離７４０以内か判定する。具体的には、ＰＣ２００のＣＰＵ２０１は、現実物体に貼付された２次元マーカから特定された当該現実物体の現実空間上の位置に対応する仮想空間上の位置に、予め外部メモリ上に用意しておいた当該現実物体と同じ大きさ・形状をしたモデル（種類７２２＝ｒｅａｌ０１のモデル）を配置して、当該モデルの外面上の点の中でナットのモデルの位置と最短距離にある点と、当該ナットのモデルの位置との距離が、所定距離７４０以内か判定する。
【００５４】
ナットのモデルと現実物体が所定距離内にあると判定された場合、現実物体から最も近い位置にあるナットのモデルを特定し（ステップＳ４０５）、特定したナットのモデルの種類７２２を参照して当該種類に対応する工具のモデル（対応モデル７２３のモデル）をメモリから取得する（ステップＳ４０６）。
【００５５】
そして、取得した工具のモデルを、ナットと所定距離以内にある現実物体の位置（ナットとの距離判定に用いられた現実物体を示す３次元モデルが参照しているマーカＩＤ７３１を基準とした仮想空間上の位置）をモデルの配置位置として決定して、配置する（ステップＳ４０７）。つまり、図７の７３０Ｂに示すように、マーカＩＤ７３１のマーカの位置姿勢と同じ位置姿勢を位置７３３、姿勢７３４に挿入して記憶する。
【００５６】
ＰＣ２００のＣＰＵ２０１は、ＨＭＤ１０１から取得した現実画像に配置中モデル情報７３０に示す、仮想空間上に配置されている３次元モデルの画像であって、ＨＭＤ１０１の位置姿勢から見た仮想空間内の画像（仮想画像）を重畳したＭＲ画像を生成して、ＨＭＤ１０１の表示画面に表示すべくＨＭＤ１０１に送信する（ステップＳ４０８）。例えば、図９の９１０に示すように、ターゲット８０１の位置に重畳して工具モデル９１１を配置したＭＲ画像を生成する。なお、図９の９００は工具モデル９１１配置前のターゲット８０１、３次元モデル８０２の状態を示す。ＨＭＤ１０１は当該ＭＲ画像を受信して表示画面に表示する。以上が図４の説明である。
【００５７】
次に図５を参照して、本発明の実施形態における、可動範囲の確認処理の流れについて説明する。
【００５８】
ＰＣ２００のＣＰＵ２０１は、ＰＣ１００の表示画面上に表示される不図示のシミュレーション開始画面において、「シミュレーション開始」ボタンの押下指示を受け付け（ステップＳ５０１）、ステップＳ５０２以降の処理を実行する。
【００５９】
ＰＣ２００のＣＰＵ２０１は、ナットのモデルと工具のモデルが接触したか判定する（ステップＳ５０２）。モデル同士の接触の判定は、配置中モデル情報７３０の各モデルの位置姿勢と、モデル名７３２のモデルファイルの中に記憶されている、各モデルの形状・大きさを用いて判定する。
【００６０】
ＰＣ２００のＣＰＵ２０１は、ナットのモデルと工具のモデルが接触していないと判定した場合には図５の処理を終了する。ナットのモデルと工具のモデルが接触していると判定した場合には、現実物体が所定の動きをしたか判定する（ステップＳ５０３）。当該現実物体が所定の動きをしたか否かの判定は、例えばＨＭＤ１０１に設置されているカメラと、公知のモーション検知の技術（例：特開２０１２−００８７７２等に記載の技術）を用いて実行するものとする。なお、所定の動きの情報は、別途ＰＣ２００の外部メモリに記憶されているものとする。ここでいう所定の動きとは、ナットのモデルの位置・向き（ナットの軸方向）を軸として、ナットを締めるような動きであるものとする。
【００６１】
所定の動きをしていない場合図５の処理を終了する。所定の動きをしていると判定された場合には、当該所定の動きをしている現実物体に重畳された工具の３次元モデルに対応する可動範囲７２４のモデルを取得する（ステップＳ５０４）。これは工具を使ってナットを回す／締めるのに工具を動かす範囲を示す図９の９２１のようなモデルである。ＰＣ２００のＣＰＵ２０１は当該取得した可動範囲を示すモデルを、工具のモデルと同じ位置姿勢で仮想空間上に配置する。具体的には、図７の７３０Ｃに示すように配置中モデル情報７３０に、可動範囲のモデル（Ｍ００４．ｖｒｍｌ）を追加し、スパナのモデル（Ｍ００３．ｖｒｍｌ）と同じ位置姿勢の値を記憶する（ステップＳ５０５）。
【００６２】
ＰＣ２００のＣＰＵ２０１は、当該可動範囲を示すモデルが、ナット以外の３次元モデルと接触しているか判定する（ステップＳ５０６）。ナットのモデル以外の３次元モデルと接触している例を図９の９３０に示す。ナットのモデル以外の３次元モデルと接触していない例を図９の９２０に示す。
【００６３】
可動範囲を示すモデルがナット以外の３次元モデルと接触していない場合、図９の９２０の「ＯＫ」オブジェクト９２２に示すように、可動範囲を示すモデルがナット以外の３次元モデルと接触していない旨を示す情報を、ＨＭＤ１０１の表示画面に表示させる処理を行う（ステップＳ５０９）。具体的には、工具の可動範囲を示すモデルから所定距離離れた仮想空間上の位置に図９の９２２に示すような３次元モデルを配置してＭＲ画像を生成し、ＨＭＤ１０１に送信する。ＨＭＤ１０１はこれを受信して表示する。そして、可動範囲を示すモデルがナット以外の３次元モデルと接触していないと判定された際の、可動範囲のモデルの位置（例えば図９の９２３に示すような可動範囲のモデルの頂点が位置する仮想空間上の位置）と、当該接触していないと判定された時間をメモリに記憶する（ステップＳ５１０／図７の判定位置情報７５０のＯＫ位置７５１、日時７５２）。
【００６４】
一方、ステップＳ５０６で、可動範囲を示すモデルがナット以外の３次元モデルと接触していると判定された場合、図９の９３０の「ＮＧ」オブジェクト９３２に示すように、可動範囲を示すモデルがナット以外の３次元モデルと接触している旨を示す情報をＨＭＤ１０１の表示画面に表示する処理を行う（ステップＳ５０７）。具体的には、工具の可動範囲を示すモデルから所定距離離れた仮想空間上の位置に図９の９３２に示すような３次元モデルを配置し、また、各モデルが接触している位置を示す９３１に示すようなモデルを生成して、各モデルが接触している位置（接触位置）に配置してＭＲ画像を生成し、ＨＭＤ１０１に送信する。ＨＭＤ１０１はこれを受信して表示する。
【００６５】
そして、可動範囲を示すモデルがナット以外の３次元モデルと接触していると判定された際の、可動範囲のモデルの位置と、当該接触していると判定した時間とをメモリに記憶する（ステップＳ５０８／図７の判定位置情報７５０のＮＧ位置７５３、日時７５４／位置記憶手段に該当）。そして、工具のモデルが接触しているナットのモデルが配置されている位置にある（ナットのモデルが合致している／設置されている）モデルを特定し、当該モデル上の、当該ナットのモデルと接触しているナットの設置位置を特定する（ステップＳ５１１）。例えば、ナットの中心点と最も近い位置にある、当該ナットが接触しているモデルの面上の点を、当該設置位置として特定する。
【００６６】
ＰＣ２００のＣＰＵ２０１は、ナットと接触しているモデル（例：３次元モデル８０２に示すモデル）のファイルを所定のフォルダにコピーして、当該コピーしたファイルのモデル上の前記設置位置に、当該設置位置を示す球のモデルを生成・配置して、上書き保存する（ステップＳ５１２）。つまり、尚、ステップＳ５０６で、可動範囲を示すモデルが他の３次元モデル（例：３次元モデル８０２に示すモデル）と接触していると判定されている場合には、赤の球を生成して配置し、可動範囲を示すモデルが他の３次元モデルと接触していないと判定されている場合には、青の球を生成して配置するものとする。これにより、各球が、当該点を基準位置とした工具の可動範囲が十分か否かを、容易に確認可能とする。以上が図５の説明である。
【００６７】
なお、ステップＳ５１２において、コピーしたモデルファイル上に可動範囲を示すモデル９２１とモデル８０２の接触位置を示すモデルや、可動範囲を示すモデル９２１そのものを生成して、仮想空間上において、モデル８０２接触したと判定された時点におけるモデル８０２との相対位置に配置するようにしてもよい。
【００６８】
また、ステップＳ５０６における判定において、ナットが設置されている面を除いて、工具の可動範囲を示すモデルとの接触判定を行うようにしてもよい。
【００６９】
また、ステップＳ５１２の処理の直後に、ＨＭＤ１０１に表示されている画像（例えばステップＳ５０７、又はＳ５０９で生成したＭＲ画像）をキャプチャして、所定のフォルダに出力、保存するようにしてもよい。
【００７０】
当該コピーファイルの出力、キャプチャ画像の出力、保存により、当該コピーファイルを他のユーザが確認可能となる。よって例えば、ＨＭＤ１０１を装着した作業者が検討していた、作業スペース（工具の可動範囲）が十分か否かの情報を、他のユーザである設計者に容易に手渡すことができる状態となる。また、容易に確認させることができる
【００７１】
図５の処理によれば、現実物体の位置と、現実物体と所定距離内にあるモデルの位置とを用いて、当該モデルに対応する適切なモデルを選出し、表示させることができる。
【００７２】
また、当該工具のモデルに対応する可動範囲のモデルを取得して配置することで、当該工具を用いた作業範囲が十分に確保されているかを目視で確認することができる。
【００７３】
次に図６を参照して、本発明の実施形態における、本発明の実施形態における、距離特定処理の流れについて説明する。
【００７４】
図６の処理は、例えばＨＭＤ１０１を装着して、作業スペース（工具の可動範囲）が十分に確保されているかをＭＲを用いて検証している作業者が、現在ナットが存在する場所では作業スペースが十分でないことが分かったため、モデル上のどの位置にナット（ナットを用いて締めるボルト）を移動すればよいかを検証した検証結果を表示する処理である。
【００７５】
例えば、図１０の１０００における１００１の位置でスパナを左右に振る動作を行い、その後、図１０の１０１０における１０１１の位置にスパナを移動させた場合に、図１１に示すように、１００１の位置から１０１１の位置の間の距離を識別可能にするものである。以下、詳細を説明する。
【００７６】
ＰＣ２００のＣＰＵ２０１は、工具のモデルと、ナット以外のモデルの面が接触しているか判定し、接触していると判定した場合に、当該接触している時間が所定時間以上か判定する（ステップＳ６０１）。所定時間の情報は、ＰＣ２００の外部メモリに予め記憶されているものとする。
【００７７】
接触している時間が所定時間未満の場合には図６の処理を終了する。所定時間以上接触していると判定した場合には、当該工具のモデルに対応する可動範囲のモデルを取得して、当該工具のモデルの位置姿勢と同じ位置姿勢で、当該可動範囲のモデルを仮想空間上に配置する（ステップＳ６０２）。
【００７８】
そして、当該可動範囲のモデルが、工具が接触している面以外のモデルの面と接触しているか判定する（ステップＳ６０３）。工具が接触している面以外のモデルの面と接触している場合には処理を終了する。工具が接触している面以外のモデルの面と接触していない場合には、処理をステップＳ６０４に移行し、当該工具のモデルと接触しているモデル上の点を特定してメモリ上に記憶する（ステップ６０４）。例えば、工具のモデルがスパナの場合、スパナのナットを締めるヘッド部分の中心点（例：図１０の１０１１）の位置を特定する。
【００７９】
そして、過去所定時間内に、工具の可動範囲のモデルとナット以外のモデルが接触しているか判定する（ステップＳ６０５）。具体的には、図７の日時７５４とＰＣ２００が自装置の時計機能で特定可能な現在日時との差の時間が、外部メモリに予め記憶されている不図示の所定時間内か判定するものである。
【００８０】
過去所定時間内に、工具の可動範囲のモデルとナット以外のモデルが接触している記録があった場合には、当該記録（ＮＧ位置７５３）の示す位置から、ステップＳ６０４でメモリ上に記憶した位置との距離を算出する（ステップＳ６０６）。
【００８１】
そして、当該距離を示す３次元モデルを生成する（ステップＳ６０７）。例えば図１１の１１００に示す、モデル１１０１や１１０２に示すような、２つの点同士の距離を示す３次元モデルである。
【００８２】
ＰＣ２００のＣＰＵ２０１は、当該距離を示すモデルを、ＮＧ位置７５３の示す位置から、ステップＳ６０４でメモリ上に記憶した位置の間に、２つの位置の示す２つの点を結ぶように配置して（ステップＳ６０８）、ＨＭＤ１０１から取得した現実画像に重畳してＭＲ画像を生成し（２つの点の相対位置／相対関係を示す相対関係画像生成手段に該当）、ＨＭＤ１０１に送信する（ステップＳ６０９）。ＨＭＤ１０１は当該ＭＲ画像を受信して、図１１の１１００のようなＭＲ画像を表示画面に表示する。以上が図６の説明である。
【００８３】
なお、前述した距離を示すモデルは図１１の１１０１や１１０２の形状に限るものではない。例えば図１１の１１１０に示すモデル１１１１のような形状のモデルを生成するようにしてもよい。
【００８４】
また、ＰＣ２００のＣＰＵ２０１が、ステップＳ６０９の後に、モデル８０２のファイルを所定のフォルダにコピーして保存し、前記距離のモデルで結ばれたモデル８０２上の２つの点（ＮＧ位置７５３の示す位置と、ステップＳ６０４でメモリ上に記憶した位置の点）、及び当該２つの点の間の距離を示す３次元モデルを、当該コピーしたモデルファイル上で生成して配置、上書き保存するようにしてもよい。つまり、前記距離のモデルで結ばれたモデル８０２上の２つの点（ＮＧ位置７５３の示す位置と、ステップＳ６０４でメモリ上に記憶した位置の点）、及び当該２つの点の間の距離を示す３次元モデルを対応付けて記憶する処理を行うものである。
【００８５】
また、ステップＳ６０９の直後に、ＨＭＤ１０１に表示されている画像（例えばステップＳ６０９で生成したＭＲ画像）をキャプチャして、所定のフォルダに出力、保存するようにしてもよい。
【００８６】
当該コピーファイルの出力、キャプチャ画像の出力、保存により、当該コピーファイルを他のユーザが確認可能となる。よって例えば、ＨＭＤ１０１を装着した作業者が検討していた、作業スペース（工具の可動範囲）が十分か否かの情報を、他のユーザである設計者に容易に手渡すことができる状態となる。また、容易に確認させることができる。
【００８７】
例えば、どの位置にナット（ナットを使って締めるボルト）を移動させた設計をすれば作業スペースが十分に確保できるかを、設計者に容易に伝達可能となる。
【００８８】
なお、ステップＳ６０１において、工具のモデルとナット以外のモデルの面が所定時間以上接触しているか判定するものとしたが、例えば、図５のＳ５０３と同じように、工具のモデルと同じ位置にある現実物体が所定の動きをしているか判定し、所定の動きをしていると判定した場合には処理をステップＳ６０２に移行するようにしてもよい。こうすることでユーザは、作業スペースが十分でないと判断されたナットの位置とは別の位置で、ナット等の部品を締めるような直感的な動作をするだけで、作業スペースが十分でないと判断されたナットの位置から、作業スペースが十分であると判断されたモデル上の位置までの距離を知ることができる。また、当該情報を出力することができるようになる。
【００８９】
以上説明したように、本発明によれば、ＭＲを用いて表示した設計物上の作業スペースの検証結果を容易に確認可能にする仕組みを提供することができる。
【００９０】
尚、上述した実施形態においては、ＨＭＤ１０１に設置されたカメラと、ＰＣ２００の外部メモリに記憶された所定の動きの情報を用いて、現実物体（ターゲット８０１）が所定の動きをしたか判定するものとしたが、例えば、ターゲット８０１と同じ位置、姿勢に配置された現実物体を示すモデルの位置姿勢の履歴を記憶し、当該位置姿勢の履歴と、別途ＰＣ２００の外部メモリに記憶された所定の動きの情報を照らし合わせて、現実物体が所定の動きをしたか否か判定するようにしてもよい。
【００９１】
また、上述した実施形態においては、工具の例をスパナ、部品の例をナットとしたが、工具、部品のモデルはこれに限るものではない。例えば部品の種類としてネジやボルトを示す値を挿入したモデルを記憶しておき、ナットの代わりに用いるようにしてもよい。また、工具の種類としてレンチやドライバを示す値を挿入したモデルを記憶しておき、スパナの代わりに用いるようにしてもよい。
【００９２】
また、可動範囲を示すモデル（ｍｏｖｅ）は、予め外部メモリ上に記憶されているものとしたが、例えば、図５のＳ５０３や図６のＳ６０１で所定の動きをしたと判定された現実物体に重畳されている（ターゲットのマーカＭ１１１の位置に配置されている）工具のモデルの所定時間内の位置姿勢の履歴を記憶して置き、当該履歴を参照して、例えば、当該履歴から特定される、当該工具のモデルが過去５秒間の間に通った軌跡を示す座標値を取得して、当該座標値から特定されるモ工具のモデルが通った軌跡を示す形状のモデル（所定の動きを示すモデル）を生成して、Ｓ５０５やＳ６０２で仮想空間上に配置するようにしてもよい。実際の工具のモデルの動きを用いることで、より現実的な作業スペース有無の検証が可能となる。
【００９３】
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００９４】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００９５】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９６】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００９７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００９８】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１００】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１０１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１０２】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０３】
１０１  ＨＭＤ
１５０  ネットワーク
２００  ＰＣ
【図１】
2020187778.tif 000003
【図２】
2020187778.tif 000004
【図３】
2020187778.tif 000005
【図４】
2020187778.tif 000006
【図５】
2020187778.tif 000007
【図６】
2020187778.tif 000008
【図７】
2020187778.tif 000009
【図８】
2020187778.tif 000010
【図９】
2020187778.tif 000011
【図１０】
2020187778.tif 000012
【図１１】
2020187778.tif 000013