KR20150084849A - 콘텍스트 감지를 위한 방법 - Google Patents

콘텍스트 감지를 위한 방법 Download PDF

Info

Publication number
KR20150084849A
KR20150084849A KR1020157012699A KR20157012699A KR20150084849A KR 20150084849 A KR20150084849 A KR 20150084849A KR 1020157012699 A KR1020157012699 A KR 1020157012699A KR 20157012699 A KR20157012699 A KR 20157012699A KR 20150084849 A KR20150084849 A KR 20150084849A
Authority
KR
South Korea
Prior art keywords
context
computing device
data
sensors
threshold
Prior art date
Application number
KR1020157012699A
Other languages
English (en)
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 인텔 코포레이션
Priority to KR1020157012699A priority Critical patent/KR20150084849A/ko
Publication of KR20150084849A publication Critical patent/KR20150084849A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Abstract

콘텍스트 감지를 위한 방법 및 시스템이 본 명세서에 설명된다. 본 방법은 다수의 센서를 통해 얻은 센서 데이터가 사전 결정된 임계치를 초과하는지를 판정하는 단계를 포함한다. 본 방법은 센서 데이터가 임계치를 초과하면 컴퓨팅 디바이스에 대응하는 콘텍스트 데이터를 얻도록 임의의 센서의 샘플링 레이트를 증가시키는 단계를 또한 포함한다. 본 방법은 콘텍스트 데이터를 분석하여 컴퓨팅 디바이스의 콘텍스트를 분류하는 단계를 더 포함한다.

Description

