KR101573196B1 - 모바일 디바이스에서의 우도 함수 값들의 결합을 사용하여 사용자 활동을 분류하기 위한 시스템들, 방법들 및 장치들 - Google Patents

모바일 디바이스에서의 우도 함수 값들의 결합을 사용하여 사용자 활동을 분류하기 위한 시스템들, 방법들 및 장치들 Download PDF

Info

Publication number
KR101573196B1
KR101573196B1 KR1020137028951A KR20137028951A KR101573196B1 KR 101573196 B1 KR101573196 B1 KR 101573196B1 KR 1020137028951 A KR1020137028951 A KR 1020137028951A KR 20137028951 A KR20137028951 A KR 20137028951A KR 101573196 B1 KR101573196 B1 KR 101573196B1
Authority
KR
South Korea
Prior art keywords
activity
mobile device
likelihood function
current
user
Prior art date
Application number
KR1020137028951A
Other languages
English (en)
Other versions
KR20130138321A (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 KR20130138321A publication Critical patent/KR20130138321A/ko
Application granted granted Critical
Publication of KR101573196B1 publication Critical patent/KR101573196B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1123Discriminating type of movement, e.g. walking or running
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • G06V40/25Recognition of walking or running movements, e.g. gait recognition
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C10/00Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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/725Cordless telephones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • 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

Abstract

모바일 디바이스의 하나 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초하여 둘 이상의 과거 에포크들에 대한 활동 분류에 대하여 활동 우도 함수 값들을 결정하는데 사용될 수 있는 컴포넌트들, 방법들 및 장치들이 제공된다. 예를 들어, 방법은 복수의 활동 분류들 각각에 대하여, 둘 이상의 과거 에포크들에 대한 복수의 활동 분류들 각각에 대하여 활동 우도 함수 값들을 결정하는 단계를 포함할 수 있다. 활동 우도 함수 값들은 모바일 디바이스의 하나 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초한다. 방법은 또한, 현재 에포크에서 활동 분류에 대하여 우도 함수를 결정하기 위해서 활동 우도 함수 값들을 결합하는 단계를 포함할 수 있다. 방법은 또한, 현재 에포크에서 활동 분류에 대하여 결정된 우도 함수들에 적어도 부분적으로 기초하여 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 활동 분류들 중 하나로 추론하는 단계를 포함할 수 있다.

Description

모바일 디바이스에서의 우도 함수 값들의 결합을 사용하여 사용자 활동을 분류하기 위한 시스템들, 방법들 및 장치들{SYSTEMS, METHODS, AND APPARATUSES FOR CLASSIFYING USER ACTIVITY USING COMBINING OF LIKELIHOOD FUNCTION VALUES IN A MOBILE DEVICE}
본 명세서에서 개시되는 대상은 모바일 디바이스에서의 사용자 활동 분류에 관한 것이다.
스마트폰들과 같은 많은 모바일 통신 디바이스들은 디바이스의 모션을 검출하는데 사용될 수 있는 가속도계와 같은 관성 센서를 포함한다. 이러한 움직임들은 사용자에게 정보를 디스플레이할 때, 예를 들어 초상화 또는 풍경 모드에서 디스플레이가 적절히 배향될 수 있도록 디바이스의 방향을 결정하는데 유용할 수 있다. 다른 예에서, 스마트폰에 의해 수행되는 게임 애플리케이션은 게임의 특징이 제어될 수 있도록 하나 또는 둘 이상의 가속도계들에 의해 검출되는 움직임들에 의존할 수 있다. 다른 예들에서, 가속도계에 의해 검출되는 제스처 움직임은 사용자가 맵을 스크롤하거나, 메뉴를 탐색하거나, 또는 디바이스의 동작의 다른 양상들을 제어하게 할 수 있다.
단순한 사용자 인터페이스 작업들을 돕는데 유용하긴 하지만, 모바일 디바이스 사용자들에게 더 정교하고 의미 있는 도움을 제공하기 위해서 가속도계의 출력 신호들 또는 "트레이스(trace)들"을 이용하는 것이 가능하지 않았다. 예를 들어, 사용자가 격렬한 활동에 관여된다는 것이 검출될 수 있다면, 사용자를 산만하게 하지 않도록 착신 전화 호들을 즉시 음성 메시지로 안내하는 것이 유용할 수 있다. 다른 예에서, 모바일 디바이스가 사용자의 지갑이나 또는 주머니 안에 있다고 검출될 수 있다면, 배터리 자원들을 낭비하지 않도록 디스플레이를 디스에이블하는 것이 유리할 수 있다.
걷기, 달리기, 자전거 타기 등과 같은 사용자 활동을 추론하려고 시도할 때, 관성 센서로부터 신호를 획득하고, 획득된 신호로부터 특징들을 추출하며, 활동 종류를 추론하는데 다양한 기법들이 사용될 수 있다. 그러나, 사용자의 활동 종류를 추정할 때, 사용자의 활동의 정확한 추정을 수행하는 것과 적절한 시기에 추정을 수행하는 것 사이에 트레이드-오프가 이루어질 수 있다. 일반적으로, 적절한 추정들은 이용가능하지만, 오직 프로세싱 지연 이후에만 이용가능할 수 있다.
미국 특허출원공개공보 제2007/0006098호
특정 구현에서, 방법은 복수의 활동 분류들 각각에 대하여, 둘 또는 셋 이상의 과거 에포크들에 대한 복수의 활동 분류들 각각에 대하여 활동 우도 함수 값들을 결정하는 단계를 포함한다. 활동 우도 함수 값들은 모바일 디바이스의 하나 또는 둘 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초한다. 방법은 또한, 현재 에포크에서 활동 분류에 대하여 우도 함수를 결정하기 위해서 활동 우도 함수 값들을 결합하는 단계를 포함한다. 방법은 또한, 현재 에포크에서 활동 분류에 대하여 결정된 우도 함수들에 적어도 부분적으로 기초하여 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 활동 분류들 중 하나로 추론하는 단계를 포함한다.
일 구현에서, 장치는 복수의 활동 분류들 각각에 대하여, 모바일 디바이스의 하나 또는 둘 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초하여 둘 또는 셋 이상의 과거 에포크들에 대한 상기 복수의 활동 분류들 각각에 대하여 활동 우도 함수 값들을 결정하기 위한 수단을 포함한다. 장치는 또한, 현재 에포크에서 활동 분류에 대하여 우도 함수를 결정하기 위해서 활동 우도 함수 값들을 결합하기 위한 수단 및 현재 에포크에서 활동 분류에 대하여 결정된 우도 함수들에 적어도 부분적으로 기초하여 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 복수의 활동 분류들 중 하나로 추론하기 위한 수단을 포함한다.
일 구현에서, 물품은 복수의 활동 분류들 각각에 대하여, 모바일 디바이스의 하나 또는 둘 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초하여 둘 또는 셋 이상의 과거 에포크들에 대한 활동 분류에 대하여 활동 우도 함수 값들을 결정하기 위해서 모바일 디바이스의 프로세서에 의해 실행가능한 기계 판독가능한 명령들이 저장된 비-일시적 저장 매체를 포함한다. 프로세서는 또한, 현재 에포크에서 활동 분류에 대하여 우도 함수를 결정하기 위해서 활동 우도 함수 값들을 결합하고, 현재 에포크에서 활동 분류들에 대하여 결정된 우도 함수들에 적어도 부분적으로 기초하여 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 활동 분류들 중 하나로 추론한다.
일 구현에서, 모바일 디바이스는 하나 또는 둘 이상의 센서들, 및 복수의 활동 분류들 각각에 대하여, 하나 또는 둘 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초하여 둘 또는 셋 이상의 과거 에포크들에 대한 활동 분류에 대하여 활동 우도 함수 값들을 결정하기 위한 프로세서를 포함한다. 프로세서는 추가로, 현재 에포크에서 활동 분류에 대하여 우도 함수를 결정하기 위해서 활동 우도 함수 값들을 결합하고, 현재 에포크에서 활동 분류들에 대하여 결정된 우도 함수들에 적어도 부분적으로 기초하여 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 활동 분류들 중 하나로 추론할 수 있다.
다음의 도면들을 참조하여 한정적이지 않으며 총망라한 것은 아닌 양상들이 설명되며, 여기서 동일한 참조 번호들은 다양한 도면들 전반에서 동일한 부분들을 지칭한다.
도 1은 일 구현에 따라 모바일 디바이스에 적용될 수 있는 예시적인 좌표 시스템이다.
도 2는 일 구현에 따라 모바일 디바이스에서 사용자의 활동 종류를 추론하기 위한 프로세스의 도면이다.
도 3은 도 2의 시간적 결합기의 추가적인 세부사항들을 도시하는 도면이다.
도 4는 일 구현에 따른 최대 우도 함수 결합기에 대한 관측 시간의 함수로서 신뢰도 측정을 도시하는 그래프이다.
도 5는 일 구현에 따른 모바일 디바이스와 연관된 예시적인 컴퓨팅 환경을 도시하는 개략도이다.
도 6은 일 구현에 따라 시간적 결합을 사용하여 사용자 활동을 분류하는 프로세스를 도시하는 흐름도이다.
특정 구현에서, 분류기는 모바일 디바이스 상의 관성 센서들로부터 수신된 신호들에 적어도 부분적으로 기초하여 모바일 디바이스 사용자의 활동 종류를 추론할 수 있다. 특정 예들에서, 하나 또는 둘 이상의 관성 센서들로부터의 신호들은 특정 활동 종류를 나타내거나 또는 암시할 수 있는 "특징들"을 컴퓨팅하거나 또는 추출하도록 프로세싱될 수 있다. 이후, 관성 센서들로부터 컴퓨팅된 특징들은 현재 활동을 추정하기 위한 활동 추정기에 적용될 수 있다. 주어진 시간에서의 활동 추정기의 출력 상태들은 이전의 출력 상태들과 결합되고, 활동 분류의 추론의 신뢰 인자를 증가시키기 위해서 필터링될 수 있다.
분류기 레이턴시는 사용자 활동 종류의 추론이 분류기에 의해 생성되기 이전에 관측된 지속적인 센서 출력 상태의 총 듀레이션으로서 정의될 수 있다. 더 높은 레이턴시는 예를 들어, 바람직할 수 있는 필터링의 결과로서 활동 분류에서 더 높은 신뢰 인자를 초래할 수 있다. 그러나, 활동 종류에 대한 결정을 형식화하기 이전에 지연을 발생시키는 것은 활동 분류기에 의해 생성된 결정 값을 감소시킬 수 있다. 예를 들어, 사용자가 한 활동 종류로부터 다른 활동 종류로 전이하면, 분류기는 레이턴시 기간이 경과할 때까지 더 이른 활동 분류를 계속 제공할 수 있다. 이러한 레이턴시들은 부정확성들을 초래할 수 있는데, 이는 사용자의 활동 상태가 레이턴시보다 더 빠른 속도로 변화하는 경우에 특히 불리할 수 있다. 이 경우, 활동 분류기는 단기 활동을 완전히 간과할 수 있다.
특정 구현들은 상이한 레이턴시 요건들을 가지는 활동 분류들을 수용할 수 있다. 일례에서, 분류기 정확도가 아마 동적 응답보다 더 중요할 수 있기 때문에, 칼로리-번 카운터(calorie-burn counter)를 지원하는 활동 분류는 대략 분 단위의 레이턴시를 허용할 수 있다. 칼로리-번 카운팅 애플리케이션의 경우, 예를 들어, 1분 보고 지연을 가지고 사용자가 30분 동안 지속적으로 운동하였음을 높은 신뢰 레벨로 추정하는 것은 적절하고 바람직한 결과를 표현할 수 있다. 이에 반해, 각각 1초 보고 지연을 가지고 사용자가 총 15분 동안 달리고 걷기를 교대로 하였음을 아마도 낮은 신뢰 레벨로 추정하는 것은 유용한 정산(accounting)을 나타내지 않을 수 있다. 다른 예에서, 게임 애플리케이션을 지원하는 활동 분류는 대략 초 단위의 또는 심지어 수 초 단위의 레이턴시들로 만족스럽게 수행할 수 있지만, 더 낮은 신뢰 레벨들을 이용하는 활동 분류들을 허용할 수 있다.
따라서, 구현들에서, 활동 분류기는 다양한 레이턴시 세팅들을 위해서 구성될 수 있다. 더욱이, 활동 분류기가 상이한 레이턴시들을 가지는 동시적 분류들을 생성하는 것이 유리할 수 있다. 일 구현에서, 칼로리-번-카운팅 애플리케이션이 게임 애플리케이션과 병렬로 모바일 디바이스 상에서 동작할 수 있다면, 애플리케이션들의 다양한 레이턴시 및 정확도 요구들을 수용하기 위한 단순한 솔루션은 분류기의 다수의 인스턴스 생성(instantiation)들을 단순히 실행하기 위한 것일 수 있고, 각각의 인스턴스 생성은 특정 레이턴시 세팅 내에서 동작한다. 본 명세서에 설명되는 구현들은 이러한 방식보다 이점들을 가질 수 있다.
특정 구현에서, 분류기는 모바일 디바이스와 공동 위치된 사용자가 복수의 활동 분류들 중 하나에 관여됨을 추론할 수 있다. 이 맥락에서, 사용자는 몇 가지만 예를 들면, 모바일 디바이스를 착용하고, 모바일 디바이스를 자신의 주머니에 두고, 모바일 디바이스에 직접 접촉하는 것과 같이 모바일 디바이스를 보유함으로써, 모바일 디바이스와 공동 위치될 수 있다. 일 구현에서, "우도 함수"는 사용자가 복수의 활동 종류들 중 하나에 관여되는 우도로부터 도출되거나 또는 그 우도에 속하는 로그-우도 또는 다른 표현을 설명할 수 있다. 활동 분류들의 하나 또는 둘 이상에 대한 우도 함수 값들은 모바일 디바이스 상의 센서들로부터 수신된 신호들을 프로세싱함으로써 순차적 에포크들에 대하여 결정될 수 있다. 이후, 특정 활동 분류에 대한 다수의 에포크들 상에서 추론된 우도 함수 값들은 결합되고, 필터링될 수 있으며, 활동 분류는 결합된 우도 함수 값들에 적어도 부분적으로 기초하여 추론될 수 있다. 특정 구현들에서, 우도 함수 값들은 몇 가지만 예를 들면, 시간적 보우팅(Temporal Voting), 최대 우도 함수(Maximum Likelihood function), 최대 선험(Maximum A-Priori), 유한 임펄스 응답(Finite Impulse Response) 및 무한 임펄스 응답(Infinite Impulse Response)과 같은 다양한 필터링 기법들을 사용하여 추론될 수 있다.
일 구현에서, 분류기는 특정 애플리케이션들에 적합하게 하기 위해서 레이턴시를 적응시키도록 구성될 수 있다. 일례에서, 30-초 레이턴시를 포함하는 분류기는 10-초 레이턴시를 가지고 활동 종류를 추정하는 것으로 전환하도록 구성될 수 있다. 구현들에서, 이것은 레이턴시 요건과는 대조적으로, 신뢰 요건 하에서 동작하는 애플리케이션들에 대하여 특히 유용할 수 있다.
도 1은 일 구현에 따라 모바일 디바이스에 적용될 수 있는 예시적인 좌표 시스템(100)이다. 도 1에서, 예를 들어, 일 구현에 따라 가속도계 출력 신호들을 사용하여 모바일 디바이스(102)와 같은 모바일 디바이스의 사용자와 관련하여 활동 분류의 추론을 용이하게 하거나 또는 지원하기 위해서 전체적으로 또는 부분적으로 좌표 시스템(100)이 사용될 수 있다. 그러나 가속도계는 사용자 활동이 분류될 수 있는 관성 센서의 단지 일례일 뿐이며, 청구 대상은 이 점에 대하여 한정되는 것이 아니라는 것이 이해되어야 한다. 관성 센서들의 예들은 자이로스코프들, 자력계들, 압전 디바이스들 등을 포함할 수 있다. 다른 구현들에서, 몇 가지만 예를 들면, 압력 센서들, 주변 광 센서들, 이미징 센서들, 온도 센서들과 같은 다른 타입들의 센서들이 모바일 디바이스와 공동 위치된 사용자의 활동 종류를 추론하도록 프로세싱될 수 있는 출력 신호들을 생성할 수 있다.
도시된 바와 같이, 좌표 시스템(100)은, 예를 들어, 3차원 데카르트 좌표 시스템을 포함할 수 있지만, 청구 대상이 그렇게 한정되는 것은 아니다. 이러한 도시된 예에서, 모바일 디바이스(102)의 모션은, 예를 들어, 적어도 부분적으로, 예시적인 좌표 시스템(100)의 원점(104)에 대한 3개의 선형 차원들 또는 X 축, Y 축 및 Z 축을 참조하여 검출 또는 측정될 수 있는 가속도 진동을 표현한다. 예시적인 좌표 시스템(100)은 모바일 디바이스(102)의 바디와 정렬될 수 있거나 또는 정렬되지 않을 수 있다는 것이 인식되어야 한다. 특정 구현들에서, 원기둥 또는 구면 좌표 시스템과 같은 비-데카르트 좌표 시스템이 사용될 수 있거나 또는 상호 직교하는 차원들을 정의할 수 있는 임의의 다른 좌표 시스템이 사용될 수 있다는 점이 또한 주목되어야 한다.
도 1에 또한 도시된 바와 같이, 예를 들어, 중력에 대하여 디바이스의 방향이 변경될 때, 적어도 부분적으로, 하나 또는 2개의 차원들을 참조하여 모바일 디바이스(102)의 회전 모션이 검출 또는 측정될 수 있다. 일 구현에서, 모바일 디바이스(102)의 회전 모션은 좌표 (φ, τ)에 관하여 검출 또는 측정될 수 있으며, 여기서 파이(φ)는 일반적으로 106에서 화살표로 도시된 바와 같이 X 축을 중심으로 한 피치 또는 회전을 나타내고, 타우(τ)는 일반적으로 화살표(108)로 도시된 바와 같이 Z 축을 중심으로 한 롤(roll) 또는 회전을 나타낸다. 따라서, 일 구현에서, 3차원 가속도계는 적어도 부분적으로, 예를 들어, 가속도 진동의 레벨뿐만 아니라 롤 크기 또는 피치 크기에 관하여 중력에 대한 변화를 검출 또는 측정할 수 있고, 이에 따라, 가관측성(observability)의 5개의 차원들(X, Y, Z, φ, τ)을 제공할 수 있다. 그러나, 이들은 단지 예시적인 좌표 시스템(100)을 참조하여 검출 또는 측정될 수 있는 다양한 모션들의 예들일 뿐이며, 청구 대상은 위에서 설명된 모션들 또는 좌표 시스템들로 한정되는 것은 아니다.
위의 논의에 이어서, 3차원 가속도계는, 예를 들어, 디바이스와 공동 위치된 사용자의 활동에 응답하여 다양한 진동들에 기인한 3차원 공간에서의 가속도들을 검출 또는 측정할 수 있다. 전형적으로, 반드시 그러한 것은 아니지만, 가속도 진동들은, 예를 들어, 모바일 세팅들 또는 환경들에 통상적으로 존재할 수 있는 이동중인 차량(예를 들어, 엔진, 바퀴들 등의 진동들, 도로의 요철 등), 사용자의 걷기 또는 달리기, 손 또는 손목 떨림, 에어로빅 운동, 또는 다른 현상들과 연관될 수 있다.
도 2는 일 구현에 따른 모바일 디바이스에서 사용자의 활동 종류를 추론하기 위한 프로세스의 도면(200)이다. 도 2에서, 모바일 디바이스 상에 위치된 관성 센서(210)는 전기 또는 다른 타입의 신호를 포함하는 출력 "트레이스"를 활동 추정기(220)에 생성한다. 일 구현에서, 관성 센서(210)는 가관측성의 다양한 차원들(예를 들어, X, Y, Z, φ, τ)을 따라 예상되는 모바일 디바이스의 가속도를 표현하는 하나 또는 둘 이상의 출력 트레이스들을 생성하는 가속도계를 포함할 수 있다.
관성 센서(210)로부터의 출력 신호들은 활동 추정기(220)에 전달될 수 있다. 일 구현에서, 활동 추정기(220)는 하나 또는 둘 이상의 입력 신호들로부터 특징들을 추출하기 위해서 하나 또는 둘 이상의 신호 프로세싱 알고리즘들을 수행할 수 있다. 일 구현에서, 활동 추정기(220)는 음성 프로세싱 알고리즘들이 관성 센서(210)로부터 수신된 하나 또는 둘 이상의 입력 신호들에 적용되는 켑스트럼 필터링을 구현할 수 있다. 특정 구현들에서, 하나 또는 둘 이상의 특징들이 관성 센서(210)로부터의 신호들로부터 추출될 수 있다. 이들은, 예를 들어 그리고 한정하지 않고 다음을 포함한다:
1. 켑스트럼 계수(CC: Cepstral Coefficient)들;
2. 멜 주파수 켑스트럼 계수(MFCC: Mel-Frequency Cepstral Coefficient)들;
3. 델타 켑스트럼 계수(dCC: delta Cepstral Coefficient)들;
4. 델타 멜 주파수 켑스트럼 계수(dMFCC: delta Mel-Frequency Cepstral Coefficient)들;
5. 가속 켑스트럼 계수(d2CC: accel Cepstral Coefficient)들;
6. 가속 멜 주파수 켑스트럼 계수(d2MFCC: accel Mel-Frequency Cepstral Coefficient)들;
7. 선형 예측 계수(LPC: Linear Prediction Coefficient)들;
8. 델타 선형 예측 계수(dLPC: delta Linear Prediction Coefficient)들;
9. 가속 선형 예측 계수(dLPC)들;
10. 가속도계 기준(norm)으로부터의 변동; 및
11. 가속도계 피치 및 롤 또는 중력에 관한 가속도계 방향과 연관된 다른 각도들.
그러나, 이들은 단지 (예를 들어, 모바일 디바이스와 공동 위치된 사용자의 활동 종류를 추론하는데 사용하기 위해서) 스펙트럼 포락선을 특성화하기 위해서 신호로부터 추출될 수 있는 특징들의 예들일 뿐이며 청구 대상은 이 점에 대하여 한정되는 것은 아니라는 것이 이해되어야 한다.
관성 센서 신호의 스펙트럼 포락선을 특성화하기 위한 특징들의 추출에 관하여, CC들 또는 MFCC들은 파형의 스펙트럼 포락선의 파라미터화를 제공할 수 있으며, 따라서 사용자의 걷기나 또는 걸음걸이와 같은 상이한 타입들의 모션들로부터 발생하는 파형들을 구별하는데 유용할 수 있는데, 모바일 디바이스는 사용자에 대하여 상이한 위치들에 배치된다. 일 구현에서, CC들은 관심 있는 주파수 대역들에 동일한 강조(즉, 가중치)가 적용되는 관성 센서 신호로부터 특성화된 특징들을 추출하는데 사용될 수 있다. 다른 구현들에서는, MFCC 특징 추출에 사용될 수 있는 바와 같이, 더 낮은 주파수 신호들이 강조될 수 있는 한편, 더 높은 주파수 신호들은 덜 강조(deemphasize)된다.
일례에서, 사용자가 걷고 있는 동안 사용자의 뒷주머니에 위치된 모바일 디바이스는 자신의 손에 모바일 디바이스를 들고 있는 사용자에 응답하여 생성된 가속도계 트레이스와 상이한 가속도계 트레이스를 초래할 수 있다. 이 예에서, 사용자의 주머니에 위치된 모바일 디바이스는 사용자가 걸어감에 따라 수직(±Z) 방향으로의 뚜렷하고 주기적 가속도를 겪을 수 있지만, ±X 방향 또는 ±Y 방향으로는 가속도를 거의 겪지 않을 수 있다. 이에 반해, 사용자가 걷는 동안 사용자의 손에 위치된 모바일 디바이스는 수직(±Z) 방향으로는 덜 뚜렷한 주기적 가속도를 겪을 수 있지만, 예를 들어, ±X 방향 또는 ±Y 방향으로는 증가된 가속도를 겪을 수 있다.
일 구현에서, 델타 CC들은 정적 CC들과 더불어 오버랩핑 윈도우들에 걸친 각각의 CC의 속도(예를 들어, 시간에 대한 변화율)를 고려함으로써 CC들의 성능을 강화하는데 사용될 수 있다. 가속 CC들은 오버랩핑 윈도우들에 걸친 하나 또는 둘 이상의 정적 CC들의 가속도(예를 들어, 시간에 대한 속도의 변화율)를 추가로 고려함으로써 CC들의 성능을 더 강화할 수 있다.
구현들에서, 델타 MFCC들 및 가속 MFCC들에 대한 파라미터들은 유사하게 적용될 수 있다. 예를 들어, 델타 및 가속 필터링을 적용하기 위해서, 관성 센서 신호로부터의 관심 있는 주파수 대역들의 프리엠퍼시스(pre-emphasis) 필터링에 의해 정적 MFCC들이 계산될 수 있다. 그 다음, 계산된 MFCC들에 대하여 델타 및 가속 필터링이 수행되어 (시간의 함수로써) 하나 또는 둘 이상의 MFCC들의 속도 및 가속도를 관측할 수 있다.
구현들에서, 전극 자기 회귀(all-pole autoregressive) 프로세스에 의해 기본 관성 센서 신호가 생성된다면, 스펙트럼 포락선을 특성화하는데 선형 예측 계수(LPC)들이 사용될 수 있다. 일 구현에서, LPC는 이전 출력 샘플들의 대략적 선형 결합으로서 특정 시점에서 관성 센서의 출력 신호를 모델링할 수 있다. 일례에서, 하나 또는 둘 이상의 데이터 윈도우들 동안 출력 신호를 설명하는 한 세트의 계수들에 에러 신호가 부가될 수 있다.
일 구현에서, LPC들에서 MFCC들로의 1대1 맵핑이 존재할 수 있다. 델타 LPC들은 오버랩핑 윈도우들에 걸친 각각의 계수의 속도(예를 들어, 시간의 함수로써의 변화율)를 추가로 고려함으로써 LPC들의 성능을 강화할 수 있다. 가속 LPC들은 오버랩핑 윈도우들에 걸친 각각의 계수의 가속도(예를 들어, 시간의 함수로써 속도의 변화율)를 추가로 고려함으로써 LPC들의 성능을 더 강화할 수 있다.
대안적인 구현에서, (예를 들어, 스펙트럼 포락선의 특성 대신에 또는 이와 결합하여) 모바일 디바이스와 공동 위치된 사용자의 활동을 특성화하는데 사용하기 위해서 관성 센서 신호로부터 다른 특징들이 추출될 수 있다. 이들은 다음을 포함할 수 있다:
1. 피치;
2. 스펙트럼 엔트로피;
3. 제로 크로싱 레이트(ZCR: Zero Crossing Rate);
4. 스펙트럼 중심(SC: Spectral Centroid);
5. 대역폭(BW: Bandwidth);
6. 대역 에너지(BE: Band Energy)들;
7. 스펙트럼 플럭스(SF: Spectral Flux); 및
8. 스펙트럼 롤오프(SR: Spectral Roll-off).
일 구현에서, 주기적 모션의 기본 주파수를 정의할 수 있는 피치가 관성 센서 신호로부터 측정될 수 있다. 예를 들어, 피치의 측정은, 예를 들어, 조깅 대 달리기, 산책 대 힘차게 걷기 등과 같은 상이한 속도들로 발생하는 유사한 모션들을 가지는 활동들 사이를 또는 이러한 활동들 간에 구별하는데 유용할 수 있다.
일 구현에서, 확률 분포로서 정규화되고 간주되는 경우에 관성 센서 신호의 단기 주파수 스펙트럼에 대응할 수 있는 스펙트럼 엔트로피가 측정될 수 있다. 예를 들어, 스펙트럼 엔트로피의 측정은 신호의 주기성의 정도의 파라미터화를 가능하게 할 수 있다. 일례에서, 가속도계 트레이스로부터 계산된 더 낮은 스펙트럼 엔트로피는 사용자가 걷기, 조깅, 자전거 타기 등과 같은 주기적 활동에 관여됨을 표시할 수 있다. 다른 한편으로, 더 높은 스펙트럼 엔트로피는 사용자가 디바이스의 조작 또는 울퉁불퉁한 도로에서의 자동차 운전과 같은 비주기적 활동에 관여된다는 표시자일 수 있다.
일 구현에서, 특정 시간 윈도우에서 초당 관성 센서 신호가 그 평균 값과 크로싱하는 횟수를 설명할 수 있는 제로 크로싱 레이트가 측정될 수 있다. 제로 크로싱 레이트의 측정은 양의 값과 음의 값 사이에서 더 느린 변동들로 표시될 수 있는 걷기 대 양의 값과 음의 값 사이에서 더 빠른 변동들로 표시될 수 있는 달리기와 같이, 상이한 속도들로 변동하는 관성 센서 신호들을 생성하는 모션들 또는 디바이스 위치들 사이를 또는 이러한 모션들 또는 디바이스 위치들 간에 구별하는데 유용할 수 있다.
일 구현에서, 관성 센서 신호의 단기 주파수 스펙트럼의 평균 주파수를 표현할 수 있는 스펙트럼 중심이 측정될 수 있다. 관성 센서 신호의 전력 스펙트럼에 필터뱅크를 적용한 다음, 각각의 서브대역에 대한 첫 번째 순간(또는 중심)을 계산함으로써 서브대역 스펙트럼 중심들이 발견될 수 있다. 그 다음, 신호 주파수 범위가 다수의 빈들로 파티셔닝될 수 있다. 각각의 서브대역에 대한 대응하는 빈이 결정되고 1씩 증분될 수 있다. 그 다음, 결과적인 히스토그램의 이산 코사인 변환을 컴퓨팅함으로써 켑스트럼 계수들이 결정될 수 있다.
일 구현에서, 관성 센서 신호의 단시간 주파수 스펙트럼의 표준 편차로서 표현될 수 있는 대역폭이 측정될 수 있다. 일례에서, 본 명세서에 설명되는 것들과 같은 하나 또는 둘 이상의 다른 측정들을 보완하기 위해서 관성 센서 신호의 대역폭이 사용될 수 있다. 일 구현에서, 관성 센서 신호의 단기 주파수 스펙트럼의 상이한 주파수 대역들에서의 에너지들을 설명할 수 있는 대역 에너지들이 측정될 수 있다.
다양한 구현들에서, 스펙트럼 중심, 대역폭 및/또는 대역 에너지들의 측정들은, 예를 들어, 관성 센서 신호 출력들을 발생시키는 모션들 또는 디바이스 위치들 사이를 또는 이러한 모션들 또는 디바이스 위치들 간에 구별하는데 유용할 수 있으며, 이는 주파수 스펙트럼의 상이한 부분들(예를 들어, 고주파수 활동들 대 저주파수 활동들)에서의 에너지 집중들을 표시할 수 있다. 일부 구현들에서, 다른 측정들과 함께 이루어지는 이러한 추가적인 측정들이 관성 센서 신호에 기초한 정확한 활동 검출의 우도 함수를 증가시키는데 사용될 수 있다.
일 구현에서, 관성 센서 신호의 2개의 연속적인 윈도우들에 걸친 단시간 주파수 스펙트럼들 사이의 차의 평균일 수 있는 스펙트럼 플럭스가 측정될 수 있다. 스펙트럼 플럭스의 측정은, 예를 들어, 특정 주기적 행동이 변화하고 있는 속도를 특성화하는데(예를 들어, 활동 레벨이 단시간에 상당히 변화할 수 있는 에어로빅 활동을 특성화하는데) 사용될 수 있다.
일 구현에서, 이 주파수 아래에 스펙트럼 롤오프가 측정될 수 있는데, 이는 주파수일 수 있으며, 신호 에너지의 특정 일부분이 존재한다. 일례에서, 스펙트럼 롤오프는 주파수 스펙트럼의 형상을 특성화하는데 유용할 수 있으며, 이는 다른 측정들과 결합될 때 사용자 활동을 결정하는데 유용할 수 있다.
위에서 식별된 특징 추출 기법들 중 하나 또는 둘 이상의 결과로서 그리고/또는 다른 신호 프로세싱의 결과로서, 활동 추정기(220)는 하나 또는 둘 이상의 에포크들에서 다양한 활동 종류들에 대하여 우도 함수들을 나타내는 열 벡터(column vector)를 생성할 수 있다. 일 구현에서, 열 벡터는 다음과 같은 형태일 수 있다:
Figure 112013099181657-pct00001
일 구현에서, 활동 추정기(220)는 각각의 에포크의 끝부분 동안 열 벡터 p(t)를 생성할 수 있다. 특정 구현에서, 에포크는 대략 1초 인터벌들로 발생할 수 있다. 그러나, 다른 구현들에서, 에포크는 대략 2초, 3초 또는 그 초과의 인터벌과 같은 더 긴 인터벌을 포함할 수 있다. 다른 구현들에서, 에포크는 대략 1/2초, 1/4초 등과 같은 더 짧은 인터벌을 포함할 수 있다.
일 구현에서, p(t)는 기본 사용자 활동 종류(ω)가 주어지면 정보 상태들을 관측하는 우도의 추정치들을 포함하고, 여기서 y(t)는 관측들을 예를 들어, 관성 센서(210)로부터의 하나 또는 둘 이상의 가속도계 트레이스들의 형태로 표현한다. 따라서, 예를 들어, ω1 = 달리기이면, 수량
Figure 112013104633285-pct00002
는 기본 사용자 활동 종류가 "달리기"인 정적 우도를 표현할 수 있다. 유사한 예에서, ω2 = 걷기이면, 수량
Figure 112013104633285-pct00003
는 기본 사용자 활동 종류가 "걷기"인 정적 우도를 표현할 수 있는 등의 식이다. 일 구현에서, 열 벡터 p(t)는 사용자가 "M"개의 수의 활동 종류들 중 하나 또는 둘 이상에 관여된다는 우도의 추정치들을 표시한다.
일 구현에서, 열 벡터 p(t)는 초당 1회와 같은 특정 인터벌들에서 활동 분류기(230)에 전달될 수 있다. 활동 분류기(230)는 열 벡터 p(t)에 대한 이력 값들뿐만 아니라 열 벡터 p(t)를 결합 및 필터링함으로써 현재 활동 종류를 추론할 수 있다. 따라서, 현재 활동 종류의 추정은 다음과 같이 표현될 수 있다:
Figure 112013099181657-pct00004
위의 표현식에서, 활동 분류기(230)는 열 벡터 p(t)에 의해 표현되는 바와 같은 "L"개의 활동 추정치들을 포함한다. 따라서, 일 구현에서, 활동 분류기(230)는 활동 종류의 추론을 계산할 시에 레이턴시를 포함한다. 따라서, 활동 분류기(230)가 활동 결정을 발생시키기 이전에 5개의 활동 추정치들을 포함하는 예에서, 활동 분류의 추론은 다음과 같이 표현될 수 있다:
Figure 112013099181657-pct00005
물론, 다른 구현들에서, 활동 분류기(230)는 활동 결정을 발생시키기 이전에 임의의 수의 활동 추정치들을 포함한다. 예를 들어, 활동 분류기는 활동 종류의 추론을 발생시키기 이전에 겨우 2개의 활동 추정치들뿐만 포함할 수 있거나, 또는 활동 종류의 추론을 발생시키기 이전에 수 십개 또는 심지어 수 백개 또는 수 천개의 활동 추정치들을 포함할 수 있다.
도 3은 도 2의 시간적 결합기의 추가적인 세부사항들을 도시하는 도면(300)이다. 도 3에서, 시간적 보우팅, 최대 우도 결합, 최대 선험 결합, 유한 임펄스 응답 필터링 및 무한 임펄스 응답 필터링은 활동의 이전 추정치들이 활동 결정을 발생시키는데 사용될 수 있는 소수의 기법들을 표현한다. 그러나, 다수의 추가적인 기법들이 사용될 수 있으며, 청구 대상은 이 점에 대하여 한정되는 것은 아니다.
일 구현에서, 과거 에포크들에서 추론되는 더 높은 주파수를 가지는 활동 종류를 추론하는데 시간적 보우팅이 사용될 수 있다. 시간적 보우팅에서, 활동 종류의 추론은 다음의 식에 의해 주어질 수 있다:
Figure 112013099181657-pct00006
여기서, Ix는 이벤트 X에 대한 표시자 함수 즉,
Figure 112013099181657-pct00007
를 포함한다.
그리고 여기서, 추론된 활동 종류
Figure 112013099181657-pct00008
는,
활동 1, 활동 2, ..., 활동 M
중 하나이다.
시간적 보우팅에서, 예를 들어, p(t-L+1), p(t-L+2), ..., p(t)와 같은 p(t)의 현재 및 과거 추정치들을 표현하는 "L"개의 열 벡터들의 경우, 과거 에포크들에 대하여 이루어진 추론들에 적어도 부분적으로 기초한 최고 우도를 포함하는 활동을 표현하는 "L"개의 벡터가 계산된다. 예를 들어, L=5에 대하여, 3개의 활동 종류 추정치들이 사용자가, 예를 들어, "걷고" 있음을 표시하는 경우, 시간적 보우팅을 사용하는 활동 분류기 역시 사용자의 현재 활동 종류가 "걷기"와 동일하다고 추론할 수 있다.
활동 분류기(330)가 최대 우도 필터링을 포함하는 일 구현에서, 관측들 {Y(t-L+1), Y(t-L+2),...,Y(t)}이 관측된 정보 상태 y(t)의 독립적 샘플들을 공동으로 포함한다는 가정이 이루어진다. 일 구현에서, {Y(t-L+1), Y(t-L+2), ..., Y(t)}는 음성 프로세싱 또는 다른 신호 프로세싱 기법들을 사용하여 다양한 에포크들에서 관성 센서로부터의 하나 또는 둘 이상의 출력 신호들로부터 추출된 특징들을 표현할 수 있다. 일 구현에서, 활동 종류의 추론은 다음과 같은 활동 종류의 추정치들의 로그-우도들에 이동 평균 필터(moving-average filter)를 적용하는 것으로부터 발생할 수 있다:
Figure 112013099181657-pct00009
관측들 {Y(t-L+1), Y(t-L+2),..., Y(t)}이 관측된 정보 상태 y(t)의 독립적인 샘플들을 공동으로 포함한다는 적어도 부분적으로 유사한 가정 하에, 도 3의 구현은 다음과 같은 활동 종류의 로그-우도들을 필터링하는 최대 선험(MAP) 필터를 포함할 수 있다:
Figure 112013099181657-pct00010
위의 표현식에서,
Figure 112013099181657-pct00011
는 "M"개의 활동 종류들에 대한 이전 우도들을 표현한다. 일례에서, 한 세트의 활동 종류들이 걷기(ω1) 및 정지(ω2)를 포함하고, 걷기가 10% 확률로 발생하며, 정지가 90% 확률로 발생하면, 하나의 가능한 세팅은
Figure 112013099181657-pct00012
일 수 있다.
일 구현에서, 활동 분류기(330)는 유한 임펄스 응답 필터링을 구현할 수 있다. 일 구현에서, 활동 종류들의 추정치들의 로그-우도들이 먼저 필터링된다. 유한 임펄스 응답 필터링 솔루션은 다음의 식에 의해 주어진다:
Figure 112013099181657-pct00013
Figure 112013099181657-pct00014
, 여기서
Figure 112013099181657-pct00015
이다.
위의 표현식에서, 유한 임펄스 응답 계수들 a(t-L+1), a(t-L+2), ..., a(t)는 더 최근의 또는 덜 최근의 활동 추정치들에 대한 활동 종류 결정을 바이어싱(bias)하도록 임의로 선택될 수 있다. 일 구현에서, 더 최근의 추론들을 향하여 유한 임펄스 응답 계수들을 바이어싱하는 것은 활동 분류기(330)가 더 높은 레이턴시 추론들의 수행으로부터 더 낮은 레이턴시 추론들로 적응하게 할 수 있다.
일 구현에서, 활동 분류기(330)는 무한 임펄스 응답 필터링을 구현할 수 있다. 예를 들어, 활동 종류는 다음과 같은 필터링 솔루션에 의해 추론될 수 있다:
Figure 112013099181657-pct00016
여기서,
Figure 112013099181657-pct00017
이다.
위의 표현식에서, 무한 임펄스 응답 계수들 b(t-L+1), b(t-L+2), ..., b(t-1)는 활동 분류기(330)의 안정성을 보장하는 방식으로 선택될 수 있다.
도 4는 일 구현에 따른 최대 우도 필터에 대한 관측 시간의 함수로써 신뢰도 측정을 도시하는 그래프(400)이다. 도 4에서, "f-스코어"는 3-초 에포크들에서 활동 분류를 생성하는 활동 분류기로부터의 분류의 신뢰 레벨을 표현할 수 있다. 초기의 3-초 에포크 이후에, 활동 종류는 대략 87%의 신뢰 레벨로 추론될 수 있다. 6초의 관측 시간에 대응하는 추가적인 3-초 에포크 이후에, 활동 종류는 거의 89%의 신뢰 레벨로 추론될 수 있다. 대략 9초의 관측 시간 이후에, 활동 종류는 89%보다 더 양호한 신뢰 레벨로 추론될 수 있다. 대략 12초의 관측 시간 이후에, 활동 종류는 90%보다 더 양호한 신뢰 레벨로 추론될 수 있다. 대략 15초의 관측 시간 이후에, 활동 종류는 90.5%보다 더 양호한 신뢰 레벨로 추론될 수 있다. 대략 18초의 관측 시간 이후에, 활동 종류는 거의 91%의 신뢰 레벨로 추론될 수 있다.
일 구현에서, 활동 추정들의 시간적 결합에 의해, 모바일 디바이스는 더 낮은 레이턴시 및 더 낮은 정확도를 가지는 활동 분류기의 단일 인스턴스 생성을 실행하도록 구성될 수 있다. 그러나, 분류기 출력 상태들이 본 명세서에 설명되는 하나 또는 둘 이상의 필터링 기법들에 의해 결합될 때, 활동 종류의 더 높은 레이턴시, 더 높은 정확도 추론이 발생할 수 있다. 활동 종류의 추론들이 스케일러블(scalable)일 수 있어서, 원하는 수의 출력 상태들의 결합은 추론된 활동 종류의 정확도로의 신뢰도 측정의 대응하는 증가를 허용할 수 있다.
도 5는 일 구현에 따른 모바일 디바이스와 연관된 예시적인 컴퓨팅 환경을 도시하는 개략도이다. 본 명세서에 설명되는 바와 같은, 컴퓨팅 환경(500)에 도시된 다양한 디바이스들 또는 네트워크들, 프로세스들 또는 방법들의 전부 또는 일부는 소프트웨어와 함께 다양한 하드웨어, 펌웨어, 또는 이들의 임의의 조합을 사용하여 구현될 수 있다는 것이 인식되어야 한다.
컴퓨팅 환경(500)은 예를 들어, 모바일 디바이스(502)를 포함할 수 있으며, 이는 셀룰러 전화 네트워크, 인터넷, 모바일 애드혹 네트워크, 무선 센서 네트워크 등과 같은 적합한 통신 네트워크를 통해, 이동식 또는 그렇지 않은 임의의 수의 다른 디바이스들에 통신 가능하게 커플링될 수 있다. 일 구현에서, 모바일 디바이스(502)는 임의의 적합한 통신 네트워크를 통해 정보를 교환할 수 있는 임의의 전자 디바이스, 기기 또는 머신을 나타낼 수 있다. 예를 들어, 모바일 디바이스(502)는 예를 들어, 셀룰러 전화들, 위성 전화들, 스마트 전화들, 개인용 디지털 보조기(PDA: personal digital assistant)들, 랩탑 컴퓨터들, 개인용 엔터테인먼트 시스템들, e-북 리더들, 태블릿 개인용 컴퓨터들(PC: personal computers), 개인용 오디오 또는 비디오 디바이스들, 개인용 네비게이션 디바이스들 등과 연관된 하나 또는 둘 이상의 컴퓨팅 디바이스들 또는 플랫폼들을 포함할 수 있다. 특정 예시적인 구현들에서, 모바일 디바이스(502)는 다른 디바이스에 사용하기 위해서 동작가능하게 인에이블될 수 있는 하나 또는 둘 이상의 집적 회로들, 회로 보드들 등의 형태를 취할 수 있다. 도시되지 않았지만, 선택적으로 또는 대안으로, 컴퓨팅 환경(500)과 연관된 하나 또는 둘 이상의 프로세스들을 용이하게 하거나 또는 그렇지 않으면 지원하도록 모바일 디바이스(502)에 통신가능하게 커플링되는, 이동식 또는 그렇지 않은 추가 디바이스들이 존재할 수 있다. 따라서, 달리 언급되지 않는다면, 논의를 간략화하기 위해서 다양한 기능들, 엘리먼트들, 컴포넌트들 등이 모바일 디바이스(502)를 참조하여 아래에서 설명되며, 이는 또한 예시적인 컴퓨팅 환경(500)과 연관된 하나 또는 둘 이상의 프로세스들을 지원하도록, 도시되지 않은 다른 디바이스들에도 적용가능할 수 있다.
컴퓨팅 환경(500)은, 예를 들어, 위치 결정 시스템, 위치 기반 서비스 등과 연관된 하나 또는 둘 이상의 무선 신호들에 적어도 부분적으로 기초하여 모바일 디바이스(502)에 관한 위치 또는 장소 정보를 제공할 수 있는 다양한 컴퓨팅 또는 통신 자원들을 포함할 수 있다. 도시되지 않았지만, 특정 예시적인 구현들에서, 모바일 디바이스(502)는, 예를 들어, 방향, (예를 들어, 삼변 측량, 히트 맵 서명 매칭 등을 통한) 위치 정보 등의 전부 또는 일부를 획득 또는 제공할 수 있는 위치 인식 또는 트래킹 유닛을 포함할 수 있다. 이러한 정보는, 예를 들어, 하나 또는 둘 이상의 임계 값들 등과 같은 다른 적합한 또는 원하는 정보와 함께 메모리(504)에 저장될 수 있는, 모션 제어되는 또는 그렇지 않은 사용자 명령들에 응답하여 하나 또는 둘 이상의 프로세스들의 지원 하에 제공될 수 있다.
메모리(504)는 임의의 적합한 또는 원하는 정보 저장 매체를 표현할 수 있다. 예를 들어, 메모리(504)는 주 메모리(506)와 보조 메모리(508)를 포함할 수 있다. 주 메모리(506)는, 예를 들어, 랜덤 액세스 메모리, 판독 전용 메모리 등을 포함할 수 있다. 이 예에서는 프로세싱 유닛(510)과 별개인 것으로 도시되지만, 주 메모리(506)의 전부 또는 일부는 프로세싱 유닛(510) 내에 제공되거나 또는 그렇지 않으면 프로세싱 유닛(510)과 공동 위치/커플링될 수 있다는 것이 인식되어야 한다. 보조 메모리(508)는, 예를 들어, 주 메모리와 동일하거나 또는 유사한 타입의 메모리 또는, 예를 들어, 디스크 드라이브, 광 디스크 드라이브, 테이프 드라이브, 고체 상태 메모리 드라이브 등과 같은 하나 또는 둘 이상의 정보 저장 디바이스들 또는 시스템들을 포함할 수 있다. 특정 구현들에서, 보조 메모리(508)는 비-일시적 컴퓨터 판독가능한 매체(512)를 동작가능하게 수용할 수 있거나, 또는 그렇지 않으면 비-일시적 컴퓨터 판독가능한 매체(512)에 커플링되도록 인에이블될 수 있다.
컴퓨터 판독가능한 매체(512)는, 예를 들어, 컴퓨팅 환경(500)과 연관된 하나 또는 둘 이상의 디바이스들에 대한 정보, 코드 또는 명령들을 저장하거나 또는 이들에 대한 액세스를 제공할 수 있는 임의의 매체(예를 들어, 제조 물품 등)를 포함할 수 있다. 예를 들어, 컴퓨터 판독가능한 매체(512)는 프로세싱 유닛(510)에 의해 제공 또는 액세스될 수 있다. 이로써, 특정 예시적인 구현들에서, 방법들 또는 장치들은 적어도 하나의 프로세싱 유닛 또는 다른 유사한 회로에 의해 실행된다면, 프로세싱 유닛(510) 또는 다른 유사한 회로가 위치 결정 프로세스들, 센서 기반 또는 센서 지원 측정들(예를 들어, 가속도, 감속도, 방향, 기울기, 회전 등), 관성 센서 신호들로부터 특징들의 추출/컴퓨테이션, 모바일 디바이스의 사용자와 공동 위치된 활동의 분류, 또는 모바일 디바이스(502)의 나머지 검출을 용이하게 하거나 또는 그렇지 않으면 지원하기 위한 임의의 유사한 프로세스들의 전부 또는 일부분들을 수행하게 할 수 있는, 컴퓨터 구현가능한 명령들이 저장된 컴퓨터 판독가능한 매체의 형태를 전체적으로 또는 부분적으로 취할 수 있다. 특정 예시적인 구현들에서, 프로세싱 유닛(510)은 통신들, 게임 등과 같은 다른 기능들을 수행하거나 또는 지원가능할 수 있다.
프로세싱 유닛(510)은 하드웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 프로세싱 유닛(510)은 정보 컴퓨팅 기법 또는 프로세스의 적어도 일부를 수행할 수 있는 하나 또는 둘 이상의 회로들을 표현할 수 있다. 한정이 아닌 예로써, 프로세싱 유닛(510)은 하나 또는 둘 이상의 프로세서들, 제어기들, 마이크로프로세서들, 마이크로제어기들, 주문형 집적 회로들, 디지털 신호 프로세서들, 프로그램가능한 로직 디바이스들, 필드 프로그램가능한 게이트 어레이들 등, 또는 이들의 임의의 조합을 포함할 수 있다.
모바일 디바이스(502)는 컴퓨팅 환경(500)과 연관된 하나 또는 둘 이상의 프로세스들을 용이하게 하거나 또는 그렇지 않으면 지원하도록, (예를 들어, 하나 또는 둘 이상의 가속도계들(513)과 같은) 다양한 컴포넌트들이나 회로, 또는 (자기 나침반, 자이로스코프, 비디오 센서, 중력계 등과 같은) 다양한 다른 센서(들)(514)를 포함할 수 있다. 예를 들어, 이러한 센서들은 프로세싱 유닛(510)에 아날로그 또는 디지털 신호들을 제공할 수 있다. 도시되지 않았지만, 모바일 디바이스(502)는 하나 또는 둘 이상의 센서들로부터의 아날로그 신호들을 디지털화하기 위한 아날로그-디지털 변환기(ADC: analog-to-digital converter)를 포함할 수 있다는 점이 주목되어야 한다. 선택적으로 또는 대안적으로, 이러한 센서들은 각각의 출력 신호들을 디지털화하도록 지정된(예를 들어, 내부 등) ADC(들)를 포함할 수 있지만, 청구 대상은 그렇게 한정되는 것은 아니다.
도시되지 않았지만, 모바일 디바이스(502)는 또한 앞서 언급한 바와 같이, 예를 들어, 가속도계 측정 정보(예를 들어, 가속도계 트레이스들)와 같은 적합한 또는 원하는 정보를 수집하기 위한 메모리 또는 정보 버퍼를 포함할 수 있다. 모바일 디바이스는 또한, 예를 들어, 모바일 디바이스(502)의 컴포넌트들 또는 회로의 일부 또는 전부에 전력을 제공하기 위한 전원을 포함할 수 있다. 전원은, 예를 들어, 배터리와 같은 휴대용 전원일 수 있고 또는 (예를 들어, 집, 전기 충전소, 차량 등에) 콘센트(outlet)와 같은 고정 전원을 포함할 수 있다. 전원은 (예를 들어, 독립형 등) 모바일 디바이스(502)에 집적(예를 들어, 내장 등)되거나 또는 그렇지 않으면 이러한 모바일 디바이스(502)에 의해 지원될 수 있다는 것이 인식되어야 한다.
모바일 디바이스(502)는 다양한 회로들을 서로 동작가능하게 연결하기 위한 하나 또는 둘 이상의 접속 버스(516)(예를 들어, 버스들, 라인들, 컨덕터들, 광섬유들 등), 및 사용자 입력을 수신하거나, 센서 관련 신호 측정들을 용이하게 하거나 지원하고, 또는 사용자에게 정보를 제공하기 위한 사용자 인터페이스(518)(예를 들어, 디스플레이, 터치 스크린, 키패드, 버튼들, 노브(knob)들, 마이크로폰, 스피커, 트랙볼, 데이터 포트 등)를 포함할 수 있다. 모바일 디바이스(502)는 지시된 바와 같이, 하나 또는 둘 이상의 적합한 통신 네트워크들을 통한 하나 또는 둘 이상의 다른 디바이스들 또는 시스템들과의 통신을 가능하게 하기 위한 통신 인터페이스(520)(예를 들어, 무선 송신기 또는 수신기, 모뎀, 안테나 등)를 더 포함할 수 있다.
도 6은 일 구현에 따라 시간적 결합을 사용하여 사용자 활동을 분류하는 프로세스를 도시하는 흐름도(600)이다. 도 5의 실시예는 도 6의 방법을 수행하기에 적합할 수 있지만, 어떤 것도 대안적인 배열들의 구조들 및 컴포넌트들을 사용하여 방법을 수행하는 것을 막지 않는다. 도 6의 방법은 복수의 활동 분류들 각각에 대하여, 모바일 디바이스의 하나 또는 둘 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초하여 둘 또는 셋 이상의 과거 에포크(epoch)들에 대한 복수의 활동 분류들 각각에 대하여 활동 우도 함수 값들을 결정하는 단계를 포함하는 블록(610)에서 시작한다. 블록(620)은 현재 에포크에서 활동 분류에 대하여 우도 함수를 결정하기 위해서 활동 우도 함수 값들을 결합하는 단계를 포함한다. 방법은 현재 에포크에서 활동 분류에 대하여 결정된 우도 함수들에 적어도 부분적으로 기초하여 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 활동 분류들 중 하나로 추론하는 단계를 포함하는 블록(630)에서 계속된다.
본 명세서에 설명된 방법들은 특정한 특징들 또는 예들에 따른 애플리케이션들에 따라 다양한 수단에 의해 구현될 수 있다. 예를 들어, 이러한 방법들은 하드웨어, 펌웨어, 소프트웨어, 개별/고정 로직 회로, 이들의 임의의 조합 등으로 구현될 수 있다. 하드웨어 또는 로직 회로 구현에서, 예를 들어, 프로세싱 유닛은 몇 가지만 예를 들면, 하나 또는 둘 이상의 주문형 집적 회로(ASIC: application specific integrated circuit)들, 디지털 신호 프로세서(DSP: digital signal processor)들, 디지털 신호 프로세싱 디바이스(DSPD: digital signal processing device)들, 프로그램가능한 로직 디바이스(PLD: programmable logic device)들, 필드 프로그램가능한 게이트 어레이(FPGA: field programmable gate array)들, 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본 명세서에 설명된 기능들을 수행하도록 설계된 다른 디바이스들 또는 유닛들, 또는 이들의 조합들 내에 구현될 수 있다.
펌웨어 또는 소프트웨어 구현에 대하여, 방법들은 본 명세서에서 설명된 기능들을 수행하는 명령들을 가지는 모듈들(예를 들어, 프로시저들, 함수들 등)로 구현될 수 있다. 명령들을 유형적으로 구현하는 임의의 기계 판독가능한 매체가 본 명세서에 설명된 방법들을 구현하는데 사용될 수 있다. 예를 들어, 소프트웨어 코드들은 메모리에 저장되어 프로세서에 의해 실행될 수 있다. 메모리는 프로세서 내에서 또는 프로세서 외부에서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, "메모리"라는 용어는 임의의 타입의 장기, 단기, 휘발성, 비휘발성 또는 다른 메모리를 지칭하며, 메모리의 임의의 특정 타입이나 메모리들의 개수, 또는 메모리가 저장되는 매체들의 타입으로 한정되는 것은 아니다. 적어도 일부 구현들에서, 본 명세서에 설명된 저장 매체들의 하나 또는 둘 이상의 부분들은 저장 매체들의 특정 상태로 표현된 바와 같이 데이터 또는 정보를 표현하는 신호들을 저장할 수 있다. 예를 들어, 데이터 또는 정보를 표현하는 전자 신호는 데이터 또는 정보를 2진 정보(예를 들어, 1들과 0들)로서 표현하도록 저장 매체들(예를 들어, 메모리)의 이러한 부분들의 상태에 영향을 주거나 또는 이러한 상태를 변화시킴으로써 저장 매체들의 일부분에 "저장"될 수 있다. 이로써, 특정 구현에서, 데이터 또는 정보를 표현하는 신호를 저장하기 위한 저장 매체들의 일부분의 이러한 상태 변화는 상이한 상태 또는 다른 것으로의 저장 매체들의 변환을 구성한다.
표시된 바와 같이, 하나 또는 둘 이상의 예시적인 구현들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 개별/고정 로직 회로, 이들의 일부 조합 등으로 구현될 수 있다. 소프트웨어로 구현된다면, 기능들은 물리적 컴퓨터 판독가능한 매체 상에 하나 또는 둘 이상의 명령들 또는 코드로서 저장될 수 있다. 컴퓨터 판독가능한 매체들은 물리적 컴퓨터 저장 매체들을 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 물리적 매체일 수 있다. 한정이 아닌 예로서, 이러한 컴퓨터 판독가능한 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있으며 컴퓨터 또는 그의 프로세서에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 본 명세서에서 사용된 것과 같은 디스크(disk 및 disc)는 콤팩트 디스크(CD: compact disc), 레이저 디스크(laser disc), 광 디스크(optical disc), 디지털 다목적 디스크(DVD: digital versatile disc), 플로피 디스크(floppy disk) 및 블루레이 디스크(blue-ray disc)를 포함하며, 여기서 디스크(disk)들은 통상적으로 데이터를 자기적으로 재생하는 한편, 디스크(disc)들은 데이터를 레이저들을 이용하여 광학적으로 재생한다.
위에서 논의한 바와 같이, 모바일 디바이스는 하나 또는 둘 이상의 무선 통신 기법들을 사용하여 다양한 통신 네트워크들을 통한 정보의 무선 송신 또는 수신을 통해 하나 또는 둘 이상의 다른 디바이스들과 통신가능할 수 있다. 여기서, 예를 들어, 무선 통신 기법들은 무선 광역 네트워크(WWAN: wireless wide area network), 무선 근거리 네트워크(WLAN: wireless local area network), 무선 개인 영역 네트워크(WPAN: wireless personal area network) 등을 사용하여 구현될 수 있다. "네트워크" 및 "시스템"이라는 용어는 본 명세서에서 상호교환가능하게 사용될 수 있다. WWAN은 코드 분할 다중 액세스(CDMA: Code Division Multiple Access) 네트워크, 시분할 다중 액세스(TDMA: Time Division Multiple Access) 네트워크, 주파수 분할 다중 액세스(FDMA: Frequency Division Multiple Access) 네트워크, 직교 주파수 분할 다중 액세스(OFDMA: Orthogonal Frequency Division Multiple Access) 네트워크, 단일 반송파 주파수 분할 다중 액세스(SC-FDMA: Single-Carrier Frequency Division Multiple Access) 네트워크, 롱 텀 에볼루션(LTE: Long Term Evolution) 네트워크, WiMAX(IEEE 802.16) 네트워크 등일 수 있다. CDMA 네트워크는 몇 가지 라디오 기술들만 예를 들면, cdma2000, 와이드밴드-CDMA(WCDMA), 시분할 동기식 코드 분할 다중 액세스(TD-SCDMA: Time Division Synchronous Code Division Multiple Access)와 같은 하나 또는 둘 이상의 라디오 액세스 기술(RAT: radio access technology)들을 구현할 수 있다. 여기서, cdma2000은 IS-95, IS-2000 및 IS-856 표준들에 따라 구현되는 기술들을 포함할 수 있다. TDMA 네트워크는 GSM(Global System for Mobile Communications), D-AMPS(Digital Advanced Mobile Phone System), 또는 일부 다른 RAT를 구현할 수 있다. GSM 및 W-CDMA는 "3세대 파트너십 프로젝트"(3GPP: 3rd Generation Partnership Project)로 명명된 컨소시엄으로부터의 문서들에 설명되어 있다. cdma2000은 "3세대 파트너십 프로젝트 2"(3GPP2)로 명명된 컨소시엄으로부터의 문서들에 설명되어 있다. 3GPP 및 3GPP2 문서들은 공개적으로 입수가능하다. 예를 들어, WLAN은 IEEE 802.11x 네트워크를 포함할 수 있고, WPAN은 블루투스 네트워크, IEEE 802.15x, 또는 일부 다른 타입의 네트워크를 포함할 수 있다. 이 기법들은 또한 WWAN, WLAN 또는 WPAN의 임의의 조합과 함께 구현될 수 있다. 무선 통신 네트워크들은, 예를 들어, 롱 텀 에볼루션(LTE), 어드밴스트(Advanced) LTE, WiMAX, 울트라 모바일 광대역(UMB: Ultra Mobile Broadband) 등과 같은 소위 차세대 기술들(예를 들어, "4G")을 포함할 수 있다.
일 특정 구현에서, 모바일 디바이스는, 예를 들어, 모바일 디바이스의 위치, 방향, 속도, 가속도 등을 추정할 목적으로 모바일 디바이스와의 통신들을 용이하게 하거나 또는 지원하는 하나 또는 둘 이상의 펨토셀들과 통신가능할 수 있다. 본 명세서에서 사용된 바와 같이, "펨토셀"은, 예를 들어, 디지털 가입자 회선(DSL: Digital Subscriber Line) 또는 케이블과 같은 광대역을 통해, 예를 들어, 서비스 제공자의 네트워크에 접속하도록 인에이블될 수 있는 하나 또는 둘 이상의 더 작은 크기의 셀룰러 기지국들을 지칭할 수 있다. 전형적으로, 반드시 그러한 것은 아니지만, 펨토셀은, 예를 들어, 많은 가능한 것 중에서 몇 가지만 예를 들면, 범용 모바일 전기통신 시스템(UTMS: Universal Mobile Telecommunications System), 롱 텀 에볼루션(LTE), 최적화된 에볼루션 데이터 또는 에볼루션 데이터 전용(EV-DO), GSM, WiMAX(Worldwide Interoperability for Microwave Access), 코드 분할 다중 액세스(CDMA)-2000 또는 시분할 동기식 코드 분할 다중 액세스(TD-SCDMA)와 같은 다양한 타입들의 통신 기술을 이용할 수 있거나 또는 그렇지 않으면 이러한 통신 기술과 호환가능할 수 있다. 특정 구현들에서, 펨토셀은, 예를 들어, 통합된 WiFi를 포함할 수 있다. 그러나, 펨토셀들에 관한 이러한 세부 사항들은 단지 예들일 뿐이며, 청구 대상은 그렇게 한정되는 것은 아니다.
또한, 컴퓨터 판독가능한 코드 또는 명령들은 물리적 송신 매체들 상에서 신호들을 통해 (예를 들어, 전기 디지털 신호들을 통해) 송신기로부터 수신기로 송신될 수 있다. 예를 들어, 소프트웨어는 동축 케이블, 광섬유 케이블, 트위스티드 페어(twisted pair), 디지털 가입자 회선(DSL), 또는 (적외선, 라디오 및 마이크로파와 같은) 무선 기술들의 물리적 컴포넌트들을 사용하여 웹사이트, 서버 또는 다른 원격 소스로부터 송신될 수 있다. 위의 것들의 조합들은 또한 물리적 송신 매체들의 범위 내에 포함될 수 있다. 이러한 컴퓨터 명령들 또는 데이터는 상이한 시점들에서(예를 들어, 제 1 시점 및 제 2 시점에서) 부분들(예를 들어, 제 1 부분 및 제 2 부분)에서 송신될 수 있다. 이 발명을 실시하기 위한 구체적인 내용의 일부 부분들은 특정 장치 또는 특수 목적의 컴퓨팅 디바이스 또는 플랫폼의 메모리 내에 저장된 2진 디지털 신호들에 대한 동작들의 알고리즘들 또는 기호적 표현들에 관하여 제시된다. 이러한 특정 명세서의 맥락에서, 특정 장치 등의 용어는 범용 컴퓨터가 프로그램 소프트웨어로부터의 명령들에 따라 특정 기능들을 수행하도록 프로그래밍된다면, 이러한 범용 컴퓨터를 포함한다. 알고리즘적 설명들 또는 기호적 표현들은 신호 프로세싱 또는 관련 기술들에서 통상의 지식을 가진 자들에 의해, 이들의 작업의 핵심을 해당 기술분야에서 통상의 지식을 가진 다른 자들에게 전달하는데 사용되는 기법들의 예들이다. 알고리즘은 여기서 그리고 일반적으로, 원하는 결과를 초래하는 동작들 또는 유사한 신호 프로세싱의 자기 부합적 시퀀스로 간주된다. 이러한 맥락에서, 동작들 또는 프로세싱은 물리량들의 물리적 조작을 포함한다. 전형적으로, 반드시 그러한 것은 아니지만, 이러한 양들은 저장, 전송, 조합, 비교, 또는 그렇지 않으면 조작될 수 있는 전기 또는 자기 신호들의 형태를 취할 수 있다.
주로 통상적인 사용의 이유들로 인하여, 이러한 신호들을 비트들, 정보, 값들, 엘리먼트들, 심볼들, 문자들, 변수들, 항들, 번호들, 숫자들 등으로 지칭하는 것이 때때로 편리하다고 판명되었다. 그러나, 이러한 또는 유사한 용어들 전부는 적절한 물리량들과 연관되며 단지 편리한 라벨들일 뿐이라는 것이 이해되어야 한다. 구체적으로 달리 명시되지 않는다면, 위의 논의로부터 명백한 바와 같이, 본 명세서 전반에서 "프로세싱", "컴퓨팅", "계산", "결정", "확인", "식별", "연관", "측정", "수행" 등과 같은 용어들을 이용한 논의들은 특수 목적의 컴퓨터 또는 유사한 특수 목적의 전자 컴퓨팅 디바이스와 같은 특정 장치의 동작들 또는 프로세스들을 지칭하는 것이 인식된다. 따라서, 본 명세서의 맥락에서, 특수 목적의 컴퓨터 또는 유사한 특수 목적의 전자 컴퓨팅 디바이스는 전형적으로, 특수 목적의 컴퓨터 또는 유사한 특수 목적의 전자 컴퓨팅 디바이스의 메모리들, 레지스터들, 또는 다른 정보 저장 디바이스들, 송신 디바이스들 또는 디스플레이 디바이스들 내에서 물리적 전자, 전기 또는 자기 수량들로서 표현되는 신호들을 조작 또는 변환할 수 있다.
본 명세서에서 사용된 바와 같은 "및" 그리고 "또는"과 같은 용어들은 적어도 부분적으로 이러한 용어들이 사용되는 맥락에 의존하는 것으로도 또한 예상되는 다양한 의미들을 포함할 수 있다. 전형적으로, "또는"은 A, B 또는 C와 같이 리스트를 연관시키는데 사용된다면, 여기서 배타적인 의미로 사용되는 A, B 또는 C뿐만 아니라, 여기서 포괄적인 의미로 사용되는 A, B 그리고 C를 의미하는 것으로 의도된다. 또한, 본 명세서에서 사용된 바와 같은 "하나 또는 둘 이상의"이라는 용어는 임의의 특징, 구조 또는 특성을 단수로 설명하는데 사용될 수 있거나, 또는 특징들, 구조들 또는 특성들의 일부 조합을 설명하는데 사용될 수 있다. 그러나, 이는 단지 예시적인 예일 뿐이고, 청구 대상은 이러한 예로 한정되는 것은 아니라는 점이 주목되어야 한다.
본 명세서에서는 다양한 방법들 또는 시스템들을 사용하여 특정 예시적인 기법들이 설명 및 도시되었지만, 청구 대상을 벗어나지 않으면서 다양한 다른 변경들이 이루어질 수 있으며, 등가물들이 치환될 수 있다는 것이 해당 기술분야에서 통상의 지식을 가진 자들에 의해 이해되어야 한다. 추가적으로, 본 명세서에 설명된 중심 개념을 벗어나지 않으면서 특정 상황을 청구 대상의 교시들에 적응시키도록 많은 변경들이 이루어질 수 있다. 따라서, 청구 대상은 개시된 특정한 예들로 한정되는 것이 아니라, 이러한 청구 대상이 또한 첨부된 청구항들의 범위 내에 있는 모든 구현들 및 이들의 등가물들을 포함할 수 있다는 것이 의도된다.

Claims (29)

  1. 방법으로서,
    복수의 활동 분류들 각각에 대하여:
    모바일 디바이스의 하나 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초하여 동시 분류기들로부터 둘 이상의 과거 에포크(epoch)들에 대한 상기 복수의 활동 분류들 각각에 대하여 활동 우도 함수 값들을 결정하는 단계;
    현재 에포크에서 활동 분류에 대한 우도 함수를 결정하기 위해서 상기 활동 우도 함수 값들을 결합하는 단계; 및
    상기 현재 에포크에서 상기 활동 분류에 대하여 결정된 우도 함수에 적어도 부분적으로 기초하여 상기 모바일 디바이스와 공동 위치된(co-located) 사용자의 현재 활동을 상기 활동 분류들 중 하나로 추론하는 단계를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 활동 우도 함수 값들은, 로그 우도들을 포함하는,
    방법.
  3. 제 1 항에 있어서,
    상기 현재 활동을 추론하는 단계는, 결합된 우도 함수 값들을 시간적 보우팅(Temporal Voting)을 사용하여 필터링하는 단계를 포함하는,
    방법.
  4. 제 1 항에 있어서,
    상기 현재 활동을 추론하는 단계는, 결합된 우도 함수 값들을 최대 우도 필터링(Maximum Likelihood Filtering)을 사용하여 필터링하는 단계를 포함하는,
    방법.
  5. 제 1 항에 있어서,
    상기 현재 활동을 추론하는 단계는, 결합된 우도 함수 값들을 최대 선험 필터링(Maximum A Priori Filtering)을 사용하여 필터링하는 단계를 포함하는,
    방법.
  6. 제 1 항에 있어서,
    상기 현재 활동을 추론하는 단계는, 결합된 우도 함수 값들을 유한 임펄스 응답 필터(Finite Impulse Response filter)를 사용하여 필터링하는 단계를 포함하는,
    방법.
  7. 제 1 항에 있어서,
    상기 현재 활동을 추론하는 단계는, 결합된 우도 함수 값들을 무한 임펄스 응답 필터(Infinite Impulse Response filter)를 사용하여 필터링하는 단계를 포함하는,
    방법.
  8. 제 1 항에 있어서,
    상기 복수의 활동 분류들 각각은 상호 배타적인,
    방법.
  9. 제 1 항에 있어서,
    상기 하나 이상의 센서들은, 적어도 하나의 가속도계를 포함하는,
    방법.
  10. 제 9 항에 있어서,
    상기 하나 이상의 센서들은, 3개의 선형 차원들 각각에서 상기 적어도 하나의 가속도계를 포함하는,
    방법.
  11. 제 1 항에 있어서,
    상기 현재 에포크에서 상기 활동 분류에 대하여 상기 우도 함수를 결정하기 위해서 상기 활동 우도 함수 값들을 결합하는 단계는, 둘 이상의 과거 에포크들에 걸쳐 최고 우도 함수를 가장 빈번하게 갖는 상기 활동 분류를 식별하는 단계를 더 포함하는,
    방법.
  12. 장치로서,
    복수의 활동 분류들 각각에 대하여:
    모바일 디바이스의 하나 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초하여 동시 분류기들로부터 둘 이상의 과거 에포크들에 대한 상기 복수의 활동 분류들 각각에 대하여 활동 우도 함수 값들을 결정하기 위한 수단;
    현재 에포크에서 활동 분류에 대한 우도 함수를 결정하기 위해서 상기 활동 우도 함수 값들을 결합하기 위한 수단; 및
    상기 현재 에포크에서 상기 활동 분류에 대하여 결정된 우도 함수에 적어도 부분적으로 기초하여 상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 상기 복수의 활동 분류들 중 하나로 추론하기 위한 수단을 포함하는,
    장치.
  13. 제 12 항에 있어서,
    상기 현재 활동을 추론하기 위한 수단은, 시간적 보우팅, 최대 우도 필터링, 최대 선험 필터링, 유한 임펄스 응답 필터링 및 무한 임펄스 응답 필터링 중 적어도 하나를 포함하는,
    장치.
  14. 제 12 항에 있어서,
    상기 하나 이상의 센서들은, 3개의 선형 차원들 각각에서 적어도 하나의 가속도계를 포함하는,
    장치.
  15. 물품으로서,
    복수의 활동 분류들 각각에 대하여:
    모바일 디바이스의 하나 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초하여 동시 분류기들로부터 둘 이상의 과거 에포크들에 대한 활동 분류에 대하여 활동 우도 함수 값들을 결정하고;
    현재 에포크에서 상기 활동 분류에 대한 우도 함수를 결정하기 위해서 상기 활동 우도 함수 값들을 결합하고; 그리고
    상기 현재 에포크에서 상기 활동 분류에 대하여 결정된 우도 함수에 적어도 부분적으로 기초하여 상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 상기 활동 분류들 중 하나로 추론하도록,
    상기 모바일 디바이스의 프로세서에 의해 실행가능한 기계 판독가능한 명령들이 저장된 비-일시적 저장 매체를 포함하는,
    물품.
  16. 제 15 항에 있어서,
    상기 비-일시적 저장 매체는, 시간적 보우팅을 사용하여 상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위해서 상기 모바일 디바이스의 프로세서에 의해 실행가능한, 저장된 기계 판독가능한 명령들을 더 포함하는,
    물품.
  17. 제 15 항에 있어서,
    상기 비-일시적 저장 매체는, 최대 우도 필터링을 사용하여 상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위해서 상기 모바일 디바이스의 프로세서에 의해 실행가능한, 저장된 기계 판독가능한 명령들을 더 포함하는,
    물품.
  18. 제 15 항에 있어서,
    상기 비-일시적 저장 매체는, 최대 선험 필터링을 사용하여 상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위해서 상기 모바일 디바이스의 프로세서에 의해 실행가능한, 저장된 기계 판독가능한 명령들을 더 포함하는,
    물품.
  19. 제 15 항에 있어서,
    상기 비-일시적 저장 매체는, 유한 임펄스 응답 필터링을 사용하여 상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위해서 상기 모바일 디바이스의 프로세서에 의해 실행가능한, 저장된 기계 판독가능한 명령들을 더 포함하는,
    물품.
  20. 제 15 항에 있어서,
    상기 비-일시적 저장 매체는, 무한 임펄스 응답 필터링을 사용하여 상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위해서 상기 모바일 디바이스의 프로세서에 의해 실행가능한, 저장된 기계 판독가능한 명령들을 더 포함하는,
    물품.
  21. 모바일 디바이스로서,
    하나 이상의 센서들; 및
    프로세서를 포함하고,
    상기 프로세서는, 복수의 활동 분류들 각각에 대하여:
    상기 하나 이상의 센서들로부터의 신호들에 적어도 부분적으로 기초하여 동시 분류기들로부터 둘 이상의 과거 에포크들에 대한 상기 복수의 활동 분류들에 대하여 활동 우도 함수 값들을 결정하고;
    현재 에포크에서 활동 분류에 대한 우도 함수를 결정하기 위해서 상기 활동 우도 함수 값들을 결합하고; 그리고
    상기 현재 에포크에서 상기 활동 분류에 대하여 결정된 우도 함수에 적어도 부분적으로 기초하여 상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 상기 활동 분류들 중 하나로 추론하는,
    모바일 디바이스.
  22. 제 21 항에 있어서,
    상기 하나 이상의 센서들로부터의 신호들은, 3개의 선형 차원들에서 가속도계 트레이스들을 포함하는,
    모바일 디바이스.
  23. 제 21 항에 있어서,
    상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위한 상기 프로세서는, 시간적 보우팅을 구현하는,
    모바일 디바이스.
  24. 제 21 항에 있어서,
    상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위한 상기 프로세서는, 최대 우도 필터링을 구현하는,
    모바일 디바이스.
  25. 제 21 항에 있어서,
    상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위한 상기 프로세서는, 최대 선험 필터링을 구현하는,
    모바일 디바이스.
  26. 제 21 항에 있어서,
    상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위한 상기 프로세서는, 유한 임펄스 응답 필터링을 구현하는,
    모바일 디바이스.
  27. 제 21 항에 있어서,
    상기 모바일 디바이스와 공동 위치된 사용자의 현재 활동을 추론하기 위한 상기 프로세서는, 무한 임펄스 응답 필터링을 구현하는,
    모바일 디바이스.
  28. 삭제
  29. 삭제
KR1020137028951A 2011-03-31 2012-03-30 모바일 디바이스에서의 우도 함수 값들의 결합을 사용하여 사용자 활동을 분류하기 위한 시스템들, 방법들 및 장치들 KR101573196B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161470016P 2011-03-31 2011-03-31
US61/470,016 2011-03-31
US13/362,893 US8930300B2 (en) 2011-03-31 2012-01-31 Systems, methods, and apparatuses for classifying user activity using temporal combining in a mobile device
US13/362,893 2012-01-31
PCT/US2012/031697 WO2012135767A1 (en) 2011-03-31 2012-03-30 Systems, methods, and apparatuses for classifying user activity using combining of likelihood function values in a mobile device

Publications (2)

Publication Number Publication Date
KR20130138321A KR20130138321A (ko) 2013-12-18
KR101573196B1 true KR101573196B1 (ko) 2015-12-01

Family

ID=46928590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137028951A KR101573196B1 (ko) 2011-03-31 2012-03-30 모바일 디바이스에서의 우도 함수 값들의 결합을 사용하여 사용자 활동을 분류하기 위한 시스템들, 방법들 및 장치들

Country Status (6)

Country Link
US (1) US8930300B2 (ko)
EP (2) EP2691918A1 (ko)
JP (1) JP5923593B2 (ko)
KR (1) KR101573196B1 (ko)
CN (1) CN103460221B (ko)
WO (1) WO2012135767A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9659333B2 (en) 2012-10-26 2017-05-23 Disney Enterprises, Inc. Dining experience management
US20140122170A1 (en) * 2012-10-26 2014-05-01 Disney Enterprises, Inc. Detection of guest position
US8948783B2 (en) * 2013-06-28 2015-02-03 Facebook, Inc. User activity tracking system
US9125015B2 (en) 2013-06-28 2015-09-01 Facebook, Inc. User activity tracking system and device
CN104348855B (zh) * 2013-07-29 2018-04-27 华为技术有限公司 用户信息的处理方法、移动终端及服务器
GB2516865A (en) * 2013-08-02 2015-02-11 Nokia Corp Method, apparatus and computer program product for activity recognition
US9942384B2 (en) 2013-09-10 2018-04-10 Google Technology Holdings LLC Method and apparatus for device mode detection
US10422810B2 (en) * 2013-10-14 2019-09-24 Nike, Inc. Calculating pace and energy expenditure from athletic movement attributes
US9418342B2 (en) * 2013-12-06 2016-08-16 At&T Intellectual Property I, L.P. Method and apparatus for detecting mode of motion with principal component analysis and hidden markov model
US9159294B2 (en) 2014-01-31 2015-10-13 Google Inc. Buttonless display activation
US20160357265A1 (en) * 2014-02-10 2016-12-08 Apple Inc. Motion gesture input detected using optical sensors
US9037199B1 (en) 2014-02-13 2015-05-19 Google Inc. Detecting transitions between physical activity
US8976063B1 (en) 2014-04-29 2015-03-10 Google Inc. Automated detection of vehicle parking and location
US10652696B2 (en) * 2014-07-30 2020-05-12 Trusted Positioning, Inc. Method and apparatus for categorizing device use case for on foot motion using motion sensor data
KR101685495B1 (ko) * 2014-12-03 2016-12-28 한국과학기술연구원 이종 센서 매시업 방법, 이를 수행하기 위한 기록 매체 및 장치
CN104503888B (zh) * 2014-12-16 2018-02-02 小米科技有限责任公司 告警提示的方法及装置
US10184797B2 (en) * 2015-12-18 2019-01-22 Invensense, Inc. Apparatus and methods for ultrasonic sensor navigation
US10118696B1 (en) 2016-03-31 2018-11-06 Steven M. Hoffberg Steerable rotating projectile
US10564177B2 (en) 2016-08-01 2020-02-18 Samsung Electronics Co., Ltd. System and method for user activity recognition using accelerometer
US10743777B2 (en) * 2016-12-08 2020-08-18 Qualcomm Incorporated Cardiovascular parameter estimation in the presence of motion
US11041877B2 (en) * 2016-12-20 2021-06-22 Blackberry Limited Determining motion of a moveable platform
US10467230B2 (en) 2017-02-24 2019-11-05 Microsoft Technology Licensing, Llc Collection and control of user activity information and activity user interface
US10732796B2 (en) 2017-03-29 2020-08-04 Microsoft Technology Licensing, Llc Control of displayed activity information using navigational mnemonics
US10671245B2 (en) 2017-03-29 2020-06-02 Microsoft Technology Licensing, Llc Collection and control of user activity set data and activity set user interface
US10853220B2 (en) 2017-04-12 2020-12-01 Microsoft Technology Licensing, Llc Determining user engagement with software applications
US10693748B2 (en) 2017-04-12 2020-06-23 Microsoft Technology Licensing, Llc Activity feed service
FR3066296A1 (fr) * 2017-05-10 2018-11-16 Stmicroelectronics (Rousset) Sas Procede de controle de detection, avec filtrage, de scenes par un appareil, par exemple un appareil de communication sans fil, et appareil correspondant
US10588517B2 (en) 2017-05-19 2020-03-17 Stmicroelectronics, Inc. Method for generating a personalized classifier for human motion activities of a mobile or wearable device user with unsupervised learning
US11580088B2 (en) 2017-08-11 2023-02-14 Microsoft Technology Licensing, Llc Creation, management, and transfer of interaction representation sets
US11712637B1 (en) 2018-03-23 2023-08-01 Steven M. Hoffberg Steerable disk or ball
US20190365286A1 (en) * 2018-06-01 2019-12-05 Apple Inc. Passive tracking of dyskinesia/tremor symptoms
US20200384313A1 (en) * 2019-06-05 2020-12-10 Qeexo, Co. Method and apparatus for calibrating a user activity model used by a mobile device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005242619A (ja) 2004-02-26 2005-09-08 Nippon Telegr & Teleph Corp <Ntt> ユーザ活動履歴可視化・分析方法、ユーザ活動履歴可視化・分析装置、および、プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145389A (en) 1996-11-12 2000-11-14 Ebeling; W. H. Carl Pedometer effective for both walking and running
AU2001231117A1 (en) 2000-01-24 2001-07-31 Ambulatory Monitoring, Inc. System and method of monitoring and modifying human activity-based behavior
US7797106B2 (en) * 2005-06-30 2010-09-14 Nokia Corporation System and method for adjusting step detection based on motion information
US7925995B2 (en) 2005-06-30 2011-04-12 Microsoft Corporation Integration of location logs, GPS signals, and spatial resources for identifying user activities, goals, and context
US7460951B2 (en) * 2005-09-26 2008-12-02 Gm Global Technology Operations, Inc. System and method of target tracking using sensor fusion
US7653508B1 (en) 2006-12-22 2010-01-26 Dp Technologies, Inc. Human activity monitoring device
US20080162202A1 (en) 2006-12-29 2008-07-03 Richendra Khanna Detecting inappropriate activity by analysis of user interactions
KR100934225B1 (ko) 2007-09-21 2009-12-29 한국전자통신연구원 일상생활 행위 인식을 위한 주체자의 행위 분류 보정 장치및 방법, 이를 이용한 일상생활 행위 인식 시스템
WO2009062176A2 (en) 2007-11-09 2009-05-14 Google Inc. Activating applications based on accelerometer data
JP2012003494A (ja) 2010-06-16 2012-01-05 Sony Corp 情報処理装置、情報処理方法及びプログラム
CN101984454B (zh) * 2010-11-19 2012-11-07 杭州电子科技大学 一种基于数据驱动的多源多特征信息融合方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005242619A (ja) 2004-02-26 2005-09-08 Nippon Telegr & Teleph Corp <Ntt> ユーザ活動履歴可視化・分析方法、ユーザ活動履歴可視化・分析装置、および、プログラム

Also Published As

Publication number Publication date
EP3173971A1 (en) 2017-05-31
JP2014513285A (ja) 2014-05-29
WO2012135767A1 (en) 2012-10-04
JP5923593B2 (ja) 2016-05-24
US20120254100A1 (en) 2012-10-04
EP2691918A1 (en) 2014-02-05
CN103460221B (zh) 2017-10-10
KR20130138321A (ko) 2013-12-18
US8930300B2 (en) 2015-01-06
CN103460221A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
KR101573196B1 (ko) 모바일 디바이스에서의 우도 함수 값들의 결합을 사용하여 사용자 활동을 분류하기 위한 시스템들, 방법들 및 장치들
KR101834374B1 (ko) 시간 기준 특징들의 시간적 스케일링을 이용한 활동 분류를 위한 방법들, 디바이스들 및 장치들
KR20160096224A (ko) 모바일 디바이스의 포지션을 추론하기 위한 디바이스들, 방법들, 및 장치들
US10451744B2 (en) Detecting user activity based on location data
KR101608878B1 (ko) 가속도계를 이용한 정지 검출
EP2699983B1 (en) Methods and apparatuses for facilitating gesture recognition
EP3637306A1 (en) Learning situations via pattern matching
US9702899B2 (en) Pedometer with lag correction
FR2950713A1 (fr) Systeme et procede de reconnaissance de gestes
US20170344123A1 (en) Recognition of Pickup and Glance Gestures on Mobile Devices
Yang et al. Physical activity recognition with mobile phones: challenges, methods, and applications
CN116137037A (zh) 相机运动场景确定方法及装置、可读介质和电子设备
CN115727870A (zh) 数据处理方法、装置及终端设备
Oliveira Complement the touch information given by the smartphone's capacitive screens with the information received by the accelerometer and gyroscope
FR3055957A1 (fr) Technique de detection de pas

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee