微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 多路嵌入式H.264视频服务器的设计详解

多路嵌入式H.264视频服务器的设计详解

时间:06-04 来源:EDN 点击:
 1 引 言

  随着计算机网络和视频压缩技术的快速发展,多媒体技术的研究和应用受到了越来越多的重视,其中视频服务器的发展尤为迅速,特别是嵌入式视频服务器[1][2]。

  由于具有体积小,安装灵活的特点,只要能接入到Internet, 它就可以为任何授权的用户提供实时的视频监控服务,避免了铺设专门线路进行视频信号传输的昂贵费用。

  嵌入式视频服务器是一种能提供视频采集,视频数据压缩,网络传输功能的一种多媒体信息服务器。其传输处理的是视频流,而视频传输具有实时性高、数据量大等特点,它需要满足以下三点要求:一:高带宽,高带宽保证大数据量的多媒体数据传输效率;二:支持QoS,保证传输的质量、资源预留;三:支持多种传输方式。由于嵌入式环境资源的限制,在视频数据的实时性传输和图象质量方面,其QoS一直得不到保证。特别是多路的情况,实时视频的传输质量随路数的增加会急剧下降。嵌入式视频服务器性能的瓶颈主要在于视频数据的传输上,因此缩短视频数据的传输时间就能提高视频服务器的性能。缩减视频数据的传输时间可以从两个方面入手:一:减少视频数据传输的信息量。主要通过采用高性能的压缩编码技术来减少传输的信息量。二:采用适合多媒体数据的传输协议。考虑到嵌入式的系统资源及其宝贵,故我们选用了目前编码效率最高的H.264[3]技术和专门为传输多媒体数据的RTP[4]传输协议设计了本文这套系统。实验结果表明,该嵌入式视频服务器在不影响图象质量的前提下,能够比以往的视频服务器占用更低的带宽。

  2 系统的硬件组成

  我们在设计中采用了HHARM2410嵌入式开发套件,它由核心板和底板组成,核心板上集成Samsung S3C2410 处理器(203M 的主频,100M的总线速度),64M SDRAM以及16M 的FLASH。底板上提供以下外设接口:一个四线RS-232 串口,一个USB HOST接口,一个10M/100M自适应以太网接口,一个TFT LCD接口, 一个触摸屏接口。操作系统采用裁减过的嵌入式Linux。该嵌入式视频服务器的结构框图如图1所示。



图1 嵌入式视频服务器硬件组成

  应用程序通过编码器模块采集H.264视频流,按照RTP协议实时打包,并通过以太网接口 实现实时流传输( IP Streaming) 。另外还可以扩充一块802. 11b /g无线模块,来达到无线网络传输的目的,并可通过IDE接口扩充一块IDE硬盘作为本地H.264视频图像存储之用。

  3 服务器软件设计

  服务器是整个系统的核心,它工作在嵌入式Linux平台上,嵌入式Linux是标准Linux经裁减得到的,同Linux一样,具有稳定,安全,高效率,实时性好等优点。服务器端采用模块化设计,从功能角度,服务器端的软件体系结构可划分为5个模块:采集模块,编码模块,网络传输模块,存储模块,设备控制模块。其体系结构如图2所示:



图2 服务器软件体系结构图

  (1)采集模块,主要完成视频的采集,图像格式的转换,在此处设定采集的图像格式为YUV。采用Linux的v4l[5]来实现,v4l是Linux中提供的一个音视频接口规范,所有的音视频设备的驱动编写要用到这些接口。

  (2)编码模块,主要完成对采集的图像的压缩编码。对采集到的图像数据进行压缩可以有两种方案,一种是用硬件来压缩,它可以有专用系统和通用系统两种形式,其中,专用系统使用专用芯片实现图像的硬件压缩,通用系统则利用通用芯片实现数据压缩。相对于通用系统,用专用芯片对图像用硬件进行压缩可以快速进行图象压缩,减少处理器的开销等点。第二种压缩方法就是用软件来实现,这种方法对机器的硬件配置要求较高,但运用起来灵活,考虑到现在硬件技术已经比较成熟,故我们采用第二种方案,对采集到的图像数据进行软压缩,此处利用H.264标准进行压缩。H.264压缩标准是一种新的编码方法。与其他压缩编码方式比较,利用H.264标准可以获得更高的压缩比及更好的图象质量。H.264编码器都是开源的,可以从网上下载,此处用的是t264,对采集到的YUV格式的数据进行逐帧压缩。

  (3)网络传输模块,完成现场多媒体数据及历史多媒体数据的网络的传输,用于支持浏览端的现场预览和记录回放功能。其基本过程是码流经码率控制部分进行码率调整,然后由RTP组件传送到网络中。传输启动之初,组播控制器根据多用户代理提供浏览端的组播策略来协商组播策略;传输过程中,RTCP组件实时监测网络状况并反馈給决策控制器,决策控制器控制分离器、视频抽帧器和码流复合器组件,完成码流的动态整合。其传输体系结构如图3所示:



图3视频流传输体系结构

  (4)存储模块,多个摄像头采集的多路视频数据经编码压缩后形成复合媒体流,通过存储组件,存为H.264文件,同时向数据库中写相应的文件信息。


  (5)设备控制模块,设备控制器接收用户界面发出的或网络传送来的控制命令,控制解码器,完成对云台、镜头等设备的控制。

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

网站地图

Top