Community Documents

cancel
Showing results for 
Search instead for 
Did you mean: 

Discrete Cosine Transform (DCT) for LabVIEW FPGA

Introduction

The Discrete Cosine Transform is similar to the Fourier Transform and is often used in signal compression including a key part of the MPEG and JPEG lossy compression algorithms. You can learn more about the DCT on wikipedia here. This implementation of the DCT is two dimensional accepting 8X8 blocks formatted as a "book-read" stream of 64 (left to right, top to bottom). Full documentation of the core can be found in the pdf below.

Implementation

DCT CLIP.jpg

This core was originally implemented by Michal Krepa in VHDL and can be found at opencores.org here. This IP uses the Componenet-Level IP (CLIP) node to pull the instantiation into LabVIEW FPGA. To verify that the core is working, the project includes a test system that essentially does JPEG compression. The DCT portion of this algorithm is performed on the FPGA and uses DMA to send and retrieve image data to/from the FPGA. The inverse DCT is done with a standard LabVIEW function verifying that the original DCT is working as expected at a high level although not charaterizing accuracy or other specifications of the IP.

camerman.JPGcameraman (compressed).JPG

Download All
Contributors