(57)【要約】【課題】  観察者が直感的に分かりやすいように、仮想物体の測定を行うための技術を提供すること。【解決手段】  器具５００の仮想物体を測定対象仮想物体１５０の近傍に近づけた場合に、第１の仮想物体、第２の仮想物体の位置姿勢を変更し（Ｓ２０２，Ｓ２０４）、位置姿勢が変更された第１の仮想物体と第２の仮想物体との位置姿勢関係に基づいて、測定対象仮想物体１５０に対する測定を行い、測定結果を表示する（Ｓ２０７）。【選択図】  図１２
2006277350.tif 000002
【特許請求の範囲】
【請求項１】
棒状の第１の部材の一端と、棒状の第２の部材の一端とが、それぞれの部材が成す角度が変更可能なように支持されている器具の位置姿勢を取得する第１の取得工程と、
前記第１の部材と前記第２の部材とが成す角度を取得する第２の取得工程と、
前記器具の位置姿勢および前記角度に基づき、前記器具の仮想物体情報を設定する器具仮想物体情報設定工程と、
ユーザの視点の位置姿勢を取得する第３の取得工程と、
前記器具の仮想物体情報、及び測定対象の仮想物体の仮想物体情報に基づき、前記ユーザの視点の位置姿勢に応じた、前記器具の仮想物体画像および前記測定対象の仮想物体画像を生成する生成工程と、
前記器具の仮想物体と前記測定対象仮想物体が近づいた場合に、前記器具の仮想物体の位置姿勢および角度を調整する器具仮想物体情報調整工程と
を備えることを特徴とする情報処理方法。
【請求項２】
前記器具の仮想物体および前記測定対象の仮想物体の位置関係に基づき、前記測定対象仮想物体に対する測定を行う測定工程と、
前記測定結果を表示させる工程と
を備えることを特徴とする請求項１記載の情報処理方法。
【請求項３】
前記第１の部材の仮想物体の一端を前記測定対象の仮想物体の第１の箇所、前記第２の部材の仮想物体の一端を前記測定対象の仮想物体の第２の箇所に近づけた場合に、
前記変更工程では、
前記第１の部材の仮想物体を前記第１の箇所に沿わせると共に、前記第２の部材の仮想物体を前記第２の箇所に沿わせることを特徴とする請求項１に記載の情報処理方法。
【請求項４】
棒状の第１の部材の一端と、棒状の第２の部材の一端とが、それぞれの部材が成す角度が変更可能なように支持されている器具の位置姿勢を取得する第１の取得手段と、
前記第１の部材と前記第２の部材とが成す角度を取得する第２の取得手段と、
前記器具の位置姿勢および前記角度に基づき、前記器具の仮想物体情報を設定する器具仮想物体情報設定手段と、
ユーザの視点の位置姿勢を取得する第３の取得手段と、
前記器具の仮想物体情報、及び測定対象の仮想物体の仮想物体情報に基づき、前記ユーザの視点の位置姿勢に応じた、前記器具の仮想物体画像および前記測定対象の仮想物体画像を生成する生成手段と、
前記器具の仮想物体と前記測定対象仮想物体が近づいた場合に、前記器具の仮想物体の位置姿勢および角度を調整する器具仮想物体情報調整手段と
を備えることを特徴とする情報処理装置。
【請求項５】
コンピュータに請求項１乃至３の何れか１項に記載の情報処理方法を実行させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想物体の測定技術に関するものである。
【背景技術】
【０００２】
ＭＲ，ＡＲ技術は実写映像とＣＧを合成し、仮想のＣＧ物体が利用者の前に存在するかのように見せる技術である。ＭＲ技術の典型的なアプリケーションでは、利用者はビデオシースルー型のＨＭＤを装着し、ＨＭＤの前面のカメラからの映像と、計算機が作成したＣＧ映像を合成した映像を見る。ＣＧ映像は、位置センサにより測定した利用者の視点から描かれるため、利用者にはあたかも現実空間に仮想のＣＧが存在するかのように見える。実際のＭＲ技術の応用としては、工業デザインの検証が挙げられる。
【特許文献１】特開平１１―８８９１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら先に示したＭＲを使ったＣＡＤデザインのプレビューにおいて、ＣＡＤモデルの寸法などを直感的かつ正確に測ることは難しかった。正確な寸法を得ようとした場合、ＣＡＤモデルの２点を正確に指定する必要がある。従来のモニタ画面を使用したＣＡＤの場合には、それらの２点をマウスなどで指示していた。
【０００４】
しかし、そのようにＣＡＤモデルの２点を指示してＣＡＤモデルの寸法を測ることは、ＭＲ技術を用いている場合には直感的とはいえない。ＭＲ技術を用いた場合、利用者にはＣＡＤモデルが目の前に存在するかのように見えている。もし利用者の前にあるのがＣＡＤモデルでなく実物だとしたら、２点間の寸法を測るためにはものさしなどを使用するはずである。利用者が手で持つことができるものさしをＣＡＤモデルにあてて寸法を測る方がより直感的なインタフェースである。
【０００５】
ＭＲ技術を用いた場合、本物のものさしをＣＡＤモデルにかざして寸法を測ることも可能である。だが正確な大きさを知ることは難しい。ＣＡＤモデルには実体がないため、ものさしをＣＡＤモデルにあてることができないためである。
【０００６】
本発明は以上の問題に鑑みて成されたものであり、観察者が直感的に分かりやすいように、仮想物体の測定を行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【０００８】
即ち、棒状の第１の部材の一端と、棒状の第２の部材の一端とが、それぞれの部材が成す角度が変更可能なように支持されている器具の位置姿勢を取得する第１の取得工程と、
前記第１の部材と前記第２の部材とが成す角度を取得する第２の取得工程と、
前記器具の位置姿勢および前記角度に基づき、前記器具の仮想物体情報を設定する器具仮想物体情報設定工程と、
ユーザの視点の位置姿勢を取得する第３の取得工程と、
前記器具の仮想物体情報、及び測定対象の仮想物体の仮想物体情報に基づき、前記ユーザの視点の位置姿勢に応じた、前記器具の仮想物体画像および前記測定対象の仮想物体画像を生成する生成工程と、
前記器具の仮想物体と前記測定対象仮想物体が近づいた場合に、前記器具の仮想物体の位置姿勢および角度を調整する器具仮想物体情報調整工程と
を備えることを特徴とする。
【０００９】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【００１０】
即ち、棒状の第１の部材の一端と、棒状の第２の部材の一端とが、それぞれの部材が成す角度が変更可能なように支持されている器具の位置姿勢を取得する第１の取得手段と、
前記第１の部材と前記第２の部材とが成す角度を取得する第２の取得手段と、
前記器具の位置姿勢および前記角度に基づき、前記器具の仮想物体情報を設定する器具仮想物体情報設定手段と、
ユーザの視点の位置姿勢を取得する第３の取得手段と、
前記器具の仮想物体情報、及び測定対象の仮想物体の仮想物体情報に基づき、前記ユーザの視点の位置姿勢に応じた、前記器具の仮想物体画像および前記測定対象の仮想物体画像を生成する生成手段と、
前記器具の仮想物体と前記測定対象仮想物体が近づいた場合に、前記器具の仮想物体の位置姿勢および角度を調整する器具仮想物体情報調整手段と
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明の構成により、観察者が直感的に分かりやすいように、仮想物体の測定を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１３】
図１は、現実空間と仮想空間とが融合された複合現実空間中に存在する仮想物体の測定を行うためのシステムを使用している様子を示す図である。同図において１０は複合現実空間の観察者で、その頭部にはＨＭＤ（頭部装着型表示装置）１００が装着されており、観察者１０はこのＨＭＤ１００を介して複合現実空間の画像を眼前に見ることができる。また、観察者の手には、棒状の第１の部材の一端と、棒状の第２の部材の一端とが、それぞれの部材が成す角度が変更可能なように支持されている器具、即ち、コンパス状の器具５００が保持されている。
【００１４】
図４は、器具５００の概略構成を示す図で、器具５００は棒状の第１の部材５０１，棒状の第２の部材５０２、第１の部材５０１の位置姿勢を計測するための位置姿勢センサ５１０、第１の部材５０１と第２の部材５０２とが成す角度を計測するセンサ５２０により構成されている。器具５００の使用方法については後述する。
【００１５】
図１に戻って、１５０は仮想物体としてのプリンタで、測定の対象となる仮想物体である。２１０は磁気の発信源で、ＨＭＤ１００、器具５００にはこの磁気発信源２１０から発せられる磁気に従って自身の位置姿勢を計測するセンサが備わっている。
【００１６】
これらのセンサは磁気発信源２１０に接続されており、センサによる計測結果はこの磁気発信源２１０によって求まり、コンピュータ３００に送出される。
【００１７】
以下、システムを構成する各部について説明する。
【００１８】
図１０は、本実施形態に係るシステムのハードウェア構成を示すブロック図である。
【００１９】
ＨＭＤ１００はＨＭＤ内蔵センサ１２０，右目カメラ１１０、左目カメラ１１１、右目ＬＣＤ１３０，左目ＬＣＤ１３１により構成されている。
【００２０】
ＨＭＤ内蔵センサ１２０は、磁気発信源２１０から発せられる磁界において、自身の位置姿勢に応じた磁界の変化を検知し、検知した結果を示す信号を３次元センサ本体２００に出力する。
【００２１】
右目カメラ１１０、左目カメラ１１１はそれぞれ、ＨＭＤ１００を頭部に装着する観察者の右目、左目から見える現実空間の動画像を撮像するものである。右目カメラ１１０、左目カメラ１１１のそれぞれにより撮像された動画像を構成する各フレームの画像データはコンピュータ３００に出力する。
【００２２】
右目ＬＣＤ１３０、左目ＬＣＤ１３１はそれぞれ、右目カメラ１１０、左目カメラ１１１のそれぞれによって撮像された現実空間に、コンピュータ３００が生成した仮想物体の画像を重畳させた画像（複合現実空間の画像）を表示するものであり、これにより、ＨＭＤ１００を頭部に装着した観察者は、自身の右目、左目に対応する複合現実空間の画像を眼前に見ることができる。
【００２３】
図２は、ＨＭＤ１００の外観を示す図であり、同図に示す如く、ＨＭＤ１００には右目カメラ１１０，左目カメラ１１１、右目ＬＣＤ１３０、左目ＬＣＤ１３１、そしてＨＭＤ内蔵センサ１２０が備わっている。
【００２４】
図１０に戻って、器具５００は上述の通り、観察者の手に保持されているもので、その位置姿勢は観察者の手が動くことにより変化する。よって、デバイス内蔵センサ５１０は、磁気発信源２１０から発せられる磁界において、自身の位置姿勢に応じた磁界の変化を検知し、検知した結果を示す信号を３次元センサ本体２００に出力する。
【００２５】
３次元センサ本体２００は、ＨＭＤ内蔵センサ１２０、デバイス内蔵センサ５１０から受けた信号の強度に基づいて、センサ座標系（磁気発信源２１０の位置を原点とし、この原点で互いに直交する３軸をそれぞれｘ、ｙ、ｚ軸とする座標系）におけるＨＭＤ内蔵センサ１２０、デバイス内蔵センサ５１０の位置姿勢（第１の部材５０１の位置姿勢）を示すデータを求め、コンピュータ３００に出力する。
【００２６】
また、器具５００にはデバイス内蔵ボリューム５２０が備わっており、器具５００を構成する第１の部材５０１と第２の部材５０２とが成す角度に応じた信号をコンピュータ３００に出力する。
【００２７】
次に、コンピュータ３００について説明する。
【００２８】
Ａ／Ｄコンバータ３４０は、デバイス内蔵ボリューム５２０から出力される信号をＡ／Ｄ変換し、この信号を第１の部材５０１と第２の部材５０２とが成す角度を示すデータとしてメモリ３０２に出力する。
【００２９】
シリアルＩ／Ｏ３１０は、３次元センサ本体２００から出力されるデータを受ける為のインターフェースとして機能するものであり、受けたデータはメモリ３０２に出力される。なお、このデータは上述の取り、ＨＭＤ内蔵センサ１２０やデバイス内蔵センサ５１０のセンサ座標系における位置姿勢を示すデータである。本実施形態ではこの位置姿勢は、位置（ｘ、ｙ、ｚ）を示すデータと、姿勢（ｒｏｌｌ，ｐｉｔｃｈ，ｙａｗ）を示すデータにより構成されているものとする。すなわち、ＨＭＤ内蔵センサ１２０、デバイス内蔵センサ５１０は、６自由度の計測センサである。なお、位置姿勢を表現する方法は他にも考えられ、これに限定するものではない。
【００３０】
ビデオキャプチャカード３２０、３２１はそれぞれ、右目カメラ１１０、左目カメラ１１１から入力される、各フレームの画像を受けるためのインターフェースとして機能するものであり、受けた画像は順次メモリ３０２に出力する。本実施形態では、各フレームの画像はＮＴＳＣに準拠したものであるとするが、これに限定するものではない。
【００３１】
ビデオカード３３０，３３１はそれぞれ、ＣＰＵ３０１が後述する処理により生成した右目、左目に対応する複合現実空間の画像を右目ＬＣＤ１３０、左目ＬＣＤ１３１に出力するためのインターフェースとして機能するものであり、右目、左目に対応する複合現実空間の画像はそれぞれ、ＶＧＡに準拠した画像信号としてビデオカード３３０、３３１を介して右目ＬＣＤ１３０、左目ＬＣＤ１３１に出力される。
【００３２】
ＣＰＵ３０１は、コンピュータ３００全体の制御を行うと共に、コンピュータ３００が行うべき後述の各処理を実行する。このような処理の実行は、メモリ３０２に記憶されている各種のプログラムやデータを実行することでなされる。
【００３３】
メモリ３０２は、ＣＰＵ３０１が各種の処理を実行するために使用するワークエリアや、ＣＰＵ３０１に各種の処理を実行させるためのプログラムやデータを記憶するためのエリア、また、シリアルＩ／Ｏ３１０、Ａ／Ｄコンバータ３４０、ビデオキャプチャカード３２０、３２１を介して入力される各種のデータを一時的に記憶するためのエリアを備える。また、右目カメラ１１０とＨＭＤ内蔵センサ１２０との位置姿勢関係（右目用バイアス）、左目用カメラ１１１とＨＭＤ内蔵センサ１２０との位置姿勢関係（左目用バイアス）は予め測定されており、測定された右目用バイアス、左目用バイアスはメモリ３０２にに予め格納されているものとする。
【００３４】
ＰＣＩブリッジ３０３は、ＣＰＵ３０１、メモリ３０２が繋がっているバスと、Ａ／Ｄコンバータ３４０、シリアルＩ／Ｏ３１０、ビデオキャプチャカード３２０、３２１，ビデオカード３３０、３３１を繋ぐバスとを電気的に繋ぐためのものである。
【００３５】
次に、以上の構成を備えるコンピュータ３００が、複合現実空間の映像を生成する為に行う処理について、同処理のフローチャートを示す図１１を用いて以下説明する。なお、同図のフローチャートに従った処理をＣＰＵ３０１に実行させるためのプログラムやデータはメモリ３０２に格納されており、ＣＰＵＣＰＵ３０１はこれを用いて処理を行うことで、コンピュータ３００は以下説明する各処理を実行することになる。
【００３６】
右目カメラ１１０（左目カメラ１１１）からは各フレームの撮像画像（現実空間の画像）がビデオキャプチャカード３２０（３２１）を介して本コンピュータ３００に入力されるので、ＣＰＵ３０１はこれを取得し（ステップＳ１００）、メモリ３０２上に設けられているビデオメモリに順次格納する（ステップＳ１０１）。
【００３７】
次に、Ａ／Ｄコンバータ３４０を介して「第１の部材５０１と第２の部材５０２とが成す角度」（以下、「ボリューム値」と呼称）を示すデータが本コンピュータ３００に入力されると共に、シリアルＩ／Ｏ３１０を介して「ＨＭＤ内蔵センサ１２０のセンサ座標系における位置姿勢」を示すデータ、「デバイス内蔵センサ５１０のセンサ座標系における位置姿勢」を示すデータが本コンピュータ３００に入力されるので、ＣＰＵ３０１は、ＨＭＤ内蔵センサ１２０のセンサ座標系における位置姿勢に左目用バイアス（右目用バイアス）を加算して、センサ座標系における左目カメラ１１１（右目カメラ１１０）の位置姿勢を求め、求めた位置姿勢を示すデータをメモリ３０２に格納する（ステップＳ１０２）。なお、以下では右目、左目を総称して「視点」と呼称する場合がある。
【００３８】
なお、デバイス内蔵センサ５１０のセンサ座標系における位置姿勢を示すデータ、ボリューム値を示すデータはそのままメモリ３０２に格納する。
【００３９】
次に、ＣＰＵ３０１は、ステップＳ１０２で求めた視点の位置姿勢を用いてモデリング行列を生成すると共に、予め測定しておいたカメラの焦点距離などのパラメータから、射影変換行列を作成する（射影行列の作成は最初の１回のみで、以降は使いまわす）処理を行う（ステップＳ１０３）。モデリング行列、射影変換行列を求める処理については周知の技術であるので、ここでの説明は省略する。要するに本ステップでは、視点から見える仮想空間の画像を生成するために用いる行列を生成する処理を行う。
【００４０】
次に、ＣＰＵ３０１は、先に求めた行列を用いて、右目（左目）から見える仮想空間の画像を生成し、上記ビデオメモリ上に描画する（ステップＳ１０４、Ｓ１０５）。より詳しくは、測定対象の仮想物体（本実施形態では図１に示すプリンタの仮想物体１５０）を所定の位置姿勢で配置し、配置した仮想物体を右目カメラ１１０（左目カメラ１１１）から見えた場合に見える画像を生成し、上記ビデオメモリ上に描画する（ステップＳ１０４）。
【００４１】
次に、器具５００の仮想物体を配置するのであるが、先ずデバイス内蔵センサ５１０が計測した位置姿勢に第１の部材５０１に相当する仮想物体（以下、第１の仮想物体と呼称）を配置する。そして次に、第２の部材５０２に相当する仮想物体（以下、第２の仮想物体と呼称）の配置を行うのであるが、第２の仮想物体の一端が第１の仮想物体の一端に一致しており、且つ、第１の仮想物体と第２の仮想物体とが成す角度がデバイス内蔵ボリューム５２０から取得したボリューム値が示す角度となるような位置姿勢（即ち第２の部材５０２の位置姿勢）を求め、求めた位置姿勢に第２の仮想物体を配置する。これにより、器具５００の仮想物体を配置することができる。
【００４２】
図１９は、器具５００の仮想物体の一例を示す図で、同図において１９０１は第１の部材５０１に相当する仮想物体で、第１の部材５０１の位置姿勢でもって配置される。１９０２は第２の部材５０２に相当する仮想物体で、第２の部材５０２の位置姿勢でもって配置される。
【００４３】
よって図１１のステップＳ１０５では、上述のようにして器具５００の仮想物体を配置し、配置した仮想物体を右目カメラ１１０（左目カメラ１１１）から見えた場合に見える画像を生成し、上記ビデオメモリ上に描画する（ステップＳ１０５）。
【００４４】
なお、メモリ３０２には先に、右目カメラ１１０から取得した現実空間の画像、左目カメラ１１１から取得した現実空間の画像がステップＳ１０１で格納されているので、ステップＳ１０４，Ｓ１０５で、それぞれの画像上に、右目カメラ１１０から見える仮想空間の画像、左目カメラ１１１から見える仮想空間の画像を描画することで、メモリ３０２上には、右目カメラ１１０から見た複合現実空間の画像、左目カメラ１１１から見た複合現実空間の画像が生成されることになる。
【００４５】
図３は、現実空間の画像上に仮想空間の画像を描画することで、複合現実空間の画像を生成する過程を示す図で、同図に示す如く、現実空間の画像３０１上に仮想空間の画像３０２を重畳（合成）することで、複合現実空間画像３０３が生成される。
【００４６】
次にＣＰＵ３０１は、右目用複合現実空間画像、左目用複合現実空間画像をそれぞれ、ビデオカード３３０，３３１のフレームバッファに転送する（ステップＳ１０６）。転送されたそれぞれの画像は右目ＬＣＤ１３０、１３１に送出され、それぞれで表示される。ＨＭＤ１００を頭部に装着した観察者は視点の位置姿勢に応じた複合現実空間の画像を観察することができる。
【００４７】
次に、観察者が器具５００を用いて測定対象仮想物体１５０を測定する場合に、コンピュータ３００が行う処理について説明する。観察者が器具５００を用いて測定対象仮想物体１５０を測定する場合、当然観察者はこの器具５００を測定対象仮想物体１５０に近づけるのであるが、器具５００の仮想物体と測定対象仮想物体１５０との距離に応じて器具５００を構成する仮想物体（図１９の場合、１９０１，１９０２）の位置姿勢を測定に適した位置姿勢に変更する。以下、様々な測定を行う場合について説明する。なお、器具５００の仮想物体を用いてどのような測定を行うのか（換言すれば器具５００の仮想物体をどのような測定器具として用いるのか）は、不図示の操作部を観察者や本コンピュータ３００の操作者が操作して指示するようにしても良い。
【００４８】
＜２点間の距離を測定する＞
先ず、器具５００の仮想物体を用いて、測定対象仮想物体１５０上の２点間の距離を測定する場合について説明する。
【００４９】
図１２は、器具５００の仮想物体を用いて２点間の距離を求める場合に、器具５００の仮想物体を配置し、配置した仮想物体を右目カメラ１１０（左目カメラ１１１）から見えた場合に見える画像を生成し、上記ビデオメモリ上に描画する処理（即ち、ステップＳ１０５における処理）のフローチャートである。
【００５０】
先ず、ＣＰＵ３０１は、デバイス内蔵センサ５１０から取得した第１の部材５０１の位置姿勢と、デバイス内蔵ボリューム５２０から取得したボリューム値を参照し、第１の仮想物体の先の位置、第２の仮想物体の先の位置を求める（ステップＳ２００）。
【００５１】
第１の仮想物体、第２の仮想物体の先の位置を求める方法については特に限定しないが、例えば第１の仮想物体の先の位置については以下のようにして求める。予めデバイス内蔵センサ５１０の設置位置と第１の部材５０１の先の位置との位置関係（第１の位置関係）を求めておく。また、第１の部材５０１の先の位置と第１の仮想物体の先の位置との位置関係（第２の位置関係）は予め分かるので、デバイス内蔵センサ５１０により計測される位置、第１の位置関係、第２の位置関係を用いれば、第１の仮想物体の位置は求めることができる。これは第２の仮想物体の先の位置を求める場合についても同様である。なお、以下では、第１の仮想物体、第２の仮想物体を「足」と呼称する場合がある。
【００５２】
次に、一方の足（以下、第１の足）の先の位置から所定距離以内に測定対象仮想物体１５０を構成する特徴点が位置しているのかを判断する（ステップＳ２０１）。本実施形態では、測定対象仮想物体１５０を記述するＣＡＤデータには、仮想物体の特徴となる頂点や辺についての情報が付加されていることとする。ここでいう特徴点は、先に図３で示したプリンタで言えば、ボディの外形の角や稜線などである。これらの特徴点や辺は、利用者が手動で付加しても、コンピュータ３００が自動的に付加してもよい。
【００５３】
そして第１の足の先の位置から所定距離以内に特徴点がある場合には処理をステップＳ２０１を介してステップＳ２０２に進め、この第１の足の先をこの特徴点の位置に一致させるように、第１の足を移動させる（ステップＳ２０２）。
【００５４】
図６は、足の先の位置を特徴点に一致させる処理を説明する図で、同図において６０１は測定対象仮想物体１５０上の特徴点で、６００は第１の足である。同図では、第１の足６００の先の位置から所定距離以内に特徴点６０１が存在するために、第１の足６００は同図矢印で示す如く移動させ、６１０で示す位置に移動させる。
【００５５】
図１２に戻って、ステップＳ２０１における判断で、第１の足の先の位置から所定距離以内に特徴点が無かった場合には処理をステップＳ２０３に進め、第１の足の先の位置から所定距離以内に測定対象仮想物体１５０を構成する特徴辺が位置しているのかを判断する（ステップＳ２０３）。存在する場合には処理をステップＳ２０４に進め、第１の足の先の位置を、第１の足の先の位置から特徴辺に垂線をひいたときの交点に一致させるように、第１の足を移動させる（ステップＳ２０４）。
【００５６】
図１３は、足の先の位置を特徴辺上に一致させる処理を説明する図で、同図において１３０１は測定対象仮想物体１５０上の特徴辺で、１３００は第１の足である。ここで、第１の足１３００の先の位置から所定距離以内に特徴辺１３０１が存在するために、第１の足１３００は同図矢印で示す如く移動させ、１３１０で示す位置に移動させる。なお、それぞれの足を移動させる方法については上記に限定するものではなく、様々な方法が考えられる。
【００５７】
次に、処理をステップＳ２０５に進め、もう一方の足（以下、第２の足と呼称する）についても上記処理を行ったのかを判断し、行っていないのであれば処理をステップＳ２０１に戻し、第２の足の先の近傍に特徴点、特徴辺が存在するのかを判断し、存在する場合には上記処理を行い、第２の足の位置を移動させる。
【００５８】
そしてそれぞれの足について上記処理を行ったのであれば、処理をステップＳ２０６に進める、ここで、それぞれの足について上記処理を行ったのであれば、それぞれの足は独立して移動するので、元々支持されていた一端が離れてしまうなどの問題が生じる。そこで、元々支持されていた一端を一致させるべく、それぞれの足の姿勢を変更する（ステップＳ２０６）。そして、上述のように変更された位置姿勢（それぞれの足が何れの特徴点、特徴辺にも近くない場合には全く位置姿勢が変更されていない）に足を配置し、配置した仮想物体を右目カメラ１１０（左目カメラ１１１）から見えた場合に見える画像を生成し、上記ビデオメモリ上に描画する（ステップＳ２０６）。
【００５９】
そして、それぞれの足の先の位置を用いて、それぞれの位置の間の距離を求め、それを複合現実空間の画像上に表示すべく、距離を示す文字列を上記ビデメモリ上に描画する（ステップＳ２０７）。
【００６０】
図５は、以上の処理を行うことで生成される複合現実空間の画像の表示例を示す図である。同図において６００は器具５００の仮想物体で、それぞれの足の先は測定対象仮想物体５４の特徴点５１，５２に一致するように位置している。これにより、観察者が足の先を特徴点に一致させる操作を行わなくても、特徴点５１，５２間の距離を正確に測定することができる。
【００６１】
また、測定した２点間の距離は同図６１０に示す如く、表示される。これにより、観察者は改めて目盛りを読むなどの動作を行わなくても測定結果を知ることができる。
【００６２】
＜２辺が成す角度を測定する＞
次に、器具５００の仮想物体を用いて、測定対象仮想物体１５０上の２辺が成す角度を測定する場合について説明する。
【００６３】
図１４は、器具５００の仮想物体を用いて２辺が成す角度を求める場合に、器具５００の仮想物体を配置し、配置した仮想物体を右目カメラ１１０（左目カメラ１１１）から見えた場合に見える画像を生成し、上記ビデオメモリ上に描画する処理のフローチャートである。
【００６４】
先ず、第１の足の位置、第２の足の位置を求める（ステップＳ３００）。第１の足を第１の仮想物体、第２の足を第２の仮想物体とすると、第１の仮想物体の位置は即ち第１の部材５０１の位置であり、第１の部材５０１の位置はデバイス内蔵センサ５１０より取得される位置である。また、第２の仮想物体の位置は、上述の通り、第１の仮想物体の位置姿勢とボリューム値とを用いて周知の計算によって求まる。
【００６５】
次に、第１の足から所定の距離以内に特徴辺があり、且つ第１の足とこの特徴辺が略並行であるのかを判断する（ステップＳ３０１）。本ステップでは、第１の足の位置と特徴辺との距離を求め、求めた距離が所定距離以内であるのかを判断する。そして所定距離以内であれば次に、第１の足とこの特徴辺が略並行であるのかを判断するのであるが、これは例えば、第１の足が第１の仮想物体であれば、デバイス内蔵センサ５１０が計測した姿勢と特徴辺の姿勢とを比べ、それぞれの差が所定範囲内であれば、略並行と判断すればよい。また、第１の足が第２の仮想物体であれば、上述のようにして第２の仮想物体の姿勢を求め、求めた姿勢と特徴辺の姿勢とを比べ、それぞれの差が所定範囲内であれば、略並行と判断すればよい。
【００６６】
そして、第１の足から所定の距離以内に特徴辺があり、且つ第１の足とこの特徴辺が略並行である場合には処理をステップＳ３０２に進め、第１の足の姿勢を特徴辺の姿勢に一致させ、その後、第１の足の先の位置を、この位置から特徴辺に垂線をひいたときの交点に一致させることで、第１の足の位置姿勢を変更する（ステップＳ３０２）。これにより、第１の足は、この特徴辺に沿うように位置することになる。なお、第１の足を、この特徴辺に沿うように位置させる方法についてはこれに限定するものではなく、様々な方法が考えられる。
【００６７】
そして処理をステップＳ３０３に進め、もう一方の足（第２の足）について上記処理を行ったのかを判断し（ステップＳ３０３）、行っていないのであれば処理をステップＳ３０１に戻して以降の処理を繰り返す。
【００６８】
一方、第２の足についても上記処理を行ったのであれば処理をステップＳ３０４に進める。図１５は、それぞれの足の位置姿勢を移動させた様子を示す図で、同図において第１の足１５０１，第２の足１５０２をそれぞれ矢印で示す如く移動させることで、それぞれを特徴辺１５１０、１５２０に沿わせるように移動させることができる。
【００６９】
図１４に戻って、次に、移動させた足を延長した線が交わる位置、もしくは最も近づく位置に両足の根元の側の端点を一致させるように、それぞれの足を移動させる（ステップＳ３０４）。これは図１６に示すように、それぞれの足を一点で交わるようにすることに対応する。図１６は、１点で交わる足を示す図である。
【００７０】
図１４に戻って、上述のように変更された位置姿勢（それぞれの足が何れの特徴辺にも近くない場合には全く位置姿勢が変更されていない）に足を配置し、配置した足を右目カメラ１１０（左目カメラ１１１）から見えた場合に見える画像を生成し、上記ビデオメモリ上に描画する（ステップＳ３０５）。
【００７１】
図８は、それぞれの足を特徴辺に沿わせるように、その位置姿勢を補正する様子を示す図である。そして、それぞれの足が成す角度を求め、それを複合現実空間の画像上に表示すべく、角度を示す文字列を上記ビデメモリ上に描画する（ステップＳ３０６）。
【００７２】
図７は、以上の処理を行うことで生成される複合現実空間の画像の表示例を示す図である。同図において６００は器具５００の仮想物体で、それぞれの足は測定対象仮想物体５４の特徴辺７１，７２に沿うように位置している。これにより、観察者が足を特徴辺に沿わせるように操作を行わなくても、特徴辺７１，７２が成す角度を正確に測定することができる。
【００７３】
また、測定した角度は同図７１０に示す如く、表示される。これにより、観察者は改めて目盛りを読むなどの動作を行わなくても測定結果を知ることができる。
【００７４】
＜サイズを測定する＞
次に、器具５００の仮想物体を用いて、測定対象仮想物体１５０のサイズを測定する場合について説明する。なお、本実施形態に係る器具５００の仮想物体は、図２０に示す如く、第１の仮想物体２００１と第２の仮想物体２００２とが、先の位置に近づくほど並行となるようなものとなっている。図２０は、本実施形態で用いる器具５００の仮想物体を示す図である。よって、第１の仮想物体、第２の仮想物体のそれぞれの形状は、ボリューム値が変更する毎に変わる。
【００７５】
図１７は、器具５００の仮想物体を用いて測定対象仮想物体１５０のサイズを求める場合に、器具５００の仮想物体を配置する処理のフローチャートである。
【００７６】
先ず、上記ステップＳ３００と同様の処理を行い、第１の足の位置、第２の足の位置を求める（ステップＳ４００）。
【００７７】
次に、第１の足から所定の距離以内に特徴辺があるのかを判断する（ステップＳ４０１）。本ステップでは、第１の足の位置と特徴辺との距離を求め、求めた距離が所定距離以内であるのかを判断する。
【００７８】
そして、第１の足から所定の距離以内に特徴辺がある場合には処理をステップＳ４０２に進め、第１の足と特徴辺との最短距離のベクトルを求め（ステップＳ４０２）、このベクトルに平行な直線に沿って足の先の位置を特徴辺上に移動させる（ステップＳ４０３）。その際、先の位置のみを移動させるので、足が曲線を描く形状となるのであるが、これは適宜所定の曲率でもって曲がった足（仮想物体）を作成することになる。図１８は、第１の足を特徴辺に沿って移動させる様子を示す図である。なお、第１の足の先の位置を特徴辺上に移動させる方法についてはこれに限定するものではなく、様々な方法が考えられる。
【００７９】
そして処理をステップＳ４０４に進め、もう一方の足（第２の足）について上記処理を行ったのかを判断し（ステップＳ４０４）、行っていないのであれば処理をステップＳ４０１に戻して以降の処理を繰り返す。
【００８０】
一方、第２の足についても上記処理を行ったのであれば処理をステップＳ４０５に進める。そして、上述のように変更された位置姿勢（それぞれの足が何れの特徴辺にも近くない場合には全く位置姿勢が変更されていない）に足を配置し、配置した足を右目カメラ１１０（左目カメラ１１１）から見えた場合に見える画像を生成し、上記ビデオメモリ上に描画する（ステップＳ４０５）。
【００８１】
そして、それぞれの足の先の位置の間の距離を求め、それを複合現実空間の画像上に表示すべく、距離を示す文字列を上記ビデメモリ上に描画する（ステップＳ４０６）。
【００８２】
図９は、以上の処理を行うことで生成される複合現実空間の画像の表示例を示す図である。
【００８３】
以上のようにして、器具５００の仮想物体と測定対象仮想物体１５０器具とが近づいた場合には、器具５００の仮想物体の位置や姿勢、足間の角度などを調節して、測定対象仮想物体１５０に対する測定を行う。
【００８４】
なお、本実施形態に係る処理は、複合現実空間の画像を生成するシステムに適用することに限定するものではなく、仮想空間の画像のみを生成するシステムにも適用可能であることはいうまでもない。
【００８５】
また、本実施形態ではＨＭＤとしてビデオシースルー型のものを用いたが、光学シースルー型のものを用いたシステムであっても良いことはいうまでもない。
【００８６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００８７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８８】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８９】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００９０】
【図１】現実空間と仮想空間とが融合された複合現実空間中に存在する仮想物体の測定を行うためのシステムを使用している様子を示す図である。
【図２】ＨＭＤ１００の外観を示す図である。
【図３】現実空間の画像上に仮想空間の画像を描画することで、複合現実空間の画像を生成する過程を示す図である。
【図４】器具５００の概略構成を示す図である。
【図５】複合現実空間の画像の表示例を示す図である。
【図６】足の先の位置を特徴点に一致させる処理を説明する図である。
【図７】複合現実空間の画像の表示例を示す図である。
【図８】それぞれの足を特徴辺に沿わせるように、その位置姿勢を補正する様子を示す図である。
【図９】複合現実空間の画像の表示例を示す図である。
【図１０】本発明の実施形態に係るシステムのハードウェア構成を示すブロック図である。
【図１１】複合現実空間の映像を生成する為に行う処理のフローチャートである。
【図１２】器具５００の仮想物体を用いて２点間の距離を求める場合に、器具５００の仮想物体を配置し、配置した仮想物体を右目カメラ１１０（左目カメラ１１１）から見えた場合に見える画像を生成し、上記ビデオメモリ上に描画する処理（即ち、ステップＳ１０５における処理）のフローチャートである。
【図１３】足の先の位置を特徴辺上に一致させる処理を説明する図である。
【図１４】器具５００の仮想物体を用いて２辺が成す角度を求める場合に、器具５００の仮想物体を配置し、配置した仮想物体を右目カメラ１１０（左目カメラ１１１）から見えた場合に見える画像を生成し、上記ビデオメモリ上に描画する処理のフローチャートである。
【図１５】それぞれの足の位置姿勢を移動させた様子を示す図である。
【図１６】１点で交わる足を示す図である。
【図１７】器具５００の仮想物体を用いて測定対象仮想物体１５０のサイズを求める場合に、器具５００の仮想物体を配置する処理のフローチャートである。
【図１８】第１の足を特徴辺に沿って移動させる様子を示す図である。
【図１９】器具５００の仮想物体の一例を示す図である。
【図２０】本発明の実施形態で用いる器具５００の仮想物体を示す図である。
【図１】
2006277350.tif 000003
【図２】
2006277350.tif 000004
【図３】
2006277350.tif 000005
【図４】
2006277350.tif 000006
【図５】
2006277350.tif 000007
【図６】
2006277350.tif 000008
【図７】
2006277350.tif 000009
【図８】
2006277350.tif 000010
【図９】
2006277350.tif 000011
【図１０】
2006277350.tif 000012
【図１１】
2006277350.tif 000013
【図１２】
2006277350.tif 000014
【図１３】
2006277350.tif 000015
【図１４】
2006277350.tif 000016
【図１５】
2006277350.tif 000017
【図１６】
2006277350.tif 000018
【図１７】
2006277350.tif 000019
【図１８】
2006277350.tif 000020
【図１９】
2006277350.tif 000021
【図２０】
2006277350.tif 000022