南京理工大学硕士学位论文基于FPGA的JPEG解码算法的研究与实现姓名:张艳申请学位级别:硕士专业:通信与信息系统指导教师:钱玲20090624
硕士论文基于FPGA的JPEG解码算法的研究与实现摘要在多媒体通信技术中,JPEG以其对静止图像的优良的压缩特性获得了广泛应用,成为国际通用的标准。本文在简要介绍JPEG标准和FPGA(FieldProgram-mableGateArray,现场可编程门阵列)设计流程的基础上,从总体规划的角度提出了整个系统结构的设计思想,对JPEG解码器各部分算法进行了深入的研究,接着对各个模块的设计进行了详细的描述。采用了Verilog硬件描述语言对JPEG基本模式硬件解码器的各主要模块进行设计实现,并给出了功能仿真波形图及测试结果。在JPEG图像解码器中,二维IDCT(离散余弦逆变换)单元在整个解码过程中消耗的时间占了很大的比例,因此提高二维IDCT变换的速率显得很有必要,本文利用行列分解的方法实现二维IDCT变换,有效地减少了二维IDCT单元的运算时间。将反Zig-Zag扫描集成到了反量化器上,节约了反量化和反Zig—Zag扫描的时间。基于JPEG标准中Huffman码表的规律提出并行熵解码的算法,实现了快速Huffman解码。本课题的JPEG解码器的设计与实现,为复杂的图像解码器在FPGA上实现做了探索性的尝试,对其他的图像解码系统的IP核设计以及FPGA实现有着积极的借鉴意义。关键词:JPEG解码,FPGA,IDCT变换,Verilog硬件描述语言
硕士论文AbstractJPEGhasbeenwidelyusedandbecomeoneoftheinternationalstandardsforltsexcellentperformanceoncompressingstillimageamongmultimediacommunicationtechnologies.OnthebasisofbrieflyintroducingJPEGstandardandFPGAdesignprocess,thedesignprincipleoftheoveralldecodings仃uctureisproposed.Then,thethesisgivesdesigndetailsofallthemajormodulesoftheJPEGdecoderwhichisimplementedusingVerilogHDLalsowimthesimulationwaveformsandtheimplementingresultsaftertheJPEGdecodingalgorithmWasstudieddeeply.IntheJPEGdecoderdesign,itisnecessarytoincreasethespeedoftwo.dimensionalIDCT(InverseDiscreteCosineTransform)modulebecauseitconsumesasignificantportionofthetotaltimeinthedecodingprocess.ThisthesisUSeStheimprovedmeansofranksdecompositiontoimplementthe2D-IDCTmodule,whicheffectivelyreducescomputingtime.111einverseZig-Zagscanningmoduleisintegratedintotheinversequantizer,whichsavesthetimeofanti—quantizationandinverseZig-Zagscanning.AccordingtothecharacteristicsofHuffmantableandJPEGstandard,parallelalgorithmforentropydecodingisproposedtoachieveafastHuffrnandecoding.ThedesignandrealizationactionoftheJPEGdecoderprovidesanexploringattempttoimplementcompleximageencodersbasedonFPGAandapositivereferencetothesystemsIPcoredesignandtheirFPGArealization.oftheotherimagedecoding.Keywords:IPEGdecoding,FPGA,IDCT,VerilogHDLⅡ
声明本学位论文是我在导师的指导下取得的研究成果,尽我所知,在本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均已在论文中作了明确的说明。研究生签名:!l丝圭鱼1年媚拥学位论文使用授权声明南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅或上网公布本学位论文的部分或全部内容,可以向有关部门或机构送交并授权其保存、借阅或上网公布本学位论文的部分或全部内容。对于保密论文,按保密的有关规定和程序处理。研究生签名:i盏超沙7年嘲斗日
硕士论文基于FPGA的JPEG解码算法的研究与实现1绪论1.1研究背景1.1.1图像压缩编码技术的发展和趋势从20世纪60年代起,随着电子技术和计算机技术的不断提高和普及,应用数字方法进行图像处理(数字图像处理)进入了高速发展时期。图像的数字化处理表示使得图像信号可以高质量地传输,并便于图像的检索、分析、处理和存储。但是,数字图像的表示需要大量的数据空间,因而必须进行数据压缩编码。图像压缩编码从20世纪40年代末开始进行系统研究以来,迄今已有60多年的历史。早在1948年,Oliver即提出电视信号的线性PCM编码理论。在50年代初发表的电视编码的早期工作中,已提出线性预测理论,测量了亮度信号和差值信号的概率分布【141。1958年,Graham首次采用计算机模拟实验的方法,研究静止图像的前值预测DPCM编码法,获得3~4比特/像素图像质量优良的结果。1966年,O’Neal继续图像压缩编码的计算机模拟实验,为DPCM预测编码法作了初步的理论工作。1969年举行了首届《图像编码会议》,并随后出版了名为《图像频带压缩》的会议论文集,至今这个会议仍在举行。进入20世纪70年代后,有关图像压缩编码的文献日益增多。其中有纯理论的,大量的是计算机模拟实验研究,也有各种类型的硬件系统。图像压缩编码硬件系统的研制随着数字通信系统的迅猛发展而相应地发展,进入20世纪80年代后,图像压缩编码研究与开发又有突出的进展。二进制图像传真机已成为办公室的重要通信设备。地球资源卫星所获得的遥感图像,已经大量地应用到国民经济的各个方面。而在彩色广播电视、会议电视和电视电话的编码方面,已经研制出几十种帧内编码和帧间编码的硬件系统。图像压缩编码的各类应用已出现稳定发展的趋势。与此同时,各类学术会议上有关图像压缩编码的文献报告连接不断。各国(美、西德、日、英、法、中)先后编辑了论文专辑。经过30多年的基础研究,图像压缩编码研究从20世纪80年代末90年代初进入新的时期。一方面进入到实用化的研究,另一方面继续深入理论研究。实用化方面的研究集中在国际标准化组织ISO和国际电信联盟11U联合制订的几个标准上,有力地推动了实用开发工作。于1988年形成草案,1990年通过的ITU.TH.261建议,是图像压缩编码技术走向实用化的重要一步,它是图像压缩编码40年研究成果的结品。进入90年代后相继提出了一系列图像压
l绪论硕士论文缩编码的标准。这些国际建议普遍采用的混合编码技术是当今最实用的高效编码方法,得到了广泛的推广与应用。图像压缩技术的发展趋势是:算法更复杂,压缩率更高,JPEG的压缩率在1:20左右,JPEG2000的压缩率将为1200或更高,MPEG压缩标准也已经过几代发展,从MPEG.1到MPEG.2,到现在的MPEG.4,压缩算法越来越复杂,运算量越来越大,压缩率也越来越高。在理论方面,1989年Mallat、1990年Daubeehies提出多分辨率小波变换方法,该方法很快被应用在图像编码的研究上,原来进行的子带编码、金字塔编码、综合编码都因为有了小波变换才得以实现,因此小波编码方法得到广泛和深入的研究。2000年ISO/IEC新的静态图像压缩编码标准JPEG2000就应用小波编码获得比原JPEG更好的质量。另外,1989年前后提出的面向对象的分析综合,模型基编码和分形编码,目前还在研究之中。展望未来,随着数字集成电路、计算机科学以及网络通信的进一步发展,国民经济和社会生活方面不断增长的需要,图像压缩编码技术必将会有更多的发展。1.1.2图像压缩编码的国际标准图像压缩编码方法很多,发展也很循序,根据不同应用目的而制定的图像压缩编码的国际标准相继推出。另外,数学、工程技术以及计算机本身体系结构软硬件性能的发展和提高,使得图像压缩编码的理论和技术得到了空前的发展和应用。对压缩编码方法归纳总结使其成果系统化,有助于我们了解其发展方向,也使尚未解决的问题明确化。下面对这些标准作一些简单介绍【l3】:(1)JPEG标准,JPEG静止图像压缩编码标准,是由国际标维化组织(ISO)于1992年制定的。JPEG标准是帧内编码,在保证图像质量的前提下,每个象素可以由24bit减少到lbit,压缩比20"-30。JPEG在实际系统中有广泛的应用前景,如卫星图像、图像文献资料以及新闻图像等的保存和传输。JPEG的应用面很宽,对所需编码图像的性质,如大小、黑白/彩色、编码方式等均不预先设定。(2)MPEG标准,MPEG动态图像压缩编码标准,是由国际标准化组织(ISO)于1992年制定的。MPEG不仅用上一帧的图像预测当前图像,而且也使用下一帧图像预测当前图像,即双向预测,这是与H.261标准有重要区别的地方。MPEG.1速率为1.5Mb/s,MPEG.2速率在3—10Mb/s之间,MPEG-4更适宜在超低速率如电视、电话等方面的应用,MPEG.3已停用。(3)H.26I/H.263建议,支持通信业务视听视频编解码标准,是国际电话电报咨询委员会(CCrrr)提出的,H.261于1990年得到批准,该建议(标准)是用于会议电视电话的国际标准,既采用了帧内编码,又采用了帧间编码,因2
硕士论文基于FPGA的/PEG解码算法的研究与实现此它的压缩比大致是JPEG标准的三倍。随着多媒体技术应用的发展,H.261建议不断改进,不断完善,相继推出了H.262建议、H.263建议,既适用于低速通信网,也适用于高速通信网。(4)JPEG2000标准,新一代静止图像压缩编码标准,同样是由JPEG组织负责制定的。JPEG2000与传统JPEG最大的不同,在于它放弃了JPEG所采用的以离散余弦变换为主的区块编码方式,而采用以小波变换为主的多解析编码方式。此外,JPEG2000还将彩色静态画面采用的JPEG编码方式与二值图像采用的JBIG编码方式统一起来成为对应各种图像的通用编码方式。在编码端以最大的压缩质量和最大的图像分辨率压缩图像,在解码端可以从码流中以任意的图像质量和分辨率解压图像,最大可达到编码时的图像质量和分辨率。JPEG2000应用的领域包括互联网、彩色传真、打印、扫描、数字摄像、遥感、移动通信、医疗图像和电子商务等。1.1.3图像压缩处理实现途径从实时性的的角度来看,为了提高整个图像压缩处理系统的运行速度,通常可以有两类方法:其一,对图像压缩编解码算法的改进和简化,但事实上,很多算法理论已经相当成熟,降低算法实现复杂度的余地并不大;其二,对实现图像压缩处理手段的选择,根据算法的特性及对速度和质量等的需求,有针对性地选择适合的实现手段。目前图像处理的实现主要分以下三种途径进行:(1)PC机上的软件实现,利用PC机运行速度高的特点,对图像进行压缩处理,实现起来灵活性强,易于管理和维护,也便于计算机进行集中处理。同时,我们也发现,由于图像处理的计算量非常大,计算机本身的结构特性使得单指令单数据的处理过程往往无法满足实时性的要求,因此,该方法更适用于算法的验证。(2)DSP(数字信号处理器)的实现,由于其内部采用专门的硬件结构来实现某些数字信号处理的常用算法,速度得到了大大的提高。DSP在近些年发展迅速,其应用也涉及图像处理领域。但其体系依然是串行指令执行系统,并且对某些算法的硬件优化并不能满足众多算法的需求,所以DSP的应用仍然存在着一定的局限性。(3)专用集成电路专用集成电路是专为某项应用或某个算法而设计的硬件芯片,是近年来世界范围内的研究热点,速度较前两种实现方式快很多、性能也较稳定,所以在一些尖端的科技应用领域中具有非常广泛的应用。但是它的价格很高,设计周期长,灵活性不够。随着微电子技术和半导体工业的不断创新和发展,FPGA作为可编程的专
1绪论硕士论文用集成电路也得到了快速发展,以硬件描述语言(HDL)开发的FPGA数字系统在越来越多的领域得到应用。在图像处理领域,鉴于FPGA系统具有高速、高可靠性、设计开发周期短、在线可重构性,低功耗,低成本等许多优点,适合于开发各种适应用户要求的、灵活性高的图像压缩处理及传输设备。1.2课题研究目标随着多媒体和网络通信等领域的飞速发展,JPEG压缩系统的应用也变得越来越广泛,同时也对压缩系统提出了更高的要求,尤其是在一些对实时性能要求比较高的应用场合,它们不仅要求对图像有高的压缩比和图像品质,更加要求有高的实时性,这样对JPEG标准的解码提出了很高的要求。目前国外已有不少关于提高解码速度的相关文章,国内研究相对少。本课题的目标是以FPGA为硬件平台,设计并实现符合JPEG标准基本模式(BaselineMode)的JPEG图像压缩解码器。该解码器的应用目标主要为各种消费类电子,因此要求该芯片具有价格低廉,处理速度快,扩展性好等特性。基于以上要求,JPEG基本模式解码器采用了高级硬件描述语言Verilog描述,按照Top.Down(自顶向下)和模块化方法设计为可定制的逻辑组件,最后通过FPGA厂商Xilinx提供的软件ISE9.2完成综合、布局布线以及仿真。1.3课题开发环境本课题基于FPGA领导厂商Xilinx公司的FPGA开发工具ISE进行设计开发,结合ISE自带的综合、仿真工具对主要的模块进行验证。1.4课题研究意义探索利用FPGA对静止图像采用JPEG解压缩方法,使用VerilogHDL语言实现主要模块的设计,对其他图像或视频压缩解码器的FPGA实现以及P核设计提供一定的参考和帮助。1.5论文研究内容及论文结构本文共分六章,简要介绍各章的主要内容:第一章绪论。简单说明课题的研究背景、研究目标以及课题所用到的开发环境和课题研究的意义。第二章JPEG图像压缩标准的介绍,包括JPEG标准的运行方式和基本构成,有损压缩和无损压缩,JPEG编码过程以及JPEG文件格式。第三章FPGA技术及其设计方法介绍,简单介绍基于FPGA的设计流程和4