US5294998A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for designing and applying a Kaiser window filter for enlarging or reducing an image
Assignee: EIDP Inc
•
Filing: 1993-01-08
•
Granted: 1994-03-15
•
Expires: 2013-01-08
Abstract
Abstract The present invention relates to a method of designing a Kaiser window filter. The filter is applied to an input image to generate a resized output image while preserving the information content of the input image. The method of mapping the output image space to the input image space of the present invention aligns the boundaries of the input image space with the boundaries of a set of new input pixels, and the coordinate points of the output pixels map to corresponding coordinate points of the new input pixels.
Inventors
- 👤 Michael J. Piovoso
- 👤 Mark D. Wetzel
- 👤 James A. Whitcomb
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 12:06
CPC Classifications
G; G06; G06T; G06T3/00; G06T3/40; G06T3/4084
Claims Analysis
Total Claims: 46
Claim 1
Independent Claim
459 words
A method of designing a filter for resizing an input image comprising a plurality of input pixels to generate a resized image comprising a plurality of corresponding output pixels while preserving the information content of the image, comprising the steps of: (a) selecting a first interpolation rate and a first decimation rate for a first sense; (b) selecting a second interpolation rate and a second decimation rate for a second sense; (c) selecting a first stopband attenuation and a a first sharpness factor for the first sense and a second stopband attenuation and a second sharpness factor for the second sense; (d) computing a first cutoff frequency for the first sense and a second cutoff frequency for the second sense; (e) establishing an input kernel having a first number of elements in the first sense and a second number of elements in the second sense; (f) generating a first low-pass filter for the first sense, the first low-pass filter comprising a first filter vector including a plurality of first coefficients; (g) modifying the first low-pass filter, comprising the steps of: (1) creating a first vector comprising a plurality of elements each having a value equal to unity, the first vector having a dimensionality equal to the first interpolation rate, and (2) convolving the first filter vector with the first vector to create a modified first filter vector comprising a plurality of the first coefficients; (h) generating a second low-pass filter for the second sense, the second low-pass filter comprising a second filter vector including a plurality of second coefficients; (i) modifying the second low-pass filter, comprising the steps of: (1) creating a second vector comprising a plurality of elements each having a value equal to unity and the second vector having a dimensionality equal to the second interpolation rate, and (2) convolving the second filter vector with the second vector to create a modified second filter vector comprising a plurality of the second coefficients; (j) creating a first set of coefficient vectors by selecting a plurality of the coefficients of the modified first filter vector as a function of the first interpolation rate, the first decimation rate and the first number of elements; (k) creating a second set of coefficient vectors by selecting a plurality of the coefficients of the modified second filter vector as a function of the second interpolation rate, the second decimation rate and the second number of elements; (1) applying the first and second sets of coefficient vectors to a neighborhood of the values of input pixels adjacent each output pixel to compute the value of each output pixel and assigning the computed values to the corresponding output pixels, thereby producing the resized image; and (m) storing the resized image in an output memory device.
Claim 2
Independent Claim
459 words
A method of designing a filter for resizing an input image comprising a plurality of input pixels to generate a resized image comprising a plurality of corresponding output pixels while preserving the information content of the image, comprising the steps of: (a) selecting a first interpolation rate and a first decimation rate for a first sense; (b) selecting a second interpolation rate and a second decimation rate for a second sense; (c) selecting a first stopband attenuation and a a first sharpness factor for the first sense and a second stopband attenuation and a second sharpness factor for the second sense; (d) computing a first cutoff frequency for the first sense and a second cutoff frequency for the second sense; (e) establishing an input kernel having a first number of elements in the first sense and a second number of elements in the second sense; (f) generating a first low-pass filter for the first sense, the first low-pass filter comprising a first filter vector including a plurality of first coefficients; (g) modifying the first low-pass filter, comprising the steps of: (1) creating a first vector comprising a plurality of elements each having a value equal to unity, the first vector having a dimensionality equal to the first interpolation rate, and (2) convolving the first filter vector with the first vector to create a modified first filter vector comprising a plurality of the first coefficients; (h) generating a second low-pass filter for the second sense, the second low-pass filter comprising a second filter vector including a plurality of second coefficients; (i) modifying the second low-pass filter, comprising the steps of: (1) creating a second vector comprising a plurality of elements each having a value equal to unity and the second vector having a dimensionality equal to the second interpolation rate, and (2) convolving the second filter vector with the second vector to create a modified second filter vector comprising a plurality of the second coefficients; (j) creating a first set of coefficient vectors by selecting a plurality of the coefficients of the modified first filter vector as a function of the first interpolation rate, the first decimation rate and the first number of elements; (k) creating a second set of coefficient vectors by selecting a plurality of the coefficients of the modified second filter vector as a function of the second interpolation rate, the second decimation rate and the second number of elements; (1) applying the first and second sets of coefficient vectors to a neighborhood of the values of input pixels adjacent each output pixel to compute the value of each output pixel and assigning the computed values to the corresponding output pixels, thereby producing the resized image; and (m) storing the resized image in an output memory device.
Claim 3
Dependent Claim
19 words
The method of claim 1, further including the step of obtaining the input image from an input memory device.
Claim 4
Dependent Claim
24 words
The method of claim 1, further including the step of storing the first and second sets of coefficient vectors in the output memory device.
Claim 5
Dependent Claim
68 words
The method of claim 1, wherein the step of applying the first and second sets of coefficient vectors comprises the steps of applying the first set of coefficient vectors to the neighborhood of the values of the input pixels in the first sense to obtain a resultant set of pixels and applying the second set of coefficient vectors in the second sense to the resultant set of pixels.
Claim 6
Dependent Claim
61 words
The method of claim 1, wherein the step of applying the first and second sets of coefficient vectors comprises the steps of combining the first and second sets of coefficient vectors into a first set of matrices and applying the first set of matrices to the neighborhood of the values of the input pixels simultaneously in the first and second senses.
Claim 7
Dependent Claim
17 words
The method of claim 1, wherein the first interpolation rate and the first decimation rate are integers.
Claim 8
Dependent Claim
17 words
The method of claim 1, wherein the second interpolation rate and the second decimation rate are integers.
Claim 9
Dependent Claim
21 words
The method of claim 1, wherein the first and second numbers of elements are rounded to the next higher even integer.
Claim 10
Dependent Claim
49 words
The method of claim 1, wherein the step of generating a first low-pass filter includes the step of establishing a first window-based filter having a first predetermined odd filter length, the first predetermined filter length being a function of the first number of elements and the first interpolation rate.
Claim 11
Dependent Claim
44 words
The method of claim 1, wherein the step of generating a first low-pass filter further includes the step of establishing a first predetermined window length, the first predetermined window length being a function of the first number of elements and the first interpolation rate.
Claim 12
Dependent Claim
44 words
The method of claim 10, wherein the step of generating a first low-pass filter further includes the step of generating a first Kaiser window sequence, the first Kaiser window sequence being a function of the first predetermined window length and the first stopband attenuation.
Claim 13
Dependent Claim
48 words
The method of claim 11, wherein the step of generating a first low-pass filter further includes the step of generating a first Kaiser window filter, the first Kaiser window filter being a function of the first cutoff frequency, the first sharpness factor and the first Kaiser window sequence.
Claim 14
Dependent Claim
49 words
The method of claim 1, wherein the step of generating a second low-pass filter includes the step of establishing a second window filter having a second predetermined odd filter length, the second predetermined filter length being a function of the second number of elements and the second interpolation rate.
Claim 15
Dependent Claim
44 words
The method of claim 1, wherein the step of generating a second low-pass filter further includes the step of establishing a second predetermined window length, the second predetermined window length being a function of the second number of elements and the second interpolation rate.
Claim 16
Dependent Claim
44 words
The method of claim 14, wherein the step of generating a second low-pass filter further includes the step of generating a second Kaiser window sequence, the second Kaiser window sequence being a function of the second predetermined window length and the second stopband attenuation.
Claim 17
Dependent Claim
48 words
The method of claim 15, wherein the step of generating a second low-pass filter further includes the step of generating a second Kaiser window filter, the second Kaiser window filter being a function of the second cutoff frequency, the second sharpness factor and the second Kaiser window sequence.
Claim 18
Dependent Claim
29 words
The method of claim 1, wherein the first decimation rate is less than the first interpolation rate and the second decimation rate is less than the second interpolation rate.
Claim 19
Dependent Claim
65 words
The method of claim 17, wherein the step of establishing an input kernel includes the step of selecting the first and second number of elements as a function of the first and second interpolation rate, respectively, the first and second decimation rate, respectively, the first and second cutoff frequency, respectively, the first and second sharpness factor, respectively and the first and second stopband attenuation, respectively.
Claim 20
Dependent Claim
29 words
The method of claim 1, wherein the first decimation rate is less than the first interpolation rate and the second decimation rate is greater than the second interpolation rate.
Claim 21
Dependent Claim
72 words
The method of claim 19, wherein the step of establishing an input kernel includes the step of selecting the first number of elements as a function of the first interpolation rate, the first cutoff frequency, the first sharpness factor and the first stopband attenuation and computing the second number of elements as a function of the second decimation rate, the second cutoff frequency, the second sharpness factor and the second stopband attenuation.
Claim 22
Dependent Claim
29 words
The method of claim 1, wherein the first decimation rate is greater than the first interpolation rate and the second decimation rate is less than the second interpolation rate.
Claim 23
Dependent Claim
72 words
The method of claim 21, wherein the step of establishing an input kernel includes the step of computing the first number of elements as a function of the first decimation rate, the first cutoff frequency, the first sharpness factor and the first stopband attenuation and selecting the second number of elements as a function of the second interpolation rate, the second cutoff frequency, the second sharpness factor and the second stopband attenuation.
Claim 24
Dependent Claim
29 words
The method of claim 1, wherein the first decimation rate is greater than the first interpolation rate and the second decimation rate is greater than the second interpolation rate.
Claim 25
Dependent Claim
72 words
The method of claim 23, wherein the step of establishing an input kernel includes the step of computing the first number of elements as a function of the first interpolation rate, the first cutoff frequency, the first sharpness factor and the first stopband attenuation, and computing the second number of elements as a function of the second decimation rate, the second cutoff frequency, the second sharpness factor and the second stopband attenuation.
Claim 26
Dependent Claim
32 words
The method of claim 1, further including the step of modifying the first set of coefficient vectors in the first sense by identifying the output pixels aligning exactly with the input pixels.
Claim 27
Dependent Claim
31 words
The method of claim 25, further including the step of identifying the values of the first set of coefficient vectors corresponding to the output pixels aligning exactly with the input pixels.
Claim 28
Dependent Claim
39 words
The method of claim 26, further including the step of modifying the values of the first set of coefficient vectors so that the aligned output pixels each has a value equal to the value of the corresponding input pixel.
Claim 29
Dependent Claim
31 words
The method of claim 27, further including the step of identifying the values of the second set of coefficient vectors corresponding to the output pixels aligning exactly with the input pixels.
Claim 30
Dependent Claim
39 words
The method of claim 28, further including the step of modifying the values of the second set of coefficient vectors so that the aligned output pixels each has a value equal to the value of the corresponding input pixel.
Claim 31
Dependent Claim
75 words
The method of claim 29, wherein the step of applying the first and second sets of coefficient vectors further includes the steps of applying the first set of coefficient vectors to the neighborhood of the values of the input pixels in the first sense to obtain a resultant set of pixels and applying the second set of coefficient vectors in the second sense to the neighborhood of the values of the resultant set of pixels.
Claim 32
Dependent Claim
58 words
The method of claim 29, wherein the step of applying the first and second sets of coefficient vectors further includes the steps of combining the first and second sets of coefficient vectors into a first set of coefficient matrices and applying the first set of coefficient matrices to the input pixels simultaneously in the first and second senses.
Claim 33
Independent Claim
484 words
A method of resizing an input image comprising a plurality of input pixels to generate a resized image comprising a plurality of corresponding output pixels while preserving the information content of the image, comprising the steps of: (a) sampling the input image at a predetermined first interval in a first sense and at a predetermined second interval in a second sense for producing input data values for the location of each input pixel; (b) establishing a third interval in the first sense and a predetermined fourth interval in the second sense for producing output data values for the location of each output pixel; (c) designing a filter for resizing the image, comprising the steps of: (1) selecting a first interpolation rate and a first decimation rate in a first sense, (2) selecting a second interpolation rate and a second decimation rate in a second sense, (3) establishing an input kernel having a first number of elements in the first sense and a second number of elements in the second sense, (4) generating a first low-pass filter for the first sense, the first low-pass filter comprising a first filter vector including a plurality of first coefficients, (5) modifying the first low-pass filter, comprising the steps of: (A) creating a first vector comprising a plurality of elements each having a value equal to unity, the first vector having a dimensionality equal to the first interpolation rate, and (B) convolving the first filter vector with the first vector to create a modified first filter vector comprising a plurality of the first coefficients, (6) generating a second low-pass filter for the second sense, the second low-pass filter comprising a second filter vector including a plurality of second coefficients, (7) modifying the second low-pass filter, comprising the steps of: (A) creating a second vector comprising a plurality of elements each having a value equal to unity, the second vector having a dimensionality equal to the second interpolation rate, and (B) convolving the second filter vector with the second vector to create a modified second filter vector comprising a plurality of the second coefficients, (8) creating a first set of coefficient vectors by selecting a plurality of the coefficients of the modified first filter vector as a function of the first interpolation rate, the first decimation rate and the first number of elements, (9) creating a second set of coefficient vectors by selecting a plurality of the coefficients of the modified second filter vector as a function of the second interpolation rate, the second decimation rate and the second number of elements; (d) applying the first and second sets of coefficient vectors to a neighborhood of the values of the input pixels adjacent each output pixel to compute the value of each output pixel and assigning the computed values to the corresponding output pixel, thereby producing a resized image; and (e) storing the resized image in an output memory device.
Claim 34
Independent Claim
484 words
A method of resizing an input image comprising a plurality of input pixels to generate a resized image comprising a plurality of corresponding output pixels while preserving the information content of the image, comprising the steps of: (a) sampling the input image at a predetermined first interval in a first sense and at a predetermined second interval in a second sense for producing input data values for the location of each input pixel; (b) establishing a third interval in the first sense and a predetermined fourth interval in the second sense for producing output data values for the location of each output pixel; (c) designing a filter for resizing the image, comprising the steps of: (1) selecting a first interpolation rate and a first decimation rate in a first sense, (2) selecting a second interpolation rate and a second decimation rate in a second sense, (3) establishing an input kernel having a first number of elements in the first sense and a second number of elements in the second sense, (4) generating a first low-pass filter for the first sense, the first low-pass filter comprising a first filter vector including a plurality of first coefficients, (5) modifying the first low-pass filter, comprising the steps of: (A) creating a first vector comprising a plurality of elements each having a value equal to unity, the first vector having a dimensionality equal to the first interpolation rate, and (B) convolving the first filter vector with the first vector to create a modified first filter vector comprising a plurality of the first coefficients, (6) generating a second low-pass filter for the second sense, the second low-pass filter comprising a second filter vector including a plurality of second coefficients, (7) modifying the second low-pass filter, comprising the steps of: (A) creating a second vector comprising a plurality of elements each having a value equal to unity, the second vector having a dimensionality equal to the second interpolation rate, and (B) convolving the second filter vector with the second vector to create a modified second filter vector comprising a plurality of the second coefficients, (8) creating a first set of coefficient vectors by selecting a plurality of the coefficients of the modified first filter vector as a function of the first interpolation rate, the first decimation rate and the first number of elements, (9) creating a second set of coefficient vectors by selecting a plurality of the coefficients of the modified second filter vector as a function of the second interpolation rate, the second decimation rate and the second number of elements; (d) applying the first and second sets of coefficient vectors to a neighborhood of the values of the input pixels adjacent each output pixel to compute the value of each output pixel and assigning the computed values to the corresponding output pixel, thereby producing a resized image; and (e) storing the resized image in an output memory device.
Claim 35
Dependent Claim
25 words
The method of claim 32, further including the step of storing the data values of each of the input pixels in an input memory device.
Claim 36
Dependent Claim
26 words
The method of claim 32, further including the step of storing the output data values of each of the output pixels in the output memory device.
Claim 37
Dependent Claim
24 words
The method of claim 32, further including the step of storing the first and second sets of coefficient vectors in the output memory device.
Claim 38
Dependent Claim
75 words
The method of claim 32, wherein the step of applying the first and second sets of coefficient vectors includes the step of applying the first set of coefficient vectors to the neighborhood of the values of the input pixels in the first sense to obtain a resultant set of input pixels and applying the second set of coefficient vectors in the second sense to the neighborhood of the values of the resultant set of pixels.
Claim 39
Dependent Claim
62 words
The method of claim 32, wherein the step of applying the first and second sets of coefficient vectors further includes the steps of combining the first and second sets of coefficient vectors into a first set of matrices and applying the first set of matrices to the neighborhood of the values of the input pixels simultaneously in the first and second senses.
Claim 40
Independent Claim
331 words
A method of mapping the pixels of an output image space to an input image space when resizing an image, comprising the steps of: (a) defining the input image space as including a predetermined number of non-overlapping, original input pixels, each original input pixel comprising a two-dimensional area represented by an original input pixel coordinate point and extending in a first input sense and a second input sense; (b) defining a total input image area as the sum of the areas of each original input pixel, the total input image area having a first input extent in the first input sense and a second input extent in the second input sense; (c) defining the output image space as including a predetermined number of output pixels, each output pixel comprising a two-dimensional area extending in a first output sense and a second output sense, the output image space having a first number of output pixels in the first output sense and a second number of output pixels in the second output sense; (d) defining a set of new input pixels image by dividing the first input extent by the first number of output pixels and dividing the second input extent by the second number of output pixels, each of the new input pixels being represented by a new input pixel coordinate point and corresponding to an output pixel, whereby the boundaries of the original input pixels and the new input pixels are aligned and each of the output pixel coordinate points maps to a corresponding new input pixel coordinate point; (e) applying a filter for resizing the input image in the first and second input senses to a neighborhood of the values of the original input pixels adjacent each new input pixel to compute the value of each of the new input pixels and assigning the computed values to the corresponding output pixels, whereby the image is resized; and (f) storing the values of the output pixels in an output memory device.
Claim 41
Independent Claim
331 words
A method of mapping the pixels of an output image space to an input image space when resizing an image, comprising the steps of: (a) defining the input image space as including a predetermined number of non-overlapping, original input pixels, each original input pixel comprising a two-dimensional area represented by an original input pixel coordinate point and extending in a first input sense and a second input sense; (b) defining a total input image area as the sum of the areas of each original input pixel, the total input image area having a first input extent in the first input sense and a second input extent in the second input sense; (c) defining the output image space as including a predetermined number of output pixels, each output pixel comprising a two-dimensional area extending in a first output sense and a second output sense, the output image space having a first number of output pixels in the first output sense and a second number of output pixels in the second output sense; (d) defining a set of new input pixels image by dividing the first input extent by the first number of output pixels and dividing the second input extent by the second number of output pixels, each of the new input pixels being represented by a new input pixel coordinate point and corresponding to an output pixel, whereby the boundaries of the original input pixels and the new input pixels are aligned and each of the output pixel coordinate points maps to a corresponding new input pixel coordinate point; (e) applying a filter for resizing the input image in the first and second input senses to a neighborhood of the values of the original input pixels adjacent each new input pixel to compute the value of each of the new input pixels and assigning the computed values to the corresponding output pixels, whereby the image is resized; and (f) storing the values of the output pixels in an output memory device.
Claim 42
Dependent Claim
25 words
The method of claim 38, further including the step of obtaining the values of the pixels of the input image space from an input memory.
Claim 43
Dependent Claim
47 words
The method of claim 38, further including the step of storing the values of the new input pixel coordinate points and the correspondence between the values of the new input pixel coordinate points and the values of the output pixel coordinate points in the output memory device.
Claim 44
Dependent Claim
25 words
The method of claim 38, wherein each of the first and second input senses aligns with each of the first and second output senses, respectively.
Claim 45
Dependent Claim
26 words
The method of claim 38, wherein each of the first and second input senses is different from each of the first and second output senses, respectively.
Claim 46
Dependent Claim
27 words
The method of claim 38, wherein each of the first and second input senses is the same as each of the first and second output senses, respectively.
References Cited (Backward Citations)
US4124871A
Cited
US4303947A
Cited
US4623922A
Cited
US4686580A
Cited
GB2158322A
Cited
US4885786A
Cited
US4653013A
Cited
US4774678A
Cited
US4712141A
Cited
US4760605A
Cited
EP0225029A2
Cited
US4809083A
Cited
US4920571A
Cited
US4833531A
Cited
EP0256816A1
Cited
US4829370A
Cited
US4893258A
Cited
EP0286286A1
Cited
US4774581A
Cited
EP0342845A1
Cited
WO1990000780A1
Cited
EP0360155A2
Cited
US5072308A
Cited
US5157517A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-03-14 | 1997-09-13 | 1998-03-15 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-03-14 | 2001-09-13 | 2002-03-15 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-03-14 | 2005-09-13 | 2006-03-15 | $7700.00 | Window Closed / Lapsed |