EDMA3在JPEG2000小波数据传输中的应用

时间:2022-07-29 05:28:46

EDMA3在JPEG2000小波数据传输中的应用

摘 要:JPEG2000图像压缩算法分为小波变换、嵌入式块编码和优化截断三个模块,三个模块间存在数据交互,为满足系统的实时性要求,本文采用TMS320C6678新型DSP,基于EDMA3实现了模块间的数据后台传输,并通过EDMA3的相关配置,在位平面扫描开始前,完成了小波数据传输和数据结构的优化调整,减少了位平面扫描的小波数据读取次数,避免了不必要的系统开销。

关键词:JPEG2000;多核DSP;TMS320C6678;并行方案;EDMA3

中图分类号:TP274 文献标识码:A 文章编号:1674-7712 (2013) 22-0000-02

卫星遥感图像随着分辨率的提高,产生的海量数据对存储和传输提出了挑战,为了获得高压缩比、高质量的实时图像压缩,JPEG2000静态图像压缩标准在卫星遥感图像实时压缩领域得到了广泛应用[1-3]。针对JPEG2000编码算法复杂度高、运算量大的特点,采用高性能多核DSP(如TMS320C6678)实现并行图像压缩,能有效提高图像的压缩性能。

TMS320C66X[4]系列采用梯形多内核架构,不但最大限度地提高了片上数据量的吞吐量,而且还可以消除可能出现的瓶颈问题,释放了多内核的强大功能,在性能、精度、功耗、实时等方面打破了图像压缩应用中“不可兼得”的局面。特别是8核TMS320C6678每个内核都同时具备定点和浮点运算能力,运行速率能达到10GHz。

JPEG2000算法分为小波变换(Transform)、嵌入式块编码(Embedded Block Coding,EBC)和优化截断(Optimized Truncation,OT)三个模块[5],EBC模块算法复杂、计算量大,适合采用TMS320C6678的多个核并行实现。通过对EBC算法的拆分,DSP采用EDMA方式进行数据搬移,可以使算法与数据搬移并行实现,不占用CPU,从而实现数据搬移的“零时间”[6]。为了提高位平面的扫描效率,在扫描前需对小波数据块的存储结构进行优化调整,增加了额外的开销。本文基于TMS320C6678使用EDMA3在实现数据搬移的同时实现了小波数据块结构的优化存储。

一、基于TMS320C6678的JPEG2000并行压缩方案

自从20世纪70年代末,第一片数字信号处理芯片问世以来,DSP就以数字器件特有的稳定性,可重复性,可大规模集成,特别是可编程性高和易于实现自适应处理等特点,给数字信号处理的发展带来了巨大机遇。德州仪器(TI)在2010年推出的TMS320C66X可扩展DSP器件可提供业界高性能的多核DSP。为使图像系统性能和效率达到最高,同时考虑系统容错等特性,我们选择了8核DSPTMS320C6678。

图1 TMS320C6678芯片片内结构

TMS320C6678具有8个速率高达1.25GHz的高性能DSP,每周期定点性能高达32MAC,每周期浮点性能高达16 FLOP。每个核配置了32KB的一级程序存储器L1P,32KB的一级数据存储器L1D,512KB二级局部存储器L2,并有多核共享存储空间控制器(MSMC)和多核导航来控制多核间的协同工作。(TMS320C6678芯片片内结构如图1所示)

JPEG2000图像实时压缩设备采用基于TMS320C6678的硬件平台来实现,系统结构如图2所示。

图2 基于TMS320C6678的JPEG2000压缩系统结构

JPEG2000算法中Transform模块由Core0完成,EBC模块由Core1至Core5共同完成,Core6负责OT模块。各模块间的中间数据由外部SRAM存储,数据传输由EDMA3完成。经Transform模块处理产生的小波系数存储方式为按行存储。而EBC算法的位平面扫描方式为按列扫描(位平面扫面方式如图3所示),为充分发挥DSP数据存储器双字读写的潜能(其前提是地址连续),一次读写4个16位小波数据,需要对小波系数存储的结构进行调整。

