JPEG

  01 Jan 2015


JPEG标准

主要步骤:1)正向离散余弦变换(FDCT); 2)量化(quantization); 3)Z字形编码(zigzag scan); 4)使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码; 5)使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码; 6)熵编码;

  • 正向离散余弦变换(FDCT):对每个单独的彩色图像分量,把整个分量图像分成8×8的图像块,并作为二维离散变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上。计算二维DCT与二维FFT相似,分解情况一样。

  • 量化(Quantization) :量化是对经过FDCT变换后的频率系数进行量化,其目的是减小非“0”系数的幅度以及增加“0”值系数的数目。对于有损压缩算法,使用均匀量化器进行量化。量化步距是按照系数所在的位置和每种颜色分量的色调值来确定。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色差量化值;由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。

  • Z字形编排(Zigzag Scan):量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排,其结果是把一个8 × 8的矩阵变成一个1 × 64的矢量,频率较低的系数放在矢量的顶部。

  • 直流系数(DC)的编码:DC系数的特点:8×8图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8×8图像块的DC系数值变化不大。JPEG算法使用了差分脉冲调制编码(DPCM)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码。

  • 交流系数(AC)的编码:AC系数的特点:1×64矢量中包含有许多“0”系数,并且许多“0”是连续的。JPEG使用非常简单和直观的游程长度编码(RLE)对它们进行编码。JPEG使用了1个字节的高4位来表示连续“0”的个数,而使用它的低4位来表示编码下一个非“0”系数所需要的位数,跟在它后面的是量化AC系数的数值。

  • 熵(Entropy)编码:使用熵编码的原因:对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。在JPEG有损压缩算法中,使用霍夫曼编码器来减少熵,霍夫曼编码器使用很简单的查表(lookup table)方法进行编码 。

  • JPEG的扩展编码系统:1)顺序编码模型(sequential encoding model),自上而下,从左至右方式发送; 2)累进编码模型(Progressive encoding),多扫描,逐次逼近; 3)层次编码模型(Hierarchical encoding model),多分辨率。

<\center> --- ### JPEG2000标准 JPEG中采用DCT变换考察整个时域过程的频域特征或整个频域过程的时域特征。JPEG2000采用以小波变换为主的多分辨率编码方式。统一了面向静态图像和二值图像的编码方式, 是既支持低比率压缩又支持高比率压缩的通用编码方式。 JPEG2000主要特点如下: 1. 高压缩率。与JPEG相比,可修复约30%的速率失真特性。JPEG和JPEG2000在压缩率相同时, JPEG2000的信噪比将提高30%左右; 2. 无损压缩。预测编码作为对图像进行无损编码的成熟方法被集成在JPEG2000中; 3. 渐进传输。JPEG2000可实现以空间清晰度和信噪比为首的各种可调节性,从而实现渐进传输,即具有“渐现”特性; 4. 感兴趣区域压缩。JPEG2000 支持所谓的“感兴趣区域”。