JP5089078B2 - Game device - Google Patents

Game device Download PDF

Info

Publication number
JP5089078B2
JP5089078B2 JP2006128748A JP2006128748A JP5089078B2 JP 5089078 B2 JP5089078 B2 JP 5089078B2 JP 2006128748 A JP2006128748 A JP 2006128748A JP 2006128748 A JP2006128748 A JP 2006128748A JP 5089078 B2 JP5089078 B2 JP 5089078B2
Authority
JP
Japan
Prior art keywords
led
image
controller
game
information
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.)
Active
Application number
JP2006128748A
Other languages
Japanese (ja)
Other versions
JP2007296248A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Sony Computer Entertainment Inc
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 Sony Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2006128748A priority Critical patent/JP5089078B2/en
Priority to PCT/JP2007/000123 priority patent/WO2007129432A1/en
Publication of JP2007296248A publication Critical patent/JP2007296248A/en
Application granted granted Critical
Publication of JP5089078B2 publication Critical patent/JP5089078B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/428Processing 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 motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • 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/55Controlling game characters or game objects based on the game progress
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Position Input By Displaying (AREA)

Description

本発明は、ゲームアプリケーションを実行するゲーム装置に関する。   The present invention relates to a game device that executes a game application.

近年、2次元コードをカメラで撮像してコードデータを認識し、そのコードデータに対応付けられた所定の処理を実行させる技術が提案されている。1次元バーコードと比較すると2次元コードの方がコード化できる情報量が多く、現在では様々な種類の2次元コードが実用化されている。このような状況のもと、従来、2次元コードの画像認識に関する技術を提案するものがある(例えば、特許文献1参照)。   In recent years, a technique has been proposed in which a two-dimensional code is imaged by a camera, code data is recognized, and a predetermined process associated with the code data is executed. Compared with a one-dimensional barcode, a two-dimensional code has a larger amount of information that can be coded, and various types of two-dimensional codes are now in practical use. Under such circumstances, there has conventionally been proposed a technique related to image recognition of a two-dimensional code (see, for example, Patent Document 1).

実空間上のオブジェクトの3次元的な位置や姿勢などを取得するために、磁気方式、超音波方式または光学方式を利用した様々な計測システムが存在する。磁気方式による計測システムは、環境に存在する電子機器や地磁気などの影響を受けやすく、また超音波方式による計測システムは、環境の気圧や温度などの影響を受けやすい。一方で、光学方式による計測システムは、カメラで撮像した撮影画像を利用するため、周辺の磁界や気圧、温度などの影響を受けることがない。光学方式を利用した計測システムとして、オブジェクトに設けた複数のLEDをそれぞれ一意に定められる点滅パターンで点滅させて、2次元イメージセンサによる撮影画像を利用して3次元位置や姿勢などを認識する技術が提案されている(例えば、特許文献2参照)。特許文献2では、マーカとして機能するLEDが、LEDごとに一意に識別可能な識別情報を有している。
特開2006−72667号公報 特開2003−254716号公報
There are various measurement systems that use a magnetic method, an ultrasonic method, or an optical method in order to acquire the three-dimensional position and orientation of an object in real space. Magnetic measurement systems are easily affected by electronic devices and geomagnetism existing in the environment, and ultrasonic measurement systems are easily affected by atmospheric pressure and temperature. On the other hand, an optical measurement system uses a captured image captured by a camera, and thus is not affected by a surrounding magnetic field, atmospheric pressure, temperature, or the like. As a measurement system using an optical method, a plurality of LEDs provided on an object blink with a uniquely defined blink pattern, and a three-dimensional position and orientation are recognized using a photographed image by a two-dimensional image sensor. Has been proposed (see, for example, Patent Document 2). In Patent Document 2, an LED that functions as a marker has identification information that can be uniquely identified for each LED.
JP 2006-72667 A JP 2003-254716 A

近年の技術進歩にともない、ゲームシステムのハードウェアスペックが飛躍的に向上している。最近では、カメラとゲーム装置を接続してユーザがカメラの前で体を動かすと、ゲーム装置が光学的にユーザの動きを認識してゲームへの入力として利用するゲームシステムも実現されている。このようなゲーム環境のもと、ユーザのゲームアプリケーションに対する要求も多様化する傾向にある。   With recent technological advances, the hardware specifications of game systems have improved dramatically. Recently, a game system has been realized in which a game device optically recognizes a user's movement and uses it as an input to a game when the user moves the body in front of the camera by connecting the camera and the game device. Under such a game environment, user demands for game applications tend to diversify.

本発明者は、ユーザの多様化した要求を満足させるべく、ゲーム装置と接続したカメラを利用して、ゲームコントローラを撮影した撮像画像の情報をゲーム装置の入力情報として抽出することで、従来にないゲームアプリケーションを実現できる可能性を見いだした。また、ゲームコントローラに加速度センサなどを搭載して、その計測情報をゲーム装置の入力情報として利用することによっても、従来にないゲームアプリケーションを実現できる可能性を見いだした。また、ゲームシステムだけでなく、他の環境、たとえば教育現場やビジネスの現場などのエンタテインメントシステムにおいても有効なアプリケーションを実現できると考えられる。   In order to satisfy the diversified demands of users, the present inventor has conventionally used a camera connected to a game device to extract information of a captured image obtained by photographing a game controller as input information of the game device. Found the possibility of realizing no game application. Also, it has been found that a game application that is not available in the past can be realized by mounting an acceleration sensor or the like on the game controller and using the measurement information as input information of the game device. Moreover, it is considered that an effective application can be realized not only in a game system but also in other environments such as entertainment systems such as educational sites and business sites.

そこで本発明は、新たな入力情報を利用した新規なアプリケーションを実行するゲーム装置を提供することを目的とする。   Accordingly, an object of the present invention is to provide a game device that executes a new application using new input information.

上記課題を解決するために、本発明のある態様のゲーム装置は、ゲームコントローラから入力される操作入力を受け付ける入力受付部と、入力受付部において受け付けた操作入力をもとに、仮想空間におけるオブジェクトの動作を制御するオブジェクト制御部とを備える。このゲーム装置は、ゲームコントローラの実空間における位置情報または姿勢情報を取得する取得部をさらに備え、オブジェクト制御部は、位置情報または姿勢情報を利用して、オブジェクトの動作を制御する。   In order to solve the above problems, a game device according to an aspect of the present invention includes an input receiving unit that receives an operation input input from a game controller, and an object in a virtual space based on the operation input received by the input receiving unit. An object control unit for controlling the operation of The game apparatus further includes an acquisition unit that acquires position information or posture information in the real space of the game controller, and the object control unit controls the movement of the object using the position information or the posture information.

本発明によると、新たな入力情報を利用した新規なアプリケーションを実行するゲーム装置を提供することが可能となる。   According to the present invention, it is possible to provide a game device that executes a new application using new input information.

本発明の実施例は、ゲームコントローラの実空間における位置情報および/または姿勢情報を取得し、その情報をもとに実行可能なゲームアプリケーションを実行可能なゲーム装置を提供する。そのために、本明細書では、まずゲームコントローラの位置情報および/または姿勢情報を取得するための手法を示す。以下では、(1)LEDを利用した方法、(2)2次元コードを利用した方法、(3)加速度センサなどの計測値を利用した方法を示し、続いて、ゲームコントローラの位置情報および/または姿勢情報をもとに実行可能なゲームアプリケーションを示す。   An embodiment of the present invention provides a game device that can acquire position information and / or posture information in a real space of a game controller and execute a game application that can be executed based on the information. Therefore, in this specification, first, a technique for acquiring the position information and / or posture information of the game controller is shown. In the following, (1) a method using an LED, (2) a method using a two-dimensional code, (3) a method using a measurement value of an acceleration sensor, etc., followed by position information of the game controller and / or A game application that can be executed based on the posture information is shown.

(1)LEDを利用した位置情報および/または姿勢情報の取得方法
図1は、本発明の実施例にかかるゲームシステムの使用環境を示す。ゲームシステム1は、撮像装置2、画像表示装置3、音声出力装置4、ゲーム装置10およびコントローラ20を備える。撮像装置2、画像表示装置3、音声出力装置4およびコントローラ20は、ゲーム装置10に接続される。
(1) Method for Acquiring Position Information and / or Posture Information Using LED FIG. 1 shows a use environment of a game system according to an embodiment of the present invention. The game system 1 includes an imaging device 2, an image display device 3, an audio output device 4, a game device 10, and a controller 20. The imaging device 2, the image display device 3, the audio output device 4, and the controller 20 are connected to the game device 10.

コントローラ20は、ユーザが操作入力を行うための操作入力装置であり、またゲーム装置10は、コントローラ20における操作入力をもとにゲームアプリケーションを処理して、ゲームアプリケーションの処理結果を示す画像信号を生成する処理装置である。なお、本実施例に示す技術は、ゲームアプリケーションに限らず、他の種類のアプリケーションを実行する処理装置を備えたエンタテインメントシステムにおいても実現できる。以下では、エンタテインメントシステムを代表して、ゲームアプリケーションを実行するゲームシステム1について説明する。   The controller 20 is an operation input device for a user to perform an operation input, and the game apparatus 10 processes a game application based on the operation input in the controller 20 and outputs an image signal indicating a processing result of the game application. A processing device to be generated. Note that the technology shown in the present embodiment can be realized not only in a game application but also in an entertainment system including a processing device that executes another type of application. Below, the game system 1 which runs a game application on behalf of an entertainment system is demonstrated.

撮像装置2は、CCD撮像素子またはCMOS撮像素子などから構成されるビデオカメラであり、実空間を所定の周期で撮像して、周期ごとのフレーム画像を生成する。たとえば、撮像装置2の撮像速度は30枚/秒として、画像表示装置3のフレームレートと一致させてもよい。撮像装置2は、USB(Universal Serial Bus)あるいはその他のインタフェースを介してゲーム装置10と接続する。   The imaging device 2 is a video camera that includes a CCD imaging device, a CMOS imaging device, or the like. The imaging device 2 captures a real space at a predetermined cycle and generates a frame image for each cycle. For example, the imaging speed of the imaging device 2 may be set to 30 frames / second so as to match the frame rate of the image display device 3. The imaging device 2 is connected to the game device 10 via a USB (Universal Serial Bus) or other interface.

画像表示装置3は画像信号を出力するディスプレイであって、ゲーム装置10において生成された画像信号を受けて、ゲーム画面を表示する。音声出力装置4は音声を出力するスピーカであって、ゲーム装置10において生成された音声信号を受けて、ゲーム音声を出力する。画像表示装置3および音声出力装置4は、ゲームシステム1における出力装置を構成する。   The image display device 3 is a display that outputs an image signal. The image display device 3 receives the image signal generated by the game device 10 and displays a game screen. The sound output device 4 is a speaker that outputs sound, and receives a sound signal generated in the game device 10 and outputs a game sound. The image display device 3 and the audio output device 4 constitute an output device in the game system 1.

ゲーム装置10と画像表示装置3は、有線により接続されてもよく、また無線により接続されてもよい。ゲーム装置10と画像表示装置3とはAVケーブルによって接続されてもよい。またゲーム装置10と画像表示装置3との間には、ネットワーク(LAN)ケーブルやワイヤレスLANなどで構築したホームネットワークが構築されてもよい。   The game apparatus 10 and the image display apparatus 3 may be connected by wire or may be connected wirelessly. The game apparatus 10 and the image display apparatus 3 may be connected by an AV cable. A home network constructed by a network (LAN) cable, a wireless LAN, or the like may be constructed between the game apparatus 10 and the image display apparatus 3.

コントローラ20は、ユーザによる操作入力をゲーム装置10に伝送する機能をもち、本実施例ではゲーム装置10との間で無線通信可能な無線コントローラとして構成される。コントローラ20とゲーム装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルを用いて無線接続を確立してもよい。ゲーム装置10は、複数のコントローラ20との無線接続を可能とし、すなわちゲームシステム1においては、ゲーム装置10とコントローラ20の1対N接続を実現できる。ゲーム装置10は親機すなわちマスタとして機能し、コントローラ20は子機すなわちスレーブとして機能する。なおコントローラ20は、無線コントローラに限らず、ゲーム装置10とケーブルを介して接続される有線コントローラであってもよい。   The controller 20 has a function of transmitting an operation input by the user to the game apparatus 10, and is configured as a wireless controller capable of wireless communication with the game apparatus 10 in this embodiment. The controller 20 and the game apparatus 10 may establish a wireless connection using a Bluetooth (registered trademark) protocol. The game apparatus 10 enables wireless connection with a plurality of controllers 20, that is, in the game system 1, a 1-to-N connection between the game apparatus 10 and the controller 20 can be realized. The game device 10 functions as a parent device, that is, a master, and the controller 20 functions as a child device, that is, a slave. The controller 20 is not limited to a wireless controller, and may be a wired controller connected to the game apparatus 10 via a cable.

コントローラ20は、図示しないバッテリにより駆動され、ゲームを進行させる操作入力を行うための複数のボタンやキーを有して構成される。ユーザがコントローラ20のボタンやキーを操作すると、その操作入力が無線によりゲーム装置10に送信される。ゲーム装置10は、コントローラ20からゲームアプリケーションに関する操作入力を受信し、操作入力に応じてゲーム進行を制御して、ゲーム画像信号およびゲーム音声信号を生成する。生成されたゲーム画像信号およびゲーム音声信号は、それぞれ画像表示装置3および音声出力装置4により出力される。またゲーム装置10は、ゲームアプリケーションの進行状況に応じて、コントローラ20を振動させる振動制御信号をコントローラ20に送信する機能ももつ。コントローラ20は振動子を有し、振動制御信号を受信すると振動子を振動させる。   The controller 20 is driven by a battery (not shown) and is configured to have a plurality of buttons and keys for performing an operation input for advancing the game. When the user operates a button or key of the controller 20, the operation input is transmitted to the game apparatus 10 by radio. The game apparatus 10 receives an operation input related to the game application from the controller 20, controls the game progress according to the operation input, and generates a game image signal and a game sound signal. The generated game image signal and game sound signal are output by the image display device 3 and the sound output device 4, respectively. The game apparatus 10 also has a function of transmitting a vibration control signal for vibrating the controller 20 to the controller 20 in accordance with the progress status of the game application. The controller 20 has a vibrator and vibrates the vibrator when receiving a vibration control signal.

本実施例のゲームシステム1において、コントローラ20は、複数の発光素子を有して構成される。複数の発光素子はそれぞれ同色のLEDであって、ゲームアプリケーションで設定されるコントローラ番号を表現するインジケータとしての役割をもつ。ゲームアプリケーションにおけるコントローラ番号は、たとえばゲーム開始時にゲームキャラクタを選択する際などにユーザに利用されるため、ユーザに何らかの手段でコントローラ番号を通知する必要がある。そのためコントローラ20では、複数のLEDのうち、たとえば1番目のLEDが点灯していればコントローラ番号が1であり、また2番目のLEDが点灯していればコントローラ番号が2であるとしてユーザにコントローラ番号を知らしめる。なお、複数のLEDの組合わせによりコントローラ番号を表現することも可能である。   In the game system 1 of the present embodiment, the controller 20 includes a plurality of light emitting elements. The plurality of light emitting elements are LEDs of the same color, and serve as indicators that represent controller numbers set in the game application. Since the controller number in the game application is used by the user when selecting a game character at the start of the game, for example, it is necessary to notify the user of the controller number by some means. Therefore, in the controller 20, for example, if the first LED is lit, the controller number is 1, and if the second LED is lit, the controller number is 2 to the user. Inform your number. Note that the controller number can be expressed by a combination of a plurality of LEDs.

コントローラ20が有線コントローラである場合には、コントローラ20から延びるケーブルコネクタをゲーム装置10のポートに差し込んだ位置でコントローラ番号を決定することも可能である。しかしながら、複数のポートを備えたマルチポート装置をゲーム装置10に外付けして使用するような場合には、ユーザはすぐにコントローラ番号を知ることはできないため、複数のLEDを用いてユーザにコントローラ番号を通知することが好ましい。   When the controller 20 is a wired controller, the controller number can be determined at the position where the cable connector extending from the controller 20 is inserted into the port of the game apparatus 10. However, when a multi-port device having a plurality of ports is used externally attached to the game apparatus 10, the user cannot know the controller number immediately, so the controller is provided to the user using a plurality of LEDs. It is preferable to notify the number.

ゲームシステム1においては、コントローラ20のLEDを、コントローラ番号のインジケータとしてだけではなく、ゲームアプリケーションの進行に影響を与えるゲーム入力としても利用する。この場合、LEDの制御は、インジケータとして点灯するのではなく、ゲームアプリケーションへの入力としての点灯に切り替えられる。撮像装置2はコントローラ20のLEDを撮像し、フレーム画像を生成してゲーム装置10に供給する。ゲーム装置10は、フレーム画像を取得して、フレーム画像におけるLED画像の位置などからコントローラ20のフレーム画像中の位置や姿勢を推定して、実空間における位置情報および姿勢情報を取得し、取得した位置情報および/または姿勢情報をゲームアプリケーションの処理に反映する。すなわち、本実施例のゲーム装置10は、コントローラ20において入力された操作入力だけでなく、取得したコントローラ20の位置情報や姿勢情報も用いてゲームアプリケーションを処理して、その処理結果を示す画像信号を生成する機能をもつ。   In the game system 1, the LED of the controller 20 is used not only as an indicator of the controller number but also as a game input that affects the progress of the game application. In this case, the LED control is switched to lighting as an input to the game application instead of lighting as an indicator. The imaging device 2 images the LED of the controller 20, generates a frame image, and supplies it to the game device 10. The game apparatus 10 acquires the frame image, estimates the position and posture in the frame image of the controller 20 from the position of the LED image in the frame image, and acquires and acquires the position information and posture information in the real space. The position information and / or posture information is reflected in the processing of the game application. That is, the game apparatus 10 according to the present embodiment processes the game application using not only the operation input input by the controller 20 but also the acquired position information and posture information of the controller 20, and an image signal indicating the processing result. It has a function to generate.

図2は、コントローラの外観構成を示す。コントローラ20には、方向キー21、アナログスティック27と、4種の操作ボタン26が設けられている。方向キー21、アナログスティック27、操作ボタン26は、筐体上面30に設けられた入力部である。4種のボタン22〜25には、それぞれを区別するために、異なる色で異なる図形が記されている。すなわち、○ボタン22には赤色の丸、×ボタン23には青色のバツ、□ボタン24には紫色の四角形、△ボタン25には緑色の三角形が記されている。コントローラ20の筐体背面29には、複数のLEDが設けられている。   FIG. 2 shows an external configuration of the controller. The controller 20 is provided with a direction key 21, an analog stick 27, and four types of operation buttons 26. The direction key 21, the analog stick 27, and the operation buttons 26 are input units provided on the upper surface 30 of the housing. The four types of buttons 22 to 25 are marked with different figures in different colors in order to distinguish them from each other. In other words, the ○ button 22 is marked with a red circle, the X button 23 is marked with a blue cross, the □ button 24 is marked with a purple square, and the Δ button 25 is marked with a green triangle. A plurality of LEDs are provided on the housing rear surface 29 of the controller 20.

