随着下一代视频压缩标准问世,行业从基本视频处理向更复杂的集成处理解决方案转移,这使得系统的要求超越了独立DSP力所能及的视频性能。FPGA以不到30美元的价格提供20GMACs以上的DSP性能,从而为成本敏感型军事、汽车、医疗、消费、工业和安全应用填补了这一空白。只有FPGA能够为整套端对端视频解决方案提供逻辑、嵌入式处理、OS支持和驱动器。
妨碍开发人员将FPGA用于视频应用的因素并非他们缺乏对FPGA性能优势的了解,而是缺乏使用其设计流程的经验,对于那些习惯于用C语言编程的传统DSP程序开发人员来说尤为如此。
开发人员可以利用FPGA的灵活性来配置针对特定应用而优化的硬件架构,以此发挥该器件的性能优势。这种灵活性为开发过程增加了自由度,同时也促进了其复杂性。
XtremeDSP视频入门套件(VSK)提供了一种完善而易用的设计环境。这款开发套件包括应用示例并且完全支持标准的工具流程,这有助于加速设计过程,并且还仍然能实现最终产品的差异化。
使用基础平台开发视频应用
称为基础平台的嵌入式系统提供了一个框架,您可以从中使用VSK来开发视频应用。基础平台是使用Xilinx Platform Studio的Base System Builder (BSB)创建的嵌入式系统,其中包括一个MicroBlaze嵌入式处理器。 此框架可以为新设计提供起点,也可以作为便利的移植途径来移植在基于处理器的系统上开发的现有应用。在MicroBlaze处理器上,可以轻而易举地为外部处理器重新编译任意C代码;高性能视频链一旦接入,便可以从软件移植到FPGA架构。
图1 带视频流水线的基础系统
为了协助这种移植,VSK包括了一个定制外设IP库,可以使用Platform Studio方便地将其中的定制外设添加到基础系统,也可以连接到视频接口、管理数据帧以及执行存储器访问和基本视频处理。这些定制外设包括:
● DVI输入 ● DVI输出 ● 摄像头 ● 视频帧缓冲器控制器(VFBC) ● 视频处理流水线
此VFBC非常适合需要用二维数据的硬件控制来实现实时操作的视频应用。
用VSK参考设计迅速启动开发过程
VSK提供三个参考设计,用来快速启动在FPGA上运行的视频应用的开发过程。每个参考设计都是在基础平台上构建的,并且使用了VSK的IP库中的定制外设。表1列出了各参考设计及其所显示的视频处理和连接功能。这些参考设计旨在提供一个起点,可以在此基础上进一步开发。图1所示为如何将DVI穿越端口参考设计接入基础系统。
用基于模型的设计创建视频应用
要加速FPGA上的视频应用,就需要将性能关键型操作从处理器上运行的软件移植到硬件。VSK支持多种硬件设计流程,其中包括使用VHDL/Verilog来发挥坚实的硬件设计背景的流程,也包括借助较多抽象建模环境(包括C、MATLAB和Simulink)而需要很少或完全不需要硬件设计经验的流程。
表1 VSK参考设计概览
The MathWorks的Simulink是一种基于模型的设计环境,可用来开发视频系统的算法模型。The MathWorks为Simulink提供了一个可选的视频与成像模块集,其中包括一组丰富的视频构建模块,可用来方便地处理流式视频并且在模型中的每一步显示结果。
可以首先使用浮点数据类型以及高层视频和成像模块为视频处理算法本身建立抽象模式,然后以设计者认为能够权衡复杂性、系统成本和性能的方式来优化算法。