(57)【要約】【課題】所望のタイミングにおける複合現実空間の画像を、熟練した撮影者なしに、この複合現実空間の体験者が得ること。【解決手段】ビデオカメラ１６０を仮想空間における視点とし、現実空間と仮想空間とで共有される座標系におけるこの視点の位置姿勢に応じた仮想空間の画像をグラフィックカード６３０によって生成し、ビデオカメラ１６０により撮像された現実空間の画像と、生成した仮想空間の画像とを合成した合成画像をプリンタ１７０に対して出力するＰＣ１１２は、仮想空間、及び／又は現実空間における特別事象の発生を検出し、この検出のタイミングに応じて、合成画像をプリンタ１７０に出力する。【選択図】  図６
2005050043.tif 000002
【特許請求の範囲】
【請求項１】
現実空間を撮像する撮像手段を仮想空間における視点とし、前記現実空間と前記仮想空間とで共有される座標系における当該視点の位置姿勢に応じた仮想空間の画像を生成する生成工程と、前記撮像手段により撮像された現実空間の画像と、前記生成工程で生成された仮想空間の画像とを合成し、合成画像を生成する合成工程とを含み、当該合成工程による合成画像をプリント手段に対して出力する画像処理方法であって、
前記仮想空間、及び／又は現実空間における特別事象の発生を検出する検出工程と、
前記検出工程で特別事象の発生を検出した場合には、当該検出のタイミングに応じて、前記合成工程で生成した合成画像を前記プリント手段に出力する出力工程とを備えることを特徴とする画像処理方法。
【請求項２】
更に、前記仮想空間の状態を示す状態情報を定期的もしくは不定期的に更新する更新工程を備え、
前記生成工程では前記更新工程で更新した前記状態情報に基づいた仮想空間の画像を生成し、
前記検出工程では、前記更新工程で更新した状態情報が示す仮想空間の状態が特別事象であるか否かを判断することにより、特別事象を検出することを特徴とする特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記検出工程は更に、
観察者の世界座標系における視点の位置姿勢を求める計算工程と、
前記計算工程で求めた前記視点の位置を通り、前記計算工程で求めた姿勢を方向ベクトルとする直線が、前記撮像手段の近傍領域を通過しているか否かを判定する判定工程とを備え、
前記直線が前記近傍領域を通過していることを特別事象とすることを特徴とする請求項１に記載の画像処理方法。
【請求項４】
現実画像に仮想画像を合成する画像処理方法において、観察者の視点位置・姿勢を検出し得られた視点位置・姿勢情報を入力し、前記視点位置・姿勢情報に応じて、仮想画像を生成し、前記生成された仮想画像を前記現実画像に合成する画像処理方法であって、
前記仮想空間、及び／又は現実空間における特別事象の発生を検出し、
前記特別事象を検出した場合は、前記合成された画像をプリントすべく出力することを特徴とする画像処理方法。
【請求項５】
現実空間を撮像する撮像手段と、当該撮像手段を仮想空間における視点とし、前記現実空間と前記仮想空間とで共有される座標系における当該視点の位置姿勢に応じた仮想空間の画像を生成する生成手段と、前記撮像手段により撮像された現実空間の画像と、前記生成手段により生成された仮想空間の画像とを合成し、合成画像を生成する合成手段とを備え、当該合成手段による合成画像をプリント手段に対して出力可能な画像処理装置であって、
前記仮想空間、及び／又は現実空間における特別事象の発生を検出する検出手段と、
前記検出手段が特別事象の発生を検出した場合には、当該検出のタイミングに応じて、前記合成手段が生成した合成画像を前記プリント手段に出力する出力手段とを備えることを特徴とする画像処理装置。
【請求項６】
コンピュータに請求項１乃至４の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムを格納し、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、現実空間の画像と仮想空間の画像とを合成した合成画像を生成する技術に関するものである。
【０００２】
【従来の技術】
静止画や動画が撮像可能なカメラなどの撮像装置を用いて撮像した現実空間の画像にコンピュータ内で生成された仮想物体の画像を合成してプリントアウトするシステムが一般的なものとして広く存在している。この様な従来のシステムでは、現実画像に重畳される仮想物体は単純な二次元画像であり、また、システムの体験者は仮想物体の存在は合成画面上でしか確認できなかった。
【０００３】
つまり撮影時にシステムの体験者は仮想画像と自分自身の位置関係を合成画面上で確認しながら自分が仮想物体と相互交流しているように見えるような画像のための絵作りや演技を行っていた。
【０００４】
そこで従来から、現実空間と仮想空間の座標系が共有されている空間（複合現実空間）において、撮影者の望む視点位置、視線方向における現実画像と仮想画像を合成してプリントアウトする為の技術が開示されている（例えば特許文献１を参照）。
【０００５】
この技術では、仮想物体は二次元画像ではなく三次元コンピュータグラフィックス（３ＤＣＧ）技術により三次元画像として表現され、この仮想物体を現実空間中に実在する立体物であるかのごとく認識することが可能である。さらに現実空間と仮想空間の三次元座標軸が一致しているので、体験者はこの現実空間と仮想空間の融合空間（複合現実空間）で、仮想物体が目前に実在しているかのような、深い没入感を持って知覚することが可能である。
【０００６】
よって、このような環境において仮想物体と相互交流している様子を画像として取得することで、システムの体験者が演技や絵作りを意識せずとも仮想物体と自然に相互交流することを促し、「絵」としてより良いプリントアウトを提供することを可能とした。
【０００７】
一方、テーマパークのアトラクションにおいて客が体験して楽しんでいる様子を現実空間におけるイベントによって自動的に撮像し、体験を終了した客にプリントアウトして提供する機器が運用されている。例えば、ジェットコースタータイプのアトラクションにおいて、体験者が搭乗した車両が急降下して驚きの表情をする地点に撮像装置を設置し、車両が急降下するタイミングで体験者と車両を撮影し、搭乗を終了した客が自分の驚いた表情の写った画像をプリントアウトしてもらい対価を支払うシステムなどである。
【０００８】
【特許文献１】
特願２００２−３０１６５１号公報
【０００９】
【発明が解決しようとする課題】
現実空間と仮想空間の座標系が共有されている空間（複合現実空間）において、撮影者の望む視点位置、視線方向における現実画像と仮想画像を合成してプリントアウトする為の技術は、静止画や動画が撮像可能なカメラなどの撮像装置を用いて撮像した現実空間の画像にコンピュータ内で生成された仮想物体の画像を合成してプリントアウトする技術に比べ、体験者と仮想物体が自然に相互交流している画像を取得可能にした。
【００１０】
実際にシステムを運用して撮像を行ったところ、おおむね良好な結果が得られたが、システム初体験者が、面白みがあり記念として保存しておきたくなるような画像、例えば仮想空間中において不特定時間に発生する特別な事象と共に体験者が写っている画像等を取得するためには、ちょうど良いと思われるタイミングでの画像取得作業を行わなければならず、ある程度の熟練が必要になる場合があった。そこで確実によい画像を取得する必要がある場合においては、熟練したスタッフが撮影者として対応せざるを得なかった。
【００１１】
本発明は以上の問題に鑑みてなされたものであり、所望のタイミングにおける複合現実空間の画像を、熟練した撮影者なしに、この複合現実空間の体験者が得るための技術を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【００１３】
即ち、現実空間を撮像する撮像手段を仮想空間における視点とし、前記現実空間と前記仮想空間とで共有される座標系における当該視点の位置姿勢に応じた仮想空間の画像を生成する生成工程と、前記撮像手段により撮像された現実空間の画像と、前記生成工程で生成された仮想空間の画像とを合成し、合成画像を生成する合成工程とを含み、当該合成工程による合成画像をプリント手段に対して出力する画像処理方法であって、
前記仮想空間、及び／又は現実空間における特別事象の発生を検出する検出工程と、
前記検出工程で特別事象の発生を検出した場合には、当該検出のタイミングに応じて、前記合成工程で生成した合成画像を前記プリント手段に出力する出力工程と
を備えることを特徴とする。
【００１４】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【００１５】
即ち、現実画像に仮想画像を合成する画像処理方法において、観察者の視点位置・姿勢を検出し得られた視点位置・姿勢情報を入力し、前記視点位置・姿勢情報に応じて、仮想画像を生成し、前記生成された仮想画像を前記現実画像に合成する画像処理方法であって、
前記仮想空間、及び／又は現実空間における特別事象の発生を検出し、
前記特別事象を検出した場合は、前記合成された画像をプリントすべく出力することを特徴とする。
【００１６】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【００１７】
即ち、現実空間を撮像する撮像手段と、当該撮像手段を仮想空間における視点とし、前記現実空間と前記仮想空間とで共有される座標系における当該視点の位置姿勢に応じた仮想空間の画像を生成する生成手段と、前記撮像手段により撮像された現実空間の画像と、前記生成手段により生成された仮想空間の画像とを合成し、合成画像を生成する合成手段とを備え、当該合成手段による合成画像をプリント手段に対して出力可能な画像処理装置であって、
前記仮想空間、及び／又は現実空間における特別事象の発生を検出する検出手段と、
前記検出手段が特別事象の発生を検出した場合には、当該検出のタイミングに応じて、前記合成手段が生成した合成画像を前記プリント手段に出力する出力手段とを備えることを特徴とする。
【００１８】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１９】
［第１の実施形態］
図１は複数の観察者と、夫々の観察者に対して自身の視点に基づいた複合現実空間画像を提供する本実施形態に係るシステムの外観を示す図である。
【００２０】
１００、１０１は複合現実空間画像を観察する観察者である。２１０は複合現実空間画像生成可能領域であって、観察者１００，１０１はこの領域２１０内で複合現実空間を体感することができる。即ち、複合現実空間画像生成可能領域２１０とは、本実施形態におけるシステムが提供する複合現実空間の最大領域であって、この領域に存在する現実物体についてはその位置、形状はＰＣ１１０、１１１、１１２が夫々管理しており、現実物体と仮想物体との位置の重なりが発生したことが検出可能な領域である。
【００２１】
この領域２１０の位置、サイズを示すデータはＰＣ１１０、１１１、１１２が夫々管理している。２２０、２２２は現実物体で、同図では石柱と岩を例として示しているが、本実施形態に適用可能な現実物体がこれに限定されないことは明らかである。２５０，２５２は仮想物体で三次元ＣＧオブジェクトとしてポリゴンおよびテクスチャなどの情報から構成される。同図では亀と魚を例として示しているが、これに限定するものではないし、更には、仮想物体の表現方法はこれに限定されるものではなく、例えば光線空間理論に基づくものであっても良い。
【００２２】
また、仮想物体２２０，２２２は複合現実空間の概要を示すために図１では図示したが、実際にはＰＣ１１０、１１１、１１２のモニタ１４０，１５０，１４１上およびＨＭＤ４００の表示装置上でしか知覚不能である。そしてこれらの現実物体および仮想物体の画像はこれらの重畳結果である複合現実空間画像に含まれるものであり、観察者１００の視点、ビデオカメラ１６０の位置を仮想空間における視点とし、この視点の位置姿勢に応じて見える形状の画像である。複合現実空間の画像が動画像である場合には常に最新の画像（最新フレームの画像）がＰＣ１１０，１１１，１１２のメモリ上に描画される。
【００２３】
ＰＣ１１０（モニタ１４０を含む）、センサ系３００、３１０，３２０、撮像装置付の頭部搭載型表示装置（ＨＭＤ）４００は、観察者一人分の複合現実空間画像を生成し、提供する観察者用画像処理装置システムを構成し、観察者１００に対して設けられている。
【００２４】
また、ＰＣ１１１（モニタ１４１を含む）、センサ系３０１，３１１，３２１、撮像装置付の頭部搭載型表示装置（ＨＭＤ）４０１は、観察者１０１に対して複合現実空間画像を生成し、提供する観察者用画像処理装置システムを構成するものである。なお、観察者１０１に対して設けられた観察者用画像処理システムの構成及びその動作については、観察者１００に対して設けられた上記観察者用画像処理システムと同じである。
【００２５】
そして夫々の観察者１００，１０１に対して設けられたＰＣ１１０，１１１同士はＬＡＮやインターネットなどのネットワーク１８０を介して接続されている。
【００２６】
なお、図１では２人の観察者（１００，１０１）がおり、また上述の通り、観察者用画像処理システムは夫々の観察者に対して設けられるものであるので、同図では観察者用画像処理システムもその人数に応じて２つネットワーク１８０に接続している。しかし、観察者の人数は２人に限定されるものではなく、その場合、その人数に応じた数の観察者用画像処理システムをネットワーク１８０に夫々の観察者用に接続すればよい。
【００２７】
以下では観察者１００に対して設けられた観察者用画像処理システムについて説明するが、同様のことは観察者１０１に対して設けられた観察者用画像処理システムについても同じである。
【００２８】
図５は、観察者１００に対して設けられた、観察者一人分の複合現実空間画像を生成し、提供する観察者画像処理装置システムの基本構成を示すブロック図である。大まかには上述の通り、ＰＣ１１０、ＨＭＤ４００、モニタ１４０に大別される。
【００２９】
ＰＣ１１０はキャプチャカード１３２Ｌ、１３２Ｒ，グラフィックカード１３０Ｌ、１３０Ｒ、シリアルＩ／Ｆ１２６，ＨＤＤ（ハードディスクドライブ）１２３，ＣＰＵ１２１、メモリ１２２、キーボード１２４、マウス１２５、ネットワークＩ／Ｆ１２７により構成されている。
【００３０】
左目用キャプチャカード１３２Ｌは、ＨＭＤ４００に備わっている左目用ＣＣＤ４１６ＬとＰＣ１１０とを接続するためのインターフェースとして機能するものであり、左目用ＣＣＤ４１６Ｌにより撮像された観察者１００の左目に対応する各フレームの現実空間の画像信号を受け、これをデータとして順次後段のメモリ１２２に転送する。右目用キャプチャカード１３２Ｒは、ＨＭＤ４００に備わっている右目用ＣＣＤ４１６ＲとＰＣ１１０とを接続するためのインターフェースとして機能するものであり、右目用ＣＣＤ４１６Ｒにより撮像された観察者１００の右目に対応する各フレームの現実空間の画像信号を受け、これをデータとして順次後段のメモリ１２２に転送する。これにより、ＨＭＤ４００を頭部に装着した観察者１００の右目、左目の夫々で観察される現実空間の画像をＰＣ１１０のメモリ１２２に取り込むことができる。
【００３１】
左目用グラフィックカード１３０Ｌは、後述するＰＣ１１２から得られる観察者１００の視点位置姿勢のデータ、及びＨＤＤ１２３が保持する仮想空間の画像を描画するためのデータを用いて、ＣＰＵ１２１の制御により、この視点位置姿勢に応じて見える左目用の仮想空間の画像をメモリ１２２上に描画する。右目用グラフィックカード１３０Ｒは、後述するＰＣ１１２から得られる観察者１００の視点位置姿勢のデータ、及びＨＤＤ１２３が保持する仮想空間の画像を描画するためのデータを用いて、ＣＰＵ１２１の制御により、この視点位置姿勢に応じて見える右目用の仮想空間の画像をメモリ１２２上に描画する。
【００３２】
なお、左目用グラフィックカード１３０Ｌ、右目用グラフィックカード１３０ＲがＣＰＵ１２１の制御により行う、任意の視点位置姿勢に応じて見える仮想空間の画像を生成するための処理については周知の技術を用いて行うものであるので、ここでの説明は省略する。
【００３３】
また、この仮想空間の状態は、ＰＣ１１２から通知される仮想空間の状態情報に従って定期的もしくは不定期的に更新する。この詳細については後述する。
【００３４】
また、ここで「仮想空間」という文言には、仮想空間中に存在する仮想物体等を含むものとする。従って左目用グラフィックカード１３０Ｌ、右目用グラフィックカード１３０Ｒは仮想物体を含みうる仮想空間の画像を３ＤＣＧ（３次元コンピュータグラフィックス）により描画する処理を行う。
【００３５】
メモリ１２２には先に上記左目用キャプチャカード１３２Ｌ、右目用キャプチャカード１３２Ｒにより、左目用／右目用の現実空間の画像が取り込まれているので、左目用グラフィックカード１３０Ｌ、右目用グラフィックカード１３０Ｒがメモリ１２２上に左目用／右目用の仮想空間の画像を描画することで、メモリ１２２上には、両目に対する複合現実空間（現実空間画像と仮想空間画像との重畳画像）が描画されていることになる。
【００３６】
また左目用グラフィックカード１３０Ｌは、メモリ１２２上に描画された左目用の複合現実空間画像をＣＰＵ１２１の制御により、ＨＭＤ４００の左目用カラー液晶ディスプレイ４１４Ｌに出力する。左目用カラー液晶ディスプレイ４１４Ｌはこの左目用の複合現実空間画像を表示する。一方、右目用グラフィックカード１３０Ｒは、メモリ１２２上に描画された右目用の複合現実空間画像をＣＰＵ１２１の制御により、ＨＭＤ４００の右目用カラー液晶ディスプレイ４１４Ｒに出力する。右目用カラー液晶ディスプレイ４１４Ｒはこの右目用の複合現実空間画像を表示する。後述するが、ＨＭＤ４００は観察者１００の頭部に、左目用カラー液晶ディスプレイ４１４Ｌ、右目用カラー液晶ディスプレイ４１４Ｒが表示する画像が夫々観察者１００の左目、右目の眼前に位置するように装着されるものであるから、これにより観察者１００はＨＭＤ４００を自身の頭部に装着し、眼前に位置する左目用／右目用の複合現実空間画像を見ることで、複合現実空間を体感することができる。
【００３７】
また、左目用グラフィックカード１３０Ｌ、右目用グラフィックカード１３０Ｒは、メモリ１２２上に描画された左目用／右目用の複合現実空間画像をＣＰＵ１２１の制御により、モニタ１４０にも出力する。モニタ１４０はこの左目用／右目用の複合現実空間画像を表示する。なお、モニタ１４０に出力するのは左目用、右目用の何れかの複合現実空間画像でも良い。
【００３８】
なお、ＨＭＤ４００に出力する複合現実空間画像と同じもの（もしくは片一方の目用の複合現実空間画像）をモニタ１４０に出力するのは、ＨＭＤ４００ではＰＣ１１０操作用の表示装置としては不自由な点があるためと、ＨＭＤ４００を装着している観察者がどのような画像を見ているのかを観察者以外の者が知るためである。
【００３９】
なお、左目用カラー液晶ディスプレイ４１４Ｌ、右目用カラー液晶ディスプレイ４１４Ｒ、モニタ１４０に表示するものは複合現実空間画像に限定されるものではなく、他にも例えば、ＰＣ１１０を操作する際に必要な情報（システムメッセージやシステムの設定画面など）を表示させてもよい。
【００４０】
ＨＤＤ１２３には、ＰＣ１１０全体の制御を行うためのプログラムやデータ、後述する複合現実空間画像生成プログラム、仮想空間における各仮想物体の位置、形状、色など、仮想空間画像を生成するために必要なデータ群（前述の複合現実空間画像生成可能領域２１０の位置、サイズを示すデータを含む）を保存しており、これらのプログラムやデータは必要に応じてＣＰＵ１２１によりメモリ１２２にロードされる。
【００４１】
ＣＰＵ１２１はメモリ１２２にロードされたプログラムを実行したり、メモリ１２２にロードされたデータを参照することで、ＰＣ１１０の各部の制御を行い、上記複合現実空間画像を生成してＨＭＤ４００に提供したり、ＰＣ１１０全体の制御を行ったりすることができる。
【００４２】
メモリ１２２は読み書き可能なメモリであって、ＣＰＵ１２１の実行対象であるＨＤＤ１２３からロードされたプログラムやその際に使用するデータを一時的に記憶するエリアを備えると共に、ＣＰＵ１２１が各処理を行う際に用いるワークエリアも備える。もちろん上述の通り、仮想空間画像、及び現実空間画像を描画する為のエリアも備える。
【００４３】
キーボード１２４、マウス１２５はＣＰＵ１２１に対して各指示を入力するためのポインティングデバイスとして用いられ、例えば仮想物体の配置位置や仮想空間の状態設定などを入力するために用いられる。
【００４４】
ネットワークインターフェース１２７は、ＰＣ１１０を上記ネットワーク１８０に接続するためのインターフェースとして機能するものであり、ネットワークインターフェース１２７を介してネットワーク１８０に接続された他の機器とのデータ通信を行うことができる。
【００４５】
一方、ＨＭＤ４００には、上述の左目用ＣＣＤ４１６Ｌ、右目用ＣＣＤ４１６Ｒ、左目用カラー液晶ディスプレイ４１４Ｌ、右目用カラー液晶ディスプレイ４１４Ｒ、そして位置姿勢センサ受信機３２０が備わっている。これら各部を含む、ＨＭＤ４００について以下、詳細に説明する。
【００４６】
図２は、ＨＭＤ４００の基本構成を示す図、図３，４はＨＭＤ４００の外観を示す図である。なお各図において番号の後に「Ｒ」とつくものは観察者の右目用に設けられたもの、「Ｌ」とつくものは左目用に設けられたものを表す。特に特定する必要のない場合、文中ではＲ、Ｌを省略して表記する。以下、図２，３，４を用いて、ＨＭＤ４００について説明する。
【００４７】
３２０は位置姿勢センサ受信機で、観察者の視点位置近傍に設けられており、詳しくは後述するが、位置姿勢センサ発信機３１０から発信される磁気を検知し、検知した磁気の強度を検知結果として本体３００に出力する。本体３００はこの検知結果を参照して、位置姿勢センサ受信機３２０の位置姿勢を求め、ＰＣ１１２に出力する。ＰＣ１１２は位置姿勢センサ受信機３２０の位置姿勢と観察者１００の視点位置姿勢との関係（後述するがこれは既知）を用いて、位置姿勢センサ受信機３２０の位置姿勢から、観察者１００の視点位置姿勢を求める処理を行う。このような一連の処理は常時行われているものとする。
【００４８】
４１０，４１４，４１５は夫々表示系を構成しており、カラー液晶ディスプレイ４１４が表示する画像が光学プリズム４１５によって導かれ、表示部４１０に表示される。この表示部４１０は観察者１００の右目用、左目用として設けられており、且つ観察者１００がＨＭＤ４００を自身の頭部に装着した場合に同図に示す如く眼前に位置するようになっている。従って観察者１００はこのＨＭＤ４００を頭部に装着することで、表示部４１０に表示される画像を眼前に見ることができる。
【００４９】
４１２、４１６、４１７は撮像系を構成しており、入力部４１２を介してＨＭＤの外部から入力された光が光学プリズム４１７によってＨＭＤ内部に導かれ、ＣＣＤ４１６で受光される。光学プリズム４１５の出力光と光学プリズム４１７の入力光は観察者の瞳の光軸と一致している。
【００５０】
ＣＣＤ４１６は上述の通り観察者の視点位置姿勢に応じて見える現実空間画像を撮影し、カラー液晶ディスプレイ４１４はＣＣＤ４１６によって撮像された現実空間画像と、上記ＰＣ１１０が生成した「観察者１００の視点位置姿勢に応じた仮想空間画像」とを重畳した複合現実空間画像を表示する。
【００５１】
４２１〜４２５は頭部装着用の構成部材である。ＨＭＤ４００を頭部に装着するには、まず、アジャスタ４２２で長さ調整部４２３を緩めた状態で頭にかぶる。そして、額装着部４２５を額に密着させてから側頭装着部４２１と後頭装着部４２４を各々側頭部、後頭部に密着させるように、アジャスタ４２２で長さ調整部４２３を絞める。４２６はカラー液晶ディスプレイ４１４、ＣＣＤ４１６、位置姿勢センサ受信機３２０のための電源および信号線をまとめたものである。
【００５２】
次に、上記位置姿勢センサ発信機３１０、位置姿勢センサ受信機３２０、本体３００による計測に基づく、観察者１００の視点位置姿勢の計測方法について説明する。
【００５３】
図１に示す如く、位置姿勢センサ受信機３２０、位置姿勢センサ発信機３１０は位置姿勢センサ本体３００に接続されている。位置姿勢センサ発信機３１０からは磁気が発信されており、位置姿勢センサ受信機３２０がこの磁気を受信する。位置姿勢センサ本体３００は位置姿勢センサ受信機３２０が受信した磁気の強度から、位置姿勢センサ発信機３１０を原点とする座標系（以下、センサ座標系）における位置姿勢センサ受信機３２０の位置姿勢を公知の技術を用いて算出し、算出した結果をＰＣ１１２に送る。
【００５４】
ここで、実際に求めたいものは上記センサ座標系における位置姿勢センサ受信機３２０の位置姿勢ではなく、座標系２００における観察者１００の視点位置姿勢である。座標系２００は予め定義されている世界座標系と呼ばれるもので、仮想物体を現実空間のどの位置に設定するのかを決めるために使用される座標軸であって、座標軸２００は現実空間と仮想空間で共有される。座標軸の設定方法に関しては複合現実空間を生成するための技術として公知のものであるのでここでの詳細な説明は省略する。
【００５５】
位置姿勢センサ受信機３２０はＨＭＤ４００に固定されているため、位置姿勢センサ３２０とＨＭＤ４００を装着した観察者１００の入射瞳との相対的位置は定数となる。よって、この定数と位置姿勢センサ受信機３２０の位置とを用いれば、センサ座標系における観察者１００の入射瞳の位置を求めることができる。
また、位置姿勢センサ発信機３１０の位置を座標系２００において固定とし、その位置を予め測定しておけば、測定した位置は定数となるので、後は周知のマトリクス計算により、座標系２００における観察者１００の入射瞳の位置を求めることができる。
【００５６】
なお、本実施形態では観察者１００の入射瞳の位置を観察者１００の視点位置として利用する。
【００５７】
また、ＨＭＤ４００は観察者１００が正面に自然に瞳を向けた時に正しく画像が観察可能であるよう観察者１００の頭部に装着されている。よって、観察者がＨＭＤ４００に表示される画像を観察するとき、位置姿勢センサ受信機３２０の方向と観察者１００の視線方向との相対関係は定数となる。よって、この定数と位置姿勢センサ受信機３２０の姿勢とを用いれば、センサ座標系における観察者１００の視点の姿勢を求めることができる。また、位置姿勢センサ発信機３１０の姿勢を座標系２００において固定とし、その姿勢を予め測定しておけば、測定した姿勢は定数となるので、後は周知のマトリクス計算により、座標系２００における観察者１００の視点の姿勢を求めることができる。
【００５８】
なお、これら定数は予め測定され、データとしてＰＣ１１２に記憶されているものとする。よってＰＣ１１２は本体３００から受信したセンサ座標系における位置姿勢センサ受信機３２０の位置姿勢のデータと、これら定数群のデータとを用いれば、座標系２００における観察者１００の視点位置姿勢を求めることができる。この技術は周知であるため、これに関する説明は省略する。
【００５９】
尚、本実施形態では位置姿勢センサ系として米国Ｐｏｌｈｅｍｕｓ社製ＦＡＳＴＲＡＫや米国Ａｓｃｅｎｓｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ社製Ｆｌｏｃｋ  ｏｆ  Ｂｉｒｄｓ等を用いることを仮定しているのであるが、これに限定されるものではなく、他の市販されている超音波式、光学式位置姿勢センサも利用可能である。
【００６０】
以上説明したＨＭＤ４００と位置姿勢センサ系３００，３１０，３２０を利用することで、観察者１００に、任意の視点位置姿勢に応じた複合現実空間画像を提供することができる。
【００６１】
次に、上記複合現実空間画像生成プログラムについて説明する。この複合現実空間画像生成プログラムはメモリ１２２にロードされており、ＣＰＵ１２１により常時実行されているものである。また、ＰＣ１１０には後述するＰＣ１１２から（厳密にはＰＣ１１２が保持する複合現実空間管理プログラムから）、ネットワーク１８０を介して状態情報が定期的もしくは不定期的に入力される。ここでこの状態情報とは、仮想空間の状態（例えば、仮想物体の数や、色、形状、種類、仮想空間内の光の強弱や色、天候など）を示す情報であって、この状態情報の内容についてはＰＣ１１２側で定期的もしくは不定期的に変更される。
【００６２】
よって、ＣＰＵ１２１はこの複合現実空間画像生成プログラムを実行すると先ず、入力された状態情報に従って、例えば仮想空間において新たな仮想物体を登場させたり、仮想物体の位置やサイズ、モーションを変更したりして、仮想空間の状態を更新する。
【００６３】
ここで、仮想空間は複合現実空間の部分空間であるから、仮想空間の更新とは即ち、複合現実空間の更新を意味する。
【００６４】
また、ＰＣ１１０には後述するＰＣ１１２から（詳細は後述するが、厳密にはＰＣ１１２が保持する複合現実空間管理プログラムから）ネットワーク１８０を介して、座標系２００における観察者１００の視点位置姿勢を示すデータが常時入力されている。この観察者の視点位置姿勢のデータは、上記位置姿勢センサ系によって計測された位置姿勢センサ受信機３２０の位置姿勢、及び上記定数群に基づいてＰＣ１１２が求めたものである。
【００６５】
よって、ＣＰＵ１２１はこの複合現実空間画像生成プログラムを実行すると、左目用グラフィックカード１３０Ｌ、右目用グラフィックカード１３０Ｒを制御し、ＰＣ１１２から入力される観察者１００の視点位置姿勢のデータ、及びメモリ１２２にロードされた仮想空間を描画するためのデータを用いて、先に更新された仮想空間において観察者１００の視点位置姿勢に応じて見える右目用／左目用の仮想空間の画像を生成する。生成した仮想空間の画像は上述の通り、メモリ１２２上に描画される。
【００６６】
また上述の通り、メモリ１２２上には先に、観察者１００の頭部に装着されたＨＭＤ４００に設けられた上記左目用ＣＣＤ４１６Ｌ、右目用ＣＣＤ４１６Ｒによって撮像された左目用／右目用の現実空間画像が左目用キャプチャカード１３２Ｌ、右目用キャプチャカード１３２Ｒを介して取り込まれているので、メモリ１２２上には結果的には左目用／右目用の複合現実空間画像が描画されていることになる。
【００６７】
そしてメモリ１２２上に生成された左目用／右目用の複合現実空間画像は、ＣＰＵ１２１の制御により左目用グラフィックカード１３０Ｌ、右目用グラフィックカード１３０Ｒによって、ＰＣ１１０のモニタ１４０に出力されると共に、ＨＭＤ４００に設けられた左目用カラー液晶ディスプレイ４１４Ｌ、右目用カラー液晶ディスプレイ４１４Ｒに出力され、夫々で表示される。これにより、上記状態情報に従って更新された複合現実空間において、観察者１００の視点位置姿勢に応じて見える複合現実空間の画像を生成し、ＨＭＤ４００を介して観察者１００に提供することができる。
【００６８】
以上、観察者１００に対して複合現実空間画像を提供する観察者用画像処理装置システムについて説明したが、上述の通り、観察者１０１に対して複合現実空間画像を提供する観察者用画像処理装置システムについても同じ説明が適用可能であることは明らかである。
【００６９】
次に、図１における、ＰＣ１１２、ビデオカメラ１６０、プリンタ１７０により構成される客観画像処理装置システムについて説明する。本実施形態に係る客観画像処理装置システムは、観察者１００，１０１の視点位置姿勢を求め、状態情報と共に、ＰＣ１１０、１１１に夫々送信すると共に、仮想空間において特別事象が発生した場合にはそれを検出し、検出したタイミングに応じて複合現実空間の画像をプリントアウトする指示をプリンタ１７０に対して行う処理を行う。
【００７０】
また、この客観画像処理システムは、観察者の数に依存せず、本複合現実感システムに１つだけ設置されるものである。そしてＰＣ１１２はＬＡＮやインターネットなどのネットワーク１８０を介して他のＰＣ１１０、１１１と接続されており、互いにデータ通信が可能な構成となっている。
【００７１】
図６は、上記客観画像処理装置システムの基本構成を示すブロック図である。
大まかには上述の通り、ＰＣ１１２、ビデオカメラ１６０、プリンタ１７０に大別される。
【００７２】
ＰＣ１１２はキャプチャカード６３２，グラフィックカード６３０、シリアルインタフェース６１２６，ＨＤＤ（ハードディスクドライブ）６２３，ＣＰＵ６２１、メモリ６２２、キーボード６２４、マウス６２５、ネットワークインタフェース６２７により構成されている。
【００７３】
キャプチャカード６３２は、ビデオカメラ１６０とＰＣ１１２とを接続するためのインターフェースとして機能するものであり、ビデオカメラ１６０により撮像された各フレームの現実空間の画像信号を受け、これをデータとして順次後段のメモリ６２２に転送する。
【００７４】
グラフィックカード６３０は、ビデオカメラ１６０の上記座標系２００における位置姿勢のデータ（予め測定され、ＨＤＤ６２３に保存されているものとするが、変更したい場合は、その度に座標軸２２０におけるビデオカメラ１４０の位置および方向を実測し、実測したデータをＨＤＤ６２３に保存、もしくはメモリ６２２に記憶させる）、及びＨＤＤ６２３が保持する仮想空間の画像を描画するためのデータを用いて、ＣＰＵ６２１の制御により、この位置姿勢に応じて見える仮想空間の画像をメモリ６２２上に描画する。
【００７５】
なお、ビデオカメラ１６０の位置姿勢は、複合現実空間画像生成可能領域２１０が可能な限り撮影範囲内に入るようにすることが望ましい。
【００７６】
また、ＨＤＤ６２３に保存されている仮想空間の画像を描画するためのデータは、全てのＰＣで同じ仮想空間を生成するために、ＰＣ１１０のＨＤＤ１２３に保存されているものと同じものである。従って、ＨＤＤ６２３にこの仮想空間の画像を描画するためのデータを保存させておき、ＰＣ１１０、ＰＣ１１１がこのＨＤＤ６２３にアクセスして用いるようにしても良い。
【００７７】
メモリ６２２には先に上記キャプチャカード６３２により現実空間の画像が取り込まれているので、グラフィックカード６３０がメモリ６２２上に仮想空間の画像を描画することで、メモリ６２２上には、ビデオカメラ１６０の位置姿勢に応じて見える複合現実空間の画像（現実空間画像と仮想空間画像との重畳画像）が描画されていることになる。
【００７８】
またグラフィックカード６３０は、メモリ６２２上に描画された複合現実空間画像をＣＰＵ６２１の制御により、モニタ１５０に出力する。モニタ１５０はこの複合現実空間画像を表示する。
【００７９】
なお、モニタ１５０に表示するものは複合現実空間画像に限定されるものではなく、他にも例えば、ＰＣ１１２を操作する際に必要な情報（システムメッセージやシステムの設定画面など）を表示させてもよい。
【００８０】
ＨＤＤ６２３には、ＰＣ１１２全体の制御を行うためのプログラムやデータ、ＰＣ１１０、１１１が保持するのと同じ複合現実空間画像生成プログラム、後述する複合現実空間管理プログラム、複合現実空間管理プログラムからの通知情報に応じて、メモリ６２２に記憶されている複合現実空間画像をプリンタ１７０に出力する為の一連の処理を行うプリントプログラム、仮想空間における各仮想物体の位置、形状、色など、仮想空間画像を生成するために必要なデータ群（前述の複合現実空間画像生成可能領域２１０の位置、サイズを示すデータを含む）、上記定数群のデータ、時間の経過と共に変化する仮想空間の状態を示す状態情報、座標系２００において予め測定されたビデオカメラ１６０の位置姿勢を示すデータ、などを保存しており、これらのプログラムやデータは必要に応じてＣＰＵ６２１によりメモリ６２２にロードされる。
【００８１】
また、ＨＤＤ６２３には、複合現実空間における特別事象を示すデータも保存されている。即ち詳しくは後述するが、複合現実空間の状態は上記状態情報に従って更新されるのであるが、複合現実空間の状態が特定の状態になった場合には、その旨を上記プリントプログラムに通知する必要があるので、この「特定の状態」を「特別事象」としてデータでもってＨＤＤ６２３に保存しておく。当然、このデータも必要に応じてＣＰＵ６２１によりメモリ６２２にロードされる。
【００８２】
ＣＰＵ６２１はメモリ６２２にロードされたプログラムを実行したり、メモリ６２２にロードされたデータを参照することで、ＰＣ１１２の各部の制御を行い、上記複合現実空間画像を生成したり、観察者１００、１０１の視点位置姿勢を求めてＰＣ１１０、１１１に出力したり、上記プリントに係る一連の処理を制御したり、ＰＣ１１２全体の制御を行ったりすることができる。
【００８３】
メモリ６２２は読み書き可能なメモリであって、ＣＰＵ６２１の実行対象であるＨＤＤ６２３からロードされたプログラムやその際に使用するデータを一時的に記憶するエリアを備えると共に、ＣＰＵ６２１が各処理を行う際に用いるワークエリアも備える。もちろん上述の通り、仮想空間画像、及び現実空間画像を描画する為のエリアも備える。
【００８４】
キーボード６２４、マウス６２５はＣＰＵ６２１に対して各指示を入力するためのポインティングデバイスとして用いられ、例えば仮想物体の配置位置や仮想空間の状態設定などを入力するために用いられる。
【００８５】
ネットワークインターフェース６２７は、ＰＣ１１２を上記ネットワーク１８０に接続するためのインターフェースとして機能するものであり、ネットワークインターフェース６２７を介してネットワーク１８０に接続された他の機器とのデータ通信を行うことができる。
【００８６】
シリアルインタフェース６２６は、各位置姿勢センサ系における位置姿勢センサ本体３００、３０１とＰＣ１１２とを接続するためのインタフェースとして機能し、位置姿勢センサ本体３００、３０１から入力された位置姿勢センサ受信機３２０、３２１のセンサ座標系における位置姿勢のデータを後段のメモリ６２２に転送する。なお、メモリ６２２に転送した位置姿勢センサ受信機３２０、３２１のセンサ座標系における位置姿勢のデータ、及びＨＤＤ６２３に保持する上記定数群のデータとを用いてＣＰＵ６２１が観察者１００、１０１の座標系２００における視点位置姿勢を求める処理については上述の通りである。
【００８７】
そしてＣＰＵ６２１は求めた観察者１００、１０１の視点位置姿勢のデータをネットワークインターフェース６２７を介して夫々ＰＣ１１０、ＰＣ１１１に送信する。このようにすることで、ＰＣ１１０、１１１側では夫々、観察者１００，１０１の視点位置姿勢に基づいた複合現実空間画像を生成するために必要な観察者１００，１０１の視点位置姿勢を得ることができる。
【００８８】
またシリアルインタフェース６２６は、プリンタ１７０とＰＣ１１２とを接続するためのインタフェースとしても機能するものであって、ＰＣ１１２で生成されたプリントデータをプリンタ１７０に出力する。
【００８９】
プリンタ１７０は、その記録方式は特に限定するものではなく、ＰＣ１１２から送られたプリントデータに従った像を紙やＯＨＰ等の記録媒体上に画像として記録することができればよい。
【００９０】
次に、複合現実空間管理プログラムについて説明する。この複合現実空間管理プログラムは上記複合現実空間画像生成プログラムと並列してＣＰＵ６２１により実行されるものであって、それにより以下説明する処理をＣＰＵ６２１に実現させるものである。
【００９１】
複合現実空間管理プログラムはＣＰＵ６２１により実行されることで、次の仮想空間の状態を示す情報（状態情報）をＰＣ１１０、１１１の複合現実空間画像生成プログラム、自身の（ＰＣ１１２が保持する）複合現実空間画像生成プログラムに通知する。
【００９２】
また、複合現実空間管理プログラムはＣＰＵ６２１により実行されることで、各観察者に対して設けられた位置姿勢センサ系（図１では、観察者１００に対して設けられた位置姿勢センサ系３００，３１０，３２０、観察者１０１に対して設けられた位置姿勢センサ系３０１，３１１，３２１）から得られるセンサ座標系における位置姿勢センサ受信機３２０、３２１の位置姿勢のデータ、及び上記定数群のデータを用いて、座標系２００における観察者１００、１０１の視点位置姿勢を求め、夫々の観察者１００，１０１のＰＣ１１０、１１１に送信する処理を実現する。
【００９３】
ＣＰＵ６２１がこの複合現実空間管理プログラムを実行することで得られる観察者１００，１０１夫々の視点位置姿勢のデータは、ネットワーク１８０を介して各ＰＣ１１０，１１１に送信される。より具体的には、各ＰＣ１１０，１１１で動作している複合現実空間画像生成プログラムに通知される。
【００９４】
これにより、ＰＣ１１０、１１１上で実行されている複合現実空間画像生成プログラムには状態情報、観察者１００の視点位置姿勢を示すデータが通知されるので、ＰＣ１１０、１１１は自身が保持する複合現実空間画像生成プログラムを実行することで、現在の仮想空間の状態を通知された状態情報に従って更新し、更に、更新した仮想空間において、通知された視点位置姿勢（観察者１００，１０１の視点位置姿勢）に応じて見える仮想空間の画像を生成することができる。
【００９５】
また、ＰＣ１１２についても、現在の仮想空間の状態を通知された状態情報に従って更新し、更に、更新した仮想空間において、通知された視点位置姿勢（ビデオカメラ１６０の位置姿勢）に応じて見える仮想空間の画像を生成することができる。
【００９６】
ここで、観察者１００，１０１が複合現実空間を体感している最中には上述の通り、上記複合現実空間画像生成プログラムを実行することにより複合現実空間中の仮想空間の状態が状態情報に従って、例えば或時刻になると特定の仮想物体が登場したり、或時刻になると、仮想物体が特定のポーズを決めたり、というように、経過する時間に従って更新されていく。
【００９７】
ＰＣ１１２が保持する複合現実空間管理プログラムは、上記特別事象のデータを参照して、複合現実空間画像生成プログラムが上記状態情報に従って更新した結果が、この特別事象であるか、即ち、特別事象が発生したか否かを判断する。例えば、この特別事象のデータに、「仮想物体Ａが位置ＢでポーズＣを取る」という旨の情報が含まれている場合、複合現実空間画像生成プログラムを実行して仮想空間を更新していく中で、仮想物体Ａが位置ＢでポーズＣを取った場合には、複合現実空間管理プログラムはこれを検出する。この検知方法は例えば、仮想物体Ａのモーションを複数フレームで表現する場合に、現在、この複数フレーム中でポーズＣに相当するフレームが再生されているか否かを検知すればよい。このように、仮想物体の位置などの状態、仮想空間の色など、仮想空間の状態を検知する。
【００９８】
このようにして、複合現実空間管理プログラムは、仮想空間における特別事象を検出することができる。そして検出した場合には、その旨をプリントプログラムに通知する。
【００９９】
プリントプログラムは、この通知を受けると、この時点でメモリ６２２に保持されている複合現実空間の画像を取得し、これをプリンタ１７０に対応したプリントデータに変換してプリンタ１７０に出力する。従ってプリントプログラムにはプリンタ１７０に対応したプリンタドライバのプログラムも含まれていることになる。
【０１００】
ここで、複合現実空間管理プログラムが特別事象を検知したことをプリントプログラムに通知してから、プリントプログラムがメモリ６２２に保持されている複合現実空間画像を取得するまでには若干の時間を要するため、厳密には、複合現実空間管理プログラムが特別事象を検知した対象の複合現実空間の画像と、プリントプログラムがメモリ６２２から取得する複合現実空間画像とは数フレームずれている可能性がある。そこでこのような問題が生じ得る場合には、複合現実空間管理プログラムは特別事象の検出と共に、この時点でメモリ６２２に保持されている複合現実空間画像をプリントプログラムに渡すようにすれば良く、このようにすればこの問題は解決できる。
【０１０１】
以上の処理を行うことにより、ＰＣ１１２は次の複合現実空間の状態を示す状態情報と共に、観察者１００，１０１の視点位置姿勢を計算してＰＣ１１０、１１１に送信することができ、更に、複合現実空間において生じた特別事象を検出した場合には、この時点での複合現実空間の画像をプリントアウトすることができる。
【０１０２】
図７は、ＰＣ１１２が複合現実空間管理プログラムを実行することによって行われる処理のフローチャートである。より具体的にはＣＰＵ６２１がメモリ６２２にロードされた複合現実空間管理プログラムを実行することにより行われる処理のフローチャートである。
【０１０３】
先ず、先に説明した処理により、座標系２００における観察者１００（１０１）の視点位置姿勢を求める（ステップＳ１４０２）。そして次にＨＤＤ６２３からメモリ６２２にロードされた状態情報のうち、次の仮想空間の状態を表す状態情報をＰＣ１１０（１１１）の複合現実空間画像生成プログラムに通知（送信）する（ステップＳ１４０４）。
【０１０４】
次に、ステップＳ１４０２で求めた観察者１００（１０１）の視点位置姿勢のデータをＰＣ１１０（１１１）の複合現実空間画像生成プログラムに通知（送信）する（ステップＳ１４０６）。次に、ＨＤＤ６２３からメモリ６２２にロードされた状態情報のうち、次の仮想空間の状態を表す状態情報を自身（ＰＣ１１２）の複合現実空間画像生成プログラムに通知（送信）する（ステップＳ１４０８）。
【０１０５】
尚、ステップＳ１４０４，Ｓ１４０６の各ステップにおけるデータの送信は、ネットワーク１８０を介して行われる。
【０１０６】
図８は、ＰＣ１１０（１１１）が複合現実空間画像生成プログラムを実行することによって実行される処理のフローチャートである。より具体的にはＣＰＵ１２１がメモリ１２２にロードされた複合現実空間画像生成プログラムを実行することにより行われる処理のフローチャートである。
【０１０７】
まず、上記ステップＳ１４０４でＰＣ１１２の複合現実空間管理プログラムから通知された状態情報を仮想空間状態、ステップＳ１４０６でＰＣ１１２の複合現実空間管理プログラムから通知された観察者１００（１０１）の視点位置姿勢を示すデータを現実空間状態として受信する（ステップＳ１５０２，Ｓ１５０３）。受信したデータはメモリ１２２に保持される。
【０１０８】
そして左目用グラフィックカード１３０Ｌ、右目用グラフィックカード１３０Ｒは、ＣＰＵ１２１の制御により、ステップＳ１５０２で受信した状態情報に従って、例えば仮想空間において新たな仮想物体を登場させたり、仮想物体の位置やサイズ、モーションを変更したりして、仮想空間の状態を更新し、更に、ＨＤＤ１２３からメモリ１２２にロードされた仮想空間のデータと、ステップＳ１５０３で受信した観察者１００（１０１）の視点位置姿勢を示すデータとを用いて、更新した仮想空間において、観察者１００（１０１）の視点位置姿勢に応じて見える仮想空間の画像を生成する（ステップＳ１５０４）。
【０１０９】
次に、左目用ＣＣＤ４１６Ｌ、右目用ＣＣＤ４１６Ｒが常時撮影している左目用／右目用の現実空間の画像を、ＰＣ１１０（１１１）内で常時動作している画像キャプチャスレッド（ステップＳ１５３０）が受け、これをメモリ１２２に取得する（ステップＳ１５０６）。
【０１１０】
ここで本プログラムは並列プログラミング技術の一つであるスレッドを応用して実装され、常に最新の現実空間画像を取得するようになっている。そして左目用グラフィックカード１３０Ｌ、右目用グラフィックカード１３０Ｒは、取得された左目用／右目用の現実空間画像を夫々、メモリ１２２上に描画された左目用／右目用の仮想空間画像に重畳することによりメモリ１２２上に複合現実空間画像を生成した後、これをＨＭＤ４００、及びモニタ１４０（１４１）に出力する（ステップＳ１５０８）。
【０１１１】
図９は、ＰＣ１１２が複合現実空間画像生成プログラムを実行することによって行われる処理のフローチャートである。より具体的にはＣＰＵ６２１がメモリ６２２にロードされた複合現実空間画像生成プログラムを実行することにより行われる処理のフローチャートである。
【０１１２】
まず、上記ステップＳ１４０４でＰＣ１１２の複合現実空間管理プログラムから通知された状態情報を仮想空間状態として受信する（ステップＳ１９０２）。
受信した状態情報はメモリ１２２に保持される。
【０１１３】
そしてグラフィックカードは、ＣＰＵ１２１の制御により、ステップＳ１９０２で受信した状態情報に従って、例えば仮想空間において新たな仮想物体を登場させたり、仮想物体の位置やサイズ、モーションを変更したりして、仮想空間の状態を更新し、更に、ＨＤＤ６２３からメモリ６２２にロードされた仮想空間のデータと、ＨＤＤ６２３からメモリ６２２にロードされたビデオカメラ１６０の上記座標系２００における位置姿勢のデータとを用いて、更新した仮想空間において、ビデオカメラ１６０の視点位置姿勢に応じて見える仮想空間の画像を生成する（ステップＳ１９０４）。
【０１１４】
次に、ビデオカメラ１６０が常時撮影している現実空間の画像を、ＰＣ１１２内で常時動作している画像キャプチャスレッド（ステップＳ１９３０）が受け、これをメモリ６２２に取得する（ステップＳ１９０６）。この画像キャプチャスレッドはステップＳ１５３０におけるものと基本的には同じ動作を行うものである。
【０１１５】
そしてグラフィックカード６３０は、取得された現実空間画像をメモリ６２２上に描画された仮想空間画像に重畳することにより、メモリ６２２上に複合現実空間画像を生成した後、これをモニタ１５０に出力する（ステップＳ１９０８）。
【０１１６】
次に、ＨＤＤ６２３からメモリ６２２にロードされた特別事象のデータを参照して、ステップＳ１９０２で受信した状態情報に従って更新した結果が特別事象であるか、即ち、特別事象が発生したか否かを逐次判断する（ステップＳ１９１０）。特別事象が発生したことを検出した場合、処理をステップＳ１９１２に進め、この時点でメモリ６２２に保持されている複合現実空間の画像を取得し、これをプリンタ１７０によってプリントするよう、画像出力スレッド（ステップＳ１９４０）に指示する（ステップＳ１９１４）。より具体的には、画像出力スレッドに、メモリ６２２におけるプリント対象の複合現実空間画像の記憶アドレスを指示する。ここでいう画像出力スレッドとは、上記プリントプログラムに相当するものである。従って画像出力スレッドは、メモリ６２２におけるこのアドレスに記憶されたデータ、即ち複合現実空間画像のデータをプリンタ１７０に対応したプリントデータに変換し、紙やＯＨＰなどの記録媒体上にプリントする。
【０１１７】
以上の説明により、本実施形態に係るシステムによって、仮想空間において特別事象が生じた場合にはこの複合現実空間の画像をプリントアウトするので、例えば観察者が複合現実空間における特定のイベントと共に撮影されたい場合であっても、この観察者は撮影作業を行うことなくその目的を実施できる。
【０１１８】
なお、本実施形態では観察者１００，１０１の視点位置姿勢の算出はＰＣ１１２によって行ったが、ＰＣ１１０，１１１夫々が行うようにしても良い。その場合、本体３００をＰＣ１１０に、本体３０１をＰＣ１１１に接続し、夫々のＰＣ１１０，１１１に、位置姿勢センサ受信機のセンサ座標系における位置姿勢から、座標系２００における観察者の視点の位置姿勢を求める処理をＣＰＵに行わせるためのプログラムやデータをＰＣ１１０，１１１にインストールする必要がある。
【０１１９】
また、本実施形態では仮想空間に特別事象が生じた場合には、複合現実空間の画像をプリントアウトするようにしていたが、これに限定されるものではなく、複合現実空間の画像を電子データとして記憶媒体に記録するようにしても良いし、特別事象が生じた都度、複合現実空間の画像を電子データとしてＰＣ１１２のＨＤＤ６２３に記録するようにしても良い。即ち、仮想空間に特別事象が生じた場合に行う複合現実空間の画像の出力形態はこれに限定されるものではなく、様々な形態がある。
【０１２０】
［第２の実施形態］
第１の実施形態において、「特別事象」とは仮想空間において生じ得る事象であったが、本実施形態ではこの「特別事象」を、「現実空間物体同士の位置関係に起因する事象」とする。具体的には現実物体である観察者が、同じく現実物体である撮像装置のほうに視線を向けることを特別事象とする。この検出のためには客観画像処理システムにおけるＰＣ１１２で動作する複合現実空間画像生成プログラムの特別事象検出ステップ（図９のフローチャートにおけるステップＳ１９１０）において、図１０のフローチャートに従った処理を行うことで実現できる。
【０１２１】
図１０は、本実施形態に係るステップＳ１９１０の処理の詳細を示すフローチャートである。
【０１２２】
まず、上記ステップＳ１４０６でＰＣ１１２の複合現実空間管理プログラムから通知された観察者１００（１０１）の視点位置姿勢を示すデータを用いて、観察者１００（１０１）の視点位置を通り、視点の姿勢を方向ベクトルとする直線を求める（ステップＳ２００２）。この直線は、座標系２００における観察者観察者１００（１０１）の視線を示す直線を表すものである。
【０１２３】
次に、ビデオカメラ１６０の位置を中心とした座標系２００における近傍領域を計算する（ステップ２００４）。これは例えば近傍領域の形状を球とする場合、ビデオカメラ１６０の位置を中心とした座標系２００における球を求める処理である。なお、この近傍領域については、予め求めておき、そのデータをＰＣ１１２のＨＤＤ６２３に記憶させておいても良く、その場合、ステップＳ２００４ではこのデータをＨＤＤ６２３からメモリ６２２に読み出す処理を行う。
【０１２４】
次に、この近傍領域をステップＳ２００２で求めた直線が通過しているか否か（交差判定）を行う（ステップＳ２００６）。この「通過している」という表現には、近傍領域と直線とが１点で接している状態をも含むものとする。
【０１２５】
そして最後に、ステップＳ２００６での判定が「通過している」という結果であった場合には、「特別事象を検出した」とする。そして図９に戻り、特別事象を検出したので、第１の実施形態で説明したように、ＰＣ１１２はプリンタ１７０により複合現実空間画像をプリントアウトする為の処理を行う。
【０１２６】
ステップＳ２００６での判定が「通過している」という結果であった場合は換言すると、「観察者がビデオカメラ１６０に視線を向けた」ということになるので、上記処理は換言すれば、「観察者がビデオカメラ１６０に視線を向けた場合には、複合現実空間の画像をプリントアウトとする」という処理になる。
【０１２７】
第１の実施形態の場合、第１の実施形態に係る特別事象が生じた場合に、観察者がビデオカメラ１６０の方を向いていなくて、プリントアウトされる画像中に顔が写っていない（後頭部が写っている）場合が生じうる。しかし、本実施形態によれば、複合現実空間の画像がプリントアウトされる場合には観察者がビデオカメラ１６０の方を向いているので、プリントアウトされる画像中には観察者の顔が写っており、プリントアウトされた画像は観察者にとってはより好適なものとなる。
【０１２８】
図１１は観察者が撮像装置に視線を向けたものと判定される場合の様子を示す図である。図１と同じ部分については同じ番号を付けている。ここで５００は撮像装置の近傍領域、５１０は観察者の視線である。
【０１２９】
同図では近傍領域はビデオカメラ１６０の位置を中心とした球でもって表現されており、球の半径は予め決められてＨＤＤ６２３に保存されているものとする（図１０に示すフローチャートに従った処理を行う場合には当然メモリ６２２に読み出されている）。
【０１３０】
なお、この特別事象には第１，２の実施形態で説明したもの以外にも様々な事象を適用することができ、例えば、仮想空間の特定の時間（シナリオにおいて珍しい仮想空間物体が表示されるタイミングなど）、仮想空間における不特定時間に発生する事象、仮想空間物体同士の位置関係（独立して運動する仮想空間物体同士の衝突など）、現実空間物体と仮想空間物体の位置関係（ビデオカメラ１６０の撮像範囲内に観察者と特定の仮想物体が入っているか、またこのときビデオカメラ１６０から見て現実物体が仮想物体に覆い隠されないていないなど）などが挙げられる。またこれらの任意の組み合わせでもよいことは言うまでもない。
【０１３１】
また第１，２の実施形態では状態情報は予め作成されており、ＨＤＤに保存されているものとしたが、これに限定されるものではなく、キーボードやマウスを用いて自在に設定しても良い。
【０１３２】
［他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には先に説明した（図７及び／又は図８及び／又は図９及び／又は図１０に示す）フローチャートに対応するプログラムコードが格納されることになる。
【０１３５】
【発明の効果】
以上の説明により、本発明によって、所望のタイミングにおける複合現実空間の画像を、熟練した撮影者なしに、この複合現実空間の体験者が得ることができる。
【図面の簡単な説明】
【図１】複数の観察者と、夫々の観察者に対して自身の視点に基づいた複合現実空間画像を提供する本発明の第１の実施形態に係るシステムの外観を示す図である。
【図２】ＨＭＤ４００の基本構成を示す図である。
【図３】ＨＭＤ４００の外観を示す図である。
【図４】ＨＭＤ４００の外観を示す図である。
【図５】観察者１００に対して設けられた、観察者一人分の複合現実空間画像を生成し、提供する観察者画像処理装置システムの基本構成を示すブロック図である。
【図６】客観画像処理装置システムの基本構成を示すブロック図である。
【図７】ＰＣ１１２が複合現実空間管理プログラムを実行することによって行われる処理のフローチャートである。
【図８】ＰＣ１１０（１１１）が複合現実空間画像生成プログラムを実行することによって実行される処理のフローチャートである。
【図９】ＰＣ１１２が複合現実空間画像生成プログラムを実行することによって行われる処理のフローチャートである。
【図１０】本発明の第２の実施形態に係るステップＳ１９１０の処理の詳細を示すフローチャートである。
【図１１】観察者が撮像装置に視線を向けたものと判定される場合の様子を示す図である。
【図１】
2005050043.tif 000003
【図２】
2005050043.tif 000004
【図３】
2005050043.tif 000005
【図４】
2005050043.tif 000006
【図５】
2005050043.tif 000007
【図６】
2005050043.tif 000008
【図７】
2005050043.tif 000009
【図８】
2005050043.tif 000010
【図９】
2005050043.tif 000011
【図１０】
2005050043.tif 000012
【図１１】
2005050043.tif 000013