DCT_DHC

所属分类:图形图象
开发工具:C/C++
文件大小:231KB
下载次数:133
上传日期:2008-06-25 18:36:15
上 传 者cateyes
说明:  动态Huffman编码与静态Huffman编码。Dynamic Huffman coding and static Huffman coding.
(Dynamic Huffman encoding and static Huffman coding. Dynamic Huffman coding and static Huffman coding.)

文件列表:
DCT_DHC\CompileAll.m (1270, 2007-03-29)
DCT_DHC\DCTCompression.m (3408, 2007-03-29)
DCT_DHC\FDCT2F.CPP (4272, 2007-03-27)
DCT_DHC\FDCT2F.dll (8192, 2007-03-29)
DCT_DHC\FDCT2F.m (1176, 2007-03-28)
DCT_DHC\FGKHuffDecode.c (16165, 2007-03-05)
DCT_DHC\FGKHuffDecode.dll (9728, 2007-03-29)
DCT_DHC\FGKHuffDecode.m (1513, 2007-03-29)
DCT_DHC\FGKHuffEncode.c (16214, 2007-03-05)
DCT_DHC\FGKHuffEncode.dll (10240, 2007-03-29)
DCT_DHC\FGKHuffEncode.m (1392, 2007-03-29)
DCT_DHC\FQuantization.cpp (4522, 2007-03-28)
DCT_DHC\FQuantization.dll (7680, 2007-03-29)
DCT_DHC\FQuantization.m (1142, 2007-03-28)
DCT_DHC\FScanning.cpp (3665, 2007-03-28)
DCT_DHC\FScanning.dll (7680, 2007-03-29)
DCT_DHC\FScanning.m (857, 2007-03-28)
DCT_DHC\IDCT2F.CPP (4074, 2007-03-27)
DCT_DHC\IDCT2F.dll (8192, 2007-03-29)
DCT_DHC\IDCT2F.m (1207, 2007-03-28)
DCT_DHC\IQuantization.cpp (4714, 2007-03-28)
DCT_DHC\IQuantization.dll (7680, 2007-03-29)
DCT_DHC\IQuantization.m (1134, 2007-03-28)
DCT_DHC\IScanning.cpp (3676, 2007-03-28)
DCT_DHC\IScanning.dll (7680, 2007-03-29)
DCT_DHC\IScanning.m (854, 2007-03-28)
DCT_DHC\lena.bmp (263222, 2002-06-06)
DCT_DHC\StaticHuffDecode.c (13204, 2007-02-14)
DCT_DHC\StaticHuffDecode.dll (9728, 2007-03-29)
DCT_DHC\StaticHuffDecode.m (774, 2007-03-29)
DCT_DHC\StaticHuffEncode.c (13503, 2007-02-14)
DCT_DHC\StaticHuffEncode.dll (9728, 2007-03-29)
DCT_DHC\StaticHuffEncode.m (779, 2007-03-29)
DCT_DHC (0, 2007-03-29)

This set of c/cpp and Matlab routines are originally used for teaching purpose when I taught the 'digital image process' course at Nanjing University of Sci. & Tehc. I found that giving a concrete example is better than just lecturing abstract theory. I did not strictly write the code according to JPEG standard, there is a good impl- ement of JPEG (please visit http://www.ijg.org/ to get IJG package ). I think strict implementation of JPEG sometimes is too complicated for students to understand. In my implementation, I independently wrote each compression process such as forward DCT, quantization, zigzag scanning, Huffman coding in seperated mex functions. The whole compression process is assembled in a m-file. Since may students are familiar with standard Huffman coding, I use static Huffman coding (or dynamic Huffman coding) as the last entropy coding. Following c/cpp rountines are contained in the package: FDCT2F.cpp --- forward 8x8 block DCT IDCT2F.cpp --- inverse 8x8 block DCT FQuantization.cpp --- quantization process IQuantization.cpp --- de-quantization FScanning.cpp --- zigzag scanning IScanning.cpp --- de-scanning FGKHuffEncode.c --- dynamic Huffman encoding (FGK algorithm) FGKHuffDecode.c --- dynamic Huffman decoding (FGK algorithm) StaticHuffEncode.c --- static Huffman encoding StaticHuffDecode.c --- static Huffman decoding to compile above c/cpp files, just copy all the files in a directory that can be recogn- ized by Matlab, and type CompileAll on matlab environment. To test the program suite, type DCTCompression to start the demo. CompileAll.m and DCTCompression.m are two m-files that can directly run on Matalb. ----------------------------------- All the Matlab as well as c/cpp rountine is Written by Y.B.Mao with Department of Automation at NJUST Mar. 29, 2007. Version 0.99 All Rights reserved. WARNING: This routine can be arbitary disseminated or modified only for the purpose of education.

近期下载者

相关文件


收藏者