KR101831230B1 - 전력-효율적인 분류를 위한 애플리케이션-제어된 입도 - Google Patents

전력-효율적인 분류를 위한 애플리케이션-제어된 입도 Download PDF

Info

Publication number
KR101831230B1
KR101831230B1 KR1020157027929A KR20157027929A KR101831230B1 KR 101831230 B1 KR101831230 B1 KR 101831230B1 KR 1020157027929 A KR1020157027929 A KR 1020157027929A KR 20157027929 A KR20157027929 A KR 20157027929A KR 101831230 B1 KR101831230 B1 KR 101831230B1
Authority
KR
South Korea
Prior art keywords
classification
granularity
context
classifier
context classification
Prior art date
Application number
KR1020157027929A
Other languages
English (en)
Other versions
KR20150132248A (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 KR20150132248A publication Critical patent/KR20150132248A/ko
Application granted granted Critical
Publication of KR101831230B1 publication Critical patent/KR101831230B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06N7/005
    • H04M1/72569
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computational Linguistics (AREA)
  • Telephone Function (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

애플리케이션-제어된 전력-효율적인 콘텍스트(상태) 분류를 제공하기 위한 시스템들 및 방법들이 본 명세서에서 설명된다. 본 명세서에 설명된 바와 같이, 조정가능한 입도로 콘텍스트 분류를 수행하기 위한 장치는, 콘텍스트 분류를 위한 요청 및 요청과 연관된 입도 입력을 수신하도록 구성된 분류기 제어기; 및 분류기 제어기에 통신적으로 커플링되며, 분류기 제어기로부터 요청 및 입도 입력을 수신하고, 입도 입력에 기초하여 콘텍스트 분류에 대한 리소스 사용 레벨을 선택하며 - 더 높은 입도 레벨을 표시하는 입도 입력은 더 높은 리소스 사용 레벨과 연관되고, 더 낮은 입도 레벨을 표시하는 입도 입력은 더 낮은 리소스 사용 레벨과 연관됨 -; 그리고, 선택된 리소스 사용 레벨로 콘텍스트 분류를 수행하도록 구성된 콘텍스트 분류기를 포함한다.

Description

전력-효율적인 분류를 위한 애플리케이션-제어된 입도{APPLICATION-CONTROLLED GRANULARITY FOR POWER-EFFICIENT CLASSIFICATION}
[0001] 무선 통신 기술에서의 진보는 오늘날의 무선 통신 디바이스들의 다용성을 크게 증가시켰다. 이들 진보들은, 무선 통신 디바이스들이 간단한 모바일 전화기들 및 페이저들로부터, 멀티미디어 레코딩 및 재생, 이벤트 스케줄링, 워드 프로세싱, 전자 상거래(e commerce) 등과 같은 광범위하게 다양한 기능을 가능하게 하는 복잡한 컴퓨팅 디바이스들로 발전할 수 있게 했다. 결과로서, 오늘날의 무선 통신 디바이스들의 사용자들은, 종래에는 다수의 디바이스들 또는 더 큰 비-휴대가능한 장비 중 어느 하나를 요구했던 광범위한 범위의 태스크들을 단일의 휴대용 디바이스로부터 수행할 수 있다. 그러한 태스크들은, 디바이스의 기능들을 수행 및 커스텀화할 시에 디바이스의 위치, 디바이스의 영역에서 발생하는 이벤트들 등과 같은 디바이스 및 사용자 콘텍스트 정보를 검출 및 사용하기 위한 디바이스의 능력에 의해 보조될 수도 있다.
[0002] 애플리케이션-제어된 전력-효율적인 콘텍스트(상태) 분류를 제공하기 위한 시스템들 및 방법들이 본 명세서에서 설명된다. 본 명세서에 설명된 바와 같이 콘텍스트 분류를 관리하기 위한 방법의 일 예는, 콘텍스트 분류를 위한 요청 및 요청과 연관된 입도(granularity) 입력을 수신하는 단계; 및 입도 입력에 관련된 리소스 사용 레벨로 요청에 응답하여 분류기가 콘텍스트 분류를 수행하게 하는 단계를 포함한다. 더 높은 입도 레벨을 표시하는 입도 입력은 더 높은 리소스 사용 레벨과 연관되고, 더 낮은 입도 레벨을 표시하는 입도 입력은 더 낮은 리소스 사용 레벨과 연관된다.
[0003] 방법의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수도 있다. 분류기로부터 콘텍스트 분류의 결과를 획득하는 단계; 및 요청이 수신되었던 엔티티에 결과를 포워딩하는 단계. 콘텍스트 분류에 대한 리소스 사용 레벨은, 이용된 센서 피쳐들의 수, 이용된 분류 기술, 분류기의 듀티(duty) 사이클, 또는 이용된 분류 기술과 연관된 파라미터들 중 적어도 하나에 관련된다. 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택된다. 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트들을 식별하는 단계; 및 이용가능한 출력들의 서브세트들의 각각의 서브세트들에 입도 레벨들을 할당하는 단계. 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트들 중 하나를 포함하는 입도 입력을 수신하는 단계; 및 분류기가 입도 레벨에 할당된 리소스 사용 레벨의 입도 입력으로서 수신된 이용가능한 출력들의 서브세트로부터 출력을 선택함으로써 콘텍스트 분류를 수행하게 하는 단계. 콘텍스트 분류는, 모션 상태 분류, 위치 상태 분류, 또는 오디오 상태 분류 중 하나 또는 그 초과를 포함한다. 요청 애플리케이션으로부터 콘텍스트 분류를 위한 요청을 애플리케이션 프로그래밍 인터페이스(API)에서 수신하는 단계.
[0004] 본 명세서에서 설명된 바와 같이 조정가능한 입도를 이용하여 콘텍스트 분류를 수행하기 위한 방법의 일 예는, 콘텍스트 분류 위한 요청 및 요청과 연관된 입도 입력을 수신하는 단계; 입도 입력에 기초하여 콘텍스트 분류에 대한 리소스 사용 레벨을 선택하는 단계; 및 선택된 리소스 사용 레벨에서 콘텍스트 분류를 수행하는 단계를 포함한다. 더 높은 입도 레벨을 표시하는 입도 입력은 더 높은 리소스 사용 레벨과 연관되고, 더 낮은 입도 레벨을 표시하는 입도 입력은 더 낮은 리소스 사용 레벨과 연관된다.
[0005] 방법의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수도 있다. 리소스 사용 레벨은, 이용된 센서 피쳐들의 수, 이용된 분류 기술, 분류의 빈도, 또는 이용된 분류 기술과 연관된 파라미터들 중 적어도 하나에 관련된다. 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택된다. 분류기 구성 파라미터들의 세트들을 획득하는 단계 - 분류기 구성 파라미터들의 세트들의 각각의 세트들은, 리소스 사용 레벨들과 입도 셋팅들의 세트의 대응하는 입도 셋팅들 사이의 할당들을 표시함 -; 및 분류기 구성 파라미터들의 세트들에서 표시된 바와 같은 수신된 입도 입력에 할당된 리소스 사용 레벨로서 리소스 사용 레벨을 선택하는 단계. 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트들을 식별하는 단계; 및 각각의 분류기 입도 구성들에 이용가능한 출력들의 서브세트들의 각각의 서브세트들을 할당하는 단계 - 분류기 입도 구성들은 대응하는 리소스 사용 레벨들을 정의함 -. 이용가능한 출력들의 서브세트들 중 하나를 포함하는 입도 입력을 수신하는 단계; 및 입도 입력으로서 수신된 이용가능한 출력들의 서브세트에 할당된 분류기 입도 구성을 사용하여 콘텍스트 분류를 수행하는 단계. 콘텍스트 분류는, 모션 상태 분류, 위치 상태 분류, 또는 오디오 상태 분류 중 하나 또는 그 초과를 포함한다. API로부터 콘텍스트 분류를 위한 요청 및 입도 입력을 수신하는 단계. 콘텍스트 분류의 출력을 API로 리턴하는 단계. 콘텍스트 분류를 위한 요청은 요청 애플리케이션으로부터 발신되며, 방법은 콘텍스트 분류의 출력을 요청 애플리케이션에 리턴하는 단계를 포함한다.
[0006] 본 명세서에 설명된 바와 같이 조정가능한 입도를 이용하여 콘텍스트 분류를 수행하기 위한 장치의 일 예는, 콘텍스트 분류 위한 요청 및 요청과 연관된 입도 입력을 수신하도록 구성된 분류기 제어기; 및 분류기 제어기에 통신적으로 커플링되며, 분류기 제어기로부터 요청 및 입도 입력을 수신하고, 입도 입력에 기초하여 콘텍스트 분류에 대한 리소스 사용 레벨을 선택하고, 선택된 리소스 사용 레벨로 콘텍스트 분류를 수행하도록 구성된 콘텍스트 분류기를 포함한다. 더 높은 입도 레벨을 표시하는 입도 입력은 더 높은 리소스 사용 레벨과 연관되고, 더 낮은 입도 레벨을 표시하는 입도 입력은 더 낮은 리소스 사용 레벨과 연관된다.
[0007] 장치의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수도 있다. 분류기 제어기는, 분류기로부터 콘텍스트 분류의 결과를 획득하고, 요청이 수신되었던 엔티티에 결과를 포워딩하도록 추가적으로 구성된다. 콘텍스트 분류에 대한 리소스 사용 레벨은, 이용된 센서 피쳐들의 수, 이용된 분류 기술, 분류기의 듀티 사이클, 또는 이용된 분류 기술과 연관된 파라미터들 중 적어도 하나에 관련된다. 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택된다. 콘텍스트 분류기는, 분류기 구성 파라미터들의 세트들을 획득하고 - 분류기 구성 파라미터들의 세트들의 각각의 세트들은, 리소스 사용 레벨들과 입도 셋팅들의 세트의 대응하는 입도 셋팅들 사이의 할당들을 표시함 -; 그리고, 분류기 구성 파라미터들의 세트들에서 표시된 바와 같은 수신된 입도 입력에 할당된 리소스 사용 레벨로서 리소스 사용 레벨을 선택하도록 추가적으로 구성된다.
[0008] 부가적으로 또는 대안적으로, 장치의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수도 있다. 입도 입력은 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함한다. 콘텍스트 분류기는, 입도 입력으로서 수신된 이용가능한 출력들의 서브세트를 분류기 입도 구성에 할당하도록 추가적으로 구성되며, 분류기 입도 구성은 선택된 리소스 사용 레벨을 정의한다. 콘텍스트 분류기는, 입도 입력으로서 수신된 이용가능한 출력들의 서브세트로부터 출력을 선택함으로써 콘텍스트 분류를 수행하도록 추가적으로 구성된다. 콘텍스트 분류기는, 모션 상태 분류기, 위치 상태 분류기, 또는 오디오 상태 분류기 중 하나 또는 그 초과를 포함한다. 분류기 제어기는 API를 포함하며, 요청 애플리케이션으로부터 콘텍스트 분류를 위한 요청을 수신하도록 추가적으로 구성된다. 콘텍스트 분류기는, API 또는 요청 애플리케이션 중 적어도 하나에 콘텍스트 분류의 결과를 제공하도록 추가적으로 구성된다. 하나 또는 그 초과의 데이터 소스들은 콘텍스트 분류기에 통신적으로 커플링되며, 콘텍스트 분류기는, 데이터 소스들로부터 샘플링된 데이터에 기초하여 콘텍스트 분류를 수행하도록 구성된다. 데이터 소스들은, 오디오 센서, 위치 센서, 네트워크 센서, 모션 센서, 캘린더, 클록, 디바이스 사용 통계들의 세트, 또는 광 센서 중 적어도 하나를 포함한다.
[0009] 본 명세서에 설명된 바와 같이 콘텍스트 분류를 관리하기 위한 장치의 일 예는, 콘텍스트 분류를 위한 요청 및 요청과 연관된 입도 입력을 수신하기 위한 수단; 및 입도 입력에 관련된 리소스 사용 레벨로 요청에 응답하여 분류기가 콘텍스트 분류를 수행하게 하기 위한 수단을 포함한다. 더 높은 입도 레벨을 표시하는 입도 입력은 더 높은 리소스 사용 레벨과 연관되고, 더 낮은 입도 레벨을 표시하는 입도 입력은 더 낮은 리소스 사용 레벨과 연관된다.
[0010] 장치의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수도 있다. 콘텍스트 분류에 대한 리소스 사용 레벨은, 이용된 센서 피쳐들의 수, 이용된 분류 기술, 분류기의 듀티 사이클, 또는 이용된 분류 기술과 연관된 파라미터들 중 적어도 하나에 관련된다. 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택된다. 입도 입력은 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함한다. 콘텍스트 분류는, 모션 상태 분류, 위치 상태 분류, 또는 오디오 상태 분류 중 하나 또는 그 초과를 포함한다.
[0011] 본 명세서에서 설명된 바와 같이 조정가능한 입도를 이용하여 콘텍스트 분류를 수행하기 위한 장치의 일 예는, 콘텍스트 분류 위한 요청 및 요청과 연관된 입도 입력을 수신하기 위한 수단; 입도 입력에 기초하여 콘텍스트 분류에 대한 리소스 사용 레벨을 선택하기 위한 수단; 및 선택된 리소스 사용 레벨에서 콘텍스트 분류를 수행하기 위한 수단을 포함한다. 더 높은 입도 레벨을 표시하는 입도 입력은 더 높은 리소스 사용 레벨과 연관되고, 더 낮은 입도 레벨을 표시하는 입도 입력은 더 낮은 리소스 사용 레벨과 연관된다.
[0012] 장치의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수도 있다. 리소스 사용 레벨은, 이용된 센서 피쳐들의 수, 이용된 분류 기술, 분류의 빈도, 또는 이용된 분류 기술과 연관된 파라미터들 중 적어도 하나에 관련된다. 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택된다. 입도 입력은 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함한다. 콘텍스트 분류는, 모션 상태 분류, 위치 상태 분류, 또는 오디오 상태 분류 중 하나 또는 그 초과를 포함한다. 콘텍스트 분류를 위한 요청의 소스에 콘텍스트 분류의 결과를 리턴하기 위한 수단.
[0013] 본 명세서에 설명된 바와 같은 컴퓨터 프로그램 물건의 일 예는, 프로세서-실행가능 컴퓨터 사용 매체 상에 상주하며, 프로세서로 하여금, 콘텍스트 분류를 위한 요청 및 요청과 연관된 입도 입력을 수신하게 하고; 그리고, 입도 입력에 관련된 리소스 사용 레벨로 요청에 응답하여 분류기가 콘텍스트 분류를 수행하게 하도록 구성된 프로세서-실행가능 명령들을 포함한다. 더 높은 입도 레벨을 표시하는 입도 입력은 더 높은 리소스 사용 레벨과 연관되고, 더 낮은 입도 레벨을 표시하는 입도 입력은 더 낮은 리소스 사용 레벨과 연관된다.
[0014] 컴퓨터 프로그램 물건의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수도 있다. 콘텍스트 분류에 대한 리소스 사용 레벨은, 이용된 센서 피쳐들의 수, 이용된 분류 기술, 분류기의 듀티 사이클, 또는 이용된 분류 기술과 연관된 파라미터들 중 적어도 하나에 관련된다. 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택된다. 입도 입력은 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함한다.
[0015] 본 명세서에 설명된 바와 같은 컴퓨터 프로그램 물건의 다른 예는, 프로세서-실행가능 컴퓨터 사용 매체 상에 상주하며, 프로세서로 하여금, 콘텍스트 분류를 위한 요청 및 요청과 연관된 입도 입력을 수신하게 하고; 입도 입력에 기초하여 콘텍스트 분류를 위한 리소스 사용 레벨을 선택하게 하며; 그리고, 선택된 리소스 사용 레벨로 콘텍스트 분류를 수행하게 하도록 구성된 프로세서-실행가능 명령들을 포함한다. 더 높은 입도 레벨을 표시하는 입도 입력은 더 높은 리소스 사용 레벨과 연관되고, 더 낮은 입도 레벨을 표시하는 입도 입력은 더 낮은 리소스 사용 레벨과 연관된다.
[0016] 컴퓨터 프로그램 물건의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수도 있다. 리소스 사용 레벨은, 이용된 센서 피쳐들의 수, 이용된 분류 기술, 분류의 빈도, 또는 이용된 분류 기술과 연관된 파라미터들 중 적어도 하나에 관련된다. 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택된다. 입도 입력은 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함한다. 명령들은 프로세서로 하여금, 콘텍스트 분류를 위한 요청의 소스에 콘텍스트 분류의 결과를 리턴하게 하도록 구성된다.
[0017] 본 명세서에 설명된 아이템들 및/또는 기술들은 다음의 능력들 뿐만 아니라 언급되지 않은 다른 능력들 중 하나 또는 그 초과를 제공할 수도 있다. 본 명세서의 메커니즘들은 조정가능한 분류기 정밀도를 제공하여, 높은 분류 정밀도가 필요하지 않은 애플리케이션들에 대한 전력 소비 및 리소스 사용의 보존을 가능하게 한다. 디바이스 상에서 실행하는 애플리케케이션들에 의한 상태 또는 콘텍스트 분류 루틴들로의 액세스를 위한 간략화되고 균일한 절차들을 제공하는 애플리케이션 프로그래밍 인터페이스(API) 및/또는 다른 제어 메커니즘들이 제공된다. 다른 능력들이 제공될 수도 있으며, 본 발명에 따른 모든 각각의 구현도 설명된 능력들 중 전부가 아니라 임의의 능력을 제공해야 한다. 추가적으로, 상기 언급된 효과가 언급된 것 이외의 수단에 의해 달성되는 것이 가능할 수도 있으며, 언급된 아이템/기술은 언급된 효과를 반드시 산출하지는 않을 수도 있다.
[0018] 도 1은 모바일 컴퓨팅 디바이스의 컴포넌트들의 블록도이다.
[0019] 도 2는 콘텍스트 분류들을 수행 및 관리하기 위한 시스템의 블록도이다.
[0020] 도 3-5는 콘텍스트 분류를 위한 요청을 프로세싱하기 위한 각각의 시스템들의 블록도들이다.
[0021] 도 6은 API를 이용하여 관리되는 애플리케이션-제어된 분류 시스템의 블록도이다.
[0022] 도 7은 콘텍스트 분류를 관리하는 블록 흐름도이다.
[0023] 도 8은 이용가능한 분류 출력 서브세트들의 세트에 기초하여 콘텍스트 분류를 관리하는 프로세스의 블록 흐름도이다.
[0024] 도 9는 제어된 입도를 이용하여 콘텍스트 분류를 수행하는 프로세스의 블록 흐름도이다.
[0025] 도 10은 미리 정의된 입도 셋팅들에 기초하여 콘텍스트 분류를 수행하는 프로세스의 블록 흐름도이다.
[0026] 도 11은 이용가능한 분류 출력 서브세트들의 세트에 기초하여 콘텍스트 분류를 수행하는 프로세스의 블록 흐름도이다.
[0027] 도 12는 컴퓨터 시스템의 일 예의 블록도이다.
[0028] 콘텍스트 분류를 위한 애플리케이션-제어된 입도를 제공하기 위한 시스템들 및 방법들이 본 명세서에서 설명된다. 본 명세서에 설명된 기술들은, 스마트폰들, 랩탑 또는 태블릿 컴퓨터들, 개인 휴대 정보 단말(PDA)들 등과 같은 디바이스들 뿐만 아니라 현재 존재하거나 장래에 존재하는 임의의 다른 컴퓨팅 디바이스에 대한 콘텍스트 결정을 보조하는데 사용될 수 있다. 다른 사용들이 또한 가능할 수도 있다. 아래의 설명에서 주어진 다양한 예들이 모바일 컴퓨팅 디바이스들에 관한 것이지만, 본 명세서에서 설명된 기술들은, 콘텍스트 추론이 바람직한 임의의 디바이스에 적용될 수 있다.
[0029] 모바일 디바이스 기술에서의 진보들은, 디바이스의 기능들을 수행 및 커스텀화할 시에 디바이스의 위치, 디바이스의 영역에서 발생하는 이벤트들 등과 같은 디바이스 및 사용자 콘텍스트 정보를 검출 및 사용하기 위한 능력을 모바일 디바이스들에 제공한다. 모바일 콘텍스트 인식의 일 목적은, 디바이스가 디바이스의 사용자가 무엇을 행하고 있는지를 추론하게 하는 것이다. 이것은, 예컨대, 사용자가 로케이팅되는 장소의 타입(예를 들어, 오피스, 회의실, 강의실, 홈, 짐, 레스토랑, 커피숍, 바 등) 또는 사용자가 있는 상황의 타입(예를 들어, 미팅중, 홀로 작업중, 운전중, 점심식사중, 운동중, 수면중 등)에 의해 다수의 차원(dimension)들에 따라 평가될 수 있다. 각각의 그러한 차원은 콘텍스트로 본 명세서에서 지칭된다. 사용자 콘텍스트들을 추론함으로써, 애플리케이션들의 범위가 다음과 같이(하지만 이에 제한되지 않음) 용이하게 된다.
[0030] 1) 사용자가 인터럽트가능하지 않는 경우 통화들을 음성메일로 전환하거나 또는 텍스트 메시지들에 응답하는 것과 같이 디바이스 기능을 자동화함, 환경에 기초하여 벨소리를 조정함, 사용자가 늦을 경우 미팅 참가자들에게 통지함 등.
[0031] 2) 체크인들과 같이 소셜 네트워킹 상호작용을 자동화함, 사용자가 근방에 있을 경우 친구들에게 통지함 등.
[0032] 3) 소모된 칼로리들, 걸은 마일들, 작업 대 놀이에서 소비된 시간들과 같은 건강 관리 정보를 제공함 등.
[0033] 4) 예컨대, 레스토랑들, 숍들, 소비자 제품들, 가솔린 등에 대한 정확하고 적시의 추천들을 용이하게 함 등.
[0034] 사용자 콘텍스트들을 추론하기 위한 하나의 접근법은, 컴퓨팅된 저레벨 추론들 및 특성들로부터 통계적으로 또는 달리 그들을 습득하는 것이다. 저레벨 추론들의 예들은, 오디오 데이터 스트림에 스피치가 존재하는지 또는 존재하지 않는지 여부, 가속도계 데이터 스트림에 기초하여 결정된 바와 같은 사용자의 모션 상태(예를 들어, 걷는중, 앉아있는 중, 운전중 등), 사용자가 홈/직장/대중교통 이용중(in transit)/알려지지 않은 위치에 있는지 여부, (예를 들어, 글로벌 포지셔닝 시스템(GPS) 또는 가시적인 다른 SPS 위성들의 수에 기초하여) 사용자가 실내 또는 실외에 있는지 여부 등이다. 저레벨 특성들의 예들은, GPS 속도, 범위 내의 블루투스 디바이스들의 수, 가시적인 Wi-Fi 액세스 포인트들의 수, 근접 센서 카운트, 주변 광 레벨, 평균 카메라 강도, 시각, 요일, 주중 또는 주말, 주변 오디오 에너지 레벨 등이다. 상기의 것은 포괄적인 리스트가 아니며, 다른 저레벨 특성들 및/또는 추론들이 사용될 수 있다.
[0035] 상술된 바와 같이, 모바일 디바이스(예를 들어, 스마트폰 등)는 콘텍스트-인식 서비스들을 제공하는 프로세스에서 센서 데이터를 분류한다. 이들 분류들은, 예를 들어, 가속도계 데이터에 기초한 모션 상태 분류, 오디오 데이터에 기초한 스피치 검출 등을 포함할 수 있다. 디바이스의 OEM(original equipment manufacturer) 레벨 및/또는 운영 시스템(OS) 위의 레벨에서의 애플리케이션들은 벤더(vendor)-제공된 API를 통해 콘텍스트 인식 서비스들의 출력들을 이용한다. 그러나, 상이한 애플리케이션들은 상이한 요건들을 가질 수도 있다. 예를 들어, 모션 상태 분류기는 API를 통해 클래스들의 세트 {걷기, 뛰기, 앉기, 서있기, 빈둥거림(fiddle), 휴식, 운전}를 출력할 수도 있으며, 그 API를 통해, 지오-펜싱 애플리케이션은 차례로, 사용자에 의하여 이동된 거리를 경계짓기(bound) 위해, 세트로부터 모션 상태 {stationary, pedestrian_motion, vehicular_motion}를 결정하려는 목적들을 위해 이용될 수도 있다. 엔드-투-엔드 시스템으로서 뷰잉되는 경우, 이러한 시나리오의 API는, 애플리케이션에 의해 사용된 것보다 더 높은 입도를 갖는 분류 출력들을 제공하며, 이는, 전력 관점으로부터 감소된 효율을 초래한다.
[0036] 적어도 상기의 관점에서, 본 명세서에 설명된 시스템들 및 방법들은 애플리케이션-제어된 콘텍스트 분류를 제공한다. 콘텍스트 분류를 요청하는 애플리케이션들 및/또는 다른 엔티티들은, 하나 또는 그 초과의 입도 정의 방식들에 따라 원하는 입도 레벨을 특정하기 위한 능력을 제공받는다. 이를 행할 시에, 애플리케이션들은, 원하는 분류 정밀도와 전력 및/또는 다른 시스템 리소스들의 소비 사이의 트래이드오프들을 관리하기 위한 증가된 능력을 제공받는다.
[0037] 본 명세서에 설명된 기술들은, 도 1에 도시된 예시적인 모바일 디바이스(100)와 같은 모바일 디바이스에 대해 이용될 수 있다. 모바일 디바이스(100)는, 무선 네트워크에 걸쳐 무선 안테나(122)를 통해 무선 신호들(123)을 전송 및 수신하는 무선 트랜시버(121)를 포함한다. 트랜시버(121)는, 무선 트랜시버 버스 인터페이스(120)에 의해 버스(101)에 접속된다. 도 1에 별개의 컴포넌트들로서 도시되지만, 무선 트랜시버 버스 인터페이스(120)는 또한, 무선 트랜시버(121)의 일부일 수도 있다. 여기서, 모바일 디바이스(100)는, 단일 무선 트랜시버(121)를 갖는 것으로 도시된다. 그러나, 모바일 디바이스(100)는 대안적으로, Wi-Fi, 코드 분할 다중 액세스(CDMA), 광대역 CDMA(WCDMA), 롱텀 에볼루션(LTE), 블루투스 등과 같은 다중 통신 표준들을 지원하기 위해 다수의 무선 트랜시버들(121) 및 무선 안테나들(122)을 가질 수 있다.
[0038] 범용 프로세서(111), 메모리(140), 디지털 신호 프로세서(DSP)(112) 및/또는 특수화된 프로세서(들)(미도시)는 또한, 무선 신호들(123)을 전체적으로 또는 부분적으로 프로세싱하기 위해 이용될 수도 있다. 무선 신호들(123)로부터의 정보의 저장은 메모리(140) 또는 레지스터들(미도시)을 사용하여 수행된다. 하나의 범용 프로세서(111), DSP(112) 및 메모리(140)만이 도 1에 도시되지만, 이들 컴포넌트들 중 1개 초과의 임의의 컴포넌트가 모바일 디바이스(100)에 의해 사용될 수 있다. 범용 프로세서(111) 및 DSP(112)는 직접적으로 또는 버스 인터페이스(110)에 의해 버스(101)에 접속된다. 부가적으로, 메모리(140)는 직접적으로 또는 버스 인터페이스(미도시)에 의해 버스(101)에 접속된다. 버스 인터페이스들(110)은, 구현될 경우, 그들이 연관되는 범용 프로세서(111), DSP(112) 및/또는 메모리(140)와 통합되거나 그들과 독립적일 수 있다.
[0039] 메모리(140)는, 하나 또는 그 초과의 명령들 또는 코드로서 기능들을 저장하는 비-일시적인 컴퓨터-판독가능 저장 매체(또는 매체들)를 포함한다. 메모리(140)를 구성할 수 있는 매체들은, RAM, ROM, FLASH, 디스크 드라이브들 등을 포함하지만 이에 제한되지는 않는다. 메모리(140)에 의해 저장된 기능들은 범용 프로세서(111), 특수화된 프로세서(들), 또는 DSP(112)에 의해 실행된다. 따라서, 메모리(140)는, 프로세서(111) 및/또는 DSP(112)로 하여금 설명된 기능들을 수행하게 하도록 구성된 소프트웨어 코드(프로그래밍 코드, 명령들 등)를 저장하는 프로세서-판독가능 메모리 및/또는 컴퓨터-판독가능 메모리이다. 대안적으로, 모바일 디바이스(100)의 하나 또는 그 초과의 기능들은 하드웨어에서 전체적으로 또는 부분적으로 수행될 수도 있다.
[0040] 모바일 디바이스(100)는, 모바일 디바이스(100) 및/또는 그의 주변들과 연관된 데이터를 캡쳐하는 하나 또는 그 초과의 센서들(135)을 더 포함한다. 센서들(135)은, 마이크로폰들 또는 오디오 센서들, 카메라들, 광 센서들, 압력 센서들, 관성 센서들(예를 들어, 가속도계 및/또는 자이로스코프들), 마그노미터(magnetometer) 등을 포함할 수도 있지만 이에 제한되지는 않는다. 센서들(135)은 개별적으로 또는 센서 어레이들 또는 임의의 다른 결합들과 같이 결합들로 사용될 수도 있다. 다수의 센서들(135)은, 모바일 디바이스(100)에 의해 구현되면, 상호의존적으로 또는 서로 독립적으로 동작할 수 있다. 센서들(135)은 독립적으로 또는 버스 인터페이스(미도시)를 통해 버스(101)에 접속된다. 예를 들어, 센서들(135)은, 센서들(135)에 의해 캡쳐된 데이터를 프로세싱하기 위해 버스(101)를 통하여 DSP(112)와 통신할 수 있다. 부가적으로, 센서들(135)은, 캡쳐된 데이터와 연관된 메타데이터를 생성하거나 그렇지 않으면 획득하기 위해 범용 프로세서(111) 및/또는 메모리(140)와 통신할 수 있다. 몇몇 실시예들에서, 안테나(122) 및/또는 트랜시버(121)는 또한, 예를 들어, Wi-Fi 신호들과 같은 무선 신호들을 감지 또는 검출하기 위해 센서들로서 이용될 수도 있다.
[0041] 도 2는 콘텍스트 분류들을 수행 및 관리하기 위한 시스템(200)을 도시한다. 시스템(200)은, 도 1에 도시된 모바일 디바이스(100)와 같은 컴퓨팅 디바이스에 의해 이용될 수 있다. 시스템(200)은, 마이크로폰들과 같은 오디오 센서들(212), GPS 트랜시버들과 같은 위치 센서들(214), Wi-Fi 및/또는 다른 라디오 트랜시버들과 같은 네트워크 센서들(216), 가속도계들 또는 자이로스코프들과 같은 모션 센서들(218), 캘린더/일정 기록들(220), 시스템 클록 또는 다른 메커니즘들과 같은 시간/날짜 정보의 소스들(222), 디바이스 사용도 모니터들(224), 광 및/또는 카메라 센서들(226) 등을 포함할 수도 있지만 이에 제한되지는 않는 하나 또는 그 초과의 데이터 소스들(210)을 포함한다.
[0042] 데이터 센서들(210)로부터의 데이터는, 데이터에 의해 표시된 콘텍스트 상태를 추론하기 위해 수집된 데이터를 이용하는 콘텍스트 분류기(230)에 제공(예를 들어, 그에 의해 샘플링)된다. 예를 들어, 콘텍스트 분류기는, 시스템(200)과 연관된 모션 상태를 추론하기 위해 데이터 센서들(210)로부터의 데이터를 이용하는 모션 상태 분류기일 수도 있다. 후술되는 바와 같이, 다른 분류들이 또한 가능하다. 콘텍스트 분류기(230)는, 주기적으로 그리고/또는 하나 또는 그 초과의 소스들에 의해 제공된 분류를 위한 요청들에 응답하여 콘텍스트 분류들을 수행할 수도 있다. 분류 요청들을 수신하고 그에 응답하기 위한 기술들이 후술된다.
[0043] 데이터 소스들(210)로부터 수집된 데이터는 콘텍스트 분류기(230)에 의해 사용가능한 임의의 형태를 취할 수 있다. 예를 들어, 수집된 데이터는, 오디오 센서들(212)로부터의 오디오 샘플들; 위치 센서들(214)로부터의 GPS 판독들 및/또는 다른 포지셔닝 측정들; 네트워크 센서들(216)로부터의 네트워크 강도 및/또는 다른 네트워크-관련 판독들; 모션 센서들(218)로부터의 모션, 가속도 또는 배향 데이터; 캘린더(220)와 연관된 엔트리들 등을 포함할 수 있다. 데이터에 부가하여, 데이터에 적용된 라벨들이 또한 이용될 수 있다. 예를 들어, 캘린더 엔트리들은 위치 또는 타이틀, 예를 들어, "사용자의 오피스" 또는 "의사 예약"으로 라벨링될 수도 있다.
[0044] 분류기 제어기(240)는, 애플리케이션들 또는 다른 소스들을 통해 콘텍스트 분류를 위한 인커밍 요청들을 수용하며, 요청들에 응답하여 특정된 입도 레벨로 콘텍스트 분류를 수행하도록 콘텍스트 분류기(240)를 구성함으로써, 콘텍스트 분류기(230)의 동작을 관리한다. 예를 들어, 도 3의 시스템(300)에 의해 도시된 바와 같이, 분류 요청 소스(310)(예를 들어, 모바일 디바이스(100)에 의해 실행된 애플리케이션 등)는, 콘텍스트 분류를 위한 요청을 분류기 제어기(240)에 제출하도록 구성된다. 분류 요청은 후술되는 바와 같이, 입도 파라미터 또는 클래스들의 서브세트들의 특정된 세트 중 어느 하나의 형태를 취할 수도 있는 입력으로서 입도 셋팅들을 포함한다. 분류기 제어기(240)는, 입도 입력을 프로세싱하며, 요청 및 입도 입력에 응답하여 적절한 명령들을 콘텍스트 분류기(230)에 제출한다. 콘텍스트 분류기(230)의 내부 메커닉은, 콘텍스트 분류기(230)로부터의 명령들에 의해 특정된 바와 같이, 상이한 입도들의 출력으로 동작하거나, 클래스들의 서브세트들의 상이한 특정된 세트들을 출력하도록 재구성가능하다. 결과로서, 입도가 코오스하게(coarsen)되는 경우, 또는 클래스들의 더 넓은 서브세트들이 특정되는 경우, 콘텍스트 분류기(230)를 구동시키는데 요구되는 전력이 감소된다. 특정한 레벨의 입도로 콘텍스트 분류를 수행할 시에, 분류의 출력은, 직접적으로 또는 분류기 제어기(240)를 통해 분류 요청의 소스(310)에 제공된다. 콘텍스트 분류기(230)와 분류들을 요청한 엔티티들 사이의 매개체로서 동작하도록 분류기 제어기(240)를 구성함으로써, 분류기 제어기는, 콘텍스트 분류기(230)의 동작에 영향을 줄 수도 있는 연관된 디바이스에 의해 이용되는 운영 시스템 및/또는 연관된 디바이스의 다른 속성들에 관계없이, 예를 들어, API 및/또는 다른 메커니즘들을 통해, 콘텍스트 분류기(230)와 요청 엔티티들 사이의 상호작용의 간략화된 균일한 수단을 제공할 수 있다. API로서의 분류기 제어기(240)의 예시적인 구현은 더 상세히 후술된다. 다른 구현들이 또한 가능하다.
[0045] 더 코오스한 입도가 요청되거나 또는 클래스들의 더 넓은 서브세트가 특정되는 경우, 콘텍스트 분류기(230)는 다음, 즉 (1) 데이터 소스들(210)에 의해 제공된 데이터로부터 더 적은 특성들을 획득 및/또는 사용하는 것; (2) 더 미가공한(cruder) 분류 기술을 사용하는 것; (3) 더 간단한 파라미터 셋팅, 예를 들어, GMM(Gaussian Mixture Model)에 대한 더 적은 혼합 컴포넌트들, (뉴럴 네트워크 분류기에 대한) 더 적은 지원 벡터들, 가장 근접한 이웃 분류기에 대해 고려된 더 적은 데이터 포인트들을 사용하는 것; (4) 더 작은 듀티 사이클을 사용하는 것, 예를 들어, 단지 짧은 버스트들로 센서 서브시스템을 웨이킹(wake)하는 것 등 중 하나 또는 그 초과에 기초하여 더 코오스한 입도 및/또는 더 작은 정밀도로 자신의 출력을 컴퓨팅할 수도 있다. 다른 조정들이 또한 가능하다.
[0046] 입도 셋팅들의 세트에 기초한 콘텍스트 분류기(230)의 입도-제어된 동작의 일 예는 도 4의 시스템(400)에 의해 도시된다. 여기서, 분류기 제어기(240)는, 분류를 위한 요청과 결합하여 요청 소스(310)로부터 입력으로서 입도 파라미터를 취하도록 구성된다. 입도 파라미터는, 콘텍스트 분류기(230)에서 구성 파라미터들(410)의 세트들과 각각 연관된 하나 또는 그 초과의 셋팅들을 갖는다. 콘텍스트 분류기(240)는, 분류 요청에 응답하여 분류기 제어기(240)로부터 분류 명령들을 수신하고, 연관된 입도 입력에 기초하여 구성 파라미터들(410)의 적절한 세트를 식별하고, 요청된 분류를 수행하며, 분류의 결과를 분류기 제어기(240) 및/또는 요청의 소스(310)에 리턴한다. 여기서, 분류기 제어기(240)는 입도 파라미터를 분류기 셋팅 명령들로 변환하는 것으로 도시되며, 콘텍스트 분류기(230)는 분류를 수행하기 위해 구성 파라미터들(410)의 명령된 세트를 이용한다. 대안적으로, 분류기 제어기(240)는, 요청에 따라 입도 파라미터를 콘텍스트 분류기(230)에 전달할 수 있으며, 콘텍스트 분류기(230)는 입도 파라미터에 기초하여 구성 파라미터들(410)의 적절한 세트를 결정할 수 있다.
[0047] 시스템(400)의 동작의 일 예로서, 콘텍스트 분류기(230)는, 2개의 셋팅들(코오스한 및 정밀한)을 갖는 입도 파라미터들에 따라 모션 상태 분류를 제공하도록 구성될 수도 있다. 여기서, 코오스한 셋팅은, 콘텍스트 분류기(230)가, 가속도계 놈(norm)(본 명세서에서 sa로 지칭됨)의 표준 편차 및 평균들의 비율을 특성들로서 이용하고, 특성 당 하나의 혼합 컴포넌트를 이용하며, 상태들의 제 1 세트 {stationary, pedestrian_motion, vehicular_motion}로부터 출력하는 GMM-기반 모션 상태 분류기로서 동작하는 것을 초래한다. 대조적으로, 정밀한 셋팅은, 콘텍스트 분류기(230)가, 코오스한 셋팅에 대해 상기 리스트된 2개의 특성들에 부가하여, 피치 및 롤(pitch and roll), 수 개의 MFCC(mel-frequency cepstral coefficient)들, 스펙트럼 엔트로피, 및 가속도계 놈의 평균을 이용하고; 특성 당 4개의 혼합 컴포넌트들을 이용하며; 그리고, 상태들의 제 2 세트{걷기, 뛰기, 앉기, 서있기, 빈둥거리기, 휴식, 운전}로부터 출력하는 모션 상태 분류기로서 동작하는 것을 초래한다. 코오스한 셋팅이 일반적으로 감소된 계산을 초래할 것이지만, 콘텍스트 분류기(230)는 이러한 셋팅에서 정밀한 셋팅과 비교할 경우 더 작은 전력으로 구동한다.
[0048] 여기서, 분류기 출력 서브세트들의 세트들에 기초한 콘텍스트 분류기(230)의 입도-제어된 동작의 다른 예는 도 5의 시스템(500)에 의해 도시된다. 콘텍스트 분류기(230)에 의해 수행되고 분류기 제어기(240)에 의해 관리되는 각각의 분류 타입(예를 들어, 모션 상태 분류, 위치 분류 등)에 대해, 콘텍스트 분류기는 이용가능한 분류 출력들(예를 들어, 콘텍스트 상태들)의 세트를 보유한다. 이용가능한 출력들의 이러한 세트는 차례로, 서브세트들로 분할되며, 콘텍스트 분류기(230)와 연관된 분류기 구성 관리자(510)는 각각의 서브세트를 분류기 구성 파라미터들과 연관시킨다. 예로서, 가능한 출력들 {A, B, C}을 갖는 분류에 대해, 분류기 구성 관리자(510)는, 서브세트 그룹들 {A/B, C}, {A/C, B}, {B/C, A} 및 {A, B, C}에 대한 구성 프로파일들을 보유할 수 있다. 이러한 예에 대해, 다른 방식을 나타내면, 콘텍스트 분류기는, 콘텍스트 분류기(230)가 (1) A/B 또는 C, (2) A/C 또는 B, (3) B/C 또는 A, 또는 (4) A 또는 B 또는 C 중 어느 하나를 출력하는 상이한 구성들과 연관된다. 유사한 서브세트 결합들이 다른 수들의 가능한 출력들을 갖는 분류를 위해 이용될 수 있다. 주어진 분류와 연관된 출력 서브세트들은 잠재적인 출력들의 모든 가능한 결합들 또는 모두 미만의 모든 가능한 결합들에 대응할 수도 있다. 추가적으로, 서브세트들은, 단일의 잠재적인 출력들(예를 들어, 주어진 상태 출력 A를 리턴하거나 어떠한 상태 출력도 리턴하지 않음) 또는 다수의 잠재적인 출력들로 구성될 수도 있다. 부가적으로, 몇몇 출력들은 다양한 서브세트들로 결합될 수도 있다. 예를 들어, 상기 나타낸 바와 같은 가능한 출력들 {A, B, C}을 갖는 분류의 예로 리턴하면, 분류기 구성 관리자(510)는 또한, 서브세트들 {(A 또는 B), C}, {A, (B 또는 C)}, 등에 대한 구성 프로파일들을 보유할 수도 있다. 다른 구성들이 또한 사용될 수 있다.
[0049] 시스템(500)에 도시된 바와 같이, 분류 요청을 위한 소스(310)는, 분류에 대한 이용가능한 출력 콘텍스트 클래스들의 서브세트와 함께 분류기 제어기(230)에 요청을 제출한다. 분류 요청과 연관된 출력 서브세트는, 콘텍스트 분류기(230)가 자신의 콘텍스트 결정을 행할 시에 선택할 이용가능한 분류 출력들의 서브세트를 표현한다. 시스템(500)은, 분류 요청 소스(310)가 주어진 분류에 대한 출력들의 원하는 서브세트를 식별하고, 이러한 서브세트를 요청과 결합하여 분류기 제어기(240)에 제출한다는 것을 예시한다. 대안적으로, 분류 출력 서브세트의 선택은, 분류 요청 소스(310)에 투명하게 분류기 제어기(240)에 의해 수행될 수 있다. 예를 들어, 분류 요청 소스(310)는, 연관된 일반화된 입도 셋팅과 함께 콘텍스트 분류를 위한 요청을 분류기 제어기에 제출할 수 있다. 이러한 경우, 분류기 제어기(240)는, 제공된 입도 레벨을 출력들의 서브세트로 변환하고, 이러한 출력 서브세트를 콘텍스트 분류기(230)에 포워딩한다. 유사하게, 분류기 제어기(240)는, 콘텍스트 분류기(230)가 잠재적인 출력들의 적절한 서브세트를 결정할 수 있도록 입도 레벨 입력을 콘텍스트 분류기(230)에 포워딩할 수 있다. 분류기 제어기(240) 및/또는 콘텍스트 분류기(230)는 또한, 어떠한 입도 입력도 분류 요청과 함께 분류 요청 소스(310)로부터 획득되지 않는 이벤트에서, 디폴트 입도 구성 및/또는 분류 출력 서브세트를 이용할 수도 있다.
[0050] 시스템(500)의 동작의 일 예로서, 분류기 제어기(240)는, 클래스들의 서브세트들의 특정된 세트를 요청 소스(310)로부터의 입력으로서 취할 수도 있다. 부가적으로, 콘텍스트 분류기(230)는, 클래스들의 디폴트 세트 {걷기, 앉기, 서있기}를 갖는 GMM-기반 모션 상태 분류기를 포함할 수도 있다. 따라서, 클래스들의 서브세트들의 세트에 대한 가능한 입력들은 {{걷기}, {앉기}, {서있기}}, {{걷기, 앉기}, {서있기}}, {{걷기}, {앉기, 서있기}}, {{걷기, 서있기}, {앉기}}, 및 {{걷기, 앉기, 서있기}}이다. 콘텍스트 분류기(230)는, 특정된 세트에 의존하여 상이한 특성들 및 수의 혼합 컴포넌트들을 사용할 수도 있다. 예를 들어, 특정된 입력 세트가 {{걷기}, {앉기, 서있기}}이면, 콘텍스트 분류기(230)는 데이터를 분류하기 위해 단일의 혼합 컴포넌트를 갖는 (상술된 바와 같인) 단일 특성 sa를 사용할 수도 있다. 몇몇 경우들에서, 이것은, 동일한 정확도로 분류하기 위해 더 많은 특성들 및 혼합 컴포넌트들을 이용할 수도 있는, 특정된 입력 세트가 {{걷기, 앉기}, {서있기}}인 경우에 비해 전력 절약들을 초래한다.
[0051] 콘텍스트 분류기(230) 및/또는 분류기 제어기(240)는, 하드웨어, 소프트웨어(예를 들어, 비-일시적인 컴퓨터-판독가능 메모리(140) 상에 저장되고 프로세서(111)에 의해 실행되는 소프트웨어 코드), 또는 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 애플리케이션-제어된 입도를 이용한 콘텍스트 분류 시스템(600)의 예시적인 구현은 도 6에 도시된다. 도 6에 도시된 시스템(600)은, 하나 또는 그 초과의 애플리케이션들(620)과 상호작용하고, 애플리케이션들(620)과 모션 상태 분류기(630) 사이의 매개체로서 동작하는 API(610)를 포함한다. 모션 상태 분류기의 특정한 예가 도 6에서 사용되지만, 유사한 개념들이 상술된 바와 같이 다른 콘텍스트 분류기들에 적용된다.
[0052] 일반적으로, 시스템(600)에 도시된 애플리케이션(620)은, 콘텍스트 분류를 위한 요청들을 API(610)에 제출하기 위해 도 3-5에 도시된 분류 요청 소스(310)와 유사한 방식으로 동작한다. 애플리케이션(620)은, 분류를 위한 자신의 요청을 갖는 입도 입력을 포함한다. API(610)는, 도 3-5에 도시된 분류기 제어기(240)와 유사한 방식으로 이러한 입도 입력 및/또는 다른 적절한 입도-특정 명령들을 모션 상태 분류기(630)에 제공한다. 여기서, 모션 상태 분류기(630)는 2개의 셋팅들, 즉 분류 출력 서브세트 {정적, 보행, 차량}에 대응하는 코오스한 셋팅 및 분류 출력 서브세트 {걷기, 뛰기, 앉기, 서있기, 빈둥거림, 휴식, 운전}에 대응하는 정밀한 셋팅을 이용하도록 구성된다. 다른 셋팅들은 또한, 도 2-5에 대해 일반적으로 상술된 바와 같이 사용될 수 있다.
[0053] 모션 상태 분류기(630)에 의해 사용될 셋팅은, 시스템(400)과 유사한 방식으로 입도 셋팅 파라미터(예를 들어, 코오스 또는 정밀), 시스템(500)과 유사한 방식으로 분류 출력 서브세트들 중 하나의 식별, 및/또는 이들 접근법들 및/또는 다른 접근법들의 결합 중 어느 하나에 기초하여 선택될 수도 있다. 코오스 셋팅이 선택되면, 모션 상태 분류기는, 코오스한-입도(coarse-grained) 모션 상태 분류기(632)를 사용하여 콘텍스트 분류를 수행한다. 대안적으로, 정밀한 셋팅이 선택되면, 정밀한-입도(fine-grained) 모션 상태 분류기(634)가 사용된다. 어느 경우든, 분류로부터의 결과적인 모션 상태는 모션 상태 분류기(630)에 의해 API(610)으로 리턴된다. 차례로, API(610)는 요청 애플리케이션(620)에 출력을 제공한다.
[0054] 코오스한-입도 모션 상태 분류기(632) 및 정밀한-입도 모션 상태 분류기(634)는, 센서 샘플 레이트 및/또는 분류 듀티 사이클, 이용된 센서 특성들, 분류기 타입 등과 같은 하나 또는 그 초과의 속성들의 관점들에서 변할 수도 있다. 일반적으로, 코오스한-입도 모션 상태 분류기(632)는, 분류 정밀도의 비용으로 정밀한-입도 모션 상태 분류기(634)의 전력 소비보다 더 낮은 레벨의 전력 소비를 초래한다. 따라서, 코오스한-입도 모션 상태 분류기(632)는, 정밀한 입도의 분류 출력이 필요하지 않거나, 또는 그렇지 않으면, 예를 들어, 저전력 디바이스들, 애플리케이션들 또는 동작 모드들에 대해 전력 소비가 분류 입도보다 더 높은 중요도를 갖는 것으로 결정되는 애플리케이션들; 연관된 디바이스의 배터리 충전 레벨이 지정된 임계치 아래에 있는 시나리오들; 등에 대해 이용된다.
[0055] 본 명세서에서, API(610)는, 연관된 디바이스 상에서 실행하는 애플리케이션들(620)에 이용가능한 인터페이스이다. API는, 현재 존재하거나 또는 장래에 존재할지에 관계없이, Google, Inc에 의해 개발된 안드로이드 운영 시스템, Microsoft Corp에 의해 개발된 윈도우 및 윈도우 모바일 운영 시스템들, 및/또는 임의의 다른 운영 시스템들과 같은 디바이스 운영 시스템으로 구축될 수도 있다. 예를 들어, API(610)는, 운영 시스템에 대한 캐리어-특정 또는 벤더-특정 확장 패키지의 일부로서 디바이스 운영 시스템으로 구축될 수도 있다. 대안적으로, API(610)는, API(610)가 요청 애플리케이션들(620)과 분류기(630) 사이에서 요청들 및 분류 출력들을 운반하기에 충분한 액세스 특권들을 갖는다면, 디바이스 운영 시스템과는 독립적인 자립형 소프트웨어 컴포넌트로서 구현될 수도 있다. 상기 구현들 중 임의의 구현에 대해, API(610)는, 디바이스의 배포 전에 또는 배포에 후속하여(즉, 소프트웨어 패치들 또는 업데이트들의 형태) 모바일 디바이스에 의해 포함될 수도 있다.
[0056] API(610)는, 디바이스 또는 컴퓨팅 환경과 연관된 모션 상태 분류기(630) 및/또는 다른 분류기들을 이용하기 위하여 애플리케이션들(620)에 의한 사용을 위한 기능들 및 셋팅들의 세트를 제공한다. API(610)에 의해 제공된 기능들 및/또는 셋팅들은 다수의 분류기들에 걸쳐 동일할 수 있거나, 또는 분류기들 사이에서 변할 수도 있다(예를 들어, 모션 분류를 위한 기능들/셋팅들의 제 1 세트, 위치 분류를 위한 제 2 세트 등). API(610)는, 하나 또는 그 초과의 연관된 콘텍스트 분류기들에 의해 사용가능한 형태로 수신된 입력들을 변환하기 위해, 연관된 기능들 및/또는 셋팅들을 애플리케이션들(620)로부터의 입력으로서 수신하고, 변환된 입력들을 분류기(들)에 통신하도록 구성된다. API(610)는, 분류기(들)로부터 결과적인 분류 출력(들)을 수신하고, 출력(들)을 적절한 요청 애플리케이션들(620)에 리턴하도록 추가적으로 구성된다. 상술된 바와 같이, API(610) 및/또는 분류기(630)는 또한, 하나의 형태로부터 다른 형태로, 예컨대, 입도 셋팅으로부터 가능한 분류 출력들의 세트의 서브세트로, 또는 그 역으로 입도를 변환하도록 구성될 수도 있다.
[0057] 시스템(600)에 도시된 분류기(630)가 모션 상태 분류기지만, 다른 타입들의 분류들이 또한 유사한 방식으로 수행될 수 있다. 콘텍스트 분류의 다른 예들은 다음을 포함한다.
[0058] 1) 예를 들어, 스피커들의 수를 리포팅하는 오디오 기반 분류기. 이것은 출력된 상이한 입도들 또는 클래스들, 예를 들어, coarse = {no_speech, speech}, medium = {no_speech, one_speaker, many_speakers}, fine = {no_speech, one_speaker, two_speakers, three_speakers, etc.}를 갖는다.
[0059] 2) 예를 들어, fine = {home, office, meeting} and coarse = {home, work}를 포함하는 셋팅들을 갖는 위치(장소) 분류기. 이러한 예에서, 코오스한 셋팅은 위성 포지셔닝 측정들에 기초하여 홈 및 직장 상태들 사이를 구별할 수도 있는 반면, 정밀한 셋팅은, 오디오 데이터, Wi-Fi 서명 데이터 등과 같은 부가적인 측정들에 기초하여 오피스 및 미팅 상태들을 추가적으로 구별할 수도 있다.
[0060] 부가적으로, 다른 타입들의 콘텍스트 분류가 또한, 상술된 기술들을 사용하여 수행될 수 있다.
[0061] 도 2를 참조하면, 콘텍스트 분류기(230)는, 데이터 소스들(210)에 의해 제공된 출력 스트림들에 대응하는 데이터를 샘플링 및/또는 그렇지 않으면 획득한다. 데이터 소스들(210)로부터 수집되고 콘텍스트 분류기(230)에 의해 사용될 수 있는 상이한 스트림들은 다음과 같다. 다른 데이터 스트림들 및/또는 데이터 타입들이 또한 가능하다.
[0062] 오디오 환경: 마이크로폰 데이터의 배치(batch)들을 포함하며, 각각의 배치는 특정한 지속기간, 예를 들어, 대략 1분에 걸쳐 획득된다.
[0063] 위도/경도 좌표들: (예를 들어, GPS 또는 다른 위성 포지셔닝 시스템으로부터) 위치 픽스들을 통해 획득된다.
[0064] Wi-Fi 핑거프린트들: 가시적인 Wi-Fi 액세스 포인트들, 예를 들어, 신호 강도 표시(RSSI)로서 제공된 그들 각각의 수신 신호 강도들, 및 그들 각각의 응답 레이트들(즉, 연속적인 스캔들이 발생하는 경우에 그들이 가시적인 시간의 일부)의 세트들을 포함한다.
[0065] 블루투스(BT) 핑거프린트들: 가시적인 BT 디바이스들, 그들 각각의 신호 강도들(예를 들어, RSSI로서 제공됨), 그들의 디바이스 클래스들, 및 그들 각각의 응답 레이트들의 세트들을 포함한다.
[0066] 모션 상태들: 가속도계, 자이로스코프 및/또는 마그노미터 데이터의 배치들을 포함하며, 각각의 배치는 특정한 지속기간(예를 들어, 대략 10-30초)에 걸쳐 획득된다.
[0067] 캘린더 이벤트들: 이벤트 설명들 및/또는 타이틀들, 날짜들/시간들, 위치들, 참가자들 및/또는 다른 연관된 사람들의 이름들 등과 같은 정보를 포함한다.
[0068] 부가적으로, 콘텍스트 분류기(230)는, 데이터 소스들(210)을 통해 획득된 저레벨 특성들 및 추론들에 기초하여 콘텍스트 분류를 수행한다. 디바이스 센서 데이터 또는 (데이터 소스들(210)과 같은) 외부 소스들로부터 컴퓨팅될 수 있는 가능한 저레벨 특성들의 리스트는 다음을 포함하지만 이에 제한되지는 않는다.
● GPS 속도, 정확도, 고도
● 가시적인 GPS 위성들의 수
● 시각, 요일, 주중/주말, 공휴일
● 날씨, 온도
● 주변 광 센서 판독들
● 근접도 센서 판독들
● 카메라 데이터, 강도, R/G/B 강도, DCT(이산 코사인 변환) 계수들과 같은 특성들, 카메라 뷰 필드에서 검출된 오브젝트(들)
● 가장 가까운 지리적 관심 포인트(POI)들
● 가시적인 블루투스 디바이스들 및 대응하는 RSSI들, 범위 내의 새로운/오래된 블루투스 디바이스들
● 가시적인 Wi-Fi AP들 및 대응하는 RSSI들, 가시적인 새로운/오래된 Wi-Fi AP들
● 주변 오디오 에너지 레벨
● 이동 검출(임의의 디바이스 이동 대 어떠한 디바이스 이동도 없음)
[0069] 유사하게, 디바이스 센서 데이터 또는 외부 소스들로부터 컴퓨팅될 수 있는 가능한 저레벨 추론들의 리스트는 다음을 포함하지만 이에 제한되지는 않는다.
● 모션 상태(걷는중, 뛰는중, 운전중 등)
● 디바이스 포지션(주머니, 손, 데스크, 백 등)
● 스피치 검출(스피치/어떠한 스피치도 없음)
● 스피커 인식(디바이스 소유자 스피킹/다른 사람의 스피킹)
● 존재하는 스피커들의 수
● 타겟 사운드 검출(아이 울음소리/울음소리 없음 등)
● 구역(홈/직장/다른 곳/대중교통 이용중 또는 거주지/상업지 등)
● 디바이스 사용도(분 당 스크린 터치들의 수, 분 당 타이핑된 문자들의 수 등)
● 디스플레이 온 대 오프
● 애플리케이션 사용도(구동하는 애플리케이션의 타입(예를 들어, 게임, 이메일 등), 동시에 구동하는 애플리케이션들의 수 등)
[0070] 도 7을 참조하면, 도 1-6을 추가적으로 참조하여, 콘텍스트 분류를 관리하는 프로세스(700)는 도시된 스테이지들을 포함한다. 그러나, 프로세스(700)는 제한이 아니라 단지 예시적일 뿐이다. 프로세스(700)는, 예를 들어, 스테이지들을 부가, 제거, 재배열, 결합, 및/또는 동시에 수행되게 함으로써 수정될 수 있다. 도시되고 설명된 바와 같은 프로세스(700)에 대한 또 다른 수정들이 가능하다.
[0071] 스테이지(702)에서, 콘텍스트 분류를 위한 요청, 및 요청과 연관된 입도 레벨이 수신된다. 본 명세서에서, 요청 및 입도 레벨은, 애플리케이션들(620) 및/또는 다른 소스들과 같은 하나 또는 그 초과의 분류 요청 소스들(310)로부터 (예를 들어, API(610)를 통해 구현된) 분류기 제어기(240)에서 수신된다. 입도 레벨은 시스템(400)에 대해 상술된 바와 같이, 미리 정의된 입도 셋팅(예를 들어, 시스템(600)에 의해 도시된 코오스한 및 정밀한 셋팅들과 같은 허용가능한 셋팅들의 리스트로부터 선택된 셋팅)으로서 특정 및 프로세싱될 수도 있다. 대안적으로, 입도 레벨은, 시스템(500)에 대해 설명되고 추가적으로 후술되는 바와 같이, 이용가능한 분류 출력들(상태들, 콘텍스트 클래스들)의 세트의 서브세트에 대응할 수도 있다.
[0072] 스테이지(704)에서, 분류기 제어기(240)는 분류기(예를 들어, 콘텍스트 분류기(230))가, 수신된 입도 레벨에 관련된 리소스 사용 레벨로 스테이지(702)에서 수신된 분류를 위한 요청에 응답하여 콘텍스트 분류를 수행하게 한다. 리소스 사용 레벨은, 전력 사용도, 계산 복잡도, 및/또는 콘텍스트 분류기(230)의 성능 및/또는 효율을 측정하기 위한 다른 기준들 중 적어도 하나에 대해 정의된다. 상술된 바와 같이, 콘텍스트 분류기(230)가 주어진 분류를 수행하는 리소스 레벨은, 이용된 센서 특성들의 수, 이용된 분류 기술 및/또는 분류 기술과 연관된 파라미터들, 분류기의 듀티 사이클 및/또는 데이터 소스들(210)의 샘플링이 수행되는 레이트 등을 변경시킴으로써 조정될 수도 있다. 일반적으로, 더 높은 입도 입력은 더 높은 리소스 사용 레벨에 관련되는 반면, 더 낮은 입도 입력 레벨은 더 낮은 리소스 사용 레벨에 관련된다.
[0073] 도 8을 참조하면, 도 1-6을 추가적으로 참조하여, 이용가능한 분류 출력 서브세트들의 세트에 기초하여 콘텍스트 분류를 관리하는 프로세스(800)는 도시된 스테이지들을 포함한다. 그러나, 프로세스(800)는 제한이 아니라 단지 예시적일 뿐이다. 프로세스(800)는, 예를 들어, 스테이지들을 부가, 제거, 재배열, 결합, 및/또는 동시에 수행되게 함으로써 수정될 수 있다. 도시되고 설명된 바와 같은 프로세스(800)에 대한 또 다른 수정들이 가능하다.
[0074] 스테이지(802)에서, 콘텍스트 분류의 이용가능한 또는 허용가능한 출력들의 세트는, 예를 들어, 분류기 제어기(240)에 의해 식별된다. 이용가능한 출력들의 이러한 세트의 각각의 서브세트들은 또한, 시스템(500)에 대해 상술된 바와 같이, 이러한 스테이지에서 형성될 수도 있다.
[0075] 스테이지(804)에서, 콘텍스트 분류를 위한 요청은, 예를 들어, 애플리케이션(620) 및/또는 다른 분류 요청 소스(310)로부터 수신된다. 요청은, 스테이지(802)에서 식별된 분류를 위한 이용가능한 출력들의 세트의 선택된 서브세트를 포함한다. 스테이지(804)에서 수신된 출력 서브세트는, 시스템(500)에 대해 상술된 바와 같이, 후속 분류가 수행될 분류 출력들을 표시하며, 비-선택된 출력들은, 그의 결정에서 분류기에 의해 무시되거나 또는 다른 선택된 출력들로 그룹화될 수도 있다.
[0076] 스테이지(806)에서, 입도 레벨은 스테이지(804)에서 표시된 출력 서브세트에 할당된다. 시스템(500)에 대해 상술된 바와 같이, 입도 레벨의 할당은, 콘텍스트 분류기(230)를 관리하는 분류기 제어기(240) 및/또는 콘텍스트 분류기 그 자체(230)에 의해 수행될 수도 있다.
[0077] 스테이지(808)에서, 분류기 제어기(240)는 분류기(예를 들어, 콘텍스트 분류기(230))가, 스테이지(806)에서 결정된 입도 레벨에 관련된 리소스 사용 레벨로 요청에 대해 표시된 출력 서브세트로부터 출력을 선택함으로써, 스테이지(804)에서 수신된 분류를 위한 요청에 응답하여 콘텍스트 분류를 수행하게 한다. 리소스 사용 레벨은, 프로세스(700)의 스테이지(704)에서 사용된 것들과 유사한 기준들을 통해 관리된다.
[0078] 도 9를 참조하면, 도 1-6을 추가적으로 참조하여, 제어가능한 입도로 콘텍스트 분류를 수행하는 프로세스(900)는 도시된 스테이지들을 포함한다. 그러나, 프로세스(900)는 제한이 아니라 단지 예시적일 뿐이다. 프로세스(900)는, 예를 들어, 스테이지들을 부가, 제거, 재배열, 결합, 및/또는 동시에 수행되게 함으로써 수정될 수 있다. 도시되고 설명된 바와 같은 프로세스(900)에 대한 또 다른 수정들이 가능하다.
[0079] 스테이지(902)에서, 콘텍스트 분류를 위한 요청, 및 요청과 연관된 입도 레벨이 수신된다. 여기서, 이들 입력들은 하나 또는 그 초과의 애플리케이션들(620) 또는 분류 요청 소스들(310)로부터 콘텍스트 분류기(230)에서 수신된다. 입력들은 직접적으로 또는 간접적으로, 예를 들어, (예를 들어, API(610)로서 구현된) 분류기 제어기(240)를 통해 소스들(310)로부터 수신된다. 상술된 바와 같이, 입도 레벨은, 미리 정의된 입도 셋팅, 이용가능한 분류 출력들(예를 들어, 클래스들)의 서브세트, 및/또는 다른 정보에 대응할 수도 있다.
[0080] 스테이지(904)에서, 리소스 사용 레벨은, 스테이지(902)에서 수신된 입도 레벨에 기초하여 콘텍스트 분류를 위해 선택된다. 도 7에 도시된 프로세스(700)와 유사하게, 리소스 레벨은, 이용된 센서 특성들의 수, 이용된 분류 기술 및/또는 분류 기술과 연관된 파라미터들, 분류기의 듀티 사이클 및/또는 데이터 소스들(210)의 샘플링이 수행되는 레이트 등을 포함하지만 이에 제한되지는 않는 하나 또는 그 초과의 기준들에 기초하여 구성될 수도 있다. 일반적으로, 더 높은 입도 입력은 더 높은 리소스 사용 레벨에 관련되는 반면, 더 낮은 입도 입력 레벨은 더 낮은 리소스 사용 레벨에 관련된다.
[0081] 스테이지(906)에서, 스테이지(902)에서 요청된 콘텍스트 분류는 스테이지(904)에서 선택된 리소스 사용 레벨에 따라 수행된다. 완료 시에, 분류의 결과는 직접적으로 또는 간접적으로(예를 들어, 분류기 제어기(240)를 통해) 요청의 소스에 리턴될 수도 있다.
[0082] 도 10을 참조하면, 도 1-6을 추가적으로 참조하여, 미리 정의된 입도 셋팅들에 기초하여 콘텍스트 분류를 수행하는 프로세스(1000)는 도시된 스테이지들을 포함한다. 그러나, 프로세스(1000)는 제한이 아니라 단지 예시적일 뿐이다. 프로세스(1000)는, 예를 들어, 스테이지들을 부가, 제거, 재배열, 결합, 및/또는 동시에 수행되게 함으로써 수정될 수 있다. 도시되고 설명된 바와 같은 프로세스(1000)에 대한 또 다른 수정들이 가능하다.
[0083] 스테이지(1002)에서, 콘텍스트(상태) 분류를 위한 요청은 연관된 입도 레벨과 함께 수신된다. 입도 레벨은, 본명세서에서 값들 코오스 및 정밀을 포함하는 미리 정의된 입도 레벨들의 세트로부터 선택된다. 부가적인 및/또는 다른 셋팅들은 프로세스(1000)에서 도시된 것과 유사한 방식으로 사용될 수 있다.
[0084] 스테이지(1004)에서, 프로세스(1000)는 스테이지(1002)에서 수신된 입도 입력의 값에 기초하여 분기(branch)된다. 값 코오스가 수신되면, 요청된 콘텍스트 분류는 코오스한-입도 분류기 구성을 사용하여 스테이지(1006)에서 수행된다. 값 정밀이 대신 수신되면, 요청된 콘텍스트 분류는 정밀한-입도 분류기 구성을 사용하여 스테이지(1008)에서 수행된다. 시스템(400)에 대해 상술된 바와 같이, 본 명세서의 콘텍스트 분류기(230)는, 콘텍스트 분류기(230)에 의해 사용가능한 각각의 입도 셋팅에 대응하는 구성 파라미터들(410)의 각각의 세트들을 보유한다. 이들 구성 파라미터들(410)은 차례로, 각각의 입도 셋팅에 대한 콘텍스트 분류기(230)의 리소스 사용 레벨들을 정의한다. 스테이지들(1006 및 1008)에 도시된 분류들에 대해, 코오스한-입도 분류기 구성은 일반적으로 상술된 바와 같이, 정밀한-입도 분류기 구성과 비교할 경우 더 작은 듀티 사이클, 더 미가공한 분류 기술, 더 적은 분류기 특성들, 및/또는 다른 속성들을 사용한 결과로서, 정밀한-입도 분류기 구성과 비교하여 더 낮은 레벨의 전력 및/또는 다른 리소스 사용도를 초래할 수도 있다.
[0085] 스테이지(1010)에서, 스테이지(1006 또는 1008) 중 어느 하나에서 수행된 분류의 결과는, 요청 엔티티, 예를 들어, 애플리케이션(620) 및/또는 다른 요청 소스(310), API(610) 및/또는 분류기 제어기(240) 등으로 리턴된다.
[0086] 도 11을 참조하면, 도 1-6을 추가적으로 참조하여, 이용가능한 분류 출력 서브세트들의 세트에 기초하여 콘텍스트 분류를 수행하는 프로세스(1100)는 도시된 스테이지들을 포함한다. 그러나, 프로세스(1100)는 제한이 아니라 단지 예시적일 뿐이다. 프로세스(1100)는, 예를 들어, 스테이지들을 부가, 제거, 재배열, 결합, 및/또는 동시에 수행되게 함으로써 수정될 수 있다. 도시되고 설명된 바와 같은 프로세스(1100)에 대한 또 다른 수정들이 가능하다.
[0087] 스테이지(1102)에서, 콘텍스트 분류를 위한 이용가능한 출력들의 서브세트들의 세트가 식별된다. 스테이지(1102)에서 수행된 동작들은, 상술된 바와 같이 프로세스(800)의 스테이지(802)에서 수행된 동작들 뿐만 아니라 시스템(500)에 대해 설명된 동작들과 유사하다.
[0088] 스테이지(1104)에서, 스테이지(1102)에서 식별된 각각의 서브세트는 분류기 입도 구성에 할당된다. 이들 분류기 입도 구성들은, 이용된 센서 특성들의 수, 이용된 분류 기술 및/또는 분류 기술과 연관된 파라미터들, 분류기의 듀티 사이클 및/또는 데이터 소스들(210)의 샘플링이 수행되는 레이트 등과 같은 연관된 콘텍스트 분류기(230)의 다양한 속성들을 조절한다. 따라서, 스테이지(1104)에서 할당된 분류기 입도 구성들은, 프로세스(700)의 스테이지(704)에 대해 상술된 것과 유사한 방식으로 콘텍스트 분류기(230)에 대한 리소스 사용 레벨들을 정의한다.
[0089] 스테이지(1106)에서, 콘텍스트 분류를 위한 요청은, 프로세스(800)의 스테이지(804)에서 수행된 동작들과 유사한 방식으로, 분류를 위한 이용가능한 출력들의 서브세트들의 세트 중 하나와 함께 (예를 들어, 요청 소스(310) 또는 분류기 제어기(240)로부터 콘텍스트 분류기(230)에서) 수신된다.
[0090] 스테이지(1108)에서, 스테이지(1106)에서 요청된 콘텍스트 분류는, 분류를 위한 요청과 함께 수신된 이용가능한 출력들의 서브세트에 스테이지(1104)에서 할당된 분류기 입도 구성을 사용하여 수행된다. 여기서, 분류는, 시스템(500)에 대해 상술된 바와 같이, 샘플링된 센서 데이터(예를 들어, 데이터 소스들(210)로부터 획득된 데이터)를 가장 근접하게 특성화하는 이용가능한 출력들의 수신된 서브세트로부터 출력을 선택함으로써 수행된다.
[0091] 도 12에 도시된 바와 같은 컴퓨터 시스템(1200)은, 이전에 설명된 컴퓨터화된 디바이스들의 기능을 적어도 부분적으로 구현하기 위해 이용될 수도 있다. 예를 들어, 컴퓨터 시스템(1200)은, 도 7-11에 도시된 프로세스들(700, 800, 900, 1000, 1100)을 소프트웨어로 적어도 부분적으로 구현하기 위해 이용될 수 있다. 컴퓨터 시스템(1200)은 또한, 범용 프로세서(111) 및/또는 메모리(140)와 같은 도 1에 도시된 모바일 디바이스(100)의 컴포넌트들 중 하나 또는 그 초과를 통해 구현될 수도 있다. 부가적으로 또는 대안적으로, 컴퓨터 시스템(1300)은, 도 2에 도시된 시스템(200) 및/또는 모듈들(230, 240)과 같은 그의 컴포넌트들 중 하나 또는 그 초과에 적어도 부분적인 소프트웨어 구현을 제공하기 위해 사용될 수도 있다.
[0092] 도 12는, 본 명세서에 설명된 바와 같이 다양한 다른 실시예들에 의해 제공된 방법들을 수행할 수 있고, 그리고/또는 모바일 디바이스 또는 다른 컴퓨터 시스템으로서 기능할 수 있는 컴퓨터 시스템(1200)의 일 실시예의 개략적인 도면을 제공한다. 도 12가 단지 다양한 컴포넌트들의 일반화된 예시만을 제공하는 것으로 의도되며, 그 컴포넌트들 중 임의의 또는 모든 컴포넌트는 적절할 때에 이용될 수도 있음을 유의해야 한다. 따라서, 도 12는, 개별 시스템 엘리먼트들이 비교적 분리된 또는 비교적 더 통합된 방식으로 어떻게 구현될 수도 있는지를 넓게 예시한다.
[0093] 버스(1205)를 통해 전기적으로 커플링될 수 있는 (또는, 그렇지 않으면 적절할 때에 통신할 수도 있는) 하드웨어 엘리먼트들을 포함하는 컴퓨터 시스템(1200)이 도시된다. 하드웨어 엘리먼트들은, 하나 또는 그 초과의 범용 프로세서들 및/또는 (디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들 등과 같은) 하나 또는 그 초과의 특수-목적 프로세서들을 제한없이 포함하는 하나 또는 그 초과의 프로세서들(1210); 마우스, 키보드 등을 제한없이 포함할 수 있는 하나 또는 그 초과의 입력 디바이스들(1215); 및 디스플레이 디바이스, 프린터 등을 제한없이 포함할 수 있는 하나 또는 그 초과의 출력 디바이스들(1220)을 포함할 수도 있다. 프로세서(들)(1210)는, 예를 들어, 지능형 하드웨어 디바이스들, 예를 들어, Intel
Figure 112015097087045-pct00001
Corporation 또는 AMD
Figure 112015097087045-pct00002
에 의해 제조된 것들과 같은 중앙 프로세싱 유닛(CPU), 마이크로제어기, ASIC 등을 포함할 수 있다. 다른 프로세서 타입들이 또한 이용될 수 있다.
[0094] 컴퓨터 시스템(1200)은, 로컬 및/또는 네트워크 액세스가능한 저장부를 제한없이 포함할 수 있고 그리고/또는 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 고체-상태 저장 디바이스, 예컨대 랜덤 액세스 메모리("RAM") 및/또는 판독-전용 메모리("ROM")(프로그래밍가능하고, 플래시-업데이트가능하는 등의 식일 수 있음)를 제한없이 포함할 수 있는 하나 또는 그 초과의 비-일시적인 저장 디바이스들(1225)을 더 포함(및/또는 그와 통신)할 수도 있다. 그러한 저장 디바이스들은, 다양한 파일 시스템들, 데이터베이스 구조들 등을 제한없이 포함하는 임의의 적절한 데이터 저장부들을 구현하도록 구성될 수도 있다.
[0095] 컴퓨터 시스템(1200)은 또한, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, (블루투스TM 디바이스, 802.11 디바이스, WiFi 디바이스, WiMax 디바이스, 셀룰러 통신 설비들 등과 같은) 무선 통신 디바이스 및/또는 칩셋 등을 제한없이 포함할 수 있는 통신 서브시스템(1230)을 포함할 수도 있다. 통신 서브시스템(1230)은 데이터가 (일 예를 들자면, 후술되는 네트워크와 같은) 네트워크, 다른 컴퓨터 시스템들, 및/또는 본 명세서에 설명된 임의의 다른 디바이스들과 교환되게 할 수도 있다. 많은 실시예들에서, 컴퓨터 시스템(1200)은 상술된 바와 같이, RAM 또는 ROM 디바이스를 포함할 수 있는 작동(working) 메모리(1235)를 더 포함할 것이다.
[0096] 컴퓨터 시스템(1200)은 또한, 운영 시스템(1240), 디바이스 드라이버들, 실행가능한 라이브러리들, 및/또는 하나 또는 그 초과의 애플리케이션 프로그램들(1245)과 같은 다른 코드를 포함하는 (작동 메모리(1235) 내에 현재 로케이팅되는 것을 도시된 바와 같은) 소프트웨어 엘리먼트들을 포함할 수 있으며, 그 엘리먼트는, 본 명세서에 설명된 바와 같이, 다양한 실시예들에 의해 제공된 컴퓨터 프로그램들을 포함할 수도 있고, 그리고/또는 방법들을 구현하도록 설계될 수도 있고, 그리고/또는 다른 실시예들에 의해 제공된 시스템들을 구성할 수도 있다. 단지 예로서, 상술된 방법(들)에 대해 설명된 하나 또는 그 초과의 절차들은, 컴퓨터(및/또는 컴퓨터 내의 프로세서)에 의해 실행가능한 코드 및/또는 명령들로서 구현될 수도 있으며, 그러한 코드 및/또는 명령들은, 설명된 방법들에 따라 하나 또는 그 초과의 동작들을 수행하도록 범용 컴퓨터(또는 다른 디바이스)를 구성 및/또는 적응시키는데 사용될 수 있다.
[0097] 이들 명령들 및/또는 코드의 세트는, 상술된 저장 디바이스(들)(1225)와 같은 컴퓨터-판독가능 저장 매체 상에 저장될 수도 있다. 몇몇 경우들에서, 저장 매체는, 시스템(1200)과 같은 컴퓨터 시스템 내에 포함될 수도 있다. 다른 실시예들에서, 저장 매체는, 저장 매체가 명령들/코드가 저장된 범용 컴퓨터를 프로그래밍, 구성 및/또는 적응시키는데 사용될 수 있도록, 컴퓨터 시스템과는 별개이거나 (예를 들어, 컴팩트 디스크와 같은 착탈형 매체), 그리고/또는 설치 패키지로 제공될 수도 있다. 이들 명령들은, 컴퓨터 시스템(1200)에 의해 실행가능한 실행가능 코드의 형태를 취할 수도 있고, 그리고/또는 (예를 들어, 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등을 사용하는) 컴퓨터 시스템(1200) 상의 컴파일 및/또는 설치 시에, 그 후에 실행가능 코드의 형태를 취하는 소스 및/또는 설치가능한 코드의 형태를 취할 수도 있다.
[0098] 실질적인 변경들이 특정한 소망들에 따라 행해질 수도 있다. 예를 들어, 커스텀화된 하드웨어가 또한 사용될 수도 있고, 그리고/또는 특정한 엘리먼트들이 하드웨어, (애플릿(applet)들과 같은 휴대용 소프트웨어 등을 포함하는) 소프트웨어, 또는 둘 모두로 구현될 수도 있다. 추가적으로, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 접속이 이용될 수도 있다.
[0099] (컴퓨터 시스템(1200)과 같은) 컴퓨터 시스템은 본 발명에 따라 방법들을 수행하는데 사용될 수도 있다. 그러한 방법들의 절차들 중 몇몇 또는 모두는, 프로세서(1210)가 작동 메모리(1235)에 포함된 (운영 시스템(1240), 및/또는 애플리케이션 프로그램(1245)과 같은 다른 코드에 포함될 수도 있는) 하나 또는 그 초과의 명령들의 하나 또는 그 초과의 시퀀스들을 실행하는 것에 응답하여, 컴퓨터 시스템(1200)에 의해 수행될 수도 있다. 그러한 명령들은, 저장 디바이스(들)(1225) 중 하나 또는 그 초과와 같은 다른 컴퓨터-판독가능 매체로부터 작동 메모리(1235)로 판독될 수도 있다. 단지 예로서, 작동 메모리(1235)에 포함된 명령들의 시퀀스들의 실행은 프로세서(들)(1210)가 본 명세서에 설명된 방법들의 하나 또는 그 초과의 절차들을 수행하게 할 수도 있다.
[00100] 본 명세서에서 사용된 바와 같이, 용어들 "머신-판독가능 매체" 및 "컴퓨터-판독가능 매체"는 머신이 특정한 방식으로 동작하게 하는 데이터를 제공하는 것에 참여하는 임의의 매체를 지칭한다. 컴퓨터 시스템(1200)을 사용하여 구현된 실시예에서, 다양한 컴퓨터-판독가능 매체들은, 실행을 위해 프로세서(들)(1210)에 명령들/코드를 제공하는 것에 수반될 수도 있고 그리고/또는 그러한 명령들/코드를 저장 및/또는 (예를 들어, 신호들로서) 반송하는데 사용될 수도 있다. 많은 구현들에서, 컴퓨터-판독가능 매체는 물리적이고 그리고/또는 유형의 저장 매체이다. 그러한 매체는, 비-휘발성 매체들, 휘발성 매체들, 및 송신 매체들을 포함하지만 이에 제한되지는 않는 많은 형태들을 취할 수도 있다. 비-휘발성 매체들은, 예를 들어, 저장 디바이스(들)(1225)와 같은 광학적이고 그리고/또는 자기적인 디스크들을 포함한다. 휘발성 매체들은 작동 메모리(1235)와 같은 동적 메모리를 제한없이 포함한다. 송신 매체들은, 동축 케이블들, 구리 배선 및 광섬유들(버스(1205)를 포함한 배선들을 포함함) 뿐만 아니라 통신 서브시스템(1230)의 다양한 컴포넌트들(및/또는 통신 서브시스템(1230)이 다른 디바이스들과의 통신을 제공하는 매체들)을 제한 없이 포함한다. 따라서, 송신 매체들은 또한, (라디오-웨이브 및 적외선 데이터 통신들 동안 생성된 것들과 같은 라디오, 음향 및/또는 광 웨이브들을 포함하는) 웨이브(wave)들의 형태를 취할 수 있다.
[00101] 물리적인 및/또는 유형의 컴퓨터-파독가능 매체들의 일반적인 형태들은, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 불루-레이 디스크, 임의의 다른 광학 매체, 펀치카드들, 페이퍼테이프들, 홀들의 패턴들을 갖는 임의의 다른 물리적인 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 후술되는 바와 같은 캐리어 웨이브, 또는 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다.
[00102] 다양한 형태들의 컴퓨터-판독가능 매체들은, 실행을 위해 하나 또는 그 초과의 명령들의 하나 또는 그 초과의 시퀀스들을 프로세서(들)(1210)에 반송하는 것에 수반될 수도 있다. 단지 예로서, 명령들은 초기에, 원격 컴퓨터의 자기 디스크 및/또는 광학 디스크 상에서 반송될 수도 있다. 원격 컴퓨터는, 자신의 동적 메모리로 명령들을 로딩하고, 컴퓨터 시스템(1200)에 의해 수신 및/또는 실행되도록 송신 매체를 통해 신호들로서 명령들을 전송할 수도 있다. 전자기 신호들, 음향 신호들, 광학 신호들 등의 형태일 수도 있는 이들 신호들 모두는, 본 발명의 다양한 실시예들에 따라, 명령들이 인코딩될 수 있는 캐리어 웨이브들의 예들이다.
[00103] 통신 서브시스템(1230)(및/또는 그의 컴포넌트들)은 일반적으로 신호들을 수신할 것이고, 그 후, 버스(1205)는 신호들(및/또는 신호들에 의해 반송된 데이터, 명령들 등)을 작동 메모리(1235)에 반송할 수도 있으며, 그 메모리로부터, 프로세서(들)(1205)은 명령들을 리트리브(retrieve) 및 실행한다. 작동 메모리(1235)에 의해 수신된 명령들은 선택적으로, 프로세서(들)(1210)에 의한 실행 이전 또는 이후에 저장 디바이스(1225) 상에 저장될 수도 있다.
[00104] 상술된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 대안적인 구성들은 적절할 경우 다양한 절차들 또는 컴포넌트들을 생략, 대체, 또는 부가할 수도 있다. 예를 들어, 대안적인 방법들에서, 스테이지들은 상기 설명과 상이한 순서들로 수행될 수도 있으며, 다양한 스테이지들이 부가, 생략, 또는 결합될 수도 있다. 또한, 특정한 구성들에 대해 설명된 특성들은 다양한 다른 구성들로 결합될 수도 있다. 구성들의 상이한 양상들 및 엘리먼트들은 유사한 방식으로 결합될 수도 있다. 또한, 기술은 발전하며, 따라서 대부분의 엘리먼트들은 예들이고, 본 발명 또는 청구항들의 범위를 제한하지 않는다.
[00105] 특정한 세부사항들은, (구현들을 포함하는) 예시적인 구성들의 완전한 이해를 제공하기 위해 설명에서 제공된다. 그러나, 구성들은 이들 특정한 세부사항들 없이 실시될 수도 있다. 예를 들어, 잘-알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기술들은 구성들을 불명료하게 하는 것을 회피하기 위해 불필요한 세부사항 없이 도시되었다. 이러한 설명은 예시적인 구성들만을 제공하며, 청구항들의 범위, 적용가능성, 또는 구성들을 제한하지 않는다. 오히려, 구성들의 이전 설명은, 설명된 기술들을 구현하기 위한 가능한 설명을 당업자들에게 제공할 것이다. 다양한 변화들이 본 발명의 사상 또는 범위를 벗어나지 않으면서 엘리먼트들의 기능 및 어레인지먼트(arrangement)에서 행해질 수도 있다.
[00106] 구성들은, 흐름도 또는 블록도로서 도시된 프로세스로서 설명될 수도 있다. 각각이 순차적인 프로세스로서 동작들을 설명할 수도 있지만, 동작들의 대부분은 병렬로 또는 동시에 수행될 수 있다. 부가적으로, 동작들의 순서는 재배열될 수도 있다. 프로세스는, 도면에 포함되지 않는 부가적인 단계들을 가질 수도 있다. 또한, 방법들의 예들은, 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션(description) 언어들, 또는 이들의 임의의 결합에 의해 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현되는 경우, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은, 저장 매체와 같은 비-일시적인 컴퓨터-판독가능 매체에 저장될 수도 있다. 프로세서들은 설명된 태스크들을 수행할 수도 있다.
[00107] 또한, 청구항들을 포함하여 본 명세서에서 사용된 바와 같이, "중 적어도 하나"에 의해 시작되는(preface) 아이템들의 리스트에서 사용되는 바와 같은 "또는"은, 예를 들어, "A, B, 또는 C 중 적어도 하나"의 리스트가 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C), 또는 1개 초과의 특성과의 결합들(예를 들어, AA, AAB, ABBC 등)을 의미하도록 하는 선언적인(disjunctive) 리스트를 표시한다.
[00108] 달리 나타내지 않으면, 청구항들을 포함하는 본 명세서에서 사용된 바와 같이, 기능 또는 동작이 아이템 또는 조건"에 기초한다"는 스테이트먼트(statement)는, 기능 또는 동작이 나타낸 아이템 또는 조건에 기초하고, 나타낸 아이템 또는 조건에 부가하여 하나 또는 그 초과의 아이템들 및/또는 조건들에 기초할 수도 있다는 것을 의미한다.
[00109] 수 개의 예시적인 구성들을 설명하였지만, 다양한 변형들, 대안적인 구성들, 및 등가물들은 본 발명의 사상을 벗어나지 않으면서 사용될 수도 있다. 예를 들어, 상기 엘리먼트들은 더 큰 시스템의 컴포넌트일 수도 있으며, 여기서, 다른 법칙들은 본 발명의 애플리케이션에 우선할 수도 있거나 그렇지 않으면 본 발명의 애플리케이션을 변경시킬 수도 있다. 또한, 다수의 단계들은, 상기 엘리먼트들이 고려되기 전에, 그 동안, 또는 그 이후에 착수될 수도 있다. 따라서, 상기 설명은 청구항들의 범위를 제한하지 않는다.

