Patent ID: 6189021
Filing Date: 2001-02-13
Classification: G06T

Abstract:
A two-dimensional discrete cosine transform (DCT) method involving consecutive first and second one-dimensional DCT operations, each of the first and second one-dimensional DCT operations using a six-stage DCT fast algorithm to process a sequence of input data of an 8.times.8 data block so as to generate a sequence of transform data, the DCT fast algorithm including first, third and fifth stages that involve a plurality of butterfly operations, second and fourth stages that involve a plurality of post-addition multiplication operations, and a sixth stage that involves a plurality of intrinsic multiplication operations, said two-dimensional DCT method comprising the steps of:(a) providing an input unit to receive the input data;(b) controlling the input unit to provide the input data to a butterfly operation unit in order to enable the butterfly operation unit to perform the first stage of the DCT fast algorithm for the first one-dimensional DCT operation;(c) controlling a data register unit to store first-stage output data from the butterfly operation unit therein;(d) controlling the data register unit to provide predetermined ones of the first-stage output data to a multiplication operation unit in order to enable the multiplication operation unit to perform the second stage of the DCT fast algorithm when the predetermined ones of the first-stage output data have been stored in the data register unit;(e) controlling the data register unit to store second-stage output data from the multiplication operation unit therein;(f) controlling the data register unit to provide the first-stage and second-stage output data in a predetermined sequence to the butterfly operation unit in order to enable the butterfly operation unit to perform the third stage of the DCT fast algorithm after the butterfly operation unit has finished performing the first stage of the DCT fast algorithm;(g) controlling the data register unit to store third-stage output data from the butterfly operation unit therein;(h) controlling the data register unit to provide predetermined ones of the third-stage output data to the multiplication operation unit in order to enable the multiplication operation unit to perform the fourth stage of the DCT fast algorithm when the predetermined ones of the third-stage output data have been stored in the data register unit;(i) controlling the data register unit to store fourth-stage output data from the multiplication operation unit therein;(j) controlling the data register unit to provide the third-stage and fourth-stage output data in a predetermined sequence to the butterfly operation unit in order to enable the butterfly operation unit to perform the fifth stage of the DCT fast algorithm after the butterfly operation unit has finished performing the third stage of the DCT fast algorithm;(k) controlling the data register unit to store fifth-stage output data from the butterfly operation unit therein, the fifth-stage output data serving as scaled one-dimensional transform data;(l) controlling the data register unit to provide a transposed order of the scaled one-dimensional transform data to the butterfly operation unit in order to enable the butterfly operation unit to perform the first stage of the DCT fast algorithm for the second one-dimensional DCT operation;(m) repeating steps (c) to (j) to perform the second to fifth stages of the DCT fast algorithm for the second one-dimensional DCT operation;(n) controlling the data register unit to store the fifth-stage output data from the butterfly operation unit therein, the fifth-stage output data serving as scaled two-dimensional transform data;(o) controlling the data register unit to provide the scaled two-dimensional transform data to the multiplication operation unit in order to enable the multiplication operation unit to perform the sixth stage of the DCT fast algorithm for the second one-dimensional DCT operation based on a set of scaled weighing coefficients stored in a coefficient ROM of the multiplication operation unit, thereby resulting in the two-dimensional transform data corresponding to the input data, the scaled weighing coefficients being a product of sixth-stage weighing coefficients of the DCT fast algorithms for the first and second one-dimensional DCT operations; and(p) controlling an output unit to receive the two-dimensional transform data from the multiplication operation unit.