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.
近期下载者:
相关文件:
收藏者: