文献标识码: A
文章编号: 0258-7998(2011)12-0044-03
目前有很多常用的压缩算法,其中JPEG2000图像压缩标准可以在获得高压缩比的同时确保高图像质量,另外还具有非常好的抗误码性能,在大面阵CCD相机图像压缩领域得到了广泛的应用。JPEG2000压缩的实现方法有多种,通常采用专用DSP芯片和FPGA芯片编程实现[1-3],两者分别利用各自的优点完成不同的功能。其中,专用DSP主要完成DWT变换等高速整型和浮点型运算功能,FPGA主要完成EBCOT等高效并行编码算法功能[4-5],但这种实现方法JPEG2000需要处理的数据量比较大,还需要外扩SRAM等大容量数据存储器,从而使系统的集成度降低,而且其实时性受编程方法所制约。同时,目前大面阵CCD相机的成像和图像压缩存储是两个独立的部分,中间连接包括复杂的接口和繁重的线缆,增加了相机的复杂度和重量。
本文提出了一种基于FPGA嵌入式处理器MicroBlaze和ADV212压缩芯片相结合的高速、实时图像压缩系统[6-7],系统中图像采集和图像压缩等功能均由同一个核心处理器FPGA来完成,使系统的处理速度和集成度都有所提高。
1 大面阵CCD相机高速图像压缩系统组成
本系统以Analog公司生产的AD212作为图像压缩芯片,采用内有嵌入式处理器的高性能FPGA作为核心处理器,完成大面阵CCD模拟信号处理、视频信号采集、图像数据缓存、ADV212初始化、固件程序和参数注入、数字图像传输等功能。考虑到卫星平台对系统稳定性的要求,系统应用FPGA和专用图像压缩集成芯片ADV212的高速、实时图像压缩方案,将压缩后数据流送给图像采集卡,由上位机对图像压缩性能进行分析。该方法实时性强,硬件接口电路设计简单[8-10],其系统组成框图如图1所示。
2 FPGA嵌入式处理器设计
Microblaze是Xilinx公司推出的32 bit软处理器核,支持CoreConnect总线的标准外设集合,具有兼容性和重复利用性。Microblaze在VirtexⅡPro FPGA中的工作频率可达到200 MHz,处理速度超过166 MIPS,是用途广泛的CPU软核。作为完整的CPU软核,Microblaze允许用户根据需要进行配置。了解Microblaze结构不但有助于用户了解配置,还可以辅助分析Microblaze应用软件的效率。
FPGA片外晶振为50 MHz,Microblaze软核主频为100 MHz,使用片外低复位,支持硬件调试方式,并使用16 KB片内BlockRAM作为CPU核的数据和指令暂存,同时还包括看门狗和定时器等基本外设。添加完硬件后,系统自动生成每个硬件模块的地址范围,如图2所示。
dlmb_cntlr和ilmb_cntlr作为CPU核的数据和指令暂存,分配16 KB空间。Opb_central_dma_0作为读取ADV212压缩数据流的DMA控制器,Generic_External_Memory_1和Generic_External_Memory作为访问SDRAM控制器的寻址空间。由于SDRAM控制器的SYS_ADDR共25 bit地址,所以这里分配32 MB寻址空间。其他还包括定时器、WDT、调试空间等。
3 压缩处理器设计
JPG2000算法的硬件实现方法有多种,其中Analog Devices公司的ADV212系列性能比较高,实际应用广泛。ADV212完全符合ISO/IEC15444-1标准,内部集成了专用小波变换单元、3个熵编码器、RISC处理器以及多种存储器,内部功能框图如图3所示。
通常情况下,采集的原始图像数据通过VDATA总线输入,像素接口根据帧同步信号VSYNC、行同步信号HSYNC和场同步信号FIELD接收数据,并传送给小波变换模块,经小波变换后的小波系数被存储到内部存储器中。从内部存储器读出的小波系数被送进3个熵编码器进行并行处理,处理过程包括量化、率失真控制、上下文编码和码流组织等,并将最后的码流送回内部存储器。编码后的JPEG2000码流通过高速数据总线送给编码FIFO,编码FIFO 用来解决内部高速总线和低速主机接口之间的冲突。最后的JPEG2000码流通过HDATA总线结合DREQ和DACK输出。
4 实验及结果分析
本文在不同的压缩码流速率条件下,对大面阵CCD图像进行实时压缩,调试过程中,先将压缩后的数据流传送到上位机,由上位机专用解压缩软件进行解压,查看测试图像和文件格式是否正确。如果正确,则说明图像压缩过程正常,可进一步把压缩后的数据流交由解压缩部分进行解压。由于图像很大,所以解压缩后截取图中的左上象限进行显示。在压缩比特率为1.5 bit/pixel、0.6 bit/pixel、0.3 bit/pixel和0.15 bit/pixel等几种情况下进行图像压缩,图4和图5分别为压缩比特率为1.5 bit/pixel和0.15 bit/pixel时的压缩结果。其中,压缩比特率为0.15 bit/pixel时,压缩比近似53:1,此时图像已经模糊。
图像压缩性能通常用峰值信噪比PSNR来表示,好的重建图像PSNR值一般为30 dB以上。本文分别对几种不同压缩比特率下得到的压缩图像进行了PSNR计算,结果如表1所示。从表1可以看出,即使在压缩比特率为0.15(压缩比接近53:1)的情况下得到图像的PSNR值也达到了36 dB,可见此图像压缩方案的压缩性能非常好[11-12]。
本文提出了一种基于FPGA嵌入式处理器MicroBlaze和ADV212压缩芯片相结合的高速、实时图像压缩方案。结合大面阵CCD输出的图像数据,详细阐述了ADV212的工作流程、固件程序和参数注入以及视频处理等功能,并介绍了FPGA内部嵌入式处理器MicroBlaze的开发过程。实验表明,当压缩比为53:1时,重建图像的PSNR值可以达到36 dB。此方案不仅提高了处理速度而且增加了系统的集成度,为今后大面阵CCD图像的高速、实时压缩提供了更好的解决方案。
参考文献
[1] 商小川,周辉,张星祥,等.基于FPGA的大面阵CCD高帧频驱动电路设计[J].液晶与显示,2009,24(5):735-739.
[2] 齐春东,陈亮,曾涛.多通道CCD图像数据实时记录系统[J].光电工程,2009,36(12):147-150.
[3] 苏宛新,程灵燕,程飞燕.基于DSP+FPGA的实时视频信号处理系统设计[J].液晶与显示,2010,25(1):145-148.
[4] 张学全,顾晓东,孙辉先.CCSDS星载图像压缩模块的FPGA设计与实现[J].半导体光电,30(6):935-939.
[5] 武文波,王琨,陈大羽,等.CCSDS在遥感图像压缩中的应用研究[J].航天返回与遥感,2010,31(2):46-50.
[6] 郑成林,龚俊斌,刘福学,等.基于ADV202的无人机序列图像压缩系统设计[J].计算机与数字工程,2010,38(11):136-141.
[7] 刘永征,刘学斌,胡炳梁,等.基于ADV212的JPEG2000静态图像压缩系统设计[J].电子器件,2009,32(3):504-508.
[8] 孙红进.FPGA实现的视频图像缩放显示[J].液晶与显示,2010,25(1):130-133.
[9] 张达,徐抒岩.高速多通道CCD信号并行处理系统[J].吉林大学学报:信息科学版,2008,26(3):281-286.
[10] 王明富,杨世洪,吴钦章.大面阵CCD图像实时显示系统的设计[J].光学精密工程,2010,18(9):2053-2059.
[11] 苏令华,李纲,衣同胜.一种稳健的高光谱图像压缩方法[J].光学精密工程,2007,15(10):1609-1615.
[12] 赵峰,袁东风,张海霞.多DSP图像压缩实时并行处理系统[J].光学精密工程,2007,15(9):1451-1455.