基于TMS320C6416的实时二代小波变换_第1页
基于TMS320C6416的实时二代小波变换_第2页
基于TMS320C6416的实时二代小波变换_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、引言 通常是分为偶数序列和奇数序列,即:提格升式(1ifting scheme)是由 swel-dens 和 daubechies 等(1) 人于上世纪九十年代中期提出,是一种不同于传统的依靠傅立 预测(predict):预测过程是针对数据间的相关性,用 叶变换构造小波的新方法,基于提升格式的小波变换又称为二来预测,其误差为:代小波变换。传统小波变换基于浮点运算,在字长有限的情况 (2) 下无法实现精确重构,对内存的需求量大,运算速度慢。而二代 其中, 为预测算子;预测主要从信号中分离出高频成分。 小波变换基于整数运算,且具有原位计算、反变换容易实现等 更新(update):更新的目的就是用

2、来修正 区 ,使 优 点 ,非常 适 合 dsp 的实 时 实 现,二 代 小 波变 换 已 成为 得修正后的数据 保持整体性质与原始数据 性质一 jpeg2000 标准的关键技术。 致,即:文献中设计了基于 pc 机的视频图像实时小波变换系统,(3) 但其不便于用到便携式应用场合。近年来,数字信号处理(dsp)其中, 表示更新算子,经更新从信号中分离出低频分量。 芯片取得了长足的进展,其处理速度越来越快,资源越来越丰将提升方案稍加改动,即在提升的步骤中加入取整操作, 富,处理能力越来越强,非常适合于需要具有快速、海量数据处就可得到一种整数到整数的小波变换。由于整数小波变换及其 理能力的应用场

3、合。ti 公司的 tms320c64x 系列 dsp 是近年反变换过程涉及到的系数全是整数,能够用 cpu 的有限字长精 dsp 家族的一个典型代表,它高达 1ghz 的系统时钟、8000mips确表示,不会产生误差,使得原始数据能精确重构。设计中,选 的处理能力以及丰富的存储器资源使它特别适合应用于数字用整数 cdf (2,2) 可逆双正交小波,也称为 53 整数小波,在 图像处理系统的设计中。本文提出了一种基于 dsp 多级二代小jpeg2000 中用于无损压缩。其提升实现过程分别由公式(4)和 波变换的快速实现方法,并在 tms320c6416 硬件平台上实时(5)表示如下:实现。实验结

4、果表明,采用该方法设计的小波变换模块具有较 (4)高的实时性,可以应用于小型实时图像处理系统中。1 基于提升格式的二代小波变换原理 (5)式中代表取整运算。提升格式(1ifting scheme) 给出了二代小波简单而有效的构造方法,其基本思想是将传统 mallat 算法中的小波滤波运算分 2 多级二代小波变换的快速实现方法解成提升的形式,分步骤完成小波变换,它的实现过程主要包 通常的 2 维二代小波变换是先进行水平方向的 1 维提升,括三个步骤: 分裂(split); 预测(predict); 更新(update)。再进行垂直方向的 1 维提升,因此在水平扫描数据后要进行垂 假设是离散信号序

5、列。直方向的处理,上一步变换的中间数据不能马上利用。本文采 分裂(split):分裂过程是将信号分裂成为两个序列,用一种循环交叠的水平/垂直双提升的方法实现多级二代小波 变换,先从水平提升开始,当小波变换的级数为奇数时,中间进行交叠的水平/垂直双提升,最后进行一次单垂直提升;当小波余福荣: 硕士变换的级数为偶数时,中间进行交叠的水平/垂直双提升,最后基金项目: 国家自然科学基金资助项目(60603097)文章编号:1008-0570(2009)05-2-0133-03基于的实时二代小波变换tms320c6416real -time implementation of the second ge

6、neration wavelet transform based ontms320c6416(中国科学院沈阳自动化研究所) 余福荣罗海波 李德强yu fu-rong luo ha i-bo li de -qia ng摘要: 本 文提出了一种多级二代小波变换的快速实现方法 , 即采用交叠的水平 / 垂直提升方法实现多级二代小波变换 ,同 时通过多种优化措施提高算法的实时性 , 并 论 述 了 基 于 tms320c6416 的实时二代小波变换的实现过程 。 实 验 结 果 表 明 , 该 方 法能 以 50 帧/ 秒 的 速 率 实 现 3 级二代小波分解 , 且有较大的时间冗余 , 满足实时图

7、像处理系统的要求 。关键词: 实时小波变换; 提升格式; 二代小波变换; dsp; 图像处理中图分类号: tn911.73文献标识码: aabstract: the paper proposes a fast implementation approach of the second generation wavelet transform with interleaved vertical/hori-zontal lifting, and a series of optimization methods are used to improve the algorithm. furthermo

8、re, the real -time implementation pro- cess of the second generation wavelet transform on tms320c6416 dsp is discussed. the experiment shows the approach can be real- ized at 50f/s. it is proved that it is a feasible and effective method for real-time image processing.key words: real-time wavelet tr

9、ansform; lifting scheme; the second generation wavelet transform; dsp; image processingds p 开 发 与 应 用微计算机信息( 嵌入式与 s oc ) 2009 年第 25 卷第 5-2 期进行一次水平单提升。采用交叠水平/垂直双提升的 3 级二代小波变换原理如图 1 所示。这种方法的主要优点是:(1) 利用两个连续的水平/垂直提 升作为一个单独的双提升,封装在一个函数中实现,达到减少调用提升函数次数的目的,对 n-1 级分解仅需要 n 次调用提 升函数,而传统的多级二代小波变换需要 2(n-1)次调用提

10、升 函数,这大大节省了调用函数的额外开销。(2)前半个双提升后的数据能够直接用于后半个双提升,节省了中间变量占用的内存资源,同时也减少了访问中间变量的次数,提高了算法运行 的速度。fpga 与 dsp 数据的高速传输。用在场消隐期间产生的场同步信号作为触发 edma 事件的中断信号控制数据传输,使数据在 场消隐期间完成传输,确保了视频同步和有效显示。3.3 算法的优化在 ti 公司 dsp 开发环境 ccs2.0 下进行了算法的调试与 优化,算法优化就是最大限度地提高程序的运行速度并有效减小代码量,未经过优化的代码在 dsp 平台上执行效率非常低。3.3.1 项目(project)级优化项目级

11、优化主要是指在对整个项目进行编译链接生成dsp 代码时,进行合理的参数选择。对算法编译时,联合使用 了-pm 与-o3 编译选项来调用最高级别的软件流水线优化,改 善了循环代码的编排,增加了 dsp 代码的并行度,大大提高了 指令的执行效率。3.3.2 程序级优化1) 数据打包处理 数据打包处理是一种用单指令对多个独立的数据执行相同操作的处理方法,c64x 系列芯片支持大量的数据打包处理 指令,c6000 编译器提供了内联函数与其对应。针对算法中频繁的内存读写,采用了数据打包函数 _aemd8 (void *)来一次访 问 4 个 16 位数据、8 个 8 位数据,节省了读写访问时间;用打包

12、处理函数 _add2(int data1 int data2)完成对 int 型数据 data1 和 data2 的高低半字分别相加,一个指令周期即可实现两个 short型数据的加法。2)进行循环展开c6416 dsp 的并行化运算程度很高,但是如果程序中判断3 %1 %图 1 采用交叠水平/垂直提升的 3 级小波变换基 于的 二 代 小 波 变3tms320c6416换实时实现3.1 实时 3 级二代小波变换实现过程 采用的实验平台是基于 tms320c6416 的实时图像处理系统,主要由 dsp、fpga 和视频编/解码芯片构成。整个系统的工 作流程为:由 ccd 采集模拟视频信号输入视频

13、解码器,视频解 码器进行 a/d 变换将模拟视频信号转换为数字视频信号,数字 化后的视频数据输入到 fpga,在 fpga 内进行数字图像采集 与预处理,然后将图像数据写入 dsp,在 dsp 内进行二代小波变换,并将处理过的用于显示的小波变换数据回传至 fpga,再 经 fpga 输入视频编码器,最后由监视器实时显示。在 fpga 中设计了两个双口 ram(ram0 和 ram1),ram0用于缓存从视频解码器采集到的一场数据(512x256);ram1 用 于接收 dsp 处理完的小波变换数据。 tms320c6416 内嵌有8mbits 的 ram,为了提高实时性,减少访问外部存储器的时

14、间,将算法用到的数据全部存放在 dsp 的内部 ram 中;因此,在 tms320c6416 内 嵌 ram 中 规 划 了 三 个 存 储 空 间(ram2、 ram3 和 ram4),ram2 用于存储 emifa 接口输入的一场数据,奇偶场分时共享 ram2 缓存,ram3 用于存储小波变换的 中间变量,ram4 用于存储 dsp 处理完的数据。实时 3 级二代 小波变换实现过程如图 2 所示。技术创新跳转过多,或者程序的循环嵌套过多都将破坏 dsp 的流水线,这将严重影响 dsp 的指令执行效率。所以本文充分利用了 dsp芯片的特性对程序内层循环嵌套进行了展开,增加流水线长 度,提高指

15、令执行效率。3)使用内联函数(intrinsics)c6000 编译器提供了许多内联函数,内联函数直接与c6000 汇编指令映像可迅速优化 c 代码。算法中使用内联函数_avg(int data3 int data4)实现对 data3 和 data4 的高低半字有符 号数分别求平均值,一个指令周期即可完成两个求 short 型数据的平均值。4)汇编程序级(lireal assembly)优化 汇编程序级优化是指在经过项目级和 c 语言级优化后,代码的执行效率仍然达不到实时性要求时,将费时函数和常调用函数直接用线性汇编语言改写,本算法中采用了线性汇编语言 和 c 语言混合编程的方式编写双提升变

