(57)【要約】【課題】  現実空間又は現実空間画像と、コンピュータグラフィックス（ＣＧ）を代表とする仮想空間画像とを合成する際にオクルージョン問題（隠れ問題）が発生することがある。【解決手段】  使用者の視点位置から観察される現実空間に、前記使用者の視点位置から観察される仮想物体の画像を合成する画像処理装置であって、  前記使用者が操作する操作部の位置を検出する操作部位置検出手段と、  前記視点位置を検出する視点位置検出手段と、  前記操作部位置と、前記視点位置との位置関係に基づいて範囲を設定する範囲設定手段と、  前記範囲に少なくとも一部が含まれる仮想物体を決定する決定手段と、  前記決定手段が決定した仮想物体の画像の合成位置または合成方法を変更する変更手段とを有することを特徴とする画像処理装置。【選択図】  図１
2005157610.tif 000002
【特許請求の範囲】
【請求項１】
使用者の視点位置から観察される現実空間に、前記使用者の視点位置から観察される仮想物体の画像を合成する画像処理装置であって、
前記使用者の視点位置を検出する視点位置検出手段と、
前記現実空間上で移動可能な物体の位置を検出する物体位置検出手段と、
前記視点位置検出手段によって検出される前記使用者の視点位置と、前記物体位置検出手段によって検出される前記物体の位置とに基づいて、前記仮想物体の画像の合成制御を変更する変更手段とを有することを特徴とする画像処理装置。
【請求項２】
変更手段は、前記視点位置検出手段によって検出される前記使用者の視点位置と、前記物体位置検出手段によって検出される前記物体の位置から、前記現実空間上に所定の範囲を設定し、前記所定の範囲に基づいて、前記仮想物体の画像の合成制御を変更する請求項１に記載の画像処理装置。
【請求項３】
変更手段は、前記現実空間上で前記使用者の視点位置から前記物体を投影した所定の範囲を設定し、前記所定の範囲に基づいて、前記仮想物体の画像の合成制御を変更する請求項２に記載の画像処理装置。
【請求項４】
変更手段は、前記仮想物体の画像が前記所定の範囲に入る場合には、前記仮想物体の画像の合成位置を前記所定の範囲外に変更することを特徴とする請求項１ないし３のいずれかに記載の画像処理装置。
【請求項５】
変更手段は、前記仮想物体の画像が前記所定の範囲に入る場合には、前記仮想物体の画像の合成表示を変更することを特徴とする請求項１ないし３のいずれかに記載の画像処理装置。
【請求項６】
変更手段は、前記仮想物体の画像が前記所定の範囲に入る場合には、前記仮想物体の画像を透明もしくは半透明に変更することを特徴とする請求項１ないし３のいずれかに記載の画像処理装置。
【請求項７】
変更手段は、前記仮想物体の画像が前記所定の範囲に入る場合には、前記仮想物体の画像をシンボル又はテキストに変更することを特徴とする請求項１ないし３のいずれかに記載の画像処理装置。
【請求項８】
前記物体は、前記使用者によって操作される操作部材であることを特徴とする請求項１ないし７のいずれかに記載の画像処理装置。
【請求項９】
使用者の視点位置から観察される現実空間に、前記使用者の視点位置から観察される仮想物体の画像を合成する画像処理方法であって、
前記使用者の視点位置を検出する視点位置検出ステップと、
前記現実空間上で移動可能な物体の位置を検出する物体位置検出ステップと、
前記視点位置検出ステップによって検出される前記使用者の視点位置と、前記物体位置検出ステップによって検出される前記物体の位置とに基づいて、前記仮想物体の画像の合成制御を変更する変更ステップとを有することを特徴とする画像処理方法。
【請求項１０】
変更ステップは、前記視点位置検出ステップによって検出される前記使用者の視点位置と、前記物体位置検出ステップによって検出される前記物体の位置から、前記現実空間上に所定の範囲を設定し、前記所定の範囲に基づいて、前記仮想物体の画像の合成制御を変更する請求項９に記載の画像処理方法。
【請求項１１】
変更ステップは、前記現実空間上で前記使用者の視点位置から前記物体を投影した所定の範囲を設定し、前記所定の範囲に基づいて、前記仮想物体の画像の合成制御を変更する請求項１０に記載の画像処理方法。
【請求項１２】
変更ステップは、前記仮想物体の画像が前記所定の範囲に入る場合には、前記仮想物体の画像の合成位置を前記所定の範囲外に変更することを特徴とする請求項９ないし１１のいずれかに記載の画像処理方法。
【請求項１３】
変更ステップは、前記仮想物体の画像が前記所定の範囲に入る場合には、前記仮想物体の画像の合成表示を変更することを特徴とする請求項９ないし１１のいずれかに記載の画像処理方法。
【請求項１４】
変更ステップは、前記仮想物体の画像が前記所定の範囲に入る場合には、前記仮想物体の画像を透明もしくは半透明に変更することを特徴とする請求項９ないし１１のいずれかに記載の画像処理方法。
【請求項１５】
変更ステップは、前記仮想物体の画像が前記所定の範囲に入る場合には、前記仮想物体の画像をシンボル又はテキストに変更することを特徴とする請求項９ないし１１のいずれかに記載の画像処理方法。
【請求項１６】
前記物体は、前記使用者によって操作される操作部材であることを特徴とする請求項９ないし１５のいずれかに記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間又は現実空間画像と、コンピュータグラフィックス（ＣＧ）を代表とする仮想空間画像とを合成する際のオクルージョン問題（隠れ問題）を解決する画像処理装置および方法に関するものである。
【背景技術】
【０００２】
近年、コンピュータの性能向上や位置検出技術等の発達により、複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）技術を用いたアプリケーションが各種提案されてきている。複合現実感（ＭＲ）技術とは、現実空間又は現実空間画像上に、コンピュータグラフィックス（ＣＧ）を代表とする仮想空間画像を合成した複合現実空間をユーザ（体験者）に体験させるための技術である。
【０００３】
ＭＲ技術を利用したアプリケーションとしては、例えば現在空き地となっている場所（現実空間）に仮想のビルをコンピュータグラフィックス（ＣＧ）により建設したり、テーブル（現実空間）の上で体長１５センチの怪獣（仮想空間画像）を動かす、等を挙げることができる。
【０００４】
このような複合現実空間を実現するには、現実空間も仮想空間も３次元空間であるため、現実空間座標系内に静止した３次元のワールド座標系を想定し、このワールド座標系内にビルや怪獣といった３次元仮想空間画像を配置、表示することになる。
【０００５】
ただし、現実空間画像を仮想空間画像と合成する場合には、合成表示する現実空間画像（実写映像）と仮想空間画像（ＣＧ画像）は同じ点（視点）から同じ画角で観察される画像でなくてはならない。
【０００６】
例えば、現実空間をカメラなどでリアルタイムに撮影した現実空間画像と計算機等で作成した仮想空間画像とを合成するビデオシースルータイプの頭部装着型表示装置（ＨＭＤ：Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）を用いてユーザが複合現実空間を体験する場合、現実空間画像はＨＭＤに取り付けられたビデオカメラで撮影されることが多く、またカメラの画角は固定であることが多い。このとき、カメラの位置と向き（姿勢）をリアルタイムで計測し、カメラの位置に対応付けられたワールド座標系内の点からカメラの向きの方向を見た仮想空間画像を、カメラで撮影した現実空間画像と合成してＨＭＤに表示すればよい（特許文献１参照）。
【０００７】
しかしながら、上述のように現実空間及び仮想空間は３次元空間であるため、奥行きが存在する。そのため、実写映像とＣＧ画像とを合成する際にはオクルージョン問題（隠れ問題）が発生することがある。オクルージョン問題（隠れ問題）とは、本来、現実空間にある物体（現実物体）の裏側に隠れて見えないはずの仮想空間の物体（仮想物体（ＣＧオブジェクト））が奥行き関係を無視して手前に見えてしまうという問題である。
【０００８】
この問題を防ぐためには、透明で表示され、かつ裏側に隠れたＣＧオブジェクトは見えない、という特徴を持った透明仮想物体を、現実空間画像中に存在する現実物体と全く同じように３次元的に仮想空間に配置すればよい。
【０００９】
しかし、この方法で完全にオクルージョン問題を解決するには、透明仮想物体と、対応する現実物体との位置合わせを正確に行なう必要がある。そのためには、現実空間の全てを精密に三次元計測する必要があり、実際には非常に困難である。
【特許文献１】特開平１１−１３６７０６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところが、ユーザがインタラクションを行なうために操作する現実物体の操作部（例えばスタイラスや指示棒のようなユーザ・インタフェース）など、自由に移動可能な現実物体がボード上のユーザの視野内に現れた場合には、これらの正確な三次元位置をリアルタイムに計測しなければ、本来、隠れて見えないはずのＣＧオブジェクトが奥行き関係を無視して手前に見えてしまうというオクルージョン問題が発生することがある。
【００１１】
本発明はこのような課題に対して改善を行なうものであり、その目的は、現実空間又は現実空間画像と、コンピュータグラフィックス（ＣＧ）を代表とする仮想空間画像とを合成する画像処理装置および方法であって、現実物体がユーザの視野内に出現した場合であっても、当該現実物体によるオクルージョン問題を解決可能な画像処理装置及び方法を提供することにある。
【課題を解決するための手段】
【００１２】
上述した課題を解決するために、本発明の画像処理装置は、使用者の視点位置から観察される現実空間に、前記使用者の視点位置から観察される仮想物体の画像を合成する画像処理装置であって、前記使用者の視点位置を検出する視点位置検出手段と、前記現実空間上で移動可能な物体の位置を検出する物体位置検出手段と、前記視点位置検出手段によって検出される前記使用者の視点位置と、前記物体位置検出手段によって検出される前記物体の位置とに基づいて、前記仮想物体の画像の合成制御を変更する変更手段とを有することを特徴としている。
【００１３】
また、本発明の画像処理方法は、使用者の視点位置から観察される現実空間に、前記使用者の視点位置から観察される仮想物体の画像を合成する画像処理方法であって、前記使用者の視点位置を検出する視点位置検出ステップと、前記現実空間上で移動可能な物体の位置を検出する物体位置検出ステップと、前記視点位置検出ステップによって検出される前記使用者の視点位置と、前記物体位置検出ステップによって検出される前記物体の位置とに基づいて、前記仮想物体の画像の合成制御を変更する変更ステップとを有することを特徴としている。
【発明の効果】
【００１４】
本発明は、使用者の視点位置と現実空間上で移動可能な物体の位置を検出し、使用者の視点位置と前記物体の位置とに基づいて、前記仮想物体の画像の合成制御を変更することで、現実空間上で移動可能な物体と仮想物体の画像との間で発生するオクルージョン問題を解決することができる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照して本発明をその好適な実施形態に基づいて詳細に説明する。
【００１６】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る複合現実感システム（ＭＲシステム）の構成例を示す図である。
【００１７】
１０１は現実空間中のゲームボードであり、ゲームボード１０１の上でゲームが進行する。ゲームボード１０１上にある１０４は仮想物体（ＣＧオブジェクト）である。
【００１８】
１０２はユーザが装着するシースルー型のＨＭＤである。本発明の実施形態では、シースルー型のＨＭＤ１０２として、現実空間をカメラなどでリアルタイムに撮影した現実空間画像と計算機等で作成した仮想空間画像とを合成するビデオシースルー型ＨＭＤを想定して説明するが、光学系を介して観察する現実空間の風景と計算機等で作成した仮想空間画像とを合成する光学シースルータイプのＨＭＤでも本発明の実施形態は適用可能である。
【００１９】
ＨＭＤ１０２は図示しないカメラを備えており、現実空間の画像を撮影する。撮影された画像は、実写映像取得部１０３１に送られる。ＨＭＤ１０２に備えるカメラは右目用と左目用に２つあることが望ましいが、１つでも構わないことは言うまでもない。
【００２０】
また、ＨＭＤ１０２は図示しない位置姿勢センサを備えており、ユーザの３次元空間中での視点位置姿勢情報を取得する。ここで、位置姿勢センサの具体的な例として、磁気センサ、機械式センサ、超音波センサなどがあげられる。
【００２１】
また、ジャイロセンサや加速度センサを利用してその出力値を積分することでユーザの視点位置姿勢情報を求めたり、シースルー型のＨＭＤ１０２に備え付けたカメラで撮影した画像からユーザの視点位置姿勢情報を求めたりしてもよい。さらには、これらを組み合わせてユーザの視点位置姿勢情報を求めてよいことは言うまでもない。
【００２２】
また、位置姿勢センサ付きＨＭＤでなくとも、固定されたカメラとディスプレイでもよい。この場合、視点位置は設置されたカメラの位置に固定で、この位置から見た方向の映像がディスプレイに表示されることになる。
【００２３】
１０４０は、現実物体であり、ユーザがインタラクションを行なうために操作するスタイラスや指示棒のようなユーザ・インタフェースである。ユーザ・インタフェース１０４０は、図示しない位置姿勢センサを備えており、ユーザ・インタフェース１０４０の３次元空間中での位置姿勢情報を計測することができる。
【００２４】
ここで、位置姿勢センサの具体的な例として、磁気センサ、機械式センサ、超音波センサなどがあげられる。また、ジャイロセンサや加速度センサを利用してその出力値を積分することでユーザ・インタフェース１０４０の位置姿勢情報を求めたり、ユーザ・インタフェース１０４０に備え付けたカメラで撮影した画像からユーザ・インタフェース１０４０の位置姿勢情報を求めたりしてもよい。さらには、これらを組み合わせてユーザ・インタフェース１０４０の位置姿勢情報を求めてよいことは言うまでもない。
【００２５】
計測された位置姿勢情報は、ユーザ・インタフェース位置姿勢検出部１０３５へ送られる。ユーザ・インタフェース１０４０の機能や働きについては、アプリケーションの内容等に応じて適宜定めればよい。
【００２６】
１０３は、ゲームコンソールまたはＰＣであり、実写映像取得部１０３１、ＣＧ生成部１０３２、実写・ＣＧ合成表示部１０３３、視点位置姿勢検出部１０３４、ユーザ・インタフェース位置姿勢検出部１０３５、障害範囲設定部１０３６、障害回避戦略決定部１０３７からなる。ゲームコンソールまたはＰＣ１０３は、ＨＭＤ１０２、およびユーザがインタラクションを行なうために操作するユーザ・インタフェース１０４０と接続され、ゲームの進行状態等さまざまな情報を処理する。
【００２７】
なお、ゲームコンソールまたはＰＣ１０３は、ＣＰＵ、ＲＯＭ、ＲＡＭ、外部記憶装置（ＨＤＤ、ＦＤ、ＣＤ／ＤＶＤドライブ等）及び、各種入出力インタフェースを有する汎用的なコンピュータ機器であり、ＲＯＭ及び／又は外部記憶装置に記憶されたソフトウェアプログラムをＣＰＵが実行し、機器内部の構成要素を制御することによって以下に説明する処理を実現する。なお、処理の一部又は全部をハードウェアによって実現しても良い。
【００２８】
実写映像取得部１０３１は、ビデオキャプチャカードなどから構成され、ＨＭＤ１０２に設けられたカメラで撮影した実写映像をゲームコンソールまたはＰＣ１０３内に取り込む。また、実写映像取得部１０３１は、取り込んだ実写映像を実写・ＣＧ合成表示部１０３３に送る。
【００２９】
視点位置姿勢検出部１０３４は、ＨＭＤ１０２に設けられた位置姿勢センサからユーザの視点位置姿勢情報を取得する。また、視点位置姿勢検出部１０３４は、取得した視点位置姿勢情報を障害範囲設定部１０３６およびＣＧ生成部１０３２に送る。
【００３０】
ユーザ・インタフェース位置姿勢検出部１０３５は、ユーザ・インタフェース１０４０に設けられた位置姿勢センサからユーザ・インタフェース１０４０の位置姿勢情報を取得する。また、ユーザ・インタフェース位置姿勢検出部１０３５は、取得した位置姿勢情報を障害範囲設定部１０３６に送る。
【００３１】
障害範囲設定部１０３６は、視点位置姿勢検出部１０３４が取得したユーザの視点位置姿勢情報、およびユーザ・インタフェース位置姿勢検出部１０３５が取得したユーザ・インタフェース１０４０の位置姿勢情報をもとにオクルージョン問題が起きうる範囲（障害範囲）を求める。
【００３２】
図３（ａ）（ｂ）は、障害範囲設定部１０３６が設定する障害範囲の例を示したものである。図３（ｂ）では、視点位置姿勢検出部１０３４によって得られたユーザの視点位置３０１に点光源を配置し、ユーザ・インタフェース位置姿勢検出部１０３５によって得られたユーザ・インタフェース１０４０の位置姿勢をもとに設定される方向に向かって投影してできる灰色の範囲を障害範囲３０２としている。
【００３３】
ここで、ユーザ・インタフェース１０４０の位置姿勢をもとに設定される方向とは、例えば現実のユーザ・インタフェース１０４０を含む３次元仮想モデルを用意して、ユーザの視点位置３０１からその３次元仮想モデルの外郭に向かう方向とする。
【００３４】
図５には、障害範囲３０２の形状の具体的な例として、ユーザの視点位置３０１を頂点とした角錐台形状（３次元オブジェクトとしての角錐台）の範囲を示す。図５に示す角錐台形状の障害範囲３０２（灰色の範囲）は、ユーザ・インタフェース１０４０の位置を含む。
【００３５】
また、錐台の底面５０１、５０２の位置は、ユーザ・インタフェース１０４０を含めば任意に配置してよいが、底面５０１はユーザ・インタフェース１０４０に近く、底面５０２は視点位置３０１からなるべく離れている位置に配置される方が望ましい（こうすることで、ユーザ・インタフェース１０４０の手前にあるＣＧオブジェクトのみユーザ・インタフェース１０４０の手前に表示される）。
【００３６】
また、障害範囲３０２の形状は、図５に示すような角錐台形状に限らず錐台形状（円錐台形状を含む）であれば何でもよいことは言うまでもない。
【００３７】
さらに、障害範囲３０２を、ユーザ・インタフェース１０４０の位置姿勢情報ではなく、位置情報を利用して求めてもよい。
【００３８】
また、障害範囲設定部１０３６は、障害回避戦略決定部１０３７に障害範囲３０２を知らせる。
【００３９】
障害回避戦略決定部１０３７は、障害範囲設定部１０３６から障害範囲３０２に関する情報、およびＣＧ生成部１０３２からＣＧオブジェクトの情報（位置、姿勢など）を得て、障害範囲設定部１０３６が設定した障害範囲３０２内にＣＧオブジェクトが存在するかどうかということを判断する。障害範囲３０２内にＣＧオブジェクトが存在する場合には、障害範囲３０２内に存在するＣＧオブジェクトの情報（位置、姿勢、形状、色、透明度など）をＣＧ生成部１０３２から得て、そのＣＧオブジェクトに対する合成表示指示をＣＧ生成部１０３２に出す。
【００４０】
合成表示指示の内容としては、例えば対象となるＣＧオブジェクトの合成位置が障害範囲３０２の外側になるように位置を変更する、非表示にする、半透明表示する、もしくはＣＧオブジェクトが存在する位置にＣＧオブジェクトの代わりにシンボルもしくはテキストを合成表示する等のいずれかであって良い。（図３（ａ）では、ユーザ・インタフェース１０４０が存在しなければＣＧオブジェクト１０４が×方向に進むように制御されるが、ユーザ・インタフェース１０４０がある場合には、ＣＧオブジェクト１０４の進行方向を障害範囲３０２の外側に変更する様子を示している。（見かけ上は、ＣＧオブジェクト１０４が障害範囲３０２の内側に入らないように移動する。））どの方法を採用するかはアプリケーションの内容等に応じて適宜定めればよい。
【００４１】
また、ここでは合成表示指示の内容の例としていくつか挙げたが、障害範囲３０２に存在するＣＧオブジェクトに対する合成表示指示であればこれらに限定されるものではない。なお、本実施形態において障害範囲３０２にＣＧオブジェクトが「存在する」とは、少なくともＣＧオブジェクトの一部が含まれることを意味するものとするが、アプリケーションの内容によってはＣＧオブジェクトの全体が含まれる場合のみを意味するものとしても良い。
【００４２】
ＣＧ生成部１０３２は、図示しない記憶部よりＣＧデータを読み込み、また視点位置姿勢検出部１０３４から送られるユーザの視点位置姿勢情報、および障害回避戦略決定部１０３７が決定したＣＧオブジェクトに対する合成表示指示をもとに、ユーザの視点から見たＣＧオブジェクト画像を生成する。ＣＧ生成部１０３２は、生成したＣＧオブジェクト画像を実写・ＣＧ合成表示部１０３３に送る。
【００４３】
実写・ＣＧ合成表示部１０３３は、実写映像取得部１０３１が取得した実写映像と、ＣＧ生成部１０３２が生成したＣＧオブジェクト画像とを受け取り、それらを合成してＨＭＤ１０２に表示する。このようにして、オクルージョン問題（隠れ問題）のない複合現実映像が得られる。なお、本発明の主要な部分ではないので詳細な説明は行なわないが、実写・ＣＧ合成表示部１０３３は、ユーザがＨＭＤ１０２で立体視できるよう、右目用と左目用の合成画像を生成する。
【００４４】
以上のような構成を備えた本実施形態の処理手順について、以下説明する。
【００４５】
図２は本実施形態における処理手順を説明するフローチャートである。
【００４６】
ステップＳ２０１では、システムの初期化を行なう。システムの初期化とはシステムを構成する各機器の電源を入れたり、プログラムを起動したりといった、本実施形態の処理手順を進めるにあたり最初に行なうステップである。
【００４７】
ステップＳ２０２では、ＨＭＤ１０２に設けられた位置姿勢センサからユーザの視点位置姿勢情報を取得し、視点位置姿勢情報を視点位置姿勢検出部１０３４に送る。ここで、ＨＭＤ１０２の位置姿勢（位置姿勢センサの出力値）と、視点の位置姿勢との関係はあらかじめ定めておくことが望ましい。
【００４８】
ステップＳ２０３では、ユーザがインタラクションを行なうために操作するユーザ・インタフェース１０４０の位置姿勢を検出し、検出した位置姿勢情報をユーザ・インタフェース位置姿勢検出部１０３５に送る。
【００４９】
ステップＳ２０４では、障害範囲設定部１０３６が、視点位置姿勢検出部１０３４が取得した視点位置姿勢情報、およびユーザ・インタフェース位置姿勢検出部１０３５が取得したユーザ・インタフェース位置姿勢情報とを受け取り、それらの情報をもとに障害範囲３０２を設定する。障害範囲３０２の具体的な設定のやり方については、障害範囲設定部１０３６の説明のところで述べたとおりである。
【００５０】
ステップＳ２０５では、障害回避戦略決定部１０３７が、障害範囲設定部１０３６が設定した障害範囲３０２に関する情報、およびＣＧ生成部１０３２からＣＧオブジェクトの情報（位置、姿勢など）を受け取り、障害範囲３０２内にＣＧオブジェクトが存在するかどうか判定を行なう。この判定方法は、ＣＧオブジェクトと障害範囲３０２の３次元的な位置関係によって求めることが可能であり、ＣＧ分野においては既知の技術であるため説明を省略する。
【００５１】
ステップＳ２０６では、障害範囲３０２内にＣＧオブジェクトが存在する場合は処理をステップＳ２０７に進め、存在しない場合は処理をステップＳ２０８に進める。
【００５２】
ステップＳ２０７では、障害範囲３０２内に存在するＣＧオブジェクトの情報をＣＧ生成部１０３２から得て、そのＣＧオブジェクトに対する合成表示指示をＣＧ生成部１０３２に出す。ＣＧ生成部１０３２に出す合成表示指示には、対象となるＣＧオブジェクトの合成位置が障害範囲３０２の外側になるように位置を変更する、非表示にする、半透明表示する、もしくはＣＧオブジェクトが存在する位置にＣＧオブジェクトの代わりにシンボルもしくはテキストを合成表示する等が挙げられるが、詳しくは障害回避戦略決定部１０３７の説明のところで述べたとおりである。
【００５３】
ステップＳ２０８では、ＣＧ生成部１０３２が生成したＣＧと、実写映像取得部１０３１が取得した実写映像とを、実写・ＣＧ合成表示部１０３３で合成してＨＭＤ１０２に表示する。
【００５４】
ステップＳ２０９では、ユーザが終了処理を行なっていた場合、システムを終了させる。システムを終了させるとは、プログラムを終了させたり、システムを構成する各機器の電源を切ったりといった本実施形態の処理手順を終わらせるために最後に行なうステップである。ユーザが終了処理を行なっていない場合は、ステップＳ２０２に戻る。
【００５５】
以上、本実施形態における処理手順の説明を行なった。
【００５６】
以上の実施形態によると、現実空間又は現実空間画像と、コンピュータグラフィックス（ＣＧ）を代表とする仮想空間画像とを合成する際、ユーザ・インタフェースなどの現実物体がユーザの視界内に出現したことで生じるオクルージョン問題（隠れ問題）を、ユーザの視点位置姿勢を検出し、現実空間中に出現した現実物体を検出し、現実物体によって少なくとも一部が隠される仮想物体を検出して、この仮想物体の画像の合成位置又は合成方法を変更することで回避することができる。
【００５７】
（第２の実施形態）
図４は、本発明の第２の実施形態に係る複合現実感システム（ＭＲシステム）の構成例を示す図である。第１の実施形態と共通する構成については第１の実施形態と同一の符号をつけて説明を省略する。本実施形態と第１の実施形態との違いはユーザ・インタフェース１０４０の位置姿勢検出方法にある。
【００５８】
すなわち、本実施形態では、ユーザ・インタフェース１０４０にあらかじめ定めた色の指標となるマーカ１０４１を複数貼っておき、まず、ＨＭＤ１０２に備えたカメラによって撮影した実写映像から画像処理によってマーカ１０４１の位置を検出する。次に、マーカ１０４１の位置をもとにユーザ・インタフェース１０４０の位置姿勢を求める。
【００５９】
ユーザ・インタフェース位置姿勢検出部１０３５は、ユーザ・インタフェース１０４０に備えた位置姿勢センサからではなく、実写映像取得部１０３１が取得した実写映像中のマーカ１０４１位置からユーザ・インタフェース１０４０の位置姿勢を検出する。ここで、マーカ１０４１の３次元的な位置はＨＭＤ１０２に備えた右目用と左目用の２つのカメラによりステレオ計測を行なうことで検出されることが望ましい。また、別途ＨＭＤ１０２に距離計測機構を取り付けて、マーカ１０４１の３次元的な位置を検出してもよい。
【００６０】
また、本実施形態では、ユーザ・インタフェース１０４０にマーカ１０４１を貼ることでユーザ・インタフェース１０４０の位置姿勢を検出したが、ユーザ・インタフェース１０４０自体にあらかじめ定めた色を塗っておき、画像処理によってその位置姿勢を求めてもよい。
【００６１】
また、図４におけるその他の構成については、第１の実施形態の構成（図１）と同様である。
【００６２】
以上のような構成を備えた本実施形態の処理手順については、図２に示すフローチャートのステップＳ２０３において、実写映像取得部１０３１が取得した実写映像からマーカ１０４１の位置を画像処理によって検出することで、ユーザ・インタフェース１０４０の位置姿勢を検出すればよい。
【００６３】
また、その他のステップについては、第１の実施形態の処理手順（図２）と同様でよい。
【００６４】
（他の実施形態）
上述の実施形態においては、１つの機器から構成されるゲームコンソール又はＰＣ１０３を用いる画像処理装置および方法についてのみ説明したが、ＰＣ１０３と同等の機能を複数の機器で構成したシステムであっても良い。
【００６５】
尚、前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００６６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００６７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００６９】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【００７０】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００７１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００７３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００７４】
【図１】本発明の第１の実施形態における画像処理装置の構成を示すブロック図である。
【図２】本発明の第１および第２の実施形態における画像処理装置の処理手順を説明するためのフローチャートである。
【図３】本発明の実施形態における画像処理装置の動作を説明するための図である。
【図４】本発明の第２の実施形態における画像処理装置の構成を示すブロック図である。
【図５】障害範囲３０２の形状の例を示す図である。
【図１】
2005157610.tif 000003
【図２】
2005157610.tif 000004
【図３】
2005157610.tif 000005
【図４】
2005157610.tif 000006
【図５】
2005157610.tif 000007