JPEG图像压缩实验_第1页
JPEG图像压缩实验_第2页
JPEG图像压缩实验_第3页
JPEG图像压缩实验_第4页
JPEG图像压缩实验_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JPEG静态图像压缩实验指导书实验目的了解多媒体通信中图像压缩技术熟悉JPEG图像压缩编码过程掌握二维DCT变换算法实验原理JPEG(JointPhotographicExpertsGroup)是一个由ISO和ITU-T两个组织机构联合组成的一个图像专家小组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为JPEG算法,并且成为国际上通用的标准。JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。JPEG不仅适于静止图像的压缩,电视图像的帧内图像的压缩编码,也常采用此算法。JPEG标准定义了多种工作模式,其中最基本的是基于8×8块的DCT顺序编码,将一帧图像分为8×8的块,然后按照从左至右、自上而下的顺序,对块进行DCT、量化和熵编码。其编、解码框图如下:FDCTFDCT熵编码器量化表熵编码表压缩图像数据源图像数据基于DCT的编码器图像子块量化器图1基于DCT的顺序编码框图DCTDCT解码器IDCT逆量化器熵解码器量化表熵编码表压缩图像数据重构图像数据图2基于DCT的顺序解压缩框图JPEG压缩编码算法的主要计算步骤:正向离散余弦变换(FDCT)。量化(quantization)。Z字形编码(zigzagscan)。使用差分脉冲编码调制(differentialpulsecodemodulation,DPCM)对直流系数(DC)进行编码。使用行程长度编码(run-lengthencoding,RLE)对交流系数(AC)进行编码。熵编码(entropycoding)。实验内容按照上述压缩过程实现一幅图像的压缩,生成符合JPEG标准的图像文件JPEG图像编码流程如下:输入原图像输入原图像8×8二维FDCT变换量化DC系数差分编码AC系数游程编码熵编码生成JPEG压缩文件文件保存输入原图像8×8二维IDCT变换逆量化DC系数解码AC系数解码码熵解码读取JEPG文件JIEPEIGJPEGWENJIAN表说明量化表图3JPEG图像编码流程DCT变换对8×8的图像数据块进行二维DCT的变换,把能量集中在少数几个系数上,从而达到数据压缩的目的。:DCT变换公式:DCT反变换公式:其中:二维DCT变换可以分解为行和列的一维DCT变换的组合运算,也可将8×8的块分为更小的子块,直接对二维数据进行2维快速余弦变换。量化量化表达式为:其中T(u,v)是推荐的量化矩阵,详见附录1量化矩阵表熵编码JPEG标准中熵编码对直流DC系数和交流AC系数分别采用不同的压缩编码算法DC系数编码:JEPG把所有子块的DC系数集合在一起,采用差分编码的方法表示。编码步骤为:将初始值设为128,对相邻块的DC系数F(0,0)进行差分运算将差分值改写为[size,value](尺寸,幅值)的符号对。尺寸取2的对数加1按照表2、3对该符号对进行编码AC系数编码AC系数编码步骤为:以块为单位,从AC01开始对块内的量化数据进行Z形行程扫描,记录两个非零值的大小和其间连续零的个数将扫描结果改写为[RunLength,level](行程、幅度)的符号对,其中RunLength代表该非零值和它前一个值之间0的个数,以(EOB)表示块结束。按照表3对上述的符号对进行编码。若符号在表中查不到对应码字,用ESC码表示,然后按表4,5对RunLength和level进行编码。对编码后的图像数据进行解码,与原始图像数据进行比较。实验要求根据实验内容要求编写编解码程序,所用编程语言自选。可以参考实验室提供的范例程序,并充分发挥你的创造性,写出有自己特色的程序。生成JPEG格式的压缩文件,可用第三方软件打开,由指导教师验证通过实验完成后提交完整源程序,并在关键处加上详细批注。撰写实验报告,实验报告要求详细介绍你实现的功能,设计思想,并根据思考题进行分析。样本程序说明实验室提供一个BC编写的样本程序,供大家参考。见“JPEG实验”文件夹,各文件功能说明如下:JPEG压缩程序:gendat.exe为压缩后的数据加上JPEG文件头的程序genjpg.exe解JEPG压缩程序extrdat.exe其中:(1)的输入参量是需要生成的压缩文件的名字。主程序流程为:程序初始化,读取文件名称、原始图像数据等基本数据;从AC.TAB和DC.TAB两个文件生成AC表和DC表,存入数组以8×8为样本单位进行DCT变换以8×8为样本单位进行量化以8×8为样本单位进行Z形扫描以8×8为样本单位进行熵编码以8×8为样本单位进行解量化以8×8为样本单位进行IDCT变换请大家在参考上述程序的基础上,编写自己的JPEG压缩程序,利用(2)、(3)程序检查自己的程序是否正确。思考题计算图像的压缩比,并比较原图像的效果DCT变换、量化后,数据的范围是多少?有没有可能超出码表所给出的幅值范围。附录:JPEG图像压缩方法相关数据表1:量化矩阵T(U,V)亮度量化矩阵T(u,v)1611101624405161121214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399色差量化矩阵T(u,v)17182447999999991821266699999999242656999999999947669999999999999999999999999999999999999999999999999999999999999999999999999999表2:DC系数码表SizeCode0100100201310141105111061111,071111,1081111,110表3:DC系数码表ValueCode128~2551000,0000~1111,111164~1271000,000~1111,11132~631000,00~1111,1116~311000,0~1111,18~151000~11114~7100~1112~310~11110—-10-2~-301~00-4~-7011~000-8~-150111~0000-16~-3101111~00000-32~-63011111~000000-64~-1270111111~0000000-128~-25501111111~00000000表4:RunlengthLevelCode0111S20100S30010,1S40000,110S50010,0110S60010,0001S70000,0010,10S80000,0001,1110S90000,0001,1000S100000,0001,0011S110000,0001,0000S120000,0000,1110S130000,0000,1100,1S140000,0000,1100,0S150000,0000,1011,1S160000,0000,0111,11S170000,0000,0111,01S180000,0000,0111,00S190000,0000,0110,11S200000,0000,0110,10S210000,0000,0110,01S220000,0000,0110,00S230000,0000,0101,11S240000,0000,0101,10S250000,0000,0101,01S260000,0000,0101,00S270000,0000,0100,11S280000,0000,0100,10S290000,0000,0100,01S300000,0000,0100,00S310000,0000,0011,000S320000,0000,0010,111S330000,0000,0010,110S340000,0000,0010,101S350000,0000,0010,100S360000,0000,0010,010S370000,0000,0010,010S380000,0000,0010,001S390000,0000,0010,000S11011S20001,10S30010,1010S40000,0011,00S50000,0001,1011S60000,0000,1011,0S70000,0000,1010,1S80000,0000,0011,111S90000,0000,0011,110S100000,0000,0011,101S110000,0000,0011,100S120000,0000,0011,011S130000,0000,0011,010S140000,0000,0011,001S150000,0000,0001,0011S160000,0000,0001,0010S170000,0000,0001,0001S180000,0000,0001,0000S210101S20000,100S30000,0010,11S40000,0001,0100S50000,0000,1010,0S310011,1S20010,0100S30000,0001,1100S40000,0000,1001,1S410011,0S20000,0011,11S30000,0001,0010S510001,11S20000,0010,01S30000,0000,1001,0S610001,01S20000,0001,1110S30000,0000,0001,0100S710001,00S20000,0001,0101S810000,111S20000,0001,0001S910000,110S20000,0000,1000,1S1010010,0111S20000,0000,1000,0S1110010,0011S20000,0000,0001,1010S1210010,0010S20000,0000,0001,1001S1310010,0000S20000,0000,0001,1000S1410000,0011,10S20000,0000,0001,0110S1510000,0011,01S20000,0000,0001,0110S1610000,0010,00S20000,0000,0001,0101S1710000,0001,1111S1810000,0001,1010S1910000,0001,1001S2010000,0001,0111S2110000,0001,0110S2210000,0000,1111,1S2310000,0000,1111,0S2410000,0000,1110,1S2510000,0000,1110,0S2610000,0000,1101,1S2710000,0000,0001,1111S2810000,0000,0001,1110S2910000,0000,0001,1101S3010000,0000,0001,1100S3110000,0000,0001,1011SEOB10esc0000,10注:S表示,当Level为正值时S=0,Level为负值时S=1。表5:esc标识下的Runlength码表RunlengthCode00000,0010000,0120000,10631111,11表6:esc标识下的Level码表LevelCode-2551000,0000,00000000,00000000,10000000,10000001-1261000,0010-21111,1110

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论