以下、本技術に係る実施形態を、図面を参照しながら説明する。
[仮想空間生成システム]
図1は、本技術の一実施形態に係る仮想空間生成システムの概要を説明するための模式図である。仮想空間生成システム10は、複数のカメラ40と、モデル生成装置100と、仮想空間生成装置50とを有する。
複数のカメラ40により実空間Rのユーザ(人物)20が撮影され、モデル生成装置100によりユーザ20の仮想モデル30が生成される。生成された仮想モデル30は、仮想空間生成装置50に出力され、仮想モデル30を含む仮想空間Vが生成される。生成された仮想空間Vは、例えばユーザ20が所有する図示しない表示デバイス等に送信されて表示される。これによりユーザ20は仮想空間Vの自由視点映像を見ることが可能となる。
本実施形態では、モデル生成装置100により、仮想モデル30としてユーザ20の状態が詳細に再現された三次元(3D)のCG(Computer Graphics)等を生成することが可能である。また例えばユーザ20を常時撮影することで、ユーザ20の状態をリアルタイムで再現する仮想モデル30を生成可能である。なお仮想モデル30の対象は人物に限定されず、ペットやロボットといった任意の対象物について仮想モデル30を生成することも可能である。
仮想空間生成装置50には、仮想空間Vを構築するアプリケーション(コンピュータプログラム)51がインストールされており、当該アプリケーション51に仮想モデル30が出力される(図2参照)。これにより仮想空間V上に仮想モデル30が表示される。
複数のカメラ40、モデル生成装置100、及び仮想空間生成装置50の接続形態は限定されない。例えばLAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して各装置が接続されてもよいし、ケーブル等を用いて直接的に接続されてもよい。例えば複数のカメラ40はユーザ20の近傍に配置され、モデル生成装置100及び仮想空間生成装置50は、ネットワーク上に配置される。あるいは、仮想空間生成装置50のみがネットワーク上に配置される。その他、任意の接続形態、及び装置の配置構成が採用されてよい。
モデル生成装置100及び仮想空間生成装置50は、例えばPC(Personal Computer)等の任意のコンピュータにより実現可能である。本実施形態において、モデル生成装置100は、本技術に係る情報処理装置の一実施形態に相当する。
図2は、仮想空間生成システム10の構成例を示すブロック図である。図2に示す例では、仮想空間生成装置50にインストールされたアプリケーション51が模式的に図示されている。また図2では、複数のカメラ40として、N台のカメラ40が図示されている。
N台のカメラ40は、対象物(ユーザ20)を撮影して対象物の画像(ユーザ20の画像)を生成する。N台のカメラ40は、所定の撮影エリアを基準として、互いに異なる位置にそれぞれ配置される。撮影エリアにユーザ20が移動し、N台のカメラ40により撮影される。これによりユーザ20を様々な方向から撮影した、N個のユーザ20の画像が生成される。
カメラ40としては、例えばRGB−Dカメラ等が用いられる。RGB−Dカメラは、カラー画像を撮影するRGBカメラと、撮影された画像の画素ごとに距離を測定できる距離センサとを備えたカメラである。RGBカメラとしては、例えばCMOS(Complementary Metal-Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサ等のイメージセンサを備えるデジタルカメラが用いられる。また距離センサとしては、例えば赤外線LED(Light Emitting Diode)と撮像素子により、照射した光が対象物まで往復する時間に基づいて距離を測定するTOF(Time Of Flight)方式のセンサ等が用いられる。
RGB−Dカメラを使ってユーザ20等を撮影することで、ユーザ20の画像として、例えば各画素のおける色情報と距離情報を含むRGB−D画像が生成される。RGB−D画像は、対象物を撮影する方向からの距離情報(奥行情報)を含むことから2.5D画像、あるいは3D画像と呼ばれる画像である。従って本実施形態では、N台のRGB−Dカメラにより、ユーザ20を撮影したN個のRGB−D画像が生成される。これにより例えばユーザ20の外形等についての3次元座標を生成することが可能となる。なおカメラ40の具体的な構成等は限定されず、例えば距離センサ等を持たないRGBカメラが用いられてもよい。この場合でも、複数のRGBカメラを使ったステレオ撮影等によりユーザ20等の3次元座標を生成可能である。
モデル生成装置100は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等のコンピュータの構成に必要なハードウェアを有する。
CPUが、ROMやHDDに格納された本技術に係るプログラムをRAMにロードして実行することにより、図2に示す各機能ブロックが実現される。そしてこれらの機能ブロックにより、本技術に係る情報処理方法が実行される。なお各機能ブロックを実現するために、FPGA(Field Programmable Gate Array)や画像処理IC(Integrated Circuit)等の専用のハードウェアが適宜用いられてもよい。
プログラムは、例えば種々の記録媒体を介してモデル生成装置100にインストールされる。又はインターネット等を介してプログラムのインストールが実行されてもよい。
図2に示すように、モデル生成装置100は、機能ブロックとして、3Dモデル生成部110、置換処理部120、置換制御部130、UI判定部140、及びストリーム生成部150を有する。またモデル生成装置100のROM等により構成される記憶部には置換情報DB(Data Base)160が格納されており、同じく記憶部により生成済モデルバッファ170が構成される。さらにモデル生成装置100は、図示を省略した画像取得部を有する。
画像取得部は、インターフェース等を介してユーザ20のRGB−D画像を取得する。使用されるインターフェースの種類は限定されず、例えばHDMI(登録商標)(High-Definition Multimedia Interface)端子等やWiFiモジュール等が備えられたインターフェースが用いられる。画像取得部により取得されたRGB−D画像は、3Dモデル生成部110に出力される。本実施形態では、画像取得部は、対象物の画像を取得する取得部に相当する。
3Dモデル生成部110は、N個のRGB−D画像に基づいてユーザ20やユーザ20が使用する物等を含む対象物の3Dモデルを生成する。すなわちN個のRGB−D画像の各々に含まれる対象物の状態(ユーザ20の表情、姿勢、及び動作等に関する状態、及びユーザが使用する物の状態)がそのまま再現された3Dモデルが生成される。以下、説明を簡潔にするために、ユーザ20及びユーザ20が使用する物を含めて、単にユーザ20と記載する場合がある。
本実施形態では、RGB−Dカメラが撮影したRGB−D画像に対して座標変換等が実行される。具体的には、RGB−D画像の各画素の位置及び奥行が、所定の3次元座標系の座標に変換される。この結果、ユーザ20の3次元形状を表す多数の点の3次元座標(ポイントクラウド)が算出される。
ポイントクラウドを算出する処理が、N個のRGB−D画像に対して実行される。これにより例えばユーザ20の全体像を表すポイントクラウドを高精度に算出可能である。算出されたポイントクラウドに基づいて、ユーザ20の3次元形状を表すメッシュモデルが生成される。
RGB−D画像に基づいて、ユーザ20の肌の色や着ている服の色等に関するテクスチャ情報が取得される。取得されたテクスチャ情報に基づいて、メッシュモデル表面の色等が設定され、ユーザ20等の3Dモデルが生成される。従って3Dモデルでは、RGB−D画像に映っているユーザ20の形状や色が高精度に再現される。なお3Dモデルを生成する方法は限定されず、他の方法で3Dモデルが生成されてもよい。
図2に示すように本実施形態では、3Dモデル生成部110から、3Dモデルの情報又はN個の2D画像が他の機能ブロックに出力される。ここで2D画像とは、RGB−D画像のうち、距離情報(奥行情報)等を除いた2次元の画像である。例えば3Dモデルが所定のフレームレートで生成される場合には、3Dモデルの情報がフレーム毎に出力される。この場合例えば、出力される3Dモデルの生成に使用されたN個のRGB−D画像からN個の2D画像が生成され3Dモデルの情報と一緒に出力される。なお他の機能ブロックに出力される情報等は限定されず、例えばN個の2D画像に代えてN個のRGB−D画像がそのまま出力されてもよい。本実施形態では、RGB−D画像及びRGB−D画像の一部である2D画像は、対象物の画像に相当する。
置換処理部120は、3Dモデル生成部110により生成された3Dモデルの少なくとも一部を変更することが可能である。すなわち置換処理部120は、N個の2D画像の各々に含まれる対象物の状態(ユーザ20の表情、姿勢、及び動作等に関する状態、及びユーザ20が使用する物の状態)の少なくとも一部が変更された3Dモデルを生成することが可能である。置換処理部120により変更処理が実行された3Dモデルは、変更前の3Dモデルと比べて、低い再現性にて対象物が再現されたモデルとなる。
3Dモデルに変更を加える変更処理として、例えば3Dモデルの少なくとも一部を置換する処理、少なくとも一部を削除する処理、及び3Dモデルに対して所定のオブジェクトを追加する処理等が実行される。静止状態のユーザ20の体の一部等を置換、又は削除する場合のみならず、静止状態である体の一部を所定の動作をしている状態に置換する場合等も含まれる。またユーザ20が使用するコントローラ等を削除する場合や、他のものに置換する場合等も含まれる。その他、3Dモデルに変更を加える処理は限定されず、後に具体的な例を詳細に説明する。
置換制御部130は、置換処理部120の動作を制御する。本実施形態では置換制御部130により、置換処理部120による変更処理の実行の有無が制御される。従って置換制御部130により、置換処理部120による変更処理が実行されるモードと、変更処理が実行されないモードとが適宜切替えられる。変更処理が実行されない場合には、再現性の高い3Dモデルが置換処理部120から出力される。変更処理が実行される場合には、再現性の低い3Dモデルが置換処理部120から出力される。
置換制御部130による変更処理の実行の有無の制御は、置換情報DB160に記憶された置換情報161に基づいて実行される。図2に示すように、置換情報161は、置換条件情報162、置換対象情報163、及びモデル生成情報164を含む。
置換条件情報162は、対象物の状態の少なくとも一部を変更するか否かの判定条件を含む情報である。本実施形態では、当該判定条件のことを置換条件と記載して説明を行う。すなわち本説明における置換条件は、置換をするための条件のみならず、削除等も含めた3Dモデルの種々の変更に関する判定条件を含む。また以下、置換処理部120による変更処理のことを、置換処理と記載する場合がある。
置換制御部130は、3Dモデル生成部110、UI判定部140、及びアプリケーション51から入力されたユーザ20や仮想空間Vに関する情報に基づいて、置換条件情報162に含まれる置換条件が満たされるか否かを判定する。置換条件が満たされる場合には、例えば置換処理の開始及び終了の指示や、置換処理の具体的な指示(どの部位をどのように変更するか等)を、置換処理部120に出力する。
置換対象情報163は、置換対象となる部位を特定するための特定情報である。モデル生成情報164は、特定された置換対象となる部位を変更する方法を含む情報である。これらの情報は、置換条件情報162と関連付けられて記憶されている。すなわち置換対象情報163及びモデル生成情報164は、置換条件に関連付けられた対象物の状態の少なくとも一部を変更する方法に関する情報に相当する。
置換情報DB160には、様々な状況に対応する複数の置換情報161が記録されている。従って、様々な状況に応じた置換処理を実行することが可能となり、ユーザ20が所望する3Dモデルを高精度に生成することが可能となる。なお置換情報161に含まれる情報は限定されず、所望の置換処理を実現可能とする任意の情報が用いられてよい。
本実施形態では、3Dモデル生成部110と、置換処理部120と、置換制御部130とが協働することで、生成部が実現される。また本実施形態では、置換制御部130は、生成制御部としても機能する。
置換制御部130の制御により、置換処理部120による置換処理が実行されず、再現性の高い3Dモデルが生成される処理が、本実施形態において、第1の生成処理に相当する。また置換処理部120により出力される再現性の高い3Dモデルが、第1の再現性にて対象物が再現された第1のモデルに相当し、図1に示すユーザ20の仮想モデル30となる。なお、置換処理なしで生成された仮想モデル30を、第1の生成処理にて生成された第1の仮想モデルと記載する場合がある。
置換制御部130の制御により、置換処理部120による置換処理が実行され、再現性の低い3Dモデルが生成される処理が、本実施形態において、第2の生成処理に相当する。また置換処理部120により出力される再現性の低い3Dモデルが、第1の再現性よりも低い第2の再現性にて対象物が再現された第2のモデルに相当し、図1に示すユーザ20の仮想モデル30となる。なお、置換処理により生成された仮想モデル30を、第2の生成処理にて生成された第2の仮想モデルと記載する場合がある。
すなわち本実施形態では、仮想空間Vに表示されるユーザ20の仮想モデル30として、再現性の高い第1の仮想モデルと、再現性の低い第2の仮想モデルとを互いに切替えて表示させることが可能となる。例えば様々な状況において、ユーザ20の状態をそのまま再現した仮想モデル30よりも、一部を変更した仮想モデル30を表示した方が、違和感なく自然に仮想体験を楽しむことが可能となる場合がある。すなわち第1及び第2の生成処理が適宜切替えられ、第1及び第2の仮想モデルが切替えられことで、ユーザ20に自然な仮想体験を提供することが可能となる。詳しくは後述する。
なお本実施形態において、置換制御部130による置換処理の実行の有無の切替えは、生成制御部による第1の生成処理の実行及び第2の生成処理の実行の切替えに相当する。
UI判定部140は、様々なユーザインターフェース(User Interface)を介してユーザ20が入力した指示等の認識、又は判定を行う。例えばUI判定部140は、ユーザ20の2D画像や、モデル生成装置100に接続されたマイク41及びボタン42からの情報等に基づいて、ユーザ20のジェスチャーによる操作入力や音声による操作入力等を認識する。使用されるインターフェースの種類等は限定されず、例えばジェスチャーや音声を併用したマルチモーダル・インターフェース等が用いられてもよい。
例えばUI判定部140により、ユーザ20が要求するサービス等の内容が判定され、UI判定結果としてアプリケーション51に送信される。これにより、アプリケーション51は要求されたサービス等をユーザ20に提供することが可能となる。またユーザ20が操作入力中であるといった情報がUIイベントとして置換制御部130に送信される。これにより置換制御部130は、例えばユーザ20が所定の操作入力を行っている場合には置換処理を行うといった判定を行うことが可能となる。
生成済みモデルバッファ170は、置換処理部120から出力された仮想モデル30(3Dモデル)の情報を一定期間保持する。すなわち過去に出力された仮想モデル30の情報が所定のフレーム枚数分だけ保存される。保存された仮想モデル30の情報は、置換処理部120にフィードバックすることが可能である。これにより例えば、直前に生成された仮想モデル30の情報等を使って置換処理等を実行することが可能となる。
ストリーム生成部150は、置換処理部120からフレーム毎に出力される仮想モデル30の情報に基づいて仮想モデル30の映像(ストリーム)を生成する。ストリームを生成する方法等は限定されず、3Dモデルの形式やアプリケーション51の仕様等に応じた任意のレンダリング処理が実行されてよい。生成された仮想モデル30のストリームは、アプリケーション51に出力される。
アプリケーション51は、仮想空間生成装置50を使って仮想空間Vを生成するコンピュータプログラムである。アプリケーション51は、仮想モデル30の映像情報等を取得して仮想空間V内の適正な位置に仮想モデル30を配置する。これにより、仮想空間V上にユーザ20の仮想モデル30が再現される。
またアプリケーション51は、仮想空間V内での仮想モデル30の状態に関するステータス情報を置換制御部130に出力可能である。ステータス情報は、仮想モデルがどのような状態であるかを表す情報であり、例えば仮想モデル30に対する動作の指示や、仮想空間V内の表現として定められた動作や演出等の指示等に応じて生成される。例えばユーザ20が使用するコントローラ等を介して所定の動作の指示が入力中である場合には、当該指示された動作中であるステータス情報が生成される。その他、種々のステータス情報が生成される。
図3は、仮想モデル30の生成の概要を示すフローチャートである。画像取得部により、ユーザ20(対象物)の2D画像(RGB−D画像)が取得される(ステップ101)。置換制御部130により、置換条件情報162に基づいて、ユーザ20の状態の少なくとも一部を変更するか否かが判定される(ステップ102)。
ユーザ20の状態の少なくとも一部を変更しない、すなわち置換条件が満たされないと判定された場合(ステップ102のNO)、第1の生成処理が実行される(ステップ103)。本実施形態では、置換制御部130から置換処理部120に置換処理を実行しない旨の指示が出力される。そして3Dモデル生成部110により生成された3Dモデルが、そのまま第1の仮想モデルとして出力される。これにより2D画像に含まれるユーザ20の状態が再現された第1の仮想モデルが生成される。
ユーザ20の状態の少なくとも一部を変更する、すなわち置換条件が満たされると判定された場合(ステップ102のYES)、第2の生成処理が実行される(ステップ104)。本実施形態では、置換制御部130から置換処理部120に置換処理を実行する旨の指示が出力される。これにより置換処理部120により、3Dモデル生成部110により生成された3Dモデルに対して置換処理が実行され、第2の仮想モデルとして出力される。これにより2D画像に含まれるユーザ20の状態の少なくとも一部が変更された第2の仮想モデルが生成される。
このように、置換制御部130により置換処理部120の動作が制御され、第1の仮想モデルと第2の仮想モデルとが互いに切替えられて生成される。これにより例えばユーザ20や仮想空間Vの様々な状況に対応した適切な仮想モデル30を適宜表示させることが可能となる。
なお仮想モデル30の生成方法は、上記で説明した方法に限定されず、他の任意の方法が用いられてよい。例えば本実施形態では、ユーザ20の2D画像の取得に応じて、3Dモデル生成部110によりユーザ20の3Dモデルが生成される。そして生成された3Dモデルに置換処理を実行するか否かにより、第1及び第2の生成処理が切替えられる。
これに代えて、まずステップ102の判定が実行され、その後に判定結果に基づいて、第1及び第2の生成処理のいずれかが開始されてもよい。その際には、例えばユーザ20の2D画像に基づいて直接的に第1及び第2の仮想モデルがそれぞれ生成されてもよい。
以下、第2の生成処理について、具体的な例を挙げて説明する。
図4は、第2の生成処理の一例を示す模式図である。図4に示す例では、歩行コントローラ43を使用するユーザ20aの3Dモデル60aに置換処理121が実行され、歩行動作を行う第2の仮想モデル30aが生成される。なお図4には、置換処理121に用いられる置換情報161が模式的に図示されている。
図4に示す歩行コントローラ43は、ユーザ20aが上に乗って使用するタイプのものであり、ユーザ20aは体重を移動させることで、仮想空間V内での第2の仮想モデル30aの移動(歩行/走行)を指示することが可能である。体重を移動させる方向や大きさを調整することで、第2の仮想モデル30aの移動方向や移動速度等をコントロールすることが可能である。すなわちユーザ20aは実際に歩行動作を行うことなく、ほぼ直立の姿勢のまま、第2の仮想モデル30aに歩行動作を実行させることが可能である。
歩行コントローラ43を介して入力された歩行動作の指示等は、アプリケーション51に出力され、ステータス情報として置換制御部130に出力される。
上記したように本実施形態では、まず3Dモデル生成部110により、歩行コントローラ43を使用するユーザ20のN個の2D画像に基づいて、ユーザ20a及び歩行コントローラ43を含む3Dモデル60aが生成される。
図5は、置換制御部130の処理例を示すフローチャートである。図6は、本例において参照される置換情報の一例を示す模式図であり、図4に示す置換情報161の詳細である。上記したように置換情報161は、置換条件情報162、置換対象情報163、及びモデル生成情報164を含む。本実施形態では、置換条件としてステータス情報、対象オブジェクト(図6ではモデルと表記)、UI判定に関する項目が含まれる。
置換情報DB160から複数の置換情報161(1〜m)が取得される(ステップ201)。また3Dモデル生成部110により生成された3Dモデル60a、及びN個の2D画像が取得される(ステップ202)。
1〜mの複数の置換条件情報162に含まれる置換条件が満たされるか否かが判定される。具体的には、置換情報161が順に読みだされ、まず置換条件情報162内のステータスが合致するか否かが判定される(ステップ203)。本実施形態では、図6に示す置換情報161が読み出され、歩行コントローラ43を介した歩行動作の指示により歩行動作中であるというステータスが合致しているとする(ステップ203のYes)。
なお歩行コントローラ43を介して歩行動作の指示が入力されていない場合には、置換条件は満たされないと判定され、他の置換情報161が読み出される(ステップ203のNo、ステップ209、及びステップ210のYesのフロー)。未だ読み出されていない置換情報が存在しない場合(ステップ210のNo)には、置換処理部120へ置換対象が存在しない旨が通知され処理が終了する(ステップ211)。
ステータスが合致していると判定されると、置換条件情報162内に格納された対象オブジェクトが認識可能であるか否かが判定される(ステップ204)。本実施形態では、置換条件情報162に歩行コントローラ43の2D映像(画像)における認識特徴量が含まれる。置換制御部130は、ステップ202にて取得したN個の2D画像の各々について、認識特徴量が合致する部分が検出されるか否かを判定する。合致する部分がある場合には、対象オブジェクトは認識可能であると判定される(ステップ204のYes)。2D画像内に認識特徴量と合致する部分がない場合には、置換条件は満たされないと判定され、ステップ204のNoからステップ209に進む。
なお対象オブジェクトを認識する方法は限定されず、マッチング技術等の任意の技術が用いられてよい。図6に示す置換情報では、置換条件として、N個の2D画像に基づいた認識の有無と、3Dモデルに基づいた認識の有無とが、別の項目として設定されている。これに対して2D画像及び3Dモデルを区別することなく、これらのうち少なくとも一方にて対象オブジェクトが認識されるといった条件が、置換条件として設定されてもよい。
対象オブジェクト、すなわち本例では歩行コントローラ43が認識された場合には、3Dモデル60a上の、歩行コントローラ43に該当する部分がマークされる(ステップ205)。具体的には、歩行コントローラ43の認識特徴量に合致した2D画像内の各点の座標に基づいて、各点に対応する3Dモデル上での各頂点情報が取得される。取得された各頂点情報が、歩行コントローラ43の各点を表す頂点情報としてマークされる。
またマークされた各頂点情報に基づいて、3Dモデル60a上の歩行コントローラ43に該当する部分には、オブジェクトIDが設定される。なお本例では、歩行コントローラ43は削除対象となる部分である。従って対象オブジェクトは、置換対象となる部位を特定するための特定情報ともなる。
次に人体を含む領域があるか否かが判定される(ステップ206)。すなわち人物の体が検出されるか否かが判定される。人体を検出する方法は限定されず、2D画像や3Dモデル60aを用いた任意の技術が用いられてよい。人体が検出されない場合には、置換条件は満たされないと判定され、ステップ206のNoからステップ209に進む。
人体が検出された場合(ステップ206のYes)、3Dモデル60a上の人体に該当する部分がマークされる(ステップ207)。例えばステップ205と同様の方法により、3Dモデル60a上での人体に該当する頂点情報がマークされ、人体に該当する部分にオブジェクトIDが設定される。
対象物(歩行コントローラ43)のマーク及びIDと、人体(ユーザ20a)のマーク及びIDと、置換情報とが置換処理部に送信され処理が終わる(ステップ208)。すなわちこの場合は置換条件が満たされたと判定され、図3のステップ102のYesからステップ104に進み第2の生成処理が実行される。
図7Aは、置換処理部の具体的な構成例を示すブロック図である。図7Bは、置換処理部120の各ブロックが実行する処理に関する模式図である。図8は、置換処理の一例を示すフローチャートである。図7Bに付されたステップは、図8のステップに対応する。
置換処理部120は、置換処理制御部122、対象オブジェクト置換処理部123、ボディモデル変換部124、ボディモデル置換処理部125、及びMeshモデル変換部126を有する。置換処理制御部122により、置換制御部130から出力された置換情報161等に基づいて、各ブロックの動作が制御される。
まず、対象オブジェクトについての置換処理が実行される(ステップ301)。対象オブジェクト置換処理部123により、モデル生成情報164に基づいて対象オブジェクトが他のオブジェクト等に置換される。なおモデル生成情報164に、他のオブジェクト等の情報が含まれない場合には、対象オブジェクトは単に削除される。
本実施形態では、歩行コントローラ43の頂点情報に基づいて、3Dモデル60aから歩行コントローラ43に該当する部分が削除される。上記したように3Dモデル60a上の歩行コントローラ43に該当する部分(セグメント)にはオブジェクトIDが設定されている。従ってオブジェクトIDが指定するセグメントを削除することで、歩行コントローラ43を容易に削除することが可能となる。
ボディモデル変換部124により、人物の骨格が推定(Bone認識)され、これに基づいてボディモデル70への変換が実行される(ステップ302)。ボディモデル70は、3Dモデル60aのうち人体に該当する部分を人体の特徴を利用して変形や置換を行いやすい形に変換したモデルである。ボディモデル70としては、3Dモデル60aのメッシュと骨格との相対的な位置関係が推定されたDeformableモデルや、人体の各部位のサイズ(パラメータ)等を制御可能なパラメトリックモデル等が適宜使用される。またボディモデル70は、例えばBone認識により生成されたボーンモデルをもとに、解剖学上の制約に基づいて生成される。これに限定されず、人体等を表現可能な任意のモデルが、ボディモデル70として用いられてよい。
Bone認識やボディモデル70への変換に用いられる技術は限定されない。例えばBone認識として、2D画像やメッシュモデル等から人物の骨格を推定可能な技術や、機械学習等を用いた任意の技術が用いられてよい。またボディモデル70への変換として、メッシュモデル等を変形可能な任意の変換方法等が用いられてよい。
ボディモデル置換処理部125は、ボディモデル70の変更(変形)及び置換等を含むボディモデル置換処理を実行する(ステップ303)。図7では、ボディモデル置換処理部125により、ボディモデル70の両足が歩く動作に置換される。例えば、置換対象情報163で指定された部位(両足)が、モデル生成情報164に基づいて歩く動作をするモデルに置き換えられる。従って人物が直立した状態から歩行動作を行う状態に変更された、置換後のボディモデル71が生成される。
このように本実施形態では、ボディモデル変換部124及びボディモデル置換処理部125により、人体についての置換処理121が実行される。ボディモデル70での置換処理121を行うことで、自然な歩行動作を容易に表現することが可能となる。例えば人物の歩く動作に合わせて、人物の上半身が適宜変形されたモデルを生成するといったことも可能となり、ユーザが感じる違和感を十分に軽減することが可能となる。なお人体は、オブジェクトID等を用いて識別される。
図6ではボーンモデル(骨格)に基づいて、置換対象となる置換対象情報163と、その置換対象の置換方法を表すモデル生成情報164とが生成される。例えば置換対象情報163として両足の骨格が指定された場合には、当該両足の骨格に関する置換モデルがモデル生成情報164に格納される。従って、置換対象情報163で指定される骨格とモデル生成情報164で生成される骨格とは同じになるように設定される。なおボーンモデルに限定されず、例えば人体の各部位に関する特徴量等の、任意のパラメータが用いられてもよい。
なお図6に示すように、モデル生成情報164には、歩行動作等を表現するために複数のフレームの情報が保持されている。例えば歩行動作中は、複数のフレームの情報等を繰り返し使用することで、容易に歩行動作の継続を表現することが可能となる。
Meshモデル変換部126により、置換後のボディモデル71が再びメッシュモデルに変換される(ステップ304)。これにより第2の仮想モデル30aが生成され処理が終了する。生成された第2の仮想モデル30aは、ストリーム生成部150等に適宜出力され、アニメーションとしてユーザに表示される。
このように置換制御部130は、歩行動作の指示が入力された場合には、置換情報161に基づいて第2の生成処理の実行を選択する。そして第2の生成処理として、歩行動作を実行する第2の仮想モデル30aが生成される。これにより、ユーザ20aが歩行動作等を行っていない場合であっても、仮想空間Vには歩行動作を行うユーザ20aの第2の仮想モデル30aが表示される。この結果、ユーザ20aにとっての負担が小さく自然な仮想体験を提供することが可能となる。
なお第1の生成処理から第2の生成処理に切替えられる場合の遷移状態を表すモデルを生成することも可能である。例えば本例において、歩行動作の開始が指示された場合には、開始時点での第1の仮想モデルの状態(ユーザ20aの状態)から歩き始めるまでの動作が遷移状態のモデルとして生成される。これにより、動作を開始する前の状態から動作を行う状態へとスムーズに移行する様子を表現可能となる。
同様に第2の生成処理から第1の生成処理に切替えられる場合の遷移状態を表すモデルを生成することも可能である。例えば歩行動作の終了が指示された場合には、終了時点の第1の仮想モデルの状態(ユーザ20aの状態)となるように、その状態に向けて歩行をやめる動作が遷移状態のモデルとして生成される。例えばユーザ20aが座っている場合には、歩きを止めつつ座るといった遷移状態が表現される。
遷移状態を表すモデルを生成する方法は限定されず、例えば種々の動作についての開始動作及び終了動作の情報に基づいた機械学習による推定技術や、その他、任意の技術が用いられてよい。
また置換される動作に、ユーザ20a独自の特徴が反映されてもよい。例えば本例において、ユーザ20aの歩き方が反映された歩行動作が表現されてもよい。ユーザ20aの独特の動作の特徴は、例えば事前にユーザ20aの動作を撮影した2D画像等に基づいて取得可能である。例えばユーザ20aが仮想空間生成システム10を利用している間に、ユーザ20aの2D画像に基づいて、歩く、走る、座る、立つ、飛び上がる等の種々の動作について、ユーザ20aの特徴を分析して記憶する、といったことも可能である。その他、機械学習等の任意の技術が用いられてよい。
図9は、第2の生成処理の他の例を示す模式図である。図10は、本例において参照される置換情報の一例を示す模式図である。図9に示す例では、手持ちコントローラ44を使用するユーザ20bの3Dモデル60bに置換処理121が実行され、歩行動作を行う第2の仮想モデル30bが生成される。
手持ちコントローラ44は、ユーザ20bの手元で操作される。ユーザ20bは、手持ちコントローラ44のボタンやジョイスティック等を使って仮想モデル30の各種の動作をコントロールすることが可能である。例えば図9に示すように、ユーザ20bは座った姿勢のまま、手持ちコントローラ44を介して仮想モデル30に様々な動作を実行させることが可能である。
置換条件情報162に基づいて、ステータスが合致するか否かが判定される。手持ちコントローラ44からの指示により歩行動作中であるというステータスが合致している場合、手持ちコントローラ44が認識可能であるか否かが判定される。図10に示す置換情報161では、3Dモデル60bにおいて、手持ちコントローラ44の認識特徴量が合致するか否かが判定される。
手持ちコントローラ44が認識された場合には、該当する部分がマークされIDが付される。また人体が検出されマーク付け及びID付与が実行される。手持ちコントローラ44のマーク及びIDと、人体のマーク及びIDと、置換情報161とが、置換処理部120に送信される。そして置換処理121(第2の生成処理)が実行される。
図9に示すように、手持ちコントローラ44に対して置換処理121が行われる際には、例えばユーザ20bが座っている場合等が想定される。このため置換される部位として広い範囲が指定される。本例の置換対象情報163では、手持ちコントローラ44と、それを使用する両腕と、両足とが置換対象として指定される。またモデル生成情報164には、両腕及び両足についての歩行動作を表すモデルの情報が記憶される。
置換対象情報163及びモデル生成情報164に基づいて、3Dモデル60b内の手持ちコントローラ44が削除される。また人物の両腕及び両足が、歩く動作をするモデルに置換され、歩く動作を行う第2の仮想モデル30bが生成される。
図9に示す例では、座っている姿勢の3Dモデル60bから歩く動作を行う第2の仮想モデル30bが生成される。この場合第2の生成処理により、まず座っている状態から立ち上がる動作を実行し、続いて歩き始める動作を実行するといった歩く動作へ遷移する動作を実行する第2の仮想モデル30bが生成される。例えばモデル生成情報164に含まれる複数のフレームの情報に基づいて、歩く動作へ遷移する一連の動作を表現することが可能である。これにより歩く動作へとスムーズに移行する様子を表現可能となる。
なお、座った状態のユーザ20bを撮影した2D画像に基づいて3Dモデル60bを生成した場合、足元などの情報が十分に得られない可能性がある。従ってボディモデルへの変換等を使って3Dモデルを変形しても良好な第2の仮想モデル30bを得られない可能性がある。この場合例えば、直立した姿勢でのユーザ20bの3Dモデル60bを取得しておき、当該3Dモデル60bのメッシュやテクスチャ等の情報を使って第2の仮想モデル30bを生成するといった方法が実行されてもよい。
図11は、第2の生成処理の他の例を示す模式図である。図12は、本例において参照される置換情報の一例を示す模式図である。図11に示す例では、ジェスチャーによる操作入力を行うユーザ20cの3Dモデル60cに置換処理121が実行され、ジェスチャーを実行しない第2の仮想モデル30cが生成される。
ユーザ20cは所定のジェスチャーを実行することで、当該ジェスチャーに対応した操作入力を行うことが可能である。図11に示す例では、ユーザ20cにより両肘をまげて両手振るといったジェスチャーが実行される。ユーザ20cのジェスチャーは、N個の2D画像や3Dモデル60cに基づいて、UI判定部140により認識される。
図13は、UI判定部140の具体的な構成例を示すブロック図である。UI判定部140は、ジェスチャー認識部141と、音声認識部142と、判定部143とを有する。以下ジェスチャーによる操作入力が行われた場合の、ジェスチャー認識部141及び判定部143の動作について説明する。なお音声認識部142の動作等については、他の例で説明する。
ユーザ20cにより、ジェスチャーによる操作入力が行われる。3Dモデル生成部110により、ジェスチャーによる操作入力を行うユーザ20cの3Dモデル60cが生成され、当該3Dモデル60cの情報及びN個の2D画像がジェスチャー認識部141に入力される。
ジェスチャー認識部141により、入力された2D画像等に基づいて、ユーザ20cがジェスチャーによる操作入力を実行していることが認識される。例えば、特徴量等に基づいてユーザ20cの動作が検出され、その動作が予め記憶されたジェスチャーと一致するか否かが判定される。
ユーザ20cの動作が記憶されたジェスチャーと一致する場合は、ユーザ20cがジェスチャーによる操作入力を実行していると認識され、ジェスチャーによる操作入力が受け付けられる。なお、ジェスチャーを認識する方法等は限定されず、例えば3Dモデル60cや2D画像に基づいて動作を検出可能な任意の方法が用いられてよい。
判定部143により、ジェスチャー認識部141の認識結果に基づいて、ジェスチャーの内容が判定される。すなわちユーザ20cが要求するサービス等の内容が判定される。判定されたサービス内容等の情報は、判定結果としてアプリケーション51に出力される。また判定部143は、ジェスチャーによる操作入力が認識中であるといった状況を知らせるUIイベントを生成し、置換制御部130に適宜出力する。
図14は、置換制御部130に出力されるUIイベントの一例を示す表である。例えばジェスチャー認識の開始、認識中、認識の終了等、ジェスチャーによる操作入力に対する認識の状況が出力される。またUIイベントとして、ジェスチャーによる操作入力の内容(認識結果)等を出力することも可能である。なおUIイベントには、音声に基づく操作入力についての情報も含まれる。この点については後述する。
置換制御部130は、UI判定部140から出力されたUIイベントに基づいて、置換条件が合致するか否かを判定する。図12に示す置換条件情報162では、UI判定のジェスチャー認識の項目が置換条件として設定されている。すなわち、UIイベントに基づいて、ユーザ20cによるジェスチャーが認識中であるか否かが判定される。
ユーザ20cのジェスチャーが認識中であると判定された場合には、2D画像等に基づいて人体が検出され、人体に対してマーク付け及びID付与が実行される。そして人体のマーク及びIDと置換情報161とが置換処理部120に送信され、置換処理121(第2の生成処理)が実行される。
図11に示すように、本例の置換対象情報163では、置換対象として両腕が指定されている。またモデル生成情報164には、両腕を伸ばした状態を表すモデルの情報が記憶される。置換対象情報163及びモデル生成情報164に基づいて置換処理121が実行され、両腕を伸ばして直立した第2の仮想モデル30cが生成される。
もちろん置換されるジェスチャーの種類等は限定されず、任意のジェスチャーに対して置換処理121が実行されてよい。例えば、ユーザ20cが指先を使ってサインを出すといったジェスチャーが認識されたとする。この場合例えばユーザ20cの指先や手のひらが置換されてもよい。これによりジェスチャーに関係した部位だけが置換されるので、置換処理121の効率化をはかることが可能となる。
このように、置換制御部130は、ジェスチャーによる操作入力が受け付けられた場合には、第2の生成処理の実行を選択する。そして第2の生成処理としてジェスチャーを実行しない第2の仮想モデル30cが生成される。これにより、ジェスチャー等を他の動作に切替えることが可能となる。従って、例えばローカルな操作入力等を仮想空間Vを共有している他のユーザに見せることなく、仮想体験を楽しむことが可能となる。
なお本例では、ジェスチャー認識部141によりジェスチャーが開始されていると認識された時点で置換処理121が実行される。このため、ユーザ20cがジェスチャーを始めてから、ジェスチャーが置換された第2の仮想モデル30cが生成されるまでに、一定の遅延が生じる可能性がある。
こうした置換処理121の遅延を回避するため、例えばユーザ20cは図13に示すボタン42を使ってジェスチャーを開始する旨をUI判定部140に通知することが可能である。例えばボタン42の出力に基づいてジェスチャー認識部141及び判定部143により、ジェスチャー認識開始のUIイベントが出力される。これによりジェスチャー認識部141が実際にユーザ20cのジェスチャーを認識する前から、置換処理121を開始することが可能となる。また、例えば3Dモデル生成部110と置換処理部120との間に、3Dモデル60cを一定の時間保持できる3Dモデルバッファ等を設けることで、遅延による影響を回避することもできる。
図15は、第2の生成処理の他の例を示す模式図である。図16は、本例において参照される置換情報の一例を示す模式図である。図15に示す例では、音声による操作入力を行うユーザ20dの3Dモデル60dに置換処理121が実行され、音声の発話動作を実行しない第2の仮想モデル30dが生成される。
ユーザ20dは音声による操作入力を行うことが可能である。例えば、ユーザ20dが所定のフレーズを含む指示等を発話することで、指示内容に対応した操作が実行される。3Dモデル生成部110は、発話動作を行うユーザ20dの3Dモデル60dを生成する。また、ユーザ20dの音声はマイク41によって取得され、UI判定部140に音声の情報が出力される。
図13に示すUI判定部140の音声認識部142により、ユーザ20dの音声の情報に基づいて、ユーザ20dが音声による操作入力を実行しているか否かが認識される。例えば音声認識部142によりユーザ20dの音声の情報が解析され、音声に含まれる単語やフレーズ等が取得される。ユーザ20dの音声を解析する方法等は限定されず、任意の音声認識技術等が用いられてよい。
例えば、予め記憶された操作入力に関する所定のフレーズ等がユーザ20dの音声に含まれる場合には、ユーザ20dが音声による操作入力を実行していると認識される。また所定のフレーズ等が含まれない場合には、ユーザ20dは音声による操作入力を実行していないと認識される。
音声による操作入力が実行されていると認識された場合、判定部143により、音声認識部142の認識結果に基づいて音声の内容が判定される。すなわちユーザ20dが要求するサービス等の内容が判定される。判定部143は、例えば音声認識部142が解析した単語やフレーズ等をもとにユーザ20dが指示している内容を判定する。音声の内容を判定する方法等は限定されず、例えば機械学習を用いた文章認識技術等が適宜用いられてよい。
判定部143により、判定されたサービス内容等の情報が判定結果としてアプリケーション51に出力される。またUIイベントとして、音声による操作入力を認識中であるといった情報(図14参照)が、置換制御部130に出力される。
置換制御部130により、UI判定部140から出力されたUIイベントに基づいて、置換条件が合致するか否かが判定される。図16に示す置換条件情報162では、UI判定の音声認識の項目が置換条件として設定されている。UIイベントに基づいて、ユーザ20dの音声が認識中であるか否か、すなわちユーザ20dが音声による操作入力を実行中であるか否かが判定される。
ユーザ20dの音声が認識中であると判定された場合には、2D画像等に基づいて人体が検出され、人体に対してマーク付け及びID付与が実行される。そして人体のマーク及びIDと置換情報161とが置換処理部120に送信され、置換処理121(第2の生成処理)が実行される。
図15に示すように、本例の置換対象情報163では、置換対象として頭部が指定されている。従って3Dモデル60dでの口の動きや表情等が置換対象となる。またモデル生成情報164には、口を閉じた頭部のモデルが記憶される。口を閉じた頭部のモデルは、例えば事前にユーザ20dが口を閉じた状態を撮影した2D画像等に基づいて生成可能である。置換対象情報163及びモデル生成情報164に基づいて置換処理121が実行され、口を閉じた状態の第2の仮想モデル30dが生成される。
なお、仮想空間V上で他のユーザと音声等を介したコミュニケーション等が可能な場合が想定される。この場合、例えばユーザ20dが音声による操作入力を実行している間は、ユーザ20dの音声がカットされてもよい。例えば口を閉じた第2の仮想モデル30dが表示される際に、ユーザ20dの音声をカットするといった方法が用いられてもよい。
このように、置換制御部130は、音声による操作入力が受け付けられた場合には、第2の生成処理の実行を選択する。そして第2の生成処理として音声の発話動作を実行しない第2のモデルが生成される。これにより、発話動作を他の動作に切替えることが可能となる。従って、例えば音声による操作入力等を仮想空間Vを共有している他のユーザに知られることなく、仮想体験を楽しむことが可能となる。
なお本例では、音声認識部142が音声による操作入力が開始されていると認識された時点で置換処理121が実行される。このため、発話動作を実行しない第2の仮想モデル30dが生成されるまでに、一定の遅延が生じる可能性がある。本例では、ユーザ20dは図13に示すボタン42を使って音声による操作入力を開始する旨をUI判定部140に通知することが可能である。これにより、音声認識部142が実際に音声による操作入力を認識する前から、置換処理121を開始することが可能となる。また、例えば3Dモデル生成部110と置換処理部120との間に、3Dモデル60dを一定の時間保持できる3Dモデルバッファ等を設けることで、遅延による影響を回避することもできる。
他のユーザと音声等を介したコミュニケーション等が可能な場合、音声による操作入力であると判定されない場合は、第1の生成処理が実行される。すなわちユーザの発話動作がそのまま再現された第1の仮想モデルが生成される。これにより高精度なコミュニケーションが可能となる。
この際に、例えばユーザ20dの頭部を撮影するサンプリングレートを上げるといった処理が実行されてもよい。これにより、発話動作を行うユーザ20dの口元等を高い再現性で再現することが可能となる。具体的な処理例としては、例えば音声認識部142にユーザ20dの音声が入力された場合に、ユーザ20dの頭部を撮影するサンプリングレートを上げる処理が実行される。音声の内容が操作入力に関するものでない場合には、そのまま第1の生成処理が実行される。音声の内容が操作入力に関するものである場合には、サンプリングレートを下げ(例えば通常に戻し)、第2の生成処理が実行される。これにより自然な仮想体験を容易に実現することが可能となる。
図11及び図15では、ジェスチャーによる操作入力及び音声による操作入力が行われた場合の第2の生成処理の一例が示された。操作入力として、ジェスチャー及び音声の両方が同時に使用されるマルチモーダルな操作入力が行われてもよい。この場合、UI判定部140はユーザ20のジェスチャーと音声とをともに認識して、マルチモーダルな操作入力に対応するUIイベントを出力する(図14参照)。これにより、例えばジェスチャー及び発話動作を実行しない第2の仮想モデルを生成することが可能となる。
図17は、第2の生成処理の他の例を示す模式図である。図18は、本例において参照される置換情報の一例を示す模式図である。図18に示す例では、HMD(Head Mount Display)45を使用したユーザ20eの3Dモデル60eに置換処理121が実行され、HMD45が削除された第2の仮想モデル30eが生成される。
HMD45は、ユーザ20eの頭部に装着して使用されるディスプレイ装置である。HMDは、アプリケーション51がインストールされたコンピュータシステム等に接続され、例えばアプリケーション51により生成された仮想空間Vの画像等が表示される。HMD45を使用することで、例えばユーザ20e自身が仮想空間V内にいるかのような体験を楽しむことが可能となる。HMD45の種類等は限定されず、例えばユーザの目を完全に覆う没入方のディスプレイ等が使用される。この他透過型ディスプレイを備えたHMDやスマートグラス等が適宜使用されてよい。
図17に示すように、ユーザ20eがHMD45を装着している場合には、ユーザ20eの表情等の情報を取得することが難しい場合がある。このためHMD45を装着した3Dモデル60eの顔部分の置換を行う際には、ユーザ20eの表情等に関するパラメータ(顔モデルパラメータ)が新たに取得される。本例では、HMD45の内部に取り付けられたユーザ20eの表情等を読み取るセンサからの情報に基づいて、ユーザ20eの顔モデルパラメータが取得される。
表情等を読み取るセンサとして、例えばHMD45の内部にユーザ20eの目や眉等を撮影可能なカメラ等が搭載される。ユーザ20eの表情等を読み取るセンサの種類は限定されず、ユーザ20eの視線方向を検出するセンサや、眉の動きを検出するセンサ等が適宜用いられてよい。
図19は、HMD45が使用される場合の仮想空間生成システム11の構成例を示すブロック図である。仮想空間生成システム11は、HMD45と、複数のカメラ40と、モデル生成装置101と、アプリケーション51とを有する。モデル生成装置101には、図2に示した各機能ブロックに加え、顔モデルパラメータ生成部180、及び顔モデル生成部181が含まれる。なお図19では、図2に示したマイク41、ボタン42、UI判定部140、及び生成済モデルバッファ170が省略されている。
顔モデルパラメータ生成部180は、HMD45に搭載されたユーザ20eの表情等を読みとるセンサからの情報に基づいて、ユーザ20eの顔モデルパラメータを生成する。例えばユーザ20eの目元を撮影した画像に基づいて、ユーザ20eの視線の向き、目の形状(輪郭)、及び眉の動き等が顔モデルパラメータとして生成される。顔モデルパラメータを生成する方法は限定されない。例えば目、鼻、及び口等の動きを検出可能な任意の表情認識技術が用いられてよい。
顔モデル生成部181は、顔モデルパラメータに基づいて、ユーザ20eの顔モデルを生成する。例えば、ユーザ20eの顔の輪郭や目、鼻、口、及び耳等の各部位が再現された基準顔モデルが予め生成されて記憶される。そして顔モデル生成部181により、顔モデルパラメータと基準顔モデルとに基づいてユーザの顔モデルが生成される。
ユーザ20eの基準顔モデルは、例えばHMD45を装着しない状態でユーザ20eの顔を撮影した2D画像等に基づいて生成される。また、ユーザ20eがモデル生成装置101を利用している途中からHMD45を使用し始めるといった状況も想定される。このような場合、HMD45を使用する直前に生成されたユーザ20eの3Dモデルに基づいて基準顔モデルが生成されてもよい。これにより直近のユーザ20eの状態に基づいて顔モデルを生成可能である。
顔モデル生成部181は、顔モデルパラメータに基づいて基準顔モデルを変形することで、ユーザ20eの顔モデルを生成する。例えば顔モデルパラメータでの目の開き具合や眉の動き等に合わせて基準顔モデルが変形される。これによりユーザ20eがHMD45を装着している時の、ユーザ20eの表情等を再現した顔モデルが生成される。基準顔モデルを変形する方法等は限定されず、例えば人物の表情等を表現可能な任意のモデル等を使った3Dモデルの変形等が適宜用いられる。
図17に示すように、HMD45を使用したユーザ20eの3Dモデル60eが生成される。置換制御部130により、置換条件情報162に基づいて、ステータスが合致するか否かが判定される。図18に示すように、本実施形態では、HMD45を利用中であることを知らせるステータス情報が置換制御部130に入力されると、ステータスが合致していると判定される。そして、2D画像において、HMD45の認識特徴量が合致するか否かが判定される。すなわちHMD45が認識可能であるか否かが判定される。
HMD45が認識された場合には、該当する部分がマークされIDが付される。また人体が検出されマーク付け及びID付与が実行される。HMD45のマーク及びIDと、人体のマーク及びIDと、置換情報161とが、置換処理部120に送信される。そして置換処理121(第2の生成処理)が実行される。
本例の置換対象情報163ではHMD45と頭部とが指定される。またモデル生成情報164には置換対象となる頭部を変更する方法が記憶される。モデル生成情報164として、例えば顔モデル生成部181により生成されたユーザ20eの顔モデルを使って、置換用の頭部のモデルを生成するといった指示が記憶される。
置換処理部120により、置換対象情報163及びモデル生成情報164に基づいて、3Dモデル60e内のHMD45が削除される。また3Dモデル60eの頭部は、ユーザ20eの顔モデルに基づいて生成された頭部のモデルに置換される。これにより、ユーザ20eの表情等が再現された第2の仮想モデル30eが生成される。
このように、第2の生成処理によりユーザ20eが使用するHMD45が削除された第2の仮想モデル30eが生成される。これにより、HMD45等を使用する場合であってもユーザ20eの表情が再現され、他のユーザとの円滑なコミュニケーション等を実現することが可能となる。従ってユーザ20eへの負担を軽減し、自然な仮想体験を提供することが可能となる。
HMD45の他にも、ユーザ20eが装着する任意の装置等が検出されて、適宜置換処理が実行されてもよい。例えばヘッドホンや触覚等の感覚を再現する装置等が装着されている場合であっても、これらの装置が削除された第2の仮想モデルを生成することが可能である。
図20は、第2の生成処理の他の例を示す模式図である。図21は、本例において参照される置換情報の一例を示す模式図である。図20に示す例では、プライバシーの保護が必要な状態にあるユーザ20fの3Dモデル60fに置換処理121が実行され、プライバシーが保護されるように変更された第2の仮想モデル30fが生成される。
プライバシーの保護が必要な状態とは、例えばユーザ20fが着替え中、あるいは裸であるといった状態である。このような状態は、例えばユーザ20fを撮影した2D画像中での肌の露出量等を検出する画像処理を行うことで検出される。他にもユーザ20fが仮想空間V内で暗証番号等の入力を行う場合や、ユーザの個人情報に関する情報が撮影される場合が、プライバシーの保護が必要な状態に該当する。
本例ではモデル生成装置100(図2参照)に図示しないプライバシー検出部が設けられる。プライバシー検出部は、2D画像または3Dモデル60fに基づいて、プライバシーの保護が必要な状態であるかを判定する。そしてプライバシーの保護が必要な状態が撮影された2D画像等を、プライバシー画像として検出する。例えば、2D画像中でのユーザ20fの肌の露出量が所定の閾値を超えた場合に、プライバシーの保護が必要な状態であると判定される。そしてその状態のユーザ20fが撮影された2D画像等が、プライバシー画像として検出される。
プライバシー検出部からは、プライバシー画像についての検出状況が置換制御部130に出力される。すなわちプライバシー画像の検出開始、検出が継続中、検出終了等に関する情報が出力される。あるいは検出されたプライバシー画像や、プライバシーの保護が必要な部位についての情報等が出力されてもよい。
置換制御部130は、プライバシー検出部から出力されたプライバシー画像の検出状況に基づいて、置換条件が合致するか否かを判定する。図21に示す置換条件情報162では、ユーザ20fがプライバシーの保護が必要な状態にあるか否かに関する置換条件として、プライバシー画像の検出状況についての項目が設定されている。プライバシー画像が検出されている場合には、プライバシーの保護が必要な状態であるとして、置換条件が満たされる。
置換条件が満たされると判定された場合には、置換制御部130により2D画像等に基づいて人体が検出され、人体に対してマーク付け及びID付与が実行される。そして人体のマーク及びIDと置換情報161とが置換処理部120に送信され、置換処理121(第2の生成処理)が実行される。
図20に示すように、本例の置換対象情報163では、置換対象として頭部以外の部位が指定される。すなわち、両手、両足、及び胴体が置換対象となる。またモデル生成情報164には、置換対象となる両手、両足、及び胴体を変更する方法が記憶される。モデル生成情報として、例えば置換対象となる部位をぼかして表示させるといった指示が記憶される。置換対象情報163及びモデル生成情報164に基づいて、3Dモデル60fの頭部以外の部位がぼかされた第2の仮想モデル30fが生成される。
なお置換対象を変更する方法等は限定されない。例えば、置換対象となる部位にモザイクを入れる、過去の画像や3Dモデルに基づいて通常状態のモデルに置換する、予め用意されたモデルに置換する、所定のオブジェクトを表示(追加)して隠す、あるいは単に削除するといった様々な方法が用いられてよい。
このように置換制御部130は、ユーザ20fがプライバシーの保護が必要な状態にあると判定された場合には、第2の生成処理の実行を選択する。そして第2の生成処理としてユーザ20fの少なくとも一部が変更された第2の仮想モデル30fが生成される。これによりユーザ20fのプライバシーが保護された第2の仮想モデル30fを生成可能となり、安心して仮想体験を楽しむことができる。
なお置換等の対象となる部位が指定可能であってもよい。例えばプライバシー検出部により、2D画像等に基づいて、上半身や下半身、胸や腰等、プライバシーの保護対象となる部位が細かく判定されて指定されてもよい。この場合、例えば置換対象情報163及びモデル生成情報164として、プライバシー検出部により指定された部位に対して、ぼかす等の変更を行う旨の情報が記憶される。なおユーザ20fが着ているTシャツや、2D画像内に映ったカレンダー等に、裸体の写真等が載せられている場合等において、そこにモザイク等を施すといったことも可能である。
仮想空間Vのシチュエーション等に応じて、プライバシー保護の必要性が判定されてもよい。例えば仮想空間V上において、銀行のATMやドア等の前に仮想モデル30fが立ち、暗証番号等を入力するシチュエーションの場合、他のユーザに対しては、テンキー等がぼかされた仮想空間Vが提供されてもよい。
図22は、置換情報の他の例を示す模式図である。図22Aは、ジェスチャーによる操作入力が置換条件に含まれる置換情報161を示す模式図である。図22Bは、音声による操作入力が置換条件に含まれる置換情報161を示す模式図である。
例えばユーザ20fのジェスチャー、音声、又はボタン等による操作入力等に基づいて、プライバシー保護のためのプライバシーモードに変更された場合に、モザイク等を施すといった上記の第2の生成処理が実行されてもよい。
図22Aでは、ユーザ20fのプライバシー画像の候補が検出中であり、ジェスチャーによるプライバシーモードへの変更が認識されている場合に置換条件が満たされる。なお、プライバシー画像の候補とは、例えばプライバシー画像が満たす条件を満たしていない画像である。また図22Bでは、プライバシー画像の候補が検出中で、音声によるプライバシーモードへの変更が認識された場合に置換条件が満たされる。
これによりユーザ20fは、ジェスチャー等を用いた操作入力を行うことで、明示的にプライバシーモード(第2の生成処理)に切替えることが可能となる。従って例えばプライバシー検出部がプライバシーの保護が必要な状態であると判定できないような状況であっても、ユーザ20fのプライバシーを十分に保護することが可能となる。
図22A及び図22Bに示す例では、プライバシー画像の候補の検出、及びユーザ20fによるプライバシーモードの指示が、プライバシーの保護に必要な状態と判定するための条件となる。
ユーザ20fによるプライバシーモードの指示がある場合には、プライバシー画像や、その候補の検出の有無にかかわらず、プライバシーの保護が必要な状態であると判定されてもよい。そして例えば肌の露出量等にかかわらず、ユーザ20fの頭部以外をぼかして表示する等の第2の生成処理が実行されてもよい。これによりユーザ20fの意図を十分に反映したプライバシーの保護を実現することが可能となる。
プライバシー画像の検出によるプライバシーモードへの移行に加えて、ユーザ20fの指示によるプライバシーモードへの移行を可能とすることで、確実なプライバシー保護を実現することが可能となる。
図23は、第2の生成処理の他の例を示す模式図である。図24は、本例において参照される置換情報の一例を示す模式図である。図23に示す例では、歩行コントローラ43を使用するユーザ20gの3Dモデル60gに置換処理121が実行され、歩行コントローラ43が他のオブジェクトに置換された第2の仮想モデル30gが生成される。
図23に示すように、ユーザ20gは歩行コントローラ43を使って仮想空間V内での歩行動作等の指示を行う。図4に示した例では歩行動作の指示に基づいて、歩行コントローラ43が削除され歩行動作を行う第2の仮想モデル30aが生成された。本例では、歩行コントローラ43が他のオブジェクトに置換され歩行動作とは異なる移動状態が表現される。
置換条件情報162に基づいて、ステータスが合致するか否かが判定される。歩行コントローラ43からの指示により歩行動作中であるというステータスが合致している場合、歩行コントローラ43が認識可能であるか否かが判定される。図24に示す置換情報161では、2D画像に基づいて、歩行コントローラ43の認識特徴量が合致するか否かが判定される。
歩行コントローラ43が認識された場合には、3Dモデル60g上の該当する部分がマークされIDが付される。歩行コントローラ43のマーク及びIDと置換情報161とが、置換処理部120に送信される。そして置換処理121(第2の生成処理)が実行される。なお図24に示すように、置換対象情報163には人体についての情報が含まれない。従って例えば、3Dモデル60g上の人体に該当する部分等の検出は行われない。もちろん人体の認識の有無が置換条件に含まれてもよい。
置換対象情報163では、置換対象として歩行コントローラ43が指定される。またモデル生成情報164には雲状のオブジェクト31が記録されている。置換対象情報163及びモデル生成情報に基づいて、3Dモデル60g上の歩行コントローラ43が雲状のオブジェクト31に置換された第2の仮想モデル30gが生成される。この場合、例えば3Dモデル60gの足元を覆うようにして雲状のオブジェクト31が配置されるような置換が行われる。
例えば、雲状のオブジェクト31に乗った第2の仮想モデル30gが、ユーザ20gが指定する移動方向に移動することで、歩行動作に代わる移動動作が表現される。このように、歩行コントローラ43を雲状のオブジェクト31等に置換することで、仮想空間V内での所定の動作等を表すメタファーとして使用することが可能となる。この場合、人体についての置換処理121等を行う必要が無いため、効率的に移動動作等を表現することが可能となる。
3Dモデル60gの少なくとも一部を他のオブジェクトに置換することで表現される動作や状態は限定されない。例えば、ユーザ20gが使用する片手持ちのコントローラが、拳銃のモデルや釣竿等に置換されてもよい。また両手持ちのコントローラが自動車等のハンドルに置換されてもよい。
またユーザ20gが所定の動作を行った場合に、その動作に対応する置換処理121等が実行されてもよい。例えばユーザ20gが指先で拳銃の形を作る動作を行った場合に、その部分を拳銃のモデルに置換することが可能である。他にもそばを食べる動作が行われた場合にユーザ20gの持ち物をどんぶりと箸に置換したり、ユーザ20gが両手を動かして羽ばたく動作を行った場合に両手を羽に置換したりといった様々な置換処理121のバリエーションが実現されてよい。これによりユーザ20gは多様な仮想体験を十分に楽しむことが可能となる。
図25は、第2の生成処理の他の例を説明するための図であり、仮想空間Vでの移動についての一例を示す模式図である。図25では複数のカメラ40によりユーザを撮影してユーザの仮想モデル30を生成する空間共有スポットSが模式的に図示されている。空間共有スポットSを利用することで、ユーザは仮想空間Vを体験することが可能となる。例えばユーザが空間共有スポットS内に入ると、ユーザの仮想モデル30が生成され、空間共有スポットSにデフォルトで設定された仮想空間V上に表示される。
図25に示す例では、3つの空間共有スポットS1〜S3が図示されている。これら空間共有スポットS1〜S3に対して、原宿竹下通り、渋谷センター街、及び銀座中央通りを再現した仮想空間V1〜V3がデフォルトで設定される。従って、ユーザが空間共有スポットS1を利用して仮想体験を始める場合には、原宿竹下通りを再現した仮想空間V1を体験することになる。
こうした複数の仮想空間V1〜V3を、実際の地図等に基づいて生成された静的な3D空間上に配置することが可能である。そして1つの空間共有スポットSを利用して、他の共有スポットSにデフォルトで設定された仮想空間Vに移動することも可能である。例えばユーザが空間共有スポットS1を利用して原宿竹下通りの仮想空間V1を体験しているとする。そのユーザが、実空間における原宿竹下通りから渋谷センター街までの道のりと同様の道のりを、仮想空間V1上で歩くことで、渋谷センター街が再現された仮想空間V2へ移動することが可能である。
またこのような仮想空間V上での長距離移動を行う際には、例えば行き先を指定して瞬間的に移動(仮想空間移動)するといったことも可能である。例えば空間共有スポットS1を利用して原宿竹下通りの仮想空間V1を体験しているユーザが、渋谷センター街を指定して瞬間移動の指示を入力すると、瞬間的に渋谷センター街の仮想空間V2に切替えられる。
図26Aは歩行動作が指示された場合の第2の生成処理の一例を示す模式図である。図26Bは、仮想空間移動が指示された場合の第2の生成処理の一例を示す模式図である。図27A及び図27Bは、それぞれ図26A及び図26Bで参照される置換情報の一例を示す模式図である。
図26Aでは、ユーザ20hは空間共有スポットS2から仮想空間V2にログインを行い、ユーザ20hの仮想モデル30hが渋谷センター街を再現した仮想空間V2上に表示される。ユーザ20hは歩行コントローラ43を使用して歩行の指示等を出力することが可能である。
置換制御部130により、図27Aに示す置換条件情報162に基づいてステータスが合致するか否かが判定される。歩行コントローラ43からの指示により歩行動作中であるというステータスが合致している場合、歩行コントローラ43が認識可能であるか否かが判定される。歩行コントローラ43が認識された場合には、3Dモデル60h上の歩行コントローラ43に該当する部分と人体に該当する部分とが検出され、それぞれにマーク付け及びID付与が実行される。
歩行コントローラ43のマーク及びIDと、人体のマーク及びIDと、置換情報161とが、置換処理部120に送信される。そして置換処理121(第2の生成処理)が実行され、歩行動作を行う第2の仮想モデル30hが生成される。これによりユーザ20hは、第2の仮想モデル30hを介して仮想空間V2内を歩行して移動することが可能となる。
図26Bでは、ユーザ20iは渋谷センター街を再現した仮想空間V2から、銀座中央通りを再現した仮想空間V3への瞬間的な仮想空間移動を行う。例えばユーザ20iは、銀座中央通り(仮想区間V3)へ移動する旨のフレーズを発話し音声による操作入力を実行する。この際、ユーザ20iは、歩行コントローラ43上でジャンプ等の所定の動作を行う。
UI判定部140により音声による操作入力の内容等が判定され、UI判定結果及びUIイベントがアプリケーション51及び置換制御部130にそれぞれ送信される。また歩行コントローラ43により、ジャンプ動作の指示がアプリケーション51に出力される。
アプリケーション51は、UI判定結果及び歩行コントローラ43からの情報に基づいて、ユーザ20i等の状況を判定する。本例では、ユーザ20iが仮想空間移動を要求していると判定される。アプリケーション51により、仮想空間移動中を表すステータス情報が生成され、当該ステータス情報が置換制御部130に送信される。
置換制御部130により、図27Bに示す置換条件情報162に基づいてステータス及びUI判定の項目が合致するか否かが判定される。ユーザ20iが仮想空間移動を要求しておりジャンプ動作の指示が出力されているというステータスが合致し、音声認識結果が所定の内容と合致した場合、歩行コントローラ43が認識可能であるか否かが判定される。
歩行コントローラ43が認識された場合には、該当する部分がマークされIDが付される。また人体が検出されマーク付け及びID付与が実行される。歩行コントローラ43のマーク及びIDと、人体のマーク及びIDと、置換情報161とが、置換処理部120に送信される。そして置換処理121(第2の生成処理)が実行される。
図27Bに示す例では、置換対象情報163により歩行コントローラ43と人体の両手、両足、及び胴体とが置換対象として指定される。またモデル生成情報164には、仮想空間移動を表現する動作として飛行動作を行うモデルが格納される。置換処理部120により、3Dモデル60iの歩行コントローラ43が削除され、飛行動作を行う第2の仮想モデル30iが生成される。
仮想空間移動の表現として、飛行動作の他にも様々な表現が実現されてもよい。例えば、モデル生成情報164として、アニメーション等で用いられるようなデフォルメされたポーズや効果等を表現するモデルが設定されてよい。これにより、実空間Sでは実現することが困難な動作等を容易に表現することが可能となる。
このように、置換制御部130により歩行コントローラ43からの出力及び音声による操作入力に関する判定条件が判定され、第2の生成処理の実行が選択される。そして第2の生成処理により、ユーザの姿勢や動作が変更された第2の仮想モデル30iが生成される。これにより、仮想空間Vの間を瞬間的に移動するといった仮想空間Vに固有の動作を十分に表現することが可能となり、ユーザ20iの動作負担を軽減した仮想体験を提供することが可能となる。
以上、本実施形態に係るモデル生成装置では、ユーザの画像に基づいてユーザのモデルを生成する生成処理として、互いに異なる第1及び第2の生成処理が実行可能である。これら第1及び第2の生成処理の各々の実行を適宜切替えることで、ユーザに自然な仮想体験を提供することが可能となる。
仮想空間を共有するユーザ同士が、自身の像を互いに送りあってコミュニケーションを行う場合、所定の指示を入力するためのジェスチャー等、他のユーザとのコミュニケーションとは関係のない動作等が、仮想空間上で再現されてしまう場合がある。このような場合、仮想空間上でのユーザ(仮想モデル)の挙動が不自然となったり、他のユーザに知られたくない動作等が表示されてしまったりといった問題が生じる。
本実施形態では、置換制御部130により第1及び第2の生成処理の実行の切替えが制御される。第1の生成処理では、ユーザの画像に含まれるユーザの状態が再現された第1の仮想モデルが生成される。また第2の生成処理では、ユーザの画像に含まれるユーザの状態の少なくとも一部が変更された第2の仮想モデルが生成される。
これにより、実際に撮影されているユーザの状態をそのまま再現したモデル(第1の仮想モデル)と、ユーザの状態を適宜変更して再現したモデル(第2の仮想モデル)とを切替えて表示することが可能となる。従って、一時的なUI操作や移動操作に伴うジェスチャー等の、他のユーザには一時的に見せたくない自身の像の一部を置き換えて表示させることが可能となる。
また第1及び第2の生成処理の実行の切替えの制御は、様々なシチュエーションに対応した複数の置換条件に基づいて実行される。これにより、置換処理をその時の状況等に合わせて動的に行うことが可能となる。また置換条件には、ユーザの状態の少なくとも一部を変更する方法が関連付けられて記憶されている。従って、各シチュエーションに応じた適切な変更等が実行され、ユーザの動作等をより自然に表現することが可能となる。
<その他の実施形態>
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
上記では、置換条件が満たされた場合に、第1の生成処理から第2の生成処理に切替えられ、ユーザの状態が変更された第2の仮想モデルが生成されて表示された。これに限定されず、第2の仮想モデルをデフォルトで表示し、所定の復元条件が満たされた場合に、第1の生成処理に切替えられ、ユーザの状態をそのまま再現した第1の仮想モデルが生成されて表示されてもよい。
例えばデフォルトの第2の仮想モデルとして、ユーザの左手が置換されたモデルが生成される。すなわちユーザの実際の左手の動きがどのようなものであっても、仮想空間上では、ユーザの全体の動作や姿勢に応じて自然に動く左手が表現される。例えば歩行/走行動作に応じた自然な腕のふり、直立/座位の姿勢に応じた自然な左手の構え、等である。これによりユーザは左手を使って、ジェスチャー等を含むローカルな操作等を、他のユーザに知られることなく行うことが可能となる。
復元条件としては、種々の条件が考えられる。例えば両手を用いた動作が必要なシチュエーション等が発生する場合には、復元条件が満たされて、第1の生成処理に切替えられる。これにより左右の手の動きがそのまま再現された第1の仮想モデルが表示される。またボタン操作、音声、ジェスチャー等を介したユーザの指示の有無が、復元条件として設定されてよい。例えばデフォルトの置換対象である左手を使った所定のジェスチャーの有無等が考えられる。これにより、ユーザの所望するタイミングで両手の動作等を反映した第1の仮想モデルに切替えることが可能である。
第1の生成処理に切替えられた後に、例えば所定の時間が経過すると自動的にデフォルトの置換処理(第2の生成処理)に切替えるといった設定も可能である。これにより他のユーザに気づかれることなく、再びダミーの左手に切替えることが可能となる。このように、第2の生成処理をデフォルトに設定することで、ユーザは他のユーザへの見え方等を気にせずにローカルな操作等を行うことが可能となる。
なお置換条件に基づいて第2の生成処理へ切替える場合に、所定の時間の経過後に第1の生成処理へ戻す処理が適宜実行されてもよい。
複数の置換条件が同時に成立する場合には、より広範な置換が行われる条件を優先して置換処理を実行してもよい。例えば両足の置換を行う条件と、両足及び両手の置換を行う条件とでは、後者のほうが優先されてもよい。これにより複数の置換えが同時に行われて不自然な仮想モデルが表示されることを防止することが可能である。
上記した実施形態では、ユーザ等の状態がそのまま再現された第1の仮想モデルを生成する第1の生成処理と、ユーザ等の状態の少なくとも一部が変更された第2の仮想モデルを生成する第2の生成処理とが適宜切替えられた。これに限定されず、第1及び第2の生成処理として互いに異なる処理であれば、どのような処理が実行されてもよい。
例えば第1の生成処理として、ユーザ等の3Dモデルに対して第1の置換処理が実行されて第1の仮想モデルが生成される。そして第2の生成処理として、ユーザ等の3Dモデルに対して第1の置換処理とは異なる第2の置換処理が実行されて第2の仮想モデルが生成される。すなわち第1及び第2の生成処理として、互いに異なる置換処理が実行されてもよい。例えば第1の生成処理(第1の置換処理)はオブジェクトの変更処理であり、第2の生成処理(第2の置換処理)は人体の変更処理等が考えられるが、もちろんこれに限定される訳ではない。
また3以上の互いに異なる複数の生成処理が切替え可能に実行されてもよい。例えば第1〜第3の生成処理や、第1〜第4の生成処理等が、条件等に応じて、切替え可能に実行されてもよい。
図2等に示すように、上記の実施形態では、3Dモデル生成部110と、置換処理部120と、置換制御部130とが協働することで、生成部が実現された。また置換制御部130が、生成制御部としても機能した。この構成に限定されず、例えば3Dモデル生成部110、置換処理部120、及び置換制御部130の各々の機能を統合したブロックが構成されてもよい。あるいはこれらのブロックの機能を任意に分割して、複数のブロックに担当させてもよい。例えば置換処理部120及び置換制御部130が統合されたブロックと、3Dモデル生成部110とにより、生成部が実現されてもよい。その他、任意の構成が可能である。
上記では、仮想現実VR(Virtual Reality)を表現した仮想空間上に表示されるモデルを生成する処理等が行われた。例えば拡張現実AR(Augmented Reality)や複合現実MR(Mixed Reality)が表現される空間上にモデルを表示する場合であっても本技術は適用可能である。
上記ではユーザにより操作されるPC等のコンピュータにより、本技術に係る情報処理方法が実行される場合を説明した。しかしながらユーザが操作するコンピュータとネットワーク等を介して通信可能な他のコンピュータにより、本技術に係る情報処理方法、及びプログラムが実行されてもよい。またユーザが操作するコンピュータと、他のコンピュータとが連動して、本技術に係るシミュレーションシステムが構築されてもよい。
すなわち本技術に係る情報処理方法、及びプログラムは、単体のコンピュータにより構成されたコンピュータシステムのみならず、複数のコンピュータが連動して動作するコンピュータシステムにおいても実行可能である。なお本開示において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれもシステムである。
コンピュータシステムによる本技術に係る情報処理方法、及びプログラムの実行は、例えば第1の生成処理、第2の生成処理、及び各生成処理の実行の切替えの制御等が、単体のコンピュータにより実行される場合、及び各処理が異なるコンピュータにより実行される場合の両方を含む。また所定のコンピュータによる各処理の実行は、当該処理の一部または全部を他のコンピュータに実行させその結果を取得することを含む。
すなわち本技術に係る情報処理方法及びプログラムは、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成にも適用することが可能である。
以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
なお、本技術は以下のような構成も採ることができる。
(1)対象物の画像を取得する取得部と、
前記取得された前記対象物の画像に基づいて前記対象物のモデルを生成する生成処理として、第1の生成処理、及び前記第1の生成処理と異なる第2の生成処理の各々を実行可能な生成部と、
前記生成部による前記第1の生成処理の実行及び前記第2の生成処理の実行の切替えを制御する生成制御部と
を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
前記第1の生成処理は、第1の再現性にて前記対象物が再現された第1のモデルを生成し、
前記第2の生成処理は、前記第1の再現性よりも低い第2の再現性にて前記対象物が再現された第2のモデルを生成する
情報処理装置。
(3)(2)に記載の情報処理装置であって、
前記第1の生成処理は、前記対象物の画像に含まれる前記対象物の状態が再現された前記第1のモデルを生成し、
前記第2の生成処理は、前記対象物の画像に含まれる前記対象物の状態の少なくとも一部が変更された前記第2のモデルを生成する
情報処理装置。
(4)(2)又は(3)に記載の情報処理装置であって、
前記第2の生成処理は、前記対象物の少なくとも一部が置換、又は削除された前記第2のモデルを生成する
情報処理装置。
(5)(3)又は(4)に記載の情報処理装置であって、
前記対象物は、人物、及びその人物が使用する物を含む
情報処理装置。
(6)(5)に記載の情報処理装置であって、
前記第2の生成処理は、前記人物の表情、姿勢、及び動作の少なくとも1つの状態が変更された前記第2のモデルを生成する
情報処理装置。
(7)(5)または(6)に記載の情報処理装置であって、
前記第2の生成処理は、前記人物が使用する物が置換、又は削除された前記第2のモデルを生成する
情報処理装置。
(8)(2)から(7)のうちいずれか1つに記載の情報処理装置であって、
前記生成部は、前記第1及び前記第2の生成処理の各々の実行が切替えられる際に、前記第1及び前記第2のモデルの各々へ切替えるための遷移状態が表現された前記第1及び前記第2のモデルをそれぞれ生成する
情報処理装置。
(9)(5)から(8)のうちいずれか1つに記載の情報処理装置であって、
前記生成制御部は、前記対象物の状態の少なくとも一部を変更するか否かの判定条件を含む判定情報に基づいて、前記生成部による前記第1の生成処理の実行及び前記第2の生成処理の実行の切替えを制御する
情報処理装置。
(10)(9)に記載の情報処理装置であって、
前記判定条件は、前記人物が使用するコントローラからの出力、前記人物の画像、及び前記人物の音声の少なくとも1つに関する条件を含む
情報処理装置。
(11)(3)から(10)のうちいずれか1つに記載の情報処理装置であって、
前記生成制御部は、所定の動作の指示が入力された場合には、前記第2の生成処理の実行を選択し、
前記生成部は、前記第2の生成処理として、前記所定の動作を実行する前記第2のモデルを生成する
情報処理装置。
(12)(11)に記載の情報処理装置であって、
前記生成部は、前記第2の生成処理として、前記所定の動作へ遷移する動作を実行する前記第2のモデルを生成する
情報処理装置。
(13)(9)から(12)のうちいずれか1つに記載の情報処理装置であって、
前記判定条件は、前記人物のジェスチャーによる操作入力、及び音声による操作入力の少なくとも一方に関する条件を含む
情報処理装置。
(14)(13)に記載の情報処理装置であって、
前記生成制御部は、前記ジェスチャーによる操作入力、及び前記音声による操作入力が受付けられた場合には、前記第2の生成処理の実行を選択し、
前記生成部は、前記第2の生成処理として、前記ジェスチャー及び前記音声の発話動作を実行しない前記第2のモデルを生成する
情報処理装置。
(15)(9)から(14)のうちいずれか1つに記載の情報処理装置であって、
前記判定条件は、前記人物がプライバシーの保護が必要な状態にあるか否かに関する条件を含む
情報処理装置。
(16)(15)に記載の情報処理装置であって、
前記生成制御部は、前記人物がプライバシーの保護が必要な状態にあると判定された場合には、前記第2の生成処理の実行を選択し、
前記生成部は、前記第2の生成処理として、前記人物の少なくとも一部が変更された前記第2のモデルを生成する
情報処理装置。
(17)(9)から(16)のうちいずれか1つに記載の情報処理装置であって、
前記判定情報は、前記判定条件に関連付けられた前記対象物の状態の少なくとも一部を変更する方法を含み、
前記生成部は、前記判定情報に基づいて前記第2の生成処理を実行する
情報処理装置。
(18)(17)に記載の情報処理装置であって、
前記判定情報は、前記対象物の変更対象となる部位を特定するための特定情報と、前記特定された前記変更対象となる部位を変更する方法とを含む
情報処理装置。