基于System Generator的二维离散小波变换的算法实现
2012-09-17胡伟,应骏
胡 伟,应 骏
(上海师范大学信息与机电工程学院上海 200234)
离散小波变换[1-2](DWT)现在被大量采用于不同的应用领域。其中它以其良好的时频区域性和多分辨率分析能力,在图像处理方面拓展出新的领域。小波变换是一种很好的图像分解方法,非常适合于分析突变信号而用于静止图像边缘的提取和压缩。因此,小波变换在图像处理中具有十分优越的性能。
另外,由文献[3]得知:当前的小波变换主流设计系统基本采用DSP+FPGA+RAM的架构,但是资源消耗比较大,不利于大规模集成。如果DWT处理能全部用FPGA实现,将十分有利于系统的集成设计。因此,研究一种基于硬件实现的小波变换方法就成为实时图像处理系统的一个关键问题。
1 工作原理
离散小波表换快速算法——Mallat算法,通过一组低通滤波器和高通滤波器,对行、列分别进行滤波实现。
图像为2维信号,2维离散小波变换融合的方法是先对原图进行小波变换,分解成低频近似图像,水平、垂直、对角线3个方向的高频图像;低频部分还可以继续分解。
从式(1)中分析得出结论:小波分解的正交性可使经过多分辨分析得到图像信号的低频、高频分量,消除了数据的相关性。
下面是2种分解情况:
1)在一尺度下的空间分解情况如图2所示。
2 小波变换的实现
2.1 实现平台
这里实现的硬件搭建平台是System Generator。在该平台中可以利用wavescope模块进行波形仿真。进行小波变换的原始图像数据尺寸为64×64,如下图4所示。
图4 原始图像
2.2 实现结构[4-5]
经分析,硬件电路可以分为数据处理链路模块、控制模块、外部图像存储模块和显示变量,如下图5所示。
图5 小波变换的顶层结构
图5中外部图像存储器是一个双口存储器的实现,读者可以将其当做外部的SDRAM。存储器1和存储器2为在每个小波变换阶段结束时将数据写入到其中。Start是系统给的一个激励,让系统开始运行。
图5中的数据处理链路模块完成的功能为将外部存储器读取的数据经过滤波处理后输出给外部存储器。控制电路模块主要是控制外部存储器的读写地址以及使能信号。外部图形存储器模块(即外部SDRAM)可以分为Bank1和Bank2,在程序起始阶段,图像数据分成2块分别存储在Bank1和Bank2中,并且已经写入到存储1模块和存储2模块中。不过为了之后的滤波操作比较便利,所以数据分块存储的结构如图6a和6b所示。
图6 图像数据分布
说明:图6中的数据按照图像垂直方向存储,黑色表示存储该像素位置的数据。这个分块方法在以后的小波变换中也是如此,即每个小波变换阶段结束时,所看到的图像像素的排列分布就是按照上图经行的。
所有阶段的高频分量和低频分量分离都是通过将数据经过滤波器得到的,高频分量和低频分量滤波器公式为
从程序运行的时间角度来看,整个2级小波变换可以分为4个阶段:1级变换列方向滤波、1级变换行方向滤波、2级变换列方向滤波以及2级变换行方向滤波。
第1阶段为第1级垂直方向小波变换,即将垂直方向的低频分量保留在图像的上半部分,将垂直方向的高频分量保留在图像的下半部分,如图7b。
第2阶段为第1级水平向小波变换,即将水平方向的低频分量保留在图像的左半边,将水平的高频分量保留在图像的右半边,如图7c。
第3阶段为第2级水平向小波变换,即将水平方向的低频分量保留在图像的左半边,将水平方向的高频分量保留在图像的右半边,如图7d。
第4阶段为第2级水平向小波变换,即将水平方向的低频分量保留在图像的左半边,将水平方向的高频分量保留在图像的右半边,如图7e。图7f是一个复合图像。
3 仿真结果
图7 程序运行各个阶段变换结果
本文中的仿真器使用的是matlab中的wavescope模块,仿真结果如图8所示。B1 Addr In和B2 Addr In分别是外部存储器Bank1和Bank2的读地址控制线,B1 Addr Out和B2 Addr Out分别是写地址控制线,B1 WE和B2 WE是写数据使能控制端,B1 Out和B2 Out是外部存储器的数据传输端。
图8 仿真波形
4 总结
本文在System Generator平台是提出一种区别于传统的Mallat算法的快速2维离散小波变换算法。现在图像的数据量越来越大,传统的变换将图像由空间域转换为频率域的算法越来越不能满足现实的要求,而本文提出的算法能较好的体现基于System Generator的小波变换的优越性。
:
[1]RAFAEL C G,RICHARD E W.数字图像处理[M].阮秋琦,阮宇智,译.2版.北京:电子工业出版社,2007.
[2]纪志成,高春能.FPGA数字信号处理设计教程[M].西安:西安电子科技大学出版社,2008.
[3]颜学龙,余君.二维离散小波变换的FPGA实现[J].电视技术,2007,31(4):20-22.
[4]刘桂华,冯全源.图像的二维提升小波变换的FPGA实现[J].电子技术应用,2008,34(3):108-111
[5]卢春晖,王英健,陈丽.提升小波算法的FPGA硬件实现[J].微处理机,2010,31(2):41-43.