(57)【要約】【課題】  現実の物体の上に仮想のＣＧを重ねた映像をユーザに提示する複合現実感システムにおいて、ユーザが作業を中断させられることなしに、仮想のＣＧに対して入れ替えなどの操作を簡便に行うこと。【解決手段】  現実物体と、現実物体に備えられた位置姿勢センサと、支持台と、支持台に備えられた位置姿勢センサと、頭部装着型ディスプレイと、頭部装着型ディスプレイに備えられた位置姿勢センサと、センサからの情報を取得するセンサ情報取得部と、現実物体と支持台がどのような状態にあるかを判定する状態判定部と、表示するＣＧのデータを管理するＣＧデータ管理部と、頭部装着型ディスプレイに表示する画像を生成する画像生成部とを備える三次元ＣＧ操作装置を提供する。【選択図】  図１
2005108108.tif 000002
【特許請求の範囲】
【請求項１】
現実物体の位置姿勢を検出する位置姿勢検出ステップと、
前記現実物体に重畳表示すべき三次元ＣＧ画像を生成する画像生成ステップとを有し、
前記画像生成ステップが、
前記位置姿勢検出ステップで検出された前記現実物体の位置姿勢に応じて、前記生成する三次元ＣＧ画像を変化させることを特徴とする三次元ＣＧ操作方法。
【請求項２】
前記画像生成ステップが、前記現実物体の位置姿勢に応じて、前記三次元ＣＧ画像の描画属性を変更することを特徴とする請求項１記載の三次元ＣＧ操作方法。
【請求項３】
前記画像生成ステップが、前記現実物体が予め定められた領域に置かれたことに基づいて、前記生成する三次元ＣＧ画像を変化させることを特徴とする請求項１又は請求項２記載の三次元ＣＧ操作方法。
【請求項４】
現実物体の位置姿勢を検出する位置姿勢検出ステップと、
三次元ＣＧ画像を生成する画像生成ステップと、
前記位置検出ステップで検出された前記現実物体の位置に応じて、前記三次元ＣＧ画像を前記現実物体に重畳して表示させるか、所定位置に固定表示させるかを決定する決定ステップとを有することを特徴とする三次元ＣＧ操作方法。
【請求項５】
現実物体の位置姿勢を検出する位置姿勢検出手段と、
前記現実物体に重畳表示すべき三次元ＣＧ画像を生成する画像生成手段とを有し、
前記画像生成手段が、
前記位置姿勢検出手段で検出された前記現実物体の位置姿勢に応じて、前記生成する三次元ＣＧ画像を変化させることを特徴とする三次元ＣＧ操作装置。
【請求項６】
現実物体の位置姿勢を検出する位置姿勢検出手段と、
三次元ＣＧ画像を生成する画像生成手段と、
前記位置姿勢検出手段で検出された前記現実物体の位置姿勢に応じて、前記三次元ＣＧ画像を前記現実物体に重畳して表示させるか、所定位置に固定表示させるかを決定する決定手段とを有することを特徴とする三次元ＣＧ操作装置。
【請求項７】
コンピュータに請求項１乃至請求項４のいずれか１項に記載の記載の三次元ＣＧ操作方法を実行させるコンピュータプログラム。
【請求項８】
請求項７記載のコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項９】
位置姿勢センサを有する現実物体を、前記位置姿勢センサの出力すべき位置姿勢が既知の値となるように保持する保持手段と、
前記保持手段に前記現実物体が保持された際に、前記位置姿勢センサの出力値と前記既知の値とを対応付けるキャリブレーション手段を有する位置姿勢センサキャリブレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間にＣＧで描画した仮想空間内の物体（仮想物体）を重畳して提示する技術に関する。
【背景技術】
【０００２】
バーチャルリアリティ（ＶＲ）システムは、コンピュータの作り出す三次元ＣＧをユーザに提示することで、仮想の空間をあたかも現実であるかのように感じさせるシステムである。また、近年、現実世界の映像に三次元ＣＧを合成することで現実世界にはない情報をユーザに提示する技術の開発もなされており、それらはＡＲ（Augumented Reality、拡張現実感）システムやＭＲ（Mixed Reality、複合現実感）システムと呼ばれている。
【０００３】
ＡＲシステムでは、現実の物体に三次元ＣＧを重畳することが可能であり、例えば、特許文献１に示されるゲームでは、ユーザの持つ対話操作入力装置に剣や武器などの三次元ＣＧを重畳表示することで、ユーザが自由に仮想の物体（この場合は剣や武器）を操ることを可能にしている。
【０００４】
【特許文献１】特開２０００−３５３２４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に示される装置では、ユーザが対話操作入力装置を特定の構えで持つことにより、対話操作入力装置に重ねられる三次元ＣＧの内容が変化する。すなわち、剣を持つように構えれば剣の三次元ＣＧが、盾を持つように構えれば盾の三次元ＣＧが対話操作入力装置に重畳表示される。
【０００６】
このように、従来、現実物体に重畳する仮想物体を切り替える際には、ユーザがある特定のジェスチャを行ったり、あるいはマウスのような入力装置を用いたりする必要があった。そのため、ユーザが現実物体を持ちながらその上に重畳表示された仮想物体の三次元ＣＧを観察している状態で三次元ＣＧを変更しようとした場合、ジェスチャや入力装置の操作を行う必要があり、継続中の作業を一時的に中断せざるを得ないことがあった。
【０００７】
本発明は、このような従来技術の課題に鑑みなされたものであって、ユーザが作業を中断させられることなしに、現実物体に重畳標示されている三次元ＣＧを変更することを可能とすることを主な目的する。
【０００８】
また、特許文献１記載の装置では、位置姿勢センサが備え付けられた対話操作入力装置の移動と共に、重畳される三次元ＣＧも同時に移動する。
【０００９】
位置姿勢センサは通常使用開始時にキャリブレーションを行うため、使用開始直後は正確な位置姿勢情報を出力し、現実物体に正確にＣＧを重畳することが出来るが、時間の経過と共に環境が変化して位置姿勢情報に狂いが生じる。又、位置姿勢センサの種類によっては、位置姿勢センサの移動量によって位置姿勢情報に累積的な誤差を生じるものもある。
【００１０】
従って、アプリケーションの初期化時だけでなく、アプリケーションの実行中に位置姿勢センサの位置姿勢情報を簡単に修正出来ることが求められる。本発明はまたこのような課題を解決するためになされたものである。
【課題を解決するための手段】
【００１１】
すなわち、本発明の要旨は、現実物体の位置姿勢を検出する位置姿勢検出ステップと、現実物体に重畳表示すべき三次元ＣＧ画像を生成する画像生成ステップとを有し、画像生成ステップが、位置姿勢検出ステップで検出された現実物体の位置姿勢に応じて、生成する三次元ＣＧ画像を変化させることを特徴とする三次元ＣＧ操作方法に存する。
【００１２】
また、本発明の別の要旨は、現実物体の位置姿勢を検出する位置姿勢検出ステップと、三次元ＣＧ画像を生成する画像生成ステップと、位置姿勢検出ステップで検出された現実物体の位置姿勢に応じて、三次元ＣＧ画像を現実物体に重畳して表示させるか、所定位置に固定表示させるかを決定する決定ステップとを有することを特徴とする三次元ＣＧ操作方法に存する。
【００１３】
また、本発明の別の要旨は、現実物体の位置姿勢を検出する位置姿勢検出手段と、現実物体に重畳表示すべき三次元ＣＧ画像を生成する画像生成手段とを有し、画像生成手段が、位置姿勢検出手段で検出された現実物体の位置姿勢に応じて、生成する三次元ＣＧ画像を変化させることを特徴とする三次元ＣＧ操作装置に存する。
【００１４】
また、本発明の別の要旨は、現実物体の位置姿勢を検出する位置姿勢検出手段と、三次元ＣＧ画像を生成する画像生成手段と、位置姿勢検出手段で検出された現実物体の位置姿勢に応じて、三次元ＣＧ画像を現実物体に重畳して表示させるか、所定位置に固定表示させるかを決定する決定手段とを有することを特徴とする三次元ＣＧ操作装置に存する。
【００１５】
また、本発明の別の要旨は、コンピュータに本発明の三次元ＣＧ操作方法を実行させるコンピュータプログラム又はこのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体に存する。
【００１６】
また、本発明の別の要旨は、位置姿勢センサを有する現実物体を、位置姿勢センサの出力すべき位置姿勢が既知の値となるように保持する保持手段と、保持手段に現実物体が保持された際に、位置姿勢センサの出力値と既知の値とを対応付けるキャリブレーション手段を有する位置姿勢センサキャリブレーション装置に存する。
【発明の効果】
【００１７】
本発明による三次元ＣＧ操作装置および方法を用いることで、ユーザが作業を中断させられることなしに、仮想のＣＧに対して入れ替えなどの操作を簡便に行うことが可能となる。
【００１８】
また、本発明によれば、位置姿勢センサの位置姿勢情報をアプリケーションの実行中に、かつ自然な動作で、頻繁に正しい値に修正することができるため、三次元ＣＧの現実物体への重畳位置精度を維持することが出来る。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら、本発明の好適な実施形態について説明する。
＜第１の実施形態＞
本実施形態は、ユーザが手にとって操作可能な現実物体に、仮想物体であるティーポットの三次元ＣＧを重畳表示することにより、ユーザが頭部装着型ディスプレイ（ＨＭＤ）を通して仮想のティーポットを観察するシステムにおいて、簡単な操作でユーザがティーポットの三次元ＣＧを変更することを可能としたものである。
【００２０】
図１は本実施形態における三次元ＣＧ操作装置の構成例を示すブロック図である。支持台１０１は現実物体１０２を支持することができるものであれば何でもよく、たとえば木製のテーブルや棚などから構成される。現実物体１０２は、位置姿勢センサ１０３を備えることができるものであればどのようなものでもよく、本実施形態においてはプラスチック製の立方体である。
【００２１】
第１〜第３の位置姿勢センサ１０３、１０４、１０５はそれぞれ支持台１０１、頭部装着型ディスプレイ１０６、現実物体１０２に備えられ、それぞれの相対的な位置姿勢を測定するセンサである。第１〜第３の位置姿勢センサ１０３，１０４、１０５は互いの相対的な位置姿勢を測定可能な構成であればどのように構成してもよく、たとえば位置姿勢センサ１０３を磁場発生装置で構成し、位置姿勢センサ１０３が発生した磁場を測定することで位置姿勢センサ１０３からの相対的な位置・姿勢を測定する磁気センサで位置姿勢センサ１０４、１０５を構成してもよい。
【００２２】
また、位置姿勢センサ１０３及び１０５を現実空間に配置された絶対位置指標（マーカ）、位置姿勢センサ１０４をユーザが装着する頭部装着型ディスプレイ１０６に備えられた撮像部とし、撮影部１０４で撮影された映像中に撮像されたマーカ１０３及び１０５の画像座標と絶対位置とから、マーカ１０３および１０５の、撮像部１０４からの相対的な位置・姿勢を出すものとしてもよい。位置姿勢センサ１０３、１０４、１０５から得られる三者の相対的な位置・姿勢情報はセンサ情報取得部１０７に送られる。
【００２３】
頭部装着型ディスプレイ１０６は、ユーザの頭部に装着し、後述の画像生成部１１０から受け取った映像をユーザに提示する。頭部装着型ディスプレイ１０６には図示しない撮像部が備えられてもよく、その場合、撮像部から撮影された映像は画像生成部１１０に送られる。なお、本実施形態では、頭部装着型ディスプレイ１０６には撮像部が備えられるものとする。
【００２４】
センサ情報取得部１０７は、第１〜第３の位置姿勢センサ１０３、１０４、１０５からのセンサ情報から、三者の相対的な位置・姿勢情報を取得又は算出し、状態判定部１０８に渡す。状態判定部１０８は、センサ情報取得部１０７から送られる位置・姿勢情報を元にＣＧデータ変更情報を生成し、ＣＧデータ管理部１０９に渡す。ＣＧデータ管理部１０９は、シーン情報、すなわち仮想空間中に存在する仮想物体を表す三次元ＣＧの情報を管理する。本実施形態において管理される情報としては、例えばティーポットの形状、色、模様（テクスチャ）、位置、姿勢などがある。また、ＣＧデータ管理部１０９はシーンを描画する際に用いる視点の位置および姿勢を格納する。ＣＧデータ管理部１０９はまた、状態判定部１０８からのＣＧデータ変更情報を受けて三次元ＣＧデータの内容を変更し、画像生成部１１０にＣＧデータ情報を送付する。
【００２５】
画像生成部１１０はＣＧデータ管理部１０９からのＣＧデータ情報を元にＣＧを生成し、頭部装着型ディスプレイ１０６にＣＧ映像を送る。また、頭部装着型ディスプレイ１０６に撮像部が備えられる場合には、頭部装着型ディスプレイ１０６で撮影された映像と生成したＣＧを合成し、頭部装着型ディスプレイ１０６に合成映像を送る。
【００２６】
図２は図１に示す三次元ＣＧ操作装置の使用時の状態を模式的に示す図である。本実施形態において、支持台１０１は幅９０ｃｍ、奥行６０ｃｍのプラスチックのテーブル、現実物体１０２は１辺５ｃｍのプラスチックの立方体であり、第１の位置姿勢センサ１０３は磁場発生装置、第２及び第３の位置姿勢センサ１０４、１０５は磁気センサ、頭部装着型ディスプレイ１０６は撮像部付き頭部搭載型ディスプレイによって実現されるものとする。
【００２７】
なお、図１におけるセンサ情報取得部１０７、状態判定部１０８、ＣＧデータ管理部１０９、画像生成部１１０の夫々は独立した装置として構成しても良いし、その一部又は全部をソフトウェアで実現し、１つもしくは複数のコンピュータのＣＰＵにより実行することで、その機能を実現するようにしても良い。本実施形態では、各部（センサ情報取得部１０７、状態判定部１０８、ＣＧデータ管理部１０９、画像生成部１１０）は全てソフトウェアによって実現され、かつ１台のコンピュータ内で実行されるものとする。
【００２８】
また、第２及び第３の位置姿勢センサ１０４および１０５を構成する磁気センサは、図２のように支持台１０１の右奥隅を原点とし、正面方向をＸ軸、上方向をＹ軸とした右手座標系における位置および姿勢を出力し、支持台１０１の表面（上面）の四隅の座標値はそれぞれ（Ｘ，Ｙ，Ｚ）＝（０，０，０），（０，０，９０），（６０，０，９０），（６０，０，０）であるものとする。また、現実物体１０２に取り付けられた第３の位置姿勢センサ１０５を構成する磁気センサは、現実物体１０２の底面が支持台１０１の表面と接しているときにＹ＝０を出力するようにあらかじめ設定されているものとする。
【００２９】
図１０はセンサ情報取得部１０７、状態判定部１０８、ＣＧデータ管理部１０９、画像生成部１１０の夫々を、ソフトウェアを実行することで実現可能なコンピュータの基本構成例を示す図である。
【００３０】
ＣＰＵ５０１は、ＲＡＭ５０２やＲＯＭ５０３に格納されたプログラムやデータを用いてコンピュータ全体の制御を行うと共に、センサ情報取得部１０７、状態判定部１０８、ＣＧデータ管理部１０９、画像生成部１１０の夫々を実現するソフトウェアを実行し、各部として機能する。
【００３１】
ＲＡＭ５０２は、外部記憶装置５０７や記憶媒体ドライブ５０８からロードされたプログラムやデータを一時的に記憶するエリアを備えると共に、ＣＰＵ５０１が各種の処理を行うために必要とするワークエリアを備える。
【００３２】
ＲＯＭ５０３は、一般にコンピュータが起動時に実行するソフトウェアプログラムや設定データなどが格納されている。キーボード５０４、マウス５０５は、上述した図示しない入力装置の一例であり、操作者はこれらを用いて、各種の指示をＣＰＵ５０１に入力することができる。
【００３３】
ＧＰＵ(Graphics Processing Unit)５０６は、グラフィックス処理を行うためのプロセッサであり、ＣＲＴや液晶モニタなど、表示装置への画像出力機能も有する。本実施形態では、ＧＰＵ５０６は頭部装着型ディスプレイ１０６へ画像出力を行う。
【００３４】
外部記憶装置５０７は、ハードディスクなどの大容量情報記憶装置として機能する装置であって、ここにＯＳ（オペレーティングシステム）や、センサ情報取得部１０７、状態判定部１０８、ＣＧデータ管理部１０９、画像生成部１１０はの夫々として機能するソフトウェアのプログラム等を保存する。
【００３５】
記憶媒体ドライブ５０８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのリムーバブル記憶媒体に記憶されているプログラムやデータをＣＰＵ５０１からの指示に従って読み出して、ＲＡＭ５０２や外部記憶装置５０７に出力する。
【００３６】
Ｉ／Ｆ５０９は、姿勢センサ１３０やカメラ１１０を接続するためのものであって、夫々の出力は、Ｉ／Ｆ５０９を介してＲＡＭ５０２に取り込まれる。バス５１０はコンピュータ内部の各部を接続する。
【００３７】
図６は、ＣＰＵ５０１がソフトウェアプログラムを実行することにより実現する、本実施形態におけるＣＧデータ更新処理のフローチャートである。なお、図６に示す処理を行う前に、センサ情報取得部１０７、状態判定部１０８、ＣＧデータ管理部１０９、画像生成部１１０の夫々の機能を実現するためのソフトウェアのプログラムは外部記憶装置５０７や記憶媒体ドライブ５０８等からＲＡＭ５０２に既にロードされているものとする。
【００３８】
また、図６のフローチャートに対応するプログラムは、ユーザが三次元ＣＧ操作装置を起動すると同時にスタートするものとする。
Ｓ１０１では、頭部装着型ディスプレイ１０６に備えられた撮像部が撮影した実写映像が頭部装着型ディスプレイ１０６から画像生成部１１０に送られる。なお、頭部装着型ディスプレイ１０６が撮像部を備えていない光学シースルータイプの場合には、このステップは必要ない。
【００３９】
Ｓ１０２ではセンサ情報取得部１０７が第２及び第３の位置姿勢センサ１０４及び１０５を構成する磁気センサから、第１の位置姿勢センサ１０３との相対的な位置・姿勢情報を取得する。
Ｓ１０３では状態判定部１０８がＳ１０２で得た位置・姿勢情報をもとに状態判定を行い、ＣＧデータ変更情報を生成し、ＣＧデータ管理部１０９に送る。
【００４０】
ここで、Ｓ１０３で行われる状態判定部１０８の状態判定処理を、図７に示すフローチャートを用いて説明する。図７に示す処理は、図６に示す処理がＳ１０３に到達すると同時にスタートするものとする。
【００４１】
まず、Ｓ２０１では現実物体に取り付けられた第３の位置姿勢センサ１０５の座標値がチェックされ、Ｙの値が０であるとき、すなわち現実物体１０２の底面と支持台１０１の表面が接しているときにはＳ２０２へ進み、接していない時には終了する。
【００４２】
Ｓ２０２では第３の位置姿勢センサ１０５のＺ座標値がチェックされ、値が３０以下であるときにはＳ２０３に、３０より大きく６０未満であるときにはＳ２０４に、６０以上であるときにはＳ２０５に進む。
【００４３】
Ｓ２０３においては、表示するティーポットのＣＧデータを半透明モデルに設定するよう、ＣＧデータ管理部１０９に対してＣＧデータ変更情報を送信する。なお、ここで、半透明モデルとは、ティーポットの内部が透けて見えるように設定されたＣＧモデルのことを指す。同様に、Ｓ２０４では表示するティーポットのＣＧデータを通常モデルに設定するよう、ＣＧデータ管理部１０９に対してＣＧデータ変更情報を送信する。
【００４４】
これにより、図３のように支持台１０１の中央（６０＜Ｚ＜３０の範囲）に現実物体１０２を置いたときには通常のティーポット２０１が表示され、図４のように支持台１０１の右側（Ｚ≦３０）に現実物体１０２を置いたときには半透明のティーポット２０２が表示されることになる。
【００４５】
なお、Ｚ≧６０の領域に現実物体１０２が置かれた際に表示されるティーポットの種類（通常又は半透明）は、現実物体１０２がＺ≧６０の領域に置かれる直前に置かれていた領域によって決定される。従って、Ｚ≦３０の領域に置かれていた現実物体１０２を持ち上げて（６０＜Ｚ＜３０の領域に置かずに）Ｚ≧６０の領域に置いた場合には透明のティーポットが、６０＜Ｚ＜３０の領域に置かれていた現実物体１０２をＺ≧６０の領域に移動した場合には通常のティーポットが表示される。
【００４６】
一方、Ｚが６０以上である場合には、Ｓ２０５において第３の位置姿勢センサ１０５のＸ座標値がチェックされ、Ｘの値に応じて表示するティーポットのＣＧモデルのスケールを決定し、ＣＧデータ管理部１０９に対して表示スケールを変更するようＣＧデータ変更情報を送信する。ここで、Ｘの値とスケールの関係はどのようなものでもよいが、たとえば倍率scaleを
scale＝２（−Ｘ／３０＋１）
と決定する。これにより、図５に示すように、ユーザが現実物体１０２を奥に置けば大きなティーポット２０４を、手前に置けば小さなティーポット２０３を表示することが可能になる。
【００４７】
Ｓ２０３、Ｓ２０４、Ｓ２０５のいずれかの処理を行うと、状態判定処理は終了し、図６のＳ１０４に進む。
Ｓ１０４では、ＣＧデータの更新が行われる。まず、ＣＧデータ管理部１０９はＳ１０３で状態判定部１０８が生成したＣＧデータ変更情報を元に、自らに格納される三次元ＣＧデータ情報を更新する。
【００４８】
例えば半透明モデル又は通常モデルへの設定がなされた場合、表示するティーポットのＣＧデータの変更はどのような方法で実現されてもよいが、たとえば次のような方法でなされる。まず、あらかじめＣＧデータ管理部１０９に半透明のティーポットと通常のティーポットの形状、色、位置、姿勢情報をそれぞれ格納しておく。さらに、ＣＧデータ管理部１０９に今現在シーンにどちらのティーポットが表示されているかという表示モデル情報を格納し、Ｓ２０３、Ｓ２０４においてその表示モデル情報を変更するＣＧデータ変更情報を送信する。
一方、スケールの変更が設定された場合、ＣＧデータ管理部１０９は受け取ったＣＧデータ変更情報を元に、自らに格納されるＣＧデータ情報を更新する。
【００４９】
次に、Ｓ１０２で第２の位置姿勢センサ１０４から取得した、ユーザの視点位置・姿勢情報を元に、ＣＧデータ管理部１０９中のシーンを描画する視点の位置・姿勢が更新される。また、第３の位置姿勢センサ１０５から得た現実物体１０２の位置・姿勢情報を元に、ティーポットの位置・姿勢が更新される。
【００５０】
Ｓ１０５では、画像の生成が行われる。画像生成部１１０がＣＧデータ管理部１０９から視点の位置および姿勢、ティーポットの位置および姿勢情報を取得し、視点位置から見た三次元ＣＧを生成する。このＣＧ映像をＳ１０１で取得した実写映像と合成し、合成映像を頭部装着型ディスプレイ１０６に送る。頭部装着型ディスプレイ１０６は送られてきた合成映像を表示する。
【００５１】
なお、Ｓ１０５における三次元ＣＧ生成の際、図２に示すように、現実物体１０２に重畳する三次元ＣＧが変更される境界線である、Ｚ＝３０、Ｚ＝６０の線を仮想物体として三次元ＣＧで作成及び表示してもよい。このようなＣＧ映像を生成することで、ユーザはどこに現実物体１０２を置けばティーポットのモデルが入れ替わるかを視覚的に確認することができる。
【００５２】
以上説明したように、本実施形態によれば、現実物体１０２を支持台１０１のどこに置くかによって、現実物体１０２に重畳される三次元ＣＧの状態を変更することが可能になる。なお、本実施形態では変更内容としてテクスチャとスケールのみを説明したが、三次元ＣＧの生成に関わる他のパラメータの変更にも本実施形態が適用可能であることは言うまでもない。
【００５３】
＜第２の実施形態＞
以下、図面を参照しながら、本発明の第２の実施形態について説明する。本実施形態では、ユーザが現実物体に重ねて表示される仮想の部品を組み立てていく組立シミュレーション用の三次元ＣＧ操作装置および方法について説明する。
【００５４】
本実施形態の三次元ＣＧ操作装置の構成は第１の実施形態と同様であり、図１及び図１０を用いて説明した通りである。図９（ａ）は本実施形態における三次元ＣＧ操作装置の使用時の状態を模式的に示す図である。本実施形態では図２で示された構成に加え、第２の支持台３０１が追加されている。本実施形態において、第２の支持台３０１は３段に分けられたプラスチック製の棚の形状をしており、第１の支持台１０１に固定されている。また、図９（ａ）に示されるように、第２の支持台３０１の３つの段の側面にはそれぞれＡ、Ｂ、Ｃと書かれたラベルが貼られている。
【００５５】
本実施形態は、現実物体１０２に取り付けられた位置姿勢センサ１０５の位置、姿勢から、現実物体１０２の底面が、部品を取り付けるべき位置にあるか否かを判断し、取り付けるべき位置にある場合には、現実物体１０２に重畳表示された仮想の部品が取り付け位置に取り付けられたものとして、仮想の部品の表示位置を現実物体１０２上から取り付け位置に変更する。そして、部品が重畳表示されなくなった現実物体１０２が初期位置に置かれたら、次の仮想部品を現実物体１０２に重畳表示する。この処理を全ての仮想部品が取り付け位置に置かれた状態になるまで繰り返すことにより、組立シミュレーションを提供するものである。
【００５６】
すなわち、まず、図９（ａ）のように、予め定めた初期位置に置かれた現実物体１０２に重ねて、仮想の部品Ａ（３０２）を表示する。ユーザは現実物体１０２を持ち、仮想部品Ａ（３０２）の取り付け位置である支持台３０１の最上段に現実物体１０２を置く（図９（ｂ））ことで、部品Ａ３０２をセットする。状態判定部１０８は、センサ情報取得部１０７が現実物体１０２に取り付けられた位置姿勢センサ１０５から取得した位置姿勢に基づき、現実物体１０２がその時点で重畳表示している仮想部品の取り付け位置に存在しているか否かを判定する。仮想部品Ａ（３０２）が重畳表示されている場合、現実物体１０２の底面が第２の支持台の最上段に接しているか、最上段内部に位置していれば、仮想部品Ａ（３０２）が取り付け位置に正しくセットされていると判別し、仮想部品Ａ（３０２）の表示位置を、現実物体１０２上から第２の支持台の最上段に変更するようＣＧデータ変更情報を送信する。
【００５７】
ＣＧデータ管理部１０９はＳ１０４と同様にしてこの変更情報に応じてＣＧデータを更新する。そして、Ｓ１０５と同様に、更新後のＣＧデータを用いて画像生成することで、図９（ｃ）のように仮想部品Ａ（３０２）は支持台３０１の最上段に固定された状態で表示され、現実物体１０２上には何のＣＧも重ねて表示されない状態になる。
【００５８】
現実物体１０２が仮想部品Ａ（３０２）の取り付け位置から移動し、支持台１０１上の初期位置に置かれると、状態判定部１０８は次の仮想部品を現実物体１０２に重畳表示するようＣＧデータ変更情報をＣＧデータ管理部１０９に送信する。これにより、図９（ｄ）のように現実物体１０２に重ねて仮想の部品Ｂ（３０３）が表示される。
以上の過程を繰り返すことにより、図９（ｅ）〜（ｇ）のように支持台３０１の中に部品Ａ３０２、部品Ｂ３０３、部品Ｃ３０４を全てセットすることができる。
【００５９】
本実施形態におけるＣＧデータ更新処理は第１の実施形態と同様、図６に示されるフローチャートで表されるが、Ｓ１０３における状態判定処理の内容が第１の実施形態と異なるため、以下でその説明を行う。
図８は本実施形態において状態判定部１０８が行う状態判定処理を示すフローチャートである。図８に示す処理は、図６に示す処理がＳ１０３に到達すると同時にスタートするものとする。
【００６０】
まず、Ｓ３０１で表示モードであるかどうかが判定される。ここで、表示モードとは図９のように現実物体１０２上に何らかのＣＧが重ねられている状態のことを指し、また、非表示モードとは図９（ｃ）のように現実物体１０２の上に何らのＣＧも重ねられていない状態のことを指す。表示モードである場合にはＳ３０２へ、非表示モードである場合にはＳ３０４に進む。
【００６１】
Ｓ３０２では現実物体１０２が所定の位置に正しい姿勢で収まっているかどうかが判定される。ここで、所定の位置とは、部品それぞれの適切なセット位置のことを指す。すなわち、現実物体１０２上に表示されているＣＧが部品Ａ３０２であれば支持台３０１の一番上の棚、現実物体１０２上に表示されているＣＧが部品Ｂ３０３であれば支持台３０１の中段の棚、現実物体１０２上に表示されているＣＧが部品Ｃ３０４であれば支持台３０１の一番下の棚が所定の位置となる。センサ情報取得部１０７から得た現実物体１０２の位置姿勢情報と、予め設定された支持体３０１の各棚の領域情報（例えばＸ，Ｙ，Ｚの座標値の範囲で示される）とから、現実物体１０２が所定の位置に収まり、なおかつ傾いたりなどしていない正しい姿勢であると判定されればＳ３０３に進み、そうでなければ終了する。
【００６２】
Ｓ３０３では非表示モードへの移行が行われる。すなわち、現実物体１０２上に表示されていた仮想部品は所定の位置・姿勢に固定されたものとして表示し、現実物体１０２上への重畳表示は行わないよう、ＣＧデータ管理部１０９にＣＧデータ変更情報を送信する。Ｓ３０３が終了すれば、状態判定処理も終了する。
【００６３】
Ｓ３０４では現実物体１０２が初期位置に置かれているかを判定される。現実物体１０２が初期位置に置かれていると判定されればＳ３０５に、そうでなければ状態判定処理を終了する。
Ｓ３０５では表示モードへの移行が行われ、現実物体１０２の上に新たな仮想部品のＣＧを表示するよう、ＣＧデータ管理部１０９にＣＧデータ変更情報を送信する。ただし、既に全ての仮想部品が支持台３０１の棚の中に正しくセットされている場合には何も行わない。Ｓ３０５が終了すれば、状態判定処理も終了する。
【００６４】
以上説明したように、本実施形態によれば、仮想部品を用いた組立シミュレーションを容易に実現できる。
上述の第１及び第２の実施形態においては、本発明による三次元ＣＧ操作装置をデザイン評価や組立シミュレーションに用いた例であったが、本発明による三次元ＣＧ操作装置はゲームや建築シミュレーションなど、他の用途にも用いることが可能である。
【００６５】
＜第３の実施形態＞
次に、本発明による位置姿勢センサのキャリブレーション方法を、ＭＲ技術を利用したデジタルモックアップシステムに適用した実施形態を例にして説明する。
【００６６】
本実施形態に係るデジタルモックアップシステムは、ある工業製品の簡易なモックアップ（模型）の上にＭＲ技術を用いてその製品の詳細な形状や外観を表す三次元ＣＧを重畳して提示するシステムである。システムの体験者は製品の三次元ＣＧが重畳されたモックアップを観察しながら実際にモックアップを手に取って触ることができ、また擬似的に動作させることが出来る。
【００６７】
モックアップには位置姿勢センサが内蔵されており、その測定値から検出したモックアップの位置姿勢に対応した三次元ＣＧを生成、重畳表示する。そのため体験者は簡易なモックアップを取り扱いながら、モックアップに重畳された詳細な三次元ＣＧが表す製品を持っているかのような感覚を体験できる。
【００６８】
簡易模型であるモックアップを、その上に重畳された三次元ＣＧが表す製品であるかのように体験者に感じさせるためには、モックアップとそれに重畳する三次元ＣＧとがずれないことが必要である。
【００６９】
図１１は本実施形態で使用する位置姿勢センサ付きモックアップ１１の外観を示す模式図である。位置姿勢センサ１２はモックアップ１１に内蔵され、出力信号を得るためのケーブルがモックアップ１１の外部に引き出されている。
【００７０】
図１２はＭＲ技術を用いてモックアップ１１の上に三次元ＣＧのカメラ２１を重畳した状態を示す図である。三次元ＣＧが正しく位置合わせされて重畳された場合、モックアップ１１と三次元ＣＧによるカメラ２１はぴたりと重なり合い、モックアップ１１の地肌は体験者に見えなくなる。
【００７１】
図１３は体験者３１がデジタルモックアップシステムを体験している状態を第三者視点（ＨＭＤ非装着者）から見た図である。体験者３１は複合現実空間映像を表示するＨＭＤ３２（ヘッドマウンテッドディスプレイ）を頭部に装着し、モックアップ１１を手に持っている。その結果図１４に示すように、体験者３１にはモックアップ１１の現実の姿は見えず、かわりに重畳表示された三次元ＣＧのカメラ２１が見える。
【００７２】
モックアップ１１とＣＧのカメラ２１との重畳は、体験者がモックアップシステムを体験する前に、位置姿勢センサ１２の発する位置姿勢データと、ＣＧのカメラ２１の位置姿勢を一致させ、その後ＣＧのカメラ２１を位置姿勢センサ１２の発する位置姿勢に追随することによって行われる。
【００７３】
しかし、上述のように、位置姿勢センサ１２の発する位置姿勢情報が時間の経過やモックアップ１１の移動によって現実の位置姿勢との誤差を生じてくる場合がある。ＣＧのカメラ２１は位置姿勢センサ１２の発信する位置姿勢に表示されるので、位置姿勢センサ１２に誤差が生じた場合、モックアップ１１の現実の位置姿勢とは異なる位置を出力することになる。その結果、三次元ＣＧで形成されたカメラ２１がモックアップ１１からずれた位置に重畳されてしまい、図１５のように体験者３１にはモックアップ１１に重畳されているはずのＣＧのカメラ２１がずれて見え、体験者は手に持っているモックアップ１１をＣＧのカメラ２１と感じることが出来なくなる。
【００７４】
この誤差は環境や位置姿勢センサ１２の種類によって変わってくる。例えばジャイロセンサの場合は累積誤差が生じることが知られている。他の位置姿勢センサにしても最初に設定した位置姿勢情報を正しくその後も伝えられる保障はない。
【００７５】
そこで本実施形態においては、図１６に示すように、位置姿勢センサ１２を有するモックアップ１１を、既知の位置に保持するキャリブレーション装置６１を用いる。キャリブレーション装置６１にはガイド６２が備え付けられており、ガイド６２はモックアップ１１を既知の位置姿勢に導き、保持する役割をする。キャリブレーション装置６１は、ガイド６２に沿って正しくモックアップ１１がセットされた状態で、モックアップ１１が有する位置姿勢センサの出力すべき位置姿勢が既知でありさえすれば、任意の場所に配置することが可能である。例えば、第１及び第２の実施形態における支持台１０１上に設置することもできる。
【００７６】
体験者３１がモックアップ１１をガイド６２に沿ってキャリブレーション装置６１に置くと、モックアップ１１の位置姿勢は所定のものとなり、その結果、位置姿勢センサ１２の位置姿勢も決定される。そこでキャリブレーション装置６１にモックアップ１１が置かれた状態の時の位置姿勢センサ１２の出力に正しい位置姿勢データを設定し、位置姿勢センサのキャリブレーションを行う。
【００７７】
アプリケーションの実行中に違和感なくキャリブレーション処理を実行するため、例えば本実施形態のデジタルモックアップアプリケーションでは、モックアップ１１の置き場をキャリブレーション装置６１としておく。体験者３１は体験を開始する場合にはキャリブレーション装置６１からモックアップ１１を取り出し、体験を終了する際にはモックアップ１１をキャリブレーション装置６１に戻す。
【００７８】
例えばキャリブレーション装置の底面にスイッチを設ける等して、モックアップ１１がキャリブレーション装置６１に置かれたことを検出し、検出時にキャリブレーション処理を実行するようにすれば、モックアップ１１がキャリブレーション装置６１に置かれている状態では常に正しい位置姿勢データが設定されることになる。その結果、体験者３１は常に最新の正しい位置姿勢データが設定された位置姿勢センサ１２を備え付けたモックアップ１１を手にすることが出来るので、ＣＧのカメラ１２とモックアップ１１との位置ずれは抑制され、体験者３１はまさに本物のカメラを持っているような感触を感じることが出来る。
【００７９】
なお、本実施形態においては、位置姿勢センサのキャリブレーション処理以外の、複合現実空間画像の生成に係る構成及び動作については説明を省略したが、例えば現実物体１０２をモックアップ１１、第３の位置姿勢センサ１０５を位置姿勢センサ１２、頭部装着型ディスプレイ１０６をＨＭＤ３２と置き換えて図１に示した構成を利用することが可能である。
【００８０】
換言すれば、第１及び第２の実施形態で説明したアプリケーションにおいて、現実物体１０２に設けられた第３の位置姿勢センサ１０５のキャリブレーション方法として、本実施形態を適用することができる。例えば、第１の実施形態に適用する場合には、現実物体１０２の置き場所をキャリブレーション装置６１とすればよい。また、第２の実施形態に適用する場合には、現実物体１０２の初期位置をキャリブレーション装置６１とすればよい。
【００８１】
＜他の実施形態＞
上述した第１の実施形態においては、現実物体１０２が置かれた場所に応じて、三次元ＣＧのテクスチャ又はスケールを変更する場合を説明した。すなわち、第１の実施形態では、三次元ＣＧのモデル（ティーポット）そのものは変化させず、その描画属性を変化させた。しかしながら、現実物体１０２の位置姿勢に応じて、三次元ＣＧのモデルそのものを変更しても良い。
【００８２】
前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００８３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００８４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００８６】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【００８７】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００８８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００９０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００９１】
【図１】本発明の実施形態に係る三次元ＣＧ操作装置の構成例を示すブロック図である。
【図２】図１に示す三次元ＣＧ操作装置の使用時の状態を模式的に示す図である。
【図３】、
【図４】、
【図５】本発明の第１の実施形態における三次元ＣＧ表示切り替えを説明する図である。
【図６】本発明の第１の実施形態におけるＣＧデータ変更処理を説明するフローチャートである。
【図７】図６のＳ１０３で行われる状態判定処理を説明するフローチャートである。
【図８】本発明の第２の実施形態における状態判定処理を説明するフローチャートである。
【図９】本発明の第２の実施形態における三次元ＣＧ操作方法を説明する図である。
【図１０】図１におけるセンサ情報取得部１０７、状態判定部１０８、ＣＧデータ管理部１０９、画像生成部１１０を実現可能なコンピュータ装置の構成例を示す図である。
【図１１】本発明の第３の実施形態で用いるモックアップの外観を示す図である。
【図１２】図１１のモックアップに三次元ＣＧを重畳表示した状態を示す図である。
【図１３】本発明の第３の実施形態におけるモックアップシステムの体験者を第３者視点で見た図である。
【図１４】本発明の第３の実施形態におけるモックアップシステムにおいて、正しく三次元ＣＧが重畳表示されている場合に、体験者がＨＭＤを通じて観察する状態を模式的に示した図である。
【図１５】本発明の第３の実施形態におけるモックアップシステムにおいて、三次元ＣＧがずれて重畳表示されている場合に、体験者がＨＭＤを通じて観察する状態を模式的に示した図である。
【図１６】本発明の第３の実施形態に係るキャリブレーション装置の構成例を示す図である。
【符号の説明】
【００９２】
１０１  支持台
１０２  現実物体
１０３、１０４、１０５  位置姿勢センサ
１０６  頭部装着型ディスプレイ
１０７  センサ情報取得部
１０８  状態判定部
１０９  ＣＧデータ管理部
１１０  画像生成部
２０１  通常のティーポット
２０２  半透明のティーポット
２０３  小さなティーポット
２０４  大きなティーポット
３０１  支持台
３０２  部品Ａ
３０３  部品Ｂ
３０４  部品Ｃ
【図１】
2005108108.tif 000003
【図２】
2005108108.tif 000004
【図３】
2005108108.tif 000005
【図４】
2005108108.tif 000006
【図５】
2005108108.tif 000007
【図６】
2005108108.tif 000008
【図７】
2005108108.tif 000009
【図８】
2005108108.tif 000010
【図９】
2005108108.tif 000011
【図１０】
2005108108.tif 000012
【図１１】
2005108108.tif 000013
【図１２】
2005108108.tif 000014
【図１３】
2005108108.tif 000015
【図１４】
2005108108.tif 000016
【図１５】
2005108108.tif 000017
【図１６】
2005108108.tif 000018