KR20170100281A - 위치를 측정하는 전자 장치 및 그 동작 방법 - Google Patents

위치를 측정하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20170100281A
KR20170100281A KR1020160022652A KR20160022652A KR20170100281A KR 20170100281 A KR20170100281 A KR 20170100281A KR 1020160022652 A KR1020160022652 A KR 1020160022652A KR 20160022652 A KR20160022652 A KR 20160022652A KR 20170100281 A KR20170100281 A KR 20170100281A
Authority
KR
South Korea
Prior art keywords
geomagnetism
electronic device
altitude
map
data
Prior art date
Application number
KR1020160022652A
Other languages
English (en)
Inventor
박남준
김진익
김태호
박정민
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160022652A priority Critical patent/KR20170100281A/ko
Priority to US15/441,203 priority patent/US20170248424A1/en
Publication of KR20170100281A publication Critical patent/KR20170100281A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/04Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
    • G01C21/08Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means involving use of the magnetic field of the earth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/006Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • 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
    • H04W4/003
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Geology (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Navigation (AREA)
  • Telephone Function (AREA)

Abstract

전자 장치는, 지자기 센서, 영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 1 지자기 맵과, 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 2 지자기 맵을 저장하는 메모리 및 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 고도를 확인하고, 상기 전자 장치의 고도에 대응하여, 상기 제 1 지자기 맵 및 상기 제 2 지자기 맵 중 하나를 선택하고, 상기 선택된 지자기 맵과 상기 지자기 센서에서 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하도록 설정될 수 있다.

Description

위치를 측정하는 전자 장치 및 그 동작 방법{ELECTRONIC DEVICE FOR DETERMINING POSITION AND METHOD FOR OPERATING THEREOF}
본 발명은 위치를 측정하는 전자 장치 및 그 동작 방법에 관한 것으로, 더욱 상세하게는 지자기 데이터를 이용하여 위치를 측정하는 전자 장치 및 그 동작 방법에 관한 것이다.
근자에 들어서 스마트폰 또는 웨어러블 전자 장치와 같은 휴대가 가능한 소형의 전자 장치의 수요가 급증하고 있다. 전자 장치는, 화면을 표시할 수 있는 디스플레이를 포함하고, 또한 다른 전자 장치와 통신을 수행할 수 있는 통신 인터페이스를 수행할 수 있다. 이에 따라, 전자 장치는 다양한 어플리케이션을 실행할 수 있으며, 실행되는 다양한 어플리케이션으로부터 제공되는 정보를 디스플레이에 표시할 수 있다. 사용자는, 전자 장치에 표시되는 화면으로서 다양한 정보를 용이하게 획득할 수 있다. 한편, 전자 장치가 휴대가 가능할 정도로 소형으로 제작됨에 따라서, 전자 장치는 사용자의 위치에 기반한 서비스를 제공할 수 있다. 예를 들어, 전자 장치는 사용자의 위치에 부합하는 광고 정보 또는 지도 정보 등을 제공할 수 있으며, 이러한 서비스를 위치 기반 서비스(local based service:LBS)로 명명할 수 있다.
상술한 위치 기반 서비스를 제공하기 위하여, 전자 장치는 사용자의 위치, 즉 전자 장치 자신의 위치를 판단할 수 있어야 한다. 실외에서는, 전자 장치는 포함하고 있는 GPS 모듈로부터 획득한 정보를 이용하여 전자 장치의 위치를 판단할 수 있다. 하지만, 실내에서는, 전자 장치는 GPS 모듈로부터 획득한 정보만을 이용하여서는 정확한 위치를 판단할 수 없다. 이에 따라, 실내 측위를 위하여 지자기 데이터를 이용한 측위 기술이 발전되었다. 지자기 데이터를 이용한 측위 기술은, 실내 공간의 위치마다 지자기 데이터가 상이한 점을 이용하여, 전자 장치가 배치되는 위치를 측정하는 기술이다.
하지만, 동일한 평면 상의 위치라도, 고도에 따라 지자기의 특성이 변경될 수 있다. 예를 들어, 실내 공간 내의 3차원 좌표가 (x1, y1, z1)인 지점과 (x1, y1, z2)인 지점에서의 지자기의 특성은 상이할 수 있다. 이에 따라, 종래의 2차원 지자기 맵을 이용한 지자기 데이터를 이용한 측위 기술은 정확한 전자 장치의 위치를 측정할 수 없다. 특히 측위를 하는 중, 전자 장치의 높낮이 변화가 큰 경우에는, 종래의 지자기 데이터를 이용한 측위 기술은 위치를 계산하지 못한다.
본 발명의 다양한 실시예는 상술한 문제점 또는 다른 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 다양한 실시예는 복수 개의 고도별 2차원 지자기 맵 중 전자 장치의 고도에 대응하는 지자기 맵을 이용하여 위치를 측정하는 전자 장치 및 그 동작 방법을 제공할 수 있다.
본 발명의 다양한 실시예에 의한 전자 장치는, 지자기 센서; 영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 1 지자기 맵과, 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 2 지자기 맵을 저장하는 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 고도를 확인하고, 상기 전자 장치의 고도에 대응하여, 상기 제 1 지자기 맵 및 상기 제 2 지자기 맵 중 하나를 선택하고, 상기 선택된 지자기 맵과 상기 지자기 센서에서 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하도록 설정될 수 있다.
본 발명의 다양한 실시예에 의한 전자 장치는, 지자기 센서; 통신 인터페이스; 및 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 고도를 확인하고, 상기 통신 인터페이스를 통하여, 상기 전자 장치의 고도에 대한 정보를 송신하고, 상기 통신 인터페이스를 통하여, 상기 전자 장치의 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 고도에 대응하는 제 1 지자기 맵을 수신하고, 상기 수신된 제 1 지자기 데이터와, 상기 지자기 센서에서 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하도록 설정될 수 있다.
본 발명의 다양한 실시예에 의한 전자 장치를 동작하는 방법은, 상기 전자 장치의 고도를 확인하는 동작; 상기 전자 장치의 고도에 대응하여, 제 1 지자기 맵 및 제 2 지자기 맵 중 하나를 선택하는 동작-상기 제 1 지자기 맵은 영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하고, 상기 제 2 지자기 맵은 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함함-; 및 상기 선택된 지자기 맵과 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 의한 전자 장치를 동작하는 방법은, 상기 전자 장치의 고도를 확인하는 동작; 지자기 데이터를 센싱하는 동작; 상기 전자 장치의 고도에 대한 정보를 송신하는 동작; 상기 전자 장치의 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 고도에 대응하는 지자기 맵을 수신하는 동작; 및 상기 수신된 지자기 맵과 상기 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 의한 전자 장치는, 영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 1 지자기 맵과, 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 2 지자기 맵을 저장하는 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 상기 제 1 지자기 맵과 상기 제 2 지자기 맵을 이용하여, 상기 제 1 고도 및 상기 제 2 고도 사이의 제 3 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 3 지자기 맵을 생성하도록 설정될 수 있다.
본 발명의 다양한 실시예에 의한 전자 장치를 동작하는 방법은, 영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 1 지자기 맵을 획득하는 동작; 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 2 지자기 맵을 획득하는 동작; 및 상기 제 1 지자기 맵과 상기 제 2 지자기 맵을 이용하여, 상기 제 1 고도 및 상기 제 2 고도 사이의 제 3 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 3 지자기 맵을 생성하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따라서, 복수 개의 고도별 2차원 지자기 맵 중 전자 장치의 고도에 대응하는 지자기 맵을 이용하여 위치를 측정하는 전자 장치 및 그 동작 방법이 제공될 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 전자 장치 및 네트워크의 블록도를 도시한다.
도 2는 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다.
도 4는 본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 5는 본 발명의 다양한 실시예에 따른 2차원 지자기 맵의 개념도를 도시한다.
도 6은 본 발명의 다양한 실시예에 따른 전자 장치의 제어 방법의 흐름도를 도시한다.
도 7은 본 발명의 다양한 실시예에 따른 지자기 맵의 개념도를 도시한다.
도 8은 하나의 위치에서의 고도에 따른 지자기 특성 변경을 나타내는 그래프를 도시한다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.
도 10은 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵, 즉 3차원 지자기 맵의 개념도를 도시한다.
도 11은 본 발명의 다양한 실시예에 따른 전자 장치의 3차원 지자기 맵의 획득을 설명하기 위한 흐름도를 도시한다.
도 12는 본 발명의 다양한 실시예에 따른 지자기 맵의 획득을 설명하기 위한 흐름도를 도시한다.
도 13은 위치 측정 과정에서 전자 장치의 고도가 변경되는 경우의 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 14는 본 발명의 다양한 실시예에 따른 고도별 지자기 맵을 설명하기 위한 개념도를 도시한다.
도 15는 본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 16은 본 발명의 다양한 실시예에 따른 고도를 판단하는 방법을 설명하기 위한 흐름도를 도시한다.
도 17은 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 18은 전자 장치의 스윙을 설명하기 위한 개념도를 도시한다.
도 19는 본 발명의 다양한 실시예에 따른 전자 장치를 응시하는 이벤트를 설명하기 위한 개념도를 도시한다.
도 20은 본 발명의 다양한 실시예에 따른 손목시계형 전자 장치를 응시하는 이벤트를 설명하기 위한 개념도를 도시한다.
도 21은 본 발명의 다양한 실시예들에 의한 전자 장치의 이벤트 검출 및 고도 판단을 설명하기 위한 흐름도를 도시한다.
도 22는 본 발명의 다양한 실시예에 따른 어플리케이션 실행 정보를 이용하는 고도 판단을 설명하기 위한 개념도를 도시한다.
도 23은 본 발명의 다양한 실시예에 따른 절대 고도 및 고도 갱신을 설명하기 위한 흐름도를 도시한다.
도 24는 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵 생성 방법을 설명하기 위한 흐름도를 도시한다.
도 25는 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵을 생성하는 과정을 설명하기 위한 개념도를 도시한다.
도 26a 및 26b는 본 발명의 다양한 실시예에 따른 보간법을 설명하기 위한 그래프들을 도시한다.
도 27은 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵 생성 방법을 설명하기 위한 흐름도를 도시한다.
도 28a 내지 28d은 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵을 생성하는 과정을 설명하기 위한 개념도들을 도시한다.
도 29는 본 발명의 다양한 실시예에 따른 크라우드 소싱(crowd sourcing)을 이용한 지자기 맵 갱신 과정을 설명하기 위한 개념도를 도시한다.
도 30a 및 30b는 본 발명의 다양한 실시예에 따른 신호의 개념도를 도시한다.
도 31은 본 발명의 다양한 실시예에 따른 지자기 맵의 갱신 방법을 설명하기 위한 흐름도를 도시한다.
도 32는 본 발명의 다양한 실시예에 따른 크라우드 소싱을 수행하는 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스(110)는 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서(120)는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(API)(145), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API(145)는 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달하거나, 또는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다.
무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 “Beidou”) 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, “GPS”는 “GNSS”와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
지자기 센서(190)는 전자 장치(101)의 주변의 지자기를 센싱할 수 있다. 지자기 센서(190)는 회전 코일을 포함하거나, 포화 철심형 자력계를 포함하거나, 또는 양자 자력계, 광 펌핑 자력계, SQUID 등을 포함할 수 있으며, 지자기를 센싱할 수 있는 장치라면 제한이 없다.
제 1 및 제 2 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(106)에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 발명의 다양한 실시예에서, 메모리(130)는 영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 1 지자기 맵과, 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 2 지자기 맵을 저장할 수 있다. 상기 프로세서(120)는, 상기 전자 장치(101)의 고도를 확인하고, 상기 전자 장치(101)의 고도에 대응하여, 상기 제 1 지자기 맵 및 상기 제 2 지자기 맵 중 하나를 선택하고, 상기 선택된 지자기 맵과 상기 지자기 센서에서 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치(101)의 위치를 제공하도록 설정될 수 있다.
본 발명의 다양한 실시예에서, 메모리(130)는, 상기 전자 장치의 고도(101)와 상기 전자 장치(101)에서 검출되는 이벤트 사이의 연관 정보를 저장할 수 있다.
본 발명의 다양한 실시예에서, 전자 장치(101)는 상기 전자 장치(101)의 움직임을 측정하는 모션 센서를 더 포함하고, 상기 연관 정보는, 상기 모션 센서가 센싱한 데이터와 상기 전자 장치의 고도 사이의 연관 정보를 포함하고, 상기 프로세서(120)는, 상기 모션 센서가 센싱한 데이터와 상기 연관 정보를 이용하여 상기 전자 장치(101)의 고도를 확인하도록 설정될 수 있다.
본 발명의 다양한 실시예에서, 상기 연관 정보는, 상기 전자 장치(101)에서 실행되는 어플리케이션 정보와 상기 전자 장치(101)의 고도 사이의 연관 정보를 포함하고, 상기 프로세서(120)는, 상기 전자 장치에서 실행되는 어플리케이션 정보를 이용하여 상기 전자 장치(101)의 고도를 확인하도록 설정될 수 있다.
본 발명의 다양한 실시예에서, 전자 장치(101)는, 상기 전자 장치 주변의 기압을 센싱하는 기압 센서를 더 포함하고, 상기 프로세서(120)는, 상기 기압 센서가 센싱한 데이터를 이용하여, 상기 확인된 전자 장치(101)의 고도를 갱신하도록 설정될 수 있다.
본 발명의 다양한 실시예에서, 상기 프로세서(120)는, 상기 갱신된 전자 장치(101)의 고도에 대응하는 지자기 맵을 선택하고, 상기 갱신된 전자 장치(101)의 고도에 대응하는 지자기 맵과, 상기 갱신된 고도에서 상기 지자기 센서(190)가 센싱한 지자기 데이터를 비교하고, 상기 비교 결과에 기초하여 상기 전자 장치(101)의 위치를 제공하도록 설정될 수 있다.
본 발명의 다양한 실시예에서, 전자 장치(101)는 서버로부터 상기 제 1 지자기 맵과 상기 제 2 지자기 맵을 수신하는 통신 인터페이스(170)를 더 포함할 수 있다.
본 발명의 다양한 실시예에서, 상기 프로세서(120)는, 상기 선택된 지자기 맵 중 지자기 센서(190)에서 센싱한 지자기 데이터와 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치를, 상기 전자 장치(101)의 위치로 확인하도록 설정될 수 있다.
본 발명의 다양한 실시예에서, 상기 프로세서(120)는, 상기 선택된 지자기 맵 중 제 1 시점에서 지자기 센서(190)에서 센싱한 지자기 데이터와 상기 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치를 위치 후보로 판단하고, 상기 선택된 지자기 맵 중 제 2 시점에서 지자기 센서(190)에서 센싱한 지자기 데이터와 상기 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치와 상기 위치 후보와의 인접 여부에 기초하여, 상기 위치 후보 중 상기 제 1 시점에서의 전자 장치의 위치를 확인하도록 설정될 수 있다.
본 발명의 다양한 실시예에서, 상기 프로세서(120)는, 상기 전자 장치(101)의 고도를 확인하고, 상기 통신 인터페이스(170)를 통하여, 상기 전자 장치(101)의 고도에 대한 정보를 송신하고, 상기 통신 인터페이스(170)를 통하여, 상기 전자 장치(101)의 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 고도에 대응하는 제 1 지자기 맵을 수신하고, 상기 수신된 제 1 지자기 데이터와, 상기 지자기 센서(190)에서 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치(101)의 위치를 제공하도록 설정될 수 있다.
본 발명의 다양한 실시예에서, 상기 프로세서(120)는, 전자 장치(101)의 고도의 변경을 검출하고, 상기 통신 인터페이스(170)를 통하여, 상기 변경된 고도에 대한 정보를 송신하고, 상기 통신 인터페이스(170)를 통하여, 상기 변경된 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 변경된 고도에 대응하는 제 2 지자기 맵을 수신하고, 상기 수신된 제 2 지자기 맵과 상기 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치(101)의 위치를 제공하도록 설정될 수 있다.
본 발명의 다양한 실시예에 의한 전자 장치(101)는 복수 개의 고도별 지자기 맵을 생성할 수 있다. 이 경우, 메모리(130)는 영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 1 지자기 맵과, 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 2 지자기 맵을 저장할 수 있다. 상기 프로세서(120)는, 상기 제 1 지자기 맵과 상기 제 2 지자기 맵을 이용하여, 상기 제 1 고도 및 상기 제 2 고도 사이의 제 3 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 3 지자기 맵을 생성하도록 설정될 수 있다.
본 발명의 다양한 실시예에 의한 상기 프로세서(120)는, 상기 영역에 다른 전자 장치가 진입하는 것을 검출하고, 상기 통신 인터페이스(170)를 통하여, 상기 다른 전자 장치로, 상기 제 1 지자기 맵, 상기 제 2 지자기 맵 및 상기 제 3 지자기 맵을 송신하도록 설정될 수 있다.
본 발명의 다양한 실시예에 의한 상기 프로세서(120)는, 상기 통신 인터페이스(170)를 통하여, 다른 전자 장치로부터 다른 전자 장치의 고도에 대한 정보를 수신하고, 상기 다른 전자 장치의 고도에 대응하는 지자기 맵을, 상기 제 1 지자기 맵, 상기 제 2 지자기 맵 및 상기 제 3 지자기 맵 중에서 선택하고, 상기 선택된 지자기 맵을, 상기 통신 인터페이스(170)를 통하여, 상기 다른 전자 장치로 송신하도록 설정될 수 있다.
본 발명의 다양한 실시예에 의한 상기 프로세서(120)는, 상기 제 1 지자기 맵 및 상기 제 2 지자기 맵에 대하여 보간법(interpolation)을 적용하고, 상기 보간법의 적용 결과를 이용하여 상기 제 3 지자기 맵을 생성하도록 설정될 수 있다.
본 발명의 다양한 실시예에 의한 상기 프로세서(120)는, 상기 제 1 지자기 맵의 제 1 위치의 지자기 데이터 및 상기 제 2 지자기 맵의 제 1 위치의 지자기 데이터에 대하여 상기 보간법을 적용하고, 상기 보간법의 적용 결과를 이용하여 상기 제 3 지자기 맵의 제 1 위치의 지자기 데이터를 획득하도록 설정될 수 있다.
본 발명의 다양한 실시예에 의한 상기 프로세서(120)는, 상기 보간법의 적용 결과 및 상기 제 1 지자기 맵의 제 2 위치의 지자기 데이터를 이용하여, 상기 제 3 지자기 맵의 제 1 위치의 지자기 데이터를 획득하도록 설정될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치(201)의 블록도이다. 전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(예: AP)(210), 통신 모듈(220), (가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298) 를 포함할 수 있다. 프로세서(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))를 포함할 수도 있다. 프로세서(210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
통신 모듈(220)(예: 통신 인터페이스(170))와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227), NFC 모듈(228) 및 RF 모듈(229)를 포함할 수 있다. 셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM 카드)(224)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버, PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. 가입자 식별 모듈(224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 또는 임베디드 SIM을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 또는 물리적으로 연결될 수 있다.
센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러(color) 센서(240H)(예: RGB(red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(240)은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG) 센서, 일렉트로엔씨팔로그램(EEG) 센서, 일렉트로카디오그램(ECG) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.
입력 장치(250)는, 예를 들면, 터치 패널(252), (디지털) 펜 센서(254), 키(256), 또는 초음파 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(예: 마이크(288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 프로젝터(266), 및/또는 이들을 제어하기 위한 제어 회로를 포함할 수 있다. 패널(262)은, 예를 들면, 유연하게, 투명하게, 또는 착용할 수 있게 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나 이상의 모듈로 구성될 수 있다. 한 실시예에 따르면, 패널(262)은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 터치 패널(252)과 일체형으로 구현되거나, 또는 터치 패널(252)과는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(201)의 내부 또는 외부에 위치할 수 있다. 인터페이스(270)는, 예를 들면, HDMI(272), USB(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(280)은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. 카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다. 전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC, 또는 배터리 또는 연료 게이지를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지 및/또는 태양 전지를 포함할 수 있다.
인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치(201)는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다. 본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치(예: 전자 장치(201))는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다. 한 실시예에 따르면, 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 도 3을 참조하면, 프로그램 모듈(310)은 커널(320)(예: 커널(141)), 미들웨어(330)(예: 미들웨어(143)), (API(360)(예: API(145)), 및/또는 어플리케이션(370)(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드 되거나, 외부 전자 장치(예: 전자 장치(102, 104), 서버(106) 등)로부터 다운로드 가능하다.
커널(320)은, 예를 들면, 시스템 리소스 매니저(321) 및/또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330) 는 런타임 라이브러리(335), 어플리케이션 매니저(341), 윈도우 매니저(342), 멀티미디어 매니저(343), 리소스 매니저(344), 파워 매니저(345), 데이터베이스 매니저(346), 패키지 매니저(347), 커넥티비티 매니저(348), 노티피케이션 매니저(349), 로케이션 매니저(350), 그래픽 매니저(351), 또는 시큐리티 매니저(352) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다. 어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370)의 생명 주기를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(345)는, 예를 들면, 배터리의 용량 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보를 제공할 수 있다. 한 실시예에 따르면, 파워 매니저(345)는 바이오스(BIOS: basic input/output system)와 연동할 수 있다. 데이터베이스 매니저(346)는, 예를 들면, 어플리케이션(370)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다.
커넥티비티 매니저(348)는, 예를 들면, 무선 연결을 관리할 수 있다. 노티피케이션 매니저(349)는, 예를 들면, 도착 메시지, 약속, 근접성 알림 등의 이벤트를 사용자에게 제공할 수 있다. 로케이션 매니저(350)는, 예를 들면, 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화(telephony) 매니저 또는 전술된 구성요소들의 기능들의 조합을 형성할 수 있는 하는 미들웨어 모듈을 포함할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. API(360)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(370)은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 와치(384), 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서(210)), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예:메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
도 4는 본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 4의 실시예는 도 5를 참조하여 더욱 상세하게 설명하도록 한다. 도 5는 본 발명의 다양한 실시예에 따른 2차원 지자기 맵의 개념도를 도시한다. 도 4에서는, 우선 하나의 고도에서의 지자기 맵을 이용한 위치를 측정하는 방법을 설명하며, 복수 개의 고도별 지자기 맵을 이용한 위치를 측정하는 방법은 도 9를 참조하여 더욱 상세하게 후술하도록 한다.
410 동작에서, 전자 장치(101)는 지자기 맵을 획득할 수 있다. 예를 들어, 전자 장치(101)는 특정 영역에 진입한 경우, 특정 영역을 관장하는 전자 장치(예를 들어, 서버 또는 제어 포인트(control point))로부터 특정 영역에 대한 지자기 맵을 획득할 수 있다. 이 경우, 전자 장치(101)는 근거리 통신 등에 기초하여 상대적으로 근거리에 배치되는 전자 장치로부터 지자기 맵을 획득할 수 있다.
또는, 전자 장치(101)는, 특정 영역에 배치되지 않고, 원격에 배치된 전자 장치로부터 특정 영역에 대한 지자기 맵을 획득할 수도 있다. 예를 들어, 전자 장치(101)가 실외에서 실내로 진입하는 것으로 판단되는 경우에, 전자 장치(101)는 다른 전자 장치로부터 진입한 실내에 대응하는 지자기 맵을 획득할 수도 있다. 즉, 전자 장치(101)는 특정 영역에 대한 지자기 맵을, 특정 영역에 배치된 전자 장치 또는 특정 영역에 배치되지 않은 전자 장치로부터도 수신할 수 있으며, 전자 장치(101)가 지자기 맵을 획득하는 구성에 대하여서는 제한이 없다.
도 5는 본 발명의 다양한 실시예에 따른 지자기 맵의 개념도를 도시한다. 도 5에 도시된 바와 같이, 지자기 맵(500)은 특정 영역에 대한 2차원 위치별 지자기 데이터를 포함할 수 있다. 예를 들어 도 5에서와 같이, 지자기 맵(500)은 특정 영역을 16개의 위치(501 내지 516)로 분할하며, 분할된 위치(501 내지 516) 각각에 대응하는 지자기 데이터를 포함할 수 있다. 예를 들어, 제 1 위치(501)에서의 지자기 데이터는 (x1, y1, z1)일 수 있다. 지자기 데이터는 3차원 벡터일 수 있으며, 이에 따라 3가지 성분을 가지는 것과 같이 표시되어 있다. 한편, 지자기 데이터의 벡터 값을 직교 좌표의 형식으로 표시한 것은 단순히 예시적인 것으로, 좌표계의 형식에는 제한이 없음을 당업자는 용이하게 이해할 수 있을 것이다. 도 5에 도시된 바와 같이, 제 1 위치(501)에서의 지자기 데이터 (x1, y1, z1)와 제 3 위치(503)에서의 지자기 데이터(x3, y3, z3)는 상이할 수 있다. 이는, 제 1 위치(501) 근처에 배치된 구조물의 지형과 제 3 위치(503) 근처에 배치된 구조물의 지형이 상이한 것으로부터 기인할 수 있다. 지자기 데이터는, 자기장 값으로 주변에 배치되는 금속을 포함하는 구조물에 의하여 영향을 받을 수 있으며, 이에 따라 위치별 지자기 데이터가 상이할 수 있다. 한편, 지자기 맵(500)은 미리 작성되어 전자 장치(101) 또는 다른 전자 장치에 미리 저장될 수 있다.
420 동작에서, 전자 장치(101)는 지자기 센서를 이용하여 지자기 데이터를 획득할 수 있다. 430 동작에서, 전자 장치(101)는 센싱된 지자기 데이터와 지자기 맵을 비교하고, 비교 결과에 기초하여 전자 장치의 위치를 제공할 수 있다. 예를 들어, 전자 장치(101)가 획득한 지자기 데이터가 (x5, y5, z5)인 것을 상정하도록 한다. 전자 장치(101)는 획득한 지자기 데이터인 (x5, y5, z5)를 도 5와 같은 지자기 맵(500)과 비교할 수 있으며, 획득한 지자기 데이터에 대응하는 전자 장치의 위치가 제 5 위치(505)인 것을 판단할 수 있다. 이에 따라, 전자 장치(101)는 현재의 위치가 제 5 위치(505)인 것을 제공할 수 있거나 또는 제 5 위치(505)에 대응하는 위치 기반 서비스를 제공할 수도 있다. 즉, 전자 장치(101)는, 지자기 맵 중 획득한 지자기 데이터와 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치를, 전자 장치(101)의 위치로 판단할 수 있다. 본 발명의 다양한 실시예에서, 전자 장치(101)는 실내 네비게이션, 특정 지점에 대응하는 광고 서비스 제공, AR 서비스 제공 등의 다양한 위치 기반 서비스를 제공할 수 있다.
상술한 바와 같이, 본 발명의 다양한 실시예에 의한 전자 장치(101)는 지자기 센서를 통하여 획득한 지자기 데이터를, 미리 작성된 지자기 맵과 비교하고, 비교 결과를 이용하여 위치를 측정할 수 있다.
도 6은 본 발명의 다양한 실시예에 따른 전자 장치의 제어 방법의 흐름도를 도시한다. 도 6의 실시예에서는, 지자기 맵과 획득한 지자기 데이터를 비교한 결과, 위치 후보가 복수 개인 경우의 위치 측정 방법에 대하여 설명하도록 하며, 도 7을 참조하여 더욱 상세하게 설명하도록 한다. 도 7은 본 발명의 다양한 실시예에 따른 지자기 맵의 개념도를 도시한다.
431 동작에서, 전자 장치(101)는 제 1 시점에서 센싱된 지자기 데이터와 지자기 맵을 비교하고, 위치 후보를 판단할 수 있다. 예를 들어, 도 7에서와 같이, 전자 장치(101)가 제 1 시점(t1)에서 획득한 지자기 데이터가 (a,b,c)인 것을 상정하도록 한다. 전자 장치(101)는 획득한 지자기 데이터인 (a,b,c)와 지자기 맵(500)을 비교하고, 유사도가 임계치 미만인 위치들(502,511,513)을 위치 후보로 판단할 수 있다. 예를 들어, (a,b,c) 및 (x2,y2,z2)와의 차이가 임계치 미만일 수 있다.
433 동작에서, 전자 장치(101)는 다음 시점에서 센싱된 지자기 데이터와 지자기 맵을 비교하고, 위치 후보와 비교 결과에 기초하여 위치 후보 중 적어도 하나의 위치를 선택할 수 있다. 예를 들어, 도 7에서와 같이, 전자 장치(101)가 제 2 시점(t2)에서 획득한 지자기 데이터가 (d,e,f)인 것을 상정하도록 한다. 전자 장치(101)는 획득한 지자기 데이터인 (d,e,f)와 지자기 맵(500)을 비교하고, 유사도가 임계치 미만인 위치들(503,504)을 식별할 수 있다. 즉, 식별된 위치들(503,504)이 다음 시점에서 센싱된 지자기 데이터와 지자기 맵의 비교 결과일 수 있다. 전자 장치(101)는 기존에 판단한 위치 후보(502,511,516)와 비교 결과인 식별된 위치(503,504)를 비교할 수 있다. 전자 장치(101)는 위치 후보(502,511,516) 중 식별된 위치(503,504)와 연속적인 위치는 제 2 위치(502)인 것으로 판단할 수 있다. 이에 따라, 전자 장치(101)는 제 1 시점(t1)에서의 전자 장치(101)의 위치는 제 2 위치(502)이며, 제 2 시점(t2)에서의 전자 장치(101)의 위치는 제 3 위치(503)인 것으로 판단할 수 있다. 상술한 바와 같이, 전자 장치(101)는 지자기 데이터를 시간의 흐름에 따라 추적하면서, 시간별 지자기 데이터를 지자기 맵과 비교함으로써 위치를 측정할 수도 있다. 435 동작에서, 전자 장치(101)는 선택된 위치가 1개인지 여부를 판단할 수 있다. 선택된 위치가 여전히 복수개인 경우에는, 437 동작에서, 전자 장치(101)는 선택된 복수 개의 위치를 위치 후보로 갱신하면서, 지자기 데이터의 추적을 계속하여 수행할 수 있다.
상술한 바와 같이, 본 발명의 다양한 실시예에 따른 전자 장치(101)는 센싱된 지자기 데이터와 지자기 맵의 비교 결과로, 위치가 복수개인 것으로 판단된 경우라 하더라도, 지자기 데이터를 추적하여 센싱할 수 있으며, 시간별로 획득된 지자기 데이터를 지자기 맵과 비교함에 따라서 위치를 측정할 수 있다.
한편, 상술한 도 4 내지 도 7의 실시예에서는, 하나의 고도에 대한 지자기 맵을 이용한 위치 측정 방법에 대하여 상술하였다. 다만, 하나의 위치에서도, 고도에 따라 지자기 특성은 변경될 수 있다. 도 8은 하나의 위치에서의 고도에 따른 지자기 특성 변경을 나타내는 그래프를 도시한다.
도 8에 도시된 바와 같이, 하나의 위치에서 고도별로 x축 지자기 특성(801), y축 지자기 특성(802) 및 z축 지자기 특성(803) 각각이 변경될 수 있다. 예를 들어, 도 5와 같은 지자기 맵(500)이 H1의 고도에서 측정된 지자기 데이터를 이용하여 제작된 것이라면, 제 1 위치(501)의 H1의 고도에서의 지자기 데이터는 (x1,y1,z1)일 수 있지만, 제 1 위치(501)의 H1이 아닌 다른 고도에서의 지자기 데이터는 (x1,y1,z1)과 상이한 값일 수 있다. 이에 따라, 전자 장치(101)가, 예를 들어 H2의 고도에서 센싱한 지자기 데이터를 H1의 고도에서 제작된 지자기 맵과 비교하여 위치를 측정하는 경우에는, 측정된 위치가 부정확할 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다. 도 9의 실시예는 도 10을 참조하여 더욱 상세하게 설명하도록 한다. 도 10은 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵, 즉 3차원 지자기 맵의 개념도를 도시한다.
910 동작에서, 전자 장치(101)는 전자 장치(101)의 고도를 획득할 수 있다. 전자 장치(101)는 고도에 대응하는 이벤트 발생을 검출함으로써 고도를 판단할 수 있다. 또는, 전자 장치(101)는 다양한 센서, 예를 들어 기압 센서로부터의 센싱 데이터를 이용하여 전자 장치(101)의 고도를 획득할 수도 있다.
920 동작에서, 전자 장치(101)는 복수 개의 고도별 지자기 맵 중 전자 장치의 고도에 대응하는 지자기 맵을 선택할 수 있다. 전자 장치(101)는 복수 개의 고도별 지자기 맵을 미리 획득한 것을 상정하도록 하며, 전자 장치(101)가 복수 개의 고도별 지자기 맵을 미리 획득한 구성은 더욱 상세하게 후술하도록 한다. 예를 들어, 910 동작에서, 전자 장치(101)는 전자 장치(101)의 고도가 H2인 것으로 판단할 수 있다. 아울러, 전자 장치(101)는 고도가 H1인 경우의 2차원 지자기 맵(1010), 고도가 H2인 경우의 2차원 지자기 맵(1030) 및 고도가 H3인 경우의 2차원 지자기 맵(1050)을 저장한 것을 상정하도록 한다. 전자 장치(101)는 복수 개의 고도별 지자기 맵들(1010,1030,1050) 중, 전자 장치(101)의 고도인 H2에 대응하는 지자기 맵(1030)을 선택할 수 있다.
930 동작에서, 전자 장치(101)는 지자기 센서를 이용하여 지자기 데이터를 센싱할 수 있다. 940 동작에서, 전자 장치(101)는 센싱된 지자기 데이터와 선택된 지자기 맵을 비교하고, 비교 결과에 기초하여 전자 장치의 위치를 제공할 수 있다. 예를 들어, 3차원 지자기 맵에서의 고도가 H1인 경우의 2차원 지자기 맵(1010)은 특정 영역을 16개의 위치들(1011 내지 1026)로 분할하고, 16개의 위치들(1011 내지 1026) 각각에 대한 지자기 데이터를 포함할 수 있다. 고도가 H2인 경우의 2차원 지자기 맵(1030) 또한 특정 영역을 16개의 위치들(1031 내지 1046)로 분할하고, 16개의 위치들(1031 내지 1046) 각각에 대한 지자기 데이터를 포함할 수 있다. 고도가 H3인 경우의 2차원 지자기 맵(1050) 또한 특정 영역을 16개의 위치들(1051 내지 1066)로 분할하고, 16개의 위치들(1051 내지 1066) 각각에 대한 지자기 데이터를 포함할 수 있다. 한편, 도 8에서 설명한 바와 같이, 동일한 위치라도 고도에 따라 지자기 특성이 상이할 수 있다. 이에 따라, 고도가 H1인 경우의 제 1 위치(1011)의 지자기 데이터, 고도가 H2인 경우의 제 1 위치(1031)의 지자기 데이터, 고도가 H3인 경우의 제 1 위치(1051)의 지자기 데이터가 상이할 수 있다. 이에 따라, 특정 고도에 대한 지자기 맵의 선택이 요구된다. 본 발명의 다양한 실시예에 의한 전자 장치(101)는 복수 개의 고도별 지자기 맵 중 하나를 전자 장치(101)의 고도에 기초하여 선택하고, 선택된 지자기 맵과 센싱된 지자기를 비교함에 따라서, 보다 정확한 위치를 측정할 수 있다. 전자 장치(101)가 선택한 지자기 맵과 센싱한 지자기 데이터를 이용하여 위치를 판단하는 과정에 대하여서는 도 4 및 도 5에서 상세하게 설명하였으므로, 여기에서의 더 이상의 설명은 생략하도록 한다. 아울러, 전자 장치(101)는 선택한 지자기 맵에서 복수 개의 위치 후보를 판단할 수도 있으며, 이 경우에는 도 6 및 도 7에서 설명한 바와 같이, 지자기 데이터를 추적하여 센싱하며, 시간의 흐름에 따라 센싱된 데이터를 선택된 지자기 맵과 비교함으로써 위치를 측정할 수도 있다. 한편, 전자 장치(101)의 고도는 시간의 흐름에 따라 변경될 수도 있으며, 이 경우에는 전자 장치(101)가 고도 변경에 따라 비교 대상의 지자기 맵 또한 변경할 수 있다. 전자 장치(101)가 비교 대상의 지자기 맵을 변경하는 구성에 대하여서는 도 15를 참조하여 더욱 상세하게 설명하도록 한다.
도 11은 본 발명의 다양한 실시예에 따른 전자 장치의 3차원 지자기 맵의 획득을 설명하기 위한 흐름도를 도시한다.
1110 동작에서, 전자 장치(101)는 서버(1100)로 3차원 지자기 맵을 요청할 수 있다. 본 발명의 다양한 실시예에서, 전자 장치(101)는 특정 영역에 진입하는 경우에, 특정 영역에 대한 3차원 지자기 맵을 저장하고 있는 서버(1100)로 3차원 지자기 맵을 요청할 수 있다. 상술한 바와 같이, 서버(1100)는 전자 장치(101)가 진입한 특정 영역에 배치될 수 있거나 또는 특정 영역을 벗어난 원격에 배치될 수도 있다. 1120 동작에서, 서버(1100)는 요청에 응답하여 복수 개의 고도별 지자기 맵, 즉 3차원 지자기 맵을 전자 장치(101)에 제공할 수 있다. 본 발명의 다양한 실시예에서, 서버(1100)는 전자 장치(101)로부터의 요청 없이도, 전자 장치(101)를 발견(discovery)하면 바로 3차원 지자기 맵을 제공하도록 설정될 수도 있다. 이 경우에는, 전자 장치(101)가 특정 영역에 진입하면 바로 3차원 지자기 맵을 수신할 수도 있다. 즉, 전자 장치(101)는 특정 영역에 대한 고도별 2차원 지자기 맵들을 미리 저장할 수 있다.
1130 동작에서, 전자 장치(101)는 전자 장치(101)의 고도를 획득할 수 있다. 상술한 바와 같이, 전자 장치(101)는 고도를 식별할 수 있는 이벤트를 검출하거나 또는 각종 센서로부터의 센싱 데이터를 이용하여 전자 장치(101)의 고도를 획득할 수 있다. 1140 동작에서, 전자 장치(101)는 복수 개의 고도 별 지자기 맵 중 전자 장치(101)의 고도에 대응하는 하나의 지자기 맵을 선택할 수 있다. 1150 동작에서, 전자 장치(101)는 지자기 센서를 이용하여 지자기 데이터를 센싱할 수 있다. 1160 동작에서, 전자 장치(101)는 센싱된 지자기 데이터와 선택한 지자기 맵을 비교할 수 있으며, 비교 결과에 기초하여 전자 장치(101)의 위치를 제공할 수 있다.
상술한 바와 같이, 전자 장치(101)는 복수 개의 고도별 지자기 맵을 미리 저장하였다가, 판단된 고도에 따라 지자기 맵을 선택하고, 선택한 지자기 맵과 센싱한 지자기 데이터를 비교함에 따라서 전자 장치(101)의 위치를 판단할 수 있다.
도 12는 본 발명의 다양한 실시예에 따른 지자기 맵의 획득을 설명하기 위한 흐름도를 도시한다.
1210 동작에서, 전자 장치(101)는 전자 장치(101)의 고도를 획득할 수 있다. 1220 동작에서, 전자 장치(101)는 전자 장치(101)의 고도에 대응하는 지자기 맵을 서버(1100)로 요청할 수 있다. 서버(1100)는 특정 영역에 대한 복수 개의 고도별 지자기 맵을 미리 저장할 수 있다. 1230 동작에서, 서버(1100)는 복수 개의 고도별 지자기 맵 중 전자 장치(101)의 고도에 대응하는 지자기 맵을 선택할 수 있으며, 선택한 지자기 맵을 전자 장치(101)로 제공할 수 있다. 즉, 전자 장치(101)는 미리 특정 영역에 대한 모든 지자기 맵을 수신하여 저장하는 것이 아니라, 고도에 대응하는 지자기 맵을 수신하도록 설정될 수도 있다.
1240 동작에서, 전자 장치(101)는 지자기 센서를 이용하여 지자기 데이터를 센싱할 수 있다. 1250 동작에서, 전자 장치(101)는 센싱된 지자기 데이터와 수신한 지자기 맵을 비교할 수 있으며, 비교 결과에 기초하여 전자 장치(101)의 위치를 제공할 수 있다.
상술한 바와 같이, 전자 장치(101)는 복수 개의 고도별 지자기 맵 중 전자 장치(101)의 고도에 대응하는 지자기 맵을 수신하고, 수신한 지자기 맵과 센싱한 지자기 데이터를 비교함에 따라서 전자 장치(101)의 위치를 판단할 수도 있다.
도 13은 위치 측정 과정에서 전자 장치의 고도가 변경되는 경우의 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
1310 동작에서, 전자 장치(101)는 특정 영역에 대한 복수 개의 고도별 지자기 맵을 포함하는 3차원 지자기 맵을 획득할 수 있다. 즉, 전자 장치(101)는 도 11의 실시예에서와 유사하게, 미리 특정 영역에 대한 복수 개의 고도별 지자기 맵을 수신하여 저장할 수 있다.
1320 동작에서, 전자 장치(101)는 전자 장치의 고도를 제 1 고도로 판단할 수 있다. 1330 동작에서, 전자 장치(101)는 제 1 고도에 대응하는 지자기 맵과 제 1 지자기 데이터를 비교하고, 비교 결과에 기초하여 전자 장치(101)의 위치를 판단할 수 있다. 여기에서, 제 1 지자기 데이터는 전자 장치(101)가 제 1 고도에서 센싱한 지자기 데이터를 의미할 수 있다. 즉, 전자 장치(101)는 제 1 고도에서 센싱한 지자기 데이터는 제 1 고도에 대응하는 지자기 맵과 비교하고, 비교 결과에 기초하여 전자 장치(101)의 위치를 판단할 수 있다.
1340 동작에서, 전자 장치(101)는 전자 장치(101)의 고도가 제 1 고도로부터 제 2 고도로 변경됨을 판단할 수 있다. 상술한 바와 같이, 전자 장치(101)는 고도를 지시하는 이벤트가 검출되거나 또는 각종 센서로부터의 센싱 데이터를 이용하여 고도의 변경을 판단할 수 있다. 1350 동작에서, 전자 장치(101)는 제 2 고도에 대응하는 지자기 맵과 제 2 지자기 데이터를 비교하고, 비교 결과에 기초하여 전자 장치(101)의 위치를 판단할 수 있다. 여기에서의, 제 2 지자기 데이터는 전자 장치(101)가 제 2 고도에서 센싱한 지자기 데이터를 의미할 수 있다. 즉, 전자 장치(101)는 제 2 고도에서 센싱한 지자기 데이터는 제 2 고도에 대응하는 지자기 맵과 비교하고, 비교 결과에 기초하여 전자 장치(101)의 위치를 판단할 수 있다.
도 14는 본 발명의 다양한 실시예에 따른 고도별 지자기 맵을 설명하기 위한 개념도를 도시한다. 예를 들어, 전자 장치(101)는 제 1 시점(t1)에서는 제 1 고도(H2)에서 제 1 지자기 데이터(g,h,i)를 획득할 수 있다. 이 경우, 전자 장치(101)는 복수 개의 고도별 지자기 맵들 중 제 1 고도(H2)에 대응하는 지자기 맵(1030)을 선택할 수 있다. 전자 장치(101)는 선택한 지자기 맵(1030)과 센싱한 제 1 지자기 데이터(g,h,i)를 비교할 수 있으며, 위치 후보들(1032,1041,1043)을 판단할 수 있다. 전자 장치(101)는 하나의 위치를 판단하지 못하였으므로, 상술한 바와 같이 지자기 데이터를 추적하여 센싱할 수 있다. 예를 들어, 전자 장치(101)는 제 2 시점(t2)에서는 제 2 지자기 데이터(j,k,l)를 획득할 수 있다. 뿐만 아니라, 전자 장치(101)는 제 2 시점(t2)에서 전자 장치(101)의 고도가 제 2 고도(H3)로 변경하였음을 판단할 수 있다. 이 경우, 전자 장치(101)는, 비교 대상 지자기 맵을 제 1 고도(H2)에 대응하는 지자기 맵(1030)으로부터 제 2 고도(H3)에 대응하는 지자기 맵(1050)으로 변경할 수 있다. 전자 장치(101)는 선택된 지자기 맵(1050)과 제 2 지자기 데이터(j,k,l)를 비교할 수 있으며, 비교 결과에 기초하여 위치 후보들(1054,1062)을 판단할 수 있다. 전자 장치(101)는 제 1 시점(t1)에서는 제 2 위치(1032), 제 11 위치(1041) 및 제 13 위치(1043)를 위치 후보로서 판단하였고, 제 2 시점(t2)에서는 제 4 위치(1054), 제 12 위치(1062)를 위치 후보로서 판단하였다. 전자 장치(101)는 제 1 시점(t1)의 위치 후보들과, 제 2 시점(t2)의 위치 후보들 중 서로 인접하는 위치 후보들을 판단할 수 있으며, 예를 들어 제 1 시점(t1)에서의 제 11 위치(1041)와 제 2 시점(t2)에서의 제 12 위치(1062)가 인접한 것으로 판단할 수 있으며, 나머지 위치후보들 중 인접한 관계를 가지는 위치 후보는 없는 것을 판단할 수 있다. 전자 장치(101)는, 시간의 흐름에 따라서 인접한 것으로 판단된 위치후보들인 제 11 위치(1041)와 제 12 위치(1062)를 전자 장치(101)의 위치로 판단할 수 있다. 즉, 전자 장치(101)는 제 1 시점(t1)에서의 위치는 제 11 위치(1041)로 판단하고, 제 2 시점(t2)에서의 위치는 제 12 위치(1062)로 판단할 수 있다. 한편, 제 2 시점에서도 복수 개의 위치 후보들이 존재하는 경우에는, 전자 장치(101)는 계속하여 지자기 데이터를 추적하여 센싱하고, 지자기 맵과 비교하여 위치 후보들을 배제하는 과정을 반복할 수 있다. 한편, 도 14에서 전자 장치(101)가 바로 옆에 인접하는 위치 후보들만 위치로서 판단하는 구성은 단순히 예시적인 것으로, 전자 장치(101)가 인접한 위치 후보를 판단하는 기준은 가변적일 수 있다. 예를 들어, 전자 장치(101)가 3 단위를 인접 후보로 판단하는 기준으로 설정한 경우에는, 전자 장치(101)는 시간의 흐름에 따라서 4 단위를 초과하여 배치되는 인접 후보는 제외시키면서, 전자 장치(101)의 위치를 판단할 수도 있다.
도 15는 본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
1510 동작에서, 전자 장치(101)는 전자 장치(101)의 고도를 제 1 고도로 판단할 수 있다. 1520 동작에서, 전자 장치(101)는 제 1 고도에 대응하는 지자기 맵을 획득할 수 있다. 즉, 도 13의 실시예에서 전자 장치(101)가 미리 복수 개의 고도별 지자기 맵을 모두 미리 저장한 것과는 대조적으로, 전자 장치(101)는, 예를 들어 서버로부터 현재 고도에 대응하는 지자기 맵을 획득할 수 있다. 전자 장치(101)는 현재 고도를 포함하는 신호를 서버 등으로 송신할 수 있으며, 서버는 이에 대응하여 전자 장치(101)의 현재 고도에 대응하는 지자기 맵을 제공할 수 있다.
1530 동작에서, 전자 장치(101)는 제 1 고도에 대응하는 지자기 맵과 제 1 지자기 데이터를 비교하고, 비교 결과에 기초하여 전자 장치(101)의 위치를 판단할 수 있다. 여기에서, 제 1 지자기 데이터는, 전자 장치(101)가 제 1 고도에서 센싱한 지자기 데이터일 수 있다.
1540 동작에서, 전자 장치(101)는 전자 장치(101)의 고도가 제 1 고도로부터 제 2 고도로 변경되는 것을 판단할 수 있다. 예를 들어, 전자 장치(101)는 현재 고도가 제 2 고도인 것으로 판단할 수 있다. 1550 동작에서, 전자 장치(101)는 제 2 고도에 대응하는 지자기 맵을 획득할 수 있다. 예를 들어, 전자 장치(101)는 현재 고도가 제 2 고도라는 신호를 서버 등으로 송신할 수 있으며, 서버는 이에 대응하여 제 2 고도에 대응하는 지자기 맵을 제공할 수 있다. 또 다른 실시예에서, 전자 장치(101)는 제 2 고도의 절댓값이 아닌 고도 변경에 대한 정보만을 서버 등으로 송신할 수도 있다. 예를 들어, 전자 장치(101)는 기압 센서 등을 이용하여 ΔH의 고도 변경이 발생한 것을 판단할 수도 있다. 이 경우, 전자 장치(101)는 ΔH의 고도 변경 정보를 포함하는 신호를 서버 등으로 송신할 수도 있다. 서버는, ΔH의 고도 변경과 초기 고도(예를 들어, 제 1 고도)를 이용하여, 전자 장치(101)의 현재 고도가 제 2 고도인 것을 판단할 수도 있으며, 이에 대응하여 제 2 고도에 대응하는 지자기 맵을 전자 장치(101)로 제공할 수도 있다.
한편, 지자기 맵 제공 장치(예를 들어, 서버)는 복수 개의 고도별 지자기 맵을 미리 저장하고 있다가, 전자 장치(101)로부터 고도 정보가 수신되면, 해당 고도에 대응하는 지자기 맵을 제공할 수 있다. 또는, 지자기 맵 제공 장치는, 전자 장치(101)로부터 고도 정보가 수신되는 경우에, 해당 고도에 대응하는 지자기 맵을 생성하고, 생성된 지자기 맵을 전자 장치(101)로 제공할 수도 있다.
1560 동작에서, 전자 장치(101)는 제 2 고도에 대응하는 지자기 맵과 제 2 지자기 데이터를 비교하고, 비교 결과에 기초하여 전자 장치(101)의 위치를 판단할 수 있다. 여기에서, 제 2 지자기 데이터는, 전자 장치(101)가 제 2 고도에서 센싱한 지자기 데이터일 수 있다.
상술한 바와 같이, 전자 장치(101)는 모든 고도에 대한 지자기 맵을 모두 미리 수신하지 않고, 현재 고도에 대응하는 지자기 맵만을 수신하여 위치 측정에 이용할 수도 있다.
위에서는, 전자 장치(101)가 복수 개의 지자기 맵 중 현재 고도에 대응하는 지자기 맵을 선택하고, 센싱된 지자기 맵과 선택한 지자기 맵을 비교함으로써 위치를 측정하는 구성에 대하여 설명하였다. 아래에서는, 전자 장치(101)가 현재 고도를 판단하는 구성에 대하여서 상세하게 설명하도록 한다.
도 16은 본 발명의 다양한 실시예에 따른 고도를 판단하는 방법을 설명하기 위한 흐름도를 도시한다.
1610 동작에서, 전자 장치(101)는 이벤트와 이벤트에 대응하는 고도와의 연관 정보를 저장할 수 있다. 예를 들어, 전자 장치(101)는 표 1과 같은 이벤트와 이벤트에 대응하는 고도와의 연관 정보를 저장할 수 있다.
이벤트 고도
전자 장치를 스윙하는 동작 T2
전자 장치를 응시하는 동작 T3
전화를 받는 동작 T5
1620 동작에서, 전자 장치(101)는 이벤트를 검출할 수 있다. 1630 동작에서, 전자 장치(101)는 연관 정보를 이용하여, 검출된 이벤트에 대응하는 고도를 결정할 수 있다. 예를 들어, 전자 장치(101)는 전자 장치를 스윙하는 동작을 검출할 수 있으며, 전자 장치(101)의 고도를 T2로 판단할 수 있다. 전자 장치(101)는 표 1과 같은 연관 정보를 입력받아 미리 저장할 수 있다. 연관 정보는, 다양한 방법에 따라 사전에 제작될 수 있다. 예를 들어, 제작자는 실험에 따라 이벤트별 전자 장치(101)의 고도를 확인하여, 이를 매핑함으로써 연관 정보를 제작할 수도 있다. 또는, 제작자는 다양한 실험 결과를 통계 처리함으로써 연관 정보를 제작할 수도 있다. 이 경우, 제작자는 전자 장치(101)가 센싱할 수 있는 센싱 데이터에 기초하여 이벤트를 설정할 수도 있다. 또 다른 실시예에서는, 제작자의 개입없이 연관 정보가 제작될 수도 있다. 다양한 실시예에서, 연관 정보를 제작하는 전자 장치는, 전자 장치의 다양한 동작(예를 들어, 센싱 데이터 또는 어플리케이션 사용 이력)과 절대 고도에 학습 알고리즘을 적용할 수도 있으며, 알고리즘 적용 결과를 이용하여 이벤트 및 고도 사이의 연관 정보를 생성할 수도 있다. 예를 들어, 연관 정보를 제작하는 전자 장치는, 전자 장치의 다양한 동작과 고도와의 상관 관계에 대한 학습 알고리즘 적용 결과를 이용하여 이벤트 및 고도 사이의 연관 정보를 생성할 수도 있다. 한편, 상술한 연관 정보 생성 방식은 단순히 예시적인 것이며, 이벤트 및 고도 사이의 연관 정보를 생성하는 방식에는 제한이 없음을 당업자는 용이하게 이해할 수 있을 것이다. 상술한 바에 따라서, 전자 장치(101)는 정확하게 절대 고도를 판단할 수 있다.
도 17은 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
1710 동작에서, 전자 장치(101)는 모션 센서가 센싱하는 모션 데이터를 획득할 수 있다. 1720 동작에서, 전자 장치(101)는 저장된 사용자 프로파일과, 모션 데이터를 이용하여 전자 장치(101)의 고도를 판단할 수 있다. 더욱 상세하게, 전자 장치(101)는 모션 데이터에 대응하는 이벤트를 판단할 수 있다. 전자 장치(101)는 이벤트 및 고도 사이의 연관 정보와, 사용자 프로파일에 기초하여 고도를 판단할 수 있다. 예를 들어, 전자 장치(101)는 표 2와 같은 연관 정보를 미리 저장할 수 있다.
이벤트 고도
전자 장치를 스윙하는 동작 사용자의 키 × 0.6
전자 장치를 응시하는 동작 사용자의 키 × 0.8
전화를 받는 동작 사용자의 키 × 0.95
표 1과는 대조적으로, 표 2에 의한 연관 정보는 절대적인 고도가 아닌 사용자의 키와 연관되는 고도를 포함할 수 있다. 이에 따라, 키가 상이한 사용자 각각이 전자 장치(101)를 이용하는 경우에도, 정확한 고도를 획득할 수 있다. 예를 들어, 전자 장치(101)는, 모션 데이터에 기초하여 전자 장치의(101)가 스윙하는 것으로 판단할 수 있다. 전자 장치(101)는, 전자 장치가 스윙하는 것으로 판단되면, 전자 장치(101)의 고도를 사용자의 키 × 0.6으로 판단할 수 있다. 도 18은 전자 장치(101)의 스윙을 설명하기 위한 개념도를 도시한다.
도 18에 도시된 바와 같이, 사용자(1800)가 전자 장치(101)를 잡고 스윙하는 경우에는, 전자 장치(101)는 진자 운동을 할 수 있다. 도 18의 하단에 도시된 바와 같이, 진자 운동을 하는 경우에, 전자 장치(101)에는 각각의 위치(1801,1802,1803) 각각에서 진자 운동의 중심을 향하는 구심력에 의한 가속도(1811,1812,1813)가 인가될 수 있다. 도 18에서는, 편의를 위하여 중력 가속도는 도시하지 않았다. 전자 장치(101)는 구심력(1811,1812,1813)을 모션 센서를 통하여 센싱할 수 있으며, 센싱된 모션 데이터에 기초하여 전자 장치(101)의 스윙을 판단할 수 있다. 전자 장치(101)는, 예를 들어 표 2와 같은 연관 정보에 기초하여, 전자 장치(101)의 고도를 사용자의 키(T1) × 0.6 = T2로 판단할 수 있다. 전자 장치(101)는 사용자의 프로파일, 예를 들어 키(T1)를 미리 저장할 수 있다. 상술한 바와 같이, 고도(T2)가 판단되면, 전자 장치(101)는 판단된 고도(T2)에 대응하는 지자기 맵을 선택할 수 있으며, 선택된 지자기 맵과 센싱된 지자기 데이터를 비교함으로써 전자 장치(101)의 위치를 판단할 수 있다. 한편, 또 다른 실시예에서는, 전자 장치(101)는 표 1과 같은 연관 정보를 이용하여 사용자 프로파일을 이용하지 않고 바로 고도가 T2인 것을 판단할 수도 있다. 사용자 프로파일은, 예를 들어 사용자 성별, 나이, 키, 체중 및 보폭 크기 등의 다양한 정보를 포함할 수 있다. 사용자 프로파일은 사용자로부터 입력될 수도 있거나 또는 사용자의 행동 패턴을 분석함에 따라서 전자 장치(101)가 판단할 수도 있다.
도 19는 본 발명의 다양한 실시예에 따른 전자 장치를 응시하는 이벤트를 설명하기 위한 개념도를 도시한다.
도 19에 도시된 바와 같이, 사용자(1900)는 전자 장치(101)를 응시하면서 걸어갈 수 있다. 도 19의 하단에 도시된 바와 같이, 사용자가 전자 장치(101)를 잡고 특정 방향으로 걷는 경우, 전자 장치(101)의 수평 방향으로는 특정 방향으로의 가속도(1911)가 인가될 수 있다. 한편, 수직 방향으로는, 사용자의 걸음에 의하여 상측 방향의 가속도(1912) 및 하측 방향의 가속도(1913)가 교번적으로 전자 장치(101)에 인가될 수 있다. 전자 장치(101)는 수평 방향으로의 가속도(1911)와, 수직 방향으로의 상/하측 방향의 가속도(1912,1913)를 센싱할 수 있으며, 이러한 모션 데이터에 기초하여 전자 장치(101)를 응시하는 동작의 이벤트를 검출할 수 있다. 전자 장치(101)는, 예를 들어 표 2와 같은 연관 정보에 기초하여, 전자 장치(101)의 고도를 사용자의 키(T1) × 0.8 = T3로 판단할 수 있다. 전자 장치(101)는 사용자의 프로파일, 예를 들어 키(T1)를 미리 저장할 수 있다. 상술한 바와 같이, 고도(T3)가 판단되면, 전자 장치(101)는 판단된 고도(T3)에 대응하는 지자기 맵을 선택할 수 있으며, 선택된 지자기 맵과 센싱된 지자기 데이터를 비교함으로써 전자 장치(101)의 위치를 판단할 수 있다. 한편, 또 다른 실시예에서는, 전자 장치(101)는 표 1과 같은 연관 정보를 이용하여 사용자 프로파일을 이용하지 않고 바로 고도가 T3인 것을 판단할 수도 있다. 한편, 전자 장치(101)가 스윙 동작을 검출하다가 응시하는 동작을 검출하는 경우에는, 비교 대상 지자기 맵을 T2의 고도에 대응하는 지자기 맵으로부터 T3의 고도에 대응하는 지자기 맵으로 변경할 수도 있다. 본 발명의 다양한 실시예에서, 전자 장치(101)는 기설정된 고도, 예를 들어 사용자의 가슴의 높이를 기준으로 설정하고, 이후에 이벤트 검출을 모니터링함으로써 고도를 추적할 수도 있다.
도 20은 본 발명의 다양한 실시예에 따른 손목시계형 전자 장치를 응시하는 이벤트를 설명하기 위한 개념도를 도시한다. 손목 시계형 전자 장치는 예를 들어 표 3과 같은 이벤트 및 고도 사이의 연관 정보를 저장할 수 있다.
이벤트 고도
전자 장치를 스윙하는 동작 사용자의 키 × 0.6
전자 장치를 응시하는 동작 사용자의 키 × 0.7
전화를 받는 동작 사용자의 키 × 0.95
표 2와는 대조적으로, 표 3에 의한 연관 정보는 전자 장치를 응시하는 동작에 대하여, 사용자의 키 × 0.7의 고도를 연관한 정보를 저장할 수 있다. 표 2 및 표 3과 같이, 전자 장치의 종류에 따라 동일한 이벤트에 대하여서도 상이한 고도 정보가 연관되어 저장될 수 있다.
도 20에 도시된 바와 같이, 사용자가 전자 장치(101)를 착용하고 팔을 아래로 늘어뜨린 상태로부터 굽힐 수 있다. 이에 따라, 전자 장치(101)는 사용자의 시점에서 좌상측의 방향으로 이동(2010)할 수 있다. 이 경우, 전자 장치(101)는 도 20의 하측에 도시된 바와 같이, 사용자의 시점에서 좌상측의 방향의 가속도(2020)을 센싱할 수 있다. 전자 장치(101)는 사용자의 시점에서 좌상측의 방향의 가속도(2020)를 전자 장치를 응시하는 동작으로 연관시켜 미리 저장할 수 있다. 전자 장치(101)는 모션 센서를 통하여 센싱된 모션 데이터가 좌상측의 방향의 가속도(2020)로 판단되는 경우, 전자 장치를 응시하는 동작의 이벤트가 발생할 것으로 판단할 수 있다.
전자 장치(101)는, 예를 들어 표 3과 같은 연관 정보에 기초하여, 전자 장치(101)의 고도를 사용자의 키(T1) × 0.7 = T4로 판단할 수 있다. 전자 장치(101)는 사용자의 프로파일, 예를 들어 키(T1)를 미리 저장할 수 있다. 상술한 바와 같이, 고도(T4)가 판단되면, 전자 장치(101)는 판단된 고도(T4)에 대응하는 지자기 맵을 선택할 수 있으며, 선택된 지자기 맵과 센싱된 지자기 데이터를 비교함으로써 전자 장치(101)의 위치를 판단할 수 있다. 한편, 또 다른 실시예에서는, 전자 장치(101)는 절대 고도를 포함하는 연관 정보를 이용하여 사용자 프로파일을 이용하지 않고 바로 고도가 T4인 것을 판단할 수도 있다.
도 21은 본 발명의 다양한 실시예들에 의한 전자 장치의 이벤트 검출 및 고도 판단을 설명하기 위한 흐름도를 도시한다. 도 21의 실시예는 도 22를 참조하여 더욱 상세하게 설명하도록 한다. 도 22는 본 발명의 다양한 실시예에 따른 어플리케이션 실행 정보를 이용하는 고도 판단을 설명하기 위한 개념도를 도시한다.
2110 동작에서, 전자 장치(101)는 어플리케이션 실행 정보를 획득할 수 있다. 2120 동작에서, 전자 장치(101)는 실행되는 어플리케이션과 저장된 사용자 프로파일을 이용하여 고도를 결정할 수 있다. 예를 들어, 도 22에 도시된 바와 같이, 사용자는 전자 장치(101)를 이용하여 전화를 걸거나 받을 수 있다. 이 경우, 사용자는 전자 장치(101)를 귀 부근에 위치시킬 수 있다. 전자 장치(101)는 전화 어플리케이션이 실행되는 경우에, 전화를 받는 동작의 이벤트가 발생한 것으로 판단할 수 있다. 전자 장치(101)는 예를 들어 표 2와 같은 연관 정보를 이용하여, 전자 장치(101)의 고도를 사용자의 키(T1) × 0.95 = T5로 판단할 수 있다. 또 다른 실시예에서, 전자 장치(101)는 예를 들어 표 1과 같은 연관 정보를 이용하여, 사용자 프로파일을 이용하지 않고 곧바로 절대 고도인 T5를 판단할 수도 있다. 전자 장치(101)는 전자 장치(101)의 고도(T5)에 대응하는 지자기 맵을 선택하고, 센싱한 지자기 데이터와 선택한 지자기 맵을 비교함으로써 전자 장치(101)의 위치를 판단할 수 있다.
도 23은 본 발명의 다양한 실시예에 따른 절대 고도 및 고도 갱신을 설명하기 위한 흐름도를 도시한다.
2310 동작에서, 전자 장치(101)는 이벤트 및 이벤트에 대응하는 연관 정보를 미리 저장할 수 있다. 2320 동작에서, 전자 장치(101)는 이벤트를 검출할 수 있다. 2330 동작에서, 전자 장치(101)는 미리 저장된 연관 정보를 이용하여, 검출된 이벤트에 대응하는 절대 고도를 결정할 수 있다. 상술한 바와 같이, 전자 장치(101)는 모션 센서와 같은 각종 센서로부터 획득된 센싱 데이터 또는 어플리케이션 실행 정보 등을 이용하여 절대 고도를 결정할 수 있다. 또는, 전자 장치(101)는 모션 센서와 같은 각종 센서로부터 획득된 센싱 데이터 또는 어플리케이션 실행 정보와, 사용자 프로파일을 이용하여 절대 고도를 결정할 수도 있다.
2340 동작에서, 전자 장치(101)는 기압 센서를 이용하여 고도 변경을 측정할 수 있다. 예를 들어, 전자 장치(101)의 기압 센서는, 전자 장치(101)의 위치에서의 기압을 센싱할 수 있다. 기압은 고도별로 상이하므로, 전자 장치(101)는 기압 센서를 통하여 센싱한 기압 데이터를 이용하여, 고도 변경을 측정할 수 있다. 예를 들어, 전자 장치(101)가 센싱한 기압 데이터가 제 1 기압 데이터로부터 제 2 기압 데이터로 변경되면, 전자 장치(101)는 변경량에 따라 고도 변경을 결정할 수 있다. 2350 동작에서, 전자 장치(101)는 측정된 고도 변경에 따라, 전자 장치의 현재 고도를 갱신할 수 있다. 예를 들어, 전자 장치(101)는 초기에 판단한 절대 고도에 대하여 고도 변경을 적용함에 따라, 갱신된 고도를 판단할 수 있다. 전자 장치(101)는 고도가 갱신되면, 갱신된 고도에 대응하는 지자기 맵을 선택할 수 있다. 전자 장치(101)는 갱신된 고도에서 센싱된 지자기 데이터와 선택한 지자기 맵을 비교함으로써 전자 장치(101)의 위치를 제공할 수 있다.
상술한 바에 따라서, 전자 장치(101)는 이벤트 발생에 대응하여 절대 고도를 판단할 수도 있으며, 절대 고도가 판단되면 이후에는 기압 센서 등을 이용한 센싱 데이터에 기초하여 고도 변경을 적용함으로써 고도를 갱신할 수도 있다. 본 발명의 다양한 실시예에 따른 전자 장치(101)는 고도 갱신에 따라 비교 대상의 지자기 맵도 갱신할 수 있어, 적응적으로 전자 장치(101)의 위치를 제공할 수 있다.
이상에서는, 전자 장치(101)가 고도를 판단하는 구성에 대하여 설명하였다. 이하에서는, 전자 장치(101)가 복수 개의 고도별 지자기 맵, 즉 3차원 지자기 맵을 생성하는 방법에 대하여 더욱 상세하게 설명하도록 한다.
도 24는 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵 생성 방법을 설명하기 위한 흐름도를 도시한다. 도 24의 실시예는 도 25를 참조하여 더욱 상세하게 설명하도록 한다. 도 25는 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵을 생성하는 과정을 설명하기 위한 개념도를 도시한다.
2410 동작에서, 본 발명의 다양한 실시예에 따른 지자기 맵 생성 장치는 적어도 두 개의 고도 각각에서의 위치별 지자기 데이터를 획득할 수 있다. 예를 들어, 도 25에서와 같이, 지자기 맵 생성 장치는 제 1 고도(H1)에 대응하는 지자기 맵(2510)과 제 2 고도(H2)에 대응하는 지자기 맵(2520)을 획득할 수 있다. 예를 들어, 지자기 맵 생성 장치는, 특정 영역에 직접 방문하여, 제 1 고도(H1)를 유지하면서 복수 개의 위치에서 지자기 데이터를 센싱함으로써 제 1 고도(H1)에 대응하는 지자기 맵(2510)을 획득할 수 있다. 아울러, 지자기 맵 생성 장치는, 특정 영역에 직접 방문하여, 제 2 고도(H2)를 유지하면서 복수 개의 위치에서 지자기 데이터를 센싱함으로써 제 2 고도(H2)에 대응하는 지자기 맵(2520)을 획득할 수 있다.
2420 동작에서, 지자기 맵 생성 장치는 획득된 적어도 두 개의 고도 각각에서의 제 1 위치에 대한 지자기 데이터를 이용하여, 데이터가 획득되지 않은 고도의 제 1 위치에 대한 지자기 데이터를 예측할 수 있다. 예를 들어, 지자기 맵 생성 장치가 제 3 고도(H3)에 대응하는 지자기 맵을 생성하는 과정을, 도 25를 참조하여 설명하도록 한다. 지자기 맵 생성 장치는 제 1 고도(H1)의 제 1 위치(2511)의 지자기 데이터 및 제 2 고도(H2)의 제 1 위치(2521)의 지자기 데이터를 이용하여, 제 3 고도(H3)의 제 1 위치(2531)의 지자기 데이터를 예측할 수 있다. 지자기 맵 생성 장치는 다양한 보간법(interpolation)에 기초하여 제 3 고도(H3)의 제 1 위치(2531)의 지자기 데이터를 예측할 수 있다.
2430 동작에서, 지자기 맵 생성 장치는 생성하고자 하는 고도에서의 모든 위치에 대하여 지자기 데이터가 예측되는지 여부를 판단할 수 있다. 모든 위치에 대하여 지자기 데이터가 예측되지 않으면, 2440 동작에서 지자기 맵 생성 장치는 제 1 위치를 다음 위치로 변경할 수 있으며, 2420 동작에서 지자기 데이터 예측을 수행할 수 있다. 예를 들어, 도 25에서와 같이, 지자기 맵 생성 장치는 제 3 고도(H3)에서의 제 2 위치(2532)의 예측을 수행할 수 있다. 더욱 상세하게, 지자기 맵 생성 장치는 제 1 고도(H1)에서의 제 2 위치(2512)에서의 지자기 데이터와 제 2 고도(H2)에서의 제 2 위치(2522)에서의 지자기 데이터를 이용하여, 제 3 고도(H3)에서의 제 2 위치(2532)의 지자기 데이터를 예측할 수 있다. 상술한 바와 같이, 지자기 맵 생성 장치는 예측 위치를 변경함으로써 제 3 고도(H3)의 모든 위치에서의 지자기 데이터를 예측할 수 있으며, 이에 따라 제 3 고도(H3)에 대응하는 지자기 맵(2530)을 생성할 수 있다.
2450 동작에서, 지자기 맵 생성 장치는 모든 고도에 대하여 지자기 데이터가 예측되었는지 여부를 판단할 수 있다. 지자기 데이터가 예측되지 않은 고도가 존재하면, 2460 동작에서, 지자기 맵 생성 장치는 데이터가 획득되지 않은 다른 고도로 생성하고자 하는 지자기 맵의 고도를 변경할 수 있다. 2470 동작에서, 지자기 맵 생성 장치는 획득된 적어도 두 개의 고도 각각에서의 제 1 위치에 대한 지자기 데이터와, 예측된 고도에서의 제 1 위치에 대한 지자기 데이터 중 적어도 하나를 이용하여, 데이터가 획득되지 않은 고도의 제 1 위치에 대한 지자기 데이터를 예측할 수 있다. 예를 들어, 도 25에서와 같이, 지자기 맵 생성 장치는 제 4 고도(H4)에서의 제 1 위치(2541)의 지자기 데이터를 예측할 수 있다. 지자기 맵 생성 장치는 제 1 고도(H1)의 제 1 위치(2511)에서의 지자기 데이터, 제 2 고도(H2)의 제 1 위치(2521)에서의 지자기 데이터, 즉 획득된 지자기 데이터와 제 3 고도(H3)의 제 1 위치(2531)에서의 지자기 데이터, 즉 예측된 지자기 데이터를 이용하여, 제 4 고도(H4)에서의 제 1 위치(2541)의 지자기 데이터를 예측할 수 있다. 또 다른 실시예에서, 지자기 맵 생성 장치는 제 1 고도(H1)의 제 1 위치(2511)에서의 지자기 데이터, 제 2 고도(H2)의 제 1 위치(2521)에서의 지자기 데이터, 즉 획득된 지자기 데이터를 이용하여 제 4 고도(H4)에서의 제 1 위치(2541)의 지자기 데이터를 예측할 수도 있다. 지자기 맵 생성 장치는 제 4 고도(H4)에서의 제 2 위치(2542)에서의 지자기 데이터를, 획득된 지자기 데이터와 예측된 지자기 데이터를 이용하여 예측하거나 또는 획득된 지자기 데이터를 이용하여 예측할 수도 있다.
2480 동작에서, 지자기 맵 생성 장치는 적어도 세 개의 고도 각각에 대한 지자기 맵을 생성할 수 있으며, 이에 따라 복수 개의 고도별 지자기 맵, 즉 3차원 지자기 맵을 생성할 수 있다. 지자기 맵 생성 장치는 생성된 3차원 지자기 맵을 지자기 맵을 관리하는 서버 또는 특정 영역에 진입하는 전자 장치로 송신할 수 있다.
도 26a 및 26b는 본 발명의 다양한 실시예에 따른 보간법을 설명하기 위한 그래프들을 도시한다.
도 26a는 선형(linear) 보간법에 의한 보간 데이터를 도시한다. 본 발명의 다양한 실시예에서, 지자기 맵 생성 장치는, 특정 위치에 대한 6개의 높이(1 내지 6)에서의 지자기 데이터를 획득할 수 있으며, 6개의 높이(1 내지 6)에서의 지자기 데이터에 대한 선형 보간법을 적용할 수 있다. 더욱 상세하게, 지자기 맵 생성 장치는 제 1 높이(1)의 지자기 데이터와 제 2 높이(2)의 지자기 데이터를 선으로 연결할 수 있다. 이에 따라, 지자기 맵 생성 장치는 제 1 높이(1) 및 제 2 높이(2) 사이의 제 n 높이에서의 지자기 데이터를 예측할 수 있다.
도 26b는 다항식(polynomial) 보간법에 의한 보간 데이터를 도시한다.
본 발명의 다양한 실시예에서, 지자기 맵 생성 장치는, 특정 위치에 대한 6개의 높이(1 내지 6)에서의 지자기 데이터를 획득할 수 있으며, 6개의 높이(1 내지 6)에서의 지자기 데이터에 대한 다항식 보간법을 적용할 수 있다. 더욱 상세하게, 지자기 맵 생성 장치는 6개의 높이(1 내지 6)에서의 지자기 데이터에 대한 추세선을 생성할 수 있다. 이에 따라, 지자기 맵 생성 장치는 제 1 높이(1) 및 제 2 높이(2) 사이의 제 n 높이에서의 지자기 데이터를 예측할 수 있다.
본 발명의 다양한 실시예에서, 지자기 맵 생성 장치는, 미리 복수 개의 고도별로 지자기 맵을 생성하는 경우에는, 다항식 보간법을 이용하여 보간 데이터를 생성함으로써 복수 개의 고도별 지자기 맵을 생성할 수 있다. 또는, 지자기 맵 생성 장치가, 전자 장치(101)로부터의 고도 정보가 수신되어, 해당 고도의 지자기 맵을 생성하는 경우에는, 선형 보간법을 이용하여 보간 데이터를 생성함으로써 해당 고도의 보간 데이터를 생성하여 제공할 수 있다.
도 27은 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵 생성 방법을 설명하기 위한 흐름도를 도시한다. 도 27의 실시예는 도 28a 내지 28d를 참조하여 더욱 상세하게 설명하도록 한다. 도 28a 내지 28d은 본 발명의 다양한 실시예에 따른 복수 개의 고도별 지자기 맵을 생성하는 과정을 설명하기 위한 개념도들을 도시한다.
2710 동작에서, 본 발명의 다양한 실시예에 따른 지자기 맵 생성 장치는 제 1 고도에서의 위치별 지자기 데이터 획득할 수 있다. 2720 동작에서, 지자기 맵 생성 장치는 제 2 고도에서의 위치별 지자기 데이터 획득할 수 있다. 예를 들어, 도 28a에서와 같이, 지자기 맵 생성 장치는 제 1 고도(H1)의 지자기 맵(2810)과 제 2 고도(H2)의 지자기 맵(2820)을 획득할 수 있다.
2730 동작에서, 지자기 맵 생성 장치는 제 1 고도에서의 제 1 위치의 지자기 데이터, 제 2 고도에서의 제 1 위치의 지자기 데이터와, 제 1 고도에서의 제 2 위치의 지자기 데이터를 이용하여, 제 3 고도에서의 제 1 위치의 지자기 데이터 예측할 수 있다. 예를 들어, 지자기 맵 생성 장치는 도 28a에서 제 3 고도(H3)의 지자기 맵(2830)을 예측하는 것을 상정하도록 한다. 우선, 지자기 맵 생성 장치는 제 3 고도(H3)의 지자기 맵(2830)에서 제 1 위치(2831)의 지자기 데이터를 예측할 수 있다. 지자기 맵 생성 장치는 제 1 고도(H1)의 제 1 위치(2811), 제 2 고도(H2)의 제 1 위치(2821)를 이용하여 지자기 데이터를 예측할 수 있다. 뿐만 아니라, 지자기 맵 생성 장치는 추가적으로 제 1 고도(H1)의 제 2 위치(2812)를 이용하여 제 3 고도(H3)의 제 1 위치(2831)의 지자기 데이터를 예측할 수 있다. 예를 들어, 지자기 맵 생성 장치는 제 1 고도(H1)의 제 1 위치(2811), 제 2 고도(H2)의 제 1 위치(2821)를 이용하여, 제 3 고도(H3)의 제 1 위치(2831)에서의 지자기 데이터에 대한 복수 개의 후보를 예측할 수 있다. 지자기 맵 생성 장치는 제 1 고도(H1)의 제 2 위치(2812)의 지자기 데이터를 이용하여 복수 개의 후보 중 제 3 고도(H3)의 제 1 위치(2831)에서의 지자기 데이터를 예측할 수 있다.
또는, 도 28b에서와 같이, 지자기 맵 생성 장치는 제 1 고도(H1)에서의 제 1 위치(2811)에서의 지자기 데이터와 제 2 고도(H2)에서의 제 1 위치(2821)에서의 지자기 데이터에 보간법을 적용함으로써 제 3 고도(H3)에서의 제 1 위치(2831)에서의 지자기 데이터를 예측할 수 있다. 지자기 맵 생성 장치는, 위치간 거리(H1-H3,H3-H2)를 더 이용하여 보간법을 적용할 수 있다. 아울러, 도 28c에서와 같이, 지자기 맵 생성 장치는 제 1 고도(H1)에서의 제 2 위치(2812)에서의 지자기 데이터와 제 2 고도(H2)에서의 제 3 위치(2823)에서의 지자기 데이터에 보간법을 적용함으로써 제 3 고도(H3)에서의 제 1 위치(2831)에서의 지자기 데이터를 예측할 수 있다. 지자기 맵 생성 장치는, 위치간 거리(X1,X2)를 더 이용하여 보간법을 적용할 수 있다. 또한, 도 28d에서와 같이, 지자기 맵 생성 장치는 제 1 고도(H1)에서의 제 3 위치(2813)에서의 지자기 데이터와 제 2 고도(H2)에서의 제 2 위치(2822)에서의 지자기 데이터에 보간법을 적용함으로써 제 3 고도(H3)에서의 제 1 위치(2831)에서의 지자기 데이터를 예측할 수 있다. 지자기 맵 생성 장치는, 위치간 거리(X3,X4)를 더 이용하여 보간법을 적용할 수 있다. 지자기 맵 생성 장치는 상술한 3가지 보간법 적용 결과 중 적어도 하나를 이용하여 제 3 고도(H3)의 제 1 위치(2831)에서의 지자기 데이터를 예측할 수 있다. 상술한 바에 따라서, 지자기 맵 생성 장치는 두 개의 지자기 맵을 이용하여서도 복수 개의 고도별 지자기 맵을 정확하게 예측할 수 있다.
도 29는 본 발명의 다양한 실시예에 따른 크라우드 소싱(crowd sourcing)을 이용한 지자기 맵 갱신 과정을 설명하기 위한 개념도를 도시한다. 지자기 맵을 저장하고 관리하는 전자 장치(2910)는 복수 개의 고도별 지자기 맵을 미리 저장할 수 있다. 전자 장치(2910)는 특정 영역(2900)에 위치하는 적어도 하나의 다른 전자 장치(2920,2930,2940) 각각으로부터 신호(2921,2931,2941)를 수신할 수 있다. 도 30a 및 30b는 본 발명의 다양한 실시예에 따른 신호의 개념도를 도시한다. 신호(3010)는 고도(3011)에 대한 정보 및 지자기 데이터(3012)에 대한 정보를 포함할 수 있다. 예를 들어, 다른 전자 장치(2920)는 제 1 고도(H1)의 고도에 대한 정보와 센싱한 지자기 데이터를 포함하는 신호(2921)를 전자 장치(2910)로 송신할 수 있다. 다른 전자 장치(2920,2930,2940) 각각은 지자기 데이터를 센싱하고 이를 송신할 수 있다. 전자 장치(2910)는 수신된 지자기 데이터를 이용하여, 기존에 저장하고 있던 지자기 맵을 갱신할 수 있다.
한편, 본 발명의 다른 실시예에서는, 다른 전자 장치(2920,2930,2940)가 도 30b와 같은 신호를 송신할 수도 있다. 도 30b의 신호(3010)는 도 30a와 비교하여 위치 정보(3013)를 더 포함할 수도 있다. 다른 전자 장치(2920,2930,2940)는 지자기 값 이외의 다른 정보에 이용하여 실내 측위를 수행할 수도 있다. 예를 들어, 다른 전자 장치(2920,2930,2940)는 PDR 정보, Wi-fi 라디오 맵 정보, 비콘 라디오 맵 정보 등의 다양한 실내 측위를 위한 정보에 기초하여 위치 정보(3013)를 획득할 수 있다. 다른 전자 장치(2920,2930,2940)는 획득된 위치 정보(3013)를 고도 정보(3011) 및 지자기 데이터(3012)와 매핑하여 송신할 수 있으며, 전자 장치(2910)는 이를 이용하여 저장하고 있던 지자기 맵을 갱신하거나 또는 새로운 지자기 맵을 생성할 수도 있다.
도 31은 본 발명의 다양한 실시예에 따른 지자기 맵의 갱신 방법을 설명하기 위한 흐름도를 도시한다.
3110 동작에서, 특정 영역에 대한 3차원 지자기 맵을 저장하고 관리하는 전자 장치는 3차원 지자기 맵 저장할 수 있다. 상술한 바와 같이, 전자 장치는 적어도 두 개의 2차원 지자기 맵을 획득하고, 획득한 지자기 맵을 이용하여 복수 개의 고도별 지자기 맵을 생성하여 관리할 수 있다.
3120 동작에서, 전자 장치는 외부 전자 장치로부터, 고도와 지자기 데이터를 수신할 수 있다. 예를 들어, 전자 장치는 특정 영역에 위치하는 외부 전자 장치로부터 고도와 지자기 데이터를 수신할 수 있다.
3130 동작에서, 전자 장치는 수신된 지자기 데이터와, 3차원 지자기 맵을 이용하여 외부 전자 장치의 위치를 판단할 수 있다. 예를 들어, 전자 장치는 외부 전자 장치의 고도에 대응하는 2차원 지자기 맵을 선택하고, 선택한 지자기 맵과 수신한 지자기 데이터를 비교함으로써, 해당 외부 전자 장치의 위치를 판단할 수 있다.
3140 동작에서, 전자 장치는 판단된 외부 전자 장치의 위치와, 고도 및 지자기 데이터를 이용하여 3차원 지자기 맵을 갱신할 수 있다.
한편, 본 발명의 다양한 실시예에서는, 전자 장치는 다른 전자 장치로부터 위치 측정을 위한 추가적인 정보를 더 수신할 수도 있다. 예를 들어, 전자 장치는 다른 전자 장치로부터 다양한 실내 측위를 위한 데이터를 수신할 수 있으며, 이를 이용하여 다른 전자 장치의 위치를 측정할 수 있다. 전자 장치는, 다른 전자 장치의 측정된 위치에 대하여 지자기 데이터를 매핑함으로써 지자기 맵을 갱신할 수 있다. 이 경우에, 전자 장치는, 다른 전자 장치의 측정된 위치에 대하여 지자기 데이터를 매핑함으로써 지자기 맵을 생성할 수도 있다.
도 32는 본 발명의 다양한 실시예에 따른 크라우드 소싱을 수행하는 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.
3210 동작에서, 전자 장치는 이벤트와 이벤트에 대응하는 고도와의 연관 정보를 저장할 수 있다. 예를 들어, 전자 장치는 표 1 내지 표 3과 같은 연관 정보를 저장할 수 있다. 3220 동작에서, 전자 장치는 이벤트를 검출할 수 있다. 예를 들어, 전자 장치는 각종 센서가 센싱한 데이터 또는 어플리케이션 실행 정보 등을 이용하여 이벤트를 검출할 수 있다. 3230 동작에서, 전자 장치는 연관 정보를 이용하여, 검출된 이벤트에 대응하는 절대 고도를 결정할 수 있다.
3240 동작에서, 전자 장치는 해당 절대 고도에서의 지자기 데이터를 센싱할 수 있다. 3250 동작에서, 전자 장치는 절대 고도 및 지자기 데이터를 서버로 보고할 수 있다. 상술한 바와 같이, 서버는 수신된 절대 고도 및 지자기 데이터를 이용하여 지자기 맵을 갱신하거나 새로운 지자기 맵을 생성할 수도 있다.
3260 동작에서, 전자 장치는 기압 센서를 이용하여 고도 변경을 검출할 수 있다. 3270 동작에서, 전자 장치는 측정된 고도 변경에 따라, 전자 장치의 고도를 갱신할 수 있다. 3280 동작에서, 전자 장치는 갱신된 고도 및 해당 고도에서의 지자기 데이터를 서버로 보고할 수 있다. 이에 따라, 서버는 다양한 고도에서의 지자기 맵을 갱신 또는 생성할 수 있다. 한편, 전자 장치는 상술한 바와 같이, 직접 측정한 2차원 위치 정보, 위치 측정을 위한 다양한 데이터 또는 PDR 정보 중 적어도 하나를 포함하는 추가 정보를 서버로 함께 보고할 수도 있다. 서버는 수신된 추가 정보와 고도 정보 및 지자기 데이터에 기초하여 지자기 맵을 갱신하거나 새로운 지자기 맵을 생성할 수도 있다.
본 발명의 다양한 실시예에 의한 전자 장치를 동작하는 방법은, 상기 전자 장치의 고도를 확인하는 동작; 상기 전자 장치의 고도에 대응하여, 제 1 지자기 맵 및 제 2 지자기 맵 중 하나를 선택하는 동작-상기 제 1 지자기 맵은 영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하고, 상기 제 2 지자기 맵은 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함함-; 및 상기 선택된 지자기 맵과 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 의한 상기 전자 장치의 고도를 확인하는 동작은, 상기 전자 장치의 움직임을 측정하는 동작; 및 상기 측정된 전자 장치의 움직임과, 미리 저장된 전자 장치의 움직임과 고도 사이의 연관 정보를 이용하여 상기 전자 장치의 고도를 확인하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 의한 상기 전자 장치의 고도를 확인하는 동작은, 상기 전자 장치에서 실행되는 어플리케이션 정보를 획득하는 동작; 및 상기 전자 장치에서 실행되는 어플리케이션 정보와 상기 전자 장치의 고도 사이의 연관 정보와, 상기 획득된 실행되는 어플리케이션 정보를 이용하여 상기 전자 장치의 고도를 확인하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 의한 방법은, 상기 전자 장치 주변의 기압을 센싱하는 동작; 및 상기 전자 장치 주변의 기압을 이용하여, 상기 확인된 전자 장치의 고도를 갱신하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 의한 방법은, 상기 갱신된 전자 장치의 고도에 대응하는 지자기 맵을 선택하는 동작; 및 상기 갱신된 전자 장치의 고도에 대응하는 지자기 맵과, 상기 갱신된 고도에서 상기 지자기 센서가 센싱한 지자기 데이터를 비교하고, 상기 비교 결과에 기초하여 상기 전자 장치의 위치를 제공하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 의한 방법은, 서버로부터 상기 제 1 지자기 맵과 상기 제 2 지자기 맵을 수신하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 의한 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작은, 상기 선택된 지자기 맵 중 상기 센싱한 지자기 데이터와 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치를, 상기 전자 장치의 위치로 확인할 수 있다.
본 발명의 다양한 실시예에 의한 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작은, 상기 선택된 지자기 맵 중 제 1 시점에서 지자기 센서에서 센싱한 지자기 데이터와 상기 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치를 위치 후보로 판단하는 동작; 및 상기 선택된 지자기 맵 중 제 2 시점에서 지자기 센서에서 센싱한 지자기 데이터와 상기 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치와 상기 위치 후보와의 인접 여부에 기초하여, 상기 위치 후보 중 상기 제 1 시점에서의 전자 장치의 위치를 확인하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 의한 전자 장치를 동작하는 방법에 있어서, 상기 전자 장치의 고도를 확인하는 동작; 지자기 데이터를 센싱하는 동작; 상기 전자 장치의 고도에 대한 정보를 송신하는 동작; 상기 전자 장치의 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 고도에 대응하는 지자기 맵을 수신하는 동작; 및 상기 수신된 지자기 맵과 상기 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 의한 방법은, 상기 전자 장치의 고도의 변경을 검출하는 동작; 상기 변경된 고도에 대한 정보를 송신하는 동작; 상기 변경된 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 변경된 고도에 대응하는 지자기 맵을 수신하는 동작; 및 상기 수신된 지자기 맵과 상기 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작을 더 포함할 수 있다.

Claims (33)

  1. 전자 장치에 있어서,
    지자기 센서;
    영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 1 지자기 맵과, 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 2 지자기 맵을 저장하는 메모리; 및
    프로세서를 포함하고,
    상기 프로세서는,
    상기 전자 장치의 고도를 확인하고,
    상기 전자 장치의 고도에 대응하여, 상기 제 1 지자기 맵 및 상기 제 2 지자기 맵 중 하나를 선택하고,
    상기 선택된 지자기 맵과 상기 지자기 센서에서 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하도록 설정된 전자 장치.
  2. 제 1 항에 있어서,
    상기 전자 장치의 고도와, 상기 전자 장치에서 검출되는 이벤트 사이의 연관 정보를 저장하는 메모리
    를 더 포함하는 전자 장치.
  3. 제 2 항에 있어서,
    상기 전자 장치의 움직임을 측정하는 모션 센서
    를 더 포함하고,
    상기 연관 정보는, 상기 모션 센서가 센싱한 데이터와 상기 전자 장치의 고도 사이의 연관 정보를 포함하고,
    상기 프로세서는, 상기 모션 센서가 센싱한 데이터와 상기 연관 정보를 이용하여 상기 전자 장치의 고도를 확인하도록 설정된 전자 장치.
  4. 제 2 항에 있어서,
    상기 연관 정보는, 상기 전자 장치에서 실행되는 어플리케이션 정보와 상기 전자 장치의 고도 사이의 연관 정보를 포함하고,
    상기 프로세서는, 상기 전자 장치에서 실행되는 어플리케이션 정보를 이용하여 상기 전자 장치의 고도를 확인하도록 설정된 전자 장치.
  5. 제 1 항에 있어서,
    상기 전자 장치 주변의 기압을 센싱하는 기압 센서
    를 더 포함하고,
    상기 프로세서는, 상기 기압 센서가 센싱한 데이터를 이용하여, 상기 확인된 전자 장치의 고도를 갱신하도록 설정된 전자 장치.
  6. 제 5 항에 있어서,
    상기 프로세서는,
    상기 갱신된 전자 장치의 고도에 대응하는 지자기 맵을 선택하고,
    상기 갱신된 전자 장치의 고도에 대응하는 지자기 맵과, 상기 갱신된 고도에서 상기 지자기 센서가 센싱한 지자기 데이터를 비교하고,
    상기 비교 결과에 기초하여 상기 전자 장치의 위치를 제공하도록 설정된 전자 장치.
  7. 제 1 항에 있어서,
    서버로부터 상기 제 1 지자기 맵과 상기 제 2 지자기 맵을 수신하는 통신 인터페이스
    를 더 포함하는 전자 장치.
  8. 제 1 항에 있어서,
    상기 프로세서는, 상기 선택된 지자기 맵 중 지자기 센서에서 센싱한 지자기 데이터와 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치를, 상기 전자 장치의 위치로 확인하도록 설정된 전자 장치.
  9. 제 8 항에 있어서,
    상기 프로세서는,
    상기 선택된 지자기 맵 중 제 1 시점에서 지자기 센서에서 센싱한 지자기 데이터와 상기 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치를 위치 후보로 판단하고,
    상기 선택된 지자기 맵 중 제 2 시점에서 지자기 센서에서 센싱한 지자기 데이터와 상기 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치와 상기 위치 후보와의 인접 여부에 기초하여, 상기 위치 후보 중 상기 제 1 시점에서의 전자 장치의 위치를 확인하도록 설정된 전자 장치.
  10. 전자 장치에 있어서,
    지자기 센서;
    통신 인터페이스; 및
    프로세서를 포함하고,
    상기 프로세서는,
    상기 전자 장치의 고도를 확인하고,
    상기 통신 인터페이스를 통하여, 상기 전자 장치의 고도에 대한 정보를 송신하고,
    상기 통신 인터페이스를 통하여, 상기 전자 장치의 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 고도에 대응하는 제 1 지자기 맵을 수신하고,
    상기 수신된 제 1 지자기 데이터와, 상기 지자기 센서에서 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하도록 설정된 전자 장치.
  11. 제 10 항에 있어서,
    상기 프로세서는,
    전자 장치의 고도의 변경을 검출하고,
    상기 통신 인터페이스를 통하여, 상기 변경된 고도에 대한 정보를 송신하고,
    상기 통신 인터페이스를 통하여, 상기 변경된 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 변경된 고도에 대응하는 제 2 지자기 맵을 수신하고,
    상기 수신된 제 2 지자기 맵과 상기 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하도록 설정된 전자 장치.
  12. 전자 장치를 동작하는 방법에 있어서,
    상기 전자 장치의 고도를 확인하는 동작;
    상기 전자 장치의 고도에 대응하여, 제 1 지자기 맵 및 제 2 지자기 맵 중 하나를 선택하는 동작-상기 제 1 지자기 맵은 영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하고, 상기 제 2 지자기 맵은 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함함-; 및
    상기 선택된 지자기 맵과 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작
    을 포함하는 방법.
  13. 제 12 항에 있어서,
    상기 전자 장치의 고도를 확인하는 동작은,
    상기 전자 장치의 움직임을 측정하는 동작; 및
    상기 측정된 전자 장치의 움직임과, 미리 저장된 전자 장치의 움직임과 고도 사이의 연관 정보를 이용하여 상기 전자 장치의 고도를 확인하는 동작
    을 포함하는 방법.
  14. 제 12 항에 있어서,
    상기 전자 장치의 고도를 확인하는 동작은,
    상기 전자 장치에서 실행되는 어플리케이션 정보를 획득하는 동작; 및
    상기 전자 장치에서 실행되는 어플리케이션 정보와 상기 전자 장치의 고도 사이의 연관 정보와, 상기 획득된 실행되는 어플리케이션 정보를 이용하여 상기 전자 장치의 고도를 확인하는 동작
    을 포함하는 방법.
  15. 제 12 항에 있어서,
    상기 전자 장치 주변의 기압을 센싱하는 동작; 및
    상기 전자 장치 주변의 기압을 이용하여, 상기 확인된 전자 장치의 고도를 갱신하는 동작
    을 더 포함하는 방법.
  16. 제 15 항에 있어서,
    상기 갱신된 전자 장치의 고도에 대응하는 지자기 맵을 선택하는 동작; 및
    상기 갱신된 전자 장치의 고도에 대응하는 지자기 맵과, 상기 갱신된 고도에서 상기 지자기 센서가 센싱한 지자기 데이터를 비교하고, 상기 비교 결과에 기초하여 상기 전자 장치의 위치를 제공하는 동작
    을 더 포함하는 방법.
  17. 제 12 항에 있어서,
    서버로부터 상기 제 1 지자기 맵과 상기 제 2 지자기 맵을 수신하는 동작
    을 더 포함하는 방법.
  18. 제 12 항에 있어서,
    상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작은,
    상기 선택된 지자기 맵 중 상기 센싱한 지자기 데이터와 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치를, 상기 전자 장치의 위치로 확인하는 방법.
  19. 제 18 항에 있어서,
    상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작은,
    상기 선택된 지자기 맵 중 제 1 시점에서 지자기 센서에서 센싱한 지자기 데이터와 상기 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치를 위치 후보로 판단하는 동작; 및
    상기 선택된 지자기 맵 중 제 2 시점에서 지자기 센서에서 센싱한 지자기 데이터와 상기 임계치 미만의 차이를 가지는 지자기 데이터에 매핑되는 위치와 상기 위치 후보와의 인접 여부에 기초하여, 상기 위치 후보 중 상기 제 1 시점에서의 전자 장치의 위치를 확인하는 동작
    을 포함하는 방법.
  20. 전자 장치를 동작하는 방법에 있어서,
    상기 전자 장치의 고도를 확인하는 동작;
    지자기 데이터를 센싱하는 동작;
    상기 전자 장치의 고도에 대한 정보를 송신하는 동작;
    상기 전자 장치의 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 고도에 대응하는 지자기 맵을 수신하는 동작; 및
    상기 수신된 지자기 맵과 상기 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작
    을 포함하는 방법.
  21. 제 20 항에 있어서,
    상기 전자 장치의 고도의 변경을 검출하는 동작;
    상기 변경된 고도에 대한 정보를 송신하는 동작;
    상기 변경된 고도에 대응하는 영역의 복수 개의 위치별 지자기 데이터를 포함하는, 상기 변경된 고도에 대응하는 지자기 맵을 수신하는 동작; 및
    상기 수신된 지자기 맵과 상기 센싱한 지자기 데이터를 비교하고, 상기 비교 결과를 이용하여 상기 전자 장치의 위치를 제공하는 동작
    을 더 포함하는 방법.
  22. 전자 장치에 있어서,
    영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 1 지자기 맵과, 상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 2 지자기 맵을 저장하는 메모리; 및
    프로세서를 포함하고,
    상기 프로세서는,
    상기 제 1 지자기 맵과 상기 제 2 지자기 맵을 이용하여, 상기 제 1 고도 및 상기 제 2 고도 사이의 제 3 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 3 지자기 맵을 생성하도록 설정된 전자 장치.
  23. 제 22 항에 있어서,
    통신 인터페이스
    를 더 포함하고,
    상기 프로세서는,
    상기 영역에 다른 전자 장치가 진입하는 것을 검출하고,
    상기 통신 인터페이스를 통하여, 상기 다른 전자 장치로, 상기 제 1 지자기 맵, 상기 제 2 지자기 맵 및 상기 제 3 지자기 맵을 송신하도록 설정된 전자 장치.
  24. 제 22 항에 있어서,
    통신 인터페이스
    를 더 포함하고,
    상기 프로세서는,
    상기 통신 인터페이스를 통하여, 다른 전자 장치로부터 다른 전자 장치의 고도에 대한 정보를 수신하고,
    상기 다른 전자 장치의 고도에 대응하는 지자기 맵을, 상기 제 1 지자기 맵, 상기 제 2 지자기 맵 및 상기 제 3 지자기 맵 중에서 선택하고,
    상기 선택된 지자기 맵을, 상기 통신 인터페이스를 통하여, 상기 다른 전자 장치로 송신하도록 설정된 전자 장치.
  25. 제 22 항에 있어서,
    상기 프로세서는,
    상기 제 1 지자기 맵 및 상기 제 2 지자기 맵에 대하여 보간법(interpolation)을 적용하고,
    상기 보간법의 적용 결과를 이용하여 상기 제 3 지자기 맵을 생성하도록 설정된 전자 장치.
  26. 제 25 항에 있어서,
    상기 프로세서는,
    상기 제 1 지자기 맵의 제 1 위치의 지자기 데이터 및 상기 제 2 지자기 맵의 제 1 위치의 지자기 데이터에 대하여 상기 보간법을 적용하고, 상기 보간법의 적용 결과를 이용하여 상기 제 3 지자기 맵의 제 1 위치의 지자기 데이터를 획득하도록 설정된 전자 장치.
  27. 제 26 항에 있어서,
    상기 프로세서는,
    상기 보간법의 적용 결과 및 상기 제 1 지자기 맵의 제 2 위치의 지자기 데이터를 이용하여, 상기 제 3 지자기 맵의 제 1 위치의 지자기 데이터를 획득하도록 설정된 전자 장치.
  28. 전자 장치를 동작하는 방법에 있어서,
    영역의 제 1 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 1 지자기 맵을 획득하는 동작;
    상기 영역의 제 2 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 2 지자기 맵을 획득하는 동작; 및
    상기 제 1 지자기 맵과 상기 제 2 지자기 맵을 이용하여, 상기 제 1 고도 및 상기 제 2 고도 사이의 제 3 고도에서의 복수 개의 위치별 지자기 데이터를 포함하는 제 3 지자기 맵을 생성하는 동작
    을 포함하는 방법.
  29. 제 28 항에 있어서,
    상기 영역에 다른 전자 장치가 진입하는 것을 검출하는 동작; 및
    상기 다른 전자 장치로, 상기 제 1 지자기 맵, 상기 제 2 지자기 맵 및 상기 제 3 지자기 맵을 송신하는 동작
    을 더 포함하는 방법.
  30. 제 28 항에 있어서,
    다른 전자 장치로부터 다른 전자 장치의 고도에 대한 정보를 수신하는 동작;
    상기 다른 전자 장치의 고도에 대응하는 지자기 맵을, 상기 제 1 지자기 맵, 상기 제 2 지자기 맵 및 상기 제 3 지자기 맵 중에서 선택하는 동작; 및
    상기 선택된 지자기 맵을, 상기 다른 전자 장치로 송신하는 동작
    을 더 포함하는 방법.
  31. 제 28 항에 있어서,
    상기 제 3 지자기 맵을 생성하는 동작은,
    상기 제 1 지자기 맵 및 상기 제 2 지자기 맵에 대하여 보간법(interpolation)을 적용하는 동작; 및
    상기 보간법의 적용 결과를 이용하여 상기 제 3 지자기 맵을 생성하는 동작
    을 포함하는 방법.
  32. 제 31 항에 있어서,
    상기 제 3 지자기 맵을 생성하는 동작은,
    상기 제 1 지자기 맵의 제 1 위치의 지자기 데이터 및 상기 제 2 지자기 맵의 제 1 위치의 지자기 데이터에 대하여 상기 보간법을 적용하는 동작; 및
    상기 보간법의 적용 결과를 이용하여 상기 제 3 지자기 맵의 제 1 위치의 지자기 데이터를 획득하는 동작
    을 포함하는 방법.
  33. 제 32 항에 있어서,
    상기 제 3 지자기 맵을 생성하는 동작은,
    상기 보간법의 적용 결과 및 상기 제 1 지자기 맵의 제 2 위치의 지자기 데이터를 이용하여, 상기 제 3 지자기 맵의 제 1 위치의 지자기 데이터를 획득하는 동작
    을 포함하는 방법.









KR1020160022652A 2016-02-25 2016-02-25 위치를 측정하는 전자 장치 및 그 동작 방법 KR20170100281A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160022652A KR20170100281A (ko) 2016-02-25 2016-02-25 위치를 측정하는 전자 장치 및 그 동작 방법
US15/441,203 US20170248424A1 (en) 2016-02-25 2017-02-23 Electronic device for determining position and method for operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160022652A KR20170100281A (ko) 2016-02-25 2016-02-25 위치를 측정하는 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20170100281A true KR20170100281A (ko) 2017-09-04

Family

ID=59678450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160022652A KR20170100281A (ko) 2016-02-25 2016-02-25 위치를 측정하는 전자 장치 및 그 동작 방법

Country Status (2)

Country Link
US (1) US20170248424A1 (ko)
KR (1) KR20170100281A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111879312A (zh) * 2020-07-31 2020-11-03 北京麦钉艾特科技有限公司 一种地磁图在线更新方法
WO2023022311A1 (ko) * 2021-08-19 2023-02-23 고려대학교 산학협력단 실내 측위를 위한 저전력 방안 및 맵 데이터 계층적 분할 로드 방안

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017216425B3 (de) 2017-09-15 2019-01-10 Audi Ag Verfahren zur Ermittlung einer geodätischen Positionsinformation eines Kraftfahrzeugs und Kraftfahrzeug
CN114510596B (zh) * 2022-04-21 2022-08-23 浙江力嘉电子科技有限公司 一种救援出警方法、装置、电子设备和可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1766332A4 (en) * 2004-06-02 2010-03-03 Athena Technologies Inc SYSTEMS AND METHODS FOR EVALUATING THE POSITION, ATTITUDE AND / OR CAP OF A VEHICLE
US8776418B1 (en) * 2010-09-30 2014-07-15 Fitbit, Inc. Interchangeable cases for biometric monitoring devices
CN103370601B (zh) * 2011-02-18 2018-01-23 索尼移动通信株式会社 确定海拔的系统和方法
US9599632B2 (en) * 2012-06-22 2017-03-21 Fitbit, Inc. Fitness monitoring device with altimeter
KR101957750B1 (ko) * 2012-11-26 2019-03-14 삼성전자주식회사 3차원 자기장 지도에 기초하여 생성된 입자 필터를 이용하여 위치를 추정하는 이동 단말 및 그 장치를 이용한 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111879312A (zh) * 2020-07-31 2020-11-03 北京麦钉艾特科技有限公司 一种地磁图在线更新方法
WO2023022311A1 (ko) * 2021-08-19 2023-02-23 고려대학교 산학협력단 실내 측위를 위한 저전력 방안 및 맵 데이터 계층적 분할 로드 방안

Also Published As

Publication number Publication date
US20170248424A1 (en) 2017-08-31

Similar Documents

Publication Publication Date Title
KR20170017591A (ko) 경로 정보 제공 방법 및 그 방법을 처리하는 전자 장치
KR20160105242A (ko) 스크린 미러링 서비스 제공장치 및 방법
KR102324964B1 (ko) 외부 입력 장치의 입력을 처리하는 전자 장치 및 방법
KR20170071960A (ko) 전자 장치의 사용자 인터페이스 제공 방법 및 장치
KR20160101600A (ko) 스크린 미러링 서비스 제공방법 및 장치
KR20160123892A (ko) 전자 장치 및 전자 장치에서 적어도 하나의 페어링 대상을 식별하는 방법
KR20170010638A (ko) 신호를 측정하는 방법 및 그 전자 장치
CN108761513B (zh) 定位方法、电子设备和存储介质
KR20170019806A (ko) 위치 정보 제공 방법 및 장치
KR20160071139A (ko) 시선 캘리브레이션 방법 및 그 전자 장치
KR20160124536A (ko) 사용자 인터페이스를 제공하는 방법 및 전자장치
KR20150135072A (ko) 실내 또는 실외에 배치되는지 여부를 판단하는 전자 장치 및 그 제어 방법
KR20170088559A (ko) 전자 장치 및 전자 장치의 관심 지점 정보 업데이트 방법
KR102240719B1 (ko) 위치 정보 획득 방법 및 그 전자 장치
KR20160101533A (ko) 지오펜스 설정 방법 및 그 전자 장치
KR20170054746A (ko) 컨텐츠와 연관된 영역 선택 방법 및 전자장치
US20170248424A1 (en) Electronic device for determining position and method for operating the same
US20190349562A1 (en) Method for providing interface for acquiring image of subject, and electronic device
KR20170052984A (ko) 사용자의 위치를 결정하는 전자 장치 및 그 제어 방법
KR102498362B1 (ko) 위치 정보 계산 방법 및 그 전자 장치
KR20160136928A (ko) 전자 장치의 지자계 센서 정보를 보정하는 방법 및 이를 사용하는 전자 장치
KR20160042629A (ko) 전자 장치 및 전자 장치에서의 속도 측정 방법
US10292107B2 (en) Electronic device and method for providing route information
KR20170086806A (ko) 전자 장치 및 그의 터치 입력 인식 방법
KR20160111268A (ko) 모션 인식 서비스 제공 방법 및 그 전자 장치