IP Library › Granted Patent US 10,564,920
Granted Patent B2
US 10,564,920 · App. 16/173,381 · Granted Feb 18, 2020

Dynamic server-side image sizing for fidelity improvements

Inventors: James Manahan Yamat (San Jose, CA); Harshal Ingole (San Jose, CA); Daniel M. Cheung (Mountain View, CA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F3/1454G06F16/9577G06F17/211G06F17/212G06F17/2247G09G2370/022G09G2370/027G09G2370/042
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 10,564,920
App. No.
16/173,381
Granted
Feb 18, 2020
Kind
B2
Abstract

Dynamically-generated images sized according to a requesting web client application display resolution are provided. The client application may calculate a target display resolution and pass the target display resolution as an input parameter with a request to a server for application content. The server may use the desired size input parameter to determine an optimal image size for the target display resolution. The server may render the application content as one or more images to the optimal image size and send the rendered image(s) to the client application. A determination may be made by the client application to display the image(s) at the size received or to scale the server-provided image(s). If the available area in the client application pane changes, the client application may recalculate the target display resolution and issue a new request to the server with the new target display resolution as the desired size input parameter.

Claims (59)

1. A method to provide one or more images sized according to a display area of a client device:

calculating an available display area of the client device;

sending a request for a set of one or more images from the client device to a server, the request including an image size based on the calculated available display area of the client device;

receiving from the server the requested set of the one or more images,

wherein the requested set of the one or more images is selected by the server from among a plurality of sets of the one or more images stored at the server, each set of the plurality of sets of the one or more images being associated with a unique pre-defined image size, and

wherein the selection by the server from among the plurality of sets of the one or more images includes selecting the set having the unique image size determined to most optimally reflect the image size of the request; and

displaying the received requested set of the one or more images in the display area of the client device.

2. The method of claim 1 , further comprising:

determining that the available display area of the client device has changed and calculating a new available display area of the client device;

sending a new image size for the requested set of the one or more images from the client device to the server based on the calculated new available display area;

receiving from the server a new version of the requested set of the one or more images,

wherein the new version of the requested set of the one or more images is selected by the server from among the plurality of sets of the one or more images stored at the server, and

wherein the selection of the new version of the requested set of the one or more images by the server from among the plurality of sets of the one or more images includes selecting the set having the unique image size determined to most optimally reflect the new image size; and

displaying the new version of the received requested set of the one or more images in the new available display area of the client device.

3. The method of claim 2 , wherein the set of one or more images comprises an individual still image.

4. The method of claim 2 , wherein the set of one or more images comprises a plurality of images of a streaming video.

5. The method of claim 1 , wherein calculating the available display area of the client device is performed by a web client application.

6. The method of claim 1 , further comprising determining a resolution of the display area of the client device and wherein the request for the set of the one or more images additionally includes the determined resolution.

7. The method of claim 1 , further comprising determining whether to perform client-side scaling of the received requested set of the one or more images.

8. A system to provide an image sized according to a display area of a client device:

a communication medium that communicates with a server;

a memory storing processor-executable instructions; and

a processor in communication with the communication medium and the memory, wherein execution of the processor-executable instructions causes the processor to:

calculate an available display area of the client device;

send a request for a set of one or more images from the client device to a server, the request including an image size based on the calculated available display area of the client device;

receive from the server the requested set of the one or more images,

wherein the requested set of the one or more images is selected by the server from among a plurality of sets of the one or more images stored at the server, each set of the plurality of sets of the one or more images being associated with a unique pre-defined image size, and

wherein the selection by the server from among the plurality of sets of the one or more images includes selecting the set having the unique image size determined to most optimally reflect the image size of the request; and

display the received requested set of the one or more images in the display area of the client device.

9. The system of claim 8 , wherein the processor is further caused to:

determine that the available display area of the client device has changed and calculate a new available display area of the client device;

send a new image size for the requested set of the one or more images from the client device to the server based on the calculated new available display area;

receive from the server a new version of the requested set of the one or more images,

wherein the new version of the requested set of the one or more images is selected by the server from among the plurality of sets of the one or more images stored at the server, and

wherein the selection of the new version of the requested set of the one or more images by the server from among the plurality of sets of the one or more images includes selecting the set having the unique image size determined to most optimally reflect the new image size; and

display the new version of the received requested set of the one or more images in the new available display area of the client device.

10. The system of claim 9 , wherein the set of one or more images comprises an individual still image.

11. The system of claim 9 , wherein the set of one or more images comprises a plurality of images of a streaming video.

12. The system of claim 8 , wherein the calculation of the available display area of the client device is performed by a web client application.

13. The system of claim 8 , wherein the processor is further caused to determine a resolution of the display area of the client device and wherein the request for the set of the one or more images additionally includes the determined resolution.

14. The system of claim 8 , wherein the processor is further caused to perform client-side scaling of the received requested set of the one or more image.

15. A computer storage medium having computer-executable instructions to provide an image sized according to a display area of a client device, the computer-executable instructions comprising instructions to:

calculate an available display area of the client device;

send a request for a set of one or more images from the client device to a server, the request including an image size based on the calculated available display area of the client device;

receive from the server the requested set of the one or more images,

wherein the requested set of the one or more images is selected by the server from among a plurality of sets of the one or more images stored at the server, each set of the plurality of sets of the one or more images being associated with a unique pre-defined image size, and

wherein the selection by the server from among the plurality of sets of the one or more images includes selecting the set having the unique image size determined to most optimally reflect the image size of the request; and

display the received requested set of the one or more images in the display area of the client device.

16. The computer storage medium of claim 15 , wherein the computer-executable instructions further comprise instructions to:

determine that the available display area of the client device has changed and calculate a new available display area of the client device;

send a new image size for the requested set of the one or more images from the client device to the server based on the calculated new available display area;

receive from the server a new version of the requested set of the one or more images,

wherein the new version of the requested set of the one or more images is selected by the server from among the plurality of sets of the one or more images stored at the server, and

wherein the selection of the new version of the requested set of the one or more images by the server from among the plurality of sets of the one or more images includes selecting the set having the unique image size determined to most optimally reflect the new image size; and

display the new version of the received requested set of the one or more images in the new available display area of the client device.

17. The computer storage medium of claim 16 , wherein the set of the one or more images comprises an individual still image.

18. The computer storage medium of claim 16 , wherein the set of the one or more images comprises a plurality of images of a streaming video.

19. The computer storage medium of claim 15 , wherein the calculation of the available display area of the client device is performed by a web client application.

20. The computer storage medium of claim 15 , wherein the computer-executable instructions further comprise instructions to determine a resolution of the display area of the client device and wherein the request for the set of the one or more images additionally includes the determined resolution.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2018
From: YAMAT, JAMES MANAHAN; INGOLE, HARSHAL; CHEUNG, DANIEL M.
To: MICROSOFT CORPORATION
Reel/Frame 047340/0198 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2018
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 047340/0299 →
Continuity (4)
Continuation 15289808 · Oct 10, 2016
Continuation 13550259 · Jul 16, 2012
Provisional Application 61557711 · Nov 9, 2011
Related Publication 20190065135A1 · Feb 28, 2019