説明

プログラム、データ収集装置及び制御方法

【課題】実空間を移動する移動体に関するデータを収集できるようにする。
【解決手段】本ゲームプログラムでは、実空間を移動する移動体が撮影手段C1,C2により撮影されたときに、撮影手段C1,C2により撮影された画像データが記憶部2に格納される。そして、記憶部2に格納された画像データを用いて、実空間における移動体の位置を検知する処理が、制御部1により実行される。そして、制御部1により検知された移動体の位置を示す位置データが、記憶部2に格納される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実空間を移動する移動体に関するデータを収集するためのプログラムに関する。また、このプログラムを実行可能なコンピュータ、およびこのプログラムをコンピュータにより制御する方法に関する。
【背景技術】
【0002】
従来から様々なゲームが提案されている。これらゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム機本体と、ゲーム機本体とは別体の入力部たとえばコントローラとを有している。コントローラには、複数の入力釦が配置されている。
【0003】
このようなゲーム装置では、球技ゲームたとえば野球ゲームやサッカーゲーム等を実行することができる(非特許文献1を参照)。ここでは、たとえば、野球ゲームがゲーム装置において実行された場合を考える。野球ゲームが実行されると、投手キャラクタに対する投球に関する指示や、打者キャラクタに対する打撃に関する指示等が行われる。すると、投球されたボールが移動する状態をモニタに表示するために、投球用の軌道がゲーム装置において設定される。そして、この投球用の軌道の設定が行われると、投手キャラクタから投球されたボールがモニタに表示される。また、打者キャラクタがボールを捉えることができたときには、打ち返されたボールが移動する状態をモニタに表示するために、打球用の軌道がゲーム装置において設定される。そして、この打球用の軌道の設定が行われると、打ち返されたボールがモニタに表示される。
【非特許文献1】プロ野球スピリッツ3 コナミ株式会社 2006年 PlayStation2版
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来の野球ゲームでは、投手キャラクタからボールが投球されたときや、打者キャラクタからボールが打ち返されたときには、ボールが移動する状態をモニタに表示するために、ボールの軌道がゲーム装置において設定されるようになっている。ここで設定される野球ゲームにおけるボールの軌道は、一般的には、ゲーム制作者が、現実の野球におけるボールの軌道を参考にして、任意に設定している。このため、プレイヤが、野球ゲームにおいてモニタに表示されたボールの軌道を見ながら野球ゲームをプレイしていると、ボールの移動状態に違和感を覚えるという問題があった。
【0005】
この問題点を解決するためには、現実の野球におけるボールの軌道を、野球ゲームのボールの軌道に反映することにより、ボールの移動状態を違和感なくモニタに表示できるようにすることが考えられる。しかしながら、これまでは、現実の野球におけるボールの軌道を野球ゲームのボールの軌道に反映するためのデータ、すなわち現実の野球において移動するボールに関するデータを収集する手段が確立されていなかったため、現実の野球におけるボールの軌道を野球ゲームのボールの軌道に反映することは困難であった。このため、現実の野球におけるボールの軌道を野球ゲームのボールの軌道に反映するためには、現実の野球の試合等からボールに関するデータを収集する必要がある。
【0006】
本発明の目的は、実空間を移動する移動体に関するデータを収集できるようにすることにある。
【課題を解決するための手段】
【0007】
請求項1に係るプログラムは、実空間を移動する移動体に関するデータを収集するためのコンピュータに、以下の機能を実現させるプログラムである。
(1)実空間を移動する移動体が撮影手段により撮影されたときに、撮影手段により撮影された画像データを記憶部に格納する画像データ格納機能。
(2)記憶部に格納された画像データを用いて、実空間における移動体の位置を検知する処理を制御部に実行させる移動体位置検知機能。
(3)制御部により検知された移動体の位置を示す位置データを記憶部に格納する位置データ格納機能。
【0008】
このプログラムでは、画像データ格納機能において、実空間を移動する移動体が撮影手段により撮影されたときに、撮影手段により撮影された画像データが記憶部に格納される。そして、移動体位置検知機能においては、記憶部に格納された画像データを用いて、実空間における移動体の位置を検知する処理が、制御部により実行される。位置データ格納機能においては、制御部により検知された移動体の位置を示す位置データが、記憶部に格納される。
【0009】
この場合、たとえば、実空間を移動するボールがカメラにより撮影されたときに、カメラにより撮影された画像データが記憶部に格納される。そして、記憶部に格納された画像データを用いて、実空間におけるボールの位置を検知する処理が、制御部により実行される。そして、制御部により検知されたボールの位置を示す位置データが、記憶部に格納される。
【0010】
ここでは、実空間を移動するボールの位置が検出され、検出されたボールの位置を示す位置データが記憶部に格納されるようになっている。このように、請求項1に係る発明では、現実に実空間を移動するボールの位置を示す位置データを収集しデータベース化することができる。すなわち、請求項1に係る発明では、実空間を移動する移動体に関するデータを収集しデータベース化することができる。
【0011】
請求項2に係るプログラムでは、請求項1に記載のプログラムにおいて、実空間を移動する移動体が撮影手段により連続的に撮影されたときに、撮影手段により撮影された複数の画像データが記憶部に格納される(画像データ格納機能)。そして、複数の画像データそれぞれに対して基準点を設定する処理、および複数の画像データそれぞれの基準点に対する相対的な移動体の位置を時系列に沿って検知する処理が、制御部により実行される(移動体位置検知機能)。
【0012】
このプログラムでは、画像データ格納機能において、実空間を移動する移動体が撮影手段により連続的に撮影されたときに、撮影手段により撮影された複数の画像データが記憶部に格納される。そして、移動体位置検知機能において、複数の画像データそれぞれに対して基準点を設定する処理、および複数の画像データそれぞれの基準点に対する相対的な移動体の位置を時系列に沿って検知する処理が、制御部により実行される。
【0013】
この場合、たとえば、実空間を移動するボールがカメラにより連続的に撮影されたときに、カメラにより撮影された複数の画像データが記憶部に格納される。そして、複数の画像データそれぞれに対して基準点を設定する処理、および複数の画像データそれぞれの基準点に対する相対的な移動体の位置を時系列に沿って検知する処理が、制御部により実行される。
【0014】
ここでは、複数の画像データそれぞれに対して基準点を設定することにより、複数の画像データそれぞれの基準点に対する相対的な移動体の位置が時系列に沿って検知されるようになっている。このように、請求項2に係る発明では、時間が経過するにつれてボールが実空間を移動するときに、時間の経過に応じて変化するボールの相対的な位置を示す位置データをデータベース化することができる。
【0015】
請求項3に係るプログラムでは、請求項2に記載のプログラムにおいて、複数の画像データそれぞれに対して基準点を有する検知領域を設定する処理、および検知領域において基準点に対する移動体の相対的な位置を時系列に沿って検知する処理が、制御部により実行される(移動体位置検知機能)。
【0016】
このプログラムでは、移動体位置検知機能において、複数の画像データそれぞれに対して基準点を有する検知領域を設定する処理、および検知領域において基準点に対する移動体の相対的な位置を時系列に沿って検知する処理が、制御部により実行される。
【0017】
この場合、たとえば、複数の画像データそれぞれに対して基準点を有する検知領域を設定することにより、検知領域において基準点に対する移動体の相対的な位置が時系列に沿って検知されるようになっている。このように、請求項3に係る発明では、時間が経過するにつれてボールが実空間を移動するときに、検知領域内(所定の領域内)で時間の経過に応じて変化するボールの相対的な位置を示す位置データを生成しデータベース化することができる。具体的には、実空間における部分的な空間において時間の経過に応じて変化するボールの相対的な位置を示す位置データを生成しデータベース化することができる。
【0018】
請求項4に係るプログラムは、請求項1から3のいずれかに記載のプログラムにおいて、コンピュータに、以下の機能をさらに実現させるプログラムである。
(4)制御部により検知された移動体の位置の変化量を制御部に算出させ、移動体の位置の変化量と移動体の時間の変化量とに基づいて、移動体の速度を算出する処理を制御部に実行させる移動体速度検知機能。
(5)制御部により算出された移動体の速度を示す速度データを記憶部に格納する速度データ格納機能。
【0019】
このプログラムでは、移動体速度検知機能において、制御部により検知された移動体の位置の変化量が、制御部により算出される。そして、移動体の位置の変化量と移動体の時間の変化量とに基づいて、移動体の速度を算出する処理が、制御部により実行される。速度データ格納機能においては、制御部により算出された移動体の速度を示す速度データが記憶部に格納される。
【0020】
この場合、たとえば、制御部により検知されたボールの位置の変化量が、制御部により算出される。そして、ボールの位置の変化量とボールの時間の変化量とに基づいて、ボールの速度を算出する処理が、制御部により実行される。そして、制御部により算出されたボールの速度を示す速度データが記憶部に格納される。
【0021】
ここでは、移動するボールの速度が検出され、検出されたボールの速度を示す速度データが記憶部に格納されるようになっている。このように、請求項4に係る発明では、移動するボールの速度を示す速度データを収集しデータベース化することができる。すなわち、請求項4に係る発明では、実空間を移動する移動体に関するデータを収集しデータベース化することができる。
【0022】
請求項5に係るプログラムは、請求項1から4のいずれかに記載のプログラムにおいて、コンピュータにおいて収集されたデータが記憶部に格納されたコンピュータに、以下の機能を実現させるプログラムである。
(6)実空間における移動体の軌道に対応する、仮想空間における移動体の軌道を、移動体の位置データを用いて制御部に算出させる軌道算出機能。
【0023】
このプログラムでは、軌道算出機能において、実空間における移動体の軌道に対応する、仮想空間における移動体の軌道が、移動体の位置データを用いて制御部により算出される。
【0024】
この場合、たとえば、実空間におけるボールの軌道に対応する、仮想空間におけるボールの軌道が、ボールの位置データを用いて制御部により算出される。
【0025】
ここでは、仮想空間におけるボールの軌道が、ボールの位置データを用いることにより、算出されるようになっている。このように、請求項5に係る発明では、仮想空間におけるボールの軌道が実空間のボールの位置データを用いて算出されるので、現実味のあるボールの軌道を作成することができる。
【0026】
なお、たとえば、このような軌道を球技ゲームにおいて用いた場合、現実味のある軌道を描くボールの移動状態を、ボール用の画像データを用いて画像表示部に表示することができる。
【0027】
請求項6に係るデータ収集装置は、実空間を移動する移動体に関するデータからなるデータベースを収集するための装置である。このデータ収集装置は、実空間を移動する移動体が撮影手段により撮影されたときに、撮影手段により撮影された画像データを記憶部に格納する画像データ格納手段と、記憶部に格納された画像データを用いて、実空間における移動体の位置を検知する処理を制御部に実行させる移動体位置検知手段と、制御部により検知された移動体の位置を示す位置データを記憶部に格納する位置データ格納手段と、を備えている。
【0028】
請求項7に係る制御方法は、実空間を移動する移動体に関するデータからなるデータベースを収集する機能をコンピュータにより制御する制御方法である。この制御方法は、実空間を移動する移動体が撮影手段により撮影されたときに、撮影手段により撮影された画像データを記憶部に格納する画像データ格納ステップと、記憶部に格納された画像データを用いて、実空間における移動体の位置を検知する処理を制御部に実行させる移動体位置検知ステップと、制御部により検知された移動体の位置を示す位置データを記憶部に格納する位置データ格納ステップと、を備えている。
【発明の効果】
【0029】
本発明では、実空間を移動する移動体の位置が検出され、検出された移動体の位置を示す位置データが記憶部に格納される。このように、本発明では、現実に実空間を移動する移動体の位置を示す位置データを収集しデータベース化することができる。すなわち、本発明では、実空間を移動する移動体に関するデータを収集しデータベース化することができる。
【発明を実施するための最良の形態】
【0030】
〔コンピュータの構成と動作〕
図1は、本発明の一実施形態によるデータ収集装置たとえばコンピュータの基本構成を示している。ここでは、コンピュータの一例として、パーソナルコンピュータをとりあげて説明を行うこととする。このコンピュータは、コンピュータ本体およびモニタを備える。コンピュータ本体には、記録媒体10が装填可能となっている。この記録媒体10からは、各種のデータおよびプログラムが適宜読み出し可能になっている。
【0031】
コンピュータは、制御部1と、記憶部2と、画像表示部3と、音声出力部4と、操作入力部5とからなっており、それぞれがバス6を介して接続される。このバス6は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部1、記憶部2、音声出力部4および操作入力部5は、コンピュータ本体に含まれており、画像表示部3はモニタに含まれている。
【0032】
制御部1は、主に、プログラムに基づいて各種の処理を制御するために設けられている。制御部1は、たとえば、CPU(Central Processing Unit)7と、信号処理プロセッサ8と、画像処理プロセッサ9とから構成されている。CPU7と信号処理プロセッサ8と画像処理プロセッサ9とは、それぞれがバス6を介して互いに接続されている。CPU7は、プログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、CPU7は、信号処理プロセッサ8に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ8は、主に、3次元空間上における計算と、3次元空間上から擬似3次元空間上への位置変換計算と、光源計算処理と、3次元空間上又は擬似3次元空間上で実行された計算結果に基づいた画像および音声データの生成加工処理とを行っている。画像処理プロセッサ9は、主に、信号処理プロセッサ8の計算結果および処理結果に基づいて、描画すべき画像データをRAM12に書き込む処理を行っている。また、CPU7は、信号処理プロセッサ8に対して、各種データを処理するように命令する。信号処理プロセッサ8は、主に、3次元空間上における各種データに対応する計算と、3次元空間上から擬似3次元空間上への位置変換計算とを行っている。
【0033】
記憶部2は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部2は、たとえば、記録媒体10と、インターフェース回路11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)とから構成されている。記録媒体10には、インターフェース回路11が接続されている。そして、インターフェース回路11とRAM12とはバス6を介して接続されている。記録媒体10は、プログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるデータなどを記録するためのものである。この記録媒体10は、たとえば、ROM(Read Only Memory)カセット、光ディスク、およびフレキシブルディスクなどである。なお、記録媒体10にはカード型メモリも含まれており、このカード型メモリは、主に、プログラムを中断するときに中断時点での各種パラメータ値やデータを保存するために用いられる。RAM12は、オペレーションシステムのプログラムデータや、記録媒体10から読み出された各種データを一時的に格納したり、制御部1からの処理結果を一時的に記録したりするために用いられる。このRAM12には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【0034】
画像表示部3は、主に、画像処理プロセッサ9によってRAM12に書き込まれた画像データや、記録媒体10から読み出される画像データなどを画像として出力するために設けられている。この画像表示部3は、たとえば、モニタ20と、インターフェース回路21と、D/Aコンバータ(Digital-To-Analogコンバータ)22とから構成されている。モニタ20にはD/Aコンバータ22が接続されており、D/Aコンバータ22にはインターフェース回路21が接続されている。そして、インターフェース回路21にバス6が接続されている。ここでは、画像データが、インターフェース回路21を介してD/Aコンバータ22に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がモニタ20に画像として出力される。
【0035】
音声出力部4は、主に、記録媒体10から読み出される音声データを音声として出力するために設けられている。音声出力部4は、たとえば、スピーカー13と、増幅回路14と、D/Aコンバータ15と、インターフェース回路16とから構成されている。スピーカー13には増幅回路14が接続されており、増幅回路14にはD/Aコンバータ15が接続されており、D/Aコンバータ15にはインターフェース回路16が接続されている。そして、インターフェース回路16にバス6が接続されている。ここでは、音声データが、インターフェース回路16を介してD/Aコンバータ15に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路14によって増幅され、スピーカー13から音声として出力される。音声データには、たとえば、ADPCM(Adaptive Differential Pulse Code Modulation)データやPCM(Pulse Code Modulation)データなどがある。ADPCMデータの場合、上述と同様の処理方法で音声をスピーカー13から出力することができる。PCMデータの場合、RAM12においてPCMデータをADPCMデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー13から出力することができる。
【0036】
操作入力部5は、主に、キーボード17と、操作情報インターフェース回路18と、インターフェース回路19とから構成されている。キーボード17には、操作情報インターフェース回路18が接続されており、操作情報インターフェース回路18にはインターフェース回路19が接続されている。そして、インターフェース回路19にバス6が接続されている。キーボード17は、ユーザが種々の操作命令を入力するために使用する操作装置であり、ユーザの操作に応じた操作信号をCPU7に送出する。コントローラ17には、各種のボタンが設けられている。これらボタンが操作されると、入力操作に対応する操作信号がキーボード17から制御部1に送出される。そして、操作信号に対応する命令が制御部1に認識される。
【0037】
以上のような構成からなるコンピュータの概略動作を、以下に説明する。電源スイッチ(図示省略)がオンにされ電源が投入されると、CPU7が、オペレーティングシステムに基づいて、記憶部2たとえばRAM12から画像データ、音声データ、およびプログラムデータを読み出す。そして、CPU7が、RAM12に格納されたプログラムデータに基づいて、RAM12に格納された画像データや音声データにコマンドを発行する。
【0038】
画像データの場合、CPU7からのコマンドに基づいて、まず、信号処理プロセッサ8が、3次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ9が、信号処理プロセッサ8の計算結果に基づいて、描画すべき画像データのRAM12への書き込み処理などを行う。そして、RAM12に書き込まれた画像データが、インターフェース回路13を介してD/Aコンバータ17に供給される。ここで、画像データがD/Aコンバータ17でアナログ映像信号に変換される。そして、画像データはモニタ20に供給され画像として表示される。
【0039】
音声データの場合、まず、信号処理プロセッサ8が、CPU7からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ8から出力されて、インターフェース回路16を介してD/Aコンバータ15に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路14を介してスピーカー13から音声として出力される。
【0040】
〔コンピュータにおける各種処理概要〕
本コンピュータでは、実空間を移動する移動体に関するデータが収集される。たとえば、本コンピュータでは、実空間を移動するボールに関するデータが収集される。図2は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【0041】
画像データ格納手段50は、実空間を移動するボールが撮影手段たとえばカメラにより撮影されたときに、カメラにより撮影された画像データを記憶部2に格納する機能を備えている。詳細には、画像データ格納手段50は、実空間を移動するボールがカメラにより連続的に撮影されたときに、カメラにより撮影された複数の画像データを記憶部2に格納する機能を備えている。
【0042】
画像データ格納手段50では、実空間を移動するボールがカメラにより撮影されたときに、カメラにより撮影された画像データが記憶部2に格納される。詳細には、画像データ格納手段50では、実空間を移動するボールがカメラにより連続的に撮影されたときに、カメラにより撮影された複数の画像データが記憶部2に格納される。
【0043】
この手段では、実空間を移動するボールがカメラにより連続的に撮影されたときに、カメラにより撮影された複数の画像データがRAM12に格納される。たとえば、カメラの視点が向く方向が互いに直交するように配置された2台のカメラにより実空間を移動するボールが連続的に撮影されたときに、これら2台のカメラそれぞれにより撮影された複数の画像データがRAM12に格納される。ここでは、実空間を移動するボールは、所定の時間間隔(時間変化量データ)でカメラにより連続的に撮影される。
【0044】
具体的には、現実世界の野球において、カメラの視点が向く方向が互いに直交するように設置された2台のカメラにより、投手から投球されたボールが連続的に撮影されたときに、これら2台のカメラそれぞれにより撮影された複数の画像データがRAM12に格納される。
【0045】
より具体的には、球場のグランドには、カメラの視点が向く方向を規定するための規定点が設けられている。ここでは、ホームベース上に第1規定点が設けられており、第1規定点の上方に第2規定点が設けられている。第2規定点は、第1規定点から上方に所定の距離(ex.1.0m)を隔てた位置に設けられている。この第1規定点に視点が向くように第1カメラを設置し、第2規定点に視点が向くように第2カメラを設置することにより、2台のカメラ(第1カメラおよび第2カメラ)の視点が向く方向を、互いに直交させることができる。この状態で設置された2台のカメラにより、投手から投球されたボールが連続的に撮影されると、投球されたボールを直交する2方向から見た2組の複数の画像データが生成される。すると、2組の複数の画像データがRAM12に格納される。
【0046】
ボール位置検知手段51は、記憶部2に格納された画像データを用いて、実空間におけるボールの位置を検知する処理を制御部1に実行させる機能を備えている。詳細には、ボール位置検知手段51は、複数の画像データそれぞれに対して基準点を設定する処理、および複数の画像データそれぞれの基準点に対する相対的なボールの位置を時系列に沿って検知する処理を制御部1に実行させる機能を備えている。より詳細には、ボール位置検知手段51は、複数の画像データそれぞれに対して基準点を有する検知領域を設定する処理、および検知領域において基準点に対するボールの相対的な位置を時系列に沿って検知する処理を制御部1に実行させる機能を備えている。
【0047】
ボール位置検知手段51では、記憶部2に格納された画像データを用いて、実空間におけるボールの位置を検知する処理が、制御部1により実行される。詳細には、ボール位置検知手段51では、複数の画像データそれぞれに対して基準点を設定する処理、および複数の画像データそれぞれの基準点に対する相対的なボールの位置を時系列に沿って検知する処理が、制御部1により実行される。より詳細には、ボール位置検知手段51では、複数の画像データそれぞれに対して基準点を有する検知領域を設定する処理、および検知領域において基準点に対するボールの相対的な位置を時系列に沿って検知する処理が、制御部1により実行される。
【0048】
この手段では、複数の画像データそれぞれに対して基準点を有する検知領域を設定する処理、および検知領域において基準点に対するボールの相対的な位置を時系列に沿って検知する処理が、CPU7により実行される。
【0049】
たとえば、2組の複数の画像データそれぞれに対して基準点を有する検知領域を設定する処理が、CPU7により実行される。ここでは、矩形状の検知領域が用いられ、この検知領域には基準点が規定されている。また、検知領域の内部は、格子状に分割されている。この1格子単位でボールの位置が検知されるようになっている。なお、この1格子単位の1辺は、撮影されたボールの大きさの直径より小さくなるように規定されている。
【0050】
このような検知領域を、各画像データにおいて、基準点が規定点に対応する位置に位置するように重ね合わせる処理が、CPU7により実行される。すると、画像データの検知領域に対応する部分において、形状認識プログラムによって球状のオブジェクトを認識する処理すなわち形状認識プログラムによって撮影されたボールを認識する処理が、CPU7により実行される。すると、格子状の検知領域においてボールの中心点に最も近い交点が、CPU7に認識される。すると、基準点を原点としたときの基準点に対する交点の位置を示す位置データが、CPU7に認識される。このような処理を各組の複数の画像データそれぞれに対して実行することにより、連続的に移動するボールの位置データを時系列に沿って検知することができる。
【0051】
位置データ格納手段52は、制御部1により検知されたボールの位置を示す位置データを記憶部2に格納する機能を備えている。位置データ格納手段52では、制御部1により検知されたボールの位置を示す位置データが、記憶部2に格納される。
【0052】
この手段では、CPU7により検知されたボールの位置を示す位置データが、RAM12に格納される。たとえば、直交する2方向からボールを見たときの、複数のボールの位置データからなる時系列データが、RAM12に格納される。
【0053】
ボール速度検知手段53は、制御部1により検知されたボールの位置の変化量を制御部1に算出させ、ボールの位置の変化量とボールの時間の変化量とに基づいて、ボールの速度を算出する処理を制御部1に実行させる機能を備えている。ボール速度検知手段53では、制御部1により検知されたボールの位置の変化量が、制御部1により算出される。そして、ボールの位置の変化量とボールの時間の変化量とに基づいて、ボールの速度を算出する処理が、制御部1により実行される。
【0054】
この手段では、CPU7により検知されたボールの位置の変化量が、CPU7により算出される。そして、ボールの位置の変化量とボールの時間の変化量とに基づいて、ボールの速度を示す速度データを算出する処理が、CPU7により実行される。
【0055】
たとえば、2点のボールの位置データを用いることにより、2点間のボールの変化量(距離)を算出する処理が、CPU7により実行される。そして、2点間のボールの位置の変化量を示す位置変化量データを、2点間の時間の変化量(所定の時間間隔)を示す時間変化量データで除算する処理が、CPU7により実行される。これにより、各位置におけるボールの速度を示す速度データがCPU7により算出される。この一連の処理をボールの全検知位置において実行することにより、ボールの全検知位置におけるボールの速度データを算出することができる。
【0056】
速度データ格納手段54は、制御部1により算出されたボールの速度を示す速度データを記憶部2に格納する機能を備えている。速度データ格納手段54では、制御部1により算出されたボールの速度を示す速度データが、記憶部2に格納される。
【0057】
この手段では、CPU7により算出されたボールの速度を示す速度データが、RAM12に格納される。たとえば、複数のボールの位置データそれぞれに対応する速度データからなる時系列データが、RAM12に格納される。
【0058】
速度データ認識手段55は、記憶部2に格納されたボールの速度データを制御部1に認識させる機能を備えている。速度データ認識手段55では、記憶部2に格納されたボールの速度データが、制御部1に認識される。
【0059】
この手段では、RAM12に格納されたボールの速度データが、CPU7に認識される。たとえば、RAM12に格納された、複数のボールの位置データそれぞれに対応する速度データからなる時系列データが、CPU7に認識される。
【0060】
軌道算出手段56は、実空間におけるボールの軌道に対応する、仮想空間におけるボールの軌道を、ボールの位置データを用いて制御部1に算出させる機能を備えている。軌道算出手段56では、実空間におけるボールの軌道に対応する、仮想空間におけるボールの軌道が、ボールの位置データを用いて制御部1により算出される。
【0061】
この手段では、実空間におけるボールの軌道に対応する、仮想空間におけるボールの軌道が、ボールの位置データを用いてCPU7により算出される。
【0062】
たとえば、検知領域において検知されたボールの位置を通過する方程式を求める処理が、CPU7により実行される。たとえば、検知領域においてボールが最初に検知された第1位置と検知領域においてボールが最後に検知された第2位置とを初期条件として、第1位置と第2位置の間における検知領域内のボールの位置を通る方程式(第1方程式)を算出する処理が、CPU7により実行される。
【0063】
このように第1方程式が算出されると、この第1方程式によって、検知領域の第1位置から検知領域の第2位置に至るまでのボールの位置を規定することができる。また、検知領域の第1位置から検知領域の第2位置に至るまでの各位置のボールの速度は、算出された各位置における速度が用いられる。
【0064】
また、ボールのリリース位置から検知領域に至るまでのボールの位置を、直線の方程式又は高次の方程式を用いることによって規定することにしておけば、ボールのリリース位置と、検知領域においてボールが最初に検知された第1位置すなわちボールが検知領域に入射した位置とを通る方程式(第2方程式)を規定することができる。
【0065】
このように第2方程式が規定されると、この第2方程式によって、ボールのリリース位置から検知領域の第1位置に至るまでのボールの位置を規定することができる。また、この場合では、ボールのリリース位置から検知領域に至るまでの各位置のボールの速度は、検知領域の第1位置における速度が用いられるようになっている。
【0066】
このように本コンピュータにおいて算出された方程式を野球ゲームプログラムに組み込んでおけば、野球ゲームにおいて投手キャラクタからボールが投球されたときに、従来よりリアルに移動するボールをモニタに表示することができる。
【0067】
なお、第1方程式と第2方程式とが連結される部分がスムーズに連結されない場合は、第1方程式と第2方程式とをスムーズに連結するための連結用の方程式を適宜用意することが望ましい。
【0068】
〔データ収集システムの処理フローと説明〕
次に、実空間を移動するボールに関するデータを収集するためのデータ収集システムの内容についての説明を行う。ここでは、たとえば、現実世界の野球において投手から投球されたボールに関するデータを収集するためのデータ収集システムの具体的な内容についての説明を行う。また、図9に示すデータ収集システムの処理フローについても同時に説明する。
【0069】
ここでは、データ収集システムにおいて利用するための2台のカメラ(第1カメラC1および第2カメラC2)が、球場に設置されている。たとえば、第1カメラC1および第2カメラC2(又はC2’)が、図3に示すように、カメラの視点が向く方向が互いに直交するように球場に設置されている。第1カメラC1は、ホームベース上方の天井に設置されており、第2カメラC2(C2’)は、ホームベース右方(又は左方)の観客席に設置されている。そして、第1カメラC1および第2カメラC2(C2’)それぞれと本コンピュータとは、ネットワークを介して互いに接続されている。このため、第1カメラC1および第2カメラC2(C2’)それぞれにより撮影が行われると、撮影された画像データが、本コンピュータのRAM12に格納される。
【0070】
なお、本実施形態では、右方の第2カメラC2と左方の第2カメラC2’とは、同じ役割を果たすカメラであるため、以下の説明では、右方の第2カメラC2を用いた説明を行うこととする。
【0071】
第1カメラC1および第2カメラC2それぞれにより、投球されたボールが連続的に撮影されると、各カメラにより撮影された複数の画像データがRAM12に格納される(S1)。すなわち、2台のカメラそれぞれにより移動中のボールを異なる方向から撮影することにより、2組の複数の画像データがRAM12に格納される。なお、移動中のボールは、時間変化量データにより規定される時間間隔で各カメラにより連続的に撮影されるようになっている。
【0072】
具体的には、球場のグランドには、図4に示すように、カメラの視点が向く方向を規定するための規定点K1,K2が設けられている。この規定点K1,K2は、カメラの視点が向く方向を規定するための仮想点である。ここでは、ホームベース上に第1規定点K1が設けられており、第1規定点K1の上方に第2規定点K2が設けられている。第1規定点K1は、グランドに設置されたホームベースの重心位置に設けられている。第2規定点K2は、第1規定点K1の上方の所定の距離たとえば1.0(m)離れた位置に設けられている。この第1規定点K1に視点が向くように第1カメラC1は設置され、第2規定点K2に視点が向くように第2カメラC2は設置される。これにより、第1カメラC1および第2カメラC2の視点が向く方向を、互いに直交させることができる。この状態で設置された2台のカメラC1,C2により、投手から投球されたボールが連続的に撮影されると、図5に示すように、投球されたボールを直交する2方向から見た複数の画像データが生成される。そして、2組の複数の画像データがRAM12に格納される。
【0073】
なお、ここでは、各カメラの撮影開始時間は同じであり、撮影開始後の時間間隔は同じである。このため、第1カメラC1により撮影されたある瞬間の画像データと、第2カメラC2により撮影された同じ瞬間の画像データとは、移動中のボールを異なる方向から見たときの同時刻のボールの画像データとなる。また、各カメラの撮影開始後の時間間隔を示す時間変化量データは、本コンピュータのRAM12に予め格納されている。また、ユーザに時間変化量データを直接入力させることにより、時間変化量データがRAM12に格納されるようにしても良い。
【0074】
続いて、RAM12に格納された複数の画像データそれぞれに対して基準点を有する検知領域を設定する処理が、CPU7により実行される(S2)。たとえば、2組の複数の画像データそれぞれに対して矩形状の検知領域を設定する処理が、CPU7により実行される。なお、この矩形状の検知領域には、検知領域におけるボールの相対的な位置を規定するための基準点が規定されている。また、検知領域の内部は格子状に分割されており、この格子単位でボールの位置が検知される。
【0075】
たとえば、矩形状の検知領域R1,R2を、図6に示すように、各画像データにおいて、基準点O1,O2が規定点K1,K2に対応する位置に位置するように重ね合わせる処理が、CPU7により実行される。ここでは、第1カメラC1で撮影された各画像データ用の第1検知領域R1の中央には、第1基準点O1がCPU7により規定されている。また、第2カメラC2で撮影された各画像データ用の第2検知領域R2の下辺中央には、第2基準点O2がCPU7により規定されている。また、各検知領域R1,R2は、各画像データの撮影領域(各カメラC1,C2のフレームサイズ)に一致する大きさに、形成されている。
【0076】
具体的には、第1基準点O1が第1規定点K1に対応する位置に位置するように矩形状の第1検知領域R1を各画像データに重ね合わせる処理が、CPU7により実行される。また、第2基準点O2が第2規定点K2に対応する位置に位置するように矩形状の第2検知領域R2を各画像データに重ね合わせる処理が、CPU7により実行される。なお、ここでは、投球されたボールを捕球する捕手のミット位置が、第1検知領域R1の下辺のいずれかの位置および第2検知領域R2の左辺のいずれかの位置に位置するように、検知領域R1,R2は設定されている。すなわち、第1検知領域R1の下辺のいずれかの位置および第2検知領域R2の左辺のいずれかの位置が、ボールの最終到達位置になる。
【0077】
続いて、矩形状の各検知領域R1,R2において各基準点O1,O2に対するボールの相対的な位置を時系列に沿って検知する処理が、CPU7により実行される(S3)。たとえば、各検知領域R1,R2に対応する部分の画像データにおいて、球状のオブジェクトを認識する処理すなわち撮影されたボールを認識する処理が、CPU7により実行される。
【0078】
すると、図7に示すように、格子状に分割された各検知領域R1,R2においてボールの中心点に最も近い交点が、CPU7に認識される。すると、各基準点O1,O2に対する交点の位置を示す位置データが、CPU7に認識される(S4)。たとえば、第1カメラC1により撮影された画像データを用いると、移動中のボールのx座標およぶy座標がCPU7に認識される。また、第2カメラC2により撮影された画像データを用いると、移動中のボールのy座標およぶz座標がCPU7に認識される。このような各方向の座標を組み合わせることにより、移動中のボールの位置データすなわち3次元座標データが、CPU7に認識される。
【0079】
すると、CPU7に認識されたボールの位置データが、RAM12に格納される。すなわち、直交する2方向からボールを見たときの、複数のボールの位置データからなる時系列データが、RAM12に格納されることになる。このような処理を各組の複数の画像データそれぞれに対して実行することにより、連続的に移動するボールの各瞬間の位置データすなわち3次元座標データを、検知することができ収集することができる。
【0080】
続いて、CPU7により検知されたボールの位置の変化量が、CPU7により算出される(S5)。時間的に隣接した2つの瞬間のボールの位置データを用いることにより、2点間のボールの変化量(距離)を算出する処理が、CPU7により実行される。ここでは、この2点間のボールの変化量が三平方の定理に基づいて算出される。
【0081】
すると、ボールの位置の変化量とボールの時間の変化量とに基づいて、ボールの速度を示す速度データを算出する処理が、CPU7により実行される(S6)。たとえば、2点間のボールの位置の変化量を示す位置変化量データを、撮影開始後の時間間隔を示す時間変化量データで除算する処理が、CPU7により実行される。これにより、各瞬間におけるボールの速度を示す速度データがCPU7により算出される。この一連の処理をボールの全検知時間において実行することにより、ボールの全検知時間におけるボールの速度データを算出することができる。
【0082】
すると、CPU7により算出されたボールの速度データが、RAM12に格納される。たとえば、複数のボールの位置データそれぞれに対応する速度データからなる時系列データが、RAM12に格納される。そして、RAM12に格納されたボールの速度データが、CPU7に認識される。たとえば、RAM12に格納された、複数のボールの位置データそれぞれに対応する速度データからなる時系列データが、CPU7に認識される。このようにして、連続的に移動するボールの各瞬間の速度データを、収集することができCPU7に認識させることができる。
【0083】
続いて、投手キャラクタから投球されたボールの軌道に対応する、野球ゲーム空間において投手キャラクタから投球されるボールの軌道を示す軌道方程式が、ボールの位置データを用いてCPU7により算出される(S7)。すると、算出された軌道方程式がRAM12に格納される(S8)。
【0084】
ここでは、まず、実空間において収集された位置データおよび速度データを野球ゲーム空間で利用することができるように写像変換する処理が、CPU7により実行される。たとえば、実空間において収集されたデータの単位を、野球ゲーム空間で用いられるデータの単位に変換する処理が、CPU7により実行される。すると、この処理後の位置データおよび速度データが、野球ゲーム空間における位置データおよび速度データとしてRAM12に格納されCPU7に認識される。
【0085】
続いて、各検知領域R1,R2において検知されたボールの位置を通過する方程式を求める処理が、CPU7により実行される。たとえば、各検知領域R1,R2においてボールが最初に検知された第1位置N1(ボールが各検知領域R1,R2に入射した位置)と各検知領域R1,R2においてボールが最後に検知された第2位置N2とを初期条件として、第1位置N1と第2位置N2の間における各検知領域内のボールの位置を通る軌道H1を示す方程式(第1方程式)たとえばスプライン関数や高次方程式等を算出する処理が、CPU7により実行される(図7を参照)。なお、この第1方程式によって規定されたボールの各位置の速度データには、上述した各位置における速度データが用いられる。
【0086】
続いて、ボールのリリース位置から各検知領域R1,R2に至るまでのボールの位置が、図8に示すように、直線の方程式に基づいて規定される。すなわち、この直線の方程式は、ボールのリリース位置Boと各検知領域R1,R2の第1位置N1とを通る軌道H2を示す方程式(第2方程式)である。ここで、ボールのリリース位置が固定されている場合は、ボールのリリース位置用の位置データおよび各検知領域R1,R2の第1位置用の位置データを初期条件として、第2方程式を算出する処理が、CPU7により実行される。しかしながら、ボールのリリース位置が決定されていない場合たとえば投球ごとにリリース位置が変化するような場合は、ボールのリリース位置用の位置データは変数の状態で、ボールのリリース位置用の位置データおよび各検知領域R1,R2の第1位置用の位置データを初期条件として、第2方程式を算出する処理が、CPU7により実行される。なお、この第2方程式によって規定されたボールの各位置の速度データには、各検知領域R1,R2の第1位置N1における速度データが用いられる。
【0087】
本発明では、コンピュータにおいて算出された上記の方程式を、野球ゲームプログラムに組み込むことにより、野球ゲームにおいて投手キャラクタからボールが投球されたときに、従来よりリアルなボールの移動状態をゲーム機のモニタに表示することができる。なお、投球ごとにリリース位置が変化するような野球ゲームでは、上述したように、ボールのリリース位置用の位置データが変数の状態で第2方程式が算出されている。このため、このような野球ゲームでは、投手キャラクタからボールがリリースされたときに、ボールのリリース位置用の位置データがゲーム機のCPUに認識され、このボールのリリース位置用の位置データを第2方程式に代入する処理がゲーム機のCPUにより実行される。これにより、第2方程式が一意に決定され、投手キャラクタから投球されたボールの位置を決定することができる。
【0088】
また、本発明では、本コンピュータにおいて収集された各種のデータに基づいて、現実世界の投手の配球データ、投手の球種データ、投手の変化球の変化率データ、および投手の球速データ等を分析することができる。そして、分析されたデータを野球ゲームプログラムで用いることにより、従来の野球ゲームよりリアルな野球ゲームを実現することができる。
【0089】
なお、本発明では、ベース近傍のボール位置データたとえば3次元座標データをリアルタイムに検出することができる。このため、この3次元座標データを用いることにより、実空間を移動するボールのコースをリアルタイムに判別することができる。これにより、実空間において投球されたボールのコースの判定(ストライクおよびボールの判定)を、自動的に行うことができる。
【0090】
〔他の実施形態〕
(a)前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用コンピュータを用いた場合の例を示したが、家庭用コンピュータは、前記実施形態に限定されず、モニタが別体に構成されたコンピュータ、モニタが一体に構成されたコンピュータ、ゲームプログラムを実行可能なワークステーションなどにも同様に適用することができる。
【0091】
(b)本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。
【0092】
(c)前記実施形態では、2台のカメラ(第1カメラC1および第2カメラC2)を用いることによりボールの位置データたとえば3次元座標データを検出する場合の例を示したが、ボールの位置データを検出する形態は、前記実施形態に限定されず、どのようにしても良い。
【0093】
たとえば、第1カメラC1のみを用いることにより、ボールの位置データたとえば3次元座標データを検出することも可能である。この場合、第1カメラC1により撮影された画像データを用いることにより、前記実施形態と同様に、移動中のボールのx方向座標およびy方向座標を検出することができる。また、第1カメラC1により撮影された画像データにおいてボールが認識されたときに、認識されたボールの大きさの大小によってz方向の座標を算出する処理をCPU7に実行させることにより、移動中のボールのz方向座標を検出することができる。このように、第1カメラC1だけであっても、移動中のボールの3次元座標データを検出することができる。なお、この場合は、認識されたボールの大きさとz方向の座標との対応関係を示すテーブルを事前に用意しておく必要がある。
【0094】
また、たとえば、第2カメラC2および反射型センサを用いることにより、ボールの位置データたとえば3次元座標データを検出することも可能である。この場合、第2カメラC2により撮影された画像データを用いることにより、前記実施形態と同様に、移動中のボールのy方向座標およびz方向座標を検出することができる。また、ここでは、反射型センサをグランドに埋め込むことにより、グランドとホームベースの上方を移動するボールとの距離を検出することができる。このように、第2カメラC2および反射型センサを用いることにより、移動中のボールの3次元座標データを検出することができる。
(d)前記実施形態では、本発明が野球において用いられる場合の例を示したが、本発明は野球以外にサッカー等においても用いることができる。たとえば、本発明がサッカーのいて用いられた場合、サッカーのシュート等に関するデータを収集することができる。
【図面の簡単な説明】
【0095】
【図1】本発明の一実施形態によるデータ収集装置の基本構成図。
【図2】前記データ収集装置において実現される機能を説明するための機能ブロック図。
【図3】カメラの設置位置を説明するための図。
【図4】カメラの視点が向く方向を規定するための規定点の位置を説明するための図。
【図5】2台のカメラにより撮影された画像を示す図。
【図6】画像データに設定された検知領域を説明するための図。
【図7】ボール位置の検出形態および軌道の算出形態を説明するための図。
【図8】ボールの軌道の算出形態を説明するための図。
【図9】データ収集システムを説明するためのフローチャート。
【符号の説明】
【0096】
1 制御部
3 画像表示部
5 操作入力部
7 CPU
17 キーボード
20 モニタ
50 画像データ格納手段
51 ボール位置検知手段
52 位置データ格納手段
53 ボール速度検知手段
54 速度データ格納手段
55 速度データ認識手段
56 軌道算出手段
C1,C2 撮影手段(カメラ)
K1,K2 規定点(第1規定点、第2規定点)
O1,O2 基準点(第1基準点、第2基準点)
R1,R2 検知領域(第1検知領域、第2検知領域)

