基于TMS320C5409 图像压缩系统的实现.docx

上传人:b****7 文档编号:10845009 上传时间:2023-02-23 格式:DOCX 页数:12 大小:118.95KB
下载 相关 举报
基于TMS320C5409 图像压缩系统的实现.docx_第1页
第1页 / 共12页
基于TMS320C5409 图像压缩系统的实现.docx_第2页
第2页 / 共12页
基于TMS320C5409 图像压缩系统的实现.docx_第3页
第3页 / 共12页
基于TMS320C5409 图像压缩系统的实现.docx_第4页
第4页 / 共12页
基于TMS320C5409 图像压缩系统的实现.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

基于TMS320C5409 图像压缩系统的实现.docx

《基于TMS320C5409 图像压缩系统的实现.docx》由会员分享,可在线阅读,更多相关《基于TMS320C5409 图像压缩系统的实现.docx(12页珍藏版)》请在冰豆网上搜索。

基于TMS320C5409 图像压缩系统的实现.docx

基于TMS320C5409图像压缩系统的实现

DSP课程结课论文

基于TMS320C28335信号检测系统的实现

学号:

2014282120167

姓名:

熊正强

专业:

电子与通信工程

指导老师:

谭莹

 

2014年12月

基于TMS320C5409图像压缩系统的实现

摘要:

该文基于DSP芯片的特点和JPEG图像压缩的原理,重点描述了一个基于TMS320VC5409DSP芯片的图像压缩系统。

其中对传统的JPEG算法的DCT变换和量化过程作了一些改进,使本系统压缩速度更快,在压缩率相同的情况下图像的质量更高。

关键词:

DSP;图像压缩;JPEG算法;快速DCT变换

1引言

随着多媒体和网络技术的发展和应用,数字图像大信息量的特点使得图像压缩技术的要求也越来越高,因此,专用高速数字信息的处理技术成为发展的方向。

其中,在硬件技术中,TI推出的C5000系列DSP将数字信号处理器的处理能力提高到了一个新的境界,使信号处理系统的研究重点又回到软件算法上。

在压缩算法研究上,DCT,小波等多个算法因为其高可靠性和高效性也越来越受到青睐。

2系统硬件设计

2.1TMS320C549作为主处理器可行性分析

TMS320C5409是TI公司生产的新一代定点DSP芯片,时钟频率100MHz,性价比极高。

采用围绕1组程序总线、3组数据总线和4组地址总线建立的改进型哈佛结构,取址和读数可同时进行。

有独立的硬件乘法器,有利于实现优化卷积、数字滤波、FFT,矩阵运算等算法中的大量重复乘法运算。

具有循环寻址、位倒序等特殊指令,这些指令使FFT、卷积等运算中的寻址、排序及计算速度大大提高。

有一组或多组独立的DMA总线,与CPU的程序、数据总线并行工作。

还有独特的乘法指令和方便的立即数寻址方式。

在本系统中,TMS320C5409作为主处理器,任务是实现JPEG压缩编码。

文献[4]指出,以运算速度为100MHz的TMS320C5409作为主处理器,并以8X8的数据块作JPEG压缩编码时,所需要的机器周期为62Cycles,内存空间为6.3KB。

如表2-1所示

通过分析不难得到,当处理一帧大小为640*480的图像时,作JPEG压缩编码所需要的时间为:

T=62*10(ns)*640*480=0.9866s当所处理的图像分辨率更小时,则压缩每帧所花的时间则更少,这对于应用在对实时性要求不是很高的场合是完全可行的。

表2-1TMS320C54X性能和内存需要

TMS320C54xPerformance

Task

Cycle/Pixel

Preprocessing

22

Interpolation

41

0thers

27

4:

1:

1DecimationJPEG&encoding

62

Total

152

TMS320C54xMemoryrequirement

Memory

Kbyte

Program

1.7

Data

4.6

2.2硬件设计框图

图2—1是基于TMS320C5409的图像处理系统的结构图。

5409为中央处理器;SRAM为DSP片外扩展数据存储器;EPROM为脱机工作时的程序存储器,用于存储系统的引导程序和其他应用程序;A/D部分负责把转换为数字信号的图像存入帧存储器中}地址译码、图像采集系统控制电路产生本系统各部分的地址译码信号,使之映射到不同的地址区域,并控制图像A/D芯片进行图像采集,这部分由CPLD实现控制;图像采集芯片的寄存器控制由51单片机完成。

2.3存储空间的扩展方案

经过模数转换的原始图像数据是非常大的,TMS320C5409的内部仅有32KW的随机存储器和16KW的只读存储器不能满足需要,因此必须扩展存储器来存放原始图像数据和应用程序。

我们考虑外接64KW的RAM和512KB的FLASH,RAM使用CYPRESS公司的CY7C1021V33,FLASH采用SST公司的SST39VF512。

由于C5409的数据空间仅为64KW,因此采用内存页扩展技术。

C5409的扩展输出口1Q和2Q作为扩展内存的页选择信号。

用C5409的A15引脚和XF引脚通过3/8译码器来控制扩展存储器片选信号的产生,当A15=1。

时选择片内RAM;当A15=1,XF=o时选择片外SRAM;当A15=1,XF=l时选择片外FLASH;存储器的扩展如图2—2所示。

我们将外部扩展RAM的64KW中的48KW用于存放原始图像数据,16KW用于存放压缩后的图像和程序以及暂存的数据。

图2-1图像处理系统结构框图

图2-2存储器扩展示意图

2.4DSP芯片电源电路设计

电源设计中需要考虑的主要问题是功率和散热问题。

功率要求:

电流的消耗主要取决于器件的激活度,即CPU的激活度,外设功耗主要取决于正在工作的外设及其速度,与CPU相比,外设功耗是比较小的。

以TMS320C5409为例,其进行FFT运算时,需要的电源电流最大。

因此在设计电源时,必须考虑在电源电流和实际需用电流之间留有一定裕量,因为峰值电流会更大,裕量至少是20%。

C5409采用了双电源供电机制,其工作电压为3.3V和1.8V。

其中,1.8V主要为DSP的内部逻辑提供电压,包括CPU和其它所有的外设逻辑。

外部接口引脚采用3.3V电压。

本系统中电源采用了TI公司的两路输出电源芯片TPS73HD318,它是一种双输出稳压器。

输出电压一路3.3V、一路1.8V,每路电源的最大输出电流为750mA。

3JPEG图像压缩算法

3.1JPEG图像压缩

图3-1JPEG图像压缩框图

传统的JPEG图像压缩算法过程为

(1)离散余弦变换(DCT)

(2)量化(3)行程编码和烯编码(如图3-1)。

其中二维DCT变换公式为:

当u,v=0,CU,CV=

否则CU,CV=1(3-1)

量化主要通过原始数据除以量化表得到。

量化表值可以根据需要自定,其值规定了其所对应DCT系数的量化步长。

编码根据直流和交流数据分别采取不同的编码方式。

对DC系数,采用DCPM编码,前子块的DC系数被用来预测当前子块的DC系数进行差值无失真编码。

对于AC系数,先按照Zig-Zag序列扫描,再进行游程编码。

最后将所有码值进行熵编码,由此形成JPEG图像格式。

3.2JPEG算法的优化

尽管JPEG基本系统能够对图像进行低压缩比压缩,但是DCT和IDCT在软件实现的过程中,是最耗费时问的运算,而且,由于没有考虑图像本身的频谱特性,JPEG量化表对于所有图像压缩并不一定最优。

采用快速DCT算法可提高软件的速度,增强软件的实时性。

同时,根据图像本身的频谱特性,自适应改进JPEG推荐的量化表。

3.2.1快速DCT算法

如果将一幅图像分成许多8*8的小块后直接进行2D-DCT变换,运算量将会十分巨大。

因此需要将8*8二维DCT变换转换成为两次8点的一维DCT的复合运算。

具体做法是对每一个8*8块,先做列方向上的DCT,得到一个中问矩阵,再对该矩阵各行进行DCT。

可以看到,8*8矩阵的2维DCT可以转换成16次一维8点DCT。

目前,针对一维DCT运算,很多不同的DCT快速算法已经提出。

其中LoeffIer算法[6]需要的计算量最小。

图3-2给出了Loeffler算法的流程图。

Loeffler算法将8点的一维DCT运算分为4级运算,由于各级之间的输入输出的依存关系,4级操作必须串行进行,而各级内部的运算可并行处理。

图3-3三种运算因子

流程图中有三种运算因子:

蝶形因子、旋转因子和倍乘因子,分别如图3-3中的a,b,c所示。

蝶形因子的运算关系为:

O0=I0+I1

O1=I0-I1

需要2次加法完成;倍乘因子的输入输出关系比较简单:

,只需1次乘法;旋转因子的运算关系为:

需4次乘法2次加法完成。

如果对其输入输出关系式做以下变换:

只需要3次乘法3次加法。

其中

以及它们的和差都是已知系数,通过查表获得。

由此计算,可知,一个8点DCT的Loeffner算法共需要11次乘法29次加法。

从DSP汇编语言编程的角度来看,一个代数运算应包括取操作数、运算、存操作数三个步骤。

因此,该算法大约需要120条指令。

C5409的运算能力很强,支持单周期加/减法和单周期乘法运算,并且能够在单周期完成两个16位数的加/减法运算,再加上DSP中有3组数据总线,因而可以利用长操作数(32位)进行长字运算。

在长字指令中,给出的地址存取的总是高16位操作数,因而只需5条长字指令即可计算2个蝶形运算。

加上采取其它的一些优化措施,大约90条指令完成Loeffler算法。

虽然Loeffler算法运算量最小,但是运用于本文系统并不是最优。

因为该算法是为高级语言设计,没有利用汇编语言的特点和DSP硬件的特点。

本文提出了基于DSP乘法累加单元的D(、T快速算法。

DSP的乘法累加单元能在单周期内完成一次乘法和一次累加运算。

如汇编指令(表3~1所示)运用于DCT运算,将大大简化程序的复杂度并减少计算的时间。

表3-1C5409双操作数乘法累加指令

指令

表达式

字数

周期

MAC

Xmen,Ymen,Src,[dst]

Dst=Src+Xmen*Ymen.

T=Xmen

1

1

MACR

Xmen,Ymen,Src,[dst]

Dst—Rnd(Src+Xmen*Ymen),

T=Xmen

1

1

具体算法如下:

利用蝶形运算:

S0=X(0)+X(7);S7=x(0)-x(7)

S1=X

(1)+X(6);S6=x

(1)-x(6)

S2=X(Z)+X(5);S5=x

(2)-x(5)

S3=X(3)+X(4);S4=x(3)-x(4)

展开一维DCT公式:

当K≠0(3-2)

经过化简合并后结果如下:

y(0)=aS0+aSl+aS2+aS3

y

(2)=fS0+gSl-gS2-fS3

y(4)=aS0-aSl-aS2+aS3

y(6)=gS0-fS1+fS2-fS3

y

(1)=eS4+dS5+cS6+bS7

y(3)=-dS4-bS5-eS6+cS7

y(5)=cS4+eS5-bS6+dS7

y(7)=-bS4+cS5-dS6+eS7

其中:

从上面表达式可以看出,y(o)-y(7)都是乘法累加运算,而So-7可由x(O)⋯x(7)经过蝶形运算得到,因此DCT算法由原来的四级运算变成两级,即第一级蝶形运算和第二级乘法累加运算,第一级蝶形运算共要10+4—14(10次计算操作和4次辅助操作)条指令.第二级运算每个输出要4+1+1=6条指令(做4次乘法累加运算、1次读取操作和1次存储操作),一共48条指令,这样计算一个8点DCT要62条指令。

这样大大缩减了运算的时间,提高了CPU的工作效率,增强系统的实时性。

3.2.2量化运算优化

在JPEG图像压缩技术中,传统量化的核心是量化表。

所谓标量量化就是对8*8图像块的DCT变换系数使用量化表组逐个相除并四舍五入。

JPEG推荐了色度与亮度两个最化表,它按照自然图像进行高频与低频部分压缩量的比率分配。

但是如果图像信号频率分布不均,如高频分量很多或低频分量很多,这个量化表就不是最优的了。

因此如果按照图像高频低频的具体情形对量化表调整,就可以在质量相同的情况下获得更高的压缩率,或者在压缩率相同的情况下获得更高的图像质量。

本文提出的根据事实情况自适应量化方法,即量化阶段采用二次计算的方法,其算法过程主要为两步:

(1)对变换后的图像系数进行自适应处理。

(2)构造新的量化表。

具体方法如下:

首先求出亮度分量和两个色度分量在频率域中所有8*8子块的63个交流系数绝对值的平均值P(u,v),其中u,v=o⋯7为位置信息。

接下来求出63个交流系数平均值中的最大值,Z1(u,v)=MAX[P1(u,v)],最后将63个交流系数平均值进行归一化处理,同时加入频率位置信息,分别得出亮度和色度量化表中63个交流分量的矫正系数,计算过程如式:

(3-3)

由此可以得到量化表的矫正式Qp1(u,v)=Q1(u,v)/X1(u,v)对JPEG量化表进行矫正,作为最终的量化表进行量化。

将上述矫正后的量化表作为最终的量化表,对图像进行标准JPEG压缩形成完全符合JPEG格式的压缩文件。

本算法的解码过程与标准JPEG解码过程完全相同,可以看出它也是标准JPEG编码过程的逆过程。

4实验结果

4.1快速DCT运算

表4-1三种算法比较

Loeffler算法

Loeffler算法用于DSP

本文算法

单周期指令条数

120

88

62

测试时间

1243ns

885ns

628ns

将本文提出的算法,Loeffler的DSP优化算法和纯Loeffler算法分别进行测试。

结果如表4-1,我们可以看到本文算法较Loeffler的DSP优化算法大约节省了1/4的时间,较纯Loeffler算法大约节省了一半的时间,其效果是十分明显的。

(5409时钟频率100M)

4.2自适应量化

表4-2同压缩比下峰值信噪比的比较

StandardJPEGMethod

CompressionratePSNR/dB

AdaptivequantizationJPEG

CompressionratePSNR/dB

3.419

34.925607

3.422

35.411581

4.389

34.968248

4.483

33.417525

5.027

31.913288

5.190

32.361502

8.321

28.730976

8.446

29.916548

16.022

21.996012

16.309

23.425712

就自适应量化器进行了微机仿真。

本文采用中等复杂度的标准图像作为测试图,与基本JPEG系统进行性能比较。

(基于峰值信噪比(PSNR))。

只将JPEG标准方法中的量化表更改为3.2.2修正的量化表,就可以在同等压缩比下,提高恢复图像的质量。

表4—2为不同压缩比下,采用JPEG量化表和自适应量化表两种方法的峰值信噪比的比较。

从压缩比和峰值信噪比的对比结果可看出,自适应量化JPEG方法在压缩比略高于标准JPEG方法。

5结论

本文以TI的TMS320VC5409作为开发平台,实现了一种新的JPEG图像压缩系统。

该系统的优点是提高了JPEG的运行速度,增强了图像的压缩率和质量,并且易于硬件实现。

这一实现方案可应用于需要对视频图像进行实时采集、压缩及存储的绝大部分场合。

参考文献

[1]黎洪松,成实译.JPEG静止数据压缩标准[M].北京:

学苑出版社,1996.

[2]林福宗.图像文件格式(上)[M].北京:

清华大学出版社。

1996.

[3]TMs320VC5409Datasheet,[DB/0L].LiteratureNumber:

SPRS082C;TexasInstruments;April1999

[4]wissamRabadi,RajTalluri,K1auslllgnereta1.ProgrammableDSPPlatform,forDigital

StillCameras.TexasInstrumentsIncorporated,[DB/0L].LiteratureNumber:

SPRA651-April,2000

[5]张雪松,倪国强,周立伟,基于JPEG标准实时图像编码系统的研究,[N].北京理工大学学报1998年,V01.18,No.2

[6]10efflerC,LigtenbergA,MoschytzG.Praticalfast1-DDCTalgorithmwith11multipIication,[J].procint1confonAcousticsSpeech,andSignalProcessing,1989(I—CASSP89).988—991.

[7]齐美彬,基于DsP的视频图像压缩系统的研究,[D].合肥工业大学硕士学位论文,2001年6月

[8]庄克玉,黄洪全,实时图像处理系统的DSP实现,[J].自动化技术与应用,2004年,V01.23,No.3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1