基于提升框架的小波变换方法,利用 FPGA 可编程特性可实现多种小波变换。提升框架(LS :Lifting Scheme) 是由 Sweldens 等人在近几年提出的一种小波变换方法,用它的框架结构能有效地计算 DWT。对于较长的滤波器,LS 的操作次数比滤波器组的操作方式减少将近一半,更适合硬件实现。作者根据提升小波变换的框架式结构,利用 FPGA 可完全重构的特点构造不同的小波变换核,以满足不同应用场合的要求。在结构设计中采用由下至上的设计方法,每个提升步骤都由一些可编程的参数来表示,保证了每个步骤均可重构。这些参数包括用于表示数据的位数和每个内部数学模块的通道深度。在逻辑综合时按不同小波的要求,改变参数可得到不同的结果。以图像处理中常用的(5 ,3)滤波器为例说明依靠 FPGA 的重组特性实现滤波器的小波变换核方法。实验结果表明,利用 FPGA 设计的提升小波变换核能满足不同场合和不同运行的要求。

  

LS 小波变换理论

LS 变换过程如图 1 所示,逆变换与正变换相同,只是顺序相反。时间离散的滤波器可由它的多项矩阵来表示,多项矩阵由脉冲响应的奇偶采样序列的 Z 变换得到。LS 小波变换的实质是对经典小波滤波器采用 Euclidean 算法的多项式进行分解。
 

图 1  正向 LS 变换


一个时间离散的滤波器 H( z ) 用多项式表示如下:


  

 

基于 FPGA 实现多种小波变换

  

He ( z ) 和 Ho ( z ) 各自从


  

 

基于 FPGA 实现多种小波变换

  

奇偶系数得到。分析滤波器 H ( z ) 和 G( z ) 分别表示低通和高通,表示成多相矩阵为


  

 

基于 FPGA 实现多种小波变换

  

P( z ) 可被模拟为分析滤波器。根据 Euclidean 算法可将 P( z ) 和 P( z ) 分解成:


  

 

基于 FPGA 实现多种小波变换

  

上面的分解不是唯一的,可有几对{ si ( z ) } 和{ t i ( z ) } 滤波器,但对于计算 DWT 所有的选择是等同的。

  

FPGA 及提升核的实现

  

FPGA 及重构特性

  

FPGA(Field Programmable Gate Array ,现场可编程门阵列) 是超大规模集成电路(VL、SI) 技术和计算机辅助设计(CAD) 技术发展的结果。FPGA 器件集成度高、体积小、具有通过用户编程实现专门应用的功能。FPGA 一般由 3 种可编程电路和 1 个用于存放编程数据的 SRAM 组成。这 3 种可编程电路是:可编程逻辑块 CLB (Configurable Logic Block) 、输入 / 输出模块 IOB ( I/O Block) 和互连资源 IR( Interconnect Resource) 。由于基于小波的应用越来越广泛,所以利用 FPGA 的灵活结构实现可重构的提升框架小波变换核具有很高的应用价值和研究价值。设计从基本的数学模块和逻辑模块开始,采用由下至上的设计方法,所有的库模块用 VHDL 语言描述,允许根据设计精度要求选择每个单元的数据通道大小。为了满足不同环境的需要,既要求可以改变单独模块的通道层深度,又要求考虑与其他设备的相容性。将提升方法与 FPGA 的特性结合起来,使不同的提升小波变换在 FPGA 上可满足不同应用场合的需要。
 

 

图 2  提升核结构体


提升小波变换核的实现

如图 1 所示,LS 变换是连续的独立的简单滤波操作过程,这个过程就是提升步骤。由图 1 可导出优化了的提升核结构体。近几年,采用 JPEG2000 标准进行图像传输成为热点,很多文献中均提出了不同的提升小波变换结构体。

  

但是这些提升结构体大都只考虑可操作性,而忽略了功耗和灵活性。作者提出的提升核结构体(图 2) 采用与以往不同的由下至上的设计方法。主要特点是指定了 1 个单独的流水式的乘法单元和 2 个加法单元。乘法单元主要用于处理滤波器系数的对称问题,加法单元用于实现分析或综合的变换。

  

值得注意的是所有的通道层都可用所设计的库模块来排列,因此为了保证内部 IP 核数据流的同步性,必须考虑前后交叉问题。例如,在加法输出时,已经放置了一个乘法器,允许对提升步骤的结果进行归一化。采用这种设计方法,能获得最高的数据精度和最快的运行速度。此外,整数的数学单元更容易进行深层的流水操作,获得很高的数据吞吐量。图 2 所提出的结构既考虑了可操作性又考虑了应用的灵活性,由于提高了运行速度,所以降低了功耗。

  

逻辑综合结果

首先采用 VHDL 语言来描述由基本的可重构的数学模块和逻辑模块设计的变换核结构体,然后在 MAX+PLUSⅡ集成环境下进行功能仿真,实现所需变换核,最后进行 FPGA 逻辑综合。在 Altera1 公司的 FLEX10K 上设计的结构体,经过逻辑综合得到很满意的结果,见表 1 。表 1 的结果直接由逻辑综合得到,没有考虑各种客观因素引起的延时。在设计流程步骤之后的安放运行过程中,可进行更精确的时序分析。另外,为了获得完整的分析结果,需参考 FPGA 厂家提供的指标估计功率消耗,使用时应选择功耗小的可编程器件,更好地满足不同使用环境的要求。以(5 ,3) 滤波器为例,计算(5 ,3) 小波需要 4 个提升核的叠加,所提出的结构体计算正向或逆向(5 ,3)DWT ,对每帧像素 1400×1400 采用 15 位采样数和 12 位合成滤波器系数,以全时钟频率运行,进行 5 层分解、重构,每秒钟能处理 25 帧图像,功耗为 267.6 mW。

  

基于 FPGA 实现多种小波变换

  

结束语

提出的可重构的提升核结构体,采用特殊的即从下至上的设计方法,保证了最大限度地重复利用性和重构特性。仿真结果说明,提升小波变换核的结构体无论在处理能力和功耗方面都取得了很好的结果,尤其在处理速度上,能满足图像处理实时性要求。将来的进一步发展是将更多的自由参数加入基本的算术模块中,保证结构体具有更好的操作性,并且使功率消耗减少,能满足不同应用场合的需要,对降低设备成本,提高使用效率有实际意义。