datasheet
超过460,000+ 应用技术资源下载
pdf

二维离散小波变换的FPGA实现

  • 1星
  • 日期: 2014-03-05
  • 大小: 2.7MB
  • 所需积分:1分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 二维离散小波变换的FPGA实现

小波变换是一种新兴的理论,是数学发展史上的重要成果。它无论对数学还是对工程应用都产生了深远的影响。最新的静态图像压缩标准JPEG2000就以离散小波变换(DWT)作为核心变换算法。 本文首先较为详细地分析了小波变换的理论基础,对多分辨率分析、Mallat算法和提升算法做了介绍。然后分析了JPEG2000所采用的小波滤波器,并引入了一个新的LS97小波。该小波系数简单、易于硬件实现,并且与CDF97小波有很好的兼容性,可作为CDF97小波的替代者。使用Matlab对CDF97小波和LS97小波的兼容性做仿真测试,结果表明这两个小波具有几乎相同的性能。在确定所用的小波后,本文设计了二维离散小波变换的硬件结构。设计过程中对标准二维小波变换做了优化,即将行变换和列变换的归一化步骤合并计算,这样可以减少两次乘法操作。另外还使用移位加代替乘法,提取移位加中的公共算子等方式来优化设计。对于边界数据的处理,本文采用了嵌入式对称延拓技术,不需要额外的缓存,节约了硬件资源。为提高硬件利用率,本文将LeGall53小波变换和LS97小波变换统一起来,只要一个控制信号就可实现两者之间的转换。本文所提出的结构采用基于行的变换方式,只需要六行中间数据即可完成全部行数据的小波变换。采用流水线技术提高了整个设计的运行速度。最后也给出了二维离散小波反变换的实现结构。 在完成硬件结构设计的基础上,使用Verilog硬件描述语言对整个设计进行了完全可综合的RTL级描述,采用同步设计,提高了可靠性。在Xilinx公司的FPGA开发软件ISE6.3i中对正反小波变换做了仿真和实现,结果表明,本设计能高速高精度地完成正反可逆和不可逆小波变换,可以满足各种实时性要求。

湖南大学 硕士学位论文 二维离散小波变换的FPGA实现 姓名:杜生海 申请学位级别:硕士 专业:微电子学与固体电子学 指导教师:刘让苏 20050301 硕士学靛论文 摘要 小波变换是一种新兴的理沦,是数学发展史上的重要成果。它无论对数学还 是对工程应用都产生了深远的影响。最毅的静态图像压缩标准JPEG2000就以离教 小波变换(DWT)作为核心变换算法。 本文首先较为详细地分析了小波变换的理论基础,对多分辨率分析、Mallat 算法和提升算法做了介绍。然后分析了JPEG2000所采用的小波滤波器,并引入了 一个新的LS97小波。该小波系数简单、易{F硬件实现,并且与CDF97小波有很 好的兼容性,可作为CDF97小波的替代者。使用Matlab对CDF97小波和LS97 小波的兼容性做仿真测试,结果表明这两个小波具有几乎相同的性能。在确定所 用的小波后,本文设计了■维离散小波变换的硬件结构。设计过程中对标准二维 小波变换做了优化,即将行变换和列变换的归~化步骤合并计算,这样可以减少 两次乘法操作。另外还使用移位加代替乘法,提取移位加中的公共算子等方式来 优化设计。对于边界数据的处理,本文采用了嵌入式对称延拓技术,彳i需要额外 的缓存,节约了硬件资源。为提高硬件利用率,本文将Le Gall 53小波变换和LS97 小波变换统一起束,只要一个控制信号就可实现两者之间的转换。本文所提出的 结构采用基于行的变换方式,只需要六行中间数据即可完成全部行数据的小波变 换。采用流水线技术提高了整个设计的运行速度。最后也给出了二维离散小波反 变换的实现结构。 在完成硬件结构设计的基础上,使用Verilog硬件描述语言‘慰整个没计进行了 完全可综合的RTL级描述,采用同步设计,提高了可靠性。在Xilinx公司的FPGA 丌发软件ISE6.3i中对正反小波变换做了仿真和实现,结果表明,本设计能高速高 精度地完成正反可逆和不可逆小波变换,F日以满足各种实时性要求。 关键词:离散小波变换;JPEG2000多分割≠率分析;提升算法;嵌入式对称延拓 二维离散小波变换的FPGA实现 Abstract Wavelet transform is a very important production in the phylogeny of mathematics. Though wavelet transform is a new theory,it has strongly impacted on both mathrnatics and engineering applications.Tllc discrete wavelet transform(DWT、has been used as the core transforming technology in JPEG2000,a newest static image compression standard. Firstly,this thesis analyzes the theory fundamental of wavelet transform in detmls, and also introduces multi—resolution analysis(MRA),MNlat algorithm and Lifting Scheme.Then both the wavelet filters adopted in JPEG2000 and a new filter LS97 are introduced.The LS97 wavelet characterizes simple coefficients.being easy to implement with hardware and good compatibility with the CDF97 wavelet,SO it can be used as a substitute for CDF97.A Matlab simulation is performed to test the compatibility between CDF97 and LS97,and the results shOW they almost have saFne performance.After selecting wavelet filters,this thesis designs the architecture of 2-D DWT.In the course of design,some approaches are applied to the normal 2-D DWT for optimizing the architecture.such as combination of scale step in DWT for rows and for columns which can reduce the number of multiplication by 2 times.substituting shift—add for multiplication and extracting common operator in the shift·add.etc.The embedded symmetric extension technology iS used for the calculation of data in the boundary,SO the architecture need not the additonal RAMs for data extension.To improve the percentage of hardware utilizing,this thesis combines the Le Gall 53 wavelet with the LS97 wavelet.and{ust ORe signal Can control the switch of two DWT filters.In order to reduce the size of inner RAMs,a line—based approach for the implementation of the wavelet transform is used,SO the architecture can complete DWT for the whole image using only 6 rows of inner RAMs.The frequency of the design is largely improved by using pipeline technology.At last,the architecture of inverse DWT is also proposed. On也e basis of the architecture.the thesis describes the whole design in Veritog HDL at the full synthesizable RTL level witll synchronous design technology.The simulation and implementation of forward and inverse DWT are performed on Xilinx’S ISE6.3i,and the results show that the design call quickly and precisely complete t'orward and inverse DWT with reversible(Le Gall 53)and irreversible(LS971 filters, and call meet the real-time requirements for all kinds ofapplication. Keywords:DWT;JPEG2000;MRA;Lifting Scheme;Embedded Symmetric Extension: 湖南大学 学位论文原创性声明 本人郑重声明:所旱交的论文是本人在导师的指导F独立进行研究所取 得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其 他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果 由本人承担。 作者签名: 奇瞄涵 曰期:2,。歹年斗月t。日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位 论文。 本学位论文属于 l、保密口,在 年解密后适用本授权书。 2、不保密团。 (请在以上相应方框内打“√”) 作者签名:囊产避袖 口期:h够年4一月。。日 导师签名: 剐j旦芬 日期:a州j啤午月∞日 硕士学位论文 第1章绪论 人类进入二十一世纪以来,信息已经成为社会生活各个方面不可缺少的部分, 整个社会变成了信息社会,而科学技术的飞速发展又使信息社会产生着日新月异 的变化。多媒体技术已经成为当今计算机技术发展的重大热点之一,人们通过语 言、音乐、文字、图像、影视等多种媒体进行信息的处理、传输和存储。随着社 会经济的发展,人们需要处理的信息会越来越多。 在所有的信息当中,视觉信息(如图像,影视等)由于具有非常丰富的信息 量而成为传递信息的最重要的媒介。实验心理学家特瑞拉(Treicheer)通过大量的 实验证实,人类获取的信息有83%来自视觉“3,可见图像(静止图像和视频图像) 是人们进行信息交流的重要手段。除了常见的图片、DVD、电视图像信号外,许 多信息如天气情况、地球资源分步情况、医疗诊断信息等都可以转化为数字图像 的形式进行处理。然而,数字图像的一个显著特征就是数据量大,比如,在NTSC 制式广播电视中,1秒钟的电视信号数据量就有99.2Mbit(12.4MB),容量为650MB 的CD-ROM仅能存储不到1分钟的原始电视数据,若为高清晰度电视(HDTV), 其数据量约为1.2Gbps,一张CD-ROM还放不下5秒钟的HDTV图像。3。这给数 字图像的存储和传输带来了极大的困难。因此,图像压缩编码技术在多媒体数据 压缩技术中就显得至关重要。 图像压缩编码技术是~种实用性很强的技术,不仅渗透到计算机、通信领域, 而且还涉及人类生活、娱乐、学习等诸多方面。它既是当代信息高速公路、高清 晰度电视(HDTV)、可视电话、视频会议、信息检索、图文传真等技术的关键, 又在航空侦察、遥感、资源勘探以及生物医学工程等领域内起着重要作用。而且 它已经成为信息产业中三大类支柱产业(通信、计算机、消费类电子产品)的共 性核心技术,也是三大网络(电信网、计算机网和电视网)逐步融合最终走向三 网合一的技术基础之一。可以预见,图像压缩编码技术将对现代化社会的发展起 着不可忽视的作用m。 1.1图像压缩编码技术的发展历程 图像压缩编码技术可以追溯到1948年提出的电视信号数字化,至今已有50 多年的历史了。1969年在美国召开的第一届“图像编码会议”标志着图像编码作 为--fl独立的学科诞生了。七、八十年代,图像压缩技术的主要成果体现在变换 编码技术上,矢量量化编码技术也有较大发展,有关图像编码技术的科技成果和 科技论文与日俱增,图像编码技术开始走向繁荣。八十年代后期,由于小波变换 理论,分形理论,人工神经网络理论,视觉仿真理论的建立,人们开始突破传统 的信源编码理论,提出“第二代图像压缩编码方法”。图像压缩编码向着更高的压 缩性能迈进,一个崭新的、欣欣向荣的大发展时期开始了“’…。 1988年形成草案,1990年通过的ITU—T H。261协议是图像压缩编码技术走向 实用化的重要一步。90年代初相继提出的MPEG一1、MPEG.2、H.263等都是在H.261 基础上发展起来的。为了满足极低比特率的图像数据压缩需要,同时获得具有功 能较强的压缩码流,ITU.T又相继提出并制定了MPEG-4,MPEG一7,JPEG2000 等新一代的压缩标准,以适应二十一世纪图像压缩编码的需要。 1.2 JPEG2000标准产生的背景及意义 由ISO/IEC和ITU.T联合组成的“联合图片专家组(Joint Photographic Experts Group)”于1992年正式发表了连续色调的静止图像压缩标准JPEG。JPEG标准以 其优良的压缩性能,在诞生后的十余年里得到了极其广泛的应用。然而,随着多 媒体和intemet等应用的不断扩展,对于图像压缩技术的要求越来越高,人们发现 已有的静态图像压缩标准已经难以满足某些方面的需求。其局限性体现在:1)在 低比特率压缩时,主观失真度让人难以接受:2)尚没有一个标准能够在同一码流 中同时提供高性能的有损压缩和无损压缩;3)当前的压缩标准一般都对自然图像 有较好的性能,而对于计算机产生的图像性能欠佳;4)在噪声环境中传输时,比 特误码会使JPEG压缩图像质量急剧下降;5)对于不同类型的图像必须采用不同 的压缩标准。 为了弥补以上不足,ISO/IEC JTCl SC29标准化小组制定了新一代的静态图像 压缩标准JPEG2000,并于2000年3月发表了最终草案fcdl5444—1”1。JPEG2000 标准突破了以往图像压缩标准只对具有某种特征的某一类型图像具有较好性能的 局限,支持对不同类型图像的有损压缩和无损压缩,可在极低比特率下保持较高 的图像质量。与JPEG相比,JPEG2000具有很多优点,如可渐进传输、感兴趣区 域(ROI:Region ofInterest)编码、良好的容错性等等。JPEG2000具有广泛的潜 在应用领域,如医疗图像、网页浏览、数码相机、图像检索、卫星遥感等。 1.3国内外研究现状 JPEG2000之所以具有上述优点,主要是因为它采用离散小波变换(DWT, DiscreteWaveletTransform)作为核心变换算法。小波变换有“数学显微镜”的美 誉,在时域和频域中都有良好的局部特性。虽然小波变换理论诞生不过20年,但 她不仅在理论研究上取得了飞速的发展,更重要的是,在很多领域内都有了她应 用的踪迹。目前,小波变换的应用领域已经非常广泛,如信号处理、图像处理、 量子场论、语音识别与合成、雷达、CT成像、机器视觉、多尺度边缘提取和重建、 分形、数字电视以及机械故障诊断与监控等领域。在语音识别与合成领域内,文 献【7】提出了用小波变换实现电子耳蜗CIS语音信号的处理方案。小波变换还被用 于地震趋势预测…和气象分析方面嘲。实际上,在多数领域中并不要求对数据进行 硕士学位论文 实时处理,这时可用软件方式实现小波变换进行分析。而在某些领域内,则必须 对数据进行实时处理,例如数码相机,机器视觉,雷达等,此时,软件的处理速 度不能满足要求,必须用硬件实现。 图像处理是小波变换应用的一个重要领域,尤其是JPEG2000标准被提出之 后,对于JPEG2000的小波变换硬件实现问题的研究就成为一个热点,国内外有很 多的研究论文“”“1。其中大多数使用了较大的存储空间,文献f151采用了基于行的 变换方式从而减少了对存储器的需求,但只是实现了CDF97小波变换。有些设计 将JPEG2000中的两个小波变换统一起来,但需要重新配置系数。一些芯片设计公 司也开发出了JPEG2000压缩芯片,如美国ADI公司于2003年推出了ADV202芯 片““,最高处理速度可达150Mttz,图像片最大为4096 pixelS;国内的Ic设计公 司湖南中芯数字技术有限公司也设计了JPEG2000芯片CDCl028,外部时钟频率为 75~lHz,片内最大处理块为480*640(Pixels),这是我国第一片具有完全自主知识 产权的图像与视频压缩编码解码专业级专用集成电路芯片(ASIC),它的研制得到 了(前)国家计委高科技产业化专项、国家信息产业部电子发展基金、国家科技 部“863”大规模集成电路专项、国家(前)经贸委技术创新计划和湖南省高科技 引导资金的支持“”。西安交通大学开元集团开发了JPEG2000高效图像压缩芯片, 实现了5/3离散小波变换,外部时钟频率为27MHz。“。总体来看,国内的芯片性能 与国外相比还有一定的差距,因此设计更高性能的图像与视频压缩芯片具有重要 意义。 1.4本文结构安排 本文第二章对小波变换的理论基础做了介绍,同时也对最新的静态图像压缩 标准JPEG2000做了简要的说明。 第三章主要是在Matlab环境中对小波变换的算法进行仿真,包括本文新引入 的LS97小波变换。通过仿真验证了LS97小波和CDF97小波良好的兼容性,也验 证了Le Gall 53小波变换的完全可重构性。在分析SCLA算法和标准算法的基础上, 提出将二维97小波变换的归一化步骤合并计算的思路,并对其原理进行了说明。 本文第四章的主要内容是设计JPEG2000中两个小波变换的硬件实现结构。总 的设计目标是减小面积,提高速度。为节约硬件资源,本文将JPEG2000中的两个 小波变换LeGall 53和LS97(兼容CDF97)统一在同一个结构中,提高了硬件利 用率。由于乘法器占用较多的资源,本文用移位加代替乘法操作,在一定程度上 减少了资源占用率。另外提出了一种嵌入式对称延拓方式来处理边界数据,不需 要额外的存储器。由于基于行的变换方式只要较少的存储器就能完成全部变换, 本文采用这种结构完成了整个设计。 在第四章的基础上,本文用Verilog硬件描述语言编写了整个设计的完全可综 合代码,并在Xilinx公司的FPGA开发软件ISE6.3i中做了实现和时序仿真,取得 了令人满意的效果。这是第五章的内容。 二维离散小波变换的FPGA实现 本文主要做了以下几个方面的工作: 1.由于CDF97小波变换的提升系数都是无理数,用硬件实现时较为复杂,并 且会耗用较多的硬件资源。本文首先寻找CDF97小波变换的易于硬件实现的替代 方案,并用Matlab对两者的兼容性进行测试。最后确定用LS97小波代替CDF97 小波。 2.参考空间组合提升算法,本文对标准的提升算法进行了适当调整,将二维 97小波变换的行和列归一化步骤(scale)合并在一起计算,迸一步减少了运算量。 3.对LS97小波变换进行了结构设计。该结构的特点是:将数据的边界处理 内嵌在运算过程中,不需要额外的缓存;使用基于行的变换方式,从而减少了数 据存储空间;将可逆和不可逆小波变换统一起来,只要一个控制信号就可以实现 可逆变换和不可逆变换的转换:变换速度快。 4.使用硬件描述语言Verilog对整个设计进行编码,然后做了综合与实现, 并对布局布线后的设计进行了时序仿真。 硕士学位论文 第2章小波变换基础知识 小波变换是近十几年才发展起来的一种数学工具,是继傅立叶(Fourier)变换和 窗口傅立叶变换之后的一个重大突破,为信号分析、图像处理、量子物理及其他非 线性科学的研究领域带来革命性的影响。是二十世纪公认的最辉煌的科学成就之 一,因其在时域和频域上都有很好的局部化特征而被誉为“数学显微镜”。…。本章首 先介绍了小波变换的来源,接着说明了小波变换的基本概念,然后介绍了多分辨 率分析”…、Mallat算法以及提升算法(Lifting Scheme)。1‘”1的原理,最后对最新的图 像压缩标准JPEG仑000作了较为详细的介绍。 2.1小波变换的来源 对信号进行变换分析时,通常是用一组适当的基函数对信号进行分解,得到 信号在变换域的表示方法,然后利用信号在变换域中某些特征趋于集中的特点来 提取其特征进行分析。传统的信号分析是建立在傅立叶(Fourier)变换的基础之上 的,通过傅立叶(Fourier)变换,能够将信号的时域特征和频域特征联系起来,分别 在时域和频域对信号进行观察,但傅立叶变换反映的是整个信号全部时间下的整 体频率特征,而不能提供任何局部时间段上的频率信息,也就是说,傅立叶分析 可以知道信号中含有哪些频率成分,但不知道这些频率成分是在什么时候产生的。 因此,傅立叶分析适合处理平稳信号,但现实生活中通常见到的都是非平稳信号, 对于这类信号,傅立叶变换就显得无能为力。 由于标准傅立叶变换只在频域里有局部分析能力,而在时域里不存在这种能 力,Dennis Gabor于1946年引入了短时傅立叶变换(Short-time Fourier Transf01Tn, STFT)。短时傅立叶变换的基本思想是:把信号划分成许多小的时间间隔,用傅立 叶变换分析每一个时间间隔,以便确定该时间间隔存在的频率。其表达式为 S渤,r)=I f(t)g(t--rk一…硪 (2.1) 在这个变换中,e…起着频限的作用,g(f)起着时限的作用。随着时问f的 变化,g(f)所确定的“时间窗”在时间轴上移动,使,(f)逐段被分析。因此,g(t)往 往被称为“窗口函数”,s(co,f)大致反映了.厂(f)在时刻f时、频率为∞的信号成分 的相对含量。短时傅立叶变换(sTFT)虽然在一定程度上克服了标准傅立叶变换不 具有局部分析能力的缺陷,但它也存在着自身不可克服的缺陷,即当窗函数g(f)确 定后,矩形窗口的形状就确定了,f和∞只能改变窗口在相平面上的位置,而不 能改变窗口的形状。可以说短时傅立叶变换实质上是具有单一分辨率的分析,若 要改变分辨率,则必须重新选择窗函数。实际上,一般的高频信号持续时间较短, 而低频信号持续时间较长,分析高频信号时宜采用小时间窗,分析低频信号时宜 采用大时间窗,短时傅立叶变换无法兼顾这两个方面”…。 硕士学位沦文 第2章小波变换基础知识 小波变换是近十几年才发展起来的一种数学T具,是继傅立叶(Fomier)变换和 窗口傅立叶变换之后的‘个重大突破,为信号分析、图像处理、量子物理及其t"电tt 线性科学的研究领域带来革命性的影响,是二十世纪公认的最辉煌的科学成就之 ,因其在时域和频域上都有很好的局部化特征而被誉为“数学显微镜”“9。本章首 先介绍了小波变换的来源,接着说明了小波变换的基本概念,然后介绍了多分辨 率分析9”、Mallat算法以及提升算法(Lifting Scheme)“1‘”1的原理,最后对虽新的罔 像压缩标准JPEG2000作了较为详细的介绍。 2.1小波变换的来源 对信号进行变换分析时,通常是用一组适当的基函数对信号进行分解,得到 信号在变换域的表示方法,然后利用信号在变换域中某些特征趋于集中的特点米 提取其特征进行分析。传统的信号分析是建立在傅立时(Fourier)变换的基础之t 的,通过傅立叶(Fourier)变换,能够将信号的时域特征和频域特征联系起来,分别 在时域和频域对信号进行观察,但傅立叶变换反映的是整个信号全部时间下的整 体频率特征,而不能提供任何局部时间段上的频率信息,也就是说,傅立叶分析 可以知道信号中含有哪些频率成分,但不知道这些频率成分是在什么时候产生的。 因此.傅立叶分析适合处理平稳信号,但现实生活中通常见到的都是非平稳信号, 对于这类信号,傅立叶变换就显得无能为力。 由于标准傅立叶变换只在频域里有局部分析能力,而在时域里不存在这种能 力,DennisGabor于1946年引入了短时傅立叶变换(Short-timeFourierTransform, STFT)。短时傅立叶变换的基本思想是;把信号划分成许多小的时间问隔,用傅立 叶变换分析每‘个时间间隔,以便确定该时间间隔存在的频率。其表达式为 S沏,f)=I f(t)g(t--rk一“础 (2.1) 在这个变换中,e…起着频限的作用,g(f)起着时限的作用。随着时问r的 变化,耳(f)所确定的“时间窗”在时间轴上移动,使f(t)逐段被分析。因此,g(f)往 往被称为“窗口函数”,s(co,f)大致反映了,(f)在时刻_r时、频率为∞的信号成分 的相对含量。短时傅立叶变换(STFT)虽然在一定程度上克服了标准傅立叶变换不 具有局部分析能力的缺陷,但它也存在着自身不可克服的缺陷,即当窗函数g(f)确 定后,矩形窗口的形状就确定了,f和∞只能改变窗口在相平面上的位置,而不 能改变窗口的形状。可以说短时傅立叶变换实质上是具有单一分辨率的分析,若 要改变分辨率,则必须重新选择窗函数。实际上,一般的高频信号持续时间较短, 而低频信号持续时间较长,分析高频信号时宜采用小时问窗,分析低频信号时宜 采用大时间窗,短时傅立叶变换无法兼顾这两个方面”…。 采用大时问窗,短时傅立叶变换无法兼顾这两个方面”…。 二维离散小波变换的FPGA实现 为了克服短时傅立叶变换的缺陷,需要一种时问窗和频率窗都可以改变的时 频局部化分析方法,小波分析方法即具有这种特性。小波分析是傅立叶分析思想 方法的发展和延伸,原则上讲,传统上使用傅立叶分析的地方,都可以用小波分 析取代。小波分析优于傅立叶分析的地方是,它在时域和频域内同时具有良好的 局部化特性。小波变换对不同的频率在时域上的取样步长是调节性的,即在低频 时小波变换的时间分辨率较低,而频率分辨率较高;在高频时小波变换的时间分 辨率较高,而频率分辨率较低,这正符合低频信号变化缓慢而高频信号变化迅速 的特点。因此,小波变换既能精确定位信号的突发跳变,又能把握信号的整体变 化,是一种较理想的信号处理工具。 2.2小波变换的基本概念 2.2.1小波变换定义 设函数Po)∈r(R),(r(R)={,(f)I£l,(f)J2dt<佃})且满足条件 q=e学国<∞ 眩z, 式中G(,-o)是妒(f)的傅立叶变换。 则称y(f)为基本小波或母小波。式(2.2)称为“允许条件”,可以看出,能用 作基本小波的函数v/(t)必须满足矿@)I。=0,否则C会在印=0处趋于无穷 大。与允许条件相应的时域要求是 I ∥(t)dt=0 (2.3) 也就是说,基本小波必须是振荡的且平均值为0。原则上讲,满足允许条件的 函数∥(f)便可用作基本小波,不过往往要求更高些,即y(f)还要满足“正则条件” 以保证驴∞)在频域上表现出较好的局域性能。为达到此目的,要求y(f)的前n 阶原点矩为零,且n越大越好,即 I f9¥z(t)dt=0,P=1…2..,玎 (2.4) 式(2.4)即“正则条件”。之所以要求n越大越好,是因为要尽可能地消除/。(f) 的多项式中f9(p≤疗)项在小波变换中的贡献,以便突出信号的高阶起伏和高阶 导数中可能存在的奇点,即让小波变换能充分反映信号的高阶(细节)变化。 引入尺度因子a(a≠0)和平移因子b,将基本小波进行伸缩和平移,得到函数 族 呲冲I I一-1∥(学) (2^5) 称为分析小波。那么对于函数厂(f)∈r(R),其小波变换定义如下: 吗(咖)-(邝慨以))-I口I{e加∥(譬p (2.6) 硕士学位论文 其中,V+(生≠]为妒(了t-b]的共轭。由于a,b是连续变量,故称为连续 小波变换(continue wavelet transform.CWT)。 只要满足允许条件,则小波变换存在逆变换: 巾)2专re眄眩慨∽芋 (2.,) 形象地讲,小波是一个衰减的波形,它在有限的区域内不为零,但其均值为 零。常见的小波如图2.1所示。…。 H。"小靛函簸 镕。mt小醚涵数 dM小激嫩熬 g删咎城濑欺 《§,糌日、瓣函辩 图2 1一些常见的小波 2.2.2小波变换的时频特性 小波中的尺度因子a可将小波在保持完全相似的条件下“拉伸”或“压缩”,而平 移因子b只是简单地将小波沿时间轴平移。a增大,则%6(f)变宽,但高度与√口成 反比地减小(对应低频成分);反之,随着a的减小,%6(t)变窄,但其高度增大(对 应高频成分)。小波函数的这种伸缩和平移特性是窗口傅立叶分析无法比拟的,正 是这种极敏感的“变焦”能力,使小波变换有数学显微镜的美誉。 假定基本小波少(f)的时域中心点为气,时域半径为△f,而其傅立叶变换 驴(印)的频域中心点为国o,频域半径为Ao,那么经过式(2.6)的小波变换后,信 号/(f)被限制在某一个“时间窗”内,即【b+at0一aAt,6+毗+d出】,窗的中心为 b+ato,窗的宽度为2aAt。在信号分析中,这称为“时间局部化”。图2.2以墨西哥 草帽小波为例说明了p么0)随a,b变化的情况。 图2.2墨西哥草帽小波函数随a,b变化的情况 另一方面,在频域内,设rl(co)=妒@+‰),那么叩@)就是一个中心为0,半径 为△国的窗函数,根据Parseval恒等式 (恕)=去(夕,季) 眩s) 以及式(2.6)得 ∥驰,班百alal-i∥喷咖(和一争p∞ 眨,, 除了口婶j1/2z和由时间窗的位移量b决定的一个线性相位位移8。。外,式(2·9)还 给出y{言号f(t)的频谱于@)的局部信息,其“频率窗”为 芦一鲤,堕+塑】 这个窗的中心在印o/a,宽度为2Aco/a,这称为“频率局部化”。因此,小波变换对 应如下的“时间频率窗” 附口f0-aAt,mmM×(oa0一等,警+丝a】 (2.10) “频率窗”的中心频率与频带宽度之比为 堕 旦:坠 (2.11) 2Aco 2Ao‘。‘ 它与中心频率的位置无关,即小波变换具有“恒Q”特性。既@)随a变化的情 况如图2.3所示。 硕士学位论文 心 啦,2 ∞ 2q ∞ 图2.3既(国)随a变化的情况:(a)a=1,(b)a=2,(c)a=1/2 结合图2.2和图2.3可知,当a逐渐变小时,对信号f(t)的时域观察范围变窄, 但对夕@)的频域观察范围则变宽,同时观察的中心频率逐渐增大;反之,当a逐渐 变大时,对信号厂(f)的时域观察范围变宽,而对夕(国)的频域观察范围则变窄,观 察的中心频率逐渐降低。 小波交换的时间频率窗如图2.4所示。 .频率‰一q 睦芒 一 ~ %一吃 ▲t. 。.r .。 L . 一 P{一兰]Ti— 6l 4-41,o 62+a 2to时间 图2.4小波变换的时间频率窗口1<a2,反<b2 在尺度因子较小时(如q),时间窗较小,时域分辨率高,但频率窗较大,频 域分辨率低;而在尺度因子较大时,时间窗变大,时域分辨率降低,频率窗则变小, 频域分辨率相应提高。但不论尺度因子如何变化,时间频率窗的面积却保持不变, 总是4AtAro。 我们知道,一个信号在时域内有突变部分也有缓变部分,分别对应频域中的 高频和低频成分。在分析信号时,往往需要在突变部分观察得更细致些,而在缓变 部分则可以粗略些,换句话说,就是在突变部分要有好的时域分辨率,而在缓变部 分时域分辨率则可以适当降低,但要求好的频域分辨率。由上面的分析可知,小波 变换具有这种特性,在信号分析中具有傅立叶变换和短时傅立叶变换无法比拟的 优势”…。 2,2.3离散小波变换 在实际应用中,计算小波变换需要进行数值积分,因此连续小波变换必须加以 离散化。但与通常的离散化不同的是,这一离散化是针对连续的尺度因子a和连 续平移因子b的,而不是针对时阳J变量t的。为方便起见,在离散化中总限制a取 证值。实际应用中,计算机所处理的信号都是通过采样得到的二进制离散信号, 同时也为了减少计算量,通常对连续小波及其变换进行二进制离散。即取尺度参 数a=球,J∈Z,若a0=2,所得到的小波和小波变换称为二进小波和二进小波 变换。此时,考虑到i每增加l,尺度a将乘以2,折合成频率来说,就是频率降 低一半、采样间隔加大一倍。因此平移参数也应随着尺度的变化自动改变平移步 长。如果尺度j=O时,平移参数b的平移步长为bo。那么尺度为2l时,b的平移步 长可取为2Jbo,平移参数b=2s玩_j},k∈Z。若再取bo=1,则得到的小波和小波 变换称为二进正交小波和二进正交小波变换。因此,离散二进小波函数为; ∥m(t)=2-#2y(2~t—k) (2.12) 以上离散化并没有针对时间变量t,因而t仍然是连续的,所以这时离散小波变换 相当于小波变换孵?(口,b)在a=2j,b=2jk处的离散值: W0(,,七)=J-。厂(f)妒j,^(t)dt (2.13) 这种离散小波变换也称为连续时间小波序列。 在实际应用中,信号大多是经采样得到的一系列离散值,因此小波变换的对 象通常是些离散的数据序列。这种对离散时间信号进行的小波变换称为离散时间 小波变换,通过尺度函数矛11d'波函数对输入序列作数字滤波来实现o…。 2.3多分辨率分析与小波变换算法 2.3.1多分辨率分析 Meyer于1986年创造性地构造出具有一定衰减性的光滑函数,其二进制伸缩 和平移构成r俾)的规范正交基,才使得小波得到真正的发展。1988年s.Mallat 在构造正交小波基时提出了多分辨率分析(Multi—Resolution Analysis,MRA)的概 念,从空间的概念上形象地说明了小波的多分辨率特性,将此前的所有正交小波 基的构造法统一起来,并给出了正交小波的构造方法以及正交小波变换的快速算 法,即Mallat算法。Mallat算法在小波分析中的地位相当于快速傅立叶变换算法 在经典傅立叶分析中的地位”…。 下面以一个三层分解为例对多分辨率分析进行说明,多分辨率分析树如图2.5 所示。 硕士学位论文 ----…S ———_L——— r—J Al}一] ■ 1 L A2 D2 D3 图2.5三层多分辨率分析树 从图2,5中可看出,多分辨率分析只是对低频部分进行进一步的分解,而高频 部分则不予以考虑。分解具有如下关系:S=A3+D3+D2+D1,其中,A3可以继 续分解下去。分解的最终目的是力求构造一个在频率上高度逼近r(R)空间的正交 小波基,这些频率分辨率不同的正交小波基相当于带宽各异的带通滤波器。多分 辨率分析的主体分析路径是:先从L2(R)的某个子空间出发,并在次子空间中建立 一个基底;然后利用简单的变换,将此基底扩充到r(R)中其他子空间中去。多分 辨率分析包括如下一些性质“…: 性质1函数空间序列{■},.,∈Z的单调性:即一c¨一。,-,∈Z。 性质2函数空问序列{巧},.,∈z的完整性: n¨={o),c,o船{U巧)=三2(R)。 iEz JEz 性质3伸缩性:,(,)∈一营f(2t)∈一-la 伸缩性体现了尺度的变化、逼近J下 交小波函数的变化和空间的变化具有一致性。 性质4平移不变性:平移不变性是指,(r)在同一子空间中波形平移后不变化, 即,(f)∈一曲f(t一七)∈巧。 性质5Riesz基存在性:存在妒U)∈K,使得{妒(21”t—k)lk∈Z}构成一的Riesz 基。 可以证明,存在函数妒0)∈Vo,使它在整数平移系{q,(2-J/2t—k)l后∈Z)构成一的 规范正交基,称oo(t)为尺度函数(Sealing Function)。定义函数 伊,l(r)=2-j/2矿(2-/t一忌),歹,k∈Z (2.14) 则函数系印¨(f)Ik∈Z)是规范正交的。 设以巧表示图2.5中的低频部分4,影表示高频部分q,则%是_在巧一.中 的正交补,即_o%=一一。,J∈Z,显然有如下关系: 巧。形。彬一。o…o彬咖枷=巧一。 (2.15) 因此,多分辨率分析的子空间K可以用有限个子空间来逼近,即 Vo=Ko呒。呒一lo…0%o彤 (2.16) 若令一∈一代表分辨率为2’的函数f∈r(五)的逼近(即函数f的低频部分),而 d,∈彬代表逼近的误差(即函数,的高频部分),则式(2.16)意昧着 三丝童墼尘鎏变垫丝!!Q垒塞翌 fo=‘+以+吨一l+…+畋+碣 (2.17) lil于"f=fo,上式可简写为,=工+∑4,这表明任何函数‘厂∈r(R)都可以由分辨 率为2”时的低频部分和分辨率为2j(1≤J≤")时的高频部分完全重构。 由于‰。(r)∈Vo∈K.,所以据式(2.14 3.1),cp(t)=‰,o(f)可以用K1子空间 中的基函数让¨(f)=x/26p(2t一忌)展开,令展开系数为%,则 伊(f)=√2∑矗(Jj})妒(2卜lj}) (2.18) 这就是尺度函数的双尺度方程。 另一方面,因E,=%eWo,故矿(力=%。(f)∈%∈K。,即小波基函数妒(f)也 可以用Kl子空间中的基函数让。(f)=√如(2f一.i})展开,令展开系数为gk,则 ∥(r)=√互∑g(七)矿∽一七) k (2.19) 这就是小波函数的双尺度方程。 式(2.18)是多分辨率分析的基础,称为改善等式、MRA等式或扩张等式。…。 它表示,任意子空问的展开还是都可以从它们自身的双倍分辨率拷贝中得到,即 从相邻较高分辨率的空间中得到。 2.3.2 Mallat算法 用21对式(2.18)中的t进行尺度化,用"作平移,并令m=2n+k,得到 伊(2一’f—H)=√三∑厅(≈)伊(2(2一’f—n)一女)="厄Z h(m-2”砌(2一‘’一1’f—m)(2.20) 对式(2.19)作同样的操作,可得到 y(2~t一订)=压∑g(女坳(2(2~t—n)一I)=压∑g(m-2n)tp(2叫山t-m)(2.21) I “ 给定满足MRA要求的尺度函数式f2.14),便能够定义小波函数如下: ym(f)=2-J/29t(2 t一七) (2.22) 根据MRA,函数厂∈f(R)可由小波函数和尺度函数作序列展开,分为低频逼 近和高频细节两个部分。 ,(f)=∑瓯(七)‰,。(f)+∑∑q(七)∥¨(f) t Y=A k (2.23) 其中矗是任意开始尺度,c。(_j})称为函数近似值或尺度系数;D,(女)称为细节或 小波系数。在离散小波变换中,它们的值分别是: 巳(七)=M1”∑f(t)口ojo,。(r) Dj(k)=M。“∑厂(f)吩,t(f) (2.24) (2.25) 这里,厂(f),_60jo,k(f),妒甜(f)是离散变量t=0,l,2,---,M一1的函数。通常,令 Jo=0并选择M=2。,xCt=0,1,2,…,M—l;/=O,1,2,…,,一1;k:O,1,2,…,2j一1 求和。 将式(2.22)代入式(2.25),可得: q(七)=M。1“∑f(t)2叫2y(21t一膏) (2.26) 用式(2.21)4谱V(21‘t一后),可写成: ]1 DA∞=M-112莩∽2。”l扼莓烈m-2k)(p(2由‘1_卅)j}(227) 交换和式与整数,并重新安排后可得: q(尼):∑{g(m-2k)[M“。∑巾)2-()-w2々o(2-(J--)t-m)]l(2.28) mL L t JJ 再考虑式(2.24)在,n=/-1时的值,结合式(2.14)可得: Cj—l(埘)=M “2∑f(t)2川。m妒(2-(J-I)t-m) (2.29) 因此,式(2.28)可改写成 Dj(k)=∑g(m-2k玛一。(优) (2.30) 同样,将式(2.14)代入式(2.24)可得: 气(七)=M。心∑f(t)2-j。/2妒(2~t一.i}) f (2.31) 用式(2.20)代替妒(2~t—k),并作重排后可得: c_c七,=莓{^c,”一2尼,[^,。胆乏:厂cr,2-(Jo-W2·oc2-(J"-1)t-m,A]}cz3:, 卅L L f l 结合式(2.31)和式(2.32)可得: 巳(后)=∑h(m-2k)Cj;一。(聊) (2.33) 式(2.33)和(2.30)即为Mallat分解算法”’。 -13. C∥)=∑h(m-2k)C一(脚) m D舻)=∑g(m一2k)c一(Ⅲ) (2-34) 式中的h(m一2k)和g(m一2k)分别相当于低通滤波器和高通滤波器,其计算式 为:h(m一2k)=(竹扎t,吩,。),g(m一2k)2(%扎^,纺,。)。 这一算法揭示了离散小波变换相邻尺度系数间的重要关系,通过递归计算实 现了对离散信号的小波变换。依此算法,我们将信号分成了不同频率通道成分, 且将每一频率通道成分又按相位进行了分解:频率越高,则相位划分越细,反之 则越疏“”。 Mallat重建算法为: e一。(七)=∑h(m一2.i})q(女)+∑g(m一2k)Dj(k) k k (2.35) 此处是对七求和,上式可记作C,一,(女)=FCj(k)+g’Dj(k),矗+,g‘分别是A,g的 对偶算子。 图2.6说明了Mallat分解算法的过程。c。(t)是.,一1级的输入,可以是第‘,一2 级的平滑输出,也可以是原始信号的采样序列厂(七)。经变换后,其低通输出C,(七) 是f(k)在第j级分辨率下的平滑逼近,高通输出D,(≈)是f(k)在第J级分辨率下的 细节信号,也是离散序列f(k)在第j级分辨率下的小波变换系数。h,g对应滤波 器组的冲激响应,h是低通的,相当于连续小波变换中的尺度函数妒(f):g是高 通的,相当于连续小波变换中的小波函数∥(f)。 ∥擎 -『_{ d口一]] 型; q“ 习卫 q一“一 下采样 图2.6信号分解过程 2.3.3有限长序列信号的小波变换 在实际应用中,信号通常是长度有限的序列,尤其是在图像处理领域中。因 此,怎样准确地计算边界处的系数就成为人们关心的一个问题。通常的方法是用 零填充或者进行周期延拓。显然,周期延拓在保持原信号特征方面比用零填充更 硕士学位论文 为合理。 周期延拓的方法是将长度为N的信号序列延拓为周期为N的信号,然后进行 小波变换,最后从变换结果中截取出有限长信号的小波系数。当有限长信号序列 的首尾数值相差不大时,这种方法效果较好,但是在首尾数值相差很大时,经周 期延拓后,边界处会出现阶跃信号。经小波交换后,在低分辨率的概貌部分,由 于序列首尾信号被平均化,造成边界处产生较大的失真;同时在细节部分导致信 号能量增加,严重时会使细节分量的动态范围扩大,不利于细节信号的压缩。 为了解决周期延拓的这一不足,人们将周期延拓改进为对称周期延拓。具体 方法是,先将长度为N的信号序列在边界处折叠形成一个对称的,以边界为中心 长度为2N的信号序列,然后再采用周期延拓方式来进行小波变换。这样,无论是 在一个信号周期内部还是边界,对称周期延拓都不会引入阶跃跳变,因而消除了 上述问题。 图2.7说明了边界延拓情况。 零填充 ABCDEF—' .一EFABCDEF =A==B;=C=;D==E===F一 ABCDEFAB- …CDEFEDCBABCDEFEDCBABCD-· =====:======一 周期延拓 对称周期延拓 图2.7信号的边界延拓 2.3.4提升算法 提升(Lifting Scheme)的概念首先是由Wim Sweldens提出来的,相对于Mallat 算法而言,提升算法是一种更快更有效的小波变换方法,它不依赖傅立叶变换, 可以在空间域直接计算小波系数。“4 2”。提升算法主要有两方面的应用。首先,它 可以用来实现已经存在的小波。Daubechies和Sweldens已经证明。“,任何离散小 波变换或者具有有限长滤波器的双通道子带滤波都可以分解成为一系列的提升步 骤,所有能够用Mallat算法实现的小波变换,都可以用提升算法来实现。因此, 从这个层面来讲,提升算法只是一种新的实现小波变换的的方法,信号在小波变 换后的性质只取决于所使用的小波,而与提升算法(Lifting Scheme)本身无关。 其次,提升算法能够构造新的小波。虽然,某个具体的设计可能会使提升算法等 同于某个第一代小波变换,但从本质而苦,提升算法这一层次的运用属于第二代 小波变换的范畴。 Sweldens在文献[27]中给小波下了一个广义的定义:“小波就是能够快速去除 数据相关性的构造块”。在这个定义中包含了小波的三个特征。首先,小波是构造 块,从数学上讲就是它们形成一组基,或者说是一个框架,这就意味着任何一个 通用的数据集合或者函数都能够以一种稳定的方式写成小波的线性组合。如果用 妒;表示小波,用ai表示系数,则一个普通的函数.厂可以写成/’=2。a,缈,。其次, f 小波具有去相关能力。这就是说用小波系数珥来表示数据要比原始数据更紧凑。 从信息论的角度来讲,即小波系数的熵比原始数据的熵要小;从近似理论的角度 讲,就是用少量的小波系数就可以得到函数厂的精确近似。第三个特征是必须能 够快速找到表示数据的小波系数,即在较短的时间内完成数据的原始表示和小波 表示之间的切换。小波的快速去相关能力是数据压缩、快速数据传输、去除噪声、 信号恢复以及快速数值运算等应用的关键。 由于提升算法不依赖于傅立叶变换,不需要伸缩和平移就可以构造小波,因 此这样的小波称为第二代小波。与第一代小波相比,提升算法具有如下优点:第 一,可以更快速地实现小波变换。第二,允许完全在空域上计算小波变换。换句 话说,就是原始信号的数据可以由小波变换后的数据直接代替而不需要额外的存 储器。第三,传统情况下,不能从小波反变换的形式上直接看出它是小波正变换 的逆过程,只有通过傅立叶变换才能证明它的完全重建性质。而提升算法则很直 观,只要进行与正变换相反的操作就可立即得到小波的反变换形式。在实际操作 上,就是将计算的顺序反转并把加法和减法互换。 标准的提升算法包含分裂(Split)、预测(Prediction)、更新(Update)_-一_个步骤。这 里假定有一个数据序列X[n1,下面通过提升算法获得这个数据序列的更紧凑的表 示方法。 分裂就是将数据序列分裂为两个较小的子集瓦一玎】和以。[H]。由于数据 序列中相邻数据通常具有很大的相关性,因此一般分裂成奇偶两个部分,如图2.8 所示。这种分裂方式也被称为“惰性小波(LazyWavelet)”。由于它充分利用了原始 信号的局域相关性,因而为后面的预测和更新过程提供了数据基础。 Xeven=X[2n] lx。 X2 x4 Ix6 fff f X lKlX. X。 X, Xd x,lx。lX,l I Jll x1 )(3 X5 x7| Xodd=X[2n+It 图2.8数据的分裂 预测就是用X。yenIn]来预测工。【n],预测误差为 din】=Ⅳ。“[雄卜户(z。。,【雎1) 其中,P表示预测算予。很明显,这种预测过程是可逆的,即只要选定一种预测算 子P,就可以由x—M和西嵋来恢复.k[聍】,进而恢复出原始信号X[n】。 硕士学位论文 .r删In】=dm】+P(Xe。。。[n1) 预测过程主要有两个作用:第一,可以用更紧凑的形式来表示原始数据。因为原 始信号一般具有局域相关性,所以预测误差d[n】的数值总要比j乙。【”】小得多,也 就是说,用五。【月]和d[n]来表示原始信号,要比用置。。【胛】和x。。【n]表示紧凑得 多。第二,可以在空间域中分离出信号X[n】的高频成分。在预测时,总是用过X[2n] 和X[2n+2]两点的一条平滑曲线来预测它们的中间点X[2n+1】,平滑即意味着低 频,而预测误差din】则代表着信号X[n】在一个局部区域内与自己低频分量的误差, 因此可将d【仃】看成是信号X[n】的高频分量,也常常称为小波系数。但鼍。。[,2]却不 能看成是信号X[n】的低频分量,因为它只是X[n】的亚抽样(sub—sample)。 更新更新的目的就是要用预测误差讲”】来修J下五。【n],以使得修正后的序 列(记为c【n】)只包含信号研”】的低频分量,即c【n】-五一【n]+u(d【n】)。这里U为 更新算子。通过更新,可使信号X[n】的某个特定标量(通常是平均值)保持不变。直 观地讲,就是要使c[n】的包络线成为信号X[n】的一条平滑拟合曲线。 在某些应用中,最后还要引入归一化步骤 c[n]_K。c[n】,din】_%d[n】 图2.9说明了提升算法的正反变换的过程。可以看出,信号X[n】的重建过程 非常简单,只要把计算顺序反转,并且将加法变成减法,减法变成加法,就可以 完成小波反变换。这样一旦有了正变换的形式,立刻就能得到反变换形式的性质 正是采用提升算法的一大优点,不必再通过傅立叶变换的方式来求小波变换的逆 变换。 正变换 反变换 图2.9小波提升算法正反变换示意图 下面以一个简单的例子来说明提升算法构造小波的过程。假设有一个连续信 号,【f】,我们以At=1对其采样得到序列,【n】,并且定义c[o,门】=f(n),门∈z。 首先将c[O,/,/1分裂为两个子集。由于相邻数据之间的相关性很大,这里采用惰 性小波将其分裂为奇偶两个子集,即c[1,n】.c[O,2n1和d[1,H1=40,2n+l】,玎∈Z。 然后用c[1,”】来预测d[1,n】,方法是用c[O,2n+1】左右两个相邻数据的平均值作 为其预测值,即d[1,H】=c[O,2n+11一圭(c【o,2n]+c[0,2n+2])。如果原始数据序列是 Z 线性的,则dB,n1-0,相邻数据的相关性越大,小波系数越小。这些小波系数反 映了相邻数据之间的差异,即细节信号,从而捕获的是原始信号的高频信息。 这时cB,n1还仅仅是原始信号的亚抽样,频谱还在整个带宽内,不能代表原始 信号的低频信息。因此在更新阶段,要对c[t,n1进行修正。通常修正的原则是使得 cB,n】;fnc[0,胛】具有相同的平均值,即∑c[1,H】_i1∑do,H]。Ti直imd、波系数d[1,n】 来更新c[1,/7],即c[1,n】_c[O,2疗】+A(d[1,”一1]+讲l,甩】)。全体d1,行]的和为 ∑c[1,n】=∑c[O,2n]+2A∑d[1,胛】,代入∑d[1,即】即可得到 ∑c[1,甩】-(1-2一)∑c[O,2nl+2Ayc[O,2n+1] 因此-Z:要使上式成立,必须有A=l/4,即更新步骤为 c[1,n】=c【o,2"]+{(d【1,n—1]+d[1,”】) 这样就完成了一级提升小波变换,对cU,行】重复以上三个步骤就能完成下一级小波 变换。实际上这正是JPEG2000无损压缩中采用的53双正交小波变换。图2.10形 象地说明了小波变换的提升过程。 … c[j,2n】 c[j,2n+1] c[j,2n+2】 … 一i/2/ 、、、一l/2 I—i/2/ i1/2 …7 、… / 7 \I/ f \ c[j,2n】d[j+1,n] c[j,2n+2】 、 ,’ , } 1/4\ f/’71/4} 1/4\ /+“4 … … c[j+1,n】d[j+1,”] c[j+t,”+1】 图2.10小波变换的提升过程 2.3.5二维小波变换及其在图像处理中的应用 以上所讨论的都是一维小波变换,但在实际应用中很多信号都是二维的,比 如最常见的图像处理“6’删。二维小波变换很容易从一维扩展过来。在二维情况下: 需要一个二维尺度函数妒(x,y)和三个二维小波妒Ⅳ(z,y),∥”(x,.y),妒o(z,y)。每 个都是一维尺度函数伊和相应的小波函数缈的乘积。排除产生一维结果的乘积, 硕士学位论文 如妒(x)∥(x),剩下的四个便是可分离的尺度函数: 缈(z,y)=妒(x)妒(y) 和可分离的“方向敏感”的小波函数: y“(x,y)=∥(x)伊(y) y’(x,y)=缈(x)y(y) ∥”(矗Y)=∥(x)∥(y) 这些小波函数度量不同方向的图像强度或灰度的变化:v“度量沿着列的变化,妒… 度量沿着行的变化,沙。则对应对角线方向的变化。 类似一维离散小波变换,二维离散小波变换也可以用数字滤波器和抽样实现, 图2.11说明了二维离散小波变换的Mallat分解过程及分解结果。首先对输入数据 按行作小波变换,经水平滤波后并下采样分解出沿水平方向上的低频和高频分量; 接着对行处理后的数据按列进行垂直滤波和下采样,这样一幅图像就被分解成四 个尺寸分别为原图的四分之一的子图,它们对应于四个子频带:在水平和垂直方 向上都经过低通滤波的是对上级子图的平滑近似,称为LL子带;经过水平低通和 垂直高通滤波的子图称为LH子带;经过水平高通和垂煮低通滤波的子图称为HL 子带;在水平和垂直方向上都经过高通滤波的子图称为HH子带。 C (a) 行变换后列变换届 Ib) 圈2.11二维小波变换(a)Mallat分解(b)分解结果 使用提升算法进行二维小波变换与此类似,即先对图像的所有行作一维提升 变换,然后再对所有列进行一维变换。若要进行多级变换,只要对图2.1l(b)qb的 LL部分重复以上过程即可。 图2.12是标准测试图像barbara的小波变换结果,可以看出在高频子带中的能 量非常低,大部分能量都集中在LL子带中,这对于图像压缩非常有利。 图2.12 Barbara图像的多级小波分解 (a)原始图像(b)一级小波变换后(c)--级小波变换后(d)三级小波变换后 2.4图像压缩标准JPEG2000简介 2.4.1概述 JPEG2000是关于静态图像压缩的最新国际标准”1。JPEG缩写代表Joint Photographic Expels Group(联合图片专家组),它是一个在国际标准组织(iso)下 从事静态图像压缩标准制定的委员会。它制定出了第一个静态图像压缩国际标准 JPEG,即ISO 10918-l。由于JPEG优良的品质,使得它在短短的几年内就获得极 大的成功。然而,随着多媒体应用领域的激增,传统JPEG压缩技术已无法满足人 们对多媒体图像资料的要求。因此,更高压缩率以及更多新功能的新一代静态图 像压缩技术JPEG2000就诞生了。目前JPEG2000已由ISO和IEC(国际电工协会) JTCl SC29标准化小组正式命名为“ISO 15444”。JPEG2000的基本部分(Partl) 已经作为ISO标准公布于世,JPEG2000的Paxt2~Part6的标准化进程也相当顺利, 目前已经完成或接近完成。新增加的四个部分(Part8-Partll)JE在开发之中o…。美国 神马成像公司已经在PIC Tools系列开发工具包中集成了JPEG2000图像压缩技术, 使各种版本的PIC Tools C++编程工具都可以安装支持JPEG2000压缩技术的插件。 LuraTech公司也是较早开发JPEG2000软件的公司之一,它开发的JPEG2000浏览 插件具有众多的功能,并且也开发出了jpm文件格式…3。 JPEG 2000与传统JPEG最大的不同,在于它放弃了JPEG所采用的以离散 余弦变换(Discrete Cosine Transform)为主的区块编码方式,而采用以离散小波变 换(Discrete Wavelet Transform)为主的多分辨率编码方式。JPEG2000是为21世纪 准备的压缩标准,它采用改进的压缩技术来提供更高的解像度,其伸缩能力可以 为一个文件提供从无损到有损的多种画质和解像选择。JPEG2000被认为是互联网 和无线接入应用的理想影像编码解决方案。“高压缩、低比特速率”是JPEG2000的 目标。在压缩率相同的情况下,JPEG2000的信噪比要比JPEG提高30%左右。 JPEG2000标准可分为十一个部分(Part8~Partl2为新增内容)。…: 1.JPEG2000图象编码系统(核心部分) 2.应用扩展(在核心上扩展更多特性) 3.运动JPEG2000 硕士学位论文 4.兼容性(即包容性与继承性) 5.参考软件(目前主要为JAvA与C程序) 6.复合图象文件格式(如传真式的服务等) 7.第七部分已经被放弃 8.JPSEC(security aspects) 9.JpIp(interactive protocols and API) i0.JP3D(volumetric imaging) 11.JPWL(wireless applications) 12.ISO Base Media File Format(common with MPEG一4) 2.4.2特征及应用领域 JPEG2000标准提供了一套新的特征,这些特征对于一些新产品(如数码相机) 和应用(如互联网)是非常重要的。它把JPEG的四种模式(顺序模式,渐进模式, 无损模式和分层模式)集成在~个标准之中。在编码端以最大的压缩质量(包括 无损压缩)和最大的图像分辨率压缩图像,在解码端可以从码流中以任意的图像 质量和分辨率解压图像,最大可达到编码时的图像质量和分辨率。JPEG2000应用 的领域包括互联网、彩色传真、打印、扫描、数字摄像、遥感、移动通信、医疗 图像和电子商务等等。它的最主要的特征如下…。“’”。”1: 1.高压缩率:由于在离散小波变换算法中,图像可以用更加紧凑的形式一小 波系数来表示,因此JPEG2000格式的图片压缩比可在现在的JPEG基础上再提高 10%’30%,而且压缩后的图像显得更加细腻平滑,这一特征在互联网和遥感等图像 传输领域有着广泛的应用。而且在压缩比很大的情况下,不会出现JPEG中的方块 效应。 2.无损压缩和有损压缩:JPEG2000提供无损和有损两种压缩方式。无损压缩 在许多领域是必须的,例如医学图像中有时必须使用无损压缩。JPEG2000提供的 是嵌入式码流,允许从有损到无损的渐进解压。 3.渐进传输:现在网络上的JPEG图像下载时是按“块”传输的,因此只能 一行一行地显示,而JPEG2000格式的图像支持渐进传输(Progressive Transmission)。所谓的渐进传输就是先传输图像轮廓数据,然后再逐步传输其他 数据来不断提高图像质量。互联网、打印机和图像文档是这一特性的主要应用场 合。 4.感兴趣区域压缩:可以指定图片上感兴趣区域(Region of Interest,ROI), 然后在压缩时对这些区域指定压缩质量,或在恢复时指定某些区域的解压缩要求。 5.码流的随机访问和处理:这一特征允许用户在图像中随机地定义感兴趣区 域,使得这一区域的的图像质量高于其它图像区域;码流的随机处理允许用户进 行旋转、移动、滤波和特征提取等操作。 二维离散小波变换的FPGA实现 6.容错性:在码流中提供容错性有时是必要的,例如在无线等传输误码率很 高的通信信道中传输图像时,没有容错性是无法让人接受的。 7.开放的框架结构:为了在不同的图像类型和应用领域优化编码系统,提供 一个开放的框架结构在是必须的,在这种开放的结构中编码器只实现核心的工具 算法和码流的解析,如果需要解码器可以要求数据源发送未知的工具算法。 8.基于内容的描述:图像文档、图像索引和搜索在图像处理中是一个重要的 领域,MPEG一7就是支持用户对其感兴趣的各种“资料”进行快速、有效的检索的 一个国际标准。…。基于内容的描述在JPEG2000中是压缩系统的特性之一。 2.4.3 JPEG2000中的小波变换 在JPEG2000标准Partl中规定了两种小波变换滤波器,它们是Le Gall 53和 CDF 97滤波器,其中前者既可用于无损压缩也可用于有损压缩,而后者只能用于 m训)叱∞+1)1型学 有损压缩。标准推荐使用提升算法来实现小波变换。标准中给出的计算公式如下“。: 可逆小波『F变换Le Gall 53: y(2妒Ⅳ觯卅l .Y....(..2...n.....-....1..)...+.....Y.....(..2....n....+.....1..)...+..——2 4 不可逆小波正变换CDF 97: Y(2n+1)÷一。j,盯f(2n+1)十口。【.¥。,(2n)十xd(2n+2)】 Y(2n) 七一爿二(2n)+∥。【Y(2n一1)+Y(2n十1)J (2.36) Y(2n+1)《一y(2n+1)+yxIy(2阼)+Y(2n+2)l Y(2n) 卜Y(2n)+J×lY(2n-1)+Y(2n+1)I (2.37) Y(2n+1)卜-K×Y(2n+1) 坤”)划2旷TX|(2鲨n)+X业(2n+2掣)l I Y(2n) 卜(1/K)×Y(2n) 可逆小波反变换Le Gall 53: x(2,z+1):匕(2n+1)+l (2.38) L ‘ J 不可逆小波反交换CDF 97: X(2n) 卜丘×匕(2竹) X(2n+1)七一一(1/Ⅸ)×匕;(2n+1) X(2n),(---X(2n)一dxlX(2n一1、+X(2n+1、l X(2n+1)《--X(2n+1)一yL×【"工(-2,1)/+.r--(\2-n+2-)/j ‘2’39’ X(2n)÷一.r(2以)一∥×【。r(2胛一1)+.Y(2硝+1)】 z(2n+1)鼍一Ⅳ(2以+1)一口×【j(2”)+x(2"+2)】 硕士学位论文 其中参数t2',卢,y,占,K的值分别为 口“一1.586 134 342;口“-0.052 980 118 y≈0.882 911 075;Jz O.443 506 852 (2.40) K*1.230174105 公式中的I工l表示不大于z的最大整数,相当于c语言中的floor函数。 2.4.4基本框架和实现 JPEG2000编码器的结构框图如图2.13(a)所示,首先对源图像数据进行离散小 波变换,然后对变换后的小波系数进行量化,接着对量化后的数据熵编码,最后 形成输出码流。解码器是编码器的逆过程,如图2.13(b)所示,首先对码流进行熵 解码,然后反量化和小波反变换,最后生成重建图像数据。 重源建图图像像数数据据—.-[—j至[至至至垂[至]—至.至{二].三—堕[二至]三—.至1二二二亘二亘(三三]—三吐至三二垂}.垂亟-[堕型h传输 JPEG2000的处理对象不是整幅图像,而是把图像分成若干互不重叠的图像片 (image tiles),对每一个图像片进行独立的编解码操作。在对每个图像片进行小波 变换之前,通常减去一个相同的数量值对所有的图像片进行DC平移,如图2.14 所示。 图像分片 对图像片进行离散小波变换 + + 4一 牛 十 m斗 牛 DC 牛 LL n 平移 “ LL 图2.14图像分片、DC平移和DWT 编码器的最后使用了算术编码器,在JPEG2000中使用的是MQ编码器,MQ编 码器的原理参考文献[28],它在本质上与JPEG中的QM编码器很相似”…。 整个JPEG2000的编码过程可概括如下: 1.把原图像分解成各个分量(亮度信号和色度信号)。 2.把图像和它的各个分量分解成矩形图像片。图像片是原始图像和重建图像 的基本处理单元。 3.对每个图像片实施离散小波变换。 4.对分解后的小波系数进行量化并组成矩形的编码块(code—block)。 5.对在编码块中的系数“位平面”熵编码。 6.为使码流具有容错性,在码流中添加相应的标识符(Maker)。 7.可选的文件格式用来描述图像和它的各个成分的意义。 在JPEG2000中,基本的编码引擎是基于优化截断嵌入式块编码(Embedded Block Coding with Optimized Truncation,EBCOT)。“的。由于与本文内容关联 不大,这里不作说明。 2.5本章小结 本章简单介绍了傅立叶变换、短时傅立叶变换到小波变换的发展历程,然后 较为详细地说明了小波变换的基本概念,例如小波变换的定义及其时频特性等。 紧接着介绍了多分辨率分析、Matlat算法以及提升算法(Lifting Scheme)的原理, 并对有限长序列的边界延拓方法作了说明,同时简要地介绍了二维小波变换及其 在图像处理中的应用。最后对最新的图像压缩标准JPEG2000作了简单的介绍。这 些都是后面章节内容的基础。 硕士学位论文 第3章MATLAB环境下小波变换的仿真 MATLAB是MathWorks公司于1984年推出的…‘套高性能的数值计算和可视 化软件,它集数值分析、矩阵运算、信号处理和图像处理于一体,构成了一个方 便而界面友好的用户环境。 本章在MATLAB环境中对拟采用的小波变换算法进行了仿真,目的是验证算 法的有效性,并作为后续硬件实现的参考。为此,本文首先较详细地介绍本文采 用的小波变换算法。 3.1小波滤波器 1.Le Gall 53小波变换 Le Gall 53小波变换是每个兼容JPEG2000标准的编解码器必须实现的两个变 换之一,由于其低通和高通分锵滤波器分别有5抽头和3抽头,因此而得名。由 式(2.36)和式(2.38)可知,这一变换非常简单,因而在图像压缩应用中很受欢 迎。它对应的分解与合成滤波器系数如表3.1所示。…。 表3,1 Le Gall 53分解与合成滤波器系数 Analysis Filter Coefficients Synthesis Filter Coefficients Low-Pass Hi曲一Pass Low.Pass High-Pass n Filter h(n) Filter g(n) Filter h‘(n) Filter g‘(n) O 6/8 1 】 6/8 ±1 2/8 .1/2 1/2 —2/8 ±2 .1/8 .1/8 Le Gall 53小波变换的提升算法采用了整数运算,因而能完全进行信号的重构 在JPEG2000标准中既能用于无损压缩又能用于有损压缩。 2.I)aubechies 97小波变换 Daubechies 97变换是JPEG2000标准规定的另外一个变换,其低通和高通分 解滤波器分别有9抽头和7抽头。这个变换具有优良的图像压缩性能,是图像压 缩领域中首选的小波滤波器。其分解与合成滤波器系数如表3.2所示。…。 由式(2.40)可看出,Daubechies 97小波变换的提升系数都是无理数,因此不 能实现可逆变换,只能用于有损压缩。 维离散小波变换的FPGA实现 Analysis Filter Coefficients n Low-Pass Filter h(n) High-Pass Filter g(n) 0 0.6029490182363579 1.115087052456994 ±l 0.2668641 184428723 -0.5912717631 142470 +, 一O.07822326652898785 -0.05754352622849957 ±3 .0.01686411844287495 0.09127176311424948 ±4 0.02674875741080976 Synthesis Filter Coefficients n Low-Pass Filter h+(n) Hi曲一Pass Filter g+(n) O 1.115087052456994 0.60294901 82363579 ±1 0.5912717631142470 .0.2668641 184428723 ±2 .0.05754352622849957 —0.07822326652898785 ±3 .0.09127176311424948 0.0168641 1 844287495 ±4 O.02674875741080976 需要注意的是,在JPEG2000中对Daubechies 97小波滤波器最后一个归一化 系数作了调整,即把f=1.149 604 398改为K=1.230 174 105。它们之间的关系是 f‘,:一!:—!!]!罂r塑一。40.812 893 066 f311 K2%『 ̄1.230 174 105 这里的K就是式(2.37)和式(2.39)中的K。 3.LS97小波变换 LS97小波是出国防科技大学钟广军等人在CDF97小波的基础上构造出来的, 具有系数简单,便于硬件实现,运算量少等特点,同时其图像压缩性能与CDF97 小波几乎相同,两者在图像压缩系统中可以互相作正变换和反变换。”。 卢一赤; y一—百矿; LS97小波变换的提升系数之间有如下关系: 1+4晓+4d 2 J』1、6卜揣2a+播,; f=2压等. n+ )4 (1+2a1…’ 若取a=一1.586 134 342,则可得到CDF97小波的提升系数,即 口=一1.586 134 342; ∥=一0.052 980119; y=0.882 911 075; 占=0.443 506 852; f=1.149 604 398; 硕士学位论文 LS97小波选取岱=一1.5,得到一组简单的系数: 口=一兰;∥=~面1;y 2石;≤2丁 4 ,15 ,442 i5 ;d 。 32。 5 l、 这组系数中有三个系数的分母是2的n次幂形式,有利于硬件实现。例如,占=署 可用d=·夏15=焉≠=j1一瓦1=(>>1)一(>>5)来实现,即原数据右移一位再减去右移 五位。 由于JPEG2000中对CDF97小波的归一化系数作了调整(式3.1),因此,若 要使LS97小波滤波器兼容JPEG2000,则必须对其归一化系数做出相应的调整。 本文按照式(3.1)的方法做出如下调整: 弘笺一o.s;足=烀ms @2, 与式(3.1)相比,本式非常简单,只要一个加法和一个移位即可实现。 3.2空间组合提升算法 文献【38】在标准提升算法的基础上提出了一种快速计算二维小波变换的方法 一空间组合提升算法(Spatial Combinafive LiftingAlgorithm,SCLA),非常适合于 图像处理。其基本思想是将二维小波变换的行变换和列变换结合在一起,用矩阵 运算来提高计算的并行程度。若使用CDF97小波滤波器,则可使标准提升算法的 乘法运算量减少到原来的7/12。 图3.1直观地显示了空间组合提升算法的各个计算步骤。 o o l+{ 书 o o l牛 {书 a)预测 牛 l +l o o 牛{+l o o b)更新 1/K2 l 1/铲 一1 —1 K2 一l K2 t/i(2 —1 1/K2 —1 —1 K2 —1 K2 c)归一化 图3.1空间组合提升算法原理示意图 图3.1 a)和b)中,符号。处的元素在变换前后保持不变;水平箭头处的元素新 值由水平相邻的两个元素相加后乘以系数,再和该元素的旧值相加得到;竖直箭 头处的元素新值由竖直相邻的两个元素相加后乘以系数,再和该元素的旧值相加 得到:十字箭头处的元素新值由水平相邻元素的旧值(或新值)和竖直相邻元素的新 二维离散小波变换的FPGA实现 值(或旧值)相加后乘以系数,再和该元素的旧值相加得到。各个步骤所用的系数分 别为:第一次预测用口,第一次更新用P,第二次预测用y,第二次更新用占。归 一化运算如图3.1 c)所示,符号1/K2处的元素新值等于其旧值除以K2,符号K2处 的元素新值等于其旧值乘以K2,符号.1处的元素新值等于其旧值的相反数“…。 需要说明的是,原始二维数据序列M经变换后的系数分布为 因此必须对系数进行重新排序才能继续下一级变换或量化及编码过程。 反变换过程相当简单,只要把计算顺序反转,原来的加法变为减法即可。 3.3 MATLAB仿真 在开始硬件实现方巢的总体设计之前,使用Maflab进行算法仿真非常重要。 为了验证本文采用算法的有效性,同时也作为检验硬件实现结果的参照,本文首 先用Matlab软件做了算法仿真。 在不可逆小波变换仿真中使用了两组参数,第一组为JPEG2000中的CDF97 小波变换,第二组为LS97小波变换。它们相应的提升系数分别为: CDF97小波 口=-1.586 134 342; y=O.882 911 075; K=1.230 174 105; 口=一O.052 980 119; 占=0.443 506 852; LS97小波 口=-1.5;P=-o.0625;,,=0.8;艿=O.46875;K=1.25 可逆小波变换仿真使用JPEG2000中的Le Gall 53小波滤波器。 由于在Le Gall 53小波变换中,每~步都涉及到取整运算,因此本文首先验证 SCLA算法是否适于整数可逆小波变换。用Matlab编写的m函数源代码为: function[Olmage,Image,LL,HL,LH,HH】一dwt2d_scla_53(file,row,column) PamA=0.5: ParaB=0.25; rid=fopen(file,“r); Image=fscanf(rid,’%d’,[column,I'O州); fclose(fid); Image=Image’; Olmage=Image; 硕士学位论文 fori22:2:row ifi——=row %step 1一>第’提升步:ParaA=O.5; Image(i,:)2Image(i,:)一floor(ParaA+(Image(i-l,:)+lmage(i+l,:))); else Image(i,:)2Image(i,:)-floor(ParaA4(Image(i-l,:)+Image(i一1,:))); end end for i=2:2:eolunm ifj—column Image(:,j)2Image(:,j)一floor(ParaA+(1mage(:,j一1)+Image(:j+1))); else Image(:j)2Image(:j)一floor(ParaA4(Image(:,j一1)+Image(:,j·1))); end end for i=1:2:row-1 %step 2一>第二提升步:ParaB=O.25; ifi一1 Image(i,:)=Image(i,:)+floor(0.5+ParaB+(1mage(i+l,:)+Image(i+l,:))); else Image(i,:)=Image(i,:)+floor(0+5+ParaB+(Image(i-l,:)+Image(i+l,:))); end end for i=l:2:column-I ifi一1 Image(:,j、2 Image(:,j)+floor(O.5+ParaB+(Image(:,j+1)+Image(:j+1))) else lmage(:d)=Image(:j)+floor(0.5+ParaB+(Image(:j一1)+Image(:j+1))); end end 反变换m函数源代码与以上代码相似,只是计算顺序相反,加减法互换。 假定输入数据是一个4x4矩阵 输入数据 第一次提升后 第二次提升后 18 20 15 lO 16 25 10 8 7 20 6 9 4 19 7 12 18 4 15—5 4 3 0 一l 7 14 6 3 —3 0 1 2 23 6 15 —5 63 l —l 15 15 11 3 _3 0 2 2 然后对第二次提升后的结果进行小波反变换 输入数据 第一次反提升后 23 6 15 —5 6 3 l —l 15 15 ll 3 —3 O 2 2 18 4 14-5 4 3 0 —1 7 14 6 3 —3 O l 2 第二次反提升后 18 20 14 9 16 25 lO 8 7 20 6 9 4 19 7 12 作为对比,我们再使用先行变换后列变换的标准方法对上述数据进行处理。 二维离散小波变换的FPGA实现 输入数据 18 20 15 10 16 25 10 8 7 20 6 9 4 19 7 12 第一次行提升后 18 4 15—5 16 12 10-2j 7 14 6 3 4 14 7 5 第 次行提升后 20 4 15—5 22 12 13_2 14 14 10 3 11 14 12 5 20 4 15—5 5 3 1 —1 14 14 10 3 _3 O 2 2 第二次列提升后 23 6 16-5 5 3 1 —1 15 1 5 11 3 —3 O 2 2 使用先列变换后行变换的方法进行小波反变换。 输入数据 第二次列提升后 23 6 16一S1 f 5 3 1 —1 15 15 11 3 -3 0 2 2 20 4 15—5 5 3 1 一i 14 14】0 3 j .-3 0 2 2 第二次行提升后 18 4 15-5 16 12 lO-2 7 14 6 3 4 14 7 5 第一次行提升后 18 20 15 10 16 25 10 8 7 20 6 9 4 19 7 12 第一次歹Ⅱ提升后 20 4 15-5 22 12 13-2 1 从结果可以看出,标准算法可以实现LeGall 53小波变换的完全重构,而SCLA 算法则存在一定的误差,这是因为SCLA算法将第一次行提升和第一次列提升结 合在一起,从而使第二次行提升在第一次列提升之后开始,每一步的取整就产生 了误差。因此,SCLA算法不能用于整数可逆小波变换。本文采用JPEG2000标准 算法实现此可逆小波变换。 对于LS97小波变换,对比标准算法和SCLA算法后,发现标准算法中行变换 的归一化步骤和列变换的归一化步骤可以合并(即系数K的计算步骤),这就如同 SCLA算法的最后一个步骤(如图3.1 c)一样。也就是说,在行变换后先不做归 一化的计算而直接进行列变换,列变换后才计算合并后的归一化运算,这样可以 减少两次乘法操作。接着用Matlab分别计算了归一化运算合并前后的结果,两者 完全一致。 为了同时实现可逆小波变换和不可逆小波变换,作者将标准算法和SCLA算 法结合起来,即归一化步骤采用SCLA算法,而其他运算则采用标准算法。基于 此,作者编写了Matlab函数dwt2d , row,column J2 ,, w97 1,函数用法为:_frlc(file 10Image,Image,LL,HL,LH,HH】=dwt2d_frlc('filename’,rows,columns,J2,w97) 硕士学位论文 参数filenarne为输入数据文件名,如barb.txt等。输入数据为十进制数。 参数rows和columns分别为输入数据矩阵的行数和列数。 参数w97=1时,使用97滤波器;w97=0时,使用53滤波器。 参数J2=l时,滤波器为JPEG2000的CDF97小波:J2=O时,滤波器为LS97 小波。 CDF97小波滤波器的提升系数为: ParaA=-1.586134342;ParaB=一0.0529801186;ParaC=0.882911075; ParaD=0.443506852;ParaE=1.230174105;ParaEN=0.812893066; LS97小波滤波器的提升系数为: ParaA=一1.5;ParaB=一0.0625;ParaC=0.8; ParaD=0.46875;ParaE=1.25;ParaEN=0.8: 53小波滤波器的提升系数为: ParaA=0.5;ParaB=0.25; 输出Oimage为原始数据,Image为变换后的数据; LL,HL,LH,HH分别是变换后四个子带的数据。 反变换的Matlab函数为Image=idwt2d_frlc(image,row,column,J2,w97),用法如 下: Image=idwt2d_frlc(image,rows,columns,J2,w97); image就是由dwt2d frlc变换得到的小波系数矩阵; Image为反变换后的数据,即重建数据。 其他参数与dwt2d_frlc函数相同。 为了验证LS97小波和CDF97小波的兼容性,我们使用MaⅡab小波工具箱 (wavelettoolbox)中的barbara图像(256*256)作为输入数据,分别使用如下几 种组合进行测试: 1.CDF97分解,CDF97重建 2.CDF97分解,LS97重建 3.LS97分解,CDF97重建 4.LS97分解,LS97重建 原图像x%,":】和重建图像耍融,吃】之间的失真度使用均方误差(MSE)和峰 值信嗓比(PSNR)来表示,它们的定义如下“”: 牌皇袁磊tvI-i/荟v2-,僻研∥:卜新%蚓)2 (3。) PSNR 6=1019—(2B-—1)2 (3.4) MSE 二维离散小波变换的FPGA实现 对于barbara图像而言,公式中的B=8,NI=N2=256。 分解结果如图3.2所示。 (a) (b) (c) (d) 图3.2 CDF97小波和LS97小波对图像Barbara一级分解的结果 (a)原始图像(b)CDF97一级分解(c)LS97一级分解(d)差异(最大绝对值2) 为了计算均方误差(MSE)和峰值信噪比(PsNR),我们编写了Matlab函数 【MSE,PSNR]=psnrmse(file,rOWS,columns,method,compress) 用法为 [MSE,PSNR]=psnr_mse('barb dec.txt’,256,256,’cdf97’,1); file为图像的数据文件 rows和columns分别是图像的行数和列数 method的取值为:’cdf97’ …表示用CDF97分解,用CDF97重建 ’cdf97 ls97’…表示用CDF97分解,用LS97重建 ’ls97 cdf97’…表示用LS97分解,用CDF97重建 11s97’ …表示用LS97分解,用LS97重建 compress表示是否压缩,compress=1进行压缩,compress=0不压缩。若压 缩则将HL,LH,HH的数据置为0 首先,对图像作一级分解后不作量化和压缩,而是直接进行图像重建,计算 结果如表3.3。 表3.3CDF97小波和LS97小波的MSE和PSNR比较 一级分解后,将LL之外其余三个子带数据都置为0,然后再重建图像,其 MSE和PSNR如表3.4。 表3.4CDF97小波和LS97小波的MSE和PSNR比较 硕士学位论文 表3.4中的数据与文献[371的数据具有相同的趋势,大约相当于比特率等于 O.25的情况。可以看出,LS97小波与CDF97小波的性能几乎相同。而且在高压缩 比下,分解端用LS97小波,重建端用CDF97小波也具有很好的性能,分解端用 CDF97小波而重建端用LS97小波时,性能稍差,但也很接近,这说明LS97小波 和CDF97小波的兼容性很好。因此,用简单的LS97小波代替较复杂的CDF97小 波既可以使硬件实现变得容易,又没有损失性能,是一个较理想的JPEG2000小波 变换实现方案。 为了直观地显示LS97小波和CDF97小波之间的性能差异,我们将表3.3和表 3.4中的各种情况用重建图像来表示,如图3.3。 分解CDF97重建CDF97 分解LS97重建LS97 分檫CDF97重建LS97 (a) 分解LS97重建CDF97 分解CDF97重建CDF97 分解LS97重建LS97 分解CDF97重建LS97 (b) 图3.3 CDF97小波和LS97小波重建图像 (a)表3.3中的情况(b)表3.4中的情况 分解LS97重建CDF97 为验证对于不同类型图像的变换效果,再分别使用Matlab小波工具箱中的 womaIl图像(256*256)和lena图像(512"512)作为输入,进行同样的测试,得 到结果如下。 对图像作一级分解后不作量化和压缩,而是直接进行图像重建·计算结果如 表3.5。 三丝塞墼尘达銮堡盟!!Q垒塞翌 一级分解后,将LL之外其余三个子带数据都置为0,然后再重建图像,其 MSE和PSNR如表3.6。 表3.6CDF97小波和LS97小波的MSE和PSNR比较 上述结果表明,LS97小波和CDF97小波的性能几乎相同,而在压缩比较大时 LS97小波的性能略好于CDF97小波。 对于Le Gall 53小波变换进行测试,无量化步骤时,其MSE=0,表明该小波 变换是完全可逆的。 3.4本章小结 本章首先介绍了J_PEG2000标准中采用的两个小波变换,即可逆Le Gall 53 小波变换和不可逆CDF97小波变换,然后介绍了一种新的简单LS97小波变换, 这--¥波变换具有系数简单、便于硬件实现的特点,而其图像压缩性能几乎与 CDF97小波变换相同,两者具有很好的兼容性。由于JPEG2000标准对CDF97小波 变换的最后一个归一化系数作了调整,因此为了与JPEG2000兼容,本文将LS97 的最后一个归一化系数也作了相应的调整。接着介绍了一种快速计算离散小波变 换的算法,即空间组合提升算法(Spatia]Combinative L1fting Algorithm, SCLA),然后将JPEG2000的标准算法和SCLA算法结合起来,并且编写了Matlab 函数来计算可逆小波变换和不可逆小波变换以及重建图像的峰值信噪比(PSNR)。 计算过程中,分别使用CDF97小波和LS97小波作图像分解与重建,几种测试都表 明LS97小波和CDF97小波具有几乎相同的性能,可以互换使用。 本章确定了硬件实现小波变换的算法框架,即用标准算法实现可逆Le Gall 53 小波变换,而用标准算法和SCLA算法的结合来实现LS97小波变换。 硕士学位论文 第4章 小波变换的硬件结构设计 本章的主要内容是在第三章的基础上对离散小波变换(D、ⅣT)的硬件实现问 题进行研究,制定出能同时实现可逆Le Gall 53小波变换和不可逆LS97小波变换 的硬件框架.并在此基础上对整个设计进行RTL级的电路描述,为下一步的仿真、 综合与实现做好准备。本章开始先简单介绍了超大规模集成电路(VLSI)的发展 概况和设计方法。然后简单介绍了被广泛使用的硬件描述语言--VerilogHDL。最 后设计了小波变换的正反变换结构。 4.1 VLSI简介 4.1.1概述 自从1958年美国TI公司试制成功第一块集成电路(IC,Integrated Circuit) 以来,40多年的IC发展快得令人瞠目,已经先后经历了小规模(SSI,small—scale integration)、中规模(MSI,medium—scale integration)、大规模(LSI,large—scale integration)的发展过程,目前已进入超大规模(VLSI,very large-scale integration) 和甚大规模(ULSI,ultra large—scale integration)阶段。IC产业已经发展成为新兴 的支柱产业,并且继续保持着迅猛发展的势头。集成电路持续的增长历程证明了 大家所熟知的摩尔定律的强大生命力,即集成电路中晶体管的数目每18个月增加 一倍。据专家预测,今后20年左右,集成电路技术及其产品仍将遵循这一规律发 展。 目前集成电路的主流加工技术为8英寸、0.18urn,正在向12英寸、0.10um过 渡。16和18英寸(450ram)的硅单晶及其设备正在开发之中,预计2016年左右18 英寸硅片将投入生产∞1。当前的DRAM,其容量已经达到1~4Gbit的规模,预计 到2010年可以达到16Gbit的规模。 当前国际集成电路技术的以下发展趋势“…: 1.集成电路的特征尺寸向深亚微米发展,目前的规模化生产是0.1Sum工艺, 0.15/0.13um工艺开始向规模化生产迈进,90hm工艺正在推出。 2. 晶圆的尺寸增加,当前的主流晶圆的尺寸为8英寸,正在向12英寸晶圆 迈进。 3. 集成电路的规模不断提高,CPU(P4)己超过4000万晶体管,DRAM已达 Gb规模。 4. 集成电路的速度不断提高,采用0.13umCMOS工艺实现的CPU主时钟已超 过2GHz,实现的超高速数字电路速率已超过10Gb/s,射频电路的最高工作 频率已超过6 6Hz。 5.集成电路的复杂度不断增加,系统芯片或称芯片系统SoC (System—on—Chip)成为开发目标。 6. 模拟数字混合集成向电路设计工程师提出挑战。 7. 由于集成电路器件制造能力按每3年翻两番,即每年58%的速度提升,而 电路设计能力每年只以21%的速度提升,电路设计能力明显落后于器件制 造能力,且其鸿沟(gap)呈现越来越变宽的趋势。 8. 集成电路产业连续几十年的高速增长和巨额利润导致世界范围内集成电 路生产线的大量建设,目前已经出现过剩局面。 9. 工艺线建设投资费用越来越高。目前一条8英寸0.35um工艺线的投资约 20亿美元,但在几年内一条12英寸0.09um工艺线的投资将超过100亿 美元。如此巨额投资已非单独一个公司,甚至一个发展中国家所能单独负 担的。 lO.制造集成电路的掩膜很贵。根据SemaTech报告,“一套130hm逻辑器件工 艺的掩膜大约需75万美元,一套90nm的掩膜将需要160万美元,一套 65nm的掩膜将高达300力-美元”。然而,每套掩膜的寿命有限,一般只能 生产1000个晶圆。 11.工艺线投资的高成本和设计能力的普遍落后,导致多数工艺线走向代工 (代客户加工,Foundry)的经营道路; 12.电路设计、工艺制造、封装的分立运行为发展无生产线(Fabless)和无 芯片(Chipless)集成电路设计提供了条件,为微电子领域发展提供了条 件。 4.1.2设计方法与流程 层次化设计是VLSI设计中最广泛使用的方法,层次设计将设计目标划分为不 同层次的模块,而针对设计对象的不同,又可以划分为几个不同的设计区域。整 个层次化设计分为三个域:行为域、结构域和几何域。 行为域设计主要考虑集成系统所要完成的功能,结构域设计的目的是完成电 路的具体结构,几何域是将电路转换成物理版图。 目前,在进行数字集成电路设计时,一般都采用自上而下的设计过程。对于 每个层次的设计结果,都需要进行验证,以保证设计中的错误尽早发现和排除。 随着Ic设计规模的不断增大,设计验证的复杂性也不断增加。 对于一个复杂的数字IC来说,其设计过程通常包含以下六个步骤““: 1.行为级(系统设计说明);主要解决要做什么的问题,即系统的功能描述。 需要给出具体的要求,如速度、功耗、可靠性、采用的工艺、开发费用、 开发周期等,以作为设计过程的约束条件。 2.功能级:将系统功能说明转化为子系统或者模块的集合。子系统之间通过 数据流和控制流相互连接。由于系统规模及制造工艺等多种因素的限制, ~个电子系统往往不能用一个芯片来实现,需要做成几个芯片,那么这种 划分就显得尤为重要。 3.寄存器传输级(RTL):将子系统或模块转换成实际的硬件,如寄存器、组 合逻辑、多路转换器等。 4.门级:将寄存器、逻辑功能块等转换成只包含基本门与触发器的电路,并 进行模拟及优化。 5.电路级:将基本门、触发器转换成晶体管、电阻、电容等基本元件及连线, 同时考虑电学及电路性能,并进行电路分析。 6.版图级(物理级):将晶体管、电阻、电容及连线转换成几何图形,即物 理版图,并进行电路参数提取及验证。 这种自上而下的设计方法是一种逐步细化的过程,其优点是能将一个复杂设 计简单化,可以从整体设计上把握。但这种方法也存在一定的问题,由于在上层 设计时并不了解底层的实际情况,因此,当完成某一层设计后,就给下一层设计 提出了约束条件,这就给下一层设计带来了一定的限制。同样,自下而上的设计 方法也存在不能全局把握的问题。因此,目前的IC设计往往采用自上而下和自下 而上相结合的方法。 4.1.3设计描述 在层次化设计中,每一个层次都需要用一定的方法对设计进行描述,而每一 层次的设计根据问题的侧重点不同又可以有几种不同的描述方法。由于每一个设 计层次都有三个域,相应地就有三种描述方法,即行为描述、结构描述和几何描 述。为了进行计算机辅助设计,还需要专门用于计算机辅助设计的计算机描述方 法。表4.1给出了不同设计层次的不同描述方法。 设计级别 表4.1不同设计层次的描述方法 行为描述 结构描述 几何描述 计算机描述 功能级 寄存器 传输级 门级 晶体管级 版图级 算法流程图 有限状态机 状态图 卡诺图 布尔方程 网络方程 电子、空穴 等传输方程 方块图 方框图 逻辑图 电路图 设计规则 工艺要求 版图 VHDL/Veri log VHDL/Veri log YHDL/Yerilog 逻辑模拟 YAL、SPICE DEF/LEF CIF、EDIF、GDS2 行为描述的基本特征时将芯片的外部表象和内部的具体实现分隔开来。即以 黑盒子表示其功能,而不管黑盒子内部是怎样实现的。在功能描述中,设计者着 眼点放在芯片做什么,而不管怎样做。 结构描述说明为完成某种特定功能时各个元件之间是如何连接的。 几何描述也称为物理描述,它是设计最后阶段,当一个结构确定下来之后就 要将其转换为物理版图。 计算机描述语言是用于计算机辅助设计的工具,可以描述设计结果和设计要 求。 4.2 Veri IogHDL简介 Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。设计者可用它 进行各级别的逻辑设计,可用它进行数字逻辑系统的仿真验证、时序分析和逻辑 综合。它是目前应用最广泛的硬件描述语言之…。 Verilog HDL是在1983年由GDA(GateWay Design Automation)公司的Phi] Moorby首创的。Phil Moorby后来成为Verilog—xL的主要设计者和Cadence公司 的第一个合伙人。1984到1985年间,Moorby设计了第一个Verilog—XL的仿真器; 1986年,他对Verilog HDL的发展又作出了另一个巨大贡献~提出了用于快速门 级仿真的xL算法。随着Verilog—XL算法的成功,Verilog HDL语言得到迅速发展。 1989年,Cadence公司收购了GDA公司,Verilog HDL成为Cadence公司的私有财 产。1990年,Cadence公司决定公开发表Verilog HDL语言,于是成立了OVI(Open VerilogInternational)组织来负责Verilog HDL语言的发展,基于VerilogHDL 的优越性,IEEE于1995年制定了Verilog HDL的IEEE标准,即IEEEl364-1995。 2001年3月在原标准的基础上经过改进和补充又推出Verilog IEEEl364—2001新 标准。目前IEEE正在制定Veri log新的标准,即IEEE 1364—2005”2’”1。 Verilog HDL语言具有下述描述能力:设计的行为特性、设计的数据流特性、 设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有 这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通 过该接口可以在模拟、验证期间从设计外部访问设计中的数据,包括模拟的具体 控制和运行等“…。 4.3可逆小波变换的VLSl设计 可逆Le Gall 53小波变换是JPEG2000标准规定的两个变换之~,可用于无 损压缩和有损压缩,其提升结构如式(2.36)和式(2.38)。下面来确定其硬件实 现框架。 硕士学位论文 4.3.1一维变换 首先看一维行变换。通常,人们在实现提升小波变换时首先会将输入的数据 序列进行分裂(split),这样数据就分为两路,然后分别进行预测和更新。经过 研究,我们发现分裂仅仅是一个概念,在实际的运算中并不是必需的,只要在计 算过程中能确定哪些是奇数样本,哪些是偶数样本就能完成运算。因此,本文省 略了分裂步骤,在数据输入过程中完成预测和更新,计算结果可以代替原样本值, 真正实现了在位运算。这样一来,就可以用一个输出端口交替输出高频分量和低 频分量。式(2.36)的第一式就是Lifting Scheme的预测步,即奇数样本的新值 等于其旧值减去左右相邻的两个偶数样本的平均值(需要取整)。式中第二式为更 新步,即偶数样本的新值等于其旧值加左右相邻的两个奇数样本之和的四分之一 (四舍五入)。如图4.1所示。 :i【预]—测ir=]_』、、仄F可更=i新孑_:] 【二『|=I!=r_71二止:二l:.。 图4.1一维Le Gall 53小波变换的提升步骤 图中圆形表示变换前后该位置数据不变,左右向箭头表示该位置数据的新值 等于左右相邻数据之和与系数的乘积再加上其旧值“‘嘲。 由于计算样本新值时需要用到左右两个数据,所以至少需要三个寄存器来寄 存当前数据及其左右相邻的两个数据,同时高频分量和低频分量是交替输出的, 因此可以用一个输入时钟的2分频信号来选择。为使输出信号稳定,在输出端加 一级寄存器。基于此,首先给出预测步的原理图,如图4.2。 图4.2一维Le Gall 53变换预测步原理图 A,B,C,D,E都是寄存器,其宽度由输入数据和计算精度决定。信号SYM_SEL 用来控制对称延拓,信号SEL为输出寄存器选择数据。在时钟控制下,数据由DIN 输入,第三个时钟上升沿后,输入的前三个数据分别在C,B和A中,这样在第四 个时钟上升沿时,C与A的和(此时SYM_SEL信号选择A)将进入D,与此同时,C 中的数据也进入了E(第一个输出)。在第五个时钟上升沿到来之前,SEL信号应 该选择另一路输入,即c与D的输出之和,这样第五个时钟上升沿时输出的就是 奇数位置样本韵新值。当最后一个数据进入B后,则倒数第二个数据在c中,此 时SYM SEL信号应该选择C,所以下一个时钟上升沿时进入D的就是C+C,与此同 时最后一个数据也进入了C,这就实现了边界数据的嵌入式对称延拓,而不用增加 额外的存储单元。D中的数据右移一位并取整,相当于将该数据除以2并舍弃小数 部分,也就是左右相邻数据的平均值。预测步骤数据路径的数据流程如表4.2所 示。设输入数据为D(j),从表中可以看出,数据以流水线方式有序地流动。 表4.2一维Le Gall 53小波变换预测步骤数据流程 (:I。OCK DTN A B C D E(DOUT) 0 蒸;黧鬟鞫 1 I)(1)悖§隰蔫 【2 碧≤翌篓渊D(】) {-霪糕麓篓 D(0) |3 D曙) :;季馨纛瓣 D(1) 縻鳓蘩:,§o(1) 4 蒸蒜鞣li D(3) 籀l翁麓:i D(1)豳:l翁}_蠹《虢i:;i 5 D(5) 』糕麟箨 D(3) 瀵稳虢i{D(1)}D(3) D(1)_(D(O)+D(2))/2 6 蘑l麟嚣i D(5) 豢:l舔薹雾 D(3) ,蠢≤瓣《移《赣囊* lll,麓蕾_{_;{训烈 iH州{__=_t曩Ⅲ 7 D(7) 鞠瑟委麓ii D(5) 鬻瓣!ii D(3)十D(5) D(3)(D(2)+D(4))/2 8 B(7) 舞|jl稿簿鼍 B(国 :器甏簿罐i鼯鬻 渗羞蓬i尊一毒鳓墓“#;:誊.曩 9 D(7) :灏i鳓誊:* D(5)十D(7) D(5)一(D(4)+D(6))/2 10 D(7) i囊蒌戮l溅戮i;il 11 D(7)固(7) D(7)一(D(6){D(6))/2 Lc TB,CLK Lc T日,RST -^“-vALlD 刚UT AIDIN A/O_VALID T^,ADOUT ,UUT AISEL AISYM—.SEL 0 0 StO Z qtO 口 1 StO U U U U U U U U U l几几几』1』1_厂L』_L.几一几.几.几几 ...一 Ⅱ I 123 127 123 I∞127 I∞127 I”11i1'10 2 I L 117 16 I厂Ⅱ7 n7 I-2 123 i5 127 I-1ⅧI[】重卫]匝]匝j[ 1广]厂]厂]厂]厂]厂]厂]厂一 ___●_--●_-。。●_。。_-_●-。●-。—— 从图4.1可以看出,更新步的输出顺序与预测步不同,但原理图相似。更新 步的边界延拓要在输入开始的时候进行,其原理图如图4.4。 图4.4一维Le Gall 53变换更新步原理图 同样也可以给出更新步骤的数据流程,如表4.3所示。 硕上学位论文 表4.3一维Le Gall 53小波变换更新步骤数据流程 (:I.OCK D】N A B C 【) 0 瞰o)量¨I E(DOUI、) 1 D(1) 瓤国 2 =.D‘《i{{)蠹 D(1) 德(o》..。” D(0)+D(0) 3 D(3) i)(2≯ D(1) 鞲≤O) D(1)+D(I) (D(0){D((}))/4 4 渺(勤j。 D(3) |!:11《忿 D(1) =.D(O)'班(雳__=__ ,秘(O)醚瓤1a-由11)) 钼 5 D(5) 套《《垮i D(3) 瓤2事 D(1)+D(:{) D(1) 6 搿麟矧 D(5) .醮黪: D(3) D__l:2)蝴(黔誊 二D(2琏国i(1)十£I|_(3))腿 7 D(7) 一玲《磁*一 D(5) 瓤≤魏i U(3)+D(5) D(3) 8 D(7) 皴固“ 13(j) n獬谚@≯ D羞毪薹牛(O(3》 薹簌舒》 瓤 9 D(7) 罐《国一 D(5)}D(7) D(5) 10 D(7) 隧8);_一一j__=__ D{蠢j+(D≮i》赢睡(7)墨辫 ll 1)(7) D(7) 12 D(7)/4 表中,CLOCK为3和12时对应的E(DOUT)是无效输出。 更新步骤的时序图如下: 口 ]几几几几几n几r]n n n n几几n几n n n n几 0 Stl _J , 互]可rllf—玎r1=广127 I-2砭]巧田1-1 I舶Id阻n 113 1-3翔 StO l L 赫删器 0 D D ¥tt f n厂1广_]r] n Ig I扣斑119 11 瑾7 1-2珊五I圈I·1珈I-1 12Z n 广]厂] 厂] 133 1.3 I-1 l 图4.5一维LeGall 53变换更新步时序图 至此,一维Le Gall 53小波变换的预测和更新步骤结构设计就完成了。将图 4.2_和图4.4结合起来就会发现,预测结构中的输出寄存器E和更新结构中的输入 寄存器A可以合并,能进一步缩小芯片面积。这样,整个Le Gall 53小波变换的 硬件结构可用图4.6来表示。 国4.6一维Le Gall 53小波变换的结构原理图 其数据流程很容易就能得到,这里省略。使用Matlab函数dwt2d frlc做仿真, 并与Modelsim输出对比表明两者完全一致,说明了此结构的正确性。 4.3.2二维变换 对于一个二维数据矩阵M,按照Mallat的塔式分解算法“…,其二维小波变换 可以分解为两个一维变换,通常是先对行实施一维变换,然后再对列实施一维变 换,因此,传统的二维DWT实现结构都是用同一组滤波器先对所有行进行一维变 换,中间结果暂存于存储器中,然后再对所有列进行一维变换。但是这样的结构 需要很大的存储空间(必须能存储整幅图像),不但增大了芯片面积,还增加了功 耗,目前这种结构己不多见。我们在分析二维小波变换特点的基础上,提出了一 种简单的变换方法,只需要存储三行中间结果就能完成全部数据的二维小波变换。 其变换原理叙述如下: 图4.7说明了二维LeGall 53小波变换的全过程。A和B属于行变换,C和D 为列变换。 c D列更新步 赢醋 志蓊行一目矧日 一一瓣蒋∽一爿掣。 一粼p㈢ 图4.7二维LeGall 53小波变换流程 图中“圆圈”代表该位置数据在变换前后保持不变,“箭头”代表该位置数据 的新值等于其相邻两个“圆圈”处数据的和与系数的乘积再加上该位置的原值。A 和B两个步骤使用一维变换即可完成。而要计算C的第二行数据,需要用到第一 行和第三行数据,计算第四行数据时则要用到第三行和第五行数据,此后依此类 推。若要计算C中的最后一行则要进行数据的对称延拓(如图所示)。所以,C的 每次计算需要三行数据,而本次计算的第三行输入同时也是下~次计算的第一行 输入,这就要求有一个缓存将B的输出暂时存放起来,并且按“1,2,3:3,4, 5;5,6,7”的规律向C提供数据,从而C本次输出的第三行数据就是下一次输 出的第一行数据,这样C的有效输出是前两行,其基本结构是三行输入和两行输 出。从图4.7中可以看出,要计算D的第一行数据,显然需要将数据对称延拓, 也就是说将c的第二行输出同时作为D的第一行和第三行输入;计算D的第三行 数据时,需要第二行和第四行数据,而这里所说的第二行数据实际上是C上一次 计算的第二行输出,所以必须有一个缓存将C的第二行输出暂存起来供D使用。 与C的计算相似,D的计算过程中也有冗余的输出,其有效输出是后两行。综合 以上分析可得出这样的结论:在B和C之间需要三行缓存,但经过仔细分析,发 现只要两行缓存就可以实现同样的功能。而在c和D之间需要一行缓存。据此得 到的结构如图4.8所示。 _Buffer ab h 厂1竺!兰!卜 —』—L ] \—<r- 厂ij=] 预 ]::::!:二:广—’ 测 更 LL,HL 新 LH,Htt 圈4,8 Le Gall 53小波列变换原理图 这里的“INPUT”与图4.6中的“DOUT”连接,假定行变换总共输出8行数 据,分别为LO,Ll,L2,L3,L4,L5,L6,L7,数据按行输入到“INPUT”端口。当 L0开始有效时,先存入Buffer 2中,存储完毕后等待Ll。在L1的首个数据出现 前一个时钟先将Buffer 2(L0)的首个数据读出,等到L1有效时就可以同时在 Buffer一1和Buffer2中分别写入L0和L1;为了有效保存数据,对于缓存的读写时 序要求是:读操作总是比写操作提前一个时钟周期。当L2有效时则提前把LO和 L1同时从Buffer 1和Buffer 2中读出,此时预测单元的输入使能端有效,则三行 数据(L0,L1,L2)同步输入预测单元,L2输入完毕后Buffer 2中存放的是L2, 而Bufferl中存放L1;然后输入L3,此时预测单元不接收数据,L3输入后,Buffer 1 中存放的是L2,Buffer一2中是L3,因此在输入L4时,预测单元开始接收数据, 其三行输入分别是L2,L3,L4。凡输入第三五七等奇数行数据时预测单元才接收 数据,其他行依此类推。更新单元在计算第一行数据时需要进行对称延拓,而此 后更新单元的第一行输入总是预测单元上一次的第二行输出,因此在预测单元和 更新单元之间需要一行缓存。与预测单元相同,更新单元的输出也有冗余,只要 其后面两行输出即可,第一行含有LL和HL数据,两者相间输出;第二行含有LH 和HH数据,也是相间输出。 与行变换相比,列变换的设计相对简单,按照式(2.36)容易得到列变换预测 单元和更新单元的内部结构图如下: (a) 图4.9 Le Gall 53列变换结构图(a)预测单元(b)更新单元 为了使图4.8中的结构能正常实现,必须对其中的三个缓存进行精心的设计。 按照前面的分析,缓存的功能类似于一个FIFO(First In,First Out)存储器,首先存 入一行数据(例如512个),在第二行首个数据到达的前一个时钟先读出FIFO中 的第一个数据,下一个时钟则将第二行首个数据写入FIFO中,同时将FIFO中的 二维离散小波变换的FPGA实现 第二个数据读出,依此类推,读出数据总是比写入数据快一个时钟周期。本文使 用RAM来实现此功能,存储器的Verilog代码如下: module DPRAM(WCLK,WEN,WADD,DI,RCLK,KEN,RADD,DOX f)arameter WIDTH=24; f,arameter ADD_WIDTH=9; f)srame'terDEPTH=512; input WCLK; in‘putWEN; input[ADD_WIDTH-1:O】WADD; input[WIDTH-1:0]DI; in。put RCLK; in‘putKEN; ‘mput[ADD_WIDTH-1:01 RADD; output[W1DTH-1:0】DO; reg[WIDTH一1:O】data_inter[DEPTH-1:0】/+synthesis syn_ramstyle=”block_ram”+/; reg[WIDTH一1:O]outport; always@(posedge RCLK) iffREN)outport<-data_inter[RADD]; else outport<=’h0; always@(posodge WCLK)if(WEN)data imer[WADD]<=DI; assign DO。outport; endmodule 只要改变参数DEPTH,就能使变换模块支持的最大图像片尺寸得以改变。 将图4.6的行变换结构和图4.8的列变换结构连接起来就能实现二维LeGall 53 小波变换。输入与输出都是位数相同的整数。 4.4不可逆小波变换的VLSI设计 不可逆CDF97小波变换是JPEG2000标准规定的另一个变换,只用于有损压缩, 其提升结构如式(2.37)和式(2.39)。但是我们也看到,该变换的提升系数都是 无理数,用硬件实现时需要耗用较多的资源。正如第三章所讨论的,用LS97小波 变换代替CDF97小波变换是一个较理想的选择,不但易于硬件实现,而且与CDF97 小波具有很好的兼容性。本节将给出它的硬件实现结构。 4.4.1一维变换 在第三章中,我们确定了LS97小波变换流程,即先做行变换,再进行列变换, 归一化移到列变换后进行,因此它的一维变换过程可以用图4.10表示。 预测 更新 预涮 更新 睦I丑丑}令墨阿—i乏]>P可三圈。匹E J驾翌 图4.10一维LS97小波变换的提升步骤 与Le Gall 53变换相似,不同之处在于多了一个预测步骤和一个更新步骤, 因此我们仍可以使用Le Gall 53的结构。 硕士学位论文 首先,分析第一个预测步骤和更新步骤。LS97的相应系数为一1.5,相当于 一(1+0.5),即数据右移~位后与原数据相加再取其相反数,在硬件中可以直接使用 减法器实现。注意到Le Gall 53变换中也有乘0.5的操作,所以右移可以共用。 故可将图4.2修改如下: 萨 图4.11一维LS97变换第一预测步原理图 信号w97为高电平时,完成LS97小波变换,低电平时则完成Le Gall 53小 波变换。数据路径的分析类似于Le Gall 53小波变换,这里从略。 LS97小波变换的第一个更新步骤的系数为一1/16,即将数据右移4位取相反数。 而Le Gall 53小波变换的系数为0.25,即右移2位后舍入取整。由于Le Gall 53 小波的系数为正值,因此进入w97选择器前需要取反。图4.4可修改为 图4.12一维LS97变换第一更新步原理图 接着,分析第二预测和更新步骤。对应的LS97小波提升系数是O.8,在此我 们将其量化为二进制数,以便使用移位加代替乘法操作。 >>>1+>>>2+>>>5+>>>6+>>>9+>>>10 =0.5+0.25 4-0.03125+0.015625+0.001953125+0.0009765625 =0.7998046875 直接相加需要五次加法才能完成运算,若能利用一些技巧对其进行优化,则 可减少加法次数。可以看到(>>>5+>>》6)相当于(>>>l+>>耀)再右移4位,而 (>>>9+>>>10)则相当于(>>>1+>>>2)再右移8位,因此可得 (>>>l+>>>2)+(>>>1+>>>2)>>>4+(>>>1+>>>2)>>>8 =(>>>1+>>>2)(1+>>>4+>>>8) (>>>l+>>>2)是公共算子,可以提取出来。优化后只要三次加法就能完成运 算。原理图如图4.13。 图4.13一维LS97变换第二预测步原理图 第二个更新步骤的系数为0.46875,其二进制表示为0.01111,即0.25+0.125 十0.0625+0.03125=0.46875。直接相加需要三次加法,但我们进一步分析发 现,用减法实现更加简单,即0.46875=0.5 0.03125,二进制表示为0.1—0.00001, 即>>>1_>>>5,这样只需要一次减法即可完成运算。其原理图如图4.14。 图4.14一维LS97变换第二更新步原理图 图4.15一维小波变换总体结构图 硕士学位论文 证如Le Gall 53一维小波变换一样,当图4.11,图4.12,图4.13和图4.14 的结构连接在一起时,便产生了一些冗余寄存器,去掉这些冗余寄存器后的总体 结构如图4.15所示。 至此,一维LS97小波变换和一维Le Gall 53小波变换已经实现,而且后者 内嵌在前者的变换之中,没有增加电路规模,节约了硬件资源。需要说明的是, Le Gall 53小波变换并没有用到第二预测和更新步。 4.4.2二维变换 与Le Gall 53小波变换相同,LS97小波变换需要三行数据就可以开始列变换, 不过在列变换第一更新步后不是直接输出数据,而是将两行数据暂存起来供第二 预测步使用。这是由于第二预测步同样需要三行数据才能开始变换,因此在第一 更新步与第二预测步之问需要两行缓存。在第二预测步和第二更新步之间需要一 行缓存即可。这样,总共需要六行缓存就可以完成LS97小波变换和Le Gall 53 小波变换。由于本文将归一化步骤进行了调整,因此若进行LS97小波变换,在第 二更新步之后,还必须作归一化计算。 图4.16说明了二维LS97小波变换的流程(不含归一化计算)。 列第一更新步 列第二更新步 行第一预铡步 行第二更新步 列第一预测步 c o c o’、列第二预捌步 o c o o、 }辩命“专窿‘蘸圈蔼簿噩 I:I冀l旦l“l l。I到2{g 、罐1型涮型坐窆.雕焉案刨燮眺∥ 图4.16二维LS97小波变换流程 上图中的行变换模块在输出最后一行数据后,列第一预测步就需要进行数据 的对称延拓,而列第一更新步只是在计算第一行数据时需要对称延拓,列第二预测 步和列第二更新步分别与前两者相同。 Le Gall 53和LS97小波变换统一的列变换原理图如图4.17。 固4,17 Le Gall 53和LS97统一的列变换原理图 与一维变换的情况相似,使用第~预测步和第~更新步来实现Le Gall 53变 换和LS97变换,而第二预测步和第二更新步只实现LS97变换。首先给出第一预 测步和更新步的统一结构,其中的乘0.5的操作仍然可以共用,如图4.18(a)、 二维离散小波变换的FPGA实现 (b)所示。为了提高速度,可以在输入寄存器与输出寄存器之间增加寄存器,形 成流水线,这就是用面积换取速度的设计原则“…。 按照一维变换的分析,由于第二预测步的计算量较大,这旱采用了二级流水 线设计,即在中间插入了三个寄存器用于存放中问结果,这样可以提高数据处理 速度,结构如图4.18(C)。 1七 萨一证一■ ①1 ≤里 J-E- 州卜书 一 __ 一 ~ (a) (b) 矧b]刮 (c) DOUT (d) 图4.18LeGall 53和LS97列变换结构图 (a)第一预测步(b)第一更新步(c)第二预测步(d)第二更新步 最后来分析合并后的归一化运算。LS97小波变换的归一化系数K=1.25,1/K 0.8,用矩阵方式来说明其原理比较容易理解。 假定原始数据矩阵经过行变换(两次预测和两次更新)后成为4x4方阵M。 a b cd M= e{ g h ● z ● J k Z 搠珂pg 然后进行归一化。由式(2.37)可知 r(2n)=Y(2n)/K,Y(2n+1)=-K·Y(2n+1) 因此,在归一化运算后,矩阵M变为MR。 ai k —Kb M{= e|K t|X m}K —Kf 一蔚 一砌 c/K g/K k/K P/K —Kd 一鼢 一砌 一Kq 在此基础之上进行列变换,由于列变换不涉及到各列之间的关系,只在本列 进行,因此各列的公共因子(1/K和一K)可以提取出来。这样M。经过列变换后将变 为如下形式: a’}K —Kb’ 一/K 一尉7 峨= 一/K }{K m’/K 一碍t 一码t —K∥ g’/K ∥/K P’/K 一Kh’ 一目’ 一勋’ 式中口’,b’,C’,d’等就是岛b,c,d不经归一化运算而直接进行列变换的结果。 然后再对各列做归一化运算,结果如下: (口’/K)/K(一。I_(6’)/K(c’/K)/K(一盖d’)/K -K0’l定) 一足(_Kf’) 一K(97/足、 一足(一田I’) Mc= (f,/K)/K (一gj’)/K (F/K)/K (一Kl')/K —K(m‘/置、 一足(一Kn’) —K(p7/K) —K(一Kq’) 一/K2 一∥ ,/K2 一,H’ 一b’ c7/K2 一d7 足2,’ 一g’ K2h’ √’t’/K2-1’ K2∥ 一P’ K2q’ 上式表明,归一化运算确实可以在最后一步合并进行,其计算方式可用图 3.1(c)表示。 确定了算法后,我们对系数进行分析。 K2=1.252=1.5625=l+1/2+l/16 1/K2=0.8。=0.64≈1/2-I-l/8+1/64=0.640625 对于l/K2,为了简化计算,我们使用0.640625作为0.64的近似值。 最终确定的结构如图4.19。 D D 图4.19归一化步骤结构原理图 到目前为止,可逆Le Gall 53小波变换和不可逆LS97小波变换的结构原理 图都已经确定,但还没有讨论列变换的边界延拓问题。实际上如图4.17,左边三 二维离散小波变换的FPGA实现 个MUX就是为边界延拓而设的,第一和第二更新步在第一行就需要对称延拓,而 第一和第二预测步需要在最后一行时对称延拓。最右边的两个MUX则用来选择l,e Gall 53小波变换和LS97小波变换的输出。这些对称延拓信号需要由控制单元根 据输入数据的情况来产生。 只要将图4.15的行变换结构和图4.17的列变换结构结合起来,就可以完成 二维Le Gall 53和LS97小波变换。 4.5控制单元设计 控制单元的主要功能是产生对称延拓信号,读取缓存数据信号,各模块完成 变换的信号等。模块接口如下所示: module CALCU CTRL(//输入信号 CLK, //系统时钟 RST, DATA END, //复位信号 //行变换结束标志 I_VALID, [3一DO—VALID, A_DONE, B_DONE, C DONE, //输入数据有效标志 //B模块的输出数据有效 //A模块完成一行变换的标志 //B模块完成一行变换的标志 //c模块完成一行变换的标志 D_DONE, E , /f输出信号 A SYM EXP, 模块完成一行变换的标志_DONE //D模块完成一行变换的标志 //E //A模块对称延拓信号 B SYM EXP. //B模块对称延拓信号 C SYM EXP. D SYM EXP. //C模块对称延拓信号 //D模块对称延拓信号 R RAM. //读行列变换中间缓存中的数据 R BC BUF. //读B,C间缓存数据 A DI VALID LAST //A模块最后一个输入有效信号 C DI VALID. A END, //C模块的输入数据有效 //A完成所有数据的变换,产生此信号 B END, C END, //B完成所有数据的变换,产生此信号 //C完成所有数据的变换,产生此信号 D END, //D完成所有数据的变换,产生此信号 E END //E完成所有数据的变换,产生此信号 J: 这里的A模块代表列变换第一预测步,B模块代表列变换第一更新步,c模块 代表列变换第二预测步,D模块代表列变换第二更新步,E模块代表归一化计算步 骤。每个计算模块在完成一行数据的变换后产生一个“DONE”标志,控制单元据 此来判断各个模块的工作情况,以保证数据流在模块间正常地流动。 从图4.17可以看出,当行变换最后一行数据输出后,暂时存储在Image—L2 硕士学位论文 中,而Image—LI中存放的是行变换输出的倒数第二行数据,因此若要开始列变换 第一预测步就需要将Image—L1中的数据同时作为第一和第三行输入,Image—L2中 的数据作为第二行输入,此时需要的信号是A—SYM—EXP,其代码为: always@(posedge RST or posedge DATA END)begin if(RST)A—SYM—EXP<=1’bO: else A—SYM—EXP<=1’bl: end 其中的DATA_END是行变换结束信号。其他模块的对称延拓信号与此类似。 4.6小波变换的反变换结构 完成了小波变换的正变换结构设计后,就很容易设计出其反变换结构。小波 反变换的提升实现类似于正变换,唯一不同的就是其计算顺序相反,原来的加法 变为减法,原来的减法变为加法。因此,我们在这里仅给出小波反变换的原理图, 如图4.20。 图4.20小波反变换原理图 小波反变换首先进行列变换,然后进行行变换,因此需要七行缓存。最后同 时输出两行数据,所以需要两个行变换单元。显然反变换的面积比正变换的要大。 对称延拓信号与正变换相似,但顺序相反。 4.7本章小结 本章在第三章确定的算法基础上,对算法的硬件实现问题进行了研究。首先 从简单的可逆Le Gall 53小波变换开始,设计了一维变换的结构后,本文给出了 一种非常简单有效的列变换方式,只要用三行缓存就能完成二维Le Gall 53小波 变换,减少了存储空间。然后利用Le Gall 53小波变换的结构设计了LS97小波 变换的结构,只要用六行缓存就能完成二维LS97小波变换。 在设计中,根据Le Gall 53小波和LS97小波提升系数的特点,我们使用移 位加代替了乘法运算,并且将移位加中的公共算子提取出来,进一步减少了加法 次数。为了提高速度,还在一些结构中插入了寄存器形成流水线。 接着分析了归一化的合并计算原理,并给出了原理图。 完成正变换设计之后,很容易就能设计出反变换的结构,本章最后给出了反 变换的原理图,它比正变换需要更多的资源。 二维离散小波变换的FPGA实现 第5章基于FPGA的仿真与实现 5.1 FPGA简介 FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列, 它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用 集成电路(ASIC)领域中的一种半定制电路而出现的,既继承了ASIC的大规模、 高集成度、高可靠性等优点,又克服了普通ASIC设计周期长、投资大、灵活性差 的缺点,逐步成为复杂数字电路设计的首选。当代FPGA有以下特点“…: 1.规模越来越大。随着VLSI工艺的不断进步,单一芯片内部可以容纳上百 万个晶体管。单片逻辑门数已超过百万,如Xilinx Virtex—II xc2v 8000已经达 到800万门的规模。 2.开发过程投资小。FPGA芯片在出厂之前都做过百分之百的测试,而且FPGA 设计灵活,发现错误时可直接更改设计,减少了投片风险。所以许多复杂系统使 用FPGA完成,甚至设计ASIC也要把实现FPGA功能样机作为必需的步骤。 3.FPGA一般可以反复地编程、擦除。在不改变外围电路的情况下,设计不同 片内逻辑就能实现不同的电路功能。所以,用FPGA试制功能样机,能以最快的速 度占领市场。 4.保密性好。在某些场合下,根据要求选用防止反向技术的FPGA,能很好地 保护系统的安全性和设计者的知识产权。 5.新型FPGA内嵌了CPU或DSP内核,支持软硬件协同设计,可以作为片上 可编程系统(SOPC)的硬件平台。 5.2 FPGA设计流程 一个完整的FPGA设计流程包括电路设计与输入、功能仿真、综合、综合后仿 真、实现、布线后仿真和下板调试等主要步骤,如图5.1所示““。 其中电路设计与输入是根据工程师的设计方法将所设计的功能描述给EDA软 件。常用的设计输入方法有硬件描述语言(HDL)和原理图设计输入方法。原理 图设计方法在早期应用得比较广泛,但在大型设计中,这种方法的可维护性差, 不利于模块建设和重用。更主要的缺点是:当所选用芯片升级换代后,所有的原 理图都要做相应的改动。目前在大型工程设计时,最常用的设计方法是HDL设计 输入法。其中影响最广泛的有VHDL和VerilogHDL。它们的共同特点是利于自上 而下设计,利于模块的划分与重用,可移植性好,通用性好,设计不因芯片工艺 硕士学位论文 与结构的改变而改变,更利于向ASIC移植。 Y 厂i磊基磊-] 图5.1 FPGA设计流程 电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是 否符合设计要求。功能仿真有时也被称为前仿真。常用的仿真工具有Model Tech 公司的Modelsim,Synopsys公司的VCS,Cadence公司的NC—Verilog和NC-VHDL, Aldec公司的Active HDLVHDLNedlogHDL等。通过仿真能及时发现设计中的错 误,加快设计进度,提高设计的可靠性。 综合优化(Synthesize)是指将HDL语言、原理图等设计输入翻译成由与、或、 非门,RAM,寄存器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求 (约束条件)优化所生成的逻辑连接,输出edf和edn等文件,供FPGA厂家的布 局布线器进行实现。常用的专业综合优化工具有Synplicity公司的Synplify/Synplify Pro、Amplify,Synopsys公司的FPGA Compiler 11(Synopsys公司将停止发展FPGA Express软件,致力于FPGACompilerII平台的开发),ExemplarLogic公司出品的 LeonardoSpectrum等。另外,FPGA厂商的集成开发环境也带有一些综合工具,如 XilinxISE中的XST等。 综合完成后需要检查综合结果是否与原设计一致,需要傲综合后仿真。在仿真 时,把综合生成的延时文件反标到综合仿真模型中去,可估计门延时带来的影响。 综合后仿真虽然比功能仿真精确一些,但是只能估计门延时,而不能估计线延时, 仿真结果与布线后的实际情况还有一定的差距,并不十分准确。这种仿真的主要 目的在于检查综合器的综合结果是否与设计输入一致。 综合结果的本质是一些由与、或、非门,触发器,RAM等基本逻辑单元组成 的逻辑网表,它与芯片实际的配置情况还有较大差距。此时应该使用FPGA厂商 提供的工具软件,根据所选芯片的型号,将综合输出的逻辑网表适配到具体FPGA 器件上,这个过程就叫做实现(Implementation)过程。Xilinx的实现过程分为: 翻译(Translate)、映射(Map),布局布线(Place&Route)等3个步骤。因为只 有器件开发商最了解器件的内部结构,所以实现步骤必须选用器件开发商提供的 工具软件。 布局布线之后应该做时序仿真,时序仿真中应该将布局布线的时延文件反标到 设计中,使仿真既包含门延时,又包含线延时信息。与前面各种仿真相比,这种 后仿真包含的延时信息最为全面、准确,能较好地反映芯片的实际工作情况。 设计开发的最后步骤就是在线调试或者将生成的配霞文件写入芯片中进行测 试。在ISE中对应的工具是iMPACT。 每个仿真步骤如果出现问题,就需要根据错误的定位返回到相应的步骤更改或 者重新设计。 5.3小波正变换的FPGA仿真与验证 本文采用Xilinx公司的FPGA开发软件ISE6.3i作为小波交换的实现环境,使 用第三方仿真软件ModeIsira5.8c和综合软件SynplifyPr07.7进行仿真与综合。 首先在ISE中建立工程DWT 2D,然后选择使用的FPGA器件及其封装形式 以及综合与仿真软件等。由于小波变换需要用到FPGA中的BlockRAM,因此选 用Viaex2系列的器件xc2v250—6.csl44,接着加入所有源代码(包括测试文件)。 这时就可以进行仿真与实现了。 本文使用Matlab小波工具箱(wavelet toolbox)中的barbara图像作为输入, 该文件存放在Matlab安装目录的toolbox\wavelet\wavedemo目录中,文件名为 wbarb.mat。在Matlab中将wbarb.mat载入到工作空间并按行写入到文本文件 barb_hex.txt中,使用的命令如下: load wbarb fid=fopen('barb hex.txt。,『w’】: fprintf(rid,’%xkn’,X’); felose(rid); 文件barb Ixt . 就可作为仿真的输入。.hex 使用VerilogHDL设计了所有代码,并给出了测试文件(Testbench),在Testbench 中用¥readmemh(”out/barb_hex.txt",image)命令将图像数据先读入到存储器image 中,然后进行小波变换。 在1SE中可以完成综合、实现直至下载到FPGA芯片中的全过程,其中的实现 过程又包括翻译(Translate)、映射(Map)和布局布线(Place&Route)三个子过 程。对于设计的仿真有四种类型,分别是行为仿真(Simulate Behavioral Model)、 翻译后仿真(SimulatePost.TranslateVerilogModel)、映射后仿真(SimulatePost.Map VerilogModel)和布局布线后仿真(SimulatePost-Place&RouteVerilogModel)。 设计完成后,首先要作行为仿真,因为行为仿真是对电路逻辑功能的验证,因 此也称为功能仿真。如果功能仿真的结果是错误的,则整个设计就是错误的,必 须修改设计。为了验证本设计是否能正确地完成Le Gall 53和LS97小波变换,本 文先在ISE6.3i中作了功能仿真。 在ISE6.3i的界面下,运行Modelsim5.8c,可以看到仿真软件自动载入所有设 计文件,如果编译没有错误,则会弹出wave窗口,从中我们可以看到仿真波形图。 为了将仿真输出与Matlab输出作比较,我们对输出数据进行了取整,并在testbench 中设置了文件输出功能。Testbeneh输出的文件有LL 97.txt,HL 97.txt,LH txt 和HH 97.txt以及LL 53.txt,HL 53.txt,LH 53.txt和HH 53.僦,分别对应LS97 小波变换和Le Gall 53小波变换的四个子带输出。只要将这些文件读入Matlab中, 合并成一个矩阵后与Maflab输出比较,并计算它们的最大绝对误差和均方误差 MSE,从中就可以看出Modelsim仿真输出是否正确。 这里仍以barbara图像作为输入,首先用Modelsim仿真Le Gall 53小波变换, 仿真完成后得到四个输出文件LL 53.txt,HL 53.txt,LH 53.txt,HH 53.txt,将它 们复制到Matlab当前工作目录,然后在Matlab中运行本文在第三章所设计的 Mauab函数 [Olmage,Image,LL,HL,LH,HH]=dwt2d_frle(‘barb_dec.txt’,256,256,0,0): 计算出的子带数据LL,IlL,LH,HH存放在工作空间中,接着运行如下命令: temp=[LL,HL;LH,}玎田; rid LL=fopen(’LL 53.txt’,|r1); 三丝曼墼尘鎏銮垫鲍!£g垒塞翌 rid—HL=fopen(’HL_53.txt','r’); fid_LH 2 fopen(’LH_53.txt','r’); fid_HH 2 fopen(’HH。53.戗t’,’哦 LL—Modelsim=fscanf(fid_LL,。%d’,[128,1281); HL—Modelsim=fscanf(fid_HL,’%d,[128,128]); LH—Modelsim=fscanf(fid LH,%d’,1128,128]); HH—Modelsim=fscanf(fid_HH,’%d’,[128,128】); LL—Modelsim=LL_Modelsim’; HL—Modelsim=HL Modelsim’; LH_Modelsim=LH Modelsim’; HH—Modelsim=HH_Modelsim’; Image_modelsim 2[LL Modelsim,HL_Modelsim;LH_Modelsim,HH_Modelsim]; diff=letup-Imagemodelsim Max_diff=max(max(abs(di∞)); MSE=0; for i.1:256 forj=1:256 MSE;MSE+(temp(ij)一Image_modelsim(ij))^2; end end MSE=MSE/(256+256); 最后得到Max diff=0,MSE=0,表明本设计与Matlab输出完全一致。用 woman图像和lena图像作为输入也可得到同样的结果。 接着再对LS97小波变换进行行为仿真,可以得到四个输出文件LL 97.txt, HL 97.txt,LH 97.txt和HH 97,txt,将它们复制到Matlab当前工作目录,并运行 Matlab命令[Olmage,Image,LL,HL,LH,HH]=dwt2d_frlc(‘barb dec.txt',256,256,0,1)完 成LS97小波变换,使用与Le Gall 53变换同样的比较命令(将LL 53.txt,HL 53.txt 等改为LL 97.txt,HL txt . 即可)可得到 Max diff= 1, MSE =O. 035446 Matlab ,即_97 和Modelsim的仿真结果最大相差1,均方误差为O.035446。如果用womall图像 (256*256)和lena图像(512'512)作为输入,其均方误差分别是O.047836和 o.046246。这是由于Matlab使用双精度浮点运算,而本设计使用12位整数和12 位小数的有限精度的定点运算。对于不可逆LS97小波变换而言,这种精度己经足 够了。 功能仿真的结果显示,本设计能正确完成Le Gall 53小波变换和LS97小波变 换,但这并不能保证设计在FPGA芯片中正确运行。接下来还必须完成综合与实 硕士学位论文 现过程。为了使本设计能顺利完成综合与实现过程,本文采用完全可综合的编码 风格“7’4“来编写代码,使用同步设计技术来提高可靠性。设计中还使用了流水线技 术,使得性能大幅度提高。在FPGA开发软件ISE6,3i中调用综合软件Synplifypro 完成综合后,运行Implement Design,依次完成Translate、Map和Place&Route 三个子过程,如果没有错误,此时ISE软件的界面如图5.2。 各个阶段顺利完成后,就可以 进行综合后仿真(Post-Synthesis Simulation)、翻译后仿真 (Post-Translate Simulation)、映射 后仿真(Post-MaD Simulation)和 布局布线后(Post-Place&Route Simulation)仿真。由于布局布线 后仿真最接近PPGA芯片的真实 工作情况,我们这里直接进行 PAR仿真。 在ISE中直接调用Modelsim 作P:AR仿真时,ISE会自动产生 时序仿真文件和sDF(Standard Delay Format)文件,然后在约束 文件的指导下进行仿真。如果静 态时序分析结果显示有不满足时 图5.2在ISE中完成综合与实现 序要求的路径,则需要对设计进行修改或者降低时序要求。 圈5.3布局布线后仿真的波形图 在PC主频为2.66GHz内存为.256MB的情况下,使用50MHz的时钟频率对 Le Gall 53小波变换进行仿真大约需要12分钟,而LS97小波变换仿真则需要大约 23分钟。 图5.3为Le Gall 53小波变换的后仿真波形与功能仿真波形比较结果,时序差 异约为7ns。 后仿真结果说明,在50MHz的时钟频率下,用FPGA完成一幅256*256图像 的正向小波变换需要将近1.4ms的时间,完成512"512图像的正向变换则需要将近 5.5ms,这足以满足各种实时性的要求。 用ISE实现后,软件会给出一些报告,比如Map Report和Post-Place&Route StaticTimingReport等。在MapReport中有资源使用率等信息,本设计的Map Report部分内容如下: Design Summary Number oferrors:0 Number ofwarnings: 6 Logic Utilization: Number Number of Slice Flip Flops of4 input LUTs: 1,221 out of 1,171 out of 3,072 3,072 39% 38% Logic Distribution: Number ofoccupied Slices: 930 out of 1.536 60% Number of Slices containing only related logic: 930 out of 930 Number of Slices containing unrelated logic:0 out of 930 +See NOTES below for an explanation ofthe e毹cts ofunrelated logic Total Number 4 input LUTs: 1.235 out of 3.072 40% Number used as logic: 1.171 Number used as a route—thru: 64 1 OO% 0% Number ofbonded IOBs: IOB F1ip Flops: Number ofBlock RAMs: Number ofGCLKs: 40 outof l 6 outof 3 outof 92 43% 24 25% 16 18% Total equivalent gate count for design:414,009 Additional JTAG gate count for IOBs:1,920 Post—Place&Route Static Timing Report中的部分内容如下,最高频率可以达到 132MHz。 .58. 硕士学位论文 5.4小波反变换的仿真 在图4.t5的基础上,我们用VerilogHDL描述了整个小波反变换模块及英测试 文件(testbench)。测试输入为小波正变换的输出,即LL,HL,LH,HH四个子 带数据。仿真结果输出到文件iImage97.txt和ilmage53.txt中,也就是重建的图像 数据,然后将这两个文件复制到Matlab工作目录,与原始图像数据进行比较。对 于Le Gall 53小波,原始图像数据和重建数据完全相同;对于LS97小波,两者的 差异为Max fliff=2,MSE=0.41756。如果使用Matlab进行分解和重建,则可得 Max =l, MSE =.0 1 765 (见表3.3)。由此可见,本设计具有相当高的变换精_diff 度。 用ISE结合SynplifyPro完成反 变换模块的综合与实现后的界面如 图5.4。 静态时序分析报告中给出最高 频率为113.895 MHz,使用的LUT 为1700多个,比正变换耗用了更多 的资源。使用50MHz的时钟频率对 反变换模块进行了布局布线后仿 真,结果表明设计完全正确。布局 布线后仿真与功能仿真的波形比较 显示,两者的时序差异约为7~8ns。 在50MHz的时钟频率下,用FPGA 完成一幅256*256图像的小波反变 换需要的时间不到1.4ms。 图5.4在ISE中完成反变换的综合与实现 5.5本章小结 本章在第四章提出的结构框架下,用VedlogHDL编写了小波变换的可综合代 码。分别使用Matlab小波工具箱(wavelettoolbox)中的barbara图像、woman图 像和lena图像作为输入数据,对整个设计进行了功能仿真和时序仿真。仿真输出 与Matlab输出的比较结果表明,我们提出的结构能以很高的精度完成LS97小波 变换。对于barbara图像而言,仿真输出与Matlab输出之间的均方误差(MSE)仅 为0.035446。而用LeGall 53小波变换则与Matlab输出完全相同。 本章也给出了小波反变换的时序仿真结果,反变换最高频率能达到113.895 MHz。LS97反变换所得的重建图像与原始图像之问的均方误差(MsE)为0.41 756, -59. 具有相当高的精度。如果用Le Gall 53小波变换,则可以完全重建图像。 本章的时序仿真表明,整个设计能满足各种实时性的要求,这对于实时图像 压缩具有非常重要的意义。 硕士学位论文 结论 本文在充分分析离散小波变换(DWT)各种算法和JPEG2000国际标准的基 础上,对JPEG2000中的小波变换硬件实现问题进行了研究。 由于JPEG2000中的不可逆小波变换CDF97使用的提升系数都是无理数,硬 件实现比较困难,因而本文用一种新的LS97小波变换代替了CDF97小波变换。 LS97小波变换的大部分系数具有2”形式的分母,便于硬件实现,与CDF97小波 变换兼容性好。在JPEG2000中,CDF97小波变换的最后一个归一化系数与原始 的CDF97小波变换是不同的,本文给出了两者的关系。为了与JPEG2000兼容, 本文也将LS97的最后一个归一化系数做了相应的调整。 针对JPEG2000中的两个小波变换(Le Gall53小波变换和CDF97小波变换) 以及本文引入的LS97小波变换,本文使用Matlab语言编写了一系列m函数,用 来验证标准提升算法(Lifting Scheme)和空间组合提升算法(SCLA)计算这些二 维小波变换的可行性。结果表明,空间组合提升算法不能用来计算可逆整数小波 变换(如LeGall 53)。而对于不可逆小波变换(如CDF97和LS97小波变换),标 准提升算法和空间组合提升算法的计算结果没有差异。基于此,同时也为了将Le Gall 53小波变换和LS97小波变换在硬件上统一起来,本文把标准提升算法和空间 组合提升算法结合在一起,即用前者实现整个Le Gall 53小波变换以及LS97小波 变换的预测和更新步骤,而用届者实现LS97小波变换的归一化步骤。为此,必须 将二维LS97小波变换的归一化步骤合并计算,从而减少了运算量。这是本文的创 新点之一。 为验证本文所提出的合并归一化的算法,本文编写了Matlab函数,分别计算 了合并前后的变换结果,两者完全一致,说明了本算法的正确性。然后在Matlab 环境下对可逆变换和不可逆变换都做了仿真,同时分别使用LS97小波变换和 CDF97小波变换对图像进行测试,验证了两者具有良好的兼容性。 在确认算法正确的前提下,本文提出了一种硬件实现结构,采用基于行的变 换方式,只需要三行内部缓存就能完成整幅图像的可逆小波变换(Le Gall 53),而 要完成不可逆小波交换(LS97)也只要有六行内部缓存即可。采用本文提出的结 构,不需要对提升系数进行重新配置,只要改变一个简单的控制信号就能实现可 逆小波变换和不可逆小波变换的转换。这是本文另一个创新点。 在结构设计过程中,使用了流水线技术来提高运算速度。对于边界数据的处 理,本文提出了一种全新的嵌入式对称延拓结构,在数据输入过程中即可完成对 称延拓而不需要额外的内部缓存。此结构的另一个特点是不需显式地进行分裂即 可完成预测和更新,输出时使用时钟二分频信号来选择相应的数据。这是本文的 第三个创新点。 对于设计中用到的乘法操作,本文用移位加来代替,并通过提取移位加中的 公共算子来优化设计,使得加法次数减少,从两节约了硬件资源。这也是本文的 创新点之一。 本文用Vefilog硬件描述语言对整个设计进行了完全可综合的RTL级描述,用 Modelsim做了行为仿真,在Synplifypro中做了综合,然后在ISE 6.3i中进行实现。 布局布线后的时序仿真表明,本文所设计的结构能高速高精度地完成可逆小波变 换和不可逆小波变换,完全满足各种情况下的实时性应用。本文也完成了小波反 变换的设计,并进行了布局布线和时序仿真。 进一步的工作: 1.本文完成了一级正反小波变换的硬件设计,但在实际应用中往往需要进行 多级小波变换。通过将本文结构多级串连可以实现多级小波变换,但需要较大的 芯片面积。从本文的分析可知,只要有三行数据即可开始列变换,因此,下一级 变换完全可以在上一级变换输出第三行LL数据时开始,这样交替进行就可以完成 多级小波变换。 2.本文所设计的正反变换是相互独立的,目的是验证硬件实现算法的可行性。 实际上,提升算法的特点决定了正反变换的结构非常相似,因此可以将正反变换 统一起来用同一组变换单元实现,这样可以极大地减少对内部缓存的需要,节约 硬件资源,缩小芯片面积。 3.为提高运算精度,本文采用了24位内部数据(12位整数,12位小数),这 样就增大了面积。实际上对于某些应用,不需要这样高的精度,可以减少数据位 宽来降低资源需求,以进一步缩小芯片面积。 4.由于条件所限,本文只对设计做了基于FPGA的软件时序仿真,为了验证 设计在实际芯片中的运行情况,还必须将设计文件下载到实际的FPGA芯片中进行 调试。 5.在FPGA验证完成后,如有必要还可以进行ASIC的设计,这时就需要用 Synopsys公司Design Compiler或者Synplicity公司的SynplifyAsic软件来进 行综合。 参考文献 [1】刘素楠.多媒体大屏幕教学的意义及组织方式. http://jxyy.gzjx.en/jyjx02/dzxks/xk_12.htm,2004-09—08 [2](日)原岛博.图像信息压缩.薛培鼎,徐国鼎译.第一版.北京:科学出版社, 2004,l一2 [3】张晓娣.JPEG2000图像编解码系统的软件设计与实现:『西安交通大学硕士学 位论文】.西安:西安交通大学,2002,l,3 [4】余松煜,张文军,孙军.现代图像信息压缩技术.北京:科学出版社,1998,56.60 [5】徐孟侠.数字电视的进展[J】.通信学报,1995,16(5):60.68 【6]1SO/IEC.JPEG2000 image coding system:Core coding system.2000.ISO/IEC FCDl5444—1,2000,118-127 【7】聂开宝,蓝宁,高上凯.用小波变换实现电子耳蜗CIS语音信号的处理【J】.清华 大学学报,1999,39(9):37.40 【8]8邵辉成,杜兴信,金学申等.小波分析在地震趋势预测中的应用. http://jy.zjdz.gov.cn/keji_guanli/k958.htm,2004—03—10 【9】俞开炬.景德镇市近50年降水的小波变化特征. http://www.weather.org.c嘶x_qxbl/jxmst/040I/06.htm,2004—04—12 【10】兰旭光,郑南宁,吴勇等.JPEG2000二维离散小波变换高效并行VLSI结构设 计叽.西安交通大学学报,2004,38(2):149-153. [1 l】Andra K,Chakrabarti C,Acharya T.A VLSI Arehitorture for Lifting Based Forward and Inverse Wavelet Transform【J】.IEEE Transactions on Signal Processing,2002,50(4):966-977 【12】Jiang W:Ortega A.Lifting facrorization based discrete wavelet transfoIITI architecture design【J】.IEEE Transactions on Circuits and Systems for Video Technology,2001,11(5):651-657 【13】Lian C J,Chen K E Lifting based Discrete Wavelet TransformArchitecture for JPEG2000[A]。In:Processing ofthe 2001 IEEE International Symposium Oll Circuits and System(ISIC-2001).Singapore,2001,497-500 【14】乔世杰,王国裕.离散小波变换的VLSI实现叽.微电子学,2001,3l(2): 143.145 【15】刘霄波,王学进,孟鸿鹰等.JPEG2000小波变换器的VLSI结构设计川.电子 学报,2002,30(11):1609-1612. [16】Analog Devices Inc.ADV202IJPEG2000 Video CODEC. http://www.analog.com/en/prod/0%2C%2CADV202%2C00.html,2004-08—19 [17】湖南中芯数字技术有限公司.中芯产品.http://www.chnchip.com/xinpian01.asp, 2004-10-28 【18】西安交通大学开元集团.新品研发一JPEG2000高效图像压缩芯片. http://www.creategroup.tom.cn/science/investigation/xpjs.asp.2004一l O一1 6 [19]陈武凡.小波分析及其在图像处理中的应用.北京:科学出版社,2002,1-36 [20]Mallm S.A Theory for Multiresuhition Signal Decomposition:The Wavelet Represention明.IEEE Trans PAMI,1989,11(7):674—693. 【21]Wim Sweldens.The Lifting Scheme:A Construction ofSecond Generation Wavelets[J】.SIAM J MathAnal,1997,29(2):511-546. [22]Ingfid Daubechies,Wim Sweldens.Factoring wavelet transforms into lifting steps 【J】.J FourierAnal Appl,1998,4(3):247-269. 【23】胡昌华,张军波,夏军等.基于Matlab的系统分析与设计-d,波分析.西安: 西安电子科技大学出版社,1999,1-23. [24](美)崔锦泰.小波分析导论.程正兴译.西安:西安交通大学出版社, 1995,1-26. [25】郑治真,沈萍等.小波变换及其Matlab工具的应用.北京:地震出版社,2001, 78—80. 【26】(美)冈萨雷斯,伍兹.数字图像处理.阮秋琦,阮宇智译.北京:电子工业出版 社,2003,158.173. 【27]Sweldens w The Lifting Scheme:A new philosophy in biorthogonal wavelet constructions[A】.In:Proc SPIE【C1.USA,1995,68—79 [28】(美)David S.Taubman,Michael W Marcellin.JPEG2000图像压缩基础、标准和 实践.魏江力,柏正尧译.北京:电子工业出版社,2004,102.135. f29】ISo压EC JTCl/SC29忍好1.JPEG2000一OurNew Standard. http://www.jpeg.org/jpe92000Bndex.html.2004·12一01 [30]Luratech Inc.Products。 http://www.hiratech.com/products/index.jsp?OnlineShopId=329095111322480415 5,2004·12·12 【31】ISO/IEC JTCl/SC29/WGl N505.Call for contributions for JPEG 2000(JTC 1_29,14,15444):Image Coding System.1997,28—39 【32]ISO/IEC JTCl/SC29/WGl N390R.New work item:JPEG2000 image coding system.1997,“0-125 【33】C.Christopoulos,Athanassios Skodras,Touradj Ebrahimi.The JPEG2000 still image coding system:an overview[I].IEEE Trarm.Consumer Electronics,2000, 46(4):1103—1127 【34】ISO/IEC JTCl/SC29/WGl N3464.MPEG-7 Multimedia Description Schemes XM (version 4.0).2000,12—26 【35]GK.Wallace.The JPEG still Picture Compression Standard.IEEE Trans. ·64. 硕士学位论文 Consumer Electronics.1992,38(1):118-121 [36】D.Taubman.High Performance Scalable Image Compression With EBCOT[J]. IEEE Trans.Image Processing.2000,9(7):l 1 58—1 1 70. 【37]钟广军,成智礼,陈火旺.基于提升方法的简单9/7小波滤波器[J】.计算机工 程与科学.2003,25(1):35—37. [38]Hongying Meng,Zhihua Wang.Fast spatial combinative lifting algorithm of wavelet transform using the 9/7 filter for image block compression[J】.Electronics Letters,2000,36(21):1766—1767. 【39】中国科普网.集成电路技术发展趋势. http://www.kepu.gov.cn/kjqy/file/0472.htm,2004-04—29 【40]王志功,沈永朝.集成电路设计基础.北京:电子工业出版社,2004,2—15 【41】王瑞轩.面向JPEG2000的二维DWT的VLSI设计与仿真:【西安交通大学硕 士学位论文1.西安:西安交通大学,2002,36-38 [42】夏宇闻.复杂数字电路与系统的Verilog HDL设计.北京:北京航空航天大学 出版社,1998,1.15 [43】IEEEl 364 GRP.IEEE Standard Verilog Hardware Description Language. http://www.verilog.com/IEEEVerilog.html,2004-09—03 【44]张亮.数字电路设计Verilog HDL.北京:人民邮电出版社,2000,1—10 【45】任艳颖,王彬.Ic设计基础.西安:西安电子科技大学出版社,2003,l一12 【46】王诚,薛小刚,钟信潮.FPGAYCPLD设计工具Xilinx ISE 5.x使用鲜解.北京: 人民邮电出版社,2003,2—4 致谢 在刘让苏教授的悉心指导和帮助之下,顺利完成了本毕业设计和论文。回想 起在物理系学习的两年多时间里,得到了刘老师的莫大关怀和指导,帮助我克服 了许许多多的困难。刘老师严谨的治学态度、渊博的学识、孜孜不倦的事业追求 精神和宽阔的胸怀深深地影响着我。在此向刘老师深表谢意! 在这几年的学习中,本人也有幸得到了曾云教授、颜永红教授、陈迪平教授、 张红楠教授和曾建平教授的指导,以及鄢益之老师、宴敏老师和其他老师的热心 帮助,在此向他们表示深深的谢意! 另外,本设计进行过程中也得到了周群益博士、田泽安博士、易学华博士、 王鑫博士、刘凤翔博士、尚玉全同学、文剑同学、滕涛同学、邓蓉同学、候兆阳 同学、张海涛同学、张爱龙同学以及其他同学的帮助,在此对他们表示感谢!同 时也对各位同学的支持鼓励表示感谢! 感谢应用物理系的各位老师、同学、师弟师妹们的关心、支持和帮助。 感谢所有在论文完成过程中曾经给予过我帮助和支持的老师和同学们。 最后,我要特别感谢我的父母、家人和女友陈延风,没有他们对我的理解、 支持和帮助,我不可能有今天! 硕士学位论文 附录A攻读学位期间所发表的学术论文目录 …杜生海,刘让苏,张海涛.基于空间组合提升算法的小波变换结构设计.湖南 大学学报(自然秘浮舨).2004,31(6):69-72 [2】易学华,支fJO:苏,杜生海.规范场与Berry相因子.广西物理,2004,3:1-4 二维离散小波变换的FPGA实现 附录B随论文附带磁盘文件的说明 在本论文附带的软盘中,含有整个设计的Verilog代码及相关的Matlab文件。 具体文件如下: 输入输出文件 _-tl“代码 比嘲-t1曲输出和Modelsim输出的m函数 =蛙离散小谴壹换的先行后列计算函数 使用筑L^篁法计蔓L·GLll 513JJ、渡壹换 计篁反变换的_o如1si-辅出结果与原围盘数据之间的差异 二蛙离散小波变换的反壹撬计算函数 使计用茸s原cI始砖图斟像茹并十口尊k重建Gd国2像S/的驯均、方被谩反变整换_s崩黻信唆}时sn 控制梗块 羞存 鹾存 曩存 攮存 存储单元 二蛙离散小被变换的顶屡梗块 v i贿式梗块testbizteh 刊变换埋块^ 刊变拽橇块H 列变换棋决c 列变换梗块D 变换梗块E 行变换梗块 卜匮oPAri_.A.v 卜l蚕mArH_-Ce.v 卜园iDPATH_DC.v 卜匿iDPATH._E.v f:苜:嚣笠D,“ 卜国iDWT一21)一TB.v }园吐n^c口II帅n.v 卜圄m』_rmv i一国iLift_B_column.v }=霹±=。 }¨面iLiff—C—ro… P圄iLift_D_column.v }.匿iLift—D—row.v F园iLift E.v i l茹iLift mw.v 存储单元 反变换控々0梗块 反变换撮存 反壹换缓存 反变换缓存 反变换置存 反变换蛙存 豆变换顶屡梗块 测试文件testbench 反向列壹换梗块^ 厦阿行变按模块^ 反向≯Ⅱ变换梗块B 反冉行变换梗块B 反向列变换桓块C 反向行蔓摊块C 反向列变换模块D 反向行变换梗块D 反向变换攫块E 反向行变换桓块 .68. 二维离散小波变换的FPGA实现 作者: 学位授予单位: 杜生海 湖南大学 参考文献(45条) 1.刘素楠 多媒体大屏幕教学的意义及组织方式 2004 2.原岛博.薛培鼎.徐国鼎 图像信息压缩 2004 3.张晓娣 JPEG2000图像编解码系统的软件设计与实现[学位论文]硕士 2002 4.余松煜.张文军.孙军 现代图像信息压缩技术 1998 5.徐孟侠 数字电视的进展 1995(05) 6.ISO/IEC FCD15444-1.ISO/IEC.JPEG2000 image coding system:Core coding system 2000 7.聂开宝.蓝宁.高上凯 用小波变换实现电子耳蜗CIS语音信号的处理[期刊论文]-清华大学学报(自然科学版) 1999(9) 8.邵辉成.杜兴信.金学申 小波分析在地震趋势预测中的应用 2004 9.俞开炬 景德镇市近50年降水的小波变化特征 2004 10.兰旭光.郑南宁.吴勇.刘跃虎.刘在德.梅魁志 JPEG2000二维离散小波变换高效并行VLSI结构设计[期刊论文]-西 安交通大学学报 2004(2) 11.Andra K.Chakrabarti C.Acharya T A VLSI Architecture for Lifting Based Forward and Inverse Wavelet Transform 2002(04) 12.Jiang W.Ortega A Lifting facrorization based discrete wavelet transform architecture design 2001(05) 13.Lian C J.Chen K F Lifting based Discrete Wavelet Transform Architecture for JPEG2000 2001 14.乔世杰.王国裕 离散小波变换的VLSI实现[期刊论文]-微电子学 2001(2) 15.刘雷波.王学进.孟鸿鹰.王志华.陈弘毅.夏宇闻 JPEG2000小波变换器的VLSI结构设计[期刊论文]-电子学报 2002(11) 16.Analog Devices Inc ADV202-JPEG2000 Video CODEC 2004 17.湖南中芯数字技术有限公司 中芯产品 2004 18.西安交通大学开元集团 新品研发-JPEG2000高效图像压缩芯片 2004 19.陈武凡 小波分析及其在图像处理中的应用 2002 20.Mallat S A Theory for Multiresulution Signal Decomposition:The Wavelet Represention 1989(07) 21.Wirm Sweldens The Lifting Scheme:A Construction of Second Generation Wavelets 1997(02) 22.Ingrid Daubechies.Wim Sweldens Factoring wavelet transforms into lifting steps 1998(03) 23.胡昌华.张军波.夏军.张伟 基于Matlab的系统分析与设计--小波分析 1999 24.崔锦泰.程正兴 小波分析导论 1995 25.郑治真.沈萍.杨选辉 小波变换及其Matlab工具的应用 2001 26.冈萨雷斯 伍兹.阮秋琦.阮宇智 数字图像处理 2003 27.Sweldens W The Lifting Scheme:A new philosophy in biorthogonal wavelet constructions 1995 28.David S Taubman.Michael W Marcellin.魏江力.柏正尧 JPEG2000图像压缩基础、标准和实践 2004 29.IS O/IEC JTC 1/SC29/WG1.JPEG2000-Our New Standard 2004 30.ISO/IEC JTC1/SC29/WG1 N505.Call for contributions for JPEG 2000(JTC1.29.14,15444):Image Coding System 1997 31.ISO/IEC JTC1/SC29/WG1 N390R.New work item:JPEG2000 image coding system 1997 32.C Christopoulos.Athanassios Skodras.Touradj Ebrahimi The JPEG2000 still image coding system:an overview 2000(04) 33.ISO/IEC JTC 1/SC29/WG1 N3464.MPEG-7 Multimedia Description Schemes XM 2000 34.G K Wallace The JPEG Still Picture Compression Standard 1992(01) 35.D Taubman High Performance Scalable Image Compression With EBCOT 2000(07) 36.钟广军.成礼智.陈火旺 基于提升方法的简单9/7小波滤波器[期刊论文]-计算机工程与科学 2003(1) 37.Hongying Meng.Zhihua Wang Fast spatial combinative lifting algorithm of wavelet transform using the 9/7 filter for image block compression 2000(21) 38.中国科普网 集成电路技术发展趋势 2004 39.王志功.沈永朝 集成电路设计基础 2004 40.王瑞轩 面向JPEG2000的二维DWT的VLSI设计与仿真[学位论文]硕士 2002 41.夏宇闻 复杂数字电路与系统的Verilog HDL设计 1998 42.IEEE1364 GRP.IEEE Standard Verilog Hardware Description Language 2004 43.张亮 数字电路设计Verilog HDL 2000 44.任艳颖.王彬 IC设计基础 2003 45.王诚.薛小刚.钟信潮 FPGA/CPLD设计工具XilinxISE 5.x使用详解 2003 相似文献(10条) 1.学位论文 刘挺 基于离散小波变换(DWT)和HVS的彩色数字图像混合型水印嵌入技术算法研究 2002 该文第1章从信息时代的信息安全问题谈起,讨论了传统密码技术对于数字信息保护的局限性,从而引出了一门新的信息安全保护学科——信息隐藏 学.第2章对信息隐藏学作了简略的介绍,讨论了信息隐藏系统的模型、特点及其应用.第3章从各个方面详细介绍了信息隐藏学中一个重要的分支——数 字水印技术,并对各种典型的数字水印算法作了讨论,尤其是彩色图像的数字水印技术研究状况,同时对水印技术的一些新型应用如数字指纹、在音、 视频上的应用等也作了介绍.在此基础上,该文第4章循序渐进地提出了一个基于离散小波变换(DWT)和人类视觉系统(VHS)的彩色数字图像混合型水 印嵌入及提取算法,从算法提出的目的、要求开始,逐步描述了鲁棒型水印和易损型水印嵌入及提取算法,从算法提出的目的、要求开始,逐步描述了 鲁棒型水印和易损型水印同时对于彩色图像的版权和防篡改进行保护的过程,并对算法中使用的相关技术也作了介绍,第5章给出了一组实验结果.初步 的分析和实验表明,该算法对于特定的应用具有较好的性能,对数字水印技术的研究有一定的参考价值. 2.学位论文 熊琦 JPEG2000中CDF9/7小波变换的VLSI实现 2006 小波变换是一种新兴的理论,是科学发展史上的重要成果。它无论对数学还是对工程应用都产生了深远的影响。最新的静态图像压缩标准 JPEG2000就是以离散小波变换(DWT)作为核心的变换算法。 本文首先较为详细地介绍了小波变换的理论基础,对多分辨率分析、Mallat算法和提升算法进行了阐述;详细分析了JPEG2000标准中采用的 LeGall5/3和CDF9/7小波变换及其基于提升算法的架构,编写了基于提升算法的CDF9/7小波正变换和反变换的Matlab函数,对基于提升算法的 CDF9/7小波变换进行软件仿真和测试。在W扫描的数据输入方式、内嵌边界延拓处理方法和两级提升算法的基础上,设计了一种双输入双输出二维 CDF9/7小波的行列并行处理的体系结构;该结构采用内嵌边界延拓处理方法,而基于两级提升算法的行列并行处理方式和使用单口RAM代替双口RAM作内 部缓冲器,完成二维离散小波变换只需要缓冲6行中间数据,有效减少片内的存储器资源需求和对存储器的访问次数,有效降低了RAM的面积和功耗。在 完成硬件结构设计的基础上,使用Verilog硬件描述语言对整个设计进行了完全可综合的RTL级描述,采用同步设计,提高了可靠性。采用Xilinx公司的 FPGA开发软件ISE6.O中对小波变换做了仿真和实现,结果表明,本设计能高速高精度地完成小波变换,可以满足各种实时性要求。 3.期刊论文 张雷.邹家禄.束海泉.于东海.Zhang Lei.Zou Jialu.Shu Haiquan.Yu Donghai 变采样率滤波的硬件离 散小波变换 -东南大学学报(自然科学版)2000,30(1) 提出了一种变采样率滤波的优化算法,根据该算法设计了一种利用多通道数字滤波来进行离散小波变换(DWT)的硬件电路,并最终在大规模的CPLD器件 中得到了实现.与传统的软件计算方法不同,该硬件能够根据需要实时计算被测信号的 离散小波变换.实验结果表明,本文的方法效果良好. 4.学位论文 张雷 实时数字信号分析仪的硬件研制 1999 该课题设计了一个双通道的信号分析处理系统,它以数字信号处理技术为基础,利用大规模可编程逻辑器件,完成了滤波法实时频谱分析.开发了包括 变采样率多通道数字滤波及平方检波,数据采集系统在内的全部数字硬件电路,并与VxD系统软件接口,提供了虚拟仪器良好的人机界面和整机性能.该文的 第一章介绍了系统的理论基础和整机方案.详细阐述了频谱分析的基本原理和实现方法,并强调了系统方案的先进性:数字信号处理技术和电子设计自动化 及虚拟仪器的方案相结合.第二章介绍了可编程逻辑器件EPF10K系列在该课题中的应用.特别介绍了片内存储器在该系统中的用法和应注意的问题.第三章 是该文的重点,详细介绍了数字滤波器的具体设计和其基于CPLD的分布式运算电路实现.给出了变采样率多通道滤波的优化算法,并联系多分辨率分析,提 出了离散小波变换的硬件实现方法.第四章描述了数据采集系统的软硬件设计,重点是数据采集板的设计和虚拟设备驱动程序的开发.第五章讨论了整个系 统的精度和误差,并针对某些具体问题提出了解决方案. 5.学位论文 秦琴 蝙蝠回声定位信号的小波分析 2003 该文将离散小波变换应用于蝙蝠回声定位叫声的分析中,利用小波的伸缩和时移特性,通过对小波尺度的适当离散,解决了传统语谱分析的分辨率固定 、信息冗余量大的问题.通过MATLAB仿真证明,小波变换分析结果不仅没有丢失原有信息,而且能够更加直观、准确地刻画信号的特性,提取信号的特征参 量.从分析结果中我们能够发现一些蝙蝠回声定位信号的新的特征信息,这对于进一步寻找蝙蝠新的生态学特征有着重要意义.因此,小波分析是分析蝙蝠 回声定位叫声的一种有效的新途径,有其广泛的应用价值. 6.学位论文 刘敦敏 基于小波变换的动态电能质量分析的研究 2003 在现代电力系统中,随着非线性电力电子设备的增加,动态电能质量问题如:电压跌落、电压升高、电压间断和电压震荡等问题变得越来越严重。 这些问题可能引起对动态电能质量敏感的电力负荷误动作,还会造成芯片内部的数字时钟闪断,而使工作进程中断,造成巨大的损失。为了提高电能质 量,必须查明扰动源,并使扰动源得到控制。那么必须首先检测、定位、分类和量化不同的扰动信号。为了达到这一目的,唯一可行的方法是采用一个 强有力的工具,这一工具必须同时能够在时域和频域中分析电能质量问题。小波变换能够满足这一要求,而传统的信号分析工具Fourier分析只能在频域 对信号进行较好地分析。而且基于小波的多分辨分析在检测、分类、量化电能质量问题中能够获取有价值的信息。 本文的工作主要集中在以下几个方面: 1.详述了小波分析在时一频分析中的优越性能:简单地讨论了傅立叶变换和傅立叶加窗变换及快速傅立叶变换;比较了小波变换和傅立叶变换的区 别;连续小波和离散小波的概念、性质和方法。 2.针对小波分析的理论重点一多尺度分析,详细地论述了尺度函数、尺度空间、尺度方程、Mallat算法和小波包。 3.较全面地讨论和总结了几种典型小波母函数的性质和有关应用。分析了不同小波函数的使用场合。 4.讨论了小波基的选取方法,分析比较了几种不同小波基在动态电能质量检测中的效果,和采用coiflets小波对动态电能质量的检测方法。使用 coif4小波函数,通过多分辨分析,能够有效地检测和定位电压信号中短时的动态电能质量。 5.详细论述了采用标准能量差-分辨率层的关系曲线区分动态电能质量的方法,能够清楚地区分电压跌落、电压升高、电压间断等动态电能质量 ;推导出了信号畸变程度公式,使用信号畸变程度公式量化电压畸变信号的方法,能够精确地度量电压幅值的畸变程度;通过简化畸变程度公式能够提 高运算速度,并能在一定范围内获得精确的畸变电压的幅值。 7.期刊论文 周翔.赵宏.Zhou Xiang.Zhao Hong 使用离散小波变换的相位轮廓术 -光学学报2009,29(6) 提出了两种在相位轮廓术中使用离散小波变换提取条纹相位的方法:单次分解法和多次分解法.前者用多分辨率分析的多孔算法计算变形条纹解析信 号的离散小波变换,寻找每一位置的小波系数在尺度方向上的模极大值点,通过提取该点的相位就可以得到原条纹的相化值;后者是在前者的基础上,通过 插值改变条纹信号的抽样率,再次进行多分辨率分析,得到冗余的小波系数,提取条纹相位.单次分解法适合处理正弦载频条纹图,多次分解法抗噪性好,可 以处理带有高次谐波的准止弦载频条纹图.相对于使用连续小波变换的方法.这两种方法较适合处理离散信号,对于512 pixel × 512 pixel的条纹图计算 速度分别提高90%和50%.计算机模拟和实验验证了方法的有效性. 8.学位论文 杨富社 基于二维连续小波变换公路无损检测方法研究 2007 探地雷达技术用于路基路面的无损检测始于80年代后期,欧、美最早应用,在我国开始应用的时间大约在90年代初。作为一种高新检测技术,探地 雷达应用于公路质量监控的时间虽不长,但由于其测量精度高、能满足测量误差要求,并且测试速度快、能连续作业,因此在公路路面测试技术中应用 前景十分广阔。 探地雷达检测路面是利用高频电磁波以宽频带短脉冲的形式,通过天线中的发射器将信号传入地下,波在地下传播过程中遇到不同电性介质界面时 ,一部分电磁波能量被界面反射回来,另一部分能量会继续穿透界面进入下一层介质,各界面反射电磁波由天线中的接收器接收,再利用采样技术将其 转化为数字信号进行处理。通过对电磁波反射信号(回波信号)的分析,便能了解到路面各层的特征信息。 从接收天线直接接收到的回波信号,是一个很复杂的含有多种成分的时域波形,其中包含着重要的路况信息,它主要由天线内部反射波、天线末端 反射波、地面反射波、路面各层间界面产生的反射波、随机干扰等构成,具有非平稳性和脉冲信号非线性衰减等特点。由于雷达信号的复杂性,在探地 雷达路面检测技术中,关键在于对回波信号进行分析处理(如滤波、去噪、目标特征提取等),以获取所需信息,从而才能进行路面层厚度计算机裂缝识 别等后续工作的开展。 现有的一些路用雷达软件主要是利用快速傅立叶变换(FFT)来进行数据分析的,但由于傅立叶变换无法实现局部特征分析,所以对于高频的时变雷达 回波来说,某些问题就显得较难解决,如路面及路基中隐含裂缝、路面薄层的厚度探测等等。小波变换是当前应用数学中一个迅速发展的新领域,它是 一种信号的时间一尺度(时间-频率)分析方法,在时一频两域都有良好的局部化特性,特别适合于处理非平稳信号,并且在实际应用中得到了广泛的应用 。 本文根据路用探地雷达回波信号本身的非平稳性特点和对现有信号处理方法的比较,采用离散小波变换和二维连续小波变换对回波信号进行分析处 理。主要内容包括: 1、系统地分析了路用探地雷达检测系统,通过对探地雷达技术的发展现状、路用雷达设备的组成、探地雷达检测路面的基本原理分析,提出了相应 的测量参数和性能指标。 2、对公路工程中几种常用的信号分析方法作了比较详尽的分析、比较。提出了傅立叶变换、短时傅立叶变换和小波变换这几种常用的信号分析方法 ,指出了它们各自的特点、适用性,以及小波变换方法适合于处理非平稳信号的优势所在。 3、剖析一维离散小波变换的Mallat算法实现原理,通过实验算例作-维离散小波变换,并根据结果分析其正确性及应用。为以后利用二维离散实小 波和复小波变换分析图像方向特性做准备。通过实际算例说明路用雷达回波信号滤波去噪的有效性。 4、和二维离散小波变换相比,二维连续小波变换引入了旋转因子θ,从而使得其具有“极化分析”的能力,可以用来分析二维信号不同方向上的特 征。通过对Mexican帽小波,Morlet小波和Cauchy小波这三种常用的基本二维小波的分析,引入了方向性小波的定义。通过将其用简单信号的二维连续小 波变换,对比三种小波的方向性优劣:Mexican帽小波是各向同性的,主要用来检测点状信号分量,Morlet小波和Cauchy小波主要用来检测方向信号分量 ,并且Cauchy小波比Morlet小波的方向性要好,检测结果的分辨率要高。 9.学位论文 石莹莹 基于离散小波变换的数字图像水印的研究 2009 数字化技术的发展和成熟,使越来越多的数字作品通过Internet进行传播,它们可以低成本、高速度地被复制和传播,但这些特性也容易被盗版者 所利用,使得网络信息安全隐患正全方位地危及社会的经济、政治、文化等各个领域。因此,如何保护网络中数字作品的版权,解决数字作品的信息安 全问题已经成为迫在眉睫的任务。而数字水印技术被认为是解决版权问题的一种有效的方式:它充分利用人类的视觉和听觉分辨率的局限性,嵌入与版 权所有者相关的信息,用来证实数字产品的版权归属。 目前,数字水印研究领域中应用最广泛的是以图像为载体的水印即图像水印,而在图像压缩标准“JPEG2000”中,小波成为一种主要技术。因此 ,本文研究的主要内容就是基于小波域的图像水印,主要是利用离散小波变换(DWT)方法进行图像水印嵌入与检测研究,并讨论和验证图像水印的隐蔽 性和鲁棒性。具体来说,本文主要完成以下几方面的工作: 首先,介绍了数字水印的基本特征、原理及目前国内外的研究现状,给出了数字水印的理论模型,为水印算法的提出、实现及测试提供了理论依据 。 其次,作为实现数字水印算法的算法理论基础部分,介绍了小波分析的发展历程,小波变换理论、多分辨率分析及Mallat算法;重点介绍了二维离 散小波变换与图像处理;并且给出了一种典型的基于小波变换的图像水印算法。 最后,在前面典型水印算法的基础上加以综合改进,提出一种改进的基于DWT灰度图像的自适应鲁棒水印算法,将经过不同尺度小波变换后的水印图 像与载体图像相融合,试验结果表明,该算法比较满意,对常见的图像处理操作具有良好的鲁棒性。另外,由于实际应用中彩色图像占有很大比例,本 文还提出了一种DWT域彩色图像鲁棒性水印算法,该算法结合人类视觉系统(HVS)对不同的色彩分量采用不同的嵌入方式。实验表明,使用该算法嵌入 的水印具有较好的鲁棒性和不可见性。 10.学位论文 宋雪松 基于离散小波变换的数字水印技术 2008 当前图像数字水印技术以其在版权保护方面的独特优势成为当前研究的热点。而小波分析则是近年来迅速发展的新兴学科,它具有多分辨率分析的 特点,将其应用于图像处理的思想是把图像进行多尺度和空间一频率分解。 本文研究基于离散小波变换的数字图像水印算法。利用两种水印生成方式生成水印。以D9/7双正交小波为小波基,对原始图像进行三层离散小波变 换,对水印图像进行一层离散小波变换,并结合人类视觉系统特性,选择适当的嵌入位置和系数进行水印的嵌入。实验表明该算法可行性好且满足小波 域水印方法总的原则,取得了较为满意的结果。 本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y832906.aspx 授权使用:北京理工大学(北京理工大学),授权号:8548de98-7c51-4aaa-9cde-9e18001043be 下载时间:2010年10月23日
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })