(57)【要約】【課題】  仮想物体同士の干渉状態のチェックを好適なタイミングで行うことで、仮想物体の操作性を向上させること。【解決手段】  指示具の移動速度を求め（Ｓ４０４）、求めた移動速度に基づいて、操作対象仮想物体と固定配置仮想物体との干渉状態をチェックするか否かを決定し（Ｓ４０５）、操作対象仮想物体と固定配置仮想物体との干渉状態をチェックした結果、干渉している場合（Ｓ４０８）には、その旨を報知する（Ｓ４０９）。【選択図】  図４
2006318094.tif 000002
【特許請求の範囲】
【請求項１】
観察者の視点の位置姿勢を取得する第１の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得工程と、
仮想空間中に前記第２の取得工程で取得した位置姿勢でもって第１の仮想物体を配置する配置工程と、
前記第１の仮想物体を含む仮想空間を前記第１の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記指示具の移動速度を求める計算工程と、
前記指示具の移動速度に基づいて、前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする情報処理方法。
【請求項２】
前記計算工程では、時刻ｔにおいて前記第２の取得工程で取得した位置と時刻（ｔ−１）において前記第２の取得工程で取得した位置との差分ベクトルを求め、求めた当該差分ベクトルの大きさを前記指示具の時刻ｔにおける移動速度として求めることを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記決定工程では、前記指示具の移動速度が所定値以下である場合には、前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックを行うと決定することを特徴とする請求項１に記載の情報処理方法。
【請求項４】
前記決定工程では、前記指示具の移動速度が所定値以上である場合には、前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックを行わないと決定することを特徴とする請求項１に記載の情報処理方法。
【請求項５】
観察者の視点の位置姿勢を取得する第１の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得工程と、
仮想空間中に前記第２の取得工程で取得した位置姿勢でもって第１の仮想物体を配置する配置工程と、
前記第１の仮想物体を含む仮想空間を前記第１の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記指示具の移動方向、及び前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との位置関係に基づいて、前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする情報処理方法。
【請求項６】
前記決定工程では、前記第１の仮想物体と前記第２の仮想物体とが所定の位置関係となっている場合には、前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックを行うと決定することを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記決定工程では、前記第１の仮想物体と前記第２の仮想物体とが所定の位置関係となっていない場合には、前記指示具の位置から前記第２の仮想物体の位置に向かうベクトルと、前記指示具の移動方向ベクトルとの内積値を計算し、計算した内積値が負である場合には、前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックを行うと決定することを特徴とする請求項５に記載の情報処理方法。
【請求項８】
前記決定工程では、前記第１の仮想物体と前記第２の仮想物体とが所定の位置関係となっていない場合には、前記指示具の位置から前記第２の仮想物体の位置に向かうベクトルと、前記指示具の移動方向ベクトルとの内積値を計算し、計算した内積値が正である場合には、前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックは行わないと決定することを特徴とする請求項５に記載の情報処理方法。
【請求項９】
観察者の視点の位置姿勢を取得する第１の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得工程と、
仮想空間中に前記第２の取得工程で取得した位置姿勢でもって第１の仮想物体を配置する配置工程と、
前記第１の仮想物体を含む仮想空間を前記第１の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックする処理の負荷を推定する推定工程と、
前記推定工程で推定された負荷に応じて、前記チェックを行うか否かを決定する決定工程と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする情報処理方法。
【請求項１０】
前記決定工程では、前記推定工程で推定された負荷が所定値以上である場合には、前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックは行わないと決定することを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
前記決定工程では、前記推定工程で推定された負荷が所定値以下である場合には、前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックを行うと決定することを特徴とする請求項９に記載の情報処理方法。
【請求項１２】
更に、
前記視点から見える現実空間の画像を取得する第３の取得工程と、
前記生成工程で生成した画像を、前記第３の取得工程で取得した画像上に重畳させてから外部に出力する出力工程と
を備えることを特徴とする請求項１乃至１１の何れか１項に記載の情報処理方法。
【請求項１３】
観察者の視点の位置姿勢を取得する第１の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得手段と、
仮想空間中に前記第２の取得手段によって取得した位置姿勢でもって第１の仮想物体を配置する配置手段と、
前記第１の仮想物体を含む仮想空間を前記第１の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記指示具の移動速度を求める計算手段と、
前記指示具の移動速度に基づいて、前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックするか否かを決定する決定手段と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする情報処理装置。
【請求項１４】
観察者の視点の位置姿勢を取得する第１の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得手段と、
仮想空間中に前記第２の取得手段によって取得した位置姿勢でもって第１の仮想物体を配置する配置手段と、
前記第１の仮想物体を含む仮想空間を前記第１の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記指示具の移動方向、及び前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との位置関係に基づいて、前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックするか否かを決定する決定手段と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする情報処理装置。
【請求項１５】
観察者の視点の位置姿勢を取得する第１の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得手段と、
仮想空間中に前記第２の取得手段によって取得した位置姿勢でもって第１の仮想物体を配置する配置手段と、
前記第１の仮想物体を含む仮想空間を前記第１の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックする処理の負荷を推定する推定手段と、
前記推定手段によって推定された負荷に応じて、前記チェックを行うか否かを決定する決定手段と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする情報処理装置。
【請求項１６】
コンピュータに請求項１乃至１２の何れか１項に記載の情報処理方法を実行させることを特徴とするプログラム。
【請求項１７】
請求項１６に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【請求項１８】
前記観察者が操作する指示具の位置を取得する取得工程と、
前記指示具の位置に応じて第１の仮想物体を配置する配置工程と、
前記第１の仮想物体と、前記第１の仮想物体とは異なる第２の仮想物体との干渉状態を判定し、該判定結果に応じた報知を行う報知工程とを有する情報処理方法であって、
前記指示具の移動速度に応じて、前記報知工程を制御することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間の画像を生成する為の技術に関するものである。
【背景技術】
【０００２】
複合現実感システムとは、現実空間映像と、ユーザの視点位置、視線方向等に応じて生成される仮想空間映像とを合成することにより得られる合成映像をユーザに提供するものである。複合現実感システムでは、現実空間中に仮想物体が実在しているかのような感覚を観察者に提示することが可能であり、従来の仮想現実感システム（VRシステム）に比べてよりリアルに、実寸感覚を伴った観察が可能となる。
【０００３】
複合現実空間内のＣＧ物体を操作するには、現実空間内での位置及び姿勢の６自由度を計測あるいは推定するシステム（ここでは６自由度センサと呼ぶ）を用いて、この６自由度センサの位置及び姿勢をＣＧ物体の物体座標系に対応付ける方法がある。例えばＰｏｌｈｅｍｕｓ社のＦａｓｔｒａｋシステムを用いると、数センチ角ほどの大きさのレシーバの位置及び姿勢の６自由度が計測できる。この計測値をＣＧ物体の物体座標系に対応付けることにより、レシーバーを移動・回転するとそれに追従してＣＧ物体が移動・回転することになる。
【０００４】
このレシーバを物体操作デバイスとして用いることにより、物体操作デバイスによるＣＧ物体に対する操作が可能になる。
【０００５】
ところで、複合現実感システムとは現実空間内にあたかもＣＧ物体が実在しているかのように見せる技術である。そこでたとえば、ふたのない大きな箱の中に小箱を配置する作業を考えると、物体操作デバイスに関連付けられた小箱のＣＧ物体（以降ＣＧ物体１と呼ぶ）と、物体操作デバイスと関連付けられていない大きな箱のＣＧ物体（以降ＣＧ物体２と呼ぶ）との物理干渉を実時間で計測し、干渉が起きた場合には、その部分を点滅表示させる、音を出す、干渉が起きない方向へ物体操作デバイスを移動させるような力覚提示を行う、といった方法を用いることで可能になる。
【特許文献１】特開２００５−３８００８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この場合ユーザの関心があるのは、ＣＧ物体２の内側とＣＧ物体１との間の干渉である。従来の手法では不要の干渉を避けるためにはＣＧ物体１をＣＧ物体２の上側から近づける必要があった。
【０００７】
ＣＧ物体１もＣＧ物体２もＣＧであり、現実物体ではないので、現実空間内では物理干渉は起きていない。そこで望むべくはＣＧ物体１をＣＧ物体２の壁をぶち抜く形でＣＧ物体２の内部に移動させ、その上でＣＧ物体１とＣＧ物体２との間の干渉をチェックするようにしたい。そうすれば、ＣＧ物体１をＣＧ物体２の上側から近づけるといった不要な動作をユーザに強いることはなくなる。
【０００８】
また、ＣＧ物体同士の干渉チェックを行う処理は、比較的複雑な処理が必要であり、場合によっては干渉チェックを行うがために、映像観察装置を通してユーザに提示する映像の表示速度が低下してしまうことがある。この結果、ＣＧ物体１をＣＧ物体２内に配置するという作業そのものが困難になってしまう。
【０００９】
本発明は以上の問題に鑑みてなされたものであり、仮想物体同士の干渉状態のチェックを好適なタイミングで行うことで、仮想物体の操作性を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００１１】
即ち、観察者の視点の位置姿勢を取得する第１の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得工程と、
仮想空間中に前記第２の取得工程で取得した位置姿勢でもって第１の仮想物体を配置する配置工程と、
前記第１の仮想物体を含む仮想空間を前記第１の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記指示具の移動速度を求める計算工程と、
前記指示具の移動速度に基づいて、前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする。
【００１２】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００１３】
即ち、観察者の視点の位置姿勢を取得する第１の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得工程と、
仮想空間中に前記第２の取得工程で取得した位置姿勢でもって第１の仮想物体を配置する配置工程と、
前記第１の仮想物体を含む仮想空間を前記第１の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記指示具の移動方向、及び前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との位置関係に基づいて、前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする。
【００１４】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００１５】
即ち、観察者の視点の位置姿勢を取得する第１の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得工程と、
仮想空間中に前記第２の取得工程で取得した位置姿勢でもって第１の仮想物体を配置する配置工程と、
前記第１の仮想物体を含む仮想空間を前記第１の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックする処理の負荷を推定する推定工程と、
前記推定工程で推定された負荷に応じて、前記チェックを行うか否かを決定する決定工程と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする。
【００１６】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【００１７】
即ち、観察者の視点の位置姿勢を取得する第１の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得手段と、
仮想空間中に前記第２の取得手段によって取得した位置姿勢でもって第１の仮想物体を配置する配置手段と、
前記第１の仮想物体を含む仮想空間を前記第１の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記指示具の移動速度を求める計算手段と、
前記指示具の移動速度に基づいて、前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックするか否かを決定する決定手段と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする。
【００１８】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【００１９】
即ち、観察者の視点の位置姿勢を取得する第１の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得手段と、
仮想空間中に前記第２の取得手段によって取得した位置姿勢でもって第１の仮想物体を配置する配置手段と、
前記第１の仮想物体を含む仮想空間を前記第１の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記指示具の移動方向、及び前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との位置関係に基づいて、前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックするか否かを決定する決定手段と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする。
【００２０】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【００２１】
即ち、観察者の視点の位置姿勢を取得する第１の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第２の取得手段と、
仮想空間中に前記第２の取得手段によって取得した位置姿勢でもって第１の仮想物体を配置する配置手段と、
前記第１の仮想物体を含む仮想空間を前記第１の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記第１の仮想物体と前記仮想空間中に配置されている第２の仮想物体との干渉状態をチェックする処理の負荷を推定する推定手段と、
前記推定手段によって推定された負荷に応じて、前記チェックを行うか否かを決定する決定手段と、
前記第１の仮想物体と前記第２の仮想物体との干渉状態をチェックした結果、前記第１の仮想物体と前記第２の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする。
【００２２】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００２３】
即ち、前記観察者が操作する指示具の位置を取得する取得工程と、
前記指示具の位置に応じて第１の仮想物体を配置する配置工程と、
前記第１の仮想物体と、前記第１の仮想物体とは異なる第２の仮想物体との干渉状態を判定し、該判定結果に応じた報知を行う報知工程とを有する情報処理方法であって、
前記指示具の移動速度に応じて、前記報知工程を制御することを特徴とする。
【発明の効果】
【００２４】
本発明の構成により、仮想物体同士の干渉状態のチェックを好適なタイミングで行うことで、仮想物体の操作性を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２６】
［第１の実施形態］
図１は、現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供するためのシステムの外観を示す図である。
【００２７】
同図において２００はトランスミッタで、磁場を発生させる。１００は観察者の頭部に装着し、現実空間と仮想空間とを合成した空間（複合現実空間）の画像を観察者の眼前に提供する為の頭部装着型表示装置（以下、ＨＭＤ：Head Mounted Displayと呼称する）で、カメラ１０２ａ、１０２ｂ、表示装置１０１ａ、１０１ｂ、磁気レシーバ２０１により構成されている。
【００２８】
カメラ１０２ａ、１０２ｂはそれぞれＨＭＤ１００を頭部に装着した観察者の右目、左目から見える現実空間の動画像を撮像するものであり、撮像した各フレームの画像は後段のコンピュータ４００に出力される。
【００２９】
表示装置１０１ａ、１０１ｂはそれぞれ、観察者がＨＭＤ１００を頭部に装着したときに右目、左目の眼前に位置するようにＨＭＤ１００に装着されたものであり、後段のコンピュータ４００から出力された画像信号に基づいた画像を表示する。従って観察者の右目、左目の眼前にはコンピュータ４００が生成した画像が提供されることになる。
【００３０】
磁気レシーバ２０１は、上記トランスミッタ２００が発する磁場の変化を検知し、検知した結果の信号を後段の位置姿勢計測装置２０５に出力するものである。検知した結果の信号は、トランスミッタ２００の位置を原点とし、この原点の位置で互いに直交する３軸をそれぞれｘ、ｙ、ｚ軸とする座標系（以下、センサ座標系と呼称する）において、磁気レシーバ２０１の位置姿勢に応じて検知される磁場の変化を示す信号である。
【００３１】
位置姿勢計測装置２０５は、この信号に基づいて、センサ座標系における磁気レシーバ２０１の位置姿勢を求め、求めた位置姿勢を示すデータは後段のコンピュータ４００に出力される。
【００３２】
図２は、ＨＭＤ１００の具体的な構成を示す図である。
【００３３】
１０１は映像表示装置で、０．５〜数インチ程度の小型の液晶表示デバイス等で構成されるものである。１０３は、映像表示装置１０１の映像を拡大するレンズの役目を果たす自由曲面プリズムである。このような構成により、映像表示装置１０１に表示された映像は、観察者にとってはたとえば２ｍ先に９０インチ相当の映像として提示される。
【００３４】
１０２は映像入力装置であり、ＣＣＤカメラ、ＣＭＯＳカメラなどの撮像デバイスで構成されるものである。１０４は現実空間の光を映像入力装置１０２に収束させるためのレンズの役目をはたす撮像系プリズムである。撮像系プリズム１０４は自由曲面プリズム１０３の外側に、光軸を一致させるように配置することで、映像入力装置１０２で入力した映像と、映像表示装置１０１に表示した映像の視差をなくし、現実空間の映像を違和感なく再現することが可能である。
【００３５】
図１に戻って、３００は観察者の手に保持される指示具であり、磁気レシーバそのもの、若しくは磁気レシーバが組み込まれたものである。以下では説明を簡単にするために、指示具３００は磁気レシーバそのものであるとするが、指示具３００内に磁気レシーバが組み込まれている場合であっても以下の説明の本質は変わらない。
【００３６】
指示具３００（磁気レシーバ）は磁気レシーバ２０１と同様に、センサ座標系における自身の位置姿勢に応じた磁場の変化を検知し、検知結果を示す信号（換言すれば、センサ座標系における指示具３００自身の位置姿勢を示す信号）を位置姿勢計測装置２０５に出力する。従って位置姿勢計測装置２０５は、この信号に基づいて、センサ座標系における指示具３００の位置姿勢を求めることができ、求めた位置姿勢を示すデータは後段のコンピュータ４００に出力される。よって、観察者が指示具３００を手に持ってその位置や姿勢を変化させても、指示具３００の位置姿勢は常に指示具３００自身によって計測され、その計測された位置姿勢データはコンピュータ４００に入力される。
【００３７】
３０１は置き台である。
【００３８】
４００はコンピュータで、ＨＭＤ１００の表示装置１０１ａ、１０１ｂに出力すべき画像信号を生成したり、位置姿勢計測装置２０５からのデータを受け、これを管理する等の処理を行う。このコンピュータは一般的には例えばＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等により構成される。図８は、コンピュータ４００のハードウェア構成を示すブロック図である。
【００３９】
２２０１はＣＰＵで、ＲＡＭ２２０２やＲＯＭ２２０３に格納されているプログラムやデータを用いてコンピュータ４００全体の制御を行うと共に、Ｉ／Ｆ２２０７に接続される外部装置とのデータ通信の制御を行う。また、コンピュータ４００が行う後述の各処理を実行する。
【００４０】
２２０２はＲＡＭで、外部記憶装置２２０５からロードされたプログラムやデータを一時的に記憶するためのエリア、Ｉ／Ｆ２２０７を介して受信したデータを一時的に記憶する為のエリア、そして、ＣＰＵ２２０１が各種の処理を実行する際に必要なワークエリア等、各種エリアを適宜提供することができる。
【００４１】
２２０３はＲＯＭで、ブートプログラムやコンピュータ４００の設定データなどが格納されている。
【００４２】
２２０４は操作部で、キーボードやマウス、ジョイスティックなどにより構成されており、コンピュータ４００の操作者が操作することで、各種の指示をＣＰＵ２２０１に対して入力することができる。
【００４３】
２２０５は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにＯＳ（オペレーティングシステム）やコンピュータ４００が行う後述の各処理をＣＰＵ２２０１に実行させるためのプログラムやデータ等が保存されており、これらの一部、もしくは全部は、ＣＰＵ２２０１の制御により、ＲＡＭ２２０２にロードされる。また、後述の説明で、既知のデータ（情報）として説明するもの（もしくは以下説明する処理で必要となるべきデータ）もまたこの外部記憶装置２２０５に保存されており、必要に応じてＣＰＵ２２０１の制御により、ＲＡＭ２２０２にロードされる。
【００４４】
２２０６は表示部で、ＣＲＴや液晶画面等により構成されており、ＣＰＵ２２０１による処理結果を画像や文字などでもって表示することができる。
【００４５】
２２０７はＩ／Ｆで、ここに上記位置姿勢計測装置２０５、ＨＭＤ１００等が接続されており、このＩ／Ｆ２２０７を介して、コンピュータ４００は位置姿勢計測装置２０５、ＨＭＤ１００等とのデータ通信を行うことができる。
【００４６】
２２０８は上述の各部を繋ぐバスである。
【００４７】
以上の構成を備えるコンピュータ４００は、カメラ１０２ａ、１０２ｂそれぞれから得られる現実空間の画像を取り込むとと共に、磁気レシーバ２０１から得られる位置姿勢に基づいてカメラ１０２ａ、１０２ｂから見える仮想物体の画像を生成する。そして、生成した画像を、先に取り込んだ現実空間の画像上に重畳させ、重畳させた画像を表示装置１０１ａ、１０１ｂに出力する。これにより、ＨＭＤ１００を頭部に装着した観察者の右目、左目の眼前には、それぞれの目の位置姿勢に対応した複合現実空間画像が表示されることになる。
【００４８】
図３は、このコンピュータ４００の機能構成を示すブロック図である。
【００４９】
４０１Ｒ、４０１Ｌは映像キャプチャ部であり、それぞれカメラ１０２ａ、１０２ｂより入力した画像をデータとして取り込む。
【００５０】
４０４は位置姿勢情報入力部であり、位置姿勢計測装置２０５から出力されたデータを取り込む。このデータには、磁気レシーバ２０１、指示具３００のセンサ座標系における位置姿勢を示すデータが含まれる。
【００５１】
４０６は、３ＤＣＧ描画データで、仮想空間を構成する仮想物体の画像を生成するためのデータである。本実施形態では仮想物体はポリゴンでもって構成されているものとするので、３ＤＣＧ描画データには、ポリゴンの法線ベクトルデータ、ポリゴンを構成する各頂点の座標値データ、ポリゴンカラーデータ、そしてテクスチャマッピングを行う場合にはテクスチャ画像データ等が含まれる。なお、仮想物体を構成するものはポリゴンに限定するものではない。
【００５２】
４０５は位置姿勢算出部であり、位置姿勢情報入力部４０４から入力される磁気レシーバ２０１のセンサ座標系における位置姿勢を示すデータを用いて、センサ座標系におけるカメラ１０２ａ、１０２ｂの位置姿勢を求める（磁気レシーバ２０１とカメラ１０２ａ、１０２ｂとの位置姿勢関係を予めバイアスとして求めておけば、磁気レシーバ２０１により計測した位置姿勢にこのバイアスを加えることで、カメラ１０２ａ、１０２ｂの位置姿勢は求めることができる）。なお、以下ではカメラ１０２ａ、１０２ｂをまとめて「視点」と呼称する場合がある。
【００５３】
４０７はＣＧレンダリング部で、カメラ１０２ａ、１０２ｂの位置姿勢に応じて見える仮想空間の画像を生成する。この仮想空間中には、指示具３００に重畳させる仮想物体（以下、「操作対象仮想物体」と呼称する）と、仮想空間中に固定配置される１以上の仮想物体（以下、「固定配置仮想物体」と呼称する）とが含まれている。
【００５４】
従って、ＣＧレンダリング部４０７は、センサ座標系における指示具３００の位置姿勢でもって仮想空間中に操作対象仮想物体を配置すると共に、固定配置仮想物体を予め定められた位置姿勢でもって仮想空間中に配置し、それぞれの仮想物体を配置した仮想空間を位置姿勢算出部４０５が算出したカメラ１０２ａ、１０２ｂの位置姿勢に応じて見た場合に見える画像（仮想空間画像）を生成する。
【００５５】
なお、所定の位置姿勢を有する視点から見える仮想空間の画像を生成する処理については周知の技術であるので、これに関する詳細な説明は省略する。
【００５６】
４０２Ｒ、４０２Ｌは映像合成部であり、それぞれ映像キャプチャ部４０１Ｒ、４０１Ｌから入力した現実空間の画像上に、ＣＧレンダリング部４０７が生成した「カメラ１０２ａの位置姿勢に応じて見える仮想空間画像」、「カメラ１０２ｂの位置姿勢に応じて見える仮想空間画像」を重畳させ、それぞれ、映像生成部４０３Ｒ、４０３Ｌに出力する。これにより、カメラ１０２ａの位置姿勢に応じて見える複合現実空間の画像、カメラ１０２ｂの位置姿勢に応じて見える複合現実空間の画像を生成することができる。
【００５７】
映像生成部４０３Ｒ、４０３Ｌはそれぞれ、映像合成部４０２Ｒ、４０２Ｌから出力された複合現実空間の画像をそれぞれ表示装置１０１ａ、１０１ｂに映像信号として出力する。これにより、ＨＭＤ１００を頭部に装着した観察者の右目、左目の眼前には、それぞれの目に対応した複合現実空間の画像が表示される。
【００５８】
４０８はＣＧ物体速度計測部であり、位置姿勢情報入力部４０４から順次得られる「指示具３００の位置情報」を参照して、現時点での指示具３００の移動速度を求める。移動速度を求める方法については様々な方法が考えられるが、例えば時刻ｔにおいて位置姿勢算出部４０５から得られた位置情報と、時刻（ｔ−１）において位置姿勢算出部４０５から得られた位置情報との差分、即ち３次元ベクトルを求め、このベクトルのサイズを、時刻ｔにおける指示具３００の移動速度として求めるようにしても良い。
【００５９】
４０９は、操作対象仮想物体と固定配置仮想物体との干渉状態（互いに衝突しているのか否か）をチェックする処理を行う干渉チェック部である。このようなチェック処理は常に行われるものではなく、それはＣＧ物体速度計測部４０８が求めた指示具３００の移動速度によって決まる。
【００６０】
即ち、指示具３００の移動速度が所定値以上である場合、これは、観察者が指示具３００を所望の位置に移動させている途中であると考えられ、この時点で干渉状態のチェック処理を行っては、観察者は操作対象仮想物体と固定配置仮想物体との干渉を気にしながら指示具３００を移動させることになるので、指示具３００の移動が面倒となる。従って、このような場合には、干渉状態のチェック処理は行わない。
【００６１】
一方、指示具３００の移動速度が所定値以下である場合、これは、観察者が指示具３００を所望の位置近傍に移動させ、これから操作対象仮想物体の細かい位置姿勢合わせを行うものと考えられる。例えば操作対象仮想物体を固定配置仮想物体内の所定の位置姿勢に配置する場合には、操作対象仮想物体を固定配置仮想物体内に移動させた後、操作対象仮想物体が所望の位置姿勢となるべく、観察者は指示具３００を細かく移動させて操作対象仮想物体の位置姿勢合わせを行う。ここで干渉状態のチェック処理を行わないと、観察者は操作対象仮想物体がきちんと固定配置仮想物体内に収まっているのかが分からない。そこでこのような場合には、干渉状態のチェック処理を行う。
【００６２】
よって、ＣＧ物体速度計測部４０８は指示具３００の移動速度を求める毎に干渉チェック部４０９に通知する。干渉チェック部４０９は通知された速度が所定値以下であれば干渉チェック処理を行い、逆に所定値以上であれば干渉チェック処理は行わない。
【００６３】
また、仮想物体同士の干渉状態のチェック処理は、例えば、それぞれの仮想物体を構成するポリゴン毎に衝突しているのか否かをチェックすることによりなされる。なお、このように、仮想物体同士の干渉状態をチェックし、それぞれが干渉している場合にはどの部分が干渉しているのかを特定する為の技術についてはテレビゲームの分野などで広く一般に用いられている技術であるので、これに関する詳細な説明は省略する。
【００６４】
そして干渉チェック部４０９は、操作対象仮想物体と固定配置仮想物体とが干渉していると判断した場合には、それぞれの干渉部分（ポリゴン）をＣＧレンダリング部４０７に通知するので、ＣＧレンダリング部４０７は操作対象仮想物体、固定配置仮想物体のそれぞれの干渉部分のポリゴンカラーを変えたり、点滅させるなど、それぞれの干渉部分を視覚的にわかりやすいように干渉部分の描画をその他の部分とは異ならせるようにする。
【００６５】
図４は、１フレーム分の複合現実空間画像を生成して表示装置１０１ａ、１０１ｂに出力するまでの一連の処理のフローチャートである。なお、同図のフローチャートに従った処理をコンピュータ４００のＣＰＵ２２０１に実行させるためのプログラムやデータは外部記憶装置２２０５に保存されており、これをＣＰＵ２２０１による制御に従ってＲＡＭ２２０２にロードし、ＣＰＵ２２０１がこれを用いて処理を実行することで、コンピュータ４００は以下説明する各処理を実行する。
【００６６】
先ず、カメラ１０２ａ、１０２ｂにより撮像された現実空間の画像がＩ／Ｆ２２０７を介してコンピュータ４００内に入力されるので、ＣＰＵ２２０１はこれをＲＡＭ２２０２に格納する（ステップＳ４０１）。
【００６７】
また一方で、位置姿勢計測装置２０５からは、磁気レシーバ２０１のセンサ座標系における位置姿勢を示すデータ、指示具３００のセンサ座標系における位置姿勢を示すデータがＩ／Ｆ２２０７を介してコンピュータ４００内に入力されるので、ＣＰＵ２２０１はこれらをＲＡＭ２２０２、若しくは外部記憶装置２２０５に格納する（ステップＳ４０２）。
【００６８】
なお、上記ステップＳ４０１、Ｓ４０２におけるそれぞれの処理は独立して行われるものであるので、それぞれのステップにおける処理はこの順に実行することには限定しない。
【００６９】
次に、ＣＰＵ２２０１は、センサ座標系における磁気レシーバ２０１の位置姿勢に上記バイアスを加算することで、センサ座標系におけるカメラ１０２ａ、１０２ｂの位置姿勢を求めるので、この視点のセンサ座標系における位置姿勢を示すデータをＲＡＭ２２０２に一時的に格納する（ステップＳ４０３）。
【００７０】
次に、ＣＰＵ２２０１は、ステップＳ４０２で取得した指示具３００の位置情報、そして過去に取得した指示具３００の位置情報を用いて、現時点での指示具３００の移動速度を求める（ステップＳ４０４）。求める方法については上述の通り特に限定するものではない。
【００７１】
そして求めた移動速度が所定値以下であるのか否かを判断し（ステップＳ４０５）、所定値以下である場合には処理をステップＳ４０６に進め、操作対象仮想物体と固定配置仮想物体との干渉状態をチェックする（ステップＳ４０６）。
【００７２】
そしてステップＳ４０６における処理後、若しくは指示具３００の移動速度が所定値以上である場合には処理をステップＳ４０７に進め、操作対象仮想物体、固定配置仮想物体を仮想空間中に配置する（ステップＳ４０７）。即ち、ステップＳ４０２で取得した指示具３００のセンサ座標系における位置姿勢でもって仮想空間中に操作対象仮想物体を配置すると共に、予め定められた位置姿勢でもって仮想空間中に固定配置仮想物体を配置する。なお、固定配置仮想物体の配置位置姿勢については固定することに限定するものではなく、動的に変化するようなものであっても良い。
【００７３】
そして次に、ステップＳ４０６で干渉していると判断されたか否かを判断し（ステップＳ４０８）、干渉していると判断された場合には、処理をステップＳ４０９に進め、干渉部分を報知する処理を行う（ステップＳ４０９）。本実施形態では報知方法として、干渉部分を赤で描画したり、点滅表示させるなど、表示でもって干渉部分を報知する。
【００７４】
そしてこのようなそれぞれの仮想物体を配置した仮想空間を、ステップＳ４０３で求めた位置姿勢を有する視点から見た場合に見える画像（仮想空間画像）をＲＡＭ２２０２上に生成する（ステップＳ４１０）。即ち、カメラ１０２ａ、１０２ｂの位置姿勢から見える仮想空間の画像を生成する。
【００７５】
ここで、ＲＡＭ２２０２上にはステップＳ４０１で既にカメラ１０２ａから得た現実空間画像、カメラ１０２ｂから得た現実空間画像が格納されているので、それぞれの画像上にカメラ１０２ａから見た仮想空間画像、カメラ１０２ｂから見た仮想空間の画像を生成することで、結果としてＲＡＭ２２０２上にはカメラ１０２ａから見た複合現実空間の画像、カメラ１０２ｂから見た複合現実空間の画像が生成されることになる。
【００７６】
よってＣＰＵ２２０１はそれぞれの複合現実空間画像をＩ／Ｆ２２０７を介して表示装置１０１ａ、１０１ｂに出力する（ステップＳ４１１）。
【００７７】
以上の説明により、本実施形態によって、観察者は操作対象仮想物体を所望の位置姿勢に移動させる場合に、移動中、即ち固定配置仮想物体との干渉状態をチェックしてほしくない時にはこのチェック処理は行わないし、操作対象仮想物体の位置姿勢を調整しているような場合、即ち固定配置仮想物体との干渉状態をチェックしてほしい時にはこのチェック処理を行うようにするので、結果として観察者は操作対象仮想物体を固定配置仮想物体内の所望の位置姿勢に移動させるための操作を簡便に行うことができる。
【００７８】
なお、本実施形態では仮想物体同士が干渉している場合には、それぞれの仮想物体の干渉部分の表示形態をその他の部分とは異ならせることでなしていたが、報知方法には様々なものが考えられる。例えば仮想物体同士が干渉すれば、音声にて干渉した旨を通知するようにしても良いし、干渉したことをテキスト文として表示装置１０１ａ、１０１ｂに表示するようにしても良い。なお、音声にて干渉を報知する場合には、コンピュータ４００には音声データ、及びこの音声データをアナログ信号に変換する変換器、及びアナログ信号に基づく音声を出力するスピーカを加える必要がある。
【００７９】
またその他の報知方法としては、力覚提示装置を用いて、指示具３００を干渉しない方向へ動かすように力覚提示してもよい。
【００８０】
［第２の実施形態］
第１の実施形態では仮想物体同士の干渉状態のチェック処理を行うか否かの判断基準には、「指示具３００の移動速度」のみを用いていた。本実施形態ではこの判断基準として、「指示具３００の移動方向」、及び「操作対象仮想物体と固定配置仮想物体との位置関係」を用いる。
【００８１】
尚、本実施形態に係るシステムの構成については第１の実施形態と同じであるが、コンピュータ４００の機能構成が第１の実施形態とは異なる。
【００８２】
図５は、本実施形態に係るコンピュータ４００の機能構成を示すブロック図である。尚、同図において図３と同じ部分については同じ番号を付けており、その説明は省略する。図５に示した構成は図３に示した構成にＣＧ物体位置関係計測部４１０を加えたものである。なお、以下説明する点以外については第１の実施形態と同じである。
【００８３】
ＣＧ物体速度計測部４０８は第１の実施形態と同様に指示具３００の移動速度を求めるのであるが、ここではその移動方向に着目する。
【００８４】
また、ＣＧ物体位置関係計測部４１０は、操作対象仮想物体と固定配置仮想物体との位置関係を求める。
【００８５】
図６は、１フレーム分の複合現実空間画像を生成して表示装置１０１ａ、１０１ｂに出力するまでの一連の処理のフローチャートである。なお、同図のフローチャートに従った処理をコンピュータ４００のＣＰＵ２２０１に実行させるためのプログラムやデータは外部記憶装置２２０５に保存されており、これをＣＰＵ２２０１による制御に従ってＲＡＭ２２０２にロードし、ＣＰＵ２２０１がこれを用いて処理を実行することで、コンピュータ４００は以下説明する各処理を実行する。
【００８６】
なお、ステップＳ６０１〜Ｓ６０４における処理は上記ステップＳ４０１〜Ｓ４０４と同じであるが、ステップＳ６０４で求めた移動速度は速度ベクトルとして得る。例えば、例えば時刻ｔにおいて位置姿勢算出部４０５から得られた位置情報と、時刻（ｔ−１）において位置姿勢算出部４０５から得られた位置情報との差分、即ち３次元ベクトルを速度ベクトルとして求める。
【００８７】
次に、ＣＰＵ２２０１はＣＧ物体位置関係計測部４１０として機能し、操作対象仮想物体と固定配置仮想物体との位置関係を判断する（ステップＳ６０５）。本実施形態では、操作対象仮想物体が固定配置仮想物体の内部に位置するのか否かを判断する。一方の仮想物体が他方の仮想物体に位置するのか否かを判断するための処理については周知のものであるので、これに関する説明は省略する。
【００８８】
そして操作対象仮想物体が固定配置仮想物体の内部に位置する場合には処理をステップＳ６０７に進め、ステップＳ４０６と同様に操作対象仮想物体と固定配置仮想物体との干渉状態のチェック処理を行う（ステップＳ６０７）。即ち、操作対象仮想物体を固定配置仮想物体内の所定の位置姿勢に配置する場合には、操作対象仮想物体を固定配置仮想物体内に移動させた後、操作対象仮想物体が所望の位置姿勢となるべく、観察者は指示具３００を細かく移動させて操作対象仮想物体の位置姿勢合わせを行うので、干渉状態のチェック処理を行わないと、観察者は操作対象仮想物体がきちんと固定配置仮想物体内に収まっているのかが分からない。そこでこのような場合には、干渉状態のチェック処理を行う。そしてステップＳ６０７における処理が完了すると処理をステップＳ６０８に進める。
【００８９】
一方、操作対象仮想物体が固定配置仮想物体の外部に位置する場合には処理をステップＳ６０６に進め、操作対象仮想物体が固定配置仮想物体の内部に向かって移動しているのか否かを判断するために、ステップＳ６０４で得た３次元ベクトル（指示具３００の移動方向を示すベクトルＡ）と、操作対象仮想物体の位置（指示具３００の位置）から固定配置仮想物体の配置位置へ向かうベクトルＢとの内積値を計算し、計算した内積値が正であるのか否かを判断する（ステップＳ６０６）。
【００９０】
ここで、操作対象仮想物体が固定配置仮想物体の内部に向かって移動していない場合には、上記内積値は負の値を示すので、そのような場合には処理をステップＳ６０７に進め、干渉状態のチェック処理を行う。
【００９１】
一方、操作対象仮想物体が固定配置仮想物体の内部に向かって移動している場合には、上記内積値は正の値を示すので、そのような場合にはステップＳ６０７における干渉状態のチェック処理は行わずに、処理をステップＳ６０８に進める。即ち、操作対象仮想物体を固定配置仮想物体内の所定の位置姿勢に配置する場合に、指示具３００が固定配置仮想物体の外部に位置しており、且つ指示具３００を固定配置仮想物体に向かって移動させている場合、指示具３００を所望の位置に移動させている途中であると考えられ、この時点で干渉状態のチェック処理を行っては、観察者は操作対象仮想物体と固定配置仮想物体との干渉を気にしながら指示具３００を移動させることになるので、指示具３００の移動が面倒となる。従って、このような場合には、干渉状態のチェック処理は行わない。
【００９２】
そしてステップＳ６０８以降の各ステップにおける処理を、上記Ｓ４０７以降の各ステップと同様にして行う。
【００９３】
なお、本実施形態では操作対象仮想物体と固定配置仮想物体との位置関係を判断する処理の一例として、操作対象仮想物体が固定配置仮想物体の内部に位置しているのか否かを判断したが、より一般的に、「操作対象仮想物体と固定配置仮想物体との位置関係が所定の位置関係を満たすか否かを」を判断するような実施形態としても良い。
【００９４】
［第３の実施形態］
第１の実施形態では仮想物体同士の干渉状態のチェック処理を行うか否かの判断基準には、「指示具３００の移動速度」のみを用いていた。本実施形態ではこの判断基準として「干渉状態のチェック処理を行うためにコンピュータ４００に与える推定負荷」を用いる。
【００９５】
尚、本実施形態に係るシステムの構成については第１の実施形態と同じであるが、コンピュータ４００の機能構成が第１の実施形態とは異なる。
【００９６】
図７は、本実施形態に係るコンピュータ４００の機能構成を示すブロック図である。尚、同図において図３と同じ部分については同じ番号を付けており、その説明は省略する。図７に示した構成は図３に示した構成のうちＣＧ物体速度計測部４０８を干渉チェック負荷予測部４１１に置き換えたものである。なお、以下説明する点以外については第１の実施形態と同じである。
【００９７】
干渉チェック負荷予測部４１１は、ＣＰＵ２２０１が操作対象仮想物体と固定配置仮想物体との干渉状態のチェック処理を行う場合に、その処理負荷を推定する処理を行う。この処理負荷が大きいと、例えば複合現実空間の画像生成処理に影響を与え、画像の描画レート、フレームレートが低下することになる。
【００９８】
そこで干渉チェック負荷予測部４１１はこの処理負荷を推定し、推定した処理負荷が所定値以上である場合、即ち、その他の処理（複合現実空間の画像生成処理を含む）に影響を与えるほどの処理負荷以上である場合には、その旨を干渉チェック部４０９に通知する。そして干渉チェック部４０９は、推定処理負荷が所定値以上である場合には干渉状態のチェック処理を行わないし、逆に推定処理負荷が所定値以下である場合には干渉状態のチェック処理を行ってもその他の処理には影響はないので、干渉状態のチェック処理を行う。
【００９９】
なお、本実施形態に係る、１フレーム分の複合現実空間画像を生成して表示装置１０１ａ、１０１ｂに出力するまでの一連の処理のフローチャートは、図４のフローチャートにおいて以下の点を変更したものとなる。
【０１００】
即ち、ステップＳ４０４では、ＣＰＵ２２０１は操作対象仮想物体と固定配置仮想物体との干渉状態のチェック処理の処理負荷を推定する。そしてステップＳ４０５では、この推定した処理負荷が所定値以上であるのか否かを判断し、所定値以上である場合には処理をステップＳ４０７に進め、所定値以下である場合には処理をステップＳ４０６に進める。
【０１０１】
［第４の実施形態］
なお、以上の各実施形態では、所定の状態によっては干渉状態のチェック処理を行わないとしていたが、完全に干渉状態のチェック処理を行わないのではなく、簡便なチェック方法があればそれを用いるようにしても良い。
【０１０２】
また、上記各実施形態ではＨＭＤ１００はビデオシースルー型のものを用いているが、光学シースルー型のものを用いるようにしても良い。
【０１０３】
また、上記各実施形態で用いた「干渉状態のチェック処理を行うか否かの判断に用いる指標」を適宜組み合わせて用いるようにしても良い。
【０１０４】
また、上記各実施形態では観察者の視点の位置姿勢は磁気センサを用いて取得しているが、その他のタイプのセンサ、例えば光学式センサや超音波センサなど、他のタイプのセンサを用いても良いことはいうまでもない。
【０１０５】
また、視点の位置姿勢を求める手段についてはセンサを用いることに限定するものではなく、例えば、現実空間中にマーカを配置し、この配置位置、及びマーカをカメラでもって撮像した画像上におけるマーカ座標位置を用いてＨＭＤ１００の位置姿勢を取得するという一般的な方法を用いるようにしても良い。よって、視点の位置姿勢が得られるのであれば、センサを用いることには限定しない。
【０１０６】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１０７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０８】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０９】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１１０】
【図１】現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供するためのシステムの外観を示す図である。
【図２】ＨＭＤ１００の具体的な構成を示す図である。
【図３】コンピュータ４００の機能構成を示すブロック図である。
【図４】１フレーム分の複合現実空間画像を生成して表示装置１０１ａ、１０１ｂに出力するまでの一連の処理のフローチャートである。
【図５】本発明の第２の実施形態に係るコンピュータ４００の機能構成を示すブロック図である。
【図６】１フレーム分の複合現実空間画像を生成して表示装置１０１ａ、１０１ｂに出力するまでの一連の処理のフローチャートである。
【図７】本発明の第３の実施形態に係るコンピュータ４００の機能構成を示すブロック図である。
【図８】コンピュータ４００のハードウェア構成を示すブロック図である。
【図１】
2006318094.tif 000003
【図２】
2006318094.tif 000004
【図３】
2006318094.tif 000005
【図４】
2006318094.tif 000006
【図５】
2006318094.tif 000007
【図６】
2006318094.tif 000008
【図７】
2006318094.tif 000009
【図８】
2006318094.tif 000010