Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for implementation of display effects
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 the 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 filtering of stored samples to implement a display effect.
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.
57 Citations
40 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 the 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 filtering of stored samples to implement a display effect. - 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 display effect comprises one of:
- panning, zooming, rotation, and moving scenes.
-
5. The graphics system of claim 1, wherein the sample-to-pixel calculation unit is operable to adjust filtering by adjusting one or more of:
- position of pixels, radius of the filter, and pitch between pixels.
-
6. 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.
-
7. 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.
-
8. The graphics system of claim 1, wherein the sample-to-pixel calculation unit is operable to adjust filtering of stored samples to implement the display effect on a fractional-pixel boundary.
-
9. 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 on a fractional-pixel boundary.
-
10. 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 on a fractional-pixel boundary.
-
11. The graphics system of claim 1, wherein the graphics processor is operable to render the plurality of samples to the sample buffer at a first rate;
- and wherein the sample-to-pixel calculation unit is operable to generate output pixels at a second greater rate;
wherein, if a display effect is desired, and if a first set of stored samples has been previously used in generating 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 in a subsequent frame to implement the display effect in the subsequent frame.
- and wherein the sample-to-pixel calculation unit is operable to generate output pixels at a second greater rate;
-
12. The graphics system of claim 1, wherein the graphics system includes a display;
-
wherein the sample buffer stores samples corresponding to an area greater then 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 implement the display effect in a current frame.
-
-
13. 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 of the filter during filtering of stored samples to implement the display effect.
-
14. The graphics system of claim 13, wherein the graphics system is operable to selectively adjust video timing to compensate for the selective adjustment of the center locations.
-
15. The graphics system of claim 13, 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.
-
16. The graphics system of claim 13, 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.
-
17. The graphics system of claim 13, 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 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 selectively adjusting the filtering of stored samples to implement a display effect. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
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.
-
-
24. The method of claim 21, wherein the display effect comprises one of:
- panning, zooming, rotation, and moving scenes.
-
25. The method of claim 21, wherein said generating output pixels includes selectively adjusting the filtering of stored samples to adjust filtering by adjusting one or more of:
- position of pixels, radius of the filter, and pitch between pixels.
-
26. The method of claim 21, wherein said generating output pixels includes selectively adjusting the filtering of stored samples in neighboring frames to effect panning between said neighboring frames.
-
27. The method of claim 21, wherein said generating output pixels includes selectively adjusting the filtering of stored samples in neighboring frames to effect zooming between said neighboring frames.
-
28. The method of claim 21, wherein said generating output pixels includes adjusting filtering of stored samples to implement the display effect on a fractional-pixel boundary.
-
29. The method of claim 21, wherein said generating output pixels includes adjusting filtering of stored samples in neighboring frames to effect panning between said neighboring frames on a fractional-pixel boundary.
-
30. The method of claim 21, wherein said generating output pixels includes adjusting filtering of stored samples in neighboring frames to effect zooming between said neighboring frames on a fractional-pixel boundary.
-
31. The method of claim 21, wherein said rendering the plurality of samples occurs at a first rate;
- and wherein said generating output pixels occurs at a second greater rate;
wherein, if a first set of stored samples has been previously used in generating output pixels in a first frame, said generating includes selectively adjusting the filtering of said first set of stored samples in a subsequent frame to implement the display effect in the subsequent frame.
- and wherein said generating output pixels occurs at a second greater rate;
-
32. The method of claim 21, wherein said rendering includes rendering samples into the sample buffer corresponding to an area greater then a viewable area of a display;
wherein one or more samples from outside the viewable area of the display in a prior frame are used to implement the display effect in a current frame.
-
33. The method of claim 21, wherein said generating output pixels utilizes a filter in filtering the samples;
wherein said generating output pixels includes selectively adjusting a center of the filter during filtering of stored samples to implement the display effect.
-
34. The method of claim 33, further comprising:
selectively adjusting video timing to compensate for the selective adjustment of the center locations.
-
35. The method of claim 33, wherein said selectively adjusting includes selectively adjusting the center locations in one or more of the x or y direction.
-
36. The method of claim 33, wherein said selectively adjusting 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 said generating output pixels utilizes a convolution filter in filtering the samples.
-
38. The method of claim 21, wherein said generating comprises selecting and filtering stored samples to generate output pixels which are provided directly to a display with no frame buffer therebetween.
-
39. The method of claim 21, wherein said generating comprises selecting and filtering stored samples to form output pixels on a real time basis.
-
40. The method of claim 21, wherein said generating comprises selecting and filtering stored samples to form output pixels on an on-the-fly basis.
Specification