微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于Blackfin的智能IP Camera系统设计

基于Blackfin的智能IP Camera系统设计

时间:09-29 来源:ADI公司 点击:

时使用所有的模块。

  图1 基于Blackfin 537处理器IP Camera系统框图

  详细资料:用于IP Camera的Blackfin 537处理器

  2.1 视频采集和编码

  Blackfin 系列DSP专门针对高速并行数据特别是视频数据集成了并行外围接口(PPI),在传统的数据总线的基础上增加了一条专用数据吞吐通道。

  PPI接口不仅可以按照BT.601视频流的"硬件同步"模式工作,还能自动解码BT.656前同步码,从而允许无缝连接到多种视频源和图像传感器,与直接存储器存取(DMA)控制器配合使用,PPI可以在完整的视频帧信息中只读入有效的视频信息,或只有消隐区域。这样当不需要完整的视频帧时显著节省了带宽。另外,PPI可以忽略隔行的BT.656视频流的所有第二场图像信息,从而提供了一种很有效的方法用于快速抽取输入信号。最后,因为PPI本身就可以解码BT.656视频流,所以它可以直接连接到流行的类似ADV7183A视频解码器。

  IP Camera上主流的编码标准如H.264,MPEG4等,ADI公司都提供了免费的编码器软件。本项目采用H.264视频压缩标准,ADI的H.264编码器性能得到了最大的优化,充分利用了片内L1 内存,数据通过DMA来搬移,与处理器的运算并行执行。主要的特点有:支持YUV420和UYVY422 (CCIR-656) 视频输入格式,输出是以NAL为单位的基本视频流;对于H264编码,支持Baseline Profile和一些Main profile的特性(Interlaced encoding, CABAC),在BF53x上能达到最大实时1/2 D1,BF561上支持D1实时,支持I和P帧,自适应CBR码率控制等。对于不同的应用,ADI H.264编码器的比特率是可调整的,低比特率下甚至可以在CDMA1x这样的低带宽应用中实现实时传输。

  2.2 智能监控

  目前监控市场的发展越来越趋向于智能化,各种视频或音频的智能分析算法得到产业化应用,如运动目标检测和跟踪,入侵检测,特殊声音检测和定位等等。Blackfin处理器从架构到指令集都对多媒体处理有很好的支持,有专用的视频处理指令,因此特别适合于实现灵活的多媒体智能分析算法。ADI公司推出了"Image Tool Box"智能监控软件包,针对智能监控算法中的一些常用和基本函数做了专门的优化,有很好的性能,可以加速上层算法的实现和优化。

  一般智能分析的实现是针对未编码的媒体流进行分析,但也有利用编码器输出结果的算法。本项目因为直接使用ADI公司给定的编码库,因此使用前置的智能模块直接分析输入的媒体流,并输出结果。音视频的智能处理种类比较多,并在不断地改进,所以用一般都用高性能DSP来实现。在Blackfin上目前有多种智能处理模块,如鱼眼矫正,运动物体检测及基于运动检测的上层算法如遗留物检测、入侵检测,枪声检测和定位等等。根据智能模块的输出结果,系统控制和编码部分都可以做相应的智能处理,如勾勒运动物体边框,调高编码器分辨率,根据音源位置调整摄像头方向,等等。这些模块一般都有比较标准的输入输出接口,便于二次开发中的系统集成。

  2.3 媒体流传输

  IP Camera的主要用途就是通过网络来实时传输远程的视频信息,本项目采用传输流(TS)通过UDP或上层的RTP协议来传输。传送流是根据ITU-T Rec.H.222.0 | ISO/IEC 13818-2和ISO/IEC 13818-3协议而定义的一种数据流,其目的是为了在有可能发生严重错误的环境下进行一道或多道程序的编码数据的传输和存储。TS主要应用于实时传送的节目,比如实时广播的电视节目,主要特点就是要求从视频流的任一片段开始都是可以独立解码的。所以在接收端可以随时接入。目前视频监控领域还没有统一的媒体流标准,但采用TS over RTP/UDP这一标准有利于将来的系统整合。ADI的一些第三方提供了完整的RTP协议栈产品,网络上也有一些开源的实现可供参考。

  数据链路方面,对于压缩视频传输,一般的网络接口芯片都能满足带宽要求,但是在评估网络性能的时候,处理器占用比也是一个非常重要的标准。BF53x系列中的BF537芯片有内置的10/100M MAC接口,并有专用的DMA 数据通道,因此传输和处理器占用比性能都非常好,在基于BF537的IP Camera上每1Mbps的网络流量只消耗约1%的处理器性能,例如传输 H264 D1分辨率的监控码流,消耗处理器不到10MIPS。

  2.4 软件架构

µC/OSII是Blackfin所支持的RTOS之一,在高速的Blackfin处理器上有很强的硬实时性能,OS中断响应时间约为110 cycles(600MHz下约0.18us)。系统首先创建一个主任务(main task),负责系统的初始化和创建其他的模块任务。各模块任务独立运行,处理自己的输入和输出数据流,模块之间的耦合程度较低,可以灵活

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top