ユーザは左手で左側把持部28aを把持し、右手で右側把持部28bを把持して、コントローラ20を操作する。方向キー21、アナログスティック27、操作ボタン26は、ユーザが左側把持部28a、右側把持部28bを把持した状態で操作可能なように、筐体上面30上に設けられる。   The user operates the controller 20 by holding the left holding part 28a with the left hand and holding the right holding part 28b with the right hand. The direction key 21, the analog stick 27, and the operation button 26 are provided on the upper surface 30 of the housing so that the user can operate the gripper while holding the left grip portion 28a and the right grip portion 28b.

筐体上面30には、LED付きボタン31も設けられる。LED付きボタン31は、たとえば画像表示装置3にメニュー画面を表示させるためのボタンとして利用される。また、LEDの発光状態によりユーザへのメールの着信の知らせや、コントローラ20のバッテリの充電状態などを示す機能ももつ。たとえば充電中は赤色、充電が終了すると緑色に点灯し、充電残存量が残り少ないときには赤色を点滅させるようにLEDを点灯させる。   A button 31 with LED is also provided on the upper surface 30 of the housing. The button 31 with LED is used as a button for causing the image display device 3 to display a menu screen, for example. Further, it also has a function of notifying the user of incoming mail or the state of charge of the battery of the controller 20 depending on the light emission state of the LED. For example, the LED is turned on so that the color is red during charging, green when charging is completed, and red when the remaining charge is low.

ユーザは画像表示装置3に表示されるゲーム画面を見ながらゲームを行うため、画像表示装置3は、矢印Aで示すコントローラ20の前方に存在している。そのため、通常は、画像表示装置3に対して、LEDを配置された筐体背面29が向き合うことになる。本実施例において撮像装置2は、ゲームアプリケーションの実行中にLEDを撮像する必要があるため、その撮像範囲が画像表示装置3と同じ方向を向くように配置されて、コントローラ20の筐体背面29と向き合うことが好ましい。一般にユーザは画像表示装置3の正面でゲームをプレイすることが多いため、撮像装置2は、その光軸の方向が画像表示装置3の正面方向と一致するように配置される。具体的に、撮像装置2は、画像表示装置3の近傍において、画像表示装置3の表示画面をユーザが視認可能な位置を撮像範囲に含むように配置されることが好ましい。これにより、撮像装置2は、ユーザの身体およびコントローラ20を撮像できる。   Since the user plays a game while looking at the game screen displayed on the image display device 3, the image display device 3 exists in front of the controller 20 indicated by the arrow A. For this reason, the housing rear surface 29 on which the LEDs are arranged normally faces the image display device 3. In the present embodiment, since the imaging device 2 needs to capture an LED during execution of the game application, the imaging device 2 is arranged so that the imaging range faces the same direction as the image display device 3, and the housing rear surface 29 of the controller 20. It is preferable to face each other. In general, since a user often plays a game in front of the image display device 3, the imaging device 2 is arranged so that the direction of the optical axis thereof coincides with the front direction of the image display device 3. Specifically, the imaging device 2 is preferably arranged in the vicinity of the image display device 3 so that the imaging range includes a position where the user can visually recognize the display screen of the image display device 3. Thereby, the imaging device 2 can image the user's body and the controller 20.

図3は、コントローラの背面側の外観構成を示す。図3では、コントローラ20の筐体上面30における方向キー21や操作ボタン26などの図示を省略している。筐体背面29にはLED配設領域42が設けられ、LED配設領域42内に第1LED40a、第2LED40b、第3LED40cおよび第4LED40dが配置される。以下、第1LED40a、第2LED40b、第3LED40cおよび第4LED40dを総称する場合には、「LED40」と表記する。LED配設領域42は、筐体背面29における中央領域に形成される。LED配設領域42の中央部には、USBコネクタ46が設けられる。USBコネクタ46には、ゲーム装置10から延びるUSBケーブルが接続されて、コントローラ20の充電処理を行うことができる。なおUSBケーブルが接続されると、コントローラ20を有線コントローラとして利用することも可能である。   FIG. 3 shows an external configuration of the back side of the controller. In FIG. 3, illustrations of the direction key 21 and the operation button 26 on the upper surface 30 of the housing of the controller 20 are omitted. An LED arrangement area 42 is provided on the housing rear surface 29, and the first LED 40 a, the second LED 40 b, the third LED 40 c, and the fourth LED 40 d are arranged in the LED arrangement area 42. Hereinafter, the first LED 40a, the second LED 40b, the third LED 40c, and the fourth LED 40d are collectively referred to as “LED 40”. The LED arrangement region 42 is formed in the central region of the housing back surface 29. A USB connector 46 is provided at the center of the LED arrangement area 42. A USB cable extending from the game apparatus 10 is connected to the USB connector 46 so that the controller 20 can be charged. If a USB cable is connected, the controller 20 can be used as a wired controller.

筐体背面29側には、操作ボタン48a、48b、48c、48dがLED配設領域42を挟んで左右に設けられる。操作ボタン48a、48b、48c、48dは、ユーザが左側把持部28a、右側把持部28bを把持した状態でも人差指の先端で操作可能な位置に設けられる。これにより、操作ボタン48a、48b、48c、48dの操作時に、LED40は人差指によって隠れない。   Operation buttons 48 a, 48 b, 48 c, 48 d are provided on the left and right sides of the housing rear surface 29 with the LED arrangement area 42 interposed therebetween. The operation buttons 48a, 48b, 48c, and 48d are provided at positions that can be operated with the tip of the index finger even when the user holds the left grip 28a and the right grip 28b. Thus, the LED 40 is not hidden by the index finger when operating the operation buttons 48a, 48b, 48c, and 48d.

撮像装置2は、各画素におけるRGBの輝度値を取得する。発光したLED40を正確に検出するためには、LED40とLED40周辺の領域とのコントラストが大きいことが好ましい。そのためLED配設領域42は、その隣接する筐体色よりも明度の低い色をもち、たとえば黒色の配色を施される。LED配設領域42は、黒色の半透明板として構成され、LED40は、その背後すなわち筐体内部側に設けられる。これにより、LED40は点灯していなければ撮像装置2からは見えず、点灯したときのみ撮像される。黒色半透明板は、光を拡散してLED40の狭指向性を広指向性に変える役割ももつ。LED40をLED配設領域42に設けることで、発光したLED40とのコントラストを高めることができ、後の画像処理において、フレーム画像からLED画像を効果的に抽出することが可能となる。   The imaging device 2 acquires RGB luminance values in each pixel. In order to accurately detect the emitted LED 40, it is preferable that the contrast between the LED 40 and the area around the LED 40 is large. Therefore, the LED arrangement region 42 has a color with a lightness lower than that of the adjacent housing color, for example, a black color scheme. The LED arrangement region 42 is configured as a black translucent plate, and the LED 40 is provided behind it, that is, inside the housing. Thereby, if LED40 is not lighted, it will not be visible from the imaging device 2, but it will image only when it lights. The black translucent plate also has a role of diffusing light and changing the narrow directivity of the LED 40 to a wide directivity. By providing the LED 40 in the LED arrangement region 42, the contrast with the emitted LED 40 can be increased, and the LED image can be effectively extracted from the frame image in the subsequent image processing.

第1LED40a、第2LED40b、第3LED40cおよび第4LED40dは、所定の2次元パターンで配設される。たとえば第1LED40a、第2LED40b、第3LED40cおよび第4LED40dは、矩形の頂点を構成する位置に配設される。ゲーム装置10は、この位置関係を予め把握しており、LED画像の抽出処理に利用する。なお各LED40の近傍には、数字が刻印または印刷されており、ユーザは点灯したLED40の近傍の数字をみて、コントローラ番号を知ることができる。   The first LED 40a, the second LED 40b, the third LED 40c, and the fourth LED 40d are arranged in a predetermined two-dimensional pattern. For example, 1st LED40a, 2nd LED40b, 3rd LED40c, and 4th LED40d are arrange | positioned in the position which comprises the vertex of a rectangle. The game apparatus 10 grasps this positional relationship in advance and uses it for LED image extraction processing. A number is imprinted or printed in the vicinity of each LED 40, and the user can know the controller number by looking at the number in the vicinity of the lit LED 40.

図4は、コントローラの内部構成を示す。コントローラ20は、無線通信モジュール58、処理部60、LED40および振動子44を備える。無線通信モジュール58は、ゲーム装置10の無線通信モジュールとの間でデータを送受信する機能をもつ。処理部60は、コントローラ20における所期の処理を実行する。   FIG. 4 shows the internal configuration of the controller. The controller 20 includes a wireless communication module 58, a processing unit 60, an LED 40, and a vibrator 44. The wireless communication module 58 has a function of transmitting / receiving data to / from the wireless communication module of the game apparatus 10. The processing unit 60 executes intended processing in the controller 20.

処理部60は、メイン制御部50、入力受付部52、PWM制御部54および駆動部56を有する。メイン制御部50は、無線通信モジュール58との間で必要なデータの送受を行う。   The processing unit 60 includes a main control unit 50, an input receiving unit 52, a PWM control unit 54, and a driving unit 56. The main control unit 50 transmits and receives necessary data to and from the wireless communication module 58.

入力受付部52は、方向キー21、操作ボタン26、アナログスティック27などの入力部からの入力情報を受け付け、メイン制御部50に送る。メイン制御部50は、受け取った入力情報を無線通信モジュール58に供給し、無線通信モジュール58は、所定のタイミングでゲーム装置10に送信する。また、無線通信モジュール58はゲーム装置10から振動制御信号を受け取ると、メイン制御部50に供給し、メイン制御部50は、振動制御信号をもとに振動子44を振動させる駆動部56を動作させる。駆動部56は、振動子44を駆動するためのスイッチとして構成されてもよく、また供給電圧のデューティ比を可変とするPWM制御部として構成されてもよい。   The input receiving unit 52 receives input information from the input unit such as the direction key 21, the operation button 26, the analog stick 27, and sends it to the main control unit 50. The main control unit 50 supplies the received input information to the wireless communication module 58, and the wireless communication module 58 transmits the input information to the game apparatus 10 at a predetermined timing. When the wireless communication module 58 receives the vibration control signal from the game apparatus 10, the wireless communication module 58 supplies the vibration control signal to the main control unit 50, and the main control unit 50 operates the drive unit 56 that vibrates the vibrator 44 based on the vibration control signal. Let The drive unit 56 may be configured as a switch for driving the vibrator 44, or may be configured as a PWM control unit that varies the duty ratio of the supply voltage.

本実施例において、PWM制御部54は、第1PWM制御部54a、第2PWM制御部54b、第3PWM制御部54cおよび第4PWM制御部54dから構成される。第1PWM制御部54a、第2PWM制御部54b、第3PWM制御部54cおよび第4PWM制御部54dは、それぞれ第1LED40a、第2LED40b、第3LED40cおよび第4LED40dの点灯を制御するために設けられる。PWM制御部54は、LED40に印加する電圧をPWM(パルス幅変調)により制御する。たとえば、PWM制御部54は、数kHzの高周波で印加電圧をPWM制御することで、LED40の輝度を調整することができる。またPWM制御部54は、数Hz〜100Hz程度の低周波で印加電圧をPWM制御することで、撮像装置2においてLED40の点灯のオンオフを認識させることができる。   In this embodiment, the PWM control unit 54 includes a first PWM control unit 54a, a second PWM control unit 54b, a third PWM control unit 54c, and a fourth PWM control unit 54d. The first PWM control unit 54a, the second PWM control unit 54b, the third PWM control unit 54c, and the fourth PWM control unit 54d are provided to control the lighting of the first LED 40a, the second LED 40b, the third LED 40c, and the fourth LED 40d, respectively. The PWM control unit 54 controls the voltage applied to the LED 40 by PWM (pulse width modulation). For example, the PWM control unit 54 can adjust the luminance of the LED 40 by performing PWM control of the applied voltage at a high frequency of several kHz. The PWM control unit 54 can recognize whether the LED 40 is turned on or off in the imaging device 2 by performing PWM control of the applied voltage at a low frequency of about several Hz to 100 Hz.

本実施例のゲームシステム1において、まず、ゲームシステム1に参加を希望するユーザのコントローラ20が、ゲーム装置10との間で通信を確立する。このとき、コントローラ20の識別情報、たとえばブルートゥースアドレスがゲーム装置10に受け渡され、以後の通信は、このブルートゥースアドレスをもとに行われる。なお、通信プロトコルとしてブルートゥースを利用しない場合には、MACアドレスなどの機器アドレスが利用されてもよい。接続確立後、ユーザはゲームアプリケーションに参加できる。   In the game system 1 of the present embodiment, first, a controller 20 of a user who wishes to participate in the game system 1 establishes communication with the game apparatus 10. At this time, the identification information of the controller 20, for example, a Bluetooth address, is transferred to the game apparatus 10, and subsequent communication is performed based on the Bluetooth address. When Bluetooth is not used as a communication protocol, a device address such as a MAC address may be used. After the connection is established, the user can participate in the game application.

このときコントローラ20には、ゲーム装置10からコントローラ番号を指示する情報が送信される。メイン制御部50は、この番号指示情報をもとに、設定されたコントローラ番号に対応するLED40のみを点灯させる。これによりユーザは、自身のコントローラ20のコントローラ番号を知ることができる。なお、番号指示情報の代わりに、コントローラ番号に対応するLED40の点灯を指示する制御信号がゲーム装置10から送信されてもよい。このようにメイン制御部50は、任意のLED40を点灯させることができる。   At this time, information indicating a controller number is transmitted from the game apparatus 10 to the controller 20. The main control unit 50 turns on only the LED 40 corresponding to the set controller number based on the number instruction information. Thus, the user can know the controller number of his / her controller 20. Instead of the number instruction information, a control signal for instructing lighting of the LED 40 corresponding to the controller number may be transmitted from the game apparatus 10. As described above, the main control unit 50 can light any LED 40.

本実施例のゲームシステム1において、ゲーム装置10は、全てのLED40a〜40dを点灯した状態で撮像されたフレーム画像をもとに、実空間におけるコントローラ20の位置および姿勢を推定する。推定した位置および姿勢は、実行するゲームアプリケーションの入力として利用される。またゲーム装置10は、コントローラ20の方向キー21や操作ボタン26などの操作入力も受け付ける。これらの入力情報をもとに、ゲーム装置10は、ゲームアプリケーションのゲームパラメータを生成し、ゲームを進行制御して、ゲーム画像およびゲーム音声のAVデータを生成する。AVデータは、画像表示装置3および音声出力装置4において出力される。ユーザは、ゲーム画面を見ながら、コントローラ20を実空間上で動かし、さらには方向キー21や操作ボタン26を操作入力してゲームを行う。以下に、ゲーム装置10における処理を説明する。   In the game system 1 of the present embodiment, the game apparatus 10 estimates the position and orientation of the controller 20 in the real space based on the frame image captured with all the LEDs 40a to 40d turned on. The estimated position and orientation are used as input of the game application to be executed. The game apparatus 10 also accepts operation inputs such as the direction key 21 and the operation button 26 of the controller 20. Based on the input information, the game apparatus 10 generates game parameters of the game application, controls the progress of the game, and generates AV data of game images and game sounds. AV data is output from the image display device 3 and the audio output device 4. The user moves the controller 20 in the real space while looking at the game screen, and further plays the game by operating the direction keys 21 and the operation buttons 26. Hereinafter, processing in the game apparatus 10 will be described.

図5は、ゲーム装置の構成を示す。ゲーム装置10は、入力部100、画像処理部102、位置推定部104、点滅指示部106、無線通信モジュール108、アプリケーション処理部110および出力部112を備える。本実施例におけるゲーム装置10の処理機能は、CPU、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置10に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。図示の例では、ゲーム装置10のCPUが、画像処理部102、位置推定部104、点滅指示部106、アプリケーション処理部110としての機能をもつ。なお、ハードウェアの構成上、ゲーム装置10は複数のCPUを有してもよい。このような場合、1つのCPUがゲームアプリケーションを実行するアプリケーション処理部110として機能し、他のCPUが、撮像装置2による撮影画像を処理する画像処理部102、位置推定部104、点滅指示部106として機能してもよい。   FIG. 5 shows the configuration of the game apparatus. The game apparatus 10 includes an input unit 100, an image processing unit 102, a position estimation unit 104, a blinking instruction unit 106, a wireless communication module 108, an application processing unit 110, and an output unit 112. The processing function of the game apparatus 10 in the present embodiment is realized by a CPU, a memory, a program loaded in the memory, and the like, and here, a configuration realized by cooperation thereof is illustrated. The program may be built in the game apparatus 10 or may be supplied from the outside in a form stored in a recording medium. Accordingly, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof. In the illustrated example, the CPU of the game apparatus 10 functions as an image processing unit 102, a position estimation unit 104, a blinking instruction unit 106, and an application processing unit 110. Note that the game apparatus 10 may have a plurality of CPUs due to the hardware configuration. In such a case, one CPU functions as the application processing unit 110 that executes the game application, and the other CPU processes the image processing unit 102 that processes the captured image by the imaging device 2, the position estimation unit 104, and the blinking instruction unit 106. May function as

無線通信モジュール108は、コントローラ20の無線通信モジュール58との間で無線通信を確立する。同期確立フェーズにおいては、無線通信モジュール108が、周辺のコントローラ20を含む端末機器に対して接続照会すなわち「問い合わせ」処理を行う。具体的には、無線通信モジュール108が、近くにいる端末機器に対してIQ(問い合わせ)パケットをブロードキャストする。IQパケットを受信したコントローラ20の無線通信モジュール58は、BluetoothアドレスとBluetoothクロック情報を含むFHS(Frequency Hop Synchronization)パケットをゲーム装置10に返信する。この時点における送受信では、周波数ホッピングパターンに関する同意がゲーム装置10とコントローラ20との間で確立していないので、問い合わせ専用に定義された固定ホッピングパターンが用いられる。   The wireless communication module 108 establishes wireless communication with the wireless communication module 58 of the controller 20. In the synchronization establishment phase, the wireless communication module 108 performs a connection inquiry, that is, an “inquiry” process for terminal devices including the peripheral controller 20. Specifically, the wireless communication module 108 broadcasts an IQ (inquiry) packet to nearby terminal devices. The wireless communication module 58 of the controller 20 that has received the IQ packet returns an FHS (Frequency Hop Synchronization) packet including the Bluetooth address and Bluetooth clock information to the game apparatus 10. In the transmission / reception at this time, since the consent regarding the frequency hopping pattern has not been established between the game apparatus 10 and the controller 20, a fixed hopping pattern defined exclusively for inquiry is used.

