图像算法集成基于TI Davinci DM8168,开发平台SDK为DVRRDK3.0,实现框架为MCFW,算法引擎为TI 的XDAIS标准。下图分别为DM86168的软件开发框图(a),以及基于eXpressDSP算法开发框图(b)。
(a) 从图(a)中我们知道DM8168是一个多核架构的CPU。它集成了ARM A8核作为HOST CPU,用作主系统控制,图形界面,基本输入/输出IO,以及其他外设资源如硬盘,以太网等接口等控制。VPSS核用于视(音)频流的捕获,回放,缩放等前端处理。Video M3用于视(音)频流的编解码处理。DSP主要用于视频处理和视频分析。 (b)从图(b)中我们知道DSP端算法处理的框图。Algorithm:作为一个代码模块对视频数据进行处理,得出视频处理结果。Refrence Framework: 蓝色部分包含了驱动部分Drivers,algorithms,DSP系统内核。作为整个框架对其所包含组件进行管理。DSP Kernel:属于硬件层(HAL)的软件实现,是对硬件资源的抽象管理,包括线程,中断,管道,信号以及其他函数。此外DSP/BIOS是一个实时性操作系统,提供应用程序的多任务实现,以及相关的日志和统计等功能。Application:用户程序。这些用户程序的运行需要DSP内核(dsp kernel)、算法(algorithms),框架(framework)等底层资源的支持。DSP代码模块运行于DM8168的C674x DSP核。DM8168的软件模块包括算法模块和DSP框架(MCFW)实现模块。算法模块包含了人数统计算法(PC)和移动侦测算法(VMD)。DSP代码模块实现了多通道视频输入算法处理,实现人数统计功能(PC)、动侦测功能(VMD)和画面叠加(SWOSD)功能。图(c)为功能描述框架。 图(c)C674x DSP核主要用于DSP算法处理,并将算法处理的结果返回给A8 ARM核。在整个框架中我们使用MCFW作为我们算法开发框架,这是一个多通道框架,它是DVRRDK中的一部分。DVRRDK的软件框架允许用户开发多通道的音视频数据流,包括视频捕获,视频编解码和视频转存回放等。软件本身的创建通过使用一个叫做链接链的多核框架,这个框架的接口称为LINK API。我们使用一个叫做AlgLink集成提图像算法(如车流统计,入侵侦测,跟踪算法)。AlgLink主要实现一个叫AlgLink_tskMain任务函数基于DSP SYSBIOS实现,由于Alglink也是MCFW框架的一部分,所以使得AlgLink可以C674x DSP核与其他核之间相互通信,交换数据。从而实现多通道视频,多算法并行处理。我们可以把其他核看做前端,C674X DSP看做后端。前段负责视频流进行捕获缩放,编解码等处理,后端对视频流进行算法处理。