WO2007129432A1 - Game device - Google Patents

Game device Download PDF

Info

Publication number
WO2007129432A1
WO2007129432A1 PCT/JP2007/000123 JP2007000123W WO2007129432A1 WO 2007129432 A1 WO2007129432 A1 WO 2007129432A1 JP 2007000123 W JP2007000123 W JP 2007000123W WO 2007129432 A1 WO2007129432 A1 WO 2007129432A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
controller
led
game
unit
Prior art date
Application number
PCT/JP2007/000123
Other languages
French (fr)
Japanese (ja)
Original Assignee
Sony Computer Entertainment Inc.
Saito, Katsu
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 Computer Entertainment Inc., Saito, Katsu filed Critical Sony Computer Entertainment Inc.
Publication of WO2007129432A1 publication Critical patent/WO2007129432A1/en

Links

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

Definitions

  • Patent Document 1 Japanese Patent Laid-Open No. 2 0 06 _7 2 6 6 7
  • Patent Document 2 Japanese Patent Laid-Open No. 2 0 0 3 _ 2 5 4 7 1 6
  • the present inventor uses a camera connected to a game device to extract information of a captured image taken by a game controller as input information of the game device.
  • a camera connected to a game device to extract information of a captured image taken by a game controller as input information of the game device.
  • it is thought that effective applications can be realized in other environments, such as entertainment systems such as educational sites and business sites.
  • a game device is based on an input receiving unit that receives an operation input input from a game controller, and an operation input received by the input receiving unit. And an object control unit for controlling the movement of the object in the space.
  • 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. .
  • FIG. 1 is a diagram showing a use environment of a game system according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing an external configuration of a controller.
  • FIG. 3 is a diagram showing an external configuration of the back side of the controller.
  • FIG. 4 is a diagram showing an internal configuration of a controller.
  • FIG. 5 is a diagram showing a configuration of a game device.
  • FIG. 6 is a diagram illustrating a configuration of an image processing unit.
  • FIG. 7 (a) is a diagram showing a current frame image, and (b) is a diagram showing a difference image between the current frame image and the previous frame image.
  • FIG. 8 (a) is a diagram showing a binarized image of the current frame image, and (b) is a diagram showing a logical product image.
  • FIG. 9 is a flowchart showing the processing procedure of LED image candidate detection processing.
  • FIG. 10 is a flowchart showing the processing procedure of LED extraction processing.
  • FIG. 10 is a flow chart showing the processing procedure of the second LED detection process shown in FIG.
  • FIG. 12 S 1 2 4 in FIG. 10 is a flowchart showing a processing procedure of the third LED detection processing shown.
  • FIG. 13 is a flow chart showing the procedure of the fourth LED detection process shown in S 1 2 6 of FIG.
  • FIG. 17 is a diagram illustrating a configuration of an image processing unit.
  • FIG. 18 is a diagram showing an internal configuration of a controller according to an example.
  • 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.
  • the image display device 3 is a display that outputs an image signal, and is a game device
  • 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.
  • the controller number in the game application is used by the user, for example, when selecting a game character at the start of the game, so it is necessary to notify the user of the controller number by some means. Therefore, in 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. Inform the user of the controller number. It is also possible to express the controller number by combining multiple LEDs.
  • the user grips the left gripping portion 28a with his left hand, grips the right gripping portion 28b with his right hand, and operates the controller 20.
  • Direction keys 2 1, analog stick 2 7, and operation buttons 2 6 are provided on the top surface of the chassis 30 so that the user can operate with the left gripping part 2 8 a and right gripping part 2 8 b gripped. It is done.
  • the upper surface 30 of the housing is also provided with a button 31 with LED.
  • the button with LED 3 1 is used as a button for displaying a menu screen on the image display device 3, for example.
  • it has a function to indicate the arrival of e-mail to Reuser according to the light emission status of the LED and to indicate the charge status of the controller 20 battery. For example, red when charging, green when charging is complete, When the remaining capacity is low, turn on the LED so that it flashes red.
  • the imaging device 2 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 an 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, the imaging device 2 needs to capture an LED during execution of the game application. Therefore, the imaging device 2 is arranged so that the imaging range faces the same direction as the image display device 3, and the rear surface of the controller 20 housing It is preferable to face 29. 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.
  • 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.
  • Operation buttons 48a, 48b, 48c, 4801 (1_ £ D placement area 42) are provided on the left and right sides of the housing rear 29 side.
  • Operation buttons 48 a, 48 b, 4 8c and 48d are provided at positions where the user can operate with the tip of the index finger even when the user holds the left grip 28a and the right grip 28b. As a result, the LED 40 is not hidden by the index finger when operating the operation buttons 48a, 48b, 48c, and 48d.
  • the imaging device 2 acquires RGB luminance values at each pixel.
  • the LED arrangement area 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. As a result, the LED 40 is not visible from the imaging device 2 unless it is lit, and an image is captured only when it is lit.
  • the black translucent plate also has a function of diffusing light and changing the narrow directivity of LED 40 to a wide directivity.
  • 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.
  • the first LED 40a, the second LED 40b, the third LED 40c, and the fourth LED 40d are disposed at positions that constitute the vertex of the rectangle.
  • the game apparatus 10 knows this positional relationship in advance and uses it for the extraction process of the LED image. Numbers are stamped or printed in the vicinity of each LED 40, and the user can know the controller number by looking at the numbers in the vicinity of the lit LED 40.
  • FIG. 4 shows the internal configuration of the controller.
  • the controller 20 includes a wireless communication module 58, a processing unit 60, and a 1_ ⁇ 040 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 a predetermined process in the controller 20.
  • the processing unit 60 includes a main control unit 50, an input receiving unit 52, a P WM control unit 54, And a drive unit 56.
  • the main control unit 50 transmits and receives necessary data to and from the wireless communication module 58.
  • a controller 20 of a user who wishes to participate in the game system 1 establishes communication with the game apparatus 10.
  • the identification information of the controller 20, for example, the Bluetooth address is transferred to the game apparatus 10, and the subsequent communication is performed based on the Bluetooth address. If Bluetooth is not used as the communication protocol, a device address such as a MAC address may be used. And. After the connection is established, the user can participate in the game application.
  • FIG. 5 shows a configuration of the game device.
  • the game device 10 includes an input unit 100, an image processing unit 1 0 2, a position estimation unit 1 0 4, a blinking instruction unit 1 0 6, a wireless communication module 1 0 8, an application processing unit 1 1 0 and an output Part 1 1 2 is provided.
  • the processing functions of the game apparatus 10 in the present embodiment are realized by a CPU, a memory, a program associated with the memory, and the like, and here, a configuration realized by their cooperation is depicted.
  • the program may be built in the game device 10 or supplied from the outside in a form stored in a recording medium. There may be. Therefore, 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.
  • the game apparatus 10 has functions as a CPU power image processing unit 10 0 2, a position estimation unit 1 0 4, a blinking instruction unit 1 0 6, and an abrasion processing unit 1 1 0.
  • the game device 10 may have a plurality of CPUs due to the hardware configuration. In such a case, one CPU functions as an application processing unit 110 that executes a game application, and other CPU power image processing unit 10 0 2 that processes a captured image by the imaging device 2, position estimation Part 1 0 4, may function as blinking instruction part 1 0 6
  • the wireless communication module 10 8 establishes wireless communication with the wireless communication module 58 of the controller 20.
  • connection inquiry that is, “inquiry” processing is performed on terminal devices including the peripheral controller 20 in the wireless communication module 10 8 power.
  • the wireless communication module broadcasts IQ (inquiry) packets to terminal devices near 10 8 power.
  • the wireless communication module 5 8 of the controller 20 that received the IQ bucket is the FHS packet containing the Bluetooth address and Bluetooth clock information (Frequency Hop Synchronize on) packet 3 ⁇ 4r7 "—on the device 10 Reply Q In the transmission / reception at this point in time, since the consent regarding the frequency hobbing pattern has not been established between the gaming device 10 and the controller 20, the fixed hopping pattern defined exclusively for the inquiry is used.
  • the wireless communication module 1 0 8 receives the FHS packet from the controller 2 0, grasps what kind of controller 2 0 exists, and then transmits the ID packet to the specific controller 2 0. To do. This is a “calling” process by the wireless communication module 10 8. When a response to the ID packet is returned from the specific controller 20, the wireless communication module 10 8 sends an FHS bucket to the controller 20, and informs the controller 20 of its address and clock. As a result, the game device 10 and the controller 20 are the same. Hopping patterns can be shared.
  • a piconet is a network that is temporarily formed between terminals when the Bluetooth terminals are brought close together. Up to 8 Bluetooth terminals can participate in a single piconet. Can do.
  • the connected controller 20 is assigned a slave identifier, that is, a 3-bit address (1 to 7) given to the connected controller 20 from the wireless communication module 108. This slave identifier is called AM_ADDR (active member one address).
  • AM_ADDR active member one address
  • the game device 10 may be called from the controller 20.
  • the controller 20 executes the calling process while the game apparatus 10 is executing the page scan.
  • the controller 20 can call the game device 10 and enter the connected state. Thereafter, the roles of the master and the slave are switched, and the game device 10 becomes the master and the controller 20 becomes the slave.
  • the controller 20 can participate in the game application.
  • the application processing unit 110 assigns the controller number of the controller 20 and generates number instruction information indicating the controller number.
  • the wireless communication module 10 8 transmits the number instruction information to the controller 20.
  • controller 20 receives the number indication information, it turns on the corresponding LED 40.
  • the wireless communication module 10 8 may transmit a control signal for instructing lighting of the LED 40 corresponding to the controller number to the controller 20 instead of the number instruction information.
  • the blinking instruction unit 10 06 instructs the controller 20 to instruct a blinking pattern to blink at a predetermined cycle. Generate a signal. This blinking control signal is transmitted from the wireless communication module 10 8 to the controller 20.
  • 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 frame seconds).
  • the image processing unit 10 2 extracts an LED image from the frame image according to an LED extraction algorithm described later.
  • the position estimation unit 10 4 acquires the position information of the LED image from the extracted LED image, and estimates the position and orientation of the controller 20.
  • the position estimation unit 104 may function as a position acquisition unit because it acquires the position information of the LED image. It should be noted that the position of the controller 20 may be set at the center of gravity of the four LED images.
  • the position information and 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 orientation 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. Input to the application processing unit 110 is also transmitted via the wireless communication module 10 08 when the user operates the direction key 21 of the controller 20 or the like.
  • the application processing unit 110 progresses the game based on 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 1 1 2 to the image display device 3 and the audio output device 4, respectively, and output.
  • FIG. 6 shows a configuration of the image processing unit.
  • the image processing unit 1 0 2 is a frame image acquisition unit 1 3 0, a current frame buffer 1 3 2, a previous frame buffer 1 3 4, a differential image generation unit 1 3 6, a binary image generation unit 1 3 8, a logic A calculation unit 1 4 0 and an LED image extraction unit 1 4 2 are provided.
  • the frame image acquisition unit 1 3 0 acquires frame image data from the input unit 1 100 and temporarily stores it in the current frame buffer 1 3 2.
  • the previous frame buffer 1 3 4 stores the previous frame image data.
  • Difference image generator 136 generates a differential image between the current frame data stored in the current frame buffer 1 32 and the previous frame data stored in the previous frame buffer 1334.
  • the R pixel value of the previous frame data at the coordinates (x, y) in the frame image is P r
  • the G pixel value is P g
  • the B pixel value is P b
  • the R pixel value of the current frame data is C r
  • G the difference image function F (x, y) is expressed by the following equation.
  • T h is a predetermined threshold value. If F (x, y) is greater than 0, the pixel value of the coordinate (x, y) is encoded as "1", and the pixel is white on the display. On the other hand, if F (x, y) is 0 or less, the pixel value is encoded as "0" and the pixel is black on the display. In this manner, the difference image generated by the difference image generation unit 136 is a binarized image. By generating the difference image, it is possible to remove the influence of objects that do not move between the previous frame image and the current frame image.
  • 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 1 38 encodes the pixel value of the pixel holding the luminance greater than the predetermined threshold value to “1”, and sets the pixel value of the pixel holding the luminance value below the predetermined threshold to “0”. Encode. By generating a binary image of the current frame image, it is possible to extract only bright objects in the current frame image.
  • FIG. 8 (a) shows a binarized image of the current frame image.
  • the binarized image shows a binarized image of the current frame image.
  • the high-brightness area in 7 (a), that is, the LED that emits light, and the illumination lamp are binarized and converted to a white image.
  • the threshold value set in the binarization process is set to a luminance value obtained by subtracting a predetermined margin value from the LED emission luminance.
  • Figure 8 (b) shows the logical product image.
  • the logical product image performs a logical product operation on the difference image shown in Fig. 7 (b) and the binarized image shown in Fig. 8 (a).
  • the pixel value of the white pixel is “1”
  • the pixel value of the black pixel is “0”. Therefore, only pixels that exist as white pixels in both images will be generated as white pixels in the AND image.
  • the logical product image is sent to the 1_ ⁇ 0 image extraction unit 1 4 2.
  • the previous frame data held in the previous frame buffer 1 34 is overwritten by the current frame data held in the current frame buffer 1 32.
  • This overwriting process may be performed immediately after the previous frame buffer 1 3 4 is read by the difference image generation unit 136. Thereafter, the current frame data held in the current frame buffer 1 32 is overwritten by the next frame data, and the logical product image generation process in the next frame is executed.
  • the 1_ ⁇ 0 image extraction unit 142 extracts an LED image from the logical product image.
  • candidate LED images are detected.
  • the surrounding area is searched to check whether there is a LED image candidate that can be the second LED 40b. If the second LED 40 b is found, the peripheral area of the first LED 40 a is searched again to investigate whether there is an LED image candidate that can become the third LED 40 c. If the third LED ED40c is found, the surrounding area is searched and an LED image candidate that can become the fourth LED40d is investigated.
  • 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.
  • the first LED 40 a, the second LED 40 b, the third LED 40 c, and the fourth LED 40 d are arranged on the rear surface 29 of the controller 20 so as to form a square apex. Take as an example.
  • the LED image extraction unit 1 42 does not use a logical product image, but uses a binary image.
  • the binarized image will also contain noise other than the LED image. For example, if the LED image cannot be acquired in the difference image, the binarized image will be used to obtain the position and orientation of the LED image. Can be detected.
  • the processing procedure shown below can be executed using either a logical product image or a binarized image. However, the logical product image has fewer noise components other than the LED image, so it is better to use the logical product image. Processing speed is fast.
  • the LED image extraction unit 144 determines whether or not the short side is composed of pixels having a predetermined number of pixels Ma or more (S 104). When the short side is composed of pixels smaller than the number of pixels Ma (N in S 104), the LED image extraction unit 144 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 with the number of pixels Ma or more (Y in S 104), the LED image extraction unit 144 determines whether the long side is composed of pixels with the predetermined number of pixels Mb or less. (S 1 06).
  • the LED image extraction unit 142 determines that it is not an LED image, and ends the processing of the white pixel connection region.
  • the LED image extraction unit 144 acquires the number of pixels constituting the white pixel connection area as a candidate for the LED image. (S 1 08) This LED image candidate detection process is repeated for all white pixel connected regions. As a result, LED image candidates included in the logical product image can be detected.
  • the coordinates of the LED image candidate are set at the center of gravity of the connected area.
  • the fourth LED 40 d for the first LED 40 a, the second LED 40 b, and the third LED 40 c. It is determined whether there is an LED image candidate that satisfies the following conditions (S 126). If there is an LED image candidate for the fourth LED 40d (S126, step S26), the first LED 40a to the fourth LED 40d of the controller 20 are extracted. If the second LED image candidate does not exist (N in S 1 22), if the third LED image candidate does not exist (S 1 24! ⁇ 1), if the fourth LED image candidate does not exist (S 1 N) of 26 assumes that another LED image candidate is the first LE D40a, and re-executes the processing in Fig. 8.
  • the position estimation unit 104 estimates that the controller 20 has not moved from the position of the previous frame. Get posture information. At this time, the position estimation unit 104 may extract the LED image using the binarized image.
  • FIG. 11 is a flowchart showing the procedure of the second LED detection process shown in S 122 of FIG.
  • the number of pixels in the candidate LED image assumed to be the first LED 40a is N.
  • the LED image extraction unit 142 determines whether or not the number of pixels of the LED image candidate is 12 XN or more and 2 N or less (S 140). If this is an LED image, the size and shape are as large as the 1st LE D40a. Based on the fact that it doesn't change. 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 ( ⁇ of S 140), whether or not the LED image candidate exists on the right side of the first LED 40a. (S 1 4 2).
  • Judgment as to whether or not it is to the right is determined by whether or not it exists within the range of 45 ° from the upper right to 45 ° from the upper right of the first 1_ ⁇ 0403.
  • D a and D b Determine (S 1 4 4).
  • the distance between each other is too close or too far away, it is determined that the second LED 40b is not suitable.
  • FIG. 12 is a flowchart showing the procedure of the third LED detection process shown in S 1 24 of FIG.
  • the number of pixels in the candidate LED image assumed to be the first LED 40a is N.
  • the LED image extraction unit 142 determines whether or not the number of pixels of the LED image candidate is 12 XN or more and 2 N or less (S 160). 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 (S 1 60 ⁇ ), whether or not the LED image candidate exists below the first LED 40 a is determined. Judgment is made (S 1 62).
  • the distance is 1 V "2 XD 2 or more and If V "2 D 12 or less (S 1 64 Y), the angle of the line segment from the first LED 40a to the second LED 40b and the line segment from the first LED 40a to the LED image candidate is It is determined whether or not it is within the predetermined range (S 1 66) .At this time, if it is within the predetermined range ( ⁇ of S 1 66), the LED image candidate can be the third LED 40 0 c.
  • the 1_ ⁇ 0 image extraction unit 142 can extract the images of the first LED 40 a to the fourth LED 40 d from the logical product image.
  • the extracted position information of the images of the first LED 40a to the fourth LED 40d is sent to the position estimation unit 104.
  • 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 obtained 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.
  • FIGS. 14 (a) and 14 (b) 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.
  • FIGS. 14 (a) and 14 (b) 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.
  • the position parameters derived by obtaining the affine transformation are P i-P i, P i +1 (the subscript of P indicates the game screen frame number). .
  • Fig. 14 (b) is an example of the case where P i +1 could not be acquired as the position parameter. In such a case, the effect of this algorithm can be demonstrated. In this case, the latest position parameter is used instead of P i +1 . Where the latest position parameter is P i,
  • 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 smooth follow-up processing can be realized for the controller 20.
  • the game apparatus 10 may transmit a control signal for lighting the four LEDs 40 at a predetermined low frequency to the controller 20.
  • 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.
  • a blinking frequency is set for each controller 20.
  • the controller 20 lights the LED 40 at the designated low frequency, and the imaging device 2 captures a frame image at an imaging speed of 30 frames.
  • the game apparatus 10 extracts LED images that are turned on and off at predetermined intervals from a plurality of frame images.
  • 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.
  • 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.
  • high-frequency lighting means lighting at a frequency such that a frame image is always captured for 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 device 2 has a very high imaging speed, a frame in which LED emission is captured and a frame in which imaging is not performed appear. The position information can be obtained even when the LED 40 is stationary.
  • the position and posture of the LED 40 that is lit at a high frequency are used as input for the game application. Therefore, the controller estimated by the position estimation unit 104
  • the location information of LA 20 is sequentially sent to the application processing unit 110 and reflected in the processing of the abrasion.
  • An input by the user operating the direction key 21 etc. of the controller 20 is also transmitted to the application processing unit 110 via the wireless communication module 1008.
  • the application processing unit 110 progresses the game from the position / posture information of the controller 20 and the operation input from the controller 20, and generates an image signal and an audio signal indicating the processing result of the game application.
  • An image processing apparatus that acquires the position of a light emitter image from an input frame 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 image processing apparatus comprising: a position acquisition unit that acquires a position of a light emitter image in a frame image.
  • Item 1 or 2 wherein 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.
  • An image processing apparatus according to 1.
  • the position acquisition unit processes the position of the illuminant image acquired this time as an error when the amount of change between the position of the previously acquired illuminant image and the position of the illuminant image acquired this time exceeds a predetermined value.
  • the image processing device according to any one of items 1 to 3.
  • the position acquisition unit counts the number of consecutive errors, and when the count value reaches a predetermined value, processes the position of the illuminator image acquired at that time as normal.
  • Item 5 The image processing device according to Item 4,
  • FIG. 15 shows a controller 20 having a two-dimensional code.
  • the controller 20 has a two-dimensional code 70 for uniquely identifying itself on the rear surface 29 of the housing.
  • the two-dimensional code 70 and its identification method are the same as the two-dimensional code and its identification method disclosed in, for example, Japanese Patent Application Laid-Open No. 2 0 6-7 7 6 6 7 filed by the present applicant. It may be.
  • 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.
  • a direction indicating section 1 1 and an identification section 12 are formed.
  • the direction instructing unit 11 is provided to indicate the upper part of the two-dimensional code 70
  • 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 a plurality of blocks, a square block is commonly given to a plurality of two-dimensional codes 70, and a characteristic part is formed by blocks other than the four corners. The square block is used to measure the distance from the imaging device 2.
  • the image processing unit 102 when the image processing unit 100 recognizes the two-dimensional code 70 in the frame image, the image processing unit 102 based on the length between the four blocks in the two-dimensional code 70 image. The distance between the imaging device 2 and the two-dimensional 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 instructing unit 11 exists is higher than the identifying unit 12. Furthermore, the image processing unit 102 acquires the identification information of the two-dimensional code 70 from the block other than the four corners of the identification unit 12.
  • the image processing unit 102 has a function of recognizing through image analysis even when the two-dimensional code 70 is inclined in real space.
  • the result of the image analysis performed by the image processing unit 10 2 is sent to the position estimation unit 10 4.
  • the position estimation unit 10 4 estimates the position and orientation of the two-dimensional code 70 based on the image analysis result in the image processing unit 10 2.
  • FIG. 17 shows the configuration of the image processing unit 1 0 2.
  • the image processing unit 10 2 includes a frame image acquisition unit 1 3 0, an actual object extraction unit 1 5 0, a state determination unit 1 5 2, an identification information acquisition unit 1 5 4, an identification information storage unit 1 5 6 and a transmission Part 1 6 0 is provided.
  • the identification information storage unit 1 56 stores information on the characteristic part for identifying the real object and identification information for identifying the real object in association with each other. Ingredients 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 gaming apparatus 10.
  • the two-dimensional codes 70 can be recognized by associating each of the two-dimensional codes 70 with identification information.
  • the state determination unit 1 5 2 determines the state of the actual object in the set coordinate system. Specifically, the state determination unit 1 6 2 determines the posture, and the position determination unit 1 6 4 determines the position.
  • the frame image acquisition unit 1 3 0 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 intervals of 130 seconds.
  • the position determination unit 1 64 determines the two-dimensional position in the frame image of the actual 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 16 4 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. As a result, 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. [0093] The posture determination unit 1 62 determines the posture of the actual object image. For example, the posture of the actual object image is determined by the position of the direction indicating unit 11 with respect to the identifying unit 12. In addition, 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.
  • the identification information acquisition unit 1 5 4 extracts a feature portion from the actual object image and acquires corresponding identification information from the identification information storage unit 1 56.
  • the game system 1 can cope with a plurality of different two-dimensional codes 70. For example, when two different two-dimensional codes 70 are provided for a plurality of controllers 20 respectively, Different identification information is associated with each dimension code 70.
  • the position information, posture information, and identification information acquired by the identification information acquisition unit 1 5 4 determined by the state determination unit 1 52 are associated with each other and sent from the transmission unit 1 60 to the position estimation unit. 1 0 Sent to 4.
  • position information, posture information, and identification information are associated with each two-dimensional code 70 to estimate the position from the sending unit 160. Sent to part 1 0 4.
  • the position estimation unit 10 4 can acquire the position information, posture information, and identification information of the controller 20, and can estimate the position and posture of the controller 20.
  • the process of associating the identification information with the position information and the posture information can be executed even when the position information and the posture information of the controller 20 are acquired using the LED 40. it can.
  • the controller 200 may further include a triaxial acceleration sensor and a gyro sensor.
  • FIG. 18 illustrates an internal configuration of the controller 200 according to the embodiment.
  • the controller 200 includes a three-axis acceleration sensor 3 0 0 that detects acceleration components in the three axes directions of XYZ, and a gyro sensor 3 0 2 that detects an angular velocity in the housing horizontal plane (XZ plane).
  • XZ plane the housing horizontal plane
  • the longitudinal direction of the case is set as the X axis
  • the height direction is set as the Y axis
  • the short direction (depth direction) is set as the Z axis.
  • the gyro sensor 30 2 is disposed in the central region in the housing, for example, in the vicinity of the lower portion of the LED button 31 in the top view of the housing shown in FIG.
  • the three-axis acceleration sensor 300 is preferably arranged near the center of the housing. Detection values by the three-axis acceleration sensor 300 and the gyro sensor 30 2 are supplied from the main control unit 50 to the wireless communication module 58 at a predetermined cycle.
  • the wireless communication module 58 uses the detection values of the 3-axis acceleration sensor 30 0 and the gyro sensor 3 0 2 as well as operation inputs such as the direction keys 2 1 and the operation buttons 2 6 and the wireless communication of the game apparatus 10 at a predetermined cycle. Sent to communication module 1 0 8
  • FIG. 19 shows a configuration of the game apparatus 10 according to the embodiment.
  • the game apparatus 10 includes a wireless communication module 10 8, a three-axis acceleration component measured by the three-axis acceleration sensor 3 0 0 and the gai mouth sensor 3 0 2 in the controller 2 0 0, and a horizontal plane of the housing. Get the angular velocity component around the direction (Y-axis direction) perpendicular to (XZ plane).
  • 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 2500 can estimate the position and orientation of the controller 2100 based on the acquired 3-axis acceleration component and angular velocity component. Specifically, the position estimating unit 2500 can acquire the attitude of the controller 2100 based on the 3-axis acceleration component. Also, the moving speed can be obtained by integrating the 3-axis acceleration component once, and the position can be obtained by integrating twice.
  • the position estimation unit 2500 may estimate the rotation state, that is, the rotation posture of the controller 2100 on the horizontal plane based on the detection value by the gyro sensor 30.2.
  • the 3-axis acceleration sensor If the servo 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.
  • the controller 2 0 0 includes the triaxial acceleration sensor 3 0 0 and the gyro sensor 3 0 2, so that the controller 2 0 0 does not need to analyze the frame image by the imaging device 2.
  • the position and posture can be acquired.
  • the accuracy of estimation of the position and orientation of the controller 20 may be further increased by further using the analysis result of the frame image obtained by the imaging device 2. Since the position and orientation of the controller 2 0 0 can be estimated by using the measured values of the 3-axis acceleration sensor 3 0 0 etc., the position and orientation information of the controller 2 0 0 can be reflected in the processing of the game application. Possible
  • FIG. 20 shows the configuration of the application processing unit 1 1 0.
  • the application processing unit 110 includes an input receiving unit 4 0 0, an acquisition unit 4 0 2, a change detection unit 4 0 4, an object control unit 4 0 6, and an image signal generation unit 4 0 8.
  • FIG. 20 shows only a configuration for generating an image related to an object. Actually, the background image of the object is generated by another configuration, and the audio signal is also generated by another configuration.
  • the input receiving unit 4 0 0 receives an operation input input from the wireless communication module 1 0 8 via the game controller 2 0 0.
  • the acquisition unit 4 0 2 is a position estimation unit. From 2 50, position information or attitude information of game controller 2 200 in real space is acquired.
  • the change detection unit 40 4 detects a change in the position or posture of the game controller 2 0 0 from the position information or posture information acquired continuously in time by the acquisition unit 40 2.
  • the change detection unit 40 4 can acquire the moving speed and moving direction of the controller 20 0 by detecting a change in position, and can detect the rotational speed and speed of the controller 2 0 0 by detecting a change in posture. The direction of rotation can be acquired.
  • the object control unit 40 06 controls the operation of the object in the virtual space based on the operation input received by the input reception unit 400.
  • the object control unit 40 6 of this 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 4 02. Further, the object control unit 40 6 has a function of controlling the movement of the object using the change in position or posture acquired by the change detection unit 40 4.
  • the object control unit 40 6 may determine the posture of the object in the virtual space using the position information or the posture information. In addition, the object control unit 40 6 controls the operation of the object ⁇ using the position information or the posture information when the change detection unit 40 4 detects a predetermined change in the position or posture. It may start or end.
  • the object control unit 4 0 6 obtains the three-dimensional position information or posture information. It may be used to control the movement of objects in a virtual 3D space. If the motion of the controller 200 is large and the object displayed on the image display device 3 is likely to be framed from the screen, the object control unit 40 6 may execute the notification process for the user. Good. The object whose operation is controlled by the object control unit 40 6 is converted into an image signal by the image signal generation unit 40 8 together with other background images. [0107] Application examples are shown below.
  • the height of the controller 20 0 in the frame image is the hitting height of the tennis ball
  • the direction of the controller 2 0 0 is the ball hitting direction
  • the speed at which the controller 2 0 is moved is the strength of hitting the ball.
  • the game can be advanced by moving the controller 200. Since these movements approximate the movements of swinging an actual racket, it is possible to give the user a feeling close to playing tennis.
  • controller controller 200 may be operated in the same manner as a racket, and the angle and direction of the swing at this time may be used.
  • the object control unit 4 0 6 acquires the height of the controller 2 0 0 from the position information of the controller 2 0 0 acquired by the acquisition unit 4 0 2 and acquires the orientation of the controller 2 0 0 from the posture information To do. In addition, the object control unit 40 6 obtains the moving speed of the controller 20 00 from the change detection unit 40 04. Based on these pieces of information, the object control unit 40 6 determines the posture of the object such as a racket or a character and operates it.
  • the object control unit 40 06 may control the operation of each virtual object based on the position information and the posture information of the controller 20 00 acquired by the acquisition unit 4 02. However, for example, a difference from the reference position and the reference posture may be taken, and the motion of each virtual object may be controlled based on the difference value.
  • the object control unit 4 06 uses the position and orientation of the controller 2 00 when the user operates the buttons of the controller 2 0 0 as the reference position and reference orientation used for the object motion control process. You may get it.
  • the object control unit 40 6 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 40 2, and based on the change amount. The motion control of the virtual object is executed.
  • the object control unit 40 6 notifies the reference position and reference posture to the change detection unit 40 4, and the change detection unit 40 4 detects the amount of change from the reference position and reference posture. May be.
  • the motion control of an object is performed based on the amount of change from the reference position and reference posture, but the object motion control based on the position and posture in real space coordinates can be executed in the same way.
  • buttons and key operations of the controller 200 as game inputs as they are, it is possible to make a game input that is sensibly innovative while maintaining the conventional game operation inputs.
  • the strength of hitting the ball may be determined by a button operation of the controller 200.
  • new gameplay can be realized. For example, tennis that can hit a strong serve by moving the controller 2 0 0 by moving the controller 2 0 0 while pressing the button while specifying the position to drop the ball on the opponent's court in the direction of the controller 2 0 0 It is also possible to make a game.
  • the object control unit 40 6 causes the character to move in a positive direction when the amount of change in the height direction from the reference position of the controller 200 is small, and when the amount of change is large in the positive direction (upward). You can move the smash and move the lob when it is negative (downward).
  • Fig. 21 (a) shows a state where the character performs a pole
  • Fig. 21 (b) shows a state where the character smashes.
  • two virtual objects, a game character and a racket are represented.
  • the controller 200 by reflecting the position information of the controller 200 not only on the character's posture but also on the inclination of the racket. It is possible to give the user a sense of actually playing tennis.
  • the speed may be determined by the speed of moving the controller 200, Alternatively, it may be determined by a 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 performed. By using in combination, the operability of the game application can be improved.
  • the object control unit 40 6 is a diagram object that is output to the screen of the image display device 3 so as to follow the two-dimensional positional information in the X-axis and Y-axis directions supplied from the acquisition unit 40 2. Is generated.
  • the longitudinal direction of the casing is set as the X axis
  • the height direction is set as the Y axis
  • the short side direction is set as the Z axis. It is called the case Y-axis and case Z-axis.
  • the horizontal direction is set as the X axis
  • the vertical direction is set as the Y axis
  • the depth direction is set as the Z axis.
  • Screen Y-axis Screen Z-axis.
  • Object control unit 4 0 6 Force When using two-dimensional movement in the XY plane as a game input, the movement in the other direction, that is, the movement in the Z-axis direction, It may be used as a start or end trigger.
  • the movement in the z-axis direction is not used for motion control of diagram objects, it can be used favorably as a start or end trigger. That is, by using information other than the components necessary for the movement of the object during the game as instruction information for the game, the game application can be executed without using the key operation. For example, in a character input game, the rotation operation of the controller 2 00 is not used as a game input. Therefore, an instruction to start or end the trace process is input by rotating the controller 2 0 0, that is, by changing the posture. It is good.
  • 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 the time limit so that it does not hit the course frame or obstacles. It can be executed as a game application.
  • the object control unit 4 06 uses the 3D position information and orientation information of the controller 2 00 to control the movement of the electrode rod, which is a virtual object, in the virtual 3D space. Also good. In other words, by providing the course frame ⁇ also in the screen depth direction (screen Z-axis direction) in the game screen, the user can not only place the controller 200 on the case XY plane but also in the case Z-axis direction. It will move and give you the same experience as a real electrode stick game.
  • the object control unit 4 0 6 uses the position information of the controller 2 0 0 as a basis. It seems to frame out to the user Notification processing for notifying may be performed. For example, when the controller 2 00 is likely to flare, a vibration control signal for vibrating the vibrator to the controller 2 0 0 is generated and transmitted from the wireless communication module 1 0 8. May be. Also, if a virtual object that follows the movement of the controller 200 is displayed as a game image, moving the virtual object so that it stands out to the user can tell the user that it is likely to frame. Good. For example, the user may be notified by performing a special movement that is repelled inward from the frame of the screen.
  • Whether or not the frame is about to be out may be determined based on whether or not the position in the vicinity of the frame is obtained when the position information of the controller 200 is converted into the screen coordinates.
  • the change detection unit 40 4 may detect the moving direction and speed of the controller 20 0 and predict whether or not to frame out within a predetermined time from the information. This prediction process may be executed on the assumption that it is in the vicinity of the frame.
  • the imaging device 2 When the imaging device 2 is used, it may be determined at the position of the controller 20 0 in the frame image, for example, and the controller 20 may exist near the edge of the frame image. If detected, this notification process may be performed.
  • various applications can be executed based on the position information and the posture information of the controller 20 0 or the controller 20.
  • the controller by rotating the controller together with the input button, you can make the game object make a big soap bubble.
  • the game object can be kneaded with the cooking game by rotating the controller or reciprocating the posture.
  • the position information of the controller the game object can be operated and commanded by the tambourine.
  • the controller's 3D position information it is possible to apply a sphere by hitting a 3D block.
  • the player can be switched by passing the controller 20 0 so as to catch a pole between players. If there is a pseudo camera in the game, the viewpoint of the pseudo force mela can be moved based on the position information of the controller.
  • the controller based on the rotation information of the controller, it is also possible to perform an action of turning a virtual door knob.
  • the virtual object can be moved following the movement.
  • the movement is captured as a virtual flea movement, creating a sculpture, and by capturing the two-dimensional movement, the movement is captured by the virtual brush. You can create a picture by capturing it as a movement.
  • an instantaneous impact it is possible to control the progress of the game, such as vibrating the controller when the impact level exceeds a predetermined value or reflecting the impact on the game object. Good. If you have an acceleration sensor, etc., you can detect the impact with that acceleration, and if you use an LED image, if the LED image becomes elliptical or is not captured instantaneously, the controller It may be determined that has been impacted.
  • the present invention can be used for a game device that executes a new application using new input information.

