您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

基于TMS320C5409的图像压缩体系

发布日期:2011-04-19

小序

   随着多媒体和网络技能的生长,数字图像大信息量的特点对图像压缩技能的请求越来越高,因此,专用高速数字信息处理惩罚技能成为生长的方向。此中,在硬件技能中,TI推出的C5000系列DSP将数字信号处理惩罚器的处理惩罚本领提拔到了一个新的高度,使信号处理惩罚体系的研究重点又回到软件算法上。在压缩算法研究方面,DCT、小波等多个算法由于其高可靠性和高效性也越来越受到青睐。

体系硬件计划

TMS320C5409作为主处理惩罚器的可行性阐发


   TMS320C5409时钟频率为100MHz,性价比极高。采取围绕1组步伐总线、3组数据总线和4组地点总线创建的改造型哈佛布局,取址和读数可同时举行。有独立的硬件乘法器,有利于实现优化卷积、数字滤波、FFT、矩阵运算等算法中的大量重复乘法运算。具有循环寻址、位倒序等特别指令,这些指令使FFT、卷积等运算中的寻址、排序及谋略速率大大进步。有一组或多组独立的DMA总线,与CPU的步伐、数据总线并行事变。

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

   通过阐发不难过到,当处理惩罚一帧大小为640×480的图像时,作JPEG压缩编码所必要的时间为:T=62×10(ns)×640×480=0.19866s,当所处理惩罚的图像辨别率更小时,则压缩每帧所花的时间更少,这对付应用在对及时性请求不是很高的场合是完全可行的。

硬件计划框图

   图1是基于TMS320C5409的图像处理惩罚体系布局图。C5409为中间处理惩罚器,SRAM为DSP片外扩展数据存储器,EEPROM为脱机事变时的步伐存储器,用于存储体系的引导步伐和别的应用步伐,A/D转换部分认真把转换为数字信号的图像存入帧存储器中。地点译码、图像征求体系控制电路孕育产生本体系各部分的地点译码信号,使之映射到差别的地点地区,并控制ADC举行图像征求,这部分由CPLD控制;图像征求芯片的寄存器控制由51单片机完成。

存储空间的扩展方案

   颠末A/D转换的原始图像数据黑白常大的,TMS320C5409的内部仅有32KB的RAM和16KB的ROM,不克不及餍足必要,因此,必须扩展存储器来存放原始图像数据和应用步伐。本文思量外接64KB的RAM和512KB的Flash,RAM利用Cypress公司的CY7C1021V33,Flash采取SST公司的SST39VF512。由于C5409的数据空间仅为64KB,因此采取内存页扩展技能。C5409的扩展输出口1Q和2Q作为扩展内存的页选择信号。用C5409的A15引脚和XF引脚通过3/8译码器来控制扩展存储器片选信号的孕育产生,当A15=0时,选择片内RAM;当A15=1,XF=0时选择片外SRAM;当A15=1,XF=1时选择片外Flash;存储器的扩展如图2所示。将外部扩展RAM的64KB中的48KB用于存放原始图像数据,16KB用于存放压缩后的图像和步伐以及寄存的数据。

DSP芯片电源电路计划

   电源计划中必要思量的重要题目是功率和散热。功率请求:电流的斲丧重要取决于器件的激活度,即CPU的激活度,外设功耗重要取决于正在事变的外设及其速率,与CPU相比,外设功耗是比较小的。以TMS320C5409为例,举行FFT运算时,必要的电源电流最大。因此在计划电源时,必须思量在电源电流和实际需用电流之间留有肯定裕量,由于峰值电流会更大,裕量至少是20%。

   C5409采取了双电源供电机制,事变电压为3.3V和1.8V。此中,1.8V重要为DSP的内部逻辑提供电压,包括CPU和别的全部外设逻辑。外部接口引脚采取3.3V电压。本体系的电源采取了TI公司的两路输出电源芯片TPS73HD318,它是一种双输出稳压器。输出电压一起为3.3V、一起为1.8V,每路电源的最大输出电流为750mA。

JPEG图像压缩算法

JPEG算法的优化


   只管JPEG根本体系可以或许对图像举行低压缩比压缩,但是DCT和IDCT在软件实现的进程中,是最淹灭时间的运算,并且,由于没有思量图像本身的频谱特性,JPEG量化表对付全部图像压缩并不肯定最优。采取快速DCT算法可进步软件的速率,加强软件的及时性。同时,根据图像本身的频谱特性,自适应改造JPEG保举的量化表。

快速DET算法

   要是将一幅图像分成很多8×8的小块后直接举行2D—DCT更改,运算量将会非常巨大。因此,必要将8×8二维DCT更改转换成两次8点的一维DCT复合运算。详细做法是对每一个8×8块先做列方向上的DCT更改,得到一此中间矩阵,再对该矩阵各行举行DCT更改。可以看到,8×8矩阵的2维DCT可以转换成16次一维8点DCT。

   如今,很多针对一维DCT运算的DCT快速算法已经提出。此中,Loeffler算法所必要的谋略量最小。Loeffler算法将8点一维DCT运算分为4级,由于各级之间的输入/输出存在依存干系,4级操纵必须串行举行,而各级内部的运算可并行处理惩罚。

   流程图中有三种运算因子:蝶形因子、旋转因子和倍乘因子,分别如图3中的a,b,c所示。蝶形因子的运算干系为:

D0=I0+I1

O1=I0-I1

   必要2次加法完成,倍乘因子的输入/输出干系比较大略:,只需1次乘法,旋转因子的运算干系为:

   需4次乘法、2次加法完成。要是对其输入/输出干系式做以下更改:

   只必要3次乘法、3次加法。此中,和差都是已知系数,可通过查表得到。

   由此谋略可知,一个8点DCT的Loeffler算法共必要11次乘法和29次加法。从DSP汇编语言编程的角度来看,一个代数运算应包括取操纵数、运算、存操纵数三个步调。因此,该算法约莫必要120条指令。C5409的运算本领很强,支持单周期加/减法和单周期乘法运算,并且可以或许在单周期内完成两个16位数的加/减法运算,再加上DSP中有3组数据总线,因而可以利用长操纵数(32位)举行长字运算。在长字指令中,给出的地点存取的总是高16位操纵数,因而只需5条长字指令即可谋略2个蝶形运算。加上采取别的优化步伐,约莫需90条指令完成Loeffler算法。

   固然Loeffler算法运算量最小,但是运用于本文体系并不是最优。由于该算法是为高级语言计划,没有利用汇编语言的特点和DSP硬件的特点。本文提出了基于DSP乘法累加单位的DCT快速算法。

   DSP的乘法累加单位能在单周期内完成一次乘法和一次累加运算。如汇编指令运用于DCT运算,将大大简化步伐的巨大度并淘汰谋略时间。详细算法如下,利用蝶形运算:

   从上面表达式可以看出,y(0)-y(7)都是乘法累加运算,而s0-s7可由x(0)一x(7)颠末蝶形运算得到,因此,DCT算法由原来的4级运算变成两级,即第一级蝶形运算和第二级乘法累加运算,第一级蝶形运算共要10+4=14(10次谋略操纵和4次帮助操纵)条指令,第二级运算中,每个输出要4+1+1=6条指令(做4次乘法累加运算、1次读取操纵和1次存储操纵),一共48条指令,如许,谋略一个8点DCT要62条指令,大大缩减了运算时间,进步了CPU的事变服从,加强体系的及时性。

量化运算优化

   本文提出了基于实际环境的自适应量化要领,即量化阶段采取二次谋略的要领,其算法重要分为两步:(1)对更改后的图像系数举行自适应处理惩罚;(2)布局新的量化表。详细要领如下:

   起首求出亮度分量和两个色度分量在频域中全部8×8子块的63个交换系数绝对值的均匀值P(u,v),此中,u,v=0…7为位置信息。接下来求出163个交换系数均匀值中的最大值,Z1(u,v)=MAX[P1(u,v)],末了将63个交换系数均匀值举行归一化处理惩罚,同时参加频率位置信息,分别得出亮度和色度量化表中63个交换分量的改正系数,谋略进程为:

   由此可以得到量化表的改正式Qpl(u,v)=Q1(u,v)/X1(u,v),对JPEG量化表举行改正。

   将上述改正后的量化表作为终极的量化表,对图像举行标准JPEG压缩,形成完全切合JPEG格局的压缩文件。本算法的解码进程与标准.JPEG解码进程完全雷同,可以看出它也是标准.IPEG编码进程的逆进程。

实行结果

快速DCT运算


   将本文提出的算法、Loeffler的DSP优化算法和纯Loeffler算法分别举行测试。结果见表1,可以看到本文算法较Loeffler的DSP优化算法约莫节流了1/4的时间,较纯Loeffler算法约莫节流了一半时间,其结果是十明白显的。

自适应量化

   对自适应量化器举行仿真。本文采取中等巨大度的标准图像作为测试图,与根本JPEG体系举行性能比较(基于峰值信噪比(PSNR))。只将JPEG标准要领中的量化表变动为修正的量化表,就可以在划一压缩比下,进步规复图像的质量。表2为差别压缩比下,采取JPEG量化表和自适应量化表两种要领的峰值信噪比。从压缩比和峰值信噪比的比拟结果可看出,自适应量化JPEG要领的压缩比略高于标准JPEG要领。

结语

   本文以TI的TMS320C5409作为开辟平台,实现了一种新的JPEG图像压缩体系。该体系的好处是进步了JPEG的运行速率,加强了图像的压缩率和质量,并且易于硬件实现。这一方案可应用于必要对视频图像举行及时征求、压缩及存储的绝大部分场合。