Graphics system with programmable real-time alpha key generation
First Claim
1. A graphics system comprising:
- a graphics processor configured to receive 3D graphics data, wherein said 3D graphics data comprises a plurality graphics primitives, wherein said graphics processor is configured to generate a plurality of samples from said 3D graphics data, wherein said samples comprise color and alpha information;
a super-sampled sample buffer coupled to receive and store said samples from said graphics processor, wherein said sample buffer is configured to double-buffer at least a portion of each stored sample; and
a sample-to-pixel calculation unit coupled to receive and filter samples from said super-sampled sample buffer to form output pixels and alpha pixels in real time, wherein said alpha pixels are usable to form an alpha key;
wherein said sample-to-pixel calculation unit is configured to convey said output pixels to a display device without storing said output pixels.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and graphics system capable of super-sampling and performing real-time convolution to form a soft-edge alpha key are disclosed. In one embodiment, the computer graphics system may comprise a graphics processor, a sample buffer, and a sample-to-pixel calculation unit. The graphics processor may be configured to receive 3D graphics data comprising a plurality graphics primitives and then generate a plurality of samples from the 3D graphics data. The samples may comprise both color and alpha information. The super-sampled sample buffer may be coupled to receive and store the samples from the graphics processor. The sample buffer may also be configured to double-buffer at least a portion of each stored sample. The sample-to-pixel calculation unit may be coupled to receive and filter samples from the super-sampled sample buffer to form output pixels and alpha pixels in real time, wherein the alpha pixels are usable to form an alpha key. The graphics system may be further configured to receive a video input signal and overlay the video input signal with the output pixels according to said alpha pixels.
-
Citations
22 Claims
-
1. A graphics system comprising:
-
a graphics processor configured to receive 3D graphics data, wherein said 3D graphics data comprises a plurality graphics primitives, wherein said graphics processor is configured to generate a plurality of samples from said 3D graphics data, wherein said samples comprise color and alpha information;
a super-sampled sample buffer coupled to receive and store said samples from said graphics processor, wherein said sample buffer is configured to double-buffer at least a portion of each stored sample; and
a sample-to-pixel calculation unit coupled to receive and filter samples from said super-sampled sample buffer to form output pixels and alpha pixels in real time, wherein said alpha pixels are usable to form an alpha key;
wherein said sample-to-pixel calculation unit is configured to convey said output pixels to a display device without storing said output pixels. - View Dependent Claims (2, 3)
-
-
4. A method for operating a graphics system comprising:
-
receiving 3D graphics data, wherein said 3D graphics data comprises a plurality of graphics primitives;
calculating a plurality of sample positions;
determining which sample positions are within said graphics primitives;
rendering the samples that are within the graphics primitives;
storing the rendered samples in sample buffer;
storing an alpha value for at least a portion of the samples stored in the sample buffer; and
filtering the stored samples once per screen refresh cycle to generate an output pixel and an alpha pixel, wherein said alpha pixels are usable to form an alpha key;
wherein said output pixels are conveyed to a display device without being stored in a frame buffer. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13)
receiving a video input signal; and
blending said video input signal with said output pixels according to said alpha pixels.
-
-
6. The method as recited in claim 4, wherein said filtering further comprises:
-
reading a group of samples from the sample buffer;
determining which samples within the group are located within a predetermined distance from the center of the output pixel being generated;
applying a scaling factor to each sample within the predetermined distance; and
summing the scaled samples to form the output pixel.
-
-
7. The method as recited in claim 4, wherein said scaling factor varies according to the sample'"'"'s distance from a predetermined position on the output pixel.
-
8. The method as recited in claim 4, wherein said scaling factor varies according to the sample'"'"'s x-offset and y-offset from a predetermined position on the output pixel.
-
9. The method as recited in claim 4, said filtering is changeable at least as frequently as the screen refresh cycle.
-
10. The method as recited in claim 4, wherein said storing comprises storing the samples in bins, where each sample'"'"'s-position is determined by adding an x-offset and a y-offset to the bin'"'"'s position.
-
11. The method as recited in claim 4, further comprising storing x-offsets and y-offsets for each sample stored in the sample buffer.
-
12. The method as recited in claim 4, wherein the filter is changeable at least as frequently as the screen refresh cycle.
-
13. The method as recited in claim 4, wherein the number of samples contributing to each output pixel varies.
-
14. A computer system configured to display 3D graphics images, said system comprising:
-
a microprocessor;
a main memory;
a bus coupling said microprocessor and said main memory; and
a graphics system coupled to said main memory, wherein said graphics system comprises;
a graphics processor configured receive 3D graphics data, wherein said 3D graphics data comprises one or more graphics primitives, wherein said graphics processor is configured to generate a plurality of samples, each comprising color and alpha values;
a sample buffer coupled to receive and store said samples from said graphics processor, wherein said sample buffer is configured to double-buffer at least a portion of each stored sample; and
a sample-to-pixel calculation unit coupled to receive samples from said sample buffer, wherein said sample-to-pixel calculation unit is configured to form output pixels and alpha pixels in real-time, wherein said alpha pixels are usable to form an alpha key;
wherein said sample-to-pixel calculation unit is configured to convey said output pixels to a display device without storing said output pixels in a traditional frame buffer. - View Dependent Claims (15, 16)
-
-
17. A computer software program embodied on computer readable media, wherein said software program comprises a plurality of instructions configured to direct a graphics processor to:
-
generate a plurality of sample positions, calculate samples for at least a subset of said sample positions, wherein said sample comprise both color information and alpha information;
store said samples in a sample buffer, wherein at least of portion of each stored sample is double-buffered;
read one or more of said samples from the sample buffer;
filter said one or more samples once per screen refresh cycle to form output pixels with alpha information; and
convey the output pixels to a display device;
wherein said output pixels are conveyed to a display device without being stored in a frame buffer. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification