← Back to Patent Explorer
US5434808A Expired / Lapsed US ⏱️ 0.0 years remaining

Highly parallel discrete cosine transform engine

Assignee: NEC Electronics Corp
•
Filing: 1993-10-29
•
Granted: 1995-07-18
•
Expires: 2013-10-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A discrete cosine transform engine which receives an input matrix of data and provides a transformed matrix of data, the input matrix and the output matrix each having a plurality of row locations and a plurality of column locations. The engine includes a plurality of input accumulators, a plurality of multiplication circuits and a plurality of output accumulators. The plurality of accumulators accumulate data from the input matrix of data in parallel to provide a plurality of transform coefficient outputs. The plurality of multiplication circuits receive the plurality of coefficient outputs and multiply the coefficient outputs by transform constants to provide a plurality of transform products. Each output accumulator receives the transform products and accumulates the products to provide the transformed matrix of data.

Inventors

  • 👤 Paul E. Cohen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 22:49
CPC Classifications
G; G06; G06F; G06F17/00; G06F17/10; G06F17/14; G06F17/147

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 172 words
An apparatus for performing a discrete cosine transform on an input matrix of data elements to provide a transformed matrix of data elements, the input matrix and the output matrix each having a plurality of row locations and a plurality of column locations, the apparatus comprising a plurality of input accumulators, the plurality of input accumulators accumulating data elements from the input matrix of data elements in parallel to provide a plurality of transform coefficient outputs, the plurality of input accumulators corresponding to respective row and column locations of the input matrix, each input accumulator providing an individual transform coefficient; a plurality of multiplication circuits coupled with the plurality of input accumulators, the plurality of multiplication circuits receiving the plurality of transform coefficient outputs and multiplying the transform coefficient outputs by transform constants to provide a plurality of transform products; and a plurality of output accumulators coupled with the plurality of multiplication circuits, each output accumulator receiving the transform products and accumulating the products to provide the transformed matrix of data elements.
Claim 2
Independent Claim 172 words
An apparatus for performing a discrete cosine transform on an input matrix of data elements to provide a transformed matrix of data elements, the input matrix and the output matrix each having a plurality of row locations and a plurality of column locations, the apparatus comprising a plurality of input accumulators, the plurality of input accumulators accumulating data elements from the input matrix of data elements in parallel to provide a plurality of transform coefficient outputs, the plurality of input accumulators corresponding to respective row and column locations of the input matrix, each input accumulator providing an individual transform coefficient; a plurality of multiplication circuits coupled with the plurality of input accumulators, the plurality of multiplication circuits receiving the plurality of transform coefficient outputs and multiplying the transform coefficient outputs by transform constants to provide a plurality of transform products; and a plurality of output accumulators coupled with the plurality of multiplication circuits, each output accumulator receiving the transform products and accumulating the products to provide the transformed matrix of data elements.
Claim 3
Dependent Claim 22 words
The apparatus of claim 1 wherein the input accumulators and the plurality of multiplication circuits are coupled via a transform coefficient bus.
Claim 4
Dependent Claim 37 words
The apparatus of claim 2 wherein the transform coefficient bus includes a plurality of buses, the plurality of buses being cross coupled so that transform coefficients from any accumulator circuit may be received by any multiplication circuit.
Claim 5
Dependent Claim 19 words
The apparatus of claim 1 wherein the multiplication circuits and the output accumulators are coupled via a product bus.
Claim 6
Dependent Claim 39 words
The apparatus of claim 4 wherein the product bus includes a plurality of product buses, the plurality of product buses being cross coupled so that transform products from any multiplication circuit may be received by any output accumulator circuit.
Claim 7
Dependent Claim 40 words
The apparatus of claim 1 wherein the plurality of output accumulators correspond to the row and column locations of the transformed matrix, and each output accumulator provides output data for an individual location of the transformed matrix of data elements.
Claim 8
Dependent Claim 46 words
The apparatus of claim 1 wherein the discrete cosine transform uses a discrete plurality of constants, the plurality of multiplication circuits correspond to the discrete plurality of constants, and each multiplication circuit multiplies the plurality of transform coefficients by one of the discrete plurality of constants.
Claim 9
Independent Claim 145 words
An apparatus for performing a discrete cosine transform on a matrix of data elements to provide a transformed matrix of data elements, each matrix having a plurality of row locations and a plurality of column locations, the apparatus comprising a plurality of input accumulators, the plurality of input accumulators accumulating the input matrix of data elements in parallel to provide a plurality of transform coefficient outputs, the plurality of input accumulators corresponding to respective row and column locations of the input matrix, each input accumulator providing an individual transform coefficient; means for multiplying, the means for multiplying receiving the plurality of transform coefficient outputs and multiplying the coefficient outputs by constants to provide a plurality of transform products; and means for output accumulation, the means for output accumulation receiving the transform products and adding the transform products to provide the transformed matrix of data elements.
Claim 10
Independent Claim 145 words
An apparatus for performing a discrete cosine transform on a matrix of data elements to provide a transformed matrix of data elements, each matrix having a plurality of row locations and a plurality of column locations, the apparatus comprising a plurality of input accumulators, the plurality of input accumulators accumulating the input matrix of data elements in parallel to provide a plurality of transform coefficient outputs, the plurality of input accumulators corresponding to respective row and column locations of the input matrix, each input accumulator providing an individual transform coefficient; means for multiplying, the means for multiplying receiving the plurality of transform coefficient outputs and multiplying the coefficient outputs by constants to provide a plurality of transform products; and means for output accumulation, the means for output accumulation receiving the transform products and adding the transform products to provide the transformed matrix of data elements.
Claim 11
Dependent Claim 15 words
The apparatus of claim 8 wherein the input accumulators are coupled via an input/output bus.
Claim 12
Dependent Claim 52 words
The apparatus of claim 9 wherein the discrete cosine transform uses a discrete plurality of constants, the means for multiplying includes a computer processor coupled to the input output bus, the computer processor multiplying the plurality of transform coefficients by the discrete plurality of constants to provide the plurality of transform products.
Claim 13
Dependent Claim 32 words
The apparatus of claim 10 wherein the means for output accumulation includes the computer processor, the computer processor accumulating the plurality of transform products to provide the transformed matrix of data elements.
Claim 14
Dependent Claim 47 words
The apparatus of claim 9 wherein the means for output accumulation includes a plurality of output accumulators corresponding to the row and column locations of the transformed matrix, and each output accumulator provides output data element for an individual location of the transformed matrix of data elements.
Claim 15
Dependent Claim 51 words
The apparatus of claim 9 wherein the discrete cosine transform uses a discrete plurality of constants, the means for multiplying includes a plurality of multiplication circuits corresponding to the discrete plurality of constants, and each multiplication circuit multiplies the plurality of transform coefficients by one of the discrete plurality of constants.
Claim 16
Dependent Claim 248 words
A peripheral apparatus for accelerating arithmetic operations of a processor on a first matrix of first data elements to provide a second matrix of second data elements, the first and second matrices each having a plurality of row locations and a plurality of column locations, each data element of the first matrix of data elements having a first address corresponding thereto and each data element of the second matrix of data elements having a second address corresponding thereto, the apparatus comprising a bus having a data portion for transmitting the data elements and an address portion for transmitting addresses from the processor; and a plurality of accumulators coupled to the bus and arranged in a matrix corresponding to the first and second matrices of data elements, each of the plurality of accumulators including an arithmetic unit for performing arithmetic operations on the first data elements to provide second data elements, the arithmetic unit being coupled to the data portion of the bus; and an address selection unit for monitoring the bus for particular first addresses, causing the arithmetic unit to perform arithmetic operations on the first data elements corresponding to the particular first addresses in accordance with programmed rules that are determined by the particular first addresses and causing the arithmetic unit to provide the second data elements corresponding to particular second addresses to the data portion of the bus, the address selection unit being coupled to the address portion of the bus and to the arithmetic unit.
Claim 17
Dependent Claim 248 words
A peripheral apparatus for accelerating arithmetic operations of a processor on a first matrix of first data elements to provide a second matrix of second data elements, the first and second matrices each having a plurality of row locations and a plurality of column locations, each data element of the first matrix of data elements having a first address corresponding thereto and each data element of the second matrix of data elements having a second address corresponding thereto, the apparatus comprising a bus having a data portion for transmitting the data elements and an address portion for transmitting addresses from the processor; and a plurality of accumulators coupled to the bus and arranged in a matrix corresponding to the first and second matrices of data elements, each of the plurality of accumulators including an arithmetic unit for performing arithmetic operations on the first data elements to provide second data elements, the arithmetic unit being coupled to the data portion of the bus; and an address selection unit for monitoring the bus for particular first addresses, causing the arithmetic unit to perform arithmetic operations on the first data elements corresponding to the particular first addresses in accordance with programmed rules that are determined by the particular first addresses and causing the arithmetic unit to provide the second data elements corresponding to particular second addresses to the data portion of the bus, the address selection unit being coupled to the address portion of the bus and to the arithmetic unit.
Claim 18
Dependent Claim 19 words
The apparatus of claim 14 wherein the arithmetic unit performs additions and subtractions in accordance with the programmed rules.
Claim 19
Dependent Claim 17 words
The apparatus of claim 14 wherein the arithmetic operations are performed to provide a discrete cosine transform.
Claim 20
Dependent Claim 24 words
The apparatus of claim 16 wherein the second matrix of data elements correspond to transform coefficients for use in performing a discrete cosine transform.
Claim 21
Independent Claim 109 words
A method for performing a discrete cosine transform on a matrix of data to provide a transformed matrix of data, the matrix of data having a plurality of row locations and a plurality of column locations, the method comprising providing a plurality of input accumulators, the plurality of input accumulators corresponding to respective row and column locations of the input matrix; accumulating the input matrix of data in parallel using the plurality of input accumulators to provide a plurality of transform coefficient outputs; multiplying the transform coefficient outputs by constants to provide a plurality of transform products; and accumulating the transform products to provide the transformed matrix of data.
Claim 22
Independent Claim 109 words
A method for performing a discrete cosine transform on a matrix of data to provide a transformed matrix of data, the matrix of data having a plurality of row locations and a plurality of column locations, the method comprising providing a plurality of input accumulators, the plurality of input accumulators corresponding to respective row and column locations of the input matrix; accumulating the input matrix of data in parallel using the plurality of input accumulators to provide a plurality of transform coefficient outputs; multiplying the transform coefficient outputs by constants to provide a plurality of transform products; and accumulating the transform products to provide the transformed matrix of data.

References Cited (Backward Citations)

US4958312A Cited
US4999799A Cited
US5202847A Cited
US5325215A Cited
US5249146A Cited
US5329318A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-07-17 1999-01-16 1999-07-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-07-17 2003-01-16 2003-07-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-07-17 2007-01-16 2007-07-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag