基于小波子带交织最优量化的高速图像压缩方法及装置的制作方法

文档序号:7858496阅读:167来源:国知局
专利名称:基于小波子带交织最优量化的高速图像压缩方法及装置的制作方法
技术领域
本发明属于图像处理领域,涉及一种如何高速的对图像进行编码的方法及其工程实现装置。
背景技术
随着图像传感器和电子技术的进步,航测等领域使用CCD相机的分辨率和采样率等都不断增加,产生了大量的图像数据。如何将这些数据有效地传输和存储成为人们日益关注的焦点。高效的压缩编码技术便是解决这个问题的一种有效的途径。经典编码方法主要有预测编码、变换编码和统计编码。预测编码是根据数据的统计特性得到预测值,然后传输图像像素与其预测值的差值信号,使其传输的码率降低。变换编码是将给定的图像变换到另一个数据域上,使图像的能量集中。统计压缩编码方法则是根据信息码字出现概率的分布特征而进行压缩编码,寻找概率与码字长度间的最优匹配。现代压缩方法不局限于信息论的框架,充分利用了人的视觉生理、心理和图像信源的各种特征,实现从“波形”编码到“模型”编码的转变,为了克服经典压缩方法压缩比小、图像复原质量不理想等弱点。主要有基于分形的编码、基于模型的编码、基于区域分割编码、基于神经网络的编码和基于小波变换的编码等。其中,利用小波变换可以一次变换整幅图像,不仅可以达到高的压缩比,而且不会出现JPEG重建图像中的“方块”效应。随着小波变换理论的不断完善,国内外的学者提出了许多基于小波变换的压缩算法,应用较多的有EZW算法,SPIHT算法和EBCOT算法。传统的EZW算法和SPIHT算法在编码时采取了链表式结构,要对整个图像数据进行存储,存储空间较大;熵编码采用算术编码,计算量较大。EBCOT算法采用了比特位平面算术编码,编码时除对最高比特平面外,每个比特平面都要进行三通道扫描编码。编码时需要为每个编码码块分配一定的存储空间,但在第二级码率截取时,又会丢失掉前一级编码中产生的许多码率,从而造成了巨大的资源浪费。位平面算法和MQ算术编码的复杂度较高,硬件实现比较困难。JPEG2000是新一代的编码标准,采用了EBCOT算法作为核心算法,虽然可以在获得高压缩比的同时,获得高保真的图像质量,但是编码时计算量大,不仅需要缓存大量的图像数据,还需要进行多次扫描,很难达到较高的编码速度。2005年11月,空间数据系统咨询委员会发布了一个标准,即CCSDS算法。该算法也是由小波变换模块和位编码模块组成,结构要比JPEG2000简单,实现方便,但需要将小波变换后的系数按生成树的顺序读出,分别送到每个比特平面编码器进行比特平面编码,因此,小波变换后的数据必须缓存起来进行扫描编码,速度仍不可能有较大的提高。在实际工程中,之所以选择使用现场可编程逻辑器件来实现图像压缩处理系统,是因为现场可编程逻辑器件具有很高的并行处理能力,数据处理速度快;而且开发成本较低,灵活性好,可以重新配置。

