运行时可重构的嵌入式安全实时图像压缩系统的制作方法

文档序号:7887012阅读:313来源:国知局
专利名称:运行时可重构的嵌入式安全实时图像压缩系统的制作方法
技术领域
本发明涉及一种运行时可重构的嵌入式安全实时图像压缩系统。
背景技术
随着多媒体技术和网络通信技术的飞速发展,特别是近年来物联网的发展,极大地促进了人们对实时图像和视频信息的需求。传统实时图像及视频的传输主要采用有线的方式,这大大降低了实时图像视频采集设备的移动性和易用性。为解决这个问题,可改用目前正处于快速发展阶段的无线网络,但是无线网络带宽非常有限、安全性较低底,因此必须先解决这些问题,才能使无线网络传输成为可能。对原始图像进行压缩,减少图像大小,无疑是解决带宽问题的一个有效办法。在目前众多图像压缩算法中,又以JPEG最为常用。所谓JPEG,是联合图象专家组(Joint Picture Expert Group)的英文缩写,是一个在国际标准组织(ISO)下从事静态影像压缩标准制定的委员会。该标准具有较高的压缩效率和较低的图像失真,已成为图像压缩领域国际通用的标准之一,与JPEG2000相比,实现复杂度较低,更适合用于资源有限的嵌入式设备中。从技术实现的角度看,目前嵌入式领域主要采用三种方式来实现图像采集压缩。 第一种,采用单独的微控制器(MCU),这种实现方式成本较低,但是MCU运算能力有限,远远无法达到实时要求。第二种采用微控制器+数字信号处理器(DSP)的方式,这种实现一定程度上克服了 MCU运算能力不足的缺陷,但成本大大提高,而且不利于系统的集成。第三种也是最主流的一种,采用专用图像压缩处理芯片(ASIC),但是专用图像处理芯片灵活性较差,编码方式固定,且传输中采用的是标准JPEG文件交换格式(JFIF),不仅不安全,而且每幅图像都包含大量相同的文件头信息,占用了宝贵的带宽资源。

发明内容
本发明的目的就是为弥补现有技术的不足,本发明提出了一种运行时可重构的嵌入式安全实时图像压缩系统,它适用于采用无线传输的实时图像采集处理的应用环境中, 例如无线监控。整套系统基于ARM和FPGA平台,ARM作为核心控制单元,提供与无线模块的通信接口,负责与上位机通信,接收从上位机传输的加密的部分可重构配置文件并发送压缩好的图像数据到上位机;另外管理重构过程,解密部分可重构配置文件并控制进行FPGA 的重构。FPGA作为JPEG图像压缩加速器,通过并行处理、流水线技术来加速图像压缩过程。 并且通过运行时可重构技术,动态改变量化模块和Huffman编码模块,增强了安全性。为实现上述目的,本发明采用如下技术方案
一种运行时可重构的嵌入式安全实时图像压缩系统,它包括图像采集模块、数据处理模块、无线通信模块和供电模块;其中,图像采集模块负责采集原始图像并暂存图像;数据处理模块从图像采集模块中获得原始图像数据并进行压缩编码,控制压缩后的码流输出到CN 102547288 A无线通信模块;无线通信模块负责数据的收发;供电模块则负责为各相应模块提供所需电源。所述图像采集模块主要包含两部分第一是图像传感芯片及镜头,图像传感芯片输出格式为RAW RGB、RGB、YUV或者YCrCb ;第二是图像存储缓冲设备,为FIFO、SRAM或 SDRAM存储设备。所述的无线通信模块主要用来接收上位机加密的可重构量化模块和熵编码模块的配置文件,并发送压缩好的图像数据;采用3G模块、433MHz无线模块或2. 4GHz无线模块。所述数据处理模块主要包含微控制器和FPGA两部分,采用微控制器芯片和FPGA 芯片,其中微控制器芯片通过GPIO 口与FPGA芯片相连,其中部分端口连接到FPGA芯片的 JTAG编程接口 ;FPGA芯片与图像存储缓冲设备的数据输出端口及控制端口相连;微控制器芯片运行用于控制的协议栈,FPGA芯片则是图像压缩的核心,其上是可重构的JPEG编码模块,用来加速图像压缩过程。所述的协议栈包括四层,抽象层、控制层、状态描述层和应用层。所述的抽象层主要是为在不同平台间移植而设计,主要包含两部分第一部分,传统的硬件抽象层,即微控制器芯片、无线通信模块及图像采集模块;第二部分,可重构硬件抽象层,其主要由3部分构成
1)部分可重构系统的架构及FPGA描述,包括FPGA芯片供应商、芯片型号、可提供的资
源;
2)可重构配置文件库,主要包含初始化和采用默认图像压缩方式时所需的部分重构配置文件及全局配置文件;
3)FPGA编程器,主要用来控制对FPGA芯片进行编程。所述的控制层主要是根据已知条件控制重构、数据收发,它负责决定是否可以重构,在不适合重构或重构失败时采取的措施;其主要包含四部分内容
1)无线收发模块控制,主要控制接收上位机传来的加密的可重构量化模块和熵编码模块的配置文件及发送压缩后的图像数据;在需要重构时,它从无线模块接收重构配置信息, 并缓存在内存供解密模块使用;在图像压缩完成后,它控制从FPGA芯片中读取数据并控制无线模块发送;
2)解密模块,该模块主要用来解密收到的重构配置信息;
3)图像存储缓冲流量控制,因为图像采集模块不停的向缓冲中写数据,为防止数据覆盖,需要进行流量控制;当一幅完整的图像写到缓冲中后,在压缩模块读完数据之前,微控制器芯片将会暂时禁止写时钟信号,等到读取完毕后,再使能该控制信号,从而允许下一幅图像写入;
4)重构控制,负责判定是否可以重构,如果可以,调用抽象层的编程器进行重构,等待重构完成,并返回重构成功信号;如果不可以或者重构超时,则判断原因,并做相应处理。所述的状态描述层主要用于描述现有资源使用情况和正在执行的任务情况;所述的应用层根据需求和状态描述层信息,调用底层服务,完成图像实时采集、压缩和传输任务。所述的可重构的JPEG编码模块是指将JPEG基本模式的量化模块和熵编码模块设计为部分可重构模块方式,其他模块则采用静态模块方式,即分别为顶层模块设计,静态模块设计和可重构模块设计
顶层模块主要采用黑盒例化,并负责模块之间连接,模块间采用Bus Macros通信; 静态模块包括2DDCT模块,Zigzag扫描模块,预编解码模块和组装模块;2DDCT模块负责完成二维离散余弦变换;Zigzag模块主要用来完成之字形扫描,改变交流数据的输出顺序;预编解码模块主要完成对直流系数的差分编码和对交流系数的游程编码,并预解码为带标志位的中间编码格式,为后面的熵编码做准备;组装模块负责将不定长熵编码数据流组装成定长的数据,并输出;
可重构模块包含量化模块和熵编码模块,量化模块负责对之字形扫描后的数据按照量化表进行量化,并将量化后的结果输出给预编解码模块;该模块利用Bus Macros从固定区域的Zigzag模块读取数据,并将数据输出到固定区域的预编解码模块;熵编码模块负责对预编解码后的数据进行熵编码,并将熵编码后的结果输出到组装模块组装;因此同样需要 Bus Macros与固定区域的相应模块通信。一种运行时可重构的嵌入式安全实时图像压缩系统的工作方法,它的工作过程为
1)系统初始化;
2)判断是否需要采集并压缩图像;若否,则进入低功耗运行模式,等待中断发生,在中断唤醒时继续判断;若是,则转入下一步;
3)判断压缩模块是否需要重构;若否,转入步骤7);若是,则判断部分重构配置文件是否在本地,若否则转入步骤4),若是则转入步骤6);
4)微控制器控制从上位机接收加密的部分可重构配置文件;
5)微控制器解密获得部分可重构配置文件;
6)微控制器控制完成部分重构;
7)采集图像并压缩;
8)通过无线模块发送给上位机。本发明的有益效果是整套系统基于ARM和FPGA平台。其中ARM作为核心控制单元,用于综合控制系统的正确运行。FPGA作为核心编码器件,采用运行时可重构技术,在加速的同时,也保证了安全性。


