此文僅討論靜止圖像的壓縮基本演算法,圖像壓縮的目的在於以較少的資料來表示圖像以節約存儲費用,或者傳輸時間和費用。 JPEG壓縮演算法可以用失真的壓縮方式來處理圖像,但失真的程度卻是肉眼所無法辯認的。這也就是爲什麽JPEG會有如此滿意的壓縮比例的原因。 JPEG(Joint Photographic Experts Group)图像压缩算法是一种广泛使用的有损图像压缩标准,它通过减少图像数据中的冗余信息来实现高效的数据存储和传输。JPEG 压缩算法以其高压缩比和肉眼几乎无法察觉的失真度而受到欢迎。 在JPEG压缩过程中,主要分为四个步骤: 1. **颜色模式转换及采样**: JPEG采用YCbCr色彩模型,将常见的RGB色彩模式转换为YCbCr。Y代表亮度,Cb和Cr则分别代表色度和饱和度。这个转换有助于后续处理,因为人眼对亮度的变化更敏感。根据不同的采样比例(如YUV411或YUV422),可以进一步减少非亮度分量的数据量,从而提高压缩效率。 2. **离散余弦变换(DCT)**: DCT是将图像数据转换为频率域的过程,便于分析图像强度变化。将图像数据划分为8x8的矩阵,每个矩阵作为一个处理单元。DCT公式将每个像素值减去128后进行计算,得到的频率系数包括一个直流(DC)系数F(0,0)和63个交流(AC)系数。DC系数对应图像的基本亮度信息,而AC系数表示细节信息。 3. **量化**: 量化是将DCT得到的频率系数转化为整数的过程,以降低数据精度。这一阶段会使用一个量化矩阵,将频率系数除以量化矩阵的值并取整。量化矩阵对于高频系数的值更大,导致高频细节信息更容易丢失,这是JPEG有损压缩的主要原因。 4. **编码**: 使用Huffman编码将量化后的数据进行压缩。Huffman编码是一种基于字符出现频率的变长编码方法,频率高的符号用较短的编码,反之用较长的编码。JPEG通常为亮度和色度的DC和AC系数分别使用不同的Huffman编码表,以优化编码效率。 JPEG压缩算法通过一系列数学变换和数据处理,有效地压缩了图像数据,同时保持了图像质量。尽管在压缩过程中会引入一定程度的失真,但这些失真通常不会被人类视觉系统轻易察觉,因此JPEG成为了数字图像处理领域中的标准压缩格式。然而,对于那些要求高保真度的图像,如科学图像或专业摄影,可能需要使用无损压缩格式。
- 创世纪之风云再起2013-01-15入门的好资料,但愿再详细一些,比如DCT如何转换、量化如何进行、编码如何设计
- ssrob2012-11-10繁体中文,写的比较细致
- seanbrucexxl2012-04-11压缩方法讲的很详细
- 粉丝: 31
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助