Memory organization and method for multiple variable digital data transformation
First Claim
1. A device for transforming multiple variable, non-linear input data, where "n" is the number of variables, and for providing interpolated output data, comprising:
- a set of 2n memory means, each having an input and an output, for storing transform data correlated to said input data at discrete addressable locations therein and for providing said transform data at each output;
address generating means, connected to each of said memory means'"'"' input, for receiving a first set of predetermined bits of said input data and for providing an address to access one location of each of said memory means per input access cycle in accordance with said first set of predetermined bits of said input data, said memory means providing accessed transform data at each output of said memory means, respectively;
sorting means for sorting said transform data, havingfirst input means, connected to each said memory means output, respectively, for receiving accessed transform data from said locations,second input means connected to receive a first predetermined subset of said first set of predetermined bits of said input data such that said transform data is ordered in accordance with said first predetermined subset of said first set of predetermined bits of said input data, andoutput means for outputting sorted transform data; and
interpolating means for interpolating said sorted transform data with a second set of predetermined bits of said input data, havingfirst input means, connected to said output means of said sorting means, for receiving said sorted transform data,second input means connected to receive said second set of predetermined bits of said input data, andoutput means for outputting interpolated output data based on interpolating said sorted transform data with said second set of predetermined bits of said input data.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and device for multidimensional data transformation is disclosed. A multidimensional, non-linear data memory storage construct provides simultaneous access to data in all dimensions without duplication of memory. For "n" dimensions, 2n locations describe the smallest subarea location in the multidimensional construct. Therefore, 2n memory banks are provided in which to store corresponding interpolation data. By recognizing that boundary points of the n-dimensions are common, duplication of memory is avoided by providing an addressing and sorting mechanism which allows interpolation of stored data correlated to the input data.
34 Citations
27 Claims
-
1. A device for transforming multiple variable, non-linear input data, where "n" is the number of variables, and for providing interpolated output data, comprising:
-
a set of 2n memory means, each having an input and an output, for storing transform data correlated to said input data at discrete addressable locations therein and for providing said transform data at each output; address generating means, connected to each of said memory means'"'"' input, for receiving a first set of predetermined bits of said input data and for providing an address to access one location of each of said memory means per input access cycle in accordance with said first set of predetermined bits of said input data, said memory means providing accessed transform data at each output of said memory means, respectively; sorting means for sorting said transform data, having first input means, connected to each said memory means output, respectively, for receiving accessed transform data from said locations, second input means connected to receive a first predetermined subset of said first set of predetermined bits of said input data such that said transform data is ordered in accordance with said first predetermined subset of said first set of predetermined bits of said input data, and output means for outputting sorted transform data; and interpolating means for interpolating said sorted transform data with a second set of predetermined bits of said input data, having first input means, connected to said output means of said sorting means, for receiving said sorted transform data, second input means connected to receive said second set of predetermined bits of said input data, and output means for outputting interpolated output data based on interpolating said sorted transform data with said second set of predetermined bits of said input data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A device for transforming a first three dimensional color space tristimulus color for a color represented by input data words X(m-1, m-2 . . . 0), Y(m-1, m-2 . . . 0), and Z(m-1, m-2 . . . 0), where m=a total number of bits of a data word, to a second three dimensional color space tristimulus color represented by output data words X'"'"'(m-1, m-2 . . . 0), Y'"'"'(m-1, m-2 . . . 0), and Z'"'"'(m-1, m-2 . . . 0), comprising:
-
an address generator, having input means and an output means, for receiving a first set of predetermined bits of a first three dimensional color space tristimulus color word via said input means and providing address signals on said output means; a set of eight memory banks, each having input means, selectively connected to said output means of said address generator for receiving address signals to access one location of each said memory bank per access cycle in accordance with said first set of predetermined bits; addressable memory locations storing second three dimensional color space tristimulus color transform words correlated to said first three dimensional color space tristimulus color words; output means for providing said second three dimensional color space tristimulus color transform words from said locations; a sorter for sorting accessed location transform words, having first input means, selectively connected to output means of said memory banks, for receiving said transform words, second input means, connected to receive a first predetermined subset of said first set of predetermined bits such that said transform words are ordered in accordance with said first predetermined subset as sorted transform words, and eight output means for outputting said sorted transform words; and an interpolator for interpolating said sorted transform words with a second set of predetermined bits of said color word, having eight first input means, connected to said sorter output means, respectively, for receiving said sorted transform words, second input means, connected to receive said second set of predetermined bits of said color word, and output means for providing said second three dimensional color space tristimulus color, whereby said first three dimensional color space tristimulus color for a color represented by data words X(m-1, m-2 . . .
0), Y(m-1, m-2 . . .
0), and Z(m-1, m-2 . . .
0) is transformed to a second three dimensional color space tristimulus color represented by data words X'"'"'(m-1, m-2 . . .
0), Y'"'"'(m-1, m-2 . . .
0), Z'"'"'(m-1, m-2 . . .
0) which are interpolations of said stored second three dimensional color space tristimulus color transform words correlated to said first three dimensional color space tristimulus color words. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method for transforming multi-variable, non-linear input data represented by first words representative of each variable, where "n" represents the number of bits in each said first word to be transformed, to an interpolated output data, comprising:
-
storing second words in a retrievable manner wherein each said second word is a transformation data point correlated to an input data point color; providing each first word with a predetermined set of bits, "a", where "a" is less than "n", defined as addressing and sorting bits and a predetermined set of data bits, "d", defined as a predetermined data point color; using said first predetermined set of bits "a" to retrieve predetermined second words from storage locations designated by said predetermined set of bits "a" and to sort said stored second words into a logical order; interpolating said predetermined second words using said data bits "d" and a non-linear transform based upon the number of variables; and outputting interpolated second data words. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A method for transforming color space data from a first tristimulus space construct to a second tristimulus space construct wherein data point colors in each said construct are represented by words representative of a color, where "n" represents the number of bits in each said word, comprising:
-
storing second tristimulus space data point colors in an individually retrievable mode wherein said second tristimulus space data point colors are each defined as a data point color correlated to a particular first tristimulus space data point color; providing each first tristimulus space word with a predetermined set of bits, "a", where "a" is less than "n", defined as addressing and sorting bits and a predetermined set of data bits, "d", defined as a predetermined first tristimulus space data point color; using said first predetermined set of bits "a" to retrieve second tristimulus space data point colors correlated to particular first tristimulus space data point colors from storage locations designated by said predetermined set of bits "a" and to sort retrieved second tristimulus space construct data point colors into a logical order; interpolating retrieved second tristimulus space data point colors using said data bits "d" and a tri-linear transform; and outputting interpolated second tristimulus space data point colors. - View Dependent Claims (23, 24, 25, 26, 27)
-
Specification