IP Library Granted Patent US 8,761,543
Granted Patent B2
US 8,761,543 · App. 13/221,799 · Granted Jun 24, 2014

Image processing using bounds adjustment

Inventors: Jeffrey R. Bloomfield (Bothell, WA); Michael Vincent Oneppo (Seattle, WA); Stephen P. Proteau (Bothell, WA)
Assignee: Microsoft Corporation
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,761,543
App. No.
13/221,799
Granted
Jun 24, 2014
Kind
B2
Abstract

In various embodiments, systems and methods are provided for using an expanded image format to facilitate image transformations. The expanded image format can include at least a first set of boundaries and a second set of boundaries. The first set of boundaries corresponds to the image for transform, while the second set of boundaries provide a region beyond the image that can assist a graphics processing unit with performing a transform. Optionally, the expanded information can also include pixel value information for pixels in the region between the image boundary and the overboundary.

Claims (26)

1. A computer-implemented method for transforming an image, comprising:

receiving information corresponding to an image, the image information including

an image boundary,

a plurality of pixel values for pixels located within the image boundary,

a second boundary, the image boundary being contained within the second boundary, and

a second plurality of pixel values for pixels located between the image boundary and the second boundary;

identifying a transform to perform on the plurality of pixel values for pixels located within the image boundary, the identified transform involving use of two or more pixel values to calculate a transformed pixel value;

determining that the second plurality of pixel values is sufficient to allow the identified transform to be performed on the plurality of pixel values for pixels located within the image boundary; and

transforming the plurality of pixel values located within the image boundary using the identified transform

wherein at least one pixel value of the second plurality of pixel values is based on a pixel value of a second image portion, the image and the second image portion being different image portions of a parent image in an atlas of image portions corresponding to the parent image.

2. The computer-implemented method of claim 1 , wherein a pixel value comprises a plurality of color values and a transparency value.

3. The computer-implemented method of claim 1 , wherein the transform is identified based on a transform request received with the information corresponding to the image.

4. The computer-implemented method of claim 1 , wherein the identified transform comprises calculating a weighted average of pixel values, the weighted average of pixel values being based on pixels from a plurality of rows of pixel values, a plurality of columns of pixel values, or a combination thereof.

5. The computer-implemented method of claim 1 , wherein determining that the second plurality of pixel values is sufficient comprises determining a number of pixels per row located between the image boundary and the second boundary.

6. The computer-implemented method of claim 1 , further comprising providing the transformed image for display on a display device.

7. The computer-implemented method of claim 1 , further comprising a third boundary, the second boundary being containing within the third boundary.

8. The computer-implemented method of claim 1 , wherein the image information further includes an image format for at least one of the first plurality of pixel values and the second plurality of pixel values.

9. One or more computer-storage media storing computer-useable instructions that, when executed by a computing device, perform a method for transforming an image, comprising:

receiving information corresponding to an image, the image information including an image boundary, a plurality of pixel values for pixels located within the Image boundary, a second boundary, the image boundary being contained within the second boundary; a third boundary, the third boundary containing the image boundary, the third boundary being contained by the second boundary, and a second plurality of pixel values for pixels located between the image boundary and the third boundary; identifying a transform to perform on the plurality of pixel values for pixels located within the image boundary, the identified transform involving a rotation around a point located between the third image boundary and the second boundary; and transforming the plurality of pixel values located within the image boundary using the identified transform, wherein at least one pixel value of the second plurality of pixel values is based on a pixel value of a second image portion, the image and the second image portion being different image portions of a parent image in an atlas of image portions corresponding to the parent image.

10. The computer-storage media of claim 9 , wherein the received information corresponds to an image portion of a parent image.

11. The computer-storage media of claim 10 , wherein at least one pixel value of the second plurality of pixel values is based on a pixel value of a corresponding pixel from the parent image.

12. The computer-storage media of claim 10 , wherein image portion comprises an image portion from an atlas of image portions.

13. The computer-storage media of claim 9 , wherein at least one pixel value of the second plurality of pixel values corresponds to a transparent black pixel value.

14. One or more computer-storage media storing computer-useable instructions that, when executed by a computing device, perform a method for transforming an image, comprising:

receiving information corresponding to a first image, the first image information including an image boundary, a plurality of pixel values for pixels located within the image boundary, a second boundary, the image boundary being contained within the second boundary, and a second plurality of pixel values for pixels located between the image boundary and the second boundary, wherein at least one pixel value of the second plurality of pixel values corresponds to a transparent black pixel value; determining that the second plurality of pixel values is sufficient to allow an identified transform to be performed on the plurality of pixel values for pixels located within the image boundary, the identified transform involving use of two or more pixel values to calculate a transformed pixel value; transforming the plurality of pixel values located within the image boundary using the identified transform; receiving information corresponding to a second image, the second image information including a third image boundary, a third plurality of pixel values for pixels located within the third image boundary, a fourth boundary, the third image boundary being contained within the fourth boundary, and a fourth plurality of pixel values for pixels located between the third image boundary and the fourth boundary, wherein the fourth plurality of pixel values is different from the second plurality of pixel values based on at least a number of pixel values per row, and wherein at least one pixel value of the fourth plurality of pixel values corresponds to a transparent black pixel value; determining that the fourth plurality of pixel values is sufficient to allow the identified transform to be performed on the third plurality of pixel values for pixels located within the third image boundary; and transforming the third plurality of pixel values located within the third image boundary using the identified transform, wherein at least one pixel value of the second plurality of pixel values is based on a pixel value of a third image portion, the first image and the third image portion being different image portions of a parent image in an atlas of image portions corresponding to the parent image.

15. The computer-storage media of claim 14 , wherein a number of pixel values in the first plurality of pixel values is the same as a number of pixels in the third plurality of pixel values.

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 Aug 30, 2011
From: BLOOMFIELD, JEFFREY R.; ONEPPO, MICHAEL VINCENT; PROTEAU, STEPHEN P.
To: MICROSOFT CORPORATION
Reel/Frame 026831/0904 →
Continuity (1)
Related Publication 20130051701A1 · Feb 28, 2013