【特許請求の範囲】
【請求項1】
実空間を移動する移動体に関するデータを収集するためのコンピュータに、
実空間を移動する前記移動体が撮影手段により撮影されたときに、撮影手段により撮影された画像データを記憶部に格納する画像データ格納機能と、
記憶部に格納された前記画像データを用いて、実空間における前記移動体の位置を検知する処理を制御部に実行させる移動体位置検知機能と、
制御部により検知された前記移動体の位置を示す位置データを記憶部に格納する位置データ格納機能と、
を実現させるためのプログラム。
【請求項2】
前記画像データ格納機能では、実空間を移動する移動体が撮影手段により連続的に撮影されたときに、撮影手段により撮影された複数の前記画像データが記憶部に格納され、
前記移動体位置検知機能では、複数の前記画像データそれぞれに対して基準点を設定する処理、および複数の前記画像データそれぞれの前記基準点に対する相対的な前記移動体の位置を時系列に沿って検知する処理が、制御部により実行される、
請求項1に記載のプログラム。
【請求項3】
前記移動体位置検知機能では、複数の前記画像データそれぞれに対して基準点を有する検知領域を設定する処理、および前記検知領域において前記基準点に対する前記移動体の相対的な位置を時系列に沿って検知する処理が、制御部により実行される、
請求項2に記載のプログラム。
【請求項4】
前記コンピュータに、
制御部により検知された前記移動体の位置の変化量を制御部に算出させ、前記移動体の位置の変化量と前記移動体の時間の変化量とに基づいて、前記移動体の速度を算出する処理を制御部に実行させる移動体速度検知機能と、
制御部により算出された前記移動体の速度を示す速度データを記憶部に格納する速度データ格納機能と、
をさらに実現させるための請求項1から3のいずれかに記載のプログラム。
【請求項5】
前記コンピュータに、
実空間における前記移動体の軌道に対応する、仮想空間における前記移動体の軌道を、前記移動体の位置データを用いて制御部に算出させる軌道算出機能と、
を実現させるための請求項1から4のいずれかに記載のプログラム。
【請求項6】
実空間を移動する移動体に関するデータを収集するためのデータ収集装置であって、
実空間を移動する前記移動体が撮影手段により撮影されたときに、撮影手段により撮影された画像データを記憶部に格納する画像データ格納手段と、
記憶部に格納された前記画像データを用いて、実空間における前記移動体の位置を検知する処理を制御部に実行させる移動体位置検知手段と、
制御部により検知された前記移動体の位置を示す位置データを記憶部に格納する位置データ格納手段と、
を備えるデータ収集装置。
【請求項7】
実空間を移動する移動体に関するデータを収集するための機能をコンピュータにより制御する制御方法であって、
実空間を移動する前記移動体が撮影手段により撮影されたときに、撮影手段により撮影された画像データを記憶部に格納する画像データ格納ステップと、
記憶部に格納された前記画像データを用いて、実空間における前記移動体の位置を検知する処理を制御部に実行させる移動体位置検知ステップと、
制御部により検知された前記移動体の位置を示す位置データを記憶部に格納する位置データ格納ステップと、
を備える制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−241476(P2008−241476A)
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願番号】特願2007−82789(P2007−82789)
【出願日】平成19年3月27日(2007.3.27)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】