KR102022668B1 - 랜드마크 위치 결정 - Google Patents
랜드마크 위치 결정 Download PDFInfo
- Publication number
- KR102022668B1 KR102022668B1 KR1020187016929A KR20187016929A KR102022668B1 KR 102022668 B1 KR102022668 B1 KR 102022668B1 KR 1020187016929 A KR1020187016929 A KR 1020187016929A KR 20187016929 A KR20187016929 A KR 20187016929A KR 102022668 B1 KR102022668 B1 KR 102022668B1
- Authority
- KR
- South Korea
- Prior art keywords
- landmark
- map
- trajectory data
- data
- trajectory
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/14—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by recording the course traversed by the object
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
- H04W4/026—Services making use of location information using location based information parameters using orientation information, e.g. compass
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
- H04W4/027—Services making use of location information using location based information parameters using movement velocity, acceleration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/33—Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
한 양태에서, 맵을 사용하여 랜드마크의 위치를 결정하는 방법이 기술된다. 한 영역에서 장치의 이동을 나타내는 궤적 데이터가 획득된다. 그 궤적 데이터는 랜드마크를 나타낸다. 그 영역의 맵이 얻어진다. 궤적 데이터의 적어도 일부가 맵의 적어도 일부와 비교 및/또는 매칭된다. 매칭에 기반하여 랜드마크의 위치가 맵 상에서 결정된다. 다양한 구현예들이 상기 방법에 관한 시스템, 장치 및 소프트웨어를 포함한다.
Description
예시적 실시예들의 양태는 일반적으로 장소, 객체 및 영역의 위치를 결정하기 위한 기술에 관한 것이다. 본 발명의 다양한 실시예들은 지도를 이용하여 랜드마크의 위치를 결정하는 것을 포함한다.
야외 영역의 맵(지도)을 제공하는 많은 대중적인 응용 애플리케이션들이 있다. 구글 맵과 같은 매핑 프로그램(mapping program)은 예컨대, 도시의 거리나 빌딩들의 위치를 알려준다. 옥내 위치(indoor location), 예를 들어 쇼핑몰이나 도서관 같은 빌딩의 층별안내도를 매핑하는 애플리케이션이 있는 것 역시 바람직할 것이다. 수많은 다양한 실내 환경들이 존재하므로, 가령 그 영역을 지나가는 사용자들이 소지한 모바일 장치들의 이동에 기반하여 실내 영역에 대한 정확한 맵이 자동으로 생성될 수 있다면 특히 유용할 것이다. 그러나 그러한 시스템을 개발하는 것은 어려운 일이다. 예를 들어, 어떤 방식은 보행자 추측 항법(Pedestrian Dead Reckoning: PDR)이라 불려지는 시스템의 이용을 수반한다. PDR에서 모바일 장치는 장치가 이동한 거리 및 장치가 수행한 방향 전환을 추적한다. 그러면 모바일 장치에 의해 기록된 방향 및 거리의 변화에 기반하여 맵이 생성될 수 있다. 그러나 모바일 장치는 보통 그러한 변화를 완벽하게 기록할 수 없으므로, 시간이 지나면서 오류가 기하급수적으로 증가되는 결과를 가져온다. 따라서, 실내 매핑 시스템의 정확성을 향상시키기 위한 노력이 진행중이다.
한 양태에서, 맵을 사용하여 랜드마크의 위치를 결정하는 방법이 기술된다. 한 영역에서 장치의 이동을 나타내는 궤적 데이터가 획득된다. 궤적 데이터는 랜드마크를 나타낸다. 그 영역의 맵이 획득된다. 궤적 데이터의 적어도 일부가 맵의 적어도 일부와 비교 및/또는 매칭된다. 매칭에 기반하여 맵 상에서 랜드마크의 위치가 결정된다. 다양한 구현예들이 상기 방법에 관한 시스템, 장치 및 소프트웨어를 포함한다.
첨부된 도면과 연계한 이하의 내용을 참조함으로써 본 발명과 그 효과에 대한 이해가 극대화될 수 있다.
도 1은 본 발명의 특정 실시예에 따른 통신 시스템의 블록도이다.
도 2a-2b는 본 발명의 특정 실시예에 따라 맵 상에서 랜드마크의 위치를 결정하는 방법을 도시한 흐름도이다.
도 3은 본 발명의 특정 실시예에 따른 궤적 데이터에 대한 도면이다.
도 4는 본 발명의 특정 실시예에 따른 벡터 맵(vector map)에 대한 도면이다.
도 5는 본 발명의 특정 실시예에 따른 그래픽 맵(graphical map)에 대한 도면이다.
도 6은 본 발명의 특정 실시예에 따른 세그먼트 기반 매칭(segment-based matching) 방법을 도시한 흐름도이다.
도 7a-7c은 본 발명의 특정 실시예에 따른 세그먼트 기반 매칭 동작의 단계들을 도시한 도면들이다.
도 8은 본 발명의 특정 실시예에 따른 시퀀스 기반 매칭 방법을 도시한 흐름도이다.
도 9a-9b는 본 발명의 특정 실시예에 따른 시퀀스 기반 매칭 동작의 단계들을 도시한 도면들이다.
도 10은 본 발명의 특정 실시예에 따른 와이파이 피크(WiFi-peak) 기반 매칭 방법을 도시한 흐름도이다.
도 11a-11d는 본 발명의 특정 실시예에 따른 와이파이 피크 기반 매칭 동작의 단계들을 도시한 도면들이다.
도 12는 본 발명의 특정 실시예에 따른 랜드마크 위치의 조정을 도시한 도면이다.
도 13은 본 발명의 특정 실시예에 따른 서버의 블록도이다.
도 14는 본 발명의 특정 실시예에 따른 장치의 블록도이다.
도 1은 본 발명의 특정 실시예에 따른 통신 시스템의 블록도이다.
도 2a-2b는 본 발명의 특정 실시예에 따라 맵 상에서 랜드마크의 위치를 결정하는 방법을 도시한 흐름도이다.
도 3은 본 발명의 특정 실시예에 따른 궤적 데이터에 대한 도면이다.
도 4는 본 발명의 특정 실시예에 따른 벡터 맵(vector map)에 대한 도면이다.
도 5는 본 발명의 특정 실시예에 따른 그래픽 맵(graphical map)에 대한 도면이다.
도 6은 본 발명의 특정 실시예에 따른 세그먼트 기반 매칭(segment-based matching) 방법을 도시한 흐름도이다.
도 7a-7c은 본 발명의 특정 실시예에 따른 세그먼트 기반 매칭 동작의 단계들을 도시한 도면들이다.
도 8은 본 발명의 특정 실시예에 따른 시퀀스 기반 매칭 방법을 도시한 흐름도이다.
도 9a-9b는 본 발명의 특정 실시예에 따른 시퀀스 기반 매칭 동작의 단계들을 도시한 도면들이다.
도 10은 본 발명의 특정 실시예에 따른 와이파이 피크(WiFi-peak) 기반 매칭 방법을 도시한 흐름도이다.
도 11a-11d는 본 발명의 특정 실시예에 따른 와이파이 피크 기반 매칭 동작의 단계들을 도시한 도면들이다.
도 12는 본 발명의 특정 실시예에 따른 랜드마크 위치의 조정을 도시한 도면이다.
도 13은 본 발명의 특정 실시예에 따른 서버의 블록도이다.
도 14는 본 발명의 특정 실시예에 따른 장치의 블록도이다.
한 양태에서, 맵을 사용하여 랜드마크의 위치를 결정하는 방법이 기술된다. 한 영역에서 장치의 이동을 나타내는 궤적 데이터가 획득된다. 그 궤적 데이터가 랜드마크를 나타낸다. 그 영역의 맵이 얻어진다. 궤적 데이터의 적어도 일부가 맵의 적어도 일부와 비교 및/또는 매칭된다. 매칭에 기반하여 맵 상에서 랜드마크의 위치가 결정된다. 다양한 구현예들이 상기 방법에 관한 시스템, 장치 및 소프트웨어를 포함한다.
상기 방법은 하나 이상의 장치들로부터 다수의 궤적 데이터 집합을 획득하되, 각각의 궤적 데이터 집합은 해당 영역에서의 장치의 이동을 나타내는 단계, 각각의 궤적 데이터 집합마다, 상기 궤적 데이터 집합이 랜드마크를 포함하는지 여부를 판단하는 단계, 상기 판단에 기반하여 랜드마크를 포함하지 않는 궤적 데이터 집합들 중 하나 이상을 선택하는 단계, 및 상기 선택된 하나 이상의 궤적 데이터의 집합을 이용하여 맵 생성을 지원하는 단계를 더 포함한다.
예시적 실시예의 한 양태에 따르면, 유형의 형태로 실시되는 실행가능 컴퓨터 코드를 포함하는 컴퓨터 판독가능 매체가 제공되고, 상기 컴퓨터 판독가능 매체는 한 영역에서의 장치의 이동을 나타내는 제1궤적 데이터를 획득하도록 운용가능한 실행가능 컴퓨터 코드를 포함한다. 상기 제1궤적 데이터는 제1랜드마크를 나타낸다. 상기 컴퓨터 판독가능 매체는 상기 영역의 맵을 획득하도록 운용가능한 실행가능 컴퓨터 코드를 더 포함한다. 상기 맵은 경로 레이아웃(pathway layout)을 나타낸다. 상기 컴퓨터 판독가능 매체는 상기 제1궤적 데이터의 적어도 일부를 상기 경로 레이아웃의 적어도 일부와 매칭하도록 운용가능한 실행가능 컴퓨터 코드를 더 포함한다. 그리고 상기 컴퓨터 판독가능 매체는 상기 매칭에 기반하여, 상기 경로 레이아웃을 변경하지 않고 상기 맵 상에서 상기 제1랜드마크의 위치를 결정하도록 운용가능한 실행가능 컴퓨터 코드를 더 포함한다.
상기 컴퓨터 판독가능 저장 매체는 제2랜드마크를 나타내는 제2궤적 데이터를 획득하고, 거리 및 주변 신호 지문 데이터에 기반하여 상기 제1 및 제2랜드마크들을 비교하고, 상기 비교결과에 기반하여 상기 맵 상에서 상기 제1랜드마크의 위치를 조정하도록 운용가능한 실행가능 컴퓨터 코드를 더 포함한다.
상기 컴퓨터 판독가능 저장 매체는 상기 장치가 소정 빈도 이상 방향을 바꾸었거나 소정 속도 미만으로 이동했다는 것을 나타내는 상기 제1궤적 데이터의 일부를 식별하고, 상기 식별된 제1궤적 데이터의 일부가 상기 제1랜드마크를 나타낸다고 판단하도록 운용가능한 실행가능 컴퓨터 코드를 더 포함한다.
상기 컴퓨터 판독가능 매체는 상기 제1궤적 데이터에서 하나 이상의 세그먼트들을 선택하도록 운용가능한 실행가능 컴퓨터 코드를 더 포함한다. 상기 하나 이상의 세그먼트들은 상기 제1궤적 데이터의 전체가 아닌 일부를 나타낸다. 상기 하나 이상의 세그먼트들은 상기 제1궤적 데이터 내 상기 제1랜드마크 위치의 소정 거리 안에 있다. 그리고 상기 컴퓨터 판독가능 매체는 상기 하나 이상의 세그먼트들을 상기 경로 레이아웃의 적어도 일부에 매칭하도록 운용가능한 실행가능 컴퓨터 코드를 더 포함한다.
제1궤적 데이터는 상기 제1궤적 데이터의 시작점에서 상기 제1랜드마크의 시작점까지 이어지는 지점들의 제1시퀀스, 및 상기 제1궤적 데이터의 종점에서 상기 제1랜드마크의 종점까지 이어지는 지점들의 제2시퀀스를 포함한다. 그리고 상기 컴퓨터 판독가능 매체는 상기 제1 및 제2시퀀스들을 상기 경로 레이아웃의 적어도 일부에 매칭하도록 운용가능한 실행가능 컴퓨터 코드를 더 포함한다.
예시적 실시예들의 양태는 기존의 맵을 사용하여 랜드마크의 위치를 결정하는 시스템 및 프로세스에 관한 것이다. 배경기술에서 논의된 바와 같이, 정확한 실내 매핑 애플리케이션의 개발은 어려운 일이다. 한 가지 방법은 특정 영역(가령, 쇼핑몰)에서 이동하는 여러 모바일 장치들로부터 궤적 데이터(가령, PDR 데이터)를 수집하는 것이다. 궤적 데이터는 사용자가 여러 랜드마크들(가령, 상점, 룸 등)을 방문하기 때문에 비롯되는 구불구불한 복잡한 경로들을 나타낼 수 있다. 그런 다음 궤적 데이터가 분석되어 복도들, 통로들, 문들, 방들, 상점들, 교차로들 및 기타 랜드마크들의 위치를 알려주는 맵을 결정한다.
이러한 방식의 한 가지 문제점은, PDR 데이터를 사용하여 전체 맵과 랜드마크들이 동시에 생성될 때, 어쩔 수 없이 오류의 위험이 있다는 데 있다. 대신, 기존 맵의 다른 다양한 특징들(가령, 통로 및 교차로들의 위치)을 조정하거나 판단하지 않고도, 궤적 데이터를 기존 맵에 매칭하고, 그러한 매칭을 이용하여 기존 맵의 맥락 안에서 랜드마크의 위치를 결정하는 것이 바람직하다고 판단되어 왔다. 그에 따라 이하에 기술되는 실시예들 중 일부는 맵의 다른 양태들은 조정하지 않으면서 랜드마크의 위치를 결정하는 방식들에 관한 것이다.
먼저, 도 1을 참조하여, 본 발명의 특정 실시예에 따른 통신 시스템(100)이 기술될 것이다. 상기 시스템은 여러 장치들(104)과 서버(110)를 포함한다. 장치들(104) 및 서버(110)는 하나 이상의 네트워크(108)를 이용하여 서로 통신한다.
어떤 적합한 네트워크(108)가 사용되어 장치들(104)과 서버(110)를 연결할 수 있다. 다양한 실시예들에서, 네트워크(108)는 CDMA나 GSM에 기반하는 셀룰라 네트워크, 인터넷 또는 어떤 다른 적절한 프로토콜이나 어떤 다른 통신 네트워크를 포함하나 그에 국한되지 않는다.
이 예에서, 사용자는 빌딩, 쇼핑몰 등과 같은 실내 영역 안에 장치(104)를 휴대해 들어간다. 일부 실시예에서, 상기 영역은 (부분적으로) 실외, 가령 야외 쇼핑몰 단지이다. 사용자 장치가 그 영역을 이동하면서, 장치는 사용자가 이동하는 방향 및 거리를 나타내는 궤적 데이터(trajectory data)를 기록한다. 궤적 데이터는 사용자가 다른 곳에 비해 한 장소에서 시간을 더 보냈는지, 또는 지속된 시간 동안 특정 위치(가령, 룸이나 상점)를 둘러 보았는지 여부를 또한 나타낸다.
궤적 데이터는 네트워크(108)를 통해 서버(110)로 업로드된다. 도시된 실시예에서, 서버(110)가 그 궤적 데이터를 분석하여, 사용자가 랜드마크에 접근했거나 접촉했다는 것을 판단한다. 랜드마크는 해당 영역 내 어떤 관심물 또는 관심지이다. 예로서, 랜드마크는 문, 엘리베이터, 입구, 출구, 상점, 룸, 분수대, 계단, 장치, 서비스 제공자 등을 포함할 수 있으나 반드시 그에 국한되는 것은 아니다. 다양한 실시예들에서 랜드마크는 경로나 경로 레이아웃과는 전혀 다른 것으로 파악된다, 즉 랜드마크는 복도, 길, 통로, 루트 및/또는 기타, 사용자에게 같은 층의 한 장소에서 다른 장소로 이동할 수 있게 하는 것이 주 목적인 구조가 아니다.
서버(110)는 광범위한 처리 및 분석 기법을 이용하여 궤적 데이터 내 랜드마크의 존재 및 위치를 결정할 수 있다. 예를 들어, 미국 특허 출원 제14/459,054에서 논의된 기법들 중 하나가 사용될 수 있다. (이 출원- 지금부터 ’054’ 출원이라 칭함-은 모든 면에서 그 전체가 참조의 형식으로 이 명세서에 포함된다).
이 예에서, 서버(110)는 경로 레이아웃을 포함하는 맵을 또한 저장한다. 맵은 해당 영역을 나타내는 어떤 적절한 구조, 정보, 다이어그램 또는 데이터일 수 있다. 경로 레이아웃은 하나 이상의 교차로들(즉, 둘 이상의 경로들이 만나는 영역 또는 지점들)에 의해 연결되는 루트들이나 경로들을 나타낸다. 맵은 본 출원에서 나중에 개시되는 바와 같이 광범위한 방식으로(가령, 데이터 구조를 이용하거나, 알고리즘적으로, 또는 비트맵 이미지를 이용하는 등) 생성될 수 있다. 일부 실시예들에서, 경로 레이아웃은 여러 모바일 장치들 및 사용자들로부터 시간의 경과에 따라 크라우드소싱된(crowdsourced) 데이터로부터 도출되며, 그에 따라 상대적으로 정확하다고 간주된다.
서버(110)가 궤적 데이터 및/또는 랜드마크를 분석하고, 저장된 맵의 맥락(context) 안에서 그 위치를 결정한다. 광범위한 매칭 기법들이 사용되어 맵 상에서 랜드마크의 위치를 결정하고/하거나 랜드마크를 배치할 수 있다. 어떤 기법들은 예를 들면, 세그먼트 기반, 시퀀스 기반이고/이거나 입자 필터(particle filter)의 사용을 수반할 수 있다. 다양한 기법들이 본 출원에서 이후 보다 상세히 논의될 것이다.
다양한 방식들은 랜드마크 위치 결정 프로세스의 효율 및 정확도를 개선한다. 예를 들어 일부 구현예에서, 맵의 경로 레이아웃을 구축하는데 사용되는 프로세스는 맵 내 랜드마크의 위치를 결정하는데 사용되는 것과 다른 별개의 것이다. 다르게 표현하면, 상술한 궤적 데이터는 기존 맵 상의 랜드마크의 위치를 결정하는데 사용되며, 동시에 그 맵 상의 경로들 및 루트들의 적절한 위치들을 판단하기 위해 사용되지는 않는다. 기존 맵이 상당히 정확하다고 전제할 때, 그러한 집중은 랜드마크의 위치가 상대적으로 신속하고 보다 적은 부담을 가지고 결정되게 할 수 있다.
이어서 도 2a 및 2b를 참조하여, 본 발명의 특정 실시예에 따라 맵을 이용하여 랜드마크의 위치를 결정하는 방법(200)이 기술된다. 처음으로, 단계 205에서 장치(104) 및/또는 서버(110)가 궤적 데이터를 획득한다.
궤적 데이터는 시간에 따른 장치(104)의 위치 변화 또는 이동을 나타내는 것을 돕는 어떤 데이터이다. 궤적 데이터를 생성하기 위해 다양한 기술들이 사용될 수 있다. 예로서, 실외 응용예들로서 GPS 데이터가 그러한 정보를 제공하기 위해 사용될 수 있다. 실내 응용예들로서는, 보행자 추측항법(PDR)이 궤적 데이터를 생성하는데 사용될 수 있다. PDR의 다양한 구현예들은 장치(104a)가 특정 기준점으로부터 얼마나 멀리 및/또는 어느 방향으로 이동하였는지를 판단하기 위해 장치(104)의 나침반, 가속계 및/또는 기타 센서의 이용을 수반한다. 그러면 새로운 위치가 추정되어 다음 이동의 기준점으로 사용된다.
일부 실시예에서, 궤적 데이터는 한 경로(trace)을 이룰 수 있는 복수의 지점들을 가리킨다. 경로의 형태는 일반적으로, 해당 영역 안에서 장치가 따라간 물리적 경로를 윤곽짓거나 가리킬 수 있다. 그러한 궤적 데이터 경로(trajectory data trace)의 한 예가 도 3에 도시된다. 각각의 지점(가령, 예로 든 궤적 데이터(300) 내 각각의 단속선(dash))은 타임스탬프 및 위치(가령, xy 좌표 한 쌍)와 연관된다.경로 내 각각의 지점은 서로 다른 물리적 위치와 연관되며, 순차적 지점들은 장치(104) 및 장치 사용자의 시간에 따른 연속적인 위치 변화를 나타낸다.
다양한 실시예들에서, 장치(104)가 지점들 중 하나로 표현되는 물리적 위치에 있을 때, 자신의 센서들을 사용하여 주변 신호들을 획득하거나 검출한다. 주변 신호는 장치(104)에 의해 검출될 수 있는 모든 유형의 신호나 환경 계수(파라미터)이다. 예로서, 장치(104a)는 와이파이나 블루투스 신호들과 같은 어떤 적절한 유형의 무선 주파수(RF) 신호를 검출할 수 있다. 장치(104)는 장치를 둘러싼 환경의 빛, 소리, 온도, 이미지, 자계 또는 어떤 다른 특징의 변화를 나타내는 주변 신호들을 또한 검출할 수 있다. 상기 신호들의 검출 및 측정을 돕기 위해, 장치(104)는 자력계, 시각적 센서, 카메라, 온도 센서, 오디오 센서, 및 광 센서와 같은 센서들을 포함할 수 있다.
장치(104)는 특정한 물리적 위치에 있을 때의 시점에 상기 신호들 중 어느 하나의 세기, 강도 및/또는 특징을 나타내는 데이터를 저장하도록 되어 있다. 그 데이터를 여기서는 주변 신호 지문 데이터(ambient signal fingerprint data)라 칭한다. 다양한 실시예들에서, 장치(104a)는 주변 신호 지문 데이터를, 그 데이터가 획득되었던 근사 시간(approximate time) 및/또는 장치(104)가 관련된 물리적 위치에 있을 때를 나타내는 타임스탬프와 함께, 여러 물리적 위치들 중 각각의 위치(가령, 도 3의 경로(300) 내 각각의 개별 지점)과 연관시킨다.
주변 신호 지문 데이터는 다양한 형태를 취할 수 있다. 예로서, RF 데이터가 수집되는 경우, 그 RF 데이터는 장치(104)에서 하나 이상의 액세스 지점들이나 전송 장치들로부터 수신한 신호들의 세기를 나타낼 수 있다. 예를 들어, 와이파이의 경우, 장치(104)는 해당 영역 내 여러 와이파이 액세스 지점들, 예컨대 AP1부터 APn (n은 임의의 정수)에 대한 수신 신호 세기 지시(RSSI) 데이터를 획득할 수 있으며, RSSI 데이터는 {AP1: RSSI for signals from AP1(AP1으로부터의 신호에 대한 RSSI), AP2: RSSI for signals from AP2(AP2로부터의 신호에 대한 RSSI), … APn: RSSI for signals received from Apn(APn으로부터 수신된 신호에 대한 RSSI)} 형식을 취할 수 있다.
다양한 실시예들에서, 장치(104)가 궤적 데이터(상술한 주변 신호 지문 데이터 포함)를 획득하면, 장치는 그 궤적 데이터를 서버(110)로 업로드한다. 서버(110)는 궤적 데이터를 저장 및 분석한다. 단계 207에서, 서버(110)는 궤적 데이터 내 랜드마크를 식별한다.
서버(110)는 어떤 적절한 기법을 이용하여 랜드마크의 존재를 판단할 수 있다. 일부 실시예들에서, 예컨대, 랜드마크의 존재는 궤적 데이터에 의해 형성된 궤적에서 검출된 패턴에 기반하여 판단된다. 예를 들어 도 3에 도시된 예에서, 랜드마크는 궤적 데이터(300)가 지시하는, 장치(104)의 속도 및 방향 변화 판단에 기반하여 결정된다. 도 3에서, 경로에서의 영역(305)은 사용자가 촘촘한 원을 그리며 이동했고/했거나 좁은 영역 안에서 자신의 속도를 크게 줄였다는 것을 나타내는 것으로 보여지는데, 이는 영역(305)이 룸이나 상점 등의 랜드마크 위치를 의미하는 것으로 파악된다. 예로서, 서버(110)는 ‘054 출원에 기술된 어떤 적절한 기법을 이용하여 궤적 데이터 내 랜드마크의 존재를 판단할 수 있다.
다시 도 2를 참조하면, 단계 210에서 서버(100)는 영역의 맵을 획득한다. 이 맵은 영역 내 위치들을 가리키는 어떤 도형, 구조, 이미지 및/또는 데이터일 수 있다. 맵은 여러 형태를 취할 수 있다. 일부 실시예에서, 예컨대 맵은 서버(110)에 저장되어 경로 레이아웃을 가리키는 데이터 구조이다. 맵 데이터 구조는 경로 레이아웃 안의 지점, 경로, 노드 및/또는 세그먼트를 주변 신호 지문 데이터와 연관시킨다.
그러한 맵의 예가 도 4에 도시된다. 도 4는 벡터 맵(400)에 대한 도면이다. 벡터는 컴퓨터 상에서 그래픽 데이터를 저장 및 조작하기 위한 기본 데이터 구조이다. 벡터 맵은 노드들, 세그먼트들 및/또는 다각형들을 포함하는 맵이다. 맵(400)은 노드들(410) 및 세그먼트들(405)의 형식으로 된 경로 레이아웃을 포함한다. 이 예에서, 각각의 세그먼트(405)는 (실질적으로) 직선 경로를 나타낸다. 각각의 노드(410)는 교차로, 코너, 또는 둘 이상의 경로가 만나는 기타 위치를 나타낸다. 세그먼트는 두 노드들을 연결할 수 있으며, 따라서 사용자가 제1노드로 표현된 물리적 위치와 제2 노드로 표현된 물리적 위치 사이의 일반적인 직선 경로를 따라갈 수 있음을 나타낸다. 세그먼트들(405)과 노드들(410)이 연결되어, 사용자가 특정 영역을 돌아다니기 위해 지나갈 수 있는 루트들을 윤곽짓거나 나타내는 망을 형성한다. 이 예에서 그러한 영역은 세그먼트들로 표현되는 복도/통로들이 있는 쇼핑몰이다. 상기 맵이 도 4와 유사한 시각적 형태를 취할 필요는 없으며 동일하거나 유사한 정보 및 관련사항들을 나타내는 임의의 데이터 구조나 정보일 수 있다는 것을 예상할 수 있을 것이다.
상기 맵의 여러 부분들이 추가 데이터와 연관될 수 있다. 도시된 실시예에서, 예를 들어, 각각의 노드(410) 및 세그먼트(405)는 고유한 ID와 결부된다. 각각의 세그먼트는 여러 지점들로 이루어진다(가령, 도시된 예들에서 실제 구현예들에서는 세그먼트 당 더 많거나 더 적은 지점들이 있을 수 있지만, 한 세그먼트 내 각각의 단속선(dash)이 독립된 지점(separate point)이라고 간주될 수 있다.).궤적 데이터와 관련하여 앞서 논의된 바와 같이(가령, 단계 205), 이들 지점들 각각은 물리적 위치를 나타내며, 주변 신호 지문 데이터, 타임스탬프 및/또는 어떤 다른 적절한 유형의 위치 관련 데이터와 연관된다.
서버(110)가 단계 210에서 획득할 수 있는 맵 유형의 또 다른 예가 도 5에 도시된다. 도 5는 그래픽 맵(500)에 대한 도면이다. 맵(500)은 임의 유형의 시각적 맵 표현일 수 있고, 임의의 이미지 포맷, 가령, 래스터(raster) 맵, 맵의 하드 카피 스캐닝으로부터 도출된 이미지 파일로 저장될 수 있다. 이러한 특정 예에서, 맵(500)은 다양한 교차점들에서 만나는 복도/통로(505)를 포함한다. 다수의 빌딩들(510) 또한 도시된다.
단계 210에서 얻어지는 맵은 다양한 방식으로 생성될 수 있다. 어떤 방식에서는 서버(110)(또는 다른 장치)가 그래픽 맵(가령, 도 5의 맵(500))으로부터 맵 데이터 구조(가령, 도 4의 벡터 맵(400))을 도출한다. 이것은 그래픽 맵의 스캐닝, 루트/통로/복도 및 교차점들의 위치 결정, 및 이들을 경로 레이아웃으로(가령, 세그먼트들 및 노드들 각각으로) 변환하는 것을 수반할 수 있다. 또 다른 실시예들에서 서버(110)는 (가령, 도 4-5의 맵들(400 및 500)의 경우에서처럼) 같은 영역에 대한 벡터 맵 및 그래픽 맵을 획득한다. 벡터 맵의 양상(가령, 노드들과 세그먼트들의 정렬 및 위치)은 그래픽 맵에 대한 분석에 기반하여 정정된다. 그러한 동작을 수행하기 위해 어떤 적절한 기법이 사용될 수 있다.
어떤 방식들에서는 맵이, 특정 영역을 지나던 여러 장치들 및/또는 사용자들로부터 크라우드소싱되는 궤적 데이터에 기반하여 생성된다. 이 맵은, 예컨대, 각각이 여러 면에서 그 전체가 참조의 형태로 포함되는 공동 양수인의 미국 특허출원 제14/571,166; 제14/574,194; 및 제14/549,054에 기술된 어떤 기법을 이용하여 생성된다.일부 실시예에서, 이 맵은 미국 특허 출원 제14/571,166에 기재된 바와 같이 링크된 노드 구조이다.
일부 실시예에서, 맵의 정확도를 향상시키기 위해 여러 단계들이 취해진다. 어떤 방식들에서는 예컨대, 맵이 제한된 수만의 랜드마크들 또는 랜드마크가 없음을 나타내는 선택된 궤적 데이터만을 이용하여 생성된다. 많은 랜드마크들을 나타내는 궤적 데이터는 원을 그리며 이동하거나 상점, 룸, 및 기타 특징들을 둘러보면서 자신들의 이동 속도를 빈번하게 조정하는 사용자들 및 장치들과 연관될 수 있다. 그에 따른 궤적 데이터는 종종 오류에 더 취약할 수 있다. 그 결과, 맵을 생성하는데 사용되는 궤적 데이터의 유형들이 선택적인 것이 바람직할 수 있다.
맵 생성을 위한 예시적 방법이 다음과 같이 기술될 수 있다. 먼저, 서버(110)가 여러 사용자들 및/또는 장치들로부터 특정 영역에서의 장치 이동을 나타내는 궤적 데이터 후보 집합들을 획득한다. (이 예에서, 각각의 궤적 데이터 후보 집합은 특정 기간 동안 하나의 장치의 물리적인 이동을 나타낸다). 서버(110)는 궤적 데이터 집합들을 분석하고, 각각이 랜드마크를 나타내지 않고/않거나 소정 랜드마크 개수보다 적은 (가령, 2, 3, 4, 또는 5 개의 랜드마크들 미만의) 랜드마크만을 나타내고/나타내거나 보다 적은 방향 전환과 보다 많은 직선을 나타내는 특정 궤적 데이터 집합들만을 선택한다. 랜드마크 검출 단계(단계 207)로부터의 결과를 적용 후, 궤적을 복도 부분들과 랜드마크 부분들로 분할하는 것이 적절하다. 복도 맵(즉, 랜드마크가 사용되지 않음을 나타내는 궤적 데이터 부분들)을 생성하기 위해 궤적의 복도 부분들만 사용된다. 다양한 실시예들에서 서버(110)는 단계 207에 기술된 기법들을 사용하여 각각의 궤적 데이터 후보 집합 내 랜드마크들의 개수 및/또는 존재를 검출한다. 그런다음 서버(110)는 선택된 궤적 데이터 집합들을 사용하여 맵을 생성한다(가령, 본 출원이나 공동 양수인의 출원들에 기재된 상술한 기법들 중 어느 하나를 이용함). 다르게 표현하면, 궤적 데이터는 맵 요소들(가령, 세그먼트들, 노드들, 경로들, 루트들, 교차점들, 주변 신호 지문 데이터 등)의 위치 및 특징을 판단하는데 사용된다. 상기 프로세스는 반복될 수 있다. 즉, 새 궤적 데이터 후보 집합들이 사용될 수 있고, 그에 따라 맵/경로 레이아웃이 추가로 조정될 수 있다.
다양한 구현예들에서, 이러한 프로세스는 맵 요소들의 위치/특징이 소정 기준 이상으로 더 이상 변하지 않을 때까지 계속된다. 예로서 벡터 맵이 사용되는 경우, 그 기준은 다음과 같은 규칙들로 이뤄진다: a. 각각의 라운드에서 생성된 벡터 맵에 있어서, 노드들이나 세그먼트들과 같이 새로 추가되는 복도 구조들은 존재하지 않는다; b. 복도 맵 상의 각각의 노드에 있어서, 그 위치들이 어떤 작은 문턱치 이상으로 업데이트되지 않는다; c. 복도 맵 상의 각각의 세그먼트에 있어서, 그 길이가 어떤 작은 문턱치 이상으로 업데이트되지 않는다. 이때 맵은 합리적 수준의 정확도를 가진 것으로 전제한다. 다양한 구현예들에서, 결과적 맵은 어떤 랜드마크들도 나타내지 않으며, 상기 프로세스는 어떠한 랜드마크의 위치 판단에도 사용되지 않는다. 그러나 가령 단계 220 및 225에 논의되는 것과 같이, 하나 이상의 랜드마크들이 추후 추가될 수 있다
도 2의 방법(200)을 다시 참조하면, 단계 215에서 서버(110)는 궤적 데이터를 맵과 매칭한다. 다르게 표현하면, 서버(110)는 궤적 데이터의 적어도 일부분을 맵에서 표시된 경로 레이아웃의 일부분과 매칭 및/또는 비교하여, 그들이 동일한 물리적 위치에 해당하고 있는지를 판단한다. 예를 들어, 궤적 데이터 (및 그 관련 주변 신호 지문 데이터)에 의해 정의되는 경로의 세그먼트가 맵 (및 그 관련 주변 신호 지문 데이터)의 세그먼트와 비교되어, 이들이 동일한 복도, 통로, 또는 경로를 나타내고 있는지를 확인한다. 궤적 데이터의 하나 이상의 부분들 및 맵의 하나 이상의 부분들에 대해 이러한 비교가 수차례 반복된다.
상기 매칭을 수행하기 위해 어떤 적절한 기법이 사용될 수 있다. 일부 실시예에서, 예컨대 궤적 데이터 내 지점들에 대한 주변 신호 지문 데이터가 맵 내 지점들에 대한 지문 데이터와 비교된다. 지문 데이터가 충분히 유사하다는 것이 확인되면(가령, 궤적 데이터 및 맵 내에서 충분한 수의 지점들에 대한 지문 데이터의 타니모토(Tanimoto) 유사도가 특정 문턱치를 초과한다고 확인되면), 매칭이 성립된다. 다른 실시예에서, 궤적 데이터 및 맵의 부분들을 매칭하기 위해 입자 필터가 사용된다. 어떤 방식에서는 매칭이 형태 비교를 수반한다. 즉, 궤적 데이터에 의해 정의되는 경로의 형태, 특징 및 거리들이 맵 내 길들/경로들의 형태, 특징 및 거리들과 비교되어 이들이 매칭하는지 여부가 판단된다. 본 출원에서 나중에 논의될 세그먼트 기반 방식, 시퀀스 기반 방식 및 와이파이 피크 기반 방식과 같은 다른 매칭 방법들 역시 사용될 수 있다.
궤적 데이터 및 맵의 매칭에 기반하여, 서버는 맵 내에서 랜드마크의 위치를 결정한다(단계 220). 랜드마크의 위치를 결정하기 위해 어떤 적절한 기법이 사용될 수 있다. 일부 실시예에서, 예컨대 궤적 데이터는 랜드마크가 여러 지점들(도 3의 영역(300) 내 단속선들)을 커버함을 나타낸다. 앞서 논의한 바와 같이, 각각의 지점은 RSSI 벡터로 표현될 수 있는 주변 신호 지문 데이터와 연관될 수 있다.
다양한 실시예들에서, 각각의 RSSI 벡터는 특정 RF 액세스 지점이나 관련 지점의 송신기로부터 수신한 신호의 세기를 나타낸다. 따라서, 해당 영역이 여러 액세스 지점들이나 송신기들을 포함하면, 각각의 지점은 여러 RSSI 벡터들의 집합과 연관된다. 각각의 액세스 지점/송신기에 대한 RSSI 벡터는 랜드마크 영역 내 지점들에 걸쳐 평균화될 수 있다. 랜드마크 위치에 대한 판단은 평균화된 RSSI 벡터들에 기반한다. 예컨대 이들을 맵 안의 하나 이상의 세그먼트들/노드들에 대한 주변 신호 지문 데이터에 대하여 비교함으로써 판단된다. 랜드마크 위치 결정 시, 일부 RSSI 벡터들은 다른 것들과 다르게 가중될 수 있다. 예를 들어 RSSI 벡터들은 비콘 비(beacon ratio)에 기반하여 가중, 즉 신호가 더 자주 나타나는 액세스 지점들/송신기들이 더 많이 가중될 수 있다. 가중은 또한, 특정 액세스 지점들/송신기들에 대한 상대적 신호 세기들에 기반할 수도 있다. 다양한 실시예들에서, 랜드마크의 위치가 결정되면, 그 랜드마크 위치가 맵 상에 배치, 추가, 및/또는 연관된다.
상술한 맵으로의 궤적 데이터의 매칭(단계 215) 및 관련된 랜드마크 위치 결정(단계 220)은 다양한 방식으로 수행될 수 있다. 세 가지 예시적 방식들인 세그먼트 기반 방식, 시퀀스 기반 방식, 및 와이파이 피크 기반 방식을 이하에서 기술한다. 세그먼트 기반 방식의 일예가 도 6 및 도 7a-7c에 도시된다.
도 6은 예시적 세그먼트 기반 매칭 방법(600)의 단계들을 나타낸다. 단계 605에서, 서버(110)는 도 2의 단계 205 및 210에 기술된 바와 같이 궤적 데이터 및 맵을 획득한다. 일반적으로 도 3의 궤적 데이터(300)와 동일한 예시적 궤적 데이터(700)가 도 7a에 도시된다. 서버(110)는 궤적 데이터(700)가 랜드마크(705)를 나타낸다고 판단하였다. 이러한 판단은 예컨대 도 2의 단계 205와 관련하여 기술된 바와 같이 어떤 적절한 기법을 이용하여 내려질 수 있다. 이 예에서, 단계 605에서 얻어진, 도 7c의 맵(750)으로서 도시되는 맵은 도 4의 맵(400)과 동일하다.
단계 610에서, 서버(110)는 궤적 데이터 내 하나 이상의 세그먼트들을 선택 및 식별한다. 다양한 실시예들에서 세그먼트들은 랜드마크와 인접 및/또는 그 주변에 있다. 다른 구현예들에서, 선택된 세그먼트들은 랜드마크에서 교차하고/하거나 실질적으로 직진 경로(straight path)들을 형성한다. 도시된 예에서, 서버(110)는 그에 따라, 랜드마크에서 만나고 랜드마크의 반대편들에 위치하는 세그먼트들(710 및 715)을 선택한다. 세그먼트(710)는 실질적으로 지점들(720a 및 720b) 사이를 잇는 직진 세그먼트이다. 세그먼트(715)는 실질적으로 지점들(725a 및 725b) 사이를 잇는 직진 세그먼트이다. 일반적으로, 제한된 수의 세그먼트들만(가령, 랜드마크에서 가깝거나, 소정 거리 이내이거나, 랜드마크에 인접하는 등의 세그먼트들만) 선택된다.
단계 615에서, 서버(110)는 선택된 세그먼트들을 맵의 경로들/세그먼트들과 비교 및/또는 매칭한다. 비교될 세그먼트들이 도 7b에 도시된다. 어느 하나의 세그먼트 또는 세그먼트들의 어떤 조합도 맵(750)의 경로들/세그먼트들과 비교 및/또는 매칭될 수 있다는 것을 알아야 한다. 예를 들어, 도 7b에 도시된 예에서, 서버(110)는 그러한 매칭 및 비교 동작을 위해 세그먼트(710), 세그먼트(715), 및/또는 세그먼트(710)와 세그먼트(715)의 조합으로 구성된 더 긴 세그먼트(730)를 사용할 수 있다. 일반적으로, 세그먼트들이 맵(400)의 경로들/세그먼트들과 더 많이 매칭될수록(가령, 세그먼트(715)와 결합된 세그먼트(710)), 매칭이 더 정확해지는 경향이 있다.
상기 매칭 동작들은 (도 2의 단계(215)에서 논의된 것과 같은) 어떤 적절한 기법을 사용할 수 있다. 도시된 실시예에서, 예를 들어 서버(110)는 세그먼트들(710, 715, 및 730) 내 지점들과 연관된 주변 신호 지문 데이터를 맵(750)의 세그먼트들 내 지점들과 연관된 주변 신호 지문 데이터와 비교한다. 도 7c는 상기 매칭 동작의 결과들의 예를 도시한다. 이 예에서 서버(110)는 맵(750)의 세그먼트(755)가 세그먼트(730)와 매칭한다고 판단한다. 즉, 세그먼트(755) 내 지점들의 특징(가령, 그들의 순서, 관련 주변 신호 지문 데이터 등)이 세그먼트(730) 내 지점들의 특징들과 충분히 매칭된다.
단계 620에서 서버(110)는 맵 내 랜드마크의 위치를 결정한다. 이 단계는 도 2의 단계 220와 관련하여 기술된 어떤 적절한 기법을 이용하여 수행될 수 있다. 일부 실시예들에서, 서버(110)는 랜드마크에 대해 매칭된 궤적 데이터 세그먼트들(가령, 세그먼트(730))의 위치들 및/또는 그 세그먼트들의 길이들에 기반하여 랜드마크의 위치를 결정한다.
예시된 실시예에서, 예를 들어, 세그먼트(710)의 길이를 A라고 하고 세그먼트(715)의 길이를 B라고 하자. 세그먼트들(710 및 715)의 조합인 세그먼트(730)는 맵(750)의 세그먼트(755)에 매칭되었다. 또한, 서버(110)는 세그먼트(755)에 의해 연결되는 맵(750)의 노드들(760 및 765)에 대한 주변 신호 지문 데이터가 궤적 데이터(700) 내 지점들(720a 및 725b)의 지문 데이터와 매칭된다고 판단한다. 따라서, 서버(110)는 랜드마크의 위치가, 맵(750)의 세그먼트(755) 상의 한 위치에 있고 세그먼트들의 길이들, 즉 노드(760)으로부터의 거리 A 및 노드(765)로부터의 거리 B에 기반하여 판단될 수 있다고 판단한다. 판단된 랜드마크의 위치가 도 7c에서 랜드마크(770)로 예시된다.
상기 시퀀스 기반 방식의 이점은 구현 시 필요로 되는 비용이 보다 적을 수 있다는데 있다. 즉, 다양한 실시예들에서, 하나 이상의 세그먼트들의 어떤 제한된 집합만(가령, 랜드마크 주변의 세그먼트들만, 세그먼트들(710 및 715)처럼 랜드마크에 인접한 세그먼트들 등만)이 매칭에 사용되며, 궤적 데이터(700)의 다른 부분들/세그먼트들은 사용되지 않는다.
궤적 데이터를 맵에 매칭하고 맵 내 랜드마크의 위치를 결정하기 위해(가령, 도 2a의 단계들(215 및 220)) 다양한 다른 방식들 역시 사용될 수 있다. 다른 방식을 시퀀스 기반 방식이라 칭할 수 있으며, 이것은 도 8 및 9a-9b에 도시된 실시예를 이용하여 기술된다.
도 8은 예시적 시퀀스 기반 방식의 단계들을 나타낸다. 단계 805에서 서버(110)는 궤적 데이터 및 맵을 획득한다. 이 단계는 도 2a의 단계 205 및 210과 관련하여 앞서 논의된 바와 같이 수행될 수 있다. 이 예에서, 획득된 궤적 데이터는, 일반적으로 도 3의 궤적 데이터(300)와 동일한 도 9a의 궤적 데이터(900)로서 도시된다. 궤적 데이터(900)는 지점(905)에서 시작하고 지점(910)에서 끝나는 궤적을 형성한다. 궤적 데이터(900)는 랜드마크(915)를 더 나타낸다. 이 예에서 서버(110)는 또한, 일반적으로 도 4에 도시된 맵(400)과 동일한 도 9b에 도시된 맵(950)을 획득한다.
단계 810에서, 서버(110)는 맵(950)에서 궤적 데이터의 시작점과 종점(905/910)의 위치를 추정한다. 서버(110)는 이를 위해 어떤 적절한 기법을 이용할 수 있다. 일부 실시예들에서, 예컨대 서버(110)는 궤적 데이터 시작점 및 종점(905/910) (및/또는 다른 가까운 지점들의) 주변 신호 지문 데이터를 맵 상의 지점들, 세그먼트들 및/또는 노드들의 주변 신호 지문 데이터와 비교하여 매칭한다. 이와 달리, 또는 추가적으로 서버(110)는 상술한 지점들과 연관된 다른 데이터를 이용하여 상기 추정을 행한다. 다양한 구현예에서, 예를 들어 궤적 데이터(900)의 지점들 중 적어도 일부가 GPS 데이터와 연관된다.
GPS 데이터는 사용자나 장치가 빌딩으로 진입하거나 빠져나갈 때 궤적 데이터(900) 내 지점들을 식별하기 위해 사용될 수 있다. 예를 들어 궤적 데이터(900) 내 특정 지점에 대한 GPS 데이터가 GPS 신호가 끊겼거나 크게 약화되었다는 것을 가리킨다면, 이는 장치(104)가 빌딩 안으로 방금 들어갔고/갔거나 빌딩 입구에 있다는 것을 나타낼 수 있다. GPS 데이터를 이용하여 진입 또는 진출 지점들을 식별하기 위한 다양한 기법들이 모든 면에서 전체가 이 명세서에 참조의 형식으로 포함되는 공동 양수인의 미국 특허 출원 제14/549,054에 기술되어 있다. Patent Application No. 14/549,054, which is incorporated by reference herein in its entirety for all purposes. 상술한 출원에 기술된 기법들 중 어느 하나가 사용되어, 맵(950) 내 지점들/노드들에 대응하는 궤적 데이터(900) 내 지점들(가령, 빌딩 입구 및 출구 지점들)을 식별할 수 있다. 일부 맵 구현예들 역시 입출구 지점들을 가리키므로, 그러한 정보가 사용되어 맵 내 입출구 지점들을 궤적 데이터(900) 내 식별 지점들과 매칭할 수 있다. 도시된 실시예에서, 단계 810의 수행 결과로서, 서버(110)는 궤적 데이터(900) 내 시작점 및 종점(905/910)을 맵(950) 내 노드들(955 및 960)과 각각 연관시킨다.
단계 815에서 서버(110)는 궤적 데이터(900) 내 랜드마크(915)가 단일 인덱스를 가지는지 한 쌍의 인덱스들을 가지는지 여부를 판단한다. 다르게 말하면, 서버(110)는 랜드마크(915)가 궤적 데이터(900) 내 단일 지점으로 표현될 수 있는지 궤적 데이터(900) 내 여러 지점들로 표현될 수 있는지 여부를 판단한다. 전자의 경우는 예컨대, 제한된 공간을 차지하고/하거나 어떤 입구나 출구도 없는 소형 랜드마크, 예컨대 분수대, 키오스크, 간판, 단일 궤적 데이터 지점이거나 그 지점으로 나타낼 수 있는 어떤 랜드마크 등에 해당할 수 있다. 후자의 경우는 여러 지점들에 의해 표현되고/되거나 입구 및/또는 출구를 가지는 대형 랜드마크, 예컨대 상점이나 룸에 해당할 수 있다.
도 9a에 도시된 실시예에서, 예컨대 서버(110)는 랜드마크(915)가 (가령 원형 영역 안에서 구불구불한 궤적으로 표현되는 것과 같은) 궤적 데이터 내 다수의 지점들로 커버되는 룸으로 보여지기 때문에 랜드마크(915)가 한 쌍의 인덱스를 가진다고 판단한다. 랜드마크(915)는 또한, 도 9a의 지점(920)으로 표현되는 입구 지점을 가지는 것으로 나타난다.
랜드마크(915)가 단일 인덱스를 가지는 것으로 판단되면, 서버(110)는 궤적 데이터(900) 내 모든 지점들(가령, 시작점(905) 및 종점(910) 간 경로 상의 모든 지점들)을 맵(950) 상의 지점들과 비교하여 매칭되는지를 판단한다(단계 820). 이러한 비교 및 매칭 동작은 예컨대 도 2a의 단계 215와 관련하여 논의된 것과 같이, 여기에 기술된 임의의 매칭 기법을 사용하여 수행될 수 있다. 일부 실시예들에서, 상기 매칭을 수행하기 위해 입자 필터(particle filter)가 사용된다. 또 다른 실시예들에서, 서버(100)는 궤적 데이터(900) 내 각각의 지점과 연관된 주변 신호 지문 데이터와 맵(950) 내 각각의 지점과 연관된 지문 데이터와의 타니모토 유사도를 판단한다. 궤적 데이터(900) 내 충분한 개수의 지점들에 대해 그 유사도가 소정 문턱치를 초과하면, 매칭이 확인된다. 매칭이 확인되었다고 판단하면, 방법(800)은 단계 835로 진행한다.
단계 815로 돌아가서, 랜드마크(915)가 한 쌍의 인덱스들을 가지는 것으로 판단되면, 서버(110)는 두 유형의 매칭 동작을 수행하는데, 그 동작 각각은 궤적 데이터(900) 내 지점들의 특징들(가령, 주변 신호 지문 데이터)을 맵(950) 상의 지점들의 특징들과 비교하는 것을 수반한다: (1) 궤적 데이터(900)의 지점들을 시작점(905)부터, 랜드마크(915)의 시작/입구 지점과 비교하는 것(단계 825)을 수반하는 포워드 매칭; 및 (2) 궤적 데이터(900)의 지점들을 종점(910)부터, 랜드마크(915)의 종점/출구 지점과 비교하는 것(단계 830)을 수반하는 백워드 매칭. 상기 비교에 기반하여, 서버(110)는 궤적 데이터(900) 및 맵(950) 사이에 충분한 매칭이 이뤄지는지 여부를 판단한다. 지점들에 대한 이러한 비교 및 매칭은 여기에 기술된 어떤 알려진 기법이나 방법(가령, 도 8의 단계 815와 관련하여 기술된 기법들)을 이용하여 수행될 수 있다.
도 9a-9b에 도시된 예에서, 서버(110)는 랜드마크(915)의 시작/입구 지점 및 종점/출구 지점이 동일한 지점인 도 9a의 지점 920이라고 판단한다. 따라서 서버(110)는 아래의 두 지점 집합들을 맵 상의 지점들과 비교 및 매칭한다: (1) 궤적 데이터 내 지점들(905 및 920) 간 경로 상에 있는 모든 지점들과 (2) 지점들(910 및 920) 간 경로 상에 있는 모든 지점들. 이 예에서 서버(110)는 궤적 데이터(900) 내 다른 지점들(가령, 랜드마크(915) 안에 있는 원형 영역 내 지점들)과 맵 상의 지점들을 비교하거나 매칭하고자 시도하지 않는다. 상기 매칭에 기반하여 서버(110)는 상기 궤적 데이터가 맵의 세그먼트들(965, 975 및 970)에 대응한다고 판단한다.
이제 서버(110)는 상기 매칭에 기반하여 맵(950) 상의 랜드마크의 위치를 결정한다(단계 835). 맵(950) 상의 랜드마크의 위치를 결정하기 위해, 서버(110)는 어떤 적절한 기법을 이용할 수 있다. 일부 실시예에서, 예컨대 서버(110)는 랜드마크가 궤적 데이터 안에서 정의된 한 세그먼트 상에 위치한다고 판단하고, 맵 상의 어느 세그먼트가 상기 궤적 데이터 상의 세그먼트에 대응하는지를 더 판단한다. 그런 다음 적절한 방위가 결정되어야 한다. 다르게 말하면, 예를 들어, 궤적 데이터 상의 세그먼트의 “왼편” 및 “오른편”은 맵 상에서 대응되는 세그먼트의 서로 다른 부분들이나 사이드(side)들과 연관될 수 있다. 다양한 실시예들에서 서버는 단계들 820, 825 및/또는 830에서 수행된 매칭에 기반하여 상기 판단을 내린다.
예시된 실시예에서, 예컨대 서버(110)는 맵(950) 상의 노드들(980 및 985)이 궤적 데이터 상의 지점들(925 및 930)에 대응한다고 판단한다. 이러한 판단은 상술한 매칭 단계(가령, 단계 825 및 830)에 기반하여 이루어진다. 궤적 데이터(900)의 분석에 기반하여, 서버(110)는 랜드마크(915)의 입/출구 지점(920)이 지점(925)/노드(980)으로부터 거리 A 및 지점(930)/노드(985)로부터 거리 B에 있음을 더 판단한다. 따라서 서버(110)는 랜드마크의 입/출구 지점이 맵(950) 상의 지점(990)에 근사한 것으로 추정한다. 어떤 응용예에서, 입/출구 지점들은 맵(950) 상에서 서로 다른 위치를 가질 수 있다는 것을 알아야 한다. 서버(110)는 상술한 궤적 데이터(900) 및 매칭 동작들에 기반하여 그러한 다른 위치들을 추정할 수 있다.
궤적데이터를 매칭하고 랜드마크의 위치를 결정하는(즉, 도 2a의 단계들 215 및 220) 추가적인 방법은 와이파이 피크 기반 방식을 수반한다. 예시적 와이파이 피크 기반 방식이 도 10 및 11a-11d에 기술된다. 이 예는 와이파이 신호들과 관련되지만, 어떤 유형의 RF 신호나 프로토콜, 예를 들어 블루투스 와이파이 등이라도 사용될 수 있다는 것을 예상할 수 있을 것이다.
도 10은 와이파이 피크 기반 방식의 예시적 응용예를 나타내는 흐름도이다. 단계 1005에서 서버(110)는 궤적 데이터 및 맵을 획득한다. 궤적 데이터(1100) 및 맵(1150)의 예들이 도 11a 및 11b에 도시된다. 예시된 궤적 데이터(1100) 및 맵(1150)은 도 2의 단계들 205 및 210과 관련하여 위에서 기술한 특징들(가령, 지점들, 노드들, 관련 지문 데이터 등) 중 어느 하나를 가질 수 있다. 이 예에서, 궤적 데이터(1100)는 각각이 물리적 위치 및 주변 신호 지문 데이터와 연관되는 다수의 지점들로 이루어진다. 궤적 데이터(1100)는 또한 랜드마크(1115), 가령 룸이나 상점을 가리킨다.
도 11b에 도시된 맵(1150)은 세그먼트들과 연결된 노드들을 포함한다. 각각의 세그먼트는 여러 지점들로 이루어지고, 그 지점들 각각은 물리적 위치 및 주변 신호 지문 데이터와 연관된다. 상술한 주변 신호 지문 데이터는 와이파이 신호 세기 정보, 즉 맵이 표현하는 영역 내에 있는 하나 이상의 와이파이 액세스 지점들로부터 관련된 물리적 위치에서 수신된 신호들의 세기를 가리키는 데이터를 포함한다.
단계 1010에서 서버(110)는 맵 내 와이파이 피크들을 판단한다. 즉, 맵(1150) 내 하나 이상의 세그먼트들 각각에 대해, 서버(110)는 특정 와이파이 액세스 지점의 최대 와이파이 신호 세기와 관련된 상기 세그먼트 내 지점을 판단한다. 다양한 실시예들에서, 서버(110)는 해당 영역 내 하나 또는 모든 액세스 가능한 와이파이 액세스 지점들의 와이파이 피크들을 판단한다. 도 11b에서, 특정 액세스 지점에 대한 각각의 세그먼트 내 와이파이 피크 지점이 지점들(1155)로 도시되어 있다. 이 예는 와이파이 피크와 연관되어 있지만, 대신 어떤 다른 RF 신호나 주변 신호(가령, 블루투스 등)와 관련될 수도 있다는 것을 알아야 한다.
도 10의 단계 1015에서, 서버(110)는 궤적 데이터(1150) 안에서 랜드마크에 대한 시작점 및 종점을 식별 및 판단한다. 이것은 ‘054 출원에 기재된 어떤 기법을 포함한 임의의 적절한 기법을 이용하여 수행될 수 있다. 다양한 실시예들에서, 서버(110)는 궤적 데이터(100) 및 타임스탬프들에 대한 분석에 기반하여 랜드마크에 대한 시작점 및 종점을 판단하는데, 이것이 궤적 데이터(1100)에 의해 규정된 경로 상에서의 장치(104)의 이동 방향을 알려준다. 시작점 및 종점은 장치/사용자가 랜드마크(1115)로 들어간 지점(가령, 랜드마크가 룸이나 상점인 경우)과 장치/사용자가 랜드마크(1115)를 빠져나온 지점을 일컬을 수 있다.
도 11b에 도시된 예에서, 랜드마크(1115)에 대한 시작점과 종점은 지점 1120과 1125로서 도시된다. 궤적 데이터(1100)가 규정하는 궤적의 시작점 및 종점은 지점 1130 및 1135이다. 즉, 궤적 데이터(1100) 내 지점들과 관련된 타임스탬프들에 따르면, 장치는 시간이 경과하는 동안 지점 1130부터 지점들 1120, 1125 및 1135를 순서대로 통과하였다.
이후 서버(110)는 맵(1150)에서 식별된 와이파이 피크들을 궤적 데이터(1100)의 부분들과 매칭한다. 서버(110)는 이 동작을 어떤 적절한 방식으로 수행할 수 있다. 도시된 실시예에서, 예컨대 서버(110)는 각각의 와이파이 피크에 대한 주변 신호 지문 데이터(가령, 도 11b의 지점들(1155)에 대한 지문 데이터) 및 궤적 데이터(1100) 내 각각의 지점에 대한 지문 데이터 사이의 유사도(가령, 타니모토 유사도)를 판단한다. 이러한 유사도 판단은 동일한 와이파이 액세스 지점/RF 송신기와 관련된 지문 데이터를 이용하여 수행되며, 각각의 액세스 지점/RF 송신기에 대해 반복될 수 있다. 일반적으로, 서버(1100)는 와이파이 피크들 및 랜드마크 외부에 있는 궤적 데이터의 부분들, 가령 랜드마크의 시작점(가령, 지점 1120) 및 랜드마크의 종점(가령, 지점 1125) 사이의 궤적 부분 외부에 있는 궤적 데이터(1100)의 부분들 간 유사도를 판단한다. 다양한 구현예들에서, 유사도가 소정 문턱치를 초과하면 피크 및 지점 사이에 매칭이 확인된다.
상기 판단에 기반하여, 서버(110)는 특정 와이파이 피크들을 맵의 세그먼트들 내 지점들에 매칭시킨다. 이러한 것의 예가 도 11c에 도시된다. 도 11c는 맵(1150) 위에 중첩되는 궤적 데이터(1100)를 도시한다. 궤적 데이터(1100) 상의 지점들과 맵(1150) 상의 와이파이 피크 지점들(1155)을 연결하는 선들이 존재한다. 이 선들은 그 피크들 및 그들 각자의 궤적 데이터 지점들의 주변 신호 지문 데이터 사이에 매칭이 확인되었음을 나타낸다.
이러한 매칭은 서버(110)가, 경로 데이터가 대응하는 맵 상의 부분들 및 경로들을 판단할 수 있게 한다. 이러한 예가, 어떻게 궤적 데이터(1100)가 도 11c에 도시된 매치들에 기반하여 살짝 회전되어 맵(1150)의 일부에 맞춰지도록 정렬될 수 있는지를 그래픽으로 나타내는 도 11d에서 보여진다. 다르게 말하면, 서버(110)는 단계 1020에서 수행된 매칭에 기반하여 궤적 데이터(1100) 내 세그먼트들/경로들을 맵(1150) 상의 세그먼트들/경로들과 매칭한다.
매칭이 완료되면, 서버(110)는 맵 상에서 랜드마크의 위치를 결정한다. 어떤 적절한 기법이 사용되어, (가령, 도 2의 단계 220이나 도 6의 단계 620이나 도 8의 단계 835와 관련하여 기술된 바와 같이) 맵 상의 랜드마크의 위치를 결정할 수 있다. 도 11d에 도시된 실시예에서, 맵 상에서의 세그먼트들의 매칭 및 궤적 데이터(1100)의 정렬은 랜드마크의 위치가 노드(1175)와 노드(1180) 사이에 있는 맵 상의 지점(1170)에 있다는 것을 드러내도록 돕는다.
도 2a의 방법(200)으로 돌아가서, 맵 상의 랜드마크의 위치가 결정되면, 다양한 실시예들에서 그 맵이 해당 랜드마크를 포함하거나 지시하도록 업데이트된다(단계 225). 이러한 조정은 다양한 방식으로 수행될 수 있다. 예를 들어 맵이 그래픽이면, 랜드마크의 그래픽 지시자가 맵에 추가될 수 있다. 맵이 데이터 구조(가령, 도 4의 맵(400)나 도 11d의 맵(1150)의 노드들 및 세그먼트들)로 표현되는 일부 실시예에서, 추가 데이터가 랜드마크 위치를 가리키기 위한 구조에 추가되거나 그러한 구조와 결부된다.
도 11d에 도시된 예에서, 이를테면, 랜드마크의 위치를 가리키는 맵(1150)에 더해지는 데이터는 다음과 같은 파라미터들을 이용하여 표현될 수 있다: [SEGMENT ID]; [DISTANCE, START NODE]. 달리 말하면, [SEGMENT ID]는 랜드마크 (또는 랜드마크로의 입구)가 위치한 맵 상의 세그먼트들 중 하나를 가리킨다. [DISTANCE]는, 노드들 중 노드 ID, 즉 [START NODE]로 식별되는 한 노드에서 랜드마크의 위치를 구분하는 세그먼트(가령 세그먼트(1190) 상의 거리를 나타내는 파라미터이다. 따라서, 도 11d의 랜드마크의 위치는 다음과 같이 표현될 수 있다. [segment 1190][0.4, node 1175], 이는 랜드마크가 세그먼트(1190) 상에 위치하고, 노드(1175)에서 그 세그먼트의 길이의 40% 멀리에 있다는 것을 의미한다. 물론 상술한 것은 예시적 구현예일뿐이며, 랜드마크의 위치는 어떤 유형의 데이터나 데이터 구조를 이용해서도 표현될 수 있음을 예상할 수 있다.
서버(110)가 단계 205-225를 사용하여 맵 상의 랜드마크의 위치를 결정한 후, 서버(110)는 맵이 커버하는 같은 영역에 대한 추가 궤적 데이터를 획득할 수 있다(단계 230). 새 궤적 데이터는 다른 장치로부터 수신되었을 수 있고, 또는 그 영역을 지나는 동일한 장치가 다른 시점에 사용되었을 수도 있다. 새 궤적 데이터는 맵 상의 랜드마크의 위치를 조정하는데 사용될 수 있다. 시간이 지나면서 그러한 조정은 랜드마크 위치의 정확도 향상에 도움을 줄 수 있다.
단계 235에서, 서버(110)는 새 궤적 데이터를 분석하고 단계 205-220과 관련하여 기술된 기법들을 수행하여, 새 궤적 데이터의 후보 랜드마크의 위치를 결정한다. 이것의 한 예가 도 12에 도시된다. 도 12는 도 11d에 도시된 맵(1150)을 나타낸다. 맵(1150)은 앞서 단계 220에서 판단되었던 위치를 가진 랜드마크(1170)를 나타낸다. 서버(110) 또한, 새 궤적 데이터의 분석에 기반하여 새 후보 랜드마크(1205)의 위치를 결정하였다.
도 2a의 방법은 이제 도 2b의 단계(240)로 진행한다. 단계 240에서 서버(110)는 랜드마크(1170)를 후보 랜드마크(1205)와 비교한다. 이러한 비교는 어떤 적절한 방식에 따라 수행될 수 있다. 일부 실시예들에서, 예컨대 서버(110)는 랜드마크(1170)과 관련된 지점 및 후보 랜드마크(1205)와 관련된 지점 간 거리를 판단한다. 추가적으로, 혹은 대안적으로 서버(110)는 랜드마크(1170)를 나타내는 하나 이상의 지점들에 대한 주변 신호 지문 데이터와 후보 랜드마크(1205)를 나타내는 하나 이상의 지점들에 대한 주변 신호 지문 데이터의 유사도(가령, 타니모토 유사도)를 비교 또는 판단한다.
단계 245에서 서버(110)는 랜드마크 및 후보 랜드마크가 충분히 유사한지 여부를 판단한다. 충분히 유사하면, 이들이 같은 랜드마크를 나타낸다고 추정한다. 예를 들어, 서버(110)는 이들 사이의 거리가 소정 문턱치 미만으로 떨어지고/거나 랜드마크 및 후보 랜드마크의 주변 신호 지문 데이터의 유사도가 소정 문턱치를 초과하면 이들이 충분히 유사하다고 판단할 수 있다. 일부 실시예들에서, 충분히 유사하기 위해서는, 랜드마크와 후보 랜드마크가 최소한 동일한 맵의 세그먼트 상에 있고/있거나 해당 세그먼트의 같은 측면 상에 있어야 한다. 서버(110)가 후보 랜드마크 및 랜드마크가 충분히 유사하지 않다고 판단하면, 서버는 후보 랜드마크에 기반하여 랜드마크의 위치/특징을 조정하지 않는다(단계 255). 이제 이 방법은 단계 205 및/또는 단계 230으로 다시 진행한다.
서버(110)가 랜드마크 및 후보 랜드마크가 충분히 유사하다고 판단하면, 서버(110)는 후보 랜드마크의 추정 위치/특징에 기반하여 랜드마크의 위치/특징을 조정한다(단계 255). 이러한 것은 다양한 방식으로 수행될 수 있다. 일부 구현예들에서, 예컨대 서버(110)는 후보 랜드마크에 대한 주변 신호 지문 데이터에 기반하여 랜드마크에 대한 주변 신호 지문 데이터를 조정한다.
예를 들어, 간단한 방법은 랜드마크에 대한 새 지문 데이터가 오리지널 랜드마크 및 후보 랜드마크의 신호 세기값들의 평균이 되게 하는 것일 수 있다. 랜드마크의 추정된 물리적 위치 또한, 후보 랜드마크의 추정된 후보 위치에 기반하여 조정될 수 있다, 예컨대 랜드마크 및 오리지널 랜드마크의 xy 좌표들을 평균낼 수 있다. 도 12b는 예컨대, 오리지널 랜드마크(1170) 및 후보 랜드마크(1205)의 위치들 사이에 있는 후보 랜드마크(1210)를 도시한다.
도 12의 단순화된 예는 하나의 후보 랜드마크만을 보이지만, 다양한 실시예들에서 서버(110)는 여러 궤적 데이터 집합들을 (가능한 경우 여러 장치들로부터) 획득하고 다수의 후보 랜드마크들의 위치들을 판단한다. 즉, 서버는 단계 230 및 235를 여러 차례 수행한다. 그런 다음 서버(110)는 랜드마크를 후보 랜드마크들 각각과 비교하고(즉, 단계 240), 충분히 유사한 후보 랜드마크들을 선택한다(단계 245). 랜드마크의 위치가 선택된 후보 랜드마크들에 기반하여 어떤 적절한 기법을 이용해 조정된다. 예로서, 랜드마크 및 선택된 후보 랜드마크들은 어떤 클러스터링 알고리즘을 사용해 클러스터링될 수 있다. 조정된 랜드마크의 위치/지문 데이터는 클러스터의 중심을 기준으로 할 수 있다.
랜드마크의 위치, 지문 데이터 또는 특징에 대한 조정은 가령 단계 225와 관련하여 논의된 바와 같이, 데이터를 맵에 추가하거나 조정하는 것을 수반할 수 있다. 맵 상의 랜드마크의 위치/특징이 조정되면, 방법(200)은 단계 205 및/또는 단계 230으로 돌아간다. 즉, 서버(110)는 여기서 추가 궤적 데이터를 수집한다. 다양한 실시예들에서, 궤적 데이터가 사용되어, 맵에 추가되거나 맵과 연관될 수 있는 새 랜드마크들의 위치를 결정할 수 있다(가령, 단계 205-225). 이와 달리, 혹은 추가적으로, 맵 상의 기존 랜드마크들의 위치/특징이 새 궤적 데이터에 기반하여 조정될 수 있다(가령, 단계 230-255).
도 2의 방법(200)과 관련하여 기술된 것과 같이 맵 상의 랜드마크들에 대한 조정 또는 추가는, 맵의 다른 특징을 판단하는데 사용될 수도 있다. 일부 실시예들에서, 예컨대, 새 랜드마크의 위치가 결정되었고/거나 새 랜드마크가 맵에 추가되었으면(가령, 단계 220 및 225), 서버(110)는 길, 통로, 복도 구조들이나 기타 구조들을 그 새 랜드마크에 기반하여 조정한다. 다르게 말하면, 새 랜드마크가 판단 및/또는 추가되었으면, 서버(110)는 복도나 경로 레이아웃의 모양이나 특징을 나타내는데 도움을 주는 하나 이상의 구속요건들을 판단한다. 예를 들어 랜드마크가 맵 상에서 특정 공간을 차지하는 룸이나 상점이라고 알려지는 경우, 서버는 그에 따라 경로 레이아웃(pathway layout), 복도, 통로 및/또는 경로(path)들을 조정함으로써 이들이 그 공간 안으로 지나가거나 그 공간을 포함하지 않도록 한다.
도 2a-2b의 방법(200)에 논의된 바와 같이 조정되는 맵들은 다양한 응용예들에 사용될 수 있다. 어떤 방식들에서는 예컨대, 상기 맵은 장치(104)(가령, 모바일 장치, 스마트폰, 태블릿 등)를 가진 사용자의 위치를 확인하는데 사용된다. 즉, 맵(가령 도 4의 맵(400))에 의해 표현된 영역을 방문하는 사용자가 장치(104)를 사용하여 자신의 위치를 결정할 수 있다. 그 위치는 장치가 수집한 궤적 데이터를 이용해 판단될 수 있다. 장치(104)는 서버(110)로 궤적 데이터를 업로드한다.
다양한 구현예들에서, 서버(110)는 맵 상의 랜드마크들의 위치 및 수신된 데이터를 이용하여, 맵 내에서 사용자와 장치의 위치를 결정하는 것을 돕는다. 서버(110)는 이때, 맵 상에서 사용자의 위치 및/또는 랜드마크들의 상대적 위치를 나타내는 데이터를 장치(104)로 다시 전송한다. 그러면 장치(104)가 그 전송된 데이터에 기반하여 정보를 디스플레이할 수 있다. 일부 구현예들에서, 장치(104)는 상기 전송된 데이터를 이용하여, 맵/영역 내 원하는 목적지로 사용자를 안내하는 안내 정보를 디스플레이 한다. 이와 달리 또는 추가적으로, 장치(104)는 송신된 데이터를 이용하여, 맵 상에 표시되고 도 2a-2b의 방법(200)을 이용하여 판단된 위치를 가지는 하나 또는 다수의 랜드마크들을 방문하는 것을 포함하는 사용자의 맵/영역 이동을 안내한다.
다른 응용예에서, 서버(110)는 상술한 바와 같이 사용자들의 이동을 실시간으로 추적할 수 있다. 특히 서버(110)는 획득된 궤적 데이터를 이용하여 맵 상의 트래픽 패턴들을 판단한다. 예로서 서버(110)는 사용자들이 특정 랜드마크들을 얼마나 주자 방문 및/또는 지나가는지를 판단할 수 있다. 또 다른 실시예에서, 서버(110)는 한 사람 이상의 사용자들이 특정 랜드마크에서 얼마나 길게 머무는지를 판단한다. 이러한 판단들에 기반하여, 서버(110)는 권장사항들(가령, 특정 랜드마크까지 가장 빠른 루트, 방문할 가치가 있는 가장 인기있는 상점들 등)을 생성한다. 서버(110)는 그런 다음 그 권장사항들을 하나 이상의 장치로 전송하여 그 장치들에서 디스플레이되게 한다.
도 2a-2b의 방법(200)의 단계들은 경로 레이아웃을 조정하지 않고 수행될 수 있다. 즉, 다양한 실시예들에서, 도 2a-2b의 방법(200)을 이용하여 맵 상의 랜드마크의 특징(가령, 주변 신호 지문 데이터, 위치 등)을 조정하거나, (단계 220 및 225를 사용하여) 새 랜드마크를 맵에 추가하지만, 맵의 다른 특징은 그와 달리 그대로 유지하는 것이 바람직하다. 일부 방식들에서, 서버(110)가 맵 상의 랜드마크의 위치를 결정할 때(가령, 단계 220), 맵 상의 경로 레이아웃에 대해서는 어떤 변화도 만들어지지 않는다. 이러한 맥락으로 다양한 실시예들에서, 경로 레이아웃은 교차점들(즉, 둘 이상의 경로들이 만나는 지점들) 사이의 (일반적으로 직진) 경로들(가령, 통로, 복도, 루트 등)을 나타내는 맵의 일부나 전체 부분들을 일컫는다. 다양한 구현예들에서, 맵의 경로 레이아웃은 그대로 유지되며 단계 215의 매칭 동작, 단계 205 및/또는 230에서 획득된 궤적 데이터, 및/또는 방법(200)의 어떤 다른 단계들에 따라 변화되지 않는다. 보다 구체적으로, 맵 상에서 (가령, 도 4의 맵(400)과 관련하여 논의된 것과 같이) 경로들, 교차점들 및/또는 세그먼트들의 위치들은 상술한 동작들/단계들에 따라 조정되지 않는다.
다르게 표현하면, 도 2a 및 2b의 방법(200)의 다양한 구현예들은 점진적 프로세스라고 간주될 수 있다. 즉, 방법(200)을 반복하여 맵 상의 랜드마크 위치들이 판단되고/되거나 랜드마크들이 맵에 추가된다. 따라서, 다양한 구현예들에서, 랜드마크들은 맵 상에서 그 위치들을 약간 조정할 수 있고, 아니면 새 랜드마크들이 추가될 수 있지만, 코너들/교차점들 사이의 노드들, 세그먼트들, 경로 레이아웃, 통로들, 복도들, 경로들 및/또는 그 관련 파라미터들(가령, 주변 신호 지문 데이터)은 변하지 않는다. 어느 시점에, 그러한 특징들 또한 업데이트될 수 있다, 예컨대 경로들의 지문 데이터나 정렬이 조정될 수 있다. 그런 경우, 새 궤적 데이터를 이용하여 랜드마크들을 조정된 맵 및 경로 레이아웃/경로들에 추가하기 위해 방법(200)이 반복될 수 있다.
이어서 도 13을 참조하면, 본 발명의 특정 실시예에 따른 서버(1300)이 기술될 것이다. 도 1의 서버(110)이거나 이 명세서에 기술된 어떤 다른 서버일 수 있는 서버(1300)는 하나 이상의 프로세서들을 가지는 프로세서 유닛(1005), 저장 유닛(1310), 네트워크 인터페이스 유닛(1315), 맵 생성 모듈(1320), 및 랜드마크 결정 모듈(1325)를 포함한다. 서버(1300)는 궤적 데이터를 처리 및 분석하고/하거나 맵 상에서 랜드마크의 위치를 결정하기 적합한 어떤 컴퓨팅 장치일 수 있다.
저장 유닛(1310)은 데이터나 실행가능 컴퓨터 코드를 저장하기 적합한 어떤 하드웨어나 소프트웨어이다. 저장 유닛(1310)은 하드 드라이브, 플래시 드라이브, 비휘발성 메모리, 휘발성 메모리, 또는 다른 어떤 타입의 컴퓨터 판독가능 저장 매체를 포함할 수 있으나 그에 국한되지 않는다. 이 출원서에 기술된(가령, 도 2a-2b, 6, 8 및 10) 서버에 대한 동작이나 방법이 실행가능 컴퓨터 코드나 명령어들의 형태로 저장 유닛(1310) 안에 저장될 수 있다. 프로세서 유닛(1305)에 의한 컴퓨터 코드나 명령어들의 실행은 서버(1300)나 서버(1300)와 연결된 적절한 장치가 상술한 동작들이나 방법들 중 어느 하나를 수행하게 한다.
네트워크 인터페이스 유닛(1315)은 서버(1300)가 외부 장치들과 통신할 수 있게 하기 적합한 어떤 하드웨어나 소프트웨어를 포함한다. 다양한 실시예들에서, 예컨대 서버(1300)는 (도 2a의 단계 205에 논의된 바와 같이) 네트워크 인터페이스 유닛(1315)을 이용하여 하나 이상의 장치들(104)로부터 네트워크(108)를 통해 궤적 데이터를 수신한다. 서버(1300)는 (도 2a의 단계(210)에서 논의된 바와 같이) 외부 장치나 다른 서버로부터 네트워크 인터페이스 유닛(1315)을 통해 맵을 획득할 수도 있다.서버(1300)가 맵 상의 랜드마크를 판단했으면(가령, 도 2a의 단계 220), 다양한 구현예들에서 네트워크 인터페이스 유닛(1315)은 하나 이상의 장치들(104)로 위치 및/또는 맵을 나타내는 데이터를 전송하도록 구성되어, 그 장치들의 사용자가 그 정보를 보거나 이용할 수 있도록 한다. 네트워크 인터페이스 유닛(1315)은 어떤 적절한 네트워크(가령, LAN, 인터넷 등)이나 통신 프로토콜(가령, 블루투스, 와이파이, NFC, IEEE 802.15.4, IEEE 802.11 등)을 이용하여 데이터를 송수신하도록 구성된다.
맵 생성 모듈(1320)은 (가령 도 2a의 단계 210과 관련하여 기술된 바와 같이) 맵의 획득 및/또는 생성과 관련된 동작들을 수행하는데 사용되는 어떤 하드웨어나 소프트웨어이다. 일부 실시예에서, 맵 생성 모듈(1320)은 하나 이상의 장치들(104)로부터 수신된 궤적 데이터를 이용하여 맵을 생성하도록 구성된다.
일부 구현예들에서, 적어도 처음에는 랜드마크의 위치를 나타내지 않는 궤적 데이터만 사용하여 맵을 생성한다. 그에 따라 맵 생성 모듈(1320)은 이 기준을 만족시키는 궤적 데이터를 선택하고, 선택된 궤적 데이터만을 사용하여 맵을 생성하도록 구성된다.
다른 실시예들에서는 그러나, 랜드마크 데이터가 있는 궤적 데이터를 포함하는 다양한 유형의 궤적 데이터가 사용되어 맵을 생성한다. 맵 생성 모듈(1320)은 본 출원서에 (가령, 도 2a의 단계 210) 기술된 어떤 기법이나 소스들을 이용하여 맵을 생성하도록 구성된다. 일부 구현예들에서, 맵 생성 모듈(1320)은 노드들 및 세그먼트들을 가진 벡터 맵 및/또는 맵 데이터 구조를 생성하도록 구성된다(예: 도 4의 맵(400)). 이와 달리, 혹은 추가적으로 맵 생성 모듈(1320)은 맵의 래스터/비트맵 이미지에 기반하여 맵을 생성하도록 구성된다.
랜드마크 결정 모듈(1325)은 맵 상의 하나 이상의 랜드마크들의 위치 판단과 관련된 동작들을 수행하는데 사용되는 어떤 하드웨어 또는 소프트웨어이다. 랜드마크 결정 모듈(1325)은 도 2a-2b, 6, 8, 및 10의 방법들에 기술된 동작들 중 어느 하나를 수행하도록 구성된다. 예로서, 랜드마크 결정 모듈(1325)은 장치로부터 수신된 궤적 데이터에 기반하여 랜드마크 위치를 결정하고; 궤적 데이터의 적어도 일부를 맵의 적어도 일부에 매칭하고; 그 매칭에 따라 랜드마크의 위치를 결정하도록 구성된다. 이에 더하여, 상기 모듈은 (가령, 도 2a 및 2b의 단계들 230-255과 관련하여 논의된 바와 같이) 추가 궤적 데이터에 기반하여 랜드마크의 위치를 조정하도록 구성된다.
이어서 도 14을 참조하면, 본 발명의 특정 실시예에 따른 장치(1400)가 기술될 것이다. 도 1의 장치(104)일 수 있는 장치(1400)는 하나 이상의 프로세서들을 가지는 프로세서 유닛(1405), 저장 유닛(1410), 디스플레이 유닛(1420), 네트워크 인터페이스 유닛(1415), 센서 유닛(1425) 및 궤적 데이터 수집 유닛(1430)을 포함한다. 상기 장치는 서버(110)와 통신하고 궤적 데이터를 획득하도록 구성되는 임의의 컴퓨팅 장치일 수 있다. 다양한 실시예들에서 장치(1400)는 모바일 장치, 셀 폰, 랩탑, 컴퓨터 태블릿, 스마트 안경, 스마트 와치 또는 다른 다른 적절한 컴퓨팅 장치이다.
저장 유닛(1410)은 데이터나 실행가능 컴퓨터 코드를 저장하기 적합한 어떤 하드웨어나 소프트웨어이다. 저장 유닛(1010)은 하드 드라이브, 플래시 드라이브, 비휘발성 메모리, 휘발성 메모리, 또는 다른 어떤 타입의 컴퓨터 판독가능 저장 매체를 포함할 수 있으나 그에 국한되지 않는다. 장치에 의해 수행될 수 있는 어떤 동작이나 방법(가령, 방법(200), 도 2a-2b의 단계들 205 및/또는 210)이 실행가능 컴퓨터 코드나 명령어들의 형식으로 저장 유닛(1010) 안에 저장될 수 있다. 프로세서 유닛(1005)에 의한 컴퓨터 코드나 명령어들의 실행은 장치(1400)가 상술한 동작들이나 방법들 중 어느 하나를 수행하게 한다.
네트워크 인터페이스 유닛(1415)은 장치(1400)가 외부 장치들과 통신할 수 있게 하기 적합한 어떤 하드웨어나 소프트웨어를 포함한다. 다양한 실시예들에서, (도 2a의 단계들 205-215에 기재된 바와 같이) 예컨대 장치(1400)는 궤적 데이터를 획득하고, 네트워크 인터페이스 유닛(1415)이 궤적데이터를 네트워크를 통해 서버(110)로 전송하도록 구성된다.네트워크 인터페이스 유닛(1415)은 또한, 서버(110)로부터 맵 및 랜드마크 관련 정보를 수신하도록 구성된다. 네트워크 인터페이스 유닛(1415)은 어떤 적절한 네트워크(가령, LAN, 인터넷 등)이나 통신 프로토콜(가령, 블루투스, 와이파이, NFC, IEEE 802.15.4, IEEE 802.11 등)을 이용하여 데이터를 송수신하도록 구성된다.
디스플레이 유닛(1420)은 장치에서 정보를 디스플레이하기 적합한 어떤 소프트웨어의 하드웨어를 포함한다. 디스플레이 유닛(1420)은 어떤 디스플레이 기술, 예컨대 터치 감응성 (용량성) 스크린, 전자 잉크(e-ink) 디스플레이, LCD 또는 OLED 디스플레이 또는 어떤 다른 적절한 디스플레이 기술을 포함할 수 있다. 일부 실시예들에서, 장치(1400)는 서버(110)로부터 맵 및 랜드마크 정보를 수신한다. (서버(110)는 예컨대 도 2a의 단계들 205-225에서 기재된 바와 같이 이 정보를 판단한다). 디스플레이 유닛(1415)은 수신된 정보에 기반하여 정보, 이미지, 맵, 루트 및/또는 안내 정보를 디스플레이하도록 구성된다.
센서 유닛(1425)은 주변 신호들이나 기타 환경적 파라미터들을 검출 및 측정하기 적합한 어떤 센서(들), 하드웨어 또는 소프트웨어를 포함한다. 그러한 센서들은 RF 신호(가령, 와이파이, 블루투스 등)를 수신하도록 구성된 하나 이상의 안테나, 광 센서, 모션 센서, 가속계, 자이로스코프, 임의의 주변 신호를 검출하기 위한 센서 등을 포함할 수 있으나 그에 국한되지 않는다. 다양한 실시예들에서, 장치(1400)는 센서 유닛(1425)에 의해 획득된 데이터를 이용하여, 가령 도 2a의 단계 205와 관련하여 기술된 것과 같은 궤적 데이터를 획득한다.
궤적 데이터 수집 유닛(1430)은 궤적 데이터를 획득하도록 구성된 어떤 소프트웨어나 하드웨어이다. 일부 실시예들에서, 궤적 데이터 수집 유닛은 센서 유닛(1425)을 이용하여 도 2a 및 도 3의 단계 205에 기술된 것과 같이 궤적 데이터를 수집하도록 구성된다.
본 출원은 궤적 데이터를 맵과 매칭시키는 것에 관한 것이다. 그러한 매칭은 어떤 알려진 기법, 이 명세서에 기재된 어떤 기법 및/또는 상술한 공동 양수인의 특허 출원들에 기술된 어떤 기법을 이용하여 다양한 방식으로 수행될 수 있다. 다양한 실시예들에서, 이 말은 궤적 데이터의 적어도 일부가 맵의 적어도 일부와 비교된다는 것을 의미한다. 그러한 비교는 여러 형식들을 취할 수 있다. 일부 구현예들에서, 상기 비교는 공간적이거나 그래픽적인 비교를 수반한다. 예를 들어 일부 실시예들에서 궤적 데이터(trajectory data)는 물리적 경로(physical path)나 경로 레이아웃(pathway layout)을 나타낸다. 이 경로의 모양 및/또는 윤곽은 맵에 의해 나타내는 물리적 경로의 모양 및/또는 윤곽과 비교된다. 경로 (또는 그 일부)의 모양 및/또는 윤곽이 충분히 유사하다고 확인되면, 매칭이 확인된다.
추가적으로나 대안적으로, 상기 비교는 데이터 비교를 수반할 수 있다. 예를 들어, 궤적 데이터는 (가령 도 3의 궤적 데이터(300)와 관련하여 기술된 바와 같이) 여러 지점들을 포함할 수 있다. 각각의 지점은 물리적 위치를 나타낸다. 각각의 지점은 또한, 장치가 그러한 물리적 위치에 있었을 때 장치가 획득했던 주변 신호 지문 데이터를 포함한다. 맵 데이터는 (가령 도 4의 맵(400)과 관련하여 기술된 바와 같이) 동일하거나 유사한 특징들을 가진 여러 지점들을 포함하거나 나타낼 수 있다. 따라서, 다양한 실시예들에서, 매칭은 궤적 데이터 내 다양한 지점들의 주변 신호 지문 데이터를 맵 상의 다양한 지점들의 주변 신호 지문 데이터와 비교하는 것을 수반한다. 충분한 수의 지점들이 충분히 유사한 경우(가령, 산출된 타니모토 유사도가 특정 문턱치를 초과하는 경우) 매칭이 확인된다.
매칭은 또한 공간 및 데이터 모두를 기반으로 하는 비교 양상을 포함할 수 있다. 간단한 예를 사용하기 위해, 궤적 데이터에는 장치의 순차적이고 연속적인 이동을 나타내는 지점들의 선이, 그 지점들과 연관된 타임스탬프들에 의해 지시된 바와 같이, 존재할 수 있다. 그 지점들은 특정한 공간적 경로/모양, 가령 직선이나 곡선을 나타낸다. 이러한 지점들의 선은, 역시 순차적인 위치들 및/또는 특정한 공간적 경로를 나타내는 맵 데이터에서 지시된 지점들의 또 다른 선과 비교된다. 아래의 기준이 만족되면 매칭이 확인될 수 있다: (1) 궤적 데이터 및 맵의 지점들의 선들이 동일한 물리적 위치들에 해당하는 것으로 보여짐; (2) 궤적 데이터 및 맵의 지점들의 선들이 통로, 직선 복도 등에서의 커브와 같은 동일한 모양, 거리 및/또는 정도를 나타낸다고 보여짐; (3) 궤적 데이터 내 선 안의 각각의 지점과 관련된 주변 신호 지문 데이터가 맵 내 해당 지점과 관련된 주변 신호 지문 데이터와 충분히 유사한 것으로 확인됨. 일부 구현예들에서, 상기 기준들 중 하나 이상이 만족되지 않더라도, 혹은 특정 기준이 전부가 아닌 부분적으로나마 만족된다면 매칭이 성립될 수 있다. 상기 기준은 다만 예시적인 것으로 비한정적인 것이라 이해되어야 하며, 매칭 프로세스는 어떤 적절한 기법을 이용하여 수행될 수 있다.
본 출원은 또한, 종종 지점들 및 클러스터 사이의 거리에 대한 판단에 관한 것이다. 이 동작들 중 어느 하나는 상술한 공동 양수인의 특허 출원들에 기재된 임의의 기법이나 어떤 알려진 기법을 이용하여 수행될 수 있다.
본 발명의 일부 실시예들만이 구체적으로 기술되었지만, 본 발명이 그 사상과 범주에서 벗어나지 않고 여러 다른 형식으로 구현될 수 있다는 것을 예상할 수 있을 것이다. 예를 들어, 본 출원서와 도면들은 특정 동작들을 수행하는 다양한 방법들을 설명한다. 일부 실시예들에서, 그러한 동작들/단계들 중 하나 이상은 변형되거나 순서를 바꾸거나 삭제될 수 있다는 것을 예상할 수 있을 것이다. 또한, 도 1, 13 및 14와 같은 일부 도면은 다양한 구성요소들을 포함하는 장치들/시스템들을 나타낸다. 일부 실시예들에서 그러한 구성요소들 중 하나 이상은 서로 병합될 수 있다는 것을 알아야 한다.
또 다른 실시예들에서, 하나 이상의 구성요소들이 더 많은 수의 구성요소들로 분리될 수도 있다. 한 구성요소의 특징이 다른 구성요소로 전달되고/거나 적절히 변형될 수 있다. 각각의 장치는 해당하는 도면에 도시된 것 이상의 추가 구성요소들을 가질 수 있다. 특정 객체의 일부로서 보여진 특정 모듈들이나 장치들이 가령 유무선 접속을 통해 상기 객체와 연결될 수 있다. 예를 들어, 다양한 구현예들에서, 도 2a-2b의 방법(200)에 기술된 동작들 중 전부나 거의 전부가 서버(가령, 서버(110))에 의해 수행된다. 그러나, 또 다른 실시예들에서, 이 동작들 중 어느 하나는 장치(104)나 다른 시스템이나 서버와 연결된 장치에 의해 수행될 수 있다. 따라서 본 실시예들은 예시적인 것일 뿐 한정하는 것으로 간주되어서는 아니되며, 본 발명이 명세서에 주어진 세부사항들에 국한되어서는 아니된다.
Claims (15)
- 한 영역에서의 장치의 이동을 나타내는 제1 궤적 데이터(trajectory data)를 획득하되, 상기 제1 궤적 데이터는 상기 영역 내의 제1 랜드마크의 존재를 표시하는 단계;
상기 영역의 맵을 획득하되, 상기 맵은 경로 레이아웃(pathway layout)을 표시하는 단계;
상기 제1 궤적 데이터에 의해 정의된 부분 경로를 상기 경로 레이아웃의 일부와 비교함으로써, 상기 제1 궤적 데이터의 적어도 일부와 상기 맵을 매칭하는 단계; 및
상기 매칭에 기반하여, 상기 경로 레이아웃의 조정 없이 상기 맵 내에서 상기 제1 랜드마크의 위치를 결정하는 단계를 포함하는 방법.
- 제1항에 있어서,
제2 랜드마크의 존재를 나타내는 제2 궤적 데이터를 획득하되, 상기 제1 궤적 데이터 및 상기 제2 궤적 데이터 각각은 거리 데이터 및 주변 신호 지문 데이터(ambient signal fingerprint data)를 포함하는 단계;
상기 거리 데이터 및 상기 주변 신호 지문 데이터에 기반하여 상기 제1 랜드마크 및 상기 제2 랜드마크를 비교하는 단계; 및
상기 비교에 기반하여, 상기 맵 상에서 상기 제1 랜드마크의 위치를 조정하는 단계를 더 포함하고,
상기 주변 신호 지문 데이터는, 상기 장치가 이동하는 지점에서 수신하는 신호의 세기, 강도 또는 특징 중 적어도 하나를 포함하는 방법.
- 제1항에 있어서,
랜드마크는 상기 맵 상의 한 지점 및 상기 맵 상의 한 영역 중 하나인 방법.
- 제1항에 있어서,
상기 제1 랜드마크는 도어, 룸, 계단, 상점, 및 엘리베이터 중 하나인 방법.
- 제1항에 있어서,
상기 장치가 방향을 변경하는 횟수가 임계치 이상이거나, 상기 장치가 소정 속도 미만으로 이동했다는 것을 나타내는 상기 제1 궤적 데이터의 일부를 식별하는 단계; 및
상기 식별된 제1 궤적 데이터의 일부가 상기 제1 랜드마크에 해당한다고 판단하는 단계를 더 포함하는 방법.
- 제1항에 있어서,
상기 맵은 제1 맵이고, 상기 제1 맵은 상기 매칭 전에 어떠한 랜드마크들도 나타내지 않으며, 상기 매칭 후 상기 제1 랜드마크가 상기 제1 맵에 추가되어 제2 맵을 형성하는 방법.
- 제1항에 있어서,
상기 매칭에 따라 상기 경로 레이아웃을 조정하지 않는 단계를 더 포함하되, 상기 경로 레이아웃은 경로들 및 교차로(intersection)들의 위치를 나타내는 상기 맵의 일부인 방법.
- 제1항에 있어서,
상기 제1 궤적 데이터에서 하나 이상의 세그먼트들을 선택하되, 상기 하나 이상의 세그먼트들은 상기 제1 궤적 데이터의 전체가 아닌 일부를 나타내며, 상기 하나 이상의 세그먼트들은 상기 제1 궤적 데이터 내 상기 제1 랜드마크의 위치의 소정 거리 안에 있는 단계; 및
상기 하나 이상의 세그먼트들을 상기 경로 레이아웃의 적어도 일부에 매칭하는 단계를 더 포함하는 방법.
- 제1항에 있어서,
상기 제1 궤적 데이터는, 상기 제1 궤적 데이터의 시작점에서 상기 제1 랜드마크의 시작점까지 이어지는 지점들의 제1 시퀀스, 및 상기 제1 궤적 데이터의 종점에서 상기 제1 랜드마크의 종점까지 이어지는 지점들의 제2 시퀀스를 포함하고,
상기 방법은 상기 제1 시퀀스 및 상기 제2 시퀀스를 상기 경로 레이아웃의 적어도 일부와 매칭하는 단계를 포함하고,
상기 제1 랜드마크의 종점은, 상기 제1 궤적 데이터 내에서 상기 제1 랜드마크를 나타내는 궤적이 종료되는 지점을 의미하는 방법.
- 제1항에 있어서,
상기 제1 궤적 데이터는 복수의 지점들을 포함하며, 상기 복수의 지점들 각각은 타임스탬프 및 주변 신호 지문 데이터와 연관되어 있고,
상기 주변 신호 지문 데이터는, 상기 장치가 상기 복수의 지점들에서 수신하는 신호의 세기, 강도 또는 특징 중 적어도 하나를 포함하고,
상기 타임스탬프는, 상기 장치가 상기 주변 신호 지문 데이터를 획득한 시점을 나타내는 방법.
- 유형의 형태로 구현된 실행가능 컴퓨터 코드를 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 판독가능 저장 매체는
한 영역에서의 장치의 이동을 나타내고, 상기 영역 내의 제1 랜드마크의 존재를 표시하는 제1 궤적 데이터를 획득하도록 동작 가능한 실행가능 컴퓨터 코드;
경로 레이아웃을 표시하는 상기 영역의 맵을 획득하도록 동작 가능한 실행가능 컴퓨터 코드;
상기 제1 궤적 데이터에 의해 정의된 부분 경로를 상기 경로 레이아웃의 일부와 비교함으로써, 상기 제1 궤적 데이터의 적어도 일부와 상기 맵을 매칭하도록 동작 가능한 실행가능 컴퓨터 코드; 및
상기 매칭에 기반하여, 상기 경로 레이아웃의 조정 없이 상기 맵 내에서 상기 제1 랜드마크의 위치를 결정하도록 동작 가능한 실행가능 컴퓨터 코드를 포함하는 컴퓨터 판독가능 저장 매체.
- 적어도 하나의 프로세서;
유형의 형태로 저장되는 컴퓨터 코드를 포함하는 컴퓨터 판독가능 저장 매체를 구비하는 적어도 하나의 메모리 회로를 포함하고, 상기 컴퓨터 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때 장치가
한 영역에서의 장치의 이동을 나타내고, 상기 영역 내의 제1 랜드마크의 존재를 표시하는 제1 궤적 데이터를 획득하고;
경로 레이아웃을 표시하는 상기 영역의 맵을 획득하고;
상기 제1 궤적 데이터에 의해 정의된 부분 경로를 상기 경로 레이아웃의 일부와 비교함으로써, 상기 제1 궤적 데이터의 적어도 일부와 상기 맵을 매칭하고;
상기 매칭에 기반하여, 상기 경로 레이아웃의 조정 없이 상기 맵 내에서 상기 제1 랜드마크의 위치를 결정하도록 하는 장치.
- 제12항에 있어서,
상기 컴퓨터 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 장치가
제2 랜드마크의 존재를 나타내는 제2 궤적 데이터를 획득하되, 상기 제1 궤적 데이터 및 상기 제2 궤적 데이터 각각은 거리 데이터 및 주변 신호 지문 데이터(ambient signal fingerprint data)를 포함하고;
상기 거리 데이터 및 상기 주변 신호 지문 데이터에 기반하여 상기 제1 랜드마크 및 상기 제2 랜드마크를 비교하며;
상기 비교에 기반하여 상기 맵 상에서 상기 제1 랜드마크의 위치를 조정하고,
상기 주변 신호 지문 데이터는, 상기 장치가 이동하는 지점에서 수신하는 신호의 세기, 강도 또는 특징 중 적어도 하나를 포함하도록 하는 장치.
- 제12항에 있어서,
상기 컴퓨터 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 장치가
상기 제1 궤적 데이터에서, 상기 제1 궤적 데이터의 전체가 아닌 일부를 나타내고 상기 제1 궤적 데이터 내 상기 제1 랜드마크의 위치의 소정 거리 안에 있는 하나 이상의 세그먼트들을 선택하고;
상기 하나 이상의 세그먼트들을 상기 경로 레이아웃의 적어도 일부에 매칭하도록 하는 장치.
- 제12항에 있어서,
상기 제1 궤적 데이터는 상기 제1 궤적 데이터의 시작점에서 상기 제1 랜드마크의 시작점까지 이어지는 지점들의 제1 시퀀스, 및 상기 제1 궤적 데이터의 종점에서 상기 제1 랜드마크의 종점까지 이어지는 지점들의 제2 시퀀스를 포함하고,
상기 컴퓨터 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 장치가 상기 제1 시퀀스 및 상기 제2 시퀀스를 상기 경로 레이아웃의 적어도 일부와 매칭하도록 하고,
상기 제1 랜드마크의 종점은, 상기 제1 궤적 데이터 내에서 상기 제1 랜드마크를 나타내는 궤적이 종료되는 지점을 의미하는 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/948,188 US10415978B2 (en) | 2015-11-20 | 2015-11-20 | Landmark location determination |
US14/948,188 | 2015-11-20 | ||
PCT/KR2016/005916 WO2017086561A1 (en) | 2015-11-20 | 2016-06-03 | Landmark location determination |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180071400A KR20180071400A (ko) | 2018-06-27 |
KR102022668B1 true KR102022668B1 (ko) | 2019-09-18 |
Family
ID=58717448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187016929A KR102022668B1 (ko) | 2015-11-20 | 2016-06-03 | 랜드마크 위치 결정 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10415978B2 (ko) |
EP (1) | EP3351024A4 (ko) |
KR (1) | KR102022668B1 (ko) |
WO (1) | WO2017086561A1 (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10239612B1 (en) * | 2016-07-19 | 2019-03-26 | Cooper Technologies Company | Automated commissioning and floorplan configuration |
US10746559B2 (en) | 2016-08-15 | 2020-08-18 | International Business Machines Corporation | Dynamic route guidance based on real-time data |
US10281279B2 (en) * | 2016-10-24 | 2019-05-07 | Invensense, Inc. | Method and system for global shape matching a trajectory |
EP3322149B1 (en) * | 2016-11-10 | 2023-09-13 | Tata Consultancy Services Limited | Customized map generation with real time messages and locations from concurrent users |
US10254125B2 (en) * | 2016-11-14 | 2019-04-09 | International Business Machines Corporation | Driving assistant system |
EP3409630B1 (en) * | 2017-06-02 | 2020-11-11 | Otis Elevator Company | Passenger conveyor performance rating system |
CN110800274A (zh) * | 2017-07-07 | 2020-02-14 | 北京嘀嘀无限科技发展有限公司 | 确定终端设备位置的***和方法 |
US10317216B1 (en) * | 2018-03-16 | 2019-06-11 | Microsoft Technology Licensing, Llc | Object and location tracking with a graph-of-graphs |
US10740965B2 (en) | 2018-06-01 | 2020-08-11 | Trx Systems, Inc. | Mapping complex building models |
CN116088783A (zh) * | 2018-07-24 | 2023-05-09 | 奇跃公司 | 用于确定和/或评价图像显示设备的定位地图的方法和装置 |
US10345452B1 (en) * | 2018-11-05 | 2019-07-09 | Mapsted Corp. | Method and system for mobile device localization region in trusted-GPS region |
GB2588572B (en) * | 2019-03-20 | 2024-01-10 | Navenio Ltd | Transition Detection |
KR102202874B1 (ko) * | 2019-04-22 | 2021-01-15 | (주)휴빌론 | 도보 네트워크 및 측위 db 확장 방법 및 시스템 |
US10616723B1 (en) * | 2019-07-16 | 2020-04-07 | Eagle Technology, Llc | System for mapping building interior with PDR and ranging and related methods |
CN110602651B (zh) * | 2019-09-20 | 2022-02-01 | 北京智芯微电子科技有限公司 | 基于wifi位置指纹的定位方法以及机器人的定位*** |
US11540083B1 (en) * | 2021-03-16 | 2022-12-27 | GigFlex LLC | Method and apparatus for adaptive location determination |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014074837A1 (en) * | 2012-11-08 | 2014-05-15 | Duke University | Unsupervised indoor localization and heading directions estimation |
Family Cites Families (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108597A (en) | 1996-03-06 | 2000-08-22 | Gmd-Forschungszentrum Informationstechnik Gmbh | Autonomous mobile robot system for sensor-based and map-based navigation in pipe networks |
CN102592497B (zh) | 2005-04-08 | 2014-05-14 | 知识产权之桥一号有限责任公司 | 地图信息更新装置及地图信息更新方法 |
US8836580B2 (en) | 2005-05-09 | 2014-09-16 | Ehud Mendelson | RF proximity tags providing indoor and outdoor navigation and method of use |
KR100679045B1 (ko) | 2005-06-15 | 2007-02-05 | 삼성전자주식회사 | 이동 통신 단말기 사용자의 관심 지점을 결정하는 방법 및 이를 이용한 지리 정보 제공 장치 |
US8670925B2 (en) | 2005-06-21 | 2014-03-11 | Calabrese Holdings L.L.C. | Navigation system and method |
EP1994364A1 (en) | 2006-03-15 | 2008-11-26 | Qualcomm Incorporated | Method anb apparatus for determining relevant point of interest information based upon route of user |
US9137629B2 (en) | 2006-08-31 | 2015-09-15 | Qualcomm Incorporated | Apparatus and methods for providing location-based services to a mobile computing device having a dual processor architecture |
US8930135B2 (en) * | 2007-04-17 | 2015-01-06 | Esther Abramovich Ettinger | Device, system and method of landmark-based routing and guidance |
US9733091B2 (en) | 2007-05-31 | 2017-08-15 | Trx Systems, Inc. | Collaborative creation of indoor maps |
US9395190B1 (en) | 2007-05-31 | 2016-07-19 | Trx Systems, Inc. | Crowd sourced mapping with robust structural features |
WO2009021068A1 (en) | 2007-08-06 | 2009-02-12 | Trx Systems, Inc. | Locating, tracking, and/or monitoring personnel and/or assets both indoors and outdoors |
US8680019B2 (en) | 2007-08-10 | 2014-03-25 | Protelica, Inc. | Universal fibronectin Type III binding-domain libraries |
CH699096A2 (fr) | 2008-07-08 | 2010-01-15 | Gilles Rooss | Systeme de geolocalisation adaptatif pilote par l'environnement. |
KR101017479B1 (ko) | 2008-12-01 | 2011-02-25 | 주식회사 케이티 | 위치기반 서비스에서 관심지점 정보 제공 방법 및 장치 |
US8825074B2 (en) | 2009-02-02 | 2014-09-02 | Waldeck Technology, Llc | Modifying a user'S contribution to an aggregate profile based on time between location updates and external events |
US8812015B2 (en) | 2009-10-01 | 2014-08-19 | Qualcomm Incorporated | Mobile device locating in conjunction with localized environments |
US8543143B2 (en) | 2009-12-23 | 2013-09-24 | Nokia Corporation | Method and apparatus for grouping points-of-interest according to area names |
US9389085B2 (en) | 2010-01-22 | 2016-07-12 | Qualcomm Incorporated | Map handling for location based services in conjunction with localized environments |
US20110208822A1 (en) | 2010-02-22 | 2011-08-25 | Yogesh Chunilal Rathod | Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine |
JP5471626B2 (ja) | 2010-03-09 | 2014-04-16 | ソニー株式会社 | 情報処理装置、マップ更新方法、プログラム及び情報処理システム |
WO2011134048A1 (en) | 2010-04-26 | 2011-11-03 | Locationary Inc. | System, method and computer program for creation or collection of information using crowd sourcing combined with targeted incentives |
US8260539B2 (en) | 2010-05-12 | 2012-09-04 | GM Global Technology Operations LLC | Object and vehicle detection and tracking using 3-D laser rangefinder |
CN102960037B (zh) | 2010-05-19 | 2016-08-10 | 诺基亚技术有限公司 | 物理上约束的无线电地图 |
CN102960036B (zh) | 2010-05-19 | 2016-11-09 | 诺基亚技术有限公司 | 众包视觉和传感器勘测绘图 |
CN102960035A (zh) | 2010-05-19 | 2013-03-06 | 诺基亚公司 | 扩展的指纹产生 |
US20110285591A1 (en) | 2010-05-19 | 2011-11-24 | Palm, Inc. | Correlating contextual data and position data to improve location based services |
US20110313779A1 (en) | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Augmentation and correction of location based data through user feedback |
US8892118B2 (en) | 2010-07-23 | 2014-11-18 | Qualcomm Incorporated | Methods and apparatuses for use in providing position assistance data to mobile stations |
US10169017B2 (en) | 2010-10-21 | 2019-01-01 | International Business Machines Corporation | Crowdsourcing location based applications and structured data for location based applications |
US20120102164A1 (en) | 2010-10-21 | 2012-04-26 | International Business Machines Corporation | Deployment of location based applications with crowdsourced structured points of input for data entry |
US8699773B2 (en) | 2010-10-21 | 2014-04-15 | Beth Israel Deaconess Medical Center | Method for image reconstruction using low-dimensional-structure self-learning and thresholding |
US8676623B2 (en) | 2010-11-18 | 2014-03-18 | Navteq B.V. | Building directory aided navigation |
US8930123B2 (en) | 2010-11-19 | 2015-01-06 | International Business Machines Corporation | Systems and methods for determining traffic intensity using information obtained through crowdsourcing |
US9341720B2 (en) | 2011-01-11 | 2016-05-17 | Qualcomm Incorporated | Camera-based position location and navigation based on image processing |
US8542637B2 (en) | 2011-01-18 | 2013-09-24 | Microsoft Corporation | Clustering crowd-sourced data for determining beacon positions |
US8577389B2 (en) | 2011-01-18 | 2013-11-05 | Microsoft Corporation | Filtering and clustering crowd-sourced data for determining beacon positions |
US20120185458A1 (en) | 2011-01-18 | 2012-07-19 | Microsoft Corporation | Clustering crowd-sourced data to identify event beacons |
US8320939B1 (en) | 2011-04-21 | 2012-11-27 | Google Inc. | Crowd-sourced information for interior localization and navigation |
US8583400B2 (en) | 2011-05-13 | 2013-11-12 | Google Inc. | Indoor localization of mobile devices |
US8811748B2 (en) | 2011-05-20 | 2014-08-19 | Autodesk, Inc. | Collaborative feature extraction system for three dimensional datasets |
US20120303556A1 (en) | 2011-05-27 | 2012-11-29 | Microsoft Corporation | Comparison of modeling and inference methods at multiple spatial resolutions |
US8548738B1 (en) | 2011-07-08 | 2013-10-01 | Google Inc. | Constructing paths based on a particle model |
US8559975B2 (en) | 2011-07-22 | 2013-10-15 | Microsoft Corporation | Location determination based on weighted received signal strengths |
KR101668784B1 (ko) | 2011-09-23 | 2016-10-24 | 퀄컴 인코포레이티드 | 근접 핑거프린트들을 통한 포지션 추정 |
US20130084882A1 (en) | 2011-09-30 | 2013-04-04 | Qualcomm Incorporated | Becoming more "aware" through use of crowdsourcing and device interaction |
US8472980B2 (en) | 2011-10-01 | 2013-06-25 | Qualcomm Incorporated | Flexible architecture for location based crowdsourcing of contextual data |
KR102147625B1 (ko) | 2011-11-02 | 2020-08-24 | 샤이 론넨 | 위치지문맵의 생성 및 이용 |
US8626198B2 (en) | 2011-11-16 | 2014-01-07 | Qualcomm Incorporated | Characterizing an indoor structure based on detected movements and/or position locations of a mobile device |
CN103118427B (zh) | 2011-11-16 | 2015-01-07 | 北京百度网讯科技有限公司 | 基于位置预取的定位方法及*** |
KR20130063915A (ko) | 2011-12-07 | 2013-06-17 | 한국전자통신연구원 | 실내 측위를 위한 경로 추정 방법 및 그 장치 |
WO2013100287A1 (ko) | 2011-12-29 | 2013-07-04 | Song Ha Yoon | 데이터처리방법, 데이터처리장치, 데이터수집방법, 및 정보제공방법 |
KR102038856B1 (ko) | 2012-02-23 | 2019-10-31 | 찰스 디. 휴스턴 | 환경을 생성하고 환경내 위치기반 경험을 공유하는 시스템 및 방법 |
US9052203B2 (en) | 2012-03-17 | 2015-06-09 | Mcube, Inc. | Methods and apparatus for low-cost inertial dead-reckoning using context detection |
US20130267251A1 (en) | 2012-04-10 | 2013-10-10 | Qualcomm Incorporated | Personalized position using information correlation and self-sourcing |
US9439041B2 (en) | 2012-06-29 | 2016-09-06 | Lighthouse Signal Systems, Llc | Systems and methods for calibration based indoor geolocation |
EP2885609B1 (en) | 2012-08-15 | 2021-04-21 | Google LLC | Crowd-sourcing indoor locations |
US8934884B2 (en) | 2012-09-21 | 2015-01-13 | SenionLab AB | Method and device for indoor position resolution |
US9338622B2 (en) | 2012-10-04 | 2016-05-10 | Bernt Erik Bjontegard | Contextually intelligent communication systems and processes |
KR101382331B1 (ko) | 2012-10-30 | 2014-04-08 | 현대자동차 주식회사 | 클러스터의 음성 재생 장치 |
US9678660B2 (en) | 2012-11-05 | 2017-06-13 | Nokia Technologies Oy | Method and apparatus for conveying efficient map panning over a mapping user interface |
US9226111B2 (en) | 2012-11-21 | 2015-12-29 | Apple Inc. | Pathway matching |
WO2014102568A1 (en) | 2012-12-27 | 2014-07-03 | Arria Data2Text Limited | Method and apparatus for motion detection |
US20140188537A1 (en) | 2013-01-02 | 2014-07-03 | Primordial | System and method for crowdsourcing map production |
KR20140099386A (ko) | 2013-02-01 | 2014-08-12 | 한국전자통신연구원 | 모바일 단말과 전자해도 서버 및 그의 크라우드소싱 기반의 전자해도 갱신 방법 |
US10375517B2 (en) | 2013-03-08 | 2019-08-06 | Microsoft Technology Licensing, Llc | Crowd sourced pathway maps |
US9164844B2 (en) | 2013-03-12 | 2015-10-20 | Qualcomm Incorporated | Method and apparatus for detecting anomalies within indoor information |
WO2014172792A1 (en) | 2013-04-26 | 2014-10-30 | E-Twenty Development Incorporated | Navigation computer system including landmark identifier scanning |
US9113310B2 (en) | 2013-05-21 | 2015-08-18 | Intel Corporation | Systems and methods for simultaneously and automatically creating databases of wifi signal information |
US8958985B1 (en) * | 2014-01-31 | 2015-02-17 | United Parcel Service Of America, Inc. | Concepts for determining the accuracy of map data |
US10466056B2 (en) | 2014-04-25 | 2019-11-05 | Samsung Electronics Co., Ltd. | Trajectory matching using ambient signals |
US9863773B2 (en) | 2014-04-29 | 2018-01-09 | Samsung Electronics Co., Ltd. | Indoor global positioning system |
US10599953B2 (en) | 2014-08-27 | 2020-03-24 | Verint Americas Inc. | Method and system for generating and correcting classification models |
-
2015
- 2015-11-20 US US14/948,188 patent/US10415978B2/en active Active
-
2016
- 2016-06-03 KR KR1020187016929A patent/KR102022668B1/ko active IP Right Grant
- 2016-06-03 EP EP16866514.9A patent/EP3351024A4/en active Pending
- 2016-06-03 WO PCT/KR2016/005916 patent/WO2017086561A1/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014074837A1 (en) * | 2012-11-08 | 2014-05-15 | Duke University | Unsupervised indoor localization and heading directions estimation |
Also Published As
Publication number | Publication date |
---|---|
EP3351024A1 (en) | 2018-07-25 |
US10415978B2 (en) | 2019-09-17 |
KR20180071400A (ko) | 2018-06-27 |
US20170146349A1 (en) | 2017-05-25 |
WO2017086561A1 (en) | 2017-05-26 |
EP3351024A4 (en) | 2018-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102022668B1 (ko) | 랜드마크 위치 결정 | |
KR102399591B1 (ko) | 관심 지역 및 입구의 위치를 결정하는 시스템 | |
CN104781686B (zh) | 路径匹配 | |
US11199412B2 (en) | Collaborative creation of indoor maps | |
KR102297478B1 (ko) | 주변 신호를 이용한 궤적 매칭 | |
EP3019827B1 (en) | Indoor location-finding using magnetic field anomalies | |
CA2663896C (en) | Concept for localizing a position on a path | |
US10375517B2 (en) | Crowd sourced pathway maps | |
US20180003507A1 (en) | Position estimation | |
KR20170018662A (ko) | 위치 추적 시스템 및 방법 | |
JP2013517480A (ja) | ロケーションコンテキスト識別子を用いた移動局ナビゲーションのためのスケーラブルルーティング | |
CN107110652B (zh) | 处理空间特征 | |
CN111123198A (zh) | 一种楼宇内的用户定位导航方法及*** | |
US11785430B2 (en) | System and method for real-time indoor navigation | |
Wagner et al. | An approach for hybrid indoor/outdoor navigation | |
KR101621839B1 (ko) | 이동 패턴 데이터베이스를 이용한 측위 방법 및 시스템 | |
GB2570853A (en) | Identifying sites visited by a user device | |
KR101161103B1 (ko) | 사용자 위치 추적 방법, 이를 이용한 평면도 제작 방법 및 장치 | |
Link et al. | Accurate map-based indoor navigation on the mobile | |
Ghantous et al. | Augmented reality indoor navigation based on Wi-Fi trilateration | |
Bachtler et al. | Kalman filter supported WiFi and PDR based indoor positioning system |
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 | ||
GRNT | Written decision to grant |