콘텍스트 감지를 위한 방법{CONTEXT SENSING FOR COMPUTING DEVICES}
본 발명은 전반적으로 컴퓨팅 디바이스를 위한 콘텍스트 감지(context sensing)에 관한 것이다. 더 구체적으로, 본 발명은 콘텍스트 기반 트리거 메커니즘에 따른 모바일 컴퓨팅 디바이스를 위한 콘텍스트 감지에 관한 것이다.
통상의 콘텍스트 알고리즘은 모바일 컴퓨팅 디바이스에 콘텍스트 정보를 제공하는데 사용된다. 그러나, 이러한 콘텍스트 알고리즘은 모바일 컴퓨팅 디바이스가 항상 최종 주위 환경 또는 디바이스 상태를 인식할 수 있도록 논스탑 감지 능력에 의존한다. 이러한 콘텍스트 알고리즘이 모바일 컴퓨팅 디바이스의 메인 호스트 프로세서 상에서 논스탑으로 실행되면 대량의 전력을 소비할 수 있어, 배터리가 매우 빠르게 고갈되게 한다.
도 1은 실시예에 따라 사용될 수 있는 컴퓨팅 디바이스의 블록도이다.
도 2는 실시예에 따른, 콘텍스트 감지 절차를 지시하도록 구성된 다수의 오프로드 엔진을 포함하는 시스템-온-칩(system-on-a-chip: SOC)의 블록도이다.
도 3은 실시예에 따른 콘텍스트 감지 시스템의 블록도이다.
도 4는 실시예에 따른, 컴퓨팅 디바이스를 위한 콘텍스트 감지를 제공하기 위한 방법을 도시하는 프로세스 흐름도이다.
도 5는 실시예에 따른, 콘텍스트 감지를 위한 코드를 저장하는 유형의(tangible) 비일시적 컴퓨터 판독가능 매체를 도시하는 블록도이다.
동일한 도면 부호가 유사한 구성요소 및 특징을 나타내기 위해 명세서 및 도면 전체에 걸쳐 사용된다. 100번대 도면 부호는 도 1에 최초로 표시된 특징들을 나타내고, 200번대 도면 부호는 도 2에 최초로 표시된 특징들을 나타내는 등이다.
전술된 바와 같이, 컴퓨팅 디바이스의 프로세서 상에서 논스탑으로 실행하는 콘텍스트 알고리즘은 대량의 전력을 소비하여, 배터리가 매우 빨리 고갈되게 한다. 따라서, 본 명세서에 설명된 실시예들은 콘텍스트 기반 트리거 메커니즘에 기초하는 콘텍스트 감지를 제공한다. 콘텍스트 기반 트리거 메커니즘은 콘텍스트 감지가 전력 소비의 견지에서 효율적인 방식으로 수행되게 할 수 있다. 이러한 것은 콘텍스트 기반 트리거 메커니즘에 관한 트리거 간격에 기초하여 식별될 수도 있는 의미있는 콘텍스트 데이터만을 캡처함으로써 성취될 수 있다. 다양한 실시예에서, 컴퓨팅 디바이스의 사용자, 컴퓨팅 디바이스의 프로그래머 또는 개발자, 또는 컴퓨팅 디바이스 상에서 실행되는 임의의 수의 콘텍스트-인식(context-aware) 애플리케이션, 또는 이들의 임의의 조합은 어느 콘텍스트 데이터가 의미있는지를 특정할 수 있다. 따라서, 의미있는 콘텍스트 데이터는 관심있는 것으로서 지정되어 있는 임의의 콘텍스트 데이터일 수 있고, 특정 컴퓨팅 디바이스 또는 컴퓨팅 디바이스의 특정 구현예에 따라 다양할 수 있다. 더욱이, 무의미한 콘텍스트 데이터는 관심있는 것으로서 지정되지 않은 임의의 콘텍스트 데이터를 포함할 수 있다.
본 명세서에 설명된 실시예는 또한 콘텍스트 감지 절차를 수행하기 위한 오프로드 엔진을 포함하는 콘텍스트 감지 시스템을 제공한다. 오프로드 엔진은 콘텍스트 감지 절차가 컴퓨팅 디바이스의 메인 프로세서로부터 콘텍스트 감지 시스템으로 오프로드되게 할 수 있어, 컴퓨팅 디바이스의 전력 소비를 감소시킨다.
이하의 상세한 설명 및 청구범위에서, 용어 "결합된" 및 "접속된"이 이들의 파생어와 함께 사용될 수 있다. 이들 용어는 서로 동의어인 것으로서 의도된 것은 아니라는 것이 이해되어야 한다. 오히려, 특정 실시예에서, "접속된"은 2개 이상의 요소가 서로 직접 물리적 또는 전기적 접촉하고 있는 것을 지시하는데 사용될 수 있다. "결합된"은 2개 이상의 요소가 직접 물리적 또는 전기적 접촉하고 있는 것을 의미할 수도 있다. 그러나, "결합된"은 2개 이상의 요소가 서로 직접 접촉하지 않지만, 여전히 서로 협동하거나 상호 작용하는 것을 또한 의미할 수도 있다.
몇몇 실시예는 하드웨어, 펌웨어 및 소프트웨어 중 하나 또는 조합으로 구현될 수 있다. 몇몇 실시예는 또한 본 명세서에 설명된 동작을 수행하기 위해 컴퓨팅 플랫폼에 의해 판독되어 실행될 수 있는 머신-판독가능 매체 상에 저장된 인스트럭션으로서 구현될 수도 있다. 머신-판독가능 매체는 예를 들어 컴퓨터와 같은 머신에 의해 판독가능한 형태의 정보를 저장하거나 전송하기 위한 임의의 메커니즘을 포함할 수 있다. 예를 들어, 머신-판독가능 매체는 무엇보다도, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 디바이스 또는 전기, 광학, 음성 또는 다른 형태의 전파 신호, 예를 들어 반송파, 적외선 신호, 디지털 신호 또는 신호를 전송 및/또는 수신하는 인터페이스를 포함할 수도 있다.
실시예는 구현예 또는 예이다. 명세서에서 "실시예", "일 실시예", "몇몇 실시예", "다양한 실시예" 또는 "다른 실시예"의 언급은 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 발명의 적어도 몇몇 실시예에 포함되지만, 반드시 모든 실시예에 포함되는 것은 아니라는 것을 의미한다. "실시예", "일 실시예" 또는 "몇몇 실시예"의 다양한 출현은 반드시 모두 동일한 실시예를 언급하는 것은 아니다. 실시예로부터의 요소 또는 양태는 다른 실시예의 요소 또는 양태와 조합될 수 있다.
본 명세서에 설명되고 도시된 모든 구성요소, 특징, 구조, 특성 등이 특정 실시예 또는 실시예들에 포함될 필요가 있는 것은 아니다. 명세서가 구성요소, 특징, 구조 또는 특성이 "포함될 수도", "포함되어 있을 수도", "포함될 수" 또는 "포함되어 있을 수" 있는 것으로 설명하면, 예를 들어 그 특정 구성요소, 특징, 구조 또는 특성은 포함되도록 요구되는 것은 아니다. 상세한 설명 또는 청구범위가 단수 형태의 요소를 언급하면, 이는 단지 하나의 요소만이 존재하는 것을 의미하는 것은 아니다. 상세한 설명 또는 청구범위가 "부가의" 요소를 언급하면, 이는 하나 초과의 부가의 요소가 존재하는 것을 배제하는 것은 아니다.
몇몇 실시예가 특정 구현예를 참조하여 설명되어 있지만, 다른 구현예가 몇몇 실시예에 따라 가능하다는 것이 주목되어야 한다. 부가적으로, 도면에 도시되고 그리고/또는 본 명세서에 설명된 회로 요소 또는 다른 특징의 배열 및/또는 순서는 도시되고 설명된 특정 방식으로 배열될 필요는 없다. 다수의 다른 배열이 몇몇 실시예에 따라 가능하다.
도면에 도시된 각각의 시스템에서, 몇몇 경우에 요소는 표현된 요소들이 상이하고 그리고/또는 유사할 수 있는 것을 제안하기 위해 동일한 도면 부호 또는 상이한 도면 부호를 각각 가질 수도 있다. 그러나, 요소는 상이한 구현예를 갖고 본 명세서 도시되거나 설명된 시스템의 일부 또는 모두와 함께 작용하도록 충분히 융통성이 있을 수도 있다. 도면에 도시된 다양한 요소들은 동일하거나 상이할 수 있다. 어느 것이 제 1 요소로서 언급되는지 어느 것을 제 2 요소라 칭하는지는 임의적이다.
도 1은 실시예에 따라 사용될 수 있는 컴퓨팅 디바이스(100)의 블록도이다. 컴퓨팅 디바이스(100)는 예를 들어, 이동 전화와 같은 모바일 컴퓨팅 디바이스일 수도 있다. 이러한 실시예에서, 컴퓨팅 디바이스(100)는 시스템-온-칩(SOC)으로서 구현될 수 있다. 컴퓨팅 디바이스(100)는 또한 무엇보다도 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 모바일 디바이스 또는 서버와 같은 임의의 다른 적합한 유형의 컴퓨팅 디바이스일 수도 있다. 컴퓨팅 디바이스(100)는 저장된 인스트럭션을 실행하도록 구성된 중앙 처리 유닛(CPU)(102), 뿐만 아니라 CPU(102)에 의해 실행가능한 인스트럭션을 저장하는 메모리 디바이스(104)를 포함할 수 있다. CPU(102)는 버스(106)에 의해 메모리 디바이스(104)에 결합될 수 있다. 부가적으로, CPU(102)는 단일 코어 프로세서, 멀티-코어 프로세서, 컴퓨팅 클러스터 또는 임의의 수의 다른 구성일 수 있다. 더욱이, 컴퓨팅 디바이스(100)는 하나보다 많은 CPU(102)를 포함할 수 있다. CPU(102)에 의해 실행되는 인스트럭션은 컴퓨팅 디바이스(100)를 위한 콘텍스트 감지 절차를 지시하는 데 사용될 수 있다.
메모리 디바이스(104)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 메모리 또는 임의의 다른 적합한 메모리 시스템을 포함할 수 있다. 예를 들어, 메모리 디바이스(104)는 동적 랜덤 액세스 메모리(DRAM)를 포함할 수 있다.
CPU(102)는 컴퓨팅 디바이스(100)를 하나 이상의 I/O 디바이스(110)에 접속하도록 구성된 입출력(I/O) 디바이스 인터페이스(108)에 버스(106)를 통해 접속될 수 있다. I/O 디바이스(110)는 예를 들어 키보드 및 포인팅 디바이스를 포함할 수 있고, 포인팅 디바이스는 무엇보다도 터치패드 또는 터치스크린을 포함할 수 있다. I/O 디바이스(110)는 컴퓨팅 디바이스(100)의 내장형 구성요소일 수 있고, 또는 컴퓨팅 디바이스(100)에 외부에서 접속되는 디바이스일 수도 있다.
CPU(102)는 또한 컴퓨팅 디바이스(100)를 디스플레이 디바이스(114)에 접속하도록 구성된 디스플레이 인터페이스(112)에 버스(106)를 통해 결합될 수 있다. 디스플레이 디바이스(114)는 컴퓨팅 디바이스(100)의 내장형 구성요소인 디스플레이 스크린을 포함할 수 있다. 디스플레이 디바이스(114)는 무엇보다도 컴퓨팅 디바이스(100)에 외부에서 접속되는 컴퓨터 모니터, 텔레비전, 또는 프로젝터를 또한 포함할 수 있다.
컴퓨팅 디바이스(100)는 네트워크 인터페이스 제어기(NIC)(116)를 또한 포함할 수 있다. NIC(116)는 컴퓨팅 디바이스(100)를 버스(106)를 통해 네트워크(118)에 접속하도록 구성될 수 있다. 네트워크(118)는 무엇보다도 원거리 통신망(WAN), 근거리 통신망(LAN) 또는 인터넷일 수 있다.
컴퓨팅 디바이스(100)는 하나 이상의 센서(120)를 또한 포함할 수 있다. 센서(120)는 예를 들어, 무엇보다도 광 센서, 기압계, 근접도 센서, 자기력계, 자이로스코프, 가속도계 또는 마이크로폰을 포함할 수 있다. 다양한 실시예에서, 센서(120)는 컴퓨팅 디바이스(100)의 내장형 구성요소이다. 그러나, 몇몇 실시예에서, 센서(120) 중 몇몇은 컴퓨팅 디바이스(100)에 외부에서 접속되는 구성요소이다.
컴퓨팅 디바이스는 저장 디바이스(122)를 또한 포함할 수 있다. 저장 디바이스(122)는 하드 드라이브, 광학 드라이브, 썸드라이브, 드라이브의 어레이 또는 이들의 임의의 조합과 같은 물리적 메모리이다. 저장 디바이스(122)는 원격 저장 드라이브를 또한 포함할 수 있다. 저장 디바이스(122)는 컴퓨팅 디바이스(100) 상에서 실행하도록 구성된 임의의 수의 콘텍스트-인식 애플리케이션(124)을 포함할 수 있다.
게다가, 저장 디바이스(122)는 센서 허브 엔진(126) 및 디지털 신호 프로세싱(DSP) 엔진(128)을 포함할 수 있다. 센서 허브 엔진(126) 및 DSP 엔진(128)은 이하에 더 설명되는 바와 같이, 컴퓨팅 디바이스(100)의 CPU(102)부터 콘텍스트 감지 절차를 오프로드하고 콘텍스트 기반 트리거 메커니즘에 기초하여 콘텍스트 감지 절차를 지시하도록 구성될 수 있다. 콘텍스트 감지 절차는 도 1에 도시된 바와 같이, 센서(120)를 CPU(102) 대신에 센서 허브 엔진(126)에 직접 결합함으로써 CPU(102)로부터 센서 허브 엔진(126)에 오프로드될 수 있다. 더욱이, 몇몇 실시예에서, 임의의 센서(120)가 센서 허브 엔진(126) 대신에 DSP 엔진(128)에 직접 결합될 수 있다.
도 1의 블록도는 컴퓨팅 디바이스(100)가 도 1에 도시된 모든 구성요소를 포함해야 함을 의미하는 것은 아니다. 또한, 컴퓨팅 디바이스(100)는 특정 구현예의 상세에 따라, 도 1에 도시되지 않은 임의의 수의 부가의 구성요소를 포함할 수 있다.
도 2는 실시예에 따른, 콘텍스트 감지 절차를 지시하도록 구성된 다수의 오프로드 엔진(202A, 202B)을 포함하는 시스템-온-칩(SOC)(200)의 블록도이다. SOC(200)는 도 1과 관련하여 설명된 컴퓨팅 디바이스(100)와 같은 컴퓨팅 디바이스 내에서 구현된다. 다양한 실시예에서, 컴퓨팅 디바이스는 모바일 컴퓨팅 디바이스이다.
SOC(200)는 콘텍스트 감지 절차의 실행 중에 얻은 콘텍스트 정보를 컴퓨팅 디바이스 상에서 실행되는 임의의 수의 콘텍스트-인식 애플리케이션(도시 생략)에 제공하도록 구성될 수 있는 프로세서(204)를 포함할 수 있다. SOC(202)는 오프로드 엔진(202A, 202B)을 또한 포함할 수 있다. 더 구체적으로, SOC(200)는 센서 허브 엔진(202A) 및 DSP 엔진(202B)을 포함할 수 있다. 센서 허브 엔진(202A)은 도 3과 관련하여 설명된 바와 같이, 콘텍스트 감지 절차를 지시하기 위한 콘텍스트 기반 트리거 메커니즘 및 콘텍스트 감지 절차 중에 얻은 콘텍스트 데이터를 분류하기 위한 다수의 분류기를 포함할 수 있다. SOC(200)는 센서 허브 엔진(202A)과 상호 작용할 수 있고 오디오 콘텍스트 감지 절차의 지시를 보조할 수 있는 DSP 엔진(202B)을 또한 포함할 수 있다.
센서 허브 엔진(202A)은 예를 들어 광 센서(206A), 기압계(206B), 근접도 센서(206C), 자기력계(206D), 자이로스코프(206E), 가속도계(206F) 및 글로벌 네비게이션 위성 시스템(GNSS) 위치 센서(206G)를 포함하는 다수의 센서(206A 내지 206G)에 결합될 수 있다. 센서 허브 엔진(202A)은 광 센서(206A), 기압계(206B), 근접도 센서(206C), 자기력계(206D), 자이로스코프(206E) 및 가속도계(206F)에 상호 집적 회로(I2C)(208)를 통해 결합될 수 있다. 센서 허브 엔진(202A)은 범용 비동기식 수신기/송신기(URART)(210)를 통해 GNSS 위치 센서(206)에 결합될 수 있다.
DSP 엔진(202B)은 마이크로폰(206H)과 같은 오디오 센서에 간접적으로 결합될 수 있다. 구체적으로, 마이크로폰(206H)은 오디오 코더/디코더(코덱)(212)에 결합될 수 있고, 오디오 코덱(212)은 I2C(214) 및 동기식 직렬 포트(SSP)(216)를 통해 DSP 엔진(202B)에 결합될 수 있다.
따라서, 다양한 실시예에서, 센서(206A 내지 206H)는 프로세서(204)에 직접 접속되는 대신에 센서 허브 엔진(202A) 또는 DSP 엔진(202B)에 접속된다. 이는 콘텍스트 감지 절차가 프로세서(204)로부터 센서 허브 엔진(202A) 및 DSP 엔진(202B)에 오프로드되기 때문에, 컴퓨팅 디바이스에 의해 소비된 전력량의 감소를 허용할 수 있다.
센서 허브 엔진(202A)은 광 센서(206A), 기압계(206B), 근접도 센서(206C), 자기력계(206D), 자이로스코프(206E) 또는 가속도계(206F) 또는 이들의 임의의 조합으로부터 콘텍스트 데이터를 수신할 수 있다. 게다가, DSP 엔진(202B)은 마이크로폰(206H)으로부터 오디오 콘텍스트 데이터를 수신할 수 있다. 센서 허브 엔진(202A) 및 DSP 엔진(202B)은 컴퓨팅 디바이스에 대응하는 콘텍스트 정보를 결정하도록 이러한 콘텍스트 데이터를 분석할 수 있다. 센서 허브 엔진(202A) 및 DSP 엔진(202B)은 이어서 콘텍스트 정보를 프로세서(204)에 송신할 수 있고, 이 프로세서는 콘텍스트 정보를 이러한 콘텍스트 정보를 요청하고 있는 임의의 수의 콘텍스트-인식 애플리케이션에 포워딩할 수 있다. 또한, 몇몇 실시예에서, 센서 허브 엔진(202A) 및 DSP 엔진(202B)은 콘텍스트 정보를 콘텍스트-인식 애플리케이션에 직접 송신할 수 있다.
도 2의 블록도는 SOC(200)가 도 2에 도시된 모든 구성요소를 포함해야 함을 나타내는 것은 아니다. 또한, SOC(200)는 특정 구현예의 상세에 따라 도 2에 도시되지 않은 임의의 수의 부가의 구성요소를 포함할 수 있다.
도 3은 실시예에 따른 콘텍스트 감지 시스템(300)의 블록도이다. 유사한 도면 부호의 아이템은 도 2와 관련하여 설명된 바와 같다. 콘텍스트 감지 시스템(300)은 다수의 콘텍스트-인식 애플리케이션(302)을 포함할 수 있다. 콘텍스트-인식 애플리케이션(302)은 컴퓨팅 디바이스 또는 컴퓨팅 디바이스의 환경에 대응하는 콘텍스트 정보를 이용하는 컴퓨팅 디바이스 상에서 실행하는 애플리케이션을 포함할 수 있다. 콘텍스트-인식 애플리케이션(302)이 항상 적절한 기능을 위해 이러한 콘텍스트 정보에 의존할 수 있고, 또는 예를 들어 주기적으로 이러한 콘텍스트 정보만을 요청할 수 있다.
콘텍스트 감지 시스템(300)은 콘텍스트 프레임워크(304)를 또한 포함할 수 있다. 콘텍스트 프레임워크(304)는 콘텍스트 감지 절차 내에 포함될 콘텍스트-인식 애플리케이션(302)을 결정하도록 구성될 수도 있다. 구체적으로, 콘텍스트 프레임워크(304)는 어느 애플리케이션이 콘텍스트 정보를 수신하도록 허용되는지, 뿐만 아니라 각각의 콘텍스트-인식 애플리케이션(302)에 의해 수신될 수 있는 콘텍스트 정보의 유형을 특정할 수 있다. 콘텍스트 프레임워크(304)는 또한 이하에 더 설명되는 바와 같이, 콘텍스트 감지 절차 중에 사용될 수 있는 플러그인의 유형을 특정할 수 있다.
더욱이, 콘텍스트 프레임워크(304)는 이력 콘텍스트 정보의 데이터베이스를 포함할 수 있다. 이력 콘텍스트 정보는 이전의 콘텍스트 변화에 기초하여 컴퓨팅 디바이스의 환경 또는 콘텍스트의 변화를 결정하기 위해 콘텍스트 감지 절차를 위해 사용될 수 있다. 예를 들어, 이력 콘텍스트 정보는 사용자가 앉아 있는 것을 지시하는 가속도계(206F)를 통해 얻은 물리적 활동 데이터를 포함할 수 있다. 더욱이, 다른 센서로부터의 정보가 사용자의 위치를 결정하기 위해 물리적 활동 데이터와 함께 사용될 수 있다.
다양한 실시예에서, 콘텍스트 감지 시스템(300)은 콘텍스트 퓨전 미들웨어(306)를 포함한다. 콘텍스트 퓨전 미들웨어(306)는 센서(206A 내지 206H)를 통해 얻은 모든 콘텍스트 정보를 조합할 수 있다. 콘텍스트 퓨전 미들웨어(306)는 이어서 이하에 더 설명되는 바와 같이, 조합 콘텍스트 정보에 기초하여 콘텍스트 기반 트리거 메커니즘을 위한 적합한 트리거 간격을 결정할 수 있다. 더욱이, 콘텍스트 퓨전 미들웨어(308)는 저장되어 그리고/또는 임의의 콘텍스트-인식 애플리케이션(302)에 송신될 콘텍스트 프레임워크(304)에 조합된 콘텍스트 정보를 송신할 수 있다.
콘텍스트 감지 시스템(300)은 다수의 콘텍스트 소스(308)를 또한 포함할 수 있다. 콘텍스트 소스(308)는 센서 허브 엔진(202A) 및 DSP 엔진(202B)으로부터 센서(206A 내지 206H)를 통해 얻은 센서 정보를 수집하도록 구성된 플러그인을 포함한다. 예를 들어, 콘텍스트 소스(308)는 DSP 엔진(202B)으로부터 오디오 콘텍스트 정보를 수집하도록 구성된 오디오 분류기 콘텍스트 플러그인(310A)을 포함할 수 있다. 게다가, 콘텍스트 소스(308)는 센서 허브 엔진(202A)으로부터 각각 물리적 활동 콘텍스트 정보, 단말 콘텍스트 정보 및 제스처 인식 콘텍스트 정보를 수집하도록 구성된 물리적 활동 콘텍스트 플러그인(310B), 단말 콘텍스트 플러그인(310C) 및 제스처 인식 콘텍스트 플러그인(310D)을 포함할 수 있다.
물리적 활동 콘텍스트 정보는 임의의 물리적 활동의 콘텍스트를 결정하는 데 사용될 수 있는 임의의 센서(206A 내지 206G)로부터 콘텍스트 데이터를 포함한다. 이에 따라, 가속도계(206F)는 물리적 가속도를 결정하는 데 사용될 수 있고, 반면에 자이로스코프(206E)는 컴퓨팅 디바이스의 배향을 결정하는 데 사용될 수 있다. 더욱이, 근접도 센서(206C)는 다른 물체에 대한 디바이스의 물리적 근접도를 결정하는 데 사용될 수 있다.
단말 콘텍스트 정보는 예를 들어 디바이스가 위를 향하고 있는지, 아래를 향하고 있는지, 세로방향 위(portrait up), 세로방향 아래(portrait down), 가로방향 위(landscape up) 또는 가로방향 아래(landscape down)인지 여부와 같은 디바이스의 상태에 관한 정보를 포함한다. 몇몇 실시예에서, 단말 콘텍스트 정보는 3-축 가속도 데이터를 사용하여 감지된다. 부가적으로, 제스처 인식 콘텍스트 정보는 모션 제스처를 포함한다. 예를 들어, 디바이스 좌/우/상/하 플릭 1회 및 좌/우 플릭 2회 모션 제스처가 예를 들어 미디어 재생, 슬라이드쇼 또는 디바이스 잠금해제와 같은 특정 애플리케이션 거동을 제어하는 데 사용될 수 있다. 게다가, 이어 터치(ear touch) 또는 이어 터치백(eart touch back) 모션 제스처가 수신 호 수신 및 끊기를 위해 사용될 수 있다. 몇몇 실시예에서, 제스처 인식 정보는 가속도계 및/또는 자이로스코프 센서 데이터를 사용하여 감지된다.
몇몇 실시예에서, 물리적 활동 콘텍스트 플러그인(310B), 단말 콘텍스트 플러그인(310C) 및 제스처 인식 콘텍스트 플러그인(310D)은 센서 허브 데몬(daemon)(312)을 통해 센서 허브 엔진(202A)에 결합된다. 센서 허브 데몬(312)은 물리적 활동 콘텍스트 플러그인(310B), 단말 콘텍스트 플러그인(310C) 및 제스처 인식 콘텍스트 플러그인(310D)으로부터 수신된 콘텍스트 정보를 위한 다수의 동시 요청을 취급하고 지시하도록 구성될 수도 있다. 다양한 실시예에서, 센서 허브 데몬(312)은 컴퓨팅 디바이스의 메인 프로세서에 콘텍스트 감지 절차에 관한 정보를 보고하도록 구성된다.
센서 허브 엔진(202A)은 센서 허브 펌웨어(314), 센서 드라이버(316) 및 실시간 운영 체제(RTOS) 커널(318)을 포함하는 다수의 구성요소를 포함할 수 있다. 센서 허브 엔진(202A)은 콘텍스트 감지 절차를 구현하기 위한 다수의 구성요소를 또한 포함할 수 있다. 예를 들어, 센서 허브 엔진(202A)은 공통 콘텍스트 소스 트리거(320)를 포함할 수 있다. 공통 콘텍스트 소스 트리거(320)는 임의의 센서(206A 내지 206G)의 샘플링 레이트를 설정하도록 구성될 수 있다. 부가적으로, 공통 콘텍스트 소스 트리거(320)는 특정된 트리거 포인트 또는 특정된 트리거 간격에서 다수의 분류기(322A 내지 322C)에 콘텍스트 데이터를 송신할 수 있다. 특정된 트리거 포인트는 센서(206A 내지 206G)를 통해 얻은 센서 데이터가 사전 결정된 임계치를 초과할 때 발생할 수도 있다. 공통 콘텍스트 소스 트리거(320)는 분류기(322A 내지 322C) 내의 콘텍스트 감지 알고리즘의 전처리 및 트리거를 제공할 수 있다.
분류기(322A 내지 322C)는 물리적 활동 콘텍스트 분류기(322A), 단말 콘텍스트 분류기(322B) 및 제스처 인식 콘텍스트 분류기(322C)를 포함한다. 각각의 분류기(322A 내지 322C)는 센서(206A 내지 206G) 중 하나 이상에 대응하는 콘텍스트 감지 알고리즘을 실행하도록 구성될 수 있다. 이에 따라, 각각의 콘텍스트 알고리즘은 센서(206A 내지 206G)의 임의의 조합으로부터 콘텍스트 데이터를 분석할 수 있다. 예를 들어, 물리적 활동 콘텍스트 분류기(322A)는 가속도계(206F)를 통해 얻은 콘텍스트 데이터를 분석하기 위해 콘텍스트 감지 알고리즘을 실행하도록 구성될 수 있다. 다른 예로서, 제스처 인식 콘텍스트 분류기(322C)는 가속도계(206F) 및 자이로스코프(206E)를 통해 얻은 콘텍스트 데이터를 분석하기 위해 콘텍스트 감지 알고리즘을 실행하도록 구성될 수 있다. 이러한 콘텍스트 데이터의 분석에 기초하여, 분류기(322A 내지 322C)는 컴퓨팅 디바이스에 관한 콘텍스트 정보를 결정할 수 있다. 결정된 콘텍스트 정보는 이어서 대응 플러그인(310B 내지 310D)에 송신될 수 있다.
다양한 실시예에서, 센서 허브 엔진(202A)은 오디오 콘텍스트 소스 트리거(324)를 또한 포함한다. 오디오 콘텍스트 소스 트리거(324)는 오디오 콘텍스트 감지 알고리즘의 전처리 및 트리거링을 제공할 수 있다. 오디오 콘텍스트 소스 트리거(324)는 트리거 레벨 테이블을 포함할 수 있다. 트리거 레벨 테이블은 오디오 콘텍스트 감지 절차를 위한 트리거 포인트, 또는 트리거 간격을 결정하는데 사용될 수 있다. 트리거 포인트는 예를 들어 이력 오디오 분류기 결과, 컴퓨팅 디바이스를 소유하는 사람의 물리적 활동 결과, 현재 시간, 컴퓨팅 디바이스의 위치, 컴퓨팅 디바이스의 속도 및/또는 컴퓨팅 디바이스의 배터리 레벨에 기초하여 결정될 수 있다. 게다가, 오디오 콘텍스트 소스 트리거(324)는 물리적 활동 콘텍스트 분류기(322A), 단말 콘텍스트 분류기(322B) 또는 제스처 인식 콘텍스트 분류기(322C) 또는 이들의 임의의 조합에 의해 결정된 콘텍스트 정보에 의존할 수 있다. 오디오 콘텍스트 소스 트리거(324)는 변화하는 조건에 기초하여 트리거 포인트의 조정을 허용하는 피드백 메커니즘을 또한 포함할 수 있다.
센서 허브 엔진(202A)의 오디오 콘텍스트 소스 트리거(324)는 프로세스간 통신(IPC)(328)을 통해 DSP 엔진(202B)의 오디오 콘텍스트 분류기(326)와 통신할 수 있다. 오디오 콘텍스트 소스 트리거(324)로부터 수신된 트리거에 기초하여, 오디오 콘텍스트 분류기(326)는 마이크로폰(206H)으로부터 얻은 오디오 콘텍스트 데이터를 분석하기 위해 콘텍스트 감지 알고리즘을 실행하도록 구성될 수 있다. 오디오 콘텍스트 분류기(326)는 예를 들어 오디오 콘텍스트 소스 트리거(324)부터의 입력에 응답하여 콘텍스트 감지 알고리즘을 개시할 수 있다. 이러한 오디오 콘텍스트 데이터의 분석에 기초하여, 오디오 콘텍스트 분류기(326)는 컴퓨팅 디바이스에 관한 오디오 콘텍스트 정보를 결정할 수 있다. 예를 들어, 오디오 콘텍스트 분류기(326)는 컴퓨팅 디바이스의 환경 내의 음성, 음악, 군중, 정적, 기계적 사운드 또는 모션 사운드와 같은 컴퓨팅 디바이스의 오디오 콘텍스트를 분류하기 위해 캡처된 오디오 펄스-코드 변조(PCM) 데이터를 사용할 수 있다. 결정된 오디오 콘텍스트 정보는 이어서 오디오 분류기 콘텍스트 플러그인(310A)에 송신될 수 있다.
몇몇 실시예에서, DSP 엔진(202B)은 DSP 펌웨어(330), 재생 인터페이스(332) 및 레코딩 인터페이스(334)와 같은 다수의 구성요소를 또한 포함한다. 그러나, 몇몇 경우에, 재생 인터페이스(332)는 DSP 엔진(202B) 내에 포함되지 않을 수도 있다.
또한, 몇몇 실시예에서, 물리적 활동 콘텍스트 분류기(322A), 단말 콘텍스트 분류기(322B), 제스처 인식 콘텍스트 분류기(322D) 및 오디오 콘텍스트 분류기(326)는 무의미한 콘텍스트 데이터로부터 의미있는 콘텍스트 데이터를 구별하도록 구성된다. 분류기(322A 내지 322D, 326)는 이어서 무의미한 콘텍스트 데이터를 폐기하고, 단지 의미있는 콘텍스트 데이터에 기초하여 컴퓨팅 디바이스를 위한 콘텍스트 정보를 결정할 수 있다.
도 3의 블록도는 콘텍스트 감지 시스템(300)이 도 3에 도시된 모든 구성요소를 포함해야 함을 의미하는 것은 아니다. 또한, 콘텍스트 감지 시스템(300)은 특정 구현예의 상세에 따라, 도 3에 도시되지 않은 임의의 수의 부가의 구성요소를 포함할 수 있다. 콘텍스트 감지 시스템(300)은 상이한 배열을 또한 포함할 수 있다. 예를 들어, 마이크로폰(206H)은 또한 DSP 엔진(202B)과 직접 통신할 수 있다.
몇몇 실시예에서, 공통 콘텍스트 소스 트리거(320)는 이하에 나타낸 로직에 따라 동작한다.
S1: 물리적 센서의 샘플 레이트를 낮은 수, 즉, 20Hz로 설정;
S2: 가속도계 데이터에 기초하여 움직임 감지;
움직임이 지정된 상한 임계치를 소정 횟수 초과하면 {
단말 콘텍스트 트리거;
가속도계 샘플 레이트를 100Hz로 설정;
물리적 활동 콘텍스트 트리거;
제스쳐 콘텍스트가 등록되면{
자이로스코프 샘플 레이트를 100Hz로 설정;
제스쳐 인식 콘텍스트 트리거;
}
} 움직임이 지정된 하한 임계치아래로 소정 횟수 내려가면{
가속도계 샘플 레이트를 20Hz로 설정;
자이로스코프가 켜져있으면{
자이로스코프를 끔;
}
S1으로 진행;
} 아니면{
S2으로 진행;
}
또한, 몇몇 실시예에서, 오디오 콘텍스트 소스 트리거(324)는 이하에 나타낸 로직에 따라 동작한다.
S1: 오디오 콘텍스트 트리거가 센서 허브 엔진을 치면(hits in), 오디오 콘텍스트 트리거는 DSP 엔진을 깨우도록 IPC를 전송하여 오디오 콘텍스트 분류기를 개시;
S2: 다음 조건을 고려하여 다음 트리거 레벨 L을 결정;
(1) (지금이 밤인지 판단하기 위한) 시간;
(2) (결정적인지 판단하기 위한) 배터리;
(3) 타임 스탬프를 비교하여 물리적 활동 콘텍스트 분류기와 단말 콘텍스트 분류기에 대해 마지막으로 저장된 결과 확인. 결과가 지정된 제한 조건 보다 오래된 것이면 물리적 활동 콘텍스트 분류기와 단말 콘텍스트 분류기를 리프레쉬하고, 결과 획득;
(4) 시간, 배터리, 단말, 활동에 기초하여 다음 트리거 레벨 L 결정;
S3: 오디오 콘텍스트 분류기 결과의 히스토리 확인 및 다음 트리거 레벨을 L'으로 조정
그러나, 공통 콘텍스트 소스 트리거(320) 및 오디오 콘텍스트 소스 트리거(324)는 특정 구현예의 세부 사항에 따라, 상기 로직의 임의의 수의 변형예에 따라 동작할 수도 있다는 것이 이해되어야 한다.
도 4는 실시예에 따른, 컴퓨팅 디바이스를 위한 콘텍스트 감지를 제공하기 위한 방법(400)을 도시하는 프로세스 흐름도이다. 방법(400)은 컴퓨팅 디바이스 상에서 실행하는 임의의 수의 콘텍스트-인식 애플리케이션에 의해 요청될 수 있는 컴퓨팅 디바이스의 환경 및/또는 콘텍스트의 결정을 제공할 수 있다. 다양한 실시예에서, 방법(400)은 도 1과 관련하여 설명된 컴퓨팅 디바이스(100)와 같은 컴퓨팅 디바이스 내에 구현된다. 방법(400)은 도 3과 관련하여 설명된 콘텍스트 감지 시스템(300)과 같은 콘텍스트 감지 시스템을 포함하는 컴퓨팅 디바이스 내에 구현될 수 있다.
방법은 블록 402에서 시작되고, 여기서 다수의 센서를 통해 얻은 센서 데이터가 임계치를 초과하는지가 판정된다. 임계치는 전술된 바와 같이 사전 결정될 수도 있다. 임계치가 초과될 때, 지정된 트리거 포인트는 이하에 더 설명되는 바와 같이, 특정 구현예의 상세에 따라 조정될 수 있다. 센서는 예를 들어, 광 센서, 기압계, 근접도 센서, 자기력계, 자이로스코프, 가속도계 또는 오디오 센서, 예를 들어 마이크로폰을 포함할 수 있다.
블록 404에서, 센서 데이터가 임계치를 초과하면, 센서의 샘플링 레이트는 컴퓨팅 디바이스에 대응하는 콘텍스트 데이터를 얻도록 증가된다. 콘텍스트 데이터는 센서의 샘플링 레이트가 감소되기 전에 지정된 시간 기간 동안 수집될 수도 있다. 콘텍스트 데이터를 수집하기 위한 시간 기간은 적어도 부분적으로 컴퓨팅 디바이스의 전력 레벨 및 전력 소비에 기초하여 조정될 수 있다.
몇몇 실시예에서, 다수의 공통 콘텍스트 센서의 샘플링 레이트는 공통 콘텍스트 센서로부터 얻은 센서 데이터가 임계치를 초과할 때 콘텍스트 감지 시스템의 공통 콘텍스트 소스 트리거를 통해 증가된다. 또한, 몇몇 실시예에서, 오디오 센서의 샘플링 레이트는 오디오 센서로부터 얻은 센서 데이터가 임계치를 초과할 때 콘텍스트 감지 시스템의 오디오 분류기 트리거를 통해 증가된다.
다양한 실시예에서, 컴퓨팅 디바이스의 센서는 매우 낮은 전력 상태에서 계속 실행될 수 있다. 예를 들어, 마이크로폰은 트리거 간격에 의해 지정된 임계치를 초과하는 노이즈가 기록될 때까지 오디오 센서 데이터를 주기적으로 수집할 수 있는데, 이 시점에 마이크로폰의 샘플링 레이트는 증가된다.
블록 406에서, 콘텍스트 데이터는 컴퓨팅 디바이스의 콘텍스트를 분류하거나 컴퓨팅 디바이스에 관한 콘텍스트 정보를 결정하도록 분석된다. 콘텍스트는 컴퓨팅 디바이스의 프로세서에 제공될 수 있고, 프로세서는 임의의 다수의 콘텍스트-인식 애플리케이션에 콘텍스트를 송신할 수 있다. 또한, 콘텍스트 데이터는 컴퓨팅 디바이스의 환경의 변화를 결정하도록 분석될 수 있고, 프로세서는 환경의 변화를 통지받을 수 있다. 몇몇 실시예에서, 프로세서는 컴퓨팅 디바이스의 콘텍스트 또는 환경에 기초하여 임의의 수의 적합한 동작을 수행할 수 있다.
다양한 실시예에서, 콘텍스트 데이터는 의미있는 콘텍스트 데이터 및 무의미한 콘텍스트 데이터를 결정하도록 분석된다. 의미있는 콘텍스트 데이터는 전술된 바와 같이, 관심있는 것으로서 지정되어 있는 임의의 콘텍스트 데이터일 수 있고, 특정 컴퓨팅 디바이스 또는 컴퓨팅 디바이스의 특정 구현예에 따라 다양할 수 있다. 관심있는 것으로서 지정되어 있지 않은 콘텍스트 데이터는 무의미한 콘텍스트 데이터로서 식별될 수도 있다. 무의미한 콘텍스트 데이터는 폐기될 수 있고, 단지 의미있는 콘텍스트 데이터만이 컴퓨팅 디바이스의 콘텍스트를 분류하도록 분석될 수 있다.
또한, 다양한 실시예에서, 퓨전 알고리즘은 센서로부터 얻은 모든 콘텍스트 데이터를 조합하는 데 사용될 수 있다. 조합된 콘텍스트 데이터는 이어서 콘텍스트 감지 절차를 위한 적합한 트리거 포인트 또는 적합한 트리거 간격을 결정하도록 분석될 수 있다. 결정된 트리거 간격은 센서의 샘플링 레이트를 증가시키기 위해 특정 임계치에 대응할 수 있다. 몇몇 실시예에서, 컴퓨팅 디바이스의 전력 소비는 트리거 간격을 결정할 때 고려될 수도 있다. 예를 들어, 컴퓨팅 디바이스의 전력 소비가 지정된 임계치를 초과하면, 트리거 레벨 및 따라서 임계치는 증가될 수 있다. 이는 센서의 샘플링 레이트가 종종 증가되지 않기 때문에, 컴퓨팅 디바이스의 전력 소비의 감소를 허용할 수 있다. 더욱이, 몇몇 실시예에서, 컴퓨팅 디바이스의 전력 레벨이 지정된 하한 임계치 미만이면, 센서의 샘플링 레이트가 감소될 수 있고, 콘텍스트 감지 절차는 전력을 보존하는 것이 일시적으로 불능이 될 수도 있다.
또한, 몇몇 실시예에서, 트리거 간격은 컴퓨팅 디바이스의 콘텍스트에 기초하여 조정될 수 있다. 예를 들어, 컴퓨팅 디바이스가 이동하는 차량 내에 있는 것으로 판정되면, 트리거 간격 및 따라서 오디오 콘텍스트 데이터를 얻기 위한 임계치는 마이크로폰이 단지 매우 시끄러운 노이즈에 의해서만 활성화되도록 증가될 수도 있다.
도 4의 프로세스 흐름도는 방법(400)의 블록들이 임의의 특정 순서로 실행되어야 하는 것 또는 모든 블록들이 모든 경우에 포함되어야 하는 것을 지시하도록 의도된 것은 아니다. 또한, 임의의 수의 부가의 블록이 특정 구현예의 상세에 따라 방법(400) 내에 포함될 수도 있다.
도 5는 실시예에 따른, 콘텍스트 감지를 위한 코드를 저장하는 유형의 비일시적 컴퓨터-판독가능 매체(500)를 도시하는 블록도이다. 유형의 비일시적 컴퓨터-판독가능 매체(500)는 컴퓨터 버스(504)를 통해 프로세서(502)에 의해 액세스될 수도 있다. 더욱이, 유형의 비일시적 컴퓨터-판독가능 매체(500)는 본 명세서에 설명된 기술을 수행하도록 프로세서(502)에 지시하도록 구성된 코드를 포함할 수 있다.
본 명세서에 설명된 다양한 소프트웨어 구성요소는 도 5에 지시된 바와 같이 유형의 비일시적 컴퓨터-판독가능 매체(500) 상에 저장될 수 있다. 예를 들어, 콘텍스트 감지 트리거 모듈(506)은 임의의 수의 센서로부터 얻은 센서 데이터가 지정된 트리거 간격에 기초하여 규정된 임계치를 초과하는지를 판정하도록 구성될 수 있다. 센서 데이터가 임계치를 초과하면, 콘텍스트 감지 트리거 모듈(506)은 콘텍스트 데이터를 얻기 위해 센서의 샘플링 레이트를 증가시키도록 구성될 수 있다. 콘텍스트 감지 분류기 모듈(508)은 콘텍스트 데이터에 의해 표현된 콘텍스트를 분류하기 위해 센서로부터 얻은 콘텍스트 데이터를 분석하도록 구성될 수 있다. 게다가, 콘텍스트 퓨전 모듈(510)은 콘텍스트 감지 트리거 모듈(506)을 위한 트리거 간격 및 대응 임계치를 결정하기 위해 임의의 수의 센서로부터 얻은 콘텍스트 데이터를 분석하도록 구성될 수도 있다.
도 5의 블록도는 유형의 비일시적 컴퓨터-판독가능 매체(500)가 도 5에 도시된 모든 구성요소를 포함해야 하는 것을 지시하도록 의도된 것은 아니다. 또한, 유형의 비일시적 컴퓨터-판독가능 매체(500)는 특정 구현예의 상세에 따라 도 5에 도시되지 않은 임의의 수의 부가의 구성요소를 포함할 수도 있다.
예 1
콘텍스트 감지를 위한 방법이 본 명세서에 설명된다. 방법은 다수의 센서를 통해 얻은 센서 데이터가 사전 결정된 임계치를 초과하는지를 판정하고 센서 데이터가 임계치를 초과하면 컴퓨팅 디바이스에 대응하는 콘텍스트 데이터를 얻기 위해 임의의 센서의 샘플링 레이트를 증가시키는 단계를 포함한다. 방법은 컴퓨팅 디바이스의 콘텍스트를 분류하기 위해 콘텍스트 데이터를 분석하는 단계를 또한 포함한다.
방법은 컴퓨팅 디바이스의 프로세서에 콘텍스트 제공하는 단계를 포함할 수 있고, 프로세서는 임의의 다수의 콘텍스트-인식 애플리케이션에 콘텍스트를 송신하도록 구성된다. 방법은 컴퓨팅 디바이스의 환경의 변화를 결정하기 위해 콘텍스트 데이터를 분석하고 환경의 변화를 컴퓨팅 디바이스의 프로세서에 통지하는 단계를 또한 포함할 수 있다. 더욱이, 방법은 의미있는 콘텍스트 데이터 및 무의미한 콘텍스트 데이터를 결정하기 위해 콘텍스트 데이터를 분석하고, 무의미한 콘텍스트 데이터를 폐기하고, 컴퓨팅 디바이스의 콘텍스트를 분류하기 위해 의미있는 콘텍스트 데이터를 분석하는 단계를 포함할 수 있다.
방법은 센서를 통해 얻은 콘텍스트 데이터를 조합하고 임계치를 결정하기 위해 조합된 콘텍스트 데이터를 분석하는 단계를 포함할 수 있다. 방법은 컴퓨팅 디바이스의 전력 레벨을 결정하고 전력 레벨이 지정된 하한 임계치 미만이면 센서의 샘플링 레이트를 낮추는 단계를 또한 포함할 수 있다. 몇몇 실시예에서, 방법은 공통 콘텍스트 센서로부터 얻은 센서 데이터가 임계치를 초과할 때 콘텍스트 감지 시스템의 공통 콘텍스트 소스 트리거를 통해 다수의 공통 콘텍스트 센서의 샘플링 레이트를 증가시키는 단계를 포함한다. 게다가, 몇몇 실시예에서, 방법은 오디오 센서로부터 얻은 센서 데이터가 임계치를 초과할 때 콘텍스트 감지 시스템의 오디오 분류기 트리거를 통해 오디오 센서의 샘플링 레이트를 증가시키는 단계를 포함한다.
예 2
컴퓨팅 디바이스가 본 명세서에 설명된다. 컴퓨팅 디바이스는 센서를 통해 얻은 센서 데이터가 임계치를 초과할 때 다수의 센서의 샘플링 레이트를 증가시키고 센서를 통해 컴퓨팅 디바이스에 대응하는 콘텍스트 데이터를 얻도록 구성된 콘텍스트 감지 시스템을 포함한다. 콘텍스트 감지 시스템은 또한 컴퓨팅 디바이스에 대응하는 콘텍스트 정보를 결정하고 콘텍스트 정보를 컴퓨팅 디바이스의 중앙 처리 유닛(CPU)에 송신하기 위해 콘텍스트 데이터를 분석하도록 구성된다. 중앙 처리 유닛(CPU)은 콘텍스트 감지 시스템으로부터 콘텍스트 정보를 수용하고 콘텍스트 정보를 콘텍스트-인식 애플리케이션에 송신하도록 구성된다.
콘텍스트 감지 시스템은 또한 컴퓨팅 디바이스의 환경의 변화를 결정하고 환경의 변화를 CPU에 통지하기 위해 콘텍스트 데이터를 분석하도록 구성될 수 있다. 콘텍스트 감지 시스템의 공통 콘텍스트 소스 트리거는 공통 콘텍스트 센서로부터 얻은 센서 데이터가 임계치를 초과할 때 다수의 공통 콘텍스트 센서의 샘플링 레이트를 증가시키도록 구성될 수 있다. 콘텍스트 감지 시스템의 오디오 분류기 트리거는 오디오 콘텍스트 센서로부터 얻은 센서 데이터가 임계치를 초과할 때 오디오 콘텍스트 센서의 샘플링 레이트를 증가시키도록 구성될 수 있다.
몇몇 실시예에서, 콘텍스트 감지 시스템은 센서로부터 콘텍스트 데이터를 조합하고 조합된 콘텍스트 데이터를 분석하여 센서의 샘플링 레이트를 증가시키기 위한 임계치를 결정하도록 구성된다. 또한, 몇몇 실시예에서, 콘텍스트 감지 시스템은 의미있는 콘텍스트 데이터 및 무의미한 콘텍스트 데이터를 결정하기 위해 콘텍스트 데이터를 분석하고, 무의미한 콘텍스트 데이터를 폐기하고, 의미있는 콘텍스트 데이터를 분석하여 컴퓨팅 디바이스에 대응하는 콘텍스트 정보를 결정하도록 구성된다.
콘텍스트 감지 시스템은 컴퓨팅 디바이스의 전력 레벨을 결정하고 전력 레벨이 지정된 하한 미만이면 샘플링 레이트를 감소시키도록 구성될 수 있다. 콘텍스트 감지 시스템은 또한 컴퓨팅 디바이스의 전력 소비에 기초하여 임계치를 결정하고 전력 소비가 지정된 상한을 초과하면 임계치를 증가시키도록 구성될 수 있다. 게다가, 콘텍스트 감지 시스템은 CPU를 통해 콘텍스트-인식 애플리케이션으로부터 콘텍스트 정보를 위한 요청을 수신하고, 콘텍스트 정보를 결정하고, 콘텍스트 정보를 CPU에 반환하도록 구성될 수 있다. CPU는 콘텍스트 정보를 콘텍스트-인식 애플리케이션에 송신하도록 구성된다.
예 3
적어도 하나의 머신 판독가능 매체가 본 명세서에 설명된다. 적어도 하나의 머신 판독가능 매체는, 컴퓨팅 디바이스 상에서 실행되는 것에 응답하여, 컴퓨팅 디바이스로 하여금 센서를 통해 얻은 센서 데이터가 임계치를 초과할 때 다수의 센서의 샘플링 레이트를 증가시키게 하고, 센서를 통해 컴퓨팅 디바이스에 대응하는 콘텍스트 데이터를 얻고, 컴퓨팅 디바이스의 콘텍스트를 분류하기 위해 콘텍스트 데이터를 분석하게 하는 그 내부에 저장된 인스트럭션을 갖는다.
인스트럭션은 또한 컴퓨팅 디바이스가 컴퓨팅 디바이스의 중앙 처리 유닛(CPU)에 콘텍스트 송신하게 하고, 여기서 CPU는 CPU 상에서 실행하는 임의의 다수의 콘텍스트-인식 애플리케이션에 콘텍스트를 송신하도록 구성된다. 또한, 몇몇 실시예에서, 임계치는 컴퓨팅 디바이스의 전력 소비에 기초하여 결정되고, 임계치는 컴퓨팅 디바이스의 전력 소비가 지정된 상한을 초과하면 증가된다.
전술된 예의 상세들은 하나 이상의 실시예의 임의의 위치에 사용될 수도 있다는 것이 이해되어야 한다. 예를 들어, 전술된 컴퓨팅 디바이스의 모든 선택적 특징은 또한 본 명세서에 설명된 방법 또는 컴퓨터-판독가능 매체와 관련하여 구현될 수 있다. 더욱이, 흐름도 및/또는 상태도가 실시예를 설명하기 위해 본 명세서에 사용되어 있을 수도 있지만, 본 발명은 이들 도면 또는 본 명세서의 대응 설명에 한정되는 것은 아니다. 예를 들어, 흐름은 각각의 예시된 박스 또는 상태를 통해 또는 본 명세서에 예시되고 설명된 바와 정확히 동일한 순서로 이동할 필요는 없다.
본 발명은 본 명세서에 열거된 특정 상세에 한정되는 것은 아니다. 실제로, 본 개시 내용의 이익을 갖는 당 기술 분야의 숙련자들은 상기 설명 및 도면으로부터의 다수의 다른 변형이 본 발명의 범주 내에서 행해질 수 있다는 것을 이해할 수 있을 것이다. 이에 따라, 본 발명의 범주를 규정하는 것은 그에 대한 임의의 보정을 포함하는 이하의 청구범위이다.
100: 컴퓨팅 디바이스 102: CPU
104: 메모리 디바이스 108: I/O 디바이스 인터페이스
110: I/O 디바이스 112: 디스플레이 인터페이스
114: 디스플레이 디바이스 118: 네트워크
120: 센서 122: 저장 디바이스
124: 콘텍스트-인식 애플리케이션 126: 센서 허브 엔진
128: DPS 엔진 202A: 센서 허브 엔진
202B: DSP 엔진 204: 프로세서

Claims (20)

  1. 콘텍스트 감지(context sensing)를 위한 방법에 있어서,
    복수의 센서를 통해 얻은 센서 데이터가 사전 결정된 임계치를 초과하는지를 판정하는 단계와,
    상기 센서 데이터가 상기 임계치를 초과하는 경우, 상기 복수의 센서들 중 임의의 센서의 샘플링 레이트를 증가시켜 컴퓨팅 디바이스에 대응하는 콘텍스트 데이터를 얻는 단계와,
    상기 콘텍스트 데이터를 분석하여 상기 컴퓨팅 디바이스의 콘텍스트를 분류하는 단계를 포함하는
    콘텍스트 감지 방법.
  2. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스의 프로세서에 상기 콘텍스트를 제공하는 단계를 포함하되,
    상기 프로세서는 복수의 콘텍스트-인식 애플리케이션 중 임의의 애플리케이션에 상기 콘텍스트를 송신하도록 구성되는
    콘텍스트 감지 방법.
  3. 제 1 항에 있어서,
    상기 콘텍스트 데이터를 분석하여 상기 컴퓨팅 디바이스의 환경의 변화를 판정하는 단계와,
    상기 환경의 변화를 상기 컴퓨팅 디바이스의 프로세서에 통지하는 단계를 포함하는
    콘텍스트 감지 방법.
  4. 제 1 항에 있어서,
    상기 콘텍스트 데이터를 분석하여 의미있는 콘텍스트 데이터 및 무의미한 콘텍스트 데이터를 판정하는 단계와,
    상기 무의미한 콘텍스트 데이터를 폐기하는 단계와,
    상기 의미있는 콘텍스트 데이터를 분석하여 상기 컴퓨팅 디바이스의 상기 콘텍스트를 분류하는 단계를 포함하는
    콘텍스트 감지 방법.
  5. 제 1 항에 있어서,
    상기 복수의 센서를 통해 얻은 상기 콘텍스트 데이터를 조합하는 단계와,
    상기 조합된 콘텍스트 데이터를 분석하여 상기 임계치를 결정하는 단계를 포함하는
    콘텍스트 감지 방법.
  6. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스의 전력 레벨을 판정하는 단계와,
    상기 전력 레벨이 지정된 하한 임계치 미만인 경우 상기 복수의 센서의 샘플링 레이트를 낮추는 단계를 포함하는
    콘텍스트 감지 방법.
  7. 제 1 항에 있어서,
    복수의 공통 콘텍스트 센서로부터 얻은 센서 데이터가 상기 임계치를 초과하는 경우 콘텍스트 감지 시스템의 공통 콘텍스트 소스 트리거를 통해 상기 복수의 공통 콘텍스트 센서의 샘플링 레이트를 증가시키는 단계를 포함하는
    콘텍스트 감지 방법.
  8. 제 1 항에 있어서,
    오디오 센서로부터 얻은 센서 데이터가 상기 임계치를 초과하는 경우 콘텍스트 감지 시스템의 오디오 분류기 트리거를 통해 상기 오디오 센서의 샘플링 레이트를 증가시키는 단계를 포함하는
    콘텍스트 감지 방법.
  9. 컴퓨팅 디바이스에 있어서,
    콘텍스트 감지 시스템과,
    중앙 처리 유닛(CPU)을 포함하되,
    상기 콘텍스트 감지 시스템은
    복수의 센서를 통해 얻은 센서 데이터가 임계치를 초과하는 경우 상기 복수의 센서의 샘플링 레이트를 증가시키고,
    상기 복수의 센서를 통해 상기 컴퓨팅 디바이스에 대응하는 콘텍스트 데이터를 얻고,
    상기 콘텍스트 데이터를 분석하여 상기 컴퓨팅 디바이스에 대응하는 콘텍스트 정보를 결정하고,
    상기 컴퓨팅 디바이스의 상기 중앙 처리 유닛(CPU)에 상기 콘텍스트 정보를 송신하도록 구성되고
    상기 중앙 처리 유닛은
    상기 콘텍스트 감지 시스템으로부터 상기 콘텍스트 정보를 수용하고,
    상기 콘텍스트 정보를 콘텍스트-인식 애플리케이션에 송신하도록 구성되는
    컴퓨팅 디바이스.
  10. 제 9 항에 있어서,
    상기 콘텍스트 감지 시스템은
    상기 콘텍스트 데이터를 분석하여 상기 컴퓨팅 디바이스의 환경의 변화를 판정하고,
    상기 환경의 변화를 상기 CPU에 통지하도록 구성되는
    컴퓨팅 디바이스.
  11. 제 9 항에 있어서,
    상기 콘텍스트 감지 시스템의 공통 콘텍스트 소스 트리거는 복수의 공통 콘텍스트 센서로부터 얻은 센서 데이터가 상기 임계치를 초과하는 경우 상기 복수의 공통 콘텍스트 센서의 샘플링 레이트를 증가시키도록 구성되는
    컴퓨팅 디바이스.

  12. 제 9 항에 있어서,
    상기 콘텍스트 감지 시스템의 오디오 분류기 트리거는 오디오 콘텍스트 센서로부터 얻은 센서 데이터가 상기 임계치를 초과하는 경우 상기 오디오 콘텍스트 센서의 샘플링 레이트를 증가시키도록 구성되는
    컴퓨팅 디바이스.
  13. 제 9 항에 있어서,
    상기 콘텍스트 감지 시스템은
    상기 복수의 센서로부터의 상기 콘텍스트 데이터를 조합하고,
    상기 조합된 콘텍스트 데이터를 분석하여 상기 복수의 센서의 샘플링 레이트를 증가시키기 위한 임계치를 결정하도록 구성되는
    컴퓨팅 디바이스.
  14. 제 9 항에 있어서,
    상기 콘텍스트 감지 시스템은
    상기 콘텍스트 데이터를 분석하여 의미있는 콘텍스트 데이터 및 무의미한 콘텍스트 데이터를 판정하고,
    상기 무의미한 콘텍스트 데이터를 폐기하고,
    의미있는 콘텍스트 데이터를 분석하여 상기 컴퓨팅 디바이스에 대응하는 상기 콘텍스트 정보를 결정하도록 구성되는
    컴퓨팅 디바이스.
  15. 제 9 항에 있어서,
    상기 콘텍스트 감지 시스템은
    상기 컴퓨팅 디바이스의 전력 레벨을 판정하고,
    상기 전력 레벨이 지정된 하한 임계치 미만인 경우 상기 복수의 센서의 샘플링 레이트를 감소시키도록 구성되는
    컴퓨팅 디바이스.
  16. 제 9 항에 있어서,
    상기 콘텍스트 감지 시스템은
    상기 컴퓨팅 디바이스의 전력 소비에 기초하여 임계치를 결정하고,
    상기 전력 소비가 지정된 상한 임계치를 초과하는 경우 임계치를 증가시키도록 구성되는
    컴퓨팅 디바이스.
  17. 제 9 항에 있어서,
    상기 콘텍스트 감지 시스템은
    상기 CPU를 통해 콘텍스트-인식 애플리케이션으로부터 콘텍스트 정보에 대한 요청을 수신하고,
    상기 콘텍스트 정보를 결정하고,
    상기 콘텍스트 정보를 상기 CPU에 반환하도록 구성되고,
    상기 CPU는 상기 콘텍스트 정보를 상기 콘텍스트-인식 애플리케이션에 송신하도록 구성되는
    컴퓨팅 디바이스.
  18. 내부에 인스트럭션이 저장된 적어도 하나의 머신 판독가능 매체에 있어서,
    상기 인스트럭션은 컴퓨팅 디바이스 상에서 실행되어 상기 컴퓨팅 디바이스로 하여금
    복수의 센서를 통해 얻은 센서 데이터가 임계치를 초과하는 경우 상기 복수의 센서의 샘플링 레이트를 증가시키게 하고,
    상기 복수의 센서를 통해 상기 컴퓨팅 디바이스에 대응하는 콘텍스트 데이터를 얻게 하고,
    상기 콘텍스트 데이터를 분석하여 상기 컴퓨팅 디바이스의 콘텍스트를 분류하게 하는
    적어도 하나의 머신 판독가능 매체.
  19. 제 18 항에 있어서,
    상기 인스트럭션은 상기 컴퓨팅 디바이스로 하여금 상기 컴퓨팅 디바이스의 중앙 처리 유닛(CPU)에 상기 콘텍스트를 송신하게 하고,
    상기 CPU는 상기 CPU 상에서 실행되는 복수의 콘텍스트-인식 애플리케이션 중 임의의 애플리케이션에 상기 콘텍스트를 송신하도록 구성되는
    적어도 하나의 머신 판독가능 매체.
  20. 제 18 항에 있어서,
    상기 임계치는 상기 컴퓨팅 디바이스의 전력 소비에 기초하여 결정되고,
    상기 임계치는 상기 컴퓨팅 디바이스의 전력 소비가 지정된 상한 임계치를 초과하는 경우 증가되는
    적어도 하나의 머신 판독가능 매체.
KR1020157012699A 2012-12-11 2012-12-11 콘텍스트 감지를 위한 방법 KR20150084849A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020157012699A KR20150084849A (ko) 2012-12-11 2012-12-11 콘텍스트 감지를 위한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020157012699A KR20150084849A (ko) 2012-12-11 2012-12-11 콘텍스트 감지를 위한 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017453A Division KR101603028B1 (ko) 2012-12-11 2012-12-11 콘텍스트 감지를 위한 방법

Publications (1)

Publication Number Publication Date
KR20150084849A true KR20150084849A (ko) 2015-07-22

Family

ID=53874602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157012699A KR20150084849A (ko) 2012-12-11 2012-12-11 콘텍스트 감지를 위한 방법

Country Status (1)

Country Link
KR (1) KR20150084849A (ko)

Similar Documents

Publication Publication Date Title
KR101603028B1 (ko) 콘텍스트 감지를 위한 방법
KR102488558B1 (ko) 기계 학습 기능을 갖는 저전력 앰비언트 컴퓨팅 시스템
US9996109B2 (en) Identifying gestures using motion data
JP6363239B2 (ja) パワー効率のよいコンテキストアウェア推定のための適応型センササンプリング
US10416740B2 (en) Upsampling sensors to auto-detect a fitness activity
KR102018152B1 (ko) 항상-온-항상-청취 음성 인식 시스템을 위한 위치 인식 전력 관리 스킴
US9235278B1 (en) Machine-learning based tap detection
JP5707598B2 (ja) コンテキストアウェアアプリケーション関連の機能をセンサハブにアウトソースするメカニズム
US9726498B2 (en) Combining monitoring sensor measurements and system signals to determine device context
KR101437757B1 (ko) 콘텍스트 감지 및 융합을 위한 방법, 장치 및 컴퓨터 프로그램제품
EP3201719B1 (en) Intelligent device wakeup
KR101531449B1 (ko) 센서의 호출을 제어하기 위한 방법 및 장치
Raffa et al. Don't slow me down: Bringing energy efficiency to continuous gesture recognition
EP3105663A1 (en) Detecting transitions between physical activity
KR20130092618A (ko) 다수의 센서들을 수반하는 프로세싱
KR102230566B1 (ko) 상태 기반 위치 모니터링
US20170344123A1 (en) Recognition of Pickup and Glance Gestures on Mobile Devices
Han et al. The Case for Onloading Continuous {High-Datarate} Perception to the Phone
US11508395B1 (en) Intelligent selection of audio signatures based upon contextual information to perform management actions
KR20150084849A (ko) 콘텍스트 감지를 위한 방법
JPWO2018020792A1 (ja) 情報処理装置、情報処理方法及びプログラム
KR20210123901A (ko) 애플리케이션 기능들을 센서 허브로 전달하기 위한 방법
EP4285599A1 (en) Playing media content in response to triggers

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Withdrawal due to no request for examination