KR102282367B1 - 크라우드소싱을 이용한 위치 결정, 매핑 및 데이터 관리 시스템 및 방법 - Google Patents

크라우드소싱을 이용한 위치 결정, 매핑 및 데이터 관리 시스템 및 방법 Download PDF

Info

Publication number
KR102282367B1
KR102282367B1 KR1020150057331A KR20150057331A KR102282367B1 KR 102282367 B1 KR102282367 B1 KR 102282367B1 KR 1020150057331 A KR1020150057331 A KR 1020150057331A KR 20150057331 A KR20150057331 A KR 20150057331A KR 102282367 B1 KR102282367 B1 KR 102282367B1
Authority
KR
South Korea
Prior art keywords
data
radio frequency
segments
map
regions
Prior art date
Application number
KR1020150057331A
Other languages
English (en)
Other versions
KR20150124396A (ko
Inventor
코이치 모리
사티쉬 수다르산
대니 베네트
이페이 찌앙
야닉 펠렛
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP15786005.7A priority Critical patent/EP3139196B1/en
Priority to PCT/KR2015/004109 priority patent/WO2015167172A1/ko
Priority to CN201580023462.8A priority patent/CN106461768B/zh
Publication of KR20150124396A publication Critical patent/KR20150124396A/ko
Application granted granted Critical
Publication of KR102282367B1 publication Critical patent/KR102282367B1/ko

Links

Images

Classifications

    • 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
    • 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/029Location-based management or tracking services
    • 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/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/02Systems for determining distance or velocity not using reflection or reradiation using radio waves
    • G01S11/06Systems for determining distance or velocity not using reflection or reradiation using radio waves using intensity measurements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/03Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
    • G01S19/05Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing aiding data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/013Identifying areas in a building
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/0244Accuracy or reliability of position solution or of measurements contributing thereto
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Radio frequency fingerprinting
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Radio frequency fingerprinting
    • G01S5/02521Radio frequency fingerprinting using a radio-map
    • G01S5/02524Creating or updating the radio-map
    • G01S5/02525Gathering the radio frequency fingerprints
    • G01S5/02526Gathering the radio frequency fingerprints using non-dedicated equipment, e.g. user equipment or crowd-sourcing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0294Trajectory determination or predictive filtering, e.g. target tracking or Kalman filtering
    • 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/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Abstract

복수의 궤적에 대한 세그먼트들을 결정하는 단계로서, 복수의 궤적 각각은 통신 디바이스의 무선 주파수 데이터를 포함하는 것을 특징으로 하는, 결정하는 단계; 세그먼트들의 무선 주파수 특성을 결정하는 단계; 무선 주파수 특성에 따라 세그먼트들의 클러스터들을 형성하는 단계; 및 클러스터들을 이용하여 지도의 경로들을 생성하는 단계; 를 포함하는, 방법을 제공한다.

Description

크라우드소싱을 이용한 위치 결정, 매핑 및 데이터 관리 시스템 및 방법{System and Method for Location Determination, Mapping, and Data Management through Crowdsourcing}
크라우드소싱(Crowdsourcing)을 이용한 위치 결정, 매핑 및 데이터 관리에 관한 것이다.
위치 기반 서비스는 사용자를 위한 과제를 수행하거나 하나 이상의 컴퓨터 기반 동작을 제어하기 위해 사용자 디바이스의 위치 데이터를 이용하는 컴퓨터 서비스의 일종이다. 사용자가 실외에 있을 때, 사용자의 위치는 이미 결정되어 있을 수 있다. 예를 들어, 사용자의 통신 디바이스는 통신 디바이스의 정확한 위치 정보를 결정할 수 있도록 하는 위치측정시스템(GPS) 수신기를 포함할 수 있다.
하지만, 사용자가 실내에 있을 때에는 위치 결정이 어려울 수 있다. 실내에서 동작할 때, GPS 수신기는 신뢰도가 떨어지는 경향을 보이거나, 전혀 동작하지 않아 GPS 위치 데이터로 전개도를 만드는 것이 불가능할 수 있다. GPS 위치 데이터가 없으면, 사용자에게 높은 품질의 위치기반 서비스를 제공하는 데 문제가 있을 수 있다.
크라우드소싱(Crowdsourcing)을 이용하여 위치 결정, 매핑 및 데이터 관리가 가능한 시스템 및 방법을 제공한다.
일 실시 예에 따른 방법은 복수의 궤적(trajectory)에 대한 세그먼트들(segments)을 결정하는 단계로서, 복수의 궤적 각각은 통신 디바이스의 무선 주파수(radio frequency, RF) 데이터를 포함하는 것을 특징으로 하는, 결정하는 단계; 세그먼트들의 무선 주파수 특성을 결정하는 단계; 무선 주파수 특성에 따라 세그먼트들의 클러스터(cluster)들을 형성하는 단계; 및 클러스터들을 이용하여 지도의 경로들을 생성하는 단계; 를 포함할 수 있다.
또한, 경로들을 생성하는 단계는, 클러스터들로부터 세그먼트 트리들(segment trees)을 생성하는 단계; 및 세그먼트 트리들을 이용하여 지도를 생성하는 단계; 를 포함할 수 있다.
또한, 무선 주파수 데이터는 와이파이(Wi-Fi) 데이터를 포함하고; 무선 주파수 특성은 와이파이 특성을 포함할 수 있다.
또한, 와이파이 특성 각각은 무선접속장치 식별자 및 세그먼트들 중 하나로부터 특정 거리 상에 위치한 무선접속장치 식별자의 경향을 포함할 수 있다.
또한, 무선 주파수 데이터는 자기장 데이터를 포함하고; 무선 주파수 특성은 자기장 특성을 포함할 수 있다.
또한, 자기장 특성 각각은 세그먼트들 중 하나로부터 특정 거리 상에 위치한, 임계 자기장 세기를 초과하는 자기장의 세기를 포함할 수 있다.
또한, 무선 주파수 데이터는 와이파이 데이터 및 자기장 데이터를 포함하고; 무선 주파수 특성은 와이파이 특성 및 자기장 특성을 포함할 수 있다.
또한, 일 실시 예에 따른 방법은 지도의 영역과 무선 주파수 데이터를 연관시키는 단계; 무선 주파수 데이터 단위 각각과 연관된 영역의 데이터 밀도에 기초하여 무선 주파수 데이터 단위들의 유효성 점수를 조정하는 단계;를 더 포함하고, 세그먼트들을 결정하는 단계는, 세그먼트들을 결정하기 위하여, 무선 주파수 데이터 단위들 중 최소 유효성 점수를 초과하는 유효성 점수를 갖는 무선 주파수 데이터 단위들만을 선택하여 이용하는 단계; 를 포함할 수 있다.
또한, 일 실시 예에 따른 방법은 영역들의 데이터 밀도에 기초하여 영역들의 데이터 무효율을 결정하는 단계; 를 더 포함하고, 유효성 점수를 조정하는 단계는, 무선 주파수 데이터 단위 각각과 연관된 지도 상의 영역의 데이터 무효율을 이용하여 무선 주파수 데이터 단위들의 유효성 점수를 시간이 지남에 따라 감소시키는 단계를 포함할 수 있다.
일 실시 예에 따른 시스템은 프로세서; 적어도 하나의 명령어를 포함하는 메모리; 적어도 하나의 명령어는, 프로세서에 의하여 수행될 때, 복수의 궤적에 대한 세그먼트들을 결정하는 단계로서, 복수의 궤적 각각은 통신 디바이스의 무선 주파수 데이터를 포함하는 것을 특징으로 하는, 결정하는 단계; 세그먼트들의 무선 주파수 특성을 결정하는 단계; 무선 주파수 특성에 따라 세그먼트들의 클러스터들을 형성하는 단계; 및 클러스터들을 이용하여 지도의 경로들을 생성하는 단계; 를 포함하는 방법을 수행하기 위한 명령어들을 포함할 수 있다.
일 실시 예에 따른 복수의 궤적에 대한 세그먼트들을 결정하는 단계로서, 복수의 궤적 각각은 통신 디바이스의 무선 주파수 데이터를 포함하는 것을 특징으로 하는, 결정하는 단계; 세그먼트들의 무선 주파수 특성을 결정하는 단계; 무선 주파수 특성에 따라 세그먼트들의 클러스터들을 형성하는 단계; 및 클러스터들을 이용하여 지도의 경로들을 생성하는 단계; 를 포함하는 방법을 프로세서에서 실시할 수 있는 명령어를 기록한, 컴퓨터로 읽을 수 있는 비 일시적인 기록매체가 제공된다.
일 실시 예에 따른 방법은 복수의 통신 디바이스로부터 데이터 단위들을 수신하는 단계로서, 데이터 단위들은 각각 위치 정보를 포함하는, 수신하는 단계; 위치 정보를 이용하여 지도 상의 영역들과 데이터 단위들을 연관시키는 단계; 영역들의 데이터 밀도를 결정하는 단계로서, 데이터 밀도는 영역으로부터 소정의 시간 동안 수신된 데이터 단위들의 개수를 나타내는 것을 특징으로 하는, 결정하는 단계; 및 영역들의 데이터 밀도에 대한 지시자를 제공하는 단계; 를 포함할 수 있다.
또한, 일 실시 예에 따른 방법은 특정 데이터 단위와 연관된 영역의 데이터 밀도에 기초하여 특정 데이터 단위의 유효성 점수를 시간에 따라 조정하는 단계; 및 특정 데이터 단위의 유효성 점수가 최소 유효성 점수를 초과하지 못하는 경우, 특정 데이터 단위를 무효화하는 단계; 를 더 포함할 수 있다.
또한, 일 실시 예에 따른 방법은 영역에 따라 특정된(region specific) 유효성 정보를 데이터 단위들 각각에 할당하는 단계; 지도의 영역들에 대한 데이터 무효율을 결정하는 단계; 데이터 단위들 각각과 연관된 지도 상의 영역의 데이터 무효율을 이용하여 데이터 단위들의 유효성 점수를 시간이 지남에 따라 감소시키는 단계; 및 데이터 단위들의 유효성 점수가 최소 유효성 점수를 초과하지 못하는 경우, 데이터 단위들을 무효화하는 단계; 를 더 포함할 수 있다.
또한, 일 실시 예에 따른 방법은 특정 영역이 데이터 밀도 임계값을 초과하는 데이터 밀도를 가지고 있음을 결정하는 데 대한 반응으로 영역을 복수의 작은 영역들로 세분하는 단계; 를 더 포함할 수 있다.
또한, 일 실시 예에 따른 방법은 복수의 선택된 영역들 각각에 대한 데이터 밀도가 데이터 밀도 임계값보다 낮다는 것을 결정하는 데 대한 반응으로 복수의 선택된 영역들을 하나의 큰 영역으로 병합하는 단계; 를 더 포함하고, 복수의 선택된 영역들 각각은 복수의 선택된 영역들 중 적어도 하나와 인접한 것을 특징으로 한다.
또한, 일 실시 예에 따른 방법은 시간에 따른 영역의 데이터 밀도에 기초하여 지도 상의 영역에 대한 데이터 무효율을 업데이트하는 단계; 를 더 포함할 수 있다.
일 실시 예에 따른 시스템은 프로세서; 적어도 하나의 명령어를 포함하는 메모리; 적어도 하나의 명령어는, 프로세서에 의하여 수행될 때, 복수의 통신 디바이스로부터 데이터 단위들을 수신하는 단계로서, 데이터 단위들 각각은 위치 정보를 포함하는, 수신하는 단계; 위치 정보를 이용하여 지도 상의 영역들과 데이터 단위들을 연관시키는 단계; 영역들의 데이터 밀도를 결정하는 단계로서, 데이터 밀도는 영역으로부터 소정의 시간 동안 수신된 데이터 단위들의 개수를 나타내는 것을 특징으로 하는, 결정하는 단계; 및 영역들의 데이터 밀도에 대한 지시자를 제공하는 단계; 를 포함하는 방법을 수행하기 위한 명령어들을 포함할 수 있다.
도 1 은 통신 시스템의 예시를 도시한 도면이다.
도 2 는 데이터 처리 시스템의 예시를 도시한 구성도이다.
도 3 은 경로 생성 방법의 예시를 도시한 흐름도이다.
도 4 는 세그먼트들에 대한 무선 주파수 특성을 결정하는 방법의 예시를 도시한 흐름도이다.
도 5 는 세그먼트들에 대한 무선 주파수 특성을 결정하는 다른 방법의 예시를 도시한 흐름도이다.
도 6 은 세그먼트들의 클러스터를 형성하는 방법의 예시를 도시한 흐름도이다.
도 7 은 지도에 대한 경로를 생성하는 제 1 측면의 예시를 도시한 흐름도이다.
도 8 은 지도의 경로를 생성하는 제 2 측면의 예시를 도시한 흐름도이다.
도 9 는 보행자 추측 항법에 의한 복수의 궤적에 대한 예시를 도시한 도면이다.
도 10 은 보행자 추측 항법 궤적의 예시로부터 세그먼트들을 결정하는 방법의 예시를 도시한 도면이다.
도 11 은 복수의 세그먼트들로부터 클러스터를 형성하는 방법의 예시를 도시한 도면이다.
도 12 는 경로 세그먼트의 길이 및 기준점을 결정하는 방법의 예시를 도시한 도면이다.
도 13 은 세그먼트 트리들을 결정하는 방법의 예시를 도시한 도면이다.
도 14 는 지도의 경로들을 생성하는 방법의 예시를 도시한 도면이다.
도 15 는 위치 결정을 수행하는 방법의 예시를 도시한 흐름도이다.
도 16 은 실내 구조물의 지도의 예시를 도시한 구성도이다.
도 17 은 데이터를 검사하는 방법의 예시를 도시한 흐름도이다.
도 18 은 데이터 검사를 위해 지도의 영역들을 관리하는 방법의 예시를 도시한 흐름도이다.
도 19 는 데이터 유효성을 관리하기 위한 지도의 예시를 도시한 도면이다.
도 20 은 궤적을 특정하는 데이터 단위들을 수신한 후의 지도의 예시를 도시한 도면이다.
도 21 은 복수의 궤적을 수신한 후의 지도의 예시를 도시한 도면이다.
도 22 는 데이터 검사를 통한 경로 생성 방법의 예시를 도시한 흐름도이다.
청구항에 개시된 내용만으로도 신규한 특징을 정의할 수 있지만, 여기에서 서술하는 다양한 특징들은 도면과 함께 설명할 때 더 잘 이해될 수 있다. 본 개시에서 서술된 과정, 기계, 제법 및 어떠한 응용들도 예시로서 제공될 수 있다. 구조 및 기능을 특정하는 어떠한 상세한 설명도, 청구항에 기재된 내용의 기초가 되어 통상의 기술을 가진 자가 사실상 개시되어 있는 모든 상세한 구조를 다양하게 적용할 수 있도록 묘사하는 데 그 목적이 있고, 이에 제한되도록 하기 위한 것이 아니다. 나아가, 여기에 개시된 용어 및 구절은 본 명세서에 묘사된 특징들에 대한 이해하기 쉬운 설명을 제공하기 위한 것이고, 이에 제한되도록 하기 위한 것이 아니다.
본 명세서는 크라우드소싱(Crowdsourcing)을 이용한 위치 결정, 매핑(mapping) 및 데이터 관리에 관한 것이다. 본 명세서에 개시된 기술적 사상에 있어서, 크라우드소싱된 데이터는 하나 이상의 사용자의 하나 이상의 통신 디바이스로부터 일정 시간에 걸쳐 획득한 서로 다른 종류의 데이터들을 포함할 수 있다. 크라우스소싱된 데이터를 이용하여, 특정한 지리적 위치 및/또는 구조물의 지도가 자동으로 생성될 수 있다. 예를 들어, 지도는 구조물의 실내에 대한 것일 수 있다. 본 명세서에서, “자동으로” 라는 것은 사용자의 개입이 없는 것을 의미한다. 본 명세서에서, “사용자” 라는 것은 사람을 의미한다.
크라우드소싱된 데이터는 통신 디바이스로부터 획득한 위치 데이터를 포함할 수 있다. 위치 데이터는 통신 디바이스에 적용된 보행자 추측 항법(pedestrian dead reckoning, PDR) 기술을 이용하여 결정된 사용자 디바이스의 추정 위치를 포함할 수 있다. 일부 실시 예에서, 위치 데이터는 위치 추정 시스템(Global Positioning System, GPS) 데이터, 즉 좌표 데이터로 특정될 수 있다. 다른 실시 예에서, 크라우드소싱된 데이터는 무선 주파수(Radio Frequency, RF) 데이터를 포함할 수 있다. 무선 주파수 데이터는 와이파이 데이터, 자기장 데이터 또는 두 데이터의 조합을 포함할 수 있다. 와이파이 데이터와 자기장 데이터가 서로 다른 특성을 가지고 있지만, 두 데이터 모두 시간에 따른 상대적 안정도를 보인다.
크라우드소싱된 데이터는 유효성을 결정하기 위해 평가를 받을 수 있다. 크라우드소싱된 데이터 중 무효로 판단된 항목은 위치 결정 및/또는 매핑을 위해 사용되지 않을 수 있다. 데이터가 유효한지 여부는 데이터의 밀도에 따라 결정될 수 있다. 데이터 밀도는 시간적 요소와 공간적 요소를 포함할 수 있다. 예를 들어, 큰 시간적 밀도 및/또는 큰 공간적 밀도를 갖는 영역의 데이터 항목은 작은 시간적 밀도 및/또는 작은 공간적 밀도를 갖는 영역의 데이터 항목보다 더 빠른 속도로 무효화될 수 있다.
일 실시 예에서, 본 명세서에 기재된 기술적 사상은 데이터 처리 시스템이 수행하는 방법 또는 프로세스로서 실시될 수 있다. 다른 실시 예에서, 기술적 사상은 프로세서를 갖춘 데이터 처리 시스템과 같은 장치로서 실시될 수도 있다. 프로그램 코드를 실행하는 프로세서는 본 명세서에 개시된 하나 이상의 동작을 수행할 수 있다. 또 다른 실시 예에서, 기술적 사상은 프로세서 및/또는 시스템에서 실행되었을 때 동작을 수행 및/또는 방법 또는 프로세스를 실행할 수 있도록 하는 프로그램 코드를 포함하는, 컴퓨터로 읽을 수 있는 비 일시적인 기록매체로서 실시될 수 있다.
도면을 명확하고 간단하게 도시하기 위해, 도면의 구성요소들은 크기에 맞춰 도시되지 않았을 수 있다. 예를 들어, 명확성을 위해 일부 구성요소의 크기가 다른 구성요소에 비해 과장되어 도시되었을 수 있다. 나아가, 도면 간에 서로 대응되거나 유사한 구성요소에 대한 참조번호가 적절하게 반복될 수 있다.
도 1 은 통신 시스템(100)의 예시를 도시한 도면이다. 도시된 바와 같이, 통신 시스템(100)은 하나 이상의 통신 디바이스(105, 110 및 115)를 포함할 수 있다. 본 명세서에서 정의한 바와 같이, “통신 디바이스” 는 통신 채널을 이용하여 다른 디바이스와 통신할 수 있는 디바이스를 의미한다. 통신 디바이스의 일 실시 예는 핸드폰, 스마트폰과 같은 휴대용 기기, 태블릿 컴퓨터와 같이 와이파이 또는 다른 무선 송수신기를 구비한 컴퓨팅 디바이스 또는 그와 유사한 디바이스를 포함할 수 있으나, 이에 제한되지 않는다. 도 1 에 도시된 통신 디바이스의 수는 예시일 뿐이며 이에 제한되지 않는다. 시스템(100)은 세 개 이하의 통신 디바이스 또는 세 개 이상의 통신 디바이스를 포함할 수 있다.
일 실시 예에서, 각각의 통신 디바이스(105, 110 및/또는 115)는 보행자 추측 항법을 실시할 수 있는 모듈을 포함할 수 있다. 보행자 추측 항법 모듈은 예를 들어 어플리케이션 프로그램일 수 있고, 통신 디바이스의 현재 위치를 계산하도록 구성될 수 있다. 예를 들어, 기 결정된 위치를 이용하여, 기 결정된 위치로부터 알려지거나 추정된 속도로 이동한 경로 및 속도에 기초할 수 있다. 보행자 추측 항법 모듈의 동작을 시작하는 시작 지점은 통신 디바이스가 마지막으로 측정한 신뢰할 수 있는 위치일 수 있다. 예를 들어, 통신 디바이스의 GPS 시스템이 더 이상 용인할 수 있는 수준의 정확도 및/또는 신뢰도를 갖는 위치를 결정하는 것이 불가능해지기 전에 마지막으로 측정한 위치일 수 있다.
보행자 추측 항법에 기초한 기술들은 위치 추정을 제공하지만, 또한 보행자 추측 항법에 기초한 기술들은 다양한 오류를 가지고 있다. 예를 들어, 정확한 위치를 결정하기 위하여 매 순간의 속도 및 방향을 즉시 알아야 하는데, 이는 때로 문제가 될 수 있다. 예를 들어, 가속도계 데이터가 보수계로서 활용되는 경우 사용자의 보폭에 대한 추정이 이용될 수 있기 때문이다. 나아가, 각각의 새로운 위치 추정은 이전의 위치 추정에 대해 상대적으로 이루어지기 때문에, 통신 디바이스의 실제 위치와 추정된 위치 간의 차이가 점차 누적되어 큰 오차가 발생할 수 있다.
통신 디바이스(105, 110 및 115)는 데이터 처리 시스템(120)과 네트워크(135)를 통하여 통신적으로 연결되어 있다. 본 명세서에서 개시한 바와 같이, “데이터 처리 시스템” 이란 운영체제 소프트웨어 및 하나 이상의 어플리케이션 및/또는 서비스를 적절하게 실행하는 컴퓨팅 시스템 또는 두 개 이상의 네트워크로 연결된 컴퓨팅 시스템들을 의미한다. 예를 들어, 데이터 처리 시스템(120)은 하나 이상의 물리적 서버, 클라우드 컴퓨팅 시설, 하나 이상의 물리적 서버에서 실행되는 하나 이상의 가상 서버 또는 이들의 조합으로서 실시될 수 있다.
일 실시 예에서, “통신 채널” 이란 전선 또는 광 케이블과 같은 특정한 물리적 전달 매체를 의미한다. 다른 실시 예에서, “통신 채널” 이란 특정한 통신 프로토콜 및/또는 논리적 연결을 의미한다. 또 다른 실시 예에서, “통신 채널” 이란 특정한 무선 접속 기술(radio access technology, RAT)을 의미한다. 서로 다른 무선 접속 기술의 예시는 근거리무선통신(Near Field Communication, NFC), 블루투스, 60Hz(예를 들어, 전원선을 이용), 와이파이(통신 프로토콜의 802.11 군 중 어떠한 것과도 관계될 수 있는, IEEE 802.11x), 와이맥스(Worldwide Interoperability for Microwave Access, WiMax), 롱텀 에볼루션(Long-Term Evolution, LTE), UMTS(Universal Mobile Telecommunication System), GSM/GPRS(Global System for Mobile/General Packet Radio Service) 등을 포함할 수 있으나, 이에 제한되지 않는다. “무선 통신 채널”은 일반적으로 특정한 RAT를 나타낸다.
데이터 처리 시스템(120) 은 하나 이상의 어플리케이션, 서비스 또는 다른 프로그램 코드 모듈을 실행할 수 있는 하나 이상의 프로세서(132)를 포함할 수 있다. 예를 들어, 시스템(120)은 지도 생성기(125) 및 데이터 검사기(130)를 포함할 수 있다. 지도 생성기(125) 및 데이터 검사기(130)는 하나 이상의 프로세서(132)에 구현될 수 있다. 나아가, 도시된 바와 같이, 시스템(120)은 통신 디바이스(105, 110 및/또는 115)로부터 수신된 데이터를 저장하도록 구성된 하나 이상의 메모리(134)를 포함할 수 있다.
네트워크(135)는 시스템(100)에서 서로 연결되어 있는 다양한 디바이스 및 데이터 처리 시스템 간의 통신 링크를 제공하기 위해 사용되는 매체이다. 네트워크(135)는 전선, 무선 통신 링크 또는 광섬유 케이블과 같은 연결을 포함할 수 있다. 네트워크(135)는 원거리 통신(Wide Area Network, WAN), 근거리 통신(Local Area Network, LAN), WAN 또는 LAN의 무선 네트워크, 모바일 네트워크, 가상 사설망(Virtual Private Network, VPN), 인터넷, 일반 전화 교환망 통신(Public Switched Telephone Network, PSTN)또는 그와 유사한, 서로 다른 다양한 통신 기술들을 포함하거나, 이용하여 실시될 수 있다.
도 1 에 도시된 바와 같이, 디바이스(105, 110 및/또는 115)중 적어도 하나가 구조물(140)내에 있을 수 있다. 구조물(140)은 빌딩일 수 있다. 빌딩은 개인 또는 사무용일 수 있다. 예를 들어, 구조물(140)은 사무실과 같은 사무용 시설, 개인용 주택 또는 그와 유사한 것일 수 있다. 구조물(140)은 예시로서 도시된 것이고, 이에 제한되지 않는다. 예를 들어, 구조물(140)은 복수의 층, 복수의 방, 복도 및 그와 유사한 것들을 포함할 수 있다(도시되지 않음).
일 실시 예에서, 구조물(140)의 내부는 알려지지 않았거나 매핑되지 않았을 수 있다. 예를 들어, 구조물(140)의 다양한 방들의 위치, 경로, 입구와 출구의 위치, 통로 등에 대한 정보는 알려지지 않았을 수 있다. 시스템(120)은 각각의 통신 디바이스(105, 110 및 115)로부터 데이터 단위(145, 150 및 155)를 수신할 수 있다. 데이터 단위(145, 150 및/또는 155)에 포함된 데이터 항목들은 각각의 통신 디바이스(105, 110 및/또는 115)의 센서를 이용하여 탐지되거나 수집된 다양한 데이터 항목들을 포함할 수 있다. 데이터 항목들은 보행자 추측 항법 위치 데이터, 무선 주파수 데이터 및 타임 스탬프(time stamp)를 포함할 수 있으나, 이에 제한되지 않는다. 일부 실시 예에서, GPS를 이용할 수 있으면 GPS 데이터가 제공될 수 있다. 무선 주파수 데이터는 자기장의 세기를 포함할 수 있고, 자기장의 방향(예를 들어, 자기장의 x, y, z 성분)을 더 포함할 수도 있으며, 무선 접속장치(wireless access point, WAP)의 이름 또는 식별자(ID) 및/또는 WAP ID에 대한 수신된 신호 세기 지표(Received Signal Strength Indicator, RSSI)를 포함할 수 있다.
각각의 통신 디바이스(105, 110 및/또는 115)는 일정 기간 동안 주기적으로, 가끔 또는 그와 유사한 기준을 가지고 데이터 단위들을 제공할 수 있다. 따라서, 하나의 데이터 단위가 각각의 통신 디바이스(105, 110 및 115)에 제공될 경우, 각각의 통신 디바이스(105, 110 및 115)는 복수의 데이터 단위들을 일정 시간에 걸쳐 전송할 수 있다. 이에 따라, 데이터 단위(145, 150 및 155)는 프로세서(132)를 이용하여 처리 및/또는 메모리(134)에 저장될 수 있다. 시스템(120)은 구조물(140)에 대한 지도를 결정하기 위해 구성될 수 있다. 지도는 구조물(140)의 내부에 대한 것일 수 있다. 예를 들어, 시스템(120)이 결정한 지도는 구조물(140)내부의 하나 이상의 경로를 특정하는 것일 수 있다.
본 명세서에 개시된 바와 같이, “경로” 는 사용자가 이동하거나 선택한 길을 의미한다. 일 실시 예에서, 경로는 구조물과 같은 실내에 제한될 수 있다. 예를 들어, 경로는 사람이 걸어서 지나갈 수 있는 샛길, 연결되어 있는 방 또는 통로 등이 될 수 있다. 경로는 실외에도 있을 수 있다.
다른 실시 예에서, 통신 디바이스(105, 110 및/또는 115)로부터 수신된 데이터는 서로 다른 속도로 무효화될 수 있다. 예를 들어, 데이터 단위(145)가 시스템(120)에 의해 큰 데이터 밀도를 갖는 영역으로부터 결정되었으면, 데이터 단위(145)는 작은 데이터 밀도를 갖는 영역으로부터 결정된 데이터 단위(150)에 비해 짧은 시간 안에, 빠른 속도로 무효화될 수 있다. 무효화된 데이터는 지도 생성 프로세스에서 사용되지 않을 것이다. 새로운 데이터가 더 자주 그리고 더 많이 나타날 것으로 기대되는 영역에서는, 불필요한 데이터를 과도하게 저장하는 것을 방지하기 위해 데이터 단위가 빠른 속도로 무효화될 수 있다. 새로운 데이터가 자주 나타날 것으로 기대되지 않는 영역에서는, 너무 많은 데이터를 무효화하기 전에 새로운 데이터가 충분히 수신될 수 있도록 데이터 단위가 느린 속도로 무효화될 수 있다.
또 다른 실시 예에서, 시스템(120)이 구조물(140)의 지도 및/또는 경로를 생성하면, 구조물(140)에 있는 통신 디바이스로부터 수신한 어떠한 추가 데이터라도 지도에 특정된 경로들에 관하여 지도상에 위치하도록 할 수 있다. 통신 디바이스의 사용자들은 구조물(140)과 같은 구조물 내부에 위치해 있을 때 더 높은 품질과 높은 정확성을 갖는 위치기반 서비스를 제공받을 수 있다.
도 2 는 데이터 처리 시스템의 예시를 도시한 구성도이다. 일 실시 예에서, 구성(200)은 도 1 의 시스템(120)에 적용될 수 있다. 구성(200)은 또한 본 명세서에 개시된 동작을 수행할 수 있는, 메모리와 프로세서를 포함하는 다양한 디바이스 및/또는 시스템을 실시하는 데 사용될 수 있다. 일부 실시 예에서, 구성(200)을 이용하여 실시되는 특정한 디바이스 및/또는 시스템은 도 2 에 도시된 것보다 적거나 많은 구성요소를 포함할 수 있다. 나아가, 다양한 운영체제 및/또는 어플리케이션이 포함될 수 있다. 예를 들어, 구성(200)은 적절한 송수신기 및/또는 자기계와 같은 센서, 모바일 운영체제 및/또는 보행자 추측 항법 어플리케이션과 같은 하나 이상의 어플리케이션을 포함함으로써 통신 디바이스를 실시하는 데 이용될 수 있다.
도시된 바와 같이, 구성(200)은 시스템 버스(215) 또는 다른 적절한 회로를 통해 메모리(210)와 연결된 적어도 하나의 프로세서(205)를 포함한다. 본 명세서에서, “프로세서”는 프로그램 코드에 포함된 명령어들을 수행할 수 있도록 구성된 적어도 하나의 하드웨어 회로(예를 들어, 집적 회로)를 의미할 수 있다. 프로세서는 하나 이상의 코어를 포함할 수 있다. 프로세서의 예시로는 CPU(central processing unit), 배열 프로세서, 벡터 프로세서, 디지털 신호처리기(DSP), FPGA(field programmable gate array), PLA(programmable logic array), ASIC(application specific integrated circuit), 프로그래밍 가능한 논리회로 및 제어기 등이 있을 수 있으나, 이에 제한되지 않는다.
구성(200)은 메모리(210)에 프로그램 코드를 저장한다. 프로세서(205)는 시스템 버스(215)를 통해 연결된 메모리(210)에 접속하여 프로그램 코드를 실행한다. 메모리(210)는, 예를 들어, 로컬 메모리(220) 및 하나 이상의 대용량 저장 디바이스(225)와 같은 하나 이상의 물리적 메모리 디바이스를 포함할 수 있다. 로컬 메모리(220)는 램(random access memory, RAM) 또는 프로그램 코드를 실행하기 위해 일반적으로 이용되는 다른 비 지속성 메모리 디바이스를 의미할 수 있다. 대용량 저장 디바이스(225)는 하드 디스크(HDD), SSD(solid state drive) 또는 다른 지속성 데이터 저장 디바이스일 수 있다. 구성(200)은 프로그램 코드를 대용랑 저장 디바이스(225)로부터 불러와야 하는 횟수를 줄이기 위해 적어도 약간의 프로그램 코드를 일시적으로 저장하는 하나 이상의 캐시 메모리(도시되지 않음)를 더 포함할 수 있다.
키보드(230), 디스플레이 디바이스(235) 및 포인팅 디바이스(240)와 같은 입출력 디바이스가 추가적으로 구성(200)에 연결될 수 있다. 일부 실시 예에서, 하나 이상의 입출력장치가 조합될 수 있다. 예를 들어, 터치스크린은 디스플레이 디바이스(235), 키보드(230) 및 포인팅 디바이스(240)로서 이용될 수 있다. 입출력장치는 구성(200)에 직접적으로 또는 입출력 제어기를 사이에 두고 연결될 수 있다. 하나 이상의 네트워크 어댑터(245)가 구성(200)과 연결될 수 있다. 이 경우, 구성(200)은 사적인 네트워크 또는 공공 네트워크를 통해 다른 시스템, 컴퓨터 시스템, 원격 프린터 및/또는 원격 저장 디바이스에 연결될 수 있다. 모뎀, 케이블 모뎀, 이더넷 카드, 무선 송수신기 및/또는 라디오 장치가 구성(200)에서 네트워크 어댑터(245)와 함께 사용될 수 있는 서로 다른 종류의 예시이다. 구성(200)과 함께 사용되는 디바이스에 따라, 네트워크 어댑터의 종류 혹은 네트워크 어댑터들이 달라질 수 있다.
도 2 에 도시된 바와 같이, 메모리(210)는 운영체제(250) 및 하나 이상의 어플리케이션(255)을 저장한다. 어플리케이션(255)은, 예를 들어, 지도 생성기(125) 및/또는 데이터 검사기(130)를 포함할 수 있다. 일 실시 예에서, 운영체제(250) 및 어플리케이션(255)은, 실행가능한 프로그램 코드의 형태로 실시되고, 구성(200)에서 실행될 수 있다. 이 경우, 운영체제(250) 및 어플리케이션(255)은 구성(200)에 통합된 구성요소로 볼 수 있다. 구성(200)에서 사용, 생성 및 동작하는 운영체제(250), 어플리케이션(255) 및 모든 데이터 항목은 구성(200)을 이용하여 시스템의 일부로서 실시되었을 때 기능을 가질 수 있는 자료구조이다.
도 3 은 경로를 생성하는 방법의 예시를 도시한 흐름도이다. 방법(300)은 도 1 의 시스템(120)에 의해 수행될 수 있다. 예를 들어, 시스템(120)은 하나 이상의 통신 디바이스로부터 일정 시간에 걸쳐 데이터 단위들을 수신할 수 있다. 수신한 데이터 단위들을 전체적으로 볼 때 크라우드소싱된 데이터라 할 수 있다.
일 실시 예에서, 통신 디바이스는 구조물(140)과 같은 구조물 내에 위치할 수 있다. 시스템은 실내 또는 구조물의 실내 부분에 대한 지도에서의 경로를 생성할 수 있다. 다른 실시 예에서, 통신 디바이스는 실외에 위치할 수 있다. 통신 디바이스가 위치한 영역은 실시간으로 획득한 것일 수 있고, 다양한 경로가 필요할 수 있다. 예를 들어, 알려진 경로가 쓰레기, 파손 등의 장애물 또는 다른 이유로 인해 이용할 수 없게 될 수가 있다. 이러한 경우, 본 명세서에 개시된 다양한 기술을 이용하여 대체 경로를 결정할 수 있다. 시스템은 실외 영역의 지도에 대한 경로를 생성할 수 있다.
방법(300)은 하나 이상의 서로 다른 통신 디바이스로부터 일정 시간 동안 구조물에 대한 데이터 항목들이 수집된 상태에서 시작될 수 있다. 일 실시 예에서, 데이터 단위는 하나 이상의 데이터 항목을 포함할 수 있다. 데이터 항목은 보행자 추측 항법 위치 데이터 및 무선 주파수 데이터를 포함할 수 있다. 무선 주파수 데이터는 자기장 데이터 및 와이파이 데이터를 포함할 수 있다. 일 실시 예에서, 보행자 추측 항법 위치 데이터는 이차원 좌표로 특정될 수 있다. 통신 디바이스는, 예를 들어, 서로 직각인 x축 및 y축을 갖는 2차원 좌표계 상에서 위치를 (x, y) 좌표로 추정하기 위해 이용될 수 있는 가속도 데이터 및 컴퍼스(방향) 데이터를 활용할 수 있는 보행자 추측 항법 어플리케이션을 포함할 수 있다. 와이파이 데이터는 무선접속장치 식별자(WAP ID) 및 그에 상응하는 RSSI를 포함할 수 있다. 자기장 데이터는 자기장의 세기를 포함할 수 있고, 자기장의 방향 데이터를 더 포함할 수 있다.
무선 주파수 데이터 단위와 같은 데이터 단위들은, 전체적으로 보았을 때, 하나 이상의 궤적을 특정할 수 있다. 궤적 Ti는 주어진 통신 디바이스의 이차원 지점(예를 들어, 보행자 추측 항법 위치 데이터)을 시계열적으로 나타내는(예를 들어, {t, x, y}) Ti.pdr 및 무선 주파수 데이터를 시계열적으로 나타내는(예를 들어, {t, rf}) Ti.rf 로 정의될 수 있다. 일 실시 예에서, Ti.rf는 자기장의 크기를 시계열적으로 나타낸(예를 들어, {t, m}) Ti.mag으로 구성될 수 있고, 추가적으로 자기장의 방향을 포함할 수 있다. 또한, Ti.rf는 탐지된 무선접속장치 식별자(WAP ID) 및 상응하는 RSSI를 시계열적으로 나타낸(예를 들어, {t, WAPID, RSSI}) Ti.wifi로 구성될 수 있다.
방법(300)은 시스템이 궤적들의 세그먼트(segment)들을 결정하는 단계 305에서 시작될 수 있다. 일 실시 예에서, 세그먼트들은 선형적일 수 있다. 시스템은 사용자들의 각각의 경로 Ti.pdr을 하나 이상의 세그먼트로 분리한다. 일 실시 예에서, 시스템은 각각의 궤적에 대한 보행자 추측 항법 데이터의 이차원 지점에 대해 곡률 변화 탐지 기술을 적용함으로써 세그먼트들을 탐지할 수 있다. 예를 들어, 곡률 변화 탐지 기술은, 각각의 궤적 Ti에 대해, 궤적의 세그먼트들을 결정하기 위해 Ti.pdr을 적용할 수 있다. 각각의 궤적에 대한 세그먼트들을 결정하는 데 있어, 세그먼트들은 각각의 궤적에서 내부적으로 정렬되어 있을 수 있다. 단순한 턴(turn)이 두 개의 세그먼트를 연결하는 경우 연속된 세그먼트들은 “단순 연결” 된 것으로 식별될 수 있다. 다른 경우에, 예를 들어, 사용자가 두 개의 세그먼트 사이에서 가게의 첫 번째 지점으로 입장하고 다른 지점으로 퇴장하는 경우, 세그먼트들은 “단순연결되지 않음” 인 것으로 볼 수 있다.
단계 310에서, 시스템은 세그먼트들에 대한 무선 주파수 특성을 결정할 수 있다. 무선 주파수 특성을 결정하는 것은 세그먼트들의 와이파이 특성을 결정하는 것, 세그먼트들의 자기장 특성을 결정하는 것 또는 세그먼트들의 와이파이 및 자기장 특성을 결정하는 것을 포함할 수 있다. 각각의 세그먼트에 대해, 시스템은 하나 이상의 무선 주파수 특성을 결정할 수 있다.
단계 315에서, 시스템은 세그먼트들의 클러스터(cluster)들을 형성할 수 있다. 시스템은 서로 유사한 세그먼트들을 식별한다. 시스템은 클러스터라고 불리는 세그먼트들의 그룹을 형성한다. 무선 주파수 특성에 대한 비교에 기초한 클러스터 내의 세그먼트들은 클러스터 내의 서로 다른 세그먼트들과 유사하다.
단계 320에서, 시스템은 단계 315 에서 결정된 클러스터들에 대한 지도상의 하나 이상의 경로를 생성한다. 일 실시 예에서, 지도는 하나 이상의 경로를 특정하는 세그먼트 그래프일 수 있다. 경로는 사용자가 지나갈 수 있는 길일 수 있다. 다른 실시 예에서, 경로는 본 명세서에서 후술할 하나 이상의 세그먼트 트리(segment tree)를 이용하여 결정될 수 있다.
일부 실시 예에서, 결과 지도는 결과 지도 상의 하나 이상의 지점과 하나 이상의 알려진 GPS 좌표를 연관시킴으로써 GPS좌표 정보로 변환될 수 있다. 예를 들어, GPS좌표를 알 수 있는, 입장한 위치 및 퇴장한 위치를 지도 상에서의 지점과 연관시킴으로써 지도를 정렬 및/또는 변환할 수 있고, 경우에 따라 GPS좌표로 변환할 수 있다.
도 4 는 도 3 의 단계 310 과 관련하여, 세그먼트들에 대한 무선 주파수 특성을 결정하는 방법의 예시를 도시한 흐름도이다. 도 4 는 자기장 특성을 결정하는 방법을 도시하고 있다.
단계 405 에서, 시스템은 자기장의 세기에 스무딩(smoothing) 기술을 적용할 수 있다. 스무딩 기술의 예시는 “시간 기반 윈도우를 이용한 단순 평균내기” 일 수 있다. 이 방법에서, 시간상 가까운 값들이 서로 계량되고 평균내어질 수 있다. 스무딩 기술은 세그먼트 단위 기반으로 적용될 수 있다. 단계 410 에서, 시스템은 스무딩된 자기장 세기의 평균을 결정할 수 있다. 평균은 세그먼트 단위 기반으로 결정될 수 있다. 단계 415 에서, 시스템은 각각의 자기장 세기에서 평균을 뺄 수 있다. 단계 415 또한 세그먼트 단위 기반으로 적용될 수 있다. 이에 따라, 주어진 세그먼트에 대한 평균이 세그먼트에 대한 스무딩된 자기장 세기로부터 감해진다.
단계 420 에서, 각각의 세그먼트에 대해, 시스템은 스무딩된 자기장에 따른 최고(즉, 고점) 및 최저(즉, 저점) 값을 결정한다. 단계 425 에서, 시스템은 세그먼트의 끝 지점(예를 들어, 각각의 거리 계산에 대한 세그먼트의 동일한 참조 끝 지점)으로부터 각각의 최대 및/또는 최소 위치까지의 거리를 결정 또는 계산할 수 있다. 따라서, 본 예시에서, 자기장 특성은 일련의 하나 이상의 거리 및 이에 상응하는 최고 또는 최저점의 쌍일 수 있다.
도 5 는 무선 도 3 의 단계 310 에 관련된, 세그먼트들에 대한 무선 주파수 특성을 결정하는 다른 방법의 예시를 도시한 흐름도이다. 도 5 는 와이파이 특성을 결정하는 방법을 도시하고 있다.
단계 505 에서, 시스템은 RSSI 임계값 이하의 RSSI 값을 갖는 와이파이 데이터 쌍(예를 들어, 무선접속장치 식별자와 RSSI 쌍)을 삭제할 수 있다. 단계 510 에서, 시스템은 세그먼트 단위 기반으로 RSSI 에 대한 거리 기반 스무딩 기술을 적용할 수 있다. 스무딩 기술의 예시는 “거리 기반 윈도우를 이용한 단순 평균내기” 를 포함할 수 있으나, 이에 제한되지 않는다. 이 경우, 서로 거리상 인접한 RSSI 값은 무선접속장치 식별자 단위 기반으로 계량 및 평균내어질 수 있다. 일 실시 예에서, 거리는 5 미터 이하일 수 있으나 이는 예시를 위한 것이고 이에 제한되지 않는다.
단계 515 에서, 시스템은 각각의 세그먼트에 따른 RSSI 경향을 나타내는 무선접속장치 식별자를 결정할 수 있다. 예를 들어, 경향은 증가, 감소, 최소 및 최대 등을 포함할 수 있으나, 이에 제한되지 않는다. 본 명세서에서, “경향” 이란 세그먼트에 대한 하나 이상의 와이파이 데이터 및 데이터 쌍을 의미할 수 있다. 이 경우, 그래프로 도시되었을 때, RSSI 는 “증가(up)” 경향에 있어서는 양성(positive)의 최저 경사값(slope)보다 크거나, “감소(down)” 경향에 있어서는 음성(negative)의 최저 경사값보다 작은 값을 가질 수 있거나, 최소값들 또는 최대값들을 정의할 수 있다. 단계 520 에서, 각 세그먼트에 대해, 시스템은 세그먼트의 끝부분(예를 들어, 동일한 참조 끝 부분)으로부터 각각의 경향의 시작지점까지의 거리를 결정할 수 있다. 따라서, 본 실시 예에서, 와이파이 특성은 하나 이상의 무선접속장치 식별자들을 시계열적으로 나타낸 것, 세그먼트에 대해 대응되는 경향 및 각 경향의 시작 위치 (예를 들어, “경향 위치”) 이다.
도 4 및 도 5 가 독립적으로 설명되었지만, 둘 다 무선 세그먼트의 주파수 특성을 결정하기 위해 적용될 수 있으며, 둘을 조합하여 이용할 수도 있다. 예를 들어, 와이파이 데이터와 달리, 자기장 데이터는 두 개 이상의 위치에서 동일하거나 서로 구분할 수 없는 자기장 데이터를 가질 수 있으므로 모호한 경우가 있을 수 있다. 이런 경우, 와이파이 데이터와 자기장 데이터를 함께 이용하는 것이 실내외에서의 위치 결정 및/또는 매핑에 있어 효율적일 수 있다.
도 6 은 도 3 의 단계 315 에 관하여 설명된 바와 같이, 세그먼트들의 클러스터를 형성하는 방법의 예시를 도시한 흐름도이다. 일 실시 예에서, 시스템은 각 세그먼트에서 가장 빈번하게 관측된 무선접속장치 식별자를 해시 키로 이용할 수 있다. 다른 실시 예에서, 해시 키는 세그먼트의 길이에 기초하여 생성될 수 있다. 서로 다른 길이를 갖는(예를 들어, 기 결정된 값보다 큰 차이를 갖는) 세그먼트들은 서로 다른 경로를 나타내는 것으로 생각할 수 있다. 해시 키는 시스템으로 하여금 명백히 매칭되지 않는 세그먼트들의 쌍을 더 효율적으로 배제할 수 있도록 할 수 있다. 예를 들어, 두 세그먼트가 서로 다른 해시 키를 갖는다면, 시스템은 두 세그먼트가 유사하지 않다고 결정할 수 있다.
단계 610 에서, 시스템은 무선 주파수 특성을 이용하여 유사도 행렬을 생성할 수 있다. 일 실시 예에서, 유사도 행렬은 와이파이 특성만을 이용하여 생성될 수 있다. 다른 실시 예에서, 유사도 행렬은 자기장 특성만을 이용하여 생성될 수 있다. 또 다른 실시 예에서, 유사도 행렬은 와이파이 특성과 자기장 특성을 모두 이용하여 생성될 수 있다. 유사도 행렬은 SIM(similarity matrix)으로 나타낼 수 있으며, 두 세그먼트 사이에서 선택된 무선 주파수 특성을 이용하여 모든 세그먼트에 대해 계산될 수 있다.
예를 들어, 와이파이 특성과 자기장 특성이 모두 이용된 경우, 유사도 행렬은 SIM[(i, j), (k, l)] = 세그먼트 Sij 및 Skl 사이의 와이파이 및 자기 유사도 점수의 결합으로 정의될 수 있다. 일 실시 예에서, 세그먼트들 중 하나가 반전된 경우 두 점수는 유사도 행렬로서 함께 저장될 수 있다. 계산방식은 앞서 언급한 해시 키가 포함되거나 고려된 희소 행렬 계산일 수 있다.
단계 615 에서, 시스템은 서로 연결된 세그먼트들 간에 점수를 공유함으로써 유사도 행렬을 업데이트할 수 있다. 일 실시 예에서, 유사도 행렬 내의 각각의 0이 아닌 원소에 대해, 각 원소에 반영된, 세그먼트의 업스트림(upstream) 및 다운스트림(downstream) 인접이 식별될 수 있다. 업스트림 및 다운스트림 인접은 세그먼트의 각 말단에 연결된 세그먼트일 수 있다. 도면에서, 세그먼트 (i, j)에 대해, 인접들은 (i, j-1), (i, j-2), ... , (i, 0) 및 (i, j+1), (i, j+2), ... , (i, Mi)일 수 있다. 시스템은 SIM[(i, j), (k, l)]을 두 세그먼트들의 인접 간의 유사도 점수의 합으로 대체할 수 있다. 예를 들어, 시스템은 SIM[(i, j), (k, l)] = sum_over_valid_n(SIM[(i, j-n), (k, l-n)]) + sum_over_valid_n(SIM[(i, j+n), (k, l+n)]) 의 계산을 수행할 수 있다.
단계 620 에서, 시스템은 유사도 행렬을 이진 행렬로 변환할 수 있다. 일 실시 예에서, 유사도 행렬은 임계 점수를 이용하여 이진 행렬으로 변환될 수 있다. 단계 625 에서, 시스템은 이진 행렬을 이용하여 세그먼트 유사도 그래프를 형성할 수 있다. 예를 들어, 세그먼트 유사도 그래프는 세그먼트들을 정점으로 나타내고, 정점 A 와 B 사이의 간선이 SIM(A, B) = 1 의 조건을 만족하는지 관측하는 방법으로 생성될 수 있다.
단계 630 에서, 시스템은 유사도 그래프로부터 같은 해시 값을 가지는 세그먼트들의 집합 중 가장 큰 집합을 찾을 수 있다. 시스템은 세그먼트들의 클러스터를 도출하기 위해 유사도 행렬 계산을 적용할 수 있다. 세그먼트들의 클러스터는 서로 유사하거나 같은 세트에 있는 다른 세그먼트들 대부분과 유사한 세그먼트들의 세트를 나타낼 수 있다. 일 실시 예에서, 유사도 행렬 계산은 노이즈를 이용한 밀도 기반 공간 클러스터링 (Density-Based Spatial Clustering of Applications with Noise, DBSCAN) 또는 밀도 기반 클러스터링을 이용할 수 있다. 유사도 행렬을 이용하여, 시스템은 서로 유사한 세그먼트들은 서로 연결된 것으로 고려할 수 있고, 이를 이용하여 클릭(clique)과 같은, 연결된 세그먼트들의 더 큰 세트를 만들 수 있다.
도 7 은 지도에 대한 경로를 생성하는 제 1 측면의 예시를 도시한 흐름도이다. 일 실시 예에서, 지도에 대한 경로 생성의 일부로서, 클러스터의 경로를 나타내는 세그먼트 트리들을 결정할 수 있다. 예를 들어, 시스템은 각각의 클러스터에 대한 세그먼트들의 말단 지점을 형성하는 기준점(anchor point)들을 식별하고, 각각의 클러스터 내의 세그먼트들의 길이를 계산함으로써 기준점 간의 거리를 결정하고, 세그먼트 트리를 도출하기 위해 기준점들의 좌표를 결정할 수 있다. 이와 관련하여, 도 7 은 도 3 의 단계 320 의 제 1 측면(도 7 의 320-1)에서 수행될 수 있는, 세그먼트 트리를 결정하는 방법을 도시한다.
도 7 에서, 시스템은 도 6 에서 서술한 대로 식별된 가장 큰 클러스터가 경로 세그먼트로 선택된 상태에서 시작될 수 있다. 일반적으로, 클러스터의 세그먼트들의 세트는 “경로 세그먼트”를 나타낸다. 하지만 각각의 세그먼트들은, 합병 또는 조합되어 경로 세그먼트의 말단 지점이 특정되어야 한다. 본 명세서에서, “경로 세그먼트” 는 물리적인 경로 또는 길을 나타내는 세그먼트들의 클러스터를 의미한다. 물리적 경로는 구조물 내 및 실외 등에 있을 수 있다. 각각의 경로 세그먼트들은 세그먼트 트리를 형성하기 위해 서로 연결되거나 나열되어 있을 수 있다.
이어서, 단계 705 에서 시스템은 선택된 경로 세그먼트의 두 개의 기준점(예를 들어, 기준점 A0 및 A1)을 결정한다. 설명을 위해, 선택된 경로 세그먼트는 H0로 지칭될 수 있고, 최초에 한해 가장 큰 클러스터일 수 있다. 기준점들은 선택된 경로 세그먼트의 말단 지점일 수 있다. 단계 710 에서, 시스템은 클러스터의 세그먼트들의 길이의 중간값으로서 선택된 경로 세그먼트의 길이를 결정할 수 있다. 단계 715 에서, 시스템은 선택된 경로 세그먼트의 위치 및 방향을 결정 또는 선택할 수 있다. 선택된 경로 세그먼트의 위치 및 경로는 임의적으로 선택될 수 있다. 선택된 경로 세그먼트에 연결된 각각의 경로 세그먼트들은 선택된 경로 세그먼트에 대해 상대적인 위치 및 방향을 가질 것이다. 차후에, 지도를 형성하기 위해 세그먼트 트리들이 병합될 때, 결과 구조물은 결과 지도를 GPS 좌표와 같은 알려진 좌표에 맞춰 위치 및 방향을 다시 조정하기 위해 하나 이상의 알려진 입구 및/또는 출구 지점과 연관될 수 있다.
단계 720 에서, 시스템은 세그먼트들의 무선 주파수 특성을 결합하여 선택된 경로 세그먼트의 무선 주파수 지문을 결정할 수 있다. 무선 주파수 서명을 형성하기 위해 결합되는 무선 주파수 특성은 실시 예에 의존할 수 있으며, 와이파이 특성 또는 자기장 특성만을 의미할 수도 있으며, 와이파이 특성 및 자기장 특성을 모두 의미할 수도 있다. 경로 세그먼트에 대한 무선 주파수 특성은 클러스터의 멤버 세그먼트의 무선 주파수 특성의 결합일 수 있다.
단계 725 에서, 선택된 경로 세그먼트를 특정하는 클러스터의 멤버인 세그먼트의 각 인접 세그먼트들을 결정한다. 예를 들어, 선택된 경로 세그먼트를 나타내는 클러스터의 세그먼트들이 세그먼트 세트 S에 연관되어 있다면, 세그먼트 세트 S의 각각의 세그먼트에 대한 인접 세그먼트가 결정된다. 앞서 논의한 바와 같이, 세그먼트들은 최초의 보행자 추측 항법 궤적 데이터로부터 설정된 고유의 순서를 갖는다. 세그먼트는 두 말단 지점 각각에 인접을 갖거나, 한쪽 말단 지점에 대해서만 인접을 갖거나, 인접을 갖지 않을 수 있다. 단계 735 에서, 시스템은 인접 세그먼트들을 클러스터로 묶을 수 있다. 인접 세그먼트들은 본 명세서에 개시된 클러스터링 기술을 이용하여 클러스터로 묶일 수 있다.
단계 740 에서, 단계 735 에서 식별된 각각의 클러스터에 대해, 시스템이 새로운 경로 세그먼트를 정의할 수 있다. 나아가, 시스템은 단계 740 에서 정의된 각각의 새로운 경로 세그먼트에 대해, 경로 세그먼트의 길이, 새로운 기준점 하나(하나의 기준점은 이전의 인접 경로 세그먼트와 공유되므로) 및 이전 경로 세그먼트와의 각도를 결정할 수 있다. 단계 745 에서, 시스템은 새로운 경로 세그먼트들에 대한 무선 주파수 지문을 결정할 수 있다.
단계 750 에서, 시스템은 새로운 경로 세그먼트들을 기존의 경로 세그먼트들과 무선 주파수 특성을 이용하여 비교할 수 있다. 만일 새로운 경로 세그먼트들 중 매칭되는 경로 세그먼트가 발견되면, 시스템은 매칭되는 두 경로 세그먼트 사이의 연관성을 연관성 행렬에 저장할 수 있다. 경로 세그먼트들 간의 연관성은 세그먼트 트리가 완전한 경로 그래프(예를 들어, 경로를 갖는 지도)를 형성하는 데 이용될 수 있다. 예를 들어, 세그먼트가 복수의 세그먼트 트리에서 나타난다면, 시스템은 세그먼트 트리를 정확하게 회전, 변환 및 합병하는 방법을 결정하는 데 이를 이용할 수 있다.
단계 755 에서, 시스템은 단계 740 에서 정의된 새로운 경로 세그먼트들에 대한 어떠한 처리되지 않은 인접 세그먼트가 처리되어야 하는지를 결정한다. 만일 처리되어야 한다면, 방법은 단계 730 으로 돌아가서 인접 세그먼트들을 처리하고, 세그먼트 트리는 계속해서 성장한다. 만일 처리되지 않은 인접 세그먼트들에 대한 더 이상의 처리가 필요하지 않다면, 방법은 종료한다.
도 7 에 도시된 방법은 각각의 클러스터에서 수행되고 반복된다. 클러스터들은 크기의 내림차순으로 처리될 수 있다. 따라서, 도 7 에서 복수 회의 반복을 완료하면, 시스템은 복수의 서로 다른 세그먼트 트리를 생성하게 된다.
도 8 은 지도의 경로를 생성하는 제 2 측면의 예시를 도시한 흐름도이다. 도 8 은 도 3 의 단계 320 의 일부로서 수행될 수 있는 방법의 예시를 도시하며, 320-2 로 분류된다.
도 8 에서, 시스템은 복수의 세그먼트 트리가 형성된 상태에서 동작한다. 단계 805 에서, 시스템은 모든 세그먼트 트리들의 경로 세그먼트의 결합으로부터 고유한 경로 세그먼트들의 세트를 식별한다. 단계 810 에서, 시스템은 단계 805 에서 식별된 세그먼트들의 말단 지점을 형성하는 고유의 기준점 세트를 식별한다. 단계 815 에서, 시스템은 경로 세그먼트 길이에 기초하여 선택된 기준점 쌍 사이의 거리를 결정한다.
단계 820 에서, 시스템은 경로 세그먼트들의 기준점의 좌표를 도출하고, 도출된 좌표를 이용하여, 경로 세그먼트 그래프와 같은 지도를 생성한다. 일 실시 예에서, 단계 820은 기준점의 좌표를 얻기 위해 기준점 및 세그먼트들에 광역 최적화 (global optimization) / 정점 사상 (node embedding) 기술을 적용하여 실시될 수 있다. 광역 최적화 / 정점 사상 기술의 예시로는, Dabek et al 의 “Vivaldi: A Decentralized Network Coordinate System.” 을 들 수 있다.
본 명세서에 기재된 기술들은 기술적 사상의 범위를 제한하기 위한 것이 아니고, 다양한 다른 기술들이 사용될 수 있다. 예를 들어, 광역 운동학 기술이 광역 최적화 / 정점 사상 기술 대신 사용될 수 있다. 운동학 기반의 접근방법에서는, 트리 형성의 각 단계에서, 시스템은 새로운 경로 세그먼트가 기존의 경로 세그먼트와 매칭 및/또는 겹쳐지는지를 결정할 수 있다. 만일 그렇다면, 매칭 및/또는 겹쳐지는 경로 세그먼트들은 병합되고, 경로 세그먼트 사이의 각도는 병합 결과에 따라 조정될 수 있다. 예를 들어, 연결된 경로 세그먼트의 각도는 두 개의 겹쳐진 경로 세그먼트가 완전히 겹쳐지도록 조정될 수 있다.
도 9 는 보행자 추측 항법에 의한 복수의 궤적에 대한 예시를 도시한 도면이다. 보행자 추측 항법 궤적의 예시는 도 3 의 단계 305 에 관하여 전술한 바와 같이 동작될 수 있다.
도 10 은 도 3 의 단계 305에 관하여 전술한 바와 같이 도 9 의 보행자 추측 항법 궤적의 예시로부터 세그먼트들을 결정하는 방법의 예시를 도시한 도면이다.
도 11 은 도 3 의 단계 315 에 관하여 전술한 바와 같이 복수의 세그먼트들로부터 클러스터를 형성하는 방법의 예시를 도시한 도면이다. 도 11 은 클러스터의 형성을 도시한다. 클러스터는 타원형 경계(1105) 내에 도시되어 있으며, 굵은 선으로 표시되어 있다. 예를 들어, 클러스터는 타원형 경계(1105) 내의 굵은 세그먼트들 각각을 포함하는 최초 혹은 제 1 클러스터가 될 수 있다. 클러스터의 세그먼트들은 보행자 추측 항법 자취(trace) 원본 내의 잘못되거나 임의로 설정된 각도 때문에 방향이 서로 다를 수 있다.
도 12 는 도 3 의 단계 315 에 관하여 전술한 바와 같이 경로 세그먼트의 길이 및 기준점을 결정하는 방법의 예시를 도시한 도면이다. 식별된 클러스터에 대한 기준점(1205 및 1210)이 도시되어 있다.
도 13 은 도 7 에 관하여 전술한 바와 같이 세그먼트 트리들을 결정하는 방법의 예시를 도시한 도면이다.
도 14 는 도 3 의 단계 320 에 관하여 전술한 바와 같이 지도의 경로들을 생성하는 방법의 예시를 도시한 도면이다.
도 15 는 위치 결정을 수행하는 방법의 예시를 도시한 흐름도이다. 방법(1500)은 도 1 및 도 2 에 관하여 전술한 시스템에 의해 수행될 수 있다. 일 실시 예에서, 방법(1500)은 도 3 에 관하여 전술한 바에 따라 생성된 지도의 경로들을 이용하여 수행될 수 있다.
단계 1505 에서, 시스템은 하나 이상의 데이터 단위(예를 들어, 통신 디바이스로부터 수신한 무선 주파수 데이터 단위)를 수신할 수 있다. 통신 디바이스는 구조물(140)과 같은 실내 혹은 실외에 위치할 수 있다. 수신된 데이터 단위는 보행자 추측 항법 위치 데이터 및 무선 주파수 데이터를 포함할 수 있다. 무선 주파수 데이터는 와이파이 데이터 및/또는 자기장 데이터를 포함할 수 있다. 각각의 데이터 단위는 타임 스탬프를 더 포함할 수 있다.
단계 1510 에서, 시스템은 수신된 데이터 단위들로부터 무선 주파수 특성을 결정할 수 있다. 예를 들어, 시스템은 수신된 데이터 단위들로부터 와이파이 특성을 결정하거나, 수신된 데이터 단위들로부터 자기장 특성을 결정하거나, 수신된 데이터 단위로부터 와이파이 특성 및 자기장 특성을 모두 결정할 수 있다.
단계 1515 에서, 시스템은 매칭을 결정하기 위하여 단계 1510에서 결정된 무선 주파수 특성과 지도의 무선 주파수 특성을 비교할 수 있다. 단계 1520 에서, 시스템은 지도의 매칭된 무선 주파수 특성에 따라 사용자(사용자의 통신 디바이스)의 위치를 결정할 수 있다. 시스템은 사용자의 통신 디바이스가 지도 상에서 지도의 무선 주파수 특성과 통신 디바이스로부터 결정된 무선 주파수 특성이 매칭되는 지도 상의 지점에 위치한다는 것을 결정할 수 있다.
방법(1500)은 사용자에게 위치 기반 서비스를 제공하기 위하여 반복해서 수행될 수 있다. 시스템은 사용자가 실내에서 자신의 위치를 추적할 수 있도록 통신 디바이스에 지도 및 통신 디바이스의 위치를 전송할 수 있다.
도 16 은 실내 구조물의 지도의 예시를 도시한 구성도이다. 예를 들어, 지도(1600)는 생성되고, 사용자가 관심을 가질 수 있는 장소 및/또는 포인트를 지시하기 위하여 데이터 처리 시스템의 화면 및/또는 디스플레이 디바이스에 디스플레이될 수 있다. 도시를 위한 예시로서, 지도(1600)의 구조물은 소매점일 수 있다. 구조물의 다양한 구획은 서로 다른 종류 혹은 분야의 상품 및/또는 서비스(이하 종합하여 “상품”이라 칭한다)를 나타낼 수 있다. 예를 들어, 블록(1605 내지 1650) 은 사용자가 구입할 수 있는 상품들을 포함하는 선반 혹은 전시 영역을 나타낼 수 있다. 계산대(1655)는 사용자가 구입하고자 하는 물건에 대한 지불을 하는 구조물 내의 영역을 나타낼 수 있다.
보행자 추측 항법 데이터 및 무선 주파수 데이터를 이용하여, 구조물을 지나간 사용자들이 택한 경로가 결정될 수 있다. 하나 이상의 사용자가 택한 경로를 지도(1600)와 상품 및/또는 서비스를 판매하는 위치를 포함하여 연관시킴으로써, 특정 상품에 대한 사용자의 관심 수준 역시 결정될 수 있다. 나아가, 보행자 추측 항법 데이터 및 무선 주파수 데이터에 타임 스탬프가 포함되어 있으므로, 시스템은 사용자가 특정 통로 혹은 통로의 일부분, 즉 영역에 머무른 시간을 결정할 수 있다. 본 명세서에서 궤적 및 길에 대해 광범위하게 기재하고 있으므로, 도 16 에는 궤적 및 길이 도시되지 않았다. 하지만, 도 16은 사용자가 다른 영역에 비해 빈번하게 방문하거나 많은 시간을 머무른 부분을 나타내는 영역(1660, 1665, 1670, 1675 및 1680)을 도시한다.
예를 들어, 사용자의 통신 디바이스가 계속해서 추가적인 보행자 추측 항법 및/또는 무선 주파수 데이터를 전송함에 따라, 통신 디바이스로부터의 궤적 정보가 분석되고, 세그먼트로 분리되고, 무선 주파수 특성을 이용하여 실내 지도에 연관될 수 있다. 예를 들어, 시스템은 수신된 타임 스탬프 데이터 및 시간에 따른 무선 주파수 특성의 변화(혹은 변화하지 않음)에 기초하여 사용자가 주어진 세그먼트 중 어디에서 머무르고 있는지를 결정할 수 있다.
사용자가 동일한 영역(예를 들어 특정한 상품 또는 상품의 카테고리)에서 머무르는 시간의 길이는, 특정한 상품 또는 상품의 카테고리에 대한 사용자의 관심사를 측정하는 데 이용될 수 있다. 시간이 길어질수록 관심의 수준이 높은 것으로 보아, 지도에 관심사를 표시할 수 있다. 다른 실시 예에서, 시스템은 사용자에게 위치 서비스의 일환으로서 메시지를 보낼 수 있다. 메시지는 쿠폰, 광고 등을 포함할 수 있다. 메시지의 특정한 내용은 사용자의 위치와 관련되어 있을 수 있다. 예를 들어, 사용자가 특정한 카테고리의 상품과 관련된 영역에 최소한의 시간 이상 머물렀다는 것을 결정하는 것에 대한 응답으로, 시스템은 사용자의 현재 위치와 연관된 카테고리의 상품을 구입하도록 유도하는 쿠폰 등을 전송할 수 있다.
도 16 은 흑백으로 도시되어 있지만, 다른 색채, 패턴 또는 시각적인 지시를 이용하여 사용자가 빈번하게 방문한 장소 또는 서로 다른 시간에 걸쳐 방문한 영역을 나타내도록 할 수 있다. 나아가, 사용자가 구조물(1600)을 지나가면서 택한 길을 도시할 수 있다. 또한, 도 16 은 도시를 위해 소매점에 관련하여 설명하고 있지만, 본 명세서에 개시된 기술은 다양한 구조물의 실내에 있는 사용자의 위치를 파악하기 위해 사용될 수 있다. 다양한 선반 영역 또한 또 다른 실내 설정에 있어서 또 다른 관심분야가 될 수 있다.
도 16 이 실내 설정에 관하여 설명하고 있지만, 본 명세서에 개시된 기술은 실외 설정에도 적용될 수 있다. 예를 들어, 다양한 블록들은 실외 환경에서의 벽, 야외 시장의 스탠드 등을 나타내는 것일 수 있다.
도 17 은 데이터를 검사하는 방법의 예시를 도시한 흐름도이다. 방법(1700)은 본 명세서의 도 1 및 도 2 에 관하여 전술한 시스템을 이용하여 실시될 수 있다. 일 실시 예에서, 방법(1700)은 크라우드소싱을 이용하여 수집한 데이터를 수신하는 경우 수신한 데이터를 검증하기 위해 적용될 수 있다. 무효화된 데이터 또는 데이터 단위들은 다양한 서비스에서 이용되지 않도록 배제(예를 들어, 데이터 세트로부터 삭제 및/또는 폐기)된다. 예를 들어, 방법(1700)을 이용하여 무효로 결정된 데이터는 도 3 에 관하여 전술한 바와 같이 지도의 경로를 결정하는 데 이용되지 않을 수 있다.
도 17 에 도시된 기술을 이용하여 검사하게 되는 데이터의 종류는 다양할 수 있다. 일 실시 예에서, 크라우드소싱을 이용한 지도 생성 및/또는 사용자 위치 솔루션의 일부로서 수신된, 하나 이상의 사용자의 하나 이상의 통신 디바이스로부터의 데이터가 검증될 수 있다. 다른 실시 예에서, 관심사에 대한 순위와 같은 크라우드소싱된 데이터가 검증될 수 있다.
단계 1705 에서, 시스템은 일정 시간에 걸쳐 하나 이상의 통신 디바이스로부터 데이터 단위를 수신할 수 있다. 설명을 위한 도 17 의 예시에서, 각각의 데이터 단위는 위치, 타임 스탬프를 포함하거나 이들로서 특정될 수 있고, 데이터 페이로드(payload)를 선택적으로 포함하거나 이로서 특정될 수 있다. 위치는 GPS 가 이용가능한 경우 GPS 좌표일 수 있고, 보행자 추측 항법에 기초한 위치 정보 또는 이와 유사한 것일 수 있다. 일 실시 예에서, 위치는 무선접속장치 식별자에 의해 특정될 수 있다. 페이로드는 서로 다른 다양한 데이터 항목을 포함할 수 있다. 데이터 항목의 예시는 본 명세서에서 개시된 바와 같은 무선 주파수 데이터, 통신 디바이스로부터의 센서 데이터, 사용자 입력, 어플리케이션 데이터 혹은 그와 같은 것을 포함할 수 있다.
단계 1710 에서, 시스템은 위치 정보를 이용하여 데이터 항목과 지도의 영역들을 연관시킬 수 있다. 예를 들어, 시스템은 수신된 각각의 데이터 항목이 비롯된 지도상의 특정 영역을 결정할 수 있다. 데이터 단위가 비롯된 영역은 데이터 단위와 연관된다. 데이터 단위는, 영역과 연관됨에 따라서, 데이터베이스와 같은 형태로 자료구조에 저장될 수 있다.
본 명세서에 개시된 기술적 사상에 따르면, 지도상의 각 영역은 데이터 무효율과 연관될 수 있다. 따라서, 각각의 데이터에 대한 무효율은 영역에 따라 특화될 수 있다. 2 이상의 영역이 각각의 영역의 데이터 밀도에 따라 같은 데이터 무효율 또는 서로 다른 데이터 무효율을 가지도록 결정될 수 있다. 높은 데이터 밀도를 갖는 영역은 낮은 데이터 밀도를 갖는 영역보다 높은 무효율을 갖는다.
영역의 데이터 밀도는 두 개의 구성요소를 가질 수 있다. 구체적으로, 데이터 밀도는 지리적 요소와 시간적 요소를 가질 수 있다. 지리적 요소는 영역에 특화된 데이터 무효율을 이용하여 적용될 수 있다. 시간적 요소는 특정한 분량의 시간에 기초하여 결정될 수 있다. 예를 들어, 데이터 밀도는 해당 영역으로부터 비롯된 데이터가 수신된 횟수를 시간 단위로 고려하여 결정될 수 있다.
단계 1715 에서, 시스템은 각각의 데이터 단위에 대하여 유효성 점수를 할당할 수 있다. 할당된 유효성 점수는 최초의 유효성 점수일 수 있다. 일 실시 예에서, 데이터 무효율은 데이터 밀도에 따라 영역마다 다양할 수 있으므로, 각 영역에 대해 할당된 유효성 점수는 동일할 수 있다. 설명을 위하여, 각 데이터 단위가 100의 최초 유효성 점수를 할당받은 경우를 고려하자. 최초 유효성 점수는 각 시스템에서 실시될 때 100보다 작거나 100보다 클 수 있다.
단계 1720 에서, 시스템은 시간에 따라 데이터 단위들의 유효성 점수를 감소시킬 수 있다. 시스템은 데이터 단위들의 유효성 점수를 일정 기간 동안 주기적으로, 가끔 또는 특정한 이벤트가 탐지되는 경우 감소시킬 수 있다. 데이터 단위에 대한 감소 동작이 수행되는 경우, 시스템은 해당 데이터 단위와 연관된 특정 영역을 결정할 수 있다. 시스템은 데이터 단위와 연관된 영역(예를 들어, 해당 데이터 단위가 비롯된 영역)의 데이터 무효율을 결정할 수 있다. 시스템은 영역의 데이터 무효율을 이용하여 유효성 점수를 감소시킬 수 있다. 데이터 단위가 시간에 따라 수신되고, 영역의 데이터 밀도는 다양하므로, 각 영역의 데이터 무효율 역시 시간에 따라 변할 수 있다. 따라서, 주어진 데이터 단위에 대해 유효성 점수가 감소하는 양 또한 시간에 따라 다를 수 있다.
설명을 위해, 제 1 데이터 단위가 최초의 유효성 점수인 100을 가지고, 데이터 무효율이 10인 경우를 고려할 수 있다. 제 2 데이터 단위는 100의 최초 유효성 점수를 가지고, 데이터 무효율이 20일 수 있다. 두 데이터 단위는 지도상에서 서로 다른 영역에 연관된다. 감소 동작에 대한 응답으로, 시스템은 제 1 데이터 단위의 유효성 점수를 90으로 감소시킬 수 있다. 시스템은 제 2 데이터 단위의 유효성 점수를 80으로 감소시킬 수 있다.
제 1 및 제 2 데이터 단위와 연관된 영역에 대한 데이터 단위를 계속적으로 수신하는 것에 기초하여, 제 1 데이터 단위와 연관된 영역의 데이터 무효율이 15 로 증가할 수 있으며, 제 2 데이터 단위와 연관된 영역의 데이터 무효율은 변하지 않을 수 있다. 이에 따라, 다음 감소 동작에 있어서, 시스템은 제 1 데이터 단위의 유효성 점수를 75 로 감소시키고, 제 2 데이터 단위의 유효성 점수를 60으로 감소시킬 수 있다.
단계 1725 에 있어서, 시스템은 임계 유효성 점수를 넘지 않는 유효성 점수를 갖는 데이터 단위들을 무효화할 수 있다. 일 실시 예에서, 임계 유효성 점수는 0 으로 설정될 수 있다. 임계 유효성 점수는 0 보다 작거나 0 보다 큰 어떠한 값으로도 설정될 수 있다. 도 17 의 예시를 계속해서 참조하면, 시스템은 0 또는 0 보다 작은 유효성 점수를 갖는 것으로 확인된 데이터 항목을 무효화할 수 있다. 본 명세서에 개시된 예시에 따르면, 무효화된 데이터 항목들은 위치 결정 동작 및/또는 지도 생성에서 사용되지 않도록 배제될 수 있다. 예를 들어, 데이터 단위를 배제하는 데 있어서, 시스템은 데이터 단위를 저장하는 저장 디바이스에 접속하여 무효화된 데이터를 저장 디바이스로부터 삭제하여, 데이터를 변화시키고 업데이트할 수 있다. 다른 실시 예에서, 유효한 데이터는 메모리 디바이스의 일부 영역에 저장되고, 무효화된 데이터는 메모리 디바이스의 다른 영역 또는 다른 메모리 디바이스에 저장되거나, 메모리 디바이스로부터 삭제 및/또는 덮어씌워질 수 있다. 예를 들어, 무효화된 데이터 단위들은 유효한 데이터 단위들과 구분할 수 있도록 표시되거나, 무효화된 데이터 단위에 할당된 물리적 메모리의 특정한 부분 또는 영역으로 이동하여 유효한 데이터 단위와 무효화된 데이터 단위를 분리하도록 할 수 있다.
방법(1700)은 데이터 항목에 대해 반복하여 수행될 수 있다. 일 실시 예에서, 방법(1700)은 주기적으로, 가끔 또는 다양한 이벤트에 대한 응답으로서 수행될 수 있다. 예를 들어, 방법(1700)은 최소한의 개수를 갖는 데이터 단위들을 수신하는 데 대한 응답으로 배치 모드(batch mode)에서 수행될 수 있다. 다른 실시 예에서, 방법(1700)은 데이터 단위가 수신됨에 따라 실시간으로 반복하여 수행될 수 있다.
도 18 은 데이터 검사를 위해 지도의 영역들을 관리하는 방법의 예시를 도시한 흐름도이다. 방법(1800)은 본 명세서의 도 1 및 도 2 에 관하여 전술한 시스템을 이용하여 실시될 수 있다. 방법(1800)은 데이터 밀도에 기초하여 지도의 영역들을 업데이트하는 기술의 예시를 도시한다. 방법(1800)은 지도상의 영역들에 대해, 일정 기간 동안 주기적으로, 가끔 또는 특정한 이벤트에 대한 응답으로서 수행될 수 있다. 예를 들어, 방법(1800)은 특정 영역으로부터 비롯된 데이터 단위가 무효화되는 경우 해당 영역에 대해 수행될 수 있다. 방법(1800)은 기 설정된 시간 동안 특정 영역으로부터 적어도 최소한의 데이터 단위들을 수신하는 데 대한 응답으로서 수행될 수 있다. 방법(1800)은 또한 도 17 의 방법(1700)과 동시에 수행될 수 있다.
단계 1805 에서, 시스템은 선택된 영역의 데이터 밀도를 결정할 수 있다. 데이터 밀도는 선택된 영역으로부터 단위 시간당 수신된 데이터 단위들의 수로서 정의될 수 있으며, 단위 시간은 기 설정된 시간일 수 있다. 단계 1810 에서, 시스템은 영역을 분할해야 할지 여부를 결정할 수 있다. 예를 들어, 시스템은 선택된 영역의 데이터 밀도를 데이터 밀도 임계값과 비교한다. 시스템은 선택된 영역의 데이터 밀도가 데이터 밀도 임계값을 초과한다는 것을 결정하는 데 대한 응답으로 선택된 영역이 2 이상의 영역으로 분할되어야 함을 결정할 수 있다. 만일 시스템이 영역이 분할되어야 함을 결정하는 경우, 방법(1800)은 단계 1815 로 진행한다. 만일 그렇지 않으면, 방법(1800)은 단계 1820 으로 진행한다.
단계 1815 에서, 시스템은 영역을 2 이상의 영역으로 분할한다. 예를 들어, 영역은 절반, 삼등분, 사등분 등으로 분할될 수 있다. 일 실시 예에서, 각 영역은 직사각형일 수 있다. 다른 실시 예에서, 각 영역은 정사각형일 수 있다. 예를 들어, 이러한 경우에는 영역들이 사등분된 결과 역시 정사각형이다. 영역 분할의 일부로써, 시스템은 분할 동작의 결과인 각 영역들의 데이터 밀도를 업데이트한다.
단계 1820 에서, 시스템은 영역이 하나 이상의 다른 영역과 병합되어야 할지를 결정할 수 있다. 예를 들어, 시스템은 선택된 영역의 데이터 밀도를 최소 임계 데이터 밀도와 비교할 수 있다. 시스템은 선택된 영역 및 하나 이상의 인접 영역의 데이터 밀도가 최소 임계 데이터 밀도를 넘지 않는다는 것을 결정하는 데 대한 응답으로 선택된 영역을 하나 이상의 다른 영역과 병합하도록 결정할 수 있다. 시스템이 영역이 병합되어야 한다고 결정하는 경우, 방법(1800)은 단계 1825 로 진행한다. 만일 그렇지 않다면, 방법(1800)은 단계 1830 으로 진행한다.
단계 1825 에서, 시스템은 선택된 영역을 하나 이상의 다른 영역과 병합한다. 일 실시 예에 따르면, 선택된 영역 및 병합될 각각의 다른 영역은 최소 임계 데이터 밀도를 넘지 않는 데이터 밀도를 갖는다. 나아가, 선택된 영역과 병합될 각각의 영역은 선택된 영역과 인접한 영역일 수 있다. 일 실시 예에서, 선택된 영역은 정사각형 모양을 유지하기 위하여 세 개의 다른 영역들과 병합될 수 있다. 영역 병합의 일부로서, 시스템은 병합 동작의 결과로서 생성된 영역의 데이터 밀도를 업데이트할 수 있다.
단계 1830 에서, 시스템은 방법(1800)이 반복되면서 처리되는 영역들의 데이터 무효율을 업데이트할 수 있다. 예를 들어, 시스템은 영역 분할 동작의 결과로서 생성된 영역, 영역 병합 동작의 결과로서 생성된 영역 및/또는 영역 분할 또는 병합 동작이 수행되지 않은, 선택된 영역에 대해 데이터 무효율을 업데이트한다. 전술한 바와 같이, 데이터 무효율은 데이터 밀도에 의해 결정된다. 시스템은 데이터 밀도를 입력받아 데이터 무효율을 출력하는 표현을 저장할 수 있다. 다른 실시 예에서, 데이터 무효율은 데이터 밀도일 수 있다. 또 다른 실시 예에서, 시스템은 데이터 밀도 및/또는 데이터 밀도의 범위를 데이터 무효율과 연관시키는 표를 저장할 수 있다.
도 19 는 데이터 유효성을 관리하기 위한 지도의 예시를 도시한 도면이다. 도 19는 어떠한 영역도 생성하기 전인 지도(1900)의 초기상태를 도시한다.
도 20 은 궤적을 특정하는 데이터 단위들을 수신한 후의 지도의 예시를 도시한 도면이다. 도시한 바와 같이, 궤적은 영역(2020)을 통과하여 진행하고, 영역(2005)과 영역(2010)을 지나간다.
도 21 은 복수의 궤적을 수신한 후의 지도의 예시를 도시한 도면이다. 지도(1900)는 도 17 및 도 18 에 관하여 전술한 바와 같이 이용될 수 있다. 도시된 바와 같이, 지도(1900)는 복수의 영역(2102 내지 2162)을 포함한다. 설명을 위해, 각 영역(2102 내지 2162)의 명암의 차이는 각 영역의 데이터 밀도를 나타내고, 따라서 각 영역의 상대적인 데이터 무효율을 나타낼 수 있다.
예를 들어, 영역(2122 및 2124)는, 가장 어두우므로, 가장 높은 데이터 밀도를 가지고, 따라서 가장 높은 데이터 무효율을 갖는다. 새로운 데이터 단위들이 영역에 도달해서 무효화된 데이터 단위들을 대체할 것으로 예상되기 때문에, 영역(2122 및 2124)의 데이터 무효율은 높게 설정될 수 있다(예를 들어, 본 예시에서는 가장 높다). 일 실시 예에서, 어떠한 데이터 단위의 효력이 제거되는 비율은 주어진 영역에 대해 새로운 데이터 단위가 들어올 것으로 기대되는 비율과 매칭될 수 있다.
영역(2102, 2106, 2108, 2110, 2138, 2140, 2148, 2154, 2156, 2160 및 2162)은 가장 밝은 명암을 갖고 있으며, 가장 낮은 데이터 밀도를 갖는다. 무효화된 데이터 단위들을 대체할 새로운 데이터 단위들이 느린 속도 또는 비율로 영역에 도달할 것으로 예상되기 때문에, 영역(2102, 2106, 2108, 2110, 2138, 2140, 2148, 2154, 2156, 2160 및 2162)의 데이터 무효율은 낮게 설정될 수 있다(예를 들어, 본 예시에서는 가장 낮다). 일 실시 예에서, 어떠한 데이터 단위가 무효화되는 비율은 주어진 영역에 대해 새로운 데이터 단위가 들어올 것으로 기대되는 비율과 매칭될 수 있다.
지도(1900)는 또한 분할 및 병합 동작의 예시를 도시한다. 영역(2015)과 같은 영역의 경우 영역(2116)과 같은 크기를 갖는 네 개의 영역으로 분할될 수 있다. 영역(2116)과 같은 영역의 경우, 영역(2118)과 같은 크기를 갖는 네 개의 영역으로 분할될 수 있다. 병합의 경우, 영역(2118)과 같은 크기를 갖는 영역 네 개가 병합되어 영역(2116)과 같은 크기를 갖는 영역을 형성할 수 있다. 영역(2116)과 같은 크기를 갖는 영역 네 개가 병합되어 영역(2015)과 같은 크기를 갖는 영역을 형성할 수 있다. 영역의 데이터 밀도는 동적으로 업데이트될 수 있다. 영역들은 각각의 영역에 대한 데이터 밀도가 계속해서 변하므로, 동적으로 분할 및/또는 병합될 수 있다.
지도(1900)는 설명을 위해 도시된 것일 뿐이다. 따라서, 영역의 수, 크기 및/또는 모양은 본 명세서에 개시된 기술적 사상을 제한하지 않는다. 본 명세서에 개시된 데이터 유효성 관리 기술은 지도를 생성하는 데 이용되는 데이터 단위들을 처리하거나 전처리단계를 수행하는 데 이용될 수 있다.
다른 실시 예에서, 시스템은 일정 시간에 걸쳐 데이터 단위를 수신할 수 있다. 이 경우, 시스템은 위치 정보 및 영역의 데이터 밀도를 이용하여 데이터 단위들을 지도(1900)상의 영역들과 연관시킬 수 있다. 시스템은 데이터 밀도를 디스플레이할 수 있다(예를 들어, 디스플레이 디바이스에 디스플레이할 수 있다). 예를 들어, 도 21 에 도시된 바와 같이 각 영역의 데이터 밀도 및 데이터 밀도가 시간에 따라 어떻게 변하는지를 디스플레이 디바이스를 이용하여 제공할 수 있다.
도 17 내지 도 21 에 관하여 전술한 바와 같은 데이터 검증 기술은 지리적 데이터가 아닌 부분에도 적용될 수 있다. 예를 들어, 지리적 위치를 지시하는 위치 파라미터 대신, 위치 파라미터는 복수의 카테고리 내의 특정한 카테고리, 분류 체계 내에서의 특정한 그룹, 데이터 계층 내에서의 특정한 레벨 등을 특정할 수 있다. 데이터 무효율은 그룹 단위, 카테고리 단위 또는 레벨 단위를 기반으로 한 데이터 밀도에 따라 계산될 수 있다.
전술한 바에 따르면, 영역은 카테고리, 분류 체계의 그룹, 계층의 레벨 등을 나타낼 수 있다. 영역들은 추후 계층의 보조 레벨, 보조 카테고리 및 보조 그룹에 대한 이용가능성을 확보하기 위해 분할 및/또는 병합될 수 있다. 주어진 그룹, 레벨 또는 카테고리의 데이터 단위들은 임계 유효성 점수를 넘지 못하는 경우 무효화(예를 들어, 삭제)될 수 있다.
다른 실시 예에서, 위치를 대신하여 사용되는 특정 파라미터들은 데이터 단위의 페이로드 내에서 획득될 수 있다. 예를 들어, 위치 파라미터는 2 이상의 서로 다른 데이터 단위의 페이로드 부분 간의 유사도를 나타낼 수 있다. 그룹 내에 포함될 데이터 단위의 수 및 데이터 단위의 묶음을 결정하기 위해 임계 유사도가 적용될 수 있다.
일 실시 예에서, 그룹에 포함되는 데이터 단위들의 수를 증가 혹은 감소시키기 위하여 임계 유사도가 자동으로 혹은 동적으로 증가 혹은 감소될 수 있다. 예를 들어, 그룹 내의 데이터 단위의 수를 줄이기 위하여, 그룹에 대한 임계 유사도가 증가할 수 있다. 임계 유사도의 증가는 적은 수의 데이터 단위들이 비슷한 것으로 고려되고 그룹으로 묶이는 결과를 가져온다. 그룹에 포함된 데이터 단위의 수를 증가시키기 위하여, 그룹에 대한 임계 유사도는 감소될 수 있다. 임계 유사도를 감소시키는 것은 더 많은 데이터 단위들이 비슷한 것으로 고려되고 그룹으로 묶이는 결과를 가져온다. 그룹 내에서 유지되는 데이터 단위들의 수는 그룹 내의 데이터 단위들의 수에 따라 자동으로 임계 유사도를 증가 또는 감소시킴으로써 주어진 범위 내에서 혹은 특정한 수 등으로 유지될 수 있다. 그룹 내에 데이터 단위가 너무 많으면, 임계 유사도가 증가할 수 있다. 그룹 내에 데이터 단위가 너무 적으면, 임계 유사도가 감소할 수 있다. 나아가, 그룹들은 서로 다른 임계 유사도를 할당받을 수 있다. 일 실시 예에서, 임계 유사도는 그룹 단위로 할당될 수 있다.
도 22 는 데이터 관리 및 경로 생성 방법의 예시를 도시한 흐름도이다. 방법(2200)에 있어서, 단계(2205 내지 2255)에 관련된 데이터 검증은 경로 생성에 앞서 수행된다. 하지만 데이터 검증은 경로 생성 이후에 수행될 수도 있다. 예를 들어, 다음 단계의 경로 생성 및/또는 업데이트 이전에, 기 결정된 개수의 데이터 단위들을 주기적으로 수신하는 것과 같은 이벤트에 대한 응답으로 데이터 검증이 수행될 수 있다.
단계 2205 에서, 시스템은 일정 시간에 걸쳐 통신 디바이스로부터 무선 주파수 데이터 단위를 수신한다. 무선 주파수 데이터 단위는 통신 디바이스에 대한 궤적을 특정한다. 단계 2210 에서, 시스템은 무선 주파수 데이터를 지도상의 영역과 연관시킨다. 일 실시 예에서, 지도는 경계가 있는 실내외의 영역을 나타낼 수 있고, 경로 정보는 포함되지 않았을 수 있다. 다른 실시 예에서, 지도는 본 명세서에서 개시된 경로 생성 기술을 이용하여 업데이트된 경로 정보를 포함할 수 있다. 영역은 GPS 좌표, 보행자 추측 항법 데이터, 무선접속장치 식별자 등을 이용하여 연관될 수 있다. 단계 2215 에서, 시스템은 지도의 영역에 대한 데이터 밀도를 결정한다. 단계 2220 에서, 시스템은 각각의 무선 주파수 데이터 단위에 유효성 점수를 할당한다.
단계 2225 에서, 시스템은 지도의 영역을 분할할지를 결정한다. 시스템은 본 명세서에서 개시한 바와 같이, 영역 단위로 분할 여부를 결정한다. 하나 이상의 영역이 단계 2225 에서 분할될 것으로 식별된다면, 방법(2200)은 단계 2230 으로 진행한다. 단계 2230 에서, 시스템은 영역 분할을 수행하고, 단계 2225 에서 식별된 영역들의 데이터 밀도를 업데이트한다. 만일 단계 2225 에서 어떠한 영역도 분할될 것으로 식별되지 않는다면, 방법(2200)은 단계 2235 로 진행한다.
단계 2235 에서, 시스템은 지도 상의 영역을 병합할지를 결정할 수 있다. 단계 2235 에서 2 이상의 영역이 병합될 것으로 결정한다면, 방법(2200)은 단계 2240 으로 진행한다. 단계 2240 에서, 시스템은 단계 2235 에서 식별된 영역들을 병합한다. 만약 적어도 두 개의 영역이 병합될 것으로 식별되지 않는다면, 방법(2200)은 단계 2245 로 진행하고 시스템은 영역의 데이터 무효율을 업데이트한다.
단계 2250 에서, 시스템은 각각의 데이터 단위와 연관된 영역의 데이터 무효율을 이용하여 시간에 따라 데이터 단위들의 유효성 점수를 감소시킬 수 있다. 단계 2255 에서, 시스템은 임계 유효성 점수를 초과하지 않는 유효성 점수를 갖는 데이터 단위들을 무효화할 수 있다. 앞서 논의한 바와 같이, 데이터 단위를 무효화하는 것은 데이터 단위들을 저장하고 있는 저장 디바이스로부터 데이터 단위들을 삭제하는 것을 포함할 수 있다. 다른 실시 예에서, 시스템은 무효화된 데이터 단위들을 유효한 데이터 단위들을 포함하는 메모리의 부분에서 무효화된 데이터 단위들을 포함하는 메모리의 다른 부분으로 이동시킬 수 있다.
단계 2260 내지 2275 로 진행하여, 시스템은 유효한 무선 주파수 데이터 단위만을 활성화할 수 있다. 유효한 무선 주파수 데이터 단위만을 이용하도록 제한함으로써, 경로 생성을 위해 최신의 크라우드소싱된 데이터만이 이용될 수 있다. 최신의 데이터를 이용하는 것은 경로 생성이 정확하며 최근에 수신한 크라우드소싱된 데이터와 연관되어 있음을 보장할 수 있다. 따라서, 길이 시간에 따라 빠르게 변화할 수 있는 환경에서, 생성된 경로는 환경의 변화를 반영할 수 있다.
단계 2260 에서, 시스템은 궤적에 대한 세그먼트들을 결정한다. 궤적들은 복수의 무선 주파수 데이터 단위들로 특정된다. 즉, 유효한 무선 주파수 데이터 단위들만으로 특정된다. 단계 2265 에서, 시스템은 세그먼트들에 대한 무선 주파수 특성을 결정한다. 시스템은 자기장 특성, 와이파이 특성 또는 자기장 및 와이파이 특성을 결정할 수 있다. 단계 2270 에서, 시스템은 세그먼트들의 클러스터들을 형성한다. 단계 2275 에서, 시스템은 지도의 경로들을 생성한다. 방법(2200)은 유효한 무선 주파수 단위에 기초하여 경로를 업데이트하고, 경로 생성에 사용되는 무선 주파수 단위들을 관리하기 위해 계속해서, 때때로 혹은 주기적으로 반복될 수 있다.
본 명세서에 개시된 기술적 사상에 대한 온전한 이해를 제공하기 위해, 특정한 명명법이 이용된다. 하지만 본 명세서에서 이용된 용어는, 본 명세서에 개시된 기술적 사상의 특정한 실시 예를 설명하기 위해 이용된 것이고, 제한하기 위한 것이 아니다.
본 명세서에서, “하나” 는 하나 이상을 의미한다. “복수” 는 둘 이상을 의미한다. “다른” 은 적어도 두 번째 이상을 의미한다. 특별히 정의되지 않는 이상, “연결” 은 직접적으로 연결된 것과 하나 이상의 매개체를 두고 간접적으로 연결된 것을 포함한다. 두 원소는 길, 네트워크, 시스템 또는 통신 채널을 이용하여 기계적, 전기적 또는 통신적으로 연결될 수 있다.
“및/또는” 은 하나 이상의 나열된 항목에 대하여 모든 가능한 조합을 의미한다. “포함” 은 본 명세서에서 언급된 특성, 숫자, 단계, 동작, 원소 및/또는 구성요소의 존재를 특정하는 것이고, 하나 이상의 다른 특성, 숫자, 단계, 동작, 원소 및/또는 구성요소의 존재를 부정하는 것이 아니다. 또한 “제 1”, “제 2” 등은 다양한 원소에 대해 이용할 수 있다. 이는 맥락에 따라 구분하기 어려운 원소들을 서로 구분하기 위한 것이며, 이에 제한되지 않는다.
“만약”, “~할 때”, “~에 있어” 는 탐지 및/또는 결정에 대한 응답 또는 탐지 및/또는 결정에 대한 반응을 의미한다. 예를 들어, “만일 [언급된 상태 또는 이벤트]가 탐지되는 경우” 라는 문구는 [언급된 상태 또는 이벤트]에 대한 응답으로”를 의미한다. 본 명세서에서, “응답으로” 또는 “반응하여” 는 행동, 이벤트 또는 상태에 대해 응답하거나 준비된 반응을 보이는 것을 의미한다. 따라서, 제 2 행동이 제 1 행동에 대한 “응답으로” 수행되었다면, 제 1 행동의 발생 및 제 2 행동의 발생 사이에 인과관계가 있다는 것을 의미하며, “반응하여” 는 그러한 인과관계를 의미한다.
“컴퓨터로 읽을 수 있는 저장 매체” 는 명령어를 실행할 수 있는 시스템, 장치 또는 디바이스와 연관된 프로그램 코드를 저장하는 저장 매체를 의미한다. “컴퓨터로 읽을 수 있는 저장 매체” 는 비 일시적이고, 그 자체로 신호를 전파할 수 있다. 컴퓨터로 읽을 수 있는 저장 매체는 전자 저장 디바이스, 자기 저장 디바이스, 광 저장 디바이스, 전자기 저장 디바이스, 반도체 저장 디바이스 또는 어떠한 적절한 조합으로도 구성될 수 있으나, 이에 제한되지 않는다. 컴퓨터로 읽을 수 있는 저장 매체의 좀 더 특정적인 예시의 대략적인 리스트는 다음과 같다: 휴대용 컴퓨터 디스켓, 하드 디스크, 램(RAM), 롬(ROM), 플래시 메모리(Flash memory), SRAM(static random memory), CD-ROM, DVD, 메모리 스틱, 플로피 디스크, 천공 카드와 같은 기계적으로 인코딩된 디바이스 및 어떠한 적절한 디바이스의 조합도 이용될 수 있다.
“실시간” 은 특정한 프로세스 또는 결정에 대한, 사용자 또는 시스템이 충분히 즉각적이라고 느낄 수 있는 반응의 정도 또는 이를 위한 프로세서의 상태를 의미한다.
컴퓨터 프로그램 상품은 프로세서로 하여금 일 실시 예를 수행할 수 있도록 하는, 컴퓨터로 읽을 수 있는 프로그램 명령어를 포함하는 컴퓨터로 읽을 수 있는 저장매체를 포함할 수 있다. 컴퓨터로 읽을 수 있는 프로그램 명령어들은 각각의 컴퓨팅/처리 디바이스에 컴퓨터로 읽을 수 있는 저장매체 또는 외부 컴퓨터 또는 외부 저장 디바이스로부터 네트워크(예를 들어, 인터넷, LAN, WAN 및/또는 무선 네트워크)로부터 다운로드될 수 있다. 네트워크는 구리 전송 케이블, 광 통신 케이블, 무선 전송, 공유기, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 말단 서버를 포함하는 말단 디바이스를 포함할 수 있다.
본 명세서의 일 실시 예를 수행할 수 있도록 하는, 컴퓨터로 읽을 수 있는 프로그램 명령어는 어셈블리 명령어, ISA(instruction-set-architecture) 명령어, 기계 명령어, 기계 의존 명령어, 마이크로코드(microcode), 펌웨어 명령어, 상태 설정 데이터 또는 하나 이상의 프로그래밍 언어의 조합으로 씌여진 소스코드 혹은 오브젝트 코드일 수 있다. 컴퓨터로 읽을 수 있는 프로그램 명령어는 사용자의 컴퓨터에서 온전히 실행되거나, 부분적으로 사용자의 컴퓨터에서 실행되거나, 독립 소프트웨어 패키지에서 실행되거나, 일부는 사용자의 컴퓨터에서, 일부는 원격 컴퓨터에서 실행되거나, 원격 컴퓨터 또는 서버에서 온전히 실행될 수 있다. 마지막 예시의 경우, 원격 컴퓨터는 사용자의 컴퓨터와 어떠한 종류의 네트워크를 이용하여서도 연결될 수 있다. 예를 들어, LAN, WAN 또는 외부 컴퓨터와 연결할 수 있는 어떠한 연결(예를 들어, 인터넷 서비스 공급자를 통한 인터넷 연결)을 포함할 수 있다. 일부 실시 예에서, 컴퓨터로 읽을 수 있는 프로그램 명령어를 활성화하여 전기 회로를 개인화함으로써, 전기 회로(예를 들어, 프로그래밍 가능한 논리회로, FPGA 또는 PLA 를 포함하는)는 컴퓨터로 읽을 수 있는 프로그램 명령어를 실행할 수 있다.
본 명세서에 개시된 특정한 측면은 방법, 장치(시스템) 및 컴퓨터 프로그램에 대한 구성도 혹은 흐름도에 관하여 설명된다. 흐름도 및 구성도의 각 블록과 단계 및 그 조합은 컴퓨터로 읽을 수 있는 프로그램 명령어에 의해 실시될 수 있다.
컴퓨터로 읽을 수 있는 프로그램 명령어는 범용 컴퓨터, 특수 목적 컴퓨터 또는 다른 프로그래밍 가능한 처리장치의 프로세서에서 이용할 수 있도록 제공될 수 있다. 프로그래밍 가능한 처리장치의 프로세서에서 명령어가 실행 될 경우, 흐름도 및 구성도의 각 블록과 단계 및 그 조합이 실시될 수 있다. 컴퓨터로 읽을 수 있는 프로그램 명령어는 컴퓨터로 읽을 수 있는 저장매체에 저장될 수 있다. 컴퓨터로 읽을 수 있는 저장매체는 흐름도 및 구성도의 각 블록과 단계 및 그 조합이 실시될 수 있는 컴퓨터로 읽을 수 있는 프로그램 명령어를 포함하고 컴퓨터, 프로그래밍 가능한 데이터 처리 장치 및/또는 다른 디바이스에 연결되어 특정 방법으로 기능할 수 있다.
컴퓨터로 읽을 수 있는 프로그램 명령어는 또한 컴퓨터, 다른 프로그래밍 가능한 데이터 처리 장치 또는 컴퓨터, 다른 프로그래밍 가능한 데이터 처리 장치 또는 컴퓨터에서 실시될 수 있는 프로세스를 생성하는 디바이스에서 일련의 동작을 할 수 있도록 하는 다른 디바이스에 적재될 수 있고, 따라서 컴퓨터, 다른 프로그래밍 가능한 장치 또는 다른 디바이스가 흐름도 및/또는 구성도의 블록 또는 단계들을 실시할 수 있도록 한다.
도시된 흐름도 및 구성도는 다양한 실시 예에 따른 시스템, 방법 및 컴퓨터 프로그램의 가능한 실시의 구조, 기능 및 동작을 도시한다. 흐름도의 각 단계와 구성도의 각 블록은 특정 동작을 수행할 수 있는 하나 이상의 실행 가능한 명령어의 모듈, 세그먼트 또는 부분을 나타낼 수 있다. 일부 대체적인 실시 예에서, 도면에 도시된 단계들은 도시된 순서와 달리 동작할 수 있다. 예를 들어, 이어지는 두 단계는 순서대로 연관되어 실행되거나, 때때로 기능에 따라 반대 순서로 실행될 수 있다. 구성도의 블록 또는 흐름도의 단계 및 구성도와 흐름도의 조합은 특정한 목적을 갖는 하드웨어 시스템에서 실시되어 특수한 기능이나 행동을 수행할 수 있다.
본 명세서에 개시된 기술적 사상은 설명을 위한 것이고 제한하기 위한 것이 아니다. 통상의 기술자가 수행할 수 있는 변형 또는 수정은 본 명세서에 개시된 기술의 범위에 포함된다.
방법은 프로세서를 이용하여 복수의 궤적에 대한 세그먼트들을 결정하는 것을 포함한다. 각각의 궤적은 통신 디바이스의 무선 주파수 데이터를 포함한다. 프로세서를 이용하여, 세그먼트들에 대한 무선 주파수 특성을 결정하고, 프로세서를 이용하여, 무선 주파수 특성에 따른 세그먼트들의 클러스터를 결정하는 것을 포함한다. 방법은 프로세서를 이용하여, 클러스터들을 이용하여 지도에 대한 경로들을 생성하는 것을 포함한다.
경로를 생성하는 것은 클러스터들을 이용하여 세그먼트 트리들을 생성하는 것과 세그먼트 트리들을 이용하여 지도를 생성하는 것을 포함할 수 있다.
일 실시 예에서, 무선 주파수 데이터는 와이파이 데이터를 포함할 수 있다. 무선 주파수 특성은 와이파이 특성을 포함할 수 있다. 예를 들어, 하나 이상의 혹은 모든 와이파이 특성은 무선접속장치 식별자 및 무선접속장치 식별자가 세그먼트들 중 하나로부터 특정 거리 상에 위치한 무선접속장치 식별자의 경향을 포함할 수 있다.
일 실시 예에서, 무선 주파수 데이터는 자기장 데이터를 포함할 수 있다. 무선 주파수 특성은 자기장 특성을 포함할 수 있다. 예를 들어, 하나 이상 혹은 모든 자기장 특성은 세그먼트들 중 하나로부터 특정 거리 상에 위치한, 임계 자기장 세기를 초과하는 자기장의 세기를 포함할 수 있다.
일 실시 예에서, 무선 주파수 데이터는 와이파이 데이터 및 자기장 데이터를 포함할 수 있다. 무선 주파수 특성은 와이파이 특성 및 자기장 특성을 포함할 수 있다.
방법은 무선 주파수 데이터와 지도의 영역을 연관시키는 것을 포함할 수 있다. 각각의 무선 주파수 데이터 단위와 연관된 영역의 데이터 밀도에 따라, 시간에 따라 무선 주파수 데이터의 단위들의 유효성 점수를 조정하고, 최소 유효성 점수를 초과하는 유효성 점수를 갖는 선택된 무선 주파수 데이터 단위들만을 이용하여 복수의 궤적에 대한 세그먼트들을 결정한다.
방법은 영역의 데이터 밀도에 따라 영역에 대한 데이터 무효율을 결정하는 것을 포함할 수 있다. 유효성 점수를 조정하는 것은 각각의 무선 주파수 데이터의 단위에 연관된 지도 상의 영역의 데이터 무효율을 이용하여 시간이 지남에 따라 무선 주파수 데이터 단위의 유효성 점수를 감소시키는 것을 포함할 수 있다.
시스템은 동작을 실행시킬 수 있도록 프로그래밍된 프로세서를 포함한다. 실행가능한 동작은 복수의 궤적에 대한 세그먼트들을 결정하는 것을 포함한다. 각각의 궤적은 통신 디바이스의 무선 주파수 데이터를 포함한다. 실행가능한 동작은 세그먼트들에 대한 무선 주파수 특성을 결정하고, 무선 주파수 특성에 따른 세그먼트들의 클러스터를 결정하는 것을 포함한다. 실행가능한 동작은 클러스터들을 이용하여 지도에 대한 경로들을 생성하는 것을 포함한다.
경로를 생성하는 것은 클러스터들을 이용하여 세그먼트 트리들을 생성하는 것과 세그먼트 트리들을 이용하여 지도를 생성하는 것을 포함할 수 있다.
일 실시 예에서, 무선 주파수 데이터는 와이파이 데이터를 포함할 수 있다. 무선 주파수 특성은 와이파이 특성을 포함할 수 있다. 예를 들어, 하나 이상의 혹은 모든 와이파이 특성은 무선접속장치 식별자 및 무선접속장치 식별자가 세그먼트들 중 하나로부터 특정 거리 상에 위치한 무선접속장치 식별자의 경향을 포함할 수 있다.
일 실시 예에서, 무선 주파수 데이터는 자기장 데이터를 포함할 수 있다. 무선 주파수 특성은 자기장 특성을 포함할 수 있다. 예를 들어, 하나 이상 혹은 모든 자기장 특성은 세그먼트들 중 하나로부터 특정 거리 상에 위치한, 임계 자기장 세기를 초과하는 자기장의 세기를 포함할 수 있다.
일 실시 예에서, 무선 주파수 데이터는 와이파이 데이터 및 자기장 데이터를 포함할 수 있다. 무선 주파수 특성은 와이파이 특성 및 자기장 특성을 포함할 수 있다.
실행가능한 동작은 무선 주파수 데이터와 지도의 영역을 연관시키는 것을 포함할 수 있다. 각각의 무선 주파수 데이터 단위와 연관된 영역의 데이터 밀도에 따라, 시간에 따라 무선 주파수 데이터의 단위들의 유효성 점수를 조정하고, 최소 유효성 점수를 초과하는 유효성 점수를 갖는 선택된 무선 주파수 데이터 단위들만을 이용하여 복수의 궤적에 대한 세그먼트들을 결정한다.
실행가능한 동작은 영역의 데이터 밀도에 따라 영역에 대한 데이터 무효율을 결정하는 것을 포함할 수 있다. 유효성 점수를 조정하는 것은 각각의 무선 주파수 데이터의 단위에 연관된 지도 상의 영역의 데이터 무효율을 이용하여 시간이 지남에 따라 무선 주파수 데이터 단위의 유효성 점수를 감소시키는 것을 포함할 수 있다.
컴퓨터로 읽을 수 있는 비 일시적인 기록매체는 명령어를 저장하고, 프로세서에서 실행될 경우, 방법을 수행할 수 있다. 방법은 프로세서를 이용하여 복수의 궤적에 대한 세그먼트들을 결정하는 것을 포함한다. 각각의 궤적은 통신 디바이스의 무선 주파수 데이터를 포함한다. 프로세서를 이용하여, 세그먼트들에 대한 무선 주파수 특성을 결정하고, 프로세서를 이용하여, 무선 주파수 특성에 따른 세그먼트들의 클러스터를 결정하는 것을 포함한다. 방법은 프로세서를 이용하여, 클러스터들을 이용하여 지도에 대한 경로들을 생성하는 것을 포함한다.
경로를 생성하는 것은 클러스터들을 이용하여 세그먼트 트리들을 생성하는 것과 세그먼트 트리들을 이용하여 지도를 생성하는 것을 포함할 수 있다.
일 실시 예에서, 무선 주파수 데이터는 와이파이 데이터를 포함할 수 있다. 무선 주파수 특성은 와이파이 특성을 포함할 수 있다. 예를 들어, 하나 이상의 혹은 모든 와이파이 특성은 무선접속장치 식별자 및 무선접속장치 식별자가 세그먼트들 중 하나로부터 특정 거리 상에 위치한 무선접속장치 식별자의 경향을 포함할 수 있다.
일 실시 예에서, 무선 주파수 데이터는 자기장 데이터를 포함할 수 있다. 무선 주파수 특성은 자기장 특성을 포함할 수 있다. 예를 들어, 하나 이상 혹은 모든 자기장 특성은 세그먼트들 중 하나로부터 특정 거리 상에 위치한, 임계 자기장 세기를 초과하는 자기장의 세기를 포함할 수 있다.
일 실시 예에서, 무선 주파수 데이터는 와이파이 데이터 및 자기장 데이터를 포함할 수 있다. 무선 주파수 특성은 와이파이 특성 및 자기장 특성을 포함할 수 있다.
방법은 무선 주파수 데이터와 지도의 영역을 연관시키는 것을 포함할 수 있다. 각각의 무선 주파수 데이터 단위와 연관된 영역의 데이터 밀도에 따라, 시간에 따라 무선 주파수 데이터의 단위들의 유효성 점수를 조정하고, 최소 유효성 점수를 초과하는 유효성 점수를 갖는 선택된 무선 주파수 데이터 단위들만을 이용하여 복수의 궤적에 대한 세그먼트들을 결정한다.
방법은 영역의 데이터 밀도에 따라 영역에 대한 데이터 무효율을 결정하는 것을 포함할 수 있다. 유효성 점수를 조정하는 것은 각각의 무선 주파수 데이터의 단위에 연관된 지도 상의 영역의 데이터 무효율을 이용하여 시간이 지남에 따라 무선 주파수 데이터 단위의 유효성 점수를 감소시키는 것을 포함할 수 있다.
방법은 프로세서를 이용하여, 복수의 통신 디바이스로부터 일정 시간 동안 데이터 단위들을 수신하는 것을 포함할 수 있다. 각각의 데이터 단위는 위치 정보를 포함할 수 있다. 프로세서를 이용하여, 데이터 단위들을 위치 정보를 이용하여 지도 상의 영역과 연관시키고, 프로세서를 이용하여, 영역들의 데이터 밀도를 결정하고, 데이터 밀도는 영역으로부터 일정 기간 이상 수신된 데이터 단위들의 수로서 특정될 수 있다. 방법은 또한 영역들의 데이터 밀도에 대한 지표를 제공할 수 있다.
방법은, 선택된 데이터 단위와 연관된 영역의 데이터 밀도에 기초하여 선택된 데이터 단위의 유효성 점수를 시간에 따라 조정하고, 선택된 데이터 단위의 유효성 점수가 최소 유효성 점수를 넘지 못함을 결정하는 데 대한 반응으로 선택된 데이터 단위를 무효화할 수 있다.
방법은, 영역에 따라 특정된 유효성 정보를 각각의 데이터 단위에 할당하고, 지도의 영역들에 대한 데이터 무효율을 결정하고, 각각의 데이터 단위와 연관된 지도 상의 영역의 데이터 무효율을 이용하여 데이터 단위들의 유효성 점수를 시간이 지남에 따라 감소시킬 수 있다. 또한, 방법은 데이터 단위들의 유효성 점수가 최소 유효성 점수를 넘지 못함을 결정하는 데 대한 반응으로 데이터 단위들을 무효화할 수 있다.
일 실시 예에서, 방법은 영역이 데이터 밀도 임계값을 초과하는 데이터 밀도를 가지고 있음을 결정하는 데 대한 반응으로 영역을 복수의 작은 영역들로 세분하는 것을 포함할 수 있다.
다른 실시 예에서 방법은, 복수의 선택된 영역들 각각에 대한 데이터 밀도가 데이터 밀도 임계값보다 낮다는 것을 결정하는 데 대한 반응으로 복수의 선택된 영역들을 하나의 큰 영역으로 병합하고, 복수의 선택된 영역들 각각은 복수의 선택된 영역들 중 적어도 하나와 인접하는 것을 포함할 수 있다.
방법은 또한 시간에 따른 영역의 데이터 밀도에 기초하여 지도 상의 영역에 대한 데이터 무효율을 업데이트하는 것을 포함할 수 있다.
시스템은 실행가능한 동작을 시작할 수 있도록 프로그래밍된 프로세서를 포함할 수 있다. 실행가능한 동작은 복수의 통신 디바이스로부터 일정 시간 동안 데이터 단위들을 수신할 수 있다. 각각의 데이터 단위는 위치 정보를 포함할 수 있다. 위치 정보를 이용하여 지도 상의 영역들과 데이터 단위들을 연관시키고, 영역들의 데이터 밀도를 결정하고, 데이터 밀도는 영역으로부터 일정 기간 이상 수신된 데이터 단위들의 수로서 특정될 수 있다. 실행가능한 동작은 또한 영역들의 데이터 밀도에 대한 지표를 제공하는 것을 포함할 수 있다.
실행가능한 동작은, 선택된 데이터 단위와 연관된 영역의 데이터 밀도에 기초하여 선택된 데이터 단위의 유효성 점수를 시간에 따라 조정하고, 선택된 데이터 단위의 유효성 점수가 최소 유효성 점수를 넘지 못함을 결정하는 데 대한 반응으로 선택된 데이터 단위를 무효화할 수 있다.
실행가능한 동작은, 영역에 따라 특정된 유효성 정보를 각각의 데이터 단위에 할당하고, 지도의 영역들에 대한 데이터 무효율을 결정하고, 각각의 데이터 단위와 연관된 지도 상의 영역의 데이터 무효율을 이용하여 데이터 단위들의 유효성 점수를 시간이 지남에 따라 감소시킬 수 있다. 또한, 방법은 데이터 단위들의 유효성 점수가 최소 유효성 점수를 넘지 못함을 결정하는 데 대한 반응으로 데이터 단위들을 무효화할 수 있다.
일 실시 예에서, 실행가능한 동작은 영역이 데이터 밀도 임계값을 초과하는 데이터 밀도를 가지고 있음을 결정하는 데 대한 반응으로 영역을 복수의 작은 영역들로 세분하는 것을 포함할 수 있다.
다른 실시 예에서 실행가능한 동작은, 복수의 선택된 영역들 각각에 대한 데이터 밀도가 데이터 밀도 임계값보다 낮다는 것을 결정하는 데 대한 반응으로 복수의 선택된 영역들을 하나의 큰 영역으로 병합하고, 복수의 선택된 영역들 각각은 복수의 선택된 영역들 중 적어도 하나와 인접하는 것을 포함할 수 있다.
실행가능한 동작은 또한 시간에 따른 영역의 데이터 밀도에 기초하여 지도 상의 영역에 대한 데이터 무효율을 업데이트하는 것을 포함할 수 있다.
본 명세서에서 개시된 용어는 기술적 원리, 실질적인 응용 또는 시장에서 볼 수 있는 기술을 넘어서는 기술적 발전 및/또는 통상의 기술자가 본 명세서의 실시 예를 실시할 수 있도록 설명하기 위해 선택되었다.
100: 시스템
105 내지 115: 통신 디바이스
120: 데이터 처리 디바이스
135: 네트워크
140: 구조물
145 내지 155: 데이터 단위

Claims (31)

  1. 복수의 통신 디바이스로부터 무선 주파수(radio frequency, RF) 데이터를 수신하는 단계;
    상기 무선 주파수 데이터와 지도 상의 영역들을 연관시키는 단계;
    무선 주파수 데이터 단위와 연관된 상기 영역의 데이터 밀도에 기초하여, 무선 주파수 데이터 단위들의 유효성 점수를 조정하는 단계;
    복수의 궤적(trajectory)에 대한 세그먼트들(segments)을 결정하는 단계로서, 상기 복수의 궤적은 통신 디바이스의 무선 주파수 데이터를 포함하고, 상기 세그먼트들을 결정하기 위하여, 상기 무선 주파수 데이터 단위들 중 최소 유효성 점수를 초과하는 유효성 점수를 갖는 무선 주파수 데이터 단위들만을 선택하여 이용하는 단계;
    상기 세그먼트들의 무선 주파수 특성을 결정하는 단계;
    상기 무선 주파수 특성에 따라 상기 세그먼트들의 클러스터(cluster)들을 형성하는 단계; 및
    상기 클러스터들을 이용하여 지도의 경로들을 생성하는 단계; 를 포함하는, 방법.
  2. 제 1 항에 있어서, 상기 경로들을 생성하는 단계는,
    상기 클러스터들로부터 세그먼트 트리들(segment trees)을 생성하는 단계; 및
    상기 세그먼트 트리들을 이용하여 상기 지도를 생성하는 단계; 를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 무선 주파수 데이터는 와이파이(Wi-Fi) 데이터를 포함하고;
    상기 무선 주파수 특성은 와이파이 특성을 포함하는, 방법.
  4. 제 3 항에 있어서, 상기 와이파이 특성 각각은 무선접속장치 식별자 및 상기 세그먼트들 중 하나로부터 특정 거리 상에 위치한 무선접속장치 식별자의 경향을 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 무선 주파수 데이터는 자기장 데이터를 포함하고;
    상기 무선 주파수 특성은 자기장 특성을 포함하는, 방법.
  6. 제 5 항에 있어서, 상기 자기장 특성 각각은 상기 세그먼트들 중 하나로부터 특정 거리 상에 위치한, 임계 자기장 세기를 초과하는 자기장의 세기를 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 무선 주파수 데이터는 와이파이 데이터 및 자기장 데이터를 포함하고;
    상기 무선 주파수 특성은 와이파이 특성 및 자기장 특성을 포함하는, 방법.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 영역들의 데이터 밀도에 기초하여 상기 영역들의 데이터 무효율을 결정하는 단계; 를 더 포함하고,
    상기 유효성 점수를 조정하는 단계는, 상기 무선 주파수 데이터 단위와 연관된 상기 지도 상의 상기 영역의 상기 데이터 무효율을 이용하여 상기 무선 주파수 데이터 단위들의 상기 유효성 점수를 시간이 지남에 따라 감소시키는 단계를 포함하는, 방법.
  10. 프로세서;
    적어도 하나의 명령어를 포함하는 메모리;
    상기 적어도 하나의 명령어는, 상기 프로세서에 의하여 수행될 때,
    복수의 통신 디바이스로부터 무선 주파수 데이터를 수신하는 단계;
    상기 무선 주파수 데이터와 지도 상의 영역들을 연관시키는 단계;
    무선 주파수 데이터 단위와 연관된 상기 영역의 데이터 밀도에 기초하여, 무선 주파수 데이터 단위들의 유효성 점수를 조정하는 단계;
    복수의 궤적에 대한 세그먼트들을 결정하는 단계로서, 상기 복수의 궤적은 통신 디바이스의 무선 주파수 데이터를 포함하고, 상기 세그먼트들을 결정하기 위하여, 상기 무선 주파수 데이터 단위들 중 최소 유효성 점수를 초과하는 유효성 점수를 갖는 무선 주파수 데이터 단위들만을 선택하여 이용하는 단계;
    상기 세그먼트들의 무선 주파수 특성을 결정하는 단계;
    상기 무선 주파수 특성에 따라 상기 세그먼트들의 클러스터들을 형성하는 단계; 및
    상기 클러스터들을 이용하여 지도의 경로들을 생성하는 단계; 를 포함하는 방법을 수행하기 위한 명령어들을 포함하는, 시스템.
  11. 제 10 항에 있어서, 상기 경로들을 생성하는 단계는,
    상기 클러스터들로부터 세그먼트 트리들을 생성하는 단계; 및
    상기 세그먼트 트리들을 이용하여 상기 지도를 생성하는 단계; 를 포함하는, 시스템.
  12. 제 10 항에 있어서,
    상기 무선 주파수 데이터는 와이파이(Wi-Fi) 데이터를 포함하고;
    상기 무선 주파수 특성은 와이파이 특성을 포함하는, 시스템.
  13. 제 12 항에 있어서, 상기 와이파이 특성 각각은,
    무선접속장치 식별자 및 상기 세그먼트들 중 하나로부터 특정 거리 상에 위치한 무선접속장치 식별자의 경향을 포함하는, 시스템.
  14. 제 10 항에 있어서,
    상기 무선 주파수 데이터는 자기장 데이터를 포함하고;
    상기 무선 주파수 특성은 자기장 특성을 포함하는, 시스템.
  15. 제 14 항에 있어서, 상기 자기장 특성 각각은,
    상기 세그먼트들 중 하나로부터 특정 거리 상에 위치한, 임계 자기장 세기를 초과하는 자기장의 세기를 포함하는, 시스템.
  16. 제 10 항에 있어서,
    상기 무선 주파수 데이터는 와이파이 데이터 및 자기장 데이터를 포함하고;
    상기 무선 주파수 특성은 와이파이 특성 및 자기장 특성을 포함하는, 시스템.
  17. 삭제
  18. 제 10 항에 있어서, 상기 방법은,
    상기 영역들의 데이터 밀도에 기초하여 상기 영역들의 데이터 무효율을 결정하는 단계; 를 더 포함하고,
    상기 유효성 점수를 조정하는 단계는, 상기 무선 주파수 데이터 단위와 연관된 상기 지도 상의 상기 영역의 상기 데이터 무효율을 이용하여 상기 무선 주파수 데이터 단위들의 상기 유효성 점수를 시간이 지남에 따라 감소시키는 단계를 포함하는 것을 특징으로 하는, 시스템.
  19. 복수의 통신 디바이스로부터 무선 주파수 데이터를 수신하는 단계;
    상기 무선 주파수 데이터와 지도 상의 영역들을 연관시키는 단계;
    무선 주파수 데이터 단위와 연관된 상기 영역의 데이터 밀도에 기초하여, 무선 주파수 데이터 단위들의 유효성 점수를 조정하는 단계;
    복수의 궤적에 대한 세그먼트들을 결정하는 단계로서, 상기 복수의 궤적은 통신 디바이스의 무선 주파수 데이터를 포함하고, 상기 세그먼트들을 결정하기 위하여, 상기 무선 주파수 데이터 단위들 중 최소 유효성 점수를 초과하는 유효성 점수를 갖는 무선 주파수 데이터 단위들만을 선택하여 이용하는 단계;
    상기 세그먼트들의 무선 주파수 특성을 결정하는 단계;
    상기 무선 주파수 특성에 따라 상기 세그먼트들의 클러스터들을 형성하는 단계; 및
    상기 클러스터들을 이용하여 지도의 경로들을 생성하는 단계; 를 포함하는 방법을 프로세서에서 실시할 수 있는 명령어를 기록한, 컴퓨터로 읽을 수 있는 기록매체.
  20. 복수의 통신 디바이스로부터 데이터 단위들을 수신하는 단계로서, 상기 데이터 단위들은 위치 정보를 포함하는, 상기 수신하는 단계;
    상기 위치 정보를 이용하여 지도 상의 영역들과 상기 데이터 단위들을 연관시키는 단계;
    상기 영역들의 데이터 밀도를 결정하는 단계로서, 상기 데이터 밀도는 상기 영역으로부터 소정의 시간 동안 수신된 데이터 단위들의 개수를 나타내는 단계;
    상기 영역들의 데이터 밀도에 대한 지시자를 제공하는 단계;
    데이터 무효율을 이용하여 특정 데이터 단위의 유효성 점수를 시간에 따라 조정하는 단계로서, 상기 데이터 무효율은 상기 특정 데이터 단위와 연관된 상기 영역의 데이터 밀도에 기초하여 결정되는 단계; 및
    상기 특정 데이터 단위의 유효성 점수가 최소 유효성 점수를 초과하지 못하는 경우, 상기 특정 데이터 단위를 무효화하는 단계; 를 포함하는, 방법.
  21. 삭제
  22. 제 20 항에 있어서,
    영역에 따라 특정된(region specific) 유효성 정보를 상기 데이터 단위들에 할당하는 단계;
    상기 지도의 상기 영역들에 대한 데이터 무효율을 결정하는 단계;
    상기 데이터 단위들과 연관된 상기 지도 상의 상기 영역의 상기 데이터 무효율을 이용하여 상기 데이터 단위들의 유효성 점수를 시간이 지남에 따라 감소시키는 단계; 및
    상기 데이터 단위들의 유효성 점수가 최소 유효성 점수를 초과하지 못하는 경우, 상기 데이터 단위들을 무효화하는 단계; 를 더 포함하는, 방법.
  23. 제 20 항에 있어서,
    특정 영역이 데이터 밀도 임계값을 초과하는 데이터 밀도를 가지고 있음을 결정하는 데 대한 반응으로 상기 영역을 복수의 작은 영역들로 세분하는 단계; 를 더 포함하는, 방법.
  24. 제 20 항에 있어서,
    복수의 선택된 영역들 각각에 대한 데이터 밀도가 데이터 밀도 임계값보다 낮다는 것을 결정하는 데 대한 반응으로 상기 복수의 선택된 영역들을 하나의 큰 영역으로 병합하는 단계; 를 더 포함하고,
    상기 복수의 선택된 영역들 각각은 상기 복수의 선택된 영역들 중 적어도 하나와 인접한 것을 특징으로 하는, 방법.
  25. 제 20 항에 있어서,
    시간에 따른 상기 영역의 데이터 밀도에 기초하여 상기 지도 상의 영역에 대한 데이터 무효율을 업데이트하는 단계; 를 더 포함하는, 방법.
  26. 프로세서;
    적어도 하나의 명령어를 포함하는 메모리;
    상기 적어도 하나의 명령어는, 상기 프로세서에 의하여 수행될 때,
    복수의 통신 디바이스로부터 데이터 단위들을 수신하는 단계로서, 상기 데이터 단위들은 위치 정보를 포함하는 단계;
    상기 위치 정보를 이용하여 지도 상의 영역들과 상기 데이터 단위들을 연관시키는 단계;
    상기 영역들의 데이터 밀도를 결정하는 단계로서, 상기 데이터 밀도는 상기 영역으로부터 소정의 시간 동안 수신된 데이터 단위들의 개수를 나타내는 단계;
    상기 영역들의 데이터 밀도에 대한 지시자를 제공하는 단계;
    데이터 무효율을 이용하여 특정 데이터 단위의 유효성 점수를 시간에 따라 조정하는 단계로서, 상기 데이터 무효율은 상기 특정 데이터 단위와 연관된 상기 영역의 데이터 밀도에 기초하여 결정되는 단계; 및
    상기 특정 데이터 단위의 유효성 점수가 최소 유효성 점수를 초과하지 못하는 경우, 상기 특정 데이터 단위를 무효화하는 단계; 를 포함하는 방법을 수행하기 위한 명령어들을 포함하는, 시스템.
  27. 삭제
  28. 제 26 항에 있어서, 상기 방법은,
    영역에 따라 특정된 유효성 정보를 데이터 단위에 할당하는 단계;
    상기 지도의 상기 영역들에 대한 데이터 무효율을 결정하는 단계;
    상기 데이터 단위와 연관된 상기 지도 상의 상기 영역의 상기 데이터 무효율을 이용하여 상기 데이터 단위들의 유효성 점수를 시간이 지남에 따라 감소시키는 단계; 및
    상기 데이터 단위들의 유효성 점수가 최소 유효성 점수를 초과하지 못하는 경우, 상기 데이터 단위들을 무력화하는 단계; 를 더 포함하는 것을 특징으로 하는, 시스템.
  29. 제 26 항에 있어서, 상기 방법은,
    특정 영역이 데이터 밀도 임계값을 초과하는 데이터 밀도를 가지고 있음을 결정하는 데 대한 반응으로 상기 영역을 복수의 작은 영역들로 세분하는 단계; 를 더 포함하는 것을 특징으로 하는, 시스템.
  30. 제 26 항에 있어서, 상기 방법은,
    복수의 선택된 영역들 각각에 대한 데이터 밀도가 데이터 밀도 임계값보다 낮다는 것을 결정하는 데 대한 반응으로 상기 복수의 선택된 영역들을 하나의 큰 영역으로 병합하는 단계; 를 더 포함하고,
    상기 복수의 선택된 영역들 각각은 상기 복수의 선택된 영역들 중 적어도 하나와 인접한 것을 특징으로 하는, 시스템.
  31. 제 26 항에 있어서, 상기 방법은,
    시간에 따른 상기 영역의 데이터 밀도에 기초하여 상기 지도 상의 영역에 대한 데이터 무효율을 업데이트하는 단계; 를 더 포함하는 것을 특징으로 하는, 시스템.
KR1020150057331A 2014-04-28 2015-04-23 크라우드소싱을 이용한 위치 결정, 매핑 및 데이터 관리 시스템 및 방법 KR102282367B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP15786005.7A EP3139196B1 (en) 2014-04-28 2015-04-24 System and method for positioning, mapping and data management by using crowdsourcing
PCT/KR2015/004109 WO2015167172A1 (ko) 2014-04-28 2015-04-24 크라우드소싱을 이용한 위치 결정, 매핑 및 데이터 관리 시스템 및 방법
CN201580023462.8A CN106461768B (zh) 2014-04-28 2015-04-24 通过使用众包进行定位、绘图和数据管理的系统和方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461985140P 2014-04-28 2014-04-28
US61/985,140 2014-04-28
US14/639,076 US9510154B2 (en) 2014-04-28 2015-03-04 Location determination, mapping, and data management through crowdsourcing
US14/639,076 2015-03-04

Publications (2)

Publication Number Publication Date
KR20150124396A KR20150124396A (ko) 2015-11-05
KR102282367B1 true KR102282367B1 (ko) 2021-07-27

Family

ID=54336065

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150057331A KR102282367B1 (ko) 2014-04-28 2015-04-23 크라우드소싱을 이용한 위치 결정, 매핑 및 데이터 관리 시스템 및 방법

Country Status (4)

Country Link
US (2) US9510154B2 (ko)
EP (1) EP3139196B1 (ko)
KR (1) KR102282367B1 (ko)
CN (1) CN106461768B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104335635A (zh) * 2012-05-22 2015-02-04 诺基亚公司 基于收集的一系列接入点的数据来触发接入点之间的切换的方法和设备
US9510154B2 (en) 2014-04-28 2016-11-29 Samsung Electronics Co., Ltd Location determination, mapping, and data management through crowdsourcing
US10028245B2 (en) 2014-07-16 2018-07-17 Samsung Electronics Co., Ltd. Maintaining point of interest data using wireless access points
US20170372223A1 (en) * 2016-06-24 2017-12-28 Intel Corporation Smart crowd-sourced automatic indoor discovery and mapping
US10330484B2 (en) * 2016-06-24 2019-06-25 Visteon Global Technologies, Inc. Correlating a route with a network operation
US10298699B2 (en) 2016-09-08 2019-05-21 Microsoft Technology Licensing, Llc Physical location determination of internal network components
US10502579B2 (en) * 2016-10-25 2019-12-10 Here Global B.V. Method and apparatus for determining modal routes between an origin area and a destination area
CN106767764B (zh) * 2017-03-20 2021-05-18 联想(北京)有限公司 一种定位设置方法及电子设备
US10136259B1 (en) * 2017-05-03 2018-11-20 Intermec, Inc. Pick and put location verification utilizing RF received signal strength
US10032181B1 (en) 2017-05-24 2018-07-24 Uber Technologies, Inc. Determining a topological location of a client device using received radio signatures
US10859670B2 (en) * 2017-08-08 2020-12-08 Uber Technologies, Inc. Geographic positioning using short-range transmissions
US11816622B2 (en) 2017-08-14 2023-11-14 ScoutZinc, LLC System and method for rating of personnel using crowdsourcing in combination with weighted evaluator ratings
EP3460405B1 (en) * 2017-09-25 2021-04-28 Mapsted Corp. Crowd-sourced passive positioning and calibration
CN107766808B (zh) * 2017-09-30 2021-06-29 北京泓达九通科技发展有限公司 道路网络空间中车辆对象移动轨迹聚类的方法及系统
CN109959376B (zh) * 2017-12-14 2021-11-16 腾讯科技(北京)有限公司 轨迹纠正方法、涉及室内路线的导航路线绘制方法和装置
US10846314B2 (en) 2017-12-27 2020-11-24 ANI Technologies Private Limited Method and system for location clustering for transportation services
CN108810817B (zh) * 2018-05-18 2020-10-27 东南大学 基于移动众包模式的室内地图生成与轨迹加密方法
US11356805B2 (en) * 2018-09-01 2022-06-07 Clarkson University Determining localization from ordinal comparison data
US10484817B1 (en) 2018-09-04 2019-11-19 Verizon Patent And Licensing Inc. Methods and systems for surfacing a user-customized segment within a geospatial navigation application
EP3853789A1 (en) * 2018-10-16 2021-07-28 Huawei Technologies Co., Ltd. Improved trajectory matching based on use of quality indicators empowered by weighted confidence values
US11178540B2 (en) * 2018-10-31 2021-11-16 Cisco Technology, Inc. Enabling secure beacon telemetry broadcasts based on battery power state of a beacon device
US10670728B2 (en) * 2018-11-05 2020-06-02 Mapsted Corp. Method and system for crowd-sourced trusted-GPS region for mobile device localization
CN109461505A (zh) * 2018-11-16 2019-03-12 河南省疾病预防控制中心 一种利用空间信息降低狂犬病防控成本的方法
EP3693699B1 (en) * 2019-02-05 2021-12-22 HERE Global B.V. Determining of absolute altitudes of floors of a structure
CN111653115B (zh) * 2019-03-04 2022-02-15 腾讯大地通途(北京)科技有限公司 任务的划分方法、装置及存储介质
KR102145576B1 (ko) * 2019-03-28 2020-08-18 (주)제로웹 주 거주공간 클러스터링 방법
TWI699130B (zh) * 2019-05-09 2020-07-11 吳彥緯 動態式多節點室內定位系統
US10809074B1 (en) * 2019-06-04 2020-10-20 Here Global B.V. Method, apparatus, and computer program product for map data agnostic route fingerprints
CN111260753B (zh) * 2020-02-13 2024-01-12 浙江华睿科技股份有限公司 地图的绘制方法和装置、存储介质及电子装置
AU2021389673A1 (en) * 2020-11-26 2023-07-06 Technological Resources Pty. Limited Method and apparatus for incremental mapping of haul roads
US20230137263A1 (en) * 2021-10-29 2023-05-04 Here Global B.V. Method and apparatus for generating structured trajectories from geospatial observations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130053056A1 (en) * 2011-08-29 2013-02-28 Qualcomm Incorporated Facilitating mobile device positioning
US20130267255A1 (en) 2011-10-21 2013-10-10 Alohar Mobile Inc. Identify points of interest using wireless access points
US20130293416A1 (en) * 2012-05-02 2013-11-07 Texas Instruments Incorporated Apparatus and method for indoor positioning
US20140011518A1 (en) * 2012-06-26 2014-01-09 The Governing Council Of The University Of Toronto System, method and computer program for dynamic generation of a radio map
WO2014026338A1 (en) 2012-08-15 2014-02-20 Google Inc. Crowd-sourcing indoor locations

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513046B1 (en) 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
US7215969B2 (en) 2003-07-21 2007-05-08 Lucent Technologies Inc. Method for RF dead zone data collection using mobile station
CN101040554B (zh) 2004-10-14 2010-05-05 松下电器产业株式会社 移动目标预测装置和移动目标预测方法
US8369264B2 (en) * 2005-10-28 2013-02-05 Skyhook Wireless, Inc. Method and system for selecting and providing a relevant subset of Wi-Fi location information to a mobile client device so the client device may estimate its position with efficient utilization of resources
GB2440958A (en) 2006-08-15 2008-02-20 Tomtom Bv Method of correcting map data for use in navigation systems
KR100848322B1 (ko) 2006-12-08 2008-07-24 한국전자통신연구원 실내 무선 측위 장치 및 방법
US7827270B2 (en) 2007-10-31 2010-11-02 Cisco Technology, Inc. Mobility service clustering using network service segments
US9397890B2 (en) 2009-02-02 2016-07-19 Waldeck Technology Llc Serving a request for data from a historical record of anonymized user profile data in a mobile environment
US8350758B1 (en) 2009-10-01 2013-01-08 Lighthouse Signal Systems LLC Systems and methods for indoor geolocation based on yield of RF signals
US8543143B2 (en) 2009-12-23 2013-09-24 Nokia Corporation Method and apparatus for grouping points-of-interest according to area names
US8884817B2 (en) 2009-12-31 2014-11-11 CSR Technology Holdings Inc. GPS with aiding from ad-hoc peer-to-peer bluetooth networks
US8374632B2 (en) 2010-01-04 2013-02-12 Alcatel Lucent Method and apparatus for providing geo-location enablement for wireless device
US8301364B2 (en) 2010-01-27 2012-10-30 Navteq B.V. Method of operating a navigation system to provide geographic location information
US8660355B2 (en) 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
US20130204652A1 (en) 2010-04-26 2013-08-08 Locationary Inc. System, method and computer program for creation or collection of information using crowd sourcing combined with targeted incentives
EP2572542A4 (en) 2010-05-19 2017-01-04 Nokia Technologies Oy Crowd-sourced vision and sensor-surveyed mapping
EP2572544A4 (en) * 2010-05-19 2017-01-18 Nokia Technologies Oy Physically-constrained radiomaps
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
US8798534B2 (en) 2010-07-09 2014-08-05 Digimarc Corporation Mobile devices and methods employing haptics
US8892118B2 (en) 2010-07-23 2014-11-18 Qualcomm Incorporated Methods and apparatuses for use in providing position assistance data to mobile stations
US8694240B1 (en) 2010-10-05 2014-04-08 Google Inc. Visualization of paths using GPS data
US20120143495A1 (en) 2010-10-14 2012-06-07 The University Of North Texas Methods and systems for indoor navigation
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
US10169017B2 (en) 2010-10-21 2019-01-01 International Business Machines Corporation Crowdsourcing location based applications and structured data for location based applications
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
US8565783B2 (en) 2010-11-24 2013-10-22 Microsoft Corporation Path progression matching for indoor positioning systems
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
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
US8818721B2 (en) 2011-05-31 2014-08-26 Trimble Navigation Limited Method and system for exchanging data
US8386422B1 (en) 2011-07-08 2013-02-26 Google Inc. Using constructed paths to supplement map data
US9470529B2 (en) 2011-07-14 2016-10-18 Microsoft Technology Licensing, Llc Activating and deactivating sensors for dead reckoning
US9464903B2 (en) 2011-07-14 2016-10-11 Microsoft Technology Licensing, Llc Crowd sourcing based on dead reckoning
US8589318B2 (en) * 2011-07-15 2013-11-19 Microsoft Corporation Location determination using generalized fingerprinting
US8559975B2 (en) 2011-07-22 2013-10-15 Microsoft Corporation Location determination based on weighted received signal strengths
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
WO2013055959A1 (en) 2011-10-11 2013-04-18 Qualcomm Incorporated System and/or method for pedestrian navigation
US9507747B2 (en) * 2011-11-04 2016-11-29 Microsoft Technology Licensing, Llc Data driven composite location system using modeling and inference methods
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
KR20130077750A (ko) 2011-12-29 2013-07-09 삼성전자주식회사 안경 장치, 디스플레이 장치, 그들을 이용한 컨텐츠 제공 방법 및 디스플레이 장치의 모드 전환 방법
KR101365993B1 (ko) 2011-12-29 2014-02-21 홍익대학교 산학협력단 데이터처리방법, 데이터처리장치, 데이터수집방법, 및 정보제공방법
FI124665B (en) * 2012-01-11 2014-11-28 Indooratlas Oy Creating a magnetic field map for indoor positioning
EP2817785B1 (en) 2012-02-23 2019-05-15 Charles D. Huston System and method for creating an environment and for sharing a location based experience in an environment
US9234958B2 (en) * 2012-04-19 2016-01-12 Nokia Technologies Oy Method, apparatus, and computer program product for distributed indoor three-dimensional radiomap
US9432964B2 (en) 2012-05-21 2016-08-30 Qualcomm Incorporated Method and apparatus for determining locations of access points
WO2013188597A2 (en) 2012-06-12 2013-12-19 Amrit Bandyopadhyay Irregular feature mapping
US9439041B2 (en) 2012-06-29 2016-09-06 Lighthouse Signal Systems, Llc Systems and methods for calibration based indoor geolocation
US10148709B2 (en) 2012-08-31 2018-12-04 Here Global B.V. Method and apparatus for updating or validating a geographic record based on crowdsourced location data
US9182240B2 (en) 2012-09-26 2015-11-10 Intel Corporation Method, apparatus and system for mapping a course of a mobile device
US9116000B2 (en) 2012-10-22 2015-08-25 Qualcomm, Incorporated Map-assisted sensor-based positioning of mobile devices
US9226111B2 (en) 2012-11-21 2015-12-29 Apple Inc. Pathway matching
US8849308B2 (en) 2012-11-21 2014-09-30 Apple Inc. Tiling of map data
WO2015065375A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Signal space based navigation
US9510154B2 (en) 2014-04-28 2016-11-29 Samsung Electronics Co., Ltd Location determination, mapping, and data management through crowdsourcing
US10028245B2 (en) 2014-07-16 2018-07-17 Samsung Electronics Co., Ltd. Maintaining point of interest data using wireless access points

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130053056A1 (en) * 2011-08-29 2013-02-28 Qualcomm Incorporated Facilitating mobile device positioning
US20130267255A1 (en) 2011-10-21 2013-10-10 Alohar Mobile Inc. Identify points of interest using wireless access points
US20130293416A1 (en) * 2012-05-02 2013-11-07 Texas Instruments Incorporated Apparatus and method for indoor positioning
US20140011518A1 (en) * 2012-06-26 2014-01-09 The Governing Council Of The University Of Toronto System, method and computer program for dynamic generation of a radio map
WO2014026338A1 (en) 2012-08-15 2014-02-20 Google Inc. Crowd-sourcing indoor locations

Also Published As

Publication number Publication date
KR20150124396A (ko) 2015-11-05
US20150312722A1 (en) 2015-10-29
US9942720B2 (en) 2018-04-10
EP3139196A1 (en) 2017-03-08
EP3139196A4 (en) 2018-01-03
EP3139196B1 (en) 2020-09-30
CN106461768A (zh) 2017-02-22
US9510154B2 (en) 2016-11-29
CN106461768B (zh) 2020-06-16
US20170041761A1 (en) 2017-02-09

Similar Documents

Publication Publication Date Title
KR102282367B1 (ko) 크라우드소싱을 이용한 위치 결정, 매핑 및 데이터 관리 시스템 및 방법
CN106462627B (zh) 根据多个位置数据报告分析语义地点和相关数据
CN104781686B (zh) 路径匹配
CN109995884B (zh) 确定精确地理位置的方法和装置
Du et al. A map-assisted WiFi AP placement algorithm enabling mobile device’s indoor positioning
CN109990782A (zh) 一种避开障碍物的方法及设备
US10057725B2 (en) Sensor-based geolocation of a user device
US20160286351A1 (en) Indoor navigation anomaly detection
CN106055607B (zh) 用户到访预测模型建立、用户到访预测方法和装置
Chandel et al. InLoc: An end-to-end robust indoor localization and routing solution using mobile phones and BLE beacons
CN104884899A (zh) 确定穿过交通运输网络的一或多个交叉口的轨迹的方法
EP2965041A1 (en) Crowd sourced pathway maps
JP7350945B2 (ja) コンピュータ実装方法、コンピュータ・プログラム製品および装置
US10660062B1 (en) Indoor positioning
US9787557B2 (en) Determining semantic place names from location reports
Kannan et al. Predictive indoor navigation using commercial smart-phones
CN110470308A (zh) 一种避障系统及方法
CN113821579B (zh) 路线的生成方法、装置、电子设备和存储器
KR101896405B1 (ko) 사용자 동선 분석을 위한 poi 매핑 방법 및 시스템
GB2570853A (en) Identifying sites visited by a user device
CN115797961A (zh) 车道线变更检测方法、装置、电子设备及存储介质
CN115100231A (zh) 一种区域边界的确定方法和装置
CN114910081B (zh) 车辆定位方法、装置及电子设备
CN109429332A (zh) 定位装置及方法以及定位系统
CN113312562B (zh) 路线规划方法、装置、电子设备、存储介质及程序产品

Legal Events

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