基于fpga的变压缩比图像压缩系统的制作方法

文档序号:418565阅读:171来源:国知局
专利名称:基于fpga的变压缩比图像压缩系统的制作方法
技术领域
基于FPGA的变压缩比图像压缩系统技术领域[0001]本实用新型涉及一种图像压缩系统,特别涉及一种基于FPGA的变压缩比图像压缩系统。
背景技术
[0002]图像以其信息直观、信息量大等一系列优点成为人们获取信息的重要来源。但图像数据量大,难以存储或传输,需要进行压缩。JPEG是联合图像专家组(Join Photographic Experts Group)的英文缩写,是由国际标准化组织(ISO)、国际电报电话咨询委员会 (CCITT)和国际电工委员会(IEC)联合组成的一个图像专家小组。JPEG的目的是给出一个适用于各种连续色调图像的压缩方法,其中源图像类型可以不受图像尺寸、内容、统计特性、像素形状以及颜色空间等的限制,要求算法易于软硬件实时,系统具有良好的性价比, 成为国际通用的静止图像标准。[0003]采用传统的嵌入式微处理器进行图像压缩,不能进行并行处理,灵活性差,数据吞吐率和资源利用率都比较低,难以达到实时性的要求。现场可编程逻辑门电路(FPGA)具有现场可编程性与可重构性,具有较强的并行处理能力,用FPGA实现实时图像压缩系统,可以提高系统处理速度、灵活性和适应性。[0004]在一些应用领域,并不需要整幅图像的全部信息,如交通图像处理领域,通常只关心道路信息,而对背景信息不做过多要求,因此,如果能够对道路信息进行压缩比较小的压缩,而对背景信息进行压缩比较大的压缩,可以显著提高压缩效果。[0005]经过对现有技术的检索发现,文献“基于DSP的图像压缩系统,电子测量技术, 2007年第二期”提出一种基于DSP的图像压缩方法,该方法处理一幅640 X 480大小的图像, 需要0. 199s,难以满足实时性要求。[0006]文献“申请号是201110099414. O的中国专利”公开了一种基于FPGA的高速JPEG 图像处理系统及其处理方法,该系统由图像输入设备,编码模块,中央处理器,码流存储设备,码流输出设备和系统总线组成。该方案有一定的实时性,但它用到了中央处理器,这限定了该方案要使用嵌入式硬核或嵌入式软核,增加了系统的资源消耗,也降低了系统的可移植性,而且该方案侧重于说明整个系统的组成框图和数据流向,并没有给出具体可行的编码方法。发明内容[0007]为了克服现有的图像处理系统资源消耗大、可移植性差的不足,本实用新型提供一种基于FPGA的变压缩比图像压缩系统,该系统包括图像信号转换模块、图像数据处理模块以及通信模块。图像数据处理模块采用一片FPGA作为核心芯片,使系统具有高可靠性和小型化的优点;基于FPGA的变压缩比图像压缩系统的图像压缩方法对JPEG算法进行并行化处理,并把中间的计算结果和用到的数据存入FPGA内部存储芯片构成的RAM、ROM和 FIFO中,可以使存储结构优化,使系统具有很好的实时性;对DCT变换进行优化,可以减少对FPGA资源的占用,有良好的性价比;对图像进行不同压缩比的压缩,对感兴趣区域进行压缩比较小的压缩,而对不感兴趣的背景区域则进行压缩比较大的压缩,这样可以在保证压缩比的同时对感兴趣区域的信息做较好的保留。系统不需要嵌入任何软核处理器或硬核处理器且占用资源少,使系统可以通过低端FPGA芯片进行构建,性价比高,有很强的可移植性。[0008]本实用新型解决其技术问题所采用的技术方案一种基于FPGA的变压缩比图像压缩系统,其特点是包括图像信号转换模块、图像数据处理模块以及通信模块。图像信号转换模块由摄像头和视频解码芯片组成。图像数据处理模块包括一片FPGA、解码芯片配置模块、图像采集模块、JPEG模块、Huffman控制模块、Huffman编码模块以及数据发送模块。所述Huffman控制模块给Huffman编码模块一个控制信息,控制Huffman编码模块。解码芯片配置模块对视频解码芯片进行初始化,图像采集模块接收摄像头经过视频解码芯片处理后的输入信号,图像数据处理模块将传来的有效数据存入与之相连的SRAMl中,采集完一帧图像之后,由Huffman控制模块对对所采集图像进行分析,然后在Huffman控制模块的控制下进行不同压缩比的JPEG压缩,同时把压缩数据存入SRAM2中,数据发送模块将压缩数据通过通信模块传送至上位机。[0009]本实用新型的有益效果是由于图像数据处理模块采用一片FPGA作为核心芯片, 使系统具有高可靠性和小型化的优点;基于FPGA的变压缩比图像压缩系统的图像压缩方法对JPEG算法进行并行化处理,并把中间的计算结果和用到的数据存入FPGA内部存储芯片构成的RAM、ROM和FIFO中,优化了存储结构,使系统具有很好的实时性,在不进行图像分析的情况下能够达到55帧/s的处理速度;对DCT变换进行优化,减少了对FPGA资源的占用,有良好的性价比;对图像进行不同压缩比的压缩,对感兴趣区域进行压缩比较小的压缩,而对不感兴趣的背景区域则进行压缩比较大的压缩,这样在保证压缩比的同时对感兴趣区域的信息做较好的保留。系统不需要嵌入任何软核处理器或硬核处理器且占用资源少,使系统通过低端FPGA芯片进行构建,性价比高,有很强的可移植性。[0010]
以下结合附图和实施例对本实用新型作详细说明。


[0011]图I是本实用新型基于FPGA的变压缩比图像压缩系统的结构图。
具体实施方式
[0012]参照图I。[0013]在本实施例中,FPGA选用Altra公司的具有高性价比的cyclone系列的 EP1C12Q240C6芯片,摄像头采用一块固定焦距的CXD摄像头,视频解码芯片选用Philips公司的SAA7113H芯片,SRAM采用IMX 8位的IS61LV10248芯片。[0014]基于FPGA的变压缩比图像压缩系统,包括图像信号转换模块、图像数据处理模块以及通信模块。图像信号转换模块由摄像头和视频解码芯片组成。图像数据处理模块包括一片FPGA、解码芯片配置模块、图像采集模块、JPEG模块、Huffman控制模块、Huffman编码模块以及数据发送模块。所述Huffman控制模块给Huffman编码模块一个控制信息,控制 Huffman编码模块。解码芯片配置模块对视频解码芯片进行初始化,图像采集模块接收摄像头经过视频解码芯片处理后的输 入信号,图像数据处理模块将传来的有效数据存入与之相连的SRAMl中,采集完一帧图像之后,由Huffman控制模块对对所采集图像进行分析,然后在Huffman控制模块的控制下进行不同压缩比的JPEG压缩,同时把压缩数据存入SRAM2 中,数据发送模块将压缩数据通过通信模块传送至上位机。[0015]把系统放置于实际道路中进行交通图像的采集压缩,Huffman控制模块先对采集的交通图像进行分析,检测道路边沿,对道路信息进行压缩比较小的压缩,而对背景信息进行压缩比较大的压缩,摄像头位置不变的情况下只分析一次,摄像头位置变换后对系统进行复位,重新进行图像分析,进而进行图像压缩。[0016]所述系统的工作流程为上电之后,解码芯片初始化模块对SAA7113H芯片进行初始化,使图像信号转换模块开始工作,图像采集模块采集图像信息并把有效图像数据存入 SRAMl中,Huffman控制模块读取SRAMl中的有效图像数据,进行道路检测,并将道路边沿所在的行列信息送至Huffman编码模块,作为Huffman编码模块选择性编码的依据。然后进行压缩比可变的JPEG图像压缩。[0017]所述图像压缩流程为WriteHead模块取出储存在Head模块(片内ROM)中的JPEG 头文件并写入SRAM2中,之后GET_MCU模块开始从SRAMl中读取MCU(最小的编码单元), MCU_BUFFER是8 X 64字节大小的FPGA片内RAM,定义为双端模式,可以同时进行读写,GET_ MCU模块采集一个MCU同时将这个MCU放入MCU_BUFFER的前4 X 64个地址中,采集完成之后向DCT模块发出一个信号,DCT模块开始读取并处理这4X64个数据,与此同时,GET_MCU 模块继续采集MCU,并把采集的数据放入MCU_BUFFER的后4X 64个地址中,当这个MCU采集完毕后,DCT模块立刻开始处理这4X64个数据,同时GET_MCU继续采集数据,如此反复,实现乒乓时序,避免了流水空闲等待。[0018]所述DCT变换模块包括两个一维DCT模块,每个模块均采用Loeffler快速算法。 第一个一维DCT模块从MCU BUFFER中读取I行8个数据,进行一维DCT变换后存入RAM One 中,8行变换完成后,继续变换并把结果存入RAM One的后64个地址中,与此同时第二个一维DCT模块对RAM One前64个地址的数据进行处理,依次取出I列8个数据进行一维DCT 变换,如此反复。DCT变换矩阵C由64个浮点数组成,在FPGA中进行浮点运算会消耗大量的资源,故进行以下近似处理在进行一维DCT计算的时候先把这些浮点数扩大1024倍并取整,计算结束后再缩小1024倍,这样做的误差很小但是能够节省大量的FPGA资源。为了进一步减少对FPGA资源的消耗,把量化步长改为与标准量化步长最相近的2n,并把量化与 DCT变换相结合,第二个一维DCT变换模块除以1024改为除以(1024X2m),其中2m为量化步长,量化后的数据存入RAM_Two中。[0019]进行完所述二维DCT变换和量化后,zigzag模块在Huffman控制模块的控制下对 RAM_Two中的数据进行zigzag扫描,对道路信息进行完整的zigzag扫描,对背景信息的只扫描按zigzag顺序的前15个AC数据,根据扫描得到的数据,计算Huffman码在huf_code 模块(片内ROM,存放Huffman数据)中的地址,进而从huf_code模块中得到对应的Huffman 码,然后把Huffman码和处理过的扫描数据存入FIFO。FIFO起到了时序缓冲的作用,zigzag 模块是非周期间断的传出数据的,从对一个8X8数据块的处理来看,Byte_f0und模块要快于zigzag模块,但是如果连续几个时钟周期均传出数据,则Byte_found模块不一定能够实时处理这些数据,加入FIFO后能有效的解决这一问题。Byte_found模块从FIFO中取出变字长的Huffman码和处理后的数据并把他们组成字节传递给Write模块,写入片外SRAM2。 然后由数据发送模块控制通信模块将压缩图像输出。整个系统中用到片内RAM的地方均采用乒乓时序,在时序不可预知的地方加入FIFO,使得系统中各个程序模块并行运行,有效避免了流水空闲等待,大大提闻了系统速度。[0020]实现上述Huffman编码使用的信息和遵循的规则为是由Hufcode存放Huffman 编码表。亮度信息的DC编码存放地址为0-11,基址为O ;色度信息的DC编码存放地址为 12-23,基址为12 ;亮度信息的AC编码存放地址为24-274,基址为24 ;色度信息的AC编码存放地址为275-525,基址为275。huf_code模块的数据位宽取为20,其中前16位存放 Huffman编码,后4位存放Huffman码的位数,O表示Huffman编码码长为I位,I表示码长为2位……15表示码长为16位。Huffman数据在ROM中地址的计算公式为[0021]address=基址+连续O的个数(zero_run) X 16+数据绝对值的bit数对道路信息进行DC系数编码和完整的AC系数编码;对背景信息进行DC系数编码,然后进行部分AC 系数编码,此实施例中按zigzag顺序对前16个AC系数进行编码。本实施例在实际道路环境中对1000幅分辨率为720X576的彩色交通图像进行压缩试验,并将压缩结果与源图像传至PC机进行对比。在200MHz的时钟频率下,本实施例能够达到55帧/s的图像处理速度速度。在保证高质量道路信息的情况下平均压缩比为31. 17,消耗FPGA的LE单元数为 7544,消耗FPGA的M4K存储空间为22160bit。
权利要求1.一种基于FPGA的变压缩比图像压缩系统,其特征在于包括图像信号转换模块、图像数据处理模块以及通信模块;图像信号转换模块由摄像头和视频解码芯片组成;图像数据处理模块包括一片FPGA、解码芯片配置模块、图像采集模块、JPEG模块、Huffman控制模块、Huffman编码模块以及数据发送模块;所述Huffman控制模块给Huffman编码模块一个控制信息,控制Huffman编码模块;解码芯片配置模块对视频解码芯片进行初始化,图像采集模块接收摄像头经过视频解码芯片处理后的输入信号,图像数据处理模块将传来的有效数据存入与之相连的SRAMl中,采集完一帧图像之后,由Huffman控制模块对对所采集图像进行分析,然后在Huffman控制模块的控制下进行不同压缩比的JPEG压缩,同时把压缩数据存入SRAM2中,数据发送模块将压缩数据通过通信模块传送至上位机。
2.根据权利要求I所述基于FPGA的变压缩比图像压缩系统,其特征在于所述FPGA是 EP1C12Q240C6 芯片。
3.根据权利要求I所述基于FPGA的变压缩比图像压缩系统,其特征在于所述视频解码芯片是SAA7113H芯片。
4.根据权利要求I所述基于FPGA的变压缩比图像压缩系统,其特征在于所述SRAM采用 IMX8 位的 IS61LV10248 芯片。
专利摘要本实用新型公开了一种基于FPGA的变压缩比图像压缩系统,用于解决现有的图像处理系统资源消耗大、可移植性差的技术问题。技术方案是该系统包括图像信号转换模块、图像数据处理模块以及通信模块;图像信号转换模块由摄像头和视频解码芯片组成;图像数据处理模块包括一片FPGA和外围电路;图像采集模块接收摄像头经过视频解码芯片处理后的输入信号,图像数据处理模块将传来的有效数据存入与之相连的SRAM1中,采集完一帧图像之后,在Huffman控制模块的控制下进行不同压缩比的JPEG压缩,同时把压缩数据存入SRAM2中,数据发送模块将压缩数据通过通信模块传送至上位机。该系统通过低端FPGA芯片进行构建,占用资源少、可移植性好。
文档编号H04N7/26GK202750182SQ201220250739
公开日2013年2月20日 申请日期2012年5月31日 优先权日2012年5月31日
发明者史忠科, 刘通 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1