在视频监控系统中使用 FPGA 进行视频处理
2008-10-10 10:01:17
来源:《半导体器件应用》2008年10月刊
1. 引言
视频监控系统是火车站、机场、银行、娱乐场所、购物中心甚至家庭保安的重要组件。随着安全风险增加,对视觉监视和记录事件的需求以多种使用模式激增。因此,新架构必须为横跨一整套日渐繁杂的视频监控系统要求的成本效益方案提供可扩展性。
上市时间的压力、新 CODEC 标准、日益广泛的要求(包括先进的目标探测、运动探测、目标跟踪和目标跟踪特性),这些不过是新型视频监控架构所面临挑战中的几项。伴随挑战而来的是对可扩展为不同性能范围的实现的需求。
对于从低端到高端以及从单机到 PC 扩展卡的任何视频监控系统,Xilinx® FPGA 都是理想的解决方案。
2. 视频监控和 DVR 系统
数字监控系统中的数字视频录像机(DVR)正在迅速采用先进的数字视频压缩。大多数 DVR 制造商从 MPEG4 向 H.264 高清晰度(HD)CODEC 转移,对更高分辨率和压缩速度的需求也随之增加。专用芯片(ASSP)对大批量应用很有用,但缺少灵活性,开发成本高,而且开发时间较长。大多数高级数字媒体处理器则只能执行 H.264 HD 解码(而 H.264 HD 编码比解码还要复杂得多)。满足 H.264 HD 性能要求的最佳解决方案是使用一个 FPGA 加上一个外部 DSP 或数字媒体处理器。
使用低成本的 Xilinx FPGA,可以更进一步提供运动探测、视频缩放、颜色空间转换、硬盘接口和 DDR2 存储器接口,还可以将两个 27-MHz ITU-R BT656 数据流时分多路传输到一个 54-MHz 数据流中,同时为 DSP 处理器提供视频加速。要将两个 ITU-R BT656 数据流多路传输到一个 ITU-R BT656 数据流中,仅需要一个通道视频端口来独立地传输完整的二通道视频数据。要为只有一个 ITU-R BT656 视频输入端口的数字媒体处理器提供接口,这种实现方法非常有用。图 1 所示就是这样一种建议架构的框图。
对于使用德州仪器公司 DaVinci 处理器(仅有一个 ITU-R BT656 视频输入端口)的 DVR 设计,需要一种更有效的实现方法将两个或更多 ITU-R BT656 数据流时分多路传输到一个 VLYNQ 数据流中,然后才能将其输送到 DaVinci 处理器。使用上述实现方法,用少得多的 I/O 引脚就能传输视频流,而且可以降低系统成本,因为器件的封装可以变得更小。图 2 所示为此设计的框图。
3. PC 扩展卡 DVR 系统
过去十年来,PCI 总线为 PC 提供了很好的服务。然而,当今的 PC 扩展卡 DVR 系统所要求的带宽,已经大大超出了 PCI 总线力所能及的程度。未经压缩的视频数据(剥除空白帧之后)约为 165Mbps。如此,在总体 PCI 带宽为 1Gbps 的情况下,在一条 PCI 总线上最多只能混用 6 个未经压缩的视频采集或视频重放设备。可以在扩展卡上使用 MPEG4 CODEC 芯片组来缩小总线上的带宽,但这会增加成本,并且受到现有 MPEG4 芯片组的限制。
PCI Express(PCIe)技术使流量大幅度提升。PCI Express 分解为多个通道。每通道在每个方向上包含一个差分对,该方向每个差分对的数据流量为 2Gbps。主板上的每个 PCIe 插槽都有自己的通道,这些通道不与其他任何插槽共享。各插槽的配置为 16 通道(亦称 x16)、8 通道(x8)、4 通道(x4)或 1 通道(x1)。PCIe 允许每卡提供的数据量从 x1 通道的 2Gbps 到 x16 通道的 32Gbps 不等。有了 PCIe 数据流量,就可以摆脱每张 PCI 卡 6 个未压缩视频通道的限制。
使用与图 1 所示同样的设计,可通过用 PC 替换数字媒体处理器并且经 PCIe 总线将视频流缓存到 PC 的方法,轻松快捷地实现 PC 扩展卡 DVR 系统。视频模数转换器产生四条独立的数字 ITU-R BT656 流,然后这些流被送入低成本的 SpartanTM-3 器件进行预处理。在 FPGA 中,视频数据剥除空白帧并同步,为 PCIe 适当打包,然后馈入 Xilinx PCIe 内核。然后,软件就可以读取并播放输入的视频,对其进行处理,或将其储存到磁盘。图 3 所示为 PC 扩展卡视频监控系统设计。
4. Xilinx 视频和图像处理算法
从多相视频转换器、二维 FIR 滤波器和屏幕显示到覆盖和阿尔法混合等简单效果,再到格式和颜色空间转换,Xilinx FPGA 都是实时数字视频、图像处理和滤波的理想平台。表 1 列出了一些常用视频 IP 模块组的应用指南。
Xilinx FPGA 无与伦比的 DSP 处理能力意味着有可能支持非常高的分辨率(画质高达 1080p),并且可以缩小大型 DSP 阵列的尺寸。Xilinx FPGA 是可重新编程的硬件,有了它,就能够轻松地尝试新颖、高性能、基于硬件的视频和图像算法,收到立杆见影之效,使最终产品与众不同。
5. 现成的 IP
Xilinx 提供了视频 IP 模块组,以供在视频监控系统中快速设计、仿真、实现和验证视频和图像处理算法。其中包括设计 DVR 用的基本基元和高级算法。
此外,Xilinx 及其合作伙伴提供了一系列压缩编码、解码和编解码解决方案,从为需要快速实现的人提供现成的内核,一直到为希望通过高质量和低比特率使自己的产品与众不同的人提供构造模块参考设计和硬件平台。
将 Xilinx FPGA 用于某些编解码模块中的极其繁重的处理任务,意味着您可以支持多通道 HD 编码,节约宝贵的系统处理器周期,通过减少或排除 DSP 处理器阵列大量节约成本,并轻松地将从接口到进一步视频处理的更多功能和能力集成到系统中。最重要的是,FPGA 提供了可扩展的解决方案,从而能在相同的系统中支持不同的配置、额外的通道或新的编解码方案。
Xilinx FPGA 可通过强化系统逻辑和实现新外设进一步降低 DVR 系统成本。Xilinx 及其合作伙伴还为视频监控系统的快速发展提供系统接口:先进的存储器接口、PCI Express、德州仪器的 VLYNQ 和 EMIF 接口、硬盘接口和 ITU-R BT656 接口。
6. Xilinx 工具简化设计
Xilinx System Generator for DSP 允许使用 Xilinx 视频 IP 模块组构建和调试 Simulink 中的高性能 DVR 系统。使用 System Generator 开发并实现视频处理算法,可以获得经过彻底验证和可以轻松执行的设计。
Xilinx 已开发出各种经过预测试的新型视频 IP 模块组。可以通过在 System Generator 内拖放模块来轻松构建视频/影像系统,从而省下用 HDL 语言编写这些基本构建模块的宝贵时间。
为了处理从开发板到 PC 的庞大的视频数据流,System Generator for DSP 引入了另一种新颖的高速硬件协同仿真(通过以太网接口)。这种接口允许低延迟的高流量,事实证明它对于在 System Generator 环境中构建视频/影像系统极其有用。
另一种基于 MATLAB 语言的设计工具是 Xilinx 开发的 AccelDSP 综合工具,这是基于高级 MATLAB 语言的工具,用于为 Xilinx FPGA 设计 DSP 模块。此工具可实现浮点到定点的自动转换,能生成可综合的 VHDL 或 Verilog 语言,并且可以为验证创建测试平台。还可以用 MATLAB 算法生成定点 C++ 模型或 System Generator 模块。AccelDSP 是 Xilinx XtremeDSP 解决方案的一个关键组件,它集最先进的 FPGA、设计工具、知识产权内核、合作伙伴关系以及设计和教育服务于一体。
视频监控系统是火车站、机场、银行、娱乐场所、购物中心甚至家庭保安的重要组件。随着安全风险增加,对视觉监视和记录事件的需求以多种使用模式激增。因此,新架构必须为横跨一整套日渐繁杂的视频监控系统要求的成本效益方案提供可扩展性。
上市时间的压力、新 CODEC 标准、日益广泛的要求(包括先进的目标探测、运动探测、目标跟踪和目标跟踪特性),这些不过是新型视频监控架构所面临挑战中的几项。伴随挑战而来的是对可扩展为不同性能范围的实现的需求。
对于从低端到高端以及从单机到 PC 扩展卡的任何视频监控系统,Xilinx® FPGA 都是理想的解决方案。
2. 视频监控和 DVR 系统
数字监控系统中的数字视频录像机(DVR)正在迅速采用先进的数字视频压缩。大多数 DVR 制造商从 MPEG4 向 H.264 高清晰度(HD)CODEC 转移,对更高分辨率和压缩速度的需求也随之增加。专用芯片(ASSP)对大批量应用很有用,但缺少灵活性,开发成本高,而且开发时间较长。大多数高级数字媒体处理器则只能执行 H.264 HD 解码(而 H.264 HD 编码比解码还要复杂得多)。满足 H.264 HD 性能要求的最佳解决方案是使用一个 FPGA 加上一个外部 DSP 或数字媒体处理器。
使用低成本的 Xilinx FPGA,可以更进一步提供运动探测、视频缩放、颜色空间转换、硬盘接口和 DDR2 存储器接口,还可以将两个 27-MHz ITU-R BT656 数据流时分多路传输到一个 54-MHz 数据流中,同时为 DSP 处理器提供视频加速。要将两个 ITU-R BT656 数据流多路传输到一个 ITU-R BT656 数据流中,仅需要一个通道视频端口来独立地传输完整的二通道视频数据。要为只有一个 ITU-R BT656 视频输入端口的数字媒体处理器提供接口,这种实现方法非常有用。图 1 所示就是这样一种建议架构的框图。
对于使用德州仪器公司 DaVinci 处理器(仅有一个 ITU-R BT656 视频输入端口)的 DVR 设计,需要一种更有效的实现方法将两个或更多 ITU-R BT656 数据流时分多路传输到一个 VLYNQ 数据流中,然后才能将其输送到 DaVinci 处理器。使用上述实现方法,用少得多的 I/O 引脚就能传输视频流,而且可以降低系统成本,因为器件的封装可以变得更小。图 2 所示为此设计的框图。
3. PC 扩展卡 DVR 系统
过去十年来,PCI 总线为 PC 提供了很好的服务。然而,当今的 PC 扩展卡 DVR 系统所要求的带宽,已经大大超出了 PCI 总线力所能及的程度。未经压缩的视频数据(剥除空白帧之后)约为 165Mbps。如此,在总体 PCI 带宽为 1Gbps 的情况下,在一条 PCI 总线上最多只能混用 6 个未经压缩的视频采集或视频重放设备。可以在扩展卡上使用 MPEG4 CODEC 芯片组来缩小总线上的带宽,但这会增加成本,并且受到现有 MPEG4 芯片组的限制。
PCI Express(PCIe)技术使流量大幅度提升。PCI Express 分解为多个通道。每通道在每个方向上包含一个差分对,该方向每个差分对的数据流量为 2Gbps。主板上的每个 PCIe 插槽都有自己的通道,这些通道不与其他任何插槽共享。各插槽的配置为 16 通道(亦称 x16)、8 通道(x8)、4 通道(x4)或 1 通道(x1)。PCIe 允许每卡提供的数据量从 x1 通道的 2Gbps 到 x16 通道的 32Gbps 不等。有了 PCIe 数据流量,就可以摆脱每张 PCI 卡 6 个未压缩视频通道的限制。
使用与图 1 所示同样的设计,可通过用 PC 替换数字媒体处理器并且经 PCIe 总线将视频流缓存到 PC 的方法,轻松快捷地实现 PC 扩展卡 DVR 系统。视频模数转换器产生四条独立的数字 ITU-R BT656 流,然后这些流被送入低成本的 SpartanTM-3 器件进行预处理。在 FPGA 中,视频数据剥除空白帧并同步,为 PCIe 适当打包,然后馈入 Xilinx PCIe 内核。然后,软件就可以读取并播放输入的视频,对其进行处理,或将其储存到磁盘。图 3 所示为 PC 扩展卡视频监控系统设计。
4. Xilinx 视频和图像处理算法
从多相视频转换器、二维 FIR 滤波器和屏幕显示到覆盖和阿尔法混合等简单效果,再到格式和颜色空间转换,Xilinx FPGA 都是实时数字视频、图像处理和滤波的理想平台。表 1 列出了一些常用视频 IP 模块组的应用指南。
Xilinx FPGA 无与伦比的 DSP 处理能力意味着有可能支持非常高的分辨率(画质高达 1080p),并且可以缩小大型 DSP 阵列的尺寸。Xilinx FPGA 是可重新编程的硬件,有了它,就能够轻松地尝试新颖、高性能、基于硬件的视频和图像算法,收到立杆见影之效,使最终产品与众不同。
5. 现成的 IP
Xilinx 提供了视频 IP 模块组,以供在视频监控系统中快速设计、仿真、实现和验证视频和图像处理算法。其中包括设计 DVR 用的基本基元和高级算法。
此外,Xilinx 及其合作伙伴提供了一系列压缩编码、解码和编解码解决方案,从为需要快速实现的人提供现成的内核,一直到为希望通过高质量和低比特率使自己的产品与众不同的人提供构造模块参考设计和硬件平台。
将 Xilinx FPGA 用于某些编解码模块中的极其繁重的处理任务,意味着您可以支持多通道 HD 编码,节约宝贵的系统处理器周期,通过减少或排除 DSP 处理器阵列大量节约成本,并轻松地将从接口到进一步视频处理的更多功能和能力集成到系统中。最重要的是,FPGA 提供了可扩展的解决方案,从而能在相同的系统中支持不同的配置、额外的通道或新的编解码方案。
Xilinx FPGA 可通过强化系统逻辑和实现新外设进一步降低 DVR 系统成本。Xilinx 及其合作伙伴还为视频监控系统的快速发展提供系统接口:先进的存储器接口、PCI Express、德州仪器的 VLYNQ 和 EMIF 接口、硬盘接口和 ITU-R BT656 接口。
6. Xilinx 工具简化设计
Xilinx System Generator for DSP 允许使用 Xilinx 视频 IP 模块组构建和调试 Simu
Xilinx 已开发出各种经过预测试的新型视频 IP 模块组。可以通过在 System Generator 内拖放模块来轻松构建视频/影像系统,从而省下用 HDL 语言编写这些基本构建模块的宝贵时间。
为了处理从开发板到 PC 的庞大的视频数据流,System Generator for DSP 引入了另一种新颖的高速硬件协同仿真(通过以太网接口)。这种接口允许低延迟的高流量,事实证明它对于在 System Generator 环境中构建视频/影像系统极其有用。
另一种基于 MATLAB 语言的设计工具是 Xilinx 开发的 AccelDSP 综合工具,这是基于高级 MATLAB 语言的工具,用于为 Xilinx FPGA 设计 DSP 模块。此工具可实现浮点到定点的自动转换,能生成可综合的 VHDL 或 Verilog 语言,并且可以为验证创建测试平台。还可以用 MATLAB 算法生成定点 C++ 模型或 System Generator 模块。AccelDSP 是 Xilinx XtremeDSP 解决方案的一个关键组件,它集最先进的 FPGA、设计工具、知识产权内核、合作伙伴关系以及设计和教育服务于一体。
本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
暂无评论