図1は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム8は、対象物を撮影する撮像装置12、撮影した画像に基づき情報処理を行う情報処理装置10、情報処理の結果として得られた画像を表示する平板型ディスプレイ16およびヘッドマウントディスプレイ(以下、「HMD」と呼ぶ)18、ユーザが操作する入力装置14を含む。
情報処理装置10と、撮像装置12、入力装置14、平板型ディスプレイ16、HMD18とは、有線ケーブルで接続されても、Bluetooth(登録商標)など既知の無線通信技術により接続されてもよい。また情報処理装置10が実施する情報処理によっては、平板型ディスプレイ16とHMD18のどちらか一方がなくてもよい。またこれらの装置の外観形状は図示するものに限らない。さらにこれらのうち2つ以上の装置を一体的に備えた装置としてもよい。例えば情報処理装置10、入力装置14、平板型ディスプレイ16を、それらを備えた携帯端末などで実現してもよい。
撮像装置12は、ユーザなどの対象物を所定のフレームレートで撮影するカメラと、その出力信号にデモザイク処理など一般的な処理を施すことにより撮影画像の出力データを生成し、情報処理装置10に送出する機構とを有する。カメラはCCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなど、一般的なデジタルカメラ、デジタルビデオカメラで利用されている可視光センサを備える。撮像装置12が備えるカメラは1つのみでもよいし、図示するように2つのカメラを既知の間隔で左右に配置したいわゆるステレオカメラでもよい。
あるいは単眼のカメラと、赤外線などの参照光を対象物に照射しその反射光を測定する装置との組み合わせで撮像装置12を構成してもよい。ステレオカメラや反射光の測定機構を導入した場合、対象物の位置を3次元の実空間に対し求めることができ、情報処理装置10による情報処理や表示装置による画像表示をより多様化させることができる。ステレオカメラが左右の視点から撮影したステレオ画像を用いて、三角測量の原理により被写体のカメラからの距離を特定する手法、反射光の測定によりTOF(Time of Flight)やパターン照射の方式で被写体のカメラからの距離を特定する手法はいずれも広く知られている。
以後では主に、撮像装置12がステレオ画像を撮影する態様について説明するが、上記のとおり本実施の形態をそれに限る主旨ではなく、撮像装置12には少なくとも一つのカメラが含まれていればよい。情報処理装置10は、撮像装置12から送信されたデータを用いて必要な情報処理を行い、画像や音声などの出力データを生成する。ここで情報処理装置10が行う処理の内容は特に限定されず、ユーザが求める機能やアプリケーションの内容などによって適宜決定してよい。
情報処理装置10は例えば、撮影画像に対し一般的な顔検出や追跡処理を施すことにより、対象物であるユーザの動作を反映させたキャラクタが登場するゲームを進捗させたり、ユーザの動きをコマンド入力に変換して情報処理を行ったりする。このとき入力装置14に設けたマーカーを利用して入力装置14の動きを取得してもよい。またHMD18の外面に設けた複数のマーカーを追跡することにより、HMD18を装着したユーザの頭部の位置や姿勢を特定し、それに対応して動く視点から見た仮想世界をHMD18に表示させてもよい。情報処理装置10が生成した出力データは、HMD18および平板型ディスプレイ16の少なくとも一方に送信される。
HMD18は、ユーザが頭に装着することによりその眼前に位置する有機ELパネルなどの表示パネルに画像を表示する表示装置である。例えば左右の視点から見た視差画像を生成し、表示画面を2分割してなる左右の領域にそれぞれ表示させることにより、画像を立体視させてもよい。ただし本実施の形態をこれに限る主旨ではなく、表示画面全体に1つの画像を表示させてもよい。HMD18はさらに、ユーザの耳に対応する位置に音声を出力するスピーカーやイヤホンを内蔵していてもよい。
平板型ディスプレイ16は、2次元の画像を出力するディスプレイおよび音声を出力するスピーカーを有するテレビでよく、例えば液晶テレビ、有機ELテレビ、プラズマテレビ、PCディスプレイ等である。あるいはタブレット端末や携帯端末のディスプレイおよびスピーカーであってもよい。入力装置14は、ユーザが操作することにより、処理の開始、終了、機能の選択、各種コマンド入力などの要求を受け付け、情報処理装置10に電気信号として供給する。
入力装置14は、ゲームコントローラ、キーボード、マウス、ジョイスティック、平板型ディスプレイ16の表示画面上に設けたタッチパッドなど、一般的な入力装置のいずれか、またはそれらの組み合わせによって実現してよい。入力装置14はさらに、所定の色で発光する素子またはその集合からなる発光マーカーを備えていてもよい。この場合、情報処理装置10がマーカーの動きを、撮影画像を用いて追跡することにより、入力装置14自体の動きをユーザ操作とすることができる。なお入力装置14を、発光マーカーとそれを把持する機構のみで構成してもよい。
図2は情報処理装置10の内部回路構成を示している。情報処理装置10は、CPU(Central Processing Unit)22、GPU(Graphics Processing Unit)24、メインメモリ26を含む。これらの各部は、バス30を介して相互に接続されている。バス30にはさらに入出力インターフェース28が接続されている。入出力インターフェース28には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部32、ハードディスクドライブや不揮発性メモリなどの記憶部34、平板型ディスプレイ16やHMD18へデータを出力する出力部36、撮像装置12、入力装置14、およびHMD18からデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
CPU22は、記憶部34に記憶されているオペレーティングシステムを実行することにより情報処理装置10の全体を制御する。CPU22はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU22からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部36に出力する。メインメモリ26はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
図3はHMD18の内部回路構成を示している。HMD18は、CPU50、メインメモリ52、表示部54、音声出力部56を含む。これらの各部はバス58を介して相互に接続されている。バス58にはさらに入出力インターフェース60が接続されている。入出力インターフェース60には、有線又は無線LANのネットワークインターフェースからなる通信部62、加速度センサ64、発光部66が接続される。
CPU50は、バス58を介してHMD18の各部から取得した情報を処理し、出力データを表示部54や音声出力部56に供給する。メインメモリ52はCPU50における処理に必要なプログラムやデータを格納する。ただし実行するアプリケーションや装置の設計によっては、情報処理装置10がほぼ全ての処理を行い、HMD18では情報処理装置10から送信されたデータを出力するのみで十分な場合がある。この場合、CPU50やメインメモリ52は、より簡易なデバイスで置き換えることができる。
表示部54は、液晶パネルや有機ELパネルなどの表示パネルで構成され、HMD18を装着したユーザの眼前に画像を表示する。上述したように左右の目に対応する領域に一対の視差画像を表示することにより立体視を実現してもよい。表示部54はさらに、HMD18装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する一対のレンズを含んでもよい。
音声出力部56は、HMD18の装着時にユーザの耳に対応する位置に設けたスピーカーやイヤホンで構成され、ユーザに音声を聞かせる。出力される音声のチャンネル数は特に限定されず、モノラル、ステレオ、サラウンドのいずれでもよい。通信部62は、情報処理装置10や平板型ディスプレイ16との間でデータを送受するためのインターフェースであり、例えばBluetooth(登録商標)などの既知の無線通信技術を用いて実現できる。
加速度センサ64は、例えば既知の低g加速度センサなどで実現し、重力の向きを検出することによりHMD18の傾きを検出する。検出結果は通信部62を介して情報処理装置10に送信される。発光部66は、所定の色で発光する素子またはその集合であり、HMD18の外面の複数箇所に設ける。これをマーカーとして追跡することによりHMD18の位置を取得するほか、撮影画像におけるその像の数や位置関係からHMD18の姿勢を取得する。
情報処理装置10は、加速度センサ64および発光部66といった複数の手段により得られた情報を統合することにより、より高い精度でユーザの頭の位置や姿勢を取得することができる。一方、本実施の形態では、場合によっては加速度センサ64を省略することもできる。なお上述のとおり本実施の形態において画像を表示する装置はHMD18に限らず、平板型ディスプレイ16でもよいし、双方を用いてもよい。平板型ディスプレイ16は一般的な構造を有していてよいため、内部の機構に関する説明は省略する。
図4は情報処理装置10とHMD18の機能ブロックの構成を示している。図4に示す各機能ブロックは、ハードウェア的には、図2、3に示したCPU、GPU、各種メモリ、ディスプレイ、スピーカー、発光素子、センサなどの構成で実現でき、ソフトウェア的には、記録媒体などからメモリにロードした、データ入力機能、データ保持機能、画像処理機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
情報処理装置10は、入力装置14およびHMD18からの入力情報を取得する入力情報取得部72、撮像装置12から撮影画像のデータを取得する撮影画像取得部74、ゲームなど実行するアプリケーションに応じた情報処理を行う情報処理部76、ゲーム画像やその音声など情報処理の結果として主として出力すべきデータ(以後、「メインデータ」と呼ぶ)を生成するメインデータ生成部78、メインデータを生成するために必要なデータを格納した要素データ記憶部80を含む。情報処理装置10はさらに、追跡対象の外観上の構造を特定する追跡対象モデリング部86、情報処理部76における情報処理を適切に行うためにユーザに提示するデータ(以後、「補助データ」と呼ぶ)を生成する補助データ生成部82、および、出力すべきデータをHMD18および平板型ディスプレイ16に送信する出力データ送信部84を含む。
HMD18は、情報処理装置10から送信された出力データを受信する出力データ受信部94、所定の物理量を計測し情報処理装置10に送信する計測部90、発光素子とその発光を制御する機構からなる発光部92、出力データ受信部94が受信した出力データのうち画像の表示を実現する表示処理部98、出力データのうち音声の出力を実現する音声処理部96を含む。
情報処理装置10の入力情報取得部72は、ユーザ操作の内容を入力装置14から取得する。ここでユーザ操作とは、実行するアプリケーションの選択、処理の開始/終了、コマンド入力など、一般的な情報処理でなされるものでよい。入力情報取得部72は入力装置14から取得した情報を、その内容に応じて撮影画像取得部74または情報処理部76に供給する。入力情報取得部72はさらに、HMD18の計測部90から計測値を受信し、情報処理部76に供給する。
撮影画像取得部74はステレオ画像など、撮像装置12が動画撮影して得られる撮影画像のデータを所定のフレームレートで取得する。撮影画像取得部74はさらに、入力情報取得部72が取得したユーザからの処理開始/終了要求に従い、撮像装置12における撮影の開始/終了を制御したり、情報処理部76における処理の結果に応じて、撮像装置12から取得するデータの種類を制御したりしてもよい。
情報処理部76は、ユーザが指定したゲームなどの情報処理を実施する。この情報処理には、撮影画像から対象物の像を検出しそれを追跡する処理が含まれる。この追跡処理は、対象物の位置に加え姿勢を所定のレートで取得する処理を含んでよい。以後、HMD18と入力装置14を、それぞれに設けた発光マーカーを利用して追跡する場合を主に説明するが、本実施の形態をこれに限る主旨ではない。
例えば頭部や手などユーザの体の一部を、輪郭線を利用して追跡したり、顔や特定の模様を有する対象物をパターンマッチングにより追跡したりしてもよい。これらの追跡処理には一般的な画像処理技術を適用できる。さらにHMD18の計測部90から送信された加速度などの計測値から得られる情報を統合することにより、HMD18の姿勢を詳細に特定してもよい。なお上述のように、追跡結果や入力装置14を介したユーザ操作に応じて情報処理部76が行う後段の情報処理の内容は特に限定されない。
メインデータ生成部78は、情報処理部76からの要求に従い、情報処理の結果として出力すべき画像や音声のデータをメインデータとして生成する。例えば上述のように、ユーザの頭部の位置や姿勢に対応する視点から見た仮想世界を左右の視差画像とし描画する。この視差画像をHMD18において左右の目の前に表示させたり、仮想世界での音声を出力したりすれば、ユーザはあたかも仮想世界に入り込んだような感覚を得られる。そのほか、追跡結果やユーザ操作を利用して様々な情報処理を実現できることは当業者には理解されるところである。メインデータ生成部78がメインデータを生成するために必要なモデルデータや音声のデータは要素データ記憶部80に格納しておく。
追跡対象モデリング部86は、情報処理部76が追跡する対象物の外観上の構造を、実際の撮影画像に基づき特定する。形状およびサイズが既知の固形物を追跡対象とする場合、撮影画像における見かけ上の形状、あるいは表面に設けた複数のマーカーの見かけ上の数および位置関係から、追跡対象の姿勢を精度よく導出できる。この関係は、コンピュータグラフィックスにおいてスクリーン平面へ投影して得られる3Dモデルの像と、スクリーン平面を規定する視点の位置および角度の関係と同等である。一方、追跡対象の形状やサイズが変化する場合、標準的なモデルで近似しても正確に姿勢を特定することが難しくなる。そこで追跡対象モデリング部86は、実際の撮影画像から追跡対象の形状やサイズ、すなわち形状モデルを取得する。
ここで追跡対象の形状やサイズを精度よく得るためには、正面や側面など、所定の向きにおける追跡対象の撮影画像を取得する必要がある。そのため追跡対象モデリング部86は、そのような向きの撮影画像が取得されていない間は少なくとも、その旨をユーザに通知する。あるいは追跡対象をそのような向きとするようにユーザに促す。情報処理部76との協働により、追跡対象が自然とその向きになるように画像や音声で誘導する処理を、実行中の情報処理に含めてもよい。
追跡対象モデリング部86は、追跡対象の形状モデルを取得したら、当該情報を情報処理部76に提供する。これにより、情報処理部76において対象物を精度よく追跡できる。補助データ生成部82は、情報処理部76における処理が適切になされるようにするためにユーザに提示する補助データを生成する。すなわち補助データは、ユーザが認識したり、それに応じて状況を改善させたり必要な入力を行ったりすることにより、情報処理部76における処理の精度を向上させたり安定化させたりできる情報を含む。
例えば追跡対象がカメラの視野外に出てしまったり、情報処理部76が本来の追跡対象以外の物を追跡していたりすると、追跡精度が劣化したり、場合によっては追跡処理が破綻してしまったりする。また撮像装置12が故障していたり、撮像装置12と情報処理装置10の間で通信が確立していなかったりすれば、撮影画像のデータが得られず追跡処理を開始できない。さらに照明環境によって撮影画像全体の輝度が高すぎたり低すぎたりしても、追跡対象の像を抽出しにくくなり精度が落ちる。
しかしこのような状況下でゲームなどの情報処理を適切に実行できなかったとしても、ユーザにはその原因を特定することが難しい場合がある。例えば仮想世界やアプリケーション画面を表示する態様においては、撮像装置12が備えるカメラの視野が実世界のどの範囲にあるのかをユーザが特定するのは難しい。両眼を覆う構造のHMD18を装着している場合は特に、実世界における自分と撮像装置12との位置関係自体を把握しづらい。
またハードウェア上の問題の場合、システムに含まれる複数の装置や結線のどこに問題があるのかを特定するのは容易ではない。さらに発光マーカーと同じ色や形の照明がカメラの視野内にあったり、照明が明るすぎたり暗すぎたりするなど、追跡対象を誤検出してしまいやすい環境にあることもユーザには気づきにくい。
一方、これらの不具合は実行環境やユーザ自身に依存する部分が多く、撮像装置12や情報処理装置10のハードウェア的、あるいはソフトウェア的工夫により克服するのには限界がある。そこで本実施の形態では、情報処理装置10側で実空間についてどのような認識がなされているかを示す中間データのいずれかを、メインデータの他に補助データとして示すことにより、ユーザに不具合に係る気づきを与える。あるいは最初からそのような不具合が生じないように、適切な状態をユーザに認識させる。
具体的には、情報処理装置10が取得した撮影画像そのものを表示させたり、そのうち追跡対象として検出されている像に印をつけた画像を表示させたりする。情報処理装置10が追跡対象を見失ったり、追跡対象自体がカメラの視野から外れたりした場合は、表示している撮影画像に変化を与えたり警告音を発生させたりしてもよい。また戻るべき方向を矢印で表示させたり、音声で通知したりしてもよい。音声をサラウンドとしたときは、戻るべき方向に定位させた音を発生させてもよい。さらに複数の追跡候補が検出された場合に、本来の追跡対象を選択する入力を受け付ける画像を表示してもよい。
これらの補助データの提示態様のいずれか1つを実施してもよいし、2つ以上を組み合わせて実施してもよい。補助データ生成部82は、補助データを作成するため、撮影画像取得部74から撮影画像を、情報処理部76から追跡結果を、適宜取得する。なお撮像装置12をステレオカメラで構成する場合は、左右のカメラが撮影したステレオ画像のデータを取得し双方を補助データとして表示させることが望ましい。
補助データは、情報処理部76がゲームなど主たる処理を開始する前の初期処理として提示してもよいし、主たる情報処理と並列に提示してもよい。補助データを画像とした場合、例えばゲーム画像などメインデータの画像の一部の領域に重畳させて補助データの画像を表示させてもよいし、別々の領域に表示させてもよい。あるいは入力装置14などを介したユーザの提示要求に応じて提示するようにしてもよい。さらに、情報処理部76が行う情報処理を規定するプログラムのデバッグ段階で、プログラム作成者により利用されてもよい。
出力データ送信部84は、メインデータ生成部78が生成したメインデータと補助データ生成部82が生成した補助データを順次取得し、必要に応じて成形したうえ、HMD18および平板型ディスプレイ16の少なくともいずれかに供給する。補助データの画像をメインデータの画像と同時に表示させる場合、出力データ送信部84は、メインデータの画像上に補助データの画像を貼り付けたり合成したりした画像を生成したうえで、HMD18などに送信してもよい。あるいはHMD18内で成形することを前提に、両者を対応づけて送信するのみでもよい。
出力データ送信部84はさらに、追跡対象モデリング部86が追跡対象の形状モデルを取得するうえでユーザに通知すべき情報を表すデータを、追跡対象モデリング部86からの要求にしたがいHMD18および平板型ディスプレイ16の少なくともいずれかに供給する。
HMD18の出力データ受信部94は、情報処理装置10から送信された出力データを受信する。出力データにはメインデータの画像および音声と、補助データの画像および音声、の少なくともいずれかが含まれる。あるいはメインデータの画像に補助データの画像を合成した画像のデータを含んでいてもよい。さらに、追跡対象の形状モデルを取得している段階では、必要な情報をユーザに通知するための画像や音声のデータを含む。出力データ受信部94は、画像のデータを表示処理部98に、音声のデータを音声処理部96に供給する。
これにより、表示処理部98に含まれる表示パネルからは画像が、音声処理部96に含まれるスピーカーなどからは音声が出力される。なお同時に表示すべきメインデータの画像と補助データの画像を情報処理装置10から個別に送信する態様においては、表示処理部98は、メインデータの画像上に補助データの画像を貼り付けたり合成したりした画像を生成したうえで表示する。また表示処理部98は、そのようにして生成した画像の一部を切り出すなどして、そのデータを平板型ディスプレイ16に送信してもよい。
計測部90は図3の加速度センサ64を含み、それによる計測値を情報処理装置10に送信する。発光部92は図3の発光部66を含み、それを所定の色で発光させることにより発光マーカーとして機能させる。なお発光色は情報処理装置10が指定してもよい。この場合、出力データ受信部94は、発光色の指定に係るデータを情報処理装置10から取得し、発光部92に通知する。例えばユーザの識別情報に応じて発光色を変えることにより、複数のユーザの頭部を発光色によって区別できる。同様に、情報処理装置10は入力装置14が備えるマーカーの発光色も指定してよい。
図5はHMD18の外観形状の例を示している。この例においてHMD18は、出力機構部102および装着機構部104で構成される。装着機構部104は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド106を含む。装着バンド106は各ユーザの頭囲に合わせて長さの調節が可能な素材または構造とする。例えばゴムなどの弾性体としてもよいし、バックルや歯車などを利用してもよい。
出力機構部102は、HMD18をユーザが装着した状態において左右の目を覆うような形状の筐体108を含み、内部には装着時に目に正対するように表示パネルを備える。そして筐体108の外面には、発光マーカー110a、110b、110c、110d、などを設ける。発光マーカーの数や配置は特に限定されないが、本実施の形態では出力機構部102の筐体前面の4隅に設ける。さらに、装着バンド106後方の両側面にも発光マーカー110e、110fを設ける。なお発光マーカー110c、110dは出力機構部102の下側、発光マーカー110e、110fは装着バンド106の外側にあり、図5の視点からは本来は見えないため、外周を点線で表している。
図6は図5に示したHMD18がユーザに装着された様子を側面から見た図である。上述したように出力機構部102の内部には表示パネル116や、図3で示したその他の回路が備えられる。また外面には発光マーカー110b、110dなどが備えられる。さらに装着バンド106の後部側面には発光マーカー110eなどが備えられる。図示するようにHMD18を左側から見ると、3つの発光マーカー110b、110d、110eが見えることがわかる。
発光マーカーをこのように配置すると、HMD18を装着したユーザが撮像装置12に正対しているときは4つの発光マーカー110a、110b、110c、110dが、横を向いているときは3つの発光マーカー(例えば発光マーカー110b、110d、110e)が、後ろを向いているときは2つの発光マーカー110e、110fが撮影される。その間の向きであっても、体の軸周りの回転角、すなわちヨー角と見かけ上の発光マーカーの数および位置関係との関係性は、HMD18における発光マーカーの配置が既知であれば一意に定まる。
そのような関係性を利用すれば、実際の撮影画像における発光マーカーの像の数および位置関係に基づき、ユーザが体の軸周りでどの方向を向いていてもその角度を特定することができる。ヨー角と同様、下を向いたり上を向いたりする角度変化(ピッチ角)、首をかしげる角度変化(ロール角)も同様に、発光マーカーの像の数および位置関係から特定できる。結果としてユーザの頭部の姿勢を全方位について特定できることになる。
ただし上述のとおり本実施の形態におけるHMD18は、装着バンド106の長さを同図矢印のように調節可能としている。したがって出力機構部102の前面に設けられた発光マーカー(例えば110b、110d)と、装着バンド106の後部に設けられた発光マーカー(例えば110e)との距離は、その調節の影響を受けることになる。発光マーカーの見かけ上の数および位置関係からHMD18の姿勢を導出するためには、装着バンド106の長さを調節したあとの発光マーカーの配置を含むHMD18の形状モデルを正確に取得することが望ましい。
そこで情報処理装置10の追跡対象モデリング部86は、ユーザが装着しているHMD18の形状モデルを実際の撮影画像に基づき取得する。上述のとおり追跡対象モデリング部86は、所定の向きの追跡対象を撮影した画像に基づき、追跡対象の形状モデルを取得することを基本とする。HMD18を追跡対象とする場合、所定の向きにあるか否かは、同時に撮影されたマーカーの数によって判定できる。
装着バンド106の伸縮を考慮した場合、前面に設けた2つの発光マーカーと、後部に設けた1つの発光マーカーが同時に写っている撮影画像を取得すれば、それらの距離を特定することができる。実際には、あらかじめHMD18の標準モデルをコンピュータグラフィックスにおけるオブジェクトモデルと同様に作成しておき、実際の撮影画像に基づき当該モデルに修正を加えればよい。
出力機構部102の上下調節など、装着バンド106以外の箇所の位置や間隔を調節可能とする場合も同様である。追跡対象モデリング部86は、情報処理部76がゲームなど主たる処理を開始する前の初期処理として形状モデルを取得してもよいし、主たる情報処理と並列に、あるいは定期的に、形状モデルを取得したり修正したりしてもよい。複数の時刻における撮影画像を用いて修正を重ねれば、最終的により信頼性の高い形状モデルを取得できる。また、主たる情報処理をしている期間にも形状モデルを取得し続けることにより、ゲームなどで動いているうちに装着バンド106が緩んだり、締め直したりして状態が変化しても、その変化を加味したうえで追跡処理を行える。
なおHMD18の形状は図5、6に示すものに限定されない。例えば装着バンドを複数、設けることにより調節や固定を容易にしてもよいし、眼鏡のツル形状のものとすることにより着脱しやすくしてもよい。またユーザが振り向くことが想定されない情報処理のみを行う場合は装着バンドの後部の発光マーカーがなくてもよい。この場合、その他の発光マーカーの位置関係は、装着バンド106が伸縮しても変化しないため、追跡対象モデリング部86による処理を省略できる。
図7は本実施の形態において撮影画像から取得できる情報を説明するための図である。同図において一点鎖線で示したユーザ120は入力装置14を把持しHMD18を装着している。入力装置14は、操作に適した持ち方で把持したときに撮像装置12に正対する位置に発光マーカー122を備える。HMD18の発光マーカーは図5、6で示したとおりである。撮像装置12をステレオカメラとした場合、ステレオ画像における像の視差に基づき、撮像装置12の撮像面から各発光マーカーまでの距離Zが求められる。また、どちらかの撮影画像の画像平面(XY平面)における発光マーカーの像の位置は、撮像装置12からの見かけ上の位置を表している。
これらの情報を統合する、具体的にはXY平面における位置を撮像装置12からの距離Zを用いて逆射影することにより、実世界の3次元空間における各発光マーカーの位置が求められる。さらにHMD18の発光マーカーの像の数や位置関係から、上述のとおりHMD18の実空間における姿勢(ベクトルva)が、入力装置14の発光マーカー122の像の形状から入力装置14の実空間における姿勢(ベクトルvb)が求められる。
情報処理装置10の情報処理部は、これらの装置の実空間における位置および姿勢に基づき、ユーザ120の顔の向きに応じて視野が変化する仮想世界や、入力装置14の動きに応じて画像内のオブジェクトが動く様を表現することができる。なおマーカーの見かけ上の大きさによって撮像装置12からの距離を推定したり、奥行き方向の動きが必要ない情報処理を行ったりする場合は、撮像装置12はステレオカメラでなくてよい。参照光を利用した距離測定技術を導入する場合も同様である。また必ずしもHMD18と入力装置14の双方を追跡しなくてもよい。
次にこれまで述べた構成によって実現できる、情報処理装置10およびHMD18または平板型ディスプレイ16の動作について説明する。図8は、本実施の形態において撮影画像に基づき情報処理および表示を行う処理手順を示すフローチャートである。このフローチャートは、ユーザが入力装置14などを介して情報処理装置10に処理の開始を要求したときなどに開始される。
まず情報処理装置10の撮影画像取得部74は、撮像装置12に撮影の開始を要求し、それに応じて撮像装置12が撮影し出力した撮影画像のデータの取得を開始する(S10)。次に追跡対象モデリング部86は、追跡対象の形状モデルを取得する(S12)。具体的には上述のとおり、所定の向きの追跡対象を撮影し、その像に基づき形状やサイズを特定する。ここで所定の向きとは1つでも複数でもよく、追跡対象の可変箇所に応じて決定したり、形状モデルを構築しながら不足している角度を補うように決定したりする。HMD18を追跡対象とする場合は、上述のようにおよそのモデルを準備できるため、側面の撮影画像に基づき装着バンド106の伸縮に応じた修正を加える。
一方、未知の対象物であっても、各面を撮像装置12に向けるようユーザに促すなどして撮影すればその形状モデルを取得できる。実際のサイズは、ステレオ画像から取得される対象物の奥行き方向の位置に基づき取得できる。HMD18のように内部に加速度センサを備える場合は、撮影時の追跡対象の傾きに基づき、必要な向きの撮影画像が得られているかを確認することもできる。追跡対象モデリング部86は、形状モデル取得処理についてユーザに通知すべき情報を表した出力データを、出力データ送信部84を介してHMD18および平板型ディスプレイ16の少なくともいずれかに送信することにより、当該情報が送信先から出力されるようにする。
なおS12の処理は上述のとおり、その後も連続的、あるいは断続的に行ってよい。次に情報処理部76は、取得された形状モデルに基づき、ステレオ画像を用いて対象物の実空間での位置や姿勢を取得する(S14)。そしてそれらの結果に基づき、メインデータ生成部78は、仮想世界の画像や音声など、出力すべきメインデータを生成する(S16)。HMD18で表示する場合は左右の視差画像を生成したり、レンズを介したときに正常に見えるように歪みを与えるなどの加工を適宜施す。
一方、補助データ生成部82は、出力すべき補助データを生成する(S18)。単に撮影画像を補助データとしてもよいし、情報処理部76による追跡の結果、特定された対象物の像の位置に印をつけるなど撮影画像に加工を施してもよい。そのほか、異常を通知したり改善の仕方を示唆したりする画像や音声のデータを生成してもよい。また入力装置14に内蔵させた振動子を振動させる信号を生成してもよい。
情報処理装置10の出力データ送信部84が、そのように生成されたメインデータおよび補助データをHMD18および平板型ディスプレイ16の少なくともいずれかに送信することにより、画像が表示されたり音声が出力されたりする(S20)。なお平板型ディスプレイ16への出力データの送信は、HMD18を介して行ってもよい。この場合、HMD18の表示処理部98は、自らが表示する画像のデータを平板型ディスプレイ16に適した形式に成形してから送信する。ユーザから処理の終了要求が入力されない間は(S22のN)、次の画像フレームとして撮影された画像に基づき、S14〜S20の処理を繰り返す。ユーザから処理の終了要求がなされたら、全ての処理を終了する(S22のY)。
図9は本実施の形態における表示画像を例示している。まず上段の画像(a)は、補助データが表示されない状態の画像例、すなわちメインデータに含まれる画像例を示しており、左側がHMD18用、右側は平板型ディスプレイ16用である。同図ではわかりやすさのために格子状の図柄を表示対象としているが、実際には仮想世界やゲーム画像など情報処理の内容によって様々となる。HMD18用の表示画像は、表示パネルに対応する画像平面を2分割してなる左右の領域に、左目用画像と右目用画像をそれぞれ配置した構成を有する。
この例は、HMD18において表示パネルの前にレンズを設けユーザの視野を広げることを想定している。この場合、レンズによって、表示された画像のうち中心から離れた画素ほど大きい変位で引き延ばされるいわゆる「糸巻き型」の歪みが発生する。また色によっても変位量が異なるため色収差が生じる。したがって、(a)の右側に示すような一般的な画像に対し、当該歪みと色収差を考慮して歪み補正を施すことにより、図示するようなHMD18用の表示画像を生成する。これにより、レンズを介して見ると右側に示すような画像となる。
なお歪み補正は情報処理装置10のメインデータ生成部78が行ってもよいし、HMD18の表示処理部98が行ってもよい。またHMD18から平板型ディスプレイ16へ画像のデータを送信する構成においては、HMD18の表示処理部98が、左右のどちらかの画像のうち必要な領域を切り出して送信する。このとき、情報処理装置10が歪み補正後の画像をHMD18に送信する態様においては、表示処理部98が歪み補正と逆の補正を施して平板型ディスプレイ16用の画像を生成する。レンズ用の歪み補正やその逆補正については一般的な手法を適用することができる。
図9の下段の画像(b)は、補助データが表示された状態の画像例を示しており、左側がHMD18用、右側は平板型ディスプレイ16用である。上段の画像と比較し画像の中央付近に2つの画像(例えば画像150a、150b)が並べて表示されている。これらは撮像装置12が撮影したステレオ画像であり、図7で示した状態のユーザの姿が映っている。ステレオカメラの場合、2つのカメラがそれぞれ独自の視野を持っている。したがって補助データとしてステレオ画像の双方を同時に表示させることにより、ユーザは両者の視野を確認し、追跡処理に対し有効な可動範囲を認識することが容易にできる。
またいずれかのカメラが故障していたりデータ出力が適切にできていない場合も、ステレオ画像をそれぞれ確認することにより、そのような不具合を一見して把握することができる。さらに照明環境や撮影条件が適切でない場合も、撮影画像から容易に把握できる。なお撮像装置12が単眼カメラで構成されていたり、ステレオマッチングの必要のない情報処理を行う場合などは、補助データに含まれる撮影画像は1つのみでよい。
補助データの画像を重畳させたHMD18用の画像は、例えば次の手法のどちらかによって作成できる。
(1)メインデータの画像を左右の視点から描画後、両者の画像の最前に矩形領域として補助データの画像を追加で描画し、歪み補正を施す
(2)メインデータとして描画される仮想世界に存在するオブジェクトの表面に、補助データの画像をテクスチャとして貼り付けたうえで、左右の視点から仮想世界を描画し歪み補正を施す
(1)の場合、補助データの画像は一般的な平面画像として見える。ただし左右の画像の端に近づくほど歪み補正の影響が大きくなるため画質が劣化しやすくなる。またこのようにして生成したHMD18用画像から、右に示した平板型ディスプレイ16用の画像を生成する場合は、画像の端に近づくほど逆補正しきれず元の矩形形状の撮影画像に戻りにくくなる。それらの観点から、(1)の手法では特に、補助データの画像はメインデータの画像の中央付近に表示することが望ましい。このようにすると、切り出し処理により補助データの画像が一部、欠落してしまう可能性も低くなる。
補助データの画像をメインデータの画像の中央付近に表示する場合、メインデータの画像が隠蔽されることによる不都合が生じないよう、初期処理中など適切なタイミングで補助データを表示したり、ユーザが表示/非表示を切り替えられるようにしたりすることが望ましい。上記(2)の場合、補助データの画像は仮想世界の一部となるため歪み補正によっても劣化が少なくレンズごしに自然に見ることができる。またHMD18用画像から平板型ディスプレイ16用の画像を生成する場合も、仮想世界と同様に逆補正がかかるため、(1)の手法で上述したような問題は生じにくい。
図10は、撮像装置12のステレオカメラにおける視野とステレオ画像の関係を説明するための図である。まず撮像装置12のカメラ152a、152bはそれぞれ、点線で示したような視野を有する。これに対し状態Aにいるユーザは、双方の視野に含まれるため、右に示した画像154a、154bのようなステレオ画像が得られる。なお画像154aは左視点のカメラ152aが、画像154bは右視点のカメラ152bが撮影した画像である。
一方、ユーザが左(カメラから見て右)に移動し、右視点のカメラ152bの視野には入っているが、左視点のカメラ152aの視野からは外れた状態Bになると、ステレオ画像156a、156bのうち左視点のカメラ152aが撮影した画像156aでユーザの像が欠けてしまう。ユーザが装着しているHMD18や把持する入力装置14に設けた発光マーカーの実空間での位置を求める場合、左右の視点からみたマーカーの像が必要となるため、状態Bのような期間はその処理が不可能となる。
しかしHMD18を装着し仮想世界などを目の前にしているユーザはそのことに気づきにくい。そこで上述のようにステレオ画像156a、156bの双方を補助データとして表示することにより、どちらのカメラの視野から外れてもそれを一見して認識できるようにする。またカメラが故障していたりカメラからのデータ入力が適切になされていなかったりしても画面が消灯していることにより認識できる。なお撮影画像はそのまま表示させるほか、左右を反転させる鏡面処理を施してから表示してもよい。後者の場合、どの方向に戻るべきかといった方向性がユーザに理解されやすくなる。
図11は補助データとして、撮影画像に所定の加工を施した例を示している。この図では、図10で示した状態Bのステレオ画像をそれぞれ左右反転させたうえ、左視点の撮影画像158a、160aを右側に、右視点の撮影画像158b、160bを左側に表示している。これによりユーザから見て左右のカメラにそれぞれ写っている自分の姿を鏡のように見ることができ、空間の把握がしやすい。表示例(a)ではさらに、視野から外れた方の撮影画像158a全体に所定の画像加工を施すことにより強調表示する。図では画像全体に半透明のグレーのレイヤを重ねているが、赤色などでさらに強調してもよいし、重ねるレイヤを点滅させてもよい。
このような変化に応じて、ユーザが対応するカメラの視野に入るように移動することで、追跡処理の破綻が免れ情報処理を続行できる。表示例(b)の場合は、視野から外れた方の撮影画像160aに、戻るべき方向を示す矢印162を描画している。ユーザは矢印の方向に移動することにより容易にカメラの視野に入ることができる。HMD18を用いて立体視が可能な場合は、矢印の視差画像を作成して表示パネルの左右の領域にそれぞれ表示することにより、矢印が中に浮いているように視認させてもよい。
あるいは戻るべき方向に音声を定位させて聞かせてもよい。この場合、ユーザは音のする方向へ移動することでカメラの視野に入ることができる。さらに、カメラの視野から外れたら入力装置14に内蔵した振動子を振動させることによりユーザに通知してもよい。これらの補助データの出力態様は、いずれか一つのみ実施してもよいし、2つ以上を組み合わせて実施してもよい。
図12は補助データとして撮影画像に加工を施す別の例を示している。この例では、情報処理装置10の情報処理部76が追跡対象として認識している物の画面上での位置を示す印や図形を描画する。なお追跡処理が進捗中であれば当該印や図形も物の動きに応じて移動する。同図の場合、ステレオ画像164a、164bの双方において、HMDおよび入力装置の中心にバツ印(例えばバツ印166a、166b)が示されており、追跡対象が正しく認識されていることがわかる。
なおHMDと入力装置、複数のユーザのHMDなど、複数の物を追跡している場合は、それらを区別して認識していることがわかるように印の色を変化させてもよい。例えば、それらが区別して追跡されるように発光マーカーの色を異ならせ、印の色を、追跡対象として認識されている物に設定されている発光マーカーの色としてもよい。このようにすると、追跡すべき対象物ではあるものの別の追跡対象と混同して認識されているような状態を、発光マーカーと印の色の対応によって把握することができる。
また印はバツ印に限らず、そのほかの図形でもよいし、追跡対象の周囲を線で囲ってもよい。複数のユーザがいる場合は、ログイン名などの文字情報を、それぞれのHMD18の像の近傍に表示してもよい。これらのことにより、追跡対象がカメラの視野に入っているかのみならず、追跡処理が適正になされているかを一見して確認することができる。例えば追跡されるべきHMDに印がなかったり、発光マーカーの色と別の色の印がついていたりした場合、情報処理の不具合の原因を追跡処理に求めることができる。
図13は、図12で説明した態様において状況を改善させる事例を説明するための図である。画像168は補助データとして表示するステレオ画像のうち一方の画像168を例示している。図12と同様、画像168において、情報処理部76が追跡対象として認識している物の像にバツ印170a、170bが付加されている。ここでバツ印170aは真の追跡対象であるHMDの像の位置を表しているが、バツ印170bは天井の照明を追跡対象として誤認識していることを示している。発光マーカーと照明の色が似ている場合などにこのようなことが起こり得る。照明のほか、テレビや携帯端末のディスプレイの発光を追跡対象と誤認識することも考えられる。
画像168のような補助データを表示することにより、ユーザはそのような不具合の原因を容易に把握できる。この例ではユーザは、自分が想定するよりカメラが上向きであることに気づくなどして、カメラの仰角を小さくするといったハードウェア的な対応をとることにより、視野に照明が入る余地を少なくできる。あるいは、入力装置14などによって移動可能なカーソル172を画像168上に表示させ、正しい追跡対象を示すバツ印170aを選択する入力を受け付けてもよい。この場合、情報処理部76が、選択されなかったバツ印170bに対応する物を追跡対象から除外することにより、カメラの視野を変化させることなく、ソフトウェア的に誤認識を是正できる。
また真の追跡対象にバツ印が表示されていなければ、それが追跡対象として認識されていないことがわかるため、例えばユーザは、当該追跡対象を一旦カメラに近づけるなどして認識されやすくしてもよい。同様に、家具など想定外の物がカメラの視野に入っていて、追跡対象がそれに隠蔽されている場合も考えられる。この場合も、画像168のような補助データを表示することにより容易に不具合の原因を特定できるため、ユーザは邪魔な物をどかしたり、カメラの向きを調整して視野に入らないようにしたりすることができる。
図14は、補助データとして撮影画像に加工を施すさらに別の例を示している。この例では、ステレオ画像180a、180の双方に、他方のカメラの視野によって定まるユーザの可動範囲を点線182a、182bで囲んで示している。すなわち左視点のカメラの視野の限界を右視点のカメラの画像180bに、右視点のカメラの視野の限界を左視点のカメラの画像180aに、領域として表示する。なお同図のステレオ画像180a、180は撮影画像を左右反転させているため、左視点のカメラの視野は右よりに、右視点のカメラの視野は左よりになっている。
このような補助データの表示により、ユーザは、実空間では明確な線引きのない可動範囲を実際のカメラの状態に応じて正確に認識することができる。なお可動範囲の表示は点線に限らない。また撮影画像のうち可動範囲の領域のみを切り出して表示してもよい。図11で示した態様、図12、13で示した態様、図14で示した態様は、そのうちいずれかのみを実施してもよいし、適宜組み合わせて同時に実施してもよい。また音声出力や入力装置14の振動なども適宜組み合わせてよい。
図15は、図8のS12において情報処理装置10の追跡対象モデリング部86が、追跡対象の形状モデルを取得する処理手順を示すフローチャートである。ここではHMD18の形状モデルを取得することを想定しているが、追跡対象をそれに限る主旨ではない。この場合、上述のとおり標準モデルをあらかじめ生成し、追跡対象モデリング部86の内部メモリに保持しておくことができる。
まず追跡対象モデリング部86は、処理の初期段階として、形状モデルの取得に必要なマーカーが写る撮影画像を取得中であることをユーザに通知する(S30)。次に、撮影画像のうちその時点での画像フレームから発光マーカーの像を検出する(S32)。情報処理の開始時など初期段階では多くの場合、ユーザは撮像装置12に正対しているため、例えばHMD18前面の4つの発光マーカーの像が検出される。次に、同時に写っている発光マーカーの数が所定数であるか否かを判定する(S34)。
上述したHMD18の場合、装着バンド106の長さ調節によって前面の2つの発光マーカーおよび後部の1つの発光マーカーの距離が影響を受けるため、それら3つの発光マーカーが写っている必要がある。検出された発光マーカーが4つなど、所定数以外の数であった場合は(S34のN)、次の画像フレームについて発光マーカー検出および数の確認を繰り返す(S32、S34)。この期間、S30の通知を継続する。
このとき、必要な撮影画像を取得中であることを文字情報等で通知するのみでもよいし、所定の方向に向くようユーザに指示してもよい。あるいは情報処理部76の処理に、必要な撮影画像を取得するためのモードを準備しておき、ゲームや仮想世界表現の中で自然に好適な方向へ向くようにしてもよい。例えばゲーム画像中、ユーザが凝視する必要のあるオブジェクトを右隅に表示させることにより顔を右に向かせれば、撮像装置12の視野には左側頭部が入り、結果として発光マーカーが3つ写る撮影画像を取得できる。
このような場合、追跡対象モデリング部86が当該モードの実行を情報処理部76に要求する。あるいは、ユーザが向くべき方向に定位させた音声を出力してもよい。そして発光マーカーが3つなど所定数写る撮影画像が取得できたら(S34のY)、次の段階、すなわち形状モデルの取得段階に入ったことをユーザに通知する(S36)。そして、取得した撮影画像における発光マーカーの像の位置関係に基づき形状モデルを取得する(S38)。HMD18の標準モデルを準備している場合は、それを修正する。
なお、より正確な形状モデルを取得するため、HMD18の右側面と左側面の撮影画像を両方、取得できるまで、S32とS34の処理を繰り返してもよい。この場合、写っている発光マーカーの数のほか、発光マーカーの配置を確認することにより、右側面の画像と左側面の画像を区別できる。また図13で示した撮影環境のように、HMD18の発光マーカーと類似した色の照明など、周囲の発光体の存在により、偶然、3つの発光体の像が得られてしまう可能性がある。そのような撮影画像を元に形状モデルを取得すると多大な誤差が発生することが考えられる。そこで、少なくとも形状モデル取得のために撮影画像を取得している期間は、それら周囲の発光体と区別できるようにHMD18のマーカーの発光態様を変化させてもよい。
例えば、HMD18のマーカーを発光させない状態での撮影画像を取得することにより、カメラの視野に入るマーカー以外の発光体を検出する。そしてそのような発光体が検出されたら、その発光色以外の色でHMD18のマーカーを発光させる。あるいは発光マーカーを点滅させてもよい。発光色の指定や点滅の要、不要に係る情報は、追跡対象モデリング部86が作成し、出力データ送信部84を介してHMD18に送信することにより、HMD18の発光部92をそのように発光させる。形状モデルを取得・修正できたら、追跡対象モデリング部86はその情報を情報処理部76に提供するとともに、形状モデル取得処理が完了したことをユーザに通知し、処理を終了する(S40)。
なお上述のとおり追跡対象モデリング部86は、情報処理部76における情報処理と並列に形状モデルを取得してもよい。この態様として、所定数のマーカーが写っている撮影画像が得られていない状態で、情報処理を開始してしまう場合と、一旦、形状モデルを取得してからも、長さなどの状態変化や精度向上のために継続して形状モデルを修正していく場合が考えられる。前者の場合、例えばHMD18の深さ方向の状態が未確定のため、確定している前面の発光マーカーの追跡のみを行う。
この場合、ユーザが後ろを振り向く動画が正しく検出されない可能性があるため、振り向く動作に入ることが予測されたら、形状モデルが未完成の旨をユーザに通知したり警告音を発生させたりする。あるいは仮想世界などメインデータの表示画像中で形状モデルが未完成であることが分かるような表示をする。例えば、HMD18によって全方向の仮想世界を表現する場合、検出できない角度に顔が向いた時に視野に入る仮想世界の領域をグレーに塗りつぶすなどして無効であることを表現する。これと同時に、必要な画像が得られる方向に向くように、文字や矢印などでユーザに指示を与えてもよい。必要な画像が得られ形状モデルが徐々に確定していくと仮想世界の無効な領域が減っていき、やがて形状モデルの取得が完了した時点で仮想世界が全方位で完成するようにしてもよい。
一旦、取得した形状モデルを、精度向上のために修正していく場合は、3つなど所定数の発光マーカーが同時に写っている撮影画像を随時取得し、その位置関係などに基づき形状モデルを修正していく。前回のタイミングにおける形状モデルと比較することにより形状モデルの収束状況を確認し、収束したことが判定されたら、それ以後は形状モデルの修正を行わないようにしてもよい。あるいは上述のとおり、装着バンド106が緩むなどして状態が変化する場合を考慮し、定期的に形状モデルの修正を実施してもよい。
図16は図15のフローチャート中、S30、S36、S40において、形状モデルの取得処理に係る情報をユーザに通知するために表示される画像の例を示している。この例は図9を参照して説明したようにHMD18に表示する画像であり、メインデータである左右の視差画像が、表示画面を2分割してなる左右の領域にそれぞれ表示されている。情報処理部76による処理と並列に形状モデルの取得処理を行わない場合、メインデータの画像はメニュー画像や初期画像などでよい。
まず図15のS30において、必要な撮影画像を取得中である旨を通知するときは、図16の(a)に示すように、「NOT READY」なる文字情報を表示する。この文字情報を表す画像は、上述した補助データを重畳させる手法と同様に重畳して表示する。したがって実際には、当該文字情報はレンズに対応するように歪み補正が施されている。このとき上述のように、ユーザが所定の方向を向くように誘導する画像やオブジェクトを表示させたり、「右側を見てください」といった音声を出力させたりしてよい。
次に図15のS36において、形状モデルを取得あるいは修正している旨を通知するときは、図16の(b)に示すように、「ADJUSTING」なる文字情報を表示する。そして図15のS40において、形状モデルの取得が完了したことを通知するときは、図16の(c)に示すように、「READY」なる文字情報を表示する。なお「READY」の文字情報は所定時間表示後に消してもよい。
図16に示した画像は一例に過ぎず、形状モデルの取得処理のうちどの段階にあるかをユーザが知ることができれば、その情報の提示手法は限定されない。例えば完了するまでの時間を示したゲージや、砂時計などの図形を表示してもよいし、仮想世界の一部として表示したオブジェクトの様子で表してもよい。また各段階を説明する音声や、段階に応じて異なる音などを出力してもよい。
以上述べた本実施の形態によれば、撮影画像における像を追跡しその結果を利用して情報処理を行うシステムにおいて、ゲーム画像や仮想世界など情報処理によって出力すべき主たる画像や音声のほかに、実空間について情報処理装置が認識している内容を示す中間データを補助データとしてユーザに提示する。具体的には、撮影画像、追跡結果、許容される可動範囲などを提示する。これによりユーザは、カメラの故障、装置間の未接続、照明環境や撮影条件の不適合、追跡処理における誤認識、カメラの視野からの逸脱など、情報処理に悪影響を与えている要素を直感的に理解でき、適切な改善措置を容易に講じることができる。
HMDを装着し、表示されている仮想世界に没入している状態のユーザは特に、実空間における状況を把握しづらい。そのような状態で自分自身がカメラの視野から外れるなどして突然、情報処理に不具合が生じても、その原因をすぐに特定するのは困難である。また視野から外れることにより頻繁にゲームが中断してしまうことがストレスの要因になり得る。一般的な2次元のディスプレイであっても、ゲームに夢中になっている状態では同様のことが起こり得る。
情報処理が最初から実行不可能な場合も、原因となり得る要因は多岐にわたり特定が難しい。上記のような補助データを提示することにより、少なくとも提示されている情報に係る要素における不具合の有無について、容易に確認することができる。またカメラの視野を正確に知ることができるため、自分や周囲の物と視野との関係を把握でき、カメラのセッティングを改善したり、視野から外れないような動きを心がけたりすることができる。さらに、ユーザが視野から外れたことを通知する画像や音声、戻る方向を示す画像や音声を補助データに含めたり、真の追跡対象を選択する入力を受け付けたりすることにより、より効率的かつ直感的に不具合を解消できる。
また、姿勢の変化を含む追跡の処理を精度よく行うために、追跡対象の形状やサイズを形状モデルとして取得する。具体的には、必要な向きの追跡対象を撮影した画像を取得し、当該画像における像の状態に基づき形状モデルを取得したり修正したりする。これらの処理は本来、情報処理装置が独自に行うことができるものであるが、追跡対象の動きなど実空間の状態に依存して処理時間が変動し、場合によっては完了までに多大な時間を要することも考えられる。その間、待機状態にあることはユーザにとってもストレスである。そのため今現在、何が行われているか、その状態で追跡可能な方向と不可能な方向、など処理の経過に係る情報をユーザに提示する。
これによりユーザは、どの段階まで処理が進んだかを知ることができ、安心感が増す。また必要な向きの撮影画像を取得する段階でユーザが協力することにより処理を短時間で完了させることができる。例えば必要な向きを提示したりゲーム内などで自然にそのような向きになるように誘導したりすることにより、効率的に処理を遂行できる。また形状モデルを取得中の状態でゲームなどの情報処理を開始するようにしても、形状モデルが未完成である旨をユーザが理解していることにより、予想外の不具合が発生しにくい。したがって形状モデルの取得とゲームなどの情報処理を融合させやすく、形状モデルの確定後、本格的な情報処理への移行を円滑かつ自然に実現できる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。