Claims
- 1. A digital image processor comprising:a shift register having a plurality of serially connected registers, said shift register being receptive to an image data word signal and having a plurality of taps; a coefficient store providing a number of quantized coefficients in which the number of coefficients stored corresponds to an integer multiple of said taps of said shift register, wherein the coefficient store rounds each of the quantized coefficients to n bits and sums the quantized coefficients to provide a summed coefficient, and wherein the coefficient store adjusts the value of the quantized coefficients in a predetermined order until generating an adjusted summed coefficient equal to a predetermined value, and wherein the coefficient store determines the suitability of a quantization value n in which the sum of the adjusted summed coefficient fails to equal the predetermined value after each member of the set has been adjusted; a plurality of multipliers each having a first input coupled to a tap of said shift register and having a second input coupled to said coefficient store to receive a coefficient to provide a plurality of multiplied outputs; an adder coupled to said plurality of multiplied outputs, wherein said adder generates a filtered and scaled image data output signal; and a controller receptive to a pre-determined scaling ratio L/M, which controls the second input of quantized coefficients from the coefficient store to the multipliers such that L sequential output data samples are computed from M sequential input samples.
- 2. A digital image processor as recited in claim 1, wherein the coefficient store organizes the quantized coefficients from left to right: c(1), c(2), c(3) . . . c(L multiplied by mults) wherein mults is a number of multiplies.
- 3. A method of processing a digital image, comprising:inputting image data into a shift register to form a set of data words; multiplying said set of data words with a quantized coefficient produced by a coefficient generator and a controller receptive to a pre-determined scaling ratio L/M which controls the quantized coefficient to produce a series of multiplied outputs, wherein L quantized coefficients corresponds to M taps; adding said series of multiplied outputs to generate a filtered and scaled image data output; rounding each coefficient to n bits; summing the coefficients to provide a summed coefficient; comparing the summed coefficient to a predetermined value; adjusting the value of each coefficient in a predetermined order until an adjusted summed coefficient of the set of coefficients is equal to said predetermined value; and determining the suitability of a quantization value n in which the sum of a set of coefficients fails to equal the predetermined value after each member of the set has been adjusted.
- 4. A method of processing a digital image as recited in claim 3, further comprising:organizing the coefficients into L sets of coefficients is accomplished by organizing the coefficients from left to right: c(1), c(2), c(3) . . . c(L multiplied by mults) wherein mults is a number of multiplies.
- 5. A method of processing a digital image as recited in claim 3, further comprising:determining whether the adjusted summed coefficient falls within limits imposed by a coefficient organized on a side of the adjusted summed coefficient.
- 6. A method of processing a digital image as recited in claim 3, further comprising:selecting coefficients whose value will be adjusted in which the order of the coefficients selected for adjustment depends on its position within the set c(1), c(2) . . . c(L multiplied by mults) wherein mults is the number of multiplies, where the first coefficient selected is the one closest to either c(1) or c(L multiplied by mults) wherein mults is the number of multiplies.
- 7. A method of processing a digital image as recited in claim 3, further comprising:selecting a second coefficient for adjustment, where the second coefficient is the second closest to c(1) or c(L multiplied by mults) wherein mults is the number of multiplies.
- 8. A method for developing FIR coefficients comprising:developing a number of coefficients for low pass filter with desired parameters; organizing said coefficients into L sets of coefficients, where each set includes a number M of elements corresponding to an integer multiple of a number of taps; processing said L sets of coefficients; storing said L sets of coefficients in a coefficient store; rounding each coefficient to n bits; summing the coefficients to provide a summed coefficient; comparing the summed coefficient to a predetermined value; adjusting the value of each coefficient in a predetermined order until an adjusted summed coefficient of the set of coefficients is equal to said predetermined value; and determining the suitability of a quantization value n in which the sum of a set of coefficients fails to equal the predetermined value after each member of the set has been adjusted.
- 9. A method for developing FIR coefficients as recited in claim 8, wherein organizing the coefficients into L sets of coefficients is accomplished by organizing the coefficients from left to right: c(1), c(2), c(3) . . . c(L multiplied by mults) wherein mults is a number of multiplies.
- 10. A method for developing FIR coefficients as recited in claim 8, further comprising:determining whether the adjusted summed coefficient falls within limits imposed by a coefficient organized on a side of the adjusted summed coefficient.
- 11. A method for developing FIR coefficients as recited in claim 8, further comprising:selecting coefficients whose value will be adjusted in which the order of the coefficients selected for adjustment depends on its position within the set c(1), c(2) . . . [c(L*mults)]c(L multiplied by mults) wherein mults is a number of multiplies, where the first coefficient selected is the one closest to either c(1) or c(L multiplied by mults).
- 12. A method for developing FIR coefficients as recited in claim 8, further comprising:selecting a second coefficient for adjustment, where the second coefficient is the second closest to c(1) or c(L multiplied by mults).
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefits of U.S. Patent Provisional Application No. 60/094,390 filed on Jul. 28, 1998, and is related to U.S. patent application Ser. No. 09/167,527 filed on Oct. 6, 1998, both of which are incorporated herein by reference.
US Referenced Citations (13)
Non-Patent Literature Citations (2)
Entry |
Micron Technology Inc., Technical Note, Achieve Maximum Compatibility In SDRAM/SGRAM Design, Compatibility in SDRAM/SGRAM Design, May, 1997. |
Micron Technology Inc., Synchronous DRAM, 16 MEG: ×16 SDRAM, Oct., 1997. |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/094390 |
Jul 1998 |
US |