本文基于EDMA3提出一种小波数据存储结构优化方案,如图4所示,图中的每个元素表示一个样本。其优化思想是,在EDMA3传输数据的同时将小波数据的存储结构由按行存储改为按列存储。优化后,每列的4个样本地址空间连续。

图3 位平面的扫描方式

图4 小波数据存储结构优化调整

二、基于EDMA3的数据搬移及存储结构优化

EDMA3是数字信号处理器用于快速数据交换的重要技术,具有独立于CPU的后台批量数据传输能力,能够满足实时图像处理中高速数据传输的要求。TMS320C6678采用最新的EDMA技术EDMA3,EDMA3控制器主要包括两部:EDMA3通道控制器和EDMA3传输控制器[7]。

EDMA的实现步骤:(1)初始化并打开EDMA3模块;(2)EDMA3模块设置,并得到该模块的设置值;(3)启用DMA和QDMA区域;(4)打开指定的QDMA通道'channelNum';(5)PING使用参数寄存器入口1;(6)PONG使用参数寄存器入口2;(7)配置PARAM;(8)启用通道;(9)通过设置触发字启动QDMA传输;(10)轮询IPR位;(11)清除挂起位;(12)EDMA3模块。

通过对参数寄存器组和控制寄存器组进行恰当配置(EDMA3传输配置如图5所示,各寄存器的详细介绍参见文献[7]),实现了后台每次4行小波数据的传输和对传输数据结构的优化调整。图6所示为传输4行,每行64个小波数据样本的EDMA3通道控制寄存器组配置,每个样本用16位表示。

图5 EDMA3通道控制寄存器组配置 图6 EDMA3小波数据重排传输配置

三、分析总结

在1个编码块的位平面编码过程中,以样本读取累加次数为15次,每次读操作需要4个时钟周期,采用TMS320C6678的EDMA3实现小波数据块的传输和存储结构优化,执行EBC的内核读取一列样本只需要1次读操作,节省了75%的数据读取时间,累计可节约时间为

由于采用的TMS320C6678主频为1.25GHz,极大地提高了位平面扫描时小波数据读取的速度,虽然采用EDMA3在隐藏数据搬移的同时实现了小波数据块结构的优化,减少了图像压缩系统的开销,这样的存储结构优化对于一个小波数据块的读取节约的时间并不明显,但在海量数据图像压缩时,面对海量小波数据块的读取具有相当大的意义。

参考文献:

[1]Nicholson D,Kajfasz P.An effective satellite on-board JPEG2000 image(de)coding implementation based on PIRANHA systematic-DSP[C]//20th AIAA International Communication Satellite Systems Conference and Exhibit.2002:1-6.

[2]Trenschel T,Bretschneider T,Leedham G.Using JPEG2000 on-board mini-satellites for image-driven compression[C]//Geoscience and Remote Sensing Symposium,2003.IGARSS'03.Proceedings.2003 IEEE International.IEEE,2003,03:2033-2035.

[3]赵清,林宝军,张善从.JPEG2000遥感图像实时压缩系统[J].计算机仿真,2007,03:180-183.

[4]TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor Data Manual.Texas Instruments Incorporated,Texas,United States,2011.

[5]Taubman D S.JPEG2000:Image Compression Fundamentals,Standards and Practice [M].Kluwer Academic Publishers,Massachusetts, 2002.

[6]杜列波,肖学敏,罗武胜,等.JPEG2000遥感图像实时压缩系统中基于并行机制的"零时间"数据搬移策略[J].JOURNAL OF NATIONAL UNIVERSITY OF DEFENSE TECHNOLOGY,2008,30(04).

[7] Enhanced Direct Memory Access(EDMA3)Controller User Guide.Texas Instruments Incorporated,Texas,United States,2011.

[8]杜列波.JPEG2000星载图像压缩设备中的关键技术研究[D].国防科学技术大学,2008.

上一篇:SaaS模式在企业管理软件建设中的应用研究 下一篇:浅析电脑的音频制作

文档上传者
热门推荐 更多>
精品范文更多>