JP3463379B2 - 画像制御装置及び画像制御方法 - Google Patents
画像制御装置及び画像制御方法Info
- Publication number
- JP3463379B2 JP3463379B2 JP28120294A JP28120294A JP3463379B2 JP 3463379 B2 JP3463379 B2 JP 3463379B2 JP 28120294 A JP28120294 A JP 28120294A JP 28120294 A JP28120294 A JP 28120294A JP 3463379 B2 JP3463379 B2 JP 3463379B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- collision
- operator
- bat
- chroma key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8011—Ball
Landscapes
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Description
アリティ(仮想現実感)を創出するビデオゲームなどに
用いて好適な画像制御装置及び画像制御方法に関する。
オブジェクト画像を動画制御したり、効果音を発生させ
たりする画像制御装置が各種実用化されている。なお、
ここで言うオブジェクト画像とは、ゲーム画面に表示さ
れる「キャラクタ」を指し、背景となるバックグラウン
ド画面上に移動表示されるものである。この種の装置
は、ビデオゲームあるいはTVゲームと呼ばれ、遊戯者
の反射神経を問うシューティングゲームや、仮想的な現
実感をシミュレートするゲーム等が知られている。
対応したビデオ信号を発生する画像処理部と、この画像
処理部から供給されるビデオ信号を映像表示するディス
プレイとから構成される。画像処理部は、CPU、RO
MおよびRAM等から構成され、例えば、ROMパック
に記憶された画像情報および制御情報を順次読み出し、
画面背景となるバックグラウンド画像をディスプレイに
表示すると共に、ゲーム操作に応じて対応するキャラク
タ(オブジェクト画像)を画面背景上を動画表示し、そ
の動きに応じた効果音を発音するようにしている。
に、従来の画像制御装置では、操作パッドの操作に応じ
てオブジェクト画像を表示制御するのが一般的であり、
仮想的な現実感をシミュレートするゲームでは不向きに
なることが多い。つまり、仮想的な現実感を追求するに
は、実際の行動(行為)に即した形態で画像制御にする
必要がある。例えば、投球シーンを画面に表示し、この
表示画面に基づいて遊戯者がバッティング動作するよう
にしたシミュレーションゲームでは、操作パッドに替え
て「バット」が操作子となり、この「バット」の位置あ
るいは動きに応じて画像制御することが要求される。
クロマキー検出処理により操作子の位置や動きを検出す
る手法が有効である。クロマキー検出処理とは、この場
合、特定色に色付けされた「バット(操作子)」を撮像
画像からクロマキー抽出し、これにより遊戯者が持つ操
作子(バット)の位置や動きを画面上の位置として検出
する。そして、検出した操作子の位置と画面に表示され
る「ボール像(オブジェクト画像)」とが予め定められ
たタイミング時点に重なり合った時に、「ボール像(オ
ブジェクト画像)」と「バット(操作子)」とが衝突し
たと見做し、打撃操作に応じて飛翔する「ボール像(オ
ブジェクト画像)」を表示制御する。
をシミュレートする装置では、投球シーンにおいて、
「ボール像」があたかも遊戯者(打者)の方へ飛んでく
るように、その表示位置と大きさとを表示制御する訳で
あるが、徐々に形状が大きくなる「ボール像」を画面表
示して”ボールが飛んでくる状態”をシミュレートして
も、いま一つ「打者の手元に飛んでくる」という仮想現
実感に欠けるという問題がある。
ると、打者は投手が投げたボールを打撃の瞬間まで見定
めることはなく、多くの場合、投手からボールがリリー
スされた時点から直接視野で球道を見定め、ある距離ま
でボールが接近した時点からは間接視野でボールを捉え
てミートのタイミングを計り、これを打撃するようにし
ている。したがって、バッティング動作をシミュレート
する装置においても、このような実際の打撃態様に即し
て、投球時点からある距離まではボールが接近してくる
ように見えるよう表示制御し、これ以後の間接視野でボ
ールを捉える、謂わば仮想空間をモデルリングすれば、
あたかも打者の手元に飛んでくるボールをミートすると
いう仮想現実感を醸し出すことが可能になる。
されたもので、あたかも遊戯者の手元で打撃操作すると
いう仮想現実感を創出し得る画像制御装置及び画像制御
方法を提供することを目的としている。
め、請求項1に記載の発明では、 撮像画像から特定色の
操作子を表わすクロマキー像を抽出すると共に、この撮
像画像中におけるクロマキー像の位置および大きさを検
出する特徴点検出手段と、この特徴点検出手段によって
検出されるクロマキー像の位置および大きさを、仮想空
間内に仮想配置される前記操作子の3次元位置とその操
作量とに変換する操作子情報発生手段と、前記操作子の
衝突対象となるオブジェクト画像の移動軌跡を、前記仮
想空間内の3次元位置に変換するオブジェクト情報発生
手段と、前記仮想空間内における前記操作子の3次元位
置と前記オブジェクト画像の3次元位置とが予め設定さ
れる衝突条件下で衝突するか否を判定する衝突判定手段
と、前記オブジェクト画像の3次元位置が仮想空間内に
て定義される表示空間であるか非表示空間であるかを判
別し、この表示空間内にオブジェクト画像が存在する時
には、当該表示空間に対応する移動軌跡に従ってオブジ
ェクト画像を画面表示し、一方、前記非表示空間内にて
前記衝突判定手段が衝突判定した時には、前記操作子の
操作量に応じた移動軌跡を生成し、この移動軌跡に従っ
て前記操作子と衝突した後のオブジェクト画像を画面表
示する表示信号を出力する表示制御手段とを具備するこ
とを特徴とする。
施態様項の内、請求項2に記載の発明によれば、前記特
徴点検出手段は、抽出したクロマキー像の重心位置およ
び面積を検出することを特徴とする。また、請求項3に
記載の発明によれば、前記操作子情報発生手段は、前記
特徴点検出手段によって検出されるクロマキー像の位置
を仮想空間のxy平面に写像してxy座標値(x,y)
とし、当該クロマキー像の大きさに応じてz座標値を定
めて操作子の3次元位置(x,y,z)を生成すること
を特徴とする。さらに、請求項4に記載の発明では、前
記操作子情報発生手段は、クロマキー像の面積変化から
操作子のスイング速度を算出すると共に、そのスイング
速度のピーク値を検出することを特徴とする。請求項5
に記載の発明では、前記衝突判定手段は、操作子の3次
元位置に対応して定められる衝突可能領域と、当該操作
子のスイングタイミング範囲とからなる衝突判定パラメ
ータに従って仮想空間内における前記操作子と前記オブ
ジェクト画像との衝突の有無を判定することを特徴とす
る。また、請求項6の発明では、撮像画像から特定色の
操作子を表わすクロマキー像を抽出すると共に、この撮
像画像中におけるクロマキー像の位置および大きさを検
出する特徴点検出ステップと、この特徴点検出ステップ
にて検出されるクロマキー像の位置および大きさを、仮
想空間内に仮想配置される前記操作子の3次元位置とそ
の操作量とに変換する操作子情報発生ステップと、前記
操作子の衝突対象となるオブジェクト画像の移動軌跡
を、前記仮想空間内の3次元位置に変換するオブジェク
ト情報発生ステップと、前記仮想空間内における前記操
作子の3次元位置と前記オブジェクト画像の3次元位置
とが予め設定される衝突条件下で衝突するか否かを判定
する衝突判定ステップと、前記オブジェクト画像の3次
元位置が仮想空間内にて定義される表示空間であるか非
表示空間であるかを判別し、この表示空間内にオブジェ
クト画像が存在する時には、当該表示空間に対応する移
動軌跡に従ってオブジェクト画像を画面表示し、一方、
前記非表示空間内にて前記衝突判定ステップにて衝突判
定した時には、前記操作子の操作量に応じた移動軌跡を
生成し、この移動軌跡に従って前記操作子と衝突した後
のオブジェク ト画像を画面表示する表示信号を出力する
表示制御ステップとからなることを特徴としている。
撮像画像から特定色のクロマキー像を抽出して撮像画像
中におけるクロマキー像の位置および大きさを仮想空間
内に仮想配置される操作子の3次元位置とその操作量と
に変換し、衝突判定ステップにて前記操作子の衝突対象
となるオブジェクト画像の移動軌跡を、前記仮想空間内
の3次元位置に変換し、このオブジェクト画像の3次元
位置と前記操作子の3次元位置とが衝突するか否を判定
する。そして、表示制御ステップにて前記移動軌跡に従
ってオブジェクト画像を表示させる一方、前記衝突判定
ステップにて衝突を判定した場合には、前記操作子の操
作量に対応した移動軌跡を生成し、この移動軌跡に従っ
て前記操作子と衝突した後のオブジェクト画像を表示さ
せる表示信号を出力するので、例えば、後述する実施例
のように、投球される球筋(軌跡)が仮想空間内でシミ
ュレートされるから、この結果、あたかも打者の手元に
飛んでくるボールを打撃するという仮想現実感を創出す
ることが可能になる。
て説明する。 A.実施例の概要 図1は、本発明による画像制御装置の全体構成を示す外
観図であり、バッティング操作をシミュレートする野球
ゲームに適用した一例を図示している。この図におい
て、1はCCD等の固体撮像素子を備える撮像部であ
り、バッターボックス(図示略)に位置する遊戯者Bを
撮像する。ここで、遊戯者Bは、例えば、クロマキー検
出用として「青色」に着色されたバットBATを用いて
バッティング動作する。
実画像からこの特定色のクロマキー像(バットBAT
像)を抽出し、これによりバットBATの位置や動きを
画面上の位置として検出する。そして、検出した操作子
の位置と画面に表示される「ボール像(オブジェクト画
像)」との衝突が後述する動作により判定された場合、
その打撃操作に応じて飛翔する「打球像(オブジェクト
画像)」を表示制御する。また、装置本体2は、ゲーム
の背景シーンとなるバックグラウンド画像と、このバッ
クグラウンド画像上を移動表示されるオブジェクト画像
とを合成してディスプレイ3に表示する。
オブジェクト画像は、バットBAT像の位置、面積およ
び重心位置に対応して表示制御されるようになってお
り、その詳細については後述する。ディスプレイ3に
は、装置本体2の表示制御結果に基づき、例えば、背景
シーン上における投手のスローイング動作や、スローイ
ングに応じたボールの飛翔動作、あるいは打撃操作に対
応する打球の飛翔動作などが動画表示されるようになっ
ている。
明の特徴について図2を参照して説明する。前述したよ
うに、実際の打撃動作において、打者は投手が投げたボ
ールを打撃の瞬間まで見定めることはなく、投球時点か
ら直接視野で球道を見定め、ある距離までボールが接近
した時点から間接視野でボールを捉えてミートのタイミ
ングを計り、これを打撃するようにしている。そこで、
本発明による画像制御装置では、こうした点に着目し、
投球時点からある距離まではボールが接近してくるよう
に見えるよう画面表示し、これ以後の間接視野でボール
を捉える仮想空間をモデル化することで、あたかも打者
の手元に飛んでくるボールをミートするという仮想現実
感を創出するものである。
点からある距離までは遊戯者Bに対してボールが接近し
てくるように見えるよう画面表示される空間SP1と、
これ以後の間接視野でボールを捉える仮想空間を、「ボ
ールが画面表示されない空間SP2」と定義すると共
に、この空間SP2中に操作子(バットBAT)が存在
し得る空間SP3を定義する。つまり、仮想的に投球さ
れる「ボール」と、遊戯者Bによって打撃操作される
「バットBAT」とを3次元座標(x,y,z)にて上
記空間SP1〜SP3をモデリングすることで、打者の
手元に飛んでくるボールをミートするという仮想現実感
を創出することを特徴としており、以下、こうした特徴
を具現する実施例の構成および動作について順次説明す
る。
て説明する。なお、これらの図において、図1に示した
全体構成の各部と共通する要素には同一の番号を付して
いる。 (1)撮像部1の構成 撮像部1は、図4に図示するように、構成要素10〜1
3から構成されている。図4において、10は発振回路
であり、8倍オーバーサンプリング信号8fSCを発生し
て出力する。11はこの8倍オーバーサンプリング信号
8fSCを次段のクロックドライバ12に供給すると共
に、CCD13から出力される撮像信号SSをサンプリ
ング画像データDSに変換する撮像信号処理部であり、
その構成については後述する。クロックドライバ12
は、発振回路10から供給される8倍オーバーサンプリ
ング信号8fSCに基づき、水平駆動信号、垂直駆動信
号、水平/垂直同期信号および帰線消去信号等の各種タ
イミング信号を発生する一方、上記水平駆動信号および
垂直駆動信号に対応する撮像駆動信号を発生してCCD
13に供給する。CCD13は、この撮像駆動信号に従
って撮像信号SSを発生する。
給される撮像信号SSをコンディショニングした後、A
/D変換してサンプリング画像データDSを発生するも
のであり、その概略構成について図5を参照して説明す
る。図5において、11aはサンプリング回路であり、
上述したクロックドライバ12から供給される4倍オー
バーサンプリング信号4fSCに応じて撮像信号SSをサ
ンプルホールドして次段へ出力する。11bはサンプリ
ングされた撮像信号SSを所定レベルに変換して出力す
るAGC(自動利得制御)回路である。11cは、撮像
信号SSのガンマ特性をγ=1/2.2に補正して出力
するγ補正回路である。11dは、このガンマ補正され
た撮像信号SSを8ビット長のサンプリング画像データ
DSに変換して出力するA/D変換回路である。サンプ
リング画像データDSは、後述するビデオ信号処理部2
0に供給される。11eはビデオ信号処理部20から供
給されるコンポジット映像信号DCVをアナログビデオ信
号SVに変換して前述したディスプレイ3に出力するD
/A変換回路である。
検出部50、衝突判定部60および制御部70から構成
されており、以下これら各部について詳述する。 特徴点検出部50の構成 まず、特徴点検出部50は、撮像部1から供給される撮
像信号SSにクロマキー検出を施してバットBAT像の
位置、面積および重心位置を抽出するクロマキー検出処
理部41と、このクロマキー検出処理部41によって生
成される特徴パラメータ、すなわち、バットBAT像の
位置、面積および重心位置を一時記憶するパラメータメ
モリ42とから構成される。さらに、クロマキー検出処
理部41は、図4に示すようにビデオ信号処理部20、
画像処理部30および位置検出処理部40から構成され
ており、以下これら各部について詳述する。
供給されるサンプリング画像データDSに対して色差変
換処理とクロマキー検出処理とを施し、その結果を後述
する位置検出処理部40に供給する。また、この処理部
20は、後述する画像処理部30から供給される画像処
理データDSPをコンポジット映像信号D CVに変換し、前
述したD/A変換回路11e(図5参照)に供給する。
なお、この画像処理データDSPとは、バックグラウンド
画像と、当該バックグラウンド画像上に移動表示される
オブジェクト画像とを合成したCG画像を形成するもの
である。
するビデオ信号処理部20の構成について説明する。図
6において、20aは色分離フィルタであり、サンプリ
ング画像データDSを信号Ye(イエロー)、信号Cy
(シアン)および信号G(グリーン)に色分離して次段
へ出力する。20bは映像信号中における変化点の前後
に対して輝度変調を施して画質調整する輪郭補正回路で
ある。20cはホワイトバランス回路であり、各信号Y
e,Cy,Gを規定レベルに設定して出力する。20d
はバンドパスフィルタで構成される分別フィルタであ
り、各信号Ye,Cyを信号R(赤)および信号B
(青)に分別して出力する。20eは三原色を表わす信
号R,G,Bを各8ビット長の輝度信号Y、色差信号B
−Y,R−Yに変換するマトリクス回路である。
後述するCPU71(図3参照)から与えられるR−Y
閾値およびB−Y閾値に応じた閾値設定領域内に、色差
信号B−Y,R−Yがそれぞれ収る時にクロマキー検出
した旨を表わす「H」レベルのクロマキー検出信号CR
Oを出力する。なお、この実施例では、R−Y閾値およ
びB−Y閾値は、「青色」に対応するよう設定される。
20gは、マトリクス回路20eから出力される各8ビ
ット長の輝度信号Y、色差信号B−Y,R−Yを、4ビ
ット長の輝度信号Y’、2ビット長の色差信号B−
Y’,R−Y’に変換する色差変換回路である。
ら供給される画像処理データDSP(RGB信号)を輝度
信号Y、色差信号B−Y,R−Yに変換するマトリクス
回路である。20iはセレクタであり、後述する位置検
出処理部40から供給されるセレクト信号SLに応じて
マトリクス回路20eの出力、あるいはマトリクス回路
20hの出力のいずれかを選択して次段へ供給する。2
0jはモジュレータである。モジュレータ20jは、セ
レクタ20iを介して供給される輝度信号Y、色差信号
B−Y,R−Yに各種同期信号(水平/垂直同期信号お
よび帰線消去信号)を重畳したディジタルコンポジット
映像信号DCVを生成する。
は、撮像部1から供給されるサンプリング画像データD
Sを輝度信号Y’、2ビット長の色差信号B−Y’,R
−Y’に変換すると共に、クロマキー検出信号CROを
発生して画像処理部30(後述する)側へ供給する。ま
た、この処理部20は、画像処理部30側から入力され
る画像処理データDSP(RGB信号)、あるいは撮像部
1から供給されるサンプリング画像データDSのいずれ
かをセレクト信号SLに応じて選択し、選択されたデー
タをコンポジット映像信号DCVに変換して出力する。な
お、セレクト信号SLは、後述する位置検出処理部40
から供給される信号である。
理部30は、図4に示すように、ビデオディスプレイプ
ロセッサ(以下、VDPと略す)31とVRAM32と
から構成される。VDP31の基本的機能は、VRAM
32に格納されるバックグラウンド画像データDBGおよ
びオブジェクト画像データDOBを制御部70(後述す
る)側から供給される制御信号SCに応じて読み出し、
これを1走査ライン毎のドット表示色を表わす画像処理
データDSPを発生することにある。以下、図7を参照し
て画像処理部30の構成について詳述する。
ース回路であり、制御部70を構成するCPU71のバ
スを介して供給される制御信号SCに応じて構成要素3
1b〜31dに各種制御指示を与える。制御信号SC
は、バックグラウンド画像およびオブジェクト画像を表
示制御する各種コマンドや、VRAM32にDMA転送
されるバックグラウンド画像データDBGおよびオブジェ
クト画像データDOBから形成される。31bはVRAM
コントロール回路であり、構成要素31a,31cおよ
び31dから供給される制御信号に対応してVRAM3
2とのデータ授受を行う。
31aからDMA転送する旨の制御信号SCを受けた場
合には、当該回路31aを介してDMA転送されるバッ
クグラウンド画像データDBG、あるいはオブジェクト画
像データDOBを所定の記憶エリアに格納する。また、バ
ックグラウンドコントロール回路31cからバックグラ
ウンド画像データDBGを読み出す旨の指示を受けた場
合、対応するデータDBGを読み出して回路31c側に返
送する。これと同様に、オブジェクトコントロール回路
31dからオブジェクト画像データDOBを読み出す旨の
指示を受けた場合、対応するデータDOBを読み出して回
路31d側に返送する。
は、回路31aを介して制御部70側から与えられるバ
ックグラウンド表示制御コマンドに基づき、VRAMコ
ントロール回路31bを経由して読み出されたバックグ
ラウンド画像データDBGに対して表示位置を指定した
後、色差データ処理回路31eへ供給する。また、この
回路31cは、上述したビデオ信号処理部20から供給
される輝度信号Y’,色差信号B−Y’,R−Y’、す
なわち、撮像部1によって撮像された1フレーム分のサ
ンプリング画像を、VRAMコントロール回路31bを
介してVRAM32に格納する。つまり、撮像した画像
をバックグラウンド画像データDBGにすることが可能に
なっている。
回路31aを介して制御部70側から与えられるオブジ
ェクトテーブルデータTOBをオブジェクトテーブルRA
M31fに書き込む。オブジェクトテーブルデータTOB
とは、表示画面におけるオブジェクト画像データDOBの
表示位置を指定する座標データである。また、当該回路
31dは、オブジェクト表示制御コマンドに応じてVR
AM32から読み出されたオブジェクト画像データDOB
に対し、上記オブジェクトテーブルデータTOBを参照し
て表示位置を求めると共に、1走査ライン分のオブジェ
クト画像データDOBをラインバッファRAM31gに一
時記憶する。ラインバッファRAM31gに一時記憶さ
れるオブジェクト画像データDOBは、1走査毎に更新さ
れる。このRAM31gから読み出されたオブジェクト
画像データDOBは、色差データ処理回路31eに供給さ
れる。
ウンドコントロール回路31cおよびオブジェクトコン
トロール回路31dから供給される8ビット長の画像デ
ータDBG,DOBを、周知のカラールックアップテーブル
RAM31hを参照して各4ビット長のR信号,G信号
およびB信号から形成される画像処理データDSPに変換
して出力する。また、この色差データ処理回路31e
は、上述した画像処理データDSP(RGB信号)の他、
信号YSBGおよび信号YSOBJを発生する。
在出力している画像処理データDSPがバックグラウンド
画像データDBGに対応するものであるか、あるいはオブ
ジェクト画像データDOBに対応するものであるかを表わ
す信号である。例えば、現在出力している画像処理デー
タDSPがバックグラウンド画像データDBGに対応するも
のである時には、信号YSBGが「H(ハイ)」とな
り、信号YSOBJが「L(ロウ)」になる。一方、こ
れとは逆に画像処理データDSPがオブジェクト画像デー
タDOBに対応するものであれば、信号YSBGが「L」
となり、信号YSOBJが「H」になる。
70側からDMA転送されるバックグラウンド画像デー
タDBGおよびオブジェクト画像データDOBをVRAM3
2に格納しておき、CPU71から供給される制御信号
SC(各種表示制御コマンド)に応じてこのVRAM3
2から画像データDBGあるいは画像データDOBを読み出
し、これを1走査ライン毎のドット表示色を表わす画像
処理データDSPを発生すると共に、当該画像処理データ
DSPの表示属性を表わす信号YSBGおよびYSOBJ
を出力する。
なるゲートアレイとラインバッファとから構成されてお
り、後述する制御部70の指示の下にサンプリング画像
データDS中に含まれるクロマキー像の座標位置や、当
該クロマキー像の面積および重心位置を、予め定められ
たロジックに基づいて論理演算する。図示されていない
ラインバッファには、ビデオ信号処理部20から供給さ
れるクロマキー検出信号CROが一走査ライン分、順次
一時記憶されることによってクロマキー検出が施され、
1画面分完了した時点で上記論理演算に基づき、クロマ
キー像の座標位置、当該クロマキー像の面積および重心
位置からなる特徴パラメータが定まり、これが後段の特
徴パラメータメモリ42にセットされる。
部30から供給される信号YSBGおよびYSOBJに
基づき、前述したセレクト信号SLを発生してビデオ信
号処理部20に与え、サンプリング画像データDS(実
画像)と画像処理データDSP(CG画像)との重なり具
合、つまり、画面表示される画像の優先順位(前後関
係)を制御する。さらに、処理部40は、制御部70の
指示の下に前述した撮像信号処理部11、ビデオ信号処
理部20およびVDP31へそれぞれレジスタコントロ
ール信号SREGを供給し、各部レジスタのデータセット
/リセットを制御する。
リ42のレジスタ構成について説明する。このメモリ4
2は、上記構成による位置検出処理部40から供給され
るクロマキー像の座標位置や、当該クロマキー像の面積
および重心位置などの特徴パラメータを一時記憶するも
のであり、これらパラメータは以下に説明するエリアE
1〜E8に格納される。図8において、E1は初期画面
エリアであり、水平方向(走査ライン)当り96ドッ
ト、垂直方向に96ラインから形成される初期画面のデ
ータを一時記憶する。初期画面のデータとは、ゲーム開
始に先立って撮像されたシーン内に存在するクロマキー
検出結果を指す。シーン内にクロマキー検出色(例え
ば、青色)の物体が存在した場合、前述したバットBA
T(図1参照)の一部と誤認する虞がある。そこで、初
期画面エリアE1に一時記憶されるデータは、クロマキ
ー検出されたドット位置をバットBAT(図1参照)と
誤認しないようにするため、当該ドット位置を不感帯と
する際に用いられる。
ラインで形成される処理画面エリアであり、実画像にお
いてクロマキー検出されるバットBAT像(あるいは調
整パネル像CP)およびCG画像中のオブジェクト画像
(本実施例では、ボール像)が1フレーム毎に更新記憶
される。E3〜E4は、それぞれ1フレーム毎に更新さ
れる処理画面でのバットBAT像の上端/下端位置を一
時記憶する上端座標エリア、下端座標エリアである。E
5〜E6は、それぞれ1フレーム毎に更新される処理画
面でのバットBAT像(あるいは調整パネル像CP)の
左端/右端位置を一時記憶する左端座標エリア、右端座
標エリアである。E7は重心座標エリアであり、実画像
にてクロマキー検出されるバットBAT像の面積(後述
する)に基づき算出される重心位置を処理画面上の座標
位置が記憶される。
バットBAT像の面積が記憶される面積エリアである。
この面積エリアE8にセットされる面積は、ブロック個
数で表わされる。ここで言うブロックとは、処理画面に
おいて水平方向6ドット、垂直方向2ラインからなる1
2ドット領域を指す。この12ドット領域から形成され
るブロック中に、「6ドット」以上のクロマキー検出が
あった場合、そのブロックがバットBAT像の面積とし
て見做される。
て説明する。衝突判定部60は、特徴点検出部50によ
ってクロマキー抽出されたバットBAT像とオブジェク
ト画像(ボール像)との衝突を判定するものであり、構
成要素61〜64からなる。61は操作子座標メモリで
あり、上述した特徴パラメータに対応して生成されるバ
ットBATの3次元座標位置を記憶する。この3次元座
標位置は、前述した空間SP3(図2参照)における3
次元座標として表現されるものであり、上記特徴パラメ
ータメモリ42の記憶エリアE7(図8参照)に格納さ
れる重心位置を、記憶エリアE8(図8参照)に格納さ
れる面積値に応じて3次元座標に変換したものである。
すなわち、xy面内の座標は「重心位置」に相当し、こ
れをバットBAT像の面積の大きさに応じてz軸座標
(距離)を規定したものである。なお、こうした特徴パ
ラメータに基づく座標変換はCPU71の処理によって
行われ、その結果が操作子座標メモリ61に書き込まれ
る。
仮想空間SP2(図2参照)内における「ボール」と
「バット」との衝突判定条件が記憶される。この衝突判
定条件とは、操作子座標メモリ61に記憶されるバット
BATの3次元座標位置に対応して定められる衝突範囲
と、バットBATのミートタイミングの範囲とを表わす
パラメータを指す。このパラメータによって規定される
衝突範囲内で所定のミートタイミングにてバットBAT
がスイングされた時に、「ボール」が「バット」で打撃
されたと見做すようにしている判定する。当該パラメー
タメモリ62には、例えば、ゲーム開始に先立って、遊
戯者Bの熟練度に応じた衝突判定条件を表わすパラメー
タが書き込まれる。したがって、ビギナーに対しては衝
突範囲やミートタイミング範囲を広げておき、「ミー
ト」を容易するよう設定したり、熟練者にはこれとは逆
に範囲を狭めてゲームを難しくすることも可能になる。
想空間SP2におけるオブジェクト画像、つまり、「ボ
ール像」の3次元座標位置が記憶される。この「ボール
像」の3次元座標位置とは、前述したように、打者の手
元に飛んでくるボールをシミュレートするためのもので
あり、仮想空間SP2内の「ボール像」の球道を規定す
る座標値である。このメモリ63に格納される3次元座
標値は、例えば、「カーブ」、「シュート」等の球種に
対応させて変化するものである。したがって、投球時点
からある距離まではボールが接近して見えるような形態
でディスプレイ3にオブジェクト画像(「ボール」)を
画面表示した後、実際の打撃操作に即して、打者の間接
視野によって捉えられる球筋(軌跡)を、このメモリ6
3に記憶される3次元座標値で仮想的にシミュレートす
る訳である。これにより、あたかも打者の手元に飛んで
くるボールをミートするという仮想現実感を創出するこ
とが可能になる。
るパラメータを随時読み出して「ボール」と「バット」
との衝突の有無を判定し、衝突を判定した時に割込み信
号IRを発生する仮想空間内衝突判定手段である。この
判定手段64は、例えば、ゲートアレイ等で構成され、
ハードウェア的に論理演算して衝突判定する。なお、こ
れに替えて専用のマイクロプロセッサを備えてソフトウ
ェア処理で衝突判定したり、あるいは後述するCPU7
1でこうした処理を実行させる構成とすることも可能で
ある。上記構成による衝突判定部60では、各メモリ6
1〜63に対してCPU71から上述した諸パラメータ
が順次DMA転送される一方、判定手段64がこれら各
メモリ61〜63から読み出したパラメータに従って随
時、衝突判定を行い、判定パラメータによって規定され
る衝突範囲内において所定のミートタイミングでバット
BATがスイングされた時に、衝突したと見做し、割込
み信号IRを発生する。
明する。制御部70は、構成要素71〜74から構成さ
れる。CPU71は、装置本体2の操作パネル(図示
略)に配設される各種操作子をキースキャンし、これら
操作子の設定操作に応じて生成される操作子信号を検出
して装置各部を制御するものであり、その動作の詳細に
ついては後述する。このCPU71は、内部タイマを備
え、当該タイマによってカウントされるタイマカウンタ
値に基づきゲーム進行を管理する。また、CPU71
は、周知のDMAコントローラを備えており、画像制御
動作に必要な各種データ(バックグラウンド画像データ
DBGやオブジェクト画像データDOB)を前述した画像処
理部30(図7参照)へDMA転送するよう構成されて
いる。
1のワークエリアとして各種演算結果やフラグ値が一時
記憶される。73はCPU71の動作を管理するOS
(オペレーションシステム)プログラムや、アプリケー
ションプログラムが記憶されるプログラムメモリであ
る。なお、この実施例においては、前述したように、バ
ッティング動作をシミュレートするアプリケーションプ
ログラムが記憶されている。74はCPU71側から供
給される音声合成指示信号に基づき、ゲーム動作に対応
した各種効果音、例えば、ミート時の「打撃音」、「ミ
ット捕球音」あるいはアンパイヤの「判定コール(スト
ライク/ボール)」などを音声合成して発音する音声出
力手段である。
以下では、まず、前述した位置検出処理部40の動作に
ついて説明した後、本願発明の要旨に係わる制御部70
(CPU71)の動作について説明する。 (1)位置検出処理部40の動作 ここでは、ゲートアレイによって構成される位置検出処
理部40の動作について図9〜図13を参照して説明す
る。処理部40では、制御部70の指示に応じてサンプ
リング画像データDS中に含まれるクロマキー像(バッ
トBAT像)の座標位置や、当該クロマキー像の面積お
よび重心位置が、次の処理動作によって求められる。
システムリセットを表わす制御信号SCが位置検出処理
部40に供給されると、位置検出処理部40は、上記制
御信号SCに基づき、内部にセットされるマイクロプロ
グラムをロードして図9に示すメインルーチンを起動
し、ステップSA1を実行する。ステップSA1では、
自身の内部レジスタをリセット、あるいは初期値をセッ
トするイニシャライズを行う一方、撮像信号処理部1
1、ビデオ信号処理部20およびVDP31へそれぞれ
レジスタセットを指示するレジスタコントロール信号S
REGを供給し、次のステップSA2に進む。
が作成されているか否かを判断する。ここで、例えば、
「初期画面マップ」が作成されていない場合、判断結果
は「NO」となり、次のステップSA3に処理を進め
る。この「初期画面マップ」とは、ゲーム開始に先立っ
て、撮像部1が撮像する画面内に、バットBAT(図1
参照)と同色の物体が存在するか否かを確認するために
使用されるものである。そして、ステップSA3に進む
と、複数フレーム分のクロマキー検出結果を重ね合わ
せ、これを前述した特徴パラメータメモリ42の初期画
面エリアE1(図8参照)に格納し、初期画面内に存在
するクロマキー検出ブロックを「不感帯」と見做すため
の「初期画面マップ」を作成する。
がなされると、位置検出処理部40は、次のステップS
A4に処理を進める。なお、「初期画面マップ」が予め
用意されている場合には、上記ステップSA2の判断結
果は「YES」となり、ステップSA4に進む。ステッ
プSA4では、レジスタX,Yの値をゼロリセットす
る。なお、このレジスタX,Yには、水平方向96ドッ
ト、垂直方向96ラインで形成される画面座標に相当す
る値が処理内容に応じて順次セットされる。
処理部40は、内部ラインバッファ(図示略)に一時記
憶されたクロマキー検出信号CROに対してブロック単
位毎のクロマキー検出を施す。ブロック単位のクロマキ
ー検出とは、ラインバッファから読み出したクロマキー
検出信号CROを水平方向6ドット、垂直方向2ライン
からなるブロックに区分けし、「H」レベルのクロマキ
ー検出信号CROがブロック当り「6ドット」以上存在
した時に、当該ブロックの属性を「クロマキー有り」と
見做すものである。こうしたクロマキー検出の結果は、
前述した処理画面エリアE2(図8参照)にブロック属
性としてストアされ、これが「処理画面マップ」とな
る。
SA6へ処理を進め、レジスタXの値を1インクリメン
トして歩進させ、続いて、ステップSA7ではこの歩進
されたレジスタXの値が「96」、つまり、1走査ライ
ン分の処理が完了したか否かを判断する。ここで、レジ
スタXの値が「96」に達していない場合には、判断結
果が「NO」となり、1走査ライン分の処理が完了する
迄、上記ステップSA5〜SA6を繰り返す。一方、1
走査ライン分の処理が完了した場合には、ステップSA
7の判断結果が「YES」となり、ステップSA8に進
み、レジスタXの値を再びゼロリセットすると共に、レ
ジスタYの値を1インクリメントして走査ラインを垂直
方向に更新する。
40はレジスタYの値が「96」であるか否かを判断す
る。ここで、レジスタYの値が「96」に達していない
場合には、判断結果が「NO」となり、上述したステッ
プSA5〜SA8を繰り返す。そして、いま、1フレー
ム分(1画面分)の走査が完了したとする。そうする
と、上記ステップSA9の判断結果が「YES」とな
り、処理部40は次のステップSA10に処理を進め
る。ステップSA10では、上記ステップSA5におい
てクロマキー検出されたブロックに基づき、クロマキー
像(バットBAT像)の左端/右端座標および上端/下
端座標を算出する座標検出処理を実行し、これによって
得られるクロマキー像(バットBAT像)の左端/右端
座標および上端/下端座標を、特徴パラメータメモリ4
2の記憶エリアE3〜E6(図8参照)に記憶する一
方、クロマキー検出されたブロック個数の面積を求め、
これを記憶エリアE10に格納する。以上のようにバッ
トBAT像のクロマキー検出がなされると、処理部40
はステップSA11へ処理を進め、当該バットBAT像
の重心位置を求める。そして、このステップSA11以
後は、その処理をステップSA4に戻し、上述した動作
を順次繰り返してフレーム毎のクロマキー像抽出を行
う。
動作について説明する。上述したように、初期画面マッ
プが作成されていない場合、位置検出処理部40はステ
ップSA3に処理を進め、図10に示す初期画面マップ
作成ルーチンを実行してステップSB1に処理を進め
る。ステップSB1では、内部レジスタにセットされる
サンプリング回数nを読み出す。サンプリング回数nと
は、撮像部1から供給されるクロマキー検出信号CRO
を何フレーム分取り込むかを表わすものである。次い
で、ステップSB2に進むと、レジスタX,Yの値をゼ
ロリセットし、次のステップSB3に進む。ステップS
B3では、ラインバッファに取込まれたクロマキー検出
信号CROの内、X方向(水平方向)の6ドット分、Y
方向(垂直方向)の2ライン分、すなわち、1ブロック
分を読み出す。
み出した1ブロック中に「6ドット」以上の「H」レベ
ルのクロマキー検出信号CROが存在するか否かを判断
する。ここで、「6ドット」以上存在しなければ、「ク
ロマキー無し」として判断結果が「NO」となり、ステ
ップSB5に進む。ステップSB5では、そのブロック
属性を「0」として次のステップSB7へ処理を進め
る。一方、これに対し、「6ドット」以上存在すると、
「クロマキー有り」とされて、判断結果が「YES」と
なり、ステップSB6に進む。ステップSB6では、そ
のブロック属性を「1」にセットし、次のステップSB
7へ処理を進める。ステップSB7では、最初のフレー
ムであるか否かを判断する。ここで、最初にサンプリン
グしたフレームであると、判断結果は「YES」とな
り、ステップSB8に進む。
40は、現レジスタX,Yの値に応じて初期画面エリア
E1へ判定したブロック属性をストアする。そして、こ
の後、ステップSB9に進み、レジスタXの値を1イン
クリメントし、指定ブロックの番号を歩進させる。次
に、ステップSB10に進むと、この歩進された指定ブ
ロックの番号が「96」、つまり、1走査(水平)ライ
ン分完了したか否かを判断する。ここで、完了していな
い場合には、判断結果が「NO」となり、ステップSB
11に進む。ステップSB11では、レジスタYの値が
「96」、つまり、1フレーム分終了したか否かを判断
する。ここで、1フレーム分の処理が終了していない場
合には、判断結果が「NO」となり、前述したステップ
SB3に戻る。これにより、ステップSB3〜SB6が
繰り返され、次のブロック属性が判定される。
イン分のブロック属性の判定が完了したとする。そうす
ると、ステップSB10の判断結果が「YES」とな
り、処理部40はステップSB13へ処理を進める。ス
テップSB13では、レジスタXをゼロリセットする一
方、レジスタYの値を1インクリメントして走査ライン
を更新する。そして、この後、再び、ステップSB11
を介してステップSB3以降のブロック判定がなされ
る。次いで、1フレーム分のブロック属性について判定
が完了すると、上述したステップSB11の判断結果が
「YES」となり、ステップSB12に進む。ステップ
SB12では、サンプリング回数nが設定回数に達した
か否かを判断する。
は、判断結果が「NO」となり、ステップSB14へ処
理を進める。ステップSB14では、サンプリング回数
nを歩進させ、再び前述したステップSB2以降を実行
する。こうして1回目の初期画面マップが作成され、2
回目の初期画面マップの作成を行う過程で、ステップS
B7に進むと、ここでの判断結果が「NO」となり、ス
テップSB15に進む。ステップSB15では、先にス
トアされた対応ブロック属性をレジスタX,Yの値に応
じて初期画面エリアE1から読み出す。そして、ステッ
プSB16に進むと、先のブロック属性と、現在判定さ
れたブロック属性との論理和を求める。続いて、ステッ
プSB8では、この論理和を新たなブロック属性として
レジスタX,Yの値に基づき初期画面エリアE1にスト
アする。そして、所定フレーム分の論理和が生成される
と、上述したステップSB12の判断結果が「YES」
となり、このルーチンを終了し、位置検出処理部40の
処理は前述したメインルーチンへ復帰する。
ステップSA5を介して図11に示す処理画面マップ作
成ルーチンを実行してステップSC1に処理を進める。
ステップSC1では、ラインバッファに書き込まれたク
ロマキー検出信号CROの内、X方向(水平方向)6ド
ット、Y方向(垂直方向)2ラインからなる1ブロック
を読み出す。次いで、ステップSC2に進むと、その読
み出した1ブロック内に「6ドット」以上の「H」レベ
ルのクロマキー検出信号CROが存在するか否かを判断
する。ここで、「6ドット」以上存在しなければ、「ク
ロマキー無し」として判断結果が「NO」となり、ステ
ップSC3に進む。ステップSC3では、そのブロック
属性を「0」として次のステップSC4へ処理を進め
る。ステップSC4では、この判定されたブロック属性
をレジスタX,Yの値に基づき処理画面エリアE2(図
8参照)にストアする。
「YES」となった場合、すなわち、1ブロック内に
「6ドット」以上の「H」レベルのクロマキー検出信号
CROが存在する時には、処理部40はステップSC5
に処理を進める。ステップSC5では、リジェクトスイ
ッチSRがオン操作されているか否かを判断する。この
リジェクトスイッチSRとは、装置本体2の操作パネル
に配設されるスイッチであり、そのスイッチ操作に応じ
て「不感帯」を設けるか否かを設定するものである。こ
こで、当該スイッチSRがオン設定されている場合に
は、初期画面マップに記憶されたクロマキー検出ブロッ
クを「不感帯」と見做すようにする。
リジェクトスイッチSRがオン設定されている場合に
は、判断結果が「YES」となり、次のステップSC6
に進む。ステップSC6では、初期画面エリアE1から
レジスタX,Yの値に応じて対応するブロック属性を読
み出す。次いで、ステップSC7に進むと、初期画面エ
リアE1から読み出したブロック属性が「1」であるか
否かを判断する。ここで、当該ブロック属性が「1」で
ある時、その判断結果は「YES」となり、上述したス
テップSC3に進み、ブロック属性を「0」に変更し、
その後、ステップSC4を介して、この変更されたブロ
ック属性をレジスタX,Yの値に応じて処理画面エリア
E2に書き込む。この結果、初期画面マップに記憶され
たクロマキー検出ブロックが「不感帯」に設定される訳
である。
設定されない場合、つまり、「不感帯」を設定しない時
には、ステップSC5の判断結果が「NO」となり、ス
テップSC8に進む。ステップSC8では、上述したス
テップSC2において判定された結果に基づき、対応す
るブロックの属性を「1」に設定し、続いて、ステップ
SC4を介してそのブロック属性をレジスタX,Yの値
に応じて処理画面エリアE2に書き込む。
て説明する。位置検出処理部40はステップSA10
(図9参照)を介して座標検出ルーチンを実行し、ステ
ップSE1に処理を進める。ステップSE1では、レジ
スタX,Yと、レジスタX’,Y’と、レジスタSとを
それぞれゼロリセットして初期化する。なお、レジスタ
Sには、後述する動作によってブロック個数を累算して
なるバットBAT像の面積が格納される。また、レジス
タX’,Y’に格納される値については後述する。
40は特徴パラメータメモリ42の処理画面エリアE2
からレジスタX,Yの値に対応するブロック属性を読み
出してステップSE3に処理を進める。ステップSE3
では、その読み出したブロック属性が「1」、すなわ
ち、クロマキー検出されたバットBAT像であるか否か
を判断する。ここで、ブロック属性が「1」でない場合
には、判断結果が「NO」となり、ステップSE4に進
む。ステップSE4では、レジスタXの値を1インクリ
メントして歩進させる。そして、ステップSE5に進む
と、歩進されたレジスタXの値が「96」、つまり、1
水平(走査)ライン分のブロック属性を読み出したか否
かを判断する。ここで、1水平ライン分の読み出しが完
了していない場合には、判断結果が「NO」となり、再
び上記ステップSE2へ処理を戻す。
いて読み出したブロック属性が「1」であったとする。
そうすると、次のステップSE3の判断結果が「YE
S」となり、ステップSE6に処理を進める。ステップ
SE6では、レジスタXの値がレジスタX’の値より大
であるか否かを判断する。レジスタX’には、前回検出
したX座標がセットされており、この座標値と今回の座
標値との比較結果に応じて右端/左端座標を更新するよ
うにしている。つまり、ここでの判断結果が「NO」に
なると、ステップSE7に進み、レジスタXの値を左端
座標エリアE5(図8参照)にストアしてバットBAT
像の左端座標を更新する。一方、ステップSE6の判断
結果が「YES」になると、ステップSE8に進み、レ
ジスタXの値を右端座標エリアE6(図8参照)にスト
アしてバットBAT像の右端座標を更新する。
40は、レジスタYの値がレジスタY’の値より大であ
るか否かを判断する。ここで、レジスタY’は、上記レ
ジスタX’と同様に、前回検出したY座標がセットされ
ており、この座標値と今回の座標値との比較結果に応じ
て上端/下端座標を更新するようにしている。つまり、
判断結果が「NO」になると、ステップSE10に進
み、レジスタYの値を上端座標エリアE3(図8参照)
にストアしてバットBAT像の上端座標を更新する。一
方、ステップSE9の判断結果が「YES」になると、
ステップSE11に進み、レジスタYの値を下端座標エ
リアE4(図8参照)にストアしてバットBAT像の下
端座標を更新する。
Sの値を1インクリメントし、面積を1ブロック増加さ
せる。続いて、ステップSE13に進むと、レジスタ
X,Yの値をそれぞれレジスタX’,Y’に書き換え
る。こうして上記ステップSE2〜SE13の処理が1
水平ライン分なされると、上述したステップSE5の判
断結果が「YES」となり、ステップSE14に進み、
レジスタXの値をゼロリセットすると共に、レジスタY
の値を1歩進させる。次いで、ステップSE15に進む
と、レジスタYの値が「96」、つまり、1フレーム分
の座標検出がなされたか否かを判断する。そして、1フ
レーム分の座標検出が完了していない場合には、前述し
たステップSE2以降が繰り返される。一方、1フレー
ム分の座標検出が完了した時には、このルーチンから前
述したメインルーチン(図9参照)へ処理を戻す。
バットBAT像の左端/右端座標および上端/下端座標
が検出されると、位置検出処理部40はステップSA1
2を介して図13に示す重心計算ルーチンを実行し、ス
テップSF1に処理を進める。まず、ステップSF1で
は、レジスタXG,YGをゼロリセットする。レジスタ
XG,YGは、それぞれクロマキー検出されたブロック
に基づいて算出されるバットBAT像の重心座標が格納
されるものである。次に、ステップSF2に進むと、レ
ジスタX,Yを初期化し、続いて、ステップSF3で
は、特徴パラメータメモリ42の処理画面エリアE2か
らレジスタX,Yの値に対応するブロック属性を読み出
す。
0は、この読み出したブロック属性が「1」、すなわ
ち、クロマキー検出されたバットBAT像であるか否か
を判断する。ここで、ブロック属性が「1」でない場合
には、判断結果が「NO」となり、ステップSF5に進
む。ステップSF5では、レジスタXの値を1インクリ
メントして歩進させる。そして、ステップSF6に進む
と、レジスタXの値が「96」、つまり、1水平(走
査)ライン分のブロック属性を読み出したか否かを判断
する。ここで、1水平ライン分の読み出しが完了してい
ない場合には、判断結果が「NO」となり、再び上記ス
テップSF3に処理を戻す。
属性が「1」であるとする。そうすると、ステップSF
4の判断結果は「YES」となり、処理部40はステッ
プSF7に処理を進める。ステップSF7では、クロマ
キー検出されたブロックを質点と見做し、このブロック
の座標(X,Y)と面積Sとの比を順次累算する重心計
算を行う。なお、この面積Sは上述した座標検出ルーチ
ンにおいてレジスタSに格納されるものである。次い
で、ステップSF8に進むと、上記ステップSF7の重
心計算結果に応じて重心座標を更新し、続いて、ステッ
プSF5においてレジスタXの値を歩進させる。
したとすると、ステップSF6の判断結果が「YES」
となり、ステップSF9に進み、レジスタXの値をゼロ
リセットすると共に、レジスタYの値を1歩進させる。
次いで、ステップSF10に進むと、レジスタYの値が
「96」、つまり、1フレーム分の重心計算がなされた
か否かを判断する。そして、1フレーム分の重心計算が
完了していない場合には、判断結果が「NO」となり、
前述したステップSF3以降の処理を繰り返す。一方、
1フレーム分の重心計算が完了した時には、判断結果が
「YES」となり、このルーチンを終了してメインルー
チン(図9参照)に復帰する。
像部1側から供給されるサンプリング画像データDS中
に含まれるバットBAT像をクロマキー検出信号CRO
に基づいて検出し、これを1フレーム毎の処理画面マッ
プとして登録する。そして、この処理画面マップから読
み出したブロック属性に基づき処理画面におけるバット
BAT像の左端/右端座標および上端/下端座標を求め
ると共に、その面積と重心位置とを算出し、これらパラ
メータを特徴パラメータメモリ42にセットする。
特徴パラメータに基づき、仮想的なバッティングをシミ
ュレートするCPU71の動作について図14〜図16
を参照して説明する。CPU71では、マルチタスクモ
ニタ環境下で「タスク0」と「タスク1」とが並列的に
処理されると共に、前述した仮想空間内衝突判定手段6
4(図3参照)が発生する割込み信号IRに従って「割
込みタスク」が割り込み実行される。以下では、まず、
メインタスクである「タスク0ルーチン」について説明
した後、所定のイベントに応じてタスク切換される「タ
スク1ルーチン」について説明する。なお、タスク切換
えは、例えば、一定周期毎に「タスク0」と「タスク
1」とを交互に切換えたり、あるいはBIOSのI/O
待ちで切換える。また、割込み信号IRが発生した時に
は、このタスク切換えに優先して「割込みタスク」が処
理される。
メモリ73に記憶されたオペレーションシステムプログ
ラムを読み出してロードしてリアルタイムモニタを起動
すると共に、当該メモリ73からアプリケーションプロ
グラムを読み出してワークRAM52に展開する。これ
により、図14に示すタスク0ルーチンが実行され、C
PU71の処理がステップSG1に進む。ステップSG
1では、前述した位置検出処理部40が特徴パラメータ
メモリ42にセットしたパラメータ、つまり、バットB
AT像の重心座標位置およびその面積を読み出す。
ラメータメモリ42から読み出したバットBAT像の重
心座標位置およびその面積に基づき「バット」の3次元
座標を発生する。すなわち、読み出した重心座標位置に
よってxy面内の座標が定まり、これをバットBAT像
の面積の大きさに応じてz軸座標(距離)に変換するこ
とで「バット」の3次元座標位置を求め、これを操作子
座標メモリ61(図3参照)に書き込む。そして、ステ
ップSG3では、バットBAT像の面積変化率に基づき
「バット」のスイング速度やスイングピークを算出し、
これら「バット」操作に関わるパラメータをワークRA
M72に書き込み、この後、再びステップSG1へ処理
を戻す。なお、ここで言うバットBAT像の面積変化率
とは、前回抽出された面積値と今回抽出した面積値との
変化分を指し、この変化分に基づきスイング速度を導出
したり、その速度が最大となるスイングピークを導出す
る。
パラメータメモリ42から読み出したバットBAT像の
重心位置と面積値とに応じて仮想空間SP3内における
「バット」の3次元座標位置を求める一方、スイング速
度やそのピークを逐次導出する。こうして得られた「バ
ット」の3次元座標位置は、仮想空間内衝突判定手段6
4(図3参照)においてなされる衝突判定の条件パラメ
ータとして扱われる。一方、「バット」のスイング速度
やスイングピークは、後述する割込みタスクルーチンに
おいてバッティング操作に対応した打撃態様をシミュレ
ートする際のパラメータとして用いられるようになって
おり、その意図するところは追って説明する。
て説明する。タスク1ルーチンでは、仮想空間SP2
(図2参照)内における「ボール」と「バット」との衝
突判定条件を設定すると共に、仮想的に投球される「ボ
ール」の球種(軌跡)を定め、定めた球種(軌跡)によ
る「ボール(オブジェクト画像)」の投球過程をシミュ
レートする。つまり、仮想空間SP1内では遊戯者B
(打者)側へ「ボール(オブジェクト画像)」が接近し
てくるように見えるよう表示制御し、これ以後の仮想空
間SP2ではあたかも打者の手元に飛んでくる状態に対
応させて「ボール(オブジェクト画像)」を非表示とす
る。そして、キャッチャー位置に「ボール」が到達した
時点で「捕球音」や、アンパイヤの「判定コール」の音
声合成を指示する効果音制御も行う。以下、これら動作
について詳述する。
ク0ルーチンを処理している時に、I/O待ちになった
とする。そうすると、タスク切換えがなされて図15に
示すタスク1ルーチンが起動され、CPU71はステッ
プSH1へ処理を進める。ステップSH1では、装置本
体2のパネル面(図示略)にて設定される動作レベルに
従った衝突判定パラメータを生成し、これを衝突判定パ
ラメータメモリ62に書き込む。判定パラメータとは、
バットBATの3次元座標位置に対応して定められる衝
突可能領域と、バットBATのミートタイミングの範囲
とで形成される。
に投球される「ボール」の球種、例えば、「カーブ」や
「スライダ」などの複数の球種の内からいずれか択一選
択された球種を表わすデータをワークRAM73の所定
エリアに登録する。こうして、衝突判定パラメータと投
球パラメータとが定まると、CPU71は次のステップ
SH3に進み、設定された投球パラメータに従った球種
の軌跡を表わすボール座標データ(3次元座標[x
(t),y(t),z(t)])を生成し、これをオブ
ジェクト座標メモリ63(図3参照)に書き込む。
進むと、「ボール像(オブジェクト画像)」が仮想空間
SP1内に存在するか否かを判断する。この判断は、ゲ
ーム進行を管理するタイマカウント値tと、当該カウン
ト値tに対応付けられたボール座標データのz座標値z
(t)とに基づいてなされる。ここで、「ボール像(オ
ブジェクト画像)」が仮想空間SP1内に存在すると判
断された場合には、判断結果が「YES」となり、次の
ステップSH5に進む。ステップSH5では、現タイマ
カウント値tに対応するボール座標データ[x(t),
y(t),z(t)]を読み出し、これをxy面上へ写
像変換してなる画面座標位置に、当該ボール座標データ
のz座標値z(t)に対応した大きさの「ボール像(オ
ブジェクト画像)」を表示させるよう画像処理部30へ
指示する。
の垂直帰線期間に同期してCPU71の制御の下にDM
A転送されてくるバックグラウンド画像データDBGおよ
びオブジェクト画像データDOBをVRAM32から順次
読み出して1走査ライン毎のドット表示色を表わす画像
処理データDSPに変換し、これをディスプレイ3に画面
表示するようにしており、これによりディスプレイ3に
は打者側へ接近するように見えるよう順次形状が大きく
なる「ボール像(オブジェクト画像)」が表示されるこ
とになる。
が仮想空間SP1を超えて仮想空間SP2に入った場合
には、上記ステップSH4の判断結果が「NO」とな
り、ステップSH6に進む。ステップSH6に進むと、
CPU71は、現在の「ボール」位置、すなわち、ボー
ル座標データのz座標値z(t)がキャッチャー位置に
到達しているか否かを判断する。ここで、キャッチャー
位置に到達していない場合には、判断結果が「NO」と
なり、再び上記ステップSH3以降の動作を繰り返して
投球状態をシミュレートし続ける。これに対し、ボール
座標データのz座標値z(t)がキャッチャー位置に達
した時には、上記ステップSH6の判断結果が「YE
S」となり、ステップSH7へ処理を進める。
間SP2内に置かれるキャッチャー位置に到達したのに
伴い、キャッチャーミットに「ボール」が捕球される際
の効果音を発生すべく、音声出力手段74へ「捕球音」
を発音するよう指示する。次いで、この後、CPU71
はステップSH8に処理を進め、「ボール」がキャッチ
ャー位置に達した時点におけるボール座標データのx座
標値x(t)およびy座標値y(t)に基づき投球コー
スが「ストライク」であるか、あるいは「ボール」であ
るかを判定する。この判定に際しては、遊戯者Bが「ボ
ール」をミートできずに空振りした時、一意的に「スト
ライク」と判定される。そして、この判定結果を、実際
に即して「アンパイヤの判定コール」として発音させる
べく音声出力手段74へ音声合成を指示する。この後、
CPU71は処理をステップSH2に戻し、次の投球パ
ラメータをセットして再び上述した処理を繰り返し、
「バット」と「ボール」との衝突が発生する迄、投球時
点からキャッチャーに捕球される迄の投球状態をシミュ
レートする。
り仮想的な「ボール」をミートした場合に起動される割
込みタスクルーチンの動作について説明する。さて、上
述したように、タスク0ではクロマキー検出されたバッ
トBAT像に基づき仮想空間SP3内における「バッ
ト」位置、スイング速度およびスイングピークが生成さ
れ、一方、タスク1では衝突判定条件をセットすると共
に、設定された投球パラメータに応じた軌跡で仮想的に
投球される「ボール像」を表示制御する訳であるが、こ
れらタスク0,1がタスク切換えに応じて交互に実行さ
れている状態において、遊戯者Bがバットスイング操作
したとする。
メータによって規定される判定条件、すなわち、バット
BATの3次元座標位置に対応して定められる衝突領域
と、バットBATがスイング操作されるタイミング範囲
とを満たした場合、仮想空間内衝突判定手段64(図3
参照)が「バット」と「ボール」とが衝突したと判定し
て割り込み信号IRを発生する。割り込み信号IRがC
PU71に供給されると、当該CPU71は図16に示
す割り込みタスクルーチンを実行し、ステップSJ1へ
処理を進める。
ーチンの動作を強制的にアボートし、次のステップSJ
2へ処理を進める。ステップSJ2では、「バット」と
「ボール」とが衝突した衝突座標位置(xc,yc,
zc)を求めると共に、衝突発生時点における「バッ
ト」のスイング速度およびスイングピーク情報をワーク
RAM72から読み出す。なお、上記の衝突座標位置
(xc,yc,zc)は、衝突発生時点のオブジェクト座
標位置から得られる。また、スイングピーク情報とは、
衝突発生時点で検出されるスイング速度が、スイングピ
ークに一致するか否かや、ピークに一致しない時にはそ
のスイング速度がピーク前であるか否かを表わす情報で
あり、このスイングピーク情報に基づきミートされた打
球の打撃態様、つまり、「ジャストミート」、「流し気
味のミート」および「引張り気味のミート」を識別する
ようになっている。
71は「バット」と「ボール」との衝突を表わす効果音
を発音するよう音声出力手段に打撃音の発生を指示する
一方、「打球」を画面表示すべく、対応するオブジェク
ト画像データDOBをプログラムメモリ73から読み出
し、これをVRAM32側へDMA転送する。こうして
「打球」を画面表示させる準備が整うと、CPU71は
次のステップSJ4に進み、上述したスイング速度およ
びスイングピーク情報に基づき打撃態様を定めると共
に、衝突時点における「バット」の重心位置に従って当
たり具合を判定し、判定した当たり具合と打撃態様とに
応じた打球軌跡を表わす打球軌跡パラメータを算出す
る。したがって、例えば、一定以上のスイング速度であ
って、スイングピークを超えた時点で「バット」と「ボ
ール」とが衝突し、しかも「バット」の重心位置とボー
ル中心とが一致する場合には、レフト方向へ「引張られ
た」打球軌跡となる。
た打球軌跡パラメータに対応する3次元の打球座標デー
タを生成し、この打球座標データに従って打球軌跡をデ
ィスプレイ3に画面表示する。次いで、ステップSJ6
に進むと、打球座標データに対応する打球軌跡の表示が
完了したか否かを判断し、表示完了していない場合には
判断結果が「NO」となり、上記ステップSJ5を繰り
返し、一方、打球軌跡の表示が完了したならば、判断結
果が「YES」となって、次のステップSJ7に進み、
前述したタスク1ルーチンを強制アボート時点から再起
動させ、再度、ゲームを繰り返させる。
球時点からある距離まではボールが接近して見えるよう
な形態でディスプレイ3にオブジェクト画像(「ボー
ル」)を画面表示した後、実際の打撃操作に即して、打
者の間接視野によって捉えられる球筋(軌跡)を3次元
座標値で仮想的にシミュレートするから、あたかも打者
の手元に飛んでくるボールをミートするという仮想現実
感を創出することが可能になる。
ータメモリ62には、遊戯者Bの熟練度に応じた衝突判
定条件が記憶されるため、ビギナーに対しては衝突範囲
やミートタイミング範囲を広げておき、「ミート」を容
易とするよう設定したり、熟練者にはこれとは逆に範囲
を狭めてゲームを難しくする等、ユーザのレベルに応じ
てゲームを楽しむことが可能になる。さらに、この実施
例では、ミート時のバットスイング速度およびスイング
ピーク情報に基づいて定められる打撃態様と、ミート時
の「バット」と「ボール」との当たり具合とを勘案した
打球軌跡で打球を画面表示するため、よりリアルな打撃
操作をシミュレートすることが可能となっている。
れる「ボール像」が画面表示される仮想空間SP1と、
これが非表示となる仮想空間SP2とに分けられている
が、これら空間の大きさは固定的なものではなく、遊戯
者Bが最も臨場感を得られるように調整変更することも
可能となっている。また、上記実施例では、バッティン
グ操作をシミュレートする画像制御装置に適用した場合
について開示したが、本発明による要旨は当該装置に限
定されるものではなく、例えば、「テニス」や「ゴル
フ」等、遊戯者の運動行動を取り入れた各種シミュレー
ションゲームに適用できることは言うまでもない。
にて撮像画像から特定色のクロマキー像を抽出して撮像
画像中におけるクロマキー像の位置および大きさを仮想
空間内に仮想配置される操作子の3次元位置とその操作
量とに変換し、衝突判定ステップにて前記操作子の衝突
対象となるオブジェクト画像の移動軌跡を、前記仮想空
間内の3次元位置に変換し、このオブジェクト画像の3
次元位置と前記操作子の3次元位置とが衝突するか否を
判定する。そして、表示制御ステップにて前記移動軌跡
に従ってオブジェクト画像を表示させる一方、前記衝突
判定ステップにて衝突を判定した場合には、前記操作子
の操作量に対応した移動軌跡を生成し、この移動軌跡に
従って前記操作子と衝突した後のオブジェクト画像を表
示させる表示信号を出力するので、例えば、後述する実
施例のように、投球される球筋(軌跡)が仮想空間内で
シミュレートされるから、この結果、あたかも打者の手
元に飛んでくるボールを打撃するという仮想現実感を創
出することが可能になる。
成を示す外観図である。
る。
出処理部41の構成を示すブロック図である。
示すブロック図である。
を示すブロック図である。
ブロック図である。
を示すメモリマップである。
動作を示すフローチャートである。
作成ルーチンの動作を示すフローチャートである。
作成ルーチンの動作を示すフローチャートである。
ーチンの動作を示すフローチャートである。
ーチンの動作を示すフローチャートである。
を示すフローチャートである。
を示すフローチャートである。
の動作を示すフローチャートである。
制御手段)
Claims (6)
- 【請求項1】 撮像画像から特定色の操作子を表わすク
ロマキー像を抽出すると共に、この撮像画像中における
クロマキー像の位置および大きさを検出する特徴点検出
手段と、 この特徴点検出手段によって検出されるクロマキー像の
位置および大きさを、仮想空間内に仮想配置される前記
操作子の3次元位置とその操作量とに変換する操作子情
報発生手段と、 前記操作子の衝突対象となるオブジェクト画像の移動軌
跡を、前記仮想空間内の3次元位置に変換するオブジェ
クト情報発生手段と、 前記仮想空間内における前記操作子の3次元位置と前記
オブジェクト画像の3次元位置とが予め設定される衝突
条件下で衝突するか否を判定する衝突判定手段と、 前記オブジェクト画像の3次元位置が仮想空間内にて定
義される表示空間であるか非表示空間であるかを判別
し、この表示空間内にオブジェクト画像が存在する時に
は、当該表示空間に対応する移動軌跡に従ってオブジェ
クト画像を画面表示し、 一方、前記非表示空間内にて前記衝突判定手段が衝突判
定した時には、前記操作子の操作量に応じた移動軌跡を
生成し、この移動軌跡に従って前記操作子と衝突した後
のオブジェクト画像を画面表示する表示信号を出力する
表示制御手段とを具備することを特徴とする画像制御装
置。 - 【請求項2】 前記特徴点検出手段は、抽出したクロマ
キー像の重心位置および面積を検出することを特徴とす
る請求項1記載の画像制御装置。 - 【請求項3】 前記操作子情報発生手段は、前記特徴点
検出手段によって検出されるクロマキー像の位置を仮想
空間のxy平面に写像してxy座標値(x,y)とし、
当該クロマキー像の大きさに応じてz座標値を定めて操
作子の3次元位置(x,y,z)を生成することを特徴
とする請求項1記載の画像制御装置。 - 【請求項4】 前記操作子情報発生手段は、クロマキ
ー像の面積変化から操作子のスイング速度を算出すると
共に、そのスイング速度のピーク値を検出することを特
徴とする請求項1記載の画像制御装置。 - 【請求項5】 前記衝突判定手段は、操作子の3次元
位置に対応して定められる衝突可能領域と、当該操作子
のスイングタイミング範囲とからなる衝突判定パラメー
タに従って仮想空間内における前記操作子と前記オブジ
ェクト画像との衝突の有無を判定することを特徴とする
請求項1記載の画像制御装置。 - 【請求項6】 撮像画像から特定色の操作子を表わすク
ロマキー像を抽出すると共に、この撮像画像中における
クロマキー像の位置および大きさを検出する特徴点検出
ステップと、 この特徴点検出ステップにて検出されるクロマキー像の
位置および大きさを、 仮想空間内に仮想配置される前記
操作子の3次元位置とその操作量とに変換する操作子情
報発生ステップと、 前記操作子の 衝突対象となるオブジェクト画像の移動軌
跡を、前記仮想空間内の3次元位置に変換するオブジェ
クト情報発生ステップと、 前記仮想空間内における前記操作子の3次元位置と前記
オブジェクト画像の3次元位置とが予め設定される衝突
条件下で衝突するか否かを判定する衝突判定ステップ
と、 前記オブジェクト画像の3次元位置が仮想空間内にて定
義される表示空間であるか非表示空間であるかを判別
し、この表示空間内にオブジェクト画像が存在する時に
は、当該表示空間に対応する移動軌跡に従ってオブジェ
クト画像を画面表示し、 一方、前記非表示空間内にて前記衝突判定ステップにて
衝突判定した時には、前記操作子の操作量に応じた移動
軌跡を生成し、この移動軌跡に従って前記操作子と衝突
した後のオブジェクト画像を画面表示する表示信号を出
力する表示制御ステップと からなることを特徴とする画
像制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28120294A JP3463379B2 (ja) | 1994-10-19 | 1994-10-19 | 画像制御装置及び画像制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28120294A JP3463379B2 (ja) | 1994-10-19 | 1994-10-19 | 画像制御装置及び画像制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08112449A JPH08112449A (ja) | 1996-05-07 |
JP3463379B2 true JP3463379B2 (ja) | 2003-11-05 |
Family
ID=17635779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28120294A Expired - Fee Related JP3463379B2 (ja) | 1994-10-19 | 1994-10-19 | 画像制御装置及び画像制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3463379B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003061778A1 (fr) * | 2002-01-21 | 2003-07-31 | Yugen Kaisha Mega Hit | Simulateur permettant de s'entrainer a frapper une balle |
JP2009103727A (ja) * | 2002-06-27 | 2009-05-14 | Shinsedai Kk | ストロボスコープを使った入力システムを備える情報処理装置 |
JP5109221B2 (ja) | 2002-06-27 | 2012-12-26 | 新世代株式会社 | ストロボスコープを使った入力システムを備える情報処理装置 |
ES2214115B1 (es) * | 2002-10-15 | 2005-07-16 | Universidad De Malaga | Sistema de reconocimiento automatico de objetos por proyeccion en una base algebraica y controlado remotamente por realidad virtual. |
JP2007212635A (ja) * | 2006-02-08 | 2007-08-23 | Copcom Co Ltd | 効果音発生装置、この効果音発生装置を備えたビデオゲーム装置、この効果音発生装置を実現するためのプログラム及び記録媒体 |
JP4988273B2 (ja) * | 2006-08-25 | 2012-08-01 | 任天堂株式会社 | ゲームプログラムおよびゲーム装置 |
US10786736B2 (en) | 2010-05-11 | 2020-09-29 | Sony Interactive Entertainment LLC | Placement of user information in a game space |
JP6467698B2 (ja) * | 2014-08-28 | 2019-02-13 | 学校法人立命館 | 野球の打撃練習支援システム |
CN104407696B (zh) * | 2014-11-06 | 2016-10-05 | 北京京东尚科信息技术有限公司 | 移动设备的虚拟球模拟及控制的方法 |
KR101599303B1 (ko) * | 2015-03-16 | 2016-03-03 | (주)코아텍 | 가상 현실 기반의 야구 게임 시스템 및 그것을 이용한 게임 진행 방법 |
JP6969640B2 (ja) * | 2017-09-04 | 2021-11-24 | 日本電信電話株式会社 | 解析用データ収集装置、その方法、及びプログラム |
-
1994
- 1994-10-19 JP JP28120294A patent/JP3463379B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08112449A (ja) | 1996-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100404692B1 (ko) | 화상처리장치및화상처리방법 | |
US8123600B2 (en) | Storage medium storing game program and game apparatus | |
US6746331B1 (en) | Assisting a player to contact an object by adjusting timing | |
JP3766981B2 (ja) | 画像制御装置および画像制御方法 | |
JP3463379B2 (ja) | 画像制御装置及び画像制御方法 | |
US8506371B2 (en) | Game device, game device control method, program, information storage medium | |
KR20000064948A (ko) | 화상 처리 장치 및 화상 처리 방법 | |
JPH10290886A (ja) | 画像処理装置および画像処理方法 | |
JP4129651B2 (ja) | 画像処理装置、ゲーム装置、画像処理方法および記録媒体 | |
JPH0850661A (ja) | 画像制御装置 | |
JP3451343B2 (ja) | 信号生成装置及び信号生成方法 | |
JP4071011B2 (ja) | ゴルフゲームを実行制御するプログラム及び、このプログラムを実行するゲーム装置 | |
JP3371535B2 (ja) | 画像制御装置および画像制御方法 | |
JPH07271982A (ja) | 画像制御装置 | |
JPH1173525A (ja) | 画像処理装置および画像処理方法 | |
JP2003205173A (ja) | キャラクタ操作プログラム、キャラクタ操作方法及びビデオゲーム装置 | |
JP4545545B2 (ja) | ゲームプログラムおよびゲーム装置 | |
JPH0927044A (ja) | シミュレーション装置及び画像合成方法 | |
JPH07282265A (ja) | 画像制御装置 | |
JP5117474B2 (ja) | ゲーム装置、ゲーム制御プログラム、及びゲーム制御方法 | |
JP3407394B2 (ja) | 画像表示制御装置および画像表示制御方法 | |
JP3622234B2 (ja) | 画像制御装置、および、画像制御方法 | |
JPH07282236A (ja) | 画像制御装置 | |
JPH0879621A (ja) | 画像制御装置 | |
JPH07302324A (ja) | 画像制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080822 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080822 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090822 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100822 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100822 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130822 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |