Methods for generating and transmitting location data
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-18
- Publication Date
- 2026-08-14
AI Technical Summary
[0003]更新地图数据可为耗时且昂贵的任务
[0107]在未明确陈述的情况下,应了解,本发明在任何其方面中可包含关于本发明的其他方面或实施例描述的任何或全部特征到其不互斥的程度。特定来说,虽然已描述可在方法中以及由系统或设备执行的操作的各种实施例,但应了解,可在方法中以及由系统或设备以任何组合(视期望且视需要)执行这些操作中的任何一或多者或全部。
Smart Images

Figure CN114867990B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method in which a vehicle-associated apparatus generates one or more probe data samples including data indicating the vehicle's location. The invention extends to an apparatus configured to generate one or more probe data samples according to this method, and to a method of using the generated probe data samples to update electronic map data. As used herein, the term "probe data sample" refers to a sample that includes at least location data, and "probe data" refers to a group of one or more, typically multiple, such probe data samples. Background Technology
[0002] Map data used by navigation applications is specifically designed for route guidance algorithms and typically uses location data from a positioning (e.g., GPS or GNSS) system. For example, a road can be described as a line, i.e., a vector (e.g., the road's start point, end point, and direction, where the entire road consists of hundreds of such segments, each uniquely defined by the start / end point direction parameters). A map is a collection of these road vectors, the data associated with each vector (speed limits, driving direction, etc.), points of interest (POIs), road names, and other geographic features (such as park boundaries, river boundaries, etc.), all defined based on vectors. All map features (e.g., road vectors, POIs, etc.) are typically defined in a coordinate system that corresponds to or is related to the coordinate system of the positioning system (e.g., GPS), enabling a location determined by the positioning system to be located on the relevant road shown on the map and allowing the planning of the optimal route to the destination.
[0003] Updating map data can be a time-consuming and costly task. The applicant's WO2018 / 104563 describes a method in which data obtained from sensors (e.g., cameras associated with a vehicle) is used to generate a local map representation of a road network area, which is then compared with a segment of a reference map. The local map representation is then compared with the reference map segment to identify potential errors in the reference map segment. If an error is found, data indicative of the local map representation can be provided to a server for updating the reference map segment. Therefore, such a method enables the identification of potential errors in map data based on sensor data obtained from sensors associated with a vehicle, without requiring user intervention.
[0004] Other techniques have been proposed for updating map data based on probe data transmitted by devices running navigation applications.
[0005] Navigation applications can be implemented by any suitable device(s). Such navigation devices may include, for example, a dedicated navigation device or any mobile device (e.g., a mobile phone, tablet computer, or wearable device, such as a watch) on which a suitable navigation application is executed, or may be implemented using an integrated in-vehicle navigation system. The vehicle environment may contain multiple computing devices that can be used to implement any one or more of these types of navigation applications.
[0006] A navigation application allows a device running the application to periodically sample at least the device's current location. This sample of location data may be referred to as a "probe" data sample. The probe data sample contains at least the device's location and may include data indicating the time associated with that location. Optionally, other data may be included in the probe data sample. For example, the probe data sample may contain latitude coordinates, longitude coordinates, and time values, and optionally, additional information such as orientation, speed, altitude, etc. The device is configured to transmit the probe sample data to a server. Probe samples may be transmitted to the server individually, or, to reduce the frequency of data transmission to the server, the device may store a set of probe data samples for a given time period and transmit said set of probe data samples to the server. In other words, the device may send probe data samples to the server in batches.
[0007] Such samples of location data, i.e., probe data samples, can be collected by a server from multiple devices traversing navigable elements of a navigable network across a geographic area. Navigable elements can be represented by road segments on an electronic map. Probe data samples obtained from a given device indicate the path traveled by that particular device. Analysis of probe data (i.e., sets of probe data samples) can be used in many contexts.
[0008] Probe data can be analyzed to obtain information about navigable networks, such as network configuration. Historical and current probe data samples can be compared to identify contexts where changes related to the navigable network may have occurred and / or to identify dynamic features, such as points of interest relative to the navigable network. Changes in traffic density or other traffic patterns can indicate potential network-related changes. For example, probe data can be used to identify changes and / or dynamic features, such as points of interest related to the navigable network, such as parking availability, the presence of accidents or road works, road closures, changes in road signs, or changes related to points of interest. Probe data can typically be used by map update systems in conjunction with other supporting evidence to identify when changes related to the navigable network may be sufficiently significant to warrant updating the map data.
[0009] Using probe data to identify when map updates may be needed is advantageous because it allows for the cost-effective and timely identification of potential changes without relying on specific reports from end-users or other sources, or on infrastructure surveys. However, it has been recognized that there is a need for improvements in such methods and in the probe data used to support them.
[0010] One example of using dynamic features of a navigable network that can be identified relative to points of interest on an electronic map is the availability of parking spaces. Techniques for determining the availability of street parking locations based on trip end and power outage notifications have been proposed in the applicant's co-pending EP2291835 and EP2291611. At least in embodiments, the present invention can provide an improved method for implementing the identification of parking space availability based on probe data and using it as needed to update electronic maps (e.g., in relation to points of interest indicating parking space availability). Summary of the Invention
[0011] According to a first aspect of the invention, the following is provided:
[0012] A method in which a vehicle-associated device generates and transmits a sample of detection data including location data, the method comprising:
[0013] Generate detected event sequence data indicating a detected event sequence associated with the vehicle;
[0014] Obtain search pattern data for the search pattern of the indicator event;
[0015] The search pattern data and at least a portion of the detected event sequence data are used to determine whether a detected event pattern matching the search pattern of the obtained event exists in at least a portion of the detected event sequence;
[0016] And wherein when a detected event pattern matching the search pattern of the acquired event is found in at least a portion of the detected event sequence, the device generates a probe data sample including data indicating one or both of the search pattern and the matched event pattern and data indicating the location of the device associated with the matched event pattern; the method further includes the device transmitting the generated probe data sample.
[0017] Therefore, according to the invention, data indicating a sequence of detected events associated with a vehicle (“detected event sequence data”) is generated. Data indicating a search pattern of events (“search pattern data”) is obtained and used in conjunction with the detected event sequence data to determine whether a detected event pattern matching the obtained search pattern exists in at least a portion of the considered detected event sequence. If a match is found, a probe data sample is generated comprising data indicating one or both of the search pattern and the matched event pattern, and data indicating the location of a device (and therefore, the vehicle) associated with the matched detected event pattern. The probe data sample is transmitted.
[0018] Therefore, a sample of probe data is generated that contains not only location data, but also data indicating a specific pattern of events associated with that location that occurred with the vehicle. The location can be at or near the point where the event sequence occurred. As described below, the location can be any suitable reference location associated with the matched event pattern, for example, the location of the device and thus the vehicle at the time one of the events in the matched event pattern occurred.
[0019] It should be understood that, depending on the search pattern data, an exact match may or may not be required in at least a portion of the considered detected event sequence data. Therefore, a matched event pattern may or may not correspond to the search pattern data. However, even if the search pattern and the matched pattern do not match precisely, the search pattern data will still provide an indication of the matching event pattern. Therefore, while data indicating either the search pattern or the matched pattern may be useful, it is advantageous to include data indicating both the search pattern and the matched pattern. Preferably, the probe data sample includes at least data indicating the matched event pattern.
[0020] Matched event patterns indicate a sequence of events occurring about a vehicle. Search pattern data can indirectly indicate matched event patterns (depending on the required match tightness). Certain event patterns have been found to indicate features that can be represented by electronic maps. For example, such features can be represented by points of interest (POIs) about the map. Therefore, by appropriately selecting search patterns for events, the process of searching detected event sequence data for a given search pattern can provide information about the presence or any changes to certain types of features (e.g., POIs represented by electronic maps). While not exclusively, the invention is particularly useful in the context of dynamic features. Therefore, it has been found that samples of probe data generated and transmitted according to the invention can be advantageously used to perform operations (e.g., generating, verifying, modifying, or removing POIs associated with the electronic map) regarding electronic map data and, in embodiments, regarding POI data associated with the electronic map.
[0021] It should be understood that while the search process may be described by referring to the search of the detected event sequence for ease of reference, this should be understood as referring to at least a portion of the detected event sequence being searched. As mentioned below, in some embodiments, only the most recent subsequence of the detected event sequence may be searched. In the case of searching only a portion of the detected event sequence, said portion is a continuous subsequence of the event data sequence.
[0022] For example, the search pattern for an event could be a search pattern that indicates an event involving street parking maneuvering by a vehicle. The detected event sequence data can then be searched for the existence of this search pattern, and if a match is found, it can be assumed that a street parking space is available at the location associated with the matched event pattern. The generated and transmitted probe data samples, which indicate the search pattern of the event (indicating the nature of the expected POI) and the location associated with the matched event pattern, provide additional data that can be used to automatically perform operations on the electronic map data, and more specifically, on the associated POI data, such as adding a POI indicating the availability of a street parking space at said location or otherwise verifying the existing POI. Of course, operations on the electronic map are not necessarily performed based on a single probe data sample transmitted by the invention. For example, the generated and transmitted probe data can be used in combination with other data (e.g., other such probe data samples obtained from other vehicles and / or probe data samples not obtained according to the invention or other data sources) to determine whether operations on the electronic map need to be performed. In other words, other data sources, whether or not obtained according to the invention, can be used in conjunction with the probe data samples according to the invention to verify the change before making changes to the electronic map (e.g., the POI data associated with it).
[0023] The method may include using received probe data samples when performing operations on POI data associated with an electronic map. Operations may include deleting, modifying, or verifying data indicating a POI associated with an electronic map, or associating data indicating a new POI with the electronic map. The method may include using location data associated with the probe data samples to identify locations relative to the electronic map and using data indicating matched event patterns and / or search patterns to identify the type of POI with which an operation is performed.
[0024] A POI can be any POI associated with a search pattern for an expected event. For example, and without limitation, a POI can be selected from: indications of the presence of street parking spaces, private parking facilities (e.g., indoor parking facilities), vehicle repair facilities, car wash facilities, electric vehicle charging facilities, refueling facilities, or speed cameras.
[0025] Operations can be performed on an electronic map (e.g., on POI data associated with it) based on (e.g., in response to) receiving a single probe data sample. However, it is desirable to confirm indications of POIs provided by a single probe data sample using other data sources (e.g., similar probe data samples received from a device associated with another vehicle, or other types of data, or probe data samples actually received at different times from the same device (e.g., during another trip performed by the same vehicle)).
[0026] According to the present invention, detected event sequence data indicating a sequence of detected events associated with a vehicle is generated. Events can be detected in any suitable manner based on data obtained from one or more sensors and / or one or more actuators associated with the vehicle. Each of the one or more sensors and / or one or more actuators is installed in the vehicle. The sensors or actuators may be associated with any of the vehicle's systems or subsystems. They may be incorporated into one or more devices or components of the vehicle. The step of generating the detected event sequence data may include detecting each event based on data obtained from the one or more sensors and / or one or more actuators associated with the vehicle.
[0027] For example, data obtained from one or more sensors may include information indicating that one or more buttons have been pressed, vehicle speed or acceleration, tire pressure, fuel level, battery charge status, engine status, etc. Sensor data may include image data, such as camera image data, LiDAR data, GPS data, etc. Data obtained from one or more actuators may include information indicating that windows have been moved, brakes have been applied or released, the engine has been started or stopped, the power has been started or stopped, windshield wipers have been started or stopped, left or right turns have been made, etc.
[0028] Each event can be detected by appropriate processing of data obtained from one or more sensors and / or one or more actuators associated with the vehicle. Data from more than one sensor and / or more than one actuator and / or a combination of one or more sensors and one or more actuators can be used when detecting a given event.
[0029] The detected event sequence data may include a time-series log of the detected events.
[0030] The steps of obtaining detected event sequence data may include accessing the data, for example, a database that accesses the data. Methods may include accessing a time-series log of detected events. However, in a preferred embodiment, the steps of obtaining detected event sequence data include generating the detected event sequence data. The steps of generating the data may include detecting multiple events related to the vehicle and storing data indicating each event in a manner that allows the position of each event within the vehicle-related detected event sequence to be determined. Events may be stored in any suitable manner that allows the order of events to be determined directly or indirectly. For example, each detected event may be associated with time data or numbers that allow the position of events within the detected event sequence to be determined. However, in other cases, the order of events may simply be implied by the order in which events are added to the log of detected events. Methods may include detecting multiple events related to the vehicle and storing data indicating each event in the time-series log. Therefore, the detected event sequence data may include a time-series log. In the case of accessing rather than generating detected event sequence data, the data may have any form obtained by generating it in the manner described herein.
[0031] Data indicating events in a detected event sequence may include data indicating the event type. Data indicating events may include event identifiers. It is envisioned that detected events can be identified as one of a predetermined list of detectable events. Different lists may be used for different vehicle types. Data can identify a given event by referring to an event code. Event codes may be in character form. Therefore, the detected event sequence data may include strings, with each character indicating an event. Characters, as used herein, may refer to letters, numbers, or symbols. Characters may form part of a finite set of characters (which may be referred to as an alphabet). Therefore, the predetermined list of detectable events may be a finite set of characters. This allows for the search of event patterns using string search techniques that seek a given string as described below.
[0032] The step of generating the detected event sequence data can be performed by any suitable subsystem. In this embodiment, the step is performed by a subsystem associated with the vehicle.
[0033] The method may include storing the generated detected event sequence data in a detected event sequence database. The method may also include adding a detected event to the detected event sequence database when a new event is detected. This database may be stored by a vehicle-associated subsystem (which may or may not include means for generating the detection data). However, in alternative embodiments, it is contemplated that the detected event sequence database may be stored remotely within the vehicle. The method will then involve transmitting the generated detected event sequence data for storage, for example, to a remote server.
[0034] A detected event is a vehicle-related event. The event may be related to the vehicle as a whole or one or more of its components, and may or may not be related to the movement of the vehicle. For example, the event may be related to a change in the state of the vehicle or one or more of its components, or a change in the movement of the vehicle. For example, and without limitation, a detected event may include any one or more of the following: turning the steering wheel left or right, opening or closing the driver's door, opening or closing the passenger door, starting or stopping the vehicle, increasing battery charge, increasing fuel level, moving a passenger window up or down, GPS or mobile network becoming connected or disconnected from the vehicle system, vehicle acceleration or deceleration, slow forward or backward movement of the vehicle, applying or releasing the brake while the vehicle is stationary, engaging or releasing the handbrake, and locking or unlocking the doors. Generally, a detected event may include any one or more of the following: steering wheel turning, door opening or closing, battery state change, fuel level change, window actuation, change in vehicle connectivity, acceleration or deceleration, vehicle movement in a given direction, applying or releasing the brake, door locking or unlocking, or any combination thereof.
[0035] Data indicating a given event may further include the time and / or location associated with the event. For example, this time and / or location may be associated with data indicating the type of event. The time and / or location may be any suitable reference time and / or location, such as the time the event was detected and / or the location of the device (and therefore the vehicle) at the time of detection. This data may be stored in association with data indicating, for example, the type of event in a database of detected event sequences. Location data may be obtained from any suitable location sensor (e.g., a GPS sensor). In some embodiments, time and / or location data may be used to provide the time and / or location to be associated with a matching event data pattern contained in a sample of probed data.
[0036] The method includes obtaining data on search patterns of indicative events. A search pattern of detected events is any pattern expected to be searched within a sequence of detected events related to a vehicle. The search pattern may be a pattern expected to indicate the presence of a Point of Interest (POI) relative to an electronic map. It has been found that certain detected event patterns can be associated with the presence of certain types of POIs. For example, a vehicle moving slowly forward and backward, in some cases, combined with other events (e.g., handbrake engaged or released, braking, door unlocking or locking, or acceleration or deceleration), may correspond to parallel parking maneuvers. For electric vehicles, an increase in vehicle battery charge when the vehicle is de-energized may indicate that the vehicle is charging. For example, and without limitation, POIs may be selected from indications of the presence of street parking spaces, private parking facilities (e.g., indoor parking facilities), vehicle repair facilities, car wash facilities, electric vehicle charging facilities, refueling facilities, or speed cameras.
[0037] For example, the search pattern for events may include one or more events (or sequences of events) expected to be associated with any one or more of the following: parking maneuvers, such as parallel parking, where applicable, vehicle charging or refueling, entering or leaving a parking facility, vehicle maintenance, vehicle washing in an automated vehicle washing facility, and movement in a speed camera area.
[0038] As described in more detail below, events may include those necessary to perform a maneuver (e.g., for parallel parking maneuvers), which may include slow forward and backward movement and steering actions, but may also include other events typically associated with parking maneuvers (e.g., engaging or disengaging the handbrake, braking, locking or unlocking doors, acceleration or deceleration). In some preferred embodiments, the events in the event pattern are those anticipated to be associated with parking (e.g., parallel parking maneuvers). The event pattern may then indicate the availability of on-street parking spaces.
[0039] Search patterns can in any way indicate what is needed in the detected event sequence to provide a match. In an embodiment, the step of using search pattern data and detected event sequence data to determine whether a match exists is performed by a pattern search engine. The search pattern can be data that can be used to configure the pattern search engine to find matching event patterns in the detected event sequence. This pattern search engine can be implemented by appropriate modules (e.g., software modules such as applets, scripts, or code) that can form part of a navigation application. The navigation application can be an application running on the same device that generates and transmits the probe data or on another device associated with the vehicle, although this is not required.
[0040] The data indicating the search pattern may include the search pattern itself or any data that makes the search pattern available. For example, the data may include a compressed or hashed version of the search pattern. In exemplary embodiments, the search pattern may be a search string or a regular expression, and the data indicating the search pattern may be a search string or a regular expression.
[0041] Search pattern data indicating the event can be obtained from any suitable source. In some embodiments, search pattern data is received from a search pattern providing subsystem. This subsystem may be implemented by a suitable module (e.g., a software module (e.g., an applet, script, or code)) that can form part of a navigation application. The navigation application may be an application running on the same device that generates and transmits the probe data or on another device associated with the vehicle. For example, search pattern data (e.g., search strings) may be integrated into the software of a navigation application running on the device (i.e., integrated into a navigation client). However, in yet another embodiment, it is envisioned that the search pattern providing subsystem may not need to be associated with a vehicle. This may be implemented using a server, which may then transmit the search pattern data for use in the techniques described herein. Thus, in some embodiments, search pattern data may be generated by a server and transmitted to the device for use in the methods described herein. Search pattern data may be obtained by the device during startup or during the configuration of a navigation application running on the device. This may occur automatically if the user has enabled pattern matching and probe data associated with the matched patterns described herein is generated. The server may generate search pattern data and distribute the data to multiple devices. The device may be a navigation device, that is, a device that runs a navigation application configured to perform the methods described herein using received search pattern data.
[0042] Whether implemented by a device, a server, or otherwise, the search pattern providing subsystem can obtain search pattern data for use by the methods described herein in any suitable manner. For example, the methods can be extended to subsystems that generate this data or obtain data from, for example, a database of predefined search patterns.
[0043] The step of obtaining (e.g., receiving) search pattern data indicating a search pattern of an event can occur at any desired time. For example, the step can occur at predefined time intervals, whenever a new event is detected, or every nth detected event, etc. The pattern matching process can be triggered by, for example, receiving search pattern data from a search pattern providing subsystem.
[0044] It should be understood that the steps of obtaining search pattern data and obtaining detected event sequence data can occur in any order or simultaneously.
[0045] Search pattern data can be obtained (e.g., received) by any suitable subsystem of a system implementing the methods disclosed herein. For example, the search pattern data can be received by a search engine configured to perform the step of using the search pattern data and detected event sequence data to determine whether a detected event pattern matching the obtained event exists in the detected event sequence. This search engine can be implemented by a suitable module (e.g., a software module (e.g., an applet, script, or code)) that can form part of a navigation application. The navigation application can be an application running on the same device that generates and transmits the probe data or on another device associated with the vehicle. In an embodiment, the search engine is implemented by a vehicle-associated subsystem, for example, provided by the device(s) associated with the vehicle. However, again, it is contemplated that the search engine can alternatively be implemented by a server. In such embodiments, the server would need to access the search pattern data and the detected event sequence data. The search engine can be any type of search engine capable of processing obtained search patterns, such as a regular expression engine.
[0046] Therefore, it will be seen that, although in some embodiments, the steps of generating detected event sequence data, obtaining search pattern data, and using the search pattern data and detected event sequence data to determine whether a match exists and then generating probe data as needed can be performed entirely by a vehicle-associated subsystem, entirely by one or more servers, or by any combination of several vehicle-based subsystems and several servers. If such steps are performed by a server, then the data required to generate the detected event sequence data (i.e., sensor and / or actuator data) will need to be transmitted to the server. In some preferred embodiments, the steps are performed entirely by a vehicle-associated subsystem. This provides a more bandwidth-efficient system. The steps can all be implemented by appropriate modules of a navigation application. The navigation application can run on one or more devices associated with the vehicle (including devices for generating and transmitting probe data samples).
[0047] Search pattern data can be obtained (e.g., received) from any suitable subsystem of a system implementing the methods described herein. In some embodiments, search pattern data is received from a server (e.g., a map server). Thus, search patterns can be obtained (e.g., generated) by the map server to obtain information about a POI of a given type. The step of obtaining search pattern data may include (i.e., wirelessly using an over-the-air (OTA) interface) receiving data from the server. In yet another embodiment, search pattern data may be obtained locally, for example, by a vehicle-associated subsystem. In either case, whether obtained locally or from a remote server, search pattern data can be generated or retrieved from a database of this data. For example, a database may provide data including multiple search patterns indicating events. Each pattern may be associated with a POI of a given type and / or a search pattern identifier. Combinations of these options are also contemplated. For example, a search pattern identifier may be received from a remote server and used to obtain the desired search pattern from a local storage database of search patterns. Thus, obtaining search pattern data may involve receiving data indicating a search pattern and / or retrieving this data from a database.
[0048] In any implementation of the method's various steps, search pattern data can indicate the search pattern of the event in any suitable manner. In some embodiments, search pattern data is associated with a search pattern identifier. This identifier is typically included in the generated probe data when a match is found, as described below.
[0049] The method involves using data indicating a search pattern and detected event sequence data to search for a predefined search pattern of detected event sequence data that can be considered as an acquired event. In some embodiments, the data indicating the detected event sequence includes multiple characters, and the search pattern for the event includes a search string. Each character in the detected event sequence may indicate a detected event of a given type. The method may then include searching the detected event sequence against the matching string. This step may be performed using a suitable string search algorithm. The characters forming the detected event sequence provide the text to be searched using the search string. Each character used in the detected event sequence may form one of a finite set of characters defining the types of detected events available. Characters may include any one or more of letters, numbers, and symbols.
[0050] The step of using search pattern data and detected event sequence data to determine whether a matching detected event pattern exists involves using at least a portion of the generated detected event sequence data. Therefore, the step may involve using all or a subset of the generated detected event sequence data. At least the most recent portion of the detected event sequence is used. In the case of using only a subset of the data, the subset includes multiple detected events. The events are consecutive events. For example, in some embodiments, only the most recent subset of the detected event sequence data may be used, such as a subset starting from the time immediately preceding the previous match between the detected event pattern and the discovered detected event sequence. This can be achieved by specifying a reset of the time offset associated with the pattern search engine each time a match is found.
[0051] In some embodiments, the search pattern for events specifies a precisely ordered set of events that must be found in at least a portion of the detected event sequence to determine a match. Therefore, only one ordered set of detected events will provide a match for the search pattern. In a simpler case, the search pattern data may indicate a string that needs to be found in at least a portion of the detected event sequence related to a vehicle to provide a match. In these embodiments, a match is determined if a precise sequence of characters in a string according to the search pattern data is found in at least a portion of the detected event sequence.
[0052] However, it has been recognized that in some cases, a search pattern for events can be expected to provide a match among any of multiple sets of ordered detected events found in at least a portion of a sequence of detected events. Therefore, in other embodiments, the search pattern for events specifies an event pattern that can be satisfied by any of multiple sets of different ordered detected events found in at least a portion of a sequence of detected events. This reflects the existence of variations in detected events associated with certain types of POIs. For example, returning to the parallel parking example, if a slow forward event precedes a slow backward event, then any of several different detected events between these desired events can be allowed, such as handbrake engagement or disengagement, steering wheel turn left or right. The precise sequence of detected events that can be associated with parallel parking maneuvers can depend on factors such as the driver's skill level, the size of the available parking space relative to the vehicle size, etc. Therefore, it can be expected that a match can be found in any of a range of scenarios that match the basic pattern of detected events associated with this maneuver.
[0053] In some embodiments, the search pattern is defined by a regular expression. A regular expression is a sequence of characters. A character sequence defines a search pattern. Therefore, a regular expression definition must be found in at least a portion of the detected event sequence to provide a matching combination. Each character in a regular expression is either a metacharacter or a regular character. Metacharacters have special meanings, while regular characters have their literal meanings. Several metacharacters can effectively control the precision required to provide a match. Regular expressions operate on the text of characters. Therefore, in embodiments, the search pattern may be defined by a regular expression that operates on the text provided by at least a portion of the detected event sequence.
[0054] Of course, string-based search techniques are merely one example of possible forms of search patterns and matching techniques that can be used according to the present invention. Similarly, image-based search can be used instead of text-based search techniques as described above. Any suitable search technique and therefore search pattern that enables the finding of matches with any desired level of precision in at least a portion of a detected sequence of events can be used. Other search techniques that can be used include, for example, nondeterministic finite automata, deterministic finite automata, recursive descent parsers, trigram search, fuzzy search, etc.
[0055] The steps for generating the sequence data of the detected events can be performed consecutively.
[0056] The step of using search pattern data and detected event sequence data to determine whether a match exists between the search pattern and at least a portion of the detected event sequence can be performed at any desired time. For example, this step can be performed periodically and / or triggered by adding new events to the detected event sequence. Therefore, the step can be performed on multiple occasions using the same search pattern data and different sets of detected event sequence data.
[0057] The method may be performed alternatively or additionally with respect to one or more further search pattern datasets. Any of these further search pattern datasets can be obtained in the same manner described with respect to (the first dataset). For example, a search pattern dataset can be obtained to determine matches indicating different types of POIs. Searches may be performed more than once (e.g., periodically) with respect to any further search pattern dataset or triggered by the addition of new events. The pattern search engine periodically (or as events are added) scans the sensor event sequence. When a matching pattern is found, the pattern search engine sets an offset to continue searching for new patterns. This offset in the sensor event sequence is initially set to the beginning of the sequence at the start of the navigation client application. In the case of performing searches with respect to one or more further search pattern datasets, searches may be performed continuously or simultaneously with different search patterns. Therefore, search patterns can be processed serially or in parallel.
[0058] According to the present invention, when a matching detected event pattern is found in at least a portion of a detected event sequence, a vehicle-associated device generates a detection data sample. The discovery of a matching detected event pattern triggers the generation of the detection data sample.
[0059] The detection data sample generated according to any aspect or embodiment of the present invention includes at least data indicating a matched event pattern and / or a search pattern, and data indicating the location of a device associated with the matched event pattern. Preferably, it includes at least data indicating the matched pattern (and location data).
[0060] The probe data sample may be in the form of a message that includes at least matching patterns and / or search patterns and location data.
[0061] Location data can indicate any reference location associated with a matched event pattern. For example, location data can be associated with data indicating an event in a matched detected event pattern of detected event sequence data. Alternatively, location data can indicate the location of a device when a search pattern of events matches an event pattern in a detected event sequence. The method may include the step of obtaining the location of a device associated with a matched event pattern. This step may include obtaining a location (e.g., current location) from a location sensor associated with the vehicle (e.g., GPS or similar location sensor) or retrieving a location from stored data (e.g., from stored detected event sequence data). Thus, location data can be a currently sensed location or a previously stored location.
[0062] The generated probe data may include additional data. For example, in some embodiments, the probe data further includes data indicating the time associated with the matched event pattern. This can be any suitable reference time. Similar to the location associated with the matched event pattern, the time can be the time when the match was found, such as the current time or the time associated with an event in a matched event pattern of the detected event sequence data. The step of obtaining time data may include obtaining the current time or obtaining the time from stored data (e.g., from stored detected event sequence data).
[0063] The generated probe data includes data indicating one or more, preferably both, of matching event patterns found in at least a portion of the detected event sequence, and data indicating a search pattern for the events. It should be understood that the search pattern and the matching pattern may or may not be different from each other, depending on the required precision of the match for the search pattern. In some embodiments, in addition to the search engine subsystem, the event search pattern providing subsystem may also provide data indicating the search pattern to the probe data sample generator. The probe data sample generator may receive data indicating matching patterns from the pattern search engine subsystem.
[0064] Regardless of whether a search pattern identifier is used when providing search pattern data to the search engine, the data indicating the search patterns provided to the probe data sample generator is preferably in the form of a search pattern identifier. In some preferred embodiments, the generated probe data includes data indicating the search pattern identifier. The generated probe data may also include data indicating the matched event patterns.
[0065] Search pattern identifiers can be in any form that enables the search pattern to be identified. They can be truncated or compressed forms of search pattern data, such as abbreviated search strings. For example, a search pattern identifier can be a compressed (e.g., hashed) version of the search pattern. Generally, search pattern identifiers enable the search pattern to be identified efficiently in terms of data size. Including search pattern identifiers in probe data allows the search patterns that cause matches to be identified, while also helping to limit the size of the probe data sample message.
[0066] Further information can be included in the probe data sample. For example, if the matching event search pattern indicates a POI of a given type, additional information related to the POI can be provided. This allows for the provision of more detailed POI data for performing operations related to the electronic map. The information can be any information available to the device providing the probe data. For example, if the matching event search pattern indicates a refueling facility, the probe data sample may include data indicating the type of fuel used by the vehicle. This indicates the type of fuel available at the POI.
[0067] It should be understood that the apparatus may generate and transmit probe data samples containing at least location data at times other than those specified with respect to the methods described herein (i.e., when a match is found between the search pattern of the event and the event pattern in at least a portion of the detected event sequence). For example, the apparatus may generate and transmit probe data samples at regular time intervals or in response to prompts from other factors.
[0068] After generating probe data samples, the method may include repeatedly generating updated detected event sequence data, obtaining search pattern data, and using at least a portion of the search pattern data and the updated detected event sequence data to find matches for the updated detected event sequence data relating to events that occurred after the time when the previous probe data samples were generated.
[0069] The apparatus can transmit the probe data samples immediately after their generation or in a subsequent stage. Probe data samples generated according to the methods described herein can be transmitted one at a time upon generation, or they can be transmitted in a batch with other probe data samples, which may or may not be triggered by a matching event pattern according to the methods described herein. As long as each probe data sample includes data indicating the matched event pattern and its associated time, it can subsequently be used by a server in a method (e.g., operation using electronic map data).
[0070] The probe data samples are preferably transmitted wirelessly, i.e., via an over-the-air (OTA) interface.
[0071] The method extends to receiving probe data samples transmitted by a device and using the probe data samples to (automatically) perform operations on electronic map data. This step can be performed by a server (e.g., a map provider's server). The electronic map comprises multiple segments representing navigable elements of a navigable network, the segments of the electronic map being connected by nodes, and the method includes reconstructing a path relative to the electronic map. The device can be an apparatus associated with a vehicle traversing a path through a navigable network covered by the electronic map.
[0072] The method may include using received probe data samples to perform operations on POI data associated with an electronic map. Operations may include adding, deleting, modifying, or verifying POIs associated with the electronic map. The method may include using location data associated with the probe data samples to identify locations relative to the electronic map, and using data indicating matched event patterns to identify the type of POI with which the operation is performed.
[0073] A POI can be any POI expected to be associated with a search pattern for the event. For example, and without limitation, a POI can be selected from: indications of the presence of street parking spaces, private parking facilities (e.g., indoor parking facilities), vehicle repair facilities, car wash facilities, electric vehicle charging facilities, refueling facilities, or speed cameras.
[0074] Operations can be performed on an electronic map (e.g., on POI data associated with it) based on (e.g., in response to) receiving a single probe data sample. However, it is desirable to confirm indications of POIs provided by a single probe data sample using other data sources (e.g., similar probe data samples received from a device associated with another vehicle, or other types of data, or probe data samples actually received at different times from the same device (e.g., during another trip performed by the same vehicle)).
[0075] In some embodiments, the method may additionally or alternatively include the step of storing received probe data samples in a database.
[0076] The aforementioned or each probe data sample, generated and transmitted as described herein, may be generated and transmitted as the device (and therefore the vehicle) traverses a path through a navigable network. The path may be any path from the origin location to the destination location. The path may be traversed by the device as part of a journey. The path may or may not be a path traversed while traveling along a predefined route to the destination. Therefore, the destination location may not necessarily be a predefined location. The path may then correspond to the path traversed by the device during the time period in which the device generates probe data samples, controlled according to the method described herein.
[0077] Each of these devices may be any means having location determination capabilities and being triggered to generate and transmit samples of probe data in the manner described herein. For example, a device may include components for accessing and receiving information from a WiFi access point or cellular communication network (e.g., a GSM device) and using this information to determine its location. However, in a preferred embodiment, the device includes a Global Navigation Satellite System (GNSS) receiver, such as a GPS receiver, for receiving satellite signals indicating the receiver's location at a specific point in time, and preferably receiving location-updated location information at regular time intervals. Such devices may include navigation devices, mobile telecommunications devices with positioning capabilities, wearable devices with positioning capabilities, location sensors, etc.
[0078] Generally, each of the aforementioned devices may be selected from: mobile devices, such as navigation devices, wearable devices, telephones, laptops or tablets, or devices such as navigation devices integrated into vehicles. The device is preferably a device running a navigation application.
[0079] Each or every device is associated with a vehicle. A vehicle may include, for example, trucks, cars, motorcycles, bicycles, boats, airplanes, etc. It should be understood that a vehicle may be powered in any suitable manner and includes electric vehicles. References to devices associated with a vehicle encompass any arrangement in which the device moves with the vehicle such that the location of the device can be considered to correspond to the location of the vehicle. In some embodiments, the device is associated with a vehicle traversing a corresponding path. Devices associated with a vehicle may be integrated with the vehicle or may be separate devices associated with the vehicle, such as mobile devices, portable navigation devices, or devices worn by vehicle occupants.
[0080] The device can be associated with a vehicle moving within a geographic area covered by an electronic map (i.e., along navigable elements of a navigable network represented by segments of the electronic map). The device can also be associated with a user.
[0081] The location data mentioned in this article may include a set of coordinates, such as latitude and longitude coordinates.
[0082] The device may be any device with location determination capabilities, and the device is arranged to transmit data indicating the current location of the device at different times (e.g., at predetermined time intervals). The device may be arranged to transmit data to a server, which may or may not be a server performing other steps of the methods described herein. The device may be a device on which a navigation application runs to enable the device to transmit location data at different times.
[0083] The present invention extends to a system for performing the method of the invention according to any of its aspects or embodiments.
[0084] According to a further aspect of the invention, the following is provided:
[0085] A system in which a vehicle-associated device generates and transmits a sample of detection data including location data, the system comprising:
[0086] A subsystem for obtaining detected event sequence data indicating a detected event sequence associated with the vehicle.
[0087] A subsystem for obtaining search pattern data of search patterns indicating events;
[0088] A subsystem for using the search pattern data and the detected event sequence data to determine whether a detected event pattern matching the search pattern of the obtained event exists in at least a portion of the detected event sequence;
[0089] And wherein when a detected event pattern matching the search pattern of the acquired event is found in at least a portion of the detected event sequence, the device is arranged to generate a probe data sample including data indicating one or both of the search pattern and the matched event pattern and data indicating the location of the device associated with the matched event pattern in the detected event sequence; the device is further arranged to transmit the generated probe data sample.
[0090] The invention may include, and in these further aspects, any or all of the features described with respect to the first aspect of the invention, and vice versa, to the extent that they are not inconsistent with each other. Therefore, unless explicitly stated herein, the system of the invention may include subsystems or components for performing any steps of the method.
[0091] The system includes vehicle-associated devices and may include one or more other devices and / or a server. The system may be a distributed system comprising vehicle-associated devices. This system may further include a server and optionally one or more other vehicle subsystems. Each subsystem mentioned in this further aspect of the invention may be provided by a server or a vehicle-associated subsystem, the vehicle may or may not include devices for generating and transmitting probe data. Each subsystem may be referred to as a “component” for performing the mentioned steps.
[0092] A subsystem or component for performing any step of the method may include a group or one or more processors configured (e.g., programmed) to do so. A given step may be performed using the same or a different group of processors as any other step. A combination of processor groups may be used to perform any given step. The system may further include a data storage component, such as a computer memory, for storing, for example, search patterns indicating events, sequences of detected events, and / or probe data or subsets thereof.
[0093] The method of the present invention is implemented by a computer. In a preferred embodiment, the method of the present invention involved in generating and transmitting probe data (e.g., generating detected event sequence data, obtaining search pattern data, and using the search pattern data and detected event sequence data to determine whether a match exists, and if a match exists, then generating and transmitting probe data) is implemented by one or more devices associated with a vehicle. Each of these devices may be arranged to run a navigation application. Thus, in embodiments, the system of the present invention includes one or more devices associated with a vehicle, including components or subsystems(s) for performing the various steps described herein, and the method steps described herein are performed by this group of one or more devices.
[0094] Any step involving the use of the methods according to the invention to generate and transmit (e.g.) several probe data samples in any aspect or embodiment thereof to perform operations with respect to electronic map data is advantageously performed by a server (e.g., a server of a map data provider).
[0095] It should be understood that the network of navigable elements mentioned herein, and any navigable element, is a navigable element of a real-world or physically navigable network. The network is represented electronically by electronic map data. In embodiments where a server is used to implement the method, the electronic map data may be stored by the server or otherwise accessible by the server. In the electronic map data, a navigable network is represented by multiple segments connected by nodes. Each segment of the electronic map represents at least a portion of the navigable elements of the navigable network.
[0096] The various functions of the techniques described herein can be performed in any desired and suitable manner. For example, the functions of the techniques described herein can be implemented in hardware or software as desired. Thus, for example, unless otherwise indicated, the various functional elements, levels, and “components” or “subsystems” of the techniques described herein may include (a number of) suitable processors, (a number of) controllers, functional units, circuit systems, circuits, processing logic, microprocessor arrangements, etc., operable to perform various functions, such as appropriate dedicated hardware elements (processing circuit systems / circuits) and / or programmable hardware elements (processing circuit systems / circuits) that can be programmed to operate in a desired manner.
[0097] It should also be noted here that, as those skilled in the art will understand, the various functions of the techniques described herein can be copied and / or executed in parallel on a given processor. Similarly, various processing levels can, if desired, share processing circuitry systems / circuits.
[0098] Furthermore, any one or more processing levels of the techniques described herein may be embodied as processing level circuitry / circuits, for example, in the form of one or more fixed-function units (hardware) (processing circuitry / circuits), and / or in the form of programmable processing circuitry / circuits that can be programmed to perform desired operations. Similarly, any one or more processing levels and processing level circuitry / circuits of the techniques described herein may be provided as separate circuit elements to any one or more other processing levels or processing level circuitry / circuits, and / or any one or more processing levels and processing level circuitry / circuits may be formed at least partially from shared processing circuitry / circuits.
[0099] This invention can be implemented with respect to paths traversing a navigable network comprising any type of navigable element. Preferably, the navigable element is a road element (of a road network). While exemplary embodiments refer to road elements of a road network, it should be understood that the invention is applicable to any form of navigable element, including elements of paths, rivers, canals, bicycle paths, boat paths, railway lines, or the like. For ease of reference, these are generally referred to as road elements of a road network.
[0100] The methods according to the invention can be implemented at least in part using software (e.g., a computer program) in any of the aspects described herein. Thus, it will be seen, when viewed from further embodiments, that the techniques described herein provide computer software particularly suitable for performing the methods described herein when mounted on a data processor, computer program elements including computer software code portions for performing the methods described herein when program elements are run on the data processor, and computer programs including code suitable for performing all steps of one or more methods described herein when the program is run on a data processing system. The data processor may be a microprocessor system, a programmable FPGA (Field-Programmable Gate Array), etc.
[0101] The techniques described herein also extend to computer software carriers that include this software, which, when used to operate a display processor or a microprocessor system including a data processor, causes the controller or system to perform the steps of the methods described herein in conjunction with the data processor. This computer software carrier may be a physical storage intermediate (e.g., a ROM chip, CD-ROM, RAM, flash memory, or disk), or it may be a signal (e.g., an electronic signal transmitted through a wire, an optical signal, or a radio signal, for example, to a satellite or the like).
[0102] It should be further understood that not all steps of the methods described herein need to be performed by computer software, and therefore, in a further broad embodiment, the techniques described herein provide computer software installed on a computer software carrier for performing at least one step of the methods set forth herein.
[0103] Therefore, the techniques described herein can be suitably embodied as a computer program product for use with a computer system. This embodiment may include a series of computer-readable instructions fixed on a tangible, non-transitory intermediate (e.g., a computer-readable intermediate such as a floppy disk, CD-ROM, ROM, RAM, flash memory, or hard disk). It may also include a series of computer-readable instructions that can be transmitted to the computer system via a modem or other interface device through a tangible intermediate (including, but not limited to, optical or analog communication lines) or invisibly using wireless technologies (including, but not limited to, microwave, infrared, or other transmission technologies). The series of computer-readable instructions embodies all or part of the functionality previously described herein.
[0104] The present invention may include any features described with reference to other aspects or embodiments of the invention to the extent that they are not inconsistent with each other, according to any further aspect or embodiment thereof.
[0105] Any reference to comparing one project with another may involve comparing either project with another project in any way.
[0106] It should be noted that the phrase “associated with” regarding one or more fragments or elements should not be interpreted as requiring any specific restrictions on the location of data storage. The phrase only needs to be identifiable associating with the element. Therefore, association can be achieved, for example, by referring to a side file potentially located in a remote server.
[0107] Unless explicitly stated otherwise, it should be understood that the invention may include any or all of the features described with respect to other aspects or embodiments of the invention to the extent that they are not mutually exclusive. In particular, while various embodiments of operations that may be performed in a method and by a system or device have been described, it should be understood that any one or more or all of these operations may be performed in a method and by a system or device in any combination (as desired and as required).
[0108] The advantages of these embodiments are set forth below, and further details and features of each of these embodiments are defined elsewhere in the appended dependent claims and in the detailed description below.
[0109] Any method according to the invention can be implemented at least in part using software (e.g., a computer program). Therefore, the invention also extends to computer programs comprising computer-readable instructions executable to perform methods according to any aspect or embodiment of the invention.
[0110] Unless explicitly stated otherwise, it should be understood that the invention may include any or all of the features described with respect to other aspects or embodiments of the invention to the extent that they are not mutually exclusive. In particular, while various embodiments of operations that may be performed in a method and by a system or device have been described, it should be understood that any one or more or all of these operations may be performed in a method and by a system or device in any combination (as desired and as required).
[0111] The advantages of these embodiments are set forth below, and further details and features of each of these embodiments are defined elsewhere in the appended dependent claims and in the detailed description below. Attached Figure Description
[0112] Embodiments of the present invention will now be described by way of example only with reference to the accompanying drawings, wherein:
[0113] Figure 1 This is an illustrative illustration of a demonstrative portion of the Global Positioning System (GPS) that can be used by navigation devices;
[0114] Figure 2 This is a schematic diagram of a communication system used for communication between a navigation device and a server;
[0115] Figure 3 yes Figure 2A schematic illustration of a navigation device or any other electronic component suitable for navigation;
[0116] Figure 4 This is a schematic diagram of the layout for installing and / or docking navigation devices;
[0117] Figure 5 It is by Figure 3 A schematic representation of the stacked architecture used in the navigation device;
[0118] Figure 6 Explain the various forms that navigation devices can take;
[0119] Figure 7 Explain the various devices that can be associated with the vehicle;
[0120] Figure 8 This illustrates another exemplary navigation system;
[0121] Figure 9 This describes an example of a system 500 that can be used to implement embodiments of the present invention;
[0122] Figure 10 This is a flowchart illustrating one embodiment of the method according to the present invention;
[0123] Figure 11 This is a schematic diagram indicating a system 600 that can be used to implement the method according to the invention;
[0124] Figure 12 It is similar to the method that can be used to implement the present invention. Figure 11 A schematic diagram of another system 700 of the system. Detailed Implementation
[0125] Reference Figures 1 to 5 The description relates to systems that can be used to implement the invention. A specific embodiment is described with reference to a portable navigation device (PND). However, it should be understood that the teachings of the invention are not limited to PNDs but are instead generally applicable to devices capable of transmitting probe data samples to a server, including (but not limited to) any type of processing device configured to execute navigation software in a portable manner to provide route planning and navigation functionality. References below... Figure 6 and 7Some exemplary devices of this kind are described. Therefore, it is inferred that in the context of this application, navigation devices are intended to include (but are not limited to) any type of route planning and navigation device regardless of whether said device is embodied as a PND, and include devices integrated into vehicles (e.g., automobiles) or practically portable computing resources (e.g., portable personal computers (PCs), mobile phones, or personal digital assistants (PDAs) that execute route planning and navigation software). The invention is also applicable to devices capable of transmitting probe data samples, which may not necessarily be configured to execute navigation software, but are arranged to transmit probe data samples and implement the other functionalities described herein.
[0126] Furthermore, embodiments of the invention are described with reference to road sections. It should be understood that the invention is also applicable to other navigable road sections, such as paths, rivers, canals, bicycle paths, boat paths, railway lines, or the like. For ease of reference, these are generally referred to as road sections.
[0127] As will become apparent below, this can occur even when route planning is being performed, even in situations where the user is not seeking instructions on how to navigate from one point to another, but simply wants to be provided with a view of a given location. In such situations, the “destination” location chosen by the user does not need to have a corresponding starting point from which the user wishes to begin navigation, and therefore, references to the “destination” location or, in effect, to the “destination” view herein should not be construed as implying that route generation is essential, that traveling to the “destination” must occur, or that the existence of the destination actually requires specifying a corresponding starting point.
[0128] Remember the above conditions. Figure 1 The Global Positioning System (GPS) and similar systems are used for a variety of purposes. Generally, GPS is a satellite-based radio navigation system capable of determining continuous position, velocity, time, and in some cases, direction information for an unlimited number of users. Formerly known as NAVSTAR, GPS incorporates multiple satellites orbiting the Earth in extremely precise orbits. Based on these precise orbits, GPS satellites can relay their positions as GPS data to any number of receiving units. However, it should be understood that other global positioning systems, such as GLOSASS, the European Galileo system, COMPASS, or IRNSS (Indian Regional Navigation Satellite System), can also be used.
[0129] The GPS system is implemented when a device specifically equipped to receive GPS data begins scanning radio frequencies for GPS satellite signals. After receiving radio signals from GPS satellites, the device determines the precise position of the satellites using one of several different conventional methods. In most cases, the device continues scanning for signals until it has acquired at least three different satellite signals (note that the position is usually not determined using only two signals, but can be determined using other triangulation techniques). Performing geometric triangulation, the receiver uses three known positions to determine its own two-dimensional position relative to the satellites. This can be done in a known manner. Additionally, acquiring a fourth satellite signal allows the receiving device to calculate its three-dimensional position using the same geometric calculations in a known manner. Position and velocity data can be continuously updated in real time by an unlimited number of users.
[0130] like Figure 1 As shown, the GPS system 100 includes multiple satellites 102 orbiting the Earth 104. A GPS receiver 106 receives GPS data from the multiple satellites 102 as spread-spectrum GPS satellite data signals 108. The spread-spectrum data signals 108 are continuously transmitted from each satellite 102, each transmission including a data stream containing information identifying the specific satellite 102 from which the data stream originates. The GPS receiver 106 typically requires spread-spectrum data signals 108 from at least three satellites 102 to calculate two-dimensional position. Reception of a fourth spread-spectrum data signal enables the GPS receiver 106 to calculate three-dimensional position using known techniques.
[0131] Turn Figure 2 The navigation device 200 (e.g., a PND), including or coupled to the GPS receiver device 106, can, as needed, establish a data session with the network hardware of a "mobile" or telecommunications network via a mobile device (not shown) (e.g., a mobile phone, PDA, and / or any device with mobile phone technology) to establish a digital connection, such as via a digital connection using known Bluetooth technology. Subsequently, the mobile device can establish a network connection with the server 150 (e.g., via the Internet) through its network service provider. Thus, a "mobile" network connection can be established between the navigation device 200 (which can be and is typically mobile when it is alone and / or traveling in a vehicle) and the server 150 to provide a "real-time" or at least very "up-to-date" information gateway.
[0132] Establishing a network connection between a mobile device (via a service provider) and another device (e.g., server 150) using, for example, the Internet can be accomplished in known ways. In this regard, any number of suitable data communication protocols can be employed, such as the TCP / IP layered protocol. Furthermore, the mobile device can utilize any number of communication standards, such as CDMA2000, GSM, IEEE 802.11a / b / c / g / n, etc.
[0133] Therefore, it can be seen that an Internet connection can be used, which can be achieved (for example) via a data connection, via mobile phone technology within a mobile phone or navigation device 200.
[0134] Although not shown, navigation device 200 may of course incorporate its own mobile phone technology (e.g., include an antenna, or optionally use an internal antenna of navigation device 200). The mobile phone technology within navigation device 200 may include internal components and / or may include an insertable card (e.g., a Subscriber Identity Module (SIM) card), along with the necessary mobile phone technology and / or antenna. Therefore, the mobile phone technology within navigation device 200 can similarly establish a network connection between navigation device 200 and server 150 via (e.g.) the Internet in a manner similar to that of any mobile device.
[0135] For phone settings, Bluetooth-enabled navigation devices can be used to work correctly with constantly changing mobile phone models, manufacturers, etc. Model / manufacturer-specific settings can be stored on the navigation device 200, for example. The stored data for this information can be updated.
[0136] exist Figure 2 In this design, navigation device 200 is depicted communicating with server 150 via a general communication channel 152, which can be implemented by any of several different arrangements. Communication channel 152 generally represents the propagation medium or path connecting navigation device 200 and server 150. When a connection is established between server 150 and navigation device 200 via communication channel 152 (note that this connection can be a data connection via a mobile device, a direct connection via the Internet via a personal computer, etc.), server 150 and navigation device 200 can communicate.
[0137] Communication channel 152 is not limited to a specific communication technology. Furthermore, communication channel 152 is not limited to a single communication technology; that is, channel 152 may contain several communication links using various technologies. For example, communication channel 152 may be adapted to provide paths for electrical, optical, and / or electromagnetic communications, etc. Therefore, communication channel 152 includes (but is not limited to) one or a combination of the following: circuits, electrical conductors (e.g., wires and coaxial cables), fiber optic cables, converters, radio frequency (RF) waves, atmosphere, free space, etc. In addition, communication channel 152 may include intermediate devices, such as routers, repeaters, buffers, transmitters, and receivers.
[0138] In one illustrative arrangement, communication channel 152 includes telephone and computer networks. Furthermore, communication channel 152 may be adapted for wireless communication, such as infrared communication, radio frequency communication (e.g., microwave frequency communication), etc. Additionally, communication channel 152 may be adapted for satellite communication.
[0139] The communication signals transmitted through communication channel 152 include (but are not limited to) signals required or desired by a given communication technology. For example, the signals may be adapted for use in cellular communication technologies such as Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), etc. Both digital and analog signals may be transmitted through communication channel 152. These signals may be modulated, encrypted, and / or compressed signals as desired by the communication technology.
[0140] In addition to other components that may not be specified, server 150 includes a processor 154 operatively connected to memory 156 and further operatively connected to mass storage device 160 via wired or wireless connection 158. Mass storage device 160 contains storage for navigation data and map information and may again be a separate device from server 150 or may be incorporated into server 150. Processor 154 is further operatively connected to transmitter 162 and receiver 164 to transmit information to navigation device 200 and receive information from navigation device 200 via communication channel 152. The transmitted and received signals may include data, communications, and / or other propagated signals. Transmitter 162 and receiver 164 may be selected or designed according to the communication requirements and communication technologies used in the communication design of navigation system 200. Furthermore, it should be noted that the functions of transmitter 162 and receiver 164 may be combined into a single transceiver.
[0141] As mentioned above, the navigation device 200 can be arranged to communicate with the server 150 via communication channel 152 using transmitter 166 and receiver 168 to send and receive signals and / or data. It should be noted that these devices can be further used to communicate with devices other than the server 150. Furthermore, transmitter 166 and receiver 168 are selected or designed according to the communication requirements and technologies used in the communication design of the navigation device 200, and the functions of transmitter 166 and receiver 168 can be combined into a single transceiver, as described above regarding... Figure 2 Description. Of course, the navigation device 200 includes other hardware and / or functional components, which will be described in further detail below.
[0142] The software stored in server memory 156 provides instructions to processor 154 and allows server 150 to provide services to navigation device 200. One service provided by server 150 involves processing requests from navigation device 200 and transferring navigation data from mass storage 160 to navigation device 200. Another service that may be provided by server 150 includes processing navigation data using various algorithms for the desired application and sending the results of these calculations to navigation device 200.
[0143] Server 150 constitutes a remote data source that can be accessed by navigation device 200 via a wireless channel. Server 150 may include a network server located on a local area network (LAN), wide area network (WAN), virtual private network (VPN), etc.
[0144] Server 150 may include a personal computer, such as a desktop or laptop computer, and communication channel 152 may be a cable connecting the personal computer and navigation device 200. Alternatively, the personal computer may be connected between navigation device 200 and server 150 to establish an Internet connection between server 150 and navigation device 200.
[0145] Information from server 150 can be provided to navigation device 200 via information download. This information may be updated from time to time, automatically after a user connects navigation device 200 to server 150, and / or more dynamically after a more continuous or frequent connection is established between server 150 and navigation device 200 via, for example, a wireless mobile connection device and a TCP / IP connection. For many dynamic calculations, processor 154 in server 150 can be used to handle most of the processing needs; however, the processor of navigation device 200 (in...) Figure 2 (Not shown in the text) It can also typically handle many processing and computations independently of the connection to server 150.
[0146] refer to Figure 3It should be noted that the block diagram of navigation device 200 does not include all components of the navigation device, but only represents a number of example components. Navigation device 200 is located within a housing (not shown). Navigation device 200 includes a processing circuitry system including, for example, the processor 202 mentioned above, which is coupled to input device 204 and display device (e.g., display screen 206). Although input device 204 is referred to herein in the singular, those skilled in the art will understand that input device 204 means any number of input devices, including keyboard devices, voice input devices, touch panels, and / or any other known input devices for inputting information. Similarly, for example, display screen 206 may include any type of display screen, such as a liquid crystal display (LCD).
[0147] In one arrangement, one aspect of the input device 204, the touch panel, and the display screen 206 is integrated to provide an integrated input and display device (including a touchpad or touchscreen input 250). Figure 4 The system allows for both information input (via direct input, menu selection, etc.) and information display via a touch panel screen, enabling users to select one of multiple display options or activate one of multiple virtual or "soft" buttons simply by touching a portion of the display screen 206. In this regard, the processor 202 supports a graphical user interface (GUI) that integrates with touchscreen operation.
[0148] In navigation device 200, processor 202 is operably connected to input device 204 via connection 210 and is capable of receiving input information from input device 204, and is operably connected to at least one of display screen 206 and output device 208 via corresponding output connection 212 to output information to it. Navigation device 200 may include output device 208, such as an audible output device (e.g., a speaker). Because output device 208 can generate audible information for the user of navigation device 200, it should also be understood that input device 204 may also include a microphone and software for receiving input voice commands. Furthermore, navigation device 200 may also include any additional input device 204 and / or any additional output device, such as an audio input / output device.
[0149] Processor 202 is operatively connected to memory 214 via connection 216 and further adapted to receive / send information from input / output (I / O) port 218 via connection 220, wherein I / O port 218 may be connected to an external I / O device 222 of navigation device 200. For example, external I / O device 222 may include (but is not limited to) an external listening device, such as a handset. The connection to I / O device 222 may further be a wired or wireless connection to any other external device (e.g., a car stereo unit) for hands-free operation and / or voice activation, for connection to a handset or headset, and / or for connection to a mobile phone, wherein the mobile phone connection may be used, for example, to establish a data connection between navigation device 200 and the Internet or any other network and / or, for example, to establish a connection to a server via the Internet or some other network.
[0150] The memory 214 of the navigation device 200 includes a portion of non-volatile memory (e.g., for storing program code) and a portion of volatile memory (e.g., for storing data when the program code is executed). The navigation device also includes a port 228 that communicates with the processor 202 via a connection 230 to allow the addition of a replaceable memory card (commonly referred to as a card) to the device 200. In the described embodiment, the port is arranged to allow the addition of an SD (Secure Digital) card. In other embodiments, the port may allow other formats of memory to be connected (e.g., flash memory (CF) cards, memory sticks, xD memory cards, USB (Universal Serial Bus) flash drives, MMC (Multimedia Cards), SmartMedia cards, micro hard drives, or the like).
[0151] Figure 3 Further explanation of the operational connection between processor 202 and antenna / receiver 224 via connection 226, wherein antenna / receiver 224 may be, for example, a GPS antenna / receiver and will therefore be used as Figure 1 GPS receiver 106. It should be understood that the antenna and receiver indicated by component symbol 224 are schematically combined for illustration purposes, but the antenna and receiver may be separately positioned components, and the antenna may be, for example, a GPS patch antenna or a helical antenna.
[0152] Of course, those skilled in the art will understand. Figure 3 The electronic components shown are powered in a conventional manner by one or more power sources (not shown). Such power sources may include an internal battery and / or a low-voltage DC power input or any other suitable arrangement. As will be understood by one of ordinary skill in the art, careful consideration is advised. Figure 3 The different configurations of the components shown in the image. For example, Figure 3The components shown herein can communicate with each other via wired and / or wireless connections and the like. Therefore, the navigation device 200 described herein can be a portable or handheld navigation device 200.
[0153] In addition, for example, Figure 3 The portable or handheld navigation device 200 can be connected or "docked" to a vehicle (e.g., a bicycle, motorcycle, car, or boat) in a known manner. This navigation device 200 can then be removed from the docking position for portable or handheld navigation use. In practice, in other embodiments, the device 200 may be arranged in a handheld configuration to allow the user to navigate.
[0154] refer to Figure 4 The navigation device 200 may include an integrated input and display device 206 and Figure 2 Other components (including, but not limited to, internal GPS receiver 224, processor 202, power supply (not shown), memory system 214, etc.) units.
[0155] The navigation device 200 may be mounted on an arm 252, which itself may be secured to a vehicle dashboard, window, or similar object using a suction cup 254. This arm 252 is one example of a docking station to which the navigation device 200 may be docked. For example, the navigation device 200 may be docked or otherwise connected to the arm 252 by snapping it onto the arm. The navigation device 200 may then be rotated on the arm 252. For example, to release the connection between the navigation device 200 and the docking station, a button (not shown) on the navigation device 200 may be pressed. Other equally suitable arrangements for coupling and decoupling the navigation device 200 from the docking station are well known to those skilled in the art.
[0156] Of course, the navigation device does not need to be provided by a PND-type device as described below. As described below, when running a navigation client, a wide range of general-purpose computing devices can provide the functionality described by reference to navigation device 200 and can communicate with the server in the same manner.
[0157] Turn Figure 5The processor 202 and memory 214 cooperate to support a BIOS (Basic Input / Output System) 282, which serves as an interface between the functional hardware components 280 of the navigation device 200 and the software executed by the device. The processor 202 then loads from memory 214 an operating system 284 that provides an environment in which application software 286 (implementing some or all of the route planning and navigation functionality) can run. The application software 286 provides an operating environment including a graphical user interface (GUI) that supports the core functions of the navigation device, such as map viewing, route planning, navigation functions, and any other associated functions. In this regard, a portion of the application software 286 includes a view generation module 288.
[0158] In the described embodiment, the processor 202 of the navigation device is programmed to receive GPS data received by the antenna 224 and, when triggered according to the method described herein, stores the GPS data along with a timestamp indicating when the GPS data was received in memory 214 to establish a record of the navigation device's location. Each data record thus stored can be considered a GPS location; that is, it is a location of the navigation device and includes latitude, longitude, and a timestamp. This data is referred to herein as a probe data sample.
[0159] Furthermore, processor 202 is configured to upload each sample of probed data (i.e., GPS data and timestamps) to server 150. Navigation device 200 may have a permanent or at least normally existing communication channel 152 connecting it to server 150.
[0160] In the described embodiment, the probe data samples provide one or more trajectories, each representing the movement of the navigation device 200 within an applicable period (e.g., while traversing a given path). A server 150 is configured to receive the received probe data samples and store these samples as a record of the device's movement in a mass storage device 160 for processing. Thus, over time, the mass storage device 160 accumulates multiple records of the movement of the navigation device 200 with uploaded probe data samples. The server can reconstruct the probe data samples forming the trajectory, for example, by associating common elements (e.g., device identifier values or the period associated with the data) with the entire trajectory, rather than with each probe data sample constituting the trajectory. After moving the common elements to the trajectory level, individual probe data samples in the trajectory may contain at least a position value and a time offset within the period associated with the trajectory (e.g., time since the start of the period or sequence number).
[0161] As discussed above, the large-capacity data storage device 160 also contains map data. This map data provides information about road segments, the location of points of interest, and other such information typically found on maps.
[0162] As mentioned above, the term "navigation device" as used herein should be understood to encompass any form of device that runs a suitable navigation client, and is not limited to such devices. Figure 4 The specific purpose of the PND type device described herein is used. The navigation client is a software application running on a computer device. The navigation device can be implemented using a wide range of computing devices. Figure 7 Some of these exemplary devices are displayed in the exhibition.
[0163] Figure 6 All the devices in the document include navigation screens to assist users in navigating to their desired destination. These devices range from personal navigation devices (PNDs) (which are single-purpose computing devices (top left)) to general-purpose computing devices in the form of mobile phones (top right), laptops (bottom left), and in-vehicle integrated computing devices (bottom right). Of course, these are just some examples of the wide range of general-purpose computing devices that can be used to run navigation clients. For example, tablet computers or wearable devices (such as watches) can be used.
[0164] Vehicles can have multiple computing devices and multiple displays to support the driver, such as Figure 7 It is displayed in the middle. Figure 7 The interior of the vehicle is shown, featuring a steering wheel 300, a first display area 320 behind the steering wheel, a head-up display 330 projected onto the windshield, a central display 340, and multiple controls (buttons, touchscreens) 350. Furthermore, the vehicle supports the use of mobile devices within its automotive computer environment.
[0165] exist Figure 8 The diagram illustrates the functionality of another exemplary navigation system 400. The system includes a navigation client 402, which can be provided by a software application running on any suitable computing device, as shown in the reference... Figure 6 and 7 For example, system 400 also includes a map server 404, a traffic information server 406, and an in-vehicle control system 408. These components are described in more detail below. It should be understood that the navigation system will include multiple navigation clients 402 that communicate with the map server 404 and the traffic information server 406.
[0166] Navigation client 402
[0167] The navigation client is provided by a navigation application running on a computing device. Navigation client 402 provides user input and output devices 410, 412 common to most computing devices. The navigation client also provides a map data controller 414 that acquires map data and stores it in the non-volatile memory of the computing device on which the navigation application providing the client runs. In addition to conventional computing device components (e.g., processing unit, memory, display, long-term memory (flash memory), network interface), the navigation device on which the navigation application runs also includes a position sensor 416. Figure 8 Such more conventional components are not shown in the document. Figure 8 Explain those components that are more relevant to supporting navigation functionality.
[0168] The navigation client 400 operates using an electronic map of the geographic area. The map information may be stored locally on the device (e.g., in non-volatile, solid-state memory) or retrieved from a navigation server. The navigation client uses the electronic map to generate a map view of the geographic area of interest on the display of the computing device. Typically, the geographic area is centered on the current location of the computing device running the navigation client software application.
[0169] The current location is determined using a position sensor 416, which may employ any of a wide range of position sensing technologies, such as satellite positioning (GPS, GNSS, ...), WiFi (wireless triangulation), mobile phone tracking, Bluetooth beacons, image analysis (examples of which are described in the applicant's PCT / EP2016 / 068593, PCT / EP2016 / 068594, PCT / EP2016 / 068595 and PCT / IB2016 / 001198, the full contents of which are incorporated herein by reference), map matching, dead reckoning, and other position sensing technologies. In the event of a position sensing error, map matching may be used to adjust (some) measured positions to best match road segments on a map.
[0170] The navigation client 402 assists the user in navigating from their current location to their destination. The destination can be entered using the destination selection module 418. The route planning module 420 of the navigation client calculates the route to the selected destination. In addition to the electronic map, the route planning module 420 also obtains current traffic information to determine the estimated travel time or estimated arrival time. The current traffic information describes the current situation on the road network within the geographic area of the electronic map. This includes current average speed, current traffic density, current road closures, etc. The route planning module 420 can present the preferred route and alternative routes that allow the end user to select the preferred route.
[0171] The navigation client's guidance module 422 uses a selected preferred route to guide the end user to a selected destination. This can be achieved using a display showing a portion of the map and the route to the destination. Guidance can also take the form of additional graphical indicators on the display. Most navigation clients also support audio guidance with turn-by-turn instructions.
[0172] The navigation client generates location probes and provides these probes to a traffic information server that uses these probes to calculate and update traffic information. The navigation client 402 includes a location probe generator 418 and a probe interface 420 for implementing these functions.
[0173] The navigation client 402 also includes an HTTPS client for communicating with the map server 404 and the traffic information server 424.
[0174] Map server 404
[0175] A map server (404) is an infrastructure used to store, manage, and create large amounts of information for creating electronic maps and using those maps for navigation. Map servers can be provided by cloud server systems.
[0176] Map server 404 includes map compiler 430 that receives map data from map generation unit 432. Map generation unit 432 receives map source data from map data source 434 and converts it into a suitable format for inclusion in an electronic map. For example, map compiler 430 can classify map data into corresponding layers and tiles for use in an electronic map. Map server 404 further includes map data service 436 and map metadata service 436. The combination of map data service 436 and map metadata service 436 may be referred to as a "cloud service". HTTPS client 424 can retrieve map metadata from map metadata service 436 and then use the metadata as needed to retrieve map data from map data service 438.
[0177] Typical navigation server management and a wide range of countries (approximately 200 countries) 10 7 Up to 10 8 The navigation server contains map information associated with a road network spanning kilometers. This map information needs to be of high quality, therefore the server infrastructure processes updates to the map information at an average rate of approximately 1000 updates per second. Additionally, the map information needs to be distributed to navigation clients via a global infrastructure. Besides cloud computing systems, this distribution requires a complex content distribution network to generate the map information to be distributed. The navigation server also aggregates, processes, and distributes real-time traffic information.
[0178] Traffic Information Server 406
[0179] Traffic information server 406 includes traffic information compiler 440 that compiles traffic information using data obtained from probe data source 442. Probe data source 442 receives data from probe data service 446, which is configured to receive probe data from navigation clients. Traffic information compiler 440 provides traffic information to traffic information service 444, which communicates with HTTPS client 424 to provide traffic information to it.
[0180] Traffic information server 406 provides road and traffic information to navigation client 402.
[0181] Map information typically contains static traffic information based on historical data. For more dynamic traffic information (e.g., traffic density, parking availability, accidents, road closures, updated road signs, and points of interest), traffic information servers receive location probe data from navigation clients. The traffic information compiler uses current location probe data obtained from multiple navigation clients to generate current traffic information.
[0182] Location detection data
[0183] During normal operation, the navigation client 402 periodically sends location detection data to the traffic information server 406. The location detection data includes information about the navigation client's recent or current location. The location detection data can be combined into a set of detection data elements, commonly referred to as a trajectory. The traffic information server 406 uses the trajectory or detection data to estimate current traffic information. This information includes parameters of road segments, such as current average speed and current traffic density. The traffic information server 406 processes the location detection data to provide real-time traffic information to the navigation client 402, thereby enabling better route generation and improved estimated travel time to the destination.
[0184] The term "location detection" (or "detection") refers to a data sample that contains at least location information indicating the location of a navigation client (i.e., the device implementing the client). Typically, location data will include longitude and latitude values (both with a typical accuracy of approximately 10 meters). Detection data samples may contain other data, such as time values. Time values provide the time associated with the location data and can be received from the positioning system to correspond to the time when the location data was generated or to the time when the detection data sample was transmitted. Detection data samples may also contain device identifier values (uniquely associated with the end-user device and the user).
[0185] The term "track" describes a set of location probes associated with the same device, user, and common period. Track data can be reconstructed at the server, for example, by associating common elements (such as device identifier values or time periods associated with probe data) with the track, rather than with each probe that constitutes the track. After moving the common elements to the track level, the individual probes in the track contain at least a location value and a temporal offset within the period (e.g., time since the start of the period or sequence number).
[0186] Figure 9 An example of a system 500 that can be used to implement embodiments of the present invention is illustrated. As shown, a vehicle 510 includes a set of interconnected devices 512 capable of communicating with each other via an in-vehicle network 514. Some devices 512 are also connected to a long-range wireless network 516 (e.g., cellular telephone network, GSM G1-G4, G5, narrowband-IoT, LoRa, etc.), which provides access to one or more Internet services, for example, via a server 518.
[0187] Figure 9 This describes several devices 512 attached to the vehicle's network. Each device 512 typically includes a processor, some memory, and a network interface. At least some devices 512 are also equipped with one or more sensors 513, such as microphones, cameras, accelerometers, positioning sensors, proximity sensors, radar, laser rangefinders, ambient light detectors, etc. Some devices 512 may be embedded in the vehicle, such that their sensor(s)513 have a fixed orientation. However, some devices 512 may belong to the user, such as the user's smartphone, and therefore may need to be installed in the appropriate location before they can be reliably used.
[0188] Any device 512 connected to the vehicle network 514 can be configured to share its resources (e.g., sensors 513) with other devices 512 in the network 514. For example, a mobile device can be enabled to access a video sensor embedded in the device (which is embedded in the vehicle). Similarly, an application running in an embedded device can be enabled to access a long-range wireless network of the mobile device. Thus, the device 512 can communicate within an "Internet of Things" type infrastructure that allows it to share resources.
[0189] Sensors, actuators, computing devices, and in-vehicle networks can provide [the following]. Figure 8 The type of vehicle control system referred to in China as "408".
[0190] At least one device 512 can run a navigation application to... Figure 8The navigation client is provided in the manner described above. As described, the navigation application can assist users in navigating to new destinations, or it can simply provide information for navigating to familiar destinations (home, work, etc.). In both modes, the navigation application can use locally stored map information and receive map information from a map server using a long-range wireless network 516.
[0191] Map server 516 (or Figure 8 Map servers (434) provide a wide range of map information. It should be understood that map information related to road networks is relatively static and can be scheduled for updates in advance, as road works can take months to years to complete. However, other map information (e.g., traffic density, accidents, road closures, updated road signs, points of interest, etc.) can be more dynamic. Map content providers can observe location data points from navigation applications to detect differences between historical and recent navigation data. Such differences can indicate changes in map information. This and other types of reporting are handled by the map update system.
[0192] Now through reference Figures 10 to 12 Some embodiments of the present invention are described below.
[0193] At least in embodiments, the method according to the invention can provide data that can be used by a map update system to determine whether a map update may be necessary, specifically, though not exclusively, regarding POI information associated with an electronic map. The method of the invention enables this data to be automatically generated and provided to a map update server.
[0194] According to the present invention, a probe data sample is generated that also contains indications of a specific sequence of detected events occurring in a vehicle near a location associated with the probe data sample. A detected event is an event detected based on data obtained from one or more sensors and / or one or more actuators associated with the vehicle. The probe data provides a map server with additional information that can be used to determine whether map updates are needed, specifically regarding POI data associated with the map. For example, a map update system may automatically generate, modify, or remove map POIs based on the received probe data.
[0195] Embodiments of the present invention will be described with respect to a system comprising a navigation client associated with a vehicle. As described above, the navigation client may be provided by a suitable software application running on any navigation device associated with the vehicle. For example, the navigation application may be implemented using a software application, an app, etc. The above description is based on reference to... Figures 1 to 9 Any system described herein is applicable to implementing the method according to the invention.
[0196] The navigation application can be modified to enable it to perform additional functionality for implementing the method according to the invention.
[0197] exist Figure 10 An embodiment of the method according to the invention is illustrated in the flowchart. The steps are performed by a navigation application of the navigation client. Of course, other arrangements are possible. The navigation client forms part of a system comprising one or more servers. Any one or more of the steps described herein may alternatively be implemented using servers (although this would involve additional data transfer between the vehicle system (e.g., sensor / actuator data) and (some of) the servers).
[0198] In step 1, data indicating a sequence of detected events related to the vehicle (“detected event sequence data”) is generated. Detection of sensor events involves the processing of data obtained from one or more sensors and / or one or more actuators associated with the vehicle. For example... Figure 9 The description states that several sensors and actuators will communicate with the vehicle network via one or more computer devices. The computer device running the navigation application (e.g., Figure 9 (512) Sensor and / or actuator data can be obtained from the vehicle network for use according to the methods described herein.
[0199] Sensor data may include (button press, vehicle speed, tire pressure, fuel level, battery charging status, engine operation, camera images, LiDAR data, GPS data, etc.). Actuator data may include data indicating actions such as window down, braking, engine on / off, power on / off, windshield wiper on / off, left / right turn, and acceleration.
[0200] Figure 11 This is a schematic diagram indicating a system 600 that can be used to implement the method according to the invention. The parts of the system used to implement the steps involved in an exemplary method for obtaining detected event sequence data will now be described. Onboard sensors and actuators 613 generate sensor and actuator data 622. Sensor and actuator data processing module 604 processes the sensor and actuator data and generates data indicating the detected event 624.
[0201] The data indicating detected event 624 contains an event identifier indicating the event type. The detected event data typically also includes the time of the event and the vehicle's location at that time. Detected event data 624 is placed into the detected event sequence module 606. The detected event sequence module 606 maintains a log of detected events, including detected event data for each event in the ordered sequence. The log can be implemented using a database and stored in any suitable manner.
[0202] Sensor and actuator data processing and detected event sequence logs can be provided by modules of the navigation application.
[0203] In an exemplary embodiment, each detected event is assigned an event identifier in the form of a character drawn from a finite set of possible characters. As an example, some events may be described by characters (e.g., uppercase and lowercase from the Latin alphabet). Examples are shown in the following table.
[0204]
[0205]
[0206] Table 1
[0207] Table 1 contains a list of event descriptions, each with a single character associated with the event. Therefore, a left turn action results in the character "a" being added to the sensor event sequence.
[0208] It should be understood that the resulting detected event sequence log will contain sequences or strings of such characters. Certain vehicle-related actions will be associated with specific (sub)sequences of characters. For example, a parallel parking maneuver (assuming driving on the right side of the road and parking on the right side of the road) can be represented by the sensor event sequence string “JklKAaJlALkaJlmLnDcCN”. After completing the parking maneuver, the car stops at the curb. Clearly, depending on the amount of available parking space and the driver's ability, there may be fewer or more events (e.g., sub-maneuvers) involved in the overall maneuver of parking the vehicle.
[0209] Table 1 above uses Latin characters, but any variant character set can be used. Characters can also be (binary) numbers from a set of N digits {0, 1, ..., N-1}. The list of reported events can vary between vehicle types, which can affect the range of supported or available characters in the character set that can be used with each vehicle type.
[0210] In addition to the character identifying the type of each detected event, each event also has an associated event time and event position (i.e., location). In some use cases, it is useful to record the time and location data associated with the character representing the event. Therefore, each character in the log of detected events can contain time and location data related to the event described by the character.
[0211] Return to Figure 10 In step 3, the method involves obtaining data (“search pattern data”) indicating a search pattern of an event, and in step 5, using the search pattern data and at least a portion of the detected event sequence data to determine that a detected event pattern matching the search pattern of the obtained event exists in at least a portion of the detected event sequence.
[0212] One way to perform such steps will now be described.
[0213] Pattern search
[0214] As mentioned above, the detected event processing steps generate a sequence of detected events. In the example above, the sequence of detected events is represented by a string.
[0215] The method of the present invention uses pattern search of detected event sequence data to trigger the generation of location detection.
[0216] Return to Figure 11 The parts of system 600 that can be used to implement this pattern matching process will now be described. As described above, the detected event sequence module 606 stores data indicating detected events 624 in the order in which detected events 624 have occurred.
[0217] The system also includes an event search pattern module 606 configured to provide event search patterns to a pattern search engine 608. The event search pattern module 606 may receive event search patterns from a map server, as described below, or may generate or obtain event search patterns in any suitable manner depending on the desired purpose of the simulated matching process. For example, search pattern data (e.g., search strings) may be integrated into navigation client software, thus the search pattern is embedded data in the distributed and installed navigation application. The step of obtaining search pattern data may then involve retrieving data from a device storage subsystem. In other embodiments, search pattern data may be generated at a map server and distributed to the device running the navigation application (navigation client) as part of the navigation client data. For example, search pattern data may be received by the device during startup or during the configuration of the navigation client (whereby the user implements the sharing of event detection, as described in this application). Various combinations of the above are possible. Generally, the step of obtaining search pattern data may involve retrieving data from a database or generating data and may involve only the device or the device and a server. The pattern search engine 608 is also configured to receive detected event sequence data 626 from the detected event sequence module 606. The pattern search engine 608 will search at least a portion of the detected event sequence data 626 for matches with event search patterns. Initially, the entire sequence of detected events will be searched. However, in the case of multiple executions of the method, as new detected event data is recorded, after an initial match has been found, the pattern search engine 608 can be configured to search only the detected event data added to the detected event sequence log since the discovery of a previous match. This can be achieved by setting an offset for the pattern search engine to continue searching for new patterns when a match is found. This offset is initially set to the beginning of the sequence at the start of the matching process.
[0218] The pattern search engine 608 is configured to output the matching event search pattern data 628, in which the matching data is found, to (e.g.) the location detector generator 610, which will be described later.
[0219] The pattern search engine 608 can be configured to periodically, or whenever a new detected event is added, or in any other desired manner, scan detected event sequence data for matching the search pattern of the acquired events.
[0220] The event search pattern module 606 may also be configured to provide a search pattern identifier 644 indicating the event search pattern for output to, for example, a location probe generator 610, which will be described later. The search pattern identifier 644 may be a more space-efficient expression of the event search pattern obtained through any suitable operation (e.g., compression or hashing) of the event search pattern. The event search pattern identifier 644 may be equivalent to a short name for the search pattern. If the search pattern identifier 644 is provided to the location probe generator module 610, this allows the search pattern identifier to be included in the probe data so that the traffic information server can recognize the search pattern that caused the probe. Because it is desirable to keep the amount of data in the probe message limited, it is helpful to use an abbreviated form of the search pattern (e.g., a string in the probe data), which will still allow the search pattern to be recognized. The number of search patterns may be finite. Of course, depending on the nature of the event search pattern, data indicating the event search pattern itself, rather than the pattern identifier, may be provided to the location probe generator module for inclusion in the probe data sample, or both the search pattern identifier and the search pattern may be provided.
[0221] Event search pattern 642 is used to configure pattern search engine 602 to find matching event search pattern 628 in the detected event sequence data.
[0222] The pattern search engine 608 and the event search pattern module 606 can be provided as plug-in software applications (e.g., applets, scripts, code) that can be used to extend the functionality of regular navigation applications.
[0223] Any suitable search technique can be used to implement the search for specific event search patterns in the detected event sequence data. Such techniques include regular expressions, nondeterministic finite automata, deterministic finite automata, recursive descent parsers, triad search, fuzzy search, etc. Therefore, although the detected event sequence data is described as being in text form in the embodiments herein, allowing text search techniques to be used, in alternative embodiments the sequence data may be in image form, where image search is used.
[0224] Here is an example of a suitable pattern search process that can operate on detected event sequence data of the type exemplified above, which is presented as a string.
[0225] Here, the detected event sequence data consists of strings from the set {'a',…,'m','A'…,'M'}. As described above, in one instance, parallel parking of a vehicle could result in the string "JklKAaJlALkaJlmLnDcCN" being placed in the detected event sequence log.
[0226] A simple method to search for parallel parking maneuvers in the detected event log is to search for an exact match of the string "JklKAaJlALkaJlmLnDcCN" in the detected event sequence log. In this case, event search pattern 628 will also be the string "JklKAaJlALkaJlmLnDcCN".
[0227] This method can be implemented using a string search algorithm, where the event search pattern and the text to be searched are equivalent to the search string and the detected event sequence (or at least the part of it to be considered), respectively.
[0228] As mentioned above, detected events are obtained from processing sensor data and actuator data. Each detected event can be assigned an event type representing a character (element) from an alphabet (finite set). Detected events are added to a detected event sequence (e.g., a log) in the order they were detected, thereby generating a time-series detected event sequence. This invention uses an event search pattern to search the detected event sequence (or at least the portion that will be considered).
[0229] A widely used technique for describing string search processes is regular expressions (rational expressions, search pattern expressions) that manipulate the text (characters). Regular expressions specify combinations of characters that match search results. Therefore, an event search pattern can include search results for matching and a regular expression identifier (event search pattern identifier) used for position detection to generate the regular expression (event search pattern).
[0230] Because the exact sequence depends on available parking space, the driver's parallel parking skills, and the range of events supported by the vehicle, rather than requiring an exact match, in some embodiments, it is desirable to use an event search pattern that searches for recurring specific event sequences that may be separated by other events. Such patterns can also be efficiently expressed using regular expressions.
[0231] In such embodiments, the regular expression for parallel parking instances can specify that the search engine needs to search for sequences of slow forward "k" and slow backward vehicle movement "k", which are separated only by events typically associated with parking (e.g., steering "aA", braking "lL", acceleration / deceleration "jJ", handbrake engaged / disengaged "mM", door locked / unlocked "nN") and end with the "vehicle off" "D" event.
[0232] Regular expression matching can be performed only by characters containing the string " aAjJlLnN The character “” and the subpattern separated by the character “D” (strikethrough) indicates a match (bold) of alternating “k” and “K” events. The result of this pattern match on the instance string of the detected event can be represented by “Jk”. l K AaJlAL k aJlmLn "DcCN" indicates that the matched and detected event sequence will be the string "klKAaJlALkaJlmLnD".
[0233] The example regular expression used to perform the pattern matching described above is:
[0234] / k[ajlmnAJLN]*K[ajlmnAJLN]*(k*[ajlmnAJLMN]*K*[ajlmnAJLN]*)*D /
[0235] It should be understood that tools for creating, testing, and validating regular expressions (such as those described above) are known. For example, various websites (such as https: / / regexr.com / ) provide platforms for doing so. The regular expression providing the event search pattern in this example (using PCRE syntax) contains a first part that searches for (matches) the first forward event character "k" and the backward event character "k", each of which is followed by a set of allowed vehicle events (the set "ajlmnAJLN"). The second part, between parentheses, searches zero or more forward or backward movements (again with optional sequences of other allowed events) until the terminating vehicle shutdown event character "D" is found. Compared to exact string matching, this regular expression search will match a wider range of patterns in the detected event sequence data.
[0236] In this example, the search sequence for the detected event 626 is the string "JklKAaJlALkaJlmLnDcCN", the event search pattern 642 is " / k[ajlmnAJLN]*K[ajlmnAJLN]*(k*[ajlmnAJLMN]*K*[ajlmnAJLN]*)*D / ", and the pattern search engine 608 produces a matching event search pattern 628 "klKAaJlALkaJlmLnD".
[0237] For this example, the search pattern identifier 644 can be an identifier provided in the event search pattern message, and can be the event search pattern (string), or the result of applying a compression or hash function to the event search pattern.
[0238] The example above demonstrates that the event search pattern provides an indication of a (potential) sidewalk parking maneuver. If several other such maneuvers are present at the same location, then (by the same or other vehicles) this can be considered an indication that a sidewalk parking space exists at that location.
[0239] Searching detected event sequence data can be applied to provide indications of other types of points of interest and their locations. The table below lists several such POIs and brief descriptions of the detected event types for each type of POI. Where applicable, it has been found that, for example, the location of the entrance or exit of a private parking facility can be determined.
[0240]
[0241] Table 2
[0242] The table example demonstrates how to search detected event log data for specific patterns that are typically associated with a particular type of POI.
[0243] Location detection generation
[0244] The pattern search described in the previous section provides indications of the presence of relevant points of interest while operating the vehicle. This data is advantageously provided to the map server to determine whether the POI is correctly reflected by the current map data and whether any updates are needed. This ensures accurate map data availability, allowing POI data to be shared with multiple users via the map server.
[0245] In order for the map server to perform such functions, a location probe generator is used to generate location probe data samples that indicate matching patterns and their associated locations (i.e., vehicle locations).
[0246] Return to Figure 10 When a match is found between the event search pattern and the considered detected event sequence data, a probe data sample is generated containing data indicating the detected event pattern from the detected event sequence data and its associated location, and the probe data sample is transmitted to the map server—step 7.
[0247] Now return to Figure 11The system includes a location detector generator 610 and a communication interface between the navigation client in the vehicle and the map server 614. The location detector generator 610 receives data indicating a matched detected event pattern 628 found in a detected event sequence from a pattern search engine 608. This indicates that the desired event search pattern has been found in the detected event sequence log 606. The detector generator 610 also receives a search pattern identifier 644 from the event search pattern module 612.
[0248] This triggers the location probe generator 610 to generate a location probe message 650 (i.e., a probe data sample) that includes a search pattern identifier 644 and the location of the vehicle associated with the matched detected event pattern 628. The location may be the vehicle's position at the time of matching, and therefore may be obtained from the navigation client's GPS or similar location sensor, or may be obtained from one of the detected events that form part of the matched event search pattern 628, i.e., the location associated with it, or may be obtained from the detected event sequence storage log 606 (e.g., based on the vehicle's position when the detected event was added). It may be necessary to determine the most relevant location to include in the probe data sample, where different matched detected events are associated with different times or recorded at different times.
[0249] In some embodiments, the location probe generator 610 may generate location probe messages, that is, additionally include probe data samples of time values associated with the matched detected event pattern 628. This could be the time when a match was found, the time when an event was recorded in a matching event search pattern, or the time when an event was added to the detected event sequence log, etc.
[0250] In some embodiments, the location probe generator 610 may include a matched detected event pattern 628 generated in the location probe message.
[0251] The location detection generator may also provide additional information depending on the type of POI indicated by a matched detected event pattern. For example, it may include the fuel type for gas station POIs based on the type of fuel the vehicle is using. Similarly, for EV charging point POIs, the location detection generator may include parameters describing the voltage, the detected charging rate, and the type of charging plug associated with the vehicle.
[0252] It should be understood that the sensor and actuator data processing module 604, the detected event sequence module 606, the pattern search engine 608, and the position detection generator 610 can all be provided by modules in the navigation client. The navigation client, along with several other similar navigation clients, communicates with the map server 614 via a long-range wireless network.
[0253] Each navigation client can use a communication interface to exchange information with the map server 614. The location detector generator 612 generates a location detector message 650 and sends it to the map server 614 via the communication interface. The event search mode module 612 of the navigation application receives event search information 650 from the map server 614. This search information may include an event search mode 642 and a search mode identifier 644.
[0254] Detected event data can be continuously added to the log at the detected event sequence module 606. The pattern search engine 608 can periodically (or as events are added) scan the detected event sequence. When a matching pattern is found, the pattern search engine can set an offset to continue searching for new patterns. This offset in the sensor event sequence is initially set to the beginning of the sequence when the navigation client application starts.
[0255] It should be understood that the steps described above can be repeated for other event search patterns provided by the event search pattern module 612 (which can be received from the map server). Each pattern can be associated with a different type of POI (e.g., the POIs in the list in Table 2). The detected event sequence data can be searched for each different type of event search pattern, wherein an appropriate offset is set for each type of event search pattern when a match is found to enable repeated searches as the detected event sequence data is expanded as described above. The processing of multiple search patterns can occur sequentially or in parallel.
[0256] Assuming that the probe data sample provides some data indicating matching patterns found in the detected event sequence, then it is not necessary to include a search pattern identifier. The data indicating the matching pattern can be the matching pattern itself, or conversely, it can be an event search pattern, and in some cases, it can be the same as the matching pattern in the detected event sequence data. Preferably, the data indicating the matching pattern and the search pattern identifier are included in the probe data sample.
[0257] Pattern search engines can be any search engine, such as regular expression engines.
[0258] Figure 12 It is similar to Figure 11 A schematic diagram of another system 700 that can be used to implement the methods of the present invention is provided. This system illustrates various sensors and actuators 702 that can provide data to a computing device 702 associated with the vehicle. Data can be provided from these computing devices across an in-vehicle network to a sensor and actuator data processing module of a navigation client operating according to the methods described herein. The navigation client can run on the same or other computing devices in the vehicle as those indicated at 702. Other components of the system are similar to those described herein. Figure 11 The components described. Figure 12In this system, the event search pattern module is not shown communicating with the location probe generator. This suggests an alternative option where search pattern identifiers can be provided to the location probe generator via a pattern search engine.
[0259] This invention provides a new location detection method that indicates a specific type of Point of Interest (POI) at a given location. The processing of these new location detections enables accurate generation of current POI information.
[0260] Return to Figure 10 In step 9, the map server receives the generated probe data sample and uses it when updating POI data associated with the electronic map. For example, the type and location of the POI indicated by the probe data sample can be compared with existing electronic map data. If the POI is not present in the existing map data, or its location or type is not accurately reflected, the map data can be modified. Therefore, the method may involve adding the POI to the electronic map or modifying the POI. The probe data sample generated according to the invention can be used with other confirming data to determine whether to update the map, for example, corresponding probe data samples obtained at different times from the same or other navigation applications, or data from other sources.
[0261] Although the invention has been described in the context of updating POI data, the generated probe data samples can be used to perform other methods related to electronic map data.
[0262] It should be understood that, when performing the method according to the invention, not all the steps described with respect to the navigation client need to be performed by the navigation client, and some or all of the steps may be performed by the server based on information provided to it by the navigation client. For example, any one or more of the sensor event sequence module, the pattern search engine, and the event search pattern module may be implemented using a server (which may or may not be the map server).
[0263] A Point of Interest (POI) refers to a point of interest. A POI is associated with electronic map data to indicate a location associated with an attribute of interest, such as a specific facility like a car wash, charging point, gas station, parking facility, street parking space, vehicle repair facility, or object (e.g., speed camera). While the attribute of interest can be a physical object (e.g., facility or building), it can also be an attribute of a viewpoint. A POI can be of general interest or of interest to a specific user.
[0264] As will be seen, the methods described in this paper can be used to automate map information updates. Current practices still require significant human intervention to address situations where collected data cannot be automatically processed. In other cases, the time required to collect local map information is too long to accurately reflect changes in map information (roads, intersections, POIs). Since map information changes at a rate of 10% per year, compiling POI information from probe data is a crucial technique for keeping information up-to-date and accurate.
[0265] Those skilled in the art will understand that the apparatus provided to perform the methods described herein may include hardware, software, firmware, or any combination of two or more of these.
[0266] Those skilled in the art will understand that while the term GPS data is used to refer to positioning data derived from the GPS Global Positioning System, other positioning data can be processed in a manner similar to that described herein. Therefore, the term GPS data can be replaced by the phrase positioning data.
[0267] All features disclosed in this specification and / or all steps of any method or process so disclosed may be combined in any combination except for combinations in which at least some of such features and / or steps are mutually exclusive.
[0268] Unless otherwise expressly stated, each feature disclosed in this specification may be replaced by an alternative feature for the same, equivalent, or similar purpose. Therefore, unless otherwise expressly stated, each disclosed feature is merely one instance of a general series of equivalent or similar features.
[0269] This invention is not limited to the details of any of the foregoing embodiments. The invention extends to any novel feature or combination thereof disclosed in this specification, or any novel step or combination thereof in any method or process so disclosed. The claims should not be construed as covering only the foregoing embodiments, but also any embodiments falling within the scope of the claims.
Claims
1. A method in which a vehicle-associated device generates and transmits a sample of detection data including location data, the method comprising: Obtain detected event sequence data indicating a detected event sequence associated with the vehicle, wherein the detected event sequence data includes data received from the actuator for components used to move the vehicle; Obtain multiple search pattern data indicating search patterns of events, wherein each of the multiple search pattern data includes a corresponding vehicle event sequence indicating different corresponding concern types; The plurality of search pattern data and at least a portion of the detected event sequence data are used to determine whether one of the plurality of search pattern data matches at least a portion of the detected event sequence; And wherein when one of the plurality of search pattern data matches at least a portion of the detected event sequence, the device generates a probe data sample including data indicating the matched one of the plurality of search pattern data and data indicating the location of the device associated with the matched at least portion of the detected event sequence; the method further includes the device transmitting the generated probe data sample.
2. The method of claim 1, wherein obtaining the detected event sequence data comprises generating the detected event sequence data by detecting each event associated with the vehicle based on data obtained from one or more sensors and / or one or more actuators associated with the vehicle.
3. The method of claim 1 or 2, wherein the detected event sequence data includes data indicating the type of the event for each event.
4. The method of claim 3, wherein the detected event sequence data further includes data indicating the time and / or location associated with each event.
5. The method according to claim 1 or 2, wherein the detected event sequence data includes a time-series log of the detected events.
6. The method of claim 1 or 2, wherein the detected event comprises any one or more of the following: turning the steering wheel, opening or closing a door, changing the battery state, changing the fuel level, actuating a window, changing the vehicle's connectivity, accelerating or decelerating, moving the vehicle in a given direction, applying or releasing the brake, or any combination thereof.
7. The method of claim 1 or 2, wherein the data indicating the detected event sequence comprises multiple characters, and the search pattern of the events comprises a search string.
8. The method of claim 7, wherein each character used in the detected event sequence forms one of a finite set of characters.
9. The method of claim 7, wherein each character in the sequence of detected events indicates a given type of the detected event.
10. The method according to claim 1 or 2, wherein the search pattern is defined by a regular expression.
11. The method of claim 1 or 2, wherein the generated probe data sample further includes a search pattern identifier indicating the matched one of the plurality of search pattern data.
12. The method of claim 1 or 2, wherein the generated probe data sample further includes data indicating the time associated with the matched one of the plurality of search pattern data.
13. The method of claim 1 or 2, further comprising receiving the probe data sample transmitted by the device and using the probe data sample to perform operations related to electronic map data.
14. The method of claim 13, wherein the operation pertains to point-of-interest data associated with the electronic map.
15. The method of claim 14, wherein the operation includes deleting, modifying, or verifying data indicating points of interest associated with the electronic map, or associating data indicating new points of interest with the electronic map.
16. The method of claim 13, further comprising using one of the matched search pattern data to identify the type of interest with respect to which the operation is performed.
17. The method of claim 14, wherein the concern is selected from: indications of the presence of street parking spaces, private parking facilities, vehicle repair facilities, car wash facilities, electric vehicle charging facilities, refueling facilities, or speed cameras.
18. The method of claim 1 or 2, wherein the event is an event expected to be associated with parking maneuvers.
19. The method according to claim 1 or 2, wherein the plurality of search pattern data is received from a server.
20. The method of claim 1 or 2, wherein at least one of the detected events is related to a change in the state of a component of the vehicle.
21. The method of claim 1 or 2, wherein obtaining the detected event sequence data comprises generating the detected event sequence data by detecting each event related to the vehicle based on data obtained from: More than one sensor; or A combination of one or more sensors and one or more actuators.
22. The method of claim 1 or 2, wherein the generation of the sample probe data is triggered when one of the plurality of search pattern data matches at least a portion of the detected event sequence.
23. A computer program product comprising instructions, when read by a computing device, causing the computing device to operate in accordance with the method according to any one of claims 1 to 22.
24. The computer program product of claim 23, wherein the computer program product is stored on a non-transitory computer-readable medium.
25. A system in which a vehicle-associated device generates and transmits a sample of detection data including location data, the system comprising: A subsystem for obtaining detected event sequence data indicating a detected event sequence associated with the vehicle, wherein the detected event sequence data includes data received from actuators of components used to move the vehicle. A subsystem for obtaining multiple search pattern data indicating search patterns of events, wherein each of the multiple search pattern data includes a corresponding vehicle event sequence indicating different corresponding concern types; A subsystem for using the plurality of search pattern data and the detected event sequence data to determine whether one of the plurality of search pattern data matches at least a portion of the detected event sequence; And wherein when one of the plurality of search pattern data matches the at least portion of the detected event sequence, the device is arranged to generate a probe data sample including data indicating the matched one of the plurality of search pattern data and data indicating the location of the device associated with the matched at least portion of the detected event sequence; The device is further arranged to transmit the generated detection data samples.
Citation Information
Patent Citations
Apparatus and method for determining parking information
EP2291611A1
Navigation device&method for providing parking place availability
EP2291835A1
Method and system for video-based positioning and mapping
WO2018104563A2
Parking lot detection using probe data
US20130211699A1