gzyueqian
18078865874
首页 > 新闻中心 > > 正文

基于双核处理器TMS320DM6446的图像压缩系统

更新时间: 2009-08-13 08:51:25来源: 粤嵌教育浏览量:1243

1  在一片高速双核信号处理器TMS320DM6446芯片上实现了JPEG2000标准的嵌入式图像压缩系统。

       本系统的特点是利用该双核处理器数值运算能力强大的DSP核实现小波变换、量化等,其结果则由逻辑运算强大的ARM核进一步处理实现嵌入零树编码,从而有效提高了DSP核的运算效率。除此以外,该系统集成度高,大幅度降低了图像压缩系统的硬件材料成本。在80MHZ的采样频率下,图像压缩比可达到36.7。其较好的压缩效果和可重构的灵活性满足了工程应用的要求。 

      引言

       JPEG2000图像压缩标准算法[1]主要由小波变换、自适应量化、零树编码组成。其中小波变换包含大量的卷积运算,需要计算能力强大的处理器和大量的外部存储器支持,适合在DSP上实现。而零树编码逻辑运算占较大比例,比较适合用ARM之类的CPU实现。如果在DSP上实现转跳指令比较多的零树编码算法,则DSP的11级流水线将频繁中断,效率下降。

        近年来图像处理系统的核心芯片多采用单核DM642作为处理器[2]。DM642以流水线方式并行工作,采用了C64的核,小波变换速度较快。但DM642不适合做单片系统,因为其量化和编码阶段的逻辑运算效率比较低,另外在芯片设计上也有一些Bug。

        本文选用TI公司C6000系列中速度达4800MIPS的定点双核数字信号处理器TMS320DM6446作为压缩处理器,解决了以上矛盾。DM6446集成了高速C64XDSP处理器和ARM926处理器,两种处理器可以协同工作,DSP处理小波变换部分,ARM处理编码部分。除此以外,DM6446比早期的DM642外围接口更丰富,简化了接口电路的设计。本文主要介绍压缩系统硬件电路结构设计、双核系统的软件设计中注意的问题。本系统实时性较高,可应用于遥感图像、气象预测、银行安全、医疗仪器、媒体娱乐等其它领域。整套系统体积功耗更小,灵活度高,可嵌入各种便携、可移动式产品。

      1   系统的硬件结构

       系统主要由图像采集模块、图像处理模块、图像显示模块、时钟模块构成,如图1所示:

     

   图1  系统硬件框图

      模拟相机采集到图像信息后,送入视频解码芯片SAA7115H进行A/D转换,从8位双通道以YCbCr4:2:2格式进入压缩处理单元。当控制信号CAPEN有效时,DM6446视频端口VP0对图像信号进行捕获,被捕获的图像暂时存放在视频端口VP0的FIFO缓存中,通过编程设置FIFO的满标志位来触发EDMA将图像数据从FIFO送入片内SRAM。此时,DM6446导入程序对数据进行处理,DSP处理器对数据进行小波变换和量化,ARM处理器负责处理零树编码,两者以EDMA方式在SCR(数据交换中心)中交换数据,完成图像压缩。鉴于DSP片内存储空间有限,系统将压缩后的图像数据由EDMA经外存储器无胶合接口EMIF送入外存储器SDRAM中临时存储。当SDRAM满时,产生EDMA中断信号,图像数据流入端口VP2的FIFO缓存并产生中断通知视频端口VP2将数据终输出在LCD上。

       核心处理器为TI公司的TMS320DM6446[3]。这是一款处理速度和DM642[4]同一档次的高速DSP处理器。每一周期能进行4个16-bit的MACS,或8个8-bit的MACS,运行小波变换效率非常高。该芯片采用了先进的达芬奇技术在TI性能较好的C64XDSP内核基础上,高度集成了ARM926处理器、视频加速器、网络外设及外部存储器接口等。它特殊的双核结构提高了处理器的存储能力和运算能力,因此DM6446比DM642更适合处理运算量大的算法。

       考虑到小波压缩需要较大的缓存,因而外挂了64Mb(即8MB)的16位字宽的SDRAM,型号为IS42S16400 [5] ,工作频率133MHZ。 DSP和ARM的程序存储在8位存储器AM29LV033C[6],系统上电后DSP自动通过外设总线EMIF将引导程序搬进片内运行,再由引导程序将全部程序代码载入DM6446。

      解码器选择了Philips公司的SAA7115H[7],其信噪比高达15dB。图像在其内部经过钳位、抗混叠滤波、A/D转换、YUV分离电路到达DSP视频端口。

      2 电路设计考虑

      DM6446外围电压是1.8V,不是传统3.3V的CMOS电平,推动外围3.3V的器件需要缓冲器,噪声容限比较小,这是电路设计中一个很不方便的地方,需要进行低地弹噪声设计。在设计中取尽可能小的电源和地回路之间的距离(30um),引线尽可能短,以降低回路高频感抗,从而压制了地弹噪声。PCB覆铜时,对地过孔连接方式采用了直接连接方式,以牺牲焊接性能来降低地回路感抗。

      PCB采用10层PCB板,其中3个地线层,2个电源层,提高了抑制噪声的性能,减少了地线噪声。并在DM6446周围就近布置了近19个2nf低感抗的高频小电容,以滤除各种地弹噪声。SDRAM的信号平行布线时保持了3倍以上的间距,并匹配了适合的传输线阻抗以抵消信号反射带来的影响。

       CCD相机的模拟地和DM6446数字地路和模拟电路使用的是同一电源,数字器件和信号线与模拟器件和信号线分开布放,数字电路和模拟电路在接近模拟器件的地方一点共地,并采用串接磁珠电感的方法来减少数字电路对模拟电路的干扰。

      3  算法的软件实现

       尽管DM6446的软件架构涵盖了低级的OS驱动程序乃至应用API,可以让开发人员编写图像压缩程序时不需要知道复杂的软硬件细节,并利用标准的OS开发环境编写业界认可的API,实现存储、网络及视频接口功能。但实际中,实现起来并没有那么轻松,仍然需要设计合理的软件结构和编写大量的底层代码。

       3.1  任务分配

       JPEG2000压缩标准的算法比较复杂,还要考虑到后端应用。因此,合理分配计算资源和采用合适的软件结构以减少软件开发的工作量,是非常必要的。系统的软件结构框图如图2所示。

       DSP上主要以流水线方式运行Mallat快速小波变换以及负责ARM与DSP通信的DSP/BIOS LINK。将各级小波分解的中间结果存储于片内RAM和外部SDRAM中,在EDMA的控制下在SCR中进行数据交换。DM6446的EMIF(外部存储器接口)速度可达到133MHz,数据宽度可达到64bits。系统中经过小波变换后的数据宽度为16bits,数据传输率为100MHz,可以满足要求。

       ARM处理器负责零树编码、管理内存、通信控制和其它linux上的上层应用软件。编码处理的先后数据之间具有相关性,需要建立数据链表,要求系统具有可记忆性。

       DSP子系统和ARM子系统通过交换系统(SCR)传输数据,这些开发都可以在TI通用的软件集成环境CCS3.2(Code Composer Studio)中进行,该软件开发环境支持双核开发,比较方便。这样整个系统的各种资源得到合理的使用,软件结构清晰,有效提高了系统的运算效率。

       

 图2 软件结构框图

       3.2  小波变换实现

       Mallat快速小波变换的核心运算为两重循环的向量点乘运算,利用每个周期可以进行8次8位乘加运算的点乘指令DOTPSU4 完成。滤波运算中的四次乘法和三次加法用一条指令来实现,减少了加、乘指令个数,计算速度比较高。算法为手工编写C64的线性汇编程序,送入CCS3.2的优化器进行优化得到。其线性汇编核心程序只有38行,但却占用了DSP几乎80%的计算资源。为了提高内存的使用效率,防止Bank冲突,同时又要保持尽可能高的Cache命中效率,要合理使用一次从内存取64Bit数据的LDDW指令,减少对内存总线的占用。编写好的小波变换程序几乎将C64XDSP的计算资源发挥到了极限。

       3.3  编码实现

      小波分解后的数据送入SRAM后在ARM内进行零树编码。该部分程序主要用C写,操作系统选用Linx。每个节点用两个量记录或不记录,一个为小波系数的值,另一个为标志数0或1。0表示其后的所有子节点对应的小波系数值均为0, 1表示子节点中有非零值。对为0节点的所有子节点对应的小波系数不需要编码。ARM完成编码效率比较高,而且还可以运行其它上层程序。

       4   实验结果

       为了测试压缩后的图像质量和处理速度,将一个240 320象素、灰度级为256的图像进行压缩,关键函数的运行速度和占用系统运算资源的情况如表1所示。

       表1 关键函数测试结果
 

 

耗时(ms)

时钟周期

资源占用

FWT_int32()

38

4277

79.2%

ZT_cd()

30

3380

74.6%

Quant()

6

668

15.3%

 

       本文介绍了基于DM6446的双核图像压缩系统的硬件设计和算法实现。

       具有较高的数据吞吐能力和处理速度,硬件结构更加合理,可以实现单片系统,较之以往的图像压缩系统成本降低了50%。信噪比38.4,压缩比为36.7。可在不改变硬件设计的情况下,通过软件升级来适应新的使用环境。

      5  创新观点

       本文作者创新点是针对ARM和DSP两种处理器处理数据的不同特点设计并实现了双核的图像压缩系统。该设计利用先进的达芬奇技术,简化了系统的外设电路,软件结构清晰灵活,具有可重构性。由于小波变换对二维图像数据处理时,运算量很大,实时性通常都不很理想。该设计提高了系统的数据吞吐能力和运行复杂算法的能力,使这个问题得到了缓解。   

     

免费预约试听课