-
JPEG图片压缩工具(第一部分/五)
资源介绍
项目:JPEG图片压缩程序(1/5)
作者:zyl910
E-Mail:zyl910@sina.com
说明:
由于JPEG图片压缩的复杂性。就算是是最简单的基线系统(BaseLine),
若想一次实现对算法要求太高,且不易理解,再加上我对它不是特别熟悉。
于是我决定分5个步骤实现:
1.灰度
量化表:标准亮度量化表,共1张
Huffman表:标准DC/AC亮度Huffman表,共2张
2.彩色YUV111
量化表:标准亮度/色度量化表,共2张
Huffman表:标准DC/AC亮度Huffman表,共2张(亮度/色度用同一张Huffman表)
3.彩色YUV411
量化表:标准亮度/色度量化表,共2张
Huffman表:标准DC/AC亮度Huffman表,共2张(亮度/色度用同一张Huffman表)
4.使用DRI、RSTx标签
量化表:标准亮度/色度量化表,共2张
Huffman表:标准DC/AC亮度Huffman表,共2张(亮度/色度用同一张Huffman表)
5.自适应Huffman表
量化表:标准亮度/色度量化表,共2张
Huffman表:标准 亮度/色度 & DC/AC Huffman表,共4张
提示:
JPEG压缩分为三个部分:
1.JPEG压缩原理及算法(RGB/YCbCr,DCT/IDCT,量化,Z字型编码,用DPCM对DC/用RLE对AC编码/Huffman编码)
2.JPEG标记格式
3.JPEG图片文件的组织形式(位于SOS后的图像压缩数据是由MCU块怎样排列的,特别是使用了DRI之后)
还有许多细节问题:
1.解码过程中遇到“FF 00”当“FF”处理,否则忽略“FF”
2.进行DCT前YCbCr要减128,进行IDCT前要加128(相当于Y减128,YCbCr不需要加128)
3.每个标记中数据可以不止一个(去掉长度的部分就是一段)
参考文献:
1.何斌《VC++数字图像处理》人民邮电出版社, 2001.4
2.张益贞《VC++实现JPEG/MPEG编解码技术》人民邮电出版社, 2002.11
3.杨淑莹《VC++图像处理程序设计》清华大学出版社/北方交通大学出版社, 2003.11(SOF0中,宽度/高度 写反了)