IP Library Granted Patent US 9,195,772
Granted Patent B2
US 9,195,772 · App. 14/524,968 · Granted Nov 24, 2015

Delayed image decoding

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 9,195,772
App. No.
14/524,968
Granted
Nov 24, 2015
Kind
B2
Abstract

In one or more embodiments, a framework is provided in which image decoding can be delayed based on heuristics, and later initiated based on a use type associated with the image or the likelihood that the image is going to be used. For example, a use history and priority system can enable images that are currently being rendered and/or are likely to get rendered to be decoded before images that have a history of being downloaded but never used. Accordingly, by decoupling image download from image decoding, CPU resources and memory can be more efficiently utilized.

Claims (44)

1. A computing device comprising:

a processor; and

a memory comprising instructions stored thereon that, responsive to execution by the processor, cause the processor to perform operations comprising:

downloading one or more encoded images;

delaying decoding of at least one of the encoded images;

ascertaining at least one of a use type of the delayed at least one encoded image and a likelihood of use of the delayed at least one encoded image; and

decoding the delayed at least one encoded image on demand based on the ascertained at least one of the use type and the likelihood of use of the delayed at least one encoded image.

2. The computing device of claim 1 , wherein the operations further comprise after said downloading, decoding metadata associated with the encoded images, the metadata including at least size information associated with each of the encoded images.

3. The computing device of claim 2 , wherein the operations further comprise ascertaining whether to delay decoding of the encoded images based at least in part on the size information.

4. The computing device of claim 3 , wherein the operations further comprise decoding at least one of the encoded images after the image is downloaded if the image is below a size threshold, and wherein the delaying decoding comprises delaying decoding of at least one of the encoded images that is above the size threshold.

5. The computing device of claim 1 wherein the operations further comprise buffering, on the client device, the at least one encoded image after said delaying.

6. The computing device of claim 1 , wherein the ascertaining comprises ascertaining the use type of the delayed at least one encoded image, and wherein the decoding comprises decoding the delayed at least one encoded image on demand based on the ascertained use type.

7. The computing device of claim 6 , wherein the ascertained use type is associated with at least one of:

use of thumbnail images;

operations that may need access to a decoded image, even though an associated encoded image is not currently being displayed;

operations that may need access to a decoded image, even though an associated encoded image is not currently being displayed;

a filter operation; or

a <canvas> element.

8. The computing device of claim 1 , wherein the ascertaining comprises ascertaining the likelihood of use of the delayed at least one encoded image, and wherein the decoding comprises decoding the delayed at least one encoded image on demand based on likelihood of use of the delayed at least one encoded image.

9. The computing device of claim 8 , wherein the ascertaining the likelihood of use comprises at least one of:

considering whether at least one unseen image is located within positional proximity of rendered images in a current view and if so, said decoding comprises decoding said at least one unseen image;

considering whether at least one unseen image is located within positional proximity of rendered images in a current view by a manipulation operation of the webpage;

determining whether an unseen encoded image shares a relationship with a displayed image such that it may likely be accessed in connection with the displayed image;

maintaining a history associated with individual images, the history describing frequency of use of the individual images; or

ascertaining a type of operation that is to be performed relative to an image.

10. A method comprising:

downloading, on a computing device, one or more encoded images;

buffering, on the computing device, the one or more encoded images;

ascertaining at least one of a use type and a likelihood of use of the one or more encoded images; and

decoding the one or more encoded images on demand based on the ascertained at least one of the use type and the likelihood of use of the one or more encoded images.

11. The method of claim 10 , further comprising after said downloading, decoding metadata associated with the one or more encoded images, the metadata including at least size information associated with the one or more encoded images.

12. The method of claim 10 , wherein one particular use type is associated with an initialization operation.

13. The method of claim 10 , wherein one particular use type is associated with use of thumbnail images.

14. The method of claim 10 , wherein one particular use type is associated with operations that may need access to a decoded image, even though an associated encoded image is not currently being displayed.

15. The method of claim 10 , wherein one particular use type is associated with operations that may need access to a decoded image, even though an associated encoded image is not currently being displayed, wherein said one particular use type comprises a printing operation.

16. The method of claim 10 , wherein one particular use type is associated with a filter operation.

17. The method of claim 10 , wherein one particular use type is associated with a <canvas> element.

18. The method of claim 10 , wherein the one or more encoded images associated with a webpage.

19. A method comprising:

downloading, on a client device, one or more encoded images;

buffering, on the client device, the one or more encoded images;

ascertaining likelihood of use of the one or more encoded images; and

decoding one or more encoded images on demand if use of the one or more encoded images is likely.

20. The method of claim 19 , wherein ascertaining a likelihood of use comprises considering whether at least one unseen image is located within positional proximity of rendered images in a current view of a web page and if so, decoding said at least one unseen image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034819/0001 →