Methods and apparatus for re-scaling image by variable re-scaling factor
First Claim
1. A method for re-scaling image by variable re-scaling factor, the method comprising:
- receiving by a re-scaling circuit a sequence of samples that represents a row of pixels in an image;
selecting a re-scaling factor for at least a portion of said row of pixels;
selecting a filter from a bank of low pass filters in the re-scaling circuit based on the selected re-scaling factor;
low-pass filtering the sequence of samples with the selected filter;
upsampling the low-pass filtered sequence of samples by a factor M with a polyphase filter bank in the re-scaling circuit having a windowed sinc(t) characteristic, M being a positive integer; and
down-sampling with a down-sampling block in the re-scaling circuit the polyphase-filtered sequence of samples by a factor N, N being an integer selected such that M/N is substantially equal to the selected re-scaling factor;
wherein the re-scaling factor varies depending on a current position along said row of pixels;
wherein said upsampling with the polyphase filter bank includes;
implementing the polyphase filter bank with a table that comprises a plurality of rows and a plurality of columns;
setting a first variable to equal an inverse of a currently selected scaling factor;
initializing a second variable; and
at each pixel location in said row of pixels;
setting a main tap of the polyphase filter bank at an index indicated by an integer portion of the second variable;
setting a third variable to equal a non-integer portion of the second variable;
selecting a row from said table in accordance with a value of the third variable;
filtering the sequence of samples by a phase of the polyphase filter bank which corresponds to the selected row from said table; and
increasing a value of the second variable by a value of the first variable.
3 Assignments
0 Petitions
Accused Products
Abstract
A method includes receiving a sequence of samples that represents a row of pixels in an image. The method further includes selecting a re-scaling factor for at least a portion of the row of pixels. The method further includes selecting a filter from a bank of low pass filters based on the selected re-scaling factor, and low-pass filtering the sequence of samples with the selected filter. The method further includes up-sampling the low-pass-filtered sequence of samples by a factor M with a polyphase filter bank having a windowed sinc(t) characteristic to the up-sampled sequence of samples, and down-sampling the polyphase-filtered sequence of samples.
-
Citations
12 Claims
-
1. A method for re-scaling image by variable re-scaling factor, the method comprising:
-
receiving by a re-scaling circuit a sequence of samples that represents a row of pixels in an image; selecting a re-scaling factor for at least a portion of said row of pixels; selecting a filter from a bank of low pass filters in the re-scaling circuit based on the selected re-scaling factor; low-pass filtering the sequence of samples with the selected filter; upsampling the low-pass filtered sequence of samples by a factor M with a polyphase filter bank in the re-scaling circuit having a windowed sinc(t) characteristic, M being a positive integer; and down-sampling with a down-sampling block in the re-scaling circuit the polyphase-filtered sequence of samples by a factor N, N being an integer selected such that M/N is substantially equal to the selected re-scaling factor; wherein the re-scaling factor varies depending on a current position along said row of pixels; wherein said upsampling with the polyphase filter bank includes; implementing the polyphase filter bank with a table that comprises a plurality of rows and a plurality of columns; setting a first variable to equal an inverse of a currently selected scaling factor; initializing a second variable; and at each pixel location in said row of pixels; setting a main tap of the polyphase filter bank at an index indicated by an integer portion of the second variable; setting a third variable to equal a non-integer portion of the second variable; selecting a row from said table in accordance with a value of the third variable; filtering the sequence of samples by a phase of the polyphase filter bank which corresponds to the selected row from said table; and increasing a value of the second variable by a value of the first variable. - View Dependent Claims (2, 3)
-
-
4. A method for re-scaling image by variable re-scaling factor, the method comprising:
-
receiving by a re-scaling circuit a sequence of samples that represents a row of pixels in an image; selecting a re-scaling factor for at least a portion of said row of pixels; upsampling the sequence of samples by a factor M with a polyphase filter bank in the re-scaling circuit having a windowed sinc(t) characteristic, M being a positive integer; selecting a filter from a bank of low pass filters in the re-scaling circuit based on the selected re-scaling factor; low-pass filtering the polyphase-filtered sequence of samples with the selected filter from said bank of low pass filters; and down-sampling with a down-sampling block in the re-scaling circuit the low-pass-filtered sequence of samples by a factor N, N being an integer selected such that M/N is substantially equal to the selected re-scaling factor; wherein the re-scaling factor varies depending on a current position along said row of pixels; wherein said upsampling with the polyphase filter bank includes; implementing the polyphase filter bank with a table that comprises a plurality of rows and a plurality of columns; setting a first variable to equal an inverse of a currently selected scaling factor; initializing a second variable; and at each pixel location in said row of pixels; setting a main tap of the polyphase filter bank at an index indicated by an integer portion of the second variable; setting a third variable to equal a non-integer portion of the second variable;
selecting a row from said table in accordance with a value of the third variable;filtering the sequence of samples by a phase of the polyphase filter bank which corresponds to the selected row from said table; and increasing a value of the second variable by a value of the first variable. - View Dependent Claims (5, 6)
-
-
7. A method for re-scaling image by variable re-scaling factor, the method comprising:
-
receiving by a re-scaling circuit a sequence of samples that represents a row of pixels in an image; selecting a re-scaling factor for at least a portion of said row of pixels; upsampling the sequence of samples by a factor M with a polyphase filter bank in the re-scaling circuit having a windowed sinc(t) characteristic, M being a positive integer; down-sampling with a first down-sampling block in the re-scaling circuit the polyphase-filtered sequence of samples by a factor N1, N1 being an integer; low-pass filtering the down-sampled sequence of samples with a bank of low pass filters in the re-scaling circuit; and down-sapling with a second down-sampling block in the re-scaling circuit the low-pass-filtered sequence of samples by a factor N2, N2 being an integer; wherein N2 is selected such that M/(N1*N2) is substantially equal to the selected re-scaling factor; and wherein the re-scaling factor varies depending on a current position along said row of pixels; wherein said upsampling with the polyphase filter bank includes; implementing the polyphase filter bank with a table that comprises a plurality of rows and a plurality of columns; setting a first variable to equal an inverse of a currently selected scaling factor; initializing a second variable; and at each pixel location in said row of pixels; setting a main tap of the polyphase filter bank at an index indicated by an integer portion of the second variable; setting a third variable to equal a non-integer portion of the second variable; selecting a row from said table in accordance with a value of the third variable; filtering the sequence of samples by a phase of the polyphase filter bank which corresponds to the selected row from said table; and increasing a value of the second variable by a value of the first variable.
-
-
8. A method for re-scaling image by variable re-scaling factor, the method comprising:
-
storing a plurality of sets of coefficients in a table in a re-scaling circuit, each set of coefficients representing a polynomial approximation of a respective interval of a windowed sinc(t) function; receiving by the re-scaling circuit a sequence of samples that represents a row of pixels in an image; selecting a re-scaling factor for at least a portion of said row of pixels; setting a first variable to equal an inverse of an integral multiple of the selected re-scaling factor; initializing a second variable; at each pixel location in said row of pixels; setting a main tap of a filter at an index indicated by an integer portion of the second variable; setting a third variable to equal a non-integer portion of the second variable; evaluating each of said polynomial approximations at a point along a curve segment to generate filter coefficients to define said filter, said curve segment corresponding to said each polynomial approximation, said point along said curve segment corresponding to a value of said third variable; applying said filter to selected samples from said sequence of samples to generate an output pixel value; and increasing a value of the second variable by a value of the first variable. - View Dependent Claims (9, 10)
-
-
11. A system for re-scaling image by variable re-scaling factor, the system comprising:
-
a bank of low pass filters in a re-scaling circuit to receive a sequence of samples that represents a row of pixels in an image; a re-scaling factor block in the re-scaling circuit to select a re-scaling factor for at least a portion of said row of pixels and to select a filter from said bank of low pass filters based on the selected re-scaling factor, said selected filter to low pass filter the sequence of samples; a polyphase filter bank in the re-scaling circuit coupled downstream from the bank of low pass filters to filter the low-pass filtered sequence of samples and to upsample the low-pass filtered sequence of samples by a factor M, M being a positive integer, the polyphase filter bank having a windowed sinc(t) characteristic; and a down-sample block in the re-scaling circuit coupled downstream from the polyphase filter bank and also coupled to the re-scaling factor block, to down-sample the sequence of samples filtered by the polyphase filter bank, the down-sampling by a factor N selected by the re-scaling factor block, N being an integer selected such that M/N is substantially equal to the selected re-scaling factor; wherein the re-scaling factor block is operative to vary the re-scaling factor depending on a current position along said row of pixels; wherein said bank of low pass filters includes at least three low pass filters, each having a respective cut-off frequency that is different from the cut-off frequency of the other low pass filters of the bank of low pass filters. - View Dependent Claims (12)
-
Specification