微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > Cortex-A8和H.264的无线视频监控系统设计

Cortex-A8和H.264的无线视频监控系统设计

时间:10-16 来源:互联网 点击:

引言

随着现代科学技术和居民生活水平的提高,以及人们对安全问题的日益重视,视频监控系统在紧急救援和安防系统中得到了广泛应用。无线技术的发展解决了传统有线的布线复杂,网络结构不灵活等技术问题。无线技术对于特殊监控环境有着很好的亲和性,且移动通信网和无线局域网的快速建设为视频监控系统的设计提供了技术支持,其中无线局域网WLAN的组建快捷、灵活性强、受环境限制小、方便网络重组和扩展。

国际电信联盟对于视频编码压缩制定了H.264/AVC视频编码压缩标准,H.264加强了对IP、移动网络的丢包、误码情况处理,保证了在不同信道中进行传输的视频图像质量。随着H.264编码技术的提出与应用,大大提高了视频数据的压缩率,减少传输时所用的网络带宽,并促进了无线网络的发展,同时H.264编码的网络传输提取层设计,可以使视频数据在不同网络里进行传输且适应性良好。

嵌入式芯片功能的增强和开源Linux操作系统的成熟使得基于嵌入式系统的视频监控系统具有更好的稳定性和实时性,结合无线网络技术使系统具有成本低、组网便捷和实际应用性强等优点,可以广泛地应用于民用与工用安防系统。

本文将WiFi技术、图像压缩技术与基于嵌入式视频监控系统相结合,采用嵌入式ARM Cortex—A8高性能处理器芯片SP5V210和Linux操作系统,将COMS摄像头采集的视频流经H.264编码压缩后由无线WiFi网络传输到监控端,通过PC监控端的FFMPEG模块和SDL播放模块完成监控视频数据的实时显示。

1 视频监控系统框图设计

系统采用ARM Cortex—A8内核的SP5V210芯片作为视频采集端的中央处理器,该处理器运行稳定时主频可达1 GHz,具有MMU功能、64位内部总线架构、可扩展的DRAM内存接口、1 G的NAND Flash和DDR2、3通道I2C总线接口、4个USB接口、4路HS-MMC/SD/SDIO/接口等。同时其内部集成MFC视频编解码器,支持多格式编解码包含MPEG-4/H.264编码,且Cortex-A8处理器应用NEON信号处理扩展指令集提高了H.264和MP3等媒体编码效率。工作流程为:首先OV3640摄像头采集图像信息并通过I2C总线与SP5V210处理器通信,处理器通过内部集成的MFC多格式编码器将图像信息进行H.264编码压缩,视频图像再基于USB无线网卡构建的WLAN网络和实时传输协议RTP发送给视频监控PC客户端,由客户端进行解码和显示。系统的软件结构包含应用层程序、设备驱动程序和嵌入式Linux操作系统。系统工作时会先执行Bootloader引导加载程序进行硬件设备初始化并引导加载Linux 2.6.35内核,再加载设备驱动程序(包括摄像头驱动、WiFi驱动、Nand Flash驱动等),最后为用户区应用层程序的执行,其中包含视频采集模块、H.264编解码模块、WiFi无线传输模块和RTP实时传输协议模块。系统整体框图如图1所示。

2 视频采集端和无线传输设计

2.1 视频数据采集

在视频采集端,原始视频数据的采集是通过OV3640图像传感器模块完成,该摄像头支持300万像素并支持输出YUV420图像数据,SP5V210处理器通过I2C总线访问与修改OV3640内部寄存器来控制摄像头功能。

在Linux操作系统中,通过应用Video4Linux(V4L)来实现视频采集设备的各种功能。在Linux内核中定义了视频设备的统一接口V4L,由统一的API接口库函数控制视频设备各种功能。其中,V4L2是V4L的升级版,具有更好的兼容性和扩展性。V4L2采集视频信息的流程为:通过ope nVideo()函数先打开视频采集设备文件;初始化设备信息包括获得视频设备支持的功能属性和设置其采集视频格式;向内核申请帧缓存内存空间,并将其映射到用户空间,开始发送采集信号;读取视频缓存帧数据,可以根据需求进行数据的处理;发送采集停止信号,释放内存映射,关闭视频设备。数据采集流程如图2所示。

2.2 H.264编码压缩

视频图像画面用4:2:0格式存储,每帧的数据大小为1.2 Mb,对于25~30 fps的实时硬件编码,其码流将达到了30~36 Mbps,无线网络带宽和存储空间难以承受,需采用H.264压缩编码技术将大数据量的视频数据进行压缩。SP5V210内部集成了多格式的视频编解码器(MFC),支持H.264的硬件编解码且速度最高可达到30 fps,可以很好地满足系统对视频数据压缩和处理速度的要求。采用MFC硬件编解码模块完成视频数据编解码的程序时,既可以调用MFC编解码中的API库函数,又可以采用MFC中的I/O接口函数,MFC编解码中的底层驱动接口封装实际上就是API库函数。SP5V210的MFC编解码软件架构如图3所示。

通过硬件编解码模块MFC的API接口函数实现H.264视频编码压缩,具体的流程为:

①建立H.264编码器实例,设置MFC编码器的参数并

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

网站地图

Top