Claims (55)

  1. 콘텍스트 분류를 관리하기 위한 방법으로서,
    상기 콘텍스트 분류에 대한 요청 및 상기 요청과 연관된 입도(granularity) 입력을 수신하는 단계 ― 상기 입도 입력은 콘텍스트 분류 출력의 입도 레벨을 표시하고, 상기 표시하는 것은, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 상태들을 포함하는 이용가능한 상태들의 서브세트를 이용하여, 상기 콘텍스트 분류 출력이 선택되는 이용가능한 상태들의 서브세트를 식별하고, 그리고 제 1 입도 레벨보다 더 큰 제 2 입도 레벨이 표시되는 경우보다 상기 제 1 입도 레벨이 표시되는 경우 분류를 위해 더 적은 데이터 특성들이 사용되도록, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 데이터 특성들을 포함하는 결정된 데이터 특성들을 이용하여, 상기 콘텍스트 분류 출력을 선택하기 위해 데이터 소스들로부터 어떤 데이터 특성들이 수집되는지를 결정하기 위한 것임 ―;
    상기 입도 입력에 기초하여 상기 콘텍스트 분류에 대한 구성 파라미터를 복수의 구성 파라미터들로부터 선택하는 단계 ― 상기 복수의 구성 파라미터들은 상기 입도 입력에 의해 표시되는 상이한 입도 레벨들에 대한 상이한 값들을 포함함 ―; 및
    분류기에 의해, 상기 콘텍스트 분류에 대한 선택된 구성 파라미터를 사용하여 상기 데이터 소스들로부터 수집된 데이터 특성들의 데이터를 분류함으로써, 상기 요청에 응답하여, 상기 콘텍스트 분류 출력의 입도 레벨을 표시하는 상기 입도 입력에 따라 상기 콘텍스트 분류를 수행하는 단계를 포함하고,
    높은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 높은 리소스 사용 레벨과 연관되고, 그리고 낮은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 낮은 리소스 사용 레벨과 연관되는, 콘텍스트 분류를 관리하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 분류기로부터 상기 콘텍스트 분류 출력을 획득하는 단계; 및
    수신된 요청을 전송한 엔티티에 상기 콘텍스트 분류 출력을 포워딩하는 단계를 더 포함하는, 콘텍스트 분류를 관리하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 선택된 구성 파라미터는, 이용된 센서 특성들의 수 또는 상기 분류기의 듀티 사이클 중 적어도 하나를 포함하는, 콘텍스트 분류를 관리하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택되는, 콘텍스트 분류를 관리하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트들을 식별하는 단계; 및
    상기 콘텍스트 분류에 대한 상기 이용가능한 출력들의 서브세트들의 각각의 서브세트들에 입도 레벨들을 할당하는 단계를 더 포함하는, 콘텍스트 분류를 관리하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 수신하는 단계는, 상기 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트들 중 하나의 서브세트를 포함하는 상기 입도 입력을 수신하는 단계를 포함하고, 그리고
    상기 수행하는 단계는, 상기 분류기에 의해, 상기 입도 입력으로서 수신된 상기 콘텍스트 분류에 대한 상기 이용가능한 출력들의 서브세트들 중 상기 하나의 서브세트로부터 상기 콘텍스트 분류 출력을 선택함으로써 상기 콘텍스트 분류를 수행하는 단계를 포함하는, 콘텍스트 분류를 관리하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 콘텍스트 분류는, 모션 상태 분류, 위치 상태 분류, 또는 오디오 상태 분류 중 하나 또는 그 초과를 포함하는, 콘텍스트 분류를 관리하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 수신하는 단계는, 요청 애플리케이션으로부터 상기 콘텍스트 분류에 대한 요청을 애플리케이션 프로그래밍 인터페이스(API)에서 수신하는 단계를 포함하는, 콘텍스트 분류를 관리하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 선택된 구성 파라미터는 다수의 분류기 모델 파라미터들을 포함하고, 상기 다수의 분류기 모델 파라미터들은 상기 높은 입도 레벨에 대해서 보다 상기 낮은 입도 레벨에 대해 더 낮은, 콘텍스트 분류를 관리하기 위한 방법.
  10. 제 9 항에 있어서,
    상기 분류기 모델 파라미터들은 가우시안 혼합 모델(Gaussian Mixture Model)에 대한 혼합 컴포넌트들, 뉴럴 네트워크(Neural Network) 분류기에 대한 지원 벡터들 또는 가장 근접한 이웃 분류기에 대한 데이터 포인트들 중 적어도 하나를 포함하는, 콘텍스트 분류를 관리하기 위한 방법.
  11. 제 1 항에 있어서,
    상기 제 1 입도 레벨보다 더 큰 상기 제 2 입도 레벨이 표시되는 경우보다 상기 제 1 입도 레벨이 표시되는 경우 상기 이용가능한 상태들의 서브세트가 더 적은 상태들을 갖도록, 상기 이용가능한 상태들의 서브세트는, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 상기 다수의 상태들을 포함하는, 콘텍스트 분류를 관리하기 위한 방법.
  12. 제 1 항에 있어서,
    상기 분류기는 가우시안 혼합 모델(Gaussian Mixture Model) 기반 모션 상태 분류기이고,
    상기 입도 레벨이 코오스한(coarse) 입도 레벨에 대응하는 경우, 상기 이용가능한 상태들의 서브세트는 정지 상태, 보행자 모션 상태 및 차량 모션 상태를 포함하는 3개의 상태들을 포함하고, 상기 데이터 특성들은 특성당 하나의 혼합 컴포넌트를 갖는, 가속도계 표준(norm)의 표준 편차 및 평균들의 비율을 포함하며, 그리고
    상기 입도 레벨이 정밀한(fine) 입도 레벨에 대응하는 경우, 상기 이용가능한 상태들의 서브세트는 걷는 상태, 뛰는 상태, 앉은 상태, 서있는 상태, 빈둥거리는(fiddle) 상태, 휴식 상태 및 운전 상태를 포함하는 7개의 상태들을 포함하고, 상기 데이터 특성들은 특성당 4개의 혼합 컴포넌트들을 갖는, 가속도계 표준의 표준 편차, 평균들의 비율, 피치(pitch) 및 롤(roll), 다수의 MFCC(mel-frequency cepstral coefficient)들, 스펙트럼 엔트로피 및 가속도계 표준의 평균을 포함하는, 콘텍스트 분류를 관리하기 위한 방법.
  13. 조정가능한 입도로 콘텍스트 분류를 수행하기 위한 방법으로서,
    상기 콘텍스트 분류에 대한 요청 및 상기 요청과 연관된 입도 입력을 수신하는 단계 ― 상기 입도 입력은 콘텍스트 분류 출력의 입도 레벨을 표시하고, 상기 표시하는 것은, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 상태들을 포함하는 이용가능한 상태들의 서브세트를 이용하여, 상기 콘텍스트 분류 출력이 선택되는 이용가능한 상태들의 서브세트를 식별하고, 그리고 제 1 입도 레벨보다 더 큰 제 2 입도 레벨이 표시되는 경우보다 상기 제 1 입도 레벨이 표시되는 경우 분류를 위해 더 적은 데이터 특성들이 사용되도록, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 데이터 특성들을 포함하는 결정된 데이터 특성들을 이용하여, 상기 콘텍스트 분류 출력을 선택하기 위해 데이터 소스들로부터 어떤 데이터 특성들이 수집되는지를 결정하기 위한 것임 ―;
    상기 입도 입력에 기초하여 상기 콘텍스트 분류에 대한 구성 파라미터를 복수의 구성 파라미터들로부터 선택하는 단계 ― 상기 복수의 구성 파라미터들은 상기 입도 입력에 의해 표시되는 상이한 입도 레벨들에 대한 상이한 값들을 포함하고, 높은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 높은 리소스 사용 레벨과 연관되고, 그리고 낮은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 낮은 리소스 사용 레벨과 연관됨 ―; 및
    상기 콘텍스트 분류에 대한 선택된 구성 파라미터를 사용하여 상기 데이터 소스들로부터 수집된 데이터 특성들의 데이터를 분류함으로써, 상기 콘텍스트 분류 출력의 입도 레벨을 표시하는 상기 입도 입력에 따라 상기 콘텍스트 분류를 수행하는 단계를 포함하는, 콘텍스트 분류를 수행하기 위한 방법.
  14. 제 13 항에 있어서,
    상기 선택된 구성 파라미터는, 이용된 센서 특성들의 수 또는 분류의 빈도 중 적어도 하나를 포함하는, 콘텍스트 분류를 수행하기 위한 방법.
  15. 제 13 항에 있어서,
    상기 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택되는, 콘텍스트 분류를 수행하기 위한 방법.
  16. 제 15 항에 있어서,
    상기 콘텍스트 분류에 대한 구성 파라미터를 선택하는 단계는,
    분류기 구성 파라미터들의 세트들을 획득하는 단계 ― 상기 분류기 구성 파라미터들의 세트들의 각각의 세트들은, 리소스 사용 레벨들과 상기 미리 정의된 세트의 입도 셋팅들의 대응하는 입도 셋팅들 사이의 할당들을 표시함 ―; 및
    수신된 입도 입력에 할당된 분류기 구성 파라미터들의 세트를 상기 콘텍스트 분류에 대한 구성 파라미터로서 선택하는 단계를 포함하는, 콘텍스트 분류를 수행하기 위한 방법.
  17. 제 13 항에 있어서,
    상기 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트들을 식별하는 단계; 및
    각각의 분류기 입도 구성들에 상기 콘텍스트 분류에 대한 상기 이용가능한 출력들의 서브세트들의 각각의 서브세트들을 할당하는 단계를 더 포함하며,
    상기 분류기 입도 구성들은 대응하는 리소스 사용 레벨들을 정의하는, 콘텍스트 분류를 수행하기 위한 방법.
  18. 제 17 항에 있어서,
    상기 수신하는 단계는, 상기 콘텍스트 분류에 대한 상기 이용가능한 출력들의 서브세트들 중 하나의 서브세트를 포함하는 입도 입력을 수신하는 단계를 포함하고, 그리고
    상기 콘텍스트 분류를 수행하는 단계는, 상기 입도 입력으로서 수신된 상기 콘텍스트 분류에 대한 상기 이용가능한 출력들의 서브세트들 중 상기 하나의 서브세트에 할당된 분류기 입도 구성을 사용하여 상기 콘텍스트 분류를 수행하는 단계를 포함하는, 콘텍스트 분류를 수행하기 위한 방법.
  19. 제 13 항에 있어서,
    상기 콘텍스트 분류는, 모션 상태 분류, 위치 상태 분류, 또는 오디오 상태 분류 중 하나 또는 그 초과를 포함하는, 콘텍스트 분류를 수행하기 위한 방법.
  20. 제 13 항에 있어서,
    상기 수신하는 단계는, 애플리케이션 프로그래밍 인터페이스(API)로부터 상기 콘텍스트 분류에 대한 요청 및 상기 입도 입력을 수신하는 단계를 포함하는, 콘텍스트 분류를 수행하기 위한 방법.
  21. 제 20 항에 있어서,
    상기 콘텍스트 분류의 출력을 상기 API에 리턴(return)하는 단계를 더 포함하는, 콘텍스트 분류를 수행하기 위한 방법.
  22. 제 20 항에 있어서,
    상기 콘텍스트 분류에 대한 요청은 요청 애플리케이션으로부터 발신되고, 그리고
    상기 방법은, 상기 콘텍스트 분류 출력을 상기 요청 애플리케이션에 리턴하는 단계를 더 포함하는, 콘텍스트 분류를 수행하기 위한 방법.
  23. 조정가능한 입도로 콘텍스트 분류를 수행하기 위한 장치로서,
    메모리; 및
    상기 메모리에 통신가능하게 커플링된 프로세서를 포함하고,
    상기 프로세서는,
    상기 콘텍스트 분류에 대한 요청 및 상기 요청과 연관된 입도 입력을 수신하도록 구성된 분류기 제어기 ― 상기 입도 입력은 콘텍스트 분류 출력의 입도 레벨을 표시하고, 상기 표시하는 것은, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 상태들을 포함하는 이용가능한 상태들의 서브세트를 이용하여, 상기 콘텍스트 분류 출력이 선택되는 이용가능한 상태들의 서브세트를 식별하고, 그리고 제 1 입도 레벨보다 더 큰 제 2 입도 레벨이 표시되는 경우보다 상기 제 1 입도 레벨이 표시되는 경우 분류를 위해 더 적은 데이터 특성들이 사용되도록, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 데이터 특성들을 포함하는 결정된 데이터 특성들을 이용하여, 상기 콘텍스트 분류 출력을 선택하기 위해 데이터 소스들로부터 어떤 데이터 특성들이 수집되는지를 결정하기 위한 것임 ―; 및
    상기 분류기 제어기에 통신적으로 커플링된 콘텍스트 분류기를 포함하고,
    상기 콘텍스트 분류기는,
    상기 분류기 제어기로부터 상기 요청 및 상기 입도 입력을 수신하고,
    상기 입도 입력에 기초하여 상기 콘텍스트 분류에 대한 구성 파라미터를 복수의 구성 파라미터들로부터 선택하고 ― 상기 복수의 구성 파라미터들은 상기 입도 입력에 의해 표시되는 상이한 입도 레벨들에 대한 상이한 값들을 포함하고, 높은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 높은 리소스 사용 레벨과 연관되고, 그리고 낮은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 낮은 리소스 사용 레벨과 연관됨 ―,
    상기 콘텍스트 분류에 대한 선택된 구성 파라미터를 사용하여 상기 데이터 소스들로부터 수집된 데이터 특성들의 데이터를 분류함으로써, 상기 콘텍스트 분류 출력의 입도 레벨을 표시하는 상기 입도 입력에 따라 상기 콘텍스트 분류를 수행하고, 그리고
    상기 콘텍스트 분류 출력을 출력하도록 구성되는, 콘텍스트 분류를 수행하기 위한 장치.
  24. 제 23 항에 있어서,
    상기 분류기 제어기는, 분류기로부터 상기 콘텍스트 분류 출력을 획득하고, 그리고 수신된 요청을 전송한 엔티티에 상기 콘텍스트 분류 출력을 포워딩하도록 추가적으로 구성되는, 콘텍스트 분류를 수행하기 위한 장치.
  25. 제 23 항에 있어서,
    상기 선택된 구성 파라미터는, 이용된 센서 특성들의 수 또는 분류기의 듀티 사이클 중 적어도 하나를 포함하는, 콘텍스트 분류를 수행하기 위한 장치.
  26. 제 23 항에 있어서,
    상기 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택되는, 콘텍스트 분류를 수행하기 위한 장치.
  27. 제 26 항에 있어서,
    상기 콘텍스트 분류기는,
    분류기 구성 파라미터들의 세트들을 획득하고 ― 상기 분류기 구성 파라미터들의 세트들의 각각의 세트들은, 리소스 사용 레벨들과 상기 미리 정의된 세트의 입도 셋팅들의 대응하는 입도 셋팅들 사이의 할당들을 표시함 ―; 그리고,
    수신된 입도 입력에 할당된 상기 분류기 구성 파라미터들의 세트를 상기 콘텍스트 분류에 대한 선택된 구성 파라미터로서 선택
    하도록 추가적으로 구성되는, 콘텍스트 분류를 수행하기 위한 장치.
  28. 제 23 항에 있어서,
    상기 입도 입력은 상기 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함하는, 콘텍스트 분류를 수행하기 위한 장치.
  29. 제 28 항에 있어서,
    상기 콘텍스트 분류기는, 상기 입도 입력으로서 수신된 상기 콘텍스트 분류에 대한 상기 이용가능한 출력들의 서브세트를 분류기 입도 구성에 할당하도록 추가적으로 구성되고,
    상기 분류기 입도 구성은 대응하는 리소스 사용 레벨을 정의하는, 콘텍스트 분류를 수행하기 위한 장치.
  30. 제 29 항에 있어서,
    상기 콘텍스트 분류기는, 상기 입도 입력으로서 수신된 상기 이용가능한 출력들의 서브세트로부터 상기 콘텍스트 분류 출력을 선택함으로써 상기 콘텍스트 분류를 수행하도록 추가적으로 구성되는, 콘텍스트 분류를 수행하기 위한 장치.
  31. 제 23 항에 있어서,
    상기 콘텍스트 분류기는, 모션 상태 분류기, 위치 상태 분류기, 또는 오디오 상태 분류기 중 하나 또는 그 초과를 포함하는, 콘텍스트 분류를 수행하기 위한 장치.
  32. 제 23 항에 있어서,
    상기 분류기 제어기는, 애플리케이션 프로그래밍 인터페이스(API)를 포함하고, 그리고 요청 애플리케이션으로부터 상기 콘텍스트 분류에 대한 요청을 수신하도록 추가적으로 구성되는, 콘텍스트 분류를 수행하기 위한 장치.
  33. 제 32 항에 있어서,
    상기 콘텍스트 분류기는, 상기 API 또는 상기 요청 애플리케이션 중 적어도 하나에 상기 콘텍스트 분류 출력을 제공하도록 추가적으로 구성되는, 콘텍스트 분류를 수행하기 위한 장치.
  34. 제 23 항에 있어서,
    상기 콘텍스트 분류기에 통신가능하게 커플링된 상기 데이터 소스들 중 하나 또는 그 초과의 데이터 소스들을 더 포함하고,
    상기 콘텍스트 분류기는, 상기 데이터 소스들 중 상기 하나 또는 그 초과의 데이터 소스들로부터 샘플링된 데이터에 기초하여 상기 콘텍스트 분류를 수행하도록 구성되는, 콘텍스트 분류를 수행하기 위한 장치.
  35. 제 34 항에 있어서,
    상기 데이터 소스들 중 상기 하나 또는 그 초과의 데이터 소스들은, 오디오 센서, 위치 센서, 네트워크 센서, 모션 센서, 캘린더, 클록, 디바이스 사용 통계들의 세트, 또는 광 센서 중 적어도 하나를 포함하는, 콘텍스트 분류를 수행하기 위한 장치.
  36. 콘텍스트 분류를 관리하기 위한 장치로서,
    상기 콘텍스트 분류에 대한 요청 및 상기 요청과 연관된 입도 입력을 수신하기 위한 수단 ― 상기 입도 입력은 콘텍스트 분류 출력의 입도 레벨을 표시하고, 상기 표시하는 것은, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 상태들을 포함하는 이용가능한 상태들의 서브세트를 이용하여, 상기 콘텍스트 분류 출력이 선택되는 이용가능한 상태들의 서브세트를 식별하고, 그리고 제 1 입도 레벨보다 더 큰 제 2 입도 레벨이 표시되는 경우보다 상기 제 1 입도 레벨이 표시되는 경우 분류를 위해 더 적은 데이터 특성들이 사용되도록, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 데이터 특성들을 포함하는 결정된 데이터 특성들을 이용하여, 상기 콘텍스트 분류 출력을 선택하기 위해 데이터 소스들로부터 어떤 데이터 특성들이 수집되는지를 결정하기 위한 것임 ―;
    상기 입도 입력에 기초하여 상기 콘텍스트 분류에 대한 구성 파라미터를 복수의 구성 파라미터들로부터 선택하기 위한 수단 ― 상기 복수의 구성 파라미터들은 상기 입도 입력에 의해 표시되는 상이한 입도 레벨들에 대한 상이한 값들을 포함함 ―; 및
    상기 콘텍스트 분류에 대한 선택된 구성 파라미터를 사용하여 상기 데이터 소스들로부터 수집된 데이터 특성들의 데이터를 분류함으로써, 상기 요청에 응답하여, 상기 콘텍스트 분류 출력의 입도 레벨을 표시하는 상기 입도 입력에 따라 상기 콘텍스트 분류를 수행하기 위한 수단을 포함하고,
    높은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 높은 리소스 사용 레벨과 연관되고, 그리고 낮은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 낮은 리소스 사용 레벨과 연관되는, 콘텍스트 분류를 관리하기 위한 장치.
  37. 제 36 항에 있어서,
    상기 선택된 구성 파라미터는, 이용된 센서 특성들의 수 또는 분류기의 듀티 사이클 중 적어도 하나를 포함하는, 콘텍스트 분류를 관리하기 위한 장치.
  38. 제 36 항에 있어서,
    상기 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택되는, 콘텍스트 분류를 관리하기 위한 장치.
  39. 제 36 항에 있어서,
    상기 입도 입력은 상기 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함하는, 콘텍스트 분류를 관리하기 위한 장치.
  40. 제 36 항에 있어서,
    상기 콘텍스트 분류는, 모션 상태 분류, 위치 상태 분류, 또는 오디오 상태 분류 중 하나 또는 그 초과를 포함하는, 콘텍스트 분류를 관리하기 위한 장치.
  41. 조정가능한 입도로 콘텍스트 분류를 수행하기 위한 장치로서,
    상기 콘텍스트 분류에 대한 요청 및 상기 요청과 연관된 입도 입력을 수신하기 위한 수단 ― 상기 입도 입력은 콘텍스트 분류 출력의 입도 레벨을 표시하고, 상기 표시하는 것은, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 상태들을 포함하는 이용가능한 상태들의 서브세트를 이용하여, 상기 콘텍스트 분류 출력이 선택되는 이용가능한 상태들의 서브세트를 식별하고, 그리고 제 1 입도 레벨보다 더 큰 제 2 입도 레벨이 표시되는 경우보다 상기 제 1 입도 레벨이 표시되는 경우 분류를 위해 더 적은 데이터 특성들이 사용되도록, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 데이터 특성들을 포함하는 결정된 데이터 특성들을 이용하여, 상기 콘텍스트 분류 출력을 선택하기 위해 데이터 소스들로부터 어떤 데이터 특성들이 수집되는지를 결정하기 위한 것임 ―;
    상기 입도 입력에 기초하여 상기 콘텍스트 분류에 대한 구성 파라미터를 복수의 구성 파라미터들로부터 선택하기 위한 수단 ― 상기 복수의 구성 파라미터들은 상기 입도 입력에 의해 표시되는 상이한 입도 레벨들에 대한 상이한 값들을 포함하고, 높은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 높은 리소스 사용 레벨과 연관되고, 그리고 낮은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 낮은 리소스 사용 레벨과 연관됨 ―; 및
    상기 콘텍스트 분류에 대한 선택된 구성 파라미터를 사용하여 상기 데이터 소스들로부터 수집된 데이터 특성들의 데이터를 분류함으로써, 상기 콘텍스트 분류 출력의 입도 레벨을 표시하는 상기 입도 입력에 따라 상기 콘텍스트 분류를 수행하기 위한 수단을 포함하는, 콘텍스트 분류를 수행하기 위한 장치.
  42. 제 41 항에 있어서,
    상기 선택된 구성 파라미터는, 이용된 센서 특성들의 수 또는 분류의 빈도 중 적어도 하나를 포함하는, 콘텍스트 분류를 수행하기 위한 장치.
  43. 제 41 항에 있어서,
    상기 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택되는, 콘텍스트 분류를 수행하기 위한 장치.
  44. 제 41 항에 있어서,
    상기 입도 입력은 상기 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함하는, 콘텍스트 분류를 수행하기 위한 장치.
  45. 제 41 항에 있어서,
    상기 콘텍스트 분류는, 모션 상태 분류, 위치 상태 분류, 또는 오디오 상태 분류 중 하나 또는 그 초과를 포함하는, 콘텍스트 분류를 수행하기 위한 장치.
  46. 제 41 항에 있어서,
    상기 콘텍스트 분류에 대한 요청의 소스에 상기 콘텍스트 분류 출력을 리턴하기 위한 수단을 더 포함하는, 콘텍스트 분류를 수행하기 위한 장치.
  47. 프로세서-실행가능 명령들을 포함하는 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체로서,
    상기 프로세서-실행가능 명령들은 프로세서로 하여금,
    콘텍스트 분류에 대한 요청 및 상기 요청과 연관된 입도 입력을 수신하게 하고 ― 상기 입도 입력은 콘텍스트 분류 출력의 입도 레벨을 표시하고, 상기 표시하는 것은, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 상태들을 포함하는 이용가능한 상태들의 서브세트를 이용하여, 상기 콘텍스트 분류 출력이 선택되는 이용가능한 상태들의 서브세트를 식별하고, 그리고 제 1 입도 레벨보다 더 큰 제 2 입도 레벨이 표시되는 경우보다 상기 제 1 입도 레벨이 표시되는 경우 분류를 위해 더 적은 데이터 특성들이 사용되도록, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 데이터 특성들을 포함하는 결정된 데이터 특성들을 이용하여, 상기 콘텍스트 분류 출력을 선택하기 위해 데이터 소스들로부터 어떤 데이터 특성들이 수집되는지를 결정하기 위한 것임 ―;
    상기 입도 입력에 기초하여 상기 콘텍스트 분류에 대한 구성 파라미터를 복수의 구성 파라미터들로부터 선택하게 하고 ― 상기 복수의 구성 파라미터들은 상기 입도 입력에 의해 표시되는 상이한 입도 레벨들에 대한 상이한 값들을 포함함 ―; 그리고
    분류기에 의해, 상기 콘텍스트 분류에 대한 선택된 구성 파라미터를 사용하여 상기 데이터 소스들로부터 수집된 데이터 특성들의 데이터를 분류함으로써, 상기 요청에 응답하여, 상기 콘텍스트 분류 출력의 입도 레벨을 표시하는 상기 입도 입력에 따라 상기 콘텍스트 분류를 수행하게 하도록 구성되고,
    높은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 높은 리소스 사용 레벨과 연관되고, 그리고 낮은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 낮은 리소스 사용 레벨과 연관되는, 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체.
  48. 제 47 항에 있어서,
    상기 선택된 구성 파라미터는, 이용된 센서 특성들의 수 또는 상기 분류기의 듀티 사이클 중 적어도 하나를 포함하는, 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체.
  49. 제 47 항에 있어서,
    상기 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택되는, 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체.
  50. 제 47 항에 있어서,
    상기 입도 입력은 상기 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함하는, 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체.
  51. 프로세서-실행가능 명령들을 포함하는 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체로서,
    상기 프로세서-실행가능 명령들은 프로세서로 하여금,
    콘텍스트 분류에 대한 요청 및 상기 요청과 연관된 입도 입력을 수신하게 하고 ― 상기 입도 입력은 콘텍스트 분류 출력의 입도 레벨을 표시하고, 상기 표시하는 것은, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 상태들을 포함하는 이용가능한 상태들의 서브세트를 이용하여, 상기 콘텍스트 분류 출력이 선택되는 이용가능한 상태들의 서브세트를 식별하고, 그리고 제 1 입도 레벨보다 더 큰 제 2 입도 레벨이 표시되는 경우보다 상기 제 1 입도 레벨이 표시되는 경우 분류를 위해 더 적은 데이터 특성들이 사용되도록, 상기 입도 입력에 의해 표시되는 상기 입도 레벨에 기초하여 결정되는 다수의 데이터 특성들을 포함하는 결정된 데이터 특성들을 이용하여, 상기 콘텍스트 분류 출력을 선택하기 위해 데이터 소스들로부터 어떤 데이터 특성들이 수집되는지를 결정하기 위한 것임 ―;
    상기 입도 입력에 기초하여 상기 콘텍스트 분류에 대한 구성 파라미터를 복수의 구성 파라미터들로부터 선택하게 하고 ― 상기 복수의 구성 파라미터들은 상기 입도 입력에 의해 표시되는 상이한 입도 레벨들에 대한 상이한 값들을 포함하고, 높은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 높은 리소스 사용 레벨과 연관되고, 그리고 낮은 입도 레벨을 표시하는 입도 입력에 대한 구성 파라미터는 낮은 리소스 사용 레벨과 연관됨 ―; 그리고
    상기 콘텍스트 분류에 대한 선택된 구성 파라미터를 사용하여 상기 데이터 소스들로부터 수집된 데이터 특성들의 데이터를 분류함으로써, 상기 콘텍스트 분류 출력의 입도 레벨을 표시하는 상기 입도 입력에 따라 상기 콘텍스트 분류를 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체.
  52. 제 51 항에 있어서,
    상기 선택된 구성 파라미터는, 이용된 센서 특성들의 수 또는 분류의 빈도 중 적어도 하나를 포함하는, 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체.
  53. 제 51 항에 있어서,
    상기 입도 입력은 미리 정의된 세트의 입도 셋팅들로부터 선택되는, 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체.
  54. 제 51 항에 있어서,
    상기 입도 입력은 상기 콘텍스트 분류에 대한 이용가능한 출력들의 서브세트를 포함하는, 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체.
  55. 제 51 항에 있어서,
    상기 프로세서로 하여금, 상기 콘텍스트 분류에 대한 요청의 소스에 상기 콘텍스트 분류 출력을 리턴하게 하도록 구성되는 명령들을 더 포함하는, 비-일시적인 프로세서-판독가능 컴퓨터 저장 매체.
