IP Library › Granted Patent US 10,354,365
Granted Patent B2
US 10,354,365 · App. 15/408,054 · Granted Jul 16, 2019

Hybrid anti-aliasing

Inventor: Evgene Fainstain (San Jose, CA)
Assignee: Adavanced Micro Devices, Inc.
G06T5/002G06T1/20G06T1/60G06T11/40G06T15/005G06T15/503G06T19/20G06T2219/2004G06T2219/2016
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,354,365
App. No.
15/408,054
Granted
Jul 16, 2019
Kind
B2
Abstract

Systems, apparatuses, and methods for performing hybrid anti-aliasing operations are disclosed. The hybrid anti-aliasing resolve operation combines multi-sampling anti-aliasing (MSAA) and post-processing anti-aliasing to generate higher-quality images in a computationally efficient manner. In one embodiment, a processor detects a request to perform an anti-aliasing resolve operation on an image stored in the memory. Responsive to detecting the request, the processor expands dimensions of the image and then filters the image with a post-processing anti-aliasing filter. After filtering the image, the processor performs an averaging of the image which becomes the result of the anti-aliasing resolve operation. Expanding dimensions of the image involves converting sub-pixels of the image into regular pixels. The processor can also rotate the image to align the sub-pixels into a vertical and horizontal grid pattern prior to filtering the image.

Claims (53)

1. A system comprising:

a memory; and

a processor;

wherein the processor is configured to:

detect a request to perform an anti-aliasing resolve operation on a first image stored in the memory, wherein the first image includes multiple sub-pixel samples per pixel and has a first set of dimensions;

responsive to detecting the request:

expand dimensions of the first image to create a second image such that each pixel of the second image has a single sample represented by one of the sub-pixel samples of the first image and has a second set of dimensions greater than the first set of dimensions;

perform post-processing anti-aliasing on the second image to create a third image with the second set of dimensions; and

reduce dimensions of the third image to create a fourth image, wherein the fourth image is a result of the anti-aliasing resolve operation.

2. The system as recited in claim 1 , wherein performing post-processing anti-aliasing comprises filtering pixels based on values of surrounding pixels, and wherein the anti-aliasing processing is performed prior to the averaging.

3. The system as recited in claim 1 , wherein expanding dimensions of the first image comprises converting sub-pixels of the first image into regular pixels of the second image.

4. The system as recited in claim 1 , wherein responsive to the request, the processor is further configured to rotate the first image such that the multiple sub-pixel samples align with pixels of the second image.

5. The system as recited in claim 4 , wherein the processor is configured to rotate the first image to align the sub-pixels into a vertical and horizontal grid pattern within the second image.

6. The system as recited in claim 5 , wherein the processor is configured to:

rearrange a plurality of triangular portions from the first image into new locations within the second image; and

rearrange any remaining portions of the first image into new locations within the second image in between the plurality of triangular portions which have been rearranged.

7. The system as recited in claim 6 , wherein the processor is configured to:

move a first triangular portion from a left-side of the first image to a right-side of the second image; and

move a second triangular portion from a right-side of the first image to a left-side of the second image; and

move a third portion of the first image to fit between the first triangular portion and the second triangular portion within the second image.

8. A method for use in a computing device, the method comprising:

detecting a request to perform an anti-aliasing resolve operation on a first image which includes multiple sub-pixel samples per pixel and has a first set of dimensions;

responsive to detecting the request:

expanding dimensions of the first image to create a second image such that each pixel of the second image has a single sample represented by one of the sub-pixel samples of the first image and has a second set of dimensions greater than the first set of dimensions;

performing post-processing anti-aliasing on the second image to create a third image with the second set of dimensions; and

reducing dimensions of the third image to create a fourth image, wherein the fourth image is a result of the anti-aliasing resolve operation.

9. The method as recited in claim 8 , wherein performing post-processing anti-aliasing comprises filtering pixels based on values of surrounding pixels, and wherein the anti-aliasing processing is performed prior to the averaging.

10. The method as recited in claim 8 , wherein expanding dimensions of the first image comprises converting sub-pixels of the first image into regular pixels of the second image.

11. The method as recited in claim 8 , wherein responsive to the request, the method further comprises rotating the first image such that the multiple sub-pixel samples align with pixels of the second image.

12. The method as recited in claim 11 , further comprising rotating the first image to align the sub-pixels into a vertical and horizontal grid pattern within the second image.

13. The method as recited in claim 12 , further comprising:

rearranging a plurality of triangular portions from the first image into new locations within the second image; and

rearranging any remaining portions of the first image into new locations within the second image in between the plurality of triangular portions which have been rearranged.

14. The method as recited in claim 13 , further comprising:

moving a first triangular portion from a left-side of the first image to a right-side of the second image;

moving a second triangular portion from a right-side of the first image to a left-side of the second image; and

moving a third portion of the first image to fit between the first triangular portion and the second triangular portion within the second image.

15. A processor comprising:

a memory; and

a plurality of execution units;

wherein the plurality of execution units are configured to:

detect a request to perform an anti-aliasing resolve operation on a first image stored in the memory, wherein the first image includes multiple sub-pixel samples per pixel and has a first set of dimensions;

responsive to detecting the request:

expand dimensions of the first image to create a second image such that each pixel of the second image has a single sample represented by one of the sub-pixel samples of the first image and has a second set of dimensions greater than the first set of dimensions;

perform post-processing anti-aliasing on the second image to create a third image with the second set of dimensions; and

reduce dimensions of the third image to create a fourth image, wherein the fourth image is a result of the anti-aliasing resolve operation.

16. The processor as recited in claim 15 , wherein performing post-processing anti-aliasing comprises filtering pixels based on values of surrounding pixels, and wherein the anti-aliasing processing is performed prior to the averaging.

17. The processor as recited in claim 15 , wherein expanding dimensions of the first image comprises converting sub-pixels of the first image into regular pixels of the second image.

18. The processor as recited in claim 15 , wherein responsive to the request, the execution units are further configured to rotate the first image such that the multiple sub-pixel samples align with pixels of the second image.

19. The processor as recited in claim 18 , wherein the processor is configured to rotate the first image to align the sub-pixels into a vertical and horizontal grid pattern within the second image.

20. The processor as recited in claim 19 , wherein the processor is configured to:

rearrange a plurality of triangular portions from the first image into new locations within the second image; and

rearrange any remaining portions of the first image into new locations within the second image in between the plurality of triangular portions which have been rearranged.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2017
From: FAINSTAIN, EVGENE
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 040992/0108 →
Continuity (2)
Provisional Application 62279889 · Jan 18, 2016
Related Publication 20170206638A1 · Jul 20, 2017