(57)【要約】【課題】  ユーザが手にする物体にＣＡＤデータに従った仮想物体を重畳させる場合に、この仮想物体に対する視覚と、この物体に対する触覚との間の違和感を軽減させるための技術を提供すること。【解決手段】  ＣＡＤシステム１０１はＣＡＤデータを作成する。展開図作成システム１０２はＣＡＤデータが示すオブジェクトの展開図のデータとマーカ情報とを作成する。モック作成システム１０３は展開図のデータを印刷装置に出力する。ＭＲシステム１０４は、印刷装置が印刷した展開図を用いて組み立てられたモックアップが存在する現実空間の画像とマーカ情報とを用いて視点に対するモックアップの相対的な位置姿勢を求める。そして求めた位置姿勢に配置したオブジェクトの仮想物体を視点から見た場合に見える画像を生成し、生成した画像を現実空間の画像上に重畳させて出力する。【選択図】  図１
2007034981.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡＤデータを取得する手段と、
ＣＡＤデータが示すオブジェクトの展開図を示すデータを作成すると共に、当該展開図における各面に係るデータを作成する手段と、
前記展開図を示すデータを印刷装置に出力する手段と、
前記印刷装置が前記展開図を示すデータに従って記録媒体上に印刷した展開図を用いて組み立てられたモックアップが存在する現実空間の画像を取得する手段と、
前記取得した画像と前記各面に係るデータとを用いて所定の視点に対する前記モックアップの相対的な位置姿勢を求める手段と、
前記求めた位置姿勢でもって前記オブジェクトの仮想物体を配置し、配置した当該仮想物体を前記所定の視点から見た場合に見える画像を生成する手段と、
前記生成した画像を現実空間の画像上に重畳させて出力する手段と
を備えることを特徴とする画像処理システム。
【請求項２】
前記各面に係るデータは、各面に描画する画像データ、及び、各面の位置姿勢データを含むことを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記各面に描画する画像データは、前記各面の法線方向から、前記オブジェクトに対応する部分のＣＡＤデータを正射投影した画像データであることを特徴とする請求項２に記載の画像処理システム。
【請求項４】
ＣＡＤデータを取得する手段と、
前記ＣＡＤデータが示すオブジェクトの展開図における各面に係るデータを取得する手段と、
前記展開図を示すデータを印刷装置に出力することで当該印刷装置が記録媒体上に印刷した展開図を用いて組み立てられたモックアップが存在する現実空間の画像を取得する手段と、
前記取得した画像と前記各面に係るデータとを用いて所定の視点に対する前記モックアップの相対的な位置姿勢を求める手段と、
前記求めた位置姿勢でもって前記オブジェクトの仮想物体を配置し、配置した当該仮想物体を前記所定の視点から見た場合に見える画像を生成する手段と、
前記生成した画像を現実空間の画像上に重畳させて出力する手段と
を備えることを特徴とする画像処理装置。
【請求項５】
ＣＡＤデータを取得する工程と、
前記ＣＡＤデータが示すオブジェクトの展開図における各面に係るデータを取得する工程と、
前記展開図を示すデータを印刷装置に出力することで当該印刷装置が記録媒体上に印刷した展開図を用いて組み立てられたモックアップが存在する現実空間の画像を取得する工程と、
前記取得した画像と前記各面に係るデータとを用いて所定の視点に対する前記モックアップの相対的な位置姿勢を求める工程と、
前記求めた位置姿勢でもって前記オブジェクトの仮想物体を配置し、配置した当該仮想物体を前記所定の視点から見た場合に見える画像を生成する工程と、
前記生成した画像を現実空間の画像上に重畳させて出力する工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項６】
コンピュータに請求項５に記載の制御方法を実行させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間と仮想空間とを合成した複合現実空間をユーザに提供するための技術に関するものである。
【背景技術】
【０００２】
ＶＲ（バーチャルリアリティ）システムは、コンピュータの作り出す三次元CGをユーザに提示することで、仮想の空間をあたかも現実であるかのように感じさせるシステムである。また、近年、現実世界の映像に三次元CGを合成することで、現実世界にはない情報をユーザに提示する技術の開発もなされている。それらは、AR（Augumented Reality, 拡張現実感）システムやMR（Mixed Reality, 複合現実感）システムと呼ばれている。
【０００３】
ＭＲシステムでは、現実の物体に三次元ＣＧを重畳することが可能であり、例えば、特許文献１に開示されているゲームでは、ユーザの持つ対話操作入力装置に剣や武器などの三次元ＣＧを重畳表示する。これにより、ユーザが自由に仮想の物体（この場合は剣や武器）を操ることを可能にしている。
【０００４】
このようなMRシステムでは、現実の物体と仮想の物体との位置合わせが必要である。現実の物体と仮想の物体の位置が合っていなければ、例えば、現実のテーブルの上に置いた仮想の花瓶が空中に浮いてしまったり、テーブルにめりこんでしまったりすることになる。位置合わせの方法にはさまざまなものがあり、例えば、現実の物体に位置合わせのためのマーカを貼り、そのマーカをカメラで捉えることによって現実世界の位置を算出し、それに合わせて仮想の物体を配置するなどといった方法が行われている。
【０００５】
一方、CAD（Computer Aided Design）システムは、コンピュータを用いて建築物や工業製品の設計を行うシステムであり、幅広い分野で利用されている。中でも三次元CADシステムでは設計を三次元で行うことが可能であり、設計したデータは三次元CGとして画面上で確認することができるようになっている。
【０００６】
CADシステムで設計したCADデータをMRシステムに渡すことで、現実世界の映像に重ねてCADデータを見ることができる。また、ユーザの持つ三次元マウスなどの対話操作入力装置に連動してCADデータを動かすことで、ユーザが自由にCADデータを動かしながら観察することができる。
【０００７】
たとえば、ユーザが手に持った対話操作入力装置にカメラのCADデータを重ねることで、ユーザはあたかも実際にカメラを持っているかのようにしてカメラのCADデータを観察することができる。
【特許文献１】特開２０００−３５３２４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
このように対話操作入力装置にCADデータを重ねた場合、ユーザに提示される映像はCADデータとなるが、ユーザが持っているのは対話操作入力装置にすぎない。よって、両者の形状は異なるため、ユーザは触覚と視覚の間に違和感を感じることになる。
【０００９】
この違和感をなくすためには、CADデータと全く同じ形状の物体を用意し、対話操作入力装置に被せればよい。しかし、これを実行するためには光造形装置などの特殊な装置が必要であり、また、その製作には時間もコストもかかってしまう。
【００１０】
本発明は上記問題に鑑みて成されたものであり、ユーザが手にする物体にＣＡＤデータに従った仮想物体を重畳させる場合に、この仮想物体に対する視覚と、この物体に対する触覚との間の違和感を軽減させるための技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の目的を達成するために、例えば、本発明の画像処理システムは以下の構成を備える。
【００１２】
即ち、ＣＡＤデータを取得する手段と、
ＣＡＤデータが示すオブジェクトの展開図を示すデータを作成すると共に、当該展開図における各面に係るデータを作成する手段と、
前記展開図を示すデータを印刷装置に出力する手段と、
前記印刷装置が前記展開図を示すデータに従って記録媒体上に印刷した展開図を用いて組み立てられたモックアップが存在する現実空間の画像を取得する手段と、
前記取得した画像と前記各面に係るデータとを用いて所定の視点に対する前記モックアップの相対的な位置姿勢を求める手段と、
前記求めた位置姿勢でもって前記オブジェクトの仮想物体を配置し、配置した当該仮想物体を前記所定の視点から見た場合に見える画像を生成する手段と、
前記生成した画像を現実空間の画像上に重畳させて出力する手段と
を備えることを特徴とする。
【００１３】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００１４】
即ち、ＣＡＤデータを取得する手段と、
前記ＣＡＤデータが示すオブジェクトの展開図における各面に係るデータを取得する手段と、
前記展開図を示すデータを印刷装置に出力することで当該印刷装置が記録媒体上に印刷した展開図を用いて組み立てられたモックアップが存在する現実空間の画像を取得する手段と、
前記取得した画像と前記各面に係るデータとを用いて所定の視点に対する前記モックアップの相対的な位置姿勢を求める手段と、
前記求めた位置姿勢でもって前記オブジェクトの仮想物体を配置し、配置した当該仮想物体を前記所定の視点から見た場合に見える画像を生成する手段と、
前記生成した画像を現実空間の画像上に重畳させて出力する手段と
を備えることを特徴とする。
【００１５】
本発明の目的を達成するために、例えば、本発明の画像処理装置の制御方法は以下の構成を備える。
【００１６】
即ち、ＣＡＤデータを取得する工程と、
前記ＣＡＤデータが示すオブジェクトの展開図における各面に係るデータを取得する工程と、
前記展開図を示すデータを印刷装置に出力することで当該印刷装置が記録媒体上に印刷した展開図を用いて組み立てられたモックアップが存在する現実空間の画像を取得する工程と、
前記取得した画像と前記各面に係るデータとを用いて所定の視点に対する前記モックアップの相対的な位置姿勢を求める工程と、
前記求めた位置姿勢でもって前記オブジェクトの仮想物体を配置し、配置した当該仮想物体を前記所定の視点から見た場合に見える画像を生成する工程と、
前記生成した画像を現実空間の画像上に重畳させて出力する工程と
を備えることを特徴とする。
【発明の効果】
【００１７】
本発明の構成により、ユーザが手にする物体にＣＡＤデータに従った仮想物体を重畳させる場合に、この仮想物体に対する視覚と、この物体に対する触覚との間の違和感を軽減させることができる。
【発明を実施するための最良の形態】
【００１８】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１９】
［第１の実施形態］
図１は、本実施形態に係るシステムの構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、４つのサブシステムで構成されている。以下では、同図のシステムを用いて、カメラのＣＡＤデータを作成し、作成したＣＡＤデータを用いて生成したカメラの仮想物体をユーザに提供する場合について説明する。しかし、提供する仮想物体の種類にはカメラ以外に様々なものが考えられ、特定のものに限定しない。
【００２０】
以下、同図を用いて、本実施形態に係るシステムを構成する各サブシステムについて説明する。
【００２１】
先ず、ＣＡＤシステム１０１について説明する。ＣＡＤシステム１０１は、ＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータにより構成されており、このコンピュータには、一般のＣＡＤアプリケーションソフトがインストールされている。従って、周知の通り、オペレータがこのＣＡＤシステム１０１を用いることで、建築物や工業製品などの設計を行うことができ、設計した対象のデータ（ＣＡＤデータ）は、コンピュータが有するハードディスクドライブ装置などの記憶装置に保存される。本実施形態では、このＣＡＤシステム１０１を用いて、カメラのＣＡＤデータを作成するものとする。
【００２２】
作成したＣＡＤデータはＣＧ用ＣＡＤデータとしてＭＲシステム１０４に入力する。また、作成したＣＡＤデータは展開図用ＣＡＤデータとして展開図作成システム１０２にも入力する。なお、それぞれのシステムへのデータの入力形態については特に限定するものではなく、ＣＤ−ＲＯＭなどの記憶媒体を介して入力するようにしても良いし、ネットワークを介してそれぞれのシステム間でデータの送受信を行うようにしても良い。このように、サブシステム間におけるデータの授受の方式については特に限定するものではない。
【００２３】
次に、展開図作成システム１０２について説明する。展開図作成システム１０２は、ＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータにより構成されており、このコンピュータには、後述する展開図作成処理を行うためのアプリケーションソフトがインストールされている。従って、展開図作成システム１０２はこのアプリケーションソフトを実行し、ＣＡＤシステム１０１が作成したＣＡＤデータを用いて、このＣＡＤデータが示すオブジェクト（カメラ）の展開図、及び後述するマーカ情報を作成する。そして作成した展開図を示すデータはモック作成システム１０３に入力し、作成したマーカ情報はＭＲシステム１０４に入力する。
【００２４】
次に、モック作成システム１０３について説明する。モック作成システム１０３は、ＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータと、プリンタ等の印刷装置とで構成されており、このコンピュータにはこの印刷装置のドライバソフトがインストールされている。従って、このコンピュータは展開図作成システム１０２が作成した展開図データに従って紙などの記録媒体上に印刷を行うよう、印刷装置を制御する。これにより、記録媒体上には、カメラの展開図が印刷されることになる。
【００２５】
なお、モック作成システム１０３の構成については様々な構成が考えられ、外部から入力したデータに従って紙などの記録媒体上に印刷を行うことができる構成であれば如何なる構成であっても良い。
【００２６】
次に、ＭＲシステム１０４について説明する。ＭＲシステム１０４は周知の如く、ユーザの視点の位置姿勢に応じて見える複合現実空間をこのユーザに対して提供するものであり、その構成には様々なものが存在する。本実施形態では、ＭＲシステム１０４は、ＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータと、ユーザの頭部に装着するＨＭＤ（ヘッドマウントディスプレイ装置）とで構成されているものとして説明する。また、このＨＭＤはビデオシースルー型のものであるとするので、このＨＭＤには現実空間を撮像するビデオカメラが備わっているものとする。
【００２７】
ＭＲシステム１０４を構成するコンピュータは、ＣＡＤシステム１０１からＣＧ用ＣＡＤデータを受けると、このデータに基づいてカメラの仮想物体を生成する。そして、ユーザの視点から見える仮想物体の画像を生成し、生成した画像をＨＭＤに送出する。なお、展開図作成システム１０２から受けるマーカ情報の使用については後述する。
【００２８】
図１７は、上記各サブシステムに適用可能なコンピュータのハードウェア構成を示すブロック図である。なお、各サブシステムに適用するコンピュータは全て同じ構成を有さなくても良く、適宜変形しても良い。
【００２９】
図１７において１７０１はＣＰＵで、ＲＡＭ１７０２やＲＯＭ１７０３に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、本コンピュータを適用したサブシステム中のコンピュータが行う後述の各処理を実行する。
【００３０】
１７０２はＲＡＭで、外部記憶装置１７０６からロードされたプログラムやデータ、Ｉ／Ｆ１７０７やネットワークインターフェース１７０８を介して外部から受信したデータを一時的に記憶するためのエリア等を適宜提供することができる。また、ＲＡＭ１７０２は、ＣＰＵ１７０１が各種の処理を実行する際に用いるワークエリアも提供することができる。
【００３１】
１７０３はＲＯＭで、本コンピュータの設定データやブートプログラム等を格納する。
【００３２】
１７０４は操作部で、キーボードやマウス等の入力装置により構成されており、本コンピュータの操作者が操作することで、各種の指示をＣＰＵ１７０１に対して入力することができる。
【００３３】
１７０５は表示部で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１７０１による処理結果を画像や文字などでもって表示することができる。
【００３４】
１７０６は外部記憶装置で、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置１７０６にはＯＳ（オペレーティングシステム）や本コンピュータを適用するサブシステム中のコンピュータが行う後述の各処理をＣＰＵ１７０１に実行させるためのプログラムやデータが保存されている。保存されているプログラムやデータはＣＰＵ１７０１による制御に従って適宜ＲＡＭ１７０２にロードされ、ＣＰＵ１７０１による処理対象となる。
【００３５】
１７０７はＩ／Ｆで、外部装置とのデータ通信を行うためのものであり、例えば本コンピュータをモック作成システム１０３に適用する場合には、このＩ／Ｆ１７０７には、印刷装置が接続されることになる。また、本コンピュータをＭＲシステム１０４に適用する場合には、このＩ／Ｆ１７０７にはＨＭＤ（ビデオカメラを含む）が接続されることになる。
【００３６】
１７０８はネットワークインターフェースで、図１に示したサブシステム間をＬＡＮやインターネット等のネットワークでもって接続する場合には、このネットワークインターフェース１７０８は、このネットワークに接続する。
【００３７】
１７０９は上述の各部を繋ぐバスである。
【００３８】
次に、図１に示した各サブシステムが行う処理について、図２に示すフローチャートを用いて説明する。図２は、本実施形態に係るシステムを構成する各サブシステムが行う処理のフローチャートである。なお、各サブシステムに対応するフローチャートに従った処理は、各サブシステムを構成するコンピュータのＣＰＵ１７０１が行うものである。即ち、ステップＳ２０１は、ＣＡＤシステム１０１のコンピュータのＣＰＵ１７０１が行う処理であり、ステップＳ２１１からステップＳ２１５は、展開図作成システム１０２のコンピュータのＣＰＵ１７０１が行う処理である。また、ステップＳ２２１、Ｓ２２２は、モック作成システム１０３のコンピュータのＣＰＵ１７０１が行う処理であり、ステップＳ２３１からステップＳ２３３は、ＭＲシステム１０４のコンピュータのＣＰＵ１７０１が行う処理である。
【００３９】
ＣＡＤシステム１０１のコンピュータのＣＰＵ１７０１は、ＣＡＤのアプリケーションソフトを実行し、表示部１７０５に設計対象のカメラの画像を表示する。図３は、表示部１７０５におけるカメラの表示例を示す図である。同図において３０１は設計対象のカメラの画像を示す。そしてＣＡＤシステム１０１のユーザは、ＣＡＤシステム１０１を用いてカメラの設計を行う。これにより、カメラのＣＡＤデータがＣＡＤシステム１０１内で作成されることになる。そこで、このＣＡＤシステム１０１のユーザはこの作成したＣＡＤデータを展開図作成システム１０２、及びＭＲシステム１０４に送出すべく、ＣＡＤシステム１０１を操作する。ＣＡＤシステム１０１はこの操作を受けると、作成されたＣＡＤデータを展開図作成システム１０２、及びＭＲシステム１０４に送出する（ステップＳ２０１）。
【００４０】
ここで、一般に、ＣＡＤデータには設計した製品等の形状、色、材質、階層構造、変更履歴などといった情報が含まれているが、それらの情報の全ては必ずしも展開図作成システム１０２やＭＲシステム１０４にとって必要な情報ではない。そのため、ステップＳ２０１では、ＣＡＤデータの中からカメラの形状情報や階層構造等、展開図作成システム１０２が必要とする情報のみを取り出して展開図作成システム１０２に送出する。また、ステップＳ２０１では、カメラの形状情報や色情報等、ＭＲシステム１０４が必要とする情報のみを取り出してＭＲシステム１０４に送出する。
【００４１】
一方、展開図作成システム１０２は、ＣＡＤシステム１０１からＣＡＤデータを受けると、これをＲＡＭ１７０２に取得する（ステップＳ２１１）。そして、取得したＣＡＤデータを用いて後述のプリミティブ分割処理を行う（ステップＳ２１２）。
【００４２】
ここで、プリミティブ分割処理について説明する。プリミティブとは、展開図作成システム１０２側で予め定められている多面体形状のことで、例えば、直方体や四角錐、三角錐のことである。ＣＡＤデータのプリミティブへの分割はどのような方法でなされてもよいが、例えば次のような方法がある。
【００４３】
図１４は、ステップＳ２１２におけるプリミティブ分割処理の一例としての処理のフローチャートである。
【００４４】
先ず、展開図作成システム１０２にＣＡＤデータが入力されると、このデータ中の階層構造データを参照し、ＣＡＤデータ中のどの部分にプリミティブを割り当てるかを決定する（ステップＳ１４０１）。例えば、ＣＡＤデータが図１２に示す如く構成を有しているとする。図１２は、ＣＡＤデータの構成例を示す図である。
【００４５】
この場合、まずは、階層構造で最も上に存在する『カメラ全体』にプリミティブを割り当てるよう決定する。プリミティブを割り当てる部分の決定が終了すると、処理をステップＳ１４０２に進める。
【００４６】
ステップＳ１４０２では、ステップＳ１４０１で決定された部分に対してプリミティブの割り当てを行う（ステップＳ１４０２）。ここでは、割り当て部分に対して形・大きさが近くなるようなプリミティブの形状・大きさが決定される。例えば『カメラ全体』に対して直方体のプリミティブを割り当てると、この直方体は、図１３中の１３０１に示す如く、カメラ全体を包含するような直方体となる。プリミティブの割り当てが終了すると、処理をステップＳ１４０３に進める。
【００４７】
ステップＳ１４０３では、ステップＳ１４０２で割り当てられたプリミティブが他のプリミティブと干渉するかどうかをチェックする（ステップＳ１４０３）。ここで、プリミティブ同士が重なる部分があれば処理をステップＳ１４０４に進め、重なる部分がなければ処理をステップＳ１４０５に進める。
【００４８】
ステップＳ１４０４では、重なり合うプリミティブ同士の大きさ・形を調整し、重なる部分がなくなるようにする（ステップＳ１４０４）。例えば、重なっている一方（若しくは両方）のプリミティブのサイズを、重なる部分が無くなるまで縮小する。プリミティブ調整が終了すると処理をステップＳ１４０５に進める。
【００４９】
ステップＳ１４０５では、ＣＡＤデータ中の全ての階層に対してプリミティブの割り当てが完了したかどうかをチェックする（ステップＳ１４０５）。割り当てが完了していれば処理をステップＳ１４０６に進め、完了していなければ処理をステップＳ１４０１に戻す。例えば、『カメラ全体』に対してプリミティブの割り当てが完了している場合、全ての階層における部分を包含するプリミティブを割り当てたのであるから処理をステップＳ１４０６に進める。
【００５０】
ステップＳ１４０６では、予め定められた判定基準を元に、ステップＳ１４０２で割り当てたプリミティブをより細かいプリミティブに分割するかどうかの判定を行う（ステップＳ１４０６）。より細かくすると判定した場合には処理をステップＳ１４０１に戻す。一方、より細かく分割しないと判定した場合には同図に示したフローチャートに従った処理を終了し、図２のステップＳ２１３にリターンする。
【００５１】
ステップＳ１４０６における判定処理で用いる上記判定基準については様々なものが考えられるが、例えば以下のような基準を用いることができる。
【００５２】
割り当てた全てのプリミティブの体積×０．８＜ＣＡＤデータが示すオブジェクト（本実施形態ではカメラ）の体積＜割り当てた全てのプリミティブの体積×１．２
この関係を満たしていれば、ＣＡＤデータが示すオブジェクトの形状と、割り当てたプリミティブで構成しているオブジェクトの形状とが近似していると見なす。一方、この関係を満たしていない場合には、ＣＡＤデータが示すオブジェクトの形状と、割り当てたプリミティブで構成しているオブジェクトの形状とでは大きな違いがあると見なす。
【００５３】
ここで図１３を用いて、このステップＳ１４０６における処理を説明する。図１３は、カメラのＣＡＤデータを用いたプリミティブ分割処理を説明する図である。
【００５４】
上述の通り、ステップＳ１４０２で最上位の階層『カメラ全体』に対してプリミティブを割り当てたとすると、１３０１に示す如く、カメラ全体を包含する１つの直方体が割り当てられることになる。しかし、同図に示すように、１つの直方体で構成するオブジェクト１３０１と、ＣＡＤデータが示すカメラとでは、その形状に大きな差がある。
【００５５】
そこで、このような場合には、処理をステップＳ１４０１に戻し、次の階層、即ち、『本体』と『レンズ』の階層を指定する。即ち、次のステップＳ１４０２では、カメラに対してプリミティブを割り当てる場合には、同図１３０２に示す如く、本体とレンズとに分けて割り当てることにする。そしてこの場合、本体に対して割り当てたプリミティブと、レンズに対して割り当てたプリミティブとで構成されるオブジェクト（１３０２で示すオブジェクト）と、ＣＡＤデータが示すカメラとでは、その形状の差はより小さくなる。このようにして、それぞれの形状の差が所定量以下になれば、その時点で図１４に示したプリミティブ分割処理を終了する。
【００５６】
図２に戻って、次に、展開図作成システム１０２は、ステップＳ２１２で作成した全てのプリミティブについて、プリミティブを平面に展開した図、即ち展開図のデータを作成する（ステップＳ２１３，Ｓ２１４）。より詳しくは、ステップＳ２１３では、プリミティブを平面展開したときにプリミティブの各面の配置を示すデータを作成する。そしてステップＳ２１４では、プリミティブの各面に描画すべき画像のデータを作成する。
【００５７】
ステップＳ２１４で作成する画像のデータは、以下の２つの条件を満たしている必要がある。
【００５８】
条件１  ・・・  各面を見ることによって、その面がどのプリミティブのどの面であるのかが一意に識別することができる
条件２  ・・・  面の上下左右が一意に判別できる
条件１を満たす画像（画像１）としては、例えば、プリミティブの各面の法線方向から、そのプリミティブに対応する部分のCADデータを正射投影した画像が考えられる。また、条件２を満たす画像（画像２）としては、予め定められたルールに従って、各面に固有のマーカ図形を描いた画像が考えられる。
【００５９】
従って、ステップＳ２１３では、プリミティブを平面展開したときにプリミティブの各面の配置図を作成し、ステップＳ２１４では、ステップＳ２１３で作成した配置図における各面に画像（画像１若しくは画像２）を描画する。ここで、カメラの本体とレンズのそれぞれのプリミティブの配置図に対して画像１を描画したものをそれぞれ、図４、図５の４０１，５０１に示す。４０１は、カメラ本体に対するプリミティブの各面に、各面方向から見たカメラ本体のＣＡＤデータの正射影画像が描画された展開図である。５０１は、レンズに対するプリミティブの各面に、各面方向から見たレンズのＣＡＤデータの正射影画像が描画された展開図である。
【００６０】
また、カメラの本体のプリミティブの配置図に対して画像２を描画したものを図６の６０１に示す。６０１は、カメラ本体に対するプリミティブの各面に、面の上下関係を識別したり、どの面であるのかを識別したりするためのマーカが描画された展開図である。
【００６１】
そして図２に戻り、次に、ステップＳ２１５では、展開図のデータをモック作成システム１０３に対して送出すると共に、マーカ情報を作成し、作成したマーカ情報をＭＲシステム１０４に対して送出する（ステップＳ２１５）。ここで、マーカ情報についてはどのような形式で送出しても良いが、例えば、pngファイルなどの画像ファイルとしてモック作成システム１０３に送出する。
【００６２】
また、マーカ情報とは、プリミティブの各面がどのような画像になっているか、また各面がＣＡＤデータの座標系（例えば、ＣＡＤデータが示すオブジェクトに対する基準座標系）に対してどのような位置姿勢にあるかを記述したものである。
【００６３】
図１５は、マーカ情報の構成例を示す図である。同図に示す如く、マーカ情報はプリミティブ毎に分けられ、更に面毎に分けられる。各面に対する情報には、面の種類、面を構成する各頂点の座標値、面の中心の位置姿勢、面に描画する画像の格納場所等が含まれる。なお、マーカ情報の構成については特に限定するものではなく、以下説明する処理でマーカ情報を用いる際に、必要な情報が含まれていればよい。
【００６４】
図２に戻って、一方、モック作成システム１０３は、展開図作成システム１０２から展開図のデータを受けると、これをＲＡＭ１７０２に取得する（ステップＳ２２１）。そして、取得したデータに基づく展開図を紙などの記録媒体上に印刷するために、取得したデータを印刷装置に送出する（ステップＳ２２２）。
【００６５】
これにより、例えば、図４，５，６に示したような展開図が紙などの記録媒体上に印刷される。
【００６６】
そしてユーザは、紙などの記録媒体上に印刷された展開図を用いて、カメラのモックアップを作成するのであるが、その手順は以下のようにして行う。
【００６７】
１  ユーザが印刷された展開図を切り取り、組み立てる
２  組立てられた全てのプリミティブをつなぎ合わせる
また、カメラのモックアップを作成するためには以下の方法も考えられる。
【００６８】
１  発泡スチロールやケミカルウッドを各プリミティブの大きさで切り出す
２  切り出したプリミティブの表面に、印刷された展開図の各面を切り取り貼り付ける
３  作成したプリミティブをつなぎ合わせる
以上説明したＣＡＤシステム１０１、展開図作成システム１０２、モック作成システム１０３による処理を行えば、ＣＡＤデータが示すカメラの展開図を紙などの記録媒体上に印刷することができる。これにより、ユーザはこの展開図を用いてカメラのモックアップを作成することができる。
【００６９】
図２に戻って、一方、ＭＲシステム１０４は、ＣＡＤシステム１０１からＣＡＤデータを受けると、これをＲＡＭ１７０２に取得する（ステップＳ２３１）。また、モック作成システム１０３からマーカ情報を受けると、これをＲＡＭ１７０２に取得する（ステップＳ２３２）。そして取得したＣＡＤデータ、マーカ情報を用いて、ＨＭＤを頭部に装着したユーザの視点から見える現実空間、仮想空間のそれぞれの画像を合成した複合現実空間の画像（ＭＲ画像）を生成し、ＨＭＤに備わっている表示装置に送出する（ステップＳ２３３）。ＭＲ画像の出力先については特に限定するものではない。
【００７０】
図１６は、ステップＳ２３３における処理の詳細を示すフローチャートである。
【００７１】
ＨＭＤに備わっているビデオカメラは現実空間の動画像を撮像しており、撮像した各フレームの画像は順次ＲＡＭ１７０２や外部記憶装置１７０６に取得される（ステップＳ１６０１）。図９はステップＳ１６０１で取得した現実空間の画像の一例を示す図である。同図において７０１はカメラのモックアップ、９０１はこのモックアップ７０１を持つユーザの手である。
【００７２】
図１６に戻って、次に、ステップＳ１６０１で取得した画像に対して画像処理を行い、この画像中にモックアップが写っているか否か、写っているのであればどの面が画像上のどの位置にあるかを認識する処理を行う（ステップＳ１６０２）。
【００７３】
次に、ＨＭＤを頭部に装着しているユーザの視点（上記ビデオカメラに相当）に対するカメラのモックアップの相対的な位置姿勢を求める処理を行う（ステップＳ１６０３）。ステップＳ１６０３では、モックアップに対して相対的にどの位置・姿勢にビデオカメラが存在するかを算出する。一般に、同一平面上にあって世界座標が既知の点が４点以上画像上で捉えられれば、その画像を撮影した内部パラメータが既知のカメラの、世界座標における位置姿勢が求められることが知られている。従って、ある面の頂点や面上における画像の特徴点が４点以上ステップＳ１６０２で捉えられていれば、モックアップに対するビデオカメラの相対的な位置姿勢を求めることができる。
【００７４】
なお、上記ステップＳ１６０２，Ｓ１６０３における処理は周知の処理であるので、これ以上の説明は省略する。
【００７５】
次に、視点を基準にして、ここからステップＳ１６０３で求めた位置姿勢分だけ移動させた位置姿勢に、カメラの仮想物体を配置し、配置した仮想物体を視点から見た場合に見える画像（仮想空間の画像）を生成する（ステップＳ１６０４）。即ち、モックアップの位置姿勢に仮想物体を配置する。例えば、モックアップが図７に示す如く、配置されている場合には、仮想物体を図８に示す如く配置する。
【００７６】
図１６に戻って、次に、ステップＳ１６０１で取得した画像中で肌色の領域（予め「肌色」として設定された画素値の範囲内の画素値を有する画素群）、即ち手が写っている領域を抽出する（ステップＳ１６０５）。
【００７７】
そして、次に、ステップＳ１６０１で取得した画像上に、ステップＳ１６０４で生成した仮想空間の画像を重畳させ、ＭＲ画像を生成する（ステップＳ１６０６）。しかし、単純に合成してしまうと、図１０に示す如く、ユーザの手９０１の上にカメラの仮想物体８０１が合成されてしまい、手と仮想物体との前後関係がおかしくなってしまう。そのため、合成の際に、ステップＳ１６０５で抽出された領域に対しては仮想物体を描画しないようにする。このような処理を行うことで図１１に示す如く、ユーザの指１１０１の領域には仮想物体が描画されなくなるため、手と仮想物体との前後関係を正しく表現することができる。
【００７８】
なお、この際、モックアップに肌色の領域が存在すると、手として判断されてしまい、不自然な映像が合成されてしまうため、モックアップには肌色を含まないように構成される必要がある。
【００７９】
このように、現実空間の画像上に仮想空間の画像を重畳させる際に、現実空間の画像上で特定の領域のみを重畳処理の対象外とするための技術については周知のものであるので、これに関する説明は省略する。
【００８０】
図１６に戻って、次に、ステップＳ１６０６で生成したＭＲ画像をＨＭＤに備わっている表示装置に対して出力する（ステップＳ１６０７）。
【００８１】
そして、処理の終了指示を検知したり、処理の終了条件が満たされたことを検知した場合には、本処理を終了するが、何れも検知していない場合には、以上の処理を繰り返す。
【００８２】
なお、以上説明した実施形態は、ＣＡＤデータに従った仮想物体を観察するシステムについてのものであるが、システムの適用対象については特に限定するものではなく、例えば、ゲームや訓練用などのシミュレータにも用いることも可能である。
【００８３】
［第２の実施形態］
第１の実施形態に係るシステムの構成は図１に示す如く、４つのサブシステムで構成していた。しかしシステムの構成は特に限定するものではなく、例えば、２つ以上のサブシステムを１つのサブシステムで代用するようにしても良い。
【００８４】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００８５】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８６】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８８】
【図１】本発明の第１の実施形態に係るシステムの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るシステムを構成する各サブシステムが行う処理のフローチャートである。
【図３】表示部１７０５におけるカメラの表示例を示す図である。
【図４】展開図の例を示す図である。
【図５】展開図の例を示す図である。
【図６】展開図の例を示す図である。
【図７】モックアップを示す図である。
【図８】仮想物体を示す図である。
【図９】ステップＳ１６０１で取得した現実空間の画像の一例を示す図である。
【図１０】ＭＲ画像を説明する図である。
【図１１】ＭＲ画像を説明する図である。
【図１２】ＣＡＤデータの構成例を示す図である。
【図１３】カメラのＣＡＤデータを用いたプリミティブ分割処理を説明する図である。
【図１４】ステップＳ２１２におけるプリミティブ分割処理の一例としての処理のフローチャートである。
【図１５】マーカ情報の構成例を示す図である。
【図１６】ステップＳ２３３における処理の詳細を示すフローチャートである。
【図１７】各サブシステムに適用可能なコンピュータのハードウェア構成を示すブロック図である。
【図１】
2007034981.tif 000003
【図２】
2007034981.tif 000004
【図３】
2007034981.tif 000005
【図４】
2007034981.tif 000006
【図５】
2007034981.tif 000007
【図６】
2007034981.tif 000008
【図７】
2007034981.tif 000009
【図８】
2007034981.tif 000010
【図９】
2007034981.tif 000011
【図１０】
2007034981.tif 000012
【図１１】
2007034981.tif 000013
【図１２】
2007034981.tif 000014
【図１３】
2007034981.tif 000015
【図１４】
2007034981.tif 000016
【図１５】
2007034981.tif 000017
【図１６】
2007034981.tif 000018
【図１７】
2007034981.tif 000019