首页>>论坛 >>技术社区 >>OpenHW社区论坛 >>System Generator及DSP算法
|
我要发帖  | 我要投票  | 我要回复  | 收藏
1

基于FPGA的视频监控系统的实现

版主: Terry_ni  玄剑  kk_Edward  XUPteam 
基于FPGA的视频监控系统的实现
 
随着经济的发展,人们的安全意识在不断增强,对视频监控设备的需求也在持续增长。同时,在这一领域,设备厂商的竞争也越来越激烈。据估计全球现有超过1,000家监控设备供应商,中国大陆、韩国和台湾地区的新兴厂商也正逐步加入到全球的竞争当中,有的厂商已开始出口产品到北美和欧洲市场。

竞争的加剧也进一步推动了产品技术的发展,领先的供应商往往依靠先进的视频压缩算法及智能的图像分析功能来提高产品的竞争力。总的看来,视频监控的技术发展趋势可以归纳为以下几点:新的H.264压缩技术逐渐成为主流,采用H.264技术可以增加硬盘的存储时间,同时减少了对网络带宽的需求;高清晰度(HD)视频系统开始出现在一些高端应用场合,将逐步扩展到中低端应用;PCI Express正在取代传统的PCI总线,从而使得许多目前流行的PCI压缩卡也将转换到PCI Express总线架构;随着IP网络的普及,基于IP的视频监控系统增长迅速。

以上所有变化都要求采用具备更高性能和灵活性的器件来构建视频监控产品,过去单纯采用DSP处理器或现成芯片(ASSP)的方法已难以满足系统需求,而可编程逻辑门阵列(FPGA)特有的灵活性和高性能使其成为许多监控产品的理想解决方案。

下面我们将探讨如何采用Altera公司的FPGA产品和视频解决方案来实现一些典型的视频监控产品,这些产品包括软压缩数字录像机(DVR)卡、硬压缩多通道DVR系统以及正在普及的IP网络摄像头。

数字录像机

在DVR领域中,用户可以选择软压缩或者硬压缩两种方式。所谓软压缩是指采用PC或IPC平台来对单路或多路视频进行压缩,再由PC做进一步的处理(如存储或通过网络传送)。而硬压缩是指采用硬件实现视频压缩,然后直接存储或通过网络传送。这里指的硬件包括DSP处理器、媒体处理器和FPGA器件。

通常用软压缩来完成MPEG-2、MPEG-4等压缩算法,而像H.264这样的高复杂度压缩算法只能由硬件实现。H.264 D1分辨率压缩通常可以采用DSP处理器、DSP+FPGA或单片低成本FPGA来实现,如Cyclone系列、Arria GX系列。而从成本和易实现性等方面考虑,高端Stratix系列FPGA更适合H.264高清分辨率压缩。

1. 软压缩DVR

图1为一个软件压缩DVR的功能框图,图1中实现的功能大多逻辑复杂度不高,同时对数据通路性能有一定的要求,需要具有高速接口通信能力,因此非常适合用FPGA器件来实现。

图1:软压缩DVR的功能非常适合用FPGA器件来实现。
图1:软压缩DVR的功能非常适合用FPGA器件来实现。

缩放部分以及其它的预处理工作(如视频滤波)、DMA控制器、音频FIFO和PCI-E部分可以全部放入FPGA中。采用FPGA的好处是可以灵活地实现任意多路的视频输入,同时视频预处理部分的功能可以根据不同摄像头的特性灵活定制,从而达到最优效果。

Altera的视频图像处理套件(VIP)包括9个视频预处理/后处理的IP,其中有缩放(Scaler)、2D FIR滤波等IP。在接口方面PCI和PCI-E的IP核也是Altera公司现成的解决方案。

最新的65nm低成本FPGA Cyclone III在功耗方面拥有很大优势,实现PCI-E接口时需要外接2.5Gbps收发器芯片。采用低成本带有内嵌收发器的Arria GX FPGA则在集成度方面更具优势,用户可以灵活选择实现器件。

2. 硬压缩DVR

多路硬压缩DVR也是视频监控系统中的重要组成部分,典型的通道数包括4、8及16通道,有的产品甚至超过24通道。系统的核心是多通道的视频压缩,与传统的ASSP或DSP实现方法不同,FPGA提供了一种更灵活、可扩展性更强、单路视频成本和功耗更低的解决方案,Cyclone III单芯片可支持最大到16通道的H.264编码。表1列出了用Cyclone III实现基线(Baseline)H.264 D1分辨率编码压缩时的测试基准。

表1:用Cyclone III FPGA实现H.264 D1编码。
表1:用Cyclone III FPGA实现H.264 D1编码。

在一个典型的多通道DVR系统中,多通道模拟视频首先经模数转换后变成标准的CCIR656格式数据。为了能在本地监视多通道的画面,通常需要复用多通道视频数据和对画面进行分割,因此需用到视频缩放功能,Cyclone III器件中丰富的M9K内存资源非常适合用做视频缩放算法时必需的行缓存,如图2所示。Altera视频图像处理套件中的缩放、行缓存可帮助用户快速实现画面复用及分割功能。

基于FPGA的视频监控系统的实现

多通道“H.264 D1+CIF”编码是整个系统的核心,FPGA内在的强大并行处理能力可满足H.264算法对处理速度的要求,是唯一有可能实现的单芯片解决方案。与多个ASSP或DSP处理器实现方案相比,单芯片FPGA提供了更稳定的系统性能、更低的成本以及最佳的性价比。目前Altera公司已与第三方公司联合推出了多路“H.264 D1+CIF”解决方案。

此外,也可以在有的系统中加上一颗DSP芯片来实现码流分析、视频流生成或音频压缩等对实时性和平行处理要求不高的功能,以充分发挥FPGA和DSP各自的优势。

IP摄像头

IP摄像头是视频监控领域增长速度最快的产品。IP摄像头可将摄像头获取的视频源在本地进行预处理、压缩,然后通过IP网络进行远端传送或远端存储,它的重要组成部分包括视频预处理、视频压缩模块,以及IP网络视频(Video-Over-IP)功能。

目前业界比较主流的IP摄像头的输入数据格式是:1路D1/25帧每秒+1路CIF/25帧每秒。通常可以用一片Cyclone II EP2C35和一片低成本处理器实现,功能示意如图3所示。

图3:标清D1分辨率IP摄像头。
图3:标清D1分辨率IP摄像头。

 
相关主题
KURUSAKI | ICHIGO
回复 链接 收藏
 
回复:基于FPGA的视频监控系统的实现
 

 
当校车来到:A大家都不挤队,每个人都得3分;B 你不去挤,人家去挤,那么你得0分别人得5分;C. 大家都挤,大家都得1分
回复 链接 收藏
 
RE:基于FPGA的视频监控系统的实现
 
谢谢提供!
能提供相关的程序构架不?
 
10年磨一剑,锋芒立现!
回复 链接 收藏
 
回复:基于FPGA的视频监控系统的实现
 

感覺有用  謝謝

 
回复 链接 收藏
 
我要发帖  | 我要投票  | 我要回复  | 收藏
1