System and method for a single-pass multiple tap filter
First Claim
1. A processing system, comprising:
- a computer processor;
an interface circuit coupled to the computer processor;
a graphics processing system coupled to the interface circuit to generate display signals for an image to be displayed in response to commands from the computer processor, the graphics processing system having a graphics processing pipeline configured to generate data representative of pixels of the image to be displayed, the graphics processing pipeline having a filter circuit for calculating an output value from a plurality of input sample values, each of the input sample values having respective weight values of contribution to the output value, the filter circuit comprising;
an interpolation circuit having input terminals for receiving first and second pluralities of the input sample values and first and second offset values and further having output terminals to provide first and second intermediate values, respectively, the interpolation circuit configured to calculate a first interpolated intermediate value from the first plurality of the input sample values for the first offset value and further calculating a second interpolated intermediate value from the second plurality of the input sample values for the second offset value, each offset value representative of the weight values of the input sample values of the respective plurality of input sample values;
a combining circuit having input terminals coupled to the output terminals of the interpolation circuit and further having an output terminal, the combining circuit configured to combine the first and second intermediate values to provide a resultant value at the output terminal; and
a blending circuit having a first input terminal coupled to the output terminal of the combining circuit, the blending circuit configured to receive the resultant value and a second input terminal for receiving a center sample value, the blending circuit further having first and second opacity terminals at which respective opacity values are received, the blending circuitry further configured to blend the resultant value and center sample value in accordance with the opacity values; and
a display coupled to the a graphics processing system to receive the display signals, and in response to the display signals display the image.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method for calculating an output value from a plurality of input sample values contributing to the output value in accordance with a respective weight value. A first intermediate value is interpolated for a first offset value from a first plurality of the input sample values and a second intermediate value is interpolated for a second offset value from a second plurality of the input sample values. The offset values are representative of the weight values of the input samples of the respective plurality of the input samples. The first and second intermediate values are combined to produce a resultant value which is subsequently blended with the remaining input sample values of the plurality in accordance with respective scaling values assigned to the resultant value and the remaining input sample values.
8 Citations
19 Claims
-
1. A processing system, comprising:
-
a computer processor; an interface circuit coupled to the computer processor; a graphics processing system coupled to the interface circuit to generate display signals for an image to be displayed in response to commands from the computer processor, the graphics processing system having a graphics processing pipeline configured to generate data representative of pixels of the image to be displayed, the graphics processing pipeline having a filter circuit for calculating an output value from a plurality of input sample values, each of the input sample values having respective weight values of contribution to the output value, the filter circuit comprising; an interpolation circuit having input terminals for receiving first and second pluralities of the input sample values and first and second offset values and further having output terminals to provide first and second intermediate values, respectively, the interpolation circuit configured to calculate a first interpolated intermediate value from the first plurality of the input sample values for the first offset value and further calculating a second interpolated intermediate value from the second plurality of the input sample values for the second offset value, each offset value representative of the weight values of the input sample values of the respective plurality of input sample values; a combining circuit having input terminals coupled to the output terminals of the interpolation circuit and further having an output terminal, the combining circuit configured to combine the first and second intermediate values to provide a resultant value at the output terminal; and a blending circuit having a first input terminal coupled to the output terminal of the combining circuit, the blending circuit configured to receive the resultant value and a second input terminal for receiving a center sample value, the blending circuit further having first and second opacity terminals at which respective opacity values are received, the blending circuitry further configured to blend the resultant value and center sample value in accordance with the opacity values; and a display coupled to the a graphics processing system to receive the display signals, and in response to the display signals display the image. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for calculating color values of pixels of a resized image from a plurality of input color values of pixels of a source image, the input color values of the pixels of the source image having respective weight values of contribution for the calculated color values of the pixels of the resized image, the method comprising:
-
receiving input color values for a set of pixels of the source image; interpolating a first intermediate value from the color values of a first plurality of the set of pixels of the source image in accordance with a first offset value, the first offset value representative of the respective weight values of the color values of the first plurality of the set of pixels; interpolating a second intermediate value from the color values of a second plurality of the set of pixels of the source image in accordance with a second offset value, the second offset value representative of the respective weight values of the color values of the second plurality of the set of pixels; combining the first and second intermediate values to produce a resultant value; blending the resultant value and color values of remaining pixels of the set of pixels in accordance with respective scaling values assigned thereto to generate color values for pixels of the resized image; and generating an image for display from the pixels of the resized image. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. In a graphics processing system coupled to a display, a method for generating pixels for a resized image to be displayed using source pixels of a source image, the method comprising:
-
calculating a first intermediate value representative of a first combined color of a first plurality of source pixels, each source pixel of the first plurality having a respective contribution to the destination pixel; calculating a second intermediate value representative of a second combined color of a second plurality of source pixels, each source pixel of the second plurality having a respective contribution to the destination pixel; averaging the first and second intermediate values to provide a resulting combined color; blending the resulting combined color with a color of a remaining source pixel in accordance with a ratio of contribution of the remaining source pixel and the sum contribution of the first and second plurality of source pixels to provide a final color; and generating a pixel for the resized image from the final color. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification