(57)【要約】【課題】  簡易試作物が可動部を有する場合にも、可動部の動きに合わせて３Ｄ−ＣＧデータを動かし、簡易試作物と重ね合わせて表示するための技術を提供すること。【解決手段】  観察者の視点の位置姿勢を取得し（２０３０）、可動部分の可動量を取得し（２０３２）、現実物体を表す仮想物体の可動部分に該当する部分を可動量に基づいて可動させ、可動部分に該当する部分を可動させた仮想物体を視点から見た場合に見える画像を生成する（２０４０）。【選択図】  図４
2006302034.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間の画像を生成して出力する画像処理方法であって、
観察者の視点の位置姿勢を取得する第１の取得工程と、
可動部分を有する現実物体の位置姿勢を取得する第２の取得工程と、
前記可動部分の可動量を取得する取得工程と、
前記現実物体を表す仮想物体の前記可動部分に該当する部分を前記可動量に基づいて可動させる可動工程と、
前記可動工程で前記可動部分に該当する部分を可動させた前記仮想物体を前記視点から見た場合に見える画像を、前記観察者の視点の位置姿勢、前記現実物体の位置姿勢に基づいて生成する生成工程と、
前記生成工程で生成した画像を出力する出力工程と
を備えることを特徴とする画像処理方法。
【請求項２】
更に、前記視点から見える現実空間の画像を入力する入力工程を備え、
前記出力工程では、前記生成工程で生成した画像を、前記入力工程で入力した画像上に重畳させて出力することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
更に前記第１の取得工程で取得した前記観察者の視点の位置姿勢を補正する補正工程を備えることを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記可動部分と、前記現実物体における前記可動部分以外の非可動部分のそれぞれに１以上のマーカが取り付けられている場合に、
更に、それぞれのマーカが取り付けられている位置を保持手段に保持させる保持工程を備え、
前記補正工程は、
前記入力工程で入力した現実空間の画像上における各マーカの位置を検出する検出工程と、
前記取得工程で取得した可動量に基づいて、前記可動部分に取り付けられているマーカの位置を求める計算工程とを備え、
前記検出工程で検出した各マーカの位置と、前記計算工程で計算した位置とを用いて、前記第１の取得工程で取得した前記観察者の視点の位置姿勢を補正することを特徴とする請求項３に記載の画像処理方法。
【請求項５】
仮想空間の画像を生成して出力する画像処理装置であって、
観察者の視点の位置姿勢を取得する第１の取得手段と、
可動部分を有する現実物体の位置姿勢を取得する第２の取得手段と、
前記可動部分の可動量を取得する取得手段と、
前記現実物体を表す仮想物体の前記可動部分に該当する部分を前記可動量に基づいて可動させる可動手段と、
前記可動手段によって前記可動部分に該当する部分を可動させた前記仮想物体を前記視点から見た場合に見える画像を、前記観察者の視点の位置姿勢、前記現実物体の位置姿勢に基づいて生成する生成手段と、
前記生成手段によって生成した画像を出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項６】
コンピュータに請求項１乃至４の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間に仮想空間の映像を重畳させて観察者に提示する為の技術に関するものである。
【背景技術】
【０００２】
複合現実感システムとは、現実空間映像と、ユーザの視点位置、視線方向等に応じて生成される仮想空間映像とを合成することにより得られる複合現実空間映像をユーザに提供するものである。複合現実感システムでは、現実空間中に仮想物体が実在しているかのように観察者に提示することが可能であり、従来の仮想現実感システム（ＶＲシステム）に比べてよりリアルに、実寸感覚を伴った観察が可能である。
【０００３】
一方、従来、設計・製造分野において３次元ＣＡＤを使った設計（形状、デザイン）が主流になってきている。この場合、３次元ＣＡＤで設計された物体を評価する方法としては、３次元ＣＡＤで作成されたデータ（ソリッド形式）を３Ｄ−ＣＧとして計算機の画面上に表示して視覚的に評価する方法や、ラピッド・プロトタイピング装置などで簡易試作物（簡易モックアップ）を製作し、触覚的に評価する方法などが主流である。
【０００４】
ただし、３Ｄ−ＣＡＤデータを３Ｄ−ＣＧとして計算機の画面上に表示する方法では、仮想空間内での評価となり、現実空間内での実寸感覚で物体の評価をすることができない。またラピッド・プロトタイピング装置などで簡易試作物（簡易モックアップ）を製作する方法では、加工精度、素材などの制約により、おおまかな形状を把握するのには有効であるが、デザインの詳細、色彩など、３Ｄ−ＣＡＤ上で設計した詳細な情報が再現されるものではない。
【０００５】
そこで、より完成品に近い状況で設計データを評価するために、３Ｄ−ＣＡＤデータよりラピッド・プロトタイピング装置等で製作した簡易試作物（簡易モックアップ）に、同じ３Ｄ−ＣＡＤデータを変換して作成した３Ｄ−ＣＧデータを、複合現実感システムを使って位置・姿勢方向を一致させて重ね合わせ、表示することで、視覚的な評価と触覚的な評価を同時に実現し、より完成品に近い状態での評価を可能とする手法が提案されている。
【０００６】
さらに、簡易試作物にマーカを添付し、その添付されたマーカを映像データとして入力された現実空間の映像情報から検出し、検出したマーカの位置情報を使って現実空間と仮想空間の位置合わせの補正を行う手法も提案されている。
【特許文献１】特開２００３−３０８５１４号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の手法では簡易試作物が剛体である場合しか扱えなかった。すなわち、簡易試作物が可動部を有する場合に、可動部の動きに合わせて３Ｄ−ＣＧデータを動かして、簡易試作物と重ね合わせて表示することはできなかった。また、現実空間と仮想空間の位置合わせの補正に、可動部に貼られたマーカの位置情報を使うことはできなかった。
【０００８】
本発明は上記の課題に鑑みてなされたものであり、簡易試作物が可動部を有する場合にも、可動部の動きに合わせて３Ｄ−ＣＧデータを動かし、簡易試作物と重ね合わせて表示するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【００１０】
即ち、仮想空間の画像を生成して出力する画像処理方法であって、
観察者の視点の位置姿勢を取得する第１の取得工程と、
可動部分を有する現実物体の位置姿勢を取得する第２の取得工程と、
前記可動部分の可動量を取得する取得工程と、
前記現実物体を表す仮想物体の前記可動部分に該当する部分を前記可動量に基づいて可動させる可動工程と、
前記可動工程で前記可動部分に該当する部分を可動させた前記仮想物体を前記視点から見た場合に見える画像を、前記観察者の視点の位置姿勢、前記現実物体の位置姿勢に基づいて生成する生成工程と、
前記生成工程で生成した画像を出力する出力工程と
を備えることを特徴とする。
【００１１】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【００１２】
即ち、仮想空間の画像を生成して出力する画像処理装置であって、
観察者の視点の位置姿勢を取得する第１の取得手段と、
可動部分を有する現実物体の位置姿勢を取得する第２の取得手段と、
前記可動部分の可動量を取得する取得手段と、
前記現実物体を表す仮想物体の前記可動部分に該当する部分を前記可動量に基づいて可動させる可動手段と、
前記可動手段によって前記可動部分に該当する部分を可動させた前記仮想物体を前記視点から見た場合に見える画像を、前記観察者の視点の位置姿勢、前記現実物体の位置姿勢に基づいて生成する生成手段と、
前記生成手段によって生成した画像を出力する出力手段と
を備えることを特徴とする。
【発明の効果】
【００１３】
本発明の構成により、簡易試作物が可動部を有する場合にも、可動部の動きに合わせて３Ｄ−ＣＧデータを動かし、簡易試作物と重ね合わせて表示することができる。
【発明を実施するための最良の形態】
【００１４】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１５】
［第１の実施形態］
図１は、現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理過程において、可動部分を有する現実物体（簡易試作物）にこの現実物体を表す仮想物体を重畳させる場合に、この可動部分が可動すると、それに伴って仮想物体におけるこの可動部分に相当する部分を可動させるためのシステムの外観を示す図である。
【００１６】
同図において２００はトランスミッタで、磁場を発生させる。１００は観察者の頭部に装着し、現実空間と仮想空間とを合成した画像を観察者の眼前に提供する為の頭部装着型表示装置（以下、ＨＭＤ：Head Mounted Displayと呼称する）で、カメラ１０２Ｒ、１０２Ｌ、表示装置１０１Ｒ、１０１Ｌ、磁気レシーバ２０１により構成されている。
【００１７】
カメラ１０２Ｒ、１０２ＬはそれぞれＨＭＤ１００を頭部に装着した観察者の右目、左目の位置から見える現実空間を連続して撮像するものであり、撮像した各フレームの画像は後段のコンピュータ４００に出力される。
【００１８】
表示装置１０１Ｒ、１０１Ｌはそれぞれ、観察者がＨＭＤ１００を頭部に装着したときに右目、左目の眼前に位置するようにＨＭＤ１００に装着されたものであり、後段のコンピュータ４００から出力された画像信号に基づいた画像を表示する。従って観察者の右目、左目の眼前にはコンピュータ４００が生成した画像が提供されることになる。
【００１９】
磁気レシーバ２０１は、上記トランスミッタ２００が発する磁場の変化を検知し、検知した結果の信号を後段の位置姿勢計測装置２０５に出力するものである。検知した結果の信号は、トランスミッタ２００の位置を原点とし、この原点の位置で互いに直交する３軸をｘ、ｙ、ｚ軸とする座標系（以下、センサ座標系と呼称する）において、磁気レシーバ２０１の位置姿勢に応じて検知される磁場の変化を示す信号である。
【００２０】
位置姿勢計測装置２０５は、この信号に基づいて、センサ座標系における磁気レシーバ２０１の位置姿勢を求め、求めた位置姿勢を示すデータは後段のコンピュータ４００に出力される。
【００２１】
図２は、ＨＭＤ１００の具体的な構成を示す図である。
【００２２】
１０１は映像表示装置で、０．５〜数インチ程度の小型の液晶表示デバイス等で構成されるものである。１０３は、映像表示装置１０１の映像を拡大するレンズの役目を果たす自由曲面プリズムである。このような構成により、映像表示装置１０１に表示された映像は、観察者にとってはたとえば２ｍ先に９０インチ相当の映像として提示される。
【００２３】
１０２は映像入力装置であり、ＣＣＤカメラ、ＣＭＯＳカメラなどの撮像デバイスで構成されるものである。１０４は現実空間の光を映像入力装置１０２に収束させるためのレンズの役目をはたす撮像系プリズムである。撮像系プリズム１０４は自由曲面プリズム１０３の外側に、光軸を一致させるように配置することで、映像入力装置１０２で入力した映像と、映像表示装置１０１に表示した映像の視差をなくし、現実空間の映像を違和感なく再現することが可能である。
【００２４】
図１に戻って、３００は現実物体（以下、簡易試作物と呼称する）である。この簡易試作物３００は、操作者が手で動かすことで軸３０２周りに同図矢印で示す如く自在に可動する可動部分３０１を有している。軸３０２は、可動部分３０１の可動する軸となるものである。また、この簡易試作物３００には、可動部分３０１の可動量を測定する為のロータリーエンコーダ２１０が取り付けられており、測定した可動量を示す信号は後段のコンピュータ４００に出力される。
【００２５】
３５０は、簡易試作物３００の観察時に置き場として利用される置き台である。
【００２６】
４００はコンピュータで、ＨＭＤ１００の表示装置１０１Ｒ、１０１Ｌに出力すべき画像信号を生成したり、位置姿勢計測装置２０５からのデータ、ロータリーエンコーダ２１０からの信号に基づくデータを受け、これを管理したり等の処理を行う。このコンピュータは一般的には例えばＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等により構成される。図１２は、コンピュータ４００の基本構成を示す図である。
【００２７】
１２０１はＣＰＵで、ＲＡＭ１２０２やＲＯＭ１２０３に格納されているプログラムやデータを用いてコンピュータ４００全体の制御を行うと共に、Ｉ／Ｆ１２０７に接続される外部装置とのデータ通信の制御を行う。また、コンピュータ４００が行うべき処理として後述する各処理を行う。
【００２８】
１２０２はＲＡＭで、外部記憶装置１２０５からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、ＣＰＵ１２０１が各種の処理を実行する際に必要なワークエリアも備える。
【００２９】
１２０３はＲＯＭで、ブートプログラムやコンピュータ４００の設定データなどを格納する。
【００３０】
１２０４は操作部で、キーボードやマウス、ジョイスティックなどにより構成されており、各種の指示をＣＰＵ１２０１に対して入力することができる。
【００３１】
１２０５は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにＯＳ（オペレーティングシステム）やＣＰＵ１２０１に後述する各処理を実行させるためのプログラムやデータ等が保存されており、これらの一部、もしくは全部は、ＣＰＵ１２０１の制御により、ＲＡＭ１２０２にロードされる。また、後述の説明で、既知のデータ（情報）として説明するもの（もしくは以下説明する処理で必要となるべきデータ）もまたこの外部記憶装置１２０５に保存されており、必要に応じてＣＰＵ１２０１の制御により、ＲＡＭ１２０２にロードされる。
【００３２】
１２０６は表示部で、ＣＲＴや液晶画面等により構成されており、画像や文字による各種の情報を表示することができる。
【００３３】
１２０７はＩ／Ｆで、ここに上記位置姿勢計測装置２０５、ＨＭＤ１００、ロータリーエンコーダ２１０等が接続されており、このＩ／Ｆ１２０７を介して、コンピュータ４００は位置姿勢計測装置２０５、ＨＭＤ１００、ロータリーエンコーダ２１０等とのデータ通信を行うことができる。
【００３４】
１２０８は上述の各部を繋ぐバスである。
【００３５】
以上の構成を備えるコンピュータ４００は、カメラ１０２Ｒ、１０２Ｌそれぞれから得られる現実空間の画像を取り込むと共に、磁気レシーバ２０１から得られる位置姿勢、予め定められた簡易試作物３００の位置姿勢に基づいてカメラ１０２Ｒ、１０２Ｌから見える仮想物体の画像を生成する。そして、生成した画像を、先に取り込んだ現実空間の画像上に重畳させ、重畳させた画像を表示装置１０１Ｒ、１０１Ｌに出力する。これにより、ＨＭＤ１００を頭部に装着した観察者の右目、左目の眼前には、それぞれの目の位置姿勢に対応した複合現実空間画像が表示されることになる。
【００３６】
図３は、このコンピュータ４００の機能構成を示す図である。本実施形態では、同図に示した各部はソフトウェアでもって構成されたものとして説明する。なお、ソフトウェアの実行処理はＣＰＵ１２０１によりなされるものである。しかし、図３に示した各部の一部、もしくは全部をハードウェアでもって構成するようにしても良い。
【００３７】
４０１Ｒ、４０１Ｌは映像キャプチャ部であり、それぞれカメラ１０２Ｒ、１０２Ｌより入力した画像をディジタル信号として取り込む。
【００３８】
４０４は位置姿勢情報入力部であり、位置姿勢計測装置２０５から出力されたデータを取り込む。このデータは即ち、磁気レシーバ２０１のセンサ座標系における位置姿勢を示すデータである。
【００３９】
４０６は、３ＤＣＧ描画データで、上記簡易試作物３００を表し、この簡易試作物３００に重畳させる仮想物体の画像を生成するためのデータである。３ＤＣＧ描画データには、この仮想物体の幾何学形状や色を示すデータ、テクスチャデータなどが含まれる。また、この３ＤＣＧ描画データには、簡易試作物３００のセンサ座標系における位置姿勢を示すデータ（可動部分３０１の初期位置姿勢データを含む）も含まれている。
【００４０】
４０５は位置姿勢算出部であり、位置姿勢情報入力部４０４から入力される磁気レシーバ２０１のセンサ座標系における位置姿勢を示すデータ、簡易試作物３００のセンサ座標系における位置姿勢を示すデータを用いて、磁気レシーバ２０１の位置姿勢に対する簡易試作物３００の相対位置姿勢を求める。
【００４１】
４２０は、上記ロータリーエンコーダ２１０からの信号を受け、これをディジタルデータに変換して後段の回転角度算出部４２１に送出する回転量情報入力部である。
【００４２】
４２１は回転角度算出部で、回転量情報入力部４２０から受けた信号に基づいて、可動部分３０１の回転角度（可動量）を求める。
【００４３】
４０７はＣＧレンダリング部で、先ず、簡易試作物３００を表す仮想物体を、予め決められた位置姿勢（３ＤＣＧ描画データから取得される）でもって配置する。仮想物体において可動部分３０１に相当する部分については現在の可動部分３０１の回転角度（回転角度算出部４２１によって算出された回転角度）に、上記軸３０２周りに回転させて配置する。なお、可動部分３０１に相当する部分（部分仮想物体）を所定の軸周りに回転させる技術についてはＣＧの分野では周知の技術であるので、これに関する説明は省略する。
【００４４】
次にＣＧレンダリング部４０７は、カメラ１０２Ｒ、１０２Ｌの位置姿勢（磁気レシーバ２０１とカメラ１０２Ｒ、１０２Ｌとの位置姿勢関係を予めバイアスとして求めておけば、磁気レシーバ２０１により計測した位置姿勢にこのバイアスを加えることで、カメラ１０２Ｒ、１０２Ｌの位置姿勢は求めることができる）に応じて見える仮想物体の画像を生成する。なお、ここでの仮想物体とは、簡易試作物３００に重畳させる仮想物体である。
【００４５】
従って、この仮想物体の画像は、予め設定された位置姿勢でもって仮想空間内に配置され、これを位置姿勢算出部４０５が算出したカメラ１０２Ｒ、１０２Ｌの位置姿勢に応じて見える画像となる。なお、所定の位置姿勢を有する視点から見える仮想物体の画像を生成する処理については周知の技術であるので、これに関する詳細な説明は省略する。また、以下では、カメラ１０２Ｒ、１０２Ｌを総称して「視点」と呼称する場合がある。
【００４６】
４０２Ｒ、４０２Ｌはそれぞれ映像合成部であり、映像キャプチャ部４０１Ｒ、４０１Ｌから入力した現実空間の画像上に、ＣＧレンダリング部４０７が生成したカメラ１０２Ｒの位置姿勢に応じて見える仮想物体の画像、カメラ１０２Ｌの位置姿勢に応じて見える仮想物体の画像を重畳させ、それぞれ、映像生成部４０３Ｒ、４０３Ｌに出力する。これにより、カメラ１０２Ｒの位置姿勢に応じて見える複合現実空間の画像、カメラ１０２Ｌの位置姿勢に応じて見える複合現実空間の画像を生成することができる。
【００４７】
映像生成部４０３Ｒ、４０３Ｌはそれぞれ、映像合成部４０２Ｒ、４０２Ｌから出力された複合現実空間の画像をアナログ信号に変換し、それぞれ表示装置１０１Ｒ、１０１Ｌに映像信号として出力する。これにより、ＨＭＤ１００を頭部に装着した観察者の右目、左目の眼前には、それぞれの目に対応した複合現実空間の画像が表示される。
【００４８】
以上説明した、観察者の右目、左目に対して、それぞれの位置姿勢に応じて見える複合現実空間の画像を提示する為の処理について、同処理の手順を示す図４を参照して説明する。
【００４９】
先ず、３ＤＣＡＤデータから、簡易試作物３００、３ＤＣＧ描画データを生成するための処理手順について、同図の左側を参照して説明する。
【００５０】
通常、３次元ＣＡＤシステムを使って形状やデザインなどの設計業務を行う（１０１０）場合には、３Ｄ−ＣＡＤのデータは、それぞれの３次元ＣＡＤシステム固有のソリッドデータとして保存されるのが一般的である。簡易試作物３００は、このソリッドデータより、光造形などのラピッド・プロトタイピング装置を使って作成する（１１１０）。
【００５１】
一方、３Ｄソリッドデータは、各設計部品の幾何学的なパラメータの集合で表現されており、そのままではＣＧとして描画することはできない。そこで、３Ｄソリッドデータを３ＤＣＧの描画に適したデータ形式（たとえばＶＲＭＬなど）に変換する（１２１０）。本複合現実感システムでは、このように変換された３Ｄ−ＣＧ描画用データ４０６を使って仮想空間を生成する。生成された３Ｄ−ＣＧ描画データ４０６は、コンピュータ４００の外部記憶装置１２０５に保存しておき、必要に応じてＲＡＭ１０２にロードする。
【００５２】
次に、複合現実感システムが行う、この３Ｄ−ＣＧ描画データ４０６を用いて仮想空間の画像（仮想物体の画像）を生成し、現実空間の画像に重畳させて観察者に提示する処理について、同図右側を参照して説明する。
【００５３】
磁気レシーバ２０１は上述の通り磁気トランスミッタ２００が発生する磁界の変化を計測し（２０２０）、その計測結果を信号として位置姿勢計測装置２０５に出力するので、位置姿勢計測装置２０５は、受けた信号に基づいて、センサ座標系における磁気レシーバ２０１の位置姿勢（上述の通り、バイアスを加算すれば、カメラ１０２Ｒ、１０２Ｌの位置姿勢）を示すデータをコンピュータ４００に出力する（２０３０）。
【００５４】
一方で、回転量情報入力部４２０には、ロータリーエンコーダ２１０により測定された、現在の可動部分３０１の回転角度を示す信号が入力されるので（２０３１）、回転量情報入力部４２０はこれをＡ／Ｄ変換してディジタルデータとして後段の回転角度算出部４２１に送出し、回転角度算出部４２１は、このデータに基づいて、現在の可動部分３０１の回転角度を求める処理を行う（２０３２）。
【００５５】
ここで、ロータリーエンコーダ２１０による初期計測値（可動部分３０１の回転角度が０°の時にロータリーエンコーダ２１０がカウントしたカウント値）をｄ０、ロータリーエンコーダ２１０による現在の測定値をｄ１，可動部分３０１が３６０°回転した時のロータリーエンコーダ２１０による測定値をｒとすると、可動部分３０１の現在の角度θは以下の式に従って求められる。
【００５６】
θ＝３６０×（ｄ１−ｄ０）／（ｒ−ｄ０）
また、ロータリーエンコーダ２１０にギア比ｇのギアが取り付けられている場合には、可動部分３０１の現在の角度θは以下の式に従って求められる。
【００５７】
θ＝３６０×ｇ×（ｄ１−ｄ０）／（ｒ−ｄ０）
いずれにせよ、このような計算は回転角度算出部４２１によって成されるものである。  図１３は、本実施形態で用いている簡易試作物３００における可動部分３０１の可動様態を示す図である。簡易試作物３００は、本体１３０１と可動部分３０１とにより構成されており、この可動部分３０１は観察者が手に持って軸Ａ周りに同図矢印１３０２で示す如く自在に角度を変更することができる。この角度はロータリーエンコーダ２１０により測定される。
【００５８】
同図において３０１ａは角度θが０°の状態（ロータリーエンコーダ２１０による測定値がｄ０の状態）における可動部分３０１を示し、３０１ｂは現在の角度θの状態（ロータリーエンコーダ２１０による測定値がｄ１の状態）における可動部分３０１を示すものである。
【００５９】
図４に戻って、そしてＣＧレンダリング部４０７により、カメラ１０２Ｒ、１０２Ｌのそれぞれから見える、「簡易試作物３００に重畳表示すべき仮想物体」の画像を生成する（２０４０）。この画像生成処理では先ず、ＣＧレンダリング部４０７は、予め決められたセンサ座標系における位置姿勢に「簡易試作物３００に重畳表示すべき仮想物体」を配置する。その際には、仮想物体で可動部分３０１に相当する部分のモデルは、軸３０２（図１３では軸Ａ）周りに上記角度θに回転させて配置する。これにより、実際の可動部分３０１の可動量と同じだけ仮想物体における可動部分３０１を可動させることができ、それぞれの回転角度を一致させることができる。
【００６０】
そしてＣＧレンダリング部４０７は、位置姿勢算出部４０５が求めた「センサ座標系におけるカメラ１０２Ｒ、１０２Ｌの位置姿勢を示すデータ」を用いて、カメラ１０２Ｒ、１０２Ｌの位置姿勢から見える「簡易試作物３００に重畳表示すべき仮想物体」の画像を生成する。
【００６１】
なお、生成した画像のデータはＲＡＭ１２０２中の所定のエリアに一時的に記憶される。また、仮想物体の画像を生成するためには外部記憶装置１２０５に保存されている３ＤＣＧ描画データをＲＡＭ１２０２に読み出して用いるものとする。
【００６２】
一方、上記２０２０，２０３０，２０４０、２０３１，２０３２における処理と並行して、カメラ１０２Ｒ、１０２Ｌより撮像された現実空間の画像は映像キャプチャ部４０１Ｒ、４１０Ｌによりコンピュータ４００に入力され（３０１０）、ＲＡＭ１２０２上に描画される（３０２０）。
【００６３】
そして、映像合成部４０２Ｒは、映像キャプチャ部４０１Ｒにより入力された右目用の現実空間の画像上に、ＣＧレンダリング部４０７によりレンダリングされた右目用の画像（仮想物体の画像）を重畳させ、重畳後の画像（複合現実空間の画像）を後段の映像生成部４０３Ｒに出力する（４０１０）。
【００６４】
一方、映像合成部４０２Ｌは、映像キャプチャ部４０１Ｌにより入力された左目用の現実空間の画像上に、ＣＧレンダリング部４０７によりレンダリングされた左目用の画像（仮想物体の画像）を重畳させ、重畳後の画像（複合現実空間の画像）を後段の映像生成部４０３Ｌに出力する（４０１０）。
【００６５】
即ち、現実空間の画像上への仮想物体の画像の重畳処理では、カメラ１０２Ｒからの現実空間の画像上に、カメラ１０２Ｒの位置姿勢から見える仮想物体の画像を重畳すると共に、カメラ１０２Ｌからの現実空間の画像上に、カメラ１０２Ｌの位置姿勢から見える仮想物体の画像を重畳する処理を行う。その結果、観察者の右目から見える複合現実空間の画像、左目から見える複合現実空間の画像を生成することができる。
【００６６】
映像生成部４０３Ｒ、４０３Ｌはそれぞれ、受けた複合現実空間の画像をアナログ信号としてのビデオ信号に変換し、Ｉ／Ｆ１２０７を介して表示装置１０１Ｒ、１０１Ｌに出力する（４０２０）。
【００６７】
そして上記処理２０２０〜処理４０２０までの各処理を、表示装置（１０１Ｒ、１０１Ｌ）における映像更新間隔、あるいは処理２０４の実行時間以下で繰り返し行うことで、リアルタイムに情報提示を行う。
【００６８】
なお、本実施形態では、センサとして磁気センサを用いたが、超音波センサなど、他のタイプのセンサを用いても良いことはいうまでもない。
【００６９】
また、本実施形態では可動部分３０１の回転角度の測定にロータリーエンコーダを用いたが、その他の測定機器を用いて測定しても良く、その測定機器については特に限定するものではない。
【００７０】
また、本実施形態では、可動部分の可動は固定された軸周りに回転するのみであったが、「可動」としては回転のみでなく、平行移動等、その他の可動形態であっても良い。その場合には、可動した量を計測可能な機器（例えばリニアエンコーダや、磁気的または光学的な位置・姿勢計測装置などの装置）をその現実物体に取り付けることが必要となる。
【００７１】
以上のように、本実施形態によって、３Ｄ−ＣＡＤで生成された３次元データより作成された簡易試作物が可動部を有する場合に、同じ３次元データより作成された３Ｄ−ＣＧデータを可動部の動きに合わせて動かすことによって、簡易試作物と３ＤＣＧデータを重ね合わせて表示することができる。
【００７２】
また、本実施形態では簡易試作物３００の位置姿勢は固定されているものとして説明したが、簡易試作物３００に磁気センサを取り付けて、センサ座標系における簡易試作物３００の位置姿勢の計測を行うことができれば、これに重畳させる仮想物体の位置姿勢もそれに応じて動かせば、常に簡易試作物３００に仮想物体を重畳させることができる。これについての詳細な説明は後段の第３の実施形態にて行う。
【００７３】
また、本実施形態では、ＨＭＤとしてビデオシースルータイプを用いているが、光学シースルータイプを用いて良く、その場合には、コンピュータ４００は、仮想空間の画像を現実空間の画像上に重畳させる処理、すなわち処理４０１０は行う必要はなく、処理４０２０では、映像生成部４０３Ｒ、４０３Ｌによって、処理４０１０で生成した現実空間の画像（それぞれ右目用現実空間の画像、左目用現実空間の画像）をアナログ信号としてのビデオ信号に変換し、Ｉ／Ｆ１２０７を介して表示装置１０１Ｒ、１０１Ｌに出力することになる。
【００７４】
［第２の実施形態］
本実施形態では、簡易試作物３００（簡易モックアップ）、及び可動部分３０１にマーカを添付することにより、これを見る観察者の視点の位置姿勢を補正することを可能とした複合現実感システムを示す。
【００７５】
第１の実施形態においては、磁気を使って観察者の視点の位置姿勢を計測する場合を例に説明したが、磁気を使った場合には環境により計測精度が不安定になる場合がある。たとえば磁気トランスミッタの背景に金属物体が存在する場合には磁場が乱れ、磁気センサの出力する値が不安定になる。また、磁気トランスミッタと磁気センサの距離が遠くなるほど、計測精度が悪化するなどの問題がある。さらに、別の計測手段の例として、光学的に計測する手段が存在するが、この場合には光を発光させる装置と、光を受光する装置間に遮蔽物が存在すると計測不可能になるなどの問題がある。
【００７６】
よって本実施形態では、簡易試作物３００、可動部分３０１に添付されたマーカの映像を取り込み、この映像を用いることで、観察者の視点の位置姿勢を補正するというものである。
【００７７】
図５は、現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理過程において、可動部分を有する現実物体（簡易試作物）にこの現実物体を表す仮想物体を重畳させる場合に、この可動部分が可動すると、それに伴って仮想物体におけるこの可動部分に相当する部分を可動させるためのシステムの外観を示す図である。
【００７８】
同図において図１と同じ部分については同じ番号を付けており、その説明は省略する。また、同図において図１と異なる点は、簡易試作物３００、可動部分３０１のそれぞれにマーカ３１０，３１１が添付されているという点である。マーカとしては、位置姿勢補正のアルゴリズムに応じて、形状マーカあるいは、色マーカなど種々のものが考えられる。
【００７９】
なお同図では簡易試作物３００、可動部分３０１に添付するマーカの個数は１個ずつであるが、この数に限定されるものではなく、それぞれ複数個数添付するようにしても良い。
【００８０】
図６は、本実施形態に係るコンピュータ４００の機能構成を示す図である。同図において図３と同じ部分については同じ番号を付けており、その説明は省略する。同図において図３と異なる点は、マーカ検出部４１０が加わった点にある。
【００８１】
また、図７は、観察者の右目、左目に対して、それぞれの位置姿勢に応じて見える複合現実空間の画像を提示する為の処理手順を示す図である。同図において図４と同じ部分については同じ番号を付けており、その説明は省略する。
【００８２】
以下、簡易試作物３００、可動部分３０１に添付されたマーカを用いて、観察者の視点の位置姿勢を補正する処理について図６，７を用いて説明する。なお、以下説明する点以外については基本的には第１の実施形態と同様である。
【００８３】
３Ｄソリッドデータより光造形などのラピッド・プロトタイピング装置で作成した簡易試作物３００に対して、マーカを添付する（１１２０）。そして、マーカを添付した位置を算出するのであるが、その算出結果は、このときのロータリーエンコーダ２１０による計測値に基づいて上記式でもって決まる回転角度と共に、外部記憶装置２０５に記録する（１１３０）。
【００８４】
ここで、マーカの位置は階層座標系で表現する。すなわち、簡易試作物３００に添付したマーカの位置情報は簡易試作物座標系（簡易試作物３００上の１点を原点とし、この原点の位置で互いに直交する３軸をそれぞれｘ、ｙ、ｚ軸とする座標系）で記述し、可動部分３０１に添付したマーカの位置情報は、簡易試作物座標系の子座標系である可動部座標系（可動部分３０１上の１点を原点とし、この原点の位置で互いに直交する３軸をそれぞれｘ、ｙ、ｚ軸とする座標系）で記述する。
【００８５】
次に、複合現実感システムが行う、この３Ｄ−ＣＧ描画データ４０６を用いて仮想空間の画像（仮想物体の画像）を生成し、現実空間の画像に重畳させて観察者に提示する処理について、同図右側を参照して説明する。
【００８６】
本実施形態では、第１の実施形態に加えて、カメラ１０２Ｒ、１０２Ｌより撮像された現実空間の画像が映像キャプチャ部４０１Ｒ、４１０Ｌによりコンピュータ４００に入力されるので、マーカ検出部４１０はこの画像から、マーカを抽出する処理を行う（３０１１）。この抽出処理により、画像におけるマーカの位置を検出することができる。
【００８７】
一方で、操作者が可動部分３０１を手に持ってその角度を回転させると、そのときの角度は上述のようにして求めることができるので、先ず、外部記憶装置２０５に記憶させてある「可動部分３０１に添付されたマーカの位置」と簡易試作物３００の位置姿勢とを用いてセンサ座標系におけるマーカの位置姿勢を求め、これを回転角度だけ回転させたことで得られる現在のマーカの位置（センサ座標系における位置）を求める。
【００８８】
よって以上の処理により、可動部分３０１に添付されたマーカのセンサ座標系における位置と、画像上におけるマーカの位置とが得られるので、これらの位置関係を用いて、磁気センサ２０１による計測結果を補正することができる（２０３３）。なお、このような補正方法については周知のものであるので、これに関する詳細な説明は省略する。また、補正方法についてはこれに限定するものではない。
【００８９】
よって、以上の処理によって視点の位置姿勢を補正すると、以降は第１の実施形態の実施形態と同様にして処理を行う。
【００９０】
［第３の実施形態］
第１の実施形態では、簡易試作物３００の位置は固定されていたが、本実施形態では観察者がこの簡易試作物３００を手に持つことでその位置や姿勢が変わり、且つ可動部分３０１の角度も任意に変更することが可能な場合について説明する。このような場合、簡易試作物３００に磁気センサ２０１と同様の磁気センサを取り付ける。
【００９１】
図８は、現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理過程において、可動部分を有する現実物体（簡易試作物）にこの現実物体を表す仮想物体を重畳させる場合に、この可動部分が可動すると、それに伴って仮想物体におけるこの可動部分に相当する部分を可動させるためのシステムの外観を示す図である。
【００９２】
同図において図１と同じ部分については同じ番号を付けており、その説明は省略する。また、同図において図１と異なる点は、簡易試作物３００、可動部分３０１、ロータリーエンコーダ２１０の代わりに、簡易試作物（同図ではカメラ）３００’、可動部分３０１’、ロータリーエンコーダ２１０’、磁気センサ２０２を用いるという点である。
【００９３】
３００’は、カメラの簡易試作物であり、可動部分３０１’を有する。また、第１の実施形態と同様に、この可動部分３０１’の回転角度を測定する為に、ロータリーエンコーダ２１０’が取り付けられている。また、この簡易試作物３００のセンサ座標系における位置姿勢を計測するための磁気センサ２０２が取り付けられている。
【００９４】
図９は、観察者の右目、左目に対して、それぞれの位置姿勢に応じて見える複合現実空間の画像を提示する為の処理手順を示す図である。同図において図４と同じ部分については同じ番号を付けており、その説明は省略する。また、図９に示した処理が図４と異なる点は、処理２０１０で、簡易試作物３００’の位置姿勢を計測するという点にある。
【００９５】
即ち、第１の実施形態では、予め定められた簡易試作物３００の位置姿勢データを、外部記憶装置２０５から読み出すことで得ていたが、本実施形態では、センサ２０２から取得する。よって、本実施形態と第１の実施形態とは、簡易試作物３００の位置姿勢の取得方法が異なるのみで、それ以外については同じである。
【００９６】
［第４の実施形態］
本実施形態では、第２，３の実施形態を組み合わせる。即ち、簡易試作物３００の位置姿勢が任意に変更してもそれを取得すべく、簡易試作物３００に磁気センサ２０２を備えると共に、簡易試作物３００、可動部分３０１にマーカを添付する。これにより、第２の実施形態におけるシステムで、視点の位置姿勢の計測精度を向上させることができる。
【００９７】
図１０は、現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理過程において、可動部分を有する現実物体（簡易試作物）にこの現実物体を表す仮想物体を重畳させる場合に、この可動部分が可動すると、それに伴って仮想物体におけるこの可動部分に相当する部分を可動させるためのシステムの外観を示す図である。同図において図１、５，８と同じ部分については同じ番号を付けており、その説明は省略する。図１０に示すように、システムの構成は第２の実施形態に係るシステムの構成と、第３の実施形態に係るシステムの構成とを用いたものとなっている。
【００９８】
図１１は、観察者の右目、左目に対して、それぞれの位置姿勢に応じて見える複合現実空間の画像を提示する為の処理手順を示す図である。同図において図４と同じ部分については同じ番号を付けており、その説明は省略する。
【００９９】
なお、本実施形態の処理に係る説明は、第２，３の実施形態における説明で、マーカ３１０，３１１を３１０’、３１１’、簡易試作物３００と簡易試作物３００’、可動部分３０１を可動部分３０１’と読み替えればよい。
【０１００】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１０１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０２】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０３】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１０４】
【図１】現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理過程において、可動部分を有する現実物体（簡易試作物）にこの現実物体を表す仮想物体を重畳させる場合に、この可動部分が可動すると、それに伴って仮想物体におけるこの可動部分に相当する部分を可動させるためのシステムの外観を示す図である。
【図２】ＨＭＤ１００の具体的な構成を示す図である。
【図３】コンピュータ４００の機能構成を示す図である。
【図４】観察者の右目、左目に対して、それぞれの位置姿勢に応じて見える複合現実空間の画像を提示する為の処理の手順を示す図である。
【図５】現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理過程において、可動部分を有する現実物体（簡易試作物）にこの現実物体を表す仮想物体を重畳させる場合に、この可動部分が可動すると、それに伴って仮想物体におけるこの可動部分に相当する部分を可動させるためのシステムの外観を示す図である。
【図６】本発明の第２の実施形態に係るコンピュータ４００の機能構成を示す図である。
【図７】観察者の右目、左目に対して、それぞれの位置姿勢に応じて見える複合現実空間の画像を提示する為の処理手順を示す図である。
【図８】現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理過程において、可動部分を有する現実物体（簡易試作物）にこの現実物体を表す仮想物体を重畳させる場合に、この可動部分が可動すると、それに伴って仮想物体におけるこの可動部分に相当する部分を可動させるためのシステムの外観を示す図である。
【図９】観察者の右目、左目に対して、それぞれの位置姿勢に応じて見える複合現実空間の画像を提示する為の処理手順を示す図である。
【図１０】現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理過程において、可動部分を有する現実物体（簡易試作物）にこの現実物体を表す仮想物体を重畳させる場合に、この可動部分が可動すると、それに伴って仮想物体におけるこの可動部分に相当する部分を可動させるためのシステムの外観を示す図である。
【図１１】観察者の右目、左目に対して、それぞれの位置姿勢に応じて見える複合現実空間の画像を提示する為の処理手順を示す図である。
【図１２】コンピュータ４００の基本構成を示す図である。
【図１３】本発明の第１の実施形態で用いている簡易試作物３００における可動部分３０１の可動様態を示す図である。
【図１】
2006302034.tif 000003
【図２】
2006302034.tif 000004
【図３】
2006302034.tif 000005
【図４】
2006302034.tif 000006
【図５】
2006302034.tif 000007
【図６】
2006302034.tif 000008
【図７】
2006302034.tif 000009
【図８】
2006302034.tif 000010
【図９】
2006302034.tif 000011
【図１０】
2006302034.tif 000012
【図１１】
2006302034.tif 000013
【図１２】
2006302034.tif 000014
【図１３】
2006302034.tif 000015