JPEG标准是一种适用于彩色和单色多灰度或连续色调静止数字图像的压缩标准,包括基于DPCM(差分脉冲编码调制)和DCT(离散余弦变换)的无损压缩算法,以及基于Huffman编码的有损压缩算法两个部分。
无损压缩算法:不会产生失真,但压缩比很小;
有损压缩算法:进行图像压缩式信息虽有损失,但压缩比可以很大。
JPEG标准的三个范畴:
基本顺序过程(Baseline Sequential Process):实现有损图像压缩,重建图像质量达到人眼难以观察出来的请求,采用8*8像素自适应DCT算法、量化及Huffman型的熵编码器。
基于DCT的扩展过程(Extended DCT Based Process):使用累进工作方式,采用自适应算术编码过程。
无失真过程(Lossless Process):采用预测编码及Huffman编码(或算术编码),可保证重建图像数据与原始图像数据完全相同。
注:基本顺序过程是JPEG最基本的压缩过程,符合JPEG标准的硬软件编码/解码器都必须支持和实现这个过程。
另两个过程是可扩展,对一些特定的应用项目有很大的价值。
JPEG算法:基于JPEG算法操作可分成以下三个步骤:通过离散余弦变换(DCT)去除数据冗余;使用量化表对DCT系统进行量化,量化表是根据人类视觉系统和压缩图像类型的特点进行优化的量化系统矩阵;对量化后的DCT系数进行编码使其熵达到最小,熵编码采用Huffman可变字长编码。使用DPCM对DC进行编码,使用RLE对AC进行编码。
离散余弦变换:采用8*8子块的二维离散余弦变换算法。
量化:为了达到压缩数据的目的,对DCT系统需做量化处理,在保持一定质量的前提下,丢弃图像中对视觉效果不大的信息。多对一映射,是造成DCT编码信息损失的根源。
行程长度编码(RLE):64个变换系数量化后,左上角系数是直流分量(DC)系数,即空间域中64个图像采样值的均值。
熵编码:为了进一步压缩数据,对DC码和AC行程编码的码字再做基于统计性的熵编码。