发明内容
为了克服许多领域产生的高速图像带来的海量数据给有限的传输带宽和大容量数据记录系统带来困难,本发明提出了一种基于小波子带交织最优量化的高速图像压缩方法及图像压缩装置。为了实现所述目的,本发明的第一方面提供一种基于小波子带交织最优量化的高速图像压缩方法,所述方法的压缩步骤如下步骤SI :利用硬件描述语言在现场可编程逻辑器件中设计出CCD相机数据采集模块,利用CCD相机时钟对CCD相机数据进行采集,并进行时钟域转换,以编码时钟输出采集到的图像数据;步骤S2 :利用硬件描述语言在现场可编程逻辑器件设计出3级二维5/3小波变换的智能特性核;对数据采集模块输出的图像数据进行3级小波变换,得到各级并行输出的子带数据;步骤S3 :将各级并行输出的子带数据转换成一个各级子带交织的串行数据流;利 用硬件描述语言在现场可编程逻辑器件上设计子带交织最优量化器,子带交织最优量化器对子带交织的串行数据流进行量化,得到小波变换后各个子带的量化数据;步骤S4 :利用硬件描述语言在现场可编程器件上实现JPEG_LS算法的预测器,预测器对小波变换后各个子带的量化数据中的小波最低频子带数据进行预测,用以去除量化后的小波最低频子带数据之间的相关性,获得低频预测后的子带数据;步骤S5 :采用自适应O游程编码对量化数据和低频预测后的数据进行游程编码,得到自适应O游程编码后的数据,并将自适应O游程编码在现场可编程器件上实现;步骤S6 :采用查找表和直接取位操作的方式在现场可编程器件上实现指数哥伦布编码器,对自适应O游程编码后的数据进行指数哥伦布编码处理,得到采集图像数据压缩编码的码流。为了实现所述目的,本发明的第二方面提供一种基于小波子带交织最优量化的高速图像压缩装置,所述压缩装置包括CCD相机、现场可编程逻辑器件、片外存储器和计算机,所述现场可编程器件包括图像压缩模块(内嵌数据采集模块)、本地端口接口、多端口存储器控制器、内嵌入式处理器、以太网核和PLB4.6总线;其中(XD相机通过相机口与现场可编程逻辑器件相连,向现场可编程逻辑器件输入CCD图像数据;现场可编程逻辑器件中的图像压缩模块接收到内嵌入式处理器发出的启动信号后开始工作,实现对CCD相机数据的采集、3级二维5/3小波变换、子带交织最优量化、JPEG_LS预测、自适应O游程编码和指数哥伦布编码,得到CCD相机数据的最终码流,并输入到本地端口接口中,同时向内嵌入式处理器发出一帧图像结束信号;本地端口接口接收到内嵌入式处理器发出的片外存储器起始地址,写入片外存储器的数据宽度,一次写入多少数据以及写命令信号后,将图像压缩模块输入的码流数据,连同内嵌入式处理器发出的控制信号一同输入到多端口存储器控制器的PIM接口 ;多端口存储器控制器将接收到的码流数据写入片外存储器的规定位置中,同样,多端口存储器控制器也能够将片外存储器中指定地址的数据读出来,输入到PLB4. 6总线上;当内嵌入式处理器接收到来自图像压缩模块的一帧图像的结束信号后,开启以太网核,并将片外存储器指定空间的数据通过PLB4. 6总线、内嵌入式处理器和输入到以太网核的局部接口上;以太网核将接收到的数据通过网口发送到计算机上;计算机对接收的码流进行解码显示。本发明的有益效果本发明主要采用了一种多级二维小波变换的硬件实现方法,并对该二维小波变换之后得到的并行的子带数据按HL子带数据、LH子带数据、HH子带数据和LL子带数据的顺序组织成一个各个子带交织的串行数据流;只要小波变换一有数据输出,就可以及时进行最优量化、预测以及熵编码。整个压缩过程只使用了一路量化、预测以及熵编码器,而且没有使用任何片外资源,资源使用少(单片Virtex5可以实现8路1024X1024图像的压缩),速度快(可达350MSPS)。从而有效地解决了海量高速数据量给有限的传输带宽和大容量数据记录系统带来问题,适用光测、遥感、航测等多种领域的图像数据的记录及传输,也为后期的图像处理奠定基础。本发明中涉及到的图像压缩方法也是最新的基于小波分析的编码技术研究成果。本发明中的交织最优量化方法,将3级小波变换后得到的10个子带数据组织成一个各个子带交织的串行的数据流,使得小波变换得到的数据无需片外缓冲便可直接进行量化、预测,而且只需要一路熵编码器就可以实现整个压缩过程。本发明的压缩装置仅使用了单片现场可编程门阵列芯片就完成了 CCD相机图像数据的采集、编码以及数据传输等主要功能,片外存储器仅用作压缩后码流的存储。整个压缩编码过程结构简单,资源使用少;主要使用了单片现场可编程逻辑器件,使用方便;数据吞吐率高,可达350MSPS ,能够满足高速图像的及时压缩。该方法利用现场可编程器件对小波变换后的数据同步组织成各个子带交织的串行的数据流,在对这个数据流进行最优量化,预测和熵编码,得到最终的码流;该工程实现装置使用现场可编程器件对相机数据进行的采集、编码和传输,使用片外存储单元对压缩编码后的码流进行存储,既可以实时地通过网络传输到计算机进行解码显示,又可以供事后进行处理。可以很好的应用在遥感航测以及光测等设备中,具有广阔的市场前景和实际应用价值。


图I为本发明中图像压缩方法流程图;图2为数据采集模块输入输出时序图;图3为小波行变换分裂、预测和更新数据流图;图4为小波变换结构示意图;图5为3级整数小波变换各子带输出示意图;图6为并行的小波子带数据转化成子带交织的串行数据示意图;图7为子带交织最优量化结构原理图;图8a为低频预测模块JPEG_LS算法结构图;图8b为JPEG_LS算法中相关像素点的位置示意图;图9为游程编码样本扫描顺序图;图10为游程编码结构原理图;图11为指数哥伦布编码结构原理图;图12本发明中图像压缩系统结构图;图13a-图13d为用该发明的压缩系统压缩44倍的图像解码效果比较图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合附图及具体实施方式
进一步详细介绍本发明。请参见图I示出,本发明基于小波子带交织最优量化的高速图像压缩方法,所述方法的压缩步骤如下步骤SI :利用硬件描述语言(VHDL)在现场可编程逻辑器件FPGA中设计出CXD相机数据采集模块,利用CCD相机时钟对CCD相机数据进行采集,并进行时钟域转换,以编码时钟输出采集到的图像数据;步骤S2 :利用硬件描述语言在现场可编程逻辑器件设计出3级二维5/3小波变换的智能特性核;对数据采集模块输出的图像数据进行3级小波变换,得到各级并行输出的子带数据;步骤S3 :将各级并行输出的子带数据转换成一个各级子带交织的串行数据流;利用硬件描述语言在现场可编程逻辑器件上设计子带交织最优量化器,子带交织最优量化器对子带交织的串行数据流进行量化,得到小波变换后各个子带的量化数据; 步骤S4 :利用硬件描述语言在现场可编程器件上实现JPEG_LS算法的预测器,预测器对小波变换后各个子带的量化数据中的小波最低频子带数据进行预测,用以去除量化后的小波最低频子带数据之间的相关性,获得低频预测后的子带数据;步骤S5 :采用自适应O游程编码对量化数据和低频预测后的数据进行游程编码,得到自适应O游程编码后的数据,并将自适应O游程编码在现场可编程器件上实现;步骤S6 :采用查找表和直接取位操作的方式在现场可编程器件上实现指数哥伦布编码器,对自适应O游程编码后的数据进行指数哥伦布编码处理,得到采集图像数据压缩编码的码流。对各级并行输出的子带数据转换是按一级、二级和三级变换的顺序的转换,每一级并行输出的子带数据按HL子带数据、LH子带数据、HH子带数据和LL子带数据的顺序输出,得到各个子带交织的串行的数据流。整个压缩过程不需要使用任何片外存储单元对小波变换后的各级并行输出的子带数据进行缓存,小波变换一有并行输出的子带数据,就及时得对并行输出的子带数据进行量化、自适应O游程编码和指数哥伦布编码,在小波变换结束后的100个编码周期内,就能完成整个图像的编码过程。现场可编程逻辑器件中的整个压缩模块达到350MSPS(Million Sample PerSecond)的压缩速度。指数哥伦布编码器使用查找表来实现首I检测,采用直接取位操作的方式,完成指数哥伦布编码的核心操作。本发明中涉及到的是一种基于像素的编码方式,所述方法包括以下几个部分(XD相机数据的采集、3级二维5/3小波变换、子带交织最优量化、JPEG_LS低频预测、自适应O游程编码和指数哥伦布编码的高速现场可编程门阵列现场可编程逻辑器件实现。下面详细描述所述方法的具体步骤I. (XD相机数据采集由图2示出数据采集模块输入输出时序图,具体描述如下首先,(XD相机通过相机口(camera link)连接在现场可编程逻辑器件FPGA上。利用硬件描述语言编写CCD相机采集程序,现场可编程逻辑器件的采集模块的输入信号定义为巾贞有效信号(记作Frame_valid)、行有效信号(记作Line_valid)、相机数据有效信号(记作Data_valid)、CCD相机数据(记作CCD_data)和CCD相机时钟(记作Camera_elk)。C⑶相机进行连续拍摄的时候,两帧图像之间有一定的无效期,称“帧消隐期”;在一帧图像内,一行数据和一行数据之间也有一定的无效期,称“行消隐期”。当输入帧有效信号、行有效信号和相机数据有效信号同时有效的时候,此时的CCD相机数据就是有效的。我们采集这个数据并输入到一个先入先出缓冲器(FIFO)中,进行时钟域的转换,将相机时钟域转换到编码时钟域,输出帧有效信号(记作Fval_out)、行有效信号(记作Lval_out)和采集到的相机数据(记作Data_out)。相机采集时钟一般为50MHz,而本发明中的压缩算法编码时钟可高达350MHz。对采集到的数据进行时钟域转化后,可以明显加长“行消隐期”。小波变换以及并行的小波子带数据转换为子带交织的数据流,都需要借助“行消隐期”才得以完成。2. 3级二维5/3小波变换的硬件高速实现
小波变换以其独特的时频分析特性和多分辨率能力已被广泛的应用于图像压缩领域。传统的基于卷积的小波变换计算复杂度高,内存需求量大,不适合实际的工程需要。提升小波算法的提出很大程度上解决了这个问题。提升小波主要分为分裂、预测和更新三大步骤。实例中的采用了常用的5/3提升小波变换。一维5/3提升小波变换的预测和更新过程可分别由公式(I)和公式(2)表示
权利要求
1.一种基于小波子带交织最优量化的高速图像压缩方法,所述方法的压缩步骤如下 步骤SI :利用硬件描述语言在现场可编程逻辑器件中设计出CCD相机数据采集模块,利用CCD相机时钟对CCD相机数据进行采集,并进行时钟域转换,以编码时钟输出采集到的图像数据; 步骤S2 :利用硬件描述语言在现场可编程逻辑器件设计出3级二维5/3小波变换的智能特性核;对数据采集模块输出的图像数据进行3级小波变换,得到各级并行输出的子带数据; 步骤S3 :将各级并行输出的子带数据转换成一个各级子带交织的串行数据流;利用硬件描述语言在现场可编程逻辑器件上设计子带交织最优量化器,子带交织最优量化器对子带交织的串行数据流进行量化,得到小波变换后各个子带的量化数据; 步骤S4 :利用硬件描述语言在现场可编程器件上实现JPEG LS算法的预测器,预测器对小波变换后各个子带的量化数据中的小波最低频子带数据进行预测,用以去除量化后的小波最低频子带数据之间的相关性,获得低频预测后的子带数据; 步骤S5 :采用自适应O游程编码对量化数据和低频预测后的数据进行游程编码,得到自适应O游程编码后的数据,并将自适应O游程编码在现场可编程器件上实现; 步骤S6 :采用查找表和直接取位操作的方式在现场可编程器件上实现指数哥伦布编码器,对自适应O游程编码后的数据进行指数哥伦布编码处理,得到采集图像数据压缩编码的码流。
2.根据权利要求I所述的基于小波子带交织最优量化的高速图像压缩方法,其特征在于,对各级并行输出的子带数据转换是按一级、二级和三级变换的顺序的转换,每一级并行输出的子带数据按HL子带数据、LH子带数据、HH子带数据和LL子带数据的顺序输出,得到各个子带交织的串行的数据流。
3.根据权利要求I所述的基于小波子带交织最优量化的高速图像压缩方法,其特征在于,整个压缩过程不需要使用任何片外存储单元对小波变换后的各级并行输出的子带数据进行缓存,小波变换一有并行输出的子带数据,就及时得对并行输出的子带数据进行量化、自适应O游程编码和指数哥伦布编码,在小波变换结束后的100个编码周期内,就能完成整个图像的编码过程。
4.根据权利要求I所述的基于小波子带交织最优量化的高速图像压缩方法,其特征在于,现场可编程逻辑器件中的整个压缩模块达到350MSPS的压缩速度。
5.根据权利要求I所述的基于小波子带交织最优量化的高速图像压缩方法,其特征在于,指数哥伦布编码器使用查找表来实现首I检测,采用直接取位操作的方式,完成指数哥伦布编码的核心操作。
6.一种利用权利要求I所述基于小波子带交织最优量化的高速图像压缩方法的压缩装置,其特征在于所述压缩装置包括CCD相机、现场可编程逻辑器件、片外存储器和计算机,所述现场可编程器件包括图像压缩模块内嵌数据采集模块、本地端口接口、多端口存储器控制器、内嵌入式处理器、以太网核和PLB4. 6总线;其中 CCD相机通过相机口与现场可编程逻辑器件相连,向现场可编程逻辑器件输入CCD图像数据; 现场可编程逻辑器件中的图像压缩模块接收到内嵌入式处理器发出的启动信号后开始工作,实现对CCD相机数据的采集、3级二维5/3小波变换、子带交织最优量化、JPEG_LS预测、自适应O游程编码和指数哥伦布编码,得到CCD相机数据的最终码流,并输入到本地端口接口中,同时向内嵌入式处理器发出一帧图像结束信号; 本地端口接口接收到内嵌入式处理器发出的片外存储器起始地址,写入片外存储器的数据宽度,一次写入多少数据以及写命令信号后,将图像压缩模块输入的码流数据,连同内嵌入式处理器发出的控制信号一同输入到多端口存储器控制器的PIM接口 ; 多端口存储器控制器将接收到的码流数据写入片外存储器的规定位置中,同样,多端口存储器控制器也能够将片外存储器中指定地址的数据读出来,输入到PLB4. 6总线上;当内嵌入式处理器接收到来自图像压缩模块的一帧图像的结束信号后,开启以太网核,并将片外存储器指定空间的数据通过PLB4. 6总线、内嵌入式处理器和输入到以太网核的局部接口上; 以太网核将接收到的数据通过网口发送到计算机上; 计算机对接收的码流进行解码显示。
7.如权利要求6所述的压缩装置,其特征在于利用内嵌入式处理器对图像压缩模块,本地端口接口和以太网核进行统一管理,实现对片外存储器的“乒乓操作”,即通过内嵌入式处理器控制将第一帧图像编码得到的码流写入到片外存储器的A区域,将第二帧图像编码得到的码流写入到片外存储器的B区域,同时,读取A区域中的码流数据,并通过以太网核发送到计算机中;将第三帧图像编码后的码流写入到片外存储器的A区域,同时,读取B区域中的码流数据,并通过以太网核发送到计算机中,依次类推,反复进行。
8.如权利要求6所述的压缩装置,其特征在于该装置也能通过内嵌入式处理器对本地端口接口核的控制,将码流存储在片外存储器规定区域,供事后解压显示。
全文摘要
本发明涉及基于小波子带交织最优量化的高速图像压缩方法,采集CCD相机数据,并对CCD相机数据进行3级小波变换;将小波变换后并行的子带数据转换成子带交织的串行数据流,并进行最优量化;对量化后的小波最低频子带数据采用JPEG_LS算法进行预测;对量化和预测后的数据进行游程编码和指数哥伦布编码,得到采集图像的最终码流。本发明亦提供一种压缩装置,本发明仅使用单片现场可编程逻辑器件,完成了图像数据采集、编码和传输全过程,压缩比可通过量化步长进行调整,单路数据吞吐量可达350MSPS。
文档编号H04N7/26GK102833546SQ20121029878
公开日2012年12月19日 申请日期2012年8月21日 优先权日2012年8月21日
发明者任国强, 孙健, 李其虎, 徐永刚 申请人:中国科学院光电技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1