KR20210014657A - 친숙한 위치를 중간 목적지로 사용하는 내비게이션 방향 - Google Patents

친숙한 위치를 중간 목적지로 사용하는 내비게이션 방향 Download PDF

Info

Publication number
KR20210014657A
KR20210014657A KR1020207036982A KR20207036982A KR20210014657A KR 20210014657 A KR20210014657 A KR 20210014657A KR 1020207036982 A KR1020207036982 A KR 1020207036982A KR 20207036982 A KR20207036982 A KR 20207036982A KR 20210014657 A KR20210014657 A KR 20210014657A
Authority
KR
South Korea
Prior art keywords
user
location
destination location
navigation
intermediate destination
Prior art date
Application number
KR1020207036982A
Other languages
English (en)
Other versions
KR102542491B1 (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 KR20210014657A publication Critical patent/KR20210014657A/ko
Application granted granted Critical
Publication of KR102542491B1 publication Critical patent/KR102542491B1/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/3626Details of the output of route guidance instructions
    • G01C21/3641Personalized guidance, e.g. limited guidance on previously travelled routes
    • 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
    • G01C21/343Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
    • 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/3626Details of the output of route guidance instructions
    • G01C21/3644Landmark guidance, e.g. using POIs or conspicuous other objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data

Abstract

맵에 디스플레이하기 위한 개인화된 데이터를 제공하기 위해, 서버 디바이스는 사용자에 대한 위치 데이터를 획득하고 사용자가 해당 위치를 방문한 빈도 및 최근성에 따라 사용자에게 친숙한 위치들을 식별한다. 그런 다음 서버 디바이스는 검색 결과/제안에 친숙한 위치들을 제공하고, 친숙한 위치와 사용자 간의 관계에 대한 설명으로 친숙한 위치들에 주석을 단다. 서버 디바이스는 또한 내비게이션 명령 세트에 기동을 수행하기 위한 랜드 마크로서 친숙한 위치들을 포함한다. 또한, 서버 디바이스는 사용자가 친숙한 위치 근처의 다른 위치를 선택할 때 맵 디스플레이에서 참조 프레임으로서 친숙한 위치를 제공한다. 더욱이, 서버 디바이스는 사용자가 최종 목적지까지의 내비게이션 방향을 요청할 때 중간 목적지로서 친숙한 위치를 포함한다.

Description

친숙한 위치를 중간 목적지로 사용하는 내비게이션 방향
본 발명은 지리 애플리케이션에서 개인화를 디스플레이하는 것에 관한 것으로, 특히 사용자에게 친숙한 위치를 식별하고 친숙한 위치를 사용하여 맵 디스플레이에 내비게이션 방향, 검색 결과 또는 선택 위치를 제시하는 것에 관한 것이다.
본 명세서에 제공된 배경 설명은 일반적으로 개시 내용의 맥락을 제시하기 위한 것이다. 현재 명명된 발명자의 작업은 출원 당시 선행 기술로 인정되지 않을 수 있는 설명의 양태뿐만 아니라 이 배경 섹션에 설명된 범위내에서 본 개시에 대한 선행 기술로서 명시적 또는 묵시적으로 인정되지 않는다.
오늘날, 지리적 영역의 디지털 맵은 매핑 애플리케이션, 웹 브라우저 등을 통해 컴퓨터, 태블릿 및 휴대폰과 같은 컴퓨팅 디바이스상에 디스플레이된다. 많은 매핑 애플리케이션은 앱상에 기업 또는 다른 기관과 같은 관심 지점(POI)을 디스플레이한다. 각 POI는 아이콘 또는 POI 유형의 다른 표시자(예를 들어, 레스토랑의 레스토랑 심볼, 백화점의 쇼핑 심볼 등)를 사용하여 표시될 수 있다. 게다가, 매핑 애플리케이션, 웹 브라우저 등은 지리(적) 검색 쿼리에 응답하여 지리 검색 결과(예를 들어, POI들)를 제공하고 아이콘 또는 다른 표시자를 사용하여 디지털 맵에 있는 지리 검색 결과들 중 하나 또는 여러 개를 제시한다.
추가적으로, 컴퓨터, 스마트 폰 등에서 실행되는 소프트웨어 애플리케이션 또는 임베디드 디바이스는 단계별(step-by-step)로 내비게이션 방향을 생성한다. 일반적으로, 사용자는 출발지와 목적지를 지정하고, 소프트웨어 애플리케이션은 즉시 및/또는 사용자가 출발지와 목적지에서 주행할 때 방향을 디스플레이한다.
이러한 소프트웨어 애플리케이션은 일반적으로 거리(distance), 거리명, 건물 번호의 표시를 사용하여 경로에 기초하여 내비게이션 방향을 생성한다. 예를 들어, 이들 시스템은 "4분의 1 마일을 주행한 다음 메이플 스트리트로 우회전"과 같은 지침을 운전자에게 제공할 수 있다. 그러나, 운전자들이 거리(distance)를 정확하게 판단하는 것은 어렵고 운전자들이 도로 표지판을 보는 것이 항상 쉬운 것은 아니다. 더욱이, 거리(street) 및 도로 표지판이 열악한 지리적 영역들이 있다.
다른 사람이 운전자에게 말할 수 있는 것과 매우 유사한 안내를 운전자에게 제공하기 위해, 시각적으로 두드러진 빌딩 또는 광고판과 같이 경로를 따라 POI(본 명세서에서 "랜드 마크"라고도 지칭함)에 대한 참조를 사용하여 내비게이션 방향을 보강할 수 있다. 추가적으로, 디지털 맵 내에서 사용자 방향을 지정하기 위해 랜드 마크를 제시하거나 지리 검색 쿼리(예를 들어, "취리히의 바")에 응답하여 지리 검색 결과를 제공할 수도 있다. 그러나, 일반 대중에게 잘 알려진 랜드 마크의 수는 제한적이며, 소프트웨어 애플리케이션이 항상 사용자의 방향을 지정하거나 내비게이션할 때 랜드 마크를 제시하는 것도 아니다.
내비게이션 방향에 포함하거나 사용자에게 방향을 지정할 때 사용할 수 있는 랜드 마크의 수를 확장하기 위해, 개인화된(personalized) 맵 데이터 생성 시스템은 사용자가 시스템에 위치 데이터를 획득하기 위한 권한을 부여할 때 사용자에 대한 위치 이력을 획득한다. 위치 이력에는 POI 또는 랜드 마크의 위치, 사용자가 랜드 마크를 방문한 날짜 및 시간, 랜드 마크에서 보낸 시간량, 사용자가 제공한 랜드 마크에 대한 레이블(예를 들어, "집", "직장", "존의 집", "좋아하는 레스토랑"등과 같이 사용자가 이전에 방문한 POI와 관련된 정보가 포함될 수 있다.
사용자가 매핑 애플리케이션에 의해 제시된 위치 또는 POI를 선택할 때, 개인화된 맵 데이터 생성 시스템은 선택된 위치 근처에 있는 사용자의 위치 이력내의 랜드 마크들을 식별한다. 그런 다음 사용자가 그 랜드 마크를 방문한 빈도 및/또는 최근성에 기초하여 랜드 마크들 중 하나가 선택된다. 그런 다음 매핑 애플리케이션은 선택된 위치에 대한 참조 프레임을 사용자에게 제공하기 위해 맵 디스플레이에 선택된 위치와 함께 선택된 랜드 마크를 제시한다.
다른 시나리오에서, 사용자는 사용자의 현재 위치와 같은 출발 위치에서 목적지 위치까지의 내비게이션 방향을 요청한다. 그 결과, 개인화된 맵 데이터 생성 시스템은 내비게이션 명령 세트를 생성하는데, 각 명령에는 경로를 따라 특정 경유지(waypoint)에서의 기동(예를 들어, "우회전")을 포함한다. 명령들 중 적어도 일부에 대해, 특정 경유지 근처의 랜드 마크는 사용자가 그 랜드 마크를 방문한 빈도 및/또는 최근성에 기초하여 기동에 대한 참조(기준) 프레임으로 선택된다서(예를 들어, "밥의 집을 지나 교차로에서 우회전"). 그런 다음 매핑 애플리케이션은 선택된 랜드 마크를 참조하는 내비게이션 명령 세트를 사용자에게 제시한다.
또 다른 시나리오에서, 사용자는 지리 검색 쿼리 또는 부분적 지리 검색 쿼리를 매핑 애플리케이션으로 제공한다. 따라서, 개인화된 맵 데이터 생성 시스템은 지리 검색 쿼리와 관련된 검색 결과 세트를 생성하고 검색 결과 세트에 순위를 매길 수 있다. 또한, 개인화된 맵 데이터 생성 시스템은 사용자의 위치 이력에서 POI들에 해당하는 검색 결과를 식별하고 사용자가 해당 POI를 방문한 빈도 및/또는 최근성에 따라 검색 결과의 순위를 높인다. 예를 들어, 사용자가 여러 번 방문하고 가장 최근 방문이 전날인 POI에 대한 검색 결과는 경우 순위에서 여러 단계 상승할 수 있는 반면, 한 달 전에 사용자가 한 번 방문한 POI에 대한 검색 결과는 적은 단계로 상승하거나 다른 구현이나 시나리오에서는 전혀 상승되지 않는다. 개인화된 맵 데이터 생성 시스템은 또한 사용자가 POI를 얼마나 자주 방문하는지에 대한 설명, 사용자가 POI를 가장 최근에 방문한 시간에 대한 설명과 같이 POI와 사용자 간의 관계에 대한 설명으로 검색 결과에 주석을 달 수 있다. 그런 다음 매핑 애플리케이션은 주석이 달린 검색 결과를 순위 순서로 사용자에게 제시한다.
일부 기동에 대한 참조 프레임으로서 친숙한 랜드 마크를 사용하여 단계별 내비게이션 방향을 제공하는 것에 부가하여, 개인화된 맵 데이터 생성 시스템은 최종 목적지까지의 내비게이션 방향 요청에 응답하여 친숙한 위치를 중간 목적지로 식별할 수 있다. 경우에 따라 중간 목적지는 출발 위치에서 최종 목적지까지의 경로를 따라 배치되지 않고 경로상의 가장 가까운 지점에서 어느 정도 떨어진 거리(X)에 배치된다. 그러나, 중간 목적지는 사용자가 매우 친숙하고 및/또는 사용자가 과거에 여러 번 주행한 랜드 마크일 수 있다. 이러한 방식으로, 개인화된 맵 데이터 생성 시스템은 사용자가 중간 목적지 또는 실제 목적지와 중간 목적지로의 경로들이 공유하는 경유지에 접근할 때까지 내비게이션 방향 전송을 억제하거나 드문드문 내비게이션 방향만을 제공함으로써 사용자에게 제공되는 내비게이션 명령의 양을 크게 줄일 수 있다. 이 시점에서, 개인화된 맵 데이터 생성 시스템은 "전환 (take over)"되어 중간 목적지 또는 공통 경유지로부터 최종 목적지까지의 내비게이션 명령 세트를 제공할 수 있다. 따라서, 개인화된 맵 데이터 생성 시스템은 경우에 따라 친숙한 위치를 참조하는 안내를 결합함으로써 나머지 경로에 대한 단계별 안내를 통해 사용자에게 직관적인 느낌을 준다.
본 개시의 기술의 하나의 예시적인 실시예는 지리 검색 결과를 찾기 위해 디지털 맵 상에 개인화된 랜드 마크를 제공하는 방법이다. 방법은 사용자의 휴대용 디바이스 상에 제시된 디지털 맵 내 관심 지점의 선택을 수신하는 단계와, 사용자에 대한 위치 이력을 획득하는 단계와, 선택된 관심 지점의 임계 거리 내에 있는 복수의 후보 랜드 마크를 식별하는 단계를 포함한다. 방법은(i) 사용자가 후보 랜드 마크를 방문한 빈도 또는 (ii) 사용자가 후보 랜드 마크를 가장 최근에 방문한 이후의 시간량 중 적어도 하나에 기초하여 복수의 후보 랜드 마크 중 하나를 선택하는 단계와, 선택된 랜드 마크를 나타내는 표시자 및 선택된 관심 지점을 나타내는 표시자가 디지털 맵 내에 제시되도록 하는 단계를 더 포함한다.
다른 예시적인 실시예는 개인화된 랜드 마크들을 사용하여 내비게이션 방향을 제공하는 방법이다. 이 방법은 출발 위치에서 최종 목적지 위치까지 휴대용 디바이스의 사용자에 대한 내비게이션 방향 요청을 수신하는 단계와, 목적 위치에 대한 내비 게이션 세트를 생성하는 단계를 포함하고, 세트 내의 각 내비게이션 명령은 특정 위치에서의 기동을 포함한다. 세트 내의 적어도 하나의 내비게이션 명령에 대해, 방법은 사용자에 대한 위치 이력을 획득하는 단계와; 기동을 위한 특정 위치의 임계 거리 내에 있는 내비게이션 랜드 마크를 선택하는 단계와, 상기 랜드 마크는 위치 이력에 따라 (i) 사용자가 내비게이션 랜드 마크를 방문한 빈도 또는 (ii) 사용자가 가장 최근에 내비게이션 랜드 마크를 방문한 이후의 시간량 중 적어도 하나에 기초하여 선택되고; 그리고 선택된 탐색 랜드 마크를 참조하는 내비게이션 명령을 생성하는 단계를 포함한다. 방법은 내비게이션 명령 세트가 휴대용 디바이스의 사용자 인터페이스를 통해 제공되도록 하는 단계를 더 포함한다.
또 다른 예시적인 실시예는 사용자에 대한 친숙도에 기초하여 검색 제안을 제공하는 방법이다. 이 방법은 휴대용 디바이스의 사용자로부터 지리 검색 쿼리를 수신하는 단계; 사용자의 위치 이력을 획득하는 단계; 및 지리 검색 쿼리에 응답하여 검색 결과 세크를 식별하는 단계를 포함하고, 상기 검색 결과 세트는 위치 이력에 따라 사용자가 이전에 방문한 적어도 하나의 관심 지점을 포함한다. 방법은 검색 결과 세트가 휴대용 디바이스의 사용자 인터페이스를 통해 제공되도록하는 단계를 더 포함하고, 상기 검색 결과 세트는 위치 이력에 따라 관심 지점과 사용자 간의 관계에 대한 설명으로 주석이 달린다.
다른 예시적인 실시예는 사용자에게 친숙한 위치를 중간 목적지로 사용하여 내비게이션 방향을 제공하기 위한 방법이다. 이 방법은 시작 위치로부터 최종 목적지 위치까지 사용자에 대한 내비게이션 방향 요청을 수신하는 단계; 사용자에 대한 친숙도에 기초하여 선택된 중간 목적지 위치를 식별하는 단계 및 중간 목적지 위치를 향해 주행하도록 사용자에게 안내하는 제1 내비게이션 명령을 제공하는 단계를 포함한다. 사용자가 중간 목적지 위치 또는 그 중간 목적지 위치를 향한 경로를 따라 특정 경유지에 접근하고 있다는 결정에 응답하여, 방법은 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하는 단계를 포함한다.
또 다른 예시적인 실시예는 사용자에게 친숙한 위치를 중간 목적지로 사용하여 내비게이션 방향을 제공하기 위한 컴퓨팅 디바이스이며, 여기서 컴퓨팅 디바이스는 하나 이상의 프로세서 및 하나 이상의 프로세서에 결합되고 명령들을 저장하는 비 일시적 컴퓨터 판독 가능 메모리를 포함한다. 상기 명령들은 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 디바이스로 하여금 시작 위치로부터 최종 목적지 위치까지 사용자의 내비게이션 방향 요청을 수신하고; 사용자에 대한 친숙도에 기초하여 선택된 중간 목적지 위치를 식별하고; 그리고 중간 목적지 위치를 향해 주행하도록 사용자에게 안내하는 제1 내비게이션 명령을 제공하도록 한다. 사용자가 중간 목적지 위치 또는 그 중간 목적지 위치를 향한 경로를 따라 특정 경유지에 접근하고 있다는 결정에 응답하여, 상기 명령들은 컴퓨팅 디바이스로 하여금 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하도록 한다.
다른 예시적인 실시예는 사용자에게 친숙한 위치를 중간 목적지로 사용하여 내비게이션 방향을 제공하기 위한 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 매체이다. 비-일시적 컴퓨터 판독 가능 메모리는 컴퓨팅 디바이스의 하나 이상의 프로세서에 연결되고 그에 명령들을 저장한다. 이 명령들은 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 시작 위치로부터 최종 목적지 위치까지 사용자에 대한 내비게이션 방향 요청을 수신하고, 사용자에 대한 친숙도에 기초하여 선택된 중간 목적지 위치를 식별하고; 그리고 중간 목적지 위치를 향해 주행하도록 사용자에게 안내하는 제1 내비게이션 명령을 제공하도록 한다. 사용자가 중간 목적지 위치 또는 그 중간 목적지 위치를 향한 경로를 따라 특정 경유지에 접근하고 있다는 결정에 응답하여, 상기 명령들은 하나 이상의 프로세서로 하여금 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하게 한다.
도 1은 개인화된 맵 데이터를 생성하기 위한 기술들이 구현될 수 있는 예시적인 시스템의 블록도이다.
도 2a는 도 1의 개인화된 맵 데이터 생성 시스템이 디지털 맵에 제시할 랜드 마크들을 결정하기 위해 랜드 마크들을 스코어링하는데 사용할 수 있는 사용자 위치 데이터의 예시적인 데이터 테이블이다.
도 2b는 도 1의 개인화된 맵 데이터 생성 시스템이 디지털 맵 상에 제시할 랜드 마크들을 결정하기 위해 대응하는 스코어들에 기초하여 랜드 마크의 순위화하는데 사용할 수 있는 예시적인 데이터 테이블이다.
도 3은 선택된 위치에 대한 참조 프레임을 제공하기 위해 사용자에게 친숙한 랜드 마크와 함께 사용자에 의해 선택된 위치를 포함하는 예시적 인맵 디스플레이이다.
도 4는 검색 제안과 사용자 사이의 관계에 대한 설명으로 주석이 달린 검색 제안들을 포함하는 예시적인 검색 결과 디스플레이이다.
도 5a는 경로를 따라 제시된 친숙한 랜드 마크들을 갖는 목적지까지의 경로를 포함하는 예시적인 내비게이션 디스플레이이다.
도 5b는 기동을 위한 참조 프레임으로서 친숙한 랜드 마크를 갖는 기동을 포함하는 다른 예시적인 내비게이션 디스플레이이다.
도 6a는 사용자의 현재 위치에서 최종 목적지까지의 내비게이션 방향에 대한 요청에 응답하여 제공되는 또 다른 내비게이션 디스플레이이며, 중간 목적지에서 최종 목적지까지의 경로와 함께 중간 목적지로 내비게이션하라는 제1 명령을 포함한다.
도 6b는 중간 목적지에서 최종 목적지까지 도 6a에 제시된 경로를 따르는 기동을 포함하는 상세한 내비게이션 디스플레이이다.
도 6c는 경로를 따라 공통 경유지로부터 중간 목적지 및 도 6a에 제시된 최종 목적지까지의 기동을 포함하는 다른 상세한 내비게이션 디스플레이이다.
도 7은 지리 검색 결과를 찾기 위해 디지털 맵에 개인화된 랜드 마크를 제공하는 예시적인 방법의 흐름도이며, 이는 개인화된 맵 데이터 생성 시스템에서 작동하거나 이와 협력하는 컴퓨팅 디바이스에서 구현될 수 있다.
도 8은 개인화된 맵 데이터 생성 시스템에서 작동하거나 이와 협력하는 컴퓨팅 디바이스에서 구현될 수 있는 개인화된 랜드 마크를 사용하여 내비게이션 방향을 제공하는 예시적인 방법의 흐름도이다.
도 9는 개인화된 맵 데이터 생성 시스템에서 작동하거나 이와 협력하는 컴퓨팅 디바이스에서 구현될 수 있는, 친숙도에 기초하여 사용자에게 검색 제안을 제공하는 예시적인 방법의 흐름도이다.
도 10은 개인화된 맵 데이터 생성 시스템에서 작동하거나 이와 협력하는 컴퓨팅 디바이스에서 구현될 수 있는, 친숙한 위치를 사용하여 중간 목적지로서 사용자에게 내비게이션 방향을 제공하는 예시적인 방법의 흐름도이다.
개요
본 개시는 사용자에 대한 친숙도 또는 다른 적절한 기준에 기초하여 선택된 하나 이상의 중간 위치를 참조함으로써 내비게이션 방향을 보다 효율적으로 생성하기 위한 시스템을 설명한다.
본 명세서에 기술된 주제는 다음의 장점 중 하나 이상을 실현하기 위해 특정 실시예에서 구현될 수 있다. 사용자는 이미 친숙한 특정 위치에 대한 방향을 알고 있을 가능성이 높다. 따라서, 본 명세서에 설명된 방법 및 시스템은 사용자를 최종 목적지 위치로 안내하기 전에 사용자에게 친숙한 중간 목적지 위치를 향해 주행하도록 사용자에게 안내한다. 사용자에게 공지될 가능성이 있는 중간 목적지 위치를 사용함으로써 필요한 내비게이션 명령의 수를 줄일 수 있으며, 이에 따라 컴퓨팅 및 전송 오버 헤드를 줄여 시스템의 효율성을 향상시킬 수 있다. 또한, 내비게이션 명령(지침)은 사용자를 위해 개인화될 수 있으므로 이러한 명령은 사용자를 최종 목적지 위치로 안내하는데 더욱 효과적이다.
중간 목적지 위치는 최종 목적지 위치를 향하는 직접적인 경로를 따라 위치할 필요가 없다. 더욱이, 내비게이션 방향이 중간 목적지 위치까지 제공될 필요는 없으며 사용자의 휴대용 디바이스가 중간 목적지 위치까지 계속 이동할 필요는 없다. 대신에, 사용자의 휴대용 디바이스가 특정 경유지(waypoint, 경로 지점)에 도달하거나 중간 목적지 위치에 접근하는 것에 응답하여 최종 목적지 위치로 라우팅되기 전에 사용자는 중간 목적지 위치를 향해 주행을 시작하도록 안내받을 수 있다. 이것은 친숙한 위치가 최종 목적지 위치로 가는 가장 직접적인 경로를 따라 위치할 필요가 없기 때문에 중간 목적지 위치로 활용될 수 있는 친숙한 위치의 수를 증가시킨다.
추가적으로, 본 명세서에 논의된 "중간 목적지"라는 용어는 일반 대중에게 잘 알려진 위치를 지칭할 필요는 없지만 대신 사용자의 위치 이력을 고려하여 (예를 들어, 사용자가 이전에 해당 위치를 방문한 것으로 인해) 사용자에게 알려진 것으로 간주되는 위치를 나타낼 수 있다.
예시적인 하드웨어 및 소프트웨어 컴포넌트
도 1을 참조하면, 개인화된 맵 데이터 생성 시스템이 구현될 수 있는 예시적인 통신 시스템(100)은 "매핑 애플리케이션(22)으로도 지칭될 수 있는 지리 애플리케이션(22)을 실행하도록 구성된 클라이언트 컴퓨팅 디바이스(10))를 구현하고 이를 포함한다. 구현에 따라, 애플리케이션(22)은 대화형 디지털 맵을 디스플레이하고, 운전, 도보 또는 다른 내비게이션 방향을 제공하기 위해 라우팅 데이터를 요청 및 수신하고, 다양한 지리위치된(geolocated) 컨텐츠 등을 제공할 수 있다. 클라이언트 컴퓨팅 디바이스(10)는 다양한 위치를 내비게이션하면서 디지털 맵을 디스플레이하는 사용자에 의해 조작될 수 있다.
클라이언트 컴퓨팅 디바이스(10)에 추가하여, 통신 시스템(100)은 사용자의 위치 이력에 기초하여 사용자에게 친숙한 랜드 마크들을 식별하고, 기동을 위한 참조 프레임으로서 또는 최종 목적지로 가는 도중의 중간 목적지로서 친숙한 랜드 마크들을 포함하는 내비게이션 방향, 가까운 친숙한 랜드 마크를 포함하는 선택된 위치의 맵 디스플레이, 친숙한 랜드 마크들을 포함하는 검색 결과/제안 등과 같은 개인화된 맵 데이터를 클라이언트 컴퓨팅 디바이스(10)로 제공하도록 구성된 서버 디바이스(60)를 포함한다. 서버 디바이스(60)는 예시적인 구현에서 사용자에 대한 위치 데이터를 저장하는 데이터베이스(80)에 통신적으로 결합될 수 있다. 위치 데이터는 도 2a 및 2b를 참조하여 아래에서 더 자세히 설명된다.
보다 일반적으로, 서버 디바이스(60)는 지리적 컨텍스트에 링크될 수 있는 임의의 유형의 적절한 지리 공간 정보 또는 정보를 저장하는 하나 또는 다수의 데이터베이스와 통신할 수 있다. 통신 시스템(100)은 또한 예를 들어 운전, 도보, 자전거 또는 대중 교통 방향을 제공하는 내비게이션 데이터 서버(34)를 포함할 수 있다. 또한, 통신 시스템(100)은 맵 디스플레이를 생성하기 위해 서버 디바이스(60)에 맵 데이터를 제공하는 맵 데이터 서버(50)를 포함할 수 있다. 통신 시스템(100)에서 동작하는 디바이스는 통신 네트워크(30)를 통해 상호 연결될 수 있다.
다양한 구현에서, 클라이언트 컴퓨팅 디바이스(10)는 스마트 폰 또는 태블릿 컴퓨터일 수 있다. 클라이언트 컴퓨팅 디바이스(10)는 메모리(20), 하나 이상의 프로세서(CPU)(16), 그래픽 처리 장치(GPU)(12), I/O 모듈(14), 사용자 인터페이스(UI)(32), 및 GPS 모듈을 포함하는 하나 또는 여러 센서(19)를 포함할 수 있다. 메모리(20)는 비-일시적 메모리일 수 있고, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 메모리, 다른 유형의 영구 메모리 등과 같은 하나 또는 여러 개의 적절한 메모리 모듈을 포함할 수 있다. I/O 모듈(14)은 예를 들어 터치 스크린일 수 있다. 다양한 구현에서, 클라이언트 컴퓨팅 디바이스(10)는 도 1에 도시된 것보다 적은 수의 컴포넌트 또는 반대로 추가 컴포넌트를 포함할 수 있다. 다른 실시예에서, 클라이언트 컴퓨팅 디바이스(10)는 임의의 적절한 휴대용 또는 비-휴대용 컴퓨팅 디바이스일 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스(10)는 랩탑 컴퓨터, 데스크탑 컴퓨터, 웨어러블 디바이스(예를 들어, 스마트 워치 또는 스마트 안경 등)일 수 있다.
메모리(20)는 임의의 유형의 적절한 모바일 또는 범용 운영 체제일 수 있는 운영 체제(OS)(26)를 저장한다. OS(26)는 애플리케이션들이 센서 판독 값을 검색할 수 있도록 하는 애플리케이션 프로그래밍 인터페이스(API) 기능을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(10)에서 실행하도록 구성된 소프트웨어 애플리케이션은 해당 순간에 클라이언트 컴퓨팅 디바이스(10)의 현재 위치를 검색하기 위해 OS(26) API를 호출하는 명령을 포함할 수 있다. API는 API의 추정치에 대한 정량적 표시(예를 들어, 백분율)를 반환할 수도 있다.
메모리(20)는 또한 전술한 바와 같이 대화형 디지털 맵을 생성하고 및/또는 다른 지리적 기능을 수행하도록 구성된 매핑 애플리케이션(22)을 저장한다. 매핑 애플리케이션(22)은 맵 데이터 서버(50)로부터 래스터(예를 들어, 비트 맵) 또는 비-래스터(예를 들어, 벡터 그래픽) 형식으로 맵 데이터를 수신하고 개인화된 데이터 디스플레이(24)를 통해 맵 데이터를 제시할 수 있다. 일부 경우, 맵 데이터는 도로, 거리, 자연 지형 등을 묘사하는 기본 레이어, 현재 교통 상황을 나타내는 교통 레이어, 현재 날씨 상태를 묘시하는 날씨 레이어, 목적지 도착 경로를 묘사하는내비게이션 레이어 등과 같은 레이어로 구성될 수 있다. 매핑 애플리케이션(22)은 또한 운전, 도보 또는 대중 교통 방향을 디스플레이할 수 있으며, 일반적으로 개인화된 데이터 디스플레이(24)를 통해 지리, 지오로케이션(지리적 위치), 내비게이션 등과 관련된 기능을 제공한다.
도 1은 독립형 애플리케이션으로서 매핑 애플리케이션(22)을 도시하고 있지만, 매핑 애플리케이션(22)의 기능은 또한 클라이언트 컴퓨팅 디바이스(10)에서 실행되는 다른 소프트웨어 애플리케이션에 대한 플러그인 또는 확장으로서 클라이언트 컴퓨팅 디바이스(10)에서 실행되는 웹 브라우저를 통해 액세스 가능한 온라인 서비스의 형태로 제공될 수 있다. 매핑 애플리케이션(22)은 일반적으로 상이한 개별 운영 체제에 대해 상이한 버전으로 제공될 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스(10)의 제작사는 안드로이드 플랫폼용 매핑 애플리케이션(22), iOS ™ 플랫폼용 다른 SDK 등을 포함하는 소프트웨어 개발 키트(SDK)를 제공할 수 있다.
일부 구현에서, 서버 디바이스(60)는 하나 이상의 프로세서(62) 및 메모리 (64)를 포함한다. 메모리(64)는 유형의 비-일시적 메모리일 수 있고, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 메모리, 다른 유형의 영구 메모리 등을 포함하는 임의의 유형의 적절한 메모리 모듈을 포함할 수 있다. 메모리(64)는 후보 랜드 마크들을 식별하고, 사용자가 후보 랜드 마크를 방문한 빈도 및/또는 최근성에 기초하여 후보 랜드 마크들에 순위를 매기고 스코어를 매기며, 맵 디스플레이 및/또는 맵 디스플레이에 제시되는 내비게이션 방향에 포함할 최고 순위 후보 랜드 마크들 중 하나 또는 여러 개를 선택할 수 있는 개인화된 맵 데이터 생성기(68)를 구성하는 프로세서(62)상에서 실행 가능한 명령들을 저장한다. 개인화된 맵 데이터 생성기는 또한 사용자가 검색 결과에 대응하는 POI를 방문한 빈도 및/또는 최근성에 기초하여 검색 결과의 순위를 높일 수 있다. 그런 다음 개인화된 맵 데이터 생성기는 클라이언트 컴퓨팅 디바이스(10)의 개인화된 데이터 디스플레이(24)에 의한 디스플레이를 위해 친숙한 랜드 마크들을 포함하는 맵 데이터, 내비게이션 데이터 및/또는 검색 결과를 제공할 수 있다.
개인화된 맵 데이터 생성기(68) 및 개인화 데이터 디스플레이(24)는 개인화된 맵 데이터 생성 시스템의 컴포넌트로서 동작할 수 있다. 대안적으로, 개인화된 맵 데이터 생성 시스템은 서버 측 컴포넌트들만을 포함할 수 있고, 단순히 개인화된 맵 데이터를 디스플레이하기 위한 명령을 개인화된 데이터 디스플레이(24)로 제공할 수 있다. 즉, 이러한 실시예에서 개인화된 맵 데이터 생성 기술은 개인화된 데이터 디스플레이(24)에 투명하게 구현될 수 있다. 다른 대안으로서, 개인화된 맵 데이터 생성기(68)의 전체 기능은 개인화 데이터 디스플레이(24)에서 구현될 수 있다.
단순화를 위해, 도 1은 서버의 단 하나의 인스턴스로서 서버 디바이스(60)를 도시한다. 그러나, 일부 구현에 따라 서버 디바이스(60)는 각각이 하나 이상의 프로세서를 구비하고 다른 서버 디바이스들과 독립적으로 동작할 수 있는 하나 이상의 서버 디바이스의 그룹을 포함한다. 이러한 그룹에서 작동하는 서버 디바이스들은, 요청을 처리하는 것과 관련된 하나의 동작은 하나의 서버 디바이스에서 수행되는 동안 동일한 요청을 처리하는 것과 관련된 다른 동작은 다른 서버 디바이스에서 또는 임의의 다른 적절한 기술에 따라 수행되는 분산 방식으로, 클라이언트 컴퓨팅 디바이스(10)로부터의 요청을 개별적으로(예를 들어, 가용성에 기초하여) 처리할 수 있다. 이러한 논의를 위해, "서버 디바이스"라는 용어는 개별 서버 디바이스 또는 둘 이상의 서버 디바이스 그룹을 지칭할 수 있다.
동작시 클라이언트 컴퓨팅 디바이스(10)에서 동작하는 개인화된 데이터 디스플레이(24)는 데이터를 수신하여 서버 디바이스(60)로 전송한다. 따라서, 일 예에서, 클라이언트 컴퓨팅 디바이스(10)는 사용자가 위치 데이터를 공유하기 위한 권한을 매핑 애플리케이션(22)에 제공하는 사용자 컨트롤을 선택할 때 (서버 디바이스(60)에 구현된) 개인화된 맵 데이터 생성기(68)로 위치 데이터를 전송할 수 있다. 위치 데이터는 위치에서의 체크인에 따라 사용자가 방문한 위치의 이름 또는 주소 또는 센서(19)로부터의 위치 데이터, 사용자가 그 위치를 방문한 날짜 및 시간, 사용자가 그 위치를 방문한 시간량, 및/또는 스위스 취리히에 있는 하우프트슈트라세 123의 "밥의 집"과 같이 사용자가 제공한 위치에 대한 레이블을 포함할 수 있다. 일부 실시예에서, 개인화된 데이터 디스플레이(24)는 클라이언트 컴퓨팅 디바이스(10)가 임계 시간 기간(예를 들어, 1 분) 이상 동안 위치에 있을 때 위치 데이터를 제공한다. 이러한 방식으로, 개인화된 데이터 디스플레이(24)는 사용자가 목적지로 가는 도중에 지나가는 위치를 식별하지 않는다.
다른 예에서, 클라이언트 컴퓨팅 디바이스(10)는 내비게이션 방향, 선택된 위치에 대한 맵 데이터, 검색 결과/제안 등을 요청하는 통신을 개인화된 맵 데이터 생성기(68)로 전송할 수 있다. 따라서, 개인화된 맵 데이터 생성기(68)는 내비게이션 데이터 서버(34), 맵 데이터 서버(50) 및/또는 임의의 다른 적절한 서버와 통신하여, 요청된 내비게이션 방향, 선택된 위치에 대한 맵 데이터, 또는 검색 결과/제안을 검색할 수 있다. 추가적으로로, 개인화된 맵 데이터 생성기(68)는 예를 들어 도 2a에 도시된 바와 같이 데이터베이스(80)에 저장된 위치 데이터 테이블(200)로부터 클라이언트 컴퓨팅 디바이스(10)의 사용자에 대한 위치 데이터를 획득한다. 위치 데이터(200)는 클라이언트 컴퓨팅 디바이스(10)의 사용자에 대한 사용자 식별자(사용자 ID)(202)를 포함할 수 있다. 위치 데이터(200)는 또한 임계 시간량(예를 들어, 1 분) 이상 동안 사용자가 방문한 위치의 이름 또는 주소(204)를 포함할 수 있다. 게다가, 위치 데이터(200)는 방문 날짜(206) 및 시간(208), 위치(210)에서 보낸 시간량, 및 "부모의 집", "직장", "좋아하는 레스토랑"과 같이 그 위치에 대해 사용자가 제공한 이름을 나타내는 위치 레이블(212)을 포함할 수 있다. 예를 들어, 데이터 테이블(200)의 제1 항목은 사용자가 2018년 7월 11일 오후 8시에 5분간 취리히의 하우프트슈트라세 789 소재의 스타벅스® 204를 방문했으며, 스타벅스®에 대한 레이블을 제공하지 않았음을 나타낸다.
개인화된 맵 데이터 생성기(68)는 도 2b에 도시된 데이터 테이블(250)에 도시된 바와 같이 빈도 스코어(258), 최근성 스코어(260) 및 전체 스코어(262)를 포함하는 위치 데이터 테이블(200)에서 각 위치(204)에 하나 이상의 스코어를 할당한다. 빈도 스코어(258)는 사용자가 그 위치를 방문한 총 횟수, 사용자가 임계 시간 기간(예를 들어, 전월) 내에 그 위치를 방문한 횟수, 사용자가 그 위치를 방문한 평균 비율(예를 들어, 한 달에 세 번, 일 년에 두 번 등) 또는 임의의 다른 적절한 방식에 기초하여 결정될 수 있다. 사용자가 위치를 방문()하거나 기타 적절한 방식으로 방문한다. 예를 들어, 위치 데이터 테이블(200)은 사용자가 2018년 6월 12일 이후 취리히의 하우프트슈트라세 789 소재의 스타벅스® 204를 두 번 방문했음을 나타낸다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 위치(210)에서 보낸 시간량을 빈도 스코어(258)에 반영할 수 있는데, 그 이유는 사용자가 빨리 떠난 위치에 비해 상당한 시간을 보낸 위치에 더 친숙할 수 있기 때문이다. 예를 들어, 임계 시간량(예를 들어, 5 분) 미만의 방문은 사용자가 해당 위치를 방문한 횟수에 포함되지 않을 수 있다. 다른 예에서, 빈도 스코어(258)는 사용자가 위치를 방문한 가중 횟수에 기초하여 결정될 수 있는데, 여기서 방문에는 사용자가 위치에 더 오래 머무를수록 더 높은 가중치가 할당된다.
최근성 스코어(260)는 사용자가 그 위치를 마지막으로 방문한 이후의 시간량 또는 사용자가 빈도 임계값 이상의 비율로 그 위치를 방문한 이후의 시간량에 기초하여 결정될 수 있다. 예를 들어, 사용자가 이전에는 몇 달 동안 일주일에 한 번 그 위치를 방문했지만 지금은 일년에 한 번만 그 위치를 방문하는 경우, 최근성 스코어(260)는 사용자가 일주일에 한 번 마지막으로 해당 위치를 방문한 이후의 시간량에 기초할 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 위치(210)에서 보낸 시간량을 최근성 스코어(260)에 반영할 수 있다. 예를 들어, 임계 시간량(예를 들어, 5 분) 미만의 방문은 사용자가 해당 위치를 방문한 가장 최근 시간으로 포함되지 않을 수 있다.
전체 스코어(262)는 빈도(258) 및 최근성 스코어(260)의 임의의 적절한 조합에 기초하여 결정될 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 빈도(258) 및 최근성 스코어(260)를 집계하여 전체 스코어(262)를 생성하고, 빈도(258) 및 최근성 스코어(260)를 평균화하여 전체 스코어(262)를 생성하거나 빈도(258) 및 최근성 스코어(260)를 곱하여 전체 스코어를 생성한다. 다른 실시예에서, 개인화된 맵 데이터 생성기(68)는 빈도(258) 및 최근성 스코어(260) 각각에 가중치를 할당하고, 빈도(258) 및 최근성 스코어(260)의 가중치 조합을 계산하여 전체 스코어(262)를 생성한다. 예를 들어, 개인화된 맵 데이터 생성기(68)는 빈도 스코어(258)에 0.6의 가중치, 최근성 스코어(260)에 0.4의 가중치를 할당하고, 그 스코어들의 가중 평균을 계산할 수 있다.
내비게이션 방향에 대한 요청 및 내비게이션 데이터 서버(34)로부터 경로를 따라 다양한 경유지에서의 기동을 포함하는 후속 내비게이션 명령 세트를 수신하는 것에 응답하여, 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크들로서 각 경유지의 임계 거리 내의 위치들(204)을 위치 데이터 테이블(200)에서 식별한다. 그런 다음 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크들에 대한 전체 스코어(262)를 획득하고 전체 스코어(262)에 따라 후보 랜드 마크들의 순위를 매긴다. 일부 실시예에서, 후보 랜드 마크가 임계값 순위보다 높은 순위를 갖거나 임계값 스코어보다 높은 스코어를 갖는 경우, 개인화된 맵 데이터 생성기(68)는 대응하는 기동에 대한 내비게이션 명령에 포함할 후보 랜드 마크를 선택한다. 예를 들어, 기동이 빌의 집에 대해 임계 거리 내에 있는 경유지에서 우회전하고 빌의 집이 임계 이상의 전체 스코어를 가지는 경우, 개인화된 맵 데이터 생성기(68)는 "빌의 집을 지나 교차로에서 우회전" 또는 "빌의 집 전 교차로에서 우회전" 명령을 생성한다. 다른 실시예에서, 개인화된 맵 데이터 생성기(68)는 각 경유지의 임계 거리 내의 후보 랜드 마크들을 식별하고, 특정 경유지에 대응하는 후보 랜드 마크들의 순위를 매기고, 내비게이션 명령에 포함할 특정 경유지에 대한 최고 순위의 후보 랜드 마크를 선택한다.
일부 시나리오에서, 개인화된 맵 데이터 생성기(68)는 최고 순위의 후보 랜드 마크가 임계 스코어 이상의 최소 스코어를 가질 때 내비게이션 명령에 포함할 특정 경유지에 대한 최고 순위의 후보 랜드 마크만을 선택한다. 그렇지 않으면, 개인화된 맵 데이터 생성기(68)는 "메인 스트리트로 우회전"과 같은 디폴트 내비게이션 명령을 사용한다. 다른 시나리오에서, 개인화된 맵 데이터 생성기(68)는 내비게이션 명령(예를 들어, 3)에 포함할 랜드 마크의 최대 임계수를 선택한다. 따라서, 개인화된 맵 데이터 생성기(68)는 최대 임계수를 초과하지 않도록 상이한 경유지들에 대해 최고 순위의 후보 랜드 마크들을 선택한다. 예를 들어, 최대 임계값 수가 3이고 제2 순위 및 제3 순위 후보 랜드 마크가 동일한 경유지에 대한 것이면, 개인화된 맵 데이터 생성기(68)는 내비게이션 명령에 포함할 제1 및 제2 순위 후보 랜드 마크와 제4 순위 후보 랜드 마크를 선택한다. 임의의 경우에, 개인화된 맵 데이터 생성기(68)는 개인화된 데이터 디스플레이(24)를 통한 프리젠테이션을 위해 상기 선택된 랜드 마크를 포함하는 네비게이션 명령 세트를 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공한다.
맵 데이터 서버(50)로부터 위치의 선택 및 선택된 위치에 대한 후속 맵 데이터를 수신하는 것에 응답하여, 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크로서 상기 선택된 위치의 임계 거리 내의 위치들(204)를 위치 데이터 테이블(200)에서 식별한다. 그런 다음 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크들에 대한 전체 스코어들(262)을 획득하고 전체 스코어들(262)에 따라 후보 랜드 마크들의 순위를 매긴다. 개인화된 맵 데이터 생성기(68)는 최고 순위의 후보 랜드 마크를 선택하고, 선택된 위치의 표시 및 선택된 랜드 마크의 표시를 포함하는 맵 데이터를 개인화된 데이터 디스플레이(24)를 통한 프리젠테이션을 위해 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공한다. 이에 응답하여, 개인화된 데이터 디스플레이(24)는 선택된 위치 및 선택된 랜드 마크를 나타내는 핀 또는 다른 아이콘과 같은 상기 선택된 랜드 마크 및 선택된 위치의 표시들과 함께 선택된 위치 및 선택된 랜드 마크를 포함하는 지리 영역의 맵 디스플레이를 제공한다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 사용자가 랜드 마크를 방문한 빈도에 대한 설명(예를 들어, "당신은 자주 여기에 옵니다") 또는 사용자가 랜드 마크를 방문한 최근성에 대한 설명(예를 들어, "지난주에 여기에 있었습니다")과 같이 선택된 랜드 마크와 사용자사이의 관계에 대한 설명을 생성한다. 그런 다음 개인화된 맵 데이터 생성기(68)는 맵 디스플레이가 선택된 랜드 마크와 사용자 사이의 관계에 대한 설명으로 주석 달리도록 한다.
지리 검색 쿼리를 수신하는 것에 응답하여 맵 데이터 서버(50)로부터 검색 결과에 대한 스코어들/순위들과 함께 지리 검색 쿼리 및 후속 검색 결과를 수신하는 것에 응답하여, 개인화된 맵 데이터 생성기(68)는 검색 결과에 포함된 위치들(204)을 위치 데이터 테이블(200)에서 식별한다. 그런 다음 개인화된 맵 데이터 생성기(68)는 사용자가 위치를 방문한 빈도에 대한 설명(예를 들어, "당신은 자주 여기에 옵니다") 또는 사용자가 위치를 최근에 방문한 최근성에 대한 설명(예를 들어, "당신은 지난주에 여기에 있었습니다")과 같은 위치와 사용자 사이의 관계에 대한 설명으로 사용자의 위치 이력에 포함된 위치들에 대한 검색 결과에 주석을 단다. 추가적으로, 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 예를 들어, 사용자가 이전에 방문한 위치들에 대한 검색 결과의 스코어를 증가시키거나 및/또는 순위를 높임으로써 검색 결과의 스코어/순위를 조정한다.
보다 구체적으로, 개인화된 맵 데이터 생성기(68)는 맵 데이터 서버(50)에 의해 생성된 각각의 검색 결과에 대한 관련성 스코어를 획득할 수 있다. 관련성 스코어에 추가하여, 개인화된 맵 데이터 생성기(68)는 사용자가 이전에 방문한 위치들에 대해 도 2b에 도시된 데이터 테이블(250)로부터 빈도 스코어(258), 최근성 스코어(260) 및/또는 전체 스코어(262)를 획득한다. 사용자가 이전에 방문한 적이 없는 위치들에 대해, 개인화된 맵 데이터 생성기(68)는 위치 및 다른 디폴트 스코어에 0의 디폴트 전체 스코어를 할당할 수 있다. 임의의 경우에, 각각의 검색 결과에 대해, 개인화된 맵 데이터 생성기(68)는 관련성 스코어, 빈도 스코어(258) 및 최근성 스코어(260)를 결합하여 증가된(boosted) 검색 결과 스코어를 생성한다. 그런 다음, 개인화된 맵 데이터 생성기(68)는 증가된 검색 결과 스코어에 따라 검색 결과의 순위를 재지정하고, 개인화된 데이터 디스플레이(24)를 통해 프레젠테이션하기 위해 사용자의 클라이언트 컴퓨팅 디바이스(10)에 개별 주석과 함께 재 순위화된 검색 결과를 제공한다.
다른 실시예에서, 출발 위치(예를 들어, 사용자의 현재 위치)로부터 최종 목적지까지의 내비게이션 방향의 요청 및 내비게이션 데이터 서버(34)로부터 경로를 따라 다양한 경유지에서의 기동을 포함하는 후속 내비게이션 명령 세트를 수신하는 것에 응답하여, 개인화된 맵 데이터 생성기(68)는 후보 중간 목적지들로서 최종 목적지의 임계 거리 내의 위치들(204)을 위치 데이터 테이블(200)에서 식별한다. 개인화된 맵 데이터 생성기(68)는 또한 후보 중간 목적지로서 각 경유지의 임계 거리 내의 위치들(204)을 위치 데이터 테이블(200)에서 식별할 수 있다. 또한, 개인화된 맵 데이터 생성기(68)는 출발 위치로부터 최종 목적지까지의 제1 경로와 교차하는 출발 위치로부터 후보 중간 목적지까지의 제2 경로를 갖는 위치들(204)을 후보 중간 목적지로 식별할 수 있다. 보다 구체적으로, 후보 중간 목적지는 출발 위치로부터 최종 목적지까지의 제1 경로를 따라 경유지들 중 하나와 함께 출발 위치로부터 후보 중간 목적지까지의 제2 경로를 따라 공통 경유지를 갖는 위치들(204)을 포함할 수 있다.
일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 사용자가 후보 중간 목적지 위치를 방문한 빈도가 임계 빈도보다 크거나 또는 사용자가 후보 중간 목적지 위치를 가장 최근에 방문한 이후의 시간량이 임계 시간량보다 적을 때 후보 중간 목적지를 선택한다.
다른 실시예에서, 개인화된 맵 데이터 생성기(68)는 후보 중간 목적지에 대한 전체 스코어(262)를 획득하고 전체 스코어(262)에 따라 후보 중간 목적지들의 순위를 매긴다. 또 다른 실시예에서, 개인화된 맵 데이터 생성기(68)는 후보 중간 목적지에 대한 빈도(258) 및 최근성(260) 스코어를 획득한다. 개인화된 맵 데이터 생성기(68)는 또한 후보 중간 목적지로부터 최종 목적지까지의 거리, 후보 중간 목적지까지의 경로를 따라 공통 경유지로부터 최종 목적지까지의 거리 및/또는 출발 위치로부터 최종 목적지까지의 경로를 따라 가장 가까운 경유지로부터 후보 중간 목적지까지의 거리에 기초하여 각각의 후보 중간 목적지에 거리 스코어를 할당한다.
일부 시나리오에서, 거리 스코어는 최종 목적지까지의 거리에 반비례하므로 최종 목적지까지의 거리가 감소함에 따라 거리 스코어가 증가할 수 있다. 또한 일부 시나리오에서, 거리 스코어들은 후보 중간 목적지로부터 최종 목적지까지의 거리에 기초한 거리 스코어들이 제1 계층(tier)에 배치될 수 있도록 계층화될 수 있다. 후보 중간 목적지까지의 경로를 따라 공통 경유지로부터 최종 목적지까지의 거리에 기초한 거리 스코어들은 제2 계층에 배치될 수 있다. 더욱이, 출발 위치로부터 최종 목적지까지의 경로를 따라 가장 가까운 경유지로부터 후보 중간 목적지까지의 거리에 기초한 거리 스코어들은 제3 계층에 배치될 수 있다. 제1 계층 거리 스코어들은 각각 제2 계층 거리 스코어들보다 높을 수 있고, 제2 계층 거리 스코어들은 각각 제3 계층 거리 스코어들보다 높을 수 있다.
임의의 경우, 개인화된 맵 데이터 생성기(68)는 임의의 적절한 방식으로 빈도(258), 최근성(260) 및 거리 스코어를 결합하여 중간 목적지 스코어를 생성한다. 그런 다음, 개인화된 맵 데이터 생성기(68)는 중간 목적지 스코어에 따라 후보 중간 목적지들을 순위화한다.
일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 빈도(258), 최근성(260) 및 거리 스코어들을 집계하여 중간 목적지 스코어를 생성하고, 빈도(258), 최근성(260) 및 거리 스코어들을 평균화하여 중간 목적지 스코어를 생성하거나 또는 빈도(258), 최근성(260) 및 거리 스코어들을 곱하여 중간 목적지 스코어를 생성한다. 다른 실시예에서, 개인화된 맵 데이터 생성기(68)는 빈도(258), 최근성(260) 및 거리 스코어들 각각에 가중치를 할당하고, 빈도(258), 최근성(260) 및 거리 스코어들의 가중 조합을 계산하여 중간 목적지 스코어를 생성한다. 예를 들어, 개인화된 맵 데이터 생성기(68)는 빈도 스코어(258)에 0.4의 가중치, 최근성 스코어(260)에 0.4의 가중치, 거리 스코어에 0.2의 가중치를 할당하고 스코어들의 가중 평균을 계산할 수 있다.
임의의 경우에, 개인화된 맵 데이터 생성기(68)는 최고 순위의 후보 중간 목적지를 선택하고, 출발 위치로부터 상기 선택된 중간 목적지까지의 단계별 내비게이션 명령을 제공하지 않는다. 대신, 개인화된 맵 데이터 생성기(68)는 개인화된 데이터 디스플레이(24)를 통한 프리젠테이션을 위해 사용자에게 상기 선택된 중간 목적지로 주행하라는 제1 내비게이션 명령을 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공한다. 개인화된 맵 데이터 생성기(68)는 또한 선택된 중간 목적지로부터 최종 목적지까지의 내비게이션 방향 또는 최종 목적지로의 경로를 따라 경유지와 공통인 상기 선택된 중간 목적지에 대한 경로를 따라 경유지로부터 최종 목적지까지의 내비게이션 방향을 획득할 수 있다. 이어서 개인화된 맵 데이터 생성기(68)는 최종 목적지까지의 내비게이션 방향을 사용자의 클라이언트 컴퓨팅 디바이스(10)에 제공한다. 차례로, 개인화된 데이터 디스플레이(24)는 센서(19)를 통해 클라이언트 컴퓨팅 디바이스(10)가 상기 선택된 중간 목적지에 대한 경로를 따라 상기 선택된 중간 목적지 또는 공통 경유지에 접근하고 있다고 결정하는 것에 응답하여 최종 목적지까지의 내비게이션 방향을 제시한다. .
참조 프레임으로서 친숙한 랜드 마크를 갖는 예시적인 위치 디스플레이
전술한 바와 같이, 사용자는 클라이언트 컴퓨팅 디바이스(10)에서 동작하는 매핑 애플리케이션(22)에서 위치를 선택할 수 있다. 예를 들어, 사용자는 개인화된 데이터 디스플레이(24)에 의해 맵 디스플레이에 제시된 위치를 터치-선택할 수 있고, 매핑 애플리케이션(22)에 의해 제시된 검색 제안 또는 검색 결과를 터치-선택할 수 있고, 매핑 애플리케이션(22)에서 사용자 컨트롤을 통해 특정 위치의 주소 또는 이름을 입력할 수 있거나 임의의 다른 적절한 방식으로 위치를 선택할 수 있다. 그런 다음, 개인화된 데이터 디스플레이(24)는 그 위치를 둘러싼 지리적 영역에 대한 맵 데이터 요청과 함께 선택된 위치를 서버 디바이스(60)로 제공할 수 있다. 이에 응답하여, 서버 디바이스(60)는 맵 데이터를 생성하고, 선택된 위치에 대한 참조 프레임으로서 제시될 그 선택된 위치의 임계 거리 내의 친숙한 랜드 마크를 선택하여 맵 디스플레이내에서 사용자의 방향을 지정한다. 그런 다음, 서버 디바이스(60)는 맵 데이터, 선택된 랜드 마크 및 선택된 랜드 마크에 관한 정보(예를 들어, 선택된 랜드 마크와 사용자 간의 관계에 대한 설명)를 개인화된 데이터 디스플레이(24)에 의해 제시될 클라이언트 컴퓨팅 디바이스(10)로 제공한다. 도 3은 사용자에 의해 선택된 위치(302)인 Riffraff Kino/Bar/Bistro를 포함하는 예시적 인맵 디스플레이(300)를 도시한다. 선택된 위치(302)에는 핀과 같은 표시자가 제시되거나 임의의 다른 적절한 아이콘이 제시될 수 있다. 예시적인 맵 디스플레이(300)에서, 위치(302)는 위치의 이름인 Riffraff Kino/Bar/Bistro를 검색 바에 입력함으로써 선택된다. 그러나, 위치(302)는 맵 디스플레이(300)상의 위치를 터치-선택하는 것과 같은 임의의 다른 적절한 방식으로 선택될 수 있다.
예시적인 맵 디스플레이(300)는 또한 핀 또는 다른 아이콘과 같은 표시자와 함께 사용자에게 친숙한 랜드 마크(304)인 "The International Beer Bar"를 포함한다. 더욱이, 맵 디스플레이(300)는 친숙한 랜드 마크(304)와 사용자 "당신은 여기에 자주 옵니다"사이의 관계를 설명하는 주석(306)을 포함한다. 일부 실시예에서, 선택된 위치(302), 친숙한 랜드 마크(304) 및 주석를 둘러싸는 지리적 영역에 대한 맵 데이터는 서버 디바이스, 특히 개인화된 맵 데이터 생성기(68)로부터 클라이언트 컴퓨팅 디바이스(10)로 제공된다. 예를 들어, 다른 맵 디스플레이(미도시)에서, 매핑 애플리케이션(22)은 사용자에게 위치 데이터 공유 요청 및 위치 데이터 공유 여부를 선택하기 위한 사용자 컨트롤을 프롬프트한다. 만약 사용자가 위치 데이터를 공유하기 위해 사용자 컨트롤을 선택하면, 개인화된 맵 데이터 생성기(68)는 전술한 바와 같이 클라이언트 컴퓨팅 디바이스(10)로부터 위치 데이터를 수신한다.
선택된 위치(302)를 둘러싸는 지리적 영역에 대한 맵 데이터 요청에 응답하여, 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크로서 선택된 위치(302)의 임계 거리(예를 들어, 50m, 100m, 200m, 0.5km, 1km 등) 내에 있는 위치 데이터의 위치를 식별한다. 그런 다음 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크에 대한 전체 스코어(262)를 획득하고 전체 스코어(262)에 따라 후보 랜드 마크들의 순위를 매긴다. 개인화된 맵 데이터 생성기(68)는 최고 순위의 후보 랜드 마크를 선택하고, 선택된 랜드 마크와 사용자 간의 관계에 대한 설명(description)을 생성한다. 예를 들어, 사용자가 선택된 랜드 마크를 적어도 임계 횟수만큼 방문한 경우, 개인화된 맵 데이터 생성기(68)는 "당신은 자주 여기에 옵니다"라는 설명을 생성한다. 사용자가 임계 일(day) 수 내에 상기 선택된 랜드 마크를 마지막으로 방문한 경우, 개인화된 맵 데이터 생성기(68)는 "당신이 X일 전에 여기에 있었습니다"또는 "당신이 지난 주에 여기에 있었습니다"라는 설명을 생성한다. 개인화된 데이터 디스플레이(24)는 맵 데이터, 선택된 위치(302), 친숙한 랜드 마크(304) 및 주석(306)을 사용하여 맵 디스플레이(300)를 제시한다. 이러한 방식으로, 사용자는 맵 디스플레이(300)를 보고, 근처의 친숙한 랜드 마크에 기초하여 선택된 위치를 포함하는 영역을 적어도 이해할 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 선택된 랜드 마크에 대한 위치 레이블(212)(예를 들어, "집", "직장", "밥의 집")을 위치 이름(204)이 아닌 개인화된 데이터 디스플레이(24)에 제공하고, 맵 디스플레이(300)에는 위치 라벨(212)이 제공된다.
친숙한 위치에 대한 주석 결과를 갖는 예시적인 검색 결과 디스플레이
선택된 위치들과 함께 개인화된 맵 데이터를 제시하는 것 외에도, 개인화된 맵 데이터 생성 시스템은 친숙한 위치인 "카페 헨리치(Cafe Henrici)"에 대응하는 주석(annotated) 결과(402)와 함께 도 4에 도시된 바와 같이 검색 결과 디스플레이(400)를 제시한다. 주석 결과(402)의 순위는 친숙도에 기초하여 증가될 수도 있다. 도 4에 도시된 바와 같이, 검색 결과/제안은 부분 지리 검색 쿼리일 수 있는 지리 검색 쿼리인 카페에 응답하여 생성된다. 예를 들어, 개인화된 데이터 디스플레이(24)는 사용자 입력인 "카페"를 수신하여, 사용자 입력을 서버 디바이스(60)에 제공할 수 있다. 따라서, 서버 디바이스(60)는 맵 데이터 서버(50) 또는 다른 적절한 서버와 통신하여 지리 검색 쿼리와 관련된 지리 검색 결과를 검색한다. 일부 실시예에서, 검색된 지리 검색 결과 각각은 사용자의 현재 위치의 임계 거리 내에 있거나 사용자의 클라이언트 컴퓨팅 디바이스(10)의 맵 디스플레이 상에 제시된 지리적 영역의 임계 거리 내에 있다.
임의의 경우에, 서버 디바이스(60)는 지리 검색 결과 각각에 대한 관련성 스코어와 함께 순위화된 순서의 지리 검색 결과를 획득할 수 있다. 검색 결과 디스플레이(400)에서, 검색 결과는 Cafe des Musees, Cafe Henrici, Cafe Grumpy, Cafe Bistrot, Cafe de Paris, Cafe De La Paix 및 Cafe dolce amaro가 포함된다. 개인화된 맵 데이터 생성기(68)는 Cafe Henrici와 같은 검색 결과에 포함된 사용자의 위치 이력으로부터 위치들(204)을 식별한다. 그런 다음, 개인화된 맵 데이터 생성기(68)는 "당신은 지난주에 여기에 있었습니다"(404)와 같이 위치와 사용자 사이의 관계에 대한 설명으로 사용자의 위치 이력에 포함된 위치들에 대한 검색 결과에 주석을 단다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 예를 들어 사용자가 이전에 방문한 위치들에 대한 검색 결과의 순위를 증가시킴으로써 검색 결과의 스코어/순위를 조정한다. 예를 들어, Cafe Henrici는 검색 결과 디스플레이 (400)에서 2위로 순위화되는 반면, 관련성에 기초한 초기 순위는 Cafe Henrici가 4 위일 수 있다. 그러나, Cafe Henrici에 대한 전체 친숙도 스코어(262) 및 관련성 스코어에 기초하여, 개인화된 맵 데이터 생성기(68)는 Cafe Henrici를 순위에서 2 위까지 높인다. 일부 실시예에서, 사용자의 위치 이력에 포함된 검색 결과에 대해, 개인화된 맵 데이터 생성기(68)는 위치(204)의 이름이 아니라 검색 결과에 사용자에 의해 제공된 위치 레이블(212)(예를 들어, "집", "직장", "밥의 집")을 포함할 수 있다. 개별 주석과 함께 재순위화된 검색 결과는 사용자의 클라이언트 컴퓨팅 디바이스(10)로 전송되고, 개인화된 데이터 디스플레이(24)는 클라이언트 컴퓨팅 디바이스(10)의 사용자 인터페이스(32)에 검색 결과 디스플레이(400)를 제시한다.
친숙한 랜드 마크가 있는 에시적인 내비게이션 방향
또한, 친숙한 랜드 마크로 사용자를 안내하기 위해 개인화된 맵 데이터가 내비게이션 방향으로 제공된다. 개인화된 맵 데이터를 사용하면 랜드 마크의 데이터 세트가 확장되어 일반 대중에게는 잘 알려지지 않았지만 사용자에게는 특별히 알려진 랜드 마크도 포함된다. 여기에는 사용자가 자주 방문하는 가족이나 친한 친구의 집이나 아파트 건물, 사용자의 현재 사업장의 사무실 건물 또는 사용자가 이전에 고용된 사무실 건물, 또는 지역 기업, 바, 레스토랑과 같이 사용자에게 친숙한 다른 POI가 포함될 수 있다. 도 5a는 사용자의 현재 위치에서 목적지 "집"까지의 경로(502)를 포함하는 예시적인 내비게이션 디스플레이(500)를 도시한다. 내비게이션 디스플레이(500)는 각각 특정 경유지에서 기동을 갖는 단계별 내비게이션 명령 세트를 제시할 수 있다. 기동들 중 적어도 일부에 대해, 네비게이션 디스플레이(500)는 사용자가 자주 식사하는 "하우스 힐틀(Haus Hiltl)"(504)과 같은 친숙한 랜드 마크를 네비게이션 명령에 포함한다.
예를 들어, 개인화된 데이터 디스플레이(24)는 내비게이션 디스플레이(500)에서의 사용자 입력에 기초하여 출발 위치(예를 들어, 사용자의 현재 위치)로부터 목적지 위치(예를 들어, "집")까지의 내비게이션 방향에 대한 요청을 수신한다. 그런 다음 개인화된 데이터 디스플레이(24)는 요청을 서버 디바이스(60)로 전송하고, 이는 차례로 요청을 내비게이션 데이터 서버(34)로 전달될 수 있다. 내비게이션 데이터 서버(34)로부터 내비게이션 명령 세트를 수신하는 것에 응답하여, 개인화된 맵 데이터 생성기(68)는 디폴트 내비게이션 명령을 사용자에게 친숙한 랜드 마크들을 포함하는 내비게이션 명령으로 대체한다.
예를 들어, 위에서 언급한 바와 같이, 개인화된 맵 데이터 생성기(68)는 내비게이션 명령 세트에서 각 경유지의 임계 거리 내에 있는(예를 들어, 기동을 위한 교차로의 임계 거리 내에 있는) 후보 랜드 마크로서 위치 데이터 테이블(200) 내의 위치들(204)을 식별한다. 그런 다음 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크들에 대한 전체 스코어(262)를 획득하고 전체 스코어(262)에 따라 후보 랜드 마크들에 순위를 매긴다. 일부 실시예에서, 후보 랜드 마크가 임계값 순위보다 높게 순위화되거나 임계값 스코어보다 높은 스코어를 가질 때, 개인화된 맵 데이터 생성기(68)는 대응하는 기동을 위한 내비게이션 명령에 포함할 후보 랜드 마크를 선택한다. 예를 들어 기동이 하우스 힐틀의 임계 거리 내에 있는 경유지에서 우회전하는 것이고 하우스 힐틀이 임계 스코어이상의 전체 스코어를 갖는 경우, 개인화된 맵 데이터 생성기(68)는 "하우스 힐틀을 지나 교차로에서 우회전" 또는 "하우스 힐틀 이전 교차로에서 우회전"이라는 명령을 생성한다. 일부 실시예에서, 내비게이션 명령은 위치(204)의 이름이 아니라 사용자에 의해 제공된 위치 레이블(212)(예를 들어, "집", "직장", "밥의 집")을 포함할 수 있다. 그런 다음 개인화된 내비게이션 명령 세트는 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공되고, 개인화된 데이터 디스플레이(24)는 클라이언트 컴퓨팅 디바이스(10)의 사용자 인터페이스(32)에 내비게이션 디스플레이(500)를 제시한다.
도 5b는 사용자가 대응하는 기동을 위해 경유지에 접근함에 따라 제시되는 내비게이션 명령(552)의 상세 디스플레이(550)를 예시한다. 사용자가 칼 쉬미트 거리(Karl-Schmid Street)에 접근하면 개인화된 데이터 디스플레이(24)는 "취리히 스포츠 아카데미를 지나 좌회전"하라는 내비게이션 명령을 제시한다. 사용자는 위치 이력에 기초하여 이 스포츠 아카데미에 대해 친숙하므로, 자신이 스포츠 아카데미를 지나간 시기와 다음 교차로에서 좌회전해야 할 곳을 알고 있을 가능성이 높다다. 이는 도로 표지판이 보이지 않거나 익숙하지 않은 "칼 슈미트 거리로 좌회전"하도록 사용자에게 안내하는 것보다 더 유용할 수 있다.
친숙한 랜드 마크를 중간 목적지로 사용하는 에시적인 내비게이션 방향
친숙한 랜드 마크를 단계별 내비게이션 명령에 포함하는 것 외에도, 개인화된 맵 데이터 생성기(68)는 또한 출발 위치로부터 최종 목적지까지의 경로로부터 떨어진 최종 목적지로 가는 도중에 친숙한 랜드 마크를 중간 목적지로 식별한다. 이러한 방식으로, 사용자는 친숙한 랜드 마크로 이동하도록 안내되어 사용자는 단일 명령으로 최종 목적지까지 대부분의 길을 안내받을 수 있다. 그런 다음 사용자가 중간 목적지 또는 최종 목적지까지의 경로상의 경유지이기도 한 중간 목적지로 가는 도중에 경유지에 접근하는 경우, 개인화된 맵 데이터 생성기(68)는 사용자의 클라이언트 컴퓨팅 디바이스(10)상의 개인화된 데이터 디스플레이(24)에 의해 제시된 최종 목적지에 대한 내비게이션 명령 세트를 제공한다. 이것은 사용자에게 제공되는 내비게이션 명령의 수를 감소시킬 수 있고, 사용자가 추가 안내가 필요해지기 전에 친숙한 중간 목적지로 주행할 수 있게 한다.
예시적인 시나리오에서, 존(John)은 그의 클라이언트 컴퓨팅 디바이스(10)의 매핑 애플리케이션(22)을 통해 자싱의 현재 위치에서 취리히 대학 병원까지의 내비게이션 방향을 요청한다. 도 6A의 예시적인 내비게이션 디스플레이(600)에 도시된 바와 같이, 존의 현재 위치(602)는 취리히 대학 병원(604)에서 북쪽으로 수 킬로미터 떨어져 있다. 그 후 개인화된 데이터 디스플레이(24)는 존의 현재 위치(602)에서 취리히 대학 병원(604)까지의 내비게이션 방향 요청을 서버 디바이스(60)로 전송한다. 따라서, 개인화된 맵 데이터 생성기(68)는 요청을 내비게이션 데이터 서버(34)로 전달할 수 있고, 존의 현재 위치(602)로부터 취리히 대학 병원(604)까지의 내비게이션 명령 세트를 수신할 수 있으며, 여기서 각 내비게이션 명령은 대응하는 경유지에서의 기동을 포함한다.
그 다음, 개인화된 맵 데이터 생성기(68)는 취리히 대학 병원(604)의 임계 거리 내에 있는 후보 중간 목적지로서, 존의 현재 위치(602)로부터 취리히 대학 병원(604)까지의 경로상에 있는 경유지들 중 하나의 임계 거리 내에 있거나, 또는 존의 현재 위치(602)로부터 취리히 대학 병원(604)까지의 제1 경로를 따라 경유지들 중 하나와 함께 존의 현재 위치(602)로부터 후보 중간 목적지까지의 제2 경로를 따라 공통 경유지가 있는 위치들을 사용자의 위치 이력에서 식별할 수 있다. 일부 실시예에서, 후보 중간 목적지는 도 2b에 도시된 바와 같이 데이터 테이블(250)에서의 전체 스코어(262)에 기초하여 순위화될 수 있다. 다른 실시예에서, 개인화된 맵 데이터 생성기(68)는 도 2b에 도시된 바와 같이 데이터 테이블(250)에서 후보 중간 목적지에 대한 빈도(258) 및 최근성(260) 스코어를 획득하여, 각각의 후보 중간 목적지에 거리 스코어를 할당한다. 거리 스코어는 후보 중간 목적지로부터 취리히 대학 병원(604)까지의 거리, 후보 중간 목적지에 대한 경로를 따라 공통 경유지로부터 취리히 대학 병원(604)까지의 거리, 및/또는 존의 현재 위치(602)로부터 취리히 대학 병원(604)까지의 경로를 따라 가장 가까운 경유지로부터 후보 중간 목적지까지의 거리에 기초할 수 있다.
임의의 경우에, 개인화된 맵 데이터 생성기(68)는 임의의 적절한 방식으로 빈도(258), 최근성(260) 및 거리 스코어들을 결합하여 중간 목적지 스코어를 생성한다. 그 후, 개인화된 맵 데이터 생성기(68)는 중간 목적지 스코어에 따라 후보 중간 목적지들을 순위화하고, 최고 순위의 후보 중간 목적지를 중간 목적지로 선택한다. 이 예시적인 시나리오에서, 개인화된 맵 데이터 생성기(68)는 하우스 힐틀(606)을 중간 목적지로 선택한다. 도 6a에 도시된 바와 같이, 하우스 힐틀(606)은 취리히 대학 병원(604)과 마찬가지로 존의 현재 위치(602)의 남쪽에 있으며 존의 현재 위치(602)보다 취리히 대학 병원(604)에 더 가깝다. 그러나, 하우스 힐틀(606)은 존의 현재 위치(602)로부터 취리히 대학 병원(604)까지 내비게이션 데이터 서버(34)에 의해 생성된 경로상에는 없다.
이어서 개인화된 맵 데이터 생성기(68)는 개인화된 데이터 디스플레이(24)를 통한 프리젠테이션을 위해 사용자의 클라이언트 컴퓨팅 디바이스(10)으로 하우스 힐틀(606)을 향해 이동하기 위한 단일 명령으로서 제1 내비게이션 명령을 제공한다. 일부 실시예에서, 제1 내비게이션 명령은 위치(204)의 이름보다는 중간 목적지에 대해 사용자에 의해 제공된 위치 레이블(212)(예를 들어, "집", "직장", "밥의 집")을 포함할 수 있다. 개인화된 맵 데이터 생성기(68)는 또한 하우스 힐틀(606)로부터 취리히 대학 병원(604)까지 또는 대학 병원(604)으로 가는 경로를 따라 경유지와 공통되는 하우스 힐틀(606)로 가는 경로를 따라 경유지로부터 취리히 대학 병원(604)까지의 내비게이션 방향을 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공한다. 따라서, 개인화된 데이터 디스플레이(24)는 내비게이션 디스플레이(600)에 제1 내비게이션 명령(610)을 제시한다. 개인화된 데이터 디스플레이(24)는 또한 하우스 힐틀(606)에서 취리히 대학 병원(604)까지의 경로(612)의 강조 표시를 제시한다. 하우스 힐틀(606)은 존에게 친숙한 위치이기 때문에, 그는 어떠한 추가 명령없이 하우스 힐틀(606)로 이동할 수 있으며, 그가 하우스 힐틀(606) 또는 하우스 힐틀(606)과 취리히 대학 병원(604)(예를 들어, 17번 경로의 출구)으로 가는 경로에 있는 공통 경유지에 접근할 때, 개인화된 데이터 디스플레이(24)는 취리히 대학 병원(604)에 단계별 내비게이션 명령을 제시할 수 있다.
내비게이션 디스플레이(600)에 도시된 바와 같이, 존의 현재 위치(602)로부터 하우스 힐틀(606)까지의 제1 경로와 존의 현재 위치(602)로부터 취리히 대학 병원(604)까지의 제2 경로 모두는 17번 경로의 출구들 중 하나에 공통 경유지가 있는 것으로 보인다. 취리히 대학 병원(604)로 가는 제2 경로에서, 내비게이션 명령 세트에는 특정 출구 또는 거리에서 17번 경로를 좌회전하는 기동이 포함될 수 있는 반면, 하우스 힐틀(606)으로 가는 제1 경로에서, 내비게이션 명령 세트에는 특정 출구 또는 거리에서 17번 경로를 우회전하거나 우회전 전에 추가 출구 또는 거리에 도달할 때까지 직진하는 기동이 포함될 수 있다.
도 6b는 존이 하우스 힐틀(606)에 접근할 때 제시되는 내비게이션 명령(632)을 포함하는 상세 내비게이션 디스플레이(630)를 도시한다. 예를 들어, 존의 클라이언트 컴퓨팅 디바이스(10)는 존이 센서(19)를 통해 하우스 힐틀(606)에 접근하고 있음을 검출할 수 있다. 존이 하우스 힐틀(606)에 접근하고 있음을 검출하는 것에 응답하여, 개인화된 데이터 디스플레이(24)는 취리히 대학 병원(604)에 단계별 내비게이션 명령을 제시할 수 있다. 상세 내비게이션 디스플레이(630)에 도시된 바와 같이, 내비게이션 명령(632)는 존을 취리히 대학 병원(604)으로 안내하기 위해 존에게 제시된 내비게이션 명령 세트 중 하나이다. 존이 내비게이션 명령(632)에 포함된 기동을 완료하는 경우, 상세 내비게이션 디스플레이(630)는 하이라이트된 경로(634)에 다른 내비게이션 명령(미도시)을 제시한다.
최종 목적지에 대한 단계별 내비게이션 명령을 제공하기 전에 사용자가 중간 목적지에 도착하기를 기다리는 대신, 개인화된 맵 데이터 생성기(68)는 각각 중간 목적지 및 최종 목적지까지의 제1 및 제2 경로를 따라 공통 경유지를 식별할 수 있다. 일부 실시예에서, 다수의 공통 경유지가 있을 때, 개인화된 맵 데이터 생성기(68)는 제1 및 제2 경로를 따라 마지막 공통 경유지를 식별할 수 있다. 예를 들어, 두 경로 모두 사용자가 고속도로 1을 주행해야 하고 중간 목적지로 가는 경로는 사용자가 40번 출구에서 우회전해야 하는 반면 최종 목적지로 가는 경로는 사용자가 45번 출구에 도달할 때까지 계속 직진한 다음 우회전해야 하는 경우, 개인화된 맵 데이터 생성기(68)는 출구(40)를 마지막 공통 경유지로 식별할 수 있다. 그런 다음, 개인화된 맵 데이터 생성기(68)는 사용자의 클라이언트 컴퓨팅 디바이스가 출구(40)에 도달하기 전에 개인화된 데이터 디스플레이(24)에 의해 제시되는 출구(40)로부터 최종 목적지까지의 단계별 내비게이션 명령을 제공할 수 있으므로, 사용자는 내비게이션 명령을 보기 전에 우회전하여 45번 출구까지 직진할 수 있다.
도 6c는 사용자가 하우스 힐틀(606)로 가는 제1 경로와 취리히 대학 병원(604)으로 가는 제2 경로 사이의 공통 경유지에 접근할 때 제시되는 내비게이션 명령(662)을 포함하는 상세한 내비게이션 디스플레이(660)를 도시한다. 상세한 내비게이션 디스플레이(660)에 도시된 바와 같이, 존은 하우스 힐틀(606)을 향해 이동하기 위해 도 6a에 도시된 바와 같이 내비게이션 디스플레이(600)에 제시된 제1 내비게이션 명령(610)에 기초하여 17번 경로를 따라 남쪽으로 주행하고 있다. 존의 클라이언트 컴퓨팅 디바이스(10)는 그가 하우스 힐틀(606)로 가는 제1 경로와 취리히 대학 병원(604)으로 가는 제2 경로 사이의 마지막 공통 중간 지점에 접근하고 있음을 검출한다. 존이 마지막 공통 경유지에 접근하고 있음을 감지하는 것에 응답하여, 개인화된 데이터 디스플레이(24)는 취리히 대학 병원(604)에 단계별 내비게이션 명령을 제공할 수 있다. 이것은 하우스 힐틀(606)로 이동하기 위해 우회전하는 것과 반대로 17번 경로에서 죄회전하라는 내비게이션 명령(662)을 포함한다.
일부 시나리오에서, 중간 목적지는 사용자에게 친숙한 위치이지만 출발 위치는 친숙하지 않다. 따라서, 사용자는 상세한 명령없이 중간 목적지로 이동할 수 없다. 일부 실시예에서, 개인화된 데이터 디스플레이(24)는 사용자가 중간 목적지를 포함하는 내비게이션 방향을 수신할지 여부를 선택할 수 있는 사용자 컨트롤을 제공할 수 있다. 예를 들어, 사용자가 자신의 현재 위치로부터 친숙한 중간 목적지로 내비게이션하는 것이 편하다고 느끼는 경우, 사용자는 사용자 컨트롤을 통해, 중간 목적지를 포함하는 내비게이션 방향 수신을 요청할 수 있다. 사용자가 현재 위치로부터 내비게이션하는 것이 불편할 경우, 중간 목적지없이 현재 위치로부터 최종 목적지까지 단계별 내비게이션 명령 수신을 요청할 수 있다.
다른 실시예에서, 개인화된 맵 데이터 생성기(68)는 중간 목적지를 포함하는 내비게이션 방향을 제공할지 여부를 결정한다. 예를 들어, 개인화된 맵 데이터 생성기(68)는 사용자의 현재 위치 또는 다른 출발 위치가 그녀의 위치 이력에 기초하여 친숙한 위치인지 여부를 결정할 수 있다. 보다 구체적으로, 출발 위치에 대한 전체 스코어(262)가 임계 스코어를 초과하거나 출발 위치가 전체 스코어(262), 빈도 스코어(258) 또는 최근성 스코어(260)에 기초하여 임계 순위보다 높게 순위화되는 경우, 개인화된 맵 데이터 생성기(68) 중간 목적지를 식별하여, 중간 목적지로부터 최종 목적지까지 단계별 내비게이션 명령을 제공할 수 있다. 한편, 출발 위치에 대한 전체 스코어(262)가 임계 스코어를 초과하지 않거나 출발 위치가 전체 스코어(262), 빈도 스코어(258) 또는 최근성 스코어(260)에 기초하여 임계 순위보다 높게 순위화되지 않는 경우, 개인화된 맵 데이터 생성기(68)는 중간 목적지없이 출발 위치로부터 최종 목적지까지 단계별 내비게이션 명령을 제공할 수 있다.
또한 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 최종 목적지로 가는 도중에 다수의 중간 목적지를 식별할 수 있다. 예를 들어, 개인화된 맵 데이터 생성기(68)는 개인화된 데이터 디스플레이(24)를 통한 프리젠테이션을 위해 사용자의 클라이언트 컴퓨팅 디바이스(10)에 제1 중간 목적지를 향해 주행하기 위한 제1 내비게이션 명령을 제공할 수 있다. 개인화된 맵 데이터 생성기(68)는 또한 제1 중간 목적지보다 최종 목적지에 더 가까운 제2 중간 목적지를 향해 주행하기 위한 제2 내비게이션 명령을 제공할 수 있다. 게다가, 개인화된 맵 데이터 생성기(68)는 사용자의 클라이언트 컴퓨팅 디바이스(10)에 내비게이션 방향을 제2 중간 목적지로부터 최종 목적지까지 또는 경로를 따르는 경유지로부터 최종 목적지까지의 경로를 따르는 경유지와 공통인 제2 중간 목적지까지 제공할 수 있다.
따라서, 개인화된 데이터 디스플레이(24)는 내비게이션 디스플레이에 제1 내비게이션 명령을 제시할 수 있다. 사용자의 클라이언트 컴퓨팅 디바이스(10)가 제1 중간 목적지 또는 제1 중간 목적지와 제2 중간 목적지로 가는 경로상의 공통 경유지에 접근함에 따라, 개인화 데이터 디스플레이(24)는 내비게이션 디스플레이에 제2 내비게이션 명령을 제시할 수 있다. 그런 다음, 사용자의 클라이언트 컴퓨팅 디바이스(10)가 제2 중간 목적지 또는 제2 중간 목적지와 최종 목적지까지의 경로상의 공통 경유지에 접근함에 따라, 개인화된 데이터 디스플레이(24)는 내비게이션 디스플레이에 최종 목적지에 대한 단계별 내비게이션 명령을 제시할 수 있다. 이 예에는 두 개의 중간 목적지가 포함되어 있지만 이는 설명의 편의를 위한 하나의 예일뿐이다. 개인화된 맵 데이터 생성기(68)는 최종 목적지로 가는 도중에 사용자를 안내하기 위한 임의의 수의 중간 목적지를 식별할 수 있다.
개인화된 맵 데이터를 표시하기 위한 예시적인 방법
도 7은 지리 검색 결과를 찾기 위해 디지털 맵에 개인화된 랜드 마크를 제공하는 예시적인 방법(700)의 흐름도를 도시한다. 방법은 컴퓨터 판독 가능 메모리에 저장되고 서버 디바이스(60)의 하나 이상의 프로세서에서 실행 가능한 명령 세트로 구현될 수 있다. 예를 들어, 방법은 개인화된 맵 데이터 생성기(68)에 의해 구현될 수 있다.
블록(702)에서, 위치 데이터는 예를 들어 클라이언트 컴퓨팅 디바이스(10)에서 동작하는 개인화된 데이터 디스플레이(24)로부터 사용자에 대해 획득된다. 보다 구체적으로, 클라이언트 컴퓨팅 디바이스(10)는 사용자가 위치 데이터를 공유하기 위해 매핑 애플리케이션(22)에 권한을 제공하는 사용자 컨트롤을 선택할 때 위치 데이터를 개인화된 맵 데이터 생성기(68)로 전송할 수 있다. 위치 데이터에는 위치에서의 체크인 또는 센서(19)의 위치 데이터, 사용자가 위치를 방문한 날짜 및 시간, 사용자가 위치를 방문한 시간량, 및/또는 스위스 취리히에 있는 하우프트슈트라세 123의 "밥의 집"과 같이 사용자가 제공한 위치에 대한 레이블에 따라 사용자가 방문한 위치의 이름 또는 주소가 포함될 수 있다. 일부 실시예에서, 개인화된 데이터 디스플레이(24)는 클라이언트 컴퓨팅 디바이스(10)가 임계 시간 기간(예를 들어, 1 분) 이상 동안 위치에 있을 때 위치 데이터를 제공한다.
그런 다음, 블록(704)에서, 클라이언트 컴퓨팅 디바이스(10)에서 동작하는 매핑 애플리케이션(22)에서 위치가 선택되고, 선택된 위치를 둘러싼 지리적 영역에 대한 맵 데이터에 대한 요청과 함께 서버 디바이스(60)에서 수신된다. 예를 들어, 사용자는 개인화 데이터 디스플레이(24)에 의해 맵 디스플레이상에 제시된 위치를 터치-선택할 수 있고, 매핑 애플리케이션(22)에 의해 제시된 검색 제안 또는 검색 결과를 터치-선택할 수 있고, 매핑 애플리케이션(22)에서 사용자 컨트롤을 통해 특정 위치의 주소 또는 이름을 입력하거나 임의의 다른 적절한 방식으로 위치를 선택할 수 있다.
요청에 응답하여, 선택된 위치(302)의 임계 거리(예를 들어, 50m, 100m, 200m, 0.5km, 1km 등) 내에 있는 후보 랜드 마크로서 위치들이 사용자의 위치 이력에서 식별된다. 각각의 후보 랜드 마크는 도 2b에 도시된 전체 스코어(262)와 같은 후보 랜드 마크에 대한 전체 스코어를 생성하기 위해 빈도 및 최근성에 따라 스코어링된다. 보다 구체적으로, 빈도 스코어는 사용자가 위치를 방문한 총 횟수, 사용자가 임계 시간 기간(예를 들어, 전월)내에 위치를 방문한 횟수, 사용자가 위치를 방문한 평균 비율(예를 들어, 월 3 회, 1 년에 2 회 등) 또는 임의의 다른 적절한 방식에 기초하여 결정될 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 사용자가 빨리 떠난 위치에 비해 상당한 시간을 보냈던 위치에 더 친숙 할 수 있기 때문에, 해당 위치에서 보낸 시간량을 빈도 스코어에 반영할 수 있다. 예를 들어, 빈도 스코어는 사용자가 해당 위치를 방문한 가중 횟수에 기초하여 결정될 수 있으며, 여기서 방문에는 사용자가 해당 위치에 더 오래 머무를수록 더 높은 가중치가 할당된다.
최근성 스코어는 사용자가 위치를 마지막으로 방문한 이후의 시간량 또는 사용자가 빈도 임계값 이상의 비율로 위치를 방문한 이후의 시간량에 기초하여 결정될 수 있다. 예를 들어, 사용자가 이전에 몇 달 동안 일주일에 한 번 해당 위치를 방문했지만 이제는 1 년에 한 번만 해당 위치를 방문하는 경우, 최근성 스코어는 사용자가 일주일에 한 번 마지막으로 해당 위치를 방문한 이후의 시간량에 기초할 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 해당 위치에서 보낸 시간량을 최근성 스코어에 반영할 수 있다.
그런 다음, 빈도 및 최근성 스코어의 임의의 적절한 조합에 기초하여 전체 스코어가 결정될 수 있다. 블록(710)에서, 후보 랜드 마크들은 그들의 개별 스코어에 따라 순위가 매겨지고, 개인화된 맵 데이터 생성기(68)는 맵 디스플레이에 제시할 최고 순위의 후보 랜드 마크를 선택한다(블록 712).
그런 다음, 개인화된 맵 데이터 생성기(68)는 선택된 위치의 표시 및 선택된 랜드 마크의 표시를 포함하는 맵 데이터를 개인화된 데이터 디스플레이(24)를 통한 프리젠테이션을 위해 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공한다(블록 714). 이에 응답하여, 개인화된 데이터 디스플레이(24)는 선택된 위치 및 선택된 랜드 마크를 나타내는 핀 또는 다른 아이콘과 같은, 선택된 랜드 마크 및 선택된 위치의 표시와 함께 선택된 위치 및 선택된 랜드 마크를 포함하는 지리적 영역의 맵 디스플레이를 제시한다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 사용자가 랜드 마크를 방문한 빈도에 대한 설명(예를 들어, "당신이 자주 여기에 옵니다") 또는 사용자가 랜드 마크를 방문한 최근성에 대한 설명(예를 들어, "당신은 지난주에 여기에 있었습니다")과 같은 상기 선택된 랜드 마크와 사용자 사이의 관계에 대한 설명을 생성한다. 그 후 개인화된 맵 데이터 생성기(68)는 선택된 랜드 마크와 사용자 사이의 관계에 대한 설명으로 맵 디스플레이가 주석 달리도록 한다.
도 8은 친숙도에 기초하여 검색 제안을 사용자에게 제공하기 위한 예시적인 방법(800)의 흐름도를 도시한다. 이 방법은 컴퓨터 판독 가능 메모리에 저장되고 서버 디바이스(60)의 하나 이상의 프로세서에서 실행 가능한 명령 세트로 구현될 수 있다. 예를 들어, 방법은 개인화된 맵 데이터 생성기(68)에 의해 구현될 수 있다.
블록(802)에서, 위치 데이터는 예를 들어 클라이언트 컴퓨팅 디바이스(10)에서 동작하는 개인화된 데이터 디스플레이(24)로부터 사용자에 대해 획득된다. 보다 구체적으로, 클라이언트 컴퓨팅 디바이스(10)는 사용자가 위치 데이터를 공유하기 위해 매핑 애플리케이션(22)에게 권한을 제공하는 사용자 컨트롤을 선택할 때 위치 데이터를 개인화된 맵 데이터 생성기(68)로 전송할 수 있다. 위치 데이터는 위치에서의 체크인에 따라 사용자가 방문한 위치의 이름 또는 주소 또는 센서(19)로부터의 위치 데이터, 사용자가 위치를 방문한 날짜 및 시간, 방문한 시간을 포함할 수 있다. 사용자가 방문한 위치 및/또는 스위스 취리히의 123 하우프트슈트라세에 대한 "Bob 's House"와 같이 사용자가 제공 한 위치에 대한 레이블. 일부 실시예에서, 개인화된 데이터 디스플레이(24)는 클라이언트 컴퓨팅 디바이스(10)가 임계 시간 기간(예를 들어, 1 분) 이상 동안 위치에 있을 때 위치 데이터를 제공한다.
그런 다음 블록(804)에서, 부분 지리 검색 쿼리일 수 있는 지리 검색 쿼리가 수신된다. 예를 들어, 개인화된 데이터 디스플레이(24)는 사용자 입력인 "카페"를 수신하고, 그 사용자 입력을 서버 디바이스(60)로 제공할 수 있다. 따라서, 서버 디바이스(60)는 맵 데이터 서버(50) 또는 다른 적절한 서버와 통신하여, 지리 검색 쿼리와 관련된 지리 검색 결과/제안을 검색한다(블록 806). 일부 실시예에서, 검색된 지리 검색 결과/제안들 각각은 사용자의 현재 위치의 임계 거리 내에 또는 사용자의 클라이언트 컴퓨팅 디바이스(10)의 맵 디스플레이에 제시된 지리적 영역의 임계 거리 내에 있다.
임의의 경우, 서버 디바이스(60)는 지리 검색 결과/제안 각각에 대한 관련성 스코어와 함께 순위화된 순서로 지리 검색 결과/제안을 획득할 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 예를 들어 사용자가 이전에 방문한 위치들에 대한 검색 결과/제안의 순위를 증가시킴으로써 검색 결과/제안의 스코어/순위를 조정한다(블록 808). 보다 구체적으로, 관련성 스코어에 더하여, 개인화된 맵 데이터 생성기(68)는 (예를 들어,도 2b에 도시된 데이터 테이블(250)로부터) 사용자가 이전에 방문한 위치들에 대한 빈도 스코어(258), 최근성 스코어(260) 및/또는 전체 스코어(262)를 획득한다. 사용자가 이전에 방문한 적이 없는 위치들에 대해, 개인화된 맵 데이터 생성기(68)는 디폴트 전체 스코어 0을 그 위치들 또는 다른 디폴트 스코어에 할당할 수 있다. 임의의 경우, 각각의 검색 결과/제안에 대해, 개인화된 맵 데이터 생성기(68)는 증가된 검색 결과 스코어를 생성하기 위해 관련성 스코어와 전체 스코어(262)를 결합한다. 그 후 개인화된 맵 데이터 생성기(68)는 증가된 검색 결과 스코어에 따라 검색 결과/제안의 재순위화하여, 재순위화된 검색 결과/제안을 개인화된 데이터 디스플레이(24)를 통해 프레젠테이션하기 위해 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공한다(블록 810).
검색 결과/제안의 순위를 재순위화하는 것 외에도, 개인화된 맵 데이터 생성기(68)는 사용자가 해당 위치를 방문한 빈도에 대한 설명(예를 들어, "당신은 자주 여기를 방문했습니다") 또는 사용자가 해당 위치를 방문한 최근성에 대한 설명(예를 들어, "당신은 지난주에 여기에 있었습니다")와 같은 위치와 사용자간의 관계에 대한 설명으로 사용자의 위치 이력에 포함된 위치들에 대한 검색 결과/제안에 주석을 단다. 그런 다음, 주석들은 개인화된 데이터 디스플레이(24)를 통해 대응하는 검색 결과/제안과 함께 프리젠테이션하기 위해 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공된다(블록 812).
도 9는 개인화된 랜드 마크들을 사용하여 내비게이션 방향을 제공하기 위한 예시적인 방법(900)의 흐름도를 도시한다. 방법은 컴퓨터 판독 가능 메모리에 저장되고 서버 디바이스(60)의 하나 이상의 프로세서에서 실행 가능한 명령 세트로 구현될 수 있다. 예를 들어, 방법은 개인화된 맵 데이터 생성기(68)에 의해 구현될 수 있다.
블록(902)에서, 위치 데이터는 예를 들어 클라이언트 컴퓨팅 디바이스(10)에서 동작하는 개인화된 데이터 디스플레이(24)로부터 사용자에 대해 획득된다. 보다 구체적으로, 클라이언트 컴퓨팅 디바이스(10)는 사용자가 위치 데이터를 공유하기 위해 매핑 애플리케이션(22)에게 권한을 제공하는 사용자 컨트롤을 선택할 때, 위치 데이터를 개인화된 맵 데이터 생성기(68)로 전송할 수 있다. 위치 데이터에는 위치에서의 체크인 또는 센서(19)로부터의 위치 데이터, 사용자가 해당 위치를 방문한 날짜 및 시간, 사용자가 해당 위치를 방문한 시간량, 및/또는 스위스 취리히에 있는 하우프트슈트라세 123의 "밥의 집"과 같이 사용자가 제공한 위치들에 대한 레이블에 따라 사용자가 방문한 위치의 이름 및 주소가 포함될 수 있다. 일부 실시예에서, 개인화된 데이터 디스플레이(24)는 클라이언트 컴퓨팅 디바이스(10)가 임계 시간 기간(예를 들어, 1 분) 이상 동안 위치에 있을 때 위치 데이터를 제공한다.
그런 다음, 블록(904)에서, 출발 위치로부터 목적지 위치까지의 내비게이션 방향에 대한 요청이 수신된다. 예를 들어, 그 요청은 클라이언트 컴퓨팅 디바이스(10)에서 제공된 사용자 입력에 응답하여 클라이언트 컴퓨팅 디바이스(10)로부터 서버 디바이스로 전송될 수 있다. 블록(906)에서, 목적지 위치에 대한 내비게이션 명령 세트가 생성될 수 있으며, 각각의 내비게이션 명령은 경로를 따라 특정 경유지에서의 기동을 포함한다. 일부 실시예에서, 내비게이션 명령 세트를 생성하기 위해, 서버 디바이스(60)는 출발 위치로부터 목적지 위치까지의 내비게이션 방향에 대한 요청을 내비게이션 데이터 서버(34)로 전달한다.
내비게이션 데이터 서버(34)로부터 내비게이션 명령 세트를 수신하는 것에 응답하여, 개인화된 맵 데이터 생성기(68)는 디폴트 내비게이션 명령를 사용자에게 친숙한 랜드 마크들을 포함하는 내비게이션 명령으로 대체한다. 보다 구체적으로, 위치들은 내비게이션 명령 세트에서 각 경유지의 임계 거리(예를 들어, 50m, 100m, 200m, 0.5km, 1km 등) 내에 있는 후보 랜드 마크로서 사용자의 위치 이력에서 식별된다(블록 908). 그런 다음, 각 기동에 대해, 대응하는 후보 랜드 마크들이 도 2b에 도시된 전체 스코어(262)와 같은 후보 랜드 마크들에 대한 전체 스코어를 생성하기 위해 빈도 및/또는 최근성에 따라 스코어링된다. 보다 구체적으로, 빈도 스코어는 사용자가 후보 랜드 마크를 방문한 총 횟수, 사용자가 임계 시간 기간(예를 들어, 전월) 내에 후보 랜드 마크를 방문한 횟수, 사용자가 후보 랜드 마크를 방문하는 평균 비율(예를 들어, 월 3 회, 1 년에 2 회 등)에 기초하여 결정될 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크에서 보낸 시간량을 빈도 스코어에 반영할 수 있다. 예를 들어, 빈도 스코어는 사용자가 후보 랜드 마크를 방문한 가중 횟수에 기초하여 결정될 수 있으며, 여기서 방문들에는 사용자가 후보 랜드 마크에 더 오래 머무를수록 더 높은 가중치가 할당된다.
최근성 스코어는 사용자가 후보 랜드 마크를 마지막으로 방문한 이후의 시간량 또는 사용자가 빈도 임계값 이상의 비율로 후보 랜드 마크를 방문한 이후의 시간량에 기초하여 결정될 수 있다. 예를 들어, 사용자가 이전에 후보 랜드 마크를 몇 달 동안 일주일에 한 번 방문했지만 지금은 후보 랜드 마크를 1 년에 한 번만 방문하는 경우, 최근성 스코어는 사용자가 일주일에 한 번 후보 랜드 마크를 마지막으로 방문한 이후의 시간량에 기초할 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크에서 보낸 시간량을 최근성 스코어에 반영할 수 있다. 그런 다음, 전체 스코어는 빈도 및 최근성 스코어의 임의의 적절한 조합에 기초하여 결정될 수 있다(블록 910). 이후 이 프로세스는 내비게이션 명령 세트의 각 기동에 대해 반복된다(블록 912).
그런 다음, 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크에 대한 전체 스코어를 획득하여, 전체 스코어에 따라 후보 랜드 마크들에 순위를 매긴다(블록 914). 일부 실시예에서, 후보 랜드 마크가 임계값 순위보다 높게 순위화되거나 임계값 스코어 이상의 스코어를 가질 때, 개인화된 맵 데이터 생성기(68)는 대응하는 기동에 대한 내비게이션 명령에 포함할 후보 랜드 마크를 선택한다(블록 916). 다른 실시예에서, 각 경유지에 대해, 개인화된 맵 데이터 생성기(68)는 특정 경유지의 임계 거리 내의 후보 랜드 마크들을 식별하고, 특정 경유지에 대응하는 후보 랜드 마크들을 순위화하고, 내비게이션 명령에 포함할 특정 경유지에 대해 최고 순위의 후보 랜드 마크를 선택한다.
일부 시나리오에서, 개인화된 맵 데이터 생성기(68)는 최고 순위의 후보 랜드 마크가 임계 스코어 이상의 최소 스코어를 가질 때 내비게이션 명령에 포함할 특정 경유지에 대한 최고 순위의 후보 랜드 마크만을 선택한다. 그렇지 않으면, 개인화된 맵 데이터 생성기(68)는 "메인 스트리트로 우회전"과 같은 디풀트 내비게이션 명령을 사용한다. 다른 시나리오에서, 개인화된 맵 데이터 생성기(68)는 내비게이션 명령(예를 들어, 3)에 포함할 랜드 마크의 최대 임계수를 선택한다. 따라서, 개인화된 맵 데이터 생성기(68)는 최대 임계수를 초과하지 않도록 상이한 경유지들에 대해 최고 순위의 후보 랜드 마크들을 선택한다.
그런 다음, 개인화된 네비게이션 명령 세트가 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공되고(블록 918), 개인화된 데이터 디스플레이(24)는 클라이언트 컴퓨팅 디바이스(10)의 사용자 인터페이스(32)상에 네비게이션 디스플레이(500)를 제시한다.
도 10은 친숙한 위치를 중간 목적지로 사용하여 사용자에게 내비게이션 방향을 제공하기 위한 예시적인 방법(1000)의 흐름도를 도시한다. 이 방법은 컴퓨터 판독 가능 메모리에 저장되고 서버 디바이스(60)의 하나 이상의 프로세서에서 실행 가능한 명령 세트로 구현될 수 있다. 예를 들어, 방법은 개인화된 맵 데이터 생성기(68)에 의해 구현될 수 있다.
블록(1002)에서, 위치 데이터는 예를 들어 클라이언트 컴퓨팅 디바이스(10)에서 동작하는 개인화된 데이터 디스플레이(24)로부터 사용자에 대해 획득된다. 보다 구체적으로, 클라이언트 컴퓨팅 디바이스(10)는 사용자가 위치 데이터를 공유하기 위해 매핑 애플리케이션(22)에게 권한을 제공하는 사용자 컨트롤을 선택할 때 위치 데이터를 개인화된 맵 데이터 생성기(68)로 전송할 수 있다. 위치 데이터에는 위치에서의 체크인 또는 센서(19)로부터의 위치 데이터, 사용자가 해당 위치를 방문한 날짜 및 시간, 사용자가 해당 위치를 방문한 시간량 및/또는 스위스 취리히에 있는 하우프트슈트라세 123의 "밥의 집"과 같이 사용자가 제공한 위치에 대한 레이블에 따라 사용자가 방문한 위치의 이름 또는 주소가 포함될 수 있다. 일부 실시예에서, 개인화된 데이터 디스플레이(24)는 클라이언트 컴퓨팅 디바이스(10)가 임계 시간 기간(예를 들어, 1 분) 이상 위치에 있을 때 위치 데이터를 제공한다.
그런 다음, 블록(1004)에서, 출발 위치로부터 최종 목적지 위치까지의 내비게이션 방향에 대한 요청이 수신된다. 예를 들어, 요청은 클라이언트 컴퓨팅 디바이스(10)에서 제공된 사용자 입력에 응답하여 클라이언트 컴퓨팅 디바이스(10)로부터 서버 디바이스(60)로 전송될 수 있다. 블록(1006)에서, 최종 목적지 위치에 대한 제1 내비게이션 명령 세트가 생성될 수 있으며, 여기서 각 내비게이션 명령은 경로를 따라 특정 경유지에서의 기동을 포함한다. 일부 실시예에서, 제1 내비게이션 명령 세트를 생성하기 위해, 서버 디바이스(60)는 출발 위치로부터 최종 목적지 위치까지의 내비게이션 방향에 대한 요청을 내비게이션 데이터 서버(34)로 전달한다.
그런 다음 개인화된 맵 데이터 생성기(68)는 최종 목적지 위치의 임계 거리 내에 있거나, 출발 위치에서 최종 목적지 위치까지의 제1 경로에 있는 경유지들 중 하나의 임계 거리 내에 있거나, 제1 경로를 따라 경유지들 중 하나와 함께 출발 위치로부터 후보 중간 목적지까지의 제2 경로를 따라 공통 경유지가 있는 사용자의 위치 이력내의 위치들을 후보 중간 목적지 위치로 식별한다(블록 1008).
그런 다음, 후보 중간 목적지들은 도 2b에 도시된 전체 스코어(262)와 같은 후보 랜드 마크들에 대한 전체 스코어를 생성하기 위해 빈도 및 최근성에 따라 스코어링된다. 보다 구체적으로, 빈도 스코어는 사용자가 후보 랜드 마크를 방문한 총 횟수, 사용자가 임계 시간 기간(예를 들어, 전월) 내에 후보 랜드 마크를 방문한 횟수, 사용자가 후보 랜드 마크를 방문하는 평균 비율(예를 들어, 월 3 회, 1 년에 2 회 등)에 기초하여 결정될 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크에서 보낸 시간량을 빈도 스코어에 반영할 수 있다. 예를 들어, 빈도 스코어는 사용자가 후보 랜드 마크를 방문한 가중 횟수에 기초하여 결정될 수 있으며, 여기서 방들에는 사용자가 후보 랜드 마크에 더 오래 머무를수록 더 높은 가중치가 할당된다.
최근성 스코어는 사용자가 후보 랜드 마크를 마지막으로 방문한 이후의 시간량 또는 사용자가 빈도 임계값 이상의 비율로 후보 랜드 마크를 방문한 이후의 시간량에 기초하여 결정될 수 있다. 예를 들어, 사용자가 이전에 후보 랜드 마크를 몇 달 동안 일주일에 한 번 방문했지만 지금은 후보 랜드 마크를 1 년에 한 번만 방문하는 경우 최근성 스코어는 사용자가 일주일에 한 번 후보 랜드 마크를 마지막으로 방문한 이후의 시간량에 기초할 수 있다. 일부 실시예에서, 개인화된 맵 데이터 생성기(68)는 후보 랜드 마크에서 보낸 시간량을 최근성 스코어에 반영할 수 있다.
후보 중간 목적지들은 또한 후보 중간 목적지로부터 최종 목적지까지의 거리, 후보 중간 목적지에 대한 경로를 따라 공통 경유지로부터 최종 목적지까지의 거리 및/또는 출발 위치로부터 최종 목적지까지의 경로를 따라 가장 가까운 경유지로부터 후보 중간 목적지까지의 거리에 기초한 거리 스코어에 따라 스코어링될 수 있다. 개인화된 맵 데이터 생성기(68)는 임의의 적절한 방식으로 빈도(258), 최근성(260) 및 거리 스코어를 결합하여 중간 목적지 스코어를 생성한다(블록 1010). 그런 다음, 개인화된 맵 데이터 생성기(68)는 중간 목적지 스코어에 따라 후보 중간 목적지들을 순위화하고(블록 1012), 최고 순위의 후보 중간 목적지를 선택한다(블록 1014).
따라서, 개인화된 맵 데이터 생성기(68)는 개인화된 데이터 디스플레이(24)를 통한 프리젠테이션을 위해 사용자가 선택된 중간 목적지로 주행하기 위한 제1 내비게이션 명령을 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공한다(블록 1016). 제1 내비게이션 명령은 유리하게는 "엘름(Elm) 스트리트에서 남쪽 방향", "메인 스트리크로 좌회전"등과 같은 특정 단계를 생략할 수 있다. 대신, 제1 내비게이션 명령은 중간 목적지인 뮤직 박스 극장(Music Box Theater)이 현재 위치에서 여러 번 기동하는 경우에도 불구하고 단순히 "뮤직 박스 극장을 향해 운전을 시작"하는 것일 수 있다. 일부 구현에서, 제1 내비게이션 명령은 또한 중간 목적지에 대한 경로와 최종 목적지 사이의 분기점, 예를 들어, "뮤직 박스 극장을 향해 운전을 시작하지만 사우스포트(Southport)로 틀지 않고 계속 직진"을 언급한다. 개인화된 맵 데이터 생성기(68)는 또한 선택된 중간 목적지로부터 또는 최종 목적지에 대한 경로를 따르는 경유지와 공통인 상기 선택된 중간 목적지에 대한 경로를 따르는 경유지로부터 최종 목적지까지의 내비게이션 방향을 얻을 수 있다. 그 후 개인화된 맵 데이터 생성기(68)는 최종 목적지까지의 내비게이션 방향을 사용자의 클라이언트 컴퓨팅 디바이스(10)로 제공한다(블록 1018). 차례로, 개인화된 데이터 디스플레이(24)는 센서(19)를 통해 클라이언트 컴퓨팅 디바이스(10)가 선택된 중간 목적지에 대한 경로를 따라 상기 선택된 중간 목적지 또는 공통 경유지에 접근하고 있다고 결정하는 것에 응답하여 최종 목적지에 대한 내비게이션 방향을 제시한다.
추가 고려 사항
다음의 추가 고려 사항들이 전술한 논의에 적용된다. 본 명세서 전반에 걸쳐 복수의 인스턴스는 단일인스턴스로 기술된 컴포넌트, 동작 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개별 동작이 별도의 동작으로 도시되고 설명되었지만, 하나 이상의 개별 동작이 동시에 수행될 수 있으며, 설명된 순서대로 동작들을 수행할 필요는 없다. 예시적인 구성에서 별도의 컴포넌트로 제시된 구조 및 기능은 결합된 구조 또는 컴포넌트로 구현될 수 있다. 마찬가지로, 단일 컴포넌트로 제공되는 구조 및 기능은 별도의 컴포넌트로 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 본 개시의 주제의 범위 내에 있다.
추가적으로, 특정 실시예들은 로직 또는 다수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로 본 명세서에서 설명된다. 모듈은 소프트웨어 모듈(예를 들어, 기계 판독 가능 매체에 저장된 코드) 또는 하드웨어 모듈을 구성할 수 있다. 하드웨어 모듈은 특정 동작들을 수행할 수 있는 유형(rangible)의 유닛이며 특정 방식으로 구성 또는 배열될 수 있다. 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들어, 독립형, 클라이언트 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들어, 프로세서 또는 프로세서 그룹)은 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 본 명세서에 설명된 바와 같은 특정 동작들을 수행하도록 작동하는 하드웨어 모듈로서 구성될 수 있다.
다양한 실시예에서, 하드웨어 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작들을 수행하기 위해 FPGA(Field Programmable Gate Array) 또는 ASIC(application-specific integrated circuit)과 같은 특수 목적 프로세서로) 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 모듈은 또한 특정 동작들을 수행하기 위해 소프트웨어에 의해 일시적으로 구성되는 프로그래밍 가능 로닉 또는 회로(예를 들어, 범용 프로세서 또는 다른 프로그래밍 가능 프로세서 내에 포함됨)를 포함할 수 있다. 기계적으로 전용 및 영구적으로 구성된 회로 또는 임시로 구성된 회로(예를 들어, 소프트웨어에 의해 구성됨)에서 하드웨어 모듈을 구현하기 위한 결정은 비용 및 시간 고려 사항에 따라 결정될 수 있음을 알 수 있을 것이다.
따라서, 하드웨어라는 용어는 특정 방식으로 작동하거나 본 명세서에 설명된 특정 동작들을 수행하기 위해 물리적으로 구성되거나 영구적으로 구성(예를 들어, 하드 와이어)된 유형의 엔티티를 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용되는 "하드웨어 구현 모듈"은 하드웨어 모듈을 의미한다. 하드웨어 모듈이 일시적으로 구성(예를 들어, 프로그래밍)되는 실시예를 고려하면 각각의 하드웨어 모듈은 한 번에 하나의 인스턴스에서 구성되거나 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함하는 경우, 범용 프로세서는 서로 다른 시간에 상이한 개별 하드웨어 모듈로 구성될 수 있다. 따라서 소프트웨어는 예를 들어 특정 하드웨어 모듈을 한 번에 구성하고 다른 하드웨어 모듈을 다른 시간에 구성하도록 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어에 정보를 제공하고 다른 하드웨어로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈은 통신적으로 결합된 것으로 간주될 수 있다. 그러한 하드웨어 모듈이 동시에 다수개 존재하는 경우, 하드웨어 모듈을 연결하는 신호 전송(예를 들어, 적절한 회로 및 버스를 통해)을 통해 통신이 이루어질 수 있다. 다수의 하드웨어 모듈이 서로 다른 시간에 구성되거나 인스턴스화되는 실시예에서, 이러한 하드웨어 모듈 간의 통신은 예를 들어 다수의 하드웨어 모듈이 액세스할 수 있는 메모리 구조에서 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하여 해당 동작의 출력을 통신적으로 결합된 메모리 디바이스에 저장할 수 있다. 추가 하드웨어 모듈은 이후에 메모리 디바이스에 액세스하여 저장된 출력을 검색하고 처리할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와의 통신을 시작할 수 있으며 리소스(예를 들어, 정보 모음)에서 작동할 수 있다.
방법(700, 800, 900, 1000)은 비-일시적 컴퓨터 판독 가능 저장 매체에 저장되고 컴퓨팅 디바이스(예를 들어, 서버 장치, 개인용 컴퓨터, 스마트 폰, 태블릿 컴퓨터, 스마트 워치, 모바일 컴퓨팅 디바이스, 또는 본 명세서에 설명된 다른 클라이언트 컴퓨팅 디바이스)의 프로세서를 사용하여 실행되는 유형의 컴퓨터 실행 가능 명령의 형태로 하나 이상의 기능 블록, 모듈, 개별 기능 또는 루틴을 포함할 수 있다. 방법(700, 800, 900 및 1000)은 임의의 백엔드 서버(예를 들어, 맵 데이터 서버, 내비게이션 서버 또는 본 명세서에 설명된 임의의 다른 유형의 서버 컴퓨팅 디바이스), 예시적인 환경의 클라이언트 컴퓨팅 디바이스 모듈의 일부, 예를 들어 이러한 환경 외부에 있는 모듈의 일부로 포함될 수 있다. 도면은 설명의 편의를 위해 다른 도면을 참조하여 설명될 수 있지만, 방법(700, 800, 900 및 1000)은 다른 객체 및 사용자 인터페이스와 함께 이용될 수 있다. 더욱이, 위의 설명은 특정 디바이스(예를 들어, 서버 디바이스(60))에 의해 수행되는 방법(700, 800, 900 및 1000)의 단계를 설명하지만, 이는 예시 목적으로만 수행된다. 방법(700, 800, 900 및 1000)의 블록은 하나 이상의 디바이스 또는 환경의 다른 부분에 의해 수행될 수 있다.
본 명세서에 설명된 예시적인 방법의 다양한 동작들은 관련 동작을 수행하도록 일시적으로 구성되거나(예를 들어, 소프트웨어에 의해) 영구적으로 구성되는 하나 이상의 프로세서에 의해 적어도 부분적으로 수행될 수 있다. 일시적 또는 영구적 구성 여부와 관계없이, 이러한 프로세서는 하나 이상의 동작 또는 기능을 수행하도록 작동하는 프로세서 구현 모듈을 구성할 수 있다. 본 명세서에서 언급된 모듈은 일부 예시적인 실시예에서 프로세서 구현 모듈을 포함할 수 있다.
유사하게, 본 명세서에 설명된 방법 또는 루틴은 적어도 부분적으로 프로세서에 의해 구현될 수 있다. 예를 들어, 방법의 동작들 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서 구현 하드웨어 모듈에 의해 수행될 수 있다. 특정 동작들의 수행은 하나 이상의 프로세서에 분산될 수 있으며 단일 시스템 내에 있을 뿐만 아니라 여러 시스템에 배포될 수 있다. 일부 예시적인 실시예에서, 프로세서 또는 프로세서들은 단일 위치(예를 들어, 가정 환경, 사무실 환경 또는 서버 팜)에 위치할 수 있는 반면, 다른 실시예에서 프로세서는 다수의 위치에 걸쳐 분산될 수 있다.
하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경에서 또는 SaaS로서 관련 동작들의 수행을 지원하도록 동작할 수 있다. 예를 들어, 위에서 지적한 바와 같이, 동작들 중 적어도 일부는 컴퓨터 그룹(프로세서를 포함하는 머신의 예)에 의해 수행될 수 있으며, 이들 동작은 네트워크(예를 들어,인터넷) 및 하나 이상의 적절한 인터페이스(예를 들어, API)를 통해 액세스 가능하다.
또한, 도면은 단지 설명을 목적으로 예시적인 환경의 일부 실시예를 도시한다. 당업자는 본 명세서에 설명된 원리를 벗어나지 않고 본 명세서에 예시된 구조 및 방법의 대안적인 실시예가 사용될 수 있음을 다음 논의로부터 쉽게 인식할 것이다.
본 개시를 읽는 경우 당업자는 본 명세서에 개시된 원리를 통해 개인화된 맵 데이터를 제공하기 위한 또 다른 대안적인 구조적 및 기능적 설계를 이해할 것이다. 따라서, 특정 실시예 및 응용이 예시되고 설명되었지만, 개시된 실시예는 본 명세서에 개시된 정확한 구성 및 컴포넌트로 제한되지 않는다는 것을 이해해야 한다. 당업자에게 명백할 다양한 수정, 변경 및 변경은 첨부된 청구 범위에 정의된 사상 및 범위를 벗어나지 않고 본 명세서에 개시된 방법 및 장치의 배열, 동작 및 세부 사항에서 이루어질 수 있다.

Claims (20)

  1. 사용자에게 친숙한 위치를 중간 목적지로 사용하여 내비게이션 방향을 제공하는 방법으로서, 상기 방법은,
    하나 이상의 프로세서에서, 출발 위치에서 최종 목적지 위치까지 사용자에 대한 내비게이션 방향에 대한 요청을 수신하는 단계;
    하나 이상의 프로세서에 의해, 사용자에 대한 친숙도에 기초하여 선택된 중간 목적지 위치를 식별하는 단계;
    하나 이상의 프로세서에 의해, 중간 목적지 위치를 향해 주행하도록 사용자에게 안내하는 제1 내비게이션 명령을 제공하는 단계; 및
    사용자가 중간 목적지 위치 또는 그 중간 목적지 위치를 향한 경로를 따라 특정 경유지(waypoint)에 접근하고 있다는 결정에 응답하여, 하나 이상의 프로세서에 의해, 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하는 단계를 포함하는 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  2. 제1항에 있어서,
    최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하는 단계는,
    사용자가 중간 목적지 위치에 도달했다는 결정에 응답하여, 하나 이상의 프로세서에 의해, 사용자를 중간 목적지 위치로부터 최종 목적지 위치까지 안내하는 내비게이션 명령 세트를 제공하는 단계를 포함하는 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  3. 제1항 또는 제2항에 있어서,
    중간 목적지 위치를 향한 경로는 제1 경로이고,
    하나 이상의 프로세서에 의해, 출발 위치로부터 최종 목적지 위치까지의 내비게이션 명령 세트를 포함하는 제2 경로를 생성하는 단계를 더 포함하고, 그 세트 내의 각 내비게이션 명령은 특정 경유지에서의 기동(maneuver)을 포함하고, 상기 중간 목적지 위치는 출발 위치로부터 최종 목적지 위치까지의 제2 경로에서 떨어져 위치되는 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  4. 임의의 선행하는 청구항에 있어서,
    중간 목적지 위치를 식별하는 단계는,
    하나 이상의 프로세서에 의해, 제2 경로상의 기동에 대응하는 특정 경유지들 중 하나의 임계 거리 내의 중간 목적지 위치를 식별하는 단계를 포함하는 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  5. 임의의 선행하는 청구항에 있어서,
    최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하는 단계는,
    사용자가 출발 위치로부터 최종 목적지 위치까지의 제2 경로와 교차하는 중간 목적지 위치를 향한 제1 경로를 따라 특정 경유지에 도달했다는 결정에 응답하여, 하나 이상의 프로세서에 의해, 특정 경유지로부터 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하는 단계를 포함하는 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  6. 임의의 선행하는 청구항에 있어서,
    특정 경유지는,
    출발 위치로부터 최종 목적지 위치까지의 제2 경로와 교차하는 복수의 경유지 중 마지막 경유지인 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  7. 임의의 선행하는 청구항에 있어서,
    사용자에 대한 친숙도에 기초하여 선택된 중간 목적지 위치를 식별하는 단계는,
    하나 이상의 프로세서에 의해, 사용자에 대한 친숙도에 기초하여 복수의 후보 중간 목적지 위치를 식별하는 단계;
    하나 이상의 프로세서에 의해, 사용자에 대한 친숙도 레벨, 출발 위치에서 최종 목적지 위치까지의 제2 경로를 따라 가장 가까운 경유지로부터 후보 중간 목적지 위치까지의 거리, 또는 후보 중간 목적지 위치로부터 최종 목적지 위치까지의 거리 중 적어도 하나에 따라 복수의 후보 중간 목적지 위치 각각을 순위 지정하는(ranking) 단계; 및
    하나 이상의 프로세서에 의해, 최고 순위의 후보 중간 목적지 위치를 중간 목적지 위치로 선택하는 단계를 포함하는 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  8. 임의의 선행하는 청구항에 있어서,
    중간 목적지 위치를 향해 주행하도록 사용자에게 지시하는 제1 내비게이션 명령을 제공하는 단계는,
    중간 목적지 위치로 내비게이션하기 위한 단일 명령을 제공하는 단계를 포함하는 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  9. 임의의 선행하는 청구항에 있어서,
    사용자에 대한 친숙도에 기초하여 선택된 중간 목적지 위치를 식별하는 단계는,
    하나 이상의 프로세서에 의해, 사용자에 대한 위치 이력를 획득하는 단계;
    하나 이상의 프로세서에 의해, 위치 이력에 기초하여 사용자가 중간 목적지 위치를 방문한 빈도 또는 사용자가 가장 최근에 중간 목적지 위치를 방문한 이후의 시간량을 결정하는 단계;
    하나 이상의 프로세서에 의해, 사용자가 중간 목적지 위치를 방문한 빈도가 임계 빈도를 초과하거나 또는 사용자가 가장 최근에 중간 목적지 위치를 방문한 이후의 시간량이 임계 시간량보다 적다는 결정에 응답하여 중간 목적지 위치를 식별하는 단계를 포함하는 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  10. 임의의 선행하는 청구항에 있어서,
    하나 이상의 프로세서에 의해, 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하는 단계는,
    하나 이상의 프로세서에 의해, 사용자에 대한 친숙도에 기초하여 선택된 추가 중간 목적지 위치를 식별하는 단계;
    하나 이상의 프로세서에 의해, 추가 중간 목적지 위치를 향해 주행하도록 사용자에게 지시하는 제2 내비게이션 명령을 제공하는 단계; 및
    사용자의 휴대용 디바이스가 추가 중간 목적지 위치 또는 추가 중간 목적지 위치를 향한 경로를 따라 추가 경유지에 접근하고 있다는 결정에 응답하여, 하나 이상의 프로세서에 의해, 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하는 단계를 포함하는 것을 특징으로 하는 내비게이션 방향을 제공하는 방법.
  11. 사용자에게 친숙한 위치를 중간 목적지로 사용하여 내비게이션 방향을 제공하는 컴퓨팅 디바이스로서, 상기 컴퓨팅 디바이스는,
    하나 이상의 프로세서; 및
    하나 이상의 프로세서에 결합되어 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 메모리를 포함하고, 상기 명령들은 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 디바이스로 하여금:
    출발 위치로부터 최종 목적지 위치까지 사용자를 위한 내비게이션 방향에 대한 요청을 수신하고;
    사용자에 대한 친숙도에 기초하여 선택된 중간 목적지 위치를 식별하고;
    중간 목적지 위치를 향해 주행하도록 사용자에게 지시하는 제1 내비게이션 명령을 제공하고; 그리고
    사용자가 중간 목적지 위치 또는 중간 목적지 위치를 향한 경로를 따라 특정 경유지에 접근하고 있다는 결정에 응답하여, 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하는 것을 특징으로 하는 컴퓨팅 디바이스.
  12. 제11항에 있어서,
    최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하기 위해, 상기 명령들은 컴퓨팅 디바이스로 하여금 사용자가 중간 목적지 위치에 도달했다는 결정에 응답하여 중간 목적지 위치로부터 최종 목적지 위치까지 사용자를 안내하는 내비게이션 명령 세트를 제공하게 하는 것을 특징으로 하는 컴퓨팅 디바이스.
  13. 제11항 또는 제12항에 있어서,
    중간 목적지 위치를 향한 경로는 제1 경로이고,
    명령들은 컴퓨팅 디바이스로 하여금:
    출발 위치로부터 최종 목적지 위치까지의 내비게이션 명령 세트를 포함하는 제2 경로를 생성하게 하고, 그 세트내의 각 내비게이션 명령은 특정 경유지에서의 기동을 포함하며, 중간 목적지 위치는 출발 위치로부터 최종 목적지 위치까지의 제2 경로에서 떨어져 위치하는 것을 특징으로 하는 컴퓨팅 디바이스.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서,
    중간 목적지 위치는,
    제2 경로상의 기동에 대응하는 특정 경유지들 중 하나의 임계 거리 내에 있는 것을 특징으로 하는 컴퓨팅 디바이스.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하기 위해, 상기 명령들은 컴퓨팅 디바이스로 하여금 사용자가 출발 위치로부터 최종 목적지 위치까지의 제2 경로와 교차하는 중간 목적지 위치를 향한 제1 경로를 따라 특정 경유지에 도달했다는 결정에 응답하여, 특정 경유지로부터 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하게 하는 것을 특징으로 하는 컴퓨팅 디바이스.
  16. 제11항 내지 제15항 중 어느 한 항에 있어서,
    특정 경유지는,
    출발 위치로부터 최종 목적지 위치까지의 제2 경로와 교차하는 복수의 경유지 중 마지막 경유지인 것을 특징으로 하는 컴퓨팅 디바이스.
  17. 제11항 내지 제16항 중 어느 한 항에 있어서,
    중간 목적지 위치를 식별하기 위해, 명령들은 컴퓨팅 디바이스로 하여금:
    사용자에 대한 친숙도에 기초하여 복수의 후보 중간 목적지 위치를 식별하고;
    사용자에 대한 친숙도 레벨, 출발 위치로부터 최종 목적지 위치까지의 제2 경로를 따라 가장 가까운 경유지으로부터 후보 중간 목적지 위치까지의 거리, 또는 후보 중간 목적지 위치로부터 최종 목적지 위치까지의 거리 중 적어도 하나에 따라 복수의 후보 중간 목적지 위치 각각을 순위 지정하고; 그리고
    최고 순위의 후보 중간 목적지 위치를 중간 목적지 위치로 선택하게 하는 것을 특징으로 하는 컴퓨팅 디바이스.
  18. 사용자에게 친숙한 위치를 중간 목적지로 사용하여 내비게이션 방향을 제공하기 위한 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 상기 명령들은 컴퓨팅 디바이스내의 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금:
    출발 위치로부터 최종 목적지 위치까지 사용자를 위한 내비게이션 방향에 대한 요청을 수신하고;
    사용자에 대한 친숙도에 기초하여 선택된 중간 목적지 위치를 식별하고;
    중간 목적지 위치를 향해 주행하도록 사용자에게 지시하는 제1 내비게이션 명령을 제공하고; 그리고
    사용자가 중간 목적지 위치 또는 중간 목적지 위치를 향한 경로를 따라 특정 경유지에 접근하고 있다는 결정에 응답하여, 최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  19. 제18항에 있어서,
    최종 목적지 위치로 사용자를 안내하는 내비게이션 명령 세트를 제공하기 위해, 상기 명령들은 하나 이상의 프로세서로 하여금 사용자가 중간 목적지 위치에 도달했다는 결정에 응답하여, 중간 목적지 위치로부터 최종 목적지 위치까지 사용자를 안내하는 내비게이션 명령 세트를 제공하게 하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  20. 제18항 또는 제19항에 있어서,
    중간 목적지 위치를 향한 경로는 제1 경로이고,
    상기 명령들은 하나 이상의 프로세서로 하여금:
    출발 위치로부터 최종 목적지 위치까지의 내비게이션 명령 세트를 포함하는 제2 경로를 생성하게 하고, 그 세트내의 각 내비게이션 명령은 특정 경유지에서의 기동을 포함하며, 중간 목적지 위치는 출발 위치로부터 최종 목적지 위치까지의 제2 경로에서 떨어져 위치하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.















KR1020207036982A 2018-09-06 2018-09-06 친숙한 위치를 중간 목적지로 사용하는 내비게이션 방향 KR102542491B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/049661 WO2020050841A1 (en) 2018-09-06 2018-09-06 Navigation directions with a familiar location as an intermediate destination

Publications (2)

Publication Number Publication Date
KR20210014657A true KR20210014657A (ko) 2021-02-09
KR102542491B1 KR102542491B1 (ko) 2023-06-12

Family

ID=63714027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207036982A KR102542491B1 (ko) 2018-09-06 2018-09-06 친숙한 위치를 중간 목적지로 사용하는 내비게이션 방향

Country Status (6)

Country Link
US (2) US11835354B2 (ko)
EP (1) EP3797262A1 (ko)
JP (1) JP7108053B2 (ko)
KR (1) KR102542491B1 (ko)
CN (1) CN112368545A (ko)
WO (1) WO2020050841A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10820141B2 (en) * 2018-11-16 2020-10-27 Here Global B.V. Method and apparatus for presenting privacy-respectful and personalized location-based comments based on passenger context and vehicle proximity to the location
CN113029178A (zh) * 2021-03-25 2021-06-25 北京百度网讯科技有限公司 一种导航路径的确定方法、装置、设备以及存储介质
CN113240816B (zh) * 2021-03-29 2022-01-25 泰瑞数创科技(北京)有限公司 基于ar和语义模型的城市精确导航方法及其装置
US20220414168A1 (en) * 2021-06-24 2022-12-29 Kyndryl, Inc. Semantics based search result optimization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069503A1 (en) * 2004-09-24 2006-03-30 Nokia Corporation Displaying a map having a close known location
US20160076903A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation User Geographic Area Familiarity Based Navigation Instructions

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005181258A (ja) * 2003-12-24 2005-07-07 Mazda Motor Corp 情報提供システム、情報提供装置、情報提供装置用コンピュータ・プログラム、及び情報提供方法
US7831387B2 (en) 2004-03-23 2010-11-09 Google Inc. Visually-oriented driving directions in digital mapping system
US8103445B2 (en) 2005-04-21 2012-01-24 Microsoft Corporation Dynamic map rendering as a function of a user parameter
US8155877B2 (en) 2007-11-29 2012-04-10 Microsoft Corporation Location-to-landmark
US20110098910A1 (en) 2009-10-22 2011-04-28 Nokia Corporation Method and apparatus for intelligent guidance using markers
US8498788B2 (en) 2010-10-26 2013-07-30 Deere & Company Method and system for determining a planned path of a vehicle
US9294240B2 (en) 2011-02-25 2016-03-22 Qualcomm Incorporated Multi-carrier operations with fast frequency hopping
US20130035853A1 (en) 2011-08-03 2013-02-07 Google Inc. Prominence-Based Generation and Rendering of Map Features
US8762051B2 (en) * 2011-09-02 2014-06-24 GM Global Technology Operations LLC Method and system for providing navigational guidance using landmarks
US8306749B1 (en) 2011-11-22 2012-11-06 Google Inc. Systems and methods for route summarization
US8954279B2 (en) * 2013-06-25 2015-02-10 Facebook, Inc. Human-like global positioning system (GPS) directions
US9417069B2 (en) * 2013-07-25 2016-08-16 Honda Motor Co., Ltd. Familiarity modeling
US9234763B1 (en) 2013-08-14 2016-01-12 Google Inc. Systems and methods for identifying and selecting personalized waypoints for presentation on a map
US20150112593A1 (en) * 2013-10-23 2015-04-23 Apple Inc. Humanized Navigation Instructions for Mapping Applications
US9574890B2 (en) 2014-03-04 2017-02-21 Qualcomm Incorporated Reduced power consumption and improved user experience when navigating along familiar routes
US10126141B2 (en) 2016-05-02 2018-11-13 Google Llc Systems and methods for using real-time imagery in navigation
US10024683B2 (en) 2016-06-06 2018-07-17 Uber Technologies, Inc. User-specific landmarks for navigation systems
US10168173B2 (en) 2016-10-26 2019-01-01 Google Llc Systems and methods for using visual landmarks in initial navigation
US20180143998A1 (en) 2016-11-21 2018-05-24 Google Inc. Electronic map interfaces

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069503A1 (en) * 2004-09-24 2006-03-30 Nokia Corporation Displaying a map having a close known location
US20160076903A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation User Geographic Area Familiarity Based Navigation Instructions

