(57)【特許請求の範囲】
【請求項１】
第１観測点に配置された第１のデバイスによって１又は複数の被写体が存在する現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの前記第１観測点からの距離の情報を含んだ第１距離画像と、前記第１観測点とは異なる第２観測点に配置された前記第１のデバイスとは別の第２のデバイスによって現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの前記第２観測点からの距離の情報を含んだ第２距離画像と、を取得する距離画像取得部と、
前記第１距離画像、及び前記第２距離画像のそれぞれに含まれる距離の情報に応じて決まる位置に複数の単位体積要素を配置することによって、前記被写体を表現する仮想空間を構築する仮想空間構築部と、
を含み、
前記仮想空間構築部は、前記第１距離画像に応じて配置される単位体積要素については、一度配置した後は更新せず、前記第２距離画像に応じて配置される単位体積要素については、所定時間おきに新たに取得される前記第２距離画像に基づいて更新する
ことを特徴とする情報処理装置。
【請求項２】
第１観測点に配置された第１のデバイスによって１又は複数の被写体が存在する現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの前記第１観測点からの距離の情報を含んだ第１距離画像と、前記第１観測点とは異なる第２観測点に配置された前記第１のデバイスとは別の第２のデバイスによって現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの前記第２観測点からの距離の情報を含んだ第２距離画像と、を取得する距離画像取得部と、
前記第１距離画像、及び前記第２距離画像のそれぞれに含まれる距離の情報に応じて決まる位置に複数の単位体積要素を配置することによって、前記被写体を表現する仮想空間を構築する仮想空間構築部と、
を含み、
前記仮想空間構築部は、前記単位体積要素を配置する候補となる前記仮想空間内の候補位置のそれぞれについて、当該候補位置に対応する現実空間内の位置に被写体部分が所定時間にわたって存在すると判定されたタイミングで、当該候補位置に単位体積要素を配置する
ことを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置において、
前記第１距離画像は、前記被写体としてユーザーを含み、現実空間内に固定された前記第１観測点からの距離の情報を含む画像であって、
前記第２距離画像は、前記ユーザーに対して固定され、当該ユーザーの動きに連動して動く前記第２観測点からの距離の情報を含む画像である
ことを特徴とする情報処理装置。
【請求項４】
第１観測点に配置された第１のデバイスによって１又は複数の被写体が存在する現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの前記第１観測点からの距離の情報を含んだ第１距離画像と、前記第１観測点とは異なる第２観測点に配置された前記第１のデバイスとは別の第２のデバイスによって現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの前記第２観測点からの距離の情報を含んだ第２距離画像と、を取得するステップと、
前記第１距離画像、及び前記第２距離画像のそれぞれに含まれる距離の情報に応じて決まる位置に複数の単位体積要素を配置することによって、前記被写体を表現する仮想空間を構築するステップと、
を含み、
前記仮想空間を構築するステップにおいて、前記第１距離画像に応じて配置される単位体積要素については、一度配置した後は更新せず、前記第２距離画像に応じて配置される単位体積要素については、所定時間おきに新たに取得される前記第２距離画像に基づいて更新する、
又は、
前記仮想空間を構築するステップにおいて、前記単位体積要素を配置する候補となる前記仮想空間内の候補位置のそれぞれについて、当該候補位置に対応する現実空間内の位置に被写体部分が所定時間にわたって存在すると判定されたタイミングで、当該候補位置に単位体積要素を配置する、
ことを特徴とする情報処理方法。
【請求項５】
第１観測点に配置された第１のデバイスによって１又は複数の被写体が存在する現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの前記第１観測点からの距離の情報を含んだ第１距離画像と、前記第１観測点とは異なる第２観測点に配置された前記第１のデバイスとは別の第２のデバイスによって現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの前記第２観測点からの距離の情報を含んだ第２距離画像と、を取得する距離画像取得部、及び、
前記第１距離画像、及び前記第２距離画像のそれぞれに含まれる距離の情報に応じて決まる位置に複数の単位体積要素を配置することによって、前記被写体を表現する仮想空間を構築する仮想空間構築部、
としてコンピュータを機能させるためのプログラムであって、
前記仮想空間構築部は、前記第１距離画像に応じて配置される単位体積要素については、一度配置した後は更新せず、前記第２距離画像に応じて配置される単位体積要素については、所定時間おきに新たに取得される前記第２距離画像に基づいて更新する、
又は、
前記仮想空間構築部は、前記単位体積要素を配置する候補となる前記仮想空間内の候補位置のそれぞれについて、当該候補位置に対応する現実空間内の位置に被写体部分が所定時間にわたって存在すると判定されたタイミングで、当該候補位置に単位体積要素を配置する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間から得られる情報に基づいて仮想空間を構築する情報処理装置、情報処理方法、プログラム、及び情報記憶媒体に関する。
【背景技術】
【０００２】
近年、拡張現実や仮想現実といった技術が研究されている。このような技術の一つとして、カメラで撮影した画像などの現実空間から得られる情報に基づいて仮想空間を構築して、ユーザーにその仮想空間内にいるかのような体験をさせるものがある。このような技術によれば、ユーザーは現実世界と関連する仮想空間内で現実世界では体験できないような体験をすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上述した技術において、現実空間についての情報をどのように取得したらよいかについては、いまだ十分に検討されていない。【０００４】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、効果的に現実空間の情報を取得して、現実空間に対応する仮想空間を構築することのできる情報処理装置、情報処理方法、プログラム、及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００５】
本発明に係る情報処理装置は、１又は複数の被写体が存在する現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの第１観測点からの距離の情報を含んだ第１距離画像と、前記第１観測点とは異なる第２観測点からの距離の情報を含んだ第２距離画像と、を取得する距離画像取得部と、前記第１距離画像、及び前記第２距離画像のそれぞれに含まれる距離の情報に基づいて、前記被写体を表現する仮想空間を構築する仮想空間構築部と、を含むことを特徴とする。【０００６】
本発明に係る情報処理方法は、１又は複数の被写体が存在する現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの第１観測点からの距離の情報を含んだ第１距離画像と、前記第１観測点とは異なる第２観測点からの距離の情報を含んだ第２距離画像と、を取得するステップと、前記第１距離画像、及び前記第２距離画像のそれぞれに含まれる距離の情報に基づいて、前記被写体を表現する仮想空間を構築するステップと、を含むことを特徴とする。【０００７】
本発明に係るプログラムは、１又は複数の被写体が存在する現実空間を観測して得られる距離画像であって、当該距離画像内の複数の単位領域のそれぞれに写っている被写体部分までの第１観測点からの距離の情報を含んだ第１距離画像と、前記第１観測点とは異なる第２観測点からの距離の情報を含んだ第２距離画像と、を取得する距離画像取得部、及び、前記第１距離画像、及び前記第２距離画像のそれぞれに含まれる距離の情報に基づいて、前記被写体を表現する仮想空間を構築する仮想空間構築部、としてコンピュータを機能させるためのプログラムである。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る情報処理装置をユーザーが使用する様子を示す図である。
【図２】本発明の実施の形態に係る情報処理装置の構成を示す構成ブロック図である。
【図３】本発明の実施の形態に係る情報処理装置の機能を示す機能ブロック図である。
【図４】仮想空間内に徐々にボクセルが配置されていく様子の一例を示す図である。
【図５Ａ】本発明の実施の形態に係る情報処理装置が実行する処理の流れの一例を示す図である。
【図５Ｂ】本発明の実施の形態に係る情報処理装置が実行する処理の流れの一例を示す図である。
【図６】仮想空間の様子の一例を模式的に示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面に基づき詳細に説明する。
【００１０】
図１は、本発明の一実施形態に係る情報処理装置１をユーザーが使用する様子を示す図である。また、図２は情報処理装置１の構成を示す構成ブロック図である。情報処理装置１は、例えば家庭用ゲーム機や携帯型ゲーム機、パーソナルコンピュータ、スマートホン等であって、図２に示すように、制御部１１と、記憶部１２と、インタフェース部１３と、を含んで構成されている。また、情報処理装置１は、図１に示すように、表示装置１４、第１ステレオカメラ１５、及び第２ステレオカメラ１６と接続されている。
【００１１】
制御部１１は少なくとも一つのプロセッサーを含んで構成され、記憶部１２に記憶されているプログラムを実行して各種の情報処理を実行する。本実施形態において制御部１１が実行する処理の具体例については、後述する。記憶部１２は、ＲＡＭ等のメモリデバイスを少なくとも一つ含み、制御部１１が実行するプログラム、及び当該プログラムによって処理されるデータを格納する。インタフェース部１３は、情報処理装置１が表示装置１４、第１ステレオカメラ１５、及び第２ステレオカメラ１６との間で各種の情報を授受するためのインタフェースである。
【００１２】
表示装置１４は、ヘッドマウントディスプレイ等、ユーザーが頭部に装着して使用する頭部装着型の表示装置である。表示装置１４は、情報処理装置１が出力する映像信号に応じた画像をユーザーの眼前に表示する。特に本実施形態では、表示装置１４はユーザーの左右の目に互いに異なる左目用画像、右目用画像を閲覧させるものとする。これにより表示装置１４は、視差を利用した立体映像を表示することができる。
【００１３】
第１ステレオカメラ１５は、左右に並んで配置された複数のカメラによって構成されており、１又は複数の被写体が存在する現実空間を観測するために用いられる。情報処理装置１は、これら複数のカメラによる撮影画像の視差を利用することで、第１ステレオカメラ１５の撮影位置（観測点）から撮影画像内に写っている被写体までの距離を算出することができる。第1ステレオカメラ１５を構成する各カメラによって撮影された撮影画像は、インタフェース部１３経由で情報処理装置１に入力される。同様に、第２ステレオカメラ１６も左右に並んで配置された複数のカメラから構成され、視野範囲内の被写体までの距離の算出に用いられる。
【００１４】
本実施形態において第１ステレオカメラ１５は、ユーザーの前方に設置されており、ユーザー側に向けられた位置及び向きで固定されている。一方、第２ステレオカメラ１６は、表示装置１４に取り付けられており、その撮影方向は表示装置１４の前面に向けられている。すなわち、第１ステレオカメラ１５の観測点は現実空間内で固定されている。これに対して、第２ステレオカメラ１６の観測点はユーザーに対して固定されており、ユーザーが頭部を動かすとこれに連動して動くことになる。通常の使用状態では、第１ステレオカメラ１５と第２ステレオカメラ１６は互いに向き合う状態となり、第１ステレオカメラ１５の視野範囲にはユーザーの頭部、表示装置１４、及び第２ステレオカメラ１６が含まれることになる。また、ユーザーが正面を向いている際には、第２ステレオカメラ１６の視野範囲に第１ステレオカメラ１５が含まれることになる。
【００１５】
なお、ここでは第２ステレオカメラ１６は表示装置１４に取り付けられた別の装置であることとしたが、第２ステレオカメラ１６は表示装置１４と一体に構成されてもよい。また、第１ステレオカメラ１５は情報処理装置１と一体に構成されてもよい。
【００１６】
以下、情報処理装置１が実現する機能について、図３を用いて説明する。図３に示すように、情報処理装置１は、機能的に、距離画像取得部２１と、仮想空間構築部２２と、表示制御部２３と、を含んで構成されている。これらの機能は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することにより実現される。このプログラムは、インターネット等の通信ネットワークを介して情報処理装置１に提供されてもよいし、光ディスク等のコンピュータ読み取り可能な情報記憶媒体に格納されて提供されてもよい。
【００１７】
距離画像取得部２１は、第１ステレオカメラ１５、及び第２ステレオカメラ１６のそれぞれが現実空間を撮影することで得られる距離画像（デプスマップ）を取得する。以下では、第１ステレオカメラ１５の撮影画像に基づいて生成された距離画像を第１距離画像ＤＭ１と表記し、第２ステレオカメラ１６の撮影画像に基づいて生成された距離画像を第２距離画像ＤＭ２と表記する。また、これら２種類の距離画像を距離画像ＤＭと総称する。本実施形態において距離画像ＤＭは、画像内の複数の単位領域ごとに、少なくとも当該単位領域内に写っている物体の一部分（被写体部分）までの距離Ｄの情報を含んだ画像である。ここで単位領域は、画像内の一つ一つの画素であってもよいし、互いに隣接する複数の画素からなる画素ブロックであってもよい。距離画像ＤＭは、単位領域に写っている被写体の色成分の情報を含んでもよい。
【００１８】
また、距離画像取得部２１は、距離画像ＤＭの生成に用いる画像を撮影した時点におけるステレオカメラの位置、及び向きの情報を距離画像ＤＭとともに取得する。以下、距離画像ＤＭの生成に用いる画像を撮影した際のステレオカメラの位置、及び向きの情報を、観測点情報という。特に第２ステレオカメラ１６は、ユーザーの頭部の動きに合わせてその位置、及び向きが変化する。そのため、第２距離画像ＤＭ２内に写っている物体の現実空間内における位置を特定するためには、対応する観測点情報が必要となる。距離画像ＤＭのデータと、距離画像ＤＭの生成に用いられた画像の観測点情報を用いることにより、距離画像ＤＭ内の各単位領域に写っている被写体の、現実空間内における位置を特定することができる。
【００１９】
具体的に、例えば距離画像取得部２１は、第１ステレオカメラ１５による撮影画像内に写っている第２ステレオカメラ１６の位置、及び向きを特定することによって、第２ステレオカメラ１６の現実空間内における位置、及び向きを特定してもよい。この場合、精度よく第２ステレオカメラ１６の位置を特定するために、第２ステレオカメラ１６，又は表示装置１４の所定位置に発光素子を取り付け、この発光素子を発光させてもよい。こうすれば、距離画像取得部２１は、第１ステレオカメラ１５の撮影画像内において発光素子からの光が写っている位置を特定することによって、第２ステレオカメラ１６の観測点情報を特定することができる。また、第２ステレオカメラ１６又は表示装置１４に複数の発光素子を配置し、その光の位置パターンを検出することによって、第１ステレオカメラ１５から見た第２ステレオカメラ１６の傾きの変化を特定することもできる。
【００２０】
また、距離画像取得部２１は、第２ステレオカメラ１６、又は表示装置１４が備えるモーションセンサーの検出結果を用いて、第２ステレオカメラ１６の位置、及び向きの変化を特定してもよい。具体的に距離画像取得部２１は、第２ステレオカメラ１６、又は表示装置１４が内蔵する加速度センサーやジャイロスコープ、地磁気センサー等のモーションセンサーの検出結果を利用することで、第２ステレオカメラ１６の観測点情報を特定できる。
【００２１】
また、距離画像取得部２１は、第２ステレオカメラ１６による撮影画像の時間変化を用いて、第２ステレオカメラ１６の位置、及び向きの変化を特定してもよい。このような撮影画像の時間変化に基づく位置推定は、公知のステレオＳＬＡＭ（Simultaneous Localization and Mapping）技術等により実現できる。このような技術によって第２ステレオカメラ１６の位置、及び向きの変化をモニタし続けることで、モニタ開始時点の第２ステレオカメラ１６の位置及び向きを基準として、任意の時点における第２ステレオカメラ１６の観測点情報を特定することができる。この方法によれば、発光素子やモーションセンサー等のデバイスがなくとも、第２ステレオカメラ１６の撮影画像だけから観測点情報を特定できる。
【００２２】
なお、距離画像取得部２１は、以上説明した観測点情報を特定するための複数の方法を組み合わせて用いてもよい。これにより、より精度よく観測点情報を特定できる。また、以上説明したもの以外の方法で観測点情報を特定してもよい。
【００２３】
仮想空間構築部２２は、距離画像取得部２１が取得した第１距離画像ＤＭ１及び第２距離画像ＤＭ２に基づいて、仮想空間を構築する。具体的に仮想空間構築部２２は、各距離画像ＤＭに写っている被写体（すなわち、現実空間に存在している物体）に対応するオブジェクトを生成し、仮想３次元空間内に配置する。特に本実施形態では、現実仮想空間構築部２２は、各距離画像ＤＭ内の各単位領域に対応するボクセルを仮想空間内に配置していくことによって、当該距離画像ＤＭ内に写っている物体を仮想空間内に再現する。ボクセルは、３次元空間を格子状に分割した際の各格子に対応する単位体積要素であって、所定のサイズを有する。ボクセルのサイズは、距離画像ＤＭの単位領域と対応するサイズであってよい。また、ボクセルの形状は立方体であってよい。現実空間に存在する様々な形状の物体は、仮想空間内において複数のボクセルの集合によって表現される。
【００２４】
具体的に、仮想空間構築部２２は、距離画像取得部２１が取得した第１距離画像ＤＭ１、及び第２距離画像ＤＭ２に含まれる単位領域のそれぞれに対応するボクセルを生成し、仮想空間内に配置する。ボクセルの配置位置は、対応する単位領域に写っている物体までのステレオカメラからの距離Ｄ、距離画像ＤＭ内における当該単位領域の位置、及びステレオカメラの観測点情報に基づいて決定される。また、ボクセルの表面の色は、対応する単位領域の色（画素値）に基づいて決定されてよい。
【００２５】
第２距離画像ＤＭ２は、ユーザーの視点に近い位置から見た景色を含んでいる。そのため、第２距離画像ＤＭ２に基づいて生成されるボクセルは、ユーザーのいる部屋の中の壁や床、家具など、ユーザーの周囲に存在する物体に対応すると考えられる。すなわち、第２距離画像ＤＭ２に基づいてボクセルを生成、配置することによって、仮想空間構築部２２は、ユーザーがいる部屋の様子を仮想空間内に再現することができる。なお、距離画像取得部２１は複数回にわたって第２距離画像ＤＭ２を取得し、仮想空間構築部２２はこれら複数の第２距離画像ＤＭ２のそれぞれに基づいてボクセルを生成してもよい。第２ステレオカメラ１６が取り付けられた表示装置１４を装着した状態でユーザーに自分の周囲を見渡してもらい、その間に撮影された複数の撮影画像に基づいて生成された第２距離画像ＤＭ２を用いてボクセルを配置することによって、仮想空間構築部２２は第２ステレオカメラ１６の視野角以上の広い範囲にわたって現実空間の様子を再現することができる。
【００２６】
一方、第１距離画像ＤＭ１には、ユーザー自身が写っていると想定される。そのため、第１距離画像ＤＭ１に基づいて生成されるボクセルにより、ユーザー自身の体が再現される。二つの距離画像ＤＭに基づいて生成されたボクセルを一つの仮想空間内に配置することによって、仮想空間構築部２２は、ユーザー自身とその周囲の空間の双方を再現した仮想空間を構築することができる。なお、仮想空間構築部２２は、第１距離画像ＤＭ１に基づいてボクセルを配置する際には、現実空間において第２ステレオカメラ１６の存在する位置を中心とした所定範囲内に存在する被写体部分のみを処理対象としてもよい。第２ステレオカメラ１６から離れた位置に存在する被写体は、ユーザー自身ではないと考えられるためである。逆に、第２距離画像ＤＭ２に基づいてボクセルを配置する際には、現実空間において第２ステレオカメラ１６の存在する位置を中心とした所定範囲の外に存在する被写体部分のみを処理対象としてもよい。
【００２７】
さらに本実施形態では、仮想空間構築部２２は、第１距離画像ＤＭ１に写っている物体を仮想空間内に再現する場合と、第２距離画像ＤＭ２に写っている物体を仮想空間内に再現する場合とで、異なる処理を実行することとする。これにより、各距離画像ＤＭの取得条件（観測点等）の違いに応じて、仮想空間内に配置されるボクセルの役割や性質を異ならせることができる。このような処理の具体例については、後に詳しく説明する。
【００２８】
表示制御部２３は、仮想空間構築部２２が構築した仮想空間内の様子を示す空間画像を生成し、表示装置１４に表示させる。例えば表示制御部２３は、現実空間内における表示装置１４の現在位置に対応する仮想空間内の位置に視点を配置し、その視点から仮想空間内を見た様子を示す空間画像を生成する。このとき表示制御部２３は、ユーザーの左右の目に対応する２つの視点を仮想空間内に並べて配置し、この２つの視点のそれぞれから仮想空間内を見た様子を示す２つの空間画像を生成する。この２つの空間画像を左目用画像、右目用画像として表示装置１４に表示させることにより、ユーザーは仮想空間内の様子を立体的に認識することができる。
【００２９】
ここで、表示制御部２３は、第２ステレオカメラ１６の観測点情報を用いて、ユーザーの目の位置、及び視線方向を特定する。そして、このユーザーの目の位置と向きに対応する仮想空間内の位置及び向きに、空間画像を描画するための視点を設定する。これにより、ユーザーが現実空間を見るのと同じように仮想空間内のオブジェクトを見た様子を表示装置１４に表示させることができる。
【００３０】
また、表示制御部２３は、ユーザーの実際の目の位置とは異なる位置に視点を設定してもよい。例えば表示制御部２３は、ユーザーの操作デバイスに対する方向指示に応じて、視点の位置を仮想空間内で移動させてもよい。これによりユーザーは、自分の体を離れた空間内の任意の位置から、自分自身の体を含め自分がいる空間の様子を閲覧することができる。
【００３１】
以下、仮想空間構築部２２が２種類の距離画像ＤＭを用いて異なる性質を持った２種類のボクセルからなる仮想空間を構築する処理の具体例について、説明する。以下の例では、第１距離画像ＤＭ１と第２距離画像ＤＭ２のどちらを入力とするかに応じて、仮想空間内に配置するボクセルの更新頻度を変化させる例について、説明する。なお、以下では説明の便宜のために、第１距離画像ＤＭ１に基づいて生成されるボクセルを人物ボクセルと表記し、第２距離画像ＤＭ２に基づいて生成されるボクセルを背景ボクセルと表記する。
【００３２】
具体的に、第２距離画像ＤＭ２については、距離画像取得部２１が仮想空間の初期化時に所定時間にわたって繰り返し取得することとし、仮想空間構築部２２は、これら複数の第２距離画像ＤＭ２に基づいて生成した背景ボクセルを仮想空間内に配置する。そして、次に初期化が行われるまでは、一度生成した背景ボクセルを更新せずにそのまま仮想空間内に存在させ続けることとする。
【００３３】
これに対して第１距離画像ＤＭ１については、ユーザーが仮想空間内の様子を閲覧している間、距離画像取得部２１が比較的短い時間間隔で繰り返し取得することとし、仮想空間構築部２２は、第１距離画像ＤＭ１が新たに取得されるつど、前回配置した人物ボクセルを仮想空間から消去し、新たに取得された第１距離画像ＤＭ１に基づいて人物ボクセルを生成し、仮想空間内に配置する。これにより、ユーザーの体を表す人物ボクセルについては実際のユーザーの動きに合わせてリアルタイムに更新しつつ、背景ボクセルを固定とすることで処理負荷を軽減することができる。
【００３４】
さらに、仮想空間構築部２２は、取得された距離画像ＤＭに基づいてボクセルを仮想空間内に配置する場合、全てのボクセルを一度に配置するのではなく、仮想空間内のボクセルが徐々に増えていくように各ボクセルの配置タイミングをずらしながら配置していってもよい。特に背景ボクセルを配置する際にこのような処理を適用することにより、徐々に仮想世界が構築されていくように演出することができる。この例における各ボクセルの配置タイミングの決定例について、以下に説明する。
【００３５】
例えば仮想空間構築部２２は、対応する距離画像ＤＭ内の単位領域の色に応じて、ボクセルの配置タイミングを決定してもよい。具体例として、仮想空間構築部２２は、距離画像ＤＭ内の複数の単位領域のうち、色成分値が所定の色範囲に属する単位領域について、対応するボクセルを配置する。この状態の仮想空間の様子が表示制御部２３によって表示装置１４に表示された後、仮想空間構築部２２は次の色範囲に属する単位領域について、対応するボクセルを配置する。このような処理を全ての色範囲について順次繰り返すことにより、仮想空間内に徐々にボクセルが配置されていく様子を表示できる。
【００３６】
また、仮想空間構築部２２は、ボクセルを配置する候補となる候補位置のそれぞれについて、当該候補位置に対応する現実空間内の位置に被写体部分が所定時間にわたって存在すると判定されたタイミングで、当該候補位置にボクセルを配置することとしてもよい。このような手法によれば、所定時間にわたって継続的に物体の存在が検出された位置から、順にボクセルが配置されていくことになる。この例における候補位置は、仮想空間内を格子状に分割して得られる位置である。仮想空間構築部２２は、これらの候補位置のそれぞれに対して、カウンタを設定する。そして、仮想空間の初期化時には、距離画像取得部２１が第２距離画像ＤＭ２を繰り返し取得し、取得するごとに仮想空間構築部２２は第２距離画像ＤＭ２に写っている物体が存在すると推定される仮想空間内の各候補位置について、その候補位置に設定されたカウンタの値をインクリメントする。その結果、カウンタの値が所定の閾値に達した場合、その候補位置に背景ボクセルを配置する。一方、あるタイミングで取得された第２距離画像ＤＭ２に基づいて物体が存在しないと推定された候補位置については、当該候補位置のカウンタの値をリセットする。これにより、一定時間にわたって物体が存在すると検出された位置から、順にボクセルを配置していくことができる。
【００３７】
このような手法によれば、ノイズや誤検出を回避して物体が確かに存在すると判定される候補位置にボクセルを配置することができる。しかも、カウンタの値が閾値に到達するタイミングは、仮想空間内の候補位置ごとにずれると想定されるため、同じ条件で各候補位置にボクセルを配置するにもかかわらず、ボクセルが仮想空間内に配置されるタイミングをずらすことができる。図４は、このような手法によりボクセルが時間とともに徐々に仮想空間内に配置されていく様子の一例を示している。
【００３８】
ここで、以上説明したようにカウンタを用いて徐々に背景ボクセルを仮想空間内に配置し、その後人物ボクセルをリアルタイムで生成、配置していく場合に情報処理装置１が実行する処理の流れの一例について、図５Ａ及び図５Ｂのフロー図を用いて説明する。
【００３９】
まず、仮想空間構築部２２が、仮想空間の初期化処理を実行する（Ｓ１）。この初期化処理では、仮想空間内に存在する全てのボクセルが消去され、仮想空間内のボクセルが配置される可能性がある全ての候補位置に対して、初期値０でカウンタが設定される。
【００４０】
続いて距離画像取得部２１が、その時点での第２ステレオカメラ１６の撮像画像を用いて生成された第２距離画像ＤＭ２を取得する（Ｓ２）。仮想空間構築部２２は、Ｓ３で取得された第２距離画像ＤＭ２内の注目する単位領域について、当該単位領域に写っている被写体部分の現実空間内における位置を特定し（Ｓ３）、対応する仮想空間内の候補位置に設定されたカウンタの値をインクリメントする（Ｓ４）。仮想空間構築部２２は、この段階でインクリメントされたカウンタの値が所定の閾値以上になったか判定し（Ｓ５）、閾値以上になった場合にはその候補位置に背景ボクセルを配置する（Ｓ６）。Ｓ３〜Ｓ６の処理を全ての単位領域について実行すると、次に仮想空間構築部２２は、この一連のループ中にＳ４でカウンタの値がインクリメントされなかった候補位置について、そのカウンタの値を０にリセットする（Ｓ７）。
【００４１】
その後、仮想空間構築部２２は、その時点での第２ステレオカメラ１６の位置及び向きに基づいて、仮想空間内の視点位置及び視線方向を更新する（Ｓ８）。そして表示制御部２３が、Ｓ８で更新された視点位置から視線方向に向けて仮想空間を見た様子を示す空間画像を描画し、表示装置１４に表示させる（Ｓ９）。
【００４２】
次に仮想空間構築部２２は、初期化が行われた後、所定の時間が経過したか判定する（Ｓ１０）。所定時間が経過していなければ、Ｓ２に戻って新たな第２距離画像ＤＭ２に基づく背景ボクセルの配置処理が実行される。所定時間が経過すると、背景ボクセルの配置処理は終了し、次の処理が実行される。
【００４３】
背景ボクセルの配置処理が終了すると、それ以降、Ｓ６で配置された背景ボクセルは更新されなくなる。次に仮想空間構築部２２は、その時点で仮想空間内に配置されている全ての人物ボクセルを消去する（Ｓ１１）。そして、今度は距離画像取得部２１が第１距離画像ＤＭ１を取得する（Ｓ１２）。仮想空間構築部２２は、Ｓ１２で取得した第１距離画像ＤＭ１内の各単位領域に写っている被写体部分の現実空間内における位置を特定し（Ｓ１３）、対応する仮想空間内の候補位置に人物ボクセルを配置する（Ｓ１４）。
【００４４】
その後、仮想空間構築部２２は、その時点での第２ステレオカメラ１６の位置及び向きに基づいて、仮想空間内の視点位置及び視線方向を更新する（Ｓ１５）。そして表示制御部２３が、Ｓ１５で更新された視点位置から視線方向に向けて仮想空間を見た様子を示す空間画像を描画し、表示装置１４に表示させる（Ｓ１６）。その後、処理の終了がユーザーから指示されるまで、Ｓ１１に戻って人物ボクセルの更新処理が繰り返し実行される。
【００４５】
このように第１距離画像ＤＭ１に基づいて配置される人物ボクセルと第２距離画像ＤＭ２に基づいて配置される背景ボクセルとで更新タイミングや更新頻度を変化させることで、ユーザーについてはリアルタイムでその動きを仮想空間に反映させつつ、それほど変化しないと想定されるユーザー周囲の物体については更新頻度を抑えて処理負荷を軽減することができる。また、第２ステレオカメラ１６の撮影位置はユーザーの動きとともに変化するため、第２距離画像ＤＭ２に基づいて配置される背景ボクセルを消去せずに仮想空間内に残し続けることで、一度に第２ステレオカメラ１６で撮影可能な範囲を超える広い範囲から得られた背景ボクセルを仮想空間内に配置することができる。
【００４６】
なお、上記の例では背景ボクセルが一度配置されるとその後一切消去されないこととしたが、その後も人物ボクセルの更新処理よりも低い更新頻度で背景ボクセルに対応する被写体部分の存在をチェックし、被写体部分の存在が検出されなくなった候補位置に配置されている背景ボクセルは消去することとしてもよい。これにより、ユーザーの周囲に存在する動きのある物体が背景ボクセルとして固定され続けることを回避できる。
【００４７】
なお、背景ボクセルの消去は、第２距離画像ＤＭ２に基づいて実行するのではなく、これとは別の固定位置に配置されたステレオカメラによって得られる別の距離画像に基づいて実行してもよい。この場合、第２距離画像ＤＭ２により検出された被写体部分の存在を、固定位置に配置されたステレオカメラから得られる画像を用いてモニタし、その被写体部分に動きがあるか否かを判定する。そして、動きがあればその被写体部分の更新頻度を上げることとする。固定位置に配置されたステレオカメラを用いることで、被写体部分に動きがあるか否かを第２ステレオカメラ１６よりも精度よく判定することが期待できる。
【００４８】
また、仮想空間構築部２２は、現実空間に存在する被写体部分に対応するボクセルを、現実空間における位置とは異なる位置に配置してもよい。例えば、ユーザーの周囲の予め定められた一部の空間領域内に存在する被写体部分については、その被写体部分に対応するボクセルを、仮想空間内における離れた空間領域に配置することとする。この場合、仮想空間構築部２２は、ボクセルの配置位置を決定する際に、その現実空間内における位置座標を予め定められた変換行列によって変換することで、ボクセルの位置座標を決定する。このような制御によれば、例えばユーザーが現実空間内の所定領域に自分の手を進入させた場合に、その所定領域内の手が別の場所にワープするかのような演出を実現できる。図６は、このような例において仮想空間構築部２２が構築する仮想空間の様子を模式的に示した図である。また、空間画像を描画する際の基準となる視点位置についても、同様の手法でユーザーの現実の目の位置とは異なる位置に配置させてもよい。
【００４９】
なお、この例においても、位置を変化させるボクセルを、２種類のボクセルのうちの一方に限定してもよい。具体的に、仮想空間構築部２２は、第２距離画像ＤＭ２に写っている物体については、所定領域内に存在すると算定された場合であってもそのままの位置に対応する背景ボクセルを配置する。一方、第１距離画像ＤＭ１に写っている物体については、所定領域内に存在すると算定された場合、所定のルールに従って変換された位置に人物ボクセルを配置する。
【００５０】
また、以上の説明では、仮想空間構築部２２は、距離画像ＤＭに写っている被写体部分に対応するボクセルだけを仮想空間内に配置することとした。そのため、ステレオカメラの撮影位置から見えない死角の領域に存在する物体については、対応するボクセルを仮想空間内に配置することはできない。そこで仮想空間構築部２２は、距離画像ＤＭから検出された被写体部分の位置、及び配列に基づいて、そこに写っている被写体が何なのかを推定し、推定結果に基づいて被写体を表すボクセルを配置してもよい。このような手法によれば、被写体の一部が他の物体の影に隠れているなどの場合に、その影に隠れた部分を表すボクセルも仮想空間内に配置することができる。
【００５１】
具体例として、第２ステレオカメラ１６から見て椅子の上部だけが机の上に現れており、椅子の下部は机の影に隠れているものとする。この場合、仮想空間構築部２２は、予め用意された推定器を用いて、机の上に現れている被写体部分からその物体が椅子であると推定する。このような推定ができれば、標準的な形状の椅子を表すボクセルを対応する位置に配置することで、机の影に隠れた部分にもボクセルを配置することができる。この例における推定器は、公知の機械学習技術によって生成することができる。
【００５２】
また、仮想空間構築部２２は、上述したような推定器を用いて、第１距離画像ＤＭ１に写っている被写体の中から、ユーザーと背景とを識別してもよい。このような識別ができれば、第１距離画像ＤＭ１に基づいて配置するボクセルを全てリアルタイムで更新する人物ボクセルとするのではなく、ユーザーを表すと推定されたボクセルのみを人物ボクセルとし、それ以外のボクセルは背景ボクセルとして仮想空間内に固定してもよい。
【００５３】
さらに、以上説明した被写体部分から物体を推定する技術を適用する場合、仮想空間構築部２２は、ステレオカメラの撮影位置から見てより遠くに存在する被写体部分を優先的に物体推定の対象とし、推定された物体を表すボクセルを、手前側の物体を表すボクセルよりも先に仮想空間内に配置することとしてもよい。前述した椅子と机の例では、机の影に隠れた部分も含めた椅子の全体を表すボクセルを、机を表すボクセルよりも先に仮想空間内に配置し、その様子を示す空間画像が表示されてから、机を表すボクセルを仮想空間内に配置する。このような制御によれば、ユーザーは物体の前後関係や隠れて見えない部分を把握しやすくなる。
【００５４】
なお、本発明の実施の形態は以上説明したものに限られない。例えば、以上の説明ではユーザーの前方に固定した第１ステレオカメラ１５、及び表示装置１４に固定された第２ステレオカメラ１６によって距離画像ＤＭを取得することとしたが、ユーザーの後方や天井など、これ以外の場所に設置したステレオカメラを用いて取得した距離画像ＤＭに基づいてボクセルを配置してもよい。また、表示装置１４に対しても、ユーザーの前方だけでなく、ユーザーの側方や後方などを撮影範囲とする別のステレオカメラを配置してもよい。これにより、ユーザーが自分の周囲を見渡す動きをせずとも、ユーザーの周囲の広い範囲に存在する物体の情報を一度に取得することができる。
【００５５】
また、以上の説明では第２ステレオカメラ１６は表示装置１４に固定されていることとしたが、第２ステレオカメラ１６は表示装置１４に固定されておらずともよく、またユーザーの頭部の動きに連動して撮影方向を変化させなくともよい。例えばユーザーが第２ステレオカメラ１６を手で持って動かすことにより、情報処理装置１はユーザーの周囲に存在する物体の情報を取得することができる。さらにこの場合、表示装置１４はユーザーが頭部に装着するタイプのものでなくともよく、据え置き型の表示装置などであってもよい。
【００５６】
また、以上の説明では情報処理装置１はユーザーの近くに存在し、各ステレオカメラや表示装置１４と直接接続されるものとしたが、情報処理装置１はユーザーと離れた位置に設置され、通信ネットワークを介して各ステレオカメラや表示装置１４と接続されることとしてもよい。
【００５７】
また、情報処理装置１は通信ネットワークを介してクライアント装置と接続されるサーバ装置であってもよい。この場合、クライアント装置がステレオカメラや表示装置１４と接続され、これらの入出力装置と情報処理装置１との間の情報の授受を中継する。また、以上の説明では情報処理装置１自身がステレオカメラの撮影画像を用いて距離画像ＤＭを生成することとしたが、情報処理装置１はクライアント装置が生成した距離画像ＤＭをネットワーク経由で受信することにより取得してもよい。
【００５８】
また、情報処理装置１は、複数のクライアント装置と接続されてもよい。例えばこの場合、１台のクライアント装置が第１ステレオカメラ１５と接続され、第１距離画像ＤＭを生成して情報処理装置１に送信する。一方、別のクライアント装置は第２ステレオカメラ１６、及び表示装置１４と接続され、第２距離画像ＤＭを生成して情報処理装置１に送信するとともに、情報処理装置１からの指示に応じて空間画像を表示装置１４に表示させる。
【００５９】
また、以上の説明では情報処理装置１の表示制御部２３が空間画像の描画を行うこととしたが、これに限らず表示装置１４と接続されるクライアント装置が空間画像を描画してもよい。この場合、情報処理装置１から送信される仮想空間内のボクセルの情報をクライアント装置が受信し、受信した情報を用いて空間画像を描画し、表示装置１４に表示させる。
【００６０】
また、ステレオカメラと表示装置１４とは別の場所に設置されてもよい。これにより、例えばあるユーザーがいる部屋の様子や当該ユーザーの動きを、別の場所にいる別のユーザーに閲覧させることができる。
【００６１】
また、以上の説明では距離画像ＤＭは、ステレオカメラによって得られる複数の撮影画像を用いて生成されるものとした。しかしながらこれに限らず、距離画像ＤＭは、その内部の単位領域ごとに被写体までの距離Ｄの情報を含むものであれば、どのような方式で生成されたものであってもよい。具体的に情報処理装置１は、例えばＴＯＦ方式などで生成された距離画像ＤＭを用いて仮想空間を構築してもよい。
【符号の説明】
【００６２】
１  情報処理装置、１１  制御部、１２  記憶部、１３  インタフェース部、１４  表示装置、１５  第１ステレオカメラ、１６  第２ステレオカメラ、２１  距離画像取得部、２２  仮想空間構築部、２３  表示制御部。
【図１】
0006694514.tif 000002
【図２】
0006694514.tif 000003
【図３】
0006694514.tif 000004
【図４】
0006694514.tif 000005
【図５Ａ】
0006694514.tif 000006
【図５Ｂ】
0006694514.tif 000007
【図６】
0006694514.tif 000008