图像压缩系统的制作方法

文档序号:6458687阅读:270来源:国知局
专利名称:图像压缩系统的制作方法
技术领域
本发明涉及一种图像压縮系统,具体地说是一种大面阵高分辨率图像的图像压縮系统。
背景技术
目前流行的图像实时压缩系统以大小为512X512,数据分辨率为8bit/10bit的图像为 主,而大面阵高分辨率图像的实时压縮,如分辨率大小21^2k,数据吞吐量大,需要处理带 宽高。针对高分辨率图像,特别是海量连续的大面阵CCD图像数据,如何实现图像压縮是实 际工程应用中的难点。

发明内容
为了实现高分辨率图像,特别是海量连续的大面阵CCD图像的压縮,本发明的目的是提 供一种图像压縮系统,该图像压縮系统可实现大面阵高分辨率图像的压缩。 本发明的目的是通过以下技术方案来实现的
一种图像压缩系统,其特征在于它包括图像采集模块、缓存模块、分割模块、小波变 换模块、压縮模块和输出模块,图像采集模块用于实时采集图像;缓存模块用于实现对图像 的缓存;分割模块用于对图像进行分割;小波变换模块用于实现对图像的小波变换;压缩 模块用于实现对变换后的小波系数进行编码;输出模块用于将编码后的数据流输出;
其中图像采集模块实时采集图像,并把采集的图像送入缓存模块,通过缓存后,分割模 块将缓存后的图像分割成多个图像块,并将分割后的图像块送到小波变换模块对图像进行小 波变换,然后将变换后的图像送入压縮模块,并在压縮模块中实现图像压縮编码,最后经由 图像输出模块输出。
本发明中,所述图像采集模块采用缓存图像传感器来实时采集图像。所述图像缓存图 像传感器是CCD或CMOS相机。
缓存模块由SDRAM构成,其中的SDRAM的读写控制通过在FPGA中设置一个状态机来实现。
分割模块通过地址切换方式把缓存后的图像分割成多个图像块。
其中小波变换是(5, 3)小波;该小波实现方法采用将小波变换模块和边界处理单元合
二为一的合成小波变换,该变换将每行图像数据分为开始阶段、中间阶段和结束阶段;
开始阶段低频和高频处理方法分别为 <formula>formula see original document page 4</formula>中间阶段低频和高频处理方法分别为
<formula>formula see original document page 5</formula>
结束阶段低频和高频处理方法分别为
<formula>formula see original document page 5</formula>
式中x[w]是原始信号,c[ ]、 4w]分别为小波变换的低频和高频分量,符号"L.」"表示
取整运算。
该小波实现方法为
首先,对输入至FPGA的图像数据,经过FPGA内的像素时钟计数器,送入模式选择单元, 在模式选择单元中,通过计数器最低位的数值和模式选择单元的寄存器对奇偶地址和边界进 行判断,按照上述小波变换方法计算低频和高频分量;
然后,针对模式选择单元的输出数据进行奇偶数据分解,分解后,偶地址数据一路直接 送入运算电路,另一路送入寄存器Rl延时后再送入运算电路,以保证同步相加运算,偶地 址数据处理后与对应奇地址数据相加,产生奇地址高频子带数据;
其中奇地址数据先送入寄存器延R2时后再送入运算电路,以保证与偶地址处理后数据 的同步相加,偶地址数据直接送入运算电路与经过延时R1后的前高频子带数据相加,同时送 入R3延时,处理后的数据与寄存器R4送出的对应偶地址数据相加,产生偶地址低频子带 数据;
其中,寄存器R1为偶地址的延时数据,寄存器R2为奇地址的延时数据,寄存器R3为 奇地址的高频子带延时数据,寄存器R4为偶地址的延时数据。
压缩模块包括全局控制单元,子孙系数重要单元,重要性扫描单元和位平面输出单元; 其中,全局控制单元用于控制编编码器按算法流程在各个模块之间切换;子孙系数重要 单元存储有子孙节点的所有子孙中的最大值,以便快速判定某个集合相对飼值是否重要;重 要性扫描单元通过对原小波系数矩阵进行扫描,从生成树数据得到4、 i^和巧标志位图以 及相互之间的继承关系;其中A图被用来指出重要系数的位置,^图用来指出重要后代集合 的位置,巧图用来指出除直接后继以外所有后代集合的位置。分割模块根据图像大小和处理器内部存储容量的人小来对图像进行分割。 本发明通过图像采集模块实时采集图像,并把采集的图像送入缓存模块,通过缓存后, 分割模块把缓存后的图像分割成多个图像块,然后将分割后的图像块送到小波变换模块进行 小波变换,经由小波变换模块变换后送入压縮模块,在压縮模块中实现图像压縮编码,最后 经由图像输出模块输出。
本发明集成度高,配置灵活;实现了高分辨率图像,特别是海量连续的大面阵CCD图像 的压縮,效果显著。


图l为本发明的结构框图2为SDRAM的读/写状态转移图3为分割模块的结构示意图4为小波变换模块的示意图5为压縮模块的硬件实现结构;
图6为本发明的工作流程图。
具体实施例方式
一种图像压縮系统,如图1所示,它包括图像釆集模块l、缓存模块2、分割模块3、小 波变换模块4、压縮模块5和输出模块6,图像采集模块1用丁实时采集图像;缓存模块2 用于实现对图像的缓存;分割模块3用于对图像进行分割;小波变换模块4用于实现对图像 的小波变换;压缩模块5用于实现对变换后的小波系数进行编码;输出模块6用于将编码后 的数据流输出。
图像采集模块l包括图像传感器和传感器接口,其中图像传感器可以是CCD相机、CMOS 相机或其他图像传感器。为了方便图像的后续处理, 一般都在图像传感器输出部分采用一个 对应的图像传感器接口电路,用于实现把图像传感器采集的图像从传感器内部取出来。本实 施例中图像传感器采用Dalsa公司生产的4M15CCD相机,相机数据接口采用高速Camera Link 接口。
缓存模块2包括存储器和存储控制单元构成。存储器可以是双口MM, SRAM, SDRAM。尤 其是SDRAM,比如HYNIX公司生产的HY57V281620HCT,采用同步接口和完全流水线的内部结 构,使其拥有极大的数据速率,非常适合大吞吐量的数据存储。存储控制单元釆用FPGA实 现,通过在FPGA内部构造SDRAM控制器,实现对原始图像的缓存。SDRAM控制器采用状态机 实现。该状态机包括以下状态初始化状态,空闲状态,读写状态,预充状态,刷新状态, 激活状态。当系统上电复位后,首先完成SDRAM的初始化。初始化包含初始化延吋,初始化 预充电,初始化刷新和初始化模式寄存器设置。考虑到效率问题,模式寄存器工作方式为全页突发,固定CAS (读命令输入到数据输出延时)为2个时钟周期。初始化结束后,SDRAM 进入空闲状态。在空闲状态时,如向SDRAM发出读写请求,SDRAM控制器进入行激活状态, 经过两个时钟周期后进入读/写状态就可对SDRAM进行读写了 。
在SDRAM进入写数据状态后,由于采用全页突发工作方式,则一次写操作即可写完一行 数据。需要注意,在上一次写操作结束到下次写操作前,必须将当前行关闭执行预充命令。 预充状态后,经两个时钟周期后才能再一次激活下一行进行下一次写操作。由于动态存储器 都存在定时刷新问题,在数据写入存储单元后,要想数据不丢失,需在给定间隔内进行刷新, 即进入刷新状态。可见,在SDRAM高速时钟速率的控制下,通过全页突发写操作方式,对于 采集的视频图像完全可在行消隐期间即可完成对一行图像数据的传输。在接收下一行图像数 据时,重复上述操作,直至整幅图像数据全部写入SDRAM。
在SDRAM进入读数据状态后,须经过CAS (读命令输入到数据输出延时)吋间后,SDRAM 数据端方可读出数据。由于SDRAM读/写操作均采用全页突发方式,因此当SDRAM读完一行 数据后,则完成了一次读数据操作。此时执行预充命令将当前行关闭。在预充状态后,又需 经两个时钟周期后才能再一次激活下一行。由于SDRAM采用电容存储数据信息,同写操作一 样,同样需要对数据进行定时刷新。在刷新操作结束后,才可再次发读命令,直至一帧数据 全部读出。整个SDRAM的状态转移图见图2。
分割模块3用于实现对经缓存模块2读出的图像数据进行分割。对一个大面阵图像,根 据处理器内部容量大小分割成多块。例如, 一个1KXlKByte的图像,处理器内部存储容量 为256X256Byte,那需要把图像分给成4X4块,即16块。分割通过控制缓存的读出地址来 实现。还是以lKXlKByte为例,如图3所示,读出次序依次为第1到16块,读出的时候依 次产生行地址为0—255,列地址为0—255、 256-511、 512-767和768—1023,行地址为 256-511,列地址为0—255、 256-511、 512-767和768—1023,行地址为512-767,列地址 为0_255、256-511、512-767和768 — 1023,行地址为768 — 1023,列地址为0—255、256-511、 512-767和768 — 1023。
这样通过地址切换方式来实现图像分割,可以减少过程的复杂度,而且不需要额外开销 存储单元,可以有效地提高系统的集成度。对于不同大小的图像,根据处理器内部存储容量 的大小,可以分割成不同的块,因此通用性强。
小波变换模块4实现对分块子图像的小波变换分解。选取(5, 3)小波变换来实现小波 变换,并通过模式选择单元实现对图像边界点和中间正常数据单元的同时处理。整个运算算 法仅用加法器和移位器即可实现,避免了传统小波变换的大量乘法操作,运算量小。且逻辑 控制单元结构简单,有效地减小了系统复杂度。其中(5, 3)小波变换算法为-x[2"] + x[2w + 2]c[2w + l] = x[2 + l]_ c5 [2w] = x[2 ] +2c[2w —l] + c[2n + l] + 2(1)(2)式中x["]是原始信号,c["]、 4"]分别为小波变换的低频和高频分量,符号"L.」"表示取整运算。式(1)和式(2)给出了 (5, 3)小波变换的原理,这里假定信号是无限长的。然而, 实际中的图像信号都是有限长的。因此,必须对信号边界进行延拓。假设图像的大小为256 X256,则每一行数据地址排列是0—255。根据(5, 3)小波算法(1) , (2)可得,在行 处理进行奇地址高频子带数据d的求解中,当求行数据结束时的d[255]时,需要:c[256],而 这个数据不存在;同样在进行偶地址低频子带数据的求解中,求行数据开始时的O地址低频 子带数据时,需要d[-l],这个数据也不存在。因此必须进行边界延拓。如将边界处理模块作为单独模块独立于小波变换模块之外,将增大硬件的面积。这里, 采用了一种合成小波变换模块。它的核心思想在于将小波变换模块和边界处理单元合二为 一, 一次完成。实现方法如下将每行图像数据分为以下三阶段开始阶段,中间阶段,结 束阶段。设图像像素分辨率为/x/,则每行数据像素点范围为Z。至^—r其中,开始阶段即每 行图像数据的第一个像素点^;中间阶段即像素点范围从^至4_2;结束阶段即最后一个像 素点/,—,。采用分段函数思想,将小波变换分为3个阶段。每阶段的计算公式如下开始阶段低频和高频处理方法分别为(3) 、 (4)式。中间阶段低频和高频处理方法分别为(1) 、(2)式。结束阶段低频和高频处理方法分别为(5) 、(6)式。c[/0] = x[z-0]_x[Z0+l] (3)<i[/0] = x[/0] +c(!;+i)+c(、+i)+2(4)啦]二x[/,]—4')+i](5)c(,;+i)+c("i)+2(6)针对小波变换分解模块4的上述3个阶段,图4给出了小波变换模块4的操作流程首 先,对输入至FPGA的图像数据,经过FPGA内的像素时钟计数器,送入模式选择单元。在模 式选择单元中,通过计数器最低位的数值和模式选择单元的寄存器对奇偶地址和边界进行判 断,如是边界的开始和结束信号,则分别按式(3), (4), (5), (6)运行,否则按正常模式 (1), (2)运行。然后,针对模式选择单元的输出数据进行奇偶数据分解。分解后的偶数据同时送入两个寄存器单元分别实现缓存。对第一路经Rl寄存器单元的 延时偶数据输入运算电路保证同步相加运算;对第二路经R4寄存器单元的延时偶数据则通 过和对应奇地址数据相加,产生奇地址高频子带数据。分解后的奇数据先送入寄存器R2延时后再送入运算电路,以保证与偶地址处理后数据 的同步相加。然后与经过延时后的前高频子带数据相加,同时送入R3延时。经R3寄存器单 元延时后的数据经加法器和移位除法器输出后与寄存器R4送出的对应偶地址数据相加,产 生偶地址低频子带数据。其中,Rl寄存器为偶地址的延时数据,R2为奇地址的延时数据,R3为奇地址的高频子 带延时数据,R4为偶地址的延时数据。压縮模块5实现对变换后小波系数的压縮编码。在经典SPIHT算法的基础上,通过采用 标志位图代替大容量链表,降低了算法硬件实现的复杂度。经典SPIHT算法是一种基于零树结构的图像压缩编码算法。设图像进行了 f级小波变换分解,则形成了(3I+1)个子带,按其频带从低到高形成一个"空间方向树"结构,树根是最低频子带的节点。零树编码算法的核心思想是以下面的假设为前提的若位于"树"上较高层的小波系数为零,则它所对应的同一空间位置相同方向的较低层上的小波系数亦为零。这表明可检测出存在的"零树",从而达到压縮的目的。SPIHT算法首先需实现高效的集合分割策略。算法根据"空间方向树"结构,将集合的分割策略定义为J) = {(2/ + 1,2y),(2z' + l,2_y + 1),(2,',2y +1),(2/,2;; +1)} ""/) = 1歌/), (A:,/)eO(/,力其中,6>(/,_/)表示节点(/,力的直接后代节点(即四个子节点)的坐标集合,D(/,力表示 节点(/,力的所有后代节点的坐标集合,丄(z'J)表示节点(/,力的除直接后继以外所有后继节点 的坐标集合。然后,算法根据划分后的集合,按照下述函数(8)进行一个系数集合7的重要性测试。即把小波系数集划分成一些集合1,对于逐次循环减小l的n,寻找那些大于2"的系数, 如果t;中所有系数都不重要,编码器将输出一个"否"信息(子集不重要),相应地,解码器接收这个"否"信息就知道 ;中所有系数都小于2、如果7;中有重要系数,那么将有一个 编码器与解码器共同遵守的"协议"把集合7;分解成更小的子集7;7,并对于新的子集实施上 述重要性检测。这样的集合划分重复进行,直到所有子集都进行过系数重要性扫描,所有子 集t;里面的所有元素都不重要。附f最后,根据小波变换系数的重要性信息划分出三个有序列表(分别是:零树根表(LIS), 重要系数表(LSP)和非重要系数表(LIP))来记录相关信息,从而实现高效压縮。SPIHT算法流程如下其中,"表示最高比特平面(即最重要的比特平面)。lc(/J)l表示(ZJ)点的小波系数。st印2:根据集合分割策略,按照公式(7)进行重要性扫描,并将相关信息记录于LIS, LIP, LSP列表。St印3:令"="-1,若W不为0, 转至步骤2); "=0结束编码。经典SPIHT算法是卓越的图像压縮编码算法。然而在实现过程中,需要存储三个有序大 容量链表(LIS,LIP, LSP),不利于硬件实现。压缩模块(5)在经典SPIHT算法的基础上, 以FPGA作为压缩算法的硬件实现平台,通过开辟三个RAM区域存储标志位图代替经典SPIHT 算法的大容量链表,降低了硬件实现的复杂度。图5给出了压缩模块5的实现结构。该实现结构主要由以下几个单元组成全局控制单元,子孙系数(小波变换后任一节点 (z',力的所有后代节点系数集合)重要单元,重要性扫描单元和位平面输出单元(小波系数扫 描过程中所形成的二进制比特平面)。同时,在FPGA内部开辟了三个RAM区分别用来存储 标志位图^、 ^和^ (&图被用来指出重要系数的位置,^图用来指出重要后代集合的位 置,巧图用来指出除直接后继以外所有后代集合的位置)。其中,全局控制单元用于控制编码器按算法流程在各个模块之间切换。重要性扫描单元通过对小波系数进行重要性扫描,即对生成树数据按照公式(7)进行 重要性判断,以确定&、 ^和^标志位图以及相互间关系。该单元是整个压縮算法的核心。子孙系数重要单元存储有子孙节点的所有子孙中的最大值,以便快速判定某个集合相对 阈值是否重要。位平面输出单元将重要性扫描单元得到的小波系数信息按照重要性顺序排序(首先传送最重要的比特平面(w = 得到的二进制比特平面。log2(max){|c(/,_/〕),最后传送最不重要的比特平面("=0))输出模块6主要在FPGA内构造FIFO缓存单元,实现将压縮编码后的编码数据流输出。 该图像压縮系统的工作流程见附图6:第一SOl,对输入的图像采集模块l,首先通过缓存模块2实现对原始图像数据的缓存。 在缓存模块2中,缓存器选用SDRAM,通过在FPGA内构造SDRAM控制器,实现大容量连续数 据流的实时缓存。缓存后的数据通过分割模块3输入至FPGA。第二S02,在SDRAM读数据时,按照分块图像思想,分割模块3通过对SDRAM地址的控 制和逻辑切换,实现对原始图像的分割。第三S03,对分割模块3输出的子图像,首先经小波变换模块4实现小波分解。 第四S04,对小波变换模块4输出的小波变换系数,输入至压縮模块5。在压縮模块5 中,通过压縮处理输出压縮后的数据流。第五S05,将压縮编码模块5输出的数据输入至输出模块6中,通过在FPGA内部构建 FIFO缓存单元,实现对图像压縮后的数据流的输出。可见,通过上述功能模块和相应的操作流程,实现了基于FPGA的图像实时压縮。 本发明可广泛应用于高分辨率图像实时压縮中。
权利要求
1、一种图像压缩系统,其特征在于它包括图像采集模块(1)、缓存模块(2)、分割模块(3)、小波变换模块(4)、压缩模块(5)和输出模块(6),图像采集模块(1)用于实时采集图像;缓存模块(2)用于实现对图像的缓存;分割模块(3)用于对图像进行分割;小波变换模块用于实现对图像的小波变换;压缩模块用于实现对变换后的小波系数进行编码;输出模块用于将编码后的数据流输出;其中图像采集模块(1)实时采集图像,并把采集的图像送入缓存模块(2),通过缓存后,分割模块(3)将缓存后的图像分割成多个图像块,并将分割后的图像块送到小波变换模块(4)对图像进行小波变换,然后将变换后的图像送入压缩模块(5),并在压缩模块(5)中实现图像压缩编码,最后经由图像输出模块(6)输出。
2、 根据权利要求1所述的图像压縮系统,其特征在于所述图像采集模块(1)采用缓 存图像传感器来实时采集图像。
3、 根据权利要求2所述的图像压縮系统,其特征在于所述图像缓存图像传感器是CCD 或CM0S相机。
4、 根据权利要求1所述的图像压缩系统,其特征在于所述缓存模块(2)由SDRAM 构成,其中的SDRAM的读写控制通过在FPGA中设置一个状态机来实现。
5、 根据权利要求l所述的图像压縮系统,其特征在于所述的分割模块(3)通过地址 切换方式把缓存后的图像分割成多个图像块。
6、 根据权利要求l所述的图像压缩系统,其特征在于所述小波变换是(5, 3)小波; 该小波实现方法釆用将小波变换模块和边界处理单元合二为一的合成小波变换,该变换将每 行图像数据分为开始阶段、中间阶段和结束阶段;该小波实现方法为首先,对输入至FPGA的图像数据,经过FPGA内的像素时钟计数器,送入模式选择单元, 在模式选择单元中,通过计数器最低位的数值和模式选择单元的寄存器对奇偶地址和边界进 行判断,按照上述小波变换方法计算低频和高频分量;然后,针对模式选择单元的输出数据进行奇偶数据分解,分解后,偶地址数据一路直接 送入运算电路,另一路送入寄存器Rl延时后再送入运算电路,以保证同步相加运算,偶地 址数据处理后与对应奇地址数据相加,产生奇地址高频子带数据;其中奇地址数据先送入寄存器延R2时后再送入运算电路,以保证与偶地址处理后数据 的同步相加,偶地址数据直接送入运算电路与经过延时Rl后的前高频子带数据相加,同时送 入R3延时,处理后的数据与寄存器R4送出的对应偶地址数据相加,产生偶地址低频子带 数据;其中,寄存器Rl为偶地址的延时数据,寄存器R2为奇地址的延时数据,寄存器R3为 奇地址的高频子带延时数据,寄存器R4为偶地址的延时数据。
7、 根据权利要求l所述的图像压縮系统,其特征在于所述压縮模块(5)包括全局控 制单元,子孙系数重要单元,重要性扫描单元和位平面输出单元;其中,全局控制单元用于控制编编码器按算法流程在各个模块之间切换;子孙系数重要 单元存储有子孙节点的所有子孙中的最大值,以便快速判定某个集合相对阈值是否重要;重 要性扫描单元通过对原小波系数矩阵进行扫描,从生成树数据得到&、 ^和巧标志位图以 及相互之间的继承关系;其中&图被用来指出重要系数的位置,i^图用来指出重要后代集合 的位置,巧图用来指出除直接后继以外所有后代集合的位置。
8、 根据权利要求l所述的图像压縮系统,其特征在于所述分割模块(3)根据图像大 小和处理器内部存储容量的大小来对图像进行分割。
全文摘要
本发明公开一种图像压缩系统,包括图像采集模块,用于实时采集图像;缓存模块,用于实现对图像的缓存;分割模块,用于对图像进行分割;小波变换模块,用于实现对图像的小波变换;压缩模块,用于实现对变换后的小波系数进行编码;输出模块,用于将编码后的数据流输出;其中图像采集模块实时采集图像,并把采集的图像送入缓存模块,分割模块将缓存后的图像分割成多个图像块,并将分割后的图像块送到小波变换模块对图像进行小波变换,然后将变换后的图像送入压缩模块,并在压缩模块中实现图像压缩编码,最后经由图像输出模块输出。本发明集成度高,配置灵活,可实现大面阵高分辨率图像的压缩,广泛应用于高分辨率图像实时压缩中。
文档编号G06T5/00GK101316364SQ20081002248
公开日2008年12月3日 申请日期2008年7月15日 优先权日2008年7月15日
发明者陈苏婷 申请人:南京信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1