Apparatus and method for performing coordinate transformation employing stored values and interpolation
AssigneeEastman Kodak Company
InventorRoger R. A. Morton
Life of this patent
Estimating the term…
Abstract
A coordinate transformation method and apparatus that uses a lookup table to store a sample of transformed output values and an interpolator for interpolating between samples of the output values to provide an output data value. The samples are stored at varying sample spacings to accommodate varying curvatures of the transformation function so as to minimize interpolation errors.
Claims20
An apparatus for transforming input data values into output data values in accordance with a non-linear transformation function producing an output variable which is a non-linear function of an input variable comprising:
- an addressable database having a plurality of storage locations which store, in sequential address locations thereof, sequential output data values corresponding to values of said non-linear transformation function produced from a range of sequential input data values, differences between immediately successive ones of said sequential input data values for which said sequential output data values are stored in said sequential address locations of said addressable database varying over said range of input data values;
- an output data value interpolator which is coupled to receive output data values supplied thereto from said addressable database and which is operative to generate an interpolated output data value, in accordance with an input data value and an interpolation control value supplied thereto;
- and
- an address and interpolation control value generator having an input to which said input data value is applied, a first, address output coupled to said addressable database and a second, interpolation control value output coupled to said output data value interpolator, and being operative, in response to said input data value supplied thereto, to generate address signals for accessing respective output data values stored in plural ones of storage locations of said addressable database and thereby causing said respective output data values to be coupled to said output data value interpolator, and an interpolation control value for application to said output data value interpolator.
An apparatus according to claim 15, wherein said address generator is operative to generate said address signals in accordance with a combination of said base address value and said offset address value.
An apparatus according to claim 16, wherein said address generator is operative to generate said sequential address signals for accessing output data values stored in immediately sequential address locations of said database in accordance with a summation of said base address value and said offset address value.
An apparatus according to claim 14, wherein said sequential input data values for which output data values are stored in successive storage locations of said database comprise a distribution of input data values containing first input data values having first differences between immediately sequential ones thereof and second input data values having second differences between immediately sequential ones thereof, said second differences being greater than said first differences, and wherein the rate of change of the slope of said non-linear transformation function relative to said input variable is greater for said first input data values than said second input data values.
A method for transforming input data values into output data values in accordance with a non-linear transformation function, said non-linear transformation function producing an output variable which is a non-linear function of an input variable, comprising the steps of:
- (a) storing, in sequentially addressable storage locations of an addressable database, sequential output data values respective ones of which correspond to values of said non-linear transformation function product from a range of sequential input data values, wherein immediately successive ones of said sequential input data values, for which said non-linear transformation function produces sequential output data values, have differences therebetween that vary over said range of input data values;
- (b) generating an interpolation control value and address signals for accessing respective output data values stored in plural ones of storage locations of said addressable database;
- (c) generating an interpolated output data value from output data values supplied from said addressable database in response to said address signals and in accordance with said interpolation control value supplied thereto in step (b).
Dependencies are inferred from the claim text.