论文部分内容阅读
当今社会步入信息化时代,图像在信息传输过程中起到了举足轻重的作用,那么有关图像的处理技术在航空航天、生物医学、军方和通信领域就成为人类研究的重点。人们在研究过程中发现对庞大的图像数据如何存储和传输,已成为图像处理领域不可忽视的技术难点。如果只是一味的增加存储空间和传输带宽是不能从根本上解决这一问题,唯一可行途径就是对图像数据进行压缩处理。本文主要研究的是图像压缩原理和编码过程,重点研究其中的核心算法,通过对几种经典算法的讨论比较,选择一种高压缩比和适用于硬件结构的算法,然后对此算法稍作改进后作为本文压缩系统中的处理算法,这是也本文研究内容的难点之处。本文的主要内容是将一幅BMP格式的图像根据JPEG编码标准压缩成JPG格式的图像。压缩过程中通过逻辑芯片FPGA和硬件描述语言Verilog HDL相结合,完成各个模块的硬件结构设计和Model Sim上的功能仿真。最终将压缩的数据按照标准JFIF文件格式处理后,传输到PC机上,由Windows系统自带的解码软件解压出最终的图像。其中核心内容是对JPEG压缩过程中DCT变换算法的研究,讨论了不同快速算法的计算方法,采用这些不同算法对同一幅图像进行压缩。通过分析压缩后的图像效果和压缩比,同时结合硬件的设计要求,得出LLM-12算法不仅结构比较符合硬件设计的技术要求而且处理后压缩效果和压缩比都比较良好,因此本文就选用此算法来处理离散余弦变换部分。然而考虑到硬件设计指标要求,这个算法还存在一些不足,文中针对算法的不足之处,进行适当的改进和优化。主要是参考Bin-DCT算法的理论思想,将算法中的浮点数根据需要适当扩大2k倍后截取与原值最近的整数,让FPGA对算法只做加法和移位处理。通过改进消除了乘法运算,这样不仅提高硬件运行速度而且还减少了芯片中乘法器的资源消耗。同样采用改进后的算法对同一幅图像进行压缩处理,并且和其它的算法效果进行比较,得出改进后的算法不仅有利于提高硬件的处理速度,而且压缩比和压缩效果良好。离散余弦变换后需要对变换系数进行量化,此过程通过保留能量大的低频信号,丢失能量小的高频信号来实现压缩。由于用硬件做除法运算复杂且速度慢,不符合硬件结构的设计要求,因此文中在分析研究量化规律后对量化过程中的除法运算进行改进,最终硬件也只做加法和移位处理。量化后是对量化系数编码,本文采用哈弗曼编码方式,借助4个标准的Huffman编码表完成最终的编码流程,编码后的码流即是经过压缩处理后整幅图像的数据信息。本文对整个硬件系统采用流水线操作,数据的处理是采用并行输入和流水线设计相结合的方式,这样不仅缩短了模块间的等待时间和数据传输时间,而且减少FPGA芯片内部资源消耗。整个系统的开发平台是基于Lattice公司ECP3系列的FPGA芯片和该公司的Diamond开发设计软件。文中通过运用不同的快速算法对同一幅图像在PC机上用软件进行压缩处理,然后分析压缩结果,采用改进后的LLM-12算法得到的压缩比达到30:1,比改进前的LLM-12算法处理的压缩比要高。虽然比LLM的压缩比稍低,但是改进后算法结构更利于硬件的快速处理。在硬件模块的功能设计中,分别对采用改进前后的算法进行编译综合,硬件资源占用从9%降到7%,速度也提高了12倍。最终改进后的整个系统压缩比达到30.8:1,压缩后的视觉效果良好。