Also Published As

Publication number Publication date
CN112368545A (zh) 2021-02-12
KR102542491B1 (ko) 2023-06-12
US20210381844A1 (en) 2021-12-09
EP3797262A1 (en) 2021-03-31
JP2021524585A (ja) 2021-09-13
JP7108053B2 (ja) 2022-07-27
US20240044665A1 (en) 2024-02-08
US11835354B2 (en) 2023-12-05
WO2020050841A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
KR101725886B1 (ko) 자동으로 결정된 스타팅 포인트들과 선택된 목적지들 사이의 네비게이션 경로들
KR102549472B1 (ko) 매핑 애플리케이션에 개인화된 랜드마크 표시
US9885582B2 (en) Systems and methods for generating electronic map displays with points-of-interest information based on reference locations
EP2671051B1 (en) Systems and methods for generating electronic map displays with points-of-interest based on density thresholds
EP2671049B1 (en) Systems and methods for generating electronic map displays with points-of-interest information
US20240044665A1 (en) Navigation directions with a familiar location as an intermediate destination
KR20220066987A (ko) 내비게이션 기동과 연계할 관심지점(poi)을 선택하기 위한 시스템 및 방법
JP6785871B2 (ja) ナビゲーション指示の提供
CN112189196A (zh) 个性化地标

Legal Events

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