新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于H.264的嵌入式无线视频监控系统

基于H.264的嵌入式无线视频监控系统

作者: 时间:2012-04-11 来源:网络 收藏

Hi3510使用ARM926EJ-S内核,哈佛结构的32位RISC处理器,其内内置MMU,主频可达到 240MHz,可以很好得运行嵌人式Linux2.6,不但保持了嵌人式系统小型化、低功耗、易携带的特点,又充分利用了Linux系统完整的内存、文件、线程管理功能,大大方便了程序的开发和程序中多任务功能的实现。

是面向网络和因特网的图像编码与传输技术.与其相关的各种研究已成为当今信息科学与技术的前沿课题。 具有高压缩比,良好的网络适应性,一定的鲁棒性等优异性能,但其计算量过高,编码时间过长,限制了它的广泛应用。Hi3510芯片是具有 硬件编码SOC芯片DD Hi3510采用ARM9+DSP+硬件引擎方式,方便地提供了H.264压缩流,而且可以获得很好压缩比。

码分多址通讯模块采用深圳倚天科技公司的ETPro-309 AI CDMA Modem,其内置SIM卡,其内部核心芯片是Qualcomm MSM6025。该模块包含码分多址业务标准IS95和IS2000的调制解调系统,而且带内置TCP/IP协议栈,可利用AT命令直接与其通信。码分多址模块与核心处理器之间使用UART进行连接。

Hi3510支持ITU-R BT.656/601输入接口,摄像机接口接受ITU标准的图像数据,不能直接接收CCD摄像机输出的模拟视频信号,因此我们只需要再加一片SAA7114视频解码芯片,就可以完成硬件系统的搭建。

3.2 监控终端软件设计

控制终端软件的核心是Linux操作系统,所有功能的实现都Linux操作系统来完成。主要包括三个层次,最底层是BootLoader服务程序和基本外设驱动,它主要完成系统加载和ARM核心处理器的初始化配置,第二层主要是摄像头模块和码分多址模块的驱动程序,最后一层是系统的应用程序。

由于Linux内核采用模块化的设计。很多模块可以独立地加载或卸载,所以小型化就是对Linux内核重新编译,在编译时仔细地选择设备所需要的功能模块,同时删除不需要的功能。这里只需要串口驱动、SAA7114视频解码芯片驱动,还有拨号网络应用,还要支持 PPP、TCP/IP网络协议,其他都可以删除掉,使系统运行所需要的内核显著减小至l Mb以内。码分多址拨号通过运行PPP程序进行。在Linux下的PPP包是专门为解决Modem拨号上网问题而编写的,并且是公开源代码的。PPP拨号脚本程序主要通过调用pppd和chat这两个应用程序,并通过AT指令实现对Modem的操作。

应用程序主要是监听用户命令,收到命令后调用摄像头模块采集图像,然后再使用码分多址模块来发送图像数据。终端一旦初始化后,就与中心服务器建立TCP连接,在运行过程中终端跟中心服务器保持TCP连接,中心服务器可随时主动地请求图像数据,因此,对于对交互性和实时性有较高要求的应用系统可实现较好的响应。监控终端软件流程如图3所示。

22.jpg
图3. 监控终端软件流程图

4 RTP的H.264视频流传输控制

由于H.264具有前面所指出的多种优点,本系统设计了基于RTP的H.264视频流传输控制。RTP协议对实时数据传输的支持包括时间戳、序列号、荷载类型标识和源标识等,时间戳反映了RTP数据帧中第一字节数据的采样时间,采样时间是线性单调增长的。接收方根据收到数据帧的时间戳来重建接收数据的时序关系,以便正确回放媒体流。序列号用于数据传送的丢失检测和帧序重构;荷载类型标识则指明RTP帧数据荷载的编码格式;源标识用于指示接收方式所接收数据的来源。以上功能均通过RTP的帧头来实现。

RTP 数据协议运行在面向数据报的UDP 之上,它只能提供无连接的不可靠服务,帧丢失或出错都会降低图像或声音的质量。RTCP控制协议需要与RTP数据协议一起配合使用,RTP本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完成。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