JPEG压缩算法

JPEG是JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为".jpg"或".jpeg",是最常用的图像文件格式,是由ISO和ITU两个组织机构联合组成的一个专家组指定的静态数字图像压缩编码标准。它包括基于差分脉冲编码调制(DPCM),离散余弦变换(DCT)和哈夫曼(Huffman)编码的有损压缩算法两个部分。
JPEG压缩算法的主要计算步骤如下:
1.通过正向离散余弦变换(DCT)去除数据冗余。
2.使用量化表对DCT系数进行量化。
3.Z字形(Zig-Zag)编码。
4.使用差分脉冲调制(DPCM)对直流系数(DC)近似编码,即对相邻数据像素块之间的L系数的差值进行编码
5.使用行程长度编码(RLE)对交流系数(AC)近似编码。对其余的63个交流分量(AC系数)使用RLE编码,从左上角开始沿对角线方向,以Z字形进行扫描直至结束。量化后的AC系数将会有许多0值,以Z字形路径进行游程编码有效的增加了连续出现的0值个数。
6.熵编码,即对DC码和AC行程编码做基于统计特性的熵编码。JPEG标准建议使用的熵编码方法有哈夫曼(Huffman)编码和自适应二进制算术编码。利用这些算法进行图像压缩时将损失一部分信息,但压缩比可以很大(如压缩20倍左右),人眼基本看不出失真。

你可能感兴趣的:(算法)