KR101020509B1 - 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법 - Google Patents

프로그램의 실행을 제어하기 위한 입력을 획득하는 방법 Download PDF

Info

Publication number
KR101020509B1
KR101020509B1 KR1020087029705A KR20087029705A KR101020509B1 KR 101020509 B1 KR101020509 B1 KR 101020509B1 KR 1020087029705 A KR1020087029705 A KR 1020087029705A KR 20087029705 A KR20087029705 A KR 20087029705A KR 101020509 B1 KR101020509 B1 KR 101020509B1
Authority
KR
South Korea
Prior art keywords
controller
input
information
input information
value
Prior art date
Application number
KR1020087029705A
Other languages
English (en)
Other versions
KR20090017571A (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 PCT/US2006/017483 external-priority patent/WO2006121896A2/en
Priority claimed from US11/429,414 external-priority patent/US7627139B2/en
Priority claimed from US11/381,728 external-priority patent/US7545926B2/en
Priority claimed from US11/418,989 external-priority patent/US8139793B2/en
Priority claimed from US11/381,724 external-priority patent/US8073157B2/en
Priority claimed from US11/381,721 external-priority patent/US8947347B2/en
Priority claimed from US11/381,727 external-priority patent/US7697700B2/en
Priority claimed from US11/381,729 external-priority patent/US7809145B2/en
Priority claimed from US11/429,133 external-priority patent/US7760248B2/en
Priority claimed from US11/418,988 external-priority patent/US8160269B2/en
Priority claimed from US11/381,725 external-priority patent/US7783061B2/en
Priority claimed from US11/429,047 external-priority patent/US8233642B2/en
Priority claimed from US11/382,036 external-priority patent/US9474968B2/en
Priority claimed from US11/382,037 external-priority patent/US8313380B2/en
Priority claimed from US11/382,038 external-priority patent/US7352358B2/en
Priority claimed from US11/382,034 external-priority patent/US20060256081A1/en
Priority claimed from US11/382,031 external-priority patent/US7918733B2/en
Priority claimed from US11/382,033 external-priority patent/US8686939B2/en
Priority claimed from US11/382,035 external-priority patent/US8797260B2/en
Priority claimed from US11/382,032 external-priority patent/US7850526B2/en
Priority claimed from US11/382,043 external-priority patent/US20060264260A1/en
Priority claimed from US11/382,040 external-priority patent/US7391409B2/en
Priority claimed from US11/382,039 external-priority patent/US9393487B2/en
Priority claimed from US11/382,041 external-priority patent/US7352359B2/en
Priority claimed from US11/382,256 external-priority patent/US7803050B2/en
Priority claimed from US11/382,252 external-priority patent/US10086282B2/en
Priority claimed from US11/382,251 external-priority patent/US20060282873A1/en
Priority claimed from US11/382,258 external-priority patent/US7782297B2/en
Priority claimed from US11/430,593 external-priority patent/US20070261077A1/en
Priority claimed from US11/430,594 external-priority patent/US20070260517A1/en
Priority claimed from US11/382,259 external-priority patent/US20070015559A1/en
Priority claimed from US11/382,250 external-priority patent/US7854655B2/en
Application filed by 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 filed Critical 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨
Publication of KR20090017571A publication Critical patent/KR20090017571A/ko
Application granted granted Critical
Publication of KR101020509B1 publication Critical patent/KR101020509B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. 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/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/424Processing 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 acoustic input signals, e.g. by using the results of pitch or rhythm extraction or 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/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/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

Abstract

본 발명에 따르면, 게임 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법이 제공된다.
게임 프로그램, 제어기 입력 정보, 보충 입력 정보, 관성 분석기, 영상 분석기, 음향 분석기

Description

프로그램의 실행을 제어하기 위한 입력을 획득하는 방법{Obtaining input for controlling execution of a program}
본 출원은, 2006년 5월4일에 출원된 미국특허출원 제11/381,729호, 샤오 동 마오(Xiao Dong Mao)의 초소형 마이크로폰 배열(ULTRA SMALL MICROPHONE ARRAY; 대리인 참조번호 SCEA05062US00), 2006년 5월4일에 출원된 미국특허출원 제11/381,728호, 샤오 동 마오의 에코 및 잡음 제거(ECHO AND NOISE CANCELLATION; 대리인 참조번호 SCEA05064US00), 2006년 5월4일에 출원된 미국특허출원 제11/381,725호, 샤오 동 마오의 타겟 음향 검출을 위한 방법들 및 장치(METHODS AND APPARATUS FOR TARGETED SOUND DETECTION; 대리인 참조번호 SCEA05072US00), 2006년 5월4일에 출원된 미국특허출원 제11/381,727호, 샤오 동 마오의 "콘솔(console)에서의 원거리 마이크로폰을 가진 전자 장치를 위한 잡음 제거"(대리인 참조번호 SCEA05073US00), 2006년 5월4일에 출원된 미국특허출원 제11/381,724호, 샤오 동 마오의 "타겟 음향 검출 및 특성화를 위한 방법들 및 장치"(대리인 참조번호 SCEA05079US00), 2006년 5월4일에 출원된 미국특허출원 제11/381,721호, 샤오 동 마오의 "컴퓨터 상호작용 처리와 관련된 선택적인 음원 청취"(대리인 참조번호 SCEA04005JUMBOS)의 우선권을 청구한다.
본 출원은, 2006년 5월4일에 출원된 미국특허출원 제11/418,988호, 샤오 동 마오의 "음향을 캡쳐(capture)하기 위한 청취 영역을 조정하기 위한 방법들 및 장치"(대리인 참조번호 SCEA-00300); 2006년 5월4일에 출원된 미국특허출원 제11/418,989호, 샤오 동 마오의 "시각 영상에 근거한 오디오 신호를 캡쳐하기 위한 방법들 및 장치들"(대리인 참조번호 SCEA-00400); 2006년 5월4일에 출원된 미국특허출원 제11/429,047호, 샤오 동 마오의 "신호의 위치에 근거하여 오디오 신호를 캡쳐하기 위한 방법들 및 장치들"(대리인 참조번호 SCEA-00500); 2006년 5월4일에 출원된 미국특허출원 제11/429,133호, 리차드 막스(Richard Marks) 등의 "컴퓨터 상호작용 처리와 관련된 선택적인 음원 청취"(대리인 참조번호 SCEA04005US01-SONYP045); 및 2006년 5월4일에 출원된 미국특허출원 제11/429,414호, 리차드 막스 등의 "강도의 컴퓨터 영상 및 오디오 처리, 및 컴퓨터 프로그램과 인터페이스(interface)하기 위한 입력 장치들"(대리인 참조번호 SONYP052)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월6일에 출원된 미국특허출원 제11/382,031호, "다중 입력 게임 제어 믹서"(MULTI-INPUT GAME CONTROL MIXER; 대리인 참조번호 SCEA06MXR1); 2006년 5월6일에 출원된 미국특허출원 제11/382,032호, "환경 내의 사용자 조작들을 추적하기 위한 시스템"(대리인 참조번호 SCEA06MXR2); 2006년 5월6일에 출원된 미국특허출원 제11/382,033호, "3차원 입력 제어를 위한 시스템, 방법 및 장치"(대리인 참조번호 SCEA06INRT1); 2006년 5월6일에 출원된 미국특허출원 제11/382,035호, "관성적으로 추적가능한 핸드-헬드 제어기"(INERTIALLY TRACKABLE HAND-HELD CONTROLLER; 대리인 참조번호 SCEA06INRT2); 2006년 5월6일에 출원된 미 국특허출원 제11/382,036호, "기어링(gearing) 효과들을 시각 추적에 적용하기 위한 방법 및 시스템"(대리인 참조번호 SONYP058A); 2006년 5월7일에 출원된 미국특허출원 제11/382,041호, "기어링 효과를 관성 추적에 적용하기 위한 방법 및 시스템"(대리인 참조번호 SONYP058B); 2006년 5월6일에 출원된 미국특허출원 제11/382,038호, "기어링 효과를 음향 추적에 적용하기 위한 방법 및 시스템"(대리인 참조번호 SONYP058C); 2006년 5월7일에 출원된 미국특허출원 제11/382,040호, "기어링 효과를 다중 채널 혼합 입력에 적용하기 위한 방법 및 시스템"(대리인 참조번호 SONYP058D); 2006년 5월6일에 출원된 미국특허출원 제11/382,034호, "게임 제어기 몸체의 사용자 조작을 검출하고 추적하기 위한 구조"(대리인 참조번호 86321 SCEA05082US00); 2006년 5월6일에 출원된 미국특허출원 제11/382,037호, "시스템을 위한 입력부들 내로의 핸드-헬드 제어기의 이동들을 번역하기 위한 구조"(대리인 참조번호 86324); 2006년 5월7일에 출원된 미국특허출원 제11/382,043호, "검출가능하며 추적가능한 핸드-헬드 제어기"(대리인 참조번호 86325); 2006년 5월7일에 출원된 미국특허출원 제11/382,039호, "핸드-헬드 제어기의 이동들을 게임 명령들로 매핑(mapping)하기 위한 방법"(대리인 참조번호 86326); 2006년 5월6일에 출원된 미국디자인특허출원 제29/259,349호, "적외선 포트를 가진 제어기"(대리인 참조번호 SCEA06007US00); 2006년 5월6일에 출원된 미국디자인특허출원 제29/259,350호, "추적 센서들을 가진 제어기"(대리인 참조번호 SCEA06008US00); 2006년 5월6일에 출원된 미국특허출원 제60/798,031호, "동적 타겟 인터페이스"(대리인 참조번호 SCEA06009US00); 및 2006년 5월6일에 출원된 미국디자인특허출원 제29/259,348호, "추적된 제어기 장치"(대리인 참조번호 SCEA06010US00); 2006년 5월8일에 출원된 미국특허출원 제11/382,250호, "게임 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법"(대리인 참조번호 SCEA06018US00)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국특허출원 제11/430,594호, 게리 제일러스키(Gary Zalewski) 및 릴레이 알. 러셀(Riley R. Russell)의 "조정을 선택하기 위해 사용자의 시각/음향 환경을 이용하기 위한 시스템 및 방법"(대리인 참조번호 SCEA05059US00)의 우선권을 청구한다.
본 출원은, 또한, 2006년 5월8일에 출원된 미국특허출원 제11/430,593호, 게리 제일러스키 및 릴레이 알. 러셀의 "게임 플랫폼에서 광고들을 선택하기 위해 음향/시각 환경을 이용하는 방법"(대리인 참조번호 SCEAUS3.0-011)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국특허출원 제11/382,259호, 게리 제일러스키 등의 "시스템과 관련된 사용자 활동의 부족을 결정하는 데에 사용하기 위한 방법 및 장치"(대리인 참조번호 86327)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국특허출원 제11/382,258호, 게리 제일러스키 등의 "시스템과 관련된 사용자의 활동 레벨을 결정하는 데에 사용하기 위한 방법 및 장치"(대리인 참조번호 86328)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국특허출원 제11/382,251호, 게리 제일러스키 등의 "목적들을 추적하기 위한 검출가능 요소들을 가진 핸드-헬드 제어기"(대리인 참조번호 86329)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국특허출원 제11/382,252호, "게임 프로그램 실행을 제어하기 위한 정보를 획득하는 데에 사용하기 위한 추적 장치"의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국특허출원 제11/382,256호, "게임 프로그램 실행을 제어하기 위한 정보를 획득하는 데에 사용하기 위한 음향 방출기를 가진 추적 장치"(대리인 참조번호 SCEA06ACRA2)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,744호, "비디오 게임 제어기 전면"(VIDEO GAME CONTROLLER FRONT FACE; 대리인 참조번호 SCEACTR-D3)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,743호, "비디오 게임 제어기"(대리인 참조번호 SCEACTRL-D2)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,767호, "비디오 게임 제어기"(대리인 참조번호 SONYP059A)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,768호, "비디오 게임 제어기"(대리인 참조번호 SONYP059B)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,763호, "LED들 및 광학 포트들을 가진 인간환경공학 게임 제어기 장치"(대리인 참조번호 SONYP059B)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,759호, "LED들 및 광학 포트들을 가진 게임 제어기 장치"(대리인 참조번호 PA3761US) 의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,765호, "광학 게임 제어기 인터페이스를 위한 디자인"(대리인 참조번호 PA3762US)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,766호, "LED들 및 광학 포트들을 가진 이중 그립 게임 제어 장치"(대리인 참조번호 PA3763US)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,764호, "LED들 및 광학 포트들을 가진 게임 인터페이스 장치"(대리인 참조번호 PA3764US)의 우선권을 청구한다.
본 출원은, 또한 2006년 5월8일에 출원된 미국디자인특허출원 제29/246,762호, "LED들 및 광학 포트들을 가진 인간환경공학 게임 인터페이스 장치"(대리인 참조번호 PA3765US)의 우선권을 청구한다.
본 출원은, 2005년 9월15일에 출원된 미국 가특허출원 제60/718,145호, "오디오, 비디오, 시뮬레이션, 및 사용자 인터페이스 패러다임들"과 관련되어 있다.
본 출원은, 2002년 7월27일에 출원된 미국특허출원 제10/207,677호, "변형가능 장치를 이용하는 인간-기계 인터페이스"; 2003년 8월27일에 출원된 미국특허출원 제10/650,409호, "오디오 입력 시스템"; 2003년 9월15일에 출원된 미국특허출원 제10/663,236호, "추적된 헤드 움직임에 따라 디스플레이되는 장면의 시야를 조정하기 위한 방법 및 장치(METHOD AND APPARATUS FOR ADJUSTING A VIEW OF A SCENE BEING DISPLAYED ACCORDING TO TRACKED HEAD MOTION)"; 2004년 1월16일에 출원된 미국특허출원 제10/759,782호, "광 입력 디바이스(light input device)를 위한 방법 및 장치"; 2004년 4월7일에 출원된 미국특허출원 제10/820,469호, "오디오 장애들을 검출하고 제거하기 위한 방법 및 장치"; 및 2005년 12월12일에 출원된 미국특허출원 제11/301,673호, "카메라 추적에 의해 포인팅 인터페이스를 기능하게 하기 위해 상대적인 머리 및 손 위치들을 이용하기 위한 방법(METHOD FOR USING RELATIVE HEAD AND HAND POSITIONS TO ENABLE A POINTING INTERFACE VIA CAMERA TRACKING)"; 2005년 6월22일에 출원된 미국특허출원 제11/165,473호, "오디오/비디오 시스템에서의 지연 매칭(DELAY MATCHING IN AUDIO/VIDEO SYSTEM)"과 관련되어 있다.
본 출원은, 2006년 4월10일에 출원된 미국특허출원 제11/400,997호, 라센 및 첸(Larsen and Chen)의 "음성들로부터 사용자 정보를 획득하기 위한 시스템 및 방법"(대리인 참조번호 SCEA05040US00)과 관련되어 있다.
본 발명은, 일반적으로 인간-컴퓨터 인터페이싱(human-computer interfacing)에 관한 것이고, 구체적으로 하나 이상의 제어기들의 사용자 조작을 추적하기 위한 다중-채널 입력을 처리하는 방법에 관한 것이다.
컴퓨터 엔터테인먼트 시스템들은 전형적으로 핸드-헬드 제어기(hand-held controller), 게임 제어기, 또는 다른 제어기를 포함한다. 사용자 또는 플레이어는, 비디오 게임 또는 플레이(play)되는 다른 시뮬레이션(simulation)을 제어하기 위해 엔터테인먼트 시스템(entertainment system)으로 명령들 또는 다른 지시들을 송신하도록 제어기를 사용한다. 예를 들어, 제어기는, 조이스틱(joy stick)과 같은, 사용자에 의해 동작되는 조작기를 제공받을 수 있다. 조이스틱의 조작된 변수는 아날로그 값으로부터 디지털 값으로 변환되어, 게임 기계 주 프레임(game machine main frame)으로 송신된다. 제어기는 또한 사용자에 의해 동작될 수 있는 버튼들을 제공받을 수 있다.
본 발명은, 이러한 배경 정보 요소와 다른 배경 정보 요소와 관련되어 전개된다.
다음의 상세한 설명이 설명을 위하여 많은 구체적 세부사항들을 포함할지라도, 당업자라면, 다음의 세부사항들에 대한 많은 변형예들이 본 발명의 범위 내에 있다는 것을 알 것이다. 따라서, 이하에서 설명된 본 발명의 예시적 실시형태들은 일반성을 잃지 않으면서, 제한을 두지 않고, 청구된 발명을 표현한다.
본 명세서에서 설명된 방법들, 장치, 구조들 및 시스템들의 다양한 실시형태들은, 사용자에 의한 제어기 몸체 전체의 이동들, 움직임들 및/또는 조작들의 검출, 캡쳐 및 추적을 준비한다. 사용자에 의한 제어기 몸체 전체의 검출된 이동들, 움직임들 및/또는 조작들은, 플레이되는 게임 또는 다른 시뮬레이션의 다양한 양상들을 제어하기 위해 추가적인 명령들로서 사용될 수 있다.
게임 제어기 몸체의 사용자의 조작들에 대한 검출 및 추적은 다른 방식들로 실시될 수 있다. 예를 들어, 가속도계 또는 자이로스코프와 같은 관성 센서, 및 디지털 카메라와 같은 영상 캡쳐 유닛은, 핸드-헬드 제어기 몸체의 움직임들을 검출하고 게임 내의 동작들로 변환하도록 컴퓨터 엔터테인먼트 시스템과 함께 사용될 수 있다. 관성 센서를 이용하여 제어기를 추적하는 실시예들이, 미국특허출원 제11/382,033호, "3차원 입력 제어를 위한 시스템, 방법 및 장치"(대리인 참조번호 SCEA06INRT1)에 기술되어 있다. 영상 캡쳐를 사용하여 제어기를 추적하는 실시예들은, 미국특허출원 제11/382,034호, "게임 제어기 몸체의 사용자 조작을 검출하고 추적하기 위한 구조"(대리인 참조번호 SCEA05082US00)에 기술되어 있다. 게다가, 제어기 및/또는 사용자는 또한 마이크로폰 배열 및 적절한 신호 처리를 이용하여 음향적으로 추적될 수 있다. 이러한 음향 추적의 실시예들은 미국특허출원 제11/381,721호에 기술되어 있다.
음향 감지, 관성 감지 및 영상 캡쳐는, 예를 들어, 상하 이동들, 감김 이동들, 측면 이동들, 잡아당기는 이동들, 막대와 같은 움직임들, 찌르는 움직임들 등과 같은, 제어기의 많은 다른 유형들의 움직임들을 검출하기 위해 개별적이거나 임의의 조합으로 사용될 수 있다. 이러한 움직임들은, 게임 내의 동작들로 변환되도록 다양한 명령들에 대응될 수 있다. 게임 제어기 몸체의 사용자의 조작들에 대한 검출 및 추적은, 사용자가, 예를 들어, 검 또는 광선검 격투에 관여하거나, 아이템들의 형태를 그리기 위해 지팡이를 사용하거나, 많은 다른 유형들의 스포츠 이벤트들에 관여하거나, 온-스크린 격투들 등에 관여하는 것을 가능하게 하는 많은 다른 유형들의 게임들, 시뮬레이션들 등을 실시하는 데에 이용될 수 있다. 게임 프로그램은 제어기의 움직임을 추적하고 추적된 움직임으로부터 미리 기록된 특정 동작들을 인식하도록 구성될 수 있다. 하나 이상의 이러한 동작들의 인식은 게임 상태의 변화를 유발할 수 있다.
본 발명의 실시형태들에 있어서, 이러한 다른 소스(source)들로부터 획득된 제어기 경로 정보는 동작 인식에 대한 분석에 앞서서 혼합될 수 있다. (예를 들어, 음향, 관성 및 영상 캡쳐와 같은) 다른 소스들로부터의 추적 데이터는 동작의 인식 가능성을 향상시키는 방식으로 혼합될 수 있다.
본 발명의 사상은 첨부된 도면들과 관련하여 다음의 실시예를 고려하여 이해될 수 있다.
도 1은 본 발명의 실시형태에 따라 동작하는 비디오 게임 시스템을 도시하는 개략도이며;
도 2는 본 발명의 실시형태에 따라 제조된 제어기의 사시도이고;
도 3은 본 발명의 실시형태에 따라 제어기 내에서 사용될 수 있는 가속도계를 도시하는 3차원 개략도이며;
도 4는 본 발명의 실시형태에 따라 다양한 제어 입력들을 혼합하기 위한 시스템의 블록도이고;
도 5a는 도 1의 비디오 게임 시스템의 일부분의 블록도이며;
도 5b는 본 발명의 실시형태에 따라 비디오 게임 시스템의 제어기를 추적하기 위한 방법의 순서도이고;
도 5c는 본 발명의 실시형태에 따라 비디오 게임 시스템에서 게임 플레이 동 안 위치 및/또는 방향 정보를 이용하기 위한 방법을 도시하는 순서도이며;
도 6은 본 발명의 실시형태에 따라 비디오 게임 시스템을 도시하는 블록도이고;
도 7은 본 발명의 실시형태에 따른 비디오 게임 시스템의 셀 프로세서(cell processor) 실시형태의 블록도이다.
도 1을 참조하면, 본 발명의 실시형태에 따라 동작하는 시스템(100)이 도시되어 있다. 도시된 것처럼, 컴퓨터 엔터테인먼트 콘솔(computer entertainment console; 102)은 비디오 게임 또는 다른 시뮬레이션의 영상들을 디스플레이하기 위해 텔레비젼 또는 다른 디스플레이(104)에 결합될 수 있다. 게임 또는 다른 시뮬레이션은 콘솔(102)에 삽입되는 DVD, CD, 플래시 메모리(flash memory), USB 메모리, 또는 다른 메모리 매체(106)에 저장될 수 있다. 사용자 또는 플레이어(108)는 비디오 게임 또는 다른 시뮬레이션을 제어하기 위해 게임 제어기(110)를 조작한다. 도 2에 도시된 것처럼, 게임 제어기(110)는, 게임 제어기(110)의 위치, 움직임, 방향 또는 방향의 변화에 대응하는 신호들을 생성하는 관성 센서(112)를 포함한다. 관성 센서 이외에도, 게임 제어기(110)는 예를 들어, 조이스틱들(111), 버튼들(113, R1, L1) 등과 같은 통상의 제어 입력 장치들을 포함할 수 있다.
동작 동안, 사용자(108)는 제어기(110)를 물리적으로 이동시킨다. 예를 들어, 제어기(110)는 사용자(108)에 의해 위, 아래, 한쪽 방향, 다른쪽 방향, 꼬임, 굴림, 흔들림, 잡아당김, 찌르기 등과 같은 임의의 방향으로 이동될 수 있다. 제어 기(110) 자체의 이러한 이동들은, 이하에서 기술되는 방식으로 관성 센서(112)로부터의 신호들의 분석을 통하여 추적함으로써 카메라(112)에 의해 검출되고 캡쳐될 수 있다.
도 1을 참조하면, 시스템(100)은, 제어기(110)가 카메라의 시야(116) 내에 있도록 위치될 수 있는 카메라 또는 다른 비디오 영상 캡쳐 장치(114)를 선택적으로 포함할 수 있다. 영상 캡쳐 장치(114)로부터의 영상들의 분석은 관성 센서(112)로부터의 데이터의 분석과 관련하여 사용될 수 있다. 도 2에 도시된 것처럼, 제어기(110)는, 비디오 분석에 의한 추적을 도모하기 위해 발광 다이오드들(LEDs; light emitting diodes; 202, 204, 206, 208)과 같은 광원들을 선택적으로 갖출 수 있다. 이것들은 제어기(110)의 몸체에 실장될 수 있다. 본 명세서에서 사용되는 것처럼, 용어 "몸체"는, 사용자가 (착용가능한 게임 제어기라면 착용하거나) 손으로 잡는 게임 제어기(110)의 부분을 묘사하는 의미를 가진다.
제어기(110)를 추적하기 위한 이러한 비디오 영상들의 분석은, 예를 들어, 미국특허출원 제11/382,034호, 게리 엠. 제일러스키의 "게임 제어기 몸체의 사용자 조작을 검출하고 추적하기 위한 구조"(대리인 참조번호 SCEA05082US00)에 기술되어 있다. 콘솔(102)은 마이크로폰 배열(118)과 같은 음향 변환기를 포함할 수 있다. 제어기(110)는, 또한 예를 들어, 미국특허출원 제11/381,724호에 기술된 것처럼 마이크로폰 배열(118) 및 적절한 음향 신호 처리와 함께 제어기(110)의 음향 추적을 도모하기 위해 음원을 제공하는 음향 신호 생성기(210)(예를 들어, 스피커)를 포함할 수 있다.
일반적으로, 관성 센서(112)로부터의 신호들은 제어기(110)를 위한 위치 및 방향 데이터를 생성하는 데에 이용된다. 이러한 데이터는, 제어기(110)의 임의의 원격측정점들(telemetry points)뿐만 아니라, 임의의 축, 틸트(tilt), 피치(pitch), 요(yaw), 롤(roll)을 따르는 가속도 및 속도와 같은 제어기(110)의 이동의 많은 물리적 양상들을 계산하는 데에 이용될 수 있다. 본 명세서에서 사용된 것처럼, 원격측정법은, 일반적으로 원격 측정, 및 시스템 또는 시스템의 디자이너(designer) 또는 작동자(operator)로의 관심 정보의 보고를 칭한다.
제어기(110)의 이동들을 검출하고 추적하는 능력은, 제어기(110)의 임의의 예정된 이동들이 수행되는지 여부를 결정하는 것을 가능하게 한다. 즉, 제어기(110)의 특정 이동 패턴들 또는 동작들은 게임 또는 다른 시뮬레이션에 대한 입력 명령들로서 예정되고 사용될 수 있다. 예를 들어, 제어기(110)의 하향 찌르기 동작은 하나의 명령으로서 정의될 수 있고, 제어기(110)의 감김 동작은 또 다른 명령으로서 정의될 수 있으며, 제어기(110)의 흔들림 동작은 또 다른 명령으로서 정의될 수 있다. 이러한 식으로, 사용자(108)가 물리적으로 제어기(110)를 이동시키는 방식은, 게임을 제어하기 위한 또 다른 입력으로서 사용되고, 사용자에 대하여 더욱 자극적이고 오락적인 경험을 제공한다.
예를 들어, 관성 센서(112)는 가속도계일 수 있으며, 이에 제한되지 않는다. 도 3은, 예를 들어 스프링들(306, 308, 310, 312)에 의해, 단순질량(302)이 프레임(304)의 4개의 점들에 탄성적으로 결합된 형태의 가속도계(300)의 일 실시예를 도시한다. (각각 X와 Y로 가리켜지는) 피치 축 및 롤 축은 프레임과 교차하는 평면 내에 놓여 있다. 요 축(Z)은 피치 축(X) 및 롤 축(Y)을 포함하는 평면에 수직인 방향을 가진다. 프레임(304)은 임의의 적합한 방식으로 제어기(110)에 실장될 수 있다. 프레임(304)이 가속하고 그리고/또는 회전함에 따라, 질량(302)은 프레임(304)에 대하여 위치가 이동될 수 있고, 스프링들(306, 308, 310, 312)은 병진 및/또는 회전 가속도의 분량 및 방향, 및/또는 피치 및/또는 롤 및/또는 요의 각도에 의존하는 방식으로 연장하거나 압축될 수 있다. 질량(302)의 변위 및/또는 스프링들(306, 308, 310, 312)의 압축 또는 연장은, 예를 들어 적절한 센서들(314, 316, 318, 320)로 감지될 수 있고, 공지되거나 결정가능한 방식으로, 피치 및/또는 롤의 가속도에 의존하는 신호들로 변환될 수 있다.
내변형성 계량 물질(resistive strain gause material), 광 센서들, 자기 센서들, 홀-효과 장치들(hall-effect devices), 압전 장치들(piezoelectric devices), 정전용량 센서들(capacitive sensors) 등을 포함하여, 질량의 위치 및/또는 질량에 가해지는 힘들을 추적하는 많은 다른 방식들이 있다. 본 발명의 실시형태들은, 임의의 개수 및 유형 또는 유형들의 조합의 센서들을 포함할 수 있다. 예를 들어, 센서들(314, 316, 318, 320)은 질량(302) 위에 위치된 간격 덮개 전극들일 수 있다. 질량과 각각의 전극 사이의 정전용량은, 질량의 위치가 각각의 전극에 대하여 변화함에 따라 변화된다. 각각의 전극은, 전극에 대한 질량(302)의 정전용량과 관련된 신호를 생성하는 회로에 연결될 수 있다. 게다가, 스프링들(306, 308, 310, 312)은, 스프링들의 압축 또는 연장과 관련된 신호들을 생성하는 내변형성 계량 센서들을 포함할 수 있다.
일부 실시형태들에서, 프레임(frame; 304)은, 가속도계(300)가 피치 축 및/또는 롤 축 및/또는 요 축과 관련하여 고정된 방향을 유지하도록 제어기(110)에 실장되는 짐벌(gimbal)일 수 있다. 이러한 방식으로, 제어기 축들(X, Y, Z)은, 실제 공간 좌표축들과 관련하여 제어기 축들의 틸팅(tilting)을 고려할 필요 없이, 실제 공간 내의 대응축들에 매핑될 수 있다.
이상에서 논의되는 것처럼, 관성, 영상 캡쳐 및 음원들로부터의 데이터는, 제어기(110)의 위치 및/또는 방향을 추적하는 경로를 생성하도록 분석될 수 있다. 도 4의 블록도에 도시된 것처럼, 본 발명의 일 실시형태에 따른 시스템(400)은 관성 분석기(402), 영상 분석기(404) 및 음향 분석기(406)를 포함할 수 있다. 이러한 분석기들 각각은 감지된 환경(401)으로부터 신호들을 수신한다. 분석기들(402, 404, 406)은 하드웨어, 소프트웨어 또는 2개 이상의 하드웨어와 소프트웨어의 조합으로 실시될 수 있다. 분석기들 각각은 관심 물체의 위치 및/또는 방향과 관련된 추적 정보를 생성한다. 예를 들어, 관심 물체는 이상에서 언급된 제어기(110)일 수 있다. 영상 분석기(404)는 이하의 필드(field)들과 관련하여 동작할 수 있고, 미국특허출원 제11/382,034호(대리인 참조번호 SCEA05082US00)에 기술된 방법들과 관련되어 있다. 관성 분석기(402)는, 이하의 필드들과 관련하여 동작할 수 있고, 미국특허출원 제11/382,033호, "3차원 입력 제어를 위한 시스템, 방법 및 장치"(대리인 참조번호 SCEA06INRT1)에 기술된 방법들에 관한 것이다. 음향 분석기(406)는 이하의 필드들과 관련하여 동작할 수 있고, 미국특허출원 제11/381,724호에 기술된 방법들과 관련되어 있다.
분석기들(402, 404, 406)은, 위치 및/또는 방향 정보의 입력들의 다른 채널들과 관련된 것으로 간주될 수 있다. 믹서(mixer; 408)는, 다중 입력 채널들을 수신할 수 있고, 이러한 채널들은, 채널의 관점으로부터 감지된 환경(401)을 특징짓는 샘플 데이터를 포함할 수 있다. 관성 분석기(402), 영상 분석기(404) 및 음향 분석기(406)에 의해 생성된 위치 및/또는 방향 정보는 믹서(408)의 입력부로 전송될 수 있다. 믹서(408) 및 분석기들(402, 404, 406)은 게임 소프트웨어 프로그램(410)에 의해 질문을 받을 수 있고, 이벤트들에 대응하여 게임 소프트웨어를 인터럽트하도록 구성될 수 있다. 이벤트들은, 실시예들이 이하에서 논의되는 동작 인식 이벤트들, 기어링 변화들, 구성 변화들, 잡음 레벨들 설정(setting noise levels), 샘플링 속도 설정(setting sampling rate), 매핑 사슬들 변화(changing mapping chains)를 포함할 수 있다. 믹서(408)는 이하의 필드들과 관련하여 동작할 수 있고, 이하에서 논의된 방법들과 관련되어 있다.
이상에서 논의되는 것처럼, 다른 입력 채널들, 예를 들어 관성 센서들, 비디오 영상들 및/또는 음향 센서들로부터의 신호들은 관성 분석기(402), 영상 분석기(404) 및 음향 분석기(406)에 의해 분석될 수 있어, 진보적인 방법에 따른 비디오 게임의 플레이 동안의 제어기(110)의 움직임 및/또는 방향을 결정한다. 이러한 방법은, 프로세서 기록가능 매체 내에 저장되고 디지털 프로세서에서 실행되는 일련의 프로세서 실행가능 프로그램 코드 명령들로서 실시될 수 있다. 예를 들어, 도 5a에 도시된 것처럼, 비디오 게임 시스템(100)은, 하드웨어 또는 소프트웨어에서 실시되는 관성 분석기(402), 영상 분석기(404), 및 음향 분석기(406)를 가진 콘 솔(102)을 포함할 수 있다. 예를 들어, 분석기들(402, 404, 406)은 적합한 프로세서 유닛(502)에서 실행되는 소프트웨어 명령들로서 실시될 수 있다. 예를 들어, 프로세서 유닛(502)은, 디지털 프로세서, 예를 들어, 비디오 게임 콘솔들에서 통상적으로 사용되는 유형의 마이크로프로세서일 수 있다. 명령들의 일부분은 메모리(506) 내에 저장될 수 있다. 선택적으로, 관성 분석기(402), 영상 분석기(404) 및 음향 분석기(406)는, 예를 들어, ASIC(application specific integrated circuit)와 같은 하드웨어에서 실시될 수 있다. 이러한 분석기 하드웨어는 제어기(110) 또는 콘솔(102)에 위치될 수 있거나 또는 원거리의 다른 곳에 위치될 수 있다. 하드웨어 실시형태들에서, 분석기들(402, 404, 406)은, 프로세서(502), 또는 USB 케이블, 무선 연결부 또는 네트워크에 의해 연결된 일부 다른 원거리의 소스로부터의 외부 신호들에 반응하여 프로그래밍(programming)될 수 있다.
관성 분석기(402)는, 관성 센서(112)에 의해 생성된 신호들을 분석하고 제어기(110)의 위치 및/또는 방향에 관한 정보를 이용하는 명령들을 포함하거나 실시할 수 있다. 유사하게, 영상 분석기(404)는 영상 캡쳐 유닛(114)에 의해 캡쳐된 영상들을 분석하는 명령들을 실시할 수 있다. 게다가, 음향 분석기는 마이크로폰 배열(118)에 의해 캡쳐된 영상들을 분석하는 명령들을 실시할 수 있다. 도 5b의 순서도(510)에 도시된 것처럼, 이러한 신호들 및/또는 영상들은 블록(512)에 표시된 것처럼 분석기들(402, 404, 406)에 의해 수신될 수 있다. 블록 514에 표시된 것처럼, 신호들 및/또는 영상들은, 제어기(110)의 위치 및/또는 방향에 관한 관성 추적 정보(403), 영상 추적 정보(405) 및 음향 추적 정보(407)를 결정하기 위해 분석기 들(402, 404, 406)에 의해 분석될 수 있다. 추적 정보(403, 405, 407)는 하나 이상의 자유도들과 관련될 수 있다. 6개의 자유도들이, 제어기(110) 또는 다른 추적된 물체의 조작을 특징짓는 데에 추적되는 것이 바람직하다. 이러한 자유도들은, x, y 및 z 축을 따르는 제어기 틸트, 요, 롤 및 위치, 속도 또는 가속도와 관련될 수 있다.
블록 516에 표시된 것처럼, 믹서(408)는 정제된 위치 및/또는 방향 정보(409)를 생성하기 위해 관성 정보(403), 영상 정보(405) 및 음향 정보(407)를 혼합한다. 예를 들어, 믹서(408)는, 게임 또는 환경 조건들 및 가중 평균에 근거하여 다른 가중치들을 관성, 영상 및 음향 추적 정보(403, 405, 407)에 적용할 수 있다. 게다가, 믹서(408)는, 결합된 위치/방향 정보를 분석하고, 다른 분석기들에 의해 생성된 정보의 조합들을 포함하는 자신의 결과 "믹서" 정보를 생성하는 자신의 믹서 분석기(412)를 포함할 수 있다.
본 발명의 일 실시형태에 있어서, 믹서(408)는, 분배 값을 분석기들(402, 404, 406)로부터 추적 정보(403, 405, 407)로 할당할 수 있다. 이상에서 언급된 것처럼, 특정 세트들의 입력 제어 데이터는 평균될 수 있다. 본 실시형태에 있어서, 입력 제어 데이터는 평균되기 전의 값을 할당받는데, 일부 분석기들로부터의 입력 제어 데이터는 다른 분석기들로부터의 입력 제어 데이터보다 더욱 분석적으로 중요하다.
믹서(408)는, 관측(observation), 정정(correction), 안정화(stabilization), 편차(derivation), 결합(combination), 경로설정(routing), 혼 합(mixing), 보고(reporting), 버퍼링(buffering), 다른 처리들 및 분석을 인터럽트(interrupt)하는 것을 포함하는, 본 발명의 시스템의 다수의 기능성들을 행한다. 이러한 것들은, 분석기들(402, 404, 406) 중 하나 이상으로부터 수신된 추적 정보(403, 405, 407)와 관련하여 수행될 수 있다. 분석기들(402, 404, 406) 각각이 특정 추적 정보를 수신하고 그리고/또는 도출할 수 있는 동안, 믹서(408)는 수신된 추적 정보(403, 405, 407)의 사용을 최적화하고, 정제된 추적 정보(409)를 생성하도록 실시될 수 있다.
분석기들(402, 404, 406)은 출력 포맷들과 유사한 추적 정보를 제공하도록 구성되는 것이 바람직하다. 임의의 분석기 요소(402, 404, 406)로부터의 추적 정보 파라미터(parameter)들은 분석기 내의 단일 파라미터로 매핑될 수 있다. 선택적으로, 믹서(408)는, 분석기들(402, 404, 406) 중 하나 이상으로부터 하나 이상의 추적 정보 파라미터들을 처리함으로써 분석기들(402, 404, 406) 중 임의의 분석기에 대한 추적 정보를 형성할 수 있다. 믹서는, 분석기들(402, 404, 406)로부터 취해진 동일 파라미터 유형의 추적 정보의 2개 이상의 요소들을 결합하고 그리고/또는 분석기들에 의해 생성된 추적 정보의 복수의 파라미터들에 걸친 기능들을 수행하여, 복수의 채널들의 입력으로부터 생성되는 이익을 가진 합성 세트의 출력을 생성한다.
정제된 추적 정보(409)는 블록 518에 표시된 것처럼 시스템(100)을 이용하여 비디오 게임의 플레이 동안 이용될 수 있다. 특정 실시형태들에 있어서, 위치 및/또는 방향 정보는 게임 플레이 동안 사용자(108)에 의해 행해진 동작들과 관련하여 사용될 수 있다. 일부 실시형태들에 있어서, 믹서(408)는, 게임 환경 내의 적어도 하나의 동작을 사용자로부터의 하나 이상의 사용자 동작들(예를 들어, 제어기의 조작)과 관련짓도록 동작 인식기(505)와 관련하여 동작할 수 있다.
도 5c의 순서도(520)에 표시된 것처럼, 제어기(110)의 경로는 블록(522)에 표시된 것처럼 위치 및/또는 방향 정보를 이용하여 추적될 수 있다. 예를 들어, 경로는, 일부 좌표 시스템과 관련하여 제어기의 질량 중심의 위치를 나타내는 한 세트의 점들을 포함할 수 있고, 이에 제한되지 않는다. 각각의 위치 점은, 하나 이상의 좌표들, 예를 들어, 직교(Cartesian) 좌표 시스템의 X, Y 및 Z 좌표들과 같은 하나 이상의 좌표들에 의해 표현될 수 있다. 경로의 형태 및 경로를 따르는 제어기의 진행이 감시될 수 있도록, 시간이 경로 상의 각각의 점과 관련될 수 있다. 게다가, 세트 내의 각각의 점은, 예를 들어 질량 중심에 대한 제어기의 하나 이상의 회전 각도들과 같은, 제어기의 방향을 나타내는 데이터를 상기 각각의 점과 관련지을 수 있다. 게다가, 경로 상의 각각의 점은, 제어기의 질량 중심의 속도 값 및 가속도 값, 및 질량 중심에 대한 제어기의 각속도 및 각가속도를 상기 각각의 점과 관련지을 수 있다.
블록 524에 표시된 것처럼, 추적된 경로는, 플레이되는 비디오 게임과 관련된 공지되고 그리고/또는 미리 기록된 동작들(508)에 대응하는 하나 이상의 저장된 경로들과 비교될 수 있다. 인식기(505)는 사용자를 인식하거나 또는 오디오 인증 동작들을 처리하도록 구성될 수 있다. 예를 들어, 사용자는, 동작을 통하여 인식기(505)에 의해 식별될 수 있고, 동작은 사용자에게 특정될 수 있다. 이러한 특정 동작들은 메모리(506) 내에 저장된 미리 기록된 동작들(508) 사이에서 기록되고 포함될 수 있다. 기록 처리는, 동작의 기록 동안 생성된 오디오를 선택적으로 저장할 수 있다. 감지된 환경은 다중-채널 분석기로 샘플링되고 처리된다. 프로세서는 동작 모델들을 참조하여, 음성 또는 음향 패턴들에 근거하며 높은 정확성과 성능으로, 사용자 또는 물체들을 결정하고 인증하며 그리고/또는 식별한다.
도 5a에 표시된 것처럼, 동작들을 표현하는 데이터(508)는 메모리(506)내에 저장될 수 있다. 동작들의 실시예들은, 공과 같은 물체를 던지는 것, 배트(bat) 또는 골프 클럽(golf club)과 같은 물체를 휘두르는 것, 핸드 펌프(hand pump)를 펌핑(pumping)하는 것, 문 또는 창문을 열거나 닫는 것, 핸들을 돌리는 것 또는 다른 차량 제어, 펀치(punch)와 같은 격투 움직임, 모래를 뿌리는 움직임, 왁스(wax)를 바르거나 벗겨내는 것, 집에 페인트칠을 하는 것, 흔드는 것, 덜걱거리는 움직임, 구르는 것, 풋볼 던지기(football pitches), 손잡이를 돌리는 것, 3D 마우스 움직임, 스크롤 움직임(scrolling movements), 공지된 윤곽을 가진 움직임, 임의의 기록가능한 움직임, 일부 임의의 방향으로 타이어를 펌핑하는 것과 같이 임의의 벡터를 따르는 전후방 움직임, 경로를 따르는 움직임, 잡음 플로어(noise floor), 스플라인(spline)들 등 내에서의 기록되고, 추적되며 반복될 수 있는 사용자 조작에 근거한, 정밀한 정지 시간과 시작 시간을 가진 움직임을 포함하며, 이에 제한되지 않는다. 이러한 동작들 각각은 경로 데이터로부터 미리 기록되고 시간 근거 모델로서 저장될 수 있다. 경로와 저장된 동작들의 비교는 정상 상태(steady state)의 가정과 함께 시작될 수 있으며, 경로가 정상 상태로부터 벗어난다면, 경로는 제거 처리 에 의해 저장된 동작들과 비교될 수 있다. 블록 526에서 매칭이 없다면, 블록 522에서 분석기는 제어기(110)의 경로 추적을 계속할 수 있다. 경로( 또는 그의 일부분)와 저장된 동작 사이에 충분한 매칭이 있다면, 게임의 상태는 블록 528에 표시된 것처럼 변화될 수 있다. 게임의 상태 변화들은 인터럽트들, 제어 신호 송신, 변수 변화 등을 포함하고, 이에 제한되지 않는다.
여기서, 이러한 일 실시예가 일어날 수 있다. 제어기(110)가 정상 상태를 경로로 남겨둔다는 것을 결정하면, 분석기(402, 404, 406 또는 412)는 제어기(110)의 움직임을 추적한다. 제어기(110)의 경로가 저장된 동작 모델들(508) 내에서 정의된 경로를 따르는 한, 이러한 동작들은 "히트(hit)들"이 가능하다. 제어기(110)의 경로가 임의의 동작 모델(508)로부터 (잡음 한계 설정 내에서) 벗어난다면, 이러한 동작 모델은 히트 리스트(hit list)로부터 제거된다. 각각의 동작 참조 모델은 동작이 기록되는 시간-베이스를 포함한다. 분석기(402, 404, 406 또는 412)는 적절한 시간 인덱스(time index)에서 제어기 경로 데이터를 저장된 동작들(508)과 비교한다. 정상 상태 조건의 발생이 클록을 재설정한다. 정상 상태로부터 벗어날 때(즉, 이동들이 잡음 임계값의 외부에서 추적될 때), 히트 리스트는 모든 잠재적 동작 모델들로 채워진다. 클록이 시작되고, 제어기의 이동들은 히트 리스트와 비교된다. 다시, 비교는 시간이 걸리는 작업이다. 히트 리스트 내의 임의의 동작이 동작의 종료에 도달한다면, 히트가 된다. 특정 실시형태들에서, 믹서(408) 및/또는 개별적 분석기들(402, 404, 406, 412)은 게임 프로그램에 특정 이벤트들이 언제 일어나는 지를 알린다. 이러한 이벤트들의 실시예들은 다음을 포함한다:
도달된 제로-가속도 점 인터럽트(INTERRUPT ZERO-ACCLERATION POINT REACHED; X 및/또는 Y 및/또는 Z 축)
특정 게임 상황들에서, 제어기의 가속도가 굴곡점들에서 변화할 때, 분석기는 게임 프로그램 내의 루틴(routine)을 통지하거나 인터럽트할 수 있다. 예를 들어, 사용자(108)는, 풋볼 시뮬레이션 게임 내의 쿼터백(quarterback)을 표현하는 게임 아바타(game avatar)를 제어하기 위해 제어기(110)를 사용할 수 있다. 분석기는, 관성 센서(112)로부터의 신호들로부터 생성된 경로를 통하여 (풋볼을 표현하는) 제어기를 추적할 수 있다. 제어기(110)의 가속도의 특정 변화는 풋볼의 던져짐(release of the football)을 신호로 보낼 수 있다. 이 때, 분석기는, 던져질 때의 제어기의 위치 및/또는 속도 및/또는 방향에 근거하여 풋볼의 궤도를 시뮬레이트(simulate)하기 위해 프로그램(예를 들어, 물리 시뮬레이션 패키지(physics simulation package)) 내의 또 다른 루틴을 유발할 수 있다.
인식된 새로운 동작 인터럽트(INTERRUPT NEW GESTURE RECOGNIZED)
게다가, 분석기는 하나 이상의 입력들에 의해 구성될 수 있다. 이러한 입력들의 실시예들은 다음을 포함하지만, 이에 제한되지 않는다:
잡음 레벨 설정(SET NOISE LEVEL; X, Y 또는 Z 축)
잡음 레벨은, 게임 내의 사용자의 손들의 떨림을 분석할 때 사용되는 기준 허용한도일 수 있다.
샘플링 속도 설정(SET SAMPLING RATE)
본 명세서에서 사용된 것처럼, 샘플링 속도는, 분석기가 관성 센서로부터의 신호들을 얼마나 자주 샘플링하는지를 의미한다. 샘플링 속도는 신호를 오버샘플링(oversampling)하거나 평균하도록 설정될 수 있다.
기어링 설정(SET GEARING)
본 명세서에서 사용된 것처럼, 기어링은 일반적으로 게임 내에서 일어나는 이동들에 대한 제어기 이동들의 비율을 의미한다. 비디오 게임의 제어의 이러한 "기어링"의 실시예들은, 2006년 5월7일에 출원된 미국특허출원 제11/382,040호(대리인 참조번호 SONYP058D)에서 발견될 수 있다.
매핑 체인 설정(SET MAPPING CHAIN)
본 명세서에서 사용되는 것처럼, 매핑 체인은 동작 모델들의 맵(map)을 의미한다. 동작 모델 맵들은, 특정 입력 채널(예를 들어, 관성 센서 신호들로부터 생성된 경로 데이터) 또는 믹서 유닛에 형성된 혼성 채널에 대하여 이루어질 수 있다.
3개의 입력 채널들은 관성 분석기(402)와 유사한 2개 이상의 다른 분석기들에 의해 도움을 받을 수 있다. 구체적으로, 이것들은: 본 명세서에서 기술된 관성 분석기(402), 미국특허출원 제11/382,034호, 게리 엠. 제일러스키의 게임 제어기 몸체의 사용자 조작을 검출하고 추적하기 위한 구조(대리인 참조번호 SCEA05082US00)에 기술된 비디오 분석기, 및 미국특허출원 제11/381,721호에 기술된 음향 분석기를 포함할 수 있다. 분석기들은 매핑 체인으로 구성될 수 있다. 매핑 체인들은, 분석기 및 믹서로 세팅될 수 있는 것처럼 게임플레이 동안 게임에 의해 교환될 수 있다.
도 5b를 참조하면, 블록 512에서, 당업자는, 관성 센서(112)로부터의 신호들 을 생성하는 많은 방식들이 있다는 것을 인식할 것이다. 다른 것들 중에서 수개의 실시예들이 본 명세서에 기술되어 있다. 블록 514를 참조하면, 제어기(110)의 위치 및/또는 방향과 관련된 추적 정보를 획득하기 위해 블록 512에서 생성된 센서 신호들을 분석하는 많은 방식들이 있다. 예를 들어, 추적 정보는 다음의 파라미터들 각각 또는 조합과 관련된 정보를 포함할 수 있고, 이에 제한되지 않는다:
제어기 방향
제어기(110)의 방향은 일부 기준 방향과 관련하여 피치, 롤 또는 요 각도로 표현될 수 있다. 제어기 방향의 변화 속도들(예를 들어, 각속도들 또는 각가속도들)은 또한 위치 및/또는 방향 정보에 포함될 수 있다. 예를 들어, 관성 센서(112)는, 피치, 롤 또는 요의 각도들에 비례하는 하나 이상의 출력 값들의 형태로 직접 획득되는 자이로스코프 센서 제어기 방향 정보를 포함한다.
제어기 위치(예를 들어, 일부 기준 프레임에서의 제어기(110)의 직교 좌표들 X, Y, Z)
제어기 X-축 속도
제어기 Y-축 속도
제어기 Z-축 속도
제어기 X-축 가속도
제어기 Y-축 가속도
제어기 Z-축 가속도
위치, 속도 및 가속도와 관련하여, 위치 및/또는 방향 정보는 직교 좌표가 아닌 좌표 시스템들로 표현될 수 있음을 주목한다. 예를 들어, 실린더 또는 구형 좌표들이 위치, 속도 및 가속도에 대하여 사용될 수 있다. X, Y, Z 축들과 관련된 가속도 정보는 예를 들어 본 명세서에서 기술된 것처럼 가속도계 유형 센서로부터 직접 획득될 수 있다. X, Y, Z 가속도들은 X, Y, Z 속도들의 변화를 결정하기 위해 일부 초기 순간으로부터의 시간과 관련하여 적분될 수 있다. 이러한 속도들은, 초기 순간에서의 X, Y, Z 속도들의 공지된 값들에 속도 변화들을 더함으로써 계산될 수 있다. X, Y, Z 속도들은, 제어기의 X, Y, Z 변위들을 결정하기 위해 시간에 대하여 적분될 수 있다. X, Y, Z 위치들은, 초기 순간에서의 공지된 X, Y, Z 위치들에 변위들을 더함으로써 결정될 수 있다.
정상 상태(STEADY STATE) Y/N - 이러한 특정 정보는, 제어기가, 변화될 예정인 임의의 위치로 정의될 수 있는 정상 상태에 있는지 여부를 가리킨다. 바람직한 실시형태에서, 정상 상태 위치는, 제어기가 사용자의 허리와 대략 같은 높이에서 어느 정도 수준의 방향으로 지지되는 위치일 수 있다.
최후 정상 상태 이후의 시간(TIME SINCE LAST STEADY STATE)은, 정상 상태가 마지막으로 검출된 이후에 얼마나 긴 시간이 지나갔는지와 관련된 데이터를 의미한다. 이러한 시간 결정은, 이전에 언급되었듯이 실시간, 프로세서 사이클들, 또는 샘플링 주기들로 계산될 수 있다. 최후 정상 상태 데이터 시간 이후의 시간은, 게임 환경 내의 캐릭터 또는 물체 매핑의 정확성을 보증하기 위해 초기점에 대하여 제어기 추적 재설정과 관련하여 중요할 수 있다. 이러한 데이터는 (배타적으로 또는 포괄적으로) 게임 환경 내에서 연속적으로 실행되는 가능한 동작들의 결정과 관 련하여 중요할 수 있다.
인식된 최후 동작(LAST GESTURE RECOGNIZED)은 일반적으로 (하드웨어 또는 소프트웨어로 실시될 수 있는) 동작 인식기(505)에 의해 인식된 최후 동작을 의미한다. 인식된 최후 동작의 식별은, 이전의 동작이 다음에 인식될 수 있는 가능한 동작들 또는 게임 환경 내에서 일어나는 일부 다른 동작과 관련될 수 있다는 사실과 관련하여 중요할 수 있다.
최후 동작이 인식된 시간(TIME LAST GESTURE RECOGNIZED)
이상의 출력들은 게임 프로그램 또는 소프트웨어에 의해 임의의 시간에서 샘플링될 수 있다.
본 발명의 일 실시형태에서, 믹서(408)는 분배 값을 분석기들(402, 404, 406)로부터 추적 정보(403, 405, 407)로 할당할 수 있다. 이상에서 언급된 것처럼, 특정 세트들의 입력 제어 데이터가 평균될 수 있다. 본 실시형태에서, 입력 제어 데이터는 평균되기 전의 값을 할당받고, 일부 분석기들로부터의 입력 제어 데이터는 다른 분석기들보다 분석적으로 더욱 중요하다.
예를 들어, 믹서(408)는 가속도 및 정상 상태와 관련된 추적 정보를 필요로 할 수 있다. 그 다음에, 믹서(408)는 이상에서 기술된 것처럼 추적 정보(403, 405, 407)를 수신한다. 추적 정보는, 예를 들어 이상에서 기술된 것처럼 가속도 및 정상 상태와 관련된 파라미터들을 포함할 수 있다. 이러한 정보를 표현하는 데이터를 평균하기에 앞서, 믹서(408)는 분배 값들을 추적 정보 데이터 세트(403, 405, 407)로 할당할 수 있다. 예를 들어, 관성 분석기(402)로부터의 x 가속도 파라미터 및 y 가 속도 파라미터는 90%의 값으로 가중된다. 영상 분석기(406)으로부터의 x 및 y 가속도 데이터는 10%만이 가중될 수 있다. 가속도 파라미터들에 속해 있는 음향 분석기 추적 정보(407)는 0%만이 가중되어, 데이터는 값을 갖지 않게 된다.
유사하게, 영상 분석기 z 축 추적 정보가 90%의 가중을 받는 반면에, 관성 분석기(402)로부터의 z 축 추적 정보 파라미터들은 10%의 가중을 받을 수 있다. 또한, 음향 분석기 추적 정보(407)는 0%의 값을 가중받지만, 음향 분석기(406)로부터의 정상 상태 추적 정보는 100%의 가중을 받으며, 나머지 분석기 추적 정보는 0%의 가중을 받을 수 있다.
적절한 분배 가중치가 할당된 이후에, 입력 제어 데이터는, 이후에 동작 인식기(505)에 의해 분석되고 게임 환경 내의 특정 동작과 관련된 가중된 평균 입력 제어 데이터 세트에 도달하도록 상기 가중치와 관련하여 평균될 수 있다. 관련된 값들은 믹서(408) 또는 특정 게임 타이틀에 의해 예정될 수 있다. 값들은, 또한 다양한 분석기들로부터 오는 데이터의 특성을 식별하고 이하에서 논의되는 동적 조정을 행하는 믹서(408)의 결과일 수 있다. 조정은, 또한 특정 데이터가 특정 환경의 특정 값이고 그리고/또는 주어진 게임 타이틀의 특수성에 대응될 때의 이력 지식 기반을 만드는 결과일 수 있다.
믹서(408)는 게임 플레이 동안 동적으로 동작하도록 구성될 수 있다. 예를 들어, 믹서(408)는 다양한 입력 제어 데이터를 수신함에 따라, 데이터의 수신가능 범위 또는 품질의 외부에 있거나, 또는 관련 입력 장치의 처리 오차를 가리키는 오염된 데이터를 반영하는 것을 인식할 수 있다.
게다가, 실제 세계 환경의 특정 조건들이 변화할 수 있다. 예를 들어, 사용자의 가정 게임 환경의 자연광이 아침에서 오후로 갈수록 증가하여, 영상 데이터 캡쳐와 관련된 문제점들을 일으킨다. 또한, 이웃 또는 주부가, 하루가 진행됨에 따라 소음을 더 많이 내게 되어, 오디오 데이터 캡쳐와 관련된 문제점들을 일으킬 수 있다. 유사하게, 사용자가 수시간에 걸쳐 플레이한다면, 그들의 반사행동은 무뎌지기 때문에 관성 데이터의 해석과 관련된 문제점들을 일으킨다.
특정 형태의 입력 제어 데이터의 특성에 문제가 있는 경우에, 믹서(408)는 분배 가중치를 특정 데이터로부터 오는 특정 세트의 데이터로 동적으로 재할당하여, 어느 정도의 중요성이 이상에서 기술된 것처럼 특정 입력 제어 데이터로 주어진다. 유사하게, 게임 환경은 게임의 과정에 걸쳐 변화하여, 특정 게임의 필요사항들이 변화하고, 특정 입력 제어 데이터에 대한 값 또는 필요사항의 재할당을 요구한다.
유사하게, 믹서(408)는, 동작 인식기(505)로 보내지는 특정 데이터가, 동작 인식기(505)에 의해 생성되는 처리 오차들 또는 피드백 데이터(feedback data)에 근거하여 부정확하거나, 느리게 처리되거나 또는 전혀 처리되지 않음을 인식할 수 있다. 이러한 피드백(feedback)에 반응하거나, 이러한 처리 곤란들을 인식하는 경우에(예를 들어, 동작 인식기(505)에 의해 관련지음이 행해질 때 영상 분석 데이터가 수신가능 범위, 오차 결과 내에 있는 동안), 믹서(408)는, 언제 어느 분석기로부터 어느 입력 제어 데이터를 찾는지를 조정할 수 있다. 또 다른 층의 보증이 행해져서, 동작 인식기(505)로 보내지는 데이터가 효과적이고 적절하게 처리되도록, 믹서(408)는, 입력 제어 데이터가, 데이터를 재처리할 수 있는(예를 들어, 데이터를 평균하는) 믹서(408)로 보내지기 전에, 적절한 분석기에 의한 입력 제어 데이터의 특정 분석 및 처리를 요구할 수 있다.
일부 실시형태들에 있어서, 믹서(408)는, 부정확한 데이터를 대체하거나 또는 특정 데이터를 필요한 변수들과 관련하여 분석하고 계산하도록, 특정 데이터가 오염되어 있거나, 비효율적이거나 또는 특정 변수의 외부에 있다는 것을 인식하고, 특정 입력 제어 데이터 또는 상기 데이터와 관련된 변수를 불러낼 수 있다.
본 발명의 실시형태들에 따르면, 이상에서 기술된 비디오 게임 시스템 및 방법은 도 6에 도시된 것처럼 실시될 수 있다. 비디오 게임 시스템(600)은 프로세서(601) 및 메모리(602; 예를 들어, RAM, DRAM, ROM 등)를 포함할 수 있다. 게다가, 비디오 게임 시스템(600)은, 병렬 처리가 실시될 예정이라면, 복수의 프로세서들(601)을 가질 수 있다. 메모리(602)는, 이상에서 기술된 것처럼 구성되는 부분들을 포함할 수 있는 데이터 및 게임 프로그램 코드(604)를 포함한다. 구체적으로, 메모리(602)는 이상에서 기술된 것처럼 저장된 제어기 경로 정보를 포함할 수 있는 관성 신호 데이터(606)를 포함할 수 있다. 메모리(602)는, 또한 예를 들어, 게임 프로그램(604)과 관련된 하나 이상의 동작들을 표현하는 데이터와 같은 저장된 동작 데이터(608)를 포함할 수 있다. 프로세서(601)에서 실행되는 코딩된 명령들은, 이상에서 기술되는 것처럼 구성되고 기능하는 다중 입력 믹서(605)를 실시할 수 있다.
시스템(600)은, 입력/출력(I/O; input/output) 요소들(611), 전원(P/S; power supplies; 612), 클록(CLK; clock; 613), 및 캐시(cache; 614)를 포함할 수 있다. 장치(600)는 선택적으로 프로그램들 및/또는 데이터를 저장하기 위해 디스크 드라이브(disk drive), CD-ROM 드라이브, 테이프 드라이브(tape drive) 등과 같은 대용량 저장 장치(615)를 포함할 수 있다. 제어기는, 제어기(600)와 사용자 사이의 상호작용을 도모하기 위해 디스플레이 유닛(616) 및 사용자 인터페이스 유닛(618)을 포함할 수 있다. 디스플레이 유닛(616)은, 텍스트(text), 숫자, 그래픽 기호 또는 영상들을 디스플레이하는 음극선관 또는 평면판 스크린의 형태일 수 있다. 사용자 인터페이스(618)는 키보드, 마우스, 조이스틱, 라이트 펜(light pen) 또는 다른 장치를 포함할 수 있다. 게다가, 사용자 인터페이스(618)는, 분석될 신호의 직접 캡쳐를 가능하게 하는 마이크로폰, 비디오 카메라 또는 다른 신호 변환 장치를 포함할 수 있다. 도 6에 도시된 것처럼, 프로세서(601), 메모리(602) 및 시스템(600)의 다른 구성요소들은, 시스템 버스(620)를 통하여 신호들(예를 들어, 코드 명령 및 데이터)을 서로 교환할 수 있다.
마이크로폰 배열(622)은 I/O 기능들(611)을 통하여 시스템(600)에 연결될 수 있다. 마이크로폰 배열은, 약 2개 내지 8개의 마이크로폰들, 바람직하게는, 4센티미터보다 더 작은 거리, 바람직하게는 약 1센티미터 내지 2센티미터의 거리만큼 분리된 이웃하는 마이크로폰들을 가진 약 4개의 마이크로폰들을 포함할 수 있다. 바람직하게는, 배열(622) 내의 마이크로폰들은 전방향 마이크로폰들(omni-directional miocrophones)이다. 선택적인 영상 캡쳐 유닛(623)(예를 들어, 디지털 카메라)은 I/O 기능들(611)을 통하여 장치(600)에 연결될 수 있다. 카메라에 기계 적으로 연결되는 하나 이상의 포인팅 동작기들(625)은 I/O 기능들(611)을 통하여 프로세서(601)와 신호들을 교환할 수 있다.
본 명세서에서 사용된 것처럼, 용어 I/O는 일반적으로 시스템(600)으로 또는 시스템(600)으로부터 그리고 주변 장치로 또는 주변 장치로부터 데이터를 전송하는 임의의 프로그램, 동작 또는 장치를 의미한다. 모든 데이터 전송은 하나의 장치로부터의 출력 및 또 다른 장치로의 입력으로 간주될 수 있다. 주변 장치들은, 입력 및 출력 장치로서 동작할 수 있는 기록가능 CD-ROM과 같은 장치들뿐만 아니라, 키보드들 및 마우스들과 같은 입력 전용 장치들, 및 프린터들과 같은 출력 전용 장치들을 포함한다. 용어 "주변 장치"는, CD-ROM 드라이브, CD-R 드라이브 또는 내부 모뎀과 같은 내부 장치들 또는 플래시 메모리 판독기/기록기, 하드 드라이브(hard drive)와 같은 다른 주변 장치뿐만 아니라, 마우스, 키보드, 프린터, 모니터, 마이크로폰, 게임 제어기, 카메라, 외부 집 드라이브(external Zip drive) 또는 스캐너(scanner)와 같은 외부 장치들을 포함한다.
본 발명의 특정 실시형태들에 있어서, 장치(600)는, 유선(예를 들어, USB 케이블) 또는 무선을 통하여 I/O 기능들(611)에 의해 프로세서로 연결되는 제어기(630)를 포함할 수 있는 비디오 게임 유닛일 수 있다. 제어기(630)는, 비디오 게임들의 플레이 동안 통상적으로 사용되는 제어 신호들을 제공하는 아날로그 조이스틱 제어들(631) 및 통상의 버튼들(633)을 가질 수 있다. 이러한 비디오 게임들은, 대용량 저장 장치(615)와 관련된 매체와 같은 다른 프로세서 판독가능 매체, 또는 메모리(602) 내에 저장될 수 있는 프로그램(604)으로부터의 프로세서 판독가능 데 이터 및/또는 명령들로서 실시될 수 있다. 일부 실시형태들에 있어서, 믹서(605)는 아날로그 조이스틱 제어들(631) 및 버튼들(633)로부터 입력들을 수신할 수 있다.
조이스틱 제어들(631)은, 일반적으로, 제어 스틱을 좌측 또는 우측으로 이동시키는 것이 X 축을 따르는 이동을 신호로 보내고, 제어 스틱을 전방(위) 또는 후방(아래)으로 이동시키는 것이 Y 축을 따르는 이동을 신호로 보내도록 구성될 수 있다. 3차원 이동을 위해 구성되는 조이스틱들에서, 조이스틱을 좌측(시계반대방향) 또는 우측(시계방향)으로 감는 것은 Z 축을 따르는 이동을 신호로 보낼 수 있다. X, Y 및 Z 축들과 같은 3개의 축들은 특히 항공기와 관련하여 각각 롤, 피치 및 요로서 칭해질 수 있다.
게임 제어기(630)는, 프로세서(602) 또는 게임 제어기(630) 중 적어도 하나와의 디지털 통신을 안내하도록 동작가능한 통신 인터페이스를 포함할 수 있다. 통신 인터페이스는 UART(universal asynchronous receiver transmitter)를 포함할 수 있다. UART는, 추적 장치의 동작을 제어하거나, 또 다른 장치와의 통신을 위해 추적 장치로부터 신호를 전송하도록 제어 신호를 수신하도록 동작가능할 수 있다. 선택적으로, 통신 인터페이스는 USB(universal serial bus) 제어기를 포함한다. USB 제어기는, 추적 장치의 동작을 제어하거나, 또 다른 장치와의 통신을 위해 추적 장치로부터의 신호를 전송하도록 제어 신호를 수신하도록 동작가능할 수 있다.
게다가, 제어기(630)는, 관성 신호를 통하여 프로세서(601)로 위치 및/또는 방향 정보를 제공할 수 있는 하나 이상의 관성 센서들(632)을 포함할 수 있다. 방향 정보는 제어기(630)의 틸트, 롤 또는 요와 같은 각도 정보를 포함할 수 있다. 예를 들어, 관성 센서들(632)은 임의의 개수 및/또는 조합의 가속도계들, 자이로스코프들 또는 틸트 센서들을 포함할 수 있다. 바람직한 실시형태에서, 관성 센서들(632)은 틸트 축 및 롤 축과 관련하여 게임 제어기(630)의 방향을 감지하기에 적합한 틸트 센서들, 요 축을 따르는 가속도를 가속도를 감지하기에 적합한 제 1 가속도계 및 요 축과 관련하여 각 가속도를 감지하는 데에 적합한 제 2 가속도계를 포함한다. 가속도계는, 하나 이상의 방향들과 관련하여 질량의 변위를 감지하기 위한 센서들과 함께, 하나 이상의 스프링들에 의해 실장된 질량을 포함하는 MEMS 장치로서 실시될 수 있다. 질량의 변위에 의존하는 센서들로부터의 신호들은 게임 제어기(630)의 가속도를 결정하는 데에 이용될 수 있다. 이러한 기술들은, 메모리(602) 내에 저장되고 프로세서(601)에 의해 실행될 수 있는 게임 프로그램(604)으로부터의 명령들에 의해 실시될 수 있다.
예를 들어, 관성 센서(632)로서 적합한 가속도계는, 예를 들어 스프링들에 의해 프레임의 3개 또는 4개의 점들에 탄성적으로 연결된 단순 질량일 수 있다. 피치 축 및 롤 축은, 게임 제어기(630)에 실장된 프레임과 교차하는 평면 내에 놓여 있다. 프레임( 및 게임 제어기(630))이 피치 축 및 롤 축을 중심으로 회전함에 따라 질량은 중력의 영향 하에서 위치가 이동될 것이며, 스프링들은 피치 및/또는 롤 각도에 의존하는 방식으로 연장하거나 압축될 것이다. 질량의 변위가 감지될 수 있고, 피치 및/또는 롤의 분량에 의존하는 신호로 변환될 수 있다. 요 축을 중심으로 한 각 가속도 또는 요 축을 따르는 선형 가속도는, 또한 감지될 수 있고, 각 또는 선형 가속도의 분량에 의존하는 신호들로 변환될 수 있는 스프링들의 압축 및/또는 연장 또는 질량의 움직임의 특성 패턴들을 생성할 수 있다. 이러한 가속도계 장치는, 질량의 움직임을 추적하고 스프링들의 압축력 또는 팽창력을 추적함으로써 요 축을 중심으로 한 틸트, 롤 각 가속도 및 요 축을 따르는 선형 가속도를 측정할 수 있다. 질량의 위치 및/또는 질량에 미치는 힘들을 추적하는, 내변형성 계량 물질, 광 센서들, 자기 센서들, 홀-효과 장치들, 압전 장치들, 정전용량 센서들 등을 포함하는 많은 다른 방식들이 있다.
게다가, 게임 제어기(630)는 발광 다이오드들(LEDs; light emitting diodes)과 같은 하나 이상의 광원들(634)을 포함할 수 있다. 광원들(634)은 하나의 제어기를 다른 제어기와 구별하는 데에 사용될 수 있다. 예를 들어, 하나 이상의 LED들은 LED 패턴 코드들을 나타내거나 유지함으로써 이것을 달성할 수 있다. 예를 들어, 5개의 LED들이 선형 또는 2차원 패턴으로 게임 제어기(630)에 제공될 수 있다. 선형 배열의 LED들이 바람직할지라도, 영상 캡쳐 유닛(623)에 의해 획득된 LED 패턴의 영상을 분석할 때 LED 배열의 영상 평면의 결정을 도모하도록 직사각형 패턴 또는 아치형 패턴으로 LED들이 배열될 수 있다. 게다가, LED 패턴 코드들은 또한 게임 플레이 동안 게임 제어기(630)의 위치지정을 결정하는 데에 이용될 수 있다. 예를 들어, LED들은 제어기들의 틸트, 요 및 롤을 식별하는 데에 도움을 줄 수 있다. 이러한 검출 패턴은 항공기 비행 게임들 등과 같은 게임들에서의 더 좋은 사용자/기분을 제공하는 데에 도움을 줄 수 있다. 영상 캡쳐 유닛(623)은, 게임 제어기(630) 및 광원들(634)을 포함하는 영상들을 캡쳐할 수 있다. 이러한 영상들의 분석은 게임 제어기의 위치 및/또는 방향을 결정할 수 있다. 이러한 분석은 메모리(602) 내 에 저장되고 프로세서(601)에 의해 실행되는 프로그램 코드 명령들(604)에 의해 실시될 수 있다. 영상 캡쳐 유닛(623)에 의한 광원들(634)의 영상들의 캡쳐를 도모하기 위해, 광원들(634)은, 예를 들어, 전방 및 후방과 같이, 게임 제어기의 2개 이상의 다른 측면들 상에 위치될 수 있다. 이러한 배치는, 영상 캡쳐 유닛(623)이, 게임 제어기(630)가 사용자에 의해 어떻게 유지되는 지에 따라 게임 제어기(630)의 다른 방향들을 위한 광원들(634)의 영상들을 획득하는 것을 가능하게 한다.
게다가, 광원들(634)은, 예를 들어, 펄스 코드(pulse code), 진폭 변조 또는 주파수 변조 방식으로, 원격 측정 신호들을 프로세서(601)로 제공할 수 있다. 이러한 원격 측정 신호들은, 어느 조이스틱 버튼들이 눌려지는지 그리고/또는 이러한 버튼들이 얼마나 세게 눌려지는지를 가리킬 수 있다. 원격 측정 신호들은, 예를 들어, 펄스 코딩(pulse coding), 펄스 폭 변조, 주파수 변조 또는 광 세기(진폭) 변조에 의해 광학 신호로 엔코딩(encoding)될 수 있다. 프로세서(601)는 광학 신호로부터 원격 측정 신호를 디코딩(decoding)할 수 있고, 디코딩된 원격 측정 신호에 대응하는 게임 명령을 실행할 수 있다. 원격 측정 신호들은, 영상 캡쳐 유닛(623)에 의해 획득된 게임 제어기(630)의 영상들의 분석으로부터 디코딩될 수 있다. 선택적으로, 장치(600)는, 광원들(634)로부터의 원격 측정 신호 수신 전용인 분리된 광 센서를 포함할 수 있다. 컴퓨터 프로그램과의 인터페이스에서 광량을 결정하는 것과 관련된 LED들의 사용은, 2006년 5월4일에 출원된 미국특허출원 제11/429,414호, 리차드 막스 등의 "강도의 컴퓨터 영상 및 오디오 처리, 및 컴퓨터 프로그램과 인터페이스하기 위한 입력 장치들"(대리인 참조번호 SONYP052)에 기술되어 있다. 게다가, 광원들(634)을 포함하는 영상들의 분석은, 게임 제어기(630)의 위치 및/또는 방향의 원격 측정 및 결정을 위해 사용될 수 있다. 이러한 기술들은, 메모리(602) 내에 저장될 수 있고 프로세서(601)에 의해 실행될 수 있는 프로그램(604)의 명령들에 의해 실시될 수 있다.
프로세서(601)는, 영상 캡쳐 유닛(623)에 의해 검출된 광원들(634)로부터의 광학 신호들과 함께 관성 센서(632)로부터의 관성 신호들을 사용하고 그리고/또는 마이크로폰 배열(622)에 의해 검출된 음향 신호들로부터의 음원 위치 및 특성 정보를 사용하여, 제어기(630) 및/또는 제어기의 사용자의 위치 및/또는 방향의 정보를 추정한다. 예를 들어, 게임 제어기의 움직임이 (관성 센서(632) 및/또는 광원들(634)을 통하여) 독립적으로 추적되는 동안, "음향 레이더" 음원 위치 및 특성은, 움직이는 음성을 추적하기 위해 마이크로폰 배열(622)과 함께 사용될 수 있다. 음향 레이더 선택에 있어서, 미리 정해진 청취 영역이 실행시간에 선택되고, 미리 정해진 청취 영역의 외부의 소스들로부터 발생하는 음향들은 여과되어 제거된다. 미리 정해진 청취 영역들은, 영상 캡쳐 유닛(623)의 초점 체적 또는 시야에 대응하는 청취 영역을 포함할 수 있다. 음향 레이더의 실시예들이, 2006년 5월4일에 출원된 미국특허출원 제11/381,724호, 샤오 동 마오의 "타겟 음향 검출 및 특성화를 위한 방법들 및 장치"에 상세히 기술되어 있다. 프로세서(601)로 제어 신호들을 제공하는 다른 모드들의 임의의 개수의 다른 조합들은, 본 발명의 실시형태들과 함께 사용될 수 있다. 이러한 기술들은, 메모리(602) 내에 저장되고 프로세서(601)에 의해 실행될 수 있으며, 실행 시간에 미리 정해진 청취 영역을 선택하고 미리 정해진 청취 영역의 외부의 소스들로부터 발생하는 음향들을 여과하여 제거하기 위해 하나 이상의 프로세서들을 안내하는 하나 이상의 명령들을 선택적으로 포함할 수 있는 프로그램 코드 명령들(604)에 의해 실시될 수 있다. 미리 정해진 청취 영역들은 영상 캡쳐 유닛(623)의 초점 체적 또는 시야에 대응하는 청취 영역을 포함할 수 있다.
프로그램(604)은, 선택적으로, 마이크로폰 배열(622)의 마이크로폰들(M0...MM)로부터의 이산 시간 영역 입력 신호 xm(t)를 생성하고, 청취 섹터(listening sector)를 결정하며, 입력 신호 xm(t)로부터의 다른 음원들을 분리하는 유한 임펄스 반응 필터 계수들(finite impulse response filter coefficients)을 선택하기 위해 세미-블라인드 소스 분리(semi-blind source separation)의 청취 섹터를 사용하도록 하나 이상의 프로세서들을 안내하는 하나 이상의 명령들을 포함할 수 있다. 프로그램(604)은 또한 기준 마이크로폰(M0)으로부터의 입력 신호 x0(t)와 다른 선택된 입력 신호들 xm(t)로 하나 이상의 소수 지연들(fractional delays)을 적용하는 명령들을 포함할 수 있다. 각각의 소수 지연은, 마이크로폰 배열로부터의 이산 시간 영역 출력 신호 y(t)의 잡음 비율에 대하여 신호를 최적화하도록 선택될 수 있다. 소수 지연들은, 기준 마이크로폰(M0)으로부터의 신호가, 배열의 다른 마이크로폰으로부터의 신호들에 대한 시간에서 처음이 되도록 선택될 수 있다. 프로그램(604)은, 마이크로폰 배열의 출력 신호 y(t) 내로 소수 시간 지연 Δ를 삽 입하는 명령들을 포함할 수 있다:
y(t+Δ) = x(t+Δ)×b0 + x(t-1+Δ)×b1 + x(t-2+Δ)×b2 + ... + x(t-N+Δ)×bN, Δ는 +1과 -1 사이의 값이다. 이러한 기술들의 실시예들은, 2006년 5월4일에 출원된 미국특허출원 제11/381,729호, 샤오 동 마오의 초소형 마이크로폰 배열에 상세히 기술되어 있다.
프로그램(604)은, 실행될 때, 시스템(600)이, 음원을 포함하는 미리 정해진 청취 섹터를 선택하게 하는 하나 이상의 명령들을 포함할 수 있다. 이러한 명령들은, 장치가, 음원이 초기 섹터(initial sector) 내 또는 초기 섹터의 특정부에 있는지 여부를 결정하게 할 수 있다. 음원이 디폴트 섹터 내에 있지 않다면, 명령들은, 실행될 때 디폴트 섹터(default sector)의 특정부의 다른 섹터를 선택할 수 있다. 다른 섹터는, 최적 값에 가장 가까운 입력 신호들의 감쇠에 의해 특징지어질 수 있다. 이러한 명령들은, 실행될 때, 마이크로폰 배열(622)로부터의 입력 신호들의 감쇠 및 최적 값으로의 감쇠를 계산할 수 있다. 명령들은, 실행될 때, 장치(600)가, 하나 이상의 섹터들에 대한 입력 신호들의 감쇠 값을 결정하고, 감쇠가 최적 값에 가장 가까운 섹터를 선택하도록 할 수 있다. 이러한 기술의 실시예들은, 2006년 5월4일에 출원된 미국특허출원 제11/381,725호, 샤오 동 마오의 타겟 음향 검출을 위한 방법들 및 장치에 기술되어 있다.
관성 센서(632)로부터의 신호들은, 추적 정보 입력의 부분을 제공할 수 있고, 하나 이상의 광원들(634)을 추적하는 영상 캡쳐 유닛(623)으로부터 생성된 신 호들은 추적 정보 입력의 또 다른 부분을 제공할 수 있다. 예를 들어, 이러한 "혼합 모드" 신호들은, 쿼터백이, 머리를 좌측으로 움직여 속인 후에 공을 우측으로 던지는 풋볼 유형 비디오 게임에서 사용될 수 있다. 구체적으로, 제어기(630)를 지지하는 게임 플레이어는, 풋볼처럼 제어기를 우측으로 휘두르는 던지기 움직임을 행하는 동안 머리를 좌측으로 돌리면서 소리를 낼 수 있다. "음향 레이더" 프로그램 코드와 함께 마이크로폰 배열(622)은 사용자의 음성을 추적할 수 있다. 영상 캡쳐 유닛(623)은 사용자의 머리의 움직임을 추적할 수 있거나, 또는 소리 또는 제어기의 사용을 필요로 하지 않는 다른 명령들을 추적할 수 있다. 센서(632)는 (풋볼을 표현하는) 게임 제어기의 움직임을 추적할 수 있다. 영상 캡쳐 유닛(623)은 제어기(630)의 광원들(634)을 또한 추적할 수 있다. 사용자는, 게임 제어기(630)의 가속도의 특정 분량 및/또는 방향에 도달할 때 또는 키 명령이 제어기(630)의 버튼을 누름으로써 유발될 때 공을 던질 수 있게 된다.
본 발명의 특정 실시형태들에 있어서, 가속도계 또는 자이로스코프로부터의 관성 신호는 제어기(630)의 위치를 결정하는 데에 이용될 수 있다. 구체적으로, 가속도계로부터의 가속도 신호가 시간에 대하여 적분되어 속도의 변화를 결정하고, 속도가 시간에 대하여 적분되어 위치의 변화를 결정한다. 특정 시간에서의 초기 위치 및 속도의 값들이 공지되어 있다면, 절대 위치는 초기 위치 및 속도의 값들과 속도 및 위치의 변화를 사용하여 결정될 수 있다. 관성 센서를 사용하는 위치 결정이 영상 캡쳐 유닛(623) 및 광원들(634)을 이용하는 것보다 더 빠르게 행해질 수 있을지라도, 관성 센서(632)는, 시간에 대하여 축적되는 오차들이 관성 신호로부터 계산되는 조이스틱(631)의 위치와 게임 제어기(630)의 실제 위치 사이의 편차(D)를 이끄는 "드리프트(drift)"로 공지된 일종의 오차가 생길 수 있다. 본 발명의 실시형태들은 다수의 방식들이 이러한 오차들을 취급하는 것을 가능하게 한다.
예를 들어, 드리프트는, 제어기(630)의 초기 위치를 현재 계산된 위치와 동일하게 되도록 재설정함으로써 수동식으로 제거될 수 있다. 사용자는 제어기(630)의 하나 이상의 버튼들을 사용하여 초기 위치를 재설정하는 명령을 발생시킨다. 선택적으로, 영상-기반 드리프트는, 현재 위치를, 영상 캡쳐 유닛(623)으로부터 획득된 영상으로부터 기준으로 결정된 위치로 재설정함으로써 실시될 수 있다. 이러한 영상-기반 드리프트 보상은, 수동식으로, 예를 들어, 사용자가 게임 제어기(630)의 하나 이상의 버튼들을 작동시킬 때 실시될 수 있다. 선택적으로, 영상-기반 드리프트 보상은, 자동적으로, 예를 들어, 규칙적인 시간 구간 또는 게임 플레이에 반응하여 실시될 수 있다. 이러한 기술들은, 메모리(602) 내에 저장되고 프로세서(601)에 의해 실행될 수 있는 프로그램 코드 명령들(604)에 의해 실시될 수 있다.
특정 실시형태들에 있어서, 관성 센서 신호 내의 스퓨리어스 데이터(spurious data)를 보상하는 것이 바람직하다. 예를 들어, 관성 센서(632)로부터의 신호는 오버샘플링(oversampling)되고, 이동 평균은, 관성 센서 신호로부터 스퓨리어스 데이터를 제거하기 위해 오버샘플링된 신호로부터 계산될 수 있다. 일부 상황들에서, 신호를 오버샘플링하고, 일부 서브세트의 데이터 점들로부터 높고 그리고/또는 낮은 값을 거부하고, 잔여 데이터 점들로부터 이동 평균을 계산하는 것이 바람직하다. 게다가, 다른 데이터 샘플링 및 조작 기술들은, 스퓨리어스 데이터 의 중요성을 제거하거나 감소시키기 위해 관성 센서로부터의 신호를 조정하는 데에 이용될 수 있다. 기술의 선택은, 신호의 특성, 신호와 함께 수행되는 계산, 게임 플레이의 특성 또는 이러한 것들 중 둘 이상의 조합에 의존한다. 이러한 기술들은, 메모리(602) 내에 저장되며 프로세서(601)에 의해 실행될 수 있는 프로그램(604)의 명령들에 의해 실시될 수 있다.
프로세서(601)는, 메모리(602)에 의해 저장되고 검색되며 프로세서 모듈(601)에 의해 실행되는 데이터(606) 및 프로그램(604)의 프로그램 코드 명령들에 반응하여 이상에서 기술된 것처럼 관성 신호 데이터(606)의 분석을 수행할 수 있다. 프로그램(604)의 코드 부분들은, 어셈블리, C++, 자바 또는 다수의 다른 언어들과 같은 다수의 다른 프로그래밍 언어들 중 임의의 하나와 일치할 수 있다. 프로세서 모듈(601)은, 프로그램 코드(604)와 같은 프로그램들을 실행할 때 특정 목적 컴퓨터가 되는 범용 컴퓨터를 형성할 수 있다. 프로그램 코드(604)가 소프트웨어로 실행되고 범용 컴퓨터에서 실행되는 것으로 본 명세서에서 기술되어 있을지라도, 당업자라면, 태스크(task) 관리의 방법이 선택적으로 ASIC(application specific integrated circuit) 또는 다른 하드웨어 회로와 같은 하드웨어를 이용하여 실시될 수 있다는 것을 알 것이다. 이와 같이, 본 발명의 실시형태들은, 전체적으로 또는 부분적으로, 소프트웨어, 하드웨어 또는 소프트웨어와 하드웨어의 조합으로 실시될 수 있다고 이해되어야 한다.
일 실시형태에 있어서, 프로그램 코드(604)는, 도 5b의 방법(510) 및 도 5c의 방법(520) 또는 이들의 조합과 공통되는 특징들을 가진 방법을 실시하는 한 세 트의 프로세서 판독가능 명령들을 포함할 수 있다. 프로그램 코드(604)는 일반적으로 비디오 게임의 플레이 동안 위치 및/또는 방향 정보를 생성하고 상기 정보를 이용하기 위해 관성 센서(632)로부터의 신호들을 분석하도록 하나 이상의 프로세서들을 안내하는 하나 이상의 명령들을 포함할 수 있다.
프로그램 코드(604)는, 선택적으로, 실행될 때, 영상 캡쳐 유닛(623)이, 영상 캡쳐 유닛(623)의 전방 시야를 감시하고, 시야 내의 광원들(634) 중 하나 이상을 식별하며, 광원들(634)로부터 발광되는 광의 변화를 검출하고, 상기 변화 검출에 반응하여 프로세서(601)로의 입력 명령을 유발하게 하게 하는 하나 이상의 명령들을 포함하는 프로세서 실행가능 명령들을 포함할 수 있다. 게임 내의 동작들을 유발하기 위한 영상 캡쳐 장치와 LED들의 사용이 2004년 1월16일에 출원된 미국특허출원 제10/759,782호, "광 입력 디바이스를 위한 방법 및 장치"에 기술되어 있다.
프로그램 코드(604)는, 선택적으로, 이상에서 기술된 것처럼, 실행될 때, 관성 센서로부터의 신호들 및 게임 시스템으로의 입력으로서 하나 이상의 광원들을 추적하는 영상 캡쳐 유닛으로부터 생성되는 신호들을 사용하는 하나 이상의 명령들을 포함하는 프로세서 실행가능 명령들을 포함할 수 있다.
게다가, 프로그램 코드(604)는, 선택적으로, 실행될 때 환경을 게이밍하기 위해 제어기 조작들의 기어링 및 매핑을 조정하는 하나 이상의 명령들을 포함하는 프로세서 실행가능 명령들을 포함할 수 있다. 이러한 특징은, 사용자가 게임 제어기(630)의 조작들의 "기어링"을 게임 상태로 변화시키는 것을 가능하게 한다. 예를 들어, 게임 제어기(630)의 45도 회전( 또는 틸트 또는 요 또는 "조작")은 게임 물체의 45도 회전( 또는 틸트 또는 요 또는 "조작")으로 기어링된다. 그러나, 이러한 1:1 기어링 비율은, 제어기의 X도 회전이 게임 물체의 Y 회전으로 변화되도록 변경될 수 있다. 기어링은 1:1 비율, 1:2 비율, 1:X 비율 또는 X:Y 비율일 수 있으며, X 및 Y는 임의의 값들일 수 있다. 게다가, 게임 제어로의 입력 채널의 매핑은 시간에 걸쳐 또는 순간적으로 변경될 수 있다. 변경들은, 동작 궤도 모델들을 변경하는 것, 동작들의 위치, 스케일, 임계값을 변경하는 것 등을 포함할 수 있다. 이러한 매핑은, 사용자에게 조작의 동적 범위를 제공하기 위해 일정하지 않게, 층층이, 엇갈리면서 프로그래밍될 수 있다. 매핑, 기어링 또는 비율들의 변경은, 게임 제어기(630) 상에 위치된 사용자 변경 버튼(키 패드 등) 또는 다양한 입력 채널들을 통하여 게임 플레이, 게임 상태를 따라 게임 프로그램(604)에 의해 조정될 수 있다. 입력 채널은, 사용자 오디오, 제어기에 의해 생성된 오디오, 제어기에 의해 생성된 추적 오디오, 제어기 버튼 상태, 비디오 카메라 출력, 가속도계 데이터를 포함하는 제어기 원격 측정 데이터, 틸트, 요, 롤, 위치, 가속도, 및 사용자 또는 물체의 사용자 조작을 추적할 수 있는 센서들로부터의 임의의 다른 데이터의 요소들을 포함할 수 있으며, 이에 제한되지 않는다.
특정 실시형태들에 있어서, 게임 프로그램(604)은, 예정된 시간의존 방식으로, 각각, 하나의 구조 또는 비율로부터 또 다른 구조로 시간에 걸쳐 매핑 또는 기어링을 변화시킬 수 있다. 기어링 및 매핑 변화들은 다양한 방식으로 게임 환경에 적용될 수 있다. 일 실시예에서, 캐릭터가 건강할 때, 비디오 게임 캐릭터는 하나 의 기어링 구조 하에서 제어되고, 캐릭터의 건강이 감퇴됨에 따라 시스템이 제어기 명령들을 기어링하여, 사용자는 캐릭터로의 동작 명령들을 위해 제어기의 이동들을 격렬하게 행하게 된다. 방향감각을 잃은 비디오 게임 캐릭터는 사용자의 입력 채널의 매핑 변화를 강요하게 되고, 예를 들어, 새로운 매핑 하에 캐릭터의 제어를 다시 받도록 입력을 조정하는 것이 필요할 수 있다. 입력 채널을 게임 명령들로 번역하는 것을 변형시키는 매핑 구조들은 또한 게임 플레이 동안 변화할 수 있다. 이러한 번역은, 게임 상태, 또는 입력 채널의 하나 이상의 요소들 하에서 배포된 변경 명령들에 반응하여 다양한 방식들로 일어날 수 있다. 기어링 및 매핑은 또한 입력 채널의 하나 이상의 요소들의 구성 및/또는 처리에 영향을 주도록 구성될 수 있다.
게다가, 예를 들어, 스피커, 버저(buzzer), 혼(horn) 또는 파이프(pipe)와 같은 음향 방출기(636)는 조이스틱 제어기(630)에 실장될 수 있다. 특정 실시형태들에 있어서, 음향 방출기는 조이스틱 제어기(630)의 "몸체"에 탈착가능하게 실장될 수 있다. 프로그램 코드(604)가 마이크로폰 배열(622)을 이용하여 검출된 음향들의 위치를 알아내고 특징짓는 "음향 레이더" 실시형태들에서, 음향 방출기(636)는, 게임 제어기(630)의 위치를 추적하기 위해 마이크로폰 배열(622)에 의해 검출될 수 있고 프로그램 코드(604)에 의해 사용될 수 있는 음향 신호를 제공할 수 있다. 음향 방출기(636)는 또한 게임 제어기(630)로부터 프로세서(601)로의 추가적인 "입력 채널"을 제공하는 데에 이용될 수 있다. 음향 방출기(636)로부터의 음향 신호들은 위치를 추적하도록 음향 레이더에 대한 비콘(beacon)을 제공하기위해 주기적으로 펄스될 수 있다. (펄스되거나 그렇지 않은) 음향 신호들은 청취가능하거나 초음파일 수 있다. 음향 레이더는 게임 제어기(630)의 사용자 조작을 추적할 수 있고, 이러한 조작 추적은 게임 제어기(630)의 위치 및 방향(예를 들어, 피치, 롤 또는 요 각)에 대한 정보를 포함할 수 있다. 펄스들은, 당업자라면 적용가능한 적절한 듀티 사이클에서 유발될 수 있다. 펄스들은 시스템으로부터 중재되는 제어 신호에 근거하여 개시될 수 있다. (프로그램 코드(604)를 통한) 시스템(600)은, 복수의 제어기들이 추적될 수 있는 것을 보증하기 위해 프로세서(601)에 연결된 2개 이상의 조이스틱 제어기들(630) 사이에서 제어 신호들의 발송을 조정할 수 있다.
특정 실시형태들에 있어서, 믹서(605)는, 예를 들어 아날로그 조이스틱 제어들(631) 및 버튼들(633)과 같은 게임 제어기(630) 상의 통상의 제어들로부터 수신된 입력들을 사용하여 게임 프로그램(604)의 실행을 제어하기 위한 입력을 획득하도록 구성될 수 있다. 구체적으로, 믹서(605)는 제어기(630)로부터 제어기 입력 정보를 수신할 수 있다. 제어기 입력 정보는, a) 제어 스틱의 정지 위치와 관련하여 게임 제어기의 사용자-이동가능 제어 스틱의 현재 위치를 식별하기 위한 정보, 또는 b) 게임 제어기 내에 포함된 스위치가 동작 중인지 여부를 식별하는 정보 중 적어도 하나를 포함할 수 있다. 믹서(605)는 또한 제어기(630)가 사용되는 환경으로부터 보충 입력 정보를 수신할 수 있다. 예를 들어, 보충 입력 정보는, i) 환경 내의 영상 캡쳐 장치(예를 들어, 영상 캡쳐 유닛(623))로부터 획득된 정보; 및/또는 ii) 게임 제어기 또는 사용 중 적어도 하나와 관련된 관성 센서(예를 들어, 관성 센서(632))로부터의 정보; 및/또는 iii) (가능하다면 음향 방출기(636)에 의해 생성된 음향 신호와 함께) 환경 내의 음향 변환기(예를 들어, 마이크로폰 배열(622)) 로부터 획득된 음향 정보 중 둘 이상을 포함할 수 있다.
제어기 입력 정보는, 압력-감지 버튼이 동작중인지 여부를 식별하는 정보를 또한 포함할 수 있다. 믹서(605)는, 결합된 입력을 산출하기 위해, 제어기 입력 정보 및 보충 입력 정보를 처리함으로써 게임 프로그램(604)의 실행을 제어하기 위한 결합된 입력을 획득할 수 있다.
결합된 입력은, 게임 프로그램(604)의 실행 동안 각각의 개별적인 기능들을 제어하기 위한 개별적인 병합 입력들(merged inputs)을 포함할 수 있다. 개별적인 병합 입력들 중 적어도 일부는, 특정 개별 기능과 관련된 제어기 입력 정보와 특정 개별 기능과 관련된 보충 입력 정보를 병합함으로써 획득될 수 있다. 결합된 입력은 게임 프로그램(604)의 실행 동안 기능을 제어하기 위한 병합된 입력을 포함할 수 있고, 병합된 입력 중 적어도 일부는 기능과 관련된 제어기 입력 정보와 기능과 관련된 보충 입력 정보를 병합함으로써 획득될 수 있다. 이러한 경우들에 있어서, 병합(merging)은, 제어기 입력 정보를 표현하는 값을 보충 입력 정보를 표현하는 값과 평균함으로써 수행될 수 있다. 예를 들어, 제어기 입력 정보의 값은 보충 입력 정보의 값과 1:1 비율로 평균될 수 있다. 선택적으로, 제어기 입력 정보 및 보충 입력 정보는 각각 다른 가중치들을 할당받을 수 있고, 평균 작업은 할당된 가중치들에 따라서 제어기 입력 정보 및 보충 입력 정보의 값들의 가중 평균으로서 수행될 수 있다.
일부 실시형태들에 있어서, 제어기 입력 정보 또는 보충 입력 정보 중 제 1 정보의 값은, 제어기 입력 정보 또는 보충 입력 정보 중 적어도 하나의 제 2 정보 에 따라 동작되는 정지 동작 기능에 대한 제어를 변경하기 위한 게임 프로그램으로의 변경 입력으로서 이용될 수 있다. 보충 입력 정보는, 관성 센서(632)의 동작에 의해 획득되는 관성 센서 정보 및/또는 사용자-이동가능 물체의 방향을 표현하는 방향 정보를 포함할 수 있다. 선택적으로, 보충 입력 정보는 사용자-이동가능 물체의 위치 또는 방향 중 적어도 하나를 가리키는 정보를 포함한다. 본 명세서에서 사용되는 것처럼, 사용자-이동가능 물체는 제어기(630) 또는 제어기(630)의 물체에 실장되는 부품을 의미하고, 보충 입력 정보는 사용자-이동가능 물체의 방향을 가리키는 정보를 포함한다. 예를 들어, 이러한 방향 정보는 피치, 요 또는 롤 중 적어도 하나를 가리키는 정보를 포함할 수 있다.
일부 실시형태들에 있어서, 결합된 입력은, 제어 스틱(예를 들어, 아날로그 조이스틱들(631) 중 하나)의 위치를 나타내는 제어기 입력 정보의 값을 사용자-이동가능 물체의 방향을 나타내는 보충 입력 정보의 값과 병합함으로써 획득될 수 있다. 이상에서 언급된 것처럼, 사용자-이동가능 물체는 게임 제어기(630)에 실장되는 물체 및/또는 게임 제어기(630)를 포함할 수 있고, 피치가 양(positive; 노우즈-업; nose-up)의 값으로 증가하는 동안 제어 스틱이 후방으로 이동될 때, 결합된 입력이 향상된 피치 업(pitch up) 입력을 반영할 수 있다. 유사하게, 피치가 음(negative; 노우즈-다운; nose-down)의 값으로 감소하는 동안 제어 스틱이 후방으로 이동될 때 결합된 입력은 향상된 피치 다운(pitch down) 입력을 반영할 수 있다.
결합된 입력은, 제어 스틱의 위치를 나타내는 제어기 입력 정보의 값을 거시 제어 정보로서 할당하고 사용자-이동가능 물체의 방향을 나타내는 보충 입력 정보의 값을 미세 제어 정보로서 할당함으로써 획득될 수 있다. 선택적으로, 결합된 입력 정보는, 게임 제어기의 스위치가 동작 중인지 여부를 식별하는 제어기 입력 정보의 값을 거시 제어 정보로서 할당하고 사용자-이동가능 물체의 방향을 나타내는 보충 입력 정보의 값을 미세 제어 정보로서 할당함으로써 획득될 수 있다. 게다가, 결합된 입력은, 사용자-이동가능 물체의 방향을 나타내는 보충 입력 정보의 값을 거시 제어 정보로서 할당하고 제어 스틱의 위치를 나타내는 제어기 입력 정보의 값을 미세 제어 정보로서 할당함으로써 획득될 수 있다. 게다가, 결합된 입력은, 게임 제어기의 스위치가 동작 중인지 여부를 식별하는 제어기 입력 정보의 값을 미세 제어 정보로서 할당하고 사용자-이동가능 물체의 방향을 나타내는 보충 입력 정보의 값을 거시 제어 정보로서 할당함으로써 획득될 수 있다. 이러한 경우들에 있어서, 결합된 입력은 미세 제어 정보에 따라 상대적으로 소량만큼 조정된 거시 제어 정보의 값을 나타낼 수 있다.
일부 실시형태들에 있어서, 결합된 입력은 제어기 입력 정보에 의해 표현된 값을 보충 입력 정보에 의해 표현된 값과 추가적으로 결합함으로써 획득되어, 결합된 입력은 제어기 입력 정보의 값 또는 보충 입력 정보의 값보다 더 크거나 또는 더 작은 값을 갖는 신호를 게임 프로그램(604)에 제공한다. 결합된 입력은, 선택적으로, 제어기 입력 정보의 값 또는 보충 입력 정보의 값보다 시간에 대하여 더욱 느리게 변화하도록 예정된 평탄화된 값을 갖는 신호를 게임 프로그램(604)으로 제공할 수 있다. 결합된 입력은 또한 증가된 신호 콘텐츠를 갖는 고 해상력 신호를 게임 프로그램에 제공할 수 있다. 고 해상력 신호는 제어기 입력 정보의 값 또는 보충 입력 정보의 값보다 시간에 대하여 더욱 빠르게 변화할 수 있다.
본 발명의 실시형태들이 비디오 게임 제어기(630)와 관련된 실시예들을 이용하여 기술되어 있을지라도, 시스템(600)을 포함하는 본 발명의 실시형태들은, 무선 또는 다른 방식으로, 관성 감지 능력 및 관성 센서 신호 전송 능력을 가진 임의의 사용자 조작 몸체, 몰딩된 몸체, 손잡이, 구조 등에서 사용될 수 있다.
예를 들어, 본 발명의 실시형태들은 병렬 처리 시스템들에서 실시될 수 있다. 이러한 병렬 처리 시스템들은, 전형적으로, 개별적인 프로세서들을 병렬적으로 이용하여 프로그램의 부분들을 실행시키도록 구성되는 2개 이상의 프로세서 요소들을 포함한다. 예를 들어, 도 7은 본 발명의 일 실시형태에 따른 셀 프로세서(700)의 유형을 도시한다. 셀 프로세서(700)는 도 6의 프로세서(601) 또는 도 5a의 프로세서(502)로서 사용될 수 있다. 도 7에 도시된 실시예에서, 셀 프로세서(700)는 주 메모리(702), PPE(power processor element; 704), 및 다수의 SPE(snergistic processor element; 706)들을 포함한다. 도 7에 도시된 실시예에 있어서, 셀 프로세서(700)는 단일 PPE(704) 및 8개의 SPE(706)를 포함한다. 이러한 구성에서, SPE(706) 중 7개는 병렬 처리에 이용될 수 있고, 하나는 다른 7개가 실패하는 경우의 백-업(back-up)으로서 예약될 수 있다. 셀 프로세서는 선택적으로 복수의 그룹들의 PPE들(PPE 그룹들) 및 복수의 그룹들의 SPE들(SPE 그룹들)을 포함한다. 이러한 경우에, 하드웨어 자원들은 그룹 내의 유닛들 사이에서 공유될 수 있다. 그러나, SPE들 및 PPE들은 독립 요소들로서 소프트웨어에 나타나야 한다. 이와 같이, 본 발명의 실시형태들은 도 7에 도시된 구성의 사용에 제한되지 않는다.
주 메모리(702)는, 전형적으로, 시스템 구성, 데이터-전송 동기화, 메모리-매핑 I/O, 및 I/O 서브시스템들과 같은 기능들에 사용되는 특정 목적 하드웨어 레지스터들 또는 배열들뿐만 아니라 범용이면서 비휘발성인 스토리지(storage)를 포함한다. 본 발명의 실시형태들에서, 비디오 게임 프로그램(703)은 주 메모리(702) 내에 존재한다. 메모리(702)는 또한 신호 데이터(709)를 포함할 수 있다. 비디오 프로그램(703)은 도 4, 5a, 5b 또는 5c와 관련하여 기술된 것처럼 구성된 관성, 영상 및 음향 분석기들 및 믹서를 포함할 수 있다. 프로그램(703)은 PPE에서 실행될 수 있다. 프로그램(703)은, SPE들 및/또는 PPE에서 실행될 수 있는 복수의 신호 처리 태스크들로 분할될 수 있다.
예를 들어, PPE(704)는 캐시들(L1 및 L2)과 관련된 64비트 PPU(PowerPC Processor Unit)일 수 있다. PPE(704)는 (예를 들어, 메모리 보호 테이블들과 같은) 시스템 관리 자원들에 접근할 수 있는 범용 프로세싱 유닛이다. 하드웨어 자원들은 PPE에 의해 보여지는 것처럼 실제 주소 공간으로 명확히 매핑될 수 있다. 그러므로, PPE는 적절한 유효 주소 값을 이용함으로써 이러한 자원들 중 하나를 직접 주소설정할 수 있다. PPE(704)의 주요 기능은 셀 프로세서(700) 내의 SPE들(706)에 대한 태스크들의 관리 및 할당이다.
도 7에는 단일 PPE만이 도시되어 있을지라도, CBEA(cell broadband engine architecture), 셀 프로세서(700)와 같은 일부 셀 프로세서 실시형태들은 2개 이상의 PPE 그룹들로 조직되는 복수의 PPE들을 가질 수 있다. 이러한 PPE 그룹들은 주 메모리(702)로의 접근을 공유할 수 있다. 게다가, 셀 프로세서(700)는 2개 이상의 그룹들인 SPE들을 포함할 수 있다. SPE 그룹들은 또한 주 메모리(702)로의 접근을 공유할 수 있다. 이러한 구성들은 본 발명의 범위 내에 있다.
각각의 SPE(706)는 SPU(synergistic processor unit) 및 자신의 로컬 스토리지 영역(LS)을 포함한다. 로컬 스토리지(local storage; LS)는, 각각이 특정 SPU와 관련된, 메모리 스토리지의 하나 이상의 분리된 영역들을 포함할 수 있다. 각각의 SPU는, 자신의 관련된 로컬 스토리지 영역 내로부터의 (데이터 로드 및 데이터 저장 동작들을 포함하는) 명령들을 실행하기만 하도록 구성될 수 있다. 이러한 구성에 있어서, 시스템(700) 내의 로컬 스토리지(LS)와 다른 곳 사이의 데이터 전송들이, (개별적인 SPE의) 로컬 스토리지 영역으로 또는 로컬 스토리지 영역으로부터 데이터를 전송하기 위해 MFC(memory flow controller)로부터의 DMA(direct memory access) 명령들을 배포함으로써 수행될 수 있다. SPU들은, 임의의 시스템 관리 기능들을 수행하지 않는 점에서, PPE(704)보다 덜 복잡한 연산 유닛들이다. SPU는 일반적으로 SIMD(single instruction, multiple data) 능력을 가지며, 전형적으로 데이터를 처리하고, 할당된 태스크들을 수행하기 위해 (PPE에 의해 설정된 특성들에 접근할 예정인) 필요한 데이터 전송들을 개시한다. SPU의 목적은, 더 높은 연산 유닛 밀도를 필요로 하고 제공된 명령 세트를 효과적으로 사용할 수 있는 어플리케이션(application)들을 기능하게 하는 것이다. PPE(704)에 의해 관리되는 시스템 내의 상당수의 SPE들은 넓은 범위의 어플리케이션들에 걸쳐서 비용면에서 효과적인 처리를 가능하게 한다.
각각의 SPE(706)는, 메모리-보호 및 접근-허가 정보를 유지하고 처리할 수 있는 관련된 메모리 관리 유닛을 포함하는 전용 MFC를 포함할 수 있다. MFC는, 셀 프로세서의 주 스토리지와 SPE의 로컬 스토리지 사이의 데이터 전송, 보호, 및 동기화를 위한 주요한 방법을 제공한다. MFC 명령은 수행될 전송을 설명한다. 데이터를 전송하기 위한 명령들은 때때로 MFC DMA 명령들(MFC direct memory access commands)로 칭해진다.
각각의 MFC는 동시에 복수의 DMA 전송들을 지지할 수 있고, 복수의 MFC 명령들을 유지하고 처리할 수 있다. 각각의 MFC DMA 데이터 전송 명령 요청은 로컬 스토리지 주소(LSA; local storage address) 및 유효 주소(EA; effective address)와 관계될 수 있다. 로컬 스토리지 주소는 관련된 SPE의 로컬 스토리지 영역만을 직접 주소설정할 수 있다. 유효 주소는 더욱 일반적인 어플리케이션을 가질 수 있는데, 예를 들어, 실제 주소 공간으로 별명이 붙여지는 경우, SPE 로컬 스토리지 영역들 모두를 포함하는 주 스토리지를 참조할 수 있다.
SPE들(706) 사이의 및/또는 SPE들(706)과 PPE들 사이의 통신을 도모하기 위해, SPE들(706) 및 PPE(704)는 이벤트들을 신호로 보내는 신호 통지 레지스터들을 포함할 수 있다. PPE(704)와 SPE들(706)은, PPE(704)가, SPE들(706)로 메시지들을 전송하도록 라우터로서 동작하는 스타 토폴로지(star topology)에 의해 연결될 수 있다. 선택적으로, 각각의 SPE(706) 및 PPE(704)는 메일박스(mailbox)로 칭해지는 일-방향 신호 통지 레지스터를 가질 수 있다. 메일박스는, 운영 체제 동기화를 호스팅(hosting)하기 위해 SPE(706)에 의해 사용될 수 있다.
셀 프로세서(700)는, 셀 프로세서(700)가 마이크로폰 배열(712), 선택적인 영상 캡쳐 유닛(713) 및 게임 제어기(730)와 같은 주변 장치들과 인터페이스할 수 있는 입력/출력 기능(708)을 포함할 수 있다. 게임 제어기 유닛은 관성 센서(732) 및 광원들(734)을 포함할 수 있다. 게다가, 엘리먼트 인터커넥트 버스(element interconnect bus; 710)는 이상에서 열거된 다양한 구성요소들을 연결할 수 있다. 각각의 SPE 및 PPE는 버스 인터페이스 유닛들(bus interface units; BIU)을 통하여 버스(710)에 접근할 수 있다. 셀 프로세서(700)는 또한 전형적으로 프로세서 내에서 발견되는 다음과 같은 2개의 제어기들을 포함할 수 있다: 버스(710)와 주 메모리(702) 사이의 데이터의 흐름을 제어하는 메모리 인터페이스 제어기(memory interface controller; MIC), 및 I/O(708)와 버스(710) 사이의 데이터의 흐름을 제어하는 버스 인터페이스 제어기(bus interface controller; BIC). MIC, BIC, BIU들 및 버스(710)에 대한 필요 조건들이 다른 실시형태들에 대하여 넓게 변화하더라도, 당업자라면 이들을 실시하기 위한 기능들 및 회로들에 친숙할 것이다.
셀 프로세서(700)는 또한 내부 인터럽트 제어기(internal interrupt controller; IIC)를 포함할 수 있다. IIC 구성요소는 PPE로 제공되는 인터럽트들의 우선순위를 관리한다. IIC는 셀 프로세서(700)와 다른 구성요소들로부터의 인터럽트들이 주 시스템 인터럽트 제어기를 사용하지 않고 취급되는 것을 가능하게 한다. IIC는 제 2 레벨 제어기로서 간주될 수 있다. 주 시스템 인터럽트 제어기는 셀 프로세서의 외부에서 발생하는 인터럽트들을 취급할 수 있다.
본 발명의 실시형태들에 있어서, 이상에서 기술된 소수 지연들과 같은 특정 연산들은, PPE(704) 및/또는 하나 이상의 SPE(706)를 사용하여 병렬로 수행될 수 있다. 각각의 소수 지연 연산은, 다른 SPE(706)가 처리할 수 있는 하나 이상의 개별적인 태스크들로서 실행될 수 있다.
본 발명의 바람직한 실시형태가 이상에서 기술되었을지라도, 다양한 선택례들, 변형례들 및 균등물들을 이용하는 것이 가능하다. 그러므로, 본 발명의 범위는 이상의 상세한 설명을 기준으로 결정되는 것이 아니라, 균등물들 전체의 범위를 따라 첨부된 청구범위를 기준으로 결정되어야 한다. 바람직하든 그렇지 않든, 본 명세서에서 기술된 임의의 특징은 본 명세서에서 기술된 임의의 다른 특징과 결합될 수 있다. 이하의 청구범위에서, 부정관사 "a", 또는 "an"은, 다르게 표현되어 있지 않다면, 관사 이하의 아이템(item)의 하나 이상의 분량을 의미한다. 첨부된 청구범위는, 명확히 "~ 을 위한 수단(means for)"이라는 용어를 사용하지 않은 것이라면, 수단-플러스-기능식(means-plus-function) 한정을 포함하는 것으로 해석되지 않는다.

Claims (29)

  1. a) 제어기의 사용자에 의해 이동가능한 제어 스틱의 정지 위치(rest position)에 대한 상기 제어 스틱(control stick)의 현재 위치를 식별하기 위한 정보, 또는 b) 상기 제어기 내에 포함된 스위치가 동작 중인지 여부를 식별하기 위한 정보 중 적어도 하나를 포함하는 제어기 입력 정보를 사용자에 의해 조작가능한 제어기로부터 수신하는 단계;
    상기 제어기의 3차원 움직임을 가리키는 정보를 포함하는 보충 입력 정보를 상기 제어기가 사용되는 환경으로부터 수신하는 단계; 및
    프로그램의 실행을 제어하기 위한 결합된 입력을 산출하기 위해 상기 제어기 입력 정보 및 상기 보충 입력 정보를 처리함으로써 상기 결합된 입력을 획득하는 단계를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  2. 제 1 항에 있어서, 상기 결합된 입력은, 상기 프로그램의 실행 동안 각각의 개별적인 기능들을 제어하기 위한 개별적인 병합된 입력들을 포함하며, 상기 개별적인 병합된 입력들 중 적어도 일부는, 특정 개별적 기능에 대한 상기 제어기 입력 정보와 상기 특정 개별적 기능에 대한 상기 보충 입력 정보를 병합함으로써 획득되는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  3. 제 1 항에 있어서, 상기 결합된 입력은, 상기 프로그램의 실행 동안 기능을 제어하기 위한 병합된 입력을 포함하며, 상기 병합된 입력 중 적어도 일부는, 상기 기능에 대한 상기 제어기 입력 정보와 상기 기능에 대한 상기 보충 입력 정보를 병합함으로써 획득되는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  4. 제 2 항 또는 제 3 항에 있어서, 상기 병합은, 상기 제어기 입력 정보를 나타내는 값을 상기 보충 입력 정보를 나타내는 값과 평균하는 단계에 의해 수행되는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  5. 제 4 항에 있어서, 상기 제어기 입력 정보의 값은 상기 보충 입력 정보의 값과 1 대 1 비율로 평균되는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  6. 제 4 항에 있어서, 상기 제어기 입력 정보 및 상기 보충 입력 정보는 각각 다른 가중치들을 할당받고, 상기 평균하는 단계는 상기 할당된 가중치들에 따라서 제어기 입력 정보 및 보충 입력 정보의 값들의 가중 평균으로서 수행되는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  7. 제 1 항에 있어서, 상기 제어기 입력 정보 또는 상기 보충 입력 정보 중 적어도 하나에 따라서 활성화되는 정지 동작 기능에 대한 제어를 변경하기 위해 상기 프로그램으로의 입력을 변경함으로써, 상기 제어기 입력 정보 또는 상기 보충 입력 정보 중 어느 하나의 값을 이용하는 단계를 더 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  8. 제 2 항, 제 3 항 또는 제 7 항 중 어느 한 항에 있어서, 상기 보충 입력 정보는, 관성 센서의 동작에 의해 획득된 관성 센서 정보 또는 사용자에 의해 이동가능한 물체의 방향을 나타내는 방향 정보 중 적어도 하나를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  9. 제 8 항에 있어서, 상기 관성 센서는 상기 제어기에 실장되고, 가속도계 또는 자이로스코프(gyroscope) 중 적어도 하나를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  10. 제 2 항에 있어서, 상기 보충 입력 정보는, 사용자에 의해 이동가능한 물체의 위치 또는 방향 중 적어도 하나를 가리키는 정보를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  11. 제 10 항에 있어서, 상기 사용자에 의해 이동가능한 물체는 상기 제어기 또는 상기 제어기의 몸체에 실장된 부품(article) 중 적어도 하나를 포함하며, 상기 보충 입력 정보는 상기 사용자에 의해 이동가능한 물체의 방향을 가리키는 정보를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  12. 제 10 항에 있어서, 상기 보충 입력 정보는 피치(pitch), 요(yaw) 또는 롤(roll) 중 적어도 하나를 가리키는 정보를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  13. 제 12 항에 있어서, 상기 보충 입력 정보는 피치, 요 및 롤을 가리키는 정보를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  14. 제 10 항 내지 제 13 항 중 어느 한 항에 있어서, 상기 결합된 입력은, 상기 제어 스틱의 위치를 나타내는 제어기 입력 정보의 값을 상기 사용자에 의해 이동가능한 물체의 방향을 나타내는 보충 입력 정보의 값과 병합함으로써 획득되는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  15. 제 14 항에 있어서, 상기 사용자에 의해 이동가능한 물체는 상기 제어기에 실장되는 물체 또는 상기 제어기 중 적어도 하나를 포함하며, 상기 결합된 입력은, 상기 사용자에 의해 이동가능한 물체의 피치가 양의 값(positive value; 노우즈 업(nose-up) 값)으로 증가하는 동안 상기 제어 스틱이 후방으로 이동될 때 향상된 피치 업(pitch up) 입력을 반영하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  16. 제 15 항에 있어서, 상기 사용자에 의해 이동가능한 물체는 상기 제어기에 실장되는 물체 또는 상기 제어기 중 적어도 하나를 포함하며, 상기 결합된 입력은, 상기 피치가 음의 값(negative value; 노우즈 다운(nose-down) 값)으로 감소하는 동안 상기 제어 스틱이 전방으로 이동될 때 향상된 피치 다운(pitch down) 입력을 반영하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  17. 제 14 항에 있어서, 상기 결합된 입력은, 상기 제어 스틱의 위치를 나타내는 제어기 입력 정보의 값을 거시 제어 정보(coarse control information)로서 할당하고 상기 사용자에 의해 이동가능한 물체의 방향을 나타내는 보충 입력 정보의 값을 미세 제어 정보(fine control information)로서 할당함으로써 획득되며, 상기 결합된 입력은, 상기 거시 제어 정보의 값을 상기 미세 제어 정보에 따라 상대적으로 작은 분량만큼 조정되게 나타내는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  18. 제 14 항에 있어서, 상기 결합된 입력은, 상기 제어기의 스위치가 동작 중인지 여부를 식별하는 제어기 입력 정보의 값을 거시 제어 정보로서 할당하고 상기 사용자에 의해 이동가능한 물체의 방향을 나타내는 보충 입력 정보의 값을 미세 제어 정보로서 할당함으로써 획득되며, 상기 결합된 입력은, 상기 거시 제어 정보의 값을 상기 미세 제어 정보에 따라 상대적으로 작은 분량만큼 조정되게 나타내는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  19. 제 14 항에 있어서, 상기 결합된 입력은, 상기 사용자에 의해 이동가능한 물체의 방향을 나타내는 보충 입력 정보의 값을 거시 제어 정보로서 할당하고 상기 제어 스틱의 위치를 나타내는 제어기 입력 정보의 값을 미세 제어 정보로서 할당함으로써 획득되며, 상기 결합된 입력은, 상기 거시 제어 정보의 값을 상기 미세 제어 정보에 따라 상대적으로 작은 분량만큼 조정되게 나타내는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  20. 제 14 항에 있어서, 상기 결합된 입력은, 상기 제어기의 스위치가 동작 중인지 여부를 식별하는 제어기 입력 정보의 값을 미세 제어 정보로서 할당하고 상기 사용자에 의해 이동가능한 물체의 방향을 나타내는 보충 입력 정보의 값을 거시 제어 정보로서 할당함으로써 획득되고, 상기 결합된 입력은, 상기 거시 제어 정보의 값을 상기 미세 제어 정보에 따라 상대적으로 작은 분량만큼 조정되게 나타내는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  21. 제 1 항, 제 2 항 또는 제 3 항 중 어느 한 항에 있어서, 상기 결합된 입력은 상기 제어기 입력 정보에 의해 표현된 값을 상기 보충 입력 정보에 의해 표현된 값과 추가적으로 결합함으로써 획득되어, 상기 결합된 입력은 상기 제어기 입력 정보의 값 또는 상기 보충 입력 정보의 값보다 더 큰 값을 가진 신호를 상기 프로그램으로 제공하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  22. 제 1 항, 제 2 항 또는 제 3 항 중 어느 한 항에 있어서, 상기 결합된 입력은 상기 제어기 입력 정보에 의해 표현된 값을 상기 보충 입력 정보에 의해 표현된 값과 추가적으로 결합함으로써 획득되어, 상기 결합된 입력은 상기 제어기 입력 정보의 값 또는 상기 보충 입력 정보의 값보다 더 작은 값을 가진 신호를 상기 프로그램으로 제공하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  23. 제 1 항, 제 2 항 또는 제 3 항 중 어느 한 항에 있어서, 상기 결합된 입력은 평탄화된 값을 가진 신호를 상기 프로그램으로 제공하고, 상기 평탄화된 값 신호는 상기 제어기 입력 정보의 값 또는 상기 보충 입력 정보의 값이 변화하는 속도 보다 느린 속도로 변화하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  24. 제 1 항, 제 2 항 또는 제 3 항 중 어느 한 항에 있어서, 상기 결합된 입력은 증가된 신호 콘텐츠(signal content)를 가진 신호를 상기 프로그램으로 제공하고, 상기 증가된 신호 콘텐츠를 가진 신호는 상기 제어기 입력 정보의 값 또는 상기 보충 입력 정보의 값이 변화하는 속도 보다 더욱 빠른 속도로 변화하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  25. 제 1 항, 제 2 항 또는 제 3 항 중 어느 한 항에 있어서, 상기 보충 입력 정보는, 상기 제어기 상의 음원으로부터 방출된 음향들에 대응하여, 상기 환경 내의 음향 변환기로부터 획득된 음향 정보를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  26. 제 1 항, 제 2 항 또는 제 3 항 중 어느 한 항에 있어서, 상기 제어기 입력 정보는 압력 감지 버튼이 동작 중인지 여부를 식별하는 정보를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  27. 제 1 항, 제 2 항 또는 제 3 항 중 어느 한 항에 있어서, 상기 보충 입력 정보는 i) 상기 환경 내의 영상 캡쳐 장치(image capture device)로부터 획득된 정보 ii) 상기 제어기 또는 상기 제어기의 사용자 중 적어도 하나와 관련된 관성 센서로부터의 정보, 또는 iii) 상기 환경 내의 음향 변환기로부터의 정보 중 적어도 하나를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  28. 제 1 항, 제 2 항 또는 제 3 항 중 어느 한 항에 있어서, 상기 보충 입력 정보는 상기 환경 내의 영상 캡쳐 장치로부터 획득된 정보, 상기 제어기 또는 상기 제어기의 사용자 중 적어도 하나와 관련된 관성 센서로부터의 정보, 및 상기 환경 내의 음향 변환기로부터의 정보를 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법.
  29. a) 제어기의 사용자에 의해 이동가능한 제어 스틱의 정지 위치에 대한 상기 제어 스틱의 현재 위치를 식별하기 위한 정보, 또는 b) 상기 제어기 내에 포함된 스위치가 동작 중인지 여부를 식별하기 위한 정보 중 적어도 하나를 포함하는 제어기 입력 정보를 사용자에 의해 조작가능한 제어기로부터 수신하는 수단;
    상기 제어기의 3차원 움직임을 가리키는 정보를 포함하는 보충 입력 정보를 상기 제어기가 사용되는 환경으로부터 수신하는 수단; 및
    프로그램의 실행을 제어하기 위한 결합된 입력을 산출하기 위해 상기 제어기 입력 정보 및 상기 보충 입력 정보를 처리함으로써 상기 결합된 입력을 획득하는 수단을 포함하는 것을 특징으로 하는, 프로그램의 실행을 제어하기 위한 입력을 획득하는 시스템.
