Claims
- 1. A method for dynamically optimizing display of an image transmitted to a client device, the method comprising:
receiving an online request from a particular client device for retrieving a target image for display, said request including information assisting with determination of a device type for the client device, and said target image comprising image components arranged into individual layers; based on said request, determining a device type for the particular client device; based on the determined device type, retrieving information specifying viewport and layering information for the particular client device; based on said viewport and layering information, creating a version of the target image optimized for display at the particular client device; and transmitting the created version of the target image to the client device for display.
- 2. The method of claim 1, wherein said step of determining a device type includes:
consulting a device database to determine a device type for the client device.
- 3. The method of claim 2, wherein said step of consulting a device database includes:
retrieving information from the device database that indicates a particular configuration file available for optimizing display of images for the particular client device.
- 4. The method of claim 3, wherein said particular configuration file specifies display capability information about the particular client device.
- 5. The method of claim 3, wherein said particular configuration file comprises an XML file specifying viewport and layering information for the particular client device.
- 6. The method of claim 1, wherein said online request comprises a Web-based request.
- 7. The method of claim 1, wherein said online request comprises an HTML-based request.
- 8. The method of claim 1, wherein said online request includes information identifying a particular target image.
- 9. The method of claim 1, wherein said online request is initiated from a browser operating at the particular client device and includes information identifying a particular type of client device.
- 10. The method of claim 1, wherein said online request comprises a URL.
- 11. The method of claim 1, wherein said information assisting with determination of a device type for the particular client device comprises header information transmitted with said online request.
- 12. The method of claim 11, wherein said header information transmitted with said online request is compared against a database of device types for determining which specific type of device the particular client device is.
- 13. The method of claim 1, wherein said information assisting with determination of a device type for the particular client device comprises HTTP header information.
- 14. The method of claim 1, wherein said information specifying viewport and layering information for the particular client device is maintained in a hierarchical fashion in an XML file.
- 15. The method of claim 14, wherein said XML file includes constraint values based on device limitations of the particular client device.
- 16. The method of claim 15, wherein said constraint values indicate a maximum image size that can be displayed at the particular client device.
- 17. The method of claim 1, wherein said step of creating a version of the target image optimized for display at the client device includes:
rendering said image components in the individual layers in a manner that conforms to said viewport and layering information for the particular client device.
- 18. The method of claim 1, wherein said step of creating a version of the target image optimized for display at the client device includes:
iteratively creating different versions of the target image based on said viewport and layering information until an appropriate target image that is optimized for display at the client device is found.
- 19. The method of claim 1, further comprising:
before transmitting the created version of the target image to the particular client device, transforming the created version into a file format suitable for the client device.
- 20. The method of claim 19, wherein said file format includes JPEG-compatible file format.
- 21. The method of claim 1, wherein each of said layers maintains image components of a given type.
- 22. The method of claim 21, wherein a given layer maintains image components selected from one of bitmaps, animations, text, and vector graphics.
- 23. A computer-readable medium having processor-executable instructions for performing the method of claim 1.
- 24. A downloadable set of processor-executable instructions for performing the method of claim 1.
- 25. A system for on-demand creation of images that are customized for a particular device type, the system comprising:
a module serving as a repository for images, each image comprising image components arranged into distinct layers; a module for processing a request from a device for retrieving a particular image from the repository, said module determining a particular device type for the device based in part on information contained in the request; and a module for creating a copy of the particular image that is customized for the device, said module individually rendering image components in the distinct layers of the particular image based on said determined device type, such that at least some of the image components in the distinct layers of the particular image are customized for the device.
- 26. The system of claim 25, wherein the copy of the particular image is created in a manner that conforms to viewport constraints of the device.
- 27. The system of claim 25, wherein the copy of the particular image is created in a manner that conforms to image size constraints of the device.
- 28. The system of claim 25, further comprising:
a module for transforming the copy of the particular image into an image format that is compatible with the device.
- 29. The system of claim 25, wherein said module for processing a request operates on a server computer.
- 30. The system of claim 29, wherein said server computer includes Internet connectivity.
- 31. The system of claim 25, wherein said device communicates with the system via wireless connectivity.
- 32. The system of claim 25, wherein said device communicates with the system via wireless connectivity to the Internet.
- 33. The system of claim 25, further comprising an image cache for caching the copy of the particular image that is customized for the device.
- 34. The system of claim 25, wherein said request comprises an HTML request.
- 35. The system of claim 25, wherein said request is initiated from a browser operating at the device.
- 36. The system of claim 25, wherein said request includes header information allowing determination of a device type.
- 37. The system of claim 36, further comprising:
a device database for assisting with identification of the device type based on said header information.
- 38. The system of claim 37, wherein said device database indicates an available configuration file that is useful for creating a copy of the particular image that is customized for the device.
- 39. The system of claim 25, wherein said configuration file comprises an XML file specifying layering and viewport information for the device.
- 40. The system of claim 25, wherein said module for creating a copy iteratively creates different candidates of the particular image until an appropriate one that is optimized for display at the device is created.
- 41. An image retrieval method including an improvement for optimizing display of requested images, the improvement comprising:
organizing each image into different layers, with each layer having image components of a certain type; storing information indicating how to optimize a given layer for a particular type of device that the given image is to be displayed at; when receiving a request for retrieving a particular image, identifying what type of device is requesting the particular image; based on the type of device requesting the particular image, retrieving the stored information that indicates how to optimize a given layer of the image for the device that is requesting the image; and based on the retrieved information, rendering individual layers of the image to dynamically generate a rendered image that is optimized for display at the device.
- 42. The improvement of claim 41, further comprising:
maintaining viewport information for different types of devices, so that the rendering step may be performed in a manner that conforms to constraints appropriate for the device.
- 43. The improvement of claim 41, wherein, if the rendered image that is dynamically generated has an image size that is too large for the device requesting the particular image, said rendering step is repeated to generate an image having a smaller image size.
- 44. The improvement of claim 41, wherein a given layer maintains image components selected from one of bitmaps, animations, text, and vector graphics.
- 45. The improvement of claim 44, wherein one layer is dedicated for rendering a border.
- 46. The improvement of claim 41, wherein said information indicating how to optimize each layer for a particular type of device is stored in device type-specific configuration files.
- 47. The improvement of claim 46, wherein said device type-specific configuration files comprise XML files, each file storing information about rendering images for a particular device type.
- 48. The improvement of claim 46, wherein each device type-specific configuration file includes layering and viewport information for a particular device type.
- 49. The improvement of claim 41, wherein said request comprises a browser request received from a device connected to the Internet.
- 50. The improvement of claim 41, wherein said step of identifying what type of device is requesting the particular image includes parsing the request for obtaining information that assists in identifying the type of device.
RELATED APPLICATIONS
[0001] The present application is related to and claims the benefit of priority of the following commonly-owned provisional application(s): application serial No. 60/398,211 (Docket No. LS/0033.00), filed Jul. 23, 2002, entitled “Imaging System Providing Dynamic Viewport Layering”, of which the present application is a non-provisional application thereof. The present application is related to the following commonly-owned application(s): application Ser. No. 10/010,616 (Docket No. LS/0024.00), filed Nov. 8, 2001, entitled “System and Methodology for Delivering Media to Multiple Disparate Client Devices Based on Their Capabilities”; application Ser. No. 09/588,875 (Docket No. LS/0003.01), filed Jun. 6, 2000, entitled “System and Methodology Providing Access to Photographic Images and Attributes for Multiple Disparate Client Devices”. The disclosures of each of the foregoing applications are hereby incorporated by reference in their entirety, including any appendices or attachments thereof, for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60398211 |
Jul 2002 |
US |