Apparatus and method for fast 1D DCT
First Claim
1. A method of performing a one-dimensional discrete cosine transform (1D DCT) on eight samples, the method comprising:
- A. providing an associative processor array featuring a plurality of memory words made up of associative memory cells, said cells being operative to compare values stored therein to a value broadcast to a plurality of said memory words and to write thereto a value broadcast to a plurality of said memory words, operable to implement at least one arithmetic operation in parallel on a plurality of pairs of input values;
B. inputting at least eight data samples to said associative processor array; and
C. executing five additions, five subtractions and one multiplication, each of said arithmetic operations being executed in parallel on a plurality of pairs of data elements, said data elements being said input data samples, results of said arithmetic operations and constant values.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is disclosed for a fast, one-dimensional, discrete cosine transform (1D DCT) of eight samples, and for a fast, one-dimensional, inverse discrete cosine transform (1D IDCT) for eight coefficients, requiring five parallel additions, five parallel subtractions and one parallel multiply operation. According to one embodiment, the parallel additions and subtractions are executed by performing a parallel add/subtract operation. The data are manipulated in a processor operable to execute add, subtract and multiply operations on a plurality of pairs of data values in parallel. According to a preferred embodiment of the invention, this processor is an associative memory array, typically consisting of several thousands of memory words. The inherent scalability of the associative memory enables increasing throughput by simply increasing the size of the associative memory, enabling performing the 1D DCT for large numbers of samples.
16 Citations
14 Claims
-
1. A method of performing a one-dimensional discrete cosine transform (1D DCT) on eight samples, the method comprising:
-
A. providing an associative processor array featuring a plurality of memory words made up of associative memory cells, said cells being operative to compare values stored therein to a value broadcast to a plurality of said memory words and to write thereto a value broadcast to a plurality of said memory words, operable to implement at least one arithmetic operation in parallel on a plurality of pairs of input values; B. inputting at least eight data samples to said associative processor array; and C. executing five additions, five subtractions and one multiplication, each of said arithmetic operations being executed in parallel on a plurality of pairs of data elements, said data elements being said input data samples, results of said arithmetic operations and constant values. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of performing a one-dimensional inverse discrete cosine transform (1D IDCT) of eight coefficients, the method comprising:
-
A. providing an associative processor array featuring a plurality of memory words made up of associative memory cells, said cells being operative to compare values stored therein to a value broadcast to a plurality of said memory words and to write thereto a value broadcast to a plurality of said memory words, operable to implement at least one arithmetic operation in parallel on a plurality of pairs of input values; B. inputting at least eight DCT coefficients to said associative processor array; and C. executing five additions, five subtractions and one multiplication, each of said arithmetic operations being executed in parallel on a plurality of pairs of data elements, said data elements being said input DCT coefficients, results of said arithmetic operations and constant values. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification