Abstract:
A system includes a processor configured to receive vehicle coordinates. The processor is also configured to compare the vehicle coordinates to geo-fence coordinate sets of a plurality of geo-fences surrounding point of interest (POI), wherein at least a portion of each geo-fence is within some predetermined distance from the vehicle coordinates. The processor is further configured to receive information relating to the POI if the vehicle coordinates fall within the geo-fence coordinates and instruct presentation of the received information to vehicle occupants.

Description:
TECHNICAL FIELD 
       [0001]    The illustrative embodiments generally relate to a method and apparatus for enhanced driving experience including dynamic point of interest (POI) identification. 
       BACKGROUND 
       [0002]    Many vehicles now sold are provided with complex and powerful computing and communication systems provided thereto. Often including navigation, user interactivity and a variety of possible features, these systems can enhance and improve the driving experience. Through connections to cloud based processors and the wealth of information provided on the Internet and remote servers, these systems can draw on numerous remote resources to further upgrade the driving experience. 
         [0003]    U.S. Pat. No. 8,290,704 generally relates to a system and method for collecting and conveying point of interest (POI) information is disclosed. The system detects when a vehicle is at a previously unknown POI, gathers information related to the new POI, and updates a central server with the new POI location information. In this context, a POI may be any type of location including roads, gas stations, strip malls, retail establishments, eating establishments, hospitals, police stations, etc. POI information may include a variety of data including new road locations, new entrances to roads, toll amounts, gas station names, gas prices, strip mall names, retail establishment names, eating establishment names, sales and specials, hospital names, emergency room entrance locations, police station entrances, etc. 
         [0004]    U.S. Application Publication 2007/0219706 generally relates to methods, apparatus, and systems for determining the relevance of points of interest for a user are described. An application server receives information about a user&#39;s location, and velocity, as well as other user preferences, and adjusts a search space and filters points of interest identifying those that are relevant to the user. The relevance of the points of interest are based on the user&#39;s route, location and velocity. 
         [0005]    U.S. Pat. No. 7,286,931 generally relates to a vehicle navigation device provided for permitting the display of the current POI (Point of Interest) information about points of interest which serve as landmarks near a guidance route to the destination, thereby improving visibility when a user identifies the guidance route. A vehicle navigation device is connected in communication with a provider for offering transmission service of map information which includes the current POI information pertaining to locations on a map where the points of interest are located. The navigation device includes a display unit, information input means, communications means, and control means. The control means accesses the provider through the communications means when the guidance route to the destination is set by the information input means, to obtain the current POI information about an area near the set guidance route from the map information, so that the obtained current POI information is displayed on a screen of the display unit, together with the guidance route and a vehicle position mark for designating a present position of a vehicle. 
       SUMMARY 
       [0006]    In a first illustrative embodiment, a system includes a processor configured to receive vehicle coordinates. The processor is also configured to compare the vehicle coordinates to geo-fence coordinate sets of a plurality of geo-fences surrounding point of interest (POI), wherein at least a portion of each geo-fence is within some predetermined distance from the vehicle coordinates. The processor is further configured to receive information relating to the POI if the vehicle coordinates fall within the geo-fence coordinates and instruct presentation of the received information to vehicle occupants. 
         [0007]    In a second illustrative embodiment, a computer-implemented includes receiving vehicle coordinates. The method also includes comparing the vehicle coordinates, via a computing system, to geo-fence coordinate sets of a plurality of geo-fences surrounding point of interest (POI), wherein at least a portion of each geo-fence is within some predetermined distance from the vehicle coordinates. The method further includes receiving information relating to the POI if the vehicle coordinates fall within the geo-fence coordinates and instructing presentation of the received information to vehicle occupants. 
         [0008]    In a third illustrative embodiment, a non-transitory, computer readable storage medium, stores instructions that, when executed by a processor, cause the processor to perform a method including receiving vehicle coordinates. The method also includes comparing the vehicle coordinates, via a computing system, to geo-fence coordinate sets of a plurality of geo-fences surrounding point of interest (POI), wherein at least a portion of each geo-fence is within some predetermined distance from the vehicle coordinates. The method further includes receiving information relating to the POI if the vehicle coordinates fall within the geo-fence coordinates and instructing presentation of the received information to vehicle occupants. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]      FIG. 1  shows an illustrative vehicle computing system; 
           [0010]      FIGS. 2A and 2B  show an illustrative example of a point of interest (POI) determination and provision process; 
           [0011]      FIG. 3  shows an illustrative example of a POI pre-loading process; 
           [0012]      FIG. 4A  shows an illustrative example of another pre-loading process; 
           [0013]      FIG. 4B  shows an illustrative example of a POI recognition process; and 
           [0014]      FIG. 5  shows an illustrative example of a POI playback process. 
       
    
    
     DETAILED DESCRIPTION 
       [0015]    As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention. 
         [0016]      FIG. 1  illustrates an example block topology for a vehicle based computing system  1  (VCS) for a vehicle  31 . An example of such a vehicle-based computing system  1  is the SYNC system manufactured by THE FORD MOTOR COMPANY. A vehicle enabled with a vehicle-based computing system may contain a visual front end interface  4  located in the vehicle. The user may also be able to interact with the interface if it is provided, for example, with a touch sensitive screen. In another illustrative embodiment, the interaction occurs through, button presses, audible speech and speech synthesis. 
         [0017]    In the illustrative embodiment 1 shown in  FIG. 1 , a processor  3  controls at least some portion of the operation of the vehicle-based computing system. Provided within the vehicle, the processor allows onboard processing of commands and routines. Further, the processor is connected to both non-persistent  5  and persistent storage  7 . In this illustrative embodiment, the non-persistent storage is random access memory (RAM) and the persistent storage is a hard disk drive (HDD) or flash memory. 
         [0018]    The processor is also provided with a number of different inputs allowing the user to interface with the processor. In this illustrative embodiment, a microphone  29 , an auxiliary input  25  (for input  33 ), a USB input  23 , a GPS input  24  and a BLUETOOTH input  15  are all provided. An input selector  51  is also provided, to allow a user to swap between various inputs. Input to both the microphone and the auxiliary connector is converted from analog to digital by a converter  27  before being passed to the processor. Although not shown, numerous of the vehicle components and auxiliary components in communication with the VCS may use a vehicle network (such as, but not limited to, a CAN bus) to pass data to and from the VCS (or components thereof). 
         [0019]    Outputs to the system can include, but are not limited to, a visual display  4  and a speaker  13  or stereo system output. The speaker is connected to an amplifier  11  and receives its signal from the processor  3  through a digital-to-analog converter  9 . Output can also be made to a remote BLUETOOTH device such as PND  54  or a USB device such as vehicle navigation device  60  along the bi-directional data streams shown at  19  and  21  respectively. 
         [0020]    In one illustrative embodiment, the system  1  uses the BLUETOOTH transceiver  15  to communicate  17  with a user&#39;s nomadic device  53  (e.g., cell phone, smart phone, PDA, or any other device having wireless remote network connectivity). The nomadic device can then be used to communicate  59  with a network  61  outside the vehicle  31  through, for example, communication  55  with a cellular tower  57 . In some embodiments, tower  57  may be a WiFi access point. 
         [0021]    Exemplary communication between the nomadic device and the BLUETOOTH transceiver is represented by signal  14 . 
         [0022]    Pairing a nomadic device  53  and the BLUETOOTH transceiver  15  can be instructed through a button  52  or similar input. Accordingly, the CPU is instructed that the onboard BLUETOOTH transceiver will be paired with a BLUETOOTH transceiver in a nomadic device. 
         [0023]    Data may be communicated between CPU  3  and network  61  utilizing, for example, a data-plan, data over voice, or DTMF tones associated with nomadic device  53 . Alternatively, it may be desirable to include an onboard modem  63  having antenna  18  in order to communicate  16  data between CPU  3  and network  61  over the voice band. The nomadic device  53  can then be used to communicate  59  with a network  61  outside the vehicle  31  through, for example, communication  55  with a cellular tower  57 . In some embodiments, the modem  63  may establish communication  20  with the tower  57  for communicating with network  61 . As a non-limiting example, modem  63  may be a USB cellular modem and communication  20  may be cellular communication. 
         [0024]    In one illustrative embodiment, the processor is provided with an operating system including an API to communicate with modem application software. The modem application software may access an embedded module or firmware on the BLUETOOTH transceiver to complete wireless communication with a remote BLUETOOTH transceiver (such as that found in a nomadic device). Bluetooth is a subset of the IEEE 802 PAN (personal area network) protocols. IEEE 802 LAN (local area network) protocols include WiFi and have considerable cross-functionality with IEEE 802 PAN. Both are suitable for wireless communication within a vehicle. Another communication means that can be used in this realm is free-space optical communication (such as IrDA) and non-standardized consumer IR protocols. 
         [0025]    In another embodiment, nomadic device  53  includes a modem for voice band or broadband data communication. In the data-over-voice embodiment, a technique known as frequency division multiplexing may be implemented when the owner of the nomadic device can talk over the device while data is being transferred. At other times, when the owner is not using the device, the data transfer can use the whole bandwidth (300 Hz to 3.4 kHz in one example). While frequency division multiplexing may be common for analog cellular communication between the vehicle and the internet, and is still used, it has been largely replaced by hybrids of with Code Domian Multiple Access (CDMA), Time Domain Multiple Access (TDMA), Space-Domian Multiple Access (SDMA) for digital cellular communication. These are all ITU IMT-2000 (3G) compliant standards and offer data rates up to 2 mbs for stationary or walking users and 385 kbs for users in a moving vehicle. 3G standards are now being replaced by IMT-Advanced (4G) which offers 100 mbs for users in a vehicle and 1 gbs for stationary users. If the user has a data-plan associated with the nomadic device, it is possible that the data-plan allows for broad-band transmission and the system could use a much wider bandwidth (speeding up data transfer). In still another embodiment, nomadic device  53  is replaced with a cellular communication device (not shown) that is installed to vehicle  31 . In yet another embodiment, the ND  53  may be a wireless local area network (LAN) device capable of communication over, for example (and without limitation), an 802.11g network (i.e., WiFi) or a WiMax network. 
         [0026]    In one embodiment, incoming data can be passed through the nomadic device via a data-over-voice or data-plan, through the onboard BLUETOOTH transceiver and into the vehicle&#39;s internal processor  3 . In the case of certain temporary data, for example, the data can be stored on the HDD or other storage media  7  until such time as the data is no longer needed. 
         [0027]    Additional sources that may interface with the vehicle include a personal navigation device  54 , having, for example, a USB connection  56  and/or an antenna  58 , a vehicle navigation device  60  having a USB  62  or other connection, an onboard GPS device  24 , or remote navigation system (not shown) having connectivity to network  61 . USB is one of a class of serial networking protocols. IEEE 1394 (firewire), EIA (Electronics Industry Association) serial protocols, IEEE 1284 (Centronics Port), S/PDIF (Sony/Philips Digital Interconnect Format) and USB-IF (USB Implementers Forum) form the backbone of the device-device serial standards. Most of the protocols can be implemented for either electrical or optical communication. 
         [0028]    Further, the CPU could be in communication with a variety of other auxiliary devices  65 . These devices can be connected through a wireless  67  or wired  69  connection. Auxiliary device  65  may include, but are not limited to, personal media players, wireless health devices, portable computers, and the like. 
         [0029]    Also, or alternatively, the CPU could be connected to a vehicle based wireless router  73 , using for example a WiFi  71  transceiver. This could allow the CPU to connect to remote networks in range of the local router  73 . 
         [0030]    In addition to having exemplary processes executed by a vehicle computing system located in a vehicle, in certain embodiments, the exemplary processes may be executed by a computing system in communication with a vehicle computing system. Such a system may include, but is not limited to, a wireless device (e.g., and without limitation, a mobile phone) or a remote computing system (e.g., and without limitation, a server) connected through the wireless device. Collectively, such systems may be referred to as vehicle associated computing systems (VACS). In certain embodiments particular components of the VACS may perform particular portions of a process depending on the particular implementation of the system. By way of example and not limitation, if a process has a step of sending or receiving information with a paired wireless device, then it is likely that the wireless device is not performing the process, since the wireless device would not “send and receive” information with itself. One of ordinary skill in the art will understand when it is inappropriate to apply a particular VACS to a given solution. In all solutions, it is contemplated that at least the vehicle computing system (VCS) located within the vehicle itself is capable of performing the exemplary processes. 
         [0031]    The illustrative embodiments provide an opportunity to identify relevant points of interest as a vehicle travels pass those points. The points can be traditional points of interest, or they can be added to a POI server with respect to a special event. In other words, they can have a temporal aspect added thereto. If a system contains or accesses such points of interest, the time at which the access is made may also be considered. If the time is past an “end time” or “end date,” the POI may be ignored. In another example, the POI may also be removed from the database once it has expired. 
         [0032]    Further, customers may be able to request downloads of new POIs at any point along a journey. Customers can enter a route and ask the vehicle which POIs will be “encountered” (as according to the illustrative embodiments, for example) along a route. Since the vehicle or cloud server can estimate arrival times based on known travel data, the vehicle could also attempt to “guess” at which time a vehicle will pass through POIs. This can be useful if the POIs are temporary. 
         [0033]      FIGS. 2A and 2B  show an illustrative example of a point of interest (POI) determination and provision process. In  FIG. 2A , customer information  203  is sent  201  to a remote server  205  for POI processing. This information can identify a customer&#39;s vehicle, route, location, subscriptions, eligibilities, etc. The information  207  can also be signed and encrypted  209  for further processing, so that the customer&#39;s location and personal information are secure. 
         [0034]    In this illustrative example, POIs have geo-fences associated therewith. For larger POIs (such as a highly visible monument or building) these geo-fences can be expanded, so that a driver may not need to be in the immediate vicinity. For smaller POIs, a building of nominal size, a park, etc., these geo-fences may be smaller, such that they are only tripped by a vehicle passing in immediate proximity to the POI. Of course, suitable changes can be made as a provider sees fit. 
         [0035]    POI information  207  and/or geo-fence information  211  can be compared to current customer information on a remote server to determine if any criteria for pre-loading POI information to a vehicle are met. For example, if a route has been delivered to the remote server, the process can compare the route to possible POIs and geo-fences for determination of suitable pre-loading of POI information relating to the route. 
         [0036]    In this illustrative example, POI and geo-fence information, relating to the POIs is uploaded  213 ,  215  to a remote server. The information about POIs  217  and geo-fences  219  is shared with an in-vehicle system as well. The POI information is send  221  and the geo-fence information is sent  223  so that a local vehicle processor can determine if there is any coincidence between a present vehicle location and a POI. 
         [0037]    Also, in this process, a validation and notice is received  225  when a POI is engaged in the vehicle. Notification about this notice  227  is sent to a remote server  229  for processing. The notification  231  can be sent to metrics processing  233  to see how frequently certain POI information is being used. This can help refine the POI database. 
         [0038]      FIG. 2B  shows another portion of the overall exemplary system, seen from the perspective of a mobile device and VCS. In this illustrative example, the VCS has the POI provision feature enabled  263 . The system uses GPS or other coordinates  261  to compare a vehicle position  259  to geo-fences of various POIS  257 . For example, without limitation, the process could receive a number of bounded areas, and if a GPS coordinate of the vehicle fell within one of these bounded areas, the process would trigger and “in geo-fence” tag  249 . The geo-fence coordinates themselves can be received  255  from the remote server, which sends the coordinates  243  relating to various geo-fenced objects. 
         [0039]    The server also sends POI information  241  relating to various points of interest along a route, in a given area, etc. When the VCS recognizes that a vehicle is within a geo-fence, denoted by the geo-fence tag, the VCS can pull the POI information  247 . This information  251  is then passed along to a playback function, where the VCS can play or otherwise present the POI information  253  for the user&#39;s perusal. 
         [0040]    The notification that a vehicle is within a geo-fence  245  can also be sent back to the monitoring server, so that general usage of various geo-fences can be tracked. 
         [0041]    Additionally or alternatively, the tracking function may be enabled on a mobile device  281 . If the mobile device is GPS equipped, the process can track the coordinates of the mobile device itself (which is either in the vehicle or in the possession of a walking person, for example). The coordinates of the device are compared  277  to the Geo-fence coordinates provided by the remote server to determine if the device is within the geo-fence  267 . As with the vehicle, the mobile device receives the geo-fence coordinates  273  from the remote server and passes the coordinates  275  to the comparison function. 
         [0042]    If the mobile device is within the geo-fence for a POI, the mobile device can pull the POI information  265  and pass the POI information  269  to a process for viewing/displaying/presenting  271  the POI information. In this manner, users can take advantage of the system while walking, and/or can use the system even if a vehicle is not equipped with all the proper technology to provide the experience on-board. 
         [0043]      FIG. 3  shows an illustrative example of a POI pre-loading process. Since many POIs along a route may be passed quickly, and may have smaller geo-fences associated with them, it may be useful to pre-load the geo-fences and/or POI information for various features projected to be along a route. Then, at least with respect to these coordinates, the process has the information needed at the time the fence is breached, so that the information can be quickly presented. Even a deviation from a route can be compensated for, as the process would then only need to pull the coordinates related to a re-route. 
         [0044]    In this illustrative example, a remote server or an on-board or on-phone process may receive a route to be traveled  301 . Based on this route, a series of coordinate locations along the route can be established  303 . For each or some subset of coordinates, the process can compare the coordinates to various geo-fences known to be in the area of the coordinate  305 . If there is a match (i.e., the coordinates are within the fence), the process can download POI data. 
         [0045]    If the process is running on a remote server, the download can consist of sending the information to a local device (vehicle/phone). If the process is running on a local device, the download can consist of requesting the information from the remote server. 
         [0046]    The process can then continue with additional coordinate points  309  until all coordinate points have been examined  313 . Once all coordinate points have been examined for a projected route (which could include some standard of deviation if desired), the process can being tracking the vehicle location  315  to determine if the vehicle actually encounters a geo-fence. 
         [0047]      FIG. 4A  shows an illustrative example of another pre-loading process. In this illustrative example, the process receives a route  401  based on an input destination. In this example, a deviation from a route is considered, which can consist of establishing a bounded perimeter about the route  403 . 
         [0048]    The perimeter need not be uniform in deviance, but can be set according to appropriate desires. Once the perimeter has been established, various geo-fences in the region of the route can then be compared for points of coincidence  405 . For each geo-fence that overlaps with the perimeter around the route, a subset can be created, which represents geo-fences that “may” come in contact with a vehicle along a trip. If this set is small enough, or if it is appropriate, this subset of POIs may be downloaded as well as those for which the route is projected to interject. 
         [0049]      FIG. 4B  shows an illustrative example of a POI recognition process. In this process, running on a remote server, the server receives GPS coordinates of a vehicle  401 . It is possible to “cloud track” the vehicle, which is, the server will determine if a POI delivery should be made. It is also possible to track the vehicle locally for comparison to the geo-fences of various POIs. In this example, some number of POIs have already been pre-sent to a vehicle. 
         [0050]    Once the GPS coordinates are received, the process determines if cloud-tracking is enabled  403 . If the vehicle will be tracked locally at the vehicle (which is to say, if the comparison will be done locally), then a perimeter can be established around the GPS coordinates for comparison purposes  411 . This can help pick up geo-fences that are not exactly in the vicinity of a vehicle. Of course, larger geo-fences could also serve the same purposes. Also, in this example, since the vehicle is making the comparison, the server could provide a slightly larger (or some) perimeter, such that the projected coordinates may fall within the fence before the actual coordinates do (providing extra time for data transfer). 
         [0051]    If a given geo-fence falls within the perimeter around the coordinates  413 , the process will then check to see if information about the fence and POI have been previously transmitted  415 . If this information has not been previously transmitted, the fence and POI information will be sent to the vehicle  417 . 
         [0052]    If tracking is to be done in the cloud, the process compares the current coordinates to the fences of various objects  405 . If there is a match (i.e., the vehicle is proximate to an object)  407 , the process can send the POI data relating to the proximate object  409 . 
         [0053]    Numerous options can be used to select appropriate geo-fences. For example, without limitation, the comparison engine could lay a circle, square or other shape on a map having geo-fences provided thereto. The shape could be centered about a coordinate point. Then, each of the geo-fences falling within the shape could be considered a possible POI that could be encountered. Other suitable considerations could also be used, including, but not limited to distance of a center of a fence, the POI or some portion of the fence from a current route. 
         [0054]      FIG. 5  shows an illustrative example of a POI playback process. In this illustrative example, the process receives a POI request for information  501 . This corresponds to information about a particular POI, and can include the playback capabilities of various devices. If the request comes from a vehicle  503 , the process will send the playback information to the vehicle  505 . This information can be set to specifically playback on a vehicle, and may differ from mobile information. 
         [0055]    Similarly, if the request comes from a mobile device  507 , the process can send the information back to the mobile device  509 . Again, the information may be uniquely suited to mobile device playback, if desired. This can continue for any additional devices which may request the POI information. 
         [0056]    While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.