情報処理装置、方法およびプログラム
【課題】ユーザがあたかも仮想空間の世界に入り込み、仮想空間内のキャラクタと一緒に動作しているような画像の提供。
【解決手段】 出力用画像作成手段31は、操作判定手段16の操作判定結果に応じてユーザ被写体の位置を推測し(S3)、カメラ200から受信した画像からユーザ被写体の全部または一部を含む部分画像を抽出する(S4)。また、出力用画像作成手段20は、操作判定手段16の操作判定から、操作部5の振り回し動作の検出時のボールオブジェクトおよびバットオブジェクトの位置を決定する(S5)。さらに、出力用画像作成手段20は、決定したキャラクタおよびバットオブジェクトの位置に従い、出力用基礎背景画像に、ボールオブジェクトおよびバットオブジェクトを合成し、出力用画像を作成する(S7)。
【解決手段】 出力用画像作成手段31は、操作判定手段16の操作判定結果に応じてユーザ被写体の位置を推測し(S3)、カメラ200から受信した画像からユーザ被写体の全部または一部を含む部分画像を抽出する(S4)。また、出力用画像作成手段20は、操作判定手段16の操作判定から、操作部5の振り回し動作の検出時のボールオブジェクトおよびバットオブジェクトの位置を決定する(S5)。さらに、出力用画像作成手段20は、決定したキャラクタおよびバットオブジェクトの位置に従い、出力用基礎背景画像に、ボールオブジェクトおよびバットオブジェクトを合成し、出力用画像を作成する(S7)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの動作に応じて各種情報処理を行う装置、方法およびプログラムに関する。
【背景技術】
【0002】
特許文献1、特許文献2では、ゲームの成績などをユーザの顔写真付きでプリントする。特許文献3は、映像オブジェクトの軌跡画像合成装置に関し、ゴルフ中継などにおいてボールの軌跡を映像に合成する。
【0003】
その他、本願発明に関係する先行技術としては、特許文献4〜7が挙げられる。特許文献4は、スイングを測定するシステムを開示している。特許文献5は、野球ゲームのキャラクタの打撃動作をリアルに表示する技術を開示している。特許文献6は、画像から人物被写体を抽出する技術を開示している。特許文献7は、被写体の顔抽出の技術を開示している。
【特許文献1】特開2006−86823号公報
【特許文献2】特開2000−138858号公報
【特許文献3】特開2006−287911号公報
【特許文献4】特開2002−210055号公報
【特許文献5】特開2001−204963号公報
【特許文献6】特開2006−311505号公報
【特許文献7】特開2008−42801号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1・2では、ユーザの顔写真と組み合わせてゲーム中の一場面を保存・プリントする記載はあるが、動的な操作を行うユーザを的確なタイミングで撮像してプリントできるとは限らない。また、ゲーム画面にユーザの顔を並べてプリントするだけでは、ユーザがそのゲームを実際にプレーしていたという臨場感を与えることができない。さらに、、ユーザの顔以外に、動作する手や足を含んだ被写体部分画像を取り出してプリントすることもできない。特許文献3では、映像から動きを推測して画像を合成するが、撮影カメラの動きを利用しなくてはならないという制約がある。
【0005】
本発明は、ユーザがあたかも仮想空間の世界に入り込み、仮想空間内のキャラクタと一緒に動作しているような画像の提供を可能にする。また好ましくは、本発明は、撮影者が画像撮影に際して取る動作に基づいて、より高精度に撮影者の意図を画像処理に反映可能にする。
【課題を解決するための手段】
【0006】
本発明に係る情報処理装置は、ユーザの動作を検出する動作検出部と、動作検出部の検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御する進行管理部と、進行管理部が進行を制御することが可能な場面に応じた出力用基礎背景画像を格納する格納部と、所定の撮像装置に撮像の開始もしくは終了を指示する撮像指示部と、撮像指示部が撮像の開始を指示した時点で進行管理部の制御する場面に対応する出力用基礎背景画像を、格納部から抽出する画像抽出部と、撮像指示部の指示に応じて撮像装置が取得した画像を、撮像装置から入力する画像入力部と、画像入力部の入力した画像の一部または全部と、画像抽出部の抽出した出力用基礎背景画像とを合成することで、出力用画像を作成する出力用画像作成部と、を備える。
【0007】
この発明によると、ユーザの動作に応じてシナリオが進行中、所望のタイミングで撮像が指示されると、そのときのユーザを被写体として撮像を指示し、得られた画像を、撮像が指示された時点での場面と合成して出力用画像を作成する。これにより、ユーザがあたかも仮想空間の世界に入り込み、仮想空間内のキャラクタと一緒に動作しているような画像ができあがる。
【0008】
ユーザの操作位置を検出する位置検出部を備え、出力用画像作成部は、位置検出部の検出したユーザの操作位置に応じた出力用基礎背景画像上の位置に画像入力部の入力した画像の一部または全部を合成する。
【0009】
こうすると、仮想空間内のキャラクタと同じような位置に正確にユーザの被写体画像を合成できる。
【0010】
出力用基礎背景画像は、仮想空間における所望の視点からユーザキャラクタを捉えた画像を含む。
【0011】
出力用基礎背景画像は、仮想空間において、表示用映像とは逆の視点からユーザを捉えた画像を含む。
【0012】
動作検出部の検出したユーザの動作に基づいて、場面の進行に関係する所定の動作が開始もしくは終了したか否かを判定する動作判定部と、を備え、撮像指示部は、動作判定部が、ゲ場面の進行に関係する所定の動作が開始もしくは終了したと判断したことに応じ、撮像装置に撮像の開始もしくは終了を指示する。
【0013】
こうすると、ユーザの特定の動作のタイミングに合わせて撮影を開始または終了できる。
【0014】
動作検出部の検出したユーザの動作および/または位置検出部の検出したユーザの操作位置に基づいて、画像入力部の入力した画像から、ユーザの被写体画像を抽出するユーザ抽出部を備え、出力用画像作成部は、ユーザ抽出部の抽出したユーザの被写体画像と画像抽出部の抽出した出力用基礎背景画像とを合成し、出力用画像を作成する。
【0015】
こうすると、ユーザの被写体画像を正確に抽出できる。
【0016】
撮像指示部は、動作検出部の検出したユーザの動作に応じた撮影間隔および/またはシャッタスピードの設定を撮像装置に指示する。
【0017】
こうすると、ユーザの動作にあった撮影間隔および/またはシャッタスピードを設定できる。
【0018】
撮像指示部は、ユーザ以外のユーザに対応する操作装置への入力操作に応じて撮像装置に撮像の開始もしくは終了を指示する。
【0019】
こうすると、他のユーザがユーザの表情や動作を見ながら任意のタイミングでユーザを撮像できる。
【0020】
出力用画像作成部の作成した出力用画像を所望の電子機器に出力する出力部を備える。
【0021】
本発明に係る情報処理方法は、コンピュータが、ユーザの動作を検出するステップと、検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御するステップと、進行を制御することが可能な場面に応じた出力用基礎背景画像を格納するステップと、所定の撮像装置に撮像の開始もしくは終了を指示するステップと、撮像の開始を指示した時点で制御されている場面に対応する出力用基礎背景画像を抽出するステップと、撮像開始の指示に応じて撮像装置が取得した画像を、撮像装置から入力するステップと、入力した画像の一部または全部と、抽出した出力用基礎背景画像とを合成することで、出力用画像を作成するステップと、を実行する。
【0022】
本発明に係る情報処理プログラムは、ユーザの動作を検出するステップと、検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御するステップと、進行を制御することが可能な場面に応じた出力用基礎背景画像を格納するステップと、所定の撮像装置に撮像の開始もしくは終了を指示するステップと、撮像の開始を指示した時点で制御されている場面に対応する出力用基礎背景画像を抽出するステップと、撮像開始の指示に応じて撮像装置が取得した画像を、撮像装置から入力するステップと、入力した画像の一部または全部と、抽出した出力用基礎背景画像とを合成することで、出力用画像を作成するステップと、コンピュータに実行させる。
【発明の効果】
【0023】
この発明によると、ユーザの動作に応じてシナリオが進行中、所望のタイミングで撮像が指示されると、そのときのユーザを被写体として撮像を指示し、得られた画像を、撮像が指示された時点での場面と合成して出力用画像を作成する。これにより、ユーザがあたかも仮想空間の世界に入り込み、仮想空間内のキャラクタと一緒に動作しているような画像ができあがる。
【発明を実施するための最良の形態】
【0024】
<第1実施形態>
図1は本発明の好ましい実施形態に係る本実施形態例に係る映像処理システム1000の外観を示す。映像処理システム1000は、映像処理装置100と、操作部5と、カメラ200とを備えている。操作部5は、Bluetooth、赤外線通信などにより映像処理装置100と接続されている。操作部5は、操作性の向上の観点からは、映像処理装置100とは独立した機器であり、映像処理装置100とは無線接続されることが好ましいが、有線で接続されていても問題ない。
【0025】
ユーザPの近傍には、カメラ200が設置されている。カメラ200はユーザPを被写体として捉えることができればどこに設置してもよい。例えばモニタ23筐体の上に置いてユーザを正面から捉えたり、ユーザの左右や背面においてユーザを横からあるいは後ろから捉えてもよい。カメラ200と映像処理装置100とはUSBや無線LANなど各種の通信手段により接続されており、カメラ200の撮影タイミングは映像処理装置100のCPU10が通信部4を介して指示される。カメラ200の撮影した画像は映像処理装置100の通信部4に送信され、RAM42に保存される。
【0026】
説明の簡略のため、カメラ200の設置位置は被写体を正面から捉えるものとするが、ユーザがこれ以外の位置から被写体を捉えたい場合は、その位置を操作部5あるいは非ユーザ操作部6から指定できるようにしてもよい。
【0027】
モニタ23の左右には映像処理装置100から送信されたBGMや効果音の音声信号を出力するためのスピーカが取り付けられている。
【0028】
図2は映像処理装置100のブロック図である。この映像処理装置100は、CPU10、ROM41及びRAM42を有している。CPU10は、ROM41に記録されているOSや映像処理プログラムとRAM42に記憶される映像処理用データなどに基づいて、後述する複数の機能を実現する。ROM41は、映像処理システム1000の各部に基本動作を行わせるためのOSを格納している。RAM42は、半導体メモリ4から必要に応じて読み出された映像処理用各種データを一時的に保存するなどのワークエリアとして使用される。半導体メモリ4は着脱可能でもよく、異なる種類の映像処理プログラムを入れ換えて様々な映像、例えば、テレビゲームや仮想世界の体験を楽しめるようにしてもよい。あるいは、CDROMドライブなどの各種媒体読み取り装置を映像処理装置100に設け、映像処理プログラムは、読み取り装置に設置されたCDROMからRAM42にロードして実行してもよい。あるいは、映像処理装置100がインターネットなどの各種ネットワークを経由して接続した所定のサーバから映像処理プログラムをRAM42にダウンロードして実行してもよい。本実施形態では、映像の種類は野球ゲームとする。ただし、テニスやゴルフといった物でボールを打撃する種類のゲームにも応用可能である。
【0029】
映像処理装置100は、GPU(Graphics Processing Unit)21、フレームバッファ22を有している。GPU21は、CPU10の計算結果に基づいて、ポリゴンの組合せからなるCG画像をフレームバッファ22に書き込む。GPU21により描画処理されたCG画像は、フレームバッファ22に一時的に記録される。フレームバッファ22に記録されたCG画像は、モニタ23に出力されて表示される。GPU21による描画処理及びフレームバッファ22への記録が連続的に行われることにより、動画要素を含むCG画像、たとえばキャラクタの動きがモニタ23に表示される。
【0030】
また映像処理装置100は、SPU(Sound Processing Unit)31を備えている。SPU31は、半導体メモリ4(またはCDROMやネットワークダウンロードサーバなどの代替物)に記録されている音楽データや各種効果音データなどの音声データに基づいて、音楽や効果音のアナログ信号をディスプレイ23に出力し、ディスプレイ23のスピーカでこれを再生する。
【0031】
通信部4は、操作部5からの操作情報を受信する。操作部5は、キャラクタないしキャラクタのゲーム空間や仮想世界その他の仮想空間での仮想的な取扱物であるバット、ゴルフクラブ、ラケットなどのオブジェクトを仮想空間で動作させる指示の入力手段である。ただし、操作部5はオブジェクトの仮想操作物である必要はなく、単純にユーザの動作(足踏みなど)を検出する装置としても機能できる。
【0032】
操作部5は、動作検出部51と、位置検出部52と、コントローラ53とを有している。動作検出部51は、操作部5に蓄えられた様々な動作、例えば持ち上げる、下ろす、振る、回す、傾ける、ひねるなどの動作をリアルタイムで検出しCPU10に出力する。具体的には、動作検出部は、3軸(X、Y、Z軸)の加速度センサ701と、仰角、方位角の角速度・角加速度を検出する回転センサを備えている。ユーザ動作の検出周期は任意であるが、短いとそれだけ瞬間的な動作を連続的に観察でき、公知のスイング測定システム(例えば特開2002−210055号公報)と同等のサンプリングレートが確保できれば理想的である。
【0033】
位置検出部52は、ユーザがモニタ23に映し出された画面における指定位置を検出するための手段である。位置検出部52は、CMOSセンサなどからなる。位置検出部52からCPU10に送出される位置情報は、例えばモニタ23の画面上に設定された実空間の2次元以上の座標で表される。位置を連続的に指定すれば、動作の軌跡が指定できる。これにより、画面に映し出されたボールキャラクタに対応するバットのスイング位置を指定できる。
【0034】
図2にはCPU10がROM41のプログラムに従って行う処理単位が示されている。CPU10の処理単位としては、撮像制御手段11、投球制御手段13、当たり判定手段14、音出力制御手段15、操作判定手段16、状況判定手段17、オブジェクト表示制御手段18、出力用画像作成手段31がある。
【0035】
撮像制御手段11は、通信部4を介して接続されたカメラ200に対し、撮像の開始または終了のタイミングを指示し、カメラ200はこの指示に応じて撮像を開始または終了する。
【0036】
投球制御手段13は、ゲーム空間の投手キャラクタから打者キャラクタに対する投球を制御する。投手キャラクタは、NPCやCPUなどといわれる人間に操作されないユーザであり、投球制御手段13がその動作を制御する。制御の内容は、投球の開始タイミング、球種、スピード、コントロールなどが含まれる。
【0037】
投球制御手段13によって投球が開始されることにより、ボールオブジェクトが投手キャラクタからバッターボックスに打者キャラクタに向かって行く様子を示す映像の生成が、オブジェクト表示制御手段18からGPU21に指示される。これは、ゲーム空間に導入された座標系における、投手キャラクタの現在位置(マウンド)から、打者キャラクタの現在位置(ホームベースないしその近傍のバッターボックス)に向けた、ボールキャラクタの移動軌跡および移動速度を決定し、それに沿ってボールキャラクタの位置座標が順次移動していく映像の生成を指示する。投手キャラクタと打者キャラクタは同時に一画面に表示する必要はない。周知のように、投手キャラクタから打者キャラクタに向けて投球がされる前後は投手キャラクタをマウンドの背景とともに表示し(図1参照)、打者キャラクタの近傍にボールオブジェクトが接近してきたときは打者キャラクタとボールオブジェクトをバッターボックスの背景とともに、大きく表示する映像をGPU21が生成してモニタ23に出力してもよい。
【0038】
打者キャラクタは、バットオブジェクトを有しており、ユーザが操作部5によってこのバットオブジェクトを振るタイミング、スピード、軌道を制御できる。操作判定手段16は、操作部5がユーザにより振り回された動作を検出したことに応じ、バットオブジェクトのゲーム空間上での軌道とスピードを決める。ただし、位置検出部52と位置検出部52の検出結果を組み合わせれば、操作部5を大きく振り切らず、バント動作のように一定の位置まで動かしてその後は操作部5を静止させるという動作も検出できる。
【0039】
例えば、操作判定手段16は、検出された方位角の角速度からバットオブジェクトのヘッドスピードを決める。また、位置検出部52により、操作部5が振り回された際の操作部5の高さの位置検出を行う。例えばモニタ23が20インチ(約50cm)の場合、操作部5の高さが、モニタ23の画面底部から測定してR1=0〜20cmであれば、バットオブジェクトのゲーム空間上での位置は「低」に決定される。あるいは操作部5の高さが地面から測定してR2=20〜35cmであれば、「中(ストライクゾーン)」に決定される。あるいは操作部5の高さが地面から測定してR3=35cm以上であれば、「高」に決定される。R1、R2、R3はユーザの高さに応じて調整できるものとする。これは、操作部5から事前にユーザの身長を登録させ、CPU10が上記のR1〜R3を平均身長と登録された身長との比に合わせてR2の位置を画面上方あるいは下方にシフトし、ストライクゾーンを身長に合わせて高くあるいは低くすればよい。
【0040】
当たり判定手段14は、投手キャラクタから放たれたボールオブジェクトが、ユーザが操作したバットオブジェクトと当たったか否かを判断する。例えば、当たり判定手段14は、操作部5の振り回し動作の検出時のボールオブジェクト軌道が、仮想的なゲーム空間での座標が割り当てられたホームベース近傍であり、かつ、そのときのゲーム空間でのボールオブジェクトの高さを「低」「中」「高」の中から決定した上、ボールオブジェクトの高さとバットオブジェクトの高さとを比較して、両者が一致すれば「当たり」、一致しなければ「空振り」と判定する。
【0041】
状況判定手段17は、当たり判定手段14が「当たり」と判定した場合、操作判定手段16により検出された角速度Θに応じて、当たったときのバットオブジェクトの仮想的なヘッドスピードvを決定する。v=rΘという等式を使うが、rは実際にはバットの長さに相当する値(例えば85cm)を代入する。rを操作部5から指定できてもよい。状況判定手段17は、さらに、バッティング結果、すなわち、ホームラン、ヒット、ファイルを決定する。これは、回転動作に加えてZ軸(地表に垂直な軸)方向の動きベクトルを検出し、アッパースイングか、ダウンスイングか、レベルスイングか、スイング種別を決める。そして、ヘッドスピードが所定の閾値以下である場合はファウル、ヘッドスピードが所定の閾値以上(例えば時速120km)であり、かつレベルスイングであればホームラン、それら以外の場合はヒットと決める。
【0042】
音出力制御手段15は、当たり判定手段14の当たり判定結果または状況判定手段17のバッティング結果に応じた効果音声を出力するようSPU31に指示する。例えば、ホームランであれば非常に大きな歓声、ヒットであれば普通の歓声、ファウルであれば普通の騒音、空振りであれば失望感のある騒音の出力を指示する。
【0043】
オブジェクト表示制御手段18は、当たり判定手段14の当たり判定結果または状況判定手段17のバッティング結果に応じた映像を出力するようGPU21に指示する。ホームランであれば打者キャラクタがベースを周回する様子、ヒットであれば打者キャラクタが出塁する様子、ファウルであればボールオブジェクトがフィールド外に飛んで行く様子、空振りであれば打者キャラクタがボールオブジェクトを空振りした様子を示す映像を出力するようGPU21に指示する。
【0044】
進行制御手段19は、守備側・攻撃側チームの入れ換え、投手キャラクタの投球開始、野手の打球の捕球や送球の有無、打者のスコアカウントや、走者の走塁、チームのアウト数、後続の打者のバッティング結果に応じて、ユーザ側あるいはCPU側のチームのスコアをイニングごとに可算していき、これを所定の回(9回)まで繰り替えし、イニングが所定の回に到達すると、ゲーム終了を宣言する。
【0045】
背景DB43は、ハードディスクユニットあるいは半導体メモリ4などで構成され、進行制御手段19の管理する現在のゲーム進行状況、当たり判定手段14の当たり判定結果または状況判定手段17のバッティング結果、あるいは操作部5から指定されるカメラ200の設置位置のとりうる全てのパターンに対応した出力用基礎背景画像を予め記憶している。出力用背景画像は、GPU21が用いるゲーム映像用の画像と共通してもよいし異なっていてもよい。通常は、仮想的なゲーム空間を、ゲーム映像用の画像とは逆の視点から捉えた画像を出力用基礎背景画像とする。例えば、ゲーム画像がバッターからピッチャーを見た映像であっても、出力用基礎背景画像はピッチャーからバッター(ユーザ)の存在位置であるバッターボックス近傍をを見たような画像である。ユーザから視点までの距離を操作部5から選択できてもよく、出力用画像作成手段31は、この距離に応じて出力用基礎背景画像をズームインまたはズームアウトし、より近い視点からはバッターボックス(ユーザ存在位置)近傍が大きく、より遠い視点からはバッターボックス(ユーザ存在位置)近傍が小さくなるよう処理してもよい。
【0046】
また、出力用基礎背景画像は、カメラ200の設置位置に対応しており、例えば、出力用基礎背景画像は、正面撮像用、左側面撮像用、右側面撮像用、背面撮像用という4つの撮影位置に分類されており、さらに、各撮影位置の分類ごとに、ファウル用、ホームラン用、ヒット用、空振り用という4つのバッティング結果に対応して分類されているとする。さらに、出力用基礎背景画像には、ゲーム空間のキャラクタの存在位置に対応した出力用基礎背景画像上の位置を指定する基準位置情報が対応づけられている。野球ゲームでは、基準位置情報はユーザの選んだ右打者用あるいは左打者用のバッターボックスの位置座標となる。正面撮像用の出力用基礎背景画像は、上述のようにピッチャーからバッター(ユーザ)の存在位置であるバッターボックス近傍を見たような画像である。右側面撮像用、左側面撮像用または背面撮像用の出力用基礎背景画像は、それぞれ、1塁ダッグアウト側、3塁ダッグアウト側またはバックネット側からバッター(ユーザ)の存在位置であるバッターボックス近傍を見たような画像である。
【0047】
例えば図3では、右打者キャラクタの立ち位置であるバッターボックスBr(矩形領域)が基準位置情報である。操作部5からの右打者プレーまたは左打者プレーの指定に応じて基準位置情報は変わる。右打者プレー指定ならばBr、左打者指定ならばBlが基準位置情報となる。図4(a)のユーザは右打者であるから、操作部5からBrを基準位置情報に選択するとよい。
【0048】
テニスゲームのように、ゲーム空間内のユーザキャラクタの位置が刻々と変化する場合であっても、基準位置情報はゲーム空間内でのユーザの位置を反映したものとなる。これは例えば、仮想的な3次元ゲーム空間において、ユーザキャラクタをゲーム映像用の画像とは逆の視点から捉え、そのユーザキャラクタの座標を2次元平面の出力用基礎背景画像に正投影して得られたユーザキャラクタの座標を基準位置情報とすればよい。
【0049】
出力用画像作成手段31は、当たり判定手段14の当たり判定結果または状況判定手段17から出力されたバッティング結果、あるいは操作部5から指定されたカメラ200の設置位置に対応する出力用基礎背景画像を背景DB43から抽出し、RAM42に格納する。
【0050】
また、出力用画像作成手段31は、操作判定手段16の操作判定から、操作部5の振り回し動作の検出時のボールオブジェクトおよびバットオブジェクトの位置を決定する。ボールオブジェクトの位置は、上述のように、振り回し操作の検出された時点でのボールオブジェクト軌道から、ゲーム空間でのボールオブジェクトの位置を「低」「中」「高」の中から決定する。また、バットオブジェクトについても、上述のスイング種別から、バットオブジェクトの位置を「低」「中」「高」の中から決定する。
【0051】
出力用画像作成手段31は、決定したキャラクタおよびバットオブジェクトの位置に従い、出力用基礎背景画像に、ボールオブジェクトおよびバットオブジェクトを合成し、出力用画像を作成する。レベルスイングならば地面とほぼ平行の状態、ダウンスイングならば地面にヘッド部分が傾いた状態、アッパースイングならば天上にヘッド部分が傾いた状態で、バットオブジェクトの根の部分が操作部5の検出位置に合うよう、バットオブジェクトの画像を出力用基礎背景画像に合成する。図5(a)および(b)はそれぞれ、バットオブジェクト、それが合成された出力用基礎背景画像の一例を示す。バットオブジェクトの他、ユーザの身体に帽子やユニフォームなどの付属品画像を合成してもよい。また、合成の際、ユーザから選択されなかったバッターボックスは出力用基礎背景画像から切り取って省略してもよい。図5(b)では、左打者用バッターボックスが省略されている。
【0052】
操作部5やユーザの腕が物陰に隠れて撮影画像に写っていなかったりすると、撮影画像からは、腕の位置などが正確に把握できず、バットオブジェクトの位置が分からない場合もあるが、ここでは操作判定結果に基づいて位置を決めており、より適切な位置へのバットオブジェクトの合成が可能になる。
【0053】
撮像制御手段11は、操作判定手段16が操作部5の振り回し動作の開始(テイクバック)を検出したことに応じ、撮影タイミングをカメラ200に指示する。カメラ200は、撮像制御手段11からの指示に応じて撮影を開始し、得られた画像データをゲーム装置100に送信する。
【0054】
撮像制御手段11による撮像タイミングの指示は1回であっても複数でもよいし、また、1回の撮像タイミングの指示に応じて所定の連写間隔・所定のシャッタスピードでの撮影を繰り返す連写を行ってもよい。
【0055】
撮影の開始は、操作部5のスイング動作が検出されたときに行ってもよいが、瞬間的な動作を捉えるには遅すぎる場合もある。そこで、撮像制御手段11は、所定の場面までゲームが進行した場合に行う。野球ゲームの場合には、投球制御手段13の制御に応じて投手キャラクタが放ったボールキャラクタが、ゲーム空間上で打者キャラクタの近傍に接近したことに応じて、撮像制御手段11が撮像の開始を指示する。あるいは、撮像制御手段11は、単純に投手キャラクタがボールキャラクタを放ってから所定の時間(例えば2秒))が経過したときに撮影開始を指示し、その間は、所定のフレームレートでコマ画像の撮影を継続し、操作部5のスイング動作が検出されてから所定の時間(たとえば1秒後)に撮影終了を指示してもよい。
【0056】
あるいは、撮像制御手段11は、操作部5が検出した動作が、打撃準備動作(テイクバック)である場合、撮像の開始を指示する。テイクバックは、水平方向への「タメ」を作る動作であり、一連のスイングの動作モデル(例えば図9のようなもの)を予めユーザから操作部5を介してROM41に登録させ、撮像制御手段11がこの動作モデルと操作部5が検出した動作の特徴量を比較し、両者が相当の確からしさで一致すればテイクバックありと判断して撮像の開始を指示する。
【0057】
あるいは、ユーザが操作する操作部5とは異なる非ユーザ操作部6から撮影開始/停止の指示を別のユーザがボタン押下などで入力したことに応じて、撮像制御手段11が撮像の開始/停止を指示してもよい。これは例えば、バッターが投球を待っている様子を撮りたい場合などに有効である。ただし、入力された任意のタイミングに対応する出力用基礎背景画像を背景DB43に予め用意しておき、出力用画像作成手段31は出力用画像の作成の際にこれを抽出する必要がある。
【0058】
連写の撮影間隔は、次のようにして設定する。まず、進行制御手段19は、ゲームの開始に先立って、空振りのスイング動作を行うようメッセージなどをモニタ23に表示してユーザに促す。ユーザは、これに応じて空振りのスイング動作を行う。操作判定手段16は、操作部5が回転動作の加速度が零を超えたことに応じて(角加速度が正になったことに応じて)を検出したことに応じて、スイング総動作時間の計時を開始し、操作部5が回転動作の加速度が零になったことを検出したことに応じてスイング総動作時間の計時を終了する。そして、そのスイング総動作時間を計測し、RAM42に格納する。スイングの動作モデルの登録を兼ねるのであれば、検出された操作部5の動作軌跡、スピードなども合わせてRAM42に格納してもよい。撮像制御手段11は、ROM41に予め記録された設定値あるいは操作部5から入力された設定値で撮影枚数が指定されていれば、そのスイング総動作時間の間でその枚数の画像データが撮影されるように撮影間隔を決定する。仮に、撮影枚数が6枚、スイング総動作時間が1.5秒とすれば、1.5/6=0.25秒を撮影間隔と決定し、これをカメラ200に指示する。
【0059】
また、撮像制御手段11は、操作部5の検出した回転速度に応じ、最適なシャッタースピードを決定する。例えば、検出された回転スピードが120時速km程度であれば、シャッタースピードを1/100sと決定する。カメラ200の性能の制約があれば、1/100sに最も近い最速のシャッタースピードの設定を指示する。
【0060】
図4(a)および(b)はそれぞれ被写体となる実空間のユーザおよび撮影画像Eの一例を示す。
【0061】
出力用画像作成手段31は、カメラ200から受信したRAM42の画像を解析し、ユーザの身体の全部(全身。例えば特開2006−311505号公報を参照)または一部(顔など。例えば特開2008−42801号公報を参照)を抽出する。
【0062】
画像データから動きのあるユーザの身体を正確に抽出するため、操作判定手段16による判定結果に基づいてユーザの姿勢を推測し、推測された姿勢のユーザを画像データから抽出してもよい。これは例えば、次のようにする。バットスイング動作では、体軸を中心として回転するから、腕の位置は大きく動くが、頭は大きく動かない。そこで、図6に例示するように、まず公知の顔検出で、幅w×高さhの矩形の顔領域Fを検出し、この顔領域Fを所定方向に所定の長さだけ(例えば鉛直方向に4倍)延長し、延長領域PLを得る。これは、標準的な顔の長さと体全体のサイズの比を基に決めるとよい。そして、その延長領域PLの上底辺および下底辺の終端E1・E2と操作部5の検出位置Xとをそれぞれ線分で結んでできた閉領域および延長領域PLを含む領域を、ユーザ検出領域とする。ユーザの上半身だけを抽出したい場合は、延長領域を顔領域Fから鉛直方向に2倍などとすればよい。このユーザ検出領域の中から、エッジ検出などでさらに人物の体部分を抽出して、ユーザの画像データを抽出する。ユーザは屋内にいるから、周囲に様々なインテリアがあると、物体と人物のエッジ成分が入り交じって人物抽出の精度が下がるが、操作部5の位置を利用して人物抽出する領域を限定することで、動いているユーザだけをかたどった画像データの抽出精度が向上することが期待される。
【0063】
さらに抽出精度を上げるには、ゲームの種類に応じた一連の動作を表すスケルトンモデル(ゲームが野球であれば、例えば特開2001−204963号公報の図10のようなバットスイングに関するもの)を用意し、これをカメラ200からの画像データと比較して、ユーザに相当する部分画像(ユーザ抽出画像)を得る。具体的には、例えば、顔領域Fにスケルトンモデルの顔の位置、コントローラの位置Xにバットスイング動作中のスケルトンモデルの手の位置を合わせ、このスケルトンモデルを基準に設定されたユーザ身体モデル領域に相当する画像データ部分を抽出し、ユーザ抽出画像を得る。ゲームの種類は野球以外でもよく、テニス、ゴルフのようなスイング動作のあるスポーツの他、マラソンのように似たような動作が繰り返されるスポーツでも、それをスケルトンモデルにすればユーザ抽出画像の抽出は可能である。
【0064】
次に、出力用画像作成手段31は、ユーザに相当する部分画像(ユーザ抽出画像)を出力用背景画像と合成する。その際、当該部分画像の合成位置は、基準位置情報に従う。例えば、図7では、右打者プレー指定のバッターボックスBrにユーザ抽出画像の底部を位置決めして配置し合成している。
【0065】
図8はCPU10の実行する一連の画像処理を示すフローチャートである。操作部5のコントローラ53からゲーム開始の指示を受け付けると、進行制御手段19は、ゲーム進行制御を開始する(S1)。この際、モデルスイング動作の登録やユーザ側チームの先行・後攻を決める。進行制御手段19は、ユーザ側チームの攻撃イニングになると、投球制御手段13にCPUユーザの投球を開始するよう指示する。これに応じて投球制御手段13がCPUユーザの投手キャラクタを制御し投球動作を行わせる。撮像制御手段11は、上述のように撮像タイミングを制御する(S2)。
【0066】
出力用画像作成手段31は、操作判定手段16の操作判定結果に応じてユーザ被写体の位置を推測し(S3)、カメラ200から受信した画像からユーザ被写体の全部または一部を含む部分画像を抽出する(S4)。
【0067】
また、出力用画像作成手段31は、操作判定手段16の操作判定から、操作部5の振り回し動作の検出時のボールオブジェクトおよびバットオブジェクトの位置を決定する。ユーザキャラクタのゲーム空間での座標が変化する種類のゲームであれば、その座標を出力用基礎画像上の座標に変換する(S5)。出力用画像作成手段31は、撮影開始時に進行中のゲーム場面に対応した出力用基礎背景画像を背景DB43から抽出する(S6)。ただし、この抽出は、ゲームの進行中であってもよいしゲームが終わった後でもよい。ゲームが終わった後に抽出するには、出力用画像作成手段31は、撮影開始の指示が入力されたと判断された時点での場面を示すフラグをRAM42に記憶しておき、ゲーム終了後にこのフラグで示される場面に対応する出力用基礎背景画像を背景DB43から抽出する。撮像指示が複数入力された場合は、その各々の入力時に対応するフラグを記憶しておき、操作部5から選択されたフラグの示す場面のみの出力用基礎背景画像を抽出してもよい。こうすれば必要な出力用基礎背景画像だけを抽出でき効率がよい。リアルタイムで抽出するには、出力用画像作成手段31は、撮影開始の指示が入力されたと判断された時点での場面に対応する出力用基礎背景画像を即時に背景DB43から抽出すればよい。
【0068】
さらに、出力用画像作成手段31は、決定したキャラクタおよびバットオブジェクトの位置に従い、出力用基礎背景画像に、ボールオブジェクトおよびバットオブジェクトを合成し、出力用画像を作成する(S7)。
【0069】
この出力用画像は、RAM42に保存される。その後、通信部4を介して接続されたプリンタ300や、図示しないプリント注文受付サーバ、パソコン、PDAその他の電子機器に出力し、プリントアウトしたり保存したりすることができる(S8)。
【0070】
このように、ゲーム操作を行っているユーザを瞬間的に捉え、その瞬間でユーザが存在するゲーム空間に対応した背景にユーザ抽出画像を合成して、あたかもユーザがゲーム空間内にいるような画像を作成して出力できる。
【0071】
<第2実施形態>
第1実施形態では主に打撃動作を伴う種類のゲームを説明したが、マラソンのように打撃以外の動作を伴うゲームにおいても、好適なタイミングで撮影された画像からユーザ被写体を精度よく抽出し、ゲーム背景と合成することができる。
【0072】
図10に例示するように、操作部5は、ユーザのベルトに帯同するなどして、ユーザの足踏み動作の妨げにならないようにする。
【0073】
進行制御手段19は、操作部5から検出された動作がランニング動作(定期的な上下動)であるか否かを判別し、ランニング動作のピッチの速さに応じて、所定のランニングルート上におけるユーザランナーキャラクタの現在位置を制御する。すなわち、上下動のピッチの速さがランニングの速さに比例する。また、オブジェクト表示制御手段18は、進行制御手段19の制御するユーザランナーキャラクタの現在位置に応じて、所定のランニングルート上におけるランナーの現在の走行地点周囲の映像を表示するようGPU21に指示する。また、適宜のBGM再生をSPU31に指示する。
【0074】
進行制御手段19は、ユーザランナーキャラクタ以外の一般ランナーを示すCPUキャラクタのランニングルートの走行状況を決定し、オブジェクト表示制御手段18は、それに応じた一般ランナーのキャラクタの表示もGPU21に指示する。例えば、進行制御手段19は、1または複数の一般ランナー(CPUキャラクタ)のそれぞれにランダムに走行スピードを割り当て、その走行スピードを保ったままスタートからゴールまでランニングルートに沿って一般ランナーの座標を仮想的に移動させ、オブジェクト表示制御手段18は、一般ランナーの現在位置がユーザランナーキャラクタの現在位置に近づいた場合にのみその一般ランナーのキャラクタ映像の表示をGPUG21に指示する。進行制御手段19は、一般ランナーとユーザランナーが近接した場合、一般ランナーがユーザランナーと抜きつ抜かれつの接戦をするよう一般ランナーの走行スピードを調整してもよい。
【0075】
撮像制御手段11は、進行制御手段19に対し、ユーザランナーキャラクタが当該一般ランナーを追い越そうとしているかまたは追い越したか否かを定期的に(例えば毎秒)問い合わせる。進行制御手段19は、この問い合わせに応じて、ユーザランナーキャラクタの現在位置が、ある一般ランナーの現在位置と所定の範囲で近接しているか(一般ランナーの背後か、並走しているか、またはそれよりもゴール側に近くなったか)否かを判断しその判断結果を撮像制御手段11に返答する。
【0076】
撮像制御手段11は、進行制御手段19からYes(接近している)が返答された場合、カメラ200に撮影を指示する。そのときは、ユーザは、おそらく一般ランナーを追い越そうと必死に足踏みしているであろうから、ユーザの様子を捉えた画像を作るのに適している。あるいは、撮像制御手段11は、ランニングルートのスタート地点からユーザランナーが出発する前後、ランニングルートのゴール地点にユーザランナーが出発する前後などの状況であるか否かを進行制御手段19に問い合わせ、その返答に応じてカメラ200に撮影を指示してもよい。
【0077】
出力用画像作成手段31は、進行制御手段19が管理する、所定のランニングルート上におけるランナーの現在の走行地点に対応した風景を有する出力用基礎背景画像を背景DB43から抽出する(図11参照)。
【0078】
また、出力用画像作成手段31は、カメラ200から受信した画像データから、ユーザ抽出画像を抽出する。これは、第1実施形態と同様、ユーザの足踏み動作を表すスケルトンモデルを用意しておき、顔領域Fにスケルトンモデルの顔の位置、コントローラの位置Xにスケルトンモデルの手の位置を合わせ、このスケルトンモデルを基準に設定されたユーザ身体モデル領域に相当する画像データ部分を抽出し、ユーザ抽出画像を得る(図12参照)。
【0079】
そして、出力用画像作成手段31は、ユーザ抽出画像と背景画像とを合成し、出力用画像を得る(図13参照)。ユーザの身体にゼッケンなどの付属品画像を合成してもよい。この合成画像は、RAM42に保存される。その後、この出力用画像は、RAM42に保存される。その後、通信部4を介して接続されたプリンタ300や、図示しないプリント注文受付サーバ、パソコン、PDAその他の電子機器に出力し、プリントアウトしたり保存したりすることができる。
【0080】
その他、ゴルフ、釣り、クッキングなど、ユーザの動作を検出できるゲームであれば、本発明は適用できる。
【0081】
また、本発明は点数を競うような「ゲーム」という概念に限らず、ユーザの操作に応じたキャラクタと仮想世界の映像出力のシナリオに沿って仮想的な空間に関する映像を出力する装置であれば、何でも適用できる。すなわち、進行制御手段19は、点数を競うような「ゲーム」だけを扱うのではない。
【図面の簡単な説明】
【0082】
【図1】映像処理システムの外観を示す図
【図2】映像処理装置のブロック図
【図3】第1実施形態の出力用背景基礎画像の一例を示す図
【図4】第1実施形態のユーザ撮影画像およびユーザ抽出画像の一例を示す図
【図5】オブジェクトおよびオブジェクトの合成された出力用背景基礎画像の一例を示す図
【図6】ユーザ検出領域の一例を示す図
【図7】第1実施形態の出力用画像の一例を示す図
【図8】画像処理のフローチャート
【図9】スイングの動作モデルの一例を示す図
【図10】第2実施形態のユーザ撮影画像の一例を示す図
【図11】第2実施形態の出力用背景基礎画像の一例を示す図
【図12】第2実施形態のユーザ抽出画像の一例を示す図
【図13】第2実施形態の出力用画像の一例を示す図
【符号の説明】
【0083】
5:操作部、100:映像処理装置、200:カメラ
【技術分野】
【0001】
本発明は、ユーザの動作に応じて各種情報処理を行う装置、方法およびプログラムに関する。
【背景技術】
【0002】
特許文献1、特許文献2では、ゲームの成績などをユーザの顔写真付きでプリントする。特許文献3は、映像オブジェクトの軌跡画像合成装置に関し、ゴルフ中継などにおいてボールの軌跡を映像に合成する。
【0003】
その他、本願発明に関係する先行技術としては、特許文献4〜7が挙げられる。特許文献4は、スイングを測定するシステムを開示している。特許文献5は、野球ゲームのキャラクタの打撃動作をリアルに表示する技術を開示している。特許文献6は、画像から人物被写体を抽出する技術を開示している。特許文献7は、被写体の顔抽出の技術を開示している。
【特許文献1】特開2006−86823号公報
【特許文献2】特開2000−138858号公報
【特許文献3】特開2006−287911号公報
【特許文献4】特開2002−210055号公報
【特許文献5】特開2001−204963号公報
【特許文献6】特開2006−311505号公報
【特許文献7】特開2008−42801号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1・2では、ユーザの顔写真と組み合わせてゲーム中の一場面を保存・プリントする記載はあるが、動的な操作を行うユーザを的確なタイミングで撮像してプリントできるとは限らない。また、ゲーム画面にユーザの顔を並べてプリントするだけでは、ユーザがそのゲームを実際にプレーしていたという臨場感を与えることができない。さらに、、ユーザの顔以外に、動作する手や足を含んだ被写体部分画像を取り出してプリントすることもできない。特許文献3では、映像から動きを推測して画像を合成するが、撮影カメラの動きを利用しなくてはならないという制約がある。
【0005】
本発明は、ユーザがあたかも仮想空間の世界に入り込み、仮想空間内のキャラクタと一緒に動作しているような画像の提供を可能にする。また好ましくは、本発明は、撮影者が画像撮影に際して取る動作に基づいて、より高精度に撮影者の意図を画像処理に反映可能にする。
【課題を解決するための手段】
【0006】
本発明に係る情報処理装置は、ユーザの動作を検出する動作検出部と、動作検出部の検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御する進行管理部と、進行管理部が進行を制御することが可能な場面に応じた出力用基礎背景画像を格納する格納部と、所定の撮像装置に撮像の開始もしくは終了を指示する撮像指示部と、撮像指示部が撮像の開始を指示した時点で進行管理部の制御する場面に対応する出力用基礎背景画像を、格納部から抽出する画像抽出部と、撮像指示部の指示に応じて撮像装置が取得した画像を、撮像装置から入力する画像入力部と、画像入力部の入力した画像の一部または全部と、画像抽出部の抽出した出力用基礎背景画像とを合成することで、出力用画像を作成する出力用画像作成部と、を備える。
【0007】
この発明によると、ユーザの動作に応じてシナリオが進行中、所望のタイミングで撮像が指示されると、そのときのユーザを被写体として撮像を指示し、得られた画像を、撮像が指示された時点での場面と合成して出力用画像を作成する。これにより、ユーザがあたかも仮想空間の世界に入り込み、仮想空間内のキャラクタと一緒に動作しているような画像ができあがる。
【0008】
ユーザの操作位置を検出する位置検出部を備え、出力用画像作成部は、位置検出部の検出したユーザの操作位置に応じた出力用基礎背景画像上の位置に画像入力部の入力した画像の一部または全部を合成する。
【0009】
こうすると、仮想空間内のキャラクタと同じような位置に正確にユーザの被写体画像を合成できる。
【0010】
出力用基礎背景画像は、仮想空間における所望の視点からユーザキャラクタを捉えた画像を含む。
【0011】
出力用基礎背景画像は、仮想空間において、表示用映像とは逆の視点からユーザを捉えた画像を含む。
【0012】
動作検出部の検出したユーザの動作に基づいて、場面の進行に関係する所定の動作が開始もしくは終了したか否かを判定する動作判定部と、を備え、撮像指示部は、動作判定部が、ゲ場面の進行に関係する所定の動作が開始もしくは終了したと判断したことに応じ、撮像装置に撮像の開始もしくは終了を指示する。
【0013】
こうすると、ユーザの特定の動作のタイミングに合わせて撮影を開始または終了できる。
【0014】
動作検出部の検出したユーザの動作および/または位置検出部の検出したユーザの操作位置に基づいて、画像入力部の入力した画像から、ユーザの被写体画像を抽出するユーザ抽出部を備え、出力用画像作成部は、ユーザ抽出部の抽出したユーザの被写体画像と画像抽出部の抽出した出力用基礎背景画像とを合成し、出力用画像を作成する。
【0015】
こうすると、ユーザの被写体画像を正確に抽出できる。
【0016】
撮像指示部は、動作検出部の検出したユーザの動作に応じた撮影間隔および/またはシャッタスピードの設定を撮像装置に指示する。
【0017】
こうすると、ユーザの動作にあった撮影間隔および/またはシャッタスピードを設定できる。
【0018】
撮像指示部は、ユーザ以外のユーザに対応する操作装置への入力操作に応じて撮像装置に撮像の開始もしくは終了を指示する。
【0019】
こうすると、他のユーザがユーザの表情や動作を見ながら任意のタイミングでユーザを撮像できる。
【0020】
出力用画像作成部の作成した出力用画像を所望の電子機器に出力する出力部を備える。
【0021】
本発明に係る情報処理方法は、コンピュータが、ユーザの動作を検出するステップと、検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御するステップと、進行を制御することが可能な場面に応じた出力用基礎背景画像を格納するステップと、所定の撮像装置に撮像の開始もしくは終了を指示するステップと、撮像の開始を指示した時点で制御されている場面に対応する出力用基礎背景画像を抽出するステップと、撮像開始の指示に応じて撮像装置が取得した画像を、撮像装置から入力するステップと、入力した画像の一部または全部と、抽出した出力用基礎背景画像とを合成することで、出力用画像を作成するステップと、を実行する。
【0022】
本発明に係る情報処理プログラムは、ユーザの動作を検出するステップと、検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御するステップと、進行を制御することが可能な場面に応じた出力用基礎背景画像を格納するステップと、所定の撮像装置に撮像の開始もしくは終了を指示するステップと、撮像の開始を指示した時点で制御されている場面に対応する出力用基礎背景画像を抽出するステップと、撮像開始の指示に応じて撮像装置が取得した画像を、撮像装置から入力するステップと、入力した画像の一部または全部と、抽出した出力用基礎背景画像とを合成することで、出力用画像を作成するステップと、コンピュータに実行させる。
【発明の効果】
【0023】
この発明によると、ユーザの動作に応じてシナリオが進行中、所望のタイミングで撮像が指示されると、そのときのユーザを被写体として撮像を指示し、得られた画像を、撮像が指示された時点での場面と合成して出力用画像を作成する。これにより、ユーザがあたかも仮想空間の世界に入り込み、仮想空間内のキャラクタと一緒に動作しているような画像ができあがる。
【発明を実施するための最良の形態】
【0024】
<第1実施形態>
図1は本発明の好ましい実施形態に係る本実施形態例に係る映像処理システム1000の外観を示す。映像処理システム1000は、映像処理装置100と、操作部5と、カメラ200とを備えている。操作部5は、Bluetooth、赤外線通信などにより映像処理装置100と接続されている。操作部5は、操作性の向上の観点からは、映像処理装置100とは独立した機器であり、映像処理装置100とは無線接続されることが好ましいが、有線で接続されていても問題ない。
【0025】
ユーザPの近傍には、カメラ200が設置されている。カメラ200はユーザPを被写体として捉えることができればどこに設置してもよい。例えばモニタ23筐体の上に置いてユーザを正面から捉えたり、ユーザの左右や背面においてユーザを横からあるいは後ろから捉えてもよい。カメラ200と映像処理装置100とはUSBや無線LANなど各種の通信手段により接続されており、カメラ200の撮影タイミングは映像処理装置100のCPU10が通信部4を介して指示される。カメラ200の撮影した画像は映像処理装置100の通信部4に送信され、RAM42に保存される。
【0026】
説明の簡略のため、カメラ200の設置位置は被写体を正面から捉えるものとするが、ユーザがこれ以外の位置から被写体を捉えたい場合は、その位置を操作部5あるいは非ユーザ操作部6から指定できるようにしてもよい。
【0027】
モニタ23の左右には映像処理装置100から送信されたBGMや効果音の音声信号を出力するためのスピーカが取り付けられている。
【0028】
図2は映像処理装置100のブロック図である。この映像処理装置100は、CPU10、ROM41及びRAM42を有している。CPU10は、ROM41に記録されているOSや映像処理プログラムとRAM42に記憶される映像処理用データなどに基づいて、後述する複数の機能を実現する。ROM41は、映像処理システム1000の各部に基本動作を行わせるためのOSを格納している。RAM42は、半導体メモリ4から必要に応じて読み出された映像処理用各種データを一時的に保存するなどのワークエリアとして使用される。半導体メモリ4は着脱可能でもよく、異なる種類の映像処理プログラムを入れ換えて様々な映像、例えば、テレビゲームや仮想世界の体験を楽しめるようにしてもよい。あるいは、CDROMドライブなどの各種媒体読み取り装置を映像処理装置100に設け、映像処理プログラムは、読み取り装置に設置されたCDROMからRAM42にロードして実行してもよい。あるいは、映像処理装置100がインターネットなどの各種ネットワークを経由して接続した所定のサーバから映像処理プログラムをRAM42にダウンロードして実行してもよい。本実施形態では、映像の種類は野球ゲームとする。ただし、テニスやゴルフといった物でボールを打撃する種類のゲームにも応用可能である。
【0029】
映像処理装置100は、GPU(Graphics Processing Unit)21、フレームバッファ22を有している。GPU21は、CPU10の計算結果に基づいて、ポリゴンの組合せからなるCG画像をフレームバッファ22に書き込む。GPU21により描画処理されたCG画像は、フレームバッファ22に一時的に記録される。フレームバッファ22に記録されたCG画像は、モニタ23に出力されて表示される。GPU21による描画処理及びフレームバッファ22への記録が連続的に行われることにより、動画要素を含むCG画像、たとえばキャラクタの動きがモニタ23に表示される。
【0030】
また映像処理装置100は、SPU(Sound Processing Unit)31を備えている。SPU31は、半導体メモリ4(またはCDROMやネットワークダウンロードサーバなどの代替物)に記録されている音楽データや各種効果音データなどの音声データに基づいて、音楽や効果音のアナログ信号をディスプレイ23に出力し、ディスプレイ23のスピーカでこれを再生する。
【0031】
通信部4は、操作部5からの操作情報を受信する。操作部5は、キャラクタないしキャラクタのゲーム空間や仮想世界その他の仮想空間での仮想的な取扱物であるバット、ゴルフクラブ、ラケットなどのオブジェクトを仮想空間で動作させる指示の入力手段である。ただし、操作部5はオブジェクトの仮想操作物である必要はなく、単純にユーザの動作(足踏みなど)を検出する装置としても機能できる。
【0032】
操作部5は、動作検出部51と、位置検出部52と、コントローラ53とを有している。動作検出部51は、操作部5に蓄えられた様々な動作、例えば持ち上げる、下ろす、振る、回す、傾ける、ひねるなどの動作をリアルタイムで検出しCPU10に出力する。具体的には、動作検出部は、3軸(X、Y、Z軸)の加速度センサ701と、仰角、方位角の角速度・角加速度を検出する回転センサを備えている。ユーザ動作の検出周期は任意であるが、短いとそれだけ瞬間的な動作を連続的に観察でき、公知のスイング測定システム(例えば特開2002−210055号公報)と同等のサンプリングレートが確保できれば理想的である。
【0033】
位置検出部52は、ユーザがモニタ23に映し出された画面における指定位置を検出するための手段である。位置検出部52は、CMOSセンサなどからなる。位置検出部52からCPU10に送出される位置情報は、例えばモニタ23の画面上に設定された実空間の2次元以上の座標で表される。位置を連続的に指定すれば、動作の軌跡が指定できる。これにより、画面に映し出されたボールキャラクタに対応するバットのスイング位置を指定できる。
【0034】
図2にはCPU10がROM41のプログラムに従って行う処理単位が示されている。CPU10の処理単位としては、撮像制御手段11、投球制御手段13、当たり判定手段14、音出力制御手段15、操作判定手段16、状況判定手段17、オブジェクト表示制御手段18、出力用画像作成手段31がある。
【0035】
撮像制御手段11は、通信部4を介して接続されたカメラ200に対し、撮像の開始または終了のタイミングを指示し、カメラ200はこの指示に応じて撮像を開始または終了する。
【0036】
投球制御手段13は、ゲーム空間の投手キャラクタから打者キャラクタに対する投球を制御する。投手キャラクタは、NPCやCPUなどといわれる人間に操作されないユーザであり、投球制御手段13がその動作を制御する。制御の内容は、投球の開始タイミング、球種、スピード、コントロールなどが含まれる。
【0037】
投球制御手段13によって投球が開始されることにより、ボールオブジェクトが投手キャラクタからバッターボックスに打者キャラクタに向かって行く様子を示す映像の生成が、オブジェクト表示制御手段18からGPU21に指示される。これは、ゲーム空間に導入された座標系における、投手キャラクタの現在位置(マウンド)から、打者キャラクタの現在位置(ホームベースないしその近傍のバッターボックス)に向けた、ボールキャラクタの移動軌跡および移動速度を決定し、それに沿ってボールキャラクタの位置座標が順次移動していく映像の生成を指示する。投手キャラクタと打者キャラクタは同時に一画面に表示する必要はない。周知のように、投手キャラクタから打者キャラクタに向けて投球がされる前後は投手キャラクタをマウンドの背景とともに表示し(図1参照)、打者キャラクタの近傍にボールオブジェクトが接近してきたときは打者キャラクタとボールオブジェクトをバッターボックスの背景とともに、大きく表示する映像をGPU21が生成してモニタ23に出力してもよい。
【0038】
打者キャラクタは、バットオブジェクトを有しており、ユーザが操作部5によってこのバットオブジェクトを振るタイミング、スピード、軌道を制御できる。操作判定手段16は、操作部5がユーザにより振り回された動作を検出したことに応じ、バットオブジェクトのゲーム空間上での軌道とスピードを決める。ただし、位置検出部52と位置検出部52の検出結果を組み合わせれば、操作部5を大きく振り切らず、バント動作のように一定の位置まで動かしてその後は操作部5を静止させるという動作も検出できる。
【0039】
例えば、操作判定手段16は、検出された方位角の角速度からバットオブジェクトのヘッドスピードを決める。また、位置検出部52により、操作部5が振り回された際の操作部5の高さの位置検出を行う。例えばモニタ23が20インチ(約50cm)の場合、操作部5の高さが、モニタ23の画面底部から測定してR1=0〜20cmであれば、バットオブジェクトのゲーム空間上での位置は「低」に決定される。あるいは操作部5の高さが地面から測定してR2=20〜35cmであれば、「中(ストライクゾーン)」に決定される。あるいは操作部5の高さが地面から測定してR3=35cm以上であれば、「高」に決定される。R1、R2、R3はユーザの高さに応じて調整できるものとする。これは、操作部5から事前にユーザの身長を登録させ、CPU10が上記のR1〜R3を平均身長と登録された身長との比に合わせてR2の位置を画面上方あるいは下方にシフトし、ストライクゾーンを身長に合わせて高くあるいは低くすればよい。
【0040】
当たり判定手段14は、投手キャラクタから放たれたボールオブジェクトが、ユーザが操作したバットオブジェクトと当たったか否かを判断する。例えば、当たり判定手段14は、操作部5の振り回し動作の検出時のボールオブジェクト軌道が、仮想的なゲーム空間での座標が割り当てられたホームベース近傍であり、かつ、そのときのゲーム空間でのボールオブジェクトの高さを「低」「中」「高」の中から決定した上、ボールオブジェクトの高さとバットオブジェクトの高さとを比較して、両者が一致すれば「当たり」、一致しなければ「空振り」と判定する。
【0041】
状況判定手段17は、当たり判定手段14が「当たり」と判定した場合、操作判定手段16により検出された角速度Θに応じて、当たったときのバットオブジェクトの仮想的なヘッドスピードvを決定する。v=rΘという等式を使うが、rは実際にはバットの長さに相当する値(例えば85cm)を代入する。rを操作部5から指定できてもよい。状況判定手段17は、さらに、バッティング結果、すなわち、ホームラン、ヒット、ファイルを決定する。これは、回転動作に加えてZ軸(地表に垂直な軸)方向の動きベクトルを検出し、アッパースイングか、ダウンスイングか、レベルスイングか、スイング種別を決める。そして、ヘッドスピードが所定の閾値以下である場合はファウル、ヘッドスピードが所定の閾値以上(例えば時速120km)であり、かつレベルスイングであればホームラン、それら以外の場合はヒットと決める。
【0042】
音出力制御手段15は、当たり判定手段14の当たり判定結果または状況判定手段17のバッティング結果に応じた効果音声を出力するようSPU31に指示する。例えば、ホームランであれば非常に大きな歓声、ヒットであれば普通の歓声、ファウルであれば普通の騒音、空振りであれば失望感のある騒音の出力を指示する。
【0043】
オブジェクト表示制御手段18は、当たり判定手段14の当たり判定結果または状況判定手段17のバッティング結果に応じた映像を出力するようGPU21に指示する。ホームランであれば打者キャラクタがベースを周回する様子、ヒットであれば打者キャラクタが出塁する様子、ファウルであればボールオブジェクトがフィールド外に飛んで行く様子、空振りであれば打者キャラクタがボールオブジェクトを空振りした様子を示す映像を出力するようGPU21に指示する。
【0044】
進行制御手段19は、守備側・攻撃側チームの入れ換え、投手キャラクタの投球開始、野手の打球の捕球や送球の有無、打者のスコアカウントや、走者の走塁、チームのアウト数、後続の打者のバッティング結果に応じて、ユーザ側あるいはCPU側のチームのスコアをイニングごとに可算していき、これを所定の回(9回)まで繰り替えし、イニングが所定の回に到達すると、ゲーム終了を宣言する。
【0045】
背景DB43は、ハードディスクユニットあるいは半導体メモリ4などで構成され、進行制御手段19の管理する現在のゲーム進行状況、当たり判定手段14の当たり判定結果または状況判定手段17のバッティング結果、あるいは操作部5から指定されるカメラ200の設置位置のとりうる全てのパターンに対応した出力用基礎背景画像を予め記憶している。出力用背景画像は、GPU21が用いるゲーム映像用の画像と共通してもよいし異なっていてもよい。通常は、仮想的なゲーム空間を、ゲーム映像用の画像とは逆の視点から捉えた画像を出力用基礎背景画像とする。例えば、ゲーム画像がバッターからピッチャーを見た映像であっても、出力用基礎背景画像はピッチャーからバッター(ユーザ)の存在位置であるバッターボックス近傍をを見たような画像である。ユーザから視点までの距離を操作部5から選択できてもよく、出力用画像作成手段31は、この距離に応じて出力用基礎背景画像をズームインまたはズームアウトし、より近い視点からはバッターボックス(ユーザ存在位置)近傍が大きく、より遠い視点からはバッターボックス(ユーザ存在位置)近傍が小さくなるよう処理してもよい。
【0046】
また、出力用基礎背景画像は、カメラ200の設置位置に対応しており、例えば、出力用基礎背景画像は、正面撮像用、左側面撮像用、右側面撮像用、背面撮像用という4つの撮影位置に分類されており、さらに、各撮影位置の分類ごとに、ファウル用、ホームラン用、ヒット用、空振り用という4つのバッティング結果に対応して分類されているとする。さらに、出力用基礎背景画像には、ゲーム空間のキャラクタの存在位置に対応した出力用基礎背景画像上の位置を指定する基準位置情報が対応づけられている。野球ゲームでは、基準位置情報はユーザの選んだ右打者用あるいは左打者用のバッターボックスの位置座標となる。正面撮像用の出力用基礎背景画像は、上述のようにピッチャーからバッター(ユーザ)の存在位置であるバッターボックス近傍を見たような画像である。右側面撮像用、左側面撮像用または背面撮像用の出力用基礎背景画像は、それぞれ、1塁ダッグアウト側、3塁ダッグアウト側またはバックネット側からバッター(ユーザ)の存在位置であるバッターボックス近傍を見たような画像である。
【0047】
例えば図3では、右打者キャラクタの立ち位置であるバッターボックスBr(矩形領域)が基準位置情報である。操作部5からの右打者プレーまたは左打者プレーの指定に応じて基準位置情報は変わる。右打者プレー指定ならばBr、左打者指定ならばBlが基準位置情報となる。図4(a)のユーザは右打者であるから、操作部5からBrを基準位置情報に選択するとよい。
【0048】
テニスゲームのように、ゲーム空間内のユーザキャラクタの位置が刻々と変化する場合であっても、基準位置情報はゲーム空間内でのユーザの位置を反映したものとなる。これは例えば、仮想的な3次元ゲーム空間において、ユーザキャラクタをゲーム映像用の画像とは逆の視点から捉え、そのユーザキャラクタの座標を2次元平面の出力用基礎背景画像に正投影して得られたユーザキャラクタの座標を基準位置情報とすればよい。
【0049】
出力用画像作成手段31は、当たり判定手段14の当たり判定結果または状況判定手段17から出力されたバッティング結果、あるいは操作部5から指定されたカメラ200の設置位置に対応する出力用基礎背景画像を背景DB43から抽出し、RAM42に格納する。
【0050】
また、出力用画像作成手段31は、操作判定手段16の操作判定から、操作部5の振り回し動作の検出時のボールオブジェクトおよびバットオブジェクトの位置を決定する。ボールオブジェクトの位置は、上述のように、振り回し操作の検出された時点でのボールオブジェクト軌道から、ゲーム空間でのボールオブジェクトの位置を「低」「中」「高」の中から決定する。また、バットオブジェクトについても、上述のスイング種別から、バットオブジェクトの位置を「低」「中」「高」の中から決定する。
【0051】
出力用画像作成手段31は、決定したキャラクタおよびバットオブジェクトの位置に従い、出力用基礎背景画像に、ボールオブジェクトおよびバットオブジェクトを合成し、出力用画像を作成する。レベルスイングならば地面とほぼ平行の状態、ダウンスイングならば地面にヘッド部分が傾いた状態、アッパースイングならば天上にヘッド部分が傾いた状態で、バットオブジェクトの根の部分が操作部5の検出位置に合うよう、バットオブジェクトの画像を出力用基礎背景画像に合成する。図5(a)および(b)はそれぞれ、バットオブジェクト、それが合成された出力用基礎背景画像の一例を示す。バットオブジェクトの他、ユーザの身体に帽子やユニフォームなどの付属品画像を合成してもよい。また、合成の際、ユーザから選択されなかったバッターボックスは出力用基礎背景画像から切り取って省略してもよい。図5(b)では、左打者用バッターボックスが省略されている。
【0052】
操作部5やユーザの腕が物陰に隠れて撮影画像に写っていなかったりすると、撮影画像からは、腕の位置などが正確に把握できず、バットオブジェクトの位置が分からない場合もあるが、ここでは操作判定結果に基づいて位置を決めており、より適切な位置へのバットオブジェクトの合成が可能になる。
【0053】
撮像制御手段11は、操作判定手段16が操作部5の振り回し動作の開始(テイクバック)を検出したことに応じ、撮影タイミングをカメラ200に指示する。カメラ200は、撮像制御手段11からの指示に応じて撮影を開始し、得られた画像データをゲーム装置100に送信する。
【0054】
撮像制御手段11による撮像タイミングの指示は1回であっても複数でもよいし、また、1回の撮像タイミングの指示に応じて所定の連写間隔・所定のシャッタスピードでの撮影を繰り返す連写を行ってもよい。
【0055】
撮影の開始は、操作部5のスイング動作が検出されたときに行ってもよいが、瞬間的な動作を捉えるには遅すぎる場合もある。そこで、撮像制御手段11は、所定の場面までゲームが進行した場合に行う。野球ゲームの場合には、投球制御手段13の制御に応じて投手キャラクタが放ったボールキャラクタが、ゲーム空間上で打者キャラクタの近傍に接近したことに応じて、撮像制御手段11が撮像の開始を指示する。あるいは、撮像制御手段11は、単純に投手キャラクタがボールキャラクタを放ってから所定の時間(例えば2秒))が経過したときに撮影開始を指示し、その間は、所定のフレームレートでコマ画像の撮影を継続し、操作部5のスイング動作が検出されてから所定の時間(たとえば1秒後)に撮影終了を指示してもよい。
【0056】
あるいは、撮像制御手段11は、操作部5が検出した動作が、打撃準備動作(テイクバック)である場合、撮像の開始を指示する。テイクバックは、水平方向への「タメ」を作る動作であり、一連のスイングの動作モデル(例えば図9のようなもの)を予めユーザから操作部5を介してROM41に登録させ、撮像制御手段11がこの動作モデルと操作部5が検出した動作の特徴量を比較し、両者が相当の確からしさで一致すればテイクバックありと判断して撮像の開始を指示する。
【0057】
あるいは、ユーザが操作する操作部5とは異なる非ユーザ操作部6から撮影開始/停止の指示を別のユーザがボタン押下などで入力したことに応じて、撮像制御手段11が撮像の開始/停止を指示してもよい。これは例えば、バッターが投球を待っている様子を撮りたい場合などに有効である。ただし、入力された任意のタイミングに対応する出力用基礎背景画像を背景DB43に予め用意しておき、出力用画像作成手段31は出力用画像の作成の際にこれを抽出する必要がある。
【0058】
連写の撮影間隔は、次のようにして設定する。まず、進行制御手段19は、ゲームの開始に先立って、空振りのスイング動作を行うようメッセージなどをモニタ23に表示してユーザに促す。ユーザは、これに応じて空振りのスイング動作を行う。操作判定手段16は、操作部5が回転動作の加速度が零を超えたことに応じて(角加速度が正になったことに応じて)を検出したことに応じて、スイング総動作時間の計時を開始し、操作部5が回転動作の加速度が零になったことを検出したことに応じてスイング総動作時間の計時を終了する。そして、そのスイング総動作時間を計測し、RAM42に格納する。スイングの動作モデルの登録を兼ねるのであれば、検出された操作部5の動作軌跡、スピードなども合わせてRAM42に格納してもよい。撮像制御手段11は、ROM41に予め記録された設定値あるいは操作部5から入力された設定値で撮影枚数が指定されていれば、そのスイング総動作時間の間でその枚数の画像データが撮影されるように撮影間隔を決定する。仮に、撮影枚数が6枚、スイング総動作時間が1.5秒とすれば、1.5/6=0.25秒を撮影間隔と決定し、これをカメラ200に指示する。
【0059】
また、撮像制御手段11は、操作部5の検出した回転速度に応じ、最適なシャッタースピードを決定する。例えば、検出された回転スピードが120時速km程度であれば、シャッタースピードを1/100sと決定する。カメラ200の性能の制約があれば、1/100sに最も近い最速のシャッタースピードの設定を指示する。
【0060】
図4(a)および(b)はそれぞれ被写体となる実空間のユーザおよび撮影画像Eの一例を示す。
【0061】
出力用画像作成手段31は、カメラ200から受信したRAM42の画像を解析し、ユーザの身体の全部(全身。例えば特開2006−311505号公報を参照)または一部(顔など。例えば特開2008−42801号公報を参照)を抽出する。
【0062】
画像データから動きのあるユーザの身体を正確に抽出するため、操作判定手段16による判定結果に基づいてユーザの姿勢を推測し、推測された姿勢のユーザを画像データから抽出してもよい。これは例えば、次のようにする。バットスイング動作では、体軸を中心として回転するから、腕の位置は大きく動くが、頭は大きく動かない。そこで、図6に例示するように、まず公知の顔検出で、幅w×高さhの矩形の顔領域Fを検出し、この顔領域Fを所定方向に所定の長さだけ(例えば鉛直方向に4倍)延長し、延長領域PLを得る。これは、標準的な顔の長さと体全体のサイズの比を基に決めるとよい。そして、その延長領域PLの上底辺および下底辺の終端E1・E2と操作部5の検出位置Xとをそれぞれ線分で結んでできた閉領域および延長領域PLを含む領域を、ユーザ検出領域とする。ユーザの上半身だけを抽出したい場合は、延長領域を顔領域Fから鉛直方向に2倍などとすればよい。このユーザ検出領域の中から、エッジ検出などでさらに人物の体部分を抽出して、ユーザの画像データを抽出する。ユーザは屋内にいるから、周囲に様々なインテリアがあると、物体と人物のエッジ成分が入り交じって人物抽出の精度が下がるが、操作部5の位置を利用して人物抽出する領域を限定することで、動いているユーザだけをかたどった画像データの抽出精度が向上することが期待される。
【0063】
さらに抽出精度を上げるには、ゲームの種類に応じた一連の動作を表すスケルトンモデル(ゲームが野球であれば、例えば特開2001−204963号公報の図10のようなバットスイングに関するもの)を用意し、これをカメラ200からの画像データと比較して、ユーザに相当する部分画像(ユーザ抽出画像)を得る。具体的には、例えば、顔領域Fにスケルトンモデルの顔の位置、コントローラの位置Xにバットスイング動作中のスケルトンモデルの手の位置を合わせ、このスケルトンモデルを基準に設定されたユーザ身体モデル領域に相当する画像データ部分を抽出し、ユーザ抽出画像を得る。ゲームの種類は野球以外でもよく、テニス、ゴルフのようなスイング動作のあるスポーツの他、マラソンのように似たような動作が繰り返されるスポーツでも、それをスケルトンモデルにすればユーザ抽出画像の抽出は可能である。
【0064】
次に、出力用画像作成手段31は、ユーザに相当する部分画像(ユーザ抽出画像)を出力用背景画像と合成する。その際、当該部分画像の合成位置は、基準位置情報に従う。例えば、図7では、右打者プレー指定のバッターボックスBrにユーザ抽出画像の底部を位置決めして配置し合成している。
【0065】
図8はCPU10の実行する一連の画像処理を示すフローチャートである。操作部5のコントローラ53からゲーム開始の指示を受け付けると、進行制御手段19は、ゲーム進行制御を開始する(S1)。この際、モデルスイング動作の登録やユーザ側チームの先行・後攻を決める。進行制御手段19は、ユーザ側チームの攻撃イニングになると、投球制御手段13にCPUユーザの投球を開始するよう指示する。これに応じて投球制御手段13がCPUユーザの投手キャラクタを制御し投球動作を行わせる。撮像制御手段11は、上述のように撮像タイミングを制御する(S2)。
【0066】
出力用画像作成手段31は、操作判定手段16の操作判定結果に応じてユーザ被写体の位置を推測し(S3)、カメラ200から受信した画像からユーザ被写体の全部または一部を含む部分画像を抽出する(S4)。
【0067】
また、出力用画像作成手段31は、操作判定手段16の操作判定から、操作部5の振り回し動作の検出時のボールオブジェクトおよびバットオブジェクトの位置を決定する。ユーザキャラクタのゲーム空間での座標が変化する種類のゲームであれば、その座標を出力用基礎画像上の座標に変換する(S5)。出力用画像作成手段31は、撮影開始時に進行中のゲーム場面に対応した出力用基礎背景画像を背景DB43から抽出する(S6)。ただし、この抽出は、ゲームの進行中であってもよいしゲームが終わった後でもよい。ゲームが終わった後に抽出するには、出力用画像作成手段31は、撮影開始の指示が入力されたと判断された時点での場面を示すフラグをRAM42に記憶しておき、ゲーム終了後にこのフラグで示される場面に対応する出力用基礎背景画像を背景DB43から抽出する。撮像指示が複数入力された場合は、その各々の入力時に対応するフラグを記憶しておき、操作部5から選択されたフラグの示す場面のみの出力用基礎背景画像を抽出してもよい。こうすれば必要な出力用基礎背景画像だけを抽出でき効率がよい。リアルタイムで抽出するには、出力用画像作成手段31は、撮影開始の指示が入力されたと判断された時点での場面に対応する出力用基礎背景画像を即時に背景DB43から抽出すればよい。
【0068】
さらに、出力用画像作成手段31は、決定したキャラクタおよびバットオブジェクトの位置に従い、出力用基礎背景画像に、ボールオブジェクトおよびバットオブジェクトを合成し、出力用画像を作成する(S7)。
【0069】
この出力用画像は、RAM42に保存される。その後、通信部4を介して接続されたプリンタ300や、図示しないプリント注文受付サーバ、パソコン、PDAその他の電子機器に出力し、プリントアウトしたり保存したりすることができる(S8)。
【0070】
このように、ゲーム操作を行っているユーザを瞬間的に捉え、その瞬間でユーザが存在するゲーム空間に対応した背景にユーザ抽出画像を合成して、あたかもユーザがゲーム空間内にいるような画像を作成して出力できる。
【0071】
<第2実施形態>
第1実施形態では主に打撃動作を伴う種類のゲームを説明したが、マラソンのように打撃以外の動作を伴うゲームにおいても、好適なタイミングで撮影された画像からユーザ被写体を精度よく抽出し、ゲーム背景と合成することができる。
【0072】
図10に例示するように、操作部5は、ユーザのベルトに帯同するなどして、ユーザの足踏み動作の妨げにならないようにする。
【0073】
進行制御手段19は、操作部5から検出された動作がランニング動作(定期的な上下動)であるか否かを判別し、ランニング動作のピッチの速さに応じて、所定のランニングルート上におけるユーザランナーキャラクタの現在位置を制御する。すなわち、上下動のピッチの速さがランニングの速さに比例する。また、オブジェクト表示制御手段18は、進行制御手段19の制御するユーザランナーキャラクタの現在位置に応じて、所定のランニングルート上におけるランナーの現在の走行地点周囲の映像を表示するようGPU21に指示する。また、適宜のBGM再生をSPU31に指示する。
【0074】
進行制御手段19は、ユーザランナーキャラクタ以外の一般ランナーを示すCPUキャラクタのランニングルートの走行状況を決定し、オブジェクト表示制御手段18は、それに応じた一般ランナーのキャラクタの表示もGPU21に指示する。例えば、進行制御手段19は、1または複数の一般ランナー(CPUキャラクタ)のそれぞれにランダムに走行スピードを割り当て、その走行スピードを保ったままスタートからゴールまでランニングルートに沿って一般ランナーの座標を仮想的に移動させ、オブジェクト表示制御手段18は、一般ランナーの現在位置がユーザランナーキャラクタの現在位置に近づいた場合にのみその一般ランナーのキャラクタ映像の表示をGPUG21に指示する。進行制御手段19は、一般ランナーとユーザランナーが近接した場合、一般ランナーがユーザランナーと抜きつ抜かれつの接戦をするよう一般ランナーの走行スピードを調整してもよい。
【0075】
撮像制御手段11は、進行制御手段19に対し、ユーザランナーキャラクタが当該一般ランナーを追い越そうとしているかまたは追い越したか否かを定期的に(例えば毎秒)問い合わせる。進行制御手段19は、この問い合わせに応じて、ユーザランナーキャラクタの現在位置が、ある一般ランナーの現在位置と所定の範囲で近接しているか(一般ランナーの背後か、並走しているか、またはそれよりもゴール側に近くなったか)否かを判断しその判断結果を撮像制御手段11に返答する。
【0076】
撮像制御手段11は、進行制御手段19からYes(接近している)が返答された場合、カメラ200に撮影を指示する。そのときは、ユーザは、おそらく一般ランナーを追い越そうと必死に足踏みしているであろうから、ユーザの様子を捉えた画像を作るのに適している。あるいは、撮像制御手段11は、ランニングルートのスタート地点からユーザランナーが出発する前後、ランニングルートのゴール地点にユーザランナーが出発する前後などの状況であるか否かを進行制御手段19に問い合わせ、その返答に応じてカメラ200に撮影を指示してもよい。
【0077】
出力用画像作成手段31は、進行制御手段19が管理する、所定のランニングルート上におけるランナーの現在の走行地点に対応した風景を有する出力用基礎背景画像を背景DB43から抽出する(図11参照)。
【0078】
また、出力用画像作成手段31は、カメラ200から受信した画像データから、ユーザ抽出画像を抽出する。これは、第1実施形態と同様、ユーザの足踏み動作を表すスケルトンモデルを用意しておき、顔領域Fにスケルトンモデルの顔の位置、コントローラの位置Xにスケルトンモデルの手の位置を合わせ、このスケルトンモデルを基準に設定されたユーザ身体モデル領域に相当する画像データ部分を抽出し、ユーザ抽出画像を得る(図12参照)。
【0079】
そして、出力用画像作成手段31は、ユーザ抽出画像と背景画像とを合成し、出力用画像を得る(図13参照)。ユーザの身体にゼッケンなどの付属品画像を合成してもよい。この合成画像は、RAM42に保存される。その後、この出力用画像は、RAM42に保存される。その後、通信部4を介して接続されたプリンタ300や、図示しないプリント注文受付サーバ、パソコン、PDAその他の電子機器に出力し、プリントアウトしたり保存したりすることができる。
【0080】
その他、ゴルフ、釣り、クッキングなど、ユーザの動作を検出できるゲームであれば、本発明は適用できる。
【0081】
また、本発明は点数を競うような「ゲーム」という概念に限らず、ユーザの操作に応じたキャラクタと仮想世界の映像出力のシナリオに沿って仮想的な空間に関する映像を出力する装置であれば、何でも適用できる。すなわち、進行制御手段19は、点数を競うような「ゲーム」だけを扱うのではない。
【図面の簡単な説明】
【0082】
【図1】映像処理システムの外観を示す図
【図2】映像処理装置のブロック図
【図3】第1実施形態の出力用背景基礎画像の一例を示す図
【図4】第1実施形態のユーザ撮影画像およびユーザ抽出画像の一例を示す図
【図5】オブジェクトおよびオブジェクトの合成された出力用背景基礎画像の一例を示す図
【図6】ユーザ検出領域の一例を示す図
【図7】第1実施形態の出力用画像の一例を示す図
【図8】画像処理のフローチャート
【図9】スイングの動作モデルの一例を示す図
【図10】第2実施形態のユーザ撮影画像の一例を示す図
【図11】第2実施形態の出力用背景基礎画像の一例を示す図
【図12】第2実施形態のユーザ抽出画像の一例を示す図
【図13】第2実施形態の出力用画像の一例を示す図
【符号の説明】
【0083】
5:操作部、100:映像処理装置、200:カメラ
【特許請求の範囲】
【請求項1】
ユーザの動作を検出する動作検出部と、
前記動作検出部の検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御する進行管理部と、
前記進行管理部が進行を制御することが可能な場面に応じた出力用基礎背景画像を格納する格納部と、
所定の撮像装置に撮像の開始もしくは終了を指示する撮像指示部と、
前記撮像指示部が撮像の開始を指示した時点で前記進行管理部の制御する場面に対応する出力用基礎背景画像を、前記格納部から抽出する画像抽出部と、
前記撮像指示部の指示に応じて前記撮像装置が取得した画像を、前記撮像装置から入力する画像入力部と、
前記画像入力部の入力した画像の一部または全部と、前記画像抽出部の抽出した出力用基礎背景画像とを合成することで、出力用画像を作成する出力用画像作成部と、
を備える情報処理装置。
【請求項2】
ユーザの操作位置を検出する位置検出部を備え、
前記出力用画像作成部は、前記位置検出部の検出したユーザの操作位置に応じた前記出力用基礎背景画像上の位置に前記画像入力部の入力した画像の一部または全部を合成する請求項1に記載の情報処理装置。
【請求項3】
前記出力用基礎背景画像は、仮想空間における所望の視点からユーザキャラクタを捉えた画像を含む請求項1または2に記載の情報処理装置。
【請求項4】
前記出力用基礎背景画像は、仮想空間において、表示用映像とは逆の視点からユーザを捉えた画像を含む請求項3に記載の情報処理装置。
【請求項5】
前記動作検出部の検出したユーザの動作に基づいて、前記場面の進行に関係する所定の動作が開始もしくは終了したか否かを判定する動作判定部と、
を備え、
前記撮像指示部は、前記動作判定部が、前記シナリオの進行に関係する所定の動作が開始もしくは終了したと判断したことに応じ、前記撮像装置に撮像の開始もしくは終了を指示する請求項1〜4のいずれかに記載の情報処理装置。
【請求項6】
前記動作検出部の検出したユーザの動作および/または前記位置検出部の検出したユーザの操作位置に基づいて、前記画像入力部の入力した画像から、ユーザの被写体画像を抽出するユーザ抽出部を備え、
前記出力用画像作成部は、前記ユーザ抽出部の抽出したユーザの被写体画像と前記画像抽出部の抽出した出力用基礎背景画像とを合成し、出力用画像を作成する請求項1〜5のいずれかに記載の情報処理装置。
【請求項7】
前記撮像指示部は、前記動作検出部の検出したユーザの動作に応じた撮影間隔および/またはシャッタスピードの設定を前記撮像装置に指示する請求項1〜6のいずれかに記載の情報処理装置。
【請求項8】
前記撮像指示部は、ユーザ以外のユーザに対応する操作装置への入力操作に応じて前記撮像装置に撮像の開始もしくは終了を指示する請求項1〜7のいずれかに記載の情報処理装置。
【請求項9】
前記出力用画像作成部の作成した出力用画像を所望の電子機器に出力する出力部を備える請求項1〜8のいずれかに記載の情報処理装置。
【請求項10】
コンピュータが、
ユーザの動作を検出するステップと、
前記検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御するステップと、
前記進行を制御することが可能な場面に応じた出力用基礎背景画像を格納するステップと、
所定の撮像装置に撮像の開始もしくは終了を指示するステップと、
前記撮像の開始を指示した時点で制御されている場面に対応する出力用基礎背景画像を抽出するステップと、
前記撮像開始の指示に応じて前記撮像装置が取得した画像を、前記撮像装置から入力するステップと、
前記入力した画像の一部または全部と、前記抽出した出力用基礎背景画像とを合成することで、出力用画像を作成するステップと、
を実行する情報処理方法。
【請求項11】
ユーザの動作を検出するステップと、
前記検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御するステップと、
前記進行を制御することが可能な場面に応じた出力用基礎背景画像を格納するステップと、
所定の撮像装置に撮像の開始もしくは終了を指示するステップと、
前記撮像の開始を指示した時点で制御されている場面に対応する出力用基礎背景画像を抽出するステップと、
前記撮像開始の指示に応じて前記撮像装置が取得した画像を、前記撮像装置から入力するステップと、
前記入力した画像の一部または全部と、前記抽出した出力用基礎背景画像とを合成することで、出力用画像を作成するステップと、
をコンピュータに実行させる情報処理プログラム。
【請求項1】
ユーザの動作を検出する動作検出部と、
前記動作検出部の検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御する進行管理部と、
前記進行管理部が進行を制御することが可能な場面に応じた出力用基礎背景画像を格納する格納部と、
所定の撮像装置に撮像の開始もしくは終了を指示する撮像指示部と、
前記撮像指示部が撮像の開始を指示した時点で前記進行管理部の制御する場面に対応する出力用基礎背景画像を、前記格納部から抽出する画像抽出部と、
前記撮像指示部の指示に応じて前記撮像装置が取得した画像を、前記撮像装置から入力する画像入力部と、
前記画像入力部の入力した画像の一部または全部と、前記画像抽出部の抽出した出力用基礎背景画像とを合成することで、出力用画像を作成する出力用画像作成部と、
を備える情報処理装置。
【請求項2】
ユーザの操作位置を検出する位置検出部を備え、
前記出力用画像作成部は、前記位置検出部の検出したユーザの操作位置に応じた前記出力用基礎背景画像上の位置に前記画像入力部の入力した画像の一部または全部を合成する請求項1に記載の情報処理装置。
【請求項3】
前記出力用基礎背景画像は、仮想空間における所望の視点からユーザキャラクタを捉えた画像を含む請求項1または2に記載の情報処理装置。
【請求項4】
前記出力用基礎背景画像は、仮想空間において、表示用映像とは逆の視点からユーザを捉えた画像を含む請求項3に記載の情報処理装置。
【請求項5】
前記動作検出部の検出したユーザの動作に基づいて、前記場面の進行に関係する所定の動作が開始もしくは終了したか否かを判定する動作判定部と、
を備え、
前記撮像指示部は、前記動作判定部が、前記シナリオの進行に関係する所定の動作が開始もしくは終了したと判断したことに応じ、前記撮像装置に撮像の開始もしくは終了を指示する請求項1〜4のいずれかに記載の情報処理装置。
【請求項6】
前記動作検出部の検出したユーザの動作および/または前記位置検出部の検出したユーザの操作位置に基づいて、前記画像入力部の入力した画像から、ユーザの被写体画像を抽出するユーザ抽出部を備え、
前記出力用画像作成部は、前記ユーザ抽出部の抽出したユーザの被写体画像と前記画像抽出部の抽出した出力用基礎背景画像とを合成し、出力用画像を作成する請求項1〜5のいずれかに記載の情報処理装置。
【請求項7】
前記撮像指示部は、前記動作検出部の検出したユーザの動作に応じた撮影間隔および/またはシャッタスピードの設定を前記撮像装置に指示する請求項1〜6のいずれかに記載の情報処理装置。
【請求項8】
前記撮像指示部は、ユーザ以外のユーザに対応する操作装置への入力操作に応じて前記撮像装置に撮像の開始もしくは終了を指示する請求項1〜7のいずれかに記載の情報処理装置。
【請求項9】
前記出力用画像作成部の作成した出力用画像を所望の電子機器に出力する出力部を備える請求項1〜8のいずれかに記載の情報処理装置。
【請求項10】
コンピュータが、
ユーザの動作を検出するステップと、
前記検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御するステップと、
前記進行を制御することが可能な場面に応じた出力用基礎背景画像を格納するステップと、
所定の撮像装置に撮像の開始もしくは終了を指示するステップと、
前記撮像の開始を指示した時点で制御されている場面に対応する出力用基礎背景画像を抽出するステップと、
前記撮像開始の指示に応じて前記撮像装置が取得した画像を、前記撮像装置から入力するステップと、
前記入力した画像の一部または全部と、前記抽出した出力用基礎背景画像とを合成することで、出力用画像を作成するステップと、
を実行する情報処理方法。
【請求項11】
ユーザの動作を検出するステップと、
前記検出したユーザの動作に基づいて、仮想空間上のシナリオに沿った場面の進行を制御するステップと、
前記進行を制御することが可能な場面に応じた出力用基礎背景画像を格納するステップと、
所定の撮像装置に撮像の開始もしくは終了を指示するステップと、
前記撮像の開始を指示した時点で制御されている場面に対応する出力用基礎背景画像を抽出するステップと、
前記撮像開始の指示に応じて前記撮像装置が取得した画像を、前記撮像装置から入力するステップと、
前記入力した画像の一部または全部と、前記抽出した出力用基礎背景画像とを合成することで、出力用画像を作成するステップと、
をコンピュータに実行させる情報処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−67002(P2010−67002A)
【公開日】平成22年3月25日(2010.3.25)
【国際特許分類】
【出願番号】特願2008−232623(P2008−232623)
【出願日】平成20年9月10日(2008.9.10)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】
【公開日】平成22年3月25日(2010.3.25)
【国際特許分類】
【出願日】平成20年9月10日(2008.9.10)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】
[ Back to top ]