机载图像压缩存储系统设计与实现

来源:互联网 发布:娱乐赌博软件下载 编辑:程序博客网 时间:2024/05/16 20:30

  机载图像压缩存储系统设计与实现

 摘要  针对机载测绘的特定需求,使用FPGAARM处理器实现了一个高效实时SPIHT压缩与存储系统,该系统具有压缩性能高、抗误码能力强、压缩比在线可调等特点,可以对机载测绘图像进行实时压缩和存储。本系统已成功应用于某机载测绘项目。

主题词  图像压缩  小波变换  FPGA  ARM  CF

1       引 言

随着航空测绘技术的不断发展,对图像分辨率的要求越来越高,数据量越来越大,因而也就给测绘图像的实时传输带来了一定的困难。因此,对测绘图像进行大压缩比高效压缩成为一个极需解决的问题。基于双正交小波变换的SPIHT图像压缩方法具有压缩性能高、码率精确的特点,同时可以保证目标的形状和位置不发生变化,非常适合测绘应用。本文基于FPGAARM处理器实现了一个高效实时SPIHT压缩与存储系统,并成功应用于某机载测绘项目。本系统设计也可广泛应用于普通电子产品、交通管制和卫星遥感等领域。

2 系统软硬件设计

2.1 基于FPGA的系统结构设计

系统采用XILINX公司产品xc2vp40芯片作为主控单元。它采用业界领先高效优化的0.13um CMOS 9层全铜大量密度设计工艺,并继续沿用成熟的Virtex-II架构,非常适合高性能信号处理和系统控制,本文以该芯片为核心完成图像压缩及存储和传输。本系统的整体框架如下图所示:

       

    1    高效图像压缩系统整体框架

原始图像数据由CCD相机产生,前端SDRAM控制模块首先按照固定时间间隔抽取相机拍摄的图像并缓存前端SDRAM,之后将图像传送给压缩模块进行实时压缩编码;压缩码流和GPS信息合成打包并在后端SDRAM缓存后,在ARM的控制下送入CF卡存储或经RS-485通道送出。

对于压缩模块,由于9/7小波相对5/3小波具有更高的能量集中能力,能够得到更高的图像峰值信噪比[1],故本文采用了9/7小波提升算法,其计算公式为:

 

 

 

 

 


其中,常量α ≈ -1.586134342β ≈ -0.05298011854γ ≈ 0.8829110762δ ≈ 0.4435068522

Κ ≈ 1.149604398,系数(2n)(2n+1)分别代表像素所在图像的偶、奇数行() 代表边界延拓后的值。

2是压缩模块的基本构成,vsyn是帧同步信号,高电平为正程有效期,低电平为逆程无效期,正程有效期固定包含一帧图像数据(4096×4096×8bit)href是行同步信号,高电平为正程有效期,低电平为逆程无效期,正程有效期固定且出现在vsyn正程内,包含一行有效数据4096个时钟,在vsyn正程内的href逆程也固定,包含128个时钟。

                             2 压缩模块的构成

压缩模块以4096×256分辨率为基本压缩单元。首先进行离散小波变换,采用基于行的9/7提升小波,可以仅利用两片SRAM完成四级小波变换。然后,小波系数以特定的顺序从SRAM中读出,提供给SPIHT编码模块。SPIHT编码器由重要性扫描模块(Significance Scan)和量化编码模块(Code Bit)组成,其中重要性扫描模块负责从生成树数据得到标志位图以及相互之间的继承关系,该模块是整个编码器的核心;量化编码模块根据重要性扫描得到的信息采用真值表得到最终的编码码流,每个平面产生的码流存储到相应的缓存中以供外部读出。SPIHT编码实现对小波系数的编码输出,同样利用2SRAM缓存码流数据。为了提高系统的抗误码能力,对码流数据进行信道编码,采用(255,243)RS编码,即一个编码单元由255字节构成,其中243字节为信息位,12字节校验位,可以纠正255字节中的6个字节错误。

数据合成及打包模块负责将压缩图像数据加入GPS信息和其它打包信息。具体包括引导数据包、图像数据包和GPS辅助信息包。

命令控制模块负责接收通过RS-422接口发送过来的压缩,传输,重传,自测,测试图像输出等命令以及GPS信息,并分发给相应的模块。

后端SDRAM模块负责缓存打包后的压缩数据,并根据传输和重传命令输出给接口控制模块。

接口控制模块主要包括CF卡接口模块、RS-485接口模块、ARM接口模块。CF卡接口模块负责完成LPC2292读写CF卡的时序转换。ARM接口模块负责完成LPC2292FPGA的控制信号握手。RS-485接口模块负责将后端SDRAM输出并行数据转换为串行数据并以固定速率经无线信道传回地面控制中心。

2.2 ARM主控CF卡实现

LPC2292是基于一个支持实时仿真和跟踪的16/32ARM7TDMI-S CPU的微控制器[2],它采用冯·诺依曼结构、三级流水线设计。主要有以下特点:

256 KB高速片内Flash存储器和16 KB片内SRAM

128位宽度的存储器接口和独有的加速结构能使32位代码在最快时钟频率下工作;

片内boot装载程序实现ISPIAP为数据存储和固件升级带来了极大的灵活性;

④ 片内Flash加密技术;

外部存储器接口可将存储器配置成4组,每组容量高达16 Mb数据宽度8/16/32位;

嵌入式跟踪宏单元ETM支持对执行代码进行无干扰的高速实时跟踪。

