APP下载

基于FPGA的多级小波逆变换实时系统设计

2010-05-08钟云德史承兴

电子科技 2010年9期
关键词:解码小波系数

钟云德,史承兴,闵 彪

(西安电子科技大学模式识别与智能控制研究所,陕西西安 710071)

由 JPEG工作组制定的新一代静止图像压缩标准JPEG2000,引入了小波变换和 EBCOT编码的全新设计结构,使得 JPEG2000拥有压缩比高、支持有损和无损压缩、码流随机存取及处理、逐渐传输显示解码等优点[1]。由于受实现复杂度高、成本控制困难等因数制约,未能得到广泛应用。据统计,JPEG2000实现复杂度约是目前主流 JPEG实现的 30倍[2]。因此,一种廉价、有效、实时的解决方案,对于 JPEG2000的推广应用较为有利。本文针对 JPEG2000解码系统中核心处理模块——离散小波逆变换(IDWT),采用提升小波算法,提出了一种双路并行的实现结构,并基于Xilinx公司低功耗的 xc2v3000-4-fg676芯片进行布局布线仿真验证表明,该方案是一种高速、实时的硬件解决方案,能较好地解决 JPEG2000解码系统中对于小波逆变换实时处理的瓶颈。

1 离散小波变换

1.1 离散小波变换

小波理论是在调和分析的数学理论上发展起来的一个新的应用数学分支,它和傅里叶变换(Fourier)分析具有密切联系,但却克服了 Fourier在时域里局部分析能力的缺陷,能够同时提供较精确的时域定位和较精确的频域定位,是一种可变分辨率分析。小波分析在时域和频域同时具有良好的局部化性质,是处理非平稳信号的有力工具。它的多分辨率分析是JPEG2000标准中进行渐进式压缩的基础。

离散小波变换(Discrete Wavelet Transform,DWT)由连续小波 ψu,s(t)对尺度参数 s和位置参数 u离散化得到,即取:从而得到离散小波

在实际应用中,为了方便计算机处理,在式(1)的基础上,取 a0=2,b0=1,从而得到二进小波

在实际应用中,采用传统卷积方式实现的第一代小波存在一些明显缺点:

(1)信号经过小波变换后产生的浮点数不能由有限字长的计算机精确地重构。

(2)图像的尺寸大小有限制,并不能对所有尺寸的图像进行变换处理。

(3)对内存需求量大,不适宜 DSP、FPGA等硬件实现。

为了克服这些问题并将小波普适化,目前工程应用中主要借用提升算法(Lifting Scheme)[3]直接在空间域上计算小波系数的方式来构造。提升方法既保持了原有的小波特性,又克服平移伸缩不变性所带来的局限,而且还能摆脱传统的滤波器和傅里叶的频域概念,保证在高倍数据压缩情况时的图像质量。

1.2 CDF9/7小波提升算法

JPEG2000标准给出两种双正交小波滤波器,即有损压缩和无损压缩,前者采用 CDF9/7小波,后者采用 5/3小波。CDF9/7小波是图像压缩的首选滤波器,自然图像压缩性能好于 5/3小波。因此本论文选择 CDF9/7小波进行提升格式小波变换硬件设计,其提升结构和实现步骤分别如图 1所示。

图1 CDF9/7小波提升方案的正、逆变换示意图

对于 CDF9/7小波[4],取 (α,β,γ,δ,ζ)=(1.586 134 342,0.052 980 118,0.882 811 076,0.443 506 852,1.149 604 398)。

2 CDF9/7小波逆变换的 VLSI实现

2.1 整体方案分析

离散小波逆变换模块处于 JPEG2000解码系统最后一级,它负责将前端 EBCOT解码得到的数据进行小波逆变换处理以获得重构图像信息。由于逆变换模块的数据并不如正变换模块一样直接来自外部数据总线,而是来自前端的 EBCOT解码数据,因此既不能用协议的方式规定输入数据的顺序,也不能保证EBCOT解码数据等时间间隔均匀输出,所以在前端EBCOT模块和离散小波反变换模块之间需要使用存储器进行缓存。

由于连续小波基能够消除图像的方块效应[5],因此为了降低高倍压缩时各编码块之间的边际效应,在满足工程实现要求的同时提高压缩质量,一般需要选择尽可能大的图像块进行处理。显然,这受限于原始图像本身的大小和存储器的大小。为避免小波变换的图像尺寸受存储器的大小限制,同时避免使用昂贵的大内存 FPGA芯片,本设计中选择使用片外存储器缓存接收到的数据帧。

2.2 整体方案设计

小波逆变换需要在接收到完整的一帧数据之后才能启动,而且对于 N个像素点的图像,完成JPEG2000解码系统中的 3层小波逆变换处理,需要M=N/16+N/16+N/4+N/4+N+N=2.625 N个时钟周期。为了降低系统功耗,本设计并不采用倍频实现,而提出了一种双路并行的实现结构,其整体方案粗略结构如图 2所示。

图2 小波逆变换整体方案粗略程序结构图

