KR20160105975A - 올웨이즈 온 기압계를 통한 포지셔닝을 위한 방법 및 장치 - Google Patents

올웨이즈 온 기압계를 통한 포지셔닝을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20160105975A
KR20160105975A KR1020167021194A KR20167021194A KR20160105975A KR 20160105975 A KR20160105975 A KR 20160105975A KR 1020167021194 A KR1020167021194 A KR 1020167021194A KR 20167021194 A KR20167021194 A KR 20167021194A KR 20160105975 A KR20160105975 A KR 20160105975A
Authority
KR
South Korea
Prior art keywords
pressure change
mobile device
pressure
rate
determining
Prior art date
Application number
KR1020167021194A
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 퀄컴 인코포레이티드
Publication of KR20160105975A publication Critical patent/KR20160105975A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C5/00Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
    • G01C5/06Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels by using barometric means
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/94Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the way in which the control signals are generated
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Measuring Fluid Pressure (AREA)
  • Telephone Function (AREA)

Abstract

압력 센서 데이터(502)에 기초하여 애플리케이션들을 효율적으로 실행하기 위한 본 개시의 방법들, 장치들 및 비일시적인 프로세서-판독 가능 매체가 제공된다. 일부 실시예들에서, 방법은 압력을 모니터링하는 단계(602), 및 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하는 단계(604)를 포함한다. 상기 방법은 시간에 걸친 압력 변화의 레이트가 더 이상 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하는 단계(606)를 더 포함한다. 상기 방법은 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하는 단계(608), 및 층 명확화(disambiguation)를 수행하는 단계(610)를 포함한다.

Description

올웨이즈 온 기압계를 통한 포지셔닝을 위한 방법 및 장치{METHOD AND APPARATUS FOR POSITIONING WITH ALWAYS ON BAROMETER}
[0001] 본 개시들은 일반적으로 에너지 및 시간-효율적인 방식으로 압력 센서 판독들을 사용하는 것에 관한 것이다.
[0002] 모바일 디바이스와 같은 디바이스에서, 압력-관련 측정들, 예를 들면, 기압계로부터의 압력 센서 판독들은 횡단된 경로를 결정하는 것 또는 디바이스가 무슨 층 상에 있는지를 결정하는 것과 같은 다양한 애플리케이션들에서 유용할 수 있다. 그러나, 일반화된 애플리케이션 프로세서에 의해 압력을 모니터링하는 것이 오히려 전력 집약적일 수 있다.
[0003] 따라서, 압력 센서 판독들을 사용하는 새로운 설계들 또는 기술들이 요구된다.
[0004] 다양한 애플리케이션들에서 에너지 및 시간-효율적인 방식으로 기압계 판독들과 같은 압력 센서 데이터를 사용하기 위한 방법들 및 시스템들이 제공된다.
[0005] 일부 실시예들에서, 예를 들면, 모바일 디바이스에 대한 고도 또는 층 변화들을 검출하기 위한 방법이 제공된다. 상기 방법은 압력을 모니터링하는 단계, 및 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하는 단계를 포함할 수 있다. 상기 방법은 시간에 걸친 압력 변화의 레이트가 더 이상 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하는 단계, 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하는 단계를 더 포함할 수 있다. 상기 방법은 층 명확화(disambiguation)를 수행하는 단계를 더 포함할 수 있다.
[0006] 일부 실시예들에서, 상기 방법은 압력 변화와 연관된 TTL(time-to-live) 유효 기간을 수신하는 단계, 압력 변화와 연관된 TTL 유효 기간이 만료되었다고 결정하는 단계, 및 압력 변화의 레이트 및 압력 변화를 무시하는 단계를 더 포함할 수 있다.
[0007] 일부 실시예들에서, 상기 방법은 모바일 디바이스가 실내 장소에 위치된다고 결정하는 단계, 및 층 명확화를 수행하는 단계를 더 포함할 수 있다.
[0008] 일부 실시예들에서, 상기 방법은 모바일 디바이스의 속도가 속도 임계치를 초과한다고 결정하는 단계, 및 압력을 무시하는 단계를 더 포함할 수 있다.
[0009] 일부 실시예들에서, 시간에 걸쳐 압력을 모니터링하는 단계, 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하는 단계, 시간에 걸친 압력 변화의 레이트가 더 이상 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하는 단계, 및 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하는 단계는 센서 코어를 사용하여 수행된다. 일부 실시예들에서, 층 명확화는 애플리케이션 코어를 사용하여 수행되고, 센서 코어는 애플리케이션 코어보다 더 적은 전력을 사용한다.
[0010] 일부 실시예들에서, 층 명확화는 압력 센서로부터의 데이터를 사용하여 수행된다. 일부 실시예들에서, 층 명확화는 하나 이상의 지상(terrestrial) 무선 트랜시버들로부터 수신된 데이터를 사용하여 수행된다.
[0011] 일부 실시예들에서, 장치가 제공된다. 상기 장치는 압력을 모니터링하고, 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하고, 시간에 걸친 압력 변화의 레이트가 더 이상 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하고, 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하도록 구성된 센서 코어를 포함할 수 있다. 상기 장치는 또한 층 명확화를 수행하도록 구성된 애플리케이션 코어를 포함할 수 있다.
[0012] 일부 실시예들에서, 다른 장치가 제공된다. 상기 장치는 압력을 모니터링하기 위한 수단, 및 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하기 위한 수단을 포함할 수 있다. 상기 장치는 시간에 걸친 압력 변화의 레이트가 더 이상 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하기 위한 수단, 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하기 위한 수단, 및 층 명확화를 수행하기 위한 수단을 더 포함할 수 있다.
[0013] 일부 실시예들에서, 비일시적인 프로세서-판독 가능 매체가 제공된다. 비일시적인 프로세서-판독 가능 매체는 프로세서-판독 가능 명령들을 포함할 수 있고, 이는 압력을 모니터링하기 위한 코드, 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하기 위한 코드, 시간에 걸친 압력 변화의 레이트가 더 이상 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하기 위한 코드, 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하기 위한 코드, 및 층 명확화를 수행하기 위한 코드를 포함한다.
[0014] 다양한 실시예들의 특성 및 이점들의 추가의 이해가 다음의 도면들에 대한 참조에 의해 실현될 수 있다. 첨부된 도면들에서, 유사한 컴포넌트들 또는 특징들은 동일한 참조 라벨을 가질 수 있다. 추가로, 동일한 타입의 다양한 컴포넌트들은 참조 라벨 다음에 대시기호 및 유사한 컴포넌트들 사이를 구별하는 제 2 라벨에 의해 구별될 수 있다. 단지 제 1 참조 라벨만이 본 명세서에서 사용된다면, 본 설명은 제 2 참조 라벨과 관계없이 동일한 제 1 참조 라벨을 갖는 유사한 컴포넌트들 중 임의의 하나의 컴포넌트에 적용가능하다.
[0015] 도 1은 본 개시의 다양한 실시예들을 구현할 수 있는 예시적인 디바이스이다.
[0016] 도 2는 일부 실시예들에 따른, 압력 데이터를 사용하는 모바일 디바이스의 다양한 예들을 예시한다.
[0017] 도 3은 일부 실시예들에 따른 프로세서뿐만 아니라 산업에서 현재의 예시적인 프로세서의 간략한 예를 예시한다.
[0018] 도 4는 일부 실시예들에 따른 모바일 디바이스 서브시스템의 예시적인 기능적 블록도를 예시한다.
[0019] 도 5a는 일부 실시예들에 따른 방법을 예시한 예시적인 흐름도를 예시한다.
[0020] 도 5b는 일부 실시예들에 따른 방법을 예시한 예시적인 흐름도를 예시한다.
[0021] 도 6은 일부 실시예들에 따른 방법을 예시한 예시적인 흐름도를 예시한다.
[0022] 도 7은 일부 실시예들에 따른 모바일 디바이스의 블록도이다.
[0023] 몇몇 예시적 실시예들은 이제, 실시예들의 일부를 형성하는 첨부한 도면들에 대해 설명될 것이다. 본 개시의 하나 이상의 양상들이 구현될 수 있는 특정 실시예들이 아래에서 설명되지만, 다른 실시예들이 사용될 수 있고, 다양한 수정들이 본 개시의 범위 또는 첨부된 청구항들의 사상으로부터 벗어나지 않고 이루어질 수 있다.
[0024] 애플리케이션들에서 기압계 판독들을 에너지 및 시간-효율적인 방식으로 사용하기 위한 방법들 및 장치들이 제공된다. 다양한 애플리케이션들 및 목적들에 대해 디바이스에서 기압계 판독들을 사용하는 것은, 기압계 판독들을 위한 연속적인 샘플링이 대량의 전력을 요구할 수 있기 때문에, 전력 집약적일 수 있다. 동일하거나 심지어 더 빠른 샘플링 레이트들을 가능하게 하면서, 기압계 측정들을 사용하기 위한 새로운 설계들 또는 기술들이 요구된다.
[0025] 본 개시들의 양상들은 기압계 측정들을 효율적으로 샘플링하고, 기압계 측정들에서 발견된 특정 패턴들에 기초하여 다양한 애플리케이션들을 실행하기 위한 방법들을 포함한다. 예를 들면, 일부 실시예들에서, 층 명확화 기술들(floor disambiguation techniques)은, 예를 들면, 기압계 측정들에 기초한 압력 센서 데이터가 일부 미리 결정된 임계치를 넘어 충분히 변하였다고 결정될 때, 실행될 수 있다. 본원에 사용된 바와 같이, 층 명확화 기술은, 모바일 디바이스가 위치된 층 또는 고도를 결정하는 프로그램 또는 애플리케이션을 지칭할 수 있다. 결정된 층 또는 고도를 사용하여, 층 명확화 기술은 결정된 층 또는 고도에 대응하는 맵 또는 다른 기준 정보를 리트리브(retrieve)할 수 있다. 층 명확화 기술들에 관한 추가의 세부사항들이 아래에 설명될 것이다. 일부 경우들에서, 층들을 변경하기 위한 수단, 예를 들면, 계단들, 엘리베이터들, 에스컬레이터들 등에 관련된 애플리케이션(본원에서 "층-변경 포털들"로 지칭될 수 있는 것의 집합체)은, 압력 센서 데이터의 시간에 걸친 변화 레이트(제 1 도함수)가 다른 미리 결정된 임계치를 넘어 충분히 변하였다고 결정될 때, 트리거링될 수 있다. 다른 애플리케이션들은 압력 센서 데이터에서 관찰된 다른 패턴들에 기초하여 실행될 수 있고, 본 개시들의 범위 내에 있다. 이들 및 다른 예들은 아래에 더 상세히 설명될 것이다.
[0026] 본 개시들의 다른 양상들은, 애플리케이션들이 기압계 측정들을 액세스하도록 여전히 허용하면서, 기압계 측정들을 효율적으로 샘플링하기 위한 새로운 프로세서 설계를 포함한다. 일부 실시예들에서, 장치는 적어도 2 개의 코어들을 포함하는 프로세서를 포함한다. 일부 실시예들에서, 아래에 설명되는 코어들에 의해 수행되는 기능들 각각은 2 개의 별개의 프로세서들 상에서 수행될 수 있다. 제 1 코어 또는 프로세서는 애플리케이션들을 실행 또는 동작시키도록 구성되고, 반면에 제 2 코어 또는 프로세서는 기압계 측정들 및 그의 패턴들을 검출 및 기록하도록 구성된다. 제 2 코어 또는 프로세서는 애플리케이션들을 실행할 수 없다. 일부 실시예들에서, 제 2 코어 또는 프로세서는 애플리케이션들을 실행하는 제 1 코어 또는 프로세서보다 실질적으로 더 적은 전력(예를 들면, ~10x 미만의 전력)을 요구한다. 일부 실시예들에서, 제 1 코어 또는 프로세서 및 제 2 코어 또는 프로세서는, 전력 및 에너지 효율적인 특정 방식으로 서로와 통신하도록 구성된다. 예들이 아래에 더 상세히 설명될 것이다.
[0027] 도 1을 참조하면, 예시적인 컴퓨팅 디바이스(100)는 본 개시의 하나 이상의 양상들을 구현하도록 구성될 수 있다. 예를 들면, 컴퓨팅 디바이스(100)는 스마트 폰, 태블릿 컴퓨터, 개인 휴대 정보 단말기, 또는 컴퓨팅 디바이스(100)가 입력 형태로 기압계 판독들 또는 다른 압력 데이터(예를 들면, 공기 압력 등)를 수신하도록 허용하는 하나 이상의 센서들이 장착된 다른 모바일 디바이스일 수 있다. 일부 실시예들에서, 컴퓨팅 디바이스(100)는 모바일 디바이스가 아니고, 예를 들면, 데스크톱 컴퓨터, 게임 기계, 고정 센서 또는 카메라, 또는 무선 또는 유선으로 함께 커플링된 기계들의 시스템일 수 있다. 컴퓨팅 디바이스(100)는 하나 이상의 압력 센서들, 가령, 하나 이상의 기압계들, 고도계들 및/또는 다른 센서들이 장착되고, 이와 통신 가능하게 커플링되고 및/또는 그렇지 않다면 이를 포함할 수 있다. 하나 이상의 센서들을 포함하는 것 이외에, 컴퓨팅 디바이스(100)는 또한, 아래에 더 상세히 설명되는 바와 같이, 하나 이상의 프로세서들, 메모리 유닛들 및/또는 다른 하드웨어 컴포넌트들을 포함할 수 있다.
[0028] 하나 이상의 배열들에서, 컴퓨팅 디바이스(100)는 기압을 측정하거나 다른 압력 데이터를 획득하기 위한 이들 센서들 중 임의의 것 및/또는 전부를 단독으로 또는 조합하여 사용할 수 있다. 예를 들면, 컴퓨팅 디바이스(100)는 컴퓨팅 디바이스(100)의 고도에서 압력 데이터를 획득하기 위해 하나 이상의 기압계들을 사용할 수 있다. 또한, 고도의 변화들은 2 개의 실질적으로 동시에 발생하는 시점들 사이에서 획득되는 압력 데이터의 변화에 기초하여 하나 이상의 기압계들을 사용하여 결정될 수 있다. 더 복잡한 예로서, 컴퓨팅 디바이스(100) 내의 하나 이상의 기압계들과 조합하여 하나 이상의 프로세서들은 컴퓨팅 디바이스(100)의 사용자가 고도를 변경하는 수단이 무엇인지, 가령, 엘리베이터, 에스컬레이터 또는 계단들을 결정하는데 사용될 수 있다. 이러한 예시적인 기압 판독들 및 사용들이 예들로서 본원에 설명되지만, 컴퓨팅 디바이스(100) 내의 하나 이상의 센서들을 통해서든지 또는 무선 수단 또는 유선 수단을 통해서든지, 컴퓨팅 디바이스(100)에 의해 획득되는 임의의 다른 종류의 압력 데이터는 본 개시의 하나 이상의 양상들을 구현하는 것의 부분으로서 고려될 수 있다.
[0029] 도 2를 참조하면, 기압 판독들 또는 다른 압력-관련 측정들을 사용할 수 있는 다양한 예들이 예시된다. 예를 들면, 예시들(202 및 204)을 참조하면, 조깅하는 사람 또는 하이커에 의해 휴대되는 컴퓨팅 디바이스(100)와 같은 모바일 디바이스에 의해 획득된 기압 판독들은 조깅하는 사람(jogger) 또는 하이커의 경로를 따라 고도의 변화를 모니터링할 수 있다. 다른 예에서, 예시들(206, 208 및 210)을 참조하면, 사용자 휴대 디바이스(100)는 일정 시간 기간에 걸쳐 압력 변화의 패턴을 검출하는 것에 기초하여 사용자가 계단들을 오르고 있는지, 에스컬레이터를 따고 있는지 또는 엘리베이터를 타고 있는지를 구별할 수 있다. 예를 들면, 계단들을 오르는 사용자는, 계단들을 오르는 사용자의 모션과 일치하여, 빠르게 상승하고 이어서 짧은 기간 동안에 일정하게 유지되고, 이어서 다시 빠르게 상승하고 기타 등등의 압력 변화의 패턴을 나타낼 수 있다. 다른 예에서, 에스컬레이터를 따는 사람은 매우 안정되고 일정한 레이트로 상승하는 압력 변화의 패턴을 나타낼 수 있다. 또한, 엘리베이터를 탄 사람은, 엘리베이터가 이동하는 방법과 일치하여, 문이 폐쇄되고, 이어서 고도 변화가 가속되고, 이어서 감속 레이트를 갖는 것과 일치하는 압력 변화의 패턴을 나타낼 수 있다. 또 다른 예로서, 예시(212)를 참조하면, 컴퓨팅 디바이스(100)는 외부 주변 압력으로부터 빌딩의 내부를 분리하는 문을 개방하는 것에 대한 보통의 패턴들과 일치하는 갑작스러운 압력 변화를 검출함으로써 사람이 빌딩으로의 문을 개방하는 때를 검출할 수 있다.
[0030] 기압 판독들을 사용하는 다른 예시적인 애플리케이션들은 컴퓨팅 디바이스(100)를 휴대한 사용자가 무슨 층 상에 있는지를 결정하는 것을 포함하고, 이것은 주기적일 뿐만 아니라 여전히 일정한 압력-판독 측정들을 요구할 수 있다. 다른 예로서, 압력 판독들은 컴퓨팅 디바이스(100)가 무슨 층 상에 있는지를 테스트 또는 결정하기 위한 트레이닝 데이터로서 제공될 수 있다. 트레이닝 데이터는, 예를 들면, 컴퓨팅 디바이스(100)가 각각 장착된 다수의 사용자들에 의해, 예를 들면, 크라우드소싱 방법들을 사용하여 제공될 수 있다. 일반적으로, 다수의 애플리케이션들은 다양한 디바이스들 상에서 획득된 압력 판독들을 사용할 수 있고, 실시예들이 이에 제한되지 않는다.
[0031] 디바이스 상에서 기압계 또는 다른 압력 센서 판독들을 샘플링하는 것은 적어도 전력 소비에 관점에서 상당히 비용이 들 수 있다. 상술된 예들 모두에서, 기압계 판독들은 자신들의 원하는 기능들을 달성하기 위해 빈번하게 또는 지속된 시간 기간에 걸쳐 습득될 수 있다. 이러한 빈번하고 오래 지속되는 샘플링은 대량의 에너지를 소비할 수 있고, 모바일 디바이스들과 같은 특정 디바이스들에서, 그러한 일정한 샘플링은 모바일 디바이스의 전체 사용(예를 들면, 감소된 배터리 수명, 감소된 성능 등)에 대해 특히 중요할 수 있다. 일부 경우들에서, 종래의 해결책들은 필요에 따라 압력 데이터를 사용하는 압력 센서 또는 애플리케이션을 활성화 또는 턴 온하였다. 그러나, 압력 센서를 활성화하는데 일정 시간 기간이 걸릴 수 있고, 또한 압력 센서가 정확한 초기 판독을 획득하는데 더 많은 시간이 걸릴 수 있기 때문에, 이러한 전략은 시간 지연들을 발생시킬 수 있다. 이러한 전략을 사용하는 것은 특정 애플리케이션들에서 불리할 수 있다. 예를 들면, 모바일 또는 컴퓨팅 디바이스의 사용자가 층들을 변경하는 때가 예측 불가할 수 있기 때문에, 사용자가 층들을 변경하는 경우 및/또는 때에 임의의 이벤트를 준비하기 위해 애플리케이션은 기압계 또는 압력 센서를 연속해서 샘플링할 필요가 있을 수 있다. 따라서, 디바이스에서 더 에너지 및 시간-효율적인 방식으로 그러한 압력 판독들을 획득하는 것이 바람직할 수 있다.
[0032] 본 개시들은 이들 및 다른 문제들을 해결한다. 일부 실시예들에서, 컴퓨팅 디바이스(100)와 같은 디바이스는 전형적으로 하나 이상의 운영 시스템들 상에서 실행되는 애플리케이션들, 프로그램들 또는 다른 다양한 소프트웨어를 실행하도록 구성된 프로세서 또는 프로세서 코어, 및 압력 센서로부터 압력 센서 데이터를 액세스하고 이들 애플리케이션들 또는 프로그램들을 실행하지 않도록 구성된 다른 프로세서 또는 프로세서 코어를 포함한다. 압력 센서 데이터를 액세스하도록 구성된 프로세서 코어는 본원에서 "센서 코어"로 지칭될 수 있고, 본원에서 "애플리케이션 프로세서" 또는 "애플리케이션 코어"로 지칭되는, 애플리케이션들을 실행하도록 구성된 프로세서 코어보다 훨씬 더 적은 전력을 소비하는 저전력 코어일 수 있다. 일부 실시예들에서, 예를 들면, 센서 코어는 애플리케이션 프로세서보다 10 배 더 적은 전력을 요구하고, 기압계와 같은 압력 센서로부터 압력 센서 데이터를 연속해서 샘플링한다. 일부 실시예들에서, 센서 코어 또는 애플리케이션 프로세서는, 애플리케이션 프로세서가 에너지 및 시간-효율적인 방식으로 압력 센서 데이터를 사용하도록 허용하는 특정 구성들로 커플링된다. 일부 예들이 아래에 더 상세히 설명될 것이다.
[0033] 도 3을 참조하면, 일부 실시예들에서, 예시적인 프로세서(300)는 이전에 언급된 애플리케이션 코어 및 센서 코어를 사용하는 예시적인 고레벨 설계 아키텍처를 예시한다. 프로세서(300)는 모바일 디바이스 내에 포함될 수 있다. 애플리케이션 코어(302)는 애플리케이션들을 실행하도록 구성된 종래의 프로세서 또는 CPU(central processing unit)일 수 있다. 센서 코어(304)는 저전력 유닛이고, 애플리케이션 코어(302)보다 10x 더 적은 전력을 소비할 수 있다. 센서 코어(304)는 압력 센서(미도시)로부터 압력-센서 데이터를 획득하도록 구성된다. 일부 실시예들에서, 압력 센서는 또한 예시적인 프로세서(300)와 동일한 장치에 포함된다. 이러한 구성으로 인해, 애플리케이션 코어(302)는 애플리케이션들을 실행하기 위해 필요한 전력을 사용하면서 자신이 정상적으로 동작할 바와 같이 동작할 수 있고, 반면에 센서 코어(304)는 압력 센서 데이터를 획득하는 것과 관련된 작업들을 수행하도록 에너지-효율적인 방식으로 최적화된다. 예를 들면, 여기서, 애플리케이션 코어(302) 및 센서 코어(304)는 위치 코어(306)로 불리는 제 3 코어에 커플링될 수 있고, 위치 코어는 위치 기술들을 가능하게 하도록 최적으로 구성될 수 있다. 애플리케이션 코어(302)는 하루마다 대략 수십 개의 이벤트들에 대해 위치 코어(306)와 통신할 필요가 있을 수 있고, 반면에 센서 코어(304)는 하루마다 수백개의 이벤트들에 대해 위치 코어(306)와 통신할 수 있다. 센서 코어(304)의 기능이 애플리케이션 코어(302)에 의해 수행되었지만, 애플리케이션 코어(302)는 하루마다 수백개의 이벤트들에 대해 위치 코어(306)를 비효율적으로 샘플링할 필요가 있을 것이고, 매우 비효율적인 에너지 소비를 발생시킨다. 일부 실시예들에서, 애플리케이션 코어(302)는 센서 코어(304)(미도시)와 직접적으로 통신할 수 있다.
[0034] 도 3은 또한 종래의 프로세서(350)를 예시한다. 이러한 예시는, 압력-센서 능력들을 통합하려고 시도할 때 종래의 프로세서 설계들이 얼마나 전력-비효율적일 수 있는지를 대조한다. 이러한 예에서, 센서 허브(310)는 압력 센서 데이터가 획득될 수 있는 소스를 나타내고, 이것은 일부 실시예들에 따른 프로세서(300) 내의 센서 코어(304)와 대조된다. 그러나, 종래의 프로세서(350)에서, 종래의 CPU(308)는 모든 각각의 샘플링에 대해 종래의 CPU에 대한 표준량의 전력 소비를 사용하여 하루에 대략 수십만 번 센서 허브(310)를 액세스할 필요가 있을 수 있다. 부가적으로, 위치 프로세서 또는 애플리케이션(312)은 CPU(308)에 통신 가능하게 커플링될 수 있지만, 센서 허브(310)에 직접적으로 접속되지 않을 수 있다. 위치 프로세서 또는 애플리케이션(312)이 압력 센서 데이터를 액세스할 필요가 있는 경우에, CPU(308)는 먼저 센서 허브(310)를 액세스하고, 이어서 위치 프로세서 또는 애플리케이션(312)에 접촉할 필요가 있을 것이다. 그러한 구성은 차선책이다.
[0035] 애플리케이션 코어(302)는 층 명확화 기술들을 수행하도록 구성될 수 있다. 층 명확화 기술들은 알고리즘, 프로그램, 애플리케이션 등 중 하나 이상을 사용하여 프로세서에 의해 구현될 수 있다. 예를 들면, 애플리케이션 코어(302)는 압력 센서 판독들(예를 들면, 압력 변화 레이트, 압력 변화량 등)에 응답하여 및/또는 하나 이상의 인터럽트들에 응답하여 층 명확화 기술들을 수행할 수 있다. 앞서 언급된 바와 같이, 층 명확화 기술은, 모바일 디바이스가 위치된 층 또는 고도를 결정하는 프로그램 또는 애플리케이션을 지칭할 수 있다. 층 명확화 기술은 결정된 층 또는 고도에 대응하는 맵 또는 다른 기준 정보를 리트리브하기 위해 결정된 층 또는 고도를 사용할 수 있다. 예를 들면, 애플리케이션 코어(302)는 층 결정 또는 명확화 알고리즘과 같은 하나 이상의 애플리케이션들을 런칭하도록 유도될 수 있다. 이어서, 일부 실시예들에서, 결정된 고도에 대응하는 층 또는 다른 위치의 맵 또는 다른 기준 정보는 모바일 디바이스 상에 디스플레이될 수 있다.
[0036] 일 예에서, 모바일 디바이스(예를 들면, 센서 코어(304))는, 검출된 압력 변화 레이트가 날씨 관련 압력에 대응하는 압력 변화 레이트의 임계치를 초과하였다고 결정함으로써 모바일 디바이스가 고도 변화를 겪는다고 결정할 수 있다. 일단 모바일 디바이스가 날씨 변화의 것을 초과하는 레이트의 압력 변화를 겪었다고 결정되면, 모바일 디바이스는 압력 변화가 미리 결정된 압력-변화 임계치를 초과하는지를 결정할 수 있다. 미리 결정된 압력 변화 임계치는 적어도 하나의 층을 위로 또는 아래로 이동하는 것 또는 다른 고도 변화에 대응하는 최소 압력 변화에 대응할 수 있다. 일단 압력 변화가 압력-변화 임계치를 초과하면, 모바일 디바이스는 층 명확화 기술을 수행할 수 있다. 압력 변화 레이트 및 압력 변화량을 결정하는 것에 관련된 추가의 세부사항들이 아래에 더 상세히 설명될 것이다.
[0037] 일부 실시예들에서, 층 명확화 기술들은 기압계 또는 고도계와 같은 압력 센서로부터의 데이터에 기초하여 모바일 디바이스의 층 또는 고도를 결정할 수 있다. 예를 들면, 모바일 디바이스의 기압계는 모바일 디바이스의 압력 변화를 결정할 수 있다. 일부 실시예들에서, 기압계 또는 압력 데이터를 검출하는데 사용되는 다른 컴포넌트들은 날씨 관련 압력을 필터링하도록 교정될 수 있다. 예를 들면, 해수면 날씨에 기인한 압력은 수은 29-31 인치들일 수 있다. 기압계는 날씨에 기인한 압력을 검출된 압력 판독으로부터 무시하도록 교정될 수 있다. 일부 실시예들에서, 저대역 통과 필터 또는 고대역 통과 필터는 임계 레벨 미만의 특정 레벨들의 압력을 필터링하는데 사용될 수 있다. 일 예에서, 모바일 디바이스는, 고도계에 의해 검출된 현재 압력 변화 및/또는 압력 변화의 레이트(날씨 관련 압력에 대해 교정됨)가 특정 임계치들을 초과하는 것에 기초하여, 층 명확화 기술이 수행된다고 결정할 수 있다. 모바일 디바이스(예를 들면, 애플리케이션 코어(302))는 층마다 압력 변화량을 인식할 수 있다. 이어서, 모바일 디바이스(예를 들면, 애플리케이션 코어(302))는, 모바일 디바이스가 위치된 현재 층을 결정하기 위해 총 결정된 압력 변화(기압계에 의해 검출됨)를 층마다의 압력 변화량으로 분할할 수 있다.
[0038] 일부 실시예들에서, 층 명확화 기술들은 하나 이상의 무선 지상 트랜시버들(예를 들면, 액세스 포인트)로부터의 데이터에 기초하여 모바일 디바이스의 층 또는 고도를 결정할 수 있다. 예를 들면, 모바일 디바이스는 WiFi 또는 임의의 다른 적절한 무선 통신 프로토콜과 같은 하나 이상의 통신 프로토콜들을 사용하여 하나 이상의 무선 지상 트랜시버들로부터 (예를 들면, 라디오 주파수(RF) 신호 스캔 등에 기초한) 신호들을 수신할 수 있다. 일 예에서, 빌딩은 5 개의 층들을 포함할 수 있고, 각각의 층은 다수의 액세스 포인트들을 포함한다. 모바일 디바이스는 제 3 층 상에 위치될 수 있고, 제 3 층 상에 위치된 무선 지상 트랜시버들로부터 가장 강한 신호들을 검출할 수 있다. 이들 신호들을 사용하여, 모바일 디바이스는, 신호들이 제 3 층 상에 위치된 무선 지상 트랜시버들에 대응하고, 따라서 모바일 디바이스가 제 3 층 상에 위치된다고 결정할 수 있다. 예를 들면, 무선 지상 트랜시버 신호의 수신된 신호 세기(RSSI) 또는 라운드-트립 시간(RTT)은 모바일 디바이스에 의해 결정될 수 있다. 이어서, 모바일 디바이스는 무선 지상 트랜시버에 대해 모바일 디바이스의 위치를 결정하기 위해 RSSI 또는 RTT를 사용할 수 있다. 일부 실시예들에서, 모바일 디바이스는 수신된 무선 지상 트랜시버 신호들을 서버(예를 들면, 위치 서버)로 전송할 수 있고, 서버는 무선 지상 트랜시버들이 제 3 층 상에 위치된다는 것을 표시하는 응답을 모바일 디바이스로 반환할 수 있다.
[0039] 일부 실시예들에서, 고도계 및 하나 이상의 무선 지상 트랜시버들 신호들 둘 모두는 층 또는 고도 결정을 결정 및/또는 검증하는데 사용될 수 있다. 일 예에서, 고도계 판독은 하나 이상의 무선 지상 트랜시버 신호들에 기초하여 층 결정을 검증하는데 사용될 수 있다. 다른 예에서, 고도계 판독이 제 3 또는 제 4 층에 대응할 수 있는 압력을 표시하는 경우에, 예를 들면, 제 3 및 제 4 층들 상의 지상 무선 트랜시버들로부터의 신호 판독들은 제 4 층 상의 지상 무선 트랜시버들의 신호 세기가 제 3 층 상의 것들보다 더 강하고 따라서 모바일 디바이스가 제 4 층 상에 위치된다는 것을 표시할 수 있다. 또 다른 예에서, 무선 지상 트랜시버 신호들은 기압계 및/또는 고도계를 교정하는데 사용될 수 있다.
[0040] 앞서 설명된 층 명확화 기술들의 임의의 조합이 본원에 설명된 임의의 실시예들을 구현하는데 사용될 수 있다는 것을 당업자는 이해할 것이다.
[0041] 도 4를 참조하면, 일부 실시예들에 따른 부가적인 기능이 기능도(400)에 예시된다. 일부 실시예들에서, 센서 코어(304)는 전력-효율적인 방식으로 최소의 작업들을 수행하는 단지 간단한 프로세서보다 더 한 것으로 이해될 수 있다. 오히려, 일부 실시예들에서, 적어도 3 개의 일반적인 영역들의 기능은 또한, 센서 코어(304)가 애플리케이션 코어(302)와 통신하는 동안에, 센서 코어(304)에 의해 수행될 수 있다. 예를 들면, 도 4에서, 애플리케이션 코어(302) 및 센서 코어(304)와 통신 가능하게 커플링된 공유 메모리(402)가 일부 실시예들의 설계들에 포함된다. 공유 메모리(402)를 사용하는 3 개의 예시적은 프로세스들이 도시된다.
[0042] 우선, 일부 실시예들에서, 센서 코어(304)는, 트리거링 이벤트가 발생할 때, 애플리케이션 코어(302)를 인터럽트하도록 구성될 수 있다. 일부 실시예들에서, 트리거링 이벤트는 압력 센서(410)로부터의 데이터에 기초할 수 있다. 트리거링 이벤트의 예들은 압력 센서(410)로부터 샘플링된 압력이 임계치보다 많이 변하였다는 것을 검출하는 것을 포함할 수 있다. 예를 들면, 임계치는, 도 4의 프로세서를 갖는 모바일 디바이스를 휴대한 사용자가 층들을 변경하였다는 것을 시사하는 특정 압력 차이(예를 들면, 4 Pascal, 10 Pascal, 25 Pascal, 50 Pascal 등)로 설정될 수 있다. 일부 실시예들에서, 압력 센서(410)로부터 샘플링된 압력은 계속해서 또는 끊임없이 샘플링될 수 있다. 일부 실시예들에서, 압력은 압력 센서(410)로부터 주기적으로(예를 들면, 1 초, 2 초, 5 초마다 등) 샘플링될 수 있다. 일부 실시예들에서, 이어서, 트리거링 이벤트는 애플리케이션 코어(302)가 앞서 설명된 것들 중 하나 이상과 같은 층 명확화 기술을 수행하도록 유도할 수 있다. 인터럽트 메커니즘은 압력 변화들의 일정한 모니터링을 전형적으로 요구하는 애플리케이션들을 실행하는 프로세서가, 단지 압력 데이터를 최소로 액세스하면서, 애플리케이션들을 동작시키도록 허용할 수 있다. 따라서, 그러한 모니터링되는 압력 데이터를 사용하는 애플리케이션들로부터 압력 데이터 모니터링의 기능을 (예를 들면, 저전력 코어 및 종래의 애플리케이션 코어 각각으로) 분리함으로써, 매우 효율적인 에너지 소비가 달성될 수 있다. 일부 실시예들에서, 층 명확화는, 아래에 더 상세히 설명되는 바와 같이, 인터럽트 조건을 사용하지 않고서 직접적으로 수행될 수 있다.
[0043] 일부 실시예들에서, 애플리케이션 코어(302)는 구성 메모리(404)에 포함된 임계 조건들을 공유 메모리(402)에 기록하도록 구성될 수 있다. 임계 조건들은 층 명확화 기술을 수행할 때 및/또는 인터럽트를 수행할 때를 표시할 수 있다. 예를 들면, 임계 조건은, 3 분 스팬(span)에 걸쳐 적어도 10 피트 고도 차이와 동등한 압력 변화(또는 빌딩의 타입에 의존하여 및/또는 로컬 표준 규칙으로서 다른 층 높이들과 연관된 다른 압력 변화)가 발생할 때 인터럽트가 수행된다는 것을 표시할 수 있다. 일부 실시예들에서, 다수의 임계 조건들은 공유 메모리(402)에 기록될 수 있다. 예를 들면, 제 2 임계 조건들은, (예를 들면, 갑작스러운 압력 변화의 속성으로 인해) 모바일 디바이스의 사용자가 외부로부터 빌딩에 진입하였다는 것을 시사하는, 압력이 1 초 스팬에서 임계치를 초과하여 변할 때 인터럽트를 트리거링하는 트리거링 이벤트를 제공할 수 있다. 사용자는 애플리케이션 코어(302)를 통해 임계치들을 수동으로 설정할 수 있거나, 애플리케이션 코어(302)는 특정 임계치들을 적절히 구성하기 위해 메타데이터 또는 보조 데이터를 수신할 수 있다. 예를 들면, 애플리케이션 코어(302)는, 예를 들면, 각각의 층의 높이와 같은 실내 공간에 관련된 데이터 상세들을 서버로부터 수신할 수 있고, 이어서 수신된 데이터에 기초하여 층 변화 검출에 대한 임계치들을 설정할 수 있다. 마찬가지로, 센서 코어(304)는 어떠한 타입의 임계 조건이 검출되는지에 기초하여 하나보다 더 많은 타입의 인터럽트를 제공하도록 구성될 수 있다. 센서 코어(304)는 공유 메모리(402)에 제공된 조건(들)(404)을 판독하고, 조건(들)이 발생하는 때를 결정하고, 무엇이 지정되는지에 기초하여 어떠한 타입의 인터럽트가 적절한지를 결정하고, 이어서 조건(들)이 발생할 때 애플리케이션 코어를 인터럽트하도록 구성될 수 있다. 일부 실시예들에서, 센서 코어(304)는 임계치들 및 인터럽트들을 포함하는 구성 메모리(404)에 대한 판독 액세스만을 갖도록 구성될 수 있고, 애플리케이션 코어(302)는 구성 메모리(404)에 대한 기록 액세스만을 갖도록 구성될 수 있다. 일반적으로, 도 4의 범례는 일부 실시예들에 따른, 하나의 기능 블록으로부터 다른 것으로 흐를 수 있는 동작 타입을 예시한다.
[0044] 일부 실시예들에서, 제 2 타입의 기능으로서, 센서 코어(304)는 최근의 또는 가장 최근의 압력 측정들, 예를 들면, 마지막 20 초의 압력 측정들을 계속해서 기록하기 위해 공유 메모리(402) 내의 버퍼(406)(예를 들면, 가령, 순환 버퍼, FIFO 버퍼 등)에 기록하도록 구성될 수 있다. 이어서, 애플리케이션 코어(302)는 자신이 선택한 시간에, 예를 들면, 애플리케이션이 최근의 압력 데이터를 단지 주기적으로 요구하는 경우에, 최근의 압력 측정들을 판독할 수 있다. 예를 들면, 센서 코어(304)로부터 압력 측정들 또는 인터럽트를 수신한 후에, 애플리케이션 코어(302)는 층 결정 또는 명확화 기술을 활성화할 수 있다. 이어서, 애플리케이션 코어(302)는, 모바일 디바이스가 실제로 층들을 변경하였는지를 결정하기 위해 버퍼(406)를 액세스하고, 가장 최근의 압력 데이터를 분석할 수 있다.
[0045] 일 예에서, 애플리케이션 코어(302)는 바이커(biker)에 대한 롤링 고도 애플리케이션을 동작시킬 수 있고, 이것은 바이커가 언덕들, 다리들, 고가 도로들(overpasses) 등에서 위 및 아래로 자전거를 탈 때 높이 변화를 실시간으로 플로팅할 수 있다. 일부 실시예들에서, 센서 코어(304)는 또한 최근의 압력 측정들의 롤링 평균을 계산하고 및/또는, 예를 들면, 저대역 통과 필터를 사용하여 최근의 압력 측정들에서 변화를 계산 및 기록할 수 있다. 압력 변화가 검출되면, 이러한 이벤트들이 센서 코어(304)에 의해 공유 메모리(402)에 기록되고, 애플리케이션 코어(302)가 용이하게 판독하도록 이용 가능할 수 있다. 일부 실시예들에서, 최근의 압력 측정들의 롤링 평균의 사용은, 압력 센서(410)가 그러한 극히 작은 변화들을 검출할 수 있다고 가정하면, 울퉁불퉁한 도로 상에서 운전하는 트럭, 또는 조깅 모션들과 같이 감지하기 힘들지만 일정한 섭동들을 평활화하는데 유용할 수 있다. 일부 실시예들에서, 미가공(raw) 압력 측정들이 시간에 걸쳐 저장될 수 있다. 마찬가지로, 지정된 시간 기간에 걸쳐 압력 변화 레이트의 측정들은 버퍼(406) 또는 다른 관련 메모리에 기록될 수 있다. 변화 레이트 데이터는 다양한 애플리케이션들에서 애플리케이션 코어(302)에 의해 사용될 수 있다. 예를 들면, 애플리케이션은 그레이드(grade)와 같은 차량의 경사(decent) 레이트를 결정하고, 적절한 속도에 관한 경고들 또는 메시지들을 제공할 수 있다.
[0046] 일부 실시예들에서, 제 3 타입의 기능으로서, 센서 코어(304)는 앞서 언급된 것들과 같은 주목할 만한 압력 변화 이벤트들을 공유 메모리(402) 내의 다이제스트(408)에 기록하도록 구성될 수 있다. 타임 스탬프 및 다른 관련 데이터는 동일한 시간에 기록될 수 있다. 애플리케이션 코어(302)는 이들 이벤트들을 찾기 위해 공유 메모리(402)를 액세스하도록 구성될 수 있고, 임의의 애플리케이션들에서 이벤트들을 사용할 수 있다. 일부 실시예들에서, "TTL(time-to-live)" 유효 기간은 이들 이벤트들 각각에 적용될 수 있다. TTL 유효 기간은 기록된 이벤트들이 얼마나 오래 신뢰할 수 있는지를 표시할 수 있다. 예를 들면, 압력 판독들은 심지어 동일한 고도에서 하루마다 변하기 때문에, 하루 전으로부터의 압력 판독들은 부정확하고, 다음 날에 유용하지 않을 수 있다. TTL 유효 기간이 만료될 때, 센서 코어(304)는 그러한 엔트리들을 삭제 또는 무시 및/또는 폐기하도록 구성될 수 있다. 일부 실시예들에서, 다이제스트는 또한 당분야에 알려진 다양한 형태들로 기록되는 위치 정보(예를 들면, 맵 또는 다른 위치 정보)를 포함할 수 있다. 애플리케이션 코어(302)는 다이제스트(408) 내의 정보를 다양한 방식들로 사용하도록 구성될 수 있다. 예를 들면, 인터럽트를 수신한 후에, 애플리케이션 코어(302)는 발생할 수 있는 이벤트, 이벤트가 발생한 정확한 시간 또는 시간 기간, 이벤트가 발생한 위치, 이벤트의 규모(예를 들면, 압력 변화가 얼마나 큰지) 등을 판독하기 위해 다이제스트를 액세스할 수 있다.
[0047] 설명된 기능들 중 일부 또는 전부가 다양한 실시예들에서 이용 가능할 수 있다. 일부 실시예들에서, 센서 코어 및 애플리케이션 코어는 당분야에 알려진 무선 또는 유선 수단을 통해 액세스되는 서버와 같은 별개의 디바이스 내의 공유 메모리에 기록/판독할 수 있다. 일부 실시예들에서, 다른 프로세서들 또는 센서들은 위치 프로세서, 자이로스코프, 컴파스 등과 같은 센서 코어(304) 및/또는 애플리케이션 코어(302)와 통신하도록 구성될 수 있다. 실시예들은 이에 제한되지 않는다.
[0048] 도 5a를 참조하면, 방법(500)은 압력 센서 데이터를 사용하여 고도 또는 층 변화들을 검출하기 위한 예시적인 일련의 방법 단계들을 예시한다. 본원에 설명된 방법들은, 도 1, 2, 3, 4 및/또는 7 중 임의의 것에 설명된 코드를 실행하는 예시적인 장치들(예를 들면, 모바일 디바이스), 시스템들, 및/또는 프로세서들을 비롯하여, 다양한 수단에 의해 구현될 수 있다. 또한, 도 5a 및 도 5b의 방법들(500 및 550)이 인터럽트들을 사용하는 것으로 예시되지만, 실시예들 둘 모두는 인터럽트들의 사용 없이 구현될 수 있다는 것이 인식된다. 예를 들면, 일부 실시예들에서, 방법들(500 및 550)은 인터럽트 단계들(504, 508 및 516) 없이 구현될 수 있어서, 가령, 프로시저 호출을 통해 및/또는 멀티-태스킹 및/또는 멀티-스레드 프로시저를 통해 다음 엘리먼트(예를 들면, 506, 510 및 518 각각)으로 직접적으로 진행한다. 블록(502)에서, 방법은 압력 센서 데이터를 수신하는 것을 포함할 수 있다. 예를 들면, 방법은 제 1 압력 센서 데이터를 수신하는 것을 포함할 수 있다. 압력 센서 데이터는 기압계, 고도계 또는 그 산업에서 알려진 다른 유사한 디바이스들과 같은 압력 센서로부터의 측정들로부터 도출될 수 있다. 일부 실시예들에서, 압력 센서 데이터는, 컴퓨팅 디바이스(100)와 같은 디바이스에 내장될 수 있는 기압계 센서와 같은 압력 센서(410)로부터 도출될 수 있다.
[0049] 결정 블록(503)에서, 압력 센서 데이터에 기초한 압력 변화가 제 1 미리 결정된 임계치를 초과하는지가 결정될 수 있다. 제 1 미리 결정된 임계치는 "압력-변화 임계치"로 지칭될 수 있다. 예를 들면, 방법은 제 1 압력 센서 데이터의 압력 변화가 제 1 미리 결정된 임계치를 초과한다고 결정할 수 있다. 일부 실시예들에서, 방법은 압력이 고도에서 10 피트와 동일하게 변하였다고 압력 센서 데이터로부터 결정할 수 있다. 본원에 사용된 바와 같이, 용어 "초과"는 일부 경우들에서 일부 미리 결정된 임계치를 능가하거나 그 위로 상승하는 수량을 지칭할 수 있다. 다른 경우들에서, 용어 "초과"는 일부 미리 결정된 임계치와 동일하거나 이를 능가하는 수량을 지칭할 수 있다. 본원에 설명된 실시예들은 어느 한 경우로 제한되지 않는다.
[0050] 블록(504)에서, 방법은 제 1 인터럽트 조건을 발생시킬 수 있다. 예를 들면, 압력 변화가 제 1 미리 결정된 임계치를 초과하였다고 방법이 결정한 경우에, 방법은 제 1 인터럽트 조건을 발생시킬 수 있다. 제 1 인터럽트 조건은 일부 실시예들에서 선택사항일 수 있다.
[0051] 블록(506)에서, 방법은 층 명확화 또는 결정을 수행 또는 실행할 수 있다. 예를 들면, 방법은 제 1 인터럽트 조건에 응답하여 프로세서를 사용하여 층 명확화 또는 결정 알고리즘, 프로그램 또는 애플리케이션을 실행할 수 있다. 일부 실시예들에서, 제 1 인터럽트 조건은, 컴퓨팅 디바이스(100)가 일부 미리 결정된 임계치를 넘어 고도를 변경하였다는 것을 애플리케이션 코어(302)로 시그널링할 수 있다. 이에 응답하여, 컴퓨팅 디바이스(100)가 층들을 변경하였는지를 결정하기 위한 애플리케이션, 예를 들면, 층 명확화 알고리즘은 애플리케이션 코어(302)에 의해 실행될 수 있다. 이어서, 방법은 모니터링을 위해 압력 센서 데이터를 계속해서 수신할 수 있다. 일부 실시예들에서, 제 1 인터럽트 조건이 발생되지 않을 수 있다. 그러한 실시예들에서, 층 명확화 또는 결정은 인터럽트 없이 직접적으로 수행될 수 있다. 예를 들면, 층 명확화 또는 결정은, 제 1 압력 센서 데이터의 압력 변화가 제 1 미리 결정된 임계치를 초과한다고 결정한 것에 응답하여 수행될 수 있다.
[0052] 압력 변화가 제 1 미리 결정된 임계치를 초과하지 않는다고 블록(503)에서 결정되면, 방법들은 블록(507)으로 진행할 수 있고, 여기서 방법들은 또한 압력 센서 데이터에 기초한 시간에 걸친 압력 변화의 레이트가 제 2 미리 결정된 임계치를 초과하는지를 결정하는 것을 포함할 수 있다. 예를 들면, 방법은 블록(502)에서 제 2 압력 센서 데이터를 수신할 수 있고, 제 2 압력 센서 데이터의 압력 변화가 제 1 미리 결정된 임계치를 초과하지 않는다고 블록(503)에서 결정할 수 있고, 제 2 압력 센서 데이터의 시간에 걸친 압력 변화의 레이트가 제 2 미리 결정된 임계치를 초과한다고 블록(507)에서 결정할 수 있다. 중요하게도, 블록(507)의 결정은 (예를 들면, 블록(503)에서와 같이) 하나의 포인트와 다음 사이의 압력 차이에 기초하지 않지만, 오히려 시간에 걸쳐 압력 변화의 레이트에 기초할 수 있다. 예를 들면, 3 초의 기간에 걸쳐, 센서 코어(304)는 컴퓨팅 디바이스(100)가 초 당 1 피트와 동일한 고도 변화 레이트로 안정되게 압력을 변경하였다고 결정할 수 있다. 제 2 미리 결정된 임계치는, 앞서 설명된 바와 같이, 날씨 변화들에 관련된 압력 변화들의 레이트를 무시하는데 사용될 수 있다. 예를 들면, 제 2 미리 결정된 임계치는, 날씨 관련 압력 변화 레이트에 대응하는 레벨(예를 들면, 수은의 29 인치들, 수은의 30 인치들, 수은의 31 인치들 등)로 설정될 수 있다. 미만(또는 선택적으로 동일하거나 미만)인 임의의 압력 변화의 레이트는 무시될 수 있다. 제 2 미리 결정된 임계치는 "미리 결정된 압력 변화 레이트 임계치"로 지칭될 수 있다. 방법은, 시간에 걸친 압력 변화의 레이트가 제 2 미리 결정된 임계치를 초과하지 않는다고 결정되는 경우에 다시 블록(502)으로 진행할 수 있고, 여기서 압력 센서 데이터는 계속해서 또는 주기적으로 수신될 수 있다.
[0053] 블록(508)에서, 방법은 제 2 인터럽트 조건을 발생시킬 수 있다. 예를 들면, (예를 들면, 제 2 압력 센서 데이터에 적어도 부분적으로 기초하여) 시간에 걸친 압력 변화의 레이트가 제 2 미리 결정된 임계치를 초과한다고 방법이 블록(507)에서 결정하면, 방법은 제 2 인터럽트 조건을 발생시킬 수 있다.
[0054] 블록(510)에서, 방법은 모바일 디바이스의 사용자가 층들 또는 고도를 변경하는 방법 또는 수단을 결정할 수 있다. 예를 들면, 방법은 제 2 인터럽트 조건에 응답하여 프로세서를 사용하여 층-변경 포털들에 기초하여 애플리케이션, 알고리즘 또는 프로그램을 실행할 수 있다. 일 예로서, 애플리케이션 코어(302)는 제 2 인터럽트 조건을 통지받을 수 있고, 제 2 인터럽트 조건이 압력 측정들에서 시간에 걸친 변화 레이트, 또는 다시 말해서 고도의 안정된 변화에 대응한다는 것을 알 수 있다. 일부 실시예들에서, 제 2 인터럽트 조건이 발생되지 않을 수 있다. 그러한 실시예들에서, 애플리케이션 알고리즘, 또는 층-변경 포털들에 기초한 프로그램은 시간에 걸친 압력 변화의 레이트가 제 2 미리 결정된 임계치를 초과하는 것에 응답하여 직접적으로 실행될 수 있다.
[0055] 이에 응답하여, 애플리케이션 코어(302)는 모바일 디바이스의 사용자가 고도에서 상승 또는 하강하는 수단을 (예를 들면, 애플리케이션을 실행함으로써) 결정할 수 있다. 애플리케이션 코어(302)는, 예를 들면, 사용자가 한 줄로 이어진 계단들(a flight of stairs)을 걸어 오르거나 내려가거나, 엘리베이터로 위 또는 아래로 가거나, 에스컬레이터로 위 또는 아래로 가는지를 구별할 수 있다. 애플리케이션 코어(302)는 시간에 걸쳐 압력 데이터의 변화 레이트들에서 패턴들을 분석함으로써 이들 3 개의 모드들 사이를 구별할 수 있다. 예를 들면, 애플리케이션 코어(302)는, 압력 데이터의 변화가 다소 울퉁불퉁한 페이스로 상승 또는 하강하면 ― 이것은 사용자가 각각의 걸음을 걷는 것 대 각각의 걸음 사이의 약간의 정지에 대응함 ― , 사용자가 계단들에서 위 또는 아래로 걷고 있다고 결정할 수 있다. 다른 예에서, 애플리케이션 코어(302)는, 압력 데이터의 변화가 안정된, 일정한 레이트로 상승 또는 하강하면 ― 에스컬레이터 스텝들의 일정한 회전에 대응함 ― , 사용자가 에스컬레이터로 위 또는 아래로 가고 있다고 결정할 수 있다. 추가의 예로서, 애플리케이션 코어(302)는, 시간에 걸친 압력의 변화가 약간 증가하고 이어서 안정된 레이트에 도달하면 ― 일정한 속도에 도달하기 전에 엘리베이터가 초기에 어떻게 가속할 수 있는지에 대응함 ― , 모바일 디바이스의 사용자가 엘리베이터에서 위로 가고 있다고 결정할 수 있다. 이들은 단지 층-변경 포털들에 기초한 애플리케이션이 동작할 수 있는 방법의 예들이고, 이에 제한되지 않는다는 것을 당업자는 인식할 것이다. 당업자들에게 용이하게 명백한 다른 방법들 및 알고리즘들이 본 개시들의 범위 내에 있고, 실시예들은 이에 제한되지 않는다.
[0056] 블록(512)에서, 일부 실시예들에서, 방법은 또한 시간에 걸쳐 압력 변화의 레이트가 더 이상 제 2 미리 결정된 임계치를 초과하지 않는 때를 검출하는 것을 포함할 수 있다. 예를 들면, 방법은 시간에 걸친 압력 변화의 레이트가 제로에 도달할 때를 검출할 수 있다. 압력이 더 이상 변하지 않거나 소량으로 변할 수 있을 때, 결정은 모바일 디바이스가 고도 또는 해발높이에서 더 이상 변하지 않는다는 것을 표시할 수 있고, 이것은 모바일 디바이스의 사용자가 이제 다른 층에 도달하였다는 것을 시사할 수 있다. 예를 들면, 센서 코어(304)는 압력 데이터가 이제 안정된 압력에 도달하였다는 것을 관측할 수 있다. 다른 예로서, 동일한 결정이 이루어진 애플리케이션 코어(302)는 애플리케이션을 실행할 수 있다.
[0057] 블록(514)에서, 방법은 층 명확화 또는 결정을 수행 또는 실행할 수 있다. 예를 들면, 방법은, 시간에 걸친 압력 변화의 레이트가 더 이상 제 2 미리 결정된 임계치를 초과하지 않는다(예를 들면, 제로임)는 것을 검출한 것에 응답하여, 프로세서를 사용하여, 앞서 설명된 것들과 같은 층 명확화 또는 결정 기술을 실행할 수 있다. 일부 실시예들에서, 층 명확화 알고리즘은 블록(506)에서 설명된 것과 동일한 알고리즘일 수 있다. 이러한 알고리즘은 모바일 디바이스가 사실상 층들을 변경하였는지를 검증하기 위해 실행되고, 그렇다면, 새로운 층을 결정할 수 있다. 이어서, 방법들은 다시 블록(502)으로 진행할 수 있고, 여기서, 만약 존재하면, 다음의 압력 변화를 검출하기 위해, 압력 센서 데이터가 계속해서 또는 주기적으로 수신될 수 있다.
[0058] 도 5b를 참조하면, 흐름도는 일부 실시예들에 따른 일련의 방법 단계들을 포함하는 방법(550)을 예시한다. 여기서, 제 1 및 제 2 인터럽트 조건들은 유사한 응답들로 도 5a에 설명된 것들과 마찬가지로 발생될 수 있다. 그러나, 블록(507)에서, 시간에 걸친 압력 변화의 레이트가 제 2 미리 결정된 임계치를 초과하지 않다고 결정되면, 방법은 블록(515)으로 진행할 수 있다. 여기서, 방법은, 압력 센서 데이터에 기초하여, 시간에 걸친 압력 변화의 레이트의 변화 레이트(즉, 제 2 도함수)가 제 3 미리 결정된 임계치를 초과하는 것을 검출되는지를 결정할 수 있다. 예를 들면, 방법은 (앞서 설명된 제 2 압력 센서 데이터에 기초하여) 시간에 걸친 압력 변화의 레이트의 변화 레이트가 제 3 미리 결정된 임계치를 초과한다고 결정할 수 있다. 일부 실시예들에서, 시간에 관련하여 제 1 도함수 또는 제 2 도함수를 결정하는 것은 신호를 제 1 저대역 통과 필터링함으로써 구현될 수 있다. 중요하게도, 본원에 설명된 제 3 인터럽트 조건은 압력의 시간에 걸친 변화 레이트의 변화, 또는 다시 말해서, 압력의 가속도의 측정에 기초할 수 있다. 일부 실시예들에서, 압력에서 갑작스러운 또는 빠른 변화의 검출 ― 시간에 걸친 압력 변화의 레이트에서 큰 변화에 대응함 ― 은, 예를 들면, 사용자가 실외로부터 실내를 분리하는 문을 개방하는 것과 일치할 수 있다. 방법은, 시간에 걸친 압력 변화의 레이트의 변화 레이트가 제 3 미리 결정된 임계치를 초과하지 않는다고 결정되는 경우에 다시 블록(502)으로 진행할 수 있고, 여기서 만약 존재한다면, 압력에서 다음 변화를 검출하기 위해 압력 센서 데이터가 계속해서 또는 주기적으로 수신될 수 있다.
[0059] 블록(516)에서, 방법은 제 3 인터럽트 조건을 발생시킬 수 있다. 예를 들면, 방법은, 시간에 걸친 압력 변화의 레이트의 변화 레이트가 제 3 미리 결정된 임계치를 초과한다고 결정되면, 제 3 인터럽트 조건을 발생시킬 수 있다. 일부 실시예들에서, 모바일 디바이스는 (예를 들면, 속도 센서, 가속도계 센서 등을 사용하여) 모바일 디바이스의 속도를 결정할 수 있고, 결정된 속도에 기초하여 제 3 인터럽트 조건을 발생시킬 수 있다.
[0060] 블록(518)에서, 방법은 제 3 인터럽트 조건, 압력 변화의 레이트의 변화 레이트 및/또는 속도에 적어도 부분적으로 기초하여 실내 내비게이션과 실외 내비게이션 사이에서 스위칭할 수 있다. 예를 들면, 제 3 인터럽트 조건을 발생시키는 것에 응답하여, 갑작스러운 압력 변화가 검출되기 전에 사용자가 시작하는 곳에 의존하여, 실내 내비게이션 애플리케이션을 실행하는 것과 실외 내비게이션 애플리케이션을 실행하는 것 사이에서 애플리케이션들의 스위치가 이루어질 수 있다. 예를 들면, 애플리케이션 코어(302)는 초기에 실내 내비게이션 애플리케이션을 실행할 수 있다. 이어서, 갑작스러운 압력 변화를 표시하는 제 3 인터럽트 조건의 수신 시에, 애플리케이션 코어(302)는 실내 내비게이션 애플리케이션을 실행하는 것으로부터 실외 내비게이션 애플리케이션을 실행하는 것으로 스위칭할 수 있다. 스위치는, 갑작스러운 압력 변화가 실내 환경에서 퇴장하고 실내 환경에 진입하는 것에 대응한다는 추론에 기초할 수 있다. 사용자가 초기에 실외에 있는 것으로 검출되었다면, 애플리케이션들이 반대 순서로 스위칭될 수 있다는 것을 당업자는 인식할 것이다.
[0061] 도 6은 압력 센서 데이터를 사용하여 고도 또는 층 변화들을 검출하기 위한 방법(600)을 예시한다. 방법(600)은, 도 1, 2, 3, 4 및/또는 7 중 임의의 것에 설명된 예시적인 장치들(예를 들면, 모바일 디바이스), 시스템들 및/또는 코드를 실행하는 프로세서들을 비롯하여, 다양한 수단에 의해 구현될 수 있다. 블록(602)에서, 방법(600)은 압력을 모니터링하는 것을 포함할 수 있다. 예를 들면, 모바일 디바이스에 의해 경험되는 압력은 모바일 디바이스 내의 압력 센서(예를 들면, 압력 센서(410))를 사용하여 검출 및/또는 측정될 수 있다. 압력 센서는 기압을 모니터링할 수 있는 기압계, 고도계 등을 포함할 수 있다. 일부 실시예들에서, 앞서 설명된 센서 코어(304)는 압력을 모니터링할 수 있다.
[0062] 블록(604)에서, 방법(600)은 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하는 것을 포함할 수 있다. 예를 들면, 압력 변화의 레이트는 앞서 설명된 센서 코어(304)를 사용하여 결정될 수 있다. 압력 변화의 레이트는 파스칼/초, 수은 인치/초, 수은 밀리미터/초, 또는 임의의 다른 압력 관련 측정 단위들로 측정될 수 있다. 미리 결정된 압력 변화의 레이트 임계치는 날씨-관련 압력 변화들에 기인할 수 있는 압력 변화의 레이트에 대응하고 및/또는 이를 초과하도록 선택될 수 있다. 예를 들면, 실시예에서, 미리 결정된 압력 변화의 레이트 임계치는, 모바일 디바이스가 날씨 변화에 의해 설명될 수 있는 레이트를 초과하는 레이트로 압력 변화를 겪고 있는지를 결정하도록 설정될 수 있다. 실시예에서, 미리 결정된 압력 변화의 레이트 임계치는, 모바일 디바이스가 계단들을 횡단하고, 에스컬레이터들을 따고 및/또는 엘리베이터들을 타는 때를 결정하고, 또한 그러한 횡단이 정지될 때를 결정하기 위한 압력 모니터링을 트리거링하기 위해, 계단 횡단, 에스컬레이터 타기 및/또는 엘리베이터 타기로 인한 평균 압력 변화의 레이트 미만의 합리적인 마진으로 설정될 수 있다.
[0063] 블록(606)에서, 방법(600)은 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 더 이상 초과하지 않는다고 후속으로 결정하는 것을 포함할 수 있다. 예를 들면, 센서 코어(304)는 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 더 이상 초과하지 않는다고 결정할 수 있다. 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 더 이상 초과하지 않는다고 결정함으로써, 모바일 디바이스는 자신이 더 이상 고도 또는 해발높이에서 변하지 않는다고 결정할 수 있다. 이것은 모바일 디바이스의 사용자가 원하는 층 또는 다른 고도에 도달하였다는 것을 시사할 수 있다. 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 더 이상 초과하지 않는다고 결정하는 것은, 사용자가 원하는 층 또는 다른 고도에 도달하였을 가능성이 있을 때에만 추가의 프로세싱(예를 들면, 아래의 단계들(608-610))이 수행되도록 허용한다.
[0064] 블록(608)에서, 방법(600)은 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하는 것을 포함할 수 있다. 예를 들면, 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다는 결정은, 시간에 걸친 압력 변화의 레이트 미리 결정된 압력 변화의 레이트 임계치를 더 이상 초과하지 않는다고 후속으로 결정하는 것에 응답할 수 있다. 일부 실시예들에서, 센서 코어(304)는 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정할 수 있다. 일부 실시예들에서, 미리 결정된 압력 변화 임계치는 적어도 하나의 층을 위 또는 아래로 이동하는 것 또는 다른 고도 변화에 대응하는 최소 압력 변화에 대응할 수 있다. 예를 들면, 미리 결정된 압력 변화 임계치는 4 파스칼, 10 파스칼, 25 파스칼, 50 파스칼 또는 임의의 다른 적절한 압력 레벨로 설정될 수 있다. 예를 들면, 미터 당 평균 압력 변화가 미터 당 10 파스칼이면(중간 고도들에서 더 많이 또는 더 적게 선형임) 그리고 미국에서 사무실들이 13 피트(3.96m)의 평균 층 높이를 갖고, 아파트들이 대략 10 피트(3.05m)의 평균 층 높이들을 갖고, 바이오테크 연구실들이 약 15 피트(4.57m)의 평균 층 높이들을 갖는다는 것을 당신이 알고 있다면, 당신은, 정해진 영역 또는 심지어 특정 빌딩에 대해, 평균 층 높이가 얼마 이어야 하는지, 및 따라서 층 당 평균 압력 변화가 또한 얼마인지를 결정할 수 있다. 일부 실시예들에서, 디바이스는 가능하게는 실내 맵과 연관된 실제 층 높이들을 기록하거나 자신에게 제공할 수 있다. 실내 맵은 또한 특정 층의 표시들을 제공할 수 있는 무선 트랜시버들 및 다른 디바이스들에 대해 주석이 달릴 수 있다. 일부 경우들에서, 적어도 하나의 층을 위 또는 아래로 이동하는 것에 대응하는 최소 압력 변화는 특정 빌딩의 천장 높이들로 특정될 수 있다. 예를 들면, 특정 다층 빌딩의 로비는 층들 중 나머지보다 더 높은 천장들을 가질 수 있고, 천장 높이들은 빌딩마다 상이할 수 있다. 실시예에서, 특히 실제 천장 높이들이 알려지지 않았다면, 평균 층 높이가 사용될 수 있다. 예를 들면, 빌딩의 임의의 주어진 층 상의 천장 높이들은 평균적으로 10 ft이거나 빌딩의 로비 층에 대해 가능하게는 더 그 이상이라고 가정될 수 있다. 따라서, 앞서 언급된 실시예에서, 적어도 하나의 층을 위 또는 아래로 이동하는 것에 대응하는 최소 압력 변화는 10 피트 위 또는 아래로 이동하는 것에 대응하는 압력 변화일 수 있다.
[0065] 블록(610)에서, 방법(600)은 층 명확화를 수행하는 것을 포함할 수 있다. 예를 들면, 층 명확화는, 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하는 것에 응답하여 수행될 수 있다. 일부 실시예들에서, 층 명확화는 애플리케이션 코어(302) 또는 다른 범용 프로세서에 의해 수행될 수 있다. 애플리케이션 코어 또는 범용 프로세서는 센서 코어(304)와 같은 더 전용화된 코어 또는 다른 저전력 코어보다 작업 당 더 많은 전력을 소비할 수 있다. 따라서, 저전력 센서 코어에서 센서들을 모니터링하고, 필요할 때에만 애플리케이션 코어 또는 다른 고전력 코어를 활성화함으로써 전력이 절약될 수 있고, 활성화하는 것은 일부 실시예들에서 전체 층 명확화를 위해 애플리케이션 코어를 사용하는 것, 또는 일부 실시예들에서, 무선 신호-기반 층 명확화를 위한 애플리케이션 코어의 사용을 제한하는 것을 포함할 수 있다. 일부 실시예들에서, 센서 코어(304)는 애플리케이션 코어(302) 또는 범용 프로세서보다 더 낮은 전력으로 동작하는 센서 프로세서일 수 있고, 따라서 애플리케이션 코어(302) 또는 범용 프로세서보다 더 적은 전력을 사용할 수 있다. 따라서, 센서 코어(304)는 애플리케이션 코어(302) 또는 범용 프로세서보다는 센서 코어에서 압력 모니터링 프로세스를 유지함으로써 전력을 절약한다.
[0066] 앞서 설명된 바와 같이, 일부 실시예들에서, 층 명확화 기술은 압력 센서(410)와 같은 압력 센서로부터의 데이터에 기초하여 모바일 디바이스의 층 또는 고도를 결정할 수 있다. 예를 들면, 모바일 디바이스 내의 압력 센서는 모바일 디바이스에 의해 경험되는 총 압력 변화를 결정할 수 있고, 압력 변화를 애플리케이션 코어(302)에 제공할 수 있다. 실시예에서, 총 압력 변화는 새로운 층 결정을 결정하기 위해 이전 층 결정과 관련하여, 가능하게는 실제 또는 추정된 층 높이들의 이전 지식과 관련하여 사용될 수 있다. 실시예에서, 절대 압력은 실제 또는 추정된 층 고도들 및/또는 실제 또는 추정된 층 높이들의 이전 지식에 기초하여 고도를 결정하고 고도에 기초하여 층을 결정하는데 사용될 수 있다. 실시예에서, 층 결정은 또한 검출된 무선 신호들에 기초하여, 가령, 임의의 주어진 층 상에 존재하는 무선 신호들에 기초하여 및/또는 알려진 트랜시버들에 대한 무선 신호 세기 및/또는 라운드 트립 시간 및/또는 무선 신호들에 기초하여 결정된 위치에 기초하여 결정될 수 있다. 또한, 층 당 압력 변화량은 애플리케이션 코어(302)에 입력될 수 있다. 예를 들면, 층 당 압력 변화는 4 파스칼, 10 파스칼, 25 파스칼, 50 파스칼 등일 수 있다. 일부 실시예들에서, 사용자는 층 당 미리 결정된 압력 변화를 통해 애플리케이션 코어(302)를 프로그래밍할 수 있다. 일부 실시예들에서, 애플리케이션 코어(302)는 층 당 일반적인 압력 변화를 통해 사전 프로그래밍될 수 있다.
[0067] 이어서, 애플리케이션 코어(302)는, 모바일 디바이스가 위치된 현재 층을 결정하기 위해 총 압력 변화를 층 당 압력 변화량으로 나눌 수 있다. 예를 들면, 총 검출된 압력 변화가 50 파스칼이고, 층 당 압력 변화가 10 파스칼이면, 애플리케이션 코어(302)는 압력 변화가 포지티브 또는 네거티브인지에 의존하여 모바일 디바이스가 5 층 위 또는 아래로 이동하였다고 결정할 수 있다. 이러한 예를 사용하면, 모바일 디바이스가 제 1 층 상에서 시작하고 검출된 압력 변화가 50 파스칼인 경우에, 애플리케이션 코어(302)는 모바일 디바이스가 제 5 층 상에 위치된다고 결정할 수 있다. 동일한 예를 사용하면, 사용자가 제 1 층 이외의 층에서 시작하면, 애플리케이션 코어(302)는 50 파스칼의 검출된 압력 변화로부터 층 변화가 5 층들이고, 따라서 모바일 디바이스가 모바일 디바이스가 시작한 층보다 5 층 더 높거나 더 낮다고 결정할 수 있다. 따라서, 애플리케이션 코어(302)는 모바일 디바이스가 시작한 층에 5 층들을 합산 또는 감산함으로써 모바일 디바이스가 있는 층을 알 수 있다.
[0068] 모바일 디바이스가 시작한 층을 애플리케이션 코어(302)가 인식하지 못한 경우에(예를 들면, 모바일 디바이스가 단지 턴 온됨), 애플리케이션 코어(302)는 (예를 들면, 날씨 압력 기준국에 의해 제공된) 지상 레벨에서의 기준 압력으로부터 현재 검출된 압력을 감산하고, 이어서 층 당 압력 변화로 결과를 나누어 층들의 수를 계산할 수 있다. 일부 경우들에서, 압력 변화가 네거티브이면, 애플리케이션 코어(302)는 모바일 디바이스가 시작한 층으로부터 층들의 수를 감산하거나, 층을 지상 레벨 기준 압력에 기반할 수 있다.
[0069] 층 변화에 직접적으로 대응하지 않는 압력 값을 계산이 생성한 경우에, 애플리케이션 코어(302)는 반올림 또는 반내림할 수 있다. 예를 들면, 총 검출된 압력 변화가 49 파스칼이고, 층 당 압력 변화가 10 파스칼이면, 애플리케이션 코어(302)는 수 4.9를 계산할 수 있다. 이어서, 애플리케이션 코어(302)는 모바일 디바이스가 5 층들 위 또는 아래로 이동하였다(예를 들면, 모바일 디바이스가 제 5 층 상에 위치됨)고 결정하기 위해 반올림할 수 있다. 일부 실시예들에서, 애플리케이션 코어(302)는, 앞서 설명된 바와 같이, 정확한 층을 검증하기 위해 무선 지상 트랜시버 신호들을 사용할 수 있다.
[0070] 일부 실시예들에서, 압력 센서 및/또는 센서 코어는 날씨 관련 압력을 필터링하도록 교정될 수 있다. 예를 들면, 해수면 날씨에 기인한 압력은, 예를 들면, 수은의 29-31 인치일 수 있다. 압력 센서 및/또는 센서 코어는 날씨에 기인한 압력을 검출된 압력 판독으로부터 무시하도록 교정될 수 있다. 일부 실시예들에서, 저대역 통과 필터 또는 고대역 통과 필터는 일부 임계 레이트 미만의 레이트로 발생하는 압력 변화들을 필터링하는데 사용될 수 있다. 따라서, 저대역 또는 고대역 통과 필터는 고도 변화들에 기인한 압력 변화보다는 더 느린 레이트로 발생하는 날씨-관련 압력 변화들을 필터링 및/또는 개별적으로 결정할 수 있다.
[0071] 일부 실시예들에서, 층 명확화 기술은 액세스 포인트, 펨토 셀, 노드 B 등과 같은 하나 이상의 무선 지상 트랜시버들로부터의 데이터에 기초하여 모바일 디바이스의 층 또는 고도를 결정할 수 있다. 예를 들면, 애플리케이션 코어(302)는 라디오 주파수(RF) 신호 스캔을 수행하는 것에 응답하여 모바일 디바이스로 하여금 하나 이상의 무선 지상 트랜시버들로부터 신호들을 수신하게 할 수 있다. 신호들은 WiFi와 같은 하나 이상의 통신 프로토콜들을 사용하여 수신될 수 있다. 애플리케이션 코어(302)는 무선 지상 트랜시버들로부터 가장 강한 신호들을 결정할 수 있다. 이들 신호들을 사용하여, 애플리케이션 코어(302)는 신호들이 특정 층 상에 위치된 무선 지상 트랜시버들에 대응하고, 따라서 모바일 디바이스가 그 층 상에 위치된다고 결정할 수 있다. 일부 실시예들에서, 모바일 디바이스는 수신된 무선 지상 트랜시버 신호들을 서버(예를 들면, 위치 서버)로 전송할 수 있고, 서버는 무선 지상 트랜시버들이 제 3 층 상에 위치된다는 것을 표시하는 응답을 모바일 디바이스로 반환할 수 있다. 실시예에서, 층 명확화는 또한 디바이스가 어떤 층에 있는지를 결정하기 위해 압력 센서를 사용하는 것, 또는 층 결정이 이미 최근에 수행되었다면 및/또는 동일한 구조 내에 있는 동안에, 이전의 층 결정이 수행된 때 디바이스가 있었던 곳과 동일한 층 상에 디바이스가 여전히 있다고 결정하기 위해 압력 센서를 사용하는 것을 수반할 수 있다. 실시예에서, 층 명확화는 압력 센서 및 무선 신호들 둘 모두를 사용하는 것을 포함하여, 양자의 기술들을 사용하는 층 결정이 서로 일치한다고 결정하고(동일한 층을 예측) 및/또는 센서 판독이 무선 신호-기반 층 명확화를 통해 결정된 층과 불일치하면 압력 센서 판독과 연관된 층을 교정할 수 있다.
[0072] 일부 실시예들에서, 고도계 및 하나 이상의 무선 지상 트랜시버 신호들은, 예를 들면, 층 또는 고도 결정을 결정 및/또는 검증하기 위해 서로를 체크하는데 사용될 수 있다. 예를 들면, 고도계에 의한 초기 층 결정은 하나 이상의 무선 지상 트랜시버들로부터 수신된 무선 신호들에 기초하여 검증 또는 반증(disprove)될 수 있다. 다른 예에서, 예를 들면, 제 3 또는 제 4 층에 대응할 수 있는 압력을 고도계 판독이 표시하는 경우에, 제 3 및 제 4 층들 상의 지상 무선 트랜시버들로부터의 신호 판독들은, 제 4 층 상의 지상 무선 트랜시버들의 신호 세기가 제 3 층 상의 것들보다 더 강하고 따라서 모바일 디바이스가 제 4 층 상에 위치된다는 것을 표시할 수 있다. 또 다른 예에서, 고도계 판독은 하나 이상의 무선 지상 트랜시버 신호들에 기초하여 층 결정을 검증 또는 반증하는데 사용될 수 있다.
[0073] 앞서 설명된 층 명확화 기술들의 임의의 조합이 본원에 설명된 임의의 실시예들을 구현하는데 사용될 수 있다는 것을 당업자는 이해할 것이다.
[0074] 일부 실시예들에서, 부가적인 기능들 또는 방법 단계들이 도 5a, 5b 및 6에 설명된 방법들에 통합될 수 있다. 이들 부가적인 기능들은 도 1, 2, 3 및 4에서 논의된 다른 예시적인 설명들 중 임의의 것 및 전부를 포함할 수 있고, 실시예들은 이에 제한되지 않는다. 일부 실시예들에서, TTL(time-to-live) 태그 또는 유효 기간이 사용될 수 있다. 예를 들면, 방법(600)은 압력 변화와 연관된 TTL(time-to-live) 유효 기간을 수신하는 것, 압력 변화와 연관된 TTL 유효 기간이 만료되었다고 결정하는 것, 및 압력 변화의 레이트 및/또는 압력 변화를 무시하는 것을 포함할 수 있다. 따라서, 모든 만료된 또는 유효 기간이 지난(out of date) 압력 판독들이 무시될 수 있다. 일부 실시예들에서, TTL이 만료된 후에, 임계치를 초과하는 압력 변화의 레이트가 통지되면, 실내 내비게이션 시스템은 다른 수단에 의해 기초하여 현재 층을 이미 결정하였을 수 있다. 예를 들면, 실시예에서, 애플리케이션 코어 또는 범용 프로세서는 가장 강한 무선 신호 세기들을 결정할 수 있고, 어떠한 층에서 가장 강한 신호들이 방출되는지를 결정하기 위해 상이한 층들 상의 무선 송신기들의 맵과 무선 신호 세기들을 비교하고, 그 층을 현재 층으로서 선택할 수 있다.
[0075] 다른 예로서, TTL 유효 기간은 도 5a 및 5b에 설명된 인터럽트 조건들 중 임의의 것에 부착 또는 첨부될 수 있어서, 인터럽트 조건의 TTL 유효 기간이 만료될 때, 인터럽트 조건이 무시될 수 있다. TTL 유효 기간은 결정된 압력 변화에 대한 유효 기간을 표시할 수 있어서, TTL 유효 기간이 만료되면, 압력 변화에 기초하여 애플리케이션을 실행하는 것이 더 이상 필요하지 않을 수 있다. 다른 경우들에서, 애플리케이션 또는 인터럽트는, TTL 유효 기간이 만료된 후에 재설정 또는 재런칭될 수 있다. 이러한 기능은, 애플리케이션이 실행되어야 하는지를 주기적으로 체크하는 것이 바람직할 수 있다는 개념을 표현할 수 있다. 예를 들면, 사용자가 실내 장소에 진입할 때, 애플리케이션 코어(302)는 다음의 10 분 동안에 인터럽트 ― 인터럽트는 층 명확화 알고리즘을 수행하는 것에 대응함 ― 를 인에이블하고, 사용자가 그 장소에 머무는 한 10 분마다 인터럽트를 재런칭할 수 있다. TTL 유효 기간은 이러한 경우에 10 분일 것이고, 따라서 인터럽트는 10 분마다 무시되고, 이어서 재런칭될 것이다.
[0076] 일부 실시예들에서, 방법(600)은 모바일 디바이스가 실내 장소에 위치된다고 결정하는 것, 및 모바일 디바이스가 실내 장소에 위치된다고 결정하는 것에 응답하여 층 명확화를 수행하는 것을 더 포함할 수 있다. 예를 들면, 층 명확화는 일단 빌딩 내부에 있다면 활성화될 수 있다. 실내 위치는, 예를 들면, 약하거나 아예 없는 위성 신호들(예를 들면, GNSS(global navigation satellite system) 신호들)을 검출함으로써 또는 지상 레벨을 현저하게 초과하는 고도에 대응하는 압력에 의해 결정될 수 있다. 일부 실시예들에서, 방법(600)은 모바일 디바이스의 속도가 속도 임계치를 초과한다고 결정하는 것(예를 들면, 속도는 정상적으로, 예를 들면, 보행자 모션보다는 개방 거리 상의 이동하는 차량과 연관됨), 및 모바일 디바이스의 속도가 속도 임계치를 초과하면, 압력을 무시하는 것 또는 모바일 디바이스가 이동하는 차량 내에 있고 따라서 지상 레벨에 있을 가능성이 있다고 결정하는 것을 포함할 수 있다. 예를 들면, 센서 코어(304)는 GNSS 도플러 및/또는 위치 결정, 자동차의 주행 기록계 판독들 또는 다른 자동차의 센서 출력, 가속도계 센서 등을 사용하여 모바일 디바이스의 속도를 결정할 수 있다. 다른 예로서, 속도는 위성 신호 프로세서(예를 들면, GNSS 프로세서) 또는 위성 판독들 및 계산들의 다른 소스에 의해 제공될 수 있다. 속도 임계치는 모바일 디바이스가 실내 또는 실외에 위치되는지를 표시할 수 있다. 예를 들면, 속도 임계치는 보행자 움직임과 개방 거리 상의 드라이빙 사이를 구별하기 위해 5 mph, 10 mph 등에서 설정될 수 있다. 예를 들면, 모바일 디바이스가 5 mph보다 더 높은 속도로 이동하면, 모바일 디바이스가 실외에 있다고(예를 들면, 차량의 이동중) 결정될 수 있다. 마찬가지로, 모바일 디바이스 위치가 임의의 구조 외부에 있거나 위치가 다수의 빌딩들을 횡단하면, 디바이스는 외부에 있는 것으로 추정될 수 있다. 위치는 다양한 수단에 의해, 가령, GNSS, WiFi, WAN 또는 다른 신호들 또는 이들의 조합의 사용을 통해 결정될 수 있다.
[0077] 다른 예들로서, 피트니스 애플리케이션은 사용자에게 그 또는 그녀의 운동의 루틴 또는 페이스를 조절하도록 충고하기 위해 압력 센서 측정들을 사용할 수 있다. 예를 들면, 애플리케이션은 고도 또는 고도 변화의 레이트를 모니터링하고, 이를 가속도계 데이터 또는 다른 정량화 가능한 피트니스 메트릭들(예를 들면, 심장 박동, 칼로리 소모, 혈압 등)과 비교할 수 있다. 이어서, 애플리케이션은 하나 이상의 미리 선택된 피트니스 목표들(예를 들면, 심장병 운동, 체중 감소, 강도 트레이닝 등)에 기초하여, 예를 들면, 속도를 줄이거나 정지하거나 속도를 올리는 것 등을 위해 인터럽트들의 사용을 통해 사용자를 안내할 수 있다. 또 다른 예로서, 포털 검출, 및 그의 타입(에스컬레이터, 엘리베이터 등)을 식별하는 것은 맵들의 크라우드소싱에서 사용될 수 있다. 예를 들면, 맵 상에 그와 같이 마킹되지 않은 위치에서 에스컬레이터를 찾는 모바일 디바이스는 위치를 업데이트/정정하기 위한 업데이트를 맵 서버로 전송할 수 있다. 일단 영역 내의 다른 모바일 디바이스들로부터의 충분한 수의 확인들이 수신되었다면, 서버는 정보를 적용할 수 있다. 포털들의 검출은 본원에 제공된 방법들에 따라 압력 센서 데이터를 사용하는 것으로 기인할 수 있다.
[0078] 특정 요건들에 따라 많은 실시예들이 이루어질 수 있다. 예를 들어, 커스터마이징된 하드웨어가 또한 사용될 수 있고 그리고/또는 특정 엘리먼트들이 하드웨어, 소프트웨어(애플릿들과 같은 휴대용 소프트웨어 등을 포함함) 또는 둘 모두로 구현될 수 있다. 추가로, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들로의 연결이 이용될 수 있다.
[0079] 실내 포지셔닝을 개선하는 다수의 양상들이 설명되었고, 본 개시의 다양한 양상들이 구현될 수 있는 모바일 디바이스의 예가 도 7에 대해 이제 설명될 것이다. 하나 이상의 양상들에 따라, 도 7에 예시된 바와 같은 모바일 디바이스는 본원에 설명된 특징들, 방법들 및/또는 방법 단계들 중 임의의 것 및/또는 그 전부를 구현, 수행 및/또는 실행할 수 있다. 모바일 디바이스의 예들은 예시적인 디바이스(100)를 비롯하여, 비디오 게임 콘솔들, 태블릿들 및 스마트 폰들을 포함한다(그러나, 이들에 제한되는 것은 아님). 일부 실시예들에서, 모바일 디바이스(700)는 위에서 설명된 방법들 중 임의의 방법을 구현하도록 구성된다. 도 7은, 본원에 설명된 바와 같이 다양한 다른 실시예들에 의해 제공된 방법들을 수행할 수 있고 그리고/또는 호스트 모바일 디바이스, 원격 키오스크/단말, 판매-시점(point-of-sale) 디바이스, 모바일 디바이스, 셋탑 박스 및/또는 모바일 디바이스로서 기능할 수 있는 모바일 디바이스(700)의 하나의 실시예의 개략적 예시를 제공한다. 도 7은 단지 다양한 컴포넌트들 - 이들 중 임의의 것 또는 이들 전부가 적절하게 활용될 수 있음 - 의 일반화된 예시를 제공하는 것으로 의미된다. 따라서, 도 7은 개별 시스템 엘리먼트들이 상대적으로 분리된 또는 상대적으로 더 통합된 방식으로 어떻게 구현될 수 있는지를 광범위하게 예시한다.
[0080] 모바일 디바이스(700)는 버스(705)를 통해 전기적으로 커플링될 수 있는(또는 그렇지 않으면 적절하게 통신할 수 있는) 하드웨어 엘리먼트들을 포함하는 것으로 도시된다. 하드웨어 엘리먼트들은, (제한없이, 하나 이상의 범용 프로세서들, 애플리케이션 코어들 또는 프로세서들, 센서 코어들 또는 프로세서들(가령, 도 3, 4, 5a 및 5b에 설명됨) 및/또는 하나 이상의 특수 목적 프로세서들(이를테면, 디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들 등)을 포함하는) 하나 이상의 프로세서들(710); (제한없이, 카메라, 무선 수신기들, 무선 센서들, 마우스, 키보드 등을 포함할 수 있는) 하나 이상의 입력 디바이스들(715); 및 (제한없이, 디스플레이 유닛, 프린터 등을 포함할 수 있는) 하나 이상의 출력 디바이스들(720)을 포함할 수 있다. 일부 실시예들에서, 하나 이상의 프로세서들(710)은 도 5a 및 5b에 대해 위에서 설명된 기능들의 서브세트 또는 그 전부를 수행하도록 구성될 수 있다. 하나 이상의 프로세서들(710)은, 예를 들어, 일반 프로세서, 애플리케이션 프로세서 또는 코어 및 센서 프로세서 또는 코어를 포함할 수 있다. 일부 실시예들에서, 프로세서는 압력 데이터 입력들 및 무선 센서 입력들을 프로세싱하는 엘리먼트로 통합된다.
[0081] 모바일 디바이스(700)는 센서 데이터를 수신하기 위한 하나 이상의 센서(들)(760)를 더 포함할 수 있다. 예시적인 센서들은 기압계 또는 고도계, 가속도계, 자이로미터, 보수계(pedometer) 등과 같은 압력 센서를 포함할 수 있다. 하나 이상의 센서(들)(760)는 하나 이상의 프로세서(들)(710)에 의해 프로세싱될 수 있고 및/또는 메모리(735)에 저장될 수 있다.
[0082] 모바일 디바이스(700)는, (제한없이, 로컬 및/또는 네트워크 액세스가능한 저장소를 포함하고 그리고/또는 제한없이, 프로그래밍가능하고, 플래시-업데이트 가능한 식일 수 있는 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 고체-상태 저장 디바이스, 이를테면, "RAM"(random access memory) 및/또는 "ROM"(read-only memory)을 포함할 수 있는) 하나 이상의 비-일시적 저장 디바이스들(725)을 더 포함할 수 있다(그리고/또는 이들과 통신할 수 있다). 이러한 저장 디바이스들은, (제한없이, 다양한 파일 시스템들, 데이터베이스 구조들 등을 포함하는) 임의의 적절한 데이터 저장들을 구현하도록 구성될 수 있다.
[0083] 모바일 디바이스(700)는 또한, (제한없이, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스, 및/또는 칩셋(이를테면, Bluetooth? 디바이스, 802.11 디바이스, WiFi 디바이스, WiMax 디바이스, 셀룰러 통신 설비들 등) 등을 포함할 수 있는) 통신 서브시스템(730)을 포함할 수 있다. 통신 서브시스템(730)은 데이터가 네트워크(이를테면, 하나의 예를 들자면, 아래에서 설명되는 네트워크), 다른 모바일 디바이스들, 및/또는 본원에 설명된 임의의 다른 디바이스들과 교환되게 허용할 수 있다. 많은 실시예들에서, 모바일 디바이스(700)는 (위에서 설명된 바와 같이, RAM 또는 ROM 디바이스를 포함할 수 있는) 비-일시적 작업 메모리(735)를 더 포함할 것이다. 일부 실시예들에서, 통신 서브시스템(730)은 액세스 포인트들 또는 모바일 디바이스들로부터 신호들을 수신 및 송신하도록 구성되는 트랜시버(들)(750)와 인터페이싱할 수 있다. 일부 실시예들은 별개의 수신기 또는 수신기들, 및 별개의 송신기 또는 송신기들을 포함할 수 있다. 메모리(735)는 공유 메모리(755)를 더 포함할 수 있다.
[0084] 모바일 디바이스(700)는 압력 센서(765), 애플리케이션 코어(770) 및 센서 코어(775)를 더 포함할 수 있다. 공유 메모리(755)는 버스(705)를 통해 애플리케이션 코어(302) 및 센서 코어(304)에 통신 가능하게 커플링될 수 있다. 공유 메모리(755), 압력 센서(765), 애플리케이션 코어(770) 및 센서 코어(775)는 도 4, 5a, 5b 및/또는 6에 관련하여 본원에 설명된 예들에 따라 동작할 수 있다.
[0085] 모바일 디바이스(700)는 또한, 운영 시스템(740), 디바이스 드라이버들, 실행가능한 라이브러리들 및/또는 다른 코드, 이를테면, 본원에 설명된 바와 같이, 다양한 실시예들에 의해 제공되는 컴퓨터 프로그램들을 포함할 수 있고, 그리고/또는 다른 실시예들에 의해 제공되는 방법들을 구현하고 그리고/또는 시스템들을 구성하도록 설계될 수 있는 하나 이상의 애플리케이션 프로그램들(745)을 포함하는 작업 메모리(735) 내에 현재 로케이팅되어 있는 것으로 도시된 소프트웨어 엘리먼트들을 포함할 수 있다. 단지 예로서, 예를 들어, 도 5a, 5b 및/또는 6에 대해 설명된 바와 같은 위에서 논의된 방법(들)에 대해 설명된 하나 이상의 프로시저들은 컴퓨터(및/또는 컴퓨터 내의 프로세서)에 의해 실행가능한 코드 및/또는 명령들로서 구현될 수 있고, 양상에서, 그 다음, 이러한 코드 및/또는 명령들은 설명된 방법들에 따라 하나 이상의 동작들을 수행하도록 범용 컴퓨터(또는 다른 디바이스)를 구성시키고 그리고/또는 적응시키기 위해 사용될 수 있다.
[0086] 이 명령들 및/또는 코드의 세트는, 위에서 설명된 저장 디바이스(들)(725)와 같은 프로세서 판독가능한 저장 매체 상에 저장될 수 있다. 일부 경우들에서, 저장 매체는 모바일 디바이스, 이를테면, 모바일 디바이스(700) 내에 포함될 수 있다. 다른 실시예들에서, 저장 매체는 모바일 디바이스(예를 들어, 탈착식(removable) 매체, 이를테면, 컴팩트 디스크(disc))와 별개일 수도 있고, 그리고/또는 저장 매체가 저장 매체 상에 저장된 명령들/코드로 범용 컴퓨터를 프로그래밍하고, 구성하고 그리고/또는 적응시키는데 사용될 수 있도록 설치 패키지로 제공될 수 있다. 이 명령들은 모바일 디바이스(700)에 의해 실행가능한 실행가능 코드의 형태를 취할 수 있고 그리고/또는 (그 다음, 모바일 디바이스(700) 상에서의 컴파일(compilation) 및/또는 설치(installation) 시에, (예를 들어, 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등 중 임의의 것을 사용하여) 실행가능한 코드의 형태를 취하는) 소스 및/또는 설치가능한 코드의 형태를 취할 수 있다.
[0087] 특정 요건들에 따라 상당한 변형들이 이루어질 수 있다. 예를 들어, 커스터마이징된 하드웨어가 또한 사용될 수 있고 그리고/또는 특정 엘리먼트들이 하드웨어, 소프트웨어(애플릿들과 같은 휴대용 소프트웨어 등을 포함함) 또는 둘 모두로 구현될 수 있다. 추가로, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들로의 연결이 이용될 수 있다.
[0088] 일부 실시예들은 본 개시에 따라 방법들을 수행하기 위해 모바일 디바이스(이를테면, 모바일 디바이스(700))를 이용할 수 있다. 예를 들어, 프로세서(들)(710)가 작업 메모리(735)에 포함되는 하나 이상의 명령들(애플리케이션 프로그램(745)과 같은 운영 시스템(740) 및/또는 다른 코드로 통합될 수 있음)의 하나 이상의 시퀀스들을 실행하는 것에 응답하여, 설명된 방법들의 프로시저들의 일부 또는 그 전부가 모바일 디바이스(700)에 의해 수행될 수 있다. 이러한 명령들은 또 다른 프로세서 판독가능한 매체, 이를테면, 저장 디바이스(들)(725) 중 하나 이상의 저장 디바이스(들)로부터 작업 메모리(735)로 판독될 수 있다. 단지 예로서, 작업 메모리(735)에 포함되는 명령들의 시퀀스들의 실행은, 프로세서(들)(710)로 하여금 본원에 설명된 방법들, 예를 들어, 도 5a, 5b 및/또는 6에 대해 설명된 방법들의 하나 이상의 프로시저들을 수행하게 할 수 있다.
[0089] 본원에 사용되는 바와 같은 "프로세서-판독가능한 매체", "기계 판독가능한 매체" 및 "컴퓨터 판독가능한 매체"라는 용어들은, 기계로 하여금 특정 방식으로 동작하게 하는 데이터를 제공하는데 참여하는 임의의 매체를 지칭한다. 모바일 디바이스(700)를 사용하여 구현되는 실시예에서, 다양한 프로세서 판독가능한 매체들이, 실행을 위한 명령들/코드를 프로세서(들)(710)에 제공하는데 수반될 수 있고, 그리고/또는 (예를 들어, 신호들과 같은) 이러한 명령들/코드를 저장 및/또는 전달하는데 사용될 수 있다. 많은 구현들에서, 프로세서 판독가능한 매체는 물리적 그리고/또는 유형의 저장 매체이다. 이러한 매체는 비-휘발성 매체들, 휘발성 매체들 및 송신 매체들을 포함하는(그러나, 이에 제한되는 것은 아님) 많은 형태들을 취할 수 있다. 비-휘발성 매체들은, 예를 들어, 광학 그리고/또는 자기 디스크들, 이를테면, 저장 디바이스(들)(725)를 포함한다. 휘발성 매체들은, 제한없이, 동적 메모리, 이를테면, 작업 메모리(735)를 포함한다. 송신 매체들은, 제한없이, 버스(705)뿐만 아니라 통신 서브시스템(730)의 다양한 컴포넌트들 (및/또는 통신 서브시스템(730)이 다른 디바이스들과의 통신을 제공하게 하는 매체들)을 포함하는 와이어들을 포함하는 동축 케이블들, 구리 유선 및 광섬유들을 포함한다. 따라서, 송신 매체들은 또한, (제한없이, 라디오파(radio-wave) 및 적외선 데이터 통신들 동안 생성되는 것들과 같은 라디오, 어쿠스틱(acoustic) 및/또는 광파들을 포함하는) 파들의 형태를 취할 수 있다.
[0090] 물리적 그리고/또는 유형의 프로세서 판독가능한 매체들의 일반적 형태들은, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치카드들(punchcards), 페이퍼테이프(papertape), 홀들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 이하에 설명되는 바와 같은 반송파, 또는 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다.
[0091] 다양한 형태들의 프로세서 판독가능한 매체들은 실행을 위한 하나 이상의 명령들의 하나 이상의 시퀀스들을 프로세서(들)(710)에 전달하는데 수반될 수 있다. 단지 예로서, 명령들은 초기에, 원격 컴퓨터의 자기 디스크 및/또는 광학 디스크 상에서 전달될 수 있다. 원격 컴퓨터는 그것의 동적 메모리에 명령들을 로딩하고, 모바일 디바이스(700)에 의해 수신 및/또는 실행되도록 송신 매체 상에서 신호들로서 명령들을 전송할 수 있다. 전자기파 신호들, 어쿠스틱 신호들, 광학 신호들 등의 형태일 수 있는 이러한 신호들은 본 발명의 다양한 실시예들에 따라, 명령들이 인코딩될 수 있는 반송파들의 모든 예들이다.
[0092] 통신 서브시스템(730)(및/또는 이것의 컴포넌트들)은 일반적으로 신호들을 수신할 것이고, 그 다음, 버스(705)는 신호들(및/또는 신호들에 의해 전달되는 데이터, 명령들 등)을 작업 메모리(735)에 전달할 수 있고, 프로세서(들)(710)는 이러한 작업 메모리(735)로부터의 명령들을 리트리브하고 실행한다. 작업 메모리(735)에 의해 수신되는 명령들은 프로세서(들)(710)에 의한 실행 이전에 또는 그 이후에 비-일시적 저장 디바이스(725) 상에 선택적으로 저장될 수 있다. 메모리(735)는 본원에 설명된 데이터베이스들 및 방법들 중 임의의 것에 따른 적어도 하나의 데이터베이스를 포함할 수 있다. 따라서, 메모리(735)는 도 1, 2, 3, 4, 5a, 5b, 6 및 관련 설명들을 포함하는 본 개시들 중 임의의 것에서 논의된 값들 중 임의의 값을 저장할 수 있다.
[0093] 도 5a, 5b 및 6에서 설명된 방법들은 도 7의 다양한 블록들에 의해 구현될 수 있다. 예를 들어, 센서(들)(760) 및 프로세서(들)(710)는 흐름도들(500 및 550)에서의 블록들의 기능들을 수행하도록 총괄적으로 구성될 수 있다. 저장 디바이스(725)는 본원에 언급된 블록들 중 임의의 것 내에서 논의된 전반적으로(globally) 고유한 속성 또는 국부적으로(locally) 고유한 속성과 같은 중간 결과를 저장하도록 구성될 수 있다. 저장 디바이스(725)는 또한, 본 개시들 중 임의의 것과 일치하는 데이터베이스를 포함할 수 있다. 유사하게, 메모리(735)는 신호들, 신호들의 표현 또는 본원에 언급된 블록들 중 임의의 것에서 설명된 기능들 중 임의의 것을 수행하는데 필요한 데이터베이스 값들을 기록하도록 구성될 수 있다. RAM과 같은 일시적 또는 휘발성 메모리에 저장될 필요가 있을 수 있는 결과들은 또한, 메모리(735)에 포함될 수 있으며, 저장 디바이스(725)에 저장될 수 있는 것과 유사한 임의의 중간 결과를 포함할 수 있다. 하나 이상의 입력 디바이스들(715)은 본원에 설명된 본 개시들에 따라 위성들 및/또는 기지국들로부터 무선 신호들을 수신하도록 구성될 수 있다. 하나 이상의 출력 디바이스들(720)은 본 개시들 중 임의의 것에 따라, 이미지들을 디스플레이하고, 텍스트를 프린트하며, 신호들을 송신하고 그리고/또는 다른 데이터를 출력하도록 구성될 수 있다.
[0094] 위에서 논의된 방법들, 시스템들 및 디바이스들은 예들이다. 다양한 실시예들은 적절하게 다양한 프로시저들 또는 컴포넌트들을 생략, 치환 또는 부가할 수 있다. 예를 들어, 대안적 구성들에서, 설명된 방법들은 설명된 것과 상이한 순서로 수행될 수 있고, 그리고/또는 다양한 스테이지들이 부가, 생략 및/또는 결합될 수 있다. 또한, 특정 실시예들에 대해 설명된 특징들은 다양한 다른 실시예들에서 결합될 수 있다. 실시예들의 상이한 양상들 및 엘리먼트들은 유사한 방식으로 결합될 수 있다. 또한, 기술은 진화하고, 따라서, 엘리먼트들 중 다수가 이러한 특정 예들에 대한 본 개시의 범위를 제한하지 않는 예들이다.
[0095] 특정 세부사항들이 실시예들의 완전한 이해를 제공하기 위해 설명에 주어진다. 그러나, 실시예들은 이러한 특정 세부사항들 없이도 실시될 수 있다. 예를 들어, 잘-알려진 회로들, 프로세스들, 알고리즘들, 구조들 및 기법들은 실시예들을 모호하게 하는 것을 회피하기 위해 불필요한 세부사항 없이 나타낸다. 이러한 설명은 단지 예시적 실시예들만을 제공하며, 본 발명의 범위, 적용가능성 또는 구성을 제한하는 것으로 의도되지 않는다. 오히려, 실시예들의 상기 설명은 본 발명의 실시예들을 구현하기 위한 가능한 설명을 당업자들에게 제공할 것이다. 본 발명의 사상 및 범위로부터 벗어나지 않으면서 엘리먼트들의 배열 및 기능에서 다양한 변화들이 이루어질 수 있다.
[0096] 또한, 일부 실시예들은 흐름도들 또는 블록도들로서 도시되는 프로세스들 또는 방법들로서 설명된다. 각각은 순차적 프로세스 또는 방법으로서 동작들을 설명할 수 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서가 재배열될 수 있다. 프로세스 또는 방법은 도면들에 포함되지 않는 추가적 단계들을 가질 수 있다. 게다가, 방법들의 실시예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술어들 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현되는 경우, 연관된 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 프로세서 판독가능한 매체에 저장될 수 있다. 프로세서들은 연관된 태스크들을 수행할 수 있다.
[0097] 컴포넌트들이 특정 동작들을 수행하도록 구성된 것으로 설명되는 경우에, 그러한 구성은, 예를 들면, 동작을 수행하도록 전자 회로들 또는 다른 하드웨어를 설계함으로써, 동작을 수행하도록 프로그래밍 가능 전자 회로들(예를 들면, 마이크로프로세서들, 또는 다른 적절한 전자 회로들)을 프로그래밍함으로써 또는 이들의 임의의 조합에 의해 달성될 수 있다.
[0098] 몇몇 실시예들을 설명하였지만, 다양한 수정들, 대안적 구조들 및 등가물들이 본 개시의 사상으로부터 벗어나지 않고 사용될 수 있다. 예를 들어, 위의 엘리먼트들은 단지 더 큰 시스템의 컴포넌트일 수 있고, 여기서 다른 규정들은 본 발명의 애플리케이션보다 우선권을 얻거나, 그렇지 않으면 본 발명의 애플리케이션을 수정할 수 있다. 또한, 다수의 단계들이 위의 엘리먼트들이 고려되기 전에, 그 동안 또는 그 이후 착수될 수 있다. 따라서, 위의 설명은 본 개시의 범위를 제한하지 않는다.
[0099] 다양한 예들이 설명되었다. 이러한 그리고 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (30)

  1. 모바일 디바이스에 대한 층(floor) 변화들을 검출하기 위한 방법으로서,
    압력을 모니터링하는 단계,
    시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하는 단계,
    상기 시간에 걸친 압력 변화의 레이트가 더 이상 상기 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하는 단계,
    압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하는 단계, 및
    층 명확화(disambiguation)를 수행하는 단계를 포함하는,
    모바일 디바이스에 대한 층 변화들을 검출하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 압력 변화와 연관된 TTL(time-to-live) 유효 기간을 수신하는 단계,
    상기 압력 변화와 연관된 상기 TTL 유효 기간이 만료되었다고 결정하는 단계, 및
    상기 압력 변화의 레이트 및 상기 압력 변화를 무시하는 단계를 더 포함하는,
    모바일 디바이스에 대한 층 변화들을 검출하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 모바일 디바이스가 실내 장소에 위치된다고 결정하는 단계, 및
    층 명확화를 수행하는 단계를 더 포함하는,
    모바일 디바이스에 대한 층 변화들을 검출하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 모바일 디바이스의 속도가 속도 임계치를 초과한다고 결정하는 단계, 및
    상기 압력을 무시하는 단계를 더 포함하는,
    모바일 디바이스에 대한 층 변화들을 검출하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 시간에 걸쳐 압력을 모니터링하는 단계, 상기 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하는 단계, 상기 시간에 걸친 압력 변화의 레이트가 더 이상 상기 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하는 단계, 및 상기 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하는 단계는 센서 코어를 사용하여 수행되는,
    모바일 디바이스에 대한 층 변화들을 검출하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 층 명확화는 애플리케이션 코어를 사용하여 수행되고,
    상기 센서 코어는 상기 애플리케이션 코어보다 더 적은 전력을 사용하는,
    모바일 디바이스에 대한 층 변화들을 검출하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 층 명확화는 압력 센서로부터의 데이터를 사용하여 수행되는,
    모바일 디바이스에 대한 층 변화들을 검출하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 층 명확화는 하나 이상의 지상(terrestrial) 무선 트랜시버들로부터 수신된 데이터를 사용하여 수행되는,
    모바일 디바이스에 대한 층 변화들을 검출하기 위한 방법.
  9. 모바일 디바이스로서,
    압력을 모니터링하고, 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하고, 상기 시간에 걸친 압력 변화의 레이트가 더 이상 상기 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하고, 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하도록 구성된 센서 코어, 및
    층 명확화를 수행하도록 구성된 애플리케이션 코어를 포함하는,
    모바일 디바이스.
  10. 제 9 항에 있어서,
    상기 센서 코어는,
    상기 압력 변화와 연관된 TTL(time-to-live) 유효 기간을 수신하고,
    상기 압력 변화와 연관된 상기 TTL 유효 기간이 만료되었다고 결정하고, 그리고
    상기 압력 변화의 레이트 및 상기 압력 변화를 무시하도록 추가로 구성되는,
    모바일 디바이스.
  11. 제 9 항에 있어서,
    상기 센서 코어는 상기 모바일 디바이스가 실내 장소에 위치된다고 결정하도록 구성되고, 그리고
    상기 애플리케이션 코어는 층 명확화를 수행하도록 구성되는,
    모바일 디바이스.
  12. 제 9 항에 있어서,
    상기 센서 코어는,
    상기 모바일 디바이스의 속도가 속도 임계치를 초과한다고 결정하고, 그리고
    상기 압력을 무시하도록 추가로 구성되는,
    모바일 디바이스.
  13. 제 9 항에 있어서,
    상기 모바일 디바이스는 압력 센서를 더 포함하고,
    상기 층 명확화는 상기 압력 센서로부터의 데이터를 사용하여 수행되는,
    모바일 디바이스.
  14. 제 9 항에 있어서,
    상기 층 명확화는 하나 이상의 지상 무선 트랜시버들로부터 수신된 데이터를 사용하여 수행되는,
    모바일 디바이스.
  15. 제 9 항에 있어서,
    상기 센서 코어는 상기 애플리케이션 코어보다 더 적은 전력을 사용하는,
    모바일 디바이스.
  16. 모바일 디바이스로서,
    압력을 모니터링하기 위한 수단,
    시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하기 위한 수단,
    상기 시간에 걸친 압력 변화의 레이트가 더 이상 상기 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하기 위한 수단,
    압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하기 위한 수단, 및
    층 명확화를 수행하기 위한 수단을 포함하는,
    모바일 디바이스.
  17. 제 16 항에 있어서,
    상기 압력 변화와 연관된 TTL(time-to-live) 유효 기간을 수신하기 위한 수단,
    상기 압력 변화와 연관된 상기 TTL 유효 기간이 만료되었다고 결정하기 위한 수단, 및
    상기 압력 변화의 레이트 및 상기 압력 변화를 무시하기 위한 수단을 더 포함하는,
    모바일 디바이스.
  18. 제 16 항에 있어서,
    상기 모바일 디바이스가 실내 장소에 위치된다고 결정하기 위한 수단, 및
    층 명확화를 수행하기 위한 수단을 더 포함하는,
    모바일 디바이스.
  19. 제 16 항에 있어서,
    상기 모바일 디바이스의 속도가 속도 임계치를 초과한다고 결정하기 위한 수단, 및
    상기 압력을 무시하기 위한 수단을 더 포함하는,
    모바일 디바이스.
  20. 제 16 항에 있어서,
    상기 시간에 걸쳐 압력을 모니터링하기 위한 수단, 상기 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하기 위한 수단, 상기 시간에 걸친 압력 변화의 레이트가 더 이상 상기 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하기 위한 수단, 및 상기 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하기 위한 수단은 센서 코어를 포함하는,
    모바일 디바이스.
  21. 제 20 항에 있어서,
    상기 층 명확화를 수행하기 위한 수단은 애플리케이션 코어를 포함하고,
    상기 센서 코어는 상기 애플리케이션 코어보다 더 적은 전력을 사용하는,
    모바일 디바이스.
  22. 제 16 항에 있어서,
    상기 층 명확화는 압력 센서로부터의 데이터를 사용하여 수행되는,
    모바일 디바이스.
  23. 제 16 항에 있어서,
    상기 층 명확화는 하나 이상의 지상 무선 트랜시버들로부터 수신된 데이터를 사용하여 수행되는,
    모바일 디바이스.
  24. 프로세서-판독 가능 명령들을 포함하는 비일시적인 프로세서-판독 가능 매체로서,
    압력을 모니터링하기 위한 코드,
    시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하기 위한 코드,
    상기 시간에 걸친 압력 변화의 레이트가 더 이상 상기 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하기 위한 코드,
    압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하기 위한 코드, 및
    층 명확화를 수행하기 위한 코드를 포함하는,
    비일시적인 프로세서-판독 가능 매체.
  25. 제 24 항에 있어서,
    상기 압력 변화와 연관된 TTL(time-to-live) 유효 기간을 수신하기 위한 코드,
    상기 압력 변화와 연관된 상기 TTL 유효 기간이 만료되었다고 결정하기 위한 코드, 및
    상기 압력 변화의 레이트 및 상기 압력 변화를 무시하기 위한 코드를 더 포함하는,
    비일시적인 프로세서-판독 가능 매체.
  26. 제 24 항에 있어서,
    상기 모바일 디바이스가 실내 장소에 위치된다고 결정하기 위한 코드, 및
    층 명확화를 수행하기 위한 코드를 더 포함하는,
    비일시적인 프로세서-판독 가능 매체.
  27. 제 24 항에 있어서,
    상기 모바일 디바이스의 속도가 속도 임계치를 초과한다고 결정하기 위한 코드, 및
    상기 압력을 무시하기 위한 코드를 더 포함하는,
    비일시적인 프로세서-판독 가능 매체.
  28. 제 24 항에 있어서,
    상기 시간에 걸쳐 압력을 모니터링하기 위한 코드, 상기 시간에 걸친 압력 변화의 레이트가 미리 결정된 압력 변화의 레이트 임계치를 초과한다고 결정하기 위한 코드, 상기 시간에 걸친 압력 변화의 레이트가 더 이상 상기 미리 결정된 압력 변화의 레이트 임계치를 초과하지 않는다고 후속으로 결정하기 위한 코드, 및 상기 압력 변화가 미리 결정된 압력 변화 임계치를 초과하였다고 결정하기 위한 코드는 센서 코어를 사용하여 실행되고, 그리고
    상기 층 명확화를 수행하기 위한 코드는 애플리케이션 코어를 사용하여 실행되고,
    상기 센서 코어는 상기 애플리케이션 코어보다 더 적은 전력을 사용하는,
    비일시적인 프로세서-판독 가능 매체.
  29. 제 24 항에 있어서,
    상기 층 명확화는 압력 센서로부터의 데이터를 사용하여 수행되는,
    비일시적인 프로세서-판독 가능 매체.
  30. 제 24 항에 있어서,
    상기 층 명확화는 하나 이상의 지상 무선 트랜시버들로부터 수신된 데이터를 사용하여 수행되는,
    비일시적인 프로세서-판독 가능 매체.
KR1020167021194A 2014-01-08 2014-12-23 올웨이즈 온 기압계를 통한 포지셔닝을 위한 방법 및 장치 KR20160105975A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461925120P 2014-01-08 2014-01-08
US61/925,120 2014-01-08
US14/272,892 2014-05-08
US14/272,892 US9970757B2 (en) 2014-01-08 2014-05-08 Method and apparatus for positioning with always on barometer
PCT/US2014/072045 WO2015105678A2 (en) 2014-01-08 2014-12-23 Method and apparatus for positioning with always on barometer

Publications (1)

Publication Number Publication Date
KR20160105975A true KR20160105975A (ko) 2016-09-08

Family

ID=53494914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167021194A KR20160105975A (ko) 2014-01-08 2014-12-23 올웨이즈 온 기압계를 통한 포지셔닝을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9970757B2 (ko)
EP (1) EP3092460B1 (ko)
JP (1) JP6469708B2 (ko)
KR (1) KR20160105975A (ko)
CN (2) CN111336989B (ko)
WO (1) WO2015105678A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102611204B1 (ko) * 2022-10-26 2023-12-07 주식회사 프리그로우 모바일 디바이스의 이동 패턴에 기반한 실내 지도 어플리케이션 제어 방법 및 시스템

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8487759B2 (en) 2009-09-30 2013-07-16 Apple Inc. Self adapting haptic device
US10013058B2 (en) 2010-09-21 2018-07-03 Apple Inc. Touch-based user interface with haptic feedback
US10120446B2 (en) 2010-11-19 2018-11-06 Apple Inc. Haptic input device
US9178509B2 (en) 2012-09-28 2015-11-03 Apple Inc. Ultra low travel keyboard
US9928950B2 (en) 2013-09-27 2018-03-27 Apple Inc. Polarized magnetic actuators for haptic response
CN105579928A (zh) 2013-09-27 2016-05-11 苹果公司 具有触觉致动器的带体
WO2015047364A1 (en) 2013-09-29 2015-04-02 Pearl Capital Developments Llc Devices and methods for creating haptic effects
US10236760B2 (en) 2013-09-30 2019-03-19 Apple Inc. Magnetic actuators for haptic response
US9317118B2 (en) 2013-10-22 2016-04-19 Apple Inc. Touch surface for simulating materials
CN105814510B (zh) 2013-12-10 2019-06-07 苹果公司 具有触觉响应的带体附接机构
AU2014391723B2 (en) 2014-04-21 2018-04-05 Apple Inc. Apportionment of forces for multi-touch input devices of electronic devices
DE102015209639A1 (de) 2014-06-03 2015-12-03 Apple Inc. Linearer Aktuator
US9541404B2 (en) 2014-08-29 2017-01-10 Samsung Electronics Co., Ltd. System for determining the location of entrances and areas of interest
KR102143310B1 (ko) 2014-09-02 2020-08-28 애플 인크. 햅틱 통지
US10353467B2 (en) 2015-03-06 2019-07-16 Apple Inc. Calibration of haptic devices
AU2016100399B4 (en) 2015-04-17 2017-02-02 Apple Inc. Contracting and elongating materials for providing input and output for an electronic device
US10066938B2 (en) * 2015-05-08 2018-09-04 Seiko Instruments Inc. Altimeter, electronic timepiece, and program
JP2017034642A (ja) * 2015-07-28 2017-02-09 京セラ株式会社 携帯機器、移動状態検出方法及び移動状態検出プログラム
JP6510368B2 (ja) * 2015-08-26 2019-05-08 京セラ株式会社 携帯電子機器、制御方法、及び制御プログラム
CN108317996B (zh) * 2015-08-27 2021-06-29 华为终端有限公司 一种确定楼层方法、相关设备和系统
CN107925333B (zh) 2015-09-08 2020-10-23 苹果公司 用于在电子设备中使用的线性致动器
CN107401189A (zh) * 2015-10-26 2017-11-28 钱小英 变电站监测系统
CN108349687B (zh) 2015-11-06 2020-06-09 奥的斯电梯公司 用于通过输入电梯呼叫来起始电梯服务的系统和方法
US10039080B2 (en) * 2016-03-04 2018-07-31 Apple Inc. Situationally-aware alerts
US10268272B2 (en) 2016-03-31 2019-04-23 Apple Inc. Dampening mechanical modes of a haptic actuator using a delay
ITUA20162143A1 (it) 2016-03-31 2017-10-01 St Microelectronics Srl Dispositivo sensore, apparecchiatura, procedimento e prodotto informatico corrispondenti
US10254188B2 (en) * 2016-09-09 2019-04-09 Qualcomm Incorporated Adaptive pressure sensor sampling rate
WO2018048710A1 (en) 2016-09-09 2018-03-15 Nextnav, Llc Systems and methods for calibrating unstable sensors
US11761765B2 (en) 2016-09-09 2023-09-19 Nextnav, Llc Calibrating a pressure sensor
US10622538B2 (en) 2017-07-18 2020-04-14 Apple Inc. Techniques for providing a haptic output and sensing a haptic input using a piezoelectric body
US10602326B2 (en) 2017-10-23 2020-03-24 Polaris Wireless, Inc. Detection of the occurrence of an event, based on barometric pressure measurements
US11009376B2 (en) * 2017-10-23 2021-05-18 Polaris Wireless, Inc. Estimation of the location of a wireless terminal, based on characterizing a pressure wave
WO2019121291A1 (en) * 2017-12-20 2019-06-27 Koninklijke Philips N.V. Method and apparatus for determining whether a subject has entered or exited a building
US10741037B2 (en) * 2018-05-16 2020-08-11 Avaya Inc. Method and system for detecting inaudible sounds
US10691211B2 (en) 2018-09-28 2020-06-23 Apple Inc. Button providing force sensing and/or haptic output
US10408914B1 (en) * 2018-09-28 2019-09-10 International Business Machines Corporation Enhanced elevation detection for emergency response systems
US10599223B1 (en) 2018-09-28 2020-03-24 Apple Inc. Button providing force sensing and/or haptic output
CN109458985A (zh) * 2018-10-18 2019-03-12 深圳暚光科技有限公司 一种基于多传感器的定位方法及装置
GB2578652B (en) * 2018-10-30 2022-08-24 Navenio Ltd Floor assignment
US10822199B2 (en) 2019-03-28 2020-11-03 Otis Elevator Company Sensor fusion of acceleration sensor and air pressure sensor information to estimate elevator floor level and position
CN114270795A (zh) * 2019-08-23 2022-04-01 内克斯特纳夫有限公司 用于确定移动设备的环境的系统和方法
US11380470B2 (en) 2019-09-24 2022-07-05 Apple Inc. Methods to control force in reluctance actuators based on flux related parameters
EP4232781A1 (en) * 2020-10-20 2023-08-30 Google LLC Barometer adaptive sampling by tight integration with other sensors and actuators
US11775081B2 (en) 2021-01-27 2023-10-03 Sintokogio, Ltd. Information processing device and information processing method
US11989403B2 (en) 2021-01-27 2024-05-21 Sintokogio, Ltd. Information processing device and information processing method
US20220236713A1 (en) * 2021-01-27 2022-07-28 Sintokogio, Ltd. Information processing device and information processing method
US11977683B2 (en) 2021-03-12 2024-05-07 Apple Inc. Modular systems configured to provide localized haptic feedback using inertial actuators
US11928349B2 (en) * 2021-04-23 2024-03-12 Qualcomm Incorporated Access control configurations for shared memory
US11809631B2 (en) 2021-09-21 2023-11-07 Apple Inc. Reluctance haptic engine for an electronic device

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3715286B2 (ja) 2003-02-28 2005-11-09 株式会社竹中工務店 鉛直基準点等の定点測位方法及び定点の位置情報記録システム
EP1517116A1 (de) 2003-09-22 2005-03-23 Leica Geosystems AG Verfahren und Vorrichtung zur Bestimmung der Aktualposition eines geodätischen Instrumentes
US7162368B2 (en) * 2004-11-09 2007-01-09 Honeywell International Inc. Barometric floor level indicator
US7472301B2 (en) 2005-05-27 2008-12-30 Codman Neuro Sciences Sárl Circuitry for optimization of power consumption in a system employing multiple electronic components, one of which is always powered on
EP1990607A1 (de) 2007-05-10 2008-11-12 Leica Geosystems AG Positionsbestimmungsverfahren für ein geodätisches Vermessungsgerät
WO2008148782A1 (en) 2007-06-07 2008-12-11 Qualcomm Incorporated 3d maps rendering device and method
US8930144B2 (en) * 2007-12-07 2015-01-06 Med-Eng, Llc Method and apparatus for measuring data for injury analysis
JP2009281741A (ja) * 2008-05-19 2009-12-03 Freescale Semiconductor Inc 現在位置出力装置、現在位置出力方法及び現在位置出力プログラム
US20090286556A1 (en) * 2008-05-19 2009-11-19 Freescale Semiconductor, Inc Apparatus, method, and program for outputting present position
DE102009002314A1 (de) * 2009-04-09 2010-07-08 Robert Bosch Gmbh Ebenenfinder
US9086875B2 (en) * 2009-06-05 2015-07-21 Qualcomm Incorporated Controlling power consumption of a mobile device based on gesture recognition
US8310380B2 (en) * 2010-03-02 2012-11-13 Invensense Inc. Selectable communication interface configurations for motion sensing device
GB2479577B (en) 2010-04-15 2015-05-27 Samsung Electronics Co Ltd Improvements relating to wireless networks
GB201017711D0 (en) 2010-10-20 2010-12-01 Sonitor Technologies As Position determination system
US8706172B2 (en) 2010-10-26 2014-04-22 Miscrosoft Corporation Energy efficient continuous sensing for communications devices
EP2638405A4 (en) 2010-11-12 2014-09-17 Nextnav Llc EXTENDED LOCATION SYSTEM
US20120290253A1 (en) * 2011-05-10 2012-11-15 Qualcomm Incorporated Apparatus and methods for height determination
JP5688326B2 (ja) * 2011-05-13 2015-03-25 Kddi株式会社 気圧センサを用いて昇降移動状態を推定する携帯装置、プログラム及び方法
JP2013002933A (ja) * 2011-06-16 2013-01-07 Hitachi Plant Technologies Ltd 3次元測位システム
US9063731B2 (en) * 2012-08-27 2015-06-23 Samsung Electronics Co., Ltd. Ultra low power apparatus and method to wake up a main processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102611204B1 (ko) * 2022-10-26 2023-12-07 주식회사 프리그로우 모바일 디바이스의 이동 패턴에 기반한 실내 지도 어플리케이션 제어 방법 및 시스템
KR102658152B1 (ko) * 2022-10-26 2024-04-17 주식회사 프리그로우 모바일 디바이스 사용자의 수직 이동 식별 및 이를 자동으로 업데이트 하기 위한 방법

Also Published As

Publication number Publication date
CN111336989B (zh) 2022-05-17
JP6469708B2 (ja) 2019-02-13
JP2017505433A (ja) 2017-02-16
WO2015105678A3 (en) 2015-10-29
WO2015105678A2 (en) 2015-07-16
EP3092460B1 (en) 2019-04-03
US20150192414A1 (en) 2015-07-09
CN111336989A (zh) 2020-06-26
US9970757B2 (en) 2018-05-15
CN105874302A (zh) 2016-08-17
EP3092460A2 (en) 2016-11-16

Similar Documents

Publication Publication Date Title
KR20160105975A (ko) 올웨이즈 온 기압계를 통한 포지셔닝을 위한 방법 및 장치
CN108140052B (zh) 具有结构竖直层级机制的计算系统及其操作方法
US10254188B2 (en) Adaptive pressure sensor sampling rate
US7162368B2 (en) Barometric floor level indicator
JP6223356B2 (ja) デバイスを制御する方法及びそれを実施するデバイス
US9648458B2 (en) Systems and methods for labeling crowd sourced data
RU2625370C2 (ru) Способ и устройство для обнаружения движения лифта
KR102500299B1 (ko) 사용자 단말 및 그 제어 방법
US10130843B2 (en) Electronic device, control program, control method, and system
WO2018134586A1 (en) A method and computer processing apparatus for generating data relating to a vertical structure of a built environment and detecting a floor change
EP3795525A1 (en) Estimation and presentation of area of interest for condition based monitoring of an elevator system
EP3711666A1 (en) Analysing movement of a subject
US20140257766A1 (en) Adaptive probabilistic step detection for pedestrian positioning
CN108139458A (zh) 用于确定室内方位的方法、设备和系统
CN112537706B (zh) 气压楼层表检测:位置的统计分析
KR102173918B1 (ko) 멀티센서 기반 보행상태 분석 시스템 및 방법
JP6329915B2 (ja) 測位システム
KR102294813B1 (ko) 건물 단위 정밀도 위치 정보 시스템
KR102638409B1 (ko) 휴대형 복합 신호수집 기기와 qr 코드를 활용한 실내외 통합 위치인식 방법 및 시스템
JP7217824B1 (ja) 校正指示装置、センサ、センサシステム、校正指示方法、及びプログラム
KR101425563B1 (ko) 실내 보행자의 이동수단 판별방법
CN115540899A (zh) 计步方法、装置、设备及存储介质

Legal Events

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