一种可重构数据压缩信息处理系统的设计实现
【摘要】本文介绍可重构电子系统相关技术的发展现状,在分析了JPEG2000标准编解码芯片ADV212内部结构和工作原理的基础上,提出了一种可重构的数据压缩信息处理系统设计方案,它结合了FPGA器件的灵活性和专用图像数据编解码芯片的高效性,系统架构上主要运用FPGA资源实现系统重构,即运用可编程逻辑对图像数据压缩芯片ADV212进行寄存器配置、数据码流调度控制以及系统时序逻辑适配。经过图像数据的压缩解压对比测试,该数据压缩信息处理系统具有较高的峰值信噪比(PSNR),在实现了系统可重构同时,能够满足某型高速光通信系统对图像数据压缩实时性和数据完整性的要求。
【关键词】可重构;电子系统;数据压缩;ADV212;FPGA
Abstract:This paper introduces the development status of reconfigurable electronic systems technology,after analyzing on ADV212,a JPEG2000 standard codec ASIC,proposed a design scheme of an reconfigurable image data compression system,it combines the flexibility of FPGA devices and the efficiency of ASIC,it used FPGA resources on system reconfiguration.Tests and experimental results show that the reconfigurable image compression system with higher peak signal to noise ratio(PSNR),it is able to meet a communication system’s requirement on real time and data integrity of image compression.
Key words:reconfigurable;electronic systems;data compression;ADV212;FPGA
1.引言
随着多媒体应用不断发展,图像的传输与处理技术在高速光通信领域的应用越来越普遍。基于发光二极管的海量图像数据通信受到传输时间和信道带宽等因素制约,为突破这类瓶颈更好实现图像等大数据的及时传输处理,图像数据压缩近年来技术研究十分活跃。图像数据运用与通信已是无处不在,对多媒体数据处理、传输的性能要求也较高,使得运用专用集成电路(ASIC)和专用指令处理器(ASIP)进行图像压缩成为业界的主流选择[1],但专用硬件对图像数据压缩等处理过程实时性追求必然导致其使用灵活性受到限制。采用纯软件和嵌入式处理器实现数据压缩信息处理虽然灵活,但压缩处理速度较慢,也不易实现通用的数据压缩信息处理机[2]。随着应用需求扩展和微电子技术进步,一种可重构的电子系统应用已经逐步成熟,它兼顾了硬件的高速性和软件的灵活性,是发光二极管数据通信等领域研发的重要组成部分。本文结合图像数据压缩信号处理单元的技术需求和可重构电子系统的研究现状,提出一种以单片编解码芯片ADV212为核心系统架构,结合FPGA器件的灵活性和专用编解码芯片的高效性,设计实现一种具有功能可重构的、适应JPEG2000协议的数据压缩信息处理系统。
2.可重构电子系统技术研究现状
美国超级计算机研究中心已推出了基于XC3090和XC4010 FPGA阵列的两代SPLASH系统,SPLASH-2已广泛应用于模板匹配、图像处理等领域。Lockheed Sanders公司设计的CHAMP(Configurable Hardware Algorithm Mappable Preprocessor),是一种基于XC4013 FPGA的可配置硬件算法映射系统,用于空间滤波、光谱滤波和背景归一化,已经在新型导弹预警系统中使用。美国Brigham Young大学的一个研究小组把FPGA和DSP结合在一起,构成面向高性能的嵌入式数字信号处理的可重构处理器,是一种面向应用的解决方案,构成DSP-RL(可重构逻辑)结构的处理器。其基本思想是在数字信号处理器中嵌入一块可重构逻辑阵列,常规控制和简单计算由DSP完成,计算量大的任务由可重构阵列完成。英国牛津大学的程序研究小组利用Xilinx4000系列的FPGA对可重构计算进行了卓有成效的研究。他们将FPGA、设计自动化和适应性计算融为一体,提出了一种基于FPGA的可重构处理器思想[3]。美国加州大学伯克利分校的BRASS研究小组开发了将一个MIPS微处理器和细粒度FPGA组合在一起的系统,称为Garp。XPP(eXtreme Processing Platform)结构是PACT公司提出的一种粗粒度实时动态可重构的数据处理技术,其中心思想是用配置流来替代指令流。目前国内对可重构计算进行多方面的研究。西北工业大学航空微电子中心,在国内较早进行了单芯片可重构计算系统的概念验证原型,在一个芯片中集成微处理器核、可编程资源和嵌入式的存储器系统。哈尔滨工业大学在线程计算方面的可重构做过研究[3]。华为公司在程控处理方面提出过自己的专用可重构处理机。
可重构计算的编译技术处于起步阶段,传统的计算系统就是将软件代码下载到RAM中,这样提供了极大的灵活性,同样使用可重构件也是基于RAM的配置代码加载,它不能从软件编译得到,需要有相应的协同编译技术。协同编译包括自动的软件/配置代码划分,决定分割和调度计算的顺序以及哪部门电路需要被改变。在此方面已经有一些研究成果,但还需开发更先进的工具来充分利用新硬件技术的优势。对于2020年及其后的硬件结构,可演化性将成为其一个关键特征[3]。在固定功能的硬件和可演化硬件(Evolvable Hardware,EH)之后,下一代将是可以自我配置和演化的硬件。可演化硬件或可演化方法代表一个新的研究领域,也是FPGA的一个新的应用领域,其动态可重构电路的配置是由演化进程决定的,演化的方法如遗传算法被用来产生及进化出一系列FPGA的配置,最终产生具有所需功能的设计,由此可能产生超出现有模型、技术综合或设计者能力的具有新型功能的电路。它可以看成是控制论和仿生学的复苏,主要推动技术就是现在出现的可重构硬件技术。当今在日本、韩国和美国都出现了越来越多的与可演化硬件相关的研究。
随着社会、经济和信息技术的进步,海量的图像或视频信息数据处理与运用已经延伸到各个领域,另一方面发光二极管数据通信带宽等因素的限制日益突出,图像数据压缩就成为了通信信息处理中重要的技术分支。正因为数据传输处理应用无处不在,图像压缩的技术要求也是多种多样,运用可重构电子系统相关技术实现一种面向多用途的图像数据压缩信息处理,对于实现数据通信处理平台的通用化系列化意义重大。鉴于当前图像数据压缩技术和可重构电子系统发展现状,用可编程逻辑实现全部图像编解码算法不管在开销和效率上均不太具备可行性,而另一方面类似ADV212这种基于JEPG2000协议的图像编解码专用芯片(ASIC)技术在技术成熟度、运算效率和成本等各方面是目前FPGA器件加载的编解码软核所不能比拟的[2],所以面向多用途的图像数据压缩信息处理系统设计实现上兼顾FPGA的灵活性和专用ASIC的高效性是必然的选择。
3.基于ADV212图像数据压缩系统实现
3.1 可重构的图像数据压缩电子系统架构
本文提出的设计方案采用“FPGA+ADV212” 的架构,用硬件电路实现通信系统中图像数据压缩,该可重构电子系统的结构框图如图1所示。核心的图像编解码运算由ASIC芯片ADV212来实现,充分发挥该ASIC的实时性和成熟性,为适应不同的应用需求,运用FPGA器件的灵活性达成电子系统的可重构,FPGA逻辑主要实现对ADV212芯片的配置、整个系统的数据流控制以及系统时序逻辑适配,还配置了电源转换管理模块、高速存储模块、输入输出接口模块、USB控制模块以及显控模块等。该方法具有开发周期短、实时性好、功能扩展和算法升级方便等优点,较好地贯彻了系统可重构的设计思想。
图1 图像数据压缩系统结构框图
3.2 ADV212结构及工作原理
ADV212是AD公司推出的一款单片JPEG2000编解码芯片,是业界具有实时压缩和解压缩标准视频、高清视频的专用芯片,适用于多种视频和静止图像格式。ADV212的内部功能框图如图2所示[4],该芯片主要由像素接口、小波变换引擎、熵编解码器、嵌入式处理器、存储器系统和内部DMA引擎等组成。输入图像和像素数据输入像素接口,采样值则经过隔行扫描传输到小波变换引擎中。在小波引擎中,每个图块或帧将通过5/3或9/7滤波器分解成许多子带。生成的小波系数写入内部寄存器中。熵编解码器将图像数据编码为符合JPEG2000标准的数据。内部DMA引擎提供存储器之间的高带宽传输及各模块和存储器之间的高性能传输。提供的RISC处理器具有每一个程序和数据存储器、中断控制器、标准总线接口及定时器计数器所对应的ROM和RAM。
图2 ADV212内部功能框图
图3 HIPI模式工作下的ADV212配置流程
3.3 ADV212芯片的初始化配置流程及关键寄存器说明
在本系统中,通过FPGA内嵌NIOSII软核实现对JPEG2000压缩芯片ADV212的初始化,初始化的过程包括直接寄存器的配置、间接寄存器的配置以及固件的加载,其中,配置所需的ADV212 RISC固件存储在NIOS II外部存储总线的FLASH芯片上。对于本系统中压缩芯片设置为HIPI模式,其初始化的具体流程如图3所示[5]。系统上电后,先进行上电复位(BOOT=0x008A),然后配置内部锁相环(PLL),至少等待20us锁相环配置成功后,设置No-Boot Host模式(BOOT=0x008A),配置主机接口访问方式(BMODE=0x000A,这里主要设置主机控制数据宽度和DMA数据宽度)和间接寄存器的访问方式(MMODE=0x000A,这里主要设置数据存取位数和间接地址步长大小),然后NIOS II软核将存储在片外FLASH中大小为32KB的固件读出并且写入ADV212中0x57F00~0x57FF0存储空间上,软复位(BOOT=0x008D),重新设置BUSMODE和MMODE,再设置编码参数如图像格式、精度、小波变换级数、小波类型、编码块的大小、压缩比、量化步长、输出码流格式等[4],配置间接寄存器(行列计数器、F0_START、F1_START、V0_START、V1_START、V0_END、V1_END、PIXEL_START、PIXEL_END、PMODE2、VMODE、DMA等),配置完这些寄存器后使能中断,查询固件是否正确加载(SWFLAG=0XFF82),如果固件被正确加载,清标志(EIRQFLAG=0xFFFF)后可进行编码,否则继续查询。
一些重要寄存器的说明如下:
1)PMODE1:配置VDATA或者HDATA总线上的像素格式及精度;
2)XTOT:设置每行的扫描样本数,对于灰度图像,它等于图像宽度;对于YCbCr图像,它等于图像宽度的2倍;对于VDATA工作模式的HVF形式,它至少要有16个行消隐,既要多加16;
3)YTOT:设置每帧的行数,一般等于图像的高度,对于VDATA工作模式的HVF形式,它至少要有6个行消隐,既要多加6;
4)EDMOD0和EDMOD1:设置DMA模式;
5)PMODE2:设置H、V、H以及VCLK的有效沿;
6)VMODE:设置ADV202的视频接口操作模式;
7)FFTHRP、FFTHRC、FFTHRA:设置FIFO门限值;
8)其它F0_START、F1_START、V0_START、V1_START、V0_END、V1_END、PIXEL_START、PIXEL_END参照用户手册[6]。
3.4 运用NIOSⅡ软核实现系统重构
NIOSⅡ是Altera公司开发的32位嵌入在FPGA芯片中的RISC软核处理器,其指令执行速度可达200DMIPS,时钟频率可达200MHz,并利用内部Avalon总线与FPGA片内各逻辑电路单元、片外各类接口相连,可利用SOPC Builder工具自动生成嵌入式片上系统[7]。Altera公司提供NIOSⅡ IDE软件集成开发环境,应用C语言编程,可实现外设接口控制编程、信号处理算法编程等。硬件调试可采用QuatusⅡ提供的SignalTapⅡ逻辑分析仪,便于调试分析多组时序信号。运用NIOSⅡ进行软硬件协同设计的方法,可快速组建功能复杂的嵌入式系统[8],本设计正是在FPGA上运用NIOSⅡ实现电子系统的可重构。
如图4所示为基于ADV212的图像数据压缩信息处理样机的NIOSⅡ系统配置模块,这是达成可重构设计的NIOSⅡ部分的核心,在FPGA芯片上实现的SOPC硬件架构包括FPGA、存储器和外设接口三部分。
图4 NIOSⅡ系统配置模块
图像数据压缩系统调度控制流程全部是运行在FPGA芯片内部的,核心是NIOSⅡ嵌入式CPU模块,与一般的嵌入式系统开发不同,当SOPC设计需要新的外设模块时,不需要在PCB上加入相应的外设芯片,在FPGA芯片内部加入相应的外设模块,并通过在片上的Avalon总线与NIOSⅡ CPU相连即可。存储器部分的设计有作为代码运行和变量交换的空间的片上RAM;有用于将程序固化EPCS;还有FLASH控制器,控制NIOSⅡ CPU对Flash的读写,Flash中事先写入了ADV212的配置数据。另外还有ADV212控制器用于控制NIOSⅡ CPU对ADV212寄存器的读写,从而配置ADV212;SYSID是一个简单的只读设备,它作为SOPC Builder工具提供唯一的标识符;Avalon三态总线桥用来连接NIOSⅡ CPU与SDRAM、Flash。SOPC Builder工具提供了各种通用的外设控制逻辑IP核,其运行稳定可靠,可在很大程度上直接调用而不用关心其具体实现[9],在图像压缩信息处理机系统重构过程中,重点关注核心算法和关键配置的实现即可,使得数据通信与处理系统产品的研发周期大幅缩短。
图5 原始图像(左)与压缩解压图像(右)对比
4.测试试验结果
为了验证该可重构图像压缩信息处理系统设计的实际效果,将一副512*512大小的灰度图输入到系统可重构图像数据压缩信息处理样机进行测试验证,如图5左侧所示为原始图像,按10:1的压缩比,不可逆的5级定点97小波变换将此图像压缩成JPEG2格式,然后利用开源软件kakadu.exe进行解压[10],图5右侧为解压后的图像显示,用肉眼几乎很难分辨图像压缩前后的差异,这里用数学统计的方法来计算图像的峰值信噪比和实时性等图像压缩信息处理的评价指标,定量说明这种系统可重构的图像压缩信息处理系统的使用效果。
图像压缩信息处理系统的信息处理质量评价,一般用到以下两种公式[11]。
均方差:
(1)
峰值信噪比:
(2)
其中,和分别表示原始图像和重构图像坐标为(i,j)处的像素幅值。表示原始图像中可能取的最大值。由公式(1)和公式(2)计算可知,经样机对测试图像(512*512,coffee)进行处理的压缩比为10:1,压缩后重构图像和原始图像的峰值信噪比计算得到PSNR结果为37.8354。
实时性评价主要通过软件跟踪测试,将原始图像coffee输入到ADV212的HDATA数据总线上[12],从输入开始计时,到从HDATA数据总线读出压缩后的图像信息,时间小于0.1ms,能满足某通信系统对于数据压缩实时性的要求。
5.结论
运用NIOSⅡ的软/硬件统一编程模型,完成了基于ADV212芯片的可重构图像数据压缩信息处理系统实现,一方面充分运用了该型专用ASIC芯片的技术成熟度和运算实时性,另一方合理运用了可重构电子系统相关技术的研究成果。提出了基于ASIC的系统可重构的图像数据压缩信息处理解决方案,系统架构和接口简洁,系统重构和配置算法升级方便,体现了某发光二极管通信系统信息传输处理单元模块化、通用化、可重构等设计思想。
设计方案较好地解决了图像压缩运算实时性要求和当前可编程器件及开发高质量软核验证过程漫长的矛盾。经测试考核,样机能够满足某发光二极管通信系统对于图像信息处理的性能指标要求,为图像数据压缩处理单元的通用化、重构升级与二次开发奠定了基础。
参考文献
[1]黄贤武等著.数字图像处理与压缩编码技术[M].电子科技大学出版社,2000.
[2]陈柠檬等.基于THJ2K的JPEG2000图像压缩系统[J].电视技术,2007,31(6).
[3]唐柳等.可重构多核片上系统体系结构综述[J].计算机工程与应用,2012,48(20).
[4]Analog Devices Inc,ADV212_UserGuide_Rev1.1[S].December 11,2006.
[5]Analog Devices Inc,ADV212_DataSheet[S].December 11,2006.
[6]Analog Devices Inc,ADV212_Programming Guide_Rev.2.0[S].Feb26,2007.
[7]罗戈亮等.基于FPGA+DSP的实时图像处理系统设计与实现[J].微处理机,2010(2).
[8]王细等编著.基于VerilogHDL的数字系统应用设计[M].国防工业出版社,2006.
[9]张荣等.基于NIOSⅡ软核处理器的嵌入式测试系统设计[J].计算机测量与控制,2012(2).
[10]郭晓春.数字图像实时处理系统的FPGA实现[D].哈尔滨工程大学出版社,2011.
[11]孙兆林编著.MATLAB6.X图像处理[M].清华大学出版社,2002.
[12]冈萨雷斯著.数字图像处理[M].电子工业出版社,2007.
基金资助:上海市科委科技攻关项目(项目编号:12dz1143100)。
作者简介:
宋晓东(1975—),男,硕士,上海航天电子技术研究所高级工程师,主要研究方向:信号与信息处理,嵌入式系统架构。
周振宇,上海航天电子技术研究所高级工程师。
肖勇,上海航天电子技术研究所研究员。
推荐访问: 重构 数据压缩 设计 系统 信息