16、换函数 d_swt (),使 其运行速度提高了近 3 倍。emif实验结果与分析4实验测试平台为基于 tms32oc6416 的实时图像处理系统,系统时钟为 800mhz,采集图像为 512*512 的灰度图像,每个 象素用 8bit 表示。这里做了一级二代小波变换优化的对比实验和用不同方法实现三级二代小波变换的对比实验,实验结果分别如表 1 和表 2 所示。表 1 1 级二代小波变换优化前后实验数据图 2 实时 3 级二代小波变换系统框图在 dsp 的 ram2 中缓存了一场图像数据,这样可以在接收 偶场数据的同时处理奇场数据。dsp 接收到一场数据后,马上就可进行水平变换,并将中间变量存储

17、在 ram2 中;当下一场数据来时,先进行场水平提升,然后进行帧的交叠垂直/水平双 提升,最后做 3 级垂直提升;为了在监视器上实时显示,需要对小波变换后的数据进行调整,使数据在 8bit 灰度图像显示范围(0-256)内。本系统采用 dsp 的 edma 方式通过 emif 数据总线实现11111111 11111111111 1111111111111111111111 111111111111111111111111 11.6ms1.86ms0.88msd/a ccda/dtmsg20c6416ram2 !#$% fi / %!#$&fpgaram0ram12 % 3 % % 1 % 2

18、 % %表 2 3 级二代小波变换对比实验数据5靳济芳,visual c+小波变换技术与工程实践,人民邮电出版社,2004, 42-45。6tms320c6000 code composer studiousers guide,texasinstruments incorporated,may, 2000.7tms320c6000 c/c+ optimizing compiler users guide,?texasinstruments incorporated,april,2001.作者简介: 余福荣(1977) ,男(汉族),江西临川人,硕士,研究 方向为数字图像处理及其硬件系统设计;罗

19、海波 (1967),男(汉族),江西吉安人,研究员,研究方向为图像处理与模式识别,并行信号处理器体系结构biography: yu fu - rong (1977 - ), male, han, linchuan jiangxi, computer master, major research in image processing and hardware system design.由表 1 中实验数据可知,经过优化后的算法的性能得到大大提高,算法的处理速度提高了 10-20 倍。因此,算法的优化是 非常有效而必要。从表 2 的实验数据可以看出,采用交叠双变换方法实现多级小波变换能明显改善

20、算法性能,算法的处理速度提高了近 11%。图 3-1、图 3-2 和图 3-3 分别是用 ccs2.0 工具软件截取的1 帧原图像和 1 级与 3 级实时小波变换后的图像。(110016 中国科学院沈阳自动化研究所) 余福荣李德强(100039 北京 中国科学院研究生院) 余福荣罗海波(shenyang institute of automation, the chinese academy ofsciences, shenyang 110016,china)yu fu-rong luo hai-boli de-qiang(graduate school of the chinese acad

21、emy of sciences, beijing100039, china)yu fu-rong通讯地址:(110016 辽宁 沈阳 东 陵 区 南塔 街 114 号 中国 科 学 院沈阳自动化研究所 光电信息研究室) 余福荣(收稿日期:2009.04.03)(修稿日期:2009.05.05)图 3-1 原图像图 3-2 1 级二代小波变换后图像(上接第 174 页)本文作者创新点:利用 fpga 设计单片机的外设接口电 路,并利用 vhdl 语言编程实现。参考文献1甘历. vhdl 应用与开发实践m. 北京: 科学出版社,2003. 2李洪伟, 袁斯华. 基于 quartus 的 fpga/

22、cpld 设计m. 北 京: 电子工业出版社,2006.3杨大柱. 基于 fpga 的 uart 电路设计与仿真j.微计算机信 息,2007,5-2:212-213.4陈黎鹃,张帆,吴开志.基于 fpga 单片机外设接口电路优化设 计j.计算机与现代化,2006, 10:9294.5 hu zhe,zhang jun,luo xi -ling.a novel design of efficient multi-channel uart controller based on fpga j.chinese jour nal of aeronautics,2007,20:6674.作 者 简 介

23、:苏玉娜(1982-),女(汉),河南,郑州大学硕士研究生。研究方向为电路与系统。程明(1949-),男(汉),河南,郑州 大学教授、硕士生导师,从事通信和计算机应用的研究。biography: su yu - na (1982 - ) ,woman (han) ,henan ,zheng zhou university ,master ,research area :electrocircuit and system.图 3-3 3 级二代小波变换后图像结论5文中主要论述了基于 tms320c6416 的实时二代小波变换的实现过程,提出了一种快速实现多级小波变换的方法,并用 各种优化措施提高了算法的实时性。实验结果证明,采用交叠水平/ 垂直提升方法实现多级小波变换能明显改进算法的性 能,而算法优化措施能充分利用高速 tms

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论