Computations of power functions using polynomial approximations
AssigneeApple Inc.
InventorsAli Sazegari, Ian Ollmann
Life of this patent
Estimating the term…
Loading patent…
AssigneeApple Inc.
InventorsAli Sazegari, Ian Ollmann
Estimating the term…
A power function is approximated over an applicable data interval with polynomials determined by means of a Chebyshev minimax approximation technique. In some cases, multiple polynomials may be used to approximate the function over respective ranges of the desirable interval, in a piecewise manner. The appropriate polynomial that approximates the power function over the range of interest is derived and stored. When the power function is to be applied to a particular data value, the data value is first evaluated to determine where it lies within the applicable interval. The constants for the polynomial associated with that range of the interval are then retrieved and used to calculate the power of that data value.
A method of processing a media signal to transform the media signal on a computer system, comprising:
A computer-readable recording medium having a computer program recorded thereon that causes a computer processing device to process and transform a media signal by performing operations comprising:
A vector processing device configured to transform a media signal, comprising:
Dependencies are inferred from the claim text.
From the US filing history. Foreign family members aren’t listed.
For evaluating functions by calculation: powers or roots , e.g. Pythagorean sums
Powers or roots , e.g. Pythagorean sums: roots or inverse roots of single operands
Indexing scheme relating to groups G06F7/552 - G06F7/5525: calculates a power, e.g. the square, of a number or a function, e.g. polynomials
Computing and data processing
Term ended 22 Aug 2023 (estimated)
Drawings are temporarily unavailable. Open the PDF at USPTO
The present invention is directed to the computation of power functions for multimedia applications, and the like, and more particularly to an approximation technique that enables such functions to be computed in a fast and accurate manner.
In the execution of programs V′=V1/2.5 on a computer, it is often desirable, and sometimes necessary, to compute power functions for data being processed. For instance, display devices, such as CRT monitors and LCD screens, exhibit a non-linear intensity-to-voltage response. A curve that characterizes this response corresponds roughly to a power function, e.g. L=V2.5, where V is the input voltage and L is the output intensity. The monitor in this situation is therefore said to have a “gamma” of 2.5. To correct for the gamma of the display, it is a common practice to multiply the input signal by a factor which is an inverse of the gamma. Thus, in this example, a gamma-corrected input voltage is computed to control the display device.
This gamma correction is computed for each pixel in the displayed image. In a high resolution display, a single image could consist of more than two million pixels. Thus, an appreciable portion of the computer's processing power is consumed by the calculation of power functions for the display of images.
FIG. 1 is a block diagram illustrating components of a vector processing architecture;
FIGS. 2a and 2b are graphs of representative power functions;
FIG. 3 is a graph of a minimax error curve for an approximation in accordance with the present invention;
To facilitate an understanding of the present invention, it is described hereinafter with reference to its implementation in the approximation of a power function that is utilized in multimedia applications. It will be appreciated, however, that the practical applications of the invention are not limited to this exemplary embodiment. Rather, the principles that underlie the invention can be applied to the calculation of any complex function where it is desirable to provide a fast and accurate approximation that can be performed within a vector processing engine.
FIGS. 2a and 2b are representative graphs of a power function and its inverse, respectively. For example, FIG. 2a might represent the function f(x)=x2.5, and FIG. 2b represents f(x)=x1/2.5. These functions can be very expensive to calculate, in terms of the number of processing cycles necessary to obtain a result for a given item of input data. In accordance with the present invention, the computational time required to determine the output value for a given input value is reduced by approximating the power function with a polynomial.
Some processes involve a “round trip” that utilizes both a power function and its inverse to complete an operation. For example, when blending two images, for instance during a fade-in or similar transition, it is desirable to operate in a linear color space. However, the color space that is used in the operating system is typically not linear, e.g. a pixel having a value of “5” is not 25% brighter than a pixel with a value of “4”. To perform the blending operation, therefore, the two pixels to be blended are each gamma corrected by computing the appropriate power function to bring them into a linear color space, their corrected values are combined in this color space, and the result is then converted back to the original color space, using the inverse of the power function.