1. Field of the Invention
This invention relates generally to wireless telecommunication. More particularly, it relates to display techniques in wireless applications that enable viewing by a user of a wireless device.
2. Background of the Related Art
Year by year, wireless devices such as cell phones have grown smaller and lighter. Along with this trend of miniaturization is the implementation of a display screen that is correspondingly small. The size of the display screen, and amount of memory within the wireless device, are often limiting factors in many applications. This is particularly true for applications running in a wireless device that attempt to display a map for a user.
When a map is displayed in a wireless device using a conventional application, typically a map somewhat larger than the size of the display screen is downloaded and displayed centered on the display. However, existing map display applications are a bit cumbersome to use on a wireless device, as they typically do not allow the user to fluidly pan around a map that is being displayed at the time.
For instance,
In such conventional applications, the loaded image 660 is centered on the display 610, with undisplayed, or cropped portions of the loaded image forming an overlapping border image area, e.g., a 30 to 50 pixel border area just outside the displayable portion of the image 650.
In many displaying applications, particularly those that display a map, it is desirable to allow panning by the user. Most often, direction or arrow keys on a keypad of the wireless device are operated to cause the relevant application to move the displayed image in a desired direction. When panning, the user can move the displayed image only up until the point at which the edge of the loaded image meets the relevant edge of the display 610. At this point, the panning operation pauses, and a new image is requested by the wireless device—all while the user waits for the download of a new image centered at the current point of the curser.
Conventional panning operations on wireless devices provide a pop up such as a progress bar that visually depicts the state of the downloading operation for the new image centered at the current location. At this point, until the new image is fully downloaded, conventional applications disallow most user operations while the new image is being downloaded to maximize efforts (and reduce time) in fetching the new image, which severely interrupts the user's experience of panning through the displayed image.
When the wireless device is finally ready to continue (which in a wireless society seconds can seem like forever), the previously loaded image is deleted from memory, and replaced with a new image centered at the current point of the cursor. No attempt is made to reuse the old, deleted image.
Thus, most existing applications load a single map image, somewhat larger in dimensions than the screen, and allow the user to pan to one of the edges. Up until this point the panning operation may be smooth, but when the user reaches the edge of the map the application will appear to freeze. Many times a pop-up with a progress bar and/or an hourglass is usually displayed indicating to the user that the wireless device is working, and the user waits for the next map image to be retrieved across the wireless network. The inventors of this application appreciated that this conventional approach results in a poor user experience with significant wait periods each time a loaded map edge is reached, and a new map display image requested to be viewed is loaded. If the map images are not cached, the user often has to wait again for display of the same map if they pan back to a location that they have already viewed.
There is a need for both more seamless panning as perceived by the user of a wireless device such as a cell phone, as well as to minimize the down time during which the user is not permitted to continue on with their mapping control while the image is being fetched.
In accordance with the principles of the present invention, a display module in a wireless device comprises an image tile loader module. An image tile cache memory (i.e., “cache manager”) is adapted to contain a plurality of image tiles. At least one of the plurality of image tiles is not in a viewable section of an overall image when downloaded to the wireless device. A predictive selection module running a suitable tile selection process causes the image tile loader module (i.e., “data manager”) to fetch a next image tile before the next image tile is required for display on the wireless device.
In accordance with another aspect of the invention, a method of fetching a pan-able image for display on a wireless device comprises definining the pan-able image into a plurality of image tiles. A direction of panning is determined by a user viewing a displayed portion of the pan-able image on the wireless device. A next one of the plurality of image tiles is fetched based on the determined direction of panning.
The present invention provides a tiled-map display control with a predictive caching technique that minimizes user wait time and allows for the illusion of continuous panning, even while map tile images are being loaded. Important components of the tiled map display are its definition and cached use of map tiles, as well as the way that the map tiles are put together on a small screen.
The present invention enables easy, seamless, wait-free and convenient viewing of a map or other pan-able image by a user of a wireless device. An image implemented in the embodiments herein is a map showing traffic conditions, though the invention has applicability to maps in general.
The disclosed embodiments are techniques that may be implemented in a suitable software platform, e.g., BREW or J2ME, and deployed for operation in major carrier wireless networks. The present invention has particular applicability for use in wireless devices because of the typically smaller display screens requiring the need for panning, and also because of the smaller bandwidth capabilities of the supporting wireless network.
In particular, as shown in
Presuming the user is not yet panning on the wireless device, the displayed tile 150 is preferably downloaded or fetched first, followed by tiles 120-127 in a predetermined order.
When the user first brings up an image tile on the device, the application fetches the first image tile (Tile #1) 150 with dimensions that correspond exactly to the screen dimensions of the device. Upon loading the first tile 150 and storing it in a cache on the wireless device, the technique immediately begins fetching the surrounding image tiles 120-127 in anticipation of user requests to pan around on the image (e.g., map). The user may pan (go left, right, up, down) at anytime. If the image tile hasn't yet been loaded, the user sees the outline of the image tile and a % loaded indicator. The order in which image tiles are requested over the network is a predictive technique based on the current direction of pan and the currently displayed image tile. The sequence of image tiles to be fetched is re-evaluated after a singleimage tile has been loaded and stored in the cache. The display component of the application combine's these image tiles into what looks like a continuously pan-able image with no edges.
In particular, as shown in
The ordering of tiles fetched when the application first starts up may be other than that shown in
Most wireless devices provide a user interface allowing the user to provide directional control. For instance, in the given application on a cell phone, arrow keys 110-113 provide keyed input of direction instructions in the right, down, left and right directions, respectively.
Importantly, in accordance with the principles of the present invention, predictive prioritization of tile fetching is provided as a result of the user panning in any given direction. Unfetched tiles adjacent to the displayed portion of the tiles in that particular direction are prioritized and fetched before other tiles in directions not being panned to at the time.
Preferably, the closer an unfetched tile is to having any portion required for display, the higher a priority it is given in a fetching order. Moreover, should memory requirements limit the number of tiles capable of being stored, tiles are preferably retained longer in a direction of a current or last panning operation, with tiles farthest away in a direction opposite the direction of panning being first to be deleted or overwritten.
Thus, as the user pans the map, using arrows keys 110-113 on the device, new tiles become visible. The preferred technique for fetching tiles is adaptive in the sense that upon the completion of fetching one tile, the technique determines the currently displayed map tile(s). If this has changed, the fetching technique will re-prioritize the list of tiles to be fetched.
In particular, as shown in
Tiles already fetched preferably remain in the cache until they either expire based on a time to live setting, or must be removed to make room for a tile that is closer to the user's currently displayed location in the latest direction of pan.
Hysteresis may be implemented wherein small pans in different directions may not influence the predictive nature of the tile fetching priority as much as large movements. For instance, a threshold distance may be established beyond which the priorities of tile fetching becomes reprioritized.
In particular, as shown in
For the sake of exhaustiveness,
In particular, as shown in
Preferably, as the user changes direction of panning, the priority given to the tile order being fetched may be dynamically updated.
In further embodiments, tiles are split into sub-tiles to support wireless devices with less available memory. For instance, the tiles 150, 120-127 shown in
For example, if the user pans so that the corner of a tile is in the center of the display screen, we would initially have to render 4 large tiles in memory even though only a quarter of each tile is actually visible on screen. With the sub-tile enhancement, we are able to render in memory just what is visible, reducing the memory footprint of the application, allowing operation on a wider variety of wireless devices.
Thus, according to the invention, tiled images such as maps are adaptively and predictively fetched, and stitched together on a wireless device such as a cell phone, to create the illusion of an infinitely large image which is seamless to the user. The invention pre-fetches image tiles before they are required for display so that the user can pan around past image tiles fetched initially. When the user finally stops panning, any image tiles not yet fetched are prioritized and quickly fetched and displayed. Accordingly, the user can pan over the edge of the image tile, and that missing image tile is shown as a blank area.
Ideally a progress bar or percentage is shown for each image tile being fetched. In disclosed embodiments, a ‘throbber’ is shown for each image tile or cell on the image grid that's not yet displayed. The ‘throbber’ is a pulsing ball with a percentage complete next to it. In certain instances, there could be as many as 4 ‘throbbers’ representing 4 different image tiles displayed simultaneously.
Thus, some image tiles will be fetched before others, and the progress will complete quicker for those image tiles than for others. Eventually, any missing or blank areas of the image are filled in.
As technology progresses and bandwidth improves for wireless devices such as cell phones, the image tiles will show up as fast as the user can pan.
In the disclosed embodiments, the complete high resolution image tiles are displayed when fully loaded—the low resolution image isn't shown first as it becomes available as it is not deemed worth expending processing time in displaying the low resolution temporary image. However, temporary use of a low resolution image of an image tile being downloaded is within the scope of the invention.
In disclosed embodiments, a 3×3 image tile grid is maintained in cache memory, centered about the image tile most predominant in the display at the time. As the user pans, if it is a quick pan and bandwidth to the wireless device is slow, in a worst case the user may have for display only one of the 3×3 image tile grid, but when the panning operation stops the processor can catch up and fill in the 3×3 in a prioritized order.
A benefit of the invention is that, on average, image tiles load more quickly by taking advantage of the cache. Since the user is never forced to wait for something to happen, the user experience is much smoother and generally better.
The invention has particular application with wireless application developers that want to display large detailed images on a small display, e.g., the display of maps on a wireless device such as a cell phone or PDA. The invention also has applicability with vendors offer mapping functionality for portable, wireless devices in particular.
While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments of the invention without departing from the true spirit and scope of the invention.
The present invention claims priority from U.S. Provisional Application 60/698,922, filed Jul. 14, 2005, entitled “Tiled Map Display On A Wireless Device”, to Barcklay et al., the entirety of which is expressly incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5006837 | Bowers | Apr 1991 | A |
5200738 | Fumoto et al. | Apr 1993 | A |
5263136 | DeAguiar et al. | Nov 1993 | A |
5359529 | Snider | Oct 1994 | A |
5781200 | Lu et al. | Jul 1998 | A |
5973700 | Taylor et al. | Oct 1999 | A |
6021406 | Kunetsov | Feb 2000 | A |
6026398 | Brown | Feb 2000 | A |
6064941 | Nimura | May 2000 | A |
6104416 | McGuinness | Aug 2000 | A |
6108650 | Musk | Aug 2000 | A |
6119013 | Maloney | Sep 2000 | A |
6144338 | Davies | Nov 2000 | A |
6262741 | Davies | Jul 2001 | B1 |
6377945 | Risvik | Apr 2002 | B1 |
6424912 | Correia | Jul 2002 | B1 |
6487495 | Gale | Nov 2002 | B1 |
6507785 | Stefan | Jan 2003 | B1 |
6523021 | Monberg | Feb 2003 | B1 |
6529143 | Mikkola | Mar 2003 | B2 |
6587782 | Nocek | Jul 2003 | B1 |
6636803 | Hartz | Oct 2003 | B1 |
6671424 | Skoll | Dec 2003 | B1 |
6714205 | Miyashita et al. | Mar 2004 | B1 |
6734867 | Munshi et al. | May 2004 | B1 |
6820092 | Nakano | Nov 2004 | B2 |
6904176 | Chui et al. | Jun 2005 | B1 |
6912545 | Lundy et al. | Jun 2005 | B1 |
6940407 | Miranda-Knapp | Sep 2005 | B2 |
7162470 | Sharma | Jan 2007 | B2 |
7190839 | Feather et al. | Mar 2007 | B1 |
7373246 | O'Clair | May 2008 | B2 |
7385600 | Marion | Jun 2008 | B2 |
7444326 | Jagadish | Oct 2008 | B1 |
7499914 | Diab | Mar 2009 | B2 |
7548915 | Ramer | Jun 2009 | B2 |
7706977 | Soehren | Apr 2010 | B2 |
7747611 | Milic-Frayling | Jun 2010 | B1 |
7840579 | Samuelson | Nov 2010 | B2 |
7917154 | Fortescue | Mar 2011 | B2 |
7949642 | Yang | May 2011 | B2 |
RE42927 | Want | Nov 2011 | E |
8095434 | Puttick | Jan 2012 | B1 |
8265864 | Kaufman | Sep 2012 | B1 |
20010021894 | Sakamoto | Sep 2001 | A1 |
20010047241 | Khavakh | Nov 2001 | A1 |
20020021231 | Schlager | Feb 2002 | A1 |
20020067353 | Kenyon et al. | Jun 2002 | A1 |
20020083062 | Neal | Jun 2002 | A1 |
20020098851 | Walczak | Jul 2002 | A1 |
20020130953 | Riconda | Sep 2002 | A1 |
20020190861 | Wentworth | Dec 2002 | A1 |
20020198694 | Yang | Dec 2002 | A1 |
20030011623 | Dermer | Jan 2003 | A1 |
20030016804 | Sheha et al. | Jan 2003 | A1 |
20030034936 | Ernst et al. | Feb 2003 | A1 |
20030055555 | Knockheart | Mar 2003 | A1 |
20030071728 | McDonald | Apr 2003 | A1 |
20030095525 | Lavin | May 2003 | A1 |
20030137961 | Tsirtsis et al. | Jul 2003 | A1 |
20040023645 | Olsen | Feb 2004 | A1 |
20040027258 | Pechatnikov | Feb 2004 | A1 |
20040030493 | Pechatnikov | Feb 2004 | A1 |
20040135784 | Cohen et al. | Jul 2004 | A1 |
20040158829 | Beresin | Aug 2004 | A1 |
20040185870 | Matsuda | Sep 2004 | A1 |
20040215641 | Kothuri | Oct 2004 | A1 |
20040217980 | Radburn et al. | Nov 2004 | A1 |
20040220918 | Scriffignano | Nov 2004 | A1 |
20050149253 | Nambata | Jul 2005 | A1 |
20050188333 | Hunleth | Aug 2005 | A1 |
20050228780 | Diab | Oct 2005 | A1 |
20050270305 | Rasmussen et al. | Dec 2005 | A1 |
20050270311 | Rasmussen et al. | Dec 2005 | A1 |
20050288033 | McNew | Dec 2005 | A1 |
20060005114 | Williamson et al. | Jan 2006 | A1 |
20060023626 | Krausz | Feb 2006 | A1 |
20060055693 | Sylthe et al. | Mar 2006 | A1 |
20060068753 | Karpen | Mar 2006 | A1 |
20060089792 | Manber et al. | Apr 2006 | A1 |
20060103659 | Karandikar et al. | May 2006 | A1 |
20060105782 | Brock | May 2006 | A1 |
20060135178 | Allyn | Jun 2006 | A1 |
20060155679 | Kothuri | Jul 2006 | A1 |
20060174209 | Barros | Aug 2006 | A1 |
20060200308 | Arutunian | Sep 2006 | A1 |
20060223518 | Haney | Oct 2006 | A1 |
20060224997 | Wong et al. | Oct 2006 | A1 |
20060229802 | Vertelney et al. | Oct 2006 | A1 |
20060246922 | Gasbarro | Nov 2006 | A1 |
20060256130 | Gonzalez | Nov 2006 | A1 |
20070041513 | Gende | Feb 2007 | A1 |
20070072620 | Levitan | Mar 2007 | A1 |
20070078848 | Sareen | Apr 2007 | A1 |
20070083557 | Leiserowitz | Apr 2007 | A1 |
20070083649 | Zuzga | Apr 2007 | A1 |
20070094042 | Ramer | Apr 2007 | A1 |
20070118520 | Bliss | May 2007 | A1 |
20070124216 | Lucas | May 2007 | A1 |
20070149243 | Hwang | Jun 2007 | A1 |
20070156334 | Vu | Jul 2007 | A1 |
20070174259 | Amjadi | Jul 2007 | A1 |
20070219708 | Brasche | Sep 2007 | A1 |
20070233817 | Johnson et al. | Oct 2007 | A1 |
20070239752 | Beitman | Oct 2007 | A1 |
20070253642 | Berrill | Nov 2007 | A1 |
20070281690 | Altman | Dec 2007 | A1 |
20070298812 | Singh | Dec 2007 | A1 |
20080004043 | Wilson | Jan 2008 | A1 |
20080104059 | Segel | May 2008 | A1 |
20080104227 | Birnie | May 2008 | A1 |
20080120293 | Morisawa | May 2008 | A1 |
20080154856 | Riise | Jun 2008 | A1 |
20080154888 | Burton | Jun 2008 | A1 |
20080218407 | Norda | Sep 2008 | A1 |
20080249983 | Meisels | Oct 2008 | A1 |
20080268822 | Johnson | Oct 2008 | A1 |
20080270366 | Frank | Oct 2008 | A1 |
20080280599 | Cheng | Nov 2008 | A1 |
20080319652 | Moshfeghi | Dec 2008 | A1 |
20080319653 | Moshfeghi | Dec 2008 | A1 |
20080319990 | Taranenko | Dec 2008 | A1 |
20090009397 | Taylor | Jan 2009 | A1 |
20090018840 | Lutz | Jan 2009 | A1 |
20090029693 | Liwell | Jan 2009 | A1 |
20090055087 | Beacher | Feb 2009 | A1 |
20090061852 | Feher | Mar 2009 | A1 |
20090100037 | Scheibe | Apr 2009 | A1 |
20090132514 | Kisluk | May 2009 | A1 |
20090144260 | Bennett | Jun 2009 | A1 |
20090150349 | Cartin | Jun 2009 | A1 |
20090171934 | Ratnakar | Jul 2009 | A1 |
20090171955 | Merz | Jul 2009 | A1 |
20090210413 | Hayash | Aug 2009 | A1 |
20090222438 | Strandell | Sep 2009 | A1 |
20090237307 | Tsai | Sep 2009 | A1 |
20090248663 | Maniyar | Oct 2009 | A1 |
20090325615 | McKay et al. | Dec 2009 | A1 |
20100037057 | Shim et al. | Feb 2010 | A1 |
20110003578 | Chen et al. | Jan 2011 | A1 |
Number | Date | Country |
---|---|---|
2402778 | Oct 2004 | GB |
2008 039698 | Feb 2008 | JP |
WO2006125291 | May 2005 | WO |
WO 2006071271 | Jun 2005 | WO |
Entry |
---|
PCT International Search Report (PCTUS2007/11027) and Written Opinion of International Searching Authority, Feb. 21, 2008. |
PCT International Search Report (PCTUS2004/0217980) and Written Opinion of International Searching Authority, May 28, 2008. |
PCT International Search Report (PCTUS2008/10542)and Written Opinion of International Searching Authority, Nov. 26, 2008. |
Internal Search Report received in PCT/US2008/12621 dated Jan. 8, 2009. |
PCT International Search Report (PCTUS2006/027096) and Written Opinion of International Searching Authority, Aug. 21, 2008. |
PCT International Search Report (PCTUS2009/02115) and Written Opinion of International Searching Authority, May 29, 2009. |
International Search Report in PCT/US2009/05486 dated Jan. 21, 2010. |
Ahern et al.; “World Explorer: Visualizing Aggregate Data from Unstructured Text in Geo-Referened Collections,” Jun. 18-23, 2007, ACM, JCDL'07. |
European Search Report received in European Appl. No. 09819546.4 dated Oct. 15, 2012. |
John Krumm et al, “Map Matching with Travel Time Constraints”, SAE 2007 World Congress, Apr. 19, 2007. |
Number | Date | Country | |
---|---|---|---|
20070013708 A1 | Jan 2007 | US |
Number | Date | Country | |
---|---|---|---|
60698922 | Jul 2005 | US |