安防人上中安网!

关注我们  

安防网 >> 视频监控 >> 技术趋势

独立式多分辨率VGA/DVI压缩存储系统

2011-06-01 10:12:44 来源:cps 责任编辑: yydcps 收藏本文
随着计算机应用的快速普及,视频图像的压缩存储在信息记录和安防监控等领域起着重要作用。但是,目前市场上的多数图像压缩系统很难支持多种分辨率或者高分辨率图像的实时压缩,如ADV212[1]难以满足UXGA(1600×1200)或更高分辨率1080p等的应用场合。
         随着计算机应用的快速普及,视频图像的压缩存储在信息记录和安防监控等领域起着重要作用。但是,目前市场上的多数图像压缩系统很难支持多种分辨率或者高分辨率图像的实时压缩,如ADV212[1]难以满足UXGA(1600×1200)或更高分辨率1080p等的应用场合。此外,市场上也存在一些基于DSP的解决方案,它们多采用FPGA+DSP架构对图像进行压缩。此类系统的最大缺点在于DSP的数据接口不够灵活,加上DSP的并行度不高,因此大大限制了其在高分辨率图像压缩方面的应用。所以,研究一套支持多种分辨率以及高分辨率的视频图像压缩和存储系统具有重要的现实意义。

    基于上述需求,开发了一套基于双FPGA+ARM架构的独立式多分辨率VGA/GVI压缩和存储系统。该系统支持DVI/VGA接口输入,并支持SVGA、XGA、SXGA、UXGA、1080p等任意分辨率的图像压缩和存储,同时能做到音视频同步。另外,该系统采用了双FPGA+ARM架构,提高了系统的灵活性及平台可升级性,拓宽了其应用场合。

    本文主要介绍独立式多分辨率VGA/DVI图像压缩存储系统的核心架构,并给出系统的性能。

    1系统架构与实现

    该系统的整体架构如图1所示。系统采用了双FPGA+ARM的架构,主要包括四部分:图像前端接口电路、预处理模块、图像压缩模块和管理模块。它同时支持VGA和DVI图像源输入,图像源的缓存或部分运算的中间结果通过Flash和外部存储器实现。这里主要介绍该系统中涉及到前端预处理模块和图像压缩核心模块。

    图1中左面一片FPGA主要完成前端预处理,如分辨率检测、色彩转换和图像分析等功能;右面一片FPGA主要用来实现图像实时压缩;ARM对系统进行管理,如压缩后码流管理、网络管理和音频录制等。

图1

图1

 

    1.1前端预处理模块

    前端接口电路采用AD9888作为前端的视频模数转换器,TI公司推出的TFP403作为DVI接收芯片。前端预处理模块采用Xilinx公司的Virtex4[2]系列的FPGA(XC4VLX40),它主要完成的功能是分辨率的检测和色彩空间转换等,如图2所示。

图2

图2

  1.1.1分辨率检测

    对于标准的VGA接口,不同分辨率下其HSYNC与VSYNC时序不同,系统设计时用一个单独的模块来检测输入端的分辨率。该模块可以通过检测两个相邻VSYNC上升沿间的HSYNC数目来识别VGA信号的分辨率,然后将检测到的分辨率参数送给后端的图像压缩模块,让系统根据对应参数来配置图像采集和图像压缩。

 

    1.1.2色彩转换

    标准的VGA接口输出为RGB信号,在进行压缩之前,先对图像进行色彩空间转换,将RGB信号转换为YUV信号。色彩空间转换公式为:

公式

公式

 

    系统实现时采用4:2:2采样模式,FPGA采用定点化处理后,将得到的Y和UV分量送给后端的编码模块进行编码。

    1.2图像压缩部分

    在系统设计时,考虑到不同分辨率的图像压缩和后续功能扩展,需要采用硬件资源丰富的FPGA,后端模块采用Xilinx公司的Virtex4系列的FPGA(XC4VLX100)。图像压缩的核心架构如图3所示,它主要涉及图像缓存、图像压缩和码流缓存三部分。

图3

图3

    1.2.1图像缓存模块

    为了提高系统的处理速度和数据吞吐效率,图像采集模块中采用图4所示的“乒乓操作”缓存图像,即把一帧图像的Y和UV分量缓存到片外的SDRAM1中,同时,系统会从SDRAM2读取另一帧已经缓存的图像到后端的图像压缩模块。这样图像缓存和压缩可以并行处理,提高系统的压缩效率。

    系统设计时采用Micron公司16MB的SDRAM[3],它包含了4个bank。其中,bank0与bank1用来缓存Y分量,bank2与bank3用来缓存UV分量,为了提高读写SDRAM的效率,采用burst读写数据方式,可以减少仲裁操作。

    1.2.2图像并行压缩模块

    在系统算法设计时,图像变换采用了基于离散小波变换的空间推举算法(SCLA[4]),相对常见的离散小波变换(DWT),SCLA算法的行与列变换同时进行,乘法次数最少,且重建图像的PSNR值更高。编码算法采用改进的无链表零树编码算法(SLC),它融合了多层次零树编码算法(SPIHT[5])和无链表零树编码(LZC[6])的思想,在性能上逼近SPIHT,但更易于硬件实现。

    系统在实现架构上采用了图3所示的双通道并行压缩架构,即Y和UV分量的小波变换和编码并行进行,极大地提高了系统的并行度和压缩效率。兼顾数据读取效率和内存考虑,本系统设计时采用了片外SDRAM和片内SRAM结合的方法来缓存小波系数,所以小波变换和编码模块主要由FPGA和2块片外SDRAM协同完成。SCLA算法采用9/7小波的五层分解,其中SDRAM3用来缓存Y通道分解过程中产生的部分小波系数,SDRAM4用来缓存UV通道分解过程中产生的部分小波系数,向SDRAM中读写数据时仍然采用burst方式。SLC算法以一棵小波树为基本单元,且压缩比可自由控制,完成一帧图像所有小波树的编码。

【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!

中安网官方微信

网友评论

共有0条评论  点击查看全部>>

所有评论仅代表网友观点,与本站无关。

24小时阅读排行

本周阅读排行

订阅邮件
安防速递

每天三个要闻,知晓行业关键

E 周 刊

一周事,一朝知

Email: