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