IP Library Granted Patent US 8,913,080
Granted Patent B2
US 8,913,080 · App. 13/103,758 · Granted Dec 16, 2014

Partitioning high resolution images into sub-images for display

Inventors: Richard K. James (Redmond, WA); Benjamin C. Constable (Redmond, WA); Rafael V. Cintron (Kirkland, WA)
Assignee: Microsoft Corporation
G09G5/005G09G2340/0414G06F3/1415G09G2370/08G09G2340/0421G09G5/001G09G2340/0428
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 8,913,080
App. No.
13/103,758
Granted
Dec 16, 2014
Kind
B2
Abstract

Various embodiments provide techniques for partitioning high resolution images into sub-images for display. In at least some embodiments, the techniques can enable a device to display an image in its native resolution (e.g., the image capture resolution) even when the image exceeds a threshold image size for the device. In example implementations, techniques determine that a size of an image exceeds a threshold image size for a system. Further to some embodiments, the techniques can determine that the image is to be partitioned into multiple sub-images that can each be processed and reassembled to display the image. The sub-images can each be rendered by a graphics processing functionality (e.g., a graphics processing unit) and displayed on a display device to present a version of the image in its native resolution.

Claims (55)

1. A computer-implemented method comprising:

determining, responsive to ascertaining that a size of a primary image exceeds a threshold image size for a system, that the primary image is to be partitioned into multiple sub-images;

calculating a guide parameter to be used to size at least one of the multiple sub-images, the guide parameter being calculated as a mathematical function of both an image memory attribute of the system and a graphics memory threshold for the system;

determining a first dimension for the at least one of the multiple sub-images based on the guide parameter;

determining a second dimension for the at least one of the multiple sub-images based on an amount of graphics memory up to the graphics memory threshold available to generate the at least one of the multiple sub-images using the first dimension; and

partitioning the primary image into the multiple sub-images.

2. The computer-implemented method of claim 1 , wherein the threshold image size is based on one or more of graphics processing capabilities or graphics memory capabilities of the system.

3. The computer-implemented method of claim 1 , wherein the image memory attribute comprises a number of bytes-per-pixel used to display images in the system.

4. The computer-implemented method of claim 3 , wherein calculating the guide parameter comprises:

calculating a quotient by dividing the graphics memory threshold by the bytes-per-pixel for the system; and

calculating the guide parameter by determining a root of the quotient.

5. The computer-implemented method of claim 1 , wherein the graphics memory threshold comprises an amount of graphics memory available to be used to perform graphics operations for the system.

6. The computer-implemented method of claim 1 , wherein determining the first dimension comprises:

dividing a smaller dimension of the primary image by the guide parameter to determine a quotient;

determining a divisor by rounding the quotient up to the nearest whole number; and

determining the first dimension by dividing the smaller dimension of the primary image by the divisor.

7. The computer-implemented method of claim 1 , wherein the image memory attribute comprises a number of bytes-per-pixel used to display images in the system, and wherein determining the second dimension comprises:

determining a dividend by dividing a numerical value of the graphics memory threshold by the number of bytes-per-pixel; and

determining the second dimension by dividing the dividend by the first dimension.

8. The computer-implemented method of claim 1 , wherein the multiple sub-images include the at least one of the multiple sub-images with the first dimension and the second dimension, the method further comprising displaying the multiple sub-images in the system to cause a version of the primary image to be displayed.

9. The computer-implemented method of claim 8 , wherein the version of the primary image is in a native resolution of the primary image.

10. A computer-implemented method comprising:

determining, responsive to ascertaining that a size of a primary image exceeds a threshold image size for a system, that the primary image is to be partitioned into multiple sub-images;

determining a first dimension for at least one of the multiple sub-images based on a guide parameter, the guide parameter calculated as a mathematical function of both a number of bytes-per-pixel for the system and a graphics memory threshold for the system;

determining a second dimension for the at least one of the multiple sub-images based on an amount of graphics memory up to the graphics memory threshold available to generate the at least one of the multiple sub-images using the first dimension; and

partitioning the primary image into the multiple sub-images including the at least one of the multiple sub-images.

11. The computer-implemented method of claim 10 , wherein a size of the at least one of the multiple sub-images is below the threshold image size for the system.

12. The computer-implemented method of claim 10 , wherein the guide parameter is calculated by:

calculating a quotient by dividing the graphics memory threshold by the bytes-per-pixel for the system; and

determining a root of the quotient.

13. The computer-implemented method of claim 12 , wherein determining the first dimension for the at least one of the multiple sub-images further comprises:

dividing a smaller dimension of the primary image by the guide parameter to determine a different quotient, the primary image comprising multiple sides and the smaller dimension comprising a smallest side of the multiple sides;

determining a divisor by rounding the different quotient up to the nearest whole number; and

determining the first dimension by dividing the smaller dimension of the primary image by the divisor.

14. The computer-implemented method of claim 10 , wherein determining the second dimension comprises:

determining a dividend by dividing a numerical value of the graphics memory threshold by the number of bytes-per-pixel; and

determining the second dimension by dividing the dividend by the first dimension.

15. The computer-implemented method of claim 10 , wherein each of the multiple sub-images including a portion of the primary image, the method further comprising displaying the multiple sub-images in the system effective to cause a version of the primary image to be displayed.

16. The computer-implemented method of claim 15 , wherein displaying the multiple sub-images in the system comprises rendering the multiple sub-images as tiles and displaying the tiles adjacent to one another effective to cause the version of the primary image to be displayed.

17. A system comprising:

one or more processors; and

one or more computer readable storage media comprising computer-executable instructions that are executable by the one or more processors to perform operations including:

determining that an image that exceeds a threshold image size for a system is to be partitioned into multiple sub-images;

determining a first dimension for at least one of the multiple sub-images based on a number of bytes-per-pixel for the system and a graphics memory threshold for the system;

determining a second dimension for the at least one of the multiple sub-images based on an amount of graphics memory up to the graphics memory threshold available to generate the at least one of the multiple sub-images using the first dimension, including determining how large the second dimension can be before the at least one of the multiple sub-images exceeds the graphics memory threshold for the system; and

partitioning the image into the multiple sub-images including the at least one of the multiple sub-images being sized using the first dimension and the second dimension.

18. The system of claim 17 , wherein the operations further include determining the first dimension for at least one of the multiple sub-images by:

determining a guide parameter by dividing the graphics memory threshold by the bytes-per-pixel to calculate a quotient, and determining a root of the quotient;

dividing a smaller dimension of the image by the guide parameter to determine a different quotient;

determining a divisor by rounding the different quotient up to the nearest whole number; and

determining the first dimension by dividing the smaller dimension of the image by the divisor.

19. The system of claim 17 , wherein the multiple sub-images include one or more sub-images that are smaller than the at least one of the multiple sub-images.

20. The system of claim 17 , wherein determining the second dimension comprises:

determining a dividend by dividing a numerical value of the graphics memory threshold by the number of bytes-per-pixel; and

determining the second dimension by dividing the dividend by the first dimension.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2011
From: JAMES, RICHARD K.; CONSTABLE, BENJAMIN C.; CINTRON, RAFAEL V.
To: MICROSOFT CORPORATION
Reel/Frame 026383/0091 →
Continuity (1)
Related Publication 20120287151A1 · Nov 15, 2012