Abstract

A game device includes an input reception unit (400) for receiving an operation input inputted from a game controller and an object control unit (406) for controlling the operation of an object in a virtual space according to the operation input received by the input reception unit. An acquisition unit (402) acquires position information or posture information on the game controller in the real space. The object control unit (406) controls the operation of the object by using the position information or the posture information.

Description

明 細 書  Specification
ゲーム装置  Game device
技術分野  Technical field
[0001 ] 本発明は、 ゲームアプリケーションを実行するゲーム装置に関する。  The present invention relates to a game device that executes a game application.
背景技術  Background art
[0002] 近年、 2次元コードをカメラで撮像してコードデータを認識し、 そのコー  [0002] In recent years, code data is recognized by imaging a two-dimensional code with a camera and the code data is recognized.
ドデータに対応付けられた所定の処理を実行させる技術が提案されている。 1次元バーコ一ドと比較すると 2次元コードの方がコード化できる情報量が 多く、 現在では様々な種類の 2次元コードが実用化されている。 このような 状況のもと、 従来、 2次元コードの画像認識に関する技術を提案するものが ある (例えば、 特許文献 1参照) 。  There has been proposed a technique for executing a predetermined process associated with a stored data. Compared with one-dimensional barcodes, two-dimensional codes can be encoded with a larger amount of information, and various types of two-dimensional codes are now in practical use. Under such circumstances, there has been proposed a technique related to image recognition of a two-dimensional code (for example, see Patent Document 1).
[0003] 実空間上のオブジェク卜の 3次元的な位置や姿勢などを取得するために、 磁気方式、 超音波方式または光学方式を利用した様々な計測システムが存在 する。 磁気方式による計測システムは、 環境に存在する電子機器や地磁気な どの影響を受けやすく、 また超音波方式による計測システムは、 環境の気圧 や温度などの影響を受けやすい。 一方で、 光学方式による計測システムは、 カメラで撮像した撮影画像を利用するため、 周辺の磁界や気圧、 温度などの 影響を受けることがない。 光学方式を利用した計測システムとして、 ォブジ ェク卜に設けた複数の L E Dをそれぞれ一意に定められる点滅パターンで点 滅させて、 2次元イメージセンサによる撮影画像を利用して 3次元位置や姿 勢などを認識する技術が提案されている (例えば、 特許文献 2参照) 。 特許 文献 2では、 マーカとして機能する L E Dが、 L E Dごとに一意に識別可能 な識別情報を有している。  There are various measurement systems that use a magnetic method, an ultrasonic method, or an optical method to acquire the three-dimensional position and orientation of an object in real space. Magnetic measurement systems are susceptible to environmental electronic devices and geomagnetism, and ultrasonic measurement systems are susceptible to environmental pressure and temperature. On the other hand, an optical measurement system uses a captured image captured by a camera and is not affected by the surrounding magnetic field, atmospheric pressure, or temperature. As a measurement system that uses an optical method, a plurality of LEDs provided in an objet can be blinked with a uniquely defined blink pattern, and a 3D position and posture can be captured using a 2D image sensor. Have 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.
特許文献 1 :特開 2 0 0 6 _ 7 2 6 6 7号公報  Patent Document 1: Japanese Patent Laid-Open No. 2 0 06 _7 2 6 6 7
特許文献 2:特開 2 0 0 3 _ 2 5 4 7 1 6号公報  Patent Document 2: Japanese Patent Laid-Open No. 2 0 0 3 _ 2 5 4 7 1 6
発明の開示  Disclosure of the invention
発明が解決しょうとする課題 [0004] 近年の技術進歩にともない、 ゲームシステムのハードウェアスペックが飛 躍的に向上している。 最近では、 カメラとゲーム装置を接続してユーザが力 メラの前で体を動かすと、 ゲーム装置が光学的にユーザの動きを認識してゲ ー厶への入力として利用するゲームシステムも実現されている。 このような ゲーム環境のもと、 ユーザのゲームアプリケーションに対する要求も多様化 する傾向にある。 Problems to be solved by the invention [0004] With recent technological advances, the hardware specifications of game systems have been dramatically improved. 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 his body in front of a powerful camera by connecting a camera and a game device. ing. In such a game environment, user demands for game applications tend to diversify.
[0005] 本発明者は、 ユーザの多様化した要求を満足させるベく、 ゲーム装置と接 続したカメラを利用して、 ゲームコントローラを撮影した撮像画像の情報を ゲーム装置の入力情報として抽出することで、 従来にないゲームアプリケー シヨンを実現できる可能性を見いだした。 また、 ゲームコントローラに加速 度センサなどを搭載して、 その計測情報をゲーム装置の入力情報として利用 することによつても、 従来にないゲームアプリケーションを実現できる可能 性を見いだした。 また、 ゲームシステムだけでなく、 他の環境、 たとえば教 育現場やビジネスの現場などのェンタティンメントシステムにおいても有効 なアプリケーションを実現できると考えられる。  [0005] In order to satisfy the diversified demands of users, the present inventor uses a camera connected to a game device to extract information of a captured image taken by a game controller as input information of the game device. As a result, we found the possibility of realizing an unprecedented game application. We also found the possibility of realizing an unprecedented game application by installing an acceleration sensor in the game controller and using the measured information as input information for the game device. In addition to game systems, it is thought that effective applications can be realized in other environments, such as entertainment systems such as educational sites and business sites.
課題を解決するための手段  Means for solving the problem
[0006] 上記課題を解決するために、 本発明のある態様のゲーム装置は、 ゲームコ ントローラから入力される操作入力を受け付ける入力受付部と、 入力受付部 において受け付けた操作入力をもとに、 仮想空間におけるオブジェク卜の動 作を制御するオブジェクト制御部とを備える。 このゲーム装置は、 ゲームコ ントローラの実空間における位置情報または姿勢情報を取得する取得部をさ らに備え、 オブジェクト制御部は、 位置情報または姿勢情報を利用して、 ォ ブジェク卜の動作を制御する。  [0006] In order to solve the above problems, a game device according to an aspect of the present invention is based on an input receiving unit that receives an operation input input from a game controller, and an operation input received by the input receiving unit. And an object control unit for controlling the movement of the object in the space. 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. .
発明の効果  The invention's effect
[0007] 本発明によると、 新たな入力情報を利用した新規なアプリケーションを実 行するゲーム装置を提供することが可能となる。  According to the present invention, it is possible to provide a game device that executes a new application using new input information.
図面の簡単な説明  Brief Description of Drawings
[0008] [図 1 ]本発明の実施例にかかるゲームシステムの使用環境を示す図である。 [図 2]コントローラの外観構成を示す図である。 FIG. 1 is a diagram showing a use environment of a game system according to an embodiment of the present invention. FIG. 2 is a diagram showing an external configuration of a controller.
[図 3]コントローラの背面側の外観構成を示す図である。  FIG. 3 is a diagram showing an external configuration of the back side of the controller.
[図 4]コントローラの内部構成を示す図である。  FIG. 4 is a diagram showing an internal configuration of a controller.
[図 5]ゲーム装置の構成を示す図である。  FIG. 5 is a diagram showing a configuration of a game device.
[図 6]画像処理部の構成を示す図である。  FIG. 6 is a diagram illustrating a configuration of an image processing unit.
[図 7] ( a ) は現フレーム画像を示す図であり、 (b ) は現フレーム画像と前 フレーム画像の差分画像を示す図である。  [FIG. 7] (a) is a diagram showing a current frame image, and (b) is a diagram showing a difference image between the current frame image and the previous frame image.
[図 8] ( a ) は現フレーム画像の 2値化画像を示す図であり、 (b ) は論理積 画像を示す図である。  [Fig. 8] (a) is a diagram showing a binarized image of the current frame image, and (b) is a diagram showing a logical product image.
[図 9] L E D画像候補の検出処理の処理手順を示すフローチヤ一トである。  FIG. 9 is a flowchart showing the processing procedure of LED image candidate detection processing.
[図 10] L E D抽出処理の処理手順を示すフローチヤ一トである。 FIG. 10 is a flowchart showing the processing procedure of LED extraction processing.
[図 1 1 ]図 1 0の S 1 2 2 こ示す第 2 L E D検出処理の処理手順を示すフロー チヤ一トである。 [Fig. 1 1] S 1 2 2 in FIG. 10 is a flow chart showing the processing procedure of the second LED detection process shown in FIG.
[図 12]図 1 0の S 1 2 4 こ示す第 3 L E D検出処理の処理手順を示すフロー チヤ一トである。 [FIG. 12] S 1 2 4 in FIG. 10 is a flowchart showing a processing procedure of the third LED detection processing shown.
[図 13]図 1 0の S 1 2 6 こ示す第 4 L E D検出処理の処理手順を示すフロー チヤ一トである。 FIG. 13 is a flow chart showing the procedure of the fourth LED detection process shown in S 1 2 6 of FIG.
[図 14]コントローラに対応する仮想オブジェク卜がゲーム画面内で円滑な追 従動作を実現するためのアルゴリズムを説明するための図である。  FIG. 14 is a diagram for explaining an algorithm for the virtual object corresponding to the controller to realize a smooth follow-up operation in the game screen.
[図 15] 2次元コードを有するコントローラを示す図である。  FIG. 15 is a diagram showing a controller having a two-dimensional code.
[図 16] 2次元コードを構成する 2次元パターンの一例を示す図である。  FIG. 16 is a diagram showing an example of a two-dimensional pattern constituting a two-dimensional code.
[図 17]画像処理部の構成を示す図である。  FIG. 17 is a diagram illustrating a configuration of an image processing unit.
[図 18]実施例にかかるコントローラの内部構成を示す図である。  FIG. 18 is a diagram showing an internal configuration of a controller according to an example.
[図 19]実施例にかかるゲーム装置の構成を示す図である。  FIG. 19 is a diagram showing a configuration of a game device according to an example.
[図 20]アプリケーション処理部の構成を示す図である。  FIG. 20 is a diagram showing a configuration of an application processing unit.
[図 21 ]キャラクタの動作例を示す。  [Fig.21] An example of character movement is shown.
符号の説明 Explanation of symbols
1 ■ ■ ■ゲームシステム、 2 ■ ■ ■撮像装置、 3 ■ ■ ■画像表示装置、 4 ■ ■ ■音声出力装置、 1 0 · ■ ■ゲーム装置、 20 · ■ ' コントローラ、 30 0 ■ ■ ■ 3軸加速度センサ、 302 · ■ ■ジャィ口センサ、 1 1 0 · ■ ■ァ プリケーシヨン処理部、 400 ■ ■ ■入力受付部、 402 ■ ■ ■取得部、 4 04 ■ ■ ■変化検出部、 406 · ■ ■オブジェクト制御部、 408 · ■ '画 像信号生成部。 1 ■ ■ ■ Game system, 2 ■ ■ ■ Imaging device, 3 ■ ■ ■ Image display device, 4 ■ ■ ■ Voice output device, 1 0 · ■ ■ Game device, 20 · ■ 'Controller, 30 0 ■ ■ ■ 3-axis acceleration sensor, 302 · ■ ■ Jia mouth sensor, 1 1 0 · ■ ■ Application processing unit, 400 ■ ■ ■ Input acceptance unit, 402 ■ ■ ■ Acquisition unit, 4 04 ■ ■ ■ Change detection unit, 406 · ■ ■ Object control unit, 408 · ■ 'Image signal generation unit.
発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION
[0010] 本発明の実施例は、 ゲームコントローラの実空間における位置情報および または姿勢情報を取得し、 その情報をもとに実行可能なゲームアプリケー シヨンを実行可能なゲーム装置を提供する。 そのために、 本明細書では、 ま ずゲームコントローラの位置情報および または姿勢情報を取得するための 手法を示す。 以下では、 (1 ) L E Dを利用した方法、 (2) 2次元コード を利用した方法、 (3) 加速度センサなどの計測値を利用した方法を示し、 続いて、 ゲームコントローラの位置情報および または姿勢情報をもとに実 行可能なゲームアプリケーションを示す。  [0010] An embodiment of the present invention provides a game apparatus capable of acquiring position information and / or posture information in a real space of a game controller and executing a game application that can be executed based on the information. Therefore, in this specification, first, a technique for obtaining the position information and / or posture information of the game controller is shown. The following shows (1) a method using 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 and / or posture of a game controller. Indicates game applications that can be executed based on the information.
[0011] ( 1 ) L E Dを利用した位置情報および または姿勢情報の取得方法  [0011] (1) Acquisition method of position information and / or posture information using LED
図 1は、 本発明の実施例にかかるゲームシステムの使用環境を示す。 ゲー ムシステム 1は、 撮像装置 2、 画像表示装置 3、 音声出力装置 4、 ゲーム装 置 1 0およびコントローラ 20を備える。 撮像装置 2、 画像表示装置 3、 音 声出力装置 4およびコントローラ 20は、 ゲーム装置 1 0に接続される。  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.
[0012] コントローラ 20は、 ユーザが操作入力を行うための操作入力装置であり 、 またゲーム装置 1 0は、 コントローラ 20における操作入力をもとにゲー ムアプリケーションを処理して、 ゲームアプリケーションの処理結果を示す 画像信号を生成する処理装置である。 なお、 本実施例に示す技術は、 ゲーム アプリケーションに限らず、 他の種類のアプリケーションを実行する処理装 置を備えたェンタティンメントシステムにおいても実現できる。 以下では、 ェンタティンメントシステムを代表して、 ゲームアプリケーションを実行す るゲームシステム 1について説明する。  [0012] The controller 20 is an operation input device for a user to perform an operation input, and the game device 10 processes a game application based on the operation input in the controller 20, and the processing result of the game application Is a processing device for generating an image signal indicating The technology shown in the present embodiment can be realized not only in a game application but also in an entertainment system provided with a processing device that executes other types of applications. In the following, a game system 1 that executes a game application will be described on behalf of the entertainment system.
[0013] 撮像装置 2は、 CCD撮像素子または CMOS撮像素子などから構成され るビデオカメラであり、 実空間を所定の周期で撮像して、 周期ごとのフレー 厶画像を生成する。 たとえば、 撮像装置 2の撮像速度は 3 0枚 秒として、 画像表示装置 3のフレームレートと一致させてもよい。 撮像装置 2は、 U S B (Un i versa l Ser i a l Bus) あるいはその他のインタフェースを介してゲー ム装置 1 0と接続する。 [0013] The imaging device 2 includes a CCD image sensor or a CMOS image sensor. This is a video camera that captures real space with a predetermined period and generates a frame image for each period. For example, the imaging speed of the imaging device 2 may be set to 30 frames and may be matched with 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.
[0014] 画像表示装置 3は画像信号を出力するディスプレイであって、 ゲーム装置  The image display device 3 is a display that outputs an image signal, and is a game device
1 0において生成された画像信号を受けて、 ゲーム画面を表示する。 音声出 力装置 4は音声を出力するスピーカであって、 ゲーム装置 1 0において生成 された音声信号を受けて、 ゲーム音声を出力する。 画像表示装置 3および音 声出力装置 4は、 ゲームシステム 1における出力装置を構成する。  10 In response to the image signal generated in 0, the game screen is displayed. The sound output device 4 is a speaker that outputs sound, and receives a sound signal generated by the game device 10 and outputs game sound. The image display device 3 and the audio output device 4 constitute an output device in the game system 1.
[0015] ゲーム装置 1 0と画像表示装置 3は、 有線により接続されてもよく、 また 無線により接続されてもよい。 ゲーム装置 1 0と画像表示装置 3とは A Vケ 一ブルによって接続されてもよい。 またゲーム装置 1 0と画像表示装置 3と の間には、 ネットワーク (L A N ) ケーブルやワイヤレス L A Nなどで構築 したホームネットワークが構築されてもよい。  [0015] Game device 10 and image display device 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. In addition, a home network constructed with a network (L A N) cable or a wireless L A N may be constructed between the game apparatus 10 and the image display apparatus 3.
[0016] コントローラ 2 0は、 ユーザによる操作入力をゲーム装置 1 0に伝送する 機能をもち、 本実施例ではゲーム装置 1 0との間で無線通信可能な無線コン トローラとして構成される。 コントローラ 2 0とゲーム装置 1 0は、 B l uetoo th (ブルートゥース) (登録商標) プロトコルを用いて無線接続を確立して もよい。 ゲーム装置 1 0は、 複数のコントローラ 2 0との無線接続を可能と し、 すなわちゲームシステム 1においては、 ゲーム装置 1 0とコントローラ 2 0の 1対 N接続を実現できる。 ゲーム装置 1 0は親機すなわちマスタとし て機能し、 コントローラ 2 0は子機すなわちスレーブとして機能する。 なお コントローラ 2 0は、 無線コントローラに限らず、 ゲーム装置 1 0とケープ ルを介して接続される有線コントローラであってもよい。  The controller 20 has a function of transmitting an operation input by a 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 device 10 may establish a wireless connection using the Bluetooth (registered trademark) protocol. The game apparatus 10 can wirelessly connect 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 or master, and the controller 20 functions as a child device or 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.
[0017] コントローラ 2 0は、 図示しないバッテリにより駆動され、 ゲームを進行 させる操作入力を行うための複数のボタンやキーを有して構成される。 ユー ザがコントローラ 2 0のボタンゃキーを操作すると、 その操作入力が無線に よりゲーム装置 1 0に送信される。 ゲーム装置 1 0は、 コントローラ 2 0か らゲームアプリケーションに関する操作入力を受信し、 操作入力に応じてゲ ー厶進行を制御して、 ゲーム画像信号およびゲーム音声信号を生成する。 生 成されたゲーム画像信号およびゲーム音声信号は、 それぞれ画像表示装置 3 および音声出力装置 4により出力される。 またゲーム装置 1 0は、 ゲームァ プリケーシヨンの進行状況に応じて、 コントローラ 2 0を振動させる振動制 御信号をコントローラ 2 0に送信する機能ももつ。 コントローラ 2 0は振動 子を有し、 振動制御信号を受信すると振動子を振動させる。 [0017] The controller 20 is driven by a battery (not shown) and has a plurality of buttons and keys for performing an operation input for advancing the game. When the user operates the controller 20 key, the operation input becomes wireless. To the game device 10. The game apparatus 10 receives an operation input related to the game application from the controller 20, controls the progress of the game 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 that vibrates the controller 20 to the controller 20 in accordance with the progress of the game application. The controller 20 has a vibrator and vibrates the vibrator when receiving a vibration control signal.
[0018] 本実施例のゲームシステム 1において、 コントローラ 2 0は、 複数の発光 素子を有して構成される。 複数の発光素子はそれぞれ同色の L E Dであって 、 ゲームアプリケーションで設定されるコントローラ番号を表現するインジ ケータとしての役割をもつ。 ゲームアプリケーションにおけるコントローラ 番号は、 たとえばゲーム開始時にゲームキャラクタを選択する際などにユー ザに利用されるため、 ユーザに何らかの手段でコントローラ番号を通知する 必要がある。 そのためコントローラ 2 0では、 複数の L E Dのうち、 たとえ ば 1番目の L E Dが点灯していればコントローラ番号が 1であり、 また 2番 目の L E Dが点灯していればコントローラ番号が 2であるとしてユーザにコ ントローラ番号を知らしめる。 なお、 複数の L E Dの組合わせによりコント ローラ番号を表現することも可能である。  [0018] 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. The controller number in the game application is used by the user, for example, when selecting a game character at the start of the game, so it is necessary to notify the user of the controller number by some means. Therefore, in 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. Inform the user of the controller number. It is also possible to express the controller number by combining multiple LEDs.
[0019] コントローラ 2 0が有線コントローラである場合には、 コントローラ 2 0 から延びるケーブルコネクタをゲーム装置 1 0のポー卜に差し込んだ位置で コントローラ番号を決定することも可能である。 しかしながら、 複数のポー トを備えたマルチポート装置をゲーム装置 1 0に外付けして使用するような 場合には、 ユーザはすぐにコントローラ番号を知ることはできないため、 複 数の L E Dを用いてユーザにコントローラ番号を通知することが好ましい。  When the controller 20 is a wired controller, it is possible to determine the controller number at the position where the cable connector extending from the controller 20 is inserted into the port of the game apparatus 10. However, when using a multi-port device with multiple ports externally attached to the game device 10, the user cannot know the controller number immediately, so use multiple LEDs. It is preferable to notify the user of the controller number.
[0020] ゲームシステム 1においては、 コントローラ 2 0の L E Dを、 コントロー ラ番号のィンジケータとしてだけではなく、 ゲームァプリケーションの進行 に影響を与えるゲーム入力としても利用する。 この場合、 L E Dの制御は、 インジケータとして点灯するのではなく、 ゲームアプリケーションへの入力 としての点灯に切り替えられる。 撮像装置 2はコントローラ 2 0の L E Dを 撮像し、 フレーム画像を生成してゲーム装置 1 0に供給する。 ゲーム装置 1 0は、 フレーム画像を取得して、 フレーム画像における L E D画像の位置な どからコントローラ 2 0のフレーム画像中の位置や姿勢を推定して、 実空間 における位置情報および姿勢情報を取得し、 取得した位置情報および また は姿勢情報をゲームアプリケーションの処理に反映する。 すなわち、 本実施 例のゲーム装置 1 0は、 コントローラ 2 0において入力された操作入力だけ でなく、 取得したコントローラ 2 0の位置情報や姿勢情報も用いてゲームァ プリケーシヨンを処理して、 その処理結果を示す画像信号を生成する機能を もつ。 [0020] 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 Instead of lighting as an indicator, it can be switched to lighting as input to the game application. The imaging device 2 captures 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 position information and posture information in the real space. The acquired position information and / or posture information is reflected in the processing of the game application. That is, the game apparatus 10 of this 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 the processing result It has a function to generate an image signal indicating.
[0021 ] 図 2は、 コントローラの外観構成を示す。 コントローラ 2 0には、 方向キ 一 2 1、 アナログスティック 2 7と、 4種の操作ポタン 2 6が設けられてい る。 方向キー 2 1、 アナログスティック 2 7、 操作ポタン 2 6は、 筐体上面 3 0に設けられた入力部である。 4種のポタン 2 2 ~ 2 5には、 それぞれを 区別するために、 異なる色で異なる図形が記されている。 すなわち、 〇ボタ ン 2 2には赤色の丸、 Xポタン 2 3には青色のバッ、 口ポタン 2 4には紫色 の四角形、 △ポタン 2 5には緑色の三角形が記されている。 コントローラ 2 0の筐体背面 2 9には、 複数の L E Dが設けられている。  [0021] 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 button 26 are input units provided on the upper surface 30 of the casing. The four types of buttons 2 2 to 25 are marked with different figures in different colors to distinguish them. That is, ○ button 2 2 has a red circle, X button 2 3 has a blue bag, mouth button 24 has a purple square, and Δ button 25 has a green triangle. A plurality of LEDs are provided on the rear surface 29 of the controller 20.
[0022] ユーザは左手で左側把持部 2 8 aを把持し、 右手で右側把持部 2 8 bを把 持して、 コントローラ 2 0を操作する。 方向キー 2 1、 アナログスティック 2 7、 操作ボタン 2 6は、 ユーザが左側把持部 2 8 a、 右側把持部 2 8 bを 把持した状態で操作可能なように、 筐体上面 3 0上に設けられる。  [0022] The user grips the left gripping portion 28a with his left hand, grips the right gripping portion 28b with his right hand, and operates the controller 20. Direction keys 2 1, analog stick 2 7, and operation buttons 2 6 are provided on the top surface of the chassis 30 so that the user can operate with the left gripping part 2 8 a and right gripping part 2 8 b gripped. It is done.
[0023] 筐体上面 3 0には、 L E D付きボタン 3 1も設けられる。 L E D付きボタ ン 3 1は、 たとえば画像表示装置 3にメニュー画面を表示させるためのボタ ンとして利用される。 また、 L E Dの発光状態によリューザへのメールの着 信の知らせや、 コントローラ 2 0のバッテリの充電状態などを示す機能もも つ。 たとえば充電中は赤色、 充電が終了すると緑色に点灯し、 充電残存量が 残り少ないときには赤色を点滅させるように L E Dを点灯させる。 [0023] The upper surface 30 of the housing is also provided with a button 31 with LED. The button with LED 3 1 is used as a button for displaying a menu screen on the image display device 3, for example. In addition, it has a function to indicate the arrival of e-mail to Reuser according to the light emission status of the LED and to indicate the charge status of the controller 20 battery. For example, red when charging, green when charging is complete, When the remaining capacity is low, turn on the LED so that it flashes red.
[0024] ユーザは画像表示装置 3に表示されるゲーム画面を見ながらゲームを行う ため、 画像表示装置 3は、 矢印 Aで示すコントローラ 20の前方に存在して いる。 そのため、 通常は、 画像表示装置 3に対して、 L E Dを配置された筐 体背面 29が向き合うことになる。 本実施例において撮像装置 2は、 ゲーム アプリケーションの実行中に L E Dを撮像する必要があるため、 その撮像範 囲が画像表示装置 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 an 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, the imaging device 2 needs to capture an LED during execution of the game application. Therefore, the imaging device 2 is arranged so that the imaging range faces the same direction as the image display device 3, and the rear surface of the controller 20 housing It is preferable to face 29. 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.
[0025] 図 3は、 コントローラの背面側の外観構成を示す。 図 3では、 コントロー ラ 20の筐体上面 30における方向キー 2 1や操作ポタン 26などの図示を 省略している。 筐体背面 29には L E D配設領域 42が設けられ、 L E D配 設領域 42内に第 1 L E D40 a、 第 2 L E D40 b、 第 3 L E D40 cお よび第 4 L E D40 dが配置される。 以下、 第 1 L E D40 a、 第 2 L E D 40 b、 第 3 L E D40 cおよび第 4 L E D 40 dを総称する場合には、 「 L E D40」 と表記する。 L E D配設領域 42は、 筐体背面 29における中 央領域に形成される。 L E D配設領域 42の中央部には、 U S Bコネクタ 4 6が設けられる。 U S Bコネクタ 46には、 ゲーム装置 1 0から延びる U S Bケーブルが接続されて、 コントローラ 20の充電処理を行うことができる 。 なお U S Bケーブルが接続されると、 コントローラ 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. The LED rear area 29 is provided on the rear surface 29 of the housing, and the first LE D40a, the second LE D40b, the third LE D40c, and the fourth LE D40d are disposed in the LED arrangement area 42. . Hereinafter, the first LEDD 40a, the second LEDD 40b, the third LEDD40c, and the fourth LEDD40d are collectively referred to as "LEDD40". 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 region 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 the USB cable is connected, the controller 20 can be used as a wired controller.
[0026] 筐体背面 29側には、 操作ボタン 48 a、 48 b、 48 c、 4801カ《1_ £ D配設領域 42を挟んで左右に設けられる。 操作ボタン 48 a、 48 b、 4 8 c、 48 dは、 ユーザが左側把持部 28 a、 右側把持部 28 bを把持した 状態でも人差指の先端で操作可能な位置に設けられる。 これにより、 操作ポ タン 48 a、 48 b、 48 c、 48 dの操作時に、 LED40は人差指によ つて隠れない。 [0026] Operation buttons 48a, 48b, 48c, 4801 (1_ £ D placement area 42) are provided on the left and right sides of the housing rear 29 side. Operation buttons 48 a, 48 b, 4 8c and 48d are provided at positions where the user can operate with the tip of the index finger even when the user holds the left grip 28a and the right grip 28b. As a result, the LED 40 is not hidden by the index finger when operating the operation buttons 48a, 48b, 48c, and 48d.
[0027] 撮像装置 2は、 各画素における RGBの輝度値を取得する。 発光した LE D 40を正確に検出するためには、 LED40と LED40周辺の領域との コントラストが大きいことが好ましい。 そのため LED配設領域 42は、 そ の隣接する筐体色よりも明度の低い色をもち、 たとえば黒色の配色を施され る。 LED配設領域 42は、 黒色の半透明板として構成され、 LED40は 、 その背後すなわち筐体内部側に設けられる。 これにより、 LED40は点 灯していなければ撮像装置 2からは見えず、 点灯したときのみ撮像される。 黒色半透明板は、 光を拡散して L E D 40の狭指向性を広指向性に変える役 割ももつ。 LED40を LED配設領域 42に設けることで、 発光した LE D40とのコントラストを高めることができ、 後の画像処理において、 フレ ー厶画像から LED画像を効果的に抽出することが可能となる。  The imaging device 2 acquires RGB luminance values at 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 area 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. As a result, the LED 40 is not visible from the imaging device 2 unless it is lit, and an image is captured only when it is lit. The black translucent plate also has a function of diffusing light and changing the narrow directivity of LED 40 to a wide directivity. By providing the LED 40 in the LED arrangement area 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.
[0028] 第 1 LED40 a、 第 2 LED40 b、 第 3 LED40 cおよび第 4 L E D40 dは、 所定の 2次元パターンで配設される。 たとえば第 1 LED40 a、 第 2 LED40 b、 第 3 LED40 cおよび第 4 L E D 40 dは、 矩形 の頂点を構成する位置に配設される。 ゲーム装置 1 0は、 この位置関係を予 め把握しており、 L E D画像の抽出処理に利用する。 なお各 LED40の近 傍には、 数字が刻印または印刷されており、 ユーザは点灯した LED40の 近傍の数字をみて、 コントローラ番号を知ることができる。  [0028] 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, the first LED 40a, the second LED 40b, the third LED 40c, and the fourth LED 40d are disposed at positions that constitute the vertex of the rectangle. The game apparatus 10 knows this positional relationship in advance and uses it for the extraction process of the LED image. Numbers are stamped or printed in the vicinity of each LED 40, and the user can know the controller number by looking at the numbers in the vicinity of the lit LED 40.
[0029] 図 4は、 コントローラの内部構成を示す。 コントローラ 20は、 無線通信 モジュール 58、 処理部 60、 1_曰040ぉょび振動子44を備ぇる。 無線 通信モジュール 58は、 ゲーム装置 1 0の無線通信モジュールとの間でデー タを送受信する機能をもつ。 処理部 60は、 コントローラ 20における所期 の処理を実行する。  FIG. 4 shows the internal configuration of the controller. The controller 20 includes a wireless communication module 58, a processing unit 60, and a 1_ 曰 040 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 a predetermined process in the controller 20.
[0030] 処理部 60は、 メイン制御部 50、 入力受付部 52、 P WM制御部 54お よび駆動部 56を有する。 メイン制御部 50は、 無線通信モジュール 58と の間で必要なデータの送受を行う。 [0030] The processing unit 60 includes a main control unit 50, an input receiving unit 52, a P WM control unit 54, And a drive unit 56. The main control unit 50 transmits and receives necessary data to and from the wireless communication module 58.
[0031] 入力受付部 52は、 方向キー 21、 操作ポタン 26、 アナログスティック [0031] The input reception unit 52 includes a direction key 21, an operation button 26, and an analog stick.
27などの入力部からの入力情報を受け付け、 メイン制御部 50に送る。 メ イン制御部 50は、 受け取った入力情報を無線通信モジュール 58に供給し 、 無線通信モジュール 58は、 所定のタイミングでゲーム装置 1 0に送信す る。 また、 無線通信モジュール 58はゲーム装置 1 0から振動制御信号を受 け取ると、 メイン制御部 50に供給し、 メィン制御部 50は、 振動制御信号 をもとに振動子 44を振動させる駆動部 56を動作させる。 駆動部 56は、 振動子 44を駆動するためのスィッチとして構成されてもよく、 また供給電 圧のデューティ比を可変とする PWM制御部として構成されてもよい。  Accepts input information from the input section such as 27 and sends it to the main control section 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. Further, 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 vibrates the vibrator 44 based on the vibration control signal. Operate 56. 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.
[0032] 本実施例において、 \^1\1制御部54は、 第 1 PWM制御部 54 a、 第 2 PWM制御部 54 b、 第 3 PWM制御部 54 cおよび第 4 PWM制御部 54 dから構成される。 第 1 \^1\1制御部543、 第 2 PWM制御部 54 b、 第 In this embodiment, the \ ^ 1 \ 1 control unit 54 includes a first PWM control unit 54 a, a second PWM control unit 54 b, a third PWM control unit 54 c, and a fourth PWM control unit 54 d. Composed. First \ ^ 1 \ 1 control unit 543, second PWM control unit 54b, first
3 PWM制御部 54 cおよび第 4 PWM制御部 54 dは、 それぞれ第 1 L E D40 a、 第 2 LED40 b、 第 3 LED40 cおよび第 4 L E D 40 dの 点灯を制御するために設けられる。 \^1\1制御部54は、 LED40に印加 する電圧を PWM (パルス幅変調) により制御する。 たとえば、 PWM制御 部 54は、 数 k H zの高周波で印加電圧を PWM制御することで、 LED4 0の輝度を調整することができる。 また \^1\1制御部54は、 数 H z~1 0 OH z程度の低周波で印加電圧を PWM制御することで、 撮像装置 2におい て L E D 40の点灯のオンオフを認識させることができる。 The 3 PWM control unit 54 c and the fourth PWM control unit 54 d are provided to control lighting of the first LED 40 a, the second LED 40 b, the third LED 40 c, and the fourth LED 40 d, respectively. The \ ^ 1 \ 1 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 PWM controlling the applied voltage at a high frequency of several kilohertz. Moreover, the \ ^ 1 \ 1 control unit 54 can make the imaging device 2 recognize on / off of the lighting of the LED 40 by PWM control of the applied voltage at a low frequency of about several Hz to 10 OHz. .
[0033] 本実施例のゲームシステム 1において、 まず、 ゲームシステム 1に参加を 希望するユーザのコントローラ 20が、 ゲーム装置 1 0との間で通信を確立 する。 このとき、 コントローラ 20の識別情報、 たとえばブルートゥースァ ドレスがゲーム装置 1 0に受け渡され、 以後の通信は、 このブルートゥース アドレスをもとに行われる。 なお、 通信プロトコルとしてブルートゥースを 利用しない場合には、 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, the Bluetooth address, is transferred to the game apparatus 10, and the subsequent communication is performed based on the Bluetooth address. If Bluetooth is not used as the communication protocol, a device address such as a MAC address may be used. And. After the connection is established, the user can participate in the game application.
[0034] このときコントローラ 2 0には、 ゲーム装置 1 0からコントローラ番号を 指示する情報が送信される。 メイン制御部 5 0は、 この番号指示情報をもと に、 設定されたコントローラ番号に対応する L E D 4 0のみを点灯させる。 これによリューザは、 自身のコントローラ 2 0のコントローラ番号を知るこ とができる。 なお、 番号指示情報の代わりに、 コントローラ番号に対応する L E D 4 0の点灯を指示する制御信号がゲーム装置 1 0から送信されてもよ し、。 このようにメイン制御部 5 0は、 任意の L E D 4 0を点灯させることが できる。  At this time, information indicating the controller number is transmitted from the game apparatus 10 to the controller 20. Based on this number instruction information, the main control unit 50 lights only the LED 40 corresponding to the set controller number. This allows the Reuser to know the controller number of its own controller 20. Instead of the number instruction information, a control signal for instructing lighting of LED 40 corresponding to the controller number may be transmitted from the game apparatus 10. In this way, the main control unit 50 can light any LED 40.
[0035] 本実施例のゲームシステム 1において、 ゲーム装置 1 0は、 全ての L E D 4 0 a〜 4 0 dを点灯した状態で撮像されたフレーム画像をもとに、 実空間 におけるコントローラ 2 0の位置および姿勢を推定する。 推定した位置およ び姿勢は、 実行するゲームアプリケーションの入力として利用される。 また ゲーム装置 1 0は、 コントローラ 2 0の方向キー 2 1や操作ポタン 2 6など の操作入力も受け付ける。 これらの入力情報をもとに、 ゲーム装置 1 0は、 ゲームアプリケーションのゲームパラメータを生成し、 ゲームを進行制御し て、 ゲーム画像およびゲーム音声の A Vデータを生成する。 A Vデータは、 画像表示装置 3および音声出力装置 4において出力される。 ユーザは、 ゲー 厶画面を見ながら、 コントローラ 2 0を実空間上で動かし、 さらには方向キ 一 2 1や操作ボタン 2 6を操作入力してゲームを行う。 以下に、 ゲーム装置 1 0における処理を説明する。  [0035] In the game system 1 of the present embodiment, the game apparatus 10 includes the controller 20 in the real space based on the frame image captured with all the LEDs 40a to 40d lit. Estimate position and orientation. The estimated position and orientation are used as input for the game application to be executed. The game apparatus 10 also accepts operation inputs such as direction keys 21 and operation buttons 26 of the controller 20. Based on the input information, the game apparatus 10 generates game parameters for the game application, controls the progress of the game, and generates AV data for the game image and game sound. The 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 a game by operating the direction key 21 and the operation buttons 26. Hereinafter, processing in the game apparatus 10 will be described.
[0036] 図 5は、 ゲーム装置の構成を示す。 ゲーム装置 1 0は、 入力部 1 0 0、 画 像処理部 1 0 2、 位置推定部 1 0 4、 点滅指示部 1 0 6、 無線通信モジユー ル 1 0 8、 アプリケーション処理部 1 1 0および出力部 1 1 2を備える。 本 実施例におけるゲーム装置 1 0の処理機能は、 C P U、 メモリ、 メモリに口 一ドされたプログラムなどによって実現され、 ここではそれらの連携によつ て実現される構成を描いている。 プログラムは、 ゲーム装置 1 0に内蔵され ていてもよく、 また記録媒体に格納された形態で外部から供給されるもので あってもよい。 したがってこれらの機能ブロックがハードウェアのみ、 ソフ トウェァのみ、 またはそれらの組合せによっていろいろな形で実現できるこ とは、 当業者に理解されるところである。 図示の例では、 ゲーム装置 1 0の C P U力 画像処理部 1 0 2、 位置推定部 1 0 4、 点滅指示部 1 0 6、 アブ リケーシヨン処理部 1 1 0としての機能をもつ。 なお、 ハードウヱァの構成 上、 ゲーム装置 1 0は複数の C P Uを有してもよい。 このような場合、 1つ の C P Uがゲームァプリケーションを実行するアブリケーション処理部 1 1 0として機能し、 他の C P U力 撮像装置 2による撮影画像を処理する画像 処理部 1 0 2、 位置推定部 1 0 4、 点滅指示部 1 0 6として機能してもよい FIG. 5 shows a configuration of the game device. The game device 10 includes an input unit 100, an image processing unit 1 0 2, a position estimation unit 1 0 4, a blinking instruction unit 1 0 6, a wireless communication module 1 0 8, an application processing unit 1 1 0 and an output Part 1 1 2 is provided. The processing functions of the game apparatus 10 in the present embodiment are realized by a CPU, a memory, a program associated with the memory, and the like, and here, a configuration realized by their cooperation is depicted. The program may be built in the game device 10 or supplied from the outside in a form stored in a recording medium. There may be. Therefore, 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 game apparatus 10 has functions as a CPU power image processing unit 10 0 2, a position estimation unit 1 0 4, a blinking instruction unit 1 0 6, and an abrasion processing unit 1 1 0. Note that the game device 10 may have a plurality of CPUs due to the hardware configuration. In such a case, one CPU functions as an application processing unit 110 that executes a game application, and other CPU power image processing unit 10 0 2 that processes a captured image by the imaging device 2, position estimation Part 1 0 4, may function as blinking instruction part 1 0 6
[0037] 無線通信モジュール 1 0 8は、 コントローラ 2 0の無線通信モジュール 5 8との間で無線通信を確立する。 同期確立フェーズにおいては、 無線通信モ ジュール 1 0 8力 周辺のコントローラ 2 0を含む端末機器に対して接続照 会すなわち 「問い合わせ」 処理を行う。 具体的には、 無線通信モジュール 1 0 8力 近くにいる端末機器に対して I Q (問い合わせ) パケットをブロー ドキャス卜する。 I Qバケツトを受信したコントローラ 2 0の無線通信モジ ユール 5 8は、 B l uetoothアドレスと B l uetoothクロック情報を含む F H S (F requency Hop Synchron i zat i on) パケッ卜 ¾r7"—厶装置 1 0に返信する Q こ の時点における送受信では、 周波数ホッビングパターンに関する同意がゲー 厶装置 1 0とコントローラ 2 0との間で確立していないので、 問い合わせ専 用に定義された固定ホッピングパターンが用いられる。 The wireless communication module 10 8 establishes wireless communication with the wireless communication module 58 of the controller 20. In the synchronization establishment phase, connection inquiry, that is, “inquiry” processing is performed on terminal devices including the peripheral controller 20 in the wireless communication module 10 8 power. Specifically, the wireless communication module broadcasts IQ (inquiry) packets to terminal devices near 10 8 power. The wireless communication module 5 8 of the controller 20 that received the IQ bucket is the FHS packet containing the Bluetooth address and Bluetooth clock information (Frequency Hop Synchronize on) packet ¾r7 "—on the device 10 Reply Q In the transmission / reception at this point in time, since the consent regarding the frequency hobbing pattern has not been established between the gaming device 10 and the controller 20, the fixed hopping pattern defined exclusively for the inquiry is used.
[0038] 無線通信モジュール 1 0 8は、 コントローラ 2 0から F H Sパケットを受 け取り、 どのようなコントローラ 2 0が存在するかを把握した後、 特定のコ ントローラ 2 0に対して I Dパケットを送信する。 これは無線通信モジユー ル 1 0 8による 「呼び出し」 処理である。 特定のコントローラ 2 0から I D パケットに対する応答が返ると、 無線通信モジュール 1 0 8は F H Sバケツ トをコントローラ 2 0に送信し、 自分のァドレスとクロックをコントローラ 2 0に知らせる。 これにより、 ゲーム装置 1 0とコントローラ 2 0は、 同一 のホッピングパターンを共有できるようになる。 [0038] The wireless communication module 1 0 8 receives the FHS packet from the controller 2 0, grasps what kind of controller 2 0 exists, and then transmits the ID packet to the specific controller 2 0. To do. This is a “calling” process by the wireless communication module 10 8. When a response to the ID packet is returned from the specific controller 20, the wireless communication module 10 8 sends an FHS bucket to the controller 20, and informs the controller 20 of its address and clock. As a result, the game device 10 and the controller 20 are the same. Hopping patterns can be shared.
[0039] 「呼び出し」 を行うと、 コントローラ 2 0とゲーム装置 1 0との間にピコ ネッ卜が形成され、 「接続」 状態に入る。 ピコネッ卜とは、 B l uetooth端末同 士を近づけたときに、 端末の間で一時的に形成されるネットワークを意味し 、 最大で 8台の B l uetooth端末が 1つのピコネッ卜に参加することができる。 接続したコントローラ 2 0は、 無線通信モジュール 1 0 8からスレーブ識別 子、 つまり接続中のコントローラ 2 0に与えられる 3ビットのアドレス (1 〜7 ) を割り振られる。 このスレーブ識別子は、 AM_ADDR (アクティブメンバ 一アドレス) と呼ばれる。 「接続」 状態になると、 通信リンク設定のための 制御パケットが送受信され、 これにより 「データ転送」 が可能となる。  When “calling” is performed, a piconet is formed between the controller 20 and the game apparatus 10, and the “connected” state is entered. A piconet is a network that is temporarily formed between terminals when the Bluetooth terminals are brought close together. Up to 8 Bluetooth terminals can participate in a single piconet. Can do. The connected controller 20 is assigned a slave identifier, that is, a 3-bit address (1 to 7) given to the connected controller 20 from the wireless communication module 108. This slave identifier is called AM_ADDR (active member one address). When in the “connected” state, control packets for communication link setting are transmitted and received, which enables “data transfer”.
[0040] なお、 以上はゲーム装置 1 0からコントローラ 2 0を呼び出す例について 説明したが、 コントローラ 2 0からゲーム装置 1 0を呼び出してもよい。 こ の場合、 ゲーム装置 1 0がページスキャンを実行している間に、 コントロー ラ 2 0が呼び出し処理を実行する。 これによりコントローラ 2 0はゲーム装 置 1 0を呼び出して、 接続状態に入ることができる。 その後、 マスタとスレ ーブの役割をスィッチし、 ゲーム装置 1 0がマスタとなり、 コントローラ 2 0がスレーブとなる。 このようなマスタとスレーブの関係を実現することで 、 コントローラ 2 0がゲームアプリケーションに参加可能となる。  [0040] Although an example in which the controller 20 is called from the game device 10 has been described above, the game device 10 may be called from the controller 20. In this case, the controller 20 executes the calling process while the game apparatus 10 is executing the page scan. As a result, the controller 20 can call the game device 10 and enter the connected state. Thereafter, the roles of the master and the slave are switched, and the game device 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.
[0041 ] 接続状態になり、 コントローラ 2 0がゲームアプリケーションに参加する と、 アプリケーション処理部 1 1 0は、 コントローラ 2 0のコントローラ番 号を割り当て、 コントローラ番号を指示する番号指示情報を生成する。 無線 通信モジュール 1 0 8は、 番号指示情報をコントローラ 2 0に送信する。 コ ントローラ 2 0は、 番号指示情報を受信すると、 対応する L E D 4 0を点灯 させる。 なお、 無線通信モジュール 1 0 8は、 番号指示情報の代わりに、 コ ントローラ番号に対応する L E D 4 0の点灯を指示する制御信号をコント口 ーラ 2 0に送信してもよい。  [0041] When the controller 20 enters the game application when connected, the application processing unit 110 assigns the controller number of the controller 20 and generates number instruction information indicating the controller number. The wireless communication module 10 8 transmits the number instruction information to the controller 20. When controller 20 receives the number indication information, it turns on the corresponding LED 40. The wireless communication module 10 8 may transmit a control signal for instructing lighting of the LED 40 corresponding to the controller number to the controller 20 instead of the number instruction information.
[0042] ゲームアプリケーションが開始されると、 点滅指示部 1 0 6は、 コント口 ーラ 2 0に対して所定の周期で点滅するように点滅パターンを指示する制御 信号を生成する。 この点滅制御信号は、 無線通信モジュール 1 0 8からコン トローラ 2 0に送信される。 [0042] When the game application is started, the blinking instruction unit 10 06 instructs the controller 20 to instruct a blinking pattern to blink at a predetermined cycle. Generate a signal. This blinking control signal is transmitted from the wireless communication module 10 8 to the controller 20.
[0043] 入力部 1 0 0は U S Bインタフヱースとして構成され、 撮像装置 2から所 定の撮像速度 (たとえば 3 0フレーム 秒) でフレーム画像を取得する。 画 像処理部 1 0 2は、 後述する L E D抽出アルゴリズムにしたがって、 フレー ム画像から L E D画像を抽出する。 位置推定部 1 0 4は、 抽出された L E D 画像から L E D画像の位置情報を取得し、 コントローラ 2 0の位置や姿勢を 推定する。 位置推定部 1 0 4は、 L E D画像の位置情報を取得することから 、 位置取得部として機能してもよい。 なおコントローラ 2 0の位置は、 4つ の L E D画像の重心位置に定められてよい。  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 frame seconds). The image processing unit 10 2 extracts an LED image from the frame image according to an LED extraction algorithm described later. The position estimation unit 10 4 acquires the position information of the LED image from the extracted LED image, and estimates the position and orientation of the controller 20. The position estimation unit 104 may function as a position acquisition unit because it acquires the position information of the LED image. It should be noted that the position of the controller 20 may be set at the center of gravity of the four LED images.
[0044] 点灯する 4つの L E D 4 0の位置や姿勢から推定されるコントローラ 2 0 の位置情報おょび または姿勢情報は、 ゲームアプリケーションの入力とし て利用される。 そのため位置推定部 1 0 4で推定されたコントローラ 2 0の 位置情報および姿勢情報は、 アプリケーション処理部 1 1 0に逐次送られて 、 アプリケーションの処理に反映される。 アプリケーション処理部 1 1 0に は、 ユーザがコントローラ 2 0の方向キー 2 1などを操作した入力も無線通 信モジュール 1 0 8を介して送信される。 アプリケーション処理部 1 1 0は 、 コントローラ 2 0の位置■姿勢情報と、 コントローラ 2 0における操作入 力からゲームを進行させて、 ゲームアプリケーションの処理結果を示す画像 信号および音声信号を生成する。 画像信号および音声信号は出力部 1 1 2か らそれぞれ画像表示装置 3および音声出力装置 4に送られ、 出力される。  [0044] The position information and 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 orientation 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. Input to the application processing unit 110 is also transmitted via the wireless communication module 10 08 when the user operates the direction key 21 of the controller 20 or the like. The application processing unit 110 progresses the game based on 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 1 1 2 to the image display device 3 and the audio output device 4, respectively, and output.
[0045] 図 6は、 画像処理部の構成を示す。 画像処理部 1 0 2は、 フレーム画像取 得部 1 3 0、 現フレームバッファ 1 3 2、 前フレームバッファ 1 3 4、 差分 画像生成部 1 3 6、 2値化画像生成部 1 3 8、 論理演算部 1 4 0および L E D画像抽出部 1 4 2を備える。  FIG. 6 shows a configuration of the image processing unit. The image processing unit 1 0 2 is a frame image acquisition unit 1 3 0, a current frame buffer 1 3 2, a previous frame buffer 1 3 4, a differential image generation unit 1 3 6, a binary image generation unit 1 3 8, a logic A calculation unit 1 4 0 and an LED image extraction unit 1 4 2 are provided.
[0046] フレーム画像取得部 1 3 0は、 入力部 1 0 0からフレーム画像データを取 得し、 現フレームバッファ 1 3 2に一時記憶させる。 前フレームバッファ 1 3 4には、 一つ前のフレーム画像データが記憶されている。 差分画像生成部 1 36は、 現フレームバッファ 1 32に記憶されている現フレームデータと 、 前フレームバッファ 1 34に記憶されている前フレームデータとの差分画 像を生成する。 フレーム画像中の座標 (x, y) における前フレームデータ の R画素値を P r、 G画素値を P g、 B画素値を P bとし、 現フレームデー タの R画素値を C r、 G画素値を Cg、 B画素値を C bとしたとき、 差分画 像関数 F (x, y) は、 以下の数式で表現される。 The frame image acquisition unit 1 3 0 acquires frame image data from the input unit 1 100 and temporarily stores it in the current frame buffer 1 3 2. The previous frame buffer 1 3 4 stores the previous frame image data. Difference image generator 136 generates a differential image between the current frame data stored in the current frame buffer 1 32 and the previous frame data stored in the previous frame buffer 1334. The R pixel value of the previous frame data at the coordinates (x, y) in the frame image is P r, the G pixel value is P g, the B pixel value is P b, and the R pixel value of the current frame data is C r, G When the pixel value is Cg and the B pixel value is Cb, the difference image function F (x, y) is expressed by the following equation.
[0047] [数 1] [0047] [Equation 1]
F(x,y) = y (Pr-Cr)2+ (Pg-Cg)2+(Pb-Cb)2 -Th ■ ■ ■ (1) F (x, y) = y (Pr-Cr) 2 + (Pg-Cg) 2 + (Pb-Cb) 2 -Th ■ ■ ■ (1)
[0048] ここで T hは、 所定の閾値である。 F (x, y) が 0より大きければ、 座 標 (x, y) の画素値が "1 " に符号化され、 表示上、 その画素は白色とさ れる。 一方、 F (x, y) が 0以下であれば、 画素値が "0" に符号化され 、 表示上、 その画素は黒色とされる。 このように差分画像生成部 1 36で生 成される差分画像は、 2値化処理された画像となる。 差分画像を生成するこ とで、 前フレーム画像と現フレーム画像との間で動きのないオブジェク卜の 影響を取り除くことができる。 Here, T h is a predetermined threshold value. If F (x, y) is greater than 0, the pixel value of the coordinate (x, y) is encoded as "1", and the pixel is white on the display. On the other hand, if F (x, y) is 0 or less, the pixel value is encoded as "0" and the pixel is black on the display. In this manner, the difference image generated by the difference image generation unit 136 is a binarized image. By generating the difference image, it is possible to remove the influence of objects that do not move between the previous frame image and the current frame image.
[0049] 2値化画像生成部 1 38は、 現フレームデータを所定の閾値を用いて 2値 化処理して、 2値化された画像を生成する。 2値化画像生成部 1 38は、 所 定の閾値より大きい輝度を保持する画素の画素値を "1 " に符号化し、 所定 の閾値以下の輝度を保持する画素の画素値を "0" に符号化する。 現フレー ム画像の 2値化画像を生成することで、 現フレーム画像において明るいォブ ジェクトのみを抽出することができる。  [0049] 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 1 38 encodes the pixel value of the pixel holding the luminance greater than the predetermined threshold value to “1”, and sets the pixel value of the pixel holding the luminance value below the predetermined threshold to “0”. Encode. By generating a binary image of the current frame image, it is possible to extract only bright objects in the current frame image.
[0050] 論理演算部 1 40は、 差分画像生成部 1 36で生成された差分画像と、 2 値化画像生成部 1 38で生成された 2値化画像とを論理演算した論理演算画 像を生成する。 詳細には、 論理演算部 1 40は、 画素ごとに、 差分画像の画 素値と 2値化画像の画素値との論理積演算を行うことで、 論理積画像を生成 する。 これは、 差分画像と 2値化画像の対応する画素同士の画素値を数学的 に論理積演算することで生成される。 [0051] 図 7 (a) は、 現フレーム画像を示す。 現フレーム画像では、 ユーザがコ ントローラ 20を把持してゲームをプレイし、 右側には照明が点灯している 状態が撮像されている。 このときコントローラ 20の全 LED40が点灯し ている。 なお、 全ての LED40は、 同一の点灯パターンにより、 同一輝度 で発光している。 [0050] 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 1 38. Generate. 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 in the difference image and the binarized image. [0051] Fig. 7 (a) shows the current frame image. In the current frame image, the user grasps the controller 20 and plays a game, and the right side is illuminated. At this time, all LEDs 40 of the controller 20 are lit. All LEDs 40 emit light with the same brightness by the same lighting pattern.
図 7 (b) は、 現フレーム画像と前フレーム画像の差分画像を示す。 前フ レーム画像の位置からコントローラ 20を動かすと、 数式 (1 ) により差分 画像が生成される。 この例では、 コントローラ 20や、 コントローラ 20と —緒に動く体の少なくとも一部の領域が、 白色画像 (画素値が "1 " になる ) として取得される。 なお、 常にこのような白色画像が取得されるわけでは なく、 図 7 (b) は、 あくまでも数式 (1 ) を満足したときに生成される差 分画像の一例である。 このとき、 照明は動かないため、 差分画像には含まれ ない。 なお、 ユーザがコントローラ 20を動かさなければ、 コントローラ 2 0の白色画像は取得されない。  Figure 7 (b) shows the 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 Equation (1). In this example, the controller 20 and at least a part of the body moving together with the controller 20 are acquired as a white image (the pixel value is “1”). Note that such a white image is not always acquired, and FIG. 7 (b) is merely an example of the difference image generated when the mathematical 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.
[0052] 図 8 (a) は、 現フレーム画像の 2値化画像を示す。 2値化画像では、 図 [0052] FIG. 8 (a) shows a binarized image of the current frame image. In the binarized image,
7 (a) における高輝度領域、 すなわち発光している LEDと、 照明のラン プとが 2値化されて白色画像に変換される。 他のノイズを防ぐために、 2値 化処理する際に設定する閾値は、 L E Dの発光輝度から所定のマージン値を 減じた輝度値に設定されていることが好ましい。  The high-brightness area in 7 (a), that is, the LED that emits light, and the illumination lamp are binarized and converted to 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 LED emission luminance.
図 8 (b) は、 論理積画像を示す。 論理積画像は、 図 7 (b) に示す差分 画像と、 図 8 (a) に示す 2値化画像との論理積演算を行う。 差分画像およ び 2値化画像において、 白色画素の画素値は "1 " であり、 黒色画素の画素 値は "0" である。 したがって、 両方の画像において白色画素として存在し ている画素のみが、 論理積画像において白色画素として生成されることにな る。  Figure 8 (b) shows the logical product image. The logical product image performs a logical product operation on the difference image shown in Fig. 7 (b) and the binarized image shown in Fig. 8 (a). 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 will be generated as white pixels in the AND image.
[0053] このように差分画像と 2値化画像の論理積をとることで、 LED画像を抽 出しやすい論理積画像を生成できる。 論理積画像は、 1_曰0画像抽出部1 4 2に送られる。 [0054] 論理積画像が生成されると、 前フレームバッファ 1 34に保持されている 前フレームデータは、 現フレームバッファ 1 32に保持されている現フレー 厶データにより上書きされる。 この上書き処理は、 前フレームバッファ 1 3 4が差分画像生成部 1 36に読み出された直後に行われてもよい。 その後、 現フレームバッファ 1 32に保持されている現フレームデータは、 次のフレ ームデータにより上書きされて、 次のフレームにおける論理積画像の生成処 理を実行する。 [0053] By taking the logical product of the difference image and the binarized image in this way, it is possible to generate a logical product image that is easy to extract the LED image. The logical product image is sent to the 1_ 曰 0 image extraction unit 1 4 2. When the AND image is generated, the previous frame data held in the previous frame buffer 1 34 is overwritten by the current frame data held in the current frame buffer 1 32. This overwriting process may be performed immediately after the previous frame buffer 1 3 4 is read by the difference image generation unit 136. Thereafter, the current frame data held in the current frame buffer 1 32 is overwritten by the next frame data, and the logical product image generation process in the next frame is executed.
[0055] 1_曰0画像抽出部1 42は、 論理積画像から LED画像を抽出する。 LE D画像を抽出するためには、 まず、 LED画像の候補を検出する。 続いて、 任意の候補を第 1 LED40 aと仮定し、 その周辺領域を探索して、 第 2 L ED40 bとなりうる LE D画像候補があるか調査する。 第 2 LED40 b が見つかれば、 また第 1 LED40 aの周辺領域を探索して、 第 3 LED4 0 cとなりうる L ED画像候補があるか調査する。 第 3 L ED40 cが見つ かれば、 その周辺領域を探索して、 第 4 LED40 dとなりうる LED画像 候補があるか調査する。 この際、 LED画像抽出部 1 42は、 複数の LED 40により形成される 2次元パターンを予め認識しており、 この 2次元バタ ーンを利用して、 L E D画像の抽出処理を行う。 以下では、 説明の便宜上、 コントローラ 20の筐体背面 29において、 第 1 LED40 a、 第 2 LED 40 b、 第 3 LED40 c、 第 4 LED40 dが正方形の頂点を構成するよ うに配置されている場合を例にとる。  [0055] The 1_ 曰 0 image extraction unit 142 extracts an LED image from the logical product image. In order to extract the LED image, first, candidate LED images are detected. Next, assuming that an arbitrary candidate is the first LED 40a, the surrounding area is searched to check whether there is a LED image candidate that can be the second LED 40b. If the second LED 40 b is found, the peripheral area of the first LED 40 a is searched again to investigate whether there is an LED image candidate that can become the third LED 40 c. If the third LED ED40c is found, the surrounding area is searched and an LED image candidate that can become the fourth LED40d is investigated. 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, when the first LED 40 a, the second LED 40 b, the third LED 40 c, and the fourth LED 40 d are arranged on the rear surface 29 of the controller 20 so as to form a square apex. Take as an example.
[0056] なお LED画像抽出部 1 42は、 論理積画像を用いずに、 2値化画像から  Note that the LED image extraction unit 1 42 does not use a logical product image, but uses a binary image.
LED画像を抽出することも可能である。 2値化画像には、 LED画像以外 のノイズも含まれることになるが、 たとえば差分画像において L E D画像を 取得できない場合には、 2値化画像を利用することで、 LED画像の位置お よび姿勢を検出できる。 以下に示す処理手順は、 論理積画像および 2値化画 像のいずれを用いても実行できるが、 論理積画像には L E D画像以外のノィ ズ成分が少ないため、 論理積画像を利用する方が処理速度は速い。  It is also possible to extract LED images. The binarized image will also contain noise other than the LED image. For example, if the LED image cannot be acquired in the difference image, the binarized image will be used to obtain the position and orientation of the LED image. Can be detected. The processing procedure shown below can be executed using either a logical product image or a binarized image. However, the logical product image has fewer noise components other than the LED image, so it is better to use the logical product image. Processing speed is fast.
[0057] 図 9は、 L E D画像候補の検出処理の処理手順を示すフローチャートであ る。 L ED画像抽出部 1 42は、 論理積画像において、 白色画素 (画素値が "1 " になっている画素) が連続して存在する領域を 1つの連結領域として 取得する (S 1 00) 。 次に、 1_巳0画像抽出部1 42は、 白色画素連結領 域の縁部分を抽出して、 短辺および長辺を決定する (S 1 02) 。 FIG. 9 is a flowchart showing a processing procedure for LED image candidate detection processing. The The LED image extraction unit 142 acquires, as a connected region, a region in which white pixels (pixels having a pixel value “1”) continuously exist in the logical product image (S 100). Next, the 1_ 巳 0 image extraction unit 142 extracts the edge portion of the white pixel connection region and determines the short side and the long side (S 102).
[0058] L E D画像抽出部 1 42は、 短辺が所定画素数 M a以上の画素で構成され ているか否かを判定する (S 1 04) 。 短辺が画素数 Maより少ない画素で 構成されている場合 (S 1 04の N) 、 LED画像抽出部 1 42は、 LED 画像ではないとして、 この白色画素連結領域の処理を終了する。 短辺が画素 数 Ma以上の画素で構成されている場合 (S 1 04の Y) 、 LED画像抽出 部 1 42は、 長辺が所定画素数 Mb以下の画素で構成されているか否かを判 定する (S 1 06) 。 長辺が画素数 Mbより多い画素で構成されている場合 (51 06の1\1) 、 LED画像抽出部 1 42は、 L E D画像ではないとして 、 この白色画素連結領域の処理を終了する。 長辺が画素数 Mb以下の画素で 構成されている場合 (S 1 06の Y) 、 LED画像抽出部 1 42は、 LED 画像の候補であるとして、 白色画素連結領域を構成する画素数を取得する ( S 1 08) 。 この LED画像候補検出処理は、 全ての白色画素連結領域に対 して繰り返される。 これにより、 論理積画像に含まれる LED画像候補を検 出できる。 なお、 LED画像候補の座標は、 連結領域の重心に設定する。  The LED image extraction unit 144 determines whether or not the short side is composed of pixels having a predetermined number of pixels Ma or more (S 104). When the short side is composed of pixels smaller than the number of pixels Ma (N in S 104), the LED image extraction unit 144 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 with the number of pixels Ma or more (Y in S 104), the LED image extraction unit 144 determines whether the long side is composed of pixels with the predetermined number of pixels Mb or less. (S 1 06). When the long side is composed of pixels larger than the number of pixels Mb (1 06 of 51006), 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 with the number of pixels equal to or less than Mb (Y in S 106), the LED image extraction unit 144 acquires the number of pixels constituting the white pixel connection area as a candidate for the LED image. (S 1 08) This LED image candidate detection process is repeated for all white pixel connected regions. As a result, LED image candidates included in the logical product image can be detected. The coordinates of the LED image candidate are set at the center of gravity of the connected area.
[0059] 図 1 0は、 L E D抽出処理の処理手順を示すフローチャートである。 LE D画像抽出部 1 42は、 検出された LED画像候補のうち、 任意の LED画 像候補を第 1 LED40 aであると仮定する (S 1 20) 。 次に、 第 1 LE D40 aに対して、 第 2 LED40 bとなりうる条件を満足する L E D画像 候補が存在するか否かを判定する (S 1 22) 。 第 2 LED40 bとなる L ED画像候補が存在すれば (S 1 22の Y) 、 第 1 L ED40 aおよび第 2 LED40 bに対して、 第 3 LED40 cとなりうる条件を満足する L E D 画像候補が存在するか否かを判定する (S 1 24) 。 第 3 LED40 Cとな る LED画像候補が存在すれば (S 1 24の Y) 、 第 1 LED40 a、 第 2 L E D 40 bおよび第 3 L E D 40 cに対して、 第 4 LED40 dとなりう る条件を満足する L E D画像候補が存在するか否かを判定する (S 1 26) 。 第 4 L E D40 dとなる L E D画像候補が存在すれば (S 1 26の丫) 、 コントローラ 20の第 1 L E D 40 a〜第 4 L E D 40 dを抽出したことに なる。 なお、 第 2 L E D画像候補が存在しない場合 (S 1 22の N) 、 第 3 L E D画像候補が存在しない場合 (S 1 24の!\1) 、 第 4 L E D画像候補が 存在しない場合 (S 1 26の N) は、 別の L E D画像候補を第 1 L E D40 aと仮定して、 図 8の処理を再実行する。 FIG. 10 is a flowchart showing a processing procedure for LED extraction processing. 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 exists an LED image candidate that satisfies the condition that can be the second LED 40 b for the first LED 40 a (S 122). If there is an LED image candidate that becomes the second LED 40 b (Y of S 1222), an LED image candidate that satisfies the conditions that can be the third LED 40 c is satisfied for the first LED 40 a and the second LED 40 b. It is determined whether or not it exists (S 1 24). If there is an LED image candidate that becomes the third LED 40 C (Y of S 1 24), it becomes the fourth LED 40 d for the first LED 40 a, the second LED 40 b, and the third LED 40 c. It is determined whether there is an LED image candidate that satisfies the following conditions (S 126). If there is an LED image candidate for the fourth LED 40d (S126, step S26), the first LED 40a to the fourth LED 40d of the controller 20 are extracted. If the second LED image candidate does not exist (N in S 1 22), if the third LED image candidate does not exist (S 1 24! \ 1), if the fourth LED image candidate does not exist (S 1 N) of 26 assumes that another LED image candidate is the first LE D40a, and re-executes the processing in Fig. 8.
[0060] L E D抽出処理においては、 処理負荷を軽減するために、 コントローラ 2 0の姿勢が所定角度以上傾いていないことを処理条件として設定してもよい 。 L E D40は比較的指向性が強いため、 コントローラ 20を傾けすぎると 、 撮像装置 2において受光が難しくなる。 この L E D40の指向性を利用し て、 L E D画像候補を探索する際に、 第 1 L E D40 aから所定角度 (たと えば 45° ) よりも傾いていないことを条件として L E D画像の抽出処理を 行うことで、 処理負荷を大幅に軽減することが可能となる。  In the LED extraction process, in order to reduce the processing load, it may be set as a processing condition that the attitude of the controller 20 is not inclined more than a predetermined angle. Since the LED 40 has a relatively strong directivity, if the controller 20 is tilted too much, it is difficult for the imaging device 2 to receive light. When searching for LED image candidates using the directivity of this LED 40, the LED image extraction process is performed on the condition that it is not inclined from the first LED 40a by a predetermined angle (for example, 45 °). As a result, the processing load can be greatly reduced.
[0061] 本実施例では、 前フレーム画像と現フレーム画像の差分画像を利用するた め、 コントローラ 20に動きがない場合は、 L E D40の画像は差分画像か ら除かれる。 そのため、 差分画像を用いる場合には、 図 1 0に示す L E D抽 出処理により、 必ず L E D画像が見つかるわけではない。 位置推定部 1 04 は、 図 1 0に示す L E D抽出処理により L E D画像が見つからなかった場合 は、 コントローラ 20が前フレームの位置から動いていないものと推定し、 前フレームにおけるコントローラ 20の位置情報および姿勢情報を取得する 。 このとき位置推定部 1 04は、 2値化画像を用いて L E D画像を抽出して もよい。  In this embodiment, since the difference image between the previous frame image and the current frame image is used, the image of LED 40 is excluded from the difference image when the controller 20 does not move. Therefore, when using a difference image, the LED image is not always found by the LED extraction process shown in FIG. If the LED image is not 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. Get posture information. At this time, the position estimation unit 104 may extract the LED image using the binarized image.
[0062] 図 1 1は、 図 1 0の S 1 22に示す第 2 L E D検出処理の処理手順を示す フローチャートである。 第 1 L E D40 aと仮定した L E D画像候補の構成 画素数を Nとする。 まず L E D画像抽出部 1 42は、 L E D画像候補の画素 数が 1 2 X N以上であって、 且つ 2 N以下であるか否かを判定する (S 1 40) 。 これは、 L E D画像であれば、 大きさや形は第 1 L E D40 aと大 きく変わらないという事実に基づいている。 LED画像候補の構成画素数が 、 構成画素数 Nに対して所定の範囲内にあれば (S 1 40の丫) 、 その LE D画像候補が第 1 LED40 aの右方に存在するか否かを判定する (S 1 4 2) 。 右方であるか否かの判断は、 第 1 1_曰0403の右上45° から右下 45° の範囲内に存在するか否かにより決定される。 第 1 LED40 aの右 方にある場合 (S 1 42の丫) 、 第 1 LED40 aと LED画像候補との距 離 D12が、 D a以上であって且つ D b以下であるか否かを判定する (S 1 4 4) 。 ここでは、 互いの距離が近すぎたり、 また離れすぎている場合には、 第 2 LED40 bとして相応しくないことを判定している。 距離 D 2が Da 以上であって且つ D b以下である場合 ( 1 44の丫) 、 その LED画像候 補が第 2 LED40 bとなりうることが判断され、 第 2 LED40 bの存在 が確認される (S 1 46) 。 一方、 LED画像候補の構成画素数が所定の範 囲内にない場合 (51 40の1\1) 、 L E D 40 aの右方に存在しない場合 ( S 1 42の N) 、 距離 D 2が所定の範囲内にない場合 (S 1 44の1\1) には 、 その L E D画像候補が第 2 L E D 40 bでないと判断される。 FIG. 11 is a flowchart showing the procedure of the second LED detection process shown in S 122 of FIG. The number of pixels in the candidate LED image 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 12 XN or more and 2 N or less (S 140). If this is an LED image, the size and shape are as large as the 1st LE D40a. Based on the fact that it doesn't change. 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 (丫 of S 140), whether or not the LED image candidate exists on the right side of the first LED 40a. (S 1 4 2). Judgment as to whether or not it is to the right is determined by whether or not it exists within the range of 45 ° from the upper right to 45 ° from the upper right of the first 1_ 曰 0403. When it is on the right side of the first LED 40a (丫 of S 1 42), it is determined whether or not the distance D 12 between the first LED 40a and the LED image candidate is greater than D a and less than D b. Determine (S 1 4 4). 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. If the distance D 2 is less and D b be more than Da (丫of 1 44), it is determined that the LED image candidate may be the 2 LED 40 b, the presence of the 2 LED 40 b is confirmed (S 1 46). On the other hand, if the number of constituent pixels of the LED image candidate is not within the predetermined range (51 40 1 \ 1), if it does not exist to the right of the LED 40 a (N of S 1 42), the distance D 2 is the predetermined distance If it is not within the range (1 \ 1 of S 144), it is determined that the LED image candidate is not the second LED 40b.
図 1 2は、 図 1 0の S 1 24に示す第 3 L E D検出処理の処理手順を示す フローチャートである。 第 1 LED40 aと仮定した LED画像候補の構成 画素数を Nとする。 まず LED画像抽出部 1 42は、 LED画像候補の画素 数が 1 2 X N以上であって、 且つ 2 N以下であるか否かを判定する (S 1 60) 。 LED画像候補の構成画素数が、 構成画素数 Nに対して所定の範囲 内にあれば (S 1 60の丫) 、 その LED画像候補が第 1 LED40 aの下 方に存在するか否かを判定する (S 1 62) 。 下方であるか否かの判断は、 第 1 1_曰0403の左下45° から右下 45° の範囲内に存在するか否かに より決定される。 第 1 LED40 aの下方にある場合 (S 1 62の Y) 、 第 1 L E D 40 aと L E D画像候補との距離が、 1 7" 2 x D 2以上であって 且つ V"2 D 2以下であるか否かを判定する (S 1 64) 。 ここでは、 互いの 距離が近すぎたり、 また離れすぎている場合には、 第 3 LED40 Cとして 相応しくないことを判定している。 距離が 1 V"2 X D 2以上であって且つ V"2 D12以下である場合 (S 1 64の Y) 、 第 1 LED40 aから第 2 LE D 40 bまでの線分と、 第 1 LED40 aから LE D画像候補までの線分の 角度が所定の範囲内であるか否かが判定される (S 1 66) 。 このとき、 所 定の範囲内にあれば (S 1 66の丫) 、 その LED画像候補が第 3 LED4 0 cとなりうることが判断され、 第 3 LED40 cの存在が確認される (S 1 68) 。 一方、 LED画像候補の構成画素数が所定の範囲内にない場合 ( S 1 60の N) 、 LED40 aの下方に存在しない場合 (S 1 62の N) 、 第 1 LED40 aとの距離が所定の範囲内にない場合 (51 64の1\1) 、 角 度が所定の範囲内にない場合 (S 1 66の1\1) には、 その LED画像候補が 第 3 L E D 40 cでないと判断される (S 1 70) 。 FIG. 12 is a flowchart showing the procedure of the third LED detection process shown in S 1 24 of FIG. The number of pixels in the candidate LED image 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 12 XN or more and 2 N or less (S 160). 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 (S 1 60 丫), whether or not the LED image candidate exists below the first LED 40 a is determined. Judgment is made (S 1 62). Judgment as to whether or not it is below is determined by whether or not it exists within the range of 45 ° from the lower left to 45 ° of the lower left of the first 1_ 曰 0403. If it is below the first LED 40a (Y of S 1662), the distance between the first LED 40a and the LED image candidate is 17 "2 x D 2 or more and V" 2 D 2 or less. It is determined whether or not there is (S 1 64). Here, if the distance between each other is too close or too far away, it is determined that the third LED 40 C is not suitable. The distance is 1 V "2 XD 2 or more and If V "2 D 12 or less (S 1 64 Y), the angle of the line segment from the first LED 40a to the second LED 40b and the line segment from the first LED 40a to the LED image candidate is It is determined whether or not it is within the predetermined range (S 1 66) .At this time, if it is within the predetermined range (丫 of S 1 66), the LED image candidate can be the third LED 40 0 c. It is determined that the presence of the third LED 40 c is confirmed (S 1 68) On the other hand, if the number of constituent pixels of the LED image candidate is not within the predetermined range (N of S 1 60), the lower part of the LED 40 a Is not within the specified range (N of S 1 62), if the distance from the first LED 40a is not within the specified range (51 64 1 \ 1), if the angle is not within the specified range (S 1 66 1 \ 1), it is determined that the LED image candidate is not the third LED 40 c (S 1 70).
図 1 3は、 図 1 0の S 1 26に示す第 4 L E D検出処理の処理手順を示す フローチャートである。 第 1 LED40 aと仮定した LED画像候補の構成 画素数を Nとする。 まず LED画像抽出部 1 42は、 LED画像候補の画素 数が 1 2 X N以上であって、 且つ 2 N以下であるか否かを判定する (S 1 80) 。 LED画像候補の構成画素数が、 構成画素数 Nに対して所定の範囲 内にあれば (S 1 80の Y) 、 第 1 LED40 aから第 2 LED40 bのべ クトルと、 第 3 LED40 cと LED画像候補のべクトルのなす角度が所定 値以下であるか否かを判定する (S 1 82) 。 第 1 LED40 aから第 2 L E D 40 bのべクトルと、 第 3 LED40 cと LE D画像候補のべクトルの なす角度が所定値以下であれば (S 1 82の Y) 、 第 1 LED40 aから第 3 L E D 40 cのべクトルと、 第 2 LED40 bと LE D画像候補のべクト ルのなす角度が所定値以下あるか否かを判定する (S 1 84) 。 第 1 LED 40 aから第 3 LED40 cのべクトルと、 第 2 LED40 bと LE D画像 候補のべクトルのなす角度が所定値以下であれば (S 1 84の丫) 、 そのし E D画像候補が第 4 LED40 dとなりうることが判断され、 第 4 L E D 4 O dの存在が確認される (S 1 86) 。 一方、 L E D画像候補の構成画素数 が所定の範囲内にない場合 (S 1 80の N) 、 第 1 LED40 aから第 2 L E D 40 bのべクトルと、 第 3 LED40 Cと LE D画像候補のべクトルの なす角度が所定値を超える場合 (S 1 82の N) 、 第 1 LED40 aから第FIG. 13 is a flowchart showing the procedure of the fourth LED detection process shown in S 1 26 of FIG. The number of pixels in the candidate LED image 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 12 XN or more and 2 N or less (S 180). 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 of S 1 80), the vectors of the first LED 40a to the second LED 40 b, and the third LED 40 c It is determined whether or not the angle formed by the LED image candidate vectors is equal to or smaller than a predetermined value (S 1 82). If the angle between 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 less than the predetermined value (Y in S 1 82), the first LED 40a It is determined whether or not the angle formed between the vector of 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 (S184). If the angle between the vector of the first LED 40a to the third LED40c and the vector of the second LED40b and the LED image candidate is less than the predetermined value (丫 of S 1 84), then the ED image candidate Is determined to be the fourth LED 40 d and the presence of the fourth LED 4 O d is confirmed (S 186). On the other hand, when the number of constituent pixels of the LED image candidate is not within the predetermined range (N in S 1 80), the vectors of the first LED 40a to the second LED 40 b, and the third LED 40 C and the LED image candidate Vector If the angle formed exceeds the predetermined value (N in S 1 82), the first LED 40a to the first
3 L E D 40 cのべクトルと、 第 2 LED40 bと LE D画像候補のべクト ルのなす角度が所定値を超える場合は (S 1 84の!\!) 、 その LED画像候 補が第 4 LED40 dでないと判断される (S 1 88) 。 3 If the angle between the LED 40 c vector and the second LED 40 b and the LED image candidate vector exceeds the specified value (S 1 84! \!), The LED image candidate is the 4th. It is determined that it is not LED40 d (S 1 88).
[0065] 以上により、 1_曰0画像抽出部1 42は、 論理積画像から第 1 LED40 a〜第 4 LED40 dの画像を抽出することができる。 抽出された第 1 LE D40 a〜第 4 LED40 dの画像の位置情報は、 位置推定部 1 04に送ら れる。  As described above, the 1_ 曰 0 image extraction unit 142 can extract the images of the first LED 40 a to the fourth LED 40 d from the logical product image. The extracted position information of the images of the first LED 40a to the fourth LED 40d is sent to the position estimation unit 104.
[0066] 位置推定部 1 04は、 コントローラ 20における LED40の 2次元配置 に基づき、 第 1 1_£0403〜第41_£04001の画像のフレーム画像にぉ ける位置情報を取得する。 位置推定部 1 04は、 抽出した第 1 L E D 40 a 、 第 2 LED40 b、 第 3 L E D 40 cおよび第 4 L E D 40 dのァフィン 変換を求めて、 実空間における位置および姿勢を算出する。 実空間における 位置は、 直交座標系における座標 (X, Y, Z) であり、 実空間における姿 勢は、 X軸、 Y軸、 Z軸における回転角である。 3軸における座標および回 転角を求めることで、 位置推定部 1 04は、 撮像装置 2からの距離も含めた 空間内での位置を推定できる。 位置推定部 1 04は、 ァフィン変換を求める ことで、 コントローラ 20のフレーム画像中の位置を推定してもよい。 たと えば、 X Y Z空間のうちの X Y座標をとることでフレーム画像中の位置を取 得することができる。 位置推定部 1 04は、 推定したコントローラ 20の位 置や姿勢をアプリケーション処理部 1 1 0に送る。  [0066] Based on the two-dimensional arrangement of the LEDs 40 in the controller 20, the position estimation unit 104 obtains position information regarding the frame images of the images of the first 1_ £ 0403 to the 41st_ £ 04001. The position estimation unit 104 calculates the 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 real space is the coordinates (X, Y, Z) in the Cartesian coordinate system, and the attitude in real space is the rotation angle in the X, Y, and Z axes. 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 obtained 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.
[0067] なお、 上記したようにァフィン変換によりコントローラ 20の位置および 姿勢を算出してもよいが、 たとえばゲーム装置 1 0は、 特定のコントローラ 20に対して、 4つの L E D 40のうちの 3つを点灯するように指示して、 点灯した 3つの L E D画像から、 コントローラ 20の位置および姿勢を取得 することも可能である。 ゲーム装置 1 0は、 上記したアルゴリズムと同様の 手法を用いて、 3つの LED40、 たとえば第 1 LED40 a、 第 2 LED [0067] Although the position and orientation of the controller 20 may be calculated by affine transformation as described above, for example, the game apparatus 10 has three of the four LEDs 40 for a specific controller 20. It is also possible to obtain the position and orientation of the controller 20 from the three LED images that are lit. The game apparatus 10 uses three methods similar to the algorithm described above, and uses three LEDs 40, such as the first LED 40a and the second LED.
40 b、 第 3 LED40 cの点灯画像を抽出して、 位置推定部 1 04力 そ のコントローラ 20の位置および姿勢を推定してもよい。 このとき、 位置推 定部 1 04は、 第 1 L E D40 a、 第 2 L E D40 b、 第 3 L E D40 c、 第 4 L E D40 dの位置関係を予め把握しており、 そのうち第 1 L E D40 a、 第 2 L E D40 b、 第 3 L E D 40 cの位置関係を満足する L E D画像 候補を抽出することで、 コントローラ 20の位置および姿勢を推定すること ができる。 40 b, 3rd LED 40 c lighting images are extracted, and position estimation unit 104 power The position and orientation of the controller 20 may be estimated. At this time, the position estimation unit 104 knows the positional relationship among the first LE D40a, the second LE D40b, the third LE D40c, and the fourth LE D40d in advance, and the first LE D40a The position and orientation of the controller 20 can be estimated by extracting LED image candidates that satisfy the positional relationship between the second LED 40b and the third LED 40c.
[0068] L E D40の誤認識を回避するために、 位置推定部 1 04は、 前回取得し た L E D画像の位置と、 今回取得した L E D画像の位置の変化量が所定値を 超える場合、 今回取得した L E D画像の位置をエラーとして処理する。 すな わち、 1 フレームの間に、 位置や姿勢が所定値以上変化する場合は、 外乱的 な要素により他のオブジェクトを L E D40として誤認識した可能性がある ため、 抽出した L E D 40の位置情報を破棄する。  [0068] In order to avoid erroneous recognition of LE D40, the position estimator 104 acquires 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 the position of the LED image as an error. In other words, if the position or posture changes by more than a certain value during one frame, it is possible that another object was misrecognized as LED40 due to a disturbing element, so the position of the extracted LED 40 Discard information.
[0069] しかしながら、 そのような場合であっても、 実際に大きな変化量でコント ローラ 20が移動することもあり得るため、 位置推定部 1 04は、 連続して 発生するエラーの回数をカウントし、 カウント値が所定値に到達した場合に 、 そのときに取得した L E D画像の位置を正常なものとして処理してもよい  [0069] However, even in such a case, the controller 20 may actually move with a large amount of change, so the position estimation unit 104 counts the number of errors that occur continuously. When the count value reaches a predetermined value, the position of the acquired LED image may be processed as normal
[0070] 位置推定部 1 04は、 たとえば現フレーム画像や、 論理積画像をもとに、 [0070] The position estimation unit 104, for example, based on the current frame image or logical product image,
L E D40の移動方向や速度を推定することも可能である。 たとえば撮像装 置 2のシャッタースピードを落とすと、 L E D40の画像が楕円や直方体と して撮像されることになる。 そこで、 L E D画像の形状から、 移動方向のみ ならず、 移動速度も推定することが可能である。 たとえば移動方向および速 度が推定できれば、 撮像装置 2において突然見えなくなった場合でも、 コン トローラ 20の位置や姿勢を予測できる。 全ての L E D40の形状が同じ方 向に偏っているような場合に、 コントローラ 20の移動方向と速度を推定し てもよい。  It is also possible to estimate the moving direction and speed of LEDD40. For example, if the shutter speed of the imaging device 2 is lowered, the LED 40 image is captured as an ellipse or a rectangular parallelepiped. Therefore, it is possible to estimate not only the moving direction but also the moving speed 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 device 2 suddenly disappears. If the shape of all the LEDs 40 is biased in the same direction, the moving direction and speed of the controller 20 may be estimated.
[0071] アプリケーション処理部 1 1 0は、 推定されたコントローラ 20の位置や 姿勢を、 ゲーム入力としてゲームアプリケーションの処理に反映する。 この 反映の手法は様々考えられるが、 最も直観的には、 推定したコントローラ 2 0の位置に対応したゲーム画像中の位置に、 仮想オブジェクトを追従させて 表示する。 ユーザが撮像装置 2に対してコントローラ 20を動かすと、 その 動きに追従してゲーム画像内の仮想オブジェクトを動かすことができる。 [0071] The application processing unit 110 reflects the estimated position and orientation of the controller 20 in the game application processing as game input. this There are various reflection methods, but 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.
[0072] なお、 理想的な状態であればフレーム画像ごとに L E D 40の位置や姿勢 を求めてゲーム画像に反映していけばよいが、 一方で、 コントローラ 20の 向きや周辺光の環境などにより、 フレーム画像において L E D 40の位置や 姿勢を求められない状況も発生しうる。 そのような状況が続いた後に、 突然 、 LED40の位置や姿勢が求められると、 停止していた仮想オブジェクト が新たな位置にいきなり移動することになり、 ユーザに違和感を与える。 そ のため、 論理積画像から LED40の位置や姿勢を検出できたとしても、 ゲ ーム画像としては、 仮想オブジェクトを取得した位置まで移動させるのでは なく、 仮に情報落ちがあった場合であっても、 スムーズな動きを実現できる ように追従処理を行わせることとする。  [0072] 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 and the ambient light environment, etc. A situation may occur in which the position and orientation of the LED 40 are not required in the frame image. If the position and posture of the LED 40 are suddenly requested 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. Therefore, 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 was acquired, but if there is information loss. However, follow-up processing is performed so that smooth movement can be realized.
[0073] 図 1 4 (a) 、 図 1 4 (b) は、 コントローラに対応する仮想オブジェク 卜がゲーム画面内で円滑な追従動作を実現するためのアルゴリズムを説明す るための図である。 説明の便宜上、 仮想オブジェク卜の位置変化について説 明するが、 姿勢変化についても同様のアルゴリズムを適用することができる  FIGS. 14 (a) and 14 (b) 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, we will explain the change in the position of the virtual object, but the same algorithm can be applied to the change in posture.
[0074] 位置推定部 1 04において、 ァフィン変換を求めることで導出された位置 パラメータが、 P i- P i、 P i +1 (Pの添字は、 ゲーム画面フレームの番 号を示す) とする。 まず、 フレーム画像が切り替リ、 P iから P i +1に位置パ ラメータが変化する場合を考える。 [0074] In the position estimation unit 104, the position parameters derived by obtaining the affine transformation are P i-P i, P i +1 (the subscript of P indicates the game screen frame number). . First, consider the case where the frame image changes and the position parameter changes from P i to P i +1 .
新たな位置パラメータ (P i +1) が得られたとき、 ゲーム画面に反映する位 置パラメータは、 以下の式で求められる。 When a new position parameter (P i +1 ) is obtained, the position parameter to be reflected on the game screen is obtained by the following formula.
Q i +1 = (Q i + P i + 2 Q i +1 = (Q i + P i + 2
すなわち、 新たな位置パラメータ P i +1に直接移動するのではなく、 前フレ ームのゲーム画面における位置パラメータと、 現フレームの新たな位置パラ メータ P i +1との中点を、 ゲーム画面における新たな位置パラメータとして設 定する。 なお、 位置パラメータ Q i +1は、 位置パラメータ Q iと位置パラメ一 タ P i +1の中点である必要はなく、 位置パラメータ Q iと位置パラメータ P i + 1の間の線分を A : Bに分割する点であってもよい。 That is, instead of moving directly to the new position parameter P i +1 , the position parameter of the previous frame in the game screen and the new position parameter of the current frame The midpoint of meter P i +1 is set as a new position parameter on the game screen. The position parameter Q i +1 is the location parameter Q i and need not be the midpoint position parameter one data P i +1, the line segment between the position parameter Q i position parameter P i + 1 A : It may be a point divided into B.
[0075] 図 1 4 (b) は、 位置パラメータとして P i +1が取得できなかった場合の例 である。 このような場合は、 本アルゴリズムの効果を発揮できる。 この場合 は、 最新の位置パラメータが P i +1の代わりに利用される。 ここで最新の位置 パラメータは P iであり、 [0075] Fig. 14 (b) is an example of the case where P i +1 could not be acquired as the position parameter. In such a case, the effect of this algorithm can be demonstrated. In this case, the latest position parameter is used instead of P i +1 . Where the latest position parameter is P i,
Q i +1 = (Q i + P:) 2 Q i +1 = (Q i + P :) 2
として求められる。  As required.
本アルゴリズムによりゲーム画像における位置/ ラメータ Qを取得すると 、 空間内のコントローラ 20が大きく変位したり、 また論理積画像から抽出 できない場合であっても、 仮想オブジェクトは常に少しずつ移動できる。 そ のため、 ゲーム画像中で仮想オブジェクトが急に動かなくなったり、 また急 に動いたりする状況の発生を回避でき、 コントローラ 20に対して円滑な追 従処理を実現できる。  When the position / parameter Q in the game image is obtained 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 smooth follow-up processing can be realized for the controller 20.
[0076] 本実施例では、 コントローラ 20を撮像装置 2で撮像して、 フレーム画像 からコントローラ 20の位置や姿勢を推定し、 その位置情報や姿勢情報をゲ ー厶アプリケーションの処理に反映させることとした。 コントローラ 20の L E D 40は、 たとえばゲームァプリケーションの進行状況に応じて点灯パ ターンを変更してもよい。  [0076] 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. did. The LED 40 of the controller 20 may change the lighting pattern according to the progress of the game application, for example.
[0077] ユーザがゲームアプリケーションに参加した直後に、 ゲーム装置 1 0は、 コントローラ 20に対して所定の低周波で 4つの LED40を点灯させる制 御信号を送信してもよい。 点滅指示部 1 06は、 コントローラ 20に対して 所定の低周波での点滅パターンを指示する制御信号を生成する。 この低周波 点滅制御信号は、 無線通信モジュール 1 08からコントローラ 20に送信さ れる。 なお、 複数のコントローラ 20が存在する場合には、 コントローラ 2 0ごとに点滅周波数が設定される。 [0078] コントローラ 20は、 指定された低周波で L E D40を点灯し、 撮像装置 2は、 30枚 秒の撮像速度でフレーム画像を撮像する。 ゲーム装置 1 0は 、 複数のフレーム画像から、 所定の周期で点灯をオンオフしている L E D画 像を抽出する。 ゲームシステム 1内に複数のコントローラ 20が存在する場 合は、 コントローラ 20ごとに点灯の周期を設定する。 これにより、 コント ローラ 20の位置を確認できるとともに、 それぞれのコントローラ 20を区 別して認識することもできる。 この処理は、 理想的にはゲームアプリケーシ ョンに参加後、 1回行われればよいが、 実空間内ではコントローラ 20が撮 像装置 2から突然見えなくなることもある。 そのため、 数秒ごとなどの所定 の周期で、 各コントローラ 20は、 コントローラごとに設定された低周波で L E D40を点滅させてもよい。 [0077] Immediately after the user joins the game application, the game apparatus 10 may transmit a control signal for lighting the four LEDs 40 at a predetermined low frequency to the controller 20. 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. The controller 20 lights the LED 40 at the designated low frequency, and the imaging device 2 captures a frame image at an imaging speed of 30 frames. 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 multiple controllers 20 in the game system 1, the lighting cycle is set for each controller 20. As a result, the position of the controller 20 can be confirmed, and each controller 20 can be recognized separately. This process is ideally performed once after joining 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.
[0079] たとえば 4つの L E D40が低周波で点灯と消灯を行う場合には、 L E D 40を撮像できるフレームと、 撮像できないフレームとが所定の周期で切り 替わることになる。 撮像周期 (30フレー厶 秒) に対して、 L E D40を 45 H zで点灯制御すると、 連続した 2枚のフレームで撮像され、 次は撮像 されない、 という状況が繰り返される。 フレーム画像に撮像される場合と撮 像されない場合とがあるため、 L E D40が静止した状態であっても、 位置 情報を取得できる。  [0079] For example, when the four LEDs 40 are turned on and off at a low frequency, a frame in which the LEDs 40 can be imaged and a frame in which the LEDs 40 cannot be imaged are switched at a predetermined cycle. If the LED 40 is controlled to turn on at 45 Hz for the imaging cycle (30 frames / second), the situation is repeated where two consecutive frames are taken and the next is not taken. Since frame images may or may not be captured, position information can be acquired even when the LED 40 is stationary.
[0080] ここで低周波点灯とは、 撮像周期に対して、 L E D発光が撮像されるフレ 一厶と撮像されないフレームとが存在しうるような周波数での点灯を意味す る。 一方、 高周波点灯とは、 撮像装置 2の撮像周期 (30フレー厶 秒) に 対して常にフレーム画像に撮像されるような周波数での点灯を意味する。 た とえば、 1 k H zで L E D40を点灯した場合であっても、 たとえば撮像装 置 2の撮像速度が非常に高ければ、 L E D発光が撮像されるフレームと撮像 されないフレームとが出現するため、 L E D 40が静止した状態であっても 、 位置情報を取得できる。  [0080] Here, 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 for 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 device 2 has a very high imaging speed, a frame in which LED emission is captured and a frame in which imaging is not performed appear. The position information can be obtained even when the LED 40 is stationary.
[0081] 高周波点灯する L E D40の位置や姿勢は、 ゲームアプリケーションの入 力として利用される。 そのため、 位置推定部 1 04で推定されたコントロー ラ 2 0の位置情報は、 アプリケーション処理部 1 1 0に逐次送られて、 アブ リケーシヨンの処理に反映される。 アプリケーション処理部 1 1 0には、 ュ 一ザがコントローラ 2 0の方向キー 2 1などを操作した入力も無線通信モジ ユール 1 0 8を介して送信される。 アプリケーション処理部 1 1 0は、 コン トローラ 2 0の位置■姿勢情報と、 コントローラ 2 0における操作入力から ゲームを進行させて、 ゲームアプリケーションの処理結果を示す画像信号お よび音声信号を生成する。 [0081] The position and posture of the LED 40 that is lit at a high frequency are used as input for the game application. Therefore, the controller estimated by the position estimation unit 104 The location information of LA 20 is sequentially sent to the application processing unit 110 and reflected in the processing of the abrasion. An input by the user operating the direction key 21 etc. of the controller 20 is also transmitted to the application processing unit 110 via the wireless communication module 1008. The application processing unit 110 progresses the game from the position / posture information of the controller 20 and the operation input from the controller 20, and generates an image signal and an audio signal indicating the processing result of the game application.
[0082] また、 変形例として、 4つの L E D 4 0のうちの 1つを他の L E D 4 0と は異なる点滅パターンで点灯させることで、 特定の L E D 4 0を認識するこ とも可能となる。 たとえば 3つの L E Dは高周波点灯を行い、 1つの L E D に低周波点灯を行わせることで、 たとえばフレーム画像中の第 1 L E D 4 0 aがどれであるのかを確認することも可能となる。 またこのとき、 L E D 4 0を一意に認識できるだけでなく、 その姿勢も取得することができる。  [0082] 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 can be turned on at a high frequency, and one LED can be turned on at a low frequency, so that it is possible to check which of the first LEDs 40a in the frame image, for example. At this time, not only L E D 40 can be uniquely recognized, but also its posture can be acquired.
[0083] 実施例において開示された発明の特徴は、 次の項目によって規定されても よい。  [0083] The features of the invention disclosed in the embodiments may be defined by the following items.
(項目 1 )  (Item 1)
入力されるフレーム画像から発光体画像の位置を取得する画像処理装置で あって、  An image processing apparatus that acquires the position of a light emitter image from an input frame image,
前フレーム画像と現フレーム画像の差分画像を生成する差分画像生成部と 現フレーム画像を所定の閾値を用いて 2値化処理して 2値化画像を生成す る 2値化画像生成部と、  A difference image generation unit that generates a difference image between the previous frame image and the current frame image, a binarization image generation unit that generates a binarized image by binarizing the current frame image using a predetermined threshold;
前記差分画像と前記 2値化画像とを論理演算した論理演算画像を生成する 論理演算部と、  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;
発光体画像のフレーム画像における位置を取得する位置取得部と、 を備えることを特徴とする画像処理装置。  An image processing apparatus comprising: a position acquisition unit that acquires a position of a light emitter image in a frame image.
(項目 2 ) 前記論理演算部は、 画素ごとに、 前記差分画像の画素値と前記 2値化画像 の画素値との論理積演算を行うことで、 論理演算画像を生成することを特徴 とする項目 1に記載の画像処理装置。 (Item 2) Item 2. The item 1, wherein the logical operation unit generates, for each pixel, a logical operation image by performing an AND operation on a pixel value of the difference image and a pixel value of the binarized image. Image processing apparatus.
(項目 3 )  (Item 3)
前記抽出部は、 複数の発光体により形成される 2次元パターンを予め認識 しており、 当該 2次元パターンを利用して、 発光体画像の抽出処理を行うこ とを特徴とする項目 1または 2に記載の画像処理装置。  Item 1 or 2 wherein 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. An image processing apparatus according to 1.
(項目 4 )  (Item 4)
前記位置取得部は、 前回取得した発光体画像の位置と今回取得した発光体 画像の位置の変化量が所定値を超える場合、 今回取得した発光体画像の位置 を、 エラーとして処理することを特徴とする項目 1から 3のいずれかに記載 の画像処理装置。  The position acquisition unit processes the position of the illuminant image acquired this time as an error when the amount of change between the position of the previously acquired illuminant image and the position of the illuminant image acquired this time exceeds a predetermined value. The image processing device according to any one of items 1 to 3.
(項目 5 )  (Item 5)
前記位置取得部は、 連続して発生するエラーの回数をカウントし、 カウン ト値が所定値に到達した場合に、 そのときに取得した発光体画像の位置を正 常なものとして処理することを特徴とする項目 4に記載の画像処理装置。  The position acquisition unit counts the number of consecutive errors, and when the count value reaches a predetermined value, processes the position of the illuminator image acquired at that time as normal. Item 5. The image processing device according to Item 4,
[0084] ( 2 ) 2次元コードを利用した位置情報および または姿勢情報の取得方法 以下に説明するコントローラ 2 0の位置情報および または姿勢情報の取 得方法では、 図 1に示すゲームシステム 1において、 コントローラ 2 0が、 L E D 4 0の代わりに、 2次元コードを有して構成される。 この 2次元コー ドは、 撮像装置 2により撮像されて、 ゲーム装置 1 0においてコントローラ 2 0の実空間における位置情報および姿勢情報を取得するために利用される (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. The controller 20 is configured to have a two-dimensional code instead of the LED 40. 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.
[0085] 図 1 5は、 2次元コードを有するコントローラ 2 0を示す。 コントローラ 2 0は、 筐体背面 2 9において、 自身を一意に識別するための 2次元コード 7 0を有して構成される。 2次元コード 7 0およびその識別方法は、 たとえ ば本出願人により出願された特開 2 0 0 6— 7 2 6 6 7号公報に開示された 2次元コードおよびその識別方法と同様のものであってよい。 [0086] 図 1 6は、 2次元コード 7 0を構成する 2次元パターンの一例を示す。 2 次元コード 7 0は、 コントローラ 2 0の筐体背面 2 9に刻印されてもよく、 また印刷物として貼り付けられてもよい。 2次元コード 7 0には、 方向指示 部 1 1 と識別部 1 2とが形成されている。 方向指示部 1 1は、 2次元コード 7 0の上方を示すために設けられ、 識別部 1 2は、 2次元コード 7 0を一意 に識別するための特徴部分を表現するために設けられる。 識別部 1 2は、 所 定の区画内に複数のブロックを有して作成されたコード情報である。 複数の プロックのうち、 4角のプロックは複数の 2次元コード 7 0に共通して付与 され、 実質的には 4角以外のブロックにより、 特徴部分が形成される。 4角 のブロックは、 撮像装置 2からの距離を測定するために利用される。 [0085] FIG. 15 shows a controller 20 having a two-dimensional code. The controller 20 has a two-dimensional code 70 for uniquely identifying itself on the rear surface 29 of the housing. The two-dimensional code 70 and its identification method are the same as the two-dimensional code and its identification method disclosed in, for example, Japanese Patent Application Laid-Open No. 2 0 6-7 7 6 6 7 filed by the present applicant. It may be. 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 indicating section 1 1 and an identification section 12 are formed. The direction instructing unit 11 is provided to indicate the upper part 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 a plurality of blocks, a square block is commonly given to a plurality of two-dimensional codes 70, and a characteristic part is formed by blocks other than the four corners. The square block is used to measure the distance from the imaging device 2.
[0087] 図 5に戻って、 画像処理部 1 0 2は、 フレーム画像中の 2次元コード 7 0 を認識すると、 2次元コード 7 0の画像における 4角のブロック間の長さを もとに、 撮像装置 2と 2次元コード 7 0との距離を計算して求める。 また、 画像処理部 1 0 2は、 2次元コード 7 0の方向指示部 1 1を検出して、 フレ ー厶画像において 2次元コード 7 0が向いている方向を求める。 この場合、 識別部 1 2に対して方向指示部 1 1が存在する方向が上方となる。 さらに、 画像処理部 1 0 2は、 識別部 1 2の 4角以外のブロックから、 2次元コード 7 0の識別情報を取得する。  Returning to FIG. 5, when the image processing unit 100 recognizes the two-dimensional code 70 in the frame image, the image processing unit 102 based on the length between the four blocks in the two-dimensional code 70 image. The distance between the imaging device 2 and the two-dimensional 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 instructing unit 11 exists is higher than the identifying unit 12. Furthermore, the image processing unit 102 acquires the identification information of the two-dimensional code 70 from the block other than the four corners of the identification unit 12.
[0088] 画像処理部 1 0 2は、 実空間中で 2次元コード 7 0が傾斜された状態につ いても、 画像解析により認識する機能をもつ。 画像処理部 1 0 2において画 像解析された結果は、 位置推定部 1 0 4に送られる。 位置推定部 1 0 4は、 画像処理部 1 0 2における画像解析結果をもとに、 2次元コード 7 0の位置 および姿勢を推定する。  [0088] The image processing unit 102 has a function of recognizing through image analysis even when the two-dimensional code 70 is inclined in real space. The result of the image analysis performed by the image processing unit 10 2 is sent to the position estimation unit 10 4. The position estimation unit 10 4 estimates the position and orientation of the two-dimensional code 70 based on the image analysis result in the image processing unit 10 2.
[0089] 図 1 7は、 画像処理部 1 0 2の構成を示す。 画像処理部 1 0 2は、 フレー ム画像取得部 1 3 0、 実ォブジェクト抽出部 1 5 0、 状態決定部 1 5 2、 識 別情報取得部 1 5 4、 識別情報格納部 1 5 6および送出部 1 6 0を備える。 識別情報格納部 1 5 6は、 実ォブジェクトを識別するための特徴部分の情報 と、 実ォブジェクトを識別するための識別情報とを対応付けて記憶する。 具 体的には、 図 1 6における 2次元コード 7 0の識別部 1 2のパターン情報と 、 識別情報とを 1対 1に対応付けて記憶している。 たとえば識別情報は、 ゲ ー厶装置 1 0においてキャラクタの割当てに利用されてもよい。 特に、 複数 の 2次元コード 7 0の存在を許可するゲームアプリケーションにおいては、 2次元コード 7 0のそれぞれを識別情報と紐付けすることで、 2次元コード 7 0を認識可能となる。 状態決定部 1 5 2は、 設定した座標系における実ォ ブジェク卜の状態を決定し、 具体的には、 姿勢を決定する姿勢決定部 1 6 2 、 および位置を決定する位置決定部 1 6 4を有する。 FIG. 17 shows the configuration of the image processing unit 1 0 2. The image processing unit 10 2 includes a frame image acquisition unit 1 3 0, an actual object extraction unit 1 5 0, a state determination unit 1 5 2, an identification information acquisition unit 1 5 4, an identification information storage unit 1 5 6 and a transmission Part 1 6 0 is provided. The identification information storage unit 1 56 stores information on the characteristic part for identifying the real object and identification information for identifying the real object in association with each other. Ingredients 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 gaming apparatus 10. In particular, in a game application that permits the existence of a plurality of two-dimensional codes 70, the two-dimensional codes 70 can be recognized by associating each of the two-dimensional codes 70 with identification information. The state determination unit 1 5 2 determines the state of the actual object in the set coordinate system. Specifically, the state determination unit 1 6 2 determines the posture, and the position determination unit 1 6 4 determines the position. Have
[0090] フレーム画像取得部 1 3 0が、 撮像装置 2にて撮像された実空間のフレー ム画像を取得する。 撮像装置 2は、 周期的にフレーム画像を取得し、 好適に は 1 3 0秒間隔でフレーム画像を取得する。  The frame image acquisition unit 1 3 0 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 intervals of 130 seconds.
[0091 ] 実ォブジェクト抽出部 1 5 0は、 フレーム画像から実ォブジェクト画像、 すなわち 2次元コード 7 0の画像を抽出する。 この処理は、 画像情報を 2進 数のビット表現に変換し、 このビット表現から 2次元コード 7 0の画像を抽 出することで行われる。 いわゆるドット処理であり、 ビットのオンとオフを 検出することで、 画像抽出処理が行われてもよい。 また、 この処理は、 既知 の画像マッチング技術によって行ってもよい。 その場合、 実オブジェクト抽 出部 1 5 0は、 マッチング処理のために、 使用する実ォブジェク卜の画像情 報を、 メモリ (図示せず) に予め登録しておく。 予め登録した画像情報と撮 像した画像情報とのマッチングをとることで、 2次元コード 7 0の画像をフ レーム画像から切り出すことができる。  [0091] The real object extraction unit 15 0 extracts the real object image, that is, the image of the two-dimensional code 70 from the frame image. This process is performed by converting the 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 bit on and off. This process may be performed by a known image matching technique. In that case, the real object extraction unit 150 registers the image information of the 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.
[0092] 位置決定部 1 6 4は、 実ォブジェクト画像のフレーム画像中の 2次元位置 を決定する。 具体的には、 フレーム画像における実オブジェクト画像の中心 点の座標をもとに、 フレーム画像中の位置を決定する。 また、 位置決定部 1 6 4は、 2次元コード 7 0の画像における識別部 1 2の 4角間の長さをもと に、 撮像装置 2と 2次元コード 7 0との距離を決定する。 これにより、 フレ ーム画像中の 2次元位置とあわせて、 3次元の実空間におけるコントローラ 2 0の位置を取得できる。 [0093] 姿勢決定部 1 6 2は、 実ォブジェクト画像の姿勢を決定する。 たとえば、 実ォブジェクト画像の姿勢は、 方向指示部 1 1の識別部 1 2に対する位置に より定められる。 また、 コントローラ 2 0を傾ける場合には、 識別部 1 2の 4角同士の距離が等しくなくなるため、 その変化量をもとに、 傾斜した姿勢 を判断することもできる。 The position determination unit 1 64 determines the two-dimensional position in the frame image of the actual 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 16 4 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. As a result, 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. [0093] The posture determination unit 1 62 determines the posture of the actual object image. For example, the posture of the actual object image is determined by the position of the direction indicating unit 11 with respect to the identifying unit 12. In addition, 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.
[0094] 識別情報取得部 1 5 4は、 実ォブジェクト画像から特徴部分を抽出して、 識別情報格納部 1 5 6から対応する識別情報を取得する。 本実施例のゲーム システム 1は、 複数の異なる 2次元コード 7 0にも対応することが可能であ り、 例えば、 複数のコントローラ 2 0にそれぞれ異なる 2次元コード 7 0を 設ける場合、 それぞれの 2次元コード 7 0に対して、 異なる識別情報がそれ ぞれ対応付けられる。  The identification information acquisition unit 1 5 4 extracts a feature portion from the actual object image and acquires corresponding identification information from the identification information storage unit 1 56. The game system 1 according to the present embodiment can cope with a plurality of different two-dimensional codes 70. For example, when two different two-dimensional codes 70 are provided for a plurality of controllers 20 respectively, Different identification information is associated with each dimension code 70.
[0095] 状態決定部 1 5 2において決定された位置情報、 姿勢情報、 および識別情 報取得部 1 5 4において取得された識別情報は、 それぞれ関連付けされて送 出部 1 6 0から位置推定部 1 0 4に送られる。 なお、 複数の 2次元コード 7 0がフレーム画像に含まれる場合には、 それぞれの 2次元コード 7 0ごとに 、 位置情報、 姿勢情報、 識別情報が関連付けされて送出部 1 6 0から位置推 定部 1 0 4に送られる。 以上により、 位置推定部 1 0 4は、 コントローラ 2 0の位置情報、 姿勢情報、 識別情報を取得し、 コントローラ 2 0の位置およ び姿勢を推定することができる。  [0095] The position information, posture information, and identification information acquired by the identification information acquisition unit 1 5 4 determined by the state determination unit 1 52 are associated with each other and sent from the transmission unit 1 60 to the position estimation unit. 1 0 Sent to 4. 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 to estimate the position from the sending unit 160. Sent to part 1 0 4. As described above, the position estimation unit 10 4 can acquire the position information, posture information, and identification information of the controller 20, and can estimate the position and posture of the controller 20.
[0096] なお、 上記のように識別情報を、 位置情報および姿勢情報と関連づける処 理は、 L E D 4 0を利用してコントローラ 2 0の位置情報および姿勢情報を 取得した場合においても実行することができる。  [0096] As described above, the process of associating the identification information with the position information and the posture information can be executed even when the position information and the posture information of the controller 20 are acquired using the LED 40. it can.
[0097] ( 3 ) 加速度センサなどを利用した位置情報おょび または姿勢情報の取得 方法  [0097] (3) Acquisition method of position information or posture information using acceleration sensor etc.
図 4に示すコントローラの内部構成に加えて、 コントローラ 2 0 0は、 さ らに 3軸方向の加速度センサおよびジャイロセンサを有してもよい。  In addition to the internal configuration of the controller shown in FIG. 4, the controller 200 may further include a triaxial acceleration sensor and a gyro sensor.
図 1 8は、 実施例にかかるコントローラ 2 0 0の内部構成を示す。 図 1 8 では、 図 4に示す入力受付部 5 2、 P WM制御部 5 4、 駆動部 5 6などの構 成の図示は省略している。 コントローラ 2 0 0は、 X Y Zの 3軸方向の加速 度成分を検出する 3軸加速度センサ 3 0 0と、 筐体水平面 (X Z平面) にお ける角速度を検出するジャイロセンサ 3 0 2を備える。 なお、 ここでは、 筐 体の長手方向を X軸、 高さ方向を Y軸、 短手方向 (奥行き方向) を Z軸と設 定している。 ジャイロセンサ 3 0 2は、 筐体内中央領域に配置され、 たとえ ば図 2に示す筐体上面図における L E D付きボタン 3 1の下方近傍に配置さ れる。 また 3軸加速度センサ 3 0 0も同様に筐体中央付近に配置されるのが 好ましい。 3軸加速度センサ 3 0 0およびジャイロセンサ 3 0 2による検出 値は所定の周期でメイン制御部 5 0から無線通信モジュール 5 8に供給され る。 無線通信モジュール 5 8は、 3軸加速度センサ 3 0 0およびジャイロセ ンサ 3 0 2による検出値を、 方向キー 2 1や操作ボタン 2 6などの操作入力 とともに、 所定の周期でゲーム装置 1 0の無線通信モジュール 1 0 8に送信 する。 FIG. 18 illustrates an internal configuration of the controller 200 according to the embodiment. In FIG. 18, the configuration of the input reception unit 5 2, the PWM control unit 5 4, the drive unit 5 6, etc. shown in FIG. The illustration of the composition is omitted. The controller 200 includes a three-axis acceleration sensor 3 0 0 that detects acceleration components in the three axes directions of XYZ, and a gyro sensor 3 0 2 that detects an angular velocity in the housing horizontal plane (XZ plane). Here, the longitudinal direction of the case 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 30 2 is disposed in the central region in the housing, for example, in the vicinity of the lower portion of the LED button 31 in the top view of the housing shown in FIG. Similarly, the three-axis acceleration sensor 300 is preferably arranged near the center of the housing. Detection values by the three-axis acceleration sensor 300 and the gyro sensor 30 2 are supplied from the main control unit 50 to the wireless communication module 58 at a predetermined cycle. The wireless communication module 58 uses the detection values of the 3-axis acceleration sensor 30 0 and the gyro sensor 3 0 2 as well as operation inputs such as the direction keys 2 1 and the operation buttons 2 6 and the wireless communication of the game apparatus 10 at a predetermined cycle. Sent to communication module 1 0 8
[0098] 図 1 9は、 実施例にかかるゲーム装置 1 0の構成を示す。 ゲーム装置 1 0 は、 無線通信モジュール 1 0 8にて、 コントローラ 2 0 0において 3軸加速 度センサ 3 0 0およびジャィ口センサ 3 0 2により計測された 3軸方向の加 速度成分および筐体水平面 (X Z平面) に垂直な方向 (Y軸方向) 回りの角 速度成分を取得する。 3軸加速度成分および角速度成分は、 無線通信モジュ ール 1 0 8から位置推定部 2 5 0に供給される。 位置推定部 2 5 0は、 取得 した 3軸加速度成分および角速度成分をもとに、 コントローラ 2 0 0の位置 や姿勢を推定できる。 具体的に位置推定部 2 5 0は、 3軸加速度成分をもと に、 コントローラ 2 0 0の姿勢を取得できる。 また、 3軸加速度成分を 1回 積分することで移動速度を取得することができ、 また 2回積分することで位 置を取得することができる。  FIG. 19 shows a configuration of the game apparatus 10 according to the embodiment. The game apparatus 10 includes a wireless communication module 10 8, a three-axis acceleration component measured by the three-axis acceleration sensor 3 0 0 and the gai mouth sensor 3 0 2 in the controller 2 0 0, and a horizontal plane of the housing. Get the angular velocity component around the direction (Y-axis direction) perpendicular to (XZ plane). 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 2500 can estimate the position and orientation of the controller 2100 based on the acquired 3-axis acceleration component and angular velocity component. Specifically, the position estimating unit 2500 can acquire the attitude of the controller 2100 based on the 3-axis acceleration component. Also, the moving speed can be obtained by integrating the 3-axis acceleration component once, and the position can be obtained by integrating twice.
[0099] なお実施例のコントローラ 2 0 0では、 Y軸方向回りの角速度成分をジャ イロセンサ 3 0 2により検出している。 したがって位置推定部 2 5 0は、 ジ ャイロセンサ 3 0 2による検出値をもとに、 コントローラ 2 0 0の水平面に おける回転状態すなわち回転姿勢を推定してもよい。 なお、 3軸加速度セン サ 3 0 0が高精度に 3軸加速度成分を取得できる場合には、 コントローラ 2 0 0の水平面における回転状態を 3軸加速度成分から推定できるようにして もよい。 [0099] In the controller 20 00 of the embodiment, the angular velocity component around the Y-axis direction is detected by the gyro sensor 30 02. Therefore, the position estimation unit 2500 may estimate the rotation state, that is, the rotation posture of the controller 2100 on the horizontal plane based on the detection value by the gyro sensor 30.2. The 3-axis acceleration sensor If the servo 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.
[0100] 以上のように、 コントローラ 2 0 0が 3軸加速度センサ 3 0 0およびジャ イロセンサ 3 0 2を備えることによって、 撮像装置 2によるフレーム画像の 解析を行わなくても、 コントローラ 2 0 0の位置および姿勢を取得すること が可能となる。 なお、 撮像装置 2によるフレーム画像の解析結果を更に利用 して、 コントローラ 2 0 0の位置および姿勢の推定精度を高めるようにして もよい。 3軸加速度センサ 3 0 0などの計測値を利用することでコントロー ラ 2 0 0の位置および姿勢を推定できるため、 コントローラ 2 0 0の位置お よび姿勢情報をゲームアプリケーションの処理に反映することが可能となる  [0100] As described above, the controller 2 0 0 includes the triaxial acceleration sensor 3 0 0 and the gyro sensor 3 0 2, so that the controller 2 0 0 does not need to analyze the frame image by the imaging device 2. The position and posture can be acquired. Note that the accuracy of estimation of the position and orientation of the controller 20 may be further increased by further using the analysis result of the frame image obtained by the imaging device 2. Since the position and orientation of the controller 2 0 0 can be estimated by using the measured values of the 3-axis acceleration sensor 3 0 0 etc., the position and orientation information of the controller 2 0 0 can be reflected in the processing of the game application. Possible
[0101 ] 以下では、 コントローラ 2 0ないしコントローラ 2 0 0の位置および姿勢 を取得できることを前提として、 実施例にかかるゲームシステムにおいて実 施することのできるアプリケーション例を示す。 以下、 コントローラを代表 して、 コントローラ 2 0 0に関する説明を行う。 ゲーム装置 1 0は、 3軸加 速度成分および角速度成分をもとにコントローラ 2 0 0の姿勢および位置を 推定することになる力 コントローラ 2 0に関しても撮像画像から姿勢およ び位置を推定できるため、 以下の内容は、 コントローラ 2 0についても実現 可能である。 [0101] In the following, application examples that can be executed in the game system according to the embodiment are shown on the premise that the positions and postures of the controller 20 to the controller 20 0 can be acquired. Hereinafter, the controller 200 will be described on behalf of the controller. The game device 10 can estimate the posture and position of the controller 20 from the captured image even for the force controller 20 that estimates the posture and position of the controller 20 based on the three-axis acceleration component and the angular velocity component. The following contents can also be realized for the controller 20.
[0102] 図 2 0は、 アプリケーション処理部 1 1 0の構成を示す。 アプリケーショ ン処理部 1 1 0は、 入力受付部 4 0 0、 取得部 4 0 2、 変化検出部 4 0 4、 オブジェクト制御部 4 0 6および画像信号生成部 4 0 8を備える。 図 2 0は 、 オブジェクトに関する画像を生成する構成のみを示している。 実際には、 オブジェクトの背景画像などは、 他の構成により生成され、 また音声信号に ついても他の構成により生成される。  FIG. 20 shows the configuration of the application processing unit 1 1 0. The application processing unit 110 includes an input receiving unit 4 0 0, an acquisition unit 4 0 2, a change detection unit 4 0 4, an object control unit 4 0 6, and an image signal generation unit 4 0 8. FIG. 20 shows only a configuration for generating an image related to an object. Actually, the background image of the object is generated by another configuration, and the audio signal is also generated by another configuration.
[0103] 入力受付部 4 0 0は、 無線通信モジュール 1 0 8から、 ゲームコントロー ラ 2 0 0で入力される操作入力を受け付ける。 取得部 4 0 2は、 位置推定部 2 5 0から、 ゲームコントローラ 2 0 0の実空間における位置情報または姿 勢情報を取得する。 変化検出部 4 0 4は、 取得部 4 0 2において時間的に連 続して取得された位置情報または姿勢情報から、 ゲームコントローラ 2 0 0 の位置または姿勢の変化を検出する。 変化検出部 4 0 4は、 位置の変化を検 出することで、 コントローラ 2 0 0の移動速度および移動方向を取得でき、 また姿勢の変化を検出することで、 コントローラ 2 0 0の回転速度および回 転方向を取得できる。 The input receiving unit 4 0 0 receives an operation input input from the wireless communication module 1 0 8 via the game controller 2 0 0. The acquisition unit 4 0 2 is a position estimation unit. From 2 50, position information or attitude information of game controller 2 200 in real space is acquired. The change detection unit 40 4 detects a change in the position or posture of the game controller 2 0 0 from the position information or posture information acquired continuously in time by the acquisition unit 40 2. The change detection unit 40 4 can acquire the moving speed and moving direction of the controller 20 0 by detecting a change in position, and can detect the rotational speed and speed of the controller 2 0 0 by detecting a change in posture. The direction of rotation can be acquired.
[0104] オブジェクト制御部 4 0 6は、 基本機能として、 入力受付部 4 0 0におい て受け付けた操作入力をもとに、 仮想空間におけるオブジェク卜の動作を制 御する。 本実施例のオブジェクト制御部 4 0 6は、 さらに取得部 4 0 2にお いて取得された位置情報または姿勢情報を利用して、 オブジェク卜の動作を 制御する機能ももつ。 さらにオブジェクト制御部 4 0 6は、 変化検出部 4 0 4において取得された位置または姿勢の変化を利用して、 オブジェク卜の動 作を制御する機能ももつ。  [0104] As a basic function, the object control unit 40 06 controls the operation of the object in the virtual space based on the operation input received by the input reception unit 400. The object control unit 40 6 of this 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 4 02. Further, the object control unit 40 6 has a function of controlling the movement of the object using the change in position or posture acquired by the change detection unit 40 4.
[0105] たとえば、 オブジェクト制御部 4 0 6は、 位置情報または姿勢情報を利用 して、 仮想空間におけるオブジェクトの姿勢を決定してもよい。 また、 ォブ ジェクト制御部 4 0 6は、 変化検出部 4 0 4において、 位置または姿勢の所 定の変化が検出された場合に、 位置情報または姿勢情報を利用したオブジェ ク卜の動作制御を開始または終了してもよい。  [0105] For example, the object control unit 40 6 may determine the posture of the object in the virtual space using the position information or the posture information. In addition, the object control unit 40 6 controls the operation of the object 利用 using the position information or the posture information when the change detection unit 40 4 detects a predetermined change in the position or posture. It may start or end.
[0106] 取得部 4 0 2力 実空間におけるゲームコントローラ 2 0 0の 3次元の位 置情報または姿勢情報を取得する場合、 オブジェクト制御部 4 0 6は、 3次 元の位置情報または姿勢情報を利用して、 仮想 3次元空間におけるォブジェ クトの動作を制御してもよい。 なお、 コントローラ 2 0 0の動きが大きく、 画像表示装置 3に表示するォブジェク卜が画面からフレームァゥ卜しそうな 場合には、 オブジェクト制御部 4 0 6は、 ユーザに対して報知処理を実行し てもよい。 オブジェクト制御部 4 0 6において動作制御されるォブジェクト は、 他の背景画像などとともに画像信号生成部 4 0 8において画像信号に変 換される。 [0107] 以下、 アプリケーション例を示す。 [0106] Acquisition unit 4 0 2 force When acquiring the three-dimensional position information or posture information of the game controller 2 0 0 in real space, the object control unit 4 0 6 obtains the three-dimensional position information or posture information. It may be used to control the movement of objects in a virtual 3D space. If the motion of the controller 200 is large and the object displayed on the image display device 3 is likely to be framed from the screen, the object control unit 40 6 may execute the notification process for the user. Good. The object whose operation is controlled by the object control unit 40 6 is converted into an image signal by the image signal generation unit 40 8 together with other background images. [0107] Application examples are shown below.
ぐテニスゲーム >  Tennis game>
テニスゲームでは、 フレーム画像におけるコントローラ 2 0 0の高さをテ ニスボールの打点高さとし、 コントローラ 2 0 0の向きをボールの打球方向 、 コントローラ 2 0 0を動かす速度を、 ボールを打ち込む強さとして、 コン トローラ 2 0 0を動かすことでゲームを進行させることができる。 これらの 動きは、 実際のラケットを振る動きに近似しているため、 テニスを実際にプ レイするのに近い感覚をユーザに与えることができる。 たとえば、 コント口 ーラ 2 0 0にラケッ卜と同じ動作をさせてもよく、 このときのスイングの角 度と方向を利用してもよい。  In a tennis game, the height of the controller 20 0 in the frame image is the hitting height of the tennis ball, the direction of the controller 2 0 0 is the ball hitting direction, and the speed at which the controller 2 0 is moved is the strength of hitting the ball. The game can be advanced by moving the controller 200. Since these movements approximate the movements of swinging an actual racket, it is possible to give the user a feeling close to playing tennis. For example, controller controller 200 may be operated in the same manner as a racket, and the angle and direction of the swing at this time may be used.
[0108] オブジェクト制御部 4 0 6は、 取得部 4 0 2で取得したコントローラ 2 0 0の位置情報からコントローラ 2 0 0の高さを取得し、 姿勢情報からコント ローラ 2 0 0の向きを取得する。 また、 オブジェクト制御部 4 0 6は、 変化 検出部 4 0 4から、 コントローラ 2 0 0の移動速度を取得する。 これらの情 報により、 オブジェクト制御部 4 0 6は、 ラケットやキャラクタなどのォブ ジェク卜の姿勢を決定し、 動作させる。  [0108] The object control unit 4 0 6 acquires the height of the controller 2 0 0 from the position information of the controller 2 0 0 acquired by the acquisition unit 4 0 2 and acquires the orientation of the controller 2 0 0 from the posture information To do. In addition, the object control unit 40 6 obtains the moving speed of the controller 20 00 from the change detection unit 40 04. Based on these pieces of information, the object control unit 40 6 determines the posture of the object such as a racket or a character and operates it.
[0109] オブジェクト制御部 4 0 6は、 取得部 4 0 2において取得されるコント口 ーラ 2 0 0の位置情報および姿勢情報をもとに、 各仮想オブジェク卜の動作 を制御してもよいが、 たとえば、 基準位置および基準姿勢からの差分をとつ て、 その差分値に基づいて各仮想オブジェクトの動作を制御してもよい。 た とえば、 ユーザがコントローラ 2 0 0のポタンなどを操作した時点のコント ローラ 2 0 0の位置および姿勢を、 オブジェクト動作制御処理に利用する基 準位置および基準姿勢としてオブジェクト制御部 4 0 6が取得してもよい。 オブジェクト制御部 4 0 6は、 取得部 4 0 2で取得される位置情報および姿 勢情報から、 基準位置および基準姿勢との間の変化量 (差分) を検出して、 その変化量をもとに仮想オブジェクトの動作制御を実行する。 なお、 ォブジ ェクト制御部 4 0 6は、 基準位置および基準姿勢を変化検出部 4 0 4に通知 して、 変化検出部 4 0 4が、 基準位置および基準姿勢からの変化量を検出し てもよい。 以下、 基準位置および基準姿勢からの変化量でオブジェクトの動 作制御を行う例を示すが、 実空間座標における位置や姿勢に基づいたォブジ ェク卜の動作制御も同様に実行できる。 [0109] The object control unit 40 06 may control the operation of each virtual object based on the position information and the posture information of the controller 20 00 acquired by the acquisition unit 4 02. However, for example, a difference from the reference position and the reference posture may be taken, and the motion of each virtual object may be controlled based on the difference value. For example, the object control unit 4 06 uses the position and orientation of the controller 2 00 when the user operates the buttons of the controller 2 0 0 as the reference position and reference orientation used for the object motion control process. You may get it. The object control unit 40 6 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 40 2, and based on the change amount. The motion control of the virtual object is executed. The object control unit 40 6 notifies the reference position and reference posture to the change detection unit 40 4, and the change detection unit 40 4 detects the amount of change from the reference position and reference posture. May be. In the following, an example is shown in which the motion control of an object is performed based on the amount of change from the reference position and reference posture, but the object motion control based on the position and posture in real space coordinates can be executed in the same way.
[0110] コントローラ 2 0 0のボタンやキー操作をゲーム入力としてそのまま利用 できるようにすることで、 従来のゲーム操作入力を維持しながら、 感覚的に 斬新なゲーム入力を行わせることができる。  [0110] 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 a game input that is sensibly innovative while maintaining the conventional game operation inputs.
たとえば、 ボールを打ち込む強さをコントローラ 2 0 0のボタン操作によ り定めてもよい。 従来型のボタン操作と、 斬新なゲーム入力とを組み合わせ ることで、 新しい遊技性を実現できる。 たとえば、 相手のコートにボールを 落とす位置をコントローラ 2 0 0の向きで指定しながら、 ボタン入力を行う ことでボールを上げ、 さらにコントローラ 2 0 0を動かすことで、 強いサー ブを打てるようなテニスゲームを作ることも可能である。  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, tennis that can hit a strong serve by moving the controller 2 0 0 by moving the controller 2 0 0 while pressing the button while specifying the position to drop the ball on the opponent's court in the direction of the controller 2 0 0 It is also possible to make a game.
[0111 ] コントローラ 2 0 0の位置情報および または姿勢情報を利用して、 ポレ 一、 スマッシュ、 ロブ、 ドロップショットなどのショットを打ち分けること も可能である。 たとえば、 オブジェクト制御部 4 0 6は、 コントローラ 2 0 0の基準位置からの高さ方向の変化量が小さいときには、 キャラクタにポレ 一の動作をさせ、 変化量が正方向 (上方向) に大きいときにはスマッシュの 動作をさせ、 負方向 (下方向) に大きいときにはロブの動作をさせてもよい  [0111] Using the position information and / or posture information of the controller 200, it is also possible to shoot shots such as a pole, a smash, a rob, and a drop shot. For example, the object control unit 40 6 causes the character to move in a positive direction when the amount of change in the height direction from the reference position of the controller 200 is small, and when the amount of change is large in the positive direction (upward). You can move the smash and move the lob when it is negative (downward).
[0112] 図 2 1 ( a ) は、 キャラクタがポレーを行う状態、 図 2 1 ( b ) は、 キヤ ラクタがスマッシュを行う状態を示す。 図 2 1の例では、 ゲームキャラクタ とラケッ卜の 2つの仮想オブジェクトを表現しているが、 キャラクタの姿勢 だけでなく、 ラケッ卜の傾きにもコントローラ 2 0 0の位置情報を反映させ ることで、 実際にテニスをプレイする感覚をユーザに与えることができる。 [0112] Fig. 21 (a) shows a state where the character performs a pole, and Fig. 21 (b) shows a state where the character smashes. In the example of Fig. 21, two virtual objects, a game character and a racket, are represented. However, by reflecting the position information of the controller 200 not only on the character's posture but also on the inclination of the racket. It is possible to give the user a sense of actually playing tennis.
[01 1 3] <オートバイゲーム >  [01 1 3] <Motorcycle game>
オートバイのドライブゲームでは、 コントローラ 2 0 0の姿勢を操作する ことで、 ォートバイをコントロールするゲーム入力として利用してもよい。 このとき、 スピードはコントローラ 2 0 0を動かす速度で決定してもよく、 またポタン入力で決定してもよい。 このように、 従来型のポタン入力と、 コ ントローラ 2 0 0の位置や姿勢による静的な入力と、 またコントローラ 2 0 0の移動速度などの状態変化をもとにした動的な入力とを組み合わせて利用 することで、 ゲームアプリケーションの操作性を向上できる。 In a motorcycle drive game, it may be used as a game input for controlling the buy-by by operating the posture of the controller 200. At this time, the speed may be determined by the speed of moving the controller 200, Alternatively, it may be determined by a 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 performed. By using in combination, the operability of the game application can be improved.
[01 14] <文字入力ゲーム >  [01 14] <Character input game>
画面に文字入力を行わせるゲームでは、 コントローラ 2 0 0の位置を動か すことで、 画面に文字を入力することができる。 オブジェクト制御部 4 0 6 は、 取得部 4 0 2から供給される筐体 X軸、 Y軸方向の 2次元的な位置情報 に追従するように、 画像表示装置 3の画面に出力する線図ォブジェクトを生 成する。 なお、 コントローラ 2 0 0において、 筐体の長手方向を X軸、 高さ 方向を Y軸、 短手方向 (奥行き方向) を Z軸と設定し、 以下、 この方向を、 それぞれ筐体 X軸、 筐体 Y軸、 筐体 Z軸と呼ぶ。 またゲームアプリケーショ ンにおいては、 画像表示装置 3の画面中、 横方向を X軸、 縦方向を Y軸、 奥 行き方向を Z軸と設定しており、 以下、 これらの方向を、 それぞれ画面 X軸 、 画面 Y軸、 画面 Z軸と呼ぶ。  In a game where characters are entered on the screen, characters can be entered on the screen by moving the position of the controller 2 0 0. The object control unit 40 6 is a diagram object that is output to the screen of the image display device 3 so as to follow the two-dimensional positional information in the X-axis and Y-axis directions supplied from the acquisition unit 40 2. Is generated. 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 short side direction (depth direction) is set as the Z axis. It is called the case Y-axis and case 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. , Screen Y-axis, Screen Z-axis.
[01 15] これにより画面 X Y平面に、 筐体 X Y平面における動きをトレースするこ とができる。 コントローラ 2 0 0の動きだけで、 この処理を行わせる場合、 コントローラ 2 0 0の動きにより、 トレース処理の開始および終了が決定さ れてもよい。 このとき変化検出部 4 0 4は、 位置情報または姿勢情報の所定 の変化を検出してオブジェクト制御部 4 0 6に通知し、 オブジェクト制御部 4 0 6は、 その通知を受けて、 トレース処理の開始および終了を決定する。 開始および終了のトリガとなる動き変化は、 同一であってもよく、 また開始 処理、 終了処理ごとに設定されていてもよい。 同一の場合は、 トレース処理 の実行中でなければ開始処理のトリガ、 トレース処理を実行中であれば終了 処理のトリガとして、 その動き変化を処理する。  [01 15] This allows the movement in the housing XY plane to 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 40 4 detects a predetermined change in the position information or the posture information and notifies the object control unit 40 06, and the object control unit 40 06 receives the notification and performs the trace processing. Determine start and end. The movement changes that trigger start and end may be the same, or may be set for each start process and end process. If they are the same, 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.
[01 16] オブジェクト制御部 4 0 6力 筐体 X Y平面における 2次元的な動作をゲ ーム入力として利用する場合、 それ以外の方向、 すなわち筐体 Z軸方向の動 きを、 トレース処理の開始または終了のトリガとして利用してもよい。 筐体 z軸方向の動きは、 線図オブジェクトの動作制御には利用されないため、 開 始または終了のトリガとして好適に使用できる。 すなわち、 ゲーム中のォブ ジェク卜の動きに必要な成分以外の情報を、 ゲームに対する指示情報として 利用することで、 キー操作を利用しなくとも、 ゲームアプリケーションを進 行させることができる。 たとえば、 文字入力ゲームでは、 コントローラ 2 0 0の回転操作をゲーム入力として使用しないため、 コントローラ 2 0 0を回 転させることで、 すなわち姿勢変化させることで、 トレース処理の開始また は終了の指示入力としてもよい。 [01 16] Object control unit 4 0 6 Force When using two-dimensional movement in the XY plane as a game input, the movement in the other direction, that is, the movement in the Z-axis direction, It may be used as a start or end trigger. Enclosure Since the movement in the z-axis direction is not used for motion control of diagram objects, it can be used favorably as a start or end trigger. That is, by using information other than the components necessary for the movement of the object during the game as instruction information for the game, the game application can be executed without using the key operation. For example, in a character input game, the rotation operation of the controller 2 00 is not used as a game input. Therefore, an instruction to start or end the trace process is input by rotating the controller 2 0 0, that is, by changing the posture. It is good.
[01 17] <電極棒ゲーム >  [01 17] <Electrode bar game>
電極棒ゲームとは、 金属製コースフレームに電極棒をいれて、 その電極棒 をコースフレームや障害物に当たらないように制限時間内にゴールまで持ち 運ぶゲームであるが、 この電極棒ゲームを、 ゲームアプリケーションとして 実行できる。 現状、 2次元の電極棒ゲームについては存在しているが、 3次 元の電極棒ゲームについては存在しない。  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 the time limit so that it does not hit the course frame or obstacles. It can be executed as a game application. Currently, it exists for 2D electrode bar games, but not for 3D electrode bar games.
[01 18] ォブジェクト制御部 4 0 6は、 コントローラ 2 0 0の 3次元の位置情報お よび姿勢情報を利用して、 仮想 3次元空間において、 仮想オブジェクトであ る電極棒の動作を制御してもよい。 すなわち、 ゲーム画面中でコースフレー 厶を画面奥行き方向 (画面 Z軸方向) にも設けることで、 ユーザは、 コント ローラ 2 0 0を筐体 X Y平面上だけでなく、 筐体 Z軸方向にも動かすことに なり、 現実の電極棒ゲームと同様の体感を与えることができる。  [01 18] The object control unit 4 06 uses the 3D position information and orientation information of the controller 2 00 to control the movement of the electrode rod, which is a virtual object, in the virtual 3D space. Also good. In other words, by providing the course frame 厶 also in the screen depth direction (screen Z-axis direction) in the game screen, the user can not only place the controller 200 on the case XY plane but also in the case Z-axis direction. It will move and give you the same experience as a real electrode stick game.
[01 19] 以上、 様々なアプリケーション例を示したが、 オブジェクト制御部 4 0 6 がコントローラ 2 0 0の動きを画面中でトレースさせるような場合、 コント ローラ 2 0 0の動作量が大きくなると、 コントローラ 2 0 0が画像表示装置 3の画面から外れるような場合も発生する。 たとえば、 上記した文字入力ゲ ームでは、 そのような事態が発生しうる。  [01 19] While various application examples have been described above, when the object controller 4 0 6 causes the movement of the controller 2 0 0 to be traced on the screen, if the operation amount of the controller 2 0 0 increases, It may also occur when the controller 200 is off the screen of the image display device 3. For example, such a situation can occur in the character input game described above.
[0120] コントローラ 2 0 0に対応する仮想オブジェク卜が画像表示装置 3の画面 からフレームアウトしそうな場合、 オブジェクト制御部 4 0 6は、 コント口 ーラ 2 0 0の位置情報をもとに、 ユーザに対してフレームァゥトしそうな旨 を通知する報知処理を行ってもよい。 たとえば、 コントローラ 2 0 0がフレ 一厶ァゥ卜しそうな場合に、 コントローラ 2 0 0に対して振動子を振動させ るための振動制御信号を生成して、 無線通信モジュール 1 0 8より送信させ てもよい。 また、 コントローラ 2 0 0の動きに追従する仮想オブジェクトを ゲーム画像として表示させている場合には、 ユーザに目立つように仮想ォブ ジェクトを動かすことで、 フレームァゥ卜しそうなことをユーザに伝えても よい。 たとえば、 画面のフレーム枠から内方向にはじかれるような特殊な動 きをさせることで、 ユーザに報知を行ってもよい。 [0120] When the virtual object corresponding to the controller 2 0 0 is likely to be out of frame from the screen of the image display device 3, the object control unit 4 0 6 uses the position information of the controller 2 0 0 as a basis. It seems to frame out to the user Notification processing for notifying may be performed. For example, when the controller 2 00 is likely to flare, a vibration control signal for vibrating the vibrator to the controller 2 0 0 is generated and transmitted from the wireless communication module 1 0 8. May be. Also, if a virtual object that follows the movement of the controller 200 is displayed as a game image, moving the virtual object so that it stands out to the user can tell the user that it is likely to frame. Good. For example, the user may be notified by performing a special movement that is repelled inward from the frame of the screen.
[0121 ] フレームアウトしそうであるか否かは、 コントローラ 2 0 0の位置情報を 画面座標に変換したときに、 フレーム近傍の位置になっているか否かをもと に判断してもよい。 このとき、 変化検出部 4 0 4がコントローラ 2 0 0の移 動方向および速度を検出して、 それらの情報から、 所定時間以内にフレーム アウトするか否かを予測してもよい。 この予測処理は、 フレーム近傍にある ことを前提に実行されてもよい。  [0121] Whether or not the frame is about to be out may be determined based on whether or not the position 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 40 4 may detect the moving direction and speed of the controller 20 0 and predict whether or not to frame out within a predetermined time from the information. This prediction process may be executed on the assumption that it is in the vicinity of the frame.
[0122] なお、 撮像装置 2を用いる場合は、 たとえばフレーム画像中のコントロー ラ 2 0 0の位置で決定してもよく、 フレーム画像の縁部に近い位置にコント ローラ 2 0が存在することが検出される場合に、 この報知処理を行ってもよ い。  [0122] When the imaging device 2 is used, it may be determined at the position of the controller 20 0 in the frame image, for example, and the controller 20 may exist near the edge of the frame image. If detected, this notification process may be performed.
[0123] また、 本実施例で説明したように、 コントローラ 2 0 0またはコントロー ラ 2 0の位置情報および姿勢情報をもとに様々なアプリケーションが実行で さる。  Further, as described in the present embodiment, various applications can be executed based on the position information and the posture information of the controller 20 0 or the controller 20.
たとえば入力ボタンを併用してコントローラを回転させるなどすることで 、 ゲームオブジェクトに、 大きいシャボン玉を作らせることができる。 また 、 コントローラを回転させたり、 姿勢の往復運動を行わせることで、 料理ゲ ームでゲームオブジェク卜にパンをこねさせることができる。 またコント口 ーラの位置情報を用いて、 ゲームオブジェク卜にタンバリンゃマラカスを操 作させたり、 指揮をさせたりできる。 またコントローラの 3次元位置情報を 利用することで、 3次元的に配置されたブロックに球をあてることでプロッ クを崩していくゲームも実行できる。 またコントローラ 2 0 0をプレイヤ間 でキャッチポールするように受け渡すことで、 プレイヤを切り替えることも 可能である。 ゲーム中に疑似カメラが存在する場合には、 コントローラの位 置情報をもとに疑似力メラの視点移動を行うことができる。 またコントロー ラの回転情報をもとに、 仮想的なドアノブを回す動作も実行できる。 また実 際にコントローラを動かすことで、 仮想オブジェクトをその動きに追従させ て動かすことができる。 また、 コントローラの 3次元的な動きを捕捉するこ とで、 その動きを仮想ノミの動きとしてとらえて彫刻を作成したり、 また 2 次元的な動きを捕捉することで、 その動きを仮想筆の動きとしてとらえて絵 画を作成したりできる。 さらに、 コントローラに瞬時的な衝撃を与えること で、 衝撃のレベルが所定値を超えたときに、 コントローラを振動させたり、 またゲームオブジェク卜に衝撃を反映させるなど、 ゲームの進行を制御して もよい。 加速度センサ等を有する場合は、 その加速度で衝撃を検出でき、 ま た L E D画像を利用する場合には、 L E D画像が楕円形になつたり、 また瞬 間的に撮像されなかったりした場合に、 コントローラが衝撃を受けたことを 判定してもよい。 For example, by rotating the controller together with the input button, you can make the game object make a big soap bubble. In addition, the game object can be kneaded with the cooking game by rotating the controller or reciprocating the posture. In addition, using the position information of the controller, the game object can be operated and commanded by the tambourine. In addition, by using the controller's 3D position information, it is possible to apply a sphere by hitting a 3D block. You can also run a game that breaks down. In addition, the player can be switched by passing the controller 20 0 so as to catch a pole between players. If there is a pseudo camera in the game, the viewpoint of the pseudo force mela can be moved based on the position information of the controller. In addition, based on the rotation information of the controller, it is also possible to perform an action of turning a virtual door knob. In addition, 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 captured by the virtual brush. You can create a picture by capturing it as a movement. Furthermore, by applying an instantaneous impact to the controller, it is possible to control the progress of the game, such as vibrating the controller when the impact level exceeds a predetermined value or reflecting the impact on the game object. Good. If you have an acceleration sensor, etc., you can detect the impact with that acceleration, and if you use an LED image, if the LED image becomes elliptical or is not captured instantaneously, the controller It may be determined that has been impacted.
産業上の利用可能性 Industrial applicability
本発明は、 新たな入力情報を利用した新規なアプリケーションを実行する ゲーム装置に利用できる。  The present invention can be used for a game device that executes a new application using new input information.

Claims

請求の範囲 The scope of the claims
[1 ] ゲームコントローラから入力される操作入力を受け付ける入力受付部と、 前記入力受付部において受け付けた操作入力をもとに、 仮想空間における オブジェク卜の動作を制御するォブジェクト制御部と、 を備えたゲーム装置 であって、  [1] An input receiving unit that receives an operation input input from a game controller, and an object control unit that controls the movement of an object in a virtual space based on the operation input received in the input receiving unit. A game device,
前記ゲームコントローラの実空間における位置情報または姿勢情報を取得 する取得部をさらに備え、  An acquisition unit for acquiring position information or posture information of the game controller in real space;
前記オブジェクト制御部は、 前記位置情報または前記姿勢情報を利用して The object control unit uses the position information or the posture information.
、 前記オブジェク卜の動作を制御することを特徴とするゲーム装置。 A game device that controls the movement of the object.
[2] 前記オブジェクト制御部は、 前記位置情報または前記姿勢情報を利用して[2] The object control unit uses the position information or the posture information.
、 仮想空間におけるオブジェク卜の姿勢を決定することを特徴とする請求項The object posture in the virtual space is determined.
1に記載のゲーム装置。 The game device according to 1.
[3] 前記取得部において時間的に連続して取得された前記位置情報または前記 姿勢情報から、 前記ゲームコントローラの位置または姿勢の変化を検出する 変化検出部をさらに備えることを特徴とする請求項 1または 2に記載のゲー ム装置。 [3] The apparatus may further comprise 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 by the acquisition unit. The game device according to 1 or 2.
[4] 前記変化検出部において、 位置または姿勢の所定の変化が検出された場合 に、 前記オブジェクト制御部は、 前記位置情報または前記姿勢情報を利用し たォブジェク卜の動作制御を開始または終了することを特徴とする請求項 3 に記載のゲーム装置。  [4] When the change detection unit detects a predetermined change in position or orientation, the object control unit starts or ends the motion control of the object using the position information or the orientation information. The game device according to claim 3.
[5] 前記取得部は、 実空間における前記ゲームコントローラの 3次元の位置情 報または姿勢情報を取得し、  [5] The acquisition unit acquires the three-dimensional position information or posture information of the game controller in real space,
前記オブジェクト制御部は、 3次元の位置情報または姿勢情報を利用して The object control unit uses three-dimensional position information or posture information.
、 仮想 3次元空間における前記オブジェク卜の動作を制御することを特徴と する請求項 1に記載のゲーム装置。 2. The game apparatus according to claim 1, wherein the game apparatus controls an operation of the object in a virtual three-dimensional space.
[6] 前記オブジェクト制御部は、 画像表示装置に表示するォブジェク卜が画面 からフレームァゥ卜しそうな場合に、 ユーザに対して報知処理を実行するこ とを特徴とする請求項 1に記載のゲーム装置。 6. The game device according to claim 1, wherein the object control unit performs a notification process for a user when an object displayed on the image display device is likely to frame from the screen. .
PCT/JP2007/000123 2006-05-02 2007-02-23 Game device WO2007129432A1 (en)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2007129432A1 true WO2007129432A1 (en) 2007-11-15

Family

ID=38667545

Family Applications (1)

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

Country Status (2)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2540360A1 (en) * 2011-07-01 2013-01-02 Konami Digital Entertainment Co., Ltd. Game device, control method for game device, information recording medium and program
AU2013333266B2 (en) * 2012-10-15 2019-09-12 Sony Interactive Entertainment Inc. Control device
WO2020209088A1 (en) * 2019-04-11 2020-10-15 株式会社ソニー・インタラクティブエンタテインメント Device having plural markers
US11663737B2 (en) * 2019-04-24 2023-05-30 Sony Interactive Entertainment Inc. Information processing apparatus and representative coordinate derivation method
EP4257214A1 (en) * 2022-04-05 2023-10-11 Sony Interactive Entertainment Inc. Electronic apparatus and light guiding member
US11794095B2 (en) 2019-04-24 2023-10-24 Sony Interactive Entertainment Inc. Information processing apparatus and device information derivation method

Families Citing this family (12)

* 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
WO2010071827A2 (en) 2008-12-19 2010-06-24 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
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
JP7198149B2 (en) 2019-04-24 2022-12-28 株式会社ソニー・インタラクティブエンタテインメント Information processing device and device information derivation method
JPWO2021075090A1 (en) 2019-10-17 2021-04-22
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

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141101A (en) * 1993-11-19 1995-06-02 Hitachi Ltd Input system using picture
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
JP2001321564A (en) * 1999-09-07 2001-11-20 Sega Corp Game device, inputting means used therefor, and recording medium
JP2003210830A (en) * 2002-12-24 2003-07-29 Konami Co Ltd Game device, game method, game program and game system
JP2003236244A (en) * 2002-02-14 2003-08-26 Konami Co Ltd Controller, attitude remote measuring device of controller and video game device
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
JP2006026240A (en) * 2004-07-20 2006-02-02 Konami Co Ltd Game device, method and program for controlling computer
JP2006084234A (en) * 2004-09-14 2006-03-30 Central Motor Co Ltd Apparatus for measuring tension strength of tension material

Family Cites Families (5)

* 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
JP2000308756A (en) * 1999-04-27 2000-11-07 Taito Corp Input controller of 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
JP3481230B2 (en) * 2002-03-05 2003-12-22 コナミ株式会社 GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141101A (en) * 1993-11-19 1995-06-02 Hitachi Ltd Input system using picture
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
JP2001321564A (en) * 1999-09-07 2001-11-20 Sega Corp Game device, inputting means used therefor, and recording medium
JP2003236244A (en) * 2002-02-14 2003-08-26 Konami Co Ltd Controller, attitude remote measuring device of controller and video game device
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
JP2006026240A (en) * 2004-07-20 2006-02-02 Konami Co Ltd Game device, method and program for controlling computer
JP2006084234A (en) * 2004-09-14 2006-03-30 Central Motor Co Ltd Apparatus for measuring tension strength of tension material

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2540360A1 (en) * 2011-07-01 2013-01-02 Konami Digital Entertainment Co., Ltd. Game device, control method for game device, information recording medium and program
AU2013333266B2 (en) * 2012-10-15 2019-09-12 Sony Interactive Entertainment Inc. Control device
EP2908224B1 (en) * 2012-10-15 2020-08-19 Sony Interactive Entertainment Inc. Control device
WO2020209088A1 (en) * 2019-04-11 2020-10-15 株式会社ソニー・インタラクティブエンタテインメント Device having plural markers
JP7283958B2 (en) 2019-04-11 2023-05-30 株式会社ソニー・インタラクティブエンタテインメント Device with multiple markers
US11663737B2 (en) * 2019-04-24 2023-05-30 Sony Interactive Entertainment Inc. Information processing apparatus and representative coordinate derivation method
US11794095B2 (en) 2019-04-24 2023-10-24 Sony Interactive Entertainment Inc. Information processing apparatus and device information derivation method
EP4257214A1 (en) * 2022-04-05 2023-10-11 Sony Interactive Entertainment Inc. Electronic apparatus and light guiding member

Also Published As

Publication number Publication date
JP5089078B2 (en) 2012-12-05
JP2007296248A (en) 2007-11-15

Similar Documents

Publication Publication Date Title
JP5089078B2 (en) Game device
US9566507B2 (en) Game controller using a plurality of light-emitting elements
US10445884B2 (en) Control device for communicating visual information
JP4906391B2 (en) Game controller
JP5361044B2 (en) GAME DEVICE AND GAME PROGRAM
JP5681633B2 (en) Control device for communicating visual information
JP2008027385A (en) Information processor and information processing program
JP5389162B2 (en) GAME DEVICE, GAME CONTROL METHOD, AND GAME CONTROL PROGRAM
WO2007116578A1 (en) Entertainment system and processor
JP5259965B2 (en) Information processing program and information processing apparatus
JP2011024612A (en) Game device
US8721444B2 (en) Game device for performing operation object control and non-operation object control
JP5453006B2 (en) Game device
JP5551675B2 (en) Game apparatus and virtual object control method
JP5116159B2 (en) Information processing system, information processing method, and information processing program
JP2012050719A (en) Program, object control method, and game device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07713505

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07713505

Country of ref document: EP

Kind code of ref document: A1