KR102196470B1 - 디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어 - Google Patents

디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어 Download PDF

Info

Publication number
KR102196470B1
KR102196470B1 KR1020157032825A KR20157032825A KR102196470B1 KR 102196470 B1 KR102196470 B1 KR 102196470B1 KR 1020157032825 A KR1020157032825 A KR 1020157032825A KR 20157032825 A KR20157032825 A KR 20157032825A KR 102196470 B1 KR102196470 B1 KR 102196470B1
Authority
KR
South Korea
Prior art keywords
locations
search
level
detail
electronic device
Prior art date
Application number
KR1020157032825A
Other languages
English (en)
Other versions
KR20160002942A (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 KR20160002942A publication Critical patent/KR20160002942A/ko
Application granted granted Critical
Publication of KR102196470B1 publication Critical patent/KR102196470B1/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
    • 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/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/3664Details of the user input interface, e.g. buttons, knobs or sliders, including those provided on a touch screen; remote controllers; input using gestures
    • 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/3679Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
    • G01C21/3682Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities output of POI information on a road map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof

Abstract

데이터 프로세싱 수단; 디지털 맵을 나타내는 데이터를 포함하는 데이터 레포지토리; 및 디스플레이 수단;을 포함하는 휴대용 전자 기기가 개시되어 있다. 상기 휴대용 전자 기기는 상기 디지털 맵에 관련된 복수 개의 위치들을 나타내는 데이터와 관련하여, 상기 디스플레이 상에 디스플레이되는 디지털 맵의 표현을 통해 상기 위치들 각각에 대해 상기 위치들을 나타내도록 서로 다른 돌출 레벨들에 의해 특징화되는 복수 개의 서로 다른 그래픽 사용자 인터페이스(graphical user interface; GUI) 요소들 중 하나를 제공하는 수단을 부가적으로 포함하며, 각각의 위치에 대해 사용되는 상기 GUI 요소의 돌출 레벨은 상기 디지털 맵이 디스플레이되게 하는 세부 레벨 및 사용자 질의에 대한 상기 위치의 예상 관련성에 의존한다.

Description

디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어{Methods, devices and computer software for facilitating searching and display of locations relevant to a digital map}
본원에는 디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어가 개시되어 있다. 특히, 본원에는 사용자 입력 자유 텍스트 탐색 스트링에 기반하여 위치들의 데이터 레포지토리를 탐색하는 방법, 기기 및 컴퓨터 소프트웨어가 개시되어 있다. 또한, 본원에는 사용자 입력 자유 텍스트 탐색 스트링에 기반하여 선택가능한 탐색 제안들을 생성 및 디스플레이함으로써 사용자가 위치들의 데이터 레포지토리를 탐색하는 것을 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어가 개시되어 있다. 또한, 본원에는 예를 들면 사용자가 한 세트의 목적지 탐색 결과들, 한 세트의 현재 교통사고들 등등을 표현하는 복수 개의 위치들을 리뷰하는 것을 용이하게 하도록 디스플레이 상에 디스플레이된 디지털 맵의 표현을 통해 서로 다른 돌출 레벨들의 그래픽 사용자 인터페이스(graphical user interface; GUI) 요소들을 제공하는 방법, 기기 및 컴퓨터 소프트웨어가 개시되어 있다. 본원의 여러 실시태양 모두에는 스마트폰들, 휴대용 내비게이션 기기들, 소위 PND들와 같은 휴대용 전자 기기들의 형태를 이루는 내비게이션 장치에서 특정한 유용성이 존재하고 일체화된 내비게이션 시스템, 예컨대 차량 내 내비게이션 시스템의 일부를 형성하는 내비게이션 장치에 대해 특정한 유용성이 존재한다.
스마트폰들, 휴대용 내비게이션 기기(portable navigation device; PND)들과 같은 전자 기기들 및 GPS 신호 수신 및 프로세싱 기능과 같은 글로벌 내비게이션 위성 시스템(Global Navigation Satellite System; GNSS)들을 포함하는 일체화된 내비게이션 시스템들은 개인용, 차량 내 또는 다른 차량 내비게이션 시스템들로서 널리 채용되고 있다. 일반적인 측면에서, 내비게이션 기능을 지니는 공지된 전자 기기는 프로세서, (휘발성 및 비-휘발성 중 적어도 하나, 및 일반적으로는 양자 모두인) 메모리, 및 상기 메모리 내에 저장된 맵 데이터를 포함한다. 상기 프로세서 및 메모리는 소프트웨어 운영 체제가 확립될 수 있게 하는 실행 환경을 제공하도록 협동하며, 추가로 상기 PND의 기능이 제어될 수 있게 하고 다른 여러 기능들을 제공하도록 하나 이상의 추가 소프트웨어 프로그램들이 제공되는 것이 일반적이다.
전형적으로, 이러한 기기들은 사용자로 하여금 기기와 상호작용하여 상기 기기를 제어할 수 있게 하는 하나 이상의 입력 인터페이스들, 및 정보가 사용자에게 릴레이될 수 있게 하는 하나 이상의 출력 인터페이스들을 부가적으로 포함한다. 출력 인터페이스들의 대표적인 예들은 시각 디스플레이 및 청각 출력을 위한 스피커를 포함한다. 입력 인터페이스들의 대표적인 예들은 기기의 온/오프 동작 또는 다른 특징들을 제어하도록 하는 하나 이상의 물리적 버튼들(이러한 버튼들은 반드시 기기 자체 상에 있을 필요가 없으며 기기가 차량에 내장되는 경우에 스티어링 휘일 상에 있을 수 있음), 및 사용자 음성을 검출하기 위한 마이크로폰을 포함한다. 특히 바람직한 구성에서, 출력 인터페이스 디스플레이는 사용자가 터치 방식으로 기기를 동작시킬 수 있게 하는 입력 인터페이스를 추가로 제공하도록 (터치 감응 오버레이를 통해 또는 이와는 다른 방식으로) 터치 감응 디스플레이로서 구성될 수 있다.
이러한 타입의 기기들은 또한 종종, 전력 및 선택적으로는 데이터 신호들이 기기로 전송될 수 있고 기기로부터 수신될 수 있게 하는 하나 이상의 물리적 커넥터 인터페이스들, 및 선택적으로는 셀룰러 통신 및 다른 신호 및 데이터 통신 네트워크들, 예를 들면 Wi-Fi, Wi-Max, GSM 등등을 통해 통신할 수 있게 하는 하나 이상의 무선 송신기들/수신기들을 포함하게 된다.
이러한 타입의 PND 기기들은 또한 위치 데이터를 포함하는, 위성-방송 신호들이 수신된 다음에, 기기의 현재 위치를 결정하도록 프로세싱될 수 있게 하는 GPS 안테나를 포함한다.
상기 PND 기기는 또한, 현재의 각도 및 선형 가속도를 결정하도록 프로세싱될 수 있는 신호들, 그리고 또한 기기, 결과적으로는 상기 기기가 탑재된 차량의 GPS 신호, 속도 및 상대적인 변위로부터 획득되는 위치 정보를 생성하는 전자 자이로스코프들 및 가속도계들을 포함할 수 있다. 전형적으로는, 그러한 특징들이 차량 내의 내비게이션 시스템들에 가장 일반적으로 제공되는 것들이지만, 만약 그렇게 하는 것이 유용하다면 PND 기기들 내에 또한 제공될 수도 있다.
그러한 PND들의 유용성은 상기 PND들이 (출발 또는 현재 위치인 것이 전형적인) 제1 위치 및 (목적지인 것이 전형적인) 제2 위치 간의 경로(route)를 결정할 수 있는 능력에서 주로 나타나게 된다. 공지된 기기들에서는, 이러한 위치들은, 다양한 여러 다른 방법들 중 어느 한 방법으로, 예를 들면 우편번호, 거리 이름 및 집의 번지, 이름 등등으로, 기기의 사용자에 의해 입력될 수 있다. 몇몇 공지된 내비게이션 기기들에서는, 내비게이트 가능 목적지들이 디지털 맵에 관련된 위치들을 나타내는 데이터 레코드들의 데이터 레포지토리에 국부적으로 저장된다. 내비게이트 가능 목적지들을 나타내는 위치들에 대해, 상기 디지털 맵에서 위도 및 경도와 같은 위치 정보 또는 노드들 간의 노선을 따른 거리가 저장됨으로써, 상기 목적지가 위치되게 하고 그러한 위치에 대한 내비게이트 가능 경로가 생성되게 하는 것을 허용할 수 있다.
전형적으로는 내비게이트 가능 목적지들에 대한 위치 데이터 레코드들은 특정 주소를 함께 정의하는, 집의 번지, 거리 이름, 거주지 이름, 국가 및 우편번호를 포함하는 컴포넌트들(또는 데이터 필드들)을 지니는 주소들을 나타낼 수 있다. 목적지들에 대한 위치 데이터 레코드들은 또한, (유명한 위치들, (스포츠 경기장들 또는 수영장들과 같은) 지방자치의 위치들 또는 레스토랑들, 바들, 가게들 등등과 같은 다른 관심 지점들과 같은) "잘 알려져 있는" 목적지들일 수 있는, 사전에 저장된 제조업체에 의해 공급되거나 사용자에 의해 생성된 관심 지점(point of interest; POI)들을 나타낼 수 있다. POI 데이터 레코드들은 POI 이름(예컨대, "영국 박물관"), POI 상표 이름(예컨대, "스타벅스"), POI 카테고리 이름 및/또는 카테고리 코드(예컨대, "레스토랑" 및 "7315") 및 (집의 번지, 거리 이름, 거주지 이름, 우편번호 및 국가를 포함하는) POI 주소 중 하나 이상을 포함하는 컴포넌트들을 지닐 수 있다. 데이터 레코드들은 또한 즐겨찾기 또는 최근에 방문한 목적지용으로 저장될 수 있다.
전형적으로, 상기 PND는 출발지 및 목적지 주소 위치들 간의 "최상" 또는 "최적"의 경로를 맵 데이터로부터 계산하기 위한 소프트웨어에 의해 작동된다. "최상" 또는 "최적"의 경로는 사전에 결정된 기준을 기반으로 하여 결정되고 반드시 가장 빠르거나 가장 짧은 경로일 필요는 없다. 운전자를 안내해야 하는 경로의 선택은 매우 복잡할 수 있고, 선택된 경로는 기존에 있는, 예상된 그리고 동적 및/또는 무선 방식으로 수신된 교통 및 도로 정보, 도로 속도들에 관한 이력 정보, 및 (예를 들면 경로에 자동차 전용도로들 또는 유료 도로들이 포함되지 않음을 운전자가 지정할 수 있는 것과 같은) 도로 선택을 결정하는 요소들에 대한 운전자 자신의 선호도들을 고려할 수 있다.
그 외에도, 기기는 계속해서 도로 및 교통 상태들을 모니터링하고, 변경된 상태들로 인해 나머지 주행이 이루어져야 하는 경로를 변경하도록 제공하거나 또는 변경된 상태들로 인해 나머지 주행이 이루어져야 하는 경로를 변경하도록 선택할 수 있다. 여러 기법(예컨대, 이동 전화 데이터 교환들, 고정식 카메라들, GPS 차량 트래킹)에 기반한 실시간 교통 모니터링 시스템들은 교통 정체(traffic delay)들을 식별하고 그 정보를 알림 시스템들에 보내는데 사용되고 있다.
이러한 타입의 PND들은 차량의 계기반 또는 앞유리 상에 탑재되는 것이 전형적일 수 있지만, 또한 차량 라디오의 온-보드(on-board) 컴퓨터의 일부로서 또는 실제로는 차량 자체의 제어 시스템의 일부로서 형성될 수 있다. 내비게이션 기기는 또한 PDA(Portable Digital Assistant; 휴대 정보 단말기), 미디어 플레이어, 이동 전화, 스마트폰 따위와 같은 핸드-헬드 시스템의 일부일 수 있고, 이러한 경우에, 상기 핸드-헬드 시스템의 전형적인 기능은 경로 계산 및 계산된 경로를 따른 내비게이션을 수행하도록 상기 기기상의 소프트웨어의 설치를 통해 확장된다.
이동 기기가 고정 단말기와의 무선 통신을 이루는 것이 가능하다. 목적지 및 경로를 결정하는데 필요한 데이터 저장 및 프로세싱은 상기 고정 단말기에서 수행될 수 있고 상기 이동 단말기는 사용자 입력 정보를 상기 고정 단말기에 전송하고 상기 고정 단말기로부터 상기 이동 기기의 사용자에게 디스플레이하기 위한 정보를 수신한다. 그러나, 그러한 구현은 상기 이동 기기에 대한 무선 접속과 아울러, 정보 전송을 위한 최소 대역폭을 필요로 하고, 이들 중 어떠한 것도 모든 위치들에서 보장될 수 없다.
따라서, 내비게이션 기기가 이동 기기인 경우에, 상기 이동 기기는 지리 정보의 대용량 데이터베이스를 저장하고 상기 이동 기기의 제한된 프로세싱 자원들을 사용하여 상기 데이터베이스의 탐색을 수행할 필요가 있다. 공지된 내비게이션 기기들에서는, 주소 또는 POI와 같은 목적지가 지리 정보의 데이터베이스 내에서 탐색되고, 이러한 경우에 데이터 레코드의 데이터 레포지토리가 안내 탐색을 사용하여 디지털 맵에 관련된 위치들을 나타낸다.
안내 탐색은 사용자로부터 정보의 특정 타입들을 요구하도록 하는 프롬프트들을 사용한다. 각각의 프롬프트에 대한 사용자의 응답들은 원하는 사용자의 목적지에 상응하는 탐색 결과에 이르게 될 때까지 감소된 탐색 공간이 후속 탐색들에 대해 정의되는 것을 허용한다. 각각의 탐색 공간이 지리 정보의 전체 데이터베이스보다는 작기 때문에, 상기 이동 기기가 자신의 제한된 프로세싱 능력으로 지리 정보의 전체 데이터베이스를 탐색해야 하는 문제에 직면하지 않는다.
도 5에는 공지된 안내 탐색 프로세스(500)의 일 예가 도시되어 있다. 상기 프로세스는 주소 또는 관심 지점(point of interest; POI)을 탐색해야 하는지의 선택을 입력할 것을 사용자에게 프롬프트하는 결정 지점(501)에서 시작된다. 사용자가 주소 탐색을 선택하는 경우에, 사용자는 도시의 이름(502), 상기 도시에 내재하는 거리(503) 및 집의 번지(504)를 입력하도록 3가지 부가적인 프롬프트들을 수신한다. 사용자가 주소 탐색 대신에 POI 탐색을 선택하는 경우에, 사용자는 도시의 이름(505)을 입력한 다음에 POI 카테고리(507)를 탐색할지 POI 이름(508)을 탐색할지의 선택(506)을 입력하도록 프롬프트된다. 그리고나서, 사용자는 사용자의 선택에 의존하여 상기 POI 카테고리 및/또는 POI 이름을 입력하도록 부가적인 프롬프트들을 수신한다. 이러한 탐색들은 사용자가 입력을 위해 프롬프트되게 하는 데이터 레코드들의 특정 컴포넌트들을 탐색하고, 사용자 입력과 매칭되는 컴포넌트 값을 지니지 않도록 상기 데이터 레코드들의 특정 컴포넌트들을 필터링하여 제거함으로써 상기 탐색 공간을 반복적으로 좁힌다.
안내 탐색들에 의해 직면하게 되는 문제들은 복수 개의 프롬프트들 때문에 상기 기기가 느려지고 사용하기 어렵게 된다는 것이다. 사용자가 상기 기기에 대한 단일 입력을 통해 원하는 목적지를 정의하는 정보를 제공하는 것은 충분하지 않다. 그 외에도, 사용자는 불완전한 정보를 갖거나, 원하는 데이터 레코드와 정확하게 부합하지 않은 정보를 지니기 때문에 원하는 목적지를 찾는 것이 불가능할 수 있다. 따라서, 사용자는 원하는 목적지를 찾도록 지리 정보의 데이터베이스를 쉽고 추론적으로 탐색할 수 없다.
안내 탐색을 수행하는 대체안은 자유 텍스트 탐색을 수행하는 것이다. 자유 텍스트 탐색은 단일 사용자 입력으로부터 사용자의 원하는 목적지를 결정하여 안내 탐색을 수행하는데 필요한 복수 개의 프롬프트들을 회피하는데 그 목적이 있다.
WO 2010/119137 A1에는 내비게이션 기기를 위한 그러한 자유 텍스트 탐색 기법의 일 예가 개시되어 있다. 그러한 탐색은 지리적 대상들의 이름들을 맵 타일들의 집합들에 연관시키는 트리에 기반하여 이루어진다. 디지털 맵은 복수 개의 계층 레벨들을 따라 쿼드트리로 분할된다. 대용량 데이터베이스가 상기 이동 기기의 제한된 프로세싱 자원들을 가지고 효율적으로 탐색될 수 있도록 탐색 공간을 감소시키기 위해, 상기 트리 내의 한 레벨에서 제1 탐색이 수행된다. 후보 타일들의 개수가 사전에 결정된 개수를 초과하는 경우에는, 상기 후보 세트의 타일들 중 일부 또는 모두를 다음 레벨 타일로 압축함으로써 상기 탐색 공간이 감소하게 된다. 따라서, 이동 기기는 사전에 결정된 크기보다 큰 공간들을 직접 탐색할 필요가 없다.
그러나, 위에 기재한 자유 텍스트 탐색 기법에 관련된 문제는 후보 결과들이 획득된 후에 탐색 공간을 감소시키는데 필요한 프로세싱을 수행할 필요가 있다는 것이다. 상기 탐색 공간을 변경하도록 하는 이러한 프로세싱은 프로세싱 요건들을 증가시키고 탐색 결과들의 회수를 느리게 한다.
PND들의 분야에서는 탐색 결과들의 리스트 뷰 외에도, 그래픽 사용자 인터페이스(graphical user interface; GUI) 요소들이 목적지 탐색의 결과들, 또는 기상 이벤트들 또는 교통 사고들의 위치들을 나타내는데 사용되는 맵뷰를 또한 제공하는 것이 공지되어 있다. 이는 사용자가 디지털 맵에 관련된 위치들을 문맥상으로 가시화하는 것을 용이하게 할 수 있다. 그러나, 특히 사용자가 이용가능하고 쉽게 이해할 수 있는 방식으로 이러한 위치들을 보여주는 것이 문제가 되는데, 그 이유는 너무 많거나 너무 적은 기능을 가지고 너무 많거나 너무 적은 위치 정보가 디스플레이될 수 있기 때문이며, 이는 사용자 경험을 줄이고 경로에 대한 목적지를 선택하여 관련 기상 및 교통 이벤트들을 고려하거나 관련 기상 및 교통 이벤트들을 효율적으로 고려하도록 하는 상기 기기의 사용 용이성을 제한할 수 있다.
본 발명의 실시 예들에서는 공지된 내비게이션 툴들에서 위에 기재한 제한들 중 적어도 일부를 해결하도록 된 방법, 기기 및 컴퓨터 소프트웨어가 제공된다.
특히, 본원에는 사용자-입력 자유 텍스트 탐색 스트링에 기반하여 위치들의 데이터 레포지토리를 탐색하는 방법, 기기 및 컴퓨터 소프트웨어가 개시되어 있다. 지금부터 본 개시내용의 실시태양들이 다음과 같이 요약될 것이다.
한 실시태양에서 볼 때, 휴대용 전자 기기가 제공되며, 상기 휴대용 전자 기기는 데이터 프로세싱 수단; 데이터 레포지토리로서, 디지털 맵에 관련되거나 디지털 맵에 내재하는 위치들을 나타내는 데이터 레코드들; 및 상기 데이터 레코드들에 포함된 워드들을 상기 워드들이 나타나게 되는 상기 데이터 레코드들에 연관시키는 인덱스를 나타내는 데이터;를 포함하는, 데이터 레포지토리;를 포함하며, 상기 휴대용 전자 기기는 또한 명령어들을 포함하는 컴퓨터 판독가능 매체로서, 상기 명령어들은, 상기 데이터 프로세싱 수단에 의해 실행될 때, 상기 휴대용 전자 기기로 하여금, 탐색 스트링을 포함하는 수신된 탐색 질의에 관련하여, 상기 탐색 스트링을 프로세싱하여 하나 이상의 탐색 워드들을 제공하게 하고; 상기 인덱스에 질의하여 상기 탐색 워드 또는 각각의 탐색 워드를 포함하는 데이터 레코드들을 식별하게 하며; 그리고 상기 탐색 질의에 대한 각각의 식별된 레코드의 관련성을 나타내는 상기 하나 이상의 식별된 데이터 레코드들 각각에 대한 순위를 생성하게 하는, 컴퓨터 판독가능 매체;를 포함한다.
이러한 실시태양에 의하면, 상기 휴대용 전자 기기의 사용자에게는 비록 이동 기기가 비교적 낮은 프로세싱 능력을 사용하여 데이터의 대용량 레포지토리를 탐색해야 하더라도 민감하게 반응하고 신속한 유연한 탐색이 제공된다. 그 외에도, 사용자는 제한적인 안내 탐색 절차에 얽매이지 않고 좀더 추론적으로 넓은 데이터 범위를 탐색하여 사용자로 하여금 원하는 위치 결과를 찾아낼 수 있는 가능성을 더 많게 할 수 있다.
상기 탐색 질의는 상기 휴대용 전자 기기의 사용자 입력으로부터 획득될 수 있으며, 상기 명령어들은 부가적으로 상기 휴대용 전자 기기로 하여금 상기 휴대용 전자 기기의 디스플레이 상의 결과들을 디스플레이하게 할 수 있다.
상기 명령어들은 부가적으로 상기 탐색 스트링을 프로세싱할 때 상기 휴대용 전자 기기로 하여금, 상기 탐색 스트링을 워드들로 분할하는 것; 상기 워드들을 정규화하는 것; 특정 워드들을 식별 및 처리하는 것; 중의 하나 이상을 수행하게 할 수 있다.
상기 워드들을 정규화하는 것은 모든 글자들을 소문자로 변환하는 것; 글자들로부터 악센트들을 제거하는 것; 일련의 동일 글자를 단일 글자로 대체하는 것; 단일 글자들을 다른 글자들로 대체하는 것; 워드들 및 약어들을 표준 약어들로 대체하는 것; 중의 하나 이상을 선택적으로 포함하는, 상기 탐색 스트링의 내용에서 불규칙성들을 설명하도록 된 하나 이상의 프로세싱 단계들을 포함할 수 있다. 상기 인덱스는 상기 데이터 레코드들에 포함된 워드들의 정규화된 버전들을 포함할 수 있으며 상기 탐색 스트링은 상기 인덱스의 생성에 사용된 동일한 정규화 규칙들을 사용하여 내부에 포함된 워드들을 정규화하도록 프로세싱될 수 있다.
상기 워드들을 정규화함으로써, 상기 탐색 절차가 좀더 다양해지고 인쇄 그리고 리콜(recall) 오류들, 및 맞춤법 변화들과 같은 사용자 오류들에 내성을 갖게 된다. 정규화는 또한 탐색될 인덱스들의 크기를 감소시켜, 탐색 프로세스를 부가적으로 가속화시킨다.
특정 워드들을 식별 및 처리하는 것은 국가 이름들 및 코드들을 표준 국가 코드들로 변환하는 것; 집의 번지들을 제거하는 것; 관심 지점(POI)들의 카테고리들에 상응하는 워드들을 식별하고, POI 카테고리 코드로 대체하는 것; 중의 하나 이상을 포함할 수 있다. 전체 탐색 스트링이 POI 카테고리 이름 또는 단일 POI 카테고리 이름의 프리픽스(prefix)인 경우에, 상기 질의는 상기 POI 카테고리의 레코드들에 대한 것이 바람직하다. 상기 전체 탐색 스트링이 하나보다 많은 워드를 포함하고 POI 카테고리 이름으로 시작되는 경우에, 상기 POI 카테고리 이름이 탐색 워드로서 제공되게 하는 제1 질의; 상기 POI 카테고리 이름이 POI 카테고리 코드로 대체되게 하는 제2 질의;를 포함하는 2가지 질의가 생성되는 것이 바람직하다.
상기 명령어들은 상기 인덱스에 질의하여 상기 또는 각각의 탐색 워드를 포함하는 데이터 레코드들을 식별할 경우에 부가적으로 상기 휴대용 전자 기기로 하여금, 각각의 탐색 워드에 대하여, 상기 인텍스로부터 매칭하는 레코드들의 집합을 찾아내게 하고; 그리고 상기 매칭하는 레코드들의 집합들의 교집합을 결정하여 모든 워드들에 매칭되는 레코드들을 제공하게 할 수 있다.
상기 명령어들은 각각의 데이터 레코드에 대한 순위를 생성할 경우에 부가적으로 상기 휴대용 전자 기기로 하여금, 각각의 레코드에 대한 스코어를 계산하게 하고; 상기 레코드들의 스코어들에 기반하여 상기 레코드들의 순위를 결정하게 하며; 2개의 레코드가 동일한 스코어를 지니는 경우에, 상기 레코드들의 순위 순서화를 조정하는 것이 가능하다면 탐색 중심으로부터의 거리에 기반하여 상기 레코드들의 순위 순서화를 조정하게 하고, 상기 2개의 레코드가 일정하지 않은 경우 순위 순서를 조정하지 않게 할 수 있다.
각각의 레코드에 대한 순위 결정 스코어를 계산하는 것은, 시작 스코어로부터 시작되는 것을 포함하며 상기 데이터 레코드 내에 포함되어 있는 워드에 정확하게 매칭되지 않는 탐색 스트링에 포함되어 있는 각각의 워드에 대한 페널티(penalty)를 상기 스코어로부터 감산하는 것; 상기 탐색 스트링 내에 배열되어 있는 탐색 워드들 간의 구조적 차이 및 올바르지 않은 워드 순서 및 워드 갭들을 포함하는 워드들이 상기 데이터 레코드에서 어떻게 나타나 있는지에 대한 페널티를 상기 스코어로부터 감산하는 것; 탐색 워드와 매칭되는 워드가 존재하는 컴포넌트에 포함되어 있는 각각의 비-매칭된 워드에 대한 페널티를 상기 스코어로부터 감산하는 것; 중요한 매치들로서 표시되는 데이터 레코드들에 대한 보너스(bonus)를 상기 스코어에 가산하는 것; 중의 하나 이상을 수행하는 것을 포함할 수 있다.
주소를 나타내는 레코드에 대한 순위결정 스코어를 계산하는 것은 상기 데이터 레코드의 거리 이름에 포함되어 있는 인덱스의 워드에 대해 매칭된 탐색 워드가 존재하지 않는 경우에 상기 데이터 레코드의 순위를 결정하지 않는 것; 탐색 중심이 존재하는 경우에, 상기 탐색 중심에 비교적 인접해 있는 데이터 레코드들에 대한 페널티들을 억제하는 것, 또는 상기 탐색 중심에 비교적 멀리 있는 데이터 레코드들에 대한 페널티들을 증가하는 것, 또는 억제 및 증가 양자 모두에 대한 페널티들 중 하나 이상을 조정하는 것; 거주지 중심과의 워드 매치가 존재하는 경우에, 거주지 중심과의 워드 매치가 존재하는 것이 가능하다면, 거주지의 중심의 크기 및 탐색 중심으로부터 거주지의 중심의 거리에 의존하는 보너스를 상기 스코어에 가산하는 것; 중의 하나 이상을 포함할 수 있다.
관심 지점(POI)을 나타내는 레코드에 대한 순위결정 스코어를 계산하는 것은 상기 POI의 이름, 상기 POI의 상표 이름 또는 POI 카테고리를 나타내는 상기 데이터 레코드의 컴포넌트들 중 하나에 포함되어 있는 인덱스의 워드에 대해 매칭되는 탐색 워드가 존재하지 않는 경우에 상기 데이터 레코드의 순위를 결정하지 않는 것; 탐색 중심이 존재하는 경우에, 탐색 워드와 매칭되는 워드가 존재하는 컴포넌트 내에 포함되어 있는 각각의 매칭되지 않은 워드에 대한 페널티를 상기 스코어로부터 감산하지 않는 것; 탐색 중심이 존재하지 않는 경우에, 탐색 워드와 매칭되는 워드가 존재하는 상기 POI의 이름 또는 상기 POI의 상표 이름을 나타내는 상기 데이터 레코드의 컴포넌트에 포함되어 있는 각각의 매칭되지 않은 워드에 대한 페널티를 상기 스코어로부터 감산하는 것; 탐색 중심이 존재하는 않는 경우에, 상기 POI의 이름 또는 상기 POI의 상표 이름에 포함되어 있는 인덱스의 워드에 대해 매칭되는 탐색 워드가 존재하지 않는 경우의 페널티를 상기 스코어로부터 감산하는 것; 중의 하나 이상을 포함할 수 있다.
상기 매칭하는 데이터 레코드들의 순위를 결정함으로써, 사용자에게는 순위 순서로 상기 탐색에 최대 관련성 있는 것으로 예상되는 레코드들이 제시될 수 있다. 이는 사용자에게 먼저, 다시 말하면 리스트의 상부에서 최대 관련성 있는 매칭하는 데이터 레코드들이 제시되는 것을 보장하는데 도움을 준다. 이는 또한 이하에서 좀더 구체적으로 설명되겠지만 맵뷰에서의 탐색 결과들의 효율적인 디스플레이를 용이하게 한다.
상기 데이터 레코드들(또는 문서들)은 주소 또는 관심 지점(POI)을 나타낼 수 있다. 상기 데이터 레코드들은 거리 이름; 지점 이름; 우편 번호; 국가 코드; POI 이름; POI 상표 이름; POI 주소; POI 카테고리 코드와 같은 컴포넌트들 중의 하나 이상을 나타내는 데이터를 포함할 수 있다. 상기 컴포넌트들을 나타내는 데이터는 위치 관련 정보 자체, 예컨대 거리 이름, 지점 이름, 우편 번호, 국가 코드, POI 이름, POI 상표 이름, POI 주소, POI 카테고리 코드 중의 하나 이상을 포함할 수 있다. 그러나, 바람직한 실시 예들에서는, 상기 컴포넌트들을 나타내는 데이터가 디지털 맵에 저장되어 있는 위치 관련 정보에 대한 참조 또는 포인터를 포함할 수 있다. 이러한 후자의 실시 예는 각각의 데이터 레코드의 크기가 최소로 유지되는 것을 허용하는데, 이는 이동 기기들 상에서 발견되는 것이 전형적인 메모리 제약이 주어진 경우에 유리하다.
각각의 데이터 레코드 또는 문서는 레코드 식별자, 예컨대 각각의 데이터 레코드가 고유하게 식별되는 것을 허용하는 레코드 식별자를 포함할 수 있다. 추가로 또는 변형적으로, 각각의 데이터 레코드는 위치 참조를 포함할 수 있다. 상기 위치 참조는, 특정한 지리적인 지역 내의 위치들의 탐색을 수행할 경우에, 상기 특정한 지리적인 지역 내의 단지 그러한 데이터 레코드들만이 탐색될 필요가 있도록 상기 디지털 맵에 의해 표시되는 지리적인 구역의 일부를 식별하는 것이 바람직하다. 상기 위치 참조는 모튼 코드(Morton code)로서 제공될 수 있음으로써, 상기 디지털 맵의 2차원 지리적인 지역이 1차원으로 표현되는 것을 허용한다.
상기 위치 참조는 상기 레코드 식별자의 일부를 형성할 수 있다. 예를 들면, 여러 실시 예에서는, 각각의 데이터 레코드에 대한 레코드 식별자가 제1 부분 및 제2 부분을 포함하며, 상기 제1 부분은 위치 참조, 예컨대 (상기 데이터 레코드에 의해 표현되는) 위치를 포함하는 지리적인 구역을 나타내는 모튼 코드(Morton code)이고, 상기 제2 부분은 연관된 디지털 맵에 저장되어 있는 상기 데이터 레코드에 대한 위치 관련 정보의 포인터 또는 참조이다.
서로 다른 위치 타입들을 나타내는 데이터 레코드들은 상기 레포지토리의 개별 데이터베이스들에 저장될 수 있으며 개별 자유 텍스트 인덱스들에서 색인될 수 있다. 예를 들면, 주소들, POI들, 최근 위치들 및 즐겨 찾는 위치들은 개별 데이터베이스들에 저장될 수 있으며 상기 탐색 동안 개별적으로 질의될 필요가 있기보다는 개별적인 자유 텍스트 인덱스들을 지닐 수 있다.
역 룩-업 테이블로서 작용하는 것이 바람직한 인덱스는 상기 컴포넌트들에 포함되어 있는 워드들의 집합의 각각의 워드에 대한 튜플 인덱스로서 상기 워드들이 나타나게 되는 모든 레코드들의 대응하는 레코드 식별자들에 상기 워드들의 각각의 워드를 관련시키는 튜플 인텍스를 포함할 수 있다.
상기 탐색 스트링은 상기 기기의 사용자 인터페이스에 의해 사용자에 의해 입력된 단일 필드 자유-텍스트 스트링으로부터 획득될 수 있다.
다른 한 실시태양에서 볼 때, 휴대용 전자 기기를 동작시키는 방법이 제공되며, 상기 휴대용 전자 기기는 데이터 프로세싱 수단; 데이터 레포지토리로서, 디지털 맵에 관련되거나 디지털 맵에 내재하는 위치들을 나타내는 데이터 레코드들 및 상기 데이터 레코드들에 포함된 워드들을 상기 워드들이 나타나게 되는 상기 데이터 레코드들에 연관시키는 인덱스를 나타내는 데이터를 포함하는, 데이터 레포지토리;를 포함하며, 상기 휴대용 전자 기기의 동작 방법은, 탐색 스트링을 포함하는 수신된 탐색 질의에 관련하여, 상기 탐색 스트링을 프로세싱하여 하나 이상의 탐색 워드들을 제공하는 단계; 상기 인덱스에 질의하여 상기 탐색 워드 또는 각각의 탐색 워드를 포함하는 데이터 레코드들을 식별하는 단계; 및 상기 탐색 질의에 대한 각각의 식별된 데이터 레코드의 관련성을 나타내는 상기 하나 이상의 식별된 데이터 레코드들 각각에 대한 순위를 생성하는 단계;를 포함한다.
위에 기재한 휴대용 전자 기기의 동작 방법은 위에 기재한 실시태양들에 따른 휴대용 전자 기기를 동작시키는데 선택적으로 적합할 수도 있고 위에 기재한 실시태양들에 따른 휴대용 전자 기기를 동작시키도록 하는 부가적인 단계들을 포함할 수도 있다.
다른 한 실시태양에서 볼 때, 휴대용 전자 기기의 데이터 프로세싱 수단에 의해 실행될 경우에 상기 휴대용 전자 기기로 하여금 위에 기재한 방법들을 수행하도록 구성되게 하는 명령어들을 포함하는 컴퓨터 소프트웨어 생성물이 제공된다. 상기 컴퓨터 소프트웨어 생성물은 컴퓨터 판독가능 매체, 선택적으로는 비-일시적인 컴퓨터 판독가능 매체로서 구체화될 수 있다.
본원에는 또한 사용자 입력 자유 텍스트 탐색 스트링에 기반하여 선택가능한 탐색 제안들을 생성 및 디스플레이함으로써 사용자가 위치들의 데이터 레포지토리를 탐색하는 것을 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어가 개시되어 있다. 지금부터 본 개시내용의 이러한 실시태양들이 다음과 같이 요약될 것이다.
한 실시태양에서 볼 때, 본 개시내용에는 휴대용 전자 기기가 제공되며, 상기 휴대용 전자 기기는 데이터 프로세싱 수단; 데이터 레포지토리로서, 디지털 맵에 관련되거나 디지털 맵에 내재하는 위치들을 나타내는 데이터 레코드들을 포함하는, 데이터 레포지토리; 디스플레이 수단; 및 사용자가 상기 데이터 레코드들을 탐색하는 것을 용이하게 하는 명령어들을 포함하는 컴퓨터 판독가능 매체로서, 상기 명령어들은, 상기 데이터 프로세싱 수단에 의해 실행될 때, 상기 휴대용 전자 기기로 하여금, 상기 휴대용 전자 기기의 사용자에 의해 자유 텍스트 탐색 스트링이 입력됨에 따라 상기 자유 텍스트 탐색 스트링을 모니터링하게 하고; 상기 자유 텍스트 탐색 스트링이 입력됨에 따라 상기 자유 텍스트 탐색 스트링에 기반하여, 매칭하는 레코드들에 대해 상기 데이터 레포지토리에 질의하게 하며, 사용자에 의해 선택가능한 제안들을 생성하여 상기 탐색을 조정하게 하고; 상기 디스플레이 상에 임의의 매칭하는 레코드들 및 제안들 중 적어도 일부를 디스플레이하게 하며, 그리고 매칭하는 제안의 선택을 나타내는 사용자 입력의 수신에 응답하여, 상기 탐색을 조정하게 하는, 컴퓨터 판독가능 매체;를 포함한다.
사용자 탐색의 매개변수들을 조정하도록 선택가능한 제안들을 제공함으로써, 피드백 정도가 사용자에게 제공되며 탐색 프로세스의 속도가 증강되고 그리고 탐색 프로세스가 사용자에게 좀더 유연해지는데, 여기서 상기 제안들은 자유 텍스트 탐색 스트링에 기반하여 이루어진다.
주소 제안들은 상기 탐색 스트링과 매칭되는 주소들을 나타내는 데이터 레코드들의 거리 및/또는 거주지 이름들에 기반하여 생성될 수 있다. 거주지 이름을 포함하는 주소 제안의 선택은 그러한 거주지에 상응하도록 상기 탐색 중심을 조정할 수 있다. 거리 이름을 포함하는 주소 제안의 선택은 상기 탐색 스트링을 상기 거리 이름으로 대체할 수 있다. 거리 이름 및 거주지 이름을 포함하는 주소 제안의 선택 후에, 사용자는 상기 자유 텍스트 탐색 스트링 내에 집의 번지를 입력하도록 프롬프트될 수 있다.
관심 지점(Point of interest; POI) 제안들은 상기 탐색 스트링과 매칭되는 관심 지점들을 나타내는 데이터 레코드들의 이름들, 카테고리들 및 카테고리들의 동의어들에 기반하여 생성될 수 있다. POI 제안의 선택은 상기 POI 제안의 선택에 매칭되는 POI 이름, 카테고리 또는 유사한 POI 카테고리를 지니는 데이터 레코드들만을 포함하도록 상기 질의에 의해 복귀되는 데이터 레코드들을 필터링할 수 있다.
상기 데이터 레포지토리는 매칭하는 데이터 레코드들에 대해 질의를 받을 수 있으며 제안들은 상기 탐색 스트링 또는 탐색 중심에 적응하는 각각의 키스트로크 또는 다른 사용자 입력, 및 각각의 제안 선택에 응답하여 생성될 수 있으며, 그 후에 상기 디스플레이는 임의의 매칭하는 데이터 레코드들 및 생성된 제안들을 디스플레이하도록 업데이트될 수 있다. 이러한 방식으로, 상기 탐색은 사용자 입력에 실시간으로 효율적으로 민감하게 반응한다.
상기 데이터 레포지토리는 상기 데이터 레코드들에 포함된 워드들을 상기 워드들이 나타나게 되는 상기 데이터 레코드들에 연관시키는 인덱스를 나타내는 데이터를 부가적으로 포함할 수 있으며; 상기 명령어들은 부가적으로 상기 휴대용 전자 기기로 하여금 상기 자유 텍스트 탐색 스트링이 입력됨에 따라 상기 자유 텍스트 탐색 스트링을 프로세싱하여 하나 이상의 탐색 워드들을 제공하게 할 수 있고, 상기 자유 텍스트 탐색 스트링이 입력됨에 따라 상기 자유 텍스트 탐색 스트링에 기반하여, 매칭하는 레코드들에 대해 상기 데이터 레포지토리에 질의하는 것이 상기 인텍스에 질의하여 상기 또는 각각의 탐색 워드를 포함하는 데이터 레코드들을 식별하는 것을 포함할 수 있다.
상기 명령어들은 부가적으로 휴대용 전자 기기로 하여금 상기 탐색 질의에 대한 각각의 식별된 데이터 레코드의 관련성을 나타내는 하나 이상의 식별된 데이터 레코드들 각각에 대한 순위를 생성하게 할 수 있다. 상기 매칭하는 데이터 레코드들은 상기 순위에 따라 순서화된 리스트에 디스플레이될 수 있다.
상기 명령어들은 부가적으로 상기 탐색 스트링을 프로세싱할 때 상기 휴대용 전자 기기로 하여금, 상기 탐색 스트링을 워드들로 분할하는 것; 상기 워드들을 정규화하는 것; 특정 워드들을 식별 및 처리하는 것; 중의 하나 이상을 수행하게 할 수 있다.
상기 워드들을 정규화하는 것은 모든 글자들을 소문자로 변환하는 것; 글자들로부터 악센트들을 제거하는 것; 일련의 동일 글자를 단일 글자로 대체하는 것; 단일 글자들을 다른 글자들로 대체하는 것; 워드들 및 약어들을 표준 약어들로 대체하는 것; 중의 하나 이상을 선택적으로 포함하는, 상기 탐색 스트링의 내용에서 불규칙성들을 설명하도록 된 하나 이상의 프로세싱 단계들을 포함할 수 있다. 상기 인덱스는 상기 데이터 레코드들에 포함된 워드들의 정규화된 버전들을 포함할 수 있으며 상기 탐색 스트링은 상기 인덱스의 생성에 사용된 동일한 정규화 규칙들을 사용하여 내부에 포함된 워드들을 정규화하도록 프로세싱될 수 있다.
특정 워드들을 식별 및 처리하는 것은 국가 이름들 및 코드들을 표준 국가 코드들로 변환하는 것; 집의 번지들을 제거하는 것; 관심 지점(POI)들의 카테고리들에 상응하는 워드들을 식별하고, POI 카테고리 코드로 대체하는 것; 중의 하나 이상을 포함한다. 전체 탐색 스트링이 POI 카테고리 이름 또는 단일 POI 카테고리 이름의 프리픽스(prefix)인 경우에, 상기 질의는 상기 POI 카테고리의 레코드들에 대한 것일 수 있다. 상기 전체 탐색 스트링이 하나보다 많은 워드를 포함하고 POI 카테고리 이름으로 시작되는 경우에, 상기 POI 카테고리 이름이 탐색 워드로서 제공되게 하는 제1 질의; 상기 POI 카테고리 이름이 POI 카테고리 코드로 대체되게 하는 제2 질의;를 포함하는 2가지 질의가 생성될 수 있다.
상기 명령어들은 상기 인덱스에 질의하여 상기 또는 각각의 탐색 워드를 포함하는 데이터 레코드들을 식별할 경우에 부가적으로 상기 휴대용 전자 기기로 하여금, 각각의 탐색 워드에 대하여, 상기 인텍스로부터 매칭하는 레코드들의 집합을 찾아내게 하고; 그리고 상기 매칭하는 레코드들의 집합들의 교집합을 결정하여 모든 워드들에 매칭되는 레코드들을 제공하게 할 수 있다.
상기 명령어들은 각각의 데이터 레코드에 대한 순위를 생성할 경우에 부가적으로 상기 휴대용 전자 기기로 하여금, 각각의 레코드에 대한 스코어를 계산하게 하고; 상기 레코드들의 스코어들에 기반하여 상기 레코드들의 순위를 결정하게 하며; 2개의 레코드가 동일한 스코어를 지니는 경우에, 상기 레코드들의 순위 순서화를 조정하는 것이 가능하다면 탐색 중심으로부터의 거리에 기반하여 상기 레코드들의 순위 순서화를 조정하게 하고, 상기 2개의 레코드가 일정하지 않은 경우 순위 순서를 조정하지 않게 할 수 있다.
각각의 레코드에 대한 순위 결정 스코어를 계산하는 것은, 시작 스코어로부터 시작되는 것을 포함하며 상기 데이터 레코드 내에 포함되어 있는 워드에 정확하게 매칭되지 않는 탐색 스트링에 포함되어 있는 각각의 워드에 대한 페널티(penalty)를 상기 스코어로부터 감산하는 것; 상기 탐색 스트링 내에 배열되어 있는 탐색 워드들 간의 구조적 차이 및 올바르지 않은 워드 순서 및 워드 갭들을 포함하는 워드들이 상기 데이터 레코드에서 어떻게 나타나 있는지에 대한 페널티를 상기 스코어로부터 감산하는 것; 탐색 워드와 매칭되는 워드가 존재하는 컴포넌트에 포함되어 있는 각각의 비-매칭된 워드에 대한 페널티를 상기 스코어로부터 감산하는 것; 중요한 매치들로서 표시되는 데이터 레코드들에 대한 보너스(bonus)를 상기 스코어에 가산하는 것; 중의 하나 이상을 수행하는 것을 포함할 수 있다.
주소를 나타내는 레코드에 대한 순위결정 스코어를 계산하는 것은 상기 데이터 레코드의 거리 이름에 포함되어 있는 인덱스의 워드에 대해 매칭된 탐색 워드가 존재하지 않는 경우에 상기 데이터 레코드의 순위를 결정하지 않는 것; 탐색 중심이 존재하는 경우에, 상기 탐색 중심에 비교적 인접해 있는 데이터 레코드들에 대한 페널티들을 억제하는 것, 또는 상기 탐색 중심에 비교적 멀리 있는 데이터 레코드들에 대한 페널티들을 증가하는 것, 또는 억제 및 증가 양자 모두에 대한 페널티들 중 하나 이상을 조정하는 것; 거주지 중심과의 워드 매치가 존재하는 경우에, 거주지 중심과의 워드 매치가 존재하는 것이 가능하다면, 거주지의 중심의 크기 및 탐색 중심으로부터 거주지의 중심의 거리에 의존하는 보너스를 상기 스코어에 가산하는 것; 중의 하나 이상을 포함할 수 있다.
관심 지점(POI)을 나타내는 레코드에 대한 순위결정 스코어를 계산하는 것은 상기 POI의 이름, 상기 POI의 상표 이름 또는 POI 카테고리를 나타내는 상기 데이터 레코드의 컴포넌트들 중 하나에 포함되어 있는 인덱스의 워드에 대해 매칭되는 탐색 워드가 존재하지 않는 경우에 상기 데이터 레코드의 순위를 결정하지 않는 것; 탐색 중심이 존재하는 경우에, 탐색 워드와 매칭되는 워드가 존재하는 컴포넌트 내에 포함되어 있는 각각의 매칭되지 않은 워드에 대한 페널티를 상기 스코어로부터 감산하지 않는 것; 탐색 중심이 존재하지 않는 경우에, 탐색 워드와 매칭되는 워드가 존재하는 상기 POI의 이름 또는 상기 POI의 상표 이름을 나타내는 상기 데이터 레코드의 컴포넌트에 포함되어 있는 각각의 매칭되지 않은 워드에 대한 페널티를 상기 스코어로부터 감산하는 것; 탐색 중심이 존재하는 않는 경우에, 상기 POI의 이름 또는 상기 POI의 상표 이름에 포함되어 있는 인덱스의 워드에 대해 매칭되는 탐색 워드가 존재하지 않는 경우의 페널티를 상기 스코어로부터 감산하는 것; 중 하나 이상을 포함할 수 있다.
상기 데이터 레코드들(또는 문서들)은 주소 또는 관심 지점(POI)을 나타낼 수 있다. 상기 데이터 레코드들은 거리 이름; 지점 이름; 우편 번호; 국가 코드; POI 이름; POI 상표 이름; POI 주소; POI 카테고리 코드와 같은 컴포넌트들 중의 하나 이상을 나타내는 데이터를 포함할 수 있다. 상기 컴포넌트들을 나타내는 데이터는 위치 관련 정보 자체, 예컨대 거리 이름, 지점 이름, 우편 번호, 국가 코드, POI 이름, POI 상표 이름, POI 주소, POI 카테고리 코드 중의 하나 이상을 포함할 수 있다. 그러나, 바람직한 실시 예들에서는, 상기 컴포넌트들을 나타내는 데이터가 디지털 맵에 저장되어 있는 위치 관련 정보에 대한 참조 또는 포인터를 포함할 수 있다. 이러한 후자의 실시 예는 각각의 데이터 레코드의 크기가 최소로 유지되는 것을 허용하는데, 이는 이동 기기들 상에서 발견되는 것이 전형적인 메모리 제약이 주어진 경우에 유리하다. 주소들을 나타내는 매칭하는 데이터 레코드들은 제1 칼럼에 디스플레이될 수 있고 관심 지점들을 나타내는 매칭하는 데이터 레코드들은 상기 제1 칼럼에 인접한 제2 칼럼에 디스플레이될 수 있다.
상기 휴대용 전자 기기는 상기 디스플레이 상에 터치 스크린 오버레이를 포함하는 사용자 입력 수단을 부가적으로 포함할 수 있으며, 상기 데이터 레코드들의 질의에 의해 복귀되는 디스플레이된 레코드의 선택, 또는 생성된 제안의 선택은 상기 디스플레이된 레코드 또는 제안 또는 이를 나타내는 GUI 요소에 관련된 터치를 포함할 수 있다.
다른 한 실시태양에서 볼 때, 데이터 프로세싱 수단, 디지털 맵에 관련되거나 디지털 맵에 내재하는 위치들을 나타내는 데이터 레코드들을 포함하는 데이터 레포지토리; 및 디스플레이 수단을 포함하는 휴대용 전자 기기를 동작시키는 방법이 제공되며, 상기 휴대용 전자 기기의 동작 방법은, 자유 텍스트 탐색 스트링이 상기 휴대용 전자 기기의 사용자에 의해 입력됨에 따라 상기 자유 텍스트 탐색 스트링을 모니터링하는 단계; 상기 자유 텍스트 탐색 스트링이 입력됨에 따라 상기 자유 텍스트 탐색 스트링에 기반하여, 매칭하는 레코드들에 대해 상기 데이터 레포지토리에 질의하고, 사용자에 의해 선택가능한 제안들을 생성하여 상기 탐색을 조정하며, 상기 디스플레이 상에 임의의 매칭하는 레코드들 및 제안들 중 적어도 일부를 디스플레이하는 단계, 및 매칭하는 제안의 선택을 나타내는 사용자 입력의 수신에 응답하여, 상기 탐색을 조정하는 단계;를 포함한다.
위에 기재한 휴대용 전자 기기의 동작 방법은 위에 기재한 실시태양들에 따른 휴대용 전자 기기를 동작시키는데 선택적으로 적합할 수도 있고 위에 기재한 실시태양들에 따른 휴대용 전자 기기를 동작시키도록 하는 부가적인 단계들을 포함할 수도 있다.
다른 한 실시태양에서 볼 때, 휴대용 전자 기기의 데이터 프로세싱 수단에 의해 실행될 경우에 상기 휴대용 전자 기기로 하여금 위에 기재한 방법들을 수행하도록 구성되게 하는 명령어들을 포함하는 컴퓨터 소프트웨어 생성물이 제공된다. 상기 컴퓨터 소프트웨어 생성물은 컴퓨터 판독가능 매체, 선택적으로는 비-일시적인 컴퓨터 판독가능 매체로서 구체화될 수 있다.
본원에는 또한 예를 들면 사용자가 한 세트의 목적지 탐색 결과들, 한 세트의 현재 교통사고들 등등을 표현하는 복수 개의 위치들을 리뷰하는 것을 용이하게 하도록 디스플레이 상에 디스플레이된 디지털 맵의 표현을 통해 서로 다른 돌출 레벨들의 그래픽 사용자 인터페이스(graphical user interface; GUI) 요소들을 제공하는 방법, 기기 및 컴퓨터 소프트웨어가 개시되어 있다. 지금부터 본 개시내용의 이러한 실시태양들이 다음과 같이 요약될 것이다.
한 실시태양에서 볼 때, 휴대용 전자 기기가 제공되며, 상기 휴대용 전자 기기는 데이터 프로세싱 수단; 디지털 맵을 나타내는 데이터를 포함하는 데이터 레포지토리; 디스플레이 수단; 상기 데이터 프로세싱 수단에 의해 실행될 때 상기 디지털 맵에 관련된 복수 개의 위치들을 나타내는 데이터와 관련하여, 상기 휴대용 전자 기기로 하여금 상기 디스플레이 상에 디스플레이되는 디지털 맵의 표현을 통해 상기 위치들 각각에 대해 상기 위치들을 나타내도록 서로 다른 돌출 레벨들에 의해 특징화되는 복수 개의 서로 다른 그래픽 사용자 인터페이스(graphical user interface; GUI) 요소들 중 하나를 제공하게 하는 명령어들을 포함하는 컴퓨터 판독가능 매체;를 포함하며, 각각의 위치에 대해 사용되는 상기 GUI 요소의 돌출 레벨은 상기 디지털 맵이 디스플레이되게 하는 세부 레벨 및 사용자 질의에 대한 그러한 위치의 예상 관련성에 의존한다.
이러한 방식으로, 사용자에게는 대다수의 결과가 뷰의 난잡성 없이 보일 수 있게 하는 방식으로, 그리고 각각의 위치에 대한 표시자의 돌출이 위치의 관련성을 나타내고 상기 디지털 뷰가 디스플레이되게 하는 세부 레벨에 의존하도록 질의에 관련하여 예상되는 복수 개의 위치들의 컨텍스트 뷰가 제공된다.
증가된 돌출 레벨들에서의 GUI 요소들은 상기 디스플레이에서의 증가된 시각적 돌출; 증가된 불투명; 위치에 관련된 증가된 정보; 사용자 상호작용을 가능하게 하는 증가된 사용자 인터페이스 기능; 중의 하나 이상을 제공할 수 있다.
소정의 세부 레벨에서는, 비교적 낮은 돌출 레벨을 지니는 GUI 요소들이 상기 사용자 질의에 관련성이 적은 것으로 예상되는 복수 개의 위치들의 위치들을 나타내는데 사용될 수 있지만, 비교적 높은 돌출 레벨을 지니는 GUI 요소들이 상기 사용자 질의에 관련성이 많은 것으로 예상되는 복수 개의 위치들의 위치들을 나타내는데 사용될 수 있다.
상기 디지털 맵이 디스플레이되게 하는 세부 레벨이 증가 또는 감소되는 경우에, 소정 위치를 나타내는데 사용되는 GUI 요소는 이용가능한 높거나 낮은 돌출 레벨로 변경될 수 있다. 따라서 상기 맵이 줌인될 경우에 더 많은 결과가 높은 돌출 레벨들로 보이게 될 수 있고 이와는 반대로 상기 맵이 줌아웃될 경우에 더 많은 결과가 낮은 돌출 레벨들로 보이게 될 수 있다.
임의로 주어진 세부 레벨에 대해, 상기 복수 개의 위치들의 최소 개수는 최고 돌출 레벨을 지니는 GUI 요소에 의해 나타나게 될 수 있다.
상기 디지털 맵이 비교적 높은 세부 레벨로 디스플레이될 경우에, 복수 개의 위치들의 비교적 많은 개수가 비교적 높은 돌출 레벨들을 지니는 GUI 요소들을 사용하여 표시될 수 있다. 상기 디지털 맵이 비교적 낮은 세부 레벨로 디스플레이될 경우에, 복수 개의 위치들의 비교적 많은 개수가 비교적 낮은 돌출 레벨들을 지니는 GUI 요소들을 사용하여 표시될 수 있다.
상기 위치들은 상기 사용자 질의에 대한 상기 위치들의 관련성에 의해 그룹들로 분할될 수 있으며, 각각의 그룹은 상기 디지털 맵에 대한 개별적인 세부 레벨에 연관될 수 있다. 상기 위치들의 그룹화 및 그러한 그룹들에 대한 연관된 개별적인 세부 레벨들의 할당은 상기 위치들의 개수; 상기 위치들의 분포; 사용자 질의에 대한 위치들의 예상 관련성; 최소 경계 박스에서 상기 위치들의 가능한 그룹화들을 포함하는데 필요한 세부 레벨; 최대로 가능한 세부 레벨들의 범위; 최대 관련 그룹에서 설정된 위치 개수; 설정된 그룹 개수; 각각의 그룹에서 설정된 위치 개수; 중의 하나 이상에 기반하여 수행될 수 있다.
디지털 맵에 대한 기본 세부 레벨은 최대 관련성 있는 위치 그룹의 위치들을 포함하는 최소 경계 박스에 기반하여 정의될 수 있다. 관련성이 감소되는 각각의 위치 그룹은 기본 세부 레벨에 비해 증가하는 세부 레벨들에 연관될 수 있다. 상기 맵은 초기에 기본 세부 레벨에 디스플레이될 수 있으며, 상기 기본 세부 레벨보다 높은 세부 레벨들에 연관된 그룹들에 속하는 위치들이 점진적으로 관련성이 적은 그룹들에 대해 점진적으로 낮은 돌출 레벨들을 지니는 GUI 요소들로 표시될 수 있다.
상기 디지털 맵이 소정의 세부 레벨로 디스플레이되는 경우에, 디스플레이된 세부 레벨보다 높은 세부 레벨들에 연관된 그룹들에 속하는 위치들이 점진적으로 관련성이 적은 그룹들에 대해 점진적으로 낮은 돌출 레벨들을 지니는 GUI 요소들로 표시될 수 있다. 상기 디스플레이된 세부 레벨보다 낮은 세부 레벨들에 연관된 그룹들에 속하는 위치들은 최고 돌출 레벨을 지니는 GUI 요소로 표시될 수 있다.
사용자 입력에 응답하여, 상기 디지털 맵이 시작 세부 레벨에서부터 다음으로 관련성이 많은 그룹에 연관된 끝 세부 레벨에 이르기까지 주밍될 경우에, 각각의 그룹의 위치들을 나타내는데 사용되는 GUI 요소들은 다음으로 이용가능한 돌출 레벨에 이르기까지 증가될 수 있다. 사용자 입력에 응답하여, 상기 디지털 맵이 시작 세부 레벨에서부터 다음으로 관련성이 적은 그룹에 연관된 끝 세부 레벨에 이르기까지 주밍될 경우에, 각각의 그룹의 위치들을 나타내는데 사용되는 GUI 요소들은 다음으로 이용가능한 돌출 레벨로 감소될 수 있다.
상기 위치들은 주소들 및 관심 지점들 중의 하나 이상을 포함하는 목적지들; 사고들, 정체들, 도로 폐쇄들, 도로 공사들, 제한들, 교통량들 및 폐쇄 차선들 중의 하나 이상을 포함하는 교통 이벤트들; 및/또는 홍수, 눈, 얼음, 안개, 불리한 도로 조건들 중의 하나 이상을 포함하는 기상 이벤트들을 나타낼 수 있다.
상기 휴대용 전자 기기는 탐색 엔진을 부가적으로 포함할 수 있으며, 상기 데이터 레포지토리는 목적지들에 속하는 문서들을 나타내는 레코드들을 부가적으로 포함할 수 있고, 사용자 질의는 상기 탐색 엔진에 대한 목적지들에 대한 탐색 질의일 수 있으며, 상기 디지털 맵에 관련된 복수 개의 위치들을 나타내는 데이터는 상기 탐색 엔진이 상기 탐색 질의에 관련된 문서들에 대한 그러한 레코드들에 걸쳐 탐색함으로써 생성될 수 있다. 상기 탐색 결과들은 상기 탐색 질의에 대한 관련성에 의해 순위가 결정될 수 있으며, 상기 순위결정은 상기 위치들을 관련성이 감소되는 증가하는 세부 레벨들에 연관될 그룹들로 분할하는데 유용하다. 상기 복수 개의 위치들은 상기 디지털 맵을 패닝(panning) 또는 주밍(zooming)함에 응답하여 변경되지 않은 상태로 유지될 수 있다. 상기 탐색 엔진에 의해 복귀되고 상기 디지털 맵 상에 디스플레이되는 위치들의 개수는 최대 개수로 제한될 수 있다.
상기 휴대용 전자 기기는 사용자 또는 기기에 의해 생성된 질의에 관련된 현재 교통 이벤트들을 나타내는 위치들을 복귀시키도록 동작가능한 교통 이벤트 엔진을 부가적으로 포함할 수 있으며, 상기 사용자 질의는 교통 트래픽 질의이다. 상기 교통 이벤트 질의는 탐색 중심, 상기 기기의 현재 위치 또는 경로에 인접하거나, 또는 상기 디지털 맵의 사용자 특정 구역에서 인접한 교통 이벤트들에 대한 것이다.
다른 한 실시태양에서 볼 때, 휴대용 전자 기기를 동작시키는 방법이 제공되며, 상기 휴대용 전자 기기는 데이터 프로세싱 수단; 디지털 맵을 나타내는 데이터를 포함하는 데이터 레포지토리; 및 디스플레이 수단;을 포함하며, 상기 휴대용 전자 기기의 동작 방법은, 상기 디지털 맵에 관련된 복수 개의 위치들을 나타내는 데이터와 관련하여, 상기 디스플레이 상에 디스플레이되는 디지털 맵의 표현을 통해 상기 위치들 각각에 대해 상기 위치들을 나타내도록 서로 다른 돌출 레벨들에 의해 특징화되는 복수 개의 서로 다른 그래픽 사용자 인터페이스(graphical user interface; GUI) 요소들 중 하나를 제공하는 단계를 포함하며, 각각의 위치에 대해 사용되는 상기 GUI 요소의 돌출 레벨은 상기 디지털 맵이 디스플레이되게 하는 세부 레벨 및 사용자 질의에 대한 그러한 위치의 예상 관련성에 의존한다.
위에 기재한 휴대용 전자 기기의 동작 방법은 위에 기재한 실시태양들에 따른 휴대용 전자 기기를 동작시키는데 선택적으로 적합할 수도 있고 위에 기재한 실시태양들에 따른 휴대용 전자 기기를 동작시키도록 하는 부가적인 단계들을 포함할 수도 있다.
다른 한 실시태양에서 볼 때, 휴대용 전자 기기의 데이터 프로세싱 수단에 의해 실행될 경우에 상기 휴대용 전자 기기로 하여금 위에 기재한 방법들을 수행하도록 구성되게 하는 명령어들을 포함하는 컴퓨터 소프트웨어 생성물이 제공된다. 상기 컴퓨터 소프트웨어 생성물은 컴퓨터 판독가능 매체, 선택적으로는 비-일시적인 컴퓨터 판독가능 매체로서 구체화될 수 있다.
본 개시내용에 대한 위의 실시태양들 및 옵션들이 개별적으로 기재되어 있지만, 여기서 이해하여야 할 점은 본 개시내용에 대한 위의 실시태양들 및 옵션들의 가능한 모든 조합들 및 미세한 변화들의 제공이 한정됨이 없이 본 개시내용의 범위 내에 포함된다는 점이다. 이와 관련하여, 본 개시내용은 가능한 모든 조합들으로 본 개시내용의 위에 기재한 실시태양들을 구현하는 방법, 전자 기기 및 컴퓨터 소프트웨어를 제공한다. 예를 들면, 본원 명세서에 기재된 바와 같이 생성되는 탐색 제안들이 본원 명세서에 기재된 바와 같이 수행되는 자유 텍스트 탐색을 용이하게 하는데 사용된 경우에 본원 명세서에 기재된 바와 같이 수행되는 자유 텍스트 탐색의 결과들을 제공하도록, 그리고 서로 다른 돌출 레벨들의 GUI 요소들이 상기 탐색 결과들의 위치들을 나타내도록 본원 명세서에 기재된 바와 같이 제공되는 경우에 맵뷰에 그러한 탐색 결과들을 디스플레이하도록 소프트웨어에 의해 구성되는 전자 기기가 개시된다.
지금부터 본 발명의 몇몇 바람직한 실시 예들이 단지 예를 들어서만, 그리고 도 1 - 도 13을 참조하여 설명될 것이다.
도 1은 위성 위치 확인 시스템(Global Positioning System; GPS)을 개략적으로 예시하는 도면이다.
도 2는 내비게이션 기기를 제공하도록 구성된 전자 컴포넌트들을 개략적으로 예시하는 도면이다.
도 3은 내비게이션 기기가 무선 통신 채널을 통해 정보를 수신할 수 있는 방식을 개략적으로 예시하는 도면이다.
도 4는 내비게이션 기기의 사시도들이다.
도 5는 선행기술의 안내 위치 탐색에서 수행되는 사용자 프롬프트들 및 데이터 레코드 질의들을 예시하는 흐름도이다.
도 6은 한 실시 예에 따른 자유 텍스트 탐색 방법의 흐름도이다.
도 7은 한 실시 예에 따른 사용자 입력 자유 탐색 스트링에 기반하여 선택가능한 탐색 제안들을 생성 및 디스플레이하는 방법의 흐름도이다.
도 8은 한 실시 예에 따른 탐색 동작 동안 디스플레이되는 대표적인 사용자 인터페이스(800)의 외관을 보여주는 도면이다.
도 9는 한 실시 예에서 디스플레이되는 사용자 인터페이스의 사용자 입력을 보여주는 도면이다.
도 10은 한 실시 예에서 디스플레이되는 사용자 인터페이스의 사용자 입력을 보여주는 도면이다.
도 11은 한 실시 예에서 디스플레이되는 사용자 인터페이스의 사용자 입력을 보여주는 도면이다.
도 12는 한 실시 예에 따른 자유 텍스트 탐색의 내비게이트 가능 결과들의 맵뷰를 보여주는 도면이다.
도 13은 한 실시 예에 따른, 사용자 질의와의 관련성에 따라 자유 텍스트 탐색 결과들을 그룹을 분할하고 그러한 그룹들을 디지털 맵의 세부 레벨들에 연관시키는 프로세스를 예시하는 도면이다.
도 14는 한 실시 예에 따른, 위치들이 GUI 요소들을 사용하여 표시되는 교통 사고들의 횟수 및 사용자의 경로의 맵뷰(1401)를 보여주는 도면이다.
도 1 - 도 4에 대한 설명에는 본 발명의 여러 실시 예를 통해 본 발명을 이해하는 것을 용이하게 하는 배경기술 정보가 제공되어 있다. 본 발명의 실시 예들은 도 6 - 도 13을 참조하여 설명되어 있다.
지금부터 본 발명의 바람직한 실시 예들이 특별히 PND를 참조하여 설명될 것이다. 그러나, 여기서 기억해 두어야 할 점은 본 발명의 교시들이 PND들에 국한되는 것이 아니고, 그 대신에 경로 계획 및 내비게이션 기능을 제공하기 위해 내비게이션 소프트웨어를 실행하도록 구성되는 임의 타입의 프로세싱 기기에 보편적으로 적용가능하다는 점이다. 그러므로, 본원과 관련하여, 내비게이션 기기가 PND, 차량에 내장된 내비게이션 기기, 또는 실제로는 경로 계획 및 내비게이션 소프트웨어를 실행하는 (휴대가능한 개인용 컴퓨터(PC; personal computer), 이동 전화, 스마트폰 또는 휴대 정보 단말기(PDA; portable digital assistant)와 같은) 컴퓨팅 자원으로서 구현되든 관계없이, 임의 타입의 경로 계획 및 내비게이션 기기를 (제한 없이) 포함하도록 의도된 것으로 추정된다.
또한, 이하의 내용으로부터 알 수 있겠지만, 본 발명의 교시들은 사용자가 한 지점에서부터 다른 한 지점에 이르기까지 어떻게 내비게이팅해야 할지에 관한 지시사항들을 찾지 않고 단지 소정 위치 또는 현재 또는 다가오는 위치에 대한 정보를 고려하여 제공되기를 원하는 환경에서 더 유용성을 갖는다. 그러한 환경에서, 사용자에 의해 선택되는 "목적지(destination)" 위치가, 사용자가 내비게이팅하기 시작하고자 하는 해당 출발 위치를 가질 필요가 없으며, 이 때문에 본원 명세서에서 "목적지" 위치 또는 실제로는 "목적지" 뷰에 대한 참조들이 경로의 생성이 필수적인 것과 "목적지"로의 주행이 이루어져야 한다거나 실제로는 목적지의 존재가 해당 출발 위치의 목적지를 필요로 한다는 것을 의미하는 것으로 해석되어서는 아니 된다.
위의 단서들을 고려하여, 도 1에는 내비게이션 기기들에 유용한 대표적인 위성 위치 확인 시스템(GPS; Global Positioning System)이 예시되어 있다. 그러한 위성 위치 확인 시스템은 공지되어 있으며 여러 목적으로 사용된다. 일반적으로, GPS는 무제한의 사용자들을 위한 지속적인 위치, 속도, 시간 및 어떤 경우에는 방향 정보를 결정하는 것이 가능한 위성-무선 기반 내비게이션 시스템이다. 이전에 NAVSTAR로서 알려진, GPS는 매우 정확한 궤도들을 그리면서 지구를 도는 복수의 위성들을 통합한다. 이러한 정확한 궤도들에 기반하여, GPS 위성들은 임의 개수의 수신 유닛들에 대해 자신들의 위치를 릴레이할 수 있다.
GPS 시스템은 특히 GPS 데이터를 수신하도록 장착된 기기가 GPS 위성 신호들에 대한 무선 주파수들을 스캐닝하기 시작할 때 구현된다. 한 GPS 위성으로부터 무선 신호를 수신할 경우에, 상기 기기는 복수의 다른 기존의 방법들 중 하나의 방법을 통해 그러한 위성의 정확한 위치를 결정한다. 상기 기기는, 대부분의 경우에, 상기 기기가 적어도 3개의 다른 위성 신호들을 획득할 때까지 신호들의 스캐닝을 계속하게 된다(여기서 유념할 점은 위치가 일반적이지는 않지만 다른 삼각 기법들을 사용하여 단지 2개의 신호들만을 가지고 결정될 수 있다는 점이다). 기하학적인 삼각 측량(geometric triangulation)을 구현할 경우에, 수신기는 3개의 알려진 위치들을 이용하여 상기 위성들에 대해 자기 자신의 2-차원 위치를 결정한다. 이는 공지의 방법으로 행해질 수 있다. 그 외에도, 제4의 위성 신호의 획득은 수신 기기가 공지의 방법으로 동일한 기하학적인 계산을 통해 자신의 3-차원 위치를 계산하는 것을 허용한다. 상기 위치 및 속도 데이터는 무제한의 사용자들에 의해 지속적으로 실시간 업데이트될 수 있다.
도 1에 도시된 바와 같이, GPS 시스템은 전체적으로 참조번호 100으로 나타나 있다. 복수의 위성들(120)은 지구(124)를 중심으로 궤도를 돌고 있다. 각각의 위성(120)의 궤도는 반드시 다른 위성들(120)의 궤도들과 동기적일 필요가 없으며, 실제로는 비동기적일 가능성이 크다. GPS 수신기(140)는 여러 위성들(120)로부터 확산 스펙트럼 GPS 위성 신호들(160)을 수신하는 것으로 도시되어 있다.
각각의 위성(120)으로부터 지속적으로 전송되는 확산 스펙트럼 신호들(160)은, 극히 정확한 원자 시계(atomic clock)를 가지고 달성되는 매우 정확한 주파수 표준기(frequency standard)를 이용한다. 각각의 위성(120)은, 그 자신의 데이터 신호 전송(160)의 일부로서 그러한 특정 위성(120)을 나타내는 데이터 스트림을 전송한다. 당업자라면 알 수 있겠지만, GPS 수신 기기(140)는, 삼각 측량으로 그 자신의 2-차원 위치를 계산하도록 GPS 수신 기기(140)에 대하여 적어도 3개의 위성들(120)로부터의 확산 스펙트럼 GPS 위성 신호들(160)을 획득하는 것이 일반적이다. 총 4개의 위성들(120)로부터의 신호들(160)을 초래하는, 추가적인 신호의 획득은, GPS 수신 기기(140)가 공지의 방법으로 그 자체의 3-차원 위치를 계산할 수 있게 한다.
도 2는 본 발명의 바람직한 실시 예에 따른 내비게이션 기기(200)의 전자 컴포넌트들을 블록 컴포넌트 형식으로 예시한 도면이다. 여기서 유념해야 할 점은 상기 내비게이션 기기(200)의 블록 다이어그램이 상기 내비게이션 기기의 모든 컴포넌트들을 포함하고 있는 것이 아니고, 단지 여러 대표적인 컴포넌트들을 나타내고 있는 것뿐이라는 점이다.
상기 내비게이션 기기(200)는 하우징(도시되지 않음) 내에 위치해 있다. 상기 하우징은 입력 기기(220) 및 디스플레이 스크린(240)에 연결된 프로세서(210)를 포함한다. 상기 입력 기기(220)는 키보드 기기, 음성 입력 기기, 터치 패널 및/또는 정보의 입력에 이용되는 기타 공지된 입력 기기를 포함할 수 있고, 상기 디스플레이 스크린(240)은 예를 들면 LCD 디스플레이와 같은 임의 타입의 디스플레이 스크린을 포함할 수 있다. 특히 바람직한 구성에서는, 사용자가 단지 상기 디스플레이 스크린(240)의 일부를 터치하여 복수의 디스플레이 선택사항들 중 하나의 선택사항을 선택하거나 복수의 가상 버튼들 중 하나의 가상 버튼을 작동시킬 필요만이 있도록 상기 입력 기기(220) 및 디스플레이 스크린(240)이 터치패드 또는 터치스크린 입력을 포함하는, 일체화된 입력 및 디스플레이 기기로 통합된다.
상기 내비게이션 기기는 출력 기기(260), 예를 들면 청각 출력 기기(예컨대, 라우드스피커)를 포함할 수 있다. 출력 기기(260)가 상기 내비게이션 기기(200)의 사용자에 대한 청각 정보를 생성할 수 있기 때문에, 마찬가지로 여기서 이해하여야 할 점은 입력 기기(240)가 또한 입력 음성 커맨드들을 수신하기 위한 마이크로폰 및 소프트웨어를 포함할 수 있다는 점이다.
상기 내비게이션 기기(200)에서, 프로세서(210)는 접속부(225)를 통해 입력 기기(220)에 동작가능하게 연결되며 접속부(225)를 통해 입력 기기(220)로부터 입력 정보를 수신하도록 설정되고, 출력 접속부들(245)을 통해, 디스플레이 스크린(240) 및 출력 기기(260) 중 적어도 하나로 정보를 출력하도록 출력 접속부들(245)을 통해, 디스플레이 스크린(240) 및 출력 기기(260) 중 적어도 하나에 동작가능하게 접속된다. 더욱이, 상기 프로세서(210)는 접속부(235)를 통해 메모리 자원(230)에 동작가능하게 연결되며 접속부(275)를 통해 입력/출력(I/O) 포트들(270)로부터/로 정보를 수신/전송하도록 더 구성되는데, 이 경우에 I/O 포트(270)는 상기 내비게이션 기기(200) 외부에 있는 I/O 기기(280)에 접속가능하다. 상기 메모리 자원(230)은 예를 들면 랜덤 액세스 메모리(RAM; Random Access Memory)와 같은 휘발성 메모리 및 비-휘발성 메모리, 예를 들면 플래시 메모리와 같은 디지털 메모리를 포함한다. 상기 외부 I/O 기기(280)는 예를 들면 이어피스와 같은 외부 청취 기기를 포함할 수 있지만 이에 국한되지 않는다. I/O 기기(280)에 대한 접속은 부가적으로 예를 들면 핸즈-프리(hands-free) 동작을 위한 그리고/또는 음성 활성화 동작을 위한, 예를 들면 이어피스 또는 헤드폰들에 대한 접속을 위한, 그리고/또는 이동 전화에 대한 접속을 위한 카 스테레오 유닛과 같은 기타 외부 기기에 대한 유선 또는 무선 접속일 수 있으며, 이 경우에 상기 이동 전화의 접속은 예를 들면 상기 내비게이션 기기(200) 및 인터넷 또는 기타 네트워크 간의 데이터 접속을 확립하고 그리고/또는 예를 들면 인터넷 또는 기타 네트워크를 통해 서버에 대한 접속을 확립하는데 사용될 수 있다.
도 2에는 접속부(255)를 통해 상기 프로세서(210) 및 안테나/수신기(250) 간의 동작가능한 접속이 부가적으로 예시되어 있으며, 이 경우에 상기 안테나/수신기(250)는 예를 들면 GPS 안테나/수신기일 수 있다. 당업자라면 이해하겠지만, 참조번호(250)로 지정된 안테나 및 수신기가 예시를 위해 개략적으로 결합되어 있지만, 상기 안테나 및 수신기가 개별적으로 배치된 컴포넌트들일 수 있으며 상기 안테나가 예를 들면 GPS 패치 안테나 또는 헬리컬 안테나(helical antenna)일 수 있다.
더욱이, 당업자라면 도 2에 도시된 전자 컴포넌트들이 종래의 방식으로 전원들(도시되지 않음)에 의해 전력을 공급받는다는 점을 이해할 것이다. 당업자라면 도 2에 도시된 전자 컴포넌트들의 다른 구성들이 본원의 범위 내에 있는 것으로 고려된다는 점을 이해할 것이다. 예를 들면, 도 2에 도시된 전자 컴포넌트들이 유선 및/또는 무선 접속들 등등을 통해 서로 통신할 수 있다. 따라서, 본원의 내비게이션 기기(200)의 범위는 휴대용 또는 핸드헬드 내비게이션 기기(200)를 포함한다.
그 외에도, 도 2의 휴대용 또는 핸드헬드 내비게이션 기기(200)는 예를 들면 자전거, 소형 오토바이, 자동차 또는 보트와 같은 차량에 공지의 방식으로 접속 또는 "도킹(docking)"될 수 있다. 그러한 내비게이션 기기(200)는 이때 휴대용 또는 핸드헬드 내비게이션 용도로 상기 도킹된 위치로부터 제거될 수 있다.
도 3을 지금부터 참조하면, 상기 내비게이션 기기(200)는, (예를 들면 공지의 블루투스 기법을 통한 디지털 접속과 같은) 디지털 접속을 확립하는 (이동 전화, PDA, 및/또는 이동 전화 기법을 이용한 임의의 기기와 같은) 이동 기기(도시되지 않음)를 통해 서버(302)와의 "이동" 또는 원격통신 네트워크 접속을 확립하는 것이 가능하다. 이후에는, 그의 네트워크 서비스 제공자를 통해, 상기 이동 기기가 서버(302)와의 (예를 들면 인터넷을 통한) 네트워크 접속을 확립할 수 있다. 이 때문에, "이동" 네트워크 접속은, 정보에 대한 "실시간(real-time)" 또는 적어도 매우 "최신(up-to-date)"의 게이트웨이를 제공하기 위해 (내비게이션 기기(200)가 단독으로 그리고/또는 차량과 함께 주행됨에 따라 이동중에 있을 수 있으며 때때로 이동중에 있는) 내비게이션 기기(200) 및 상기 서버(302) 간에 확립된다.
예를 들면, (월드 와이드 웹(World Wide Web)과 같은) 인터넷을 사용한, (서비스 제공자를 통한) 이동 기기 및 서버(302)와 같은 다른 기기 간의 네트워크 접속의 확립은 공지의 방식으로 행해질 수 있다. 이는 예를 들면 TCP/IP 계층 프로토콜의 사용을 포함할 수 있다. 이동 기기는 CDMA, GSM, WAN 등등과 같은 다수의 통신 표준들을 이용할 수 있다.
이 때문에, 예를 들면 이동 전화 또는 내비게이션 기기(200)에 내재하는 이동 전화 기법을 통한 데이터 접속을 통해 달성되는 인터넷 접속이 이용될 수 있다. 이러한 접속을 위해, 서버(302) 및 내비게이션 기기(200) 간의 인터넷 접속이 확립된다. 이는 예를 들면, 이동 전화 또는 다른 이동 기기 및 GPRS(일반 패킷 무선 서비스; General Packet Radio Service)-접속(GPRS 접속은 원격 통신 오퍼레이터들에 의해 제공되는 이동 기기들을 위한 고속 데이터 접속이며, GPRS는 인터넷 접속 방식임)을 통해 행해질 수 있다.
상기 내비게이션 기기(200)는 공지의 방식으로 예를 들면 기존의 블루투스 기법을 통해 이동 기기, 그리고 결과적으로는 인터넷 및 서버(302)와의 데이터 접속을 부가적으로 이룰 수 있는데, 이 경우에 상기 데이터 프로토콜은 예를 들면 GPRS, GSM 표준을 위한 데이터 프로토콜 표준과 같은 다수의 표준을 이용할 수 있다.
상기 내비게이션 기기(200)는 (예를 들면 안테나를 포함하거나, 또는 선택적으로는 상기 내비게이션 기기(200)의 내부 안테나를 사용하는) 상기 내비게이션 기기(200) 자체 내에 그 자체의 이동 전화 기법을 포함할 수 있다. 상기 내비게이션 기기(200) 내의 이동 전화 기법은 위에서 특정된 바와 같은 내부 컴포넌트들을 포함할 수도 있고 그리고/또는 예를 들면 필요한 이동 전화 기법 및/또는 안테나가 완비된, 삽입가능한 카드(예컨대, 가입자 식별 모듈(Subscriber Identity Module) 또는 SIM 카드)를 포함할 수도 있다. 이 때문에, 상기 내비게이션 기기(200) 내의 이동 전화 기법은 마찬가지로 임의의 이동 기기의 방식과 유사한 방식으로, 예를 들면 인터넷을 통해 상기 내비게이션 기기(200) 및 상기 서버(302) 간의 네트워크 접속을 확립할 수 있다.
GPRS 전화 설정값들의 경우, 블루투스 가능 내비게이션 기기는 이동 전화 모델들, 제조업체들 등등의 변화무쌍한 계층에 대해 올바르게 작동하도록 사용될 수 있으며, 모델/제조업체 특정 설정값들은 예를 들면 상기 내비게이션 기기(200)에 저장될 수 있다. 이러한 정보에 대해 저장된 데이터는 업데이트될 수 있다.
도 3에서는 상기 내비게이션 기기(200)가 다수의 다른 구성들 중 어느 하나에 의해 구현될 수 있는 일반적인 통신 채널(318)을 통해 상기 서버(302)와 통신하는 것으로 도시되어 있다. 통신 채널(318)을 통한 접속이 상기 서버(302) 및 상기 내비게이션 기기(200) 간에 확립되는 경우에 상기 서버(302) 및 상기 내비게이션 기기(200)가 통신가능하다(여기서 유념할 점은 그러한 접속이 이동 기기를 통한 데이터 접속, 인터넷을 거쳐 개인용 컴퓨터를 통한 직접적인 접속 등등일 수 있다는 점이다).
상기 서버(302)는 예시되어 있지 않을 수 있는 다른 컴포넌트들 외에도, 메모리(306)에 동작가능하게 접속되며 유선 또는 무선 접속(314)을 통해 대용량 데이터 저장 기기(312)에 동작가능하게 부가적으로 접속된 프로세서(304)를 포함한다. 상기 프로세서(304)는, 통신 채널(318)을 통해 내비게이션 기기(200)로 정보를 전송하고 통신 채널(318)을 통해 내비게이션 기기(200)로부터 정보를 수신하도록 송신기(308) 및 수신기(310)에 동작가능하게 부가적으로 접속된다. 전송 및 수신된 신호들은 데이터, 통신, 및/또는 다른 전파 신호들을 포함할 수 있다. 상기 송신기(308) 및 수신기(310)는 내비게이션 시스템(200)에 대한 통신 설계에서 사용되는 통신 요건 및 통신 기법에 따라 선택 또는 설계될 수 있다. 더욱이, 여기서 유념해야 할 점은 송신기(308) 및 수신기(310)의 기능들이 단일의 송수신기로 결합될 수 있다는 점이다.
상기 서버(302)는 대용량 저장 기기(312)에 부가적으로 연결되고(또는 대용량 저장 기기(312)를 포함하고), 여기서 유념할 점은 상기 대용량 저장 기기(312)가 통신 링크(314)를 통해 상기 서버(302)에 연결될 수 있다는 점이다. 상기 대용량 저장 기기(312)는 내비게이션 데이터 및 맵 정보의 저장소를 포함하며, 또한 상기 서버(302)와는 별개인 기기일 수 있고 상기 서버(302) 내에 합체될 수 있다.
상기 내비게이션 기기(200)는 통신 채널(318)을 통해 상기 서버(302)와 통신하도록 구성되고 도 2와 관련하여 앞서 언급된 바와 같은 프로세서, 메모리 등등을 포함함과 아울러 통신 채널(318)을 통해 신호들 및/또는 데이터를 전송 및 수신하도록 하는 송신기(320) 및 수신기(322)를 포함하는데, 여기서 유념할 점은 이러한 기기들이 서버(302)와는 다른 기기들과 통신하도록 부가적으로 사용될 수 있다는 점이다. 더욱이, 상기 송신기(320) 및 수신기(322)는 상기 내비게이션 기기(200)에 대한 통신 설계에 사용되는 통신 요건들 및 통신 기법에 따라 선택 또는 설계되며 상기 송신기(320) 및 수신기(322)의 기능들은 단일의 송수신기로 결합될 수 있다.
서버 메모리(306)에 저장된 소프트웨어는 상기 프로세서(304)용 명령어들을 제공하며 상기 서버(302)가 상기 내비게이션 기기(200)에 서비스들을 제공할 수 있게 한다. 상기 서버(302)에 의해 제공되는 하나의 서비스는 상기 내비게이션 기기(200)로부터의 요구들을 프로세싱하고 상기 대용량 데이터 저장 기기(312)로부터 상기 내비게이션 기기(200)로 내비게이션 데이터를 전송하는 것을 포함한다. 상기 서버(302)에 의해 제공되는 다른 한 서비스는 원하는 애플리케이션에 대한 여러 알고리즘을 사용하여 상기 내비게이션 데이터를 프로세싱하고 상기 내비게이션 기기(200)로 이러한 계산들의 결과들을 전송하는 것을 포함한다.
상기 통신 채널(318)은 상기 내비게이션 기기(200) 및 상기 서버(302)를 연결시켜 주는 전파 매체 또는 경로를 나타내는 것이 일반적이다. 상기 서버(302) 및 내비게이션 기기(200)는 상기 통신 채널을 통해 데이터를 전송하기 위한 송신기 및 상기 통신 채널을 통해 전송된 데이터를 수신하기 위한 수신기를 포함한다.
상기 통신 채널(318)은 특정 통신 기법에 국한되지 않는다. 그 외에도, 상기 통신 채널(318)은 단일 통신 기법에 국한되지 않는데, 다시 말하면 상기 채널(318)은 다양한 기법을 사용하는 여러 통신 링크를 포함할 수 있다. 예를 들면, 상기 통신 채널(318)은 전기, 광, 및/또는 전자(電磁) 통신 등등을 위한 경로를 제공하는데 적합할 수 있다. 이 때문에, 상기 통신 채널(318)은 전기 회로들, 와이어들 및 동축 케이블들과 같은 전기 도체들, 광섬유 케이블들, 컨버터들, 무선-주파수(RF) 파들, 대기, 자유 공간 등등 중의 하나 또는 그들의 조합을 포함하지만, 이들에 국한되지 않는다. 더군다나, 상기 통신 채널(318)은 예를 들면 라우터들, 리피터들, 버퍼들, 송신기들 및 수신기들과 같은 매개(媒介) 기기들을 포함할 수 있다.
한 대표적인 구성에서, 상기 통신 채널(318)은 전화 및 컴퓨터 네트워크들을 포함한다. 더군다나, 상기 통신 채널(318)은 무선 주파수, 마이크로파 주파수, 적외선 통신 등등과 같은 무선 통신을 수용하는 것이 가능할 수 있다. 그 외에도, 상기 통신 채널(318)은 위성 통신을 수용할 수 있다.
상기 통신 채널(318)을 통해 전송되는 통신 신호들은 소정 통신 기법에 필요할 수도 있고 소정 통신 기법에 바람직할 수도 있는 신호들을 포함하지만, 이들에 국한되지 않는다. 예를 들면, 상기 신호들은 시분할 다중 접속(TDMA; Time Division Multiple Access), 주파수 분할 다중 접속(FDMA; Frequency Division Multiple Access), 코드 분할 다중 접속(CDMA; Code Division Multiple Access), 이동 통신 세계화 시스템(GSM; Global System for Mobile Communications) 등등과 같은 셀룰러 통신 기법에서 사용되기에 적합할 수 있다. 디지털 및 아날로그 신호들 모두는 상기 통신 채널(318)을 통해 전송될 수 있다. 이러한 신호들은 상기 통신 기법에 바람직할 수 있는 변조, 암호화 및/또는 압축된 신호들일 수 있다.
상기 서버(302)는 무선 채널을 통해 상기 내비게이션 기기(200)에 의해 액세스가능한 원격 서버를 포함한다. 상기 서버(302)는 근거리 통신 네트워크(LAN; local area network), 광역 통신 네트워크(WAN; wide area network), 가상 사설 통신 네트워크(VPN; virtual private network; VPN) 등등에 위치해 있는 네트워크 서버를 포함할 수 있다.
상기 서버(302)는 데스크톱 또는 랩톱 컴퓨터와 같은 개인용 컴퓨터를 포함할 수 있고, 상기 통신 채널(318)은 상기 개인용 컴퓨터 및 상기 내비게이션 기기(200) 사이에 접속된 케이블일 수 있다. 변형적으로는, 개인용 컴퓨터는 상기 서버(302) 및 상기 내비게이션 기기(200) 간의 인터넷 접속을 확립하도록 상기 내비게이션 기기(200) 및 상기 서버(302) 사이에 접속될 수 있다. 변형적으로는, 이동 전화 또는 다른 핸드헬드 기기는 인터넷을 통해 상기 내비게이션 기기(200)를 상기 서버(302)에 접속하기 위한, 상기 인터넷에 대한 무선 접속을 확립할 수 있다.
상기 내비게이션 기기(200)에는, 주기적으로 자동 업데이트될 수 있거나 사용자가 상기 내비게이션 기기(200)를 상기 서버(302)에 접속할 때 업데이트될 수 있고, 그리고/또는 예를 들면 무선 이동 접속 기기 및 TCP/IP 접속을 통해 상기 서버(302) 및 상기 내비게이션 기기(200) 간에 더 일정하거나 빈번한 접속이 이루어질 때 훨씬 더 동적일 수 있는 정보 다운로드들을 통해 상기 서버(302)로부터의 정보가 제공될 수 있다. 대부분의 동적 계산의 경우에, 상기 서버(302)의 프로세서(304)가 벌크 단위의 프로세싱 요구를 처리하는데 사용될 수 있지만, 상기 내비게이션 기기(200)의 프로세서(210)도 또한, 종종 서버(302)에 대한 접속과는 별도로, 많은 프로세싱 및 계산을 처리할 수 있다.
위에서 도 2와 관련하여 언급된 바와 같이, 내비게이션 기기(200)는 프로세서(210), 입력 기기(220), 및 디스플레이 스크린(240)을 포함한다. 상기 입력 기기(220) 및 디스플레이 스크린(240)은, 예를 들면 (직접 입력, 메뉴 선택 등등을 통한) 정보의 입력 및 터치 패널 스크린을 통한 정보의 디스플레이를 가능하게 하도록 일체화된 입력 및 디스플레이 기기 내에 합체된다. 그러한 스크린은 예를 들면 당업자에게 널리 알려져 있는 터치 입력 LCD 스크린일 수 있다. 더욱이, 상기 내비게이션 기기(200)는 또한 예를 들면 오디오 입력/출력 기기들과 같은 임의의 추가적인 입력 기기(220) 및/또는 임의의 추가적인 출력 기기(241)를 포함할 수 있다.
도 4는 내비게이션 기기(200)의 사시도이다. 도 4에 도시된 바와 같이, 상기 내비게이션 기기(200)는 일체화된 입력 및 디스플레이 기기(290)(예를 들면 터치 패널 스크린) 및 도 2의 다른 컴포넌트들(내부 GPS 수신기(250), 마이크로프로세서(210), 전원, 메모리 시스템들(230) 등등을 포함하지만 이들에 국한되지 않음)을 포함하는 유닛일 수 있다. 상기 내비게이션 기기(200)는 아암(arm; 292) 상에 안착될 수 있으며, 이 자체는 흡입 컵(suction cup; 294)을 사용하여 차량 계기반/앞유리/등등에 고정될 수 있다. 이러한 아암(292)은 상기 내비게이션 기기(200)가 도킹될 수 있는 도킹 스테이션의 일례이다. 상기 내비게이션 기기(200)는, 예를 들면 상기 내비게이션 기기(200)를 상기 도킹 스테이션의 아암(292)에 연결시켜 주는 스냅(snap)에 의해 상기 아암(292)에 도킹되거나 다른 방식으로 접속될 수 있다. 상기 내비게이션 기기(200) 및 상기 도킹 스테이션 간의 접속을 해제하기 위해, 상기 내비게이션 기기(200) 상의 버튼이 예를 들면 눌려질 수 있다. 마찬가지로 상기 내비게이션 기기를 도킹 스테이션에 결합시키고 상기 도킹 스테이션으로부터 상기 내비게이션 기기를 결합해제시키기 위한 기타 적합한 구성들이 당업자에게 잘 알려져 있다.
내비게이션 기기(200)는 메모리 자원(230) 상에 국부적으로 저장된 디지털 맵을 지닐 수 있으며, 상기 디지털 맵은 복수 개의 내비게이트 가능 세그먼트들을 나타내는 데이터를 포함하고, 상기 내비게이트 가능 세그먼트들은 내비게이트 가능 망(navigable network), 예컨대 도로망을 대표한다. 상기 디지털 맵은 내비게이트 가능 목적지들로서 선택될 수 있는, 예컨대 하나 이상의 세그먼트들로 이루어진 내비게이트 가능 경로가 생성될 수 있게 하는 복수 개의 위치들을 포함할 수 있다. 상기 위치들은 임의의 적합한 방식으로, 예컨대 위도 및 경도 좌표들로서 그리고/또는 상기 디지털 맵의 세그먼트 또는 노드를 참조하여 저장될 수 있다.
상기 디지털 맵 내의 위치들은 주소들을 나타냄으로써 특정 주소를 함께 정의하는, 집의 번지, 거리 이름, 거주지 이름, 국가 및 우편번호를 포함하는 관련 위치 정보 컴포넌트들을 지닐 수 있다. 상기 디지털 맵 내의 위치들은 또한, (유명한 위치들, (스포츠 경기장들 또는 수영장들과 같은) 지방자치의 위치들 또는 레스토랑들, 바들, 가게들 등등과 같은 다른 관심 지점들과 같은) "잘 알려져 있는" 목적지들일 수 있는, 사전에 저장된 제조업체에 의해 공급되거나 사용자에 의해 생성된 관심 지점(point of interest; POI)들을 나타낼 수 있다. 그러한 POI 위치들은 POI 이름(예컨대, "영국 박물관"), POI 상표 이름(예컨대, "스타벅스"), POI 카테고리 이름 및/또는 카테고리 코드(예컨대, "레스토랑" 및 "7315") 및 (집의 번지, 거리 이름, 거주지 이름, 우편번호 및 국가를 포함하는) POI 주소 중 하나 이상을 포함하는 관련 컴포넌트들을 지닐 수 있다.
상기 디지털 맵 내의 하나 이상, 바람직하게는 모든 내비게이트 가능 목적지들에 대한 위치 데이터 레코드들(또는 문서들)은 (상기 디지털 맵 데이터 외에도) 메모리 자원(230) 상에 국부적으로 저장된다. 각각의 데이터 레코드는 각각의 레코드가 고유하게 식별되는 것을 허용하는, 관련 레코드 식별자를 지닌다. 상기 레코드 식별자는 제1 부분 및 제2 부분을 포함할 수 있으며, 상기 제1 부분은 모튼 코드(Morton code)의 형태를 이루고 있을 수 있고 상기 위치를 포함하는 디지털 맵의 지리적인 지역을 식별하는 위치 참조이며, 상기 제2 부분은 상기 디지털 맵에 위치해 있는 내비게이트 가능 목적지, 예컨대 거리 이름, 국가, POI 이름, POI 카테고리 등등에 연관된 정보에 대한 포인터 또는 참조이다. 그러나 당업자라면 알 수 있겠지만 상기 내비게이트 가능 목적지에 연관된 위치 정보에 대한 포인터 대신에, 상기 위치 데이터 레코드들 중 하나 이상이 상기 내비게이트 가능 목적지에 대한 실제 위치 정보, 예컨대, 거리 이름, 국가, POI 이름, POI 카테고리 등등을 포함할 수 있다.
데이터 레코드들은 또한 즐겨 찾거나 최근에 방문한 목적지들에 대해 저장될 수 있다. 서로 다른 위치 타입들을 나타내는 데이터 레코드는 상기 레포지토리의 개별 데이터베이스들에 저장될 수 있다. 예를 들면, 주소들, POI들, 최근 위치들 및 즐겨 찾는 위치들은 개별 데이터베이스들에 저장될 수 있다.
메모리 자원(230)에 저장되어 있는 위치 데이터 레코드들의 적어도 일부는 사용자에게 내비게이션 기기(200)를 판매한 후에 내비게이션 기기(200)의 사용 시점이나 그 사용 시점 부근에서 내비게이션 기기(200)로 다운로드하거나, 사용자에게 내비게이션 기기(200)를 판매하기 전에 내비게이션 기기(200)에 다운로드함으로써 처음으로 사용되기 전에, 초기에 내비게이션 기기(200)의 제조업체에 의해 제공되어 있을 수 있다. 메모리 자원(230) 내에 저장된 위치 데이터 레코드들 중 적어도 일부는 예를 들면 네트워크 다운로드에 의해 처음으로 사용된 후에 주기적인 업데이트들에 의해 상기 제조업체에 의해 제공되어 있을 수 있다. 메모리 자원(230) 내에 저장된 위치 데이터 레코드들 중 적어도 일부는 매뉴얼 사양 또는 입력에 의해서나, 또는 사용자에 의한 내비게이션 기기(200)로의 다운로드에 의해 제공되어 있을 수 있다.
자유 텍스트 탐색 엔진
본 발명의 실시태양들의 실시 예들에는 사용자 입력 자유 텍스트 탐색 스트링에 기반하여 메모리 자원(230) 내에 저장된 위치들의 데이터 레포지토리를 탐색하여 단일 입력 스트링으로부터 사용자의 원하는 목적지의 결정을 용이하게 하는 내비게이션 기기(200)와 같은 전자 기기 및 내비게이션 기기(200)를 동작시키는 방법 및 컴퓨터 소프트웨어 생성물이 제공되어 있다. 유리한 점으로는, 실시 예들이 공지된 안내 탐색 기법을 수행하도록 요구되는 정보에 대한 복수 개의 프롬프트들을 사용자에게 제공하는 것을 회피한다. 실시 예들에 따른 자유 텍스트 탐색은 하나 이상의 사전에 결정된 인덱스들의 탐색에 기반하여 이루어지며 비록 탐색된 인덱스가 변화될 수 있지만, 하나 이상의 인덱스들 자체가 변화되지 않는다. 그러므로, 실시 예들은 트리 구현이 자유 텍스트 탐색에 사용될 경우에 직면하게 됨에 따라 탐색 공간(search space)을 수정하는데 요구되는 부가적인 프로세싱의 문제를 회피한다.
상기 내비게이션 기기(200)의 국부 메모리(230) 내에는 상기 데이터 레코드들 내에 포함되어 있는 워드들을 상기 워드들이 나타나게 되는 상기 레코드들에 연관시키는 인덱스를 나타내는 데이터가 저장되어 있다. 상기 인덱스는 상기 내비게이션 기기에서 국부적으로 생성될 수도 있고 서버에서 원격으로 생성된 다음에 상기 내비게이션 기기에 다운로드될 수도 있으며, 이들 양자 모두로 이루어질 수도 있다. 데이터 레코드들의 개별 데이터베이스들이 상기 레포지토리 내에 포함되어 있는 경우에, 개별 인덱스들은 각각의 데이터베이스용으로 생성될 수 있다. 따라서, 개별 인덱스들은 지리적인 지역(예컨대, 특정 국가들, 주들 따위에 대한) 지리적인 지역 및/또는 위치 타입(예컨대, 주소, POI 등등)에 기반하여 생성될 수 있다.
상기 인덱스는 레포지토리(230) 내에 저장된 모든 위치 데이터 레코드들에 포함되어 있는 모든 워드들의 리스트이다. 각각의 워드에 대해, 이는 그러한 워드를 포함하는 데이터 레코드들의 엔트리들을 지닌다. 상기 레코드들은 상기 워드를 그러한 워드를 포함하는 문서들의 문서 ID들에 관련시키는 튜플(tuple)들로서 상기 인덱스 내에 저장되어 있다. 상기 문서들은 주소들 또는 POI들이다.
위에서 논의된 바와 같이, 상기 데이터 레코드들은 주소 또는 관심 지점(Point of Interest; POI)을 나타낼 수 있으며 거리 이름; 지점 이름; 우편 번호; 국가 코드; POI 이름; POI 상표 이름; POI 주소; POI 카테고리 코드를 포함하는 컴포넌트들 중 하나 이상을 나타내는 데이터를 포함할 수 있다.
하기 표 1에는 주소들을 나타내는 데이터 레코드들의 간략화된 예가 도시되어 있다.
문서 ID 주소
1 칼 베르 거리(Kalverstraat), 암스테르담(Amsterdam), NLD, NLD
2 마르코 폴로 거리(Marco Polostraat), 암스테르담, NLD
3 칼 베르 거리(Kalverstraat), 덴 하그, NLD
자유 텍스트 탐색 엔진의 기초를 형성하는 이러한 문서들(다시 말하면, 상기 문서들의 컴포넌트들) 내에 포함되어 있는 워드들에 대한 인텍스는 하기 표 2에 도시되어 있다.
워드 매칭 문서 ID
암스테르담 1,2
3
하그 3
칼 베르 거리 1,3
마르코 2
NLD 1,2,3
폴로 거리 2
위에서 논의된 바와 같이, 바람직한 실시 예들에서는, 데이터 레코드의 문서 ID(다시 말하면, 레코드 ID)는 상기 디지털 맵에 관련된 위치 참조를 자체적으로 제공함으로써 상기 데이터 레코드가 관련되어 있는 구역/위치를 찾아내는데 유용할 수 있는 모튼 코드(Morton code)를 포함한다. 각각의 데이터 레코드의 제2 부분은 상기 디지털 맵 내의 관련 데이터에 대한 참조를 포함한다. 이러한 방식으로 상기 데이터 레코드들에 대한 파일들의 크기는 최소화되는데, 이는 전형적인 PND들에서 제한된 저장 용량 때문에 중요하다. 각각의 문서 ID에 연관된 위치 참조는 소위 "탐색 중심"(다시 말하면, 이하에서 부연 설명하게 될 탐색 관련성에 대한 결과들의 순위를 정하는데 사용되는 위치/경로) 주변에서 탐색들을 수행할 때 사용된다.
상기 전자 기기(200)는 또한 메모리(230) 내에 저장되며 상기 데이터 프로세싱 수단에 의해 실행될 경우에 상기 전자 기기로 하여금 도 6을 참조하여 설명되는 자유 텍스트 탐색 방법(600)을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 생성물을 지닌다.
탐색 질의는 수신되는데(601), 예를 들면 물리적 또는 가상 키패드, 또는 음성 커맨드들을 사용하여 상기 전자 기기의 사용자 인터페이스 내로 사용자에 의해 입력된다. 상기 탐색 질의는 탐색 스트링을 포함한다. 상기 탐색 스트링은 하나 이상의 탐색 워드들을 제공하도록 프로세싱된다(602). 상기 인덱스는 상기 또는 각각의 탐색 워드를 포함하는 데이터 레코드들을 식별하도록 질의된다(603). 상기 탐색 질의에 대한 각각의 식별된 데이터 레코드의 관련성을 나타내는 하나 이상의 식별된 데이터 레코드들 각각에 대한 순위가 생성된다(604). 상기 탐색 결과들은 순위 순서로 상기 디스플레이상에 디스플레이될 수 있다(605).
따라서, 하나 이상의 워드들(상기 스트링의 시작 및/또는 끝 및/또는 공백 문자들에 의해 경계가 지어지는 영숫자 문자들의 스트링을 포함하는 워드들)을 이룰 수 있는 한 이상의 문자들을 포함할 수 있는 (물리적이거나 가상적인 키보드를 통해 사용자에 의해, 음성 인식 또는 다른 수단에 의해 상기 전자 기기(200) 내로 입력되는) 텍스트 스트링이 주어지는 경우에, 한 실시 예에 따른 자유 탐색 엔진은 매칭 주소들; 매칭 '관심 지점(POI)'들; POI 카테고리 제안들을 포함하는 결과들 중 하나 이상을 생성할 수 있다.
도 6에는 하나 이상의 탐색 워드들을 제공하도록 하는 탐색 스트링의 프로세싱이 부가적으로 도시되어 있다. 상기 컴퓨터 프로그램 생성물은 상기 탐색 스트링을 프로세싱할 경우에 상기 전자 기기로 하여금 부가적으로 상기 탐색 스트링을 워드들로 분할하는 것(602A); 상기 워드들을 정규화하는 것(602B); 특정 워드들을 식별 및 처리하는 것(602C) 중의 하나 이상을 수행하게 한다.
단계 602A에서 상기 탐색 스트링을 워드들로 분할하기 위하여, 모든 비-영숫자 문자들은 워드 분리 문자들이도록 간주한다. 몇 가지 예로는:
1. "칼 베르 거리, 암스테르담"은 "칼 베르 거리" 및 "암스테르담"으로 분할 되고
2. "'s-Gravenhage the Netherlands"는 "s", "Gravenhage", "the" 및 "Netherlands"로 분할된다.
단일 워드들에 대해 인덱스가 질의된다.
단계 602B에서는 상기 워드들을 정규화하기 위해, 상기 탐색 스트링의 내용에서의 불규칙성들을 설명하도록 의도된 하나 이상의 프로세싱 단계들이 수행될 수 있다. 정규화의 목적들은 맞춤법 오류들을 허용하고 약어들, 예컨대 "street"에 대한 "st"로의 약어를 지원하는 것을 포함한다.
상기 인덱스의 워드들에 대한 조회(lookup)를 통해 상기 워드가 상기 인덱스 내에 저장됨에 따라 상기 워드가 정확하게 맞춤법에 맞게 표기되는 것이 요구된다. 사소한 맞춤법 오기는 조회 실패를 야기한다. 그래서 사용자가 "Kalverstraat" 대신에 "Kalverstrat"로 철자를 표기하여 정규화가 사용되지 않은 경우에, 상기 인덱스에 "Kalverstrat"라는 워드가 존재하지 않기 때문에 어떠한 매치들도 찾아볼 수 없게 된다.
그러한 사소한 맞춤법 오기들을 허용하기 위해, 워드들 자체들이 상기 인덱스 내에 저장되지 않는다. 그 대신에 상기 워드들의 정규화된 형태가 저장된다. 사용자 입력으로부터의 워드들을 가지고 상기 인덱스에 질의하기 위하여, 상기 워드들이 먼저 정규화된다. 정규화 뒤에 감춰진 아이디어는 서로 다른 맞춤법들(맞춤법 오기들)이 동일한 정규화된 형태를 지님으로써, 매칭 문서들이 이러한 서로 다른 맞춤법들(맞춤법 오기들)에 대해 찾아볼 수 있게 된다는 것이다.
단지 상기 워드들의 정규화된 버전들만을 저장하는 부가적인 이점은 상기 워드들의 입력 텍스트 버전이 저장된 경우보다 상기 인덱스의 크기가 작다는 것이다. 유리한 점으로는, 적은 데이터 저장소가 상기 인덱스에 요구되며 탐색을 수행하도록 하는 프로세싱 요구들이 또한 작은 인덱스에 의해 줄어든다. 상기 저장된 데이터 레코드들로부터 상기 인덱스를 생성하는데 사용되는 정규화 규칙들은 상기 자유 텍스트 탐색 질의가 수신된 경우에 상기 전자 기기에서 상기 탐색 스트링을 프로세싱하는데 사용된 것들과 동일한 것이 바람직하다.
정규화는,
· 모든 문자들을 소문자로 변환하는 것, 예컨대 "A"가 "a"로 되게 하는 것;
· 악센트들을 문자들에서 제거하는 것, 예컨대, "
Figure 112015111854303-pct00001
"를 "u"로 되게 하는 것;
· 동일 문자의 시퀀스를 단일 문자로 대체하는 것, 예컨대, "nn"을 "n"으로 되게 하는 것(여기서 유념할 점은 이러한 것이 단지 문자들만을 포함하며 숫자들을 포함하지 않는다는 점이다);
· 단일 문자들을 다른 문자들로 대체하는 것(이하 참조)
· 이전 단계는 동일 문자들의 시퀀스들을 생성할 수 있음(다시 이러한 시퀀스들은 단일 문자로 대체된다);
· 워드들 및 약어들을 표준 약어들로 대체하는 것, 예컨대, "street"가 "st"로 되게 하는 것;
중 하나 이상을 포함할 수 있다.
이하에서는 단일 문자로 스퀀스들을 대체하는 프로세스가 기재되어 있다.
이는 워드의 문자 위치 1로부터 찾아볼 수 있게 되는 모든 시퀀스들로 행해진다(첫번째 문자는 위치 0에 있음). 상기 첫 번째 문자에서 시작되는 시퀀스는 대체되지 않는다. 그 이유는 한 워드의 시작에서 문자들을 변경하는 것이 비-논리적인 매치들로 이끌 수 있기 때문이다.
시퀀스들이 대체되게 하는 시작 위치는 상기 인덱스 내에 저장되어 있다.
이하에서는 악센트들의 제거 프로세스가 기재되어 있다.
악센트를 가지지 않은 문자 대체는 악센트를 가진 문자와 동일한 기본 문자이다. 그 외에도, 공식적으로 악센트를 가지지 않은 문자들이지만, 그와 같이 처리될 수 있는 특정 경우가 소수 존재한다.
이하에서는 문자들의 대체 프로세스가 기재되어 있다.
단일 문자 맞춤법 오기들을 허용하기 위해, 몇몇 문자들이 다른 문자들로 대체된다. 그 이유는 몇몇 문자들이 유사한 발음을 지니고, 그럼으로써 사람들이 잘못된 문자를 쉽게 타이핑할 수 있기 때문이다(여기서 유념할 점은 본원 명세서에 개시된 정규화 기법은 언어에 무관하다는 점이다). 그래서 한 언어에서 유사하게 발음하는 문자들은 다른 한 언어로 발음되지 않을 수 있다. 정규화를 위해, 그 목적으로서 실제로 문제되지 않는 것은 단일 형태상에 다수의 철자법을 매핑하는 것이다. 순위결정 알고리즘은 맞춤법 오기들보다 올바른 맞춤법들을 선호하게 된다.
대체 규칙들은 인덱스의 데이터에 의해 구동된다. 상기 대체 규칙들은 하기 표 3에 도시되어 있다.
Figure 112015111854303-pct00002
상기 번호"로부터 시작됨"은 대체들을 이루기 시작해야 하는 문자 위치이다. 상기 워드의 첫 번째 문자는 위치 0에 있다. 상기 "로부터 시작됨" 위치 전의 문자들은 변경되지 않는다. 그 이유는 한 워드의 시작에서 문자들을 변경하는 것이 비-논리적인 매치들로 이끌게 하기 때문이다.
이하에서는 정규화 예가 기재되어 있다.
1. 정규화되어야 할 워드는 "Oosterdoks straat"이다.
2. 소문자로 "oosterdoks straat"가 제공된다.
3. 제거해야 할 어떠한 악센트들도 존재하지 않는다.
4. (위치 1로부터 시작되는) 단일 문자들로 시퀀스들을 대체함으로써 "oosterdokstrat"가 제공된다.
5. 상기 규칙들을 사용하여 단일 문자들을 대체함으로써 "oostartakstrat"가 제공된다.
이하에서는 약어들을 정규화하는 프로세스가 기재되어 있다.
몇몇 워드들은 단축될 수 있다. 한 워드는 상기 디지털 맵에서 맞춤법에 맞게 단축될 수도 있고 한 워드는 사용자 입력에서 단축될 수 있다. 한 약어는 전체 워드와 동일한 효과를 지녀야 한다. 그래서 사용자가 약어를 타이핑할 경우에, 이는 상기 디지털 맵에서 전체 워드와 매칭되어야 하거나, 사용자가 전체 워드를 타이핑할 경우에, 이는 상기 디지털 맵에서 자신의 약어와 매칭되어야 한다. 약어들의 예들이 하기 표 4에 도시되어 있다.
Figure 112015111854303-pct00003
다수의 워드는 단일 약어로 단축될 수 있으며, 예를 들면 "aan de"는 "ad"로 단축된다.
약어들을 전체 워드들과 매칭되게 하기 위해, 전체 워드들이 상기 인덱스의 약어들로 대체된다. 사용자 입력에서는, 탐색 엔진이 상기 인덱스에 질의하기 전에 전체 워드들을 약어로 대체한다.
전체 워드들을 약어로 대체하는 프로세스는 이보다는 훨씬 복잡한데, 그 이유는 동일한 맞춤법에 맞게 표기된 워드들이 서로 다른 언어들에서 서로 다른 약어들을 지닐 수 있기 때문이다. 예를 들면, 단어 "avenue"는 영어로 "ave"로 단축된다. 그러나 이는 불어로는 " av"로 단축된다.
이러한 문제를 해결하기 위해, 정규화가 가장 단축된 약어에 대해 행해진다.
단계 602C에서 특정 워드들을 식별 및 처리하기 위해, 국가 코드들/이름들; 집의 번지들(단지 주소 탐색에 대해서만); POI 카테고리 이름들(단지 POI 탐색에 대해서만) 중 하나 이상을 포함하는 특정 워드들을 찾아내도록 상기 입력이 분석된다.
그리고나서 이러한 특정 워드들은 국가 이름들 및 코드들을 표준 국가 코드들로 변환하고; 집의 번지들을 제거하며; 관심 지점(POI)들의 카테고리들에 해당하는 워드들을 식별하고; 그리고 POI 카테고리 코드와 대체하는 것; 중 하나 이상에 의해 처리된다.
전체 탐색 스트링이 POI 카테고리 이름이거나 단일 POI 카테고리 이름의 프리픽스(prefix)인 경우에, 상기 탐색 질의가 상기 POI 카테고리의 레코드들에 대해 생성된다. 상기 전체 탐색 스트링이 하나 이상의 워드를 포함하고 POI 카테고리 이름으로 시작되는 경우에, 2 가지 탐색 질의, 다시 말하면 상기 POI 카테고리가 탐색 워드로서 제공되게 하는 제1 질의; 및 상기 POI 카테고리 이름이 POI 카테고리 코드에 의해 대체되게 하는 제2 질의와 같이 생성된다.
이러한 특정 워드들 각각은 특정 처리를 필요로 하고 그 이유는 상기 특정 워드들이 상기 인덱스의 일부가 아니기 때문이다. 예를 들면, POI 카테고리 이름들 대신에, 상기 인덱스는 숫자 POI 카테고리 코드를 포함하며; 집의 번지들은 상기 인덱스 내에 있지 않고; 그리고 국가들에 대해, 3-문자 ISO 코드가 상기 인덱스 내에 있지만, 2-문자 코드 및 상기 전체 이름들이 또한 사용되어야 한다.
이하에서는 국가 코드/이름 검출의 프로세스가 기재되어 있다.
상기 탐색 엔진은 단지 사용자 입력 단부에서만 국가 코드들 및 이름들을 인식할 수 있다. 상기 단지 사용자 입력 단부에서만 국가 코드들 및 이름들을 검출하도록 하는 제한을 통해 애매성들의 횟수의 제한이 이루어지게 된다. 국가 코드 또는 이름과 같이 보이는 것은 국가 코드 또는 이름이 아닐 수 있다.
1. 거리의 이름이 국가의 이름과 동일한 것일 수 있다.
2. 한 워드가 국가 코드와 동일한 것일 수 있는데, 예컨대, "De Pol"은 네덜란드에 소재하는 마을의 이름이지만, POL은 또한 포틀랜드에 대한 3-문자 국가 코드이다. "USA Today"는 POI의 이름일 수 있지만, "USA"는 또한 국가 코드일 수 있다.
만약 사용자 입력 단부가 국가 이름/코드일 수 있는 경우에, 상기 탐색 엔진은 2가지 질의를, 한번은 사용자 입력 그대로, 그리고 한번은 상기 국가 이름/코드가 ISO 3-문자 코드에 의해 대체되는 사용자 입력으로 수행한다. 예를 들면,
1. 사용자는 "vapiano, germany"를 입력하고
2. 탐색 엔진은 "vapiano germany" 및 "vapiano deu"와 같은 질의를 실행한다.
위의 예들에서는 상기 사용자 입력의 정규화가 명확성을 위해 기재되지 않았다. 상기 탐색 엔진은 또한 탐색 전에 상기 사용자 입력을 정규화하도록 구성될 수 있다.
이하에서는 인식된 이름들/코드들에 대해 수행되는 프로세스가 기재되어 있다.
상기 탐색 엔진은 다음과 같은 이름들 및 코드들, 다시 말하면 3-문자 ISO 코드들(예컨대, NLD, DEU, FRA); 2-문자 코드들(예컨대, NL, DE, FE); 및 임의의 UI 언어의 전체 이름들(예컨대, "The Netherlands", "Nederland", "Pays-Bas")을 인식한다.
국가 이름들은 상기 UI 언어가 어떻든 간에 모든 국가 이름들에서 인식된다. 사용자는 상기 UI 언어와는 다른 한 언어로 상기 국가 이름을 나타내는 일부 소스(예컨대, 명함)로부터 주소를 카피할 수 있다.
이하에서는 집의 번지들에 대해 수행되는 프로세스가 기재되어 있다.
집의 번지들은 주소들에 대한 인덱스들에 저장되지 않는다. 한 거리는 여러 집의 번지들 지닐 수 있다. 상기 인덱스 내에 개별 집의 번지들을 저장하는 것은 상기 인덱스를 탐색하는 데 상기 인덱스의 크기 및 필요한 프로세싱 기능을 대단히 증가시키게 한다. 그래서, 상기 탐색 엔진은 먼저 상기 인덱스에 질의하기 전에 상기 사용자의 입력으로부터 집의 번지를 먼저 제거한다. 그리고나서, 거리들이 찾아볼 수 있게 되는 경우에, 그러한 거리들에 대한 집의 번지들이 분석된다.
바람직하게는 POI가 탐색가능한 전체 주소를 지니는 경우에, 이러한 전체 주소의 집의 번지는 상기 인덱스에 저장된다.
애매성들이 존재할 수 있으며 집의 번지와 같이 보이게 되는 것이 집의 번지가 아닐 수 있다. 예를 들면, 거리의 이름이 번지, 예컨대 "42번가"를 포함할 수 있다.
집의 번지들을 검출하기 위해, 상기 탐색 엔진은,
1. 상기 사용자 입력에 어떠한 집의 번지도 존재하지 않는다고 가정하고 전체 사용자 입력을 가지고 상기 인덱스에 질의를 하는 것,
2. 어떠한 매치들도 찾아볼 수 없게 되는 경우에, 사용자 입력이 숫자 부분을 지니는 워드를 포함하는지를 체크하고, 만약 사용자 입력이 숫자 부분을 지니는 워드를 포함하는 경우에, 상기 입력으로부터 이러한 워드를 생략하고 다시 상기 인덱스에 질의하는 것,
3. 매치가 찾아 볼 수 있게 되는 경우에, 상기 사용자 입력으로부터 상기 집의 번지를 분석하는 것
을 수행한다.
상기 사용자 입력이 숫자들을 가진 다수의 워드를 포함하는 경우에, 이들 모두는 잠재적인 집의 번지 후보들일 수 있다. 이들 모두는 차례로, 예컨대 상기 제1 후보를 먼저 생략한 다음에 (상기 제1 후보의 생략 없이) 제2 후보를 생략하는 등등을 수행하도록 시도된다.
이하에서는 집의 번지를 분석하는 프로세스가 기재되어 있다.
1. 상기 집의 번지가 매칭된 거리상에 존재하는지를 체크하고, 상기 집의 번지가 매칭된 거리상에 존재하지 않는 경우에, 인접해 있는 집의 번지(수치적인 의미에서 인접해 있는 집의 번지)를 제안하고
2. 상기 집의 번지에 대한 좌표(위도/경도)를 획득한다.
이하에서는 POI 카테고리 이름들에 대한 프로세스가 기재되어 있다.
상기 탐색 엔진은 단지 사용자 입력의 시작시에만 POI 카테고리 이름들을 인식한다. 이러한 제한은 복잡성 및 애매함들을 최소화하도록 이루어지게 된다. POI 카테고리 이름(의 일부)은 POI 카테고리 이름이 아닐 수 있다.
상기 탐색 엔진은 POI 카테고리의 프라이머리 이름 및 이러한 프라이머리 이름들에 대한 동의어들을 인식한다. 상기 프라이머리 이름들 및 상기 동의어들은 상기 디지털 맵에 저장된다. 동의어 상의 매치가 찾아볼 수 있게 되는 경우에, 상기 제안은 상기 POI 카테고리의 프라이머리 이름 및 상기 동의어를 포함하게 된다.
"동의어"는 POI 카테고리 이름에 연관되어 있는 임의의 이름일 수 있는데, 예컨대, "cafe"가 "레스토랑(restaurant)"에 대한 동의어로서 상기 디지털 맵에 포함된다. 사용자가 이러한 연관된 이름들 중 하나를 타이핑할 경우에, 상기 탐색 엔진은 정확히 사용자가 요구된 것이 아니고 어떠한 것보다도 전혀 나은 것이 아닌 연관된 POI 카테고리를 탐색하도록 하는 제안을 제공하게 된다.
POI 카테고리 이름이 찾아볼 수 있게 되는 경우에 상기 탐색 엔진은 제안들을 생성하는 것; POI 윈도우 질의를 수행하는 것; 및 POI 카테고리 코드를 가지고 FTS 질의를 수행하는 것을 포함하는 여러 가지의 단계를 수행할 수 있다.
상기 수신된 탐색 스트링이 프로세싱되어서 하나 이상의 탐색 워드들의 그룹이 생성되므로, 상기 인덱스가 상기 또는 각각의 탐색 워드를 포함하는 데이터 레코드들을 식별하도록 질의를 받는다(단계 603). 각각의 탐색 워드에 대해, 상기 인덱스로부터의 매칭 레코드들의 집합은 찾아볼 수 있게 된다. 그리고나서, 레코드들의 집합들의 교집합이 모든 워드들을 매칭하는 레코드들을 제공하도록 결정된다.
사용자 입력 "Kalverstraat, Amsterdam"에 대한 매치들을 찾아내도록 위의 표 1에 도시된 간략화된 예, 및 표 2에 도시된 워드들에 대한 인덱스를 참조하면(여기서 유념할 점은 간략성을 위해, 이렇나 대표적인 인덱스가 정규화를 거치지 않았다는 점이다), 상기 입력이 상기 워드들 "Kalverstraat" 및 "Amsterdam"으로 분할된다.
1. "Kalverstraat"가 문서들 1 및 3과 매칭되고
2. "Amsterdam"이 문서들 1 및 2와 매칭되며
3. 이러한 매치들의 교집합이 문서 1, 다시 말하면 주소 "Kalverstraat, Amsterdam, NLD"이다.
따라서, 상기 인덱스의 질의는 문서 1을 복귀시킨다. 분명한 점은 이러한 것이 올바른 결과라는 점이다.
위에서 나타낸 바와 같이, 탐색 스트링이 POI 카테고리 이름을 포함하는 특정한 경우가 존재한다.
이하에서는 전체 사용자 입력이 POI 카테고리 이름일 경우에 수행되는 프로세스가 기재되어 있다.
상기 사용자 입력이 POI 카테고리 또는 단일 POI 카테고리 이름의 프리픽스인 경우에, 상기 POI 카테고리의 POI들에 대한 탐색이 수행된다. 이러한 것이 적용되는 사용자 입력의 예들은 레스토랑; 및 철도(전체 카테고리 이름이 "철도역(railway station)"이지만 "철도(railway)"로 시작되는 어떠한 다른 카테고리도 존재하지 않는다.
탐색 중심(다시 말하면 이하에서 부연 설명될 탐색에 대한 관련성에 대한 결과들의 순위를 결정하는데 사용되는 위치/경로)가 정의되는 경우에, 상기 탐색 중심 주변의 POI 카테고리 윈도우 질의가 수행된다.
어떠한 탐색 중심도 정의되지 않은 경우에, 수치 카테고리 코드를 갖는 질의가 수행된다(상기 인덱스가 POI에 대한 수치 카테고리 코드를 포함한다).
이하에서는 POI 카테고리 제안에 대한 프로세스가 기재되어 있다.
상기 인덱스에 질의하는 것외에도, POI 카테고리 제안들이 모든 매칭하는 POI 카테고리 이름들/동의어들에 대해 생성된다.
이하에서는 사용자 입력이 POI 카테고리 이름으로 시작될 경우에 수행되는 프로세스가 기재되어 있다.
사용자 입력이 POI 카테고리 이름으로 시작되는 경우에, 2가지 질의, 즉
1. 사용자 입력이 그대로인 질의
2. 상기 POI 카테고리 이름이 자신의 수치 카테고리 코드에 의해 대체된
질의
가 수행된다.
이하에서는 주소 표시를 갖는 POI 제시를 수행하는 프로세스가 기재되어 있다.
상기 인덱스에 질의하는 것 외에도, POI 카테고리 제안이 생성된다. 상기 카테고리 이름의 뒤를 잇는 사용자 입력 텍스트는 주소 탐색 엔진에 대한 입력으로서 사용된다. 그러한 텍스트가 하나 이상의 매칭 주소 결과들을 제공하는 경우에, 이러한 주소 결과들은 POI 카테고리 제안에 대한 주소들이 된다. 예를 들면,
1. 상기 입력이 "restaurant paris"이고
2. 상기 스트링 "paris"가 상기 주소 탐색 엔진에 대한 입력으로서 사용되며
3. 상기 제1 결과가 도시 중심 "Paris, FRA"이고
4. 이러한 결과는 "restaurant" 제안에 대한 주소 리스트에서 첫 번째 주소가 된다.
상기 카테고리 이름 다음에 이어지는 스트링이 어떠한 매칭 주소 결과들도 제공하지 않는 경우에, 어떠한 제안도 생성되지 않는다. 입력 "restaurant vapiano"가 주소 표시를 갖는 임의의 POI 카테고리 제안들도 제공하지 않는다.
상기 인덱스가 상기 프로세싱된 탐색 스트링을 가지고 질의를 받고 한 세트의 매칭하는 데이터 레코드들이 식별되는 경우에, 그러한 결과들이 관련성에 대한 순위가 결정된다(단계 604). 각각의 데이터 레코드에 대한 순위를 생성하는 경우에, 상기 기기(200)는,
- 각각의 레코드에 대한 스코어를 계산하고;
- 상기 레코드들의 스코어들에 기반하여 상기 레코드들의 순위를 결정하며;
- 2개의 레코드가 동일한 스코어를 지니는 경우에, 상기 레코드들의 순위 순서가 탐색 중심으로부터의 거리에 기반하여 조정되는 것이 가능한 경우에 상기 레코드들의 순위 순서가 탐색 중심으로부터 거리에 기반하여 조정되고, 상기 2개의 레코드가 동일한 스코어를 지니지 않는 경우에 2개의 레코드의 순위 순서가 일정하지 않다.
각각의 레코드에 대한 순위결정 스코어를 계산하기 위하여, 상기 기기(200)는 시작 스코어(이러한 예에서는 1000)로부터 시작되고
- 상기 데이터 레코드 내에 포함되어 있는 워드에 정확하게 매칭되지 않는 탐색 스트링에 포함되어 있는 각각의 워드에 대한 페널티(penalty)를 상기 스코어로부터 감산하는 것;
- 상기 탐색 스트링 내에 배열되어 있는 탐색 워드들 간의 구조적 차이 및 올바르지 않은 워드 순서 및 워드 갭들을 포함하는 워드들이 상기 데이터 레코드에서 어떻게 나타나 있는지에 대한 페널티를 상기 스코어로부터 감산하는 것;
- 탐색 워드와 매칭하는 워드가 존재하는 컴포넌트에 포함되어 있는 각각의 비-매칭된 워드에 대한 페널티를 상기 스코어로부터 감산하는 것;
- 중요한 매치들로서 표시되는 데이터 레코드들에 대한 보너스(bonus)를 상기 스코어에 가산하는 것;
- 순위결정들에서 높은 레벨들(대다수의 주행들이 75km 이내임)에 이르기까지 국부적인 결과들을 상승시키도록 상기 기기의 현재 위치로부터의 거리에 기반하여 상기 스코어에 보너스/페널티를 추가하는 것;
중의 하나 이상을 수행한다.
여기서 중요한 점은 상기 매칭하는 레코드들의 순위가 결정되는 경우에, 상기 인덱스를 사용하여 매칭하는 레코드들을 찾아내도록 질의하기 위해 상기 탐색 스트링의 분리된 워드들이 정규화되는 동안, 상기 탐색 스트링의 원래 비-정규화된 분리 워드들이 각각의 데이터 레코드의 원래 컴포넌트들과 비교된다는 점에 유념하기로 한다는 것이다.
이하에서는 워드 페널티들을 결정하는 프로세스가 기재되어 있다.
사용자 입력의 각각 워드에 대하여, 매칭된 문서의 매칭하는 워드가 찾아볼 수 있게 된다. 상기 워드들이 동일한 경우에 이는 완전한 매치이며 상기 워드가 어떠한 페널티도 받지 않는다.
상기 워드들이 동일하지 않은 경우에 상기 페널티들이 제공된다. 모든 워드에 대한 페널티들이 모두 합산된다. 이는 총 워드 페널티이다.
이하에서는 구조적 페널티들을 결정하는 프로세스가 기재되어 있다.
총 워드 페널티가 계산된 후에는 구조적인 미스매치(structural mismatch)들에 대한 패널티가 가산된다. 위에서 언급된 바와 같이, 주소들 및 POI들은 예를 들면 거리 이름; 지점 이름; 우편 번호; 국가 코드; POI 이름; POI 상표 이름; POI 주소;를 포함하는 여러 컴포넌트로 이루어진다.
이러한 컴포넌트들 중 일부는 다수의 이름을 지닐 수 있는데, 예컨대 도시는 다수의 언어로 이루어지는 이름들을 지닐 수 있다. 상기 구조적인 분석을 통해 어떤 컴포넌트들에 상기 입력의 워드들이 매칭되는 지, 어떤 이름들에 상기 컴포넌트들이 매칭되는 지 그리고 어떤 순서로 이루어지는 지가 확인될 수 있다. 비논리적인 매치들에 페널티들이 제공된다. 매우 비논리적인 매치들에는 최대 페널티가 제공될 수 있으며 완전히 필터링되어 제거되게 된다.
두 번째로부터 개시되는 사용자 입력의 각각의 워드에 대해, 이전의 워드들과의 비교가 이루어진다. 각각의 페널티에 대해 간단한 설명이 이하에 제공된다.
- 컴포넌트들 간의 전후 점핑
예를 들면 첫 번째 입력 워드가 거리의 이름에 있는 워드와 매칭되고, 두 번째 입력 워드가 그러한 거리에 대한 도시의 이름에 있는 워드와 매칭되며 그리고 세 번째 입력 워드가 다시 상기 거리의 이름에 있는 워드와 매칭되는 경우에, 그러한 매치들은 상기 컴포넌트들 간에 전후로 점핑된다. 그러한 매치는 완전히 폐기된다.
- 다른 한 컴포넌트로의 전환
이전의 워드가 거리의 이름에 있는 워드와 매칭되는 동안에 한 워드가 지점 이름에 있는 워드와 매칭되는 경우에, 그것은 새로운 컴포넌트로의 전환이다. 이는 잘못된 것이 아니고 단일 컴포넌트에 내재하는 연속 워드들의 긴 시퀀스를 지니는 매치들을 선호하는 것에 대해 페널티가 제공된다.
- 한 컴포넌트에 내재하는 이름 전환
한 컴포넌트가 다수의 이름을 지니는 경우에, 상기 입력으로부터의 워드들은 이러한 다수의 이름과 매칭될 수 있다. 다수의 이름과의 매치는 논리적이지 않은 것으로 보이므로 이것에 큰 페널티가 제공된다. 이러한 규칙에 대한 예외는 구역 이름들이다.
- 거리 및 지점 이름들에서의 워드 순서 미스매치
거리 이름들 및 지점 이름들에 있는 워드들의 순서가 공지되어 있으므로, 잘못된 순서 매치가 완전히 필터링된다.
- 다른 컴포넌트들에서의 워드 순서 미스매치
다른 컴포넌트들, 예컨대 POI들에서의 워드 순서가 잘 정의되어 있지 않을 수 있다. 이것은 미스매치에 대한 페널티가 제공된다.
- 매치 캡들
2개의 차후 워드가 동일한 컴포넌트와 매칭되지만, 매칭되지 않은 그들 간의 워드들이 존재한다.
각각의 워드에 대한 구조적 페널티는 총 워드 패널티에 추가된다.
이하에서는 매칭되지 않은 워드 패널티에 대한 프로세스가 기재되어 있다.
한 컴포넌트에서의 워드 매치가 존재하는 경우에, 그러한 컴포넌트에 대한 모든 워드들이 제공되지 않는다면 페널티가 제공될 수 있다. 이러한 페널티가 모든 컴포넌트 매치들에 대해 제공되지는 않는다.
주소들 및 POI들에 특정된 보너스가 적용될 수 있다.
이하에서는 워드들이 매치되는 다수의 방식에 대한 프로세스가 기재되어 있다.
모든 페널티 계산들은 사용자 입력으로부터의 워드를 문서로부터의 워드와 비교하는 것을 포함한다. 상기 사용자 입력 및 문서 양자 모두는 여러 번 한 워드를 포함할 수 있다. 그러므로 상기 문서로부터의 워드들과 상기 사용자 입력으로부터의 워드들을 매칭하도록 하는 서로 다른 방식들이 존재한다. 순위결정 알고리즘은 가능한 모든 매치들을 시도하고 가장 높은 스코어를 생성하는 것이 상기 매치에 대한 스코어이다.
매칭하는 레코드가 주소를 나타내는 경우에, 주소를 나타내는 레코드에 대한 순위결정 스코어를 계산하는 것은 다음과 같은 단계들을 포함한다.
- 상기 데이터 레코드의 거리 이름에 포함되어 있는 인덱스의 워드에 대해 매칭되는 탐색 워드가 존재하지 않는 경우에 상기 데이터 레코드의 순위를 결정하지 않는 단계;
- 상기 사용자 입력이 집의 번지를 포함하는 경우에, 이러한 것이 상기 거리 이름 전이나 후에 존재하여야 하며, 상기 사용자 입력이 집의 번지를 포함하지 않는 경우에, 상기 매칭하는 데이터 레코드의 순위가 결정되지 않는다.
- 탐색 중심이 존재하는 경우에, 상기 탐색 중심에 비교적 인접해 있는 데이터 레코드들에 대한 페널티들을 억제하거나, 상기 탐색 중심에 비교적 멀리 떨어져 있는 데이터 레코드들에 대한 페널티들을 증가시키는 것을 수행하거나, 이들 양자 모두를 수행하도록 상기 페널티들 중 하나 이상을 조정하는 단계. 이는 인접해 있는 매치들에 대해 높은 우선순위를 제공하는 것이다. 예를 들면, 사용자가 "centraal station"을 탐색하고 "centraal station Amsterdam"(central station Amsterdam)라 불리는 거리에 인접해 있는 경우에, "central station"이라 불리는 거리가 존재하는 영국에서 사용자가 정확한 매치를 탐색할 가능성이 거의 없다. 그러므로, 먼저 인접해 있는 탐색 결과를 보여주는 것이 하는 것이 좋다.
- 거주지의 중심과의 워드 매치가 존재하는 것이 가능하다면, 거주지의 중심의 크기 및 탐색 중심으로부터 거주지의 중심 거리에 의존하여, 거주지의 중심과의 워드 매치가 존재하는 경우에 상기 스코어에 보너스를 추가하는 단계;
를 포함한다.
상기 매칭하는 레코드가 관심 지점(point of interest; POI)을 나타내는 경우에, 주소를 나타내는 레코드에 대한 순위결정 스코어를 계산하는 것은
- 상기 POI의 이름, 상기 POI의 상표 이름 또는 POI 카테고리를 나타내는 데이터 레코드의 컴포넌트들 중 하나에 포함되어 있는 상기 인덱스의 워드에 대해 매칭되는 탐색 워드가 존재하지 않는 경우에, 상기 데이터 레코드의 순위를 결정하지 않는 단계;
- 탐색 중심이 존재하는 경우에, 탐색 워드와 매칭되는 워드가 존재하는 컴포넌트 내에 포함되어 있는 각각의 매칭되지 않은 워드에 대한 페널티를 상기 스코어로부터 감산하지 않는 단계로서, 이러한 방식으로 상기 거리에 순위결정에 대한 중요한 가중치가 제공되는, 단계;
- 어떠한 탐색 중심도 존재하지 않는 경우에, 탐색 워드와 매칭하는 워드가 존재하는 POI의 이름 또는 POI의 상표 이름을 나타내는 상기 데이터 레코드의 컴포넌트 내에 포함되어 있는 각각의 매칭되지 않은 워드에 대한 페널티를 상기 스코어로부터 감산하는 단계로서, 이러한 페널티들은 함께 가산되지 않지만, 양자 모두로부터의 최소가 총 매칭되지 않은 워드 페널티로서 취급되는 단계;
- 어떠한 탐색 중심도 존재하지 않는 경우에, 상기 POI의 이름 또는 상기 POI의 상표 이름 내에 포함되어 있는 상기 인덱스의 워드에 대해 매칭되는 탐색 워드가 존재하는 않는 경우의 페널티를 상기 스코어로부터 감산하는 단계로서, 이는 이름 또는 상표 이름 상에서 양호한 매치를 지니는 다른 매치들의 순위가 높게 결정되는 것을 보장하는 것인, 단계;
를 포함한다.
위에서는 내비게이션 기기(200)가 사용자 입력으로부터의 목적지 정보를 결정하게끔 수행하도록 구성되는 프로세스들이 기재되어 있다. 자유 텍스트 탐색은 안내 탐색에 필요한 복수 개의 프롬프트들을 회피한다. 그 외에도, 상기 인덱스의 사용은 트리 기반 자유 텍스트 탐색에 필요한 추가 계산 요구들을 회피한다.
복수 개의 인덱스들이 제공되고, 특정 타입들의 내비게이트 가능 목적지들, 예컨대 주소들 및 POI들에 관련된 정보를 각각의 데이터베이스가 포함하는 경우에, 당업자라면 각각의 인덱스가 개별적으로 질의되어야 함을 알 수 있을 것이다. 몇몇 실시 예들에서는, 양자 모두의 인덱스들(결과적으로는 연관된 데이터 레코드들)이 병렬로 탐색될 수 있다. 그러나, 이동 기기들 상에서 찾아 볼 수 있게 되는 것이 전형적인 프로세싱 제한들 때문에, 상기 인덱스들은 종종 차례로 탐색될 필요가 있게 된다. 몇몇 실시 예들에서는, 상기 "주소" 인덱스가 기본적으로 처음 탐색된 다음에, "POI" 인덱스가 탐색되는데, 이것이 의미하는 것은 상기 POI 결과들 전에, 상기 기기상에서 상기 주소 결과들이 상기 기기에서 먼저 나타나게 된다는 것을 의미한다. 그러나, 이는, 사용자가 아마도 주소보다는 오히려 POI를 탐색하는 것이 경험적 지식을 통해 나타나게 되는 경우 특정한 상황들에서 역으로 될 수 있다.
상기 탐색의 속도를 부가적으로 높이기 위해, 그리고 위에서 간단히 언급한 바와 같이, 복수 개의 인덱스들은 연관된 디지털 맵에 의해 표현되는 전체 지리적인 구역에 내재하는 특정한 지리적인 지역들에 대해 생성될 수 있다. 예를 들면, 상기 디지털 맵이 유럽을 나타내는 경우에, 유럽에 내재하는 각각의 나라에 대한 인덱스가 생성될 수 있다. 마찬가지로, 상기 디지털 맵이 미국을 나타낼 수 있는 경우에, 미국에 내재하는 각각의 주에 대한 인덱스가 생성될 수 있다. 이는 상기 탐색의 속도를 높일 수 있는데, 그 이유는 예를 들면 몇몇 인덱스들이 탐색될 문자들의 특정 조합을 포함하지 않는 경우에 상기 몇몇 인덱스들이 상기 탐색으로부터 배제될 수 있기 때문이다. 예를 들면, 상기 사용자가 탐색 입력 스트링 내에 "00"으로 타이핑할 경우에, 단지 데이터베이스들의 부분집합만이 이러한 조합으로 시작되는 엔트리들을 포함하는 것으로 찾아지게 될 수 있다. 이러한 데이터베이스들은 플래그될 수 있으며, 그리고나서 세 번째 문자가 타이핑될 때, 단지 데이터베이스들의 부분집합만이 탐색될 필요가 있다. 각각의 인덱스에 연관된 부가적인 파일은 상기 데이터베이스에 존재하거나 상기 데이터베이스에 존재하지 않는 특정한 문자 조합들을 식별하도록 저장될 수 있다. 이러한 사이드 파일은 이때 먼저 차후 탐색으로부터의 특정 인덱스들을 포함하거나 차후 탐색으로부터 특정 인덱스들을 배제하도록 탐색될 수 있다.
탐색 제안들을 포함하는 자유 텍스트 탐색 사용자 인터페이스
본 발명의 실시태양들의 실시 예들에서는 사용자 입력 자유 텍스트 탐색 스트링에 기반하여 선택가능한 탐색 제안들을 생성 및 디스플레이함으로써 위치들의 데이터 레포지토리를 사용자가 탐색하는 것을 용이하게 하는 내비게이션 기기(200)와 같은 전자 기기 및 내비게이션 기기(200)를 동작시키는 방법 및 컴퓨터 소프트웨어 생성물이 제공된다. 수행되는 탐색은 위에서 개략적으로 기재한 대표적인 실시 예들과 같은 본 발명의 다른 실시태양들의 자유 텍스트 탐색 엔진을 사용하는 것일 수 있다.
탐색 질의의 생성 동안 사용자 입력에 응답하여 선택가능한 탐색 제안들을 제공함으로써, 사용자가 단일 라인 탐색 사용자 인터페이스를 사용하여 위치, 지점 또는 주소를 용이하게 찾아내는 것을 허용하는 신속하고 정확한 탐색이 수행된다. 사용자 입력이 입력됨에 따라 제안들 및 탐색 결과들이 보이게 되기 때문에 사용자 경험이 개선된다.
도 7을 지금부터 참조하면, 기기(200)의 메모리(230)는 사용자가 데이터 레코드들을 탐색하는 것을 용이하게 하는 명령어들로서 다음과 같은 단계들을 수행하는 명령어들을 포함하는 컴퓨터 프로그램 생성물을 포함한다. 자유 텍스트 탐색 스트링이 상기 기기의 사용자에 의해 입력됨에 따라 상기 탐색 스트링이 모니터링된다(701). 이때, 상기 탐색 스트링이 입력됨에 따라 상기 탐색 스트링에 기반하여, 데이터 레포지토리가 매칭하는 레코드들에 대해 질의를 받고(702); 상기 탐색을 조정하도록 사용자에 의해 선택가능한 제안들이 생성된다(703). 단계 702에서 수행되는 데이터 레포지토리의 질의는 도 6과 관련하여 위에 기재한 자유 텍스트 탐색 엔진을 사용함으로써 이루어질 수 있다. 임의의 매칭하는 레코드들 및 제안들 중 적어도 일부가 상기 디스플레이(240) 상에 디스플레이된다(704). 매칭하는 제안의 선택(705)을 나타내는 사용자 입력의 수신에 응답하여, 상기 탐색이 상기 제안에 따라 조정되며 상기 탐색 질의(702)가 다시 실행된다. 매칭하는 레코드의 선택(706)을 나타내는 사용자 입력의 수신에 응답하여, 상기 프로세스는 탈출하고, 이와는 달리 자유 텍스트 탐색 스트링(707)에 관련한 사용자 입력의 수신에 응답하여, 상기 프로세스는 시작으로 루프백된다.
상기 기기(200)의 사용자 동작이 위의 탐색 기능을 구현하는 것을 가능하게 하기 위해, 상기 메모리(230)는 사용자에게 사용자 인터페이스를 제공하도록 하는 명령어들을 포함한다. 도 8에는 한 실시 예에 따른 탐색 동작 동안 디스플레이되는 한 전형적인 사용자 인터페이스(800)의 외관이 도시되어 있다.
도 8을 참조하면, 상기 사용자 인터페이스는 탐색을 위한 사용자 입력을 수신하는 제1 뷰(810), 상기 탐색 결과들이 전체 리스트 뷰로 디스플레이되는 상기 제1 뷰에 상응하는 제2 뷰(820), 및 상기 탐색 결과들이 디지털 맵에 관련하여 디스플레이되는 제3 뷰(830)를 포함한다(상기 맵 뷰(830)의 좀더 구체적인 설명이 본원에서 차후에 기재될 것이다).
상기 사용자 입력 뷰(810)는,
- 선택된 경우에 캐럿(caret), 또는 텍스트 입력 커서를 디스플레이하는 사용자 입력 자유 텍스트 탐색 스트링을 수신하는 입력 박스(811);
- 가상 키보드(812)를 사용하여 입력된 텍스트가 상기 캐럿의 좌측에 디스플레이되도록 입력 박스(801)가 선택되거나 활성 상태일 때 나타나는 가상 키보드(812)(간결성을 위해 개별 키들이 도시되지 않음)로서, 상기 기기(200)는 사용자가 상기 입력 박스 내에 문자들을 타이핑하여 상기 탐색 스트링을 생성하도록 상기 가상 키보드(812)와 상호작용하는데 사용할 수 있는 터치 감응식 스크린 오버레이를 포함하는, 가상 키보드(812);
- 현재 탐색 질의와 매칭되는 주소들을 및 현재 탐색 질의에 기반한 주소들에 관련된 탐색 제안들을 나타내는 순위결정된 데이터 레코드들을 나타내는 선택가능한 GUI 요소들을 디스플레이하는 제1 칼럼(813);
- 현재 탐색 질의와 매칭되는 POI들 및 현재 탐색 질의에 기반한 POI들에 관련된 탐색 제안들을 나타내는 순위결정된 데이터 레코드들을 나타내는 선택가능한 GUI 요소들을 디스플레이하는 제2 칼럼(814);
- 상기 탐색 결과들 및 탐색 제안들이 스크롤 가능 리스트로서 전부 도시되는 리스트 뷰(820)에 상기 뷰가 토클링되도록 상기 가상 키보드(812)가 닫히고/열리게 되는 선택가능한 버튼(815);
- 현재 탐색 중심의 표시를 나타내는 사용자 입력 박스(811)의 우측에 대한 선택가능한 GUI 요소(816);
- 다른 한 기기에 의해 수행되는 탐색에 의해 찾아볼 수 있게 되는 결과들을 획득하도록 무선 접속을 통해 질의를 전송하는 선택가능한 GUI 요소(817)로서, 이러한 선택은 단지 상기 내비게이션 기기(200)가 무선 동작용으로 적절히 작동되었고 무선 접속이 이용가능한 경우에만 이용가능하게 되고, 상기 무선 접속을 통해 수신되는 결과들은 새로운 리스트 뷰로서 보이게 되며(다시 말하면 결과들이 온 보드 결과들로 병합되지 않으며) 상기 결과들이 입력됨에 따라 보이게 되고, 버튼을 다시 누름으로써 (상기 기기의 온-보드로부터의) 정적 결과들이 다시 보이게 되는, 선택가능한 GUI 요소(817);
중의 하나 이상을 포함한다.
상기 제1 및 제2 칼럼들(813, 814)은 예를 들면 매칭하는 데이터 레코드들 및 탐색 제안들이 숙독될 수 있도록 사용자가 상기 디스플레이 상에서 스와이프 또는 드래그 제스처를 수행함으로써 함께 또는 개별적으로 스크롤가능하다.
상기 리스트 뷰(820)는 상기 입력 뷰(810)로부터의 GUI 요소들 대부분을 포함하며, 추가로 상기 리스트 뷰(820) 및 맵뷰(830) 간에 토클링하기 위한 선택가능한 GUI 요소(818)를 포함한다. 맵뷰에 대한 토클링은 제1 및 제2 칼럼들(813, 814)에서 디스플레이되는 주소 및 POI 탐색 결과들의 위치들이 상기 디스플레이 상에 디스플레이되는 디지털 맵 상에 표시되게 한다. 이하에서 좀더 구체적으로 설명되겠지만, 서로 다른 돌기 레벨들을 지니는 복수 개의 GUI 요소들 중 하나는 상기 탐색 결과들의 위치들을 나타내는데 사용된다. 상기 GUI 요소들의 하나 이상은 상기 결과들에 대한 많은 정보를 사용자에게 제공하도록 선택가능하다.
어떠한 탐색 스트링도 상기 입력 박스(811) 내에 입력되지 않도록 상기 사용자 인터페이스(800)가 먼저 입력 뷰(810) 또는 리스트 뷰(820)에 디스플레이될 경우에, (최근 주소 목적지들, 거리 순서화된 즐겨찾기들 및 최근 POI들과 같은) 기본 주소들 및 POI들에 상응하는 데이터 레코드들을 나타내는 GUI 요소들이 칼럼들(813, 814)에 도시되어 있다. 메모리(230)에 저장되는 온보드 위치 데이터 레코드들의 모니터링되는, '실-시간' 탐색은 3개보다 많은 문자들이 입력 박스(811) 내에 입력될 때까지 시작되지 않을 수 있다. 단지 하나 또는 2개의 문자만이 입력된 경우에, 상기 탐색이 위에 기재한 탐색과 유사한 방식으로 단지 기본 주소들 및 POI들만에 관련하여 이루어질 수 있다.
주소 또는 POI에 상응하는 데이터 레코드를 나타내는 칼럼(813 또는 814)에 도시된 GUI 요소의 (예를 들면 상기 터치 스크린상의 사용자 입력 터치에 의한) 선택으로 상기 뷰가 디지털 뷰 상에 표시된 리스트된 탐색 결과들의 위치들을 갖는 맵뷰(830)로 변경된다. 순위결정된 탐색 결과에 연관된 세부레벨에 상응하는 세부 레벨로 상기 맵이 디스플레이되고 디스플레이가 선택된 데이터 레코드를 중심으로 이루어진다.
위에 기재한 바와 같이, 내비게이트 가능 결과로 사용자를 안내하는 것을 돕기 위해, 상기 내비게이션 기기(200)는 사용자가 텍스트를 입력하는 동안 선택가능한 결과들 및 제안들의 혼합을 칼럼들(813, 814)에 제공한다. 사용자 입력 탐색 스트링이 모니터링됨에 따라, 그리고 상기 탐색 결과들 및 제안들이 연속 사이클링 프로세스로 생성됨에 따라, 상기 결과들 및 제안들이 입력 박스(811) 내의 모든 문자 입력 후에 업데이트 및 재현되게 된다. 따라서, 데이터 레포지토리는 매칭하는 데이터 레코드들에 대해 질의를 받고 상기 탐색 스트링 또는 탐색 중심을 채택하도록 각각의 키스트로크 또는 다른 사용자 입력, 및 제안의 각각의 선택에 응답하여 제안들이 생성되며, 그 후에 디스플레이가 임의의 매칭하는 데이터 레코드들 및 생성된 제안들을 디스플레이하도록 업데이트된다. 그 결과들 및 생성된 제안들은,
1. 주소 매치들(이들은 기기상의 맵 인덱스 및 최근 목적지들에서 일부 및 전체 매치들이 존재함)
2. 집계된 거리 매치들(이들은 매우 일반적이고, 부분적으로 타이핑된 텍스트를 전체 거리 이름, 예컨대 High Street, Station Road, Main Street, Church Street 등등으로 대체하는 거리 이름들에 대한 타이핑 지원이 더 존재함)
3. POI 매치들(이들은 기기상의 맵 POI 인덱스, 즐겨찾기들 및 임의의 고객 POI 집합에서 일부 및 전체 매치들임)
4. POI 카테고리 매치들(이들은 탐색의 축소를 허용하는 실제의 제안들임)
5. POI 카테고리 동의어 매치들(이들은 사용자로 하여금 카테고리 워드들의 멘탈 모델(mental model)에 적합한 카테고리 워드들을 사용하는 것을 허용함)
일 수 있다.
상기 제안들 및 상기 결과들 간의 주요한 차이점은 단지 상기 위치 인덱스 매치들로부터의 결과들만이 내비게이트 가능하다는 점이다.
주소 제안들은 실시간 입력 탐색에서 돌아오는 주소 매치들로부터 획득된다. 한 주소 제안은 거리 및/또는 도시 이름의 조합이다.
동일한 거리 이름을 갖는 3개보다 많은 매치들이 존재하는 경우에는, 상기 거리 이름이 동일한 거리 이름들의 집합 위에 보이게 된다. 그러한 제안을 누름으로써 일부 매치가 전체 거리 이름(타이핑 지원) 및 공백으로 대체된다.(입력된 다음 문자(들)는 이때 동일한 거리 이름 매치들의 리스트를 그러한 문자들과 매칭되는 도시들로 축소하여야 한다).
탐색 스트링이 도시 중심 이름과 매칭되는 경우에, 상기 도시 중심은 제안으로서 보이게 된다. 그러한 제안을 누름으로써 탐색 중심이 [선택된 도시 중심]으로(에 관해) 변경된다.
주소 매치를 누름으로써 탐색 중심이 매칭하는 주소로부터 도시 중심으로 변경되고, 거리 이름을 갖는 임의의 탐색 스트링이 매칭하는 주소로부터 거리 이름으로 대체되고 거리 이름 뒤에 공백 + 캐럿이 배치된다(이는 장소에 의존하는데, 예컨대 US 주소 매치는 예를 들어 거리 이름 앞에 공백을 두고 입력 박스 내의 첫 번째 위치에 캐럿을 배치하게 된다. 예를 들면, Oosterdokskade | (in) Amsterdam " 또는 " | Madison avenue (in) New York ").
텍스트가 제안들로 대체되는 경우에는, 상기 인덱스에 존재하는 대문자 및 임의의 특수 문자들이 사용되게 된다.
주소가 현재 국가에 존재하지 않는 경우에, 충분한 부동산이 존재한다면 주소 앞에 국가 플래그가 보이게 된다. 현재 국가는 수신된 GPS 데이터로부터 결정된다.
따라서 주소 제안들은 탐색 스트링과 매칭되는 주소들을 나타내는 데이터 레코드들의 거리 및/또는 거주지 이름들에 기반하여 생성될 수 있다. 거주지 이름을 포함하는 주소 제안의 선택은 GUI 요소(816)에 표시된 탐색 중심을 조정하여 상기 탐색 결과들이 그러한 탐색 중심에 따른 순위로 결정되도록 그러한 거주지에 상응할 수 있다. 거리 이름을 포함하는 주소 제안의 선택으로 상기 탐색 스트링이 거리 이름으로 대체될 수 있다. 거리 이름 및 거주지 이름을 포함하는 주소 제안의 선택 후에, 사용자는 자유 텍스트 탐색 스트링 내에 집의 번지를 입력하도록 프롬프트될 수 있다.
POI 결과들로부터의 POI 제안들의 생성은 이하에서 부연 설명될 것이다.
POI 결과들은 POI 인덱스 매치들 및 POI 카테고리 매치들로 이루어진다. POI 매치들은 이름, 카테고리 및 주소 매치들로 찾아볼 수 있게 된다. 탐색 결과가 POI 인덱스 또는 카테고리 매치를 반환하는 경우에, POI 카테고리 제안은 칼럼(814)에서 디스플레이된다.
사용자의 멘탈 모델이 POI 카테고리들에 대해 사용된 이름 지정 규칙과 일치하지 않을 수 있기 때문에, 주 카테고리 이름들의 POI 카테고리 동의어들의 리스트가 추가된다. 상기 시스템이 동의어에 대한 매치를 지니는 경우에, 결과적인 POI 제안은 POI 동의어가 괄호 내에 보이게 되는 탐색 스트링에서 인식되는 패런트(parent) POI 카테고리 이름을 보여준다. 이는 상기 제안에 콘텍스트를 제공하는데 그 이유는 어떤 경우에 카테고리 이름이 꽤 많이 다르기 때문이다(예컨대 gas station과 petrol station는 꽤 유사하지만, restaurant에 대한 동의어인
Figure 112015111854303-pct00004
가 금방 눈에 띄지 않는다). 상기 POI 제안은 POI(패런트) 카테고리 제안들과 동일한 거동을 보인다.
따라서 POI 제안들은 탐색 스트링과 매칭되는 관심 지점들을 나타내는 데이터 레코드들의 이름들, 카테고리들 및 카테고리들의 동의어들에 기반하여 생성될 수 있다. POI 제안의 선택은 상기 POI 제안의 것과 매칭되는 POI 이름, 카테고리 또는 동의어 POI 카테고리를 지니는 것들만을 포함하도록 상기 질의에 의해 반환되는 데이터 레코드들을 필터링할 수 있다. 예를 들면 데이터 레코드의 특정 컴포넌트에 대한 특정 값의 '필터' 적용은 그러한 컴포넌트에 대한 그러한 특정 값을 지니는 순위결정에 대한 결과들을 탐색이 단지 매치 및 복귀시키는 효과를 가져다준다.
따라서 생성된 제안들은 탐색 프로세스를 용이하게 하는데 사용될 수 있다. 상기 제안들은 탐색 질의의 축소, 사용자 오류의 허용, 및 순위결정의 조정에 도움을 준다. 이러한 방식으로, 사용자는 위치들의 데이터 레코드들을 좀더 넓게, 추론적으로, 그리고 좀더 타깃으로 하는 방식으로 탐색함으로써, 상기 기기(200)의 사용의 유연성이 증가하게 될 수 있다.
하기 표 5에는 결과/제안이 선택될 경우에 수행될 수 있는 동작들이 도시되어 있다.
결과/제안 아이템의 선택시 동작
거리 현재 워드가 선택된 거리 이름으로 대체됨(현재 = 캐럿이 워드 내에 있거나 워드 바로 다음에 존재함)
주소
(거리 + 도시)
현재 입력 텍스트는 전체 거리 이름으로 대체됨. 탐색 중심은 주소 결과로부터 도시로 설정됨.
UI는 주소 입력 전용 모드로 전환하게 됨(주소 입력용 버튼 상태, 어떠한 POI 결과들 또는 제안들도 없음)
전체 주소
(거리 + 도시 + hsn)
도시된 결과들을 갖는 맵뷰로 전환됨. 마커 상의 중심이 눌려진 제안에 상응함. 콘텍스트 밸룬(context balloon)의 개방.
집의 번지(hsn)가 올바른 집의 번지로서 검증될 수 없는 경우에, 거동(behaviour)이 위의 주소 결과와 동일함.
도시 탐색 입력: 현재 입력 텍스트가 제거되고, 탐색 중심이 도시 중심 결과로부터 도시 중심으로 설정됨. 어떠한 추가 텍스트가 입력되지 않는 동안 첫 번째 POI로서 도시 중심을 제공함.
탐색 중심 변경: 선택된 것으로 입력 텍스트를 대체함.
POI 카테고리 (전체, 주요) POI 카테고리 이름으로 현재(부분, 동의어) 워드를 대체하고, 카테고리 이름 상에 강세를 보여줌. 질의에 필터로서 카테고리를 추가함(즉 선택된 카테고리에 대한 POS 탐색 전용)
POI 결과들을 갖는 맵뷰로 전환하고 POI 마커 상의 중심이 눌려진 POI 결과에 상응함. 맵 콘텍스트 밸룬의 개방
이하에는 한 실시 예에 따른 결과들 및 제안들의 디스플레이가 기재되어 있다.
바람직하게는 상기 탐색 스트링에 기반한 조합된 탐색 결과들 및 생성된 제안들이 2개의 칼럼에서 사용자 인터페이스의 사용자 입력 뷰(810) 및 리스트 뷰(820)에 제시되어 있다.
1. 주소 칼럼(813)은 주소(거리 + 맵으로부터의 도시 + 최근 목적지들), 도시 매치들 및 집계된 거리 이름 제안들을 포함한다.
2. POI 칼럼(814)은 POI 이름들, POI 주소들, 제3자 POI 파일들(예컨대, ov2 파일들 또는 .csv 파일들), 즐겨찾기들(이름 + 주소), POI 카테고리 제안들을 포함한다.
바람직하게는, 2개의 정보 라인을 반송(搬送)하는 최소 4개의 GUI 요소가 이용가능한 수직 공간에 맞도록 만들어져야 한다. 일부는 입력 뷰(810) 하부 상에 보여주는 키보드에 의해 보이지 않을 수 있다. 결과들은 칼럼당 순위결정 스코어의 순서로 순위가 결정된다.
리스트 뷰를 가지고 상기 키보드를 닫고/키보드 토글 버튼(815)을 은닉함으로써 전체 결과 리스트가 50개의 내비게이트 가능 결과들(주소 및 POI의 조합) 및 혼합된 다른 제안 타입들로 국한된다.
도 9를 지금부터 참조하면, POI 카테고리 제안이 생성되고 탐색에서 사용되는 경우에 대표적인 기기의 동작의 특정 예가 지금부터 설명될 것이다.
도 9에서는, 사용자 인터페이스의 사용자 입력 뷰가 디스플레이되는데, 여기에서 사용자가 사용자 입력 박스(911) 내에 탐색 스트링 "restaurant amsterdam"을 입력한다. 탐색 결과들 및 제안들은 사용자 입력 박스(911a) 아래에서 주소 칼럼(913a) 및 POI 칼럼(914a)에 나타나게 된다. 상기 탐색 스트링에 기반하여 생성된 POI 카테고리 제안 "restaurant"(915)의 사용자 선택은 상기 POI 카테고리가 상기 탐색 질의에 필터로서 추가되게 하며 상기 필터는 상기 탐색 입력 박스(911b)의 좌측에 GUI 요소(916)로서 나타나게 된다. 상기 POI 카테고리 제안의 선택의 결과로서, 주소 레코드들은 필터링되어 제거되는데 그 이유는 상기 주소 레코드들이 POI들에 상응하지 않음으로써 POI 카테고리 컴포넌트 또는 입력이 없음으로써, 칼럼(913b)이 비어있기 때문이다. 그 반면에, 칼럼(914b)은 상기 필터링된 카테고리 내의 POI 레코드 매치들을 보여준다.
도 10을 지금부터 참조하면, 도시 제안이 생성되어 탐색에 사용되는 경우에 대표적인 기기의 동작의 특정 예가 지금부터 설명될 것이다.
도 10에서는, 사용자 인터페이스의 사용자 입력 뷰가 디스플레이되어 있는데, 여기에서 사용자가 사용자 입력 박스(1011a) 내에 탐색 스트링 "Lond"를 입력한다. 순위결정된 탐색 결과들 및 제안들은 사용자 입력 박스(1011a) 아래에서 주소 칼럼(1013a) 및 POI 칼럼(1014a)에 나타나게 된다. 이는 일부 워드 매치들을 포함하며 "London"에 대한 도시 제안(1015)이 탐색 스트링에 기반하여 생성되고 칼럼(1013a)에 나타난다. 도시 제안(1015)의 사용자 선택으로 (적어도 매칭 워드의) 사용자 입력이 입력 박스(1011)로부터 지워지고 탐색 중심이 참조번호 1016a에서와 같이 "near me"로부터 참조번호 1016b에서와 같이 "in London"으로 변경된다. 도시 제안의 선택의 결과로서, 칼럼들(1013b, 1014b)에 나타나게 되는 주소 및 POI 레코드들은 탐색 중심으로서 London에 기반하여 순위가 결정된다. 도 10의 사용자 입력 박스(1011b)가 비어 있기 때문에, 기본 레코드들은 다시 칼럼(1013b, 1014b)에 나타나게 되고, 탐색 중심으로서 London을 가지는 이러한 시점으로 순위가 결정된다. 입력 박스(1011b) 내로 부가적인 텍스트 입력을 입력하는 것은 칼럼(1013b, 1014b)에 디스플레이될 그러한 입력에 기반한 입력 및 제안들이 상기 탐색 중심으로서 London을 가지고 순위가 결정되는 주소 및 POI 레코드들의 매칭을 일으킨다.
도 11을 지금부터 참조하면, 주소 제안이 생성되고 탐색에서 사용되는 경우에 대표적인 기기의 동작의 특정 예가 지금부터 설명될 것이다.
도 11에서는, 상기 사용자 인터페이스의 사용자 입력 뷰가 디스플레이되는데, 여기에서 사용자는 사용자 입력 박스(1111a) 내에 탐색 스트링 "oosterd"를 입력한다. 순위결정된 탐색 결과들 및 제안들은 상기 사용자 입력 박스(1111a) 아래에서 주소 칼럼(1113a) 및 POI 칼럼(1114a)에 나타나게 된다. 이는 상기 탐색 스트링에 기반하여 일부 워드 매치들 및 제안들을 포함한다. 상기 탐색 스트링이 Oosterdoksstraat in Amsterdam에 관한 복수 개의 주소 레코드들과 일부 매칭됨에 따라, "Oosterdoksstraat in Amsterdam"에 대한 일부 주소 제안(1115)이 상기 탐색 스트링에 기반하여 생성되며 칼럼(1113a)에 나타나게 된다. 상기 일부 주소 제안(11150)의 사용자 선택으로 전체 거리의 이름 "Oosterdoksstraat"가 상기 탐색 스트링의 일부를 형성하도록 상기 입력 박스(1111b) 내 상기 캐럿의 좌측에 삽입되고 상기 탐색 중심이 참조번호 1116a에서와 같은 "near me"로부터 참조번호 1116b에서와 같은 "in Amsterdam"으로 변경된다. 바람직하게는, 특정 거리 레벨에 이르기까지 일부 주소 제안의 선택 결과로서, 탐색 결과들 및 제안들이 더 이상 디스플레이되지 않도록 상기 칼럼들(1113a, 1114a)이 제거된다(그 이유는 상기 탐색이 현재 충분히 특정되어 있기 때문이다). 그 대신에, 상기 키보드는 사용자가 집의 번지를 삽입하는 것을 허용하도록 숫자 레이아웃으로 변경되고 다수의 주소-특정 제안들(1119)은 "여기로 운전(drive here)"(다시 말하면, 집의 번지를 갖는/갖지 않는 거리에 대한 경로), "교차로 추가(add crossing)"(예컨대, 집의 번지가 알려져 있지 않은 경우에 유용함) 및 "맵뷰(view on map)"를 포함하는 것으로 보이게 된다. 그 반면에, 상기 주소 제안이 복수 개의 거리들과 매칭되는 경우에, 상기 탐색 결과들 및 제안들이 계속 칼럼들(1113, 1114)에서 보이게 될 수 있다.
맵 뷰
본 발명의 실시태양들의 실시 예들에는 디스플레이 상에 디스플레이되는 디지털 맵의 표현상에 서로 다른 돌출 레벨들의 GUI 요소들을 제공하여 사용자가 복수 개의 위치들을 리뷰하는 것을 용이하게 하는 내비게이션 기기(200)와 같은 전자 기기, 및 내비게이션 기기(200)를 동작시키는 방법 및 컴퓨터 소프트웨어 생성물이 제공되어 있다. 상기 복수 개의 위치들은 예를 들면 제안들을 사용하여 위에 설명한 자유 텍스트 탐색과 같은 목적지 탐색 결과들의 집합을 나타낼 수 있다. 상기 복수 개의 위치들은 또한 현재 교통 이벤트들, 기상 이벤트들 등등의 집합을 나타낼 수 있다.
상기 디스플레이 상에 디스플레이되는 디지털 맵의 표현상에 복수 개의 위치들을 나타내도록 서로 다른 돌출 레벨들의 GUI 요소들을 제공함으로써, 사용자에게는 디지털 맵 상에서 그러한 위치들을 리뷰하는 것이 용이하게 된다.
한 전형적인 실시 예에서는, 전자 기기(200)가 메모리(230) 내에 디지털 맵을 나타내는 데이터 및 상기 디지털 맵에 관련된 (탐색 결과들과 같은) 복수 개의 위치들을 나타내는 데이터에 관련하여, 상기 전자 기기로 하여금 맵뷰(830)에서와 같은 상기 디스플레이 상에 디스플레이되는 디지털 맵의 표현을 통해 상기 위치들 각각에 대해 상기 위치들을 나타내도록 서로 다른 돌출 레벨들에 의해 특징화되는 복수 개의 서로 다른 그래픽 사용자 인터페이스(graphical user interface; GUI) 요소들 중 하나를 제공하게 하는 컴퓨터 프로그램 생성물을 저장한다. 각각의 위치에 대해 사용되는 상기 GUI 요소의 돌출 레벨은 상기 디지털 맵이 디스플레이되게 하는 세부 레벨 및 사용자 질의에 대한 그러한 위치의 예상 관련성에 의존한다.
상기 디지털 맵의 디스플레이된 세부 레벨 및 사용자 질의에 대한 위치의 예상 관련성에 기반한 표시된 위치들에 대한 GUI 요소들의 선택은 사용자가 정보를 요약할 수 있고 맵뷰에서 사용자의 질의에 대한 서로 다른 위치들의 관련성을 이해할 수 있는 능력을 대단히 향상시킨다. 이는 또한 사용자가 잠재적으로 매우 많은 위치들의 맵뷰와 직관적으로 상호작용할 수 있는 능력을 용이하게 해준다. 특히, 돌출 레벨들을 감소시키는 용도로 대다수의 탐색 결과들이 비-혼란 및 비-혼잡 방식으로 맵뷰 상에 보이게 될 수 있다. 도 12에는 상기 실시 예에 따라 생성된 전형적인 맵 뷰가 도시되어 있는데, 여기에서는 자유 텍스트 탐색의 내비게이트 가능 결과들이 상기 맵뷰에 나타나게 된다.
도 12로부터 볼 수 있는 바와 같이, 증가된 돌출 레벨들에서의 GUI 요소들이 상기 디스플레이에서의 증가된 시각적 돌출; 증가된 불투명; 위치에 관련된 증가된 정보; 사용자 상호작용을 가능하게 하는 증가된 사용자 인터페이스 기능; 중의 하나 이상을 제공한다. 예를 들면, 도 12에 도시된 바와 같이, 최소 돌출에서부터 최대 돌출에 이르기까지의 GUI 요소들의 전형적인 범위는 반투명한 도트, 덜 투명한 도트, 불투명한 도트, 마커, 굵은 마커이다. 돌출 레벨들의 증가는 상호작용 레벨들의 증가를 제공할 수 있다. 예를 들면, 단지 2개의 최대 돌출 GUI 요소만이 또한 사용자에게 선택가능한 기능들을 제공하도록 선택가능할 수 있는 동안, 단지 3개의 최대 돌출 GUI 요소들이 사용자에 의해 선택가능함으로써 표시되는 탐색 결과에 대한 부가적인 정보를 디스플레이하도록 단지 3개의 최대 돌출 GUI 요소들이 사용자에 의해 선택가능할 수 있다.
상기 위치들은 사용자 질의에 대한 상기 위치들의 관련성에 의해 그룹들로 분할될 수 있고, 각각의 그룹은 상기 디지털 맵에 대한 개별적인 세부 레벨에 연관될 수 있다. 상기 위치들의 그룹화 및 그러한 그룹들에 대한 연관된 개별적인 세부 레벨들의 할당은 상기 위치들의 개수; 상기 위치들의 분포; 사용자 질의에 대한 위치들의 예상 관련성; 최소 경계 박스에서 상기 위치들의 가능한 그룹화들을 포함하는데 필요한 세부 레벨; 최대로 가능한 세부 레벨들의 범위; 최대 관련 그룹에서 설정된 위치 개수; 설정된 그룹 개수; 각각의 그룹에서 설정된 위치 개수; 중의 하나 이상에 기반하여 수행될 수 있다.
상기 예에서는, 자유 텍스트 탐색에 의해 반환되는 50개의 내비게이트 가능 위치가 순위결정들 또는 스코어들의 범위에 걸쳐 있는 5개의 동일한 그룹으로 분할된다. 이러한 경우에, 각각의 그룹이 크기 면에서 동일하게, 다시 말하면 10개의 위치를 포함하도록 선택된다. 그러나, 다른 유리한 그룹화 크기 및 배정이 채택될 수 있다.
각각의 그룹은 최대 관련성에서부터 최소 관련성에 이르기까지 점진적으로 높아지는 세부 레벨들에 연관된다. (맵뷰(830)가 초기에 선택 토글 버튼(818) 상에 디스플레이되게 하는) 디지털 맵에 대한 기본 세부 레벨은 최대 관련성 있는 위치 그룹의 위치들을 포함하는 최소 경계 박스에 기반하여 정의된다. 따라서, 상기 예에서는 10개의 제1 그룹 결과를 디스플레이하는 경계 박스가 맵뷰(830)에 디스플레이되며 그러한 맵뷰에 대한 디지털 맵의 줌 레벨에 대해 보이게 되는 상응하는 세부 레벨이 최대 관련성 있는 그룹에 연관된 기본 세부 레벨로서 설정된다. 높은 줌 레벨들에서는, 전형적으로 디지털 맵의 높은 세부 레벨이 보이게 된다.
예를 들면, 최대 관련성 있는 결과 그룹이 단일 거리에서 10개의 결과로 이루어지는 경우에, 상기 맵은 초기에 최대 세부 레벨을 보여줌으로써 그러한 10개의 결과를 그러한 거리상에 구분짓도록 줌인된 것으로 보이게 되며, 상기 거리에서 최대 관련성 있는 결과들 각각이 10개의 마커로 보이게 되고 상기 거리상의 다른 어떤 결과들이 도트들로서 보이게 된다. 마찬가지로, 최대 관련성 있는 그룹이 유럽에 걸쳐 있는 10개의 결과로 이루어지는 경우에, 상기 맵은 초기에 처음 10개의 결과를 마커들로서 보여주고 나머지를 도트들로서 보여줌으로써 그러한 결과들을 최소 세부 레벨로 구분짓도록 줌아웃된 것으로 보이게 된다.
관련성이 감소되는 각각의 위치 그룹은 이때 기본 세부 레벨에 비해 증가하는 세부 레벨들에 연관된다. 상기 맵은 초기에 기본 세부 레벨에 디스플레이될 수 있으며, 상기 기본 세부 레벨보다 높은 세부 레벨들에 연관된 그룹들에 속하는 위치들이 점진적으로 관련성이 적은 그룹들에 대해 점진적으로 낮은 돌출 레벨들을 지니는 GUI 요소들로 표시될 수 있다.
상기 예에서는, 상기 맵이 기본 세부 레벨로 디스플레이되는 경우에, 5개의 서로 다른 GUI 요소는 각각의 그룹이 10개의 탐색 결과들로 이루어진 5개의 그룹의 위치들을 다음과 같이 나타내는데 사용될 수 있다.
- 50-41 순위로 결정된 결과들의 그룹 - 반-투명한 도트
- 40-31 순위로 결정된 결과들의 그룹 - 덜 투명한 도트
- 30-21 순위로 결정된 결과들의 그룹 - 불투명한 도트
- 20-11 순위로 결정된 결과들의 그룹 - 마커
- 10-1 순위로 결정된 결과들의 그룹 - 굵은 마커
따라서, 기본 세부 레벨과 같은 소정의 세부 레벨에서는, 비교적 낮은 돌출 레벨을 지니는 GUI 요소들이 사용자 질의에 관련성이 적은 것으로 예상되는 것으로 복수 개의 위치들의 위치들을 나타내는데 사용되는 반면에, 비교적 높은 돌출 레벨을 지니는 GUI 요소들은 사용자 질의에 관련성이 많은 것으로 예상되는 것으로 복수 개의 위치들을 나타내는데 사용된다.
또한, 상기 디지털 맵이 소정의 세부 레벨로 디스플레이되는 경우에, 디스플레이된 세부 레벨보다 높은 세부 레벨들에 연관된 그룹들에 속하는 위치들이 점진적으로 관련성이 적은 그룹들에 대해 점진적으로 낮은 돌출 레벨들을 지니는 GUI 요소들로 표시된다.
상기 디지털 맵이 디스플레이되게 하는 세부 레벨이 증가 또는 감소될 경우에, 소정의 위치를 나타내는데 사용된 GUI 요소는 이용가능한 높거나 낮은 돌출 레벨로 각각 변환될 수 있다.
예를 들면, 사용자 입력에 응답하여, 상기 디지털 맵이 시작 세부 레벨에서부터 다음으로 관련성이 많은 그룹에 연관된 끝 세부 레벨에 이르기까지 주밍될 경우에, 각각의 그룹의 위치들을 나타내는데 사용되는 GUI 요소들은 다음으로 이용가능한 돌출 레벨에 이르기까지 증가될 수 있다. 위의 예에서는, 상기 디지털 맵이 20-11 순위로 결정된 결과들의 그룹에 연관된 세부 레벨로 나타나게 되도록 (기본 세부 레벨에서) 초기 뷰로부터 상기 맵을 주밍하는 것은 위치 그룹들이 GUI 요소들을 사용하여 상기 맵 상에 다음과 같이 표시되게 한다.
- 50-41 순위로 결정된 결과들의 그룹 - 덜 투명한 도트
- 40-31 순위로 결정된 결과들의 그룹 - 불투명한 도트
- 30-21 순위로 결정된 결과들의 그룹 - 마커
- 20-11 순위로 결정된 결과들의 그룹 - 굵은 마커
- 10-1 순위로 결정된 결과들의 그룹 - 굵은 마커
여기서 유념할 점은 디스플레이된 세부 레벨보다 낮은 세부 레벨들에 연관된 그룹에 속하는 위치들이 최대 돌출 레벨을 지니는 GUI 요소로 표시될 수 있다는 점이다. 위의 예에서는, 20-11 및 10-1 순위로 결정된 결과들의 그룹들이 굵은 마커를 사용하여 표시된다.
그 결과는 상기 맵이 줌인되고 높은 세부 레벨들이 보이게 됨에 따라 탐색 결과들이 더 돌출되게 표시된다. 그러나, 이는 탐색 결과들이 적게 보이게 됨으로써 완화된다. 물론, 보이지 않는 탐색 결과들은 상기 맵이 터치 스크린 상에서 드래그(drag)하거나 스와이프(swipe)함으로써 패닝(panning)되는 경우에 보이게 될 수 있다. 맵뷰의 패닝 및 주밍은 상기 탐색 질의에나 또는 디스플레이된 결과들에 영향을 주지 않는다. 다시 말하면 이러한 것들은 동일하게 유지된다.
마찬가지로, 사용자 입력에 응답하여, 상기 디지털 맵이 시작 세부 레벨에서부터 다음으로 관련성이 적은 그룹에 연관된 끝 세부 레벨에 이르기까지 주밍될 경우에, 각각의 그룹의 위치들을 나타내는데 사용되는 GUI 요소들은 다음으로 이용가능한 돌출 레벨로 감소될 수 있다. 위의 예에서는, 20-11 순위로 결정된 결과들의 그룹에 연관된 세부 레벨로부터 다시 기본 세부 레벨로 상기 맵을 줌아웃함으로써 위치들의 그룹들이 초기 맵 뷰에서 사용된 GUI 요소들을 사용하여 상기 맵 상에 다시 표시되게 된다.
임의로 주어진 세부 레벨에 대해, 복수 개의 위치들의 최소 개수가 최대 돌출 레벨을 지니는 GUI 요소에 의해 표시될 수 있다. 예를 들면, 상기 맵이 상기 기본 세부 레벨로부터 훨씬 낮은 세부 레벨로 줌아웃되는 경우에, 최대 관련성 있는 결과 그룹이 여전히 상기 굵은 마커를 사용하여 표시될 수 있다.
부가적인 예시를 위해, 도 13에는 사용자 질의에 대한 관련성에 따른 20개의 그룹들로의 자유 텍스트 탐색의 100개의 결과의 순위결정된 리스트의 전형적인 분할 및 그러한 그룹들을 디지털 맵의 세부 레벨들에 연관시키는 것이 도시되어 있다. 최고로 순위결정된 그룹(1303a)은 14-17로부터의 상기 디지털 맵의 기본 세부 레벨들에 연관된다. 두 번째 최고로 순위결정된 그룹(1303b)은 10-13으로부터의 상기 디지털 맵의 세부 레벨들에 연관된다. 세 번째 최고로 순위결정된 그룹(1303b)은 7-9로부터의 상기 디지털 맵의 세부 레벨들에 연관된다. 네 번째 및 다섯 번째 최고로 순위결정된 그룹들은 간결성을 위해 본 설명에서 생략된다.
상기 맵의 뷰(1305a)는 기본 세부 레벨들(즉, 14, 15, 16 또는 17) 중 하나로 상기 맵을 보여준 것이다. 여기서, 최고로 순위결정된 그룹(1303a)에서의 결과들의 위치들은 상호작용 마커로 표시되어 있지만, 두 번째 최고로 순위결정된 그룹(1303b)에서의 결과들의 위치들이 흑색의 불투명한 마커로 표시되어 있고 세 번째 최고로 순위결정된 그룹(1303c)에서의 결과들의 위치들이 회색의 반-불투명한 마커로 표시되어 있다.
상기 맵의 뷰(1305b)는 두 번째 최고로 순위결정된 그룹(1303b)(다시 말하면, 10, 11, 12 또는 13)에 연관된 세부 레벨로 줌인된 맵을 보여준 것이다. 볼 수 있는 바와 같이, 상기 최고로 순위결정된 그룹(1303a) 및 상기 두 번째 최고로 순위결정된 그룹(1303b)에서의 결과들의 위치들은 현재 상호작용 마커로 표시되어 있지만, 상기 세 번째 최고로 순위결정된 그룹(1303b)에서의 결과들의 위치들은 현재 흑색의 불투명한 마커로 표시되어 있다.
상기 맵의 뷰(1305c)는 상기 세 번째 최대로 순위결정된 그룹(1303c)(다시 말하면, 7, 8 또는 9)에 연관된 세부 레벨로 줌인된 맵을 보여준 것이다. 볼 수 있는 바와 같이, 상기 최고로 순위결정된 그룹(1303a), 상기 두 번째 최고로 순위결정된 그룹(1303b) 및 상기 세 번째 최고로 순위결정된 그룹(1303c)에서의 결과들의 위치들은 현재 상호작용 마커로 표시되어 있다.
물론, 상기 위치들의 그룹화는 필요하지 않으며 위치를 나타내는데 어느 GUI 요소를 사용해야 하는지에 대한 결정이 상기 맵의 세부 레벨 및 사용자 질의에 대한 상기 위치의 관련성에 기반하여 다른 어떤 적합한 방식으로 이루어질 수 있다.
상기 위치들은 주소들 및 관심 지점들 중 하나 이상을 포함하는 목적지들; 사고들, 정체들, 도로 폐쇄들, 도로 공사들, 제한들, 교통량들 및 폐쇄 차선들 중 하나 이상을 포함하는 교통 이벤트들; 및/또는 홍수, 눈, 얼음, 안개, 불리한 도로 조건들 중 하나 이상을 포함하는 기상 이벤트들을 나타낼 수 있다.
위에서 기재한 바와 같이, 기기(200)는 자유 텍스트 탐색 엔진을 포함하며 상기 복수 개의 위치들은 자유 텍스트 탐색 질의의 프로세싱에 응답하여 복귀되는 주소들 및 관심 지점들 중 하나 이상을 포함하는 내비게이트 가능 목적지들일 수 있다.
상기 기기(200)는 사용자 또는 기기에 의해 생성된 질의에 관련된 현재 교통 이벤트들을 나타내는 위치들을 복귀하도록 동작가능한 교통 이벤트 엔진을 부가적으로 포함할 수 있다. 상기 교통 이벤트 질의는 탐색 중심, 상기 기기의 현재 위치 또는 경로에 인접하거나, 또는 상기 디지털 맵의 사용자 특정 구역에서 인접한 교통 이벤트들에 대한 것이다.
예를 들면, 사용자 질의가 예컨대, 사용자의 경로에 영향을 주는 교통 사고들을 보여주는 맵뷰를 디스플레이하는 것일 경우에, 위에서 기재한 맵뷰는 매우 유용한데, 그 이유는 상기 교통 엔진으로부터 상기 기기(200)에 이용가능한 교통 정보가 달리 상기 디스플레이를 난잡하게 하겠지만 매우 조밀하고 풍족할 수 있기 때문이다. 상기 디지털 맵이 디스플레이되게 하고, 사용자 질의에 대한 교통 사고(예컨대, 사용자 경로에 대한 영향)의 관련성에 기반하여 교통 사고들을 나타내는데 선택되는 GUI 요소들을 사용함으로써, 상기 맵뷰 상의 그러한 데이터의 시각화가 난잡해지지 않을 수 있으며 요약하기 쉽고 그리고 사용자가 이해하고 상호작용하는데 직관적일 수 있다.
도 14를 지금부터 참조하면, 도 14에는 출발 위치(1403)에서부터 목적지(1405)에 이르기까지의 사용자 경로의 맵뷰(1401), 및 위치들이 상기 맵뷰의 세부 레벨 및 사용자 경로에 대한 각각의 사고의 관련성에 의존하여 선택되는 서로 다른 돌출 레벨들을 지니는 GUI 요소들을 사용하여 표시되는 교통 사고들의 횟수가 도시되어 있다.
상기 맵을 살펴보면, 사용자는 어떤 교통 사고들이 자신의 경로에 중요한지를 즉시 이해하여야 한다. 그러므로, 경로(1407)(또는 심지어는 우회 경로(1409))에 영향을 주는 교통 사고들은 이들의 위치를 나타내도록 좀더 현저한 돌출 GUI 요소들을 사용하여 강조된다. 다시 말하면 이러한 사고들은 상기 경로 위에서 렌더링되며 그 사고의 정체 시간을 보여준다.
상기 경로에 관련되어 있지만 (예컨대, 반대 방향에서는) 사용자에게 영향을 주지 않는 다른 교통 사고들은 상기 경로 아래에서 보여주는 덜 현저한 돌출 GUI 요소(1411)를 사용하여 렌더링된다. 단지 단일 튜브(다시 말하면, 무방향 정보)로서만 소정의 세부 레벨로 상기 맵 상에 보일 수 있지만, 사용자의 경로에 영향을 주지 않는 임의의 도로상의 교통 사고들은 영향을 받는 도로 측 상에 도로 아래에 보여주는 GUI 요소(1413)를 사용하여 유사하게 표시된다.
뷰잉된 세부 레벨에서 보이지 않는 도로들 상의 교통 사고들은 어떠한 아이콘도 없는 불투명한 도트들과 같은 여전히 덜 현저한 돌출 GUI 요소들(1415)을 사용하여 표시된다.
상기 맵이 높은 세부 레벨로 줌인되는 경우에, 모든 교통 사고들은 좀더 현저한 돌출 GUI 요소들로 변경된다. 도로들이 서로 다른 방향들에 대해 개별 튜브들로서 보일 수 있게 되거나, 적합한 폭이 됨에 따라, 상기 사고들이 여전히 영향을 받는 방향에 대한 도로상의 GUI 요소들을 사용하여 좀더 현저하게 디스플레이될 수 있다. 더욱이, 심지어 불투명한 도트들 조차도 상기 도로들이 보이게 됨에 따라 도로들 아래에나 또는 도로들 상에 보이게 되는 GUI 요소들로 된다. 적절히 높은 세부 레벨로 줌인될 경우에는, 임의의 사고에 연관된 임의의 정체가 보이게 된다.
그러나, 이와는 반대로, 낮은 세부 레벨들로 줌아웃될 경우에, 모든 교통 사고들이 예를 들면 덜 현저한 돌출 GUI 요소들로 변경되는데, 그 이유는 모든 교통 이벤트들이 불투명한 도트들에 의해 표시될 때까지 소정의 세부 레벨들로 보이지 않게 되기 때문이다.
사용된 GUI 요소들은 사고 카테고리를 나타내도록 컬러 코딩될 수 있다.
수정 예들 및 변경 예들
본원 명세서에서 기재한 내비게이션 기기(200)를 구현하는 다수의 수정 예 및 변경 예가 첨부된 청구항들에 의해 정의된 바와 같은 본 발명의 실시 예들로부터 벗어나지 않고 이루어질 수 있다. 예를 들면, 위에서 언급한 구체적인 내용에 기재한 실시 예들이 GPS를 언급하고 있지만, 여기서 유념해야 할 점은 워치(watch)가 GPS에 대한 변형 예로서(또는 실제로는 GPS에 추가하여) 임의 종류의 위치 검출 기법을 이용할 수 있다는 점이다. 예를 들면, 상기 기기는 유럽의 갈릴레오 시스템(European Galileo system)과 같은 다른 글로벌 내비게이션 위성 시스템들을 이용할 수 있다. 마찬가지로, 상기 기기는 위성 기반 시스템들에 국한되지 않고 지상 기반 비콘들 또는 상기 워치가 자신의 지리적 위치를 결정하는 것을 가능하게 하는 다른 종류의 시스템을 사용하여 기능을 용이하게 수행할 수 있을 것이다.
당업자라면 본 발명의 여러 실시태양 및 실시 예가 지금까지 설명되었지만, 본 발명의 범위가 본원 명세서에 기재된 특정한 구성들에 국한되는 것이 아니고 그 대신에 모든 구성들, 및 모든 구성들에 대한 수정 예들 및 변형 예들을 수반하도록 확장되는 것임을 알 수 있을 것이다. 더군다나, 본원의 첨부도면들 및 첨부도면들의 설명들은 기재된 방법의 단계들을 수행하는 고정 순서를 규정하는 것으로 이해하여서는 아니 된다. 오히려, 상기 방법의 단계들이 실시가능한 임의의 순서로 수행될 수 있다.
마지막으로, 여기서 유념해야 할 점은 첨부된 청구항들이 본원 명세서에 기재된 특징들의 특정 조합들을 기재하고 있지만, 본 발명의 범위는 이하 청구된 특정 조합에 국한되지 않고, 그 대신에 본 발명의 범위는 상기 특정 조합이 이때 첨부된 청구항들에서 특정하게 열거되는지의 여부에 관계없이 본원 명세서에 개시된 특징들 또는 실시 예들의 임의의 조합을 포함하도록 확장된다는 점이다.

Claims (25)

  1. 휴대용 전자 기기에 있어서,
    상기 휴대용 전자 기기는,
    데이터 프로세싱 수단;
    디지털 맵을 나타내는 데이터를 포함하는 데이터 레포지토리;
    디스플레이 수단; 및
    상기 데이터 프로세싱 수단에 의해 실행될 때 상기 디지털 맵에 관련된 복수 개의 위치들을 나타내는 데이터와 관련하여, 상기 휴대용 전자 기기로 하여금 상기 디스플레이 수단 상에 디스플레이되는 디지털 맵의 표현을 통해 상기 위치들 각각에 대해 상기 위치들을 나타내도록 서로 다른 돌출 레벨들에 의해 특징화되는 복수 개의 서로 다른 그래픽 사용자 인터페이스(graphical user interface; GUI) 요소들 중 하나를 제공하게 하는 명령어들을 포함하는 컴퓨터 판독가능 매체;
    를 포함하며,
    각각의 위치에 대해 사용되는 상기 GUI 요소의 돌출 레벨은 상기 디지털 맵이 디스플레이되게 하는 세부 레벨 및 사용자 질의에 관련성이 있는 것으로 예상되는 위치에 의존하고, 상기 위치들은 상기 사용자 질의에 대한 상기 위치들의 관련성에 의해 그룹들로 분할되며, 각각의 그룹의 위치들을 나타내는데 사용되는 상기 GUI 요소들은 상기 디지털 맵이 디스플레이되게 하는 세부 레벨에 의존하는 동일한 돌출 레벨을 지니는, 휴대용 전자 기기.
  2. 제1항에 있어서, 증가된 돌출 레벨들에서의 GUI 요소들은,
    · 상기 디스플레이에서의 시각적 돌출의 증가;
    · 불투명도의 증가;
    · 위치에 관련된 정보의 증가;
    · 사용자와 사용자 인터페이스와의 상호작용을 하게 하는 사용자 인터페이스 기능의 증가;
    중의 하나 이상을 제공하는, 휴대용 전자 기기.
  3. 제1항 또는 제2항에 있어서, 소정의 세부 레벨에서는, 낮은 돌출 레벨을 지니는 GUI 요소들이 상기 사용자 질의에 관련성이 감소되는 것으로 예상되는 복수 개의 위치들의 위치들을 나타내는데 사용되고, 높은 돌출 레벨을 지니는 GUI 요소들이 상기 사용자 질의에 관련성이 증가되는 것으로 예상되는 복수 개의 위치들의 위치들을 나타내는데 사용되는, 휴대용 전자 기기.
  4. 제1항 또는 제2항에 있어서, 상기 디지털 맵이 디스플레이되게 하는 세부 레벨이 증가 또는 감소되는 경우에, 소정 위치를 나타내는데 사용되는 GUI 요소는 증가된 돌출 레벨 또는 감소된 돌출 레벨로 변경되는, 휴대용 전자 기기.
  5. 제4항에 있어서, 임의로 주어진 세부 레벨에 대해, 상기 복수 개의 위치들의 최소 개수는 복수 개의 돌출 레벨들 중 최대 돌출 레벨을 지니는 GUI 요소에 의해 나타나게 되는, 휴대용 전자 기기.
  6. 제1항 또는 제2항에 있어서, 상기 디지털 맵이 높은 세부 레벨로 디스플레이될 경우에, 복수 개의 위치들 중 일부는 증가된 돌출 레벨들을 지니는 GUI 요소들을 사용하여 표시되는, 휴대용 전자 기기.
  7. 제1항 또는 제2항에 있어서, 상기 디지털 맵이 낮은 세부 레벨로 디스플레이될 경우에, 복수 개의 위치들 중 일부가 감소된 돌출 레벨들을 지니는 GUI 요소들을 사용하여 표시되는, 휴대용 전자 기기.
  8. 제1항 또는 제2항에 있어서, 상기 위치들은 상기 사용자 질의에 대한 상기 위치들의 관련성에 의해 그룹들로 분할되며, 각각의 그룹은 상기 디지털 맵에 대한 개별적인 세부 레벨에 연관되는, 휴대용 전자 기기.
  9. 제8항에 있어서, 상기 위치들의 그룹화 및 상기 그룹들에 대한 연관된 개별적인 세부 레벨들의 할당은,
    · 상기 위치들의 개수;
    · 상기 위치들의 분포;
    · 사용자 질의에 대한 위치들의 예상 관련성;
    · 최소 경계 박스에서 상기 위치들의 존재하는 그룹화들을 포함하는데 필요한 세부 레벨;
    · 최대로 존재하는 세부 레벨들의 범위;
    · 최대 관련 그룹에서 설정된 위치 개수;
    · 설정된 그룹 개수;
    · 각각의 그룹에서 설정된 위치 개수;
    중의 하나 이상에 기반하여 수행되는, 휴대용 전자 기기.
  10. 제8항에 있어서, 상기 디지털 맵에 대한 기본 세부 레벨은 최대 관련성 있는 위치 그룹의 위치들을 포함하는 최소 경계 박스에 기반하여 정의되는, 휴대용 전자 기기.
  11. 제10항에 있어서, 각각의 그룹은, 관련성이 감소되는 위치들에 대하여는 상기 기본 세부 레벨에 비해 증가하는 대응하는 세부 레벨에 연관되는, 휴대용 전자 기기.
  12. 제11항에 있어서, 상기 맵은 초기에 상기 기본 세부 레벨에 디스플레이되며, 상기 기본 세부 레벨에 비해 증가된 대응하는 세부 레벨에 연관된 각각의 그룹은 점진적으로 관련성이 감소되는 그룹들에 대해 점진적으로 감소된 돌출 레벨들을 지니는 GUI 요소들로 표시되는, 휴대용 전자 기기.
  13. 제11항에 있어서, 상기 디지털 맵이 소정의 세부 레벨로 디스플레이되는 경우에, 디스플레이된 세부 레벨에 비해 증가된 대응하는 세부 레벨에 연관된 각각의 그룹은 점진적으로 관련성이 감소되는 그룹들에 대해 점진적으로 감소된 돌출 레벨들을 지니는 GUI 요소들로 표시되는, 휴대용 전자 기기.
  14. 제13항에 있어서, 상기 디스플레이된 세부 레벨보다 낮은 세부 레벨들에 연관된 그룹들에 속하는 위치들은 복수 개의 돌출 레벨들 중 최대 돌출 레벨을 지니는 GUI 요소로 나타나게 되는, 휴대용 전자 기기.
  15. 제8항에 있어서, 사용자 입력에 응답하여, 상기 디지털 맵이 시작 세부 레벨에서부터 다음으로 관련성이 증가되는 그룹에 연관된 끝 세부 레벨에 이르기까지 주밍(zooming)될 경우에, 각각의 그룹의 위치들을 나타내는데 사용되는 GUI 요소들은 다음으로 증가된 돌출 레벨로 증가되는, 휴대용 전자 기기.
  16. 제8항에 있어서, 사용자 입력에 응답하여, 상기 디지털 맵이 시작 세부 레벨에서부터 다음으로 관련성이 감소되는 그룹에 연관된 끝 세부 레벨에 이르기까지 주밍(zooming)될 경우에, 각각의 그룹의 위치들을 나타내는데 사용되는 GUI 요소들은 다음으로 감소된 돌출 레벨로 감소되는, 휴대용 전자 기기.
  17. 제1항 또는 제2항에 있어서, 상기 위치들은 주소들 및 관심 지점들 중의 하나 이상을 포함하는 목적지들; 사고들, 정체들, 도로 폐쇄들, 도로 공사들, 교통량들 및 폐쇄 차선들 중의 하나 이상을 포함하는 교통 사고들; 또는 홍수, 눈, 얼음, 안개, 불리한 도로 조건들 중의 하나 이상을 포함하는 기상 이벤트들을 나타내는, 휴대용 전자 기기.
  18. 제1항 또는 제2항에 있어서, 상기 휴대용 전자 기기는 탐색 엔진을 부가적으로 포함하며, 상기 데이터 레포지토리는 목적지들에 속하는 문서들을 나타내는 레코드들을 부가적으로 포함하고, 사용자 질의는 상기 탐색 엔진에 대한 목적지들에 대한 탐색 질의이며, 상기 데이터는 상기 디지털 맵에 관련된 복수 개의 위치들을 나타내고, 상기 데이터는 상기 탐색 엔진이 상기 탐색 질의에 관련된 문서들에 대한 상기 레코드들을 탐색함으로써 생성되는, 휴대용 전자 기기.
  19. 제18항에 있어서, 상기 탐색 결과들은 상기 탐색 질의에 대한 관련성에 의해 순위가 결정되며, 상기 순위결정은 상기 위치들을, 관련성이 감소되는 그룹들에 대해 증가하는 세부 레벨들에 연관될 그룹들로, 분할하는데 사용되는, 휴대용 전자 기기.
  20. 제18항에 있어서, 상기 복수 개의 위치들은 상기 디지털 맵을 패닝(panning) 또는 주밍(zooming)함에 응답하여 변경되지 않은 상태로 유지되는, 휴대용 전자 기기.
  21. 제18항에 있어서, 상기 탐색 엔진에 의해 탐색되고 상기 디지털 맵 상에 디스플레이되는 위치들의 개수는 최대 개수로 제한되는, 휴대용 전자 기기.
  22. 제1항 또는 제2항에 있어서, 상기 휴대용 전자 기기는 사용자 또는 기기에 의해 생성된 질의에 관련된 현재 교통 사고들을 나타내는 위치들을 탐색하도록 동작되는 교통 사고 탐색 엔진을 부가적으로 포함하며, 상기 사용자 또는 기기에 의해 생성된 질의는 교통 사고 질의인, 휴대용 전자 기기.
  23. 제22항에 있어서, 상기 교통 사고 질의는 탐색 중심, 경로 상의 상기 기기의 현재 위치에 인접하거나, 또는 상기 디지털 맵의 소정 구역에서 인접한 교통 사고들에 대한 것인, 휴대용 전자 기기.
  24. 휴대용 전자 기기를 동작시키는 방법에 있어서, 상기 휴대용 전자 기기는 데이터 프로세싱 수단; 디지털 맵을 나타내는 데이터를 포함하는 데이터 레포지토리; 및 디스플레이 수단;을 포함하며, 상기 휴대용 전자 기기의 동작 방법은, 상기 디지털 맵에 관련된 복수 개의 위치들을 나타내는 데이터와 관련하여,
    상기 디스플레이 수단 상에 디스플레이되는 디지털 맵의 표현을 통해 상기 위치들 각각에 대해 상기 위치들을 나타내도록 서로 다른 돌출 레벨들에 의해 특징화되는 복수 개의 서로 다른 그래픽 사용자 인터페이스(graphical user interface; GUI) 요소들 중 하나를 제공하는 단계;
    를 포함하며,
    각각의 위치에 대해 사용되는 상기 GUI 요소의 돌출 레벨은 상기 디지털 맵이 디스플레이되게 하는 세부 레벨 및 사용자 질의에 관련성이 있는 것으로 예상되는 위치에 의존하고, 상기 위치들은 상기 사용자 질의에 대한 상기 위치들의 관련성에 의해 그룹들로 분할되며, 각각의 그룹의 위치들을 나타내는데 사용되는 상기 GUI 요소들은 상기 디지털 맵이 디스플레이되게 하는 세부 레벨에 의존하는 동일한 돌출 레벨을 지니는, 휴대용 전자 기기의 동작 방법.
  25. 컴퓨터 프로그램이 수록된 비-일시적 컴퓨터-판독가능 저장 매체로서, 상기 컴퓨터 프로그램은 휴대용 전자 기기의 데이터 프로세싱 수단에 의해 실행될 경우에 상기 휴대용 전자 기기로 하여금 청구항 제24항의 방법을 수행하도록 구성되게 하는 명령어들을 포함하는, 비-일시적 컴퓨터-판독가능 저장 매체.
KR1020157032825A 2013-04-17 2014-04-17 디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어 KR102196470B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1306944.8A GB201306944D0 (en) 2013-04-17 2013-04-17 Methods, devices and computer software for facilitating searching and display of locations relevant to a digital map
GB1306944.8 2013-04-17
PCT/EP2014/057987 WO2014170473A2 (en) 2013-04-17 2014-04-17 Methods, devices and computer software for facilitating searching and display of locations relevant to a digital map

Publications (2)

Publication Number Publication Date
KR20160002942A KR20160002942A (ko) 2016-01-08
KR102196470B1 true KR102196470B1 (ko) 2020-12-30

Family

ID=48537364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157032825A KR102196470B1 (ko) 2013-04-17 2014-04-17 디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어

Country Status (8)

Country Link
US (2) US10281295B2 (ko)
EP (1) EP2986947B1 (ko)
JP (2) JP6545151B2 (ko)
KR (1) KR102196470B1 (ko)
CN (1) CN105339762B (ko)
ES (1) ES2837852T3 (ko)
GB (1) GB201306944D0 (ko)
WO (1) WO2014170473A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2550306A1 (en) * 2003-12-19 2005-07-14 Telcontar, Inc. Geocoding locations near a specified city
US11481091B2 (en) * 2013-05-15 2022-10-25 Google Llc Method and apparatus for supporting user interactions with non- designated locations on a digital map
CN106156138B (zh) * 2015-04-10 2019-08-09 高德软件有限公司 兴趣点的空间索引的建立、周边搜索方法和装置
US10002134B2 (en) 2015-12-15 2018-06-19 Costar Realty Information, Inc. Placard-to-pin interaction
KR101821172B1 (ko) 2016-09-23 2018-03-08 주식회사 호갱노노 묶음 핀을 이용한 지도 정보 제공 방법
RU2677379C2 (ru) * 2016-12-06 2019-01-16 Общество С Ограниченной Ответственностью "Яндекс" Способ формирования пользовательского запроса
CN107478243A (zh) * 2017-06-30 2017-12-15 百度在线网络技术(北京)有限公司 导航方法、装置、设备及计算机可读存储介质
US11366866B2 (en) * 2017-12-08 2022-06-21 Apple Inc. Geographical knowledge graph
KR102035552B1 (ko) * 2018-03-20 2019-11-26 (주)더비트 차량 설치형 음성인식 내비게이션 장치
CN112368546A (zh) * 2018-09-06 2021-02-12 谷歌有限责任公司 在地图应用中显示个性化地标
US20230138909A1 (en) * 2021-11-03 2023-05-04 Rivian Ip Holdings, Llc Creating offroad maps with vehicle data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110047509A1 (en) * 2009-08-18 2011-02-24 Nokia Corporation Method and apparatus for grouping points-of-interest on a map
US20110313649A1 (en) * 2010-06-18 2011-12-22 Nokia Corporation Method and apparatus for providing smart zooming of a geographic representation

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3428068B2 (ja) 1993-04-30 2003-07-22 オムロン株式会社 文書処理装置および方法,ならびにデータ・ベース検索装置および方法
JP2001134579A (ja) 1999-11-02 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> マルチメディア情報検索方法、システム、およびマルチメディア情報検索プログラムを記録した記録媒体
US6587787B1 (en) 2000-03-15 2003-07-01 Alpine Electronics, Inc. Vehicle navigation system apparatus and method providing enhanced information regarding geographic entities
US6564213B1 (en) 2000-04-18 2003-05-13 Amazon.Com, Inc. Search query autocompletion
US6983203B1 (en) 2000-07-28 2006-01-03 Alpine Electronics, Inc. POI icon display method and navigation system
JP3758958B2 (ja) * 2000-09-08 2006-03-22 株式会社デンソー ナビゲーション装置
US6775666B1 (en) 2001-05-29 2004-08-10 Microsoft Corporation Method and system for searching index databases
JP4133008B2 (ja) 2002-06-14 2008-08-13 日本信号株式会社 広告料金課金に関する広告情報登録システム
JP2004233711A (ja) * 2003-01-31 2004-08-19 Mitsubishi Electric Corp 地図データ構築装置
US9607092B2 (en) 2003-05-20 2017-03-28 Excalibur Ip, Llc Mapping method and system
US20040243307A1 (en) 2003-06-02 2004-12-02 Pieter Geelen Personal GPS navigation device
US20050060286A1 (en) 2003-09-15 2005-03-17 Microsoft Corporation Free text search within a relational database
JP4153887B2 (ja) 2004-03-19 2008-09-24 株式会社日立製作所 移動体ナビゲーション装置、および、移動体ナビゲーション装置における目的地の検索方法
US7761447B2 (en) 2004-04-08 2010-07-20 Microsoft Corporation Systems and methods that rank search results
JP2005308543A (ja) 2004-04-21 2005-11-04 Denso Corp 地図表示機能を有する電子機器及びプログラム
US20060058953A1 (en) 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US8150617B2 (en) 2004-10-25 2012-04-03 A9.Com, Inc. System and method for displaying location-specific images on a mobile device
JP4791726B2 (ja) 2004-12-03 2011-10-12 クラリオン株式会社 ナビゲーション装置の交通情報表示方法
US8225195B1 (en) * 2004-12-15 2012-07-17 Amazon Technologies, Inc. Displaying links at varying levels of prominence to reveal emergent paths based on user interaction
DE102005020151A1 (de) 2005-04-29 2006-11-02 Volkswagen Ag Verfahren zum Steuern einer Anzeigevorrichtung in einem Kraftfahrzeug und Anzeigevorrichtung
JP4428321B2 (ja) * 2005-09-07 2010-03-10 ソニー株式会社 記録再生装置、表示制御方法、プログラム
JP2007310734A (ja) 2006-05-19 2007-11-29 Matsushita Electric Ind Co Ltd 検索装置
US8024329B1 (en) 2006-06-01 2011-09-20 Monster Worldwide, Inc. Using inverted indexes for contextual personalized information retrieval
JP2008250565A (ja) 2007-03-29 2008-10-16 Aisin Aw Co Ltd ナビゲーション装置
US8290967B2 (en) 2007-04-19 2012-10-16 Barnesandnoble.Com Llc Indexing and search query processing
JP4632096B2 (ja) 2007-06-07 2011-02-16 ソニー株式会社 ナビゲーション装置及び最寄検索方法
KR20090008976A (ko) 2007-07-19 2009-01-22 삼성전자주식회사 네비게이션 단말에서의 지도 스크롤 방법 및 그 네비게이션단말
JP4509153B2 (ja) * 2007-08-31 2010-07-21 三洋電機株式会社 ナビゲーション装置及び方法
JP4428433B2 (ja) 2007-09-25 2010-03-10 株式会社デンソー 気象情報表示装置、プログラム
US8892455B2 (en) * 2007-09-28 2014-11-18 Walk Score Management, LLC Systems, techniques, and methods for providing location assessments
US8176068B2 (en) 2007-10-31 2012-05-08 Samsung Electronics Co., Ltd. Method and system for suggesting search queries on electronic devices
JP5087377B2 (ja) 2007-11-29 2012-12-05 日本電信電話株式会社 地理的情報を含む文書群の検索装置、検索方法、検索プログラムおよびそのプログラムを記録した記録媒体
US20090216732A1 (en) 2008-02-27 2009-08-27 Kyte Feng Method and apparatus for navigation system for searching objects based on multiple ranges of desired parameters
JP2009266073A (ja) 2008-04-28 2009-11-12 Pioneer Electronic Corp 住所検索装置、住所検索方法及び住所検索プログラム
WO2010004612A1 (ja) 2008-07-07 2010-01-14 パイオニア株式会社 情報処理装置、情報作成装置、情報処理方法、情報作成方法、情報処理プログラム、情報作成プログラム、および記録媒体
US9424339B2 (en) 2008-08-15 2016-08-23 Athena A. Smyros Systems and methods utilizing a search engine
JP5302614B2 (ja) 2008-10-09 2013-10-02 株式会社インテック 施設関連情報の検索データベース形成方法および施設関連情報検索システム
US8060510B2 (en) 2009-02-13 2011-11-15 Yahoo! Inc. Best fit map searching
JP2010225035A (ja) 2009-03-25 2010-10-07 Canvas Mapple Co Ltd 情報検索装置、情報検索方法、及び情報検索プログラム
EP2241983B1 (en) * 2009-04-17 2012-12-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for searching objects in a database
JP2010286870A (ja) 2009-06-09 2010-12-24 Aisin Aw Co Ltd 地点検索装置、地点検索方法及びプログラム
US20110004750A1 (en) * 2009-07-03 2011-01-06 Barracuda Networks, Inc Hierarchical skipping method for optimizing data transfer through retrieval and identification of non-redundant components
US8342477B2 (en) * 2009-08-04 2013-01-01 Chrysler Group Llc Hinged clamp bracket
US9710961B2 (en) * 2009-09-17 2017-07-18 Nokia Technologies Oy Method and apparatus for providing contextual rendering of a map
KR20110070057A (ko) 2009-12-18 2011-06-24 한국전자통신연구원 자연어 기반 여행 추천 장치 및 방법
US8285565B2 (en) 2009-12-21 2012-10-09 Kerr Gordon S Gathering, storing, and retrieving summary electronic healthcare record information from healthcare providers
JP2011145609A (ja) 2010-01-18 2011-07-28 Clarion Co Ltd 地図表示装置および地図表示方法
US20110196602A1 (en) 2010-02-08 2011-08-11 Navteq North America, Llc Destination search in a navigation system using a spatial index structure
US8938436B2 (en) 2010-05-10 2015-01-20 Verizon Patent And Licensing Inc. System for and method of providing reusable software service information based on natural language queries
US8583363B2 (en) * 2010-05-26 2013-11-12 Microsoft Corporation Determining alternative routes
KR101248187B1 (ko) 2010-05-28 2013-03-27 최진근 확장 검색어 선정 시스템 및 확장 검색어 선정 방법
JP5656456B2 (ja) * 2010-05-28 2015-01-21 富士通テン株式会社 車載用表示装置および表示方法
CA2709116A1 (en) 2010-07-07 2012-01-07 Trapeze Software Inc. Method and system for enabling location entry
EP2420799B1 (en) 2010-08-18 2015-07-22 Harman Becker Automotive Systems GmbH Method and system for displaying points of interest
US9253251B2 (en) 2010-11-03 2016-02-02 Endeavoring, Llc System and method for determining a vehicle proximity to a selected address
CN102914313A (zh) 2011-08-01 2013-02-06 环达电脑(上海)有限公司 导航装置
US8645825B1 (en) 2011-08-31 2014-02-04 Google Inc. Providing autocomplete suggestions
US8738595B2 (en) 2011-11-22 2014-05-27 Navteq B.V. Location based full text search
WO2014066562A2 (en) * 2012-10-25 2014-05-01 Intel Corporation Route optimization including points of interest
KR101510505B1 (ko) * 2012-12-21 2015-04-08 주식회사 포스코 우수한 도금성과 초고강도를 갖는 고망간 용융아연도금강판의 제조방법 및 이에 의해 제조된 고망간 용융아연도금강판
US9443036B2 (en) 2013-01-22 2016-09-13 Yp Llc Geo-aware spellchecking and auto-suggest search engines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110047509A1 (en) * 2009-08-18 2011-02-24 Nokia Corporation Method and apparatus for grouping points-of-interest on a map
US20110313649A1 (en) * 2010-06-18 2011-12-22 Nokia Corporation Method and apparatus for providing smart zooming of a geographic representation

Also Published As

Publication number Publication date
ES2837852T3 (es) 2021-07-01
EP2986947A2 (en) 2016-02-24
KR20160002942A (ko) 2016-01-08
EP2986947B1 (en) 2020-12-02
JP2016522399A (ja) 2016-07-28
US11391594B2 (en) 2022-07-19
US20190285428A1 (en) 2019-09-19
WO2014170473A2 (en) 2014-10-23
GB201306944D0 (en) 2013-05-29
CN105339762A (zh) 2016-02-17
US20160084667A1 (en) 2016-03-24
WO2014170473A3 (en) 2015-01-15
JP2019197058A (ja) 2019-11-14
JP6868663B2 (ja) 2021-05-12
JP6545151B2 (ja) 2019-07-17
CN105339762B (zh) 2020-01-17
US10281295B2 (en) 2019-05-07

Similar Documents

Publication Publication Date Title
KR102193465B1 (ko) 디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어
KR102196470B1 (ko) 디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어
KR102331666B1 (ko) 디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어
US9097553B2 (en) Navigation based on direction of travel/user-defined path
KR101752825B1 (ko) 위치 기반 탐색
US8671365B2 (en) Method, apparatus and computer program product for providing a cursor for indicating context data in a mapping application
US20070233384A1 (en) Method and system for off-board navigation with a portable device
CN103778209A (zh) 一种poi检索结果显示方法及电子设备
JP2009216669A (ja) 目的地設定支援装置、及び目的地設定支援プログラム

Legal Events

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