System and method for displaying location-specific images on a mobile device

A system is provided for providing location-specific images to a mobile device for display. The system generally comprises three components: a mobile device having a screen, a position identification system (e.g., a GPS receiver) that determines the position of the mobile device, and a database containing location-specific images taken at various locations. Each location-specific image is associated with geographic coordinates of the location at which the image was taken. Based on the position of the mobile device as determined by the position identification system, a location-specific image is selected from the database and displayed on the screen of the mobile device. For example, when a user is using the mobile device as a car navigation system, a location-specific image of the user's destination location can be selected and displayed when the determined position of the mobile device comes within a certain distance from the geographic coordinates of the destination location.

FIELD OF THE INVENTION

The present invention is related to providing location-specific services to mobile devices, and more specifically, to displaying a location-specific image on a mobile device based on a determined position of the mobile device.

BACKGROUND OF THE INVENTION

Various types of mobile devices are available to transmit/receive various information wirelessly, such as cellular phones, personal digital assistants (PDAs), Blackberry® devices, etc. These devices can store and process an increasing amount of information, including real-time images in the form of a video clip. Many of these devices include a color screen that can display images (graphics) as well as text. Further, some of these devices are equipped with a global positioning system (GPS) receiver so as to function as a navigation system, in addition to functioning as a communications device. As is well known in the art, a navigation system can receive a destination location from a user, calculate suitable directions to go from the user's current position, as determined based on data obtained by the GPS receiver, to the destination location, and display the directions together with a relevant map on its screen. The directions and a map as displayed on the screen are constantly updated based on the current (moving) position of the user as determined based on data obtained by the GPS receiver. Current navigation systems, however, do not display a ground-level image of the destination location (i.e., an image taken at the destination location), or any other images of locations that the user will pass along the way toward the destination location. A ground-level image, as used herein, means an image that shows an object (e.g., a business storefront) in the manner actually perceived by people on the ground, as opposed to aerial or rooftop images. It would be helpful for the user to be able to view such images on the screen of the navigation system so that the user can look for particular objects (e.g., buildings, intersections, etc.) shown in the images of the destination location and any other landmark points along the directions, especially when traveling in an unfamiliar area. More particularly, what is lacking is a system and method for displaying location-specific images (i.e., ground-level images of objects taken at particular locations) on a mobile device, such as a cellular phone and a car navigation system, based on the determined position of the mobile device.

SUMMARY OF THE INVENTION

The present invention provides methods and systems whereby a mobile device, such as a cellular phone or a car navigation system, may display location-specific images based on the position of the mobile device as determined by a position identification system, such as a GPS system. To that end, a database of location-specific images is provided, wherein each image is associated with the geographic coordinates (e.g., longitude/latitude coordinates) of the location at which the image was taken. In various exemplary embodiments of the present invention, each image associated with its geographic coordinates is further correlated with its street address (or its business name, for example) so that the image can be retrieved and displayed based on a user input of its street address (or business name, etc.) The construction and use of such a database are disclosed in detail in co-pending U.S. patent application Ser. No. 10/809,049, filed Mar. 24, 2004, which is explicitly incorporated herein by reference.

Thus, for example, a user of a car navigation system will be able to enter a destination location using its street address, and the method and system of the present invention will permit the car navigation system to display the image of the destination location and additional images of other landmark points along the way toward the destination location in addition to the usual maps-and-directions to the destination location. The timing at which each of these location-specific images is to be displayed will depend on the current position of the car navigation system as determined by its position identification system (e.g., GPS system). In one example, an image of a landmark point will be displayed when the car navigation system comes within a certain distance from the landmark point with an appropriate text message, such as “Look for this, and turn left at this.” Likewise, an image of the final destination location may be displayed when the car navigation system comes within a certain distance from the destination location, or whenever the user requests to view such an image, with an appropriate text message, such as “Look for this at your destination.” Timely display of these location-specific images will assist the user in following the directions and finding the final destination location easily. Further, the image of a destination location may be displayed at the beginning (prior to starting the user's journey to the destination location) so as to assist the user in deciding whether or not to go there (e.g., based on how appealing the image of the destination location looks to the user), remembering whether the user has been there before, etc.

In one embodiment, the location-specific images are provided to a mobile device through a wireless communications network from a centralized database. In another embodiment, the location-specific images may be pre-stored in the mobile device via a hard disk (including DVD, CD, etc.).

In one application, instead of discrete images, a video clip that displays a moving view of an entire trip or a part thereof can be downloaded (or pre-stored) and displayed on a mobile device.

In a further application, the location-specific images (including video images) may be transferred not only from a centralized database to mobile devices, but also from the mobile devices to the database. For example, if a mobile device, such as a cellular phone, has an image capturing capability, the user of the mobile device can take an image at a particular position, and the image can be automatically coded with the geographic coordinates of the position of the mobile device when the image is taken as determined by the position identification system (e.g., GPS receiver), and then the geo-coded image can be transferred from the mobile device to the database so as to continuously update and/or expand the database.

Generally, in accordance with various exemplary embodiments of the present invention, a system is provided for providing location-specific images to a mobile device for display. The system is generally comprised of three components: a mobile device having a screen, a position identification system (e.g., a GPS receiver) that determines the position of the mobile device, and a location-specific images database including images taken at various locations, wherein each image is associated with geographic coordinates of the location at which the image was taken. The position of the mobile device is identified by the mobile device position identification system, and a location-specific image is selected from the database based on the determined position of the mobile device and displayed on the screen of the mobile device. For example, the location-specific image is selected when the determined position of the mobile device comes within a certain distance from the geographic coordinates associated with the image.

The system may be adapted to selectively display location-specific images on a mobile device in various contexts. For example, the system may be applied to provide shopping assistance to a user of the mobile device. In this application, the system receives at the mobile device a shopping list from the user including one or more items that the user wishes to purchase. For each of the items in the shopping list, the system identifies one or more businesses that carry the item. Then, for each of the one or more identified businesses, the system determines its geographic coordinates and further identifies its corresponding location-specific image. Finally, the system generates a shopping list program comprising instructions for displaying on the screen of the mobile device an image of one of the one or more identified businesses based on the determined position of the mobile device. For example, the system may display a location-specific image of a particular business that carries an item included in the user's shopping list when the business is determined to be within a certain distance from the determined position of the mobile device. An audio alarm may be issued when the image is displayed to further alert the user that the relevant business is near.

As another example, the system may be applied to recommend “favorite” places to visit to a user of the mobile device. In this application, the system, upon receiving from the mobile device a user's request for a recommendations service, accesses a profile of the user of the mobile device in a user profiles database to identify one or more favorite places of the user. The favorite places may be those places that the user has previously explicitly entered as his/her favorites, or may be presumed based on the user's past behavior on the system, for example, destination locations that the user has previously entered in a navigation service. The system then determines geographic coordinates of the one or more favorite places. Finally, the system generates a favorite places program comprising instructions for displaying on the screen of the mobile device an image of any of the one or more favorite places based on the determined position of the mobile device. For example, the system may display a location-specific image of a particular favorite place of the user when the favorite place is determined to be within a certain distance from the determined position of the mobile device.

In accordance with a further aspect, the present invention provides a method of displaying a location-specific image on a mobile device based on the position of the mobile device. The method generally includes three steps. First, a position of a mobile device is received. Second, a location-specific image is selected from multiple location-specific images based on the received position of the mobile device, wherein each location-specific image is associated with geographic coordinates of the location at which the image was taken. Third, the selected image is displayed on the mobile device.

In accordance with a still further aspect, the present invention provides a mobile device capable of displaying a location-specific image based on a determined position of the mobile device. The mobile device generally consists of two elements: a screen and a processor. The processor is loaded with processor-executable instructions for generally performing three steps. The first step involves receiving a position of the mobile device as determined by a position identification system. The second step involves selecting a location-specific image from a set of location specific images based on the determined position of the mobile device. The third step involves displaying the selected location-specific image on the screen. In an application wherein the set of images is stored in an images database external to the mobile device, a location-specific image is selected from the database based on the determined position of the mobile device, and is transmitted over a wireless communications network to the mobile device for display. In another application wherein the set of images is stored in a memory of the mobile device, a location specific image is selected from the memory based on the determined position of the mobile device and displayed on the screen.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention is directed to a system and method for providing a mobile image service. The mobile image service, as used herein, refers to one or more services that provide and display location-specific images on a mobile device based on the determined position of the mobile device. A location-specific image, as used herein, refers to an image taken at a location, and is thus associated with the geographic coordinates (e.g., longitude/latitude coordinates) of the location at which the image was taken. In various exemplary embodiments, location-specific images are ground-level location-specific images that show objects as generally perceived by people on the ground, as opposed to aerial or rooftop images. The following detailed description provides several exemplary implementations of the mobile image service. Although specific system configurations and flow diagrams are illustrated, it should be understood that the examples provided are not exhaustive and do not limit the invention to the precise forms disclosed. Persons having ordinary skill in the field of digital data processing will recognize that the computer components and the arrangements described herein may be interchangeable with other components and arrangements, and further that the process steps described herein may be interchangeable with other steps or combinations thereof and still achieve the benefits and advantages of the present invention.

FIG. 1Aillustrates an exemplary overall environment for implementing a mobile image service, which includes a mobile image system10including various servers (a database server11, a Yellow Pages server12, a navigation server13, a shopping assistance server14, and a recommendations server16) for supporting the mobile image service and one or more mobile devices20a,20b, and20c(collectively referred to as “the mobile devices20”). The mobile image system10resides on a network, such as the Internet, and the mobile image system10and the mobile devices20are connected with each other via any suitable wireless communications network22, such as an Internet-enabled wireless communications network that provides the mobile devices20with wireless access to the mobile image service available from the mobile image system10.

The wireless communications network22utilizes any one of a variety of wireless communications mediums and/or communication methods to transfer data. Examples of suitable wireless communications mediums/methods include, but are not limited to, wireless telephony, personal communications service (PCS), short message service (SMS), wireless application protocol (WAP), IEEE 802.XX wireless LAN (WLAN) including a Wireless-Fidelity (Wi-Fi) and Wi-Max networks, two-way paging networks, specialized mobile radio systems, non-licensed personal area network (PAN) technology, such as the Bluetooth protocol, and infrared links. Further, the wireless communications network22may employ Internet Protocol (IP) addressing. Accordingly, the mobile devices20can be any devices that communicate with the chosen wireless communications network22, such as cellular phones, personal digital assistants (PDAs), mobile computer communicators, such as Blackberry® devices, etc., to be fully described in reference toFIG. 1Bbelow. The wireless communications network22may also include a network that is in part a wired network. For example, the servers11,12,13,14, and16of the mobile image system10may be interconnected on a wired network with which the mobile devices20interface wirelessly.

In one embodiment, the mobile devices20communicate with the mobile image system10via the wireless communications network22using IP addressing. Protocols and components for communicating wirelessly to and from the Internet are well known to those of ordinary skill in the art of computer network communications. Generally, each of the mobile devices20may execute any suitable user interface (UI) application (not shown) that understands given protocols for communicating with the mobile image system10via the network22. Examples of suitable UI applications include, but are not limited to, a Web browser application, .NET™ application, JAVA® application, such as J2EE® application, Pocket Outlook™ application, any custom-designed standalone UI application, etc. Each of these UI applications permits a user of the mobile device20to download, upload, display, or otherwise access resources and services available from the mobile image system10and, in particular, provides the user with a graphical user interface (GUI) to the mobile image system10. The mobile image system10as depicted inFIG. 1Aoperates in a distributed computing environment comprising several computer systems that are interconnected by communication links, e.g., using one or more computer networks or direct connections. However, it will be appreciated by those of ordinary skill in the art that the system10could equally operate in a computer system having fewer or greater number of components than are illustrated inFIG. 1A. For example, each of the servers depicted inFIG. 1Amay be implemented using a greater number of computing systems so that each of the various services (collectively referred to as the “mobile image service”) provided by the mobile image system10may be performed by a cluster of different computing devices. As another example, components of the mobile image system10and the mobile device20may be reduced to a single computer system (i.e., embedded in the mobile device20), as will be more fully described below. Therefore, the description of the mobile image system10inFIG. 1Ashould be taken as exemplary, and not limiting the scope of the invention.

The illustrated embodiment of the mobile image system10includes a database server1, a Yellow Pages server12, a navigation server13, a shopping assistance server14, and a recommendations server16. The database server11includes various databases, such as an images database40, listings database42, maps-and-directions database44, shopping database45, and user profiles database46. These databases contain various data to be used by the servers of the mobile image system10, as will be fully described below.

The Yellow Pages server12includes an operating system24and a search engine26. The details of the Yellow Pages server12, together with construction of the images database40and the listing database42, are described in U.S. patent application Ser. No. 10/809,049, incorporated above. Briefly, the Yellow Pages server12is a Web page server that supports an online Yellow Pages Web site, at which each listing (e.g., business) can be displayed together with an image of the listing (e.g., an image of the business storefront). The Yellow Pages server12communicates text and graphics organized as a Web page using, for example, hypertext transfer protocols, in response to requests and search queries received from any of the mobile devices20. It should be noted that while the present description is provided in the context of an online business directory (e.g., Yellow Pages) at which each business listing is associated with an image of its geographic location, the same concept can be applied to create and publish online residential directories (e.g., White Pages) in which each individual listing is associated with an image of its geographic location (e.g., an image of a house). Therefore, the term “Yellow Pages” as used herein may refer to other types of directories as well, including White Pages.

The listings and their associated location-specific images, which are processed by the Yellow pages server12, are stored in the listings database42and the images database40, respectively, within the database server11, in accordance with one embodiment of the present invention. It should be understood by those skilled in the art that a particular configuration of the databases is not limited to what is disclosed inFIG. 1A, and the databases shown to be included in the database server11may be arranged in a distributed manner or may be consolidated into a fewer number of databases, etc. The listings database42stores information generally found in conventional Yellow Pages in a searchable form, e.g., listings (business names together with their addresses, phone numbers, etc.) searchable by their business names, addresses, phone numbers, business types, etc. The listings database42may further store each listing in association with its geographic coordinates (e.g., longitude/latitude coordinates). As used herein, geographic coordinates refer to various types of geographic identifiers used in suitable position-identification systems, including the two axes-based global coordinates system (i.e., longitude/latitude coordinates), a two axes-based local or customized coordinates system, or any other addressing system that uniquely identifies a geographic location. The images database40contains digitized images of the business listings taken at their geographic locations in association with their geographic coordinates. Thus, between the images database40and the listings database42, each image is associated with its geographic coordinates and is further correlated with its street address. A combination of the images database40and the listings database42is therefore referred to as an image-address database43.

In operation, upon receiving a search request from users of the mobile devices20, the Yellow Pages Server12conducts a searches of the listings database42and the images database40, and identifies and transmits appropriate listings together with their images over the network22to the requesting mobile devices20for display. The administration and overall operation of the Yellow Pages server12is controlled by its operating systems24, while its search function is performed by the search engine26in cooperation with the image-address database43. The image-address database43is configured to receive search instructions from the search engine26and to return search results thereto. Those of ordinary skill in the art will recognize that the Yellow Pages server12and the image-address database43will each typically employ a memory and main processor in which program instructions are stored and executed for their operation. In combination, the Yellow Pages server12and the image-address database43permit users of the mobile devices20to search and view online Yellow Pages in which each listing (e.g., business) is displayed with an image of an object (e.g., business building) taken at its geographic location. Since each image is correlated with its street address in the image-address database43, the users can search for and view an image of a business based on its street address (or based on any other data associated with the business listing in the listings database42).

FIG. 1Billustrates an exemplary configuration of a mobile device20suitable for use in the present invention. In various exemplary embodiments of the present invention, a mobile device20may be any device that communicates with a chosen wireless communications network22, such as cellular phones, personal digital assistants (PDAs), mobile computer communicators, such as Blackberry® devices, portable (mobile) computers, such as laptop computers, Webpads, tablets, and other computing devices having some type of memory, etc. In the illustrated embodiment, the mobile device20includes a processor50in communication with an input/output interface52, a memory54, and a network interface56for interfacing with the wireless communications network22. The input/output interface52enables the processor50to communicate with various input and output devices. Input devices58may include any computing elements that provide input signals to the processor50, such as a keyboard, a mouse, a speech recognition application, such as Microsoft® Speech.NET™ application, etc. Output devices60may include typical output devices, in particular a screen display. The processor50is configured to operate in accordance with computer program instructions stored in a memory, such as the memory54. Program instructions may also be embodied in the hardware format, such as one or more programmed digital signal processors. In one application, location-specific images are stored in the images database40of the mobile image system10(seeFIG. 1A) and transmitted over the wireless communications network22to be received by the mobile device20for display on its screen60. In another application, a set of location-specific images, for example, a set of location-specific images corresponding to the general area of interest to the user, may be transmitted over the wireless communications network22to be pre-stored in the memory54(for example, a hard drive) of the mobile device20, and the pre-stored images can then be retrieved and displayed on the screen60.

In a further application, location-specific images may be pre-stored in a hard disk (including DVD, CD, etc.), such as in a Yellow Pages hard disk62, a navigation hard disk64, and a shopping assistance hard disk66, and may be loaded onto the memory54of the mobile device20. Essentially, the images to be displayed on the mobile device20, together with their associated computer instructions, for use in providing the Yellow Pages service, the navigation service, and the shopping assistance service, respectively, may be stored in these disks. These hard disks are received by a disk drive (forming part of the memory54) of the mobile device20for storage. For example, the mobile device20may be a car navigation system without a wireless communications capability to which different sets of location-specific images in the form of different hard disks can be loaded depending on the particular general area of interest to the user. In this application, it is not necessary for the mobile device20to retrieve location-specific images from the images database40of the mobile image system10over the wireless communications network22.

In various exemplary embodiments of the present invention, the functionality provided by the mobile image system10is best described in terms of services. The present invention offers various mobile image services, in each of which a mobile device20displays a location-specific image that is selected based on the determined position of the mobile device20. These services may be provided by the servers, each of which is depicted as a single computing device for ease of illustration inFIG. 1A, or may be provided by a greater number of computing devices than shown inFIG. 1A. As known to those skilled in the art, any stand-alone server may be supported by multiple computer systems connected together by a local area network or other communication mechanism. As another example, the services may be provided by the mobile device20itself when it locally stores all necessary data and instructions (program code) in its memory device, as described above. Accordingly, it should be understood that the term “mobile image system” as used herein encompasses various hardware configurations for implementing the mobile image services of the present invention, and is not limited to the particular configuration depicted inFIG. 1A.

In accordance with the present invention, a location-specific image to be displayed on the screen60of the mobile device20is selected based on the position of the mobile device20as determined by a position identification system. In the present description, the term “position identification system” is used to refer to any system that is capable of identifying the geographic position of the mobile device20so as to permit selection of location-specific images for display based on the determined position. The position identification system may utilize device-based technologies, i.e., technologies that permit the mobile device20to self-identify its position. An example of using such technologies is to equip the mobile device20with a global positioning system (GPS) receiver68, as shown inFIG. 1B. Alternatively, the position identification system may utilize network-based technologies, wherein the position of the mobile device20is identified based on a communication link connecting the mobile device20and the mobile image system10over the wireless communications network22(seeFIG. 1A). For example, certain cellular phone systems track the strength, the angle, and the arrival time difference of transmission signals for determining a cell phone's position, using time difference of arrival (TDOA) technology or timing advance (TA) location measurement technology. In this embodiment, the position of the mobile device20is identified by the overall wireless communications network22, perhaps at its base station (not shown), and the identified position may be relayed to the mobile device20and/or the mobile image system10to select suitable location-specific images for display based on the identified position of the mobile device20. Further alternatively, the position identification system may utilize a combination of both device-based technologies and network-based technologies.

A variety of position identification systems, utilizing device-based technologies and/or network-based technologies, are under development and/or available, as is well known in the art. When the mobile device20consists of a cellular phone, the position identification system may be in compliance with the wireless Enhanced 911 standard prescribed by the United States Federal Communications Commission (“the wireless E911 standard”). The wireless E911 standard mandates that cellular phone service providers within the United States provide the capability to locate the position of a cellular phone making an emergency (911) call within the provider's system. Other position identification systems may be in compliance with similar standards prescribed in other countries. It should be noted that a position identification system in accordance with the present invention is capable of identifying the position of the mobile device (e.g., a cellular phone) with respect to any “calls” placed to any numbers, IP addresses, etc., and is not limited to emergency calls.

Therefore, the determination of the position of the mobile device20may or may not be performed by the mobile device20itself. Specifically, if a particular embodiment of a position identification system is such that the mobile device20is configured to self-identify its position (e.g., using a GPS receiver), then the mobile device20is equipped with such a position identification system, and the position identification system, perhaps in conjunction with the processor50of the mobile device20, will determine the position of the mobile device20. The mobile device20(or, more specifically, its processor50) will then carry out suitable instructions to select location-specific images for display based on the determined position of the mobile device20. On the other hand, in another embodiment of the position identification system, the position of the mobile device20may be determined by the overall wireless communications network22(e.g., using TDOA technology) without having the mobile device20perform any particular functions other than being turned on and transmitting/receiving signals to/from the network22. In such a case, the determined position of the mobile device20may or may not be relayed to the mobile device20, and selection of suitable location-specific images based on the determined location of the mobile device20may be performed by the mobile device20and/or the mobile image system10.

Those having ordinary skill in the art of computers will recognize that a wide selection of commercially available components and arrangements can be used to construct a system, such as the mobile device system20illustrated inFIG. 1B.

FIG. 1Cillustrates two-way transfer of location-specific images between the images database40of the mobile image system10and the mobile device20over the wireless communications network22. When the mobile device20has an image capturing capability (e.g., including a digital camera69as shown inFIG. 1B), the processor50of the mobile device20may associate the captured image with the position of the mobile device20at the time the image was taken (as determined by any suitable position identification system, described above) to produce a location-specific image (i.e., an image associated with the geographic coordinates of the location at which the image was taken). The location-specific image can then be transmitted over the wireless communications network22to be included in the images database40within the mobile image system10. Thus, the images database40can be constantly updated and/or expanded by receiving additional location-specific images uploaded from the mobile devices20. For example, when a location-specific image associated with particular geographic coordinates is of poor quality (blurred, partially hidden by an obstructing object such as a passing pedestrian, etc.), a user of the mobile device20can take a high-quality image at the same location and upload the image to replace the poor-quality image. As further examples, a user of the mobile device20can upload a location-specific image for the purpose of receiving a specific service. As a specific example, when a user is locked out of a car, house, etc., the user can take an image of his location including the car, house, etc, and send the location-specific image via the wireless communications network22to a locksmith whose computing device has a display. The location-specific image sent by the user will be displayed on the computing device of the locksmith, together with its associated address, so that the locksmith can readily determine and reach the location of the user.

Referring back toFIG. 1A, the mobile image system10may further include the navigation server13, including an operating system28and a directions calculation module30. The navigation server13, in conjunction with the image-address database43and the maps-and-directions database44in the database server11, provide and display location-specific images on the mobile device20as part of a navigation program based on the determined position of the mobile device20. In particular, the navigation server13generates a navigation program which, when executed on the mobile device20, will display not only the relevant maps-and-directions to a destination location, but also various location-specific images of the destination location and any landmark points along the way. The administration and overall operation of the navigation server13is controlled by its operating system28, while its function for calculating directions and generating a directions program is performed by the directions calculation module30in cooperation with the maps-and-directions database44, the images database40, and the listings database42, for example.

FIG. 2illustrates a sample routine200to be performed by the directions calculation module30to generate a navigation program that incorporates various location-specific images to be displayed on the mobile device. At block201, the directions calculation module30receives a request for a navigation service from a mobile device20. At block202, the directions calculation module30further receives a desired destination location from the mobile device20. For example, the user of the mobile device20may type in the address or the business name of the destination location on the mobile device20, and the information is received by the directions calculation module30.

At block203, based on the received destination location, the directions calculation module30identifies a location-specific image of the destination location. Specifically, for example, the module30may request the search engine26of the Yellow Pages server12to search through the listings database42to identify a particular listing corresponding to the destination location as entered by the user. Once a particular listing is identified, it may then be used to identify a location-specific image of the destination location as stored in the images database40. The identified location-specific image is associated with the geographic coordinates of the location (i.e., the destination location in this case) at which the image was taken.

In one application, when the mobile device20is associated with an IP address, then the IP address may be used to determine a general geographic position of the mobile device20thereby selecting a subset of listings that generally correspond to the determined geographic position. For example, when the mobile devices20access the navigation server13and the image-address database43over the wireless communications network22, it may be preferable to first limit a number of possible listings (and hence their corresponding location-specific images) to search through, especially when the data size contained in the image-address database43is large. Most IP addresses are associated with a server that is physically proximate to the locations of the IP address owners. Thus, based on an IP address of the mobile device20, it is possible to estimate a general geographic position (e.g., city) of the mobile device20. Then, only those listings corresponding to the general geographic position may be searched, at least initially, to find a listing corresponding to the destination location. Thereafter, a location-specific image corresponding to the listing can be found.

At block204, the directions calculation module30calculates directions from the current position of the mobile device, as determined by any suitable position identification system as described above, to the destination location in reference to the maps-and-directions database44. Various methods of calculating directions are well known in the art.

Optionally, at block206, the directions calculation module30may then identify one or more landmark points along the calculated directions. For example, any predefined points of interest, such as major intersections, large buildings, parks, etc. can be designated as landmark points in the maps-and-directions database44. The module30automatically selects one or more landmark points along the calculated directions according to any suitable algorithm. For example, the module30may select landmark points at a certain interval. As another example, each of the landmark points may be pre-rated according to its importance (or preference), and only those landmark points above a certain preference level may be selected in each application, for example according to a user input.

At block208, for each of the landmark points identified, the geographic coordinates are found from the maps-and-directions database44, and may then be used to find a location-specific image taken at the geographic coordinates from the images database40.

At block210, the directions calculation module30compiles a navigation program for displaying on the mobile device20an image of the destination location, in addition to the ordinary directions and maps for navigating the user to the destination location. The navigation program may be further configured to display images of one or more landmark points along the way to the destination location. Each of these images will be displayed based on the position of the mobile device20as determined by the position identification system (e.g., a GPS receiver). Additionally, in one application, the images of the landmark points and the destination location, or any portion thereof, may be stored and/or presented in the form of a video clip. In this application, essentially all locations along the way toward the destination location that are associated with location-specific images (or a portion thereof) are designated as landmark points, and their location-specific images are included in a video clip.

It should be understood that the directions calculation module30, together with its associated databases, such as the images database40, the listings database42, and the maps-and-directions database44, may be contained in a hard disk64and stored in the memory54of the mobile device20. (SeeFIG. 1B). Thus, essentially, the navigation service as described above may be made available to the mobile device20that may not necessarily interface with a wireless communications network22.

FIG. 3is a flowchart illustrating actions taken when the navigation program generated in accordance withFIG. 2is executed. At block301, the navigation program is executed to display relevant directions and maps in a manner well known in the art. For example, a map of the relevant area may be displayed with an icon representative of the mobile device20moving on the map in accordance with the actual movement of the mobile device20as determined by the position identification system. Suitable directions in graphical and/or text form may also be displayed.

At block302, it is determined whether any landmark point is nearing. For example, this determination can be made if any of the landmark points comes within a certain distance from the current position of the mobile device20as determined by the position identification system. If so, then at block304, the image of the landmark point that is nearing can be accessed and displayed on the mobile device20, with an appropriate message, such as “If you see this, turn right,” etc.FIG. 8illustrates a sample screen shot displaying a location-specific image800of a landmark point (an intersection in this example), together with suitable directions in both text802(“If you see this, turn right”) and graphics (a left-turning arrow804in the example). The location-specific image800can remain displayed until the landmark point is passed. For example, the image800can be displayed until the distance between the landmark point and the mobile device20starts to increase.

After the mobile device20passes the landmark point, returning to block301(FIG. 3), the navigation program resumes displaying ordinary maps-and-directions, while continuing to monitor to see if any other landmark point comes close to the mobile device20(block302).

If, at block302, it is determined that no landmark point is near the mobile device20, then proceeding to block306, it is determined whether the final destination location is nearing. This determination can be made, for example, when the final destination location comes within a certain distance from the current position of the mobile device20as determined by the position identification system. If so, then proceeding to block308, the location-specific image of the final destination is displayed on the mobile device20. An appropriate message, such as “Your destination looks like this,” can be displayed at this time. The image may remain displayed until the user (i.e., the mobile device20) reaches the destination location.

It should be emphasized thatFIG. 3illustrates merely one example of actions to be performed when a navigation program is executed, and accordingly, the navigation program in accordance with the present invention is not limited to the particular embodiment disclosed inFIG. 3. For example, the image of the final destination may be displayed initially upon execution of the navigation program so that the user can view what to look for at his/her destination location prior to starting his/her journey. As another example, a video clip of a series of location-specific images along the way to a final destination (or a portion thereof) may be displayed initially upon execution of the navigation program so that the user can view the entire journey at the outset. As a further example, an image of the final destination may be displayed on the mobile device20anytime a user's request for such an image is received.

As further extensions of the present invention, various other services may be provided with respect to each of the location-specific images to be displayed. For example, if a user is traveling to a final destination, such as a restaurant, the user may be permitted to make a reservation at the restaurant upon viewing the location-specific image of the restaurant using his/her mobile device20. For example, many businesses have Wi-Fi devices which could process various requests, such as reservation requests, received via a wireless communications network22from the mobile device20. As another example, if the final destination is a movie theater, the user of the mobile device20may be permitted to purchase movie tickets upon viewing the location-specific image of the movie theater wirelessly over the communications network22.

Referring back toFIG. 1A, the mobile image system10may further include the shopping assistance server14. The shopping assistance server14, as illustrated, includes an operating system32and a shopping assistance module34. Briefly, the shopping assistance server14, in conjunction with the shopping database45, etc., allows a user of the mobile device20to view images of stores that carry items that the user wishes to purchase.

Specifically,FIG. 4illustrates a sample routine400for generating a shopping program in accordance with one embodiment of the present invention. At block401, the shopping assistance module34receives a request for a shopping assistance service from a user of the mobile device20. At block402, the module34receives a shopping list from the user of the mobile device. For example, the user may enter text into his/her mobile device20to list items that the user wishes to purchase (stamps, milk, books, etc.). At block404, for each of the items, the module34finds a corresponding “store category” that carries such an item (e.g., “post offices” for stamps, “grocery stores” for milk, “book stores” for books, etc.) This can be determined based on a predefined look-up table, for example, as stored in the shopping database45. Alternatively, the user may directly enter the store categories in the shopping list as opposed to the items to be purchased.

At block406, for each of the store categories entered or found, the module34finds one or more stores listed under the store category and also find the geographic (e.g., longitude/latitude) coordinates of these stores. This can be done, for example, by referring to the listings database42included in the database server11. Specifically, in accordance with various exemplary embodiments of the present invention, the listings database42lists various stores, businesses, etc., under each store category, together with their addresses, phone numbers, geographic longitude/latitude coordinates, business hours, etc. Therefore, for each of the store category, a list of stores together with their geographic coordinates can be obtained by searching through the listing database42. In one specific application, only those stores that are actually open (according to their business hours information) are returned based on the day and time at which the shopping list was received, as determined by an internal clock of the mobile device20or a clock accessible by the shopping assistance server14. At block407, optionally, for each of the stores found, a location-specific image can be found. It should be apparent to one skilled in the art that it is not necessary to retrieve the location-specific images of these stores at this point, it is only necessary to be able to access these location-specific images based on their geographic coordinates and the determined position of the mobile device20, as will be described below.

At block408, the module34finally compiles a shopping program for displaying images of the stores that sell the items/products included in the shopping list. Each of these images will be displayed based on the position of the mobile device20as determined by the position identification system.

It should be understood that the shopping assistance module34, together with its associated databases, such as the shopping database45, images database40, and the listings database42, etc., may be contained in a hard disk66and stored in the memory54of the mobile device20(seeFIG. 1B). Thus, essentially, the shopping assistance service as described above may be made available to the mobile device20that may not necessarily interface with a wireless communications network22.

FIG. 5illustrates actions performed during execution of the shopping program generated in accordance withFIG. 4above. At block501, the program monitors for the occurrence of a decision event of block502. At block502, it is determined whether any of the stores that may carry an item on the shopping list is nearing the position of the mobile device20as determined by the position identification system. For example, this determination can be made if the longitude/latitude coordinates of any of these stores comes within a certain distance from the current position of the mobile device20. If so, proceeding to block504, the program alerts the user (for example, by issuing a beeping sound) and displays an image of the store on the mobile device20with an appropriate message.FIG. 9is a sample screen shot displaying an image900of the store that is coming close to the mobile device20, together with a text message that reads “You can get your ‘——————’ (902—insert the relevant item on the shopping list) at ‘——————’ (904—insert the store name and address) near you.” In connection with the image of a store900, directions to the store may further be calculated and displayed by utilizing the navigation server13discussed above. The image of the store900can be displayed until the user (or more specifically, the user's mobile device20) reaches or passes the store. For example, this point of time can be determined when the distance from the mobile device to the store starts to increase.

The items to be entered into a shopping list may be general, such as “books,” or may be more specific, such as a particular title of a book. In one example, the mobile image system10of the present invention may be coupled via the wireless communications network22with searchable inventory databases of various bookstores. Then, a particular book title entered in a shopping list as received from the mobile device20of a user can be searched within these inventory databases to identify only those bookstores that actually carry this particular title. In this example, inFIG. 4, block406, only those bookstores that carry this particular title, together with their geographic coordinates, are found. Thereafter, in block408, a shopping program is compiled for displaying location-specific images of only those bookstores.

Referring again back toFIG. 1A, the mobile image system10may further include the recommendations server16. The recommendations server16, as illustrated, includes an operating system36and a recommendations module38. The recommendations server16, in conjunction with the user profiles database46, the image-address database43, etc., may cause the mobile device20to display location-specific images of the user's “favorite” places. As before, these images will be displayed based on the determined position of the mobile device20. Each user's “favorite” places are determined in reference to the data contained in the user profiles database46. Specifically, for each user having a user ID, the user profiles database46stores his/her favorite places or information that can be used to determine his/her favorite places in association with his/her user ID.

A user may actively (explicitly) enter his/her favorite places into the user profiles database46, for example, by typing in the addresses of the favorite places. Alternatively, a user's favorite places may be presumed (determined) based on the user's observed behavior on the mobile image system10. For example, when the user accesses the navigation service provided by the navigation server13and enters a certain destination location, the destination location may be presumed to be the user's favorite place and stored as such in the user's profile. Likewise, if the user accesses the shopping assistance service provided by the shopping assistance server14and enters a shopping list including certain items, the stores that carry those items may be presumed to be the user's favorite places and added to the user's profile. As another example, if a user's profile contains a list of the user's favorite books, for each of these books, a list of geographic locations that appear in the book may be compiled (e.g., the name of a restaurant that a book's main character visits). Then, these geographic locations may be presumed to be the user's favorite places, and added to the user's profile in the database46. Further alternatively, if no information is available regarding the preferences or past behavior of a particular user, general favorite places (e.g., favorite places of other users) may be presumed to be one of this user's favorite places also. Therefore, each user of the mobile device20accessing the recommendations service has a user ID, and has an associated user profile included in the user profiles database46(although the amount and content of information included in each user profile may vary), which can be used to determine the user's favorite places. Note that a user ID does not necessarily coincide with a device ID; in some applications one mobile device may be shared by multiple users each having his/her own user ID and a user profile.

FIG. 6is a flow chart illustrating a sample routine600for generating a favorite places program in accordance with one embodiment of the present invention. At block601, the recommendations module38receives a request for a recommendations service from the mobile device20. At block602, the module38forms a list of the favorite places of the user requesting the recommendations service. To this end, the module38refers to the user profiles database46and retrieves the user's favorite places stored in the user's profile and/or determines the user's favorite places based on the information contained in the user's profile. At block603, the module38then finds geographic coordinates for each of the user's favorite places, in reference to the image-address database43. Finally, at block604, the module38compiles a favorite places program for displaying location-specific images of the favorite places when the user is near or at these favorite places, based on the determined position of the mobile device20.

FIG. 7is a flowchart illustrating actions taken during execution of the favorite places program generated in accordance withFIG. 6. At block701, the program monitors for the occurrence of a decision event of block702. At the decision block702, it is determined whether any of the favorite places is nearing. For example, this determination can be made when the determined position of the mobile device20comes within a certain distance from the longitude/latitude coordinates of any of the favorite places. If so, at block704, the program alerts the user (e.g., by issuing a beep sound), and displays an image of the favorite place on the mobile device20together with an appropriate message.

FIG. 10is a sample screen shot displaying an image1000of a favorite place (a library in this example) that is coming close to the mobile device20, together with a text message that reads “Your favorite ‘——————’ (1002—insert the place name, for example “library”) is near you at ‘——————’ (1004—insert the place address).” In connection with the image of the favorite place1000, directions to the favorite place may further be calculated and displayed by utilizing the navigation server13discussed above. The image of the favorite place can remain displayed until the user (or more specifically, the user's mobile device20) reaches or passes the favorite place.

In various applications of the present invention, a location-specific image selected for a user based on his/her user ID may be supplemented with further information available from his/her user profile. For example, when an image of a place that the user has visited in the past is selected based on his/her user profile, the date on which the user last visited the place may be obtained and used to calculate the period of time that has passed since that time. Then, the image can be displayed on the user's mobile device together with a message such as “It's been ‘——————’ months/years since you last visited your favorite ‘———————’ (insert the place name, address, etc.).” Other types of supplemental information to annotate a selected image include, for example, a list of items that the user has purchased at a place in the image, or a title of a book in which a place in the image appears together with any rating that the user has given to the book.

Accordingly, the present invention provides methods and systems that permit a user of a mobile device to view location-specific images in various situations, for example when trying to reach a certain destination location or to purchase items on a shopping list. In all of these situations, the methods and systems display location-specific images based on the determined position of the mobile device so that the location-specific images are displayed in a timely and geographically relevant manner to assist the user in finding and reaching the desirable locations.