基于DSP 的图像压缩系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于DSP的图像压缩系统
摘要:本文介绍了传统的JPEG图像压缩的原理以及TMS320VC5409DSP芯片应用于图像压缩系统的可行性方案和系统的硬件方案,重点描述了一个基于TMS320VC5409 DSP芯片的图像压缩系统。该系统利用DSP芯片的特点,对传统的JPEG 算法的DCT变换和量化过程作了一些改进,使本系统的压缩算法比传统的JPEG压缩速度更快并且在压缩率相同的情况下图像的质量也更高。
关键词:图像压缩;DSP;JPEG 算法,快速DCT 变换
Image compression system based on DSP
Abstract: The article summarizes the theory of standard image compression, especially focuses on the feasibility and method that TMS320VC5409 is used in the image compression system. What's more, based on the image compression system, a fast DCT image compression method and an adaptive JPEG quantification way are proposed in terms of the at tribute of the TMS320VC5409 DSP chip. The realization and application o f the image compression system shows the proposed method runs faster and gets higher quality of image than the standard JPEG compression method at the same compression rate.
Keywords:image compression;DSP;JPEG algorithm;fast DCT
0 引言
随着多媒体和网络技术的发展和应用,数字图像大信息量的特点使得图像压缩技术的要求也越来越高,因此专用高速数字信息的处理技术成为发展的方向。在硬件技术中,TI推出的C5000系列DSP将数字信号处理器的处理能力提高到了一个新的境界,使信号处理系统的研究重点又回到软件算法上。在压缩算法研究上,DCT、小波等多个算法因为其高可靠性和高效性也越来越受到青睐。
1硬件系统设计
1. 1 TMS320C5409作为主处理器可行性分析
本系统中,TMS320C5409作为主处理器,任务是实现JPEG 压缩编码。文献[4] 指出,
⨯的数据块作JPEG压缩以运算速度为100 MHz的TMS320C5409作为主处理器,并以88
编码时,所需要的机器周期为62⨯Cycles, 内存空间为6. 3 KB,如表1所示。
表 1 TMS320C54X性能和内存需要
通过分析不难得到,当处理一帧大小为640⨯480的图像时,作JPEG压缩编码所需要的时间为: t = 62⨯10⨯640⨯480 ns = 0. 198 66 s。当处理的图像分辨率更小时,则压缩每帧所花的时间更少,这对于应用在对实时性要求不是很高的场合是完全可行的。
1. 2 硬件系统框图
图1是基于TMS320C5409的图像处理系统的结构图。C5409为中央处理器;SRAM为DSP 片外扩展数据存储器;EPROM为脱机工作时的程序存储器,用于存储系统的引导程序和其他应用程序;A/D部分负责把转换为数字信号的图像存入帧存储器中;地址译码、图像采集系统控制电路产生本系统各部分的地址译码信号,使之映射到不同的地址区域,并控制图像A/D芯片进行图像采集,这部分由CPLD实现控制;图像采集芯片的寄存器控制由51单片机完成。
图 1 图像处理系统结构框图
1. 3 DSP外围时序控制电路的设计
本系统中各种外围接口电路多,系统的时序控制复杂。为简化接口电路,并提高I/O口寻址速度,本系统采用了Latice公司的IspLsi2064VE芯片,采用VHDL语言编程进行I/O口电路的扩展以及产生对外围电路控制的时序,电路如图2所示。
图 2 C5409与CPLD连接示意图
由于DSP的通用I/ O口较少,而外部接口较多,必须扩展I/ O口。本文所采用的方法是将DSP的输出信号/IS,/ PS,/ DS,/ IOMST RB,/ MSTRB(分别为IO空间、程序空间、数据空间选择信号,I /O总线信号和存储器总线信号)作为为CPLD的输入信号。CPLD 的输出则主要是各个外围器件的控制信号,包括存储器(程序存储器,数据存储器、串口)的控制信号等。
1. 4 DSP芯片电源电路设计
电源设计中需要考虑的主要问题是功率和散热问题。功率要求:电流的消耗主要取决于器件的激活度,即CPU的激活度,外设功耗主要取决于正在工作的外设及其速度,与CPU 相比,外设功耗是比较小的。以TMS320C5409为例,其进行FFT运算时,需要的电源电流最大。因此在设计电源时,必须考虑在电源电流和实际需用电流之间留有一定裕量,因为峰值电流会更大,裕量至少是20%。C5409采用了双电源供电机制,其工作电压为3. 3 V和
1. 8 V 。其中,1. 8 V 主要为DSP 的内部逻辑提供电压,包括CPU 和其他所有的外设逻辑。外部接口引脚采用3. 3 V 电压。
1. 5 存储空间的扩展方案
经模数转换的图像数据是非常大的。对于分辨率为640⨯480,量化8位的黑白图像,数据量为640⨯480= 300 K 。C5409的内部仅有32 KB 的随机存储器和16 KB 的只读存储器,不能满足大数据量存储的需要,因此必须扩展存储器存放图像数据和应用程序。考虑外接64 KB 的RAM 和512 KB 的Flash ,RAM 使用CYPRESS 公司的CY7C1021V33,Flash 采用SST 公司的SST39VF512。
2 JPEG 图像压缩算法
2. 1 JPEG 图像压缩
传统的JPEG 图像压缩算法过程为:(1)离散余弦变换;(DCT );(2)量化(3)行程编码和熵编码如图3所示。
图 3 JPEG 图像压缩框图
其中二维 DCT 变换公式为:
()()7700
21211cos
cos 41616uv u v yx x y x u x v S C C S ππ==++=∑∑ 01u v u v u v C C C C ===当、时,、、 量化主要通过原始数据除以量化表得到。量化表值可以根据需要自定,其值规定了其所对应 DCT 系数的量化步长。
编码根据直流和交流数据分别采取不同的编码方式。对DC 系数采用DCPM 编码,前子块的DC 系数被用来预测当前子块的DC 系数进行差值无失真编码。对于AC 系数, 先按照Zig-Zag 序列扫描,再进行编码。最后将所有码值进行熵编码,形成JPEG 图像格式。
2. 2 JPEG 算法的优化
JPEG 基本系统能够对图像进行低压缩比压缩,但是DCT 和IDCT 在软件实现的过程中,是最耗费时间的运算,而且,由于没有考虑图像本身的频谱特性,JPEG 量化表对于所有图像压缩并不一定最优。采用快速 DCT 算法可提高软件的速度,增强软件的实时性。同时,根据图像本身的频谱特性,自适应改进JPEG 推荐的量化表。
2. 2. 1 快速 DCT 算法
将一幅图像分成许多8⨯8的小块后直接进行 2D-DCT 变换,运算量将会十分巨大。因此需要将8⨯8二维DCT 变换转换成为2次8点的一维DCT 的复合运算。具体做法是对每一个8⨯8块,先做列方向上的DCT ,得到1个中间矩阵,再对该矩阵各行进行DCT 。可以