KR1020157027929A 2013-03-15 2014-02-20 전력-효율적인 분류를 위한 애플리케이션-제어된 입도 KR101831230B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/835,596 2013-03-15
US13/835,596 US9679252B2 (en) 2013-03-15 2013-03-15 Application-controlled granularity for power-efficient classification
PCT/US2014/017236 WO2014143515A1 (en) 2013-03-15 2014-02-20 Application-controlled granularity for power-efficient classification

Publications (2)

Publication Number Publication Date
KR20150132248A KR20150132248A (ko) 2015-11-25
KR101831230B1 true KR101831230B1 (ko) 2018-02-22

Family

ID=50272726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157027929A KR101831230B1 (ko) 2013-03-15 2014-02-20 전력-효율적인 분류를 위한 애플리케이션-제어된 입도

Country Status (8)

Country Link
US (1) US9679252B2 (ko)
EP (1) EP2972657B1 (ko)
JP (1) JP6410787B2 (ko)
KR (1) KR101831230B1 (ko)
CN (1) CN105190474B (ko)
BR (1) BR112015023491A2 (ko)
TW (1) TWI533124B (ko)
WO (1) WO2014143515A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10600007B2 (en) * 2014-08-04 2020-03-24 International Business Machines Corporation Auto-analyzing spatial relationships in multi-scale spatial datasets for spatio-temporal prediction
US10552746B2 (en) 2014-09-25 2020-02-04 International Business Machines Corporation Identification of time lagged indicators for events with a window period
JP6617744B2 (ja) * 2017-04-05 2019-12-11 トヨタ自動車株式会社 車両システム
JP7142420B2 (ja) * 2017-07-10 2022-09-27 キヤノン株式会社 画像処理装置、学習方法、学習済モデル、画像処理方法
US11027743B1 (en) * 2020-03-31 2021-06-08 Secondmind Limited Efficient computational inference using gaussian processes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100331017A1 (en) 2008-02-21 2010-12-30 Nec Corporation Method and system of efficiently using mobile terminal context
CN102006550A (zh) 2009-08-27 2011-04-06 帕姆公司 用于移动计算装置的节能系统和方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115702A (en) 1997-12-23 2000-09-05 Hughes Electronics Corporation Automatic determination of report granularity
US6594313B1 (en) 1998-12-23 2003-07-15 Intel Corporation Increased video playback framerate in low bit-rate video applications
US20020138492A1 (en) * 2001-03-07 2002-09-26 David Kil Data mining application with improved data mining algorithm selection
US7203635B2 (en) 2002-06-27 2007-04-10 Microsoft Corporation Layered models for context awareness
US20060265712A1 (en) 2005-05-18 2006-11-23 Docomo Communications Laboratories Usa, Inc. Methods for supporting intra-document parallelism in XSLT processing on devices with multiple processors
US7580974B2 (en) 2006-02-16 2009-08-25 Fortinet, Inc. Systems and methods for content type classification
EP1939797A1 (en) * 2006-12-23 2008-07-02 NTT DoCoMo, Inc. Method and apparatus for automatically determining a semantic classification of context data
US8010658B2 (en) 2007-02-09 2011-08-30 Raytheon Company Information processing system for classifying and/or tracking an object
US20090195382A1 (en) * 2008-01-31 2009-08-06 Sensormatic Electronics Corporation Video sensor and alarm system and method with object and event classification
US8412525B2 (en) 2009-04-30 2013-04-02 Microsoft Corporation Noise robust speech classifier ensemble
KR101584058B1 (ko) * 2009-08-07 2016-01-12 삼성전자주식회사 현재 상황에 적합한 사용 환경을 제공하는 휴대 단말기 및 이의 운용 방법
US20110225043A1 (en) 2010-03-12 2011-09-15 Yahoo! Inc. Emotional targeting
US20110310005A1 (en) 2010-06-17 2011-12-22 Qualcomm Incorporated Methods and apparatus for contactless gesture recognition
JP5495235B2 (ja) * 2010-12-02 2014-05-21 株式会社日立製作所 監視対象者の行動を監視する装置及び方法
US20120252490A1 (en) 2011-04-04 2012-10-04 Brian Hernacki Location Discovery
CN102902349B (zh) * 2012-11-08 2015-04-22 山东大学 一种通过触点动态采样技术降低嵌入式系统功耗的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100331017A1 (en) 2008-02-21 2010-12-30 Nec Corporation Method and system of efficiently using mobile terminal context
CN102006550A (zh) 2009-08-27 2011-04-06 帕姆公司 用于移动计算装置的节能系统和方法

Also Published As

Publication number Publication date
US20140279786A1 (en) 2014-09-18
JP2016516235A (ja) 2016-06-02
WO2014143515A1 (en) 2014-09-18
CN105190474A (zh) 2015-12-23
KR20150132248A (ko) 2015-11-25
CN105190474B (zh) 2018-08-28
TWI533124B (zh) 2016-05-11
US9679252B2 (en) 2017-06-13
BR112015023491A2 (pt) 2017-07-18
TW201441812A (zh) 2014-11-01
EP2972657A1 (en) 2016-01-20
JP6410787B2 (ja) 2018-10-24
EP2972657B1 (en) 2020-03-18

Similar Documents

Publication Publication Date Title
US10970096B2 (en) Suggesting actions based on machine learning
JP6284538B2 (ja) データクラスタのためのコンテキストラベル
US10924886B2 (en) Visitation tracking system
US8452353B2 (en) Apparatus and methods for providing intelligent battery management
KR101831230B1 (ko) 전력-효율적인 분류를 위한 애플리케이션-제어된 입도
US20130225196A1 (en) Geo-Fence Generation and Updating Based on Device Movement Patterns
US20130295956A1 (en) Calendar matching of inferred contexts and label propagation
US20210144512A1 (en) Tracking proximities of devices and/or objects
CN112673367A (zh) 用于预测用户意图的电子设备和方法
KR20150008653A (ko) 휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장치
WO2023016050A1 (zh) 一种卡片信息显示方法及电子设备
JP7173251B2 (ja) 情報処理装置および方法、並びにプログラム
US20230358557A1 (en) Capturing Location Data For Waypoint
US20230362582A1 (en) Proactive Provision of Positioning Information Based on User Context
WO2023219872A1 (en) Proactive provision of positioning information based on user context

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right