KR20140108531A - 복수의 센서 입력을 위한 센서 퓨전 인터페이스 - Google Patents

복수의 센서 입력을 위한 센서 퓨전 인터페이스 Download PDF

Info

Publication number
KR20140108531A
KR20140108531A KR1020147016748A KR20147016748A KR20140108531A KR 20140108531 A KR20140108531 A KR 20140108531A KR 1020147016748 A KR1020147016748 A KR 1020147016748A KR 20147016748 A KR20147016748 A KR 20147016748A KR 20140108531 A KR20140108531 A KR 20140108531A
Authority
KR
South Korea
Prior art keywords
entity
data
sensor
computerized device
state data
Prior art date
Application number
KR1020147016748A
Other languages
English (en)
Other versions
KR101933750B1 (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 KR20140108531A publication Critical patent/KR20140108531A/ko
Application granted granted Critical
Publication of KR101933750B1 publication Critical patent/KR101933750B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 물리적 환경의 하나 이상의 엔티티와 컴퓨터화된 디바이스 구성요소 사이의 상호작용을 가능하게 하는 센서 퓨전 인터페이스에 관한 것이다. 복수의 센서 모듈은 환경 내의 하나 이상의 엔티티와 연관된 복수의 센서 입력 데이터를 생성하며, 이러한 데이터를 균일하고 공통적인 스키마에 따라 공유 라이브러리 내에 저장한다. 복수의 센서 입력 데이터는 소정의 레벨의 정확도가 획득될 때까지 정제된다. 센서 퓨전 인터페이스를 이용하여, 엔티티 상태 데이터가 공유 라이브러리로부터 추출되어 컴퓨터화된 디바이스 구성요소에 노출된다.

Description

복수의 센서 입력을 위한 센서 퓨전 인터페이스{SENSOR FUSION INTERFACE FOR MULTIPLE SENSOR INPUT}
다양한 물리적 환경 및 인프라구조는 데이터를 수집하고 동기화하기 위해 센서를 사용한다. 예를 들어, 가정 또는 공장에서 높은 비용의 중요한 문서 및/또는 장비를 안전하게 지키도록 비디오 카메라 시스템을 이용할 수 있다. 가정용 온도조절장치는 평균 온도를 조절하기 위해 센서 네트워크를 사용한다. 보통의 소비자 디바이스는 사진을 찍기 위한 모바일폰 카메라와 같이 데이터를 수집하기 위한 센서를 사용한다. 이러한 센서의 일부는 가속도계, 자이로스코프, MEMS(Microelectromechanical systems) 등과 같은 현실세계와 관련한 측정을 수행한다. 컴퓨터 시스템 및 소프트웨어 구성요소는 현실세계에 대한 풍부한 정보를 제공하도록 일상생활에 흡수된다.
상당한 수의 컴퓨터화된 디바이스 구성요소에 있어서, 지각(perception)의 질을 향상시키도록 복수의 센서를 활용하는 것이 종종 바람직하다. 다수의 상황에서, 센서 측정은 유효하고 정확할 필요가 있다. 시간과 공간에 걸친 물리적 환경의 관찰을 프로세싱함으로써, 센서 측정은 소정의 속성에 대해 보다 정확한 추정치로 조정될 수 있다. 따라서, 컴퓨터 시스템 및 소프트웨어 구성요소는 만족스러운 신뢰 레벨이 획득될 때까지 다양한 센서 입력 프로세싱 동작을 수행한다. 이것은 개선된 사용자 경험과 함께 적절한 수행을 보장한다.
본 요약부는 아래의 상세한 설명에서 추가로 기술되는 대표적인 개념들의 선택을 간략화된 형태로 소개하고자 제공되었다. 본 요약부는 청구된 청구사항의 중요 특성 또는 기본 특성을 식별하기 위한 것이 아니며, 청구된 청구사항의 범주를 한정할 수 있는 임의의 방식으로 사용되기 위한 것 또한 아니다.
간략하게, 본 명세서에 기술된 청구사항의 다양한 측면들은 복수의 센서 입력에 대한 센서 퓨전 인터페이스에 관한 것이다. 일 측면에서, 다양한 센서 모듈 및 (입력) 디바이스는 물리적 환경과 연관된 입력 데이터를 제공한다. 물리적 환경에 대한 모니터링 구성요소는 입력 데이터를 튜닝하여 보다 의미있는 정보로 해석하기 위해서, 이질적인 소스들로부터 입력 데이터를 종합해 크로스-센서 합성(cross-sensor synthesis)을 수행한다. 일 측면에서, 모니터링 구성요소에 대한 상호작용 메커니즘은 센서 퓨전 인터페이스를 통해 이러한 정보에 대한 액세스를 갖는 컴퓨터화된 디바이스 구성요소(예를 들어, 프로그래밍 로직 디바이스, 마이크로코드 및/또는 애플리케이션을 포함하는 프로그램과 같은 하드웨어 및/또는 소프트웨어 구성요소, 운영 시스템, 펌웨어 등)를 제공한다.
일 측면에서, 센서 퓨전 인터페이스는 엔티티(예로서, 사용자)와 컴퓨터화된 디바이스 구성요소 사이의 상호작용을 가능케 한다. 센서 퓨전 인터페이스는 복수의 센서 모듈에 연결된 공유 라이브러리에 액세스하여 엔티티와 연관된 복수의 센서 입력 데이터를 저장한다. 일 측면에서, 공유 라이브러리는 다른 센서 모듈로 하여금 이러한 데이터를 정제(refine)하고 (가능하다면) 또 다른 센서 모듈이 추가로 정제하기 위해 정제된 데이터를 공유 라이브러리 내에서 재공개할 수 있게 하도록 복수의 센서 입력 데이터를 조직화하기 위한 공통 스키마(common schema)를 사용한다. 일부 포인트에서, 복수의 센서 입력은 물리적 환경과 관련된 엔티티의 상태에 대한 정보 및 소정의 신뢰 수준을 달성한다. 컴퓨터화된 디바이스 구성요소를 대신하여, 센서 퓨전 인터페이스 및 상호작용 메커니즘은 공유 라이브러리로부터 엔티티 상태 데이터를 추출하여 컴퓨터화된 디바이스 구성요소에 엔티티 상태 데이터에 대한 액세스를 제공한다.
다른 측면에서, 물리적 환경은 서로 상호작용할 수 있거나 상호작용하지 않을 수 있는 복수의 엔티티를 포함한다. 물리적 환경을 모니터링하는 동안, 상호작용 메커니즘은 센서 퓨전 인터페이스를 통해 엔티티 상태 데이터에 대한 요청들을 수신할 수 있다. 일 측면에서, 이러한 요청들 중 일부는 센서 입력 데이터를 결합할 때 어떤 입력 양식을 선택해야 하는지를 나타내는 구성 데이터를 포함한다. 상호작용 메커니즘은 컴퓨터화된 디바이스 구성요소가 원하는 타입의 복수의 센서 입력 데이터를 생성하도록 복수의 센서 모듈을 구성한다. 복수의 센서 입력 데이터가 생성되면, 상호작용 메커니즘은 엔티티 상태 데이터를 추출하여 컴퓨터화된 디바이스 구성요소에 인스턴스(instance)를 전달한다. 인스턴스는 (공유) 저장 장치 내의 엔티티 상태 데이터에 대한 참조 또는 카피일 수 있다.
그외의 장점들이 아래의 상세한 설명 및 첨부된 도면으로부터 명백해질 것이다.
도 1은 일 구현에 따른 센서 퓨전 인터페이스에 대한 예시적인 시스템을 도시한 블록도.
도 2는 일 구현에 따라 컴퓨터화된 디바이스 구성요소와 엔티티 사이의 상호작용을 가능케 하는 센서 퓨전 인터페이스에 대한 예시적인 아키텍처를 나타내는 도면.
도 3은 일 구현에 따라 컴퓨터화된 디바이스 구성요소에 센서 퓨전 인터페이스를 노출시키는 예시적인 단계를 도시한 순서도.
도 4는 일 구현에 따라 복수의 센서 입력으로부터 컴퓨터화된 디바이스 구성요소 제어 데이터를 생성하는 예시적인 단계를 도시한 순서도.
도 5는 일 구현에 따라 엔티티 상호작용을 관리하는 예시적인 단계를 도시한 순서도.
도 6은 본 명세서에 기술된 다양한 실시예들이 구현될 수 있는 예시적인 비한정적 네트워킹된 환경을 나타내는 블록도.
도 6은 본 명세서에 기술된 다양한 실시예의 하나 이상의 측면이 구현될 수 있는 운영 환경 또는 예시적인 비한정적 컴퓨팅 시스템을 나타내는 블록도.
본 발명은 첨부된 도면들로 제한되지 않는 예시적인 방식으로 설명되었으며, 도면에서 동일한 참조번호는 유사한 요소를 나타낸다.
본 명세서에 개시된 기술의 다양한 측면들은 일반적으로 컴퓨터화된 (사용자) 디바이스 구성요소와의 상호작용을 가능케 하는 센서 퓨전 인터페이스에 관한 것이다. 일 구현에서, 물리적 환경 내의 각 엔티티(예로서, 사람)에 있어서, 상호작용 메커니즘은 특정한 시점에서의 위치 및/또는 방향을 포함하는 엔티티 프로파일을 정의한다. 엔티티 프로파일은 또한 스피치(speech) 및/또는 제스처 커맨드와 엔티티가 센서 경계선을 벗어난 인스턴스를 나타내는 이벤트 훅(event hook)을 포함할 수 있다. 일 구현에서, 엔티티 프로파일은 컴퓨터화된 디바이스 구성요소에 노출되었을 때 하나 이상의 커맨드/제어 입력을 나타낼 수 있다. 일 구현에서, 상호작용 메커니즘은 센서 퓨전 인터페이스를 통해서 엔티티 액티비티에 응답하여 엔티티 프로파일을 업데이트하도록 공동 지식 데이터 구성요소에 지시한다. 일 구현에서, 공동 지식 데이터 구성요소는 균일한 스키마에 따라 복수의 센서 모듈로부터 복수의 센서 입력을 통합하고 복수의 센서 입력에 기초하여 엔티티 액티비티를 식별한다.
본 명세서의 임의의 예시들은 비한정적인 것임을 이해해야 한다. 이렇게, 본 발명은 본 명세서에 개시된 임의의 특정한 실시예, 측면, 개념, 구조, 기능 또는 예시로 제한되지 않는다. 오히려, 본 명세서에 개시된 임의의 실시예, 측면, 개념, 구조, 기능 또는 예시는 비한정적이며, 본 발명은 일반적으로 컴퓨팅 및 데이터 관리에서 이익 및 장점을 제공하는 다양한 방식으로 사용될 수 있다.
도 1은 일 구현에 따른 센서 퓨전 인터페이스에 대한 예시적인 시스템을 도시한 블록도이다. 예시적인 시스템의 구성요소는 복수의 컴퓨터화된 디바이스(1021...N)(디바이스(1021) 내지 디바이스(102N)로서 도시되었으며, 이후에서는 디바이스(102)로 지칭됨) 및 모니터링 구성요소(104)를 포함한다.
디바이스(102)는 모니터링 구성요소(104)에 센서 입력 신호를 제공할 수 있으며, 모니터링 구성요소(104)는 추가적인 프로세싱을 위해 적절한 원 데이터(raw data)를 저장한다. 일 구현에서, 디바이스(102)는 전자 디지타이저, 모바일폰, 마이크로폰, 멀티미디어 캡처 디바이스(예컨대, 카메라), 이미징 디바이스, 깊이 카메라(depth camera), 키보드 및 흔히 마우스, 트랙볼 또는 터치 패드로 지칭되는 포인팅 디바이스와 같이 엔티티 및/또는 물리적 환경과 연관된 입력 데이터를 제공하는 임의의 감지 디바이스를 포함할 수 있다. 디바이스(102)의 다른 실시예는 조이스틱, 게임 패드 및 임의의 다른 무선 또는 유선 컨트롤러를 포함할 수 있다. 각각의 디바이스(102)는 모니터링 구성요소(104)에 물리적으로 부착될 수 있거나 또는 원거리에 위치될 수 있다.
디바이스(102)의 예시는 또한 컴퓨터 비전 디바이스, 마이크로폰, 가속도계, 자이로스코프, 자기력계(magnetometer), 콤파스, 시계, GPS 디바이스, 온도계, 습도계, 광센서, 적외선 센서, 주변 디바이스의 신호 세기, 액세스 포인트, 또는 다른 송신기, 깊이 센서 등을 포함할 수 있다. 이러한 예시적인 디바이스(102)는, 현재의 공간 및/또는 디바이스 온도, 사용자가 이동중인지, 어느 속도로 이동중인지 여부, 사용자가 혼자 있는지 또는 다른 사람과 함께 있는지, 주변 빛의 양, 컴퓨터 관련 또는 출력 디바이스 관련 데이터(예를 들어, 디바이스 배터리 수명, 이용가능한 전력, 구동중인 프로그램 및 서비스) 등과 같은 환경적 데이터 및 그외의 데이터를 감지할 수 있다.
일 구현에서, 모니터링 구성요소(104)는 디바이스(102)에 의해 생성된 입력 데이터에 대한 통합 포인트를 제공하도록 구성될 수 있으며, 하나 이상의 엔티티와 연관된 멀티-모달 (센서) 입력 데이터를 프로세싱하는 하나 이상의 컴퓨터화된 디바이스 구성요소에 센서 퓨전 인터페이스(108)를 노출하기 위한 상호접속 메커니즘(106)을 포함할 수 있다. 모니터링 구성요소(104)는 또한 공유 라이브러리(110), 엔티티 상태 데이터(112), 구성 데이터(114), 제어 데이터(116) 및 센서 모듈(118)을 포함할 수 있다. 본 명세서에서 기술된 바와 같이, 공유 라이브러리(110)는 복수의 센서 입력 데이터(예를 들어, 공통 포맷 또는 타입 시스템의 오디오 데이터, 비디오 데이터, 이미지 데이터 등)의 도식화된 버전에 상응할 수 있다. 엔티티 상태 데이터(112)는 각 엔티티에 대한 포즈(pose)를 나타낼 수 있다(예를 들어, 참조 프레임으로서 물리적 환경에 기초한 위치 및 방향에 대한 카테시안 좌표(Cartesian coordinates)). 구성 데이터(114) 및 제어 데이터(116)는 각각의 엔티티와 컴퓨터화된 디바이스 구성요소(120) 사이의 상호작용을 나타낼 수 있다(예를 들어, 프로그램과 같은 하드웨어 또는 소프트웨어 구성요소의 타입).
본 명세서에서 기술되는 공유 라이브러리(110)는 디바이스(102) 및/또는 센서 모듈(118)로부터의 측정과 같은 입력 데이터를 포함한다. 이러한 측정은 크로스-합성(cross-synthesis)을 겪으며, 그에 따라 다양한 디바이스(102) 및/또는 센서 모듈(116)이 입력 데이터에 액세스하여 의미있고 유용한 정보를 추가하도록 다른 디바이스 및/또는 센서 모듈을 위해 공유 라이브러리(110) 내에 공개되는 스피치/얼굴/제스처 인식과 같은 추가적인 프로세싱을 수행한다. 소정의 기간 후에, 모니터링 메커니즘(104)은 다양한 입력 데이터들을 상관시키고, 포즈, 구술된 단어, 제스처 등의 임의의 조합으로서 정의될 수 있으며 엔티티 상태 데이터(112) 내에 저장될 수 있는 복수의 센서 입력으로부터 엔티티 상태를 결정한다. 상호작용 메커니즘(106)은 엔티티 상태 데이터(110)를 추출하여 컴퓨터화된 디바이스 구성요소(120)에 카피를 제공한다.
일 구현에서, 하나 이상의 엔티티는 게임/시뮬레이터 프로그램 내의 플레이어 또는 플레이어들, 증강 현실 콘텐츠 및/또는 서비스를 원하는 모바일폰 사용자, 뮤직 플레이리스트 시스템 사용자(들) 등을 포함할 수 있다. 컴퓨터화된 디바이스 구성요소 성능 및 사용자/플레이어 경험은, 복수의 센서 입력 데이터를 프로세싱하고 엔티티 이동(예로서 제스처 커맨드와 같은 상징적 액티비티), 둘 이상의 엔티티 사이의 상호작용 등과 같은 엔티티 액티비티와 연관된 의미/의도를 결정하는 컴퓨터화된 디바이스 구성요소의 능력과 비례적으로 관련될 수 있다.
일 구현에서, 구성 데이터(114)는 제어 데이터(116) 내에 저장될 수 있으며 컴퓨터화된 디바이스 구성요소(120)로 전달될 수 있는, 컴퓨터화된 디바이스 구성요소(120)에 대한 제어 입력/커맨드로 해석하는 다양한 형태의 엔티티 액티비티를 정의할 수 있다. 소정의 기간에 걸쳐, 상호작용 메커니즘(106)은 엔티티 상태에 대한 변화들을 추적함으로써 이러한 엔티티 액티비티들 중 하나를 식별한다. 스피치/제스처 기반 제어에 더하여 또는 그와 함께, 엔티티 포즈에서의 변화는 컴퓨터화된 디바이스 구성요소(120) 행동의 의도된 변화를 명백하게 또는 함축적으로 나타낼 수 있다. 예를 들어, 모바일 폰 사용자는 디바이스 카메라를 하늘을 향해 위로 가리킬 수 있고 모바일폰 구성요소에 "나의 현재 스크린의 밤하늘 모습을 별자리 이름으로 증강하라"라고 명확하게 지시할 수 있으며, 이것은 모니터링 구성요소(104)로 하여금 오디오 데이터를 스피치 인식 결과 및 이미지 데이터와 융합하게 한다. 유사하게, 엔티티에 의해 조작되고 있는 디바이스의 위치 또는 방향에서의 변화는 디바이스 구성요소 행동에서의 원하는 변화도 나타낼 수 있다.
다른 예시로서, 상호작용 메커니즘(106)은 특정한 엔티티의 움직임(예로서, 몇걸음 걷기, 공중으로 뛰어오르기 등) 및 방향(예로서, 바라보는 방향 또는 얼굴/몸의 방향)을 가상 캐릭터(예컨대, 엔티티의 아바타)를 움직이고 배향하기 위한 의미론적 제어 입력으로서 해석할 수 있다. 포인팅 디바이스 내의 깊이 카메라 및 자이로스코프는 엔티티 움직임과 신체 방향에 대한 측정을 제공할 수 있다. 또한, 헬멧 디바이스 상의 다른 자이로스코프는 얼굴 방향에 대한 측정을 제공할 수 있다. 만약 엔티티가 점프하거나, 몸을 수그리거나, 또는 다른 방식으로 위아래로 이동한다면, 가속도계(예를 들어, 미시역학적 가속도계 또는 중력계)는 중력(즉, 지-포스(g-force)), 방향, 변위 및/또는 기간에 대한 엔티티 가속도를 측정할 수 있다. 이러한 측정은 복수의 센서 입력 데이터로 결합될 수 있으며, 서로 다른 시점에 대한 엔티티 상태 데이터(112)를 생성하도록 상관될 수 있다.
디바이스(102)와 센서 모듈(118)의 결합은 복수의 양식으로부터 모니터링 구성요소(104)로 센서 입력(데이터)의 세트를 제공할 수 있다. 디바이스(102)는 또한 환경적 데이터 및/또는 다른 감지된 데이터를 모니터링 구성요소(104)에 제공할 수 있다. 보다 구체적으로, 합쳐졌을 시에 디바이스(102)들은 모니터링 구성요소(104)에 의해 추적 및/또는 분석되고 있는 엔티티 또는 엔티티들과 물리적 환경에 대한 상세한 정보를 수집하기 위한 능력을 갖는다. 구성 데이터(114)는 센서 모듈(118) 및/또는 디바이스(102) 중 소정의 하나를 복수의 센서 입력 데이터를 생성하기 위해 사용하도록 나타낼 수 있다. 디폴트에 의해서, 상호작용 메커니즘(106)은 센서 모듈(118) 및/또는 디바이스(102) 전부로부터의 센서 입력들을 통합한다. 구성 데이터(114)는 만약 센서 모듈(118) 및/또는 임의의 디바이스(102)가 이용가능하지 않다면 오류가 반환되어야만 한다는 것을 나타낼 수 있다.
일 구현에서, 센서 모듈(118)은 디바이스(102) 중 하나 이상에 대한 소프트웨어 구성요소 또는 에이전트를 포함할 수 있다. 예를 들어, 가속도계를 포함하는 모바일폰은 모션 데이터를 전달하기 위해 모니터링 구성요소(104) 상의 에이전트를 사용할 수 있다. 다른 예시로서, 카메라는 원 이미지 데이터를 포맷된 버전으로 변환하고/하거나 이미지 데이터로부터 특성 데이터를 추출하기 위한 소프트웨어 모듈을 사용할 수 있다. 이와 달리, 카메라는 모니터링 구성요소(104) 상에 원 데이터를 저장할 수 있다.
다른 구현에서, 센서 모듈(118)의 일부는 물리적 환경 및/또는 엔티티와 연관된 높은 레벨 또는 정밀한(fine-grained) 정보를 제공하는 소프트웨어 기반 센서를 포함한다. 원 센서 입력에 더하여, 이러한 센서 모듈(118)은 의미있는 정보를 제공하도록 적절한 입력 데이터를 프로세싱한다. 예를 들어, 센서 모듈(118)은 디바이스(102)에 의해 제공되는 센서 입력을 프로세싱하는 얼굴 인식 모듈, 스피치 인식 모듈, 제스처 인식 모듈 등을 포함할 수 있으며, 특정한 엔티티의 얼굴 특성, 구술된 단어 및/또는 신체적 포즈/움직임을 각각 식별한다.
도 2는 일 구현에 따라 컴퓨터화된 디바이스 구성요소와 엔티티들 사이의 상호작용을 가능케 하는 센서 퓨전 인터페이스에 대한 예시적인 아키텍처를 나타낸다. 도 1에서 도시되고 본 명세서에서 기술된 바와 같이, 디바이스(102)와 센서 모듈(118)의 결합은 하나 이상의 게임 콘솔 카메라(예를 들어, 깊이 감지 카메라)의 세트, 웹 카메라, 마이크로폰, 디지타이저, 펜/포인팅 디바이스, 가속도계 및 가능한 입력 양식에 상응하는 데이터(예를 들어, 지식 데이터)의 소스(2021-202m)를 나타낼 수 있는 "그외의" 디바이스를 포함할 수 있다.
소스(2021-202m)가 다양한 디바이스 및/또는 센서 모듈의 특정한 예시를 나타낼 수 있지만, 이러한 예시들이 디바이스 및/또는 센서 모듈의 완전한 잠재적인 구성은 아니며, 다른 소스(들)(202m)가 자기계, 적외선 구조화 광 등과 같은 모션 컨트롤러 구성요소를 포함하는 임의의 수의 디바이스 및/또는 센서 모듈을 포함할 수 있다. 활용될 수 있는 다른 입력 데이터는 펜 디바이스로부터의 전자 잉크, 시선(방향, 경과 시간), 근접 감지, 스피치, 에어 제스처(air gesture), 신체 위치/신체 언어, 얼굴 표정, 보강으로서의 미러링(예로서, 포인팅, 마임 방향을 바라보기), 터치, 멀티-터치 마우스, 뇌파 컴퓨터 입력, 키보드, 인에어(in-air) 마우스(예로서, 소프(soap)), 악기(예로서, MIDI), 물리적 인터페이스의 조작(예로서, 블로브, 또는 햅틱 인터페이스 등)을 포함한다. 표정과 얼굴 색 변화의 결합, 온도, 그립(grip) 압력 및/또는 기분에 대한 다른 가능한 표시자와 같은 기분 감지가 다른 실형가능한 입력 양식이다.
일 구현에서, 모션 감지 입력 디바이스(2021)는 하나 이상의 엔티티(예를 들어, 게임 콘솔과 상호작용하는 하나 이상의 플레이어)가 제스처, 신체 움직임 및/또는 음성 커맨드를 이용하여 인터페이스(예를 들어, 게임 콘솔 인터페이스)와 자연적으로 상호작용하게 한다. 모션 감지 입력 디바이스(2021)는 시각적 데이터를 캡처하기 위한 컬러 카메라(예를 들어, RGB(Red Green Blue) 카메라), 엔티티 존재 및 디바이스의 정면으로부터의 거리를 검출하기 위한 깊이 카메라, 물리적 환경 내의 오디오 데이터를 캡처하기 위한 마이크로폰 어레이 등과 같은 다양한 미디어 또는 멀티미디어 캡처 메커니즘을 포함할 수 있다.
일 구현에서, 모션 감지 입력 디바이스(2021)는 하나 이상의 엔티티(예를 들어, 사람, 동물, 로봇 등)를 나타내는 이미지 데이터에 상응하는 정보를 추적하는 골격과 같은 다양한 환경 및/또는 엔티티 데이터를 제공한다. 골격 추적 정보는 시야 내의 엔티티 움직임을 기술할 수 있다. 모션 감지 입력 디바이스(2021)가 엔티티 움직임을 캡처 및/또는 분석하지 않을 수 있는 시야의 부분이 존재할 수 있다(예를 들어, 데드 존(dead zone) 또는 뉴트럴 존(neutral zone)). 일 구현에서, 이러한 부분 내의 엔티티 움직임 또는 제스처는 모션 감지 입력 디바이스(2021)에 의해 사용되는 캡처 메커니즘을 캘리브레이트(calibrate)할 수 있다.
일 구현에서, 모션 감지 입력 디바이스(2021)는 또한 객체 또는 엔티티와 카메라 사이의 거리를 계산하기 위해 깊이 데이터 및 컬러 카메라 스트림 데이터를 조사하는 XYZ-깊이 카메라에 의해 생성되는 엔티티 데이터 및/또는 환경을 제공할 수 있다. 다른 구현에서, 모션 감지 입력 디바이스(2021)는 4-요소 마이크로폰 어레이에 의해 제공되는 오디오 데이터를 프로세싱할 수 있다. 예를 들어, 모션 감지 입력 디바이스(2021)는 현재 사운드 소스를 식별하도록 음향 노이즈 및 에코 소거 기술 및/또는 빔 형성을 적용할 수 있다.
일 구현에서, 스피치 인식 모듈(2022)은 구술된 언어 문법에 따라 오디오 데이터를 단어/문장으로 해독할 수 있다. 스피치 인식 모듈(2022)은 모션 감지 입력 디바이스(2021)의 마이크로폰 어레이와 같은 임의의 소스, 또는 컴퓨터 마이크로폰, 모바일폰 음성 리코더 등과 같은 하나 이상의 "다른" 소스(들)(202m)로부터의 오디오 데이터를 프로세싱할 수 있다. 스피치 인식 모듈(2022)은 구술된 언어 문법에서 사용되는 단어를 포함하는 사전을 이용하여 개시될 수 있다. 스피치 인식 모듈(2022)은 스피치를 단어들로 식별/분류하기 위해 오디오에 임의의 기술을 적용할 수 있다.
일 구현에서, 소비자 디바이스(2023)는 임의의 컴퓨팅 디바이스(예로서, 랩탑, 데스크톱, 태블릿 등), 모바일 디바이스(예로서, 모바일폰, 스마트폰 등과 같은 임의의 핸드셋 디바이스), 게임 콘솔 컨트롤러, 모션 포인터 원격 컨트롤러 등을 포함할 수 있다. 소비자 디바이스(2023)는 하나 이상의 센서 모듈 및/또는 하나 이상의 (입력) 디바이스를 포함할 수 있다. 예를 들어, 소비자 디바이스(2023)는 자기계(콤파스)와의 통신을 위해서 가속도계 및 인터페이스(예를 들어, 외부 버스 및 포트)와 함께 내장 자이로스코프를 포함할 수 있다. 소비자 디바이스(2023)는 또한 하나 이상의 엔티티와 연관된 이미지 데이터를 제공하는 (마이크로폰을 구비하거나 구비하지 않는) 카메라를 포함할 수 있다. 이러한 저전력 고정확도 MEMS 디바이스는 엔티티 포즈 및/또는 디바이스 포즈(예를 들어, 엔티티 또는 디바이스의 위치 및/또는 방향)에 대한 미세립 정보를 제공한다.
일 구현에서, 얼굴 인식 모듈(2024)은 이미지 데이터(예로서, 하나의 이미지 또는 이미지들의 세트) 및/또는 비디오 데이터(예로서, 비디오 프레임) 내의 (사람) 얼굴을 검출하고 식별할 수 있다. 얼굴 인식 모듈(2024)의 실시예는 하드웨어 구성요소 및/또는 소프트웨어 구성요소를 포함할 수 있다. 얼굴 인식 모듈(2024)은 이전에 확인된 엔티티 얼굴에 대해 올바르게 라벨링된 특성을 갖는 이미지 세트를 이용하여 배치에 앞서 트레이닝될 수 있다. 트레이닝된 후에, 얼굴 인식 모듈(2024)은 모션 감지 입력 디바이스(2021), 소비자 디바이스(2023) 및/또는 다른 소스(들)(202m) 중 하나(예를 들어, 웹 카메라, 모바일폰 카메라, 다른 엔티티에 속하는 3차원 또는 2차원 디지털 카메라 등)에 의해 캡처된 이미지를 프로세싱할 수 있으며, 이미지 세트로부터의 어떤 엔티티가 환경 내에 존재할 수 있는지를 결정할 수 있다. 트레이닝 세트의 크기는 환경 타입에 의존할 수 있다. 예를 들어, 상대적으로 작은 이미지 세트는 가족 또는 작은 사무실에 충분할 수 있는 반면, 보다 큰 이미지 세트는 글로벌 조직에 사용될 수 있다. 환경 내의 엔티티 아이덴티티를 확인하기 위한 다른 메커니즘으로서, 엔티티에 부착된 개인 라디오 주파수(RF; Radio Frequency) 식별 태그가 주기적으로 위치 데이터를 전송할 수 있다.
일 구현에서, 제스처 인식 모듈(2025)은 다양한 기술(예로서, 컴퓨터 버전 및 이미지 프로세싱 기술)을 이용하여 임의의 신체적 모션 및/또는 상태로부터 비롯된 엔티티(예로서, 사람) 제스처를 해석할 수 있다. 제스처 인식 라이브러리는 얼굴 및 손 제스처로부터 감정, 자세/포즈, 걸음걸이 및/또는 근접학(proxemics)과 같은 제스처 및 신체 언어를 식별하도록 사용될 수 있다. 제스처 인식 모듈(2025)은 모션 감지 입력 디바이스(2021), 소비자 디바이스(2023), 자이로스코프, 모션 프로세싱 장치(2026) 등과 같은 적절한 디바이스로부터 기록되고 이전에 확인된 제스처를 이용하여 트레이닝될 수 있으며, 제스처 인식 모듈(2025)은 동일한 제스처에 대한 미래의 호출(invocation)을 인식하도록 제스처를 모델링할 수 있다.
일 구현에서, 모션 프로세싱 장치(2026)는 다른 디바이스 또는 구조 내에 내장된 집적 회로(예컨대, 칩)를 포함할 수 있다. 예를 들어, 모션 프로세싱 장치(2026)는 태블릿 컴퓨터, 모바일폰, (원격) 모션 컨트롤러, 모션 포인터 원격 제어 등을 포함할 수 있다. 일 구현에서, 모션 프로세싱 장치(2026)는 자기계와 같은 제 3 자 디지털 센서로 인터페이싱하는 보조 포트를 갖는 내장된 3-축(axis) 자이로스코프, 3-축 가속도계 및 하드웨어 가속도계 엔진을 포함할 수 있다. 그러므로, 모션 프로세싱 장치는 통합된 9-축 센서 퓨전 및 정확한 6-자유도(degree of freedom) 모션 캡처를 용이하게 할 수 있다. 예시적인 모션 프로세싱 장치는 INVENSESNE® MPU-60X0 Motion Processing Unit일 수 있다.
모션 프로세싱 장치(2026)는 가속도 및 회전식 모션 플러스 헤딩 정보를 공동 지식 데이터 구성요소(204)에 대한 단일 데이터 스트림으로 결합할 수 있다. 데이터 스트림은 자이로스코프, 가속장치 및/또는 자기계로부터의 엔티티/디바이스 방향 및/또는 포즈에서의 변화를 나타낼 수 있다. 데이터 스트림은, 소정의 기간에 걸친 드리프트(drift)와 같은 데이터 스트림 내의 원치 않는 교란을 드러낼 수 있으며, 이는 가속도계 데이터를 자이로스코프 데이터와 결합하거나, 데이터 스트림에 칼만 필터(Kalman filter)를 적용하거나, 및/또는 자이로스코프를 자기 콤파스로 주기적으로 캘리브레이트함으로써 부분적으로 정정될 수 있다.
공동 지식 데이터 구성요소(204)(예로서, 당업계에서 일반적으로 잘 알려진 소프트웨어 디자인 패턴을 지칭하는 블랙 보드)는 지식의 모든 소스(2021-202m) 상에서 구성된 글로벌 데이터 구조, 스키마 또는 타입 시스템을 정의할 수 있다. 글로벌 데이터 구조를 이용하여, 스키마 또는 타입 시스템, 공동 지식 데이터 구성요소(204)는 원 입력 데이터, 문제점, 부분적 솔루션, 대안, 제안, 기증된 정보, 파이널, 솔루션, 제어 정보 및 통신 매체/버퍼의 공유 라이브러리를 유지한다. 공동 지식 데이터 구성요소(204)는 복수의 센서 입력 데이터(206)를 제공하는 모든 디바이스 및 센서 모듈(이후에서는 집합적으로 센서로 지칭된다)에 대한 공통 특성(예를 들어, 방법, 속성, 데이터 멤버 등)을 정의하는 센서 인터페이스를 구현한다. 예를 들어, 센서 인터페이스는 센서가 엔티티를 추적중인지 여부를 표기하기 위한 상태 플래그, 캘리브레이션 방법, 초기화/비초기화 방법 및 센서 이름을 갖는 객체 인스턴스를 생성할 수 있다. 센서 인터페이스는 임의의 센서와 통신하고자 할 수 있다.
일 구현에서, 공동 지식 데이터 구성요소(204)는 또한 공동 지식 데이터 구성요소(204) 상의 변화에 기회주의적으로 응답하여 소스(2021-202m)를 허용하는 분명한 제어 메커니즘을 구현할 수 있다. 공동 지식 데이터 구성요소(204)에 의해 해결되는 문제의 일 타입은, 엔티티 액티비티 뒤의 의미 및 의도를 컴퓨터화된 디바이스 구성요소(예를 들어, 애플리케이션)의 행동으로 해석하기 위해서 이러한 의미 및 의도를 특수성을 가지고 정의하는 것이다.
일 구현에서, 공동 지식 데이터 구성요소(204)는 디바이스(102) 및/또는 센서 모듈(118)이 판독/기록할 수 있으며 센서 퓨전 인터페이스(208)가 컴퓨터화된 디바이스 구성요소(210)에 액세스를 제공할 수 있는, 중심적으로 액세스 가능한 데이터 스토어를 포함한다. 센서 퓨전 인터페이스(208)는 또한 데이터 스토어의 콘텐츠를 수령인에 전달할 수 있다. 공동 지식 데이터 구성요소(204)는 카메라 이미지, 음성/제스처 커맨드, 카메라 이미지 내의 엔티티 아이덴티티, 엔티티들(예로서, 플레이어들)의 리스트 등과 같은 현재 및/또는 역사적 데이터를 저장한다. 공동 지식 데이터 구성요소(204)는 특정한 시나리오에서 초기화되는 임의의 센서로부터의 입력 데이터를 수용하도록 동적으로 수정될 수 있다.
만약 공동 지식 데이터 구성요소(204)의 콘텐츠가 변경되면(예를 들어, 새로운 카메라 이미지 프레임이 도착), 공동 지식 데이터 구성요소(204)는 이벤트를 생성하여 이러한 이벤트를 컴퓨터화된 디바이스 구성요소(210)에 노출한다. 이러한 콘텐츠를 소비하길 원하는 다른 모듈은 이러한 이벤트에 가입하여 공동 지식 데이터 구성요소(204) 인스턴스로부터 새로운 데이터를 판독할 수 있다. 이러한 방식으로 센서는 서로의 존재에 대한 임의의 상세한 지식을 갖지 않고도 깔끔하고 효율적인 방식으로 교차-통신(cross-communication)을 할 수 있다.
공동 지식 데이터 구성요소(204)는 또한 엔티티 상태를 추적, 모니터링 및/또는 분석할 수 있다. 예시로서, 센서 또는 센서들의 세트가 엔티티/플레이어가 존재한다고 검출했을 때(예를 들어, 모션 감지 입력 디바이스(2021)가 골격을 인식 및/또는 얼굴 인식 모듈이 얼굴을 검출), 센서 또는 센서들의 세트는 공동 지식 데이터 구성요소(204) AddPlayer() 방법을 작동하며, 이것은 엔티티를 새로운 플레이어로서 현재 추정되고 있는 엔티티들의 리스트에 추가하고, 추가된 엔티티와 연관된 입력 데이터를 종합하여 결합하도록 공동 지식 데이터 구성요소(204)를 구성하며, 다른 센서들이 가입할 수 있는 글로벌 이벤트를 컴퓨터화된 디바이스 구성요소(210)에 파이어링(fire)한다.
일 구현에서, 아이덴티티(214), 위치(216), 방향(218), 스피치/제스처 등과 같은 추가된 엔티티와 연관된 임의의 데이터가 프로파일들의 세트(212) 중 상응하는 프로파일에 첨부될 수 있다. 위치(216)는 3차원 공간에서 전신의 위치 및/또는 신체 일부 위치(예를 들어, 손의 위치)를 지칭할 수 있다. 유사하게, 방향(218)은 얼굴 방향과 같은 특정한 신체 부분 방향 및/또는 신체 방향을 지칭할 수 있다. 또한, 위치(216) 및 방향(218)은 모바일폰 또는 포인팅 디바이스와 같은 엔티티에 의해 조작되는 디바이스를 지칭할 수 있다. 일 구현에서, 프로파일들(212) 중 예시적인 하나의 프로파일은 임의의 특정한 엔티티에 대한 복수의 센서 입력 데이터를 캡처하는 골격 위치, 손 위치, 현재 스피치 커맨드, 머리 위치 및 아이덴티티와 같은 데이터를 포함한다. 이러한 필드들이 실질적으로 완료되면, 센서 퓨전 인터페이스(208)는 컴퓨터화된 디바이스 구성요소(210)에 프로파일을 전달할 수 있다.
센서 퓨전 인터페이스(208)는 컴퓨터화된 디바이스 구성요소(210) 및/또는 프로그램 개발자에게 엔티티 관련 정보를 제공함으로써 멀티-센서 및 멀티-인원 프로그램 개발을 용이하게 한다. 일 구현에서, 예를 들어 엔티티가 센서 퓨전 인터페이스(208)는 예를 들어 센서와 연관된 검출 경계 또는 범위를 떠나는 경우에 하나 이상의 이벤트(훅)(220) 및 현재 엔티티 상태를 노출한다. 센서 퓨전 인터페이스(208)는 또한 컴퓨터화된 디바이스 구성요소(210)에 대한 엔티티에 의해 발생되는 현재 커맨드/제어 입력을 노출한다. 다른 구현에서, 센서 퓨전 인터페이스(208)는 또한 디폴트 옵션 및/또는 선택된 센서에 대한 커스텀 옵션을 이용하여 컴퓨터화된 디바이스 구성요소(210)에 센서 초기화를 제공한다.
또 다른 구현에서, 센서 퓨전 인터페이스(208)는 또한 엔티티와 상호작용하기 위한 하나 이상의 지원 도구(222)를 제공한다. 일 예시에서, 지원 도구(222)는 실행되었을 때 원 방향 입력 데이터 또는 다른 모션 데이터를 모션 감지 입력 디바이스(2021) 또는 소비자 디바이스(2023)와 같은 센서로부터 의미론적 제어 입력으로의 변환하는 소프트웨어 코드를 포함하며, 이것은 일반적으로 본 명세서에서 기술되는 바와 같은 캘리브레이션 및 데드-존 할당을 통해 획득될 수 있다.
다른 예시적인 지원 도구(222)는 실행되었을 때 개발자로 하여금 추상적인 환경 모델(예를 들어, 집 안의 방과 방들 사이의 연결을 나타내는 모델)을 생성하게 하는 소프트웨어 코드를 포함한다. 특정한 센서가 환경 모델의 소정의 영역(예를 들어, 방들)에 추가될 수 있다. 예를 들어, 방이 3개인 집의 각각의 방에는 모션 감지 입력 디바이스(2021)가 갖추어질 수 있으며, 이것은 환경에 대한 엔티티 추적을 가능케 한다. 엔티티가 서로 다른 영역으로 이동할 때, 컴퓨터화된 디바이스 구성요소(210)는 하나의 센서로부터 엔티티에 더 가까울 수 있는 다른 센서로 엔티티 추적 의무를 넘길 수 있다.
예시로서, 컴퓨터화된 디바이스 구성요소(210)는 입력 데이터의 소스로서 모션 감지 입력 디바이스(2021) 및 소비자 디바이스(2023)(예를 들어, 포인팅 디바이스 내에 내장된 자이로스코프)를 사용하는 몰입형 1인칭 슈팅 게임 경험일 수 있다. 모션 감지 입력 디바이스(2021)는 신체 관절 움직임 및 플레이어 위치와 연관된 거친/저해상도/고레벨 정보를 제공한다. 또한, 소비자 디바이스(2023)는 디바이스 방향과 연관된 미세립의 고해상도 정보를 제공한다. 만약 소비자 디바이스(2023)가 휴대용이라면, 소비자 디바이스(2023)는 엔티티가 어디를 '바라보고' 있거나 겨냥하는지를 결정할 수 있다.
이러한 예시에서, 센서 퓨전 인터페이스(208)는 가상 캐릭터가 어떻게 움직이는지를 결정하기 위해서 지원 도구(222) 중 적절한 하나 및 모션 감지 입력 디바이스(2021)로부터의 위치 데이터를 사용한다. 중앙 데드-존으로부터 앞을 향해 걷는 것은 가상 캐릭터로 하여금 앞으로 이동하게 하고, 뉴트럴, 데드-존으로 복귀하는 것은 가상 캐릭터가 정지하게 한다. 소비자 디바이스(2023)로부터의 데이터는 가상 캐릭터가 마주하는 방향 또는 엔티티가 '바라보는' 방향을 제어할 수 있다. 포인터 또는 지팡이와 같은 소비자 디바이스(2023)를 자신의 손으로 잡음으로써, 엔티티는 가상 캐릭터의 바라보는 방향 또는 걷는 방향을 지시할 수 있다. 이러한 입력의 두 모드들을 결합함으로써, 엔티티는 가상 캐릭터를 1) 앞, 뒤, 왼쪽, 또는 오른쪽으로 이동시키고, 특정한 방향으로 소비자 디바이스(2023)를 가리킴으로써 제어할 수 있다.
다른 예시로서, 컴퓨터화된 디바이스 구성요소(210)는 집, 사무실 또는 다른 내부 환경 주변의 엔티티 움직임을 추적하는 멀티룸(multi-room), 멀티-센서 음악 플레이리스트 시스템(예를 들어, 애플리케이션 또는 운영 시스템 구성요소와 같은 하드웨어 또는 소프트웨어 구성요소)일 수 있다. 센서 퓨전 인터페이스는 플레이리스트와 연관된 디지털 음악(사운드)이 서로 다른 방(room)으로 가는 엔티티를 따르도록 프로파일(212) 또는 엔티티 상태 데이터를 통해 음악 플레이리스트 시스템에 추적된 엔티티 움직임을 제공한다. 모션 감지 입력 디바이스(2021)에 대한 카메라는 모든 참여하는 방 안에 장착될 수 있으며 그/그녀가 방으로 걸어들어갈 때 엔티티의 얼굴을 캡처할 수 있다. 카메라는 음악 플레이리스트 시스템을 구동중이며 스피커 시스템을 통해 음악을 재생하는 중앙 개인 컴퓨터에 접속될 수 있다. 엔티티는 일 구현에 따라 음악 플레이리스트 시스템에 가정의 구성원들에 의해 생성된 플레이리스트를 제공할 수 있다. 각 구성원의 10-15 이미지에 대한 얼굴 인식 모듈(2024)의 트레이닝 후, 음악 플레이리스트 시스템은 서로 다른 구성원들을 구별할 수 있으며 적절한 플레이리스트를 재생할 수 있다.
만약 엔티티가 카메라 앞을 걸어가면, 센서 퓨전 인터페이스(208)는 누군가가 방으로 들어왔다는 이벤트를 발생시킨다. 이러한 이벤트를 수신하면, 얼굴 인식 모듈(2024)은 카메라로부터 이미지를 캡처하여 얼굴을 인식하기 위해 그러한 이미지를 프로세싱한다. 플레이어들 중 하나가 갖는 이미지 내의 얼굴과 일치하는 경우, 해당 플레이어와 연관된 플레이리스트가 검색되어 재생된다. 카메라가 방 안에서의 엔티티의 위치를 추적하기 때문에, 음악 플레이리스트 시스템은 시각적 디스플레이로부터의 엔티티의 거리에 기초하여 시각적 디스플레이의 세부사항 레벨을 조정할 수 있다. 필요조건은 아니지만, 만약 플레이어가 디스플레이에 근접하면, 음악 플레이리스트 시스템은 플레이리스트 내의 하나 이상의 노래에 대한 앨범 삽화의 표현을 제시한다. 플레이어가 멀리 떨어져 있다면, 음악 플레이리스트 시스템은 오직 현재 재생중인 노래에 대한 삽화의 확대 버전만을 보여준다. 다른 상호작용 모드는 음성이다. 키워드 "퓨전(Fusion)"으로 프리픽스되는(prefixed) 커맨드를 이용하여, 엔티티는 노래들을 "일시정지," "재개," "다시 시작," 또는 "스킵"할 수 있다. 프리픽스되는 키워드는 스피치 인식 모듈(2022)로 하여금 주변 노이즈, 방 안에서 사람들이 서로 대화하는 소리, 또는 실제로 재생되고 있는 노래로부터의 가사를 분석할 때 스피치 인식 모듈(2022)이 마주칠 수 있는 모호성을 제거할 수 있게 한다.
엔티티가 방을 떠날 때, 음악 플레이리스트 시스템은 플레이리스트 상태(예를 들어 현재 노래, 노래 내에서의 위치 등)를 저장한다. 만약 동일한 엔티티가 다른 방으로 들어가거나 동일한 방으로 다시 들어가서 긍정적으로 식별된다면, 음악 플레이리스트 시스템은 마지막 위치로부터 음악 재생을 재개한다. 엔티티가 침실에서 노래를 듣고 있는 시나리오를 고려하자. 그 또는 그녀가 침실에서 나와 부엌으로 들어갈 때, 노래는 침실에서 사라지고 부엌에서 재생되기 시작하며, 이것은 매끄러운 청취 경험을 제공한다. 만약 둘 이상의 엔티티가 동일한 방에 있다면, 컴퓨터화된 디바이스 구성요소(210)는 두 플레이어의 플레이리스트에 있는 노래들을 식별하여 이들을 교대로 재생하거나 또는 다른 방식으로 서로 전환하면서 재생한다. 대안으로서, 컴퓨터화된 디바이스 구성요소는 개별적인 흥미에 기초한 음악 추천 서비스를 사용하거나 '공동으로 생성된(collaboratively created)' 플레이리스트를 재생할 수 있다.
도 3은 일 구현에 따라 컴퓨터화된 디바이스 구성요소에 센서 퓨전 인터페이스를 노출하는 예시적인 단계들을 나타내는 순서도이다. 예시적인 단계들은 단계(302)에서 시작되어, 센서 퓨전 인터페이스(208)가 컴퓨터화된 디바이스 구성요소로부터의 요청을 프로세싱하는 단계(304)로 진행할 수 있다. 일 구현에서, 센서 퓨전 인터페이스(208)는 결합된 게임 콘솔 및 모션 감지 입력 디바이스(예를 들어, Microsoft® Kinect™ 및 Xbox™)를 위한 모니터링 메커니즘과 같은 모니터링 메커니즘(104)에 의해 추적되고 통합되는 복수의 센서 입력 데이터로의 액세스를 컴퓨터화된 디바이스 구성요소에 제공한다.
단계(306)는 센서 모듈 및 디바이스로부터의 복수의 센서 입력을 포함하는 공유 라이브러리에 액세스하는 것과 관련된다. 일 구현에서, 공유 라이브러리는 블랙 보드 설계 패턴으로 알려진 소프트웨어 설계 패턴을 구현하는 시스템에 의해 생성될 수 있다. 선택적인 단계(308)는 입력 데이터로부터의 노이즈를 제거하기 위해 복수의 센서 입력 내의 원치 않는 교란을 제거하는 것과 관련된다. 단계(310)는 하나 이상의 엔티티에 대한 엔티티 상태 데이터를 추출하는 것과 관련된다. 단계(312)는 엔티티 상태 데이터에 대한 액세스를 컴퓨터화된 디바이스 구성요소에 제공하는 것과 관련된다. 일 구현에서, 엔티티 상태 데이터는 엔티티 포즈를 포함하는 멀티모달 입력 데이터의 일부, 컴퓨터화된 디바이스 구성요소에 대한 현재 커맨드/제어 입력 및 하나 이상의 이벤트(예를 들어, 엔티티가 감지 범위 밖으로 이동함을 나타내는 이벤트)일 수 있다. 단계(314)는 도 3에 도시된 예시적인 단계들을 종료한다.
도 4는 일 구현에 따라 복수의 센서 입력으로부터 제어 데이터를 생성하는 예시적인 단계들을 도시한 순서도이다. 예시적인 단계들은 단계(402)에서 시작되어, 상호작용 메커니즘이 프로그램 또는 다른 소프트웨어 구성요소(예를 들어, 게임 애플리케이션)와 같은 컴퓨터화된 디바이스 구성요소에 대한 제어 입력으로 해석하는 엔티티 액티비티를 정의하는 구성 데이터를 프로세싱하는 단계(404)로 진행할 수 있다. 상호작용 메커니즘은 센서 퓨전 인터페이스를 통해 구성 데이터를 수신한다. 엔티티 액티비티는 특정한 커맨드를 나타내는 결합된 스피치/제스처 데이터와 같은 (멀티-모달) 상징적 액티비티를 포함할 수 있다. 엔티티 액티비티는 또한 디스플레이 상에 투영되어 가상 캐릭터(예를 들어, 엔티티를 나타내는 아바타)에 의해 수행되는 실제 움직임을 포함할 수 있다.
단계(406)는 엔티티 포즈 및/또는 디바이스 포즈의 결정을 나타낸다. 디바이스는 엔티티에 의해 조작 또는 동작되는 핸드헬드 디바이스일 수 있다. 단계(408)는 엔티티 포즈 및/또는 디바이스 포즈가 이전의 시점으로부터 변경되었는지에 대한 결정을 나타낸다. 만약 엔티티 포즈 및/또는 디바이스 포즈가 변경되었다면, 단계(408)는 단계(410)로 진행한다. 만약 엔티티 포즈 및/또는 디바이스 포즈가 이전의 시점에서의 엔티티 포즈 및/또는 디바이스 포즈와 동일하게 남아있다면, 단계(408)는 단계(406)로 복귀하여 포즈 계산을 반복한다. 단계(410)는 환경 모델의 현재 표현 및/또는 엔티티 상태 데이터를 업데이트하는 것과 관련된다.
단계(412)는 엔티티 포즈 변화 및/또는 디바이스 포즈 변화를 가상 환경 또는 물리적 환경에 대한 커맨드/제어 입력으로서 해석하는 것과 관련된다. 만약 엔티티 포즈 변화 및/또는 디바이스 포즈 변화가 물리적 환경에서의 컴퓨터화된 디바이스에 대한 커맨드/제어 입력을 나타낸다면, 단계(412)는 엔티티가 컴퓨터화된 디바이스를 동작시키기 위해 프로그램을 이용하는 단계(414)로 진행한다. 만약 엔티티 포즈 변화 및/또는 디바이스 포즈 변화가 (즉, 디스플레이 상의) 가상 환경 내의 아바타 또는 다른 객체에 대한 커맨드/제어 입력을 나타낸다면, 단계(412)는 엔티티가 가상 환경 내의 아바타 및/또는 객체를 제어하기 위해 프로그램을 이용하는 단계(416)로 진행한다. 단계(418)는 결합해야 할 더 많은 센서 입력들이 존재하는지에 대한 결정을 나타낸다. 만약 결합해야 할 더 많은 센서 입력들이 존재한다면, 단계(418)는 단계(406)로 복귀한다. 만약 결합해야 할 더 많은 센서 입력들이 존재하지 않으면, 단계(418)는 단계(420)로 진행한다. 단계(420)는 예시적인 단계들을 종료한다.
도 5는 일 구현에 따라 엔티티 상호작용을 관리하기 위한 예시적인 단계들을 나타내는 순서도이다. 예시적인 단계들은 단계(502)에서 시작될 수 있으며, 상호작용 메커니즘(106)이 컴퓨터화된 디바이스 구성요소로부터의 구성 데이터에 기초하여 센서 모듈을 구성하고 하나 이상의 입력 모드를 선택하는 단계(504)로 진행한다. 디폴트에 의해서, 상호작용 메커니즘은 모든 가능한 입력 모드를 사용할 수 있다. 일 구현에서, 구성 데이터는 만약 선택된 입력 모드들 중 하나가 이용가능하지 않다면 오류가 반환되어야 한다고 나타낼 수 있다. 단계(506)는 물리적 환경 내에 있는 복수의 엔티티에 대한 프로파일을 노출시키는 것을 나타낸다. 단계(508)는 엔티티 상호작용을 검토하는 것과 관련된다. 예를 들어, 만약 컴퓨터화된 디바이스 구성요소가 1인칭 슈팅 게임이라면, 상호작용 메커니즘(106)은 어떤 엔티티가 가상 환경 내에서 저격/사살되었는지를 나타내는 다양한 엔티티 관련 측정을 검토한다.
단계(510)는 충돌의 식별을 나타낸다. 만약 컴퓨터화된 디바이스 구성요소가 "집 주위에서 재생중인 음악" 컴퓨터화된 디바이스 구성요소라면, 플레이리스트를 갖는 두 엔티티가 집 안의 동일한 방을 차지하는 경우에 충돌이 존재할 수 있다. 단계(512)는 컴퓨터화된 디바이스 구성요소가 충돌을 해결하게 하도록 충돌 관련 이벤트를 전달하는 것을 나타낸다. 단계(514)는 도 5에 도시된 단계들을 종료한다.
예시적인 네트워킹된 분산 환경
당업자는 본 명세서에 기술된 다양한 실시예 및 방법들이 컴퓨터 네트워크 또는 분산 컴퓨팅 환경의 일부로서 배치될 수 있고 임의의 종류의 데이터 스토어 또는 스토어들에 접속될 수 있는 임의의 컴퓨터 또는 다른 클라이언트 또는 서버 디바이스와 관련하여 구현될 수 있음을 이해할 수 있을 것이다. 이와 관련하여, 본 명세서에 기술된 다양한 실시예가 임의의 수의 메모리 또는 저장 장치 및 임의의 수의 저장 장치들에 걸쳐 발생하는 임의의 수의 애플리케이션 및 프로세스를 구비하는 임의의 컴퓨터 시스템 또는 환경에서 구현될 수 있다. 이것은 원격 스토리지 또는 로컬 스토리지를 구비하는 분산 컴퓨팅 환경 또는 네트워크 환경 내에 배치되는 클라이언트 컴퓨터 및 서버 컴퓨터를 갖는 환경을 포함하지만, 이것으로 제한되는 것은 아니다.
분산 컴퓨팅은 컴퓨팅 디바이스 및 시스템 사이에서의 통신상 교환에 의해 컴퓨터 리소스 및 서비스의 공유를 제공한다. 이러한 리소스 및 서비스는 정보의 교환, 캐시 저장 및 파일과 같은 객체에 대한 디스크 저장을 포함한다. 이러한 리소스 및 서비스는 또한 로드 밸런싱, 리소스 확장, 프로세싱의 전문화 등을 위해 복수의 프로세싱 장치에 걸친 프로세싱 전력의 공유를 포함한다. 분산된 컴퓨팅은 네트워크 접속성을 이용하며, 이것은 클라이언트로 하여금 전체 엔터프라이즈에 유익하도록 집단 전력을 레버리지하게 한다. 이와 관련하여, 다양한 디바이스는 본 발명의 다양한 실시예에 대해서 기술된 바와 같은 리소스 관리 메커니즘에서 참여할 수 있는 애플리케이션, 객체 또는 리소스를 구비할 수 있다.
도 6은 예시적인 네트워킹된 또는 분산된 컴퓨팅 환경의 개략적인 도면을 제공한다. 분산된 컴퓨팅 환경은 예시적인 애플리케이션(630, 632, 634, 636, 638)에 의해 표현된 바와 같은 프로그램, 방법, 데이터 스토어, 프로그램가능한 로직 등을 포함할 수 있는 컴퓨팅 객체(610, 612, 등) 및 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628, 등)를 포함한다. 컴퓨팅 객체(610, 612, 등) 및 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628, 등)가 PDA, 오디오/비디오 디바이스, 모바일폰, MP3 플레이어, 개인 컴퓨터, 랩탑 등과 같은 다른 디바이스를 포함할 수 있다는 것을 이해할 수 있을 것이다.
컴퓨팅 객체(610, 612, 등) 및 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628, 등)는 직접 또는 간접적으로 통신 네트워크(640)에 의해 하나 이상의 다른 컴퓨팅 객체(610, 612, 등) 및 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628, 등)와 통신할 수 있다. 도 6에는 단일 요소로서 도시되었지만, 통신 네트워크(640)는 도 6의 시스템에 서비스를 제공하는 다른 컴퓨팅 객체 및 컴퓨팅 디바이스를 포함할 수 있고/있거나 도시되지 않은 복수의 상호접속된 네트워크를 나타낼 수 있다. 각각의 컴퓨팅 객체(610, 612, 등) 및 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628, 등)는 또한 애플리케이션(630, 632, 634, 636, 638)과 같은 애플리케이션을 포함할 수 있으며, 이것은 본 발명의 다양한 실시예에 따라 제공되는 애플리케이션의 구현 또는 애플리케이션과의 통신에 적합한 API 또는 다른 객체, 소프트웨어, 펌웨어 및/또는 하드웨어를 사용할 수 있다.
분산 컴퓨팅 환경을 지원하는 다양한 시스템, 구성요소 및 네트워크 구성이 존재한다. 예를 들어, 컴퓨팅 시스템은 로컬 네트워크 또는 광범위하게 분산된 네트워크에 의해 유선 또는 무선 시스템을 통해서 함께 접속될 수 있다. 현재, 다수의 네트워크가 광범위하게 분산된 컴퓨팅에 대한 인프라구조를 제공하고 다수의 서로 다른 네트워크를 포괄하는 인터넷에 연결되지만, 임의의 네트워크 인프라구조가 다양한 실시예에서 기술된 바와 같은 시스템에 따르는 예시적인 통신을 위해 사용될 수 있다.
따라서, 클라이언트/서버, 피어-투-피어, 또는 혼합 아키텍처와 같은 네트워크 인프라구조 및 네트워크 위상의 호스트가 활용될 수 있다. "클라이언트"는 자신이 관련되지 않은 다른 클래스 또는 그룹의 서비스를 사용하는 클래스 또는 그룹의 구성원이다. 클라이언트는 다른 프로그램 또는 프로세스에 의해 제공되는 서비스를 요청하는, 예를 들어 대략적으로 명령 또는 태스크의 세트와 같은 프로세스일 수 있다. 클라이언트 프로세스는 다른 프로그램 또는 서비스 자신에 대한 임의의 작업 세부사항을 "알아야 할" 필요 없이 요청한 서비스를 활용한다.
클라이언트/서버 아키텍처, 특히 네트워킹된 시스템에서, 클라이언트는 일반적으로 예를 들어 다른 서버에 의해 제공되는 공유 네트워크 리소스에 액세스하는 컴퓨터이다. 도 6의 도시에서, 비제한적인 예시로서, 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628, 등)는 클라이언트로서 간주될 수 있으며, 컴퓨팅 객체(610, 612, 등)는 서버로서 간주될 수 있으며, 이때 컴퓨팅 객체(610, 612, 등)는 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628, 등)로부터 데이터를 수신하고, 데이터를 저장하고, 데이터를 프로세싱하고, 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628, 등)에 데이터를 전송하는 것과 같은 데이터 서비스를 제공하는 서버로서 동작하지만, 임의의 컴퓨터가 환경에 따라서 클라이언트, 서버, 또는 클라이언트와 서버 모두로 간주될 수 있다.
전형적으로 서버는 인터넷 또는 무선 네트워크 인프라구조와 같은 원격 또는 로컬 네트워크 상에서 액세스 가능한 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제 1 컴퓨터 시스템에서 활동적일 수 있고, 서버 프로세스는 제 2 컴퓨터 시스템에서 활동적일 수 있으며, 이들은 통신 매체 상에서 서로 통신하고, 따라서 분산 기능을 제공하고 복수의 클라이언트가 서버의 정보 수집 능력을 이용할 수 있게 한다.
통신 네트워크(640) 또는 버스가 인터넷인 네트워크 환경에서, 예를 들어 컴퓨팅 객체(610, 612)는 다른 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628)가 HTTP(hypertext transfer protocol)와 같은 임의의 수의 알려진 프로토콜을 통해 통신하는 웹 서버일 수 있다. 서버로서의 역할을 하는 컴퓨팅 객체(610, 612, 등)는 예를 들어 다른 컴퓨팅 객체 또는 디바이스(620, 622, 624, 626, 628)와 같은 클라이언트로서 역할도 할 수 있으며, 이는 분산 컴퓨팅 환경의 특징일 수 있다.
예시적인 컴퓨팅 디바이스
언급된 바와 같이, 바람직하게는 본 명세서에 개시된 기술이 임의의 디바이스에 적용될 수 있다. 따라서, 모든 종류의 핸드헬드, 이동성 및 그외의 컴퓨팅 디바이스 및 컴퓨팅 객체가 다양한 실시예와 관련하여 사용하도록 고려된다. 따라서, 도 7에서 설명된 아래의 범용 원격 컴퓨터는 컴퓨팅 디바이스의 일 예시이다.
실시예는 본 명세서에 기술된 다양한 실시예의 하나 이상의 기능적 측면들을 수행하도록 동작하는 애플리케이션 소프트웨어 내에 포함되고/되거나 디바이스 또는 객체에 대한 서비스의 개발자에 의해 사용되도록 운영 시스템을 통해 부분적으로 구현될 수 있다. 소프트웨어는, 클라이언트 워크스테이션, 서버 또는 다른 디바이스와 같은 하나 이상의 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능한 명령의 일반적인 맥락으로 기술될 수 있다. 당업자는 컴퓨터 시스템이 데이터를 전달하기 위해 사용될 수 있는 다양한 구성 및 프로토콜을 가지며, 따라서 특정한 구성 또는 프로토콜이 제한적으로 고려되지 않음을 이해할 것이다.
따라서 도 7이 본 명세서에 기술된 실시예의 하나 이상의 측면이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(700)의 예시를 도시하지만, 위에서 명확해진 바와 같이, 컴퓨팅 시스템 환경(700)은 단지 적절한 컴퓨팅 환경의 일 예시이며, 사용 또는 기능의 범주와 관련한 어떠한 제한을 두기 위한 것이 아니다. 또한, 컴퓨팅 시스템 환경(700)이 예시적인 컴퓨팅 시스템 환경(700)에서 도시된 구성요소들 중 하나 또는 구성요소들의 결합과 관련한 어떠한 의존성을 갖는 것으로 해석되어서는 안된다.
도 7을 참조하면, 하나 이상의 실시예를 구현하기 위한 예시적인 원격 디바이스는 컴퓨터(710)의 형태인 범용 컴퓨팅 디바이스를 포함한다. 컴퓨터(710)의 구성요소는 프로세싱 장치(720), 시스템 메모리(730) 및 프로세싱 시스템 메모리를 포함하는 다양한 시스템 구성요소를 프로세싱 장치(720)에 연결하는 시스템 버스(722)를 포함할 수 있지만, 이것으로 제한되는 것은 아니다.
컴퓨터(710)는 전형적으로 다양한 컴퓨터 판독가능한 매체를 포함하며 컴퓨터(710)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 시스템 메모리(730)는 판독 전용 메모리(ROM) 및/또는 랜덤 액세스 메모리(RAM)와 같은 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체를 포함할 수 있다. 예시로서, 시스템 메모리(730)는 운영 시스템, 애플리케이션 프로그램, 다른 프로그램 모듈 및 프로그램 데이터도 포함할 수 있지만, 이것으로 제한되는 것은 아니다.
사용자는 입력 디바이스(740)를 통해 커맨드 및 정보를 컴퓨터(710)에 입력할 수 있다. 모니터 또는 다른 타입의 디스플레이 디바이스도 출력 인터페이스(750)와 같은 인터페이스를 통해 시스템 버스(722)에 접속된다. 모니터에 추가로, 컴퓨터는 출력 인터페이스(750)를 통해 접속될 수 있는 스피커 및 프린터와 같은 다른 주변 출력 디바이스를 포함할 수 있다.
컴퓨터(710)는 원격 컴퓨터(770)와 같은 하나 이상의 다른 원격 컴퓨터에 대한 논리적 접속을 이용하여 네트워킹 또는 분산 환경에서 동작할 수 있다. 원격 컴퓨터(770)는 개인 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 다른 공용 네트워크 노드, 또는 임의의 다른 원격 매체 소비 또는 전송 디바이스일 수 있으며, 컴퓨터(710)에 대해 전술된 임의의 또는 모든 요소들을 포함할 수 있다. 도 7에 도시된 논리적 접속은 로컬 영역 네트워크(LAN) 또는 광역 네트워크(WAN)와 같은 네트워크(762)를 포함하지만, 다른 네트워크/버스도 포함할 수 있다. 이러한 네트워킹 환경은 집, 사무실, 전사적(enterprise-wide) 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적이다.
전술된 바와 같이, 예시적인 실시예가 다양한 컴퓨팅 디바이스 및 네트워크 아키텍처와 관련하여 기술되었지만, 근본적인 개념은 리소스 사용의 효율을 향상시키길 원하는 임의의 컴퓨팅 디바이스 또는 시스템 및 임의의 네트워크 시스템에 적용될 수 있다.
또한, 예를 들어 애플리케이션 및 서비스로 하여금 본 명세서에 제공된 기술들을 사용할 수 있게 하는 적절한 API, 툴 키트, 드라이버 코드, 운영 시스템, 컨트롤, 독립형 또는 다운로드 가능한 소프트웨어 객체와 같은 동일한 또는 유사한 기능을 구현하기 위한 복수의 방법들이 존재한다. 따라서, 본 발명의 실시예는 API(또는 다른 소프트웨어 객체)의 관점으로부터 뿐만 아니라, 본 명세서에 기술된 바와 같은 하나 이상의 실시예를 구현하는 소프트웨어 또는 하드웨어 객체로부터 고려된다. 따라서, 본 명세서에 기술된 다양한 실시예들은 전체가 하드웨어이거나, 일부분은 하드웨어이고 일부분은 소프트웨어이거나, 전체가 소프트웨어인 측면을 가질 수 있다.
"예시적인"이라는 표현은 예시, 사례, 또는 설명으로서의 역할을 하는 것을 의미하도록 사용되었다. 의구심을 피하기 위해, 본 명세서에 개시된 청구사항은 이러한 예시에 의해 제한되지 않는다. 또한, 본 명세서에서 "예시적인" 것으로서 기술된 임의의 측면 또는 설계가 반드시 다른 측면 또는 설계에 대해서 바람직하거나 장점인 것으로 해석될 필요는 없으며, 당업자에게 알려진 균등한 예시적인 구조 및 기술을 불가능하게 하는 것은 아니다. 또한, "포함하는," "구비하는," "포괄하는" 및 그외의 유사한 표현들에 있어서, 의구심을 피하기 위해, 이러한 표현들이 특허청구범위에서 사용될 때 임의의 추가적인 또는 다른 요소를 제외시키지 않고 열린 해석이 가능한 용어로서 "포함하는"이라는 표현과 유사한 방식으로 포괄적으로 사용된 것이다.
언급된 바와 같이, 본 명세서에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 적절한 경우에 이들의 결합과 관련하여 구현될 수 있다. 본 명세서에 사용되는 "구성요소," "모듈," "시스템" 등과 같은 표현들은 하드웨어, 하드웨어와 소프트웨어의 결합, 소프트웨어, 또는 실행중인 소프트웨어인 컴퓨터 관련 엔티티를 지칭하도록 사용된 것이다. 예를 들어, 구성요소들은 프로세서 상에서 실행중인 프로세스, 프로세서, 객체, 실행가능물, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이것으로 한정되는 것은 아니다. 예시로서, 컴퓨터 상에서 실행중인 애플리케이션 및 컴퓨터 모두가 구성요소일 수 있다. 하나 이상의 구성요소는 프로세스 및/또는 실행 스레드 내에 존재할 수 있으며, 구성요소는 둘 이상의 컴퓨터 사이에서 분산되고/되거나 하나의 컴퓨터 상에서 로컬화될 수 있다.
전술된 시스템은 몇몇 구성요소들 사이의 상호작용과 관련하여 기술되었다. 이러한 시스템 및 구성요소가 구성요소 또는 특화된 서브-구성요소, 특화된 구성요소 또는 서브-구성요소의 일부, 및/또는 추가적인 구성요소를 포함할 수 있으며, 전술된 다양한 순열 및 조합을 따른다는 것을 이해할 수 있을 것이다. 서브-구성요소는 또한 페어런트 구성요소(parent component) 내에 포함된 것(계층식)이 아닌 다른 구성요소에 통신상 연결된 구성요소로서 구현될 수도 있다. 또한, 하나 이상의 구성요소가 합산 기능을 제공하는 단일 구성요소로 결합될 수 있거나 몇 개의 개별적인 서브-구성요소로 분할될 수 있으며, 관리층과 같은 임의의 하나 이상의 중간층이 통합된 기능을 제공하도록 이러한 서브-구성요소에 통신상 연결하도록 제공될 수 있음이 이해될 수 있다. 본 명세서에 기술된 임의의 구성요소는 또한 본 명세서에 구체적으로 기술되지 않았지만 당업자에 의해 일반적으로 알려진 하나 이상의 다른 구성요소들과 상호작용할 수 있다.
본 명세서에 기술된 예시적인 시스템의 관점에서, 기술된 청구사항에 따라 구현될 수 있는 방법이 다양한 도면들의 순서도를 참조하여 이해될 수 있다. 설명의 단순화를 위해 방법들이 일련의 블록들로 도시되고 기술되었지만, 다양한 실시예가 블록들의 순서로 제한되지 않으며, 일부 블록들은 본 명세서에 도시되고 기술된 것과 다른 순서로 및/또는 다른 블록들과 동시에 발생할 수 있다는 것이 이해될 것이다. 순차적이거나 브랜치되지 않은 순서가 순서도를 통해 도시되었으며, 동일하거나 유사한 결과를 획득하는 다양한 다른 브랜치, 플로우 경로 및 블록들의 순서가 구현될 수 있음이 이해될 수 있다. 또한, 일부 도시된 블록들은 이후에 기술되는 방법들을 구현하는데에 있어서 선택적이다.
결론
본 발명이 다양한 수정 및 대안적인 구성에 예민하지만, 소정의 설명된 실시예들이 도면에 도시되었으며 위에서 상세하게 기술되었다. 그러나, 본 발명을 개시된 특정한 형태로 제한하기 위한 의도는 없으며, 반대로 모든 수정, 대안적인 구조 및 균등물이 본 발명의 사상 및 범주 내에 포함된다.
본 명세서에 기술된 다양한 실시예들에 더하여, 다른 유사한 실시예가 사용될 수 있거나, 상응하는 실시예(들)의 동일한 또는 균등의 기능을 수행하기 위해 기술된 실시예(들)에 대해 수정 및 추가가 이루어질 수 있다. 또한, 복수의 프로세싱 칩 또는 복수의 디바이스가 본 명세서에 기술된 하나 이상의 기능의 수행을 공유할 수 있으며, 유사하게 스토리지가 복수의 디바이스들에 걸쳐 발생할 수 있다. 또한, 본 발명은 임의의 단일 실시예로 제한되지 않으며, 오히려 첨부된 특허청구범위에 따른 사상 및 범주 내에 있는 것으로 해석되어야 한다.

Claims (20)

  1. 컴퓨팅 환경 내에서, 적어도 하나의 프로세서 상에서 적어도 부분적으로 수행되는 방법으로서,
    하나 이상의 엔티티와 컴퓨터화된 디바이스 구성요소 사이의 상호작용을 가능하게 하는 센서 퓨전 인터페이스(sensor fusion interface)를 통해 수신된 요청을 프로세싱하는 단계- 상기 프로세싱 단계는 복수의 센서 모듈에 연결된 공유 라이브러리에 액세스하는 단계를 포함하고, 상기 공유 라이브러리는 하나 이상의 엔티티와 연관된 복수의 센서 입력 데이터를 포함함 -와,
    상기 공유 라이브러리로부터 엔티티 상태 데이터를 추출하는 단계와,
    상기 컴퓨터화된 디바이스 구성요소에 상기 엔티티 상태 데이터로의 액세스를 제공하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 컴퓨터화된 디바이스 구성요소에 상기 엔티티 상태 데이터로의 액세스를 제공하는 단계는, 엔티티 포즈(entity pose)의 변화에 상응하는 이벤트를 전달하는 단계를 더 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 컴퓨터화된 디바이스 구성요소에 상기 엔티티 상태 데이터로의 액세스를 제공하는 단계는, 상기 하나 이상의 엔티티로부터의 상기 컴퓨터화된 디바이스 구성요소에 대한 하나 이상의 커맨드를 전달하는 단계를 더 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 컴퓨터화된 디바이스 구성요소에 상기 엔티티 상태 데이터로의 액세스를 제공하는 단계는, 서로 다른 시점들에 상응하는 상기 엔티티 상태 데이터에 기초하여 제어 데이터를 생성하는 단계를 더 포함하는
    방법.
  5. 제 1 항에 있어서,
    상기 엔티티 상태 데이터를 추출하는 단계는, 상기 하나 이상의 엔티티에 의해 조작되고 있는 디바이스의 위치 및 방향을 결정하는 단계를 더 포함하는
    방법.
  6. 제 1 항에 있어서,
    상기 엔티티 상태 데이터를 추출하는 단계는, 상기 복수의 센서 입력 데이터 내의 원치 않는 교란(perturbation)을 제거하는 단계를 더 포함하는
    방법.
  7. 제 1 항에 있어서,
    상기 공유 라이브러리에 액세스하는 단계는, 상기 복수의 센서 입력 데이터를 정제(refine)하도록 상기 복수의 센서 모듈을 구성하는 단계를 더 포함하는
    방법.
  8. 제 1 항에 있어서,
    상기 엔티티 상태 데이터를 추출하는 단계는, 상기 컴퓨터화된 디바이스 구성요소에 대한 커맨드로 해석하는 상징적인 액티비티(symbolic activity)를 정의하는 단계를 더 포함하는
    방법.
  9. 제 1 항에 있어서,
    엔티티 움직임에 응답하여 상기 엔티티 상태 데이터를 업데이트하는 단계를 더 포함하는
    방법.
  10. 제 1 항에 있어서,
    상기 엔티티 상태 데이터를 추출하는 단계는, 상기 하나 이상의 엔티티와 연관된 환경 모델을 생성하는 단계를 더 포함하는
    방법.
  11. 제 1 항에 있어서,
    상기 엔티티 상태 데이터를 추출하는 단계는, 제 1 엔티티와 연관된 상기 엔티티 상태 데이터의 제 1 부분 및 제 2 엔티티와 연관된 상기 엔티티 상태 데이터의 제 2 부분을 추출하는 단계와, 엔티티 상호작용을 결정하도록 상기 제 1 부분을 상기 제 2 부분과 상관시키는(correlating) 단계를 더 포함하는
    방법.
  12. 컴퓨터화된 디바이스 구성요소에 센서 퓨전 인터페이스를 제공하도록 구성된 상호작용 메커니즘을 포함하는 컴퓨터 환경 내의 시스템으로서, 환경 내의 각각의 엔티티에 대해서,
    상기 센서 퓨전 인터페이스는
    엔티티 상태 데이터를 포함하는 프로파일을 생성하고,
    상기 컴퓨터화된 디바이스 구성요소에 상기 프로파일을 노출하며,
    엔티티 액티비티에 응답하여 상기 프로파일을 업데이트하도록 공동 지식 데이터 구성요소(common knowledge data component)에 지시하도록 구성되고,
    상기 공동 지식 데이터 구성요소는
    스키마에 따라 복수의 센서 모듈로부터의 복수의 센서 입력 데이터를 통합하고,
    상기 복수의 센서 입력 데이터에 기초하여 상기 엔티티 액티비티를 식별하도록 구성되는
    시스템.
  13. 제 12 항에 있어서,
    상기 상호작용 메커니즘은 상기 엔티티 액티비티에 기초하여 물리적 환경 내의 컴퓨터화된 디바이스를 동작시키도록 추가로 구성되는
    시스템.
  14. 제 12 항에 있어서,
    상기 상호작용 메커니즘은 상기 컴퓨터화된 디바이스 구성요소에 의해 생성된 가상 환경 상의 가상 캐릭터를 제어하도록 추가로 구성되는
    시스템.
  15. 제 12 항에 있어서,
    상기 상호작용 메커니즘은 상기 컴퓨터화된 디바이스 구성요소에 응답하여 상기 복수의 센서 모듈을 초기화하도록 추가로 구성되는
    시스템.
  16. 제 12 항에 있어서,
    상기 상호작용 메커니즘은 둘 이상의 엔티티 사이의 충돌(conflict)을 식별하도록 추가로 구성되는
    시스템.
  17. 제 12 항에 있어서,
    상기 상호작용 메커니즘은 디바이스의 범위 밖으로의 엔티티 움직임을 나타내는 이벤트를 노출하도록 추가로 구성되는
    시스템.
  18. 제 12 항에 있어서,
    상기 복수의 센서 모듈은 카메라, 마이크로폰, 디지타이저, 모션 프로세서, 게임 컨트롤러, 스피치 인식 모듈(speech recognition module), 제스처 인식 모듈, 얼굴 인식 모듈, 모바일폰 또는 포인팅 디바이스, 또는 카메라, 마이크로폰, 디지타이저, 모션 프로세서, 게임 컨트롤러, 스피치 인식 모듈, 제스처 인식 모듈, 얼굴 인식 모듈, 모바일폰 또는 포인팅 디바이스의 임의의 조합을 포함하는
    시스템.
  19. 컴퓨터 실행가능한 명령어를 포함하는 하나 이상의 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 실행가능한 명령어는 실행될 경우,
    엔티티를 포함하는 물리적 환경을 모니터링하는 단계와,
    상기 엔티티와 연관된 엔티티 상태 데이터에 대한 요청을 프로세싱하는 단계와,
    컴퓨터화된 디바이스 구성요소로부터의 구성 데이터에 기초하여 상기 엔티티 상태 데이터를 생성하도록 복수의 입력 모드들 중에서 적어도 하나의 입력 모드를 선택하는 단계와,
    상기 컴퓨터화된 디바이스 구성요소에 상기 엔티티 상태 데이터를 전달하는 단계를 수행하는
    컴퓨터 판독가능한 매체.
  20. 제 19 항에 있어서,
    복수의 엔티티와 연관된 엔티티 상호작용을 조사하는 단계와,
    상기 물리적 환경 내에서의 상기 엔티티 상호작용에 상응하는 충돌을 나타내는 이벤트를 상기 컴퓨터화된 디바이스 구성요소에 전달하는 단계
    를 수행하게 하는 컴퓨터 실행가능한 명령어를 더 포함하는
    컴퓨터 판독가능한 매체.
KR1020147016748A 2011-12-19 2012-12-15 복수의 센서 입력을 위한 센서 퓨전 인터페이스 KR101933750B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/329,777 US9389681B2 (en) 2011-12-19 2011-12-19 Sensor fusion interface for multiple sensor input
US13/329,777 2011-12-19
PCT/US2012/069971 WO2013096138A1 (en) 2011-12-19 2012-12-15 Sensor fusion interface for multiple sensor input

Publications (2)

Publication Number Publication Date
KR20140108531A true KR20140108531A (ko) 2014-09-11
KR101933750B1 KR101933750B1 (ko) 2018-12-28

Family

ID=48611274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147016748A KR101933750B1 (ko) 2011-12-19 2012-12-15 복수의 센서 입력을 위한 센서 퓨전 인터페이스

Country Status (6)

Country Link
US (2) US9389681B2 (ko)
EP (1) EP2795835B1 (ko)
JP (2) JP6164619B2 (ko)
KR (1) KR101933750B1 (ko)
CN (1) CN104012038A (ko)
WO (1) WO2013096138A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101229A (ko) 2017-03-02 2018-09-12 미쓰비시 세이시 가부시키가이샤 금속조로 가식된 플라스틱 성형품
KR102145556B1 (ko) 2019-07-02 2020-08-18 부산대학교 산학협력단 다중 센서 데이터 수집을 위한 센서 인터페이스 설정 및 센싱 스케줄링 방법 및 그 장치

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11117033B2 (en) 2010-04-26 2021-09-14 Wilbert Quinc Murdock Smart system for display of dynamic movement parameters in sports and training
EP2817785B1 (en) * 2012-02-23 2019-05-15 Charles D. Huston System and method for creating an environment and for sharing a location based experience in an environment
US9836590B2 (en) * 2012-06-22 2017-12-05 Microsoft Technology Licensing, Llc Enhanced accuracy of user presence status determination
US8924327B2 (en) * 2012-06-28 2014-12-30 Nokia Corporation Method and apparatus for providing rapport management
US9032510B2 (en) * 2012-09-11 2015-05-12 Sony Corporation Gesture- and expression-based authentication
US9495397B2 (en) * 2013-03-12 2016-11-15 Intel Corporation Sensor associated data of multiple devices based computing
WO2015058154A2 (en) * 2013-10-20 2015-04-23 Oahu Group, Llc Method and system for determining object motion
US20150118959A1 (en) * 2013-10-28 2015-04-30 Nicolas Jean Petit Platform framework for wireless media device simulation and design
US9971412B2 (en) * 2013-12-20 2018-05-15 Lenovo (Singapore) Pte. Ltd. Enabling device features according to gesture input
US20150281409A1 (en) * 2014-03-25 2015-10-01 Rupesh Tatiya Using usb over ip to share a non-usb sensor with another device
US20150317353A1 (en) * 2014-05-02 2015-11-05 At&T Intellectual Property I, L.P. Context and activity-driven playlist modification
US9575560B2 (en) 2014-06-03 2017-02-21 Google Inc. Radar-based gesture-recognition through a wearable device
US11145183B2 (en) 2014-06-10 2021-10-12 PB, Inc Tracking device programs, systems and methods
US10979862B2 (en) 2014-06-10 2021-04-13 Pb Inc. Tracking device system
US11792605B2 (en) 2014-06-10 2023-10-17 PB, Inc. Tracking device systems
US9892626B2 (en) 2014-06-10 2018-02-13 Pb Inc. Tracking device program
US10580281B2 (en) 2014-06-10 2020-03-03 PB, Inc. Tracking device system
US9564774B2 (en) 2014-06-10 2017-02-07 Pb Inc. Reduced thickness tracking device
US10937286B2 (en) 2014-06-10 2021-03-02 Pb Inc. Radiobeacon data sharing by forwarding low energy transmissions to a cloud host
WO2016014086A1 (en) * 2014-07-25 2016-01-28 Hewlett-Packard Development Company, L.P. Software-defined sensing
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
US9778749B2 (en) 2014-08-22 2017-10-03 Google Inc. Occluded gesture recognition
US10540348B2 (en) 2014-09-22 2020-01-21 At&T Intellectual Property I, L.P. Contextual inference of non-verbal expressions
US9600080B2 (en) 2014-10-02 2017-03-21 Google Inc. Non-line-of-sight radar-based gesture recognition
CN104462784A (zh) * 2014-11-17 2015-03-25 电子科技大学 一种基于动态分辨熵的传感器优化管理方法
US9854227B2 (en) 2015-01-08 2017-12-26 David G Grossman Depth sensor
US10557881B2 (en) 2015-03-27 2020-02-11 Analog Devices Global Electrical overstress reporting
US9871373B2 (en) 2015-03-27 2018-01-16 Analog Devices Global Electrical overstress recording and/or harvesting
US10306193B2 (en) 2015-04-27 2019-05-28 Microsoft Technology Licensing, Llc Trigger zones for objects in projected surface model
KR102011992B1 (ko) * 2015-04-30 2019-08-19 구글 엘엘씨 타입-애그노스틱 rf 신호 표현들
KR102002112B1 (ko) 2015-04-30 2019-07-19 구글 엘엘씨 제스처 추적 및 인식을 위한 rf―기반 마이크로―모션 추적
MX2017014648A (es) * 2015-05-15 2018-04-11 Airfusion Inc Aparato portatil y metodo para apoyo de decision para fusion y analisis de datos de sensores multiples automatizados en tiempo real.
US10088908B1 (en) 2015-05-27 2018-10-02 Google Llc Gesture detection and interactions
DE102015215044A1 (de) 2015-08-06 2017-02-09 Volkswagen Aktiengesellschaft Verfahren und System zur Verarbeitung multimodaler Eingabesignale
US9578493B1 (en) 2015-08-06 2017-02-21 Adtile Technologies Inc. Sensor control switch
US20180095653A1 (en) * 2015-08-14 2018-04-05 Martin Hasek Device, method and graphical user interface for handwritten interaction
US9825969B2 (en) 2015-09-14 2017-11-21 D&M Holdings, Inc. System and method for controlling a rendering device based upon detected user proximity
US10817065B1 (en) 2015-10-06 2020-10-27 Google Llc Gesture recognition using multiple antenna
US10108462B2 (en) 2016-02-12 2018-10-23 Microsoft Technology Licensing, Llc Virtualizing sensors
US10216290B2 (en) * 2016-04-08 2019-02-26 Adtile Technologies Inc. Gyroscope apparatus
US10338132B2 (en) 2016-04-19 2019-07-02 Analog Devices Global Wear-out monitor device
US10365322B2 (en) 2016-04-19 2019-07-30 Analog Devices Global Wear-out monitor device
WO2017192167A1 (en) 2016-05-03 2017-11-09 Google Llc Connecting an electronic component to an interactive textile
CN106154890A (zh) * 2016-09-21 2016-11-23 旗瀚科技有限公司 一种多台机器人同步行为方法
US11010601B2 (en) 2017-02-14 2021-05-18 Microsoft Technology Licensing, Llc Intelligent assistant device communicating non-verbal cues
US11100384B2 (en) 2017-02-14 2021-08-24 Microsoft Technology Licensing, Llc Intelligent device user interactions
US10467510B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Intelligent assistant
TWI623865B (zh) * 2017-03-24 2018-05-11 一種軟體定義輸入操作感測系統
US11024525B2 (en) 2017-06-12 2021-06-01 Analog Devices International Unlimited Company Diffusion temperature shock monitor
CN110799930A (zh) * 2017-06-30 2020-02-14 M·康利 用于构建电子接口的模块化系统和方法
WO2019009890A1 (en) * 2017-07-05 2019-01-10 Bae Systems Information And Electronic Systems Integration Inc. OPEN ARCHITECTURE, CORRELATION OF MULTIPLE INPUT AND REAL-TIME THREATS
US10663577B1 (en) 2017-11-30 2020-05-26 Bae Systems Information And Electronic Systems Integration Inc. Electro optical and radio frequency fusion for threat detection
DE102017011592A1 (de) * 2017-12-14 2019-06-19 Diehl Defence Gmbh & Co. Kg Verfahren zum Steuern eines Drohnenabwehrsystems
US20190043239A1 (en) * 2018-01-07 2019-02-07 Intel Corporation Methods, systems, articles of manufacture and apparatus for generating a response for an avatar
TW202012097A (zh) * 2018-09-03 2020-04-01 義大利商Hsd股份公司 用於工具機的操作裝置
CN117971154A (zh) * 2018-09-04 2024-05-03 谷歌有限责任公司 多模态响应
US11164576B2 (en) * 2018-09-04 2021-11-02 Google Llc Multimodal responses
US11979511B2 (en) 2018-09-07 2024-05-07 Sony Group Corporation Terminal device, terminal device control method, and memory medium
US11678141B2 (en) 2018-09-18 2023-06-13 Pb Inc. Hybrid cellular Bluetooth tracking devices, methods and systems
US11184858B2 (en) 2018-09-18 2021-11-23 PB, Inc. Bluecell devices and methods
CN109710667A (zh) * 2018-11-27 2019-05-03 中科曙光国际信息产业有限公司 一种基于大数据平台的多源数据融合共享实现方法及系统
US11199912B2 (en) * 2018-11-30 2021-12-14 Magic Leap, Inc. Multi-modal hand location and orientation for avatar movement
CN111983929B (zh) * 2019-05-23 2024-03-12 美智纵横科技有限责任公司 家电设备及其控制方法和计算机可读存储介质
US11087103B2 (en) 2019-07-02 2021-08-10 Target Brands, Inc. Adaptive spatial granularity based on system performance
CN110442567A (zh) * 2019-07-30 2019-11-12 郑州航管科技有限公司 一种用于机场自动观测系统的数据融合方法
CN112689193B (zh) * 2019-10-18 2023-04-18 惠州迪芬尼声学科技股份有限公司 根据影像资讯判断是否播放音乐的方法及其系统
US11499851B2 (en) 2020-01-23 2022-11-15 Cisco Technology, Inc. Sensor fusion as a service
WO2021247541A1 (en) * 2020-06-01 2021-12-09 Chemimage Corporation A method for fusing sensor data for cardiac monitoring and devices thereof
US20220019742A1 (en) * 2020-07-20 2022-01-20 International Business Machines Corporation Situational awareness by fusing multi-modal data with semantic model
WO2022052003A1 (zh) * 2020-09-10 2022-03-17 深圳市大疆创新科技有限公司 传感器组件、成像设备、可移动平台及传感器的标定方法
EP4241472A1 (en) * 2020-11-05 2023-09-13 Qualcomm Incorporated Alternative coordinate system for sensor sharing
CN112712549A (zh) * 2020-12-31 2021-04-27 上海商汤临港智能科技有限公司 数据处理方法、装置、电子设备以及存储介质
US11106357B1 (en) * 2021-02-15 2021-08-31 University Of Central Florida Research Foundation, Inc. Low latency tactile telepresence
CN113916223B (zh) * 2021-09-29 2022-11-11 深圳市慧鲤科技有限公司 定位方法及装置、设备、存储介质
CN116929160A (zh) * 2023-07-31 2023-10-24 天津大学 一种双通道宽窄视场共像面导引头成像光学系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5626140A (en) * 1995-11-01 1997-05-06 Spacelabs Medical, Inc. System and method of multi-sensor fusion of physiological measurements
US20030073406A1 (en) * 2001-10-17 2003-04-17 Benjamin Mitchell A. Multi-sensor fusion
US20050222810A1 (en) * 2004-04-03 2005-10-06 Altusys Corp Method and Apparatus for Coordination of a Situation Manager and Event Correlation in Situation-Based Management
WO2010064138A1 (en) * 2008-12-01 2010-06-10 National University Singapore Portable engine for entertainment, education, or communication
US20100306716A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Extending standard gestures
WO2011057287A1 (en) * 2009-11-09 2011-05-12 Invensense, Inc. Handheld computer systems and techniques for character and command recognition related to human movements
US20110161076A1 (en) * 2009-12-31 2011-06-30 Davis Bruce L Intuitive Computing Methods and Systems

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583506A (en) * 1988-07-22 1996-12-10 Northrop Grumman Corporation Signal processing system and method
US5734373A (en) * 1993-07-16 1998-03-31 Immersion Human Interface Corporation Method and apparatus for controlling force feedback interface systems utilizing a host computer
US6223214B1 (en) * 1996-09-06 2001-04-24 Sensiview Corporation Computer implemented virtual sensor object and tangible medium utilizing same
US6256679B1 (en) * 1997-12-23 2001-07-03 Simmonds Precision Products, Inc. Blackboard-centric layered software architecture for an embedded airborne fuel gauging subsystem
US6338011B1 (en) * 2000-01-11 2002-01-08 Solipsys Corporation Method and apparatus for sharing vehicle telemetry data among a plurality of users over a communications network
US7436884B2 (en) 2002-03-26 2008-10-14 Lockheed Martin Corporation Method and system for wavelet packet transmission using a best base algorithm
US7627139B2 (en) * 2002-07-27 2009-12-01 Sony Computer Entertainment Inc. Computer image and audio processing of intensity and input devices for interfacing with a computer program
JP2006294032A (ja) * 2002-09-05 2006-10-26 Sony Computer Entertainment Inc 表示システム、表示制御装置、表示装置、表示方法、およびユーザインタフェイス装置
US7188042B2 (en) * 2002-10-04 2007-03-06 Havens Steven W Method and apparatus for acquiring and processing transducer data
JP4142460B2 (ja) * 2003-01-31 2008-09-03 オリンパス株式会社 運動検出装置
US7133982B2 (en) * 2003-06-18 2006-11-07 International Business Machines Corporation Method, system, and article of manufacture for consistent copying of storage volumes
US7454442B2 (en) * 2005-04-25 2008-11-18 The Boeing Company Data fusion for advanced ground transportation system
US20070008408A1 (en) * 2005-06-22 2007-01-11 Ron Zehavi Wide area security system and method
US8031891B2 (en) 2005-06-30 2011-10-04 Microsoft Corporation Dynamic media rendering
US8665213B2 (en) * 2006-02-08 2014-03-04 Oblong Industries, Inc. Spatial, multi-modal control device for use with spatial operating system
US9052970B2 (en) * 2008-04-24 2015-06-09 Oblong Industries, Inc. Multi-process interactive systems and methods
US8890813B2 (en) * 2009-04-02 2014-11-18 Oblong Industries, Inc. Cross-user hand tracking and shape recognition user interface
US8681098B2 (en) * 2008-04-24 2014-03-25 Oblong Industries, Inc. Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes
US9063801B2 (en) * 2008-04-24 2015-06-23 Oblong Industries, Inc. Multi-process interactive systems and methods
US7646336B2 (en) * 2006-03-24 2010-01-12 Containertrac, Inc. Automated asset positioning for location and inventory tracking using multiple positioning techniques
EP2523112B1 (en) 2006-04-07 2017-10-18 Qualcomm Incorporated Sensor interface, and methods and apparatus pertaining to same
US20080134102A1 (en) * 2006-12-05 2008-06-05 Sony Ericsson Mobile Communications Ab Method and system for detecting movement of an object
US8952832B2 (en) 2008-01-18 2015-02-10 Invensense, Inc. Interfacing application programs and motion sensors of a device
US8462109B2 (en) 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
US10437459B2 (en) * 2007-01-07 2019-10-08 Apple Inc. Multitouch data fusion
US7974814B2 (en) * 2007-06-15 2011-07-05 Raytheon Company Multiple sensor fusion engine
US8009200B2 (en) 2007-06-15 2011-08-30 Microsoft Corporation Multiple sensor input data synthesis
CN101105690A (zh) 2007-07-26 2008-01-16 武汉理工大学 城市长隧道监控系统中的多传感器融合方法
FR2919442B1 (fr) * 2007-07-27 2011-01-07 Ge Energy Products France Snc Volant d'inertie a lancement progressif.
WO2009043020A2 (en) * 2007-09-28 2009-04-02 The Trustees Of Dartmouth College System and method for injecting sensed presence into social networking applications
US8941590B2 (en) * 2008-04-24 2015-01-27 Oblong Industries, Inc. Adaptive tracking system for spatial input devices
US9662569B2 (en) 2008-12-31 2017-05-30 Intel Corporation Sensor fusion to combine sensor input data from multiple devices into one input stream
CN102317977A (zh) 2009-02-17 2012-01-11 奥美可互动有限责任公司 用于姿势识别的方法和系统
US8320619B2 (en) * 2009-05-29 2012-11-27 Microsoft Corporation Systems and methods for tracking a model
WO2011027452A1 (ja) * 2009-09-03 2011-03-10 株式会社 東芝 存在人数推定装置
US8175617B2 (en) * 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
US8121618B2 (en) * 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
US8838684B2 (en) 2010-01-14 2014-09-16 Fuji Xerox Co., Ltd. System and method for determining a presence state of a person
US8760392B2 (en) 2010-04-20 2014-06-24 Invensense, Inc. Wireless motion processing sensor systems suitable for mobile and battery operation
US9084002B2 (en) 2010-05-03 2015-07-14 Microsoft Technology Licensing, Llc Heterogeneous image sensor synchronization
US9274594B2 (en) 2010-05-28 2016-03-01 Microsoft Technology Licensing, Llc Cloud-based personal trait profile data
US8374018B2 (en) * 2010-07-09 2013-02-12 Crossbar, Inc. Resistive memory using SiGe material
US20120023201A1 (en) * 2010-07-26 2012-01-26 Atlas Advisory Partners, Llc Unified Content Delivery Platform
US20120083668A1 (en) * 2010-09-30 2012-04-05 Anantha Pradeep Systems and methods to modify a characteristic of a user device based on a neurological and/or physiological measurement
US20120117020A1 (en) * 2010-11-09 2012-05-10 International Business Machines Corporation Method and apparatus for smart individual health monitoring
US20120280900A1 (en) * 2011-05-06 2012-11-08 Nokia Corporation Gesture recognition using plural sensors
US20120316455A1 (en) * 2011-06-10 2012-12-13 Aliphcom Wearable device and platform for sensory input

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5626140A (en) * 1995-11-01 1997-05-06 Spacelabs Medical, Inc. System and method of multi-sensor fusion of physiological measurements
US20030073406A1 (en) * 2001-10-17 2003-04-17 Benjamin Mitchell A. Multi-sensor fusion
US20050222810A1 (en) * 2004-04-03 2005-10-06 Altusys Corp Method and Apparatus for Coordination of a Situation Manager and Event Correlation in Situation-Based Management
WO2010064138A1 (en) * 2008-12-01 2010-06-10 National University Singapore Portable engine for entertainment, education, or communication
US20100306716A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Extending standard gestures
WO2011057287A1 (en) * 2009-11-09 2011-05-12 Invensense, Inc. Handheld computer systems and techniques for character and command recognition related to human movements
US20110161076A1 (en) * 2009-12-31 2011-06-30 Davis Bruce L Intuitive Computing Methods and Systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101229A (ko) 2017-03-02 2018-09-12 미쓰비시 세이시 가부시키가이샤 금속조로 가식된 플라스틱 성형품
KR102145556B1 (ko) 2019-07-02 2020-08-18 부산대학교 산학협력단 다중 센서 데이터 수집을 위한 센서 인터페이스 설정 및 센싱 스케줄링 방법 및 그 장치

