Method and system for scaling images
First Claim
Patent Images
1. A method comprising:
- incrementing a current phase location within a scaling cycle by a first value to obtain a first adjusted value, the first value equal to a number of input pixels in the scaling cycle, wherein the scaling cycle represents a scaling operation that is repeated, such that each scaling cycle accesses a common set of filter phases to scale the number of input pixels to obtain a number of output pixels, where the number of input pixels in the scaling cycle is equal to an input resolution divided by a GCD and the number of output pixels in the scaling cycle is equal to an output resolution divided by the GCD, where the GCD is the greatest common divisor of the input resolution and output resolution;
decrementing, in response to the first adjusted value being greater than a second value, the first adjusted value by the second value one or more times to obtain a second adjusted value less than the second value, the second value equal to the number of output pixels in the scaling;
determining an index value to access a coefficient set of a filter phase of the common set of filter phases by right shifting a binary representation of the second adjusted value a predetermined amount;
accessing, at a data processor, the coefficient set based on the index value;
filtering based upon the coefficient set to determine a scaled pixel value; and
outputting the scaled pixel value from the data processor.
4 Assignments
0 Petitions
Accused Products
Abstract
A system of scaling is disclosed. A data structure is provided including a control word indicative of a number of input pixels associated with a scaling cycle, a number of output pixels associated with a scaling cycle, a number of available phases and a shift variable. Scaling is performed by incrementing a current phase to obtain a adjusted value, decrementing the adjusted value to obtain a second adjusted value, and determining an index value to access a coefficient by right-shifting the second adjusted value.
80 Citations
12 Claims
-
1. A method comprising:
-
incrementing a current phase location within a scaling cycle by a first value to obtain a first adjusted value, the first value equal to a number of input pixels in the scaling cycle, wherein the scaling cycle represents a scaling operation that is repeated, such that each scaling cycle accesses a common set of filter phases to scale the number of input pixels to obtain a number of output pixels, where the number of input pixels in the scaling cycle is equal to an input resolution divided by a GCD and the number of output pixels in the scaling cycle is equal to an output resolution divided by the GCD, where the GCD is the greatest common divisor of the input resolution and output resolution; decrementing, in response to the first adjusted value being greater than a second value, the first adjusted value by the second value one or more times to obtain a second adjusted value less than the second value, the second value equal to the number of output pixels in the scaling; determining an index value to access a coefficient set of a filter phase of the common set of filter phases by right shifting a binary representation of the second adjusted value a predetermined amount; accessing, at a data processor, the coefficient set based on the index value; filtering based upon the coefficient set to determine a scaled pixel value; and outputting the scaled pixel value from the data processor. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A video scaler comprising:
-
a means for incrementing a current phase location within a scaling cycle by a first value to obtain a first adjusted value, the first value equal to a number of input pixels in the scaling cycle, wherein the scaling cycle represents a scaling operation that is repeated, such that each scaling cycle accesses a common set of filter phases to scale the number of input pixels to obtain a number of output pixels, where the number of input pixels in the scaling cycle is equal to an input resolution divided by a GCD and the number of output pixels in the scaling cycle is equal to an output resolution divided by the GCD, where the GCD is the greatest common divisor of the input resolution and output resolution; a means for decrementing, in response to the first adjusted value being greater than a second value, the first adjusted value by the second value one or more times, to obtain a second adjusted value less than the second value, the second value equal to the number of output pixels in the scaling cycle; a means for determining an index value to access a coefficient set of a filter phase of the common set of filter phases by right shifting a binary representation of the second adjusted value a predetermined amount; a means for accessing the coefficient set based on the index value; a means for filtering based upon the coefficient set to determine a scaled pixel value; and a means for outputting the scaled pixel value.
-
-
7. A system comprising:
-
a data processor for executing instructions; and a memory for storing the instructions, the instructions to; increment a current phase location within a scaling cycle by a first value to obtain a first adjusted value, the first value equal to a number of input pixels in the scaling cycle, wherein the scaling cycle represents a scaling operation that is repeated, such that each scaling cycle accesses a common set of filter phases to scale the number of input pixels to obtain a number of output pixels, where the number of input pixels in the scaling cycle is equal to an input resolution divided by a GCD and the number of output pixels in the scaling cycle is equal to an output resolution divided by the GCD, where the GCD is the greatest common divisor of the input resolution and output resolution; decrement, in response to the first adjusted value being greater than a second value, the first adjusted value by the second value one or more times to obtain a second adjusted value less than the second value, the second value equal to the number of output pixels in the scaling cycle; determine an index value to access a coefficient set of a filter phase of the common set of filter phases by right shifting a binary representation of the second adjusted value a predetermined amount; filter based upon the coefficient set to determine a scaled pixel value; and output the scaled pixel value.
-
-
8. A computer readable storage medium encoded with computer executable instructions causing a computer to perform the operations that:
-
increment a current phase location within a scaling cycle by a first value to obtain a first adjusted value, the first value equal to a number of input pixels in the scaling cycle, wherein the scaling cycle represents a scaling operation that is repeated, such that each scaling cycle accesses a common set of filter phases to scale the number of input pixels to obtain a number of output pixels, where the number of input pixels in the scaling cycle is equal to an input resolution divided by a GCD and the number of output pixels in the scaling cycle is equal to an output resolution divided by the GCD, where the GCD is the greatest common divisor of the input resolution and output resolution; decrement, in response to the first adjusted value being greater than a second value, the first adjusted value by the second value one or more times to obtain a second adjusted value less than the second value, the second value equal to the number of output pixels in the scaling cycle; determine an index value to access a coefficient set of a filter phase of the common set of filter phases by right shifting a binary representation of the second adjusted value a predetermined amount; filter based upon the coefficient set to determine a scaled pixel value; and output the scaled pixel value.
-
-
9. A method comprising:
-
storing X sets of coefficients representing 2*(X−
1)+1 available filter phases, where X is a positive integer; anddetermining, based on a number of output pixels per scaling cycle and the 2*(X−
1)+1 available filter phases, a set of N filter phases used during a scaling cycle, where N is a positive integer, and the scaling cycle represents a scaling operation that is repeated, such that each scaling cycle accesses the set of N filter phases to scale a number of input pixels to obtain a number of output pixels, where the number of input pixels in the scaling cycle is equal to an input resolution divided by a GCD, the number of output pixels in the scaling cycle is equal to an output resolution divided by the GCD, where the GCD is the greatest common divisor of the input resolution and output resolution, and N is less than 2*(X−
1)+1;scaling each input pixel of the number of input pixels based on the set of N filter phases to obtain each output pixel of the number of output pixels; and outputting each output pixel of the number of output pixels from a data processor. - View Dependent Claims (10, 11, 12)
-
Specification