Claims
- 1. An apparatus to determine an inverse transform of encoded data, the encoded data comprising a plurality of compressed data elements in the frequency domain, the apparatus comprising:
(a) a variable length decoder configured to receive the plurality of frequency domain compressed data elements and to translate the plurality of frequency domain compressed data elements into compressed values defining magnitude and position within a block; (b) an inverse serializer configured to receive the compressed values defining magnitude and position and to resequence the compressed values; (c) an inverse quantizer configured to decompress the values defining magnitude and position and to translate the values defining magnitude and position into individual frequency domain elements; and (d) an IDQT/IDCT transformer configured to transform the data elements from the frequency domain to the pixel domain, the IDQT/IDCT transformer further comprising:
an input register configured to receive a predetermined quantity of AC data elements of the group; at least one butterfly processor coupled to the input register, the butterfly processor configured to perform at least one mathematical operation on selected pairs of data elements to produce an output of processed data elements; at least one intermediate register coupled to the butterfly processor, the intermediate register configured to temporarily store the processed data; and a feedback loop coupling the intermediate register and the butterfly processor, where if enabled, is configured to transfer a first portion of processed data elements to the appropriate butterfly processor to perform additional mathematical operations and, where if disabled, is configured to transfer a second portion of processed data elements to at least one holding register; and wherein the holding register is configured to store the processed data until all of the first portion data elements is processed.
- 2. The apparatus set forth in claim 1, further comprising at least one input multiplexer coupling the feedback loop and the intermediate register, wherein each input multiplexer is configured to temporarily select data elements and transfer data elements to the appropriate butterfly processor.
- 3. The apparatus set forth in claim 1, further comprising at least one output multiplexer coupling the butterfly processor and the intermediate register, wherein each output multiplexer is configured to temporarily select data elements and transfer data elements to the appropriate intermediate register.
- 4. The apparatus set forth in claim 1 wherein the block of encoded data may be represented as row data and column data, and further comprising a transpose random-access memory (RAM) coupled to the input register, wherein the transpose RAM is configured to store the row data while the column data is being processed, and wherein the transpose RAM is configured to store the column data while the row data is being processed.
- 5. The apparatus set forth in claim 4, wherein the transpose RAM is configurable to store two blocks of encoded data.
- 6. The apparatus set forth in claim 4, further comprising a write multiplexer coupling the holding register, wherein the write multiplexer is configured to resequence data elements to complete a one-dimensional transform.
- 7. The apparatus set forth in claim 1 wherein the feedback loop allows for the same components to be reused irrespective of block size.
- 8. The apparatus set forth in claim 1, further comprising a control sequencer coupled to the feedback loop, wherein the control sequencer is configured to enable or disable the feedback loop.
- 9. The apparatus set forth in claim 8, where the control sequencer provides the butterfly processor with a unique coefficient multiplier.
- 10. The apparatus set forth in claim 9, wherein the unique coefficient multiplier is based on B. G. Lee's algorithm.
- 11. The apparatus set forth in claim 8, where the control sequencer enables certain ones of the input registers based on a predetermined event.
- 12. The apparatus set forth in claim 8, where the control sequencer enables certain ones of the butterfly processors based on predetermined criteria.
- 13. The apparatus set forth in claim 8, where the control sequencer enables certain ones of the intermediate registers based on predetermined criteria.
- 14. The apparatus set forth in claim 8, where the control sequencer enables certain ones of the output registers based on predetermined criteria.
- 15. The apparatus as set forth in claim 1, wherein the mathematical operation is from the group consisting of addition, multiplication, and subtraction.
- 16. The apparatus as set forth in claim 1, wherein each butterfly processor performs a portion of a one-dimensional transform.
Parent Case Info
[0001] This application claims the benefit of priority of the U.S. Provisional Patent Application Serial No. 60/291,467, filed May 16, 2001, which is incorporated herein by reference in its entirety. The present invention relates to digital signal processing. More specifically, the present invention relates to an apparatus and method for determining the transform of a block of encoded data.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60291467 |
May 2001 |
US |