资源描述:
《在JPEG压缩算法中选择量化表的尝试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第18卷 第9期小型微型计算机系统Vol.18No.91997年9月MINI-MICROSYSTEMSSep.1997在JPEG压缩算法中选择量化表的尝试智艾娣 智西湖(洛阳师范高等专科学校 洛阳471022)摘 要 数字化后的图像包含着巨大的数据量,在多媒体技术中数据压缩便显得尤为重要。本文对JPEG压缩算法进行探讨,通过自定义的量化表进行数据压缩,取得了优于JPEG推荐的量化表的效果。关键词 JPEG,压缩算法,自定义量化表,比较1 关于JPEG压缩算法JPEG是联合图像专家小组(JointPhotogra
2、phicExpertsGroup)提出的面向连续色调静止图像压缩的国际标准,其原理图如图1:图中给出了基于离散余弦变换DCT(DiscreteCosineTrans2form)的编解码过程,编码过程包括DCT、量化和熵编码,这三个工作阶段组成一个性能卓越的压缩器。图1 基于DCT的编码ö解码过程ABDCT变换是面向M×N=22数据块的算法,这种算法只需要做实数的乘法和加法,计算复杂度适中,因而具有速度快的特点,由于计算机的速度和存储方面的原因,在进行DCT变换时通常将图像分成N×N的子块进行变换,对于一个N×N
3、的数值方阵,二维离散余弦变换公式如下:N-1N-11(2x+1)uP(2y+1)vPC(u,v)=E(u)E(v)∑∑f(x,y)〔cos〕〔cos〕2Nx=0y=02N2Nu=0,1,⋯,N-1v=0,1,⋯,N-11ö2u=v=0其中,E(u),E(v)=1其他JPEG采用8×8大小的子块的二维离散余弦变换,在编码的输入端,把原始图像顺序地1996211220收稿 智艾娣,高级工程师,从事计算机图形处理。智西湖,讲师,从事计算机多媒体技术研究。 小型微型计算机系统
4、 741997年分割成一系列8×8子块,经DCT变换后生成64个DCT系数,解码时,通过IDCT变换来获得重构图像。DCT变换是一个无损变换,它实际上并不进行压缩,它只是为下一步的压缩做准备工作。量化可以达到压缩数据的目的,在JPEG算法中用量化矩阵进行量化,量化矩阵也是一个8×8的矩阵,和DCT的64个变换系数一一对应。对DCT中的每个元素在量化矩阵中的同一位置都有一个相应的量化值,这个量化值表明在该位置图像元素的量化步长是多少,其值的范围是1~255。量化值被定义为,对64个系数除以对应的量化步
5、长,然后进行四舍五入取整,公式如下:QF(u,v)=IntegerRound(F(u,v)öQ(u,v))Q其中:F(u,v)为量化值,F(u,v)为DCT的变换系数,Q(u,v)是量化器步长。量化的作用是在一定的主观保真度的前提下,丢掉那些对视觉效果影响不大的信息。通常情况下,离原点处的DC系数越近的元素对图像的贡献越大,在量化时保证这些系数的精确度,离原点越远,元素对图像贡献越小,在量化时可以不必考虑其精确度,在定义量化矩阵时,让离原点远的系数对应较大的步长值,使其量化的值为零,以便表1 量化表编码时进行有
6、效压缩。1611101624405161不同频率的余弦函数对视觉影响不同,因1212141926586055此可根据不同频率的视觉阈值来选择量化表中1413162440576956的元素值,通过心理视觉实验,可确定对应于不1417222951878062同频率的视觉阈值,以确定不同频率的量化器182237566810910377步长,JPEG标准推荐的量化表如表1所示。243555648110411392JPEG压缩算法的最后一个阶段是对量化49647887103121120101后的图像进行熵编码,以达到进一
7、步压缩数据7292959811210010399的目的。熵编码通常分成二步进行,首先把DC码和行程码转换成中间符号序列,然后给这些符号赋以变长码字。解码则是编码的逆过程。2 选择量化表的尝试对静态图像进行压缩,从量化到熵编码有不同的方案可供选择,而量化表的选择对压缩倍数的大小起着重要的作用,用JPEG标准推荐的量化表一般可将图像压缩到原始图像的10%左右,在这种情况下恢复的图像在肉眼观察时主观上感觉不到失真,为了按照实际需要来控制35791113517图像压缩的倍数,必须很好地对量化表进行选择。57911131
8、5171979111315171921考虑到低频分量决定图像信息的主要方面,高频911131517192123分量决定图像的细节,从人类视觉系统看,人的视觉对A=11131517192123251315171921232527某些高频范围内的信号不敏感,这样,在量化表中我们1517192123252729把量化低频分量的数值取的小一些,把量化高频分量1719212325272931的数