以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
現実世界と仮想世界とをリアルタイム且つシームレスに融合させる技術である複合現実感、いわゆるMR技術では、撮像機能付表示装置(以下、HMDと称す)が利用される。HMDの撮像部により取得された、HMD装着者の視点から見た現実空間の撮像画像データに、HMD装着者(撮像部)の位置及び方向等を示す位置姿勢情報に基づいて生成された仮想画像データが重畳され、HMDの表示部において表示される。その結果、HMD装着者は、仮想画像データ(CG:Computer Graphics)で描画されたオブジェクトが、観察している現実空間内にあたかも存在しているかのような複合現実感を体感することができる。なお、以下では、頭部装着型のHMDを想定して説明を行うが、双眼鏡のような手持ちタイプのHMDであってもよい。
先ず、本発明の第1の実施形態について説明する。図1は、第1の実施形態に係るMRシステムの構成を示す図である。図1に示すように、第1の実施形態に係るMRシステムは、HMD101、コントローラ102及び画像処理装置103を備える。
HMD101は、撮像部、画像表示部及び画像合成部を備える。撮像部は、HMD装着者の視点から見た現実空間、即ち、HMD装着者が観察している現実空間の画像データ(以下、現実空間画像データと称す)を撮像する。画像表示部は、撮像部により撮像された現実空間画像データ、画像処理装置103からの出力画像データ、及び、現実空間画像データに画像処理装置103で生成された仮想画像データを重畳したMR画像データを表示する。画像合成部は、現実空間画像データと仮想画像データとを合成してMR画像データを生成する。また、HMD101は、コントローラ102と通信を行う機能を有し、コントローラ102から電源供給を受けて駆動することも、バッテリで駆動することも可能な構成となっている。
コントローラ102と接続された画像処理装置103は、仮想画像データの描画を行うCG描画部を備える。画像処理装置103は、コントローラ102を介してHMD101と通信を行う。HMD101は、仮想画像データを入力し、仮想画像データと撮像画像データとを合成してMR画像データを生成し、画像表示部において表示する。コントローラ102は、HMD装着者の位置姿勢を計測する計測機能の他、画像データの解像度変換、色空間変換及び伝送フォーマット変換等の機能を備えている。
なお、図1では、コントローラ102と画像処理装置103とを別々のハードウェア構成としているが、コントローラ102と画像処理装置103とがそれぞれ有する機能を集め、一つの画像処理装置を構成してもよい。また、本実施形態では、各々の装置を有線で接続させているが、これらの一部又は全部を無線で接続させてもよい。さらには、コントローラ102の機能の一部又は全部をHMD101側に取り込むようにしてもよい。以下の説明では、機能的な観点から、コントローラ102及びHMD101がそれぞれ有する機能を組み合わせたものを改めてHMD101と称する。
図2は、第1の実施形態に係るMRシステムの機能的な構成を示す図である。図2において、101は、ビデオシースルー型のHMDである。図2に示すように、HMD101は、撮像センサ201、AFE202、特定色分離部203、位置姿勢計測部204、三次元位置姿勢センサ205、I/F206、カメラ画像処理部207、フレームバッファ208、画像合成部209及び表示ユニット210を備える。
撮像センサ201は、現実空間を撮像して、現実空間の画像に対応するアナログ信号を出力する。表示ユニット210は、現実空間画像データに仮想画像データが重畳されたMR画像データを表示する。画像処理装置103は、仮想画像データの描画処理、及び、位置予測を含む位置姿勢情報の補正処理を行う。I/F206は、HMD101と画像処理装置103とのインタフェースである。
AFE202は、撮像センサ201から出力されるアナログ信号をデジタル信号に変換するアナログフロントエンドである。カメラ画像処理部207は、デジタル信号であるRAWデータから現実空間画像データを生成する。フレームバッファ208は、カメラ画像処理部207により生成された現実空間画像データを格納する。
画像合成部209は、画像処理装置103側で生成された仮想画像データと、現実空間画像データとを合成する。特定色分離部203は、RAWデータから特定色の色プレーン(以下、特定色RAWデータと称す)を分離する。位置姿勢計測部204は、HMD101の位置姿勢情報を計測する。
画像処理装置103は、HMD101から入力した位置姿勢情報を補正する機能、及び、その位置姿勢情報に基づいて仮想画像データを生成する機能を有する。画像処理装置103としては、一般には、パソコンやワークステーション等の高性能な演算処理機能やグラフィック表示機能を有する情報処理装置が用いられる。
撮像センサ201は、HMD装着者の視線位置と略一致する現実空間を撮像する。撮像センサ201は、ステレオ画像データを生成するための右目用と左目用との二組の撮像素子及び不図示の光学系を備える。ここでは、Bayerパターンと呼ばれる色フィルタによって構成された単一の撮像素子を想定している。イメージセンサの種類としては、CCDでもCMOSでも構わないが、ここでは、CCDを現実空間画像データ取得用のセンサとする撮像デバイスを想定して説明を行う。
アナログフロントエンド(AFE)202は、撮像センサ201から出力されるアナログ信号に対して有効画素信号を抽出し、二重相関サンプリングによる固定パターンノイズを除去し、アナログ的なゲイン調整を行った後、A/D変換器を介してデジタル信号への変換を行う。特定色分離部203は、AFE202からの出力であるRAWデータを撮像センサ201の前面に構成されている色フィルタ毎に分離することにより、特定色RAWデータを生成する。
位置姿勢計測部204は、特定色RAWデータから、HMD装着者の位置姿勢情報を計測する。位置姿勢計測部204は、特定色RAWデータからマーカやマーカの代わりとなる自然特徴点を抽出して、HMD装着者の位置姿勢情報を計測する。なお、不図示の客観視点による撮像画像データや、HMD101に取り付けられた三次元位置姿勢センサ205からの出力信号を補足的に使用することにより、HMD装着者の位置姿勢情報の計測精度を上げることが可能となる。また、これらを使用することにより、特定色RAWデータ中にマーカや自然特徴点がない場合でも、HMD装着者の位置姿勢情報を計測することが可能となる。
本実施形態では、HMD101側に位置姿勢計測部204を備えることを前提としているが、同様の処理機能を画像処理装置103側に備えてもよい。この場合、特定色RAWデータをHMD101から画像処理装置103に送信する必要がある。
三次元位置姿勢センサ205は、HMD装着者の位置姿勢情報を得るためのセンサである。三次元位置姿勢センサ205としては、磁気センサやジャイロセンサ(加速度、角速度)が使用される。但し、位置姿勢計測部204は、特定色RAWデータのみでHMD装着者の位置姿勢情報を計測することも可能であるため、三次元位置姿勢センサ205は、必ずしも搭載が必須となるデバイスではない。
I/F206は、現実空間画像データを画像処理装置103に対して送信するとともに、現実空間画像データに合成する仮想画像データを画像処理装置103から受信するためのインタフェースである。このように、I/F206は、画像処理装置103に対するデータ通信の際、インタフェースとして機能するものであり、画像処理装置103側に設けられているI/F211も同様である。I/F206及び211は、リアルタイム性が求められ、且つ、大容量の伝送が可能な通信規格を採用することが望ましい。有線系であれば、USBやIEEE1394のメタル線、GigabitEthernet(登録商標)等の光ファイバが使用される。無線系であれば、IEEE802.11のワイヤレスLAN、IEEE802.15のワイヤレスPAN規格等に準拠した高速無線通信が使用される。ここでは、有線系であれば、光ファイバを想定しており、無線系であれば、UWB(Ultra Wide Band)を想定している。光ファイバの伝送帯域は数Gbpsであり、UWBの伝送帯域は数百Mbpsである。カメラ画像処理部207は、RAWデータからRGB又はYCCフォーマットの現実空間画像データを生成する。
フレームバッファ208は、カメラ画像処理部207により生成された現実空間画像データを格納する。画像処理装置103から入力された仮想画像データと、現実空間画像データとの合成の際に、各画像データ間におけるフレームの先頭位置を合わせる必要がある。フレームバッファ208は、その際の、現実空間画像データの読み出しのタイミング調整用に設けられている。画像合成部209は、背景画像データとして用意された現実空間画像データと仮想画像データとを合成する。ここでは、クロマキー合成を想定している。画像合成部209は、画像処理装置103から入力された仮想画像データの背景色をクロマキー色として現実空間画像データとの合成処理を行うことにより、MR画像データを生成する。なお、画像データの合成処理の手法は、クロマキー合成に限定されない。
表示ユニット210は、画像合成部209により生成されたMR画像データを表示する。撮像センサ201と同じく、右目用及び左目用の二組の表示デバイスと光学系とから構成される。表示デバイスは、小型の液晶ディスプレイやMEMS(Micro Electro Mechanical System)による網膜スキャンタイプのデバイスが使用される。
I/F211は、画像処理装置103側のインタフェースである。I/F211は、HMD101側のI/F206と同様であるため、説明を省略する。位置姿勢情報補正部212は、HMD101で生成されたHMD装着者の位置姿勢情報を補正する。即ち、位置姿勢情報補正部212は、時系列に把握した過去の位置姿勢情報から、MR画像データ表示時点の位置姿勢情報への補正処理を行う。この位置姿勢情報の補正処理は、一般的な予測処理の手法で構わず、よく知られた手法では、カルマンフィルタを用いたものがある。ここでは、画像表示時のタイミングと合わせたが、画像データ合成時のタイミングに合わせるようにしてもよい。位置予測の精度を維持できる範囲は、ある程度限られるため、システム構成や生成されるコンテンツによっては、予測処理をスキップすることも可能である。
コンテンツDB215は、仮想画像データのコンテンツを格納したデータベースであり、仮想空間を構成する各仮想物体に係るデータを保持している。仮想物体に係るデータには、例えば、仮想物体の位置姿勢情報、及び、その動作則を示すデータが含まれる。また、仮想物体がポリゴンで構成されている場合には、各ポリゴンの法線ベクトルデータやその色データ、及び、ポリゴンを構成している各頂点の座標位置データ等が仮想物体に係るデータに含まれる。さらに、仮想物体にテクスチャマッピングが施される場合には、テクスチャデータも仮想物体に係るデータに含まれる。
仮想画像描画部214は、コンテンツDB215に格納されるそれぞれの仮想物体に係るデータを用いて、それぞれの仮想物体を配置した仮想空間を形成する。次に、仮想画像描画部214は、HMD装着者の視点から見た仮想空間である仮想画像データを生成する。なお、所定の位置姿勢に対応する視点から見える仮想画像データの生成処理については周知であるため、これに関する詳細な説明は省略する。
ここで、本実施形態に係るMRシステムの処理の概要を説明する。撮像センサ201で得られたアナログ信号は、AFE202及びカメラ画像処理部207を介することにより、現実空間画像データとして構成された後、フレームバッファ208において格納される。また、AFE202から出力されるRAWデータは、特定色分離部203で色プレーンの画像データに分離されることにより、特定色RAWデータが生成される。位置姿勢計測部204は、特定色RAWデータに基づいて、HMD装着者の位置姿勢情報を計測する。計測されたHMD装着者の位置姿勢情報は、画像処理装置103に対して送信される。画像処理装置103は、HMD101から受信したHMD装着者の位置姿勢情報に基づいて仮想画像データを生成し、HMD101に対して送信する。
HMD101の画像合成部209は、画像処理装置103から受信した仮想画像データと、フレームバッファ208に格納される最新の現実空間画像データとのタイミングを調整して合成することにより、MR画像データを生成する。表示ユニット210は、画像合成部209により生成されたMR画像データを表示する。
図3は、画像処理装置103に適用可能なコンピュータのハードウェア構成を示す図である。図3において、301はCPUであり、RAM302やROM303に格納されているプログラムやデータを用いて、コンピュータ全体の制御を行うとともに、本コンピュータを適用した画像処理装置103が行う処理を実行する。
302はRAMであり、外部記憶装置306からロードされたプログラムやデータ、I/F307を介して外部(本実施形態の場合、HMD101)から受信したデータ等を一時的に記憶するためのエリアを有する。また、RAM302は、CPU301が各種の処理を実行する際に用いるワークエリアも有する。また、RAM302は、各種のエリアを適宜提供することもできる。
303はROMであり、本コンピュータの設定データやブートプログラム(BIOS)等を格納する。304は操作部であり、キーボードやマウス等により構成されており、本コンピュータの操作者が操作することにより、CPU301に対して各種の指示を入力することができる。
305は表示部であり、CRTや液晶画面等により構成されており、CPU301や不図示のグラフィックスボードによる処理結果を画像や文字でもって操作者へ表示することができる。
306は外部記憶装置であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。ここには、OS(オペレーティングシステム)や、画像処理装置103が行う後述する各処理をCPU301に実行させるためのプログラムやデータが保存されている。これらのプログラムやデータは、CPU301による制御に従って適宜RAM302にロードされ、CPU301による処理の対象となる。
307はI/Fであり、図2に示したI/F211に相当する。I/F307は、HMD101とのデータ通信を行うためのインタフェースとして機能する。308は上述した各部を繋ぐバスである。
図4は、HMD101のハードウェア構成を示す図である。図4において、401は撮像ユニットであり、撮像センサ201、AFE202及びカメラ画像処理部207に相当する。402は表示ユニットであり、図2の表示ユニット210に相当する。403はRAMであり、CPU406が各種の処理を行うために用いるワークエリアや、I/F206を介して外部(ここでは、画像処理装置103)から受信したデータを一時的に記憶するためのエリア等を有する。
404はROMであり、HMD101が行う後述の各処理をCPU406に実行させるためのプログラムやデータが格納されている。405は三次元位置姿勢センサであり、図2の三次元位置姿勢センサ205に相当する。
406はCPUであり、HMD101の初期設定を始め、各種デバイスの制御を行うプログラムを実行する。407はI/Fであり、図2のI/F206に相当する。408は位置姿勢計測LSIであり、図2の位置姿勢計測部204に相当する。ここでは、専用集積回路であるASICを想定しているが、信号処理プロセッサであるDSPによってソフト的に機能を記述し実現する構成でもよい。409は上述の各部を繋ぐバスである。なお、図2の特定色分離部203の機能は、CPU406に備えてもよいし、位置姿勢計測LSI408に備えてもよい。
図5は、図4の撮像ユニット401の詳細な構成を示す図である。図5に示すように、撮像ユニット401は、撮像センサ201、AFE202及びカメラ画像処理部207等を備える。
501は、撮像センサ201に結像させるための光学レンズである。502は、撮像センサ201を駆動するための垂直同期信号及び水平同期信号を、センサ駆動のために必要な電位に変換するH/Vドライバである。
AFE202は、CDS(Correlated double sampling)503、アナログアンプ504、AD変換器505及びタイミングジェネレータ506を備える。CDS503は、固定パターンのノイズを除去する二重相関サンプリング回路である。アナログアンプ504は、CDS503でノイズ除去されたアナログ信号のゲインを調整する。AD変換器505は、アナログ信号をデジタル信号に変換する。通常は、後段の処理を考慮して10〜16bit程度の量子化されたデジタル信号を出力する。ここで出力されるデジタル信号はRAWデータと呼ばれる。RAWデータは後段のカメラ画像処理部207で使用されるとともに、特定色分離部203でも使用される。タイミングジェネレータ506は、撮像センサ201のタイミング及びカメラ画像処理部207のタイミングを調整する信号を生成する。
カメラ画像処理部207は、黒補正部507、ホワイトバランス補正部508、Bayer変換部509、γ補正部510及びフィルタ処理部511を備える。黒補正部507は、単一画素処理の一つである黒補正処理を実行する。即ち、黒補正部507は、光学的に遮光した黒補正データとBayer配列の画素とで減算処理を行う。ホワイトバランス補正部508は、単一画素処理の一つであるホワイトバランス補正処理を実行する。即ち、ホワイトバランス補正部508は、被写体を照らす照明の色温度によってRGBのゲインを調整することによって望ましい白色を再現するものであり、具体的には、ホワイトバランス補正用データの加算処理によって、これが実現される。Bayer変換部509は、Bayer配列の画像データをRGB各色の全画素化を実現するための補間処理を行う。即ち、Bayer変換部509は、Bayer配列の各色フィルタで分解された画像データに対して、周辺の同色や他色から推測して補間処理を行う。ここでは、特に機能ブロックとして明記しなかった欠陥画素の補正処理(補間処理)も合わせて実現される。γ補正部510は、画像表示系の表現階調特性に合わせて、逆特性を加味する処理を実施する。即ち、γ補正部510は、高輝度部の階調圧縮や暗部処理によって、人間の視覚特性に合わせた階調変換を行う。フィルタ処理部511は、画像に含まれる高周波成分の抑制やノイズ除去及び解像感強調を実現する。
一般的なカメラ画像処理機能として、RGB信号をYCC等の輝度色差信号へ変換する色空間変換や大容量の画像データを圧縮する処理が含まれるが、本実施形態では、RGBデータを直接使用し、且つデータ圧縮を行わないものとする。
図6は、RAWデータから特定色を分離する処理を概念的に示す図である。図6(a)は、Bayer配列のRAWデータを示している。図6(a)に示すように、RAWデータは、R(赤)色、二つのG(緑)色及びB(青)色の各フィルタを介した各色の色データとなっている。R色及びB色は、水平方向及び垂直方向とも一画素おきに構成されている。G色は千鳥の構成となっているが、便宜的にR色と同じ行にある画素をGr色、B色と同じ行にある画素をGb色としている。
図6(b)は、RAWデータからR色のみを抽出した特定色RAWデータであり、図6(c)は、RAWデータからG色のみを抽出した特定色RAWデータであり、図6(d)は、RAWデータからB色のみを抽出した特定色RAWデータである。このように、R色とB色とは元となるRAWデータに対して水平及び垂直方向とも1/2のサイズになり、G色は水平方向のみ1/2のサイズとなる。実際には、Gr色とGb色とでは垂直方向の画素はずれている。
特定色分離部203は、図6(a)に示すRAWデータから、図6(b)、図6(c)及び図6(d)に示す特定色RAWデータを抽出する。G色の場合には、Gr色又はGb色の何れかを選択すれば、R色やB色と同じ画像サイズとなる。
図7は、図2の位置姿勢計測部204の詳細な構成を示す図である。図7に示すように、位置姿勢計測部204は、二値化処理部701、マーカ抽出部702、ラベリング処理部703、制御/データ補正部704、収束演算処理部705及び位置ズレ補正部706を備える。
二値化処理部701は、特定色RAWデータに対して任意の閾値で二値化処理を行う。即ち、二値化処理部701は、画素毎に閾値との比較を行い、0又は1の値を持つ二値画像データを生成する。閾値は、例えば、画像データを取得する際の現実空間の環境条件や採用される特定色によって、基準値から調整して取得される。
マーカ抽出部702は、二値画像データからマーカを抽出する。このように計測用に配置されたマーカを抽出する手法ではなく、二値画像データ中に含まれるエッジ部分等の自然特徴を抽出する手法を採用してもよい。ラベリング処理部703は、マーカ抽出部702により抽出されたマーカや自然特徴点が二値画像データ中に複数含まれる場合、それぞれの抽出領域を区別するための識別番号を付与する。
制御/データ補正部704は、三次元位置姿勢センサ205を制御するとともに、三次元位置姿勢センサ205からの出力信号を補正する。なお、三次元位置姿勢センサ205及び制御/データ補正部704の機能は補足的なものであり、位置姿勢計測部204にとって必須の機能ではないが、二値画像データ中のマーカや後述する自然特徴だけでは制限もあるため、搭載しておくことが望ましい。
収束演算処理部705は、マーカ抽出部702において一つ乃至それ以上のマーカが二値画像データから認識された場合、その位置を精度よく算出するための繰り返し演算処理を行うことにより、位置姿勢情報を算出する。二値画像データにマーカが含まれない場合も、マーカが抽出された時点の位置姿勢情報を基準に、相対的な移動量である加速度や角速度を他のセンサからの出力信号によって補うことにより、精度よく位置姿勢情報を算出することが可能となる。位置ズレ補正部706は、特定色RAWデータと特定色が分離される前のRAWデータとの位置ズレを補正する。
図8は、特定色RAWデータ生成処理から位置ズレ補正処理までの流れを示すフローチャートである。ステップ801において、特定色分離部203は、RAWデータから特定色を分離して特定色RAWデータを生成する。ステップ802において、位置姿勢計測部204は、特定色RAWデータを二値化処理するための閾値を設定する。ステップ803において、位置姿勢計測部204は、ステップ802で設定した閾値に基づいて、特定色RAWデータの二値化処理を行う。
ステップ804において、位置姿勢計測部204は、二値化処理により生成された二値画像データからマーカ又は自然特徴点を抽出する。ステップ805において、位置姿勢計測部204は、ステップ804で抽出したマーカ又は自然特徴点に対して識別子を付与するラベリング処理を行う。
ステップ806において、位置姿勢計測部204は、三次元位置姿勢センサ205からの出力信号を、HMD装着者の位置姿勢情報の計測に利用するか否かを判定する。三次元位置姿勢センサ205からの出力信号を利用する場合、処理はステップ807に移行する。一方、三次元位置姿勢センサ205からの出力信号を利用しない場合、処理はステップ808に移行する。
ステップ807において、位置姿勢計測部204は、三次元位置姿勢センサ205からの出力信号を補正する。なお、ここで補正された出力信号は、HMD装着者の位置姿勢情報の計測時に使用される。ステップ808において、位置姿勢計測部204は、ステップ805でラベリングされたマーカ又は自然特徴点の位置を高精度に算出するための収束演算を行う。ステップ809において、位置ズレ補正部706は、特定色RAWデータと特定色が分離される前のRAWデータとの位置ズレを補正する。
図9は、マーカを利用した、HMD装着者の位置姿勢情報の計測処理を説明するための図である。マーカ903は、HMD101の撮像ユニット401との位置関係が予め対応付けられているものとする。二値画像データ901にマーカ903が含まれている場合、位置姿勢計測部204は、二値画像データ901からマーカ903を抽出し、マーカ903の大きさ、形及び塗りつぶしのパターン等から、マーカ903と撮像ユニット401との相対的な位置関係、及び、HMD装着者がマーカを観察している方向に関する位置姿勢情報を算出する。
図9の例では、マーカ903の中心部を原点とする三次元座標系を想定しているが、座標系の原点はマーカ903上に設定する必要はなく、座標系の原点とマーカ903との相対的な位置関係を対応付けることにより、任意の位置に設定することができる。また、位置姿勢情報の生成に用いるマーカは単独ではなく、複数のマーカを同時に用いてもよい。複数のマーカを同時に用いる場合、各マーカの位置関係を予め定義しておくことにより、それらの相対的な位置関係から、マーカを観察している方向を算出することが可能となる。従って、図9に示したような内部の塗りつぶしパターンによって方向まで識別することが可能なマーカではなく、例えば、カラーマーカや、LED等の発光素子のような方向性の情報を持たないマーカを利用することも可能となる。
また、マーカ903ではなく、二値画像データ901中の自然特徴点(例えば、テーブル902の輪郭線904)や自然特定色を抽出し、これら自然特徴点等を用いて位置姿勢情報を算出することも可能である。同一種類のマーカを複数用いたり、数種類のマーカを同時に用いたり、マーカ903と二値画像データ901中の自然特徴点等とを組み合わせて用いることによって、より高い精度の位置姿勢情報を生成することができる。さらには、複数のマーカや自然特徴点等の位置関係が対応付けられているため、全てのマーカや自然特徴点等が二値画像データ901内に表示されていなくても、それぞれのマーカや自然特徴点等の位置を推定することも可能である。
次に、図10を参照しながら、位置ズレ補正部706における処理の前提となる位置ズレの概念を説明する。図10(a)は、特定色RAWデータである。ここではR色の画素を集めた特定色RAWデータを想定している。図10(b)は、特定色が分離される前のRAWデータを示している。図10(a)において、1001は、R色の特定色RAWデータ中に含まれるマーカ位置を示したものであり、実線がその範囲を示している。1002は、分離される前のRAWデータにおけるR色のマーカ位置を示したものであり、破線がその範囲を示している。1003は、マーカ位置1001を解像度変換による拡大処理した場合に想定される、分離される前のRAWデータにおけるR色のマーカ位置を示したものであり、実線がその範囲を示している。ここで、図6に示したように、特定色RAWデータは、分離される前のRAWデータに対して水平及び垂直とも画素数が半分となる。但し、補間による縮小処理ではないため、元となる分離される前のRAWデータとは絶対的な位置が異なる。
図10(a)の1001に示すマーカ位置は、3×3画素で構成される特定色RAWデータの中央部に位置しているが、元となるRAWデータでは、図10(b)の1002に示すマーカ位置となる。単純にR色の特定色RAWデータを水平及び垂直2倍に拡大した6×6画素で構成される画像データでは、図10(b)の1003に示すマーカ位置となり、水平方向には左に1/2画素、垂直方向には下に1/2画素ずれた範囲を指定することになる。
図7の位置ズレ補正部706は、この単純に拡大した場合の画素と実際に採用された画素とのズレ量を色フィルタの構成から判断して水平及び垂直方向にそれぞれ1/2画素シフトする処理を行う。その結果、特定色RAWデータを基にしたマーカ位置の範囲を、元となる分離される前の画素数が多いRAWデータ中の範囲として使用することができる。
次に、図11を用いて、画像処理装置103の処理について説明する。図11は、画像処理装置103の処理を示すフローチャートである。
ステップ1101において、画像処理装置103は、HMD装着者の位置姿勢情報をHMD101から受信する。ステップ1102において、画像処理装置103は、HMD装着者の位置姿勢情報の補正処理を行うか否かを判定する。位置姿勢情報の補正処理を行う場合、処理はステップS1103に移行する。一方、位置姿勢情報の補正処理を行わない場合、処理はステップS1104に移行する。
ステップS1103において、画像処理装置103は、HMD装着者の位置姿勢情報の補正処理を行う。なお、位置姿勢情報の補正処理の説明は、図2の位置姿勢情報補正部212に関する説明で既に行っているため省略する。
ステップ1104において、画像処理装置103は、HMD装着者の位置姿勢情報に従って仮想画像データを描画する。ステップ1105において、画像処理装置103は、ステップ1104で描画した仮想画像データをHMD101に対して送信する。
図12は、比較例のMRシステムの処理と、本実施形態に係るMRシステムの処理とを時系列で示す図である。即ち、図12(A)は、比較例のMRシステムの処理を示している。比較例のMRシステムは、HMD内部で画像データの合成処理及び位置姿勢情報の計測処理を行い、最新の現実空間画像データと画像処理装置側で生成された仮想画像データとを合成して表示する。図12(B)は、本実施形態に係るMRシステムの処理を示している。本実施形態に係るMRシステムは、現実空間画像データが生成されると同時に色分離された特定色RAWデータに基づいて、HMD装着者の位置姿勢情報の計測を行う。
図12において、t0は、比較例のMRシステム及び本実施形態に係るMRシステムにおける、現実空間を撮像するタイミングである。t1は、本実施形態に係るMRシステムにおける、HMD装着者の位置姿勢情報を計測するための、特定色RAWデータの二値化処理を開始するタイミングである。t2は、比較例のMRシステムにおける、HMD装着者の位置姿勢情報を計測するための、現実空間画像データの二値化処理を開始するタイミングである。t3は、比較例のMRシステム及び本実施形態に係るMRシステムにおける、t0で撮像された現実空間画像データと仮想画像データとの合成処理により生成されたMR画像データの表示タイミングである。t4は、本実施形態に係るMRシステムにおける、画像処理装置で生成された仮想画像データがHMDに送信されるタイミングである。t5は、比較例のMRシステムにおける、画像処理装置で生成された仮想画像データがHMDに送信されるタイミングである。
比較例のMRシステム及び本実施形態に係るMRシステムともに、t0で現実空間画像データを撮像し、t3でMR画像データを表示する点は同じである。即ち、現実空間画像データの撮像からMR画像データの表示までに要する時間は、比較例のMRシステムと本実施形態に係るMRシステムとで変わらない。
但し、比較例のMRシステムにおいて、仮想画像データがHMD101に送信されるタイミングはt5であり、現実空間画像データと仮想画像データとの合成処理からMR画像データ表示処理までに要する時間を加算すると、現実空間画像データの撮像処理からMR画像データ表示処理までに要する時間は、(t5−t0)+(t3−t2)となる。なお、t2の時点で合成される仮想画像データは、当該t2直前のt0のタイミングで撮像された現実空間画像データではなく、その一つの前のt0のタイミングで撮像された現実空間画像データを基にして生成されたものである。
これに対し、本実施形態では、現実空間画像データの撮像処理からMR画像データの表示処理までに要する時間は、(t4−t0)+(t3−t2)となり、比較例のMRシステムと比べて、t5−t4=T1分だけ時間を短くすることができる。この時間短縮は、HMD装着者の位置姿勢情報の計測処理を前倒しで行うことによる効果であり、t2−t1の時間に相当する。
比較例のように、現実空間画像データを生成した後に位置姿勢情報の計測処理を行う場合に比べ、本実施形態のように、現実空間画像データの生成処理と特定色RAWデータに基づく位置姿勢情報の計測処理とを並列して行う場合、仮想画像データの描画までに要する時間を短縮することが可能となる。
また、本実施形態では、画像合成部209をHMD101側に備えているため、HDM101側において最新の撮像画像データと仮想画像データとの合成処理が行われる。従って、仮想画像データの描画までに要する時間を短縮するだけでなく、撮像画像データの撮像処理から当該撮像画像データが表示されるまでに要する時間を短縮させることが可能となる。
また、画像合成部209及び位置姿勢計測部204をHMD101側に備えることにより、画像処理装置103に対して、背景画像データである撮像画像データ、及び、位置姿勢情報計測用の特定色RAWデータを伝送することが不要になる。従って、HMD101と画像処理装置103間のデータ伝送量を約半減させることができる。特に、HMD101と画像処理装置103間のI/Fとして無線規格を採用する場合には有用である。
次に、本発明の第2の実施形態について説明する。第1の実施形態では、特定色RAWデータに基づいて位置姿勢情報の計測処理を行ったのに対して、第2の実施形態では、位置姿勢情報の計測処理を二段階の処理によって行うことにより、位置姿勢情報の計測処理の精度を向上させるものである。
図13は、本発明の第2の実施形態に係るMRシステムの構成を示す図である。なお、図13において、図2と同一の符号を付した構成は、当該符号に該当する図2に示した構成と同様の構成であるため、説明を省略する。
図13において、1303は、特定色RAWデータに基づいて位置姿勢情報の計測処理を行う簡易位置姿勢計測部である。簡易位置姿勢計測部1303による処理内容は、位置姿勢計測部204による処理内容とほぼ同様であるが、後述する高精度位置姿勢計測部1304で使用される範囲指定情報を生成する点が異なる。なお、簡易位置姿勢計測部1303は、第1の計測手段の例となる構成である。
1304は、カメラ画像処理部207で生成された現実空間画像データと、簡易位置姿勢計測部1303から入力される範囲指定情報とに基づいて、より高精度な位置姿勢情報の計測処理を行う高精度位置姿勢計測部である。1305は、高精度位置姿勢計測部1304で生成された仮想画像データの位置ズレを補正するための位置ズレ情報を格納するバッファである。なお、高精度位置姿勢計測部1304は、第2の計測手段の例となる構成である。
1306は、簡易位置姿勢計測部1303で計測された位置姿勢情報を基に生成された仮想画像データの位置を、バッファ1305に格納された当該仮想画像データに対応する位置ズレ情報に基づいて調整する仮想画像位置調整部である。
ここで、第2の実施形態に係るMRシステムの処理の概要を説明する。撮像センサ201で得られたアナログ信号は、AFE202及びカメラ画像処理部207を介することにより、現実空間画像データとして構成された後、フレームバッファ208において格納される。また、AFE202から出力されるRAWデータは、特定色分離部203で色プレーンの画像データに分離されることにより、特定色RAWデータが生成される。簡易位置姿勢計測部1303は、特定色RAWデータに基づいて、HMD装着者(撮像センサ201)の位置姿勢情報を計測する。このようにして生成された位置姿勢情報は、画像処理装置103に対して送信される。ここまでの処理は、第1の実施形態と同様である。
第2の実施形態では、高精度位置姿勢計測部1304は、簡易位置姿勢計測部1303で位置姿勢情報が計測される段階で把握されるマーカや自然特徴点の位置又は範囲を、カメラ画像処理部207で生成された現実空間画像データに対して適用することにより、高解像の現実空間画像データを基にした高精度な位置姿勢情報の計測を行う。このようにして計測された高精度な位置姿勢情報と、画像処理装置103に対して送信された位置姿勢情報との差分は、バッファ1305において格納される。
画像処理装置103は、HMD1301から受信した位置姿勢情報に基づいて仮想画像データを生成し、HMD1301に対して送信する。画像処理装置103の処理内容は、第1の実施形態と同様である。仮想画像位置調整部1306は、画像処理装置103から受信した仮想画像データに対応する位置ズレ量(上記差分)をバッファ1305から読み出し、仮想画像データの位置を調整する。
画像合成部209は、位置が調整された仮想画像データとフレームバッファ208に格納された最新の現実空間画像データとのタイミングを調整して合成し、MR画像データを生成する。画像合成部209において生成されたMR画像データは、表示ユニット210において表示されることにより、HMD装着者に提示される。
図14は、簡易位置姿勢計測部1303及び高精度位置姿勢計測部1304の詳細な構成を示す図である。なお、図14に示す701〜706の構成は、図7に示した701〜706の構成と同様であるため、説明は省略する。
1401は、マーカ抽出処理によって特定色RAWデータから抽出されたマーカや自然特徴点の範囲を示す範囲指定情報を生成する演算処理指定部である。
1402は、入力されたRGB画像データである現実空間画像データを輝度情報に変換する輝度変換処理部である。RGB画像データを輝度情報に変換する手法としては、RGB画像データをYCC画像データにフォーマット変換し、輝度情報であるYを使用する方法や、RGB画像データのうち、特定色のみ輝度情報として採用する方法がある。なお、特定色を採用する際には、G色(緑)を用いるが一般的である。
1403は、輝度変換処理部1402にて輝度情報に変換された画像データを、任意の閾値に基づいて二値化処理する二値化処理部である。ここで使用される閾値は、現実空間の環境情報に基づいて調整するようにしてもよい。1404は、演算処理指定部1401から入力される範囲指定情報に基づいて、0及び1の値を持つ二値画像データから収束演算の対象となる範囲(以下、収束演算範囲と称す)を抽出する演算範囲抽出部である。ここで、演算範囲抽出部1404は、簡易位置姿勢計測部1303から入力される範囲指定情報を用いて収束演算範囲を抽出することにより、高精度位置姿勢計測部1304内において、二値画像データからマーカや自然特徴点を抽出し、ラベリング処理を行う処理工程をスキップすることができる。また、高精度位置姿勢計測部1304で使用される現実空間画像データの画素数、即ち、同じ画角における解像度は、特定色RAWデータに比べて高いため、収束演算範囲は、マーカ抽出部702によって特定色RAWデータから抽出されたマーカや自然特徴点の範囲よりも広く指定される。
1405は、演算範囲抽出部1404で抽出された収束演算範囲に対して、収束演算を行う収束演算部である。収束演算の処理内容については、これまで説明してきた内容と同様である。1406は、簡易位置姿勢計測部1303で計測された位置姿勢情報と高精度位置姿勢計測部1304で計測された位置姿勢情報とを比較し、仮想画像データの位置ズレ量を算出する補正情報生成部である。
図15は、高精度位置姿勢計測部1304の処理を示すフローチャートである。ステップ1501において、輝度変換処理部1402は、カメラ画像処理部207で生成された現実空間画像データを取得する。ステップ1502において、輝度変換処理部1402は、現実空間画像データを輝度情報に変換する。
ステップ1503において、二値化処理部1403は、輝度情報を任意の閾値によって0又は1の値を持つ二値画像データに変換する。ステップ1504において、演算範囲抽出部1404は、画像データにおけるマーカや自然特徴点の範囲が指定された範囲指定情報を簡易位置姿勢計測部1303から取得する。
ステップ1505において、演算範囲抽出部1404は、ステップ1504で取得した範囲指定情報に基づいて、二値画像データに対して収束演算範囲を指定する。ステップ1506において、収束演算処理部1405は、演算範囲抽出部1404により指定された収束演算範囲の二値画像データに対して収束演算を行い、高精度な位置姿勢情報を生成し、バッファ1305に保存する。
ステップ1507において、補正情報生成部1406は、ステップ1506で生成された高精度な位置姿勢情報と、簡易位置姿勢計測部1303で生成された位置姿勢情報とを比較し、仮想画像データの位置ズレ量を算出する。
図16は、仮想画像データ生成処理から合成画像データ表示処理までの流れを示すフローチャートである。ステップ1601において、仮想画像位置調整部1306は、画像処理装置103から仮想画像データを取得する。ステップ1602において、仮想画像位置調整部1306は、仮想画像データの位置ズレ量をバッファ1305から取得する。
ステップ1603において、仮想画像位置調整部1306は、ステップ1602で取得した仮想画像データの位置ズレ量に基づいて、仮想画像データの表示位置を調整する。ステップ1604において、画像合成部209は、背景データである最新の撮像画像データと、表示位置が調整された仮想画像データとを合成し、MR画像データを生成する。
ステップ1605において、画像合成部209は、表示デバイスの特性に合わせて、MR画像データの色調整を行う。なお、MR画像データの色調整は、γ補正によって実現するのが一般的である。ステップ1606において、画像合成部209は、色調整後のMR画像データを表示ユニット210に出力し、表示させる。
図17は、比較例のMRシステムの処理と、本実施形態に係るMRシステムの処理とを時系列で示す図である。即ち、図17(A)は、比較例のMRシステムの処理を示しており、図12(A)に示した処理の流れと同じである。図17(B)は、本実施形態に係るMRシステムの処理を示している。本実施形態に係るMRシステムは、特定色RAWデータに基づく位置姿勢情報の計測処理途中の範囲指定情報を利用して、高精度な位置姿勢情報の計測処理を行う。
図17において、t0は、比較例のMRシステム及び本実施形態に係るMRシステムにおける、現実空間を撮像するタイミングである。t1は、本実施形態に係るMRシステムにおける、HMD装着者の位置姿勢情報を計測するための、特定色RAWデータの二値化処理を開始するタイミングである。t2は、比較例のMRシステムにおける、HMD装着者の位置姿勢情報を計測するための、現実空間画像データの二値化処理を開始するタイミングである。t3は、比較例のMRシステムにおける、現実空間画像データと仮想画像データとの合成処理により生成されたMR画像データの表示タイミングである。t4は、本実施形態に係るMRシステムにおける、t0で撮像された現実空間画像データと仮想画像データとの合成処理により生成されたMR画像データの表示タイミングである。t5は、本実施形態に係るMRシステムにおける、画像処理装置から仮想画像データをHMDへ送信するタイミングである。t6は、比較例のMRシステムにおける、画像処理装置から仮想画像データをHMDへ送信するタイミングである。
図17に示すように、比較例のMRシステムでは、t3でMR画像データを表示し、本実施形態に係るMRシステムは、t4でMR画像データを表示している。このように、第1の実施形態では比較例と一致していたMR画像データの表示タイミングが、第2の実施形態ではずれているのは、第2の実施形態には、仮想画像データの表示位置の調整処理が含まれるからである。実際には、図17に示したほど、t3とt4との時間差はなく、現実空間画像データの撮像からMR画像データの表示までに要する時間はほぼ同じである。これは、仮想画像データの位置ズレが数画素程度に収まることが理由である。
但し、比較例のMRシステムにおいて、仮想画像データがHMDに送信されるタイミングはt6であり、現実空間画像データと仮想画像データとの合成処理からMR画像データ表示処理までに要する時間を加算すると、現実空間画像データの撮像処理からMR画像データ表示処理までに要する時間は、(t6−t0)+(t3−t2)となる。
これに対し、本実施形態では、現実空間画像データの撮像処理からMR画像データの表示処理までに要する時間は、(t5−t0)+(t4−t2)となり、比較例のMRシステムと比べて、t6−t5=T2分だけ時間を短縮することができる。このように、第2の実施形態においては、現実空間画像データの撮像処理からMR画像データの表示処理までに要する時間を短縮することができる。また、本実施形態によれば、高精度な位置姿勢情報に基づく仮想画像データの生成時間を短縮することが可能となる。
次に、本発明の第3の実施形態について説明する。第3の実施形態は、位置姿勢情報の計測処理を二段階で行うことにより、位置姿勢情報の精度を向上させる点は、第2の実施形態と同様であるが、画像処理装置側に画像合成部を備えた点が第2の実施形態と相違する。以下、この点を中心に説明を行う。
図18は、第3の実施形態に係るMRシステムの機能的な構成を示す図である。なお、図18において、図2と同一の符号を付した構成は、当該符号に該当する図2に示した構成と同様の構成である。簡易位置姿勢計測部1803、高精度位置姿勢計測部1804及び画像合成部1805についての詳細な説明は後述する。
ここで、第3の実施形態に係るMRシステムの処理の概要を説明する。撮像センサ20で得られたアナログ信号は、AFE202及びカメラ画像処理部207を介することにより、現実空間画像データとして構成された後、I/F206を介して画像処理装置1802に対して送信される。また、AFE202から出力されるRAWデータは、特定色分離部203で色プレーンの画像データに分離されることにより、特定色RAWデータが生成される。簡易位置姿勢計測部1803は、特定色RAWデータにおけるマーカや自然特徴点の範囲を示す範囲指定情報を生成する。高精度位置姿勢計測部1804は、簡易位置姿勢計測部1803により生成された範囲指定情報と、現実空間画像データとに基づいて、HMD装着者の位置姿勢情報を計測する。高精度位置姿勢計測部1804で計測された位置姿勢情報は、画像処理装置1802に対して送信される。
本実施形態における簡易位置姿勢計測部1803は、通常の位置姿勢情報の計測処理のうちのラベリング処理までに処理を留め、範囲指定情報を高精度位置姿勢計測部1804に対して出力する。高精度位置姿勢計測部1804は、第2の実施形態における高精度位置姿勢計測部1804と同様に、上記範囲指定情報に基づいて、現実空間画像データから生成された二値画像データより収束演算範囲を抽出し、高解像の現実空間画像データを基にした高精度な位置姿勢情報の計測処理を行う。ここで得られた高精度の位置姿勢情報は、I/F206を介して画像処理装置1802に対して送信される。
仮想画像描画部214は、HMD1801から受信した位置姿勢情報に基づいて仮想画像データを生成する。画像合成部1805は、当該仮想画像データと、同じくHMD1801から受信した現実空間画像データとを合成することにより、MR画像データを生成する。画像処理装置1802は、画像合成部1805により生成されたMR画像データをHMD1801に対して送信する。第1及び第2の実施形態と異なるのは、画像処理装置1802側で現実空間画像データと仮想画像データとを合成してMR画像データを生成する点である。HMD1801は、画像処理装置1802から受信したMR画像データを表示ユニット210において表示し、HMD装着者に対して提示する。
図19は、簡易位置姿勢計測部1803及び高精度位置姿勢計測部1804の詳細な構成を示す図である。なお、図19に示す701〜703及び1401の構成は、図14に示した701〜703及び1401の構成と同様であるため、説明は省略する。また、図19に示す1402〜1405の構成は、図14に示した1402〜1405の構成と同様であるため、説明は省略する。また、図19に示す制御/データ補正部1901は、高精度位置姿勢計測部1804側に配置されているため、図14に示す制御/データ補正部704とは異なる符号を付しているが、制御/データ補正部704と同様の機能を有する構成である。
ここで、簡易位置姿勢計測部1803及び高精度位置姿勢計測部1804の処理の概要を説明する。簡易位置姿勢計測部1803は、特定色RAWデータに対して、二値化処理、マーカ抽出処理、ラベリング処理及び収束演算対象の範囲指定処理を行うことにより、低解像の特定色RAWデータにおける収束演算の対象となる範囲を示す範囲指定情報を生成する。
高精度位置姿勢計測部1804は、カメラ画像処理部207で生成された高解像の現実空間画像データに対して、輝度変換処理、二値化処理、収束演算対象の範囲指定処理、及び、収束演算処理を行うことにより、HMD装着者の位置姿勢情報を計測する。その際、三次元位置姿勢センサ205からの出力信号を補足的に用いてもよい。なお、収束演算対象の範囲指定処理では、簡易位置姿勢計測部1803で指定された範囲指定情報が用いられる。
図20は、比較例のMRシステムの処理と、本実施形態に係るMRシステムの処理とを時系列で示す図である。即ち、図20(A)は、比較例のMRシステムの処理を示している。比較例のMRシステムは、HMD内部で位置姿勢情報の計測処理を行い、画像処理装置側で、仮想画像データの生成処理と、仮想画像データと現実空間画像データとの合成処理とを行った後、HMD側でMR画像データの表示処理を行う。図20(B)は、本実施形態に係るMRシステムの処理を示している。本実施形態に係るMRシステムは、高精度な位置姿勢情報の計測処理を、特定色RAWデータを基にした範囲指定情報を利用して行う。第2の実施形態では、簡易な位置姿勢情報を基に仮想画像データを生成するのに対して、第3の実施形態では、高精度な位置姿勢情報を基に仮想画像データを生成する点と、画像データの合成処理を画像処理装置側で行う点とが異なる。
図20において、t0は、比較例のMRシステム及び本実施形態に係るMRシステムにおける、現実空間を撮像するタイミングである。t1は、本実施形態に係るMRシステムにおける、HMD装着者の位置姿勢情報を計測するための、収束演算処理を開始するタイミングである。t2は、本実施形態に係るMRシステムにおける、現実空間画像データと、当該現実空間画像データに基づき計測された位置姿勢情報により生成された仮想画像データとを合成して得られるMR画像データを表示するタイミングである。t3は、比較例のMRシステムにおける、現実空間画像データと、当該現実空間画像データに基づき計測された位置姿勢情報により生成された仮想画像データとを合成して得られるMR画像データを表示するタイミングである。
ここで、比較例のMRシステムにおいて、現実空間の撮像処理からMR画像データの表示処理までに要する時間は、t3−t0となる。これに対し、本実施形態に係るMRシステムは、現実空間の撮像処理からMR画像データの表示処理までに要する時間は、t2−t0となり、比較例のMRシステムと比べて、t3−t2=T3分だけ時間を短くすることができる。このように、画像処理装置側で現実空間画像データと仮想画像データとの合成処理を行う場合でも、高精度の位置姿勢情報の計測処理に要する時間を短縮することにより、現実空間の撮像処理からMR画像データの表示処理までに要する時間を短縮することができる。また、仮想画像データの生成処理に要する時間を短縮することが可能となる。
次に、本発明の第4の実施形態について説明する。第1〜第3の実施形態に係るMRシステムでは、位置姿勢情報の計測処理をHMDで実行していたのに対して、第4の実施形態に係るMRシステムでは、位置姿勢情報の計測処理及び画像データの合成処理を画像処理装置側で実行される点にある。以下、この点を中心に説明を行う。
図21は、第4の実施形態に係るMRシステムの構成を示す図である。なお、図21において、図2又Sは図18と同一の符号を付した構成は、当該符号に該当する図2又は図18に示した構成と同様の構成であるため、それら説明は省略する。
図21において、2103は、位置姿勢情報の計測に用いられる特定色RAWデータのデータ量を削減するデータ削減処理部である。即ち、データ削減処理部2103は、特定色分離部203で生成された特定色RAWデータを画像処理装置2102に対して送信する際、特定色RAWデータのデータ量を削減する。
本実施形態は、位置姿勢情報の計測処理を前倒しで行うため、カメラ画像処理部207で生成される高解像の現実空間画像データとは別に、位置姿勢情報の計測処理用に低解像の特定色RAWデータを画像処理装置に対して送信する必要がある。従って、その分、HMD2101から画像処理装置2102に対して送信されるデータ量が増えることになる。このように増加するデータ量を削減するため、データ削減処理部2103において、位置姿勢情報の計測処理用のRAWデータに対してデータ削減処理が行われる。具体的には、特定色RAWデータをグレースケール画像データとみなし、グレースケールモードのJPEG圧縮手順で圧縮する方法や、任意の閾値による二値画像データに対して可変長符号化処理を適用する方法が想定される。ここでは、特にその手法については問わない。また、画像処理装置2102は、HMD2101から受信した特定色RAWデータが位置姿勢計測部2104に対して出力されるが、その際、位置姿勢情報の計測処理が可能なデータ形式に特定色RAWデータを変換するための復号化処理を伴うものとする。
ここで、第4の実施形態に係るMRシステムの処理の概要を説明する。撮像センサ201で得られた撮像信号は、AFE202及びカメラ画像処理部207を介することにより、現実空間画像データとして構成された後、I/F206から画像処理装置2102に対して送信される。また、AFE202から出力されるRAWデータは、特定色分離部203で色プレーンの画像データに分離されることにより、特定色RAWデータが生成される。データ削減処理部2103は、特定色分離部203で生成された特定色RAWデータのデータ量を削減する。データ量が削減された(データ圧縮された)特定色RAWデータは、画像処理装置2102に対して送信される。
上記のように、本実施形態では、位置姿勢情報の計測処理及び画像データの合成処理をともに画像処理装置側で行う。これにより、HMD2101に搭載する機能を必要最低限のものとし、小型・省電力なHMD2101を提供することが可能となる。
画像処理装置2102は、HMD2101から受信した、データ圧縮された特定色RAWデータを復号化する。位置姿勢計測部2104は、複合化された特定色RAWデータに基づいてHMD装着者の位置姿勢情報を計測する。仮想画像描画部214は、位置姿勢情報に基づいて仮想画像データを生成する。画像合成部1805は、当該仮想画像データと、同じくHMD2101から受信した現実空間画像データとを合成することにより、MR画像データを生成する。生成されたMR画像データは、画像処理装置2102からHMD2101に対して送信される。HMD2101では、画像処理装置2102から受信したMR画像データを表示ユニット210で表示させ、HMD装着者に対して提示する。
図22は、比較例のMRシステムの処理と、本実施形態に係るMRシステムの処理とを時系列で示す図である。即ち、図22(A)は、比較例のMRシステムの処理を示しており、図20(A)に示した処理の流れと同じである。図22(B)は、本実施形態に係るMRシステムの処理を示している。本実施形態に係るMRシステムは、特定色RAWデータ及び現実空間画像データをHMDから画像処理装置に送信し、画像処理装置で位置姿勢情報の計測処理と画像データの合成処理とを行う。
t0は、現実空間を撮像するタイミングである。t1は、本実施形態に係るMRシステムにおける、位置姿勢情報の計測処理のための二値化処理を開始するタイミングである。t2は、比較例のシステムにおける、位置姿勢情報の計測処理のための二値化処理を開始するタイミングである。t3は、本実施形態に係るMRシステムにおける。現実空間画像データと仮想画像データとの合成処理により得られるMR画像データを表示するタイミングである。t4は、比較例のMRシステムにおける、撮像画像データと仮想画像データとの合成処理により得られるMR画像データを表示するタイミングである。
比較例のMRシステムにおいては、MR画像データの表示タイミングはt4であるため、現実空間の撮像処理からMR画像データの表示処理までに要する時間は、t4−t0となる。これに対し、本実施形態では、MR画像データの表示タイミングはt3であるため、現実空間の撮像処理からMR画像データの表示処理までに要する時間は、t3−t0となる。従って、本実施形態に係るMRシステムは、比較例のMRシステムと比べて、t4−t3=T4分だけ処理時間を短縮することができる。
このように、画像処理装置側で位置姿勢計測情報の生成と撮像画像データと仮想画像データとの合成を行う場合においても、位置姿勢計測用の画像データを撮像画像データ生成の前に準備して画像処理装置に送信することにより、仮想画像データ生成及び合成画像データ表示までの遅延時間を短縮することができる。
以上説明してきたように、本実施形態によれば、位置姿勢計測機能及び画像合成機能を画像処理装置側で持つ構成であっても、位置姿勢情報の計測処理用の特定色RAWデータと画像データの合成処理用の現実空間画像データとをそれぞれのタイミングで準備し、画像処理装置に対して送信することにより、現実空間の撮像処理からMR画像データの表示処理までに要する時間を短縮することができる。なお、特定色RAWデータを画像処理装置に対して送信する際に要する送信帯域の削減には、特定色RAWデータの圧縮、符号化が有効である。このように、特定色RAWデータを削減してHMD2101から画像処理装置2102に対して送信することにより、HMD2101及び画像処理装置2102双方の伝送帯域を必要以上に大きくすることなく、即ち、システム構成を大きく変えることなく、現実空間の撮像処理からMR画像データの表示処理までに要する時間を短縮することが可能となる。
なお、第1〜第4の実施形態では、HMDを用いたMRシステムについて説明した。但し、これに限らず、現実空間を撮像する機能と、ユーザの視点の位置姿勢情報に基づく仮想画像データを生成し、現実空間画像データと合成する機能とを有するシステムであれば、本発明を適用することができる。例えば、放送局で使用される編集システムにも適用することが可能であり、パーソナル仕様の撮像装置も今後は上記機能を搭載することが期待されている。
編集システム用の放送機器で使用する撮像装置はRGB各色に対応した三板式を採用するものが多いが、三板式であってもRGBの内の一色を選択する構成にすれば、本発明で説明してきた遅延時間の短縮を実現することは可能である。これは、位置姿勢計測に使用する画像としてRGBの内の一色を選択し、AD変換後のデジタルデータに対して位置姿勢計測を行うことで実現できる。
同様に、第1から第4までの実施形態では、位置姿勢計測のための機能をHMD又は画像処理装置側どちらかに持つ構成を説明してきたが、双方の装置に位置計測機能を持ち、本来持つ位置姿勢計測の機能を分散処理する形態としてもよい。即ち、ラベリング処理までをHMD装置側で行った後、画像処理装置側で収束演算を行うといった構成も考えられる。また、システムを構成する他の装置で演算処理を行うことも考えられ、そうした分散処理を行った場合においても、本発明の目的である仮想画像生成に要する時間の短縮を実現できる。
また、第1から第4までの実施形態で説明してきた構成をお互いに組み合わせて使用できることは説明するまでもない。さらには、上記各実施形態における様々な技術を適宜組み合わせて新たなシステムを構成することは当業者であれば容易に相当し得るものであるので、このような様々な組み合わせによるシステムもまた、本発明の範疇に属するものである。なお、上述した実施形態におけるHMD又はMRシステムは、情報処理装置の例となる構成である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。