IP Library Granted Patent US 7,065,543
Granted Patent B2
US 7,065,543 · App. 10/183,401 · Granted Jun 20, 2006

Apparatus and method for 2-D discrete transform using distributed arithmetic module

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,065,543
App. No.
10/183,401
Granted
Jun 20, 2006
Kind
B2
Abstract

The present invention relates to a distributed arithmetic module employing a zero input detection circuit that reduces electric power consumption by avoiding unnecessary calculation. An apparatus for performing a discrete cosine transform (DCT) on a video signal, including; input unit for receiving the video signal in a block by block basis; discrete cosine transform (DCT) unit for receiving each image data block from the input unit and conducting a discrete cosine transform/inverse discrete cosine transform (DCT/IDCT) operation on the received image data block to generate a transformed image data block containing N×M pixel value; zero input detect unit for determining whether pixel values of a current image data block are all “0” and generating a detection signal in order to bypass the DCT/IDCT performing on the current image block; and output unit for outputting the transformed image data block as a transformed video signal.

Claims (73)

1. An apparatus for performing a discrete cosine transform (DCT) on a video signal, wherein the video signal includes a plurality of N×M image blocks, N and M being a positive integer, the apparatus comprising:

input means for receiving the video signal in a block by block basis;

discrete cosine transform (DCT) means for receiving each image data block from the input means and conducting a discrete cosine transform/inverse discrete cosine transform (DCT/IDCT) operation on the received image data block to generate a transformed image data block containing N×M pixel values, wherein N and M are both positive integers and at least one of N and M is greater than 1;

zero input detect means for determining whether pixel values of a current image data block are all “0” and generating a detection signal in order to bypass the discrete cosine transform/inverse discrete cosine transform (DCT/IDCT) performing on the current image block; and

output means for outputting the transformed image data block as a transformed video signal.

2. The apparatus as recited in claim 1 , wherein the output means includes:

a second conversion means for receiving a transformed image data block from the discrete cosine transform (DCT) means and for converting the parallel data outputted from the operation means to serial data;

a transposition data storage means for receiving the serial data from the second conversion means, transpositioning and storing the serial data outputted from the second conversion means to generate the video signal; and

a rounding and clipping means for rounding off and clipping the serial data outputted from the second conversion means to generate the video signal.

3. The apparatus as recited in claim 1 , wherein the input means includes:

multiplex means for receiving said each image data block as a serial data by selecting from a serial data of a new image data block from external or a serial data of the transformed image data block fed back from the output means;

first conversion means for converting the serial data received from the multiplexing means to parallel data; and

storage means for loading and temporarily storing the parallel data outputted from the first conversion means in parallel.

4. The apparatus as recited in claim 3 , wherein the discrete cosine transform means includes:

first temporary storage means for temporarily storing the parallel data outputted from the storage means for performing the discrete cosine transform (DCT) operation;

reorder IDCT means for readjusting an order of the parallel data outputted from the first temporary storage means for performing the inverse discrete cosine transform (IDCT) operation;

first serial addition means for adding the parallel data outputted from the first temporary storage means for the DCT operation;

distributed arithmetic means for conducting distributed arithmetic operation on the parallel data outputted from the reorder IDCT means and the serial addition means;

second temporary storage means for temporarily storing the processed data outputted from the distributed arithmetic means;

reorder DCT means for readjusting an order of the data outputted from the second temporary storage means for the DCT operation;

second serial addition means for adding the data outputted from the second temporary storage means for the IDCT; and

rounding means for rounding off the data outputted from the reorder DCT means and the second serial addition means.

5. The apparatus as recited in claim 4 , wherein the distributed arithmetic means includes:

IDCT means for receiving the parallel data from the reorder IDCT means and the detection signal from the zero input detect means and for either performing an inverse discrete cosine transform (IDCT) operation on the received image data or bypassing the inverse discrete cosine transform (IDCT) operation performing on the received parallel data according to the received detection signal;

data processing means for receiving the processed image data, which is either transformed image data or bypassed image data, from the IDCT means, processing the received image data to be suitable to the DCT/IDCT operation; and

a control means for controlling the distributed arithmetic module.

6. The apparatus as recited in claim 5 , wherein said IDCT means performs the IDCT on the received parallel data when the zero detect means determines the received parallel data containing not all “0” bits and does not perform the IDCT on the received parallel data when the zero detect means determines the received parallel data containing all “0”.

7. The apparatus as recited in claim 5 , wherein the data processing means further includes:

a delay means for delaying time in case the calculation of the IDCT means cannot be performed within a predetermined clock;

a half addition means for receiving and half-adding the output data of the IDCT means and the final output data of the distributed arithmetic means; and

a storage means for temporarily storing the data outputted from the half addition means.

8. The apparatus as recited in one of claim 5 , wherein the IDCT means further includes a ROM, a multiplexing (MUX) circuit, a circuit for 1's complement and a whole adder, and reads data from the ROM and sum them up.

9. An method for performing a discrete cosine transform (DCT) on a video signal, wherein the video signal includes a plurality of N×M image blocks, N and M being a positive integers, the method comprising the steps of:

a) receiving the video signal in a block by block basis;

b) receiving said each image data block as a serial data by selecting from a serial data of a new image data block from external or a serial data of the transformed image data block fed back from the output means;

c) converting the received serial data to parallel data;

d) storing the parallel data;

e) examining the stored data and determining whether or not bits of the stored data are all “0”;

f) if bits of the data are all “0”, bypassing a discrete cosine transform/inverse discrete cosine transform (DCT/IDCT) operation performing on the stored data; and

g) if the bits of the data are not all “0”, performing the discrete cosine transform/inverse discrete cosine transform (DCT/IDCT) operation on the stored data;

wherein N and M are both positive integers and at least one of N and M is greater than 1.

10. An apparatus for performing a discrete cosine transform (DCT) on a video signal, wherein the video signal includes a plurality of N×M image blocks, N and M being a positive integer, the apparatus comprising:

input means for receiving the video signal in a block by block basis;

discrete cosine transform (DCT) means for receiving each image data block from the input means and conducting a discrete cosine transform/inverse discrete cosine transform (DCT/IDCT) operation on the received image data block to generate a transformed image data block containing N×M pixel values;

zero input detect means for determining whether pixel values of a current image data block are all “0” and generating a detection signal in order to bypass the discrete cosine transform/inverse discrete cosine transform (DCT/IDCT) performing on the current image block; and

output means for outputting the transformed image data block as a transformed video signal;

wherein the input means includes:

multiplex means for receiving said each image data block as a serial data by selecting from a serial data of a new image data block from external or a serial data of the transformed image data block fed back from the output means;

first conversion means for converting the serial data received from the multiplexing means to parallel data; and

storage means for loading and temporarily storing the parallel data outputted from the first conversion means in parallel; and

wherein the discrete cosine transform means includes:

first temporary storage means for temporarily storing the parallel data outputted from the storage means for performing the discrete cosine transform (DCT) operation;

reorder IDCT means for readjusting an order of the parallel data outputted from the first temporary storage means for performing the inverse discrete cosine transform (IDCT) operation;

first serial addition means for adding the parallel data outputted from the first temporary storage means for the DCT operation;

distributed arithmetic means for conducting distributed arithmetic operation on the parallel data outputted from the reorder IDCT means and the serial addition means;

second temporary storage means for temporarily storing the processed data outputted from the distributed arithmetic means;

reorder DCT means for readjusting an order of the data outputted from the second temporary storage means for the DCT operation;

second serial addition means for adding the data outputted from the second temporary storage means for the IDCT; and

rounding means for rounding off the data outputted from the reorder DCT means and the second serial addition means.

11. The apparatus as recited in claim 10 , wherein the output means includes:

a second conversion means for receiving a transformed image data block from the discrete cosine transform (DCT) means and for converting the parallel data outputted from the operation means to serial data;

a transposition data storage means for receiving the serial data from the second conversion means, transpositioning and storing the serial data outputted from the second conversion means to generate the video signal; and

a rounding and clipping means for rounding off and clipping the serial data outputted from the second conversion means to generate the video signal.

12. The apparatus as recited in claim 10 , wherein the distributed arithmetic means includes:

IDCT means for receiving the parallel data from the reorder IDCT means and the detection signal from the zero input detect means and for either performing an inverse discrete cosine transform (IDCT) operation on the received image data or bypassing the inverse discrete cosine transform (IDCT) operation performing on the received parallel data according to the received detection signal;

data processing means for receiving the processed image data, which is either transformed image data or bypassed image data, from the IDCT means, processing the received image data to be suitable to the DCT/IDCT operation; and

a control means for controlling the distributed arithmetic module.

13. The apparatus as recited in claim 12 , wherein said IDCT means performs the IDCT on the received parallel data when the zero detect means determines the received parallel data containing not all “0” bits and does not perform the IDCT on the received parallel data when the zero detect means determines the received parallel data containing all “0”.

14. The apparatus as recited in claim 12 , wherein the data processing means further includes:

a delay means for delaying time in case the calculation of the IDCT means cannot be performed within a predetermined clock;

a half addition means for receiving and half-adding the output data of the IDCT means and the final output data of the distributed arithmetic means; and

a storage means for temporarily storing the data outputted from the half addition means.

15. The apparatus as recited in one of claim 12 , wherein the IDCT means further includes a ROM, a multiplexing (MUX) circuit, a circuit for 1's complement and a whole adder, and reads data from the ROM and sum them up.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2006
From: VK CORPORATION
To: MTEKVISION CO., LTD.
Reel/Frame 017882/0617 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2006
From: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
To: VK CORPORATION; ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
Reel/Frame 017495/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2002
From: KIM, IG KYUN; KIM, KYUNG SOO
To: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
Reel/Frame 013057/0687 →