情報処理装置、情報処理方法、プログラム及び情報記憶媒体
【課題】移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間を軽減することができる情報処理装置を提供する。
【解決手段】基礎データ取得部50が、画像と、測定結果に基づく、当該画像に表示されている物体と撮像部との距離を示す距離データと、を含む基礎データを複数取得する。画像内位置特定部52が、取得される画像に基づいて、移動体が表示されている、その画像内の位置を特定する。距離特定部54が、特定される画像内の位置と、距離データと、に基づいて、移動体と撮像部との距離を特定する。位置座標算出部56が、特定される画像内の位置と特定される距離とに基づいて、移動体の三次元位置座標を算出する。モーションデータ生成部58が、算出される三次元位置座標に基づいて、移動体の三次元空間内における動きを示すモーションデータを生成する。
【解決手段】基礎データ取得部50が、画像と、測定結果に基づく、当該画像に表示されている物体と撮像部との距離を示す距離データと、を含む基礎データを複数取得する。画像内位置特定部52が、取得される画像に基づいて、移動体が表示されている、その画像内の位置を特定する。距離特定部54が、特定される画像内の位置と、距離データと、に基づいて、移動体と撮像部との距離を特定する。位置座標算出部56が、特定される画像内の位置と特定される距離とに基づいて、移動体の三次元位置座標を算出する。モーションデータ生成部58が、算出される三次元位置座標に基づいて、移動体の三次元空間内における動きを示すモーションデータを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【0002】
ビデオカメラなどで撮像される人間などの移動体の動きを情報処理装置に取り込むモーションキャプチャに関する技術が知られている。例えば、ビデオカメラで移動体を撮像することにより生成される一連の画像に基づいて、その移動体の動きを示すモーションデータを生成する情報処理装置が存在する。このような情報処理装置のなかには、ユーザが、生成される画像内のいくつかの位置をマーキングし、それぞれのマークの前後関係を指定することで、移動体の立体的な動きをシミュレートしてモーションデータを生成することができるものが存在する。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来の情報処理装置では、移動体の立体的な動きをシミュレートしてモーションデータを生成する際に、ユーザが画像内の位置を指定する必要があり、手間がかかっていた。
【0004】
本発明は、上記課題に鑑みてなされたものであって、移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間を軽減することができる情報処理装置、情報処理方法、プログラム及び情報記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明に係る情報処理装置は、所定の移動体の動きを示すモーションデータを生成する情報処理装置であって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段と、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段と、前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段と、前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段と、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段と、を含むことを特徴とする。
【0006】
また、本発明に係る情報処理方法は、所定の移動体の動きを示すモーションデータを生成する情報処理方法であって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得ステップと、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定ステップと、前記画像内位置特定ステップにより特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定ステップと、前記画像内位置特定ステップにより特定される前記画像内の位置と、前記距離特定ステップにより特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出ステップと、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成ステップと、を含むことを特徴とする。
【0007】
また、本発明に係るプログラムは、所定の移動体の動きを示すモーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段、前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段、前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段として前記コンピュータを機能させることを特徴とする。
【0008】
また、上記のプログラムはコンピュータ読み取り可能な情報記憶媒体に格納することもできる。
【0009】
本発明によると、距離測定手段による測定結果に基づく距離データに基づいて、移動体の三次元空間内における位置座標が算出されるので、移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間を軽減することができる。
【0010】
本発明の一態様では、前記移動体が複数の要素を含み、前記画像内位置特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素が表示されている当該画像内の位置を特定し、前記距離特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素と前記撮像手段との距離を特定し、前記位置座標算出手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素の三次元空間内における位置座標を算出し、前記位置座標算出手段により、前記基礎データに基づいて前記移動体に含まれる複数の要素のうちの欠落要素の位置座標が算出されない場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記基礎データ取得手段が取得する複数の基礎データのうちの、当該基礎データとは異なる基礎データに基づいて算出することを特徴とする。こうすれば、基礎データからは三次元空間内における欠落要素の位置座標が算出されない場合に、基礎データ取得手段が取得する複数の基礎データのうちの、当該基礎データとは異なる基礎データに基づいて、この欠落要素の三次元空間内における位置座標を算出することができる。
【0011】
また、この態様では、前記位置座標算出手段により前記欠落要素の位置座標が算出されない状態が所定時間にわたり継続する場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記時間の前において最後に算出される当該欠落要素の位置座標と、前記時間の後において最初に算出される当該欠落要素の位置座標と、に基づいて算出してもよい。こうすれば、三次元空間内における欠落要素の位置座標の算出が所定時間にわたりできない場合に、三次元空間内におけるこれらの欠落要素の位置座標を、この所定時間の直前及び直後に算出される当該欠落要素の位置座標に基づいて算出することができる。
【0012】
また、この態様では、前記位置座標算出手段により前記欠落要素の位置座標が算出されない場合は、当該欠落要素の位置座標を、当該基礎データとは異なる複数の基礎データそれぞれに基づいて算出される当該欠落要素の位置座標の差分に基づいて算出してもよい。こうすれば、基礎データに基づいて三次元空間内における欠落要素の位置座標が算出されない場合に、この基礎データとは異なる複数の基礎データに基づいて算出される三次元空間内における欠落要素の位置座標の差分の情報を用いて、当該欠落要素の位置座標を算出することができる。
【0013】
また、本発明の一態様では、前記基礎データが、複数の撮像手段それぞれにより生成される画像と、前記各画像を撮像した撮像手段と当該画像に表示されている物体との距離を示す距離データと、を含み、前記画像内位置特定手段が、前記基礎データに含まれる複数の画像それぞれに基づいて、それぞれの画像内の前記移動体が表示されている位置を特定し、前記距離特定手段が、前記移動体と前記各撮像手段との距離を特定し、前記位置座標算出手段が、前記画像内位置特定手段により特定される複数の前記画像内の位置と、前記距離特定手段により特定される複数の前記距離と、に基づいて、前記位置座標を算出することを特徴とする。こうすれば、撮像手段により物体を撮像する際における死角が少なくなるので、基礎データに基づいて移動体の三次元空間内における位置座標が算出されない可能性を減らすことができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【0015】
図1は、本実施形態に係る情報処理システム1のハードウェア構成の一例を示す図である。図1に示すように、本実施形態に係る情報処理システム1は、情報処理装置2と、携帯型ゲーム装置3と、を含んでいる。そして、図2は、本実施形態に係る携帯型ゲーム装置3の一例を示す斜視図である。
【0016】
情報処理装置2は、制御部21、記憶部22、通信部23、ユーザインタフェース(UI)部24、を含んで構成される。制御部21、記憶部22、通信部23、UI部24、はバスを介して接続される。
【0017】
情報処理装置2の制御部21はCPU等のプログラム制御デバイスであり、情報処理装置2にインストールされるプログラムに従って動作する。
【0018】
情報処理装置2の記憶部22は、RAM等の記憶素子やハードディスクなどである。情報処理装置2の記憶部22には、情報処理装置2の制御部21によって実行されるプログラムなどが記憶される。また、情報処理装置2の記憶部22は、情報処理装置2の制御部21のワークメモリとしても動作する。
【0019】
情報処理装置2の通信部23は、例えば、ネットワークインタフェースなどであり、情報処理装置2の制御部21から入力される指示に従って、情報を送信する。また、この情報処理装置2の通信部23は、LANなどのネットワークを介して受信される情報を情報処理装置2の制御部21に出力する。
【0020】
情報処理装置2のUI部24は、ディスプレイ、マイク、スピーカ、ボタンなどであり、利用者が行った操作の内容や、利用者が入力した音声を制御部21に出力する。また、この情報処理装置2のUI部24は、情報処理装置2の制御部21から入力される指示に従って情報を表示出力したり音声出力したりする。
【0021】
図2に示すように、本実施形態に係る携帯型ゲーム装置3の筐体30の形状は、箱形である。そして、図1に示すように、本実施形態に係る携帯型ゲーム装置3は、制御部31、記憶部32、通信部33、表示部34、操作部35、撮像部36、距離測定部37、を備えている。
【0022】
携帯型ゲーム装置3の制御部31はCPU等のプログラム制御デバイスであり、携帯型ゲーム装置3の記憶部32に格納されたプログラムに従って動作する。
【0023】
携帯型ゲーム装置3の記憶部32は、RAM等の記憶素子やハードディスクなどである。携帯型ゲーム装置3の記憶部32には、携帯型ゲーム装置3の制御部31によって実行されるプログラムなどが格納される。具体的には、例えば、携帯型ゲーム装置3の制御部31で実行されるゲームプログラムが格納される。このゲームプログラムは、例えば、ディスク、CD−ROM、DVD−ROM等の情報伝達媒体を介して、あるいは、インターネット等の通信ネットワークを介して携帯型ゲーム装置3に供給される。また、携帯型ゲーム装置3の記憶部32は、携帯型ゲーム装置3の制御部31のワークメモリとしても動作する。
【0024】
携帯型ゲーム装置3の通信部33は、例えば、ネットワークインタフェースなど(具体的には、例えば、無線LANモジュール)であり、携帯型ゲーム装置3の制御部31から入力される指示に従って、情報処理装置2などへ情報を送信する。また、この携帯型ゲーム装置3の通信部33は、受信される情報を携帯型ゲーム装置3の制御部31に出力する。
【0025】
本実施形態においては、情報処理装置2の通信部23、及び、携帯型ゲーム装置3の通信部33は、LANなどのネットワークに接続されており互いに通信することができるようになっている。なお、ネットワークは有線であっても無線であっても構わない。
【0026】
携帯型ゲーム装置3の表示部34は、例えば液晶ディスプレイ等であり、携帯型ゲーム装置3の制御部31からの指示に従って、画像の表示を行う。本実施形態では、携帯型ゲーム装置3の表示部34は、携帯型ゲーム装置3の筐体30の正面中央部に設けられている。ここで、携帯型ゲーム装置3の制御部31は、携帯型ゲーム装置3の表示部34に、表示される画像の解像度やアスペクト比などといった属性を併せて指示してもよい。また、携帯型ゲーム装置3の制御部31は、実行するプログラムに含まれる、画像の解像度やアスペクト比などといった属性を示す属性情報の内容に従って携帯型ゲーム装置3の表示部34に表示される画像の属性を指示してもよい。
【0027】
携帯型ゲーム装置3の操作部35は、例えば、操作部材(具体的には、例えば、十字キーやボタン)であり、当該操作部材に対する操作に応じた出力データを携帯型ゲーム装置3の制御部31に対して出力する。携帯型ゲーム装置3の制御部31は、この出力データを取得することで、当該出力データを用いてプレイヤの操作部材に対する操作に応じた処理を実行する。本実施形態では、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の表示部34の左右に設けられている。すなわち、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の筐体30の正面左側及び正面右側に分かれて配置されている。
【0028】
携帯型ゲーム装置3の撮像部36は、例えば、公知のデジタルカメラを含んで構成され、所定時間(例えば1/60秒)ごとに、白黒、グレイスケール又はカラーの画像(例えば、JPEG形式の画像)を生成する。なお、携帯型ゲーム装置3の撮像部36は、標準カメラであっても、望遠カメラであっても、広角カメラであっても構わない。本実施形態では、携帯型ゲーム装置3の撮像部36は、携帯型ゲーム装置3の表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の撮像部36は、筐体30の正面中央付近上側に設けられている。
【0029】
携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3と、その外部に存在する外部物体との距離を測定する。携帯型ゲーム装置3の距離測定部37は、例えば、携帯型ゲーム装置3の撮像部36と、外部物体(より具体的には、例えば、外部物体の表面)との距離(以下、物体距離と呼ぶ。)を測定し、物体距離を示す距離データ44を生成する(図3参照)。なお、距離データ44の詳細については後述する。
【0030】
本実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36によって生成される画像に含まれる各画素と、各画素に対応する物体距離とを対応づけた距離データ44を生成する。すなわち、本実施形態では、携帯型ゲーム装置3の撮像部36によって生成される画像内の画素の位置と、携帯型ゲーム装置3の距離測定部37で測定される物体距離とは一対一で対応づけられる。
【0031】
携帯型ゲーム装置3の距離測定部37は、具体的には、例えば、複数のレンズから構成されるステレオカメラであり、それぞれのレンズの視差に基づいて、外部物体と携帯型ゲーム装置3との距離を測定する。携帯型ゲーム装置3の距離測定部37は、ステレオカメラにはもちろん限定されず、携帯型ゲーム装置3の距離測定部37は、赤外線を出力して、その赤外線が撮像対象オブジェクトに反射して戻ってくるまでの時間を測定して、その測定された時間に基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。また、携帯型ゲーム装置3の距離測定部37が、焦点距離の異なる複数のレンズから構成され、これらのレンズのうち、外部物体に対してピントが合ったレンズに基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。なお、本実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36と一体的に形成されており、表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の距離測定部37は、正面中央付近上側に設けられている。
【0032】
本実施形態では、携帯型ゲーム装置3は、基礎データ40を生成し、情報処理装置2に送信する(図3参照)。図3は、基礎データ40のデータ構造の一例を示す図である。図3に示すように、基礎データ40は、ユーザ画像42と距離データ44とを含んでいる。
【0033】
本実施形態では、携帯型ゲーム装置3の撮像部36が、所定時間(例えば1/60秒)ごとに、被写体ユーザ46の動く様子を撮像し、一連のユーザ画像42を生成する(図4A〜図4E参照)。ここで、被写体ユーザ46は移動体の一例として示しているにすぎない。撮像部36が、被写体ユーザ46以外の移動体が動く様子を撮像して、その移動体の画像を生成するようにしても構わない。
【0034】
本実施形態では、具体的には、例えば、撮像部36が、被写体ユーザ46を撮像し、順次第nユーザ画像42−n(n=1,2,3・・・)を生成する。図4Aに第1ユーザ画像42−1の一例を、図4Bに第2ユーザ画像42−2の一例を、図4Cに第3ユーザ画像42−3の一例を、図4Dに第4ユーザ画像42−4の一例を、図4Eに第5ユーザ画像42−5の一例を示す。そして、図4A〜図4Eに示すように、本実施形態に係るユーザ画像42には、被写体ユーザ46だけではなく、地面48も表示されている。すなわち、撮像部36により生成される画像には、被写体ユーザ46などの移動体を含む少なくとも1つの物体が表示されている。また、携帯型ゲーム装置3の距離測定部37は、被写体ユーザ46と携帯型ゲーム装置3との距離を順次測定し、第nユーザ画像42−n内の各画素に対応する物体距離を対応づけた第n距離データ44−nを生成する。そして、携帯型ゲーム装置3の制御部31が、第nユーザ画像42−nと、そのユーザ画像42に対応する第n距離データ44−nと、を含む第n基礎データ40−nを生成する。
【0035】
そして、携帯型ゲーム装置3の通信部33が基礎データ40を情報処理装置2に送信する。そして、情報処理装置2の通信部23がこの基礎データ40を受信する。
【0036】
次に、本実施形態に係る情報処理装置2により実現される機能を説明する。図5は、本実施形態に係る情報処理装置2の機能ブロック図である。図5に示すように、本実施形態に係る情報処理装置2は、機能的には、基礎データ取得部50、画像内位置特定部52、距離特定部54、位置座標算出部56、モーションデータ生成部58を含むものとして機能する。これらの要素は、コンピュータである情報処理装置2にインストールされたプログラムを、情報処理装置2に含まれるCPU等の制御部21で実行することにより実現されている。なお、このプログラムは、例えば、CD−ROM、DVD−ROMなどのコンピュータ可読な情報伝達媒体を介して、あるいは、インターネットなどの通信ネットワークを介して情報処理装置2に供給される。
【0037】
基礎データ取得部50は、画像と距離データ44とを含む基礎データ40を複数取得する。本実施形態では、基礎データ取得部50は、携帯型ゲーム装置3の通信部33が送信して、情報処理装置2の通信部23が受信する、ユーザ画像42と距離データ44とを含む基礎データ40を順次取得する。
【0038】
画像内位置特定部52は、基礎データ40に含まれる画像(本実施形態ではユーザ画像42)に基づいて、所定の移動体(本実施形態では被写体ユーザ46)が表示されている、画像(本実施形態ではユーザ画像42)内の位置を特定する。
【0039】
本実施形態では、被写体ユーザ46は複数の要素60を含んでいる(図6参照)。本実施形態では、各要素60は、例えば、頭、胴体、左ひざ、右ひざ、左足、右足、左手、右手などといった被写体ユーザ46の体の部位に対応している。そして、画像内位置特定部52は、例えば、パターン認識技術を用いて、各要素60の、ユーザ画像42内の位置を特定する。図6は、画像内位置特定部52により特定された、第1ユーザ画像42−1内の、右手を示す右手要素60a及び胴体を示す胴体要素60bを含む各要素60の位置の一例を示す図である。
【0040】
ここで、画像内位置特定部52は、ユーザ画像42内の各画素の色に基づいて、各要素60の位置を特定するようにしても、もちろん構わない。また、画像内位置特定部52は、既存の光学式モーションキャプチャ技術などを利用して、各要素60の、ユーザ画像42内の位置を特定しても構わない。
【0041】
なお、画像内位置特定部52が、情報処理装置2の記憶部22に予め記憶されている、被写体ユーザ46に含まれる要素60、及び、その各要素60のユーザ画像42内における位置を特定する方法を示す特定方法データを用いて、各要素の位置座標を特定するようにしても構わない。
【0042】
画像内位置特定部52は、各要素60を代表する代表点(例えば、各要素60が表示されている領域の重心)の位置座標を特定するようにしても構わない。本実施形態では、画像内位置特定部52は、第nユーザ画像42−n内において右手要素60aが表示されている領域の重心(右手重心)の位置座標(右手第n画像内位置座標)(Xn,Yn)を特定する。図6に、画像内位置特定部52により特定された右手第1画像内位置座標(X1,Y1)を併せて示す。ここで、右手第n画像内位置座標(Xn,Yn)は、第nユーザ画像42−nの左上の点を原点とし、下方向をX軸、右方向をY軸とする二次元座標系における位置座標で表現されている。なお、画像内位置座標の表現方法は上述の方法にもちろん限定されない。
【0043】
距離特定部54は、画像内位置特定部52により特定される画像内の位置と、その画像を含む基礎データ40に含まれる距離データ44と、に基づいて、移動体と携帯型ゲーム装置3の撮像部36との距離を特定する。本実施形態では、距離特定部54は、ユーザ画像42を含む基礎データ40に含まれる距離データ44が示す、ユーザ画像42内の各要素60の代表点の位置座標に対応づけられた物体距離を特定する。具体的には、例えば、右手第n画像内位置座標(Xn,Yn)の画素に対応づけられる、第n距離データ44−nが示す物体距離を、右手第n物体距離Znとして特定する。図7に、右手第1物体距離Z1の一例を示す図を示す。なお、距離特定部54は、上述とは異なる方法により物体距離を特定しても構わない。具体的には、例えば、第nユーザ画像42−n内において右手要素60aが表示されている領域内の各画素に対応づけられる物体距離の平均値を、右手第n物体距離Znとして特定してもよい。
【0044】
位置座標算出部56は、画像内位置特定部52により特定される画像内の位置と、距離特定部54により特定される距離と、に基づいて、移動体の三次元空間内における位置座標を算出する。本実施形態では、位置座標算出部56は、第nユーザ画像42−n内の各要素60の代表点の位置座標と、距離特定部54により、第n距離データ44−nに基づいて特定される、その位置座標に対応づけられた物体距離と、に基づいて、その代表点の第n三次元位置座標を算出する。より具体的には、例えば、位置座標算出部56は、右手第n画像内位置座標(Xn,Yn)と、右手第n物体距離Znとに基づいて、右手第n三次元位置座標(xn,yn,zn)を算出する(図8参照)。なお、位置座標算出部56は、同様の方法により、胴体第n三次元位置座標(xn’,yn’,zn’)を算出しても構わない。なお、本実施形態では直交座標系により、三次元位置座標が表現されているが、極座標系など他の座標系により、三次元位置座標が表現されてももちろん構わない。
【0045】
モーションデータ生成部58は、各基礎データ40に基づいて算出される位置座標に基づいて、移動体の三次元空間内における動きを示すモーションデータを生成する。本実施形態では、各基礎データ40に基づいて算出される、被写体ユーザ46に含まれる各要素60の代表点の三次元位置座標に基づいて、被写体ユーザ46の三次元空間内における動きを示すモーションデータを生成する。より具体的には、例えば、右手第1三次元位置座標(x1,y1,z1)、右手第2三次元位置座標(x2,y2,z2)などの、一連の右手第n三次元位置座標(xn,yn,zn)を組み合わせて、右手の三次元空間内における動きを示すモーションデータを生成する。
【0046】
なお、モーションデータ生成部58が、例えば、情報処理装置2の記憶部22に予め記憶されている、要素60間の接続関係を示す接続関係データを用いて、図8に示すような、被写体ユーザ46のワイヤーフレームモデルデータ62を生成するようにしても構わない。このように、各要素の動きを示すモーションデータを組み合わせることで、例えば、人間が歩く様子を示すモーションデータが生成される。
【0047】
本実施形態では、一連の三次元位置座標に基づいてモーションデータが生成される。そのため、本実施形態に係る情報処理装置2によれば、移動体の立体的な動きがシミュレートされたモーションデータを生成することができる。
【0048】
次に、本実施形態に係る情報処理装置2の基礎データ取得部50が取得する第n基礎データ40−nに基づいて、被写体ユーザ46に含まれる右手要素60aの三次元空間内における第n三次元位置座標(xn,yn,zn)を算出する処理の流れの一例を、図9に示すフロー図を参照しながら説明する。
【0049】
まず、画像内位置特定部52が、第n基礎データ40−nに含まれる第nユーザ画像42−nに基づいて、右手第n画像内位置座標(Xn,Yn)を特定する(S101)。
【0050】
そして、距離特定部54が、右手第n画像内位置座標(Xn,Yn)に対応する、基礎データ40に含まれる距離データ44に示される右手第n物体距離Znを特定する(S102)。
【0051】
そして、位置座標算出部56が、右手第n画像内位置座標(Xn,Yn)と、右手第n物体距離Znと、に基づいて、右手第n三次元位置座標(xn,yn,zn)を算出する(S103)。
【0052】
そして、位置座標算出部56は、S103に示す処理により、右手第n三次元位置座標(xn,yn,zn)が算出されたか否かを確認する(S104)。ここで、右手第n三次元位置座標(xn,yn,zn)が算出されている場合は(S104:Y)、この処理を終了する。
【0053】
ここで、例えば、画像内位置特定部52が、第nユーザ画像42−nに基づいて右手第n画像内位置座標(Xn,Yn)を特定できない場合がある。より具体的には、例えば、図4Cに示すように、右手要素60aが被写体ユーザ46の陰に隠れているために、画像内位置特定部52が、第nユーザ画像42−3に基づいて、右手第3画像内位置座標(X3,Y3)を特定できない場合がある。また、距離特定部54が、第n距離データ44−nに基づいて、右手第n物体距離Znを特定できない場合がある。このような場合は、S104に示す処理において、第n基礎データ40−nに基づいて、右手第n三次元位置座標(xn,yn,zn)が算出されない。
【0054】
このように、S104に示す処理において、第n基礎データ40−nに基づいて、右手第n三次元位置座標(xn,yn,zn)が算出されていない場合は(S104:N)、この右手要素60aについては、位置座標算出部56が、基礎データ取得部50が取得する複数の基礎データ40のうち、第n基礎データ40−nとは異なる基礎データ40に基づいて、三次元位置座標を算出する(S105)。
【0055】
具体的には、例えば、位置座標算出部56が、胴体を示す要素60(胴体要素60b)の三次元位置座標(胴体第n三次元位置座標(xn’,yn’,zn’))から右手第n三次元位置座標(xn,yn,zn)へのベクトルVnを用いて、S104に示す処理により算出されていない右手要素60aの第n三次元位置座標(xn,yn,zn)を算出するようにしてもよい。図10に、位置座標算出部56が、ベクトルVnを用いて第3三次元位置座標(x3,y3,z3)を算出する方法の一例を示す。例えば、位置座標算出部56が、まず、右手第1ベクトルV1と、右手第2ベクトルV2とがなす角θ12に基づいて、右手第2ベクトルV2と右手第3ベクトルV3とがなす角θ23が等しくなり(θ12=θ23)、右手第2ベクトルV2のノルム|V2|と、右手第3ベクトルV3のノルム|V3|が等しくなり(|V2|=|V3|)、右手第1ベクトルV1、右手第2ベクトルV2、右手第3ベクトルV3が同一平面上のベクトルとなるよう、右手第3ベクトルV3の値を算出する。そして、位置座標算出部56が、胴体第3三次元位置座標(x3’,y3’,z3’)の位置ベクトルと、右手第3ベクトルV3とのベクトル和に基づいて、右手第3三次元位置座標(x3,y3,z3)を算出する。
【0056】
なお、S105に示す処理における右手第n三次元位置座標(xn,yn,zn)の算出方法は上述の方法に限定されない。例えば、位置座標算出部56は、第1三次元位置座標(x1,y1,z1)から第2三次元位置座標(x2,y2,z2)へのベクトル(x2−x1,y2−y1,z2−z1)と、第2三次元位置座標(x2,y2,z2)の位置ベクトルとのベクトル和に基づいて、第3三次元位置座標(x3,y3,z3)を算出するようにしても構わない((x3,y3,z3)=(2x2−x1,2y2−y1,2z2−z1))。
【0057】
また、位置座標算出部56は、例えば、右手第2三次元位置座標(x2,y2,z2)と、右手第4三次元位置座標(x4,y4,z4)とに基づいて、右手第3三次元位置座標(x3,y3,z3)を算出するようにしても構わない。より具体的には、例えば、右手第2三次元位置座標(x2,y2,z2)と右手第4三次元位置座標(x4,y4,z4)との中点を右手第3三次元位置座標(x3,y3,z3)として算出するようにしても構わない。
【0058】
このように、位置座標算出部56により、第n基礎データ40−nに基づいて、移動体に含まれる複数の要素のうちの欠落要素の位置座標が算出されない場合は(S104参照)、位置座標算出部56が、この欠落要素の位置座標を、基礎データ取得部50が取得する複数の基礎データ40のうちの、第n基礎データ40−nとは異なる基礎データ40に基づいて算出するようにしても構わない(S105参照)。また、位置座標算出部56が、欠落要素の三次元位置座標を、三次元位置座標の差分に基づいて算出するようにしても構わない。
【0059】
また、S104に示す処理において、右手第3三次元位置座標(x3,y3,z3)と、右手第4三次元位置座標(x4,y4,z4)とが算出されていないことが確認された場合は、S105に示す処理において、位置座標算出部56が、右手第2三次元位置座標(x2,y2,z2)と、右手第5三次元位置座標(x5,y5,z5)とに基づいて、右手第3三次元位置座標(x3,y3,z3)及び右手第4三次元位置座標(x4,y4,z4)を算出するようにしても構わない。このように、例えば、時刻t1から時刻t2にわたって欠落要素の位置座標が算出されない状態が継続する場合は、位置座標算出部56が、欠落要素の位置座標を、時刻t1より前において最後に算出される欠落要素の位置座標と、時刻t2後において最初に算出される欠落要素の位置座標と、に基づいて算出するようにしても構わない。
【0060】
S105に示す処理でも三次元位置座標が特定されない場合には、情報処理装置2の制御部21が、スピーカなどの、情報処理装置2のUI部24に対してアラーム音を出力するよう指示してもよい。また、携帯型ゲーム装置3がスピーカを備えている場合は、情報処理装置2の制御部21が、情報処理装置2の通信部23を介して、携帯型ゲーム装置3のスピーカにアラーム音を出力するよう指示してもよい。
【0061】
上記の処理例においては、右手第n三次元位置座標(xn,yn,zn)を算出する処理例を示したが、同様の方法により、右手要素60a以外の要素60の、三次元位置座標を算出することができるのはもちろんである。
【0062】
このように、本実施形態においては、携帯型ゲーム装置3の撮像部36により生成されるユーザ画像42と、携帯型ゲーム装置3の距離測定部37により生成される距離データ44とに基づいて、各フレームにおける移動体の三次元位置座標が算出される。そしてこの一連の三次元位置座標に基づいてモーションデータが生成されるので、移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間が軽減される。
【0063】
さらに、第n基礎データ40−nだけからでは、第n三次元位置座標が算出されず、他の基礎データ40から算出される位置座標に基づいて、第n三次元位置座標を算出する場合において、他の基礎データ40から算出される三次元の位置座標に関する情報を活用することができるので、算出される第n三次元位置座標の精度をより高めることができる。
【0064】
なお、本発明は上述の実施形態に限定されるものではない。
【0065】
例えば、図11に示すように、複数の携帯型ゲーム装置3(第1携帯型ゲーム装置3−1、及び、第2携帯型ゲーム装置3−2)の撮像部36が互いにタイミングを合わせて、被写体ユーザ46などの移動体を撮像し、第1携帯型ゲーム装置3−1の距離測定部37が、第1携帯型ゲーム装置3−1と被写体ユーザ46などの移動体との距離を測定し、第2携帯型ゲーム装置3−2の距離測定部37が、第2携帯型ゲーム装置3−2と被写体ユーザ46などの移動体との距離を測定するようにしても構わない。このとき、それぞれの携帯型ゲーム装置3から送信される基礎データ40の組合せに基づいて、位置座標算出部56が、三次元位置座標を算出するようにしても構わない。
【0066】
具体的には、例えば、まず、第1携帯型ゲーム装置3−1の撮像部36で予め被写体ユーザ46を撮像することにより生成されるユーザ画像42を第1携帯型ゲーム装置3−1の表示部34に表示する。そして、ユーザが、このユーザ画像42内のある要素60(例えば右手要素60a)の位置を、第1携帯型ゲーム装置3−1の操作部35により指定する。そして、第1携帯型ゲーム装置3−1の制御部31が、ユーザにより指定された位置を示すデータを取得する。そして、第2携帯型ゲーム装置3−2の撮像部36で予め被写体ユーザ46を撮像することにより生成されるユーザ画像42を第2携帯型ゲーム装置3−2の表示部34に表示する。そして、ユーザが、このユーザ画像42内の要素60(例えば右手要素60a)の位置を、第2携帯型ゲーム装置3−2の操作部35により指定する。そして、第2携帯型ゲーム装置3−2の制御部31が、ユーザにより指定された位置を示すデータを取得する。このようにして、それぞれの携帯型ゲーム装置3において、互いに対応する要素60の位置を予め指定した上で、被写体ユーザ46の動く様子をそれぞれの携帯型ゲーム装置3の撮像部36で撮像して、一連のユーザ画像42を生成し、それぞれの携帯型ゲーム装置3の距離測定部37が一連の距離データ44を生成する。そしてそれぞれの携帯型ゲーム装置3がユーザ画像42と距離データ44とを含む基礎データ40を生成し、情報処理装置2へ送信する。そして、情報処理装置2がそれぞれの携帯型ゲーム装置3から送信される基礎データ40を受信して、これらの基礎データ40の組合せに基づいて、位置座標算出部56が、三次元位置座標を算出する。
【0067】
こうすれば、例えば、一方の携帯型ゲーム装置3で生成されるユーザ画像42には表示されていない要素60が、他方の携帯型ゲーム装置3で生成されるユーザ画像42には表示されているような場合があるので、上述の処理例のS105に示すような、第n基礎データ40−nとは異なる基礎データ40を用いて第n三次元位置座標を算出する場面を減らすことができる。
【0068】
なお、それぞれの携帯型ゲーム装置3が、その携帯型ゲーム装置3が配置されている位置を示すデータを基礎データ40と併せて情報処理装置2へ送信するようにしても構わない。こうすれば、それぞれの携帯型ゲーム装置3の位置を示すデータに基づいて、各要素60の三次元位置座標を算出することができる。
【0069】
また、例えば、情報処理システム1が、携帯型ゲーム装置3の代わりに、撮像機能と距離測定機能を有するビデオカメラなどを含んでいても構わない。すなわち、携帯型ゲーム装置3の代わりとして、撮像機能と距離測定機能を有するビデオカメラを用いても構わない。
【0070】
また、上述の情報処理装置2と携帯型ゲーム装置3とが一つの筐体により実装されていても構わない。
【0071】
次に、このようにして生成されるモーションデータの活用例を以下に示す。
【0072】
例えば、生成されるモーションデータが情報処理装置2の通信部23からインターネットワークなどのネットワークを介して接続されているサーバ(図示せず)にアップロードされてもよい。その際に、ユーザが、モーションデータを使用しているゲームタイトルを示すデータ、モーションデータの作者を示すデータ、このモーションデータに基づいて生成されたCGのキャラクタを示すデータなどの属性データを関連付けてモーションデータを併せてアップロードできるようにしてもよい。そして、サーバでは、モーションデータと属性データとが関連付けられて記憶されるようにしても構わない。また、モーションデータは、既存のスクリプト言語で記述されたデータに変換された上で、サーバに記憶されるようにしてもよい。
【0073】
ユーザが、サーバに記憶されているモーションデータを、例えば、ブラウザなどで閲覧できるようにしてもよい。このとき、モーションデータが、カテゴリに分類されて表示されるようにしてもよい。また、モーションデータがアイコン化されていてもよい。具体的には、例えば、モーションデータが、ワイヤーフレームや、キャラクタなどの動きとしてブラウザで表現されるようにしてもよい。
【0074】
また、モーションデータをアップロードするユーザが、このモーションデータの公開対象となるユーザを設定して、設定されたユーザのみがモーションデータを閲覧することができるようにしてもよい。
【0075】
そして、閲覧の対象であるモーションデータが、モーションデータのネットワークストアへのハイパーリンクとなっており、ユーザがそのハイパーリンクをクリックすることにより、モーションデータを購入することができるようになっていてもよい。
【0076】
また、新たにサーバにアップロードされるモーションデータを、情報処理装置2が、ネットワークを介して逐次ダウンロードして、情報処理装置2の記憶部22にキャッシュするようにしてもよい。また、例えば、ゲームのセーブデータと共に、モーションデータが情報処理装置2の記憶部22に記憶されていても構わない。
【0077】
また、例えば、情報処理装置2が、サーバに記憶されている、人間がダンスをしている様子や人間がゴルフのスイングをしている様子が示されているモーションデータと、携帯型ゲーム装置3の撮像部36で撮像される一連のユーザ画像42に基づいて生成されるモーションデータとを比較して、それぞれのモーションデータの対応度に基づく点数を算出するようにしても構わない。
【図面の簡単な説明】
【0078】
【図1】本発明の一実施形態に係る情報処理システムのハードウェア構成の一例を示すハードウェア構成図である。
【図2】本発明の一実施形態に係る携帯型ゲーム装置の一例を示す斜視図である。
【図3】基礎データのデータ構造の一例を示す図である。
【図4A】第1ユーザ画像の一例を示す図である。
【図4B】第2ユーザ画像の一例を示す図である。
【図4C】第3ユーザ画像の一例を示す図である。
【図4D】第4ユーザ画像の一例を示す図である。
【図4E】第5ユーザ画像の一例を示す図である。
【図5】本発明の一実施形態に係る情報処理装置の機能の一例を示す機能ブロック図である。
【図6】第1ユーザ画像内の各要素の位置の一例を示す図である。
【図7】右手第1物体距離の一例を示す図である。
【図8】ワイヤーフレームモデルデータの一例を示す図である。
【図9】本発明の一実施形態に係る情報処理装置で行われる処理のフローの一例を示す図である。
【図10】第3三次元位置座標の算出方法の一例を示す図である。
【図11】複数の携帯型ゲーム装置の撮像部によりユーザを撮像する様子の一例を示す図である。
【符号の説明】
【0079】
1 情報処理システム、2 情報処理装置、21 制御部、22 記憶部、23 通信部、24 ユーザインタフェース(UI)部、3 携帯型ゲーム装置、30 筐体、31 制御部、32 記憶部、33 通信部、34 表示部、35 操作部、36 撮像部、37 距離測定部、40 基礎データ、42 ユーザ画像、44 距離データ、46 被写体ユーザ、48 地面、50 基礎データ取得部、52 画像内位置特定部、54 距離特定部、56 位置座標算出部、58 モーションデータ生成部、60 要素、60a 右手要素、60b 胴体要素、62 ワイヤーフレームモデルデータ。
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【0002】
ビデオカメラなどで撮像される人間などの移動体の動きを情報処理装置に取り込むモーションキャプチャに関する技術が知られている。例えば、ビデオカメラで移動体を撮像することにより生成される一連の画像に基づいて、その移動体の動きを示すモーションデータを生成する情報処理装置が存在する。このような情報処理装置のなかには、ユーザが、生成される画像内のいくつかの位置をマーキングし、それぞれのマークの前後関係を指定することで、移動体の立体的な動きをシミュレートしてモーションデータを生成することができるものが存在する。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来の情報処理装置では、移動体の立体的な動きをシミュレートしてモーションデータを生成する際に、ユーザが画像内の位置を指定する必要があり、手間がかかっていた。
【0004】
本発明は、上記課題に鑑みてなされたものであって、移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間を軽減することができる情報処理装置、情報処理方法、プログラム及び情報記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明に係る情報処理装置は、所定の移動体の動きを示すモーションデータを生成する情報処理装置であって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段と、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段と、前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段と、前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段と、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段と、を含むことを特徴とする。
【0006】
また、本発明に係る情報処理方法は、所定の移動体の動きを示すモーションデータを生成する情報処理方法であって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得ステップと、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定ステップと、前記画像内位置特定ステップにより特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定ステップと、前記画像内位置特定ステップにより特定される前記画像内の位置と、前記距離特定ステップにより特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出ステップと、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成ステップと、を含むことを特徴とする。
【0007】
また、本発明に係るプログラムは、所定の移動体の動きを示すモーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段、前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段、前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段として前記コンピュータを機能させることを特徴とする。
【0008】
また、上記のプログラムはコンピュータ読み取り可能な情報記憶媒体に格納することもできる。
【0009】
本発明によると、距離測定手段による測定結果に基づく距離データに基づいて、移動体の三次元空間内における位置座標が算出されるので、移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間を軽減することができる。
【0010】
本発明の一態様では、前記移動体が複数の要素を含み、前記画像内位置特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素が表示されている当該画像内の位置を特定し、前記距離特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素と前記撮像手段との距離を特定し、前記位置座標算出手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素の三次元空間内における位置座標を算出し、前記位置座標算出手段により、前記基礎データに基づいて前記移動体に含まれる複数の要素のうちの欠落要素の位置座標が算出されない場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記基礎データ取得手段が取得する複数の基礎データのうちの、当該基礎データとは異なる基礎データに基づいて算出することを特徴とする。こうすれば、基礎データからは三次元空間内における欠落要素の位置座標が算出されない場合に、基礎データ取得手段が取得する複数の基礎データのうちの、当該基礎データとは異なる基礎データに基づいて、この欠落要素の三次元空間内における位置座標を算出することができる。
【0011】
また、この態様では、前記位置座標算出手段により前記欠落要素の位置座標が算出されない状態が所定時間にわたり継続する場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記時間の前において最後に算出される当該欠落要素の位置座標と、前記時間の後において最初に算出される当該欠落要素の位置座標と、に基づいて算出してもよい。こうすれば、三次元空間内における欠落要素の位置座標の算出が所定時間にわたりできない場合に、三次元空間内におけるこれらの欠落要素の位置座標を、この所定時間の直前及び直後に算出される当該欠落要素の位置座標に基づいて算出することができる。
【0012】
また、この態様では、前記位置座標算出手段により前記欠落要素の位置座標が算出されない場合は、当該欠落要素の位置座標を、当該基礎データとは異なる複数の基礎データそれぞれに基づいて算出される当該欠落要素の位置座標の差分に基づいて算出してもよい。こうすれば、基礎データに基づいて三次元空間内における欠落要素の位置座標が算出されない場合に、この基礎データとは異なる複数の基礎データに基づいて算出される三次元空間内における欠落要素の位置座標の差分の情報を用いて、当該欠落要素の位置座標を算出することができる。
【0013】
また、本発明の一態様では、前記基礎データが、複数の撮像手段それぞれにより生成される画像と、前記各画像を撮像した撮像手段と当該画像に表示されている物体との距離を示す距離データと、を含み、前記画像内位置特定手段が、前記基礎データに含まれる複数の画像それぞれに基づいて、それぞれの画像内の前記移動体が表示されている位置を特定し、前記距離特定手段が、前記移動体と前記各撮像手段との距離を特定し、前記位置座標算出手段が、前記画像内位置特定手段により特定される複数の前記画像内の位置と、前記距離特定手段により特定される複数の前記距離と、に基づいて、前記位置座標を算出することを特徴とする。こうすれば、撮像手段により物体を撮像する際における死角が少なくなるので、基礎データに基づいて移動体の三次元空間内における位置座標が算出されない可能性を減らすことができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【0015】
図1は、本実施形態に係る情報処理システム1のハードウェア構成の一例を示す図である。図1に示すように、本実施形態に係る情報処理システム1は、情報処理装置2と、携帯型ゲーム装置3と、を含んでいる。そして、図2は、本実施形態に係る携帯型ゲーム装置3の一例を示す斜視図である。
【0016】
情報処理装置2は、制御部21、記憶部22、通信部23、ユーザインタフェース(UI)部24、を含んで構成される。制御部21、記憶部22、通信部23、UI部24、はバスを介して接続される。
【0017】
情報処理装置2の制御部21はCPU等のプログラム制御デバイスであり、情報処理装置2にインストールされるプログラムに従って動作する。
【0018】
情報処理装置2の記憶部22は、RAM等の記憶素子やハードディスクなどである。情報処理装置2の記憶部22には、情報処理装置2の制御部21によって実行されるプログラムなどが記憶される。また、情報処理装置2の記憶部22は、情報処理装置2の制御部21のワークメモリとしても動作する。
【0019】
情報処理装置2の通信部23は、例えば、ネットワークインタフェースなどであり、情報処理装置2の制御部21から入力される指示に従って、情報を送信する。また、この情報処理装置2の通信部23は、LANなどのネットワークを介して受信される情報を情報処理装置2の制御部21に出力する。
【0020】
情報処理装置2のUI部24は、ディスプレイ、マイク、スピーカ、ボタンなどであり、利用者が行った操作の内容や、利用者が入力した音声を制御部21に出力する。また、この情報処理装置2のUI部24は、情報処理装置2の制御部21から入力される指示に従って情報を表示出力したり音声出力したりする。
【0021】
図2に示すように、本実施形態に係る携帯型ゲーム装置3の筐体30の形状は、箱形である。そして、図1に示すように、本実施形態に係る携帯型ゲーム装置3は、制御部31、記憶部32、通信部33、表示部34、操作部35、撮像部36、距離測定部37、を備えている。
【0022】
携帯型ゲーム装置3の制御部31はCPU等のプログラム制御デバイスであり、携帯型ゲーム装置3の記憶部32に格納されたプログラムに従って動作する。
【0023】
携帯型ゲーム装置3の記憶部32は、RAM等の記憶素子やハードディスクなどである。携帯型ゲーム装置3の記憶部32には、携帯型ゲーム装置3の制御部31によって実行されるプログラムなどが格納される。具体的には、例えば、携帯型ゲーム装置3の制御部31で実行されるゲームプログラムが格納される。このゲームプログラムは、例えば、ディスク、CD−ROM、DVD−ROM等の情報伝達媒体を介して、あるいは、インターネット等の通信ネットワークを介して携帯型ゲーム装置3に供給される。また、携帯型ゲーム装置3の記憶部32は、携帯型ゲーム装置3の制御部31のワークメモリとしても動作する。
【0024】
携帯型ゲーム装置3の通信部33は、例えば、ネットワークインタフェースなど(具体的には、例えば、無線LANモジュール)であり、携帯型ゲーム装置3の制御部31から入力される指示に従って、情報処理装置2などへ情報を送信する。また、この携帯型ゲーム装置3の通信部33は、受信される情報を携帯型ゲーム装置3の制御部31に出力する。
【0025】
本実施形態においては、情報処理装置2の通信部23、及び、携帯型ゲーム装置3の通信部33は、LANなどのネットワークに接続されており互いに通信することができるようになっている。なお、ネットワークは有線であっても無線であっても構わない。
【0026】
携帯型ゲーム装置3の表示部34は、例えば液晶ディスプレイ等であり、携帯型ゲーム装置3の制御部31からの指示に従って、画像の表示を行う。本実施形態では、携帯型ゲーム装置3の表示部34は、携帯型ゲーム装置3の筐体30の正面中央部に設けられている。ここで、携帯型ゲーム装置3の制御部31は、携帯型ゲーム装置3の表示部34に、表示される画像の解像度やアスペクト比などといった属性を併せて指示してもよい。また、携帯型ゲーム装置3の制御部31は、実行するプログラムに含まれる、画像の解像度やアスペクト比などといった属性を示す属性情報の内容に従って携帯型ゲーム装置3の表示部34に表示される画像の属性を指示してもよい。
【0027】
携帯型ゲーム装置3の操作部35は、例えば、操作部材(具体的には、例えば、十字キーやボタン)であり、当該操作部材に対する操作に応じた出力データを携帯型ゲーム装置3の制御部31に対して出力する。携帯型ゲーム装置3の制御部31は、この出力データを取得することで、当該出力データを用いてプレイヤの操作部材に対する操作に応じた処理を実行する。本実施形態では、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の表示部34の左右に設けられている。すなわち、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の筐体30の正面左側及び正面右側に分かれて配置されている。
【0028】
携帯型ゲーム装置3の撮像部36は、例えば、公知のデジタルカメラを含んで構成され、所定時間(例えば1/60秒)ごとに、白黒、グレイスケール又はカラーの画像(例えば、JPEG形式の画像)を生成する。なお、携帯型ゲーム装置3の撮像部36は、標準カメラであっても、望遠カメラであっても、広角カメラであっても構わない。本実施形態では、携帯型ゲーム装置3の撮像部36は、携帯型ゲーム装置3の表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の撮像部36は、筐体30の正面中央付近上側に設けられている。
【0029】
携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3と、その外部に存在する外部物体との距離を測定する。携帯型ゲーム装置3の距離測定部37は、例えば、携帯型ゲーム装置3の撮像部36と、外部物体(より具体的には、例えば、外部物体の表面)との距離(以下、物体距離と呼ぶ。)を測定し、物体距離を示す距離データ44を生成する(図3参照)。なお、距離データ44の詳細については後述する。
【0030】
本実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36によって生成される画像に含まれる各画素と、各画素に対応する物体距離とを対応づけた距離データ44を生成する。すなわち、本実施形態では、携帯型ゲーム装置3の撮像部36によって生成される画像内の画素の位置と、携帯型ゲーム装置3の距離測定部37で測定される物体距離とは一対一で対応づけられる。
【0031】
携帯型ゲーム装置3の距離測定部37は、具体的には、例えば、複数のレンズから構成されるステレオカメラであり、それぞれのレンズの視差に基づいて、外部物体と携帯型ゲーム装置3との距離を測定する。携帯型ゲーム装置3の距離測定部37は、ステレオカメラにはもちろん限定されず、携帯型ゲーム装置3の距離測定部37は、赤外線を出力して、その赤外線が撮像対象オブジェクトに反射して戻ってくるまでの時間を測定して、その測定された時間に基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。また、携帯型ゲーム装置3の距離測定部37が、焦点距離の異なる複数のレンズから構成され、これらのレンズのうち、外部物体に対してピントが合ったレンズに基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。なお、本実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36と一体的に形成されており、表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の距離測定部37は、正面中央付近上側に設けられている。
【0032】
本実施形態では、携帯型ゲーム装置3は、基礎データ40を生成し、情報処理装置2に送信する(図3参照)。図3は、基礎データ40のデータ構造の一例を示す図である。図3に示すように、基礎データ40は、ユーザ画像42と距離データ44とを含んでいる。
【0033】
本実施形態では、携帯型ゲーム装置3の撮像部36が、所定時間(例えば1/60秒)ごとに、被写体ユーザ46の動く様子を撮像し、一連のユーザ画像42を生成する(図4A〜図4E参照)。ここで、被写体ユーザ46は移動体の一例として示しているにすぎない。撮像部36が、被写体ユーザ46以外の移動体が動く様子を撮像して、その移動体の画像を生成するようにしても構わない。
【0034】
本実施形態では、具体的には、例えば、撮像部36が、被写体ユーザ46を撮像し、順次第nユーザ画像42−n(n=1,2,3・・・)を生成する。図4Aに第1ユーザ画像42−1の一例を、図4Bに第2ユーザ画像42−2の一例を、図4Cに第3ユーザ画像42−3の一例を、図4Dに第4ユーザ画像42−4の一例を、図4Eに第5ユーザ画像42−5の一例を示す。そして、図4A〜図4Eに示すように、本実施形態に係るユーザ画像42には、被写体ユーザ46だけではなく、地面48も表示されている。すなわち、撮像部36により生成される画像には、被写体ユーザ46などの移動体を含む少なくとも1つの物体が表示されている。また、携帯型ゲーム装置3の距離測定部37は、被写体ユーザ46と携帯型ゲーム装置3との距離を順次測定し、第nユーザ画像42−n内の各画素に対応する物体距離を対応づけた第n距離データ44−nを生成する。そして、携帯型ゲーム装置3の制御部31が、第nユーザ画像42−nと、そのユーザ画像42に対応する第n距離データ44−nと、を含む第n基礎データ40−nを生成する。
【0035】
そして、携帯型ゲーム装置3の通信部33が基礎データ40を情報処理装置2に送信する。そして、情報処理装置2の通信部23がこの基礎データ40を受信する。
【0036】
次に、本実施形態に係る情報処理装置2により実現される機能を説明する。図5は、本実施形態に係る情報処理装置2の機能ブロック図である。図5に示すように、本実施形態に係る情報処理装置2は、機能的には、基礎データ取得部50、画像内位置特定部52、距離特定部54、位置座標算出部56、モーションデータ生成部58を含むものとして機能する。これらの要素は、コンピュータである情報処理装置2にインストールされたプログラムを、情報処理装置2に含まれるCPU等の制御部21で実行することにより実現されている。なお、このプログラムは、例えば、CD−ROM、DVD−ROMなどのコンピュータ可読な情報伝達媒体を介して、あるいは、インターネットなどの通信ネットワークを介して情報処理装置2に供給される。
【0037】
基礎データ取得部50は、画像と距離データ44とを含む基礎データ40を複数取得する。本実施形態では、基礎データ取得部50は、携帯型ゲーム装置3の通信部33が送信して、情報処理装置2の通信部23が受信する、ユーザ画像42と距離データ44とを含む基礎データ40を順次取得する。
【0038】
画像内位置特定部52は、基礎データ40に含まれる画像(本実施形態ではユーザ画像42)に基づいて、所定の移動体(本実施形態では被写体ユーザ46)が表示されている、画像(本実施形態ではユーザ画像42)内の位置を特定する。
【0039】
本実施形態では、被写体ユーザ46は複数の要素60を含んでいる(図6参照)。本実施形態では、各要素60は、例えば、頭、胴体、左ひざ、右ひざ、左足、右足、左手、右手などといった被写体ユーザ46の体の部位に対応している。そして、画像内位置特定部52は、例えば、パターン認識技術を用いて、各要素60の、ユーザ画像42内の位置を特定する。図6は、画像内位置特定部52により特定された、第1ユーザ画像42−1内の、右手を示す右手要素60a及び胴体を示す胴体要素60bを含む各要素60の位置の一例を示す図である。
【0040】
ここで、画像内位置特定部52は、ユーザ画像42内の各画素の色に基づいて、各要素60の位置を特定するようにしても、もちろん構わない。また、画像内位置特定部52は、既存の光学式モーションキャプチャ技術などを利用して、各要素60の、ユーザ画像42内の位置を特定しても構わない。
【0041】
なお、画像内位置特定部52が、情報処理装置2の記憶部22に予め記憶されている、被写体ユーザ46に含まれる要素60、及び、その各要素60のユーザ画像42内における位置を特定する方法を示す特定方法データを用いて、各要素の位置座標を特定するようにしても構わない。
【0042】
画像内位置特定部52は、各要素60を代表する代表点(例えば、各要素60が表示されている領域の重心)の位置座標を特定するようにしても構わない。本実施形態では、画像内位置特定部52は、第nユーザ画像42−n内において右手要素60aが表示されている領域の重心(右手重心)の位置座標(右手第n画像内位置座標)(Xn,Yn)を特定する。図6に、画像内位置特定部52により特定された右手第1画像内位置座標(X1,Y1)を併せて示す。ここで、右手第n画像内位置座標(Xn,Yn)は、第nユーザ画像42−nの左上の点を原点とし、下方向をX軸、右方向をY軸とする二次元座標系における位置座標で表現されている。なお、画像内位置座標の表現方法は上述の方法にもちろん限定されない。
【0043】
距離特定部54は、画像内位置特定部52により特定される画像内の位置と、その画像を含む基礎データ40に含まれる距離データ44と、に基づいて、移動体と携帯型ゲーム装置3の撮像部36との距離を特定する。本実施形態では、距離特定部54は、ユーザ画像42を含む基礎データ40に含まれる距離データ44が示す、ユーザ画像42内の各要素60の代表点の位置座標に対応づけられた物体距離を特定する。具体的には、例えば、右手第n画像内位置座標(Xn,Yn)の画素に対応づけられる、第n距離データ44−nが示す物体距離を、右手第n物体距離Znとして特定する。図7に、右手第1物体距離Z1の一例を示す図を示す。なお、距離特定部54は、上述とは異なる方法により物体距離を特定しても構わない。具体的には、例えば、第nユーザ画像42−n内において右手要素60aが表示されている領域内の各画素に対応づけられる物体距離の平均値を、右手第n物体距離Znとして特定してもよい。
【0044】
位置座標算出部56は、画像内位置特定部52により特定される画像内の位置と、距離特定部54により特定される距離と、に基づいて、移動体の三次元空間内における位置座標を算出する。本実施形態では、位置座標算出部56は、第nユーザ画像42−n内の各要素60の代表点の位置座標と、距離特定部54により、第n距離データ44−nに基づいて特定される、その位置座標に対応づけられた物体距離と、に基づいて、その代表点の第n三次元位置座標を算出する。より具体的には、例えば、位置座標算出部56は、右手第n画像内位置座標(Xn,Yn)と、右手第n物体距離Znとに基づいて、右手第n三次元位置座標(xn,yn,zn)を算出する(図8参照)。なお、位置座標算出部56は、同様の方法により、胴体第n三次元位置座標(xn’,yn’,zn’)を算出しても構わない。なお、本実施形態では直交座標系により、三次元位置座標が表現されているが、極座標系など他の座標系により、三次元位置座標が表現されてももちろん構わない。
【0045】
モーションデータ生成部58は、各基礎データ40に基づいて算出される位置座標に基づいて、移動体の三次元空間内における動きを示すモーションデータを生成する。本実施形態では、各基礎データ40に基づいて算出される、被写体ユーザ46に含まれる各要素60の代表点の三次元位置座標に基づいて、被写体ユーザ46の三次元空間内における動きを示すモーションデータを生成する。より具体的には、例えば、右手第1三次元位置座標(x1,y1,z1)、右手第2三次元位置座標(x2,y2,z2)などの、一連の右手第n三次元位置座標(xn,yn,zn)を組み合わせて、右手の三次元空間内における動きを示すモーションデータを生成する。
【0046】
なお、モーションデータ生成部58が、例えば、情報処理装置2の記憶部22に予め記憶されている、要素60間の接続関係を示す接続関係データを用いて、図8に示すような、被写体ユーザ46のワイヤーフレームモデルデータ62を生成するようにしても構わない。このように、各要素の動きを示すモーションデータを組み合わせることで、例えば、人間が歩く様子を示すモーションデータが生成される。
【0047】
本実施形態では、一連の三次元位置座標に基づいてモーションデータが生成される。そのため、本実施形態に係る情報処理装置2によれば、移動体の立体的な動きがシミュレートされたモーションデータを生成することができる。
【0048】
次に、本実施形態に係る情報処理装置2の基礎データ取得部50が取得する第n基礎データ40−nに基づいて、被写体ユーザ46に含まれる右手要素60aの三次元空間内における第n三次元位置座標(xn,yn,zn)を算出する処理の流れの一例を、図9に示すフロー図を参照しながら説明する。
【0049】
まず、画像内位置特定部52が、第n基礎データ40−nに含まれる第nユーザ画像42−nに基づいて、右手第n画像内位置座標(Xn,Yn)を特定する(S101)。
【0050】
そして、距離特定部54が、右手第n画像内位置座標(Xn,Yn)に対応する、基礎データ40に含まれる距離データ44に示される右手第n物体距離Znを特定する(S102)。
【0051】
そして、位置座標算出部56が、右手第n画像内位置座標(Xn,Yn)と、右手第n物体距離Znと、に基づいて、右手第n三次元位置座標(xn,yn,zn)を算出する(S103)。
【0052】
そして、位置座標算出部56は、S103に示す処理により、右手第n三次元位置座標(xn,yn,zn)が算出されたか否かを確認する(S104)。ここで、右手第n三次元位置座標(xn,yn,zn)が算出されている場合は(S104:Y)、この処理を終了する。
【0053】
ここで、例えば、画像内位置特定部52が、第nユーザ画像42−nに基づいて右手第n画像内位置座標(Xn,Yn)を特定できない場合がある。より具体的には、例えば、図4Cに示すように、右手要素60aが被写体ユーザ46の陰に隠れているために、画像内位置特定部52が、第nユーザ画像42−3に基づいて、右手第3画像内位置座標(X3,Y3)を特定できない場合がある。また、距離特定部54が、第n距離データ44−nに基づいて、右手第n物体距離Znを特定できない場合がある。このような場合は、S104に示す処理において、第n基礎データ40−nに基づいて、右手第n三次元位置座標(xn,yn,zn)が算出されない。
【0054】
このように、S104に示す処理において、第n基礎データ40−nに基づいて、右手第n三次元位置座標(xn,yn,zn)が算出されていない場合は(S104:N)、この右手要素60aについては、位置座標算出部56が、基礎データ取得部50が取得する複数の基礎データ40のうち、第n基礎データ40−nとは異なる基礎データ40に基づいて、三次元位置座標を算出する(S105)。
【0055】
具体的には、例えば、位置座標算出部56が、胴体を示す要素60(胴体要素60b)の三次元位置座標(胴体第n三次元位置座標(xn’,yn’,zn’))から右手第n三次元位置座標(xn,yn,zn)へのベクトルVnを用いて、S104に示す処理により算出されていない右手要素60aの第n三次元位置座標(xn,yn,zn)を算出するようにしてもよい。図10に、位置座標算出部56が、ベクトルVnを用いて第3三次元位置座標(x3,y3,z3)を算出する方法の一例を示す。例えば、位置座標算出部56が、まず、右手第1ベクトルV1と、右手第2ベクトルV2とがなす角θ12に基づいて、右手第2ベクトルV2と右手第3ベクトルV3とがなす角θ23が等しくなり(θ12=θ23)、右手第2ベクトルV2のノルム|V2|と、右手第3ベクトルV3のノルム|V3|が等しくなり(|V2|=|V3|)、右手第1ベクトルV1、右手第2ベクトルV2、右手第3ベクトルV3が同一平面上のベクトルとなるよう、右手第3ベクトルV3の値を算出する。そして、位置座標算出部56が、胴体第3三次元位置座標(x3’,y3’,z3’)の位置ベクトルと、右手第3ベクトルV3とのベクトル和に基づいて、右手第3三次元位置座標(x3,y3,z3)を算出する。
【0056】
なお、S105に示す処理における右手第n三次元位置座標(xn,yn,zn)の算出方法は上述の方法に限定されない。例えば、位置座標算出部56は、第1三次元位置座標(x1,y1,z1)から第2三次元位置座標(x2,y2,z2)へのベクトル(x2−x1,y2−y1,z2−z1)と、第2三次元位置座標(x2,y2,z2)の位置ベクトルとのベクトル和に基づいて、第3三次元位置座標(x3,y3,z3)を算出するようにしても構わない((x3,y3,z3)=(2x2−x1,2y2−y1,2z2−z1))。
【0057】
また、位置座標算出部56は、例えば、右手第2三次元位置座標(x2,y2,z2)と、右手第4三次元位置座標(x4,y4,z4)とに基づいて、右手第3三次元位置座標(x3,y3,z3)を算出するようにしても構わない。より具体的には、例えば、右手第2三次元位置座標(x2,y2,z2)と右手第4三次元位置座標(x4,y4,z4)との中点を右手第3三次元位置座標(x3,y3,z3)として算出するようにしても構わない。
【0058】
このように、位置座標算出部56により、第n基礎データ40−nに基づいて、移動体に含まれる複数の要素のうちの欠落要素の位置座標が算出されない場合は(S104参照)、位置座標算出部56が、この欠落要素の位置座標を、基礎データ取得部50が取得する複数の基礎データ40のうちの、第n基礎データ40−nとは異なる基礎データ40に基づいて算出するようにしても構わない(S105参照)。また、位置座標算出部56が、欠落要素の三次元位置座標を、三次元位置座標の差分に基づいて算出するようにしても構わない。
【0059】
また、S104に示す処理において、右手第3三次元位置座標(x3,y3,z3)と、右手第4三次元位置座標(x4,y4,z4)とが算出されていないことが確認された場合は、S105に示す処理において、位置座標算出部56が、右手第2三次元位置座標(x2,y2,z2)と、右手第5三次元位置座標(x5,y5,z5)とに基づいて、右手第3三次元位置座標(x3,y3,z3)及び右手第4三次元位置座標(x4,y4,z4)を算出するようにしても構わない。このように、例えば、時刻t1から時刻t2にわたって欠落要素の位置座標が算出されない状態が継続する場合は、位置座標算出部56が、欠落要素の位置座標を、時刻t1より前において最後に算出される欠落要素の位置座標と、時刻t2後において最初に算出される欠落要素の位置座標と、に基づいて算出するようにしても構わない。
【0060】
S105に示す処理でも三次元位置座標が特定されない場合には、情報処理装置2の制御部21が、スピーカなどの、情報処理装置2のUI部24に対してアラーム音を出力するよう指示してもよい。また、携帯型ゲーム装置3がスピーカを備えている場合は、情報処理装置2の制御部21が、情報処理装置2の通信部23を介して、携帯型ゲーム装置3のスピーカにアラーム音を出力するよう指示してもよい。
【0061】
上記の処理例においては、右手第n三次元位置座標(xn,yn,zn)を算出する処理例を示したが、同様の方法により、右手要素60a以外の要素60の、三次元位置座標を算出することができるのはもちろんである。
【0062】
このように、本実施形態においては、携帯型ゲーム装置3の撮像部36により生成されるユーザ画像42と、携帯型ゲーム装置3の距離測定部37により生成される距離データ44とに基づいて、各フレームにおける移動体の三次元位置座標が算出される。そしてこの一連の三次元位置座標に基づいてモーションデータが生成されるので、移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間が軽減される。
【0063】
さらに、第n基礎データ40−nだけからでは、第n三次元位置座標が算出されず、他の基礎データ40から算出される位置座標に基づいて、第n三次元位置座標を算出する場合において、他の基礎データ40から算出される三次元の位置座標に関する情報を活用することができるので、算出される第n三次元位置座標の精度をより高めることができる。
【0064】
なお、本発明は上述の実施形態に限定されるものではない。
【0065】
例えば、図11に示すように、複数の携帯型ゲーム装置3(第1携帯型ゲーム装置3−1、及び、第2携帯型ゲーム装置3−2)の撮像部36が互いにタイミングを合わせて、被写体ユーザ46などの移動体を撮像し、第1携帯型ゲーム装置3−1の距離測定部37が、第1携帯型ゲーム装置3−1と被写体ユーザ46などの移動体との距離を測定し、第2携帯型ゲーム装置3−2の距離測定部37が、第2携帯型ゲーム装置3−2と被写体ユーザ46などの移動体との距離を測定するようにしても構わない。このとき、それぞれの携帯型ゲーム装置3から送信される基礎データ40の組合せに基づいて、位置座標算出部56が、三次元位置座標を算出するようにしても構わない。
【0066】
具体的には、例えば、まず、第1携帯型ゲーム装置3−1の撮像部36で予め被写体ユーザ46を撮像することにより生成されるユーザ画像42を第1携帯型ゲーム装置3−1の表示部34に表示する。そして、ユーザが、このユーザ画像42内のある要素60(例えば右手要素60a)の位置を、第1携帯型ゲーム装置3−1の操作部35により指定する。そして、第1携帯型ゲーム装置3−1の制御部31が、ユーザにより指定された位置を示すデータを取得する。そして、第2携帯型ゲーム装置3−2の撮像部36で予め被写体ユーザ46を撮像することにより生成されるユーザ画像42を第2携帯型ゲーム装置3−2の表示部34に表示する。そして、ユーザが、このユーザ画像42内の要素60(例えば右手要素60a)の位置を、第2携帯型ゲーム装置3−2の操作部35により指定する。そして、第2携帯型ゲーム装置3−2の制御部31が、ユーザにより指定された位置を示すデータを取得する。このようにして、それぞれの携帯型ゲーム装置3において、互いに対応する要素60の位置を予め指定した上で、被写体ユーザ46の動く様子をそれぞれの携帯型ゲーム装置3の撮像部36で撮像して、一連のユーザ画像42を生成し、それぞれの携帯型ゲーム装置3の距離測定部37が一連の距離データ44を生成する。そしてそれぞれの携帯型ゲーム装置3がユーザ画像42と距離データ44とを含む基礎データ40を生成し、情報処理装置2へ送信する。そして、情報処理装置2がそれぞれの携帯型ゲーム装置3から送信される基礎データ40を受信して、これらの基礎データ40の組合せに基づいて、位置座標算出部56が、三次元位置座標を算出する。
【0067】
こうすれば、例えば、一方の携帯型ゲーム装置3で生成されるユーザ画像42には表示されていない要素60が、他方の携帯型ゲーム装置3で生成されるユーザ画像42には表示されているような場合があるので、上述の処理例のS105に示すような、第n基礎データ40−nとは異なる基礎データ40を用いて第n三次元位置座標を算出する場面を減らすことができる。
【0068】
なお、それぞれの携帯型ゲーム装置3が、その携帯型ゲーム装置3が配置されている位置を示すデータを基礎データ40と併せて情報処理装置2へ送信するようにしても構わない。こうすれば、それぞれの携帯型ゲーム装置3の位置を示すデータに基づいて、各要素60の三次元位置座標を算出することができる。
【0069】
また、例えば、情報処理システム1が、携帯型ゲーム装置3の代わりに、撮像機能と距離測定機能を有するビデオカメラなどを含んでいても構わない。すなわち、携帯型ゲーム装置3の代わりとして、撮像機能と距離測定機能を有するビデオカメラを用いても構わない。
【0070】
また、上述の情報処理装置2と携帯型ゲーム装置3とが一つの筐体により実装されていても構わない。
【0071】
次に、このようにして生成されるモーションデータの活用例を以下に示す。
【0072】
例えば、生成されるモーションデータが情報処理装置2の通信部23からインターネットワークなどのネットワークを介して接続されているサーバ(図示せず)にアップロードされてもよい。その際に、ユーザが、モーションデータを使用しているゲームタイトルを示すデータ、モーションデータの作者を示すデータ、このモーションデータに基づいて生成されたCGのキャラクタを示すデータなどの属性データを関連付けてモーションデータを併せてアップロードできるようにしてもよい。そして、サーバでは、モーションデータと属性データとが関連付けられて記憶されるようにしても構わない。また、モーションデータは、既存のスクリプト言語で記述されたデータに変換された上で、サーバに記憶されるようにしてもよい。
【0073】
ユーザが、サーバに記憶されているモーションデータを、例えば、ブラウザなどで閲覧できるようにしてもよい。このとき、モーションデータが、カテゴリに分類されて表示されるようにしてもよい。また、モーションデータがアイコン化されていてもよい。具体的には、例えば、モーションデータが、ワイヤーフレームや、キャラクタなどの動きとしてブラウザで表現されるようにしてもよい。
【0074】
また、モーションデータをアップロードするユーザが、このモーションデータの公開対象となるユーザを設定して、設定されたユーザのみがモーションデータを閲覧することができるようにしてもよい。
【0075】
そして、閲覧の対象であるモーションデータが、モーションデータのネットワークストアへのハイパーリンクとなっており、ユーザがそのハイパーリンクをクリックすることにより、モーションデータを購入することができるようになっていてもよい。
【0076】
また、新たにサーバにアップロードされるモーションデータを、情報処理装置2が、ネットワークを介して逐次ダウンロードして、情報処理装置2の記憶部22にキャッシュするようにしてもよい。また、例えば、ゲームのセーブデータと共に、モーションデータが情報処理装置2の記憶部22に記憶されていても構わない。
【0077】
また、例えば、情報処理装置2が、サーバに記憶されている、人間がダンスをしている様子や人間がゴルフのスイングをしている様子が示されているモーションデータと、携帯型ゲーム装置3の撮像部36で撮像される一連のユーザ画像42に基づいて生成されるモーションデータとを比較して、それぞれのモーションデータの対応度に基づく点数を算出するようにしても構わない。
【図面の簡単な説明】
【0078】
【図1】本発明の一実施形態に係る情報処理システムのハードウェア構成の一例を示すハードウェア構成図である。
【図2】本発明の一実施形態に係る携帯型ゲーム装置の一例を示す斜視図である。
【図3】基礎データのデータ構造の一例を示す図である。
【図4A】第1ユーザ画像の一例を示す図である。
【図4B】第2ユーザ画像の一例を示す図である。
【図4C】第3ユーザ画像の一例を示す図である。
【図4D】第4ユーザ画像の一例を示す図である。
【図4E】第5ユーザ画像の一例を示す図である。
【図5】本発明の一実施形態に係る情報処理装置の機能の一例を示す機能ブロック図である。
【図6】第1ユーザ画像内の各要素の位置の一例を示す図である。
【図7】右手第1物体距離の一例を示す図である。
【図8】ワイヤーフレームモデルデータの一例を示す図である。
【図9】本発明の一実施形態に係る情報処理装置で行われる処理のフローの一例を示す図である。
【図10】第3三次元位置座標の算出方法の一例を示す図である。
【図11】複数の携帯型ゲーム装置の撮像部によりユーザを撮像する様子の一例を示す図である。
【符号の説明】
【0079】
1 情報処理システム、2 情報処理装置、21 制御部、22 記憶部、23 通信部、24 ユーザインタフェース(UI)部、3 携帯型ゲーム装置、30 筐体、31 制御部、32 記憶部、33 通信部、34 表示部、35 操作部、36 撮像部、37 距離測定部、40 基礎データ、42 ユーザ画像、44 距離データ、46 被写体ユーザ、48 地面、50 基礎データ取得部、52 画像内位置特定部、54 距離特定部、56 位置座標算出部、58 モーションデータ生成部、60 要素、60a 右手要素、60b 胴体要素、62 ワイヤーフレームモデルデータ。
【特許請求の範囲】
【請求項1】
所定の移動体の動きを示すモーションデータを生成する情報処理装置であって、
前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段と、
前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段と、
前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段と、
前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段と、
前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段と、
を含むことを特徴とする情報処理装置。
【請求項2】
前記移動体が複数の要素を含み、
前記画像内位置特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素が表示されている当該画像内の位置を特定し、
前記距離特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素と前記撮像手段との距離を特定し、
前記位置座標算出手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素の三次元空間内における位置座標を算出し、
前記位置座標算出手段により、前記基礎データに基づいて前記移動体に含まれる複数の要素のうちの欠落要素の位置座標が算出されない場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記基礎データ取得手段が取得する複数の基礎データのうちの、当該基礎データとは異なる基礎データに基づいて算出する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記位置座標算出手段により前記欠落要素の位置座標が算出されない状態が所定時間にわたり継続する場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記時間の前において最後に算出される当該欠落要素の位置座標と、前記時間の後において最初に算出される当該欠落要素の位置座標と、に基づいて算出する、
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記位置座標算出手段により前記欠落要素の位置座標が算出されない場合は、当該欠落要素の位置座標を、当該基礎データとは異なる複数の基礎データそれぞれに基づいて算出される当該欠落要素の位置座標の差分に基づいて算出する、
ことを特徴とする請求項2又は3に記載の情報処理装置。
【請求項5】
前記基礎データが、複数の撮像手段それぞれにより生成される画像と、前記各画像を撮像した撮像手段と当該画像に表示されている物体との距離を示す距離データと、を含み、
前記画像内位置特定手段が、前記基礎データに含まれる複数の画像それぞれに基づいて、それぞれの画像内の前記移動体が表示されている位置を特定し、
前記距離特定手段が、前記移動体と前記各撮像手段との距離を特定し、
前記位置座標算出手段が、前記画像内位置特定手段により特定される複数の前記画像内の位置と、前記距離特定手段により特定される複数の前記距離と、に基づいて、前記位置座標を算出する、
ことを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
【請求項6】
所定の移動体の動きを示すモーションデータを生成する情報処理方法であって、
前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得ステップと、
前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定ステップと、
前記画像内位置特定ステップにより特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定ステップと、
前記画像内位置特定ステップにより特定される前記画像内の位置と、前記距離特定ステップにより特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出ステップと、
前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成ステップと、
を含むことを特徴とする情報処理方法。
【請求項7】
所定の移動体の動きを示すモーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、
前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段、
前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段、
前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段、
前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段、
前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段、
として前記コンピュータを機能させることを特徴とするプログラム。
【請求項8】
請求項7に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項1】
所定の移動体の動きを示すモーションデータを生成する情報処理装置であって、
前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段と、
前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段と、
前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段と、
前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段と、
前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段と、
を含むことを特徴とする情報処理装置。
【請求項2】
前記移動体が複数の要素を含み、
前記画像内位置特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素が表示されている当該画像内の位置を特定し、
前記距離特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素と前記撮像手段との距離を特定し、
前記位置座標算出手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素の三次元空間内における位置座標を算出し、
前記位置座標算出手段により、前記基礎データに基づいて前記移動体に含まれる複数の要素のうちの欠落要素の位置座標が算出されない場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記基礎データ取得手段が取得する複数の基礎データのうちの、当該基礎データとは異なる基礎データに基づいて算出する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記位置座標算出手段により前記欠落要素の位置座標が算出されない状態が所定時間にわたり継続する場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記時間の前において最後に算出される当該欠落要素の位置座標と、前記時間の後において最初に算出される当該欠落要素の位置座標と、に基づいて算出する、
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記位置座標算出手段により前記欠落要素の位置座標が算出されない場合は、当該欠落要素の位置座標を、当該基礎データとは異なる複数の基礎データそれぞれに基づいて算出される当該欠落要素の位置座標の差分に基づいて算出する、
ことを特徴とする請求項2又は3に記載の情報処理装置。
【請求項5】
前記基礎データが、複数の撮像手段それぞれにより生成される画像と、前記各画像を撮像した撮像手段と当該画像に表示されている物体との距離を示す距離データと、を含み、
前記画像内位置特定手段が、前記基礎データに含まれる複数の画像それぞれに基づいて、それぞれの画像内の前記移動体が表示されている位置を特定し、
前記距離特定手段が、前記移動体と前記各撮像手段との距離を特定し、
前記位置座標算出手段が、前記画像内位置特定手段により特定される複数の前記画像内の位置と、前記距離特定手段により特定される複数の前記距離と、に基づいて、前記位置座標を算出する、
ことを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
【請求項6】
所定の移動体の動きを示すモーションデータを生成する情報処理方法であって、
前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得ステップと、
前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定ステップと、
前記画像内位置特定ステップにより特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定ステップと、
前記画像内位置特定ステップにより特定される前記画像内の位置と、前記距離特定ステップにより特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出ステップと、
前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成ステップと、
を含むことを特徴とする情報処理方法。
【請求項7】
所定の移動体の動きを示すモーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、
前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段、
前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段、
前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段、
前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段、
前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段、
として前記コンピュータを機能させることを特徴とするプログラム。
【請求項8】
請求項7に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図4C】
【図4D】
【図4E】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4A】
【図4B】
【図4C】
【図4D】
【図4E】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−85322(P2010−85322A)
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願番号】特願2008−256597(P2008−256597)
【出願日】平成20年10月1日(2008.10.1)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願日】平成20年10月1日(2008.10.1)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]