JPEG压缩编码过程

 

 

JPEG压缩编码过程

 

1.1 JPEG简介

 

         JPEGJoint Photographic Experts Group)是由ISOIEC1986年联合成立的一个专家委员会(WG1)该委员会制定了一系列的静态连续色调图像压缩编码标准(如:有损、无损及接近无损等编码标准,并于1996年开始制定JPEG 2000标准。

JPEG文件使用的颜色空间为YCbCr空间。因此要先将RGB转化为YCbCr空间:

                   Y = 0.299 R + 0.587 G + 0.114 B

     Cb = - 0.1687R - 0.3313G + 0.5 B + 128

     Cr = 0.5 R - 0.4187G - 0.0813 B + 128

 

1.2     JPEG压缩编码及解压缩算法

1.1 压缩编码算法                1.2解压缩算法

 

JPEG压缩编码算法的主要计算步骤如下(解压缩步骤与其相反)

(1)正向离散余弦变换(FDCT)

(2)量化;

(3)Z形扫描;

(4)使用差分脉冲编码调制(DPCM)对直流系数(DC)进行编码;使用行程长度编码(RLE)对交流系数(AC)进行编码;熵编码。

 

1.2.1          FDCT

 

         对每个单独的彩色图像分量,把整个分量图像分成8x8的图像块,并作为二维离散变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上。它所作的变换可以简单地理解成(x,y)->(x’,y’),即实数对应到实数。

DCT变换使用下面的计算公式:

它的逆变换使用下式计算:

在上面的式子中:

 

f(ij)经变换之后,F(0,0)是直流系数(DC,64个空域图像采样值的平均值),其他为交流系数(AC)

 

1.2.2  量化

 

    量化是对经过FDCT变换后的频率系数进行量化,其目的是减小非“0”系数的幅度以及增加“0”值系数的数目。对于有损压缩算法,使用均匀量化器进行量化。用FDCT生成的数据除以对应的量化步距。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色差量化值。

1.3亮度量化表         1.4 色差量化表

 

1.2.3          z形扫描

 

 

1.5 Z形扫描

 

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

 

1.2.4          DC编码

 

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

 

1.2.5         AC编码

         AC系数的特点:1x64矢量中包含有许多“0”系数,并且许多“0”是连续的。JPEG使用非常简单和直观的游程编码(RLE)对它们进行编码。

例如:5555557777733322221111111

行程编码为:(56)(75)(33)(24)(17)

 

1.2.6         熵编码

         采用huffman编码。对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。压缩数据符号时,霍夫曼编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。这种可变长度的霍夫曼码表可以事先进行定义。

    参考资料

http://read.chaoxing.com/ebook/read_11769804.html DCT

http://read.chaoxing.com/ebook/read_12304091.html 数字图像处理

http://nes.ustc.edu.cn/jy/05/050001/050001005/m3_2.ppt JPEG图像编码标准

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值