(57)【特許請求の範囲】
【請求項１】
物体を構成する複数の単位部分のそれぞれについて、当該単位部分に対応する単位体積要素を配置すべき仮想空間内の位置を示す体積要素データを取得する体積要素データ取得部と、
前記体積要素データに基づいて、仮想空間に複数の前記単位体積要素を配置する体積要素配置部と、
前記単位体積要素が配置された仮想空間を所与の視点から見た様子を示す２次元の空間画像を描画する空間画像描画部と、
を含み、
前記体積要素配置部は、前記空間画像内において前記物体が占める占有領域を特定し、当該占有領域内における前記単位体積要素の配置態様に基づいて、前記単位体積要素の大きさを変化させる
ことを特徴とする情報処理装置。
【請求項２】
物体を構成する複数の単位部分のそれぞれについて、当該単位部分に対応する単位体積要素を配置すべき仮想空間内の位置を示す体積要素データを取得する体積要素データ取得部と、
前記体積要素データに基づいて、仮想空間に複数の前記単位体積要素を配置する体積要素配置部と、
前記単位体積要素が配置された仮想空間の様子を示す空間画像を描画する空間画像描画部と、
を含み、
前記体積要素配置部は、前記空間画像内において前記物体が占める占有領域を特定し、当該占有領域内に配置される前記単位体積要素の密度に応じて、前記単位体積要素の大きさを変化させる
ことを特徴とする情報処理装置。
【請求項３】
物体を構成する複数の単位部分のそれぞれについて、当該単位部分に対応する単位体積要素を配置すべき仮想空間内の位置を示す体積要素データを取得する体積要素データ取得部と、
前記体積要素データに基づいて、仮想空間に複数の前記単位体積要素を配置する体積要素配置部と、
前記単位体積要素が配置された仮想空間を所与の視点から見た様子を示す２次元の空間画像を描画する空間画像描画部と、
を含み、
前記体積要素配置部は、前記空間画像内において前記物体が占める占有領域を特定し、当該占有領域内において前記単位体積要素が配置されていない隙間領域があるか否かに応じて、前記単位体積要素の大きさを変化させる
ことを特徴とする情報処理装置。
【請求項４】
物体を構成する複数の単位部分のそれぞれについて、当該単位部分に対応する単位体積要素を配置すべき仮想空間内の位置を示す体積要素データを取得する体積要素データ取得部と、
前記体積要素データに基づいて、仮想空間に複数の前記単位体積要素を配置する体積要素配置部と、
前記単位体積要素が配置された仮想空間の様子を示す空間画像を描画する空間画像描画部と、
を含む情報処理装置において、
前記物体は人物であって、
前記情報処理装置は、前記人物を構成する身体部位の位置を示す身体部位データを取得する身体部位データ取得部をさらに含み、
前記体積要素配置部は、前記身体部位データに基づいて、前記空間画像内において前記人物が占める占有領域を特定し、当該占有領域内における前記単位体積要素の配置態様に基づいて、前記単位体積要素の大きさを変化させる
ことを特徴とする情報処理装置。
【請求項５】
物体を構成する複数の単位部分のそれぞれについて、当該単位部分に対応する単位体積要素を配置すべき仮想空間内の位置を示す体積要素データを取得する体積要素データ取得ステップと、
前記体積要素データに基づいて、仮想空間に複数の前記単位体積要素を配置する体積要素配置ステップと、
前記単位体積要素が配置された仮想空間を所与の視点から見た様子を示す２次元の空間画像を描画する空間画像描画ステップと、
を含み、
前記体積要素配置ステップでは、前記空間画像内において前記物体が占める占有領域を特定し、当該占有領域内における前記単位体積要素の配置態様に基づいて、前記単位体積要素の大きさを変化させる
ことを特徴とする情報処理方法。
【請求項６】
物体を構成する複数の単位部分のそれぞれについて、当該単位部分に対応する単位体積要素を配置すべき仮想空間内の位置を示す体積要素データを取得する体積要素データ取得部、
前記体積要素データに基づいて、仮想空間に複数の前記単位体積要素を配置する体積要素配置部、及び、
前記単位体積要素が配置された仮想空間を所与の視点から見た様子を示す２次元の空間画像を描画する空間画像描画部、
としてコンピュータを機能させ、
前記体積要素配置部は、前記空間画像内において前記物体が占める占有領域を特定し、当該占有領域内における前記単位体積要素の配置態様に基づいて、前記単位体積要素の大きさを変化させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、単位体積要素が配置された仮想空間の様子を描画する情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、拡張現実や仮想現実といった技術が研究されている。このような技術の一例として、カメラで撮影した画像などの現実空間から得られる情報に基づいて仮想空間を構築して、ユーザーにその仮想空間内にいるかのような体験をさせるものがある。このような技術によれば、ユーザーは仮想空間内で現実世界では体験できないような体験をすることができる。【０００３】
上記例などにおいては、ボクセルやポイントクラウドなどと呼ばれる単位体積要素を仮想空間に積み重ねることによって、各種の物体を表現することがある。単位体積要素を用いることで、物体の全体的な色や形状などの情報を準備せずとも、様々な物体を仮想空間内に再現することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した技術では、単位体積要素の大きさを小さくすればするほど、目的の物体を細部まで正確に再現することができる。しかしながら、単位体積要素の大きさを小さくすると、同じ体積の物体を再現するために必要な単位体積要素の数が増えるので、処理対象となるデータ量や演算負荷の増大を招くことになる。また、最適な単位体積要素の大きさ、及び数は、再現対象となる物体の見え方などによって異なるため、単位体積要素の大きさによっては、再現対象の物体に隙間が生じてしまったり、輪郭がでこぼこして見えたりすることがある。【０００５】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、単位体積要素の大きさを再現対象となる物体の見え方に応じて適した大きさにすることのできる情報処理装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、物体を構成する複数の単位部分のそれぞれについて、当該単位部分に対応する単位体積要素を配置すべき仮想空間内の位置を示す体積要素データを取得する体積要素データ取得部と、前記体積要素データに基づいて、仮想空間に複数の前記単位体積要素を配置する体積要素配置部と、前記単位体積要素が配置された仮想空間の様子を示す空間画像を描画する空間画像描画部と、を含み、前記体積要素配置部は、前記空間画像内における前記単位体積要素の配置態様に基づいて、前記単位体積要素の大きさを変化させることを特徴とする。【０００７】
本発明に係る情報処理方法は、物体を構成する複数の単位部分のそれぞれについて、当該単位部分に対応する単位体積要素を配置すべき仮想空間内の位置を示す体積要素データを取得する体積要素データ取得ステップと、前記体積要素データに基づいて、仮想空間に複数の前記単位体積要素を配置する体積要素配置ステップと、前記単位体積要素が配置された仮想空間の様子を示す空間画像を描画する空間画像描画ステップと、を含み、前記体積要素配置ステップでは、前記空間画像内における前記単位体積要素の配置態様に基づいて、前記単位体積要素の大きさを変化させることを特徴とする。【０００８】
本発明に係るプログラムは、物体を構成する複数の単位部分のそれぞれについて、当該単位部分に対応する単位体積要素を配置すべき仮想空間内の位置を示す体積要素データを取得する体積要素データ取得部、前記体積要素データに基づいて、仮想空間に複数の前記単位体積要素を配置する体積要素配置部、及び、前記単位体積要素が配置された仮想空間の様子を示す空間画像を描画する空間画像描画部、としてコンピュータを機能させ、前記体積要素配置部は、前記空間画像内における前記単位体積要素の配置態様に基づいて、前記単位体積要素の大きさを変化させるプログラムである。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る情報処理装置を含む情報処理システムの全体概要図である。
【図２】情報処理システムを利用するユーザーの様子を示す図である。
【図３】仮想空間の様子の一例を示す図である。
【図４】本発明の実施の形態に係る情報処理装置の機能を示す機能ブロック図である。
【図５】本発明の実施の形態に係る情報処理装置が実行する処理の流れの一例を示すフロー図である。
【図６】占有領域の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面に基づき詳細に説明する。
【００１１】
図１は、本発明の一実施形態に係る情報処理装置を含む情報処理システム１の全体概要図である。また、図２は、本情報処理システム１を利用するユーザーの様子の一例を示す図である。情報処理システム１は、複数のユーザーが参加する仮想空間を構築するために用いられる。この情報処理システム１によれば、複数のユーザーが、仮想空間内で一緒にゲームをプレイしたり相互にコミュニケーションを取ったりすることができる。
【００１２】
情報処理システム１は、図１に示すように、複数の情報取得装置１０と、複数の画像出力装置２０と、サーバ装置３０と、を含んで構成されている。これらの装置のうち、画像出力装置２０が、本発明の実施の形態に係る情報処理装置として機能する。以下では具体例として、情報処理システム１には、情報取得装置１０、及び画像出力装置２０がそれぞれ２台ずつ含まれるものとする。より具体的に、情報処理システム１は、第１ユーザーが使用する情報取得装置１０ａ、及び画像出力装置２０ａを含む。また、第２ユーザーが使用する情報取得装置１０ｂ、及び画像出力装置２０ｂを含む。
【００１３】
各情報取得装置１０は、パーソナルコンピュータや家庭用ゲーム機などの情報処理装置であって、距離画像センサー１１、及び部位認識センサー１２と接続されている。
【００１４】
距離画像センサー１１は、情報取得装置１０のユーザーを含む現実空間の様子を観測して、距離画像（デプスマップ）の生成に必要な情報を取得する。例えば距離画像センサー１１は、左右に並んだ複数のカメラによって構成されるステレオカメラであってよい。情報取得装置１０は、これら複数のカメラによる撮影画像を取得して、その撮影画像に基づいて距離画像を生成する。具体的に情報取得装置１０は、複数のカメラの視差を利用することで、距離画像センサー１１の撮影位置（観測点）から撮影画像内に写っている被写体までの距離を算出することができる。なお、距離画像センサー１１は、ステレオカメラに限らず、例えばＴＯＦ方式など、その他の方式で被写体までの距離を計測可能なセンサーであってもよい。
【００１５】
距離画像は、視野範囲内に含まれる単位領域のそれぞれについて、当該単位領域内に写っている被写体までの距離を示す情報を含んだ画像である。図２に示すように、本実施形態では、距離画像センサー１１は人物（ユーザー）に向けて設置されている。そのため情報取得装置１０は、距離画像センサー１１の検出結果を用いて、ユーザーの身体のうち、距離画像に写っている複数の単位部分のそれぞれについて、その実空間内における位置座標を算出できる。
【００１６】
ここで単位部分とは、実空間を予め定められた大きさの格子状に区切って得られる個々の空間領域に含まれるユーザーの身体の一部分を指す。情報取得装置１０は、距離画像に含まれる被写体までの距離の情報に基づいて、ユーザーの身体を構成する単位部分の実空間内における位置を特定する。また、その単位部分の色を、距離画像に対応する撮影画像の画素値から特定する。これにより情報取得装置１０は、ユーザーの身体を構成する単位部分の位置、及び色を示すデータを得ることができる。以下、このユーザーの身体を構成する単位部分を特定するデータのことを、単位部分データという。後述するように、複数の単位部分のそれぞれに対応する単位体積要素を仮想空間内に配置することで、ユーザーを実空間と同じ姿勢や外観で仮想空間内に再現することができる。なお、単位部分の大きさを小さくすればするほど、ユーザーを仮想空間に再現する際の解像度を向上させ、より現実の人物に近づけることができる。
【００１７】
部位認識センサー１２は、距離画像センサー１１と同様にユーザーを観測して、そのユーザーの身体部位の位置を特定するために必要な情報を取得する。具体的に、部位認識センサー１２は、公知のボーントラッキング技術に利用されるカメラなどであってよい。また、部位認識センサー１２は、ユーザーが身体に装着している部材や、後述する表示装置２４の位置をトラッキングするセンサーなどを含んでもよい。
【００１８】
部位認識センサー１２の検出結果を解析することによって、情報取得装置１０は、ユーザーの身体を構成する各部位の位置に関するデータを取得する。以下、このユーザーの身体を構成する部位の位置に関するデータのことを、身体部位データという。例えば身体部位データは、ユーザーの姿勢を骨格モデル（ボーンモデル）によって表現する際の、各ボーンの位置、及び向きを特定するデータであってよい。また、身体部位データは、ユーザーの頭部、手など、ユーザーの身体の一部分のみの位置や向きを特定するデータであってもよい。
【００１９】
情報取得装置１０は、所定時間おきに、距離画像センサー１１、及び部位認識センサー１２の検出結果に基づいて単位部分データ、及び身体部位データを算出し、これらのデータをサーバ装置３０に送信する。なお、これらのデータ内で単位部分や身体部位の位置を特定するために用いられる座標系は、互いに一致している必要がある。そのため、情報取得装置１０は、距離画像センサー１１、及び部位認識センサー１２それぞれの観測点の実空間内における位置を示す情報を、予め取得しているものとする。このような観測点の位置情報を用いて座標変換を行うことにより、情報取得装置１０は、ユーザーの単位部分及び身体部位それぞれの位置を、互いに一致する座標系を用いて表現する単位部分データ、及び身体部位データを算出できる。
【００２０】
なお、以上の説明では、一つの情報取得装置１０に対して、一つの距離画像センサー１１と一つの部位認識センサー１２が接続されているものとしている。しかしながらこれに限らず、情報取得装置１０には、それぞれのセンサーが複数個接続されることとしてもよい。例えば２個以上の距離画像センサー１１がユーザーを囲むように配置されていれば、それらのセンサーから得られる情報を統合することで、情報取得装置１０は、ユーザーの身体表面のより広い範囲について、単位部分データを取得することができる。また、複数の部位認識センサー１２の検出結果を組み合わせることで、より精度のよい身体部位データを取得することができる。また、距離画像センサー１１と部位認識センサー１２とは、一つのデバイスによって実現されてもよい。この場合情報取得装置１０は、この一つのデバイスによる検出結果を解析することによって、単位部分データ、及び身体部位データのそれぞれを生成する。
【００２１】
各画像出力装置２０は、パーソナルコンピュータや家庭用ゲーム機などの情報処理装置であって、図１に示されるように、制御部２１と、記憶部２２と、インタフェース部２３と、を含んで構成されている。また、画像出力装置２０は、表示装置２４と接続されている。
【００２２】
制御部２１は少なくとも一つのプロセッサーを含んで構成され、記憶部２２に記憶されているプログラムを実行して各種の情報処理を実行する。本実施形態において制御部２１が実行する処理の具体例については、後述する。記憶部２２は、ＲＡＭ等のメモリデバイスを少なくとも一つ含み、制御部２１が実行するプログラム、及び当該プログラムによって処理されるデータを格納する。インタフェース部２３は、画像出力装置２０が表示装置２４に対して映像信号を供給するためのインタフェースである。
【００２３】
表示装置２４は、画像出力装置２０から供給される映像信号に応じて映像を表示する。本実施形態において表示装置２４は、ヘッドマウントディスプレイ等、ユーザーが頭部に装着して使用する頭部装着型の表示装置であるものとする。表示装置２４はユーザーの左右それぞれの目の前に、互いに異なる左目用画像、右目用画像を閲覧させるものとする。これにより表示装置２４は、視差を利用した立体映像を表示することができる。
【００２４】
サーバ装置３０は、複数の情報取得装置１０のそれぞれから受信したデータに基づいて、仮想空間内にユーザーを表す単位体積要素や、その他のオブジェクト等を配置する。また、物理演算等の演算処理により、仮想空間内に配置されたオブジェクトの挙動を計算する。そして、その結果として得られる仮想空間内に配置されるオブジェクトの位置や形状などの情報を、複数の画像出力装置２０のそれぞれに対して送信する。
【００２５】
より具体的に、サーバ装置３０は、情報取得装置１０ａから受信した単位部分データに基づいて、当該単位部分データに含まれる複数の単位部分のそれぞれに対応する単位体積要素の、仮想空間における配置位置を決定する。ここで単位体積要素は、仮想空間内に配置されるオブジェクトの一種であって、互いに同じ大きさを有している。単位体積要素の形状は、立方体など、予め定められた形状であってよい。また、各単位体積要素の色は、単位部分の色に応じて決定される。以下では、この単位体積要素をボクセルと表記する。
【００２６】
各ボクセルの配置位置は、対応する単位部分の実空間内における位置と、ユーザーの基準位置と、に応じて決定される。ここでユーザーの基準位置は、ユーザーを配置する基準となる位置であって、予め定められた仮想空間内の位置であってよい。このようにして配置されたボクセルによって、実空間に存在する第１ユーザーの姿勢や外観が、そのまま仮想空間内に再現される。以下では、仮想空間内において第１ユーザーを再現するボクセル群を特定するデータを、第１ボクセルデータという。この第１ボクセルデータは、ボクセルのそれぞれについて、その仮想空間内における位置、及び色を示すデータである。また、以下では、第１ボクセルデータに含まれるボクセルの集合によって構成される第１ユーザーを表すオブジェクトを、第１ユーザーオブジェクトＵ１と表記する。
【００２７】
なお、サーバ装置３０は、各ボクセルの仮想空間内における配置位置を決定する際に、身体部位データを参照してもよい。身体部位データに含まれるボーンモデルのデータを参照することで、床に接していると想定されるユーザーの足先の位置が特定できる。この位置を前述したユーザーの基準位置に合わせることで、仮想空間におけるボクセルの配置位置の地面からの高さを、実空間における対応する単位部分の床からの高さと一致させることができる。なお、ここではユーザーの基準位置は仮想空間内の地面上に設定されているものとしている。
【００２８】
第１ユーザーについての処理と同様にして、サーバ装置３０は、情報取得装置１０ｂから受信した単位部分データに基づいて、当該単位部分データに含まれる複数の単位部分のそれぞれに対応するボクセルの、仮想空間における配置位置を決定する。これらのボクセルによって、第２ユーザーの姿勢や外観が仮想空間内に再現される。以下では、仮想空間内において第２ユーザーを再現するボクセル群を特定するデータを、第２ボクセルデータという。また、以下では、第２ボクセルデータに含まれるボクセルの集合によって構成される第２ユーザーを表すオブジェクトを、第２ユーザーオブジェクトＵ２と表記する。
【００２９】
また、サーバ装置３０は、ユーザーによる操作の対象となるオブジェクトを仮想空間内に配置し、その挙動を演算する。具体例として、ここでは２人のユーザーがボールを打ち合うゲームを行うこととする。サーバ装置３０は、２人のユーザーが対面するように各ユーザーの仮想空間内における基準位置を決定し、この基準位置に基づいて前述したように各ユーザーの身体を構成するボクセル群の配置位置を決定する。また、サーバ装置３０は、２人のユーザーによる操作の対象となるボールオブジェクトＢを仮想空間内に配置する。
【００３０】
さらにサーバ装置３０は、物理演算によって、仮想空間内におけるボールの挙動を演算する。また、各情報取得装置１０から受信した身体部位データを用いて、各ユーザーの身体とボールとの間の当たり判定を行う。具体的に、サーバ装置３０は、ユーザーの身体が存在する仮想空間内の位置と、ボールオブジェクトＢの位置が重なる場合に、ボールがユーザーに当たったと判定し、ボールがユーザーによって反射した際の挙動を演算する。このようにして算出された仮想空間内におけるボールの動きは、後述するように各画像出力装置２０によって表示装置２４に表示される。各ユーザーは、この表示内容を閲覧しながら自分の身体を動かすことによって、飛んできたボールを手で打ち返したりすることができる。図３は、この例における仮想空間内に配置されたボールオブジェクトＢや各ユーザーを表すユーザーオブジェクトの様子を示している。なお、この図の例では、各ユーザーの前面だけでなく背面側についても距離画像が撮影され、これに応じて各ユーザーの背面を表すボクセルが配置されていることとしている。
【００３１】
サーバ装置３０は、以上説明した処理によって決定された各ユーザーのボクセルデータやその他のオブジェクトの位置や形状を示すオブジェクトデータを、所定時間おきに各画像出力装置２０に対して送信する。なお、サーバ装置３０は、画像出力装置２０との間の通信量を抑えるために、各ユーザーのボクセルデータに含まれるボクセルの数を減らしたり、ボクセルデータの送信頻度を減らしたりしてもよい。具体的に、例えばサーバ装置３０は、重要度の低い身体部位を構成するボクセルについて、単位体積あたりの数が少なくなるように一部のボクセルを間引くこととする。あるいは、サーバ装置３０は、重要度の低い身体部位を構成するボクセルについて、送信間隔をその他の部位を構成するボクセルよりも下げることとする。ここで、重要度の低い身体部位は、処理内容に応じて決定されてよい。例えば各ユーザーが身体を動かして仮想空間内でスポーツなどを行う場合、手や足など動きの大きな部位が重要となり、顔や胴体は相対的に重要度が低くなる。一方、ユーザー同士がコミュニケーションを行うアプリケーションなどでは、頭部を重要度の高い部位とし、それ以外の部位を重要度の低い部位としてもよい。
【００３２】
以下、本実施形態において各画像出力装置２０が実現する機能について、図４に基づいて説明する。図４に示されるように、画像出力装置２０は、機能的に、オブジェクトデータ取得部４１と、身体部位データ取得部４２と、仮想空間構築部４３と、空間画像描画部４４と、を含んで構成されている。これらの機能は、制御部２１が記憶部２２に格納されているプログラムを実行することにより、実現される。このプログラムは、インターネット等の通信ネットワークを介して画像出力装置２０に提供されてもよいし、光ディスク等のコンピュータ読み取り可能な情報記憶媒体に格納されて提供されてもよい。なお、以下では具体例として、第１ユーザーが使用する画像出力装置２０ａが実現する機能について説明するが、画像出力装置２０ｂについても、対象とするユーザーが相違するものの、同様の機能を実現することとする。
【００３３】
オブジェクトデータ取得部４１は、仮想空間内に配置されるべき各オブジェクトの位置や形状を示すデータを、サーバ装置３０から受信することによって取得する。オブジェクトデータ取得部４１が取得するデータには、各ユーザーのボクセルデータ、及びボールオブジェクトＢのオブジェクトデータが含まれる。これらのオブジェクトデータは、各オブジェクトの形状、仮想空間内における位置、表面の色などの情報を含んでいる。なお、ボクセルデータに関しては、それぞれのボクセルがどのユーザーを表現するものかを示す情報を含んでおらずともよい。つまり、第１ボクセルデータと第２ボクセルデータは、互いに区別できない態様で、まとめて仮想空間内に配置されるボクセルの内容を示すボクセルデータとしてサーバ装置３０から各画像出力装置２０に送信されてよい。
【００３４】
また、オブジェクトデータ取得部４１は、仮想空間の背景を表す背景画像をサーバ装置３０から取得してもよい。この場合の背景画像は、例えば正距円筒図法などのフォーマットによって広範囲の景色を表すパノラマ画像であってよい。
【００３５】
身体部位データ取得部４２は、サーバ装置３０から送信される各ユーザーの身体部位データを取得する。具体的に、身体部位データ取得部４２は、第１ユーザーの身体部位データ、及び第２ユーザーの身体部位データのそれぞれをサーバ装置３０から受信する。
【００３６】
仮想空間構築部４３は、ユーザーに提示する仮想空間の内容を構築する。具体的に仮想空間構築部４３は、オブジェクトデータ取得部４１が取得したオブジェクトデータに含まれる各オブジェクトを仮想空間内の指定された位置に配置することによって、仮想空間を構築する。
【００３７】
ここで、仮想空間構築部４３が配置するオブジェクトの中には、第１ボクセルデータ、及び第２ボクセルデータのそれぞれに含まれるボクセルが含まれる。前述の通り、これらのボクセルの仮想空間内における位置は、対応するユーザーの身体の単位部分の実空間内における位置に基づいて、サーバ装置３０によって決定されている。そのため、仮想空間内に配置されたボクセルの集合によって、各ユーザーの現実の姿勢や外観が再現される。また、仮想空間構築部４３は、仮想空間におけるユーザーオブジェクトの周囲に背景画像をテクスチャーとして貼り付けたオブジェクトを配置してもよい。これにより、背景画像に含まれる景色が後述の空間画像内に含まれるようになる。
【００３８】
さらに仮想空間構築部４３は、配置するボクセルの大きさを、所与の条件に応じて変化させることとする。これは、後述する空間画像描画部４４が空間画像を描画する際に、ボクセルによって再現されるユーザーオブジェクトの見え方によって、最適なボクセルの大きさが変わるためである。具体的に、相手ユーザーが仮想空間内において近くにいるときと遠くにいるときでは、その見かけの大きさが変化する。そのため、ボクセルの大きさが一定だと、ボクセルが大きすぎて相手ユーザーの身体の輪郭がでこぼこして見えたり、逆に小さすぎて隙間があるように見えたりすることがあり得る。また、前述したように相手ユーザーの身体の特定の部位を構成するボクセルの数が間引かれている場合にも、そのままでは、ボクセルの密度が低くなり、ユーザーの身体に隙間があるように見えてしまうことがある。ボクセルの大きさを適切に調整することで、このような不自然な見え方を避けることができる。ボクセルの大きさを変化させる処理の具体例については、後述する。
【００３９】
空間画像描画部４４は、仮想空間構築部４３によって構築された仮想空間の様子を表す空間画像を描画する。具体的に、空間画像描画部４４は、画像提示の対象となるユーザー（ここでは第１ユーザー）の目の位置に対応する仮想空間内の位置に視点を設定し、その視点から仮想空間内を見た様子を描画する。空間画像描画部４４によって描画された空間画像は、第１ユーザーが装着する表示装置２４に表示される。これにより第１ユーザーは、自分自身の身体を表す第１ユーザーオブジェクトＵ１、第２ユーザーの身体を表す第２ユーザーオブジェクトＵ２、及びボールオブジェクトＢが配置された仮想空間内の様子を閲覧できる。
【００４０】
以上説明した情報取得装置１０、サーバ装置３０、及び画像出力装置２０それぞれの処理は、所定時間おきに繰り返し実行される。この場合の所定時間は、例えば表示装置２４が表示する映像のフレームレートに対応する時間であってよい。これにより、各ユーザーは、仮想空間内において自分や相手ユーザーの動きをリアルタイムで反映して更新されるユーザーオブジェクトの様子を閲覧することができる。
【００４１】
以下、仮想空間構築部４３が配置するボクセルの大きさを変化させる処理の具体例について、説明する。仮想空間構築部４３は、最初にボクセルを配置する際には、予め定められた標準の大きさで各ボクセルを配置する。そして、空間画像描画部４４が、ボクセルが配置された仮想空間の様子を描画する。このとき仮想空間構築部４３は、描画される空間画像内におけるボクセルの配置態様に関する情報を取得する。そして、次にボクセルを配置する際には、取得した情報に基づいてボクセルの大きさを変化させる。
【００４２】
この処理の流れについて、図５のフロー図を用いて説明する。まずオブジェクトデータ取得部４１が、サーバ装置３０からオブジェクトデータを取得する（ステップＳ１）。さらに、身体部位データ取得部４２が、サーバ装置３０から身体部位データを取得する（ステップＳ２）。
【００４３】
その後、仮想空間構築部４３は、ステップＳ１で受信したオブジェクトデータに基づいて、仮想空間内に各種のオブジェクトを配置する（ステップＳ３）。このとき配置されるオブジェクトには、第１ユーザー及び第２ユーザーのそれぞれを表すボクセルが含まれる。ここでは、各ボクセルは予め定められた標準の大きさとする。なお、前述したように一部のボクセルの送信頻度が下げられている場合、仮想空間構築部４３は、以前に受信されたボクセルの情報を用いてボクセルを配置してもよい。また、サーバ装置３０から全てのボクセルのデータを受信している場合であっても、仮想空間構築部４３は、重要度の低い身体部位については、ボクセルを間引くこととし、一部のボクセルのみを仮想空間への配置対象としてもよい。
【００４４】
その後、空間画像描画部４４は、ステップＳ３で各種のオブジェクトが配置された仮想空間内の様子を表す空間画像を描画し、表示装置２４に表示させる（ステップＳ４）。
【００４５】
そして、仮想空間構築部４３が、空間画像内においてユーザーオブジェクトが占める領域（以下、占有領域Ａという）を画定する（ステップＳ５）。具体的に、仮想空間構築部４３は、ステップＳ２で取得した身体部位データによって定められるユーザーの位置、及び大きさに基づいて、空間画像内でユーザーオブジェクトが占める領域を画定してもよい。あるいは、実際に配置されている各ボクセルの空間画像内における位置に基づいて、それらのボクセルを包含する領域を占有領域Ａとして画定してもよい。図６は、空間画像内における占有領域Ａの具体例を示している。
【００４６】
さらに仮想空間構築部４３は、ステップＳ５で画定された占有領域Ａ内に含まれるボクセルの配置態様に関する情報を取得する（ステップＳ６）。具体的に、例えば仮想空間構築部４３は、占有領域Ａ内におけるボクセルの密度（すなわち、単位面積あたりのボクセルの数）を算出する。そして、仮想空間構築部４３は、取得した情報に基づいて、ボクセルの大きさを変更する（ステップＳ７）。具体的に、占有領域Ａ内のボクセルの密度が大きい場合には、ボクセルの大きさを小さくする。逆に密度が小さい場合には、ボクセルの大きさを大きくする。これにより、空間画像内におけるユーザーオブジェクトの大きさに合わせて、ボクセルの大きさを適切に調整することができる。
【００４７】
その後、ステップＳ１に戻って、次の空間画像の描画が行われる。次にステップＳ３が実行される際には、前回のステップＳ７で変更された大きさでボクセルが配置される。
【００４８】
なお、仮想空間構築部４３は、ステップＳ７でボクセルの大きさを変更する際には、現在のボクセル密度に合わせてボクセルの大きさを大きな変化量で一度に変更するのではなく、段階的に少しずつ変更することとしてもよい。これにより、ユーザーオブジェクトの見た目が急激に変化しないようにすることができる。
【００４９】
また、仮想空間構築部４３は、ステップＳ６においてボクセル密度ではなく、占有領域Ａ内においてボクセルが配置されていない隙間領域の有無、及び／又はその大きさを特定してもよい。占有領域Ａの大きさに対してボクセルが小さすぎる場合、占有領域Ａ内に隙間が生じて、本来見えないはずのユーザーオブジェクトの向こう側が見えてしまう可能性がある。このような隙間が生じないように、仮想空間構築部４３は、ステップＳ６で隙間領域が存在すると判定された場合には、ステップＳ７でボクセルの大きさを大きくする。また、存在する隙間領域の大きさに応じて、ボクセルの大きさを大きくしてもよい。これにより、次に空間画像が描画される際には、占有領域Ａ内にボクセルの隙間が生じにくくなる。
【００５０】
仮想空間構築部４３は、占有領域Ａ内のボクセルの配置態様を特定するために、空間画像の描画時に深度情報を格納するＺバッファを利用してもよい。Ｚバッファへの深度情報格納時にボクセルの描画箇所を特定することで、占有領域Ａ内でボクセルが描画されない隙間領域を容易に特定することができる。
【００５１】
なお、仮想空間構築部４３は、ステップＳ５において、仮想空間内にボクセルが配置されるユーザー毎に、空間画像内でそのユーザーオブジェクトが占める占有領域Ａを画定してもよい。例えば画像出力装置２０ａの仮想空間構築部４３においては、空間画像を閲覧する第１ユーザー本人を表すユーザーオブジェクトＵ１と、第２ユーザーを表すユーザーオブジェクトＵ２とでは、視点位置からの距離が大きく異なり、そのため見え方も異なっている。そこで仮想空間構築部４３は、それぞれのユーザー毎に占有領域Ａを画定し、画定された占有領域Ａごとに、その内部に含まれるボクセルの配置態様に関する情報を取得する。そして、ユーザー毎に、次に配置する際のボクセルの大きさを変更する。こうすれば、近くに見える自分自身の身体を表すボクセルと、相対的に離れた位置に見える相手ユーザーの身体を表すボクセルを、それぞれ適した大きさに調整することができる。
【００５２】
さらに仮想空間構築部４３は、各ユーザーの身体を構成する部位毎に、その部位を表すボクセルの大きさを変化させてもよい。この場合、仮想空間構築部４３は、身体部位データを参照して、頭部、胴体、手足などの身体部位ごとにその部位が空間画像内で占める占有領域Ａを画定する。そして、各部位の占有領域Ａごとに、その内部に含まれるボクセルの配置態様に応じて、ボクセルの大きさを変化させる。これにより、頭部や胴体などの部位毎にボクセルを適した大きさにすることができる。
【００５３】
以上説明したように、本実施形態に係る画像出力装置２０によれば、空間画像内におけるボクセルの配置態様に応じてボクセルの大きさを変更することで、ボクセルの大きさを適切に調整することができる。
【００５４】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば以上の説明では具体例として２人のユーザーをボクセルで仮想空間内に再現することとしたが、１人、又は３人以上のユーザーを対象としてもよい。また、複数のユーザーを表すボクセルを同時期に仮想空間内に配置する場合、それぞれのユーザーが使用する情報取得装置１０、及び画像出力装置２０がネットワークを介してサーバ装置３０と接続されていれば、各ユーザーは互いに物理的に離れた位置に存在してもよい。また、人物に限らず、実空間内に存在する各種の物体を、ボクセルによる再現対象としてもよい。さらに、以上の説明では実空間を距離画像センサー１１で観測して得られる情報に基づいて、リアルタイムにボクセルデータを生成することとした。しかしながらこれに限らず、ボクセルデータは再現対象となる物体の形状や色に基づいて予め用意されてもよい。
【００５５】
また、仮想空間内に再現する対象となるユーザー以外のユーザーが、仮想空間の様子を視聴できるようにしてもよい。この場合、サーバ装置３０は、各画像出力装置２０に送信するデータとは別に、仮想空間内を所定の視点から見た様子を示す空間画像を描画し、ストリーミング映像として配信する。この映像を閲覧することで、仮想空間内に再現されない他のユーザーも、仮想空間内の様子を閲覧できる。
【００５６】
また、仮想空間内には、ユーザーを再現するユーザーオブジェクトや、ユーザーオブジェクトによる操作の対象となるオブジェクト以外にも、背景を構成するオブジェクトなど、各種のオブジェクトが配置されてよい。また、実空間の様子を撮影して得られる撮影画像を、仮想空間内のオブジェクト（スクリーン等）に貼り付けてもよい。こうすれば、表示装置２４を用いて仮想空間内の様子を閲覧中の各ユーザーは、同時に現実世界の様子を閲覧することができる。
【００５７】
また、以上の説明において画像出力装置２０が実行することとした処理の少なくとも一部は、サーバ装置３０など他の装置によって実現されてもよい。具体例として、サーバ装置３０が各ユーザーの身体部位データ、及び単位部分データに基づいて仮想空間を構築し、その内部の様子を描画する空間画像を生成してもよい。この場合サーバ装置３０は、空間画像を配信する対象となるユーザー毎に、個別にボクセルの配置を制御し、個別に空間画像を描画することとする。すなわち、第１ユーザー向けには、第１ユーザーの頭部領域にボクセルを配置しない仮想空間を構築し、その内部の様子を表す空間画像を描画する。また、第２ユーザー向けの空間画像を生成する際には、第２ユーザーの頭部領域にボクセルを配置しない仮想空間を構築する。そして、それぞれの空間画像を、対応する画像出力装置２０に対して配信する。
【００５８】
また、以上の説明では情報取得装置１０と画像出力装置２０とは互いに独立した装置であることとしたが、一つの情報処理装置が情報取得装置１０と画像出力装置２０双方の機能を実現することとしてもよい。
【符号の説明】
【００５９】
１  情報処理システム、１０  情報取得装置、１１  距離画像センサー、１２  部位認識センサー、２０  画像出力装置、２１  表示装置、２２  制御部、２２  記憶部、２３  インタフェース部、３０  サーバ装置、４１  オブジェクトデータ取得部、４２  身体部位データ取得部、４３  仮想空間構築部、４４  空間画像描画部。
【図１】
0006775669.tif 000002
【図２】
0006775669.tif 000003
【図３】
0006775669.tif 000004
【図４】
0006775669.tif 000005
【図５】
0006775669.tif 000006
【図６】
0006775669.tif 000007