KR20140089516A - 루트 평탄화 - Google Patents

루트 평탄화 Download PDF

Info

Publication number
KR20140089516A
KR20140089516A KR1020147009737A KR20147009737A KR20140089516A KR 20140089516 A KR20140089516 A KR 20140089516A KR 1020147009737 A KR1020147009737 A KR 1020147009737A KR 20147009737 A KR20147009737 A KR 20147009737A KR 20140089516 A KR20140089516 A KR 20140089516A
Authority
KR
South Korea
Prior art keywords
data
route
user
representation
location
Prior art date
Application number
KR1020147009737A
Other languages
English (en)
Other versions
KR102111104B1 (ko
Inventor
마르친 미할 크미에치크
라팔 얀 글리슈친스키
Original Assignee
톰톰 폴스카 에스피 제트.오.오.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰톰 폴스카 에스피 제트.오.오. filed Critical 톰톰 폴스카 에스피 제트.오.오.
Publication of KR20140089516A publication Critical patent/KR20140089516A/ko
Application granted granted Critical
Publication of KR102111104B1 publication Critical patent/KR102111104B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • 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
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • G01C22/006Pedometers
    • 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/13Receivers
    • G01S19/14Receivers specially adapted for specific applications
    • G01S19/19Sporting applications
    • 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/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/49Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an inertial position system, e.g. loosely-coupled

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Instructional Devices (AREA)

Abstract

개인용 휴대용 트레이닝 기기로부터 GPS 데이터를 수신하는 것을 포함하는 방법이 개시된다. 사용자 (504)에게 디스플레이하기 위해서 이동된 루트의 더욱 정밀한 표현을 생성하기 위해서 상기 GPS 데이터 상에 평탄화 연산이 수행된다. 평탄화 연산에서, 상기 루트 표현 (500)의 초기 추정을 얻기 위해서 큐빅 스플라인 알고리즘이 사용된다. 상기 추정은 그러면 상기 개인용 트레이닝 기기 (502)에 의해서 기록된 수신된 사용자 움직임 데이터를 적어도 이용하여 개선을 겪게 된다. 추가로, GPS 정밀도를 표시하는 데이터; 이력적인 루트 데이터; 그리고 빌딩 족문 (footprint) 그리고 물줄기들과 같은 디지털 지도 데이터; 중 하나 또는 그 이상은 상기 추정을 개선하는데 있어서 사용될 수 있을 것이다.

Description

루트 평탄화 {Route smoothing}
본 발명은 사용자가 이동한 루트 (route)에 관련한 위치 데이터를 평탄화 (smoothing)하는 방법들 및 시스템들에 관한 것이며, 상기 루트의 더욱 정밀한 표현을 생성하기 위한 것이다. 본 발명은, 비록 독점적이지는 않지만, 휴대용 트레이닝 기기들, 예를 들면, 뛰는 사람들, 자전거 타는 사람들 등이 휴대할 수 있는 기기들로 운동하는 동안에 특정한 순간들에서 사용자의 페이스 (pace) 그리고/또는 그 운동하는 동안에 상기 사용자에 의해서 커버되는 거리를 추적하고 그리고 기록할 수 있는 기기들로부터 수신한 루트 데이터를 평탄화하는 것에 특히 적용될 수 있다.
GNSS (Global Navigation Satellite Systems; 글로벌 내비게이션 위성 시스템) 신호 수신 및 프로세싱 기능을 포함한 휴대용 내비게이션 기기들 (portable navigation devices (PNDs))은 잘 알려져 있으며 그리고 차량-내 또는 다른 차량 내비게이션 시스템들로 널리 채택된다. 그런 기기들은 GPS 안테나와 같은 GNSS 안테나를 포함하며, 그 안테나를 경유하여 로케이션 (location) 데이터를 포함하는 위상-브로드캐스트 신호들이 수신되고 그리고 이어서 프로세싱되어 그 기기의 현재의 로케이션을 판별한다. 상기 PND 기기는 전자 자이로스코프들 및 가속도계들을 또한 포함할 수 있으며, 이것들은 현재의 각도 그리고 선형 가속도, 그리고, 이어서, 상기 GPS 신호로부터 유도된 로케이션 정보와 함께, 상기 기기 그리고 그 기기가 일반적으로 장착되는 이 차량의 속도 및 상대적인 변위 (displacement)를 판별하기 위해서 프로세싱될 수 있는 신호들을 생성한다. 그런 센서들은 차량-내 내비게이션 시스템들 내에 제공되는 것이 대개는 일반적이지만, 상기 PND 기기 그 자체 내부에 또한 제공될 수 있을 것이다.
최근에, GPS는 보행자 그리고 아웃도어 애플리케이션들을 위해서 사용되기 시작했다. 예를 들면, GPS 안테나들을 포함하는 스포츠 시계들은 조깅하는 사람들, 뛰는 사람들, 자전거 타는 사람들 그리고 다른 운동 선수들 및 아웃도어 열광자들에 의해서 그 사람들의 속도, 이동 거리 등의 실시간 데이터를 얻기 위한 수단으로서 사용되기 시작했다. 상기 GPS 데이터는 거른 기기들 상에 저장될 수 있는 것이 보통이며, 그래서, 예를 들면, 몇몇의 경우들에서는 그 수집된 데이터를 디지털 지도상에 디스플레이 되도록 컴퓨터 또는 웹사이트로 전달하여 운동하는 사람이 자신의 활동을 끝낸 이후에 그 데이터가 분석될 수 있도록 한다.
전통적인 PND들에서, 차량 속력 및 거리는 상기 GNSS 신호들로부터 얻은 차량의 측정된 지상 속력으로부터 종종 계산되며, 그리고 더 특별하게는 반송파 위상 추적 루프들로부터 유도된다. 예를 들면, 두 시기들 (또는 업데이트된 GPS 신호가 수신된 때에 시간에 있어서의 특정 순간들) 사이에 차량의 이동한 거리는 그 차량의 시간에 따른 속도 벡터를 수치적으로 또는 적합한 벡터로의 어느 하나로 적분함으로써 계산될 수 있다. 다중-경로 효과들과 같이 GPS 신호들로 인해서 경험되는 잘 알려진 오류들은 칼만 (Kalman) 필터링 및 지도 매칭과 같은 다양한 필터링 기술들을 통해서 차량 내비게이션에서 종종 완화되거나 또는 적어도 감소될 수 있다.
쉽게 인정될 수 있을 것처럼, 보행자들 그리고 다른 아웃도어 열광자들의 동적인 행동은 차량의 행동과는 매우 다르다. 예를 들면, 차량들은 규정된 도로망에서의 이동하기 위해서 대부분의 환경들에서 제한되며, 그래서 방향에 있어서 제한된 그리고 예측 가능한 변화만을 항상 경험할 뿐일 것이다. 대조적으로, 보행자들, 자전거 타는 사람들 등은 그런 제한들을 전혀 가지지 않으며 (또는 상당히 더 작은 제한들을 최소한 받는다), 그래서 더욱 복잡한 동적인 움직임들을 가진다. 더욱이, 더 밀집한 도시 환경들에서, 보행자들은 또한 도로 (또는 보도) 상에서 흔히 걸을 것이며, 그래서 보통은 차량들보다 빌딩들에 더욱 가깝게 있을 것이다. 이것은 위성 가시도를 줄이는 결과를 가지며, 그럼으로써 수평 위치 정확도 (horizontal dilution of precision (HDOP))를 저하시킨다.
동적인 행동에서의 이런 차이들의 관점에서, 그런 기기가 따라가는, 그리고 그 결과 그 기기의 사용자가 따라가는 루트의 정밀한 표현을 얻는데 있어서 몇몇의 어려움들이 존재할 수 있다. 그러므로 휴대용 트레이닝 기기와 같은 로케이션 판별 및 추적 기능을 가진 특별한 기기의 사용자가 이동한 루트의 더욱 정밀한 표현을 제공하기 위한 방법을 제공하는 것이 바람직하다
본 발명은 상기와 같이 기기의 사용자가 이동한 루트의 더욱 정밀한 표현을 제공하기 위해서 루트 평탄화 (route smoothing)를 제공할 수 있는 방안을 제공하려고 한다.
본 발명의 첫 번째 모습에 따라서, 이동한 루트 (route)의 표현을 생성하는 방법이 제공되며, 이 방법은:
루트를 따라서 이동할 때에 복수의 시각 (time)들에서 사용자의 위치에 관한 위치 데이터를 수신하는 단계;
상기 루트를 따라서 이동할 때에 복수의 시각들에서 상기 사용자의 움직임에 관한 사용자 움직임 데이터를 수신하는 단계; 그리고
상기 위치 데이터에 평탄화 (smoothing) 연산을 수행하여, 이동된 상기 루트의 더욱 정밀한 표현을 생성하는 단계를 포함하며,
이때에 상기 평탄화 연산은:
상기 수신된 위치 데이터에 스플라인 (spline) 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 단계; 그리고
상기 수신된 사용자 움직임 데이터를 이용하여 상기 추정된 표현을 개선하는 단계를 포함한다.
본 발명의 추가의 모습에 따라서, 이동한 루트의 표현을 생성하는 시스템이, 옵션으로는 서버가 제공되며, 이는:
루트를 따라서 이동할 때에 복수의 시각 (time)들에서 사용자의 위치에 관한 위치 데이터를 수신하는 수단;
상기 루트를 따라서 이동할 때에 복수의 시각들에서 상기 사용자의 움직임에 관한 사용자 움직임 데이터를 수신하는 수단; 그리고
이동된 상기 루트의 더욱 정밀한 표현을 생성하기 위해서 상기 위치 데이터에 평탄화 (smoothing) 연산을 수행하는 수단을 포함하며,
이때에 상기 평탄화 연산을 수행하는 수단은:
상기 수신된 위치 데이터에 스플라인 (spline) 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는, 수단; 그리고
상기 수신된 사용자 움직임 데이터를 이용하여 상기 추정된 표현을 개선하는 수단을 포함한다.
이 추가의 모습에서의 본 발명은 본 발명의 첫 번째 모습에 관련하여 설명된 특징들 중의 어느 것 또는 모두를 포함할 수 있을 것이며, 상기 추가의 모습과 상기 첫 번째 모습이 서로 불일치하지 않는 범위까지는 그 반대의 경우도 성립한다. 그래서, 여기에서 명시적으로 선언되지 않는다면, 본 발명의 상기 시스템은 설명된 상기 방법의 단계들 중 임의의 것을 수행하기 위한 수단을 포함할 수 있을 것이다.
상기 방법의 단계들 중 임의의 것을 수행하기 위한 수단은 그렇게 하기 위한 하나 또는 그 이상의 프로세서들을 포함할 수 있다. 주어진 단계는 어떤 다른 단계에 동일한 또는 상이한 세트의 프로세서들을 이용하여 수행될 수 있을 것이다. 어떤 주어진 단계는 프로세서들의 집합들의 조합을 이용하여 수행될 수 있을 것이다.
본 발명의 모습들에서의 본 발명에 따라, 이동된 루트의 더욱 정밀한 표현을 생성하기 위해서 위치 데이터가 수신되고 그리고 평탄화 연산이 수행된다 ("평탄화된 루트"). "평탄화된 루트"의 용어는 여기에서는, 어떤 중간의 평탄화된 루트라기 보다는, 평탄화 연산의 결과, 즉, 상기 평탄화된 루트의 더욱 정밀한 표현을 언급하며, 이는 사용자에게 출력될 수 있을 것이다. 상기 평탄화 연산은 상기 수신된 위치 데이터 그리고 수신된 사용자 움직임 데이터를 포함하는 추가 데이터를 기반으로 한다. 상기 추가 데이터는 상기 수신된 위치 데이터에 추가적인 것이다. 그렇지 않고 컨텍스트 요청들이 아니라면, 여기에서의 "상기 추가 데이터"에 대한 참조는 상기 수신된 사용자 움직임 데이터를 언급하는 것이다. 몇몇의 실시예들에서 평탄화 연산이 기반으로 하는 상기 추가 데이터는 다음의 데이터 중 하나 또는 그 이상을 또한 포함할 수 있을 것이다: 상기 수신된 위치 데이터의 정밀도에 관련된 데이터; 이력적인 루트 데이터; 그리고 디지털 지도 데이터.
본 발명의 모습들 또는 실시예들에서의 본 발명에 따라, 상기 수신된 위치 데이터는 어떤 적합한 방식으로 수신될 수 있을 것이다. 상기 데이터는 어떤 적합한 통신 링크를 경유하여 수신될 수 있을 것이다. 상기 링크는 무선 링크 또는 유선 링크일 수 있으며 또는 그것들의 조합들을 포함할 수 있을 것이다. 예를 들면, 상기 데이터는 인터넷을 경유하여 또는 공중망 (air)을 통해서 수신될 수 있을 것이다.
상기 수신된 위치 데이터는 어떤 적합한 소스 또는 소스들로부터 수신될 수 있다. 바람직한 실시예들에서 상기 위치 데이터는 기기의 로케이션 판별 및 추적 수단으로부터 수신된다. 상기 로케이션 판별 및 추적 수단은 상기 기기의 로케이션을 판별하고 추적하기 위해 준비될 수 있을 것이다. 상기 기기는 그래서 모바일 기기 또는 휴대용 기기인 것이 바람직하다. 상기 로케이션 판별 및 추적 수단은 임의 유형일 수 있다. 예를 들면, 경도 및 위도 좌표들은 WiFi 액세스 포인트들 또는 셀룰러 통신망들로부터의 정보에 액세스하고 수신할 수 있는 기기를 이용하여 판별될 수 있다. 그러나, 바람직하게는, 상기 로케이션 판별 및 추적 수단은 시간에 있어서 특정 포인트에서 수신기의 위치 (그리고 사용자의 위치)를 표시하는 위성 신호들을 수신하는 GPS 수신기와 같은 글로벌 내비게이션 위성 시스템 (global navigation satellite systems (GNSS)) 수신기를 포함하며, 그리고 이는 일정한 간격들에서 업데이트된 위치 정보를 수신한다. 바람직한 실시예에서 상기 로케이션 판별 및 추적 수단은 글로벌 내비게이션 위성 시스템 (GNSS) 수신기, 바람직하게는 GPS 수신기, 그리고 바람직하게는 GPS 칩셋을 포함한다. 그래서, 이 특별한 바람직한 실시예들에서, 상기 방법은 기기의 GPS 칩셋으로부터 위치 데이터를 수신하는 것을 포함한다.
상기 위치 데이터는 루트를 따라서 이동할 때에 상이한 시각들에서 상기 사용자의 위치에 관련된다. 그래서 상기 위치 데이터는 상이한 시각들에서 상기 사용자에 대한 위치 데이터를 포함한다. 따라서 상기 위치 데이터는 위치 데이터 포인트들의 세트로 구성될 수 있을 것이며, 각 데이터 포인트는 주어진 시각에서 상기 사용자의 위치를 표시한다. 실시예들에서, 상기 위치 데이터는 상기 기기의 추적을 허용하고 그래서 사용자를 추적하는 것을 허용하기 위해서 어떤 주어진 주파수에서 상기 기기에 의해서 획득될 수 있을 것이다. 몇몇의 실시예들에서, 상기 위치 데이터는 0.5 Hz 또는 더 큰 레이트 (rate)로 상기 기기에 의해서 획득되며, 바람직하게는 1 Hz의 레이트 또는 20 Hz까지의 레이트와 같이 더 큰 레이트로 상기 기기에 의해서 획득된다. 몇몇의 실시예들에서, 상기 위치 데이터는 1 Hz의 레이트로 상기 기기에 의해서 수신된다. 따라서, 실시예들에서, 상기 위치 데이터는 2초보다 작거나 같은, 또는 0.05s까지와 같이 1초보다 작거나 같은 시간 간격들에서의 사용자의 위치와 관련될 수 있다. 실시예들에서 상기 수신된 위치 데이터는 타임 정보, 즉, 상기 위치 데이터가 관련된 시각을 식별하는 타임 정보와 연관된다. 상기 타임 정보는 타임스탬프의 모습일 수 있다.
수신된 그리고 본 발명에서의 평탄화 연산에서 사용된 상기 위치 데이터는 어떤 적합한 모습일 수 있다. 바람직하게는 상기 위치 데이터는 GPS 데이터이다. 상기 데이터는 2차원 위치 데이터 또는 3차원 위치 데이터일 수 있다. 그래서 상기 위치 데이터는 경도 및 위도 데이터를 적어도 포함하는 것이 바람직하며, 그리고 고도 (elevation) 데이터를 포함할 수 있을 것이다. 고도 데이터는 기기의 GPS 칩셋으로부터의 경도 및 위도 위치 데이터와 유사한 방식으로 얻어질 수 있으며, 또는 상기 기기의 기압계 센서와 같은 별도의 센서로부터 얻어질 수 있을 것이다. 상기 평탄화 연산은 원하는 2차원 또는 3차원의 이동 루트의 더욱 정밀한 표현을 획득하기 위해서 2차원 또는 3차원 위치 데이터를 이용하여 수행될 수 있을 것이다. 그래서, 상기 위치 데이터가 3차원의 위치 데이터를 포함한다면, 상기 평탄화 연산들이 모든 3차원들을 이용할 필요는 없으며, 또는 그 결과인 루트 표현이 3차원일 필요는 없다.
상기 위치 데이터가 수신되는 상기 기기는 어떤 적합한 유형일 수 있다. 바람직한 실시예들에서, 상기 기기는 사용자가 수송하고, 운반하고 또는 휴대하도록 준비된 모바일 기기이다. 바람직하게는 상기 모바일 기기는 차량 PND들에서 발견되는 것과 같은 내비게이션 기능성을 포함하지 않는다. 예를 들면, 바람직하게는 상기 기기는 제1 위치 (또는 "출발지 (origin)") 그리고 제2 위치 (또는 "목적지 (destination)") 사이의 루트를 결정하기 위해서 지도 데이터를 이용할 수 있고 그리고 적합한 내비게이션 (또는 안내) 명령어들을 제공할 수 있는 프로세싱 수단 또는 상기 기기의 메모리 내에 저장된 지도 데이터를 포함하지 않는다.
몇몇의 바람직한 실시예들에서, 상기 모바일 기기는 사용자가 한 로케이션으로부터 다른 로케이션으로 이동할 때에 그 사용자에 의해서 운반되도록 준비된다. 상기 모바일 기기는 사용자의 팔이나 손목에 부착되는 것처럼, 또는 간단하게 주머니 또는 다른 적합한 저장소 (예를 들면, 특별하게 설계된 용기 또는 케이스) 내에 위치하여 상기 사용자에 의해서 운반되도록 준비될 수 있다. 다른 실시예들에서, 상기 모바일 기기는 사용자에 의해서 수송되도록 준비될 수 있다. 예를 들면, 상기 모바일 기기는 상기 사용자에 의해서 사용되고 있는 운송 수단, 예를 들면, 자전거, 카누, 카약 또는 다른 유사한 운송 수단에 부착될 수 있다. 상기 모바일 기기는 어린이-운반 유모차와 같이 사용자에 의해서 밀리고 또는 당겨지는 물체에 또한 부착될 수 있다. 그런 모바일 기기들은 휴대용 소비자 트레이닝 기기들로서 공통적으로 언급된다. 그래서, 특별한 바람직한 실시예들에서, 상기 모바일 기기는 휴대용 소비자 트레이닝 기기이다. 몇몇의 바람직한 실시예들에서, 상기 모바일 기기는 스포츠 시계이다. 본 발명에 따라서 데이터가 수신될 수 있는 예시적인 모바일 기기들은 본 출원인의 공동-계속중인 2011년 1월 5일에 출원된 "GPS Odometer" 제목의 대만 출원 번호 100100382의 출원 (2011년 3월 28일에 PCT/EP2011/054686의 PCT 출원으로 이어서 출원됨)에서 설명된다; 상기 출원의 전체적인 내용들은 본원에 참조로서 편입된다. 본 발명은 상기 기기를 포함하는 시스템으로 확장되며, 그리고 상기 방법은 그런 기기를 제공하는 것을 더 포함할 수 있을 것이다.
상기 수신된 위치 데이터는 미가공 (raw) 데이터일 수 있으며 또는 몇몇의 초기 프로세싱을 겪을 수 있을 것이다. 예를 들면, 상기 데이터는 필터링된 데이터일 수 있으며, 예를 들면, 칼만 (Kalman) 필터링 프로세스를 겪은 필터링된 데이터일 수 있다. 그러나, 바람직하게는, 상기 데이터는 어떤 이전의 평탄화 연산을 경험하지 않는다. 그래서 상기 모바일 기기 그 자체는 평탄화 연산을 수행하기 위해서 준비될 필요는 없다.
상기 수신된 데이터는 루트를 따른 사용자의 이동에 관련된다. 여기에서의 "루트 (route)"의 용어는 사용자에 의해서 만들어진 임의의 여행 또는 움직임 (movement)을 언급하는 것이며, 그리고 그 사용자가 미리 계획된 루트를 따라간다는 것을 의미하지는 않는다는 것이 인정될 것이다. 예를 들면, 상기 루트는 트레이닝 런 (training run)일 수 있으며, 그리고 어떤 특별한 모습이 아닐 수 있으며, 또는 출발지로부터 목적지까지의 이동을 포함하지 않을 수 있다. 본 발명은 사용자의 복잡한 계획되지 않은 동적인 움직임에 관하여 얻은 위치 데이터를 평탄화하는 것에 특히 적용 가능하다.
본 발명에 따르면, 상기 평탄화 연산은 상기 수신된 위치 데이터 그리고 수신된 사용자 움직임 데이터를 적어도 포함하는 추가 데이터를 기반으로 한다. 상기 사용자 움직임 데이터는 상기 위치 데이터와 유사한 방식으로 얻은 데이터이거나 또는 그런 데이터를 포함할 수 있다. 상기 방법은 상기 데이터를 수신하는 단계로 확장한다. 몇몇의 실시예들에서 사용자 움직임 데이터는 상기 위치 데이터를 제공하는 상기 기기의 로케이션 판별 및 추적 수단으로부터 수신되며, 바람직하게는 상기 기기의 GPS 칩셋으로부터 수신된다. 사용자 움직임 데이터는 그러면 상기 위치 데이터와 연관하여 수신될 수 있을 것이다. 상기 사용자 움직임 데이터가 속력 및/또는 방향 데이터인 바람직한 실시예들에서, 그런 데이터는 이 방식으로 얻어지는 것이 바람직하다.
특별히 바람직한 실시예들에서 상기 사용자 움직임 데이터는 속력 및/또는 방향 데이터이거나 또는 그 속력 및/또는 방향 데이터를 포함한다. 방향 데이터는 사용자의 속도, 예를 들면, GNSS 수신기로부터 얻은 속도 벡터의 크기에 관련된 데이터이다. 상기 속력 데이터는 사용자의 속도, 예를 들면, GNSS 수신기로부터 얻은 속도 벡터의 크기에 관련된 데이터이다. 바람직한 실시예들에서 상기 속력 데이터는 지상 속력 (speed over ground (SOG)) 데이터를 포함한다. 몇몇의 바람직한 실시예들에서 속력 데이터는 모바일 기기의 GNSS 수신기에 의해서 판별되며, 이 모바일 기기는 상기 수신기가 지상에서 이동하고 있는 속력이나 방향을 표시하는 위성 신호들을 수신한다. 실시예들에서 상기 방향 데이터는 지상 코스 (course over ground (COG)) 데이터이다. 몇몇의 바람직한 실싱예들에서 방향 데이터는 GNSS 수신기에 의해서 판별되며, 상기 수신기는 그 수신기가 지상에서 움직이고 있는 방향 또는 속력을 표시하는 위성 신호들을 수신한다. 몇몇의 바람직한 실시예들에서, 상기 속력 데이터 또는 방향 데이터가 SOC 데이터 또는 COG 데이터의 모습이건 또는 아니건 간에, 그 속력 데이터 또는 방향 데이터는 도플러 속력 데이터 또는 도플러 방향 데이터이다.
상기 사용자 움직임 데이터는 거리 데이터를 추가로 또는 대안으로 포함할 수 있을 것이다. 그 거리 데이터는, 예를 들면, 시간에 대한 적분을 제공하기 위해 "SOG" 데이터를 이용하여 또는 개별 위치 포인트들 사이의 거리를 고려하여 얻은 델타 거리 데이터일 수 있다.
상기 사용자 움직임 데이터는, 예를 들면, 상기 기기의 다른 센서들로부터 얻은 데이터를 추가로 또는 대안으로 포함할 수 있을 것이다. 몇몇의 실시예들에서 상기 사용자 움직임 데이터는 가속도계 데이터일 수 있으며 또는 가속도계 데이터를 포함할 수 있을 것이다. 상기 데이터는 어떤 유형의 가속도계로부터도 획득될 수 있을 것이며, 그리고 하나 또는 그 이상의 가속도계들로부터 얻어질 수 있을 것이다. 상기 가속도계 데이터는 가속의 크기 및 방향 중 하나 또는 바람직하게는 둘 모두에 관한 데이터를 포함한다. 상기 가속도계 데이터는 하나의 축, 또는 바람직하게는 적어도 2개의 축 그리고 가장 바람직하게는 3개의 축으로 구성될 수 있다. 가속도계 데이터를 제공하는 가속도계는 단일의 또는 다중-축 가속도계일 수 있으며, 그리고 몇몇의 실시예들에서는, 3축 가속도계일 수 있다.
가속도계 데이터는 위치 데이터가 얻어지는 모바일 기기의 가속도계로부터 얻어질 수 있을 것이다. 상기 가속도계는 상기 모바일 기기의 메인 하우징 내에 제공된 가속도계일 수 있다. 그러나, 가속도계 데이터는 상기 모바일 기기와 작동적으로 (operatively) 연결된 그리고 상기 기기의 메인 하우징 외부에 위치한 하나 또는 그 이상의 "외부" 가속도계들로부터 대안으로 또는 추가로 얻어질 수 있을 것이다. 예를 들면, 가속도계는 풋패드 (footpad) 센서 내에 제공될 수 있을 것이다. 몇몇의 실시예들에서 가속도계 데이터는 상기 기기의 만보계 (pedometer)로부터 얻어진다.
몇몇의 실시예들에서, 상기 사용자 움직임 데이터는 만보계 데이터일 수 있으며 또는 만보계 데이터를 포함할 수 있다. 상기 만보계는 압전 가속도계처럼 임의 유형일 수 있다. 몇몇의 실시예들에서 상기 사용자 움직임 데이터는 상기 모바일 기기와 연관된 풋패드의 하나 또는 그 이상의 센서들로부터 얻은 데이터를 포함한다. 풋패드 센서는, 예를 들면, 사용자의 신발의 밑창 내에 위치하며 그리고 그 신발이 땅바닥에 부딪치는 매 순간을 탐지하는 센서 (가속도계)를 포함할 수 있다. 그래서 그런 데이터는 가속도계 데이터로 또한 간주될 수 있을 것이다. 사용자 움직임 데이터는 만보계 데이터로 제한되지 않으며, 그리고 임의 유형의 인간 몸체의 동적인 움직임 데이터를 포함할 수 있을 것이라는 것이 인정될 것이다. 그런 데이터는 그 사용자의 일부의 움직임의 측정을 직접적으로 나타낸다.
대안으로 또는 추가적으로 사용자 움직임 데이터는 자이로스코프, 나침반, 관성 센서들 등과 같은 하나 또는 그 이상의 다른 센서들로부터 얻어질 수 있을 것이다. 상기 가속도계 데이터처럼, 상기 추가의 센서들은 상기 모바일 기기의 메인 하우징 내에 위치할 수 있을 것이며 또는 그런 하우징 외부에 위치하여 상기 모바일 기기에 작동적으로 연결될 수 있을 것이다.
사용자 움직임 데이터는 위에서 언급된 데이터 유형들의 일부 또는 모두를 포함할 수 있을 것이며, 또는 그런 데이터 유형들 중 단일의 하나의 유형의 데이터로 구성될 수 있을 것이라는 것이 인정될 것이다. 그래서, 상기 사용자 움직임 데이터는 속력, 거리, 방향, 가속도계 데이터 또는 만보계 데이터 중 하나 또는 그 이상을 포함할 수 있을 것이다. 상기 사용자 움직임 데이터는 기기 [이 기기로부터 상기 위치 데이터가 수신됨] 로부터 수신되는 것이 바람직하다. 상기 사용자 움직임 데이터는 상기 기기의 하나 또는 그 이상의 센서들로부터 얻어지는 것이 바람직하다. 상기 데이터는 반드시 상기 기기의 메인 하우징 내의 센서들로부터 얻어질 필요는 없으며, 아래에서 설명된 것처럼 그 기기에 작동적으로 연결된 다른 센서들로부터 얻어질 수 있을 것이다. 그래서 센서들은 상기 모바일 기기의 내부 및/또는 외부의 센서들을 포함할 수 있다. 예를 들면, 사용자 움직임 데이터, 위치 데이터 정밀도 데이터 (아래에서 설명된다) 등의 추가 데이터가 상기 위치 데이터를 제공하는 상기 모바일 기기의 센서로부터 얻어지는 것이 바람직하지만, 상기 센서 데이터는 분리된 센서들 또는 기기들로부터 제공되고 그리고 상기 위치 데이터와 연관되어 전송될 수 있을 것이라는 것이 상상된다. 바람직한 실시예들에서 상기 사용자 움직임 데이터는 루트를 따른 이동 중에 복수의 상이한 시각들에서의 상기 사용자용의 사용자 움직임 데이터를 포함한다. 몇몇의 실시예들에서 사용자 움직임 데이터는 상기 수신된 위치 데이터 내의 각 위치 데이터 포인트와 연관된다.
몇몇의 실시예들에서, 사용자 움직임 데이터를 수신하고 이용하는 것에 추가로, 상기 방법은 상기 평탄화 연산에 있어서 상기 수신된 위치 데이터의 정밀도에 관한 데이터를 이용하는 것을 포함할 수 있으며, 그리고 상기 방법은 그런 데이터를 수신하는 것을 포함할 수 있다. 상기 데이터는 상기 위치 데이터 정밀도에 관한 임의 데이터일 수 있으며 그리고 다음의 것들 중 하나 또는 그 이상을 포함할 수 있을 것이다: 위성 신호 강도 정보 (예를 들면, "상대적인 신호 강도 표시기 (relative signal strength indicator)" (RSSI)); 그리고 예상된 위치 오류 정보 (예를 들면, "예상된 수평 위치 오류 (expected horizontal position error)" (EHPE) 그리고/또는 "예상된 수직 위치 오류 (expected vertical position error)" (EVPE)).
위치 데이터의 정밀도에 관한 데이터는 모바일 기기로부터, 예를 들면, 그 기기의 GPS 칩셋 또는 다른 센서로부터 얻어질 수 있을 것이다. 상기 기기는 그런 정보를 위성 신호들로부터 수신할 수 있을 것이며 그리고/또는 상기 위치 데이터의 정밀도를 판별하기 위한 적합한 수단을 포함할 수 있을 것이다. 그래서 실시예들에서 데이터의 정밀도에 관한 정보는 관련된 위치 데이터와 연관하여, 예를 들면, 상기 수신된 위치 데이터 포인트들에 연관하여 수신된다.
비슷하게, 사용자 움직임 데이터가 수신되는 경우에, 그 수신된 사용자 움직임 데이터의 정밀도에 관한 데이터가 추가로 수신될 수 있으며, 그리고 평탄화 연산에서 사용될 수 있다는 것이 상상된다. 몇몇의 실시예들에서 속력, 방향 또는 가속도계 데이터의 정밀도에 관한 정보가 수신되어 사용될 수 있을 것이다. 예를 들면, 이는 속력, 예를 들면, 도플러 속력 오류, 코스 오류 (예를 들면, 도플러 코스 오류), 가속도계의 주파수 등일 수 있다. 상기 속력 그리고/또는 방향 정밀도 정보는, 예를 들면, 제4 위성 신호용의 "상대적인 신호 강도 표시기" (RSSI)를 포함할 수 있을 것이다.
덜 바람직한 실시예들이기는 하지만, 상기 수신된 위치 데이터의 정밀도에 관한 데이터가 상기 평탄화 연산에서 혼자서, 즉, 상기 사용자 움직임 데이터 없이 사용될 수 있다는 것이 또한 실제로 예상된다.
그래서, 본 발명의 다른 모습에 따라서, 상기 루트의 표현을 생성하는 방법이 제공되며, 이 방법은:
루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 단계;
상기 수신한 데이터의 정밀도에 관한 데이터를 수신하는 단계; 그리고
상기 위치 데이터에 평탄화 (smoothing) 연산을 수행하여, 이동된 상기 루트의 더욱 정밀한 표현을 생성하는 단계를 포함하며,
상기 평탄화 연산은:
상기 수신된 위치 데이터에 스플라인 (spline) 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 단계; 그리고
상기 수신된 위치 데이터의 정밀도에 관한 상기 데이터를 이용하여 상기 루트의 상기 추정된 표현을 개선하는 단계를 포함한다.
본 발명의 추가의 모습에 따라서, 이동한 루트의 표현을 생성하는 시스템이, 옵션으로는 서버가 제공되며, 이는:
루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 수단;
상기 수신한 데이터의 정밀도에 관한 데이터를 수신하는 수단; 그리고
상기 위치 데이터에 평탄화 연산을 수행하여, 이동된 상기 루트의 더욱 정밀한 표현을 생성하는 단계를 포함하며,
상기 평탄화 연산은:
상기 수신된 위치 데이터에 스플라인 (spline) 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 수단; 그리고
상기 수신된 위치 데이터의 정밀도에 관한 상기 데이터를 이용하여 상기 루트의 상기 추정된 표현을 개선하는 수단을 포함한다.
본 발명의 이런 모습들은 여기에서 설명된 바람직한 특징들 그리고 옵션의 특징들 중 하나 또는 모두를 적절하게 포함할 수 있다는 것이 인정될 것이다.
본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자들이 이해할 수 있을 것처럼, 위치 데이터, 예를 들면, GPS 위치 데이터는 원래 예측할 수 없는 오류들이 생기기 쉬울 것이며, 이 오류들은 그 속성상 시간 상 느리게 변할 수 있으며, 그리고 전리층 효과들, 위성 추산 위치 오류들 및 위성 클록 모델 오류들을 포함할 수 있다. 실제로 GPS 수신기를 구비한 기기가 시간 주기동안 움직이지 않고 남아있다고 해도, 상기 GPS 수신기에 의한 위치 데이터 출력은 상기 기기가 연속해서 움직이고 있으며 그래서 비록 작지만 어떤 거리만큼 이동했다고 보여줄 수 있을 것이다. 이런 유형의 문제는 휴대용 모바일 트레이닝 기기들에서는 더욱 심해지며, 이는 이 기기들이 차량들보다 빌딩들에 종종 더 가까운 루트들을 따라 움직일 보행자들에 의해서 보통 사용되기 때문이며, 그 결과 위성 가시도를 줄어들게 하고 그리고 수평 위치 정확도 (horizontal dilution of precision (HDOP))를 저하시킨다. 더욱이, 보통은 그런 기기들의 사용자들은 차량들보다 더욱 복잡한 동적인 움직임들을 가질 것이다.
그래서, 본 발명에 따라서, 평탄화 연산은 상기 수신된 위치에 관해서 수행되어, 그 이동된 루트의 더욱 정밀한 표현을 생성한다. 상기 평탄화 연산을 수행한 이후에 얻어진 상기 사용자가 이동했던 루트의 표현은 상기 수신된 위치 데이터가 제공했던 것보다 더욱 정밀하다. 여기에서 언급된 상기 루트는 적어도 위도와 경도를 포함하는 2차원의 루트를 언급한 것일 수 있으며, 또는 고도가 또한 고려되었다면 3차원일 수 있다는 것이 인정될 것이다.
상기 평탄화 연산은 상기 수신된 위치 데이터에 스플라인 (spline) 알고리즘을 적용하여 상기 이동된 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하고, 그리고 상기 추가 데이터 그리고 옵션으로는 상기 수신된 위치 데이터를 이용하여 상기 추정을 개선하는 것을 포함한다. 상기 추가 데이터는 상기 수신된 사용자 움직임 데이터 그리고 상기 수신된 위치 데이터의 정밀도에 관한 데이터 중 적어도 하나를 포함하며, 그리고 옵션으로는 이력적인 루트 데이터 그리고 디지털 지도 데이터 중 하나 또는 둘 모두를 포함할 수 있을 것이다. 다른 데이터가 추가로 사용될 수 있을 것이라는 것이 인정될 것이다. 다른 말로 하면, 상기 평탄화 연산은 두 스테이지들을 포함한다: 상기 이동될 루트의 표현의 초기 추정을 스플라인 커브의 모습으로 획득하는 단계; 그리고 그 추정을 개선하는 단계. 몇몇의 바람직한 실시예들에서, 상기 추가 데이터는 상기 이동된 루트의 표현의 추정을 (상기 스플라인 커브의 모습으로) 얻기 위해서 사용되지 않는다. 바람직한 실시예들에서 오직 상기 위치 데이터만이 상기 이동된 루트 표현의 추정을 획득하기 위해서 사용된다. 바람직하게는 상기 위치 데이터는 상기 개선 단계에서 추가로 사용된다.
상기 이동된 루트 표현의 추정을 개선하는 상기 단계는 상기 이동된 루트의 더욱 정밀한 표현을 제공하며, 또한 이는 "평탄화된 루트 (smoothed route)"로 언급된다. 상기 이동된 루트의 상기 더욱 정밀한 표현은 어떤 평탄화 연산이 수행되건 그 평탄화 연산의 최종 결과를 언급하는 것이며, 그리고 그것은 바람직한 실시예에서는, 사용자에게 출력된다. 상기 데이터를 다르게 프로세싱하는 것은 평탄화는 물론이며 상기 루트의 더욱 정밀한 표현을 제공하기 위해서 또한 수행될 수 있을 것이라는 것이 인정될 것이다. 주어진 애플리케이션, 프로세싱 강제들 등에 종속하여, 더욱 정밀한 표현을 제공하기 위해서 상이한 레벨의 평탄화가 수행될 수 있을 것이라는 것이 인정될 것이다. 상기 개선은 하나 또는 그 이상의 단계들에서 수행될 수 있을 것이며 또는 수행될 수 없을 것이며, 그리고 상기 루트의 원하는 더욱 정밀한 표현을 제공하기 위해서 상기 경로 표현의 초기 추정, 그리고 이어지는 획득된 개선된 추정들 상에 연이은 개선 단계들을 수행하는 것을 포함할 수 있을 것이다.
상기 평탄화 연산은 상기 수신된 위치 데이터에 스플라인 알고리즘을 적용하는 것을 포함하며, 그래서 상기 평탄화 알고리즘은 스플라인 평탄화 알고리즘을 포함하며, 그리고 가장 바람직하게는 큐빅 스플라인 평탄화 알고리즘을 포함한다. 상기 스플라인 평탄화 알고리즘을 적용하는 것은 보간의 모습이다. 상기 평탄화 알고리즘은 스플라인 또는 바람직하게는 큐빅 스플라인 커브 피팅 (cubic spline curve fitting) 알고리즘을 포함한다. 여기에서는 상기 스플라이인 큐빅 스플라인인 바람직한 경우에 관련하여 주로 언급되지만, 더 넓은 범위에서, "큐빅 스플라인"에 대한 어떤 언급은 문맥상 다르게 요청되지 않는다면 더욱 일반적인 용어인 "스플라인"으로 대체될 수 있을 것이라는 것이 인정될 것이다.
상기 루트 표현의 추정이 획득되고 그리고 개선되는 본 발명에 따르면, 상기 스플라인, 바람직하게는 큐픽 스플라인 알고리즘은 상기 루트 표현의 추정을 획득하는 첫 번째 단계에서 사용된다. 상기 스플라인 커브는 사용자의 위치를 시각에 대해서 나타내는 상기 수신된 위치 데이터에 스플라인 알고리즘을 적용함으로써 얻어진다. 다른 말로 하면 상기 스플라인 커브는 타임 및 위치 도메인들에 존재한다. 상기 루트 표현의 추정은 스플라인 커브의 모습이다. 바람직하게는 상기 스플라인 알고리즘은 큐빅 스플라인 알고리즘이며, 그리고 상기 루트 표현의 추정의 결과는 큐빅 스플라인 커브의 모습이다. 바람직하게는 상기 루트 표현의 추정을 얻기 위해서 상기 스플라인 알고리즘은 상기 수신된 위치 데이터에 대해서만 동작하며, 상기 추가 데이터에 대해서는 동작하지 않는다. 상기 스플라인 알고리즘은 위치 데이터 그리고 연관된 시각 데이터, 예를 들면, 타임스탬프들을 구비한 위치 데이터를 포함하는 데이터의 세트 상에 동작할 것이라는 것이 인정될 것이다.
큐빅 스플라인 평탄화 알고리즘을 이용한 평탄화 연산을 포함하는 어떤 실시예에서, 커브는 상기 수신된 위치 데이터에 맞추어지며, 이 경우에 상기 커브는 일련의 세그먼트들로 만들어지며, 상기 커브의 제1 도함수 및 제2 도함수가 연속이다. 그래서, 상기 제1 도함수 및 제2 도하수가 연속이므로 상기 커브는 서로 연결된 세그먼트들로 만들어진 낱낱의 커브이지만, 상기 커브는 평탄하고 그리고 이은 데가 없는 것으로 보인다. 각 세그먼트는 큐빅 다항 함수에 의해서 정의된다. 상기 큐빅 스플라인 커브의 세그먼트들은 "매듭 (knot)들"로 알려진 포인트들에서 연결된다. 따라서, 본 발명의 실시예들에서, 상기 평탄화 연산은 매듭들에서 연결된 일련의 세그먼트들로 만들어진 큐빅 스플라인 커브를 제공하기 위해서 상기 위치 데이터에 큐빅 스플라인 평탄화 알고리즘을 적용하는 단계를 포함한다. 상기 초기 위치 데이터에서의 포인트들보다 더 적은 매듭들이 존재할 것이다. 상기 매듭들은 상기 타임 또는 위치 도메인들에 고르게 분포되거나 또는 고르게 분포되지 않을 수 있으며, 그리고 보통은 고르게 분포되지 않을 것이다. 상기 큐빅 스플라인에 의해서 정의된 상기 커브는 반드시 각 위치 데이터 포인트를 통해서 지나갈 필요는 없으며, 그리고 많은 경우들에서 그렇게 하지 않을 것이다.
상기 큐빅 스플라인 알고리즘은 임의 유형일 수 있다. 상기 큐빅 스플라인 알고리즘은 베지어 (Bezier) 큐빅 스플라인 알고리즘일 수 있다. 각 스플라인 커브 세그먼트는 그러면 베지어 커브의 모습일 수 있다. 그러나 바람직한 실시예들에서 상기 큐빅 스프라인 알고리즘은 큐빅 B-스플라인 알고리즘이다. 베지어 큐빅 스플라인 알고리즘이 사용된 실시예들에서, 결과인 큐빅 스플라인 커브의 형상은 제어 포인트들에 의해서 정의되며, 그 제어 포인트들은 보통은 4개이며, 그 제어 포인트들 중의 몇몇은 그 커브 상에 놓여있지 않을 것이다.
본 발명의 상기 방법은 상기 이동된 루트의 추정을 개선하는, 그리고 바람직하게는 최적화하는 단계를 더 포함하여, 즉, 상기 이동된 루트의 더욱 정밀한 표현을 제공한다. 이 단게는 상기 추가 데이터를 이용하여 수행되며, 옵션으로는 상기 수신된 위치 데이터를 이용하여 수행된다. 상기 이동된 루트의 추정을 개선하는 상기 단계는 상기 추정이 이동된 실제의 루트에 더욱 가깝게 근접하게 되도록 의도된 것이다. 바람직한 실시예들에서, 상기 이동된 루트의 상기 추정은 위에서 설명된 것처럼 큐빅 스플라인 커브의 모습이다.
상기 개선 단계는 상기 이동된 루트의 추정의 전체 길이에 대해서 수행되는 것이 바람직하다. 상기 프로세스는 일부마다를 (portion by portion) 기반으로 하여 수행될 수 있을 것이다. 예를 들면, 상기 부분들은 큐빅 스플라인 커브 모습인 루트 추정의 매듭들로 인접한 매듭들일 수도 있고 인접하지 않은 매듭들일 수 있는 매듭들 사이의 세그먼트들 (또는 대안으로 적절하다면 제어 포인트들)의 모습일 수 있다. 상기 루트 표현 추정의 개선 단계, 예를 들면, 스플라인 커브의 개선 단계는 상기 루트 표현, 즉, 스플라인 커브의 추정의 형상 및/또는 위치를 개선하는 단계를 포함한다. 상기 추정을 개선하는 상기 단계는 반복적인 프로세스로서 수행될 수 있을 것이다. 다른 말로 하면, 상기 방법은 미리 정해진 기준을 기반으로 하여 상기 이동된 루트의 적어도 일부의 가장 정밀한 표현을 제공할 것으로 간주된 형상 및/또는 위치를 판별하기 위해서 상기 루트 추정의 적어도 일부의 형상 및/또는 위치에 대한 수많은 가능한 것들을 통해서 반복하는 것을 포함할 수 있을 것이다.
상기 루트 추정은 어떤 제한들을 조건으로 개선되거나 또는 옵션으로는 최적화될 것이라는 것이 인정될 것이다. 예를 들면, 상기 루트, 예를 들면, 커브는 이동된 루트에 더욱 가깝게 접근하기 위해서 특정 기준, 예를 들면, 파라미터 또는 파라미터들에 대해서 최적화될 수 있을 것이다. 상기 최적화 또는 개선은 수행되고 있는 관련된 최적화 또는 개선 단계에 대한 최적화 또는 개선을 언급하는 것이다.
몇몇의 바람직한 실시예들에서 스플라인, 예를 들면, 큐빅 스플라인 커브 모습인 루트 표현의 추정을 개선하는 상기 단계는 상기 추가 데이터 그리고 바람직하게는 상기 수신된 위치 데이터를 또한 이용하여 상기 스플라인 커브와 연관된 하나 또는 그 이상의, 그리고 바람직하게는 각 매듭의 위치를 최적화하는 단계를 포함한다. 상기 스플라인 커브의 매듭의 움직임은 그 매듭 주변 커브의 적어도 일부의 움직임의 결과가 될 것이며, 그리고 다르게 강제되지 않는다면, 문제의 매듭의 어느 하나의 측면 상의 커브의 다른 매듭들의 움직임의 결과가 될 것이다. 본 발명에 따라서, 바람직하게는 상기 방법은 상기 매듭의 움직임이 상기 스플라인의 모든 다른 매듭들에 영향을 주지 않도록 매듭을 움직이게 하는 효과를 억제하는 단계를 더 포함한다. 실시예들에서, 매듭을 움직임이게 하는 효과는 상기 매듭의 움직임이 그 매듭 주변의 주어진 제한된 개수의 매듭들만에 영향을 끼치도록 제한된다. 몇몇의 실시예들에서, 상기 매듭을 움직이게 하는 상기 효과는 문제의 매듭의 어느 하나의 측면 상의 단일의 인접한 매듭으로 제한될 수 있을 것이다. 이것은 어떤 적합한 방식으로, 예를 들면, 상기 평탄화 연산에서 적합한 파라미터들을 규정함으로써 실행될 수 있을 것이다. 상기 매듭 위치를 "최적화하는 것"은 어떤 제한들을 조건으로 상기 위치를 최적화하는 것을 포함할 수 있을 것이며, 예를 들면, 상기 매듭은 주어진 반경 내에서만, 또는 제한된 개수의 가능한 위치들 사이에서 이동될 수 있을 것이라는 것이 인정될 것이다. 매듭의 최적 위치는 그 매듭을 움직이게 하는 것을 포함하지 않을 것이다. 복수의 제어 포인트들에 의해서 상기 스플라인이 정의되는 다른 실시예들에서, 상기 방법은 제어 포인트에 관련하여 대안으로 또는 추가적으로 상기 단계들 중 어느 것을 수행하는 단계를 포함할 수 있을 것이다. 그래서, 문맥 상 다르게 요청되지 않는다면 "매듭"이라는 상기 용어는 "제어 포인트"로 대체될 수 있을 것이다.
바람직한 실시예들에서, 상기 루트 표현의 추정을 개선하는 상기 단계는 상기 이동된 루트의 표현의 추정으로 하여금, 실제의 이동된 루트를 나타낼 더 높은 확률을 가지는 형상 및/또는 위치에 더욱 가깝게 우선적으로 대응하도록 하며 그리고/또는 실제의 이동된 루트를 나타낼 더 낮은 확률을 가지는 형상 및/또는 위치에 덜 가깝게 우선적으로 대응하도록 하는 단계를 포함한다. 상기 단계는 상기 표현의 상기 추정의 적어도 일부로 하여금 관련된 형상 및/또는 위치에 더 많이 또는 덜 가깝게 대응하도록 하는 단계를 포함하여, 전체적인 추정이 더 많이 또는 덜 가깝게 대응하도록 할 것이다. 그러나, 바람직하게는 상기 개선 단계는 위에서 설명된 루트 추정의 전체 길이에 대해서 실행된다. 상기 추정의 어떤 부분들이 적당한 루트에 이미 적절하게 대응한다면, 그러면 그 부분들에 대한 어떤 수정도 필요하지 않을 것이다.
능동 윤곽선 프로세스 (active contour process)는 상기 추정이 스플라인, 예를 들면, 큐빅 스플라인 커브 모습인 경우에 이동된 루트의 추정을 개선하기 위한 특히 효과적인 방법을 제공한다는 것이 발견되었다. 능동 윤곽선 프로세스는 커브 또는 스플라인을 어떤 미리 정해진 기준에 따라서 각각 바람직한 또는 바람직하지 않은 형상 및/또는 위치를 향하여 또는 멀어지게 이동시키는 방법을 제공한다. 더 상세하게는, 능동 외곽선 프로세스에서, 스플라인의 설정, 즉, 형상 및/또는 위치는 그 스플라인과 연관된 에너지를 최소화하도록 결정된다. 다른 말로 하면, 상기 능동 외곽선 프로세스는 스플라인을 최소화하는 에너지를 이용하는 것을 포함한다. 상기 스플라인 주변의 영역들에게 에너지 레벨들을 적용하고 그리고/또는 상기 스플라인의 형상 및/또는 위치에 의해서 영향을 받는 파라미터들에게 에너지 레벨들을 적용함으로써, 상기 스플라인은 더욱 바람직한 형상 및/또는 위치를 향하여 이동될 수 있으며 그리고/또는 덜 바람직한 형상 및/또는 위치로부터 멀어지도록 이동될 수 있다.
바람직한 실시예들에서, 상기 루트의 추정을 개선하는 상기 단계는 상기 루트 표현의 상기 추정을 개선하기 위해서 능동 외곽선 프로세스를 이용하는 것을 포함한다. 바람직한 실시예들에서, 그러므로, 상기 이동된 루트 표현의 추정으로 하여금, 실제의 이동된 루트를 나타낼 더 높은 확률을 가지는 형상 및/또는 위치에 더욱 가깝게 우선적으로 대응하도록 하며, 그리고/또는 실제의 이동된 루트를 나타낼 더 낮은 확률을 가지는 형상 및/또는 위치에 덜 가깝게 우선적으로 대응하도록 하기 위해서 능동 외곽선 프로세스가 사용된다.
본 발명의 상기 방법에서, 상기 루트 표현의 추정은, 에너지가 줄어들거나 또는 최소화될 스플라인으로서 여겨질 수 있을 것이다. 스플라인의 에너지를 줄어들게 하거나 또는 최소화하는 그 스플라인의 형상 및/또는 위치는 그러면 능동 외곽선 프로세스를 이용하여 판별될 수 있으며, 이 경우에 이어지는 정밀한 루트에 덜 대응할 것 같은 스플라인들의 형상들 및/또는 위치들에 상대적으로 높은 에너지가 연관되며 그리고/또는 이어지는 정밀한 루트에 더 대응할 것 같은 스플라인들의 형상들 및/또는 위치들에 상대적으로 낮은 에너지가 연관된다.
상기 능동 윤곽선 프로세스는 상기 커브의 전체 길이에 관하여 수행될 수 있을 것이며, 또는 그 커브의 적어도 일부에 관하여 수행될 수 있을 것이라는 것이 인정될 것이다. 바람직하게는, 상기 프로세스는 상기 커브의 전체 길이에 관하여 수행된다. 상기 프로세스는 상기 커브의 길이를 따르는 부분들에 관하여 섹션 단위 (section by section)를 기반으로 하여 수행될 수 있다. 그래서 상기 능동 외곽선 프로세스를 이용하여 루트 표현의 추정을 개선하는 것을 언급하는 것은 상기 추정의 적어도 일부를 개선하는 것을 언급할 수 있을 것이며, 그리고 분리된 개선 프로세스들에서 상기 추정의 복수의 일부들을 개선하는 단계들을 포함할 수 있을 것이다.
스플라인, 예를 들면, 큐빅 스플라인 커브 모습의 루트 추정의 하나 또는 그 이상의 매듭들의 위치가 최적화된 몇몇의 바람직한 실시예들에서, 상기 방법은 능동 외곽선 프로세스를 이용하여 각 매듭의 위치를 최적화하는 것을 포함한다. 루트 추정과 연관된 또는 루트 추정의 일부와 연관된 가장 낮은 에너지의 결과가 되는 각 매듭의 위치가 판별될 수 있을 것이다. 매듭을 이동시키는 효과가 위에서 설명된 것과 같이 상기 매듭에 이웃한 매듭들로 제한되는 경우에, 매듭을 이동시키는 효과는 상기 추정의 일부, 예를 들면, 주어진 매듭 주변의 커브로 제한될 것이다. 각 매듭을 이동시키는 효과가 이런 방식에서 제한된다면, 상기 커브는 그 커브의 길이를 따라 각 매듭의 위치를 최적화함으로써 최적화될 것이다.
몇몇의 실시예들에서, 매듭의 위치를 최적화하는 상기 단계는 그 매듭 주변에 제1 반경의 원을 정의하는 단계, 그리고 그 매듭을 그 원의 원주 주변의 상이한 복수의 위치들로 이동시키는 단계를 포함할 수 있다. 각 위치에서 상기 매듭을 구비한 상기 커브와 연관된 에너지가 판별되며, 그리고 가장 낮은 에너지 위치로 이동된 매듭이 발견된다. 이 프로세스는 제2의 더 작은 반경의 원을 이용하여 두 번째 패스에서 반복될 수 있을 것이다. 상기 프로세스는 상기 제1 패스에서 이동된 그런 매듭들에 대해서만 반복될 수 있을 것이다. 상기 반경들은 미리 정의된 값들로 선택될 수 있을 것이며 또는 다른 실시예들에서는 상기 루트의 전체 길이를 기반으로 하여 선택될 수 있을 것이다. 이것은 매듭의 위치가 어떻게 최적화될 수 있을 것인가에 대한 하나의 예일 뿐이라는 것이 인정될 것이다.
물론, 적절한 경우에 위의 단계들 중 어느 것은, 예를 들면, 사용된 큐빅 스플라인 모습의 루트 표현의 추정의 모습에 종속적인 매듭보다는, 제어 포인트에 관하여 대안으로 또는 추가적으로 수행될 수 있을 것이다.
몇몇의 모습들에서 상기 방법은 상기 수신된 사용자 움직임 데이터, 그리고 바람직하게는 추가로 상기 수신된 위치 데이터, 그리고 상기 루트의 추정, 예를 들면, 큐빅 스플라인 커브로부터 유도 가능한 대응 데이터 사이의 차이를 축소하거나 또는 최소화하는 단계를 포함할 수 있을 것이다. 이 방식에서, 상기 추정은 상기 정밀한 이동된 루트를 나타내는 더 높은 확률을 가지는 형상 및/또는 위치에 더욱 가깝게 우선적으로 대응하도록 되며, 즉, 상기 추정으로부터 유도된 데이터 그리고 실제의 측정된 데이터 사이의 차이들이 더 작아지도록 하는 결과가 된다. 상기 대응하는 데이터는 바람직하게는 상기 루트 표현의 추정, 예를 들면, 큐빅 스플라인 커브로부터 판별된다. 예를 들면, 1차원 또는 2차원의 위치 값들은 주어진 시각에서 상기 커브로부터 판별될 수 있을 것이다. 속력 및 방향 값들은 상기 커브 상의 주어진 포인트에서 정의된 벡터의 크기와 방향을 고려하여 유도될 수 있을 것이다. 가속도 값들은 2차 도함수를 취함으로써 상기 커브로부터의 속도 변화의 비율을 고려하여 유사하게 결정될 수 있을 것이다.
위에서 언급된 것처럼, 바람직하게는 상기 루트 표현의 추정을 개선하거나 또는 최적화하는 상기 단계는 능동 외곽선 프로세스를 이용하는 것을 포함한다. 그래서, 바람직한 실시예들에서, 상기 방법은 상기 수신된 사용자 움직임 데이터, 그리고 바람직하게는 추가로 상기 수신된 위치 데이터, 그리고 능동 외곽선 프로세스를 이용하여 상기 루트의 추정으로부터 유도 가능한 대응 데이터의 차이를 축소하거나 또는 최소화하는 단계를 포함한다. 바람직하게는, 상기 방법은 상기 능동 외곽선 프로세스에서 상기 루트 추정과 연관된 에너지를 최소화하거나 또는 축소하는 단계를 포함하며, 이 경우에 상기 에너지는 상기 수신된 사용자 움직임 데이터, 그리고 바람직하게는 추가로 상기 수신된 위치 데이터, 그리고 상기 루트 추정으로부토 유도 가능한 대응 데이터 사이의 차이를 측정한 것이다.
따라서, 실시예들에서 상기 방법은 능동 외곽선 프로세스에서 상대적으로 높은 에너지를 상기 루트 표현의 추정의 위치들 및/또는 형상들에 연관시키는 것을 포함하여, 그 결과 상기 수신된 사용자 움직임 데이터 (그리고 바람직하게는 또한 상기 수신된 위치 데이터) 그리고 상기 루트 표현의 추정으로부터 결정되는 대응 값들 사이에 더 큰 차이들이 생기며, 그리고/또는 상대적으로 낮은 에너지를 상기 루트 표현의 추정의 위치들 및/또는 형상들과 연관시키는 것을 포함하여, 그 결과 상기 수신된 사용자 움직임 데이터 (그리고 바람직하게는 상기 수신된 위치 데이터) 그리고 상기 루트 표현의 추정으로부터 결정되는 대응 값들 사이에 더 작은 차이들이 생긴다. 물론, 상기 방법은, 상대적으로 높은 또는 낮은 에너지 레벨들을 어떤 위치들/형상들에 명확하게 (positively) 할당하고 그리고/또는 상대적으로 낮은 또는 높은 레벨들을 다른 위치들/형상들 또는 그것들의 조합들에 명확하게 할당함으로써, 형상들/위치들과 연관된 상대적으로 높은 또는 낮은 에너지의 결과가 될 수 있을 것이다.
이 방식에서, 상기 루트 표현의 추정, 즉, 스플라인 커브는 형상 및/또는 위치를 향하여 푸시되어, 상기 수신된 데이터 그리고 상기 표현 또는 커브로부터 유도될 수 있는 대응 데이터 사이의 더 작은 차이들이라는 결과가 되며, 그래서 그 결과인 개선된 추정이 실제로 이동된 루트에 대응하는 더 높은 확률을 가지는 것으로 가정될 수 있도록 한다. 최소화하는 상기 단계는 "최적화"의 용어에 관하여 위에서 설명된 것과 같은 어떤 제한들이 있을 것이다. 상기 에너지는 어떤 파라미터들, 예를 들면, 데이터 유형에 대해 최소화된다.
바람직한 실시예들에서 상기 추정된 루트에 연관된 에너지는 적어도 상기 사용자 움직임 데이터에 관하여, 그리고 바람직하게는 사용자 움직임 데이터의 각 유형에 관하여, 그리고 옵션으로는 상기 위치 데이터에 관하여 개별 성분들을 포함한다. 각 에너지 성분은 상기 데이터에 대해 수신된, 즉, 측정된 값 그리고 상기 루트 추정, 예를 들면, 커브로부터 획득 가능한 값 사이의 차이의 측정이다. 상기 에너지는 상기 평탄화 단계에서 사용된 정보 유형 또는 각 데이터에 관한 성분을 포함할 수 있을 것이며, 그래서 다음의 것들에 기인하는 성분들을 또한 포함할 수 있을 것이다: 수신된 위치 데이터의 정밀도; 이력적인 루트 데이터; 그리고/또는 이 데이터 유형들이 사용되는 경우인 아래에서 설명되는 것과 같은 디지털 지도 데이터. 이 방식에서, 상기 커브의 위치는 다중의 상이한 유형의 데이터를 참조함으로써 동시에 개선될 수 있을 것이다. 각 데이터 유형은 능동 외곽선 프로세스에서 연관된 에너지를 가지는 파라미터로서 보일 수 있을 것이다.
상기 수신된 사용자 움직임 데이터가 속력 및 방향 데이터를 포함하는 바람직한 실시예들에서, 속력 및 방향의 각각에 관한 에너지 성분이 존재하는 것이 바람직하다. 상기 수신된 데이터가 위치 데이터 정밀도 정보를 포함한다면, 그것에 관한 성분이 추가로 포함된다. 유사하게, 바람직한 실시예들에서, 수신된 위치 데이터 그리고 상기 루트 추정, 예를 들면, 커브로부터 결정된 대응하는 위치 데이터 사이의 차이에 관한 성분이 포함된다. 바람직한 실시예들에서, 상기 루트 추정, 예를 들면, 큐빅 스플라인 커브에 연관된 에너지는 그런 에너지 성분들의 합을 포함한다.
능동 외곽선 프로세스를 이용하는 이 바람직한 실시예들에서, 상기 루트 추정 또는 커브와 연관된 에너지는 매듭 단위 기반으로 최소화될 수 있을 것이다. 위에서 언급된 것처럼, 매듭을 이동시키는 효과는, 예를 들면, 이전의 매듭 그리고 다음의 인접한 매듭 사이의 커브의 일부에 제한될 수 있을 것이다. 위에서 언급된 것처럼, 매듭이 아니라 다른 유형의 스플라인 커브를 위한 적절한 경우인 제어 포인트에 관하여 동일한 프로세스가 대안으로 수행될 수 있을 것이다.
몇몇의 실시예들에 따라서, 상기 평탄화 연산이 기반으로 하며, 그리고 상기 개선 단계에서 사용되는 상기 추가 데이터는 이력적인 루트 데이터 그리고 디지털 지도 데이터 중 하나 또는 그 이상을 추가로 포함한다. 상기 이력적인 루트 데이터 또는 디지털 지도 데이터를 이용하는 개선은 위에서 설명된 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터를 이용한 개선에 추가로 수행된다는 것이 인정될 것이다. 개선은 상기 이력적인 루트 데이터 또는 디지털 지도 데이터에 관하여, 다른 데이터를 이용한 개선과 동시에 수행될 수 있을 것이며, 또는 분리된 단계에서 동시에 수행될 수 있을 것이다. 보통, 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자들이 인정하는 것처럼, 개선, 예를 들면, 능동 윤곽 프로세스에 있어서 더 많은 유형의 데이터가 사용되면, 더 큰 레벨의 개선이 얻어질 수 있을 것이다.
상기 추가 데이터가 이력적인 루트 데이터를 더 포함하는 실시예들에서, 상기 루트 표현의 추정을 개선하는 상기 단계는 상기 이동된 루트의 표현의 추정으로 하여금 이력적인 루트의 적어도 일부에 대응하는 형상 그리고/또는 위치에 더욱 가깝게 우선적으로 대응하도록 하는 단계를 더 포함한다는 것이 바람직하다. 다른 말로 하면, 추가로 상기 루트 추정은 상기 이력적인 루트에 더욱 가깝게 합치하게 되도록 된다.
이력적인 루트 데이터는 더욱 정밀한 평탄화된 루트를 얻는데 있어서 유용한 정보를 제공할 수 있을 것이라는 것이 인정될 것이다. 이력적인 루트들은 수신된 데이터가 올바를 확률에 관한 표시를 제공할 수 있을 것이며, 그리고 상기 루트 표현의 추정이 개선되는 것을 가능하게 한다. 예를 들면, 루트 추정은 공통적으로 사용된 이력적인 루트에 가깝게 위치한 루트를 암시할 수 있을 것이다. 그러면 취해진 실제의 루트가 이력적인 루트에 대응한다고 가정될 수 있을 것이다. 그래서 상기 루트 추정은 이력적인 루트에 대응하는 형상 및/또는 구성에 더욱 가깝게 대응하도록 처리되며, 이는 취해진 실제의 경로에 대한 이 대응의 더 높은 확률이 존재한다고 가정될 수 있기 때문이다. 예를 들면, 본 발명에 따라서 차량 루트 정보를 고려할 때에 더 전형적일 수 있을 이력적인 루트 데이터에 위치 데이터를 매치시키려고 단순하게 시도하는 것보다는, 상기 이력적인 루트 데이터는 평탄화 연산에서 사용된다. 상기 이력적인 루트 데이터는, 상기 루트 표현의 추정을 공통적으로 사용된 이력적인 루트 데이터에 더 가깝게 "풀 (pull)"하기 위해서 사용될 수 있을 것이다. 반대로 상기 이력적인 루트 데이터는 상기 루트 추정을 이력적인 경로에 대응하지 않는 지역들로부터, 즉, 취해진 상기 실제의 경로에 상기 지역이 대응하는 것에 더 낮은 확률이 존재하는 지역들로부터 멀리 푸시하기 위해서 사용될 수 있다. 바람직한 실시예들에서, 이것은 능동 윤곽선 프로세스를 이용하여 이루어진다. 이 실시예들에서, 상기 능동 윤곽선 프로세스는 상기 루트 추정에 연관된 에너지가 상기 루트 추정의 적어도 일부에 관련된 이력적인 루트의 일부 위치에 의해서 영향을 받는 프로세스이다. 상기 에너지는 상기 추정에 일정하게 근접한 이력적인 루트의 일부의 존재에 의해서 영향을 받을 수 있을 것이며 또는 그런 특징들로부터의 상대적인 거리를 고려할 수 있을 것이다. 몇몇의 경우들에서 상기 루트 추정의 단지 일부에 근접하여 이력적인 자취가 존재할 수 있을 것이다. 그런 경우들에서, 이력적인 루트 데이터는 상기 루트 추정의 일부만을 개선하기 위해서 사용될 수 있을 것이다.
바람직한 실시예들에서, 상기 방법은 상기 평탄화 연산에 잇어서 사용하기 위해서 이력적인 루트 데이터를 저장하는 단계를 포함한다. 상기 이력적인 루트 데이터는, 본 발명의 평탄화 연산에 있어서 사용하기 위해서 위치 데이터를 제공하는 것에 관련하여 설명된 임의 유형의 기기들로부터 얻어진 위치 데이터로부터 유도되는 것이 바람직하다. 그래서 상기 이력적인 루트 데이터는 로케이션 판별 및 추적 수단을 구비한 모바일 기기들로부터, 그리고 가장 바람직하게는 휴대용 트레이닝 기기들로부터 수신된 위치 데이터로부터 유도될 수 있을 것이다. 상기 이력적인 루트 데이터는 상기 평탄화 연산을 수행하는 중앙 서버에 의해서 저장될 수 있을 것이며, 또는 그렇지 않다면 그런 서버에 액세스 가능한 방식으로 저장될 수 있을 것이다.
상기 이력적인 루트 데이터는 바람직하게는 평탄화된 루트 데이터이다. 그래서 상기 정보는 여기에서 설명된 방법들을 수행한 결과로서 얻어진 정보일 수 있다. 상기 이력적인 루트 데이터는 취해진 공통의 경로들을 표현하는 것이 바람직하다. 이는 개별적인 경로에 관한 것 대신이다. 바람직한 실시예들에서, 주어진 이력적인 루트에 대한 이력적인 루트 데이터는 다중의 위치 자취들을 기반으로 한다. 다른 말로 하면, 상기 루트 데이터는 "평균화 프로세스"가 되기 쉽다. 상기 이력적인 루트 데이터는 다중의 개별적인 이력 위치 데이터 자취들, 예를 들면, 본 발명이 속한 기술 분야에서 알려진 것과 같은 GPS 자취들을 같이 묶음으로써 얻어질 수 있을 것이다.
수신된 위치 데이터에 이력적인 루트 데이터를 이용하여 스플라인 알고리즘을 적용함으로써 얻어진 스플라인 커브의 모습인 루트 추정을 개선하는 것은 그 자체적으로 유리할 것으로 믿어진다.
그래서, 본 발명의 다른 모습에 따라서, 상기 루트의 표현을 생성하는 방법이 제공되며, 상기 방법은:
루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 단계; 그리고
상기 위치 데이터에 평탄화 연산을 수행하여, 이동된 상기 루트의 더욱 정밀한 표현을 생성하는 단계를 포함하며,
상기 평탄화 연산은:
상기 수신된 위치 데이터에 스플라인 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 단계; 그리고
상기 사용자 그리고/또는 다른 사용자들에 의해서 이동된 이전의 루트들을 나타내는 저장된 이력적인 루트 데이터를 이용하여 상기 루트의 상기 추정된 표현을 개선하는 단계를 포함한다.
본 발명의 다른 모습에 따라서, 상기 루트의 표현을 생성하기 위한 시스템, 옵션으로는 서버가 제공되며, 이것은:
루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 수단; 그리고
이동된 상기 루트의 더욱 정밀한 표현을 생성하기 위해서 상기 위치 데이터에 평탄화 연산을 수행하는 수단을 포함하며,
상기 평탄화 연산을 수행하는 수단은:
상기 수신된 위치 데이터에 스플라인 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 수단; 그리고
상기 사용자 그리고/또는 다른 사용자들에 의해서 이동된 이전의 루트들을 나타내는 저장된 이력적인 루트 데이터를 이용하여 상기 루트의 상기 추정된 표현을 개선하는 수단을 포함한다.
이런 추가의 모습들 중 어느 하나에서의 본 발명은 여기에서 설명된 바람직한 특징들 그리고 옵션의 특징들 중 어느 하나 또는 모두를 포함할 수 있을 것이다.
추가적으로 디지털 지도 데이터를 기반으로 하여 평탄화 연산이 수행되는 실시예들이 이제 설명되며, 이 경우에 그런 데이터는 상기 루트 표현의 추정의 개선에서 사용된다. 이 실시예들에서 상기 방법은 상기 루트 표현의 추정을 개선하는 단계를 포함하며, 이는 상기 이동된 루트의 표현의 추정으로 하여금 실제의 이동된 루트를 나타내는 더 높은 확률을 가지는 형상 및/또는 위치에 더욱 가깝게 우선적으로 대응하도록 하며, 그리고/또는 디지털 지도 데이터를 이용하여 실제의 이동된 루트를 나타내는 더 낮은 확률을 가지는 형상 및/또는 위치에 덜 가깝게 우선적으로 대응하도록 하는 단계를 포함하며, 이 경우에 상기 실제의 이동된 루트를 나타내는 더 높은 확률을 가지는 형상 및/또는 위치, 그리고/또는 상기 실제의 이동된 루트를 나타내는 더 높은 확률을 가지는 형상 및/또는 위치가, 상기 디지털 지도 데이터에 의해서 표현된 지리적인 특정들을 적어도 부분적으로 기반으로 하여 결정된다. 상기 디지털 지도 데이터는 상기 루트 추정의 일부 또는 일부들만을 개선하기 위해서 사용될 수 있을 것이다.
사용자가 취한 루트가 디지털 지도에 의해서 표시된 어떤 특징들과 일치한다는 것은 불가능하거나 또는 적어도 있음직하지 않다고 가정될 수 있다는 것이 인정될 것이다. 그런 영역들은 보행자가 다닐 수 없는 영역들을 포함한다. 예를 들면, 사용자는 물의 영역을 통해서 빌딩의 족문 (footprint)을 통해서 지나갈 것 같지 않다. 반대로, 보행자는 공원 또는 유사한 개방된 공간을 통해서 지나갈 것 같다. 실시예들에서, 상기 디지털 지도 데이터는, 이동된 루트의 일부를 형성하는 상대적으로 더 높은 또는 더 낮은 확률을 가지는 지도에 의해서 표현된 특징들을 향하도록 또는 멀리 떨어지도록 상기 루트의 추정을 푸시하기 위해서 사용될 수 있을 것이다. 바람직하게는, 이는 능동 외곽선 프로세스에서 수행된다. 바람직하게는, 루트 추정에 연관된 에너지는 루트 추정의 적어도 일부의 위치에 관련된 디지털 지도에 의해서 표현된 어떤 지리적인 특징들의 위치에 의해서 영향을 받는다. 상기 에너지는 상기 추정의 적어도 일부에 일정하게 근접한 정해진 특징들의 존재에 의해서 영향을 받을 수 있을 것이며 또는 그런 특징들로부터의 상대적인 거리를 고려할 수 있을 것이다.
추정된 루트를 개선하기 위해서 디지털 지도 데이터가 사용되는 바람직한 실시예들에서, 상기 방법은 능동 외곽선 프로세스를 이용하는 단계, 상기 루트 추정의 적어도 일부와 연관된 에너지를 최소화하거나 또는 축소시키는 단계를 포함하며, 이 경우에 상기 에너지는 상기 루트 추정의 적어도 일부에 관련된 디지털 지도에 의해서 표현된 어떤 지리적인 특징들의 위치에 의해서 영향을 받는다.
상대적으로 높은 에너지를 상기 이동된 루트의 일부를 형성할 것 같지 않은 디지털 지도에 의해서 표현된 위치들 또는 특징들에 연관시킴으로써, 또는 반대로 상대적으로 낮은 에너지를 이동된 루트의 일부를 더 형성할 것 같은 지도에 의해서 표현된 위치들 또는 특징들에 연관시킴으로써, 루트 추정에 연관된 에너지를 최소화하기 위해서 상기 루트 추정이 활성 외곽선 프로세스에서 개선되거나 또는 최적화될 때에, 상기 루트 추정은 덜 가능한 영역으로부터 멀리 이동될 수 있으며 그리고/또는 더 가능한 영역들을 향하여 이동될 수 있을 것이다. 물론, 지하도가 있을 수 있기 때문에 사용자가, 예를 들면, 빌딩을 통해서 지나갈 수 있을 것이라는 것을 항상 생각할 수 있다. 상기 루트가 그런 영역들을 통해서 지나가는 것을 완전히 금지하는 것보다는 그런 영역들에 높은 에너지를 할당함으로써, 본 발명은 더욱 유연한 방법을 제공하며, 이는 향상된 루트 근사 (approximation)를 제공할 수 있을 것이다. 일반적으로, 상기 기술은 상기 루트를, 예를 들면, 빌딩으로부터 멀리 단순하게 시프트시켜서, 예를 들면, 사용자가 빌딩을 통해서 지나갔다고 GPS가 부정확하게 시사하는 경우에 더욱 정밀한 표현을 제공한다. 반대로, 예를 들어, 보행자들을 위한 루트들이 더 있을 것 같은 공원들과 같은 디지털 지도의 영역들에는 상대적으로 낮은 에너지가 할당되어, 루트를 그 영역들을 향하여 푸시하도록 할 수 있다.
실시예들에서 상기 방법은 능동 윤곽선 프로세스에서 루트 추정과 연관된 에너지를 최소화하거나 또는 축소시키는 단계를 포함하며, 이 경우에 디지털 지도 데이터를 기반으로 하여 상기 이동된 루트의 적어도 일부에 대응할 것 같은 루트 추정의 적어도 일부의 위치들 및/또는 형상들에 상대적으로 낮은 에너지가 연관되며, 그리고/또는 이 경우에 디지털 지도 데이터를 기반으로 하여, 예를 들면, 상기 디지털 지도 데이터에 의해서 표현된 지리적인 특징들을 기반으로 하여 상기 이동된 루트의 적어도 일부에 대응할 것 같지 않은 루트 추정의 적어도 일부의 위치들 및/또는 형상들에 상대적으로 높은 에너지가 연관된다. "할 것 같다" 또는 "할 것 같지 않다"의 용어들은 이동된 루트의 일부를 형성하는 상대적으로 더 큰 또는 더 작은 확률을 가지는 위치들을 언급하는 것이다.
바람직하게는, 상기 방법은 디지털 지도에 의해서 표현된 지리적인 특징들에 에너지를 연관시키는 단계를 포함하며, 이 경우에, 디지털 지도 데이터를 기반으로 하여 상기 이동된 루트의 일부를 형성할 것 같지 않은 특징들에 상대적으로 높은 에너지가 할당되며, 그리고/또는 디지털 지도 데이터를 기반으로 하여 상기 이동된 루트의 일부를 형성할 것 같은 특징들에 상대적으로 낮은 에너지가 할당된다. 상기 정보는 그러면 상기 디지털 지도 데이터를 이용하여 상기 루트 추정을 개선하기 위해서 상기 루트와 연관된 에너지를 최소화하거나 또는 축소시키는 단계에서 사용될 수 있을 것이다. 상기 디지털 지도 데이터는 상기 루트 추정의 상이한 잠재적인 형상들 및/또는 위치들에 연관된 에너지를 비교하는데 있어서 사용하기 위해서 상기 에너지 정보를 제공할 수 있을 것이다.
상기 디지털 지도에 의해서 표현된 특징들과 연관될 상기 에너지 정보는 특별한 루트에 관련해서가 아니라 일반적인 근거를 기준으로 결정될 수 있을 것이라는 것이 인정될 것이다. 그래서 어떤 그래픽 특징들은 결정될 어떤 루트의 일부를 형성할 것 같지 않다고 또는 형성할 것 같다고 가정될 수 있을 것이다. 실시예들에서, 상대적으로 높은 에너지 또는 상대적으로 낮은 에너지 각각은 그런 영역들에 각각 연관될 수 있을 것이다. 디지털 지도 데이터가 사용되는 실시예들에 따라서, 바람직하게는 이동된 실제의 루트의 일부를 형성할 것 같지 않은 지리적인 특징들에는 또는 상대적으로 높은 에너지가 연관되며, 보행자가 지나갈 수 없는 (non-navigable) 영역들이다. 여기에서 실제의 이동된 루트의 일부를 형성할 것 같지 않은 지리적인 특징들을 언급하는 것은 "보행자가 지나갈 수 없는 영역들"의 용어로 대체될 수 있을 것이다. 그런 영역들의 예들은 물줄기 (body of water)들 그리고 빌딩 족문 (building footprint)들을 포함한다. 루트의 일부를 형성할 것으로 간주될 수 있거나, 또는 상대적으로 낮은 에너지가 연관될 수 있을 특징들의 예들은 공원들을 포함한다. 관련된 특징들은 특정 기준에 따라서, 예를 들면, 루트의 유형, 사용자 선호도들 등에 종속하여 결정될 수 있을 것이다.
디지털 지도 데이터를 이용하는 바람직한 실시예들에서, 상기 방법은 개선 프로세스에서, 바람직하게는 에너지 정보를 연관시키는데 있어서 사용하기 위해 디지털 지도 데이터를 저장하는 단계를 포함한다. 상기 데이터는 평탄화 연산을 수행하는 서버에 의해서 저장될 수 있을 것이며, 또는 그렇지 않다면 그 서버에 액세스 가능하도록 저장될 수 있을 것이다.
디지털 지도 데이터를 이용하여, 수신된 위치 데이터에 스플라인 알고리즘을 적용하여 획득된 스플라인 커브 모습인 루트 추정을 개선하는 것은 그 자체로 유리할 것으로 믿어진다.
그래서, 본 발명의 다른 모습에 따라서, 이동된 루트의 표현을 생성하는 방법이 제공되며, 이 방법은:
루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 단계; 그리고
상기 위치 데이터에 평탄화 연산을 수행하여, 이동된 상기 루트의 더욱 정밀한 표현을 생성하는 단계를 포함하며,
상기 평탄화 연산은:
상기 수신된 위치 데이터에 스플라인 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 단계; 그리고
저장된 디지털 지도 데이터를 이용하여 상기 루트의 상기 추정된 표현을 개선하는 단계를 포함한다.
본 발명의 추가의 모습에 따라서 이동된 루트의 표현을 생성하기 위한 시스텝, 옵션으로는 서버가 제공되며, 이는:
루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 수단; 그리고
이동된 상기 루트의 더욱 정밀한 표현을 생성하기 위해서 상기 위치 데이터에 평탄화 연산을 수행하는 수단을 포함하며,
상기 평탄화 연산을 수행하는 수단은:
상기 수신된 위치 데이터에 스플라인 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 수단; 그리고
저장된 디지털 지도 데이터를 이용하여 상기 루트의 상기 추정된 표현을 개선하는 수단을 포함한다.
이 추가의 모습들 중 어느 하나에서의 본 발명은 여기에서 설명된 바람직한 특징들 그리고 옵션의 특징들 중 어느 하나 또는 모두를 적절하게 포함할 수 있을 것이다. 예를 들어, 상기 디지털 지도 데이터는 빌딩 족문들, 물줄기들 등과 같이 보행자가 지나갈 수 없는 (또는 적어도 보통은 지나갈 수 없는) 영역들을 포함할 수 있다.
개선하는 단계, 그리고 옵션으로 최적화하는 단계, 이동된 루트의 추정이 여러 유형의 데이터, 예를 들면, 사용자 움직임 데이터, 상기 수신된 위치 데이터의 정밀도에 관한 데이터, 이력적인 루트 데이터 그리고/또는 디지털 지도 데이터를 이용하는 것을 포함하는 실시예들에서, 개선은 단일의 단계 또는 다중의 단계들에서 여러 데이터 유형들에 관하여 수행될 수 있을 것이다. 상기 커브의 형상 및/또는 위치와 연관된 에너지를 나타내는 방정식에 추가적인 성분들을 단순하게 추가함으로써, 바람직한 실시예들에서 사용된 상기 능동 외곽선 프로세스들은 여러 데이터 유형들에 관하여 루트 표현을 동시에 개선하기 위한 능력을 제공한다. 상기 커브의 에너지는 바람직한 데이터 유형들의 임의 개수에 관하여 최소화될 수 있을 것이다. 물론, 단일의 단계에서보다는 연이은 단계들에서 상이한 데이터 유형들에 대해서 개선이 수행될 수 있다는 것이 상상될 수 있을 것이다. 그래서 능동 외곽선 프로세스는 하나 또는 그 이상의 단계들을 포함할 수 있을 것이다. 위치 정밀도 데이터, 이력적인 루트 데이터 또는 디지털 지도 데이터의 모습인 추가 데이터를 이용하여 개선에 관하여 여기에서 "능동 외곽선 프로세스"를 언급하는 것은 "상기" 능동 외곽선 프로세스를 언급하는 것일 수 있으며, 즉, 그래서 모든 데이터 유형들에 관한 개선이 하나 또는 그 이상의 단계들을 포함할 수 있을 동일한 능동 외곽선 프로세스에서 수행되도록 한다는 것이 인정될 것이다. 유사하게, 상기 추정으로 하여금 위치 정밀도 데이터, 이력적인 루트 데이터 또는 디지털 지도 데이터를 포함하는 추가 데이터를 이용하여 여기에서 설명된 것과 같은 일정한 형상 및/또는 위치에 더 또는 덜 가깝게 일치하도록 하는 단계들은 상기 사용자 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터를 이용하는 동일한 프로세스의 일부일 수 있다. 상기 추정으로 하여금 일정 형상에 더 또는 덜 가깝게 일치하도록 하는 단계는 설명된 실시예들 중 어느 하나에 따라 상이한 데이터 유형들을 이용하여 그 후에 수행된다. 물론, 다중의 능동 윤곽선 프로세스들은 상이한 시각들 그리고/또는 장소들에서 수행될 수 있다는 것이 상상될 수 있다.
개선이 실행되는 것에 관한 데이터 유형들의 개수는 이용 가능한 프로세싱 전력, 수용 가능한 프로세싱 시간들 등과 같은 팩터들에 종속하여 희망했던 대로 선택될 수 있을 것이다는 것이 인정될 것이다. 실제로, 사용자 움직임 데이터 그리고/또는 수신된 위치 데이터의 정밀도에 관련한 데이터에 관한 개선은 상대적으로 빠르게 실행될 수 있으며 그리고 루트 추정의 큰 개선의 결과가 될 수 있을 것이라는 것이 발견되었다. 이력적인 루트 데이터 그리고/또는 디지털 지도 데이터에 관한 추가적인 개선은, 바람직하기는 하지만, 관련된 데이터가 문제의 지역에 관해서 존재하는가의 여부에 따라서 항상 가능하지는 않을 수 있을 것이다.
본 발명의 모습들 또는 실시예 내의 본 발명에 따라서, 바람직하게는 데이터 (예를 들면, 위치 데이터 그리고 어떤 다른 데이터)를 수신하는 단계 그리고 평탄화 연산을 수행하는 단계가 중앙 서버에 의해서 실행된다. 본 발명의 시스템은 여기에서 언급된 단계들 중 어느 하나 또는 모두를 수행하도록 준비된다. 상기 수신된 데이터는 기기로부터 직접적으로 또는 간접적으로 수신될 수 있을 것이다. 적어도 위치 데이터는 상기 기기에 의해서, 예를 들면, 그 기기의 GPS 칩셋과 같은 기기의 로케이션 판별 및 추적 수단에 의해서 생성된다. 데이터는 상기 기기로부터 상기 중앙 서버로 자동적으로 또는 사용자의 개입에 응답하여 전달될 수 있을 것이다. 몇몇의 실시예들에서 상기 수신된 데이터는 중앙 서버로의 연이은 전달을 위해서 기기에 의해서 저장되었던 데이터이다. 예를 들면, 상기 데이터는 상기 기기에 통합될 수 있을 또는 그 기기로부터 탈착될 수 있을 상기 기기의 데이터 저장 수단에 의해서 저장될 수 있을 것이다. 상기 데이터는 어떤 방식으로 기기로부터 상기 중앙 서버로 전달될 수 있다. 예를 들면, 몇몇의 실시예들에서, 모바일 기기에는 기기의 데이터 저장 수단 상에 저장된 데이터가 공중망을 통해서, 예를 들면, 인터넷에 액세스하는 컴퓨터 또는 다른 기기에게 전달되도록 하기 위해서 무선 통신 수단이 제공될 수 있을 것이다. 다른 실시예들에서, 상기 모바일 기기는 상기 데이터 저장 수단에 연결된 USB 커넥터와 같은 데이터 커넥터를 포함할 수 있다. 이는 그 커넥터를 적합한 포트에 삽입하여 데이터가 상기 데이터 저장 수단으로부터 컴퓨터 또는 다른 적합한 기기로 전달되는 것을 가능하게 할 수 있을 것이다. 다른 실시예들에서, 상기 사용자는 상기 기기의 데이터 저장 수단을 제거하고 그리고 그것을 인터넷에 액세스하는 컴퓨터나 다른 기기에 연결시킬 수 있을 것이다.
실시예들에서, 상기 서버는 평탄화 연상에서 사용하기 위해서 이력적인 루트 데이터 그리고/또는 디지털 지도 데이터를 저장하도록 배치될 수 있을 것이다. 상기 데이터는, 에너지 정보를 이용하여 루트 개선이 수행되는 실시예들에서 에너지 정보와 연관될 수 있을 것이다.
평탄화 연산들이 수행된 이후에 본 발명의 방법들이 수행된 결과는 상기 이동된 루트의 더욱 정밀한, 예를 들면, 평탄화된 표현이다. 본 발명의 실시예들 중 어느 하나에 따라서, 상기 방법은 상기 루트의 더욱 정밀한 표현 ("상기 평탄화된 루트")을 웹 페이지에 제공하는 단계를 더 포함하는 것이 바람직하다. 상기 루트의 더욱 정밀한 표현은 그러면 아래에서 설명되는 것처럼 웹 페이지를 경유하여 사용자에게 디스플레이될 수 있을 것이다. 그래서, 평탄화가 중앙 서버에 의해서 수행되는 실시예들에서, 상기 중앙 서버는, 예를 들면, 사용자에게 디스플레이하기 위해서 상기 루트의 더욱 정밀한 표현을 웹 페이지에게 제공하도록 준비된다. 상기 중앙 서버가 상기 루트의 상기 더욱 정밀한 표현을 상기 웹 페이지에게 직접적으로 또는 간접적으로 제공할 수 있을 것이라는 것이 인정될 것이다. 예를 들면, 상기 서버는 웹 페이지에게 제공하기 위해서 평탄화된 루트 데이터를 다른 서버에게 제공할 수 있으며 또는 그 평탄화된 데이터를 웹 페이지에게 직접 제공할 수 있을 것이다.
본 발명의 평탄화 기술은 웹 페이지에게로 제출하기 위해서 기기로부터 업로드되었던 데이터에 관해서 수행될 수 있을 것이라는 것이 인정될 것이다. 상기 데이터는 상기 기기로부터 상기 웹 페이지로 전달될 때에 평탄화를 위해서 상기 중앙 서버를 경유하여 자동적으로 경로가 정해질 수 있을 것이다. 그래서, 실제로는, 사용자는 평탄화를 위해서 상기 중앙 서버로 데이터를 직접 업로드하거나 또는 그렇지 않다면 중앙 서버로 데이터를 직접 전달하는 것이 아니라, 오히려 그 데이터를 웹 페이지로 전달하여, 그 데이터가 웹 페이지로 공급되기 이전에 데이터에 평탄화가 발생하도록 한다.
몇몇의 바람직한 실시예들에서, 본 발명의 평탄화 동작은 웹페이지로 업로드된 데이터 상에서 그 데이터가 사용자에게 디스플레이되기 이전에 수행된다. 그래서 그 데이터는 웹페이지로 간접적으로 업로드되어, 루트에 대해서 수행될 평탄화 연산을 위해서 중앙 서버를 경유하여 지나간다. 그래서 사용자는 평탄화 연산을 위해서 그 데이터를 상기 중앙 서버로 고의적으로 업로드하지 않을 수 있을 것이다. 실시예들에서 상기 방법은 기기로부터 웹페이지로 업로드된 데이터를 그 데이터가 상기 웹 페이지 상에서 디스플레이되기 이전에 평탄화 연산을 수행하기 위해서 중앙 서버로 자동적으로 향하게 하는 단계를 포함할 수 있을 것이다. 상기 루트의 더욱 정밀한 표현은 그러면 상기 평탄화 연산 이후에 웹 페이지 상에서 디스플레되도록 처리될 수 있다.
바람직하게는 본 발명의 실시예들 중 어느 하나에서의 본 발명의 상기 방법은 상기 루트의 더욱 정밀한 표현으로 하여금 사용자에게 디스플레이되도록 하는 단계를 더 포함한다. 예를 들면, 상기 루트가 트레이닝 달리기 또는 싸이클에서 사용자가 따라간 루트인 경우에, 다음의 시각에서 취해진 루트를 트레이닝과 관련된 다른 데이터, 예를 들면, 그 루트 동안에 특별한 시각들에서의 속력들, 커버된 거리 등과 함께 보여줄 수 있을 것이다. 상기 루트가 디스플레이되는 대상인 사용자는 그 루트를 취했던 동일한 사용자 또는 다른 사용자일 수 있다는 것이 인정될 것이다. 바람직하게는 상기 루트의 더욱 정밀한 표현을 디스플레이하는 상기 단계는 상기 루트의 상기 더욱 정밀한 표현으로 하여금 디지털 지도 상에 디스플레이되도록 하는 단계를 포함한다. 바람직한 실시예들에서 상기 방법은 상기 이동된 루트의 상기 더욱 정밀한 표현을 디지털 지도에 관련하여 결정하는 단계를 더 포함하며, 그리고 상기 시스템은 그런 단계를 수행하기 위한 수단을 포함한다. 이전에 언급된 것처럼, 평탄화된 루트는 2차원 또는 3차원으로 결정될 루트일 수 있다. 그래서 평탄화된 위치 데이터는 경도 및 위도 위치 정보 그리고 옵션으로는 고도 정보일 수 있다. 상기 루트의 더욱 정밀한 표현은 2차원 또는 3차원의 디지털 평탄화된 모델일 수 있다.
바람직한 실시예들에서 상기 방법은 상기 루트의 더욱 정밀한 표현을 디지털 지도 상에서 사용자에게 디스플레이하는 단계를 포함하며, 바람직하게는 상기 디스플레이된 디지털 지도는 그 경로를 따르는 고도 정보를 포함한다. 상기 평탄화된 루트가 3차원 위치 데이터를 이용하여 결정되었던 실시예들에서 상기 고도 정보는 상기 루트의 더욱 정밀한 표현의 일부를 형성할 수 있을 것이다. 다른 실시예들에서, 상기 고도 정보는 수신된 고도 위치 데이터, 즉, 평탄화 연산에 영향을 받지 않는 데이터를 이용하여 결정될 수 있을 것이다. 몇몇의 바람직한 실시예들에서, 평탄화된 고도 데이터 그리고 평탄화되지 않은 고도 데이터의 조합이 사용되어 상기 루트를 따라 디스플레이된 고도 정보를 제공한다.
상기 방법은 상기 루트의 상기 더욱 정밀한 표현이 어떤 적합한 디스플레이 수단을 통해서 사용자에게 디스플레이되도록 하는 단계를 포함할 수 있다. 보통은 상기 디스플레이 수단은, 예를 들면, 사용자 단말의 로컬 디스플레이 수단일 것이다. 상기 방법은 상기 루트를 인터넷에 액세스하는 컴퓨터 또는 다른 기기를 경유하여 상기 사용자에게 디스플레이하는 단계를 포함할 수 있다. 몇몇의 바람직한 실시예들에서, 상기 루트의 더욱 정밀한 표현은 사용자가 액세스할 수 있는 웹 페이지를 거쳐서 디스플레이된다. 예를 들면, 상기 루트는 모바일 통신 기기, 예를 들면, 상기 사용자의 PDA, 랩톱 컴퓨터, 또는 모바일 전화기를 거쳐서 디스플레이될 수 있을 것이다. 이 바람직한 실시예들에서, 상기 위치 데이터는 웹 페이지 상에서 디스플레이되기 이전에 상기 평탄화 연산의 영향을 받기 쉽다는 것이 인정될 것이다.
본 발명 실시예들 중 어느 하나에서의 방법에 따라서, 상기 방법은 상기 루트의 더욱 정밀한 표현을 저장하는 단계를 더 포함하는 것이 바람직하다. 그 저장된 루트는, 이어서 수신된 위치 데이터에 관련하여 본 발명의 어떤 실시예들에 따라서 평탄화 연산에서 사용하기 위한 이력적인 루트 데이터를 결정하는데 있어서 그 후에 사용될 수 있을 것이다.
본 발명은 본 발명의 실시예들 또는 모습들 중 어느 하나에 따른 방법을 수행하도록 또는 시스템으로 하여금, 예를 들면, 중앙 서버로 하여금 그런 방법들을 수행하도록 실행가능한 컴퓨터 독출가능 명령어들을 포함하는 컴퓨터 프로그램 제품으로 확장된다.
설명된 실시예들 중 어느 하나에서, 상기 능동 외곽선 프로세스는 상기 루트 추정과 연관된 에너지를 최대화하거나 또는 증가시키기 위해서 대신에 사용될 수 있다는 것이 인정될 것이다. 이 경우에, 위에서 설명된 구성과는 반대로, 낮은 에너지 값들에는 상기 커브의 덜 바람직한 부분들 또는 형상들이 할당되며 그리고 높은 에너지 값들에는 더욱 바람직한 위치들/형상들이 할당된다
여기에서 "상대적으로 높은" 또는 "상대적으로 낮은" 에너지를 언급하는 것은 예를 들면 주변의 지역들 또는 위치들/형상들에 비교하여 디지털 지도 또는 커브의 형상 및/또는 위치와 연관된 에너지를 언급하는 것이라는 것이 인정될 것이다. 예를 들면, 상대적으로 낮은 에너지는 주변의 지역들에 비하여 이력적인 루트의 일부와 연관될 수 있을 것이다. 상기 주변의 지역들은 어떤 특정 에너지와 연관될 수 있고 또는 연관되지 않을 수 있을 것으며. 즉, 그것들은 변하지 않는 또는 베이스 (base) 에너지를 규정할 수 있을 것이다. 유사하게, 루트의 일부를 형성할 것 같지 않은 지도 특징과 연관된 상대적으로 낮은 에너지는, 그것으로 향하는 루트 추정을 에너지 최소화 프로세스로 끌어넣기 위해서, 동일한 방식으로 주변의 지역들과 비교하여 상대적으로 낮은 에너지를 가질 것이다. 그래서, 상기 에너지는 변경되지 않을 수 있을 주변의 베이스 레벨과 비교하여, 또는 에너지 레벨이 할당되었던 다른 영역들에 비교하여 상대적으로 낮거나 또는 높을 것이다
능동 윤곽선 프로세스가 사용되어, 다양한 유형의 데이터, 예를 들면, 이력적인 데이터 그리고 디지털 지도 데이터를 고려하는 실시예들에서, 분리된 에너지 최소화 또는 축소 단계들이 각 유형의 데이터에 대해서 실행될 수 있을 것이며, 또는 더 바람직하게는 상기 데이터는 적절하게 전반적인 에너지 방정식의 성분들을 형성할 수 있다.
이 실시예들이 이점들은 앞으로 제시되며, 그리고 이 실시예들 각각의 추가의 상세한 내용들 및 특징들은 동반하는 종속의 청구항들 그리고 다음의 상세한 설명의 다른 곳에서 정의된다.
본 발명의 효과는 본 명세서의 해당되는 부분들에 개별적으로 명시되어 있다.
본 발명의 교시들의 다양한 모습들, 그리고 그 교시들을 구체화한 배치들은 첨부된 도면들을 참조하여 예시적인 예들로 이하에서 설명될 것이다.
도 1은 글로벌 포지셔닝 시스템 (GPS)의 개략적인 예시이다.
도 2는 휴대용 개인 트레이닝 기기를 제공하도록 배치된 전자 컴포넌트들의 개략적인 예시이다.
도 3은 도 2의 기기의 실시예를 보여주며, 이 경우에 상기 기기는 스포츠 시계의 모습이다.
도 3a는 USB 커넥터를 드러내기 위해서 들려진 시계 끈의 끝 부분에서의 힌지 커버를 예시한다.
도 4는 내비게이션 기기가 무선 통신 채널을 통해서 정보를 수신하는 방식의 개략적인 예시이다.
도 5는 본 발명의 바람직한 실시예에 따른 평탄화 연산에서의 메인 스테이지들을 예시한 블록 도면 모습이다.
도 6은 평탄화 연산의 개선 스테이지의 일 실시예를 더욱 상세하게 예시한 것이다.
도 7은 루트의 추정으로부터 유도 가능한 데이터 그리고 수신된 데이터 사이의 관계를 예시한다.
도 8은 평탄화 연산의 개선 스테이지이 다른 실시예를 예시한다.
유사한 참조 번호들은 상기 도면들 전체에서 유사한 특징들을 위해서 사용된다.
본 발명의 바람직한 실시예들은 글로볼 포지셔닝 시스템 (Global Positioning System (GPS)) 데이터에 액세스하는 스포츠 시계와 같은 휴대용 개인 트레이닝 기기로부터 수신된 데이터를 특히 참조하여 이제 설명될 것이다. 설명된 유형 이후에 스포츠 시계들은, 예를 들면, 사용자의 속력 및 거리를 모니터링하고 그리고 이 정보를 사용자에게 제공함으로써 운동 선수들이 달리기 또는 워크아웃들 동안에 자신들을 돕게 하기 위해서 운동 선수들에 의해서 종종 착용된다. 그러나, 상기 기기는 사용자에 의해서 운반되거나 또는 자전거, 카약, 또는 유사한 것과 같은 차량에 알려진 방식으로 연결되거나 또는 "도킹되어" 운반되도록 준비된다는 것이 인정될 것이다. 이런 유형의 기기들은 2011년 1월 5일에 출원된 "GPS Odometer" 제목의 본 출원인의 공동-계속중인 출원인 대만 특허 출원 번호 100100382 에 더욱 상세하게 설명된다 (이 출원은 이어서 2011년 3월 28일에 PCT/EP2011/054686으로 PCT 출원됨).
도 1은 그런 기기들에 의해서 사용될 수 있는 글로벌 포지셔닝 시스템 (GPS)의 예시적인 모습을 도시한다. 그런 시스템들은 잘 알려져 있으며 다양한 목적들을 위해서 사용된다. 일반적으로, GPS는 위성-라디오 기반의 내비게이션 시스템으로, 연속적인 위치, 속도, 시각, 그리고 몇몇의 예들에서는 무제한 수의 사용자들에 대한 방향 정보를 판별할 수 있다. 이전에 NAVSTAR로 알려진 상기 GPS는 극도로 정밀한 궤도들로 지구를 궤도를 그리며 도는 복수의 위성들을 통합한다. 이런 정밀한 궤도들을 기반으로 하여, GPS 위성들은 자신들의 위치를 수많은 수신 유닛들에게 중계할 수 있다.
상기 GPS 시스템은 기기, 특히 GPS 데이터를 수신하도록 장착된 기기가 GPS 위성 신호들 용의 라디오 주파수들을 스캔하는 것을 시작할 때에 구현된다. GPS 위성으로부터의 라디오 신호를 수신하면, 상기 기기는 복수의 상이한 전통적인 방법들 중 어느 하나를 경유하여 그 위상의 정밀한 위치를 판별한다. 상기 기기는 대개의 경우들에는 적어도 3개의 위성 신호들을 획득할 때까지는 신호들을 스캔하는 것을 계속할 것이다 (위치는 정상적이지는 않지만 다른 삼각 측량 기술들을 이용하여 단 두 개의 신호들만을 이용하여 판별될 수 있다는 것에 유의한다). 기하학적인 삼각 측량을 구현하여, 상기 수신기는 상기 위상들에 대한 자기 자신의 2차원 위치를 판별하기 위해서 세 개의 알려진 위치들을 활용한다. 이것은 알려진 방식으로 수행될 수 있다. 추가로, 네 번째의 위성 신호를 획득하면 상기 수신 기기가 알려진 방식으로 동일한 기하학적인 계산에 의해서 자신의 3차원적인 위치를 계산하도록 할 것이다. 위치 및 속력 데이터는 무제한의 사용자들에 의해서 연속을 기반으로 하여 실시간으로 업데이트될 수 있다.
도 1에서 보이는 것처럼, GPS 시스템은 참조번호 100으로 일반적으로 표시된다. 복수의 위성들 (120)이 지구 (124) 주위의 궤도에 존재한다. 각 위성 (120)의 궤도는 다른 위성들 (120)의 궤도들과 반드시 동기될 필요는 없으며, 그리고 실제로 비동기식인 것 같다. GPS 수신기 (140)가 다양한 위성들 (120)로부터 확산 스펙트럼 GPS 위성 신호들을 수신하는 것이 보인다.
각 위성 (120)으로부터 계속해서 전송된 확산 스펙트럼 신호들 (160)은 극도로 정밀한 원자 시계를 이용하여 달성된 고도로 정밀한 주파수 표준을 활용한다. 데이터 신호 전송 (160)의 일부인 각 위성 (120)은 그 특정 위성 (120)를 표시하는 데이터 스트림을 전송한다. GPS 수신기 기기 (140)가 삼각측량에 의해서 자신의 2차원 위치를 계산하기 위해서 적어도 세 개의 위성들 (120)로부터 확산 스펙트럼 GPS 위성 신호들 (160)을 얻어야 한다는 것은 본 발명이 속한 기술 분야와 관련된 기술 분야에서의 통상의 지식을 가진 자들이 인정할 것이다. 총 네 개의 위성들 (120)로부터의 신호들 (160)의 결과인 추가 신호를 획득하면 GPS 수신기 기기 (140)에게 알려진 방식으로 자신의 3차원 위치를 계산하도록 허용한다.
도 2는 본 발명의 바람직한 실시예에 따른 개인 휴대용 트레이닝 기기 (200)의 전자 컴포넌트들의 블록 컴포넌트 포맷의 예시적인 표현이다. 상기 기기 (200)의 블록 도면이 내비게이션 기기의 모든 컴포넌트들을 포함하는 것이 아니라, 많은 예시의 컴포넌트들의 대표일 뿐이라는 것에 유의해야만 한다.
상기 기기 (200)는 입력 기기 (212) 그리고 LCD 디스플레이와 같은 디스플레이 스크린 (210)에 연결된 프로세서 (202)를 포함한다. 입력 기기 (212)는 하나 또는 그 이상의 버튼들 또는 (예를 들면, 도 3에서 보이는) 스위치들을 포함할 수 있다. 상기 기기 (200)는 어떤 속력에 도달했거나 또는 어떤 거리만큼 이동되었다는 경보들과 같은 청각적인 정보를 사용자에게 제공하도록 준비된 출력 기기를 더 포함할 수 있다.
도 2는 프로세서 (202) 그리고 GPS 안테나/수신기 (204) 사이의 작동적인 연결을 더 도시한다. 비록 상기 안테나 그리고 수신기가 예시를 위해서 개략적으로 조합되었지만, 상기 안테나 그리고 수신기는 분리되어 위치한 컴포넌트들일 수 있다. 상기 안테나는 예를 들면 GPS 패치 안테나 또는 헬리컬 안테나일 수 있다.
상기 기기 (200)는 가속도계 (206)를 더 포함하며, 이는 사용자의 가속도들을 x, y 및 z 방향으로 탐지하도록 배치된 3-축 가속도계일 수 있다. 상기 가속도계는 GPS 수신의 손실이 있다면 만보계 (pedometer)로서 행동할 수 있을 것이며 그리고 본 출원인의 공동-계속중인 2011년 3월 28일에 출원된 "GPS Odometer" 제목의 PCT 출원 PCT/EP2011/054686에서 설명된 시간에 있어서 특별한 순간에 착용자의 움직임 상태를 판별하기 위한 수단으로서 또한 행동할 수 있을 것이다. 비록 상기 가속도계가 상기 기기 내에 위치한 것으로 보이지만, 상기 가속도계는 사용자에 의해서 착용되거나 또는 운반되는 또한 외부 센서일 수 있으며, 그리고 전송기/수신기 (208)를 경유하여 상기 기기 (200)로 데이터를 전송한다.
상기 기기는 풋패드 센서 (222) 또는 심박수 센서 (226)과 같은 다른 센서들로부터 데이터를 또한 수신할 수 있다. 상기 풋패드 센서는, 예를 들면, 사용자 신발의 밑창 내에 또는 그 위에 위치한 압전 가속도계일 수 있다. 각 외부 센서가 전송기 및 수신기 (각각 224 및 228)에게 제공되며, 이는 전송기 수신기 (208)를 경유하여 상기 기기 (200)로 데이터를 송신하고 수신하기 위해서 사용될 수 있다.
상기 프로세서 (202)는 메모리 (220)와 작동적으로 연결된다. 상기 메모리 자원 (220)은, 예를 들면, 랜덤 엑세스 메모리 (RAM)와 같은 휘발성 메모리, 그리고/또는 예를 들면 디지털 메모리로서, 플래시 메모리와 같은 비-휘발성 메모리를 포함할 수 있을 것이다. 상기 메모리 자원 (220)은 탈부착 가능할 수 있다. 아래에서 더욱 상세하게 설명된 것처럼, 상기 메모리 자원 (220)은 이 센서들 및 기기들로부터 얻은 데이터를 저장하기 위해서 GPS 수신기 (204), 가속도계 (206) 그리고 전송기/수신기 (208)에 또한 작동적으로 연결된다
더욱이, 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 도 2에서 보이는 전자 컴포넌트들이 전통적인 방식으로 파워 서플라이 (218)에 의해서 전력을 공급받는다는 것을 이해할 것이다. 상기 파워 서플라이 (218)는 재충전 가능한 배터리일 수 있다.
상기 기기 (200)는 USB 커넥터와 같은 입력/출력 (I/O) 기기 (216)를 더 포함한다. 상기 I/O 기기 (216)는 상기 프로세서에 작동적으로 연결되며, 그리고 적어도 상기 메모리 (220) 그리고 파워 서플라이 (218)에 또한 연결된다. 상기 I/O 기기 (216)는, 예를 들면, 메모리 (220)에 저장된 데이터를 개인용 컴퓨터 또는 원격 서버와 같은 외부 컴퓨팅 자원으로 전달; 그리고 상기 기기 (200)의 파워 서플라이 (218)를 재충전하기 위해서 사용된다. 데이터는 다른 실시예들에서 어떤 적합한 모바일 원거리통신 수단을 이용하여 공중망을 통해서 상기 기기 (200)에 의해서 또한 송신되거나 수신될 수 있다.
본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자가 이해할 수 있는 것처럼, 도 2에서 보이는 컴포넌트들의 상기한 구성들은 본 출원의 범위 내에 있는 것으로 간주된다. 예를 들면, 도 2에서 보이는 컴포넌트들은 유선 그리고/또는 무선 연결들 등을 경유하여 서로 통신할 수 있을 것이다.
도 3은 상기 기기 (200)의 바람직한 실시예를 예시하며, 이 경우에 사익 기기 (200)는 시계 (300)의 모습으로 제공된다. 상기 시계 (300)는 하우징 (301)을 구비하며, 위에서 설명된 다양한 전자 컴포넌트들이 그 하우징 내에 포함된다. 두 개의 버튼들 (212)이 하우징 (301)의 측면 상에 제공되어, 사용자가, 예를 들면, 디스플레이 (210) 상에 보이는 메뉴 구조를 살펴보기 위해서 상기 기기에 데이터를 입력하도록 허용한다. 임의 개수의 버튼들, 또는 다른 유형의 입력 수단들이 원하는 대로 대안으로 사용될 수 있다.
상기 시계 (300)는 상기 기기를 사용자의 손목에 고정시키기 위한 스트랩 (302)을 구비한다. 스트랩 (302) 끝 부분에서 볼 수 있는 것처럼, 힌지 커버 (304)가 구비되며, 이는 도 3a에서 보이는 것처럼 들어올려질 수 있어서 USB 커넥터 (308)를 드러내게 한다. 상기 커넥터는 위에서 설명된 것처럼 전력 그리고/또는 데이터 전달을 위해서 어떤 적합한 USB 포트에 삽입될 수 있다.
상기 기기의 GPS 수신기 (204)는 위성 신호들을 수신하며, 그런 신호들을 수신할 수 있을 때에, 착용자에게 연관된 다양 개수의 정보를 표시한다. 예를 들면, 착용자의 현재의 위치 (경도 및 위도), 착용자의 속도 벡터, 착용자의 현재의 고도 등을 추정된 수평 및 수직 위치 오류와 같이 상기 위성 신호들의 "품질"을 나타내는 다른 데이터와 함께 표시한다. 보통은 이 정보는 1 Hz와 같이 차량 애플리케이션들과 정상적으로 연관된 레이트에서 수신될 것이다. 이 신호들은 인터페이스를 통해서 상기 프로세서 (202)로 지나간다. 상기 신호는, 예를 들면, 상기 신호들을 본 발명의 기술에서 살려진 것과 같은 사용할 수 있는 데이터로 변환하기 위해서, 선-처리될 수 있을 것이다.
유사하게, 상기 가속도계 (206)는 상기 사용자 그리고/또는 기기의 동적인 움직임에 관련된 데이터를 동시에 얻고 있다. 이 데이터는 3개의 수직의 축들, 예를 들면, x, y 및 x 축 각각을 따른 가속도의 측정치를 포함하는 것이 보통일 것이다.
충분한 개수의 위성들이 존재할 때에, 상기 사용자의 고도는 상기 GPS 수신기 (204)에 의해서 다시 제공된다
상기 만보계는 참조번호 206의 가속도계와 같은 가속도계 또는 참조번호 222의 풋패드 센서와 같은 풋패드 센서일 수 있다. 상기 기기가 그런 기기들 둘 모두에게 액세스한다면, 그러면 보통은 상기 풋패드 센서 (222)가 만보계로 사용되며, 이는 그것이 상기 가속도계 (206)보다 보통은 더 정밀할 것이기 때문이다.
인정될 것처럼, 상기 기기 (200)는 달리기 선수 또는 다른 운동 선수들이 달리기 또는 다른 유사한 유형의 운동을 착수할 때에 그들에 의해서 착용되도록 설계된다. GPS 수신기 (204) 그리고 가속도계 (206)와 같은 상기 기기 (200) 내의 다양한 센서들은 이동한 거리, 현재의 속력 등과 같이 달리기와 연관된 데이터를 수집하고, 그리고 디스플레이 스크린 (210)을 이용하여 이 데이터를 착용자에게 디스플레이한다.
도 4에서 상기 기기 (200)는 임의 개수의 상이한 배치들에 의해서 구현될 수 있는 일반적인 통신 채널 (410)을 경유하여 서버 (400)와 통신하는 것으로 도시된다. 상기 서버 (400) 그리고 기기 (200)는 그 서버 (400)와 상기 내비게이션 기기 (200) 사이의 접속이 설립될 때에 통신할 수 있다 (그런 접속은 모바일 기기를 경유한 데이터 접속, 인터넷을 경유하여 개인용 컴퓨터를 거친 직접 접속 등일 수 있다는 것에 유의한다).
상기 서버 (400)는 도시되지 않은 다른 컴포넌트들에 추가하여 프로세서 (404)를 포함하며, 이 프로세서는 메모리 (406)에 작동적으로 연결되며 그리고 유선의 또는 무선의 접속을 경유하여 대용량 데이터 저장 기기 (402)에 또한 작동적으로 연결된다. 상기 프로세서 (404)는 전송기 (408) 그리고 수신기 (409)에 또한 작동적으로 연결되어, 통신 채널 (410)을 경유하여 기기 (200)로 정보를 전송하고 기기 (200)로부터 정보를 송신한다. 송신되고 수신된 상기 신호들은 데이터, 통신, 그리고/또는 다른 전파된 신호들을 포함할 수 있다. 전송기 (408) 그리고 수신기 (409)의 기능들은 단일의 트랜시버로 결합될 수 있을 것이다.
상기 통신 채널 (410)은 특정 통신 기술로 제한되지 않는다. 추가로, 상기 통신 채널 (4100은 단일의 통신 기술로 제한되지 않는다; 즉, 상기 채널 (410)은 다양한 기술을 사용하는 여러 통신 링크들을 포함할 수 있을 것이다. 예를 들면, 상기 통신 채널 (410)은 전기적인, 광학의, 그리고/또는 전자기적인 통신들 등을 위한 경로를 제공하도록 적응될 수 있다. 그처럼, 상기 통신 채널 (410)은 다음의 것들 중 하나 또는 다음의 것들의 조합을 포함하지만, 그것들로 제한되지는 않는다: 전기 회로들, 와이어들 및 동축 케이블들과 같은 전기 도체들, 광섬유 케이블들, 컨버터들, 라디오-주파수 (RF) 파형들, 대기 (atmosphere), 빈 공간 등. 더욱이, 예를 들면, 상기 통신 채널 (410)은 라우터들, 리피터들, 버퍼들, 전송기들, 그리고 수신기들과 같은 중간 기기들을 포함할 수 있다.
하나의 예시적인 배치에서, 상기 통신 채널 (410)은 전화망 그리고 컴퓨터 네트워크를 포함한다. 더욱이, 상기 통신 채널 (410)은 라디오 주파수, 마이크로웨이브 주파수, 적외선 통신 등과 같은 무선 통신을 수용할 수 있을 것이다. 추가로, 상기 통신 채널 (410)은 위성 통신을 수용할 수 있다.
상기 서버 (400)는 무선 채널을 경유하여 상기 기기 (200)에 의해서 액세스 가능한 원격 서버일 수 있다. 상기 서버 (400)는 로컬 영역 네트워크 (LAN), 광역 네트워크 (WAN), 가상 사설망 (VPN) 등 상에 위치한 네트워크 서버를 포함할 수 있을 것이다.
상기 서버 (400)는 데스크 탑 또는 랩탑 컴퓨터와 같은 개인용 컴퓨터를 포함할 수 있을 것이며, 그리고 상기 통신 채널 (410)은 상기 개인용 컴퓨터와 상기 기기 (200) 사이에 연결된 케이블일 수 있다. 대안으로, 개인용 컴퓨터는 상기 기기 (200)와 상기 서버 (400) 사이에 연결되어, 상기 서버 (400)와 상기 기기 (200) 사이에 인터넷 접속을 설립할 수 있을 것이다. 대안으로, 인터넷을 경유하여 상기 기기 (200)를 상기 서버 (400)에 접속시키기 위해서, 모바일 전화기 또는 다른 핸드헬드 기기는 인터넷으로의 무선 접속을 설립할 수 있을 것이다.
상기 서버 (400)는 대용량 저장 기기 (402)에 더 연결된다 (또는 포함한다). 상기 대용량 저장 기기 (402)는 적어도 디지털 지도 정보를 저장한 것을 포함한다. 본 발명의 실시예들에서, 상기 GPS 수신기 (204)로부터 얻어진 타임-스탬프 로케이션 데이터 그리고 가속도계 (206), 풋패드 센서 (222) 등으로부터 얻어진 착용자의 움직임을 나타내는 데이터와 같은 상기 기기로부터의 데이터와 함께 이 디지털 지도 정보가 사용될 수 있어서, 상기 기기 (200)의 착용자가 이동한 루트를 판별하도록 하며, 이는 그 후에 상기 착용자가 볼 수 있다.
본 발명은 위에서 예시된 개인용 휴대용 트레이닝 기기 (200)와 같은 기기로부터 수신된 위치 데이터를 평탄화하는 방법들에 관한 것이다. 상기 데이터는 몇몇의 선-처리, 예를 들면, 상기 기기 (200)에 의한 칼만 (Kalman) 필터링을 받아야 할 수도 있고 받지 않을 수도 있을 것이다.
예를 들면, 트레이닝 달리기에 관련하여 데이터를 업로드하기 위해서 상기 기기는 위에서 설명된 방식들 중 어느 하나의 방식으로 사용자에 의해서 서버 (400)에 연결된다. 하나 또는 그 이상의 달리기들에 관련된 데이터가 어떤 주어진 시각에 업로드될 수 있을 것이지만, 설명을 쉽게 하기 위해서, 아래에서의 본 발명의 실시예들의 설명은 주어진 트레이닝 달리기에 관하여 만들어질 것이라는 것이 인정될 것이다. 상기 기기가 상기 서버에 적절하게 연결될 때에, GPS 수신기 (204)로부터 얻어진 타임 스탬프 GPS 위치 데이터는 상기 서버로 업로드된다. 그 위치 데이터에 추가로, 상기 달리기에 관련된 "사용자 움직임 데이터"로 언급될 수 있을 다른 데이터가 상기 위치 데이터에 연관하여 업로드된다.
그런 사용자 움직임 데이터는 상기 GPS 수신기 (204)로부터의 다른 데이터는 물론이며 상기 가속도계 (206) 그리고 풋패드 센서 (222) 중 하나 또는 둘 모두로부터의 데이터를 포함한다. 그래서, 예를 들면, 상기 데이터는 가속도계 데이터 (accelerometer data (ACC))를 포함한다. 상기 데이터는 GPS 수신기 (204)로부터 얻어지는 지상 속력 (speed over ground (SOG)), 또한 상기 GPS 수신기 (204)로부터 얻어지는 지상 코스 (course over ground (COG))를 포함한다. COG 데이터는 사용자의 움직이에 대한 방향 데이터를 효과적으로 제공한다. 상기 SOG 및 COG 데이터는 각각 도플러 속력 및 방향 데이터일 수 있다. 상기 데이터는 상기 가속도계 (206) 또는 더 바람직하게는 풋패드 센서 (22)로부터 얻어질 수 있는 만보계 데이터 (pedometer data (EMP))를 또한 포함한다. 추가로, 상기 사용자의 움직임에 관련된 다른 인간 몸체 동적인 데이터 (human body dynamic data (HUM))가 업로드될 수 있을 것이다. 그런 데이터는 상기 만보계 데이터와 유사할 것이며, 그리고 상기 사용자의 몸체 일부들의 움직임을 직접 측정한 센서 데이터로부터 얻어질 수 있을 것이다.
상기 사용자 움직임 데이터는 물론이며, 상기 업로드된 위치 데이터의 정밀도에 관한 데이터 역시 상기 서버로 업로드된다. 그런 데이터는 상기 GPS 수신기 (204)로부터 얻어질 수 있으며, 그리고 위성 신호 강도 (satellite signal strength (RSSI)) 그리고 추정된 수평 위치 오류 (estimated horizontal position error (EHPE)) 데이터를 포함할 수 있다.
상기 업로드된 GPS 위치 데이터는 미가공 (raw) 데이터일 수 있으며, 또는 예를 들면, 칼만 필터링을 겪는 데이터, 또는 업로드하기 이전에 상기 기기에 의해서 선-처리되는 데이터일 수 있다는 것이 인정될 것이다. 상기 데이터로부터 트레이닝 달리기 상에서 이동된 루트의 유용한 근사를 얻기 위해서, 상기 데이터의 평탄화를 수행하는 것이 필요하다. 이 목적을 위해서, 상기 서버 (400)의 프로세서 (404)는 사용자에게 디스플레이될 수 있을 이동된 상기 루트의 더욱 정밀한 또는 평탄화된 표현을 얻기 위해서 평탄화 연산을 수행하도록 배치된다. 본 발명의 상기 방법들은 상기 루트가 웹페이지를 경유하여 사용자에게 디스플레이되기 이전에 기기로부터 데이터가 수신될 때에 상기 서버에 의해서 구현될 수 있을 것이다. 그래서 사용자가 데이터를 보기 위해서 웹페이지로 업로드할 때에, 그 데이터는 먼저 평탄화 연산을 받게 된다.
도 5는 본 발명의 바람직한 실시예에 따라 평탄화 연산에서 메인 스테이지들을 도시한 블록 도면 모습이다.
첫 번째 스테이지 (500)에서, 상기 수신된 타임 스탬프 GPS 위치 데이터를 이용하여 상기 이동된 루트의 표현의 추정을 얻기 위해서 큐빅 스플라인 알고리즘이 사용된다. 상기 루트의 이 추정은 상기 루트의 2차원 또는 3차원 추정일 수 있으며, 그리고 큐빅 스플라인 커브의 모습이다. 상기 큐빅 스플라인 알고리즘은 당 기술 분야에서 알려진 임의의 큐빅 스플라인 커브 피팅 알고리즘일 수 있다. 상기 결과인 큐빅 스플라인 커브는 복수의 세그먼트들로부터 하나의 다른 세그먼트로 연결되어 형성되며, 그래서 상기 커브의 제1 도함수 및 제2 도함수가 연속이도록 한다. 상기 커브 세그먼트들은 "매듭"에서 하나의 다른 세그먼트로 결합된다. 상기 큐빅 스플라인 알고리즘의 모습에 따라서, 상기 커브의 형상은 상기 커브에서 떨어져서 위치할 제어 포인트들에 의해서 추가적으로 또는 대안으로 정의될 수 있을 것이다. 베지어 (Bezier) 큐빅 스플라인 알고리즘이 사용된다면, 그러면 상기 커브는 그렇게 정의될 것이다. 바람직한 실시예들에서, 상기 스플라인 알고리즘은 B-스플라인 알고리즘이다. 그 결과인 커브는 그러면 매듭들에 의해서 연결된 세그먼트드을 가질 것이며, 상기 커브는 그 커브 외에 위치한 제어 포인트들에 의해서 또한 정의된다. 상기 큐빅 스플라인 커브는 시간대에 있어서의 위치를 한정한다. 상기 커브의 매듭들 또는 제어 포인트들의 개수는 상기 초기 GPS 데이터 내의 포인트들의 개수보다 더 작을 것이다.
예시적인 일 실시예에서, 비록 큐빅 스플라인 함수가 선택된, 예를 들면, 포인트들 중에서 샘플링된 것들에만 적용될 수 있다고 해도, 상기 큐빅 스플라인 함수는 GPS 위치 데이터 포인트들 모두에 적용된다. 예시적인 일 실시예에서, 상기 스플라인 알고리즘은 상기 GPS 위치들 내의 위치 오류에 따라서 가중되었으며, 예를 들면, w(t) = 1 / max(1, EHPE(t))이다. 2차원 실시예들에 대한 상기 GPS 위치 데이터는 지리적인 각도들에서 경도 및 위도 좌표들의 모습이며, 미터법 시스템 상으로 처음에 투사되며, 각 차원에서의 위치는 주어진 원점으로부터 미터로 표시된 오프셋의 식으로 표현된다.
상기 평탄화 연산의 이 첫 번째 스테이지 (500)는 상기 GPS 위치 데이터 그리고 연관된 시간 데이터만을 이용하여 수행된다는 것이 인정될 것이다. 이동된 상기 루트의 초기의 추정을 제공하는 상기 큐빅 스플라인 커브가 일단 획득되면, 상기 평탄화 연산의 두 번째 스테이지에서 상기 추정된 커브는 개선 프로세스를 겪는다.
상기 개선 프로세스에서, 상기 큐빅 스플라인 커브, 즉, 초기 루트 근사는 상기 커브로 하여금 상기 이동된 루트에 더 잘 대응할 것 같은 형상 및/또는 위치에 우선적으로 합치하게 하도록 준비된 능동 윤곽선 프로세스를 겪는다. 상기 커브는 더 잘 대응할 것 같은 형상/위치를 향하여 이동되고 그리고/또는 덜 대응할 것 같은 형상들/위치들로부터 멀리 이동하도록 처리된다. 본 발명 기술분야에서 잘 알려진 것처럼, 능동 윤곽선 프로세스는 커브로 하여금 바람직한 형상/위치 (즉, 구성)로 더 가깝게 일치하도록 하는 방식을 제공한다. 이는 에너지 레벨들을 상기 커브의 상이한 잠재적인 위치들/형상들에 연관시킴으로써 달성되며, 이 경우에 더 높은 에너지가 덜 바람직한 위치들/형상들에 연관되며, 그리고 더 낮은 에너지가 더 바람직한 위치들/형상들에 연관된다. 상기 큐빅 스플라인과 연관된 에너지를 최소화함으로써, 상기 스플라인 커브는 상기 바람직한 프로파일에 더욱 가깝게 일치하도록 처리될 수 있을 것이다.
개선 프로세스 (502)에서, 상기 큐빅 스플라인 커브, 즉, 초기 루트 추정은 능동 외곽선 프로세스를 겪으며, 이 프로세스에서 상기 커브로 하여금 상기 이동된 루트에 더 잘 대응할 것 같은 형상/위치에 우선적으로 합치하도록 하기 위해서 적어도 상기 사용자 움직임 데이터 그리고/또는 상기 위치 데이터의 정밀도에 관한 데이터가 사용된다. 설명된 실시예에서, 상기 GPS 위치 데이터가 추가로 사용된다. 도 5의 스테이지 502에서 표시된 것처럼, 추가로 이력적인 루트 데이터 그리고 디지털 지도 데이터가 사용될 수 있을 것이다. 이 스테이지는 상기 개선 프로세스에서 사용될 수 있을 모든 팩터들을 나타낸다. 모든 실시예들에서 사용자 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터가 사용되며, 그리고 이 파라미터들을 기반으로 하는 상기 개선 프로세스의 실시예가 먼저 설명될 것이다.
다양한 유형들의 사용자 움직임 데이터가 이 프로세스에서 고려될 수 있다. 바람직한 실시예들에서, 적어도 상기 속도 (SOG) 및 방향 (COG) 데이터가 사용된다. 실시예들에서 추가 데이터는 가속도계 또는 만보계로부터의 가속도계 데이터 (ACC)의 모습으로 사용될 수 있다. 비록 4번째 위성 신호 강도 (RSSI)가 대안으로 또는 추가적으로 사용될 수 있을 것이지만, 위치 데이터 정밀도 정보를 위해서 EHPE 데이터가 바람직하게 사용된다. 최소로서, 상기 프로세스는 사용자 움직임 데이터만을 이용하여 수행될 수 있을 것이며, 그러면 바람직하게 속력 및 방향 데이터가 사용된다.
사용자 움직임 데이터, 위치 데이터 및 위치 데이터 정밀도 데이터를 이용한 개선 프로세스의 일 예가 도 6에서 보인다. 이 예시적인 실시예에서, 상이한 유형들의 사용자 움직임의 범위 그리고 위치 데이터 오류 정보가 사용된다. 그래서 상기 프로세스는 EHPE (estimated position error, 추정된 위치 오류); SOG; COG; ACC; 그리고 EMP의 입력들을 구비한 최적화 루프를 포함한다. ACC는 상기 가속도계의 주파수의 모습일 수 있다. 이 데이터 입력들은 단지 예시적인 것이며, 그리고 대안의 또는 추가적인 유형의 사용자 움직임 데이터 그리고/또는 위치 데이터 오류 정보를 고려하기 위해서 더 많은 또는 더 적은 입력들이 사용될 수 있을 것이라는 것이 인정될 것이다.
상기 데이터는 위에서 약술된 커브 형상 및/또는 위치에 대한 능동 외곽선 최적화 프로세스에서 사용된다. 상기 개선 프로세스 (502)에서, 상기 커브는 상기 수신된 사용자 움직임 그리고/또는 위치 데이터 오류 갑들 그리고 상기 큐빅 스플라인 커브로부터 유도될 수 있는 대응하는 값들 사이의 차이들을 최소화하는 형상 및/또는 위치에 일치하도록 된다. 이것은 에너지를 고려된 각 데이터 유형에 인가함으로써 달성되며, 상기 에너지는 상기 데이터의 수신된 값들 그리고 상기 커브로부터 얻을 수 있는 대응하는 값들 사이의 차이를 측정한 것이다. 그래서, 상기 수신된 값들에 더욱 가까운 유도된 값들의 결과가 되는 상기 커브의 위치들/형상들과 연관될 것보다 상기 대응하는 수신된, 즉, 측정된 값들과 더욱 상이한 커브로부터 유도될 수 있는 데이터의 값들의 결과가 되는 상기 커브의 위치들/형상들에 더 큰 에너지가 연관될 것이다. 이 방식에서, 커브와 연관된 에너지를 최소화함으로써, 상기 커브로부터 얻을 수 있는 데이터 유형들의 값들 그리고 실제로 수신된, 즉, 측정된 값들 사이의 차이를 최소화하는 상기 커브의 형상/위치가 발견된다. 이 프로세스는 그러므로 상기 커브로 하여금 취해진 실제의 루트에 더 가깝게 일치하게 하도록 처리하는 것으로 가정될 수 있을 것이다.
실시예들에서, 상기 능동 외곽선 프로세스에서 사용된 에너지 방정식은 고려된 각 데이터 유형에 대한 기여로 만들어지며, 각 데이터 유형에 대한 에너지 성분은 상기 커브로부터 결정될 수 있는 데이터의 값 그리고 상기 측정된/수신된 값 사이의 차이를 나타낸다. 예로서, 위치 데이터로부터의 기여들, 도플러 속력 그리고 방향 데이터를 고려한 에너지 방정식은 다음과 같다:
에너지 = kposition*Eposition + kdoppler*Edoppler + 기타
상기 에너지 방정식의 추가의 기여들은 다른 데이터 유형, 예를 들면, 가속도계 데이터, EHPE 데이터 등의 기여들을 위해서 포함될 수 있을 것이다.
상기 에너지 방정식의 각 성분은 상기 데이터의 수신된 값 또는 상기 수신된 데이터로부터 유도될 수 있는 값, 그리고 상기 결정된 큐빅 스플라인 커브에 의해서 표시된 대응 값 사이의 차이를 측정한 것을 기반으로 한다.
예로서, 상기 에너지 방정식은 상기 수신된 위치 데이터 그리고 상기 커브로부터 유도될 수 있는 데이터 사이의 차이에 의해서 결정된 기여를 포함한다. 이 위치 에너지 Eposition 는 상기 수신된 GPS 데이터 내에 존재하는 경도 및 위도 측정들이 대응하는 시각에 대해 대응하는 스플라인 x, y 위치로부터 얼마나 멀리 있는가를 측정한다. 상기 위치 에너지는 EHPE (보고된 위치 오류)를 참조함으로써 가중된다. 예로서, Eposition = sum_for_t (distance(spline(t), GPS_pos(t)) * w(t) )이며, 이 경우에 w(t) = 1 / max(1, EHPE(t)) 이다.
상이한 데이터 유형들에 대한 값들이 상기 스플라인 커브로부터 쉽게 결정될 수 있다는 것이 인정될 것이다. 예를 들면, 속력 및 방향은 시각에 대한 위치를 표시하는 스플라인으로부터 얻을 수 있는 벡터를 고려함으로써 결정될 수 있을 것이다. 그런 정보가 상기 커브로부터 얻어질 수 있는 방식 그리고 측정된 GPS 포인트가 도 7에 예시되며, 이는 벡터를 보여주며, 측정된, 즉, 수신된 GPS 데이터 포인트 A 그리고 커브 B 상의 대응 포인트 둘 모두에 대해서 상기 벡터로부터 SOG 그리고 COG가 유도될 수 있을 것이다. 대안으로, 상기 속력 그리고 헤딩 (heading)은 상기 스플라인 커브로부터 다른 방식들로, 예를 들면, 연속하는 초 (second)들에 대한 스플라인 위치들 사이의 델타를 고려함으로써 결정될 수 있을 것이다
고려될 수 있을 다른 유형들의 데이터는 이동된 거리 값을 포함한다. 이동된 거리는 상기 큐빅 스플라인 커브로부터, 델타 거리 (개별적인 로케이션들 사이의 거리를 합한 것임) 또는 "SOG" (개별 로케이션들 사이의 속도의 적분을 합한 것임)를 고려하는 것과 같은 어떤 적합한 기술을 이용하여 결정될 수 있을 것이다. 대응하는 측정된/수신된 거리 정보는 만보계 데이터 (EMPED)로부터 또는 수신된 GPS, 예를 들면, 위치 또는 SOG 데이터를 기반으로 한 유사한 계산으로부터 얻어질 수 있을 것이다. 유사하게, 다른 사람 몸체의 동적인 움직임 센서들로부터 얻어진 데이터는 만보계들과 유사하게, 그 커브로부터 유도될 수 있는 데이터와 비교될 수 있을 데이터의 다른 소스들을 제공한다.
아래에서 더욱 상세하게 설명되는 디지털 지도 데이터 또는 이력적인 루트 데이터를 상기 개선 프로세스가 이용하는 실시예들에서, 이 파라미터들에 관한 추가의 성분들이 도 8에서 보이는 것처럼 에너지 방정식에 또한 포함된다는 것이 인정될 것이다.
도 6에서 표시된 것처럼 사용자 움직임 데이터 그리고 위치 데이터 정밀 데이터를 이용하는 실시예로 돌아가면, 반복적인 프로세스에서 EHPE, SOG, COG, ACC 그리고 EMP로부터의 기여들을 고려하는 능동 외곽선 프로세스를 적용함으로써 상기 커브는 개선을 겪으며, 커브가 최적화된 것으로 간주될 때까지 최적화 루프를 통한 각 패스 이후에 새로운 커브 추정은 얻어진다. 상기 커브는 그러면 사용자에게 출력될 것이다.
위에서 언급된 것처럼, 상기 큐빅 스플라인 커브는, 보통은 매듭들에서 같이 결합되는 다중의 세그먼트들을 포함할 것이다. 능동 외곽선 프로세스의 한 구현에서, 주어진 매듭은 여러 상이한 위치들로 이동되며, 그리고 각 위치에 대해서 계산된 상기 매듭의 지역 내의 커브의 일부와 상기 너지가 연관된다. 상기 매듭이 이동되며, 그래서 상기 매듭의 지역 내의 상기 커브의 일부의 형상/위치는 변할 것이다. 상기 커브 일부에 대한 가장 낮은 에너지를 제공하는 상기 매듭의 위치는 그러면 발견되며, 그리고 상기 프로세스의 이 스테이지 (502)에 대한 상기 매듭의 개선된 또는 최적화된 위치인 것으로 취해진다.
일 예에서, 상기 능동 외곽선 프로세스의 특정한 구현은 다음의 단계들을 포함한다. 첫 번째 패스에서, 제1 반경의 원은 각 매듭 주변에서 정의되며 그리고 (비록 어떤 방향 그리고 어떤 개수의 방향들로 바랐던 대로 사용될 수 있지만) 상기 매듭은 0°, 45°, 90°, 135°, 180°, 225°, 270°, 315° 그리고 360°에서 상기 원의 가장자리로 이동되며, 상기 에너지는 각 위치에서 계산되며 그리고 상기 매듭은 가장 낮은 에너지 위치로 이동되며; 두 번째 패스에서, 그리고 이동되었던 그런 매듭들에 대해서만, 상기 프로세스는 제2의 더 작은 반경을 가진 원을 이용하여 반복된다. 상기 프로세스는 필요한만큼 감소하는 반경들을 이용하여 계속될 수 있다. 선택된 상기 반경들은 단순하게 미리 정의된 값들일 수 있으며 또는 전체 루트의 길이를 기반으로 할 수 있다.
다르게 제한되지 않는다면, 매듭을 이동시키는 것은 인접한 커브 부분들에 즉시 영향을 미치는 것만이 아니라, 문제의 매듭의 어느 한 측면 상의 매듭들의 위치들은 상기 커브의 길이의 의미있는 일부를 넘어서 상기 커브의 형상/위치에 영향을 미친다는 것이 인정될 것이다. 이 영향을 줄이기 위해서, 그리고 매듭을 이동시키는 영향을 국지화시키기 위해서, 실시예들에서 "베이스"는 큐빅 스플라인을 위해서 정의될 수 있을 것이며, 이는 매듭을 이동시키는 영향을 그 큐빅 스플라인 주위의 제한된 개수의 매듭들로, 예를 들면, 추가의 매듭들은 고정되어 있는 다음의 인접한 매듭들만으로 제한시킨다. 이는 각 매듭의 최적의 위치를, 또는 적어도 선택된 매듭들을 차례로 고려하여 상기 커브가 자신의 길이를 따라서 최적화되는 것을 허용하도록 하여, 상기 커브의 각 부분이 단 한번에 최적화되도록 한다.
최적화 프로세스가 매듭 단위를 기반으로 수행되는 경우에, 상기 커브와 연관된 에너지를 결정하기 위해서 상기 능동 외곽선 프로세스에서 사용된 데이터는, 즉, 문제의 매듭의 한 측면 상의 다음의 가장 가까운 인접 매듭들 사이에서 고려되고 있는 커브의 일부에 관련된 그 데이터일 것이며, 그리고 그 위치/형상이 최적화된 상기 커브의 일부는 상기 커브의 동일한 부분일 것이다.
상기 사용자 움직임 데이터, GPS 데이터 그리고 위치 데이터 정밀도 데이터를 기반으로 하여 위에서 설명된 상기 개선 프로세스는 어떤 내부의 파라미터들에 관하여 상기 커브를 효과적으로 최적화한다는 것이 인정될 것이다. 몇몇의 실시예들에서, 도 6을 참조하여 설명된 이 파라미터들에 관한 개선 이후에 상기 결과인 최적화된 커브는 사용자에게 디스플레이하기 위한 평탄화된 루트 근사로서 여겨질 수 있다.
바람직한 실시예들에서, 상기 커브는 외부적인 팩터들에 관해 추가의 개선을 겪는다. 그래서, 개선 스테이지 (502)는 이력적인 루트 데이터 그리고 디지털 지도 데이터 중 하나 또는 둘 모두를 더 고려할 수 있을 것이다.
이력적인 루트 정보가 상기 커브를 더 개선하기 위해서 사용되는 실시예들에서, 상기 커브는 이력적인 루트 정보를 고려함으로써 상기 이동된 루트에 대응할 것 같은 형상들/위치들에 더욱 가깝게 일치하도록 된다. 이는 도 8을 참조하여 설명된 것과 같은 상기 능동 외곽선 프로세스에서 에너지 성분들을 더 추가함으로써 달성될 수 있을 것이며, 추가로 상기 커브로 하여금 근접하여 설립된 공통으로 이동된 이력적인 루트에 더욱 가깝게 일치하도록 한다.
이 목적을 위해서, 이력적인 루트 데이터를 이용하는 실시예들에서, 상기 서버 (400)는 대용량 저장 기기 (402) 내에 이력적인 루트 정보를 저장한다. 상기 이력적인 루트 정보는 번들의 GPS 자취들의 모습이며, 이는 공통으로 취해진 경로들을 예시한다. 상기 GPS 자취들은 다른 개인용 휴대용 트레이닝 기기들로부터 업로드된 데이터로부터 얻어지며, 그러므로, 예를 들면, 달리는 사람들, 자전거 타는 사람들 등에 의해서 공통으로 취해진 경로들을 나타낸다. 그래서 결정될 상기 루트는 근방에서 발견된다면 그런 루트에 대응할 것 같다고 가정될 수 있다.
공통의 경로들 결정에 있어서 사용된 상기 경로들은 로컬 엔트로피로부터 계산될 수 있을 것이며 그리고 번들들의 벡터 또는 이미지로서 저장될 수 있을 것이다. 번들들은 주 단위를 기본으로 업데이트될 수 있을 것이다.
상기 능동 외곽선 프로세스에서, 상기 이력적인 루트 정보를 기반으로 결정된 공통적으로 취해진 루트에 대응하는 커브 또는 그 커브의 일부의 위치들에는 상대적으로 낮은 에너지가 할당된다. 이는 사용자 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터에 관해서 상기 커브를 개선하기 위해서 사용된 동일한 능동 외곽선 프로세스에서 실행될 수 있을 것이며, 상기 에너지 방정식에서 추가적인 구동기 (driver)를 제공한다. 이는 이력적인 루트들의 지리적인 위치를 아는 것을 이용하여 쉽게 달성될 수 있을 것이다. 이 방식에서, 상기 커브는 상기 이동된 루트(의 일부)를 형성할 수 있을 상기 이력적인 경로들을 향하여 "푸시"될 수 있을 것이다. 그러면 상대적으로 낮은 에너지 레벨들은 상기 이력적인 루트들의 위치에 대응하는 위치들에 할당될 수 있을 것이다. 이 방식에서, 상기 커브는 그런 더 낮은 에너지 위치들을 포함하거나 또는 그 에너지 위치들에 대응하는 위치들/형상들을 향하여 푸시될 수 있을 것이다. 이 프로세스는 각 매듭에 대해서 반복될 수 있을 것이다.
바람직한 실시예들에서 개선 단계 (502)는 디지털 지도 데이터를 또한 고려한다. 위에서 요약된 것처럼, 상기 서버 (400)는 대용량 데이터 저장 수단 (402)에 디지털 지도 데이터를 저장할 수 있을 것이다. 상기 이동된 루트가 놓여있는 지역의 디지털 지도는 상기 이동된 루트의 일부를 형성할 것 같지 않은 어떤 위치들을 표시할 것이라는 것이 인정될 것이다. 예를 들면, 이것들은 물줄기들, 기차 궤도들, 자동차 도로들, 빌딩의 족문 등과 같은 어떤 지도 특징들에 대응하는 위치들을 포함할 수 있다. 더 일반적으로는, 그런 지역들은 보행자들이 지나갈 수 없는 영역들로 언급될 수 있을 것이다. 반대로, 어떤 위치들은 이동된 루트의 일부를 형성할 것 같은, 예를 들면, 공원으로 드러날 수 있을 것이다.
디지털 지도 데이터를 고려한 개선에서, 능동 외곽선 프로세스에서 사용하기 위한 에너지 값들은 디지털 지도와 연관된다. 상기 에너지 값들은 어떤 위치들이, 예를 들면, 지리적인 특징들이 이동된 루트의 일부를 형성할 것인가의 가능성을 나타낸다. 그래서 이동된 루트의 일부를 형성할 것 같지 않은 지리적인 특징들에는 상대적으로 높은 에너지가 할당되며, 그리고 루트의 일부를 형성할 것 같은 지리적인 특징들에는 상대적으로 낮은 에너지가 할당된다. 상기 프로세스가 상기 지도에 의해서 표현된 특징들에 상대적으로 낮은 에너지 레벨들을 또는 높은 에너지 레벨들을 할당하는 것만을 포함하여, 에너지 레벨들이 할당되지 않은 주변 영역들에 비교하여 에너지 레벨들이 상대적으로 낮거나 또는 높도록 한다는 것이 인정될 것이다. 그런 기술들은, 예를 들면, 빌딩 족문들 그리고 다른 관련된 지도 특징들의 위치를 이미 표시하는 현존하는 지도 데이터를 이용하여 쉽게 구현될 수 있을 것이다. 이 스테이지에서 사용되기 위한 에너지 정보는 상기 서버 (400)에 의해서 디지털 지도 데이터와 연관하여, 예를 들면, 대용량 데이터 저장 수단 (402)에 저장될 수 있다.
큐빅 스플라인 커브의 에너지를 최소화하기 위해서 상기 큐빅 스플라인 커브 상에 능동 외곽선 프로세스가 수행될 때에, 상기 커브는 낮은 에너지 위치들로 향하여 이동하도록 그리고/또는 높은 에너지 위치들로부터 멀어지도록 이동하도록 되어서, 상기 커브로 하여금 상기 디지털 지도 데이터를 기반으로 하여 상기 이동된 루트의 일부를 더 형성할 것 같은 위치들/형상들에 일치하도록 한다. 예를 들어 루트가 빌딩을 통해서 지나가는 경우에 그 루트가 보행자가 취한 루트의 일부를 형성할 수 있기 때문에 이 기술은 빌딩을 통해서 지나가는 것을 방해하지 않으며, 그러나, GPS의 부정확함이 빌딩 족문 내에 있는 위치 데이터를 제공하는 경우에 빌딩으로부터 떨어져서 이동하는 것을 도울 것이라는 점에서 이 기술은 유리하다. 이 것은 사용자 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터에 관하여 상기 커브를 개선하기 위해서 사용된 동일한 능동 외곽선 프로세스에서 수행될 수 있을 것이며, 상기 에너지 방정식에서 추가의 구동기를 제공한다.
상기 평탄화 연산은 적어도 사용자 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터를 이용한 개선을 포함한다는 것이 인정될 것이다. 그것은 상기 이력적인 루트 데이터 그리고 디지털 지도 데이터를 이용한 개선을 추가로 포함할 수 있을 것이다. 개선 동안에 고려된 각 추가의 팩터는 추가의 프로세싱 자원들 그리고 프로세싱 시간을 필요로 할 것이라는 것이 인정될 것이다. 개선의 레벨은 주어진 환경 그리고 어떤 프로세싱 제한들에 대해 바랐던 대로 선택될 수 있을 것이다. 이력적인 루트 데이터 또는 디지털 지도 데이터에 관하여 개선이 추가로 실행되는 경우에, 이것은 상기 커브를 사용자 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터와 관련하여 개선하기 위해서 사용된 것과 동일한 스테이지에서 수행되는 것이 유리하며, 그리고 가장 바람직한 것은 능동 외곽선 프로세스에서 수행되는 것이다.
이력적인 루트 데이터 그리고 디지털 지도 데이터에 관한 개선은 도 6에서 보이는 상기 능동 윤곽선 프로세스에 두 개의 추가의 입력들을 더함으로써 구현된다. 이 추가의 스테이지들을 포함한 그런 프로세스의 일 예는 도 8에서 도시된다. 상기 이력적인 루트 정보, 예를 들면, 클러스터 및 지도 데이터가 상기 능동 외곽선 프로세스에서 추가의 구동기들을 제공하기 위해서 설명된 것처럼 사용될 수 있을 프로세스에 두 개의 추가 입력들을 제공한다는 것이 보일 것이다. 그런 추가의 입력들은, 위에서 설명된 내부 팩터들로부터의 결과인 성분들을 또한 포함하는 에너지 방정식에 추가의 성분들을 더한다. 대안으로 이것들을 단일의 에너지 방정식으로의 입력으로서 사용하기 보다는 상기 능동 외곽선 프로세스는 추가의 팩터들에 관하여 이어지는 스테이지 또는 스테이지들에서 수행될 수 있을 것이라는 것이 상상된다.
어떤 개선이든지 상기 커브가 주어진 응용에 대해서 "최적화"된 것으로 간주되기 위해서 필요하여 일단 상기 커브가 개선을 겪게 되면, 그것은 도 5에서 단계 504에서 루트의 더욱 정밀한 표현 또는 평탄화된 루트로서 출력된다. 실시예들에서, 상기 서버 (400)는 상기 루트로 하여금 상기 지역의 디지털 지도 상에 중첩된 사용자에게 디스플레이되도록 한다. 이것은 웹 페이지를 경유하여 수행될 수 있을 것이다. 상기 디지털 지도 데이터는 상기 서버의 대용량 데이터 저장 수단 (402)으로부터 얻어질 수 있을 것이다. 상기 루트 근사는 위에서 설명된 이력적인 루트 정보를 얻기 위한 번들링 프로세스에서 사용될 서버에 의해서 또한 저장될 수 있을 것이다.
상기 루트가 사용자에게 디스플레이될 때에, 디지털 지도가 그 루트 아래에 디스플레이되는 것이 바람직하며, 이는 그 루트를 따라서 고도에 있어서의 변화들을 보여준다. 이 고도 정보는 수신된 GPS 고도 데이터에 대응할 수 있으며 또는 3차원으로 결정되었던 평탄화된 루트 근사로부터 얻어진 평탄화된 데이터일 수 있다. 가장 바람직하게는 두 값들을 혼합하는 것은 어느 하나의 데이터 집합에서의 부정확함들의 영향을 줄이기 위해서 사용된다.
사용자 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터를 이용하여 커브의 개선을 수행하기보다는, 그런 개선은 사용자 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터가 아닌 이력적인 루트 데이터 그리고/또는 디지털 지도 데이터를 이용하여 수행될 수 있을 것이라는 것이 상상된다. 이것은 능동 외곽선 프로세스를 이용하지만, 사용자 움직임 데이터 그리고/또는 위치 데이터 정밀도 데이터를 기반으로 하는 입력들은 없이, 여기에서 설명된 실시예들과 유사한 방식으로 달성될 수 있을 것이다.
본 발명의 다양한 모습들 그리고 실시예들이 이전에 설명되었지만, 본 발명의 범위는 여기에서 제시된 특별한 배치들로 제한되지 않으며 그리고 대신에 첨부된 청구항들의 범위 내에 있는 모든 배치들, 그리고 그것에 대한 수정들 및 변경들을 모두 포함하도록 확장된다는 것이 또한 인정될 것이다.
예를 들면, 앞에서의 상세한 설명에서 기술된 실시예들이 GPS를 언급하지만, 상기 내비게이션 기기 그리고 시스템은 GPS에 대안으로서 (또는 실제로는 추가하여) 임의 유형의 위치 감지 기술을 활용할 수 있을 것이라는 것에 유의해야만 한다. 예를 들면, 상기 내비게이션 기기는 유럽 갈릴레오 시스템과 같은 다른 글로벌 내비게이션 위성 시스템들을 활용할 수 있을 것이다. 동동하게, 본 발명은 위성-기반 시스템들로 제한되지 않으며, 그라운드-기반의 비컨들 또는 상기 기기가 자신의 지리적인 로케이션을 판별하는 것을 가능하게 하는 다른 유형의 시스템들을 이용하여 쉽게 기능하도록 할 수 있다.
상기 바람직한 실시예가 소프트웨어의 의해 어떤 기능성을 구현하지만, 그 기능성이 하드웨어만으로 단독으로 (예를 들면, 하나 또는 그 이상의 SIC 들 (주문자 특정 집적 회로 (application specific integrated circuit))에 의해서) 또는 하드웨어와 소프트웨어의 혼합에 의해서 실제로 동등하게 구현될 수 있을 것이라는 것을 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 또한 잘 이해할 것이다.
마지막으로, 첨부된 청구항들이 여기에서 설명된 특징들의 특정 조합들을 제시하지만, 본 발명의 범위는 나중에 청구된 그런 특정 조합들로 한정되지 않으며, 대신에, 그 특정 조합이 이 시점에서 동반된 청구항들에서 특별하게 열거되었는지 또는 열거되지 않았는지의 여부에 관계없이 여기에서 개시된 특징들 또는 실시예들의 임의 조합들을 포함하기 위해서 확장된다.

Claims (17)

  1. 루트 (route)를 따라서 이동할 때에 복수의 시각 (time)들에서 사용자의 위치에 관한 위치 데이터를 수신하는 단계;
    상기 루트를 따라서 이동할 때에 복수의 시각들에서 상기 사용자의 움직임에 관한 사용자 움직임 데이터를 수신하는 단계; 그리고
    상기 위치 데이터에 평탄화 (smoothing) 연산을 수행하여, 이동된 상기 루트의 더욱 정밀한 표현을 생성하는 단계를 포함하며,
    상기 평탄화 연산은:
    상기 수신된 위치 데이터에 스플라인 (spline) 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 단계; 그리고
    상기 수신된 사용자 움직임 데이터를 이용하여 상기 추정된 표현을 개선하는 단계를 포함하는, 이동 루트 표현 생성 방법.
  2. 제1항에 있어서,
    상기 루트의 추정된 표현을 개선하는 상기 단계는:
    (i) 상기 수신된 위치 데이터; (ii) 상기 수신된 위치 데이터의 정밀도에 관한 데이터; (iii) 상기 사용자 그리고/또는 다른 사용자들에 의해 이동되었던 이전의 루트들을 나타내는 이력적인 (historical) 루트 데이터; 그리고 (iv) 빌딩 족문 (footprint) 또는 물줄기와 같은 디지털 지도 데이터; 중에서 적어도 하나를 추가적으로 이용하는, 이동 루트 표현 생성 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 루트의 추정된 표현을 개선하는 상기 단계는 상기 스플라인 커브에 능동 윤곽선 (active contour) 모델을 적용하는 것을 포함하는, 이동 루트 표현 생성 방법.
  4. 제3항에 있어서,
    상기 루트의 추정된 표현을 개선하는 상기 단계는 능동 외곽선 프로세스에서 상기 루트의 상기 추정된 표현과 연관된 에너지를 최소화하거나 줄이는 것을 포함하며,
    상기 에너지는 상기 수신한 사용자 움직임 데이터와 상기 스플라인 커브로부터 유도된 대응 데이터 사이의 차이를 측정한 것인, 이동 루트 표현 생성 방법.
  5. 제3항 또는 제4항에 있어서,
    상기 루트의 추정된 표현을 개선하는 상기 단계는 상기 사용자 그리고/또는 다른 사용자들에 의해 이동되었던 이전의 루트들을 나타내는 이력적인 루트 데이터를 추가로 사용하며, 그리고
    상기 에너지는 상기 스플라인 커브의 적어도 일부에 관련된 이력적인 루트의 일부의 위치에 의해서 추가로 영향을 받는, 이동 루트 표현 생성 방법.
  6. 제5항에 있어서,
    상기 루트의 추정된 표현을 개선하는 상기 단계는 상기 스플라인 커브를 수정하는 것을 포함하여, 이동한 상기 실제의 루트를 나타낼 더 높은 확률을 가지는 형상 및/또는 위치에 더욱 가깝게 우선적으로 대응하도록 하며,
    이동한 실제의 루트를 나타낼 더 높은 확률을 가지는 상기 형상 및/또는 위치는 이력적인 루트의 일부에 적어도 부분적으로 대응하는 형상 및/또는 위치인, 이동 루트 표현 생성 방법.
  7. 제3항 내지 제6항 중 어느 한 항에 있어서,
    상기 루트의 추정된 표현을 개선하는 상기 단계는 디지털 지도 데이터를 추가로 사용하며, 그리고
    상기 에너지는 상기 스플라인 커브의 적어도 일부에 관련된 상기 디지털 지도에 의해서 표현된 어떤 지리적인 특징들의 위치에 의해서 추가로 영향을 받는, 이동 루트 표현 생성 방법.
  8. 제3항에 있어서,
    상기 루트의 추정된 표현을 개선하는 상기 단계는 상기 스플라인 커브를 수정하는 것을 포함하여, (i) 이동한 상기 실제의 루트를 나타낼 더 높은 확률을 가지는 형상 및/또는 위치에 더욱 가깝게; 그리고/또는 (ii) 이동한 상기 실제의 루트를 나타낼 더 낮은 확률을 가지는 형상 및/또는 위치에 덜 가깝게; 우선적으로 합치하도록 하며,
    상기 형상 및/또는 위치는 상기 디지털 지도에 의해서 표현된 지리적인 특징들을 적어도 부분적으로 기반으로 하여 판별되는, 이동 루트 표현 생성 방법.
  9. 이전 항들 중 어느 한 항에 있어서,
    상기 수신된 사용자 움직임 데이터는 하나 이상의 속도 및 방향 데이터를 포함하는, 이동 루트 표현 생성 방법.
  10. 루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 단계;
    위성 신호 강도 정보 및/또는 예상된 위치 오류들과 같은, 상기 수신한 데이터의 정밀도에 관한 데이터를 수신하는 단계; 그리고
    상기 위치 데이터에 평탄화 (smoothing) 연산을 수행하여, 이동된 상기 루트의 더욱 정밀한 표현을 생성하는 단계를 포함하며,
    상기 평탄화 연산은:
    상기 수신된 위치 데이터에 스플라인 (spline) 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 단계; 그리고
    상기 수신된 위치 데이터의 정밀도에 관한 상기 데이터를 이용하여 상기 루트의 상기 추정된 표현을 개선하는 단계를 포함하는, 이동 루트 표현 생성 방법.
  11. 루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 단계; 그리고
    상기 위치 데이터에 평탄화 연산을 수행하여, 이동된 상기 루트의 더욱 정밀한 표현을 생성하는 단계를 포함하며,
    상기 평탄화 연산은:
    상기 수신된 위치 데이터에 스플라인 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 단계; 그리고
    상기 사용자 그리고/또는 다른 사용자들에 의해서 이동된 이전의 루트들을 나타내는 저장된 이력적인 루트 데이터를 이용하여 상기 루트의 상기 추정된 표현을 개선하는 단계를 포함하는, 이동 루트 표현 생성 방법.
  12. 루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 단계; 그리고
    상기 위치 데이터에 평탄화 연산을 수행하여, 이동된 상기 루트의 더욱 정밀한 표현을 생성하는 단계를 포함하며,
    상기 평탄화 연산은:
    상기 수신된 위치 데이터에 스플라인 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는 단계; 그리고
    빌딩 족문 (footprint) 또는 물줄기와 같은 저장된 디지털 지도 데이터를 이용하여 상기 루트의 상기 추정된 표현을 개선하는 단계를 포함하는, 이동 루트 표현 생성 방법.
  13. 이전 항들 중 어느 한 항에 있어서,
    상기 위치 데이터는 사용자가 수송하고, 운반하고 또는 휴대하도록 준비된 휴대용 트레이닝 기기의 로케이션 판별 및 추적 수단으로부터 수신되며, 그리고
    상기 로케이션 판별 및 추적 수단은 글로벌 내비게이션 위성 시스템 (global navigation satellite systems (GNSS)) 수신기를 포함하는, 이동 루트 표현 생성 방법.
  14. 이전 항들 중 어느 한 항에 있어서,
    상기 루트의 상기 더욱 정밀한 표현이, 바람직하게는 웹 페이지를 경유하여, 디지털 지도 상에서 사용자에게 디스플레이되도록 하는 단계를 더 포함하는, 이동 루트 표현 생성 방법.
  15. 루트를 따라서 이동할 때에 복수의 시각들에서 사용자의 위치에 관한 위치 데이터를 수신하는 수단; 그리고
    이동된 상기 루트의 더욱 정밀한 표현을 생성하기 위해서 상기 위치 데이터에 평탄화 연산을 수행하는 수단을 포함하며,
    상기 평탄화 연산을 수행하는 상기 수단은:
    상기 수신된 위치 데이터에 스플라인 알고리즘을 적용하여 상기 루트의 추정된 표현을 스플라인 커브의 모습으로 획득하는, 수단; 그리고
    (i) 상기 루트를 따라서 이동할 때에 복수의 시각들에서 상기 사용자의 움직임에 관련된 사용자 움직임 데이터; (ii) 상기 수신된 위치 데이터의 정밀도에 관한 데이터; (iii) 상기 사용자 그리고/또는 다른 사용자들에 의해 이동되었던 이전의 루트들을 나타내는 이력적인 루트 데이터; 그리고 (iv) 빌딩 족문 (footprint) 또는 물줄기와 같은 디지털 지도 데이터; 중에서 적어도 하나를 추가적으로 이용하여 상기 루트의 상기 추정된 표현을 개선하는 수단을 포함하는, 이동 루트 표현 생성 시스템.
  16. 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램 코드 수단은 상기 프로그램이 컴퓨터 상에서 실행될 때에 제1항 내지 제14항 중 어느 한 항의 방법을 수행하도록 적응된, 컴퓨터 프로그램.
  17. 제16항에 있어서,
    컴퓨터 독출가능 매체 상에, 옵션으로 비-일시적인 컴퓨터 독출가능 매체 상에서 구체화된 컴퓨터 프로그램.
KR1020147009737A 2011-09-13 2012-09-13 루트 평탄화 KR102111104B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11461537.0 2011-09-13
EP11461537.0A EP2570771B1 (en) 2011-09-13 2011-09-13 Route smoothing
PCT/EP2012/067896 WO2013037860A1 (en) 2011-09-13 2012-09-13 Route smoothing

Publications (2)

Publication Number Publication Date
KR20140089516A true KR20140089516A (ko) 2014-07-15
KR102111104B1 KR102111104B1 (ko) 2020-05-15

Family

ID=46880696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147009737A KR102111104B1 (ko) 2011-09-13 2012-09-13 루트 평탄화

Country Status (6)

Country Link
US (1) US9891059B2 (ko)
EP (1) EP2570771B1 (ko)
JP (1) JP6363504B2 (ko)
KR (1) KR102111104B1 (ko)
CN (1) CN103975223B (ko)
WO (1) WO2013037860A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210117053A (ko) 2020-03-18 2021-09-28 엘지전자 주식회사 스마트 유모차 및 그 제어 방법
WO2022255556A1 (ko) * 2021-06-04 2022-12-08 쿠팡 주식회사 음식 배달을 위한 정보를 처리하는 전자 장치 및 그 방법

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9664518B2 (en) 2010-08-27 2017-05-30 Strava, Inc. Method and system for comparing performance statistics with respect to location
US9291713B2 (en) 2011-03-31 2016-03-22 Strava, Inc. Providing real-time segment performance information
US8996301B2 (en) * 2012-03-12 2015-03-31 Strava, Inc. Segment validation
KR101460975B1 (ko) * 2013-05-31 2014-11-14 현대엠엔소프트 주식회사 경로안내 장치, 서버 및 경로안내 방법
EP2843364B1 (en) * 2013-08-30 2019-10-23 The Boeing Company Method and system for estimating aircraft course
US9749803B2 (en) 2013-09-10 2017-08-29 Apple Inc. Path determination based on application usage
JP6050490B2 (ja) * 2013-12-13 2016-12-21 ▲華▼▲為▼終端有限公司Huawei Device Co., Ltd. データ伝送デバイス及びデータ伝送システム
US9250080B2 (en) * 2014-01-16 2016-02-02 Qualcomm Incorporated Sensor assisted validation and usage of map information as navigation measurements
US9913100B2 (en) 2014-05-30 2018-03-06 Apple Inc. Techniques for generating maps of venues including buildings and floors
GB2526806A (en) * 2014-06-03 2015-12-09 Here Global Bv Trail interpolation
GB201415731D0 (en) * 2014-09-05 2014-10-22 Tom Tom Int Bv Methods and systems for generating flow data
US10028084B2 (en) 2015-02-10 2018-07-17 Qualcomm Incorporated Adaptive position indicator
TWI557421B (zh) * 2015-04-21 2016-11-11 金寶電子工業股份有限公司 定位輔助方法及其電子移動裝置
EP3289587A2 (en) 2015-04-29 2018-03-07 TomTom International B.V. Data processing systems
US9968025B2 (en) 2016-01-14 2018-05-15 CNH Industrial American LLC System and method for generating and implementing an end-of-row turn path
US10145691B2 (en) * 2016-05-18 2018-12-04 Here Global B.V. Ambiguity map match rating
JP6660595B2 (ja) * 2016-06-07 2020-03-11 パナソニックIpマネジメント株式会社 駐車空間探索装置、プログラムおよび記録媒体
WO2018083152A1 (en) 2016-11-02 2018-05-11 Tomtom International B.V. Creating a digital media file with highlights of multiple media files relating to a same period of time
CN107659430B (zh) * 2017-08-14 2019-03-19 北京三快在线科技有限公司 一种节点处理方法、装置、电子设备和计算机存储介质
CN110865398B (zh) 2018-08-27 2022-03-22 腾讯大地通途(北京)科技有限公司 定位数据的处理方法及处理装置、终端设备和存储介质
CN110017840B (zh) * 2019-04-16 2022-03-18 阿波罗智联(北京)科技有限公司 导航数据的处理方法和装置、电子设备、计算机可读介质
CN110595475A (zh) * 2019-08-16 2019-12-20 中国第一汽车股份有限公司 循迹路径的拟合方法、装置、智能汽车和存储介质
US11719541B2 (en) * 2019-11-13 2023-08-08 Aclima Inc. Hyper-local mapping of environmental conditions
TWI731634B (zh) * 2020-03-25 2021-06-21 緯創資通股份有限公司 移動路徑判斷方法及無線定位裝置
CN111693059B (zh) * 2020-05-28 2022-10-11 阿波罗智联(北京)科技有限公司 环岛的导航方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001108457A (ja) * 1999-10-13 2001-04-20 Toyota Motor Corp 位置検出装置及び記録媒体
JP2005283575A (ja) * 2004-03-05 2005-10-13 Matsushita Electric Ind Co Ltd 移動先予測装置および移動先予測方法
JP2007333652A (ja) * 2006-06-16 2007-12-27 Toyota Motor Corp 測位装置、ナビゲーションシステム
KR20100128478A (ko) * 2009-05-28 2010-12-08 삼성전자주식회사 단말기 헤딩 정보를 이용한 보행자 항법 장치 및 방법
JP2011512520A (ja) * 2008-01-25 2011-04-21 ガーミン スウィッツァランド ゲーエムベーハー 位置ソース選択

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0785288A (ja) * 1993-09-16 1995-03-31 Nippon Telegr & Teleph Corp <Ntt> 輪郭抽出処理方法
US6345232B1 (en) * 1997-04-10 2002-02-05 Urban H. D. Lynch Determining aircraft position and attitude using GPS position data
JP3508619B2 (ja) * 1999-05-13 2004-03-22 株式会社デンソー 車両用ナビゲーション装置
JP3671795B2 (ja) * 2000-01-26 2005-07-13 松下電工株式会社 通報システム
US8073565B2 (en) * 2000-06-07 2011-12-06 Apple Inc. System and method for alerting a first mobile data processing system nearby a second mobile data processing system
US20040046692A1 (en) * 2002-09-05 2004-03-11 Robson Jack D. Physical training system
WO2006060518A2 (en) * 2004-11-30 2006-06-08 Circumnav Networks, Inc. Methods for deducing road geometry and connectivity
US7822546B2 (en) * 2006-09-05 2010-10-26 Garmin Switzerland Gmbh Travel guide and schedule-based routing device and method
US20080082254A1 (en) 2006-10-02 2008-04-03 Yka Huhtala Route-assisted GPS location sensing via mobile device
JP5347292B2 (ja) * 2007-08-10 2013-11-20 トヨタ自動車株式会社 車両の走行表示装置、車両の走行表示方法およびその走行表示方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体
ES2419256T3 (es) * 2008-12-29 2013-08-20 Tomtom International B.V. Dispositivo y método de navegación
US8775063B2 (en) * 2009-01-26 2014-07-08 GM Global Technology Operations LLC System and method of lane path estimation using sensor fusion
US20110241935A1 (en) * 2009-03-23 2011-10-06 Srdjan Miocinovic Method and apparatus for improving gps receiver accuracy using an embedded map database
US8977489B2 (en) 2009-05-18 2015-03-10 GM Global Technology Operations LLC Turn by turn graphical navigation on full windshield head-up display
EP2264485A1 (en) * 2009-06-04 2010-12-22 Tracedge Method for analysing moving object continuous trajectory based on sampled GPS position
US8812232B2 (en) * 2009-06-22 2014-08-19 Nokia Corporation Method and apparatus for reducing energy consumption of a user equipment
WO2012045484A1 (en) * 2010-10-04 2012-04-12 Tomtom International B.V. Gps-calibrated pedometer
TW201215906A (en) * 2010-10-04 2012-04-16 Tomtom Asia Inc GPS-calibrated pedometer
US9742432B2 (en) * 2010-12-31 2017-08-22 Tomtom International B.V. Accelerometer data compression
US8718858B2 (en) * 2011-03-28 2014-05-06 Khaled Abdullah M. Al-Mahnna GPS navigation system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001108457A (ja) * 1999-10-13 2001-04-20 Toyota Motor Corp 位置検出装置及び記録媒体
JP2005283575A (ja) * 2004-03-05 2005-10-13 Matsushita Electric Ind Co Ltd 移動先予測装置および移動先予測方法
JP2007333652A (ja) * 2006-06-16 2007-12-27 Toyota Motor Corp 測位装置、ナビゲーションシステム
JP2011512520A (ja) * 2008-01-25 2011-04-21 ガーミン スウィッツァランド ゲーエムベーハー 位置ソース選択
KR20100128478A (ko) * 2009-05-28 2010-12-08 삼성전자주식회사 단말기 헤딩 정보를 이용한 보행자 항법 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210117053A (ko) 2020-03-18 2021-09-28 엘지전자 주식회사 스마트 유모차 및 그 제어 방법
WO2022255556A1 (ko) * 2021-06-04 2022-12-08 쿠팡 주식회사 음식 배달을 위한 정보를 처리하는 전자 장치 및 그 방법
KR20220164263A (ko) * 2021-06-04 2022-12-13 쿠팡 주식회사 음식 배달을 위한 정보를 처리하는 전자 장치 및 그 방법

Also Published As

Publication number Publication date
EP2570771A1 (en) 2013-03-20
JP6363504B2 (ja) 2018-07-25
KR102111104B1 (ko) 2020-05-15
CN103975223B (zh) 2018-01-19
JP2014527176A (ja) 2014-10-09
CN103975223A (zh) 2014-08-06
US20140350850A1 (en) 2014-11-27
US9891059B2 (en) 2018-02-13
EP2570771B1 (en) 2017-05-17
WO2013037860A1 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
KR102111104B1 (ko) 루트 평탄화
US20130196688A1 (en) Gps odometer
US9651387B2 (en) Portable navigation system
JP6573156B2 (ja) データ解析装置及びデータ解析方法、データ解析プログラム
US20110250937A1 (en) Race participant tracking via wireless positioning technology and near real time reporting of location and pertinent race metrics to the participant and optionally to other individuals or publication on the internet
US9835457B2 (en) Rock climbing navigational watch
WO2012045484A1 (en) Gps-calibrated pedometer
US11743687B2 (en) Method and system for determining and tracking an indoor position of an object
WO2015035501A1 (en) System and method for enhanced integrated navigation with wireless angle of arrival
CN113325455B (zh) 用于跟踪和确定物体的室内位置的方法和系统
GB2567889A (en) Method and system for determining a direction of movement of an object
US20210306811A1 (en) Method and system for determining a direction of movement of an object
GB2567887A (en) Method and system for tracking and determining a position of an object
FI127640B (en) Method and system for determining the direction of movement of an object
FI127639B (en) Method and arrangement for tracking and determining position of an object
US20160227366A1 (en) System and method for enhanced integrated navigation with wireless angle of arrival
CA2691171C (en) Portable navigation system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right