DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 123|回复: 0
打印 上一主题 下一主题

基于FPGA的快速9/7整形离散小波变换系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 15:06:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:CCSDS图像数据压缩标准中采用9/7整形离散小波变换为核心算法,该算法结构简单,易于硬件设计实现。文中基于FPGA设计实现了9/7整数离散小波变换系统,设计中使用内部RAM存储方式,减小了对存储器的需求量,同时采用基于行的列变换方式,行、列变换同时进行,提高了运行速度,仿真和综合结果显示该设计需要的硬件资源少,运行速度快。关键词:CCSDS图像压缩;小波变换;FPGA??? 美国空间数据系统咨询委员会(简称CCSDS)于2005年推出一套适用于空间领域的图像压缩标准,标准使用了离散小波变换为核心算法,推荐使用9/7整数离散小波变换实现无损图像压缩,由于该算法结构简单,易于硬件设计实现,因此可以用FPGA来实现提升小波算法。1 CCSDS图像压缩标准中的小波变换??? CCSDS图像压缩算法主要包括两个功能模块:前一部分是对遥感图像数据进行离散小波变换,去除图像数据之间的冗余;后一部分是对去相关后的图像数据进行位平面压缩编码,如图1所示。??? CCSDS标准推荐使用9/7离散小波滤波器对图像数据进行变换,即滤波器的低通系数为9个,滤波器的高通系数为7个。对于长度为2N待变换图像的原始数据Xk(k=0,1,2,…,2N-1),其整形小波变换公式如式(1)~式(6)所示。??????????? 其中,[]为对数据进行下取整操作;Cj为低通小波系数输出;Dj为高通小波系数输出。为了避免乘法器运算的繁琐,对公式进行了变形,采用加法器和移位操作实现公式的运算,提高了运算速度。
                          
                       
                          
                                2 9/7二维离散小波变换的系统设计过程??? 本文在Xilinx公司提供的ISE7.1集成设计软件环境下,采用VHDL语言设计实现9/7二维离散小波变换系统,首先进行小波行变换,行变换后的数据按照行数输入内部RAM缓存,然后对行变换后的数据再进行列变换,最后将低频系数dLLl输入RAM缓存,其余高频系数dLHl,dHLl,dHHl输出到外挂RAM中缓存,系统设计流程,如图2所示。2.1 行变换过程??? 首先,使用7个移位寄存器来实现对数据的读写传输,每到来一个时钟控制信号(clk),就往移位寄存器中读写一个数据,数据在移位寄存器中的传输过程,如图3所示。??? 当输入第5个数据时,就可以根据式(1)和式(5)分别计算出第一个高通系数值D0和第一个低通系数值C0,下一个时钟控制信号读入第6个数据时,不进行操作,当控制读入第7个数据时,根据式(2)和式(6)分别计算出第2个高通系数值Dj和第2个低通系数值Cj,小波行变换后的高通系数D和低通系数C采用地址传输的方式交叉存储到6个内部RAM当中,如图4所示。2.2 列变换过程??? 由于列变换是针对行变换后的数据进行的,即对上面6片RAM中存储的行变换后的数据进行列变换,为了提高运行速度,本文采用基于行的列变换方法,即当小波变换进行到第5行时,列变换也同时进行,第5行行变换结束时,也完成了针对第5行数据的列变换,当第6行进行小波变换时,不进行列变换操作,直到第7行小波行变化数据输入时,再同时进行列变换计算操作,依次完成小波列变换。对于列小波变换后的低频数据dLLl,要输入RAM缓存以进行下一级变换,对于其他的高频数据(dLHl,dHLl,dHHl)可以直接输出到片外存储器中。??? 下面是设计的一级二维小波变换的集成模块,如图5所示。
                          
                       
                          
                                3 仿真与综合??? 为了验证本文设计系统的性能,使用Modlesim6.3仿真软件对系统进行了仿真测试,下面是采用大小为1 024×1 024,图像数据为8位的测试图像进行测试仿真的部分波形图。 ??? 在Xilinx提供的ISE7.1仿真软件下搭建测试平台,对设计系统进行综合,结果如图9所示。??? 设计系统时钟频率可达到54 MHz,满足对图像数据的实时处理要求。4 结束语??? 本文主要讨论了基于FPGA的快速9/7整形离散小波变换系统设计,该结构采用内部RAM的循环覆盖的存储方式,使对存储器的需求量减小,从而减小了硬件功耗,同时采用基于行的列变换方式,提高了的系统运行,可实现对遥感传输图像的快速实时处理。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-30 02:09 , 耗时 0.094950 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表