KR101060779B1 - Methods and apparatuses for applying gearing effects to an input based on one or more of visual, acoustic, inertial, and mixed data - Google Patents
Methods and apparatuses for applying gearing effects to an input based on one or more of visual, acoustic, inertial, and mixed data Download PDFInfo
- Publication number
- KR101060779B1 KR101060779B1 KR1020087029707A KR20087029707A KR101060779B1 KR 101060779 B1 KR101060779 B1 KR 101060779B1 KR 1020087029707 A KR1020087029707 A KR 1020087029707A KR 20087029707 A KR20087029707 A KR 20087029707A KR 101060779 B1 KR101060779 B1 KR 101060779B1
- Authority
- KR
- South Korea
- Prior art keywords
- gearing
- input device
- interaction
- movement
- game
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/71—Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0325—Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/105—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1081—Input via voice recognition
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1087—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1087—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
- A63F2300/1093—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6045—Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6063—Methods for processing data by generating or executing the game program for sound processing
- A63F2300/6072—Methods for processing data by generating or executing the game program for sound processing of an input signal, e.g. pitch and rhythm extraction, voice recognition
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
- Pinball Game Machines (AREA)
Abstract
본 발명에 따르면, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법들 및 장치들이 제공된다. 컴퓨터 게임 시스템은 영상 데이터를 캡쳐하기 위한 비디오 캡쳐 장치를 포함한다. 본 방법은, 비디오 캡쳐 장치로 입력 장치를 디스플레이 하는 단계를 포함하며, 입력 장치는, 캡쳐된 영상 데이터의 분석 및 복수의 광들의 상태에 근거하여 컴퓨터 게임 시스템에 의해 해석될 입력 장치의 위치결정 및 통신 데이터를 전달하도록 변조되는 복수의 광들을 갖는다. 본 방법은 또한, 물체의 이동이 캡쳐된 영상 데이터 내에서 검출된 것처럼 입력 장치의 위치에서의 이동들로 매핑되도록, 컴퓨터 게임 시스템에 의해 실행될 컴퓨터 게임의 물체 이동을 정의하는 단계를 포함한다. 그 다음에, 본 방법은, 컴퓨터 게임의 물체 이동과 입력 장치의 위치 이동 사이의 기어링을 설립한다. 기어링은, 입력 장치의 위치 이동들과 물체의 이동들 사이의 비율을 정의한다. 기어링은, 게임과 사용자에 의해 동적으로 설정될 수 있고, 또는 기어링 알고리즘에 따라 구성된 소프트웨어 또는 사용자에 의해 미리 설정될 수 있다. 입력 장치의 실시형태들은, 기어링도리 수 있는 관성 데이터를 제공하는 데에 이용될 수 있으며, 컴퓨터 게임 시스템에 의해 해석될 수 있다. 게다가, 실시형태들은, 요망된 기어링을 적용하도록, 영상 캡쳐, 관성 캡쳐 및 음향 캡쳐의 혼합뿐만 아니라, 음향 검출 시스템들을 사용할 수 있다. In accordance with the present invention, methods and apparatuses for interacting with a computer game system are provided. The computer game system includes a video capture device for capturing image data. The method includes displaying an input device with a video capture device, the input device comprising: positioning of the input device to be interpreted by the computer game system based on the analysis of the captured image data and the state of the plurality of lights; It has a plurality of lights that are modulated to convey communication data. The method also includes defining an object movement of the computer game to be executed by the computer game system such that the movement of the object is mapped to movements in the position of the input device as detected in the captured image data. The method then establishes gearing between the object movement of the computer game and the positional movement of the input device. Gearing defines the ratio between positional movements of the input device and movements of the object. Gearing may be set dynamically by the game and the user, or may be preset by the user or software configured according to the gearing algorithm. Embodiments of the input device may be used to provide gearable inertial data and may be interpreted by a computer game system. In addition, embodiments may use acoustic detection systems, as well as a mix of image capture, inertial capture, and acoustic capture, to apply the desired gearing.
컴퓨터 게임 시스템, 영상 데이터, 기어링, 매핑 Computer Game System, Image Data, Gearing, Mapping
Description
비디오 게임 산업은 수년동안 많은 변화들을 보여왔다. 연산 능력(computing power)이 확장됨에 따라, 비디오 게임 개발자들은, 이러한 연산 능력의 증가들을 이용하는 게임 소프트웨어를 마찬가지로 제작해왔다. 이 때문에, 비디오 게임 개발자들은, 매우 사실적인 게임 경험을 얻기 위하여 섬세한 동작들 및 수학들을 내장한 게임들을 코딩(coding)하여왔다. The video game industry has seen many changes over the years. As computing power expands, video game developers have similarly produced game software that takes advantage of these increases in computing power. Because of this, video game developers have coded games that incorporate delicate operations and maths to get a very realistic game experience.
예시적인 게임 플랫폼들(gaming platforms)은 게임 콘솔(game console)의 형태로 판매되는 소니 플레이스테이션(Sony Playstation) 또는 소니 플레이스테이션2(Sony Playstation2; PS2)를 포함한다. 공지되어 있듯이, 게임 콘솔은, 모니터(통상적으로 텔레비젼)에 연결되고 핸드헬드 제어기들(handheld controllers)을 통하여 사용자 상호작용을 가능하게 하도록 고안되어 있다. 게임 콘솔은, CPU, 집중적인 그래픽 동작들을 처리하기 위한 그래픽 합성기(graphics synthesizer), 지오메트리 변환들(geometry transformations)을 수행하기 위한 벡터 유닛(vector unit) 을 포함하는 전문 처리 하드웨어, 및 다른 탈착가능 하드웨어, 펌웨어(firmware), 및 소프트웨어와 함께 고안된다. 게임 콘솔은, 또한 게임 콘솔을 통한 로컬 플레이(local play)를 위하여 게임 콤팩트 디스크들(game compact discs)을 수납하기 위한 광 디스크 트레이(optical disc tray)와 함께 고안된다. 온라인 게임 또한 가능한데, 사용자는 인터넷을 통하여 다른 사용자들과 상호작용하며 플레이할 수 있다. Exemplary gaming platforms include Sony Playstation or Sony Playstation2 (PS2) sold in the form of a game console. As is known, game consoles are designed to be connected to a monitor (typically a television) and to enable user interaction via handheld controllers. The game console may include a CPU, a graphics synthesizer for processing intensive graphics operations, professional processing hardware including a vector unit for performing geometry transformations, and other removable hardware. , Firmware, and software. The game console is also designed with an optical disc tray for receiving game compact discs for local play through the game console. Online games are also possible, where users can interact and play with other users over the Internet.
게임 복잡성이 플레이어들의 흥미를 계속해서 돋움에 따라, 게임 소프트웨어 및 하드웨어 제조자들은 추가적인 상호작용을 가능하게 하기 위해 계속해서 혁신하여 왔다. 사실, 그러나, 사용자들이 게임과 상호작용하는 방식은 수년동안 드라마틱하게 변화하여 오지는 않았다. 통상적으로, 사용자들은 여전히 핸드헬드 제어기들을 이용하여 컴퓨터 게임들을 플레이하거나 마우스 포인팅 장치들(mouse pointing devices)을 이용하여 프로그램들과 상호작용한다. As game complexity continues to inspire players, game software and hardware manufacturers have continued to innovate to enable additional interactions. In fact, however, the way users interact with games has not changed dramatically over the years. Typically, users still play computer games using handheld controllers or interact with programs using mouse pointing devices.
상술한 바와 같이, 사용자가 게임 플레이와 더욱 진전된 상호작용을 할 수 있는 방법들 및 시스템들이 필요하다. As mentioned above, there is a need for methods and systems that enable a user to have more advanced interaction with game play.
포괄적으로 말하면, 본 발명은, 컴퓨팅 시스템과의 동적 사용자 상호작용을 가능하게 하는 방법들, 시스템들 및 장치들을 제공함으로써 이러한 필요를 만족시킨다. 일 실시형태에서, 컴퓨팅 시스템은 프로그램을 실행시킬 것이며 상호작용은 프로그램과 있을 것이다. 프로그램은 예를 들어 상호작용 물체들 또는 특징들을 정의하는 비디오 게임일 수 있다. 상호작용은, 사용자들에게, 처리가 수행될 정도를 조정할 기어링(gearing) 요소를 조정할 능력을 제공하는 단계를 포함한다. 일 실시형태에서, 기어링은, 컴퓨터 프로그램의 물체 또는 특징에 의해 처리되는 이동량과 입력 장치의 이동 사이의 상대적 이동에 적용될 수 있다.Collectively, the present invention satisfies this need by providing methods, systems, and apparatuses that enable dynamic user interaction with a computing system. In one embodiment, the computing system will execute the program and the interaction will be with the program. The program may for example be a video game defining interactive objects or features. The interaction includes providing users with the ability to adjust gearing elements to adjust the extent to which the processing is to be performed. In one embodiment, gearing may be applied to the relative movement between the movement of the input device and the amount of movement processed by the object or feature of the computer program.
또 다른 실시형태에서, 기어링은 컴퓨터 프로그램의 특징에 적용될 수 있고, 입력 장치로부터의 검출은 관성 분석기의 처리에 근거할 수 있다. 관성 분석기는 관성 동작에 대하여 입력 장치를 추적할 것이며, 그 다음에 관성 분석기는 이러한 정보를 프로그램에 전달할 수 있다. 그 다음에 프로그램은 관성 분석기로부터 출력을 얻어, 기어링 분량이 출력에 적용될 수 있다. 그 다음에, 기어링 분량은, 프로그램이 동작을 연산할 비율을 지시할 것이다. 동작은 임의의 개수의 형태들을 취할 수 있으며, 동작의 일 실시예는 잡음, 다양한 냄새, 물체에 의한 이동, 또는 변수를 생성하는 것일 수 있다. 출력이 변수라면, 변수(예를 들어, 승산기(multiplier) 또는 이와 유사한 것)는 처리의 실행을 완성하는 데에 이용될 수 있어, 처리는 기어링 분량을 고려할 것이다. 기어링 분량은 사용자에 의해 미리 설정될 수 있거나, 동적으로 설정도리 수 있고, 또는 요구에 따라 조정될 수 있다. In yet another embodiment, gearing may be applied to the features of the computer program and the detection from the input device may be based on the processing of the inertial analyzer. The inertial analyzer will track the input device for inertial motion, which can then pass this information to the program. The program then obtains the output from the inertial analyzer so that the gearing amount can be applied to the output. The amount of gearing will then indicate the rate at which the program will compute the action. The operation may take any number of forms, and one embodiment of the operation may be to generate noise, various odors, movement by an object, or a variable. If the output is a variable, a variable (eg, multiplier or the like) can be used to complete the execution of the process, so that the process will take into account the amount of gearing. The gearing amount can be preset by the user, set dynamically or can be adjusted as required.
일 실시형태에서, 추적은 음향 분석기에 의해 수행될 수 있다. 음향 분석기는 입력 장치로부터 음향 신호들을 수신하도록 구성되고, 음향 분석기는 수행될 명령 또는 상호작용으로 적용될 기어링 분량을 전달할 수 있다. 음향 분석기는 컴퓨터 프로그램 세그먼트(들)(computer program segment(s))의 형태일 수 있거나, 음향 신호 정보를 처리하도록 고안된 회로에서 구체적으로 정의될 수 있다. 그러므로, 음향 신호 정보는, 프로그램에 의해 동적으로 설정될 수 있고, 입력 장치를 통하여(예를 들어, 제어기의 버튼을 선택하거나, 음성 명령 등에 의해) 사용자에 의한 요구에 따라 설정될 수 있는 기어링 데이터를 포함할 수 있다. In one embodiment, tracking can be performed by an acoustic analyzer. The acoustic analyzer is configured to receive acoustic signals from the input device, and the acoustic analyzer can deliver the amount of gearing to be applied with the command or interaction to be performed. The acoustic analyzer may be in the form of a computer program segment (s) or may be specifically defined in circuitry designed to process acoustic signal information. Therefore, the acoustic signal information can be set dynamically by a program and gearing data that can be set according to a request by a user through an input device (for example, by selecting a button of a controller or by a voice command or the like). It may include.
일 실시형태에 있어서, 입력 장치의 추적은 영상 분석기를 통하여 수행될 수 있다. 이하에서 논의되는 것처럼, 영상 분석기는 사용자 및 입력 장치가 위치되는 공간의 영상들을 캡쳐(capture)하는 카메라를 포함할 수 있다. 이러한 실시예에 있어서, 영상 분석기는 처리 프로그램의 특징에 대한 일부 각각의 동작을 일으키기 위해 제어기의 위치를 결정하고 있다. 프로그램은 게임일 수 있으며, 특징은 입력 장치에 의해 제어되는 물체일 수 있다. 영상 분석기는 위치 데이터를 입력 기어링 값과 혼합하도록 더 구성된다. 기어링 값은 실행 동안 동적으로 사용자에 의해 제공될 수 있고 또는 실행 세션 내의 동작에 의존하여 프로그램에 의해 설정될 수 있다. 기어링 입력은 사용자에 의한 입력 동작에 근거하여 컴퓨터 프로그램에 의한 일부 처리에 대한 상대적 영향을 설정할 것이다. 일 실시형태에서, 기어링은 명령 또는 동작을 사용자 또는 사용자 입력 장치로부터 프로그램의 특징으로 번역할 것이다. 프로그램의 특징은 가시적인 물체일 필요는 없지만, 일부 파라미터(parameter)를 계산하는 데에 이용되는 변수의 조정, 음향, 진동 또는 영상 이동의 평가 또는 번역을 포함할 수 있다. 그러므로, 기어링은, 제어의 추가적 감지를, 프로그램 및 프로그램의 특징들에 제공되는 상호작용으로 제공할 것이다. In one embodiment, tracking of the input device may be performed via an image analyzer. As discussed below, the image analyzer may include a camera that captures images of the space in which the user and the input device are located. In this embodiment, the image analyzer is determining the position of the controller to cause some respective action on the characteristics of the processing program. The program may be a game and the feature may be an object controlled by the input device. The image analyzer is further configured to mix the position data with the input gearing value. The gearing value may be provided by the user dynamically during execution or may be set by the program depending on the operation in the execution session. The gearing input will set the relative impact on some processing by the computer program based on the input action by the user. In one embodiment, gearing will translate the command or action from a user or user input device to a feature of the program. Features of the program need not be visible objects, but may include adjustment of variables used to calculate some parameters, evaluation of acoustic, vibration, or image movement or translation. Therefore, gearing will provide additional sensing of control in the interaction provided to the program and its features.
또 다른 실시형태에서, 믹서 분석기가 제공된다. 믹서 분석기는 게임의 특징으로의 혼성 효과를 생성하도록 고안 된다. 예를 들어, 믹서 분석기는, 영상 분석기, 음향 분석기, 관성 분석기 등의 조합으로부터의 입력을 얻을 수 있다. 그러므로, 일 실시형태에서, 믹서 분석기는, 혼성 결과, 명령 또는 프로그램의 특징과의 상호작용을 생성하도록 혼합되고 합성될 수 있는 수개의 기어링 변수들을 수신할 수 있다. 또한, 프로그램의 특징은, 가시적 물체, 비가시적 물체, 동작의 처리에 사용되는 변수들, 가청(audible) 반응들에 대한 조정 등을 포함하는 것으로 이해되어야 한다. In yet another embodiment, a mixer analyzer is provided. The mixer analyzer is designed to create hybrid effects as a feature of the game. For example, the mixer analyzer can obtain input from a combination of an image analyzer, an acoustic analyzer, an inertial analyzer, and the like. Therefore, in one embodiment, the mixer analyzer may receive several gearing variables that may be mixed and synthesized to create interactions with hybrid results, instructions, or features of the program. Also, it is to be understood that the features of the program include visible objects, invisible objects, variables used in the processing of motion, adjustments to audible responses, and the like.
일 실시형태에서, 사용자의 제어기에 의한 이동이 게임의 특징에 대한 이동 또는 동작으로 번역될 분량은, 설정되거나 결정된 기어링과 적어도 부분적으로 관련될 것이다. 기어링은 게임 동안 동적으로 설정되거나, 미리 설정될 수 있으며 또는 사용자에 의한 게임 플레이 동안 조정될 수 있고, 반응은, 또 다른 수준의 사용자 상호작용 및 향상된 경험을 제공하기 위해 비디오 게임 물체 또는 특징으로 매핑(mapping)된다. In one embodiment, the amount by which the movement by the user's controller will be translated into movement or motion relative to the features of the game will be at least partially related to the gearing set or determined. Gearing can be set dynamically during the game, preset or adjusted during game play by the user, and the response can be mapped to video game objects or features to provide another level of user interaction and enhanced experience. mapping).
본 발명은, 프로세스(process), 장치(apparatus), 시스템, 디바이스(device), 또는 방법을 포함하여, 다양한 방식들로 실시될 수 있다. 본 발명의 수개의 진보적 실시형태들이 이하에서 설명된다. The invention can be implemented in a variety of ways, including as a process, an apparatus, a system, a device, or a method. Several inventive embodiments of the present invention are described below.
일 실시형태에서, 컴퓨터 게임 시스템과 상호작용 인터페이스(interface)하기 위한 방법이 제공된다. 컴퓨터 게임 시스템은 영상 데이터를 캡쳐하기 위한 비디오 게임 장치를 포함한다. 본 방법은, 비디오 캡쳐 장치로의 입력 장치를 디스플레이하는 단계를 포함하고, 입력 장치는, 캡쳐된 영상 데이터의 분석 및 복수의 광들의 상태에 근거하여, 입력 장치의 위치결정 및 컴퓨터 게임 시스템에 의해 해석될 통신 데이터를 전달하도록 변조되는 복수의 광들을 가진다. 본 방법은 또한 컴퓨터 게임 시스템에 의해 실행될 컴퓨터 게임의 물체의 이동을 정의하는 단계를 포함하여, 물체의 이동은, 캡쳐된 영상 데이터에서 검출된 대로 입력 장치의 위치 이동들로 매핑될 수 있다. 그 다음에, 본 방법은, 컴퓨터 게임의 물체의 이동과 입력 장치의 위치 이동들 사이의 기어링을 설립한다. 기어링은, 입력 장치의 위치 이동들과 물체의 이동들 사이의 비율을 설립한다. 기어링은 게임 또는 사용자에 의해 동적으로 설정될 수 있거나, 또는 기어링 알고리즘에 따라 구성된 소프트웨어에 의해 또는 사용자에 의해 미리 설정될 수 있다. In one embodiment, a method is provided for interacting with a computer game system. The computer game system includes a video game device for capturing image data. The method includes displaying an input device to a video capture device, the input device being based on the analysis of the captured image data and the state of the plurality of lights by means of positioning of the input device and a computer game system. It has a plurality of lights that are modulated to convey communication data to be interpreted. The method also includes defining a movement of the object of the computer game to be executed by the computer game system, wherein the movement of the object may be mapped to positional movements of the input device as detected in the captured image data. The method then establishes gearing between the movement of the object of the computer game and the positional movements of the input device. Gearing establishes the ratio between the positional movements of the input device and the movements of the object. Gearing may be set dynamically by the game or the user, or may be preset by the user or by software configured according to the gearing algorithm.
또 다른 실시형태에서, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법이 제공된다. 컴퓨터 게임 시스템은 영상 데이터를 캡쳐하기 위한 비디오 캡쳐 장치를 포함한다. 본 방법은, 비디오 캡쳐 장치로의 입력 장치를 디스플레이하는 단계를 포함하여, 입력 장치는, 캡쳐된 영상 데이터의 분석에 근거하여 입력 장치의 위치결정 및 컴퓨터 게임 시스템에 의해 해석될 통신 데이터를 전달한다. 그 다음에, 본 방법은, 컴퓨터 게임 시스템에 의해 실행될 컴퓨터 게임의 물체 이동을 정의하고, 물체 이동은 캡쳐된 영상 데이터에서 검출된 대로 입력 장치의 위치 이동으로 매핑될 수 있다. 그 다음에 본 방법은, 컴퓨터 게임의 물체 이동과 입력 장치의 위치 이동들 사이의 기어링을 설립한다. 기어링은, 입력 장치의 위치 이동들과 물체의 이동들 사이의 사용자 조정가능 비율을 설립한다. In yet another embodiment, a method for interacting with a computer game system is provided. The computer game system includes a video capture device for capturing image data. The method includes displaying an input device to a video capture device, the input device delivering communication data to be interpreted by a computer game system and positioning of the input device based on the analysis of the captured image data. . The method then defines an object movement of the computer game to be executed by the computer game system, which may be mapped to the position movement of the input device as detected in the captured image data. The method then establishes gearing between the object movement of the computer game and the positional movements of the input device. Gearing establishes a user adjustable ratio between the positional movements of the input device and the movements of the object.
또 다른 실시형태에서, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 프로그램 명령들을 포함하는 컴퓨터 판독가능 매체가 제공된다. 컴퓨터 게임 시스템은 영상 데이터를 캡쳐하기 위한 비디오 캡쳐 장치를 포함한다. 컴퓨터 판독가능 매체는 비디오 캡쳐 장치로의 입력 장치의 디스플레이를 검출하기 위한 프로그램 명령들을 포함하고, 입력 장치는, 캡쳐된 영상 데이터의 분석에 근거하여 입력 장치의 위치 결정 및 컴퓨터 게임 시스템에 의해 해석될 통신 데이터를 전달한다. 컴퓨터 판독가능 매체는 또한 컴퓨터 게임 시스템에 의해 실행될 컴퓨터 게임의 물체 이동을 정의하기 위한 프로그램 명령을 포함하고, 물체 이동은 캡쳐된 영상 데이터에서 검출된 대로 입력 장치의 위치 이동들로 매핑된다. 컴퓨터 판독가능 매체는 또한 컴퓨터 게임의 물체 이동과 입력 장치의 위치 이동들 사이의 기어링을 설립하기 위한 프로그램 명령들을 포함하고, 기어링은, 입력 장치의 위치 이동들과 물체의 이동들 사이의 사용자 조정가능 비율을 설립하도록 구성될 수 있다. 사용자 조정가능 비율은, 게임 플레이 동안, 게임 플레이 세션 전에, 또는 게임 동안의 특정 동작 이벤트들 동안 동적으로 변화될 수 있다. In yet another embodiment, a computer readable medium is provided that includes program instructions for interacting with a computer game system. The computer game system includes a video capture device for capturing image data. The computer readable medium includes program instructions for detecting the display of the input device on the video capture device, the input device being interpreted by the computer game system and the positioning of the input device based on the analysis of the captured image data. Pass communication data. The computer readable medium also includes program instructions for defining object movements of the computer game to be executed by the computer game system, where the object movements are mapped to position movements of the input device as detected in the captured image data. The computer readable medium also includes program instructions for establishing gearing between the object movement of the computer game and the position movements of the input device, wherein the gearing is user adjustable between the position movements of the input device and the movements of the object. It can be configured to establish a ratio. The user adjustable rate may change dynamically during game play, before a game play session, or during certain motion events during the game.
또 다른 실시형태에서, 사용자 동작들과 컴퓨터 프로그램의 물체에 의해 수행될 동작들 사이의 동적 사용자 상호작용을 수행하기 위한 시스템이 제공된다. 본 시스템은, 컴퓨팅 시스템, 컴퓨팅 시스템에 연결된 비디오 캡쳐 장치, 컴퓨팅 시스템으로부터 입력을 수신하는 디스플레이를 포함한다. 본 시스템은 또한 컴퓨팅 시스템에 의해 실행될 컴퓨터 프로그램과 인터페이스하기 위한 입력 장치를 포함한다. 입력 장치는, 제어되는 물체의 이동과 매핑되는 입력 장치의 이동 사이의 비율을 설립하기 위한 기어링 제어를 갖는다. 물체는 컴퓨터 프로그램에 의해 정의되고 컴퓨팅 시스템에 의해 실행된다. 입력 장치의 이동은 비디오 캡쳐 장치에 의해 식별되고, 디스플레이 상에 표시되는 물체의 이동은 입력 장치의 기어링 제어에 의해 설정되는 기어링 값을 갖는다. 이러한 실시형태에서, 입력 장치와 관련된 기어링은 일반적인 어플리케이션(application)에 적용될 수 있고, 반드시 게임에 대한 것이어야 할 필요는 없다. In yet another embodiment, a system is provided for performing dynamic user interaction between user actions and actions to be performed by an object of a computer program. The system includes a computing system, a video capture device coupled to the computing system, and a display that receives input from the computing system. The system also includes an input device for interfacing with a computer program to be executed by the computing system. The input device has gearing control to establish a ratio between the movement of the controlled object and the movement of the mapped input device. Objects are defined by computer programs and executed by computing systems. The movement of the input device is identified by the video capture device, and the movement of the object displayed on the display has a gearing value set by the gearing control of the input device. In this embodiment, the gearing associated with the input device can be applied to a general application and need not necessarily be for a game.
또 다른 실시형태에서, 사용자 동작들과 컴퓨터 프로그램의 물체에 의해 수행될 동작들 사이의 동적 사용자 상호작용을 수행하기 위한 장치가 제공된다. 본 장치는 컴퓨팅 시스템에 의해 실행될 컴퓨터 프로그램과 인터페이스하기위한 입력 장치를 포함한다. 입력 장치는 제어되는 물체의 이동과 매핑되는 입력 장치의 이동 사이의 비율을 설립하기 위한 기어링 제어를 갖는다. 컴퓨터 프로그램에 의해 정의되고 컴퓨팅 시스템에 의해 실행되는 물체, 및 입력 장치의 이동은, 비디오 캡쳐 장치에 의해 식별되고, 물체의 이동은, 입력 장치의 기어링 제어에 의해 설정되는 기어링 값을 갖는 디스플레이에 표시된다. In yet another embodiment, an apparatus is provided for performing dynamic user interaction between user actions and actions to be performed by an object of a computer program. The apparatus includes an input device for interfacing with a computer program to be executed by a computing system. The input device has gearing control to establish a ratio between the movement of the controlled object and the movement of the mapped input device. The object defined by the computer program and executed by the computing system, and the movement of the input device, is identified by the video capture device, and the movement of the object is displayed on the display with the gearing value set by the gearing control of the input device. do.
또 다른 실시형태에서, 기어링은 컴퓨터 프로그램의 특징에 적용될 수 있고, 입력 장치로부터의 검출은 관성 분석기의 처리에 근거할 수 있다. 관성 분석기는 관성 동작에 대한 입력 장치를 추적할 것이며, 그 다음에 관성 분석기는 이러한 정보를 프로그램에 전달할 수 있다. 그 다음에, 기어링 분량이 출력에 적용될 수 있도록, 프로그램은 출력을 관성 분석기로부터 얻을 것이다. 그 다음에, 기어링 분량은, 프로그램이 동작을 연산하는 비율을 지시할 것이다. 동작은 임의의 개수의 형태들을 취할 수 있으며, 동작의 일 실시예는 잡음, 다양한 냄새, 물체에 의한 이동, 또는 변수를 생성하는 것일 수 있다. 출력이 변수라면, 변수(예를 들어, 승산기 등)는 프로세스의 실행을 완료하는 데에 이용될 수 있어, 프로세스는 기어링의 분량을 고려할 것이다. 기어링의 분량은, 미리 설정될 수 있거나, 사용자에 의해 동적으로 설정될 수 있거나, 또는 요구에 따라 조정될 수 있다. In yet another embodiment, gearing may be applied to the features of the computer program and the detection from the input device may be based on the processing of the inertial analyzer. The inertial analyzer will track the input device for inertial motion, which can then pass this information to the program. The program will then obtain the output from the inertial analyzer so that the gearing amount can be applied to the output. The amount of gearing will then indicate the rate at which the program calculates the motion. The operation may take any number of forms, and one embodiment of the operation may be to generate noise, various odors, movement by an object, or a variable. If the output is a variable, a variable (eg multiplier, etc.) can be used to complete the execution of the process, so that the process will consider the amount of gearing. The amount of gearing may be preset, dynamically set by the user, or adjusted as required.
일 실시형태에서, 추적은 음향 분석기에 의해 수행될 수 있다. 음향 분석기는 입력 장치로부터 음향 신호들을 수신하도록 구성되고, 음향 분석기는 수행되는 명령 또는 상호작용에 적용될 기어링 분량을 전달할 수 있다. 음향 분석기는 컴퓨터 프로그램 세그먼트(들)의 형태일 수 있으며, 또는 구체적으로 음향 신호 정보를 처리하도록 고안된 회로에서 정의될 수 있다. 그러므로, 음향 신호 정보는, 프로그램에 의해 동적으로 설정될 수 있고, 입력 장치를 통하여(예를 들어, 제어기 상의 버튼을 선택하거나 음성 명령 등을 통하여) 사용자에 의한 요구에 따라 설정될 수 있는 기어링 데이터를 포함할 수 있다. In one embodiment, tracking can be performed by an acoustic analyzer. The acoustic analyzer is configured to receive acoustic signals from the input device, and the acoustic analyzer can deliver the amount of gearing to be applied to the command or interaction being performed. The acoustic analyzer may be in the form of computer program segment (s) or may be specifically defined in circuitry designed to process acoustic signal information. Therefore, the sound signal information can be set dynamically by a program and gearing data that can be set according to a request by a user through an input device (for example, by selecting a button on a controller or by a voice command or the like). It may include.
또 다른 실시형태에서, 믹서 분석기가 제공된다. 믹서 분석기는 게임의 특징으로의 혼성 효과를 생성하도록 고안 된다. 예를 들어, 믹서 분석기는 영상 분석기, 음향 분석기, 관성 분석기 등의 조합으로부터 입력을 얻을 수 있다. 그러므로, 믹서 분석기는, 일 실시형태에서, 혼성 결과, 명령 또는 프로그램의 특징과의 상호작용을 생성하도록 혼합되고 합성될 수 있는 수개의 기어링 변수들을 수신할 수 있다. 또한 프로그램의 특징은, 가시적 물체, 비가시적 물체, 동작의 처리에 사용되는 변수들, 가청 반응들에 대한 조정들 등을 포함하는 것으로 이해되어야 한다. In yet another embodiment, a mixer analyzer is provided. The mixer analyzer is designed to create hybrid effects as a feature of the game. For example, a mixer analyzer can obtain input from a combination of an image analyzer, an acoustic analyzer, an inertial analyzer, and the like. Therefore, the mixer analyzer may, in one embodiment, receive several gearing variables that may be mixed and synthesized to create interactions with hybrid results, instructions, or features of the program. It is also to be understood that the features of the program include visible objects, invisible objects, variables used in the processing of motion, adjustments to audible responses, and the like.
본 발명의 장점들은, 예를 들어 본 발명의 원리들을 도시하는 첨부된 도면들과 함께, 이하의 실시예들로부터 명확해질 것이다. Advantages of the present invention will become apparent from the following embodiments, for example in conjunction with the accompanying drawings which illustrate the principles of the invention.
본 발명은, 첨부된 도면들과 함께 이하의 실시예에 의해 쉽게 이해될 것이며, 동일한 참조번호들은 동일한 구성요소들을 지칭한다. BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be readily understood by the following embodiments in conjunction with the accompanying drawings, wherein like reference numerals refer to like elements.
도 1은 영상 캡쳐 장치를 갖는 상호작용 게임 셋업(interactive game setup)을 도시한다. 1 illustrates an interactive game setup with an image capture device.
도 2는 비디오 처리 시스템을 이용하는 예시적인 컴퓨터 상호작용을 도시한다. 2 illustrates an example computer interaction using a video processing system.
도 3은 그래픽 디스플레이 상의 물체와 상호작용하기 위한 예시적 사용자 입력 시스템의 블록도이다. 3 is a block diagram of an example user input system for interacting with an object on a graphical display.
도 4는 본 명세서에서 설명되는 본 발명의 실시형태들을 실시하도록 구성된 컴퓨터 처리 시스템의 개략 블록도이다. 4 is a schematic block diagram of a computer processing system configured to implement embodiments of the present invention described herein.
도 5는, 선택적인 입력 장치로서 기능하며 조작되는 물체와 함께 사용하기에 적합한 비디오 게임 콘솔의 구성요소들의 구성의 블록도이다. 5 is a block diagram of the configuration of components of a video game console suitable for use with an object being manipulated and functioning as an optional input device.
도 6은, 사용자에 의해 조작되는 것처럼, 사용자 입력 장치에 대응하는 픽셀(pixel) 그룹을 추적하고 식별하는 데에 이용되는 기능 블록들을 도시하는 블록도이다. FIG. 6 is a block diagram illustrating functional blocks used to track and identify a group of pixels corresponding to a user input device, as manipulated by a user.
도 7은, 예시적 영상 처리 시스템에 대한 개략 블록도를 도시한다. 7 shows a schematic block diagram for an example image processing system.
도 8은 도 7의 영상 처리 시스템에 대한 예시적 응용예를 도시한다. 8 illustrates an example application of the image processing system of FIG. 7.
도 9 및 도 10은, 영상 캡쳐 장치와 상호작용하는 예시적 제어기의 평면도 및 배면도이다. 9 and 10 are top and back views of example controllers interacting with an image capture device.
도 11은, 도 9 및 도 10의 제어기에 대한 예시적 응용예를 도시한다. 11 illustrates an example application for the controller of FIGS. 9 and 10.
도 12는, 도 11에 도시된 응용예에 대한 예시적 소프트웨어 제어 기어링 분량을 도시한다. FIG. 12 shows an exemplary software controlled gearing quantity for the application shown in FIG. 11.
도 13은 스티어링 휠(steering wheel)을 갖는 예시적 제어기를 도시한다. 13 shows an example controller with a steering wheel.
도 14는 도 13의 제어기에 대한 예시적 응용예를 도시한다. FIG. 14 illustrates an example application for the controller of FIG. 13.
도 15는 시간에 대한 기어링 분량의 예시적 변화들을 도시하는 예시적 그래프를 도시한다. FIG. 15 shows an example graph showing example changes in the amount of gearing over time.
도 16은 사용자 상호작용에 대응하는 영상 처리 시스템의 또 다른 예시적 응용예를 도시한다. 16 illustrates another example application of an image processing system corresponding to user interaction.
도 17은 도 16에 도시된 응용예에 대한 야구 배트(bat) 스윙(swing)의 길이를 따르는 다른 시간들에서의 예시적 기어링 분량을 도시하는 그래프를 도시한다. FIG. 17 shows a graph showing an example gearing quantity at different times along the length of a baseball bat swing for the application shown in FIG. 16.
도 18은 사용자 상호작용에 대응하는 영상 처리 시스템의 또 다른 예시적 응용예를 도시한다. 18 illustrates another example application of an image processing system corresponding to user interaction.
도 19는 도 18에 도시된 응용예에 대하여 풋볼(football)을 "릴리스(release)"할 때의 기어링 분량의 예시적 변화를 보여주는 그래프를 도시한다. FIG. 19 shows a graph showing an exemplary change in the amount of gearing when “release” a football for the application shown in FIG. 18.
도 20은 컴퓨터 프로그램으로의 사용자 입력을 수신하기 위한 예시적 과정을 설명하는 순서도를 도시한다. 20 depicts a flowchart illustrating an example process for receiving user input to a computer program.
이하의 실시예에서, 많은 구체적 세부사항들이 본 발명의 완전한 이해를 위해 제시될 것이다. 그러나, 당업자라면, 본 발명이 이러한 구체적 세부사항들의 일부 또는 전부 없이도 실시될 수 있다는 것을 잘 알 것이다. 공지된 과정들은, 본 발명을 불명확하게 하지 않도록 상세하게 설명되지 않을 것이다. In the following examples, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without some or all of these specific details. Known procedures will not be described in detail so as not to obscure the present invention.
본 명세서에서 설명된 기술은 컴퓨터 프로그램과의 상호작용을 위해 동적으로 기어링된 입력들을 제공하는 데에 이용될 수 있다. 일반적으로, 기어링은 크기 및/또는 시간에서 다양한 정도들을 가질 수 있는 입력으로 정의될 수 있다. 그 다음에, 기어링의 정도는 컴퓨팅 시스템으로 전달될 수 있다. 기어링의 정도는 컴퓨팅 시스템에 의해 실행되는 프로세스에 적용될 수 있다. 유추하여, 프로세서는 입력 및 출력을 갖는 물통(bucket)의 유체(fluid)로서 표현될 수 있다. 상기 유체는 시스템에서 실행되는 프로세스이고, 따라서 기어링은 컴퓨팅 시스템에 의해 수행되는 일 양상(an aspect)의 처리를 제어한다. 일 예로서, 기어링은, 물통으로 들어가는 유체의 방울들로서 고려되는 입력 분량에 대하여 유체가 유체 물통으로부터 비워지는 속도를 제어할 수 있다. 그러므로, 충진 속도는 동적이고, 배출 속도도 동적이며, 배출 속도는 기어링에 의해 영향을 받을 수 있다. 그러므로, 기어링은, 게임 프로그램과 같은 프로그램으로 스트리밍될 수 있는 변화 값을 맞추도록 조정되거나 시간설정이 될 수 있다. 기어링은 또한, 프로세서에 의해 동작 또는 게임 요소, 물체, 플레이어, 캐릭터 등을 제어하는 이동 데이터 카운터와 같은 카운터에 영향을 줄 수 있다. The techniques described herein can be used to provide dynamically geared inputs for interaction with a computer program. In general, gearing may be defined as an input that may have varying degrees in size and / or time. Then, the degree of gearing can be transferred to the computing system. The degree of gearing can be applied to the processes executed by the computing system. In analogy, a processor may be represented as a fluid in a bucket having inputs and outputs. The fluid is a process running in the system, so gearing controls the processing of an aspect performed by the computing system. As one example, gearing may control the rate at which the fluid is emptied from the fluid reservoir with respect to the input amount considered as droplets of fluid entering the bucket. Therefore, the filling speed is dynamic, the discharging speed is dynamic, and the discharging speed can be influenced by gearing. Therefore, the gearing can be adjusted or timed to match the change value that can be streamed into a program such as a game program. Gearing can also affect counters, such as movement data counters, which control motion or game elements, objects, players, characters, etc. by the processor.
이러한 유추를 더욱 실체적인 컴퓨팅 예에 행한다면, 유체가 비워지는 속도는, 제어가, 일부 입력과 기어링의 합에 대응하여, 컴퓨터 프로그램의 특징에 의해 통과되거나 실행되는 속도일 수 있다. 컴퓨터 프로그램의 특징은 물체, 프로세스, 변수, 또는 예정/맞춤 알고리즘, 캐릭터, 게임 플레이어, 마우스(2D 또는 3D) 등일 수 있다. 기어링에 의해 변경될 수 있는 처리의 결과는, 임의의 개수의 방식들로 관측자에게 전달될 수 있다. 일 방식으로서, 디스플레이 스크린에서 시각적인 것, 음향에 의해 청취가능한 것, 촉감에 의해 진동, 이들의 조합들 등이 있을 수 있으며, 게임 또는 프로그램의 상호작용 요소에 대한 처리의 변경된 반응에 의해 일어날 수 있다. If such an analogy is made in a more realistic computing example, the speed at which the fluid is emptied can be the speed at which control is passed or executed by the characteristics of the computer program, corresponding to the sum of some input and gearing. Features of the computer program may be objects, processes, variables, or scheduled / custom algorithms, characters, game players, mice (2D or 3D), and the like. The results of the processing, which can be changed by gearing, can be conveyed to the viewer in any number of ways. In one way, there may be visual on the display screen, audible by sound, vibration by touch, combinations thereof, etc., and may occur by altered response of processing to interactive elements of a game or program. have.
입력은 다음을 통하여 수행되는 추적에 의해 획득될 수 있다: (1) 영상 분석, (2) 관성 분석, (3) 음향 분석, 또는 (1), (2) 또는 (3)의 혼성 혼합 분석. 다양한 실시예들이 영상 분석들 및 적용된 기어링과 관련하여 제공되지만, 추적은 비디오에 한정되지 않으며, 다양한 방식들, 구체적으로, 관성 분석, 음향 분석, 이들의 혼합들 및 다른 적합한 분석기들에 의해 성취될 수 있다는 것이 이해되어야 한다. Input can be obtained by tracking performed through: (1) image analysis, (2) inertial analysis, (3) acoustic analysis, or hybrid mixed analysis of (1), (2) or (3). While various embodiments are provided in connection with image analysis and applied gearing, tracking is not limited to video, and may be accomplished by various methods, specifically, inertial analysis, acoustic analysis, mixtures thereof, and other suitable analyzers. It should be understood that it can.
다양한 실시형태들에서, 비디오 카메라(예를 들어, 영상 분석)를 갖는 컴퓨터 또는 게임 시스템은, 영상 데이터를 처리할 수 있으며, 비디오 카메라의 전방에 있는 초점 영역 또는 주어진 체적에서 일어나는 다양한 동작들을 식별할 수 있다. 이러한 동작들은, 전형적으로 3차원 공간의 물체를 이동시키는 것 또는 회전시키는 것, 또는 버튼들, 다이얼들(dials), 조이스틱들(joy sticks) 등과 같은 다양한 제어들을 작동시키는 것을 포함한다. 이러한 기술들에 추가하여, 본 발명의 기술은 또한 디스플레이 스크린(display screen) 상의 하나 이상의 대응 동작들 또는 프로그램의 특징과 관련하여 입력의 감도를 조정하기 위해, 본 명세서에서 기어링으로 칭해지는 스케일링(scaling) 요소를 조정하는 추가적인 기능을 제공한다. 예를 들 어, 디스플레이 스크린 상의 동작들은 비디오 게임의 초점인 물체일 수 있다. 물체는, 또한 변수, 승산기, 또는 음향, 진동, 디스플레이 스크린 상의 영상들 또는 이들의 조합 및 기어링된 출력의 다른 표현들로 렌더링(rendering)될 연산과 같은 프로그램의 특징일 수 있다. In various embodiments, a computer or game system having a video camera (eg, image analysis) can process image data and identify various operations occurring in a given volume or area of focus in front of the video camera. Can be. Such operations typically include moving or rotating an object in three dimensional space, or operating various controls such as buttons, dials, joy sticks, and the like. In addition to these techniques, the technique of the present invention also scales, referred to herein as gearing, to adjust the sensitivity of the input in relation to a feature of a program or one or more corresponding operations on a display screen. ) Provides additional functionality for adjusting elements. For example, the actions on the display screen may be an object that is the focal point of the video game. An object may also be a feature of a program, such as a variable, multiplier, or operation to be rendered into sound, vibration, images on a display screen or combinations thereof, and other representations of geared output.
또 다른 실시형태에서, 기어링은 컴퓨터 프로그램의 특징에 적용될 수 있고, 입력 장치의 검출은 관성 분석기에 의한 처리에 근거할 수 있다. 관성 분석기는 관성 동작에 대하여 입력 장치를 추적할 것이며, 그 다음에 프로그램으로 이에 대한 정보를 전달할 수 있다. 그 다음에, 프로그램은, 기어링 분량이 출력에 적용될 수 있도록 관성 분석기로부터 출력을 얻을 것이다. 그 다음에, 기어링 분량은 프로그램이 동작을 연산할 비율을 지시할 것이다. 동작은 임의의 개수의 형태들을 취할 수 있으며, 동작의 일 실시예는 잡음, 다양한 냄새, 진동, 물체에 의한 이동, 또는 가시적 및/또는 청취가능한 결과를 출력하는 프로그램에 의한 연산을 생성하는 것일 수 있다. 출력이 변수라면, 변수는 프로세스의 실행을 완료하는 데에 이용될 수 있고, 프로세스는 기어링의 분량을 고려할 것이다. 기어링의 분량은 미리 설정될 수있거나, 사용자에 의해 동적으로 설정될 수 있거나, 또는 요구에 따라 조정될 수 있다. In another embodiment, gearing may be applied to the features of the computer program and the detection of the input device may be based on processing by an inertial analyzer. The inertial analyzer will track the input device for inertial motion, which can then pass information to the program. The program will then get the output from the inertial analyzer so that the amount of gearing can be applied to the output. The amount of gearing will then dictate the rate at which the program will compute the motion. The operation may take any number of forms, and one embodiment of the operation may be to generate noise, various odors, vibrations, movement by an object, or operation by a program that outputs visible and / or audible results. have. If the output is a variable, the variable can be used to complete the execution of the process, and the process will take into account the amount of gearing. The amount of gearing may be preset, dynamically set by the user, or adjusted as desired.
다양한 유형들의 관성 센서 장치들은 6개의 자유도들(예를 들어, X, Y 및 Z 병진이동(예를 들어, 가속도) 및 X, Y 및 Z 축들을 중심으로 한 회전)에 대한 정보를 제공하는 데에 이용될 수 있다. 6개의 자유도들에 대한 정보를 제공하기 위한 적합한 관성 센서들의 실시예들은, 가속도계들, 하나 이상의 단일 축 가속도계들, 기계적 자이로스코프들(mechanical gyroscopes), 링 레이저 자이로스코프들(ring layser gyroscopes) 또는 이들 중 2개 이상의 조합들을 포함한다. Various types of inertial sensor devices provide information about six degrees of freedom (e.g., X, Y, and Z translation (e.g., acceleration) and rotation about the X, Y, and Z axes). It can be used to. Embodiments of suitable inertial sensors to provide information about six degrees of freedom include accelerometers, one or more single axis accelerometers, mechanical gyroscopes, ring laser gyroscopes or these Combinations of two or more of them.
센서(들)로부터의 신호들은 본 발명의 방법에 따라 비디오 게임의 플레이 동안 제어기의 움직임 및/또는 방향을 결정하도록 분석될 수 있다. 이러한 방법은, 프로세서 판독가능 매체 내에 저장되고 디지털 프로세서에서 실행되는 일련의 프로세서 실행가능 프로그램 코드 명령들로서 실시될 수 있다. 예를 들어, 비디오 게임 시스템은 하나 이상의 프로세서들을 포함할 수 있다. 각각의 프로세서는, 임의의 적합한 디지털 프로세서, 예를 들어, 비디오 게임 콘솔들에서 통상적으로 사용되는 유형의 마이크로 프로세서 또는 맞춤고안된 멀티-프로세서 코어들일 수 있다. 일 실시형태에서, 프로세서는, 프로세서 판독가능 명령들의 실행을 통하여 관성 분석기를 실시할 수 있다. 명령들의 일부분은 메모리 내에 저장될 수 있다. 선택적으로, 관성 분석기는, 하드웨어, 예를 들어, ASIC(application specific integrated circuit) 또는 DSP(digital signal processor)에서 실시될 수 있다. 이러한 분석기 하드웨어는 제어기 또는 콘솔에 위치될 수 있으며, 또는 원거리의 그 밖의 위치에 위치될 수 있다. 하드웨어 실시형태들에 있어서, 분석기는, 예를 들어, 프로세서로부터의 신호들, 또는 USB 케이블, 이더넷(Ethernet), 네트워크, 인터넷, 단거리 무선 연결, 광대역 무선, 블루투스, 또는 로컬 네트워크를 통하여 연결된 원거리에 위치된 다른 소스(source)로부터의 외부 신호들에 반응하여 프로그래밍될 수 있다. The signals from the sensor (s) can be analyzed to determine the motion and / or direction of the controller during play of the video game in accordance with the method of the present invention. This method may be embodied as a series of processor executable program code instructions stored in a processor readable medium and executed on a digital processor. For example, a video game system can include one or more processors. Each processor may be any suitable digital processor, for example a microprocessor of the type commonly used in video game consoles or custom multi-processor cores. In one embodiment, the processor may implement the inertial analyzer through execution of processor readable instructions. Portions of the instructions may be stored in memory. Optionally, the inertial analyzer can be implemented in hardware, for example, an application specific integrated circuit (ASIC) or a digital signal processor (DSP). Such analyzer hardware may be located in a controller or console, or may be located elsewhere in the distance. In hardware embodiments, the analyzer may, for example, be connected to signals from a processor or to a remote connection via a USB cable, Ethernet, network, Internet, short range wireless connection, broadband wireless, Bluetooth, or local network. It can be programmed in response to external signals from another source located.
관성 분석기는, 관성 센서들에 의해 생성되는 신호들을 분석하고 제어기의 위치 및/또는 방향에 관한 정보를 이용하는 명령들을 포함하거나 실시할 수 있다. 관성 센서 신호들은 제어기의 위치 및/또는 방향에 관한 정보를 결정하도록 분석될 수 있다. 위치 및/또는 방향 정보는 시스템과 함께 비디오 게임의 플레이 동안 이용될 수 있다. The inertial analyzer may include or execute instructions that analyze the signals generated by the inertial sensors and use information regarding the position and / or orientation of the controller. Inertial sensor signals can be analyzed to determine information regarding the position and / or orientation of the controller. Location and / or orientation information may be used during the play of a video game with the system.
일 실시형태에서, 게임 제어기는, 관성 신호를 통해 프로세서로 위치 및/또는 방향 정보를 제공할 수 있는, 하나 이상의 관성 센서들을 포함할 수 있다. 방향 정보는, 제어기의 틸트(tilt), 롤(roll) 또는 요(yaw)와 같은 각도 정보를 포함할 수 있다. 이상에서 언급된 것처럼, 예를 들어, 관성 센서들은 임의의 개수 및/또는 조합의 가속도계들, 자이로스코프들 또는 틸트 센서들을 포함할 수 있다. 일 실시형태에서, 관성 센서들은 틸트 및 롤 축들과 관련하여 조이스틱 제어기의 방향을 감지하기에 적합한 틸트 센서들, 요 축을 따르는 가속도를 감지하기에 적합한 제 1 가속도계, 및 요 축과 관련하여 각 가속도를 감지하기에 적합한 제 2 가속도계를 포함한다. 가속도계는, 예를 들어, 하나 이상의 방향들과 관련된 질량의 변위를 감지하기 위한 센서들과 함께 하나 이상의 스프링들에 의해 실장된 질량을 포함하는 MEMS 장치로서 실시될 수 있다. 질량의 변위에 의존하는 센서들로부터의 신호들은 조이스틱 제어기의 가속도를 결정하는 데에 사용될 수 있다. 이러한 기술들은, 메모리 내에 저장될 수 있고 프로세서에 의해 실행될 수 있는, 게임 프로그램 또는 일반적인 프로그램으로부터의 명령들에 의해 실시될 수 있다. In one embodiment, the game controller may include one or more inertial sensors, which may provide position and / or direction information to the processor via an inertial signal. The direction information may include angle information such as tilt, roll or yaw of the controller. As mentioned above, for example, inertial sensors may include any number and / or combination of accelerometers, gyroscopes, or tilt sensors. In one embodiment, the inertial sensors are tilt sensors suitable for sensing the direction of the joystick controller with respect to the tilt and roll axes, a first accelerometer suitable for sensing acceleration along the yaw axis, and angular acceleration with respect to the yaw axis. A second accelerometer suitable for sensing. The accelerometer may be implemented as a MEMS device, for example comprising a mass mounted by one or more springs with sensors for sensing a displacement of the mass in relation to one or more directions. Signals from sensors that depend on the displacement of the mass can be used to determine the acceleration of the joystick controller. Such techniques may be implemented by instructions from a game program or a general program, which may be stored in memory and executed by a processor.
예를 들어, 관성 센서로서 적합한 가속도계는, 예를 들어, 스프링들에 의해 프레임(frame)에 3개 또는 4개의 점들에서 탄성적으로 결합된 단순 질량일 수 있다. 피치(pitch) 및 롤 축들은, 조이스틱 제어기에 실장되는 프레임과 교차하는 평 면 내에 놓여 있다. 프레임( 및 조이스틱 제어기)이 피치 및 롤 축들을 중심으로 회전함에 따라, 질량은 중력의 영향 하에서 이동할 것이며, 스프링들은 피치 및/또는 롤의 각도에 의존하는 방식으로 연장되거나 압축될 것이다. 질량의 변위는, 피치 및/또는 롤의 분량에 의존하는 신호로 감지되고 변환될 수 있다. 요 축을 중심으로 한 각 가속도 또는 요 축을 따르는 선형 가속도는, 각 또는 선형 가속도의 분량에 의존하는 신호들로 감지되고 변환될 수 있는 스프링들의 압축 및/또는 연장, 또는 질량의 움직임의 특성 패턴들을 생성할 수 있다. 이러한 가속도계 장치는, 질량의 이동 또는 스프링들의 압축 및 팽창 힘들을 추적함으로써 요 축을 중심으로 한 틸트, 롤 각 가속도 및 요 축을 따르는 선형 가속도를 측정할 수 있다. 내변형성 계량 물질, 광 센서들, 자기 센서들, 홀-효과 장치들, 압전 장치들, 정전용량 센서들 등을 포함하여, 질량의 위치 및/또는 질량에 미치는 힘들을 추적하는 다수의 다른 방식들이 있다. For example, an accelerometer suitable as an inertial sensor can be, for example, a simple mass elastically coupled at three or four points in the frame by springs. The pitch and roll axes lie in a plane that intersects the frame mounted to the joystick controller. As the frame (and joystick controller) rotates about the pitch and roll axes, the mass will move under the influence of gravity and the springs will extend or compress in a manner that depends on the angle of the pitch and / or roll. The displacement of the mass can be sensed and converted into a signal that depends on the pitch and / or amount of roll. Angular acceleration about the yaw axis or linear acceleration along the yaw axis produces characteristic patterns of compression and / or extension of springs or mass movement that can be detected and converted into signals depending on the amount of angular or linear acceleration. can do. Such accelerometer devices can measure tilt around the yaw axis, roll angular acceleration and linear acceleration along the yaw axis by tracking the movement of mass or compression and expansion forces of the springs. Numerous other ways of tracking the force on the location and / or mass of the mass, including strain-resistant metering materials, light sensors, magnetic sensors, hall-effect devices, piezoelectric devices, capacitive sensors, and the like have.
게다가, 광원들은, 예를 들어, 펄스 코드(pulse code), 진폭 변조 또는 주파수 변조 포맷(frequency modulation format)으로 원격 측정 신호들을 프로세서에 제공할 수 있다. 이러한 원격 측정 신호들은 어떤 버튼들이 눌려지고 있는지 및/또는 이러한 버튼들이 얼마나 세게 눌려지고 있는지를 가리킬 수 있다. 원격 측정 신호들은, 예를 들어, 펄스 코딩(pulse coding), 펄스 폭 변조(pulse width modulation), 주파수 변조 또는 광 세기(진폭) 변조에 의해 광학 신호로 엔코딩(encoding)될 수 있다. 프로세서는 광학 신호로부터 원격 측정 신호를 디코딩(decoding)할 수 있고, 디코딩된 원격 측정 신호에 대응하여 게임 명령을 실행할 수 있다. 원격 측정 신호들은, 영상 캡쳐 유닛에 의해 획득된 조이스틱 제어기의 영상들의 분석으로부터 디코딩될 수 있다. 선택적으로, 장치는, 광원들로부터의 원격 측정 신호 수신 전용인 분리된 광 센서를 포함할 수 있다. In addition, the light sources can provide telemetry signals to the processor, for example, in a pulse code, amplitude modulation or frequency modulation format. These telemetry signals can indicate which buttons are being pressed and / or how hard these buttons are being pressed. Telemetry signals may be encoded into an optical signal by, for example, pulse coding, pulse width modulation, frequency modulation, or light intensity (amplitude) modulation. The processor may decode the telemetry signal from the optical signal and execute game instructions in response to the decoded telemetry signal. The telemetry signals can be decoded from the analysis of the images of the joystick controller obtained by the image capture unit. Optionally, the apparatus may include a separate light sensor dedicated to receiving telemetry signals from light sources.
프로세서는, 영상 캡쳐 유닛에 의해 검출된 광원들로부터의 광학 신호들 및/또는 마이크로폰 배열에 의해 검출된 음향 신호들로부터의 음원 위치 및 특성 정보와 함께 관성 센서로부터의 관성 신호들을 사용하여, 제어기 및/또는 사용자의 위치 및/또는 방향에 대한 정보를 유추한다. 예를 들어, "음향 레이더" 음원 위치 및 특성은, 조이스틱 제어기의 움직임이 (관성 센서들 및/또는 광원들을 통하여) 독립적으로 추적되는 동안 이동 음성(moving voice)을 추적하기 위해 마이크로폰 배열과 함께 사용될 수 있다. 음향 레이더에서, 미리 정해진 청취 영역이 실행 시간에 선택되고, 미리 정해진 청취 영역의 외부 소스들로부터 발생하는 음향들은 여과되어 제거된다. 미리 정해진 청취 영역들은 영상 캡쳐 유닛의 초점 체적 또는 필드에 대응하는 청취 영역을 포함할 수 있다. The processor uses the inertial signals from the inertial sensor together with the sound source position and characteristic information from the optical signals from the light sources detected by the image capturing unit and / or the acoustic signals detected by the microphone array. And / or infer information about the user's location and / or orientation. For example, the "sound radar" sound source position and characteristics may be used with the microphone array to track the moving voice while the movement of the joystick controller is tracked independently (via inertial sensors and / or light sources). Can be. In the acoustic radar, a predetermined listening area is selected at run time, and sounds generated from external sources of the predetermined listening area are filtered out. The predetermined listening areas may include a listening area corresponding to a focal volume or field of the image capturing unit.
일 실시형태에서, 추적은 음향 분석기에 의해 수행될 수 있다. 음향 분석기는 입력 장치로부터 음향 신호들을 수신하도록 구성되고, 음향 분석기는 수행되는 명령 또는 상호작용에 적용될 기어링 분량을 전달할 수 있다. 음향 분석기는 컴퓨터 프로그램 세그먼트(들)의 형태일 수 있거나 또는 구체적으로 음향 신호 정보를 처리하도록 고안된 회로에서 정의될 수 있다. 그러므로, 음향 신호 정보는, 프로그램에 의해 동적으로 설정되고, 입력 장치를 통하여(예를 들어, 제어기 상의 버튼을 선택하거나 음성 명령 등을 통하여) 사용자에 의한 요구에 따라 설정될 수 있는 기 어링 데이터를 포함할 수 있다. 음향 분석기의 일 실시예가 2006년 5월4일에 출원된 미국특허출원 "컴퓨터 상호작용 처리를 갖는 선택적 음원 청취"(샤오동 마오(Xiadong Mao), 리차드 엘. 막스(Richard L. Marks) 및 게리 엠. 제일러스키(Gary M. Zalewski); 대리인 참조번호 SCEA04005JUMBOUS)에 기술되어 있다. In one embodiment, tracking can be performed by an acoustic analyzer. The acoustic analyzer is configured to receive acoustic signals from the input device, and the acoustic analyzer can deliver the amount of gearing to be applied to the command or interaction being performed. The acoustic analyzer may be in the form of computer program segment (s) or may be specifically defined in circuitry designed to process acoustic signal information. Therefore, the acoustic signal information is dynamically set by the program and receives gearing data that can be set according to a request by a user through an input device (for example, by selecting a button on a controller or by a voice command or the like). It may include. One embodiment of an acoustic analyzer is described in US patent application “Selective sound source with computer interaction processing” filed May 4, 2006 (Xiadong Mao, Richard L. Marks and Gary). Gary M. Zalewski; agent reference SCEA04005JUMBOUS.
분석기들은 매핑 체인(mapping chain)과 함께 구성될 수 있다. 매핑 체인들은, 분석기 및 믹서로 세팅(setting)될 수 있는 것처럼 게임-플레이 동안 게임에 의해 교환될 수 있다. Analyzers can be configured with a mapping chain. The mapping chains can be exchanged by the game during game-play as can be set with the analyzer and the mixer.
일 실시형태에서, 입력 장치의 추적은 영상 분석기에 의해 수행될 수 있다. 영상 분석기는, 이하에서 논의되는 것처럼, 사용자 및 입력 장치가 위치되는 공간의 영상들을 캡쳐하는 카메라를 포함할 수 있다. 일 실시예에서, 영상 분석기는 처리 프로그램의 특징으로의 각각의 동작을 일으키는 제어기의 위치를 결정하고 있다. 프로그램은 게임일 수 있고, 특징은 입력 장치에 의해 제어되는 물체일 수 있다. 영상 분석기는 또한 위치 데이터를 입력 기어링 값과 혼합하도록 구성된다. 기어링 값은 실행 동안 동적으로 사용자에 의해 제공될 수 있으며, 또는 실행 세션 내의 동작에 의존하는 프로그램에 의해 설정될 수 있다. 기어링 입력은, 사용자에 의한 입력 동작에 근거하여 컴퓨터 프로그램에 의해 일부 처리에 대한 상대적인 영향을 설정할 것이다. 일 실시형태에서, 기어링은, 사용자 또는 사용자 입력 장치로부터의 명령 또는 동작을 프로그램의 특징으로 번역할 것이다. 프로그램의 특징은 가시적인 물체일 필요는 없지만, 일부 파라미터를 계산하는 데에 사용되는 변수의 조정, 음향, 진동 또는 영상 이동의 평가 또는 번역을 포함할 수 있다. 그러므로, 기어링은, 프로그램 및 프로그램의 특징들로 제공되는 상호작용에 대한 제어의 추가적 감지를 제공할 것이다. In one embodiment, tracking of the input device may be performed by an image analyzer. The image analyzer may include a camera that captures images of the space in which the user and the input device are located, as discussed below. In one embodiment, the image analyzer is determining the location of the controller that causes each action as a feature of the processing program. The program may be a game and the feature may be an object controlled by the input device. The image analyzer is also configured to mix the position data with the input gearing values. The gearing value may be provided by the user dynamically during execution, or may be set by a program that depends on the actions in the execution session. The gearing input will set the relative impact on some processing by the computer program based on the input action by the user. In one embodiment, gearing will translate the commands or actions from the user or user input device into features of the program. Features of the program need not be visible objects, but may include adjustment of variables used to calculate some parameters, evaluation or translation of acoustic, vibration, or image movement. Therefore, gearing will provide additional sensing of control over the interaction provided by the program and its features.
또 다른 실시형태에서, 믹서 분석기가 제공된다. 믹서 분석기는 게임의 특징으로의 혼성 효과를 생성하도록 고안 된다. 예를 들어, 믹서 분석기는, 영상 분석기, 음향 분석기, 관성 분석기 등의 조합으로부터의 입력을 얻을 수 있다. 그러므로, 믹서 분석기는, 혼성 결과, 명령 또는 프로그램의 특징과의 상호작용을 생성하도록 혼합되고 합성될 수 있는 수개의 기어링 변수들을 수신할 수 있다. 또한, 프로그램의 특징은, 가시적 물체 및 비가시적 물체, 동작의 처리에 사용되는 변수들, 가청 반응들에 대한 조정들 등을 포함하는 것으로 이해되어야 한다. In yet another embodiment, a mixer analyzer is provided. The mixer analyzer is designed to create hybrid effects as a feature of the game. For example, the mixer analyzer can obtain input from a combination of an image analyzer, an acoustic analyzer, an inertial analyzer, and the like. Therefore, the mixer analyzer can receive several gearing variables that can be mixed and synthesized to produce an interaction with the hybrid result, instruction or program feature. In addition, the features of the program should be understood to include visible and invisible objects, variables used in the processing of motion, adjustments to audible responses, and the like.
도 1은, 본 발명의 일 실시형태에 따른, 상호작용 게임 셋업(100)을 도시한다. 상호작용 게임 셋업(100)은 디스플레이 스크린(110)에 연결되는, "콘솔"로 칭해지는 컴퓨터(102)를 포함한다. 영상 캡쳐 장치(105)는 디스플레이 스크린(110)의 위에 위치될 수 있고, 컴퓨터(102)에 연결된다. 일 실시형태에서, 컴퓨터(102)는, 사용자들이 비디오 게임들을 플레이하고 제어기들(108)을 통하여 비디오 게임들과 인터페이스하는 것을 가능하게 하는 게임 시스템 콘솔이다. 컴퓨터(102)는 또한 상호작용 온라인 게임을 가능하게 하기 위해 인터넷에 연결될 수 있다. 영상 캡쳐 장치(105)는 디스플레이 스크린(110)의 위에 위치된 것으로 도시되지만, 영상 캡쳐 장치(105)는, 디스플레이 스크린(110)의 대략 전방에 위치되는 영상들을 캡쳐하는 것을 가능하게 하는 임의의 다른 근사적인 위치에 위치될 수 있다. 이러한 이동들 및 상호작용들을 캡쳐하기 위한 기술들은 다양하며, 예시적 기술들이, 2003년 2월 21일에 출원된 영국특허출원 GB 0304024.3(PCT/GB2004/000693) 및 GB 0304022.7(PCT/GB2004/000703)에 기술되어 있다. 1 illustrates an
일 실시형태에서, 영상 캡쳐 장치(105)는 표준 웹-캠(web-cam)과 같이 단순할 수 있고 또는 더욱 진보된 기술을 포함할 수 있다. 영상 캡쳐 장치(105)는 영상들을 캡쳐하고, 영상들을 디지털화하고, 영상 데이터를 컴퓨터(102)에 전달할 수 있다. 일부 실시형태들에 있어서, 영상 캡쳐 장치는, 디지털화, 및 영상 캡쳐 장치(105)가 디지털화를 위하여 컴퓨터(102)에 아날로그 비디오 신호를 전달할 또 다른 실시형태를 수행하기 위해 집적된 논리를 가질 것이다. 어느 경우든, 영상 캡쳐 장치(105)는, 영상 캡쳐 장치(105)의 전방에 위치된 물체의 컬러 또는 흑백 영상들을 캡쳐할 수 있다. In one embodiment, the
도 2는, 영상 캡쳐 및 처리 시스템을 이용하는 예시적 컴퓨터 상호작용을 도시한다. 컴퓨터(102)는 영상들을 시야(202)로부터 생성하는 영상 캡쳐 장치(105)로부터의 영상 데이터를 수신한다. 시야(202)는 장난감 비행기의 형상의 물체(215)를 조작하는 사용자(210)를 포함한다. 물체(215)는 영상 캡쳐 장치(105)에 의해 볼 수 있는 복수의 LED들(212)을 포함한다. LED들(212)은 물체(215)의 위치 및 방향 정보를 제공한다. 게다가, 물체(215)는 컴퓨터 입력을 생성하기 위한 버튼, 방아쇠, 다이얼 등과 같은 하나 이상의 작동 요소들을 포함할 수 있다. 또한 음성 명령들이 사용될 수 있다. 일 실시형태에서, 물체(215)는, 영상 캡쳐 장치(105)를 통하여 데이터를 컴퓨터(102)로 전달하기 위한 LED들(212)을 변조하기 위해 논리를 포함하는 회로(220)를 포함한다. 데이터는 작동 수단의 조작들에 반응하여 생성되는 엔코딩 된 명령들을 포함할 수 있다. 물체(215)가 영상 캡쳐 장치(105)에 의해 보여질 수 있는 3차원 공간에서 이동되고 회전됨에 따라, 영상 데이터에서 표현되는 LED 위치들은, 도 3 내지 도 6을 참조하여 설명되는 것처럼, 3차원 공간 내의 좌표들, α, β, γ 값들을 이용한 방향 정보뿐만 아니라, x, y 및 z 좌표들을 이용한 위치 정보를 설명하는 좌표들로 번역된다. 좌표들은, 장난감 항공기가, 장난감 항공기(215)의 조작에 반응하여 다양한 스턴트들을 수행하는 실제 또는 실제처럼 움직이는 항공기(215')로서 디스플레이(110)에 표현되는 항공기 게임일 수 있는 컴퓨터 어플리케이션으로 전달된다. 선택적으로, 장난감 항공기(215) 대신에, 사용자(210)는 (도 1에 도시된) 제어기(108)를 조작할 수 있고, 제어기(108)의 이동은 추적될 수 있으며, 디스플레이 스크린 상의 물체의 이동을 일으키기 위해 명령들이 캡쳐될 수 있다. 2 illustrates an example computer interaction using an image capture and processing system.
일 실시형태에서, 사용자(210)는, 실제처럼 움직이는 항공기(215')와의 상호작용의 정도를 변화시키거나 변경하도록 선택할 수 있다. 상호작용의 정도는, 사용자의 제어기(108)( 또는 장난감 항공기(215))가 실제처럼 움직이는 항공기(215')에 의한 이동으로 매핑될 분량을 조정할 "기어링" 분량을 사용자(215)가 조정하는 것을 가능하게 함으로써 변경될 수 있다. 동적으로 설정되거나, 게임에 대하여 미리 설정되거나, 사용자(210)에 의해 게임 플레이 동안 조정될 수 있는 기어링에 따라서, (예를 들어 비디오 게임 물체와 같은) 실제처럼 움직이는 항공기(215')로 매핑되는 반응은 또 다른 수준의 사용자 상호작용 및 향상된 경험을 제공하도록 변화할 것이다. 기어링에 관한 또 다른 세부사항들이 도 7 내지 도 20을 참조하여 이하에 서 제공될 것이다. In one embodiment, the
도 3은, 본 발명의 실시형태들을 실시하기 위해 사용될 수 있는 그래픽 디스플레이 상의 물체와 상호작용하기 위한 예시적 사용자 입력 시스템의 블록도이다. 도 3에 도시된 것처럼, 사용자 입력 시스템은 비디오 캡쳐 장치(300), 입력 영상 프로세서(302), 출력 영상 프로세서(304), 및 비디오 디스플레이 장치(306)로 이루어진다. 비디오 캡쳐 장치(300)는 비디오 영상들의 시퀀스들을 캡쳐할 수 있는 임의의 장치일 수 있으며, 일 실시형태에서 ("웹-캠"과 같은) 디지털 비디오 카메라이거나, 유사한 영상 캡쳐 장치이다. 3 is a block diagram of an example user input system for interacting with an object on a graphical display that can be used to practice embodiments of the present invention. As shown in FIG. 3, the user input system consists of a
비디오 캡쳐 장치(300)는 깊이 영상을 제공하도록 구성될 수 있다. 상세한 설명에서, 용어들 "깊이 카메라" 및 "3차원 카메라"는, 2차원 픽셀 정보뿐만 아니라 거리 또는 깊이 정보를 획득할 수 있는 임의의 카메라를 칭한다. 예를 들어, 깊이 카메라는 거리 정보를 획득하기 위해 제어된 적외선 광을 이용할 수 있다. 또 다른 예시적 깊이 카메라는 2개의 표준 카메라들을 이용하여 거리 정보를 삼각측량하는 스테레오 카메라 쌍일 수 있다. 유사하게, 용어 "깊이 감지 장치"는 2차원 픽셀 정보뿐만 아니라 거리 정보를 획득할 수 있는 임의의 유형의 장치를 칭한다. The
그러므로, 카메라(300)는 표준 2차원 비디오 영상에 추가하여 제 3 차원을 캡쳐하고 매핑하는 능력을 제공할 수 있다. 표준 카메라들과 유사하게, 깊이 카메라는 비디오 영상을 포함하는 복수의 픽셀들에 대하여 2차원 데이터를 캡쳐한다. 이러한 값들은 픽셀들에 대한 색상 값들, 일반적으로, 각각의 픽셀에 대한 적색, 녹색, 및 청색(red, green, and blue; RGB) 값들이다. 이런 식으로, 카메라에 의해 캡쳐된 물체들은 모니터 상의 2차원 물체들로서 나타난다. 그러나, 통상의 카메라와 달리, 깊이 카메라는 또한 장면에 대한 깊이 값들을 표현하는 장면의 z-요소들을 캡쳐한다. 깊이 값들이 전형적으로 z-축에 할당되기 때문에, 깊이 값들은 종종 z-값들로서 칭해진다. Thus,
동작 중에, z-값은 장면의 각각의 픽셀에 대하여 캡쳐된다. 각각의 z-값은, 카메라로부터 관련된 픽셀에 대응하는 장면 내의 특정 물체로의 거리를 표현한다. 게다가, 최대 검출 범위는 깊이 값들이 검출되지 않기 시작하는 범위로 정의된다. 이러한 최대 범위 평면은, 사용자 정의 물체 추적을 제공하기 위해 본 발명의 실시형태들에 의해 이용될 수 있다. 그러므로, 깊이 카메라를 이용하여, 각각의 물체는 3차원으로 추적될 수 있다. 결과적으로, 본 발명의 실시형태들의 컴퓨터 시스템은 사용자에 대한 향상된 3차원 상호작용 환경을 생성하기 위해 2차원 픽셀 데이터를 따라 z-값들을 이용할 수 있다. 깊이 분석에 대한 더 많은 정보는, 2003년 5월29일에 출원된 미국특허출원 제10/448,614호, 실시간 3차원 상호작용 환경을 제공하는 시스템 및 방법을 참조하여 얻어진다. In operation, a z-value is captured for each pixel of the scene. Each z-value represents a distance from a camera to a particular object in the scene corresponding to the associated pixel. In addition, the maximum detection range is defined as the range in which depth values begin not to be detected. This maximum range plane can be used by embodiments of the present invention to provide user defined object tracking. Therefore, using a depth camera, each object can be tracked in three dimensions. As a result, the computer system of embodiments of the present invention may use z-values along the two-dimensional pixel data to create an improved three-dimensional interaction environment for the user. More information on depth analysis is obtained with reference to US patent application Ser. No. 10 / 448,614, filed May 29, 2003, systems and methods for providing a real-time three-dimensional interaction environment.
깊이 카메라가 일 실시형태에 따라서 사용될지라도, 3차원 공간 내의 물체의 위치 및 좌표들을 식별하는 데에 필요한 것으로 해석되어서는 안 된다. 예를 들어, 도 2에 도시된 시나리오에서, 물체(215)와 카메라(105) 사이의 거리는 최좌측 및 최우측 LED들(212)의 거리를 측정함으로써 추론될 수 있다. LED들(212)이 영상 캡쳐 장치(105)에 의해 생성된 영상에서 더 가까워지면, 물체(215)는 카메라(105)로부터 더 멀어진다. 그러므로, z-축 좌표들의 합리적으로 정확한 추정은 전형적 디 지털 카메라에 의해 생성된 2차원 영상들로부터 행해질 수 있다. Although a depth camera is used in accordance with one embodiment, it should not be construed as necessary to identify the position and coordinates of an object in three-dimensional space. For example, in the scenario shown in FIG. 2, the distance between the
도 3에 따르면, 입력 영상 프로세서(302)는 제어 물체의 (깊이 영상들일 수 있는) 캡쳐된 비디오 영상들을, 출력 영상 프로세서로 전달되는 신호들로 번역한다. 일 실시형태에서, 입력 영상 프로세서(302)는, 깊이 정보를 통하여 캡쳐된 비디오 영상 내의 배경으로부터 제어 물체를 분리시키고 제어 물체의 위치 및/또는 이동에 반응하여 출력 신호를 생성하도록 프로그래밍된다. 출력 영상 프로세서(304)는, 입력 영상 프로세서(302)로부터 수신된 신호들에 반응하여 비디오 디스플레이 장치(306) 상의 물체의 병진 및/또는 회전 이동에 영향을 주도록 프로그래밍된다. According to FIG. 3, the
본 발명의 이러한 추가적 영상들은 소프트웨어 명령들을 실행하는 하나 이상의 프로세서들에 의해 실시될 수 있다. 본 발명의 일 실시형태에 따르면, 단일 프로세서는 입력 영상 처리 및 출력 영상 처리 모두를 실행시킨다. 그러나, 도면들에 도시된 것처럼, 처리 동작들은 입력 영상 프로세서(302)와 출력 영상 프로세서(304) 사이에서 분할되는 것처럼 도시되어 있다. 본 발명은, 2개 이상의 프로세서와 같은 특정 프로세서 구성으로 제한되는 것으로 해석되어서는 안 된다. 도 3에 도시된 복수 처리 블록들은 설명의 편의를 위해서만 도시된 것이다. These additional images of the present invention may be implemented by one or more processors executing software instructions. According to one embodiment of the invention, a single processor executes both input image processing and output image processing. However, as shown in the figures, processing operations are shown as being split between the
도 4는, 본 명세서에서 설명된 본 발명의 실시형태들을 실시하도록 구성된 컴퓨터 처리 시스템의 개략 블록도이다. 처리 시스템은, 주 메모리(420)에 연결된 중앙 처리 유닛(CPU; central processing unit; 424) 및 그래픽 처리 유닛(GPU; graphical processing unit; 426)을 포함하는 컴퓨터-기반 엔터테인먼트 시스템 실 시형태를 표현할 수 있다. CPU(424)는 또한 입력/출력 프로세서 버스(IOP bus; input/output processor bus; 428)에 연결된다. 일 실시형태에서, GPU(426)는 그래픽 데이터에 근거한 픽셀의 빠른 처리를 위한 내부 버퍼를 포함한다. 게다가, GPU(426)는, 엔터테인먼트 시스템 또는 그의 요소들의 외부에 연결된 디스플레이 장치(427)로 전송하기 위해, 처리된 영상 데이터를, 예를 들어 NTSC 또는 PAL과 같은 표준 텔레비젼 신호들로 변환하는 출력 처리 부분 또는 기능을 포함할 수 있다. 선택적으로, 데이터 출력 신호들은, 컴퓨터 모니터, LCD(liquid crystal display) 장치, 또는 다른 유형의 디스플레이 장치와 같이, 텔레비젼 모니터가 아닌 디스플레이 장치로 제공될 수 있다. 4 is a schematic block diagram of a computer processing system configured to implement embodiments of the present invention described herein. The processing system may represent a computer-based entertainment system implementation that includes a central processing unit (CPU) 424 and a graphical processing unit (GPU) 426 coupled to the
IOP 버스(428)는, CPU(424)를 다양한 입력/출력 장치들 및 다른 버스들 또는 장치에 연결한다. IOP 버스(428)는, 입력/출력 프로세서 메모리(430), 제어기(432), 메모리 카드(434), USB 포트(universal serial bus port; 436), (파이어와이어 인터페이스(Firewire interface)로 공지된) IEEE1394 포트(438) 및 버스(450)에 연결된다. 버스(450)는, 운영 체제 롬(opering system(OS) ROM; 440), 플래시 메모리(442), 음향 처리 유닛(SPU; sound processing unit; 444), 광 디스크 제어 유닛(446), 및 하드 디스크 드라이브(HDD; hard disk drive; 448)를 포함하는 수개의 다른 시스템 요소들을 CPU(424)에 연결한다. 이 실시형태의 일 양상에서, 비디오 캡쳐 장치는 CPU(424)로의 전송을 위해 IOP 버스(428)에 직접 연결될 수 있고; 비디오 캡쳐 장치로부터의 데이터는 GPU(426)에서의 그래픽 영상들을 생성하는 데에 사용되는 값들을 변화시키거나 갱신하는 데에 사용될 수 있다. 게다 가, 본 발명의 실시형태들은, 2003년 2월11일에 출원된 미국특허출원 제10/365,120호, 실시간 움직임 캡쳐를 위한 방법 및 장치에 기술된 것과 같은 다양한 영상 처리 구성들 및 기술들을 사용할 수 있다. 컴퓨터 처리 시스템은 셀(CELLTM) 프로세서에서 실행될 수 있다.
도 5는 본 발명의 일 실시형태에 따라 선택적인 입력 장치로서 기능하는 조작된 물체와 함께 사용하기에 적합한 비디오 게임 콘솔의 요소들의 구성의 블록도이다. 예시적인 게임 콘솔(510)은, 콘솔(510)의 전반적인 제어를 위한 멀티프로세서 유닛(MPU; multiprocessor unit; 512), 다양한 프로그램 동작들 및 데이터의 저장에 사용되는 주 메모리(514), 지오메트리 처리에 필요한 부동점 벡터 연산들을 수행하기 위한 벡터 연산 유닛(516), MPU(512)로부터의 제어들에 근거하여 데이터를 생성하고 모니터(110)에 비디오 신호들을 출력하기 위한 영상 프로세서(520), MPU(512) 또는 벡터 연산 유닛(516)과 영상 프로세서(520) 사이의 전송 버스에 걸쳐 조정 등을 수행하기 위한 그래픽 인터페이스(GIF; graphics interface; 522), 주변 장치들로 데이터를 전송하고 주변장치들로부터 데이터를 수신하기 위한 입력/출력 포트(524), 예를 들어, 커널의 제어를 수행하기 위해 플래시 메모리에 의해 구성되는 내부 OSD 기능 ROM(OSDROM; OSD functional ROM), 및 달력 및 타이머 기능들을 갖는 실제 시간 클록(RTC; real time clock; 528)이 갖추어져 있다. 5 is a block diagram of the configuration of elements of a video game console suitable for use with an manipulated object functioning as an optional input device in accordance with one embodiment of the present invention.
주 메모리(514), 벡터 연산 유닛(516), GIF(522), OSDROM(526), 실제 시간 클록(528) 및 입력/출력 포트(524)가 데이터 버스(530)에 걸쳐 MPU(512)에 연결되 어 있다. 또한, 버스(530)에는, 압축된 동영상들 및 텍스쳐(texture) 영상들을 확장시키기 위한 프로세서인 영상 처리 유닛(538)이 연결되어, 영상 데이터를 전개시킨다. 예를 들어, 영상 처리 유닛(538)은, MPEG2 또는 MPEG4 표준 포맷들에 따른 비트 스트림들(bit streams)의 디코딩 및 전개(development), 마크로블록 디코딩(macroblock decoding), 역이산 코사인 변환들(inverse discrete cosine transformations), 컬러 공간 변환, 벡터 양자화를 수행하는 것 등을 위한 기능들을 수행할 수 있다.
음향 시스템은, MPU(512)로부터의 명령들에 기초하여 음악 또는 다른 음향 효과들을 생성하기 위한 음향 처리 유닛(SPU; 571), 파형 데이터가 SPU(571)에 의해 기록될 수 있는 음향 버퍼(573), 및 SPU(571)에 의해 생성되는 음악 또는 다른 음향 효과들을 출력하기 위한 스피커(575)에 의해 구성된다. 스피커(575)는 모니터(110)의 일부로서 내장될 수 있으며, 또는 외부 스피커(575)에 부착된 분리된 오디오 라인-아웃 연결(separate audio line-out connection)로서 제공될 수 있다. The acoustic system includes a sound processing unit (SPU) 571 for generating music or other sound effects based on instructions from the
디지털 데이터의 입력/출력의 기능들을 가지며, 본 발명에 따른 디지털 콘텐츠의 입력을 위한 인터페이스인 통신 인터페이스(540)가 버스(530)에 연결되어 제공된다. 예를 들어, 통신 인터페이스(540)를 통하여, 사용자 입력 데이터는, 온라인 비디오 게임 어플리케이션들을 수용하기 위해 네트워크의 서버 단말로 전송될 수 있고, 상태 데이터가 상기 서버 단말로부터 수신될 수 있다. 콘솔(510)과 관련하여 (예를 들어, 키 입력 데이터 또는 좌표 데이터와 같은) 데이터의 입력을 위한 (또한 제어기로서 공지된) 입력 장치(532), 및 다양한 프로그램들 및 데이터(즉, 물체들과 관련된 데이터, 텍스쳐 데이터 등)가 저장되어 있는 CD-ROM 등과 같은 광 디스크(569)의 콘텐츠의 재생을 위한 광 디스크 장치(536)은 입력/출력 포트(524)에 연결되어 있다. A
본 발명은 입력/출력 포트(524)에 연결된 디지털 비디오 카메라(105)를 더 포함한다. 입력/출력 포트(524)는 직렬 및 USB 인터페이스들을 포함하는 하나 이상의 입력 인터페이스들에 의해 실시될 수 있고, 디지털 비디오 카메라(190)는 USB 입력 또는 카메라(105)와 함께 사용하기에 적절한 다른 통상의 인터페이스를 이용하는 것이 바람직하다. The invention further includes a
상술한 영상 프로세서(520)는 렌더링 엔진(570), 인터페이스(572), 영상 메모리(574) 및 디스플레이 제어 장치(576)(예를 들어, 프로그램가능 CRT 제어기 등)를 포함한다. 렌더링 엔진(570)은, MPU(512)로부터 공급되는 렌더링 명령들에 대응하여, 메모리 인터페이스(572)를 통하여 영상 메모리 내의 예정된 영상 데이터의 렌더링을 위한 동작들을 실행시킨다. 렌더링 엔진(570)은, 예를 들어, NTSC 또는 PAL과 일치하는 320×240 픽셀들 또는 640×480 픽셀들의 영상 데이터를 실시간으로, 구체적으로 1/60 내지 1/30 초당 십 내지 수십 번들보다 더 큰 속도로 렌더링하는 능력을 가진다. 버스(578)는 메모리 인터페이스(572)와 렌더링 엔진(570) 사이에 연결되고, 제 2 버스(580)는 메모리 인터페이스(572)와 영상 메모리(574) 사이에 연결되어 있다. 제 1 버스(578) 및 제 2 버스(580)는 각각 예를 들어 128 비트의 비트 폭을 가지며, 렌더링 엔진(570)은 영상 메모리와 관련하여 고속 렌더링 처리를 실행할 수 있다. 영상 메모리(574)는, 예를 들어, 텍스쳐 렌더링 영역 및 디스플레이 렌더링 영역이 균일 영역으로 설정될 수 있는 통합된 메모리 구조를 이용한다. The
디스플레이 제어기(576)는, 광 디스크 장치(536)를 통하여 광 디스크(569)로부터 검색된 텍스쳐 데이터, 또는 주 메모리(514)에서 생성되는 텍스쳐 데이터를, 메모리 인터페이스(572)를 경유하여 영상 메모리(574)의 텍스쳐 렌더링 영역으로 기록하도록 구성된다. 영상 메모리(174)의 디스플레이 렌더링 영역에서 렌더링되는 영상 데이터는, 메모리 인터페이스(572)를 경유하여 판독되고, 모니터(110)에 출력되며, 스크린 상에 디스플레이된다. The
도 6은, 본 발명의 일 실시형태에 따라 사용자에 의해 조작되는 것처럼 사용자 입력 장치에 대응하는 픽셀 그룹을 추적하고 식별하는 데에 이용되는 기능 블록들을 도시하는 블록도이다. 블록들에 의해 도시되는 기능들은 도 5의 게임 콘솔(510) 내의 MPU(512)에 의해 실행되는 소프트웨어에 의해 실시된다. 게다가, 도 6의 블록들에 의해 도시된 기능들 모두가 각각의 실시형태에 대하여 이용되는 것은 아니다. FIG. 6 is a block diagram illustrating functional blocks used to track and identify a group of pixels corresponding to a user input device as manipulated by a user in accordance with one embodiment of the present invention. The functions shown by the blocks are performed by software executed by the
처음에, 카메라로부터 입력된 픽셀 데이터는 입력/출력 포트 인터페이스(524)를 통하여 게임 콘솔(510)에 공급되고, 게임 콘솔에서 수행될 다음의 프로세스들을 가능하게 한다. 첫째, 영상의 각각의 픽셀이 예를 들어 래스터(raster) 구조로 샘플링(sampling)됨에 따라, 컬러 분할 처리 단계(S201)가 수행되는데, 각각의 픽셀의 색상은 결정되고, 영상은 다른 색상들의 다양한 2차원 세그먼트들로 분할된다. 다음에 특정 실시형태들에 대하여, 색상 변이 위치측정 단계(S203)가 수 행되고, 다른 색상들의 세그먼트들이 인접하는 영역들이 더욱 구체적으로 결정되고, 이에 따라 뚜렷한 색상 변이들이 일어나는 영상의 위치를 정의한다. 그 다음에, 지오메트리 처리 단계(S205)가 수행되는데, 실시형태에 따라서, 에지 검출 프로세스 또는 영역 통계에 대한 연산 수행을 포함하여, 관심 물체의 에지들에 대응하는, 수학적 용어 또는 기하학적 용어인 직선들, 곡선들 및/또는 다각형들을 정의한다. Initially, pixel data input from the camera is supplied to the
물체의 3차원 위치 및 방향은, 본 발명의 바람직한 실시형태들의 이하의 상세한 설명들과 관련하여 기술될 알고리즘에 따라, 단계 S207에서 연산된다. 3차원 위치 및 방향의 데이터는 또한 성능을 향상시키기 위해 칼만 필터링(Kalman filtering)에 대한 처리 단계(S209)를 겪는다. 이러한 처리는, 물체가 시간에 따라 어디에 있을 것인지를 평가하도록 수행되고, 가능하지 않은 스퓨리어스 측정들(spurious measurements)을 거부하도록 수행되며, 따라서 진실 데이터 세트의 외부에 있는 것으로 고려된다. 칼만 필터링을 행하는 또 다른 이유는, 예시적 디스플레이가 60Hz로 실행되는 반면에, 카메라(105)는 30Hz로 영상들을 생성하므로, 칼만 필터링은 게임 프로그램의 동작을 제어하는 데에 사용되는 데이터의 간격들을 채운다. 칼만 필터링을 통한 이산 데이터의 평탄화는 컴퓨터 분야에서 공지되어 있으므로, 더 이상 설명되지 않을 것이다. The three-dimensional position and orientation of the object is computed in step S207, in accordance with an algorithm to be described in connection with the following detailed description of preferred embodiments of the present invention. Data in three-dimensional position and orientation also undergoes a processing step S209 for Kalman filtering to improve performance. This process is performed to evaluate where the object will be over time, to reject spurious measurements that are not possible, and are therefore considered to be outside of the truth data set. Another reason for performing Kalman filtering is that while the exemplary display runs at 60 Hz, the
도 7은, 영상 캡쳐 장치(105)에 의해 보여지는 공간 체적(702) 내의 물체(705)의 이동들을 매핑하기 위한 예시적 영상 처리 시스템(700)에 대한 개략 블 록도를 도시한다. 이러한 실시예에서, 물체(705)가 3차원 공간(702) 내에서 거리 x1만큼 이동됨에 따라, 영상 처리 시스템(700)은 물체(705)의 캡쳐된 비디오 영상들을 해석하고, 물체(705)의 움직임을 식별하고, 디스플레이 스크린(110)에 실질적으로 대응하는 동작을 생성한다. FIG. 7 shows a schematic block diagram of an example
구체적으로, 영상 캡쳐 장치(105)는, 당업계에서 공지된 것처럼 렌즈를 통과한 후에 디지털 영상 센서에 영향을 주는 광에 의해 형성된 영상을 표현하는 영상 데이터를 생성하기 위한 디지털 영상 센서를 포함한다. 영상 캡쳐 장치(105)는 광에 의해 형성된 영상을 표현하는 아날로그 신호를 생성하는 아날로그 비디오 카메라를 포함하는 것이 또한 가능하다. 후자의 경우에, 아날로그 신호는 인식기(710)에 의한 처리 이전에 영상의 디지털 표현으로 변환된다. 3차원 공간(702)의 연속적인 2차원 영상들을 표현하는 영상 데이터는 인식기(710)로 전달된다. 인식기(710)는, 물체(705)를 식별하기 위해 도 6을 참조하여 이상에서 기술되는 것처럼 다양한 처리 단계들을 수행할 수 있다. 물체(705)의 위치는 매퍼(mapper; 712)로 전달된다. 예를 들어, 3차원 공간(702) 내의 물체(705)의 절대 좌표들은 매퍼(712)로 연산되고 전달될 수 있다. x 및 y 축들을 따르는 좌표들은 각각의 영상에서 표현되는 것처럼 물체의 위치로부터 결정될 수 있다. z-축을 따르는 물체(705)의 좌표는 물체의 크기로부터 유추될 수 있다. 즉, 물체(705)는, 영상 캡쳐 장치(105)에 더 가까울수록, 영상에서 더 크게 나타날 것이다. 그러므로, 영상 내에 나타나는 물체의 직경에 대한 측정은, 영상 캡쳐 장치(105)로부터의 거리, 즉, z-축 좌표를 연산하 는 데에 이용될 수 있다. Specifically, the
위치 정보에 추가하여, 인식기(710)는 물체(705)로부터 수신된 명령들을 식별할 수 있다. 명령들은 물체(705)의 전달들/변형들, 음향 및 광 생성 등으로부터 해석될 수 있다. 물체(705)로부터 수신된 명령들은 인식기에 의해 해석되고, 수신된 명령들에 대응하는 데이터는 어플리케이션(714)으로 전달될 수 있다. 어플리케이션(714)은, 영상 캡쳐 장치(105)로부터 사용자 입력을 수신하는 게임 어플리케이션 또는 다른 컴퓨터 어플리케이션일 수 있다. 일 실시형태에서, 매퍼(712)는, 인식기(710)로부터의 절대 좌표들을 입력하고, 이러한 좌표들을, 기어링 분량에 따라 스케일링된 출력 좌표들로 매핑한다. 또 다른 실시형태에서, 매퍼(712)는, 인식기(710)로부터 연속적인 좌표 정보를 수신하고, 좌표 정보의 변화들을 물체(705)의 벡터 이동들로 변환한다. 예를 들어, 물체(705)가 시간 t1으로부터 t2로 거리 x1만큼 이동한다면, 벡터(x1, 0, 0)가 생성되고 어플리케이션(714)에 전달된다. 시간 t1 내지 시간 t2는 영상 캡쳐 장치(105)에 의해 생성된 비디오의 연속적인 프레임들 사이의 시간 구간일 수 있다. 매퍼(712)는, 예를 들어, 기어링 분량(G)에 의해 벡터를 승산(multiplication)함으로써 스케일링 알고리즘에 따라 벡터를 스케일링할 수 있다. 다른 실시형태에서, 각각의 좌표는 대응하는 기어링 요소, 예를 들어, Gx, Gy 및 Gz에 의해 승산된다. 따라서, 디스플레이(110) 내에서 보여지는 것처럼 가상 물체(705')의 대응 움직임은 x1과 다른 거리 x2일 수 있다. In addition to the location information,
어플리케이션(714)은, 인식기(710)로부터 수신된 명령들(713)에 따라, 또는 기어링 분량이 변화하도록 하는 기어링 데이터를 매퍼(712)로 보내는 소프트웨어의 정상 동작에 따라 기어링 분량을 변화시킬 수 있다. 기어링 데이터는, 사용자 명령, 다양한 이벤트들, 또는 어플리케이션(714)의 동작 모드들에 반응하여 매퍼(712)에 보내질 수 있다. 그러므로, 기어링 분량은, 사용자 명령들에 반응하거나 소프트웨어에 의해 제어되는 것처럼 실시간으로 변화될 수 있다. 그러므로, 매퍼(712)는 물체(705)의 움직임의 출력 벡터, 공간(702) 내의 물체(705)의 위치 변화와 관련되어 변화하는 출력, 및 기어링 분량을 어플리케이션(714)으로 전송한다. 일 실시형태에서 비디오 게임인 어플리케이션(714)은, 출력 벡터를, 디스플레이(110) 상에 디스플레이될 대응 동작으로 번역한다. The
도 8은, 도 7의 영상 처리 시스템(700)에 대한 예시적 응용예를 도시한다. 컴퓨터 시스템(102)은, 장면(810)을 보여주는 영상 캡쳐 장치(105)를 포함한다. 장면(810)은, 인식기(710; 도 7)에 의해 인식되는 물체(804)를 잡고 있는 사용자(802)를 포함한다. 이 실시예에서 체커(checker) 게임인 어플리케이션 프로그램은, 체커보드(801) 상에 체커들(808)을 집거나 놓기 위해 물체(804)로부터 배포되는 명령을 인식한다. 사용자가 영상 캡쳐 장치(105) 앞에서 물체(805)를 움직임에 따라, 컴퓨터(102)는 영상들을 처리하여 물체(804)의 움직임을 식별하고, 이러한 움직임을 디스플레이(110) 상의 가상 물체(805')의 움직임으로 번역한다. 가상 물체(805')가 실제 물체(805)와 관련하여 움직이는 거리는 기어링 분량(806)에 의존한다. 이 실시예에서, 기어링 분량은 디스플레이(110) 상에서 "3"으로 표현된다. 일 실시형태에서, 기어링 분량은 사용자가 선택가능하다. 기어링 분량이 더 커질수록, 디스플레이(110) 상의 체커(805')의 특정 거리 이동에 영향을 주는데 실제 물체(805)의 이동이 더 작게 필요하다. 8 illustrates an example application for the
도 9 및 도 10은, 영상 캡쳐 장치(105; 도 1)와 상호작용하는 예시적 제어기(900)를 도시한다. 제어기(900)는 다양한 버튼들 및 조이스틱들을 포함하는 복수의 인터페이스 장치들을 포함하는 인터페이스(902)를 포함한다. 본 명세서에서 논의된 제어기들은 유선 또는 무선일 수 있다. 위피(WiFi), 블루투스, IR, 음향, 및 광들과 같은 기술들은, 게임 콘솔과 같은 컴퓨터와 인터페이스하도록 동작할 수 있다. 일 실시형태에서, 제어기(900)는 LED 배열(905)을 가진다. LED 배열은, 각각의 LED들이 가상의 직사각형 또는 정사각형 블라인딩 박스(blinding box)의 꼭지점에 위치된 2×2 스택(stack)을 포함하는 다양한 레이아웃들(layouts)로 구성될 수 있다. 영상 캡쳐 장치에 의해 생성된 영상 평면 상에 투사되는 블라인딩 박스의 위치 및 변형을 추적함으로써, 변형들은, 제어기의 위치 및 방향 정보를 해독하기 위해 비디오 분석기에서 분석될 수 있다. 9 and 10 show an
LED 배열(905)은 적외선 또는 가시광선을 생성할 수 있다. 영상 캡쳐 장치(105; 도 1)는 다양한 다른 진보적 실시형태들을 참조하여 이상에서 기술된 것처럼 LED 배열(905)을 식별할 수 있다. 각각의 제어기는, 플레이어 번호 1-4 또는 임의의 번호의 플레이어들 중 사용자가 선택할 수 있게 하는 스위치(910)를 이용하여 플레이어 1로부터 예를 들어 플레이어 4까지 지정될 수 있다. 각각의 플레이어 번호 선택은, LED 배열(905)에 의해 점등되는 LED들의 독특한 패턴 또는 변조에 대응 한다. 예를 들어, 플레이어 1에 대하여, 제 1, 제 3 및 제 5 LED들이 점등된다. 이러한 플레이어 정보는 복수의 비디오 프레임들에 걸쳐서 시간에 대하여 반복되는 형태로 엔코딩되고 전송된다. 제어기 또는 장치 LED들이 추적 모드와 전송 모드 사이에서 교환될 수 있도록 인터리브(interleave) 구조를 취하는 것이 바람직하다. 추적 모드에서, 모든 LED들이 사이클의 제 1 부분 동안 켜질 수 있다. 전송 모드에서, 정보는 사이클의 제 2 부분 동안 LED들에 의해 변조될 수 있다. 시간에 걸쳐서, LED들은 추적 및 통신 정보를, 비디오 분석기 또는 신호를 수신할 수 있는 적합한 장치로 전송한다. 전송 모드에서, LED들은 플레이어 ID를 표현하는 정보를 엔코딩할 수 있다. 기간 및 듀티 사이클은 추적 속도, 발광 조건들, 제어기들의 개수 등을 조정하도록 선택될 수 있다. 통신들 및 추적 정보를 끼워넣음으로써, 비디오 캡쳐 장치는 적합한 정보를 공급받아, 각각의 제어기에 대한 추적 파라미터들을 연산하고 제어기들 사이에서 식별한다. 이러한 식별은, 제어기 이동의 위치 및 방향 및 다른 측정기준을 감시하고 추적할 때 각각의 물리적 제어기를 분리시키도록 비디오 분석기에서 사용될 수 있다.
전송 모드에서, 명령들 또는 상태 정보를 포함하는 다른 정보는 공지된 엔코딩 및 변조 구조들에 따라서 제어기 또는 장치 LED들에 의해 전송될 수 있다. 수신기 측에서, 비디오 캡쳐 장치에 연결된 비디오 분석기는 LED들의 상태와 동기화되고 이를 추적하며, 정보 및 제어기 이동들을 디코딩한다. 더 높은 대역폭이 전송 모드 사이클에서의 프레임들에 걸쳐 데이터를 변조함으로써 얻어질 수 있다. In the transmission mode, other information, including commands or status information, may be transmitted by the controller or device LEDs in accordance with known encoding and modulation schemes. At the receiver side, a video analyzer connected to the video capture device is synchronized with and tracks the state of the LEDs and decodes information and controller movements. Higher bandwidth can be obtained by modulating the data over frames in the transmission mode cycle.
인터페이스(902)와의 사용자 상호작용은 LED 배열(905)에서의 LED들 중 하나 이상이 색상을 변조하고 그리고/또는 변화하도록 할 수 있다. 예를 들어, 사용자가 조이스틱을 이동시킴에 따라, LED들은 밝기를 변화시키거나 정보를 전송할 수 있다. 농도 또는 색상의 변화들은 컴퓨터 시스템에 의해 감시될 수 있고, 농도 값으로서 게임 프로그램에 제공될 수 있다. 게다가, 각각의 버튼은 LED 배열(905) 내의 LED들 중 하나 이상의 색상 변화 또는 농도로 매핑될 수 있다. User interaction with the
제어기(900)가 3차원 공간에서 이동되고 롤, 요 또는 피치 방향 중 하나에서 회전됨에 따라, 영상 캡쳐 장치(105)는, 컴퓨터 시스템(102)과 함께, 이러한 변화들을 식별할 수 있고, 영상 평면 상의 이동을 설명하기 위한 2차원 벡터 또는 3차원 공간 내의 이동을 설명하기 위한 3차원 벡터를 생성할 수 있다. 벡터는, 상대적인 이동을 설명하는 일련의 좌표들 및/또는 영상 캡쳐 장치(105)와 관련된 절대 위치로서 제공될 수 있다. 당업자에게 명확한 것처럼, 영상 캡쳐 장치(105)에 더 가까운 제어기의 이동은 외부로 퍼지게 나타나는 LED 배열에 의해 식별될 수 있는 반면에, 영상 캡쳐 장치(105)의 시선에 수직인 평면(영상 평면)의 이동은 영상 캡쳐 영역 내의 절대 위치에 의해 식별될 수 있다. As the
LED들(905)의 직사각형 구성은 3개의 축들 상의 제어기(900)의 이동 및 각각의 축을 중심으로 한 회전이 검출되는 것을 가능하게 한다. 단지 4개의 LED들이 도시되어 있을지라도, 이는 예시적인 목적만을 위한 것이며, 임의의 구성의 임의의 개수의 LED들이 가능하다. 제어기(900)가 전방 또는 후방으로 던져짐에 따라, 상부 LED와 하부 LED는 서로 더욱 가까워지고, 좌측 LED와 우측 LED는 동일 거리를 유지하고 있을 것이다. 유사하게, 제어기가 좌측 또는 우측으로 흔들림(yaw)에 따라, 상부 LED와 하부 LED는 서로 동일 거리를 유지하고 있지만, 좌측 LED와 우측 LED는 설 접근하는 것으로 나타날 것이다. 제어기의 롤링(rolling) 움직임은 영상 평면 상의 LED들의 방향을 식별함으로써 검출될 수 있다. 제어기가 시선을 따라 영상 캡쳐 장치(105)에 더 가까워지도록 움직임에 따라, LED들 모두가 서로 더 가까워지도록 나타날 것이다. 마지막으로, 영상 평면을 따르는 제어기의 이동은 영상 평면 상의 LED들의 위치를 식별함으로써 추적될 수 있으며, 이로써 각각의 x 축 및 y 축을 따르는 이동을 식별한다. The rectangular configuration of the
제어기(900)는 또한 가청 또는 초음파 음향을 생성하기 위한 스피커(915)를 포함할 수 있다. 스피커(915)는, 증가된 상호작용을 위한 음향 효과들을 생성할 수 있고, 전송들을 수신하기 위한 마이크로폰 또는 다른 요소들을 갖는 컴퓨터 시스템으로, 인터페이스(902)로부터 배포된 명령들을 전송할 수 있다. The
도 11은 도 9 및 도 10의 제어기에 대한 예시적 응용예를 도시한다. 이러한 응용예에서, 드라이빙 시뮬레이션(driving simulation)은 제어기(900)의 회전을 가상 자동차의 스티어링 휠의 회전과 같이 해석한다. 사용자(도시되지 않음)가 제어기(900)를 화살표(1105)에 의해 표시된 것처럼 회전시킴에 따라, 가상 스티어링 휠(900')은 화살표(1105')에 의해 표시된 것처럼 디스플레이(110) 상에서 회전된다. 일 실시형태에서, 제어기(900)의 각각의 회전 각도에 대하여 스티어링 휠(900')의 회전량을 지시하는 기어링 분량은 도 8을 참조하여 이상에서 기술된 것처럼 사용자가 선택가능하다. 또 다른 실시형태에서, 기어링 분량은, 도 12에서 도시된 예시적 그래프(1200)에 표현된 것처럼 소프트웨어에 의해 제어된다. 이러한 실시예에서, 기어링 분량은, 제어기(900)의 중심으로부터의 거리, 즉, 가상 방향고 관련하여 변화한다. 이것은, 제어기(900)의 90°회전만으로 가상 스티어링 휠(900')의 540°회전을 가능하게 한다. 0°근처(중심) 위치에서 낮은 기어링 분량을 유지함으로써, 일반적으로 상당한 스티어링 회전을 필요로 하지 않는 고속 드라이빙 동안 고도의 제어가 유지될 수 있다. 제어기(900)가 중심 위치로부터 더 멀리 회전됨에 따라, 기어링 분량은 그래프(1200)에 도시된 것처럼 증가되어, 일반적으로 더 느린 속도에서 필요한 더 급격한 회전을 수용한다. 11 illustrates an example application for the controller of FIGS. 9 and 10. In this application, driving simulation interprets the rotation of the
도 13은 사용자에 의해 조작될 수 있는 스티어링 휠(1305)을 갖는 또 다른 예시적 제어기(1300)를 도시한다. 이러한 경우에, 스티어링 휠(1305)의 회전들 및 인터페이스(1302)의 버튼들의 동작은, LED들(1310)을 통한 데이터 전송을 행하는 제어기(1300)에 의해 해석된다. 13 shows another
도 14는 제어기(1300)의 예시적 응용예를 도시한다. 이 실시예에서, 응용예는 스티어링 휠(1305)의 회전에 반응하여 배포된 명령들을 수신하고 이러한 명령들을 디스플레이(110) 내의 가상 스티어링 휠(1305)의 대응하는 회전들로서 번역하는 드라이빙 시뮬레이션이다. 스티어링 휠(1305)의 회전을 가상 스티어링 휠(1305')의 대응하는 회전으로 스케일링하는 기어링 분량은, 인터페이스(1302; 도 13)와의 사용자 상호작용에 반응하거나 소프트웨어 제어에 반응하여 변화될 수 있다. 도 15는 시간에 걸친 기어링 분량의 예시적 변화들을 도시하는 예시적 그래프(1500)를 도시한다. 일 실시예에서, 기어링의 변화들은 게임 플레이 동안 사용자에 의해 동적으로 설정될 수 있다. 게다가, 그래프(1500)에 의해 도시된 것처럼, 기어링의 변이들 은, 평탄하거나, 급격하거나, 단계적이거나, 장시간, 단시간 또는 이들의 조합일 수 있다. 그러므로, 기어링은, 더욱 사실적인 상호작용 경험을 제공하기 위해, 게임 세션 동안 시간에 걸쳐 게임에 의해 설정되거나 변화될 수 있다. 게다가, 사용자가 기어링을 제어할 수 있게 됨에 따라, 통상의 게임들에서 발견되는 예정된 제어들을 넘는 또 다른 차원의 제어가 가능하게 된다. 14 illustrates an example application of the
도 16은 사용자 상호작용에 대응하는 영상 처리 시스템의 또 다른 예시적 응용예를 도시한다. 이 실시예에서, 사용자(1602)는, 영상 처리 시스템에 의해 입력 물체로서 인식될 수 있는 장난감 야구 배트(1605)를 스윙함으로써 야구 시뮬레이션과 상호작용한다. 장난감 야구 배트가 스윙됨에 따라, 사용자 및/또는 소프트웨어는 가상 야구 배트(1605')의 속도 또는 거리를 조작하기 위해 기어링 분량을 제어할 수 있다. 일 실시형태에서, 배트는 게임 플레이 동안 눌려질 수 있는 다수의 버튼들을 포함할 수 있고, 버튼들이 눌려짐에 따라 기어링은 변화될 수 있다. 또 다른 실시형태에서, 사용자는, 배트가 스윙될 때 적용될 기어링 레벨들의 조합을 미리 설정하거나 프로그래밍할 수 있다. 16 illustrates another example application of an image processing system corresponding to user interaction. In this embodiment, the
도 17은, 스윙의 길이에 따라 다른 시간들(t1 내지 t5)에서의 예시적 기어링 분량을 도시하는 그래프(1700)를 도시한다. 이러한 기어링 분량들은, 배트를 스윙하기 전에 사용자에 의해 설정될 수 있고 또는 카메라(105)에 의해 보여지는 것처럼 배트의 위치에 반응하여 게임에 의해 동적으로 설정될 수 있다. 또한, 어떻게 기어링이 시간에 따라 변화하거나, 특정 구간들에서 일정하거나, 또는 점점 증가할 수 있는 지가 도시되어 있다. 그래프(1700)에서, 기어링은, 접촉이 공과 행해질 때 배트의 스윙이 더욱 힘이 있도록, 시간들 t2-t3에서 더 높게 설정되며, 배트가 이미 접촉된 시간 t3-t4에서는 완화되어 있다. 일 실시형태에서, 상기와 같은 다른 시간들은 사용자에 의해 평가될 수 있거나, 또는 컴퓨터에 의해 결정될 수 있다. FIG. 17 shows a graph 1700 showing an example amount of gearing at different times t 1 to t 5 depending on the length of the swing. These gearing quantities may be set by the user before swinging the bat or may be dynamically set by the game in response to the bat's position as seen by the
일 실시예에서, 사용자는 수개의 연습 스윙들을 할 수 있고, 그 이후에 컴퓨터는 사용자의 실제 스윙 능력에 대응하는 다수의 예시적 시간 슬롯들을 매핑할 수 있다. 그 이후에, 사용자는, 사용자가 어떻게 게임 상호작용에 영향을 주기 원하는가에 따라, 각각의 시간 구간에 특정 기어링을 맞춤할당할 수 있다. 기어링이 설정되면, 사용자의 배트(1605) 이동은 배트(1605'; 예를 들어 게임 물체)의 이동으로 매핑될 수 있다. 또한, 기어링은, 다른 동작 동안 게임에 의해 미리 설정될 수 있고, 사용자에 의해 게임 플레이 동안 설정될 수 있으며, 게임 플레이 동안 실시간으로 조정될 수 있다. In one embodiment, the user may make several practice swings, after which the computer may map multiple example time slots corresponding to the user's actual swing ability. Thereafter, the user can assign specific gearing to each time interval, depending on how the user wants to affect game interaction. Once gearing is established, movement of the
도 18은, 사용자 상호작용에 반응하는 영상 처리 시스템의 또 다른 예시적 응요예를 도시한다. 이 실시예에서, 사용자(도시되지 않음)는 장난감 풋볼을 가지고 드로잉(throwing) 움직임을 행하고 작동기를 누름으로써 풋볼의 릴리스(release)를 가리키고, 풋볼 시뮬레이션과 상호작용한다. 물론, 장난감 풋볼 대신에, 제어기가 사용될 수 있다. 가상 플레이어(1802)는 사용자 상호작용에 반응하여 가상 풋볼(1805)을 조작한다. 일 실시형태에서, 작동기는, LED가, 풋볼 시뮬레이션 어플리케이션으로 보내지는 명령으로서, 영상 처리 시스템에 의해 인식되는 색상을 점등하거나 변화시키게 한다. 공을 릴리스한 이후에, 사용자는, 선택된 리시버의 움직임과 같은, 필드 상의 특정 동작을 제어할 수 있다. 일 실시형태에서, 공의 릴리스는, 예를 들어, 입력 물체의 더 좋은 이동들을 식별하는 것을 가능하게 하기 위해, 기어링 분량을 변화시키도록, 어플리케이션이 매퍼(도 7)로 기어링 데이터를 보내는 것을 유발한다. 18 illustrates another example application of an image processing system in response to user interaction. In this embodiment, the user (not shown) points to the release of the football by making a drawing movement with the toy football and pressing the actuator and interacts with the football simulation. Of course, instead of toy football, a controller can be used. The
도 19는, 풋볼의 "릴리스" 시 기어링 분량의 변화를 보여주는 예시적 그래프(1900)를 도시한다. 간단한 그래프(1900)로 도시되었을지라도, 기어링은, 게임 물체에 따라 임의의 형태를 취할 수 있다. 19 shows an
도 20은, 컴퓨터 프로그램에 대한 사용자 입력을 수신하기 위한 예시적 과정을 설명하는 순서도(2000)를 도시한다. 상기 과정은 시작 블록(2002)에 의해 표시된 것처럼 시작되고, 제어 입력의 위치가 식별되는 동작(2004)으로 진행한다. 제어 입력은, 도 7과 관련하여 이상에서 설명되는 3차원 공간 내의 입력 물체의 위치, 또는 도 14와 관련하여 이상에서 설명되는 사용자 인터페이스 장치의 위치일 수 있다. 위치는, 대표 값, 또는 벡터와 같은 복수의 값들로 표현될 수 있다. 제어 입력의 위치를 식별한 이후에, 과정은 동작 2006으로 진행한다. 20 shows a
동작 2006에서, 위치가 변화되었는지 여부에 대한 결정이 행해진다. 위치가 변화되지 않았다면, 과정은 동작 2004로 복귀한다. 일 실시형태에서, 동작 2004는, 영상 데이터의 새로운 프레임이 영상 캡쳐 장치로부터 수신될 때까지 연기된다. 동작 2006에서, 위치가 변화되었음이 결정된다면, 과정은 동작 2008로 진행한다. In
동작 2008에서, 이동 벡터가 연산된다. 이동 벡터는 임의의 개수의 차원들을 가질 수 있다. 예를 들어, 3차원 공간 내의 입력 물체가 이동 중에 있다면, 이동 벡터는 3차원 벡터로서 이동을 기술할 수 있다. 그러나, 이동이 스티어링 휠과 같은 1차원 제어 입력이라면, 이동 벡터는, 스티어링 휠의 회전량을 기술하는 1차원 벡터이다. 이동 벡터를 결정한 이후에, 과정은 동작 2010으로 진행한다. In
동작 2010에서, 이동 벡터는 입력 벡터를 결정하기 위해 현재 기어링 분량에 의해 승산된다. 현재 기어링 분량은 스칼라량(scalar quantity) 또는 다차원 값일 수 있다. 스칼라량이라면, 이동 벡터의 모든 차원들은 동일한 량만큼 승산된다. 기어링 분량이 다차원이라면, 이동 벡터의 각각의 차원은 대응 차원의 기어링 분량만큼 승산된다. 기어링 분량은 사용자 입력에 반응하여 변화할 수 있고, 소프트웨어의 제어를 받을 수 있다. 그러므로, 현재 기어링 분량은 시시각각으로 변화할 수 있다. 이동 벡터에 현재 기어링 분량을 승산한 이후에, 과정은 동작 2012로 진행한다. In
동작 2012에서, 가상 물체의 새로운 위치가 동작 2010에서 연산된 입력 벡터를 이용하여 연산된다. 새로운 위치는 카메라 위치, 또는 가상 스티어링 휠과 같은 물체 위치일 수 있다. 가상 물체는 디스플레이 스크린 상에 디스플레이되지 않을 수 있다. 가상 물체의 새로운 위치가 연산되면, 과정은, 새로운 위치를 표현하는 데이터가 어플리케이션 프로그램으로 전달되는 동작 2014로 진행한다. 그 다음에, 과정은 종료 블록(2016)에 의해 표시된 것처럼 종료한다. 그러나, 이러한 진행은 본질적으로 예시적이며, 다른 선택례들이 가능하다. In
일 실시형태에서, 동작들은 입력 장치의 검출 및 입력 장치의 이동을 포함할 것이다. 입력 장치의 이동은 입력 장치를 보고 있는 카메라에 의해 결정된다. 사용자 제어 또는 미리 설정되거나 미리 프로그래밍된 세팅들에 의해 기어링 값은 적용된다. 사용자에 의해 설정된다면, 기어링 값은, 예를 들어, 사용자가 입력 장치(예를 들어, 제어기)의 버튼을 치는 것을 허용함으로써 선택될 수 있다. 기어링 분량에 따라서, 이동 제어는 컴퓨터 게임의 물체로 매핑된다. 사용자가 게임의 동작 그림을 제어하기 위해 입력 장치를 이용한다면, 설정되거나 설정되도록 제어되는 기어링은, 입력 장치에 의한 이동이 컴퓨터 게임의 동작 그림에 의한 이동으로 매핑되는 방법에 영향을 미칠 것이다. 그러므로, 기어링 및 기어링의 변화는, 컴퓨터 게임의 일부일 수 있는 물체에 의한 매핑된 반응의 동적 응용을 가능하게 한다. In one embodiment, the operations will include detection of the input device and movement of the input device. The movement of the input device is determined by the camera looking at the input device. The gearing value is applied by user control or by preset or pre-programmed settings. If set by the user, the gearing value can be selected, for example, by allowing the user to hit a button on an input device (eg, a controller). Depending on the amount of gearing, the movement control is mapped to the object of the computer game. If the user uses the input device to control the motion picture of the game, the gearing that is set or controlled to be set will affect how movement by the input device is mapped to motion by the motion picture of the computer game. Therefore, the gearing and the change in the gearing allow for the dynamic application of the mapped response by an object that may be part of a computer game.
다양한 실시형태들에서, 농도 값, 제어기 플레이어 번호, 제어기들을 포함하는 하나 이상의 입력 물체의의 방향 및/또는 위치를 결정하기 위해 이상에서 설명되는 영상 처리 기능들은, 컴퓨터 시스템에서 실행되는 프로세스에서 수행된다. 컴퓨팅 시스템은, 또한 제어기 플레이어 번호, 제어기들을 포함하는 하나 이상의 입력 물체들의 방향 및/또는 위치, 제어기 동작 등을 포함하는 데이터와 같은, 영상 또는 오디오 처리로부터 생성된 데이터를 요청하거나 이러한 데이터를 수용하는, 게임 어플리케이션일 수 있는 어플리케이션 프로그램으로 칭해지는 주 프로세스를 실행시킨다. 다양한 실시형태들에서, 영상 및/또는 오디오 처리 기능들을 수행하는 프로세스는, 비디오 카메라 또는 비디오/오디오 감시 장치를 위한 구동기이며, 상기 구동기는, 일반적으로 당업계에서 공지된 실시형태일 수 있는 임의의 형태의 프로세스간 통신을 통하여 데이터를 주 프로세스로 제공한다. 게임 소프트웨어 또는 다른 어플리케이션 프로그램인 주 프로세스를 실행시킴에 따라, 영상 또는 오디오 처리를 수행하는 프로세스는 동일 프로세서 또는 다른 프로세서에서 실행된다. 예를 들어, 프로시져 콜(procedure call)을 이용하여, 동일 프로세스에서의 영상 또는 오디오 처리 및 게임 기능 모두에 대한 공통 프로세스를 가지는 것이 가능하다. 그러므로, 입력 벡터 또는 다른 정보가 "프로그램"으로 제공되는 것으로 기술되고 있지만, 본 발명은, 단일 프로세스가 영상 처리 기능 및 게임 기능 모두를 수행할 수 있도록 프로시져 콜 또는 다른 소프트웨어 기능을 이용하여 프로세스의 일 루틴으로 이러한 데이터를 제공하는 것을 포함한다. 이에 따라, 통상의 프로세서 코어 또는 복수 프로세서 코어들에서 실행되는 하나 이상의 프로세스들이, 본 명세서에서 기술된 것처럼 영상 및/또는 오디오 처리를 수행하고, 분리된 프로세스는 게임 기능들을 수행한다. In various embodiments, the image processing functions described above to determine the concentration value, controller player number, direction and / or location of one or more input objects including the controllers are performed in a process executed in a computer system. . The computing system may also request or accept data generated from video or audio processing, such as data including a controller player number, the direction and / or location of one or more input objects including controllers, controller operation, and the like. It executes a main process called an application program which may be a game application. In various embodiments, the process of performing video and / or audio processing functions is a driver for a video camera or video / audio surveillance device, the driver being generally any of the embodiments known in the art. Provides data to the main process through a form of interprocess communication. By executing the main process which is game software or other application program, the process of performing the video or audio processing is executed in the same processor or another processor. For example, using a procedure call, it is possible to have a common process for both video or audio processing and game functions in the same process. Therefore, while an input vector or other information is described as being provided as a "program", the present invention uses a procedure call or other software function to enable a single process to perform both image processing and game functions. This includes providing this data to a routine. Accordingly, one or more processes running on a conventional processor core or multiple processor cores perform video and / or audio processing as described herein, and the separate process performs game functions.
본 발명은, 다른 사용자 입력 메커니즘들 및, 음향의 각도 방향을 추적하는 메커니즘들 및/또는 물체의 위치를 능동적으로 또는 수동적으로 추적하는 메커니즘들, 기계 시각을 이용하는 메커니즘들, 이들의 조합들로서 이용될 수 있으며, 추적된 물체는 시스템으로의 피드백을 조작하는 보조 제어들 또는 버튼들을 포함하고, 이러한 피드백은, 전송 또는 변조에 영향을 미치거나, 상태를 엔코딩하거나, 그리고/또는 명령들을 추적되는 장치로부터 또는 상기 장치로 전송하는, 버튼들, 압력 패드 등 뿐만 아니라, 광원으로부터의 발광, 음향 변형 수단, 또는 다른 적합한 송신기 및 변조기들을 포함할 수 있으며 이에 제한되지 않는다. The invention is intended to be used as other user input mechanisms, mechanisms for tracking the angular direction of sound and / or mechanisms for actively or passively tracking the position of an object, mechanisms using machine vision, combinations thereof The tracked object may include auxiliary controls or buttons to manipulate feedback to the system, which feedback may affect transmission or modulation, encode status, and / or commands from the device being tracked. Or but not limited to, buttons, pressure pads, etc., as well as light emitting from a light source, sound modifying means, or other suitable transmitters and modulators that transmit to the device.
본 발명은, 게임 콘솔들, 게임 컴퓨터들 또는 컴퓨팅 장치들, 핸드-헬드 장 치들, 마이크로프로세서 시스템들, 마이크로프로세서-기반 또는 프로그래밍가능 소모 전자장치들, 미니컴퓨터들, 주 프레임 컴퓨터들 등을 포함하는 다른 컴퓨터 시스템 구성들로 실시될 수 있다. 본 발명은, 네트워크를 통해 링크된 원거리 처리 장치들에 의해 태스크들이 수행되는 분산 컴퓨팅 환경들에서 실시될 수 있다. 예를 들어, 온라인 게임 시스템들 및 소프트웨어가 또한 사용될 수 있다. The invention includes game consoles, game computers or computing devices, hand-held devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, main frame computers, and the like. Other computer system configurations. The invention may be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a network. For example, online game systems and software may also be used.
이상의 실시형태들이 기술되었을지라도, 본 발명은 컴퓨터 시스템들 내에 저장된 데이터를 포함하는 다양한 컴퓨터-실시 동작들을 이용할 수 있다. 이러한 동작들은 물리적 분량들의 물리적 조작을 필요로 하는 것들이다. 통상적으로, 필수적이지는 않지만, 이러한 분량들은, 저장되고, 전송되고, 결합되며, 비교되고, 그렇지 않은면 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취한다. 게다가, 수행되는 조작들은, 종종 재생, 식별, 결정 또는 비교와 같은 용어로 칭해진다. Although the above embodiments have been described, the present invention may utilize various computer-implemented operations including data stored in computer systems. These operations are those requiring physical manipulations of physical quantities. Typically, but not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared, and otherwise manipulated. In addition, the operations performed are often referred to in terms such as reproduction, identification, determination or comparison.
본 발명의 일부를 형성하는, 본 명세서에서 기술된 동작들은 유용한 기계 동작들이다. 본 발명은 또한 이러한 동작들을 수행하기 장치와 관련된다. 상기 장치는 이상에서 논의된 캐리어 네트워크(carrier network)와 같은 필요한 목적들을 위하여 특별히 구성될 수 있거나, 또는 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 동작되거나 구성되는 범용 컴퓨터일 수 있다. 특히, 다양한 범용 기계들이 본 명세서의 사상에 따라 기록된 컴퓨터 프로그램들을 이용하여 사용될 수 있거나, 또는 필요한 동작들을 수행하기 위해 더욱 특수화된 장치를 구성하는 것이 더욱 편할 수 있다. The operations described herein, which form part of the invention, are useful machine operations. The invention also relates to an apparatus for performing these operations. The apparatus may be specially configured for the necessary purposes, such as the carrier network discussed above, or it may be a general purpose computer which is selectively operated or configured by a computer program stored in the computer. In particular, various general purpose machines may be used using computer programs recorded in accordance with the teachings of the present disclosure, or it may be more convenient to construct a more specialized apparatus to perform the necessary operations.
본 발명은, 또한 컴퓨터 판독 매체 상의 컴퓨터 판독가능 코드로서 실시될 수 있다. 컴퓨터 판독가능 매체는, 컴퓨터 시스템에 의해 판독될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 장치이다. 컴퓨터 판독가능 매체의 실시예들은, 하드 드라이브들, NAS(network attached storage), 리드-온리 메모리(read-only memory), 랜덤-액세스 메모리(random-access memory), 플래시 기반 메모리(FLASH based memory), CD-ROM들, CD-R들, CD-RW들, DVD들, 자기 테이프들, 및 다른 광학 및 비-광학 데이터 저장 장치들을 포함한다. 컴퓨터 판독가능 매체는, 컴퓨터 판독가능 코드가 분산 형태로 저장되고 실행되도록, 네트워크에 연결된 컴퓨터 시스템들에 걸쳐서 분포될 수 있다. The invention may also be embodied as computer readable code on a computer readable medium. A computer readable medium is any data storage device that can store data that can be read by a computer system. Embodiments of computer readable media may include hard drives, network attached storage (NAS), read-only memory, random-access memory, flash based memory. , CD-ROMs, CD-Rs, CD-RWs, DVDs, magnetic tapes, and other optical and non-optical data storage devices. The computer readable medium may be distributed over computer systems connected to a network such that the computer readable code is stored and executed in a distributed form.
또한, 기어링이 비디오 게임들과 관련하여 논의되었을지라도, 기어링은 임의의 컴퓨터 제어 환경에 적용될 수 있다고 이해되어야 한다. 일 실시예에서, 기어링은, 정보의 상호작용, 선택 또는 입력을 가능하게 하는 컴퓨터 입력 장치와 관련될 수 있다. 다른 입력 또는 상호작용 동작들 동안 다른 기어링을 적용하는 것은, 미리 구성된 제어 세팅들을 가지는 환경들에서 통상적으로 발견되지 않는 더 발전된 동작을 수행하게 할 수 있다. 따라서, 본 명세서에서 정의된 것처럼, 기어링의 실시형태들은 넓은 범위를 포괄하는 어플리케이션이 주어져야 한다. Also, although gearing has been discussed in connection with video games, it should be understood that gearing can be applied to any computer controlled environment. In one embodiment, gearing may be associated with a computer input device that enables the interaction, selection or input of information. Applying different gearing during different input or interaction operations may result in a more advanced operation that is not typically found in environments with preconfigured control settings. Thus, as defined herein, embodiments of gearing should be given a wide range of applications.
기어링이 결정되면, 기어링은 컴퓨터 프로그램으로 전달되는 동작에 적용될 수 있다. 이상에서 언급되었듯이, 입력 장치의 동작의 추적은, 영상 분석, 관성 분석, 가청 분석을 통하여 성취될 수 있다. 동작들의 실시예들은, 공과 같은 물체를 던지는 것, 배트 또는 골프 클럽(golf club)과 같은 물체를 스윙하는 것, 핸드 펌 프(hand pump)를 펌핑하는 것, 문 또는 창문을 열거나 닫는 것, 스티어링 휠을 돌리는 것 또는 다른 차량 제어, 펀치들과 같은 무술 움직임, 모래를 뿌리는 움직임, 왁스를 칠하거나 벗겨내는 것, 집에 페인트칠하는 것, 흔드는 것, 덜걱거리는 것, 굴리는 것, 풋볼 던지기, 야구공 던지기, 손잡이를 돌리는 움직임, 3D/2D 마우스 움직임, 스크롤(scroll) 움직임, 공지된 윤곽들을 가진 움직임, 임의의 기록가능 움직임, 공간에서 임의의 방향으로 타이어를 펌핑하는 것과 같은 임의의 벡터의 앞뒤를 따르는 움직임, 경로를 따르는 움직임, 잡음 플로어, 스플라인들(splines) 등 내에서 기록되고, 추적되며, 반복될 수 있는 사용자 조작에 근거한 정확한 정지 시간과 시작 시간을 갖는 움직임을 포함하며, 이에 제한되지 않는다. 이러한 동작들 각각은 경로 데이터로부터 미리 기록될 수 있고 시간-기반 모델로서 저장될 수 있다. 그러므로, 기어링은 사용자 또는 프로그램에 의해 설정된 기어링의 정도에 따라서, 이러한 동작들 중 하나에 적용될 수 있다. Once gearing is determined, gearing may be applied to the operation transferred to the computer program. As mentioned above, the tracking of the operation of the input device may be achieved through image analysis, inertial analysis, and audible analysis. Embodiments of operations include throwing an object, such as a ball, swinging an object, such as a bat or golf club, pumping a hand pump, opening or closing a door or window, Turning the steering wheel or other vehicle control, martial arts movements such as punches, sanding movements, waxing or peeling off, painting the house, shaking, rattles, rolling, playing football Any vector such as, throwing a baseball, turning a handle, 3D / 2D mouse movement, scrolling movement, known contoured movement, any recordable movement, pumping tires in any direction in space Accurately based on user manipulations that can be recorded, tracked, and repeated within motions along the front and back, along paths, noise floors, splines, etc. It comprises a movement having a support time and the start time, not limited to this. Each of these operations may be pre-recorded from the route data and stored as a time-based model. Therefore, gearing may be applied to one of these operations, depending on the degree of gearing set by the user or program.
상술한 발명이 명확한 이해를 위하여 상세히 기술되었을지라도, 특정 변화들 및 변형례들이 첨부된 청구범위 내에서 실시될 수 있음은 명확하다. 따라서, 본 실시형태들은 예시적인 것이며 제한적이지 않고, 본 발명은 본 명세서 내에 주어진 세부사항들에 제한되지 않으며, 첨부된 청구범위의 범위 및 균등물 내에서 변형될 수 있다. Although the foregoing invention has been described in detail for clarity of understanding, it is clear that certain changes and modifications may be made within the scope of the appended claims. Accordingly, the present embodiments are illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Claims (21)
Applications Claiming Priority (21)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/381,724 | 2006-05-04 | ||
| US11/381,725 | 2006-05-04 | ||
| US11/381,728 | 2006-05-04 | ||
| US11/381,727 | 2006-05-04 | ||
| US11/381,729 | 2006-05-04 | ||
| US11/381,727 US7697700B2 (en) | 2006-05-04 | 2006-05-04 | Noise removal for electronic device with far field microphone on console |
| US11/381,721 US8947347B2 (en) | 2003-08-27 | 2006-05-04 | Controlling actions in a video game unit |
| US11/381,724 US8073157B2 (en) | 2003-08-27 | 2006-05-04 | Methods and apparatus for targeted sound detection and characterization |
| US11/381,725 US7783061B2 (en) | 2003-08-27 | 2006-05-04 | Methods and apparatus for the targeted sound detection |
| US11/381,729 US7809145B2 (en) | 2006-05-04 | 2006-05-04 | Ultra small microphone array |
| US11/381,721 | 2006-05-04 | ||
| US11/381,728 US7545926B2 (en) | 2006-05-04 | 2006-05-04 | Echo and noise cancellation |
| US11/382,036 | 2006-05-06 | ||
| US11/382,036 US9474968B2 (en) | 2002-07-27 | 2006-05-06 | Method and system for applying gearing effects to visual tracking |
| US11/382,038 | 2006-05-06 | ||
| US11/382,038 US7352358B2 (en) | 2002-07-27 | 2006-05-06 | Method and system for applying gearing effects to acoustical tracking |
| US11/382,041 US7352359B2 (en) | 2002-07-27 | 2006-05-07 | Method and system for applying gearing effects to inertial tracking |
| US11/382,041 | 2006-05-07 | ||
| US11/382,040 US7391409B2 (en) | 2002-07-27 | 2006-05-07 | Method and system for applying gearing effects to multi-channel mixed input |
| US11/382,040 | 2006-05-07 | ||
| PCT/US2007/010852 WO2007130582A2 (en) | 2006-05-04 | 2007-05-04 | Computer imput device having gearing effects |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20090025228A KR20090025228A (en) | 2009-03-10 |
| KR101060779B1 true KR101060779B1 (en) | 2011-08-30 |
Family
ID=38668336
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020087029707A Active KR101060779B1 (en) | 2006-05-04 | 2007-05-04 | Methods and apparatuses for applying gearing effects to an input based on one or more of visual, acoustic, inertial, and mixed data |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP2013865A4 (en) |
| JP (3) | JP4567805B2 (en) |
| KR (1) | KR101060779B1 (en) |
| WO (1) | WO2007130582A2 (en) |
Families Citing this family (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8888593B2 (en) * | 2005-10-26 | 2014-11-18 | Sony Computer Entertainment Inc. | Directional input for a video game |
| US8678896B2 (en) | 2007-06-14 | 2014-03-25 | Harmonix Music Systems, Inc. | Systems and methods for asynchronous band interaction in a rhythm action game |
| US7625284B2 (en) | 2007-06-14 | 2009-12-01 | Harmonix Music Systems, Inc. | Systems and methods for indicating input actions in a rhythm-action game |
| US8663013B2 (en) | 2008-07-08 | 2014-03-04 | Harmonix Music Systems, Inc. | Systems and methods for simulating a rock band experience |
| EP2356545B1 (en) * | 2008-10-27 | 2016-09-14 | Sony Interactive Entertainment Inc. | Spherical ended controller with configurable modes |
| US9898675B2 (en) * | 2009-05-01 | 2018-02-20 | Microsoft Technology Licensing, Llc | User movement tracking feedback to improve tracking |
| US8465366B2 (en) | 2009-05-29 | 2013-06-18 | Harmonix Music Systems, Inc. | Biasing a musical performance input to a part |
| US8449360B2 (en) | 2009-05-29 | 2013-05-28 | Harmonix Music Systems, Inc. | Displaying song lyrics and vocal cues |
| KR20100138725A (en) | 2009-06-25 | 2010-12-31 | 삼성전자주식회사 | Virtual World Processing Unit and Methods |
| US9981193B2 (en) | 2009-10-27 | 2018-05-29 | Harmonix Music Systems, Inc. | Movement based recognition and evaluation |
| US8702485B2 (en) | 2010-06-11 | 2014-04-22 | Harmonix Music Systems, Inc. | Dance game and tutorial |
| US10357714B2 (en) | 2009-10-27 | 2019-07-23 | Harmonix Music Systems, Inc. | Gesture-based user interface for navigating a menu |
| WO2011070596A1 (en) * | 2009-12-09 | 2011-06-16 | Danilo Pasquariello | Control device for console-based videogames |
| US8636572B2 (en) | 2010-03-16 | 2014-01-28 | Harmonix Music Systems, Inc. | Simulating musical instruments |
| US9358456B1 (en) | 2010-06-11 | 2016-06-07 | Harmonix Music Systems, Inc. | Dance competition game |
| US8562403B2 (en) | 2010-06-11 | 2013-10-22 | Harmonix Music Systems, Inc. | Prompting a player of a dance game |
| KR101441289B1 (en) * | 2010-08-27 | 2014-09-29 | 에스케이플래닛 주식회사 | Method and apparatus for creating digital contents considering input sensitivity of mobile device |
| US9024166B2 (en) | 2010-09-09 | 2015-05-05 | Harmonix Music Systems, Inc. | Preventing subtractive track separation |
| US20120218395A1 (en) * | 2011-02-25 | 2012-08-30 | Microsoft Corporation | User interface presentation and interactions |
| JP6041466B2 (en) * | 2011-06-01 | 2016-12-07 | 任天堂株式会社 | Information processing program, information processing apparatus, information processing system, and information processing method |
| US8884949B1 (en) | 2011-06-06 | 2014-11-11 | Thibault Lambert | Method and system for real time rendering of objects from a low resolution depth camera |
| US20130080976A1 (en) * | 2011-09-28 | 2013-03-28 | Microsoft Corporation | Motion controlled list scrolling |
| JP6177147B2 (en) * | 2014-01-21 | 2017-08-09 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing apparatus and information processing method |
| JP6193135B2 (en) | 2014-01-21 | 2017-09-06 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing apparatus, information processing system, and information processing method |
| JP6177146B2 (en) * | 2014-01-21 | 2017-08-09 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing apparatus and information processing method |
| JP6177145B2 (en) * | 2014-01-21 | 2017-08-09 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing apparatus and information processing method |
| CN105917385A (en) | 2014-01-21 | 2016-08-31 | 索尼互动娱乐股份有限公司 | Information processing device and information processing method |
| JP6027554B2 (en) | 2014-01-21 | 2016-11-16 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing apparatus, information processing system, block system, and information processing method |
| KR102459716B1 (en) * | 2014-07-30 | 2022-10-28 | 모비디어스 리미티드 | Low power computational imaging |
| EP3234741A4 (en) * | 2014-12-18 | 2018-08-22 | Facebook, Inc. | Method, system and device for navigating in a virtual reality environment |
| US20180133596A1 (en) * | 2015-04-15 | 2018-05-17 | Thomason Licensing | Configuring translation of three dimensional movement |
| IT201700020955A1 (en) * | 2017-02-24 | 2018-08-24 | Xplored S R L | METHOD AND APPARATUS FOR CHECKING VIDEO GAMES |
| TWI700614B (en) | 2017-04-21 | 2020-08-01 | 宏達國際電子股份有限公司 | Operating method of tracking system, controller, tracking system, and non-transitory computer readable storage medium |
| US10653957B2 (en) * | 2017-12-06 | 2020-05-19 | Universal City Studios Llc | Interactive video game system |
| EP3650988A1 (en) * | 2018-11-09 | 2020-05-13 | iXperienz GmbH & Co. KG | Input device and method for inputting information, as well as a method for generating a virtual pointer |
| US10773157B1 (en) | 2019-07-26 | 2020-09-15 | Arkade, Inc. | Interactive computing devices and accessories |
| US10893127B1 (en) * | 2019-07-26 | 2021-01-12 | Arkade, Inc. | System and method for communicating interactive data between heterogeneous devices |
| US10946272B2 (en) | 2019-07-26 | 2021-03-16 | Arkade, Inc. | PC blaster game console |
| CN114225379A (en) * | 2021-12-20 | 2022-03-25 | 努比亚技术有限公司 | Game scene vibration regulation and control method, equipment and computer readable storage medium |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07284166A (en) * | 1993-03-12 | 1995-10-27 | Mitsubishi Electric Corp | Remote control device |
| SE504846C2 (en) * | 1994-09-28 | 1997-05-12 | Jan G Faeger | Control equipment with a movable control means |
| US5633657A (en) * | 1994-10-11 | 1997-05-27 | Falcon; Fernando D. | Mouse driver arrangement for providing advanced scrolling capabilities to a conventional mouse |
| US6400374B2 (en) * | 1996-09-18 | 2002-06-04 | Eyematic Interfaces, Inc. | Video superposition system and method |
| JPH10177451A (en) * | 1996-12-16 | 1998-06-30 | Fujitsu Ltd | Instruction input device |
| US6720949B1 (en) * | 1997-08-22 | 2004-04-13 | Timothy R. Pryor | Man machine interfaces and applications |
| US6203432B1 (en) * | 1999-05-11 | 2001-03-20 | Madcatz, Inc. | System for adjusting the response characteristic of an electronic game input device |
| JP3847058B2 (en) * | 1999-10-04 | 2006-11-15 | 任天堂株式会社 | GAME SYSTEM AND GAME INFORMATION STORAGE MEDIUM USED FOR THE SAME |
| JP3403685B2 (en) * | 2000-01-14 | 2003-05-06 | コナミ株式会社 | GAME SYSTEM AND COMPUTER-READABLE STORAGE MEDIUM |
| US20020085097A1 (en) * | 2000-12-22 | 2002-07-04 | Colmenarez Antonio J. | Computer vision-based wireless pointing system |
| JP3611807B2 (en) * | 2001-07-19 | 2005-01-19 | コナミ株式会社 | Video game apparatus, pseudo camera viewpoint movement control method and program in video game |
| JP4123878B2 (en) * | 2001-09-17 | 2008-07-23 | 富士ゼロックス株式会社 | Photoelectric conversion unit, position direction measuring apparatus, and position direction measuring method |
| JP4028708B2 (en) * | 2001-10-19 | 2007-12-26 | 株式会社コナミデジタルエンタテインメント | GAME DEVICE AND GAME SYSTEM |
| JP5109221B2 (en) * | 2002-06-27 | 2012-12-26 | 新世代株式会社 | Information processing device equipped with an input system using a stroboscope |
| JP3511518B1 (en) * | 2003-03-07 | 2004-03-29 | 任天堂株式会社 | GAME DEVICE, GAME PROGRAM, AND INFORMATION STORAGE MEDIUM |
| US20040212589A1 (en) * | 2003-04-24 | 2004-10-28 | Hall Deirdre M. | System and method for fusing and displaying multiple degree of freedom positional input data from multiple input sources |
| CN1816792A (en) * | 2003-07-02 | 2006-08-09 | 新世代株式会社 | Information processing device, information processing system, operating article, information processing method, information processing program, and game system |
| JP2005046422A (en) * | 2003-07-30 | 2005-02-24 | Samii Kk | Game machine controller |
| JP4779070B2 (en) * | 2004-05-11 | 2011-09-21 | 新世代株式会社 | Entertainment device and operation method thereof |
-
2007
- 2007-05-04 WO PCT/US2007/010852 patent/WO2007130582A2/en not_active Ceased
- 2007-05-04 KR KR1020087029707A patent/KR101060779B1/en active Active
- 2007-05-04 JP JP2009509745A patent/JP4567805B2/en active Active
- 2007-05-04 EP EP07776747A patent/EP2013865A4/en not_active Ceased
-
2008
- 2008-12-26 JP JP2008333907A patent/JP4598117B2/en active Active
-
2009
- 2009-06-12 JP JP2009141043A patent/JP5277081B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP2013865A2 (en) | 2009-01-14 |
| EP2013865A4 (en) | 2010-11-03 |
| JP4598117B2 (en) | 2010-12-15 |
| JP2009266241A (en) | 2009-11-12 |
| WO2007130582A3 (en) | 2008-12-04 |
| WO2007130582A2 (en) | 2007-11-15 |
| JP2009112829A (en) | 2009-05-28 |
| JP2009535167A (en) | 2009-10-01 |
| JP4567805B2 (en) | 2010-10-20 |
| JP5277081B2 (en) | 2013-08-28 |
| KR20090025228A (en) | 2009-03-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101060779B1 (en) | Methods and apparatuses for applying gearing effects to an input based on one or more of visual, acoustic, inertial, and mixed data | |
| US10406433B2 (en) | Method and system for applying gearing effects to visual tracking | |
| US7352358B2 (en) | Method and system for applying gearing effects to acoustical tracking | |
| US7391409B2 (en) | Method and system for applying gearing effects to multi-channel mixed input | |
| US7352359B2 (en) | Method and system for applying gearing effects to inertial tracking | |
| CN101484933B (en) | The applying gearing effects method and apparatus to input is carried out based on one or more visions, audition, inertia and mixing data | |
| US10369466B2 (en) | Combiner method for altering game gearing | |
| EP1937380B1 (en) | Wireless video game controller and method for operating a wireless video game controller | |
| US8562433B2 (en) | Illuminating controller having an inertial sensor for communicating with a gaming system | |
| US9682320B2 (en) | Inertially trackable hand-held controller | |
| US8019121B2 (en) | Method and system for processing intensity from input devices for interfacing with a computer program | |
| US20080001951A1 (en) | System and method for providing affective characteristics to computer generated avatar during gameplay | |
| EP2111901B1 (en) | Obtaining input for controlling execution of a game program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20140806 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| FPAY | Annual fee payment |
Payment date: 20150806 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20160810 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| FPAY | Annual fee payment |
Payment date: 20170811 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| FPAY | Annual fee payment |
Payment date: 20180809 Year of fee payment: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 13 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 14 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 15 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 15 |