摘 要: 利用Altera公司提供的数字信号处理开发工具DSP Builder和现代DSP技术,在Matlab/Simulink环境中建立了JPEG算法模型,并进行了仿真验证,最后将编译代码下载到硬件上进行了在线调试。
关键词: DSP Builder;JPEG;图像压缩;FPGA
随着数字信号处理技术在应用领域的迅速发展,以DSP处理器(如TI的TMS320系列)为应用系统核心器件的传统DSP技术,由于其硬件结构的不可变性和固定的数据总线宽度,很难满足用户对DSP系统可重配置性或可定制性的要求。而以大容量、高速度的FPGA为核心器件的现代DSP技术的出现成功解决了以上问题。FPGA内嵌有可配置的高速RAM、PLL以及硬件乘法累加器等DSP模块。因此,用FPGA实现数字信号处理可以很好地解决并行性和速度问题,而且其灵活的可配置特性,使得以FPGA为核心器件的DSP系统易于修改、测试及硬件升级。
本文利用Altera公司推出的一个面向DSP开发的系统级设计工具DSP Builder,在深入研究JPEG算法原理的基础上,设计了JPEG算法模型,并在Matalab/Simulink环境下进行了算法级仿真;最后将算法编译下载到FPGA硬件上,利用DSP Builder的HIL(Hardware In Loop)功能,由Simulink通过下载电缆向硬件输入测试数据,然后将测试结果送入Simulink中显示。采用这种方法实现了硬件级的仿真验证。
1 DSP Builder介绍
DSP Builder开发工具是Altera公司提供的数字信号处理平台,它是一个系统级(或算法级)设计工具,架构在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。DSP Builder依赖于MathWorks公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可以在Simulink中进行图形化设计和仿真,同时通过SignalCompiler把Matlab/Simulink的设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的TCL脚本。而对后者的处理可以由FPGA/CPLD开发工具Quartus II来完成。
设计人员能够同时进行多个HDL模型或者QuartusII软件设计工程的设计,为每一个模块生成一个独立的仿真模型,并且能够在同一设计环境中,以标准Simulink/DSP Builder模型来仿真HDL模块。此外,该工具可充分利用和重复使用现有设计,从而大大提高产品开发速度。在仿真软件方面,除了可以利用Simulink的仿真环境,DSP Builder还提供了与Modelsim的接口,充分利用Modelsim仿真的优势。以前DSP开发者只能直接使用VHDL或VerilogHDL语言进行FPGA的DSP系统设计,难度比较大。现在利用基于FPGA的DSP开发工具DSP Builder以及完整的软件开发平台,可以使设计者遵循一条类似于软件设计流程的开发方法进行FPGA的DSP设计,设计效率大为提高。基于DSP Builder的系统级开发流程如图1所示。
2 JPEG算法原理
JPEG专家组开发了两种基本的压缩算法,一种是以离散余弦变换DCT(Discrete Cosine Transform)为基础的有损压缩算法;另一种是以预测技术为基础的无损压缩算法。使用有损压缩算法时,在压缩比为25:1的情况下,压缩后还原得到的图像与原始图像相比较,非图像专家难于找出它们之间的区别,因此得到了广泛的应用。例如,在VCD和DVD-Video电视图像压缩技术 中,就使用JPEG的有损压缩算法来取消空间方向上的冗余数据。
JPEG压缩是有损压缩,它利用了人眼视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。JPEG算法框图如图2所示。
压缩编码大致分成三个步骤:
(1)使用正向离散余弦变换FDCT把空间域表示的图变换成频率域表示的图。
(2)使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。
(3)使用霍夫曼可变字长编码器对量化系数进行编码。译码(或者叫解压缩)过程与压缩编码过程相反。
3 JPEG算法模型的实现
在DSP Builder下进行系统搭建。DSP Builder平台提供了加法器、乘法器以及数字信号处理涉及到的众多模块,对这些模块可以进行可
应用现代DSP技术,通过Altera公司提供的数字信号处理开发工具DSP Builder搭建了JPEG静态图像压缩编解码模型,并用HIL进行了仿真验证。实验结果表明,设计的JPEG模型能够成功实现静态图像的压缩编解码,且重建的图像效果很好。应用DSP Builder进行系统级的算法设计相比用VHDL语言设计更节省硬件资源。