图2中箭头指示数据流向,箭头中的数字表示数据宽度,2对片外存储器采用乒乓方式轮询切换。本方案首先使用两路并行的核心计算单元(ILWC1和ILWC2)完成前 3列 2行逆变换处理(第 3层小波逆变换、第 2层小波逆变换和第 1层小波列逆变换),这期间的数据交替的在 IRAM1和IRAM3或者IRAM 2和IRAM4之间存取;然后再使用第 3个独立的核心计算单元(ILWC3)完成剩余的最后一次小波逆变换处理(第一层小波行逆变换),处理完毕的数据。由于单个小波系数位宽为 18 bit(4 bit小数位确保精度要求),因此片外存储器每个 36 bit的存储单元中可以同时存放两个小波系数。在前 3列 2行逆变换处理过程中,每次读取的 2个小波系数可以分别提供给ILWC1和 ILWC2并行处理,在第一层小波行逆变换时则由一个二通道选择器(MUX 2)对数据的高、低18 bit位进行选择分时提供给 ILWC3。数据组织模块(Iogz)的功能就是将 ILWC1和 ILWC2这两个处理模块完成的行、列变换数据进行合并重组,以便对片外RAM进行读写的 36 bit外部总线数据总是由两个18 bit小波系数分别以总线数据的高 18 bit和低18 bit的形式组合而成。

基于以上实现方案,对于 N个像素点的图像,首先由 ILWC1和 ILWC2完成 3列 2行逆变换需要M1=N/32+N/32+N/8+N/8+N/2=0.812 5 N个时钟周期,然后由 ILWC3独立最后一层行变换需要M2=N个时钟周期。因此,两个处理过程所需的总时间M=M1+M2=1.812 5 N不超出允许的存储器占用上限(2N),能够保证对连续输入的小波系数进行实时的处理。4个存储器轮询状态和 FPGA的功能状态参见图 3。

图3 4个片外存储器轮询状态及FPGA功能表

2.3 核心计算单元 ILWC设计

由图 4所示,核心计算单元对高低频系数的伸缩扩展共用一个乘法器,因此平均每个小波系数所需进行的乘法和加法次数分别为 5次和 8次,相对于卷积运算[6]的 9次和 14次,计算复杂度显然是降低了很多。

图4 逆变换核心计算模块内部流水线结构

3 软件及硬件资源的选用

3.1 工作环境

本设计基于Xilinx公司 ISE 9.1开发平台之上,使用 VHDL语言(93版本)编程实现。系统采用Synplify 8.1进行综合,使用 Modelsim SE 6.0d进行仿真验证。在没有添加任何约束的情况下,其性能参数如表 1所示。

表1 默认设置下的系统性能状态

选用 Virtex-Ⅱ系列的芯片原因在于:(1)软件开发工具友好,开发容易,性价比高;(2)低功耗、低工作电压,满足实时设备的要求;(3)仿真可靠,几乎完全接近实际情况;(4)可重复擦写型 FPGA,设计灵活,适用于方案改进。

3.2 实验结果

本系统采用 8位 64×4 096的原始图像经过 3层定点化小波处理所得的 14位小波系数为测试数据,实验处理结果与 VC软件定点化逆小波处理结果一致,表明本系统能正确的满足应用要求,图 5为本系统工作整体仿真图。系统在同步信号 Syn低电平有效期间,根据切换信号 Exg的高、低电平选择片外存储器进行乒乓操作。首先数据由 Data输入到片外存储器,作为逆变换的测试数据,处理完成之后由 Result端输出,并以一个高电平脉冲信号 Endn标记处理完毕。

图5 逆变换系统整体仿真图

4 结束语

本文讨论下 JPEG2000解码系统中的 CDF9/7小波逆变换模块的设计要求,借助提升算法原位操作的特点,所提出的双路并行的实时处理方案无需任何内部存储空间,而外部存储空间的大小完全取决于处理图像块尺寸的大小。在视频及卫星遥感图像这类实时性要求非常强的图像处理中,本系统能很好地满足应用需求。

[1]胡栋.静止图像编码的基本方法与国际标准[M].北京:北京邮电大学出版社,2003.

[2]Li Yijun.Parallel High-speed Architecture for EBCOT in JPEG2000[C].Acoustics,Speech and Signal Processing IEEE International Conference,2003:481-484.

[3]Wim Sweldens.The Lifting Scheme:A Construction of Second Generation Wavelets[J].SIAM J Math Anal, 1997,29(2):511-546.

[4]Adams M D,Kossentine F.Reversible Integer-to-integer Wavelet Transforms for Image Compression:Performance Evaluation and Analysis[J].IEEE Trans Image Processing,2000,9(6):1010-1024.

[5]Vetterli M.Wavelets and Filter Banks:Theory and Design[J].IEEE Trans.Acoust.Speech Signal Proc,1992,40(9):2207-2232.

[6]曹林,朱红.基于卫星图像的 CDF9/7提升小波变换硬件实现[J].遥测遥控,2005(1):43-47.

猜你喜欢

解码小波系数
《解码万吨站》
构造Daubechies小波的一些注记
基于MATLAB的小波降噪研究
解码eUCP2.0
这些待定系数你能确定吗?
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
打雪仗
过年啦
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断