Graphics subsystem with coarse subpixel correction
First Claim
1. A graphics system comprising:
- a rasterizer which generates a sequence of pixel location identifiers and associated operation specifiers;
one or more digital differential analyzer units (DDA units) connected to receive said sequence of pixel location identifiers and associated operation specifiers from said rasterizer;
wherein ones of said operation specifiers generated by said rasterizer include commands for programming said DDA units to perform incremental changes in pixel attributes;
and wherein ones of said operation specifiers generated by said rasterizer include at least one delta value for incrementing, and also include a subpixel offset values which indicate a value proportional to said delta value;
and wherein said DDA units generate said incremental changes in pixel attributes, from said delta value and said subpixel offset value, using calculations which use multiplexing operations but do not use any multiply operations.
4 Assignments
0 Petitions
Accused Products
Abstract
A graphics processing system in which sub-pixel correction is implemented in a new and more economical way. A half-pixel offset is originally imposed on both the X and Y axes, so the sub-pixel correction value may be positive or negative. A relatively coarse resolution is used for subpixel correction, so that the DDAs (and other functional blocks) do not have to perform a full multiply: instead they merely perform simple add operations (addition of partial products) to derive the necessary offset from the delta-X values, using a proportionality constant provided by the rasterizer. The DDAs preferably include a "guard band" in their calculations, so that values which exceed the maximum (e.g. 255, for 8 bits of subpixel resolution) do not wrap to zero; instead the output is held at the maximum until the computed value comes down below the maximum.
258 Citations
25 Claims
-
1. A graphics system comprising:
-
a rasterizer which generates a sequence of pixel location identifiers and associated operation specifiers; one or more digital differential analyzer units (DDA units) connected to receive said sequence of pixel location identifiers and associated operation specifiers from said rasterizer; wherein ones of said operation specifiers generated by said rasterizer include commands for programming said DDA units to perform incremental changes in pixel attributes; and wherein ones of said operation specifiers generated by said rasterizer include at least one delta value for incrementing, and also include a subpixel offset values which indicate a value proportional to said delta value; and wherein said DDA units generate said incremental changes in pixel attributes, from said delta value and said subpixel offset value, using calculations which use multiplexing operations but do not use any multiply operations. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A graphics system comprising:
-
a rasterizer which generates a sequence of pixel location identifiers and associated operation specifiers; one or more digital differential analyzer units (DDA units) connected to receive said sequence of pixel location identifiers and associated operation specifiers from said rasterizer; wherein ones of said operation specifiers generated by said rasterizer include commands for programming said DDA units to perform incremental changes in pixel attributes; and wherein ones of said operation specifiers generated by said rasterizer also include subpixel offset values, and wherein said DDA units use said subpixel offset values in calculating pixel attributes, but do not use said subpixel offset values as inputs to any multiply; and wherein said subpixel offset values have a resolution between one and six bits, inclusive. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A graphics system comprising:
-
a rasterizer which generates a sequence of pixel location identifiers and associated operation specifiers; one or more digital differential analyzer units (DDA units) connected to receive said sequence of pixel location identifiers and associated operation specifiers from said rasterizer; wherein ones of said operation specifiers generated by said rasterizer include commands for programming said DDA units to perform incremental changes in pixel attributes; and wherein ones of said operation specifiers generated by said rasterizer also include subpixel offset values, and wherein said DDA units use said subpixel offset values in calculating pixel attributes, but do not use said subpixel offset values as inputs to any floating-point multiply; and wherein said DDA units calculate subpixel offset values with an internal resolution which includes a range of more than one pixel width, and with a guard band such that calculated subpixel offsets which exceed the width of a pixel do not wrap to zero, but are clamped at a maximum value until the computed value comes down below the maximum. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A rasterizer which generates a sequence of pixel location identifiers and associated operation specifiers, comprising:
-
means for generating operation specifiers which include commands for programming one or more downstream DDA units to perform incremental changes in pixel attributes;
wherein ones of said operation specifiers generated by said rasterizer also include subpixel offset values specified as multiplexer inputs;means for outputting said operation specifiers for rendering by units which include one or more DDA units.
-
-
19. A method for rendering, comprising the steps of:
-
generating a sequence of pixel location identifiers and associated operation specifiers, in a rasterizer;
wherein ones of said operation specifiers include commands for incremental changes in pixel attributes; and
wherein ones of said operation specifiers generated by said rasterizer also include subpixel offset values;receiving said sequence of pixel location identifiers and associated operation specifiers in one or more digital differential analyzer units (DDA units); and
using said subpixel offset values, said DDA units, for calculating pixel attributes, but not as inputs to any multiply operation;and wherein said DDA units calculate subpixel offset values with an internal resolution which includes a range of more than one pixel width, and with a guard band such that calculated subpixel offsets which exceed the width of a pixel do not wrap to zero, but are clamped at a maximum value until the computed value comes down below the maximum.
-
-
20. A digital differential analyzer unit (DDA unit), comprising:
-
an input connection for receiving sequences of operation specifiers from a rasterizer, individual ones of said operation specifiers including commands for programming said DDA units to generate a series of pixel outputs, in which at least one parameter is incrementally changed over a respective sequence of pixels; internal calculation logic configured to calculate said parameter for each pixel in said respective sequence of pixels, with N bits of resolution; and an output connection connected to output said parameter for each pixel in said respective sequence of pixels, as a digital value with M bits of resolution, wherein M is less than N; wherein said internal calculation logic includes one or more most-significant-bits which are not included in said N bits; whereby, when said internal calculation logic obtains a parameter value which would overflow said M bits of output, said internal calculation logic outputs a M-bit clamped value. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification