毕业论文图像压缩算法在视频测井系统中的应用研究.doc
毕业设计(论文)任务书题 目图像压缩算法在视频测井系统中的应用研究学生姓名王大虎学号200705010314专业班级测控0703设计(论文)内容及基本要求视频测井系统则是采用视频的手段获取井下的信息,为了减少实时传输的图像信息量,需要对图像进行压缩。本毕业设计要求以现有的视频测井系统所采集的图像为例,采用常用的图像压缩算法对图像进行压缩,基本的设计内容和要求如下:(1)熟悉一种图像处理软件和图像压缩算法;(2)撰写合理通顺的开题报告一份;(3)翻译1.5万字符的英文资料;(4)设计人机界面,当打开原始图像后,能按照算法对图像进行压缩;(5)撰写符合规范要求的毕业论文。设计(论文)起止时间2011年 02 月 21 日至 2011 年 06 月 10 日设计(论文)地点测控技术与仪器实验室指导教师签名年 月 日系(教研室)主任签名年 月 日学生签名年 月 日图像压缩算法在视频测井系统中的应用研究摘 要:在视频测井系统中,测每一口井都要寻取成百上千的图片,这些图像数据要保存几年供单位索取转录。为了减少实时传输的图像信息量,需要对图像进行压缩,本文的主要工作是研究将基于JPEG图像压缩算法应用到视频测井系统中。文中主要分析了JPEG算法的基本原理和分类,重点介绍了JPEG压缩编码的具体过程和方法,详细介绍了编码中DCT变换、量化、熵编码和霍夫曼编码等模块的原理和数学推导以及各模块的功能分析,并利用DCT算法进行变换和压缩,达到了较高的压缩比,并采用Matlab软件对JPEG算法进行了仿真,将不同量化等级下得到的结果进行了比较分析。实验结果表明,基于JPEG的图像压缩法可以对视频测井系统中所获取的图像进行压缩,且不影响其视觉效果。关键词:JPEG;图像压缩;DCT Application Research of Video Logging System based on Image compression algorithmAbstract: In the video logging system, test every well should research hundreds of pictures, these image data to be saved a few years for unit to transcription. In order to reduce real-time transmission image information, its need to do image compression, this article mainly studies the work JPEG image compression algorithm and used it to video logging system. This paper mainly analyzes the basic principle of JPEG arithmetic and classification, mainly introduces the detailed process and the method of JPEG compression coding. Introduced DCT coding transformation, quantization,entropy coding , the principle of Huffman coding and other modules in de- tail, mathematical reasoning and the function of each module is analyzed, uses DCT algorithm to transform and compression ,achieve high compression ratio, and simulation of JPEG arithmetic is conducted by the software Matlab. Comparative analysis different quantization levels results. Experimental results show that the image compression method based on a JPEG can compress images of video logging system obtained, and do not affect its visual effect.Keywords:JPEG;Compression;DCT 目 录1 绪论11.1 选题背景11.2 国内外研究现状21.3 本课题的意义41.4 本设计的研究方法41.5 图像压缩的理论依据和具备的条件41.6本文的各章内容安排52 视频测井系统数字图像压缩原理62.1 JPEG算法综述62.1.1 无损压缩编码72.1.2 基于DCT变换有损JPEG编码72.1.3 压缩编码器的主要算法及编码方法82.2 视频测井系统中应用的 JPEG编码系统编码流程82.3 各模块分析92.3.1 DCT变换92.3.2 量化112.3.3 差值预测编码132.3.4熵编码和解码132.4 图像压缩效果和质量162.5 组成JPEG压缩后比特流格式162.6 JPEG2000压缩算法172.6.1 JPEG2000压缩原理182.6.2 视频测井系统中应用的 JPEG2000编码系统编码流程192.6.3 DCT电平位移202.6.4 分量变换202.6.5 小波变换202.6.6 量化212.6.7 熵编码212.7 JPEG和JPEG2000压缩算法的比较213 JPEG和JPEG2000图像压缩编码算法在视频测井系统中的的实现与应用233.1 用MATLAB实现视频测井图像的JPEG压缩233.2.1 MATLAB中图像处理的相关函数233.2.2 JPEG图像压缩法的设计243.2.3 JPEG2000图像压缩法的设计264结论29毕业设计小结30参考文献31致 谢32附录 A33附录 B35附录 C38附录 D411 绪论1.1 选题背景随着现代信息社会对通信业务要求的不断增长,图像通信与通信网容量的矛盾日益突出。特别是具有庞大数据量的数字图像通信,更难以传输与存储,极大地制约了图像通信的发展,已成为图像通信发展中的“瓶颈”问题。图像压缩编码的目的就是要以尽量少的比特数表征图像,同时保持复原图像的质量,使它符合特定应用场合的要求。视频测井系统则是采用视频的手段获取井下的信息,为了减少实时传输的图像信息量,需要对图像进行压缩。而图像压缩算法就是在一定的逼真度的要求下尽可能使用最少的代码比特数来表达图像,以压缩图像的储存量,扩大传输容量,提高传输速度,从图像处理的研究中可以看到图像的象点之间有很大的相关性,因此它有很大的冗余性可以进行压缩。为此进行图像的编码与压缩具有很大的潜力。数字图像压缩不但在传输上有其重要性,而且在图像数据的储存方面也越来越显出其重要性。尤其是在视频测井中,它获取的信息量非常大,测每一口井都要寻取成百上千的图片,每张图片为1024*1024个像素,每个像素6到8 bit,这些图像数据要保存几年供单位索取转录。如果能压缩一半,就可以少造一栋楼房,少用一半磁带,具有很大的经济价值。当然信息量尽可能少丢失。图像信息压缩的可能性存在于图像本身之中,其中,明显可以利用的一点是图像各像素点之间的相关性。由于图像总是对一些物体的再现,而物体上的各像素的灰度值之间有着极大的相关性。如果把这些像素之间的关系信息提取出来,以一定的方法加以清除,那就可以压缩总的信息量。从统计的观点来说各像素之间的灰度分布远非独立的,图像的这种压缩的潜力是很大的,当前所采用的各种压缩方法离压缩的极限还很远。挖掘这种潜力将会给图像的传输和储存带来极大的方便。而挖掘这种潜力最常用的方法是JPEG2000和JPEG,JPEG2000和JPEG相比优势明显,且向下兼容,因此可取代传统的JPEG格式因而可以被更广泛的应用于互联网、彩色拷贝、打印、扫描、数字摄影、遥感、医学图像、数字图书馆、数字存档以及移动图像通信等领域。1991年,国际标准化组织(ISO)和国际电信联盟(ITU)制定了第一套静态图像压缩标准JPEG(Joint Photographic Experts Group联合图像专家组)1。该标准是基于离散余弦变换(Discrete Cosine Transform,DCT)的方法,在中高码率(码率大于0.25比特/像素)对于连续色调的静态灰度或彩色图像取得了较好的压缩性能。在目前多媒体通信采用的技术中,JPEG标准以其显著的压缩效率和较低的图像质量损失而获得了广泛应用,成为国际通用的标准。JPEG使用有损压缩时,在压缩比25:1的情况下,压缩后得到的图像与原始图像相比较,非图像专家难以找出它们之间的差别。JPEG能够适用于任何种类的连续色调的图像,且长宽比不受限制,同时也不受限于景物内容,图像得复杂度和统计特性等。鉴于JPEG其优良的品质,在标准提出后短短的几年间就获得了巨大的成功,目前网站上百分之80%的图像都是采用JPEG的压缩标准。虽然最近更高压缩率以及更多新功能的新一代图像压缩技术JPEG2000己经诞生2。其目标是进一步改进目前压缩算法的性能,以适应低带宽,高噪声的环境,及医疗图像,电子图书馆,传真,Internet网上服务和保安等方面的应用。对于有较好的图像质量,较低的比特率或者是一些特殊功能的要求(比如渐进传输和感兴趣区域编码等)时,JPEG2000将是较好的选择。但是事实表明,随着JPEG系统产品的不断优化,在大多数场合下,JPEGyasuo就可以满足要求了。而且,JPEG 的低复杂度,低成本的优点也是别的标准所无法取代的。因此,JPEG2000不可能完全替代JPEG。在未来很长一段时间内,JPEG仍然将是主流的静止图像压缩标准。可以这样认为,没有编码压缩技术的发展,大容量图像信息的存储与传输是难以实现的,多媒体等新技术在实际中的应用也会碰到困难。因此,研究图像的编码压缩技术成为当前热门的课题之一。由于图像编码压缩技术存在着巨大的应用市场和经济利益,我们有必要掌握JPEG这种主流编码技术的核心算法,也是对后续的图像处理研究做一个基础工作。1.2 国内外研究现状 图像压缩的发展史1948年提出电视信号数字化后,图像压缩编码的研究工作就宣告开始了。在这项技术发展的早期,限于客观条件,仅对帧内预测法和亚取样内查复原法进行研究,对视觉特性也做了一些极为有限但可贵的研究工作。1966年J.B.O Neal对比分析了DPCM和PCM并提出了用于电视的实验数据。1969年进行了线性预测编码的实际实验。1969年举行首届图像编码会议。70年代开始进行了帧间预测编码的研究。80年代开始对运动估值和模型编码进行研究。进入90年代,ITU-T和ISO制定了一系列图像编码国际建议,如H.261、JPEG、MPEG-1、H.262、H.263、MPEG-4等。变换编码是1968年H.C.Andrews等人提出的,采用的是二维离散傅立叶变换,此后相继出现用其他变换方法的变换编码,其中包括二维离散余弦变换。虽然jpeg有很多优点,但是其他的数据格式也有他们各自的优点。比如说如果要打印图像,特别是打印高质量的图像,TIFF格式是更为合适的选择。JPEG压缩技术可以说是所有图像压缩技术的基础。如MJPEG(Motion JPEG)就是在JPEG基础发展起来的动态图像压缩技术,它只单独的对某一帧进行压缩,而基本不考虑视频流中不同帧之间的变化。使得可获取清晰度很高的视频图像,而且可灵活设置每路的视频清晰度和压缩帧数。其压缩后的画面还可任意剪接。但它的缺陷也非常明显,其一,丢帧现象严重、实时性差,在保证每路都必 须是高清晰的前提下,很难完成实时压缩;其二,压缩效率低,存储占用空间较大。后来又出现了多层式JPEG(ML-JPEG)压缩技术,它采取渐层式技术,先传输低解析的图档,然后再补送更细节的压缩资料,使画面品质改善。这种方式所需的时间虽然与原先的方式一样。但由于可以先看到画面,所以使用者会觉得这种方式较好。而在静止图像压缩中,还有其他不少的标准正在发展。如微软今年3月份透露,该公司不久将向国际标准组织提交一个新的图片格式,并表示其新格式可以提供更高的图像质量和更好的压缩能力,即HD Photo格式3。微软希望能用它的格式来取代现在通用的JPEG格式。微软称,HD Photo简洁的运算法则可以减少图像在压缩过程中受到的损失,即便图片大小仅有JPEG的一半,也将具有更高的质量。这种格式此外还能够同时支持“无损”和“有损”两种图片数据压缩方法,这两种方法可以对图像质量的产生不同的效果。微软称,HD Photo可以对色平衡和曝光设置进行调节,且不会像发生其它位图格式经常遇到的数据丢失或减少现象。无论HD是否可以取代JPEG,而JPEG在数字图像压缩发展中所做出的贡献是举足重轻的 经过几十年的发展,图像编码技术业已成熟,一些国际建议的制定极大地推动了图像编码技术的实现和产业化,从而推动图像编码技术以更快的速度发展,目前的研究方向有两个: 1.更好地实现现有的图像编码国际建议研制出集成度更高、性能更好的图像编码专用芯片,使编码系统成本更低、可靠性更高。解决好现有的图像编码系统开发中的技术问题。例如:提高图像质量、提高抗码能力等。 2.对图像编码理论和其他图像编码方法的研究目前已经提出和正在进行研究的图像编码方法有:多分辨率编码、基于表面描述的编码、模型编码、利用人工神经网络的编码、利用分形几何的编码、利用数学形态学的编码等等。目前静止图像的压缩算法以JPEG(Joint Photographic Experts Group)和JPEG2000为主。JPEG是第一个被广泛接受的单色和彩色静止图像压缩标准,它的名字源于“Joint Photographic Experts Group(联合图像专家组)”,它是由ISO/和CCITT协同工作的机构,这个机构的工作成果是ISO的国际标准ISO/IEC10918-1(连续色调静止图像的数字压缩和编码,digital compression and coding of continuous tone still images)和ITU-T的建议T.81。JPEG标准草案于1991年公布,1992年正式批准为国际标准,以后这个工作组的进一步增强和扩展形成了ISO 10918-3和ITU-T建议T.81。JPEG的核心算法是DCT变换编码,其压缩性能基本反映了20世纪80年代末图像压缩的技术水平。但自从JPEG制定后的近10年,许多更有效的图像压缩技术已经得到发展,如小波变换方法、分形方法、区域划分方法等。其中,发展最成熟和性能及通用性最好的静止图像压缩方法是小波变换方法4。正因如此,制定了第二代静止图像压缩标准,即JPEG2000,它的核心技术正是小波变换编码。其核心编解码器采用小波变换、算术编码及嵌入式分层组织,较以往的静止图像压缩标准复杂,它在同一个码流中实现了无损和有损压缩、分辨率和信噪比的累进性以及随机访问等优良特性。JPEG2000作为JPEG的升级版,其压缩率比JPEG高约30左右,同时支持有损和无损压缩。JPEG2000格式有一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示。此外,JPEG2000还支持所谓的“感兴趣区域”特性,可以任意指定影像上感兴趣区域的压缩质量,还可以选择指定的部分先解压缩。1.3 本课题的意义在视频测井系统中获取的图像数据的特点之一就是信息量较大。计算机图像处理中的数字图像其灰度多数用8bit来量化并用普通PCM编码,而在视频测井系统中获取的图像和其他科研应用的图像的灰度量化可用到12bit以上,因而所需要的数据量太大。以1024*1024的图像为例,用8bit量化的图像需要1MB以上的存储空间。这对图像的存储、处理、传送带来很大的困难。若使量化比特减少,又必然带来图像量化噪声增大的缺点,且丢失灰度细节的信息。而且处理图像的庞大数据量必然对计算机的处理速度、存储容量都有很高的要求,因此压缩图像是图像处理的一项重要内容。若从图像传送的角度来看则更要求数据量压缩。首先,某些视频测井系统中的图像采集具有时间性,例如在视频测井系统中获取的图像传回地面有一定限制时间,测井仪经过某地层就无法再得到其数据,否则就要增加测井的次数,图像存储体的存储时间也有限制,它取决于存储器件的最短存储时间,若单位时间内大量图像数据则来不及存储,就会丢失信息。视频的传送能体现数据压缩的重要性,我国的PAL制彩色电视传送用3倍副载波取样。若用8bit量化约需要100MB,若数字话路为64kbit,传送彩色电视需要1600个数字话路,即使黑白电视用数字微波接力通信也占用近900个话路,这些数据明显说明传送数字图像若能压缩数据则可节约通信话路。图像数据压缩实时传输是必须解决的技术关键,而在视频测井系统中获取的图像数据的特点之一就是信息量较大,因此在视频测井系统中图像数据压缩实时传输更是必须解决的技术关键。1.4 本设计的研究方法本设计是在matlab软件上,利用matlab软件的图像处理工具和数字图像压缩的知识相结合,实现对视频测井图片的压缩。1.5 图像压缩的理论依据和具备的条件视频测井系统中图像压缩的出发点就是其图像信息存在着很大的冗余度,数据之间存在着相关性,如相邻像素之间色彩的相关性等。常见的冗余信息主要有以下几种形式:(1)空间冗余:空间冗余是指图像中相邻像素、相邻行之间存在较强的空间域的相关性(帧内相关性)。通常在一幅图像中总有大小不等的均匀着色区域,除边界点以外,相邻像素点间的灰度差异不大,而且变化有规律可循。(2)时间冗余:时间冗余是指视频序列中相邻帧图像之间存在较强时间域的相关特性。因为视频图像每秒25帧,相邻图像时间间隔很小,加之图像背景多为静止的,所以相邻图像之间差别极小。(3)结构冗余:在有些图像的部分区域内存在着非常强的纹理结构,或是图像的各个部分之间存在某种关系,如自相似性等,称为结构冗余。(4)知识冗余:在某些图像中包含的信息与某些先验知识有关,如特定的背景环境、所压缩图像的结构等信息是事先已知的,故称之为知识冗余。(5)信息熵冗余(编码冗余):通常,图像各像素点灰度值并不是等概率分布的,即各灰度值数据的信息熵是不同的。由信息论有关原理可知,为表示图像数据的一个像素点,只要按其信息熵的大小分配相应的比特数即可。但是对于实际图像数据的每个像素,很难得到它的信息熵,所以在数字化一幅图像时,对每个像素都用相同的比特数表示,这样必然导致冗余存在。(6)视觉冗余:人类的视觉系统对图像的处理是非均匀和非线性的,人眼对一般像中的许多信息并不敏感,特别是人类的视觉系统并不是对图像中的任何变化都能感知,这些人眼不敏感的和不能感知的信息就是视觉冗余信息。因此,在处理图像时我们就可以去掉或减弱这些视觉冗余信息,从而达到压缩的目的。图像压缩编码的可能性就在于图像信息的基本特性、图像信息理论(信源)和人眼视觉特性(信宿)。图像压缩的目的就是要除去这些冗余信息,在有些场合,一定限度的失真是允许的,因此可以对图像信源作一定程度有时甚至是很大程度的压缩。1.6本文的各章内容安排第1章阈述了本课题的选题背景、国内外研究状况和相关领域中已有的研究成果、本课题的意义、研究方法、理论依据和具备的条件、本毕业设计(论文)构成及主要研究内容等。第2章对JPEG和JPEG2000压缩算法的原理及相关技术进行分析,重点分析了各类编码的数学原理,并通过实验仿真对比了JPEG和JPEG2000两种编码方法。第3章主要是对JPEG和JPEG2000图像压缩算法的程序设计和实现。第4章对全文的工作做了总结。2 视频测井系统数字图像压缩原理2.1 JPEG算法综述JPEG是以实现图像数据库、彩色传真、印刷等方面的彩色静止图像编码的标准方式为目标而制定的,JPEG标准是一个适用范围广泛的通用标准。该压缩标准适用于彩色和单色、多灰度连续色调的静态图像的数字图像压缩和编码,和相同图像质量的其它常用文件格式(如GIF,TIFF,PCX)相比,JPEG是目前静态图像压缩算方法中中压缩比最高的。例图采用Windows95目录下的Clouds.bmp,原图大小为640*480,256色。用工具ACDSee将其分别转成24位色BMP,24位色JPEG,GIF(只能转成256色)压缩格式,24位色TIFF压缩格式,24位色TGA压缩格式,得到的文件大小(以字节为单位)分别为:921.654;17.707;177.153;923.044;768.137。可见JPEG比其它几种压缩比要高得多,而图像质量都差不多(JPEG处理的颜色只有真彩和灰度图)。正是由于其高压缩比,使得JPEG被广泛地应用于多媒体和网络程序中,例如HTML语法中选用的图像格式之一就是JPEG(另一种是GIF),因为网络的带宽是非常宝贵的,选用一种高压缩比的文件格式是必要的。JPEG是假想为适用范围非常广泛,通用性很强的技术,所以把算法的功能分为四种运行方式5,用户只要从中选择需要的功能即可。这四种运行方式是:(1)基本DCT顺序:由8*8像素组成的像块,按照从左到右、从上到下对图像进行扫描和编码,顺序运行需要的缓冲条件最小,因而实现的费用最低。(2)基于DCT的扩展:处理的顺序及编码处理的基本构成是与基本DCT顺序相同的,但有多次处理扫描。对图像按照由粗到细进行编码,图像重现时由粗糙到清晰。适用于传输时间长,低速率通讯频道上的人机交互。(3)无失真:不使用DCT变换,使用二维差分脉冲编码调制技术,对接近像素间的差别进行编码,可处理较大范围的输入像素精度,可以保证重建图像与原始图像完全相同,没有失真。(4)分层:以多种分辨率对图像进行编码,按照不同的要求,可以获得不同分辨率和质量的图像。JPEG定义了两种基本的算法6:一种是基于DCT的有失真的压缩算法,包括基本(Baseline)系统(顺序方式)和扩展系统(递增模式、分层编码);另一种是基于DPCM的无失真压缩算法,又称Spatial方式。DCT型算法可以实现较高的压缩,但较为复杂;空间预测算法可实现低到中等程度的压缩。选择使用哪种过程取决于特定的应用要求和价格性能考虑。在JPEG标准(ISO-10918)中包括三个部分:编码器、译码器和交换格式。编码器是将输入图像信源变成图像压缩数据,译码器是将图像压缩数据还原成重建图像。图像压缩数据组成一定的比特流(Bitstream)格式,格式中包括编码过程中采用的码表等。这四种运行模式中,最常用的是基本系统,即基本DCT顺序型方式。以下针对这种格式进行讨论和研究的。首先介绍Spatial方式无失真JPEG压缩编码算法。2.1.1 无损压缩编码图2-1是无失真编码的原理图,由无失真编码器实现数据压缩,它由预测器和熵编码器组成。预测器采用的是基于DPCM预测编码7方法,像素点Y的预测值Y,由之前的像素点的值通过确定的算法得出。熵编码器是对(Y-Y)的差进行无失真的熵编码,比如算术编码或哈夫曼编码。其压缩比可达2:1。这种方法由于压缩比并不是很高,所以应用的也不是十分广泛,只是作一下大概介绍,下面将详细介绍JPEG有失真的压缩过程。原始图像数据8*8数据块熵编码器压缩后的图像数据预测器熵编码表无损编码器图2-1 Spatial方式的JPEG编码器的构成2.1.2 基于DCT变换有损JPEG编码基于DCT的有失真编码处理过程如图2-2所示,JPEG基线系统是一种顺序DCT算法8,这类算法在量化过程中引入误差,压缩是失真的。利用人的视觉系统的生理特性,使用量化和无损压缩编码去掉视觉的冗余信息和数据本身的冗余信息。图2-2可以看出JPEG编码的处理过程,总的来说是这样的:对于一幅图像首先将其分成许多个8*8的小块,也就是每个小块有8*8=64个像素;分成多少个小块要看图像的分辨率,分辨率高,分的块就越多,分辨率小,分的块就越少。然后对每一个8*8的块进行二维DCT变换,经过DCT变换后就得到频域的64个离散余弦变换系数,然后要对这64个系数进行量化,DCT系数量化中所必需的量化表及熵编码中所必需的表的具体值,根据进行编码的图像不同而不同,一般取JPEG标准推荐的量化表,量化是根据量化表进行的,量化表是JPEG组织根据人的眼睛视觉的特性规定好的,直接用量化表去除得到的64个系数就是量化,量化后得到的仍是一个(8*8)64的系数,而这一系数己是低频集中在左上角的一个8*8的系数了。最后再利用熵编码表对其进行熵编码,熵编码后得到的就是己压缩的图像数据。原始图像数据8*8数据基本DCT编码器正向DCT变换量化器熵编码器压缩后的图像数据熵编码表量化表图2-2 JPEG基本系统压缩编码处理框图2.1.3 压缩编码器的主要算法及编码方法基本系统中涉及到的主要算法和编码方法如下:(1)色彩空间转换(像素的RGB分量表示转换成YCrCb分量)(2)二维正向离散余弦变换(2DDCT);(3)根据量化表进行均匀量化;(4)DCT系数差值脉冲编码(Differential Pulse Code Modulation,DPCM);(5)AC系数Zig-Zag扫描编码(Zig-zag Scan);(6)AC系数行程长度编码(Run Length Coding);(7)霍夫曼编码(Huffman Coding);(8)组成位数据流,以形成帧图像。2.2 视频测井系统中应用的 JPEG编码系统编码流程在视频测井系统中使用JPEG编码系统模块原理流程图图如图2-3所示9,在视频测井系统中获取的原始图像输入后经过缓冲进行DCT编码,将编码结果进行ZZ扫描,然后量化,经过码流脉冲后进行霍夫曼编码,最后输出压缩图像。输入视频测井系统获取的源图像DCT量化ZZ扫描码流脉冲量化表霍夫曼编码输出编码表图2-3 在视频测井系统中应用的 JPEG编码系统模块图首先将在视频测井系统中获取的图像分为不重叠的8*8像素子块(共有Y、U、V三幅数字图像),接着对各个子块进行DCT变换,然后对所有的系数进行线性量化。量化的过程是对系数值的量化间距划分后的归整运算,量化步长取决于一个“视觉阈值矩阵”它随系数的位置变化而变化,并且对Y和UV分量也不相同。其次,对DCT量化系数进行熵编码,进一步压缩码率。这里可以采用算术编码或霍夫曼编码。2.3 各模块分析将JPEG压缩标准基本系统的算法分成色彩空间转换、DCT变换、量化、Z字扫描和熵编码五大模块,具体进行研究分析。是硬件结构设计实现的理论基础。2.3.1 DCT变换变换编码是利用正交变换来实现图像压缩编码的方法。模拟图像采样后,称为离散化的亮度值。离散化的像素点可以是256点*256或512点*512点或者其他尺寸。假如把整幅图像一次进行变换,则运算比较复杂,所需时间也较长。通常把图像在水平方向和垂直方向上分为若干子区,每个子区有4*4,8*8或16*16点,以子区为单位进行变换,每个子区的全部像素值构成一个空间域矩阵。 (2-4) 矩阵中元素f(i,j)表示子区中第i行、第j列像素的亮度值。对N*N阶空间矩阵作变换的也是N*N阶,变换就是在空间矩阵两边乘以变换矩阵T得到变换域矩阵F:F =T *F *T (2-5)由于正交矩阵T是满秩的,它们有逆矩阵,设T的逆阵为,在式3-5两端都乘以,得到: (2-6)以上两个式子就概括了变换编码的中变换的基本思想和基本操作。变换编码中变换的目的何在呢?首先,假如变换矩阵是归一化正交变换矩阵,则经变换后,空间域中的总能量在变换域中得到保持,即满足: (2-7)式中f(m,n)为空间域矩阵中元素,F(i,j)为变换域矩阵中元素。公式(2-7)的意义在于:空间域中能量全部转移到变换域中,而在反变换中,变换域的能量又能全部转移到空间域中。经过变换之后,变换域中总的能量不变,但能量将会重新分布,在空间域中,能量分布具有一定的随机性10。由于图像有一定的相关性,变换域中能量在大部分情况下,集中于零空间频率或低空间频率对应的变换系数,从而使具有相关性图像的相关性减少。同时由于能量集中于零空间频率和低空间频率所对应的变换域矩阵元素中,我们对这些元素分配较多的比特数,而对能量较少的元素分配较少的比特数或不分配比特数,由于相关性的减少,变换域中分配的总比特数可以比原图像的总比特数少,这样就可以使图像所需传送的比特数减少,达到压缩的目的。我们知道离散傅氏变换DFT及其快速算法FFT是频谱分析的有力工具。DFT的定义如公式(2-8)、公式(2-9)所示: m=0,1,2,N-1 (2-8) n=0,1, 2,N-1 (2-9) 上述一对变换式是由傅氏变换经过时(空)域离散和频域离散后推导所得。式中X(n)表示在时域中的N个(离散)值。X(m)表示在频域中的N个频域系数(应于频谱)。为什么图像处理中不用DFT而用DCT呢?原因一是实时图像处理时,每秒钟要处理数百万乃至数千万的数据,而DFT要求复数运算,所以运算量大,难以满足实时图像处理的要求。但是DCT是一种实数域的变换,运算量比DFT少。原因二是DCT的变换矩阵的基向量很接近托波列兹(Toeplitz)矩阵的特征向量,而语音信号和图像信号的协方差矩阵都是托波列兹矩阵,就这是为什么DCT变换接近最佳变换,即KLH(Karhunen loeveHoteling)变换,这种变换产生非相关变换系数(即频率系数),非相关变换系数对压缩极为重要。下面从一维DFT推导一维DCT。设x(0),x(1),x(N-2),x(N-1)为N点实数据序列。令x(-1)=x(0)x(-N+1)=x(N-2),x(-N)=x(N-1)。于是得到一个2N点的序列x(n)。下面给出对称点n=-1/2的2N点序列x(n)的DFT变换公式(2-10)。(2-10)利用代换式n=-n-1对上式中的第一项进行代换后,设n=n可得: (2-11)利用公式2cos=,上式可化为: (2-12)这就是一维离散余弦变换的一种形式。设图像信号为二维函数F(x,y),二维DCT变换对定义如下: 其中 (2-13)上述第二式为DCT的反变换IDCT,他将二维频谱系数G(u,v)变换为二维空间图像数F(x,y)。为了方便起见,将上式中的变量平移,从而改写成如下形式:上述第二式为DCT的反变换IDCT,他将二维频谱系数G(u,v)变换为二维空间图像数据F(x,y)。为了方便起见,将上式中的变量平移,从而改写成如下形式:令x,=x+1,y,=y+1,u,=u+1,v,=v+1得到如下公式(2-14): 其中 (2-14)将上式用于图像数据单元,即8*8方块。则N=8得到公式(2-15):其中 (2-15)若图像数据F(x,y)为8*8矩阵时,经DCT变换的频率系数G(u,v)也是8*8矩阵,G(u,v)也称DCT系数。2.3.2 量化量化是对经DCT变换后的频率系数进行处理以增加零系数的数目。量化是对DCT系数进行压缩的关键一步,方法是通过降低DCT系数精度的方法,去除掉图像中相对不重要的表示图像细节11的AC系数,从而减少图像数据量,达到压缩目的,所以说量化是图像质量下降的最重要原因。将DCT系数按比例缩小,取其最接近的整数值,量化过程就是每个DCT系数除以各自的量化步距并按四舍五入取整得到量化系数。在JPEG标准中采用线性均匀量化器,均匀量化的定义为,对64个DCT变换系数,除以对应的量化步长,四舍五入取整。如公式(2-16)所示。 (2-16)式中S(u,v)是量化步距。量化是通过量化表对DCT系数进行量化的,也就是对DCT系数8*8的块依次以8*8的量化表为模板进行求模运算,结果是量化后的系数。用不同的量化表,提高压缩比同时减少图像失真。量化器步长是量化的关键,量化步长的最佳值是由输入图像及图像显示设备的特性来决定的,JPEG标准给出了一个参考标准量化表,如表2-1和表2-212所示。量化表就是给出了量化步长。它利用了人类视觉难以感觉高空间频率失真的特点,量化步长随空间频率的增高而变大。而且由于人的眼睛对表2-1 亮度分量量化表 16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49