KR102255455B1 - 지도 데이터로부터 지도 화면을 렌더링하는 방법 및 이를 수행하는 데이터 처리 장치 - Google Patents

지도 데이터로부터 지도 화면을 렌더링하는 방법 및 이를 수행하는 데이터 처리 장치 Download PDF

Info

Publication number
KR102255455B1
KR102255455B1 KR1020190143549A KR20190143549A KR102255455B1 KR 102255455 B1 KR102255455 B1 KR 102255455B1 KR 1020190143549 A KR1020190143549 A KR 1020190143549A KR 20190143549 A KR20190143549 A KR 20190143549A KR 102255455 B1 KR102255455 B1 KR 102255455B1
Authority
KR
South Korea
Prior art keywords
road segment
data processing
rendering
moving means
predicted
Prior art date
Application number
KR1020190143549A
Other languages
English (en)
Other versions
KR20210056740A (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 KR1020190143549A priority Critical patent/KR102255455B1/ko
Priority to EP20185568.1A priority patent/EP3819595B1/en
Publication of KR20210056740A publication Critical patent/KR20210056740A/ko
Application granted granted Critical
Publication of KR102255455B1 publication Critical patent/KR102255455B1/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/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/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • 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/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/3676Overview of the route on the road map
    • 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/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • 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/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3889Transmission of selected map data, e.g. depending on route
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/0969Systems involving transmission of navigation instructions to the vehicle having a display in the form of a map
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/10Road Vehicles
    • B60Y2200/12Motorcycles, Trikes; Quads; Scooters

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Navigation (AREA)

Abstract

이동 수단이 주행할 것으로 예상되는 예상 경로에 대한 지도 화면을 사전에 렌더링하여 이를 디스플레이 장치로 제공하기 위한 방법 및 이를 수행하는 데이터 처리 장치가 개시된다. 본 발명의 일 측면에 따르면, 지도 데이터로부터 지도 화면을 렌더링하는 방법으로서, (a) 데이터 처리 시스템이, 복수의 도로 세그먼트 정보를 포함하는 지도 데이터를 획득하는 단계 (b) 상기 데이터 처리 시스템이, 상기 이동 수단이 향후 주행할 것으로 예상되는 예상 주행 경로에 대한 지도화면의 사전 렌더링 과정을 수행할지 여부를 결정하는 단계 (c) 상기 데이터 처리 시스템이, 사전 렌더링 과정을 수행하지 않는 것으로 결정한 경우, 상기 이동 수단의 현재 위치에 상응하는 지도 화면을 렌더링하여 디스플레이 장치로 제공하는 단계 (d) 상기 데이터 처리 시스템이, 사전 렌더링 과정을 수행하는 것으로 결정한 경우, 상기 이동 수단의 예상 주행 경로를 특정하는 과정 및 특정한 상기 예상 주행 경로 대한 지도화면의 사전 렌더링 과정을 수행하는 단계 (e) 상기 이동 수단의 예상 주행 경로에 대한 지도화면의 사전 렌더링 과정이 수행된 후, 상기 데이터 처리 시스템이, 소정의 사전 렌더링 화면 제공 조건이 만족하는 동안 사전 렌더링된 상기 이동 수단의 예상 주행 경로에 대한 지도화면 중 상기 이동 수단의 현재 위치에 상응하는 부분을 상기 디스플레이 장치로 제공하는 단계 및 (f) 상기 (b) 단계 내지 상기 (e) 단계를 반복 수행하는 단계를 포함하는 방법이 제공된다.

Description

지도 데이터로부터 지도 화면을 렌더링하는 방법 및 이를 수행하는 데이터 처리 장치{Method for rendering map screen from map data and data processing apparatus performing the same}
본 발명은 이동 수단에 설치되는 데이터 처리 장치가 수행하는 지도 데이터로부터 지도 화면을 렌더링 하는 방법 및 이를 수행하는 데이터 처리 장치에 관한 것이다. 보다 상세하게는 이동 수단이 주행할 것으로 예상되는 예상 경로에 대한 지도 화면을 사전에 렌더링하여 이를 디스플레이 장치로 제공하기 위한 방법 및 이를 수행하는 데이터 처리 장치에 관한 것이다.
최근 바이크(bike) 시장이 고급화됨에 따라, 자전거 등 이동수단에 부착되어 여러 가지 편의 기능을 제공하는 바이크 컴퓨터에 대한 수요가 늘어가고 있다. 바이크 컴퓨터는 속력 등 라이딩에 관한 각종 정보를 수집, 계산하여 화면에 보여주는 전자기기를 의미한다. 최근 바이크 컴퓨터에는 라이더에게 현재 위치나 목적지까지의 경로를 안내하는 네비게이션 기능이 탑재되는 것이 일반적이다.
한편, 일반적으로 네비게이션 시스템은 GPS(Global Positioning System)에 속하는 복수의 인공위성이 송신하는 신호와 자이로(gyro) 및 속도센서 등과 같은 센서들의 검출신호들을 이용하여 현재 주행중인 이동 수단의 현재 위치를 산출하고, 산출된 이동 수단의 현재 위치를 디지털 지도 데이터에 일치시킨 후 그 현재위치로부터 목적지까지의 주행경로를 탐색하여 이동 수단의 주행을 안내하는 기능을 제공하고 있으며, 이동 수단의 위치 및 경로를 지도 화면상에 동시에 표시하게 되며, 사용자에게 제공되는 지도 화면은 통상적으로 실시간으로 생성되어 디스플레이되는 것이 일반적이다.
대한민국 공개공보 제10-2016-0002105호
본 발명이 해결하고자 하는 과제는 이동 수단이 향후 주행할 것으로 예상되는 예상 경로에 대한 지도 화면을 미리 렌더링하여 이를 디스플레이 장치로 제공하기 위한 방법 및 이를 수행하는 데이터 처리 장치를 제공하는 것이다.
본 발명의 일 측면에 따르면, 지도 데이터로부터 지도 화면을 렌더링하는 방법으로서, (a) 데이터 처리 시스템이, 복수의 도로 세그먼트 정보를 포함하는 지도 데이터를 획득하는 단계; (b) 상기 데이터 처리 시스템이, 상기 이동 수단이 향후 주행할 것으로 예상되는 예상 주행 경로에 대한 지도화면의 사전 렌더링 과정을 수행할지 여부를 결정하는 단계; (c) 상기 데이터 처리 시스템이, 사전 렌더링 과정을 수행하지 않는 것으로 결정한 경우, 상기 이동 수단의 현재 위치에 상응하는 지도 화면을 렌더링하여 디스플레이 장치로 제공하는 단계; (d) 상기 데이터 처리 시스템이, 사전 렌더링 과정을 수행하는 것으로 결정한 경우, 상기 이동 수단의 예상 주행 경로를 특정하는 과정 및 특정한 상기 예상 주행 경로 대한 지도화면의 사전 렌더링 과정을 수행하는 단계; (e) 상기 이동 수단의 예상 주행 경로에 대한 지도화면의 사전 렌더링 과정이 수행된 후, 상기 데이터 처리 시스템이, 소정의 사전 렌더링 화면 제공 조건이 만족하는 동안 사전 렌더링된 상기 이동 수단의 예상 주행 경로에 대한 지도화면 중 상기 이동 수단의 현재 위치에 상응하는 부분을 상기 디스플레이 장치로 제공하는 단계; 및 (f) 상기 (b) 단계 내지 상기 (e) 단계를 반복 수행하는 단계를 포함하는 방법이 제공된다.
일 실시예에서, 상기 (b) 단계는, 상기 이동 수단의 위치 정보에 기초하여 상기 이동 수단이 현재 주행 중인 주행 도로 세그먼트를 특정하는 단계; 및 상기 이동 수단의 진행 방향과 상기 주행 도로 세그먼트의 각도가 일정 크기 이하인 경우 사전 렌더링 과정을 수행하는 것으로 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 이동 수단의 주행 예상 경로를 특정하는 과정은, (d1) 예상 도로 세그먼트 리스트를 초기화하는 단계; (d2) 상기 이동 수단의 주행 도로 세그먼트를 예상 도로 세그먼트 리스트에 최초로 추가하는 단계-여기서, 상기 주행 도로 세그먼트는, 상기 이동 수단의 위치 정보에 기초하여 특정되는 상기 이동 수단이 현재 주행 중인 도로 세그먼트임; (d3) 가장 최근에 상기 예상 도로 세그먼트 리스트에 추가된 최신 도로 세그먼트와 연결된 도로 세그먼트 중 상기 예상 도로 세그먼트에 최초로 추가된 최초 도로 세그먼트와의 각도가 일정 크기 이하이고, 상기 최초 도로 세그먼트와의 거리가 일정 크기 이하인 후보 세그먼트를 선택하는 단계; (d4) 선택된 후보 세그먼트가 존재하는 경우, 선택된 후보 세그먼트 중 어느 하나를 상기 예상 도로 세그먼트 리스트에 추가하는 단계; 및 (d5) 후보 세그먼트가 하나도 선택되지 않은 때까지, 상기 (d3) 단계 및 상기 (d4) 단계를 반복 수행하는 단계를 포함할 수 있다.
일 실시예에서, 상기 (d4) 단계는, 선택된 후보 세그먼트 중 상기 예상 도로 세그먼트 리스트에 최초로 추가된 최초 도로 세그먼트와의 각도가 최소인 것을 상기 예상 도로 세그먼트 리스트에 추가하는 단계; 선택된 후보 세그먼트 중 가장 최근에 상기 예상 도로 세그먼트 리스트에 추가된 도로 세그먼트와의 각도가 최소인 것을 상기 예상 도로 세그먼트 리스트에 추가하는 단계; 또는 선택된 후보 세그먼트 중 소정의 선정 서버에서 선정한 것을 상기 예상 도로 세그먼트 리스트에 추가하는 단계-여기서, 상기 선정 서버는, 복수의 도로 세그먼트 중 어느 하나의 선정을 요청 받는 경우, 소정의 측정 기간 동안 가장 많은 이동 수단이 주행한 것으로 판단한 것을 선정함-를 포함할 수 있다;
일 실시예에서, 상기 (e) 단계는, (e1) 상기 사전 렌더링 화면 제공 조건이 만족하는지 여부를 판단하는 단계; (e2) 상기 사전 렌더링 화면 제공 조건이 만족하는 경우 상기 이동 수단의 예상 주행 경로에 대한 지도화면 중 상기 이동 수단의 현재 위치에 상응하는 부분을 상기 디스플레이 장치로 제공하는 단계; 및 (e3) 상기 사전 렌더링 화면 제공 조건이 만족하지 않을 때까지 상기 (e1) 단계 및 상기 (e2) 단계를 반복 수행하는 단계를 포함하되, 상기 (e1) 단계는, 상기 이동 수단의 위치에 기초하여 상기 이동 수단이 주행 중인 도로 세그먼트가 상기 예상 도로 세그먼트 리스트 내의 도로 세그먼트 중 어느 하나인지 여부를 판단하고, 판단 결과 그렇지 않은 경우 상기 사전 렌더링 화면 제공 조건이 만족되지 않는 것으로 판단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 (e1) 단계는, 상기 이동 수단의 진행 방향과 상기 이동 수단이 주행 중인 도로 세그먼트와의 각도가 일정 크기 이상인 경우 상기 사전 렌더링 화면 제공 조건이 만족되지 않는 것으로 판단하는 단계를 더 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 데이터 처리장치에 설치되며 상술한 방법을 수행하기 위하여 기록매체에 저장된 컴퓨터 프로그램이 제공된다.
본 발명의 다른 일 측면에 따르면, 데이터 처리 시스템으로서, 프로세서; 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 데이터 처리 시스템이, 상술한 방법을 수행하도록 하는 데이터 처리 시스템이 제공된다.
본 발명의 일 실시예에 의하면, 이동 수단이 주행할 것으로 예상되는 예상 경로에 대한 지도 화면을 사전에 렌더링하여 이를 디스플레이 장치로 제공하기 위한 방법 및 이를 수행하는 데이터 처리 장치를 제공할 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템의 구동 환경을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 처리 시스템이 수행하는 지도 화면 렌더링 방법의 전체 과정을 도시한 흐름도이다.
도 3은 도 2의 S110 단계를 보다 상세하게 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 도로판단함수를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 지도 화면의 일 예를 도시한 도면이다.
도 6는 도 2의 S140 단계의 일 예를 나타내는 흐름도이다.
도 7은 예상 주행 경로 특정 방법이 수행되기 전의 상황을 도시한 도면이다.
도 8a 내지 도 8f는 예상 주행 경로 특정 방법이 수행되는 동안의 상황을 도시한 도면이다.
도 9는 도 2의 S160 단계의 일 예를 보다 구체적으로 도시한 흐름도이다.
도 10은 사전 렌더링 화면 제공 조건의 만족 여부를 설명하기 위한 도면이다.
도 11은 사전 렌더링의 개념을 보다 상세하게 설명하기 위한 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
본 발명의 일 실시예에 따른 지도 데이터로부터 지도 화면을 렌더링하는 방법(이하, '지도 화면 렌더링 방법'이라고 함)은 데이터 처리 시스템에 의해 수행될 수 있다. 도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템(100)의 구동 환경을 나타내는 블록도이다.
상기 데이터 처리 시스템(100)은 정보처리장치이거나, 정보처리장치 및 상기 정보처리장치에 설치되는 소프트웨어의 결합의 형태일 수 있다.
일 실시예에서, 상기 데이터 처리 시스템(100)은 독립된 장치일 수 있다. 예를 들어 상기 데이터 처리 시스템(100)은 스마트폰, 태블릿 PC와 같은 모바일 기기일 수 있다.
다른 일 실시예에서, 상기 데이터 처리 시스템(100)은 도 1에 도시된 바와 같이, 소정의 모(母) 시스템(10)에 탑재되는 서브 시스템일 수 있다. 예를 들어 상기 데이터 처리 시스템(100)은 스마트폰, 태블릿 PC와 같은 모바일 기기에 탑재되는 서브 시스템일 수 있다. 또는 상기 데이터 처리 시스템(100)은 바이크 컴퓨터 혹은 바이크 컴퓨터에 탑재되는 서브 시스템일 수 있다.
이 경우 상기 모 시스템(10)은 위치, 속도 및/또는 진행방향을 측정할 수 있는 측정장치(210) 및/또는 지도DB(220220)를 포함할 수 있으며, 상기 데이터 처리 시스템(100)은 이들로부터 본 발명의 기술적 사상에 필요한 각종 정보, 데이터, 신호를 수신할 수 있으며, 필요에 따라 이들을 제어할 수도 있다.
다른 일 실시예에서, 상기 데이터 처리 시스템(100)은 스마트폰, 태블릿 PC와 같은 모바일 기기와 통신을 수행하며 본 발명의 기술적 사상을 수행할 수도 있다. 예를 들어 상기 데이터 처리 시스템(100)은 모바일 기기로부터 지도 데이터를 수신할 수 있다.
상기 데이터 처리 시스템(100) 또는 모 시스템(예를 들어 모바일 기기; 10)는 이동수단에 설치될 수 있다. 이동수단은 자전거, 오토바이, 전동 휠, 세그웨이, 차량, 킥보드 등일 수 있다. 다만 이는 예시일 뿐이며 속력 및 이동거리가 측정될 수 있는 이동 가능한 어떠한 수단도 본 발명의 기술적 사상이 적용될 수 있는 이동수단이 될 수 있다. 예를 들어 이동 수단은 신발일 수 있다.
상기 데이터 처리 시스템(100) 또는 모 시스템(10)은 이동 수단에 설치되는 장치(예를 들면, 바이크 컴퓨터)일 수도 있으나, 이에 한정되는 것은 아니며 상기 데이터 처리 시스템(100) 또는 모 시스템(10)은 이동 수단의 탑승자가 소지하고 있는 장치(예를 들면 모바일 기기)일 수 있다.
상기 데이터 처리 시스템(100)은 본 발명의 기술적 사상에 따른 지도 화면 렌더링 방법을 수행하기 위하여, 지도 정보와 이동 수단의 위치 정보, 이동 방향 정보 및/또는 속도 정보를 획득할 수 있다.
일 실시예에서, 상기 데이터 처리 시스템(100)은 상기 측정장치(210)로부터 이동 수단의 위치 정보 및 진행 방향 정보를 획득할 수 있다. 실시예에 따라 상기 측정장치(210)는 GNSS 장치, IMU(Inertial Measurement Unit) 및/또는 속력 센서를 포함할 수 있으나 반드시 이에 본 발명의 기술적 사상이 이에 한정되는 것은 아니다.
일 실시예에서, 상기 데이터 처리 시스템(100)은 IMU 및 속력 센서를 통해 획득한 정보로부터 이동 수단의 위치 정보 및 진행 방향 정보를 산출할 수 있으며, 경우에 따라서는 GNSS 장치, IMU 및 속력 센서를 통해 획득한 정보로부터 이동 수단의 위치 정보 및 진행 방향 정보를 산출할 수도 있다.
또한, 상기 데이터 처리 시스템(100)은 도 1에 도시된 바와 같이 지도 DB(220)로부터 지도 데이터를 획득할 수 있다. 실시예에 따라, 상기 데이터 처리 시스템(100)은 유무선 네트워크(예를 들면, 인터넷)을 통해 연결된 소정의 지도 DB 서버(미도시)로부터 지도 데이터를 획득할 수도 있으며, 이 경우 후술할 지도 DB(220)는 상기 모 시스템(10)이 아니라 상기 지도 DB 서버 상에 존재할 수 있다.
한편, 상기 측정장치(210)에 포함될 수 있는 GNSS 장치는 GNSS 위성이 발신하는 신호를 수신하는 장치일 수 있다. GNSS는 인공위성을 이용해 위치를 결정할 수 있게 하는 체계를 의미하며, 예를 들어, 미국의 GPS(Global Positioning System), 러시아의 GLONASS(GLObal Navigation Satellite System), EU의 갈릴레오, 중국의 BeiDu-2, 일본의 QZSS 등을 포함할 수 있다. 상기 GNSS 장치는 GNSS 위성으로부터 수신한 신호를 통하여 GNSS 장치 혹은 상기 GNSS 장치를 탑재하고 있는 장치의 위치, 속도 및/또는 진행 방향을 산출할 수 있다.
상기 측정 장치(210)에 포함될 수 있는 IMU는 관성력을 측정하는 장치 혹은 기체(body)의 기울어짐에 관한 정보를 측정할 수 있는 장치로서, 중력을 측정하는 가속력 센서와 각가속도를 측정하는 자이로 센서를 포함할 수 있다. 경우에 따라서는 지자기 센서를 더 포함할 수도 있다.
상기 측정 장치(210)에 포함될 수 있는 속력 센서는 상기 속력 센서 혹은 상기 속력 센서를 탑재하고 있는 장치의 속력을 측정하는 센서일 수 있다. 혹은 속력 센서는 속력을 산출하기 위한 데이터를 측정할 수 있는 센서일 수 있다. 예를 들어, 상기 속력 센서는 이동수단의 바퀴의 회전 수를 측정하는 센서(예를 들어 타코미터)일 수 있다. 또는 상기 속력 센서는 이동 거리를 측정하는 센서일 수 있다. 이 경우 측정 시간 동안의 이동 거리를 측정 시간으로 나눔으로써 속력이 구해질 수 있다.
상기 지도 DB(220)는 지도 데이터를 저장하는 수단(예를 들어, 메모리 장치)일 수 있다. 지도 데이터는 지도 상의 도로 정보를 포함할 수 있다. 예를 들어 지도 데이터는 지도 상에 위치하는 도로의 길이이나 폭에 대한 정보, 도로의 명칭 혹은 식별 정보, 도로 간의 연결 관계에 관한 정보, 및/또는 도로의 위치와 형태를 정의할 수 있는 기타의 정보를 포함할 수 있다. 또한 상기 지도 데이터는 건물이나 시설에 관한 정보, POI(Point of Interest)에 관한 정보 등을 더 포함할 수도 있다. 도로는 상기 데이터 처리 시스템(100) 혹은 모 시스템(10)이 설치되어 있는 이동 수단에 따라 달라질 수 있다. 이동 수단이 자동차인 경우 도로는 자동차가 통과할 수 있는 도로일 수 있다. 만약 이동 수단이 자전거인 경우 도로는 자전거 도로를 더 포함할 수도 있다.
특히 상기 지도 DB(220)는 도로 세그먼트의 형태로 구성된 지도 데이터를 저장할 수 있다. 도로 세그먼트는 연결된 두 지점간의 직선 혹은 곡선일 수 있다. 도로 세그먼트의 개념은 도 7에 도시된 예에서 확인할 수 있다. 도 7에서 볼 수 있는 바와 같이, 도로는 서로 연결된 도로 세그먼트로 구성된 도로 네트워크의 형태로 표현될 수 있다. 중간에 교차로가 없으며 일직선으로 뻗은 도로는 하나의 도로 세그먼트로 표현될 수도 있으며, 여러 개의 도로 세그먼트가 연결된 형태로 표현될 수도 있다.
한편 상기 데이터 처리 시스템(100)은 지도 데이터로부터 지도 화면을 렌더링하고 이를 디스플레이 장치(20)로 제공할 수 있다. 디스플레이 장치(20)는 지도 화면을 출력할 수 있는 디스플레이 수단을 구비한 장치일 수 있다. 예를 들어, 디스플레이 장치(20)는 액정디스플레이(LCD), 발광 다이오드(LED) 디스플레이, OLED 디스플레이를 구비할 수 있으며, 실시예에 따라 상기 디스플레이 장치(20)는 디스플레이 수단을 포함하고 있는 컴퓨팅 장치(예를 들면, 바이크 컴퓨터)일 수 있다.
상기 데이터 처리 시스템(100) 및 상기 디스플레이 장치(20)는 무선 네트워크를 통해 연결될 수 있다. 예를 들어, 상기 상기 데이터 처리 시스템(100) 및 상기 디스플레이 장치(20)는 블루투스, 근거리 무선 통신(NFC), WIFI, ZigBee 등을 통해 연결되어 통신을 수행할 수 있다. 다만 이에 한정되는 것은 아니며, 실시예에 따라서, 상기 데이터 처리 시스템(100) 또는 모 시스템(10)은 상기 디스플레이 장치(20)와 물리적인 커넥터를 통해 연결될 수도 있다.
실시예에 따라서, 상기 디스플레이 장치(20)는 상기 모 시스템(10) 또는 상기 데이터 처리 시스템(100)에 포함되는 형태로 구현될 수도 있다.
도 1에 도시된 바와 같이 상기 데이터 처리 시스템(100)은 소정의 모 시스템(10)에 포함되는 서브 시스템의 형태로 구현될 수 있다. 상기 모 시스템(10)은 모바일 기기일 수 있으나 이에 한정되는 것은 아니며, 프로세서 및 메모리를 포함하는 컴퓨팅 시스템일 수 있다. 일 실시예에서, 상기 모 시스템(10)은 GNSS 장치, IMU(220), 속력센서(230) 및/또는 지도 DB(220)를 포함할 수 있다.
한편, 실시예에 따라서 상기 데이터 처리 시스템(100)은 도 1과 달리 독립된 시스템일 수도 있다. 또한 도 1에서는 측정장치(210), 지도 DB(220)가 모 시스템(10)에 포함되는 실시예에 대하여 도시하고 있으나, 실시예에 따라서 측정장치(210) 및 지도 DB(220) 중 적어도 일부는 상기 데이터 처리 시스템(100)에 포함될 수도 있다. 또한 측정장치(210), 지도 DB(220) 중 적어도 일부가 상기 모 시스템(10)의 외부에 위치하는 실시예도 있을 수 있음은 물론이다.
이하에서는 도 2 내지 도 6를 참조하여 지도 화면 렌더링 방법에 대하여 설명하기로 한다. 도 2는 본 발명의 일 실시예에 따른 데이터 처리 시스템(100)이 수행하는 지도 화면 렌더링 방법의 전체 과정을 도시한 흐름도이다.
도 2를 참조하면, 데이터 처리 시스템(100)은 지도 데이터를 획득할 수 있다(S100). 데이터는 복수의 도로 세그먼트 정보를 포함할 수 있다.
상기 데이터 처리 시스템(100)은 지도 데이터 전체를 획득하거나 지도 데이터의 일부를 획득할 수 있다. 후자의 경우 상기 데이터 처리 시스템(100)은 이동 수단의 현재 위치로부터 일정 범위 내의 지도 데이터를 획득할 수 있다. 지도 데이터는 도로 정보를 포함할 수 있으며, 각 도로는 도로 세그먼트로 구성될 수 있다.
도로 데이터 내의 도로 세그먼트는 전체적으로 연결 그래프를 구성할 수 있다.
도 7은 이동 수단의 현재 위치로부터 일정 범위 내의 지도 데이터에 포함된 도로 세그먼트를 도시한 도면이다. 도 7에는 도로 세그먼트 및 이동 수단의 현재 위치 및 진행 방향이 표시되어 있다. 도 7에서 흰색 원 은 도로 세그먼트의 노드를 의미하며 각 도로 세그먼트는 두 노드를 연결하는 점선 으로 표현되어 있다. 한편, 도 7에서 이동 수단의 현재 위치 및 진행 방향은 검은색 원과 화살표 로 표시되어 있다.
한편, 도 7을 비롯하여 본 명세서 및 도면에서는 도로 세그먼트가 방향이 없는 것으로 도시하고 있으나 이는 도면 표현의 편의를 위한 것이며, 각 도로 세그먼트는 방향을 가질 수 있다. 이 경우, 도로 세그먼트가 도면 상에서 하나의 선으로 표현될지라도 해당 도로 세그먼트가 쌍방 도로의 적어도 일부라면 해당 쌍방 도로 세그먼트는 실제로는 서로 반대되는 두 방향의 도로 세그먼트를 모두 포함하는 것으로 이해하여야 한다. 예를 들어 도 7에서 도로 세그먼트 [a1-a2]는 방향이 없는 것으로 표현되고 있으나, 이는 실제로는 단방향 도로 세그먼트 [a1→a2] 및 단방향 도로 세그먼트 [a1←a2]를 모두 포함하는 것으로 이해하여야 한다. 물론 일방 도로의 적어도 일부를 구성하는 도로 세그먼트의 경우에는 하나의 단방향 도로 세그먼트로 보아야 할 것이다.
상기 데이터 처리 시스템(100)은, 도 2에 도시된 바와 같이, 다른 단계가 수행되기 전에 지도 데이터를 획득할 수 있으나, 이에 한정되는 것은 아니며, 지도 화면 렌더링 방법이 수행되는 중간 단계에서도 필요에 따라 제한 없이 지도 데이터를 획득할 수 있음은 물론이다.
한편 상기 데이터 처리 시스템(100)은 사전 렌더링 과정을 수행할지 여부를 결정할 수 있다(S110). 상기 사전 렌더링 과정은 이동 수단이 향후 주행할 것으로 예상되는 예상 주행 경로를 특정하고, 특정된 예상 주행 경로에 대한 지도화면을 미리 렌더링하는 과정일 수 있으며, 이에 대하여는 후술하기로 한다.
도 3은 도 2의 S110 단계를 보다 상세하게 도시한 흐름도이다.
도 3을 참조하면, 상기 데이터 처리 시스템(100)은 이동 수단의 위치 정보를 획득하고, 상기 이동 수단의 진행 방향 정보를 획득할 수 있다(S111, S112). 예를 들어, 상기 데이터 처리 시스템(100)은 상기 측정장치(210)로부터 이동 수단의 위치 정보 및 진행 방향 정보를 획득할 수 있다.
이후 상기 데이터 처리 시스템(100)은 상기 이동 수단이 현재 주행중인 주행 도로 세그먼트를 특정할 수 있다(S113).
일 실시예에서, 상기 데이터 처리 시스템(100)은 지도 데이터 상의 각 도로 세그먼트와 상기 이동 수단의 현재 위치를 비교하여, 상기 이동 수단의 현재 위치와 가장 가까운 도로 세그먼트를 주행 도로 세그먼트로 결정할 수 있다.
다른 일 실시예에서, 상기 데이터 처리 시스템(100)은 주행 도로 세그먼트를 특정하기 위하여, 상기 이동수단의 위치와 지도 데이터 상의 각 도로 세그먼트의 위치, 상기 이동수단의 진행방향과 지도 데이터 상의 각 도로 세그먼트의 진행방향을 비교할 수 있다. 예를 들어, 상기 데이터 처리 시스템(100)은 상기 지도 데이터 혹은 지도 데이터 상의 도로 세그먼트 정보, 상기 이동수단의 위치 정보 및 진행방향 정보를 파라미터로 입력받아 상기 이동 수단이 특정 도로 세그먼트 상에 위치하고 있는지 여부를 판단하는 소정의 함수(이하, '도로세그먼트판단함수 F'라고 함)를 이용할 수 있다. 상기 도로세그먼트판단함수 F의 일 예를 설명하기 위하여 도 4를 참조한다. 도 4에 도시된 바와 같이, 도로 세그먼트(R)과 이동수단(B)간의 최단 거리를 d라고 하고, 도로(R)의 진행방향과 이동수단(B)의 진행 방향 간의 차이를 ㆈ라고 하면, 본 발명의 일 실시예에 따른 도로세그먼트판단함수 F는 d와 ㆈ를 이용하여 정의되는 함수일 수 있다.
상기 데이터 처리 시스템(100)은 지도 데이터 상의 각 도로 세그먼트 혹은 상기 이동 수단의 주변 일정 범위 내의 각 도로 세그먼트에 대한 F 값을 산출하여 이동수단이 위치하고 있는 주행 도로 세그먼트를 특정할 수 있다. 예를 들어, 상기 상기 데이터 처리 시스템(100)은 F 값이 소정의 임계치 이하인 도로 세그먼트가 발견된 경우 해당 도로 세그먼트 중 F 값이 가장 작은 도로 세그먼트를 상기 이동수단이 주행중인 도로 세그먼트라고 판단할 수 있다. 혹은 상기 데이터 처리 시스템(100)은 F 값이 최소인 도로 세그먼트를 상기 이동수단이 주행 중인 도로 세그먼트라고 임시 판단하고, 일정 횟수 혹은 일정 기간 동안 연속적으로 해당 도로 세그먼트에 위치하고 있는 것이라고 임시 판단된 경우 해당 도로 세그먼트를 상기 이동수단이 주행 중인 도로라고 확정할 수 있다.
한편, 주행 도로를 판단함에 있어, 상기 이동 수단의 속도가 더 고려될 수도 있다. 예를 들어, 상기 이동 수단의 속도가 일정 수치 이상인 경우에만 주행 도로 세그먼트가 확정되도록 구현될 수 있다.
상술한 내용은 주행 중인 도로 세그먼트의 확정 방법의 개념을 이해하기 쉽도록 설명된 것에 불과하며, 이 외에도 상기 데이터 처리 시스템(100)이 상기 이동수단이 주행 중인 도로 세그먼트를 특정하는 방법은 다양할 수 있다.
한편 상기 데이터 처리 장치(100)는 주행 도로 세그먼트가 특정된 후, 상기 이동 수단의 진행 방향과 상기 주행 도로 세그먼트의 각도가 일정 크기 이하인지 여부를 판단하고, 판단 결과 일정 크기(소정의 임계 각도) 이하인 경우 사전 렌더링 과정을 수행하는 것으로 결정할 수 있으며(S114), 만약 상기 데이터 처리 장치(100)는 상기 이동 수단의 진행 방향과 상기 주행 도로 세그먼트의 각도가 일정 크기(상기 임계 각도) 이상인 경우 사전 렌더링 과정을 수행하지 않는 것으로 결정할 수 있다.
다시 도 2를 참조하면, 상기 S110 단계에서 사전 렌더링 과정을 수행하지 않는 것으로 결정된 경우, 상기 데이터 처리 시스템(100)은 상기 이동 수단의 현재 위치에 상응하는 지도 화면을 렌더링하고, 렌더링된 화면을 디스플레이 장치(20)로 제공할 수 있다(S130).
렌더링된 지도 화면은 특정 위치(예를 들면, 이동 수단의 현재 위치)로부터 일정 범위 내에 존재하는 도로에 대한 시각적 표현을 포함할 수 있다. 또한 렌더링된 지도 화면은 해당 범위 내에 존재하는 건물, 시설, POI 등에 대한 시각적인 표현을 더 포함할 수도 있다. 도 5는 지도 화면의 일 예를 도시한 도면이다.
상기 디스플레이 장치(20)는 제공된 지도 화면을 디스플레이할 수 있으며, 경우에 따라서는 제공된 지도 화면 상에 이동 수단의 현재 위치를 나타내는 시각적 오브젝트를 추가하여 디스플레이할 수도 있다.
한편, 상기 S110 단계에서 사전 렌더링 과정을 수행하는 것으로 결정한 경우, 상기 데이터 처리 시스템(100)은 상기 이동 수단의 예상 주행 경로를 특정하는 과정을 수행할 수 있다(S140).
상기 이동 수단의 예상 주행 경로는 상기 이동 수단이 향후 이동할 것으로 예상되는 경로로서, 본 발명의 일 실시예에서는 도 6에 도시된 바와 같은 방법에 의해 상기 이동 수단의 예상 주행 경로를 특정할 수 있다. 도 6는 도 2의 S140 단계의 일 예를 나타내는 흐름도이다.
도 6를 참조하면, 상기 데이터 처리 시스템(100)은 예상 주행 경로를 표현하기 위한 리스트인 예상 도로 세그먼트 리스트 L을 초기화할 수 있다(S141).
상기 데이터 처리 시스템(100)은 상기 이동 수단이 현재 주행 중인 주행 도로 세그먼트 C를 특정할 수 있다(S142). 주행 도로 세그먼트는 이동 수단의 위치 정보 혹은 위치 정보 및 이동 방향 정보에 기초하여 특정될 수 있으며, 이에 대한 구체적인 방법에 관해서는 앞서 설명한 바 있다.
또한 실시예에 따라서는 상기 데이터 처리 시스템(100)은 상기 이동 수단의 현재 위치(S140 단계를 수행하는 시점의 상기 이동 수단의 위치) P를 특정할 수 있다(S142).상기 데이터 처리 시스템(100)은 상기 이동 수단의 주행 도로 세그먼트 C를 예상 도로 세그먼트 리스트 L에 최초로 추가할 수 있다(S143).
이후 상기 데이터 처리 시스템(100)은 가장 최근에 상기 예상 도로 세그먼트 리스트 L에 추가된 최신 도로 세그먼트와 연결된 도로 세그먼트 각각에 대하여, S144-1 내지 S144-3 단계를 수행할 수 있다(S144).
만약 상기 예상 도로 세그먼트 리스트 L에 추가된 최신 도로 세그먼트와 연결된 도로 세그먼트 중 어느 하나가 S라고 하면, 상기 데이터 처리 시스템(100)은 도로 세그먼트 S가 상기 예상 도로 세그먼트에 최초로 추가된 최초 도로 세그먼트(즉, 주행 도로 세그먼트 C)와의 각도가 일정 크기 이하이고, 상기 이동 수단의 현재 위치 P와의 거리가 일정 크기 이하인 경우 도로 세그먼트 S를 후보 세그먼트를 선택할 수 있다(S144-1, S144-2, S144-3). 다른 실시예에서, 상기 데이터 처리 시스템(100)은 상기 이동 수단의 현재 위치 P가 아니라 상기 최초 도로 세그먼트(즉, 주행 도로 세그먼트 C)와의 거리가 일정 크기 이하인 도로 세그먼트를 후보 세그먼트로 선택할 수도 있다.
한편, 특정 위치와 특정 도로 세그먼트간의 거리는 상기 특정 위치와 상기 특정 도로 세그먼트 상의 특정 지점(예를 들면, 양 끝점 중 어느 하나, 중간 지점 등)간의 거리로 정의할 수 있다.한편 상기 데이터 처리 시스템(100)은 S144 단계에서 선택된 후보 세그먼트가 존재하는 경우, 선택된 후보 세그먼트 중 어느 하나를 상기 예상 도로 세그먼트 리스트 L에 추가할 수 있으며(S145, S146), 이후 S144단계부터 다시 수행할 수 있다.
선택된 후보 세그먼트 중 어느 하나를 상기 예상 도로 세그먼트 리스트 L에 추가하는 방법은 다양할 수 있다.
일 실시예에서, 상기 데이터 처리 시스템(100)은 선택된 후보 세그먼트 중 상기 예상 도로 세그먼트 리스트 L에 최초로 추가된 최초 도로 세그먼트(즉, 주행 도로 세그먼트 C)와의 각도가 최소인 것을 상기 예상 도로 세그먼트 리스트에 추가할 수 있다.
다른 일 실시예에서 상기 데이터 처리 시스템(100)은 선택된 후보 세그먼트 중 가장 최근에 상기 예상 도로 세그먼트 리스트에 추가된 도로 세그먼트와의 각도가 최소인 것을 상기 예상 도로 세그먼트 리스트에 추가할 수 있다.
또는 상기 데이터 처리 시스템(100)은 현재까지 예상 도로 세그먼트 리스트 L에 추가되어 있는 각 도로 세그먼트가 이루는 각도의 평균값(average) 혹은 중간값(median)을 산출하고, 선택된 후보 세그먼트 중 앞서 산출된 평균값 혹은 중간값과의 각도가 최소인 것을 상기 예상 도로 세그먼트 리스트에 추가할 수도 있다.
또는 상기 데이터 처리 시스템(100)은 선택된 후보 세그먼트 중 소정의 선정 서버(미도시)에서 선정한 것을 상기 예상 도로 세그먼트 리스트에 추가할 수도 있다. 이때, 상기 선정 서버는, 복수의 도로 세그먼트 중 어느 하나의 선정을 요청 받는 경우, 소정의 측정 기간 동안 가장 많은 이동 수단이 주행한 것으로 판단한 것을 선정하는 기능을 수행하는 서버일 수 있다. 즉 상기 선정 서버는 소정의 측정 기간 동안 여러 기기로부터 다양한 이동 수단의 이동 경로에 관한 정보를 수집할 수 있으며 각 도로 세그먼트 별로 얼마나 많은 이동 수단이 지나갔는지에 관한 정보를 축적해 둘 수 있으며, 측정 기간 동안 축적된 정보에 기초하여 복수의 도로 세그먼트 중 어느 하나를 선정할 수 있다.
또는 상기 데이터 처리 시스템(100)은 미리 지정된 목적지까지의 예상 경로를 미리 특정하고, 선택된 후보 세그먼트 중 상기 예상 경로 상에 존재하는 도로 세그먼트를 선정하여 상기 예상 도로 세그먼트 리스트에 추가할 수도 있다.
만약 S144 단계에서, 가장 최근에 예상 도로 세그먼트 리스트 L에 추가된 최신 도로 세그먼트와 연결된 모든 도로 세그먼트가 최초 도로 세그먼트(즉, 주행 도로 세그먼트 C)로부터 소정의 거리 이상 떨어져 있거나 최초 도로 세그먼트와 이루는 각도가 소정의 크기 이상인 경우에는 후보 세그먼트가 하나도 선택되지 않을 수 있다. 이 경우 상기 데이터 처리 시스템(100)은 S140 단계를 종료할 수 있다(S145 참고).
한편 실시예에 따라서는 상기 예상 도로 세그먼트 L에 최초로 추가된 최초 도로 세그먼트(즉, 주행 도로 세그먼트 C)를 예상 도로 세그먼트 리스트 L에서 제거한 후 S140 단계를 종료할 수 있다.
이하에서는 도 6에 따른 예상 주행 경로 특정 방법의 구체적인 예를 도 7 및 도 8a 내지 도 8f를 참조하여 설명하기로 한다.
도 7은 예상 주행 경로 특정 방법이 수행되기 전의 상황을 도시한 도면이다. 도 7에는 지도 데이터에 포함된 도로 세그먼트 중 일부 및 이동 수단의 현재 위치와 진행방향이 도시되어 있다. 도 7을 참조하면, 이동 수단은 도로 세그먼트 [a1→a2] 상에 위치하고 있다. 즉 도 7에서 이동 수단이 현재 주행하고 있는 주행 도로 세그먼트는 [a1→a2]이다.
상기 데이터 처리 장치(100)는 예상 도로 세그먼트 리스트 L을 초기화할 수 있다(S141). 즉, L = {}이다.
상기 데이터 처리 장치(100)는 주행 도로 세그먼트 [a1→a2]를 특정할 수 있으며(S142), 주행 도로 세그먼트 [a1→a2]를 예상 도로 세그먼트 리스트 L에 최초로 추가할 수 있다(S143). 따라서, L = {[a1→a2]}이며, 이러한 상황이 도 8a에 도시되어 있다. 도 8a를 비롯하여 도 8f에서 예상 도로 세그먼트 리스트 L에 포함되는 예상 도로 세그먼트는 굵은 원 및 실선 으로 표시된다.
상기 데이터 처리 장치(100)는 가장 최근에 예상 도로 세그먼트 리스트 L에 추가된 도로 세그먼트 [a1→a2]와 연결된 도로 세그먼트 [a2→a3], [a2→a4], [a2→a5], [a2→ a6], [a2→ a7] 중 주행 도로 세그먼트 [a1→a2]와의 거리가 일정 크기(r) 이하이고, 주행 도로 세그먼트 [a1→a2]와의 각도가 일정 크기 이하인 것(예를 들면, [a2→a4], [a2→a5], [a2→ a6])을 후보 세그먼트로 선택할 수 있으며(S144), 선택된 후보 세그먼트 중 주행 도로 세그먼트 [a1→a2]와의 각도 차이가 가장 작은 [a2→a5]를 예상 도로 세그먼트 리스트 L에 추가할 수 있다(S146). 따라서, L = {[a1→a2], [a2→a5]}이며, 이러한 상황이 도 8b에 도시되어 있다.
상기 데이터 처리 장치(100)는 가장 최근에 예상 도로 세그먼트 리스트 L에 추가된 도로 세그먼트 [a2→a5]와 연결된 도로 세그먼트 [a5→a9], [a5→a6] 중 주행 도로 세그먼트 [a1→a2]와의 거리가 일정 크기(r) 이하이고, 주행 도로 세그먼트 [a1→a2]와의 각도가 일정 크기 이하인 것을 후보 세그먼트로 선택할 수 있으며(S144), 선택된 후보 세그먼트 중 주행 도로 세그먼트 [a1→a2]와의 각도 차이가 가장 작은 [a5→a9]를 예상 도로 세그먼트 리스트 L에 추가할 수 있다(S146). 따라서, L = {[a1→a2], [a2→a5], [a5→a9]}이며, 이러한 상황이 도 8c에 도시되어 있다.
상기 데이터 처리 장치(100)는 가장 최근에 예상 도로 세그먼트 리스트 L에 추가된 도로 세그먼트 [a5→a9]와 연결된 도로 세그먼트 [a9→a10], [a9→a11], [a9→a12], [a9→a6] 중 주행 도로 세그먼트 [a1→a2]와의 거리가 일정 크기(r) 이하이고, 주행 도로 세그먼트 [a1→a2]와의 각도가 일정 크기 이하인 것을 후보 세그먼트로 선택할 수 있으며(S144), 선택된 후보 세그먼트 중 주행 도로 세그먼트 [a1→a2]와의 각도 차이가 가장 작은 [a9→a11]를 예상 도로 세그먼트 리스트 L에 추가할 수 있다(S146). 따라서, L = {[a1→a2], [a2→a5], [a5→a9], [a9→a11]}이며, 이러한 상황이 도 8d에 도시되어 있다.
상기 데이터 처리 장치(100)는 가장 최근에 예상 도로 세그먼트 리스트 L에 추가된 도로 세그먼트 [a9→a11]와 연결된 도로 세그먼트 [a11→a13], [a11→a14] 중 주행 도로 세그먼트 [a1→a2]와의 거리가 일정 크기(r) 이하이고, 주행 도로 세그먼트 [a1→a2]와의 각도가 일정 크기 이하인 것을 후보 세그먼트로 선택할 수 있으며(S144), 선택된 후보 세그먼트 중 주행 도로 세그먼트 [a1→a2]와의 각도 차이가 가장 작은 [a11→a14]를 예상 도로 세그먼트 리스트 L에 추가할 수 있다(S146). 따라서, L = {[a1→a2], [a2→a5], [a5→a9], [a9→a11], [a11→a14]}이며, 이러한 상황이 도 8e에 도시되어 있다.
만약 상기 데이터 처리 장치(100)가 주행 도로 세그먼트가 아닌 가장 최근에 추가된 도로 세그먼트와의 각도 차가 가장 작은 것을 예상 도로 세그먼트 리스트에 추가하도록 실시예가 구현되는 경우에는 도 8e가 아니라 도 8f에 도시된 바와 같이 도로 세그먼트 [a9→a11]와의 각도 차이가 가장 작은 [a11→a13]이 예상 도로 세그먼트 리스트 L에 추가될 수 있을 것이다.
한편, 다시 도 8e를 참조하면, [a11→a14]가 추가된 후 상기 데이터 처리 장치(100)는 [a11→a14]와 연결된 도로 세그먼트 중에서 주행 도로 세그먼트 [a1→a2]와의 거리가 일정 크기(r) 이하이고, 주행 도로 세그먼트 [a1→a2]와의 각도가 일정 크기 이하인 것을 선택할 수 없을 것이므로 최종적으로 예상 도로 세그먼트 리스트 L을 {[a1→a2], [a2→a5], [a5→a9], [a9→a11], [a11→a14]}로 특정하고 S110 단계를 종료하게 될 것이다.
다시 도 2를 참조하면, 상기 데이터 처리 시스템(100)은 예상 주행 경로가 특정된 후 상기 예상 주행 경로 대한 지도화면의 사전 렌더링 과정을 수행할 수 있다(S150).
예상 주행 경로 대한 지도화면의 사전 렌더링 과정은 상기 예상 도로 세그먼트 리스트 L에 포함되어 있는 예상 주행 경로에 대한 지도 화면의 사전 렌더링을 수행하는 과정일 수 있다. 상기 데이터 처리 시스템(100)은 예상 주행 경로 주변의 일정 범위 내의 영역에 대한 지도 화면을 미리 렌더링할 수 있다. 사전 렌더링된 지도 화면은 예상 주행 경로로부터 일정 범위 내에 존재하는 도로에 대한 시각적 표현을 포함할 수 있다. 또한 렌더링된 지도 화면은 해당 범위 내에 존재하는 건물, 시설, POI 등에 대한 시각적인 표현을 더 포함할 수도 있다.
한편, 지도 화면이 비트맵 이미지인 경우, 사전 렌더링 과정에서 상기 데이터 처리 장치(100)는 지도 화면에 상응하는 비트맵 이미지를 생성할 수 있다. 만약 지도 화면이 벡터 그래픽으로 구현되어야 하는 경우 상기 데이터 처리 장치(100)는 사전 렌더링 과정에서 벡터 이미지를 생성하기 위해 필요한 벡터 정보를 생성할 수 있다.
상기 이동 수단의 예상 주행 경로에 대한 지도화면의 사전 렌더링 과정이 수행된 후, 상기 데이터 처리 시스템(100)은 소정의 사전 렌더링 화면 제공 조건이 만족하는 동안 사전 렌더링된 상기 이동 수단의 예상 주행 경로에 대한 지도화면 중 상기 이동 수단의 현재 위치에 상응하는 부분을 상기 디스플레이 장치로 제공할 수 있다. 즉 상기 데이터 처리 장치(100)는 상기 사전 렌더링 화면 제공 조건이 만족되는지 여부를 판단할 수 있으며(S160), 사전 렌더링 화면 제공 조건이 만족하는 경우, S150 단계에서 사전 렌더링된 지도 화면 중 상기 이동 수단의 현재 위치에 상응하는 부분을 상기 디스플레이 장치(20)로 제공하고, S160 단계를 다시 수행할 수 있다. 만약 사전 렌더링 화면 제공 조건이 만족하지 않는 경우 상기 데이터 처리 장치(100)는 S110 단계를 수행할 수 있다.
도 9는 사전 렌더링 화면 제공 조건이 만족하는지 여부를 판단하는 단계(즉, 도 2의 S160 단계)의 일 예를 보다 구체적으로 도시한 흐름도이다.
도 9를 참조하면, 상기 데이터 처리 장치(100)는 이동 수단의 위치 정보를 획득하고(S161), 이동 수단의 진행 방향 D 정보를 획득할 수 있다(S162). 이를 기반으로 상기 데이터 처리 장치(100)는 상기 이동 수단이 현재 주행 중인 주행 도로 세그먼트 C를 특정할 수 있다(S162).
한편 주행 도로 세그먼트 C가 앞서 S140 단계에서 특정한 예상 도로 세그먼트 리스트 L에 존재하지 않거나, 주행 도로 세그먼트 C와 이동 수단의 진행 방향 D 간의 각도가 일정 크기 이하가 아닌 경우 상기 데이터 처리 장치(100)는 사전 렌더링 화면 제공 조건이 만족하지 않는 것으로 판단할 수 있다(S164, S165, S168).
만약 주행 도로 세그먼트 C가 예상 도로 세그먼트 리스트 L에 존재하며, 주행 도로 세그먼트 C와 이동 수단의 진행 방향 D 간의 각도가 일정 크기 이하인 경우 상기 데이터 처리 장치(100)는 사전 렌더링 화면 제공 조건이 만족하지 않는 것으로 판단할 수 있다(S164, S165, S167).
도 10은 사전 렌더링 화면 제공 조건의 만족 여부를 설명하기 위한 도면이다. 도 10(a)의 경우 이동 수단이 현재 예상 도로 세그먼트 중 하나인 [a2→a5] 상에 있으며 이동 수단의 진행 방향과 [a2→a5]간의 각도가 일정 크기 이하이므로 상기 데이터 처리 장치(100)는 사전 렌더링 화면 제공 조건이 만족되는 것으로 판단할 수 있다. 그러나 도 10(b)의 경우에는 이동 수단이 예상 도로 세그먼트 상에 위치하지 않으며, 도 10(c)의 경우에는 이동 수단이 예상 도로 세그먼트 중 어느 하나인 [a5→a9] 상에 위치하지만 [a5→a9]와 이동 수단의 진행 방향 간의 각도차가 일정 크기 이상이므로 상기 데이터 처리 장치(100)는 사전 렌더링 화면 제공 조건이 만족되지 않는 것으로 판단할 수 있다.
실시예에 따라서 상기 데이터 처리 장치(100)는 주행 도로 세그먼트 C가 예상 도로 세그먼트 리스트 L에 존재하는지 여부만을 가지고 사전 렌더링 화면 제공 조건의 만족 여부를 판단하도록 구현될 수도 있다.
이하에서는 도 11a 및 도 11b를 참고하여 사전 렌더링의 개념을 보다 상세하게 설명한다. 도 11a 는 디스플레이 장치(20)에서 표시하는 이동수단에 대한 지도 화면을 나타낸다. 도 11a에서 x와 y는 각각 화면의 가로, 세로 길이이다.
도 11b는 사전 렌더링되는 영역과 이동 수단에 대한 지도 화면의 관계를 나타내는 도면이다. 이동 수단이 위치 a에 있을 때 화면에 지도를 그리기 위해서는 이러한 화면 사각형 Da에 걸쳐지는 지도상의 모든 객체를 검색하여 파악한 후 이를 화면상에 적절한 각도로 놓은 후 그려야 한다. 만약 사전 렌더링을 사용하지 않는 다면, 이동 수단이 위치 a에서 이동 경로 P를 따라 이동하는 경우, 지도상에 화면에 놓여질 수 있는 모든 객체를 검색하고 지도에 그리는 전 과정을 반복해야 한다.
사전렌더링이란, 이동 수단이 직선에 가까운 형태로 진행할 수 있는 도로 세그먼트의 목록을 확보하고 그 위를 지날 때 그려야 하는 영역을 한 번의 지도상 객체 검색으로 그리는 과정이다. 즉 이동 수단이 위치 a에 있을 때 도 11b에서처럼 앞으로 진행할 것으로 예상되는 직선을 따라가는 길의 목록 P를 확보한 후, 길 위를 따라갈 때 지도상에 그려지게 되는 영역 전체를 사전에 그린다. 해당하는 영역은 도 11b의 Dpr 영역으로 볼 수 있다. 이 때 해당 영역의 너비는 화면의 너비 x보다 조금 큰 x+α가 되는데 α는 이동 수단이 도로의 정 중앙이 아닌 좌우로 흔들리며 진행할 때를 대비한 여유 너비이다. 비록 그려야 할 영역은 넓지만, 연산의 양이 적지 않은 겹쳐지는 지도상 객체의 검색을 단 한번만 수행함으로서 긴 시간의 객체 이동을 위한 지도를 그릴 수 있기 때문에 연산 자원이 절약되며, 이동체가 길을 따라 움직이는 동안 매번 수행해야 하는 렌더링 작업이 한번으로 줄어들기 때문에 많은 자원을 절약할 수 있다.
이동 수단이 도 11b의 위치 a에서 위치b로 이동하는 경우 지도 화면을 그리기 위하여 추가로 필요한 영역은 어둡게 칠해진 영역Dd이다. 영역 Dd는 사전 렌더링된 c 영역에 포함되어 있기 때문에, 추가적인 렌더링 작업 없이 바로 디스플레이 장치(20)에 전달할 수 있다. 다만 이동 수단이 위치a지점에서 위치b'으로 이동하는 경우 직선 이동에서 한계 값 이상 각도가 틀어지게 되므로, 사전 렌더링된 정보를 사용하기 어렵다. 이 경우 새롭게 지도 화면을 렌더링 하여 디스플레이 장치(20)에 전달한다.
상기 데이터 처리 장치(100)는 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 데이터 처리 장치(100)는 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 데이터 처리 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예를 들면, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
한편, 구현 예에 따라서, 상기 데이터 처리 시스템(100)은 프로세서 및 상기 프로세서에 의해 실행되는 프로그램을 저장하는 메모리를 포함할 수 있다. 상기 프로세서는 싱글 코어 CPU혹은 멀티 코어 CPU를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다. 여기서, 상기 프로그램은, 프로세서에 의해 실행되는 경우, 본 실시예에 따른 데이터 처리 시스템(100)으로 하여금, 상술한 지도 화면 렌더링 방법을 수행하도록 할 수 있다.
한편, 본 발명의 실시예에 따른 지도 화면 렌더링 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명의 실시예에 따른 제어 프로그램 및 대상 프로그램도 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (9)

  1. 지도 데이터로부터 지도 화면을 렌더링하는 방법으로서,
    (a) 데이터 처리 시스템이, 복수의 도로 세그먼트 정보를 포함하는 지도 데이터를 획득하는 단계;
    (b) 상기 데이터 처리 시스템이, 이동 수단이 향후 주행할 것으로 예상되는 예상 주행 경로에 대한 지도화면의 사전 렌더링 과정을 수행할지 여부를 결정하는 단계;
    (c) 상기 데이터 처리 시스템이, 사전 렌더링 과정을 수행하지 않는 것으로 결정한 경우, 상기 이동 수단의 현재 위치에 상응하는 지도 화면을 렌더링하여 디스플레이 장치로 제공하는 단계;
    (d) 상기 데이터 처리 시스템이, 사전 렌더링 과정을 수행하는 것으로 결정한 경우, 상기 이동 수단의 예상 주행 경로를 특정하는 과정 및 특정한 상기 예상 주행 경로 대한 지도화면의 사전 렌더링 과정을 수행하는 단계;
    (e) 상기 이동 수단의 예상 주행 경로에 대한 지도화면의 사전 렌더링 과정이 수행된 후, 상기 데이터 처리 시스템이, 소정의 사전 렌더링 화면 제공 조건이 만족하는 동안 사전 렌더링된 상기 이동 수단의 예상 주행 경로에 대한 지도화면 중 상기 이동 수단의 현재 위치에 상응하는 부분을 상기 디스플레이 장치로 제공하는 단계; 및
    (f) 상기 (b) 단계 내지 상기 (e) 단계를 반복 수행하는 단계를 포함하되,
    상기 이동 수단의 주행 예상 경로를 특정하는 과정은,
    (d1) 예상 도로 세그먼트 리스트를 초기화하는 단계;
    (d2) 상기 이동 수단의 주행 도로 세그먼트를 예상 도로 세그먼트 리스트에 최초로 추가하는 단계-여기서, 상기 주행 도로 세그먼트는, 상기 이동 수단이 현재 주행 중인 도로 세그먼트임;
    (d3) 가장 최근에 상기 예상 도로 세그먼트 리스트에 추가된 최신 도로 세그먼트와 연결된 도로 세그먼트 중 상기 예상 도로 세그먼트에 최초로 추가된 최초 도로 세그먼트와의 각도가 일정 크기 이하이고, 상기 이동 수단의 현재 위치와의 거리 또는 상기 최초 도로 세그먼트와의 거리가 일정 크기 이하인 후보 세그먼트를 선택하는 단계;
    (d4) 선택된 후보 세그먼트가 존재하는 경우, 선택된 후보 세그먼트 중 어느 하나를 상기 예상 도로 세그먼트 리스트에 추가하는 단계; 및
    (d5) 후보 세그먼트가 하나도 선택되지 않은 때까지, 상기 (d3) 단계 및 상기 (d4) 단계를 반복 수행하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (b) 단계는,
    상기 이동 수단이 현재 주행 중인 주행 도로 세그먼트를 특정하는 단계; 및
    상기 이동 수단의 진행 방향과 상기 주행 도로 세그먼트의 각도가 일정 크기 이하인 경우 사전 렌더링 과정을 수행하는 것으로 결정하는 단계를 포함하는 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 (d4) 단계는,
    선택된 후보 세그먼트 중 상기 예상 도로 세그먼트 리스트에 최초로 추가된 최초 도로 세그먼트와의 각도가 최소인 것을 상기 예상 도로 세그먼트 리스트에 추가하는 단계;
    선택된 후보 세그먼트 중 가장 최근에 상기 예상 도로 세그먼트 리스트에 추가된 도로 세그먼트와의 각도가 최소인 것을 상기 예상 도로 세그먼트 리스트에 추가하는 단계; 또는
    선택된 후보 세그먼트 중 소정의 선정 서버에서 선정한 것을 상기 예상 도로 세그먼트 리스트에 추가하는 단계-여기서, 상기 선정 서버는, 복수의 도로 세그먼트 중 어느 하나의 선정을 요청 받는 경우, 소정의 측정 기간 동안 가장 많은 이동 수단이 주행한 것으로 판단한 것을 선정함-를 포함하는 방법.
  5. 제1항에 있어서,
    상기 (e) 단계는,
    (e1) 상기 사전 렌더링 화면 제공 조건이 만족하는지 여부를 판단하는 단계;
    (e2) 상기 사전 렌더링 화면 제공 조건이 만족하는 경우 상기 이동 수단의 예상 주행 경로에 대한 지도화면 중 상기 이동 수단의 현재 위치에 상응하는 부분을 상기 디스플레이 장치로 제공하는 단계; 및
    (e3) 상기 사전 렌더링 화면 제공 조건이 만족하지 않을 때까지 상기 (e1) 단계 및 상기 (e2) 단계를 반복 수행하는 단계를 포함하되,
    상기 (e1) 단계는,
    상기 이동 수단의 위치에 기초하여 상기 이동 수단이 주행 중인 도로 세그먼트가 상기 예상 도로 세그먼트 리스트 내의 도로 세그먼트 중 어느 하나인지 여부를 판단하고, 판단 결과 그렇지 않은 경우 상기 사전 렌더링 화면 제공 조건이 만족되지 않는 것으로 판단하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 (e1) 단계는,
    상기 이동 수단의 진행 방향과 상기 이동 수단이 주행 중인 도로 세그먼트과의 각도가 일정 크기 이상인 경우 상기 사전 렌더링 화면 제공 조건이 만족되지 않는 것으로 판단하는 단계를 더 포함하는 방법.
  7. 데이터 처리장치에 설치되며 제1항, 제2항 또는 제4항 내지 제6항 중 어느 한 항에 기재된 방법을 수행하기 위하여 기록매체에 저장된 컴퓨터 프로그램.
  8. 데이터 처리 시스템으로서,
    프로세서; 및
    상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며,
    상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 데이터 처리 시스템이, 지도 데이터로부터 지도 화면을 렌더링하는 방법을 수행하도록 하되,
    상기 지도 데이터로부터 지도 화면을 렌더링하는 방법은,
    (a) 데이터 처리 시스템이, 복수의 도로 세그먼트 정보를 포함하는 지도 데이터를 획득하는 단계;
    (b) 상기 데이터 처리 시스템이, 이동 수단이 향후 주행할 것으로 예상되는 예상 주행 경로에 대한 지도화면의 사전 렌더링 과정을 수행할지 여부를 결정하는 단계;
    (c) 상기 데이터 처리 시스템이, 사전 렌더링 과정을 수행하지 않는 것으로 결정한 경우, 상기 이동 수단의 현재 위치에 상응하는 지도 화면을 렌더링하여 디스플레이 장치로 제공하는 단계;
    (d) 상기 데이터 처리 시스템이, 사전 렌더링 과정을 수행하는 것으로 결정한 경우, 상기 이동 수단의 예상 주행 경로를 특정하는 과정 및 특정한 상기 예상 주행 경로 대한 지도화면의 사전 렌더링 과정을 수행하는 단계;
    (e) 상기 이동 수단의 예상 주행 경로에 대한 지도화면의 사전 렌더링 과정이 수행된 후, 상기 데이터 처리 시스템이, 소정의 사전 렌더링 화면 제공 조건이 만족하는 동안 사전 렌더링된 상기 이동 수단의 예상 주행 경로에 대한 지도화면 중 상기 이동 수단의 현재 위치에 상응하는 부분을 상기 디스플레이 장치로 제공하는 단계를 포함하되,
    상기 이동 수단의 주행 예상 경로를 특정하는 과정은,
    (d1) 예상 도로 세그먼트 리스트를 초기화하는 단계;
    (d2) 상기 이동 수단의 주행 도로 세그먼트를 예상 도로 세그먼트 리스트에 최초로 추가하는 단계-여기서, 상기 주행 도로 세그먼트는, 상기 이동 수단이 현재 주행 중인 도로 세그먼트임;
    (d3) 가장 최근에 상기 예상 도로 세그먼트 리스트에 추가된 최신 도로 세그먼트와 연결된 도로 세그먼트 중 상기 예상 도로 세그먼트에 최초로 추가된 최초 도로 세그먼트와의 각도가 일정 크기 이하이고, 상기 최초 도로 세그먼트와의 거리가 일정 크기 이하인 후보 세그먼트를 선택하는 단계;
    (d4) 선택된 후보 세그먼트가 존재하는 경우, 선택된 후보 세그먼트 중 어느 하나를 상기 예상 도로 세그먼트 리스트에 추가하는 단계; 및
    (d5) 후보 세그먼트가 하나도 선택되지 않은 때까지, 상기 (d3) 단계 및 상기 (d4) 단계를 반복 수행하는 단계를 포함하는 데이터 처리 시스템.
  9. 삭제
KR1020190143549A 2019-11-11 2019-11-11 지도 데이터로부터 지도 화면을 렌더링하는 방법 및 이를 수행하는 데이터 처리 장치 KR102255455B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190143549A KR102255455B1 (ko) 2019-11-11 2019-11-11 지도 데이터로부터 지도 화면을 렌더링하는 방법 및 이를 수행하는 데이터 처리 장치
EP20185568.1A EP3819595B1 (en) 2019-11-11 2020-07-13 Method for rendering map screen from map data and data processing apparatus performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190143549A KR102255455B1 (ko) 2019-11-11 2019-11-11 지도 데이터로부터 지도 화면을 렌더링하는 방법 및 이를 수행하는 데이터 처리 장치

Publications (2)

Publication Number Publication Date
KR20210056740A KR20210056740A (ko) 2021-05-20
KR102255455B1 true KR102255455B1 (ko) 2021-05-24

Family

ID=71607824

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190143549A KR102255455B1 (ko) 2019-11-11 2019-11-11 지도 데이터로부터 지도 화면을 렌더링하는 방법 및 이를 수행하는 데이터 처리 장치

Country Status (2)

Country Link
EP (1) EP3819595B1 (ko)
KR (1) KR102255455B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101070882B1 (ko) * 2009-01-12 2011-10-06 엠로그씨주식회사 리얼 맵 정보 제공 방법 및 그 시스템
US9389088B2 (en) * 2011-12-12 2016-07-12 Google Inc. Method of pre-fetching map data for rendering and offline routing
JP6047006B2 (ja) * 2012-12-25 2016-12-21 株式会社デンソー 地図表示システム
KR101653240B1 (ko) 2014-06-30 2016-09-01 나비스오토모티브시스템즈 주식회사 내비게이션 장치 및 그의 주행안내정보 표시방법

Also Published As

Publication number Publication date
EP3819595A1 (en) 2021-05-12
EP3819595B1 (en) 2023-10-11
KR20210056740A (ko) 2021-05-20

Similar Documents

Publication Publication Date Title
US11113544B2 (en) Method and apparatus providing information for driving vehicle
EP3640599B1 (en) Vehicle localization method and apparatus
JP6036371B2 (ja) 車両用運転支援システム及び運転支援方法
US20180209802A1 (en) Vehicle path guiding apparatus and method
US20180112983A1 (en) Method and system for global shape matching a trajectory
US20200126255A1 (en) Smoothness constraint for camera pose estimation
US10572405B1 (en) Writing messages in a shared memory architecture for a vehicle
US10853667B2 (en) Method and apparatus with linearity detection
US10782411B2 (en) Vehicle pose system
CN110388925A (zh) 用于与自动导航有关的车辆定位的***和方法
US11668573B2 (en) Map selection for vehicle pose system
US10747597B2 (en) Message buffer for communicating information between vehicle components
US10785170B2 (en) Reading messages in a shared memory architecture for a vehicle
JP2009500765A (ja) 交通情報を判定する方法及びその方法を実行するように構成された装置
US9157753B2 (en) Navigation system, recording medium recording computer program, and current position calculation method
EP2988097B1 (en) Driving support system, method, and program
JP2023054314A (ja) 情報処理装置、制御方法、プログラム及び記憶媒体
JP2009036651A (ja) ナビゲーション装置、ナビゲーション方法及びナビゲーションプログラム
US10586393B2 (en) Positioning objects in an augmented reality display
KR102255455B1 (ko) 지도 데이터로부터 지도 화면을 렌더링하는 방법 및 이를 수행하는 데이터 처리 장치
JP2006317287A (ja) 車両用現在位置決定装置
US20230242102A1 (en) Position estimation system
WO2015144921A1 (en) Method and apparatus for generating a map of the terrain in a geographic area
CN104956181B (zh) 导航***以及方法
CN114623839A (zh) 导航方法、***、装置及存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant