Claims
- 1. An inverse discrete cosine transform apparatus comprising:
an inverse discrete cosine transform core for receiving incoming data in the frequency domain and transforming the data to spatial domain; a memory device associated with the inverse discrete cosine transform core for storing transform coefficients for transforming the pixel data according to an associated coding standard, wherein the appropriate transform coefficients are loaded into the memory device according to the coding standard of the incoming data, and an inverse discrete cosine transform operation is performed by the transform core according to the stored transform coefficients.
- 2. The inverse discrete cosine transform apparatus of claim 1, wherein the inverse discrete cosine transform core is configured to perform two-dimensional transforms.
- 3. The inverse discrete cosine transform apparatus of claim 2, wherein the transform core includes a first one-dimensional inverse discrete cosine transform device in association with a second one-dimensional inverse discrete cosine transform device.
- 4. The inverse discrete cosine transform apparatus of claim 3, wherein the transform core includes a transpose memory device between the first one-dimensional inverse discrete cosine transform device which handles column data, and the second one-dimensional inverse discrete cosine transform device which handles row data.
- 5. The inverse discrete cosine transform apparatus of claim 2, wherein the inverse discrete cosine transform core is configured to process N′×N′ data blocks.
- 6. The inverse discrete cosine transform apparatus of claim 5, wherein the transform core includes a means for converting the incoming M×N source block of data into an N′×N′ block, and a means for retrieving the appropriate M×N result from the N′×N′ output from the transform core.
- 7. The inverse discrete cosine transform apparatus of claim 5, wherein N′×N′ data block is an 8×8 data block.
- 8. The inverse discrete cosine transform apparatus of claim 1, wherein a speed-up mode flag is included and set according to the transform algorithm to be employed.
- 9. The inverse discrete cosine transform apparatus of claim 8, wherein if the speed-up mode flag is set, a 4-point transform algorithm is employed.
- 10. The inverse discrete cosine transform apparatus of claim 8, wherein if the speed-up mode flag is not set, an 8-point transform algorithm is employed.
- 11. A method for processing inverse discrete cosine data transform data blocks via a programmable inverse discrete cosine transform device, the method comprising the steps of:
receiving an N×M source block; converting the N×M source block to an N′×N′ data block; loading transform coefficients corresponding to a certain coding standard into a memory device associated with the programmable inverse discrete cosine transform device; applying inverse discrete cosine data transformation to the N′×N′ data block via use of the loaded transform coefficients to produce an N′×N′ output block; and deriving an N×M result from the N′×N′ output block.
- 12. The method of claim 11, wherein the programmable inverse discrete cosine transform device includes a two-dimensional device comprised of a first one-dimensional device coupled with a second one-dimensional device.
- 13. The method of claim 11, wherein the N×M source block is a 8×4 source block, and the N′×N′ data block is an 8×8 data block, whereby the converting step includes inserting alternating rows of zeros into the 8×4 source block to convert it to an 8×8 data block, and the deriving step includes discarding the bottom four rows from the 8×8 output block to form the 8×4 result.
- 14. The method of claim 13, wherein the deriving step further includes multiplying each element of the result by a transform constant of radical 2.
- 15. The method of claim 13, wherein the step of multiplying by the transform constant is embedded in the transform coefficients.
- 16. The method of claim 11, wherein the N×M source block is a 4×8 source block, and the N′×N′ data block is an 8×8 data block, whereby the converting step includes inserting alternating columns of zeros into the 4×8 source block to convert it to an 8×8 data block, and the deriving step includes discarding the right 4 columns from the 8×8 output block to form the 4×8 result.
- 17. The method of claim 16, wherein the deriving step further includes multiplying each element of the result by radical 2.
- 18. The method of claim 17, wherein the step of multiplying by the transform constant is embedded in the transform coefficients.
- 19. The method of claim 11, wherein the N×M source block is a 4×4 source block, and the N′×N′ data block is an 8×8 data block, whereby the converting step includes inserting alternating columns of zeros and alternating rows of zeros into the 4×4 source block to convert it to an 8×8 data block, and the deriving step includes discarding the right 4 columns and the bottom four rows from the 8×8 output block to form the 4×4 result.
- 20. The method of claim 19, wherein the deriving step further includes multiplying each element of the result by integer 2.
- 21. The method of claim 20, wherein the step of multiplying by the transform constant is embedded in the transform coefficients.
- 22. An inverse discrete cosine transform apparatus for receiving incoming data in the frequency domain and transforming the data to spatial domain, the apparatus comprising:
a programmable inverse discrete cosine transform device having a memory area for receiving transform coefficients corresponding to a certain coding standard; and at least one dedicated inverse discrete cosine transform device for processing data according to a certain coding standard, whereby the incoming data is switchably processed by the programmable inverse discrete cosine transform device or the dedicated inverse discrete cosine transform device, depending upon the coding standard to be transformed and the speed of processing desired.
- 23. An inverse transform apparatus for receiving incoming data in the frequency domain and transforming the data to spatial domain, the apparatus comprising:
a programmable inverse transform core; a memory device associated with the programmable inverse transform core for storing transform coefficients for transforming the pixel data according to an associated coding standard, wherein the appropriate transform coefficients are loaded into the memory device according to the coding standard of the incoming data, and the transform core performs the transform according to the stored transform coefficients.
- 24. The inverse transform apparatus of claim 23, wherein the inverse transform performed includes an inverse discrete cosine transform operation.
- 25. The inverse transform apparatus of claim 23, wherein the inverse transform performed includes an integer transform operation.
- 26. An inverse transform apparatus for receiving incoming data in the frequency domain and transforming the data to spatial domain, the apparatus comprising:
a programmable inverse transform core having a least a first and second mode of operation; a flag associated with selecting the mode of operation; a memory device associated with the programmable inverse transform core for storing transform coefficients for transforming the pixel data according to an associated coding standard, wherein the appropriate transform coefficients are loaded into the memory device according to the coding standard of the incoming data, and the transform is performed in the appropriate mode according to the setting of the flag.
- 27. The inverse transform apparatus of claim 26, wherein the inverse transform performed includes an inverse discrete cosine transform operation.
- 28. The inverse transform apparatus of claim 26, wherein the inverse transform performed includes an integer transform operation.
- 29. The inverse transform apparatus of claim 26, wherein the first mode is a regular mode based upon an 8-point transform algorithm, and the second mode is a speed-up mode based upon a 4-point transform algorithm.
INCORPORATION BY REFERENCE OF RELATED APPLICATIONS
[0001] The following U.S. Patent Applications are related to the present application and are hereby specifically incorporated by reference: Patent Application No. ______, entitled “METHOD OF OPERATING A VIDEO DECODING SYSTEM” (Attorney Ref. No. 13305US01); Patent Application No. ______, entitled “METHOD OF COMMUNICATING BETWEEN MODULES IN A DECODING SYSTEM” (Attorney Ref. No. 13304US01); Patent Application No. ______, entitled “VIDEO DECODING SYSTEM SUPPORTING MULTIPLE STANDARDS” (Attorney Ref. No. 13301US01); Patent Application No. ______, entitled “MEMORY SYSTEM FOR VIDEO DECODING SYSTEM” (Attorney Ref. No. 13388US01); and Patent Application No. ______, entitled “RISC PROCESSOR SUPPORTING ONE OR MORE UNINTERRUPTIBLE CO-PROCESSORS” (Attorney Ref. No. 13306US01); all filed on even date herewith. The following Provisional U.S. Patent Applications are also related to the present application and are hereby specifically incorporated by reference: Provisional Patent Application No. ______, entitled “VIDEO DECODING SYSTEM HAVING A PROGRAMMABLE VARIABLE LENGTH DECODER” (Attorney Ref. No. 13300US01); Provisional Patent Application No. ______, entitled “PROGRAMMABLE VARIABLE LENGTH DECODER” (Attorney Ref. No. 13391US01); and Provisional Patent Application No. ______, entitled “INVERSE QUANTIZER SUPPORTING MULTIPLE DECODING PROCESSES” (Attorney Ref. No. 13387US01); all filed on even date herewith.