無線通信モジュール108は、コントローラ20からFHSパケットを受け取り、どのようなコントローラ20が存在するかを把握した後、特定のコントローラ20に対してIDパケットを送信する。これは無線通信モジュール108による「呼び出し」処理である。特定のコントローラ20からIDパケットに対する応答が返ると、無線通信モジュール108はFHSパケットをコントローラ20に送信し、自分のアドレスとクロックをコントローラ20に知らせる。これにより、ゲーム装置10とコントローラ20は、同一のホッピングパターンを共有できるようになる。   The wireless communication module 108 receives the FHS packet from the controller 20, grasps what kind of controller 20 exists, and then transmits an ID packet to the specific controller 20. This is a “calling” process by the wireless communication module 108. When a response to the ID packet is returned from the specific controller 20, the wireless communication module 108 transmits an FHS packet to the controller 20 to notify the controller 20 of its own address and clock. Thereby, the game apparatus 10 and the controller 20 can share the same hopping pattern.

「呼び出し」を行うと、コントローラ20とゲーム装置10との間にピコネットが形成され、「接続」状態に入る。ピコネットとは、Bluetooth端末同士を近づけたときに、端末の間で一時的に形成されるネットワークを意味し、最大で8台のBluetooth端末が1つのピコネットに参加することができる。接続したコントローラ20は、無線通信モジュール108からスレーブ識別子、つまり接続中のコントローラ20に与えられる3ビットのアドレス(1〜7)を割り振られる。このスレーブ識別子は、AM_ADDR(アクティブメンバーアドレス)と呼ばれる。「接続」状態になると、通信リンク設定のための制御パケットが送受信され、これにより「データ転送」が可能となる。   When “calling” is performed, a piconet is formed between the controller 20 and the game apparatus 10 to enter the “connected” state. A piconet means a network that is temporarily formed between terminals when the Bluetooth terminals are brought close to each other, and a maximum of eight Bluetooth terminals can participate in one piconet. The connected controller 20 is assigned a slave identifier from the wireless communication module 108, that is, a 3-bit address (1 to 7) given to the connected controller 20. This slave identifier is called AM_ADDR (active member address). In the “connected” state, a control packet for setting a communication link is transmitted and received, thereby enabling “data transfer”.

なお、以上はゲーム装置10からコントローラ20を呼び出す例について説明したが、コントローラ20からゲーム装置10を呼び出してもよい。この場合、ゲーム装置10がページスキャンを実行している間に、コントローラ20が呼び出し処理を実行する。これによりコントローラ20はゲーム装置10を呼び出して、接続状態に入ることができる。その後、マスタとスレーブの役割をスイッチし、ゲーム装置10がマスタとなり、コントローラ20がスレーブとなる。このようなマスタとスレーブの関係を実現することで、コントローラ20がゲームアプリケーションに参加可能となる。   In addition, although the example which calls the controller 20 from the game device 10 was demonstrated above, you may call the game device 10 from the controller 20. FIG. In this case, the controller 20 executes a calling process while the game apparatus 10 is executing a page scan. As a result, the controller 20 can call the game apparatus 10 and enter the connected state. Thereafter, the roles of the master and slave are switched, and the game apparatus 10 becomes the master and the controller 20 becomes the slave. By realizing such a master-slave relationship, the controller 20 can participate in the game application.

接続状態になり、コントローラ20がゲームアプリケーションに参加すると、アプリケーション処理部110は、コントローラ20のコントローラ番号を割り当て、コントローラ番号を指示する番号指示情報を生成する。無線通信モジュール108は、番号指示情報をコントローラ20に送信する。コントローラ20は、番号指示情報を受信すると、対応するLED40を点灯させる。なお、無線通信モジュール108は、番号指示情報の代わりに、コントローラ番号に対応するLED40の点灯を指示する制御信号をコントローラ20に送信してもよい。   When the connection state is established and the controller 20 participates in the game application, the application processing unit 110 assigns a controller number of the controller 20 and generates number instruction information indicating the controller number. The wireless communication module 108 transmits number instruction information to the controller 20. When the controller 20 receives the number instruction information, the controller 20 turns on the corresponding LED 40. Note that the wireless communication module 108 may transmit, to the controller 20, a control signal instructing lighting of the LED 40 corresponding to the controller number instead of the number instruction information.

ゲームアプリケーションが開始されると、点滅指示部106は、コントローラ20に対して所定の周期で点滅するように点滅パターンを指示する制御信号を生成する。この点滅制御信号は、無線通信モジュール108からコントローラ20に送信される。   When the game application is started, the blinking instruction unit 106 generates a control signal that instructs the controller 20 to blink a pattern so as to blink at a predetermined cycle. This blinking control signal is transmitted from the wireless communication module 108 to the controller 20.

入力部100はUSBインタフェースとして構成され、撮像装置2から所定の撮像速度(たとえば30フレーム/秒)でフレーム画像を取得する。画像処理部102は、後述するLED抽出アルゴリズムにしたがって、フレーム画像からLED画像を抽出する。位置推定部104は、抽出されたLED画像からLED画像の位置情報を取得し、コントローラ20の位置や姿勢を推定する。位置推定部104は、LED画像の位置情報を取得することから、位置取得部として機能してもよい。なおコントローラ20の位置は、4つのLED画像の重心位置に定められてよい。   The input unit 100 is configured as a USB interface, and acquires a frame image from the imaging device 2 at a predetermined imaging speed (for example, 30 frames / second). The image processing unit 102 extracts an LED image from the frame image according to an LED extraction algorithm described later. The position estimation unit 104 acquires the position information of the LED image from the extracted LED image, and estimates the position and orientation of the controller 20. Since the position estimation unit 104 acquires the position information of the LED image, the position estimation unit 104 may function as a position acquisition unit. Note that the position of the controller 20 may be determined at the position of the center of gravity of the four LED images.

点灯する4つのLED40の位置や姿勢から推定されるコントローラ20の位置情報および/または姿勢情報は、ゲームアプリケーションの入力として利用される。そのため位置推定部104で推定されたコントローラ20の位置情報および姿勢情報は、アプリケーション処理部110に逐次送られて、アプリケーションの処理に反映される。アプリケーション処理部110には、ユーザがコントローラ20の方向キー21などを操作した入力も無線通信モジュール108を介して送信される。アプリケーション処理部110は、コントローラ20の位置・姿勢情報と、コントローラ20における操作入力からゲームを進行させて、ゲームアプリケーションの処理結果を示す画像信号および音声信号を生成する。画像信号および音声信号は出力部112からそれぞれ画像表示装置3および音声出力装置4に送られ、出力される。   The position information and / or posture information of the controller 20 estimated from the positions and postures of the four LEDs 40 that are lit are used as input of the game application. Therefore, the position information and posture information of the controller 20 estimated by the position estimation unit 104 are sequentially sent to the application processing unit 110 and reflected in the application processing. An input by the user operating the direction key 21 or the like of the controller 20 is also transmitted to the application processing unit 110 via the wireless communication module 108. The application processing unit 110 advances the game from the position / posture information of the controller 20 and the operation input in the controller 20, and generates an image signal and an audio signal indicating the processing result of the game application. The image signal and the audio signal are sent from the output unit 112 to the image display device 3 and the audio output device 4, respectively, and output.

図6は、画像処理部の構成を示す。画像処理部102は、フレーム画像取得部130、現フレームバッファ132、前フレームバッファ134、差分画像生成部136、2値化画像生成部138、論理演算部140およびLED画像抽出部142を備える。   FIG. 6 shows the configuration of the image processing unit. The image processing unit 102 includes a frame image acquisition unit 130, a current frame buffer 132, a previous frame buffer 134, a difference image generation unit 136, a binary image generation unit 138, a logical operation unit 140, and an LED image extraction unit 142.

フレーム画像取得部130は、入力部100からフレーム画像データを取得し、現フレームバッファ132に一時記憶させる。前フレームバッファ134には、一つ前のフレーム画像データが記憶されている。差分画像生成部136は、現フレームバッファ132に記憶されている現フレームデータと、前フレームバッファ134に記憶されている前フレームデータとの差分画像を生成する。フレーム画像中の座標(x,y)における前フレームデータのR画素値をPr、G画素値をPg、B画素値をPbとし、現フレームデータのR画素値をCr、G画素値をCg、B画素値をCbとしたとき、差分画像関数F(x,y)は、以下の数式で表現される。   The frame image acquisition unit 130 acquires frame image data from the input unit 100 and temporarily stores it in the current frame buffer 132. The previous frame buffer 134 stores the previous frame image data. The difference image generation unit 136 generates a difference image between the current frame data stored in the current frame buffer 132 and the previous frame data stored in the previous frame buffer 134. The R pixel value of the previous frame data at coordinates (x, y) in the frame image is Pr, the G pixel value is Pg, the B pixel value is Pb, the R pixel value of the current frame data is Cr, the G pixel value is Cg, When the B pixel value is Cb, the difference image function F (x, y) is expressed by the following mathematical formula.

Figure 0005089078
Figure 0005089078

ここでThは、所定の閾値である。F(x,y)が0より大きければ、座標(x,y)の画素値が“1”に符号化され、表示上、その画素は白色とされる。一方、F(x,y)が0以下であれば、画素値が“0”に符号化され、表示上、その画素は黒色とされる。このように差分画像生成部136で生成される差分画像は、2値化処理された画像となる。差分画像を生成することで、前フレーム画像と現フレーム画像との間で動きのないオブジェクトの影響を取り除くことができる。   Here, Th is a predetermined threshold value. If F (x, y) is greater than 0, the pixel value at coordinates (x, y) is encoded to “1”, and the pixel is white on display. On the other hand, if F (x, y) is 0 or less, the pixel value is encoded to “0”, and the pixel is black on display. Thus, the difference image generated by the difference image generation unit 136 is an image subjected to binarization processing. By generating the difference image, it is possible to remove the influence of an object that does not move between the previous frame image and the current frame image.

2値化画像生成部138は、現フレームデータを所定の閾値を用いて2値化処理して、2値化された画像を生成する。2値化画像生成部138は、所定の閾値より大きい輝度を保持する画素の画素値を“1”に符号化し、所定の閾値以下の輝度を保持する画素の画素値を“0”に符号化する。現フレーム画像の2値化画像を生成することで、現フレーム画像において明るいオブジェクトのみを抽出することができる。   The binarized image generation unit 138 binarizes the current frame data using a predetermined threshold value, and generates a binarized image. The binarized image generation unit 138 encodes the pixel value of the pixel holding the luminance greater than the predetermined threshold to “1”, and encodes the pixel value of the pixel holding the luminance equal to or lower than the predetermined threshold to “0”. To do. By generating a binarized image of the current frame image, only bright objects can be extracted from the current frame image.

論理演算部140は、差分画像生成部136で生成された差分画像と、2値化画像生成部138で生成された2値化画像とを論理演算した論理演算画像を生成する。詳細には、論理演算部140は、画素ごとに、差分画像の画素値と2値化画像の画素値との論理積演算を行うことで、論理積画像を生成する。これは、差分画像と2値化画像の対応する画素同士の画素値を数学的に論理積演算することで生成される。   The logical operation unit 140 generates a logical operation image obtained by performing a logical operation on the difference image generated by the difference image generation unit 136 and the binarized image generated by the binarized image generation unit 138. Specifically, the logical operation unit 140 generates a logical product image by performing a logical product operation on the pixel value of the difference image and the pixel value of the binarized image for each pixel. This is generated by mathematically ANDing the pixel values of corresponding pixels of the difference image and the binarized image.

図7(a)は、現フレーム画像を示す。現フレーム画像では、ユーザがコントローラ20を把持してゲームをプレイし、右側には照明が点灯している状態が撮像されている。このときコントローラ20の全LED40が点灯している。なお、全てのLED40は、同一の点灯パターンにより、同一輝度で発光している。
図7(b)は、現フレーム画像と前フレーム画像の差分画像を示す。前フレーム画像の位置からコントローラ20を動かすと、数式(1)により差分画像が生成される。この例では、コントローラ20や、コントローラ20と一緒に動く体の少なくとも一部の領域が、白色画像(画素値が“1”になる)として取得される。なお、常にこのような白色画像が取得されるわけではなく、図7(b)は、あくまでも数式(1)を満足したときに生成される差分画像の一例である。このとき、照明は動かないため、差分画像には含まれない。なお、ユーザがコントローラ20を動かさなければ、コントローラ20の白色画像は取得されない。
FIG. 7A shows the current frame image. In the current frame image, the user is holding the controller 20 and playing a game, and the right side is illuminated. At this time, all the LEDs 40 of the controller 20 are lit. All the LEDs 40 emit light with the same luminance by the same lighting pattern.
FIG. 7B shows a difference image between the current frame image and the previous frame image. When the controller 20 is moved from the position of the previous frame image, a difference image is generated by Expression (1). In this example, the controller 20 or at least a part of the body moving with the controller 20 is acquired as a white image (pixel value is “1”). Note that such a white image is not always acquired, and FIG. 7B is merely an example of a difference image generated when Expression (1) is satisfied. At this time, since the illumination does not move, it is not included in the difference image. If the user does not move the controller 20, the white image of the controller 20 is not acquired.

図8(a)は、現フレーム画像の2値化画像を示す。2値化画像では、図7(a)における高輝度領域、すなわち発光しているLEDと、照明のランプとが2値化されて白色画像に変換される。他のノイズを防ぐために、2値化処理する際に設定する閾値は、LEDの発光輝度から所定のマージン値を減じた輝度値に設定されていることが好ましい。
図8(b)は、論理積画像を示す。論理積画像は、図7(b)に示す差分画像と、図8(a)に示す2値化画像との論理積演算を行う。差分画像および2値化画像において、白色画素の画素値は“1”であり、黒色画素の画素値は“0”である。したがって、両方の画像において白色画素として存在している画素のみが、論理積画像において白色画素として生成されることになる。
FIG. 8A shows a binarized image of the current frame image. In the binarized image, the high luminance region in FIG. 7A, that is, the light emitting LED and the illumination lamp are binarized and converted into a white image. In order to prevent other noises, it is preferable that the threshold value set in the binarization process is set to a luminance value obtained by subtracting a predetermined margin value from the light emission luminance of the LED.
FIG. 8B shows a logical product image. The logical product image performs a logical product operation on the difference image shown in FIG. 7B and the binarized image shown in FIG. In the difference image and the binarized image, the pixel value of the white pixel is “1”, and the pixel value of the black pixel is “0”. Therefore, only pixels that exist as white pixels in both images are generated as white pixels in the logical product image.

このように差分画像と2値化画像の論理積をとることで、LED画像を抽出しやすい論理積画像を生成できる。論理積画像は、LED画像抽出部142に送られる。   Thus, by taking the logical product of the difference image and the binarized image, a logical product image from which an LED image can be easily extracted can be generated. The logical product image is sent to the LED image extraction unit 142.

論理積画像が生成されると、前フレームバッファ134に保持されている前フレームデータは、現フレームバッファ132に保持されている現フレームデータにより上書きされる。この上書き処理は、前フレームバッファ134が差分画像生成部136に読み出された直後に行われてもよい。その後、現フレームバッファ132に保持されている現フレームデータは、次のフレームデータにより上書きされて、次のフレームにおける論理積画像の生成処理を実行する。   When the logical product image is generated, the previous frame data held in the previous frame buffer 134 is overwritten by the current frame data held in the current frame buffer 132. This overwriting process may be performed immediately after the previous frame buffer 134 is read by the difference image generation unit 136. Thereafter, the current frame data held in the current frame buffer 132 is overwritten by the next frame data, and the logical product image generation process in the next frame is executed.

LED画像抽出部142は、論理積画像からLED画像を抽出する。LED画像を抽出するためには、まず、LED画像の候補を検出する。続いて、任意の候補を第1LED40aと仮定し、その周辺領域を探索して、第2LED40bとなりうるLED画像候補があるか調査する。第2LED40bが見つかれば、また第1LED40aの周辺領域を探索して、第3LED40cとなりうるLED画像候補があるか調査する。第3LED40cが見つかれば、その周辺領域を探索して、第4LED40dとなりうるLED画像候補があるか調査する。この際、LED画像抽出部142は、複数のLED40により形成される2次元パターンを予め認識しており、この2次元パターンを利用して、LED画像の抽出処理を行う。以下では、説明の便宜上、コントローラ20の筐体背面29において、第1LED40a、第2LED40b、第3LED40c、第4LED40dが正方形の頂点を構成するように配置されている場合を例にとる。   The LED image extraction unit 142 extracts an LED image from the logical product image. In order to extract an LED image, first, an LED image candidate is detected. Subsequently, an arbitrary candidate is assumed to be the first LED 40a, and its peripheral region is searched to check whether there is an LED image candidate that can be the second LED 40b. If the second LED 40b is found, the peripheral area of the first LED 40a is searched to check whether there is an LED image candidate that can become the third LED 40c. If the third LED 40c is found, the surrounding area is searched to check whether there is an LED image candidate that can be the fourth LED 40d. At this time, the LED image extraction unit 142 recognizes a two-dimensional pattern formed by the plurality of LEDs 40 in advance, and performs an LED image extraction process using the two-dimensional pattern. In the following, for convenience of explanation, the case where the first LED 40a, the second LED 40b, the third LED 40c, and the fourth LED 40d are arranged to form a square apex on the housing rear surface 29 of the controller 20 is taken as an example.

なおLED画像抽出部142は、論理積画像を用いずに、2値化画像からLED画像を抽出することも可能である。2値化画像には、LED画像以外のノイズも含まれることになるが、たとえば差分画像においてLED画像を取得できない場合には、2値化画像を利用することで、LED画像の位置および姿勢を検出できる。以下に示す処理手順は、論理積画像および2値化画像のいずれを用いても実行できるが、論理積画像にはLED画像以外のノイズ成分が少ないため、論理積画像を利用する方が処理速度は速い。   The LED image extraction unit 142 can also extract the LED image from the binarized image without using the logical product image. The binarized image includes noise other than the LED image. For example, when the LED image cannot be acquired in the difference image, the binarized image is used to change the position and orientation of the LED image. It can be detected. The processing procedure shown below can be executed using either a logical product image or a binarized image. However, since the logical product image has less noise components other than the LED image, it is faster to use the logical product image. Is fast.

図9は、LED画像候補の検出処理の処理手順を示すフローチャートである。LED画像抽出部142は、論理積画像において、白色画素(画素値が“1”になっている画素)が連続して存在する領域を1つの連結領域として取得する(S100)。次に、LED画像抽出部142は、白色画素連結領域の縁部分を抽出して、短辺および長辺を決定する(S102)。   FIG. 9 is a flowchart illustrating a processing procedure of LED image candidate detection processing. The LED image extraction unit 142 acquires, as one connected region, a region in which white pixels (pixels having a pixel value “1”) continuously exist in the logical product image (S100). Next, the LED image extraction part 142 extracts the edge part of a white pixel connection area | region, and determines a short side and a long side (S102).

LED画像抽出部142は、短辺が所定画素数Ma以上の画素で構成されているか否かを判定する(S104)。短辺が画素数Maより少ない画素で構成されている場合(S104のN)、LED画像抽出部142は、LED画像ではないとして、この白色画素連結領域の処理を終了する。短辺が画素数Ma以上の画素で構成されている場合(S104のY)、LED画像抽出部142は、長辺が所定画素数Mb以下の画素で構成されているか否かを判定する(S106)。長辺が画素数Mbより多い画素で構成されている場合(S106のN)、LED画像抽出部142は、LED画像ではないとして、この白色画素連結領域の処理を終了する。長辺が画素数Mb以下の画素で構成されている場合(S106のY)、LED画像抽出部142は、LED画像の候補であるとして、白色画素連結領域を構成する画素数を取得する(S108)。このLED画像候補検出処理は、全ての白色画素連結領域に対して繰り返される。これにより、論理積画像に含まれるLED画像候補を検出できる。なお、LED画像候補の座標は、連結領域の重心に設定する。   The LED image extraction unit 142 determines whether or not the short side is composed of pixels having a predetermined number of pixels Ma or more (S104). When the short side is composed of pixels smaller than the number of pixels Ma (N in S104), the LED image extraction unit 142 determines that the short image is not an LED image, and ends the processing of the white pixel connection region. When the short side is composed of pixels having the number of pixels Ma or more (Y in S104), the LED image extraction unit 142 determines whether or not the long side is composed of pixels having the predetermined number of pixels Mb or less (S106). ). When the long side is composed of pixels larger than the number of pixels Mb (N in S106), the LED image extraction unit 142 determines that it is not an LED image, and ends the processing of the white pixel connection region. When the long side is composed of pixels having the number of pixels Mb or less (Y in S106), the LED image extraction unit 142 obtains the number of pixels constituting the white pixel connection region as a candidate for the LED image (S108). ). This LED image candidate detection process is repeated for all white pixel connected regions. Thereby, LED image candidates included in the logical product image can be detected. Note that the coordinates of the LED image candidate are set at the center of gravity of the connected region.

図10は、LED抽出処理の処理手順を示すフローチャートである。LED画像抽出部142は、検出されたLED画像候補のうち、任意のLED画像候補を第1LED40aであると仮定する(S120)。次に、第1LED40aに対して、第2LED40bとなりうる条件を満足するLED画像候補が存在するか否かを判定する(S122)。第2LED40bとなるLED画像候補が存在すれば(S122のY)、第1LED40aおよび第2LED40bに対して、第3LED40cとなりうる条件を満足するLED画像候補が存在するか否かを判定する(S124)。第3LED40cとなるLED画像候補が存在すれば(S124のY)、第1LED40a、第2LED40bおよび第3LED40cに対して、第4LED40dとなりうる条件を満足するLED画像候補が存在するか否かを判定する(S126)。第4LED40dとなるLED画像候補が存在すれば(S126のY)、コントローラ20の第1LED40a〜第4LED40dを抽出したことになる。なお、第2LED画像候補が存在しない場合(S122のN)、第3LED画像候補が存在しない場合(S124のN)、第4LED画像候補が存在しない場合(S126のN)は、別のLED画像候補を第1LED40aと仮定して、図8の処理を再実行する。   FIG. 10 is a flowchart illustrating the processing procedure of the LED extraction process. The LED image extraction unit 142 assumes that an arbitrary LED image candidate among the detected LED image candidates is the first LED 40a (S120). Next, it is determined whether or not there is an LED image candidate that satisfies the condition that can be the second LED 40b for the first LED 40a (S122). If there is an LED image candidate to be the second LED 40b (Y in S122), it is determined whether there is an LED image candidate that satisfies the conditions that can be the third LED 40c for the first LED 40a and the second LED 40b (S124). If there is an LED image candidate to be the third LED 40c (Y in S124), it is determined whether or not there is an LED image candidate that satisfies the condition that can be the fourth LED 40d for the first LED 40a, the second LED 40b, and the third LED 40c ( S126). If there is an LED image candidate to be the fourth LED 40d (Y in S126), the first LED 40a to the fourth LED 40d of the controller 20 are extracted. If there is no second LED image candidate (N in S122), no third LED image candidate (N in S124), or no fourth LED image candidate (N in S126), another LED image candidate. Is the first LED 40a, and the process of FIG. 8 is re-executed.

LED抽出処理においては、処理負荷を軽減するために、コントローラ20の姿勢が所定角度以上傾いていないことを処理条件として設定してもよい。LED40は比較的指向性が強いため、コントローラ20を傾けすぎると、撮像装置2において受光が難しくなる。このLED40の指向性を利用して、LED画像候補を探索する際に、第1LED40aから所定角度(たとえば45°)よりも傾いていないことを条件としてLED画像の抽出処理を行うことで、処理負荷を大幅に軽減することが可能となる。   In the LED extraction processing, in order to reduce the processing load, it may be set as a processing condition that the posture of the controller 20 is not inclined more than a predetermined angle. Since the LED 40 has relatively strong directivity, if the controller 20 is tilted too much, it is difficult to receive light in the imaging device 2. When searching for LED image candidates using the directivity of the LED 40, the processing load is reduced by performing the LED image extraction process on the condition that the LED 40 is not inclined at a predetermined angle (for example, 45 °) from the first LED 40a. Can be greatly reduced.

本実施例では、前フレーム画像と現フレーム画像の差分画像を利用するため、コントローラ20に動きがない場合は、LED40の画像は差分画像から除かれる。そのため、差分画像を用いる場合には、図10に示すLED抽出処理により、必ずLED画像が見つかるわけではない。位置推定部104は、図10に示すLED抽出処理によりLED画像が見つからなかった場合は、コントローラ20が前フレームの位置から動いていないものと推定し、前フレームにおけるコントローラ20の位置情報および姿勢情報を取得する。このとき位置推定部104は、2値化画像を用いてLED画像を抽出してもよい。   In this embodiment, since the difference image between the previous frame image and the current frame image is used, the image of the LED 40 is excluded from the difference image when the controller 20 does not move. Therefore, when a difference image is used, an LED image is not always found by the LED extraction process shown in FIG. If no LED image is found by the LED extraction process shown in FIG. 10, the position estimation unit 104 estimates that the controller 20 has not moved from the position of the previous frame, and the position information and orientation information of the controller 20 in the previous frame. To get. At this time, the position estimation unit 104 may extract an LED image using the binarized image.

図11は、図10のS122に示す第2LED検出処理の処理手順を示すフローチャートである。第1LED40aと仮定したLED画像候補の構成画素数をNとする。まずLED画像抽出部142は、LED画像候補の画素数が1/2×N以上であって、且つ2N以下であるか否かを判定する(S140)。これは、LED画像であれば、大きさや形は第1LED40aと大きく変わらないという事実に基づいている。LED画像候補の構成画素数が、構成画素数Nに対して所定の範囲内にあれば(S140のY)、そのLED画像候補が第1LED40aの右方に存在するか否かを判定する(S142)。右方であるか否かの判断は、第1LED40aの右上45°から右下45°の範囲内に存在するか否かにより決定される。第1LED40aの右方にある場合(S142のY)、第1LED40aとLED画像候補との距離D12が、Da以上であって且つDb以下であるか否かを判定する(S144)。ここでは、互いの距離が近すぎたり、また離れすぎている場合には、第2LED40bとして相応しくないことを判定している。距離D12がDa以上であって且つDb以下である場合(S144のY)、そのLED画像候補が第2LED40bとなりうることが判断され、第2LED40bの存在が確認される(S146)。一方、LED画像候補の構成画素数が所定の範囲内にない場合(S140のN)、LED40aの右方に存在しない場合(S142のN)、距離D12が所定の範囲内にない場合(S144のN)には、そのLED画像候補が第2LED40bでないと判断される。 FIG. 11 is a flowchart showing the processing procedure of the second LED detection processing shown in S122 of FIG. The number of constituent pixels of the LED image candidate assumed to be the first LED 40a is N. First, the LED image extraction unit 142 determines whether the number of pixels of the LED image candidate is ½ × N or more and 2N or less (S140). This is based on the fact that the size and shape of an LED image are not significantly different from those of the first LED 40a. If the number of constituent pixels of the LED image candidate is within a predetermined range with respect to the number of constituent pixels N (Y in S140), it is determined whether or not the LED image candidate exists on the right side of the first LED 40a (S142). ). The determination as to whether or not it is right is determined by whether or not the first LED 40a is within a range of 45 ° from the upper right to 45 ° from the lower right. If the right side of the 1LED40a (S142 of Y), determines the distance D 12 between the first 1LED40a and LED image candidate, whether or less and be more than Da Db (S144). Here, when the distance between each other is too close or too far away, it is determined that the second LED 40b is not suitable. Distance If D 12 is less than and Db be more than Da (S144 of Y), it is determined that the LED image candidate may be the 2LED40b, the presence of the 2LED40b is confirmed (S146). On the other hand, if the case where the number of pixels of the LED image candidate is not within a predetermined range (S140 of N), is not present on the right side of the LED 40a (S142 of N), the distance D 12 is not within the predetermined range (S144 N), it is determined that the LED image candidate is not the second LED 40b.

