(57)【要約】【課題】  作業者が観察している映像を遠隔地にいる指示者へ伝送し、指示者がこの映像を観察しながら作業者の空間をシームレスに知覚し、三次元的な作業指示を行なえるようにすること。【解決手段】  表示器２３ａ、２３ｂに表示される画像２００には作業者の視点から見える複合現実空間、即ち現実物体４２、仮想物体４３、スタイラス４１ａ、そしてポインタ４１ｄが写っている。【選択図】  図２
2006209664.tif 000002
【特許請求の範囲】
【請求項１】
第１の観察者の視点の位置姿勢を取得する第１の取得手段と、
前記第１の取得手段が取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成手段と、
前記第１の観察者が仮想物体を操作するために使用する第１の操作手段と、
前記第１の観察者が前記仮想物体に対して行う操作を遠隔支援する第２の観察者が前記仮想物体を操作するために使用する第２の操作手段と、
前記視点から見える現実空間の画像を取得する第２の取得手段と、
前記第２の取得手段が取得した画像上に前記生成手段が生成した画像を重畳させて、前記第１の観察者が装着する頭部装着型表示装置、前記第２の観察者が装着する頭部装着型表示装置に出力する出力手段とを備え、
前記生成手段は、前記第１の操作手段、前記第２の操作手段による操作結果が反映された前記仮想空間の画像を生成することを特徴とするシステム。
【請求項２】
更に、前記第２の操作手段を示す仮想物体を、当該仮想物体と前記第１の観察者の視点との位置姿勢関係が、前記第２の操作者の視点と前記第２の操作手段との位置姿勢関係と略同じになるように前記仮想空間中に配置する配置手段を備えることを特徴とする請求項１に記載のシステム。
【請求項３】
更に、前記第２の観察者が存在する空間内で定義された座標系における前記第２の操作手段の位置姿勢でもって、前記第２の操作手段を示す仮想物体を前記第１の観察者が存在する空間中に配置する配置手段を備えることを特徴とする請求項１に記載のシステム。
【請求項４】
前記第１の操作手段、前記第２の操作手段はそれぞれ前記第１の観察者、前記第２の観察者が手に保持するスタイラスであることを特徴とする請求項１に記載のシステム。
【請求項５】
第１の観察者の視点の位置姿勢を取得する第１の取得手段と、
前記第１の取得手段が取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成手段と、
前記視点から見える現実空間の画像を取得する第２の取得手段と、
前記第２の取得手段が取得した画像上に前記生成手段が生成した画像を重畳させて、前記第１の観察者が装着する頭部装着型表示装置、前記第１の観察者が前記仮想物体に対して行う操作を遠隔支援する第２の観察者が装着する頭部装着型表示装置に出力する出力手段とを備え、
前記生成手段は、前記第１の観察者が仮想物体を操作するために使用する第１の操作手段、前記第２の観察者が前記仮想物体を操作するために使用する第２の操作手段による操作結果が反映された前記仮想空間の画像を生成することを特徴とする画像処理装置。
【請求項６】
現実画像と仮想物体を示す仮想画像を合成した立体視合成画像を生成する情報処理方法であって、
第１の観察者の視点からの右目用および左目用の現実画像を取得し、
前記第１の観察者の視点の位置姿勢を取得し、
前記第１の観察者が仮想物体を操作するための第１の指示部の位置姿勢を取得し、
第２の観察者が前記仮想物体を操作するための前記第２の指示部の位置姿勢を取得し、
前記第１または前記第２の指示部の位置姿勢に基づき、前記仮想物体の情報を制御し、
前記制御された仮想物体の情報に基づき、前記第１の観察者の視点の位置姿勢に応じた右目用および左目用の仮想画像を生成し、
前記現実画像と前記仮想画像を合成することにより右目用および左目用の合成画像を生成し、
前記合成画像を前記第１の観察者および前記第２の観察者に提示することを特徴とする情報処理方法。
【請求項７】
前記第１の指示部の位置姿勢は世界座標系における位置姿勢であり、
前記第２の指示部の位置姿勢は、前記第２の観察者の視点に対する相対的な位置姿勢を、前記第１の観察者の視点の位置姿勢に基づき前記世界座標系における位置姿勢に変換することにより求められ、
前記仮想物体の情報の制御は、前記世界座標系における前記第１の指示部の位置姿勢および前記世界座標系における前記第２の指示部の位置姿勢に基づき行われることを特徴とする請求項６記載の情報処理方法。
【請求項８】
さらに、前記第１の指示部の位置姿勢に基づく第１指示部仮想画像および前記第２の指示部の位置姿勢に基づく第２指示部仮想画像を生成し、
前記第1指示部仮想画像、前記第２指示部仮想画像および前記仮想物体の仮想画像を前記現実画像に合成することにより、前記合成画像を生成することを特徴とする請求項６または請求項７記載の情報処理方法。
【請求項９】
コンピュータに請求項６乃至請求項８の何れか１項に記載の情報処理方法を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間と仮想空間とを合成した複合現実空間の画像を提供するための技術に関するものである。
【背景技術】
【０００２】
近年、現実世界と仮想世界の継ぎ目のない融合を目指した複合現実感(Mixed Reality：MR)に関する技術開発が盛んになっている。MRは従来現実空間と切り離された状況でのみ体験可能であったバーチャルリアリティ(VR)の世界と現実の世界との共存を目的とし、VRを増強する技術として注目されている。
【０００３】
複合現実感を実現する装置として代表的な物は頭部装着型表示装置(HMD=Head Mounted Display)である。すなわち、現実空間と仮想空間をHMDに合成して表示することにより複合現実感を実現するものである。
【０００４】
頭部装着型表示装置(HMD)を用いて遠隔作業支援する技術の例として特許文献１がある。この例では作業者がカメラ付のＨＭＤを装着しこのカメラからの映像を作業者および遠隔にいる指示者にて共有し、指示者の指示をこのカメラ映像に重畳して作業指示を行なう技術が開示されている。この技術では、作業者／指示者ともに同じ立体映像を観察できるように作業者のカメラをステレオにしており、この映像中の作業対象物を指し示す指示者の手をクロマキー合成で切り出してカメラからの映像に合成することが可能である。このシステムでは作業者の空間に座標が設定されていないので、作業対象物以外の仮想物体を作業者空間の任意の位置に配置してポインティングしたりインタラクションしたりすることができない。
【０００５】
また上記公知例と同様にカメラ付光学シースルーHMDを装着した作業者に対して遠隔から作業指示する技術の例としてBlock Partyがある（非特許文献１を参照）。Block Partyでは、作業者が光学シースルーHMDを通して見ている作業空間にＣＧ画像が重畳される機能を有しており、指示者は作業者が頭部に装着しているカメラからの映像で作業者の進捗を把握し、作業対象物の３ＤモデルのCGを操作しながら作業支援を行なう。このシステムでは作業者のカメラ映像はステレオではなく、またCGの映像も重畳されていない。指示者はデスクトップのモニタ画面にこのカメラ映像を映し出し、CG操作には3D グラフィックスのエディタを用いて操作している。そのため作業者の空間をシームレスな空間として知覚することが困難であることに加え、作業者のカメラ映像に対し三次元的にポインティングする手段を有しない。また作業者がCGをポインティングしたり操作したりする機能も有していない。
【０００６】
ステレオカメラで参加者を撮影し、このステレオ画像を遠隔の他の参加者へ伝送するシステムで、参加者がHMDを装着して参加者間で共有されている仮想物体と共に立体映像を観察／操作できる技術の例として特許文献２がある。この例では参加者を２台のステレオカメラで撮影しその立体映像を他の複数人の参加者が観察することができる。作業者の位置と仮想物体操作のための手の位置が計測されているため仮想物体の操作は可能であるが、参加者が観察しているステレオ映像は、背景が除去された参加者の映像と仮想物体によるＶＲ空間の映像であり、参加者の実空間の情報を有するものではない。
【特許文献１】特開2002-132487号公報
【特許文献２】USP  6,708,142
【非特許文献１】Edited by W. Barfield, and T. Caudell, “Fundamentals of Wearable Computers & Augmented Reality” pp557-563, Lawrnce Erlbaum Associates, Publishers. (2001)
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は以上の問題に鑑みてなされたものであり、作業者が観察している映像を遠隔地にいる指示者へ伝送し、指示者がこの映像を観察しながら作業者の空間をシームレスに知覚し、三次元的な作業指示を行なえるようにすることを目的とする。
【０００８】
本発明の他の目的は、実物体と仮想物体が位置合わせされている作業者複合現実空間において、作業者が観察しているHMD映像を遠隔地にいる指示者へ伝送し、作業者および指示者がこのHMD映像を観察しながら、作業者複合現実空間の作業対象となる実物体と仮想物体とをシームレスにポインティングする技術を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば、本発明のシステムは以下の構成を備える。
【００１０】
即ち、第１の観察者の視点の位置姿勢を取得する第１の取得手段と、
前記第１の取得手段が取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成手段と、
前記第１の観察者が仮想物体を操作するために使用する第１の操作手段と、
前記第１の観察者が前記仮想物体に対して行う操作を遠隔支援する第２の観察者が前記仮想物体を操作するために使用する第２の操作手段と、
前記視点から見える現実空間の画像を取得する第２の取得手段と、
前記第２の取得手段が取得した画像上に前記生成手段が生成した画像を重畳させて、前記第１の観察者が装着する頭部装着型表示装置、前記第２の観察者が装着する頭部装着型表示装置に出力する出力手段とを備え、
前記生成手段は、前記第１の操作手段、前記第２の操作手段による操作結果が反映された前記仮想空間の画像を生成することを特徴とする。
【００１１】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００１２】
即ち、第１の観察者の視点の位置姿勢を取得する第１の取得手段と、
前記第１の取得手段が取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成手段と、
前記視点から見える現実空間の画像を取得する第２の取得手段と、
前記第２の取得手段が取得した画像上に前記生成手段が生成した画像を重畳させて、前記第１の観察者が装着する頭部装着型表示装置、前記第１の観察者が前記仮想物体に対して行う操作を遠隔支援する第２の観察者が装着する頭部装着型表示装置に出力する出力手段とを備え、
前記生成手段は、前記第１の観察者が仮想物体を操作するために使用する第１の操作手段、前記第２の観察者が前記仮想物体を操作するために使用する第２の操作手段、による操作結果が反映された前記仮想空間の画像を生成することを特徴とする。
【００１３】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００１４】
即ち、現実画像と仮想物体を示す仮想画像を合成した立体視合成画像を生成する情報処理方法であって、
第１の観察者の視点からの右目用および左目用の現実画像を取得し、
前記第１の観察者の視点の位置姿勢を取得し、
前記第１の観察者が仮想物体を操作するための第１の指示部の位置姿勢を取得し、
第２の観察者が前記仮想物体を操作するための前記第２の指示部の位置姿勢を取得し、
前記第１または前記第２の指示部の位置姿勢に基づき、前記仮想物体の情報を制御し、
前記制御された仮想物体の情報に基づき、前記第１の観察者の視点の位置姿勢に応じた右目用および左目用の仮想画像を生成し、
前記現実画像と前記仮想画像を合成することにより右目用および左目用の合成画像を生成し、
前記合成画像を前記第１の観察者および前記第２の観察者に提示することを特徴とする。
【発明の効果】
【００１５】
本発明の構成により、作業者が観察している映像を遠隔地にいる指示者へ伝送し、指示者がこの映像を観察しながら作業者の空間をシームレスに知覚し、三次元的な作業指示を行なえるようにすることができる。
【発明を実施するための最良の形態】
【００１６】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１７】
［第１の実施形態］
＜システム構成＞
図１は、本実施形態に係るシステムの機能構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、図１上部に示す作業者用複合現実感装置１０ａと図１下部に示す指示者用複合現実感装置１０ｂとで構成されており、それぞれはインターネットやＬＡＮなどのネットワークでもって互いにデータ通信が可能な構成となっている。なお、このネットワークは有線、無線は問わない。
【００１８】
また、それぞれの装置１０ａ、１０ｂには頭部装着型表示装置（以下HMD=Head Mounted Displayと呼称する）２０ａ、２０ｂが接続されており、ＨＭＤ２０ａは作業者が装着し、ＨＭＤ２０ｂは指示者が装着する。また、それぞれの装置１０ａ、１０ｂには作業者と指示者とが音声にてコミュニケーションを図るべくスピーカ２７ａ、２７ｂ、マイクロフォン２８ａ、２８ｂが接続されている。
【００１９】
また、それぞれの装置１０ａ、１０ｂにはスタイラス４１ａ、４１ｂが接続されており、作業者はスタイラス４１ａを用いて、指示者はスタイラス４１ｂを用いて後述する仮想物体に対する操作を行う。なお、それぞれのスタイラスには、ボタンや、世界座標系（現実空間中の１点を原点とし、この原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系）における自身の位置姿勢に応じた磁気変化を計測する為の不図示の磁気センサが備わっている。ボタンの押下／押下の解除を示す信号や、計測した結果（信号）は作業者用複合現実感装置１０ａ（指示者用複合現実感装置１０ｂ）に入力される。
【００２０】
次に、作業者用ＨＭＤ２０ａについて説明する。作業者用ＨＭＤ２０ａには３次元位置姿勢センサ２１ａ、カメラ２２、表示器２３ａが備わっている。
【００２１】
３次元位置姿勢センサ２１ａは磁気センサであり、周知の計測技術により、世界座標系における自身の位置姿勢に応じた磁気変化を計測する。計測結果（信号）は作業者用複合現実感装置１０ａに入力される。
【００２２】
カメラ２２は本実施形態ではステレオカメラであり、同図では左眼用のカメラをＬ、右眼用のカメラをＲで示している。右目用カメラ、左目用カメラのそれぞれで撮像した画像は作業者用複合現実感装置１０ａに入力される。
【００２３】
表示器２３ａはステレオ表示するものであり、同図では左目用の表示器をＬ、右目用の表示器をＲで示している。左目用表示器、右目用表示器のそれぞれに表示する画像は作業者用複合現実感装置１０ａから出力される。
【００２４】
ここで、３次元位置姿勢センサ２１ａとカメラ２２との位置姿勢関係は固定されており、その固定された位置姿勢関係は予め計測され、バイアスデータとして作業者用複合現実感装置１０ａ側で保持されているものとする。より詳しくはこのバイアスデータは、３次元位置姿勢センサ２１ａと左目用カメラとの位置姿勢関係を示すバイアスデータ、３次元位置姿勢センサ２１ａと右目用カメラとの位置姿勢関係を示すバイアスデータとで構成されている。
【００２５】
次に、作業者用複合現実感装置１０ａについて説明する。作業者用複合現実感装置１０ａには位置姿勢計測部１１ａ、画像入力部１２、画像生成部１３、画像合成部１５ａ、仮想物体情報管理部１６、スタイラス情報受信部３１ａ、映像符号化部３２ａ、映像送信部３３ａ、音声符号復号化部３４ａ、音声送受信部３５ａが備わっている。
【００２６】
位置姿勢計測部１１ａには上記３次元位置姿勢センサ２１ａから出力された信号とスタイラス４１ａから出力される信号とが入力されるので、それぞれの信号をＡ／Ｄ変換し、データ（世界座標系における３次元位置姿勢センサ２１ａの位置姿勢を示すデータ、世界座標系におけるスタイラス４１ａの位置姿勢を示すデータ、スタイラス４１ａに備わっているボタンの押下を示すデータ）として仮想物体情報管理部１６に出力する。
【００２７】
また、仮想物体情報管理部１６には指示者用複合現実感装置１０ｂから出力されたスタイラス情報（スタイラス４１ｂに関する情報）がスタイラス情報受信部３１ａを介して入力される。
【００２８】
従って仮想物体情報管理部１６は、位置姿勢計測部１１ａから入力されたデータと指示者用複合現実感装置１０ｂからスタイラス情報受信部３１ａを介して入力したスタイラス情報とを画像生成部１３に出力する。
【００２９】
また、仮想物体情報管理部１６は、後述する仮想物体毎に、操作権の管理をも行う。
【００３０】
画像生成部１３は、位置姿勢計測部１１ａから入力した「世界座標系における３次元位置姿勢センサ２１ａの位置姿勢を示すデータ」と上記バイアスデータとを用いて、作業者視点（右目用カメラ、左目用カメラ）から見える仮想空間の画像を生成する。即ち、右目用カメラから見える仮想空間の画像、左目用カメラから見える仮想空間の画像を生成する。所定の位置姿勢を有する視点から見える仮想空間の画像を生成する処理については周知の技術であるので、ここでの説明は省略する。
【００３１】
なお、この仮想空間内には１以上の仮想物体が存在する。詳しくは後述するが、仮想物体に対してはスタイラス４１ａやスタイラス４１ｂを用いて操作することができる。よって、この１以上の仮想物体のうちスタイラス４１ａ、４１ｂによって操作が成された仮想物体がある場合には、画像生成部１３はその操作結果を被操作仮想物体に対して反映させる。
【００３２】
また、この仮想空間には「スタイラス４１ｂを示すポインタ」が配置される。このポインタについては後述する。
【００３３】
そして、画像生成部１３は仮想空間の画像を生成すると、これを画像合成部１５ａに出力する。
【００３４】
画像合成部１５ａは、画像入力部１２を介して入力される「右目用カメラにより撮像された現実空間の画像」上に、画像生成部１３から入力される「右目用カメラから見える仮想空間の画像」を重畳させることで、「右目用カメラから見える複合現実空間の画像（右目用複合現実空間画像）」を生成すると共に、画像入力部１２を介して入力される「左目用カメラにより撮像された現実空間の画像」上に、画像生成部１３から入力される「左目用カメラから見える仮想空間の画像」を重畳させることで、「左目用カメラから見える複合現実空間の画像（左目用複合現実空間画像）」を生成する。
【００３５】
そして生成した左目用複合現実空間画像を表示器２３ａの左目用表示器に出力すると共に、右目用複合現実空間画像を表示器２３ａの右目用表示器に出力する。これにより、左目用表示器には左目用カメラから見える複合現実空間の画像が表示されるし、右目用表示器には右目用カメラから見える複合現実空間の画像が表示される。
【００３６】
また、それぞれの画像（左目用複合現実空間画像、右目用複合現実空間画像）は映像符号化部３２ａでもって圧縮符号化され、映像送信部３３ａによって指示者用複合現実感装置１０ｂに送信される。なお、この圧縮符号化の方法については特に限定するものではないが、指示者用複合現実感装置１０ｂ側に備わっている映像復号化部３２ｂによる復号方法に対応したものを用いる必要がある。
【００３７】
音声符号復号化部３４ａにはマイクロフォン２８ａを介して入力される作業者の音声信号が入力されるので、これを指示者用複合現実感装置１０ｂ側に送信すべく圧縮符号化し、音声送受信部３５ａによって指示者用複合現実感装置１０ｂに送信する。また指示者用複合現実感装置１０ｂ側からも指示者の音声信号が圧縮符号化して送信されてくるので、音声送受信部３５ａはこれを受けて音声符号復号化部３４ａに入力するので、音声符号復号化部３４ａはこれを復号し、音声信号としてスピーカ２７ａに出力する。
【００３８】
これにより、作業者はマイクロフォン２８ａに自身の音声を入力すると、入力された音声は指示者用複合現実感装置１０ｂ側に送信することができるし、指示者の音声はスピーカ２７ａを介して聞くことができるので、作業者と指示者とで会話をすることができる。
【００３９】
次に、指示者用ＨＭＤ２０ｂについて説明する。指示者用ＨＭＤ２０ｂには３次元位置姿勢センサ２１ｂ、表示器２３ｂが備わっており、それぞれは作業者用ＨＭＤ２０ａに備わっている３次元位置姿勢センサ２１ａ、表示器２３ａと同様のものである。即ち、指示者用ＨＭＤ２０ｂには現実空間を撮像するカメラは備わっていない。
【００４０】
次に、指示者用複合現実感装置１０ｂについて説明する。作業者用複合現実感装置１０ａには音声符号復号化部３４ｂ、音声送受信部３５ｂ、映像復号化部３２ｂ、映像受信部３３ｂ、位置姿勢計測部１１ｂ、スタイラス情報送信部３１ｂが備わっている。
【００４１】
位置姿勢計測部１１ｂは作業者用複合現実感装置１０ａ側の位置姿勢計測部１１ａと同様の動作を行い、３次元位置姿勢センサ２１ｂからの信号とスタイラス４１ｂに備わっている磁気センサからの信号とを受け、これらの信号を「世界座標系における３次元位置姿勢センサ２１ｂの位置姿勢を示すデータ」、「世界座標系におけるスタイラス４１ｂの位置姿勢を示すデータ」として取得するのであるが、これらを用いて、「３次元位置姿勢センサ２１ｂとスタイラス４１ｂとの位置姿勢関係」を求める。また、位置姿勢計測部１１ｂには、スタイラス４１ｂに備わっているボタンが押下されているのかを示す信号がスタイラス４１ｂから入力されるので、これをデータとして取得する。
【００４２】
そしてスタイラス情報送信部３１ｂは、「スタイラス４１ｂのボタンが押下されたかを示すデータ」と「３次元位置姿勢センサ２１ｂとスタイラス４１ｂとの位置姿勢関係」とをセットにしてスタイラス情報として作業者用複合現実感装置１０ａ側のスタイラス情報受信部３１ａに出力する。
【００４３】
音声符号復号化部３４ｂは作業者用複合現実感装置１０ａ側の音声符号復号化部３４ａと同様のものであり、マイクロフォン２８ｂを介して入力される指示者の音声信号が入力されるので、これを作業者用複合現実感装置１０ａ側に送信すべく圧縮符号化し、音声送受信部３５ｂによって作業者用複合現実感装置１０ａに送信する。また作業者用複合現実感装置１０ａ側からも作業者の音声信号が圧縮符号化して送信されてくるので、音声送受信部３５ｂはこれを受けて音声符号復号化部３４ｂに入力するので、音声符号復号化部３４ｂはこれを復号し、音声信号としてスピーカ２７ｂに出力する。
【００４４】
これにより、指示者はマイクロフォン２８ｂに自身の音声を入力すると、入力された音声は作業者用複合現実感装置１０ａ側に送信することができるし、作業者の音声はスピーカ２７ｂを介して聞くことができるので、作業者と指示者とで会話をすることができる。
【００４５】
映像受信部３３ｂには、作業者用複合現実感装置１０ａ側の映像送信部３３ａによって送信された左目用複合現実空間画像、右目用複合現実空間画像が圧縮符号化された形式でもって受信されるので、映像復号化部３２ｂはこれを左目用複合現実空間画像、右目用複合現実空間画像として復号し、左目用複合現実空間画像は表示器２３ｂのうち左目用表示器に出力し、右目用複合現実空間画像は表示器２３ｂのうち右目用表示器に出力する。
【００４６】
よって指示者は作業者と同じ画像をＨＭＤ２０ｂを介して見ることになる。
【００４７】
＜環境＞
次に、作業者と指示者とが存在する空間の環境について説明する。図２（ａ）は、作業者が仮想物体を操作して作業を行っている空間を示す図で、同空間では作業者４０が手にスタイラス４１ａを保持して仮想物体４３に対して操作を行っている。作業者４０は頭部にＨＭＤ２０ａを装着しているので、作業者４０はこのＨＭＤ２０ａを介して眼前に仮想物体４３を見ることができる。同図において４２は現実物体で、仮想物体４３はこの現実物体４２を模したものである。
【００４８】
同図に示した空間には、同図に示す如く、所定の１点を原点とし、この原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする世界座標系が設定されており、同空間内の各位置はこの世界座標系における座標値でもって表現することができる。よって仮想物体４３の位置は世界座標系における座標値でもって表現することができる。そして、仮想物体４３の位置や姿勢はスタイラス４１ａでもって変更することができる。スタイラス４１ａを用いた仮想物体の操作方法については後述する。４１ｃはスタイラス４１ａの位置を示す仮想物体としてのポインタで、実物体のスタイラス４１ａに重畳されて表示されていることを示している。
【００４９】
ここで、仮想物体４３は作業者だけでなく、指示者によっても操作することができる。指示者はスタイラス４１ｂを操作して仮想物体４３を同様に操作することができる。同図において４１ｄはスタイラス４１ｂの位置を示す仮想物体としてのポインタで、これについては図２（ｂ）を用いて説明する。
【００５０】
図２（ｂ）は指示者が存在する空間を示す図である。指示者は遠隔から仮想物体４３を操作するのであるが、指示者５０は手にスタイラス４１ｂを保持しており、これを用いて仮想物体４３を操作する。
【００５１】
指示者５０は頭部にＨＭＤ２０ｂを装着しており、上述の通り、このＨＭＤ２０ｂの表示器２３ｂにはＨＭＤ２０ａの表示器２３ａに表示されたものと同じものが表示される。２００は表示器２３ａ、２３ｂに表示される画像で、この画像２００には作業者の視点から見える複合現実空間、即ち現実物体４２、仮想物体４３、スタイラス４１ａ、そしてポインタ４１ｄが写っている。
【００５２】
指示者５０はスタイラス４１ｂの位置姿勢を変更すると、当然、指示者５０の視点とスタイラス４１ｂとの位置姿勢関係は変わる。よって、図２（ａ）に示した空間におけるポインタ４１ｄの配置位置姿勢は、指示者５０の視点とスタイラス４１ｂとの相対的位置姿勢関係が、作業者４０の視点を基準とした位置姿勢関係と同じになるように決定される。
【００５３】
これにより、作業者４０、指示者５０の双方は、視点を共有しているので、それぞれが自分の視点から見える複合現実空間内で操作したものを相手にも同じ視点でもって見せることができる。
【００５４】
＜仮想物体の操作方法＞
上述の通り、仮想物体は作業者、指示者が手に保持しているスタイラスでもって操作することができるのであるが、例えば、スタイラスの先を操作対象の仮想物体に触れるまで移動させ、触れた状態でスタイラスに備わっているボタンを押下する。これにより、仮想物体保持モードとなるので、以降はスタイラスの位置や姿勢を変更すると、それに追従して操作対象の仮想物体の位置姿勢も変化する（例えば操作対象の仮想物体をスタイラスの位置姿勢に配置する）。仮想物体保持モード中にスタイラスに備わっているボタンを押下すると、仮想物体保持モードは解除され、以降はスタイラスの位置姿勢を変更しても、仮想物体の位置姿勢は変わらない。
【００５５】
＜作業者用複合現実感装置１０ａが行う処理＞
次に、作業者用複合現実感装置１０ａが行う処理について、同処理のフローチャートを示す図３を用いて説明する。
【００５６】
先ず、本装置の初期化処理を行う（ステップＳ１００）。この初期化処理では。仮想物体情報管理部１６が管理する後述のテーブルの初期化や、仮想空間を構成する仮想物体の配置等がある。
【００５７】
次に、指示者用複合現実感装置１０ｂとのネットワーク接続を開始し、互いにデータ通信が可能な状態にする（ステップＳ１１０）。
【００５８】
次に、指示者用複合現実感装置１０ｂとの音声通信を開始し、互いに音声信号の通信が可能な状態にする（ステップＳ１２０）。
【００５９】
次に、カメラ２２（左目用カメラ、右目用カメラ）により左目用の現実空間の画像、右目用の現実空間の画像を撮像するので、画像入力部１２はこれら２つの撮像画像を受け、これを後段の画像合成部１５ａに出力する（ステップＳ１３０）。なお、画像合成部１５ａは左目用の現実空間の画像、右目用の現実空間の画像をそれぞれ別個に保持する。
【００６０】
次に、３次元位置姿勢センサ２１ａは自身の世界座標系における位置姿勢に応じた磁気の変化を計測し、計測した結果を示す信号を位置姿勢計測部１１ａに出力するので、位置姿勢計測部１１ａはこの信号をデータとして取得する（ステップＳ１４０）。このデータは上述の通り、世界座標系における３次元位置姿勢センサ２１ａの位置姿勢を示すデータであるが、このデータは６パラメータ（ｘ、ｙ、ｚ、α、β、γ）の組としてのデータである。ここでαはｘ軸周りの回転角度、βはｙ軸周りの回転角度、γはｚ軸周りの回転角度を示す。
【００６１】
次に、スタイラス４１ａに備わっている磁気センサは自身の世界座標系における位置姿勢に応じた磁気変化を計測し、計測した結果を示す信号を位置姿勢計測部１１ａに出力するので、位置姿勢計測部１１ａはこの信号をデータとして取得する（ステップＳ１５０）。このデータもまた上述の６パラメータの組としてのデータである。
【００６２】
なお、ステップＳ１４０，Ｓ１５０で位置姿勢計測部１１ａが取得したデータ群は仮想物体情報管理部１６に出力される。
【００６３】
次に、スタイラス情報受信部３１ａは、指示者用複合現実感装置１０ｂから送信されたスタイラス情報を受信するので、仮想物体情報管理部１６は、このスタイラス情報中の「３次元位置姿勢センサ２１ｂと指示者が使用するスタイラス４１ｂとの位置姿勢関係を示すデータ」を取得する（ステップＳ１６０）。
【００６４】
次に、仮想物体情報管理部１６は、作業者が仮想物体を操作中であるのか否か、即ち、仮想物体保持モード中であるのか否かを判断する（ステップＳ１７０）。仮想物体保持モード中である場合には処理をステップＳ１７０を介してステップＳ１８０に進め、仮想物体保持モード中ではない場合には処理をステップＳ１７０を介してステップＳ１９０に進める。
【００６５】
仮想物体保持モード中であるのか否かは、図１１に示すテーブルを参照する。図１１は、作業者、指示者が仮想物体を操作中であるのか、操作しているのであればどの仮想物体を操作中であるのかといったことを示す情報が登録されたテーブルの構成例を示す図である。同図のテーブルにおいて作業者操作物ＩＤは作業者が操作中である仮想物体に固有のコードを示すものである。同図では作業者操作物ＩＤは「ｎｕｌｌ」となっており、現在作業者はどの仮想物体も操作していないことを示す。一方、指示者操作物ＩＤは指示者が操作中である仮想物体に固有のコードを示すものである。同図では指示者操作物ＩＤは「仮想物体Ｃ」となっており、現在指示者は仮想物体Ｃを操作中であることを示している。
【００６６】
よって、同図のテーブルを参照すれば、ステップＳ１７０において、作業者が仮想物体を操作中であるのか否かを判断することができる。
【００６７】
そして現在作業者が仮想物体を操作中である場合には、画像生成部１３はステップＳ１５０で取得した「作業者が操作するスタイラス４１ａの世界座標系における位置姿勢を示すデータ」を用いて、スタイラス４１ａの位置姿勢に操作対象の仮想物体（作業者操作物ＩＤで特定される仮想物体）を配置すると共に、その結果を仮想物体シーングラフの形式で仮想物体情報管理部１６に登録する（ステップＳ１８０）。
【００６８】
なお、同図のフローチャートでは示していないが、現在指示者が仮想物体を操作中である場合には、画像生成部１３は現在のポインタの位置姿勢に操作対象の仮想物体（指示者操作物ＩＤで特定される仮想物体）を配置すると共に、その結果を仮想物体シーングラフの形式で仮想物体情報管理部１６に登録する。
【００６９】
次に、作業者の視点、即ち、カメラ２２における左目用カメラ、右目用カメラの世界座標系における位置姿勢を求める（ステップＳ１９０）。これは、ステップＳ１４０で取得した「世界座標系における３次元位置姿勢センサ２１ａの位置姿勢を示すデータ」と上記バイアスデータとを用いて、左目用カメラの世界座標系における位置姿勢、右目用カメラの世界座標系における位置姿勢を求める。
【００７０】
次に、画像生成部１３は、スタイラス４１ａやスタイラス４１ｂによる操作結果を反映した仮想物体シーングラフに従った各仮想物体が配置され、且つスタイラス４１ａとスタイラス４１ｂの位置姿勢を示すポインタが配置された仮想空間を、左目用カメラから見た場合に見える画像、右目用カメラから見た場合に見える画像を生成する（ステップＳ２００）。
【００７１】
ポインタ４１ｄの配置については、ステップＳ１６０で取得した位置姿勢関係を示すデータを用いて、配置したポインタと作業者の視点との位置姿勢関係が、指示者の視点とスタイラス４１ｂとの位置姿勢関係と同じになるように、ポインタを仮想空間中に配置する。
【００７２】
また、左目用カメラ、右目用カメラの世界座標系における位置姿勢はステップＳ１９０で求めたデータを用いて特定されるので、所定の位置姿勢を有する視点から見える仮想空間の画像を生成するという従来技術を用いれば、それぞれのカメラから見える仮想空間の画像を生成することができる。
【００７３】
そして次に、画像合成部１５ａは、画像入力部１２を介して入力される「右目用カメラにより撮像された現実空間の画像」上に、画像生成部１３から入力される「右目用カメラから見える仮想空間の画像」を重畳させることで右目用複合現実空間画像を生成して表示器２３ａの右目用表示器に出力すると共に、画像入力部１２を介して入力される「左目用カメラにより撮像された現実空間の画像」上に、画像生成部１３から入力される「左目用カメラから見える仮想空間の画像」を重畳させることで左目用複合現実空間画像を生成して表示器２３ａの左目用表示器に出力する（ステップＳ２１０）。これにより、表示器２３ａに左目用複合現実空間画像、右目用複合現実空間画像を表示することができる。
【００７４】
次に、これら２つの画像（左目用複合現実空間画像、右目用複合現実空間画像）を映像符号化部３２ａによって圧縮符号化し、映像送信部３３ａでもって指示者用複合現実感装置１０ｂに送信する（ステップＳ２２０）。
【００７５】
次に、本装置に処理終了の旨の指示が入力されていない限りは処理をステップＳ２３０を介してステップＳ１３０に戻し、以降の処理を繰り返すのであるが、入力された場合には処理をステップＳ２３０を介してステップＳ２４０に進め、ステップＳ１２０で確立したネットワーク接続を切断し（ステップＳ２４０）、ステップＳ１１０で確立したネットワーク接続を切断する（ステップＳ２５０）。
【００７６】
＜指示者用複合現実感装置１０ｂが行う処理＞
次に、指示者用複合現実感装置１０ｂが行う処理について、同処理のフローチャートを示す図４を用いて説明する。
【００７７】
先ず、本装置の初期化処理を行う（ステップＳ３００）。
【００７８】
次に、作業者用複合現実感装置１０ａとのネットワーク接続を開始し、互いにデータ通信が可能な状態にする（ステップＳ３１０）。
【００７９】
次に、作業者用複合現実感装置１０ａとの音声通信を開始し、互いに音声信号の通信が可能な状態にする（ステップＳ３２０）。
【００８０】
次に、位置姿勢計測部１１ｂは、３次元位置姿勢センサ２１ｂからの信号とスタイラス４１ｂに備わっている磁気センサからの信号とを受け、これらの信号を「世界座標系における３次元位置姿勢センサ２１ｂの位置姿勢を示すデータ」、「世界座標系におけるスタイラス４１ｂの位置姿勢を示すデータ」として取得するのであるが、これらを用いて、「３次元位置姿勢センサ２１ｂとスタイラス４１ｂとの位置姿勢関係」（指示者スタイラス相対位置）を求める（ステップＳ３３０）。
【００８１】
ステップＳ３３０における処理をより具体的に説明すると、「世界座標系におけるスタイラス４１ｂの位置Xdwを「世界座標系における３次元位置姿勢センサ２１ｂの位置姿勢」を基準にした座標系すなわちカメラ座標系における位置Xdcで表せばよい。これはＣＧ技術で公知のビューイング変換と呼ばれる座標変換で、世界座標のデータXdwにビューイング変換行列Ｍwoncを乗じて（Xdc=MwoncXdw）求められる。特開2003-279310などにビューイング変換処理が記されているので詳細な説明は省略する。
【００８２】
そして求めた指示者スタイラス相対位置のデータXdcをスタイラス情報受信部３１ｂでもって作業者用複合現実感装置１０ａに送信する（ステップＳ３４０）。
【００８３】
次に、映像受信部３３ｂは作業者用複合現実感装置１０ａから送信された圧縮符号化済みの左目用複合現実空間画像、右目用複合現実空間画像を受信し、映像復号化部３２ｂに出力する（ステップＳ３５０）。映像復号化部３２ｂはこれらを復号してそれぞれ表示器２３ｂの左目用表示器、右目用表示器に出力する（ステップＳ３６０）。
【００８４】
次に、本装置に処理終了の旨の指示が入力された場合には処理をステップＳ３７０を介してステップＳ４００に進め、ステップＳ３２０で確立したネットワーク接続を切断し（ステップＳ４００）、ステップＳ３１０で確立したネットワーク接続を切断する（ステップＳ４１０）。
【００８５】
一方、本装置に処理週の旨の指示が入力されていない場合には処理をステップＳ３７０を介してステップＳ３８０に進め、位置姿勢計測部１１ｂにスタイラス４１ｂに備わっているボタンが押下されている旨の信号が入力されている場合には処理をステップＳ３９０に進め、スタイラス情報受信部３１ｂは押下されている旨のデータをイベントとして作業者用複合現実感装置１０ａに送信する（ステップＳ３９０）。
【００８６】
＜作業者用複合現実感装置１０ａ側のデータ受信処理＞
次に、作業者用複合現実感装置１０ａが指示者用複合現実感装置１０ｂから送信されたデータ（スタイラス情報）の受信処理（受信イベント処理）について、同処理のフローチャートを示す図５を用いて説明する。同図のフローチャートに従った処理は図３のフローチャートに従った処理とは別個にバックグランドで実行されるものである。
【００８７】
先ず、受信したイベントの種類によって処理が分岐する。
【００８８】
＜受信したイベントが指示者スタイラス相対位置である場合＞
受信したイベントが指示者スタイラス相対位置である場合にはステップＳ５００，Ｓ５１０の処理を実行する。
【００８９】
先ず、スタイラス情報受信部３１ａが指示者スタイラス相対位置Xdcを受信すると、画像生成部１３は、このXdcを作業者の視点（カメラ２２における左目用カメラ、右目用カメラ）であるカメラ座標系（ｘｗ，ｙｗ，ｚｗ，αｗ，βｗ，γｗ）の値として、作業者が存在する空間中に配置するために作業者世界座標系のデータXwに変換する。このためXdcに対してステップS330で行なわれたビューイング変換の逆変換を行なうことにより、作業者世界座標系でのデータに変換できる。式で表すとXw=MconwXdc=Mwonc-1Xdcとなる。ここでMconwはビューイング変換の逆変換を行なう行列で、ビューイング変換行列の逆行列Mwonc-1に等しい。この処理も特開2003-279310など公知の技術によって実現される。（ステップＳ５００）。
【００９０】
そしてステップＳ５００で求めた位置姿勢を示すデータを各種の目的に使用するために、仮想物体情報管理部１６に格納しておく（ステップＳ５１０）。
【００９１】
＜受信したイベントがスタイラス４１ｂに備わっているボタンが押下されたことを示すデータである場合＞
受信したイベントがスタイラス４１ｂに備わっているボタンが押下されたことを示すデータである場合にはステップＳ５１１〜Ｓ５７０の処理を行う。
【００９２】
先ず、ステップＳ５００と同様に、作業者が存在する空間中に配置される「スタイラス４１ａの位置姿勢を示すポインタ」の位置姿勢を求める（ステップＳ５１１）。
【００９３】
次に、図１１に示したテーブルを参照して、指示者操作物ＩＤがＮＵＬＬであるのか否か、即ち、指示者が仮想物体を操作中であるのかを判断し（ステップＳ５２０）、操作中である場合には処理をステップＳ５３０に進め、仮想物体保持モードを解除すべく、指示者操作物ＩＤをＮＵＬＬにクリアする（ステップＳ５３０）。
【００９４】
一方、操作中ではない場合には処理をステップＳ５４０に進め、ステップＳ５１１で求めた「現在のポインタの位置姿勢を示すデータ」を用いて、現在のポインタの位置と、仮想物体との距離を計算する（ステップＳ５４０）。なお、仮想空間中に複数の仮想物体が存在する場合にはそれぞれの仮想物体との距離を計算する。
【００９５】
そして、ポインタとの距離が所定値以下の仮想物体が存在すれば（ポインタとの距離が所定値以下の仮想物体が複数存在すれば、ポインタとの距離が最も短いものを選ぶ）、処理をステップＳ５５０を介してステップＳ５６０に進め、ステップＳ５５０で特定された「ポインタに最も近い仮想物体」固有のＩＤと、図１１に示したテーブルにおいて作業者操作物ＩＤとが同じものではない場合には処理をステップＳ５６０を介してステップＳ５７０に進め、指示者操作物ＩＤに、ステップＳ５５０で特定された「ポインタに最も近い仮想物体」固有のＩＤを登録する。
【００９６】
＜受信したイベントが上述の何れでもない場合＞
受信したイベントが上述の何れでもない、所謂「その他のイベント」である場合にはステップＳ５９０における処理、即ち、そのイベントに応じた処理を行う（ステップＳ５９０）。
【００９７】
＜スタイラス４１ａが押下されたときの作業者用複合現実感装置１０ａが行う処理＞
スタイラス４１ａに備わっているボタンが押下された場合に作業者用複合現実感装置１０ａが行う処理について、同処理のフローチャートを示す図６を用いて説明する。同図のフローチャートに従った処理は図３のフローチャートに従った処理とは別個にバックグランドで実行されるものである。
【００９８】
先ず、図１１に示したテーブルを参照して、作業者操作物ＩＤがＮＵＬＬであるのか否か、即ち、作業者が仮想物体を操作中であるのかを判断し（ステップＳ６００）、操作中である場合には処理をステップＳ６１０に進め、仮想物体保持モードを解除すべく、作業者操作物ＩＤをＮＵＬＬにクリアする（ステップＳ６１０）。
【００９９】
一方、操作中ではない場合には処理をステップＳ６２０に進め、「現在のスタイラス４１ａの世界座標系における位置姿勢を示すデータ」を用いて、現在のスタイラス４１ａの位置と、仮想物体との距離を計算する（ステップＳ６２０）。なお、仮想空間中に複数の仮想物体が存在する場合にはそれぞれの仮想物体との距離を計算する。
【０１００】
そして、スタイラス４１ａとの距離が所定値以下の仮想物体が存在すれば（スタイラス４１ａとの距離が所定値以下の仮想物体が複数存在すれば、スタイラス４１ａとの距離が最も短いものを選ぶ）、処理をステップＳ６３０を介してステップＳ６４０に進め、ステップＳ６３０で特定された「スタイラス４１ａに最も近い仮想物体」固有のＩＤと、図１１に示したテーブルにおいて指示者操作物ＩＤとが同じものではない場合には処理をステップＳ６４０を介してステップＳ６５０に進め、作業者操作物ＩＤに、ステップＳ６３０で特定された「スタイラス４１ａに最も近い仮想物体」固有のＩＤを登録する。
【０１０１】
なお、上述の通り、図５に示したフローチャートに従った処理、図６に示したフローチャートに従った処理はそれぞれ別プロセス（あるいはスレッド）で動作しており、それぞれ個別に図１１に示したテーブルを参照するので、テーブルの書き換え時には他のプロセス（あるいはスレッド）からアクセスされないようにする。このようにして仮想物体それぞれに対する操作権の管理を行なうことができる。
【０１０２】
以上の説明により、本実施形態によって、作業者が観察している複合現実空間画像を遠隔地にいる指示者へ伝送し、指示者がこの画像を観察しながら作業者の空間をシームレスに知覚するとともに作業者に対して様々な三次元的な作業指示を行なえるようになり、遠隔からの作業者への作業支援や作業教育などにおいて利便性を提供することができる。
【０１０３】
なお、本実施形態では用いたセンサは全て磁気センサとして説明したが、光学式センサや超音波センサなどのセンサを用いるようにしても良い。
【０１０４】
また、本実施形態では作業者、指示者は共に自身の頭部にＨＭＤを装着していたが、ＨＭＤの代わりに、立体視ディスプレイを用いても良い。偏光式や液晶シャッター式の場合には指示者はＨＭＤの替わりに偏光メガネや液晶シャッターメガネを装着するが、レンチキュラー方式など裸眼で立体視が観察可能な場合にはこれらのメガネは必要ない。またいずれの場合にも頭部の位置姿勢を計測する必要があるので３次元位置姿勢センサは装着する必要がある。
【０１０５】
また、本実施形態では、作業者用複合現実感装置１０ａと指示者用複合現実感装置１０ｂとのネットワーク接続が確立すれば、作業者用複合現実感装置１０ａと指示者用複合現実感装置１０ｂとは常にデータ通信を行うようにしているが、この通信を行う／行わないを作業者側、若しくは指示者側で切り替えるようにしても良い。
【０１０６】
［第２の実施形態］
第１の実施形態ではスタイラス４１ｂの位置姿勢を示すポインタを、３次元位置姿勢センサ２１ｂとスタイラス４１ｂとの相対位置姿勢関係を、作業者の視点からの相対位置姿勢関係に変換した位置姿勢に配置していた。これにより、あたかも自分の視点から手を延ばしてポインティングしているような感覚が得られるが、作業者が頭部の位置姿勢を変化させるとそれに合わせてポインタの位置も移動してしまう。そのため指示者の意図しない部分にポインタが移動するという欠点が生じる可能性がある。
【０１０７】
本実施形態ではこのような問題に対処する為に、指示者側でも世界座標系を設定する。図７（ａ）は作業者が存在する空間を示す図、図７（ｂ）は指示者が存在する空間を示す図である。図７（ｂ）に示す如く、指示者が存在する空間に作業者の世界座標系に対応するような世界座標系を設定する。
【０１０８】
よって、本実施形態では、指示者用複合現実感装置１０ｂは、図４に示したフローチャートに従った処理を行うのであるが、ステップＳ３３０では、位置姿勢計測部１１ｂは、スタイラス４１ｂに備わっている磁気センサからの信号を受け、この信号を「指示者が存在する空間中に設定された世界座標系におけるスタイラス４１ｂの位置姿勢」を示すデータとして取得し、ステップＳ３４０では、このデータを作業者用複合現実感装置１０ａに対して送信する。
【０１０９】
また、作業者用複合現実感装置１０ａが行う処理については基本的には第１の実施形態と同じであるが、ポインタは、上記ステップＳ３４０で送信した位置姿勢でもって配置される。これにより、作業者の頭の動きにかかわらず指示者は同じ位置をポインタで指し示すことができる。
【０１１０】
［第３の実施形態］
上述の実施形態では、仮想空間の画像は常に現実空間の画像上に重畳される。よって仮想物体の画像は常に現実物体の手前側に描画されることになる。しかし観察者（作業者、指示者）の視点から見て、現実物体の向こう側に仮想物体（ポインタを含む）が位置する場合、本来ならば仮想物体が現実物体に隠蔽されるところが、上述の処理に起因して、現実物体の手前に仮想物体が描画され、見た目に不具合が生じる。本実施形態では、このような問題に対処するために、予め、現実物体は画像認識技術を用いて認識されているか、形状が各種センサを用いて計測されているかなどの方法により、その３Ｄモデルがあらかじめ既知であるとする。
【０１１１】
図８は、本実施形態に係るシステムの機能構成を示すブロック図である。本実施形態に係るシステムは図１に示した第１の実施形態に係るシステムの構成に３次元位置姿勢センサ４５を付加した構成となっている。更に、この３次元位置姿勢センサ４５は位置姿勢計測部１１ａに接続されている。
【０１１２】
この３次元位置姿勢センサ４５はその他のセンサと同様に磁気センサであり、現実物体の世界座標系における位置姿勢を計測するものである。
【０１１３】
先ず、このような構成を有するシステムを構成する作業者用複合現実感装置１０ａが行う処理について図３のフローチャートを用いて説明する。本実施形態に係る作業者用複合現実感装置１０ａは基本的には図３のフローチャートに従った処理を行うのであるが、更に、ステップＳ１５０では、位置姿勢計測部１１ａは、３次元位置姿勢センサ４５が計測した結果の信号を受け、これをデータとして取得する。取得したデータは上述の通り、世界座標系における現実物体の位置姿勢を示すデータである。このデータは前述したスタイラスデータと同じ６パラメータの組である。
【０１１４】
上述の通り、この現実物体の３次元モデルは既に得られていえるので、ステップＳ１５０で取得したデータとこの３次元モデルとを世界座標の中にシーングラフとして格納することができる。
【０１１５】
そしてステップＳ２００で仮想物体を描画する際には、現実物体との隠蔽関係に基づいて描画する。ここではこの描画に隠面消去処理を用いる。
【０１１６】
CGシステムの隠面消去で多く用いられているのがＺバッファ法である。Ｚバッファは表示装置と同じ解像度からなる２次元配列のバッファで、画素ごとの奥行き情報が格納される。
【０１１７】
Ｚバッファを用いて全ての仮想物体を構成するポリゴンについて、視点位置からの透視投影変換を行なって走査変換したそれぞれの画素について奥行き情報であるＺ値を求め、既にＺバッファに格納されているＺ値より小さければ、その画素は最前面にあるのでその画素のＺ値を新たにＺバッファに格納しその画素の色を対応するフレームバッファに書き込む処理を繰り返していく。
【０１１８】
このＺバッファ法を基にしたステップＳ２００における隠面処理を用いた仮想物体の描画処理を、同処理のフローチャートを示す図９を用いて説明する。
【０１１９】
先ず、現実物体の３次元モデル（現実物体モデル）、ポインタ、その他の仮想物体などすべての走査変換を行い、全ての画素について表示画面に対応するフレームバッファである画像合成部１５のバッファ位置との対応付けする走査変換を行なう（ステップＳ２０４）。
【０１２０】
なお、ステップＳ２０４における処理が実行される前に、ステップＳ１３０で画像合成部１５にはカメラ２２からの撮像画像が入力されており、Ｚバッファには最遠点の値が入っている。
【０１２１】
次に、現実物体モデルの画素に対してＺ値を求め、Ｚバッファの値と比較して既にＺバッファに格納されているＺ値より小さければＺ値を新たにＺバッファに格納するが、その画素の色を対応するフレームバッファに書き込む処理を省略する（ステップＳ２０６）。その結果、Ｚ値は書き換えられるがフレームバッファの内容は書き換えられない。すなわちＺバッファに格納されている奥行き値の部分に透明な物体が存在することになる。
【０１２２】
次に、ポインタ、その他の仮想物体などについてこれらを構成する全ての画素についてＺ値を求め、Ｚバッファの値と比較して既にＺバッファに格納されているＺ値より小さければＺ値を新たにＺバッファに格納して、その画素の色を対応するフレームバッファに書き込む処理を行ない（ステップＳ２０８）、隠面処理を終了する。
【０１２３】
以上の処理によって作業者／指示者のポインタは作業者複合現実空間にある実物体／仮想物体ともに矛盾なくかつシームレスに指し示すことができるようになる。
【０１２４】
［第４の実施形態］
作業者用複合現実感装置１０ａ、指示者用複合現実感装置１０ｂは一般のＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータでもって実行することができる。
【０１２５】
図１０は、作業者用複合現実感装置１０ａ、指示者用複合現実感装置１０ｂに適用可能なコンピュータのハードウェア構成を示すブロック図である。なお、ここでは説明を簡単にする為に、作業者用複合現実感装置１０ａと指示者用複合現実感装置１０ｂとで同じ構成を有するコンピュータを用いるものとして説明するが、それぞれに異なる構成を有するコンピュータを適用しても良いことはいうまでもない。
【０１２６】
同図において１００１はＣＰＵで、ＲＡＭ１１０２やＲＯＭ１００３に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、本コンピュータを適用した装置が行う処理（例えば上述の各フローチャートに従った処理）を実行する。
【０１２７】
１００２はＲＡＭで、外部記憶装置１００６からロードされたプログラムやデータを一時的に記憶するためのエリア、Ｉ／Ｆ１００７を介して送受信されるデータを一時的に記憶するためのエリア、ＣＰＵ１００１が各種の処理を実行する際に用いるワークエリアなどて適宜提供することができる。
【０１２８】
１００３はＲＯＭで、本コンピュータを適用した装置の設定データや、ブートプログラムなどを格納する。
【０１２９】
１００４は表示部で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１００１による処理結果を画像や文字などでもって表示することができる。
【０１３０】
１００５は操作部で、キーボードやマウスなどにより構成されており、各種の指示をＣＰＵ１００１に対して入力することができる。なお、上述の各処理において装置に入力すべき指示はこの操作部１００５を用いて入力される。
【０１３１】
１００６は外部記憶装置で、ハードディスクドライブ装置などに代表される大容量情報記憶装置であって、ここにＯＳ（オペレーティングシステム）や、本コンピュータを適用した装置が行うべき上述の各処理をＣＰＵ１００１に実行させるためのプログラムやデータが保存されており、これらの一部若しくは全部はＣＰＵ１００１による制御に従って適宜ＲＡＭ１１０２にロードされ、ＣＰＵ１００１による処理対象となる。
【０１３２】
例えば本コンピュータを第１の実施形態に係る作業者用複合現実感装置１０ａに適用した場合には、図１において作業者用複合現実感装置１０ａを構成する各部のそれぞれの機能をＣＰＵ１００１に実行させるためのプログラムやデータが外部記憶装置１００６に保存されているし、本コンピュータを第１の実施形態に係る指示者用複合現実感装置１０ｂに適用した場合には、図１において指示者用複合現実感装置１０ｂを構成する各部のそれぞれの機能をＣＰＵ１００１に実行させるためのプログラムやデータが外部記憶装置１００６に保存されている。また、本コンピュータを第３の実施形態に係る作業者用複合現実感装置１０ａに適用した場合には、図８において作業者用複合現実感装置１０ａを構成する各部のそれぞれの機能をＣＰＵ１００１に実行させるためのプログラムやデータが外部記憶装置１００６に保存されているし、本コンピュータを第３の実施形態に係る指示者用複合現実感装置１０ｂに適用した場合には、図８において指示者用複合現実感装置１０ｂを構成する各部のそれぞれの機能をＣＰＵ１００１に実行させるためのプログラムやデータが外部記憶装置１００６に保存されている。
【０１３３】
１００７はＩ／Ｆで、本コンピュータを適用した装置に接続すべきハードウェアがここに接続される。例えば本コンピュータを第１の実施形態に係る作業者用複合現実感装置１０ａに適用した場合には、ＨＭＤ２０ａ、マイクロフォン２８ａ、スタイラス４１ａがこのＩ／Ｆ１００７に接続されるし、本コンピュータを第１の実施形態に係る指示者用複合現実感装置１０ｂに適用した場合には、ＨＭＤ２０ｂ、マイクロフォン２８ｂ、スタイラス４１ｂがこのＩ／Ｆ１００７に接続される。本コンピュータを第３の実施形態に係る作業者用複合現実感装置１０ａに適用した場合には、更に、３次元位置姿勢センサ４５がこのＩ／Ｆ１００７に接続される。なお、ここでは様々なデバイスを１つのＩ／Ｆに接続するとしたが、デバイス毎に別個にＩ／Ｆを設けるようにしても良い。
【０１３４】
１００８はスピーカで、本コンピュータを作業者用複合現実感装置１０ａに適用した場合にはこのスピーカ１００８はスピーカ２７ａに相当するし、本コンピュータを指示者用複合現実感装置１０ｂに適用した場合にはこのスピーカ１００８はスピーカ２７ｂに相当する。
【０１３５】
１００９はＮＩＣ（ネットワークインターフェース）で、本コンピュータをネットワークに接続するためのものである。よって本コンピュータを作業者用複合現実感装置１０ａ、指示者用複合現実感装置１０ｂに適用した場合には、それぞれのコンピュータはこのＮＩＣ１００９を介してデータ通信を行うことになる。
【０１３６】
１０１０は上述の各部を繋ぐバスである。
【０１３７】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１３８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３９】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４０】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１４１】
【図１】本発明の第１の実施形態に係るシステムの機能構成を示すブロック図である。
【図２】（ａ）は、作業者が仮想物体を操作して作業を行っている空間を示す図、指示者が存在する空間を示す図である。
【図３】作業者用複合現実感装置１０ａが行う処理のフローチャートである。
【図４】指示者用複合現実感装置１０ｂが行う処理のフローチャートである。
【図５】作業者用複合現実感装置１０ａが指示者用複合現実感装置１０ｂから送信されたデータ（スタイラス情報）の受信処理（受信イベント処理）のフローチャートである。
【図６】スタイラス４１ａに備わっているボタンが押下された場合に作業者用複合現実感装置１０ａが行う処理のフローチャートである。
【図７】（ａ）は作業者が存在する空間を示す図、（ｂ）は指示者が存在する空間を示す図である。
【図８】本発明の第３の実施形態に係るシステムの機能構成を示すブロック図である。
【図９】Ｚバッファ法を基にしたステップＳ２００における隠面処理を用いた仮想物体の描画処理のフローチャートである。
【図１０】作業者用複合現実感装置１０ａ、指示者用複合現実感装置１０ｂに適用可能なコンピュータのハードウェア構成を示すブロック図である。
【図１１】作業者、指示者が仮想物体を操作中であるのか、操作しているのであればどの仮想物体を操作中であるのかといったことを示す情報が登録されたテーブルの構成例を示す図である。
【図１】
2006209664.tif 000003
【図２】
2006209664.tif 000004
【図３】
2006209664.tif 000005
【図４】
2006209664.tif 000006
【図５】
2006209664.tif 000007
【図６】
2006209664.tif 000008
【図７】
2006209664.tif 000009
【図８】
2006209664.tif 000010
【図９】
2006209664.tif 000011
【図１０】
2006209664.tif 000012
【図１１】
2006209664.tif 000013