KR20170130373A - 전자 디바이스를 사용한 모션 추적 - Google Patents

전자 디바이스를 사용한 모션 추적 Download PDF

Info

Publication number
KR20170130373A
KR20170130373A KR1020177023518A KR20177023518A KR20170130373A KR 20170130373 A KR20170130373 A KR 20170130373A KR 1020177023518 A KR1020177023518 A KR 1020177023518A KR 20177023518 A KR20177023518 A KR 20177023518A KR 20170130373 A KR20170130373 A KR 20170130373A
Authority
KR
South Korea
Prior art keywords
logic
data
motion
controller
motion tracking
Prior art date
Application number
KR1020177023518A
Other languages
English (en)
Other versions
KR102635758B1 (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
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20170130373A publication Critical patent/KR20170130373A/ko
Application granted granted Critical
Publication of KR102635758B1 publication Critical patent/KR102635758B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0002Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
    • A61B5/0015Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by features of the telemetry system
    • A61B5/0022Monitoring a patient using a global network, e.g. telephone networks, internet
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1113Local tracking of patients, e.g. in a hospital or private home
    • A61B5/1114Tracking parts of the body
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • G06F19/3481
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/30ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2503/00Evaluating a particular growth phase or type of persons or animals
    • A61B2503/10Athletes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7253Details of waveform analysis characterised by using transforms
    • A61B5/7257Details of waveform analysis characterised by using transforms using Fourier transforms
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient ; user input means
    • A61B5/742Details of notification to user or communication with user or patient ; user input means using visual displays
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient ; user input means
    • A61B5/742Details of notification to user or communication with user or patient ; user input means using visual displays
    • A61B5/744Displaying an avatar, e.g. an animated cartoon character
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Veterinary Medicine (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Physics & Mathematics (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Human Computer Interaction (AREA)
  • Dentistry (AREA)
  • Physiology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

일례에서 적어도 하나의 원격 모션 감지 디바이스로부터 모션 추적 데이터를 수신하는 입력/출력 인터페이스 및 상기 입력/출력 인터페이스에 결합되고 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기를 포함하고, 상기 로직은 상기 모션 추적 데이터를 수신하고, 상기 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고; 상기 추정된 위치 데이터를 상기 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시하는 것이다. 다른 예들이 설명될 수 있다.

Description

전자 디바이스를 사용한 모션 추적
관련 출원
본 출원은 35 U.S.C. 365(b)에 따라, 2015년 3월 27일자로 출원된 인도(IN) 출원 번호 1587/CHE/2015에 대한 우선권을 주장한다. 상기 출원 번호 1587/CHE/2015는 이로써 그 전체가 인용에 의해 본 명세서에 포함된다.
본 명세서에 기술된 내용은 일반적으로 전자 디바이스의 분야에 관한 것이고, 더 상세하게는 전자 디바이스를 사용한 모션 추적에 관한 것이다.
모션 추적은 운동 활동, 신체 치료, 로케이션/위치 추적 및 또한 객체 추적 응용들에서 신체 부위의 움직임을 분석하는 것과 같은 다양한 응용들에 유용할 수 있다. 따라서, 전자 디바이스가 원격 센서로부터의 입력에 기초하여 모션 추적을 구현할 수 있게 하는 기법들은 유용할 수 있다.
상세한 설명은 첨부 도면을 참조하여 설명된다.
도 1은 일부 예들에 따른 전자 디바이스들에서 모션 추적을 구현하도록 적응될 수 있는 전자 디바이스의 개략도이다.
도 2는 일부 예들에 따른 전자 디바이스들에서 모션 추적을 구현하기 위한 예시적인 아키텍처의 고레벨 개략도이다.
도 3은 일부 예들에 따른 전자 디바이스들에서 모션 추적이 구현될 수 있는 환경의 개략도이다.
도 4a, 도 4b 및 도 5는 일부 예들에 따른 전자 디바이스들에서 모션 추적을 구현하는 방법에서의 동작들을 도시하는 흐름도들이다.
도 6 내지 도 10은 일부 예들에 따른 전자 디바이스들에서 모션 추적을 구현하도록 적응될 수 있는 전자 디바이스들의 개략도이다.
본 명세서에서는 전자 디바이스들에서 모션 추적을 구현하기 위한 예시적인 시스템들 및 방법들이 설명된다. 다음의 설명에서는, 다양한 예들의 철저한 이해를 제공하기 위해 다수의 구체적인 세부사항들이 제시된다. 그러나, 본 기술 분야의 통상의 기술자라면 이러한 구체적인 세부사항들 없이도 다양한 실시예들을 실시할 수 있다는 것을 이해할 것이다. 다른 예시들에서, 특정한 예들이 불명확해지지 않도록 공지의 방법들, 절차들, 컴포넌트들 및 회로들은 도시되지 않거나 상세하게 설명되지 않았다.
전술한 바와 같이, 전자 디바이스와 통신하는 하나 이상의 모션 센서의 모션을 추적하는 기술을 구현하는 데 사용될 수 있는 모션 추적 알고리즘들 및 구성 요소들을 전자 디바이스들에 제공하는 것이 유용할 수 있다. 본 명세서에 기술된 바와 같이, 하나 이상의 모션 센서 어셈블리가 사용자가 착용할 수 있는 팔찌, 의복, 엘라스토머 밴드 등과 같은 웨어러블 장치에 통합될 수 있다. 대안적으로, 하나 이상의 모션 센서 어셈블리가 사용자의 신체 세그먼트에 부착되거나 임베드될 수 있다. 동작시, 모션 센서 어셈블리들은 하나 이상의 모션 센서에 의해 생성된 모션 데이터를 샘플링하고, 모션 데이터에 바이어스 제거 알고리즘을 적용하여 샘플들로부터 바이어스 제거된(debiased) 모션 데이터 세트를 생성할 수 있다. 일부 예들에서, 바이어스 제거 알고리즘은 모션 센서 어셈블리 대신에 디바이스 상에서 작동할 수 있다. 그 후 송신기는 모션 센서 어셈블리에 통신 가능하게 결합된 전자 디바이스에 의해 수신되도록 바이어스 제거된 모션 데이터 세트를 송신할 수 있다.
전자 디바이스는 적어도 하나의 원격 모션 감지 디바이스로부터 모션 추적 데이터를 수신하는 입력/출력 인터페이스 및 입력/출력 인터페이스에 결합된 제어기를 포함할 수 있다. 제어기는 모션 추적 데이터를 수신하고, 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고, 전자 디바이스에 결합된 디스플레이 디바이스 상에 추정된 위치 데이터를 제시/렌더링하는 로직을 포함할 수 있다.
자력계 유닛 및 전자 디바이스들의 부가적인 특징들 및 동작 특성들이 도 1 내지 도 10을 참조하여 아래에서 설명된다.
도 1은 일부 예들에 따른 모션 추적 모듈을 포함하도록 적응될 수 있는 전자 디바이스(100)의 개략도이다. 다양한 예들에서, 전자 디바이스(100)는 디스플레이, 하나 이상의 스피커, 키보드, 하나 이상의 다른 I/O 디바이스(들), 마우스, 또는 다른 유사한 것을 포함하는 하나 이상의 동반 입력/출력 디바이스들을 포함하거나 이에 결합될 수 있다. 다른 예시적인 I/O 디바이스(들)은 터치 스크린, 음성 작동 입력 디바이스, 트랙 볼, 지오로케이션 디바이스, 가속도계/자이로스코프, 생체 측정 특징 입력 디바이스들, 전자 디바이스(100)가 사용자로부터 입력을 수신할 수 있게 하는 임의의 다른 디바이스를 포함할 수 있다.
전자 디바이스(100)는 시스템 하드웨어(120) 및 메모리(140)를 포함하고, 메모리는 랜덤 액세스 메모리 및/또는 판독 전용 메모리로서 구현될 수 있다. 파일 저장소가 전자 디바이스(100)에 통신 가능하게 결합될 수 있다. 파일 저장소는, 예를 들어, eMMC, SSD, 하나 이상의 하드 드라이브, 또는 다른 유형의 저장 디바이스들과 같이 전자 디바이스(100)의 내부에 있을 수 있다. 대안적으로, 파일 저장소는 예를 들어, 하나 이상의 외부 하드 드라이브, 네트워크 접속 저장소, 또는 개별 저장 네트워크와 같이, 전자 디바이스(100)의 외부에 있을 수도 있다.
시스템 하드웨어(120)는, 하나 이상의 프로세서(122), 그래픽 프로세서(124), 네트워크 인터페이스(126) 및 버스 구조(128)를 포함할 수 있다. 일 실시예에서, 프로세서(122)는 미국 캘리포니아 주 산타 클라라의 인텔사로부터 입수할 수 있는 인텔 아톰(Intel® Atom™) 프로세서들, 인텔 아톰 기반 SOC(System-on-a-Chip) 또는 인텔 코어 2 듀어(Intel® Core2 Duo®) 또는 i3/i5/i7 계열 프로세서들로서 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "프로세서"는 마이크로프로세서, 마이크로제어기, 복합 명령어 세트 컴퓨팅(CISC) 마이크로프로세서, 축소 명령어 세트(RISC) 마이크로프로세서, 매우 긴 명령어 워드(VLIW) 마이크로프로세서, 또는 임의의 다른 유형의 프로세서 또는 프로세싱 회로와 같지만 이에 제한되지는 않는, 임의의 유형의 연산 요소를 의미한다.
그래픽 프로세서(들)(124)는 그래픽 및/또는 비디오 동작들을 관리하는 부속 프로세서로서 기능할 수 있다. 그래픽 프로세서(들)(124)는 전자 디바이스(100)의 마더보드상에 통합될 수 있거나 마더보드상에 확장 슬롯을 통해 결합될 수 있거나 처리 유닛과 동일한 다이 또는 동일한 패키지에 위치할 수 있다.
일 실시예에서, 네트워크 인터페이스(126)는 이더넷 인터페이스(예를 들어, Institute of Electrical and Electronics Engineers/IEEE 802.3-2002 참조)와 같은 유선 인터페이스 또는 IEEE 802.11a, b 또는 g-호환 인터페이스(예를 들어, IT-통신 및 시스템 간 정보 교환을 위한 IEEE 표준 LAN/MAN--파트 II: 무선 LAN MAC(Medium Access Control) 및 PHY(Physical Layer) 사양 수정안 4: 2.4 GHz 대역에서의 더 높은 데이터 레이트 확장, 802.11G-2003 참조). 무선 인터페이스의 또 다른 예는 GPRS(general packet radio service) 인터페이스(예를 들어, Guidelines on GPRS Handset Requirements, Global System for Mobile Communications/GSM Association, Ver. 3.0.1, December 2002 참조), BTLE(Bluetooth Low Energy) 프로토콜, 또는 기타 등등일 것이다.
버스 구조들(128)은 시스템 하드웨어(128)의 다양한 컴포넌트들을 연결한다. 일 실시예에서, 버스 구조들(128)은 메모리 버스, 주변 디바이스 버스 또는 외부 버스, 및/또는 11-비트 버스, 산업 표준 아키텍처(ISA), 마이크로-채널 아키텍처(MSA), 확장 ISA(EISA), 지능형 드라이브 전자 디바이스(IDE), VESA 로컬 버스(VLB), PCI(peripheral component interconnect), 범용 직렬 버스(USB), 고급 그래픽 포트(AGP), 개인용 컴퓨터 메모리 카드 국제 협회 버스(PCMCIA), 및 소형 컴퓨터 시스템 인터페이스(SCSI), 고속 동기식 직렬 인터페이스(HSI), 직렬 저전력 칩간 미디어 버스(SLIMbus®), 또는 기타 등등을 포함하나 이에 제한되지 않는, 임의의 다양한 사용 가능 버스 아키텍처를 사용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조(들) 중 하나 이상일 수 있다.
전자 디바이스(100)는 RF 신호를 송수신하는 RF 송수신기(130), 근거리 통신(NFC) 라디오(134), 및 RF 송수신기(130)에 의해 수신된 신호를 처리하는 신호 처리 모듈(132)을 포함할 수 있다. RF 송수신기는 예를 들어 블루투스 또는 802.11x와 같은 프로토콜을 통해 로컬 무선 연결을 구현할 수 있다. IEEE 802.11a, b 또는 g-호환 인터페이스(예를 들어, IT-통신 및 시스템 간 정보 교환을 위한 IEEE 표준 LAN/MAN--파트 II: 무선 LAN MAC(Medium Access Control) 및 PHY(Physical Layer) 사양 수정안 4: 2.4 GHz 대역에서의 더 높은 데이터 레이트 확장, 802.11G-2003 참조). 무선 인터페이스의 또 다른 예는, WCDMA, LTE, GPRS(general packet radio service) 인터페이스일 것이다(예를 들어, Guidelines on GPRS Handset Requirements, Global System for Mobile Communications/GSM Association, Ver. 3.0.1, December 2002 참조).
전자 디바이스(100)는, 예를 들어, 키패드(136) 및 디스플레이(138)와 같은 하나 이상의 입력/출력 인터페이스를 추가로 포함할 수 있다. 일부 예들에서 전자 디바이스(100)는 키패드를 갖지 않고 입력을 위해 터치 패널을 이용할 수 있다.
메모리(140)는 전자 디바이스(100)의 동작들을 관리하기 위한 운영 체제(142)를 저장할 수 있다. 일 실시예에서, 운영 체제(142)는 시스템 하드웨어(120)에의 인터페이스를 제공하는 하드웨어 인터페이스 모듈(154)을 포함한다. 또한, 운영 체제(140)는 전자 디바이스(100)의 동작에 사용되는 파일을 관리하는 파일 시스템(150) 및 전자 디바이스(100)에서 실행되는 프로세스를 관리하는 프로세스 제어 서브시스템(152)을 포함할 수 있다.
운영 체제(142)는 원격 소스로부터 데이터 패킷 및/또는 데이터 스트림을 송수신하기 위해 시스템 하드웨어(120)와 연계하여 동작할 수 있는 하나 이상의 통신 인터페이스(146)를 포함(또는 관리)할 수 있다. 운영 체제(142)는 그 운영 체제(142)와, 메모리(130) 내에 상주하는 하나 이상의 애플리케이션 모듈 사이에 인터페이스를 제공하는 시스템 호출 인터페이스 모듈(144)을 추가로 포함할 수 있다. 운영 체제(142)는 UNIX 운영 체제 또는 그것의 임의의 파생물(예를 들어, Linux, Android, 등)로서 또는 Windows® 브랜드 운영 체제, 또는 다른 운영 체제들로서 구현될 수 있다.
일부 예들에서 전자 디바이스는 제어기(170)를 포함할 수 있고, 이것은 주 실행 환경과 분리된 하나 이상의 제어기를 포함할 수 있다. 이 분리는 제어기가 주 프로세서들과 물리적으로 분리된 제어기들에서 구현될 수 있다는 점에서 물리적일 수 있다. 대안적으로, 신뢰할 수 있는 실행 환경은 제어기가 주 프로세서를 호스팅하는 동일 칩 또는 칩셋 상에 호스팅될 수 있다는 점에서 논리적일 수 있다.
예로서, 일부 예들에서 제어기(170)는 전자 디바이스(100)의 마더보드상에 위치하는 독립적인 집적 회로로서, 예를 들어, 동일한 SOC 다이상의 전용 프로세서 블록으로서 구현될 수 있다. 다른 예들에서 신뢰할 수 있는 실행 엔진은 하드웨어 강제 메커니즘들을 이용하여 프로세서(들)의 나머지로부터 격리되는 프로세서(들)(122)의 일부상에서 구현될 수 있다.
도 1에 도시된 실시예에서, 제어기(170)는 프로세서(172), 메모리 모듈(174), 모션 추적 모듈(176), 및 I/O 인터페이스(178)를 포함한다. 일부 예들에서, 메모리 모듈(174)은 영구 플래시 메모리 모듈을 포함할 수 있고, 다양한 기능 모듈들은 영구 메모리 모듈 내에 인코딩된 로직 명령어들, 예를 들어 펌웨어 또는 소프트웨어로서 구현될 수 있다. I/O 모듈(178)은 직렬 I/O 모듈 또는 병렬 I/O 모듈을 포함할 수 있다. 제어기(170)는 주 프로세서(들)(122) 및 운영 체제(142)와 분리되기 때문에, 제어기(170)는 안전하게 될 수 있다(즉, 전형적으로 호스트 프로세서(122)로부터의 소프트웨어 공격들을 마운팅하는 해커들이 액세스할 수 없다). 일부 예들에서, 모션 추적 모듈(176)의 부분들은 전자 디바이스(100)의 메모리(140)에 상주할 수 있고 프로세서들(122) 중 하나 이상에서 실행 가능할 수 있다.
일부 예들에서, 모션 추적 모듈(176)은 전자 디바이스(100)의 하나 이상의 다른 컴포넌트들과 상호 작용하여 하나 이상의 원격 모션 감지 어셈블리로부터 모션 추적 데이터를 수신하고 모션 추적 데이터를 처리한다. 도 2는 전자 디바이스들에서 모션 추적을 구현하기 위한 예시적인 아키텍처의 고레벨 개략도이다. 도 2를 참조하면, 제어기(220)는 범용 프로세서(122)로서 또는 제어기(170)와 같은 저전력 제어기로서 구현될 수 있다. 제어기(220)는 렌더링 모듈(270), 모션 추적 모듈(176), 및 로컬 메모리(260)를 포함할 수 있다. 전술한 바와 같이, 일부 예들에서, 렌더링 모듈(270) 및 모션 추적 모듈(176), 결합기 유닛(250)은 제어기(220)상에서 실행 가능한 로직 명령어들로서, 예를 들어, 소프트웨어 또는 펌웨어로서 구현될 수 있거나, 배선된 로직 회로들로 환원될 수 있다. 로컬 메모리(260)는 휘발성 및/또는 비휘발성 메모리를 사용하여 구현될 수 있다.
하나 이상의 모션 센서 어셈블리(230)는 예를 들어 유선 또는 무선 통신 연결을 통해 모션 추적 모듈에 통신 가능하게 결합될 수 있다. 도 2에 도시된 예는 어셈블리 A, B ... N으로 도시된 다수(N)의 모션 센서 어셈블리를 도시한다. 어셈블리의 총수(N)는 1 내지 임의의 다수의 센서 사이에서 변할 수 있다. 전술한 바와 같이, 모션 센서는 사용자가 착용할 수 있는 팔찌, 의복, 엘라스토머 밴드/패치 또는 기타 등등과 같은 웨어러블 장치에 통합될 수 있다. 대안적으로, 하나 이상의 모션 센서 어셈블리가 사용자의 신체 세그먼트에 부착되거나 임베드될 수 있다.
각각의 모션 센서 어셈블리(230)는 모션 센서(232), 제어기(234), 및 송신기(236)를 포함한다. 각각의 모션 센서(232)는 자이로스코프, 관성 측정 유닛, 또는 기타 등등으로 구현될 수 있다. 각각의 제어기(234)는 독립적인 집적 회로로서 구현될 수 있다. 각각의 송신기들(236)은 임의의 적합한 무선 프로토콜에 따라 동작하는 무선 송신기들로 구현될 수 있다.
도 3은 일부 예들에 따른 전자 디바이스들에서 모션 추적이 구현될 수 있는 환경의 개략도이다. 도 3을 참조하면, 복수의 모션 센서 어셈블리(230)는 사용자의 다양한 로케이션들에 배치될 수 있다. 모션 센서 어셈블리들(230)은 전자 디바이스(100)에 통신 가능하게 결합될 수 있다.
도 4a, 도 4b 및 도 5는 일부 예들에 따른 전자 디바이스들에서 모션 추적을 구현하는 방법에서의 동작들을 도시하는 흐름도들이다. 일부 예들에서, 도 4a 및 도 4b에 도시된 동작들은 각각의 모션 센서 어셈블리들(230)에 의해 구현될 수 있다. 도 4a를 참조하면, 동작 410에서, 제어기(234)는 모션 센서의 움직임에 응답하여 모션 센서(232)에 의해 생성된 데이터를 샘플링한다. 일부 예들에서, 제어기(234)는 20Hz 레이트로 모션 데이터를 샘플링한다.
동작 415에서, 제어기(234)는 바이어스 제거 알고리즘을 모션 데이터에 구현하여 바이어스되지 않은 모션 데이터 세트를 생성한다. 일부 예들에서, 알고리즘은 바이어스 추정을 위해 400개 샘플의 샘플 크기를 사용한다. 도 4b는 바이어스 제거 알고리즘의 일례에서의 동작들을 도시하는 흐름도이다. 도 4b를 참조하면, 동작 450에서는, 동작 410에서 수집된 샘플 데이터의 고속 푸리에 변환(FFT)이 결정된다. 동작 455에서는, 동작 450에서 계산된 FFT의 적어도 하나의 계수가 삭제된다. 일부 예들에서, FFT의 첫 번째 계수는 단순화된 FFT를 생성하기 위해 삭제된다. 동작 460에서, 데이터 세트는 동작 455에서 결정된 단순화된 FFT의 역 고속 푸리에 변환(IFFT)을 결정함으로써 재구성된다.
도 4b에 도시된 바이어스 제거 알고리즘은 동작 410에서 수집된 샘플로부터 바이어스 제거된 신호 세트를 제공한다. 따라서, 바이어스는 상태 추정 알고리즘들(예를 들어: 칼만 필터)에서 상태 벡터에서 전파될 필요가 없다. 상태 벡터의 감소된 차원은 이전 기법들과 비교하여 계산 시간을 최대 5배 감소시킨다. 또한, 바이어스 제거된 자이로스코프 신호도 자세(attitude)로 알려진 향상된 방향 추정을 얻을 수 있게 한다. 자세 표현들의 예로는 오일러 각(Euler Angles), 쿼터니언(Quaternions), 및 회전 행렬(Rotation Matrices)이 있다.
다시 도 4a를 참조하면, 동작 420에서는, 동작 460에서 재구성된 데이터 세트가 압축될 수 있고, 동작 425에서는 데이터 압축된 데이터 세트가 송신기(236)에 의해 송신된다.
도 5는 모션 추적 모듈(176)에 의해 구현되는 동작들을 도시한다. 도 5를 참조하면, 동작 510에서는, 동작 425에서 센서 어셈블리에 의해 송신된 데이터가 수신된다. 동작 515에서는, 데이터가 압축 해제되고, 동작 520에서는 추정된 위치 데이터가 생성된다. 일부 예들에서, 모션 데이터에서 지터를 제거하기 위해 칼만 필터 알고리즘이 사용될 수 있다. 동작 520에서는, 추정된 위치 데이터가 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시될 수 있다. 일부 예들에서, 추정된 위치/방위 데이터는 사용자 또는 객체의 추정된 방위를 포함하는 모션 비디오를 생성하는 렌더링 모듈(270)에 제시될 수 있다.
전술한 바와 같이, 일부 예들에서, 전자 디바이스는 컴퓨터 시스템으로서 구현될 수 있다. 도 6은 일례에 따른 컴퓨팅 시스템(600)의 블록도를 도시한다. 컴퓨팅 시스템(600)은 인터커넥션 네트워크(또는 버스)(604)를 통해 통신하는 하나 이상의 중앙 처리 장치(들)(602) 또는 프로세서들을 포함할 수 있다. 프로세서(602)는 범용 프로세서, 네트워크 프로세서(컴퓨터 네트워크(603)를 통해 전달되는 데이터를 처리함), 또는 다른 유형의 프로세서(축소 명령어 세트(RISC) 프로세서 또는 복합 명령어 세트 컴퓨터(CISC)를 포함함)를 포함할 수 있다. 더욱이, 프로세서(602)는 단일 또는 다중 코어 설계를 가질 수 있다. 다중 코어 설계를 가지는 프로세서(602)는 동일한 집적 회로(IC) 다이상에 상이한 유형의 프로세서 코어들을 통합할 수 있다. 또한, 다중 코어 설계를 가지는 프로세서(602)는 대칭 또는 비대칭 멀티프로세서로서 구현될 수 있다. 일례에서, 프로세서들(602) 중 하나 이상은 도 1의 프로세서들(102)과 동일하거나 유사할 수 있다. 예를 들어, 프로세서들(602) 중 하나 이상은 도 1 내지 도 3을 참조하여 논의된 제어 유닛(120)을 포함할 수 있다. 또한, 도 3 내지 도 5를 참조하여 논의된 동작들은 시스템(600)의 하나 이상의 컴포넌트들에 의해 수행될 수 있다.
칩셋(606)은 또한 인터커넥션 네트워크(604)와 통신할 수 있다. 칩셋(606)은 메모리 제어기 허브(MCH)(608)를 포함할 수 있다. MCH(608)는 메모리(612)(도 1의 메모리(130)와 동일하거나 유사할 수 있음)와 통신하는 메모리 제어기(610)를 포함할 수 있다. 메모리(612)는 프로세서(602), 또는 컴퓨팅 시스템(600)에 포함되는 임의의 다른 디바이스에 의해 실행될 수 있는 명령어들의 시퀀스들을 포함하는 데이터를 저장할 수 있다. 일례에서, 메모리(612)는 RAM(random access memory), 동적 RAM(DRAM), 동기식 DRAM(SDRAM), 정적 RAM(SRAM)과 같은 하나 이상의 휘발성 저장(또는 메모리) 디바이스들, 또는 다른 유형의 저장 디바이스들을 포함할 수 있다. 하드 디스크와 같은 비휘발성 메모리도 사용될 수 있다. 다수의 프로세서(들) 및/또는 다수의 시스템 메모리들과 같은 추가적인 디바이스들이 인터커넥션 네트워크(604)를 통해 통신할 수 있다.
MCH(608)는 또한 디스플레이 디바이스(616)와 통신하는 그래픽 인터페이스(614)를 포함할 수 있다. 일례에서, 그래픽 인터페이스(614)는 AGP(accelerated graphics port)를 통해 디스플레이 디바이스(616)와 통신할 수 있다. 일례에서, (평판 디스플레이와 같은) 디스플레이(616)는, 예를 들어 비디오 메모리 또는 시스템 메모리와 같은 저장 디바이스에 저장되는 이미지의 디지털 표현을 디스플레이(616)에 의해 해석되고 디스플레이되는 디지털 신호들로 번역하는 신호 변환기를 통해 그래픽 인터페이스(614)와 통신할 수 있다. 디스플레이 디바이스에 의해 생성된 디스플레이 신호는, 디스플레이(616)에 의해 해석된 다음에 해당 디스플레이상에 디스플레이되기 전에, 다양한 제어 디바이스를 통해 전달될 수 있다.
허브 인터페이스(618)는 MCH(608) 및 입력/출력 제어 허브(input/output control hub, ICH)(620)가 통신할 수 있게 할 수 있다. ICH(620)는 컴퓨팅 시스템(600)과 통신하는 I/O 디바이스(들)에 대한 인터페이스를 제공할 수 있다. ICH(620)는 PCI(peripheral component interconnect) 브리지, USB(universal serial bus) 제어기, 또는 다른 유형의 주변 디바이스 브리지 또는 제어기와 같은 주변 디바이스 브리지(또는 제어기)(624)를 통해 버스(622)와 통신할 수 있다. 브리지(624)는 프로세서(602)와 주변 디바이스 간의 데이터 경로를 제공할 수 있다. 다른 유형의 토폴로지들이 이용될 수 있다. 또한, 다수의 버스가, 예를 들어, 다수의 브리지 또는 제어기를 통해 ICH(620)와 통신할 수 있다. 또한, ICH(620)와 통신하는 다른 주변 디바이스들은, 다양한 실시예들에서, IDE(integrated drive electronics) 또는 SCSI(small computer system interface) 하드 드라이브(들), USB 포트(들), 키보드, 마우스, 병렬 포트(들), 직렬 포트(들), 플로피 디스크 드라이브(들), 디지털 출력 지원(예를 들어, DVI(digital video interface)) 또는 다른 디바이스들을 포함할 수 있다.
버스(622)는 오디오 디바이스(626), 하나 이상의 디스크 드라이브(들)(628) 및(컴퓨터 네트워크(603)와 통신하는) 네트워크 인터페이스 디바이스(630)와 통신할 수 있다. 다른 디바이스들이 버스(622)를 통해 통신할 수 있다. 또한, (네트워크 인터페이스 디바이스(630)와 같은) 다양한 컴포넌트들은 일부 예들에서 MCH(608)와 통신할 수 있다. 또한, 프로세서(602) 및 본 명세서에서 논의되는 하나 이상의 다른 컴포넌트들은 단일 칩을 형성하기 위해(예를 들어, SOC(System on Chip)를 제공하기 위해) 조합될 수 있다. 더욱이, 그래픽 가속기(616)는 다른 예들에서 MCH(608) 내에 포함될 수 있다.
더욱이, 컴퓨팅 시스템(600)은 휘발성 및/또는 비휘발성 메모리(또는 저장소)를 포함할 수 있다. 예를 들어, 비휘발성 메모리는 다음 중 하나 이상을 포함할 수 있다: 판독 전용 메모리(ROM), 프로그램 가능 ROM(PROM), 소거 가능 PROM(EPROM), 전기적 EPROM(EEPROM), 디스크 드라이브(예를 들어, 628), 플로피 디스크, 콤팩트 디스크 ROM(CD-ROM), 디지털 다기능 디스크(DVD), 플래시 메모리, 광자기 디스크, 또는 전자 데이터(예를 들어, 명령어들을 포함)를 저장할 수 있는 다른 유형들의 비휘발성 머신 판독 가능 매체.
도 7은 일례에 따른 컴퓨팅 시스템(700)의 블록도를 도시한다. 시스템(700)은 하나 이상의 프로세서(702-1 내지 702-N)(일반적으로 "프로세서들(702)" 또는 "프로세서(702)"로서 본 명세서에서 지칭됨)을 포함할 수 있다. 프로세서들(702)은 인터커넥션 네트워크 또는 버스(704)를 통해 통신할 수 있다. 각각의 프로세서는 다양한 컴포넌트들을 포함할 수 있는데, 그 중 일부가 명확성을 위해 프로세서(702-1)만을 참조하여 논의된다. 따라서, 나머지 프로세서들(702-2 내지 702-N) 각각은 프로세서(702-1)를 참조하여 논의되는 것과 동일한 또는 유사한 컴포넌트들을 포함할 수 있다.
일례에서, 프로세서(702-1)는 하나 이상의 프로세서 코어들(706-1 내지 706-M)("코어들(706)"로서 또는 보다 일반적으로 "코어(706)"로서 본 명세서에서 지칭됨), 공유 캐시(708), 라우터(710), 및/또는 프로세서 제어 로직 또는 유닛(720)을 포함할 수 있다. 프로세서 코어들(706)은 단일 집적 회로(IC) 칩 상에 구현될 수 있다. 더욱이, 칩은 하나 이상의 공유 및/또는 전용 캐시들(예를 들어, 캐시(708)), 버스들 또는 인터커넥션들(예를 들어, 버스 또는 인터커넥션 네트워크(712)), 메모리 제어기들, 또는 기타 컴포넌트들을 포함할 수 있다.
일례에서, 라우터(710)는 프로세서(702-1) 및/또는 시스템(700)의 다양한 컴포넌트들 사이에서 통신하기 위해 이용될 수 있다. 더욱이, 프로세서(702-1)는 2개 이상의 라우터(710)를 포함할 수 있다. 더욱이, 다수의 라우터(710)는 프로세서(702-1)의 내부 또는 외부의 다양한 컴포넌트들 사이의 데이터 라우팅을 가능하게 하기 위해 통신할 수 있다.
공유 캐시(708)는 코어들(706)과 같은 프로세서(702-1)의 하나 이상의 컴포넌트에 의해 이용되는 데이터(예를 들어, 명령어들을 포함함)를 저장할 수 있다. 예를 들어, 공유 캐시(708)는 프로세서(702)의 컴포넌트들에 의한 더욱 빠른 액세스를 위해 메모리(714)에 저장되는 데이터를 국부적으로 캐시할 수 있다. 일례에서, 캐시(708)는 중간 레벨 캐시(예를 들어 레벨 2(L2), 레벨 3(L3), 레벨 4(L4), 또는 다른 레벨들의 캐시), LLC(last level cache), 및/또는 이들의 조합들을 포함할 수 있다. 더욱이, 프로세서(702-1)의 다양한 컴포넌트들은 버스(예를 들어, 버스(712)), 및/또는 메모리 제어기 또는 허브를 통해 공유 캐시(708)와 직접 통신할 수 있다. 도 7에 도시된 바와 같이, 일부 예들에서, 코어들(706) 중 하나 이상은 레벨 1(L1) 캐시(716-1)(일반적으로 "L1 캐시(716)"로서 본 명세서에서 지칭됨)를 포함할 수 있다. 일례에서, 제어 유닛(720)은 도 2의 메모리 제어기(122)를 참조하여 상기 설명된 동작들을 구현하기 위한 로직을 포함할 수 있다.
도 8은 일례에 따른, 컴퓨팅 시스템의 프로세서 코어(706)의 부분들 및 다른 컴포넌트들의 블록도를 도시한다. 일례에서, 도 8에 도시된 화살표는 코어(706)를 통한 명령어들의 흐름 방향을 도시한다. 하나 이상의 프로세서 코어들(프로세서 코어(706)와 같은)이 도 7을 참조하여 논의된 것과 같은 단일 집적 회로 칩(또는 다이)상에 구현될 수 있다. 더욱이, 칩은 하나 이상의 공유 및/또는 사유 캐시(예를 들어, 도 7의 캐시(708)), 인터커넥션들(예를 들어, 도 7의 인터커넥션들(704 및/또는 112)), 제어 유닛들, 메모리 제어기들, 또는 기타 컴포넌트들을 포함할 수 있다.
도 8에 도시된 바와 같이, 프로세서 코어(706)는 코어(706)에 의한 실행을 위한 명령어들(조건부 분기들을 갖는 명령어들을 포함함)을 페치하기 위한 페치 유닛(fetch unit)(802)을 포함할 수 있다. 명령어들은 메모리(714)와 같은 임의의 저장 디바이스들로부터 페치될 수 있다. 코어(706)는 또한 페치된 명령어를 디코딩하기 위한 디코드 유닛(804)을 포함할 수 있다. 예를 들어, 디코드 유닛(804)은 페치된 명령어를 복수의 uop(micro-operation)로 디코딩할 수 있다.
또한, 코어(706)는 스케줄 유닛(806)을 포함할 수 있다. 스케줄 유닛(806)은, 명령어들이 디스패치(dispatch)를 위해 준비될 때까지, 예를 들어 디코딩된 명령어의 모든 소스 값들이 이용 가능하게 될 때까지, 디코딩된 명령어들(예를 들어, 디코드 유닛(804)으로부터 수신됨)을 저장하는 것과 관련되는 다양한 동작들을 수행할 수 있다. 일례에서, 스케줄 유닛(806)은 실행을 위해 실행 유닛(808)에게 디코딩된 명령어들을 스케줄링 및/또는 발행(또는 디스패치)할 수 있다. 실행 유닛(808)은 디스패치된 명령어들이(예를 들어, 디코드 유닛(804)에 의해) 디코딩되고(예를 들어, 스케줄 유닛(806)에 의해) 디스패치된 후에 디스패치된 명령어들을 실행할 수 있다. 일례에서, 실행 유닛(808)은 둘 이상의 실행 유닛을 포함할 수 있다. 실행 유닛(808)은 또한 덧셈, 뺄셈, 곱셈, 및/또는 나눗셈과 같은 다양한 산술 연산들을 수행할 수 있고, 하나 이상의 산술 로직 유닛(ALU)을 포함할 수 있다. 일례에서, 코프로세서(도시되지 않음)는 실행 유닛(808)과 연계하여 다양한 산술 연산들을 수행할 수 있다.
또한, 실행 유닛(808)은 명령어를 비순차적으로 실행할 수 있다. 따라서, 프로세서 코어(706)는 일례에서 비순차적 프로세서 코어일 수 있다. 코어(706)는 또한 리타이어먼트 유닛(retirement unit)(810)을 포함할 수 있다. 리타이어먼트 유닛(810)은 실행되는 명령어들이 커밋(commit)된 후에 이들을 리타이어할 수 있다. 일례에서, 실행된 명령어들의 리타이어먼트는 프로세서 상태가 명령어들의 실행으로부터 커밋되는 것과, 명령어들에 의해 이용되는 물리적 레지스터들이 할당 해제(de-allocate)되는 것과, 기타 등등을 초래할 수 있다.
코어(706)는 또한 하나 이상의 버스들(예를 들어, 버스들(804 및/또는 812))을 통해 프로세서 코어(706)의 컴포넌트들과 기타 컴포넌트들(예를 들어, 도 8을 참조하여 논의된 컴포넌트들) 간의 통신을 가능하게 하는 버스 유닛(714)을 포함할 수 있다. 코어(706)는 또한 코어(706)의 다양한 컴포넌트들에 의해 액세스되는 데이터(예를 들어, 전력 소비 상태 설정들과 관계되는 값들)를 저장하기 위한 하나 이상의 레지스터(816)를 포함할 수 있다.
더욱이, 도 7이 인터커넥션(812)를 통해 코어(706)에 결합되는 제어 유닛(720)을 도시하지만, 다양한 예들에서, 제어 유닛(720)은 다른 곳에, 예를 들어 코어(706) 내에 배치되거나, 버스(704) 등을 통해 코어에 결합되거나, 기타 등등일 수 있다.
일부 예들에서, 본 명세서에서 논의된 컴포넌트들 중 하나 이상이 SOC(System On Chip) 디바이스로서 구현될 수 있다. 도 9는 일례에 따른 SOC 패키지의 블록도를 도시한다. 도 9에 도시된 바와 같이, SOC(902)는 하나 이상의 프로세서 코어(920), 하나 이상의 그래픽 프로세서 코어(930), 입력/출력(I/O) 인터페이스(940), 및 메모리 제어기(942)를 포함한다. SOC 패키지(902)의 다양한 컴포넌트들은 다른 도면들을 참조하여 본 명세서에서 논의되는 것과 같은 인터커넥션 또는 버스에 결합될 수 있다. 또한, SOC 패키지(902)는 다른 도면들을 참조하여 본 명세서에서 논의되는 것들과 같은, 더 많은 또는 더 적은 컴포넌트들을 포함할 수 있다. 또한, SOC 패키지(902)의 각각의 컴포넌트는 예로서 본 명세서에서 다른 도면을 참조하여 논의된 바와 같은 하나 이상의 다른 컴포넌트를 포함할 수 있다. 일례에서, SOC 패키지(902)(및 그의 컴포넌트들)는, 예를 들어 단일 반도체 디바이스로 패키징되는 하나 이상의 집적 회로(IC) 다이상에 제공된다.
도 9에 도시된 바와 같이, SOC 패키지(902)는 메모리 제어기(942)를 통해 메모리(960)(이는 다른 도면들을 참조하여 본 명세서에서 논의된 메모리와 유사하거나 동일한 것일 수 있음)에 결합된다. 일례에서, 메모리(960)(또는 이것의 일부)는 SOC 패키지(902)상에 통합될 수 있다.
I/O 인터페이스(940)는, 예를 들어 다른 도면들을 참조하여 본 명세서에서 논의되는 것과 같은 인터커넥트 및/또는 버스를 통해 하나 이상의 I/O 디바이스(970)에 결합될 수 있다. I/O 디바이스(들)(970)는 키보드, 마우스, 터치패드, 디스플레이, 이미지/비디오 캡처 디바이스(예를 들어, 카메라 또는 캠코더/비디오 레코더), 터치 스크린, 스피커, 또는 다른 유사한 것 중 하나 이상을 포함할 수 있다.
도 10은 일례에 따른, 포인트 투 포인트(point-to-point)(PtP) 구성으로 배열되는 컴퓨팅 시스템(1000)을 도시한다. 특히, 도 10은 프로세서들, 메모리, 및 입력/출력 디바이스들이 다수의 포인트 투 포인트 인터페이스들에 의해 상호 연결되는 시스템을 도시한다. 도 2를 참조하여 논의되는 동작들은 시스템(1000)의 하나 이상의 컴포넌트들에 의해 수행될 수 있다.
도 10에 도시된 바와 같이, 시스템(1000)은 몇 개의 프로세서를 포함할 수 있는데, 명확성을 위해 그 중에서 2개의 프로세서(1002 및 1004)만이 도시되었다. 프로세서들(1002 및 1004)은 메모리들(1010 및 1012)과의 통신을 가능하게 하는 로컬 메모리 제어기 허브(MCH)(1006 및 1008)를 각각 포함할 수 있다. 일부 예들에서, MCH(1006 및 1008)는 도 1의 메모리 제어기(120) 및/또는 로직(125)을 포함할 수 있다.
일례에서, 프로세서들(1002 및 1004)은 도 7을 참조하여 논의된 프로세서들(702) 중 하나일 수 있다. 프로세서들(1002 및 1004)은 포인트 투 포인트(PtP) 인터페이스 회로들(1016 및 1018)을 각각 사용하여 PtP 인터페이스(1014)를 통해 데이터를 교환할 수 있다. 또한, 프로세서들(1002 및 1004)은 포인트 투 포인트 인터페이스 회로들(1026, 1028, 1030, 및 1032)을 사용하여 개개의 PtP 인터페이스들(1022 및 1024)을 통해 칩셋(1020)과 데이터를 각각 교환할 수 있다. 칩셋(1020)은 또한 예를 들어 PtP 인터페이스 회로(1037)를 사용하여 고성능 그래픽 인터페이스(1036)를 통해 고성능 그래픽 회로(1034)와 데이터를 교환할 수 있다.
도 10에 도시된 바와 같이, 도 1의 코어들(106) 및/또는 캐시(108) 중 하나 이상은 프로세서들(1004) 내에 위치할 수 있다. 그러나, 다른 예들은 도 10의 시스템(1000) 내의 다른 회로, 로직 유닛 또는 디바이스에 존재할 수 있다. 더욱이, 다른 예들은 도 10에 도시된 몇몇 회로, 로직 유닛, 또는 디바이스의 전체에 걸쳐 분산될 수 있다.
칩셋(1020)은 PtP 인터페이스 회로(1041)를 사용하여 버스(1040)와 통신할 수 있다. 버스(1040)는 그와 통신하는 하나 이상의 디바이스, 예를 들어, 버스 브리지(1042) 및 I/O 디바이스(1043)를 가질 수 있다. 버스(1044)를 통해, 버스 브리지(1043)는 키보드/마우스(1045), 통신 디바이스들(1046)(예를 들어, 모뎀들, 네트워크 인터페이스 디바이스들, 또는 컴퓨터 네트워크(1003)와 통신할 수 있는 다른 통신 디바이스들), 오디오 I/O 디바이스, 및/또는 데이터 저장 디바이스(1048)와 같은 다른 디바이스들과 통신할 수 있다. (하드 디스크 드라이브 또는 NAND 플래시 기반의 솔리드 스테이트 드라이브일 수 있는) 데이터 저장 디바이스(1048)는 프로세서들(1004)에 의해 실행될 수 있는 코드(1049)를 저장할 수 있다.
다음의 예들은 추가 예들과 관련된다.
예 1은 모션 데이터를 생성하는 모션 센서, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기 - 상기 로직은 상기 모션 데이터를 미리 결정된 샘플링 레이트로 샘플링하고, 바이어스 제거 알고리즘을 상기 모션 데이터에 적용하여 바이어스되지 않은 모션 데이터 세트를 생성하는 것임 -, 및 상기 바이어스되지 않은 모션 데이터 세트를 송신하는 송신기를 포함하는 장치이다.
예 2에서, 예 1의 내용은 상기 제어기가 상기 모션 데이터를 20Hz의 레이트로 샘플링하는 구성을 옵션으로 포함할 수 있다.
예 3에서, 예 1-2 중 어느 하나의 내용은 상기 바이어스 추정 알고리즘이 400개 샘플의 집합에 적용되는 구성을 옵션으로 포함할 수 있다.
예 4에서, 예 1-3 중 어느 하나의 내용은 상기 모션 추적 데이터의 고속 푸리에 변환(FFT)을 생성하고, 상기 FFT로부터 적어도 하나의 계수를 제거하여 단순화된 FFT를 생성하고, 상기 단순화된 FFT에 역 고속 푸리에 변환(IFFT)을 적용하여 상기 모션 추적 데이터를 재구성하도록 구성된, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 옵션으로 포함할 수 있다.
예 5에서, 예 1-4 중 어느 하나의 내용은 적어도 하나의 원격 모션 감지 디바이스로부터 모션 추적 데이터를 수신하는 입력/출력 인터페이스, 및 상기 입력/출력 인터페이스에 결합되고 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기를 옵션으로 포함할 수 있고, 상기 로직은 상기 모션 추적 데이터를 수신하고, 상기 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고, 상기 추정된 위치 데이터를 상기 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시하는 것이다.
예 7에서, 예 1-6 중 어느 하나의 내용은 상기 추정된 위치 데이터를 포함하는 비디오를 상기 디스플레이 디바이스 상에 렌더링하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 옵션으로 포함할 수 있다.
예 8은 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기로서, 상기 로직은 모션 센서로부터의 모션 데이터를 미리 결정된 샘플링 레이트로 샘플링하고, 바이어스 제거 알고리즘을 상기 모션 데이터에 적용하여 바이어스되지 않은 모션 데이터 세트를 생성하고, 상기 바이어스되지 않은 모션 데이터 세트를 송신하기 위해 상기 제어기에 결합된 송신기로 상기 바이어스되지 않은 모션 데이터 세트를 전달하는 것이다.
예 9에서, 예 8의 내용은 상기 제어기가 상기 모션 데이터를 20Hz의 레이트로 샘플링하는 구성을 옵션으로 포함할 수 있다.
예 10에서, 예 8-9 중 어느 하나의 내용은 상기 바이어스 추정 알고리즘이 400개 샘플의 집합에 적용되는 구성을 옵션으로 포함할 수 있다.
예 11에서, 예 8-10 중 어느 하나의 내용은 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 옵션으로 포함할 수 있고, 상기 로직은 상기 모션 추적 데이터의 고속 푸리에 변환(FFT)을 생성하고, 상기 FFT로부터 적어도 하나의 계수를 제거하여 단순화된 FFT를 생성하고, 상기 단순화된 FFT에 역 고속 푸리에 변환(IFFT)을 적용하여 상기 모션 추적 데이터를 재구성하는 것이다.
예 12에서, 예 8-11 중 어느 하나의 내용은 상기 제어기에 통신 가능하게 결합된 전자 디바이스를 옵션으로 포함할 수 있고 상기 전자 디바이스는 적어도 하나의 원격 모션 감지 디바이스로부터 모션 추적 데이터를 수신하는 입력/출력 인터페이스, 및 상기 입력/출력 인터페이스에 결합되고 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기를 포함하고, 상기 로직은 상기 모션 추적 데이터를 수신하고, 상기 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고, 상기 추정된 위치 데이터를 상기 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시하는 것이다.
예 13에서, 예 12의 내용은 칼만 필터 알고리즘을 상기 모션 추적 데이터에 적용하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 옵션으로 포함할 수 있다.
예 14에서, 예 12-13 중 어느 하나의 내용은 상기 전자 디바이스 내의 상기 제어기가 상기 추정된 위치 데이터를 포함하는 비디오를 상기 디스플레이 디바이스 상에 렌더링하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 구성을 옵션으로 포함할 수 있다.
예 15는 전자 디바이스로서, 적어도 하나의 원격 모션 감지 디바이스로부터 모션 추적 데이터를 수신하는 입력/출력 인터페이스, 및 상기 입력/출력 인터페이스에 결합되고 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기를 포함하고, 상기 로직은 상기 모션 추적 데이터를 수신하고, 상기 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고, 상기 추정된 위치 데이터를 상기 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시하는 것이다.
예 16에서, 예 15의 내용은 칼만 필터 알고리즘을 상기 모션 추적 데이터에 적용하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 옵션으로 포함할 수 있다.
예 17, 예 15-16 중 어느 하나의 내용은 상기 전자 디바이스 내의 상기 제어기가 상기 추정된 위치 데이터를 포함하는 비디오를 상기 디스플레이 디바이스 상에 렌더링하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 구성을 옵션으로 포함할 수 있다.
예 18은 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기로서, 상기 로직은 모션 추적 데이터를 수신하고, 상기 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고, 상기 추정된 위치 데이터를 상기 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시하는 것이다.
예 19에서, 예 18의 내용은 칼만 필터 알고리즘을 상기 모션 추적 데이터에 적용하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 옵션으로 포함할 수 있다.
예 20에서, 예 18-19 중 어느 하나의 내용은 상기 제어기가 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 구성을 옵션으로 포함할 수 있고, 상기 로직은 상기 모션 추적 데이터의 고속 푸리에 변환(FFT)을 생성하고, 상기 FFT로부터 적어도 하나의 계수를 제거하여 단순화된 FFT를 생성하고, 상기 단순화된 FFT에 역 고속 푸리에 변환(IFFT)을 적용하여 상기 모션 추적 데이터를 재구성하는 것이다.
예 21에서, 예 18-20 중 어느 하나의 내용은 상기 전자 디바이스 내의 상기 제어기가 상기 추정된 위치 데이터를 포함하는 비디오를 상기 디스플레이 디바이스 상에 렌더링하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 구성을 옵션으로 포함할 수 있다.
본 명세서에서 언급된 용어 "로직 명령어들"은 하나 이상의 로직 연산을 수행하기 위한 하나 이상의 머신에 의해 이해될 수 있는 표현에 관련된다. 예를 들어, 로직 명령어들은 하나 이상의 데이터 객체에 대해 하나 이상의 연산을 실행하기 위한 프로세서 컴파일러에 의해 해석 가능한 명령어들을 포함할 수 있다. 그러나, 이것은 단지 머신 판독 가능 명령어들의 일례에 불과하고, 예들은 이에 관하여 제한되는 것은 아니다.
본 명세서에서 언급된 용어 "컴퓨터 판독 가능 매체"는 하나 이상의 머신에 의해 인지 가능한 표현들을 유지할 수 있는 매체에 관련된다. 예를 들어, 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 명령어들 또는 데이터를 저장하기 위한 하나 이상의 저장 디바이스를 포함할 수 있다. 이러한 저장 디바이스들은, 예를 들어, 광, 자기, 또는 반도체 저장 매체 등의 저장 매체를 포함할 수 있다. 그러나, 이것은 컴퓨터 판독 가능 매체의 일례에 불과하고, 예들은 이에 관하여 제한되는 것은 아니다.
본 명세서에서 언급된 용어 "로직"은 하나 이상의 로직 연산을 수행하기 위한 구조에 관련된다. 예를 들어, 로직은 하나 이상의 입력 신호에 기초하여 하나 이상의 출력 신호를 제공하는 회로를 포함할 수 있다. 이러한 회로는, 디지털 입력을 수신하고 디지털 출력을 제공하는 유한 상태 머신(finite state machine), 또는 하나 이상의 아날로그 입력 신호에 응답하여 하나 이상의 아날로그 출력 신호를 제공하는 회로를 포함할 수 있다. 이러한 회로는 주문형 집적 회로(ASIC) 또는 필드 프로그래머블 게이트 어레이(FPGA)에 제공될 수 있다. 또한, 로직은 이러한 머신 판독 가능 명령어들을 실행하는 처리 회로와 함께 메모리에 저장된 머신 판독 가능 명령어들을 포함할 수 있다. 그러나, 이것들은 로직을 제공할 수 있는 구조들의 예들에 불과하고, 예들은 이에 관하여 제한되지 않는다.
본 명세서에서 설명된 방법들 중 일부는 컴퓨터 판독 가능 매체상의 로직 명령어들로서 구현될 수 있다. 로직 명령어들은, 프로세서에서 실행될 때, 프로세서가 설명된 방법들을 구현하는 특수 목적 머신으로서 프로그램되도록 한다. 프로세서는, 본 명세서에서 설명된 방법들을 실행하는 로직 명령어들에 의해 구성되는 경우, 설명된 방법들을 수행하기 위한 구조를 구성한다. 대안적으로, 본 명세서에서 설명된 방법은, 예를 들어, 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC) 또는 기타 등등에서의 로직으로 환원될 수 있다.
이 설명 및 청구항들에서, 결합된 및 연결된이라는 용어들과 함께, 이들의 파생어들이 사용될 수 있다. 특정 예들에서, 연결된은 2개 이상의 요소가 서로 직접 물리적 또는 전기적으로 접촉하고 있음을 나타내기 위해 사용될 수 있다. 결합된은 2개 이상의 요소가 직접 물리적 또는 전기적으로 접촉하고 있음을 의미할 수 있다. 그러나, 결합된은 2개 이상의 요소가 서로 직접 접촉하지 않지만, 여전히 서로 협동 또는 상호 작용할 수 있다는 것을 또한 의미할 수 있다.
본 명세서에서 "일례"또는 "일부 예들"에 대한 언급은 그 예와 관련하여 기술된 특정 특징, 구조 또는 특성이 적어도 하나의 구현에 포함됨을 의미한다. 본 명세서의 다양한 곳에서 나오는 "일례에서"라는 구문은 모두가 동일한 예를 언급하는 것일 수도 있고 그렇지 않을 수도 있다.
예들이 구조적인 특징들 및/또는 방법론적인 동작들에 특정적인 언어로 설명되었지만, 청구된 내용은 설명된 구체적인 특징들 또는 동작들에 제한되는 것은 아니라는 것을 이해해야 한다. 오히려, 구체적인 특징들 및 동작들은 청구되는 내용을 구현하는 샘플 형태들로서 개시된다.

Claims (21)

  1. 장치로서,
    모션 데이터를 생성하는 모션 센서;
    하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기 - 상기 로직은:
    상기 모션 데이터를 미리 결정된 샘플링 레이트로 샘플링하고;
    바이어스 제거 알고리즘을 상기 모션 데이터에 적용하여 바이어스되지 않은 모션 데이터 세트를 생성하는 것임 -; 및
    상기 바이어스되지 않은 모션 데이터 세트를 송신하는 송신기를 포함하는, 장치.
  2. 제1항에 있어서,
    상기 제어기는 상기 모션 데이터를 20Hz의 레이트로 샘플링하는, 장치.
  3. 제2항에 있어서,
    상기 바이어스 추정 알고리즘이 400개 샘플의 집합에 적용되는, 장치.
  4. 제1항에 있어서,
    상기 제어기는 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하고, 상기 로직은:
    상기 모션 추적 데이터의 고속 푸리에 변환(FFT)을 생성하고;
    상기 FFT로부터 적어도 하나의 계수를 제거하여 단순화된 FFT를 생성하고;
    상기 단순화된 FFT에 역 고속 푸리에 변환(IFFT)을 적용하여 상기 모션 추적 데이터를 재구성하는 것인, 장치.
  5. 제1항에 있어서,
    상기 장치에 통신 가능하게 결합된 전자 디바이스를 추가로 포함하고, 상기 전자 디바이스는:
    적어도 하나의 원격 모션 감지 디바이스로부터 모션 추적 데이터를 수신하는 입력/출력 인터페이스; 및
    상기 입력/출력 인터페이스에 결합되고 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기를 포함하고, 상기 로직은:
    상기 모션 추적 데이터를 수신하고;
    상기 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고;
    상기 추정된 위치 데이터를 상기 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시하는 것인, 장치.
  6. 제5항에 있어서,
    상기 전자 디바이스 내의 상기 제어기는:
    칼만 필터 알고리즘을 상기 모션 추적 데이터에 적용하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는, 장치.
  7. 제7항에 있어서,
    상기 전자 디바이스 내의 상기 제어기는:
    상기 추정된 위치 데이터를 포함하는 비디오를 상기 디스플레이 디바이스 상에 렌더링하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는, 장치.
  8. 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기로서, 상기 로직은:
    모션 센서로부터의 모션 데이터를 미리 결정된 샘플링 레이트로 샘플링하고;
    바이어스 제거 알고리즘을 상기 모션 데이터에 적용하여 바이어스되지 않은 모션 데이터 세트를 생성하고;
    상기 바이어스되지 않은 모션 데이터 세트를 송신하기 위해 상기 제어기에 결합된 송신기로 상기 바이어스되지 않은 모션 데이터 세트를 전달하는 것인, 제어기.
  9. 제8항에 있어서,
    상기 제어기는 상기 모션 데이터를 20Hz의 레이트로 샘플링하는, 제어기.
  10. 제2항에 있어서,
    상기 바이어스 추정 알고리즘은 400개 샘플의 집합에 적용되는, 제어기.
  11. 제8항에 있어서,
    상기 제어기는 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하고, 상기 로직은:
    상기 모션 추적 데이터의 고속 푸리에 변환(FFT)을 생성하고;
    상기 FFT로부터 적어도 하나의 계수를 제거하여 단순화된 FFT를 생성하고;
    상기 단순화된 FFT에 역 고속 푸리에 변환(IFFT)을 적용하여 상기 모션 추적 데이터를 재구성하는 것인, 제어기.
  12. 제8항에 있어서,
    상기 제어기에 통신 가능하게 결합된 전자 디바이스를 추가로 포함하고, 상기 전자 디바이스는:
    적어도 하나의 원격 모션 감지 디바이스로부터 모션 추적 데이터를 수신하는 입력/출력 인터페이스; 및
    상기 입력/출력 인터페이스에 결합되고 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기를 포함하고, 상기 로직은:
    상기 모션 추적 데이터를 수신하고;
    상기 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고;
    상기 추정된 위치 데이터를 상기 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시하는 것인, 제어기.
  13. 제12항에 있어서,
    상기 전자 디바이스 내의 상기 제어기는:
    칼만 필터 알고리즘을 상기 모션 추적 데이터에 적용하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는, 제어기.
  14. 제13항에 있어서,
    상기 전자 디바이스 내의 상기 제어기는:
    상기 추정된 위치 데이터를 포함하는 비디오를 상기 디스플레이 디바이스 상에 렌더링하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는, 제어기.
  15. 전자 디바이스로서,
    적어도 하나의 원격 모션 감지 디바이스로부터 모션 추적 데이터를 수신하는 입력/출력 인터페이스; 및
    상기 입력/출력 인터페이스에 결합되고 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기를 포함하고, 상기 로직은:
    상기 모션 추적 데이터를 수신하고;
    상기 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고;
    상기 추정된 위치 데이터를 상기 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시하는 것인, 전자 디바이스.
  16. 제15항에 있어서,
    상기 제어기는:
    칼만 필터 알고리즘을 상기 모션 추적 데이터에 적용하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는, 전자 디바이스.
  17. 제16항에 있어서,
    상기 제어기는:
    상기 추정된 위치 데이터를 포함하는 비디오를 상기 디스플레이 디바이스 상에 렌더링하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는, 전자 디바이스.
  18. 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 제어기로서, 상기 로직은:
    모션 추적 데이터를 수신하고;
    상기 모션 추적 데이터를 사용하여 추정된 위치 데이터를 생성하고;
    상기 추정된 위치 데이터를 전자 디바이스에 결합된 디스플레이 디바이스 상에 제시하는 것인, 제어기.
  19. 제18항에 있어서,
    상기 제어기는:
    칼만 필터 알고리즘을 상기 모션 추적 데이터에 적용하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는, 제어기.
  20. 제19항에 있어서,
    상기 제어기는 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하고, 상기 로직은:
    상기 모션 추적 데이터의 고속 푸리에 변환(FFT)을 생성하고;
    상기 FFT로부터 적어도 하나의 계수를 제거하여 단순화된 FFT를 생성하고;
    상기 단순화된 FFT에 역 고속 푸리에 변환(IFFT)을 적용하여 상기 모션 추적 데이터를 재구성하는 것인, 제어기.
  21. 제20항에 있어서,
    상기 제어기는:
    상기 추정된 위치 데이터를 포함하는 비디오를 상기 디스플레이 디바이스 상에 렌더링하는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는, 제어기.
KR1020177023518A 2015-03-27 2016-02-16 전자 디바이스를 사용한 모션 추적 KR102635758B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN1587/CHE/2015 2015-03-27
IN1587CH2015 2015-03-27
PCT/US2016/018071 WO2016160150A1 (en) 2015-03-27 2016-02-16 Motion tracking using electronic devices

Publications (2)

Publication Number Publication Date
KR20170130373A true KR20170130373A (ko) 2017-11-28
KR102635758B1 KR102635758B1 (ko) 2024-02-14

Family

ID=57007412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177023518A KR102635758B1 (ko) 2015-03-27 2016-02-16 전자 디바이스를 사용한 모션 추적

Country Status (6)

Country Link
US (1) US10799118B2 (ko)
EP (1) EP3274791A4 (ko)
JP (1) JP6689877B2 (ko)
KR (1) KR102635758B1 (ko)
CN (1) CN107408151B (ko)
WO (1) WO2016160150A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016160150A1 (en) 2015-03-27 2016-10-06 Intel Corporation Motion tracking using electronic devices
CN110681133A (zh) * 2019-10-31 2020-01-14 北京工业大学 一种用于捡乒乓球机器人的双模态控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120183156A1 (en) * 2011-01-13 2012-07-19 Sennheiser Electronic Gmbh & Co. Kg Microphone system with a hand-held microphone
US20140066816A1 (en) * 2008-12-07 2014-03-06 Apdm, Inc Method, apparatus, and system for characterizing gait
US20140278215A1 (en) * 2013-03-15 2014-09-18 Invensense, Inc. Method to reduce data rates and power consumption using device based attitude generation
US20140288392A1 (en) * 2012-06-22 2014-09-25 Fitbit, Inc. Wearable heart rate monitor
KR20150020034A (ko) * 2013-08-12 2015-02-25 인벤센스, 인크. 디바이스 기반 자세 생성을 사용하여 데이터 레이트들 및 전력 소비를 감소시키기 위한 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3570163B2 (ja) * 1996-07-03 2004-09-29 株式会社日立製作所 動作及び行動の認識方法及び装置及びシステム
SG99310A1 (en) * 2000-06-16 2003-10-27 Oki Techno Ct Singapore Pte Methods and apparatus for reducing signal degradation
US6486661B2 (en) * 2001-02-12 2002-11-26 Delphi Technologies, Inc. Sensor bias drift compensation
US20060169021A1 (en) 2005-01-28 2006-08-03 Silverstein D A Method and apparatus for calibration of a motion sensing device in a portable apparatus
US7508384B2 (en) * 2005-06-08 2009-03-24 Daka Research Inc. Writing system
US7558622B2 (en) * 2006-05-24 2009-07-07 Bao Tran Mesh network stroke monitoring appliance
JP2007330432A (ja) * 2006-06-14 2007-12-27 Mitsuba Corp 生体情報判定システム及び生体情報判定方法並びに生体情報判定プログラム
JP4992043B2 (ja) * 2007-08-13 2012-08-08 株式会社国際電気通信基礎技術研究所 行動識別装置、行動識別システムおよび行動識別方法
US20090174676A1 (en) * 2008-01-04 2009-07-09 Apple Inc. Motion component dominance factors for motion locking of touch sensor data
KR101008360B1 (ko) 2008-07-01 2011-01-14 (주)마이크로인피니티 이동 로봇에서의 자이로 센서 오차를 교정하는 장치 및방법
US7872506B2 (en) 2008-11-04 2011-01-18 Au Optronics Corporation Gate driver and method for making same
CN101879066A (zh) * 2010-03-08 2010-11-10 北京英福生科技有限公司 一种运动监测仪和运动健康数据的监测与传输方法
CN102469406A (zh) * 2010-11-18 2012-05-23 上海启电信息科技有限公司 一种基于无线传感技术的移动定位标识
JP5660913B2 (ja) 2011-02-01 2015-01-28 小島プレス工業株式会社 自動車用導風板及びシール構造
EP2725975A1 (en) * 2011-06-28 2014-05-07 Koninklijke Philips N.V. Sit-to-stand transfer detection
US9683865B2 (en) * 2012-01-26 2017-06-20 Invensense, Inc. In-use automatic calibration methodology for sensors in mobile devices
JP6074897B2 (ja) * 2012-03-16 2017-02-08 セイコーエプソン株式会社 運動解析装置及び運動解析方法
US9005129B2 (en) * 2012-06-22 2015-04-14 Fitbit, Inc. Wearable heart rate monitor
CN103020986B (zh) * 2012-11-26 2016-05-04 哈尔滨工程大学 一种运动目标跟踪方法
CN106073737B (zh) * 2013-06-03 2018-11-23 飞比特公司 可佩戴心率监视器
US10448867B2 (en) * 2014-09-05 2019-10-22 Vision Service Plan Wearable gait monitoring apparatus, systems, and related methods
WO2016160150A1 (en) 2015-03-27 2016-10-06 Intel Corporation Motion tracking using electronic devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140066816A1 (en) * 2008-12-07 2014-03-06 Apdm, Inc Method, apparatus, and system for characterizing gait
US20120183156A1 (en) * 2011-01-13 2012-07-19 Sennheiser Electronic Gmbh & Co. Kg Microphone system with a hand-held microphone
US20140288392A1 (en) * 2012-06-22 2014-09-25 Fitbit, Inc. Wearable heart rate monitor
US20140278215A1 (en) * 2013-03-15 2014-09-18 Invensense, Inc. Method to reduce data rates and power consumption using device based attitude generation
KR20150020034A (ko) * 2013-08-12 2015-02-25 인벤센스, 인크. 디바이스 기반 자세 생성을 사용하여 데이터 레이트들 및 전력 소비를 감소시키기 위한 방법

Also Published As

Publication number Publication date
US10799118B2 (en) 2020-10-13
JP2018516099A (ja) 2018-06-21
JP6689877B2 (ja) 2020-04-28
EP3274791A4 (en) 2018-10-31
CN107408151A (zh) 2017-11-28
US20180125362A1 (en) 2018-05-10
KR102635758B1 (ko) 2024-02-14
WO2016160150A1 (en) 2016-10-06
EP3274791A1 (en) 2018-01-31
CN107408151B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
US9715255B2 (en) Belt driven hinge assembly for electronic devices
KR20190003515A (ko) 전자 디바이스용 360도 힌지 어셈블리
US10007589B2 (en) System and method for universal serial bus (USB) protocol debugging
KR101948242B1 (ko) 전자 디바이스를 위한 관성 측정 유닛
KR102225249B1 (ko) 전자 디바이스용 센서 버스 인터페이스
US20170102787A1 (en) Virtual sensor fusion hub for electronic devices
KR101852980B1 (ko) 전자 디바이스를 위한 자력계 유닛
KR102635758B1 (ko) 전자 디바이스를 사용한 모션 추적
CN106796113B (zh) 使用电子设备的双磁强计的虚拟陀螺仪
KR101937003B1 (ko) 전자 장치용 메모리 카드 커넥터
US20160378137A1 (en) Electronic device with combinable image input devices
US9575551B2 (en) GNSS services on low power hub
US20150253984A1 (en) Smart frame toggling
US20160091963A1 (en) Remote wearable input sources for electronic devices

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant