JPWO2009141855A1 - 入力システム、入力方法、コンピュータプログラム、及び、記録媒体 - Google Patents

入力システム、入力方法、コンピュータプログラム、及び、記録媒体 Download PDF

Info

Publication number
JPWO2009141855A1
JPWO2009141855A1 JP2010512854A JP2010512854A JPWO2009141855A1 JP WO2009141855 A1 JPWO2009141855 A1 JP WO2009141855A1 JP 2010512854 A JP2010512854 A JP 2010512854A JP 2010512854 A JP2010512854 A JP 2010512854A JP WO2009141855 A1 JPWO2009141855 A1 JP WO2009141855A1
Authority
JP
Japan
Prior art keywords
cursor
image
subject
video image
correction
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
Application number
JP2010512854A
Other languages
English (en)
Inventor
上島 拓
拓 上島
恵一 安村
恵一 安村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SSD Co Ltd
Original Assignee
SSD Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SSD Co Ltd filed Critical SSD Co Ltd
Publication of JPWO2009141855A1 publication Critical patent/JPWO2009141855A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing 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
    • A63F13/422Processing 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 automatically for the purpose of assisting the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing 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
    • A63F13/426Processing 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 involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5372Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for tagging characters, objects or locations in the game scene, e.g. displaying a circle under the character controlled by the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/10Features 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/1087Features 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/30Features 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 output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features 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 output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • A63F2300/306Features 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 output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for displaying a marker associated to an object or location in the game field
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • A63F2300/6054Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands by generating automatically game commands to assist the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/643Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video
    • A63F2300/695Imported photos, e.g. of the player

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Position Input By Displaying (AREA)
  • Projection Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

実空間中のスクリーン21上において、実空間中の再帰反射シート17L及び17Rの位置とスクリーン21に投影されたビデオ映像中のカーソル67の位置とが一致するように、カーソル67の位置を調整する。プロセッサ23は、カーソル67を介して、再帰反射シート17が置かれているビデオ映像中の位置を認識できる。このため、プレイヤ15は、スクリーン21に映し出されたビデオ映像の上で再帰反射シート17L及び17Rを動かし、その再帰反射シート17L及び17Rでビデオ映像中の所望の位置を直接指し示すことにより、プロセッサ23に対する入力を行うことができる。

Description

本発明は、撮像画像に写り込んだ被写体の像に基づいて入力を行う入力システム及びその関連技術に関する。
本件出願人によるゴルフゲームシステムが特許文献1に開示されている。このゴルフゲームシステムは、ゲーム機及びゴルフクラブ型入力装置を含む。ゲーム機のハウジングの内部には撮像ユニットが収納される。この撮像ユニットは、イメージセンサと赤外発光ダイオードとを含む。赤外発光ダイオードによって撮像ユニットの上方の所定範囲に赤外光が間欠的に照射される。したがって、イメージセンサは、その範囲内で移動するゴルフクラブ型入力装置に設けられた反射体を間欠的に撮影する。このような反射体のストロボ映像を処理することによって、ゲーム機の入力となる速度などを計算する。
特開2004−85524号
本発明は、撮像画像に写り込んだ被写体の像に基づいて入力を行う新規な入力システム及びその関連技術を提供することを目的とする。
本発明の第1の観点によれば、入力システムは、ビデオ映像を生成するビデオ映像生成手段と、前記ビデオ映像を制御する制御手段と、実空間に配置されたスクリーンに前記ビデオ映像を投影する投影手段と、プレイヤが前記スクリーン上で操作する実空間中の被写体を撮像する撮像手段と、を備え、前記制御手段は、前記撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析手段と、前記解析手段が求めた前記被写体の位置に基づいて、カーソルを前記被写体に連動させるカーソル制御手段と、を含み、前記カーソル制御手段は、実空間中の前記スクリーン上において、実空間中の前記被写体の位置と投影された前記ビデオ映像中の前記カーソルの位置とが一致するように、前記カーソルの位置を補正する補正手段を含む。
この構成によれば、プレイヤは、スクリーンに投影されたビデオ映像の上で被写体を動かし、その被写体でビデオ映像中の所望の位置を直接指し示すことにより、制御手段に対する入力を行うことができる。なぜなら、実空間のスクリーン上において、実空間中の被写体の位置と投影されたビデオ映像中のカーソルの位置とは一致するので、制御手段は、カーソルを介して、被写体が置かれているビデオ映像中の位置を認識できるからである。
ここで、本明細書及び請求の範囲において、「一致」は、完全一致及び略一致を含む意味である。
本発明の第2の観点によれば、入力システムは、ビデオ映像を生成するビデオ映像生成手段と、前記ビデオ映像を制御する制御手段と、を備え、前記制御手段は、プレイヤが実空間に配置されたスクリーン上で操作する実空間中の被写体を撮像する撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析手段と、前記解析手段が求めた前記被写体の位置に基づいて、カーソルを前記被写体に連動させるカーソル制御手段と、を含み、前記カーソル制御手段は、実空間中の前記スクリーン上において、実空間中の前記被写体の位置と前記スクリーンに投影された前記ビデオ映像中の前記カーソルの位置とが一致するように、前記カーソルの位置を補正する補正手段を含む。
この構成によれば、第1の観点による入力システムと同様の効果を奏する。
上記第1及び第2の観点による入力システムは、前記補正の際に使用するパラメータを算出するためのビデオ映像を生成し、当該ビデオ映像上の少なくとも1つの所定位置に少なくとも1つの所定のマーカを配置するマーカ映像生成手段と、前記撮像手段により得られた撮像画像と、前記マーカ映像生成手段が生成した前記ビデオ映像と、を対応させ、前記撮像画像上の前記被写体の像の位置に対応する前記ビデオ映像上の位置である対応位置を算出する対応位置算出手段と、前記所定のマーカが配置された前記所定位置と、前記スクリーンに投影された前記所定のマーカ上に前記被写体を置いたときの前記対応位置と、に基づいて、前記補正手段が補正の際に使用するパラメータを算出するパラメータ算出手段と、をさらに備える。
この構成によれば、プレイヤにスクリーンに投影されたマーカ上に被写体を置かせるだけで、補正のためのパラメータを簡易に求めることができる。
この入力システムにおいて、前記マーカ映像生成手段は、前記ビデオ映像上の複数の前記所定位置に、複数の前記所定のマーカを配置し、あるいは、前記ビデオ映像上の異なる前記所定位置に、時間を変えて前記所定のマーカを配置する。
この構成によれば、異なる複数の位置に配置されるマーカに被写体を置いて、補正のためのパラメータを求めるので、補正の精度をより向上できる。
例えば、前記マーカ映像生成手段は、前記ビデオ映像上の四隅に、4つの前記所定のマーカを配置し、あるいは、前記ビデオ映像上の四隅に、時間を変えて前記所定のマーカを配置する。
この構成によれば、比較的少ない数のマーカを使用して、補正のためのパラメータを高精度で求めることができる。
この場合、さらに、前記マーカ映像生成手段は、前記4つの所定のマーカが配置された前記ビデオ映像又は異なるビデオ映像上の中心に、1つの前記所定のマーカを配置する。
この構成によれば、補正のためのパラメータをより高精度で求めることができる。
上記入力システムにおいて、前記補正手段による前記補正は台形補正を含む。
この構成によれば、光軸がスクリーンに対して斜めになる様に配置される撮像手段により、スクリーン上の被写体を撮像し、その撮像画像に基づいて、被写体の動きを解析し、それに連動するカーソルを生成する場合においても、プレイヤが操作する被写体の動きと、カーソルの動きと、が一致又は略一致する。なぜなら、台形補正により、台形歪みを極力除去できるからである。その結果、プレイヤは、違和感を極力抑制した入力を行うことができる。
上記入力システムにおいて、前記撮像手段は、前記プレイヤの前方に配置され、前記被写体を俯瞰する位置から撮像し、前記カーソル制御手段は、前記撮像手段から見て前記被写体が奥から手前へ移動した場合に、前記撮像手段から見て投影された前記カーソルが奥から手前へ移動するように前記カーソルの位置を決定し、かつ、前記撮像手段から見て前記被写体が手前から奥へ移動した場合に、前記撮像手段から見て投影された前記カーソルが手前から奥へ移動するように前記カーソルの位置を決定し、かつ、前記撮像手段から見て前記被写体が右から左へ移動した場合に、前記撮像手段から見て投影された前記カーソルが右から左へ移動するように前記カーソルの位置を決定し、かつ、前記撮像手段から見て前記被写体が左から右へ移動した場合に、前記撮像手段から見て投影された前記カーソルが左から右へ移動するように前記カーソルの位置を決定する。
この構成によれば、プレイヤの前方において、被写体を俯瞰する位置から撮像する場合(以下、「俯瞰の場合」と呼ぶ。)においても、プレイヤが操作する被写体の移動方向と、スクリーン上のカーソルの移動方向と、が感覚的に一致するので、入力のストレスを極力抑制しながら、制御手段に対して、容易に入力を行うことができる。
ちなみに、プレイヤの前方において、被写体を仰視する位置から撮像する場合(以下、「仰視の場合」と呼ぶ。)、通常、撮像手段から見て被写体が奥から手前へ移動した場合に、垂直に設置されたスクリーンに表示されるビデオ映像をプレイヤが見たときに、カーソルが上方へ移動するようにカーソルの位置を決定し、また、撮像手段から見て被写体が手前から奥へ移動した場合に、垂直に設置されたスクリーンに表示されるビデオ映像をプレイヤが見たときに、カーソルが下方へ移動するようにカーソルの位置を決定する。
ところが、俯瞰の場合に、仰視の場合と同じアルゴリズムでカーソルを制御すると、撮像手段から見て被写体が奥から手前へ移動した場合に、鉛直に設置されたスクリーンに表示されるビデオ映像をプレイヤが見たときに、カーソルが下方へ移動するようにカーソルの位置を決定し、また、撮像手段から見て被写体が手前から奥へ移動した場合に、スクリーンに表示されるビデオ映像をプレイヤが見たときに、カーソルが上方へ移動するようにカーソルの位置を決定してしまうことになる。これでは、プレイヤが操作する被写体の移動方向と、スクリーン上のカーソルの移動方向と、が感覚的に一致しない。このため、入力にストレスが伴い、スムーズな入力を行うことができない。
このような結果を引き起こすのは、俯瞰の場合、撮像手段の光軸ベクトルの鉛直成分が鉛直下方を向いており、撮像手段の上下方向とプレイヤの上下方向とが一致しないからである。
また、多くの場合、撮像手段の光軸ベクトルが鉛直成分を持たないか(つまり、撮像面が鉛直面と平行な場合)、あるいは、光軸ベクトルの鉛直成分が鉛直上方を向いており、撮像手段の上下方向とプレイヤの上下方向とが一致するように、撮像手段が設置され、このような使用に慣れているからである。
ここで、撮像手段の光軸ベクトルの鉛直成分の終点から始点を向く方向を撮像手段の下方とし、始点から終点を向く方向を撮像手段の上方とする。また、プレイヤの足(foot)から頭部を向く方向をプレイヤの上方とし、頭部から足を向く方向をプレイヤの下方とする。
上記入力システムにおいて、前記カーソルは、前記プレイヤが視認可能に表示される。
この構成によれば、プレイヤは、投影されたカーソルと再帰反射シートとが一致していることを確認でき、システムが正常であることを認識できる。
上記入力システムにおいて、前記カーソルは、仮想のものであり、表示しないこともできる。
ちなみに、プレイヤがカーソルを視認できなくても、制御手段がカーソルの位置を認識できれば、制御手段は再帰反射シートが投影ビデオ映像上のどこに置かれているか分かるからである。なお、この場合、カーソルを非表示にしてもよいし、透明なカーソルを表示してもよい。また、カーソルを表示しなくても、プレイヤにとってはプレイに大きな支障はない。
本発明の第3の観点によれば、入力システムは、カーソルを含むビデオ映像を生成するビデオ映像生成手段と、前記ビデオ映像を制御する制御手段と、光軸が被撮影面に対して斜めになる様に配置され、前記被撮影面上の被写体を撮像する撮像手段と、を備え、前記制御手段は、前記撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析手段と、前記解析手段が求めた前記被写体の位置に対して、台形補正を実行する台形補正手段と、前記台形補正後の前記被写体の位置に基づいて、前記カーソルを前記被写体に連動させるカーソル制御手段と、を含む。
この構成によれば、光軸が被撮影面に対して斜めになる様に配置される撮像手段により、被撮影面上の被写体を撮像し、その撮像画像に基づいて、被写体の動きを解析し、それに連動するカーソルを生成する場合においても、プレイヤが操作する被写体の動きと、カーソルの動きと、が一致又は略一致する。なぜなら、カーソルの位置を決定する被写体の位置に対して台形補正を実行しているからである。その結果、プレイヤは、違和感を極力抑制した入力を行うことができる。
本発明の第4の観点によれば、入力システムは、カーソルを含むビデオ映像を生成するビデオ映像生成手段と、前記ビデオ映像を制御する制御手段と、を備え、前記制御手段は、光軸が被撮影面に対して斜めになる様に配置され、前記被撮影面上の被写体を撮像する撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析手段と、前記解析手段が求めた前記被写体の位置に対して、台形補正を実行する台形補正手段と、前記台形補正後の前記被写体の位置に基づいて、前記カーソルを前記被写体に連動させるカーソル制御手段と、を含む。
この構成によれば、第3の観点による入力システムと同様の効果を奏する。
上記第3及び第4の観点による入力システムにおいて、前記台形補正手段は、前記被写体と前記撮像手段との間の距離に応じて、台形補正を施す。
撮像画像に写り込んだ被写体の像の台形歪みは、被写体と撮像手段との間の距離が大きくなるほど大きくなる。従って、本発明では、当該距離に応じた適切な台形補正を実行できる。
この入力システムにおいて、前記台形補正手段は、前記被写体と前記撮像手段との間の距離と、前記カーソルの水平方向の移動距離と、が正の相関関係になるように、前記カーソルの水平座標を補正する水平補正手段を含む。
この構成によれば、水平方向の台形歪みを補正できる。
上記第3及び第4の観点による入力システムにおいて、前記台形補正手段は、前記被写体と前記撮像手段との間の距離と、前記カーソルの垂直方向の移動距離と、が正の相関関係になるように、前記カーソルの垂直座標を補正する垂直補正手段を含む。
この構成によれば、垂直方向の台形歪みを補正できる。
上記第3及び第4の観点による入力システムにおいて、前記撮像手段は、前記被写体を俯瞰する位置から撮像する。
この構成によれば、プレイヤは、床面上で被写体を動かし、カーソルを操作できる。例えば、プレイヤは、被写体を足に装着して動かすことができる。この場合、足を使ったゲームや足を使ったエクササイズ等に応用可能である。
上記第1〜第4の観点による入力システムにおいて、前記被写体に対して、間欠的に光を照射する発光手段をさらに備え、前記被写体は、受けた光を再帰反射する再帰反射部材を含み、前記解析手段は、前記発光手段からの光の照射時の撮像画像と非照射時の撮像画像との差分画像に基づいて、前記被写体の位置を求める。
この構成によれば、再帰反射部材からの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射部材のみを検出できる。
上記第1〜第4の観点による入力システムにおいて、前記制御手段は、所定画像を前記ビデオ映像上に配置する配置手段と、前記カーソルが前記所定画像に接触又は重なったか否かを判定する判定手段と、を含む。
この構成によれば、所定画像を、コマンドを発行するためのアイコンとして使用したり、ビデオゲーム中の様々なアイテム等として使用できる。
この入力システムにおいて、前記判定手段は、前記カーソルが前記所定画像に少なくとも所定時間継続して重なったか否かを判定する。
この構成によれば、接触等した時に直ちに入力を確定せずに、接触等が所定時間継続して初めて入力を確定でき、誤入力を防止できる。
上記入力システムにおいて、前記配置手段は、前記所定画像を移動し、前記判定手段は、前記カーソルが、所定条件を満足するように、移動する前記所定画像と接触又は重なったか否かを判定する。
この構成によれば、プレイヤは単にカーソルが所定画像に接触等するように被写体を操作するだけでは足らず、所定条件を満足するように被写体を操作しなければならない。このため、ゲーム性や難易度を向上できる。
本発明の第5の観点による入力方法は、ビデオ映像を生成するステップと、前記ビデオ映像を制御するステップと、を含み、制御する前記ステップは、プレイヤが実空間に配置されたスクリーン上で操作する実空間中の被写体を撮像する撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析ステップと、前記解析ステップが求めた前記被写体の位置に基づいて、カーソルを前記被写体に連動させるカーソル制御ステップと、を含み、前記カーソル制御ステップは、実空間中の前記スクリーン上において、実空間中の前記被写体の位置と前記スクリーンに投影された前記ビデオ映像中の前記カーソルの位置とが一致するように、前記カーソルの位置を補正する補正ステップを含む。
この構成によれば、上記第1の観点による入力システムと同様の効果を奏する。
本発明の第6の観点による入力方法は、カーソルを含むビデオ映像を生成するステップと、前記ビデオ映像を制御するステップと、を含み、制御する前記ステップは、光軸が被撮影面に対して斜めになる様に配置され、前記被撮影面上の被写体を撮像する撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析ステップと、前記解析ステップが求めた前記被写体の位置に対して、台形補正を実行する台形補正ステップと、前記台形補正後の前記被写体の位置に基づいて、前記カーソルを前記被写体に連動させるカーソル制御ステップと、を含む。
この構成によれば、上記第3の観点による入力システムと同様の効果を奏する。
本発明の第7の観点によるコンピュータプログラムは、上記第5の観点による入力方法をコンピュータに実行させる。
この構成によれば、上記第1の観点による入力システムと同様の効果を奏する。
本発明の第8の観点によるコンピュータプログラムは、上記第6の観点による入力方法をコンピュータに実行させる。
この構成によれば、上記第3の観点による入力システムと同様の効果を奏する。
本発明の第9の観点による記録媒体は、上記第7の観点によるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
この構成によれば、上記第1の観点による入力システムと同様の効果を奏する。
本発明の第10の観点による記録媒体は、上記第8の観点によるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
この構成によれば、上記第3の観点による入力システムと同様の効果を奏する。
上記第5の観点による入力方法、第7の観点によるコンピュータプログラム及び第9の観点による記録媒体において、前記カーソルは、前記プレイヤが視認可能に表示される。一方、前記カーソルは、仮想のものであり、表示しないこともできる。
本明細書及び請求の範囲において、記録媒体には、例えば、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、CD(CD−ROM、Video−CDを含む)、DVD(DVD−Video、DVD−ROM、DVD−RAMを含む)、ROMカートリッジ、バッテリバックアップ付きのRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等を含む。
本発明の新規な特徴は、特許請求の範囲に記載されている。しかしながら、発明そのもの及びその他の特徴と効果は、添付図面を参照して具体的な実施例の詳細な説明を読むことにより容易に理解される。
本発明の実施の形態1によるエンターテインメントシステムの全体構成を示す図である。 図1のエンターテインメントシステムの概略図である。 図1のエンターテインメントシステムの電気的構成を示す図である。 図1のカメラユニット5の撮影範囲の説明図である。 図1の情報処理装置3が生成するビデオ映像と、カメラユニット5により得られる画像と、図4の撮影有効領域31と、の関係を説明するための図である。 キャリブレーションの必要性の説明図である。 キャリブレーションの必要性の説明図である。 キャリブレーションの必要性の説明図である。 キャリブレーション画面の例示図である。 台形補正で使用する基準倍率の導出方法の説明図である。 図10で求めた基準倍率の補正方法の説明図である。 第1象限q1のx座標の基準倍率PRUXを補正するための基準傾きSRUXの導出方法の説明図である。 第1象限q1のy座標の基準倍率PRUYを補正するための基準傾きSRUYの導出方法の説明図である。 基準傾きSRUXを用いた第1象限q1のx座標の基準倍率PRUXの補正方法の説明図である。 基準傾きSRUYを用いた第1象限q1のy座標の基準倍率PRUYの補正方法の説明図である。 図1のスクリーン21に投影されたモード選択画面61の例示図である。 図1のスクリーン21に投影されたゲーム選択画面71の例示図である。 図1のスクリーン21に投影されたモグラ叩き画面81の例示図である。 図1のスクリーン21に投影されたフリーキック画面101の例示図である。 図1のスクリーン21に投影された片脚ジャンプ画面111の例示図である。 図1のスクリーン21に投影された両脚跳び画面121の例示図である。 図1のスクリーン21に投影された片脚立ち画面の例示図である。 図3のプロセッサ23による前処理の流れを示すフローチャートである。 図23のステップS3の撮影処理の流れを示すフローチャートである。 図23のステップS5の座標算出処理の流れを示すフローチャートである。 図3のプロセッサ23による全体処理の流れを示すフローチャートである。 図26のステップS105の台形補正処理の流れを示すフローチャートである。 図26のステップS109のゲーム処理の第1の例の流れを示すフローチャートである。 図26のステップS109のゲーム処理の第2の例の流れを示すフローチャートである。 図26のステップS109のゲーム処理の第3の例の流れを示すフローチャートである。 図26のステップS109のゲーム処理の第4の例の流れを示すフローチャートである。 図26のステップS109のゲーム処理の第5の例の流れを示すフローチャートである。 本発明の実施の形態2によるエンターテインメントシステムの電気的構成を示す図である。 水平座標に対する台形補正の説明図である。 垂直座標に対する台形補正の説明図である。 実施の形態2における図26のステップS103の座標算出処理の流れを示すフローチャートである。 実施の形態2における図26のステップS105の台形補正処理の流れを示すフローチャートである。
符号の説明
1…エンターテインメント装置、3…情報処理装置、5…カメラユニット、11…プロジェクタ、21…スクリーン、17L,17R…再帰反射シート、7…赤外発光ダイオード、27…イメージセンサ、23…プロセッサ、25…外部メモリ、67L,67R…カーソル、63,65,73,75,77,91,103,113,123,155…オブジェクト(所定画像)、200…テレビジョンモニタ。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
実施の形態では、エンターテインメントシステムについて説明するが、このエンターテインメントシステムが入力システムとして機能していることは、その説明の中で明らかになる。
(実施の形態1)
図1は、本発明の実施の形態1によるエンターテインメントシステムの全体構成を示す図である。図1を参照して、このエンターテインメントシステムは、エンターテインメント装置1、スクリーン21、並びに、受けた光を再帰反射する再帰反射シート(再帰反射部材)17L及び17Rを備える。
ここで、再帰反射シート17L及び17Rを区別する必要がないときは、再帰反射シート17と表記する。
プレイヤは、左脚の甲に再帰反射シート17Lをゴムバンド19で装着し、右脚の甲に再帰反射シート17Rをゴムバンド19で装着する。エンターテインメント装置1の前方の床面(水平面)には、スクリーン(例えば、白色)が配置される。プレイヤ15は、このスクリーン21の上にのって、再帰反射シート17L及び17Rを装着した足を動かしてプレイする。
エンターテインメント装置1は、床面に直立して設置される筐体13を含む。この筐体13の中段付近には、支持部材10が、鉛直面と略平行に取り付けられる。支持部材10には、プロジェクタ11が取り付けられる。プロジェクタ11は、情報処理装置3が生成したビデオ映像をスクリーン21に投影する。プレイヤ15は、投影されたビデオ映像を見ながら、足を動かして、再帰反射シート17L及び17Rを所望の位置に移動する。
また、筐体13の上段には、支持部材4が、プレイヤ15の方に突き出るように取り付けられる。支持部材4の先端には、情報処理装置3が取り付けられる。この情報処理装置3は、カメラユニット5を含む。カメラユニット5は、スクリーン21並びに再帰反射シート17L及び17Rを俯瞰するように、情報処理装置3に取り付けられ、プレイヤ15が操作する再帰反射シート17L及び17Rを撮像する。カメラユニット5は、赤外光のみを透過する赤外線フィルタ9及びその周りに配置された4個の赤外発光ダイオード7を含む。赤外線フィルタ9の裏側には、後述のイメージセンサ27が配置される。
図2は、図1のエンターテインメントシステムの概略図である。図2を参照して、側面視において、カメラユニット5は、プロジェクタ11よりも、よりプレイヤ15の方へ突き出るように配置される。カメラユニット5は、スクリーン21の上方に配置され、スクリーン21並びに再帰反射シート17L及び17Rを前方斜め下方に見る。プロジェクタ11は、カメラユニット5の下段に配置される。
図3は、図1のエンターテインメントシステムの電気的構成を示す図である。図3を参照して、情報処理装置3は、プロセッサ23、外部メモリ25、イメージセンサ27、赤外発光ダイオード7及びスイッチ部22を含む。スイッチ部22は、図示しないが、決定キー、キャンセルキー及び方向キーを含む。なお、イメージセンサ27は、赤外発光ダイオード7及び赤外線フィルタ9と共に、カメラユニット5を構成する。
プロセッサ23には、外部メモリ25が接続される。外部メモリ25は、例えば、フラッシュメモリ、ROM、及び/又はRAM等により構成される。外部メモリ25は、プログラム領域、画像データ領域、および音声データ領域を含む。プログラム領域には、各種処理(後述のフローチャートの処理)をプロセッサ23に実行させる制御プログラムが格納される。画像データ領域には、ビデオ信号VDを生成するために必要な画像データが格納されている。音声データ領域には、ガイドや効果音等ための音声データが格納されている。プロセッサ23は、プログラム領域の制御プログラムを実行して、画像データ領域の画像データ及び音声データ領域の音声データを読み出し、必要な処理を施して、ビデオ信号(ビデオ映像)VD及びオーディオ信号AUを生成する。ビデオ信号VD及びオーディオ信号AUは、プロジェクタ11に与えられる。
プロセッサ23は、図示しないが、CPU(Central Processing Unit)、グラフィックスプロセサ、サウンドプロセサおよびDMAコントローラ等の各種機能ブロックを含むとともに、アナログ信号を取り込むときに用いられるA/Dコンバータ、赤外線信号やキー操作信号のような入力デジタル信号を受けかつ出力デジタル信号を外部機器に与える入出力制御回路、及び内部メモリ等を含む。
CPUは、外部メモリ25に格納された制御プログラムを実行する。A/Dコンバータからのデジタル信号および入出力制御回路からのデジタル信号はCPUに与えられ、CPUは、制御プログラムに従って、それらの信号に応じて必要な演算を実行する。グラフィックスプロセサは、外部メモリ25に格納された画像データに対して、CPUの演算結果によって必要になったグラフィック処理を実行して、ビデオ信号VDを生成する。サウンドプロセサは、外部メモリ25に格納された音声データに対して、CPUの演算結果によって必要になったサウンド処理を実行して、効果音等を表すオーディオ信号AUを生成する。内部メモリは、例えば、RAMにより構成され、ワーキング領域、カウンタ領域、レジスタ領域、テンポラリデータ領域、及び/又はフラグ領域等として利用される。
イメージセンサ27は、例えば、64画素×64画素のCMOSイメージセンサである。イメージセンサ27は、プロセッサ23からの制御を受けて動作する。具体的には、次の通りである。イメージセンサ27は、赤外発光ダイオード7を間欠的に駆動する。従って、赤外発光ダイオード7は、間欠的に赤外光を発光する。これにより、再帰反射シート17L及び17Rには、間欠的に赤外光が照射される。イメージセンサ27は、赤外光点灯時及び消灯時のそれぞれにおいて、再帰反射シート17L及び17Rを撮影する。そして、イメージセンサ27は、赤外光点灯時の画像信号と赤外光消灯時の画像信号との差分画像信号を生成して、プロセッサ23に出力する。差分画像信号を求めることで、再帰反射シート17L及び17Rからの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射シート17L及び17Rのみを検出できる。つまり、差分画像には、再帰反射シート17L及び17Rのみが写り込む。
プロセッサ23が生成するビデオ信号VDは、2個のカーソル67L及び67R(後述)を含む。この2個のカーソル67L及び67Rは、それぞれ、検出した再帰反射シート17L及び17Rに対応する。プロセッサ23は、2個のカーソル67L及び67Rを、それぞれ、再帰反射シート17L及び17Rに連動させる。
ここで、カーソル67L及び67Rを区別して説明する必要のないときは、カーソル67と表記する。
プロジェクタ11は、プロセッサ23から与えられたオーディオ信号AUに対応する音声をスピーカ(図示せず)から出力する。また、プロジェクタ11は、プロセッサ23から与えられたビデオ信号VDに基づくビデオ映像をスクリーン21に投影する。
図4は、図1のカメラユニット5の撮影範囲の説明図である。図4を参照して、実空間において、三次元直交座標系を想定し、水平線に沿ってY#軸を設定し、鉛直線に沿ってZ#軸を設定し、これらに垂直にX#軸を設定する。X#軸とY#軸により、水平面が形成されるとする。鉛直上方をZ#軸の正、スクリーン21からエンターテインメント装置1に向かう方向をY#軸の正、Y#軸の正方向を向いて、右方向をX#軸の正とする。また、撮影有効領域31の頂点a1を原点とする。
カメラユニット5のイメージセンサ27の光軸ベクトルVの水平成分VhはY#軸の負方向を向いており、鉛直成分VvはZ#軸の負方向を向いている。なぜなら、カメラユニット5は、スクリーン21及び再帰反射シート17L及び17Rを俯瞰するように設置されるからである。なお、光軸ベクトルVは、イメージセンサ27の光軸30に沿った単位ベクトルとする。
再帰反射シート17L及び17Rはカメラユニット5の被写体の一例である。また、スクリーン21は、ビデオ映像が投影されると同時に、カメラユニット5により撮影もされるので(差分画像には写らないが)、被撮影面と呼ぶこともできる。また、スクリーン21は専用のものを用いてもよいが、床面が平らで、投影されたビデオ映像の内容を容易に認識できるものであれば、床面そのものをスクリーンとして使用することもできる。この場合は、床面が被撮影面となる。
さて、側面視において、イメージセンサ27による撮影の有効範囲12は、光軸30を中心とした所定角度の範囲である。また、イメージセンサ27は、スクリーン21を斜めに俯瞰する。従って、平面視において、イメージセンサ27による撮影の有効領域31は、台形状になる。撮影有効領域31の4頂点には、それぞれ、符号a1,a2,a3及びa4を付する。
図5は、図1の情報処理装置3が生成するビデオ映像(矩形)と、カメラユニット5により得られる画像(矩形)と、図4の撮影有効領域31(台形)と、の対応関係を説明するための図である。図5を参照して、撮影有効領域31は、イメージセンサ27により得られた差分画像(以下、「カメラ画像」と呼ぶ。)33の所定の矩形領域(以下、「有効領域対応画像」と呼ぶ。)35に対応する。具体的には、撮影有効領域31の頂点a1〜a4は、それぞれ、有効領域対応画像35の頂点b1〜b4に対応する。従って、撮影有効領域31内の再帰反射シート17は、有効領域対応画像35内に写り込む。また、有効領域対応画像35は、プロセッサ23が生成するビデオ映像37に対応する。具体的には、有効領域対応画像35の頂点b1〜b4が、それぞれ、ビデオ映像37の頂点c1〜c4に対応する。従って、本実施の形態では、再帰反射シート17に連動するカーソル67をビデオ映像に含めるところ、当該カーソル67は、有効領域対応画像35に写り込んだ再帰反射シート17の像の位置に対応するビデオ映像37上の位置に配置される。なお、ビデオ映像37、有効領域対応画像35及び撮影有効領域31において、黒色の三角形が示す上辺c1−c2、上辺b1−b2及び下底a1−a2が互いに対応する。
さて、本実施の形態では、実空間中のスクリーン21上において、実空間中の再帰反射シート(被写体)17の位置と投影されたビデオ映像中のカーソル67の位置とが一致するように、カーソル67の位置を調整ないしは補正する必要、つまり、キャリブレーションをする必要がある。なお、キャリブレーションには台形補正が含まれる。以下、この点を具体的に説明する。
図6〜図8は、キャリブレーションの必要性の説明図である。図6を参照して、プロセッサ23が生成する矩形のビデオ映像37は、プロジェクタ11により、スクリーン21に投影される。スクリーン21に投影されたビデオ映像を投影ビデオ映像38と呼ぶ。投影ビデオ映像38については、プロジェクタ11により、台形補正済みであるとする。
ここで、図6では、反転等せずに、生成されたビデオ映像37をスクリーン21にそのまま投影するものとする。従って、ビデオ映像37の頂点c1〜c4は、それぞれ、投影ビデオ映像38の頂点f1〜f4に対応する。なお、図6では、ビデオ映像37、有効領域対応画像35、撮影有効領域31及び投影ビデオ映像38において、黒色の三角形が示す上辺c1−c2、上辺b1−b2、下底a1−a2及び下辺f1−f2が互いに対応する。
ビデオ映像37の四隅の画像D1〜D4は、それぞれ、投影ビデオ映像38の画像d1〜d4として投影される。なお、画像D1〜D4は、カメラ画像33に依存しない。このため、画像d1〜d4も、カメラ画像33に依存しない。
矩形の各頂点を形成する画像d1〜d4上に重ねて、それぞれ、再帰反射シートA1〜A4を配置する。しかし、台形歪みが発生しているため、有効領域対応画像35上では、再帰反射シートA1〜A4の像B1〜B4は、台形の各頂点を形成する。台形歪みが発生するのは、イメージセンサ27が、前方斜め下方に水平に配置されたスクリーン21並びに再帰反射シートA1〜A4を撮影するからである。なお、再帰反射シートA1〜A4は、それぞれ、像B1〜B4に対応する。
また、有効領域対応画像35に写り込んだ再帰反射シートA1〜A4の像B1〜B4にそれぞれ対応して、ビデオ映像37上に、画像C1〜C4が配置される。従って、ビデオ映像37の画像C1〜C4は、それぞれ、投影ビデオ映像38の画像e1〜e4として投影される。
ところで、プロセッサ23が生成したビデオ映像37をそのままスクリーン21に投影すると、ビデオ映像37の上辺c1−c2が、投影ビデオ映像38の下辺f1−f2に投影される。従って、図1及び図2のような位置関係で、プレイヤ15が、投影ビデオ映像38を見ると、上下が逆になってしまう。従って、図7に示すように、ビデオ映像37を上下逆(上下にミラー反転)にしてスクリーン21に投影する必要がある。なお、図7では、ビデオ映像37、有効領域対応画像35、撮影有効領域31及び投影ビデオ映像38において、黒色の三角形が示す上辺c1−c2、上辺b1−b2、下底a1−a2及び上辺f1−f2が互いに対応する。
投影ビデオ映像38をユーザインタフェースとして利用するためには、投影ビデオ映像38の画像e1〜e4は、それぞれ、再帰反射シートA1〜A4に投影される必要がある。なぜなら、プロセッサ23は、再帰反射シート17に連動するカーソル67を介して、再帰反射シート17の位置を認識し、再帰反射シート17が投影ビデオ映像上のどこに位置するかを知るからである。しかし、図7では、画像e1,e2,e3及びe4は、それぞれ、A4,A3,A2及びA1に対応している。
そこで、図8に示すように、有効領域対応画像35の像B1〜B4の位置を上下逆(上下にミラー反転)にした位置に対応したビデオ映像37上の位置に、画像C1〜C4を配置する。そして、この画像C1〜C4を含むビデオ映像37を上下逆にして(上下にミラー反転して)、スクリーン21に投影し、投影ビデオ映像38を得る。さらに、画像e1,e2,e3及びe4が、それぞれ、再帰反射シートA1,A2,A3及びA4、つまり、画像d4,d3,d2及びd1に重なるように補正する。そうすると、投影ビデオ映像38の画像e1〜e4は、それぞれ、再帰反射シートA1〜A4に投影され、投影ビデオ映像38をユーザインタフェースとして利用できる。
図9(a)及び図9(b)は、キャリブレーション画面(台形補正の際に使用するパラメータ(基準倍率及び基準傾き)を算出するための画面)の例示図である。図9(a)を参照して、プロセッサ23は、キャリブレーションの第1ステップのためのビデオ映像(第1ステップ映像)41を生成する。このビデオ映像41は、その中心に配置されたマーカ43を含む。図8のようにして、ビデオ映像41をスクリーン21に投影するので、ビデオ映像41にそのまま対応した映像が、投影ビデオ映像として投影される。従って、プレイヤ15は、ビデオ映像41のガイドに対応する投影ビデオ映像のガイドに従って、マーカ43に対応する投影ビデオ映像上のマーカm(図示せず)の上に再帰反射シートCN(図示せず)を置く。すると、プロセッサ23は、投影ビデオ映像上のマーカmの上に置かれた再帰反射シートCNのビデオ映像41上のxy座標(CX,CY)を求める。
次に、図9(b)に示すように、プロセッサ23は、キャリブレーションの第2ステップのためのビデオ映像(第2ステップ映像)45を生成する。このビデオ映像45は、その四隅に配置されたマーカD1〜D4を含む。マーカD1〜D4は、図8の画像D1〜D4に相当する。図8のようにして、ビデオ映像45をスクリーン21に投影するので、ビデオ映像45にそのまま対応した映像が、投影ビデオ映像として投影される。従って、プレイヤは、ビデオ映像45のガイドに対応する投影ビデオ映像のガイドに従って、マーカD1〜D4に対応する投影ビデオ映像上のマーカd1〜d4の上に、再帰反射シートLU,RU,RB及びLB(図示せず)を置く。マーカd1〜d4は、図8の画像d1〜d4に相当する。すると、プロセッサ23は、投影ビデオ映像上のマーカd1〜d4の上に置かれた再帰反射シートLU,RU,RB及びLBのビデオ映像45上のxy座標(LUX,LUY),(RUX,RUY),(RBX,RBY)及び(LBX,LBY)を求める。
図10は、台形補正で使用する基準倍率の導出方法の説明図である。図10を参照して、ビデオ映像では、その中心を原点として、水平軸をx軸、垂直軸をy軸とする。紙面右方向がx軸の正であり、紙面上方向がy軸の正である。
図9(a)で説明したマーカmの上に配置された再帰反射シートCNのビデオ映像上のxy座標を(CX,CY)とする。図9(b)で説明したマーカd1〜d4の上に配置された再帰反射シートLU,RU,RB及びLBのビデオ映像上のxy座標を、それぞれ、(LUX,LUY),(RUX,RUY),(RBX,RBY)及び(LBX,LBY)とする。再帰反射シートLU,RU,RB及びLBは、それぞれ、第4象限q4、第1象限q1、第2象限q2及び第3象限q3に位置する。
第1象限q1に位置する再帰反射シートRUに着目して、第1象限q1のxy座標の基準倍率を求める。x座標の基準倍率PRUX及びy座標の基準倍率PRUYは、次式で求めることができる。
PRUX=Rx/(RUX−CX) …(1)
PRUY=Ry/(RUY−CY) …(2)
ここで、定数Rxは、ビデオ映像上のマーカD2のx座標であり、定数Ryは、ビデオ映像上のマーカD2のy座標である。
同様に、第2象限q2に位置する再帰反射シートRBに着目して、第2象限q2のxy座標の基準倍率を求める。x座標の基準倍率PRBX及びy座標の基準倍率PRBYは、次式で求めることができる。
PRBX=Rx/(RBX−CX) …(3)
PRBY=Ry/(CY−RBY) …(4)
同様に、第3象限q3に位置する再帰反射シートLBに着目して、第3象限q3のxy座標の基準倍率を求める。x座標の基準倍率PLBX及びy座標の基準倍率PLBYは、次式で求めることができる。
PLBX=Rx/(CX−LBX) …(5)
PLBY=Ry/(CY−LBY) …(6)
同様に、第4象限q4に位置する再帰反射シートLUに着目して、第4象限q4のxy座標の基準倍率を求める。x座標の基準倍率PLUX及びy座標の基準倍率PLUYは、次式で求めることができる。
PLUX=Rx/(CX−LUX) …(7)
PLUY=Ry/(LUY−CY) …(8)
第1象限q1にプレイヤ15が操作する再帰反射シート17が位置する場合は、そのビデオ映像上のx座標に基準倍率PRUXを乗じ、y座標に基準倍率PRUYを乗じることにより、台形補正を行うことができる。第2象限q2にプレイヤ15が操作する再帰反射シート17が位置する場合は、そのビデオ映像上のx座標に基準倍率PRBXを乗じ、y座標に基準倍率PRBYを乗じることにより、台形補正を行うことができる。第3象限q3にプレイヤ15が操作する再帰反射シート17が位置する場合は、そのビデオ映像上のx座標に基準倍率PLBXを乗じ、y座標に基準倍率PLBYを乗じることにより、台形補正を行うことができる。第4象限q4にプレイヤ15が操作する再帰反射シート17が位置する場合は、そのビデオ映像上のx座標に基準倍率PLUXを乗じ、y座標に基準倍率PLUYを乗じることにより、台形補正を行うことができる。
しかし、このように、再帰反射シート17が位置する象限に応じて一律に基準倍率で台形補正を施す場合、再帰反射シート17の位置によっては、不都合が発生する。
例えば、第1象限q1と第2象限q2とが接する付近では、再帰反射シート17がどちらの象限に位置したとしても、x座標の基準倍率は、本来ほぼ同じになるはずである。ところが、象限に応じて一律に基準倍率で台形補正を施すと、第1象限q1のx座標の基準倍率PRUXと第2象限q2のx座標の基準倍率PRBXとの差が大きい場合、第1象限q1と第2象限q2とが接する付近においても、同じようにその差が発生し、不連続になってしまう。
そこで、この場合、図11(a)に示すように、y軸に対するx座標の基準倍率の傾斜と第1象限q1に位置する再帰反射シート17のy座標とに基づいて、第1象限q1のx座標の基準倍率PRUXを補正する。例えば、第1象限q1に位置する再帰反射シート17のy座標がPYの場合、y軸に対するx座標の基準倍率の傾斜に基づき、基準倍率をCPRUXに補正する。
図10に戻って、例えば、第1象限q1と第4象限q4とが接する付近では、再帰反射シート17がどちらの象限に位置したとしても、y座標の基準倍率は、本来ほぼ同じになるはずである。ところが、象限に応じて一律に基準倍率で台形補正を施すと、第1象限q1のy座標の基準倍率PRUYと第4象限q4のy座標の基準倍率PLUYとの差が大きい場合、第1象限q1と第4象限q4とが接する付近においても、同じようにその差が発生し、不連続になってしまう。
そこで、この場合、図11(b)に示すように、x軸に対するy座標の基準倍率の傾斜と第1象限q1に位置する再帰反射シート17のx座標とに基づいて、第1象限q1のy座標の基準倍率PRUYを補正する。例えば、第1象限q1に位置する再帰反射シート17のx座標がPXの場合、x軸に対するy座標の基準倍率の傾斜に基づき、基準倍率をCPRUYに補正する。
なお、同様に、第2象限q2〜第4象限q4のxy座標の基準倍率も補正される。
以下、第1象限q1のxy座標の基準倍率の補正について詳細に説明する。
図12を参照して、第1象限q1のx座標の基準倍率PRUX(式(1))を補正するための基準傾きSRUXは次式により算出される。
SRUX=(|PRUX−PRBX|/2)/(RUY−CY) …(9)
図13を参照して、第1象限q1のy座標の基準倍率PRUY(式(2))を補正するための基準傾きSRUYは次式により算出される。
SRUY=(|PRUY−PLUY|/2)/(RUX−CX) …(10)
同様に、第2象限q2のx座標の基準倍率PRBX(式(3))を補正するための基準傾きSRBXは次式により算出される。
SRBX=(|PRUX−PRBX|/2)/(CY−RBY) …(11)
同様に、第2象限q2のy座標の基準倍率PRBY(式(4))を補正するための基準傾きSRBYは次式により算出される。
SRBY=(|PRBY−PLBY|/2)/(RBX−CX) …(12)
同様に、第3象限q3のx座標の基準倍率PLBX(式(5))を補正するための基準傾きSLBXは次式により算出される。
SLBX=(|PLUX−PLBX|/2)/(CY−LBY) …(13)
同様に、第3象限q3のy座標の基準倍率PLBY(式(6))を補正するための基準傾きSLBYは次式により算出される。
SLBY=(|PRBY−PLBY|/2)/(CX−LBX) …(14)
同様に、第4象限q4のx座標の基準倍率PLUX(式(7))を補正するための基準傾きSLUXは次式により算出される。
SLUX=(|PLUX−PLBX|/2)/(LUY−CY) …(15)
同様に、第4象限q4のy座標の基準倍率PLUY(式(8))を補正するための基準傾きSLUYは次式により算出される。
SLUY=(|PRUY−PLUY|/2)/(CX−LUX) …(16)
図14は、基準傾きSRUXを用いた第1象限q1のx座標の基準倍率PRUXの補正方法の説明図である。図14を参照して、第1象限q1に位置する再帰反射シート17のy座標がPYとする。この場合、x座標の基準倍率PRUXの補正値CPRUXは、次式により算出される。
[PRUX>PRBXの場合(図14の例)]
CPRUX=PRUX−{(RUY−PY)*SRUX} …(17)
[PRUX≦PRBXの場合]
CPRUX=PRUX+{(RUY−PY)*SRUX} …(18)
従って、第1象限q1に位置する再帰反射シート17のx座標PXの台形補正後の値PX#は次式のようになる。
PX#=PX*CPRUX …(19)
図15は、基準傾きSRUYを用いた第1象限q1のy座標の基準倍率PRUYの補正方法の説明図である。図15を参照して、第1象限q1に位置する再帰反射シート17のx座標がPXとする。この場合、y座標の基準倍率PRUYの補正値CPRUYは、次式により算出される。
[PRUY>PLUYの場合]
CPRUY=PRUY−{(RUX−PX)*SRUY} …(20)
[PRUY≦PLUYの場合(図15の例)]
CPRUY=PRUY+{(RUX−PX)*SRUY} …(21)
従って、第1象限q1に位置する再帰反射シート17のy座標PYの台形補正後の値PY#は次式のようになる。
PY#=PY*CPRUY …(22)
同様に、第2象限q2に位置する再帰反射シート17のy座標がPYとする。この場合、x座標の基準倍率PRBXの補正値CPRBXは、次式により算出される。
[PRBX>PRUXの場合]
CPRBX=PRBX−{(RBY−PY)*SRBX} …(23)
[PRBX≦PRUXの場合]
CPRBX=PRBX+{(RBY−PY)*SRBX} …(24)
従って、第2象限q2に位置する再帰反射シート17のx座標PXの台形補正後の値PX#は次式のようになる。
PX#=PX*CPRBX …(25)
同様に、第2象限q2に位置する再帰反射シート17のx座標がPXとする。この場合、y座標の基準倍率PRBYの補正値CPRBYは、次式により算出される。
[PRBY>PLBYの場合]
CPRBY=PRBY−{(RBX−PX)*SRBY} …(26)
[PRBY≦PLBYの場合]
CPRBY=PRBY+{(RBX−PX)*SRBY} …(27)
従って、第2象限q2に位置する再帰反射シート17のy座標PYの台形補正後の値PY#は次式のようになる。
PY#=PY*CPRBY …(28)
同様に、第3象限q3に位置する再帰反射シート17のy座標がPYとする。この場合、x座標の基準倍率PLBXの補正値CPLBXは、次式により算出される。
[PLBX>PLUXの場合]
CPLBX=PLBX−{(LBY−PY)*SLBX} …(29)
[PLBX≦PLUXの場合]
CPLBX=PLBX+{(LBY−PY)*SLBX} …(30)
従って、第3象限q3に位置する再帰反射シート17のx座標PXの台形補正後の値PX#は次式のようになる。
PX#=PX*CPLBX …(31)
同様に、第3象限q3に位置する再帰反射シート17のx座標がPXとする。この場合、y座標の基準倍率PLBYの補正値CPLBYは、次式により算出される。
[PLBY>PRBYの場合]
CPLBY=PLBY−{(LBX−PX)*SLBY} …(32)
[PLBY≦PRBYの場合]
CPLBY=PLBY+{(LBX−PX)*SLBY} …(33)
従って、第3象限q3に位置する再帰反射シート17のy座標PYの台形補正後の値PY#は次式のようになる。
PY#=PY*CPLBY …(34)
同様に、第4象限q4に位置する再帰反射シート17のy座標がPYとする。この場合、x座標の基準倍率PLUXの補正値CPLUXは、次式により算出される。
[PLUX>PLBXの場合]
CPLUX=PLUX−{(LUY−PY)*SLUX} …(35)
[PLUX≦PLBXの場合]
CPLUX=PLUX+{(LUY−PY)*SLUX} …(36)
従って、第4象限q4に位置する再帰反射シート17のx座標PXの台形補正後の値PX#は次式のようになる。
PX#=PX*CPLUX …(37)
同様に、第4象限q4に位置する再帰反射シート17のx座標がPXとする。この場合、y座標の基準倍率PLUYの補正値CPLUYは、次式により算出される。
[PLUY>PRUYの場合]
CPLUY=PLUY−{(LUX−PX)*SLUY} …(38)
[PLUY≦PRUYの場合]
CPLUY=PLUY+{(LUX−PX)*SLUY} …(39)
従って、第4象限q4に位置する再帰反射シート17のy座標PYの台形補正後の値PY#は次式のようになる。
PY#=PY*CPLUY …(40)
図16は、図1のスクリーン21に投影されたモード選択画面61の例示図である。図16を参照して、モード選択画面61は、モード選択のためのアイコン65及び63、並びに、カーソル67L及び67Rを含む。
カーソル67Lは、再帰反射シート17Lに連動し、カーソル67Rは、再帰反射シート17Rに連動する。この点、後述の図17〜図22でも同じである。
プレイヤ15が再帰反射シート17L及び17Rにより操作するカーソル67L及び67Rの双方が、アイコン65及び63のいずれかに重なったら、3秒からのカウントダウン表示が開始され、3秒が経過したら入力が有効になり、カーソル67L及び67Rの双方が重なったアイコン63又は65に対応するモードに入る。つまり、カーソル67L及び67Rの双方が、1つのアイコンに3秒以上重なった場合に、そのアイコンに対する入力が有効になる。このように、一定時間継続して重なることを条件としたのは、誤入力を防止するためである。つまり、カーソルがアイコンに重複した時に直ちに入力を確定せずに、重複が一定時間継続して初めて入力を確定して、誤入力を防止する。なお、アイコン63は、トレーニングモードに入るためのものであり、アイコン65は、ゲームモードに入るためのものである。
ここで、カーソル67L及び67Rの位置は、それぞれ、再帰反射シート17L及び17Rの位置と一致又は略一致する。従って、プレイヤ15は、再帰反射シートを装着した足を投影ビデオ映像上の所望の位置に運ぶことにより、対応するカーソルを投影ビデオ映像上の当該所望の位置に移動できる。この点、後述の図17〜図22でも同じである。
図17は、図1のスクリーン21に投影されたゲーム選択画面71の例示図である。図17を参照して、ゲーム選択画面71は、ゲーム選択のためのアイコン73及び75、並びに、カーソル67L及び67Rを含む。プレイヤ15が再帰反射シート17L及び17Rにより操作するカーソル67L及び67Rの双方が、アイコン73及び75のいずれかに重なったら、3秒からのカウントダウン表示が開始され、3秒が経過したら入力が有効になり、カーソル67L及び67Rの双方が重なったアイコン73又は75に対応するゲームが開始される。つまり、カーソル67L及び67Rの双方が、1つのアイコンに3秒以上重なった場合に(誤入力防止)、そのアイコンに対する入力が有効になる。なお、アイコン73は、モグラ叩きゲームに入るためのものであり、アイコン75は、フリーキックゲームに入るためのものである。
また、カーソル67L及び67Rの双方が、アイコン77に重なったら、3秒からのカウントダウン表示が開始され、3秒が経過したら入力が有効になり(誤入力防止)、前画面(モード選択画面61)に戻る。
図18は、図1のスクリーン21に投影されたモグラ叩き画面81の例示図である。図18を参照して、モグラ叩き画面81は、4つの穴画像83、経過時間表示部93、得点表示部95、並びに、カーソル67L及び67Rを含む。
モグラ画像91が、4つの穴画像83からランダムに出現する。プレイヤ15は、再帰反射シート17L又は17Rを操作して、モグラ画像91が出現したタイミングで、カーソル67L又は67Rをモグラ画像91に重ねることを試みる。タイミングよくカーソル67L又は67Rをモグラ画像91に重ねることができたら、得点表示部95の得点が1点アップする。経過時間表示部93は、30秒からのカウントダウン結果を表示し、結果が0秒になったらゲームは終了する。
プレイヤ15は、モグラ画像91を再帰反射シート17L又は17Rを装着した足でタイミング良く踏み込むことにより、対応するカーソル67L又は67Rをモグラ画像91に重ねることができる。なぜなら、スクリーン21上において、再帰反射シートの位置とカーソルの位置とは、一致又は略一致しているからである。
なお、穴画像83は、水平一列に表示したが、水平に複数列表示することもできる。列が多いほど難易度が高くなる。また、穴画像83の数は任意の数とすることができる。また、複数の穴画像83から同時に複数のモグラ画像91を出現させることができる。同時に出現するモグラ画像91の数が多いほど難易度が高くなる。また、モグラ画像91の出現間隔を調整することにより、難易度を調整できる。
図19は、図1のスクリーン21に投影されたフリーキック画面101の例示図である。図19を参照して、フリーキック画面101は、ボール画像103、経過時間表示部93、得点表示部95、並びに、カーソル67L及び67Rを含む。
ボール画像103は、画面上端から下端に向かって鉛直にかつ一定速度で下降する。画面上端のどの位置からボール画像103を出現させるかはランダムに決定される。ボール画像103は、次々に出現し下降してくるので、プレイヤは、再帰反射シート17L又は17Rを操作して、下降してくるボール画像103にカーソル67L又は67Rを移動させる。この場合、カーソルの速度が一定値以上で、ボール画像103に接触した場合に、ボール画像103は、反対方向に打ち返され、得点表示部95の得点が1点アップする。一方、カーソルがボール画像103に接触した場合でも、カーソルの速度が一定値未満である場合は、ボール画像103は、打ち返されることなく、画面下端で消滅する。経過時間表示部93は、30秒からのカウントダウン結果を表示し、結果が0秒になったらゲームは終了する。
プレイヤ15は、再帰反射シート17L又は17Rを装着した足でボール画像103をタイミング良く蹴るような動作を行うことにより、対応するカーソル67L又は67Rをボール画像103に接触させることができる。なぜなら、スクリーン21上において、再帰反射シートの位置とカーソルの位置とは、一致又は略一致しているからである。
図20は、図1のスクリーン21に投影された片脚ジャンプ画面111の例示図である。この片脚ジャンプ画面111では、プレイヤ15に、連続して片脚跳びを行わせるものであり、前半15秒は、左脚でプレイし、後半15秒は、右脚でプレイする。
図20を参照して、片脚ジャンプ画面111は、左脚得点表示部115、右脚得点表示部119、経過時間表示部117、誘導画像113、並びに、カーソル67L及び67Rを含む。
プレイヤ15が、左脚でジャンプしてカーソル67Lが誘導画像113に重なると、左脚得点表示部115の得点が1点アップすると共に、誘導画像113が、別の位置に移動する。プレイヤ15は、移動後の誘導画像113に、カーソル67Lが重なるように左脚でジャンプする。すると、左脚得点表示部115の得点が1点アップすると共に、誘導画像113が、別の位置に移動する。このようなプレイを15秒繰り返す。なお、本実施の形態では、誘導画像113は、三角形の3頂点を反時計回りに移動する。
左脚でのプレイが15秒経過すると、右脚でのプレイを行うように指示するガイドが表示される。プレイヤ15が、右脚でジャンプしてカーソル67Rが誘導画像113に重なると、右脚得点表示部119の得点が1点アップすると共に、誘導画像113が、別の位置に移動する。プレイヤ15は、移動後の誘導画像113に、カーソル67Rが重なるように右脚でジャンプする。すると、右脚得点表示部119の得点が1点アップすると共に、誘導画像113が、別の位置に移動する。このようなプレイを15秒繰り返す。なお、本実施の形態では、誘導画像113は、三角形の3頂点を時計回りに移動する。
経過時間表示部117は、30秒からのカウントダウン結果を表示し、結果が0秒になったらゲームは終了する。なお、左脚でのプレイを指示する場合は、左足裏を表す誘導画像113が表示され、右脚でのプレイを指示する場合は、右足裏を表す誘導画像113が表示される。
プレイヤ15は、再帰反射シート17L又は17Rを装着した足で誘導画像113を踏み込むことにより、対応するカーソル67L又は67Rを誘導画像113に移動することができる。なぜなら、スクリーン21上において、再帰反射シートの位置とカーソルの位置とは、一致又は略一致しているからである。
図21は、図1のスクリーン21に投影された両脚跳び画面121の例示図である。図21を参照して、両脚跳び画面121は、経過時間表示部117、得点表示部127、鉛直に延びる三本のライン129、誘導画像123、並びに、カーソル67L及び67Rを含む。三本のライン129により、画面は4つの領域135に分割される。
両脚跳び画面121では、プレイヤ15に、両脚でのジャンプを行わせるものである。具体的には、プレイヤ15は、誘導画像123に従って、ライン129を両脚でジャンプして飛び越えることを試みる。
プレイヤ15が、両脚でジャンプしてカーソル67L及び67Rの双方が誘導画像123が位置する領域135に移動すると、得点表示部127の得点が1点アップすると共に、誘導画像123が、他の領域135に移動する。プレイヤ15は、移動後の誘導画像123が位置する領域135に、カーソル67L及び67Rの双方が移動するようにジャンプする。すると、得点表示部127の得点が1点アップすると共に、誘導画像123が、他の領域135に移動する。このようなプレイを30秒繰り返す。
経過時間表示部117は、30秒からのカウントダウン結果を表示し、結果が0秒になったらゲームは終了する。
プレイヤ15は、再帰反射シート17L及び17Rを装着した足で誘導画像123が位置する領域135にジャンプして移動することにより、対応するカーソル67L及び67Rを当該領域135に移動することができる。なぜなら、スクリーン21上において、再帰反射シートの位置とカーソルの位置とは、一致又は略一致しているからである。
図22は、図1のスクリーン21に投影された片脚立ち画面151の例示図である。片脚立ち画面151では、プレイヤ15に、開眼での左片脚立ち、開眼での右片脚立ち、閉眼での左片脚立ち及び閉眼での右片脚立ちを、それぞれ30秒間行わせるものである。
図22を参照して、片脚立ち画面151は、経過時間表示部117、足裏画像155、指示欄154、並びに、カーソル67L又は67Rを含む。
指示欄154は、開眼での左片脚立ち、開眼での右片脚立ち、閉眼での左片脚立ち及び閉眼での右片脚立ちのいずれかを文字及び目を表す画像により指示する。本実施の形態では、開眼での左片脚立ち、開眼での右片脚立ち、閉眼での左片脚立ち及び閉眼といった順番で、指示が行われる。各30秒間である。また、足裏画像155が、左足裏を表している場合は、左脚立ちを指示しており、右足裏を表している場合は、右脚立ちを指示している。
図22の例では、指示欄154は、開眼での右片脚立ちを指示している。この場合、プレイヤ15は、カーソル67Rが足裏画像155に重なるように、右脚で立つことを試みる。カーソル67Rが、足裏画像155に重なっている間は、OKカウンタがカウントアップされ、カーソル67Rが、足裏画像155に重なっていない間は、NGカウンタがカウントアップされる。経過時間表示部117の時間が30秒から0秒になったら、開眼での右片脚立ちは終了し、指示欄154は次の指示を表示する。
プレイヤ15は、再帰反射シート17L又は17Rを装着した足で足裏画像155の上にのり、片脚で立つことにより、対応するカーソル67L又は67Rを足裏画像155内に留めることができる。なぜなら、スクリーン21上において、再帰反射シートの位置とカーソルの位置とは、一致又は略一致しているからである。
なお、図16〜図20及び図22では、カーソルが所定画像(63,65,73,75,77,91,103,113,155)に重なることを要件としたが、接触した場合でも重なった場合と同じ扱いをすることもできる。
図23は、図3のプロセッサ23による前処理(台形補正のためのパラメータ(基準倍率及び基準傾き)を求めるための処理)の流れを示すフローチャートである。図23を参照して、ステップS1にて、プロセッサ23は、第1ステップ映像41を生成して、プロジェクタ11に与える(図9(a)参照)。すると、プロジェクタ11は、ステップS41にて、第1ステップ映像41を上下にミラー反転し、ステップS43にて、それをスクリーン21に投影する。
ステップS3にて、プロセッサ23は、マーカmの上に置かれた再帰反射シートCNの撮影処理を実行する(図9(a)の説明参照)。ステップS5にて、プロセッサ23は、再帰反射シートCNの第1ステップ映像41上のxy座標(CX,CY)を算出する。ステップS7にて、プロセッサ23は、プレイヤ15が決定キー(スイッチ部22)を押下したか否かを判断し、押下した場合ステップS9に進み、それ以外はステップS1に戻る。ステップS9にて、プロセッサ23は、算出した座標(CX,CY)を外部メモリ25に格納する。
ステップS11にて、プロセッサ23は、第2ステップ映像45を生成する(図9(b)参照)。すると、プロジェクタ11は、ステップS45にて、第2ステップ映像45を上下にミラー反転し、ステップS47にて、それをスクリーン21に投影する。
ステップS13にて、プロセッサ23は、マーカd1〜d4の上に置かれた再帰反射シートLU,RU,RB及びLBの撮影処理を実行する(図9(b)の説明参照)。ステップS15にて、プロセッサ23は、再帰反射シートLU,RU,RB及びLBの第2ステップ映像45上のxy座標(LUX,LUY),(RUX,RUY),(RBX,RBY)及び(LBX,LBY)を算出する。ステップS17にて、プロセッサ23は、プレイヤ15が決定キー(スイッチ部22)を押下したか否かを判断し、押下した場合ステップS19に進み、それ以外はステップS11に戻る。ステップS19にて、プロセッサ23は、算出した座標(LUX,LUY),(RUX,RUY),(RBX,RBY)及び(LBX,LBY)を外部メモリ25に格納する。
ステップS21にて、プロセッサ23は、ステップS9及びS19で格納した座標、並びに、式(1)〜式(8)を用いて、基準倍率PRUX,PRUY,PLUX,PLUY,PRBX,PRBY,PLBX及びPLBYを算出する。ステップS23にて、プロセッサ23は、算出した基準倍率を外部メモリ25に格納する。
ステップS25にて、プロセッサ23は、ステップS9及びS19で格納した座標、ステップS23で格納した基準倍率、並びに、式(9)〜式(16)に基づいて、基準傾きSRUX,SRUY,SLUX,SLUY,SRBX,SRBY,SLBX及びSLBYを算出する。ステップS27にて、プロセッサ23は、算出した基準傾きを外部メモリ25に格納する。
ステップS29にて、プロセッサ23は、前処理が完了したことをプレイヤ15に示す前処理完了映像を生成し、プロジェクタ11に与える。すると、プロジェクタ11は、ステップS49にて、前処理完了映像を上下にミラー反転し、ステップS51にて、それをスクリーン21に投影する。
図24は、図23のステップS3の撮影処理の流れを示すフローチャートである。図24を参照して、ステップS61において、プロセッサ23は、イメージセンサ27に赤外発光ダイオード7を点灯させる。ステップS63にて、プロセッサ23は、イメージセンサ27に赤外光点灯時の撮影を実行させる。ステップS65にて、プロセッサ23は、イメージセンサ27に赤外発光ダイオード7を消灯させる。ステップS67にて、プロセッサ23は、イメージセンサ27に赤外光消灯時の撮影を実行させる。ステップS69にて、プロセッサ23は、イメージセンサ27に、赤外光点灯時の画像と赤外光消灯時の画像との差分画像(カメラ画像)を生成及び出力させる。以上のようにして、プロセッサ23の制御に応答して、イメージセンサ27は、赤外光の点灯時及び消灯時の撮影、つまり、ストロボ撮影を実行する。また、以上の制御により、赤外発光ダイオード7は、ストロボスコープとして機能する。
なお、図23のステップS13の撮影処理は、図24の撮影処理と同じであり、説明を省略する。
図25は、図23のステップS5の座標算出処理の流れを示すフローチャートである。図25を参照して、ステップS81にて、プロセッサ23は、イメージセンサ27から受け取ったカメラ画像(差分画像)から再帰反射シートCNの像を抽出する。ステップS83にて、プロセッサ23は、再帰反射シートCNの像に基づいて、再帰反射シートCNのカメラ画像上のXY座標を決定する。ステップS85にて、プロセッサ23は、再帰反射シートCNのカメラ画像上のXY座標を、スクリーン座標系のxy座標に変換する。スクリーン座標系は、プロセッサ23が生成するビデオ映像が配置される座標系である。ステップS87にて、プロセッサ23は、ステップS85で求めたxy座標を上下にミラー反転して、xy座標(CX,CY)を得る。この処理を行う理由は、図8で説明した通りである。ちなみに、ステップS83で求めたXY座標を上下にミラー反転し、得られた座標を、ステップS85に与えてもよい。この場合、ステップS85の出力が、xy座標(CX,CY)であり、ステップS87はない。
なお、図23のステップS15の座標算出処理は、図25の座標算出処理と同様である。ただし、ステップS15の座標算出処理においては、図25の説明において、再帰反射シートCNを再帰反射シートLU,RU,RB及びLBに読み替え、xy座標(CX,CY)をxy座標(LUX,LUY),(RUX,RUY),(RBX,RBY)及び(LBX,LBY)と読み替える。
図26は、図23の前処理の完了後に実行される、図3のプロセッサ23による全体処理の流れを示すフローチャートである。図26を参照して、ステップS101にて、プロセッサ23は、撮影処理を実行する。この処理は、図24の処理と同じであり、説明を省略する。ステップS103にて、プロセッサ23は、再帰反射シート17L及び17Rのビデオ映像上のxy座標(PX,PY)及び(PX,PY)を算出する。この処理は、図25の処理と同様である。ただし、ステップS103の座標算出処理においては、図25の説明において、再帰反射シートCNを再帰反射シート17L及び17Rに読み替え、xy座標(CX,CY)をxy座標(PX,PY)及び(PX,PY)と読み替える。
ステップS105にて、プロセッサ23は、式(17)〜式(40)に基づいて、ステップS103で求めた座標(PX,PY)及び(PX,PY)に対して台形補正を実行し、台形補正後の座標(PX#,PY#)及び(PX#,PY#)を得る。
ステップS107にて、プロセッサ23は、台形補正後の座標(PX#,PY#)及び(PX#,PY#)を、それぞれ、カーソル67L及び67Rの座標に設定する。従って、カーソル67L及び67Rの座標と台形補正後のビデオ映像上の再帰反射シート17L及び17Rの座標とは同義である。
ステップS109にて、プロセッサ23は、ゲーム処理を実行する(例えば、図16〜図22の各種画面の制御)。ステップS111にて、プロセッサ23は、ステップS109の処理結果に応じたビデオ映像(例えば、図16〜図22の各種画面)を生成して、プロジェクタ11に与え、ステップS101に戻る。プロジェクタ11は、プロセッサ23から受け取ったビデオ映像を上下にミラー反転して、スクリーン21に投影する。
なお、PX及びPXを区別して説明する必要がない場合は、PXと表記し、PY及びPYを区別して説明する必要がない場合は、PYと表記し、PX#及びPX#を区別して説明する必要がない場合は、PX#と表記し、PY#及びPY#を区別して説明する必要がない場合は、PY#と表記することがある。
図27は、図26のステップS105の台形補正処理の流れを示すフローチャートである。図27を参照して、ステップS121にて、プロセッサ23は、図26のステップS103で格納した再帰反射シート17のxy座標(PX,PY)と、図23のステップS19で格納したxy座標(LUX,LUY),(RUX,RUY),(RBX,RBY)及び(LBX,LBY)と、図23のステップS23で格納した基準倍率PRUX,PRUY,PLUX,PLUY,PRBX及びPRBYと、図23のステップS27で格納した基準傾きSRUX,SRUY,SLUX,SLUY,SRBX,SRBY,SLBX及びSLBYと、式(17),式(18),式(20),式(21),式(23),式(24),式(26),式(27),式(29),式(30),式(32),式(33),式(35),式(36),式(38)及び式(39)と、に基づいて、基準倍率の補正値(以下、「個別倍率」と呼ぶ。)CPRUX,CPRUY,CPLUX,CPLUY,CPRBX,CPRBY,CPLBX及びCPLBYを算出する。
ステップS123にて、プロセッサ23は、図26のステップS103で格納した再帰反射シート17のxy座標(PX,PY)と、ステップS121で算出した個別倍率と、式(19),式(22),式(25),式(28),式(31),式(34),式(37)及び式(40)と、に基づいて、台形補正後の再帰反射シート17のxy座標(PX#,PY#)を算出する。
ステップS125にて、プロセッサ23は、左右の再帰反射シート17L及び17Rについて、ステップS121及びS123の処理が完了したか否かを判断し、完了していない場合ステップS121に戻り、完了した場合リターンする。
図28は、図26のステップS109のゲーム処理の第1の例の流れを示すフローチャートである。例えば、図16及び図17の画面制御は、この図28の処理によって実行される。
図28を参照して、ステップS143にて、プロセッサ23は、カーソル67L及び67Rの双方がアイコン(図16及び図17の例では、アイコン63,65,73,75,77)に重複しているか否かを判断し、重複している場合ステップS145に進み、それ以外はステップS151に進む。ステップS145では、プロセッサ23は、タイマをカウントアップしてステップS147に進む。ステップS147にて、プロセッサ23は、タイマを参照して、カーソル67L及び67Rがアイコンに重なって所定時間(図16及び図17の例では、3秒)が経過したか否かを判断し、経過した場合ステップS149に進み、経過していない場合リターンする。ステップS149にて、プロセッサ23は、カーソル67L及び67Rが重なっているアイコンに応じて、他の選択画面又はゲーム開始画面を設定してリターンする。さて、ステップS143で「NO」が判断された後、ステップS151では、プロセッサ23は、タイマを0にリセットしてリターンする。
図29は、図26のステップS109のゲーム処理の第2の例の流れを示すフローチャートである。例えば、図18の画面制御は、この図29の処理によって実行される。
図29を参照して、ステップS161にて、プロセッサ23は、ターゲット(図18の例では、モグラ画像91)のアニメーションの設定タイミングか否かを判断し、設定タイミングの場合ステップS163に進み、それ以外はステップS165に進む。ステップS163では、プロセッサ23は、ターゲットのアニメーションを設定する(図18の例では、モグラ画像91が4つの穴画像83のうちの1つから出現するアニメーションの設定)。
ステップS165にて、プロセッサ23は、カーソル67L及び67Rのいずれかが、ターゲットに重複したか否かを判断し、重複した場合ステップS167に進み、それ以外はステップS171に進む。ステップS167では、プロセッサ23は、得点表示部95への加点処理を実行する。ステップS169では、プロセッサ23は、成功を表すエフェクト(画像及び音声)の設定を行う。
ステップS171にて、プロセッサ23は、経過時間表示部93のプレイ時間が0になったか否かを判断し、0の場合ステップS173に進み、それ以外はリターンする。ステップS171で「YES」が判断された後、ステップS173では、プロセッサ23は、ゲームを終了し、選択画面の設定を行い、リターンする。
図30は、図26のステップS109のゲーム処理の第3の例の流れを示すフローチャートである。例えば、図19の画面制御は、この図30の処理によって実行される。
図30を参照して、ステップS241にて、プロセッサ23は、ターゲット(図19の例では、ボール画像103)のアニメーションの設定タイミングか否かを判断し、設定タイミングの場合ステップS243に進み、それ以外はステップS245に進む。ステップS243では、プロセッサ23は、ターゲットのアニメーションを設定する(図19の例では、ボール画像103が画面上縁のいずれかから出現し下降するアニメーションの設定)。ステップS245にて、プロセッサ23は、カーソル67L及び67Rの速度のy成分vcL及びvcRを算出する。なお、図では、y成分vcL及びvcRを包括してvcと表記している。
ステップS247にて、プロセッサ23は、カーソル67L及び67Rのいずれかが、ターゲットに重複(接触を含む。)したか否かを判断し、重複した場合ステップS249に進み、それ以外はステップS255に進む。ステップS249にて、プロセッサ23は、ターゲットに接触したカーソルの速度のy成分が閾値Thvを超えているか否かを判断し、超えている場合ステップS251に進み、それ以外はステップS255に進む。
ステップS251では、プロセッサ23は、得点表示部95への加点処理を実行する。ステップS253では、プロセッサ23は、成功を表すエフェクト(画像及び音声)の設定を行う。
ステップS255にて、プロセッサ23は、経過時間表示部93のプレイ時間が0になったか否かを判断し、0の場合ステップS257に進み、それ以外はリターンする。ステップS255で「YES」が判断された後、ステップS257では、プロセッサ23は、ゲームを終了し、選択画面の設定を行い、リターンする。
図31は、図26のステップS109のゲーム処理の第4の例の流れを示すフローチャートである。例えば、図20及び図21の画面制御は、この図31の処理によって実行される。
図31を参照して、ステップS193にて、プロセッサ23は、カーソル(図20の場合、カーソル67L及び67Rのうち指示された足に対応するもの、図21の場合、カーソル67L及び67Rの双方)がターゲット(図20の例では、誘導画像113、図21の例では、誘導画像123が位置する領域135)に重複したか否かを判断し、重複した場合ステップS195に進み、それ以外はステップS199に進む。
ステップS195にて、プロセッサ23は、得点表示部(図20の例では、得点表示部115及び119のうち指示された足に対応するもの、図21の例では、得点表示部127)への加点処理を実行する。ステップS197では、プロセッサ23は、ターゲット(図20の例では、誘導画像113、図21の例では、誘導画像123)の設定(位置)を変更する。
ステップS199にて、プロセッサ23は、経過時間表示部117の1プレイ時間(図20の例では、15秒、図21の例では、30秒)が終了したか否かを判断し、終了した場合ステップS200に進み、それ以外はリターンする。ステップS200では、プロセッサ23は、全プレイ(図20の例では、左脚と右脚、図21の例では、1プレイのみ)が終了したか否かを判断し、終了した場合ステップS201に進み、それ以外はステップS203に進む。
ステップS200で「NO」が判断された後、ステップS203にて、プロセッサ23は、ターゲット(図20の例では、誘導画像113)の設定を変更し、リターンする。一方、ステップS200で「YES」が判断された後、ステップS201では、プロセッサ23は、ゲームを終了し、選択画面の設定を行い、リターンする。
図32は、図26のステップS109のゲーム処理の第5の例の流れを示すフローチャートである。例えば、図22の画面制御は、この図32の処理によって実行される。
図32を参照して、ステップS211にて、プロセッサ23は、カーソル67L及び67Rのいずれかがターゲット(図22の例では、足裏画像155)に重複しているか否かを判断し、重複している場合ステップS213に進み、それ以外はステップS215に進む。ステップS213では、プロセッサ23は、カーソル67L及び67Rのいずれかがターゲットに重複している時間を計数するOKタイマをカウントアップする。一方、ステップS215では、カーソル67L及び67Rがターゲットに重複していない時間を計数するNGタイマをカウントアップする。
ステップS217にて、プロセッサ23は、経過時間表示部117の1プレイ時間(図22の例では、30秒)が終了したか否かを判断し、終了した場合ステップS219に進み、それ以外はリターンする。ステップS219では、プロセッサ23は、全プレイ(図22の例では、開眼での左片脚立ち、開眼での右片脚立ち、閉眼での左片脚立ち及び閉眼での右片脚立ち)が終了したか否かを判断し、終了した場合ステップS223に進み、それ以外はステップS221に進む。
ステップS219で「NO」が判断された後、ステップS221では、プロセッサ23は、ターゲット(図22の例では、足裏画像155及び指示欄154)の設定を変更し、リターンする。一方、ステップS219で「YES」が判断された後、ステップS223では、プロセッサ23は、ゲームを終了し、選択画面の設定を行い、リターンする。
さて、以上のように、本実施の形態によれば、実空間中のスクリーン21上において、実空間中の再帰反射シート(被写体)17の位置と投影されたビデオ映像中のカーソル67の位置とが一致又は略一致するように、カーソル67の位置を調整する。このため、プレイヤ15は、スクリーン21に映し出されたビデオ映像の上で再帰反射シート17を動かし、その再帰反射シート17でビデオ映像中の所望の位置を直接指し示すことにより、プロセッサ23に対する入力を行うことができる。なぜなら、実空間のスクリーン21上において、実空間中の再帰反射シート17の位置と投影されたビデオ映像中のカーソル67の位置とは略一致するので、プロセッサ23は、カーソル67を介して、再帰反射シート17が置かれているビデオ映像中の位置を認識できるからである。
また、本実施の形態では、イメージセンサ27から見て再帰反射シート17が奥から手前へ移動した場合に、イメージセンサ27から見て投影されたカーソル67が奥から手前へ移動するようにカーソル67の位置を決定し、かつ、イメージセンサ27から見て再帰反射シート17が手前から奥へ移動した場合に、イメージセンサ27から見て投影されたカーソル67が手前から奥へ移動するようにカーソル67の位置を決定し、かつ、イメージセンサ27から見て再帰反射シート17が右から左へ移動した場合に、イメージセンサ27から見て投影されたカーソル67が右から左へ移動するようにカーソル67の位置を決定し、かつ、イメージセンサ27から見て再帰反射シート17が左から右へ移動した場合に、イメージセンサ27から見て投影されたカーソル67が左から右へ移動するようにカーソル67の位置を決定する。
このため、プレイヤ15の前方において、再帰反射シート17を俯瞰する位置から撮像する場合(以下、「俯瞰の場合」と呼ぶ。)においても、プレイヤ15が操作する再帰反射シート17の移動方向と、スクリーン21上のカーソル67の移動方向と、が感覚的に一致するので、入力のストレスを極力抑制しながら、プロセッサ23に対して、容易に入力を行うことができる。
ちなみに、プレイヤの前方において、再帰反射シートを仰視する位置から撮像する場合(以下、「仰視の場合」と呼ぶ。)、通常、イメージセンサから見て再帰反射シートが奥から手前へ移動した場合に、垂直に設置されたスクリーンに表示されるビデオ映像をプレイヤが見たときに、カーソルが上方へ移動するようにカーソルの位置を決定し、また、イメージセンサから見て再帰反射シートが手前から奥へ移動した場合に、垂直に設置されたスクリーンに表示されるビデオ映像をプレイヤが見たときに、カーソルが下方へ移動するようにカーソルの位置を決定する。
ところが、俯瞰の場合に、仰視の場合と同じアルゴリズムでカーソルを制御すると、イメージセンサから見て再帰反射シートが奥から手前へ移動した場合に、鉛直に設置されたスクリーンに表示されるビデオ映像をプレイヤが見たときに、カーソルが下方へ移動するようにカーソルの位置を決定し、また、イメージセンサから見て再帰反射シートが手前から奥へ移動した場合に、スクリーンに表示されるビデオ映像をプレイヤが見たときに、カーソルが上方へ移動するようにカーソルの位置を決定してしまうことになる。これでは、プレイヤが操作する再帰反射シートの移動方向と、スクリーン上のカーソルの移動方向と、が感覚的に一致しない。このため、入力にストレスが伴い、スムーズな入力を行うことができない。
このような結果を引き起こすのは、俯瞰の場合、イメージセンサの光軸ベクトルVの鉛直成分Vvが鉛直下方を向いており、イメージセンサの上下方向とプレイヤの上下方向とが一致しないからである(図4参照)。
また、多くの場合、イメージセンサの光軸ベクトルVが鉛直成分を持たないか(つまり、撮像面が鉛直面と平行な場合)、あるいは、光軸ベクトルVの鉛直成分Vvが鉛直上方を向いており、イメージセンサの上下方向とプレイヤの上下方向とが一致するように、イメージセンサが設置され、このような使用に慣れているからである。
ここで、イメージセンサの光軸ベクトルVの鉛直成分Vvの終点から始点を向く方向をイメージセンサの下方とし、始点から終点を向く方向をイメージセンサの上方とする(図4参照)。また、プレイヤの足(foot)から頭部を向く方向をプレイヤの上方とし、頭部から足を向く方向をプレイヤの下方とする。
さらに、本実施の形態によれば、カメラ画像に基づき得られた再帰反射シート17の位置に対して、台形補正を実行する。このため、光軸が被撮影面に対して斜めになる様に配置されるイメージセンサ27により、被撮影面上の再帰反射シート17を撮像し、そのカメラ画像に基づいて、再帰反射シート17の動きを解析し、それに連動するカーソル67を生成する場合においても、プレイヤが操作する再帰反射シート17の動きと、カーソル67の動きと、が一致又は略一致する。なぜなら、カーソル67の位置を決定する再帰反射シート17の位置に対して台形補正を施しているからである。その結果、プレイヤは、違和感を極力抑制した入力を行うことができる。
さらに、本実施の形態によれば、赤外発光ダイオード7を間欠的に駆動し、点灯時及び消灯時の差分画像(カメラ画像)を生成し、これに基づいて、再帰反射シート17の動きを解析している。このように、差分画像を求めることで、再帰反射シート17からの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射シート17のみを検出できる。
さらに、本実施の形態では、様々なオブジェクト(63,65,73,75,77,91,103,113,123,155)を投影ビデオ映像に表示するので、これらを、コマンドを発行するためのアイコンとして使用したり、ビデオゲーム中の様々なアイテム等として使用できる。
また、プロセッサ23は、カーソル67が、所定条件を満足するように、移動する所定画像(例えば、図19のボール画像103)と接触又は重なったか否かを判定する(例えば、図30のステップS249)。このため、プレイヤ15は単にカーソル67が所定画像に接触等するように再帰反射シート17を操作するだけでは足らず、所定条件を満足するように再帰反射シート17を操作しなければならない。これにより、ゲーム性や難易度を向上できる。なお、この所定条件は、図30のゲームでは、カーソル67が一定速度を超えていることであったが、ゲームの仕様に応じた条件を設定できる。
さらに、本実施の形態では、カメラユニット5は再帰反射シート17を俯瞰する位置から撮像する。このため、プレイヤ15は、床面に置かれたスクリーン21又は床面上で再帰反射シート17を動かし、カーソル67を操作できる。上記では、プレイヤ15は、再帰反射シート17を足に装着して動かしている。従って、足を使ったゲームや足を使ったエクササイズ等に応用可能である。
さらに、本実施の形態では、プレイヤ15にスクリーン21に投影されたマーカm及びd1〜d4上に再帰反射シートCN,LU,RU,RB及びLBを置かせるだけで、台形補正のためのパラメータを簡易に求めることができる。特に、投影ビデオ映像上の複数の位置に配置されるマーカm及びd1〜d4に再帰反射シートCN,LU,RU,RB及びLBを置いて、台形補正のためのパラメータを求めるので、台形補正の精度をより向上できる。
(実施の形態2)
実施の形態2では、台形補正の他の例を説明する。また、実施の形態1では、プロセッサ23が生成したビデオ映像をスクリーン21に投影した。これに対して、実施の形態2では、プロセッサ23が生成したビデオ映像をテレビジョンモニタ等の画面が垂直な表示装置に表示する例を挙げる。
図33は、本発明の実施の形態2によるエンターテインメントシステムの電気的構成を示す図である。図33を参照して、このエンターテインメントシステムは、情報処理装置3、受けた光を再帰反射する再帰反射シート(再帰反射部材)17L及び17R、並びに、テレビジョンモニタ200を備える。また、情報処理装置3は、実施の形態1と同じカメラユニット5を含む。
要するに、実施の形態2の電気的構成としては、図3のプロジェクタ11及びスクリーン21に代えて、テレビジョンモニタ200を設けたものである。従って、実施の形態2では、プロセッサ23が生成したビデオ信号VD及びオーディオ信号AUは、テレビジョンモニタ200に与えられる。
ここで、カメラ画像33の原点を左上角とし、水平軸をX軸、垂直軸をY軸とする。X軸の正は、水平右方向であり、Y軸の正は、垂直下方向である。
さて、実施の形態1と同様に、プレイヤ15は、左脚の甲に再帰反射シート17Lをゴムバンド19で装着し、右脚の甲に再帰反射シート17Rをゴムバンド19で装着する。そして、情報処理装置3は、プレイヤ15の前方であって(例えば、約0.7メートル)、床面から所定の高さになるように(例えば、0.4メートル)、かつ、カメラユニット5が所定の俯角(例えば、30度)で床面を撮影するように設置する。もちろん、高さを調整可能なようにしてもよい。また、テレビジョンモニタ200は、プレイヤ15の前方、かつ、情報処理装置3の上方であって、情報処理装置3の後方(プレイヤ15から見て)又は直上に配置する。従って、カメラユニット5は、再帰反射シート17L及び17Rを前方斜め下方に見る。
次に、X座標の台形補正について説明する。
図34(a)は、本実施の形態において、X座標の台形補正の必要性を説明するための図である。図34(a)を参照して、プレイヤ15が、撮影有効領域31において、再帰反射シート17を矢印226のように、つまり、Y#軸(図4参照)に沿って真っ直ぐ動かしたとする。しかし、カメラユニット5は、再帰反射シート17を俯瞰しているので、台形歪みが発生し、カメラ画像33の有効領域対応画像35上では、矢印222に示すように、外側に開くように、再帰反射シート17の像は移動する。矢印224のように再帰反射シート17が動かされた場合も同様に、有効領域対応画像35上では、矢印220に示すように、外側に開くように、再帰反射シート17の像は移動する。なぜなら、台形歪みは、カメラユニット5からの距離が大きくなるほど大きくなり、撮影有効領域31では、画素密度は、カメラユニット5からの距離が大きくなるほど低くなり、当該距離が小さくなるほど大きくなるからである。
従って、有効領域対応画像35に基づいて、カーソル67の移動を制御すると、プレイヤ15の感覚とカーソル67の移動との間に齟齬が発生する。台形歪みに起因する、この齟齬を解消するために、台形補正を実行する。
図34(b)は、カメラ画像33の有効領域対応画像35上の再帰反射シート17のX座標(水平座標)Xpに対する台形補正の第1の例の説明図である。図34(b)を参照して、第1の例では、撮影有効領域31の辺a1−a2を基準として、つまり、辺a1−a2を「1」として、X座標Xpに台形補正を施す。
再帰反射シート17の像のX座標Xpの補正係数(X補正係数)cx(Y)は、再帰反射シート17の像のY座標に応じて、曲線228を描く。つまり、X補正係数cx(Y)はYの関数である。X補正係数cx(Y)は、像のY座標が有効領域対応画像35の辺b1−b2(辺a1−a2に対応)のY座標Y0と同じ場合に、最大値1をとり、像のY座標が有効領域対応画像35の辺b4−b3(辺a4−a3に対応)のY座標Y1と同じ場合に、最小値D1(0<D1<1)をとる。なお、本実施の形態では、Y座標とX補正係数cx(Y)とを関連付けたテーブル(Xテーブル)が、外部メモリ25に予め用意される。
プロセッサ23は、次式により、台形補正後のX座標Xfを求める。ここで、有効領域対応画像35の中心座標を(Xc,Yc)とする。
Xf=Xc−(Xc−Xp)*cx(Y) …(41)
図34(c)は、カメラ画像33の有効領域対応画像35上の再帰反射シート17のX座標(水平座標)Xpに対する台形補正の第2の例の説明図である。図34(c)を参照して、第2の例では、撮影有効領域31の辺a4−a3を基準として、つまり、辺a4−a3を「1」として、X座標Xpに台形補正を施す。
再帰反射シート17の像のX座標Xpの補正係数(X補正係数)cx(Y)は、再帰反射シート17の像のY座標に応じて、曲線230を描く。つまり、X補正係数cx(Y)はYの関数である。X補正係数cx(Y)は、像のY座標が有効領域対応画像35の辺b1−b2(辺a1−a2に対応)のY座標Y0と同じ場合に、最大値D2(>1)をとり、像のY座標が有効領域対応画像35の辺b4−b3(辺a4−a3に対応)のY座標Y1と同じ場合に、最小値1をとる。なお、本実施の形態では、Y座標とX補正係数cx(Y)とを関連付けたテーブル(Xテーブル)が、外部メモリ25に予め用意される。
プロセッサ23は、式(41)により、台形補正後のX座標Xfを求める。
次に、Y座標の台形補正について説明する。
図35は、カメラ画像33の有効領域対応画像35上の再帰反射シート17のY座標(垂直座標)Ypに対する台形補正の説明図である。
まず、Y座標の台形補正の必要性を説明する。図35を参照して、台形歪みは、カメラユニット5からの距離が大きくなるほど大きくなり、撮影有効領域31では、画素密度は、カメラユニット5からの距離が大きくなほど低くなり、当該距離が小さくなるほど大きくなる。このため、撮影有効領域31上で、ある一定距離だけY#軸(図4参照)に平行に再帰反射シート17を動かした場合でも、有効領域対応画像35での再帰反射シート17の像の移動量は、カメラユニット5と再帰反射シート17との間の距離が大きいほど小さくなり、当該距離が小さいほど大きくなる。従って、プレイヤ15が、撮影有効領域31上で再帰反射シート17を一定速度で前方に移動する場合でも、再帰反射シート17がカメラユニット5に近づくほど、カーソル67の速度が速くなり、プレイヤ15の感覚とカーソル67の動きとの間に齟齬が発生する。そこで、この齟齬を解消すべく、Y座標の台形補正を行う。
次に、Y座標の台形補正の方法を説明する。図35を参照して、再帰反射シート17の像のY座標Ypの補正係数(Y補正係数)cy(Y)は、再帰反射シート17の像のY座標に応じて、曲線232を描く。つまり、Y補正係数cy(Y)はYの関数である。Y補正係数cy(Y)は、像のY座標が有効領域対応画像35の辺b1−b2(辺a1−a2に対応)のY座標Y0と同じ場合に、最大値1をとり、像のY座標が有効領域対応画像35の辺b4−b3(辺a4−a3に対応)のY座標Y1と同じ場合に、最小値D3(>0)をとる。なお、本実施の形態では、Y座標とY補正係数cy(Y)とを関連付けたテーブル(Yテーブル)が、外部メモリ25に予め用意される。
プロセッサ23は、次式により、台形補正後のY座標Yfを求める。
Yf=Yp*cy(Y) …(42)
なお、この例では、撮影有効領域31の辺a1−a2を基準として、つまり、辺a1−a2を「1」として、Y座標Ypに台形補正を施した。ただし、図34(c)と同様に、撮影有効領域31の辺a4−a3を基準として、つまり、辺a4−a3を「1」として、Y座標Ypに台形補正を施してもよい。この場合、例えば、Y補正係数cy(Y)は、曲線232と同様の曲線を描き、Y=Y0で最大値D4(>1)をとり、Y=Y1で最小値1をとる。
さて、次に、フローチャートを用いて、処理の流れを説明する。本実施の形態では、実施の形態1のような前処理(図23参照)は行わない。ただし、本実施の形態2におけるプロセッサ23の全体処理の流れは、図26と同じである。以下、異なる点を中心に説明する。
図36は、実施の形態2における図26のステップS103の座標算出処理の流れを示すフローチャートである。図36を参照して、ステップS301にて、プロセッサ23は、イメージセンサ27から受け取ったカメラ画像(差分画像)から再帰反射シート17の像を抽出する。ステップS803にて、プロセッサ23は、再帰反射シート17の像に基づいて、再帰反射シート17のカメラ画像上のXY座標を決定する。
図37は、実施の形態2における図26のステップS105の台形補正処理の流れを示すフローチャートである。図37を参照して、ステップS321にて、プロセッサ23は、再帰反射シート17の像のY座標をインデックスとして、Xテーブルから、対応するX補正係数cxを取得する。ステップS323にて、プロセッサ23は、式(41)により、補正後X座標Xfを算出する。
ステップS325にて、プロセッサ23は、再帰反射シート17の像のY座標をインデックスとして、Yテーブルから、対応するY補正係数cyを取得する。ステップS327にて、プロセッサ23は、式(42)により、補正後Y座標Yfを算出する。
ステップS329にて、プロセッサ23は、補正後X座標Xf及びY座標Yfをスクリーン座標系に変換し、xy座標を得る。そして、ステップS331にて、プロセッサ23は、スクリーン座標系のxy座標を上下にミラー反転する。
これにより、イメージセンサ27から見て再帰反射シート17が奥から手前へ移動した場合に、カーソル67が画面下から上へ移動するようにカーソル67の位置が決定され、かつ、イメージセンサ27から見て再帰反射シート17が手前から奥へ移動した場合に、カーソル67が画面上から下へ移動するようにカーソル67の位置が決定される。
このため、プレイヤ15の前方において、再帰反射シート17を俯瞰する位置から撮像する場合(以下、「俯瞰の場合」と呼ぶ。)においても、プレイヤ15が操作する再帰反射シート17の移動方向と、画面上のカーソル67の移動方向と、が感覚的に一致するので、入力のストレスを極力抑制しながら、プロセッサ23に対して、容易に入力を行うことができる。
ちなみに、プレイヤの前方において、再帰反射シートを仰視する位置から撮像する場合(以下、「仰視の場合」と呼ぶ。)、通常、イメージセンサから見て再帰反射シートが奥から手前へ移動した場合に、テレビジョンモニタに表示されるビデオ映像をプレイヤが見たときに、カーソルが上方へ移動するようにカーソルの位置を決定し、また、イメージセンサから見て再帰反射シートが手前から奥へ移動した場合に、テレビジョンモニタに表示されるビデオ映像をプレイヤが見たときに、カーソルが下方へ移動するようにカーソルの位置を決定する。
ところが、俯瞰の場合に、仰視の場合と同じアルゴリズムでカーソルを制御すると、イメージセンサから見て再帰反射シートが奥から手前へ移動した場合に、テレビジョンモニタに表示されるビデオ映像をプレイヤが見たときに、カーソルが下方へ移動するようにカーソルの位置を決定し、また、イメージセンサから見て再帰反射シートが手前から奥へ移動した場合に、テレビジョンモニタに表示されるビデオ映像をプレイヤが見たときに、カーソルが上方へ移動するようにカーソルの位置を決定してしまうことになる。これでは、プレイヤが操作する再帰反射シートの移動方向と、テレビジョンモニタ上のカーソルの移動方向と、が感覚的に一致しない。このため、入力にストレスが伴い、スムーズな入力を行うことができない。
このような結果を引き起こすのは、俯瞰の場合、イメージセンサの光軸ベクトルVの鉛直成分Vvが鉛直下方を向いており、イメージセンサの上下方向とプレイヤの上下方向とが一致しないからである(図4参照)。
また、多くの場合、イメージセンサの光軸ベクトルVが鉛直成分を持たないか(つまり、撮像面が鉛直面と平行な場合)、あるいは、光軸ベクトルVの鉛直成分Vvが鉛直上方を向いており、イメージセンサの上下方向とプレイヤの上下方向とが一致するように、イメージセンサが設置され、このような使用に慣れているからである。
ここで、イメージセンサの光軸ベクトルVの鉛直成分Vvの終点から始点を向く方向をイメージセンサの下方とし、始点から終点を向く方向をイメージセンサの上方とする(図4参照)。また、プレイヤの足(foot)から頭部を向く方向をプレイヤの上方とし、頭部から足を向く方向をプレイヤの下方とする。
なお、左右方向については、上記のような問題は生じないので、特別な処理をすることなく、イメージセンサ27から見て再帰反射シート17が右から左へ移動した場合に、カーソル67が画面右から左へ移動するようにカーソル67の位置が決定され、かつ、イメージセンサ27から見て再帰反射シート17が左から右へ移動した場合に、カーソル67が画面左から右へ移動するようにカーソル67の位置が決定される。
さて、図26を参照して、ステップS111にて、プロセッサ23は、ステップS109の処理結果に応じて、ビデオ映像(図16〜図22)を生成し、これをテレビジョンモニタ200に与える。応じて、テレビジョンモニタ200には、対応した映像が表示される。
さて、以上のように、本実施の形態によれば、カメラ画像に基づき得られた再帰反射シート17の位置に対して、台形補正を実行する。このため、光軸が被撮影面に対して斜めになる様に配置されるイメージセンサ27により、被撮影面上の再帰反射シート17を撮像し、そのカメラ画像に基づいて、再帰反射シート17の動きを解析し、それに連動するカーソル67を生成する場合においても、プレイヤが操作する再帰反射シート17の動きと、カーソル67の動きと、が一致又は略一致する。なぜなら、カーソル67の位置を決定する再帰反射シート17の位置に対して台形補正を施しているからである。その結果、プレイヤは、違和感を極力抑制した入力を行うことができる。
また、本実施の形態では、再帰反射シート17とカメラユニット5との間の距離に応じて、台形補正を施す。カメラ画像に写り込んだ再帰反射シート17の像の台形歪みは、再帰反射シート17とカメラユニット5との間の距離が大きくなるほど大きくなる。従って、当該距離に応じた適切な台形補正を実行できる。
具体的には、再帰反射シート17とカメラユニット5との間の距離と、カーソル67のX軸方向(水平方向)の移動距離と、が正の相関関係になるように、カーソル67のX座標(水平座標)を補正する。つまり、再帰反射シート17とカメラユニット5との間の距離が小さいほど、カーソル67のX軸方向の移動距離を小さくし、当該距離が大きいほど、カーソル67のX軸方向の移動距離を大きくする。このようにして、X軸方向の台形歪みを補正している。
また、再帰反射シート17とカメラユニット5との間の距離と、カーソル67のY軸方向(垂直方向)の移動距離と、が正の相関関係になるように、カーソル67のY座標(垂直座標)を補正する。つまり、再帰反射シート17とカメラユニット5との間の距離が小さいほど、カーソル67のY軸方向の移動距離を小さくし、当該距離が大きいほど、カーソル67のY軸方向の移動距離を大きくする。このようにして、Y軸方向の台形歪みを補正している。
さらに、本実施の形態によれば、赤外発光ダイオード7を間欠的に駆動し、点灯時及び消灯時の差分画像(カメラ画像)を生成し、これに基づいて、再帰反射シート17の動きを解析している。このように、差分画像を求めることで、再帰反射シート17からの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射シート17のみを検出できる。
さらに、本実施の形態では、様々なオブジェクト(63,65,73,75,77,91,103,113,123,155)をビデオ映像に表示するので、これらを、コマンドを発行するためのアイコンとして使用したり、ビデオゲーム中の様々なアイテム等として使用できる。
また、プロセッサ23は、カーソル67が、所定条件を満足するように、移動する所定画像(例えば、図19のボール画像103)と接触又は重なったか否かを判定する(例えば、図30のステップS249)。このため、プレイヤ15は単にカーソル67が所定画像に接触等するように再帰反射シート17を操作するだけでは足らず、所定条件を満足するように再帰反射シート17を操作しなければならない。これにより、ゲーム性や難易度を向上できる。なお、この所定条件は、図30のゲームでは、カーソル67が一定速度を超えていることであったが、ゲームの仕様に応じた条件を設定できる。
さらに、本実施の形態では、カメラユニット5は再帰反射シート17を俯瞰する位置から撮像する。このため、プレイヤ15は、床面上で再帰反射シート17を動かし、カーソル67を操作できる。上記では、プレイヤ15は、再帰反射シート17を足に装着して動かしている。従って、足を使ったゲームや足を使ったエクササイズ等に応用可能である。
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
(1)再帰反射シート17を装着する代わりに、赤外発光ダイオードのような自発光装置を装着することもできる。この場合は、赤外発光ダイオード7は不要である。また、再帰反射シート17を使用せずに、イメージセンサやCCDなどの撮像装置により、被写体(例えばプレイヤの足の甲)を撮影し、画像解析して、動きを検出することもできる。
(2)上記のストロボ撮影(赤外発光ダイオード7の点滅)及び差分処理は、好適な例を示しただけであって、本発明に必須の要素ではない。つまり、赤外発光ダイオード7は、点滅させなくてもよいし、また、赤外発光ダイオード7がなくてもよい。照射する光は赤外光に限られない。また、再帰反射シート17は本発明に必須の要素ではなく、撮像画像を解析して、身体の特定部位(例えば足の甲)が検知できればよい。撮像素子は、イメージセンサに限られず、CCDなどの他の撮像素子を使用できる。
(3)実施の形態1において、第1ステップのキャリブレーション(図9(a)参照)を省くこともできる。第1ステップのキャリブレーションは、補正の精度をより一層向上するために行われる。また、第2ステップのキャリブレーションでは、4つのマーカを使用した。ただし、4より大きい数のマーカを使用してもよい。また、3以下のマーカを使用することもできる。この場合、2つのマーカを使用する場合、y座標が同一のマーカ(例えば、D1とD2、又は、D4とD3)よりは、y座標が異なるマーカ(例えば、D1とD4、又は、D2とD3)を使用するほうが好ましい。なぜなら、台形補正を同時に行うことができるからである。1つのマーカを使用する場合、又は、y座標が同一の2つのマーカを使用する場合は、別途台形補正を行う必要がある。なぜなら、この場合、台形歪みを計測できず、補正しようがないからである。ちなみに、実施の形態1では、実空間中のスクリーン21上において、実空間中の再帰反射シート17の位置と投影されたビデオ映像中のカーソル67の位置とが一致又は略一致するように、カーソル67の位置を補正する処理に台形補正が含まれる。なお、処理量と精度を考慮すれば、上記のように4つのマーカを使用するのが好適である。
(4)実施の形態1の第2ステップのキャリブレーションにおいて、マーカD1〜D4を同時に表示した。ただし、時間を変えて、マーカD1〜D4を1つずつ表示することもできる。つまり、まず、マーカD1を表示し、マーカD1に基づくデータ取得後、マーカD2を表示し、マーカD2に基づくデータ取得後、マーカD3を表示し、マーカD3に基づくデータ取得後、マーカD4を表示し、マーカD4に基づくデータ取得する。
(5)実施の形態1では、プレイヤ15が視認可能なようにカーソル67を表示した。この場合は、プレイヤ15は、投影されたカーソル67と再帰反射シート17とが一致していることを確認でき、システムが正常であることを認識できる。ただし、カーソル67を仮想のものとし、カーソル67を表示しないこともできる。なぜなら、プレイヤ15がカーソル67を視認できなくても、プロセッサ23がカーソル67の位置を認識できれば、プロセッサ23は再帰反射シート17が投影ビデオ映像上のどこに置かれているか分かるからである。なお、この場合、カーソル67を非表示にしてもよいし、透明なカーソル67を表示してもよい。また、カーソル67を表示しなくても、プレイヤ15にとってはプレイに大きな支障はない。
(6)実施の形態2でも、実施の形態1と同様のキャリブレーション処理を行うこともできる。この場合、例えば、一方の足に再帰反射シートを装着したプレイヤに、カメラユニット5の前に立ってもらう。そして、その時の再帰反射シートを撮影し座標を求める。次に、プレイヤ15に、前方左上、前方右上、後方左下、及び後方右下の位置まで再帰反射シートを動かしてもらい、前方左上、前方右上、後方左下、及び後方右下のそれぞれの位置で、再帰反射シートを撮影し座標を求める。そして、これらの座標に基づいて、補正のためのパラメータを算出する。
(7)上記で挙げた台形補正の方法は一例であり、その他周知の台形補正を適用できる。また、実施の形態2では、X座標及びY座標の双方に対して台形補正を実行した。ただし、いずれか一方の座標に対して、台形補正を実行してもよい。発明者らの実験によれば、Y座標のみに対して台形補正を実行すれば、プレイに支障のない入力を行うことができる。
(8)台形補正は、カメラ画像上での座標に対して行ってもよいし、スクリーン座標系に変換後の座標に対して行ってもよい。また、図25のステップS87や図37のステップS331の処理は、スクリーン座標系に変換した後に実行される。ただし、これらの処理は、スクリーン座標系への変換前に行うこともできる。さらに、図25のステップS87や図37のステップS331の処理は、イメージセンサ27の仕様によっては不要である。なぜなら、イメージセンサ27が、上下にミラー反転したカメラ画像を出力する場合もあるからである。
(9)上記では、プロセッサ23は、4つのマーカD1〜D4が配置されたビデオ映像45とは異なるビデオ映像41上の中心に、1つのマーカ43を配置した。ただし、マーカD1〜D4とマーカ43とを同じビデオ映像上に配置することもできる。
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。

Claims (24)

  1. ビデオ映像を生成するビデオ映像生成手段と、
    前記ビデオ映像を制御する制御手段と、
    実空間に配置されたスクリーンに前記ビデオ映像を投影する投影手段と、
    プレイヤが前記スクリーン上で操作する実空間中の被写体を撮像する撮像手段と、を備え、
    前記制御手段は、
    前記撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析手段と、
    前記解析手段が求めた前記被写体の位置に基づいて、カーソルを前記被写体に連動させるカーソル制御手段と、を含み、
    前記カーソル制御手段は、
    実空間中の前記スクリーン上において、実空間中の前記被写体の位置と投影された前記ビデオ映像中の前記カーソルの位置とが一致するように、前記カーソルの位置を補正する補正手段を含む入力システム。
  2. ビデオ映像を生成するビデオ映像生成手段と、
    前記ビデオ映像を制御する制御手段と、を備え、
    前記制御手段は、
    プレイヤが実空間に配置されたスクリーン上で操作する実空間中の被写体を撮像する撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析手段と、
    前記解析手段が求めた前記被写体の位置に基づいて、カーソルを前記被写体に連動させるカーソル制御手段と、を含み、
    前記カーソル制御手段は、
    実空間中の前記スクリーン上において、実空間中の前記被写体の位置と前記スクリーンに投影された前記ビデオ映像中の前記カーソルの位置とが一致するように、前記カーソルの位置を補正する補正手段を含む入力システム。
  3. 前記補正の際に使用するパラメータを算出するためのビデオ映像を生成し、当該ビデオ映像上の少なくとも1つの所定位置に少なくとも1つの所定のマーカを配置するマーカ映像生成手段と、
    前記撮像手段により得られた撮像画像と、前記マーカ映像生成手段が生成した前記ビデオ映像と、を対応させ、前記撮像画像上の前記被写体の像の位置に対応する前記ビデオ映像上の位置である対応位置を算出する対応位置算出手段と、
    前記所定のマーカが配置された前記所定位置と、前記スクリーンに投影された前記所定のマーカ上に前記被写体を置いたときの前記対応位置と、に基づいて、前記補正手段が補正の際に使用するパラメータを算出するパラメータ算出手段と、をさらに備える請求項1又は2記載の入力システム。
  4. 前記マーカ映像生成手段は、前記ビデオ映像上の複数の前記所定位置に、複数の前記所定のマーカを配置し、あるいは、前記ビデオ映像上の異なる前記所定位置に、時間を変えて前記所定のマーカを配置する、請求項3記載の入力システム。
  5. 前記マーカ映像生成手段は、前記ビデオ映像上の四隅に、4つの前記所定のマーカを配置し、あるいは、前記ビデオ映像上の四隅に、時間を変えて前記所定のマーカを配置する、請求項4記載の入力システム。
  6. 前記マーカ映像生成手段は、前記4つの所定のマーカが配置された前記ビデオ映像又は異なるビデオ映像上の中心に、1つの前記所定のマーカを配置する、請求項5記載の入力システム。
  7. 前記補正手段による前記補正は台形補正を含む、請求項1から6のいずれかに記載の入力システム。
  8. 前記撮像手段は、前記プレイヤの前方に配置され、前記被写体を俯瞰する位置から撮像し、
    前記カーソル制御手段は、前記撮像手段から見て前記被写体が奥から手前へ移動した場合に、前記撮像手段から見て投影された前記カーソルが奥から手前へ移動するように前記カーソルの位置を決定し、かつ、前記撮像手段から見て前記被写体が手前から奥へ移動した場合に、前記撮像手段から見て投影された前記カーソルが手前から奥へ移動するように前記カーソルの位置を決定し、かつ、前記撮像手段から見て前記被写体が右から左へ移動した場合に、前記撮像手段から見て投影された前記カーソルが右から左へ移動するように前記カーソルの位置を決定し、かつ、前記撮像手段から見て前記被写体が左から右へ移動した場合に、前記撮像手段から見て投影された前記カーソルが左から右へ移動するように前記カーソルの位置を決定する、請求項1から7のいずれかに記載の入力システム。
  9. 前記カーソルは、前記プレイヤが視認可能に表示される、請求項1から8のいずれかに記載の入力システム。
  10. 前記カーソルは、仮想のものであり、表示されない、請求項1から8のいずれかに記載の入力システム。
  11. カーソルを含むビデオ映像を生成するビデオ映像生成手段と、
    前記ビデオ映像を制御する制御手段と、
    光軸が被撮影面に対して斜めになる様に配置され、前記被撮影面上の被写体を撮像する撮像手段と、を備え、
    前記制御手段は、
    前記撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析手段と、
    前記解析手段が求めた前記被写体の位置に対して、台形補正を実行する台形補正手段と、
    前記台形補正後の前記被写体の位置に基づいて、前記カーソルを前記被写体に連動させるカーソル制御手段と、を含む入力システム。
  12. カーソルを含むビデオ映像を生成するビデオ映像生成手段と、
    前記ビデオ映像を制御する制御手段と、を備え、
    前記制御手段は、
    光軸が被撮影面に対して斜めになる様に配置され、前記被撮影面上の被写体を撮像する撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析手段と、
    前記解析手段が求めた前記被写体の位置に対して、台形補正を実行する台形補正手段と、
    前記台形補正後の前記被写体の位置に基づいて、前記カーソルを前記被写体に連動させるカーソル制御手段と、を含む入力システム。
  13. 前記台形補正手段は、前記被写体と前記撮像手段との間の距離に応じて、台形補正を施す、請求項11又は12記載の入力システム。
  14. 前記台形補正手段は、
    前記被写体と前記撮像手段との間の距離と、前記カーソルの水平方向の移動距離と、が正の相関関係になるように、前記カーソルの水平座標を補正する水平補正手段を含む請求項13記載の入力システム。
  15. 前記台形補正手段は、
    前記被写体と前記撮像手段との間の距離と、前記カーソルの垂直方向の移動距離と、が正の相関関係になるように、前記カーソルの垂直座標を補正する垂直補正手段を含む請求項13又は14記載の入力システム。
  16. 前記撮像手段は、前記被写体を俯瞰する位置から撮像する、請求項11から15のいずれかに記載の入力システム。
  17. 前記被写体に対して、間欠的に光を照射する発光手段をさらに備え、
    前記被写体は、受けた光を再帰反射する再帰反射部材を含み、
    前記解析手段は、前記発光手段からの光の照射時の撮像画像と非照射時の撮像画像との差分画像に基づいて、前記被写体の位置を求める、請求項1から16のいずれかに記載の入力システム。
  18. 前記制御手段は、
    所定画像を前記ビデオ映像上に配置する配置手段と、
    前記カーソルが前記所定画像に接触又は重なったか否かを判定する判定手段と、を含む請求項1から17のいずれかに記載の入力システム。
  19. 前記判定手段は、前記カーソルが前記所定画像に少なくとも所定時間継続して重なったか否かを判定する、請求項18記載の入力システム。
  20. 前記配置手段は、前記所定画像を移動し、
    前記判定手段は、前記カーソルが、所定条件を満足するように、移動する前記所定画像と接触又は重なったか否かを判定する、請求項18記載の入力システム。
  21. ビデオ映像を生成するステップと、
    前記ビデオ映像を制御するステップと、を含み、
    制御する前記ステップは、
    プレイヤが実空間に配置されたスクリーン上で操作する実空間中の被写体を撮像する撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析ステップと、
    前記解析ステップが求めた前記被写体の位置に基づいて、カーソルを前記被写体に連動させるカーソル制御ステップと、を含み、
    前記カーソル制御ステップは、
    実空間中の前記スクリーン上において、実空間中の前記被写体の位置と前記スクリーンに投影された前記ビデオ映像中の前記カーソルの位置とが一致するように、前記カーソルの位置を補正する補正ステップを含む入力方法。
  22. カーソルを含むビデオ映像を生成するステップと、
    前記ビデオ映像を制御するステップと、を含み、
    制御する前記ステップは、
    光軸が被撮影面に対して斜めになる様に配置され、前記被撮影面上の被写体を撮像する撮像手段により得られた撮像画像に基づいて、前記被写体の位置を求める解析ステップと、
    前記解析ステップが求めた前記被写体の位置に対して、台形補正を実行する台形補正ステップと、
    前記台形補正後の前記被写体の位置に基づいて、前記カーソルを前記被写体に連動させるカーソル制御ステップと、を含む入力方法。
  23. 請求項21又は22の入力方法をコンピュータに実行させるコンピュータプログラム。
  24. 請求項23のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2010512854A 2008-05-23 2008-09-26 入力システム、入力方法、コンピュータプログラム、及び、記録媒体 Pending JPWO2009141855A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008136108 2008-05-23
JP2008136108 2008-05-23
PCT/JP2008/002686 WO2009141855A1 (ja) 2008-05-23 2008-09-26 入力システム、入力方法、コンピュータプログラム、及び、記録媒体

Publications (1)

Publication Number Publication Date
JPWO2009141855A1 true JPWO2009141855A1 (ja) 2011-09-22

Family

ID=41339830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010512854A Pending JPWO2009141855A1 (ja) 2008-05-23 2008-09-26 入力システム、入力方法、コンピュータプログラム、及び、記録媒体

Country Status (3)

Country Link
US (1) US20120044141A1 (ja)
JP (1) JPWO2009141855A1 (ja)
WO (1) WO2009141855A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014041938A1 (ja) * 2012-09-12 2014-03-20 シチズンホールディングス株式会社 情報入力装置
US9602778B2 (en) * 2012-12-12 2017-03-21 Sensormatic Electronics, LLC Security video system using customer regions for monitoring point of sale areas
US9360888B2 (en) * 2013-05-09 2016-06-07 Stephen Howard System and method for motion detection and interpretation
US10891003B2 (en) 2013-05-09 2021-01-12 Omni Consumer Products, Llc System, method, and apparatus for an interactive container
JP2016005055A (ja) * 2014-06-16 2016-01-12 セイコーエプソン株式会社 プロジェクター及び投写方法
JP6018266B1 (ja) * 2015-07-17 2016-11-02 株式会社スクウェア・エニックス ビデオゲーム処理プログラム及びビデオゲーム処理システム
JP2017208688A (ja) * 2016-05-18 2017-11-24 株式会社スクウェア・エニックス プログラム、コンピュータ装置、プログラム実行方法、及び、コンピュータシステム
JP7167503B2 (ja) * 2018-06-27 2022-11-09 セイコーエプソン株式会社 プロジェクター
DE102020108984A1 (de) 2020-04-01 2021-10-07 Bayerische Motoren Werke Aktiengesellschaft Fortbewegungsmittel, Vorrichtung und Verfahren zur Unterhaltung eines Insassen eines Fortbewegungsmittels

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684514A (en) * 1991-01-11 1997-11-04 Advanced Interaction, Inc. Apparatus and method for assembling content addressable video
KR100318330B1 (ko) * 1991-04-08 2002-04-22 가나이 쓰도무 감시장치
JPH10334275A (ja) * 1997-05-29 1998-12-18 Canon Inc 仮想現実方法及び装置並びに記憶媒体
JP2000081950A (ja) * 1998-07-03 2000-03-21 Sony Corp 画像処理装置、画像処理方法、及び提供媒体、並びにプレゼンテーションシステム
JP2000112651A (ja) * 1998-10-06 2000-04-21 Olympus Optical Co Ltd ポインティング機構
US6611253B1 (en) * 2000-09-19 2003-08-26 Harel Cohen Virtual input environment
JP4055388B2 (ja) * 2001-10-12 2008-03-05 ソニー株式会社 情報処理装置、情報処理システム、及びプログラム
US7774075B2 (en) * 2002-11-06 2010-08-10 Lin Julius J Y Audio-visual three-dimensional input/output
JP2004185258A (ja) * 2002-12-03 2004-07-02 Hitachi Ltd 情報処理装置
US20060256072A1 (en) * 2003-07-02 2006-11-16 Ssd Company Limited Information processing device, information processing system, operating article, information processing method, information processing program, and game system
US20070197290A1 (en) * 2003-09-18 2007-08-23 Ssd Company Limited Music Game Device, Music Game System, Operation Object, Music Game Program, And Music Game Method
US7554545B2 (en) * 2003-11-04 2009-06-30 Ssd Company Limited Drawing apparatus operable to display a motion path of an operation article
US20080031544A1 (en) * 2004-09-09 2008-02-07 Hiromu Ueshima Tilt Detection Method and Entertainment System
US8334837B2 (en) * 2004-11-10 2012-12-18 Nokia Corporation Method for displaying approached interaction areas
US8144118B2 (en) * 2005-01-21 2012-03-27 Qualcomm Incorporated Motion-based tracking
JP4180065B2 (ja) * 2005-05-13 2008-11-12 株式会社スクウェア・エニックス 画像生成方法、画像生成装置、および画像生成プログラム
KR20080028935A (ko) * 2005-06-16 2008-04-02 신세다이 가부시키 가이샤 입력장치, 유사체험방법 및 엔터테인먼트 시스템
US20090305207A1 (en) * 2005-12-12 2009-12-10 Hiromu Ueshima Training method, training device, and coordination training method
US8009866B2 (en) * 2008-04-26 2011-08-30 Ssd Company Limited Exercise support device, exercise support method and recording medium
JP2010169668A (ja) * 2008-12-18 2010-08-05 Shinsedai Kk 物体検出装置、それを用いたインタラクティブシステム、物体検出方法、それを用いたインタラクティブシステム構築方法、コンピュータプログラム、及び記録媒体

Also Published As

Publication number Publication date
US20120044141A1 (en) 2012-02-23
WO2009141855A1 (ja) 2009-11-26

Similar Documents

Publication Publication Date Title
WO2009141855A1 (ja) 入力システム、入力方法、コンピュータプログラム、及び、記録媒体
JP5081964B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP5039808B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
US8113953B2 (en) Image-linked sound output method and device
JP2002233665A5 (ja)
JP2011210019A (ja) プログラム、情報記憶媒体及び画像生成装置
JP5425940B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
US20100215215A1 (en) Object detecting apparatus, interactive system, object detecting method, interactive system realizing method, and recording medium
JP2007236469A (ja) ゲームプログラム、ゲームシステム
JP4412714B2 (ja) 配置情報検出システム、ゲームシステム、プログラム、情報記憶媒体及び配置情報検出システムの制御方法
JP5656387B2 (ja) ゲーム装置、およびこのゲーム装置を実現するためのゲームプログラム
JP2017189446A (ja) 処理装置および投影画像生成方法
JP4341066B2 (ja) 情報処理装置および画像生成プログラム
WO2017179308A1 (ja) 処理装置および投影画像生成方法
JP5746644B2 (ja) ゲーム装置及びプログラム
JP2011101764A5 (ja)
JP2011018147A (ja) ゲームプログラム、ゲーム装置、ゲーム制御方法
JP2015100481A (ja) ゲーム機、並びにそれに用いる制御方法及びコンピュータプログラム
JP4726844B2 (ja) プログラム、データ収集装置及び制御方法
JP2007267850A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP6462441B2 (ja) ダンス装置
JP6491503B2 (ja) ダンス装置
JP2001224731A (ja) ゲーム装置および情報記憶媒体
JP4705145B2 (ja) 描画処理プログラム、描画処理装置、及び描画処理方法
JP4932815B2 (ja) 描画処理プログラム、描画処理装置、及び描画処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110926

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20130213