⑦ 通过片内PLL可实现最大为60 MHzCPU操作频率。

     

  3  CFTrue IDE模式的管脚配置                  4  ARM软件实现存储流程图

本系统采用11.0592 MHz晶振,四倍升频,工作于44.2368 MHz。采用8GB CF卡作为存储介质。CF卡有三种基本传输模式:PC-ATA I/O模式,PC-ATA Memory存储器模式和True IDE模式[3]。其中True IDE模式与磁盘驱动器兼容。由于True IDE模式下所需连线较少且符合ATA-4(Advanced Technology Attachment,高级技术连接) 标准,故采用该模式,设置CF卡为True IDE模式仅需在上电时将ATASEL/OE引脚接地即可,该模式又可分为PIO(Programmed I/O,可编程I/O)模式,Multiword DMA(Multiword Direct Memory Access,多字直接存储器访问)模式和Ultra DMA(Ultra Direct Memory Access,超级直接存储器访问)模式[3]。考虑到实现复杂度及设备支持情况,采用PIO模式。管脚配置如图3所示,图中电阻均为10 K欧姆。在True IDE模式下对于CF卡的操作实际上是配置任务寄存器和读写数据寄存器的过程。

CF卡内部存储空间采用扇区管理,每扇区512字节。由于系统使用的相机分辨率一定,不同压缩比对应的压缩码流大小是提前可以算出的。在系统上电工作时,FPGA将压缩倍数等信号传递给LPC2292ARM接收到此信号就可以从指定的扇区上开始存储码流。LPC2292内部的16KB SRAM用于缓存整幅图像远不能满足要求,并且考虑FPGA可以压缩6倍和8倍两种格式,使得每个压缩码流文件大小不固定,为此图像压缩码流逐扇区写入CF存储,没有使用FAT等文件系统。按扇区操作时,若CF卡存在坏区,最多损坏几张图片,不会影响其他码流的正确性,因而软件设计没有将其考虑。SRAM中使用3个扇区作为缓冲区,分别缓冲CF卡的BPB(BIOS Parameter BlockBIOS参数块)关键数据、拍摄任务数据和压缩码流。这样可以提高系统数据的传输速率和降低CF卡的访问频率。FPGA产生的压缩码流通过内部开辟的FIFO完成与LPC2292的数据传送。

LPC2292主要使用C语言和汇编语言在RVDS3.0环境中进行编程,对CF卡操作流程如图4所示。为了保证ARM接收FPGA的压缩倍数信号准确无误,采用反馈机制,在ARM接收到此信号后立即向FPGA确认此信号,得到确认后才可以继续下面的工作。由于存储时没有文件系统,在将压缩码流进行解压缩之前需要进行组文件工作,软件程序按FAT32格式编写,将压缩码流存成有规律的文件形式。

3       测试结果

测试参数:图像分辨率:4096(H)×4096(V);小波:9/7;小波级数:4;码率:1bpp1.33bpp

                       

               (a) city                               (b) city_1                            (c) city_1.33

                            

              (d) river                               (e) river_1                          (f) river_1.33

                                     5  原始图像重建图像

     5(a)(d)是原始图像,(b)(e)8倍压缩重建图像,(c)(f)6倍压缩重建图像,可以看出重建图像视觉效果良好。由于图像复杂度和图像分辨率较高,PSNR值略低,如表1所示。我们的SPIHT算法采用无链表实现,占用内存少,易于硬件实现,压缩速度非常快,上述图像6倍或8倍压缩均在几百毫秒内完成,具有很好的实用价值。

                                       1  测试参数与结果

图像名称

码率 = 1.0 bpp

码率 = 1.33 bpp

MSE/dB

PSNR/dB

MSE/dB

PSNR/dB

city

87.29

28.72

56.98

30.57

river

53.27

30.87

35.44

32.64

本系统6倍压缩时,每帧图像存储时间约为5.7秒;8倍压缩时,每帧图像存储时间约为4.3。采用8GB CF卡存储,8倍压缩时,若每隔5 ~10秒抽样处理相机拍摄的图像,可存储近4 ~ 8小时的拍摄任务量,完全满足测绘的要求。

4       结论

本文提出的基于FPGA+ARM静止图像压缩与存储结构,为设计中如何处理软硬件的关系提供了一个良好的解决方案。本结构与传统的基于DSP数据处理结构相比提高了系统处理速度并且通过加入RS码获得了很好的抗误码能力,输入时钟频率稳定在60 MHz。本系统除了可用于卫星遥感和航空测绘,在普通电子产品中也有良好的应用前景。

                             参考文献

1  胡栋,静止图像编码的基本方法与国际标准.北京:北京邮电大学出版社,2003

2  周立功,ARM嵌入式系统基础教程. 北京:北京航空航天大学出版社,2005

3  CF AssociationCF+ and CompactFlash Spec. Rev3.0. CF Association2004

 

 

 Design and realization of image compression and storage

              for aircraft-borne system

Abstract In view of the specific demands of aircraft-borne geodetic engineering , this paper achieved an efficient real-time SPIHT compression and storage system based on FPGA and ARM processor. The system has characteristics of high compression performance , good anti-error code ability and adjustable compression ratio ,which could carry on real-time compression and storage.The system has been successfully used in some geodetic engineering of the country.

key wordsimage compression  wavelet transforms  FPGA  LPC2292  the CF card

 

原创粉丝点击