基于TMS320C5409的图像压缩系统

发布者:pingbashou最新更新时间:2008-10-23 来源: 电子设计应用关键字:TI  DSP  图像压缩 手机看文章 扫描二维码
随时随地手机看文章

  引言

  随着多媒体和网络技术的发展,数字图像大信息量的特点对图像压缩技术的要求越来越高,因此,专用高速数字信息处理技术成为发展的方向。其中,在硬件技术中,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单片机完成。

基于TMS320C5409的图像压缩系统

  存储空间的扩展方案

  经过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用于存放压缩后的图像和程序以及暂存的数据。

基于TMS320C5409的图像压缩系统

  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所示。蝶形因子的运算关系为:

基于TMS320C5409的图像压缩系统

  D0=I0+I1

  O1=I0-I1

  需要2次加法完成,倍乘因子的输入/输出关系比较简单:基于TMS320C5409的图像压缩系统,只需1次乘法,旋转因子的运算关系为:

基于TMS320C5409的图像压缩系统

  需4次乘法、2次加法完成。如果对其输入/输出关系式做以下变换:

基于TMS320C5409的图像压缩系统

  只需要3次乘法、3次加法。其中,基于TMS320C5409的图像压缩系统和差都是已知系数,可通过查表获得。

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

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

  DSP的乘法累加单元能在单周期内完成一次乘法和一次累加运算。如汇编指令运用于DCT运算,将大大简化程序的复杂度并减少计算时间。具体算法如下,利用蝶形运算:

基于TMS320C5409的图像压缩系统

  从上面表达式可以看出,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个交流分量的矫正系数,计算过程为:

基于TMS320C5409的图像压缩系统

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

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

  实验结果

  快速DCT运算

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

基于TMS320C5409的图像压缩系统

  自适应量化

  对自适应量化器进行仿真。本文采用中等复杂度的标准图像作为测试图,与基本JPEG系统进行性能比较(基于峰值信噪比(PSNR))。只将JPEG标准方法中的量化表更改为修正的量化表,就可以在同等压缩比下,提高恢复图像的质量。表2为不同压缩比下,采用JPEG量化表和自适应量化表两种方法的峰值信噪比。从压缩比和峰值信噪比的对比结果可看出,自适应量化JPEG方法的压缩比略高于标准JPEG方法。

基于TMS320C5409的图像压缩系统

  结语

  本文以TI的TMS320C5409作为开发平台,实现了一种新的JPEG图像压缩系统。该系统的优点是提高了JPEG的运行速度,增强了图像的压缩率和质量,并且易于硬件实现。这一方案可应用于需要对视频图像进行实时采集、压缩及存储的绝大部分场合。

关键字:TI  DSP  图像压缩 引用地址:基于TMS320C5409的图像压缩系统

上一篇:研祥携维宏召开浙江宁海数控行业发展研讨会
下一篇:基于DSP的电力线载波OFDM调制解调器

推荐阅读最新更新时间:2024-05-02 20:42