图1本发明的系统架构框图; 图2本发明的协议栈组成图3本发明的可重构编码模块框图; 图4系统工作流程图。
具体实施例方式下面结合附图与实施例对本发明做进一步说明。如图1所示,本实施例包括图像采集模块、数据处理模块、无线通信模块和供电模块。其中,图像采集模块负责采集原始图像暂存图像;数据处理模块从图像采集模块中获得原始图像数据并进行压缩编码,控制压缩后的码流输出到无线通信模块;无线通信模块负责数据的收发;供电模块则负责为各相应模块提供所需电源。所述的图像采集设备主要包含两部分第一是图像传感芯片及镜头,传感芯片输出格式可以为RAW RGB、RGB、YUV或者YCrCb。本实施例中图像传感芯片选用OmniVision 的0V7670,输出模式选择YUV422。第二是图像存储缓冲设备,可以采用FIFO、SRAM、SDRAM 等存储设备。本实施例选择Averlogic的AL422芯片,大小为3M位的FIFO,通过并行总线与FPGA连接。所述的无线通信模块主要用来接收上位机加密的可重构量化模块和熵编码模块的配置文件,并发送压缩好的图像数据。可采用3G模块、433MHz无线模块和2. 4GHz无线模块等多种实现方式。本实施例选择西门子的3G模块,通过UART与微控制器连接。所述的供电模块采用5v电源或者电池供电。本实施例选择USB供电,以方便PC 机直接供电。所述的数据处理模块是该系统的核心,主要包含微控制器和FPGA两部分。考虑嵌入式设备的低成本和低功耗特性,可选用低端的微控制器芯片和FPGA芯片。本实施例选择意法半导体公司的低成本微控制器STM32F103和Xilinx公司的低端FPGA芯片Spartan 3E 系列的XC3S500E,STM32F103通过GPIO 口与XC3S500E相连,其中部分端口连接到XC3S500E 的JTAG编程接口。STM32F103是系统控制的核心,其上运行用于控制的协议栈。如图2所示,包括四层,抽象层、控制层、状态描述层和应用层。所述的抽象层主要是为在不同平台间移植而设计。本实施例中,传统硬件抽象层主要包含STM32F103的部分外设驱动和控制上电初始化、基本的3G模块收发数据命令;可重构硬件抽象层包括一个对)(C3S500E描述的结构体、采用CCITD推荐的量化表和Huffman 表对应的量化模块和熵编码模块的部分可重构配置文件和用于配置FPGA芯片的JTAG控制
ο所述的控制层主要作用是根据已知条件控制重构、数据收发等,它负责决定是否可以重构,在不适合重构或重构失败时采取的措施等。本实施例包含四部分内容
1)与3G模块通信,通过UART从3G模块接收加密的部分可重构配置文件并保存到内存或者发送压缩好的图像数据。2)解密模块。加密算法多种多样,考虑STM32F103的运算能力,本实施例选用3DES 加密算法,由于解密的只是部分可重构配置文件,文件较小,使得解密成为可能。3)图像存储缓冲流量控制。本实例中图像传感芯片0V7670配置为30fps的VGA 输出模式,压缩模块能够处理所有输出图像,因此不需要复杂流量控制,本实施例将其简化为重置AL422的写指针。4)重构控制。本实施例中通过调用抽象层的JTAG控制器进行FPGA重构,并返回重构成功或失败信号。所述的状态描述层主要用于描述现有资源使用情况和正在执行的任务情况。本实施例中定义了两个数据结构体描述目前可提供的资源和系统目前的任务状态,并定义了相应函数用于改变上述结构体。所述的应用层根据需求和状态描述层信息,调用底层服务,完成图像实时采集、压缩和传输任务。本实施例中应用层流程如图4所示,在无任务时,控制系统转到休眠状态, 以节省能量消耗。在需要采集压缩图像时,则判断是否需要重构,如果不需要,则直接开始图像采集压缩。如果需要,则判断重构配置文件是否在本地库中,如果在,则调用重构控制模块完成重构,然后就可以开始图像的采集压缩。如果不在,则从上位机接收加密的重构配置文件,并解密暂存于本地存储器中,然后就可以调用重构控制模块完成重构。)(C3S500E是图像压缩的核心,其上是可重构的JPEG编码模块,用来加速图像压缩过程。所述的可重构JPEG编码模块是指将JPEG基本模式的量化模块和熵编码模块设计为部分可重构方式,其他模块则采用静态模块方式。如图3所示。本实施例采用top-down设计方法,分别为顶层模块设计、静态模块设计和可重构模块设计。顶层模块主要采用黑盒例化,并负责模块之间的连接。静态子模块包括2DDCT模块,Zigzag扫描模块,预编解码模块和组装模块。2DDCT 模块。负责完成二维离散余弦变换。Zigzag模块主要用来完成之字形扫描,改变交流数据的输出顺序。预编解码模块主要完成对直流系数的差分编码和对交流系数的游程编码,并预解码为带标志位的中间编码格式,为后面的熵编码做准备。组装模块负责将不定长熵编码数据流组装成定长的数据,并输出。可重构模块包含量化模块和熵编码模块。量化模块负责对之字形扫描后的数据按照量化表进行量化,并将量化后的结果输出给预编解码模块。因此该模块需要Bus Macros 从固定区域的Zigzag模块读取数据,并将数据输出到固定区域的预编解码模块。熵编码模块负责对预编解码后的数据进行熵编码,并将熵编码后的结果输出到组装模块组装。因此同样需要Bus Macros与固定区域的相应模块通信。在规划阶段,通过用户约束文件定义可重构区域。本实施例中每个可重构区域占四列CLB,并放置模块间通信所需的Bus Macros。综上,本实施例实现了可重构的JPEG基本模式编码器。本实施例在STM32F103采用72MHZ主频运行、XC3S500E采用50MHZ时钟输入下, 可以达到采集压缩640*480的图像80帧/秒的实时采集压缩速度,而且通过部分可重构实现了动态量化表和huffman编码表,大大增强了安全性。另外所用芯片均为低端芯片,价格便宜,成本低廉。
权利要求
1.一种运行时可重构的嵌入式安全实时图像压缩系统,其特征是,它包括图像采集模块、数据处理模块、无线通信模块和供电模块;其中,图像采集模块负责采集原始图像暂存图像;数据处理模块从图像采集模块中获得原始图像数据并进行压缩编码,控制压缩后的码流输出无线通信模块;无线通信模块负责数据的收发;供电模块则负责为各相应模块提供所需电源。
2.如权利要求1所述的运行时可重构的嵌入式安全实时图像压缩系统,其特征是,所述图像采集模块主要包含两部分第一是图像传感芯片及镜头,图像传感芯片输出格式为 RAW RGB、RGB、YUV或者YCrCb ;第二是图像存储缓冲设备,为FIF0、SRAM或SDRAM存储设备。
3.如权利要求1所述的运行时可重构的嵌入式安全实时图像压缩系统,其特征是,所述的无线通信模块主要用来接收上位机加密的可重构量化模块和熵编码模块的配置文件, 并发送压缩好的图像数据;采用3G模块、433MHz无线模块或2. 4GHz无线模块。
4.如权利要求1所述的运行时可重构的嵌入式安全实时图像压缩系统,其特征是,所述数据处理模块主要包含微控制器和FPGA两部分,采用微控制器芯片和FPGA芯片,其中微控制器芯片通过GPIO 口与FPGA芯片相连,其中部分端口连接到FPGA芯片的JTAG编程接口 ;FPGA芯片与图像存储缓冲设备的数据输出端口及控制端口相连;微控制器芯片运行用于控制的协议栈,FPGA芯片则是图像压缩的核心,其上是可重构的JPEG编码模块,用来加速图像压缩过程。
5.如权利要求4所述的运行时可重构的嵌入式安全实时图像压缩系统,其特征是,所述的协议栈包括四层,抽象层、控制层、状态描述层和应用层。
6.如权利要求5所述的运行时可重构的嵌入式安全实时图像压缩系统,其特征是,所述的抽象层主要是为在不同平台间移植而设计,主要包含两部分第一部分,传统的硬件抽象层,即微控制器芯片、无线通信模块及图像采集模块;第二部分,可重构硬件抽象层,其主要由3部分构成1)部分可重构系统的架构及FPGA描述,包括FPGA芯片供应商、芯片型号、可提供的资源;2)可重构配置文件库,主要包含初始化和采用默认图像压缩方式时所需的部分重构配置文件及全局配置文件;3)FPGA编程器,主要用来控制对FPGA芯片进行编程。
7.如权利要求5所述的运行时可重构的嵌入式安全实时图像压缩系统,其特征是,所述的控制层主要是根据已知条件控制重构、数据收发,它负责决定是否可以重构,在不适合重构或重构失败时采取的措施;其主要包含四部分内容1)无线收发模块控制,主要控制接收上位机传来的加密的可重构量化模块和熵编码模块的配置文件及发送压缩后的图像数据;在需要重构时,它从无线模块接收重构配置信息, 并缓存在内存供解密模块使用;在图像压缩完成后,它控制从FPGA芯片中读取数据并控制无线模块发送;2)解密模块,该模块主要用来解密收到的重构配置信息;3)图像存储缓冲流量控制,因为图像采集模块不停的向缓冲中写数据,为防止数据覆盖,需要进行流量控制;当一幅完整的图像写到缓冲中后,在压缩模块读完数据之前,微控制器芯片将会暂时禁止写时钟信号,等到读取完毕后,再使能该控制信号,从而允许下一幅图像写入;4)重构控制,负责判定是否可以重构,如果可以,调用抽象层的编程器进行重构,等待重构完成,并返回重构成功信号;如果不可以或者重构超时,则判断原因,并做相应处理。
8.如权利要求5所述的运行时可重构的嵌入式安全实时图像压缩系统,其特征是,所述的状态描述层主要用于描述现有资源使用情况和正在执行的任务情况;所述的应用层根据需求和状态描述层信息,调用底层服务,完成图像实时采集、压缩和传输任务。
9.如权利要求4所述的运行时可重构的嵌入式安全实时图像压缩系统,其特征是,所述的可重构的JPEG编码模块是指将JPEG基本模式的量化模块和熵编码模块设计为部分可重构模块方式,其他模块则采用静态模块方式,即分别为顶层模块设计,静态模块设计和可重构模块设计顶层模块主要采用黑盒例化,并负责模块之间的连接,模块间采用Bus Macros通信;静态模块包括2DDCT模块,Zigzag扫描模块,预编解码模块和组装模块;2DDCT模块负责完成二维离散余弦变换;Zigzag模块主要用来完成之字形扫描,改变交流数据的输出顺序;预编解码模块主要完成对直流系数的差分编码和对交流系数的游程编码,并预解码为带标志位的中间编码格式,为后面的熵编码做准备;组装模块负责将不定长熵编码数据流组装成定长的数据,并输出;可重构模块包含量化模块和熵编码模块,量化模块负责对之字形扫描后的数据按照量化表进行量化,并将量化后的结果输出给预编解码模块;该模块利用Bus Macros从固定区域的Zigzag模块读取数据,并将数据输出到固定区域的预编解码模块;熵编码模块负责对预编解码后的数据进行熵编码,并将熵编码后的结果输出到组装模块进行组装;因此同样需要Bus Macros与固定区域的相应模块通信。
10.一种采用权利1-9任一所述的运行时可重构的嵌入式安全实时图像压缩系统的工作方法,其特征是,它的工作过程为1)系统初始化;2)判断是否需要采集并压缩图像;若否,则进入低功耗运行模式,等待中断发生,在中断唤醒时继续判断;若是,则转入下一步;3)判断压缩模块是否需要重构;若否,转入步骤7);若是,则判断部分重构配置文件是否在本地,若否则转入步骤4),若是则转入步骤6);4)微控制器控制从上位机接收加密的部分可重构配置文件;5)微控制器解密获得部分可重构配置文件;6)微控制器控制完成部分重构;7)采集图像并压缩;8)通过无线模块发送给上位机。
全文摘要
本发明公开了一种运行时可重构的嵌入式安全实时图像压缩系统及方法,图像采集模块负责采集原始图像并暂存图像;数据处理模块从图像采集模块中获得原始图像数据并进行压缩编码,控制压缩后的码流输出到无线通信模块;无线通信模块负责数据的收发;供电模块则负责为各相应模块提供所需电源。本发明中ARM作为核心控制单元,负责与上位机通信,接收从上位机传输的加密的部分可重构配置文件并发送压缩好的图像数据到上位机;管理重构过程,解密部分可重构配置文件并控制进行FPGA的重构。FPGA作为JPEG图像压缩加速器,通过并行处理、流水线技术来加速图像压缩过程,并且通过运行时可重构技术,动态改变量化模块和Huffman编码模块,增强了安全性。
文档编号H04N7/26GK102547288SQ20121000756
公开日2012年7月4日 申请日期2012年1月11日 优先权日2012年1月11日
发明者刘福财, 贾智平 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1