JPWO2009093461A1 - 撮像装置、オンラインゲームシステム、操作物、入力方法、画像解析装置、画像解析方法、及び記録媒体 - Google Patents
撮像装置、オンラインゲームシステム、操作物、入力方法、画像解析装置、画像解析方法、及び記録媒体 Download PDFInfo
- Publication number
- JPWO2009093461A1 JPWO2009093461A1 JP2009550476A JP2009550476A JPWO2009093461A1 JP WO2009093461 A1 JPWO2009093461 A1 JP WO2009093461A1 JP 2009550476 A JP2009550476 A JP 2009550476A JP 2009550476 A JP2009550476 A JP 2009550476A JP WO2009093461 A1 JPWO2009093461 A1 JP WO2009093461A1
- Authority
- JP
- Japan
- Prior art keywords
- mcu
- image
- information
- variable
- imaging
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000003384 imaging method Methods 0.000 title claims description 74
- 238000010191 image analysis Methods 0.000 title claims description 9
- 238000003703 image analysis method Methods 0.000 title claims description 6
- 238000001514 detection method Methods 0.000 claims abstract description 67
- 230000033001 locomotion Effects 0.000 claims abstract description 35
- 239000013598 vector Substances 0.000 claims description 69
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000001133 acceleration Effects 0.000 claims description 5
- 239000003550 marker Substances 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 91
- 235000009421 Myristica fragrans Nutrition 0.000 description 16
- 239000001115 mace Substances 0.000 description 16
- 238000003491 array Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012538 light obscuration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
Images
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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A63F13/12—
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/24—Constructional details thereof, e.g. game controllers with detachable joystick handles
- A63F13/245—Constructional details thereof, e.g. game controllers with detachable joystick handles specially adapted to a particular type of game, e.g. steering wheels
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/833—Hand-to-hand fighting, e.g. martial arts competition
-
- 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/10—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 characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1062—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 characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to a type of game, e.g. steering wheel
-
- 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/10—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 characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1087—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 characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
-
- 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/8029—Fighting without shooting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
赤外発光ダイオード11は間欠的に赤外光を発光する。赤外光は、操作物3−Nの再帰反射シート4により再帰反射され、イメージセンサ21に入力される。イメージセンサ21は点灯時画像と消灯時画像との差分画像を生成し、MCU23は差分画像を解析して、操作物3−Nの動きを検出し、検出結果(トリガ、位置、面積)を端末5に送信する。端末5−Nは、受け取った検出結果をオンラインゲーム処理に反映すると共に、ホストコンピュータ31に送信する。ホストコンピュータ31は、受信した検出結果を処理に反映すると共に、他の端末5−Nに送信する。当該他の端末5−Nは、受信した検出結果をオンラインゲーム処理に反映する。
Description
本発明は、コンピュータとは別体で設けられ、かつ、コンピュータに接続して使用される撮像装置及びそれらの関連技術に関する。
特許文献1には、カメラを入力装置として利用する通信対戦型バーチャルリアリティテニスゲームシステムが開示されている。このシステムでは、カメラでプレイヤを撮影し、コンピュータ本体が得られた画像を解析して、プレイヤの入力としてのスイングを検出する。そして、コンピュータ本体は検出したスイングに応じて、返球データを作成する。
このように、カメラからコンピュータ本体に与えられるのは、プレイヤの入力情報ではなく、画像そのものである。従って、カメラを入力装置として利用する場合、ゲームプログラマーは、ゲームの進行を制御するアプリケーションプログラムに加えて、画像を解析するプログラムをも作成しなければならず、コンピュータ本体への入力装置としてのカメラは非常に使い難い。
そこで、本発明の目的は、コンピュータ本体のプログラマーにとって、入力装置として使い易い撮像装置及びその関連技術を提供することである。
本発明の第1の観点によれば、撮像装置は、コンピュータとは別体で設けられる撮像装置であって、ユーザが操作する操作物を撮像する撮像手段と、前記撮像手段から与えられた撮像画像を解析して、前記操作物による入力を検出し、入力情報を生成する検出手段と、前記入力情報を前記コンピュータに送信する送信手段と、を備える。
この構成によれば、撮像装置からコンピュータに与えられるのは、従来と異なり、撮像画像ではなく、その解析結果である操作物による入力情報、つまり、ユーザの入力情報である。従って、撮像装置を入力装置として利用する場合でも、ゲームプログラマーにとって、撮像画像を解析するプログラムの作成は不要であり、撮像装置を、一般的な入力装置であるキーボード等と同様に扱うことができる。その結果、ゲームプログラマーにとって、入力装置として使い易い撮像装置を提供できる。ひいては、操作物を三次元空間中で動かすといったダイナミックな動きを入力としたオンラインゲーム(体感型のオンラインゲーム)を簡易に実現できる。
この撮像装置において、前記検出手段は、前記撮像画像を解析して前記操作物の状態情報を算出し、前記状態情報を前記入力情報として前記送信手段に与える。
この構成によれば、コンピュータは、操作物の状態情報に基づく処理を実行できる。
この撮像装置において、前記操作物の前記状態情報は、位置情報、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、傾斜情報、動き情報若しくは、形態情報のいずれか、又は、それらの2以上の組み合わせ、である。
ここで、本明細書において、形態は、形状、模様若しくは色彩またはそれらの2以上の組合せを含む。また、形態は、数字、記号及び文字を含む。
上記撮像装置において、前記操作物の前記状態情報は、前記操作物に装着された単数又は複数のマーカの状態情報である。
この場合、複数のマーカの状態情報は、それぞれのマーカの状態情報の他、複数のマーカの位置関係を示す情報(配置情報)及び数情報、並びに、複数のマーカ全体によって形成される形態の情報及びその形態の位置情報、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、傾斜情報及び動き情報を含む。
上記撮像装置において、前記送信手段は、前記状態情報をコマンドとして、前記コンピュータに送信する。
この構成によれば、コンピュータは、操作物の状態情報に対応した撮像装置からのコマンドに応答した処理を実行できる。
上記撮像装置は、前記操作物に、予め定められた周期で、光を照射するストロボスコープをさらに備え、前記撮像手段は、前記ストロボスコープの点灯時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像及び消灯時画像を取得し、前記発光時画像と前記消灯時画像との差分信号を生成する差分信号生成手段を含む。
この構成によれば、点灯時画像と消灯時画像との差分画像を生成するといった簡単な処理で、ノイズや外乱の影響を極力抑えた精度の高い操作物の検出が可能である。
上記撮像装置において、前記操作物は、受けた光を再帰反射する再帰反射手段を含む。
この構成によれば、より精度良く、操作物の検出を行うことができる。
本発明の第2の観点によれば、オンラインゲームシステムは、各々が、対応する端末に接続され、対応する前記端末とは別体で設けられる複数の撮像装置を備え、前記撮像装置は、ユーザによって操作される操作物を撮像する撮像手段と、前記撮像手段から与えられた撮像画像を解析して、前記操作物による入力を検出し、入力情報を生成する検出手段と、前記入力情報を前記端末に送信する送信手段と、を含み、ネットワーク経由で複数の前記端末が相互に接続されて、前記入力情報を相互に交換することにより、ゲームを進行する。
この構成によれば、撮像装置から端末に与えられるのは、従来と異なり、撮像画像ではなく、その解析結果である操作物による入力情報、つまり、ユーザの入力情報である。従って、撮像装置を入力装置として利用する場合でも、ゲームプログラマーにとって、撮像画像を解析するプログラムの作成は不要であり、撮像装置を、一般的な入力装置であるキーボード等と同様に扱うことができる。その結果、ゲームプログラマーにとって、入力装置として使い易い撮像装置を提供することができる。ひいては、操作物を三次元空間中で動かすといったダイナミックな動きを入力としたオンラインゲーム(体感型のオンラインゲーム)を簡易に実現できる。
本発明の第3の観点によれば、操作物は、撮像装置の被写体であり、ユーザに保持されて動きが与えられる操作物であって、複数の反射手段と、少なくとも1つの前記反射手段の露光状態と非露光状態とを切り替える切替手段と、を備え、少なくとも1つの他の前記反射手段は、露光状態を維持する。
この構成によれば、露光状態を常に維持する反射手段を設けているので、その反射手段の撮像画像に基づいて、操作物による入力の有無及び/又は入力の形態を常に検出できる。また、露光状態と非露光状態とが切り替えられる反射手段を設けているので、その反射手段が撮像された時と撮像されなかった時とで、異なる入力を与えることができ、反射手段を利用した入力の種類を多様化できる。
本発明の第4の観点によれば、操作物は、撮像装置の被写体であり、ユーザに保持されて動きが与えられる操作物であって、第1反射手段と、第2反射手段と、前記第1反射手段と前記第2反射手段との間で、露光及び非露光状態が逆になるように、前記第1反射手段及び前記第2反射手段の状態を切り替える切替手段と、を備える。
この構成によれば、第1反射手段と第2反射手段とは、露光及び非露光状態が互いに逆になるので、それぞれの撮像画像に基づいて、操作物による入力の有無及び/又は入力の形態を検出できる。また、第1反射手段と第2反射手段との間の露光及び非露光の切り替えに基づいて、操作物による入力の有無及び/又は入力の形態を検出することもできる。
上記第3及び第4の観点による操作物において、前記反射手段は、受けた光を再帰反射する。
本発明の第5の観点によれば、入力方法は、コンピュータとは別体で設けられる撮像装置が実行する入力方法であって、ユーザが操作する操作物を撮像するステップと、撮像する前記ステップから与えられた撮像画像を解析して、前記操作物による入力を検出し、入力情報を生成するステップと、前記入力情報を前記コンピュータに送信するステップと、を含む。
この構成によれば、上記第1の観点による撮像装置と同様の効果を奏する。
本発明の第6の観点によれば、記録媒体は、上記第5の観点による入力方法を、撮像装置に搭載されたコンピュータに実行させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
この構成によれば、上記第1の観点による撮像装置と同様の効果を奏する。
本発明の第7の観点によれば、画像解析装置は、単数又は複数の被写体を撮像する撮像手段と、前記撮像手段により得られた画像から、前記被写体の像が包含され、前記画像の画素数より少ない画素からなる一次の候補領域を決定する第1の候補領域決定手段と、前記被写体の数が1又は2である場合、前記一次の候補領域をスキャンして、前記被写体の状態情報を算出する第1の状態算出手段と、前記被写体の数が少なくとも3である場合、前記一次の候補領域から、前記被写体の像を包含し、前記一次の候補領域の画素数より少ない画素からなる二次の候補領域を決定する第2の候補領域決定手段と、前記被写体の数が少なくとも3である場合、前記二次の候補領域をスキャンして、前記被写体の状態情報を算出する第2の状態算出手段と、を備える。
この構成によれば、被写体が3を超える場合でも、それらの状態情報を求めることができる一方、被写体が1又は2の場合は、第2の候補領域決定手段及び第2の状態算出手段の処理を省くことができ、処理負荷を軽減できる。
ここで、包含とは、被写体の像が一次の候補領域に完全に収まり、はみ出ていない事、及び、被写体の像が二次の候補領域に完全に収まり、はみ出ていない事を意味する。
この画像解析装置において、前記第1の候補領域決定手段は、前記画像の画素値の水平軸への正射影である第1配列を生成する第1配列手段と、前記画像の前記画素値の垂直軸への正射影である第2配列を生成する第2配列手段と、前記第1配列及び前記第2配列に基づいて、前記一次の候補領域を決定する手段と、を含み、前記第2の候補領域決定手段は、前記一次の候補領域の前記画素値の前記水平軸への正射影である第3配列を生成する第3配列手段と、前記一次の候補領域の前記画素値の前記垂直軸への正射影である第4配列を生成する第4配列手段と、前記第3配列及び前記第4配列に基づいて、前記二次の候補領域を決定する手段と、を含む。
上記画像解析装置は、前記操作物に、予め定められた周期で、光を照射するストロボスコープをさらに備え、前記撮像手段は、前記ストロボスコープの点灯時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像及び消灯時画像を取得し、前記発光時画像と前記消灯時画像との差分信号を生成する差分信号生成手段を含み、前記第1の候補領域決定手段、前記第1の状態算出手段、前記第2の候補領域決定手段、及び前記第2の状態算出手段は、前記差分信号に基づいて処理を実行する。
この構成によれば、点灯時画像と消灯時画像との差分画像を生成するといった簡単な処理で、ノイズや外乱の影響を極力抑えた精度の高い操作物の検出が可能である。
本発明の第8の観点によれば、画像解析方法は、単数又は複数の被写体を撮像する撮像装置により得られた画像に基づく画像解析方法であって、前記画像から、前記被写体の像が包含され、前記画像の画素数より少ない画素からなる一次の候補領域を決定するステップと、前記被写体の数が1又は2である場合、前記一次の候補領域をスキャンして、前記被写体の状態情報を算出するステップと、前記被写体の数が少なくとも3である場合、前記一次の候補領域から、前記被写体の像を包含し、前記一次の候補領域の画素数より少ない画素からなる二次の候補領域を決定するステップと、前記被写体の数が少なくとも3である場合、前記二次の候補領域をスキャンして、前記被写体の状態情報を算出するステップと、を含む。
この構成によれば、上記第7の観点による画像解析装置と同様の効果を奏する。
本発明の第9の観点によれば、記録媒体は、上記第8の観点による画像解析方法をコンピュータに実行させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
この構成によれば、上記第7の観点による画像解析装置と同様の効果を奏する。
なお、本明細書及び請求の範囲において、記録媒体は、例えば、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、CD(CD−ROM、Video−CDを含む)、DVD(DVD−Video、DVD−ROM、DVD−RAMを含む)、ROMカートリッジ、バッテリバックアップ付きのRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等を含む。
本発明の新規な特徴は、特許請求の範囲に記載されている。しかしながら、発明そのもの及びその他の特徴と効果は、添付図面を参照して具体的な実施例の詳細な説明を読むことにより容易に理解される。
1−N(1−1〜1−n)…カメラユニット、3−N(3−1〜3−n),3A−N(3A−1〜3A−n),3B−N(3B−1〜3B−n),3C−N(3C−1〜3C−n)…操作物、5−N(5−1〜5−n)…端末、4,4A〜4G…再帰反射シート、11…赤外発光ダイオード、21…イメージセンサ、23…MCU、29…ネットワーク、31…ホストコンピュータ。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
図1は、本発明の実施の形態によるゲームシステムの全体構成を示す外観斜視図である。図1を参照して、このゲームシステムは、プレイヤが把持して動かす剣型の操作物(以下、「剣」と呼ぶ。)3A−N、端末5−N、及び、端末5−Nのモニタ7の上縁に載置されるカメラユニット1−Nを含む。なお、Nは、1以上の整数である。
カメラユニット1−Nは、USB(Universal Serial Bus)ケーブル9により、端末5−Nに接続される。カメラユニット1−Nは、赤外光のみを透過する赤外線フィルタ13及びその周りに配置される赤外光を発光する4個の赤外発光ダイオード(IRED)11を含む。赤外線フィルタ13の裏側には、後述のイメージセンサ21が配置される。
図1の剣3A−Nは、図3(a)に示すように、その刀身部33の両面には、再帰反射シート4Aが取り付けられる。また、剣3A−Nの鍔部35の両面には、半円柱状部材37が取り付けられる。この半円柱状部材37の曲面には、再帰反射シート4Bが取り付けられる。
本実施の形態では、剣3A−Nの他に、2つの操作物を用意している。図3(b)に、メイス(mace)型の操作物(以下、「メイス」と呼ぶ。)3B−Nを示す。メイス3B−Nは、プレイヤが把持するスティック45及びスティック45の一方端部に固定されたボール47を含む。ボール47には、表面全体に再帰反射シート4Cが取り付けられる。
また、図3(c)に、クロスボウ型の操作物(以下、「クロスボウ」と呼ぶ。)3C−Nを示す。クロスボウ3C−Nの左右の弓部39の側面には、円形の再帰反射シート4E及び4F(図には表れていない。)が左右対称に取り付けられる。左右の再帰反射シート4E及び4Fの間であって、台座41の先端部に、円形の再帰反射シート4Dが取り付けられる。
また、台座41の先端部には、開閉自在に蓋49が取り付けられる。トリガ51が引かれていない状態では、蓋49は閉じている。従って、この場合、再帰反射シート4Dは、蓋49に覆われて露出しない。一方、トリガ51が引かれた状態では、図示のように、蓋49は開いている。従って、この場合、再帰反射シート4Dは、露出している。
さらに、台座41の底部にも、再帰反射シート4Gが取り付けられる。再帰反射シート4Gは、その反射面が台座41の長手方向に対して鋭角(トリガ51の側から見て)になるように取り付けられる。従って、台座41の先端部がカメラユニット1のほうを向いている場合、再帰反射シート4Gは撮影されず、台座41の先端部が斜め上方向を向いている場合、再帰反射シート4Gは撮影される。
なお、再帰反射シート4A〜4Gを包括して、再帰反射シート4と表記することもある。再帰反射シート4は、マーカ4と呼ぶこともできる。また、剣3A−N、メイス3B−N及びクロスボウ3C−Nを包括して、操作物3−Nと表記することもある。操作物3−Nは、被写体3−Nと呼ぶこともできる。
図1に戻って、カメラユニット1−Nの赤外発光ダイオード11は、予め定められた周期で間欠的に赤外光を発光する。このように、赤外発光ダイオード11はストロボスコープとして機能する。赤外発光ダイオード11からの赤外光は、剣3A−Nの再帰反射シート4A又は4Bにより再帰反射され、赤外線フィルタ13の裏側に設けられたイメージセンサ21に入力される。このようにして、剣3A−Nが間欠的に撮影される。メイス3B−N及びクロスボウ3C−Nについても同様である。
ただし、赤外光の消灯時においても、イメージセンサ21による撮影処理は行われている。従って、カメラユニット1は、赤外光点灯時の画像信号と消灯時の画像信号との差分を求めて、この差分信号DI(差分画像DI)を基に、剣3A−Nの動きを検出し、USBケーブル9を介して検出結果を端末5−Nに送信する。そして、端末5−Nは、剣3A−Nの動きをオンラインゲーム処理に反映する。メイス3B−N及びクロスボウ3C−Nについても同様である。
なお、カメラユニット1は、差分信号DIを求めることで、再帰反射シート4からの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射シート4を検出できる。
オンラインゲームの参加者(プレイヤ)は、それぞれ図1のゲームシステムを保有している。
図2を参照して、本実施の形態では、ホストコンピュータ31が、ネットワーク29を通じて、各端末5−1〜5―nにオンラインゲームを提供する。端末5−1〜5―nには、それぞれカメラユニット1−1〜1−nが接続される。カメラユニット1−1〜1−nは、それぞれ操作物3−1〜3−nの再帰反射シート4を撮影する。図1の端末5−Nは、端末5−1〜5―nを包括して表記したものである。図1のカメラユニット1−Nは、カメラユニット1−1〜1−nを包括して表記したものである。図3(a)〜図3(c)の操作物3−N(3A−N,3B−N,3C−N)は、操作物3−1〜3−nを包括して表記したものである。
さて、カメラユニット1−Nは、USBコントローラ25、MCU(Micro Controler Unit)23、イメージセンサ21及び赤外発光ダイオード(IRED)11を含む。
USBコントローラ25は、MCU23の制御を受けて、USBケーブル9及び端末5−NのUSBポート27を介して、端末5−Nと通信し、データの送受信を行う。イメージセンサ21は、MCU23の制御を受けて、赤外発光ダイオード11の点灯時および消灯時のそれぞれにおいて撮影処理を実行する。そして、イメージセンサ21は、点灯時の画像信号と消灯時の画像信号との差分信号DIをMCU23に出力する。また、イメージセンサ21は、赤外発光ダイオード11を間欠的に点灯する。なお、イメージセンサ21の解像度は、本実施の形態では、例えば、64画素×64画素とする。
MCU23は、イメージセンサ21から与えられた差分信号DIに基づいて、再帰反射シート4の像を検出し、その状態情報を算出する。
状態情報は、単数又は複数の再帰反射シート4の位置情報、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、傾斜情報、動き情報若しくは、形態情報のいずれか、又は、それらの2以上の組み合わせ、である。形態は、形状、模様若しくは色彩またはそれらの2以上の組合せを含む。また、形態は、数字、記号及び文字を含む。さらに、複数の再帰反射シート4の状態情報は、それぞれの再帰反射シート4の状態情報の他、複数の再帰反射シート4の位置関係を示す情報(配置情報)及び数情報、並びに、複数の再帰反射シート4全体によって形成される形態の情報及びその形態の位置情報、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、傾斜情報及び動き情報を含む。以下、具体例を挙げながら説明する。
図4は、イメージセンサ21が出力した差分画像(差分信号)DIに基づく再帰反射シート4の検出処理の説明図である。図4を参照して、MCU23は、(X,Y)=(0,0)から、Yをインクリメントしながら、各画素の輝度値(以下、「画素値」と呼ぶ。)と所定の閾値Thlとを比較して、閾値Thlを超える画素を検出するまで又はY=63まで、その列の走査を行う。当該列の走査を完了すると、MCU23は、Yを0にし、Xを1つインクリメントした後、再びYをインクリメントしながら、各画素値と所定の閾値Thlとを比較して、閾値Thlを超える画素を検出するまで又はY=63まで、その列の走査を行う。このような処理を、X=63になるまで行い、差分画像DIの各列の画素を走査する。
この走査においては、MCU23は、ある列で閾値Thl以下の画素が検出された後、その次の列で閾値Thlを超える画素を検出した場合、その画素のX座標(図4では、X0,X2)を内部メモリ(図示せず)に格納し、及び、ある列で閾値Thlを超える画素が検出された後、その次の列で閾値Thl以下の画素を検出した場合、その画素を含む列の左隣の列に含まれる画素のX座標(図4では、X1,X3)を内部メモリに格納する。
次に、MCU23は、(X,Y)=(0,0)から、Xをインクリメントしながら、各画素値と所定の閾値Thlとを比較して、閾値Thlを超える画素を検出するまで又はX=63まで、その行の走査を行う。当該行の走査を完了すると、MCU23は、Xを0にし、Yを1つインクリメントした後、再びXをインクリメントしながら、各画素値と所定の閾値Thlとを比較して、閾値Thlを超える画素を検出するまで又はX=63まで、その行の走査を行う。このような処理を、Y=63になるまで行い、差分画像DIの各行の画素を走査する。
この走査においては、MCU23は、ある行で連続して閾値Thl以下の画素が検出された後、その次の行で閾値Thlを超える画素を検出した場合、その画素のY座標(図4では、Y0,Y2)を内部メモリに格納し、及び、ある行で閾値Thlを超える画素が検出された後、その次の行で閾値Thl以下の画素を検出した場合、その画素を含む行の1つ上の行に含まれる画素のY座標(図4では、Y1,Y3)を内部メモリに格納する。
この時点で、MCU23は、X=X0、X=X1、Y=Y0及びY=Y1で表される直線で囲まれた候補領域a0、X=X2、X=X3、Y=Y0及びY=Y1で表される直線で囲まれた候補領域a1、X=X0、X=X1、Y=Y2及びY=Y3で表される直線で囲まれた候補領域a2、およびX=X2、X=X3、Y=Y2及びY=Y3で表される直線で囲まれた候補領域a3のいずれかに、2つの像IM0及びIM1が存在することを認識できる。ただし、この時点では、MCU23は、像IM0及びIM1が、どの候補領域a0〜a3に存在するか特定できない。
そこで、MCU23は、候補領域a0〜a3ごとに、画素値と閾値Thlとを比較して、閾値Thlを超えている画素を含む候補領域に、像IM0及びIM1が存在すると判断する。図4では、MCU23は、像IM0及びIM1が、それぞれ候補領域a0及びa3に存在すると判断する。MCU23は、閾値Thlを超えている画素を含む候補領域の数を写りこんだ像の数であると認識する。
Pjは、再帰反射シート4が存在する候補領域の画素値であり、Xjは、画素値PjのX座標であり、Yjは、画素値PjのY座標であり、添え字jは、再帰反射シート4が存在する候補領域の画素を表す。Rは、解像度を規定する定数である。イメージセンサ21の解像度が64画素×64画素であるとすると、R=8の場合、算出されたXY座標(Xr,Yr)が配置される画像の解像度は、512画素×512画素となる。なお、MCU23は、閾値Thl以下の画素値Pjは0として計算を実行する。なお、閾値Thl以下の画素値Pjを無視して、閾値Thlを超える画素値Pjのみで、(数1)を計算してもよい。
MCU23は、(数1)を計算すると同時に、像IM0及びIM1が存在する候補領域a0及びa3ごとに、閾値Thlを超える画素の数を計数する。図4では、候補領域a0において、閾値Thlを超えている画素の数は、像IM0の面積に相当し、候補領域a3において、閾値Thlを超えている画素の数は、像IM1の面積に相当する。
再帰反射シート4は、赤外光を再帰反射するので、閾値Thlを超える画素の領域、つまり、像IM0及びIM1が、再帰反射シート4に対応する。図4では、2枚の再帰反射シート4が写り込んでいることになる。
以上のようにして、MCU23は、再帰反射シート4の像IM0及びIM1のXY座標及び面積を算出する。
ここで、候補領域a0〜a3の別の算出方法を説明する。なお、後述のフローチャートではこの方法により候補領域を検出している。配列H[X]及びV[Y]を用意する。X=0〜63、Y=0〜63、である。図4では、配列H[X]及びV[Y]がそれぞれ長方形により模式的に表されている。MCU23は、(X,Y)=(0,0)から、Xをインクリメントしながら、X=63まで、その行の走査を行う。当該行の走査を完了すると、MCU23は、Xを0にし、Yを1つインクリメントした後、再びXをインクリメントしながら、X=63まで、その行の走査を行う。このような処理を、Y=63になるまで行い、差分画像DIの各行の画素を走査する。
この走査において、MCU23は、閾値Thlを超える画素のXY座標に対応する配列H[X]及びV[Y]に「1」を代入する。一方、MCU23は、閾値Thl以下の画素のXY座標に対応する配列H[X]及びV[Y]に「0」を代入する。ただし、配列H[X]に「1」が既に代入されている場合は、その「1」を維持し、配列V[X]に「1」が既に代入されている場合は、その「1」を維持する。図4では、「1」が格納された配列H[X]及びV[Y]を斜線により模式的に示している。
「1」が格納された配列H[X]の左端の要素番号XがX座標X0及びX2であり、「1」が格納された配列H[X]の右端の要素番号XがX座標X1及びX3である。また、「1」が格納された配列V[Y]の上端の要素番号YがY座標Y0及びY2であり、「1」が格納された配列V[Y]の下端の要素番号YがY座標Y1及びY3である。このようにして、候補領域a0〜a3を決定できる。
なお、配列H[X]には、差分画像の画素値の水平軸(X軸)への正射影が格納されるといえる。また、配列V[Y]には、差分画像の画素値の垂直軸(Y軸)への正射影が格納されるといえる。
さて、差分画像DIに写り込んでいる再帰反射シート4が1枚の場合及び3枚以上の場合でも、2枚の場合と同様にして、再帰反射シート4の像のXY座標及び面積が求められる。ただし、差分画像DIに写り込む再帰反射シート4が3枚以上になり得る場合、つまり、プレイヤがクロスボウ3C−Nを使用する場合は、以下の処理が追加される。
図5(a)及び図5(b)は、クロスボウ3C−Nをプレイヤが使用する場合における再帰反射シート4の追加検出処理の説明図である。図5(a)に示すように、差分画像DIに3つの像IM0〜IM2が写り込んでいる場合でも、上述の検出処理では、X=X0、X=X1、Y=Y0及びY=Y1で表される直線で囲まれた候補領域a0、及び、X=X0、X=X1、Y=Y2及びY=Y3で表される直線で囲まれた候補領域a2といった2つの候補領域しか検出されない。従って、この場合、MCU23は、像、つまり、再帰反射シート4が2つであると認識してしまう。
従って、MCU23は、写りこんだ再帰反射シート4が2枚であると認識した場合は、候補領域a0及びa1ごとに、上述の検出処理を実行する。すなわち、MCU23は、(X,Y)=(X0,Y0)から、Yをインクリメントしながら、各画素値と所定の閾値Thlとを比較して、閾値Thlを超える画素を検出するまで又はY=Y1まで、その列の走査を行う。当該列の走査を完了すると、MCU23は、YをY0にし、Xを1つインクリメントした後、再びYをインクリメントしながら、各画素値と所定の閾値Thlとを比較して、閾値Thlを超える画素を検出するまで又はY=Y1まで、その列の走査を行う。このような処理を、X=X1になるまで行い、候補領域a0の各列の画素を走査する。
この走査においては、MCU23は、X=X0の列で閾値Thlを超える画素を検出した場合、若しくは、ある列で閾値Thl以下の画素が検出された後、その次の列で閾値Thlを超える画素を検出した場合、その画素のX座標(図5(b)では、x0,x2)を内部メモリに格納し、X=X1の列で閾値Thlを超える画素を検出した場合、その画素のX座標を内部メモリに格納し、及び、ある列で閾値Thlを超える画素が検出された後、ある列で閾値Thl以下の画素を検出した場合、その画素を含む列の左隣の列に含まれる画素のX座標(図5(b)では、x1,x3)を内部メモリに格納する。
次に、MCU23は、(X,Y)=(X0,Y0)から、Xをインクリメントしながら、各画素値と所定の閾値Thlとを比較して、閾値Thlを超える画素を検出するまで又はX=X1まで、その行の走査を行う。当該行の走査を完了すると、MCU23は、XをX0にし、Yを1つインクリメントした後、再びXをインクリメントしながら、各画素値と所定の閾値Thlとを比較して、閾値Thlを超える画素を検出するまで又はX=X1まで、その行の走査を行う。このような処理を、Y=Y1になるまで行い、候補領域a0の各行の画素を走査する。
この走査においては、MCU23は、Y=Y0の行で閾値Thlを超える画素を検出した場合、若しくは、ある行で閾値Thl以下の画素が検出された後、その次の行で閾値Thlを超える画素を検出した場合、その画素のY座標(図5(b)では、y0)を内部メモリに格納し、Y=Y1の行で閾値Thlを超える画素を検出した場合、その画素のY座標(図5(b)では、y1)を内部メモリに格納し、及び、ある行で閾値Thlを超える画素が検出された後、その次の行で閾値Thl以下の画素を検出した場合、その画素を含む行の1つ上の行に含まれる画素のY座標を内部メモリに格納する。
この時点で、図5(b)に示すように、MCU23は、X=x0、X=x1、Y=y0及びY=y1で表される直線で囲まれた候補領域b0、及び、X=x2、X=x3、Y=y0及びY=y1で表される直線で囲まれた候補領域b1を認識する。
そして、MCU23は、候補領域b0及びb1ごとに、画素値と閾値Thlとを比較して、閾値Thlを超えている画素を含む候補領域に、像IM0及びIM1が存在すると判断する。図5(b)では、MCU23は、像IM0及びIM1が、それぞれ候補領域b0及びb1に存在すると判断する。MCU23は、このような、閾値Thlを超えている画素を含む候補領域の数を、候補領域a0(図5(a)参照)に写りこんだ像の数であると認識する。
さらに、MCU23は、像IM0及びIM1が存在すると判断した候補領域b0及びb1ごとに、(数1)を計算し、像IM0及びIM1のXY座標(Xr,Yr)を求める。
MCU23は、(数1)を計算すると同時に、像IM0及びIM1が存在する候補領域b0及びb1ごとに、閾値Thlを超える画素の数を計数する。図5(b)では、候補領域b0において、閾値Thlを超えている画素の数は、像IM0の面積に相当し、候補領域b1において、閾値Thlを超えている画素の数は、像IM1の面積に相当する。
再帰反射シート4は、赤外光を再帰反射するので、閾値Thlを超える画素の領域、つまり、像IM0及びIM1が、再帰反射シート4に対応する。図5(b)では、2枚の再帰反射シート4が候補領域a0に写り込んでいることになる。
以上のようにして、MCU23は、再帰反射シート4の像IM0及びIM1のXY座標及び面積を算出する。
また、MCU23は、領域b0を走査して、像IM0の最大X座標mxX[0]、最大Y座標mxY[0]、最小X座標mnX[0]及び最小Y座標mnY[0]を求める。また、MCU23は、領域b1を走査して、像IM1の最大X座標mxX[1]、最大Y座標mxY[1]、最小X座標mnX[1]及び最小Y座標mnY[1]を求める。
MCU23は、図5(a)の候補領域a0で行った上記処理を、候補領域a1でも実行して、再帰反射シート4の像IM2のXY座標及び面積を算出する。
ここで、候補領域b0及びb1の別の算出方法を説明する。なお、後述のフローチャートではこの方法により候補領域を検出している。配列HcX[X][0]及びVcY[Y][0]を用意する。X=X0〜X1、Y=Y0〜Y1、である。図5(b)では、配列HcX[X][0]及びVcY[Y][0]がそれぞれ長方形により模式的に表されている。MCU23は、(X,Y)=(X0,Y0)から、Xをインクリメントしながら、X=X1まで、その行の走査を行う。当該行の走査を完了すると、MCU23は、XをX1にし、Yを1つインクリメントした後、再びXをインクリメントしながら、X=X1まで、その行の走査を行う。このような処理を、Y=Y1になるまで行い、候補領域a0の各行の画素を走査する。
この走査において、MCU23は、閾値Thlを超える画素のXY座標に対応する配列HcX[X][0]及びVcY[Y][0]に「1」を代入する。一方、MCU23は、閾値Thl以下の画素のXY座標に対応する配列HcX[X][0]及びVcY[Y][0]に「0」を代入する。ただし、配列HcX[X][0]に「1」が既に代入されている場合は、その「1」を維持し、配列VcY[Y][0]に「1」が既に代入されている場合は、その「1」を維持する。図5(b)では、「1」が格納された配列HcX[X][0]及びVcY[Y][0]を斜線により模式的に示している。
「1」が格納された配列HcX[X][0]の左端の要素番号XがX座標x0及びx2であり、「1」が格納された配列HcX[X][0]の右端の要素番号XがX座標x1及びx3である。また、「1」が格納された配列VcY[Y][0]の上端の要素番号YがY座標y0であり、「1」が格納された配列VcY[Y][0]の下端の要素番号YがY座標y1である。このようにして、候補領域b0及びb1を決定できる。
なお、MCU23は、図5(b)の候補領域a0で行った上記処理を、候補領域a1でも実行する。
なお、配列Hc[X][0]には、一次の候補領域の画素値の水平軸(X軸)への正射影が格納されるといえる。また、配列Vc[Y][0]には、一次の候補領域の画素値の垂直軸(Y軸)への正射影が格納されるといえる。
さて、次に、操作物(剣3A−N、メイス3B−N、クロスボウ3C−N)ごとに、状態情報の検出処理を説明する。なお、使用する操作物の情報(どの操作物を使用するかの情報)は、プレイヤが予め端末5−Nに入力する。従って、使用する操作物の情報は、端末5−Nからカメラユニット1に予め与えられる。
[剣3A−N]
まず、剣3A−Nの2つの再帰反射シート4Bが、差分画像DIにどのように写り込むかを説明する。本実施の形態では、プレイヤは一定距離以上カメラユニット1から離れて剣3A−Nを操作することを前提とする。この場合、本実施の形態のイメージセンサ21の解像度では、差分画像DIに写り込む2つの再帰反射シート4B間の距離が1画素より小さくなる。従って、2つの再帰反射シート4Bの像は、1つの像として差分画像DIに写り込む。その結果、剣3A−Nを操作物として用いる場合は、差分画像DIに写り込む再帰反射シート4の像は、必ず1つ(再帰反射シート4A又は4Bのいずれか)である。
もちろん、より高解像度のイメージセンサ21を用いることもできる。この場合、例えば、2つの半円柱状部材37及び2枚の再帰反射シート4Bを設ける代わりに、剣先に1枚の再帰反射シートを取り付けることができる。もちろん、より低解像度のイメージセンサ21を用いることもできる。
さて、MCU23は、シールドトリガの生成条件、スペシャルトリガの生成条件、及び、スイングトリガの生成条件の順で判定処理を実行する。ただし、以下では、説明の便宜のため、シールドトリガ、スイングトリガ及びスペシャルトリガの順に説明する。
[シールドトリガ]
MCU23は、差分画像DIに写った再帰反射シートの像の面積が、所定の閾値Tha1を超えた場合、面積の大きい再帰反射シート4Aが撮影されたと判断する。MCU23は、5枚の差分画像DIにおいて、連続して、再帰反射シート4Aが撮影されたと判断した場合、シールドトリガを生成し、傾き検出処理を実行する。
図6は、剣3A−Nの傾き検出処理の説明図である。図6を参照して、MCU23は、最新の差分画像DIの候補領域a(再帰反射シート4Aの像IMに外接する四角形)の垂直方向の辺長ΔY(=Y1−Y0)と水平方向の辺長ΔX(=X1−X0)との比r=ΔY/ΔXを求める。そして、MCU23は、比rの大きさに基づいて、剣3A−Nの傾きを、水平B0、斜めB1及び垂直B2のいずれかに分類する。
[スイングトリガ]
MCU23は、再帰反射シートの像の面積が、所定の閾値Tha1以下の場合、再帰反射シート4Bが撮影されたと判断する。そして、MCU23は、スイング検出処理を実行する。
図7は、剣3A−Nのスイング検出処理の説明図である。図7を参照して、MCU23は、5枚の差分画像DIにおいて、連続して、再帰反射シート4Bの像IM0〜IM4が検出されたか否かを判断する。検出された場合、MCU23は、5つの像IM0〜IM4のXY座標(Xr,Yr)に基づく、各速度ベクトルV0〜V3の方向を、図8の8つの方向A0〜A4のいずれかに分類する。この場合、方向A0を中心とした時計回り方向22.5度と反時計回り方向22.5度の範囲の方向が、方向A0に分類される。方向A1〜A7についても同様である。
全ての速度ベクトルV0〜V3の方向が、同一方向に分類された場合、MCU23は、各速度ベクトルV0〜V4の大きさと所定の閾値Thv1と比較する。そして、MCU23は、速度ベクトルV0〜V4の大きさが、閾値Thv1を超えた場合、プレイヤが剣3A−Nを振ったと判断し、スイングトリガを生成する。この場合、MCU23は、速度ベクトルV0〜V3が分類された同一方向を剣3A−Nのスイング方向とする。
また、MCU23は、プレイヤが剣3A−Nを振ったと判断した場合、5つの像IM0〜IM4のうち中央の像IM2のXY座標(Xr,Yr)に基づいて、スイング位置を求める。この場合、図9(a)〜図9(h)に示すように、MCU23は、スイング方向A0〜A7ごとに、7つの位置のいずれかに、スイング位置を分類する。
[スペシャルトリガ]
MCU23は、今回及び前回において、シールドトリガが生成されたか否かを判断する。MCU23は、両者でシールドトリガが生成されたと判断した場合、剣3A−Nによる特殊操作の有無を検出し、検出した場合にスペシャルトリガを生成する。
図10は、剣3A−Nによる特殊操作の説明図である。図10を参照して、MCU23は、まず、再帰反射シート4Aが垂直上方向に移動し、その後、再帰反射シート4A又は4Bが垂直下方向に移動したか否か、つまり、特殊操作を行ったか否かを判断する。具体的には、次の通りである。
MCU23は、前回及び今回において、シールドトリガが生成されたと判断した場合、第1フラグをオンにする。そして、MCU23は、第1フラグがオンになった後オフになるまでの間に、5枚の差分画像DIにおいて、連続して再帰反射シート4Aの像IM0〜IM4が検出されたか否かを判断する。この場合、再帰反射シート4Aの像であるから、それぞれの像IM0〜IM4の面積は、閾値Tha1を超えている必要がある。
そして、MCU23は、5枚連続して再帰反射シート4Aの像IM0〜IM4が検出されたと判断した場合、5つの像IM0〜IM4のXY座標(Xr,Yr)に基づく、各速度ベクトルV0〜V3の方向を、8つの方向A0〜A7(図8参照)のいずれかに分類する。
MCU23は、速度ベクトルV0〜V3の方向が全て方向A1に分類された場合、各速度ベクトルV0〜V4の大きさと所定の閾値Thv2とを比較する。そして、MCU23は、速度ベクトルV0〜V3の大きさが全て閾値Thv2を超えている場合、第2フラグをオンにする。
そして、MCU23は、第2フラグがオンになった後オフになるまでの間に、5枚の差分画像DIにおいて、連続して再帰反射シート4Bの像IM0〜IM4が検出されたか否かを判断する。MCU23は、5枚連続して再帰反射シート4Bの像IM0〜IM4が検出されたと判断した場合、5つの像IM0〜IM4のXY座標(Xr,Yr)に基づく、各速度ベクトルV0〜V3の方向を、8つの方向A0〜A7(図8参照)のいずれかに分類する。
MCU23は、速度ベクトルV0〜V3の方向が全て方向A0に分類された場合、各速度ベクトルV0〜V4の大きさと所定の閾値Thv3とを比較する。そして、MCU23は、速度ベクトルV0〜V3の大きさが全て閾値Thv3を超えている場合、プレイヤが特殊操作を行ったと判断して、スペシャルトリガを生成する。なお、Thv2<Thv3、である。
なお、第1フラグがオンになった時から第1所定時間経過後に、第1フラグはオフにされる。また、第2フラグがオンになった時から第2所定時間経過後に、第2フラグはオフにされる。
本実施の形態では、MCU23は、トリガ情報(シールドトリガ、スペシャルトリガ、スイングトリガ、待機状態)、再帰反射シート4の像のXY座標及び面積、並びにスイングトリガが生成された時のスイング方向及び位置情報を、端末5−Nに送信する。なお、MCU23は、シールドトリガ、スペシャルトリガ及びスイングトリガのいずれの生成条件も満足しない場合、トリガ情報として待機状態を設定する。
端末5−Nは、これらの情報に応じたゲーム処理を実行する。また、これらの情報は、端末5−Nからホストコンピュータ31へ送信される。ホストコンピュータ31は、これらの情報に応じたゲーム処理を実行し、及び/又は、これらの情報を他の端末5−Nに送信する。当該他の端末5−Nは、これらの情報に応じたゲーム処理を実行する。
[メイス3B−N]
図11(a)及び図11(b)は、メイス3B−Nに基づくスペシャルトリガの説明図である。図11(a)を参照して、MCU23は、メイス3B−Nが時計回り(反時計回りを条件とすることも可能)の円を描くように操作され、その後、メイス3B−Nが垂直下方向に振り下ろされた場合に、スペシャルトリガを生成する。具体的には次の通りである。
図11(b)を参照して、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向が全て同一方向A2に分類された場合、第1フラグをオンにする。
第1フラグがオンの場合、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向が全て同一方向A7に分類された場合、第2フラグをオンにする。
第2フラグがオンの場合、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向が全て同一方向A0に分類された場合、第3フラグをオンにする。
第3フラグがオンの場合、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向が全て同一方向A5に分類された場合、第4フラグをオンにする。
第4フラグがオンの場合、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向が全て同一方向A3に分類された場合、第5フラグをオンにする。
第5フラグがオンの場合、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向が全て同一方向A6に分類された場合、第6フラグをオンにする。
第6フラグがオンの場合、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向が全て同一方向A1に分類された場合、第7フラグをオンにする。
第7フラグがオンの場合、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向が全て同一方向A4に分類された場合、第8フラグをオンにする。
第8フラグがオンの場合、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向が全て同一方向A2に分類された場合、第9フラグをオンにする。
ただし、MCU23は、第1フラグがオンになった時点から第3所定時間内に第9フラグがオンにならない場合は、第1〜第8フラグを全てオフにする。
第9フラグがオンの場合、MCU23は、メイス3B−Nにより描かれた円の大きさが所定値より大きいか否かを判断し、大きい場合は第10フラグをオンにし、それ以外は、第1〜第9フラグを全てオフにする。具体的には次の通りである。
図11(a)を参照して、MCU23は、再帰反射シート4Cの像のX座標Xrのうちの最大座標X1と最小座標X0との差ΔXと、再帰反射シート4Cの像のY座標Yrのうちの最大座標Y1と最小座標Y0との差ΔYと、を算出する。そして、MCU23は、和s=ΔX+ΔYを計算する。MCU23は、和sが一定値より大きい場合は第10フラグをオンにする。
第10フラグがオンの場合、MCU23は、3枚の差分画像DIにおいて、連続して再帰反射シート4Cの像IM0〜IM2が検出された場合、3つの像IM0〜IM2のXY座標(Xr,Yr)に基づく、2つの速度ベクトルV0及びV1の方向を、8つの方向A0〜A7のいずれかに分類する。MCU23は、2つの速度ベクトルV0及びV1の方向が全て同一方向A0に分類された場合、2つの速度ベクトルV0及びV1の大きさが全て所定の閾値Thv4を超えたか否かを判断する。MCU23は、2つの速度ベクトルV0及びV1の大きさが全て閾値Thv4を超えた場合、プレイヤが特殊操作を行ったと判断して、スペシャルトリガを生成する。なお、第10フラグがオンになった時点から第4所定期間内にスペシャルトリガが生成されない場合は、第1〜第10フラグを全てオフにする。
本実施の形態では、MCU23は、トリガ情報(スペシャルトリガ、待機状態)、再帰反射シート4の像のXY座標及び面積を、端末5−Nに送信する。なお、MCU23は、スペシャルトリガの生成条件を満足しない場合、トリガ情報として待機状態を設定する。
端末5−Nは、これらの情報に応じたゲーム処理を実行する。また、これらの情報は、端末5−Nからホストコンピュータ31へ送信される。ホストコンピュータ31は、これらの情報に応じたゲーム処理を実行し、及び/又は、これらの情報を他の端末5−Nに送信する。当該他の端末5−Nは、これらの情報に応じたゲーム処理を実行する。
[クロスボウ3C−N]
MCU23は、まず、差分画像DIに写り込んだ再帰反射シート4の数を検出し、その数に応じて処理を進める。再帰反射シート4の数の検出方法は、上記のとおりである(図4及び図5参照)。
MCU23は、再帰反射シート4の数が1つの場合、チャージトリガの生成条件を満足するか否かを判断する。また、MCU23は、再帰反射シート4の数が2つの場合、シールドトリガの生成条件を満足するか否かを判断し、満足しなかった場合に、スイッチトリガの生成条件を満足するか否かを判断する。さらに、MCU23は、再帰反射シート4の数が3つの場合、シューティングトリガの生成条件を満足するか否かを判断する。なお、4つのトリガのうち、2つ以上が重複して生成条件を満たす場合、優先順位は、高い方から、チャージトリガ、シールドトリガ、スイッチトリガ及びシューティングトリガである。以下、チャージトリガ、シールドトリガ、スイッチトリガ及びシューティングトリガの順に説明する。
[チャージトリガ]
図12(a)は、クロスボウ3C−Nに基づくチャージトリガの説明図である。図12(a)を参照して、MCU23は、差分画像DIに写り込んだ再帰反射シート4が1つの場合、その像の面積が閾値Tha2より大きいか否かを判断する。大きい場合、MCU23は、再帰反射シート4Gが撮影されたと判断して、チャージトリガを生成する。
[シールドトリガ]
図12(b)は、クロスボウ3C−Nに基づくシールドトリガの説明図である。図12(b)を参照して、MCU23は、差分画像DIに写り込んだ再帰反射シート4が2つの場合、再帰反射シート4E及び4Fが撮影されたと判断して、それらのXY座標(Xr,Yr)に基づいて、それらを結ぶ直線の傾きを算出する。MCU23は、その傾きが一定値より大きい場合は、シールドトリガを生成する。また、MCU23は、差分画像DIに写り込んだ再帰反射シート4が2つの場合、それらのXY座標(Xr,Yr)に基づいて、それらの中点座標を算出する。
[スイッチトリガ]
MCU23は、差分画像DIに写り込んだ再帰反射シート4が2つの場合であって、シールドトリガの生成条件を満足していない場合、剣3A−Nのスイングトリガの検出と同様にして、スイッチトリガの生成条件を満足するか否かを判断する。ただし、判断においては、それぞれの再帰反射シート4E及び4FのXY座標(Xr,Yr)を用いるのではなく、それらの中点座標を用いる。具体的には次の通りである。
図12(c)は、クロスボウ3C−Nに基づくスイッチトリガの説明図である。図12(c)を参照して、MCU23は、5枚の差分画像DIにおいて、連続して再帰反射シート4E及び4Fの像が検出された場合、それらに対応する5つの中点座標に基づく、4つの速度ベクトルの方向が全て同一方向A1に分類されたか否かを判断する。全て同一方向A1に分類された場合、MCU23は、4つの速度ベクトルの大きさが全て所定の閾値Thv5を超えたか否かを判断する。MCU23は、4つの速度ベクトルの大きさが全て閾値Thv5を超えた場合、所定フラグをオンにする。
所定フラグがオンになった後オフになるまでの間に、MCU23は、5枚の差分画像DIにおいて、連続して再帰反射シート4E及び4Fの像が検出された場合、それらに対応する5つの中点座標に基づく、4つの速度ベクトルの方向が全て同一方向A0に分類されたか否かを判断する。全て同一方向A0に分類された場合、MCU23は、4つの速度ベクトルの大きさが全て所定の閾値Thv6を超えたか否かを判断する。MCU23は、4つの速度ベクトルの大きさが全て閾値Thv6を超えた場合、スイッチトリガをオンにする。
なお、MCU23は、所定フラグがオンになった時点から第5所定期間内にスイッチトリガが生成されない場合は、所定フラグをオフにする。
[シューティングトリガ]
図12(d)は、クロスボウ3C−Nに基づくシューティングトリガの説明図である。図12(d)を参照して、MCU23は、差分画像DIに3つの再帰反射シート4が写り込んでいる場合、それらが、再帰反射シート4D,4E及び4Fであると判断する。そして、MCU23は、前回の差分画像に写り込んだ再帰反射シート4が、再帰反射シート4E及び4Fのみであるか否かを判断し、2つの再帰反射シート4E及び4Fのみが写り込んでいた場合、シューティングトリガを生成する。ただし、MCU23は、前回の差分画像に写り込んだ再帰反射シート4が、3つの再帰反射シート4D,4E及び4Fである場合、シューティングトリガを生成しない。つまり、差分画像DIに写り込んだ再帰反射シート4の数が2つから3つに遷移した時に、シューティングトリガを生成する。
ただし、MCU23は、差分画像DIに3つの再帰反射シート4が写り込んでいる場合、シューティングトリガの生成条件の判断の前に、3つの再帰反射シート4の面積ar0,ar1及びar2の差|ar0−ar1|,|ar1−ar2|及び|ar2−ar0|を求める。そして、MCU23は、求めた面積の差が最も小さい2つの再帰反射シート4の面積の平均と、面積が一番大きい再帰反射シート4の面積と、の差を求める。MCU23は、その差が一定値より大きい場合、面積が一番大きい再帰反射シート4が再帰反射シート4Gであると判断し、チャージトリガを生成する。
また、MCU23は、差分画像DIに3つの再帰反射シート4が写り込んでいる場合において、チャージトリガの生成条件を満足しなかった場合、シューティングトリガの生成条件の判断の前に、両端の再帰反射シート4E及び4Fが、シールドトリガの生成条件を満足しているか否かを判断し、満足していれば、シールドトリガを生成する。
従って、MCU23は、差分画像DIに3つの再帰反射シート4が写り込んでいる場合、チャージトリガ及びシールドトリガの生成条件を満足しなかった場合に、シューティングトリガの生成条件を判断する。
本実施の形態では、MCU23は、トリガ情報(チャージトリガ、シールドトリガ、スイッチトリガ、シューティングトリガ及び待機状態)、再帰反射シート4の像のXY座標及び面積を、端末5−Nに送信する。また、MCU23は、差分画像DIに写り込んだ再帰反射シート4の数が2つの場合、その中点座標を端末5−Nに送信する。さらに、MCU23は、差分画像DIに写り込んだ再帰反射シート4の数が3つの場合、その両端の再帰反射シート4の中点座標を端末5−Nに送信する。ただし、差分画像DIに写り込んだ再帰反射シート4の数が3つの場合であっても、その1つが再帰反射シート4Gであると判断した場合は、再帰反射シート4GのXY座標(Xr,Yr)を送信する。なお、MCU23は、チャージトリガ、シールドトリガ、スイッチトリガ及びシューティングトリガのいずれの生成条件も満足しない場合、トリガ情報として待機状態を設定する。
端末5−Nは、これらの情報に応じたゲーム処理を実行する。また、これらの情報は、端末5−Nからホストコンピュータ31へ送信される。ホストコンピュータ31は、これらの情報に応じたゲーム処理を実行し、及び/又は、これらの情報を他の端末5−Nに送信する。当該他の端末5−Nは、これらの情報に応じたゲーム処理を実行する。
以上のように、クロスボウ3C−Nでは、露光状態を常に維持する再帰反射シート4E及び4Fを設けているので、その再帰反射シート4E及び4Fの撮像画像に基づいて、クロスボウ3C−Nによる入力の有無及び入力の形態を常に検出できる。また、露光状態と非露光状態とが切り替えられる再帰反射シート4Dを設けているので、その再帰反射シート4Dが撮像された時と撮像されなかった時とで、異なる入力を与えることができ、再帰反射シートを利用した入力の種類を多様化できる。
さて、図13は、図3(c)のクロスボウ3C−Nの変形例である。図13を参照して、変形例のクロスボウ3C−Nでは、シャッター50及び再帰反射シート4Gの取り付け位置が、図3(c)のクロスボウ3C−Nと異なる。
台座41の先端部には、開閉自在にシャッター50が取り付けられる。そして、台座41の先端部であって、シャッター50の背面側に、再帰反射シート4Dが取り付けられる。トリガ51が引かれていない状態では、シャッター50は閉じている。従って、この場合、再帰反射シート4Dは、シャッター50に隠れて露出しない。一方、トリガ51が引かれた状態では、シャッター50は開いている。従って、この場合、再帰反射シート4Dは、露出している。
また、台座41の先端部には、部材40が、台座41の長手方向に対して鈍角(トリガ51の側から見て)になるように取り付けられる。この部材40の背面、つまり、トリガ51に面している面に、再帰反射シート4Gが取り付けられる。従って、台座41の先端部がカメラユニット1のほうを向いている場合、再帰反射シート4Gは撮影されず、台座41の先端部が上方向を向いている場合、再帰反射シート4Gは撮影される。
再帰反射シート4Gが台座41の長手方向に対して鈍角に取付けられるので、再帰反射シート4Gが台座41の長手方向に対して鋭角に取付けられる図3(c)のクロスボウ3C−Nよりも、より台座41の先端部を上方向に向けないと、再帰反射シート4Gは撮影されない。従って、プレイヤが意図しない再帰反射シート4Gの撮影をより防止できる。
図14は、図2のMCU23の処理の全体流れを示すフローチャートである。図14を参照して、ステップS1にて、MCU23は、変数等の初期化処理を実行する。ステップS3にて、MCU23は、イメージセンサ37を制御し、再帰反射シート4の撮影処理を実行させる。ステップS5にて、MCU23は、イメージセンサ21からの差分画像信号に基づいて、再帰反射シート4の検出処理を実行して、再帰反射シート4の状態情報を算出する。ステップS9にて、MCU23は、ステップS5の検出結果に基づいて、トリガの検出処理を実行する。ステップS11にて、MCU23は、トリガ(つまり、後述のトリガフラグ)及び状態情報を端末5−Nに送信する。
すると、ステップS21にて、端末5−Nは、トリガ及び状態情報を受信する。ステップS23にて、端末5−Nは、受信したトリガ及び状態情報に応じたゲーム処理を実行する。また、ステップS25にて、端末5−Nは、トリガ及び状態情報をネットワーク29経由でホストコンピュータ31に送信する。ホストコンピュータ31は、トリガ及び状態情報に応じたゲーム処理を実行し、及び/又は、トリガ及び状態情報を他の端末5−Nに送信する。当該他の端末5−Nは、これらの情報に応じたゲーム処理を実行する。複数の端末5−N間で、このような処理が行われ、オンラインゲームが実行される。もちろん、端末5−Nが、ネットワーク経由で直接、他の端末5−Nへ、トリガ及び状態情報を送信して、オンラインゲームを実行することもできる。
図15は、図14のステップS3の撮影処理の流れを示すフローチャートである。図15を参照して、ステップS41にて、MCU23は、イメージセンサ21に赤外発光ダイオード11を点灯させる。ステップS43にて、MCU23は、イメージセンサ21に赤外光点灯時の撮影を実行させる。ステップS45にて、MCU23は、イメージセンサ21に赤外発光ダイオード11を消灯させる。ステップS47にて、MCU23は、イメージセンサ21に赤外光消灯時の撮影を実行させる。ステップS49にて、MCU23は、イメージセンサ21に、赤外光点灯時の画像と赤外光消灯時の画像との差分画像を生成及び出力させる。以上のようにして、MCU23の制御に応答して、イメージセンサ21は、赤外光の点灯時及び消灯時の撮影、つまり、ストロボ撮影を実行する。また、以上の制御により、赤外発光ダイオード11は、ストロボスコープとして機能する。
図16〜図22は、図14のステップS5の再帰反射シートの検出処理の流れを示すフローチャートである。図16を参照して、ステップS71にて、MCU23は、変数X及びYに0を代入する。ステップS73にて、MCU23は、差分画像の画素値P(X,Y)と閾値Thlとを比較する。画素値は、例えば、輝度値である。ステップS75にて、MCU23は、画素値P(X,Y)が閾値Thlを超えている場合、ステップS77に進み、それ以外はステップS79に進む。
ステップS77にて、MCU23は、変数H[X]及びV[Y]にそれぞれ1を代入する。一方、ステップS79にて、MCU23は、変数H[X]の値が1の場合ステップS83へ進み、それ以外はステップS81に進む。ステップS81にて、MCU23は、変数H[X]に0を代入する。ステップS83にて、MCU23は、変数V[Y]の値が1の場合ステップS87に進み、それ以外はステップS85に進む。ステップS85にて、MCU23は、変数V[Y]に0を代入する。
ステップS87にて、MCU23は、変数Xの値を1つインクリメントする。ステップS89にて、MCU23は、変数Xの値が64の場合ステップS91に進み、それ以外はステップS73に戻る。ステップS91にて、MCU23は、変数Xに0を代入する。ステップS93にて、MCU23は、変数Yの値を1つインクリメントする。ステップS95にて、MCU23は、変数Yの値が64の場合図17のステップS101に進み、それ以外はステップS73に戻る。
このようにして、差分画像がスキャンされ、一次の候補領域を規定する配列H[X]及びV[Y]に値が設定される(図4及び図5(a)参照)。一次の候補領域は、例えば、図4では、領域a0〜a3、図5(a)では、領域a0及びa1である。
図17を参照し、ステップS101にて、MCU23は、変数X,m,Hmx[][]及びHmn[][]にそれぞれ0を代入する。ステップS103にて、MCU23は、変数H[X]の値が1の場合ステップS105に進み、それ以外はステップS109に進む。ステップS105にて、MCU23は、変数H[X−1]の値が0の場合ステップS115に進み、それ以外はステップS117に進む。ステップS115にて、MCU23は、変数Hmn[m][0]に変数Xの値を代入する。
ステップS109にて、MCU23は、変数H[X−1]の値が1の場合ステップS111に進み、それ以外はステップS117に進む。ステップS111にて、MCU23は、変数Hmx[m][0]に変数Xの値を代入する。ステップS113にて、MCU23は、変数mの値を1つインクリメントする。
ステップS117にて、MCU23は、変数Xの値を1つインクリメントする。ステップS119にて、MCU23は、変数Xの値が64の場合ステップS121に進み、それ以外はステップS103に戻る。ステップS121にて、MCU23は、変数Hnに変数mの値から1を減算した値を代入する。
上記ステップS101〜S121までの処理は、「1」が格納された配列H[X]の左端の要素番号X(X座標)、及び、「1」が格納された配列H[X]の右端の要素番号X(X座標)を求める処理である。
ステップS123にて、MCU23は、変数Y,n,Vmx[][]及びVmn[][]にそれぞれ0を代入する。ステップS125にて、MCU23は、変数V[Y]の値が1の場合ステップS127に進み、それ以外はステップS135に進む。ステップS127にて、MCU23は、変数V[Y−1]の値が0の場合ステップS129に進み、それ以外はステップS131に進む。ステップS129にて、MCU23は、変数Vmn[m][0]に変数Yの値を代入する。
ステップS135にて、MCU23は、変数V[Y−1]の値が1の場合ステップS137に進み、それ以外はステップS131に進む。ステップS137にて、MCU23は、変数Vmx[m][0]に変数Yの値を代入する。ステップS139にて、MCU23は、変数nの値を1つインクリメントする。
ステップS131にて、MCU23は、変数Yの値を1つインクリメントする。ステップS133にて、MCU23は、変数Yの値が64の場合ステップS141に進み、それ以外はステップS125に戻る。ステップS141にて、MCU23は、変数Vnに変数nの値から1を減算した値を代入する。
上記ステップS123〜S141までの処理は、「1」が格納された配列V[Y]の上端の要素番号Y(Y座標)、及び、「1」が格納された配列V[Y]の下端の要素番号Y(Y座標)を求める処理である。
以上により、差分画像がスキャンされ、一次の候補領域が決定される(図4及び図5(a)参照)。
ステップS143にて、MCU23は、変数mに0を代入する。ステップS145にて、MCU23は、変数Hm[m]に変数Hmn[m][0]の値を代入し、変数Hx[m]に変数Hmx[m][0]の値を代入する。ステップS147にて、MCU23は、変数mの値が値Hnの場合ステップS151に進み、それ以外はステップS149に進む。ステップS149にて、MCU23は、変数mの値を1つインクリメントしてステップS145に戻る。ステップS151にて、MCU23は、変数nに0を代入する。ステップS153にて、MCU23は、変数Vn[m]に変数Vmn[n][0]の値を代入し、変数Vx[n]に変数Vmx[n][0]の値を代入する。ステップS155にて、MCU23は、変数nの値が値Vnの場合図18のステップS171に進み、それ以外はステップS157に進む。ステップS157にて、MCU23は、変数nの値を1つインクリメントする。
図18を参照して、ステップS171にて、MCU23は、差分画像に写り込んだ再帰反射シート4が3つ以上の可能性がある場合、つまり、操作物としてクロスボウ3C−Nが使用されている場合、ステップS177に進み、それ以外はステップS173に進む。ステップS173にて、MCU23は、変数Jに0を代入する。ステップS175にて、MCU23は、変数M[0]に変数Hnの値を代入し、変数N[0]に変数Vnの値を代入して、図21のステップS331に進む。
図21を参照して、ステップS331にて、MCU23は、変数CA,A,B,C,minX,minY,maxX,maxY,s,mnX[],mnY[],mxX[],mxY[],Xr[],Yr[]及びC[]を初期化する。そして、MCU23は、ステップS333と図22のステップS389との間を、変数jを更新しながら繰り返す。また、MCU23は、ステップS335と図22のステップS387との間を、変数nを更新しながら繰り返す。さらに、MCU23は、ステップS337と図22のステップS385との間を、変数mを更新しながら繰り返す。
ステップS339にて、MCU23は、変数Xに変数Hmn[m][j]の値を代入し、変数Yに変数Vmn[n][j]の値を代入する。ステップS341にて、MCU23は、差分画像の画素値P(X,Y)と閾値Thlとを比較する。ステップS343にて、MCU23は、画素値P(X,Y)が閾値Thlを超えている場合、ステップS345に進み、それ以外はステップS351に進む。
ステップS345にて、MCU23は、再帰反射シートの像の面積を計算するカウンタCAの値を1つインクリメントする。ステップS347にて、MCU23は、次式により、変数A,B及びCの値を更新する。
A←A+P(X,Y)*X
B←B+P(X,Y)*X
C←C+P(X,Y)
B←B+P(X,Y)*X
C←C+P(X,Y)
ステップS349にて、MCU23は、再帰反射シート4の像の4端点(最大X座標、最大Y座標、最小X座標、最小Y座標)を検出する。ステップS351にて、MCU23は、変数Xの値を1つインクリメントする。ステップS353にて、MCU23は、変数Xの値が変数Hmx[m][j]の値に1を加算した値に等しい場合ステップS355に進み、それ以外はステップS341に戻る。ステップS355にて、MCU23は、変数Xに変数Hmn[m][j]の値を代入する。ステップS357にて、MCU23は、変数Yの値を1つインクリメントする。ステップS359にて、MCU23は、変数Yの値が変数Vmx[n][j]の値に1を加算した値に等しい場合図22のステップS371に進み、それ以外はステップS341に戻る。
上記ステップS339〜S359の処理によって、再帰反射シートの像の4端点と面積が求められる。
図22を参照して、ステップS371にて、MCU23は、カウンタCAの値が0を超えている場合ステップS373に進み、それ以外はステップS385に進む。カウンタCAの値が0を超えているということは、その候補領域に再帰反射シートの像が存在することを意味し、その座標(Xr,Yr)の算出と結果の保存のため、ステップS373に進むのである。ステップS373にて、MCU23は、変数C[s]にカウンタCAの値を代入する。ステップS375にて、MCU23は、変数Xr[s]に、A*R/Cの値を代入し、変数Yr[s]に、B*R/Cの値を代入する。ステップS377にて、MCU23は、変数mnX[s]に変数minXの値を代入し、変数mnY[s]に変数minYの値を代入し、変数mxX[s]に変数maxXの値を代入し、変数mxY[s]にmaxYの値を代入する。
ステップS379にて、MCU23は、変数SNに、撮影された再帰反射シートの数を計数するカウンタsの値を代入する。ステップS381にて、MCU23は、カウンタsの値を1つインクリメントする。ステップS383にて、MCU23は、変数CA,A,B,C,minX,minY,maxX及びmaxYをリセットして、ステップS385に進む。
図21に戻って、ステップS349の詳細を説明する。
図23は、図21のステップS349の4端点検出処理の流れを示すフローチャートである。図23を参照して、ステップS401にて、MCU23は、変数minXの値と変数Xの値とを比較する。ステップS403にて、MCU23は、変数minXの値が変数Xの値より大きい場合ステップS405に進み、それ以外はステップS407に進む。ステップS405にて、MCU23は、変数minXに変数Xの値を代入する。
ステップS407にて、MCU23は、変数maxXの値と変数Xの値とを比較する。ステップS409にて、MCU23は、変数maxXの値が変数Xの値より小さい場合ステップS411に進み、それ以外はステップS413に進む。ステップS411にて、MCU23は、変数maxXに変数Xの値を代入する。
ステップS413にて、MCU23は、変数minYの値と変数Yの値とを比較する。ステップS415にて、MCU23は、変数minYの値が変数Yの値より大きい場合ステップS417に進み、それ以外はステップS419に進む。ステップS417にて、MCU23は、変数minYに変数Yの値を代入する。
ステップS419にて、MCU23は、変数maxYの値と変数Yの値とを比較する。ステップS421にて、MCU23は、変数maxYの値が変数Yの値より小さい場合ステップS423に進み、それ以外はリターンする。
図18に戻って、ステップS177にて、MCU23は、変数m,n及びkにそれぞれ0を代入する。ステップS179にて、MCU23は、変数Xに変数Hn[m]の値を代入し、変数Yに変数Vn[n]の値を代入する。ステップS181にて、MCU23は、差分画像の画素値P(X,Y)と閾値Thlとを比較する。ステップS183にて、MCU23は、画素値P(X,Y)が閾値Thlを超えている場合、ステップS185に進み、それ以外はステップS187に進む。
ステップS185にて、MCU23は、変数Hc[X][k]及びVc[Y][k]にそれぞれ1を代入する。一方、ステップS187にて、MCU23は、変数Hc[X][k]の値が1の場合ステップS191へ進み、それ以外はステップS189に進む。ステップS189にて、MCU23は、変数Hc[X][k]に0を代入する。ステップS191にて、MCU23は、変数Vc[Y][k]の値が1の場合ステップS195に進み、それ以外はステップS193に進む。ステップS193にて、MCU23は、変数Vc[Y][k]に0を代入する。
ステップS195にて、MCU23は、変数Xの値を1つインクリメントする。ステップS197にて、MCU23は、変数Xの値が変数Hx[m]の値に1を加算した値に等しい場合ステップS199に進み、それ以外はステップS181に戻る。ステップS199にて、MCU23は、変数Xに変数Hn[m]の値を代入する。ステップS201にて、MCU23は、変数Yの値を1つインクリメントする。ステップS203にて、MCU23は、変数Yの値が変数Vx[n]に1を加算した値に等しい場合ステップS205に進み、それ以外はステップS181に戻る。
ステップS205にて、MCU23は、変数mの値が値Hnに等しい場合ステップS209に進み、それ以外はステップS207に進む。ステップS207にて、MCU23は、変数m及びkのそれぞれの値を1つインクリメントしてステップS179に戻る。ステップS209にて、MCU23は、変数nの値が値Vnに等しい場合図18のステップS215に進み、それ以外はステップS211に進む。ステップS211にて、MCU23は、変数mに0を代入する。ステップS213にて、MCU23は、変数n及びkのそれぞれの値を1つインクリメントしてステップS179に戻る。
ステップS215では、MCU23は、変数Kに変数kの値を代入して、図19のステップS231に進む。
以上のようにして、一次の各候補領域がスキャンされ、二次の候補領域を規定する配列Hc[X][k]及びVc[Y][k]に値が設定される(図5(b)参照)。二次の候補領域は、例えば、図5(b)では、領域b0及びb1である。
図19を参照して、ステップS231にて、MCU23は、変数p,m,k,Hmx[][]及びHmn[][]にそれぞれ0を代入する。ステップS233にて、MCU23は、変数Xに変数Hn[m]の値を代入する。ステップS235にて、MCU23は、変数Hc[X][k]の値が1の場合ステップS237に進み、それ以外はステップS243に進む。ステップS237にて、MCU23は、変数Hc[X−1][k]の値が0の場合ステップS239に進み、それ以外はステップS241に進む。ステップS239にて、MCU23は、変数Hmn[p][k]に変数Xの値を代入する。
ステップS243にて、MCU23は、変数Hc[X−1][k]の値が1の場合ステップS245に進み、それ以外はステップS241に進む。ステップS245にて、MCU23は、変数Hmx[p][k]に変数Xの値を代入する。ステップS247にて、MCU23は、変数pの値を1つインクリメントする。
ステップS241にて、MCU23は、変数Xの値を1つインクリメントする。ステップS249にて、MCU23は、変数Xの値がHx[m]の値に1を加算した値に等しい場合ステップS251に進み、それ以外はステップS235に戻る。ステップS251にて、MCU23は、変数M[k]に変数pの値から1を減算した値を代入する。
ステップS253にて、MCU23は、変数pに0を代入する。ステップS255にて、MCU23は、変数mの値が変数Hmの値に等しい場合ステップS259に進み、それ以外はステップS257に進む。ステップS257にて、MCU23は、変数m及びkの値をそれぞれ1つインクリメントしてステップS233に戻る。一方、ステップS259では、MCU23は、変数kの値が変数Kの値に等しい場合図20のステップS281に進み、それ以外はステップS261に進む。ステップS261にて、MCU23は、変数mに0を代入する。ステップS263にて、MCU23は、変数kを1つインクリメントしてステップS233に進む。
図19の処理は、二次の候補領域に関し、「1」が格納された配列Hc[X][k]の左端の要素番号X(X座標)、及び、「1」が格納された配列Hc[X][k]の右端の要素番号X(X座標)を求める処理である。
図20を参照して、ステップS281にて、MCU23は、変数r,n,m,k,Vmx[][]及びVmn[][]にそれぞれ0を代入する。ステップS283にて、MCU23は、変数Yに変数Vn[n]の値を代入する。ステップS285にて、MCU23は、変数Vc[Y][k]の値が1の場合ステップS287に進み、それ以外はステップS291に進む。ステップS287にて、MCU23は、変数Vc[Y−1][k]の値が0の場合ステップS289に進み、それ以外はステップS297に進む。ステップS289にて、MCU23は、変数Vmn[r][k]に変数Yの値を代入する。
ステップS291にて、MCU23は、変数Vc[Y−1][k]の値が1の場合ステップS293に進み、それ以外はステップS297に進む。ステップS293にて、MCU23は、変数Vmx[r][k]に変数Yの値を代入する。ステップS295にて、MCU23は、変数rの値を1つインクリメントする。
ステップS297にて、MCU23は、変数Yの値を1つインクリメントする。ステップS299にて、MCU23は、変数Yの値がVx[n]の値に1を加算した値に等しい場合ステップS301に進み、それ以外はステップS285に戻る。ステップS301にて、MCU23は、変数N[k]に変数rの値から1を減算した値を代入する。
ステップS303にて、MCU23は、変数rに0を代入する。ステップS305にて、MCU23は、変数mの値が変数Hmの値に等しい場合ステップS309に進み、それ以外はステップS307に進む。ステップS307にて、MCU23は、変数m及びkの値をそれぞれ1つインクリメントしてステップS283に戻る。一方、ステップS309では、MCU23は、変数kの値が変数Kの値に等しい場合ステップS311に進むみ、それ以外はステップS313に進む。ステップS313にて、MCU23は、変数mに0を代入する。ステップS315にて、MCU23は、変数k及びnをそれぞれ1つインクリメントしてステップS283に進む。
ステップS311では、MCU23は、変数Jに変数Kの値を代入して、図21のステップS331に進む。
図20の処理は、二次の候補領域に関し、「1」が格納された配列Vc[Y][k]の上端の要素番号Y(Y座標)、及び、「1」が格納された配列Vc[Y][k]の下端の要素番号Y(Y座標)を求める処理である。
以上により、一次の各候補領域がスキャンされ、二次の候補領域が決定される(図5(b)参照)。
図24は、図14のステップS9のトリガ検出処理(剣3A−Nに基づく)の流れを示すフローチャートである。図24を参照して、ステップS441にて、MCU23は、トリガフラグをクリアする。トリガフラグには、発生したトリガの種類を示す情報が設定される。ステップS443にて、MCU23は、シールドトリガの検出処理を実行する。ステップS445にて、MCU23は、スペシャルトリガの検出処理を実行する。ステップS447にて、MCU23は、スイングトリガの検出処理を実行する。
図25は、図24のステップS443のシールドトリガ検出処理の流れを示すフローチャートである。図25を参照して、ステップS461にて、MCU23は、再帰反射シートの面積C[0]と閾値Tha1とを比較する。ステップS463にて、MCU23は、面積C[0]が閾値Tha1より大きい場合、再帰反射シート4Aが撮影されたと判断してステップS465に進み、それ以外はステップS467に進む。ステップS465にて、MCU23は、変数Q0の値を1つインクリメントする。ステップS469にて、MCU23は、変数Q0の値が5に等しい場合、つまり、5回連続して、再帰反射シート4Aが撮影された場合、ステップS471に進み、それ以外はリターンする。一方、ステップS467では、MCU23は、変数Q0,ΔX,ΔY及びrのそれぞれに0を代入してリターンする。
ステップS471では、MCU23は、トリガフラグをシールドを示す値に設定する(シールドトリガが発生)。ステップS473にて、MCU23は、変数ΔXにmxX[0]−mnX[0](つまり、候補領域の水平方向の辺長)を代入し、変数ΔYにmxY[0]−mnY[0](つまり、候補領域の垂直方向の辺長)を代入する。ステップS475にて、MCU23は、比rを次式により求める。
r←ΔX/ΔY
ステップS477にて、MCU23は、比rに基づいて、剣3A−Nの傾きを傾きB0〜B2のいずれかに分類し、登録(格納)する。ステップS479にて、MCU23は、変数Q0に0を代入してリターンする。
図26及び図27は、図24のステップS445のスペシャルトリガ検出処理の流れを示すフローチャートである。図26を参照して、ステップS501にて、MCU23は、第2フラグがオンの場合図27のステップS561に進み、オフの場合ステップS503に進む。ステップS503にて、MCU23は、第1フラグがオンの場合ステップS511に進み、オフの場合ステップS505に進む。
ステップS505にて、MCU23は、前回及び今回においてトリガフラグがシールドに設定されている場合ステップS507に進み、それ以外はリターンする。ステップS507にて、MCU23は、第1フラグをオンにする。ステップS509にて、MCU23は、第1タイマをスタートして、リターンする。
ステップS511にて、MCU23は、第1タイマを参照して第1所定時間が経過した場合ステップS541に進み、それ以外はステップS513に進む。ステップS513では、MCU23は、再帰反射シート4の面積C[0]と閾値Tha1とを比較する。ステップS515にて、MCU23は、面積C[0]が閾値Tha1より大きい場合、再帰反射シート4Aが検出されたと判断して、ステップS517に進み、それ以外はステップS543に進む。ステップS517にて、MCU23は、変数Q1の値を1つインクリメントする。
ステップS523にて、MCU23は、変数Q1の値が5に等しい場合、つまり、再帰反射シート4Aが5回連続して検出された場合、ステップS525に進み、それ以外はリターンする。ステップS525にて、MCU23は、再帰反射シート4Aの現在及び過去4つの像IM0〜IM4のXY座標(Xr,Yr)に基づいて、速度ベクトルV0〜V3を算出する。ステップS527にて、MCU23は、速度ベクトルV0〜V3の各々を、方向A0〜A7のいずれかに分類する。ステップS529にて、MCU23は、全ての速度ベクトルV0〜V3が同一方向A1に分類された場合ステップS531に進み、それ以外はリターンする。
ステップS531にて、MCU23は、速度ベクトルV0〜V3の各々の大きさを、閾値Thv2と比較する。ステップS535にて、全ての速度ベクトルV0〜V3の大きさが閾値Thv2より大きい場合ステップS537に進み、それ以外はリターンする。ステップS537では、MCU23は、第2フラグをオンにする。ステップS539にて、MCU23は、第2タイマをスタートしてリターンする。
ステップS541では、MCU23は、第1タイマ及び第1フラグをリセットする。ステップS543にて、MCU23は、変数Q1に0を代入してリターンする。
図27を参照して、ステップS561にて、MCU23は、第2タイマを参照して第2所定時間が経過した場合ステップS571に進み、それ以外はステップS563に進む。ステップS571では、MCU23は、第1タイマ、第2タイマ、第1フラグ及び第2フラグをリセットする。ステップS573では、MCU23は、変数Q1及びQ2のそれぞれに0を代入してリターンする。
一方、ステップS563では、MCU23は、再帰反射シート4の面積C[0]と閾値Tha1とを比較する。ステップS565にて、MCU23は、面積C[0]が閾値Tha1以下の場合、再帰反射シート4Bが検出されたと判断して、ステップS567に進み、それ以外はステップS573に進む。ステップS567にて、MCU23は、変数Q2の値を1つインクリメントする。
ステップS569にて、MCU23は、変数Q2の値が5に等しい場合、再帰反射シート4Bが連続して5回検出されたと判断して、ステップS575に進み、それ以外はリターンする。ステップS575にて、MCU23は、再帰反射シート4Bの現在及び過去4つの像IM0〜IM4のXY座標(Xr,Yr)に基づいて、速度ベクトルV0〜V3を算出する。ステップS577にて、MCU23は、速度ベクトルV0〜V3の各々を、方向A0〜A7のいずれかに分類する。ステップS579にて、MCU23は、全ての速度ベクトルV0〜V3が同一方向A0に分類された場合ステップS581に進み、それ以外はリターンする。
ステップS581にて、MCU23は、速度ベクトルV0〜V3の各々の大きさを、閾値Thv3と比較する。ステップS583にて、全ての速度ベクトルV0〜V3の大きさが閾値Thv3より大きい場合ステップS585に進み、それ以外はリターンする。ステップS585では、MCU23は、トリガフラグをスペシャルに設定する(スペシャルトリガの発生)。ステップS587にて、MCU23は、第1タイマ、第2タイマ、第1フラグ及び第2フラグをリセットする。ステップS589にて、MCU23は、変数Q1及びQ2にそれぞれ0を代入して、図14のステップS11に進む。
図28は、図24のステップS447のスイングトリガ検出処理の流れを示すフローチャートである。図28を参照して、ステップS601では、MCU23は、再帰反射シートの面積C[0]と閾値Tha1とを比較する。ステップS603にて、MCU23は、面積C[0]が閾値Tha1以下の場合、再帰反射シート4Bが検出されたと判断して、ステップS605に進み、それ以外はステップS631に進む。ステップS631では、MCU23は、変数Q3に0を代入してステップS627に進む。ステップS605にて、MCU23は、変数Q3の値を1つインクリメントする。
ステップS607にて、MCU23は、変数Q3の値が5に等しい場合、5回連続して、再帰反射シート4Bが撮影されたと判断して、ステップS609に進み、それ以外はステップS627に進む。ステップS609にて、MCU23は、再帰反射シート4Bの現在及び過去4つの像IM0〜IM4のXY座標(Xr,Yr)に基づいて、速度ベクトルV0〜V3を算出する。ステップS611にて、MCU23は、速度ベクトルV0〜V3の各々を、方向A0〜A7のいずれかに分類する。ステップS613にて、MCU23は、全ての速度ベクトルV0〜V3が同一方向に分類された場合ステップS615に進み、それ以外はステップS627に進む。
ステップS615にて、MCU23は、速度ベクトルV0〜V3の方向を登録(格納)する。ステップS617にて、MCU23は、速度ベクトルV0〜V3の各々の大きさを、閾値Thv1と比較する。ステップS619にて、全ての速度ベクトルV0〜V3の大きさが閾値Thv1より大きい場合、剣3A−Nが振られたと判断して、ステップS621に進み、それ以外はステップS627に進む。ステップS621では、MCU23は、トリガフラグをスイングに設定する(スイングトリガの発生)。ステップS623にて、MCU23は、5つの像IM0〜IM4のうち中央の像IM2のXY座標に基づいて、スイング位置を求め、登録(格納)する。この場合、図9(a)〜図9(h)に示すように、MCU23は、スイング方向A0〜A7ごとに、7つの位置のいずれかに、スイング位置を分類する。ステップS625にて、MCU23は、変数Q3に0を代入する。
ステップS627にて、MCU23は、トリガフラグがシールドに設定されてない場合ステップS629に進み、シールドに設定されている場合リターンする。ステップS629では、MCU23は、トリガフラグに待機を設定してリターンする。
図29及び図30は、図14のステップS9のトリガ検出処理(メイス3B−Nに基づく)の流れを示すフローチャートである。図29を参照して、MCU23は、ステップS651とステップS683との間を、変数qを更新しながら繰り返す。ステップS653にて、MCU23は、第qフラグがオンの場合ステップS683に進み、オフの場合ステップS655に進む。ステップS655にて、MCU23は、第3タイマを参照して第3所定時間が経過した場合ステップS657に進み、それ以外はステップS661に進む。
ステップS657にて、MCU23は、第3タイマをリセットする。ステップS659にて、MCU23は、第1〜第8フラグをオフにし、かつ、変数Q4に0を代入して、図30のステップS715に進む。
ステップS661にて、MCU23は、面積C[0]が0より大きい場合、つまり、再帰反射シート4Cが検出された場合、ステップS665に進み、それ以外はステップS663に進む。ステップS663では、MCU23は、変数Q4に0を代入して、図30のステップS715に進む。
ステップS665では、MCU23は、変数Q4を1つインクリメントする。ステップS667にて、MCU23は、変数Q4の値が3に等しい場合、つまり、再帰反射シート4Cが連続して3回検出された場合、ステップS669に進み、それ以外は、図30のステップS715に進む。
ステップS669にて、MCU23は、再帰反射シート4Cの現在及び過去2回の像IM0〜IM2のXY座標(Xr,Yr)に基づいて、速度ベクトルV0及びV2を算出する。ステップS671にて、MCU23は、速度ベクトルV0及びV2の各々を、方向A0〜A7のいずれかに分類する。ステップS673にて、MCU23は、全ての速度ベクトルV0及びV1が同一方向SDに分類された場合ステップS675に進み、それ以外は、図30のステップS715に進む。
なお、方向SDには、q=1〜9に対して、それぞれ、方向A2,A7,A0,A5,A3,A6,A1,A4及びA2が割り当てられる。
ステップS675にて、MCU23は、第qフラグをオンする。ステップS677にて、MCU23は、変数Q4に0を代入する。ステップS679にて、MCU23は、変数qの値が1の場合第3タイマをスタートするためステップS681に進み、それ以外は、図30のステップS715に進む。ステップS681にて、MCU23は、第3タイマをスタートして、図30のステップS715に進む。
図30を参照して、ステップS701にて、MCU23は、第9フラグがオンの場合ステップS717に進み、オフの場合ステップS703に進む。ステップS703では、MCU23は、第1フラグ〜第9フラグをオンにした再帰反射シート4Cの9つの像のX座標Xrのうちの最大座標X1と最小座標X0との差ΔXと、当該9つの像のY座標Yrのうちの最大座標Y1と最小座標Y0との差ΔYと、を算出する(図11(a)参照)。
ステップS705にて、MCU23は、変数sに、ΔX+ΔYを代入する。ステップS707にて、MCU23は、変数sの値が一定値を超えている場合ステップS709に進み、それ以外はステップS713に進む。ステップS713にて、MCU23は、第1〜第9フラグをオフにし、かつ、変数Q4及びQ5のそれぞれに0を代入し、かつ、第3タイマをリセットする。
ステップS709にて、MCU23は、第10フラグをオンにする。ステップS711にて、第4タイマをスタートして、ステップS715に進む。ステップS715では、MCU23は、トリガフラグを待機に設定してリターンする。
ステップS717では、MCU23は、第10フラグがオンの場合ステップS719に進み、オフの場合ステップS739に進む。ステップS719では、MCU23は、面積C[0]と閾値Tha1とを比較する。ステップS565にて、MCU23は、面積C[0]が0より大きい場合、つまり、再帰反射シート4Cが撮影された場合、ステップS721に進み、それ以外はステップS742に進む。ステップS742では、MCU23は、変数Q5に0を代入する。一方、ステップS721にて、MCU23は、変数Q5の値を1つインクリメントする。
ステップS723にて、MCU23は、変数Q5の値が3に等しい場合、つまり、再帰反射シート4Cが連続して3回検出された場合、ステップS725に進み、それ以外はステップS715に進む。ステップS725にて、MCU23は、再帰反射シート4Cの現在及び過去2回の像IM0〜IM2のXY座標(Xr,Yr)に基づいて、速度ベクトルV0及びV1を算出する。ステップS727にて、MCU23は、速度ベクトルV0及びV1の各々を、方向A0〜A7のいずれかに分類する。ステップS729にて、MCU23は、全ての速度ベクトルV0及びV1が同一方向A0に分類された場合ステップS731に進み、それ以外はステップS715に進む。
ステップS731にて、MCU23は、速度ベクトルV0及びV1の各々の大きさを、閾値Thv4と比較する。ステップS733にて、全ての速度ベクトルV0及びV1の大きさが閾値Thv4より大きい場合ステップS735に進み、それ以外はステップS715に進む。ステップS735では、MCU23は、トリガフラグをスペシャルに設定する(スペシャルトリガの発生)。ステップS737にて、MCU23は、第1〜第10フラグをオフにし、かつ、変数Q4及びQ5にそれぞれ0を代入し、かつ、第3及び第4タイマをリセットしてリターンする。
ステップS739では、MCU23は、第4タイマを参照して、第4所定時間が経過した場合ステップS741に進み、それ以外はステップS715に進む。ステップS741では、MCU23は、第1〜第9フラグをオフにし、かつ、変数Q4及びQ5にそれぞれ0を代入し、かつ、第3及び第4タイマをリセットしてステップS715に進む。
図31は、図14のステップS9のトリガ検出処理(クロスボウ3C−Nに基づく)の流れを示すフローチャートである。図31を参照して、ステップS761にて、MCU23は、差分画像に写り込んだ再帰反射シートの数を示す変数SNの値が1の場合、再帰反射シート4Gが撮影された可能性があると判断して、ステップS763に進み、それ以外はステップS767に進む。ステップS763では、MCU23は、後述の変数Q6及びQ7のそれぞれに0を代入する。ステップS765にて、MCU23は、チャージトリガの検出処理を実行してリターンする。
ステップS767にて、MCU23は、変数SNの値が2の場合、再帰反射シート4E及び4Fが撮影されたと判断して、ステップS769に進み、それ以外はステップS773に進む。ステップS769では、MCU23は、シールドトリガの検出処理を実行する。ステップS771では、MCU23は、スイッチトリガの検出処理を実行してリターンする。
ステップS773では、MCU23は、変数Q6及びQ7にそれぞれ0を代入する。ステップS775にて、MCU23は、変数SNの値が3の場合、再帰反射シート4D,4E及び4Fが撮影されたと判断して、ステップS777に進み、それ以外はステップS779に進む。ステップS777にて、MCU23は、シューティングトリガの検出処理を実行してリターンする。ステップS779では、MCU23は、トリガフラグを待機に設定してリターンする。
図32は、図31のステップS765のチャージトリガ検出処理の流れを示すフローチャートである。図32を参照して、ステップS801にて、再帰反射シートの面積C[0]と閾値Tha2とを比較する。ステップS803にて、MCU23は、面積C[0]がTha2より大きい場合、再帰反射シート4Gが撮影されたと判断して、ステップS805に進み、それ以外はステップS807に進む。ステップS805にて、MCU23は、トリガフラグをチャージに設定して(チャージトリガの発生)リターンする。ステップS807にて、MCU23は、トリガフラグを待機に設定してリターンする。
図33は、図31のステップS769のシールドトリガ検出処理の流れを示すフローチャートである。図33を参照して、ステップS821にて、MCU23は、再帰反射シート4E及び4Fが撮影されたと判断して、それらのXY座標(Xr,Yr)に基づいて、それらを結ぶ直線の傾きT1を算出する。ステップS823にて、MCU23は、それらのXY座標(Xr,Yr)の中点を算出して、登録(格納)する。ステップS825にて、MCU23は、傾きT1が一定値より大きい場合ステップS827に進み、それ以外はリターンする。ステップS827にて、MCU23は、トリガフラグをシールドに設定して(シールドトリガの発生)、図14のステップS11に進む。
図34は、図31のステップS771のスイッチトリガ検出処理の流れを示すフローチャートである。図34を参照して、ステップS851にて、MCU23は、再帰反射シート4E及び4Fが撮影されたと判断して、それらのXY座標(Xr,Yr)の中点を算出し、登録(格納)する。ステップS853にて、MCU23は、所定フラグがオンの場合ステップS873に進み、オフの場合ステップS855に進む。
ステップS855にて、MCU23は、変数Q6の値を1つインクリメントする。ステップS857にて、MCU23は、変数Q6の値が5の場合ステップS859に進み、それ以外はステップS871に進む。ステップS859にて、MCU23は、ステップS851で求めた中点に基づいて、4つの速度ベクトルを算出する。ステップS861にて、MCU23は、4つの速度ベクトルの各々を方向A0〜A7のいずれかに分類する。ステップS863にて、MCU23は、全ての速度ベクトルが方向A1に分類された場合ステップS865に進み、それ以外はステップS871に進む。
ステップS865にて、MCU23は、全ての速度ベクトルの大きさが閾値Thv5より大きい場合ステップS867に進み、それ以外はステップS871に進む。ステップS867にて、MCU23は、所定フラグをオンにする。ステップS869にて、MCU23は、第5タイマをスタートしてステップS871に進む。ステップS871では、MCU23は、トリガフラグを待機に設定してリターンする。
ステップS873にて、MCU23は、第5タイマを参照して第5所定時間が経過した場合ステップS891に進み、それ以外はステップS875に進む。ステップS891にて、MCU23は、変数Q6及びQ7のそれぞれに0を代入し、かつ、所定フラグをオフにし、かつ、第5タイマをリセットしてステップS871に進む。
ステップS875にて、MCU23は、変数Q7の値を1つインクリメントする。ステップS877にて、MCU23は、変数Q7の値が5の場合ステップS879に進み、それ以外はステップS871に進む。ステップS879にて、MCU23は、ステップS851で求めた中点に基づいて、4つの速度ベクトルを算出する。ステップS881にて、MCU23は、4つの速度ベクトルの各々を方向A0〜A7のいずれかに分類する。ステップS863にて、MCU23は、全ての速度ベクトルが方向A0に分類された場合ステップS885に進み、それ以外はステップS871に進む。ステップS885にて、MCU23は、全ての速度ベクトルの大きさが閾値Thv6より大きい場合ステップS887に進み、それ以外はステップS871に進む。ステップS887にて、MCU23は、トリガフラグをスイッチに設定する(スイッチトリガの発生)。ステップS889にて、MCU23は、変数Q6及びQ7のそれぞれに0を代入し、かつ、所定フラグをオフにし、かつ、第5タイマをリセットしてリターンする。
図35は、図31のステップS777のシューティングトリガ検出処理の流れを示すフローチャートである。図35を参照して、ステップS911にて、MCU23は、再帰反射シート4E及び4Fの中点座標を算出し、登録(格納)する。ステップS913にて、MCU23は、3つの再帰反射シート4D,4E及び4Fの面積C[0],C[1]及びC[2]の差|C[0]−C[1]|,|C[1]−C[2]|及び|C[2]−C[0]|を求める。
ステップS915にて、MCU23は、面積の差が最小の2つの再帰反射シートの面積の平均値を算出する。ステップS917にて、MCU23は、ステップS915で算出した平均値と、最大面積の再帰反射シートの面積と、の差を算出する。ステップS919にて、MCU23は、ステップS917で算出した差が一定値より大きい場合、面積が一番大きい再帰反射シートが再帰反射シート4Gであると判断して、ステップS921に進み、それ以外はステップS923に進む。ステップS921では、MCU23は、トリガフラグをチャージに設定してリターンする(チャージトリガの発生)。ステップS923にて、MCU23は、再帰反射シート4E及び4Fがシールドトリガの生成条件を満足しているか否かをチェックする。
ステップS925にて、MCU23は、シールドトリガの生成条件を満足している場合ステップS927に進み、それ以外はステップS929に進む。ステップS927では、MCU23は、トリガフラグをシールドに設定してリターンする(シールドトリガの発生)。
ステップS929にて、MCU23は、前回に検出された2つの再帰反射シートが再帰反射シート4E及び4Fの場合ステップS931に進み、それ以外はステップS933に進む。ステップS931にて、MCU23は、トリガフラグをシューティングに設定してリターンする(シューティングトリガの発生)。ステップS933では、MCU23は、トリガフラグを待機に設定してリターンする。
さて、以上のように、本実施の形態では、カメラユニット1−Nから端末5−Nに与えられるのは、従来と異なり、撮像画像ではなく、その解析結果である操作物3−Nによる入力情報(操作物3−N(再帰反射シート4)の状態情報)、つまり、ユーザの入力情報である。従って、カメラユニット1−Nを入力装置として利用する場合でも、ゲームプログラマーにとって、撮像画像を解析するプログラムの作成は不要であり、カメラユニット1−Nを、一般的な入力装置であるキーボード等と同様に扱うことができる。その結果、ゲームプログラマーにとって、入力装置として使い易いカメラユニット1を提供できる。ひいては、操作物3−Nを三次元空間中で動かすといったダイナミックな動きを入力としたオンラインゲーム(体感型のオンラインゲーム)を簡易に実現できる。
また、カメラユニット1−Nは、端末5−Nに、操作物3−N、つまり、再帰反射シート4の状態情報、例えば、XY座標(Xr,Yr)及び面積情報を与える。従って、端末5−Nは、操作物3−Nの状態情報に基づく処理を実行できる。例えば、端末5は、操作物3−NのXY座標(Xr,Yr)に対応するモニタ7上の位置にカーソルを表示する。
さらに、カメラユニット1−Nは、操作物3−N、つまり、再帰反射シート4の状態情報をコマンドとして端末5−Nに与える。従って、端末5−Nは、操作物3−Nの状態情報に対応したコマンドに基づく処理を実行できる。例えば、カメラユニット1から端末5へのコマンドは、スイングトリガ(動き情報)、シールドトリガ(剣3A−Nは面積情報、クロスボウ3C−Nは配置情報)、スペシャルトリガ(剣3A−Nは面積情報・動き情報、メイス3B−Nは動き情報)、チャージトリガ(面積情報)、スイッチトリガ(動き情報)及びシューティングトリガ(数情報)である。
例えば、端末5−Nは、スイングトリガに応じて、モニタ7に剣軌跡を表示する。例えば、端末5−Nは、シールドトリガに応じて、モニタ7に盾画像を表示する。例えば、端末5−Nは、剣3A−Nによるスペシャルトリガに応じて、モニタ7に第1所定エフェクトを表示する。例えば、端末5−Nは、メイス3B−Nによるスペシャルトリガに応じて、モニタ7に第2所定エフェクトを表示する。例えば、端末5−Nは、チャージトリガに応じて、ゲームキャラクタのエネルギーをチャージする。例えば、端末5−Nは、スイッチトリガに応じて、矢の発射モード(連射、単発)を切り替える。例えば、端末5−Nは、シューティングトリガに応じて、モニタ7上で矢を発射する。
また、本実施の形態では、再帰反射シート4が3を超える場合でも、それらの状態情報を求めることができる一方、再帰反射シート4が1又は2の場合は、図18〜図20の処理(二次の候補領域を決定する処理)を省くことができ、処理負荷を軽減できる。
ユーザインタフェースとして広く利用可能である。例えば、人間の身体の動きを入力とするビデオゲーム等に利用可能である。
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
(1)上記では、オンラインゲームにカメラユニット1を適用したが、オフラインゲーム、つまり、スタンドアローンタイプのゲームに使用することもできる。
(2)上記では、ホストコンピュータ31を介してオンラインゲームを提供したが、ホストコンピュータ31を介することなく、端末5−N同士で状態情報を直接送受信して、オンラインゲームを行うこともできる。
(3)上記のクロスボウ3C−Nでは、トリガ51を引いた時に蓋49が開く構成とした。ただし、トリガ51を引かない時に蓋49が開いており、トリガ51を引いた時に蓋49が閉じるように構成することもできる。
(4)操作物に、第1再帰反射シート及び第2再帰反射シートと、第1再帰反射シートと第2再帰反射シートとの間で、露光及び非露光状態が逆になるように、第1再帰反射シート及び第2再帰反射シートの状態を切り替える切替手段と、を設けることができる。
この場合、第1再帰反射シートと第2再帰反射シートとは、露光及び非露光状態が互いに逆になるので、それぞれの撮像画像に基づいて、操作物による入力の有無及び/又は入力の形態を検出できる。また、第1再帰反射シートと第2再帰反射シートとの間の露光及び非露光の切り替えに基づいて、操作物による入力の有無及び/又は入力の形態を検出することもできる。
(5)上記では、ストロボスコープ(赤外発光ダイオード11の点滅)を用い、差分画像DIを生成して、再帰反射シート4を検出した。ただし、これは、好適な例を示しただけであって、本発明に必須の要素ではない。つまり、赤外発光ダイオード11は、点滅させなくてもよいし、また、赤外発光ダイオード11がなくてもよい。照射する光は赤外光に限られない。また、再帰反射シート4は本発明に必須の要素ではなく、撮像画像を解析して、操作物3−Nが検知できればよい。撮像素子は、イメージセンサに限られず、CCDなどの他の撮像素子を使用できる。
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。
Claims (19)
- コンピュータとは別体で設けられる撮像装置であって、
ユーザが操作する操作物を撮像する撮像手段と、
前記撮像手段から与えられた撮像画像を解析して、前記操作物による入力を検出し、入力情報を生成する検出手段と、
前記入力情報を前記コンピュータに送信する送信手段と、を備えた撮像装置。 - 前記検出手段は、前記撮像画像を解析して前記操作物の状態情報を算出し、前記状態情報を前記入力情報として前記送信手段に与える、請求項1記載の撮像装置。
- 前記操作物の前記状態情報は、位置情報、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、傾斜情報、動き情報若しくは、形態情報のいずれか、又は、それらの2以上の組み合わせ、である、請求項2記載の撮像装置。
- 前記操作物の前記状態情報は、前記操作物に装着された単数又は複数のマーカの状態情報である、請求項2又は3記載の撮像装置。
- 前記送信手段は、前記状態情報をコマンドとして、前記コンピュータに送信する、請求項2から4のいずれかに記載の撮像装置。
- 前記操作物に、予め定められた周期で、光を照射するストロボスコープをさらに備え、
前記撮像手段は、前記ストロボスコープの点灯時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像及び消灯時画像を取得し、前記発光時画像と前記消灯時画像との差分信号を生成する差分信号生成手段を含む請求項1から5のいずれかに記載の撮像装置。 - 前記操作物は、受けた光を再帰反射する再帰反射手段を含む、請求項1から6のいずれかに記載の撮像装置。
- 前記検出手段は、
前記撮像手段により得られた前記撮像画像から、前記マーカの像が包含され、前記撮像画像の画素数より少ない画素からなる一次の候補領域を決定する第1の候補領域決定手段と、
前記マーカの数が1又は2である場合、前記一次の候補領域をスキャンして、前記マーカの前記状態情報を算出する第1の状態算出手段と、
前記マーカの数が少なくとも3である場合、前記一次の候補領域から、前記マーカの像を包含し、前記一次の候補領域の画素数より少ない画素からなる二次の候補領域を決定する第2の候補領域決定手段と、
前記マーカの数が少なくとも3である場合、前記二次の候補領域をスキャンして、前記マーカの前記状態情報を算出する第2の状態算出手段と、を含む請求項4記載の撮像装置。 - 各々が、対応する端末に接続され、対応する前記端末とは別体で設けられる複数の撮像装置を備え、
前記撮像装置は、
ユーザによって操作される操作物を撮像する撮像手段と、
前記撮像手段から与えられた撮像画像を解析して、前記操作物による入力を検出し、入力情報を生成する検出手段と、
前記入力情報を前記端末に送信する送信手段と、を含み、
ネットワーク経由で複数の前記端末が相互に接続されて、前記入力情報を相互に交換することにより、ゲームを進行する、オンラインゲームシステム。 - 撮像装置の被写体であり、ユーザに保持されて動きが与えられる操作物であって、
複数の反射手段と、 少なくとも1つの前記反射手段の露光状態と非露光状態とを切り替える切替手段と、を備え、 少なくとも1つの他の前記反射手段は、露光状態を維持する、操作物。 - 撮像装置の被写体であり、ユーザに保持されて動きが与えられる操作物であって、
第1反射手段と、 第2反射手段と、 前記第1反射手段と前記第2反射手段との間で、露光及び非露光状態が逆になるように、前記第1反射手段及び前記第2反射手段の状態を切り替える切替手段と、を備える操作物。 - 前記反射手段は、受けた光を再帰反射する、請求項10又は11記載の操作物。
- コンピュータとは別体で設けられる撮像装置が実行する入力方法であって、
ユーザが操作する操作物を撮像するステップと、
撮像する前記ステップから与えられた撮像画像を解析して、前記操作物による入力を検出し、入力情報を生成するステップと、
前記入力情報を前記コンピュータに送信するステップと、を含む入力方法。 - 請求項13記載の入力方法を撮像装置に搭載されたコンピュータに実行させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 単数又は複数の被写体を撮像する撮像手段と、
前記撮像手段により得られた画像から、前記被写体の像が包含され、前記画像の画素数より少ない画素からなる一次の候補領域を決定する第1の候補領域決定手段と、
前記被写体の数が1又は2である場合、前記一次の候補領域をスキャンして、前記被写体の状態情報を算出する第1の状態算出手段と、
前記被写体の数が少なくとも3である場合、前記一次の候補領域から、前記被写体の像を包含し、前記一次の候補領域の画素数より少ない画素からなる二次の候補領域を決定する第2の候補領域決定手段と、
前記被写体の数が少なくとも3である場合、前記二次の候補領域をスキャンして、前記被写体の状態情報を算出する第2の状態算出手段と、を備える画像解析装置。 - 前記第1の候補領域決定手段は、
前記画像の画素値の水平軸への正射影である第1配列を生成する第1配列手段と、
前記画像の前記画素値の垂直軸への正射影である第2配列を生成する第2配列手段と、
前記第1配列及び前記第2配列に基づいて、前記一次の候補領域を決定する手段と、を含み、
前記第2の候補領域決定手段は、
前記一次の候補領域の前記画素値の前記水平軸への正射影である第3配列を生成する第3配列手段と、
前記一次の候補領域の前記画素値の前記垂直軸への正射影である第4配列を生成する第4配列手段と、
前記第3配列及び前記第4配列に基づいて、前記二次の候補領域を決定する手段と、を含む請求項15記載の画像解析装置。 - 前記操作物に、予め定められた周期で、光を照射するストロボスコープをさらに備え、
前記撮像手段は、前記ストロボスコープの点灯時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像及び消灯時画像を取得し、前記発光時画像と前記消灯時画像との差分信号を生成する差分信号生成手段を含み、
前記第1の候補領域決定手段、前記第1の状態算出手段、前記第2の候補領域決定手段、及び前記第2の状態算出手段は、前記差分信号に基づいて処理を実行する、請求項15又は16記載の画像解析装置。 - 単数又は複数の被写体を撮像する撮像装置により得られた画像に基づく画像解析方法であって、
前記画像から、前記被写体の像が包含され、前記画像の画素数より少ない画素からなる一次の候補領域を決定するステップと、
前記被写体の数が1又は2である場合、前記一次の候補領域をスキャンして、前記被写体の状態情報を算出するステップと、
前記被写体の数が少なくとも3である場合、前記一次の候補領域から、前記被写体の像を包含し、前記一次の候補領域の画素数より少ない画素からなる二次の候補領域を決定するステップと、
前記被写体の数が少なくとも3である場合、前記二次の候補領域をスキャンして、前記被写体の状態情報を算出するステップと、を含む画像解析方法。 - 請求項18記載の画像解析方法をコンピュータに実行させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008011320 | 2008-01-22 | ||
JP2008011320 | 2008-01-22 | ||
PCT/JP2009/000245 WO2009093461A1 (ja) | 2008-01-22 | 2009-01-22 | 撮像装置、オンラインゲームシステム、操作物、入力方法、画像解析装置、画像解析方法、及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2009093461A1 true JPWO2009093461A1 (ja) | 2011-05-26 |
Family
ID=40900970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009550476A Pending JPWO2009093461A1 (ja) | 2008-01-22 | 2009-01-22 | 撮像装置、オンラインゲームシステム、操作物、入力方法、画像解析装置、画像解析方法、及び記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20110183751A1 (ja) |
JP (1) | JPWO2009093461A1 (ja) |
CN (1) | CN102124423A (ja) |
WO (1) | WO2009093461A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106943743B (zh) * | 2011-02-11 | 2024-04-26 | 漳州市阿思星谷电子科技有限公司 | 一种人机互动控制方法 |
US8620113B2 (en) * | 2011-04-25 | 2013-12-31 | Microsoft Corporation | Laser diode modes |
JP5754266B2 (ja) * | 2011-06-30 | 2015-07-29 | セイコーエプソン株式会社 | 指示部材、光学式位置検出装置、および入力機能付き表示システム |
CN103285585A (zh) * | 2012-09-24 | 2013-09-11 | 天津思博科科技发展有限公司 | 一种基于互联网架构的体感击剑互动装置 |
KR101691633B1 (ko) | 2012-11-01 | 2017-01-09 | 아이캠, 엘엘씨 | 무선 손목 컴퓨팅과 3d 영상화, 매핑, 네트워킹 및 인터페이스를 위한 제어 장치 및 방법 |
CN103902018B (zh) * | 2012-12-24 | 2018-08-10 | 联想(北京)有限公司 | 一种信息处理方法、装置及一种电子设备 |
US10134267B2 (en) | 2013-02-22 | 2018-11-20 | Universal City Studios Llc | System and method for tracking a passive wand and actuating an effect based on a detected wand path |
US9616350B2 (en) | 2014-05-21 | 2017-04-11 | Universal City Studios Llc | Enhanced interactivity in an amusement park environment using passive tracking elements |
US9600999B2 (en) | 2014-05-21 | 2017-03-21 | Universal City Studios Llc | Amusement park element tracking system |
US10207193B2 (en) | 2014-05-21 | 2019-02-19 | Universal City Studios Llc | Optical tracking system for automation of amusement park elements |
US9433870B2 (en) | 2014-05-21 | 2016-09-06 | Universal City Studios Llc | Ride vehicle tracking and control system using passive tracking elements |
US9429398B2 (en) | 2014-05-21 | 2016-08-30 | Universal City Studios Llc | Optical tracking for controlling pyrotechnic show elements |
US10061058B2 (en) | 2014-05-21 | 2018-08-28 | Universal City Studios Llc | Tracking system and method for use in surveying amusement park equipment |
US10025990B2 (en) | 2014-05-21 | 2018-07-17 | Universal City Studios Llc | System and method for tracking vehicles in parking structures and intersections |
NL2014037B1 (en) | 2014-12-22 | 2016-10-12 | Meyn Food Proc Technology Bv | Processing line and method for inspecting a poultry carcass and/or a viscera package taken out from the poultry carcass. |
CN105678817B (zh) * | 2016-01-05 | 2017-05-31 | 北京度量科技有限公司 | 一种高速提取圆形图像中心点的方法 |
US10249090B2 (en) * | 2016-06-09 | 2019-04-02 | Microsoft Technology Licensing, Llc | Robust optical disambiguation and tracking of two or more hand-held controllers with passive optical and inertial tracking |
CN106730811B (zh) * | 2016-12-07 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 一种vr场景下的道具运动处理方法和装置 |
US11314399B2 (en) | 2017-10-21 | 2022-04-26 | Eyecam, Inc. | Adaptive graphic user interfacing system |
CN109806588B (zh) * | 2019-01-31 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 属性值的恢复方法和装置、存储介质、电子装置 |
JP7283958B2 (ja) | 2019-04-11 | 2023-05-30 | 株式会社ソニー・インタラクティブエンタテインメント | 複数のマーカを備えたデバイス |
JP2020177283A (ja) * | 2019-04-15 | 2020-10-29 | 株式会社ソニー・インタラクティブエンタテインメント | 複数のマーカを備えたデバイス |
JP7288792B2 (ja) | 2019-04-24 | 2023-06-08 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびデバイス情報導出方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5130504B2 (ja) * | 2003-07-02 | 2013-01-30 | 新世代株式会社 | 情報処理装置、情報処理方法、プログラム及び記憶媒体 |
US20050009605A1 (en) * | 2003-07-11 | 2005-01-13 | Rosenberg Steven T. | Image-based control of video games |
JP2006277076A (ja) * | 2005-03-28 | 2006-10-12 | Fuji Electric Device Technology Co Ltd | 画像インターフェイス装置 |
-
2009
- 2009-01-22 WO PCT/JP2009/000245 patent/WO2009093461A1/ja active Application Filing
- 2009-01-22 CN CN2009801100466A patent/CN102124423A/zh active Pending
- 2009-01-22 JP JP2009550476A patent/JPWO2009093461A1/ja active Pending
- 2009-01-22 US US12/863,764 patent/US20110183751A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110183751A1 (en) | 2011-07-28 |
CN102124423A (zh) | 2011-07-13 |
WO2009093461A1 (ja) | 2009-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2009093461A1 (ja) | 撮像装置、オンラインゲームシステム、操作物、入力方法、画像解析装置、画像解析方法、及び記録媒体 | |
JP7383135B2 (ja) | 仮想対象の制御方法及びその装置、機器、並びにコンピュータープログラム | |
US8264472B2 (en) | Storage medium storing information processing program and information processing apparatus | |
CN105335064B (zh) | 一种信息处理方法和终端 | |
CN112044074B (zh) | 对非玩家角色寻路的方法、装置、存储介质及计算机设备 | |
US9849383B2 (en) | Storage medium storing game program and game apparatus | |
JP5130504B2 (ja) | 情報処理装置、情報処理方法、プログラム及び記憶媒体 | |
US7828660B2 (en) | Storage medium having game program stored thereon and game apparatus | |
CN112717407B (zh) | 虚拟对象的控制方法、装置、终端及存储介质 | |
CN113449696B (zh) | 一种姿态估计方法、装置、计算机设备以及存储介质 | |
JPH0786936B2 (ja) | 画像処理装置 | |
JP2011096080A (ja) | オブジェクト制御プログラム及びオブジェクト制御装置 | |
WO2018025511A1 (ja) | 情報処理装置、方法、および、コンピュータプログラム | |
WO2023138192A1 (zh) | 控制虚拟对象拾取虚拟道具的方法、终端及存储介质 | |
US20240325910A1 (en) | Virtual object control method and apparatus, computer device, and storage medium | |
US20210117070A1 (en) | Computer-readable recording medium, computer apparatus, and method of controlling | |
KR20210153131A (ko) | 가상 객체 제어 방법 및 장치, 단말, 및 저장 매체 | |
JP5095122B2 (ja) | ゲームプログラムおよびゲーム装置 | |
JP3138145U (ja) | 脳トレーニング装置 | |
JP2021176104A (ja) | プログラム、画像処理方法及び画像処理システム | |
JP2006314632A (ja) | ゲームプログラムおよびゲーム装置 | |
JP5735290B2 (ja) | 遊技機 | |
JP2008059375A (ja) | 情報処理方法、情報処理装置 | |
JP3136549U (ja) | スロットマシーン | |
CN110448900A (zh) | 游戏中控制对象的方法、装置和游戏设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120120 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120120 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A073 Effective date: 20130612 |