手把手教你使用TI MSP430 LaunchPad
1、用USB线连接电脑PC和目标板LaunchPad。Windows会自动搜索驱动,当然,一般来说,都是安装失败的。 2、LaunchPad套件并没有提供光盘,驱动在哪里?IAR for MSP430已经集成了TI USB FET的驱动,所以,我们先把IAR for MSP430给安装上,驱动也就有了。这里驱动路径如下:D:ProgramsIAR SystemsEmbedded Workbench 6.0 Evaluation430driversTIUSBFET 至于软件安装时的注册/和谐问题,大家都是很有办法的,你懂的。 3、安装了IAR for MSP430之后,重新拔插USB,Windows 7会自动重新搜索驱动
[单片机]
手把手教你使用<font color='red'>TI</font> MSP430 LaunchPad
TMS320C54x DSP在线烧写FLASH存储器并实现自举引导的方法
摘要:通过一个完整的实例,详细阐述了TMS320C54x系列DSP芯片在线烧写FLASH存储器。并实现自举引导的方法。给出了硬件连接方案和完整的C语言烧写程序。 关键词:TMS320C54x FLASH 烧写 自举引导 在DSP系统中通常贴片式FLASH存储器保存程序,并且在上电或复位时再将存储在FLASH中的程序搬移到DSP片内或者片外的RAM中全速运行。这个“程序搬移”的过程叫做自举加载。 本文以TMS320C5416 DSP对MBM29LV400BC存储器的操作为例,详细阐述了在线烧写FLASH并实现自举加载的方法。该方法适合于大多数C54x系列DSP对符合JEDEC标准的FLASH的操作。为便于读者使用,本文的程序
[应用]
德州仪器视频解码器与数字媒体处理器打造全景泊车辅助系统
2011 年 11月 17 日,北京讯 日前,专注于汽车主动安全产品研发与生产的高科技厂商 — 深圳市汉华安道科技有限责任公司(汉华安道)宣布基于采用德州仪器 (TI) TVP5158视频解码器与DM6437数字媒体处理器平台开发的360度全景泊车辅助系统进入批量生产阶段,进一步满足汽车消费者的安全体验。如欲观看360度全景泊车辅助系统的相关视频,敬请访问: http://www.safdao.com/main/newsview.asp?p=news&id=290 。 TI TVP5158 是一款四通道视频解码器,它支持车身前后左右四个摄像头输入;DM6437则是TI 著名的达芬奇系列产品之一,该DSP能够提供高达600MHz
[汽车电子]
基于集成DSP的视频处理卡在机器视觉中的应用
机器视觉(Machine Vision)是以机器模仿人类视觉的光学识别系统,他利用摄影机和电脑撷取、分析及解释影像内容,进而下达某些决策。由于机器视觉系统可以快速获取大量信息,而且易于自动处理,也易于同设计信息以及加工控制信息集成,因此,在现代自动化生产过程中,人们将机器视觉系统广泛地用于工况监视、成品检验和质量控制等领域。机器视觉系统的特点是提高生产的柔性和自动化程度。在一些不适合于人工作业的危险工作环境或人工视觉难以满足要求的场合,常用机器视觉来替代人工视觉;同时在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。视觉的最大优点是与被观测的对象无接触,因此对
[嵌入式]
一种纸币识别系统的设计
  纸币清分是银行的一项重要业务。 目前,国内很多银行使用的纸币清分机都是由国外进口的,价格昂贵。国产纸币清分机很少,而且功能都很有限,很难满足高速实时性的要求,尤其是能够用图像处理的方法来识别纸币的纸币清分机还刚刚起步。   为此,设计了一种纸币识别系统。该系统以DSP为核心处理器,结合图像传感器CCD和复杂可编程逻辑器件CPLD,并辅以高性能的模/数转换器AD9200,进行纸币图像的采集、处理。该系统主要针对人民币第四版和第五版的5元、10元、20元、50元、100元九种纸币进行识别,利用数字图像处理技术和改进的自组织映射神经网络(SOFM)提取纸币图像的长度、宽度、方向块特征,区分纸币的面值、正反面与正反向。最终完成
[嵌入式]
一种纸币识别系统的设计
可自定义的片上外设颠覆传统逻辑,TI助力工程师发挥创造力
可自定义的片上外设颠覆传统逻辑,TI助力工程师发挥创造力 全球各地的实验室都会出现这样似曾相识的场景:设计工程师努力突破限制,试图增强功能或提高性能。然而,当深入到底层系统时序时,便会出现设计僵局。因为他们可能需要更改关键控制信号的解决方案。这种状况会限制工程师发挥创造力,只寄希望于:“可以在控制外设内自定义逻辑和时序就好了。”现在,有了 C2000™ 微控制器 (MCU) 的可配置逻辑块 (CLB, Configurable Logic Block),这个愿望已成为现实。 什么是 CLB? CLB 将一个经优化的高速可编程逻辑集成到 C2000 MCU 等实时控制器中,为增强型脉宽调制器 (PWM)、增强型捕捉、增
[嵌入式]
可自定义的片上外设颠覆传统逻辑,<font color='red'>TI</font>助力工程师发挥创造力
德州仪器免费软件协议栈为大众市场带来 ZigBee技术
ZigBee 开发套件与 ZigBee 2006 协议栈现已提供最新版本;Z-Stack 包含对 TI MSP430 超低功耗 MCU 的支持 2007 年 4 月 24 日,北京讯 日前,德州仪器 (TI) 宣布推出业界领先的 ZigBee协议栈 (Z-Stack) 的免费下载版本,用户可通过 www.ti.com/zigbee 进行下载。Z-Stack 达到 ZigBee 测试机构德国莱茵集团 (TüV Rheinland) 评定的 ZigBee 联盟参考平台 (golden unit) 水平,目前已为全球众多 ZigBee 开发商所广泛采用。Z-Stack 符合 ZigBee 2006 规范,支持多种平台,其中包括面向
[新品]
德仪推出高集成度SD/MMC电压电平转换器
日前,德州仪器 (TI) 宣布推出高集成度的微型安全数字 (SD)/多媒体卡 (MMC) 电平转换器,如今工程师不仅能够桥接两个完全不同的电压节点,同时还能一如既往地保持数字转换的兼容性。该转换器的自动方向电路系统使客户无需对处理器上的通用输入/输出 (GPIO) 进行编程即可实现方向控制,从而能显著简化电路板的设计,进而减少所需引脚数。采用 2 毫米×1.6 毫米晶圆级封装 (WCSP) 的 TXS0206 具有高集成度这一优异特性,不仅可精减超过 10 个外部分立组件,而且还可降低移动手持终端、数码相机以及便携式导航设备等消费类电子产品的整体系统成本。 TXS0206 的特性 • 时钟频率高达 52 MH
[手机便携]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved