您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 基于VisualC的JPEG编解码技术
基于VisualC的JPEG编解码技术.txt爱情是艺术,结婚是技术,离婚是算术。这年头女孩们都在争做小“腰”精,谁还稀罕小“腹”婆呀?高职不如高薪,高薪不如高寿,高寿不如高兴。本文由backet2004贡献doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。毕业设计基于VisualC++的JPEG编解码技术学专院业物理与光电工程学院电子科学与技术(光电子)2002级(2)班3102004077杨贤年级班别学号学生姓名指导教师周冬跃2006年05月21日1绪论……41.1JPEG编解码技术发展的背景……41.2JPEG编解码技术的发展前景……52JPEG标准基本原理……62.1JPEG压缩标准的简单介绍……62.2JPEG编解码总流程……73JPEG标准的算法流程……73.1颜色系统的转换……73.2离散余弦变换……83.3量化……93.4编码……103.5熵编码……123.6哈夫曼编码……174JPEG的文件格式……195.JPEG编解码的程序实现……246总结……30·致谢……32·参考文献……32·附录……32摘要本论文主要介绍了JPEG编解码技术以及在VC++平台上的具体实现。同时也介绍了许多图像压缩编码技术的基本算法和实现方法,如离散余弦变换、量化、熵编码及Huffman编码。具体实现程序的编码部分能把一张BMP格式的24位真彩色图象进行JEPG编码,压缩成以二进制形式保存的文件;通过相应的解码程序又可以把图象解压缩出来。在图象传送过程中,我们经常采用JPEG格式对静态图象进行编码。JPEG基本系统是一种有损编码,无法完全恢复出原图象,信息有一定的丢失,称为有损压缩。尽管我们希望能够无损压缩,但是通常有损压缩的压缩比(即原图象占的字节数与压缩后图象占的字节数之比,压缩比越大,说明压缩效率越高)比无损压缩的高。JPEG编码先把图象色彩RBG变成亮度Y和色度Cr、Cb,它利用人的视觉对色度不敏感的特点,减少一部分色度数据,以达到压缩。JPEG采取多种编码方式,包含有行程编码(RunLengthCoding)和哈夫曼(Huffman)编码,有很高的压缩比。在编码前,先对数据进行分块,离散余弦变换(DCT)及量化,保留能量大的低频信号,丢弃高频信号以达到压缩。解码时,进行熵解码,反量化,反离散余弦变换(IDCT)。关键字:JPEGDCT行程编码量化熵编码AbstractThispaperintroduceJPEGcompresscompiledtechnologycodeandatVC++platformmainlyconcretetorealize.Recommendedalotofpicturestocompressthebasicalgorithmofthetechnologyofthecodeandimplementationmethodatthesametime,suchasDiscreteCosineTransform,quantization,entropycodeandHuffmancode.Theencodingpartofthisprogramcanencodeapicturewhoseformatis24-bits-turecolorBMPandsaverelevantdataasbinarysystem。Thedecodingprogramcandecodethecompressiondataandreconstructtheoriginimage。WhileconveyingpicturesweoftenencodestillpicturesintothestyleofJPEG。JPEGisoflossycompressionwhichcannotrecoveralltheimagedata,somedataarelosed。Althoughwerefertonon-lossycompression,however,thecompressionratiooflossycompression(thetimesthatdatabytesbeforecompressiontothataftercompression)isbiggerthanthatofnon-lossycompression。JPEGencodingtranslateimagecolorfromRBGtoluminanceYandchromaCr、Cb。Becausepeople’eyesarelesssensitivetochromacomparingwithluminance,someofchromadataareabandonedtoreducedatasize。JPEGenvolvessomekindsofwaysofencodingincludingRunLengthCodingandHuffmanCoding,soithashighcompressionratio。BeforeCoding,wedividedataintoblocks,DCTandquantifyeachblock。Thelow-frequencysignalsthathavemoreenergyaremaintainedandothersarerejected。Whiledecoding,datastreamarereaded,decoded,inverse-quantifiedandthenIDCT。Keyword:JPEGDCTRunLengthCodingQuantizationEntropycode11.1绪论JPEG编解码技术发展的背景随着数字媒体技术的发展,Internet的越来越流行,网络的承载量变得越来越大,形式也越来越多样化.传统的字符界面的应用早已经不能够满足人们的需要了.以音频和视频等出现的形式越来越受人们的青睐.人们在这个数字时代里面,尽情的浏览图片,听音乐.看电影.上传还有下载文件.但是这里面同时存在着一个难以克服的问题:图象等信息的数据量太大了,本来就已经非常紧张的网络带宽变得更加不堪重负,现在我们以一张图片为例子:一张A4(210mm×297mm)幅面的照片,若用中等分辨率(300dpi)的扫描仪按真彩色扫描,其数据量为多少?让我们来计算一下:共有(300×210/25.4)×(300×297/25.4)个象素,每个象素占3个字节,其数据量为26M字节,其数据量之大可见一斑。提高带宽,这固然是一个行之有效的办法.但是作为一个物理硬件.有其本身的局限性大数据量的图象信息会给存储器的存储容量,通信干线信道的带宽,以及计算机的处理速度增加极大的压力。单纯靠增加存储器容量,提高信道带宽以及计算机的处理速度等方法来解决这个问题是不现实的.这就需要我们从另外一个出发点去考虑.那就是从软件上去实现它.于是我们就用到了压缩.压缩的理论基础是信息论。从信息论的角度来看,压缩就是去掉信息中的冗余,即保留不确定的信息,去掉确定的信息(可推知的),也就是用一种更接近信息本质的描述来代替原有冗余的描述。这个本质的东西就是信息量(即不确定因素)。压缩可分为两大类:第一类压缩过程是可逆的,也就是说,从压缩后的图象能够完全恢复出原来的图象,信息没有任何丢失,称为无损压缩;第二类压缩过程是不可逆的,无法完全恢复出原图象,信息有一定的丢失,称为有损压缩。选择哪一类压缩,要折衷考虑,尽管我们希望能够无损压缩,但是通常有损压缩的压缩比(即原图象占的字节数与压缩后图象占的字节数之比,压缩比越大,说明压缩效率越高)比无损压缩的高。图象压缩一般通过改变图象的表示方式来达到,因此压缩和编码是分不开的。图象压缩的主要应用是图象信息的传输和存储,可广泛地应用于广播电视、电视会议、计算机通讯、传真、多媒体系统、医学图象、卫星图象等领域。压缩编码的方法有很多,主要分成以下四大类:(1)象素编码;(2)预测编码;(3)变换编码;(4)其它方法。1.2JPEG编解码技术的发展前景目前在因特网上应用最广泛的图片格式就是GIF和JPEG了,查看一下网上各种照片的属性,我们会发现它们几乎全是JPEG格式。.[5]目前,JPEG已开发三个图像标准。第一个直接称为JPEG标准,正式名称叫“连续色调静止图像的数字压缩编码”(DigitalCompressionandCodingofContinuous-tonestillImages),1992年正式通过。JPEG开发的第二个标准是JPEG-LS(ISO/IEC14495,1999)。JPEG-LS仍然是静止图像无损编码,能提供接近有损压缩压缩率。JPEG的最新标准是JPEG2000(ISO/IEC15444,等同的ITU-T编号T.800),于1999年3月形成工作草案,2000年底成为正式标准(第一部分)。根据JPEG专家组的目标,该标准将不仅能提高对图像的压缩质量,尤其是低码率时的压缩质量,而且还将得到许多新功能,包括根据图像质量,视觉感受和分辨率进行渐进传输,对码流的随机存取和处理,开放结构,向下兼容等.尽管我们知道,JPEG格式的图片采用的是一种有损压缩算法,压缩后的图像会出现一定程度上的失真(即“毛边”现象)。但我们还是喜欢用它,这是因为JPEG在目前的静止图像格式中的压缩比是最高的——仅为其BMP原图像大小的十分之一左右!这使得我们通过因特网传送图片不再那么困难,浏览图片较多的网页时等待的时间也不再那么漫长。但是,即使JPEG现在的标准已经很好了,我们也还是不禁要问.还能不能对JPEG图像再作进一步的压缩呢?通常的看法是认为JPEG图像的压缩比已经较高,进一步的压缩容易使图像产生严重的失真而丧失其使用价值。其实不然,JPEG图像的再压缩还有很长的路可走.理论上讲,现有的图像压缩包括JPEG标准和理论上压缩极限还有一点距离.这就使得JPEG还有继续发展的空间.实际上,现有的JPEG格式的文件还可以再压缩多50%甚至更多.下面我简单介绍一下现在网络上比较流行的几种JPEG图像压缩工具.JPEGOptimizerV3.06:JPEGOptimizer能够在压缩比到达50%时,使优化后的JPEG图像与原图像在观感上基本没有区别。CyberViewImageProv4.5:CyberViewImagePro不仅可对图像进行局部压缩,而且还可利用独立的压缩参数控制滑块分别对画面的亮度和色彩进行补偿和校正,从而获得较好的图像压缩效果。JPEGWizardv1.12,JPEGImagerv0.7b等等2JPEG标准基本原理标准基本原理2.1JPEG压缩标准的简单介绍JPEG是联合图象专家组(JointPictureExpertGroup)的英文缩写,是国际标准化组织(ISO)和CCITT联合制定的静态图象的压缩编码标准。和相同图象质量的其它常用文件格式(如GIF,TIFF,PCX)相比,JPEG是目前静态图象中压缩比最高的。我们给出具体的数据来对比一下。例图采用Windows95目录下的Clouds.bmp,原图大小为640*480,256色。用工具SEA(version1.3)将其分别转成24位色BMP、24位色JPEG、GIF(只能转成256色)压缩格式、位色TIFF压缩格式、位色TGA压缩格式。2424得到的文件大小(以字节为单位)分别为:921,654,17,707,177,152,923,044,768,136。可见JPEG比其它几种压缩比要高得多,而图象质量都差不多(JPEG处理的颜色只有真彩和灰度图)。正是由于JPEG的高压缩比,使得它广泛地应用于多媒体和网络程序中,例如HTML语法中选用的图象格式之一就是JPEG(另一种是GIF)。这是显然的,因为网络的带宽非常宝贵,选用一种高压缩比的文件格式是十分必要的。2.2JPEG编解码总流程[6]ImageRGBYCrCbDCT量化编码ImageYCrCbRGBIDCT解量化解码3JPEG标准的算法流程准的算法流程本章中,我将详细介绍如何将一张B
本文标题:基于VisualC的JPEG编解码技术
链接地址:https://www.777doc.com/doc-2572772 .html