Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for reduced artifacts
First Claim
1. A graphics system comprising:
- a graphics processor operable to render a plurality of samples;
a sample buffer coupled to said graphics processor for storing said samples; and
a sample-to-pixel calculation unit coupled to said sample buffer, wherein said sample-to-pixel calculation unit is operable to select and filter stored samples to generate output pixels for display;
wherein the sample-to-pixel calculation unit is operable to adjust the filtering of stored samples to reduce artifacts.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer graphics system that utilizes a super-sampled sample buffer and a programmable sample-to-pixel calculation unit for refreshing the display, wherein the graphics system may adjust filtering to reduce artifacts or implement display effects. In one embodiment, the graphics system may have a graphics processor, a super-sampled sample buffer, and a sample-to-pixel calculation unit. The graphics processor renders a plurality of samples and stores them into a sample buffer. The sample-to-pixel calculation unit reads the samples from the super-sampled sample buffer and filters or convolves the samples into respective output pixels which are then provided to refresh the display. The sample-to-pixel calculation unit may selectively adjust the filtering of stored samples to reduce artifacts, e.g., is operable to selectively adjust the filtering of stored samples in neighboring frames to reduce artifacts between the neighboring frames. The filter adjustment may be applied where the sample-to-pixel calculation unit generates output pixels at the same rate as the graphics processor rendering samples to the sample buffer, or at a different (e.g., higher) rate than the render rate. The sample-to-pixel calculation unit is operable to adjust filtering of stored samples to implement a display effect, such as panning, zooming, rotation, or moving scenes, among others. The sample-to-pixel calculation unit may also selectively adjust the filtering of stored samples on a fractional-pixel boundary.
-
Citations
42 Claims
-
1. A graphics system comprising:
-
a graphics processor operable to render a plurality of samples;
a sample buffer coupled to said graphics processor for storing said samples; and
a sample-to-pixel calculation unit coupled to said sample buffer, wherein said sample-to-pixel calculation unit is operable to select and filter stored samples to generate output pixels for display;
wherein the sample-to-pixel calculation unit is operable to adjust the filtering of stored samples to reduce artifacts. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
wherein said sample-to-pixel calculation unit is operable to select and filter a first set of stored samples to generate first output pixels for display using a first filter; wherein said sample-to-pixel calculation unit is operable to select and filter a second set of stored samples to generate second output pixels for display using a second filter different than said first filter.
-
-
4. The graphics system of claim 1, wherein the sample-to-pixel calculation unit is operable to selectively adjust the filtering of stored samples in neighboring frames to effect panning between said neighboring frames, thereby reducing artifacts between said neighboring frames.
-
5. The graphics system of claim 1, wherein the sample-to-pixel calculation unit is operable to selectively adjust the filtering of stored samples in neighboring frames to effect zooming between said neighboring frames, thereby reducing artifacts between said neighboring frames.
-
6. The graphics system of claim 1, wherein the sample-to-pixel calculation unit is operable to generate output pixels at the same rate as the graphics processor rendering the plurality of samples to the sample buffer.
-
7. The graphics system of claim 1, wherein, if a current set of stored samples is similar to a previous set of stored samples that were previously used in generating output pixels in a previous frame, the sample-to-pixel calculation unit is operable to selectively adjust the filtering of said current set of stored samples in a current frame to reduce artifacts.
-
8. The graphics system of claim 1, wherein, if a first set of stored samples has been previously used in generating first output pixels in a first frame, the sample-to-pixel calculation unit is operable to selectively adjust the filtering of said first set of stored samples to generate different pixels in a subsequent frame to reduce artifacts.
-
9. The graphics system of claim 1, wherein the sample-to-pixel calculation unit is operable to:
-
determine if a current set of stored samples has been previously used in generating output pixels in a prior frame;
selectively adjust the filtering of the current set of stored samples in a current frame to reduce artifacts if the current set of stored samples has been previously used in generating output pixels in the prior frame.
-
-
10. The graphics system of claim 1, wherein the sample-to-pixel calculation unit utilizes a filter in filtering the samples;
wherein the sample-to-pixel calculation unit is operable to selectively adjust center locations where the filter is applied during filtering of stored samples to reduce artifacts.
-
11. The graphics system of claim 10, wherein the graphics system is operable to selectively adjust video timing to compensate for the selective adjustment of the center locations.
-
12. The graphics system of claim 10, wherein the sample-to-pixel calculation unit is operable to selectively adjust the center locations in one or more of the x or y direction.
-
13. The graphics system of claim 10, wherein the sample-to-pixel calculation unit is operable to selectively adjust the center locations by a sub-pixel distance relative to center locations used in a prior frame.
-
14. The graphics system of claim 10, wherein the graphics system includes a display;
-
wherein the sample buffer stores samples corresponding to an area greater than a viewable area of the display;
wherein one or more samples from outside the viewable area of the display in a prior frame are used to generate output pixels in a current frame.
-
-
15. The graphics system of claim 10, wherein the sample-to-pixel calculation unit includes address generator logic for generating addresses in the sample buffer corresponding to the center locations;
wherein the address generator logic is programmable to generate addresses at selected sub-pixel positions in the sample buffer.
-
16. The graphics system of claim 15, wherein the address generator logic begins generating addresses at a beginning sub-pixel position in the sample buffer;
wherein the beginning sub-pixel position is programmable.
-
17. The graphics system of claim 10, wherein the sample-to-pixel calculation unit utilizes a convolution filter in filtering the samples.
-
18. The graphics system of claim 1, wherein the sample-to-pixel calculation unit is operable to select and filter stored samples and generate output pixels which are provided directly to a display with no frame buffer therebetween.
-
19. The graphics system of claim 1, wherein said sample-to-pixel calculation unit is configured to select and filter samples to form output pixels on a real time basis.
-
20. The graphics system of claim 1, wherein said sample-to-pixel calculation unit is configured to select and filter samples to form output pixels on an on-the-fly basis.
-
21. A graphics system comprising:
-
a graphics processor operable to render a plurality of samples;
a sample buffer coupled to said graphics processor for storing said samples; and
a sample-to-pixel calculation unit coupled to said sample buffer, wherein said sample-to-pixel calculation unit is operable to select and filter stored samples to generate output pixels directly for display with no frame buffer therebetween;
wherein the sample-to-pixel calculation unit is operable to adjust the filtering of stored samples in neighboring frames to reduce artifacts between said neighboring frames. - View Dependent Claims (22, 23)
wherein the sample-to-pixel calculation unit is operable to selectively adjust center locations where the filter is applied during filtering of stored samples to reduce artifacts.
-
-
23. The graphics system of claim 22, wherein the graphics system is operable to selectively adjust video timing to compensate for the selective adjustment of the center locations.
-
24. A method for generating pixels for display in a graphics system, the method comprising:
-
rendering a plurality of samples into a sample buffer;
generating output pixels in response to the plurality of samples stored in the sample buffer, wherein said generating includes selecting and filtering stored samples to generate output pixels for display;
wherein said generating output pixels includes adjusting the filtering of stored samples to reduce artifacts. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
selecting and filtering a first set of stored samples to generate first output pixels for display using a first filter;
selecting and filtering a second set of stored samples to generate second output pixels for display using a second filter different than said first filter.
-
-
27. The method of claim 24, wherein said generating output pixels includes selectively adjusting the filtering of stored samples in neighboring frames to effect panning between said neighboring frames, thereby reducing artifacts between said neighboring frames.
-
28. The method of claim 24, wherein said generating output pixels includes selectively adjusting the filtering of stored samples in neighboring frames to effect zooming between said neighboring frames, thereby reducing artifacts between said neighboring frames.
-
29. The method of claim 24, wherein said generating output pixels is performed at the same rate as said rendering the plurality of samples to the sample buffer.
-
30. The method of claim 24, wherein, if a current set of stored samples is similar to a previous set of stored samples that were previously used in generating output pixels in a previous frame, said generating output pixels includes selectively adjusting the filtering of said current set of stored samples in a current frame to reduce artifacts.
-
31. The method of claim 24, wherein, if a first set of stored samples has been previously used in generating first output pixels in a first frame, said generating output pixels includes selectively adjusting the filtering of said first set of stored samples to generate different pixels in a subsequent frame to reduce artifacts.
-
32. The method of claim 24, wherein said generating output pixels includes:
-
determining if a current set of stored samples has been previously used in generating output pixels in a prior frame;
selectively adjusting the filtering of the current set of stored samples in a current frame to reduce artifacts if the current set of stored samples has been previously used in generating output pixels in the prior frame.
-
-
33. The method of claim 24, wherein said generating output pixels utilizes a filter in filtering the samples;
wherein said generating output pixels includes selectively adjusting center locations where the filter is applied during filtering of stored samples to reduce artifacts.
-
34. The method of claim 32, wherein said generating output pixels includes selectively adjusting video timing to compensate for the selective adjustment of the center locations.
-
35. The method of claim 33, wherein said generating output pixels includes selectively adjusting the center locations in one or more of the x or y direction.
-
36. The method of claim 33, wherein said generating output pixels includes selectively adjusting the center locations by a sub-pixel distance relative to center locations used in a prior frame.
-
37. The method of claim 33, wherein the graphics system includes a display;
-
wherein said rendering includes rendering samples into the sample buffer corresponding to an area greater than a viewable area of the display;
wherein said generating output pixels includes using one or more samples from outside the viewable area of the display in a prior frame to generate output pixels in a current frame.
-
-
38. The method of claim 33, wherein said generating output pixels includes generating addresses in the sample buffer corresponding to the center locations at selected sub-pixel positions.
-
39. The method of claim 33, wherein said generating output pixels utilizes a convolution filter in filtering the samples.
-
40. The method of claim 24, wherein said generating output pixels includes selecting and filtering stored samples and generating output pixels which are provided directly to a display with no frame buffer therebetween.
-
41. The method of claim 24, wherein said generating output pixels includes selecting and filtering samples to form output pixels on a real time basis.
-
42. The method of claim 24, wherein said generating output pixels includes selecting and filtering samples to form output pixels on an on-the-fly basis.
Specification