CN103179398A - 一种提升小波变换fpga实现的方法 - Google Patents
一种提升小波变换fpga实现的方法 Download PDFInfo
- Publication number
- CN103179398A CN103179398A CN2013100668140A CN201310066814A CN103179398A CN 103179398 A CN103179398 A CN 103179398A CN 2013100668140 A CN2013100668140 A CN 2013100668140A CN 201310066814 A CN201310066814 A CN 201310066814A CN 103179398 A CN103179398 A CN 103179398A
- Authority
- CN
- China
- Prior art keywords
- wavelet transform
- lifting wavelet
- lifting
- register
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种提升小波变换FPGA实现的方法,包括以下步骤:将CCD图像每128行作为一帧图像,将一帧图像分为8组,每组采用16个并行的1-D行提升小波变换模块进行分解;将行提升小波系数的每32列采用16个并行的1-D列提升小波变换模块进行分解。本发明将CCD图像每128行作为一帧图像,先将一帧图像分为8组,每组采用16个并行的1-D行提升小波变换模块进行分解,然后将行提升小波系数的每32列采用16个并行的1-D列提升小波变换模块进行分解,最终完成二维提升。由于行列方向均采用16个并行1-D提升小波模块,提高了提升小波变换效率,缩减了CCD图像小波变换时间。
Description
技术领域
本发明涉及一种CCD相机图像数据压缩技术领域,尤其涉及一种可以高速(像元读出时钟超过20MHz)线阵CCD相机的图像数据压缩,提升小波变换FPGA实现的方法。
背景技术
在高分辨率航空航天遥感应用中,线阵CCD相机的视场和分辨率指标不断提高,所采用的CCD输出路数、拼接片数和单端口读出速率也在不断提高,从而使数字化后的图像数据量急剧增加,因此必须进行图像数据压缩。目前,对CCD图像进行硬件压缩的采用的方法是先对图像进行提升小波变换,然后才对小波系数进行处理,如JPEG2000和CCSDS压缩方法。因此,如何快速实现提升小波变换是CCD图像整个压缩的关键。
目前,适合空间CCD相机图像压缩应用的理想处理器为FPGA处理器。现有提升小波变换FPGA实现方法效率低、占用资源大、耗时,对于实时性强的空间CCD成像系统而言,CCD读出速率较高(CCD单端口读出速率超过20MHz),最终使图像数据率大,进而需进一步提高图像小波变换系统时钟频率。系统时钟频率的提高,不仅增加了系统功耗,而且对电磁兼容性设计也提出了苛刻的要求;在高速情况下进行图像数据小波变换时数据交互也是个难题,且现有FPGA器件工作频率越高,稳定性越差,可靠性越差,难以满足空间环境可靠性要求。另外,为了获得高分辨率和宽覆盖的图像,空间CCD通常要多片拼接组成长线阵CCD最终使总的像元数达到数万~十几万。这样采集的图像数据十分庞大,这就使图像小波变换占用FPGA资源也急剧增加,而每片适于空间应用的FPGA资源有限。如果才用多片FPGA容易导致系统体积庞大、设计复杂、功耗增加,且PCB板面也有限。
发明内容
本发明为解决背景技术存在的上述技术问题,本发明针对航空航天遥感线阵CCD相机图像以行为单位特点,提供一种可以高速(像元读出时钟超过20MHz)线阵CCD相机的图像数据压缩,提升小波变换FPGA实现方法。
为了解决上述技术问题,本发明的技术方案具体如下:
一种提升小波变换FPGA实现的方法,包括以下步骤:
步骤i:将CCD图像每128行作为一帧图像,将一帧图像分为8组,每组采用16个并行的1-D行提升小波变换模块进行分解;
步骤ii:将行提升小波系数的每32列采用16个并行的1-D列提升小波变换模块进行分解。
在上述技术方案中,每个1-D行提升小波变换模块采用4个延时寄存器D1,D2,D3,D4的值作为中间值来计算提升小波高频和低频系数。
在上述技术方案中,步骤ii中具体为:每个1-D列提升小波变换模块利用多路复用技术以流水线的作业方式将32列小波系数输入到16个并行的提升小波变换模块中。
本发明具有以下的有益效果:
本发明的提升小波变换FPGA实现的方法,将CCD图像每128行作为一帧图像,先将一帧图像分为8组,每组采用16个并行的1-D行提升小波变换模块进行分解,然后将行提升小波系数的每32列采用16个并行的1-D列提升小波变换模块进行分解,最终完成二维提升。由于行列方向均采用16个并行1-D提升小波模块,提高了提升小波变换效率,缩减了CCD图像小波变换时间。
本发明的提升小波变换FPGA实现的方法,每个1-D行提升小波变换模块采用4个延时寄存器D1,D2,D3,D4的值作为中间值来计算提升小波高频和低频系数,缩短了提升小波高低频系数计算路径,进而提高了每个提升小波模块计算速度。
本发明的提升小波变换FPGA实现的方法,利用提升小波变换的第一步预测更新与第二步更新预测结构相同特点,将行列提升小波变换的第一步和第二步采用多路复用技术进行融合。大大节省了FPGA资源占用。
本发明的提升小波变换FPGA实现的方法,每个1-D列提升小波变换模块利用多路复用技术以流水线的作业方式将32列小波系数输入到16个并行的提升小波变换模块中,大大提高了提升小波计算效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1为CCD图像二维提升小波变换过程示意图。
图2为提升步骤示意图。
图3为提升小波变换树形结构示意图。
图4为发明的提升小波变换树形结构示意图。
图5为提升小波变换VLSI结构示意图。
图6为提升小波变换最终VLSI结构示意图。
图7为列提升小波实现结构示意图。
图8为图7的输入输出关系示意图。
图9为1-D列提升小波变换模块结构示意图。
图10为1-D列提升小波变换最终实现结构示意图。
图11为二维提升小波变换FPGA实现实施例示意图。
具体实施方式
本发明的发明思想为:
提升小波变换过程可以认为是目标小波滤波器多项矩阵分解为一个恒定对角矩阵和M阶上三角、下三角矩阵乘积的形式,航空航天线阵CCD图像压缩通常为一阶和二阶,即提升5/3和9/7小波变换,以二阶提升的9/7小波变换为例。CCD图像是以行为单位输出的,每一行CCD图像对应地面一个线阵方向目标,CCD相机推扫后输出若干行图像数据,可见CCD图像可看作一个二维图像,不仅线阵方向需要作一维提升小波变换,而且推扫方向也需要作一维提升小波变换,即CCD图像需要进行二维提升小波变换。本发明的二维提升小波变换结构如图1所示。其中,每通道CCD输出有效像元数为N,以128行CCD图像作为一帧图像,然后作二维提升小波变换,一帧图像为X
由于CCD是以行为单位输出的,将128行CCD图像X分为8组,每组图像Xi(1≤i≤8)为16行,即
每组图像Xi的16行采用16个并行9/7行提升小波变换模块(每个9/7行提升小波变换模块采用一维提升小波变换),执行提升小波变换后得到行变换小波系数Y为
然后将行变换后的小波系数每一组Yi每列执行9/7列提升小波变换,即每一组Yi列提升小波变换也采用16个并行9/7行提升小波变换模块。最后完成二维提升小波变换。
对于16个并行9/7行提升小波变换模块,每个模块采用相同的结构。对于每个9/7行提升小波变换模块而言,是对CCD图像每行数据执行提升变换,即一维提升小波变换。一维9/7提升小波变换表述为:设一维数字数据序列为x(n)(n=1,2,...,N-1,N为CCD有效像元数),提升步骤如图2所示。
9/7提升步骤包括分裂Split步骤,预测步骤、更新步骤和比例缩放。提升小波变换的分裂Split步骤,将数字序列x(n)分为为奇序列x(2n+1)和偶序列x(2n)。设提升步骤奇序列中间计算值为偶序列中间计算值为计算的最终高频和低频系数为di和si,i=0,1,…(N-1)/2,分裂Split步骤奇数序列和分别表示为:
然后采用同样的方法再执行一次预测和更新步骤,进而完成9/7提升,再一次预测和更新为
最后执行比例缩放步骤,得到最终的小波变换高低频系数di和si,它们表示为
式(7)~(12)中α,β,γ,δ,K为9/7滤波器系数。
由式(5)~式(12)知,整个提升迭代计算过程主要在式(7)~式(10),式(7)~式(10)可以一种树状形式表示,提升小波变换树形表示形式如图3所示,设和为当前经分离步骤后待提升小波变换奇偶数据, 是由计算前面高频和低频系数时存在存储中的中间值,和当前计算的高通系数和低通系数,如图3所示。
对于高读出CCD输出而言,为了加快提升小波变换计算速度,将图3所示的中间值修改为 根据这些中间值来计算和同时,由于这些中间值属于不同路径获得的,因此可以采用并行计算中间值来加快计算速度,即使用4个延时寄存器D1,D2,D3,D4来存储这些中间值,延时寄存器可表示为 因此,提升小波变换树形结构变为如图4所示。
根据图4所示的小波提升树形结构,可设计出的提升小波变换VLSI结构如图5所示。
由图5和式(7)~式(10)知,第一步预测更新和第二步预测更新具有相同的结构,因此,可以将第一步和第二步融合在一起。结合式(5)~式(12)可设计出融合在一起后最终的提升小波变换VLSI结构如图6所示。
发明的行提升9/7小波变换结构包括:选择器1,选择器2,选择器3,选择器4,选择器5,选择器6,选择器7,加法器1,加法器2,加法器3,加法器4,乘法器1,乘法器2,乘法器3,寄存器P1,寄存器P2,寄存器P3,寄存器P4,寄存器P5,寄存器P6,寄存器D1,寄存器D2,寄存器D3,寄存器D4。
寄存器P1,寄存器P2,寄存器P3,寄存器P4,寄存器P5,寄存器P6为流水线寄存器,用来存储第一次提升步骤计算后的结果和以便用来实现第二次提升步骤的计算。寄存器D1,寄存器D2,寄存器D3,寄存器D4为延时寄存器,各寄存器存储的值表示为 选择器1,选择器2,选择器3,选择器4,选择器5,选择器6,选择器7,加法器1,加法器2,加法器3,加法器4,乘法器1,乘法器2,乘法器3用来实现实现提升小波变换整个过程。整个提升过程为:
一、CCD输入一维数字序列为xn={x0,x1,x2,...,xi,...,xn},xi依次输入到选择器1中,奇序列从选择器1的1端输出,偶序列从选择器1的2端输出,经选择器1分为为奇序列和偶序列表示为
二、Sel-2置1,Sel-3置0,Sel-4置0,Sel-5置1,此时,选择器2选通奇序列选择器3选通奇序列和从选择器2和选择器3通过。选择器4选通滤波器系数α,选择器5选通滤波器系数β。首先,完成第一次提升的预测和更新步骤,中间结果存储到相应的寄存器P1,寄存器P2,寄存器P3,寄存器P4,寄存器P5,寄存器P6和寄存器D1,寄存器D2,寄存器D3,寄存器D4中。具体描述为:利用乘法器1和加法器1完成第一次提升的预测步骤,即,从选择器2输入的奇序列和与α通过乘法器1相乘,并与偶序列通过加法器1相加后,得到第一次提升的高频系数 表示为
其次,完成第二次提升的预测和更新步骤。具体描述为:利用乘法器2和加法器3完成第二次提升的预测步骤,即,利用存储到寄存器D1、寄存器D3以及寄存器P3中的值,与β通过乘法器2相乘,来更新偶数序列,得到第一次提升的低频系数 表示为
最终完成一维提升小波变换。寄存器P1,寄存器P2,寄存器P3,寄存器P4,寄存器P5,寄存器P6,寄存器D1,寄存器D2,寄存器D3,寄存器D4值变化情况可参考表1所示。以一行CCD图像数据为例说明图5所示提升小波变换结构各寄存器变化值。设x(n)为一行CCD图像数据序列,x(2n+1)和x(2n)经提升小波变换的分离步骤的奇序列和偶序列,和提升步骤奇序列和偶序列的中间计算值,各寄存器值如表1所示。
表1提升小波变换各寄存器值变化情况
对于列提升小波变换而言,由于CCD有效像素通常较大如N=2048,如果N列一步提升后小波系数仍按16列的串行输入到16个并行处理的列提升小波变换单元,这样处理速度较慢。本发明一种32列并行输入到16个并行处理的列提升小波变换快速实现结构。本法明的列提升小波快速实现结构如图7所示。结构由16个1D列提升小波变换模块、多路复用器和列延时寄存器(CD),每个1D列提升小波变换模块同时收到两列数据序列。A-1,A-2,…,A-16,B-1,B-2,…,B-16标记多路复用器工作状态。数据序列被CD延时后并被多路复用器选择后输入到1D列提升小波变换模块中。
CD(CD1,CD2,…,CD15)延迟系统时钟数由下列规则决定。设输入列提升小波单元的数据列数为M,每列数据长度为N pixels,每个系统时钟输入提升小波变换模块一个像素,因此,提出的结构数据率为M pixels/CLK。另外,第一对序列(如A-1)和第二对序列(如A-2)时间间隔为△CLK,则第一对序列和第M/2+1对序列时间间隔为M/2×△CLK。同时第一对序列和第M/2+1对序列时间间隔也可表示为
因此,可以得到
即
由于列提升小波变换模块中N=128,M=32,进而可以求得△CLK=8。因此,CD1,CD2,…,CD15延时系统时钟周期数分别为8CLK,16CLK,…,120CLK。因此,图6中输入与输出关系如图8所示。
根据图8和式(2)~(6)本文提出的1D列提升小波变换模块结构如图9所示。图9中延时寄存器延时时钟数为△CLK。
与行提升小波变换实现结构同理,可以将第一步预测更新和第二步预测更新融合得到最终的列提升小波变换模块,如图10所示。
发明的列提升9/7小波变换结构包括:选择器1,选择器2,选择器3,选择器4,选择器5,选择器6,选择器7,加法器1,加法器2,加法器3,加法器4,乘法器1,乘法器2,乘法器3,寄存器1,寄存器2,延时器1,延时器2,延时器3。提升过程为:
一、32列数字序列,通过延时器1,延时器2,延时器3分别输入到16个提升小波变换模块。延时方法可参考上面的描述。
二、对于每列个提升小波变换实现过程为:
(3)寄存器1和寄存器2中存储的第一次提升计算结果反馈到选择器2和选择器4中,选择器2和选择器4选通和完成第二次提升,此时,选择器3选通γ,选择器5选通δ,利用乘法器1和加法器1完成第二步提升的预测步骤,即
利用第一步提升的预测步骤计算的乘法器2和加法器4完成第二步提升的更新步骤,即
(4)然后将第二次提升结果通过选择器6,并与通过选择器7输入的比例因子通过乘法器3相乘,最终完成提升计算得到高频系数di和低频系数si。
下面结合附图对本发明做以详细说明。
图11显示了本发明的一种具体实施方式,高读出CCD图像压缩小波变换FPGA实现实施例框图如图11所示,图中FPGA处理器利用其内部资源完成整个二维提升小波变换,FPGA处理器采用Xilinx生产的Virtex-2Pro平台的XC2VP40芯片。SDRAM图像缓存器结合FPGA内部块RAM缓存图像数据、交互数据计算中间以及计算的小波系数,SDRAM图像缓存器采用型号为MT48LCM16A2的存储器。用来接收CCD图像数据的图像LVDS接收单元采用采用型号为
DS90LV032A差分接收芯片;用来输出小波系数或小波逆变换重构图像的CameraLink数据发送采用型号为DS90CR287发送器;用来存储FPGA程序数据的外部程序存储器采用型号为XCF16P的PROM存储器。用来注入相应工作参数、指令以及和外部通信的RS422串行接口单元采用采用型号为DS26LV31TM和
DS26LV32TM的差分收发芯片。
本发明的提升小波变换FPGA实现的方法,将CCD图像每128行作为一帧图像,先将一帧图像分为8组,每组采用16个并行的1-D行提升小波变换模块进行分解,然后将行提升小波系数的每32列采用16个并行的1-D列提升小波变换模块进行分解,最终完成二维提升。由于行列方向均采用16个并行1-D提升小波模块,提高了提升小波变换效率,缩减了CCD图像小波变换时间。
本发明的提升小波变换FPGA实现的方法,每个1-D行提升小波变换模块采用4个延时寄存器D1,D2,D3,D4的值作为中间值来计算提升小波高频和低频系数,缩短了提升小波高低频系数计算路径,进而提高了每个提升小波模块计算速度。
本发明的提升小波变换FPGA实现的方法,利用提升小波变换的第一步预测更新与第二步更新预测结构相同特点,将行列提升小波变换的第一步和第二步采用多路复用技术进行融合。大大节省了FPGA资源占用。
本发明的提升小波变换FPGA实现的方法,每个1-D列提升小波变换模块利用多路复用技术以流水线的作业方式将32列小波系数输入到16个并行的提升小波变换模块中,大大提高了提升小波计算效率。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (3)
1.一种提升小波变换FPGA实现的方法,其特征在于,包括以下步骤:
步骤i:将CCD图像每128行作为一帧图像,将一帧图像分为8组,每组采用16个并行的1-D行提升小波变换模块进行分解;
步骤ii:将行提升小波系数的每32列采用16个并行的1-D列提升小波变换模块进行分解。
2.根据权利要求1所述的方法,其特征在于,每个1-D行提升小波变换模块采用4个延时寄存器D1,D2,D3,D4的值作为中间值来计算提升小波高频和低频系数。
3.根据权利要求1或2所述的方法,其特征在于,步骤ii中具体为:每个1-D列提升小波变换模块利用多路复用技术以流水线的作业方式将32列小波系数输入到16个并行的提升小波变换模块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100668140A CN103179398A (zh) | 2013-03-04 | 2013-03-04 | 一种提升小波变换fpga实现的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100668140A CN103179398A (zh) | 2013-03-04 | 2013-03-04 | 一种提升小波变换fpga实现的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103179398A true CN103179398A (zh) | 2013-06-26 |
Family
ID=48638980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100668140A Pending CN103179398A (zh) | 2013-03-04 | 2013-03-04 | 一种提升小波变换fpga实现的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103179398A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104053011A (zh) * | 2014-06-13 | 2014-09-17 | 哈尔滨工业大学 | 应用于jpeg2000解码器中的二维离散小波逆变换器 |
CN108876736A (zh) * | 2018-06-04 | 2018-11-23 | 南京信息工程大学 | 一种基于fpga的图像阶梯效应消除方法 |
CN110764736A (zh) * | 2019-10-29 | 2020-02-07 | 深圳芯英科技有限公司 | 一种矩阵处理装置、方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430737B (zh) * | 2008-11-19 | 2010-08-25 | 西安电子科技大学 | 提升小波变换的vlsi结构设计方法 |
CN102208104A (zh) * | 2011-05-24 | 2011-10-05 | 中国科学院上海技术物理研究所 | 基于fpga硬件实现的cdb97小波变换实时图像融合方法 |
-
2013
- 2013-03-04 CN CN2013100668140A patent/CN103179398A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430737B (zh) * | 2008-11-19 | 2010-08-25 | 西安电子科技大学 | 提升小波变换的vlsi结构设计方法 |
CN102208104A (zh) * | 2011-05-24 | 2011-10-05 | 中国科学院上海技术物理研究所 | 基于fpga硬件实现的cdb97小波变换实时图像融合方法 |
Non-Patent Citations (2)
Title |
---|
田昕等: "快速二维小波变换VLSI结构", 《华中科技大学学报(自然科学版)》 * |
田昕等: "快速二维小波变换VLSI结构", 《华中科技大学学报(自然科学版)》, vol. 37, no. 9, 30 September 2009 (2009-09-30) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104053011A (zh) * | 2014-06-13 | 2014-09-17 | 哈尔滨工业大学 | 应用于jpeg2000解码器中的二维离散小波逆变换器 |
CN104053011B (zh) * | 2014-06-13 | 2017-03-01 | 哈尔滨工业大学 | 应用于jpeg2000解码器中的二维离散小波逆变换器 |
CN108876736A (zh) * | 2018-06-04 | 2018-11-23 | 南京信息工程大学 | 一种基于fpga的图像阶梯效应消除方法 |
CN110764736A (zh) * | 2019-10-29 | 2020-02-07 | 深圳芯英科技有限公司 | 一种矩阵处理装置、方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chaple et al. | Design of Sobel operator based image edge detection algorithm on FPGA | |
Tian et al. | Efficient multi-input/multi-output VLSI architecture for two-dimensional lifting-based discrete wavelet transform | |
Xiong et al. | Efficient architectures for two-dimensional discrete wavelet transform using lifting scheme | |
Zhang et al. | A multiwindow partial buffering scheme for FPGA-based 2-D convolvers | |
Chang et al. | New systolic array implementation of the 2-D discrete cosine transform and its inverse | |
CN103369326B (zh) | 适于高性能视频编码标准hevc的变换编码器 | |
CN107341133B (zh) | 基于任意维数矩阵lu分解的可重构计算结构的调度方法 | |
CN103179398A (zh) | 一种提升小波变换fpga实现的方法 | |
CN104579240A (zh) | 一种基于fpga的可配置系数的滤波器、电子设备及滤波方法 | |
Zheng et al. | A reconfigurable architecture for discrete cosine transform in video coding | |
CN101426134A (zh) | 用于视频编解码的硬件装置及方法 | |
CN102970545A (zh) | 一种基于二维离散小波变换算法的静态图像压缩方法 | |
CN114003201A (zh) | 矩阵变换方法、装置及卷积神经网络加速器 | |
CN201111042Y (zh) | 一种二维小波变换集成电路结构 | |
Meher et al. | Hardware-efficient systolic-like modular design for two-dimensional discrete wavelet transform | |
CN103177447B (zh) | 一种基于fpga的高光谱图像异常检测系统 | |
CN106570272A (zh) | 一种二维离散小波变换的vlsi设计方法 | |
Kiranmaye et al. | A novel ortho normalized multi-stage discrete fast Stockwell transform based memory-aware high-speed VLSI implementation for image compression | |
CN114372012B (zh) | 一种通用、可配置的高能效池化计算单行输出系统和方法 | |
CN108184127A (zh) | 一种可配置的多尺寸dct变换硬件复用架构 | |
CN115293978A (zh) | 卷积运算电路和方法、图像处理设备 | |
Basiri | Efficient VLSI architectures of lifting based 3D discrete wavelet transform | |
Slimani et al. | Convolution algorithm for implementing 2D discrete wavelet transform on the FPGA | |
Yun et al. | Adaptive directional lifting wavelet transform VLSI architecture | |
Liu et al. | Unified algorithms for computation of different points integer 1-D DCT/IDCT for the HEVC standard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130626 |
|
RJ01 | Rejection of invention patent application after publication |