KR1020087029705A 2006-05-04 2007-04-14 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법 KR101020509B1 (ko)

Applications Claiming Priority (92)

Application Number Priority Date Filing Date Title
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 US8947347B2 (en) 2003-08-27 2006-05-04 Controlling actions in a video game unit
US11/381,727 US7697700B2 (en) 2006-05-04 2006-05-04 Noise removal for electronic device with far field microphone on console
US11/381,729 US7809145B2 (en) 2006-05-04 2006-05-04 Ultra small microphone array
US11/381,728 2006-05-04
US11/381,727 2006-05-04
US11/429,133 US7760248B2 (en) 2002-07-27 2006-05-04 Selective sound source listening in conjunction with computer interactive processing
US11/429,047 2006-05-04
US11/418,988 US8160269B2 (en) 2003-08-27 2006-05-04 Methods and apparatuses for adjusting a listening area for capturing sounds
US11/429,133 2006-05-04
US11/381,725 US7783061B2 (en) 2003-08-27 2006-05-04 Methods and apparatus for the targeted sound detection
US11/429,047 US8233642B2 (en) 2003-08-27 2006-05-04 Methods and apparatuses for capturing an audio signal based on a location of the signal
PCT/US2006/017483 WO2006121896A2 (en) 2005-05-05 2006-05-04 Microphone array based selective sound source listening and video game control
WOPCT/US2006/017483 2006-05-04
US11/429,414 2006-05-04
US11/418,988 2006-05-04
US11/418,989 2006-05-04
US11/418,989 US8139793B2 (en) 2003-08-27 2006-05-04 Methods and apparatus for capturing audio signals based on a visual image
US11/381,725 2006-05-04
US11/381,728 US7545926B2 (en) 2006-05-04 2006-05-04 Echo and noise cancellation
US11/381,721 2006-05-04
US11/381,729 2006-05-04
US11/429,414 US7627139B2 (en) 2002-07-27 2006-05-04 Computer image and audio processing of intensity and input devices for interfacing with a computer program
US25934806A 2006-05-06 2006-05-06
US79803106P 2006-05-06 2006-05-06
US25935006A 2006-05-06 2006-05-06
US25934906A 2006-05-06 2006-05-06
US11/382,037 US8313380B2 (en) 2002-07-27 2006-05-06 Scheme for translating movements of a hand-held controller into inputs for a system
US11/382,038 US7352358B2 (en) 2002-07-27 2006-05-06 Method and system for applying gearing effects to acoustical tracking
US11/382,032 2006-05-06
US11/382,031 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,035 2006-05-06
US11/382,034 US20060256081A1 (en) 2002-07-27 2006-05-06 Scheme for detecting and tracking user manipulation of a game controller body
US60/798,031 2006-05-06
US11/382,038 2006-05-06
US29/259,349 2006-05-06
US11/382,031 US7918733B2 (en) 2002-07-27 2006-05-06 Multi-input game control mixer
US11/382,037 2006-05-06
US11/382,033 US8686939B2 (en) 2002-07-27 2006-05-06 System, method, and apparatus for three-dimensional input control
US29/259,350 2006-05-06
US11/382,035 US8797260B2 (en) 2002-07-27 2006-05-06 Inertially trackable hand-held controller
US11/382,036 2006-05-06
US29/259,348 2006-05-06
US11/382,034 2006-05-06
US11/382,032 US7850526B2 (en) 2002-07-27 2006-05-06 System for tracking user manipulations within an environment
US11/382,033 2006-05-06
US11/382,043 US20060264260A1 (en) 2002-07-27 2006-05-07 Detectable and trackable hand-held controller
US11/382,041 US7352359B2 (en) 2002-07-27 2006-05-07 Method and system for applying gearing effects to inertial tracking
US11/382,039 US9393487B2 (en) 2002-07-27 2006-05-07 Method for mapping movements of a hand-held controller to game commands
US11/382,039 2006-05-07
US11/382,040 2006-05-07
US11/382,043 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
US24676406A 2006-05-08 2006-05-08
US24676306A 2006-05-08 2006-05-08
US24676606A 2006-05-08 2006-05-08
US24676806A 2006-05-08 2006-05-08
US24676206A 2006-05-08 2006-05-08
US24675906A 2006-05-08 2006-05-08
US24674406A 2006-05-08 2006-05-08
US24676706A 2006-05-08 2006-05-08
US24674306A 2006-05-08 2006-05-08
US24676506A 2006-05-08 2006-05-08
US11/382,256 US7803050B2 (en) 2002-07-27 2006-05-08 Tracking device with sound emitter for use in obtaining information for controlling game program execution
US11/382,252 US10086282B2 (en) 2002-07-27 2006-05-08 Tracking device for use in obtaining information for controlling game program execution
US11/430,594 2006-05-08
US29/246,768 2006-05-08
US29/246,766 2006-05-08
US11/382,258 2006-05-08
US29/246,743 2006-05-08
US11/382,252 2006-05-08
US11/382,251 US20060282873A1 (en) 2002-07-27 2006-05-08 Hand-held controller having detectable elements for tracking purposes
US29/246,763 2006-05-08
US11/382,258 US7782297B2 (en) 2002-07-27 2006-05-08 Method and apparatus for use in determining an activity level of a user in relation to a system
US11/430,593 US20070261077A1 (en) 2006-05-08 2006-05-08 Using audio/visual environment to select ads on game platform
US11/430,594 US20070260517A1 (en) 2006-05-08 2006-05-08 Profile detection
US29/246,764 2006-05-08
US29/246,767 2006-05-08
US29/246,744 2006-05-08
US11/382,259 2006-05-08
US11/382,259 US20070015559A1 (en) 2002-07-27 2006-05-08 Method and apparatus for use in determining lack of user activity in relation to a system
US11/382,250 2006-05-08
US29/246,759 2006-05-08
US11/382,256 2006-05-08
US11/382,251 2006-05-08
US11/382,250 US7854655B2 (en) 2002-07-27 2006-05-08 Obtaining input for controlling execution of a game program
US11/430,593 2006-05-08
US29/246,765 2006-05-08
US29/246,762 2006-05-08

Publications (2)

Publication Number Publication Date
KR20090017571A KR20090017571A (ko) 2009-02-18
KR101020509B1 true KR101020509B1 (ko) 2011-03-09

Family

ID=56290943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087029705A KR101020509B1 (ko) 2006-05-04 2007-04-14 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법

Country Status (2)

Country Link
EP (1) EP2013864A4 (ko)
KR (1) KR101020509B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102021873B1 (ko) * 2016-12-30 2019-09-17 동의대학교 산학협력단 이동체와 이를 무선 조종하는 무선조종기

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5554980A (en) 1993-03-12 1996-09-10 Mitsubishi Denki Kabushiki Kaisha Remote control system
US6417836B1 (en) 1999-08-02 2002-07-09 Lucent Technologies Inc. Computer input device having six degrees of freedom for controlling movement of a three-dimensional object
US6489948B1 (en) 2000-04-20 2002-12-03 Benny Chi Wah Lau Computer mouse having multiple cursor positioning inputs and method of operation
US6890262B2 (en) 2001-07-19 2005-05-10 Konami Corporation Video game apparatus, method and recording medium storing program for controlling viewpoint movement of simulated camera in video game

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5181181A (en) * 1990-09-27 1993-01-19 Triton Technologies, Inc. Computer apparatus input device for three-dimensional information
CN100352532C (zh) * 1996-03-05 2007-12-05 世嘉企业股份有限公司 操作输入装置和电子装置
JPH11253656A (ja) * 1998-03-09 1999-09-21 Omron Corp ゲームコントローラのアタッチメント

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5554980A (en) 1993-03-12 1996-09-10 Mitsubishi Denki Kabushiki Kaisha Remote control system
US6417836B1 (en) 1999-08-02 2002-07-09 Lucent Technologies Inc. Computer input device having six degrees of freedom for controlling movement of a three-dimensional object
US6489948B1 (en) 2000-04-20 2002-12-03 Benny Chi Wah Lau Computer mouse having multiple cursor positioning inputs and method of operation
US6890262B2 (en) 2001-07-19 2005-05-10 Konami Corporation Video game apparatus, method and recording medium storing program for controlling viewpoint movement of simulated camera in video game

Also Published As

Publication number Publication date
KR20090017571A (ko) 2009-02-18
EP2013864A4 (en) 2010-12-22
EP2013864A2 (en) 2009-01-14

Similar Documents

Publication Publication Date Title
US7854655B2 (en) Obtaining input for controlling execution of a game program
US9682320B2 (en) Inertially trackable hand-held controller
US10086282B2 (en) Tracking device for use in obtaining information for controlling game program execution
US8686939B2 (en) System, method, and apparatus for three-dimensional input control
US8313380B2 (en) Scheme for translating movements of a hand-held controller into inputs for a system
US7737944B2 (en) Method and system for adding a new player to a game in response to controller activity
US7918733B2 (en) Multi-input game control mixer
US8839279B2 (en) Gesture cataloging and recognition
US9393487B2 (en) Method for mapping movements of a hand-held controller to game commands
US9174119B2 (en) Controller for providing inputs to control execution of a program when inputs are combined
US20060282873A1 (en) Hand-held controller having detectable elements for tracking purposes
US20070015559A1 (en) Method and apparatus for use in determining lack of user activity in relation to a system
US20060256081A1 (en) Scheme for detecting and tracking user manipulation of a game controller body
WO2007130793A2 (en) Obtaining input for controlling execution of a game program
WO2007130833A2 (en) Scheme for detecting and tracking user manipulation of a game controller body and for translating movements thereof into inputs and game commands
EP2012891B1 (en) Method and apparatus for use in determining lack of user activity, determining an activity level of a user, and/or adding a new player in relation to a system
JP2013084281A (ja) ゲーム制御入力データを分析するためのシステム及び方法
KR101020509B1 (ko) 프로그램의 실행을 제어하기 위한 입력을 획득하는 방법
KR101020510B1 (ko) 다중 입력 게임 제어 믹서
EP1852164A2 (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: 20140224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150225

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160223

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190222

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 10