Scaling method by using symmetrical middle-point slope control (SMSC)
AssigneeMStar Semiconductor, Inc.
InventorKun-Nan Cheng
Life of this patent
Estimating the term…
Loading patent…
AssigneeMStar Semiconductor, Inc.
InventorKun-Nan Cheng
Estimating the term…
A method is for scaling data from a source data to a destination data, wherein a function f(x) is determined to describe the destination data, in which x is a deviation from a current reference point 0. Two source data of f(0) and f(1) with respect to the point 0 and the point 1 are used as reference data. The method is performed by setting an initial condition about a primary slop D=f(1)−f(0), f(0.5)=[f(1)+f(0)]/2, a gain factor G>1, and f′(0.5)=DG=[f(1)−f(0)]G. The f(x) is taken by a quadratic equation of f(x)=ax2+bx+c, which should pass f(0), f(1), f(0.5) and satisfy the slop f f′(0.5). Coefficients of a, b, and, c, are respectively solved in two ranges of 0 x<0.5 and 0.5≦x<1, so as to obtain the function f(x) being about symmetric to the middle point at 0.5. The same procedure is applied for a next source data. Preferably, the function is symmetric to the middle point at (0.5, f(0.5)). Also and, a Z transformation of Z(z)=X(x)−0.5 is applied to reduce the calculation load by mapping the one range to the other one range.
A method for scaling data from a source data to a destination data, wherein a function f(x) is determined to describe the destination data, in which x is a deviation from a current reference point 0, and two source data of f(0) and f(1) with respect to the point 0 and the point 1 are used as reference data, the method comprising:
An apparatus for scaling a plurality of source data into a plurality of output data, wherein a function f(x) is determined to describe the output data, in which x is a deviation from a current reference point 0, and two source data of f(0) and f(1) with respect to the point 0 and the point 1 are used as reference data, the apparatus comprising:
A method for generating destination data samples f(x) in response to two source data samples f(0) and f(1), wherein f(x) is generated for x in a range of 0≦x<1, said method comprising the steps of:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Backward citations are indexed for grants only.
Complex mathematical operations: function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
Scaling of whole images or parts thereof, e.g. expanding or contracting: based on interpolation, e.g. bilinear interpolation
Computing and data processing
Image data processing or generation, in general
Term end not estimated
1. Field of the Invention
The present invention relates to a method of data interpolation, and more particularly to a method of scaling up or down of different types of data such as graphics, image, video or audio data, and for application of polygon curve fitting in many area such as object moving tracking analysis, data analysis, a finder for objects of 2D shape or 3D surface in graphic areas.
2. Description of Related Art
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. In the drawings,
FIG. 1 is a schematic diagram illustrating the curve using the SMSC scaling method of present invention;
FIG. 2 is a schematic diagram illustrating the behavior using the SMSC scaling method with different gain of slope at the start source point;
The scaling principle SMSC used in the present invention is using two end points at x=0 and x=1 within the concerning region of 0≦x<1. In addition, a middle point at x=0.5 is set as f(0.5)=[f(0)+f(1)]/2. The function is taken as a quadratic function f(x)=ax2+bx+c, which passes the three points. Also and, a slop f′(0.5)=DG=[f(1)−f(0)]G is satisfied, wherein G is a gain factor greater than 1. After solving the coefficients of a, b, and c, the function is used to describe the scaled data. However, the function is considered with respect to the regions of 0≦x<0.5 and 0.5≦x<1. The two parts of the function are joined at the middle point. Preferably, the function is symmetric or substantially symmetric to the middle point. Embodiments are provided as examples for describing the features of the invention.
FIG. 1 shows a curve using the SMSC method of present invention for scaling. A curve f(x) is provided as the input source data, on which a plurality of reference source points are located. Reference number 101 indicates the slope at the point 102, where points A, B, and C are the source points. Point 102 is the middle point between A and B. The scaling function f(x) 100 within the two adjacent points should pass the two end source point A, B and the middle point. Then each part of f(x) belonging to the range of two adjacent points is joint together to form a complete scaling function for any desired point.
The advantages of the SMSC method of the invention are low-cost, simple, and less quality loss compared to other high-order (3′rd or more) interpolation methods. It uses only two samples f(0), f(1), with respect to points, i.e., A and B, to generate the scaling result but is able to produce a much sharper image than that of the Bilinear method. It is especially useful in the case when finite storage is implemented. In common applications, during vertical scaling the entire line of source image sample data must be stored in line buffer. Therefore, more source points require more storage capacity, and result in the increase of cost. The SMSC method of the present invention only requires two samples, and means that only two line buffers are needed for scaling, such as zooming or shrinking operations. The gain factor G affects the quality, where G>1 is generally considered to be good in adjusting the scaling operation into a better quality. Please note that the condition of G≠1 is not like the Bilinear method.