KR20090025228A - 시각, 음향, 관성, 및 혼합 데이터 중 하나 이상에 근거하여 기어링 효과들을 입력에 적용하기 위한 방법들 및장치들 - Google Patents

시각, 음향, 관성, 및 혼합 데이터 중 하나 이상에 근거하여 기어링 효과들을 입력에 적용하기 위한 방법들 및장치들 Download PDF

Info

Publication number
KR20090025228A
KR20090025228A KR1020087029707A KR20087029707A KR20090025228A KR 20090025228 A KR20090025228 A KR 20090025228A KR 1020087029707 A KR1020087029707 A KR 1020087029707A KR 20087029707 A KR20087029707 A KR 20087029707A KR 20090025228 A KR20090025228 A KR 20090025228A
Authority
KR
South Korea
Prior art keywords
gearing
input device
interaction
game
computer
Prior art date
Application number
KR1020087029707A
Other languages
English (en)
Other versions
KR101060779B1 (ko
Inventor
게리 엠. 제일러스키
리차드 엘. 막스
샤오동 마오
Original Assignee
소니 컴퓨터 엔터테인먼트 아메리카 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/381,724 external-priority patent/US8073157B2/en
Priority claimed from US11/381,729 external-priority patent/US7809145B2/en
Priority claimed from US11/381,725 external-priority patent/US7783061B2/en
Priority claimed from US11/381,727 external-priority patent/US7697700B2/en
Priority claimed from US11/381,728 external-priority patent/US7545926B2/en
Priority claimed from US11/381,721 external-priority patent/US8947347B2/en
Priority claimed from US11/382,038 external-priority patent/US7352358B2/en
Priority claimed from US11/382,036 external-priority patent/US9474968B2/en
Priority claimed from US11/382,041 external-priority patent/US7352359B2/en
Priority claimed from US11/382,040 external-priority patent/US7391409B2/en
Application filed by 소니 컴퓨터 엔터테인먼트 아메리카 인코포레이티드 filed Critical 소니 컴퓨터 엔터테인먼트 아메리카 인코포레이티드
Publication of KR20090025228A publication Critical patent/KR20090025228A/ko
Application granted granted Critical
Publication of KR101060779B1 publication Critical patent/KR101060779B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0325Detection 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1081Input via voice recognition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6063Methods for processing data by generating or executing the game program for sound processing
    • A63F2300/6072Methods 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

본 발명에 따르면, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법들 및 장치들이 제공된다. 컴퓨터 게임 시스템은 영상 데이터를 캡쳐하기 위한 비디오 캡쳐 장치를 포함한다. 본 방법은, 비디오 캡쳐 장치로 입력 장치를 디스플레이 하는 단계를 포함하며, 입력 장치는, 캡쳐된 영상 데이터의 분석 및 복수의 광들의 상태에 근거하여 컴퓨터 게임 시스템에 의해 해석될 입력 장치의 위치결정 및 통신 데이터를 전달하도록 변조되는 복수의 광들을 갖는다. 본 방법은 또한, 물체의 이동이 캡쳐된 영상 데이터 내에서 검출된 것처럼 입력 장치의 위치에서의 이동들로 매핑되도록, 컴퓨터 게임 시스템에 의해 실행될 컴퓨터 게임의 물체 이동을 정의하는 단계를 포함한다. 그 다음에, 본 방법은, 컴퓨터 게임의 물체 이동과 입력 장치의 위치 이동 사이의 기어링을 설립한다. 기어링은, 입력 장치의 위치 이동들과 물체의 이동들 사이의 비율을 정의한다. 기어링은, 게임과 사용자에 의해 동적으로 설정될 수 있고, 또는 기어링 알고리즘에 따라 구성된 소프트웨어 또는 사용자에 의해 미리 설정될 수 있다. 입력 장치의 실시형태들은, 기어링도리 수 있는 관성 데이터를 제공하는 데에 이용될 수 있으며, 컴퓨터 게임 시스템에 의해 해석될 수 있다. 게다가, 실시형태들은, 요망된 기어링을 적용하도록, 영상 캡쳐, 관성 캡쳐 및 음향 캡쳐의 혼합뿐만 아니라, 음향 검출 시스템들을 사용할 수 있다.
컴퓨터 게임 시스템, 영상 데이터, 기어링, 매핑

Description

시각, 음향, 관성, 및 혼합 데이터 중 하나 이상에 근거하여 기어링 효과들을 입력에 적용하기 위한 방법들 및 장치들{Methods and apparatus for applying gearing effects to input based on one or more of visual, acoustic, inertial, and mixed data}
비디오 게임 산업은 수년동안 많은 변화들을 보여왔다. 연산 능력(computing power)이 확장됨에 따라, 비디오 게임 개발자들은, 이러한 연산 능력의 증가들을 이용하는 게임 소프트웨어를 마찬가지로 제작해왔다. 이 때문에, 비디오 게임 개발자들은, 매우 사실적인 게임 경험을 얻기 위하여 섬세한 동작들 및 수학들을 내장한 게임들을 코딩(coding)하여왔다.
예시적인 게임 플랫폼들(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)와 함께 고안된다. 온라인 게임 또한 가능한데, 사용자는 인터넷을 통하여 다른 사용자들과 상호작용하며 플레이할 수 있다.
게임 복잡성이 플레이어들의 흥미를 계속해서 돋움에 따라, 게임 소프트웨어 및 하드웨어 제조자들은 추가적인 상호작용을 가능하게 하기 위해 계속해서 혁신하여 왔다. 사실, 그러나, 사용자들이 게임과 상호작용하는 방식은 수년동안 드라마틱하게 변화하여 오지는 않았다. 통상적으로, 사용자들은 여전히 핸드헬드 제어기들을 이용하여 컴퓨터 게임들을 플레이하거나 마우스 포인팅 장치들(mouse pointing devices)을 이용하여 프로그램들과 상호작용한다.
상술한 바와 같이, 사용자가 게임 플레이와 더욱 진전된 상호작용을 할 수 있는 방법들 및 시스템들이 필요하다.
포괄적으로 말하면, 본 발명은, 컴퓨팅 시스템과의 동적 사용자 상호작용을 가능하게 하는 방법들, 시스템들 및 장치들을 제공함으로써 이러한 필요를 만족시킨다. 일 실시형태에서, 컴퓨팅 시스템은 프로그램을 실행시킬 것이며 상호작용은 프로그램과 있을 것이다. 프로그램은 예를 들어 상호작용 물체들 또는 특징들을 정의하는 비디오 게임일 수 있다. 상호작용은, 사용자들에게, 처리가 수행될 정도를 조정할 기어링(gearing) 요소를 조정할 능력을 제공하는 단계를 포함한다. 일 실시형태에서, 기어링은, 컴퓨터 프로그램의 물체 또는 특징에 의해 처리되는 이동량과 입력 장치의 이동 사이의 상대적 이동에 적용될 수 있다.
또 다른 실시형태에서, 기어링은 컴퓨터 프로그램의 특징에 적용될 수 있고, 입력 장치로부터의 검출은 관성 분석기의 처리에 근거할 수 있다. 관성 분석기는 관성 동작에 대하여 입력 장치를 추적할 것이며, 그 다음에 관성 분석기는 이러한 정보를 프로그램에 전달할 수 있다. 그 다음에 프로그램은 관성 분석기로부터 출력을 얻어, 기어링 분량이 출력에 적용될 수 있다. 그 다음에, 기어링 분량은, 프로그램이 동작을 연산할 비율을 지시할 것이다. 동작은 임의의 개수의 형태들을 취할 수 있으며, 동작의 일 실시예는 잡음, 다양한 냄새, 물체에 의한 이동, 또는 변수를 생성하는 것일 수 있다. 출력이 변수라면, 변수(예를 들어, 승산기(multiplier) 또는 이와 유사한 것)는 처리의 실행을 완성하는 데에 이용될 수 있어, 처리는 기어링 분량을 고려할 것이다. 기어링 분량은 사용자에 의해 미리 설정될 수 있거나, 동적으로 설정도리 수 있고, 또는 요구에 따라 조정될 수 있다.
일 실시형태에서, 추적은 음향 분석기에 의해 수행될 수 있다. 음향 분석기는 입력 장치로부터 음향 신호들을 수신하도록 구성되고, 음향 분석기는 수행될 명령 또는 상호작용으로 적용될 기어링 분량을 전달할 수 있다. 음향 분석기는 컴퓨터 프로그램 세그먼트(들)(computer program segment(s))의 형태일 수 있거나, 음향 신호 정보를 처리하도록 고안된 회로에서 구체적으로 정의될 수 있다. 그러므로, 음향 신호 정보는, 프로그램에 의해 동적으로 설정될 수 있고, 입력 장치를 통하여(예를 들어, 제어기의 버튼을 선택하거나, 음성 명령 등에 의해) 사용자에 의한 요구에 따라 설정될 수 있는 기어링 데이터를 포함할 수 있다.
일 실시형태에 있어서, 입력 장치의 추적은 영상 분석기를 통하여 수행될 수 있다. 이하에서 논의되는 것처럼, 영상 분석기는 사용자 및 입력 장치가 위치되는 공간의 영상들을 캡쳐(capture)하는 카메라를 포함할 수 있다. 이러한 실시예에 있어서, 영상 분석기는 처리 프로그램의 특징에 대한 일부 각각의 동작을 일으키기 위해 제어기의 위치를 결정하고 있다. 프로그램은 게임일 수 있으며, 특징은 입력 장치에 의해 제어되는 물체일 수 있다. 영상 분석기는 위치 데이터를 입력 기어링 값과 혼합하도록 더 구성된다. 기어링 값은 실행 동안 동적으로 사용자에 의해 제공될 수 있고 또는 실행 세션 내의 동작에 의존하여 프로그램에 의해 설정될 수 있다. 기어링 입력은 사용자에 의한 입력 동작에 근거하여 컴퓨터 프로그램에 의한 일부 처리에 대한 상대적 영향을 설정할 것이다. 일 실시형태에서, 기어링은 명령 또는 동작을 사용자 또는 사용자 입력 장치로부터 프로그램의 특징으로 번역할 것이다. 프로그램의 특징은 가시적인 물체일 필요는 없지만, 일부 파라미터(parameter)를 계산하는 데에 이용되는 변수의 조정, 음향, 진동 또는 영상 이동의 평가 또는 번역을 포함할 수 있다. 그러므로, 기어링은, 제어의 추가적 감지를, 프로그램 및 프로그램의 특징들에 제공되는 상호작용으로 제공할 것이다.
또 다른 실시형태에서, 믹서 분석기가 제공된다. 믹서 분석기는 게임의 특징으로의 혼성 효과를 생성하도록 고안 된다. 예를 들어, 믹서 분석기는, 영상 분석기, 음향 분석기, 관성 분석기 등의 조합으로부터의 입력을 얻을 수 있다. 그러므로, 일 실시형태에서, 믹서 분석기는, 혼성 결과, 명령 또는 프로그램의 특징과의 상호작용을 생성하도록 혼합되고 합성될 수 있는 수개의 기어링 변수들을 수신할 수 있다. 또한, 프로그램의 특징은, 가시적 물체, 비가시적 물체, 동작의 처리에 사용되는 변수들, 가청(audible) 반응들에 대한 조정 등을 포함하는 것으로 이해되어야 한다.
일 실시형태에서, 사용자의 제어기에 의한 이동이 게임의 특징에 대한 이동 또는 동작으로 번역될 분량은, 설정되거나 결정된 기어링과 적어도 부분적으로 관련될 것이다. 기어링은 게임 동안 동적으로 설정되거나, 미리 설정될 수 있으며 또는 사용자에 의한 게임 플레이 동안 조정될 수 있고, 반응은, 또 다른 수준의 사용자 상호작용 및 향상된 경험을 제공하기 위해 비디오 게임 물체 또는 특징으로 매핑(mapping)된다.
본 발명은, 프로세스(process), 장치(apparatus), 시스템, 디바이스(device), 또는 방법을 포함하여, 다양한 방식들로 실시될 수 있다. 본 발명의 수개의 진보적 실시형태들이 이하에서 설명된다.
일 실시형태에서, 컴퓨터 게임 시스템과 상호작용 인터페이스(interface)하기 위한 방법이 제공된다. 컴퓨터 게임 시스템은 영상 데이터를 캡쳐하기 위한 비디오 게임 장치를 포함한다. 본 방법은, 비디오 캡쳐 장치로의 입력 장치를 디스플레이하는 단계를 포함하고, 입력 장치는, 캡쳐된 영상 데이터의 분석 및 복수의 광들의 상태에 근거하여, 입력 장치의 위치결정 및 컴퓨터 게임 시스템에 의해 해석될 통신 데이터를 전달하도록 변조되는 복수의 광들을 가진다. 본 방법은 또한 컴퓨터 게임 시스템에 의해 실행될 컴퓨터 게임의 물체의 이동을 정의하는 단계를 포함하여, 물체의 이동은, 캡쳐된 영상 데이터에서 검출된 대로 입력 장치의 위치 이동들로 매핑될 수 있다. 그 다음에, 본 방법은, 컴퓨터 게임의 물체의 이동과 입력 장치의 위치 이동들 사이의 기어링을 설립한다. 기어링은, 입력 장치의 위치 이동들과 물체의 이동들 사이의 비율을 설립한다. 기어링은 게임 또는 사용자에 의해 동적으로 설정될 수 있거나, 또는 기어링 알고리즘에 따라 구성된 소프트웨어에 의해 또는 사용자에 의해 미리 설정될 수 있다.
또 다른 실시형태에서, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법이 제공된다. 컴퓨터 게임 시스템은 영상 데이터를 캡쳐하기 위한 비디오 캡쳐 장치를 포함한다. 본 방법은, 비디오 캡쳐 장치로의 입력 장치를 디스플레이하는 단계를 포함하여, 입력 장치는, 캡쳐된 영상 데이터의 분석에 근거하여 입력 장치의 위치결정 및 컴퓨터 게임 시스템에 의해 해석될 통신 데이터를 전달한다. 그 다음에, 본 방법은, 컴퓨터 게임 시스템에 의해 실행될 컴퓨터 게임의 물체 이동을 정의하고, 물체 이동은 캡쳐된 영상 데이터에서 검출된 대로 입력 장치의 위치 이동으로 매핑될 수 있다. 그 다음에 본 방법은, 컴퓨터 게임의 물체 이동과 입력 장치의 위치 이동들 사이의 기어링을 설립한다. 기어링은, 입력 장치의 위치 이동들과 물체의 이동들 사이의 사용자 조정가능 비율을 설립한다.
또 다른 실시형태에서, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 프로그램 명령들을 포함하는 컴퓨터 판독가능 매체가 제공된다. 컴퓨터 게임 시스템은 영상 데이터를 캡쳐하기 위한 비디오 캡쳐 장치를 포함한다. 컴퓨터 판독가능 매체는 비디오 캡쳐 장치로의 입력 장치의 디스플레이를 검출하기 위한 프로그램 명령들을 포함하고, 입력 장치는, 캡쳐된 영상 데이터의 분석에 근거하여 입력 장치의 위치 결정 및 컴퓨터 게임 시스템에 의해 해석될 통신 데이터를 전달한다. 컴퓨터 판독가능 매체는 또한 컴퓨터 게임 시스템에 의해 실행될 컴퓨터 게임의 물체 이동을 정의하기 위한 프로그램 명령을 포함하고, 물체 이동은 캡쳐된 영상 데이터에서 검출된 대로 입력 장치의 위치 이동들로 매핑된다. 컴퓨터 판독가능 매체는 또한 컴퓨터 게임의 물체 이동과 입력 장치의 위치 이동들 사이의 기어링을 설립하기 위한 프로그램 명령들을 포함하고, 기어링은, 입력 장치의 위치 이동들과 물체의 이동들 사이의 사용자 조정가능 비율을 설립하도록 구성될 수 있다. 사용자 조정가능 비율은, 게임 플레이 동안, 게임 플레이 세션 전에, 또는 게임 동안의 특정 동작 이벤트들 동안 동적으로 변화될 수 있다.
또 다른 실시형태에서, 사용자 동작들과 컴퓨터 프로그램의 물체에 의해 수행될 동작들 사이의 동적 사용자 상호작용을 수행하기 위한 시스템이 제공된다. 본 시스템은, 컴퓨팅 시스템, 컴퓨팅 시스템에 연결된 비디오 캡쳐 장치, 컴퓨팅 시스템으로부터 입력을 수신하는 디스플레이를 포함한다. 본 시스템은 또한 컴퓨팅 시스템에 의해 실행될 컴퓨터 프로그램과 인터페이스하기 위한 입력 장치를 포함한다. 입력 장치는, 제어되는 물체의 이동과 매핑되는 입력 장치의 이동 사이의 비율을 설립하기 위한 기어링 제어를 갖는다. 물체는 컴퓨터 프로그램에 의해 정의되고 컴퓨팅 시스템에 의해 실행된다. 입력 장치의 이동은 비디오 캡쳐 장치에 의해 식별되고, 디스플레이 상에 표시되는 물체의 이동은 입력 장치의 기어링 제어에 의해 설정되는 기어링 값을 갖는다. 이러한 실시형태에서, 입력 장치와 관련된 기어링은 일반적인 어플리케이션(application)에 적용될 수 있고, 반드시 게임에 대한 것이어야 할 필요는 없다.
또 다른 실시형태에서, 사용자 동작들과 컴퓨터 프로그램의 물체에 의해 수행될 동작들 사이의 동적 사용자 상호작용을 수행하기 위한 장치가 제공된다. 본 장치는 컴퓨팅 시스템에 의해 실행될 컴퓨터 프로그램과 인터페이스하기위한 입력 장치를 포함한다. 입력 장치는 제어되는 물체의 이동과 매핑되는 입력 장치의 이동 사이의 비율을 설립하기 위한 기어링 제어를 갖는다. 컴퓨터 프로그램에 의해 정의되고 컴퓨팅 시스템에 의해 실행되는 물체, 및 입력 장치의 이동은, 비디오 캡쳐 장치에 의해 식별되고, 물체의 이동은, 입력 장치의 기어링 제어에 의해 설정되는 기어링 값을 갖는 디스플레이에 표시된다.
또 다른 실시형태에서, 기어링은 컴퓨터 프로그램의 특징에 적용될 수 있고, 입력 장치로부터의 검출은 관성 분석기의 처리에 근거할 수 있다. 관성 분석기는 관성 동작에 대한 입력 장치를 추적할 것이며, 그 다음에 관성 분석기는 이러한 정보를 프로그램에 전달할 수 있다. 그 다음에, 기어링 분량이 출력에 적용될 수 있도록, 프로그램은 출력을 관성 분석기로부터 얻을 것이다. 그 다음에, 기어링 분량은, 프로그램이 동작을 연산하는 비율을 지시할 것이다. 동작은 임의의 개수의 형태들을 취할 수 있으며, 동작의 일 실시예는 잡음, 다양한 냄새, 물체에 의한 이동, 또는 변수를 생성하는 것일 수 있다. 출력이 변수라면, 변수(예를 들어, 승산기 등)는 프로세스의 실행을 완료하는 데에 이용될 수 있어, 프로세스는 기어링의 분량을 고려할 것이다. 기어링의 분량은, 미리 설정될 수 있거나, 사용자에 의해 동적으로 설정될 수 있거나, 또는 요구에 따라 조정될 수 있다.
일 실시형태에서, 추적은 음향 분석기에 의해 수행될 수 있다. 음향 분석기는 입력 장치로부터 음향 신호들을 수신하도록 구성되고, 음향 분석기는 수행되는 명령 또는 상호작용에 적용될 기어링 분량을 전달할 수 있다. 음향 분석기는 컴퓨터 프로그램 세그먼트(들)의 형태일 수 있으며, 또는 구체적으로 음향 신호 정보를 처리하도록 고안된 회로에서 정의될 수 있다. 그러므로, 음향 신호 정보는, 프로그램에 의해 동적으로 설정될 수 있고, 입력 장치를 통하여(예를 들어, 제어기 상의 버튼을 선택하거나 음성 명령 등을 통하여) 사용자에 의한 요구에 따라 설정될 수 있는 기어링 데이터를 포함할 수 있다.
또 다른 실시형태에서, 믹서 분석기가 제공된다. 믹서 분석기는 게임의 특징으로의 혼성 효과를 생성하도록 고안 된다. 예를 들어, 믹서 분석기는 영상 분석기, 음향 분석기, 관성 분석기 등의 조합으로부터 입력을 얻을 수 있다. 그러므로, 믹서 분석기는, 일 실시형태에서, 혼성 결과, 명령 또는 프로그램의 특징과의 상호작용을 생성하도록 혼합되고 합성될 수 있는 수개의 기어링 변수들을 수신할 수 있다. 또한 프로그램의 특징은, 가시적 물체, 비가시적 물체, 동작의 처리에 사용되는 변수들, 가청 반응들에 대한 조정들 등을 포함하는 것으로 이해되어야 한다.
본 발명의 장점들은, 예를 들어 본 발명의 원리들을 도시하는 첨부된 도면들과 함께, 이하의 실시예들로부터 명확해질 것이다.
본 발명은, 첨부된 도면들과 함께 이하의 실시예에 의해 쉽게 이해될 것이며, 동일한 참조번호들은 동일한 구성요소들을 지칭한다.
도 1은 영상 캡쳐 장치를 갖는 상호작용 게임 셋업(interactive game setup)을 도시한다.
도 2는 비디오 처리 시스템을 이용하는 예시적인 컴퓨터 상호작용을 도시한다.
도 3은 그래픽 디스플레이 상의 물체와 상호작용하기 위한 예시적 사용자 입력 시스템의 블록도이다.
도 4는 본 명세서에서 설명되는 본 발명의 실시형태들을 실시하도록 구성된 컴퓨터 처리 시스템의 개략 블록도이다.
도 5는, 선택적인 입력 장치로서 기능하며 조작되는 물체와 함께 사용하기에 적합한 비디오 게임 콘솔의 구성요소들의 구성의 블록도이다.
도 6은, 사용자에 의해 조작되는 것처럼, 사용자 입력 장치에 대응하는 픽셀(pixel) 그룹을 추적하고 식별하는 데에 이용되는 기능 블록들을 도시하는 블록도이다.
도 7은, 예시적 영상 처리 시스템에 대한 개략 블록도를 도시한다.
도 8은 도 7의 영상 처리 시스템에 대한 예시적 응용예를 도시한다.
도 9 및 도 10은, 영상 캡쳐 장치와 상호작용하는 예시적 제어기의 평면도 및 배면도이다.
도 11은, 도 9 및 도 10의 제어기에 대한 예시적 응용예를 도시한다.
도 12는, 도 11에 도시된 응용예에 대한 예시적 소프트웨어 제어 기어링 분량을 도시한다.
도 13은 스티어링 휠(steering wheel)을 갖는 예시적 제어기를 도시한다.
도 14는 도 13의 제어기에 대한 예시적 응용예를 도시한다.
도 15는 시간에 대한 기어링 분량의 예시적 변화들을 도시하는 예시적 그래프를 도시한다.
도 16은 사용자 상호작용에 대응하는 영상 처리 시스템의 또 다른 예시적 응용예를 도시한다.
도 17은 도 16에 도시된 응용예에 대한 야구 배트(bat) 스윙(swing)의 길이를 따르는 다른 시간들에서의 예시적 기어링 분량을 도시하는 그래프를 도시한다.
도 18은 사용자 상호작용에 대응하는 영상 처리 시스템의 또 다른 예시적 응용예를 도시한다.
도 19는 도 18에 도시된 응용예에 대하여 풋볼(football)을 "릴리스(release)"할 때의 기어링 분량의 예시적 변화를 보여주는 그래프를 도시한다.
도 20은 컴퓨터 프로그램으로의 사용자 입력을 수신하기 위한 예시적 과정을 설명하는 순서도를 도시한다.
이하의 실시예에서, 많은 구체적 세부사항들이 본 발명의 완전한 이해를 위해 제시될 것이다. 그러나, 당업자라면, 본 발명이 이러한 구체적 세부사항들의 일부 또는 전부 없이도 실시될 수 있다는 것을 잘 알 것이다. 공지된 과정들은, 본 발명을 불명확하게 하지 않도록 상세하게 설명되지 않을 것이다.
본 명세서에서 설명된 기술은 컴퓨터 프로그램과의 상호작용을 위해 동적으로 기어링된 입력들을 제공하는 데에 이용될 수 있다. 일반적으로, 기어링은 크기 및/또는 시간에서 다양한 정도들을 가질 수 있는 입력으로 정의될 수 있다. 그 다음에, 기어링의 정도는 컴퓨팅 시스템으로 전달될 수 있다. 기어링의 정도는 컴퓨팅 시스템에 의해 실행되는 프로세스에 적용될 수 있다. 유추하여, 프로세서는 입력 및 출력을 갖는 물통(bucket)의 유체(fluid)로서 표현될 수 있다. 상기 유체는 시스템에서 실행되는 프로세스이고, 따라서 기어링은 컴퓨팅 시스템에 의해 수행되는 일 양상(an aspect)의 처리를 제어한다. 일 예로서, 기어링은, 물통으로 들어가는 유체의 방울들로서 고려되는 입력 분량에 대하여 유체가 유체 물통으로부터 비워지는 속도를 제어할 수 있다. 그러므로, 충진 속도는 동적이고, 배출 속도도 동적이며, 배출 속도는 기어링에 의해 영향을 받을 수 있다. 그러므로, 기어링은, 게임 프로그램과 같은 프로그램으로 스트리밍될 수 있는 변화 값을 맞추도록 조정되거나 시간설정이 될 수 있다. 기어링은 또한, 프로세서에 의해 동작 또는 게임 요소, 물체, 플레이어, 캐릭터 등을 제어하는 이동 데이터 카운터와 같은 카운터에 영향을 줄 수 있다.
이러한 유추를 더욱 실체적인 컴퓨팅 예에 행한다면, 유체가 비워지는 속도는, 제어가, 일부 입력과 기어링의 합에 대응하여, 컴퓨터 프로그램의 특징에 의해 통과되거나 실행되는 속도일 수 있다. 컴퓨터 프로그램의 특징은 물체, 프로세스, 변수, 또는 예정/맞춤 알고리즘, 캐릭터, 게임 플레이어, 마우스(2D 또는 3D) 등일 수 있다. 기어링에 의해 변경될 수 있는 처리의 결과는, 임의의 개수의 방식들로 관측자에게 전달될 수 있다. 일 방식으로서, 디스플레이 스크린에서 시각적인 것, 음향에 의해 청취가능한 것, 촉감에 의해 진동, 이들의 조합들 등이 있을 수 있으며, 게임 또는 프로그램의 상호작용 요소에 대한 처리의 변경된 반응에 의해 일어날 수 있다.
입력은 다음을 통하여 수행되는 추적에 의해 획득될 수 있다: (1) 영상 분석, (2) 관성 분석, (3) 음향 분석, 또는 (1), (2) 또는 (3)의 혼성 혼합 분석. 다양한 실시예들이 영상 분석들 및 적용된 기어링과 관련하여 제공되지만, 추적은 비디오에 한정되지 않으며, 다양한 방식들, 구체적으로, 관성 분석, 음향 분석, 이들의 혼합들 및 다른 적합한 분석기들에 의해 성취될 수 있다는 것이 이해되어야 한다.
다양한 실시형태들에서, 비디오 카메라(예를 들어, 영상 분석)를 갖는 컴퓨터 또는 게임 시스템은, 영상 데이터를 처리할 수 있으며, 비디오 카메라의 전방에 있는 초점 영역 또는 주어진 체적에서 일어나는 다양한 동작들을 식별할 수 있다. 이러한 동작들은, 전형적으로 3차원 공간의 물체를 이동시키는 것 또는 회전시키는 것, 또는 버튼들, 다이얼들(dials), 조이스틱들(joy sticks) 등과 같은 다양한 제어들을 작동시키는 것을 포함한다. 이러한 기술들에 추가하여, 본 발명의 기술은 또한 디스플레이 스크린(display screen) 상의 하나 이상의 대응 동작들 또는 프로그램의 특징과 관련하여 입력의 감도를 조정하기 위해, 본 명세서에서 기어링으로 칭해지는 스케일링(scaling) 요소를 조정하는 추가적인 기능을 제공한다. 예를 들 어, 디스플레이 스크린 상의 동작들은 비디오 게임의 초점인 물체일 수 있다. 물체는, 또한 변수, 승산기, 또는 음향, 진동, 디스플레이 스크린 상의 영상들 또는 이들의 조합 및 기어링된 출력의 다른 표현들로 렌더링(rendering)될 연산과 같은 프로그램의 특징일 수 있다.
또 다른 실시형태에서, 기어링은 컴퓨터 프로그램의 특징에 적용될 수 있고, 입력 장치의 검출은 관성 분석기에 의한 처리에 근거할 수 있다. 관성 분석기는 관성 동작에 대하여 입력 장치를 추적할 것이며, 그 다음에 프로그램으로 이에 대한 정보를 전달할 수 있다. 그 다음에, 프로그램은, 기어링 분량이 출력에 적용될 수 있도록 관성 분석기로부터 출력을 얻을 것이다. 그 다음에, 기어링 분량은 프로그램이 동작을 연산할 비율을 지시할 것이다. 동작은 임의의 개수의 형태들을 취할 수 있으며, 동작의 일 실시예는 잡음, 다양한 냄새, 진동, 물체에 의한 이동, 또는 가시적 및/또는 청취가능한 결과를 출력하는 프로그램에 의한 연산을 생성하는 것일 수 있다. 출력이 변수라면, 변수는 프로세스의 실행을 완료하는 데에 이용될 수 있고, 프로세스는 기어링의 분량을 고려할 것이다. 기어링의 분량은 미리 설정될 수있거나, 사용자에 의해 동적으로 설정될 수 있거나, 또는 요구에 따라 조정될 수 있다.
다양한 유형들의 관성 센서 장치들은 6개의 자유도들(예를 들어, X, Y 및 Z 병진이동(예를 들어, 가속도) 및 X, Y 및 Z 축들을 중심으로 한 회전)에 대한 정보를 제공하는 데에 이용될 수 있다. 6개의 자유도들에 대한 정보를 제공하기 위한 적합한 관성 센서들의 실시예들은, 가속도계들, 하나 이상의 단일 축 가속도계들, 기계적 자이로스코프들(mechanical gyroscopes), 링 레이저 자이로스코프들(ring layser gyroscopes) 또는 이들 중 2개 이상의 조합들을 포함한다.
센서(들)로부터의 신호들은 본 발명의 방법에 따라 비디오 게임의 플레이 동안 제어기의 움직임 및/또는 방향을 결정하도록 분석될 수 있다. 이러한 방법은, 프로세서 판독가능 매체 내에 저장되고 디지털 프로세서에서 실행되는 일련의 프로세서 실행가능 프로그램 코드 명령들로서 실시될 수 있다. 예를 들어, 비디오 게임 시스템은 하나 이상의 프로세서들을 포함할 수 있다. 각각의 프로세서는, 임의의 적합한 디지털 프로세서, 예를 들어, 비디오 게임 콘솔들에서 통상적으로 사용되는 유형의 마이크로 프로세서 또는 맞춤고안된 멀티-프로세서 코어들일 수 있다. 일 실시형태에서, 프로세서는, 프로세서 판독가능 명령들의 실행을 통하여 관성 분석기를 실시할 수 있다. 명령들의 일부분은 메모리 내에 저장될 수 있다. 선택적으로, 관성 분석기는, 하드웨어, 예를 들어, ASIC(application specific integrated circuit) 또는 DSP(digital signal processor)에서 실시될 수 있다. 이러한 분석기 하드웨어는 제어기 또는 콘솔에 위치될 수 있으며, 또는 원거리의 그 밖의 위치에 위치될 수 있다. 하드웨어 실시형태들에 있어서, 분석기는, 예를 들어, 프로세서로부터의 신호들, 또는 USB 케이블, 이더넷(Ethernet), 네트워크, 인터넷, 단거리 무선 연결, 광대역 무선, 블루투스, 또는 로컬 네트워크를 통하여 연결된 원거리에 위치된 다른 소스(source)로부터의 외부 신호들에 반응하여 프로그래밍될 수 있다.
관성 분석기는, 관성 센서들에 의해 생성되는 신호들을 분석하고 제어기의 위치 및/또는 방향에 관한 정보를 이용하는 명령들을 포함하거나 실시할 수 있다. 관성 센서 신호들은 제어기의 위치 및/또는 방향에 관한 정보를 결정하도록 분석될 수 있다. 위치 및/또는 방향 정보는 시스템과 함께 비디오 게임의 플레이 동안 이용될 수 있다.
일 실시형태에서, 게임 제어기는, 관성 신호를 통해 프로세서로 위치 및/또는 방향 정보를 제공할 수 있는, 하나 이상의 관성 센서들을 포함할 수 있다. 방향 정보는, 제어기의 틸트(tilt), 롤(roll) 또는 요(yaw)와 같은 각도 정보를 포함할 수 있다. 이상에서 언급된 것처럼, 예를 들어, 관성 센서들은 임의의 개수 및/또는 조합의 가속도계들, 자이로스코프들 또는 틸트 센서들을 포함할 수 있다. 일 실시형태에서, 관성 센서들은 틸트 및 롤 축들과 관련하여 조이스틱 제어기의 방향을 감지하기에 적합한 틸트 센서들, 요 축을 따르는 가속도를 감지하기에 적합한 제 1 가속도계, 및 요 축과 관련하여 각 가속도를 감지하기에 적합한 제 2 가속도계를 포함한다. 가속도계는, 예를 들어, 하나 이상의 방향들과 관련된 질량의 변위를 감지하기 위한 센서들과 함께 하나 이상의 스프링들에 의해 실장된 질량을 포함하는 MEMS 장치로서 실시될 수 있다. 질량의 변위에 의존하는 센서들로부터의 신호들은 조이스틱 제어기의 가속도를 결정하는 데에 사용될 수 있다. 이러한 기술들은, 메모리 내에 저장될 수 있고 프로세서에 의해 실행될 수 있는, 게임 프로그램 또는 일반적인 프로그램으로부터의 명령들에 의해 실시될 수 있다.
예를 들어, 관성 센서로서 적합한 가속도계는, 예를 들어, 스프링들에 의해 프레임(frame)에 3개 또는 4개의 점들에서 탄성적으로 결합된 단순 질량일 수 있다. 피치(pitch) 및 롤 축들은, 조이스틱 제어기에 실장되는 프레임과 교차하는 평 면 내에 놓여 있다. 프레임( 및 조이스틱 제어기)이 피치 및 롤 축들을 중심으로 회전함에 따라, 질량은 중력의 영향 하에서 이동할 것이며, 스프링들은 피치 및/또는 롤의 각도에 의존하는 방식으로 연장되거나 압축될 것이다. 질량의 변위는, 피치 및/또는 롤의 분량에 의존하는 신호로 감지되고 변환될 수 있다. 요 축을 중심으로 한 각 가속도 또는 요 축을 따르는 선형 가속도는, 각 또는 선형 가속도의 분량에 의존하는 신호들로 감지되고 변환될 수 있는 스프링들의 압축 및/또는 연장, 또는 질량의 움직임의 특성 패턴들을 생성할 수 있다. 이러한 가속도계 장치는, 질량의 이동 또는 스프링들의 압축 및 팽창 힘들을 추적함으로써 요 축을 중심으로 한 틸트, 롤 각 가속도 및 요 축을 따르는 선형 가속도를 측정할 수 있다. 내변형성 계량 물질, 광 센서들, 자기 센서들, 홀-효과 장치들, 압전 장치들, 정전용량 센서들 등을 포함하여, 질량의 위치 및/또는 질량에 미치는 힘들을 추적하는 다수의 다른 방식들이 있다.
게다가, 광원들은, 예를 들어, 펄스 코드(pulse code), 진폭 변조 또는 주파수 변조 포맷(frequency modulation format)으로 원격 측정 신호들을 프로세서에 제공할 수 있다. 이러한 원격 측정 신호들은 어떤 버튼들이 눌려지고 있는지 및/또는 이러한 버튼들이 얼마나 세게 눌려지고 있는지를 가리킬 수 있다. 원격 측정 신호들은, 예를 들어, 펄스 코딩(pulse coding), 펄스 폭 변조(pulse width modulation), 주파수 변조 또는 광 세기(진폭) 변조에 의해 광학 신호로 엔코딩(encoding)될 수 있다. 프로세서는 광학 신호로부터 원격 측정 신호를 디코딩(decoding)할 수 있고, 디코딩된 원격 측정 신호에 대응하여 게임 명령을 실행할 수 있다. 원격 측정 신호들은, 영상 캡쳐 유닛에 의해 획득된 조이스틱 제어기의 영상들의 분석으로부터 디코딩될 수 있다. 선택적으로, 장치는, 광원들로부터의 원격 측정 신호 수신 전용인 분리된 광 센서를 포함할 수 있다.
프로세서는, 영상 캡쳐 유닛에 의해 검출된 광원들로부터의 광학 신호들 및/또는 마이크로폰 배열에 의해 검출된 음향 신호들로부터의 음원 위치 및 특성 정보와 함께 관성 센서로부터의 관성 신호들을 사용하여, 제어기 및/또는 사용자의 위치 및/또는 방향에 대한 정보를 유추한다. 예를 들어, "음향 레이더" 음원 위치 및 특성은, 조이스틱 제어기의 움직임이 (관성 센서들 및/또는 광원들을 통하여) 독립적으로 추적되는 동안 이동 음성(moving voice)을 추적하기 위해 마이크로폰 배열과 함께 사용될 수 있다. 음향 레이더에서, 미리 정해진 청취 영역이 실행 시간에 선택되고, 미리 정해진 청취 영역의 외부 소스들로부터 발생하는 음향들은 여과되어 제거된다. 미리 정해진 청취 영역들은 영상 캡쳐 유닛의 초점 체적 또는 필드에 대응하는 청취 영역을 포함할 수 있다.
일 실시형태에서, 추적은 음향 분석기에 의해 수행될 수 있다. 음향 분석기는 입력 장치로부터 음향 신호들을 수신하도록 구성되고, 음향 분석기는 수행되는 명령 또는 상호작용에 적용될 기어링 분량을 전달할 수 있다. 음향 분석기는 컴퓨터 프로그램 세그먼트(들)의 형태일 수 있거나 또는 구체적으로 음향 신호 정보를 처리하도록 고안된 회로에서 정의될 수 있다. 그러므로, 음향 신호 정보는, 프로그램에 의해 동적으로 설정되고, 입력 장치를 통하여(예를 들어, 제어기 상의 버튼을 선택하거나 음성 명령 등을 통하여) 사용자에 의한 요구에 따라 설정될 수 있는 기 어링 데이터를 포함할 수 있다. 음향 분석기의 일 실시예가 2006년 5월4일에 출원된 미국특허출원 "컴퓨터 상호작용 처리를 갖는 선택적 음원 청취"(샤오동 마오(Xiadong Mao), 리차드 엘. 막스(Richard L. Marks) 및 게리 엠. 제일러스키(Gary M. Zalewski); 대리인 참조번호 SCEA04005JUMBOUS)에 기술되어 있다.
분석기들은 매핑 체인(mapping chain)과 함께 구성될 수 있다. 매핑 체인들은, 분석기 및 믹서로 세팅(setting)될 수 있는 것처럼 게임-플레이 동안 게임에 의해 교환될 수 있다.
일 실시형태에서, 입력 장치의 추적은 영상 분석기에 의해 수행될 수 있다. 영상 분석기는, 이하에서 논의되는 것처럼, 사용자 및 입력 장치가 위치되는 공간의 영상들을 캡쳐하는 카메라를 포함할 수 있다. 일 실시예에서, 영상 분석기는 처리 프로그램의 특징으로의 각각의 동작을 일으키는 제어기의 위치를 결정하고 있다. 프로그램은 게임일 수 있고, 특징은 입력 장치에 의해 제어되는 물체일 수 있다. 영상 분석기는 또한 위치 데이터를 입력 기어링 값과 혼합하도록 구성된다. 기어링 값은 실행 동안 동적으로 사용자에 의해 제공될 수 있으며, 또는 실행 세션 내의 동작에 의존하는 프로그램에 의해 설정될 수 있다. 기어링 입력은, 사용자에 의한 입력 동작에 근거하여 컴퓨터 프로그램에 의해 일부 처리에 대한 상대적인 영향을 설정할 것이다. 일 실시형태에서, 기어링은, 사용자 또는 사용자 입력 장치로부터의 명령 또는 동작을 프로그램의 특징으로 번역할 것이다. 프로그램의 특징은 가시적인 물체일 필요는 없지만, 일부 파라미터를 계산하는 데에 사용되는 변수의 조정, 음향, 진동 또는 영상 이동의 평가 또는 번역을 포함할 수 있다. 그러므로, 기어링은, 프로그램 및 프로그램의 특징들로 제공되는 상호작용에 대한 제어의 추가적 감지를 제공할 것이다.
또 다른 실시형태에서, 믹서 분석기가 제공된다. 믹서 분석기는 게임의 특징으로의 혼성 효과를 생성하도록 고안 된다. 예를 들어, 믹서 분석기는, 영상 분석기, 음향 분석기, 관성 분석기 등의 조합으로부터의 입력을 얻을 수 있다. 그러므로, 믹서 분석기는, 혼성 결과, 명령 또는 프로그램의 특징과의 상호작용을 생성하도록 혼합되고 합성될 수 있는 수개의 기어링 변수들을 수신할 수 있다. 또한, 프로그램의 특징은, 가시적 물체 및 비가시적 물체, 동작의 처리에 사용되는 변수들, 가청 반응들에 대한 조정들 등을 포함하는 것으로 이해되어야 한다.
도 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)에 기술되어 있다.
일 실시형태에서, 영상 캡쳐 장치(105)는 표준 웹-캠(web-cam)과 같이 단순할 수 있고 또는 더욱 진보된 기술을 포함할 수 있다. 영상 캡쳐 장치(105)는 영상들을 캡쳐하고, 영상들을 디지털화하고, 영상 데이터를 컴퓨터(102)에 전달할 수 있다. 일부 실시형태들에 있어서, 영상 캡쳐 장치는, 디지털화, 및 영상 캡쳐 장치(105)가 디지털화를 위하여 컴퓨터(102)에 아날로그 비디오 신호를 전달할 또 다른 실시형태를 수행하기 위해 집적된 논리를 가질 것이다. 어느 경우든, 영상 캡쳐 장치(105)는, 영상 캡쳐 장치(105)의 전방에 위치된 물체의 컬러 또는 흑백 영상들을 캡쳐할 수 있다.
도 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)의 이동은 추적될 수 있으며, 디스플레이 스크린 상의 물체의 이동을 일으키기 위해 명령들이 캡쳐될 수 있다.
일 실시형태에서, 사용자(210)는, 실제처럼 움직이는 항공기(215')와의 상호작용의 정도를 변화시키거나 변경하도록 선택할 수 있다. 상호작용의 정도는, 사용자의 제어기(108)( 또는 장난감 항공기(215))가 실제처럼 움직이는 항공기(215')에 의한 이동으로 매핑될 분량을 조정할 "기어링" 분량을 사용자(215)가 조정하는 것을 가능하게 함으로써 변경될 수 있다. 동적으로 설정되거나, 게임에 대하여 미리 설정되거나, 사용자(210)에 의해 게임 플레이 동안 조정될 수 있는 기어링에 따라서, (예를 들어 비디오 게임 물체와 같은) 실제처럼 움직이는 항공기(215')로 매핑되는 반응은 또 다른 수준의 사용자 상호작용 및 향상된 경험을 제공하도록 변화할 것이다. 기어링에 관한 또 다른 세부사항들이 도 7 내지 도 20을 참조하여 이하에 서 제공될 것이다.
도 3은, 본 발명의 실시형태들을 실시하기 위해 사용될 수 있는 그래픽 디스플레이 상의 물체와 상호작용하기 위한 예시적 사용자 입력 시스템의 블록도이다. 도 3에 도시된 것처럼, 사용자 입력 시스템은 비디오 캡쳐 장치(300), 입력 영상 프로세서(302), 출력 영상 프로세서(304), 및 비디오 디스플레이 장치(306)로 이루어진다. 비디오 캡쳐 장치(300)는 비디오 영상들의 시퀀스들을 캡쳐할 수 있는 임의의 장치일 수 있으며, 일 실시형태에서 ("웹-캠"과 같은) 디지털 비디오 카메라이거나, 유사한 영상 캡쳐 장치이다.
비디오 캡쳐 장치(300)는 깊이 영상을 제공하도록 구성될 수 있다. 상세한 설명에서, 용어들 "깊이 카메라" 및 "3차원 카메라"는, 2차원 픽셀 정보뿐만 아니라 거리 또는 깊이 정보를 획득할 수 있는 임의의 카메라를 칭한다. 예를 들어, 깊이 카메라는 거리 정보를 획득하기 위해 제어된 적외선 광을 이용할 수 있다. 또 다른 예시적 깊이 카메라는 2개의 표준 카메라들을 이용하여 거리 정보를 삼각측량하는 스테레오 카메라 쌍일 수 있다. 유사하게, 용어 "깊이 감지 장치"는 2차원 픽셀 정보뿐만 아니라 거리 정보를 획득할 수 있는 임의의 유형의 장치를 칭한다.
그러므로, 카메라(300)는 표준 2차원 비디오 영상에 추가하여 제 3 차원을 캡쳐하고 매핑하는 능력을 제공할 수 있다. 표준 카메라들과 유사하게, 깊이 카메라는 비디오 영상을 포함하는 복수의 픽셀들에 대하여 2차원 데이터를 캡쳐한다. 이러한 값들은 픽셀들에 대한 색상 값들, 일반적으로, 각각의 픽셀에 대한 적색, 녹색, 및 청색(red, green, and blue; RGB) 값들이다. 이런 식으로, 카메라에 의해 캡쳐된 물체들은 모니터 상의 2차원 물체들로서 나타난다. 그러나, 통상의 카메라와 달리, 깊이 카메라는 또한 장면에 대한 깊이 값들을 표현하는 장면의 z-요소들을 캡쳐한다. 깊이 값들이 전형적으로 z-축에 할당되기 때문에, 깊이 값들은 종종 z-값들로서 칭해진다.
동작 중에, z-값은 장면의 각각의 픽셀에 대하여 캡쳐된다. 각각의 z-값은, 카메라로부터 관련된 픽셀에 대응하는 장면 내의 특정 물체로의 거리를 표현한다. 게다가, 최대 검출 범위는 깊이 값들이 검출되지 않기 시작하는 범위로 정의된다. 이러한 최대 범위 평면은, 사용자 정의 물체 추적을 제공하기 위해 본 발명의 실시형태들에 의해 이용될 수 있다. 그러므로, 깊이 카메라를 이용하여, 각각의 물체는 3차원으로 추적될 수 있다. 결과적으로, 본 발명의 실시형태들의 컴퓨터 시스템은 사용자에 대한 향상된 3차원 상호작용 환경을 생성하기 위해 2차원 픽셀 데이터를 따라 z-값들을 이용할 수 있다. 깊이 분석에 대한 더 많은 정보는, 2003년 5월29일에 출원된 미국특허출원 제10/448,614호, 실시간 3차원 상호작용 환경을 제공하는 시스템 및 방법을 참조하여 얻어진다.
깊이 카메라가 일 실시형태에 따라서 사용될지라도, 3차원 공간 내의 물체의 위치 및 좌표들을 식별하는 데에 필요한 것으로 해석되어서는 안 된다. 예를 들어, 도 2에 도시된 시나리오에서, 물체(215)와 카메라(105) 사이의 거리는 최좌측 및 최우측 LED들(212)의 거리를 측정함으로써 추론될 수 있다. LED들(212)이 영상 캡쳐 장치(105)에 의해 생성된 영상에서 더 가까워지면, 물체(215)는 카메라(105)로부터 더 멀어진다. 그러므로, z-축 좌표들의 합리적으로 정확한 추정은 전형적 디 지털 카메라에 의해 생성된 2차원 영상들로부터 행해질 수 있다.
도 3에 따르면, 입력 영상 프로세서(302)는 제어 물체의 (깊이 영상들일 수 있는) 캡쳐된 비디오 영상들을, 출력 영상 프로세서로 전달되는 신호들로 번역한다. 일 실시형태에서, 입력 영상 프로세서(302)는, 깊이 정보를 통하여 캡쳐된 비디오 영상 내의 배경으로부터 제어 물체를 분리시키고 제어 물체의 위치 및/또는 이동에 반응하여 출력 신호를 생성하도록 프로그래밍된다. 출력 영상 프로세서(304)는, 입력 영상 프로세서(302)로부터 수신된 신호들에 반응하여 비디오 디스플레이 장치(306) 상의 물체의 병진 및/또는 회전 이동에 영향을 주도록 프로그래밍된다.
본 발명의 이러한 추가적 영상들은 소프트웨어 명령들을 실행하는 하나 이상의 프로세서들에 의해 실시될 수 있다. 본 발명의 일 실시형태에 따르면, 단일 프로세서는 입력 영상 처리 및 출력 영상 처리 모두를 실행시킨다. 그러나, 도면들에 도시된 것처럼, 처리 동작들은 입력 영상 프로세서(302)와 출력 영상 프로세서(304) 사이에서 분할되는 것처럼 도시되어 있다. 본 발명은, 2개 이상의 프로세서와 같은 특정 프로세서 구성으로 제한되는 것으로 해석되어서는 안 된다. 도 3에 도시된 복수 처리 블록들은 설명의 편의를 위해서만 도시된 것이다.
도 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) 장치, 또는 다른 유형의 디스플레이 장치와 같이, 텔레비젼 모니터가 아닌 디스플레이 장치로 제공될 수 있다.
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)이 갖추어져 있다.
주 메모리(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)로서 제공될 수 있다.
디지털 데이터의 입력/출력의 기능들을 가지며, 본 발명에 따른 디지털 콘텐츠의 입력을 위한 인터페이스인 통신 인터페이스(540)가 버스(530)에 연결되어 제공된다. 예를 들어, 통신 인터페이스(540)를 통하여, 사용자 입력 데이터는, 온라인 비디오 게임 어플리케이션들을 수용하기 위해 네트워크의 서버 단말로 전송될 수 있고, 상태 데이터가 상기 서버 단말로부터 수신될 수 있다. 콘솔(510)과 관련하여 (예를 들어, 키 입력 데이터 또는 좌표 데이터와 같은) 데이터의 입력을 위한 (또한 제어기로서 공지된) 입력 장치(532), 및 다양한 프로그램들 및 데이터(즉, 물체들과 관련된 데이터, 텍스쳐 데이터 등)가 저장되어 있는 CD-ROM 등과 같은 광 디스크(569)의 콘텐츠의 재생을 위한 광 디스크 장치(536)은 입력/출력 포트(524)에 연결되어 있다.
본 발명은 입력/출력 포트(524)에 연결된 디지털 비디오 카메라(105)를 더 포함한다. 입력/출력 포트(524)는 직렬 및 USB 인터페이스들을 포함하는 하나 이상의 입력 인터페이스들에 의해 실시될 수 있고, 디지털 비디오 카메라(190)는 USB 입력 또는 카메라(105)와 함께 사용하기에 적절한 다른 통상의 인터페이스를 이용하는 것이 바람직하다.
상술한 영상 프로세서(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)는, 예를 들어, 텍스쳐 렌더링 영역 및 디스플레이 렌더링 영역이 균일 영역으로 설정될 수 있는 통합된 메모리 구조를 이용한다.
디스플레이 제어기(576)는, 광 디스크 장치(536)를 통하여 광 디스크(569)로부터 검색된 텍스쳐 데이터, 또는 주 메모리(514)에서 생성되는 텍스쳐 데이터를, 메모리 인터페이스(572)를 경유하여 영상 메모리(574)의 텍스쳐 렌더링 영역으로 기록하도록 구성된다. 영상 메모리(174)의 디스플레이 렌더링 영역에서 렌더링되는 영상 데이터는, 메모리 인터페이스(572)를 경유하여 판독되고, 모니터(110)에 출력되며, 스크린 상에 디스플레이된다.
도 6은, 본 발명의 일 실시형태에 따라 사용자에 의해 조작되는 것처럼 사용자 입력 장치에 대응하는 픽셀 그룹을 추적하고 식별하는 데에 이용되는 기능 블록들을 도시하는 블록도이다. 블록들에 의해 도시되는 기능들은 도 5의 게임 콘솔(510) 내의 MPU(512)에 의해 실행되는 소프트웨어에 의해 실시된다. 게다가, 도 6의 블록들에 의해 도시된 기능들 모두가 각각의 실시형태에 대하여 이용되는 것은 아니다.
처음에, 카메라로부터 입력된 픽셀 데이터는 입력/출력 포트 인터페이스(524)를 통하여 게임 콘솔(510)에 공급되고, 게임 콘솔에서 수행될 다음의 프로세스들을 가능하게 한다. 첫째, 영상의 각각의 픽셀이 예를 들어 래스터(raster) 구조로 샘플링(sampling)됨에 따라, 컬러 분할 처리 단계(S201)가 수행되는데, 각각의 픽셀의 색상은 결정되고, 영상은 다른 색상들의 다양한 2차원 세그먼트들로 분할된다. 다음에 특정 실시형태들에 대하여, 색상 변이 위치측정 단계(S203)가 수 행되고, 다른 색상들의 세그먼트들이 인접하는 영역들이 더욱 구체적으로 결정되고, 이에 따라 뚜렷한 색상 변이들이 일어나는 영상의 위치를 정의한다. 그 다음에, 지오메트리 처리 단계(S205)가 수행되는데, 실시형태에 따라서, 에지 검출 프로세스 또는 영역 통계에 대한 연산 수행을 포함하여, 관심 물체의 에지들에 대응하는, 수학적 용어 또는 기하학적 용어인 직선들, 곡선들 및/또는 다각형들을 정의한다.
물체의 3차원 위치 및 방향은, 본 발명의 바람직한 실시형태들의 이하의 상세한 설명들과 관련하여 기술될 알고리즘에 따라, 단계 S207에서 연산된다. 3차원 위치 및 방향의 데이터는 또한 성능을 향상시키기 위해 칼만 필터링(Kalman filtering)에 대한 처리 단계(S209)를 겪는다. 이러한 처리는, 물체가 시간에 따라 어디에 있을 것인지를 평가하도록 수행되고, 가능하지 않은 스퓨리어스 측정들(spurious measurements)을 거부하도록 수행되며, 따라서 진실 데이터 세트의 외부에 있는 것으로 고려된다. 칼만 필터링을 행하는 또 다른 이유는, 예시적 디스플레이가 60Hz로 실행되는 반면에, 카메라(105)는 30Hz로 영상들을 생성하므로, 칼만 필터링은 게임 프로그램의 동작을 제어하는 데에 사용되는 데이터의 간격들을 채운다. 칼만 필터링을 통한 이산 데이터의 평탄화는 컴퓨터 분야에서 공지되어 있으므로, 더 이상 설명되지 않을 것이다.
도 7은, 영상 캡쳐 장치(105)에 의해 보여지는 공간 체적(702) 내의 물체(705)의 이동들을 매핑하기 위한 예시적 영상 처리 시스템(700)에 대한 개략 블 록도를 도시한다. 이러한 실시예에서, 물체(705)가 3차원 공간(702) 내에서 거리 x1만큼 이동됨에 따라, 영상 처리 시스템(700)은 물체(705)의 캡쳐된 비디오 영상들을 해석하고, 물체(705)의 움직임을 식별하고, 디스플레이 스크린(110)에 실질적으로 대응하는 동작을 생성한다.
구체적으로, 영상 캡쳐 장치(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-축 좌표를 연산하 는 데에 이용될 수 있다.
위치 정보에 추가하여, 인식기(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일 수 있다.
어플리케이션(714)은, 인식기(710)로부터 수신된 명령들(713)에 따라, 또는 기어링 분량이 변화하도록 하는 기어링 데이터를 매퍼(712)로 보내는 소프트웨어의 정상 동작에 따라 기어링 분량을 변화시킬 수 있다. 기어링 데이터는, 사용자 명령, 다양한 이벤트들, 또는 어플리케이션(714)의 동작 모드들에 반응하여 매퍼(712)에 보내질 수 있다. 그러므로, 기어링 분량은, 사용자 명령들에 반응하거나 소프트웨어에 의해 제어되는 것처럼 실시간으로 변화될 수 있다. 그러므로, 매퍼(712)는 물체(705)의 움직임의 출력 벡터, 공간(702) 내의 물체(705)의 위치 변화와 관련되어 변화하는 출력, 및 기어링 분량을 어플리케이션(714)으로 전송한다. 일 실시형태에서 비디오 게임인 어플리케이션(714)은, 출력 벡터를, 디스플레이(110) 상에 디스플레이될 대응 동작으로 번역한다.
도 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)의 이동이 더 작게 필요하다.
도 9 및 도 10은, 영상 캡쳐 장치(105; 도 1)와 상호작용하는 예시적 제어기(900)를 도시한다. 제어기(900)는 다양한 버튼들 및 조이스틱들을 포함하는 복수의 인터페이스 장치들을 포함하는 인터페이스(902)를 포함한다. 본 명세서에서 논의된 제어기들은 유선 또는 무선일 수 있다. 위피(WiFi), 블루투스, IR, 음향, 및 광들과 같은 기술들은, 게임 콘솔과 같은 컴퓨터와 인터페이스하도록 동작할 수 있다. 일 실시형태에서, 제어기(900)는 LED 배열(905)을 가진다. LED 배열은, 각각의 LED들이 가상의 직사각형 또는 정사각형 블라인딩 박스(blinding box)의 꼭지점에 위치된 2×2 스택(stack)을 포함하는 다양한 레이아웃들(layouts)로 구성될 수 있다. 영상 캡쳐 장치에 의해 생성된 영상 평면 상에 투사되는 블라인딩 박스의 위치 및 변형을 추적함으로써, 변형들은, 제어기의 위치 및 방향 정보를 해독하기 위해 비디오 분석기에서 분석될 수 있다.
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들의 상태와 동기화되고 이를 추적하며, 정보 및 제어기 이동들을 디코딩한다. 더 높은 대역폭이 전송 모드 사이클에서의 프레임들에 걸쳐 데이터를 변조함으로써 얻어질 수 있다.
인터페이스(902)와의 사용자 상호작용은 LED 배열(905)에서의 LED들 중 하나 이상이 색상을 변조하고 그리고/또는 변화하도록 할 수 있다. 예를 들어, 사용자가 조이스틱을 이동시킴에 따라, LED들은 밝기를 변화시키거나 정보를 전송할 수 있다. 농도 또는 색상의 변화들은 컴퓨터 시스템에 의해 감시될 수 있고, 농도 값으로서 게임 프로그램에 제공될 수 있다. 게다가, 각각의 버튼은 LED 배열(905) 내의 LED들 중 하나 이상의 색상 변화 또는 농도로 매핑될 수 있다.
제어기(900)가 3차원 공간에서 이동되고 롤, 요 또는 피치 방향 중 하나에서 회전됨에 따라, 영상 캡쳐 장치(105)는, 컴퓨터 시스템(102)과 함께, 이러한 변화들을 식별할 수 있고, 영상 평면 상의 이동을 설명하기 위한 2차원 벡터 또는 3차원 공간 내의 이동을 설명하기 위한 3차원 벡터를 생성할 수 있다. 벡터는, 상대적인 이동을 설명하는 일련의 좌표들 및/또는 영상 캡쳐 장치(105)와 관련된 절대 위치로서 제공될 수 있다. 당업자에게 명확한 것처럼, 영상 캡쳐 장치(105)에 더 가까운 제어기의 이동은 외부로 퍼지게 나타나는 LED 배열에 의해 식별될 수 있는 반면에, 영상 캡쳐 장치(105)의 시선에 수직인 평면(영상 평면)의 이동은 영상 캡쳐 영역 내의 절대 위치에 의해 식별될 수 있다.
LED들(905)의 직사각형 구성은 3개의 축들 상의 제어기(900)의 이동 및 각각의 축을 중심으로 한 회전이 검출되는 것을 가능하게 한다. 단지 4개의 LED들이 도시되어 있을지라도, 이는 예시적인 목적만을 위한 것이며, 임의의 구성의 임의의 개수의 LED들이 가능하다. 제어기(900)가 전방 또는 후방으로 던져짐에 따라, 상부 LED와 하부 LED는 서로 더욱 가까워지고, 좌측 LED와 우측 LED는 동일 거리를 유지하고 있을 것이다. 유사하게, 제어기가 좌측 또는 우측으로 흔들림(yaw)에 따라, 상부 LED와 하부 LED는 서로 동일 거리를 유지하고 있지만, 좌측 LED와 우측 LED는 설 접근하는 것으로 나타날 것이다. 제어기의 롤링(rolling) 움직임은 영상 평면 상의 LED들의 방향을 식별함으로써 검출될 수 있다. 제어기가 시선을 따라 영상 캡쳐 장치(105)에 더 가까워지도록 움직임에 따라, LED들 모두가 서로 더 가까워지도록 나타날 것이다. 마지막으로, 영상 평면을 따르는 제어기의 이동은 영상 평면 상의 LED들의 위치를 식별함으로써 추적될 수 있으며, 이로써 각각의 x 축 및 y 축을 따르는 이동을 식별한다.
제어기(900)는 또한 가청 또는 초음파 음향을 생성하기 위한 스피커(915)를 포함할 수 있다. 스피커(915)는, 증가된 상호작용을 위한 음향 효과들을 생성할 수 있고, 전송들을 수신하기 위한 마이크로폰 또는 다른 요소들을 갖는 컴퓨터 시스템으로, 인터페이스(902)로부터 배포된 명령들을 전송할 수 있다.
도 11은 도 9 및 도 10의 제어기에 대한 예시적 응용예를 도시한다. 이러한 응용예에서, 드라이빙 시뮬레이션(driving simulation)은 제어기(900)의 회전을 가상 자동차의 스티어링 휠의 회전과 같이 해석한다. 사용자(도시되지 않음)가 제어기(900)를 화살표(1105)에 의해 표시된 것처럼 회전시킴에 따라, 가상 스티어링 휠(900')은 화살표(1105')에 의해 표시된 것처럼 디스플레이(110) 상에서 회전된다. 일 실시형태에서, 제어기(900)의 각각의 회전 각도에 대하여 스티어링 휠(900')의 회전량을 지시하는 기어링 분량은 도 8을 참조하여 이상에서 기술된 것처럼 사용자가 선택가능하다. 또 다른 실시형태에서, 기어링 분량은, 도 12에서 도시된 예시적 그래프(1200)에 표현된 것처럼 소프트웨어에 의해 제어된다. 이러한 실시예에서, 기어링 분량은, 제어기(900)의 중심으로부터의 거리, 즉, 가상 방향고 관련하여 변화한다. 이것은, 제어기(900)의 90°회전만으로 가상 스티어링 휠(900')의 540°회전을 가능하게 한다. 0°근처(중심) 위치에서 낮은 기어링 분량을 유지함으로써, 일반적으로 상당한 스티어링 회전을 필요로 하지 않는 고속 드라이빙 동안 고도의 제어가 유지될 수 있다. 제어기(900)가 중심 위치로부터 더 멀리 회전됨에 따라, 기어링 분량은 그래프(1200)에 도시된 것처럼 증가되어, 일반적으로 더 느린 속도에서 필요한 더 급격한 회전을 수용한다.
도 13은 사용자에 의해 조작될 수 있는 스티어링 휠(1305)을 갖는 또 다른 예시적 제어기(1300)를 도시한다. 이러한 경우에, 스티어링 휠(1305)의 회전들 및 인터페이스(1302)의 버튼들의 동작은, LED들(1310)을 통한 데이터 전송을 행하는 제어기(1300)에 의해 해석된다.
도 14는 제어기(1300)의 예시적 응용예를 도시한다. 이 실시예에서, 응용예는 스티어링 휠(1305)의 회전에 반응하여 배포된 명령들을 수신하고 이러한 명령들을 디스플레이(110) 내의 가상 스티어링 휠(1305)의 대응하는 회전들로서 번역하는 드라이빙 시뮬레이션이다. 스티어링 휠(1305)의 회전을 가상 스티어링 휠(1305')의 대응하는 회전으로 스케일링하는 기어링 분량은, 인터페이스(1302; 도 13)와의 사용자 상호작용에 반응하거나 소프트웨어 제어에 반응하여 변화될 수 있다. 도 15는 시간에 걸친 기어링 분량의 예시적 변화들을 도시하는 예시적 그래프(1500)를 도시한다. 일 실시예에서, 기어링의 변화들은 게임 플레이 동안 사용자에 의해 동적으로 설정될 수 있다. 게다가, 그래프(1500)에 의해 도시된 것처럼, 기어링의 변이들 은, 평탄하거나, 급격하거나, 단계적이거나, 장시간, 단시간 또는 이들의 조합일 수 있다. 그러므로, 기어링은, 더욱 사실적인 상호작용 경험을 제공하기 위해, 게임 세션 동안 시간에 걸쳐 게임에 의해 설정되거나 변화될 수 있다. 게다가, 사용자가 기어링을 제어할 수 있게 됨에 따라, 통상의 게임들에서 발견되는 예정된 제어들을 넘는 또 다른 차원의 제어가 가능하게 된다.
도 16은 사용자 상호작용에 대응하는 영상 처리 시스템의 또 다른 예시적 응용예를 도시한다. 이 실시예에서, 사용자(1602)는, 영상 처리 시스템에 의해 입력 물체로서 인식될 수 있는 장난감 야구 배트(1605)를 스윙함으로써 야구 시뮬레이션과 상호작용한다. 장난감 야구 배트가 스윙됨에 따라, 사용자 및/또는 소프트웨어는 가상 야구 배트(1605')의 속도 또는 거리를 조작하기 위해 기어링 분량을 제어할 수 있다. 일 실시형태에서, 배트는 게임 플레이 동안 눌려질 수 있는 다수의 버튼들을 포함할 수 있고, 버튼들이 눌려짐에 따라 기어링은 변화될 수 있다. 또 다른 실시형태에서, 사용자는, 배트가 스윙될 때 적용될 기어링 레벨들의 조합을 미리 설정하거나 프로그래밍할 수 있다.
도 17은, 스윙의 길이에 따라 다른 시간들(t1 내지 t5)에서의 예시적 기어링 분량을 도시하는 그래프(1700)를 도시한다. 이러한 기어링 분량들은, 배트를 스윙하기 전에 사용자에 의해 설정될 수 있고 또는 카메라(105)에 의해 보여지는 것처럼 배트의 위치에 반응하여 게임에 의해 동적으로 설정될 수 있다. 또한, 어떻게 기어링이 시간에 따라 변화하거나, 특정 구간들에서 일정하거나, 또는 점점 증가할 수 있는 지가 도시되어 있다. 그래프(1700)에서, 기어링은, 접촉이 공과 행해질 때 배트의 스윙이 더욱 힘이 있도록, 시간들 t2-t3에서 더 높게 설정되며, 배트가 이미 접촉된 시간 t3-t4에서는 완화되어 있다. 일 실시형태에서, 상기와 같은 다른 시간들은 사용자에 의해 평가될 수 있거나, 또는 컴퓨터에 의해 결정될 수 있다.
일 실시예에서, 사용자는 수개의 연습 스윙들을 할 수 있고, 그 이후에 컴퓨터는 사용자의 실제 스윙 능력에 대응하는 다수의 예시적 시간 슬롯들을 매핑할 수 있다. 그 이후에, 사용자는, 사용자가 어떻게 게임 상호작용에 영향을 주기 원하는가에 따라, 각각의 시간 구간에 특정 기어링을 맞춤할당할 수 있다. 기어링이 설정되면, 사용자의 배트(1605) 이동은 배트(1605'; 예를 들어 게임 물체)의 이동으로 매핑될 수 있다. 또한, 기어링은, 다른 동작 동안 게임에 의해 미리 설정될 수 있고, 사용자에 의해 게임 플레이 동안 설정될 수 있으며, 게임 플레이 동안 실시간으로 조정될 수 있다.
도 18은, 사용자 상호작용에 반응하는 영상 처리 시스템의 또 다른 예시적 응요예를 도시한다. 이 실시예에서, 사용자(도시되지 않음)는 장난감 풋볼을 가지고 드로잉(throwing) 움직임을 행하고 작동기를 누름으로써 풋볼의 릴리스(release)를 가리키고, 풋볼 시뮬레이션과 상호작용한다. 물론, 장난감 풋볼 대신에, 제어기가 사용될 수 있다. 가상 플레이어(1802)는 사용자 상호작용에 반응하여 가상 풋볼(1805)을 조작한다. 일 실시형태에서, 작동기는, LED가, 풋볼 시뮬레이션 어플리케이션으로 보내지는 명령으로서, 영상 처리 시스템에 의해 인식되는 색상을 점등하거나 변화시키게 한다. 공을 릴리스한 이후에, 사용자는, 선택된 리시버의 움직임과 같은, 필드 상의 특정 동작을 제어할 수 있다. 일 실시형태에서, 공의 릴리스는, 예를 들어, 입력 물체의 더 좋은 이동들을 식별하는 것을 가능하게 하기 위해, 기어링 분량을 변화시키도록, 어플리케이션이 매퍼(도 7)로 기어링 데이터를 보내는 것을 유발한다.
도 19는, 풋볼의 "릴리스" 시 기어링 분량의 변화를 보여주는 예시적 그래프(1900)를 도시한다. 간단한 그래프(1900)로 도시되었을지라도, 기어링은, 게임 물체에 따라 임의의 형태를 취할 수 있다.
도 20은, 컴퓨터 프로그램에 대한 사용자 입력을 수신하기 위한 예시적 과정을 설명하는 순서도(2000)를 도시한다. 상기 과정은 시작 블록(2002)에 의해 표시된 것처럼 시작되고, 제어 입력의 위치가 식별되는 동작(2004)으로 진행한다. 제어 입력은, 도 7과 관련하여 이상에서 설명되는 3차원 공간 내의 입력 물체의 위치, 또는 도 14와 관련하여 이상에서 설명되는 사용자 인터페이스 장치의 위치일 수 있다. 위치는, 대표 값, 또는 벡터와 같은 복수의 값들로 표현될 수 있다. 제어 입력의 위치를 식별한 이후에, 과정은 동작 2006으로 진행한다.
동작 2006에서, 위치가 변화되었는지 여부에 대한 결정이 행해진다. 위치가 변화되지 않았다면, 과정은 동작 2004로 복귀한다. 일 실시형태에서, 동작 2004는, 영상 데이터의 새로운 프레임이 영상 캡쳐 장치로부터 수신될 때까지 연기된다. 동작 2006에서, 위치가 변화되었음이 결정된다면, 과정은 동작 2008로 진행한다.
동작 2008에서, 이동 벡터가 연산된다. 이동 벡터는 임의의 개수의 차원들을 가질 수 있다. 예를 들어, 3차원 공간 내의 입력 물체가 이동 중에 있다면, 이동 벡터는 3차원 벡터로서 이동을 기술할 수 있다. 그러나, 이동이 스티어링 휠과 같은 1차원 제어 입력이라면, 이동 벡터는, 스티어링 휠의 회전량을 기술하는 1차원 벡터이다. 이동 벡터를 결정한 이후에, 과정은 동작 2010으로 진행한다.
동작 2010에서, 이동 벡터는 입력 벡터를 결정하기 위해 현재 기어링 분량에 의해 승산된다. 현재 기어링 분량은 스칼라량(scalar quantity) 또는 다차원 값일 수 있다. 스칼라량이라면, 이동 벡터의 모든 차원들은 동일한 량만큼 승산된다. 기어링 분량이 다차원이라면, 이동 벡터의 각각의 차원은 대응 차원의 기어링 분량만큼 승산된다. 기어링 분량은 사용자 입력에 반응하여 변화할 수 있고, 소프트웨어의 제어를 받을 수 있다. 그러므로, 현재 기어링 분량은 시시각각으로 변화할 수 있다. 이동 벡터에 현재 기어링 분량을 승산한 이후에, 과정은 동작 2012로 진행한다.
동작 2012에서, 가상 물체의 새로운 위치가 동작 2010에서 연산된 입력 벡터를 이용하여 연산된다. 새로운 위치는 카메라 위치, 또는 가상 스티어링 휠과 같은 물체 위치일 수 있다. 가상 물체는 디스플레이 스크린 상에 디스플레이되지 않을 수 있다. 가상 물체의 새로운 위치가 연산되면, 과정은, 새로운 위치를 표현하는 데이터가 어플리케이션 프로그램으로 전달되는 동작 2014로 진행한다. 그 다음에, 과정은 종료 블록(2016)에 의해 표시된 것처럼 종료한다. 그러나, 이러한 진행은 본질적으로 예시적이며, 다른 선택례들이 가능하다.
일 실시형태에서, 동작들은 입력 장치의 검출 및 입력 장치의 이동을 포함할 것이다. 입력 장치의 이동은 입력 장치를 보고 있는 카메라에 의해 결정된다. 사용자 제어 또는 미리 설정되거나 미리 프로그래밍된 세팅들에 의해 기어링 값은 적용된다. 사용자에 의해 설정된다면, 기어링 값은, 예를 들어, 사용자가 입력 장치(예를 들어, 제어기)의 버튼을 치는 것을 허용함으로써 선택될 수 있다. 기어링 분량에 따라서, 이동 제어는 컴퓨터 게임의 물체로 매핑된다. 사용자가 게임의 동작 그림을 제어하기 위해 입력 장치를 이용한다면, 설정되거나 설정되도록 제어되는 기어링은, 입력 장치에 의한 이동이 컴퓨터 게임의 동작 그림에 의한 이동으로 매핑되는 방법에 영향을 미칠 것이다. 그러므로, 기어링 및 기어링의 변화는, 컴퓨터 게임의 일부일 수 있는 물체에 의한 매핑된 반응의 동적 응용을 가능하게 한다.
다양한 실시형태들에서, 농도 값, 제어기 플레이어 번호, 제어기들을 포함하는 하나 이상의 입력 물체의의 방향 및/또는 위치를 결정하기 위해 이상에서 설명되는 영상 처리 기능들은, 컴퓨터 시스템에서 실행되는 프로세스에서 수행된다. 컴퓨팅 시스템은, 또한 제어기 플레이어 번호, 제어기들을 포함하는 하나 이상의 입력 물체들의 방향 및/또는 위치, 제어기 동작 등을 포함하는 데이터와 같은, 영상 또는 오디오 처리로부터 생성된 데이터를 요청하거나 이러한 데이터를 수용하는, 게임 어플리케이션일 수 있는 어플리케이션 프로그램으로 칭해지는 주 프로세스를 실행시킨다. 다양한 실시형태들에서, 영상 및/또는 오디오 처리 기능들을 수행하는 프로세스는, 비디오 카메라 또는 비디오/오디오 감시 장치를 위한 구동기이며, 상기 구동기는, 일반적으로 당업계에서 공지된 실시형태일 수 있는 임의의 형태의 프로세스간 통신을 통하여 데이터를 주 프로세스로 제공한다. 게임 소프트웨어 또는 다른 어플리케이션 프로그램인 주 프로세스를 실행시킴에 따라, 영상 또는 오디오 처리를 수행하는 프로세스는 동일 프로세서 또는 다른 프로세서에서 실행된다. 예를 들어, 프로시져 콜(procedure call)을 이용하여, 동일 프로세스에서의 영상 또는 오디오 처리 및 게임 기능 모두에 대한 공통 프로세스를 가지는 것이 가능하다. 그러므로, 입력 벡터 또는 다른 정보가 "프로그램"으로 제공되는 것으로 기술되고 있지만, 본 발명은, 단일 프로세스가 영상 처리 기능 및 게임 기능 모두를 수행할 수 있도록 프로시져 콜 또는 다른 소프트웨어 기능을 이용하여 프로세스의 일 루틴으로 이러한 데이터를 제공하는 것을 포함한다. 이에 따라, 통상의 프로세서 코어 또는 복수 프로세서 코어들에서 실행되는 하나 이상의 프로세스들이, 본 명세서에서 기술된 것처럼 영상 및/또는 오디오 처리를 수행하고, 분리된 프로세스는 게임 기능들을 수행한다.
본 발명은, 다른 사용자 입력 메커니즘들 및, 음향의 각도 방향을 추적하는 메커니즘들 및/또는 물체의 위치를 능동적으로 또는 수동적으로 추적하는 메커니즘들, 기계 시각을 이용하는 메커니즘들, 이들의 조합들로서 이용될 수 있으며, 추적된 물체는 시스템으로의 피드백을 조작하는 보조 제어들 또는 버튼들을 포함하고, 이러한 피드백은, 전송 또는 변조에 영향을 미치거나, 상태를 엔코딩하거나, 그리고/또는 명령들을 추적되는 장치로부터 또는 상기 장치로 전송하는, 버튼들, 압력 패드 등 뿐만 아니라, 광원으로부터의 발광, 음향 변형 수단, 또는 다른 적합한 송신기 및 변조기들을 포함할 수 있으며 이에 제한되지 않는다.
본 발명은, 게임 콘솔들, 게임 컴퓨터들 또는 컴퓨팅 장치들, 핸드-헬드 장 치들, 마이크로프로세서 시스템들, 마이크로프로세서-기반 또는 프로그래밍가능 소모 전자장치들, 미니컴퓨터들, 주 프레임 컴퓨터들 등을 포함하는 다른 컴퓨터 시스템 구성들로 실시될 수 있다. 본 발명은, 네트워크를 통해 링크된 원거리 처리 장치들에 의해 태스크들이 수행되는 분산 컴퓨팅 환경들에서 실시될 수 있다. 예를 들어, 온라인 게임 시스템들 및 소프트웨어가 또한 사용될 수 있다.
이상의 실시형태들이 기술되었을지라도, 본 발명은 컴퓨터 시스템들 내에 저장된 데이터를 포함하는 다양한 컴퓨터-실시 동작들을 이용할 수 있다. 이러한 동작들은 물리적 분량들의 물리적 조작을 필요로 하는 것들이다. 통상적으로, 필수적이지는 않지만, 이러한 분량들은, 저장되고, 전송되고, 결합되며, 비교되고, 그렇지 않은면 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취한다. 게다가, 수행되는 조작들은, 종종 재생, 식별, 결정 또는 비교와 같은 용어로 칭해진다.
본 발명의 일부를 형성하는, 본 명세서에서 기술된 동작들은 유용한 기계 동작들이다. 본 발명은 또한 이러한 동작들을 수행하기 장치와 관련된다. 상기 장치는 이상에서 논의된 캐리어 네트워크(carrier network)와 같은 필요한 목적들을 위하여 특별히 구성될 수 있거나, 또는 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 동작되거나 구성되는 범용 컴퓨터일 수 있다. 특히, 다양한 범용 기계들이 본 명세서의 사상에 따라 기록된 컴퓨터 프로그램들을 이용하여 사용될 수 있거나, 또는 필요한 동작들을 수행하기 위해 더욱 특수화된 장치를 구성하는 것이 더욱 편할 수 있다.
본 발명은, 또한 컴퓨터 판독 매체 상의 컴퓨터 판독가능 코드로서 실시될 수 있다. 컴퓨터 판독가능 매체는, 컴퓨터 시스템에 의해 판독될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 장치이다. 컴퓨터 판독가능 매체의 실시예들은, 하드 드라이브들, NAS(network attached storage), 리드-온리 메모리(read-only memory), 랜덤-액세스 메모리(random-access memory), 플래시 기반 메모리(FLASH based memory), CD-ROM들, CD-R들, CD-RW들, DVD들, 자기 테이프들, 및 다른 광학 및 비-광학 데이터 저장 장치들을 포함한다. 컴퓨터 판독가능 매체는, 컴퓨터 판독가능 코드가 분산 형태로 저장되고 실행되도록, 네트워크에 연결된 컴퓨터 시스템들에 걸쳐서 분포될 수 있다.
또한, 기어링이 비디오 게임들과 관련하여 논의되었을지라도, 기어링은 임의의 컴퓨터 제어 환경에 적용될 수 있다고 이해되어야 한다. 일 실시예에서, 기어링은, 정보의 상호작용, 선택 또는 입력을 가능하게 하는 컴퓨터 입력 장치와 관련될 수 있다. 다른 입력 또는 상호작용 동작들 동안 다른 기어링을 적용하는 것은, 미리 구성된 제어 세팅들을 가지는 환경들에서 통상적으로 발견되지 않는 더 발전된 동작을 수행하게 할 수 있다. 따라서, 본 명세서에서 정의된 것처럼, 기어링의 실시형태들은 넓은 범위를 포괄하는 어플리케이션이 주어져야 한다.
기어링이 결정되면, 기어링은 컴퓨터 프로그램으로 전달되는 동작에 적용될 수 있다. 이상에서 언급되었듯이, 입력 장치의 동작의 추적은, 영상 분석, 관성 분석, 가청 분석을 통하여 성취될 수 있다. 동작들의 실시예들은, 공과 같은 물체를 던지는 것, 배트 또는 골프 클럽(golf club)과 같은 물체를 스윙하는 것, 핸드 펌 프(hand pump)를 펌핑하는 것, 문 또는 창문을 열거나 닫는 것, 스티어링 휠을 돌리는 것 또는 다른 차량 제어, 펀치들과 같은 무술 움직임, 모래를 뿌리는 움직임, 왁스를 칠하거나 벗겨내는 것, 집에 페인트칠하는 것, 흔드는 것, 덜걱거리는 것, 굴리는 것, 풋볼 던지기, 야구공 던지기, 손잡이를 돌리는 움직임, 3D/2D 마우스 움직임, 스크롤(scroll) 움직임, 공지된 윤곽들을 가진 움직임, 임의의 기록가능 움직임, 공간에서 임의의 방향으로 타이어를 펌핑하는 것과 같은 임의의 벡터의 앞뒤를 따르는 움직임, 경로를 따르는 움직임, 잡음 플로어, 스플라인들(splines) 등 내에서 기록되고, 추적되며, 반복될 수 있는 사용자 조작에 근거한 정확한 정지 시간과 시작 시간을 갖는 움직임을 포함하며, 이에 제한되지 않는다. 이러한 동작들 각각은 경로 데이터로부터 미리 기록될 수 있고 시간-기반 모델로서 저장될 수 있다. 그러므로, 기어링은 사용자 또는 프로그램에 의해 설정된 기어링의 정도에 따라서, 이러한 동작들 중 하나에 적용될 수 있다.
상술한 발명이 명확한 이해를 위하여 상세히 기술되었을지라도, 특정 변화들 및 변형례들이 첨부된 청구범위 내에서 실시될 수 있음은 명확하다. 따라서, 본 실시형태들은 예시적인 것이며 제한적이지 않고, 본 발명은 본 명세서 내에 주어진 세부사항들에 제한되지 않으며, 첨부된 청구범위의 범위 및 균등물 내에서 변형될 수 있다.

Claims (19)

  1. 영상 데이터를 캡쳐(capture)하기 위한 비디오 캡쳐 장치를 포함하는 컴퓨터 게임 시스템과 상호작용 인터페이스(interface)하기 위한 방법으로서, 상기 방법은:
    입력 장치를 식별하는 단계;
    상기 컴퓨터 게임 시스템에 의해 실행될 예정이며, 상기 입력 장치의 상호작용에 반응하는 동작을 정의하는 단계; 및
    상기 동작과 상기 입력 장치의 상호작용 사이의 기어링(gearing)을 설립하는 단계를 포함하며,
    상기 기어링은 상기 입력 장치의 상호작용과 상기 동작들 사이의 비율을 설립하는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  2. 제 1 항에 있어서, 상기 입력 장치는, (i) 상기 상호작용을 정의하도록 이동하는 광(light), (ii) 상기 상호작용을 정의하도록 변화하는 관성 센서, (iii) 상기 상호작용을 정의하도록 변화하는 음향 장치, 또는 (iv) 상기 상호작용을 정의하는 변화들을 수신하는 믹서(mixer) 중 하나를 포함하는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  3. 제 1 항에 있어서, 광들의 이동은, 비디오 캡쳐 장치에 의해 캡쳐되는 체적 공간 내에서 검출되는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 광들의 감지된 이동을 연속적으로 분석하는 단계; 및
    상기 감지된 이동에 근거하거나 또는 프로그램에 근거하여 상기 동작의 갱신이 이루어지게 하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  5. 제 2 항에 있어서, 상기 광은 발광 다이오드인 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  6. 제 5 항에 있어서, 상기 광의 상태는 온/오프(on/off) 조합들의 설정에 의해 표현되는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  7. 제 1 항에 있어서, 상기 동작은, (a) 상기 컴퓨터 게임에 의해 실행될 때 컴퓨터 게임의 물체에 의한 이동량에 대해 설정하는 것, (b) 프로세스(process)를 실행하기 위한 변수를 설정하는 것, (c) 음향 또는 진동에 영향을 주는 프로세스로의 변화 속도를 설정하는 것, 또는 (d) 그래픽 물체의 이동에서의 변화 속도를 설정하는 것 중 하나를 포함하는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  8. 제 2 항에 있어서, 상기 관성 센서, 상기 음향 센서, 또는 믹서로부터의 데이터를 적어도 주기적으로 분석하는 단계;
    상기 데이터의 주기적 분석에 근거하여 상기 기어링에 의해 갱신되는 변화들과 함께 상기 동작을 적어도 주기적으로 재적용하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  9. 제 2 항에 있어서, 상기 기어링이 조정될 때, 상기 조정은, 상기 동작에 영향을 주기 위해 (a) 단계별로, (b) 점차로(gradually) 또는 (c) 평탄하게(smoothly) 적용되는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  10. 제 2 항에 있어서, 상기 관성 센서로부터의 데이터는 상기 입력 장치의 좌표 정보를 식별하도록 분석되고, 상기 좌표 정보는 상기 동작에 적용되는 벡터 데이터로 매핑(mapping)에 의해 변환되는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  11. 제 10 항에 있어서, 상기 벡터 데이터는 상기 기어링의 조정들에 반응하여 스케일링(scaling)되는 것을 특징으로 하는, 컴퓨터 게임 시스템과 상호작용 인터페이스하기 위한 방법.
  12. 컴퓨팅 시스템에서 실행되는 컴퓨터 프로그램에 의해 수행될 동작들과 사용자 동작들 사이의 동적 사용자 상호작용을 수행하기 위한 시스템으로서,
    상기 시스템은, 상기 컴퓨팅 시스템에 의해 실행될 컴퓨터 프로그램과 인터페이스하기 위한 입력 장치를 포함하며,
    상기 입력 장치는, 상기 컴퓨터 프로그램에 의해 적용될 동작으로 매핑됨에 따라 상기 입력 장치의 이동 데이터 사이의 스케일링된 값을 설립하기 위한 기어링 제어를 가지는 것을 특징으로 하는, 동적 사용자 상호작용을 수행하기 위한 시스템.
  13. 제 12 항에 있어서, 상기 기어링은, 상기 컴퓨터 프로그램과의 상호작용 전에 설정될 수 있거나, 상기 상호작용 동안 설정될 수 있거나, 또는 상기 상호작용 후에 설정될 수 있는 것을 특징으로 하는, 동적 사용자 상호작용을 수행하기 위한 시스템.
  14. 제 12 항에 있어서, 상기 입력 장치는, 발광 다이오드들, 관성 센서, 음향 장치, 또는 입력들의 믹서 중 적어도 하나를 포함하는 제어기 또는 핸드-헬드 물 체(hand-held object)인 것을 특징으로 하는, 동적 사용자 상호작용을 수행하기 위한 시스템.
  15. 제 14 항에 있어서, 음향 장치는, 상기 컴퓨팅 시스템이 상기 동작을 유발하게 하는 음향 또는 초음파 신호들을 전달하기 위한 스피커(speaker)를 포함하는 것을 특징으로 하는, 동적 사용자 상호작용을 수행하기 위한 시스템.
  16. 제 14 항에 있어서, 상기 제어기는, 상기 컴퓨터 프로그램에 의한 동작을 유발하도록 상기 컴퓨팅 시스템과 통신하기 위해 사용자로부터의 입력을 수신하기 위한 마이크로폰(microphone)을 포함하는 것을 특징으로 하는, 동적 사용자 상호작용을 수행하기 위한 시스템.
  17. 제 14 항에 있어서, 상기 관성 센서로부터의 관성 데이터는 상기 입력 장치의 좌표 정보를 식별하도록 분석되고, 상기 좌표 정보는 상기 동작으로 적용되는 벡터 데이터로 상기 매핑에 의해 변환되는 것을 특징으로 하는, 동적 사용자 상호작용을 수행하기 위한 시스템.
  18. 제 12 항에 있어서, 상기 기어링은, 상기 컴퓨터 프로그램의 물체와의 상호작용 전에 설정될 수 있거나, 상기 상호작용 동안 설정될 수 있거나, 또는 상기 상호작용 후에 설정될 수 있는 것을 특징으로 하는, 동적 사용자 상호작용을 수행하 기 위한 시스템.
  19. 제 12 항에 있어서, 상기 컴퓨터 프로그램은 상호작용 어플리케이션(interactive application)이고, 상기 상호작용 어플리케이션은 비디오 게임, 프로그램, 인터넷 프로그램, 또는 인터페이싱 제어 프로그램(interfacing control program) 중 하나인 것을 특징으로 하는, 동적 사용자 상호작용을 수행하기 위한 시스템.
KR1020087029707A 2006-05-04 2007-05-04 시각, 음향, 관성, 및 혼합 데이터 중 하나 이상에 근거하여 기어링 효과들을 입력에 적용하기 위한 방법들 및장치들 KR101060779B1 (ko)

Applications Claiming Priority (21)

Application Number Priority Date Filing Date Title
US11/381,725 2006-05-04
US11/381,728 US7545926B2 (en) 2006-05-04 2006-05-04 Echo and noise cancellation
US11/381,721 US8947347B2 (en) 2003-08-27 2006-05-04 Controlling actions in a video game unit
US11/381,729 US7809145B2 (en) 2006-05-04 2006-05-04 Ultra small microphone array
US11/381,727 US7697700B2 (en) 2006-05-04 2006-05-04 Noise removal for electronic device with far field microphone on console
US11/381,727 2006-05-04
US11/381,729 2006-05-04
US11/381,725 US7783061B2 (en) 2003-08-27 2006-05-04 Methods and apparatus for the targeted sound detection
US11/381,728 2006-05-04
US11/381,724 US8073157B2 (en) 2003-08-27 2006-05-04 Methods and apparatus for targeted sound detection and characterization
US11/381,724 2006-05-04
US11/381,721 2006-05-04
US11/382,038 US7352358B2 (en) 2002-07-27 2006-05-06 Method and system for applying gearing effects to acoustical tracking
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,041 US7352359B2 (en) 2002-07-27 2006-05-07 Method and system for applying gearing effects to inertial tracking
US11/382,040 2006-05-07
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
PCT/US2007/010852 WO2007130582A2 (en) 2006-05-04 2007-05-04 Computer imput device having gearing effects

Publications (2)

Publication Number Publication Date
KR20090025228A true KR20090025228A (ko) 2009-03-10
KR101060779B1 KR101060779B1 (ko) 2011-08-30

Family

ID=38668336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087029707A KR101060779B1 (ko) 2006-05-04 2007-05-04 시각, 음향, 관성, 및 혼합 데이터 중 하나 이상에 근거하여 기어링 효과들을 입력에 적용하기 위한 방법들 및장치들

Country Status (4)

Country Link
EP (1) EP2013865A4 (ko)
JP (3) JP4567805B2 (ko)
KR (1) KR101060779B1 (ko)
WO (1) WO2007130582A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101441289B1 (ko) * 2010-08-27 2014-09-29 에스케이플래닛 주식회사 휴대 단말의 입력 감도를 고려한 디지털 컨텐츠 제작 방법 및 장치

Families Citing this family (37)

* Cited by examiner, † Cited by third party
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
US8690670B2 (en) 2007-06-14 2014-04-08 Harmonix Music Systems, Inc. Systems and methods for simulating a rock band experience
US8678896B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for asynchronous band interaction in a rhythm action game
WO2010006054A1 (en) 2008-07-08 2010-01-14 Harmonix Music Systems, Inc. Systems and methods for simulating a rock and band experience
KR101250513B1 (ko) * 2008-10-27 2013-04-03 소니 컴퓨터 엔터테인먼트 인코포레이티드 설정 가능한 모드들을 가지는, 구형 단을 구비한 컨트롤러
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 (ko) 2009-06-25 2010-12-31 삼성전자주식회사 가상 세계 처리 장치 및 방법
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
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
US8550908B2 (en) 2010-03-16 2013-10-08 Harmonix Music Systems, Inc. Simulating musical instruments
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
US20110306397A1 (en) 2010-06-11 2011-12-15 Harmonix Music Systems, Inc. Audio and animation blending
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
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 (ja) * 2011-06-01 2016-12-07 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
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
EP3098782B1 (en) * 2014-01-21 2021-06-16 Sony Interactive Entertainment Inc. Information processing device and information processing method
JP6193135B2 (ja) 2014-01-21 2017-09-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
JP6027554B2 (ja) 2014-01-21 2016-11-16 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、ブロックシステム、および情報処理方法
JP6177146B2 (ja) * 2014-01-21 2017-08-09 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法
JP6177147B2 (ja) * 2014-01-21 2017-08-09 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法
JP6177145B2 (ja) * 2014-01-21 2017-08-09 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法
EP3982234A3 (en) * 2014-07-30 2022-05-11 Movidius Ltd. Low power computational imaging
KR20170081272A (ko) * 2014-12-18 2017-07-11 페이스북, 인크. 가상 현실 환경에서의 내비게이션을 위한 방법, 시스템 및 장치
KR20180004117A (ko) * 2015-04-15 2018-01-10 톰슨 라이센싱 3 차원 움직임의 트랜슬레이션 구성
IT201700020955A1 (it) * 2017-02-24 2018-08-24 Xplored S R L Metodo ed apparato per controllare videogiochi
TWI700614B (zh) * 2017-04-21 2020-08-01 宏達國際電子股份有限公司 追蹤系統的操作方法、控制器、追蹤系統及非揮發性電腦可讀取記錄媒體
US10653957B2 (en) * 2017-12-06 2020-05-19 Universal City Studios Llc Interactive video game system
EP3650988A1 (de) * 2018-11-09 2020-05-13 iXperienz GmbH & Co. KG Eingabevorrichtung und verfahren zur eingabe von informationen sowie verfahren zur erzeugung eines virtuellen zeigers
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
US10773157B1 (en) 2019-07-26 2020-09-15 Arkade, Inc. Interactive computing devices and accessories

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07284166A (ja) * 1993-03-12 1995-10-27 Mitsubishi Electric Corp 遠隔操作装置
SE504846C2 (sv) * 1994-09-28 1997-05-12 Jan G Faeger Styrutrustning med ett rörligt styrorgan
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 (ja) * 1996-12-16 1998-06-30 Fujitsu Ltd 指示入力装置
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 (ja) * 1999-10-04 2006-11-15 任天堂株式会社 ゲームシステム及びそれに用いられるゲーム情報記憶媒体
JP3403685B2 (ja) * 2000-01-14 2003-05-06 コナミ株式会社 ゲームシステムおよびコンピュータ読み取り可能な記憶媒体
US20020085097A1 (en) * 2000-12-22 2002-07-04 Colmenarez Antonio J. Computer vision-based wireless pointing system
JP3611807B2 (ja) * 2001-07-19 2005-01-19 コナミ株式会社 ビデオゲーム装置、ビデオゲームにおける擬似カメラ視点移動制御方法及びプログラム
JP4123878B2 (ja) * 2001-09-17 2008-07-23 富士ゼロックス株式会社 光電変換ユニット、位置方向測定装置および位置方向測定方法
JP4028708B2 (ja) * 2001-10-19 2007-12-26 株式会社コナミデジタルエンタテインメント ゲーム装置及びゲームシステム
JP5109221B2 (ja) * 2002-06-27 2012-12-26 新世代株式会社 ストロボスコープを使った入力システムを備える情報処理装置
JP3511518B1 (ja) * 2003-03-07 2004-03-29 任天堂株式会社 ゲーム装置、ゲームプログラムおよび情報記憶媒体
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
JP5130504B2 (ja) * 2003-07-02 2013-01-30 新世代株式会社 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2005046422A (ja) * 2003-07-30 2005-02-24 Samii Kk ゲーム機用コントローラ
TW200609024A (en) * 2004-05-11 2006-03-16 Ssd Co Ltd Entertainment apparatus and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101441289B1 (ko) * 2010-08-27 2014-09-29 에스케이플래닛 주식회사 휴대 단말의 입력 감도를 고려한 디지털 컨텐츠 제작 방법 및 장치

Also Published As

Publication number Publication date
KR101060779B1 (ko) 2011-08-30
EP2013865A4 (en) 2010-11-03
JP2009535167A (ja) 2009-10-01
JP2009112829A (ja) 2009-05-28
EP2013865A2 (en) 2009-01-14
JP5277081B2 (ja) 2013-08-28
JP4598117B2 (ja) 2010-12-15
JP4567805B2 (ja) 2010-10-20
WO2007130582A3 (en) 2008-12-04
WO2007130582A2 (en) 2007-11-15
JP2009266241A (ja) 2009-11-12

Similar Documents

Publication Publication Date Title
US10406433B2 (en) Method and system for applying gearing effects to visual tracking
KR101060779B1 (ko) 시각, 음향, 관성, 및 혼합 데이터 중 하나 이상에 근거하여 기어링 효과들을 입력에 적용하기 위한 방법들 및장치들
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
US10369466B2 (en) Combiner method for altering game gearing
CN101484933B (zh) 基于一个或多个视觉的、听觉的、惯性的和混合的数据来应用传动效应到输入的方法和设备
US9682320B2 (en) Inertially trackable hand-held controller
US10143920B2 (en) Illuminating controller for tracking during communicating with a gaming system
EP1937380B1 (en) Wireless video game controller and method for operating a wireless video game 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
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140806

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150806

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160810

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170811

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180809

Year of fee payment: 8