KR101489236B1 - 최소 사용자 입력을 가지는 추적시스템 보정 - Google Patents
최소 사용자 입력을 가지는 추적시스템 보정 Download PDFInfo
- Publication number
- KR101489236B1 KR101489236B1 KR1020117016814A KR20117016814A KR101489236B1 KR 101489236 B1 KR101489236 B1 KR 101489236B1 KR 1020117016814 A KR1020117016814 A KR 1020117016814A KR 20117016814 A KR20117016814 A KR 20117016814A KR 101489236 B1 KR101489236 B1 KR 101489236B1
- Authority
- KR
- South Korea
- Prior art keywords
- position sensor
- vectors
- data
- vector
- angle
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/22—Setup operations, e.g. calibration, key configuration or button assignment
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/211—Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/23—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
- A63F13/235—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Image Analysis (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
위치 센서를 보정하기 위하여, 피추적 물체가 풍부한 움직임 경로를 통하여 움직일 때, 피추적 물체의 다수의 영상 위치들과 영상 크기들이 수신된다. 관성 데이터는 피추적 물체가 풍부한 움직임 경로를 통하여 움직일 때 피추적 물체로부터 수신된다. 다수의 영상 위치들 각각은 대응하는 영상 크기들과 위치 센서의 시야에 근거하여 위치 센서의 3차원 좌표계로 변환된다. 피추적 물체의 가속도는 위치 센서의 3차원 좌표계로 계산된다. 관성 데이터는 위치 센서의 보정을 위해 계산된 가속도와 결합된다.
Description
본 발명은 추적 시스템의 보정(calibration)에 관한 것으로, 보다 상세하게는 물체의 위치 데이터와 물체에 관한 수신 또는 알려진 데이터에 근거하여 물체의 위치를 추적하는데 사용되는 추적 시스템을 보정하는 것에 관한 것이다.
본 출원은 2008년 12월 17일자에 출원된 미국 가특허출원번호 제61/138,499호 및 2009년 5월 4일자에 출원된 미국 가특허출원번호 제12/435,386호의 이익과 관련되어 이를 주장하며, 참조로 본 명세서에 포함된다.
본 출원은 함께 계류중인, 2009년 5월 4일자에 "추적 시스템 내의 각도 오차의 수정(CORRECTING ANGLE ERROR IN A TRACKING SYSTEM)"의 명칭으로 출원된 미국 특허출원 번호 제12/435,285호와 관련된 것이다.
컴퓨터 게임 산업에서 성장하고 있는 경향은 사용자와 게임 시스템 사이의 상호 작용(interaction)을 증가시키는 게임을 개발하는 것이다. 보다 풍부한 상호관계 경험을 달성하는 하나의 방법은, 게임자의 움직임을 추적하고 이러한 움직임들을 게임을 위한 입력으로 사용하기 위하여 상기 게임 시스템에 의해 그 움직임이 추적되는 게임 제어기들을 사용하는 것이다. 일반적으로 말하면, 물체를 추적하는 비디오 카메라나 다른 위치 센서에 의해 캡쳐되는 몸짓에 반응하는 몸짓 입력은 컴퓨팅 시스템, 비디오 게임 콘솔, 스마트 응용기기 등과 같은 전자 장치를 가지는 것을 의미한다.
사용자의 위치와 움직임의 신뢰할만한 측정을 위하여, 게임 시스템은 보정될 필요가 있다. 이러한 보정은 보통 상기 게임 시스템이 사용될 때마다 필요하게 된다. 종래의 시스템에서는, 게임 시스템을 보정을 위하여 사용자가 비디오 카메라의 틸트, 사용자와 비디오 카메라 사이의 거리 등과 같은 속성들을 측정하는 제어된 정확한 프로세스가 필요하다. 종래의 게임 시스템들은 이러한 제어되고 정확한 프로세스 없이 보정할 능력이 없다.
본 발명은 첨부 도면을 통한 다음의 상세한 설명에 의해 가장 잘 이해될 것이다. 도면에서:
도 1은 본 발명의 일 실시예에 따른 추적 시스템을 보여주는 사시도이다.
도 2a는 본 발명의 일 실시예에 따른 볼부를 가지는 게임 제어기를 보여준다.
도 2b는 본 발명의 다른 실시예에 따른 볼부를 가지는 다른 게임 제어기를 보여준다.
도 2c는 본 발명의 일 실시예에 따른 사용자에게 설치된 다중 모션 캡쳐 볼들을 보여준다.
도 3은 본 발명의 일 실시예에 따른 풍부한 동작 경로를 통하여 이동된 물체의 예를 보여준다.
도 4는 본 발명의 일 실시예에 따른 추적 시스템을 보여주는 블록 다이아그램이다.
도 5는 본 발명의 일 실시예에 따른 다중 게임자 환경을 개략적으로 보여주는 도면이다.
도 6은 추적 시스템을 보정하는 방법의 일 실시예를 보여주는 흐름도이다.
도 7은 추적 시스템을 보정하는 방법의 다른 실시예를 보여주는 흐름도이다
도 8은 본 발명의 일 실시예에 따른 카메라의 영상면의 다른 지점들로 조사된 구를 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 따른 구의 카메라의 영상면으로의 타원형 조사를 이용하는 카메라의 시야를 결정하는 방법을 설명하는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 타원형태로 카메라의 영상면으로 조사되는 구를 설명하는 도면이다.
도 11은 본 발명의 일 실시예에 따른 제어기 위치를 결정하는데 사용되는 하드웨어와 사용자 인터페이스를 설명하는 도면이다.
도 12는 본 발명의 일 실시예에 따른 지시 내용을 처리하는데 사용되는 추가적인 하드웨어를 보여주는 도면이다.
도 1은 본 발명의 일 실시예에 따른 추적 시스템을 보여주는 사시도이다.
도 2a는 본 발명의 일 실시예에 따른 볼부를 가지는 게임 제어기를 보여준다.
도 2b는 본 발명의 다른 실시예에 따른 볼부를 가지는 다른 게임 제어기를 보여준다.
도 2c는 본 발명의 일 실시예에 따른 사용자에게 설치된 다중 모션 캡쳐 볼들을 보여준다.
도 3은 본 발명의 일 실시예에 따른 풍부한 동작 경로를 통하여 이동된 물체의 예를 보여준다.
도 4는 본 발명의 일 실시예에 따른 추적 시스템을 보여주는 블록 다이아그램이다.
도 5는 본 발명의 일 실시예에 따른 다중 게임자 환경을 개략적으로 보여주는 도면이다.
도 6은 추적 시스템을 보정하는 방법의 일 실시예를 보여주는 흐름도이다.
도 7은 추적 시스템을 보정하는 방법의 다른 실시예를 보여주는 흐름도이다
도 8은 본 발명의 일 실시예에 따른 카메라의 영상면의 다른 지점들로 조사된 구를 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 따른 구의 카메라의 영상면으로의 타원형 조사를 이용하는 카메라의 시야를 결정하는 방법을 설명하는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 타원형태로 카메라의 영상면으로 조사되는 구를 설명하는 도면이다.
도 11은 본 발명의 일 실시예에 따른 제어기 위치를 결정하는데 사용되는 하드웨어와 사용자 인터페이스를 설명하는 도면이다.
도 12는 본 발명의 일 실시예에 따른 지시 내용을 처리하는데 사용되는 추가적인 하드웨어를 보여주는 도면이다.
본 명세서에서 설명되는 것은 게임 시스템 내에서 사용하기 위해 추적 시스템을 조종하는 방법 및 장치이다. 일 실시예에서, 추적 시스템을 보정하기 위하여, 피추적 물체가 풍부한 운동 경로를 통하여 이동됨에 따라 피추적 물체의 위치 데이터(예를 들면 영상의 위치들과 영상의 크기들)는 위치 센서에 의해 수신된다. 더욱이, 초기 데이터는, 피추적 물체가 풍부한 운동 경로를 통하여 이동됨에 따라, 피추적 물체에 대응하도록 수신된다. 위치 데이터는 위치 센서의 3차원 좌표계로 변환된다. 일 실시예에서, 영상의 위치는 대응하는 영상의 크기와 위치 센서의 시야에 근거하여 3차원 좌표계로 변환된다. 위치 센서의 시야는 알려져 있거나 그렇지 않을 수 있다. 피추적 물체의 가속도는 위치 센서의 3차원 좌표계 내에서 계산된다. 초기 데이터는 추적 시스템을 보정을 위해 계산된 가속도와 결합된다. 초기 데이터의 계산된 가속도와의 결합은 위치 센서의 피치의 계산과 위치 센서와 피추적 물체 사이의 상대적인 요(yaw)의 계산을 포함할 수 있다. 초기 데이터의 계산된 가속도와의 결합은 위치 센서의 시야 계산도 포함할 수 있다.
이하에서 본 발명의 상세한 부분이 설명된다. 그러나, 본 발명은 이러한 상세한 설명이 없이도 실시될 수 있음은 당업자에게 명백할 것이다. 예를 들면, 본 발명의 불명료성을 피하기 위하여 기지의 구조나 장치들은 상세하게 도시하기 보다는 블록 다이아그램 형태로 도시된다.
다음의 상세한 설명의 일부는 컴퓨터 메모리 내의 데이터 비트로서 알고리즘과 작동의 기호적인 서술의 형태로 제공된다. 이러한 알고리즘적인 기술과 표현들은 데이터 처리 분야의 당업자들이 다른 당업자에게 자신들의 일의 실체를 가장 효과적으로 전달하기 위해 사용되는 수단들이다. 알고리즘은 일반적으로 바람직한 결과로 이끄는 일련의 모순이 없는 단계로서 인정된다. 이러한 단계들은 그러한 물리량의 필요한 물리적인 조작들이다. 통상, 필요하지는 않지만, 이러한 양들은 저장되고, 전송되고, 결합되고, 비교되고, 그 외의 방식으로 조작될 수 있는 전기 또는 자기적인 신호의 형태를 가진다. 이는, 대개 관례의 이유로, 이러한 신호들을 비트(bits), 가치(values), 요소들, 기호들, 문자들, 기간들, 숫자들 등으로 언급하기에 가끔은 편리한 것으로 증명되었다.
그러나, 이와 같거나 유사한 용어들 모두는 적절한 물리량과 결합될 수 있고 단순히 이러한 물리량에 적용되는 표식을 붙이기에 편리한 것 뿐임을 명심하여야 한다. 하기의 설명에서 알 수 있듯이 구체적으로 설명하지 않더라도, 명세서 전체를 통하여, "처리(processing)", "계산(computing)", "변환(converting)", "결합(reconciling)", "결정(determining)" 등과 같은 용어들을 활용한 설명들은, 컴퓨터 시스템의 작동 및 처리들이나, 컴퓨터 시스템의 레지스터들과 메모리들 내의 물리적 (예를 들면 전자적인) 양으로 나타나는 데이터를 조작하고 컴퓨터 시스템 메모리들, 리지스터들, 또는 정보 저장장치, 전송 또는 표시 장치들과 같은 다른 장치들 내의 물리량 같이 나타나는 데이터로 전송하는 이와 유사한 전자적인 계산 장치의 동작과 처리들을 언급하는 것으로 이해된다.
본 발명은 본 명세서에서 설명되는 작업을 수행하는 장치에 관한 것이다. 이러한 장치는 특히 필요한 목적으로 구성되거나 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 구동되거나 변경되는 범용 컴퓨터를 포함할 수 있다. 일 실시예에서, 이러한 작업들을 수행하는 장치는 게임 콘솔(예를 들면, 소니 플레이스테이션, 닌텐도 위, 마이크로소프트의 엑스박스 등)을 포함한다. 컴퓨터 프로그램은, 플로피 디스크, 광디스크 (예를 들면, 컴팩트 디스크 읽기 전용 메모리(CD-ROM)), 디지털 디스크(DVD), 블루레이 디스크 등), 광자기 디스크 등과 같은 디스크, 읽기전용 메모리(ROM), 임의접근 메모리(RAM), EPROM, EEPROM, 자기 또는 광카드, 또는 전자적 지시를 저장하기에 적합한 임의 형태의 매체와 같은 컴퓨터로 읽을 수 있는 저장매체에 저장될 수 있으나 이에 한정되는 것은 아니다.
기계로 읽을 수 있는 매체는 기계(예를 들면, 컴퓨터)로 읽을 수 있는 형태의 정보를 저장하거나 전송하는 어떠한 형태의 기구를 포함한다. 예를 들면, 기계로 읽을 수 있는 매체는 기계로 읽을 수 있는 저장 매체(예를 들면, 읽기 전용 메모리(ROM), 임의 접근 메모리(RAM), 광자기 저장 매체, 광저장 매체, 플래시 메모리 장치 등), 기계로 읽을 수 있는 전송 매체(신호(예를 들면, 반송파, 적외선 신호, 디지털 신호 등)를 전파할 수 있는 전기, 광학, 음향, 또는 다른 형태) 등을 포함한다.
도 1은 본 발명의 일 실시예에 따른 추적 시스템(100)의 사시도이다. 추적 시스템(100)은 위치 센서(105), 위치 센서(105)에 의해 추적되는 물체(110), 위치 센서(105)와 물체(110)에 의해 수신되는 데이터를 처리하는 계산 장치(115)를 포함한다. 일 실시예에서, 추적 시스템(100)은 게임 시스템의 구성요소가 된다. 이와 달리, 추적 시스템(100)은 모션 캡쳐 시스템의 구성요소가 될 수 있다.
위치 센서(105)는 위치 센서(105)에 대한 상대적인 2차원 또는 3차원 공간으로 물체(110)의 위치를 측정하는 센서이다. 위치 센서(105)에 의해 획득된 위치 데이터(예를 들면, 영상들)는 영상면과 영상면에 수직한 벡터에 의해 정의될 수 있는 위치 센서(105)의 기준 프레임(150) 내에 있다. 본 발명에서, 기준 프레임은 물체의 위치, 방향, 및 다른 속성들을 측정하는 좌표계로서 정의된다. 기준 프레임과 좌표계라는 용어는 본 출원 전반에 걸쳐 교체될 수 있도록 사용된다.
도시된 바와 같이, 위치 센서(105)는 텔레비전(120)의 상단에 위치되며 바닥(150)에 대해 상대적인 음의 피치(간격: 145)를 가진다. 피치(145)는 위치 센서(105)의 영상면 내에 있는 위치 센서의 기준 프레임(150)의 수평축(horizontal axis)과 중력(135)에 수직한 면 사이의 각도이다. 피치(145)가 영(zero)이 아닌 한, 위치 센서(105)는 (중력(135)과 일치되는 축(예를 들면, y2)을 가지는 기준 프레임으로 정의되는) 국제 기준 프레임(140)과 다른 기준 프레임(150)을 가진다.
일 실시예에서, 위치 센서(105)는 표준적인 비디오 카메라이다. 이러한 일 실시예에서, 위치 센서(105)는 물체(110)의 크기를 규정하는 소정의 정보 및/또는 위치 센서(105)의 시야(FOV)(125)를 규정하는 소정의 정보에 근거하여 깊이 정보 (위치 센서(105)와 물체(110) 사이의 거리(130))를 캡쳐할 것이다. 시야(125)는 위치 센서(105)에 의해 결상되는 주어진 화면의 각도 범위(angular extent)이다. 시야는 카메라 렌즈에 의해 야기되는 영상의 왜곡(예를 들면, 줌의 양)을 정의한다. 물체(110)가 위치 센서(105)로부터 더 움직이면 (즉, 거리(130)가 증가되면), 위치 센서(105)에 의해 캡쳐되는 물체(110)의 영상은 작아진다. 따라서, 위치 센서(105)까지의 물체(110)의 거리(130)는, 위치 센서(105)의 시야가 알려져 있는 상태라면 피추적 물체(110)의 알려진 실제 크기에 대한 피추적 물체(110)의 (예를 들면, 픽셀로 측정된) 영상의 크기의 비에 근거하여 결정될 수 있다. 시야(125)나 물체(110)의 크기가 알려져 있지 않다면, 예를 들어, 미지의 값은 도 9를 참조한 아래의 설명처럼 풀이될 수 있을 것이다.
다른 실시예에서, 위치 센서(105)는 Z-카메라(깊이 정보와 함께 비디오를 캡쳐할 수 있는 단렌즈 비디오 카메라)이거나 스테레오 카메라(3차원 영상들을 캡쳐할 수 있는 2 이상의 렌즈를 가지는 비디오 카메라)이다. 이러한 실시예에서, 위치 센서(105)는 물체(110)의 크기를 규정하는 정보와 함께 미리 설정되지 않은 상태로 깊이 정보를 캡쳐할 수 있다.
다른 실시예에서, 위치 센서(105)는 초음파 센서 장치나 광자 검출기와 같은 센서 장치가 된다. 이러한 위치 센서(105)는 비행시간 또는 상간섭(예를 들면, 빛이나 소리)를 이용하여 위치 센서(105)와 물체(110) 사이의 거리를 검출하고, 삼각측량법을 이용하여 물체(110)의 수직 및 수평 위치를 검출한다.
물체(110)는 하나 또는 그 이상의 관성 센서를 포함하거나 이에 연결되는 전자 장치이다. 관성 센서들은 단일 축이나 다중 축을 따라 가속도를 측정하거나 각 가속도는 물론이고 선형 가속도로 측정할 것이다. 일 실시예에서, 물체(110)는 휴대용 전자장치이거나 도 2a와 2B에 도시된 바와 같은 게임 제어기와 같은 휴대용 전자 장치의 일부이다. 다른 실시예에서, 물체(110)는 도 2c에 도시된 바와 같은 모션 캡쳐(모캡: mocap) 볼이다. 물체(110)는 사각형, 구형, 삼각형, 또는 그 이상의 복잡한 형상과 같은 임의의 형상을 가질 수 있다. 일 실시예에서, 물체(110)는 구형을 가진다.
도 2a는 본 발명의 일 실시예에 따른 볼부(205)를 가지는 게임 제어기(200)를 보여준다. 도 2B는 본 발명의 다른 실시예에 따른 볼부(215)를 가지는 다른 게임 제어기(210)를 보여준다. 어떤 실시예에서, 볼부(205, 215)는 도 1의 물체(110)에 해당한다.
볼부(205, 215)는 다른 색상을 가질 수 있으며, 다른 실시예에서, 볼부(205, 215)는 빛을 밝힐 수 있다. 구형의 볼부가 도시되었으나, 볼부(205, 215)는 부분 구형, 불완전 구형, (미식축구나 럭비에서 사용되는 것과 같은) 길죽한 공, 육면체 같은 형상 등, 시각적인 추적을 하기 위한 다른 형상을 가질 수 있다. 일 실시예에서, 볼부(205, 215)는 4cm의 직경을 가진다. 하지만, 더 크거나 작은 크기도 가능하다. 더 큰 크기는 시각적 인지에 도움이 된다. 예를 들면, 5cmm 직경의 볼은 4cm 직경의 볼보다 영상 인식을 위한 약 55% 많은 픽셀을 제공할 수 있다.
도 2c는 본 발명의 일 실시예에 따른 사용자에게 설치된 다중 모션 캡쳐 볼들(220)을 도시한다. 모션 켭쳐 볼들(220)은 사용자(225)가 입었을 때 관절 근처에서 위치 센서가 모션 캡쳐 볼들(220) 사이의 위치나 각도에 근거하여 사용자의 움직임을 캡쳐하고 규정할 수 있도록 하는 표시기이다. 일 실시예에서, 모션 캡쳐 볼들(220)은 모션 캡쳐복(motion capture suit)에 부착된다.
다시 도 1로 돌아가면, 물체(110)와 위치 센서(105)는 유/무선 연결을 통하여 계산 장치(115)에 연결된다. 유선 연결은 IEEE 1394(파이어와이어) 케이블, 이더넷 케이블, 범용 직렬 버스(USB) 케이블 들을 통하여 이루어지는 연결을 포함한다. 무선 연결은 와이파이(WiFi) 연결, 블루투스 연결, 지그비 연결, 등을 포함한다. 도시된 실시에에서, 물체(110)는 계산 장치(115)와 무선으로 연결되고 위치 센서(105)는 계산 장치(115)와 유선으로 연결된다.
계산 장치(115)는 비디오 게임 콘솔, 개인 컴퓨터, 게임 부스, 또는 다른 계산 장치가 될 수 있다. 계산 장치(115)는 게임이나 물체(110)로부터 입력되는 사용자 입력에 응답할 수 있는 다른 응용프로그램을 실행할 수 있다. 물체(110)는 추적되고 물체(110)의 움직임은 사용자 입력을 제공한다.
추적 시스템(100)이 정밀하게 물체(110)를 추적할 수 있기 전에, 추적 시스템(100)은 보정될(calibrated) 필요가 있다. 추적 시스템(100)의 보정은 위치 센서(105)의 피치(145)의 계산과 위치 센서(105)와 물체(110) 사이의 상대적인 요(yaw)의 계산을 포함한다. 물체(110)와 위치 센서(105) 사이의 상대적인 요는 물체(110)와 위치 센서(105) 사이의 차이들을 나타낸다. 일 실시예에서, 0(zero)의 요는 물체가 위치 센서(105)의 영상면에 대하여 수직하게 향할 때 위치 센서(105)와 물체(110) 사이에서 달성되는 것으로 정의된다. 이와 달리, 영의 요는 물체(110)가 위치 센서(105)를 직접적으로 향할 때 달성되는 것으로 정의될 수 있다. 위치 센서(105)가 미지의 시야(125)를 가지는 카메라라면 추적 시스템(100)의 보정은 위치 센서(105)의 시야(125)에 대한 계산을 포함한다. 물체(100)의 크기가 알려져 있지 않다면, 추적 시스템(100)의 보정은 물체(110)의 크기를 결정하는 과정을 포함할 수 있다.
관성 센서가 물체(110)에 배치되어 보정을 위한 충분한 관성 데이터를 수집하기 위해서는, 물체(110)는 사용자에 의해 이동되어야 한다. 물체(110)는 위치 센서(105)의 시야(frame of view) 내에서 움직여야 각각의 관성 데이터 측정이 이에 대응하는 위치 데이터 측정(예를 들면, 대응하는 영상 크기와 영상 위치 측정)을 가지도록 보증할 수 있다. 보정의 효과는, 물체(110)가 위치 센서(105)의 시야(125) 내에서 풍부한 움직임 경로를 통하여 움직인다면, 증대될 수 있다. 본 출원에서, 풍부한 움직임 경로는 최소 가속도 문턱값을 초과하고 적어도 2차원(예를 들면, 평면에서) 발생되는 움직임으로 정의된다. 일 실시예에서, 풍부한 움직임 경로는 위치 센서(105)를 향하고/또는 멀어지는 움직임을 포함한다. 일 실시예에서 3차원 가속도를 포함하는 풍부한 움직임 경로는 오직 2차원 가속도만을 포함하는 풍부한 움직임 경로보다 바람직하다.
수신된 관성 데이터는 관성 데이터를 수반하는 신호 노이즈의 양에 의해 정의되는 불확실성을 가진다. 물체(110)에 의해 측정된 가속도의 크기가 감소되면, 노이즈 대비 신호 비(신호를 오염시키는 노이즈 세기에 대한 신호의 세기의 비)는 증가한다. 노이즈 대비 신호비의 감소는 관성 데이터가 덜 정밀하게 만든다. 일 실시예에서, 최소 가속도 문턱값은 관성 데이터가 최소 노이즈 대비 신호비 아래로 내려가는 것을 방지하도록 설정된다.
본 발명의 일 실시예에 따른 풍부한 움직임 경로를 통해 움직이는 물체의 예는 도 3에 도시되었다. 도시된 바와 같이, 물체는 게임 제어기(310)의 단부에 부착되는 볼(305)이고 풍부한 움직임 경로(315)는 사용자 머리 근처의 원형 경로이다. 원형 경로는 원 내에서의 움직임이 정가속도를 제공하는데 유리하다. 따라서, 원형 경로는 증가된 관성 데이터를 제공한다. 전체 풍부한 움직임 경로(315)는 위치 센서의 시야(320) 내에서 발생하고 위치 센서를 향하거나 그로부터 멀어지는 움직임을 포함한다.
도 4는 본 발명의 일 실시예에 따른 추적 시스템(400)의 블록 다이아그램을 도시한다. 추적 시스템(400)은 위치 센서(405)에 물리적으로 연결되고 위치 센서(405)에 의해 추적되는 물체(410)에 무선으로 연결되는 계산 장치(415)를 포함한다. 계산 장치(415)는 위치 센서(405)에 무선으로 및/또는 물체(410)에 물리적으로 연결될 수 있다. 일 실시예에서, 추적 시스템(400)은 도 1의 추적 시스템(100)에 해당한다.
물체(410)는 물체(410) 내에 고정된 위치를 가지는 하나 또는 그 이상의 관성 센서들(420)을 포함한다. 일 실시예에서, 관성 센서들(420)은 하나 또는 그 이상의 자이로스코프들과 하나 또는 그 이상의 가속도 측정기들을 포함한다. 자이로스코프들은 주로 각 운동량을 이용하여 방향의 변경(예를 들면, 피치의 변경, 롤링의 변경, 및 비틀림의 변경)을 검출한다. 가속도 측정기들은 하나 또는 그 이상의 축을 따라 가속도를 측정한다. 자이로스코프와 가속도 측정기는 개별적인 센서가 되거나 하나의 센서로 결합될 수 있다. 일 실시예에서, 자이로스코프와 가속도 측정기는 미소 전자기계 시스템(MEMS) 장치이다. 물체(410)가 (예를 들면, 풍부한 움직임 경로를 통하여) 움직임에 따라, 관성 센서들(420)은 관성 데이터를 수집하고 이를 계산 장치(415)로 전송한다. 관성 센서들(420)에 의해 수집된 관성 데이터는 물체(410)의 기준 프레임 내에 있다.
위치 센서(405)는 비디오 카메라, Z-카메라, 스테레오 카메라, 초음파 센서 장치, 광자 검출기, 또는 영상을 캡쳐할 수 있는 다른 장치가 될 수 있다. 물체(410)가 (예를 들어 풍부한 움직임 경로를 통하여) 움직이면, 위치 센서(405)는 영상 크기와 영상 위치 정보를 포함할 수 있는 물체(410)의 위치 데이터(예를 들면, 영상들)을 캡쳐한다. 그러면, 위치 센서(405)는 위치 데이터를 계산 장치(415)로 전송한다. 일 실시예에서, 위치 센서(405)는 위치 데이터를 얻는 대로 위치 데이터를 계산 장치(415)로 실시간으로 전송한다(stream).
일 실시예에서, 물체(410)가 위치 센서(405)에 의해 추적되면, 물체(410)의 변경되는 위치들은 계산 장치(415)의 입력으로서 사용되어 게임과 컴퓨터 응용프로그램 등을 제어한다. 예를 들면, 물체(410)의 변경되는 위치들은 1인 또는 3자 관점 게임 (first person or third person perspective game) 내의 캐릭터를 제어하고, 스크린 상의 마우스 커서를 이동시키는 등을 위해 사용된다. 다른 실시예에서, 물체(410)로부터 수신된 관성 데이터는 계산 장치(415)의 입력으로서 사용된다. 이와 달리, 관성 데이터는 위치 센서(405)에 의해 획득된 위치 데이터와 결합되어 계산 장치(415)를 위한 정확하고 정밀한 입력을 제공하기 위해 사용될 수 있다.
계산 장치(415)는 비디오 게임 콘솔, 개인 컴퓨터, 게임 부스(game kiosk) 등이 될 수 있다. 일 실시예에서, 계산 장치(415)는 위치 센서(405)로부터 획득된 위치 데이터와 물체(410)으로부터 획득된 관성 데이터에 근거하여 추적 시스템(400)을 보정하는 보정 로직(432)을 포함한다. 추가적인 실시예에서, 보정 로직(432)은 관성 데이터 로직 성분(425), 위치 데이터 로직 성분(430), 및 결합 로직 성분(432)을 포함하며 각각의 성분은 보정과 관련된 다른 작업을 수행한다.
위치 데이터 로직 성분(430)은 위치 센서(405)로부터 수신한 위치 데이터(예를 들면, 영상들)을 분석한다(예를 들면, 영상들 속에서 물체(410)를 찾는다). 일 실시예에서, 물체(410)의 영상 위치는 영상 속의 물체(410)를 나타내는 픽셀 그룹을 분석함으로써 결정되어 물체의 중심을 찾는다. 일 실시예에서, 각각의 픽셀의 가우시안 분포가 계산되고 중심 위치의 하위 픽셀 정밀도를 제공하기 위해 사용된다.
일 실시예에서, 위치 데이터 로직 성분(430)은 영상 위치 정보를 위치 센서(405)의 3차원 좌표계로 변환한다. 영상 위치들은 다음의 수학식들을 이용하여 3차원 좌표계로 변환될 수 있다.
수학식에서, Xw는 국제 기준 프레임이고, Yw는 국제 기준 프레임 내의 수직 위치, Xi는 영상 속의 수평 위치, Yi는 영상 속의 수직 위치, Zw는 위치 센서와 물체 사이의 거리, f는 위치 센서의 초점 거리(시야에 비례하는 값), R은 물체의 크기(예를 들면, mm로 나타내는 구의 반경), 그리고 r은 물체의 영상 크기(예를 들면, 픽셀 내의 구의 조사 반경)이다.
위치 데이터(예를 들면, 영상 위치들)가 3차원 좌표계로 변환되면, 위치 데이터 로직 성분(430)은 시간에 대한 위치 정보의 2차 도함수를 취하여 시간에 대한 중심의 변경되는 위치에 근거하여 위치 센서(405)의 3차원 좌표계로 물체(410)의 가속도를 계산한다. 이후, 위치 데이터 로직 성분(430)은 계산된 가속도를 결합 로직 성분(435)로 제공한다. 일 실시예에서, 위치 데이터 성분(430)은 가속도를 계산하기 전에 위치 데이터(예를 들어, 영상 위치들)를 평탄화(smooth)한다.
관성 데이터 로직 성분(425)은 계산된 가속도와 결합되는 조건에 놓이도록 관성 데이터를 처리한다. 일 실시예에서, 관성 데이터 로직 성분(425)은 관성 데이터에서 중력에 의한 가속도를 제거한 후 관성 데이터를 결합 로직 성분(435)으로 넘겨준다.
일 실시예에서, 위치 센서의 기준 프레임과 관성 데이터용으로 사용된 기준 프레임 사이의 상대적인 차이들은 변하지 않을 필요가 있다. 하지만, 물체(410)의 기준 프레임은, 물체(410)가 피치와 롤 단위로 변함에 딸 위치 센서(405)의 기준 프레임에 대하여 상대적으로 변한다. 더욱이, 물체(410)가 적절한 고정된 피치와 롤을 유지하지 않을 경우, 관성 데이터는 피치상의 변화 및/또는 롤 상의 변화에 의한 가속도 측정들을 포함한다. 이러한 가속도들은 물체(410)의 위치 상의 변화를 반영하지 않고, 따라서 보정에 유용한 정보를 제공하지 못할 수 있다. 이러한 가속도들은 위치 데이터에 근거하여 계산되지 않을 수 있고, 따라서 위치 데이터 로직 성분(430)에 의해 결정되는 계산된 가속도에 반영되지 않을 수 있다. 이는 보정시 오차를 발생시킬 수 있다.
일 실시예에서, 관성 데이터 로직 성분(425)은 관성 데이터를 물체(410)의 기준 프레임 내의 남겨둔다. 관성 데이터 로직 성분(425)은 관성 데이터를 물체(410)의 기준 프레임 내에, 예를 들면 물체가 풍부한 움직임 경로를 통하여 고정된 피치와 롤을 유지한다면, 남겨둘 수 있다. 이에 더하여, 관성 데이터의 변경되는 기준 프레임은, 피치와 롤 상의 변경이 풍부한 움직임 경로에 대하여 상쇄된다면, 심각한 보정 오차를 일으키지 않을 수 있다. 피치와 롤 상의 변경이 0(zero)로 평균화된다면, 기준 프레임들 사이의 변경에 의한 오차들과 피치와 롤 상의 변경에 의한 가속도에 의한 오차들은 적절하게 상쇄될 수 있다. 이는, 예를 들어, 풍부한 움직임 경로가 사용자가 허리나 어깨를 움직이지 않고 물체(410)를 사용자의 팔꿈치를 중심으로 회전시키는 사용자 앞의 작은 원형 경로일 경우에, 달성될 수 있다. 이러한 조건하에서, 관성 데이터 로직 성분(425)은 물체(410)의 관성 데이터를 기준 프레임 내에 남겨둘 수 있다.
일 실시예에서, 관성 데이터 로직 성분(425)은 관성 데이터를 처리하여 관성 데이터를 물체(410)의 기준 프레임에서 국제 기준 프레임(중력과 일치하는 축을 가지는 기준 프레임)으로 변환한다. 중력은 관성 센서(420)에 의해 측정될 수 있는 일정한 아래 방향의 힘으로 가정한다. 관성 센서(420)에 의해 검출되는 중력의 하향힘에 근거하여, 관성 데이터는 국제 기준 프레임에 상대적인 물체(410)의 피치와 롤을 계산함으로써 국제 기준 프레임으로 변환될 수 있다. 물체(410)가 움직이면, 자이로스코프는 각 가속도들을 결정하도록 사용될 수 있고 따라서 물체(410)가 정지되었을 때 측정된 초기 피치와 롤에 상대적인 물체(410)의 피치와 롤 상의 변경을 결정하도록 사용될 수 있다. 따라서, 물체(410)가 움직이면, 관성 데이터는 국제 기준 프레임으로 변환될 수 있다. 이는 기준 프레임들 사이의 변화되는 관계에 의해 발생될 수 있는 오차들을 수정한다.
일 실시예에서, 관성 센서(420)는 물체(410)의 중심에 위치되지 않는다. 따라서, 위치 센서(405)에 의해 측정된 가속도들은 물체(410)의 중심에 근거하고 관성 센서(420)는 위치 데이터 로직 성분(430)이 위치 데이터에 근거하여 계산하는 것과 같은 가속도를 측정하지 않는다. 예를 들면, 물체(410)가 원호형태로 휘둘리면(whipped), 위치 센서(405)는 관성 센서(420)에 의해 기록되는 것보다 큰 가속도를 관측할 수 있다. 이러한 불일치는 관성 센서(420)가 원호의 중심에 대한 물체(410)의 중심보다 가까워지기 때문이다.
관성 센서(420)와 물체(410)의 중심 사이의 변위에 의한 이러한 불일치는 변위가 알려져 있는 경우 제거될 수 있다. 회전 속도(구심력으로 측정됨)는 자이로스크로에 의해 측정될 수 있고, 변위와 결합하여 물체(410)의 중심에 위치되는 관성 센서(420)에 의해 어떠한 가속도가 관측될 수 있는지 계산할 수 있다. 일 실시예에서, 결합 로직 성분(435)으로 넘겨지는 것은 이러한 가속도이다.
결합 로직 성분(435)은 위치 데이터 로직 성분(430)에서 계산된 가속도를 관성 데이터 로직 성분(425)로부터 수신한 관성 데이터와 결합하여 추적 시스템(400)을 보정한다.
관성 데이터의 계산된 가속도와의 결합은 위치 센서(405)의 피치 및 위치 센서(405)와 피추적 물체(410) 사이의 상대적 요(relative yaw)의 계산을 포함한다. 위치 센서(405)의 피치에 대하여 풀이를 하면, 위치 센서가 중력에 수직하기 정렬될 수 있는 회전 각도가 제공된다. 요에 대하여, 물체(410)는 초기에 미지의 방위를 가진다. 따라서, 물체(410)의 초기 방위는 0의 방위로서 임의적으로 선택된다. 물체(410)의 초기 0의 방위와 위치 센서(405)의 방위(요) 사이의 각도가 계산된다. 물체(410)의 0의 방위는 위치 센서(405)의 방위와 일치되도록 수정될 수 있다. 추적 시스템(400)은, 예를 들어 물체(410) 내에 개재되는 자이로스코프를 이용하여 물체(410)의 변위를 0(영) 방위로부터 모니터링함으로써 물체(410)가 향하는 방향을 검출할 수 있다.
관성 데이터는 제1 벡터 집합으로 표현될 수 있고 계산된 가속도는 제2벡터 집합으로 나타낼 수 있다. 계산된 가속도와 관성 데이터는 같은 물체의 움직임의 다른 측정값을 나타낸다. 따라서, 계산된 가속도와 관성 데이터는 제1벡터 집합 내의 각 벡터가 제2벡터 집합 내의 벡터에 대응하는 대응 벡터 집합을 포함한다. 대응 벡터들은 같은 시발점과 같은 크기를 가진다. 이 두 개의 벡터 집합들 사이의 유일한 차이점은 벡터들이 측정되는 기준 프레임이다. 결국, 관성 데이터는 기준 프레임을 정렬시킬 때 필요한 공간상의 회전을 발견함으로써 계산된 가속도와 결합될 수 있다. 위치 센서(405)의 시야가 알려져 있는 않은 일 실시예에서, 관성 데이터를 계산된 가속도와 결합을 위해 척도 변환(scaling transformation)도 수행된다.
일 실시예에서, 피치와 요는 벡터의 집합들 중 하나의 벡터들을 제1다중 잠재 각도들(피치로 나타냄)과 제2다중 잠재 각도들(요로 나타냄)만큼 회전시킴으로써 풀이될 수 있다. 제1잠재 각도들과 제2잠재 각도들의 다른 조합이 많이 시도될 수 있다. 제1벡터 집합의 회전된 벡터들과 제2벡터 집합의 대응 벡터들 사이의 가장 작은 차이점을 만드는 제1잠재 각도와 제2잠재 각도의 조합은 정확한 제1각도 및 제2각도이다. 기울기 하강 기법, 부분 최소제곱법, 최소 제곱적합법, 또는 다른 오차 최소화 기법들이 사용되어 정확한 제1각도와 제2각도를 발견하는데 시험되는 제1잠재 각도들과 제2잠재 각도들의 조합의 수를 최소화할 수 있다.
물체의 움직임을 포함하는 각 벡터 Vi는 Vi1인 제1벡터 집합과 Vi2인 제2벡터집합으로 나타낸다. 제1벡터집합 내의 모든 벡터(Vi1)에 대하여, 벡터(Vi1)는 제1 및 제2잠재 각도들에 근거하는 3차원 회전에 의해 변환되어 변환된 벡터(Vi1')로 끝난다. 차이(Dθ)는 각 벡터(Vi)에 대하여 Vi1'과 Vi2 사이에서 발견된다. 차이들은 오차 최소화기법을 이용하여 결합될 수 있다. 예를 들면, 각각 벡터 쌍에 대한 차이들을 평균할 수 있다. 일 실시예에서, 제1벡터 집합의 회전된 벡터들(Vi1')과 제2벡터 집합의 대응 벡터들(Vi2) 사이의 차이들의 평균합이 계산된다. 다른 실시예에서, 차이의 제곱의 합이 예를 들어 다음의 알고리즘을 이용하여 계산될 수 있다.
다른 오차 최소화 기법들이 벡터 차이를 결합하는데 사용될 수 있다.
가장 작은 Dθ를 야기하는 각도(θ)는 정확한 3차원 각도이다. 따라서, 3차원 각도(θ)를 구성하는 제1잠재 각도와 제2잠재 각도는 위치 센서(405)의 피치 및 위치 센서(405)와 물체(410) 사이의 상대적인 요를 나타낸다. 두 벡터 집합 사이의 각도는 집합이 회전에 상관없이 같기 때문에 벡터 집합이 회전하는 것은 문제가 되지 않는다.
다른 실시에에서, 관성 데이터는 좌표계에 일치되는 3차원 회전을 계산함으로써 계산된 가속도와 결합된다. 3차원 회전은 축(axis)과 각도로 정의될 수 있다. 3차원 회전에 대한 회전축()은 제1벡터 집합(Vi1)의 벡터의 제2벡터 집합(Vi2)과의 벡터곱을 취함으로써 다음과 같이 풀이될 수 있다.
Vi1과Vi2의 스칼라 곱은 Vi1의 Vi2로의 투사로 나타내는 스칼라(s)를 발견하도록 다음과 같이 실행될 수 있다.
3차원 회전(θ)의 각도는 다음과 같이 회전축(axis)과 스칼라를 이용하여 풀이될 수 있다.
3차원 회전은 기준 프레임으로 분해되어 그 기준 프레임의 축들의 각각을 중심으로 하는 회전의 각도들을 결정할 수 있다. 예를 들면, 3차원 회전은 yz 평면(x-축이 수직하게 되는 평면)으로 투사되어 x-축을 중심으로 발생되고 있는 회전량을 결정하고, 그리고 xz 평면(y-축이 수직하게 되는)으로 투사되어 y-축을 중심으로 발생되고 있는 회전량을 결정할 수 있다. 3차원 각도가 국제 기준 프레임으로 투사되면, 중력과 일치하는 축을 중심으로 하는 회전은 요가 되고 중력에 수직한 축을 중심으로 하고 위치 센서의 영상면 내의 회전은 피치가 된다. 3차원 회전은 예를 들어 3개의 직교 매트릭스들, 회전 매트릭스, 또는 사원수(quaternion)를 이용하는 기준 프레임들의 축들을 중심으로 하는 회전들로 분해될 수 있다.
사원수는 실수들에 대한 4차원 평균 분할 대수(four dimensional normed division algebra)를 형성한다. 사원수는 매트릭스 변환보다 빠르게 계산될 수 있기 때문에 좌표 변환들의 유용한 표현을 제공하며 결코 자신들의 직교성을 잃지 않는다. 회전의 사원수 표현은 4차원 벡터로서 기술된다.
국제 기준 프레임의 측면에서, 사원수의 용소들은 다음과 같다.
사원수는 기준 프레임들을 일치시키는데 필요한 요와 피치 회전들 모두를 완전하게 나타낸다. 하지만, 보다 직관적인 결과를 나타내기 위하여, 사원수는 피치, 요, 및 롤의 오일러 각도들로 변환될 수 있다. 롤, 피치, 및 요는 다음의 수학식에 따라 사원수로부터 계산될 수 있다.
요, 피치, 및 롤 각도들은 각각의 벡터 쌍 용으로 결정될 수 있다. 요, 피치, 및 롤 각도들은 위치 센서의 피치와 위치 센서(405)와 피추적 물체(410) 사이의 상대적인 요를 결정하도록 결합될 수 있다. 요, 피치, 및 롤 각도들은 평균, 가중 평균, 또는 다른 결합 함수를 이용하여 결합될 수 있다.
일 실시예에서, 위치 센서는 0의 롤을 가지는 것으로 가정한다. 따라서, 일 실시예에서, 벡터 쌍 용 롤도 역시 0이 되는 것으로 가정한다. 그러나, 어떤 실시에에서는, 노이즈가 0이 아닌 롤을 가리키는 벡터 쌍 내의 벡터들 사이의 차이를 야기할 수 있다. 이러한 실시예에서는, 롤은 0이 되는 것으로 가정하지 않을 수 있으며 대신에 앞에서 설명한 것과 같이 계산될 수 있다. 이와 달리, 롤은 0이 되는 것으로 가정할 수 있고 0이 아닌 롤을 가리키는 벡터 쌍들은 폐기될 수 있다. 일 실시예에서, 롤은 0이 아닌 롤이 지시되는 경우에도 0이 되는 것으로 가정할 수 있다. 벡터 쌍들을 폐기하기 보다는, 차이값은 벡터 쌍들을 위해 결정될 수 있고, 이 경우 차이는 0의 롤로 가정된 것에 의한 것이다. 가장 작은 차이값을 가지는 벡터 쌍들은 위치 센서의 피치와 위치 센서(405)와 피추적 물체(410) 사이의 상대적 요를 결정하기 위해 사용될 수 있다. 노이즈를 보상하는 다른 방법들도 사용될 수 있다.
도 5는 일 실시예에 따른 다중 게임자 환경(500)의 개략도를 도시하는 것으로, 시각 정보가 게임자들이 가지고 있는 다른 제어기들의 위치를 결정하는데 사용된다. 다중 게임자 환경(500)에서, 위치 센서(508)는 게임 영역(playing field)(518)의 영상을 획득하고 그 영상은 볼이 부착된 제어기들(C1, C2, C4, C5)의 위치를 획득하기 위해 분석된다. 거리들(dz1, dz2, dz4, dz5)은 캡쳐된 영상 내의 각각의 볼들의 형상과 크기를 분석함으로써 계산된다. 계산 장치(502)는 획득한 좌표들과 거리들을 사용하여 스크린(504) 내의 게임자들의 모습(representations)과 아바타들(512a, 512b)을 각각 만들 수 있다. 양질의 영상 인식을 위한 전형적인 거리는 약 10 피트(3미터)이다. 시각 인식을 사용하는 장점은 개량된 영상 캡쳐와 영상 인식이 제어기를 교체하지 않고도 시스템 내에 포함될 수 있다는 것이다.
도 6은 추적 시스템을 보정하는 방법(600)의 일 실시예의 흐름도이다. 보정 방법은 하드웨어(예를 들면, 전기회로, 전용 로직, 프로그램 가능한 로직, 마이크로코드 등), (처리 장치에서 구동되는 지령들과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 일 실시에에서, 보정 방법(600)은 도 1의 계산 장치(115)에 의해 수행된다. 일 실시에에서, 보정 방법(600)은 게임 또는 다른 응용프로그램이 계산 장치(115)에서 시작될 때마다 수행된다. 이와 달리, 보정 방법(600)은 비활성 기간이 지난 후 피추적 물체의 움직임이 검출될 때마다 수행될 수 있다.
도 6을 참조하면, 블록 605에서, 계산 장치는, 물체가 풍부한 움직임 경로를 통하여 움직일 때, 피추적 물체의 위치 데이터(예를 들면 영상 위치들과 영상 크기들)을 위치 센서로부터 수신한다. 일 실시예에서, 계산 장치는 위치 센서의 2차원 기준 프레임 내의 물체의 영상들을 수신한다.
블록 610에서, 계산 장치는 피추적 물체가 풍부한 움직임 경로를 통하여 움직일 때 피추적 물체로부터 관성 데이터를 수신한다. 수신된 관성 데이터는 피추적 물체의 기준 프레임 내에 있을 수 있다.
일 실시예에서, 위치 센서의 기준 프레임과 관성 데이터용으로 사용되는 기준 프레임 사이의 상대적인 차이들은 변경되지 않을 필요가 있다. 하지만, 물체의 기준 프레임은 물체의 피치와 롤이 변함에 따라 카메라의 기준 프레임에 대하여 상대적으로 변한다. 따라서, 615블록에서 추적 시스템은, 물체가 풍부한 움직임 경로를 통하여 움직일 때, 피추적 물체가 대체적으로 고정된 피치 및/또는 롤을 유지하는지 결정한다. 피추적 물체가 대체적으로 고정된 방향을 유지한다면, 보정 방법은 625 블록으로 진행된다. 그러나, 피추적 물체의 피치 및/또는 롤이 변한다면, 보정 방법은 계속하여 620 블록으로 이어진다. 일 실시예에서, 피치와 롤의 변화가 0으로 평균화된다면, 기준 프레임들 사이의 변경에 의한 오차들은 거의 상쇄될 수 있다. 이는, 예를 들어, 풍부한 움직임 경로가 원형 경로일 경우에 달성될 수 있다. 이러한 조건하에서, 보정 방법은 625 블록으로 진행된다.
620 블록에서, 위치 센서는 수신된 관성 데이터를 3차원 국제 기준 프레임으로 변환한다. 이러한 변환은 피추적 물체 내에 배치되는 관성 센서가 중력의 하향력을 측정하기 때문에 이루어질 수 있다. 625 블록에서, 영상 위치들은 (예를 들어, 위치 센서의 2차원 좌표계에서) 위치 센서의 3차원 좌표계로 변환된다.
630 블록에서, 피추적 물체의 가속도는 위치 센서의 3차원 좌표계로 계산된다. 영상 위치들의 2차 도함수는 피추적 물체의 가속도를 계산하기 위해 시간에 대하여 구할 수 있다. 일 실시예에서, 가속도는 위치 데이터가 수신될 때 실시간으로 계산된다. 이와 달리, 가속도는 주기적으로(예를 들면, 매 10 밀리초마다, 매 0.5초마다 등) 또는 풍부한 움직임이 완성될 때 계산될 수 있다.
635 블록에서, 수신된 관성 데이터는 위치 센서의 보정을 완성하기 위해 계산된 가속도와 결합된다. 관성 데이터의 계산된 가속도와의 결합은 기준 프레임을 일치시킬 필요가 있는 회전을 결정하는 것을 포함한다. 회전의 결정은 위치 센서의 피치와 위치 센서와 피추적 물체 사이의 상대적인 요의 계산을 포함한다. 일 실시예에서, 피치와 요는 제1다중 잠재각도들과 제2다중 잠재 각도들에 의한 벡터 집합들 중 하나의 벡터들을 회전시킴으로써, 그리고 기준 프레임들 사이의 가장 큰 정렬을 제공하는 제1잠재 각도와 제2잠재 각도를 선택함으로써 풀이된다. 다른 실시예에서, 피치와 요는 명시적으로 풀이된다. 피치와 요는 회전 매트릭스, 오일러 각도를 정의하는 3개의 직교 매트릭스, 단위 사원수 등을 이용하도록 풀이될 수 있다.
도 7은 추적 시스템을 보정하는 방법(700)의 다른 실시예를 나타내는 흐름도이다. 보정 방법은 하드웨어(예를 들면, 전기회로, 전용 로직, 프로그램 가능한 로직, 마이크로코드 등), (처리 장치에서 구동되는 지령들과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 일 실시에에서, 보정 방법(700)은 도 1의 계산 장치(115)에 의해 수행된다. 일 실시에에서, 보정 방법(700)은 게임 또는 다른 응용프로그램이 계산 장치(115)에서 시작될 때마다 수행된다. 이와 달리, 보정 방법(700)은 비활성 기간이 지난 후 피추적 물체의 움직임이 검출될 때마다 수행될 수 있다.
도 7을 참조하면, 블록 705에서, 계산 장치는, 물체가 풍부한 움직임 경로를 통하여 움직일 때, 피추적 물체의 위치 데이터(예를 들면 영상 위치들과 영상 크기들)을 위치 센서로부터 수신한다. 710 블록에서, 계산 장치는 피추적 물체가 풍부한 움직임 경로를 통하여 움직일 때 피추적 물체로부터 관성 데이터를 수신한다. 관성 데이터는 피추적 물체의 기준 프레임 내에 있거나 국제 기준 프레임 내에 있을 수 있다.
715 블록에서, 위치 데이터(예를 들면, 영상 위치들)는 위치 센서의 3차원 좌표계로 변환된다. 720 블록에서, 피추적 물체의 가속도는 위치 센서의 3차원 좌표계로 계산된다. 영상 위치들의 2차 도함수는 피추적 물체의 가속도를 계산하기 위해 시간에 대하여 구할 수 있다.
725 블록에서, 계산 장치는 관성 데이터가 계산된 가속도와 동기되는지 결정한다. 계산된 가속도 내의 각각의 벡터는 관성 데이터 내의 벡터에 대응한다. 하지만, 전이 시간, 계산 시간 등의 지연에 의해, 타이밍은 관성 데이터의 벡터들과 계산된 가속도의 대응 벡터들 사이에서 어긋날 수 있다. 관성 데이터가 계산된 가속도와 동기되지 않는다면, 보정 방법은 730 블록으로 진행된다. 관성 데이터와 계산된 가속도가 동기되면, 보정 방법은 735 블록으로 진행된다.
730 블록에서, 계산 장치는 제1집합(관성 데이터)의 벡터들을 벡터들의 크기에 근거하여 제2집합(계산된 가속도)의 벡터들과 시간에 가깝게 대응시킨다. 예를 들면, 제1집합 내의 벡터가 제2집합 내의 벡터로부터 1/10 초 이격되지만 2개의 벡터들은 거의 같은 크기를 가진다면, 벡터들은 시간에 맞춰 정렬될 수 있다. 제1집합의 모든 벡터들을 제2집합의 대응 벡터들과 일치시킴으로써, 관성 데이터와 계산된 가속도는 동기될 것이다.
735 블록에서, 수신된 관성 데이터는 위치 센서의 보정을 완성하기 위해 계산된 가속도와 결합된다. 관성 데이터의 계산된 가속도와의 결합은 기준 프레임을 일치시킬 필요가 있는 회전을 결정하는 것을 포함한다. 관성 데이터의 계산된 가속도와의 결합은 위치 센서의 피치와 위치 센서와 피추적 물체 사이의 상대적인 요의 계산을 포함한다.
피치와 요는 관성 데이터로부터 벡터의 각각의 쌍에 대하여 그리고 계산된 가속도로부터 대응 벡터에 대하여 개별적으로 계산될 수 있다. 신호 노이즈 때문에, 다른 벡터 쌍에 대하여 계산된 피치와 요는 동시에 일어나지 않을 수 있다. 일 실시예에서, 피치와 요는 다중 벡터 쌍에 대하여 평균되어 더 정밀한 해결책을 제시한다. 벡터 쌍들은 피치와 요의 정밀성을 더 증가시키기 위해 가중되거나 제거(filtered)될 수 있다.
일 실시예에서, 740 블록에서, 가속도 문턱값보다 작은 크기를 가지는 벡터들이 계산된 가속도와 관성 데이터에서 제거된다. 수신된 관성 데이터는 수신은 관성 데이터를 수반하는 신호 노이즈의 양에 의해 정의되는 불확실성을 가진다. 물체에 의해 측정된 가속도의 크기가 감소되면, 노이즈 대비 신호 비는 증가한다. 노이즈 대비 신호비의 감소는 관성 데이터가 덜 정밀하게 만든다. 따라서, 최소 가속도 문턱값은 오차를 최소화하도록 설정될 수 있다.
일 실시예에서, 745 블록에서는 벡터들이 크기에 근거하여 가중된다. 보다 큰 크기(보다 큰 가속도를 나타내는) 벡터들은 작은 크기를 가지는 벡터들에 비해 더 무겁게 가중된다. 벡터의 크기가 커지면 커질수록 벡터는 노이즈에 의한 영향을 덜 받게 된다(예를 들면, 노이즈 대비 신호의 비가 커진다). 따라서, 벡터들을 가중함으로써 보정의 정밀도가 증가될 수 있다. 벡터들은 크기에 근거하여 선형으로 가중되거나 크기의 제곱에 근거하여 가중되거나, 다른 가중 함수들에 따라 가중될 수 있다. 몇몇 가중 기법에 의하면, 740 블록에서 수행될 때 벡터들을 제거할 필요가 있다. 예를 들면, 가중 함수가 벡터의 크기의 제곱에 근거하고 있다면, 작은 크기의 벡터들은 거의 0으로 가중될 수 있다.
보정 방법들(600, 700)은 추적 시스템을 보정하여 사용자가 수행하기 편리하고 쉽도록 물체의 기준 프레임에 상대적인 및/또는 국제 기준 프레임에 상대적인 위치 센서의 방향을 찾는다. 두 가지 방법 모두는 계산 장치가 최소 사용자 입력에 근거하여 추적 시스템을 정밀하게 보정할 수 있도록 한다.
카메라를 구비하는 일부 추적 시스템에서, 카메라의 시야(FOV)는 이미 알려져 있을 수 있다. 하지만, 일부 추적 시스템은 카메라의 시야를 규정하는 정보를 포함하지 않을 수 있다. 예를 들면, 미지의 고정된 시야를 가지는 카메라가 추적 시스템에 구비될 수 있다. 이와 달리, 여러 개의 기지의 시야 설정을 가지는 카메라가 추적 시스템에 구비될 수 있으나, 어떤 시야 설정이 선택되었는지 즉각적으로 분명해지지 않을 수 있다. 카메라의 시야가 알려져 있지 않은 이와 같은 실시예에서, 다른 시야들은 실제 시야가 결정될 때가지 추측될 수 있거나 시야가 풀이될 수 있다.
카메라의 시야가 알려져 있지 않은 일 실시예에서, 여러 개의 다른 시야들이 있다고 가정한다. 보정 방법들(600, 700)은 각각의 가정된 시야에 대하여 독립적으로 수행될 수 있다. (예를 들면 위치 센서의) 회전된 기준 프레임과 회전되지 않은 기준 프레임(예를 들면, 국제 기준 프레임) 사이의 가장 작은 차이를 제공하는 가정된 시야는 정확한 시야가 될 수 있는 것으로 결정된다.
일부 추적 시스템에서, 피추적 물체의 크기는 알려져 있지 않을 수 있다. 이러한 실시예에서, 다른 물체의 크기들은 실제 물체 크기가 결정될 때가지 추측될 수 있거나 물체의 크기가 풀이될 수 있다. 물체의 크기가 알려져 있지 않은 일 실시예에서, 여러 개의 물체 크기가 가정된다. 보정 방법들(600, 700)은 각각의 가정된 물체 크기에 대하여 개별적으로 수행될 수 있다. (예를 들면 위치 센서의) 회전된 기준 프레임과 회전되지 않은 기준 프레임(예를 들면, 국제 기준 프레임) 사이의 가장 작은 차이를 제공하는 가정된 시야는 정확한 시야가 될 수 있는 것으로 결정된다.
미지의 시야를 풀이하는 하나의 방법은 카메라의 영상면으로 미지의 크기의 피추적 구를 타원형으로 투사하는 것이 근거한다. 이와 유사한 방법도 시야가 알려져 있는 경우에 미지의 구의 크기를 풀이하는데 이용될 수 있다. 시선에 수직하지 않은 평면에 구가 놓인다면, 타원형으로 투사될 것이다. 이러한 현상은, 본 발명의 일 실시예에 따른, 카메라의 영상면(815) 내의 다른 지점들의 카메라의 결상 면으로 투사되는 구를 보여주는 도 8에서 관측될 수 있다. 도시된 바와 같이, 완전한 원(805)은 구가 영상면(815)의 중심(810)에 위치될 때 카메라의 결상 면으로 투사된다. 구가 영상면(815)의 중심(810)에서 멀어지면, 구는 타원으로 투사된다. 각각의 타원은 장축(825)와 단축(820)에 의해 표현될 수 있다. 도시된 바와 같이, 타원의 단축(820)은 언제나 시야(815)의 중심(810)을 가리킨다. 구가 영상면(815)의 중심(810)에서 멀어지면 멀어질수록, 타원의 단축(820)은 작아지게 된다.
도 9는 구가 카메라의 결상면으로 타원형으로 투사되는 것을 이용하여 카메라의 시야를 결정하는 방법(900)의 일 실시예의 흐름도를 도시한다. 결정 방법(900)은 카메리의 시야가 알려져 있다면 미지의 물체 크기를 결정하는데 사용될 수 있다. 결정 방법은 하드웨어(예를 들면, 전기회로, 전용 로직, 프로그램 가능한 로직, 마이크로코드 등), (처리 장치에서 구동되는 지령들과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 일 실시에에서, 결정 방법(900)은 도 1의 계산 장치(115)에 의해 수행된다.
도 9를을 참조하면, 블록 905에서, 계산 장치는,구의 영상 데이터를 수신한다. 구의 영상 데이터는, 단축이 카메라의 중심을 가리키는 타원으로서 카메라의 결상 면에 투사된다. 910 블록에서, 계산 장치는 카메라의 영상면 내의 구의 위치를 결정한다. 타원의 중심이 위치되고 영상의 중심으로부터의 거리로서 표현된다. 915 블록에서, 타원의 장축(a)과 단축(b)은 하기의 수학식에 의해 계산된다.
이때, ix는 (예를 들어, 픽셀들 내의) 영상의 수평 크기, iy는 (예를 들어, 픽셀들 내의) 영상의 수직 크기, Z는 카메라와 구 사이의 거리, r은 구의 반경, 그리고 f는 타원형 투사의 중심으로부터 (예를 들어, 픽셀들 내의) 영상의 중심까지의 거리를 나타낸다.
수학식 16과17은, 본 발명의 일 실시예에 따라, 카메라의 영상면(1015)으로 타원(1010)으로 투사되는 구(1005)를 도시하는 도 10을 참조하면 더 잘 이해될 수 있다.
다시 도 9를 참조하면, 920 블록에서 영상 내의 투사의 위치와 타원의 장축과 단축의 비에 근거하여 카메라의 시야를 계산한다. 단축에 대한 장축의 비는 영상 내의 타원의 중심 위치에 좌우된다. 따라서, 장축과 단축의 비는 영상 내의 타원의 위치에 근거하여 결정될 수 있다. 더욱이, 구와 카메라 사이의 거리가 구의 반경보다 훨씬 크다고 가정할 수 있다. 이와 같이 가정하면, (Z2-r2)은 거의 Z2와 같게 된다. 따라서, 장축과 단축의 비는 다음과 같이 쓸 수 있다.
거리(f)는 다음과 같이 쓸 수 있다.
거리(f)는 시야로 변환될 수 있다. 거리(f)는 표준 삼각함수들을 이용하여 다음과 같이 수평 시야(FOVx)와 수직 시야(FOVy)를 계산하는데 사용될 수 있다.
여기서, w는 픽셀들 내의 영상의 폭이며, h는 픽셀들 내의 영상의 높이이다.
925 블록에서, 계산된 시야는 잠재적인(possible) 시야 설정들과 비교된다. 이후, 실제 시야는 계산된 시야에 가장 가까운 시야 설정의 시야가 되는 것으로 결정된다. 투사된 영상 내의 구의 타원형 왜곡이 사소한(예를 들면, 타원의 장축과 단축 사이에 약간의 차이만이 있는) 일 실시예에서, 계산된 시야 내의 오차는 크다. 이러한 일 실시예에서, 계산된 시야는 시야 범위가 된다. 실제 시야는 시야 범위 내의 어느 곳으로도 들어갈 수 있다. 시야 범위는 시야 설정들과 비교되고 시야는 계산된 시야 범위 내에 들어가는 시야 설정들이 되는 것으로 결정된다.
930 블록에서, 시야는 카메라를 사용하여 3차원 공간 내에서 구를 추적하는데 사용된다. 이후 결정 방법은 끝난다.
도 11은본 발명의 일 실시예에 따른 제어기 위치를 결정하는데 사용될 수 있는 하드웨어와 사용자 인터페이스를 도시한다. 도 11은 본 발명의 일 실시예에 따라 3차원 제어기 위치 시스템을 구현하기에 적합한 소니의 플레이스테이션 3 오락 장치와 콘솔의 전체 시스템 구성을 개략적으로 도시한다. 시스템 장치(1400)는 시스템 장치(1400)에 연결되는 다양한 주변장치들을 구비한다. 시스템 장치(1400)는 셀 프로세서(1428), 램버스(Rambus)의 동적 랜덤 억세스 메모리(XDRAM) 장치(1426), 전용 비디오 랜덤 억세스 메모리(VRAM) 장치(1432)를 구비한 현실 합성 그래픽 장치(Reality Synthesizer graphics unit)(1430), 및 입출력 브리지(1434)를 포함한다. 시스템 장치(1400)는 또한 입출력 브리지(1434)를 통하여 연결될 수 있는 디스크(1440a) 를 읽기 위한 블루레이 디스크 BD-ROM 광디스크 리더기(1440)와 착탈형 하드디스크 드라이브(HDD)(1436)를 포함한다. 시스템 장치(1400)는 고밀도 플래시 메모리 카드들을 읽기 위한 메모리 카드 리더(1438), 메모리 스틱의 메모리 카드들, 및 입출력 브리지(1434)를 통하여 비슷하게 연결될 수 있는 다른 장치 등을 선택적으로 포함한다.
입출력 브리지(1434)는 복수의 범용 시리얼 버스(USB) 2.0 포트들(1424), 기가바이트의 이더넷 포트(1422), IEEE 802.11b/g 무선망(와이파이) 포트(1420), 그리고 최대 7개의 블루투스 연결을 지원할 수 있는 블루투스 무선 링크 포트(1418)에도 연결된다.
사용중에, 입력 브리지(1434)는 하나 또는 그 이상의 게임 제어기들(1402, 1403)로부터 수신되는 모든 무선, USB 및 이더넷 데이터를 다룬다. 예를 들어 사용자가 게임을 하고 있을 때, 입출력 브리지(1434)는 블루투스 링크를 통하여 게임 제어기(1402, 1403)로부터 데이터를 수신하고 이에 따라 현재 게임의 상태를 갱신하는 셀 프로세서(1428)로 수신된 데이터를 송신한다.
무선, USB, 및 이더넷 포트들은, 원결제어기(1404), 키보드(1406), 마우스(1408), 소니의 플레이스테이션 포터블(Sony Playstation Portable)의 오락 장치와 같은 휴대용 오락기(1410), 아이토이(EyeToy)의 비디오 카메라(1412)와 같은 비디오 카메라, 마이크 헤드셋(1414), 그리고 마이크(1415) 등과 같은 게임 제어기들(14020, 1403) 이외의 다른 주변장치들을 위한 연결을 제공한다. 따라서, 이러한 주변장치들은 원칙적으로 시스템 장치(1400)에 무선으로 연결될 수 있는데, 예를 들면, 마이크 헤드셋(1414)이 블루투스 링크를 통하여 통산하는 반면 휴대용 오락 장치(1410) 는 와이파이 애드호크(Wi-Fi ad-hoc) 연결을 통하여 통신할 수 있다.
이러한 인터페이스들의 규정은 플레이스테이션 3 장치가 디지털 비디오 녹화기(DVR), 셋톱 박스, 디지털 카메라, 휴대용 매제 재상기(PMP), VoIP 전화기, 휴대 전화기, 프린터, 그리고 스캐너 등과 같은 다른 주변장치들과 잠재적으로 호환된다는 것을 의미한다.
더욱이, 유산 메모리 카드 리더기(1416)는 USB 포트(1424)를 통하여 시스템 장치에 연결되어 플레이스테이션이나 플레이스테이션 2 장치에서 사용되는 종류의 메모리 카드(1448)를 읽을 수 있다.
게임 제어기들(1402, 1403)은 블루투스 링크를 경유하여 시스템 장치91400)과 무선으로 통신하거나 USB 포트에 연결되도록 작동될 수 있어 게임 제어기들(1402, 1403)의 배터리를 충전하는 전력을 공급할 수 있다. 게임 제어기들(1402, 1403)은 메모리, 프로세서, 메모리 카드 리더기, 플래시 메모리와 같은 영구 메모리, LED나 적외선 조명 등과 같은 광 발생기, 초음파 통신을 위한 마이크와 스피커, 음향실, 디지털 카메라, 내부 클럭, 게임 콘솔을 마주보는 구형 단면과 같은 인식 가능한 형상, 그리고 블루투스, 와이파이 등의 통신규약을 이용하는 무선 통신도 포함할 수 있다.
게임 제어기(1402)는 양손으로 사용할 수 있도록 설계된 제어기이며 게임 제어기(1403)는 도 2a와 2B에 도시된 것과 같은 볼이 부착된 한 손용 제어기이다. 하나 또는 그 이상의 아날로그 조이스틱들과 기존의 제어 버튼 이외에, 게임 제어기는 3차원 위치 결정에 영향을 받기 쉽다. 결과적으로, 게임 제어기의 사용자의 몸짓과 움직임들은 기존의 버튼니아 조이스킥 명령 이외에 또는 이를 대신하여 게임에 입력으로 전환될 수 있다. 플레이스테이션 휴대용 장치와 같은 무선으로 작동될 수 있는 다른 주변장치들은 제어기로서 사용될 수 있다. 플레이스테이션 휴대용 장치의 경우, 추가적인 게임이나 제어 정보(예를 들면, 제어 지시들이나 생명의 수)가 장치의 스크린으로 제공될 수 있다. 다른 대체 또는 보완 제어 장치들도 댄스 매트(미도시), 광선총(미도시), 조향휠과 페달(미도시)이나, 속전속결 퀴즈 게임용 단일 또는 여러 개의 큰 버튼들과 같은 맞춤형 제어기 등으로 사용될 수 있다.
원격 제어기(1404)는 블루투스 링크를 경유하여 시스템 장치(1400)에 무선으로 통신하도록 작동될 수 있다. 무선 제어기(1404)는 블루레이 디스크 BD-ROM 리더기(1440)의 작동과 디스크의 컨텐츠 안내에 적합한 제어를 포함한다.
블루레이 디스크 BD-ROM 리더기(1440)는, 기존의 미리 기록되고 기록가능한 CD와 소위 슈퍼 오디오 CD 이외도 플레이스테이션과 플레이스테이션 2 장치에 호환되는 CD-ROM을 읽도록 작동될 수 있다. 리더기(1440)는 또한 기존의 미리 기록되고 기록가능한 CD 이외도 플레이스테이션 2와 플레이스테이션 3 장치들과 호환되는 DVD-ROM을 읽도록 작동될 수 있다. 또한 리더기(1440)는 기존의 미리 기록되고 기록가능한 CD와 기록 가능한 블루레이 디스크는 물론 플레이스테이션 2 장치들과 호환되는 BD-ROM을 읽도록 작동될 수 있다.
시스템 장치(1400)는, 플레이스테이션 3 장치에 의해 생성되거나 해독된 오디오와 비디오를, 오디오 및 비디오 커넥터들을 통하여, 현실 합성 그래픽 장치(1430)를 경유하여 모니터 또는 표시장치(1444)와 하나 또는 그 이상의 스피커(1446)를 구비한 텔레비전과 같은 표시 및 음성 출력 장치(1442)로 공급하도록 작동될 수 있다. 오디오 커넥터들(1450)은 기존의 아날로그 및 디지털 출력들을 포함할 수 있는 반면 비디오 커넥터들(1452)은 콤포넌트 비디오, S-비디오, 콤포지트 비디오, 그리고 하나 또는 그 이상의 고선명 멀티미디어 인터페이스(HDMI) 출력 등을 다양하게 포함할 수 있다. 따라서, 비디오 출력은 PAL, NTSC, 720p, 1080i, 또는 1080p 고선명과 같은 포맷이 될 수 있다.
오디오 프로세싱(생성, 해독 등)은 셀 프로세서(1428)에 의해 수행된다. 플레이스테이션 3 장치의 운영체계는 블루레이 디스크로부터 Dolby 5.1 서라운드 사운드, Dolby Theatre Surround(DTS), 및 7.1 서라운드 사운드 해독을 지원한다.
본 실시예에서, 비디오 카메라(1412)는 단일 촬상장치(CCD), LED 지시기, 하드웨어 기반의 데이터 압축 및 부호기 장치를 포함함으로써 압축된 비디오 데이터는 시스템 장치(1400)에 의해 해독하기 위한 내부 영상(intra-image) 기반 MPEG(동영상 전문가 그룹) 표준과 같은 적절한 포맷으로 전송될 수 있다. 카메라 LED 지시기는 시스템 장치(1400)으로부 수신되는 적절한 제어 데이터에 응답하여 조명하도록, 예를 들면 반대 조명 조건들을 나타내도록 배열된다. 비디오 카메라(1412)의 실시예들은 USB, 블루투스, 또는 와이파이 통신 포트를 통하여 시스템 장치(1400)에 다양하게 연결될 수 있다. 비디오 카메라의 실시예들은 하나 또는 그 이상의 관련 마이크들을 포함할 수 있고 오디오 데이터를 전송할 수 있다. 비디오 카메라의 실시예들에서, CCD는 고선명 비디오 캡쳐에 적합한 해상도를 가질 수 있다. 사용 중에, 비디오 카메라에 의해 캡쳐된 영상들은 예를 들어 게임 속에 합체되거나 게임 제어 입력으로 해석될 수 있다. 다른 실시예에서, 카메라는 적외선 빛을 검출하기에 적합한 적외선 카메라이다.
일반적으로, 시스템 장치(1400)의 통신 포트들 중 하나를 경유하여 비디오 카메라나 원격 제어장치 등과 같은 주변 장치와 성공적으로 데이터 통신이 이루어지기 위해서는, 장치 드라이버와 같은 적절한 소프트웨어가 제공되어야 한다. 장치 드라이버 기술은 기지의 사실이며, 장치 드라이버나 이와 유사한 소프트웨어 인터페이스가 설명된 본 실시예에서 필요할 수 있음을 당업자가 알 것이라는 설명을 제외하고는 본 명세서에서는 설명하지 않는다.
도 12는지시들을 처리하는데 사용될 수 있는 본 발명의 일 실시예에 따른 추가적인 하드웨어를 도시한다. 도 11의 셀 프로세서(1428)는, 메모리 제어기(1560)과 이중 버스 인터페이스 제어기(1570A, B)를 포함하는 외부 입출력 구조들 전력 처리 요소(PPE)(1550)로 불리는 주 프로세서 상승 처리 요소(SPE)로 불리는 8개의 코프로세서들(1510A-H); 그리고 요소 연결 버스(EIB)(1580)로 불리는 상기 요소들을 연결하는 원형 데이터 버스 등 4개의 기본적인 요소를 포함하는 구성을 가진다. 셀 프로세서의 총 부동점 수행은 플레이스테이션2 장치의 이모션 엔진의 6.2 GFLOP와 비교되는 218 GFLOPS이다.
전력 처리 요소(PPE)(1550)는 3.2 GHz의 내부 클럭으로 구동되는 양방향 동시 다중 스레딩 전력 1470 복종 파워피시 코어(two-way simultaneous multithreading Power 1470 compliant PowerPC core(PPU)(1555)에 기초를 두고 있다. 이는 512kB 수준 2(L2) 캐시와 32 kB 수준 1(L1) 캐시를 포함한다. PPE(1550)는 3.2GHz에서 클럭 주기마다 8개의 단일 위치 작동을 25.6GFLOP로 전환할 수 있다. PPE(1550)의 기본적인 역할은, 계산 부하 대부분을 처리하는 상승 처리 요소(1510A-H)용 제어기로서 작동하는 것이다. 작동 중에, PPE(1550)는 작업 큐, 상승 처리 요소(1510A-H)용 스케쥴 작업, 그리고 이러한 진행의 모니터링을 유지한다. 따라서, 각각의 상승 처리 요소(1510A-H)는 작업을 가져오고, 실행하며 PPE(1550)와 동기시키는 역할을 하는 커널을 구동한다.
각각의 상승 처리 요소(SPE)(1510A-H)는 각각의 상승 처리장치(SPU)(1520A-H), 그리고 동적 메모리 억셋, 제어기(DMAC)(1542A-H), 각각의 메모리 관리장치(MMU)(1544A-H), 및 버스 인터페이스(미도시)를 순서대로 포함하는 각각의 메모리 흐름 제어기(MFC)(1540A-H)를 포함한다. 각 SPU(1520A-H)는 3.2GHz에서 클럭되고 주로 4GB까지 연장될 수 있는 256kB 로컬 RAM(1530A-H)을 포함하는 RISC 프로세서이다. 각 SPE는 단일 정밀 수행의 이론적인 25.6GFLOPS를 제공한다. SPU는 단일 클럭 주기에서 4개의 단일 정밀 부동점 부재들, 4개의 32비트 수들, 8개의 16비트 정수들, 또는 16개의 8비트 정수들로 작동될 수 있다. 동일한 클럭 주기에서, 메모리 작동을 수행할 수 있다. SPU(1520A-H)는 시스템 메모리 XDRAM(1426)를 직접적으로 억세스하지 않고 SPU(1520A-H)에 의해 형성되는 64비트 주소들은 DMA 제어기(1542A-H)에게 요소 연결 버스(1580)와 메모리 제어기(1560)를 통하여 메모리를 억세스할 것을 지시하는 MFC(1540A-H)로 통과된다.
요소 연결 버스(EIB)(1580)는 상기 프로세서 요소들, 즉 PPE(1550), 메모리 제어기(1560), 이중 버스 인터페이스(1570A, B), 및 8개의 SPE(1510A-H) 등 전체 12개의 관련장치들(participants)을 연결하는 셀 프로세서(1428)로 내재되는 논리적인 원형 통신 버스이다. 관련장치들은 클럭 주기당 9비트의 속도로 읽거나 버스에 기록할 수 있다. 앞에서 설명한 바와 같이, 각 SPE(15120A-H)는 긴 읽기 또는 쓰기 시퀀스를 스케쥴하는 DMAC(1542A-H)를 포함한다. EIB는 4개의 채널을 가지며, 각각의 2개는 시계방향과 반시계방향이다. 따라서 12개의 관련장치에 관하여, 임의의 2개의 관련장치 사이의 가장 긴 단계형 데이터 흐름은 적절한 방향으로 6개의 단계이다. 따라서, 12개의 슬롯용 이론적인 피크 순간 EIB 대역폭은, 관련장치들 사이의 중재를 통하여 충분히 활용하는 경우에, 클럭당 96B이다. 이는 3.2 GHz의 클럭 속도에서 307.2 GB/s(초당 기가바이트)의 이론적인 피크 대역폭과 같다.
메모리 제어기(1560)는 램버스사에 의해 개발된 XDRAM 인터페이스(1562)를 포함한다. 메모리 제어기는 램버스 XDRAM(1426)을 25.6 GB/s 의 이론적인 피크 대역폭과 인터페이스한다.
이중 버스 인터페이스(1570A, B)는 램버스 FlexIO 시스템 인터페이스(1572A, B)를 포함한다. 인터페이스는 각 8비트 폭을 가지는 12개의 채널로 구성되며 구중에서 5개의 경오는 인바운드되고 7개는 아웃바운드된다. 이는 제어기(170A)를 통한 입출력 브리지(700)와 제어기(170B)를 통한 현실 시뮬레이터 그래픽 장치(200) 사이에서 62.4 GB/s (36.4 GB/s 아웃바운드, 26 GB/s 인바운드)의 이론적인 피크 대역폭을 제공한다.
셀 프로세서(1428)에 의해 현실 시뮬레이터 그래픽 장치(1430)로 전송된 데이터는 전형적으로 정점을 그리라는, 텍스쳐를 다각형에 적용하라는, 조명 조건을 구체화하라는 등의 일련의 명령이 되는 표시 목록을 포함할 것이다.
상기의 설명은 예시를 위한 것이지 한정하기 위한 것이 아닌 것으로 이해되어야 한다. 많은 다른 실시예들은 당업자들이 상기의 설명을 읽고 이해할 수 있음은 명백하다. 본 발명이 구체적인 예시적인 실시예를 참조하여 설명되었지만, 본 발명이 설명된 이러한 실시예로 한정되는 것이 아니라 본 발명의 정신과 첨부된 특허청구의 범위의 범위 내에서 수정 및 변경이 실시될 수 있음을 인식하게 될 것이다. 따라서, 명세서와 도면들은 제한적인 개념이라기 보다는 예시적인 것으로 간주되어야 한다. 따라서, 본 발명의 범위는 이러한 특허청구의 범위의 대상의 균등물의 전체 범위와 함께 첨부된 특허청구의 범위를 참조하여 결정되어야 한다
Claims (40)
- 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법에 있어서,
물체가 풍부한 움직임 경로를 통하여 움직일 때, 비디오 게임 콘솔이 위치 센서로부터 피추적 물체의 위치 데이터를 수신하는 단계,
상기 피추적 물체가 상기 풍부한 움직임 경로를 통하여 움직일 때, 상기 비디오 게임 콘솔이 상기 피추적 물체에 포함되는 관성센서로부터 관성 데이터를 수신하는 단계,
상기 위치 데이터를 상기 위치 센서의 3차원 좌표계로 변환하는 단계,
상기 피추적 물체의 가속도를 상기 위치 데이터를 기반으로 상기 위치 센서의 3차원 좌표계로 계산하는 단계, 및
상기 관성 데이터를 상기 계산된 가속도에 의해 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제1항에 있어서,
상기 위치 센서는 비디오 카메라이며, 상기 위치 데이터는 상기 위치 센서에 의해 캡처되는 영상에서 상기 물체의 다수의 위치들과 크기들에 대한 정보를 포함하고,
상기 위치 데이터를 변환하는 단계는 상기 영상에서 상기 물체의 위치에 대응하는 상기 물체의 크기 및 상기 비디오 카메라의 시야에 근거하여, 상기 물체의 다수의 위치들을 상기 위치 센서의 3차원 좌표계로 변환하는 단계를 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제1항에 있어서,
상기 풍부한 움직임 경로는 상기 위치 센서를 향하는 적어도 하나의 움직임 또는 상기 위치 센서에서 멀어지는 적어도 하나의 움직임을 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제1항에 있어서,
상기 풍부한 움직임 경로는 최소 가속도 문턱값을 초과하는 가속도를 야기하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제1항에 있어서,
상기 피추적 물체는 상기 풍부한 움직임 경로를 통하여 움직일 때 고정된 피치와 롤을 유지하고, 상기 피치와 롤은 상기 관성 데이터를 3차원 좌표계로 변환하지 않고도 상기 관성 데이터가 상기 계산된 가속도에 의해 조정될 수 있도록 하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제1항에 있어서,
상기 수신된 관성 데이터를 중력과 일치되는 축(axis)을 가지는 3차원 국제 좌표계로 변환하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제1항에 있어서,
상기 관성 데이터는 제1벡터 집합으로 표현되고, 상기 계산된 가속도는 제2벡터 집합으로 표현되고,
상기 관성 데이터를 상기 계산된 가속도에 의해 조정하는 단계는:
상기 위치 센서의 피치를 나타내는, 상기 제1벡터 집합과 상기 제2벡터 집합 사이의 제1각도를 결정하는 단계, 및
상기 위치 센서와 상기 피추적 물체 사이의 상대적인 요를 나타내는, 상기 제1벡터 집합과 상기 제2벡터 집합 사이의 제2각도를 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제7항에 있어서,
상기 관성 데이터를 상기 계산된 가속도에 의해 조정하는 단계는;
피치를 나타내기 위한 제1 다수의 잠재 각도들과 요를 나타내기 위한 제2 다수의 잠재 각도들을 선택하는 단계;
상기 제1벡터 집합을 상기 제1다수의 잠재 각도들 중 하나와 상기 제2다수의 잠재 각도들 중 하나의 각 조합만큼 회전시키는 단계,
상기 제1다수의 잠재 각도들 중 하나와 상기 제2다수의 잠재 각도들 중 하나의 각 조합을 위해 상기 회전된 제1벡터 집합과 상기 제2벡터 집합 사이의 차이점을 발견하는 단계, 및
상기 회전된 제1벡터 집합과 제2벡터 집합 사이의 최소의 차이를 야기하는 제1잠재 각도와 제2잠재 각도의 조합을 상기 제1각도와 상기 제2각도로 규정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제7항에 있어서,
상기 관성 데이터를 상기 계산된 가속도에 의해 조정하는 단계는:
상기 제1벡터 집합과 상기 제2벡터 집합 사이의 3차원 각도를 결정하는 단계, 및
상기 3차원 각도를 상기 제1각도와 상기 제2각도로 분해하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제7항에 있어서,
상기 제1벡터 집합과 상기 제2벡터 집합 내의 각각의 벡터에 대하여, 최소 문턱값보다 작은 크기를 가지는 벡터가 있다면 제거하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제7항에 있어서,
상기 제1벡터 집합과 상기 제1벡터 집합 내의 각 벡터를 상기 벡터의 크기에 근거하여 가중하는 단계를 더 포함하고, 이때, 더 큰 크기를 가지는 벡터들은 작은 크기를 가지는 벡터들보다 더 무겁게 가중되는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제7항에 있어서,
동일한 시간에서 상기 제1벡터 집합의 각 벡터들의 크기와 상기 제2벡터 집합의 각 벡터들의 크기를 비교하는 단계, 및
동일한 시간에서 상기 제1벡터 집합의 제1벡터가 상기 제2벡터 집합의 제2벡터와 그 크기가 같다면, 상기 제1벡터는 3차원 국제 좌표계로 움직임을 나타내고 상기 제2벡터는 상기 위치 센서의 3차원 좌표계로 상기 움직임을 나타내는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제1항에 있어서,
상기 위치 센서는 카메라, Z-카메라, 초음파 센서, 또는 광자 센서 중 하나인 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제1항에 있어서,
상기 관성 데이터는 고정된 변위를 가지는 관성 센서에 의해 상기 피추적 물체의 중심으로부터 수집되고,
상기 관성 데이터, 또는 자이로스코프에 의해 제공되는 측정값들과 가속도미터와 상기 중심 사이의 기지의 거리에 근거한 상기 계산된 가속도 중 하나에게 오프셋을 적용하는 단계를 더 포함하고, 이 때 상기 오프셋은 상기 고정된 변위를 보상하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제1항에 있어서,
상기 위치 센서의 시야는 미지이며,
상기 위치 센서의 상기 시야를 풀이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 제15항에 있어서,
상기 시야를 풀이하는 단계는:
상기 위치 센서의 시야를 계산하기 위한 하나 또는 그 이상의 잠재 시야를 가정하는 단계,
각 잠재 시야에 대하여, 상기 관성 데이터를 상기 계산된 가속도에 의해 조정을 시도하는 단계, 및
상기 관성 데이터가 상기 위치 센서의 상기 시야로서 상기 계산된 가속도에 의해 조정될 수 있는 상기 잠재 시야를 규정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 추적 시스템을 보정하는 방법. - 삭제
- 삭제
- 삭제
- 처리 시스템에 의해 실행될 때, 상기 처리 시스템은:
물체가 풍부한 움직임 경로를 통하여 움직일 때 장치 위치 센서로부터 피추적 물체의 위치 데이터를 수신하는 단계,
상기 위치 데이터를 상기 위치 센서의 3차원 좌표계로 변환하는 단계,
상기 피추적 물체의 가속도를 상기 위치 데이터를 기반으로 상기 위치 센서의 상기 3차원 좌표계로 계산하는 단계, 및
상기 피추적 물체에 포함되는 관성 센서로부터 수신한 관성 데이터를 상기 계산된 가속도에 의해 조정하는 단계를 포함하는 방법을 수행하도록 하는 지령들을 포함하는 컴퓨터로 읽을 수 있는 저장매체. - 제20항에 있어서,
상기 위치 센서는 비디오 카메라이며, 상기 위치 데이터는
상기 위치 센서에 의해 캡처되는 영상에서 상기 물체의 다수의 위치들과 크기들에 대한 정보를 포함하고,
상기 위치 데이터를 변환하는 단계는 상기 영상에서 상기 다수의 위치들의 각각을 상기 영상에서 대응하는 크기들과 상기 비디오 카메라의 시야에 근거하여 상기 위치 센서의 3차원 좌표계로 변환하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체. - 제20항에 있어서,
상기 관성 데이터는 제1벡터 집합으로 표현되고, 상기 계산된 가속도는 제2벡터 집합으로 표현되고,
상기 관성 데이터를 상기 계산된 가속도에 의해 조정하는 단계는:
상기 제1벡터 집합과 상기 제2벡터 집합 사이의 상기 위치 센서의 피치를 나타내는 제1각도를 결정하는 단계, 및
상기 위치 센서와 상기 피추적 물체 사이의 상대적인 요를 나타내는 상기 제1벡터 집합과 상기 제2벡터 집합 사이의 제2각도를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체. - 제20항에 있어서,
상기 위치 센서의 시야는 미지이며, 상기 피추적 물체는 구이고,
상기 방법은:
상기 위치 센서의 영상면으로 상기 구의 타원형 투사를 포함하는 상기 구의 영상 데이터를 수신하는 단계,
상기 영상 데이터로부터 상기 위치 센서의 상기 영상면의 상기 구의 위치를 결정하는 단계,
상기 타원형 투사의 장축과 단축을 계산하는 단계, 및
상기 구의 상기 위치와 상기 장축과 상기 단축 사이의 차이에 근거하여 상기 위치 센서의 시야를 계산하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체. - 하나 또는 그 이상의 관성 센서들을 포함하고, 풍부한 움직임 경로를 통하여 움직일 때 관성 데이터를 수집하고, 상기 관성 데이터를 계산 장치로 전송하는 피추적 물체,
상기 피추적 물체가 상기 풍부한 움직임 경로를 통하여 움직일 때 상기 피추적 물체의 위치 데이터를 수집하고 상기 위치 데이터를 상기 계산 장치로 전송하는 위치 센서, 및
상기 관성 데이터와 상기 위치 데이터를 수신하고, 상기 위치 데이터를 상기 위치 센서의 3차원 좌표계로 변환하고, 상기 피추적 물체의 가속도를 상기 위치 데이터를 기반으로 상기 위치 센서의 상기 3차원 좌표계로 계산하고, 그리고 상기 관성 데이터를 상기 계산된 가속도에 의해 조정하는 계산장치를 포함하는 추적 시스템. - 제24항에 있어서,
상기 위치 센서는 비디오 카메라이며, 상기 위치 데이터는 상기 위치 센서에 의해 캡처되는 영상에서 상기 물체의 다수의 위치들과 크기들에 대한 정보를 포함하고,
상기 계산 장치는 상기 영상에서 상기 다수의 위치들의 각각을 상기 영상에서 대응하는 크기들과 상기 비디오 카메라의 시야에 근거하여 상기 위치 센서의 3차원 좌표계로 변환하는 것을 특징으로 하는 추적 시스템. - 제25항에 있어서,
상기 풍부한 움직임 경로는 상기 위치 센서를 향하는 적어도 하나의 움직임 또는 상기 위치 센서에서 멀어지는 적어도 하나의 움직임을 포함하는 것을 특징으로 하는 추적 시스템. - 제25항에 있어서,
상기 풍부한 움직임 경로는 최소 가속도 문턱값을 초과하는 가속도를 야기하는 것을 특징으로 하는 추적 시스템. - 제25항에 있어서,
상기 수신된 관성 데이터를 중력과 일치되는 축(axis)을 가지는 3차원 국제 좌표계로 변환하는 계산장치를 터 포함하는 것을 특징으로 하는 추적 시스템. - 제25항에 있어서,
상기 관성 데이터는 제1벡터 집합으로 표현되고, 상기 계산된 가속도는 제2벡터 집합으로 표현되고,
상기 계산 장치는, 상기 제1벡터 집합과 상기 제2벡터 집합 사이의 상기 위치 센서의 피치를 나타내는 제1각도를 결정하고, 상기 위치 센서와 상기 피추적 물체 사이의 상대적인 요를 나타내는 상기 제1벡터 집합과 상기 제2벡터 집합 사이의 제2각도를 결정하는 것을 특징으로 하는 추적 시스템. - 제29항에 있어서, 상기 계산 장치는
상기 관성 데이터를 상기 계산된 가속도에 의해 조정하고, 제1 다수의 잠재 각도들과 제2 다수의 잠재 각도들을 선택하고, 상기 제1벡터 집합을 상기 제1다수의 잠재 각도들 중 하나와 상기 제2다수의 잠재 각도들 중 하나의 각 조합만큼 회전시키며,
상기 제1다수의 잠재 각도들 중 하나와 상기 제2다수의 잠재 각도들 중 하나의 각 조합을 위해 상기 회전된 제1벡터 집합과 상기 제2벡터 집합 사이의 차이점을 발견하고,
상기 회전된 제1벡터 집합과 제2벡터 집합 사이의 최소의 차이를 야기하는 제1잠재 각도와 제2잠재 각도의 조합을 상기 제1각도와 상기 제2각도로 규정하는 것을 특징으로 하는 추적 시스템. - 제29항에 있어서,
상기 계산 장치는,
상기 제1벡터 집합과 상기 제2벡터 집합 사이의 3차원 각도를 결정하고, 상기 3차원 각도를 상기 제1각도와 상기 제2각도로 분해하는 것을 특징으로 하는 추적 시스템. - 제29항에 있어서,
상기 계산 장치는 최소 문턱값보다 작은 크기를 가지는 상기 제1벡터 집합과 상기 제2벡터 집합 내의 각각의 벡터를 제거하는 것을 특징으로 하는 추적 시스템. - 제29항에 있어서,
상기 계산 장치가 상기 제1벡터 집합과 상기 제1벡터 집합 내의 각 벡터를 상기 벡터의 크기에 근거하여 가중시키고, 이때, 더 큰 크기를 가지는 벡터들은 작은 크기를 가지는 벡터들보다 더 무겁게 가중시키는 것을 특징으로 하는 추적 시스템. - 제29항에 있어서, 상기 계산 장치는,
동일한 시간에서 상기 제1벡터 집합의 각 벡터들의 크기와 상기 제2벡터 집합의 각 벡터들의 크기를 비교하고, 동일한 시간에서 상기 제1벡터 집합의 제1벡터가 상기 제2벡터 집합의 제2벡터와 그 크기가 같다면, 상기 제1벡터는 3차원 국제 좌표계로 움직임을 나타내고 상기 제2벡터는 상기 위치 센서의 3차원 좌표계로 상기 움직임을 나타내는 것으로 판단하는 것을 특징으로 하는 추적 시스템. - 제25항에 있어서,
상기 위치 센서는 카메라, Z-카메라, 초음파 센서, 또는 광자 센서 중 하나인 것을 특징으로 하는 추적 시스템. - 제25항에 있어서,
상기 하나 또는 그 이상의 관성 센서들은 상기 피추적 물체의 중심으로부터 수신되는 고정된 변위를 가지고,
상기 계산 장치는 상기 관성 데이터, 또는 자이로스코프에 의해 제공되는 측정값들과 가속도미터와 상기 중심 사이의 기지의 거리에 근거한 상기 계산된 가속도 중 하나에게 오프셋을 적용하고, 이 때 상기 오프셋은 상기 고정된 변위를 보상하는 것을 특징으로 하는 추적 시스템. - 제25항에 있어서,
상기 위치 센서의 시야는 미지이며,
상기 계산 장치는 상기 위치 센서의 상기 시야를 풀이하는 것을 특징으로 하는 추적 시스템. - 제37항에 있어서, 상기 계산 장치는,
상기 위치 센서의 시야를 계산하기 위한 하나 또는 그 이상의 잠재 시야를 가정하고,
각 잠재 시야에 대하여, 상기 관성 데이터를 상기 계산된 가속도에 의한 조정을 시도하며,
상기 관성 데이터가 상기 위치 센서의 시야로서 상기 계산된 가속도에 의해 조정될 수 있는 상기 잠재 시야를 규정하는 것을 특징으로 하는 추적 시스템. - 삭제
- 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13849908P | 2008-12-17 | 2008-12-17 | |
US61/138,499 | 2008-12-17 | ||
US12/435,386 | 2009-05-04 | ||
US12/435,386 US8761434B2 (en) | 2008-12-17 | 2009-05-04 | Tracking system calibration by reconciling inertial data with computed acceleration of a tracked object in the three-dimensional coordinate system |
PCT/US2009/055779 WO2010071699A1 (en) | 2008-12-17 | 2009-09-02 | Tracking system calibration with minimal user input |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110105832A KR20110105832A (ko) | 2011-09-27 |
KR101489236B1 true KR101489236B1 (ko) | 2015-02-11 |
Family
ID=42240585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117016814A KR101489236B1 (ko) | 2008-12-17 | 2009-09-02 | 최소 사용자 입력을 가지는 추적시스템 보정 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8761434B2 (ko) |
EP (1) | EP2359606B1 (ko) |
JP (1) | JP5469179B2 (ko) |
KR (1) | KR101489236B1 (ko) |
CN (1) | CN102257830B (ko) |
BR (1) | BRPI0924668B1 (ko) |
WO (1) | WO2010071699A1 (ko) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8576169B2 (en) | 2008-10-20 | 2013-11-05 | Sensor Platforms, Inc. | System and method for determining an attitude of a device undergoing dynamic acceleration |
US8253801B2 (en) * | 2008-12-17 | 2012-08-28 | Sony Computer Entertainment Inc. | Correcting angle error in a tracking system |
US8761434B2 (en) | 2008-12-17 | 2014-06-24 | Sony Computer Entertainment Inc. | Tracking system calibration by reconciling inertial data with computed acceleration of a tracked object in the three-dimensional coordinate system |
US8587519B2 (en) | 2009-01-07 | 2013-11-19 | Sensor Platforms, Inc. | Rolling gesture detection using a multi-dimensional pointing device |
JP5368118B2 (ja) * | 2009-01-16 | 2013-12-18 | 任天堂株式会社 | 情報処理システム、情報処理装置、情報処理プログラム、および通信方法 |
US8009022B2 (en) * | 2009-05-29 | 2011-08-30 | Microsoft Corporation | Systems and methods for immersive interaction with virtual objects |
US9058063B2 (en) | 2009-05-30 | 2015-06-16 | Sony Computer Entertainment Inc. | Tracking system calibration using object position and orientation |
JPWO2011068184A1 (ja) * | 2009-12-03 | 2013-04-18 | 独立行政法人産業技術総合研究所 | 移動体の測位装置 |
US9411037B2 (en) | 2010-08-18 | 2016-08-09 | RetailNext, Inc. | Calibration of Wi-Fi localization from video localization |
US8615254B2 (en) | 2010-08-18 | 2013-12-24 | Nearbuy Systems, Inc. | Target localization utilizing wireless and camera sensor fusion |
US8957909B2 (en) * | 2010-10-07 | 2015-02-17 | Sensor Platforms, Inc. | System and method for compensating for drift in a display of a user interface state |
US20130159857A1 (en) * | 2010-10-11 | 2013-06-20 | Telefonaktiebolaget L M Ericsson (Publ) | Electronic device and method for selecting a media rendering unit |
KR20120039256A (ko) * | 2010-10-15 | 2012-04-25 | (주) 중산기업 | 욕실 용품 설치 보관대 |
US8866889B2 (en) * | 2010-11-03 | 2014-10-21 | Microsoft Corporation | In-home depth camera calibration |
JP5195885B2 (ja) | 2010-12-07 | 2013-05-15 | カシオ計算機株式会社 | 情報表示システム、情報表示装置、および、プログラム |
JP5170223B2 (ja) * | 2010-12-07 | 2013-03-27 | カシオ計算機株式会社 | 情報表示システム、情報表示装置、情報提供装置、および、プログラム |
US8791901B2 (en) * | 2011-04-12 | 2014-07-29 | Sony Computer Entertainment, Inc. | Object tracking with projected reference patterns |
CN102289820B (zh) * | 2011-08-16 | 2014-04-02 | 杭州海康威视数字技术股份有限公司 | 智能跟踪球机及其跟踪方法 |
US9939888B2 (en) * | 2011-09-15 | 2018-04-10 | Microsoft Technology Licensing Llc | Correlating movement information received from different sources |
US9459276B2 (en) | 2012-01-06 | 2016-10-04 | Sensor Platforms, Inc. | System and method for device self-calibration |
WO2013104006A2 (en) | 2012-01-08 | 2013-07-11 | Sensor Platforms, Inc. | System and method for calibrating sensors for different operating environments |
US8736664B1 (en) | 2012-01-15 | 2014-05-27 | James W. Gruenig | Moving frame display |
CN103257724B (zh) * | 2012-02-21 | 2016-03-30 | 联想(北京)有限公司 | 一种非接触式鼠标及其操作方法 |
US9105221B2 (en) * | 2012-03-02 | 2015-08-11 | Realtek Semiconductor Corp. | Multimedia interaction system and related computer program product capable of blocking multimedia interaction commands that against interactive rules |
CN103294431B (zh) * | 2012-03-02 | 2016-03-30 | 瑞昱半导体股份有限公司 | 过滤互动指令的多媒体互动系统及相关的装置和方法 |
US9052802B2 (en) * | 2012-03-02 | 2015-06-09 | Realtek Semiconductor Corp. | Multimedia interaction system and related computer program product capable of filtering multimedia interaction commands |
US9258380B2 (en) | 2012-03-02 | 2016-02-09 | Realtek Semiconductor Corp. | Cross-platform multimedia interaction system with multiple displays and dynamically-configured hierarchical servers and related method, electronic device and computer program product |
TWI499935B (zh) * | 2012-08-30 | 2015-09-11 | Realtek Semiconductor Corp | 可避免非預期性互動行為發生的多媒體互動系統及相關的電腦程式產品 |
US9104367B2 (en) * | 2012-03-02 | 2015-08-11 | Realtek Semiconductor Corp. | Multimedia interaction system and related computer program product capable of avoiding unexpected interaction behavior |
US9620087B2 (en) | 2012-03-02 | 2017-04-11 | Realtek Semiconductor Corp. | Multimedia interaction system and related computer program product capable of avoiding unexpected interaction behavior |
US9228842B2 (en) | 2012-03-25 | 2016-01-05 | Sensor Platforms, Inc. | System and method for determining a uniform external magnetic field |
CN103425270B (zh) * | 2012-05-17 | 2016-08-03 | 瑞轩科技股份有限公司 | 光标控制系统 |
US9514570B2 (en) * | 2012-07-26 | 2016-12-06 | Qualcomm Incorporated | Augmentation of tangible objects as user interface controller |
TWI444645B (zh) * | 2012-09-17 | 2014-07-11 | Quanta Comp Inc | 定位方法和定位裝置 |
MX344870B (es) | 2012-10-15 | 2017-01-11 | Sony Computer Entertainment Inc | Dispositivo de control. |
WO2014061362A1 (ja) | 2012-10-15 | 2014-04-24 | 株式会社ソニー・コンピュータエンタテインメント | 操作デバイス |
JP6178066B2 (ja) * | 2012-11-06 | 2017-08-09 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、情報処理方法、プログラム及び情報記憶媒体 |
TWI581127B (zh) * | 2012-12-03 | 2017-05-01 | 廣達電腦股份有限公司 | 輸入裝置以及電子裝置 |
US9733729B2 (en) * | 2012-12-26 | 2017-08-15 | Movea | Method and device for sensing orientation of an object in space in a fixed frame of reference |
US10038895B2 (en) * | 2013-01-15 | 2018-07-31 | Disney Enterprises, Inc. | Image capture device calibration |
US9953213B2 (en) | 2013-03-27 | 2018-04-24 | Microsoft Technology Licensing, Llc | Self discovery of autonomous NUI devices |
US20140297485A1 (en) * | 2013-03-29 | 2014-10-02 | Lexmark International, Inc. | Initial Calibration of Asset To-Be-Tracked |
CN104766291B (zh) * | 2014-01-02 | 2018-04-10 | 株式会社理光 | 多台摄像机标定方法和系统 |
WO2015104062A1 (en) | 2014-01-13 | 2015-07-16 | Brainlab Ag | Estimation and compensation of tracking inaccuracies |
FR3021784B1 (fr) * | 2014-05-27 | 2017-10-13 | European Aeronautic Defence & Space Co Eads France | Procede de projection de donnees virtuelles et dispositif permettant cette projection |
US9752991B2 (en) | 2014-06-13 | 2017-09-05 | Canon Kabushiki Kaisha | Devices, systems, and methods for acquisition of an angular-dependent material feature |
US20170220133A1 (en) * | 2014-07-31 | 2017-08-03 | Hewlett-Packard Development Company, L.P. | Accurately positioning instruments |
CN104197987A (zh) * | 2014-09-01 | 2014-12-10 | 北京诺亦腾科技有限公司 | 一种组合式运动捕捉系统 |
CN104461009B (zh) * | 2014-12-22 | 2018-01-09 | 百度在线网络技术(北京)有限公司 | 物体的测量方法和智能设备 |
CN104615282B (zh) * | 2015-01-23 | 2017-09-12 | 广州视睿电子科技有限公司 | 一种适用于多屏幕切换的鼠标移动控制方法与系统 |
US9489045B2 (en) | 2015-03-26 | 2016-11-08 | Honeywell International Inc. | Methods and apparatus for providing a snapshot truthing system for a tracker |
KR102336879B1 (ko) * | 2015-05-20 | 2021-12-08 | 삼성전자주식회사 | 화면을 표시하는 전자 장치, 그 제어 방법 |
IL239113A (en) * | 2015-06-01 | 2016-12-29 | Elbit Systems Land & C4I Ltd | A system and method for determining audio characteristics from a body |
IN2015CH03866A (ko) | 2015-07-28 | 2015-08-14 | Wipro Ltd | |
US9535423B1 (en) * | 2016-03-29 | 2017-01-03 | Adasworks Kft. | Autonomous vehicle with improved visual detection ability |
US10388027B2 (en) * | 2016-06-01 | 2019-08-20 | Kyocera Corporation | Detection method, display apparatus, and detection system |
WO2018027206A1 (en) | 2016-08-04 | 2018-02-08 | Reification Inc. | Methods for simultaneous localization and mapping (slam) and related apparatus and systems |
DE102017205732A1 (de) * | 2017-04-04 | 2018-10-04 | Siemens Aktiengesellschaft | Kalibrierkörper mit einem Sensor |
US10304207B2 (en) * | 2017-07-07 | 2019-05-28 | Samsung Electronics Co., Ltd. | System and method for optical tracking |
JP6771435B2 (ja) | 2017-07-20 | 2020-10-21 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および位置情報取得方法 |
DE112018004507T5 (de) * | 2017-10-12 | 2020-06-10 | Sony Corporation | Informationsverarbeitungseinrichtung, bewegungseinrichtung und verfahren und programm |
CN111801642B (zh) * | 2018-02-23 | 2024-10-18 | 瑞典爱立信有限公司 | 协调用于计算机生成现实设备和触觉设备的坐标系的对准 |
GB2571337B (en) | 2018-02-26 | 2021-03-10 | Sony Interactive Entertainment Inc | Controlling data processing |
CN109395382A (zh) * | 2018-09-12 | 2019-03-01 | 苏州蜗牛数字科技股份有限公司 | 一种针对摇杆的线性优化方法 |
JP6975347B2 (ja) * | 2018-10-31 | 2021-12-01 | 株式会社ソニー・インタラクティブエンタテインメント | トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラム |
US10539644B1 (en) * | 2019-02-27 | 2020-01-21 | Northern Digital Inc. | Tracking an object in an electromagnetic field |
AU2019437374B2 (en) * | 2019-03-26 | 2023-08-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Determining a transformation between coordinate systems in an ultrasonic haptic device and a visual sensor device |
GB2586059B (en) * | 2019-08-01 | 2023-06-07 | Sony Interactive Entertainment Inc | System and method for generating user inputs for a video game |
US11585949B2 (en) * | 2020-10-15 | 2023-02-21 | Skydio, Inc. | Low-light and no-light aerial navigation |
FR3118493B1 (fr) * | 2020-12-28 | 2023-01-13 | Thales Sa | Procede et dispositif de contrôle de determination de positionnement d'un dispositif de visualisation d'informations porte |
ES2939020A1 (es) * | 2021-10-13 | 2023-04-18 | Vina Bordel Andres | Dispositivo para el análisis del golpeo en pádel, procedimiento de operación de dicho dispositivo y procedimiento de operación de un teléfono inteligente en comunicación con dicho dispositivo |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050261073A1 (en) * | 2004-03-26 | 2005-11-24 | Smartswing, Inc. | Method and system for accurately measuring and modeling a sports instrument swinging motion |
US20060252475A1 (en) * | 2002-07-27 | 2006-11-09 | Zalewski Gary M | Method and system for applying gearing effects to inertial tracking |
KR100643304B1 (ko) * | 2005-02-15 | 2006-11-10 | 삼성전자주식회사 | 관성 센서 보정 장치 및 방법, 그리고, 상기 방법을 기록한기록 매체 |
US20080219509A1 (en) * | 2007-03-05 | 2008-09-11 | White Marvin S | Tracking an object with multiple asynchronous cameras |
Family Cites Families (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843568A (en) * | 1986-04-11 | 1989-06-27 | Krueger Myron W | Real time perception of and response to the actions of an unencumbered participant/user |
US4787051A (en) * | 1986-05-16 | 1988-11-22 | Tektronix, Inc. | Inertial mouse system |
US5128671A (en) * | 1990-04-12 | 1992-07-07 | Ltv Aerospace And Defense Company | Control device having multiple degrees of freedom |
JP3244798B2 (ja) | 1992-09-08 | 2002-01-07 | 株式会社東芝 | 動画像処理装置 |
US5297061A (en) * | 1993-05-19 | 1994-03-22 | University Of Maryland | Three dimensional pointing device monitored by computer vision |
EP0662600A4 (en) * | 1993-06-10 | 1997-02-12 | Oh Yoh Keisoku Kenkyusho Kk | DEVICE FOR MEASURING THE POSITION OF A MOVABLE OBJECT. |
US5454043A (en) * | 1993-07-30 | 1995-09-26 | Mitsubishi Electric Research Laboratories, Inc. | Dynamic and static hand gesture recognition through low-level image analysis |
US6407817B1 (en) * | 1993-12-20 | 2002-06-18 | Minolta Co., Ltd. | Measuring system with improved method of reading image data of an object |
JP2552427B2 (ja) * | 1993-12-28 | 1996-11-13 | コナミ株式会社 | テレビ遊戯システム |
US5528265A (en) * | 1994-07-18 | 1996-06-18 | Harrison; Simon J. | Orientation-operated cursor control device |
SE504846C2 (sv) * | 1994-09-28 | 1997-05-12 | Jan G Faeger | Styrutrustning med ett rörligt styrorgan |
WO1996024216A1 (en) * | 1995-01-31 | 1996-08-08 | Transcenic, Inc. | Spatial referenced photography |
US5912700A (en) * | 1996-01-10 | 1999-06-15 | Fox Sports Productions, Inc. | System for enhancing the television presentation of an object at a sporting event |
US5850469A (en) * | 1996-07-09 | 1998-12-15 | General Electric Company | Real time tracking of camera pose |
US20020036617A1 (en) * | 1998-08-21 | 2002-03-28 | Timothy R. Pryor | Novel man machine interfaces and applications |
GB2345538B (en) | 1998-11-06 | 2003-12-17 | David James | Optical tracker |
US20030158699A1 (en) * | 1998-12-09 | 2003-08-21 | Christopher P. Townsend | Orientation sensor |
JP4493113B2 (ja) * | 1999-01-29 | 2010-06-30 | 株式会社リコー | プロジェクタおよび投影画像補正装置 |
US6737591B1 (en) * | 1999-05-25 | 2004-05-18 | Silverbrook Research Pty Ltd | Orientation sensing device |
US6286104B1 (en) * | 1999-08-04 | 2001-09-04 | Oracle Corporation | Authentication and authorization in a multi-tier relational database management system |
US6375572B1 (en) * | 1999-10-04 | 2002-04-23 | Nintendo Co., Ltd. | Portable game apparatus with acceleration sensor and information storage medium storing a game progam |
EP1252480A1 (en) * | 1999-11-12 | 2002-10-30 | Go Sensors, L.L.C. | Image metrology methods and apparatus |
JP4268308B2 (ja) * | 2000-03-22 | 2009-05-27 | 株式会社キーエンス | 光電スイッチ |
JP4032603B2 (ja) * | 2000-03-31 | 2008-01-16 | コニカミノルタセンシング株式会社 | 3次元計測装置 |
US6474159B1 (en) * | 2000-04-21 | 2002-11-05 | Intersense, Inc. | Motion-tracking |
AU2001287940A1 (en) | 2000-09-26 | 2002-04-08 | Eugenio Bustamante | Providing input signals |
US6836560B2 (en) * | 2000-11-13 | 2004-12-28 | Kla - Tencor Technologies Corporation | Advanced phase shift inspection method |
US6831263B2 (en) * | 2002-06-04 | 2004-12-14 | Intel Corporation | Very high speed photodetector system using a PIN photodiode array for position sensing |
US20020085097A1 (en) * | 2000-12-22 | 2002-07-04 | Colmenarez Antonio J. | Computer vision-based wireless pointing system |
GB2372656A (en) * | 2001-02-23 | 2002-08-28 | Ind Control Systems Ltd | Optical position determination |
US7006707B2 (en) * | 2001-05-03 | 2006-02-28 | Adobe Systems Incorporated | Projecting images onto a surface |
US20030233870A1 (en) * | 2001-07-18 | 2003-12-25 | Xidex Corporation | Multidimensional sensing system for atomic force microscopy |
GB2388418A (en) | 2002-03-28 | 2003-11-12 | Marcus James Eales | Input or pointing device with a camera |
US6710713B1 (en) * | 2002-05-17 | 2004-03-23 | Tom Russo | Method and apparatus for evaluating athletes in competition |
US8686939B2 (en) * | 2002-07-27 | 2014-04-01 | Sony Computer Entertainment Inc. | System, method, and apparatus for three-dimensional input control |
US10086282B2 (en) * | 2002-07-27 | 2018-10-02 | Sony Interactive Entertainment Inc. | Tracking device for use in obtaining information for controlling game program execution |
US9682319B2 (en) * | 2002-07-31 | 2017-06-20 | Sony Interactive Entertainment Inc. | Combiner method for altering game gearing |
US7002551B2 (en) * | 2002-09-25 | 2006-02-21 | Hrl Laboratories, Llc | Optical see-through augmented reality modified-scale display |
US7071970B2 (en) * | 2003-03-10 | 2006-07-04 | Charles Benton | Video augmented orientation sensor |
US7688381B2 (en) * | 2003-04-08 | 2010-03-30 | Vanbree Ken | System for accurately repositioning imaging devices |
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 |
US7038661B2 (en) * | 2003-06-13 | 2006-05-02 | Microsoft Corporation | Pointing device and cursor for use in intelligent computing environments |
US7606665B2 (en) * | 2003-08-29 | 2009-10-20 | Honeywell International Inc. | System and method for employing an aided-alignment mode to align an inertial reference system |
US10279254B2 (en) * | 2005-10-26 | 2019-05-07 | Sony Interactive Entertainment Inc. | Controller having visually trackable object for interfacing with a gaming system |
US7489299B2 (en) * | 2003-10-23 | 2009-02-10 | Hillcrest Laboratories, Inc. | User interface devices and methods employing accelerometers |
US7961909B2 (en) * | 2006-03-08 | 2011-06-14 | Electronic Scripting Products, Inc. | Computer interface employing a manipulated object with absolute pose detection component and a display |
US7729515B2 (en) * | 2006-03-08 | 2010-06-01 | Electronic Scripting Products, Inc. | Optical navigation apparatus using fixed beacons and a centroid sensing device |
US7720554B2 (en) * | 2004-03-29 | 2010-05-18 | Evolution Robotics, Inc. | Methods and apparatus for position estimation using reflected light sources |
WO2005109879A2 (en) * | 2004-04-30 | 2005-11-17 | Hillcrest Laboratories, Inc. | Free space pointing devices and method |
JP5053078B2 (ja) * | 2004-04-30 | 2012-10-17 | ヒルクレスト・ラボラトリーズ・インコーポレイテッド | ハンドヘルドポインティングデバイス及びその作動方法 |
US7292151B2 (en) * | 2004-07-29 | 2007-11-06 | Kevin Ferguson | Human movement measurement system |
US20060036947A1 (en) * | 2004-08-10 | 2006-02-16 | Jelley Kevin W | User interface controller method and apparatus for a handheld electronic device |
KR20070032062A (ko) | 2004-08-10 | 2007-03-20 | 모토로라 인코포레이티드 | 휴대용 전자 장치용 사용자 인터페이스 제어기 방법 및장치 |
JP4615287B2 (ja) | 2004-11-01 | 2011-01-19 | 東京計器株式会社 | 方位姿勢検出装置 |
US7191089B2 (en) * | 2004-12-01 | 2007-03-13 | Freescale Semiconductor, Inc. | System and method for fall detection |
US7216053B2 (en) * | 2004-12-30 | 2007-05-08 | Nokia Corporation | Low power motion detector |
ATE370862T1 (de) * | 2005-03-10 | 2007-09-15 | Delphi Tech Inc | Verfahren zur steuerung einer fahrzeugsicherheitseinrichtung |
US20080002031A1 (en) * | 2005-05-06 | 2008-01-03 | John-Paul P. Cana | Multi-axis control of a fixed or moving device based on a wireless tracking location of one or many target devices |
JP5028751B2 (ja) * | 2005-06-09 | 2012-09-19 | ソニー株式会社 | 行動認識装置 |
US7647175B2 (en) * | 2005-09-09 | 2010-01-12 | Rembrandt Technologies, Lp | Discrete inertial display navigation |
EP1946243A2 (en) * | 2005-10-04 | 2008-07-23 | Intersense, Inc. | Tracking objects with markers |
US7653214B2 (en) * | 2006-01-17 | 2010-01-26 | Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. | Accelerometer utilizing image-based movement tracking |
JP4530419B2 (ja) * | 2006-03-09 | 2010-08-25 | 任天堂株式会社 | 座標算出装置および座標算出プログラム |
WO2007130833A2 (en) * | 2006-05-04 | 2007-11-15 | Sony Computer Entertainment America Inc. | Scheme for detecting and tracking user manipulation of a game controller body and for translating movements thereof into inputs and game commands |
US7728868B2 (en) * | 2006-08-02 | 2010-06-01 | Inneroptic Technology, Inc. | System and method of providing real-time dynamic imagery of a medical procedure site using multiple modalities |
EP2073905B1 (en) * | 2006-09-11 | 2014-12-31 | James A. Aman | System and methods for translating sports tracking data into statistics and performance measurements |
US8781151B2 (en) * | 2006-09-28 | 2014-07-15 | Sony Computer Entertainment Inc. | Object detection using video input combined with tilt angle information |
GB0622451D0 (en) | 2006-11-10 | 2006-12-20 | Intelligent Earth Ltd | Object position and orientation detection device |
TWI330802B (en) * | 2006-12-13 | 2010-09-21 | Ind Tech Res Inst | Inertial sensing method and system |
JP5259965B2 (ja) * | 2007-03-22 | 2013-08-07 | 任天堂株式会社 | 情報処理プログラム、および、情報処理装置 |
JP4325707B2 (ja) * | 2007-07-04 | 2009-09-02 | ソニー株式会社 | 入力装置、制御装置、制御システム及び制御方法 |
US8761434B2 (en) | 2008-12-17 | 2014-06-24 | Sony Computer Entertainment Inc. | Tracking system calibration by reconciling inertial data with computed acceleration of a tracked object in the three-dimensional coordinate system |
US8253801B2 (en) | 2008-12-17 | 2012-08-28 | Sony Computer Entertainment Inc. | Correcting angle error in a tracking system |
US8441438B2 (en) * | 2010-01-06 | 2013-05-14 | Cywee Group Limited | 3D pointing device and method for compensating movement thereof |
CN102498456B (zh) * | 2009-07-23 | 2016-02-10 | 惠普发展公司,有限责任合伙企业 | 具有光学传感器的显示器 |
-
2009
- 2009-05-04 US US12/435,386 patent/US8761434B2/en active Active
- 2009-09-02 BR BRPI0924668-1A patent/BRPI0924668B1/pt active IP Right Grant
- 2009-09-02 KR KR1020117016814A patent/KR101489236B1/ko active IP Right Grant
- 2009-09-02 EP EP09833784.3A patent/EP2359606B1/en active Active
- 2009-09-02 JP JP2011542152A patent/JP5469179B2/ja active Active
- 2009-09-02 CN CN200980150534.XA patent/CN102257830B/zh active Active
- 2009-09-02 WO PCT/US2009/055779 patent/WO2010071699A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060252475A1 (en) * | 2002-07-27 | 2006-11-09 | Zalewski Gary M | Method and system for applying gearing effects to inertial tracking |
US20050261073A1 (en) * | 2004-03-26 | 2005-11-24 | Smartswing, Inc. | Method and system for accurately measuring and modeling a sports instrument swinging motion |
KR100643304B1 (ko) * | 2005-02-15 | 2006-11-10 | 삼성전자주식회사 | 관성 센서 보정 장치 및 방법, 그리고, 상기 방법을 기록한기록 매체 |
US20080219509A1 (en) * | 2007-03-05 | 2008-09-11 | White Marvin S | Tracking an object with multiple asynchronous cameras |
Also Published As
Publication number | Publication date |
---|---|
CN102257830B (zh) | 2016-04-13 |
EP2359606A1 (en) | 2011-08-24 |
CN102257830A (zh) | 2011-11-23 |
WO2010071699A1 (en) | 2010-06-24 |
EP2359606B1 (en) | 2016-02-10 |
US8761434B2 (en) | 2014-06-24 |
BRPI0924668B1 (pt) | 2020-06-30 |
JP2012512485A (ja) | 2012-05-31 |
JP5469179B2 (ja) | 2014-04-09 |
EP2359606A4 (en) | 2012-10-31 |
BRPI0924668A2 (pt) | 2016-01-26 |
KR20110105832A (ko) | 2011-09-27 |
US20100150404A1 (en) | 2010-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101489236B1 (ko) | 최소 사용자 입력을 가지는 추적시스템 보정 | |
EP2359223B1 (en) | Correcting angle error in a tracking system | |
JP5512804B2 (ja) | オブジェクトの位置及び向きを用いた追跡システムの較正 | |
US8761412B2 (en) | Microphone array steering with image-based source location | |
EP2697697B1 (en) | Object tracking with projected reference patterns | |
KR101308642B1 (ko) | 영상 분석 및 초음파 통신을 사용하여 컨트롤러의 3 차원 위치 판단 | |
JP5439367B2 (ja) | ゲームギアリングを変更するための方法 | |
TWI517881B (zh) | 決定附球控制器的位置與移動 | |
US9774989B2 (en) | Position and rotation of a portable device relative to a television screen | |
KR101395237B1 (ko) | 이미지 내 형상의 블루밍 보상 | |
JP7315489B2 (ja) | 周辺機器追跡システムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
FPAY | Annual fee payment |
Payment date: 20180110 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190111 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20200114 Year of fee payment: 6 |