(57)【要約】【課題】  HMDを利用したMRシステムにおいて、現実空間と仮想空間との位置あわせに用いるマーカの追加登録を、HMDを装着したまま行うことは困難である。【解決手段】  撮像部101によって撮影された現実世界の撮像画像内において、体験者が操作入力部104により追加マーカを指定すると、マーカ抽出・管理部106は該追加マーカの世界座標を、撮像画像内にある既知マーカ群情報を用いて算出し、既知マーカ群情報として登録、管理する。【選択図】  図3
2005327204.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段によって撮影された現実世界の撮像画像に対して仮想画像を重畳する際に、前記現実世界にあって世界座標が既知である既知指標情報を用いて位置合わせを行う画像合成方法であって、
前記撮像画像内において追加指標を指定し、
前記追加指標の世界座標を、前記撮像画像内にある前記既知指標情報を用いて算出し、
前記追加指標の世界座標を、前記既知指標情報として登録する
ことを特徴とする画像合成方法。
【請求項２】
前記追加指標の世界座標を、前記既知指標情報、前記撮像画像における既知指標の座標値、および前記撮像画像における前記追加指標の座標値、を用いて算出する
ことを特徴とする請求項１記載の画像合成方法。
【請求項３】
前記撮像手段は、ビデオシースルーHMDであることを特徴とする請求項１記載の画像合成方法。
【請求項４】
前記撮像手段の位置および姿勢情報を、前記撮像画像内にある前記既知指標情報を用いて算出し、
前記撮像手段の位置および姿勢情報に基づいて、前記仮想画像を生成する
ことを特徴とする請求項１記載の画像合成方法。
【請求項５】
前記追加指標の世界座標が算出できない場合に、該追加指標を仮登録することを特徴とする請求項１記載の画像合成方法。
【請求項６】
前記仮登録された追加指標は、前記撮像画像内にある前記既知指標情報が所定条件を満たした場合に、その世界座標が算出されて前記既知指標情報として登録される
ことを特徴とする請求項５記載の画像合成方法。
【請求項７】
前記撮像画像内における前記追加指標の指定は、スタイラスを用いて行われる
ことを特徴とする請求項１記載の画像合成方法。
【請求項８】
前記撮像画像内における前記追加指標の指定は、該追加指標上に所定枠をかざすことによって行われる
ことを特徴とする請求項１記載の画像合成方法。
【請求項９】
前記所定枠は、操作者の手指によって形成されることを特徴とする請求項８記載の画像合成方法。
【請求項１０】
情報処理装置を制御して、請求項１から請求項９の何れかに記載された画像合成方法を実現することを特徴とするプログラム。
【請求項１１】
請求項１０に記載されたプログラムが記録されたことを特徴とする記録媒体。
【請求項１２】
撮像手段によって撮影された現実世界の撮像画像に対して仮想画像を重畳する際に、前記現実世界にあって世界座標が既知である既知指標情報を用いて位置合わせを行う画像合成システムであって、
前記撮像画像内において追加指標を指定し、
前記追加指標の世界座標を、前記撮像画像内にある前記既知指標情報を用いて算出し、
前記追加指標の世界座標を、前記既知指標情報として登録する
ことを特徴とする画像合成システム。
【請求項１３】
現実世界を撮影して撮像画像を得る撮像手段と、
前記現実世界にあって世界座標が既知である既知指標情報を管理する指標管理手段と、
前記撮像手段の位置および姿勢情報を、前記撮像画像内にある前記既知指標情報を用いて算出する撮像位置算出手段と、
前記撮像手段の位置および姿勢情報に基づいて、前記仮想画像を生成する仮想画像生成手段と、
前記撮像画像に対して前記仮想画像を重畳する合成手段と、
前記合成画像を表示する表示手段と、
を有する画像合成装置であって、
前記撮像画像内において追加指標を指定する指標指定手段と、
前記追加指標の世界座標を、前記撮像画像内にある前記既知指標情報を用いて算出する座標算出手段と、を有し、
前記指標管理手段は、前記追加指標の世界座標を、前記既知指標情報として登録、管理することを特徴とする画像合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像合成システムおよび画像合成方法、および画像合成装置に関し、例えば、現実世界の撮像画像に対して、世界座標が既知である既知指標情報を用いて仮想画像を重畳する画像合成システムおよび画像合成方法、および画像合成装置に関する。
【背景技術】
【０００２】
近年、現実空間と仮想空間の繋ぎ目のない結合を目的とした、複合現実感（以下、MR（Mixed Reality）と称す）に関する研究が盛んに行われている。MRは従来、現実空間と切り離された状況でのみ体験可能であった仮想空間（以下、VR（Virtual Reality）と称す）の世界と現実空間の共存を目的とし、VRを増強する技術として注目されている。
【０００３】
MRの提示を行う画像表示装置は、ビデオカメラなどの撮像装置によって撮影された現実空間の画像に、仮想空間（たとえばコンピュータ・グラフィックス（以下、CGと称す）により描画された仮想物体や文字情報など）の画像を重畳表示することで実現される。たとえばMRシステムとして、体験者がHMD（Head Mount Display）を装着して風景（すなわち現実空間の画像）を眺めると、それに対応した位置情報や名称（すなわち仮想空間の画像）が補助表示されるシステム等が知られている。
【０００４】
MRに要求されるのは、現実空間と仮想空間の間の位置合わせをいかに正確に行うかということであり、従来から多くの取り組みが行われてきた。
【０００５】
MRにおける位置合わせの問題は、現実空間に設定した世界座標系（以降、単に世界座標系と呼ぶ）における、視点位置としてのカメラの3次元位置姿勢を求める問題に帰結される。ここで、世界座標系は、現実空間に固定されている必要はない。例えば車両内を仮想空間とした場合、現実空間に設定した世界座標系も車両の動きに応じて動くように設定することも可能である。
【０００６】
世界座標系におけるカメラの位置姿勢を計測する方法として、磁気式センサや光学式センサ、超音波式センサなどの3次元位置姿勢センサを利用することが行われている。しかし、これら位置姿勢センサによるカメラの位置の計測ではその精度が不十分であることから、これらセンサによるカメラの位置姿勢に基づいて仮想物体を現実空間に重畳表示しようとすると、所望の位置よりずれて表示されることがあった。
【０００７】
そのために従来では、センサ誤差を補正する手法として、または、センサを用いずに世界座標系におけるカメラの位置姿勢を計測する方法として、3次元空間中の座標（世界座標）値が既知である指標（マーカ）を複数配置しておき、これをカメラにより撮像して、マーカの世界座標と撮像画像座標の関係をみたすようなカメラの位置姿勢を算出する方法がある（例えば、特許文献１参照）。
【０００８】
一般に、3次元位置の既知な複数の点（理論的には3点以上、安定的に解くためには6点以上）の撮影画像上における位置が得られれば、その対応関係からカメラ視点の位置と方位姿勢を求めることができる（いわゆるPnP問題を解く）。
【０００９】
このようなマーカを用いた位置合わせ手法を用いる際には、世界座標値が既知であるマーカを予め準備しておく必要がある。以下、位置合わせのために世界座標値が既知であるマーカを準備する作業を「マーカ登録」という。マーカは人工的に定義したものであってもよいし、自然特徴などを利用しても良いが、移動するカメラにおいて、常にマーカが撮影されているように配置されていることが望ましい。
【００１０】
上述したようにマーカ登録とは、現実空間にマーカを配置し（または配置されているマーカに対し）、マーカの特徴や配置などの情報を入力することであるが、特にマーカの3次元的配置情報を正確に入力することは作業者にとって負担の大きい作業であり、移動するカメラにおいて、常にマーカが撮影されるように考慮してマーカを配置することは、さらに困難である。
【００１１】
従来のHMDを装着してMRを体験させるシステムにおいては、例えば配置されているマーカが少ないためにHMDカメラ画像上にマーカが写らないことから、新たにマーカを配置する必要性を感じたとしても、体験者がHMDを装着したまま簡単にマーカを追加登録する手段がなかった。
【特許文献１】特開2002-228442公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、上述の問題を個々にまたはまとめて解決するもので、MRシステムの体験者によるマーカの追加登録を容易に可能にすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１４】
すなわち、撮像手段によって撮影された現実世界の撮像画像に対して仮想画像を重畳する際に、前記現実世界にあって世界座標が既知である既知指標情報を用いて位置合わせを行う画像合成方法であって、前記撮像画像内において追加指標を指定し、前記追加指標の世界座標を、前記撮像画像内にある前記既知指標情報を用いて算出し、前記追加指標の世界座標を、前記既知指標情報として登録することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、画像合成システムの撮像画像上において、操作者によるマーカ追加登録が容易に可能となる。すなわち、現実空間と仮想空間との複合現実感を体験する観点による指標の追加配置が容易に可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。
【００１７】
[第１実施形態]
本実施形態に係る映像合成装置の一例は、体験者が表示装置を装着して風景を眺めると、体験者の位置や姿勢（視野）に応じてCGが表示されるMRシステムである。なお、本実施形態におけるシステム構成の詳細については後述する。
【００１８】
本実施形態におけるMRシステムの表示装置としては、位置・姿勢計測センサが内蔵されたビデオシースルーHMDを用いる。つまり、HMDには位置・姿勢計測センサおよびカメラが内蔵されている。体験者の位置・姿勢はHMDに内蔵された位置・姿勢センサから出力される計測値を利用して算出するが、位置・姿勢センサからの出力には計測誤差が生じる。その計測誤差を補正するため、HMDに内蔵されたカメラで世界座標が既知のマーカを撮影し、マーカの世界座標とカメラ画像座標の関係を満たすようにして、カメラの位置姿勢を算出する構成となっている。
【００１９】
体験者の周囲には複数のマーカが配置され、これらは予めマーカ登録されているものの、自由に動き回る体験者のHMDカメラに常にマーカが撮影されるほど十分には配置されていない。
【００２０】
このため、空間中の適当な場所にマーカを追加登録して、体験者が空間を自由に動き回っても現実空間と仮想画像とが正確に位置合わせされるような環境を設定する必要がある。このため本実施形態のMRシステムでは、マーカ追加登録機能を備えることを特徴とする。
【００２１】
本実施形態のMRシステムの体験者は、HMDを装着したままスタイラスUI（ユーザインタフェース）を利用して、マーカを新たに追加登録すること（マーカ登録）が可能である。本実施形態におけるマーカ情報としては少なくとも、マーカID、色、形、大きさ、世界座標の5つを含み、形、大きさは規定されているものとする。
【００２２】
図1A〜1Cは、本実施形態においてマーカを追加する様子を示す図である。
【００２３】
図1Aに示すように、机周辺に既に4つのマーカ（10,20,30,40）が配置されている場面において、図1Bに示すように机上の右下にマーカ50を追加登録する手順を説明する。まず図1Bに示すように机上に追加するマーカ50（以下、追加マーカ50と称する）を配置し、次に図1Cに示すようにHMD撮像画像上においてスタイラス60の先が、追加登録したいマーカ（追加マーカ50）に来るように指し、不図示であるマーカ追加ボタンと定義されたスタイラスボタンを押下する。
【００２４】
次に、以上の動作に伴って、システム側において追加マーカ50の登録が行われる様子を説明する。本実施形態におけるマーカは、形、大きさは規定されていることから、色および世界座標を算出することでマーカの登録が可能となる。まず、HMD撮像画像上のスタイラス60の先端付近から上記規定の形を持つ領域（この場合マーカ50の占める領域）が検出され、その領域の色がマーカの色として抽出される。さらに追加マーカ50の世界座標の算出についてであるが、既に登録されているマーカ情報がHMD撮像画像中に十分存在する場合、以下の工程によって追加マーカ50の世界座標値が算出可能である。
【００２５】
(1)  HMDにおける左右の撮像装置について、これら撮像画像中に存在する複数（この場合3個以上）の登録マーカ（この場合マーカ10,20,30,40）に基づいて撮像位置を算出する。すなわち、追加マーカ50が撮像された、撮像位置・姿勢が既知の撮像画像が2枚得られる。
【００２６】
(2)  いわゆる三角測量の原理で追加マーカ50の世界座標を算出する。
【００２７】
なお、追加マーカの世界座標の算出方法は、上述した手法に限定されるものではない。また、上記(1)の工程ではHMD左右の撮像装置より、追加マーカが撮像された、撮像位置が既知の撮像画像を2枚得る例を示したが、HMDが動的に動くことを利用して、時系列の違う2枚を選択することで2枚の撮像画像を得るようにしてもよい。この場合、撮像位置が異なっていて、かついずれの撮像画像にも追加マーカ50が撮像されている必要があることから、例えば、HMD内蔵の位置姿勢センサからの出力値を利用して、撮像位置が異なり過ぎない2枚を選択するように構成してもよい。また、マーカ追加登録操作を、位置をずらしてスタイラスボタンを2度押す操作などにしてもよい。
【００２８】
また、追加マーカの位置算出制度を向上させるために、時系列の異なる複数枚の画像を利用して、マーカ位置を算出するようにしてもよい。
【００２９】
追加マーカ50の世界座標値が算出できれば、追加マーカ50のマーカ情報（マーカID、大きさ、形、色、世界座標値）の全てが得られ、正規マーカとして登録される（正規マーカ登録）。
【００３０】
しかし図2に示すように、HMD撮像画像中に登録マーカが十分には存在しない（この場合3個未満、マーカ10,20のみ）などの理由により、追加マーカ50の世界座標値が算出できない場合が考えられる。このような場合本実施形態では、追加マーカ50は世界座標値が未知である「あいまいマーカ」として登録される（あいまいマーカ登録）。
【００３１】
あいまいマーカは後述するように、MRシステム起動中、その世界座標値が算出された時点で正規マーカとして再登録される。
【００３２】
図3は、本実施形態におけるMRシステムの概略構成を示すブロック図である。
【００３３】
同図において、101は撮像部であり、ここではHMDに内蔵されたカメラである。撮像部101は体験者の観察する映像を撮影し、撮影映像を映像信号として撮像映像取込部102に出力する。
【００３４】
102は撮像映像取込部であり、撮像部101より入力された映像信号を映像合成部110およびマーカ抽出・管理部106のそれぞれに適した形式に変換して、映像合成部110およびにマーカ抽出・管理部106に送出する。
【００３５】
103は撮像位置・姿勢計測部である。撮像位置・姿勢計測部103は、ここではHMDに内蔵されており、撮像部101の位置・姿勢情報を撮像位置・姿勢演算部107からの要求に応じて、又は撮像位置・姿勢演算部107からの要求なしに撮像位置・姿勢演算部107に送出する。なお、撮像位置・姿勢計測部103としては、例えば地磁気センサやジャイロや光学式のセンサを利用することが考えられる。
【００３６】
104は操作入力部である。操作入力部104は各種インタフェース機器によって実現され、ユーザからの入力信号をデータとして入力する。操作入力部104は、本実施形態においては位置・姿勢が計測可能なボタン付きスタイラスUIで実現され、上述したユーザからのマーカ追加登録コマンドを受け付け、スタイラスの位置・姿勢情報を信号として出力する。操作入力部104は、入力された信号を適切な形に変換し、マーカ追加登録コマンドをマーカ抽出・管理部106へ送出し、スタイラスの位置・姿勢情報を操作入力部位置算出部105に送出する。
【００３７】
105は操作入力部位置演算部である。操作入力部位置演算部105は、操作入力部104から入力された操作入力部104の位置・姿勢情報および、撮像位置・姿勢演算部107より入力されたカメラ位置姿勢情報に基づき、HMD撮像画像上におけるスタイラスの位置を算出する。操作入力部位置算出部105で算出されたスタイラスの位置情報は、マーカ抽出・管理部106へ送出される。なお、操作入力部104においてスタイラスが不適切な範囲を指した等、位置情報が算出できない場合には、操作入力部位置演算部105はエラー情報を出力する。
【００３８】
106はマーカ抽出・管理部であり、(a)登録マーカの抽出処理、(b)あいまいマーカの正規マーカ登録処理、(c)追加マーカ登録処理を行う。なお、マーカ抽出・管理部106はその内部に、登録されたマーカ情報を保持するメモリ（マーカ登録メモリ）を有している。
【００３９】
以下、マーカ抽出・管理部106によるこれら(a)〜(c)の各処理について説明する。
【００４０】
(a)登録マーカ抽出処理
マーカ抽出・管理部106は、撮像映像取込部102から読み込まれる撮像画像から、既にマーカ登録メモリに登録されているマーカ情報（マーカID、色、形、大きさ、世界座標等）に従って、登録マーカを抽出する。なおこのとき、世界座標が未知であるあいまいマーカも抽出される。以下、登録されたマーカのうちあいまいマーカでないものを、その区別を明確にするために「正規マーカ」と称する。なお、抽出されたマーカが「正規マーカ」であるか「あいまいマーカ」であるかは、そのマーカIDによって識別される。
【００４１】
通常、HMDには撮像装置が左眼用と右眼用とで2つ付属しているが、2つの撮像装置の位置・姿勢関係は固定であるから、一方の撮像装置の位置姿勢情報からもう一方の位置姿勢を算出することができる。このため、本実施形態におけるマーカ抽出・管理部106においては、左右いずれか一方の撮像画像に対してマーカ抽出を行うとする。
【００４２】
抽出された登録マーカの情報は、抽出登録マーカ情報として撮像位置・姿勢演算部107へ送出される。なお、抽出登録マーカ情報には、該マーカの撮像画像上における位置の実測値である撮像位置情報が含まれる。
【００４３】
(b)あいまいマーカの正規マーカ登録処理
マーカ抽出・管理部106は、抽出登録マーカにあいまいマーカが含まれ、かつ抽出された正規マーカ数が、あいまいマーカの世界座標を算出するのに十分（本実施形態では3個以上）であれば、あいまいマーカの世界座標を算出する。また、マーカとして単体のマーカで位置姿勢が算出可能なものを用いる場合には、１つのマーカがHMD撮像装置に完全に写っている場合に、あいまいマーカの世界座標を算出するようにしてもよい。
【００４４】
ここで、あいまいマーカの世界座標を算出するためには、撮像位置・姿勢が既知の撮像画像2枚におけるあいまいマーカの位置情報が必要であることから、上記処理(a)でマーカ抽出が行われなかった方の撮像画像からも、あいまいマーカを抽出する。そして、左右2枚の撮像画像を利用して、三角測量法によってあいまいマーカの世界座標を算出する。あいまいマーカの世界座標が算出できた場合、このあいまいマーカを世界座標が既知の正規マーカとして、マーカ登録メモリへ再登録する。
【００４５】
すなわち、あいまいマーカの正規マーカ登録処理は、MRシステム起動中、その世界座標値が算出された時点で自動的に行われる。
【００４６】
(c)追加マーカ登録処理
マーカ抽出・管理部106は、操作入力部104からマーカ追加登録コマンドが入力されると、操作入力部位置演算部105からHMD撮像画像上のスタイラス位置情報を入力し、HMD撮像画像上のスタイラスの先端付近から上記規定の形を持つマーカ領域を検出し、その領域の色を登録マーカの色として抽出する。例えば、図1Cに示す追加マーカ50がスタイラス60によって指示され、抽出される。
【００４７】
マーカ抽出・管理部106は、処理(a)によって抽出された登録マーカ数が、追加マーカの世界座標を算出するのに十分である（本実施形態では3個以上である）場合、追加マーカの世界座標を算出する。この場合も、上記処理(b)におけるあいまいマーカ登録の場合と同様に、追加マーカの世界座標を算出するためには、撮像位置・姿勢が既知の撮像画像2枚における、追加マーカの位置情報が必要である。したがって、上記処理(a)でマーカ抽出が行われなかった方の撮像画像からも追加マーカを抽出し、左右2枚の撮像画像を利用して、三角測量法によって追加マーカの世界座標を算出する。追加マーカの世界座標が算出できた場合、この追加マーカを正規マーカとして、マーカ登録メモリへ再登録する。
【００４８】
すなわち、追加マーカ登録処理は、操作入力部104からのコマンド入力に応じて行われる。
【００４９】
一方、抽出された登録マーカ数が追加マーカの世界座標を算出するのに十分でない（本実施形態では3個未満である）場合を含め、追加マーカの世界座標が算出できなかった場合は、追加マーカをあいまいマーカとして登録する。
【００５０】
なお本実施形態では、追加マーカの世界座標値が算出できない場合には、これをあいまいマーカとして登録する例を示したが、これを登録しないようにしてもよい。
【００５１】
これらマーカ登録結果は、撮像位置・姿勢演算部107へ登録マーカ情報として送出される。
【００５２】
撮像位置・姿勢演算部107では、撮像部101（HMDカメラ）の位置姿勢を補正する。すなわち、まずマーカ抽出・管理部106より入力された各正規マーカの世界座標および、撮像位置・姿勢計測部103より入力された撮像部101の撮影位置・姿勢情報に基づき、各正規マーカの画像座標の理論値を求める。そして各正規マーカについて、その画像座標の理論値と、マーカ抽出・管理部106から抽出登録マーカ情報として送出された撮像画像上位置の実測値と、の誤差の和が最小となるような、撮像部101の位置姿勢を算出する。算出された位置姿勢情報は、CG生成部108に送出される。
【００５３】
CG生成部108では、撮像位置・姿勢演算部107から撮像部101の位置・姿勢情報を取り出して、撮像部101の位置・姿勢（方向）を推定する。撮像部101の位置・姿勢が推定できれば撮像部101の視野が求まるため、CG生成部108はデータ部109から撮像部101の視野に対応する部分のデータを取り出し、撮像部101の視野に重なるCGを生成し、映像合成部110に出力する。
【００５４】
109はデータ部であり、たとえばハードディスクから構成され、CG生成部108に引き渡すデータを所持する。データ部109に格納されるデータとしては、たとえばテキスト情報やパノラマ映像、三次元CGデータ等が考えられる。データ部109は、CG生成部108からの要求に応じて適切なデータをCG生成部108に送出する。たとえば、CG生成部108が撮像部101の視野に合成する三次元CGデータを要求してきた場合、データ部109は格納されている三次元CGデータの中から撮像部101の視野に含まれる三次元CGデータを取り出して送出する。なお、データ部109はハードディスクに限らず、データを保持することができる媒体であれば何でもよく、たとえばテープやメモリなどで構成してもよい。
【００５５】
映像合成部110は、撮像映像取込部102から撮影映像を、CG生成部108からCGをそれぞれ読み込み、撮像映像取込部102からの撮影映像にCG生成部108からのCGを合成する。
【００５６】
111は表示部であり、映像合成部110から送出された合成映像信号を表示する。
【００５７】
以上の様な構成を備えた本実施形態のMRシステムの制御について、以下に説明する。図4は、本実施形態の映像合成装置における処理の手順を説明するフローチャートである。なお、上述した各構成の全体の制御は、不図示のシステム制御部において統括的に行われる。該システム制御部においては、CPUがROMに保持された制御プログラムを作業用RAM等に読み出して実行することによって、その制御が実現される。
【００５８】
まずステップS000において、本実施形態のMRシステムが起動し、各構成において初期設定が行われる。例えば、マーカ抽出・管理部106はマーカ登録メモリからマーカに関する初期設定データを読み込み、CG生成部108はデータ部109から初期設定に関するデータを読み込んで、それぞれの初期設定を行う。
【００５９】
ステップS100で、撮像部101から映像が取得され、取得された撮影映像は撮像映像取込部102で後段の構成に適切なフォーマットに変換され、映像合成部110およびマーカ抽出・管理部106に送られる。
【００６０】
ステップS200では、マーカ抽出・管理部106において、読み込まれた撮影映像からマーカが抽出される。そして抽出された登録マーカ情報が撮像位置・姿勢演算部107に送られる。
【００６１】
ステップS300では、撮像位置・姿勢計測部103において撮像部101の位置・姿勢が計測され、計測された位置・姿勢情報は撮像位置・姿勢演算部107に送られる。
【００６２】
ステップS400では、撮像位置・姿勢演算部107において、撮像位置姿勢が算出される。すなわち、まずマーカ抽出・管理部106より入力された各マーカの世界座標、および撮像位置姿勢計測部103より入力された撮像位置姿勢に基づいて、そのマーカの画像座標の理論値を求め、次に該理論値と、マーカ抽出・管理部106から抽出登録マーカ情報として送出された画像座標の実測値との誤差の和が最小となるような撮像位置姿勢を算出する。これにより、撮像部101すなわちHMDカメラの位置姿勢が補正される。
【００６３】
ステップS500では、マーカ抽出・管理部106においてあいまいマーカ再登録が行われる。つまり、撮像画像中にあいまいマーカおよび複数の正規マーカが存在し、かつあいまいマーカの世界座標が算出できた場合、あいまいマーカを正規マーカとして再登録する。
【００６４】
ステップS600では、操作入力部104においてマーカ追加登録コマンドが入力されたか否かのチェックが行われる。マーカ追加登録コマンド入力があった場合、操作入力部104からの操作部位置・姿勢情報（この場合、スタイラス位置・姿勢情報）が操作入力部位置演算部105へ送出され、ステップS700へ進む。一方、マーカ追加登録コマンド入力がなかった場合はステップS1100へ進む。
【００６５】
ステップS700では、操作入力部位置演算部105において、操作入力部104から入力された操作部位置・姿勢情報および、撮像位置・姿勢演算部107より入力される撮像位置・姿勢情報に基づき、撮像画像上における操作入力部104の位置、すなわち指示位置が算出される。この算出結果は操作入力部位置としてマーカ抽出・管理部106へ送出される。
【００６６】
ステップS800では、マーカ抽出・管理部106において、操作入力部位置演算部105より入力された操作入力部位置に応じて、ステップS100で入力された撮像画像から追加マーカを抽出する。なお、操作入力部位置演算部105より入力された操作入力部位置がエラーであった場合および、追加マーカが抽出できなかった場合はステップS1100へ進む。
【００６７】
ステップS900では、マーカ抽出・管理部106において追加マーカの世界座標が算出される。ここで、追加マーカの世界座標が算出された場合にはステップS1000に進み、マーカ抽出・管理部106において追加マーカの正規登録が行われる。一方、追加マーカの世界座標が算出されなかった場合にはステップS1050に進み、マーカ抽出・管理部106において追加マーカがあいまい登録される。いずれの場合も、マーカ登録後はステップS1100に進む。
【００６８】
ステップS1100では、CG生成部108において、撮像位置・姿勢演算部107より送出された位置・姿勢情報から撮像部101の視野を推定し、データ部109から撮像部101の視野に含まれる範囲のデータを取得し、CGを生成する。生成したCG映像は映像合成部110に送られる。CG映像の例としては、HMDカメラによって風景が撮像された場合における、該風景画像に対応した位置情報や名称等の文字データが考えられる。
【００６９】
ステップS1200では、映像合成部110において、撮像映像取込部102から送出された撮影映像と、CG生成部108から送出されたCG映像が合成される。合成された映像は表示部111に送られる。
【００７０】
ステップS1300では、表示部111において、映像合成部110より入力された映像が表示される。
【００７１】
その後ステップS1400でシステムを終了するか否かがチェックされ、システムを終了させる場合はステップS1500でシステムを終了させ、終了させない場合にはステップS100に戻り、上述の処理を繰り返す。
【００７２】
以上説明したように本実施形態によれば、MRシステムの体験者がHMDを装着したまま、HMD撮像画像上で追加マーカ位置を指示するだけで、システム側において既に登録されているマーカ情報を用いて追加マーカの世界座標値が算出される。すなわち、マーカを追加した位置の世界座標を手作業で計測する必要がないため、マーカの追加登録が容易に行える。さらに、HMDを装着したままマーカの追加登録が行えるため、MRを体験する観点に基づいたマーカの配置が可能となり、より操作性が向上する。
【００７３】
[第２実施形態]
以下、本発明に係る第2実施形態について説明する。なお、第2実施形態におけるMRシステムの構成は、第1実施形態で示した図3と同様であるため、説明を省略する。
【００７４】
上述した第1実施形態では、追加マーカの位置を入力するUIとしてスタイラスを用いる例を説明したが、本発明の位置指定UIとしては、マーカ領域を指定できるものであれば何でも良い。そこで第2実施形態においては、追加マーカ領域指定UIとして、CG除去領域を示すフレーム（以下、マーカ領域指定フレーム）を用いる例について説明する。このマーカ領域指定フレームは、その周囲に予め定義されたマーカ（以下、フレームマーカ）を有しているため、HMD撮像画像上で該フレームマーカを抽出することにより、該フレーム、及び該フレームによって指定されたマーカ領域が抽出される。
【００７５】
図5A〜5Dに、マーカ領域指定フレームの例を示す。図5Aに示す様にマーカ領域指定フレームは、体験者が手に持つ柄の部分21と、フレーム部分22とから構成されている。ここでは説明を簡単にするため、マーカ領域指定フレームはHMDカメラ（撮像部101）の撮像面と平行となるように用いるという拘束を加える。
【００７６】
図5A〜5Dに示すそれぞれのフレーム部分において、小さい円がフレームマーカを、斜線部がCG除去領域を示す。なお、斜線部のCG除去領域は切り抜かれていても、存在していても良い。
【００７７】
体験者は所望の位置に追加マーカを配置した後、HMD撮像画像内においてフレーム内（斜線部）に追加マーカを配置した領域が来るように、マーカ領域指定フレームをかざす。そして、予め定義されたマーカ追加ボタンを押下する。
【００７８】
するとシステムは、フレーム外周部に設けられたフレームマーカを抽出することによってフレームで指定された領域を求めることができ、当該領域をマーカ領域として解析することで、マーカ登録がなされる。
【００７９】
図5Aでは、四角形のフレームの4角それぞれに、3つのフレームマーカが1セットとして配置されている。この場合、HMD撮像画像上からいずれか1セットのフレームマーカが抽出されれば、マーカ領域が特定できる。
【００８０】
また、図5Bでは円型フレームの周囲に複数のフレームマーカが配置されている。円周上において3点が得られれば1つの円が決定されることから、任意の3個のフレームマーカが抽出できれば、その内部をマーカ領域として特定できる。
【００８１】
図5Cは、図5Bのフレームマーカを3点に絞ったものである。これは、マーカ領域指定フレームに多くのフレームマーカを配置することが煩わしい場合に有効である。
【００８２】
図5Dは、方向性のあるフレームマーカの例を示す。すなわち、23が矢印形状のフレームマーカであり、この先端に位置する特定形状（例えば円）の領域を、マーカ領域として定義する。これは、CG描画部とCG除去領域との境目にマーカを置きたくない場合に有効である。
【００８３】
なお、フレームマーカの色は任意であるが、一般のマーカはその検出を容易にするために現実物体で使われないような蛍光色等が使われることを考慮すると、フレームマーカは一般マーカと対照的な色であることが好ましい。
【００８４】
また、フレームの大きさ（CG除去領域の大きさ）は任意であるが、あまり大きいとCG除去領域が大きくなりすぎ、HMDの視野に含まれるCGの大半が表示されなくなってしまい、逆に小さすぎると位置の調整が難しくなってしまうために、適切な大きさを設定する必要がある。例えば、HMDカメラからフレームまでの距離によって撮影画像中に占めるフレームサイズの割合が変化するため、その変化しうる範囲、すなわち一般的な体験者の腕の長さ等を考慮して、フレームの大きさを設定することが有効である。
【００８５】
以上説明したように第2実施例によれば、体験者がHMDを装着したままマーカを追加したい場合、追加マーカを配置した後に専用のマーカ領域指定フレームを追加マーカ位置にかざすだけで、追加マーカ領域の抽出が可能となる。従ってマーカの追加登録を、上述した第1実施形態よりもさらに容易に行うことができる。
【００８６】
[第３実施形態]
以下、本発明に係る第3実施形態について説明する。なお、第3実施形態におけるMRシステムの構成は、第1実施形態で示した図3と同様であるため、説明を省略する。
【００８７】
第3実施形態では、上述した第2実施形態で示したマーカ領域指定フレームを、体験者の手指で代用することを特徴とする。すなわち、体験者が手でのぞき穴を作ってHMD撮像画像上の追加マーカ領域位置にかざすことで、マーカ領域を指定する。するとシステムはHMD撮像画像から体験者の手の領域を抽出し、さらにその内部領域（のぞき穴領域）を抽出することで、指定されたマーカ領域が得られる。
【００８８】
このような第3実施形態は、手のマスク処理を行う一般的なMRシステムに対し、手の内部領域を抽出する処理を加えるだけで容易に実現可能である。これはすなわち、一般に手のマスク処理には、体験者の視点からの映像すなわちHMD撮像画像における手の領域を抽出するステップが含まれており、このようなマスク処理に対して、さらに手の内部領域を抽出するステップを加えることは容易に可能であるためである。
【００８９】
図6Aおよび図6Bに、第3実施形態における追加マーカ領域の指定例を示す。同図において、斜線部が追加マーカ領域フレームを示しており、図6Aは両手で、図6Bは片手で、それぞれフレームを形成する例を示す。
【００９０】
なお第3実施形態においては、専用の器具を用意することなく追加マーカ領域指定を行うことを目的としたため、追加マーカ領域指定例を「手領域の内部領域」として定義する例について説明した。しかしながら、第3実施形態の目的はこのような手領域指定のみによって実現されるものではない。例えば、追加マーカ領域指定を「ある特定色の内部領域」と定義することで、図6Cに示すような、ある特定色のフレームを持つ器具をCG除去領域指定のためのUIとして使用することも可能である。この場合もちろん、フレームの特定色としては手領域抽出に対応した肌色等に限定されることはないが、背景色やマーカ色に含まれない色に設定することが望ましい。
【００９１】
以上説明したように第3実施例によれば、体験者がHMDを装着したままマーカを追加したい場合、追加マーカを配置した後に手でのぞき穴をつくって追加マーカ位置にかざすだけで、追加マーカ領域の抽出が可能となる。従ってマーカの追加登録を、専用の器具を使用することなく行うことができる。
【００９２】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、カメラ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、HMDなど）に適用してもよい。
【００９３】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００９４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００９５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００９６】
【図１Ａ】第1実施形態においてマーカを追加登録する様子を示す図である。
【図１Ｂ】第1実施形態においてマーカを追加登録する様子を示す図である。
【図１Ｃ】第1実施形態においてマーカを追加登録する様子を示す図である。
【図２】あいまいマーカを登録する様子を示す図である。
【図３】第1実施形態におけるMRシステム概略構成を示すブロック図である。
【図４】第1実施形態における処理手順を示すフローチャートである。
【図５Ａ】第2実施形態におけるマーカ領域指定用のUI例を示す図である。
【図５Ｂ】第2実施形態におけるマーカ領域指定用のUI例を示す図である。
【図５Ｃ】第2実施形態におけるマーカ領域指定用のUI例を示す図である。
【図５Ｄ】第2実施形態におけるマーカ領域指定用のUI例を示す図である。
【図６Ａ】第3実施形態におけるマーカ領域指定用のUI例を示す図である。
【図６Ｂ】第3実施形態におけるマーカ領域指定用のUI例を示す図である。
【図６Ｃ】第3実施形態におけるマーカ領域指定用のUI例を示す図である。
【図１Ａ】
2005327204.tif 000003
【図１Ｂ】
2005327204.tif 000004
【図１Ｃ】
2005327204.tif 000005
【図２】
2005327204.tif 000006
【図３】
2005327204.tif 000007
【図４】
2005327204.tif 000008
【図５Ａ】
2005327204.tif 000009
【図５Ｂ】
2005327204.tif 000010
【図５Ｃ】
2005327204.tif 000011
【図５Ｄ】
2005327204.tif 000012
【図６Ａ】
2005327204.tif 000013
【図６Ｂ】
2005327204.tif 000014
【図６Ｃ】
2005327204.tif 000015