




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
燕山大学 毕业设计(论文)基于DCT的图象压缩学院(系)信息科学与工程学院年级专业 04级电子信息工程 学生姓名 赵夕指导教师 练秋生答辩日期 2008年6月26日 燕山大学毕业设计任务书学院: 信息科学与工程学院 系级教学单位:电子与通信系 学号02xxx8学生姓名111专 业班 级电子4班题目题目名称基于DCT的图象压缩题目性质1.理工类:工程设计 ( );工程技术实验研究型( );理论研究型( );计算机软件型( );综合型( )。2.管理类( );3.外语类( );4.艺术类( )。题目类别1.毕业设计( ) 2.论文( )题目来源科研课题( ) 生产实际( )自选题目( ) 主要内容1. 学习DCT变换和数字图像的基本原理2. 掌握图像压缩的基本算法3. 熟悉JPEG压缩算法4. 熟悉JPEG块效应去除算法5. 用软件实现JPEG压缩、解压缩及块效应去除算法基本要求1. 用Matlab或C+Builder实现恢复算法2. 优化系统的性能。3软件具有一定的通用性,具有较高的可读性和可移植性,结构清晰。参考资料数字图象处理图像压缩中国期刊网,google及相关电子资源周 次14周58周912周1316周1718周应完成的内容查阅资料算法设计软件编程软件调试算法优化结果分析撰写论文指导教师:练秋生职称:副教授 08年3月1日系级教学单位审批: 年 月 日燕山大学本科生毕业设计(论文)II 燕山大学本科生毕业设计(论文)摘 要图象压缩所要达到的目的就是用最小的信息量来表示尽可能多的信息。对于图象来说,如果需要进行快速或实时传输以及大量存储,就需要对图象数据进行压缩。如果图象数据压缩后再传输,就可以传榆更多的图象信息也就可以增加通信的能力。变换编码是把图象中的各个像素从一种空间变换到另一种空间,然后针对变换后的信号进行量化与编码操作的一种图象压缩编码技术。DCT(离散余弦变换)是变换编码中的一种映射变换方法,是JPEG标准中认可的编码技术;优点:能用静态图象有较高的压缩比,正由于这种优越性,DCT得到广泛使用。本文后半部分主要研究了经过JPEG压缩后图象产生块效应,产生块效应的原理,解决的途径及消除这种块效应的具体办法。提出了一种DCT均值块效应去除算法,在保护图象的完整性的前提下,有效的减少了图象的高频分量,以此达到去除图象方块效应的目的。关键词图象压缩;DCT(离散余弦变换);JPEG;块效应;IVAbstractThe objective of Image compression is to use the smallest amount of information to indicate as much information as possible. if there is need for quick or real-time transmission and a large amount of storage, it is impossible to do the image data compression. If the image data compression doing after the transformation, you can transform more image information. It can increase communications capacity. Transform coding is a image coding technology of encoded in each pixel from one space to another kind of transformation of space, and then transform the signal for the quantification and the operation. DCT is a mapping transformation method in the transformation, is recognized in the JPEG standard coding technology; advantages: static images can use a higher compression ratio, for this superiority, DCT is widely used. The latter part introducing a major study of the JPEG compressed images blocking artifacts, the principle of blocking artifacts, the means and the specific method of resolve to eliminate the blocking artifacts. Give a new method of DCT removal algorithm, under the Premise of protect the integrity of images, effectively reducing the image of the high frequency. To achieve the objective of removing images blocking artifacts.KeywordsImage compression; DCT; JPEG; Blocking artifacts目 录摘 要IAbstractII目 录III第1章 绪论11.1 课题背景11.2 静态图象压缩编码技术31.3 研究静态图象编码技术的意义41.4 本文结构6第2章 JPEG标准72.1 JPEG基本系统82.2 JPEG基本系统的实现92.2.1 前向余弦变换(FDCT)和反向余弦变换(IDCT)92.2.2 量化与反量化122.2.3 熵编码与解码142.3 CXIMAGE函数库18第3章 JPEG图象块效应去除193.1 图象块效应的产生193.1.1 JPEG系统存在的问题193.1.2 块效应产生原理193.2 消除块效应算法203.2.1 DCT均值去块效应算法的具体实现213.2.2 程序流程图213.3 本章小结24第4章 实验结果264.1 图像数据压缩性能评价和度量264.1.1 图象的压缩比264.1.2 图象质量评价264.2 实验结果对比274.3 本章小结32结论33参考文献34致谢35附录1I附录2VIII附录3XII附录4XIX燕山大学本科生毕业设计(论文) XXVII第1章 绪论1.1 课题背景随着微电子,计算机和传感器等技术的高速发展,世界已进入信息时代,信息时代的重要特征是信息的数字化,这些信息包括:数值,文字,语言,声音,图形,动化,视频,图象等多种多媒体信号。这些多媒体信号由模拟量转换成数字量信息后,送到计算机存储,存储后的数据或者仍由计算机对其自身进行处理,或者将通过传输通道进行传输1。可以看出,图象,声音等媒体信息的记录,存储,传输正朝着数字化的方向发展。而这些被数字化了的图象,视频,音频等信号的数据量之大是非常惊人的。例如:一幅30002000个象素组成的灰度图片,每个象素用8bit数据量来表示,那么这幅数字图象需要: (1-1)如此庞大的数据量存储开销很大,这些大容量的数据无疑对存储器寸量,计算机的速度都增加了极大的压力。解决这一问题,单纯的扩大存储器的容量是不现实的2。图象不仅在存储和处理的时候因其数据量大而造成大量问题,同时在图象数据的传输过程中也因为网络带宽和图象数据量之间的瓶颈极大的制约着网络多媒体技术的发展。网络通信技术飞快发展,网络上传输的数据量将越来越多,数据的复杂度也越来越大,单纯增加通信可、干线的传输率也是不现实的。这些数据如果通过数据压缩手段把信息数据量压下来,以压缩的形式存储和传输,即节约了存储空间,又提高了通信干线的传输效率,同时也使计算机能实时处理高质量的音频、视频信息。通过压缩图像数据,最直接的后果就是减少了传输图像所需的带宽,同时不需额外的物理设备和存储容量,达到传输更多,更精确的信息,为此减少了因此而带来的一系列费用和问题。使用图形、声音、动画、活动图像等多媒体信息时,特别是具有较高的质量要求时,不仅需要占用相当大的存储空间,而且需要相当高的数据传输率。因此可以看出,对静态图像进行压缩是绝对必要的3。从以上的论述可以看出图像数据必然要通过压缩,但是这种压缩是否可行?压缩后的数据是否会影响到图像的品质?信息论的核心理论将证明图像压缩技术具有可行性并有待进一步优化。信息论的观点认为信源中心总是或多或少地含有自然冗余度,这些冗余度既来自信源本身的相关性,又来自信源概率分布的不均匀性。这些冗余包括空间冗余、时间冗余、信息熵冗余、结构冗余、知识冗余、视觉冗余、图像区域的相同性兀余等多种图像冗余。这些冗余大部分来自图像数据自身,部分来自外界环境和主观因素。对于这些冗余,根据它对图像生成的影响程度来分,信息熵冗余和图像区域的相同性冗余是造成图像信息量大于其要表达的信息量的主要原因。图像压缩编码是在对数字图像进行大量统计分析,掌握和了解图像信息的统计特性的基础上,充分利用图像本身的相关性强的特点,寻求消除或减少相关性或改变图像信源概率分布不均匀性的方法,实现数据的压缩。信息论发展中期,削斯特(Kerstern)通过实验方法7,来估计自然图像的熵和冗余。他使用了8幅不同的图像,L每幅图像都是128x128个象素,每个象素为4bit(即16级灰度)。通过不断添加图像的重要信息部分,记录图像的失真程度,得出9: (1-2)这里熵的概念是指信息量的概率平均值。即随机变量I(a)的数学期望值,也叫做信息熵,其含义可以用下面这个公式来定义9: (1-3)图像编码研究属于信息论中信源编码范畴,其主要宗旨是利用图像信号的统计特性及人类视觉的生理学及心理学特性对图像信号进行高效编码,并研究数据压缩技术,以解决数据量大的问题。一般来说,图像压缩编码的目的5为:1.减少数据存储量。2.降低数据率以减少传输宽带。3.压缩信息量,便于特征抽取,为识别做准备。信息论对图像压缩编码是否存在科学依据做了详细、有利的证明,大量压缩算法从产生逐渐成熟。1.2 静态图象压缩编码技术 图像压缩编码技术可以追溯到1948年提出的电视信号数字化,到今天己经有50年的历史了。Kont提出了第一代数据压缩编码的概念。他把20世纪40年代中研究的以去除冗余为基础的编码方法称为第一代编码。如PCM、DPCM、亚取样编码法、变换编码中的DFT、DCT、walsh一Hadamard变换等方法以及以此为基础的混合编码法属少经典的第一代编码方法。直至五十年代和六十年代的图像压缩技术由于受到电路技术等的制约,仅仅停留在预测编码、亚采样以及内插复原等技术的研究,还很不成熟。A.H.ffman于1952年第一次发表了他的论文“最小冗余度代码的构造方法”。从此,数据压缩开始在商业程序中实现并被应用在许多技术领域1。第二代数据压缩编码从20世纪90年代开始,数学家们因为不满足于Huffman编码中的某些致命弱点,设计出另一种更为精确,更能接近信息论中“熵”极限的编码方法一算术编码。在算术编码的基础上又发展了变换编码中如金字塔编码法、Fractal编码、模型基编码。其中最具有代表性的是LZ77和LZ78,将基于这一思路的编码方法称作“字典”式编码。辛典式编码不但在压缩效果上大大超过了Huffman,而且,好实现,其压缩和解压缩的速度也异常惊人。1984年,LZ78算法的一个变种:LZW产生。LZW继承了LZ77和LZ78压缩效果好、速度快的优点,而且在算法描述上更容易被人们接受。70年代末80年代初,人们逐渐意识对于多数灰度或是彩色图像乃至声音文件,没有必要忠实地保留其所有信息,在允许一定的精度损失的情况下,可以实现更为有效的压缩方法。到80年代末,许多人已经在这一领域取得了不小的收获,设计出了一批在压缩效果上让人惊讶不已的声音和图像压缩算法1。第三代数据压缩编码技术主要从90年代至今,图像压缩技术的主要成果体现在小波编码、分形编码等,矢量量化编码技术也有较大发展。由于小波变换理论,分形理论,人工神经网络理论,视觉仿真理论的建立,人们开始突破传统的信源编码理论,例如不再假设图像是平稳的随机场。有关于图像编码技术的科技成果和科技论文与日俱增,图像编码技术开始走向繁荣。现代编码技术的特点是:充分考虑人的视觉特性,在恰当地考虑对图像信号的分解与表达时,采用图像的合成与识别方-案压缩数据。图像压缩编码向着更高的压缩比和更好的压缩质量的道路前进,进入了一个崭新的、欣欣向荣的大发展时期2,3。压缩编码的方法主要分成以下4大类:1.像素编码;2.预测编码;3.变换编码;4.其它方法。在数据压缩编码技术的发展过程中,获得最大成功的,并被广泛应用在各个领域的就是压缩技术第二代中的JPEG压缩算法1。JPEG(Joint Photographic Experts group)是1952年150(国际质量认证组织)和国际通信联盟联合组成的。JPEG组织提出和制定的一种压缩标准,主要适用于静态图像信号的压缩和编码。JPEG标准结合采用了预测、不定长等多种压缩编码方法,压缩比可以达到10:1100:1,而且压缩比可以在一定范围内由用户进行选择。当压缩比小于40:1时,可以被认为压缩结果是无失真的。但是采用JPEG标准制定的压缩算法的计算量比较大,如对一幅较高精度的真彩色图像使用JPEG压缩时,大约要进行上亿次运算操作,这对实现JPEG压缩、编码的软件、硬件设备产品提出了较高的要求。早期的JPEG压缩多数做成专用的压缩卡,以专用的高速CPU芯片实现压缩处理,现在通用的计算机CPU速度不断提高的情况下,JPEG压缩也可以用软件来实现。为了解决JPEG中存在计算复杂,块效应的问题,近些年来出现了很多新的压缩编码方法,如使用人工神经元网络(Artificial Neural Network,ANN)的压缩编码算法;分形(Fractl);小波(Wavelet);基于对象(Object一Based)的压缩编码算法;基于模型(Model一Based)的压缩编码算法(应用在MPEG4及未来的视频压缩编码标准中)。1.3 研究静态图象编码技术的意义近年来越来越多的研究人员开始注重图像压缩技术,其主要原因就在于图像文件不仅占据内存空间,而且也占据大量的传输带宽,这使得许多信息行业必须通过使用图像压缩系统,才能解决因为图像数据量大而带来的存储和传输问题。利用压缩我们可以解决许多原先不能解决的问题。随着数字化媒体技术的发展,产生了许多新的技术,例如远程诊断和图像建档及通信系统。在这些应用中,数字医学图像的传输和存储,给图像压缩技术提出了新的要求。医学图像的数据量往往大过普通图像的好多倍,在有效地利用通信带宽或节约存储空间的意义上,有损压缩是更期望被采用的;另一方面,对医学图像的任何处理,都潜在地会给诊断结果带来影响,如何决定哪些信息可以被压缩,哪些信息不可以被压缩?基于感兴趣区域的图像压缩,能够在编码过程,结合观察者的主观判断,是走出这一困境的有希望的途径。有了图像压缩技术,我们就可提出一种对医学图像的感兴趣区域进行交互式传输编码的方案。首先,对图像进行最基本的压缩。然后,根据图像接收者要求的感兴趣区域,以及这些区域解码恢复后要达到的视觉质量,对感兴趣区域进行特定压缩率的编码。在将来的改进过程中,我们还可以做到远端不必等待所有的数据都传到,即可从传输的信息数据流中解压出逐步清晰的图像;用户在观察中可以多次指定新的感兴趣区域,编码过程在已经发送的数据基础上继续编码,而不需要重新开始。我们已经看出图像数据的压缩不仅仅可以用一些简单的数字可以说明其必要性,同时也说明了它的必然。图像压缩是一个很有发展前途的研究领域,这一领域的突破对于通信和多媒体事业的发展将具有深远的影响。国际上静态图像压缩技术已经趋向成熟化发展,但就国内的情况而言,静态图像压缩技术的应用还是很不普遍,人们理论研究,诸如探索图像压缩编码等,而对于将成熟技术转化为实际应用方面做的还不够。目前国内图像压缩主要应用在图像传输,特别是在卫星向地面传输图像。图像压缩分无损及有损压缩两类,无损压缩由于其压缩比有一定的极限,所以目前己经不是研究的热点,大家的研究主要集中在有损压缩上。所谓的有损压缩就是压缩后图像的某些信息会丢失2,3。由于各类专业图像所关心的信息不同,其压缩方法也不相同,针对各种类型图像开发专用的压缩算法是当前研究的热点。当对其有损压缩(大压缩比)后发到地面后,有些细节就丢失了,而这些细节往往正是我们关心的,因此在对这类图像压缩时,必须采用特殊的算法以保证在压缩后能保留这些细节。另外,对于指纹这样的特殊图像如何在压缩后保存其完整特征也是一个重要的研究方向。因此,在图像压缩方面投入一定的资金和人力,进行深入的研究,将有助于提高我国在高科技领域方面的国际竞争力5。1.4 本文结构本文基于DCT算法,对JPEG进行了比较详细的介绍,并对算法进行了改进。同时图象经过JPEG压缩之后,会产生一定的块效应,当压缩比很大的时候这种效应由为突出。本文后半部分着重对块效应的处理进行了研究,利用一种均值算法有效的去除了压缩后所产生的块效应,并与其他的去除块效应算法进行了比较,得到了较好的效果。本文写作结构为:第一章 绪论:介绍国内外发展现状,研究图象技术的意义。第二章 主要阐述基于DCT变化的JPEG系统:DCT变换原理,量化与反量化,熵编码及解码,JPEG算法的实现和CXIMAGE函数库。第三章 研究了JPEG算法的缺陷,主要是块效应的产生原理,近年来国际上解决块效应的各种算法,及本文解决块效应的算法的思路和具体实现。第四章 对实验结果的检验,在不同压缩比的情况下,算法的效果及与几种主流算法的比较。第2章 JPEG标准JPEG标准是静态图像的压缩编码和译码标准。它是第一个压缩静态数字图像的国际标准,既可以用于灰度图像,又可以用于彩色图像。为了适应各种应用的不同要求,它支持两种图像的建立模式:顺序型、渐进型。同时它包括有两种基本的压缩算法。一种算法是基于DCT(离散余弦变换)的有损压缩算法,另一种是基于预测方法的无损压缩算法。综合以上JPEG标准的图像建立模式和基本压缩算法,JPEG总共有四个工作模式1:顺序型编码工作模式:图像的所有8x8像素的图像子块从左到右、从上到下依次输入。图像子块经离散余弦变换(DCT)后形成8x8DCT系数阵列,每一个系数阵列被量化后立即进行熵编码并作为压缩图像数据的一部分输出,从而尽可能地降低了对系数存储的要求。渐进型编码工作模式:所有8x8图像子块仍然按照上述顺序编码,但对图像需要进行多次扫描。这通过在量化和熵编码之间加一个与图像一样大小的系数缓存来实现。当一个8x8DCT系数阵列被量化后,它的系数存入该缓存。所有系数阵列均完成量化并存入缓存后分几次扫描来编码,每次只有部分被编码。因此解码时输出的图像也是分几次完成的。缓存中的量化后的DCT系数被分批扫描处理的方式有两种:一种是频谱选择法;另一种是逐次逼近法。在频谱选择法中,每次扫描Z形序列中的指定段并进行编码,每一段位于8x8DCT系数阵列频谱的高频或低部分。在逐次逼近法中,每一次扫描的系数的各个位不全部参与编码,而是从高到低按指定的位数逐次编码。两种过程可以单独使用,也可以是灵活地组成使用。无失真编码工作模式:被编码的图像可以保证恢复到与源图像数据完全一致。分层编码工作模式:一幅图像被编码成一些帧的序列。这些帧给出参考重建分用作后续帧的预测。对于给定分量,除了第一帧外,差分帧是对源分量和参考重建分量的差值编码的结果。差值的编码可以使用基于DCT的处理,或使用无失真处理,或使用基于DCT的对每一分量进行无失真处理。可见JPEG提供了多种工具,以应付各种应用场合,这样的通用系统成本较高。为此,将JPEG系统分成基本系统和扩展系统:基本系统由DCT的顺序型工作模式及Huffman编码组成,所有符合JPEG标准的设备必须具备基本系统:扩展系统提供不同的选项,即除基本系统外的其他编码方式,如渐进型编码、算术编码、无失真编码、分层编码等等。2.1 JPEG基本系统 原始图映射变换F(m,n)量化器熵编码器信道熵解码器反量化器反映射复原后F(m,n)图2-1基于DCT的编解码示意图上图是JPEG建议的基本系统框架图。首先将要压缩的图像分割成一定的8x8像素的图像子块,再用前向余弦变换(FDCT)将个子块变为8x8的DCT系数阵列;然后用一个8x8的量化值阵列对这些系数进行量化;最后用熵编码器将量化后的系数编码成一串比特数据流。经过传输或存储,比特数据流经过熵解码器进行解码,重新生成一组量化了的DCT系数,使用与编码时相同的量化值阵列对这些量化了的系数进行反量化,最后利用反向余弦变换(IDCT)将此8x8DCT系数阵列变换成空间域的8x8图像子块。一般来说输入图像和输出图像之间存在有误差,这个误差是由量化、反量化过程引起的,熵编码、解码过程没有信息损失。以上介绍的是JPEG的基本系统。由于JPEG用途广泛,因此,需要在基本系统之上扩充一些其他的编码方法,提高编码效率,满足不同的应用需求。限于篇幅,这里将不再做详细介绍。2.2 JPEG基本系统的实现2.2.1 前向余弦变换(FDCT)和反向余弦变换(IDCT)JPEG采用8x8子块的二维离散余弦变换算法。在编码器的输入端,把原始图像(对彩色图像是每个颜色成分)顺序地分割成一系列8x8的子块。在8x8图像块中,像素值一般变化较平缓,因此具有较低的空间频率。实施三维8x8离散余弦变换可以将图像块的能量集中在极少数系数上,其它系数的值与这些系数相比,绝对值要小得多。对于高度相关的图像数据进行这样变换的效果使能量高度集中,便于后续的压缩处理。通过离散余弦变换(DCT)去除数据冗余。一维离散余弦变换(FDCT和IDCT):设x(m)是M个有限值的一维实数序列集合,m=0,1,2,.M-1,余弦变化的完备正交函数系是: (2-1)对这些函数在(0,T)内取M个样值,即得离散余弦变: (2-2)离散余弦变换(DCT)形式为: (2-3)其矢量形式为: (2-4)其中 (2-5)以求和形式表示的一维DCT为: (2-6) (2-7)DCT的反变换IDCT的形式为: (2-8)二维离散余弦变换(FDCT和IDCT):二维DCT主要用于图像数据的压缩编码。设图像数据是一个mxn的矩阵,每个数据用x(m,n)表示。为了减弱或去除图像数据的相关性,用二维DCT将图像从空间域,即mn平面,转换为DCT变换域,即KL平面。同一维DCT一样,二维mxn阶DCT的分量表示形式也可写成求和形式,即:, (2-9) (2-10) (2-11) (2-12) (2-13); (2-14) (2-15)所以可将二维DCT变换公式改为: (2-16)则 (2-17)这样二维DCT实际上己分解成双重一维DCT:先解x(m,l),得到一个中间结果,再以中间结果为变量,进行第二次一维DCT,最终得到变换结果为y(k,l)。通过以上论证可以将y(k,l)简化为: (2-18)其中 (2-19)而 (2-20)原始图像通过硬件采样后,成为要处理的离散采样值。首先通过离散余弦变换,将采样数据从空域变成变换域:即频域范围。通过DCT变换,原始图像中较为平坦的成分对应于频域中的低频部分,而原始图像中细节部分主要集中在高频区域。正是由于这一特性,使得我们能够针一对图像中的不同成分采用不同的处理方法。对于图像中比较重要的低频成分,采用较小的量化间隔,分配其较多的比特,以精确保持其信息:而对于人眼不太敏感的高频成分,可以采用较大的量化间隔,以获得更大的间隔,以获得更大的压缩比,由此达到压缩图像的目的。基于这种思想,将正向离散余弦变换输出的频率图像送入量化器。将变换用于图像的目的在于:减少图像相关性:理想的变换将完全消除图像块中数据的相关,即把大部分能量压缩进最少的系统中去。基本函数与图像相关:由于图像间的统计特征变换大,最佳的变换通常依赖于图像图像本身。但是,寻求这种与图像无关的基本变换函数是件很费计算时间的任务。如果图像块不是静态的,就必须使用多组基本函数,以便高度地减少相关性。这样一种处理不仅特别费时,而且需要用附加信息把基本函数信号送到解码端,从而也就降低了压缩率。所以,一般期望用图像无关的基本函数变换数替换,形成优性能变换。基于以上变换图像特性,我采用JPEG中对所有的图像使用的同一个与图像无关的变换基本函数,即离散余弦变换函数,只在做计算的过程中做改进。2.2.2 量化与反量化在JPEG中将浮点型数表示的变换结果用标量量化后的整型数表示,随之而引起的误差在经过反向离散余弦变换而传递到图像,由于人眼对对这个误差几乎是察觉不到的,所以量化的过程是可行的。同时,为了达到更高的压缩比,又尽可能地保持原来图像的质量,JPEG通过多次实验,结合人眼的视觉特性,有针对性地设计相应的量化表。这种针对性是指对在图像中占有较大能量的低频成分,赋予较小的量化间隔和较多的比特以较为精确地表示原来的系数值,这样以达到尽量保持原始图像的视觉效果的前提下,获得较高的压缩比。为了达到压缩数据的目的,对DCT系数需作量化处理。量化的作用是在保持一定质量前提下,丢弃图像中对视觉效果影响不大的信息。量化是多对一映射,是造成DCT编码信息损失的根源。JPEG标准中采用线性均匀量化器,量化过程为对64个DCT系数除以量化步长并四舍五入取整,量化步长由量化表决定。量化表元素因DCT系数位置和彩色分量的不同而取不同值。量化表为8x8矩阵,与DCT变换系数一一对应。量化表一般由用户规定JPEG标准中给出了参考值,并作为编码器的一个输入。量化表中元素为1到255之间的任意整数,规定了其所对应DCT系数的量化步长。DCT变换系数除以量化表中对应位置的量化步长,并去掉小数部分,其他变为零,从而达到了压缩的目的。在JPEG量化过程中,量化表中的某个对应值用于相对应的系数值进行量化处理。量化过程就是简单地将变换系数除以量化阶后再取整。如果用C(k,1)表示量化后的系数,量化处理算法如下: (2-21)其中round()函数是取其最近整数(四舍五入)。反量化处理时反量化的DCT系数通过下式得到: (2-22)从灵活性的角度出发,JPEG从没有规定量化表,仅是推荐了亮度和灰度两个量化表根据具体要求可以构造专用的量化表,所推荐的量化表是针对灰度为8的图像源。使用该量化表,图像可达到失真不明显的主观质量。因此,只要线性地改变量化表中的量化阶就可控制重建图像质量以及相应的压缩比,在JPEG中通过调整一个公共因子来实现。表2-1 灰度量化表117182447999999991822269999999999242656999999999947669999999999999999999999999999999999999999999999999999999999999999999999999999量化后的DCT变换值,低能量区域被量化成零,而高能量区域即低频区则保留下来,这样只要将保留下的低频值进行编码,就可以在允许误差的条件下存储图像的重要信息以用来还原图像。由表可见,对不同的DCT系数采用粗细不同的量化,相应于人的主观视觉对高频失真不如对低频失真敏感的特性,随着空间频率的增加,量化步长也应该相应的增大,这样才能保证图像的一致性。表2-2 亮度量化表1611101624405161121214192658605514131625405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399图2-2 JPEG线形均匀量化器2.2.3 熵编码与解码DCT系数经过量化以后,直流分量DC和63个交流分量AC(163)分别进行熵编码。对量化后的AC系数,则按表2-3所示的Z字形(zigzag)顺序进行扫描。按照这种扫描顺序,低频系数在前,高频系数在后,由于在高频系数为零的几率较大,因此,这种排序对于提高后面的熵编码的压缩效率非常有利。直流分量的编码和解码对直流分量,并不直接进行编码,而是利用差分编码的方法,对本块和前一块的直流分量之差Diff=DC(I)-DC(I-1),(I为块号)编码。同时,由于亮度分量和灰度分量的统计特性不同,他们的Haffman编码也不相同,其码字结构为: (2-23)其中4bit二进制码“SSSS”用来将DC的差值幅度范围分为255。其后的附加位用以唯一的规定该类中一个具体的差值幅度。将附加位用Haffman码进行变长编码,其码表也由JPEG预先给出。其Haffman编码表如下:表2-3 直流分量Haffman表分类亮度DC系数差值色度DC系数差值码长码字码长码字020020013010201230112103310031104310141110531105111106411106111110751111071111110861111108111111109711111109111111110108111111101011111111101191111111101111111111110直流分量在解码时,只需要用在编码过程中相同的这张Huffman表解码就可以了,其过程比较简单,所以在这里不再详细论述。 交流分量的编码JPEG用Z形扫描的方法将二维DCT系数展开成一维,其码字结构为: (2-24)其中低4位“SSSS”同直流分量的含义一样表示尾数的位数,高4位“NNNN”给出了当前这个非零系数相对于前一个非零系数的位置JPEG对“NNNNSSSS”采用二维Haffman码编码,这有利于提高编码效率,同样这张二维码表也由JPEG预先给定。64个变换数经量化后,左上角系数是直流分量(DC系数),即空间域中64个图像采样值的均值。相邻8x8块之间的DC系数一般有很强的相关性,JPEG标准对DC系数采用DPCM编码(差分编码)方法,即对相邻像素块之间的L系数的差值进行编码。其余63个交流分量(AC系数)使用游程编码,从左上角开始沿对角线方向,以Z字形(zigzag)进行扫描直至结束。量化后的AC系数通常会有许多零值,以Z字形路径进行游程编码有效地增加了连续出现的零值个数。为了进一步压缩数据,对DC码和AC行程编码的码字再作基于统计特性的熵编码。JPEG标准建议使用的熵编码方法有Huffman编码和自适应二进制算术编码。表2-4 各系数在zigzag序列中的序号0156141527282471316262942381217253041439111824314044531019233239455254202233384651556021343747505659613536484957586263以上过程主要是基于数据的自身特点及其统计特性,整个过程以达到最大压缩里比为目的,其中又考虑到图像数据的统计特性。以上过程已经有相应的软件证明这个压缩编码系统的可行性,同时根据Shannon(香农)无噪声编码定理,定义如果对熵为某个特定值的信号源做无失真编码,计算所得的平均码长为一个围绕熵值向上波动的某个比特值,因此可能达到的最大压缩比为: (2-25)通过分析JPEG压缩的过程,认识到JPEG的目的是为了给出一个适用于连续色调图像的压缩方法,使之满足以下三个要求12:第一,达到或接近当前压缩比与图像保真度的技术水平,能覆盖一个较宽的图像质量等级范围,能达到“很好”到“极好”的评估,于原始图像相比,人的视觉难以区分。第二,能适用于任何种类的连续色调的图像,且长宽比都不受限制,同时也不受限于景物内容、图像复杂度。第三,计算机复杂性是可控制的,其软件可在各种CPU上完成,算法也可用硬件实现。通过实验可以验证使用JPEG压缩系统可以将压缩比达到100:1,这样的压缩比可以说是基本上可以解决我们在前而所论述过的由于图像数据量大而产生的多种问题。经过以上三个过程,原始图像得到很大程度的压缩。压缩以后的数据,对于图像数据的存储来说,节省了存储空问,使得原有的存储设备,能够用来存储更多的信息。而对图像的传输而言,则减少了传输率,节省了传输时间,解决了数据量大和带宽有限的问题。由于JPEG压缩算法是个对称算法,以上在JPEG的编码过程中己经详细说明了JPEG的编码过程并说明了解码过程的各个算法,所以这里只对JPEG的解码过程做简单说明。首先,待解码的数据送入熵解码器,如果熵编码时采用的是Haffman编码方法,则解码需要根据相应的码表对输入数据进行解码,这种熵编码的解码过程是无失真的过程,所以解码器的输出能够完全恢复编码前的数据。由熵解码器输出的数据送入反量化器中,在反量化器中,图像模块的每一个系数与相应的量化阶相乘,以恢复量化前的系数值。由于在量化过程中采用了四舍五入的方法,且根据码表设计原则对各个系数采用不同的量化间隔,所以在反量化过程中必然存在失真。因而不可能精确地恢复量化前的系数值,相应的恢复出的最终图像也会因此而引入失真。正是由于这个过程,使得JPEG算法具有对图像有较大的压缩比。量化器的设计是整个压缩算法的关键环节,在JPEG算法中,量化器给出了缺省的数值,这在前一节中已经做了详细的介绍。解码的最后一个过程就是反向离散余弦变换,即IDCT过程。由反量化器输出的数据通过在编码过程中算出的离散余弦变换表做反向的离散余弦变换,就得到了最终恢复的图像数据。2.3 CXIMAGE函数库CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。而且CxImage类库是完全免费的,更宝贵的就是作者完全公开了源代码。CxImage 是一个C+类,可以加载、保存、显示,转换BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K 等格式图像9。本次设计只用到了关于JPEG的部分,因为该函数库是开放函数库,故在此不多做介绍。 图2-3 生成demo效果图2.4 本章小结本章系统的阐述了基于DCT的JPEG系统的组成及实现的方法:经过DCT变换,量化,熵编码后图象被压缩,再经熵解码,反量化,IDCT最后还原出原图象。最后对于JPEG存在的问题,本文阐述比较明确,为下一步解决这些问题提供了可靠的理论依据,也为找到解决办法提供了方向。第3章 JPEG图象块效应去除3.1 图象块效应的产生3.1.1 JPEG系统存在的问题JPEG算法主要存在两个问题:块效应和运算复杂、速度慢。这些问题在压缩比很高的情况下表现得很明显,严重影响重建图像质量。JPEG中为了对数据进行最大限度的压缩,需要将量化后的数据重新按“之”字形排列成一维数组,以计算各个连续零的长度。并分开处理直流分量和交流分量,前者采用DPCM,后者采用行程编码去除冗余。然后将处理后的数据进行熵编码,以上压缩过程存在有很大的复杂性,同时因为JPEG算法的对称性,这就意味着编码器中实现的复杂性同样存在于译码器中。可以看出JPEG算法的实现具有很大的复杂度13。再从计算复杂度的角度来看,在进行DCT和IDCT变换的时候,由于对每个系数都要进行64x8x8x3次乘法和64x8x8次加法。在熵编码中如果采用Huffman编码,将要收集图像数据的统计特性以及构建Huffman树,同时设计快速的查找算法,这些都增加了计算机的处理复杂度,影响了图像压缩的速度。在多种文献中介绍了解决这些问题的多种方法,可大致归纳如下11:DCT变换算法,如自适应改变块的大小,采用变种DCT,但是有些方法会导致与JPEG标准不兼容。采用滤波来处理平滑块边界,同时因采用低通滤波器,往往是牺牲某些高频信息为代价。利用HVS(Human Visual System)的研究成果设计量化算法,以尽量消除人眼能感觉到的图像质量的下降。3.1.2 块效应产生原理块离散余弦变换在低比特率时其恢复图像的块边界上会出现明显可见的方块效应,从而降低了图像的视觉质量。JPEG压缩算法中,首先将采样数据分成8x8不交迭子块单独进行DCT,但是在量化和编码过程中则是针对单个数据进行处理,缺少对块内元素的相关性的考虑。为了获得高压缩比而对变换系数进行粗糙量化时,相邻块的边界就会不连续,即出现“块效应”,块效应主要出现在图像的平坦区,如果量化阶很大,压缩比提高了,但是精度却减少,以至块效应更明显。变换系数进行粗糙量化时,相邻块的边界就会不连续,即出现“块效应”,块效应主要出现在图像的平坦区,如果量化阶很大,压缩比提高了,但是精度却减少,以至块效应更明显。 图3-1 典型高压缩比后的块效应图3.2 消除块效应算法对于图象的块效应,近来涌现出多种消除算法,例如一些被大家所熟知的算法:ZENG提出的利用阶梯函数来表示块效应,对一些图像块的DCT系数应用零掩盖技术进行去除方块效应。这种方法简单,但是会导致高频信息丢失严重,且会产生新的方块效应。LIU提出一种在DCT域块效应盲测量方法,把图像块边界分成3类,对每类边界分别应用不同的DCT域滤波方法去除块效应,但是这种算法处理后图像主观质量不是太好Luo应用相邻块之间DCT系数的相关性提出一种在平滑区采用二维DCT系数加权滤波,边缘区用Sigma空问滤波器的快速去块效应算法非常简单,但是该算法没有对是否存在块效应进行判断同时在H.264标准中还用到了环路滤波器,它是放在IDCT块之后对图象进行处理1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CNSS 014-2022产褥期妇女膳食指导
- 2025下半年云南省数据局所属事业单位公开招聘人员(4人)考试参考试题及答案解析
- 2025广西防城港市防城区第七小学秋季学期招聘顶岗教师备考考试题库附答案解析
- 2025广西玉林市气象局公开招聘编外业务人员3人备考考试题库附答案解析
- 掌握新媒体创新法
- 2025安徽马鞍山市和县信访局所属事业单位面向全县选调2人备考考试题库附答案解析
- 新媒体环境下新闻出版业的读者参与与互动策略-洞察及研究
- 肾上腺肿瘤的内分泌活性监测-洞察及研究
- 邛崃投资咨询方案公示
- 应急响应与供应链韧性-洞察及研究
- 跨境人民币合同协议
- 工厂品质协议书范本
- 邮政社招笔试试题及答案
- 出科考核规范
- 肩周炎的影像诊断
- 无伞空投技术研究进展及国外准备阶段分析
- 销售团队激励方案
- 日结工资合同(2025年版)
- 2025年配电专业运检题库
- 新增年产3.5万吨油液产品(润滑油、特种油、金属加工液、防冻液)项目环评资料环境影响
- 2025会计合同范本
评论
0/150
提交评论