Also Published As

Publication number Publication date
EP2795835B1 (en) 2019-09-04
US20160299959A1 (en) 2016-10-13
US20130159350A1 (en) 2013-06-20
WO2013096138A1 (en) 2013-06-27
EP2795835A1 (en) 2014-10-29
KR101933750B1 (ko) 2018-12-28
US9389681B2 (en) 2016-07-12
US10409836B2 (en) 2019-09-10
JP6553124B2 (ja) 2019-07-31
JP2017215970A (ja) 2017-12-07
JP6164619B2 (ja) 2017-07-19
CN104012038A (zh) 2014-08-27
JP2015507263A (ja) 2015-03-05
EP2795835A4 (en) 2015-05-06

Similar Documents

Publication Publication Date Title
KR101933750B1 (ko) 복수의 센서 입력을 위한 센서 퓨전 인터페이스
US10606609B2 (en) Context-based discovery of applications
US11127210B2 (en) Touch and social cues as inputs into a computer
Brumitt et al. Easyliving: Technologies for intelligent environments
US10007349B2 (en) Multiple sensor gesture recognition
US9342160B2 (en) Ergonomic physical interaction zone cursor mapping
US20130174213A1 (en) Implicit sharing and privacy control through physical behaviors using sensor-rich devices
US20130138424A1 (en) Context-Aware Interaction System Using a Semantic Model
EP2960815A1 (en) System and method for dynamically generating contextualised and personalised digital content
US20200322178A1 (en) Location determination for device control and configuration
CN105190469B (zh) 使对象的指定位置被提供给设备
JP2013008360A (ja) 制御機器として用いられる運動制御子
Pérez et al. Mobile proxemic application development for smart environments
CN112717409B (zh) 虚拟车辆控制方法、装置、计算机设备及存储介质
Barakonyi et al. Augmented reality agents for user interface adaptation
US11199906B1 (en) Global user input management
US20230305630A1 (en) Universal hand controller
Pérez et al. An Approach to Develop Mobile Proxemic Applications.
Arslan Doing more without more: Data fusion in human-computer interaction
Lyons et al. Context-aware composition

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right