位置指示装置、ゲーム装置
【課題】画像処理の負荷を軽減すると共に、コントローラが回転させた状態で操作された場合であっても正確な指示位置を示す座標を求めることを可能にする。
【解決手段】ガンゲーム装置は、ディスプレイ12の周囲にそれぞれ離間させて配置した複数の赤外線LED18と、複数の赤外線LED18を個々に順次点灯させるコントロール装置16と、コントロール装置16によって複数の赤外線LED18が個々に点灯された時の画像を赤外線画像センサ30により撮影し、この撮影された各画像から赤外線LED18に相当するLED指標の位置を検出し、赤外線LED18毎に、複数回のLED指標の位置をもとにして、他の赤外線LED18が点灯されている時の位置を近似する仮想のLED指標の位置を算出し、LED指標の位置及び仮想のLED指標の位置を基準にして座標を算出する演算装置とを有するガンコントローラ14とを含む。
【解決手段】ガンゲーム装置は、ディスプレイ12の周囲にそれぞれ離間させて配置した複数の赤外線LED18と、複数の赤外線LED18を個々に順次点灯させるコントロール装置16と、コントロール装置16によって複数の赤外線LED18が個々に点灯された時の画像を赤外線画像センサ30により撮影し、この撮影された各画像から赤外線LED18に相当するLED指標の位置を検出し、赤外線LED18毎に、複数回のLED指標の位置をもとにして、他の赤外線LED18が点灯されている時の位置を近似する仮想のLED指標の位置を算出し、LED指標の位置及び仮想のLED指標の位置を基準にして座標を算出する演算装置とを有するガンコントローラ14とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスプレイ上の位置を指示するための位置指示装置、及び同装置を搭載したゲーム装置に関する。
【背景技術】
【0002】
ゲームセンター等に設置される業務用のガンゲーム装置には、プレーヤーが自由に手に持って操作することができるガンコントローラが設けられたものがある。ガンゲーム装置は、プレーヤーによってガンコントローラをディスプレイ方向に向けた状態でトリガー操作されることにより、ガンコントローラによって位置指示されているディスプレイ上の座標を検出し、この座標に基づいてディスプレイに表示していたターゲットを撃ち倒すなどの処理を実行する。
【0003】
ガンゲーム装置は、前述したように、ガンコントローラによって指示されているディスプレイ上の座標位置を検出する必要がある。従来のゲーム装置では、例えば、特許文献1に記載されているように、ビデオ画面を囲むように4箇所に発光体を配置し、射撃用のガンの銃身に設けられたCCDカメラによって撮影された4個の発光体を含む画像をもとに、4個の発光体の位置情報に基づいてビデオ画面に対するガンの相対位置、回転角度及び傾きを算出する構成が考えられている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平8−71252号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら従来技術では、4個の発光体を常時点灯しており、CCDカメラによって撮影された画像には常に4個の点灯された発光体が含まれている。従って、ガンコントローラによって指示されている位置を継続的に検出するためには、この間に撮影される画像のそれぞれについて4個の発光体の位置を検出しなければならず画像処理の負荷が大きかった。
【0006】
また、4個の発光体の配置がビデオ画面を囲む矩形の頂点に配置しているため、ガンコントローラをディスプレイに向けた状態で90度以上回転させると、4個の発光体の実際の位置と、撮影された画像中における発光体の位置との対応関係が一致しなくなってしまう。例えば、コントローラを右に90°回転させた状態で発光体を含む画像が撮影された場合、実際には左上に配置された発光体については、撮影された画像中では左下に位置してしまう。撮影された画像中の発光体が実際の発光体の何れに対応するか判別できないため、単純に画像中の各発光体の位置情報に基づいて座標を算出すると正確な結果が得られない場合があった。
【0007】
本発明は前述した事情に考慮してなされたもので、その目的は、画像処理の負荷を軽減すると共に、コントローラが回転された状態で操作された場合であっても正確な指示位置を示す座標を求めることが可能な位置指示装置、ゲーム装置を提供することにある。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明は、ディスプレイの周囲にそれぞれ離間させて配置した複数の発光体と、前記複数の発光体を個々に順次点灯させる制御手段と、前記制御手段によって前記複数の発光体が個々に点灯された時の画像を撮影する撮影手段と、前記撮影手段によって撮影された各画像から前記発光体の位置を検出し、前記発光体毎に、複数回の前記発光体の位置をもとにして、他の発光体が点灯されている時の位置を近似する前記発光体の仮想の位置を算出し、前記発光体の位置及び前記発光体の仮想の位置を基準にして座標を算出する演算手段とを具備したことを特徴とする。
【発明の効果】
【0009】
本発明によれば、画像処理の負荷を軽減すると共に、コントローラが回転された状態で操作された場合であっても正確な指示位置を示す座標を求めることが可能となる。
【図面の簡単な説明】
【0010】
【図1】本実施形態におけるガンゲーム装置の概略構成を示す図。
【図2】ガンコントローラに設けられた赤外線画像センサによって撮影される画像の一例を示す図。
【図3】本実施形態におけるガンゲーム装置の機能構成を示すブロック図。
【図4】コントロール装置による赤外線LEDの点灯制御を説明するための図。
【図5】コントロール装置による赤外線LEDの点灯制御のタイミングと、ガンコントローラからコントロール装置へのデータ出力するタイミングを説明するためのタイミングチャート。
【図6】複数の赤外線LEDが点灯された時に撮影された画像から検出されるLED指標(矩形位置)の変化の一例を示す図。
【図7】複数の赤外線LEDを個別に順次点灯させた時に撮影された画像から検出された4点のLED指標を結んで形成される形状を示す図。
【図8】LED指標の位置をもとに、他の赤外線LED18が点灯されていた時に対応するLED指標の位置を線形補間によって求める例を示す図。
【図9】赤外線LEDのそれぞれに対して算出された仮想のLED指標と、実際に検出されたLED指標の4点から形成される矩形の一例を示す図。
【図10】LED指標の3点の位置をもとにした補間方法を用いた例を示す図。
【図11】撮影された画像から検出された4つのLED指標の位置の一例を示す図。
【図12】LED指標の位置をもとにして座標検出を説明するための図。
【図13】LED指標の位置をもとにして座標検出を説明するための図。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態におけるガンゲーム装置の概略構成を示す図である。図1に示すガンゲーム装置は、銃型のコントローラ(以下、ガンコントローラ14)を操作することによって、例えばディスプレイ12において表示されたゲーム空間中に存在するターゲットを撃ち倒しながら進むゲームである。ゲーム処理装置10は、ディスプレイ12においてゲーム空間を表現するゲーム画像を表示させると共に、コントロール装置16を介して入力されるガンコントローラ14の銃口が指し示しているディスプレイ12上の位置を示す座標データやガンコントローラ14に対するプレーヤーの操作(例えば、ガンコントローラ14に設けられたトリガーの操作など)を通知する操作データなどを入力して、これら入力されたデータに応じたゲーム処理を実行する。
【0012】
コントロール装置16は、プレーヤーによって操作されるガンコントローラ14の制御を行う。コントロール装置16は、ディスプレイ12の周囲にそれぞれ離間させて配置した複数の赤外線LED18に対して点灯制御を行う機能の他、ガンコントローラ14に実装された座標検出機能により検出された座標データやガンコントローラ14に対する操作データなどを中継してゲーム処理装置10に出力する中継機能が設けられている。
【0013】
赤外線LED18は、例えば4個設けられている。本実施形態のガンゲーム装置では、ディスプレイ12の上辺に沿って2個の赤外線LED18a,18bを所定の間隔を設けて配置し、ディスプレイ12の下辺に沿って2個の赤外線LED18c,18dを所定の間隔を設けて配置している。赤外線LED18a,18b,18c,18dの配置位置は、ディスプレイ12の中央を通過する縦横線に対してそれぞれ対称の関係にあり、4つの配置位置を直線で結ぶと矩形を形成する。
【0014】
本実施形態におけるガンゲーム装置では、ガンコントローラ14、コントロール装置16、及び赤外線LED18により、ガンコントローラ14によって指示されたディスプレイ12上の座標位置を検出する位置指示装置が実現されている。
【0015】
図2には、ガンコントローラ14に設けられた赤外線画像センサ30によって撮影される画像の一例を示している。
図2に示すように、赤外線画像センサ30による撮影範囲は、プレーヤーがガンコントローラ14を用いてゲームを実施している位置において、ディスプレイ12による表示画面と、ディスプレイ12の周囲に配置された4個の赤外線LED18a,18b,18c,18dとを含む範囲としている。
【0016】
ガンコントローラ14による指示位置は、ガンコントローラ14により撮影された画像の中央に該当する。従って、4個の赤外線LED18a,18b,18c,18dを含むように画像を撮影することにより、画像の中央(ガンコントローラ14による指示位置)がディスプレイ12の表示画面の範囲に含まれる。
【0017】
図3は、本実施形態におけるガンゲーム装置の機能構成を示すブロック図である。
図3に示すガンゲーム装置は、複数のプレーヤーが同時にゲームに参加できるように複数のガンコントローラ14(ここでは、4台のガンコントローラ14−1,14−2,14−3,14−4)が設けられた例を示している。
【0018】
ゲーム処理装置10は、各種記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されるコンピュータの機能が実装されて構成される。
【0019】
ゲーム処理装置10には、メインCPU20、RAM21、画像処理部22、音響装置24、記憶装置26、及びインタフェース27がバスによって相互に接続されている。
【0020】
メインCPU20は、記憶装置26に記憶されたゲームプログラム26aに応じたゲーム処理を実行する。メインCPU20は、ゲーム処理において、コントロール装置16を介して入力される、プレーヤーによるガンコントローラ14に対する操作に応じた制御を行い、ディスプレイ12において表示すべき記憶装置26に記憶されたゲーム画像データ26dを画像処理部22に指示し、またゲーム状況に応じて音響装置24により所定の音声を出力させる。
【0021】
RAM21(メインメモリ)は、メインCPU20の実行に伴って各種のデータ、例えば表示対象となるゲーム画像データや音声出力の対象とする音声データなどが一時記憶される。また、RAM21には、ゲームの制御に用いられる、例えばプレーヤー(キャラクタ)の体力データ、武器に関するデータ、銃口の移動ベクトル(移動軌跡)の座標データ、その他のゲームの進行に従って変更される各種データが一時記憶される。
【0022】
画像処理部22は、メインCPU20からの指示に従って必要なゲーム画像データを生成して、ディスプレイ12においてゲーム画像を表示させる。
【0023】
音響装置24は、メインCPU20の制御のもとで、ディスプレイ12において表示されるゲーム画面に合わせて、ゲームの臨場感を高めるための効果音やBGM(back ground music)、あるいは各種メッセージ音声などをスピーカから出力させる。
【0024】
記憶装置26は、例えばハードディスク装置などにより構成されるもので、ゲームを制御するためのゲームプログラム26a、ゲームプログラム26aの実行に伴い表示されるゲーム画像データ26dなどが記憶される。
【0025】
インタフェース27は、コントロール装置16から、ガンコントローラ14の銃口が指し示しているディスプレイ12上の位置を示す座標データやガンコントローラ14に対する操作データなどを入力して、メインCPU20に通知する。
【0026】
ガンコントローラ14−1は、赤外線画像センサ30及び演算装置31が実装されている。赤外線画像センサ30は、例えばガンコントローラ14−1の先端部に装着されており、プレーヤーの操作によって銃口が向けられた方向の画像を撮影するために用いられる。赤外線画像センサ30による撮影範囲は、図2に示すように、銃口の中心軸によって指し示す位置が画像中心と一致するように調整され、コントロール装置16の制御により点灯された赤外線LED18の画像が含まれる。
【0027】
演算装置31は、例えばDSP(Digital Signal Processor)を有して構成されるもので、赤外線画像センサ30によって撮影された画像をもとにした座標検出機能を実現する。演算装置31は、赤外線画像センサ30によって撮影された画像をもとに、画像中の赤外線LED18a,18b,18c,18dに相当するLED指標の位置を基準にして画像の中央の座標、すなわちガンコントローラ14によるディスプレイ12に対する指示位置を示す座標データを算出し、コントロール装置16からのタイミング信号に合わせて座標データをコントロール装置16に出力する。
【0028】
本実施形態における演算装置31には、赤外線LED18a,18b,18c,18dのそれぞれについて、画像中から検出される複数回分のLED指標の位置をもとにして、実際に検出されたLED指標の間を補間する仮想のLED指標の位置を算出する補間処理の機能が設けられる。そのために、演算装置31は、画像中から検出される複数回分のLED指標の位置を記憶するためのメモリ、及びこのメモリに記憶されたデータをもとに仮想のLED指標の位置を算出する演算機能が実装される。
【0029】
また、演算装置31は、ガンコントローラ14に設けられたトリガー等に対する操作を検知し、この操作に応じた操作データについてもコントロール装置16に出力するものとする。
【0030】
なお、ガンコントローラ14−2,14−3,14−4は、前述したガンコントローラ14−1と同様の構成を有しているものとする。ガンコントローラ14−1〜14−4は、コントロール装置16からそれぞれに供給されるタイミング信号に合わせて、それぞれ異なるタイミングでデータをコントロール装置16に出力する。
【0031】
図4は、コントロール装置16による赤外線LED18a,18b,18c,18dの点灯制御を説明するための図である。
本実施形態におけるガンゲーム装置では、ディスプレイ12の周囲に4つの赤外線LED18a,18b,18c,18dが配置されている。本実施形態では、矩形状のディスプレイ12の上部左側に赤外線LED18a、同じく上部右側に赤外線LED18b、下部右側に赤外線LED18c、同じく下部左側に赤外線LED18dが配置されているものとする。
【0032】
コントロール装置16は、ゲームが開始されると、常時、連続的に赤外線LED18a,18b,18c,18dの順番で順次点灯させる。従って、ガンコントローラ14では、図4(a)〜(d)に示すように、各赤外線LED18a,18b,18c,18dが個々に点灯された時の画像を撮影することができる。
【0033】
ガンコントローラ14の演算装置31は、図4(a)〜(d)に示す赤外線画像センサ30により撮影された個々の画像から、それぞれ1個の赤外線LED18に相当する位置(LED指標の位置)を認識すれば良い。演算装置31は、コントロール装置16からのタイミング信号から、4個の赤外線LED18a,18b,18c,18dの何れが点灯されているかを判別することで、ガンコントローラ14が銃口をディスプレイ12に向けた状態で回転されて使用されていたとしても、撮影された画像から正しい向きでの座標を検出することができる。
【0034】
図5は、コントロール装置16による赤外線LED18a,18b,18c,18dの点灯制御のタイミングと、ガンコントローラ14からコントロール装置16へのデータ出力するタイミングを説明するためのタイミングチャートである。
図5(1)〜(4)は、赤外線LED18a,18b,18c,18dのそれぞれに対する点灯のタイミングを示すタイミング信号である。タイミング信号がハイレベルの間に、対応する赤外線LED18が点灯されることを示している。図5(1)〜(4)に示すように、赤外線LED18a,18b,18c,18dの順番で、一定間隔で順次点灯される。
【0035】
コントロール装置16は、ガンコントローラ14−1(演算装置31)に対して、図5(1)に示すタイミング信号と、図5(5)に示す全ての赤外線LED18の点灯タイミングを示すタイミング信号とを出力する。同様にして、ガンコントローラ14−2に対しては、図5(2)と図5(5)に示すタイミング信号を出力し、ガンコントローラ14−3に対しては、図5(3)と図5(5)に示すタイミング信号を出力し、ガンコントローラ14−4に対しては、図5(4)と図5(5)に示すタイミング信号を出力する。
【0036】
ガンコントローラ14−1の演算装置31は、図5(5)に示すタイミング信号により、赤外線LED18a,18b,18c,18dが点灯されるタイミングを判別することができ、また図5(1)のガンコントローラ14−1に対するタイミング信号により、赤外線LED18aが点灯されるタイミングを判別することができる。従って、図5(1)のタイミング信号が入力されている間に、例えば図4(a)に示す画像が撮影された場合には、この画像から検出されたLED指標がディスプレイ12の左上に配置された赤外線LED18aに相当するものと判別することができる。
【0037】
演算装置31は、赤外線LED18aに相当するLED指標の位置を基準にすることで、ガンコントローラ14−1が回転された状態で使用されていたとしても、他の赤外線LED18a〜18dに対応するLED指標の位置に基づいて座標系を補正して、撮影された画像の中心(ガンコントローラ14−1によって指し示された位置)の座標を算出することができる。
【0038】
なお、ガンコントローラ14−1の演算装置31は、各赤外線LED18が点灯されている時に撮影された画像をもとに算出した座標データを、図5(6)に示すように、図5(1)に示すタイミング信号に合わせてコントロール装置16に出力する。同様にして、ガンコントローラ14−2〜14−4についても、図5(7)〜(9)に示すように、それぞれに対応するタイミング信号(図5(2)〜(4))に合わせて、座標データをコントロール装置16に出力する。
【0039】
これにより、コントロール装置16は、複数のガンコントローラ14−1〜14−4のそれぞれに対応する受信回路を備えなくても、1つの受信回路によって各ガンコントローラ14−1〜14−4からの座標データを受信して、ゲーム処理装置10に中継することができる。
【0040】
次に、本実施形態におけるガンゲーム装置(位置指示装置)におけるガンコントローラ14により指示された位置の座標検出の動作について説明する。ここでは、説明を簡単にするために1台のガンコントローラ14−1が使用されてゲームが実行されるものとする。
【0041】
ゲームが開始されると、ゲーム処理装置10は、ゲームプログラムに基づくゲーム処理を実行して、ディスプレイ12においてゲーム画面を表示させる。
【0042】
プレーヤーは、ディスプレイ12に表示されたゲーム画面中の標的などに対して攻撃を加えるために、ガンコントローラ14−1の操作を行う。プレーヤーは、ガンコントローラ14−1の銃口を標的に合わせてトリガー操作をすることで攻撃を指示する。
【0043】
ガンコントローラ14−1の演算装置31は、プレーヤーによるトリガー操作を検知して、コントロール装置16に通知する。コントロール装置16は、図5(1)〜(4)のタイミング信号が示すタイミングで複数の赤外線LED18に対する点灯制御を常時連続的に行っている。また、コントロール装置16は、前述したように、ガンコントローラ14−1に対して、図5(1)(5)に示すタイミング信号を出力する。
【0044】
ガンコントローラ14−1は、赤外線画像センサ30によって、複数の赤外線LED18a,18b,18c,18dが個々に点灯された時の画像を撮影する。ここでは、1つの赤外線LED18が点灯されている時に画像を撮影するために、撮影された画像中からは1つの赤外線LED18に対応するLED指標の位置を検出すれば良い。このため、演算装置31による位置検出のための処理負荷は、1画像から複数のLED指標を検出する場合と比較して大幅に軽減される。
【0045】
一方、複数の赤外線LED18a,18b,18c,18dが個々に点灯された時の画像を撮影してLED指標の位置を検出するため、複数の赤外線LED18a,18b,18c,18dが点灯される間にガンコントローラ14(赤外線画像センサ30)の向きが変化した場合には、撮影された画像中における赤外線LED18a,18b,18c,18dの4点で形成される矩形の位置が変化(移動)していく。
【0046】
図6(a)〜(d)は、複数の赤外線LED18a,18b,18c,18dが点灯された時に撮影された画像から検出されるLED指標(矩形位置)の変化の一例を示している。
図6(a)は、赤外線LED18aが点灯されている時に撮影された画像を示すもので、この画像から赤外線LED18aに対応するLED指標A1の位置を検出することができる。図6(a)中の黒点は、赤外線LED18aが点灯されていた時の他の赤外線LED18b,18c,18d(LED指標)の位置を表している。
【0047】
図6(b)は、赤外線LED18aが点灯されている時に撮影された画像から検出されたLED指標B2の位置を追加している。例えば、ガンコントローラ14の銃口の向きを素早く動かすようにプレーヤーが操作した場合には、図6(b)に示すように、赤外線LED18aが点灯されていた時の赤外線LED18bの位置とは異なる位置において、赤外線LED18bに対応するLED指標B2が検出される。
【0048】
同様にして、図6(c)は、赤外線LED18cが点灯されている時に撮影された画像から検出されたLED指標C3の位置を追加し、図6(d)は、赤外線LED18dが点灯されている時に撮影された画像から検出されたLED指標D4の位置を追加している。
【0049】
図6(a)〜(d)に示すように、複数の赤外線LED18a,18b,18c,18dを個別に順次点灯させ、それぞれが点灯された時に画像を撮影しているために、赤外線LED18a,18b,18c,18dの4点により形成される矩形の位置が変化し、赤外線LED18a,18b,18c,18dに対応する4点のLED指標A1,B2,C3,D4により形成される形状が矩形とならない。
【0050】
図7には、複数の赤外線LED18a,18b,18c,18dを個別に順次点灯させた時に撮影された画像から検出された4点のLED指標A1,B2,C3,D4を結んで形成される形状を示している。
【0051】
図7に示すように、LED指標A1,B2,C3,D4から形成された四角形は歪んだ形状となり、本来の赤外線LED18a,18b,18c,18dの配置と一致しない。このため、単純にLED指標A1,B2,C3,D4の位置をもとにして座標を算出しても、ガンコントローラ14によって指し示された位置を示す正確な座標値を得ることができない。
【0052】
そこで、本実施形態においては、演算装置31は、複数の赤外線LED18a,18b,18c,18dのそれぞれについて、赤外線画像センサ30により撮影された画像から検出されたLED指標の位置をもとに、他の赤外線LED18が点灯されている時の仮想のLED指標の位置を補間処理によって算出する。そして、この補間処理により算出された仮想のLED指標の座標をもとに、ガンコントローラ14により指し示されている位置の座標を算出する。
【0053】
図8は、LED指標の位置をもとに、他の赤外線LED18が点灯されていた時に対応するLED指標の位置を線形補間によって求める例を示している。この例では、赤外線LED18aに対して検出されたLED指標の位置と、補間処理によって算出された仮想のLED指標の位置を示している。
【0054】
図8では、赤外線LED18aが点灯された時に撮影された画像からLED指標A1が検出された後、赤外線LED18b〜18dがそれぞれ点灯されて画像が撮影され、再度、赤外線LED18aが点灯された時に撮影された画像からLED指標A5が検出されたことを表している。また、赤外線LED18b〜18dが点灯された時の赤外線LED18aに相当する位置は、それぞれA2,A3,A4によって示している。
【0055】
演算装置31は、1点のLED指標を検出する毎に、前回のLED指標の座標値を記録しておく。すなわち、LED指標A5を検出した際には、前回のLED指標A1の座標値が記録されており、この全体のLED指標A1の座標値と、今回のLED指標A5の座標値をもとに線形補間を実行する。
【0056】
図8に示すように、演算装置31は、2点のLED指標A1,A5を結ぶ線分上において、線分を等分割する3点を仮想のLED指標A2a,A3a,A4aの座標値を算出する。すなわち、仮想のLED指標A2aは、赤外線LED18bが点灯された時の赤外線LED18aに相当する位置A2に対して、補間処理によって算出された座標を示している。同様にして、仮想のLED指標A3a,A4aは、それぞれ位置A3,A4に対して算出された座標を示している。
【0057】
図8に示すように、単純な線形補間による処理によっても、赤外線LED18b〜18dが点灯された時の赤外線LED18aに相当する位置A2,A3,A4を近似する仮想のLEDの座標値を算出することができる。
【0058】
図9には、赤外線LED18b〜18dのそれぞれに対して算出された仮想のLED指標と、実際に検出されたLED指標の4点から形成される矩形の一例を示している。図9において、白丸が赤外線画像センサ30により撮影された画像から検出されたLED指標の位置を表し、黒丸が補間処理によって取得された仮想のLED指標の位置を表している。
【0059】
図9に示すように、赤外線LED18a,18b,18c,18dのそれぞれに応じて、前述したように仮想のLED指標を求めることにより、例えばLED指標A1に対しては、仮想のLED指標B1a,C1a,D1aからなる4点による矩形を形成することができる。仮想のLED指標B1a,C1a,D1aが、それぞれ赤外線LED18b,18c,18dの本来の位置を近似した位置であるため、歪みの少ない矩形が形成されている。
【0060】
同様にして、LED指標B2に対しては、仮想のLED指標C2a,D2a,A2aからなる4点、LED指標C3に対しては、仮想のLED指標D3a,A3a,B3aからなる4点、LED指標D4に対しては、仮想のLED指標A4a,B4a,C4aからなる4点によって、それぞれ矩形を形成することができる。
【0061】
演算装置31は、こうして求められた矩形を構成する4点の座標をもとにして、後述するように(図11〜図13)、ガンコントローラ14の銃口が指し示しているディスプレイ12における座標を算出する。
【0062】
なお、前述した説明では、図8に示すように、LED指標の2点の位置をもとにした線形補間によって仮想のLCD指標の座標値を求めているが、他の補間方法を用いることも可能である。
図10は、LED指標の3点以上の位置をもとにした二次以上の多項式補間方法を用いた例を示す図である。
図10には、例えば、赤外線LED18aが点灯されていた時に撮影された画像から検出された3つのLED指標A1,A5,A9を示している。演算装置31は、3つのLED指標A1,A5,A9をもとにして、多項式補間(例えば3次スプライン補間)法によって、LED指標A1とLED指標A5との間に、赤外線LED18b,18c,18dが点灯されていた時のそれぞれに対応する補間点A2a,A3a,A4aを算出することができる。同様にして、LED指標A5とLED指標A9との間に、赤外線LED18b,18c,18dが点灯されていた時のそれぞれに対応する補間点A6a,A7a,A8aを算出することができる。
【0063】
このように、3つのLED指標をもとに補間点を算出する場合、演算装置31では、赤外線LED18a,18b,18c,18dのそれぞれについて、3回分の点灯位置(LED指標の座標)を記憶し、新たなLED指標の位置が検出するごとに、3つのLED指標をもとに補間点を算出する。なお、3点のLED指標の位置をもとに補間点を算出する場合には、3番目のLED指標の位置が検出された時に、2番目のLED指標(図10のA5)と3番目のLED指標(図10のA9)との間の仮想のLED指標を算出すれば良く、1番目のLED指標(図10のA1)と2番目のLED指標との間の仮想のLED指標については、LED指標A5が検出された時に算出された仮想のLED指標の位置を用いれば良い。
【0064】
なお、図10を用いた補間処理の説明では、3次スプライン補間法によって仮想のLED指標の位置を算出するものとしているが、他の二次以上の多項式補間法を用いることも可能である。演算装置31は、採用する補間法に応じた数のLED指標の位置を記録して、仮想のLED指標の位置を算出すれば良い。
【0065】
こうして、演算装置31は、各赤外線LED18a,18b,18c,18dが点灯されている時に撮影された画像のLED指標の位置、及び仮想のLED指標の位置を算出すると、赤外線LED18a,18b,18c,18dのそれぞれに対応する4つのLED指標の位置を基準にして、ガンコントローラ14−1の銃口が指し示しているディスプレイ12における座標を算出する。
【0066】
図11には、撮影された画像から検出された4つのLED指標の位置の一例を示している。図11において、点Aが赤外線LED18aに対応するLED指標の位置を示す。同様にして、点B,C,Dは、それぞれ赤外線LED18b,18c,18dに対応するLED指標の位置を示している。図11中の点Oは、画像の中心であり、ガンコントローラ14−1によって指し示された位置を示す。演算装置31は、点A,B,C,Dの座標から画像中心の点Oの座標を算出する。
【0067】
まず、演算装置31は、図12に示すように、点A,B,C,Dの座標をもとにして、点A,B,C,Dを頂点とする矩形の重心Pを求める((A+B+C+D)/4)。
【0068】
また、点A,Dの中点をX0、点B,Cの中点をX1、点A,Bの中点をY0、点C,Dの中点をY1として、ベクトルX0X1、ベクトルY0Y1を求める(X0X1=(B+C)−(A+D),Y0Y1=(C+D)−(A+B))。
【0069】
そして、演算装置31は、図13に示すように、重心Pを原点とし、ベクトルX0X1と一致する軸をX軸、ベクトルY0Y1と一致する軸をY軸とする座標系に補正し、この補正された座標系における点Oの座標を逆写像変換により算出する。
【0070】
なお、図11〜図13に示す例では、点Aが赤外線LED18aに相当するLED指標の位置としているが、例えば点Bが赤外線LED18aに相当するLED指標の位置にある場合、すなわちガンコントローラ14−1が右方向に90°近く回転させた状態で操作されている場合には、点Bを左上の頂点位置に配置した座標系に補正して、ガンコントローラ14が指し示している座標を算出すれば良い。
【0071】
演算装置31は、コントロール装置16からの図5(1)に示すタイミング信号に合わせて、図5(6)に示すタイミングで座標データをコントロール装置16に出力する。コントロール装置16は、ガンコントローラ14−1からの座標データを中継して、ゲーム処理装置10に出力する。
【0072】
ゲーム処理装置10のメインCPU20は、インタフェース27を通じて入力された座標データをもとに、ディスプレイ12に表示された標的についての命中判定を行い、この判定結果に応じた処理を実行する。
【0073】
このようにして、本実施形態におけるガンゲーム装置(位置指示装置)では、複数の赤外線LED18を個々に順次点灯させ、赤外線LED18が個々に点灯された時に、ガンコントローラ14において赤外線画像センサ30により撮影された画像をもとに画像中の赤外線LED18(LED指標)の位置を基準とした座標を算出するので、撮影された画像からは1つのLED指標の位置を検出すれば良いために演算装置31における画像処理の負荷が軽減され、またガンコントローラ14が回転した状態で操作された場合であっても、個々の赤外線LED18を点灯させるタイミングに基づいて実際の赤外線LED18の位置と各画像から検出されるLED指標との対応関係を判別することができるため、各LED指標の位置に基づいて正確な指示位置を示す座標を求めることが可能となる。
【0074】
また、赤外線画像センサ30により撮影された画像から検出されたLED指標の位置だけでなく、他の赤外線LED18が点灯されている時の赤外線LED18の本来の位置を近似した仮想のLED指標の位置をもとに座標を検出するので、より精度の高い座標検出が可能となる。
【0075】
なお、前述した説明では、4個の赤外線LED18をディスプレイ12の周囲に配置しているが、5個以上の赤外線LED18を配置する構成としても良い。また、ディスプレイ12の上辺と下辺に沿って、それぞれ2個の赤外線LED18を離間させて配置しているが、ディスプレイ12の周囲の他の位置に赤外線LED18(発光体)を配置するようにしても良い。例えば、ディスプレイ12の4隅(頂点)の近傍に配置したり、ディスプレイ12の上辺、下辺、右辺及び左辺の中点近傍に配置したりしても良い。ガンコントローラ14の演算装置31は、ディスプレイ12の周囲に配置された赤外線LED18の位置に基づいて、赤外線画像センサ30により撮影された画像から赤外線LED18の位置を検出し、この位置に基づいてガンコントローラ14が指し示している位置(画像の中央)の座標を算出する。
【0076】
さらに、発光体(赤外線LED18)をディスプレイ12の周囲に配置しているが、ディスプレイ12の固定位置に、赤外線LED18に相当する固定輝点を表示させるようにしても良い。例えば、ディスプレイ12において、ゲーム画面とは別の座標検出用の固定輝点(例えば、所定形状や色による表示)を、前述した赤外線LED18の位置に相当する位置において表示させる。すなわち、ディスプレイ12の上辺と下辺に沿った位置、ディスプレイ12の4隅、あるいは4辺のそれぞれの中点などにおいて表示させる。ゲーム処理装置10は、各位置の固定輝点を所定のタイミングで個々に順次点灯させる。ガンコントローラ14の演算装置31は、ディスプレイ12に表示されたゲーム画面を固定輝点が識別できるように撮影し、この撮影された画像中から座標検出用の固定輝点に相当する部分を分離認識する。例えば、演算装置31は、固定輝点を表示する場合の所定形状や色に基づいて、ゲーム画面中から固定輝点を分離認識する。演算装置31は、ゲーム画面中から分離認識された各固定輝点の位置の座標を前述と同様にして算出する。
【0077】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0078】
10…ゲーム処理装置、12…ディスプレイ、14(14−1,14−2,14−3,14−4)…ガンコントローラ、16…コントロール装置、18(18a,18b,18c,18d)…赤外線LED、20…メインCPU、21…RAM、22…画像処理部、24…音響装置、26…記憶装置、26a…ゲームプログラム、26d…ゲーム画像データ、27…インタフェース、30…赤外線画像センサ、31…演算装置。
【技術分野】
【0001】
本発明は、ディスプレイ上の位置を指示するための位置指示装置、及び同装置を搭載したゲーム装置に関する。
【背景技術】
【0002】
ゲームセンター等に設置される業務用のガンゲーム装置には、プレーヤーが自由に手に持って操作することができるガンコントローラが設けられたものがある。ガンゲーム装置は、プレーヤーによってガンコントローラをディスプレイ方向に向けた状態でトリガー操作されることにより、ガンコントローラによって位置指示されているディスプレイ上の座標を検出し、この座標に基づいてディスプレイに表示していたターゲットを撃ち倒すなどの処理を実行する。
【0003】
ガンゲーム装置は、前述したように、ガンコントローラによって指示されているディスプレイ上の座標位置を検出する必要がある。従来のゲーム装置では、例えば、特許文献1に記載されているように、ビデオ画面を囲むように4箇所に発光体を配置し、射撃用のガンの銃身に設けられたCCDカメラによって撮影された4個の発光体を含む画像をもとに、4個の発光体の位置情報に基づいてビデオ画面に対するガンの相対位置、回転角度及び傾きを算出する構成が考えられている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平8−71252号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら従来技術では、4個の発光体を常時点灯しており、CCDカメラによって撮影された画像には常に4個の点灯された発光体が含まれている。従って、ガンコントローラによって指示されている位置を継続的に検出するためには、この間に撮影される画像のそれぞれについて4個の発光体の位置を検出しなければならず画像処理の負荷が大きかった。
【0006】
また、4個の発光体の配置がビデオ画面を囲む矩形の頂点に配置しているため、ガンコントローラをディスプレイに向けた状態で90度以上回転させると、4個の発光体の実際の位置と、撮影された画像中における発光体の位置との対応関係が一致しなくなってしまう。例えば、コントローラを右に90°回転させた状態で発光体を含む画像が撮影された場合、実際には左上に配置された発光体については、撮影された画像中では左下に位置してしまう。撮影された画像中の発光体が実際の発光体の何れに対応するか判別できないため、単純に画像中の各発光体の位置情報に基づいて座標を算出すると正確な結果が得られない場合があった。
【0007】
本発明は前述した事情に考慮してなされたもので、その目的は、画像処理の負荷を軽減すると共に、コントローラが回転された状態で操作された場合であっても正確な指示位置を示す座標を求めることが可能な位置指示装置、ゲーム装置を提供することにある。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明は、ディスプレイの周囲にそれぞれ離間させて配置した複数の発光体と、前記複数の発光体を個々に順次点灯させる制御手段と、前記制御手段によって前記複数の発光体が個々に点灯された時の画像を撮影する撮影手段と、前記撮影手段によって撮影された各画像から前記発光体の位置を検出し、前記発光体毎に、複数回の前記発光体の位置をもとにして、他の発光体が点灯されている時の位置を近似する前記発光体の仮想の位置を算出し、前記発光体の位置及び前記発光体の仮想の位置を基準にして座標を算出する演算手段とを具備したことを特徴とする。
【発明の効果】
【0009】
本発明によれば、画像処理の負荷を軽減すると共に、コントローラが回転された状態で操作された場合であっても正確な指示位置を示す座標を求めることが可能となる。
【図面の簡単な説明】
【0010】
【図1】本実施形態におけるガンゲーム装置の概略構成を示す図。
【図2】ガンコントローラに設けられた赤外線画像センサによって撮影される画像の一例を示す図。
【図3】本実施形態におけるガンゲーム装置の機能構成を示すブロック図。
【図4】コントロール装置による赤外線LEDの点灯制御を説明するための図。
【図5】コントロール装置による赤外線LEDの点灯制御のタイミングと、ガンコントローラからコントロール装置へのデータ出力するタイミングを説明するためのタイミングチャート。
【図6】複数の赤外線LEDが点灯された時に撮影された画像から検出されるLED指標(矩形位置)の変化の一例を示す図。
【図7】複数の赤外線LEDを個別に順次点灯させた時に撮影された画像から検出された4点のLED指標を結んで形成される形状を示す図。
【図8】LED指標の位置をもとに、他の赤外線LED18が点灯されていた時に対応するLED指標の位置を線形補間によって求める例を示す図。
【図9】赤外線LEDのそれぞれに対して算出された仮想のLED指標と、実際に検出されたLED指標の4点から形成される矩形の一例を示す図。
【図10】LED指標の3点の位置をもとにした補間方法を用いた例を示す図。
【図11】撮影された画像から検出された4つのLED指標の位置の一例を示す図。
【図12】LED指標の位置をもとにして座標検出を説明するための図。
【図13】LED指標の位置をもとにして座標検出を説明するための図。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態におけるガンゲーム装置の概略構成を示す図である。図1に示すガンゲーム装置は、銃型のコントローラ(以下、ガンコントローラ14)を操作することによって、例えばディスプレイ12において表示されたゲーム空間中に存在するターゲットを撃ち倒しながら進むゲームである。ゲーム処理装置10は、ディスプレイ12においてゲーム空間を表現するゲーム画像を表示させると共に、コントロール装置16を介して入力されるガンコントローラ14の銃口が指し示しているディスプレイ12上の位置を示す座標データやガンコントローラ14に対するプレーヤーの操作(例えば、ガンコントローラ14に設けられたトリガーの操作など)を通知する操作データなどを入力して、これら入力されたデータに応じたゲーム処理を実行する。
【0012】
コントロール装置16は、プレーヤーによって操作されるガンコントローラ14の制御を行う。コントロール装置16は、ディスプレイ12の周囲にそれぞれ離間させて配置した複数の赤外線LED18に対して点灯制御を行う機能の他、ガンコントローラ14に実装された座標検出機能により検出された座標データやガンコントローラ14に対する操作データなどを中継してゲーム処理装置10に出力する中継機能が設けられている。
【0013】
赤外線LED18は、例えば4個設けられている。本実施形態のガンゲーム装置では、ディスプレイ12の上辺に沿って2個の赤外線LED18a,18bを所定の間隔を設けて配置し、ディスプレイ12の下辺に沿って2個の赤外線LED18c,18dを所定の間隔を設けて配置している。赤外線LED18a,18b,18c,18dの配置位置は、ディスプレイ12の中央を通過する縦横線に対してそれぞれ対称の関係にあり、4つの配置位置を直線で結ぶと矩形を形成する。
【0014】
本実施形態におけるガンゲーム装置では、ガンコントローラ14、コントロール装置16、及び赤外線LED18により、ガンコントローラ14によって指示されたディスプレイ12上の座標位置を検出する位置指示装置が実現されている。
【0015】
図2には、ガンコントローラ14に設けられた赤外線画像センサ30によって撮影される画像の一例を示している。
図2に示すように、赤外線画像センサ30による撮影範囲は、プレーヤーがガンコントローラ14を用いてゲームを実施している位置において、ディスプレイ12による表示画面と、ディスプレイ12の周囲に配置された4個の赤外線LED18a,18b,18c,18dとを含む範囲としている。
【0016】
ガンコントローラ14による指示位置は、ガンコントローラ14により撮影された画像の中央に該当する。従って、4個の赤外線LED18a,18b,18c,18dを含むように画像を撮影することにより、画像の中央(ガンコントローラ14による指示位置)がディスプレイ12の表示画面の範囲に含まれる。
【0017】
図3は、本実施形態におけるガンゲーム装置の機能構成を示すブロック図である。
図3に示すガンゲーム装置は、複数のプレーヤーが同時にゲームに参加できるように複数のガンコントローラ14(ここでは、4台のガンコントローラ14−1,14−2,14−3,14−4)が設けられた例を示している。
【0018】
ゲーム処理装置10は、各種記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されるコンピュータの機能が実装されて構成される。
【0019】
ゲーム処理装置10には、メインCPU20、RAM21、画像処理部22、音響装置24、記憶装置26、及びインタフェース27がバスによって相互に接続されている。
【0020】
メインCPU20は、記憶装置26に記憶されたゲームプログラム26aに応じたゲーム処理を実行する。メインCPU20は、ゲーム処理において、コントロール装置16を介して入力される、プレーヤーによるガンコントローラ14に対する操作に応じた制御を行い、ディスプレイ12において表示すべき記憶装置26に記憶されたゲーム画像データ26dを画像処理部22に指示し、またゲーム状況に応じて音響装置24により所定の音声を出力させる。
【0021】
RAM21(メインメモリ)は、メインCPU20の実行に伴って各種のデータ、例えば表示対象となるゲーム画像データや音声出力の対象とする音声データなどが一時記憶される。また、RAM21には、ゲームの制御に用いられる、例えばプレーヤー(キャラクタ)の体力データ、武器に関するデータ、銃口の移動ベクトル(移動軌跡)の座標データ、その他のゲームの進行に従って変更される各種データが一時記憶される。
【0022】
画像処理部22は、メインCPU20からの指示に従って必要なゲーム画像データを生成して、ディスプレイ12においてゲーム画像を表示させる。
【0023】
音響装置24は、メインCPU20の制御のもとで、ディスプレイ12において表示されるゲーム画面に合わせて、ゲームの臨場感を高めるための効果音やBGM(back ground music)、あるいは各種メッセージ音声などをスピーカから出力させる。
【0024】
記憶装置26は、例えばハードディスク装置などにより構成されるもので、ゲームを制御するためのゲームプログラム26a、ゲームプログラム26aの実行に伴い表示されるゲーム画像データ26dなどが記憶される。
【0025】
インタフェース27は、コントロール装置16から、ガンコントローラ14の銃口が指し示しているディスプレイ12上の位置を示す座標データやガンコントローラ14に対する操作データなどを入力して、メインCPU20に通知する。
【0026】
ガンコントローラ14−1は、赤外線画像センサ30及び演算装置31が実装されている。赤外線画像センサ30は、例えばガンコントローラ14−1の先端部に装着されており、プレーヤーの操作によって銃口が向けられた方向の画像を撮影するために用いられる。赤外線画像センサ30による撮影範囲は、図2に示すように、銃口の中心軸によって指し示す位置が画像中心と一致するように調整され、コントロール装置16の制御により点灯された赤外線LED18の画像が含まれる。
【0027】
演算装置31は、例えばDSP(Digital Signal Processor)を有して構成されるもので、赤外線画像センサ30によって撮影された画像をもとにした座標検出機能を実現する。演算装置31は、赤外線画像センサ30によって撮影された画像をもとに、画像中の赤外線LED18a,18b,18c,18dに相当するLED指標の位置を基準にして画像の中央の座標、すなわちガンコントローラ14によるディスプレイ12に対する指示位置を示す座標データを算出し、コントロール装置16からのタイミング信号に合わせて座標データをコントロール装置16に出力する。
【0028】
本実施形態における演算装置31には、赤外線LED18a,18b,18c,18dのそれぞれについて、画像中から検出される複数回分のLED指標の位置をもとにして、実際に検出されたLED指標の間を補間する仮想のLED指標の位置を算出する補間処理の機能が設けられる。そのために、演算装置31は、画像中から検出される複数回分のLED指標の位置を記憶するためのメモリ、及びこのメモリに記憶されたデータをもとに仮想のLED指標の位置を算出する演算機能が実装される。
【0029】
また、演算装置31は、ガンコントローラ14に設けられたトリガー等に対する操作を検知し、この操作に応じた操作データについてもコントロール装置16に出力するものとする。
【0030】
なお、ガンコントローラ14−2,14−3,14−4は、前述したガンコントローラ14−1と同様の構成を有しているものとする。ガンコントローラ14−1〜14−4は、コントロール装置16からそれぞれに供給されるタイミング信号に合わせて、それぞれ異なるタイミングでデータをコントロール装置16に出力する。
【0031】
図4は、コントロール装置16による赤外線LED18a,18b,18c,18dの点灯制御を説明するための図である。
本実施形態におけるガンゲーム装置では、ディスプレイ12の周囲に4つの赤外線LED18a,18b,18c,18dが配置されている。本実施形態では、矩形状のディスプレイ12の上部左側に赤外線LED18a、同じく上部右側に赤外線LED18b、下部右側に赤外線LED18c、同じく下部左側に赤外線LED18dが配置されているものとする。
【0032】
コントロール装置16は、ゲームが開始されると、常時、連続的に赤外線LED18a,18b,18c,18dの順番で順次点灯させる。従って、ガンコントローラ14では、図4(a)〜(d)に示すように、各赤外線LED18a,18b,18c,18dが個々に点灯された時の画像を撮影することができる。
【0033】
ガンコントローラ14の演算装置31は、図4(a)〜(d)に示す赤外線画像センサ30により撮影された個々の画像から、それぞれ1個の赤外線LED18に相当する位置(LED指標の位置)を認識すれば良い。演算装置31は、コントロール装置16からのタイミング信号から、4個の赤外線LED18a,18b,18c,18dの何れが点灯されているかを判別することで、ガンコントローラ14が銃口をディスプレイ12に向けた状態で回転されて使用されていたとしても、撮影された画像から正しい向きでの座標を検出することができる。
【0034】
図5は、コントロール装置16による赤外線LED18a,18b,18c,18dの点灯制御のタイミングと、ガンコントローラ14からコントロール装置16へのデータ出力するタイミングを説明するためのタイミングチャートである。
図5(1)〜(4)は、赤外線LED18a,18b,18c,18dのそれぞれに対する点灯のタイミングを示すタイミング信号である。タイミング信号がハイレベルの間に、対応する赤外線LED18が点灯されることを示している。図5(1)〜(4)に示すように、赤外線LED18a,18b,18c,18dの順番で、一定間隔で順次点灯される。
【0035】
コントロール装置16は、ガンコントローラ14−1(演算装置31)に対して、図5(1)に示すタイミング信号と、図5(5)に示す全ての赤外線LED18の点灯タイミングを示すタイミング信号とを出力する。同様にして、ガンコントローラ14−2に対しては、図5(2)と図5(5)に示すタイミング信号を出力し、ガンコントローラ14−3に対しては、図5(3)と図5(5)に示すタイミング信号を出力し、ガンコントローラ14−4に対しては、図5(4)と図5(5)に示すタイミング信号を出力する。
【0036】
ガンコントローラ14−1の演算装置31は、図5(5)に示すタイミング信号により、赤外線LED18a,18b,18c,18dが点灯されるタイミングを判別することができ、また図5(1)のガンコントローラ14−1に対するタイミング信号により、赤外線LED18aが点灯されるタイミングを判別することができる。従って、図5(1)のタイミング信号が入力されている間に、例えば図4(a)に示す画像が撮影された場合には、この画像から検出されたLED指標がディスプレイ12の左上に配置された赤外線LED18aに相当するものと判別することができる。
【0037】
演算装置31は、赤外線LED18aに相当するLED指標の位置を基準にすることで、ガンコントローラ14−1が回転された状態で使用されていたとしても、他の赤外線LED18a〜18dに対応するLED指標の位置に基づいて座標系を補正して、撮影された画像の中心(ガンコントローラ14−1によって指し示された位置)の座標を算出することができる。
【0038】
なお、ガンコントローラ14−1の演算装置31は、各赤外線LED18が点灯されている時に撮影された画像をもとに算出した座標データを、図5(6)に示すように、図5(1)に示すタイミング信号に合わせてコントロール装置16に出力する。同様にして、ガンコントローラ14−2〜14−4についても、図5(7)〜(9)に示すように、それぞれに対応するタイミング信号(図5(2)〜(4))に合わせて、座標データをコントロール装置16に出力する。
【0039】
これにより、コントロール装置16は、複数のガンコントローラ14−1〜14−4のそれぞれに対応する受信回路を備えなくても、1つの受信回路によって各ガンコントローラ14−1〜14−4からの座標データを受信して、ゲーム処理装置10に中継することができる。
【0040】
次に、本実施形態におけるガンゲーム装置(位置指示装置)におけるガンコントローラ14により指示された位置の座標検出の動作について説明する。ここでは、説明を簡単にするために1台のガンコントローラ14−1が使用されてゲームが実行されるものとする。
【0041】
ゲームが開始されると、ゲーム処理装置10は、ゲームプログラムに基づくゲーム処理を実行して、ディスプレイ12においてゲーム画面を表示させる。
【0042】
プレーヤーは、ディスプレイ12に表示されたゲーム画面中の標的などに対して攻撃を加えるために、ガンコントローラ14−1の操作を行う。プレーヤーは、ガンコントローラ14−1の銃口を標的に合わせてトリガー操作をすることで攻撃を指示する。
【0043】
ガンコントローラ14−1の演算装置31は、プレーヤーによるトリガー操作を検知して、コントロール装置16に通知する。コントロール装置16は、図5(1)〜(4)のタイミング信号が示すタイミングで複数の赤外線LED18に対する点灯制御を常時連続的に行っている。また、コントロール装置16は、前述したように、ガンコントローラ14−1に対して、図5(1)(5)に示すタイミング信号を出力する。
【0044】
ガンコントローラ14−1は、赤外線画像センサ30によって、複数の赤外線LED18a,18b,18c,18dが個々に点灯された時の画像を撮影する。ここでは、1つの赤外線LED18が点灯されている時に画像を撮影するために、撮影された画像中からは1つの赤外線LED18に対応するLED指標の位置を検出すれば良い。このため、演算装置31による位置検出のための処理負荷は、1画像から複数のLED指標を検出する場合と比較して大幅に軽減される。
【0045】
一方、複数の赤外線LED18a,18b,18c,18dが個々に点灯された時の画像を撮影してLED指標の位置を検出するため、複数の赤外線LED18a,18b,18c,18dが点灯される間にガンコントローラ14(赤外線画像センサ30)の向きが変化した場合には、撮影された画像中における赤外線LED18a,18b,18c,18dの4点で形成される矩形の位置が変化(移動)していく。
【0046】
図6(a)〜(d)は、複数の赤外線LED18a,18b,18c,18dが点灯された時に撮影された画像から検出されるLED指標(矩形位置)の変化の一例を示している。
図6(a)は、赤外線LED18aが点灯されている時に撮影された画像を示すもので、この画像から赤外線LED18aに対応するLED指標A1の位置を検出することができる。図6(a)中の黒点は、赤外線LED18aが点灯されていた時の他の赤外線LED18b,18c,18d(LED指標)の位置を表している。
【0047】
図6(b)は、赤外線LED18aが点灯されている時に撮影された画像から検出されたLED指標B2の位置を追加している。例えば、ガンコントローラ14の銃口の向きを素早く動かすようにプレーヤーが操作した場合には、図6(b)に示すように、赤外線LED18aが点灯されていた時の赤外線LED18bの位置とは異なる位置において、赤外線LED18bに対応するLED指標B2が検出される。
【0048】
同様にして、図6(c)は、赤外線LED18cが点灯されている時に撮影された画像から検出されたLED指標C3の位置を追加し、図6(d)は、赤外線LED18dが点灯されている時に撮影された画像から検出されたLED指標D4の位置を追加している。
【0049】
図6(a)〜(d)に示すように、複数の赤外線LED18a,18b,18c,18dを個別に順次点灯させ、それぞれが点灯された時に画像を撮影しているために、赤外線LED18a,18b,18c,18dの4点により形成される矩形の位置が変化し、赤外線LED18a,18b,18c,18dに対応する4点のLED指標A1,B2,C3,D4により形成される形状が矩形とならない。
【0050】
図7には、複数の赤外線LED18a,18b,18c,18dを個別に順次点灯させた時に撮影された画像から検出された4点のLED指標A1,B2,C3,D4を結んで形成される形状を示している。
【0051】
図7に示すように、LED指標A1,B2,C3,D4から形成された四角形は歪んだ形状となり、本来の赤外線LED18a,18b,18c,18dの配置と一致しない。このため、単純にLED指標A1,B2,C3,D4の位置をもとにして座標を算出しても、ガンコントローラ14によって指し示された位置を示す正確な座標値を得ることができない。
【0052】
そこで、本実施形態においては、演算装置31は、複数の赤外線LED18a,18b,18c,18dのそれぞれについて、赤外線画像センサ30により撮影された画像から検出されたLED指標の位置をもとに、他の赤外線LED18が点灯されている時の仮想のLED指標の位置を補間処理によって算出する。そして、この補間処理により算出された仮想のLED指標の座標をもとに、ガンコントローラ14により指し示されている位置の座標を算出する。
【0053】
図8は、LED指標の位置をもとに、他の赤外線LED18が点灯されていた時に対応するLED指標の位置を線形補間によって求める例を示している。この例では、赤外線LED18aに対して検出されたLED指標の位置と、補間処理によって算出された仮想のLED指標の位置を示している。
【0054】
図8では、赤外線LED18aが点灯された時に撮影された画像からLED指標A1が検出された後、赤外線LED18b〜18dがそれぞれ点灯されて画像が撮影され、再度、赤外線LED18aが点灯された時に撮影された画像からLED指標A5が検出されたことを表している。また、赤外線LED18b〜18dが点灯された時の赤外線LED18aに相当する位置は、それぞれA2,A3,A4によって示している。
【0055】
演算装置31は、1点のLED指標を検出する毎に、前回のLED指標の座標値を記録しておく。すなわち、LED指標A5を検出した際には、前回のLED指標A1の座標値が記録されており、この全体のLED指標A1の座標値と、今回のLED指標A5の座標値をもとに線形補間を実行する。
【0056】
図8に示すように、演算装置31は、2点のLED指標A1,A5を結ぶ線分上において、線分を等分割する3点を仮想のLED指標A2a,A3a,A4aの座標値を算出する。すなわち、仮想のLED指標A2aは、赤外線LED18bが点灯された時の赤外線LED18aに相当する位置A2に対して、補間処理によって算出された座標を示している。同様にして、仮想のLED指標A3a,A4aは、それぞれ位置A3,A4に対して算出された座標を示している。
【0057】
図8に示すように、単純な線形補間による処理によっても、赤外線LED18b〜18dが点灯された時の赤外線LED18aに相当する位置A2,A3,A4を近似する仮想のLEDの座標値を算出することができる。
【0058】
図9には、赤外線LED18b〜18dのそれぞれに対して算出された仮想のLED指標と、実際に検出されたLED指標の4点から形成される矩形の一例を示している。図9において、白丸が赤外線画像センサ30により撮影された画像から検出されたLED指標の位置を表し、黒丸が補間処理によって取得された仮想のLED指標の位置を表している。
【0059】
図9に示すように、赤外線LED18a,18b,18c,18dのそれぞれに応じて、前述したように仮想のLED指標を求めることにより、例えばLED指標A1に対しては、仮想のLED指標B1a,C1a,D1aからなる4点による矩形を形成することができる。仮想のLED指標B1a,C1a,D1aが、それぞれ赤外線LED18b,18c,18dの本来の位置を近似した位置であるため、歪みの少ない矩形が形成されている。
【0060】
同様にして、LED指標B2に対しては、仮想のLED指標C2a,D2a,A2aからなる4点、LED指標C3に対しては、仮想のLED指標D3a,A3a,B3aからなる4点、LED指標D4に対しては、仮想のLED指標A4a,B4a,C4aからなる4点によって、それぞれ矩形を形成することができる。
【0061】
演算装置31は、こうして求められた矩形を構成する4点の座標をもとにして、後述するように(図11〜図13)、ガンコントローラ14の銃口が指し示しているディスプレイ12における座標を算出する。
【0062】
なお、前述した説明では、図8に示すように、LED指標の2点の位置をもとにした線形補間によって仮想のLCD指標の座標値を求めているが、他の補間方法を用いることも可能である。
図10は、LED指標の3点以上の位置をもとにした二次以上の多項式補間方法を用いた例を示す図である。
図10には、例えば、赤外線LED18aが点灯されていた時に撮影された画像から検出された3つのLED指標A1,A5,A9を示している。演算装置31は、3つのLED指標A1,A5,A9をもとにして、多項式補間(例えば3次スプライン補間)法によって、LED指標A1とLED指標A5との間に、赤外線LED18b,18c,18dが点灯されていた時のそれぞれに対応する補間点A2a,A3a,A4aを算出することができる。同様にして、LED指標A5とLED指標A9との間に、赤外線LED18b,18c,18dが点灯されていた時のそれぞれに対応する補間点A6a,A7a,A8aを算出することができる。
【0063】
このように、3つのLED指標をもとに補間点を算出する場合、演算装置31では、赤外線LED18a,18b,18c,18dのそれぞれについて、3回分の点灯位置(LED指標の座標)を記憶し、新たなLED指標の位置が検出するごとに、3つのLED指標をもとに補間点を算出する。なお、3点のLED指標の位置をもとに補間点を算出する場合には、3番目のLED指標の位置が検出された時に、2番目のLED指標(図10のA5)と3番目のLED指標(図10のA9)との間の仮想のLED指標を算出すれば良く、1番目のLED指標(図10のA1)と2番目のLED指標との間の仮想のLED指標については、LED指標A5が検出された時に算出された仮想のLED指標の位置を用いれば良い。
【0064】
なお、図10を用いた補間処理の説明では、3次スプライン補間法によって仮想のLED指標の位置を算出するものとしているが、他の二次以上の多項式補間法を用いることも可能である。演算装置31は、採用する補間法に応じた数のLED指標の位置を記録して、仮想のLED指標の位置を算出すれば良い。
【0065】
こうして、演算装置31は、各赤外線LED18a,18b,18c,18dが点灯されている時に撮影された画像のLED指標の位置、及び仮想のLED指標の位置を算出すると、赤外線LED18a,18b,18c,18dのそれぞれに対応する4つのLED指標の位置を基準にして、ガンコントローラ14−1の銃口が指し示しているディスプレイ12における座標を算出する。
【0066】
図11には、撮影された画像から検出された4つのLED指標の位置の一例を示している。図11において、点Aが赤外線LED18aに対応するLED指標の位置を示す。同様にして、点B,C,Dは、それぞれ赤外線LED18b,18c,18dに対応するLED指標の位置を示している。図11中の点Oは、画像の中心であり、ガンコントローラ14−1によって指し示された位置を示す。演算装置31は、点A,B,C,Dの座標から画像中心の点Oの座標を算出する。
【0067】
まず、演算装置31は、図12に示すように、点A,B,C,Dの座標をもとにして、点A,B,C,Dを頂点とする矩形の重心Pを求める((A+B+C+D)/4)。
【0068】
また、点A,Dの中点をX0、点B,Cの中点をX1、点A,Bの中点をY0、点C,Dの中点をY1として、ベクトルX0X1、ベクトルY0Y1を求める(X0X1=(B+C)−(A+D),Y0Y1=(C+D)−(A+B))。
【0069】
そして、演算装置31は、図13に示すように、重心Pを原点とし、ベクトルX0X1と一致する軸をX軸、ベクトルY0Y1と一致する軸をY軸とする座標系に補正し、この補正された座標系における点Oの座標を逆写像変換により算出する。
【0070】
なお、図11〜図13に示す例では、点Aが赤外線LED18aに相当するLED指標の位置としているが、例えば点Bが赤外線LED18aに相当するLED指標の位置にある場合、すなわちガンコントローラ14−1が右方向に90°近く回転させた状態で操作されている場合には、点Bを左上の頂点位置に配置した座標系に補正して、ガンコントローラ14が指し示している座標を算出すれば良い。
【0071】
演算装置31は、コントロール装置16からの図5(1)に示すタイミング信号に合わせて、図5(6)に示すタイミングで座標データをコントロール装置16に出力する。コントロール装置16は、ガンコントローラ14−1からの座標データを中継して、ゲーム処理装置10に出力する。
【0072】
ゲーム処理装置10のメインCPU20は、インタフェース27を通じて入力された座標データをもとに、ディスプレイ12に表示された標的についての命中判定を行い、この判定結果に応じた処理を実行する。
【0073】
このようにして、本実施形態におけるガンゲーム装置(位置指示装置)では、複数の赤外線LED18を個々に順次点灯させ、赤外線LED18が個々に点灯された時に、ガンコントローラ14において赤外線画像センサ30により撮影された画像をもとに画像中の赤外線LED18(LED指標)の位置を基準とした座標を算出するので、撮影された画像からは1つのLED指標の位置を検出すれば良いために演算装置31における画像処理の負荷が軽減され、またガンコントローラ14が回転した状態で操作された場合であっても、個々の赤外線LED18を点灯させるタイミングに基づいて実際の赤外線LED18の位置と各画像から検出されるLED指標との対応関係を判別することができるため、各LED指標の位置に基づいて正確な指示位置を示す座標を求めることが可能となる。
【0074】
また、赤外線画像センサ30により撮影された画像から検出されたLED指標の位置だけでなく、他の赤外線LED18が点灯されている時の赤外線LED18の本来の位置を近似した仮想のLED指標の位置をもとに座標を検出するので、より精度の高い座標検出が可能となる。
【0075】
なお、前述した説明では、4個の赤外線LED18をディスプレイ12の周囲に配置しているが、5個以上の赤外線LED18を配置する構成としても良い。また、ディスプレイ12の上辺と下辺に沿って、それぞれ2個の赤外線LED18を離間させて配置しているが、ディスプレイ12の周囲の他の位置に赤外線LED18(発光体)を配置するようにしても良い。例えば、ディスプレイ12の4隅(頂点)の近傍に配置したり、ディスプレイ12の上辺、下辺、右辺及び左辺の中点近傍に配置したりしても良い。ガンコントローラ14の演算装置31は、ディスプレイ12の周囲に配置された赤外線LED18の位置に基づいて、赤外線画像センサ30により撮影された画像から赤外線LED18の位置を検出し、この位置に基づいてガンコントローラ14が指し示している位置(画像の中央)の座標を算出する。
【0076】
さらに、発光体(赤外線LED18)をディスプレイ12の周囲に配置しているが、ディスプレイ12の固定位置に、赤外線LED18に相当する固定輝点を表示させるようにしても良い。例えば、ディスプレイ12において、ゲーム画面とは別の座標検出用の固定輝点(例えば、所定形状や色による表示)を、前述した赤外線LED18の位置に相当する位置において表示させる。すなわち、ディスプレイ12の上辺と下辺に沿った位置、ディスプレイ12の4隅、あるいは4辺のそれぞれの中点などにおいて表示させる。ゲーム処理装置10は、各位置の固定輝点を所定のタイミングで個々に順次点灯させる。ガンコントローラ14の演算装置31は、ディスプレイ12に表示されたゲーム画面を固定輝点が識別できるように撮影し、この撮影された画像中から座標検出用の固定輝点に相当する部分を分離認識する。例えば、演算装置31は、固定輝点を表示する場合の所定形状や色に基づいて、ゲーム画面中から固定輝点を分離認識する。演算装置31は、ゲーム画面中から分離認識された各固定輝点の位置の座標を前述と同様にして算出する。
【0077】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0078】
10…ゲーム処理装置、12…ディスプレイ、14(14−1,14−2,14−3,14−4)…ガンコントローラ、16…コントロール装置、18(18a,18b,18c,18d)…赤外線LED、20…メインCPU、21…RAM、22…画像処理部、24…音響装置、26…記憶装置、26a…ゲームプログラム、26d…ゲーム画像データ、27…インタフェース、30…赤外線画像センサ、31…演算装置。
【特許請求の範囲】
【請求項1】
ディスプレイの周囲にそれぞれ離間させて配置した複数の発光体と、
前記複数の発光体を個々に順次点灯させる制御手段と、
前記制御手段によって前記複数の発光体が個々に点灯された時の画像を撮影する撮影手段と、
前記撮影手段によって撮影された各画像から前記発光体の位置を検出し、前記発光体毎に、複数回の前記発光体の位置をもとにして、他の発光体が点灯されている時の位置を近似する前記発光体の仮想の位置を算出し、前記発光体の位置及び前記発光体の仮想の位置を基準にして座標を算出する演算手段と
を具備したことを特徴とする位置指示装置。
【請求項2】
前記演算手段は、前記制御手段によって前記発光体が点灯されるタイミングと前記画像中の前記発光体の位置とに基づいて座標系を補正し、この補正された座標系における座標を算出することを特徴とする請求項1記載の位置指示装置。
【請求項3】
前記演算手段は、前記発光体が2回点灯された分の前記発光体の位置をもとに、線形補間によって前記発光体の仮想の位置を算出することを特徴とする請求項2記載のゲーム装置。
【請求項4】
前記演算手段は、前記発光体が3回以上点灯された分の前記発光体の位置をもとに、多項式補間によって前記発光体の仮想の位置を算出することを特徴とする請求項2記載のゲーム装置。
【請求項5】
ディスプレイにゲーム画面を表示させるゲーム処理装置と、
前記ディスプレイの周囲にそれぞれ離間させて配置した複数の発光体と、
前記複数の発光体を個々に順次点灯させるコントロール装置と、
前記ディスプレイ上の位置を指示するためにプレーヤーによって操作されるものであって、指示方向の画像を撮影する撮影手段と、前記コントロール装置により複数の発光体が個々に点灯された時の前記撮影手段によって撮影された画像をもとに、前記画像中の各発光体の位置を検出し、前記発光体毎に、複数回の前記発光体の位置をもとにして、他の発光体が点灯されている時の位置を近似する前記発光体の仮想の位置を算出し、前記発光体の位置及び前記発光体の仮想の位置を基準にして座標を算出する演算手段とが設けられたコントローラとを具備したことを特徴とするゲーム装置。
【請求項1】
ディスプレイの周囲にそれぞれ離間させて配置した複数の発光体と、
前記複数の発光体を個々に順次点灯させる制御手段と、
前記制御手段によって前記複数の発光体が個々に点灯された時の画像を撮影する撮影手段と、
前記撮影手段によって撮影された各画像から前記発光体の位置を検出し、前記発光体毎に、複数回の前記発光体の位置をもとにして、他の発光体が点灯されている時の位置を近似する前記発光体の仮想の位置を算出し、前記発光体の位置及び前記発光体の仮想の位置を基準にして座標を算出する演算手段と
を具備したことを特徴とする位置指示装置。
【請求項2】
前記演算手段は、前記制御手段によって前記発光体が点灯されるタイミングと前記画像中の前記発光体の位置とに基づいて座標系を補正し、この補正された座標系における座標を算出することを特徴とする請求項1記載の位置指示装置。
【請求項3】
前記演算手段は、前記発光体が2回点灯された分の前記発光体の位置をもとに、線形補間によって前記発光体の仮想の位置を算出することを特徴とする請求項2記載のゲーム装置。
【請求項4】
前記演算手段は、前記発光体が3回以上点灯された分の前記発光体の位置をもとに、多項式補間によって前記発光体の仮想の位置を算出することを特徴とする請求項2記載のゲーム装置。
【請求項5】
ディスプレイにゲーム画面を表示させるゲーム処理装置と、
前記ディスプレイの周囲にそれぞれ離間させて配置した複数の発光体と、
前記複数の発光体を個々に順次点灯させるコントロール装置と、
前記ディスプレイ上の位置を指示するためにプレーヤーによって操作されるものであって、指示方向の画像を撮影する撮影手段と、前記コントロール装置により複数の発光体が個々に点灯された時の前記撮影手段によって撮影された画像をもとに、前記画像中の各発光体の位置を検出し、前記発光体毎に、複数回の前記発光体の位置をもとにして、他の発光体が点灯されている時の位置を近似する前記発光体の仮想の位置を算出し、前記発光体の位置及び前記発光体の仮想の位置を基準にして座標を算出する演算手段とが設けられたコントローラとを具備したことを特徴とするゲーム装置。
【図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】
【公開番号】特開2011−244940(P2011−244940A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−119577(P2010−119577)
【出願日】平成22年5月25日(2010.5.25)
【出願人】(310009993)株式会社タイトー (207)
【Fターム(参考)】
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願日】平成22年5月25日(2010.5.25)
【出願人】(310009993)株式会社タイトー (207)
【Fターム(参考)】
[ Back to top ]