図12は、図10のS124に示す第3LED検出処理の処理手順を示すフローチャートである。第1LED40aと仮定したLED画像候補の構成画素数をNとする。まずLED画像抽出部142は、LED画像候補の画素数が1/2×N以上であって、且つ2N以下であるか否かを判定する(S160)。LED画像候補の構成画素数が、構成画素数Nに対して所定の範囲内にあれば(S160のY)、そのLED画像候補が第1LED40aの下方に存在するか否かを判定する(S162)。下方であるか否かの判断は、第1LED40aの左下45°から右下45°の範囲内に存在するか否かにより決定される。第1LED40aの下方にある場合(S162のY)、第1LED40aとLED画像候補との距離が、1/√2×D12以上であって且つ√2D12以下であるか否かを判定する(S164)。ここでは、互いの距離が近すぎたり、また離れすぎている場合には、第3LED40cとして相応しくないことを判定している。距離が1/√2×D12以上であって且つ√2D12以下である場合(S164のY)、第1LED40aから第2LED40bまでの線分と、第1LED40aからLED画像候補までの線分の角度が所定の範囲内であるか否かが判定される(S166)。このとき、所定の範囲内にあれば(S166のY)、そのLED画像候補が第3LED40cとなりうることが判断され、第3LED40cの存在が確認される(S168)。一方、LED画像候補の構成画素数が所定の範囲内にない場合(S160のN)、LED40aの下方に存在しない場合(S162のN)、第1LED40aとの距離が所定の範囲内にない場合(S164のN)、角度が所定の範囲内にない場合(S166のN)には、そのLED画像候補が第3LED40cでないと判断される(S170)。 FIG. 12 is a flowchart showing a processing procedure of the third LED detection processing shown in S124 of FIG. The number of constituent pixels of the LED image candidate assumed to be the first LED 40a is N. First, the LED image extraction unit 142 determines whether the number of pixels of the LED image candidate is ½ × N or more and 2N or less (S160). If the number of constituent pixels of the LED image candidate is within a predetermined range with respect to the number of constituent pixels N (Y in S160), it is determined whether or not the LED image candidate exists below the first LED 40a (S162). . The determination of whether or not it is below is determined by whether or not the first LED 40a exists within a range of 45 ° from the lower left to the lower right 45 °. If the bottom of the 1LED40a (S162 of Y), the distance between the first 1LED40a and LED image candidate, determines whether 1 / √2 × either be a D 12 or more and and √2D 12 or less (S164 ). Here, when the distance between each other is too close or too far away, it is determined that the third LED 40c is not suitable. If distance is a to and √2D 12 or less 1 / √2 × D 12 or more (S164 in Y), and the line segment from the 1LED40a until the 2LED40b, angle of the line segment from the 1LED40a until the LED image candidate Is determined to be within a predetermined range (S166). At this time, if it is within the predetermined range (Y in S166), it is determined that the LED image candidate can be the third LED 40c, and the presence of the third LED 40c is confirmed (S168). On the other hand, when the number of constituent pixels of the LED image candidate is not within the predetermined range (N of S160), when it is not present below the LED 40a (N of S162), when the distance from the first LED 40a is not within the predetermined range ( If the angle is not within the predetermined range (N in S166), it is determined that the LED image candidate is not the third LED 40c (S170).

図13は、図10のS126に示す第4LED検出処理の処理手順を示すフローチャートである。第1LED40aと仮定したLED画像候補の構成画素数をNとする。まずLED画像抽出部142は、LED画像候補の画素数が1/2×N以上であって、且つ2N以下であるか否かを判定する(S180)。LED画像候補の構成画素数が、構成画素数Nに対して所定の範囲内にあれば(S180のY)、第1LED40aから第2LED40bのベクトルと、第3LED40cとLED画像候補のベクトルのなす角度が所定値以下であるか否かを判定する(S182)。第1LED40aから第2LED40bのベクトルと、第3LED40cとLED画像候補のベクトルのなす角度が所定値以下であれば(S182のY)、第1LED40aから第3LED40cのベクトルと、第2LED40bとLED画像候補のベクトルのなす角度が所定値以下あるか否かを判定する(S184)。第1LED40aから第3LED40cのベクトルと、第2LED40bとLED画像候補のベクトルのなす角度が所定値以下であれば(S184のY)、そのLED画像候補が第4LED40dとなりうることが判断され、第4LED40dの存在が確認される(S186)。一方、LED画像候補の構成画素数が所定の範囲内にない場合(S180のN)、第1LED40aから第2LED40bのベクトルと、第3LED40cとLED画像候補のベクトルのなす角度が所定値を超える場合(S182のN)、第1LED40aから第3LED40cのベクトルと、第2LED40bとLED画像候補のベクトルのなす角度が所定値を超える場合は(S184のN)、そのLED画像候補が第4LED40dでないと判断される(S188)。   FIG. 13 is a flowchart showing the procedure of the fourth LED detection process shown in S126 of FIG. The number of constituent pixels of the LED image candidate assumed to be the first LED 40a is N. First, the LED image extraction unit 142 determines whether or not the number of pixels of the LED image candidate is ½ × N or more and 2N or less (S180). If the number of constituent pixels of the LED image candidate is within a predetermined range with respect to the number of constituent pixels N (Y in S180), the angle formed by the vector of the first LED 40a to the second LED 40b and the vector of the third LED 40c and the LED image candidate is It is determined whether or not it is equal to or less than a predetermined value (S182). If the angle formed by the vectors of the first LED 40a to the second LED 40b and the vector of the third LED 40c and the LED image candidate is equal to or smaller than a predetermined value (Y in S182), the vector of the first LED 40a to the third LED 40c and the vector of the second LED 40b and the LED image candidate It is determined whether or not the angle formed by is less than or equal to a predetermined value (S184). If the angle formed by the vectors of the first LED 40a to the third LED 40c and the vector of the second LED 40b and the LED image candidate is equal to or smaller than a predetermined value (Y in S184), it is determined that the LED image candidate can be the fourth LED 40d. Existence is confirmed (S186). On the other hand, when the number of constituent pixels of the LED image candidate is not within the predetermined range (N in S180), the angle formed by the vector of the first LED 40a to the second LED 40b and the vector of the third LED 40c and the LED image candidate exceeds a predetermined value ( If the angle formed by the vectors of the first LED 40a to the third LED 40c and the vector of the second LED 40b and the LED image candidate exceeds a predetermined value (N of S184), it is determined that the LED image candidate is not the fourth LED 40d. (S188).

以上により、LED画像抽出部142は、論理積画像から第1LED40a〜第4LED40dの画像を抽出することができる。抽出された第1LED40a〜第4LED40dの画像の位置情報は、位置推定部104に送られる。   As described above, the LED image extraction unit 142 can extract the images of the first LED 40a to the fourth LED 40d from the logical product image. The extracted position information of the images of the first LED 40 a to the fourth LED 40 d is sent to the position estimation unit 104.

位置推定部104は、コントローラ20におけるLED40の2次元配置に基づき、第1LED40a〜第4LED40dの画像のフレーム画像における位置情報を取得する。位置推定部104は、抽出した第1LED40a、第2LED40b、第3LED40cおよび第4LED40dのアフィン変換を求めて、実空間における位置および姿勢を算出する。実空間における位置は、直交座標系における座標(X,Y,Z)であり、実空間における姿勢は、X軸、Y軸、Z軸における回転角である。3軸における座標および回転角を求めることで、位置推定部104は、撮像装置2からの距離も含めた空間内での位置を推定できる。位置推定部104は、アフィン変換を求めることで、コントローラ20のフレーム画像中の位置を推定してもよい。たとえば、XYZ空間のうちのXY座標をとることでフレーム画像中の位置を取得することができる。位置推定部104は、推定したコントローラ20の位置や姿勢をアプリケーション処理部110に送る。   The position estimation unit 104 acquires position information in the frame images of the images of the first LED 40a to the fourth LED 40d based on the two-dimensional arrangement of the LEDs 40 in the controller 20. The position estimation unit 104 calculates affine transformation of the extracted first LED 40a, second LED 40b, third LED 40c, and fourth LED 40d, and calculates the position and orientation in real space. The position in the real space is a coordinate (X, Y, Z) in the orthogonal coordinate system, and the posture in the real space is a rotation angle in the X axis, the Y axis, and the Z axis. By obtaining the coordinates and rotation angles in the three axes, the position estimation unit 104 can estimate the position in the space including the distance from the imaging device 2. The position estimation unit 104 may estimate the position of the controller 20 in the frame image by obtaining affine transformation. For example, the position in the frame image can be acquired by taking the XY coordinates in the XYZ space. The position estimation unit 104 sends the estimated position and orientation of the controller 20 to the application processing unit 110.

なお、上記したようにアフィン変換によりコントローラ20の位置および姿勢を算出してもよいが、たとえばゲーム装置10は、特定のコントローラ20に対して、4つのLED40のうちの3つを点灯するように指示して、点灯した3つのLED画像から、コントローラ20の位置および姿勢を取得することも可能である。ゲーム装置10は、上記したアルゴリズムと同様の手法を用いて、3つのLED40、たとえば第1LED40a、第2LED40b、第3LED40cの点灯画像を抽出して、位置推定部104が、そのコントローラ20の位置および姿勢を推定してもよい。このとき、位置推定部104は、第1LED40a、第2LED40b、第3LED40c、第4LED40dの位置関係を予め把握しており、そのうち第1LED40a、第2LED40b、第3LED40cの位置関係を満足するLED画像候補を抽出することで、コントローラ20の位置および姿勢を推定することができる。   As described above, the position and orientation of the controller 20 may be calculated by affine transformation. For example, the game apparatus 10 turns on three of the four LEDs 40 with respect to a specific controller 20. It is also possible to acquire the position and orientation of the controller 20 from the three LED images that have been instructed. The game apparatus 10 extracts lighting images of three LEDs 40, for example, the first LED 40a, the second LED 40b, and the third LED 40c, using a method similar to the algorithm described above, and the position estimation unit 104 determines the position and orientation of the controller 20 May be estimated. At this time, the position estimation unit 104 grasps in advance the positional relationship between the first LED 40a, the second LED 40b, the third LED 40c, and the fourth LED 40d, and extracts LED image candidates that satisfy the positional relationship among the first LED 40a, the second LED 40b, and the third LED 40c. By doing so, the position and orientation of the controller 20 can be estimated.

LED40の誤認識を回避するために、位置推定部104は、前回取得したLED画像の位置と、今回取得したLED画像の位置の変化量が所定値を超える場合、今回取得したLED画像の位置をエラーとして処理する。すなわち、1フレームの間に、位置や姿勢が所定値以上変化する場合は、外乱的な要素により他のオブジェクトをLED40として誤認識した可能性があるため、抽出したLED40の位置情報を破棄する。   In order to avoid erroneous recognition of the LED 40, the position estimation unit 104 determines the position of the LED image acquired this time when the position of the previously acquired LED image and the amount of change in the position of the LED image acquired this time exceed a predetermined value. Treat as an error. That is, if the position or orientation changes by a predetermined value or more during one frame, another object may be erroneously recognized as the LED 40 due to a disturbing element, and thus the extracted position information of the LED 40 is discarded.

しかしながら、そのような場合であっても、実際に大きな変化量でコントローラ20が移動することもあり得るため、位置推定部104は、連続して発生するエラーの回数をカウントし、カウント値が所定値に到達した場合に、そのときに取得したLED画像の位置を正常なものとして処理してもよい。   However, even in such a case, the controller 20 may actually move with a large amount of change. Therefore, the position estimation unit 104 counts the number of consecutive errors, and the count value is predetermined. When the value is reached, the position of the LED image acquired at that time may be processed as normal.

位置推定部104は、たとえば現フレーム画像や、論理積画像をもとに、LED40の移動方向や速度を推定することも可能である。たとえば撮像装置2のシャッタースピードを落とすと、LED40の画像が楕円や直方体として撮像されることになる。そこで、LED画像の形状から、移動方向のみならず、移動速度も推定することが可能である。たとえば移動方向および速度が推定できれば、撮像装置2において突然見えなくなった場合でも、コントローラ20の位置や姿勢を予測できる。全てのLED40の形状が同じ方向に偏っているような場合に、コントローラ20の移動方向と速度を推定してもよい。   The position estimation unit 104 can also estimate the moving direction and speed of the LED 40 based on, for example, the current frame image or logical product image. For example, when the shutter speed of the imaging device 2 is decreased, the image of the LED 40 is captured as an ellipse or a rectangular parallelepiped. Therefore, not only the moving direction but also the moving speed can be estimated from the shape of the LED image. For example, if the moving direction and speed can be estimated, the position and orientation of the controller 20 can be predicted even when the imaging apparatus 2 suddenly disappears. When the shapes of all the LEDs 40 are biased in the same direction, the moving direction and speed of the controller 20 may be estimated.

アプリケーション処理部110は、推定されたコントローラ20の位置や姿勢を、ゲーム入力としてゲームアプリケーションの処理に反映する。この反映の手法は様々考えられるが、最も直観的には、推定したコントローラ20の位置に対応したゲーム画像中の位置に、仮想オブジェクトを追従させて表示する。ユーザが撮像装置2に対してコントローラ20を動かすと、その動きに追従してゲーム画像内の仮想オブジェクトを動かすことができる。   The application processing unit 110 reflects the estimated position and orientation of the controller 20 in the game application process as a game input. Although various reflection methods can be considered, most intuitively, the virtual object is displayed following the position in the game image corresponding to the estimated position of the controller 20. When the user moves the controller 20 with respect to the imaging device 2, the virtual object in the game image can be moved following the movement.

なお、理想的な状態であればフレーム画像ごとにLED40の位置や姿勢を求めてゲーム画像に反映していけばよいが、一方で、コントローラ20の向きや周辺光の環境などにより、フレーム画像においてLED40の位置や姿勢を求められない状況も発生しうる。そのような状況が続いた後に、突然、LED40の位置や姿勢が求められると、停止していた仮想オブジェクトが新たな位置にいきなり移動することになり、ユーザに違和感を与える。そのため、論理積画像からLED40の位置や姿勢を検出できたとしても、ゲーム画像としては、仮想オブジェクトを取得した位置まで移動させるのではなく、仮に情報落ちがあった場合であっても、スムーズな動きを実現できるように追従処理を行わせることとする。   In an ideal state, the position and orientation of the LED 40 may be obtained for each frame image and reflected in the game image. On the other hand, depending on the orientation of the controller 20, the ambient light environment, etc. There may also be situations where the position or orientation of the LED 40 is not required. If the position and orientation of the LED 40 are suddenly obtained after such a situation continues, the virtual object that has been stopped suddenly moves to a new position, giving the user a sense of incongruity. For this reason, even if the position and orientation of the LED 40 can be detected from the logical product image, the game image is not moved to the position where the virtual object is acquired. The follow-up process is performed so that the movement can be realized.

図14(a)、図14(b)は、コントローラに対応する仮想オブジェクトがゲーム画面内で円滑な追従動作を実現するためのアルゴリズムを説明するための図である。説明の便宜上、仮想オブジェクトの位置変化について説明するが、姿勢変化についても同様のアルゴリズムを適用することができる。   FIG. 14A and FIG. 14B are diagrams for explaining an algorithm for the virtual object corresponding to the controller to realize a smooth follow-up operation in the game screen. For convenience of explanation, the position change of the virtual object will be described, but the same algorithm can be applied to the attitude change.

位置推定部104において、アフィン変換を求めることで導出された位置パラメータが、Pi−1、P、Pi+1(Pの添字は、ゲーム画面フレームの番号を示す)とする。まず、フレーム画像が切り替り、PからPi+1に位置パラメータが変化する場合を考える。
新たな位置パラメータ(Pi+1)が得られたとき、ゲーム画面に反映する位置パラメータは、以下の式で求められる。
i+1=(Q+Pi+1)/2
すなわち、新たな位置パラメータPi+1に直接移動するのではなく、前フレームのゲーム画面における位置パラメータと、現フレームの新たな位置パラメータPi+1との中点を、ゲーム画面における新たな位置パラメータとして設定する。なお、位置パラメータQi+1は、位置パラメータQと位置パラメータPi+1の中点である必要はなく、位置パラメータQと位置パラメータPi+1の間の線分をA:Bに分割する点であってもよい。
The position parameters derived by obtaining the affine transformation in the position estimation unit 104 are P i−1 , P i , and P i + 1 (the subscript of P indicates the number of the game screen frame). First, consider the case where the frame image is switched and the position parameter changes from P i to P i + 1 .
When a new position parameter (P i + 1 ) is obtained, the position parameter reflected on the game screen is obtained by the following equation.
Q i + 1 = (Q i + P i + 1 ) / 2
In other words, instead of moving directly to a new position parameter P i + 1 set, and the position parameter on the game screen of the previous frame, the middle point between the new position parameter P i + 1 of the current frame, as a new position parameter on the game screen To do. The position parameter Q i + 1 need not be a position parameter Q i and the position parameter P i + 1 of the midpoint, the line segment between the position parameter Q i position parameter P i + 1 A: a point which divides the B May be.

図14(b)は、位置パラメータとしてPi+1が取得できなかった場合の例である。このような場合は、本アルゴリズムの効果を発揮できる。この場合は、最新の位置パラメータがPi+1の代わりに利用される。ここで最新の位置パラメータはPであり、
i+1=(Q+P)/2
として求められる。
本アルゴリズムによりゲーム画像における位置パラメータQを取得すると、空間内のコントローラ20が大きく変位したり、また論理積画像から抽出できない場合であっても、仮想オブジェクトは常に少しずつ移動できる。そのため、ゲーム画像中で仮想オブジェクトが急に動かなくなったり、また急に動いたりする状況の発生を回避でき、コントローラ20に対して円滑な追従処理を実現できる。
FIG. 14B shows an example when Pi + 1 cannot be acquired as the position parameter. In such a case, the effect of this algorithm can be exhibited. In this case, the latest position parameter is used instead of Pi + 1 . Here with the latest position parameter is a P i,
Q i + 1 = (Q i + P i ) / 2
As required.
When the position parameter Q in the game image is acquired by this algorithm, the virtual object can always move little by little even if the controller 20 in the space is greatly displaced or cannot be extracted from the logical product image. Therefore, it is possible to avoid a situation in which the virtual object suddenly stops moving or suddenly moves in the game image, and a smooth follow-up process can be realized for the controller 20.

本実施例では、コントローラ20を撮像装置2で撮像して、フレーム画像からコントローラ20の位置や姿勢を推定し、その位置情報や姿勢情報をゲームアプリケーションの処理に反映させることとした。コントローラ20のLED40は、たとえばゲームアプリケーションの進行状況に応じて点灯パターンを変更してもよい。   In this embodiment, the controller 20 is imaged by the imaging device 2, the position and orientation of the controller 20 are estimated from the frame image, and the position information and orientation information are reflected in the processing of the game application. The LED 40 of the controller 20 may change the lighting pattern according to the progress of the game application, for example.

ユーザがゲームアプリケーションに参加した直後に、ゲーム装置10は、コントローラ20に対して所定の低周波で4つのLED40を点灯させる制御信号を送信してもよい。点滅指示部106は、コントローラ20に対して所定の低周波での点滅パターンを指示する制御信号を生成する。この低周波点滅制御信号は、無線通信モジュール108からコントローラ20に送信される。なお、複数のコントローラ20が存在する場合には、コントローラ20ごとに点滅周波数が設定される。   Immediately after the user participates in the game application, the game apparatus 10 may transmit a control signal for lighting the four LEDs 40 to the controller 20 at a predetermined low frequency. The blinking instruction unit 106 generates a control signal that instructs the controller 20 to blink a predetermined low frequency. This low frequency blinking control signal is transmitted from the wireless communication module 108 to the controller 20. When there are a plurality of controllers 20, a blinking frequency is set for each controller 20.

コントローラ20は、指定された低周波でLED40を点灯し、撮像装置2は、30枚/秒の撮像速度でフレーム画像を撮像する。ゲーム装置10は、複数のフレーム画像から、所定の周期で点灯をオンオフしているLED画像を抽出する。ゲームシステム1内に複数のコントローラ20が存在する場合は、コントローラ20ごとに点灯の周期を設定する。これにより、コントローラ20の位置を確認できるとともに、それぞれのコントローラ20を区別して認識することもできる。この処理は、理想的にはゲームアプリケーションに参加後、1回行われればよいが、実空間内ではコントローラ20が撮像装置2から突然見えなくなることもある。そのため、数秒ごとなどの所定の周期で、各コントローラ20は、コントローラごとに設定された低周波でLED40を点滅させてもよい。   The controller 20 lights the LED 40 at a designated low frequency, and the imaging device 2 captures a frame image at an imaging speed of 30 frames / second. The game apparatus 10 extracts LED images that are turned on and off at predetermined intervals from a plurality of frame images. When there are a plurality of controllers 20 in the game system 1, a lighting cycle is set for each controller 20. Thus, the position of the controller 20 can be confirmed, and each controller 20 can be distinguished and recognized. This process should ideally be performed once after participating in the game application, but the controller 20 may suddenly disappear from the imaging device 2 in the real space. Therefore, each controller 20 may blink the LED 40 at a low frequency set for each controller at a predetermined cycle such as every few seconds.

たとえば4つのLED40が低周波で点灯と消灯を行う場合には、LED40を撮像できるフレームと、撮像できないフレームとが所定の周期で切り替わることになる。撮像周期(30フレーム/秒)に対して、LED40を45Hzで点灯制御すると、連続した2枚のフレームで撮像され、次は撮像されない、という状況が繰り返される。フレーム画像に撮像される場合と撮像されない場合とがあるため、LED40が静止した状態であっても、位置情報を取得できる。   For example, when the four LEDs 40 are turned on and off at a low frequency, a frame in which the LED 40 can be imaged and a frame in which the LED 40 cannot be imaged are switched at a predetermined cycle. When the LED 40 is controlled to be turned on at 45 Hz with respect to the imaging cycle (30 frames / second), the situation is repeated in which images are taken in two consecutive frames and the next is not taken. Since the frame image may be captured or not captured, the position information can be acquired even when the LED 40 is stationary.

ここで低周波点灯とは、撮像周期に対して、LED発光が撮像されるフレームと撮像されないフレームとが存在しうるような周波数での点灯を意味する。一方、高周波点灯とは、撮像装置2の撮像周期(30フレーム/秒)に対して常にフレーム画像に撮像されるような周波数での点灯を意味する。たとえば、1kHzでLED40を点灯した場合であっても、たとえば撮像装置2の撮像速度が非常に高ければ、LED発光が撮像されるフレームと撮像されないフレームとが出現するため、LED40が静止した状態であっても、位置情報を取得できる。   Here, the low-frequency lighting means lighting at a frequency such that a frame in which LED light emission is captured and a frame in which imaging is not performed can exist with respect to the imaging cycle. On the other hand, high-frequency lighting means lighting at a frequency such that a frame image is always captured with respect to the imaging cycle (30 frames / second) of the imaging device 2. For example, even if the LED 40 is turned on at 1 kHz, for example, if the imaging speed of the imaging device 2 is very high, a frame in which LED light emission is captured and a frame in which the LED emission is not captured appear. Even if it exists, position information can be acquired.

高周波点灯するLED40の位置や姿勢は、ゲームアプリケーションの入力として利用される。そのため、位置推定部104で推定されたコントローラ20の位置情報は、アプリケーション処理部110に逐次送られて、アプリケーションの処理に反映される。アプリケーション処理部110には、ユーザがコントローラ20の方向キー21などを操作した入力も無線通信モジュール108を介して送信される。アプリケーション処理部110は、コントローラ20の位置・姿勢情報と、コントローラ20における操作入力からゲームを進行させて、ゲームアプリケーションの処理結果を示す画像信号および音声信号を生成する。   The position and orientation of the LED 40 that is lit at a high frequency are used as an input for the game application. Therefore, the position information of the controller 20 estimated by the position estimation unit 104 is sequentially sent to the application processing unit 110 and reflected in the application processing. An input by the user operating the direction key 21 or the like of the controller 20 is also transmitted to the application processing unit 110 via the wireless communication module 108. The application processing unit 110 advances the game from the position / posture information of the controller 20 and the operation input in the controller 20, and generates an image signal and an audio signal indicating the processing result of the game application.

また、変形例として、4つのLED40のうちの1つを他のLED40とは異なる点滅パターンで点灯させることで、特定のLED40を認識することも可能となる。たとえば3つのLEDは高周波点灯を行い、1つのLEDに低周波点灯を行わせることで、たとえばフレーム画像中の第1LED40aがどれであるのかを確認することも可能となる。またこのとき、LED40を一意に認識できるだけでなく、その姿勢も取得することができる。   As a modification, it is also possible to recognize a specific LED 40 by lighting one of the four LEDs 40 with a blinking pattern different from that of the other LEDs 40. For example, three LEDs perform high-frequency lighting, and one LED performs low-frequency lighting, so that, for example, it is possible to check which of the first LEDs 40a in the frame image is. At this time, not only the LED 40 can be uniquely recognized, but also its posture can be acquired.

実施例において開示された発明の特徴は、次の項目によって規定されてもよい。
(項目1)
入力されるフレーム画像から発光体画像の位置を取得する画像処理装置であって、
前フレーム画像と現フレーム画像の差分画像を生成する差分画像生成部と、
現フレーム画像を所定の閾値を用いて2値化処理して2値化画像を生成する2値化画像生成部と、
前記差分画像と前記2値化画像とを論理演算した論理演算画像を生成する論理演算部と、
前記論理演算画像から発光体画像を抽出する抽出部と、
発光体画像のフレーム画像における位置を取得する位置取得部と、
を備えることを特徴とする画像処理装置。
(項目2)
前記論理演算部は、画素ごとに、前記差分画像の画素値と前記2値化画像の画素値との論理積演算を行うことで、論理演算画像を生成することを特徴とする項目1に記載の画像処理装置。
(項目3)
前記抽出部は、複数の発光体により形成される2次元パターンを予め認識しており、当該2次元パターンを利用して、発光体画像の抽出処理を行うことを特徴とする項目1または2に記載の画像処理装置。
(項目4)
前記位置取得部は、前回取得した発光体画像の位置と今回取得した発光体画像の位置の変化量が所定値を超える場合、今回取得した発光体画像の位置を、エラーとして処理することを特徴とする項目1から3のいずれかに記載の画像処理装置。
(項目5)
前記位置取得部は、連続して発生するエラーの回数をカウントし、カウント値が所定値に到達した場合に、そのときに取得した発光体画像の位置を正常なものとして処理することを特徴とする項目4に記載の画像処理装置。
The features of the invention disclosed in the embodiments may be defined by the following items.
(Item 1)
An image processing apparatus for acquiring a position of a light emitter image from an input frame image,
A difference image generation unit for generating a difference image between the previous frame image and the current frame image;
A binarized image generating unit that binarizes the current frame image using a predetermined threshold and generates a binarized image;
A logical operation unit that generates a logical operation image obtained by performing a logical operation on the difference image and the binarized image;
An extractor for extracting a light emitter image from the logical operation image;
A position acquisition unit for acquiring the position of the illuminant image in the frame image;
An image processing apparatus comprising:
(Item 2)
Item 1. The item according to Item 1, wherein the logical operation unit generates a logical operation image by performing a logical product operation on a pixel value of the difference image and a pixel value of the binarized image for each pixel. Image processing apparatus.
(Item 3)
Item 1 or 2 is characterized in that the extraction unit recognizes a two-dimensional pattern formed by a plurality of light emitters in advance and performs a light emitter image extraction process using the two-dimensional pattern. The image processing apparatus described.
(Item 4)
The position acquisition unit processes the position of the light emitter image acquired this time as an error when the amount of change between the position of the light emitter image acquired last time and the position of the light emitter image acquired this time exceeds a predetermined value. The image processing apparatus according to any one of items 1 to 3.
(Item 5)
The position acquisition unit counts the number of errors that occur continuously, and when the count value reaches a predetermined value, processes the position of the illuminator image acquired at that time as a normal one. Item 5. The image processing apparatus according to Item 4.

(2)2次元コードを利用した位置情報および/または姿勢情報の取得方法
以下に説明するコントローラ20の位置情報および/または姿勢情報の取得方法では、図1に示すゲームシステム1において、コントローラ20が、LED40の代わりに、2次元コードを有して構成される。この2次元コードは、撮像装置2により撮像されて、ゲーム装置10においてコントローラ20の実空間における位置情報および姿勢情報を取得するために利用される。
(2) Method for Acquiring Position Information and / or Posture Information Using Two-dimensional Code In the method for acquiring position information and / or posture information of controller 20 described below, in game system 1 shown in FIG. Instead of the LED 40, a two-dimensional code is provided. This two-dimensional code is picked up by the image pickup device 2 and used to acquire position information and posture information in the real space of the controller 20 in the game device 10.

図15は、2次元コードを有するコントローラ20を示す。コントローラ20は、筐体背面29において、自身を一意に識別するための2次元コード70を有して構成される。2次元コード70およびその識別方法は、たとえば本出願人により出願された特開2006−72667号公報に開示された2次元コードおよびその識別方法と同様のものであってよい。   FIG. 15 shows a controller 20 having a two-dimensional code. The controller 20 is configured to have a two-dimensional code 70 for uniquely identifying itself on the housing rear surface 29. The two-dimensional code 70 and its identification method may be the same as the two-dimensional code and its identification method disclosed in, for example, Japanese Patent Application Laid-Open No. 2006-72667 filed by the present applicant.

図16は、2次元コード70を構成する2次元パターンの一例を示す。2次元コード70は、コントローラ20の筐体背面29に刻印されてもよく、また印刷物として貼り付けられてもよい。2次元コード70には、方向指示部11と識別部12とが形成されている。方向指示部11は、2次元コード70の上方を示すために設けられ、識別部12は、2次元コード70を一意に識別するための特徴部分を表現するために設けられる。識別部12は、所定の区画内に複数のブロックを有して作成されたコード情報である。複数のブロックのうち、4角のブロックは複数の2次元コード70に共通して付与され、実質的には4角以外のブロックにより、特徴部分が形成される。4角のブロックは、撮像装置2からの距離を測定するために利用される。   FIG. 16 shows an example of a two-dimensional pattern constituting the two-dimensional code 70. The two-dimensional code 70 may be stamped on the housing rear surface 29 of the controller 20 or may be affixed as a printed matter. In the two-dimensional code 70, a direction instruction unit 11 and an identification unit 12 are formed. The direction instructing unit 11 is provided to indicate the upper side of the two-dimensional code 70, and the identification unit 12 is provided to express a characteristic part for uniquely identifying the two-dimensional code 70. The identification unit 12 is code information created with a plurality of blocks in a predetermined section. Among the plurality of blocks, the quadrangular blocks are assigned in common to the plurality of two-dimensional codes 70, and the characteristic portions are substantially formed by blocks other than the quadrangular blocks. The quadrangular block is used to measure the distance from the imaging device 2.

図5に戻って、画像処理部102は、フレーム画像中の2次元コード70を認識すると、2次元コード70の画像における4角のブロック間の長さをもとに、撮像装置2と2次元コード70との距離を計算して求める。また、画像処理部102は、2次元コード70の方向指示部11を検出して、フレーム画像において2次元コード70が向いている方向を求める。この場合、識別部12に対して方向指示部11が存在する方向が上方となる。さらに、画像処理部102は、識別部12の4角以外のブロックから、2次元コード70の識別情報を取得する。   Referring back to FIG. 5, when the image processing unit 102 recognizes the two-dimensional code 70 in the frame image, the image processing unit 102 and the imaging device 2 are two-dimensionally based on the length between the four square blocks in the image of the two-dimensional code 70. The distance from the code 70 is calculated and obtained. Further, the image processing unit 102 detects the direction indicating unit 11 of the two-dimensional code 70 and obtains the direction in which the two-dimensional code 70 is facing in the frame image. In this case, the direction in which the direction instruction unit 11 exists is higher than the identification unit 12. Further, the image processing unit 102 acquires identification information of the two-dimensional code 70 from a block other than the four corners of the identification unit 12.

画像処理部102は、実空間中で2次元コード70が傾斜された状態についても、画像解析により認識する機能をもつ。画像処理部102において画像解析された結果は、位置推定部104に送られる。位置推定部104は、画像処理部102における画像解析結果をもとに、2次元コード70の位置および姿勢を推定する。   The image processing unit 102 has a function of recognizing a state where the two-dimensional code 70 is tilted in real space by image analysis. The result of the image analysis performed by the image processing unit 102 is sent to the position estimation unit 104. The position estimation unit 104 estimates the position and orientation of the two-dimensional code 70 based on the image analysis result in the image processing unit 102.

図17は、画像処理部102の構成を示す。画像処理部102は、フレーム画像取得部130、実オブジェクト抽出部150、状態決定部152、識別情報取得部154、識別情報格納部156および送出部160を備える。識別情報格納部156は、実オブジェクトを識別するための特徴部分の情報と、実オブジェクトを識別するための識別情報とを対応付けて記憶する。具体的には、図16における2次元コード70の識別部12のパターン情報と、識別情報とを1対1に対応付けて記憶している。たとえば識別情報は、ゲーム装置10においてキャラクタの割当てに利用されてもよい。特に、複数の2次元コード70の存在を許可するゲームアプリケーションにおいては、2次元コード70のそれぞれを識別情報と紐付けすることで、2次元コード70を認識可能となる。状態決定部152は、設定した座標系における実オブジェクトの状態を決定し、具体的には、姿勢を決定する姿勢決定部162、および位置を決定する位置決定部164を有する。   FIG. 17 shows the configuration of the image processing unit 102. The image processing unit 102 includes a frame image acquisition unit 130, a real object extraction unit 150, a state determination unit 152, an identification information acquisition unit 154, an identification information storage unit 156, and a transmission unit 160. The identification information storage unit 156 stores characteristic part information for identifying a real object and identification information for identifying the real object in association with each other. Specifically, the pattern information of the identification unit 12 of the two-dimensional code 70 in FIG. 16 and the identification information are stored in a one-to-one correspondence. For example, the identification information may be used for character assignment in the game apparatus 10. In particular, in a game application that permits the presence of a plurality of two-dimensional codes 70, the two-dimensional code 70 can be recognized by associating each of the two-dimensional codes 70 with identification information. The state determination unit 152 determines the state of the real object in the set coordinate system, and specifically includes a posture determination unit 162 that determines the posture and a position determination unit 164 that determines the position.

フレーム画像取得部130が、撮像装置2にて撮像された実空間のフレーム画像を取得する。撮像装置2は、周期的にフレーム画像を取得し、好適には1/30秒間隔でフレーム画像を取得する。   The frame image acquisition unit 130 acquires a real space frame image captured by the imaging device 2. The imaging device 2 periodically acquires frame images, and preferably acquires frame images at 1/30 second intervals.

実オブジェクト抽出部150は、フレーム画像から実オブジェクト画像、すなわち2次元コード70の画像を抽出する。この処理は、画像情報を2進数のビット表現に変換し、このビット表現から2次元コード70の画像を抽出することで行われる。いわゆるドット処理であり、ビットのオンとオフを検出することで、画像抽出処理が行われてもよい。また、この処理は、既知の画像マッチング技術によって行ってもよい。その場合、実オブジェクト抽出部150は、マッチング処理のために、使用する実オブジェクトの画像情報を、メモリ(図示せず)に予め登録しておく。予め登録した画像情報と撮像した画像情報とのマッチングをとることで、2次元コード70の画像をフレーム画像から切り出すことができる。   The real object extraction unit 150 extracts a real object image, that is, an image of the two-dimensional code 70 from the frame image. This processing is performed by converting image information into a binary bit representation and extracting an image of the two-dimensional code 70 from the bit representation. This is so-called dot processing, and image extraction processing may be performed by detecting on and off of bits. Further, this processing may be performed by a known image matching technique. In that case, the real object extraction unit 150 registers image information of a real object to be used in advance in a memory (not shown) for the matching process. By matching the pre-registered image information with the captured image information, the image of the two-dimensional code 70 can be cut out from the frame image.

位置決定部164は、実オブジェクト画像のフレーム画像中の2次元位置を決定する。具体的には、フレーム画像における実オブジェクト画像の中心点の座標をもとに、フレーム画像中の位置を決定する。また、位置決定部164は、2次元コード70の画像における識別部12の4角間の長さをもとに、撮像装置2と2次元コード70との距離を決定する。これにより、フレーム画像中の2次元位置とあわせて、3次元の実空間におけるコントローラ20の位置を取得できる。   The position determination unit 164 determines a two-dimensional position in the frame image of the real object image. Specifically, the position in the frame image is determined based on the coordinates of the center point of the real object image in the frame image. Further, the position determination unit 164 determines the distance between the imaging device 2 and the two-dimensional code 70 based on the length between the four corners of the identification unit 12 in the image of the two-dimensional code 70. Accordingly, the position of the controller 20 in the three-dimensional real space can be acquired together with the two-dimensional position in the frame image.

姿勢決定部162は、実オブジェクト画像の姿勢を決定する。たとえば、実オブジェクト画像の姿勢は、方向指示部11の識別部12に対する位置により定められる。また、コントローラ20を傾ける場合には、識別部12の4角同士の距離が等しくなくなるため、その変化量をもとに、傾斜した姿勢を判断することもできる。   The posture determination unit 162 determines the posture of the real object image. For example, the posture of the real object image is determined by the position of the direction instruction unit 11 with respect to the identification unit 12. Further, when the controller 20 is tilted, the distances between the four corners of the identification unit 12 are not equal, so that the tilted posture can be determined based on the amount of change.

識別情報取得部154は、実オブジェクト画像から特徴部分を抽出して、識別情報格納部156から対応する識別情報を取得する。本実施例のゲームシステム1は、複数の異なる2次元コード70にも対応することが可能であり、例えば、複数のコントローラ20にそれぞれ異なる2次元コード70を設ける場合、それぞれの2次元コード70に対して、異なる識別情報がそれぞれ対応付けられる。   The identification information acquisition unit 154 extracts a feature portion from the real object image and acquires corresponding identification information from the identification information storage unit 156. The game system 1 according to the present embodiment can also cope with a plurality of different two-dimensional codes 70. For example, when a plurality of different two-dimensional codes 70 are provided in the plurality of controllers 20, On the other hand, different identification information is associated with each other.

状態決定部152において決定された位置情報、姿勢情報、および識別情報取得部154において取得された識別情報は、それぞれ関連付けされて送出部160から位置推定部104に送られる。なお、複数の2次元コード70がフレーム画像に含まれる場合には、それぞれの2次元コード70ごとに、位置情報、姿勢情報、識別情報が関連付けされて送出部160から位置推定部104に送られる。以上により、位置推定部104は、コントローラ20の位置情報、姿勢情報、識別情報を取得し、コントローラ20の位置および姿勢を推定することができる。   The position information determined by the state determination unit 152, the posture information, and the identification information acquired by the identification information acquisition unit 154 are associated with each other and sent from the transmission unit 160 to the position estimation unit 104. When a plurality of two-dimensional codes 70 are included in the frame image, position information, posture information, and identification information are associated with each two-dimensional code 70 and sent from the sending unit 160 to the position estimating unit 104. . As described above, the position estimation unit 104 can acquire the position information, the posture information, and the identification information of the controller 20, and can estimate the position and posture of the controller 20.

なお、上記のように識別情報を、位置情報および姿勢情報と関連づける処理は、LED40を利用してコントローラ20の位置情報および姿勢情報を取得した場合においても実行することができる。   Note that the process of associating the identification information with the position information and the posture information as described above can be executed even when the position information and the posture information of the controller 20 are acquired using the LED 40.

(3)加速度センサなどを利用した位置情報および/または姿勢情報の取得方法
図4に示すコントローラの内部構成に加えて、コントローラ200は、さらに3軸方向の加速度センサおよびジャイロセンサを有してもよい。
図18は、実施例にかかるコントローラ200の内部構成を示す。図18では、図4に示す入力受付部52、PWM制御部54、駆動部56などの構成の図示は省略している。コントローラ200は、XYZの3軸方向の加速度成分を検出する3軸加速度センサ300と、筐体水平面(XZ平面)における角速度を検出するジャイロセンサ302を備える。なお、ここでは、筐体の長手方向をX軸、高さ方向をY軸、短手方向(奥行き方向)をZ軸と設定している。ジャイロセンサ302は、筐体内中央領域に配置され、たとえば図2に示す筐体上面図におけるLED付きボタン31の下方近傍に配置される。また3軸加速度センサ300も同様に筐体中央付近に配置されるのが好ましい。3軸加速度センサ300およびジャイロセンサ302による検出値は所定の周期でメイン制御部50から無線通信モジュール58に供給される。無線通信モジュール58は、3軸加速度センサ300およびジャイロセンサ302による検出値を、方向キー21や操作ボタン26などの操作入力とともに、所定の周期でゲーム装置10の無線通信モジュール108に送信する。
(3) Method for Acquiring Position Information and / or Posture Information Using Acceleration Sensor etc. In addition to the internal configuration of the controller shown in FIG. 4, the controller 200 may further include a triaxial acceleration sensor and gyro sensor. Good.
FIG. 18 illustrates an internal configuration of the controller 200 according to the embodiment. In FIG. 18, illustration of the configuration of the input receiving unit 52, the PWM control unit 54, the driving unit 56, and the like illustrated in FIG. The controller 200 includes a three-axis acceleration sensor 300 that detects acceleration components in the three-axis directions of XYZ, and a gyro sensor 302 that detects an angular velocity in the housing horizontal plane (XZ plane). Here, the longitudinal direction of the casing is set as the X axis, the height direction is set as the Y axis, and the short direction (depth direction) is set as the Z axis. The gyro sensor 302 is disposed in the central region in the housing, for example, in the vicinity of the lower portion of the button 31 with LED in the housing top view shown in FIG. Similarly, the three-axis acceleration sensor 300 is preferably arranged near the center of the housing. Detection values from the three-axis acceleration sensor 300 and the gyro sensor 302 are supplied from the main control unit 50 to the wireless communication module 58 at a predetermined cycle. The wireless communication module 58 transmits the detection values obtained by the three-axis acceleration sensor 300 and the gyro sensor 302 to the wireless communication module 108 of the game apparatus 10 at predetermined intervals together with operation inputs such as the direction key 21 and the operation button 26.

図19は、実施例にかかるゲーム装置10の構成を示す。ゲーム装置10は、無線通信モジュール108にて、コントローラ200において3軸加速度センサ300およびジャイロセンサ302により計測された3軸方向の加速度成分および筐体水平面(XZ平面)に垂直な方向(Y軸方向)回りの角速度成分を取得する。3軸加速度成分および角速度成分は、無線通信モジュール108から位置推定部250に供給される。位置推定部250は、取得した3軸加速度成分および角速度成分をもとに、コントローラ200の位置や姿勢を推定できる。具体的に位置推定部250は、3軸加速度成分をもとに、コントローラ200の姿勢を取得できる。また、3軸加速度成分を1回積分することで移動速度を取得することができ、また2回積分することで位置を取得することができる。   FIG. 19 shows a configuration of the game apparatus 10 according to the embodiment. The game apparatus 10 uses the wireless communication module 108 to determine a direction (Y-axis direction) perpendicular to the three-axis acceleration component measured by the controller 200 by the three-axis acceleration sensor 300 and the gyro sensor 302 and the housing horizontal plane (XZ plane). ) Get the angular velocity component around. The triaxial acceleration component and the angular velocity component are supplied from the wireless communication module 108 to the position estimation unit 250. The position estimation unit 250 can estimate the position and orientation of the controller 200 based on the acquired triaxial acceleration component and angular velocity component. Specifically, the position estimation unit 250 can acquire the attitude of the controller 200 based on the triaxial acceleration component. Further, the moving speed can be acquired by integrating the three-axis acceleration component once, and the position can be acquired by integrating twice.

なお実施例のコントローラ200では、Y軸方向回りの角速度成分をジャイロセンサ302により検出している。したがって位置推定部250は、ジャイロセンサ302による検出値をもとに、コントローラ200の水平面における回転状態すなわち回転姿勢を推定してもよい。なお、3軸加速度センサ300が高精度に3軸加速度成分を取得できる場合には、コントローラ200の水平面における回転状態を3軸加速度成分から推定できるようにしてもよい。   In the controller 200 of the embodiment, the gyro sensor 302 detects the angular velocity component around the Y-axis direction. Therefore, the position estimation unit 250 may estimate the rotation state, that is, the rotation posture, of the controller 200 on the horizontal plane based on the detection value by the gyro sensor 302. When the triaxial acceleration sensor 300 can acquire the triaxial acceleration component with high accuracy, the rotation state of the controller 200 in the horizontal plane may be estimated from the triaxial acceleration component.

以上のように、コントローラ200が3軸加速度センサ300およびジャイロセンサ302を備えることによって、撮像装置2によるフレーム画像の解析を行わなくても、コントローラ200の位置および姿勢を取得することが可能となる。なお、撮像装置2によるフレーム画像の解析結果を更に利用して、コントローラ200の位置および姿勢の推定精度を高めるようにしてもよい。3軸加速度センサ300などの計測値を利用することでコントローラ200の位置および姿勢を推定できるため、コントローラ200の位置および姿勢情報をゲームアプリケーションの処理に反映することが可能となる。   As described above, the controller 200 includes the triaxial acceleration sensor 300 and the gyro sensor 302, so that the position and orientation of the controller 200 can be acquired without analyzing the frame image by the imaging device 2. . Note that the estimation accuracy of the position and orientation of the controller 200 may be increased by further using the analysis result of the frame image by the imaging device 2. Since the position and orientation of the controller 200 can be estimated by using measurement values of the triaxial acceleration sensor 300 and the like, the position and orientation information of the controller 200 can be reflected in the processing of the game application.

以下では、コントローラ20ないしコントローラ200の位置および姿勢を取得できることを前提として、実施例にかかるゲームシステムにおいて実施することのできるアプリケーション例を示す。以下、コントローラを代表して、コントローラ200に関する説明を行う。ゲーム装置10は、3軸加速度成分および角速度成分をもとにコントローラ200の姿勢および位置を推定することになるが、コントローラ20に関しても撮像画像から姿勢および位置を推定できるため、以下の内容は、コントローラ20についても実現可能である。   In the following, application examples that can be implemented in the game system according to the embodiment are shown on the premise that the positions and orientations of the controller 20 to the controller 200 can be acquired. Hereinafter, the controller 200 will be described on behalf of the controller. The game apparatus 10 estimates the posture and position of the controller 200 based on the three-axis acceleration component and the angular velocity component. However, since the posture and position of the controller 20 can also be estimated from the captured image, the following contents are as follows: The controller 20 can also be realized.

図20は、アプリケーション処理部110の構成を示す。アプリケーション処理部110は、入力受付部400、取得部402、変化検出部404、オブジェクト制御部406および画像信号生成部408を備える。図20は、オブジェクトに関する画像を生成する構成のみを示している。実際には、オブジェクトの背景画像などは、他の構成により生成され、また音声信号についても他の構成により生成される。   FIG. 20 shows a configuration of the application processing unit 110. The application processing unit 110 includes an input reception unit 400, an acquisition unit 402, a change detection unit 404, an object control unit 406, and an image signal generation unit 408. FIG. 20 shows only a configuration for generating an image related to an object. Actually, the background image of the object or the like is generated by another configuration, and the audio signal is also generated by another configuration.

入力受付部400は、無線通信モジュール108から、ゲームコントローラ200で入力される操作入力を受け付ける。取得部402は、位置推定部250から、ゲームコントローラ200の実空間における位置情報または姿勢情報を取得する。変化検出部404は、取得部402において時間的に連続して取得された位置情報または姿勢情報から、ゲームコントローラ200の位置または姿勢の変化を検出する。変化検出部404は、位置の変化を検出することで、コントローラ200の移動速度および移動方向を取得でき、また姿勢の変化を検出することで、コントローラ200の回転速度および回転方向を取得できる。   The input receiving unit 400 receives an operation input input from the game controller 200 from the wireless communication module 108. The acquisition unit 402 acquires position information or posture information in the real space of the game controller 200 from the position estimation unit 250. The change detection unit 404 detects a change in the position or posture of the game controller 200 from the position information or posture information acquired continuously in time by the acquisition unit 402. The change detection unit 404 can acquire the moving speed and moving direction of the controller 200 by detecting a change in position, and can acquire the rotating speed and rotating direction of the controller 200 by detecting a change in posture.

オブジェクト制御部406は、基本機能として、入力受付部400において受け付けた操作入力をもとに、仮想空間におけるオブジェクトの動作を制御する。本実施例のオブジェクト制御部406は、さらに取得部402において取得された位置情報または姿勢情報を利用して、オブジェクトの動作を制御する機能ももつ。さらにオブジェクト制御部406は、変化検出部404において取得された位置または姿勢の変化を利用して、オブジェクトの動作を制御する機能ももつ。   The object control unit 406 controls the movement of the object in the virtual space based on the operation input received by the input receiving unit 400 as a basic function. The object control unit 406 of the present embodiment further has a function of controlling the movement of the object using the position information or the posture information acquired by the acquisition unit 402. Furthermore, the object control unit 406 also has a function of controlling the movement of the object using the change in position or orientation acquired by the change detection unit 404.

たとえば、オブジェクト制御部406は、位置情報または姿勢情報を利用して、仮想空間におけるオブジェクトの姿勢を決定してもよい。また、オブジェクト制御部406は、変化検出部404において、位置または姿勢の所定の変化が検出された場合に、位置情報または姿勢情報を利用したオブジェクトの動作制御を開始または終了してもよい。   For example, the object control unit 406 may determine the posture of the object in the virtual space using position information or posture information. Further, the object control unit 406 may start or end the motion control of the object using the position information or the posture information when the change detection unit 404 detects a predetermined change in the position or the posture.

取得部402が、実空間におけるゲームコントローラ200の3次元の位置情報または姿勢情報を取得する場合、オブジェクト制御部406は、3次元の位置情報または姿勢情報を利用して、仮想3次元空間におけるオブジェクトの動作を制御してもよい。なお、コントローラ200の動きが大きく、画像表示装置3に表示するオブジェクトが画面からフレームアウトしそうな場合には、オブジェクト制御部406は、ユーザに対して報知処理を実行してもよい。オブジェクト制御部406において動作制御されるオブジェクトは、他の背景画像などとともに画像信号生成部408において画像信号に変換される。   When the acquisition unit 402 acquires the three-dimensional position information or posture information of the game controller 200 in the real space, the object control unit 406 uses the three-dimensional position information or posture information to obtain an object in the virtual three-dimensional space. The operation may be controlled. In addition, when the movement of the controller 200 is large and the object to be displayed on the image display device 3 is likely to be out of the screen, the object control unit 406 may execute a notification process for the user. The object whose operation is controlled by the object control unit 406 is converted into an image signal by the image signal generation unit 408 together with other background images.

以下、アプリケーション例を示す。
<テニスゲーム>
テニスゲームでは、フレーム画像におけるコントローラ200の高さをテニスボールの打点高さとし、コントローラ200の向きをボールの打球方向、コントローラ200を動かす速度を、ボールを打ち込む強さとして、コントローラ200を動かすことでゲームを進行させることができる。これらの動きは、実際のラケットを振る動きに近似しているため、テニスを実際にプレイするのに近い感覚をユーザに与えることができる。たとえば、コントローラ200にラケットと同じ動作をさせてもよく、このときのスイングの角度と方向を利用してもよい。
Examples of applications are shown below.
<Tennis game>
In the tennis game, the height of the controller 200 in the frame image is the hitting height of the tennis ball, the direction of the controller 200 is the ball hitting direction, and the speed at which the controller 200 is moved is the strength to hit the ball. The game can be advanced. Since these movements approximate the movement of swinging an actual racket, it is possible to give the user a feeling close to actually playing tennis. For example, the controller 200 may perform the same operation as the racket, and the angle and direction of the swing at this time may be used.

オブジェクト制御部406は、取得部402で取得したコントローラ200の位置情報からコントローラ200の高さを取得し、姿勢情報からコントローラ200の向きを取得する。また、オブジェクト制御部406は、変化検出部404から、コントローラ200の移動速度を取得する。これらの情報により、オブジェクト制御部406は、ラケットやキャラクタなどのオブジェクトの姿勢を決定し、動作させる。   The object control unit 406 acquires the height of the controller 200 from the position information of the controller 200 acquired by the acquisition unit 402, and acquires the orientation of the controller 200 from the posture information. Further, the object control unit 406 acquires the moving speed of the controller 200 from the change detection unit 404. Based on these pieces of information, the object control unit 406 determines the posture of an object such as a racket or character and operates it.

オブジェクト制御部406は、取得部402において取得されるコントローラ200の位置情報および姿勢情報をもとに、各仮想オブジェクトの動作を制御してもよいが、たとえば、基準位置および基準姿勢からの差分をとって、その差分値に基づいて各仮想オブジェクトの動作を制御してもよい。たとえば、ユーザがコントローラ200のボタンなどを操作した時点のコントローラ200の位置および姿勢を、オブジェクト動作制御処理に利用する基準位置および基準姿勢としてオブジェクト制御部406が取得してもよい。オブジェクト制御部406は、取得部402で取得される位置情報および姿勢情報から、基準位置および基準姿勢との間の変化量(差分)を検出して、その変化量をもとに仮想オブジェクトの動作制御を実行する。なお、オブジェクト制御部406は、基準位置および基準姿勢を変化検出部404に通知して、変化検出部404が、基準位置および基準姿勢からの変化量を検出してもよい。以下、基準位置および基準姿勢からの変化量でオブジェクトの動作制御を行う例を示すが、実空間座標における位置や姿勢に基づいたオブジェクトの動作制御も同様に実行できる。   The object control unit 406 may control the operation of each virtual object based on the position information and the posture information of the controller 200 acquired by the acquisition unit 402. For example, the object control unit 406 calculates a difference from the reference position and the reference posture. Thus, the motion of each virtual object may be controlled based on the difference value. For example, the object control unit 406 may acquire the position and orientation of the controller 200 when the user operates the buttons of the controller 200 as the reference position and reference orientation used for the object motion control process. The object control unit 406 detects a change amount (difference) between the reference position and the reference posture from the position information and the posture information acquired by the acquisition unit 402, and the motion of the virtual object based on the change amount. Execute control. Note that the object control unit 406 may notify the change detection unit 404 of the reference position and reference orientation, and the change detection unit 404 may detect the amount of change from the reference position and reference orientation. Hereinafter, an example in which the motion control of the object is performed based on the amount of change from the reference position and the reference posture will be described, but the motion control of the object based on the position and posture in the real space coordinates can be similarly executed.

コントローラ200のボタンやキー操作をゲーム入力としてそのまま利用できるようにすることで、従来のゲーム操作入力を維持しながら、感覚的に斬新なゲーム入力を行わせることができる。
たとえば、ボールを打ち込む強さをコントローラ200のボタン操作により定めてもよい。従来型のボタン操作と、斬新なゲーム入力とを組み合わせることで、新しい遊技性を実現できる。たとえば、相手のコートにボールを落とす位置をコントローラ200の向きで指定しながら、ボタン入力を行うことでボールを上げ、さらにコントローラ200を動かすことで、強いサーブを打てるようなテニスゲームを作ることも可能である。
By making it possible to use the buttons and key operations of the controller 200 as game inputs as they are, it is possible to make the game input sensibly novel while maintaining the conventional game operation inputs.
For example, the strength of hitting the ball may be determined by a button operation of the controller 200. Combining conventional button operations with innovative game input, new gameplay can be realized. For example, it is possible to create a tennis game in which a player can hit a strong serve by raising the ball by inputting a button while specifying the position at which the ball is dropped on the opponent's court in the direction of the controller 200 and further moving the controller 200. Is possible.

コントローラ200の位置情報および/または姿勢情報を利用して、ボレー、スマッシュ、ロブ、ドロップショットなどのショットを打ち分けることも可能である。たとえば、オブジェクト制御部406は、コントローラ200の基準位置からの高さ方向の変化量が小さいときには、キャラクタにボレーの動作をさせ、変化量が正方向(上方向)に大きいときにはスマッシュの動作をさせ、負方向(下方向)に大きいときにはロブの動作をさせてもよい。   Using the position information and / or posture information of the controller 200, it is also possible to sort shots such as volley, smash, lob, and drop shot. For example, the object control unit 406 causes the character to perform a volley operation when the amount of change in the height direction from the reference position of the controller 200 is small, and causes the character to perform a smash operation when the amount of change is large in the positive direction (upward). When it is large in the negative direction (downward), the lob may be operated.

図21(a)は、キャラクタがボレーを行う状態、図21(b)は、キャラクタがスマッシュを行う状態を示す。図21の例では、ゲームキャラクタとラケットの2つの仮想オブジェクトを表現しているが、キャラクタの姿勢だけでなく、ラケットの傾きにもコントローラ200の位置情報を反映させることで、実際にテニスをプレイする感覚をユーザに与えることができる。   FIG. 21A shows a state where the character performs volley, and FIG. 21B shows a state where the character performs smash. In the example of FIG. 21, two virtual objects, a game character and a racket, are represented. However, by actually reflecting the position information of the controller 200 not only on the posture of the character but also on the inclination of the racket, the player actually plays tennis. It is possible to give the user a feeling to do.

<オートバイゲーム>
オートバイのドライブゲームでは、コントローラ200の姿勢を操作することで、オートバイをコントロールするゲーム入力として利用してもよい。このとき、スピードはコントローラ200を動かす速度で決定してもよく、またボタン入力で決定してもよい。このように、従来型のボタン入力と、コントローラ200の位置や姿勢による静的な入力と、またコントローラ200の移動速度などの状態変化をもとにした動的な入力とを組み合わせて利用することで、ゲームアプリケーションの操作性を向上できる。
<Motorcycle game>
In a motorcycle drive game, the attitude of the controller 200 may be operated to be used as a game input for controlling the motorcycle. At this time, the speed may be determined by the speed at which the controller 200 is moved, or may be determined by button input. In this way, conventional button input, static input based on the position and orientation of the controller 200, and dynamic input based on state changes such as the moving speed of the controller 200 are used in combination. Thus, the operability of the game application can be improved.

<文字入力ゲーム>
画面に文字入力を行わせるゲームでは、コントローラ200の位置を動かすことで、画面に文字を入力することができる。オブジェクト制御部406は、取得部402から供給される筐体X軸、Y軸方向の2次元的な位置情報に追従するように、画像表示装置3の画面に出力する線図オブジェクトを生成する。なお、コントローラ200において、筐体の長手方向をX軸、高さ方向をY軸、短手方向(奥行き方向)をZ軸と設定し、以下、この方向を、それぞれ筐体X軸、筐体Y軸、筐体Z軸と呼ぶ。またゲームアプリケーションにおいては、画像表示装置3の画面中、横方向をX軸、縦方向をY軸、奥行き方向をZ軸と設定しており、以下、これらの方向を、それぞれ画面X軸、画面Y軸、画面Z軸と呼ぶ。
<Character input game>
In a game where characters are input on the screen, characters can be input on the screen by moving the position of the controller 200. The object control unit 406 generates a diagram object to be output to the screen of the image display device 3 so as to follow the two-dimensional positional information in the housing X axis and Y axis directions supplied from the acquisition unit 402. In the controller 200, the longitudinal direction of the casing is set as the X axis, the height direction is set as the Y axis, and the lateral direction (depth direction) is set as the Z axis. Called the Y-axis and the housing Z-axis. In the game application, in the screen of the image display device 3, the horizontal direction is set as the X axis, the vertical direction is set as the Y axis, and the depth direction is set as the Z axis. These are called the Y axis and the screen Z axis.

これにより画面XY平面に、筐体XY平面における動きをトレースすることができる。コントローラ200の動きだけで、この処理を行わせる場合、コントローラ200の動きにより、トレース処理の開始および終了が決定されてもよい。このとき変化検出部404は、位置情報または姿勢情報の所定の変化を検出してオブジェクト制御部406に通知し、オブジェクト制御部406は、その通知を受けて、トレース処理の開始および終了を決定する。開始および終了のトリガとなる動き変化は、同一であってもよく、また開始処理、終了処理ごとに設定されていてもよい。同一の場合は、トレース処理の実行中でなければ開始処理のトリガ、トレース処理を実行中であれば終了処理のトリガとして、その動き変化を処理する。   Thereby, the movement in the housing XY plane can be traced on the screen XY plane. When this process is performed only by the movement of the controller 200, the start and end of the trace process may be determined by the movement of the controller 200. At this time, the change detection unit 404 detects a predetermined change in the position information or the posture information and notifies the object control unit 406, and the object control unit 406 receives the notification and determines the start and end of the trace processing. . The motion change that triggers the start and end may be the same, or may be set for each start process and end process. In the same case, the movement change is processed as a trigger for the start process if the trace process is not being executed, and as a trigger for the end process if the trace process is being executed.

オブジェクト制御部406が、筐体XY平面における2次元的な動作をゲーム入力として利用する場合、それ以外の方向、すなわち筐体Z軸方向の動きを、トレース処理の開始または終了のトリガとして利用してもよい。筐体Z軸方向の動きは、線図オブジェクトの動作制御には利用されないため、開始または終了のトリガとして好適に使用できる。すなわち、ゲーム中のオブジェクトの動きに必要な成分以外の情報を、ゲームに対する指示情報として利用することで、キー操作を利用しなくとも、ゲームアプリケーションを進行させることができる。たとえば、文字入力ゲームでは、コントローラ200の回転操作をゲーム入力として使用しないため、コントローラ200を回転させることで、すなわち姿勢変化させることで、トレース処理の開始または終了の指示入力としてもよい。   When the object control unit 406 uses a two-dimensional motion on the housing XY plane as a game input, the other direction, that is, the motion in the housing Z-axis direction, is used as a trigger for starting or ending the tracing process. May be. Since the movement in the housing Z-axis direction is not used for motion control of the diagram object, it can be suitably used as a start or end trigger. That is, by using information other than the components necessary for the movement of the object in the game as instruction information for the game, the game application can be advanced without using the key operation. For example, in the character input game, since the rotation operation of the controller 200 is not used as the game input, the controller 200 may be rotated, that is, the posture may be changed to input an instruction to start or end the trace process.

<電極棒ゲーム>
電極棒ゲームとは、金属製コースフレームに電極棒をいれて、その電極棒をコースフレームや障害物に当たらないように制限時間内にゴールまで持ち運ぶゲームであるが、この電極棒ゲームを、ゲームアプリケーションとして実行できる。現状、2次元の電極棒ゲームについては存在しているが、3次元の電極棒ゲームについては存在しない。
<Electrode bar game>
The electrode bar game is a game in which an electrode bar is placed in a metal course frame and the electrode bar is carried to the goal within a time limit so that it does not hit the course frame or obstacles. It can be executed as an application. Currently, there is a two-dimensional electrode bar game, but there is no three-dimensional electrode bar game.

オブジェクト制御部406は、コントローラ200の3次元の位置情報および姿勢情報を利用して、仮想3次元空間において、仮想オブジェクトである電極棒の動作を制御してもよい。すなわち、ゲーム画面中でコースフレームを画面奥行き方向(画面Z軸方向)にも設けることで、ユーザは、コントローラ200を筐体XY平面上だけでなく、筐体Z軸方向にも動かすことになり、現実の電極棒ゲームと同様の体感を与えることができる。   The object control unit 406 may control the operation of the electrode rod that is a virtual object in the virtual three-dimensional space using the three-dimensional position information and posture information of the controller 200. That is, by providing the course frame in the screen depth direction (screen Z-axis direction) in the game screen, the user moves the controller 200 not only on the housing XY plane but also in the housing Z-axis direction. It can give the same experience as an actual electrode bar game.

以上、様々なアプリケーション例を示したが、オブジェクト制御部406がコントローラ200の動きを画面中でトレースさせるような場合、コントローラ200の動作量が大きくなると、コントローラ200が画像表示装置3の画面から外れるような場合も発生する。たとえば、上記した文字入力ゲームでは、そのような事態が発生しうる。   As described above, various application examples have been described. When the object control unit 406 causes the movement of the controller 200 to be traced on the screen, the controller 200 moves off the screen of the image display device 3 when the operation amount of the controller 200 increases. Such a case also occurs. For example, such a situation may occur in the character input game described above.

コントローラ200に対応する仮想オブジェクトが画像表示装置3の画面からフレームアウトしそうな場合、オブジェクト制御部406は、コントローラ200の位置情報をもとに、ユーザに対してフレームアウトしそうな旨を通知する報知処理を行ってもよい。たとえば、コントローラ200がフレームアウトしそうな場合に、コントローラ200に対して振動子を振動させるための振動制御信号を生成して、無線通信モジュール108より送信させてもよい。また、コントローラ200の動きに追従する仮想オブジェクトをゲーム画像として表示させている場合には、ユーザに目立つように仮想オブジェクトを動かすことで、フレームアウトしそうなことをユーザに伝えてもよい。たとえば、画面のフレーム枠から内方向にはじかれるような特殊な動きをさせることで、ユーザに報知を行ってもよい。   When the virtual object corresponding to the controller 200 is likely to be out of frame from the screen of the image display device 3, the object control unit 406 notifies the user that the frame is likely to be out of frame based on the position information of the controller 200. Processing may be performed. For example, when the controller 200 is about to be out of frame, a vibration control signal for vibrating the vibrator to the controller 200 may be generated and transmitted from the wireless communication module 108. In addition, when a virtual object that follows the movement of the controller 200 is displayed as a game image, the user may be notified that the frame is likely to be out by moving the virtual object so as to stand out from the user. For example, the user may be notified by making a special movement that is repelled inward from the frame of the screen.

フレームアウトしそうであるか否かは、コントローラ200の位置情報を画面座標に変換したときに、フレーム近傍の位置になっているか否かをもとに判断してもよい。このとき、変化検出部404がコントローラ200の移動方向および速度を検出して、それらの情報から、所定時間以内にフレームアウトするか否かを予測してもよい。この予測処理は、フレーム近傍にあることを前提に実行されてもよい。   Whether or not the frame is about to be out may be determined based on whether or not the position information in the vicinity of the frame is obtained when the position information of the controller 200 is converted into the screen coordinates. At this time, the change detection unit 404 may detect the moving direction and speed of the controller 200 and predict whether or not to frame out within a predetermined time from the information. This prediction process may be executed on the premise that the prediction process is in the vicinity of the frame.

なお、撮像装置2を用いる場合は、たとえばフレーム画像中のコントローラ200の位置で決定してもよく、フレーム画像の縁部に近い位置にコントローラ20が存在することが検出される場合に、この報知処理を行ってもよい。   When using the imaging device 2, for example, the position may be determined based on the position of the controller 200 in the frame image. This notification is made when it is detected that the controller 20 is present near the edge of the frame image. Processing may be performed.

また、本実施例で説明したように、コントローラ200またはコントローラ20の位置情報および姿勢情報をもとに様々なアプリケーションが実行できる。
たとえば入力ボタンを併用してコントローラを回転させるなどすることで、ゲームオブジェクトに、大きいシャボン玉を作らせることができる。また、コントローラを回転させたり、姿勢の往復運動を行わせることで、料理ゲームでゲームオブジェクトにパンをこねさせることができる。またコントローラの位置情報を用いて、ゲームオブジェクトにタンバリンやマラカスを操作させたり、指揮をさせたりできる。またコントローラの3次元位置情報を利用することで、3次元的に配置されたブロックに球をあてることでブロックを崩していくゲームも実行できる。またコントローラ200をプレイヤ間でキャッチボールするように受け渡すことで、プレイヤを切り替えることも可能である。ゲーム中に疑似カメラが存在する場合には、コントローラの位置情報をもとに疑似カメラの視点移動を行うことができる。またコントローラの回転情報をもとに、仮想的なドアノブを回す動作も実行できる。また実際にコントローラを動かすことで、仮想オブジェクトをその動きに追従させて動かすことができる。また、コントローラの3次元的な動きを捕捉することで、その動きを仮想ノミの動きとしてとらえて彫刻を作成したり、また2次元的な動きを捕捉することで、その動きを仮想筆の動きとしてとらえて絵画を作成したりできる。さらに、コントローラに瞬時的な衝撃を与えることで、衝撃のレベルが所定値を超えたときに、コントローラを振動させたり、またゲームオブジェクトに衝撃を反映させるなど、ゲームの進行を制御してもよい。加速度センサ等を有する場合は、その加速度で衝撃を検出でき、またLED画像を利用する場合には、LED画像が楕円形になったり、また瞬間的に撮像されなかったりした場合に、コントローラが衝撃を受けたことを判定してもよい。
Further, as described in the present embodiment, various applications can be executed based on the position information and posture information of the controller 200 or the controller 20.
For example, the game object can be made to make a large soap bubble by rotating the controller using the input button together. In addition, by rotating the controller or reciprocating the posture, it is possible to knead the game object with bread in a cooking game. Also, using the position information of the controller, the game object can be operated or commanded by a tambourine or maraca. In addition, by using the three-dimensional position information of the controller, it is possible to execute a game in which a block is broken by hitting a sphere with a three-dimensionally arranged block. It is also possible to switch the player by passing the controller 200 so as to catch the ball between players. If there is a pseudo camera in the game, the viewpoint of the pseudo camera can be moved based on the position information of the controller. Moreover, based on the rotation information of the controller, an operation of turning a virtual door knob can be executed. Further, by actually moving the controller, the virtual object can be moved following the movement. In addition, by capturing the three-dimensional movement of the controller, the movement is captured as a virtual flea movement, creating a sculpture, and by capturing the two-dimensional movement, the movement is moved to the movement of the virtual brush. Or create a painting. Furthermore, by applying an instantaneous impact to the controller, when the impact level exceeds a predetermined value, the progress of the game may be controlled such as vibrating the controller or reflecting the impact on the game object. . If you have an acceleration sensor etc., you can detect the impact by its acceleration, and if you use an LED image, the controller will give an impact if the LED image becomes elliptical or not captured instantaneously. You may determine that you have received.

本発明の実施例にかかるゲームシステムの使用環境を示す図である。It is a figure which shows the use environment of the game system concerning the Example of this invention. コントローラの外観構成を示す図である。It is a figure which shows the external appearance structure of a controller. コントローラの背面側の外観構成を示す図である。It is a figure which shows the external appearance structure of the back side of a controller. コントローラの内部構成を示す図である。It is a figure which shows the internal structure of a controller. ゲーム装置の構成を示す図である。It is a figure which shows the structure of a game device. 画像処理部の構成を示す図である。It is a figure which shows the structure of an image process part. (a)は現フレーム画像を示す図であり、(b)は現フレーム画像と前フレーム画像の差分画像を示す図である。(A) is a figure which shows the present frame image, (b) is a figure which shows the difference image of a present frame image and a previous frame image. (a)は現フレーム画像の2値化画像を示す図であり、(b)は論理積画像を示す図である。(A) is a figure which shows the binarized image of the present frame image, (b) is a figure which shows a logical product image. LED画像候補の検出処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a detection process of a LED image candidate. LED抽出処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of LED extraction process. 図10のS122に示す第2LED検出処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the 2nd LED detection process shown to S122 of FIG. 図10のS124に示す第3LED検出処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the 3rd LED detection process shown to S124 of FIG. 図10のS126に示す第4LED検出処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the 4th LED detection process shown to S126 of FIG. コントローラに対応する仮想オブジェクトがゲーム画面内で円滑な追従動作を実現するためのアルゴリズムを説明するための図である。It is a figure for demonstrating the algorithm for the virtual object corresponding to a controller to implement | achieve smooth tracking operation | movement within a game screen. 2次元コードを有するコントローラを示す図である。It is a figure which shows the controller which has a two-dimensional code. 2次元コードを構成する2次元パターンの一例を示す図である。It is a figure which shows an example of the two-dimensional pattern which comprises a two-dimensional code. 画像処理部の構成を示す図である。It is a figure which shows the structure of an image process part. 実施例にかかるコントローラの内部構成を示す図である。It is a figure which shows the internal structure of the controller concerning an Example. 実施例にかかるゲーム装置の構成を示す図である。It is a figure which shows the structure of the game device concerning an Example. アプリケーション処理部の構成を示す図である。It is a figure which shows the structure of an application process part. キャラクタの動作例を示す。An example of character movement is shown.

符号の説明Explanation of symbols

1・・・ゲームシステム、2・・・撮像装置、3・・・画像表示装置、4・・・音声出力装置、10・・・ゲーム装置、20・・・コントローラ、300・・・3軸加速度センサ、302・・・ジャイロセンサ、110・・・アプリケーション処理部、400・・・入力受付部、402・・・取得部、404・・・変化検出部、406・・・オブジェクト制御部、408・・・画像信号生成部。
DESCRIPTION OF SYMBOLS 1 ... Game system, 2 ... Imaging device, 3 ... Image display device, 4 ... Sound output device, 10 ... Game device, 20 ... Controller, 300 ... 3-axis acceleration Sensor 302, gyro sensor 110 application processing unit 400 input receiving unit 402 acquisition unit 404 change detection unit 406 object control unit 408 ..Image signal generator

Claims (6)

ゲームコントローラの実空間における位置情報または姿勢情報を取得する取得部と、
前記位置情報または前記姿勢情報を利用して、仮想空間におけるオブジェクトの動作を制御するオブジェクト制御部と、
前記取得部において時間的に連続して取得された前記位置情報または前記姿勢情報から、前記ゲームコントローラの位置または姿勢の変化を検出する変化検出部と、を備えたゲーム装置であって、
前記変化検出部において、位置または姿勢の所定の変化が検出された場合に、前記オブジェクト制御部は、前記位置情報または前記姿勢情報を利用したオブジェクトの動作制御を開始または終了することを特徴とするゲーム装置。
An acquisition unit for acquiring position information or posture information in the real space of the game controller;
An object control unit that controls the movement of the object in the virtual space using the position information or the posture information;
A change detection unit that detects a change in the position or posture of the game controller from the position information or the posture information acquired continuously in time in the acquisition unit;
When the change detection unit detects a predetermined change in position or posture, the object control unit starts or ends motion control of the object using the position information or the posture information. Game device.
前記変化検出部が、オブジェクトの動作制御に利用されない位置または姿勢の所定の変化を検出した場合、前記オブジェクト制御部は、オブジェクトの動作制御を開始または終了することを特徴とする請求項1に記載のゲーム装置。   2. The object control unit according to claim 1, wherein when the change detection unit detects a predetermined change in a position or posture that is not used for object motion control, the object control unit starts or ends the object motion control. Game device. オブジェクト動作制御の開始および終了のトリガとなる前記ゲームコントローラの位置または姿勢の変化が同一である場合、前記オブジェクト制御部は、前記ゲームコントローラの位置または姿勢の所定の変化を、オブジェクト動作制御の実行中でなければ、開始処理のトリガ、オブジェクト動作制御の実行中であれば、終了処理のトリガとして処理することを特徴とする請求項1または2に記載のゲーム装置。   When the change in the position or orientation of the game controller that triggers the start and end of object motion control is the same, the object control unit executes a predetermined change in the position or orientation of the game controller to execute object motion control. The game apparatus according to claim 1, wherein the game device is processed as a trigger for a start process and as a trigger for an end process if an object motion control is being executed. 前記オブジェクト制御部は、前記位置情報または前記姿勢情報を利用して、仮想空間におけるオブジェクトの姿勢を決定することを特徴とする請求項1から3のいずれかに記載のゲーム装置。   The game apparatus according to claim 1, wherein the object control unit determines the posture of the object in the virtual space using the position information or the posture information. 前記取得部は、実空間における前記ゲームコントローラの3次元の位置情報または姿勢情報を取得し、
前記オブジェクト制御部は、3次元の位置情報または姿勢情報を利用して、仮想3次元空間における前記オブジェクトの動作を制御することを特徴とする請求項1から4のいずれかに記載のゲーム装置。
The acquisition unit acquires three-dimensional position information or posture information of the game controller in real space,
5. The game device according to claim 1, wherein the object control unit controls the movement of the object in a virtual three-dimensional space using three-dimensional position information or posture information.
コンピュータに、
ゲームコントローラの実空間における位置情報または姿勢情報を取得する機能と、
前記位置情報または前記姿勢情報を利用して、仮想空間におけるオブジェクトの動作を制御する機能と、
時間的に連続して取得された前記位置情報または前記姿勢情報から、前記ゲームコントローラの位置または姿勢の変化を検出する機能と、実現させるためのプログラムであって、
変化検出機能により、位置または姿勢の所定の変化が検出された場合に、オブジェクト動作制御機能は、前記位置情報または前記姿勢情報を利用したオブジェクトの動作制御を開始または終了する機能を含む、ことを特徴とするプログラム。
On the computer,
A function of acquiring position information or posture information in the real space of the game controller;
A function of controlling the movement of the object in the virtual space using the position information or the posture information;
A function for detecting a change in the position or posture of the game controller from the position information or the posture information acquired continuously in time, and a program for realizing the function,
The object motion control function includes a function of starting or ending motion control of an object using the position information or the posture information when a predetermined change in position or posture is detected by the change detection function; A featured program.
JP2006128748A 2006-05-02 2006-05-02 Game device Active JP5089078B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006128748A JP5089078B2 (en) 2006-05-02 2006-05-02 Game device
PCT/JP2007/000123 WO2007129432A1 (en) 2006-05-02 2007-02-23 Game device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006128748A JP5089078B2 (en) 2006-05-02 2006-05-02 Game device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011262696A Division JP5551675B2 (en) 2011-11-30 2011-11-30 Game apparatus and virtual object control method

Publications (2)

Publication Number Publication Date
JP2007296248A JP2007296248A (en) 2007-11-15
JP5089078B2 true JP5089078B2 (en) 2012-12-05

Family

ID=38667545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006128748A Active JP5089078B2 (en) 2006-05-02 2006-05-02 Game device

Country Status (2)

Country Link
JP (1) JP5089078B2 (en)
WO (1) WO2007129432A1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5173174B2 (en) * 2006-09-13 2013-03-27 任天堂株式会社 GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD
JP5100324B2 (en) * 2007-11-16 2012-12-19 株式会社ソニー・コンピュータエンタテインメント Game system and game controller
JP4779123B2 (en) * 2007-12-25 2011-09-28 サイウイ グループ リミテッド Electronic game controller capable of sensing human movement
US8884870B2 (en) 2008-12-19 2014-11-11 Immersion Corporation Interactive painting game and associated controller
JP5534729B2 (en) * 2009-07-16 2014-07-02 株式会社タイトー Screen coordinate position detection method, screen coordinate position detection apparatus and gun game apparatus using double circle index
JP5920861B2 (en) * 2011-02-08 2016-05-18 株式会社ソニー・インタラクティブエンタテインメント Control device, control method and program
JP5325265B2 (en) * 2011-07-01 2013-10-23 株式会社コナミデジタルエンタテインメント GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
EP3741438B1 (en) * 2012-10-15 2023-08-30 Sony Interactive Entertainment Inc. Operating device
JP2015096226A (en) * 2015-01-21 2015-05-21 株式会社ソニー・コンピュータエンタテインメント Game device, game control method, and program
JP7353773B2 (en) 2019-03-18 2023-10-02 株式会社ソニー・インタラクティブエンタテインメント Devices with multiple markers
JP7283958B2 (en) 2019-04-11 2023-05-30 株式会社ソニー・インタラクティブエンタテインメント Device with multiple markers
JP7288792B2 (en) 2019-04-24 2023-06-08 株式会社ソニー・インタラクティブエンタテインメント Information processing device and device information derivation method
JP7198149B2 (en) 2019-04-24 2022-12-28 株式会社ソニー・インタラクティブエンタテインメント Information processing device and device information derivation method
JP7248490B2 (en) 2019-04-24 2023-03-29 株式会社ソニー・インタラクティブエンタテインメント Information processing device, device position and orientation estimation method
WO2021075090A1 (en) * 2019-10-17 2021-04-22 パナソニックIpマネジメント株式会社 Correction parameter calculation method, displacement amount calculation method, correction parameter calculation device, and displacement amount calculation device
JP2022162702A (en) * 2021-04-13 2022-10-25 株式会社ソニー・インタラクティブエンタテインメント System, information processing method, and information processing program
WO2023047495A1 (en) * 2021-09-22 2023-03-30 株式会社ソニー・インタラクティブエンタテインメント Input device
JP2023153593A (en) * 2022-04-05 2023-10-18 株式会社ソニー・インタラクティブエンタテインメント Electronic apparatus and light guiding member

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3218716B2 (en) * 1992-07-31 2001-10-15 ソニー株式会社 Input device and input system
JP3419050B2 (en) * 1993-11-19 2003-06-23 株式会社日立製作所 Input device
JPH10334270A (en) * 1997-05-28 1998-12-18 Mitsubishi Electric Corp Operation recognition device and recorded medium recording operation recognition program
JPH11352541A (en) * 1998-06-09 1999-12-24 Minolta Co Ltd Camera
JP2000172431A (en) * 1998-12-09 2000-06-23 Sony Corp Information input device and game device
JP2000259340A (en) * 1999-03-12 2000-09-22 Sony Corp Device and method for input, input system, and distribution medium
JP2000308756A (en) * 1999-04-27 2000-11-07 Taito Corp Input controller of game device
JP4691754B2 (en) * 1999-09-07 2011-06-01 株式会社セガ Game device
JP2002259046A (en) * 2001-02-28 2002-09-13 Tomoya Sonoda System for entering character and symbol handwritten in air
JP2002287890A (en) * 2001-03-28 2002-10-04 Mitsumi Electric Co Ltd Aerial mouse
JP3470119B2 (en) * 2002-02-14 2003-11-25 コナミ株式会社 Controller, controller attitude telemetry device, and video game device
JP3481230B2 (en) * 2002-03-05 2003-12-22 コナミ株式会社 GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP2003210830A (en) * 2002-12-24 2003-07-29 Konami Co Ltd Game device, game method, game program and game system
JP2005065265A (en) * 2003-07-31 2005-03-10 Omron Corp Frame adjustment device, image-taking device, and printing device
JP2005311757A (en) * 2004-04-22 2005-11-04 Matsushita Electric Ind Co Ltd Image processing apparatus and portable terminal device employing the same
JP3746060B2 (en) * 2004-07-20 2006-02-15 コナミ株式会社 GAME DEVICE, COMPUTER CONTROL METHOD, AND PROGRAM
JP2006084234A (en) * 2004-09-14 2006-03-30 Central Motor Co Ltd Apparatus for measuring tension strength of tension material

Also Published As

Publication number Publication date
WO2007129432A1 (en) 2007-11-15
JP2007296248A (en) 2007-11-15

Similar Documents

Publication Publication Date Title
JP5089078B2 (en) Game device
JP5089060B2 (en) Entertainment system and game controller
US10445884B2 (en) Control device for communicating visual information
JP4906391B2 (en) Game controller
US8780043B2 (en) Information selecting apparatus, storage medium storing information selecting program, game apparatus, and storage medium storing game program
EP2006002B1 (en) Entertainment system and processor
JP5780755B2 (en) GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD
EP2347320B1 (en) Control device for communicating visual information
JP5389162B2 (en) GAME DEVICE, GAME CONTROL METHOD, AND GAME CONTROL PROGRAM
JP5259965B2 (en) Information processing program and information processing apparatus
JP2011024612A (en) Game device
JP5453006B2 (en) Game device
JP5551675B2 (en) Game apparatus and virtual object control method
US8721444B2 (en) Game device for performing operation object control and non-operation object control
JP5116159B2 (en) Information processing system, information processing method, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090213

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101125

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120911

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5089078

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250