(58)【調査した分野】(Int.Cl.,DB名)
没入型の仮想空間に実空間のユーザの周辺環境を提示するコンピュータ・プログラムであって、コンピュータにリアルタイム・カメラおよびヘッドマウント・ディスプレイ(HMD)が接続されており、
前記リアルタイム・カメラから前記ユーザの実空間の周辺画像を取得する周辺画像取得部と、
前記取得した周辺画像を用いて実空間の周辺環境を検知する環境検知部と、
前記検知した周辺環境に関する情報を仮想空間情報に関連付けて前記HMDに出力する出力部と
として前記コンピュータに機能させ、
前記周辺画像を用いた前記周辺環境の検知が、前記周辺画像に対する人の検知を含み、
前記周辺環境に関する情報の出力が、前記人の検知による前記実空間の周辺環境の変化に応じて、前記周辺環境に対して検知される人の人数を前記仮想空間内で通知することと、それと同時に、前記リアルタイム・カメラからの実空間の映像を、前記仮想空間に設けた複数の仮想ディスプレイの内の特定の1つに表示させることにより、仮想空間画像の一部として前記HMDに表示することとを含むように構成される、コンピュータ・プログラム。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本発明の実施形態により実装される表示画面例である。
【
図2】
図2は、本発明の実施形態によるHMDシステムを示した模式図である。
【
図3】
図3は、
図2に示したHMDを装着したユーザの頭部を中心にして規定される実空間における例示の直交座標系を示す。
【
図4】
図4は、ポジション・トラッキング・カメラによって検知される、HMD上に仮想的に設けられた複数の検知点を示す概要図である。
【
図5】
図5は、本発明の実施形態により、没入型仮想空間に実空間のユーザの周辺環境を提示するための模式図である。
【
図6】
図6は、
図2に示したHMDシステムにおける制御回路部に関する機能ブロック図である。
【
図7】
図7は、本発明の実施形態により、ユーザの周辺環境検知を実施するための例示の処理フロー図である。
【
図8】
図8は、本発明の実施形態により、ユーザの周辺環境検知を実施するための例示の処理フロー図である。
【
図9】
図9は、没入型仮想空間に対する実空間のユーザ周辺環境の提示に関する第1実施例の画面例である。
【
図10】
図10は、没入型仮想空間に対する実空間のユーザ周辺環境の提示に関する第2実施例の画面例である。
【
図11】
図11は、没入型仮想空間に対する実空間のユーザ周辺環境の提示に関する第2実施例の画面例である。
【
図12】
図12は、没入型仮想空間に対する実空間のユーザ周辺環境の提示に関する第2実施例の画面例である。
【発明を実施するための形態】
【0011】
以下に、図面を参照して、本発明の実施形態による、没入型仮想空間に実空間のユーザの周辺環境を提示するためのヘッドマウント・ディスプレイ・システムおよびコンピュータ・プログラムについて説明する。図中、同一の構成要素には同一の符号を付してある。
【0012】
図2は、本発明の実施形態によるコンピュータ・プログラムを実施するために、ヘッドマウント・ディスプレイ(以下、「HMD」と称する。)を用いたHMDシステム100の全体概略図である。図示のように、HMDシステム100は、HMD本体110、コンピュータ(制御回路部)120、ポジション・トラッキング・カメラ130、およびリアルタイム・カメラ140を備える。
【0013】
HMD110は、ディスプレイ112およびセンサ114を具備する。ディスプレイ112は、ユーザの視界を完全に覆うよう構成された非透過型の表示装置であり、ユーザはディスプレイ112に表示される画像のみを観察することになる。非透過型HMD110を装着したユーザは、外界の視界を全て失うため、制御回路部120において実行されるアプリケーションによってディスプレイ112に表示される3次元仮想空間内に完全に没入するような表示態様となる。
【0014】
HMD110が具備するセンサ114は、ディスプレイ112近辺に固定される。センサ114は、地磁気センサ、加速度センサ、および/または傾き(角速度、ジャイロ)センサを含み、これらの1つ以上を通じて、ユーザの頭部に装着されたHMD110(ディスプレイ112)の各種動きを検知することができる。特に角速度センサの場合には、
図4のように、HMD110の動きに応じて、HMD110の3軸回りの角速度を経時的に検知し、各軸回りの角度(傾き)の時間変化を決定することができる。
【0015】
そこで、
図3を参照して傾きセンサで検知可能な角度情報データについて具体的に説明する。図示のように、HMDを装着したユーザの頭部を中心として、XYZ座標が規定される。ユーザが直立する垂直方向をY軸、Y軸と直交しディスプレイ112の中心とユーザを結ぶ方向をZ軸、Y軸およびZ軸と直交する方向の軸をX軸とする。傾きセンサでは、各軸回りの角度、具体的にはY軸を軸とした回転を示すヨー角、X軸を軸とした回転を示すピッチ角、およびZ軸を軸とした回転を示すロール角で決定される傾きを検知し、その経時的な変化により、動き検知部220が視界情報として角度(傾き)情報データを決定する。
【0016】
図2に戻り、HMDシステム100が備えるコンピュータ(制御回路部)120は、ポジション・トラッキング・カメラ130およびリアルタイム・カメラ140に接続される。そして、HMDを装着したユーザを3次元仮想空間に没入させ、3次元仮想空間に基づく動作を実施させるための制御回路装置として機能する。図示のように、制御回路部120は、HMD110とは別のハードウェアとして構成してよい。当該ハードウェアは、パーソナルコンピュータやネットワークを通じたサーバ・コンピュータのようなコンピュータとすることができる。即ち、図示はしないが、相互にバス接続されたCPU、主記憶、補助記憶、送受信部、表示部、および入力部を備える任意のコンピュータとすることができる。代替として、制御回路部120は、視界調整装置としてHMD110内部に搭載されてもよい。この場合は、制御回路部120は、視界調整装置の全部または一部の機能のみを実装することができる。一部のみを実装した場合には、残りの機能をHMD110側、またはネットワークを通じたサーバ・コンピュータ(非図示)側に実装してもよい。
【0017】
更に、HMDシステム100が備えるポジション・トラッキング・カメラ130は、制御回路部120に通信可能に接続され、HMD110の位置追跡機能を有する。ポジション・トラッキング・カメラ130は、赤外線センサおよび/または複数の光学カメラを用いて実現される。HMDシステム100は、ポジション・トラッキング・カメラ130を具備し、ユーザ頭部のHMDの位置を検知することによって、実空間のHMDの位置および3次元仮想空間における仮想カメラ/没入ユーザの仮想空間位置を正確に対応付けて、特定することができる。
【0018】
より具体的には、ポジション・トラッキング・カメラ130は、
図4に例示的に示すように、HMD110上に仮想的に設けられ、赤外線を検知する複数の検知点の実空間位置をユーザの動きに対応して経時的に検知する。そして、ポジション・トラッキング・カメラ130により検知された実空間位置の経時的変化に基づいて、HMD110の動きに応じて、実空間のHMDの位置および3次元仮想空間における仮想カメラ/没入ユーザの仮想空間位置を正確に対応付け、特定することができる。なお、本発明の実施の形態では、ポジション・トラッキング・カメラ130は任意の構成要素である。ポジション・トラッキング・カメラ130を用いない場合には、3次元仮想空間においてユーザを常に中心(原点)に配置するように構成することになる。
【0019】
再度
図2に戻り、HMDシステム100が備えるリアルタイム・カメラ140は、ユーザの実空間の周辺画像をリアルタイムで撮影して生成すると共に、生成した画像をリアルタイムまたは一定間隔で記憶する。リアルタイム・カメラは、周辺環境を複数の異なる方向から同時に撮影することにより、その奥行き方向の情報も記録できるようにしたステレオ・カメラとしてもよい。そして、リアルタイム・カメラ140は、USBやIEEE1394等のインタフェースを有し、接続先のコンピュータ120にリアルタイム画像転送を可能である。特に、ネットワーク・インタフェースを有し、有線/無線通信を通じてローカル/グローバルにアクセス可能なネットワーク・カメラ、特にWebカメラとするのがよい。
【0020】
これより
図5以降を参照して、本発明の実施形態により、没入型仮想空間に実空間のユーザの周辺環境を提示するための各情報処理について説明する。
図5は、没入型仮想空間に実空間のユーザの周辺環境を提示するために、実空間の周辺環境に関する情報を3次元仮想空間に関連付けてHMDに表示するための模式図である。
【0021】
図示のように、コンピュータ120のディスプレイの上部にリアルタイム・カメラ140が設置され、それと向かい合うようにユーザ1がHMD110を装着して配置される。ユーザのHMDに表示される3次元画像は、同時に、2次元画像としてコンピュータ120のディスプレイに表示されている。そして、コンピュータ120の当該ディスプレイを覗きこむように別の2人(2,3)がユーザ1の至近距離に存在する。この段階では、HMDユーザ1は、3次元仮想空間に没入した状態のため実空間の様子を観察できず、未だ人2,3の存在に気づいていない。
【0022】
本発明の実施形態によるHMDシステムは、HMDユーザ1に対し、人2,3に関する情報を3次元仮想空間に関連付けてHMDに表示することによって人2,3の存在を知らせる。より具体的には、まず、(i)人2,3が映り込んだリアルタイム・カメラ140の画像をコンピュータが取得し、顔認識プログラムを用いて当該画像から人2,3を検知する。次いで、(ii)検知した人の数に応じて、例えば、3次元仮想空間にキャラクタ表示を行うことによって、HMDユーザ1に2人の存在を知らせる。なお、上記(i)での顔認識プログラムにおける顔認識・検知機能は、当業者にとって公知のものを用いてよく、ここでは説明を省略する。また、当該顔認識を用いても、HMDユーザ1自身はHMDにより顔面の上半分が隠れた状態のため、人の顔としては検知されることはない。
【0023】
図6は、本発明の実施形態により、没入型仮想空間に実空間のユーザの周辺環境を提示する情報処理を実装するために、
図2の制御回路部120に関するコンポーネントの主要機能の構成を示したブロック図である。制御回路部120では、主に、センサ114/130からの入力を受け、当該入力をリアルタイム・カメラ140から取得した周辺画像と共に処理を実施して、HMD(ディスプレイ)112への出力を行う。制御回路部120は、主に、動き検知部210、視界決定部220および視界画像生成部230、並びに、周辺画像取得部250、環境検知部260、および空間画像重畳部270を含む。そして、仮想空間情報を格納した空間情報格納部280等の各種テーブルと相互作用することにより各種情報を処理するように構成される。
【0024】
動き検知部210では、センサ114/130で測定された動き情報の入力に基づいて、ユーザの頭部に装着されたHMD110の各種動きデータを決定する。本発明の実施形態では、特に、HMDが具備する傾きセンサ(ジャイロ・センサ)114により経時的に検知される傾き(角度)情報により経時的に検知される位置情報を決定する。なお、本発明の実施形態では、上記のとおり、ポジション・トラッキング・カメラ130の使用は任意であり、使用しない場合には、3次元仮想空間においてユーザを常に中心(原点)に配置するように構成することになる。
【0025】
視界決定部220では、空間情報格納部280に格納された3次元仮想空間情報、並びに、動き検知部210で検知された傾き情報に基づいて、3次元仮想空間に配置した仮想カメラの位置、方向、そして、該仮想カメラからの視界領域を決定する。また、視界画像生成部230では、HMDに3次元仮想空間画像を表示するために、視界決定部220で決定した視界領域に対する360度パノラマの一部の視界画像を、仮想空間情報を用いて生成することができる。なお、視界画像は、2次元画像を左目用と右目用の2つを生成し、HMDにおいてこれら2つを重畳させて生成することで、ユーザには3次元画像の如くHMDに表示可能である。
【0026】
一方、周辺画像取得部250では、リアルタイム・カメラ140によって連続的に撮影された周辺画像を記憶部に取り込む。そして、環境検知部260では、周辺画像取得部250で取得した各周辺画像を用いて実空間の周辺環境、特に周辺環境の「変化」を検知する。より具体的には、顔認識プログラムを用いて周辺画像から人の顔の存在、特に人数の増減を検知することができる。なお、顔認識プログラムの実行は、制御回路部120側に実装する機能としてではなく、リアルタイム・カメラ140側に実装する機能として実行してもよいことが理解されるべきである。
【0027】
空間画像重畳部(出力部)270では、環境検知部260で検知した周辺環境に関する情報を、空間情報格納部300に格納された仮想空間情報に関連付けてHMD(ディスプレイ)112に出力する。周辺環境に関する情報の出力には、検知された人の数、即ち、周辺環境における人数を3次元仮想空間内で通知し、および/または検知された人を3次元仮想空間内において3次元キャラクタとして配置するように、これらの画像を空間画像に重畳させてHMD112に表示することを含む。
【0028】
しかしながら、周辺環境に関する情報のHMDへの出力はこれらに限定されない。例えば、リアルタイム・カメラ140として複数のステレオ・カメラのように奥行き情報を取得可能なものを採用した場合は、検知する人の位置情報も取得可能であるため、ポジション・トラッキング・カメラ130と併せて使用することで、3次元仮想空間におけるHMDユーザと人の位置関係についても、周辺環境に関する情報として有することができる。
【0029】
次に、
図7および
図8を参照して、本発明の実施形態による、没入型仮想空間に実空間のユーザの周辺環境を提示する処理フローについて説明する。本情報処理は、主に、HMD110とコンピュータ(制御回路部)120との間の相互作用(
図7)、および、リアルタイム・カメラ140とHMD110とコンピュータ(制御回路部)120との間の相互作用(
図8)を通じて実施されることが理解される。
図7は、
図1(a)および
図1(b)に示したように、ユーザのHMD傾け動作と共に没入型3次元仮想空間においてユーザが視界を変更しながら視界画像を表示する処理フローについて示す。一方、
図8は、これに引き続いて、検知した実空間の周囲環境に関する情報を3次元仮想空間に関連付けてHMDに表示する処理フローについて示す。
【0030】
図7では、まず、HMD110は、ステップS10−1のように、定常的に各センサ114/130を用いてユーザ頭部の動きを検知している。それを受けて、制御回路部120では、動き検知部210によってHMD110の傾き情報および位置情報を決定する。そして、ステップS20−1では、動き検知部210により、位置情報に基づいて3次元仮想空間内に配置される仮想カメラの位置を決定すると共に、ステップS20−2では、同じく動き検知部210により、傾き情報に基づき仮想カメラの向きを決定する。なお、上述したように、本実施の形態では、ポジション・トラッキング・カメラ130は必須の構成要素ではなく、設けない場合には、ステップS20−1は省略され、位置情報の決定は行わなくてよい。
【0031】
引き続き、ステップS20−3では、視界決定部220により、仮想カメラの位置および向き、並びに仮想カメラの所定の視野角度に基づいて、3次元仮想空間内の仮想カメラからの視界領域を決定する。そして、ステップS20−4では、視界画像生成部230により、HMD112に表示するために、上記決定した視界領域に対する視界画像を生成する。次いで、ステップS10−2に進み、ステップS20−4で生成した視界画像をHMDのディスプレイ112に表示する。
【0032】
上記ステップS10−1、S20−1からS20−4、次いでS10−2が一連の基本処理ルーチンであり、アプリケーション実行中は、これらステップは基本的に繰り返し処理される。3次元仮想空間に没入したユーザにとっては、通常の動作モードとして、自身の頭部を傾ける動作を通じて、様々な位置および方向からの3次元仮想空間の視界をビュー可能である。他方、このような基本処理ルーチンと併せて、制御回路部120の周辺画像取得部250では、周辺環境に人を検知するために、リアルタイム・カメラ140から周辺画像を定常的に取得している。そこで、
図8に、検知した実空間の周囲環境に関する情報を3次元仮想空間に関連付けてHMDに表示する処理フローについて示す。
【0033】
ステップS30−1では、リアルタイム・カメラ140による連続的なカメラ撮影を通じて、周辺画像が連続的に生成される。これに応じて、ステップS20−5では、制御回路部120の周辺画像取得部250により周辺画像を取得すると共に、ステップS20−6では、環境検知部260により取得済みの周辺画像を用いて周辺環境を検知する。特に、周辺環境の変化を検知する。具体的には、画像に対する顔認識機能を用いて周辺に存在する人や人数を検知する。特に、人数が増減した場合には、周辺環境が変化したものと特定することができ、変化についてユーザに通知するのが有利となる。
【0034】
ステップS20−7で環境検知部260により人の検知があった場合には、引き続きステップS20−8に進む。ステップS20−8では、空間画像重畳部270によって、周辺環境に基づく情報および/または対応する画像を生成し、仮想空間情報格納部300に格納された仮想空間情報に上記情報および/または画像を関連付けて、ステップS10−3においてHMD110に表示する。上記周辺環境に基づく情報には、人数やキャラクタ情報が含まれるがこれに限定されないことが理解されるべきである。
【0035】
ステップS10−3でのHMD110への表示について、以下に、
図9〜
図12に示す幾らかの実施例を用いて説明する。ここでは、具体的な表示態様として、
図9に第1実施例を、
図10〜
図12に第2実施例を示す。
【0036】
図9は、
図1(a)に示した仮想マルチディスプレイ・アプリケーションで表示される画面である。そして、顔認識により特定された人が1人の場合の例である。図示のように、ここでは「閲覧者が1名います。」というメッセージを3次元仮想空間内にメッセージ表示する(画面中央上部)。それと同時に、
図9では、仮想メイン・ディスプレイとなる中央部分に、リアルタイム・カメラからの実空間の映像をそのまま表示させることにより、仮想空間画像の一部としてHMDに表示する。即ち、HMDユーザの後方に一人が存在し、その顔がリアルタイム・カメラで撮影・検知されている状況がそのまま3次元仮想空間内で映されHMDに表示される。第1実施例では、このように、3次元仮想空間に没入状態にあるユーザは、HMDを脱着することなく装着したままでも、自身の近辺に人が存在するといった周辺環境の変化を検知可能となる。つまり、本実施例では、リアルタイム・カメラを人検知センサとして適用可能である。
【0037】
図10〜
図12は、リアルタイム・カメラを用いて人を検知した場合に、当該人に対応するキャラクタを3次元仮想空間内に配置するようキャラクタ画像を仮想空間画像に重畳して、HMDに表示するように構成した第2実施例である。実空間でリアルタイム・カメラによって人の顔が検知された場合、検知された人の顔が周辺画像上のどのエリア(例えば、画像上の右/左、右上/右下/左上/左下のエリア等)かについて同時に特定する。そして、3次元仮想空間において、当該エリアに対応する方向(例えば、左方向/右方向、右上方向/右下方向/左上方向/左下方向等)から、人に対応した「くま」のキャラクタが移動しながら映り込むようにキャラクタ画像を仮想空間画像に重畳して、HMDに表示する。
図10の例では、
図9のようにリアルタイム・カメラから見て左方向に人が存在するために、当該人に対応する「くま」のキャラクタが、右方向に左から駆け足で移動(矢印)しながら映り込むようにHMDに表示するのがよい。
【0038】
図11および
図12では、このように移動しながら映り込んだ2匹の「くま」のキャラクタをHMDに表示する例であり、HMDユーザは、自身の近辺に2人の人が存在するといった周辺環境の変化を、HMDを装着したまま検知可能となる。なお、
図11は「くま」キャラクタの正面図、
図12は背面図を示す。
【0039】
以上、本発明による没入型仮想空間に実空間のユーザの周辺環境を提示する実施形態についていくつかの例示と共に説明してきたが、本発明は上記実施形態に限定されるものではない。特許請求の範囲に記載される本発明の趣旨及び範囲から逸脱することなく、様々な実施形態の変更がなされ得ることを当業者は理解するであろう。
【解決手段】本HMDシステムは、仮想空間情報に基づいて生成される仮想空間画像を表示して、ユーザを仮想空間に没入させる、ユーザが装着するHMDと、ユーザの実空間の周辺画像を生成するリアルタイム・カメラと、HMDおよびリアルタイム・カメラに接続されるコンピュータであって、リアルタイム・カメラから周辺画像を取得し、該取得した周辺画像を用いて実空間の周辺環境を検知し、周辺環境に関する情報を仮想空間情報に関連付けてHMDに出力するように構成されるコンピュータと、を備える。