IP Library Granted Patent US 7,792,876
Granted Patent B2
US 7,792,876 · App. 11/439,928 · Granted Sep 7, 2010

Imaging system providing dynamic viewport layering

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,792,876
App. No.
11/439,928
Granted
Sep 7, 2010
Kind
B2
Abstract

A system including methodology for optimizing/customizing display or rendering of requested images is described. In one embodiment, the system provides on-demand creation of images that are customized for a particular device type. The system comprises 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, the 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, the module individually rendering image components in the distinct layers of the particular image based on the 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.

Claims (48)

1. A computer-implemented method comprising:

organizing, with a processor, each image into different layers, with each layer having image components of a certain type;

determining an optimization for display on a particular type of device, from among a plurality of different types of devices, on a per-layer basis, by

performing one or more image enhancements on each layer of the image, and

performing viewport preprocessing on each layer of the image to compensate for viewport and color constraints of the device requesting the image;

based on the type of device requesting the image, iteratively rendering each layer of the image based on the optimization determined for the type of device to dynamically generate a rendered image that is optimized for display at the, wherein each layer is iteratively rendered until an appropriate image based on the optimization determined for the type of device is found; and

converting a file format of the rendered image to a file format suitable for the device.

2. The computer-implemented method of claim 1 , further comprising:

maintaining viewport information for different types of devices to enable rendering an image that conforms to constraints appropriate for a particular device.

3. The computer-implemented method of claim 1 , further comprising:

storing information indicating how to optimize a given layer for the type of device that the image is to be displayed at; and

based on the type of device requesting the image, retrieving the stored information that indicates how to optimize a given layer of the image for the device.

4. The computer-implemented method of claim 3 , wherein the information indicating how to optimize each layer is stored in device type-specific configuration files.

5. The computer-implemented method of claim 4 , wherein each device type-specific configuration file specifies layering and viewport information for a particular device type.

6. The computer-implemented method of claim 1 , further comprising:

receiving a request from the device for the image; and

based on the request, determining the type of device that is requesting the image.

7. The computer-implemented method of claim 6 , wherein determining the type of device further comprising:

parsing the request to obtain information for identification of the type of device.

8. The computer-implemented method of claim 1 , further comprising:

determining whether an image file, which is the result of the rendering, satisfies a file size constraint of the requesting device; and

resizing a viewport for the rendered image when the file size constraint is not satisfied.

9. The computer-implemented method of claim 1 , wherein a description language specification for the image is maintained at an image server.

10. The computer-implemented method of claim 9 , wherein the description language specification is an extensible markup language (XML) file that provides a hierarchical description of the different layers that form the image.

11. The computer-implemented method of claim 1 , wherein the different layers include one or more of an image layer, an animation layer, a text layer, and a vector graphics layer.

12. An image server comprising:

a memory to store a plurality of images;

a processor coupled with the memory to execute a plurality of modules, wherein the modules executed by the processor include

a first module to organize each image into different layers, with each layer having image components of a certain type;

a second module to determine an optimization for display on a particular type of device, from among a plurality of different types of devices, on a per-layer basis, wherein to determine an optimization the second module to perform one or more image enhancements on each layer of the image, and perform viewport preprocessing on each layer of the image to compensate for viewport and color constraints of the device requesting the image; and

a third module to, based on the type of device requesting the image, iteratively render each layer of the image based on the optimization determined for the type of device to dynamically generate a rendered image that is optimized for display at the type of device, wherein each layer is iteratively rendered until an appropriate image based on the optimization determined for the type of device is found; and

a fourth module to convert a file format of the rendered image to a file format suitable for the type of device.

13. The image server of claim 12 , further comprising:

a fifth module to maintain viewport information for different types of devices to enable rendering an image that conforms to constraints appropriate for the device.

14. The image server of claim 13 , further comprising:

the fifth module to store information indicating how to optimize a given layer for the type of device that the image is to be displayed at, and based on the type of device requesting the image, retrieve the stored information that indicates how to optimize a given layer of the image for the device.

15. The image server of claim 14 , wherein the information indicating how to optimize a given layer of the image for the device is maintained at a database coupled to the image server.

16. The image server of claim 12 , further comprising:

an image cache to temporarily store a copy of the rendered image optimized for the device.

17. The image server of claim 12 , further comprising:

a communications interface to receive requests from the device for optimized images, wherein the device communicates the request via the internet or wireless connectivity.

18. A computer readable medium with instructions stored thereon, which when executed by a computer system, cause the computer system to perform a method comprising:

organizing, with a processor of a computer system, each image into different layers, with each layer having image components of a certain type;

determining an optimization for display on a particular type of device, from among a plurality of different types of devices, on a per-layer basis, by

performing one or more image enhancements on each layer of the image, and

performing viewport preprocessing on each layer of the image to compensate for viewport and color constraints of the device requesting the image;

based on the type of device requesting the image, iteratively rendering each layer of the image based on the optimization determined for the type of device to dynamically generate a rendered image that is optimized for display at the device, wherein each layer is iteratively rendered until an appropriate image based on the optimization determined for the type of device is found; and

converting a file format of the rendered image to a file format suitable for the device.

Assignments (14)
NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded May 16, 2022
From: SYNIVERSE ICX LLC
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 060072/0562 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 13, 2022
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: SYNIVERSE ICX, LLC
Reel/Frame 060064/0375 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 13, 2022
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: SYNIVERSE ICX, LLC
Reel/Frame 060064/0406 →
CHANGE OF NAME Recorded May 11, 2022
From: SYNIVERSE ICX CORPORATION
To: SYNIVERSE ICX, LLC
Reel/Frame 059953/0377 →
SECURITY INTEREST Recorded Mar 12, 2018
From: SYNIVERSE ICX CORPORATION
To: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
Reel/Frame 045176/0632 →
SECURITY AGREEMENT Recorded Apr 24, 2012
From: SYNIVERSE ICX CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 028097/0869 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 026103/0469 Recorded Apr 23, 2012
From: BARCLAYS BANK PLC
To: SYNIVERSE ICX CORPORATION
Reel/Frame 028088/0770 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT Recorded Apr 11, 2011
From: SYNIVERSE HOLDINGS, INC.; SYNIVERSE TECHNOLOGIES, INC.; SYNIVERSE ICX CORPORATION; THE RAPID ROAMING COMPANY
To: BARCLAYS BANK PLC
Reel/Frame 026103/0469 →
CHANGE OF NAME Recorded Apr 6, 2010
From: VERISIGN ICX CORPORATION
To: SYNIVERSE ICX CORPORATION
Reel/Frame 024185/0944 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED ON REEL 023472 FRAME 0603. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Dec 9, 2009
From: LIGHTSURF TECHNOLOGIES, INC.
To: VERISIGN, INC.
Reel/Frame 023631/0719 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA PREVIOUSLY RECORDED ON REEL 023472 FRAME 0660. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 9, 2009
From: VERISIGN, INC.
To: VERISIGN ICX CORPORATION
Reel/Frame 023631/0775 →
MERGER Recorded Nov 4, 2009
From: LIGHTSURF TECHNOLOGIES, INC
To: VERSIGN, INC.
Reel/Frame 023472/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2009
From: VERSIGN, INC.
To: VERISIGN ICX CORPORATION
Reel/Frame 023472/0660 →
ASSET ACQUISITION DOCUMENT Recorded Aug 17, 2009
From: LIGHTSURF TECHNOLOGIES, INC.
To: VERISIGN, INC.
Reel/Frame 023109/0180 →