基于电力线通信和流媒体视频监控系统设计

2014-12-18 11:39李晓伟宋旭文
电子科技 2014年3期
关键词:电力线编码传输

李晓伟,宋旭文

(西安电子科技大学电子工程学院,陕西西安 710071)

随着人们安全防范意识的不断增强,视频监控系统以其直观、方便、信息内容丰富等优点而广泛应用于金融、交通、公安、电力、宾馆等领域。目前,市场上的监控系统大多采用以太网作为传输媒介,因此在许多场合需要重新布线,而这样必然导致成本的增加。电力线通信技术(Power Line Communication,PLC)是利用电力线网络传输数据的一种通信方式。作为世界上覆盖范围最广的网络,电力线作为视频监控系统的接入和传输媒介,具有无需额外布线、组网方便、成本低等优点。目前,国际上已制定了电力线通信的相关标准,如 14 Mbit·s-1的 HomePlug 1.0 标准,85 Mbit·s-1的 HomePlug 1.0 Turbo 标准以及 200 Mbit·s-1的HomePlug AV标准[1],形成了一整套PLC技术标准体系,基本覆盖了所有电力线通信的应用领域。

本文提出了一种基于电力线通信技术的视频监控系统,系统分为前端视频服务器终端、电力线传输网络、视频监控中心3部分。视频服务器端由摄像头采集视频数据,经过 ARM11微处理器 s3c6410进行H.264硬件编码[2-3]、RTP 封包后发送给电力线载波模块,电力线载波模块将其封装成PLC帧格式后通过电力线网络进行传输;视频监控中心接收到电力线上传输的数据后先由电力线载波模块进行解调,之后传输给监控中心的计算机进行软件解码处理,最后显示实时视频。电力线载波视频监控的显著优点就是分布范围广,能够容易地在居民小区、工厂企业、超市、医院等地方布局,无需重新布线或改造,可实现即插即用,轻松构建网络化监控平台。

1 系统总体设计

系统总体结构如图1所示。

总体系统分为硬件设计和软件设计。硬件设计部分主要包括视频采集模块、s3c6410微处理器模块、PLC调制解调模块。其中,s3c6410微处理器模块是硬件系统设计的核心,它负责整个嵌入式系统的管理与调度。通电后,s3c6410微处理器自动加载相关外围硬件设备驱动,控制视频采集模块获取实时视频流数据,并对获取的数据进行H.264硬件编码,之后对其进行RTP封包并通过RJ45网络接口发送到PLC调制解调模块,最后由PLC调制解调模块进行PLC帧格式的封装并发送到电力线网络进行传输。

图1 视频监控系统结构框图

软件设计工作分为前端视频服务器端软件和监控中心软件两部分。前端视频服务器软件设计包括建立嵌入式Linux开发环境、移植摄像头和网卡等相关外围设备驱动程序、编写视频数据采集和H.264压缩编码代码、编写通信模块代码等。监控中心软件设计包括网络数据接收及解包模块代码、视频数据解码模块代码以及界面显示代码。系统软件流程如图2所示。

图2 系统软件流程图

2 系统硬件设计

2.1 ARM处理器模块

该模块硬件电路设计框图如图3所示。

图3 ARM处理器模块硬件设计框图

系统主控芯片采用三星公司基于ARM1176JZFS内核的S3C6410处理器,这是一款低功耗、高性价比的RISC处理器,拥有强大的内部资源和视频处理能力。它内部集成了一个 MFC(Multi-Format video Codec),支持MPEG -4、H.263、H.264等多种视频编解码标准。

NANDFlash采用容量为256 MB的K9F2G08U0M芯片,用来存放启动代码、内核代码、根文件系统及应用程序。SDRAM使用两片64 MB的Samsung K4X51163PC芯片,工作电压为3.3 V,用于存取系统运行时的程序和数据。以太网卡芯片采用台湾DAVICOM公司生产的10/100 Mbit自适应以太网卡芯片DM9000AE,从而实现以太网物理层和数据链路层的连接。

2.2 PLC调制解调模块

该模块硬件原理框图如图4所示。

图4 PLC调制解调模块硬件原理框图

模块采用Intellon公司的INT6400和INT1400芯片组作为核心芯片[4]。INT6400的内核是基于ARM926EJ-S的32位处理器,作为一个MAC和PHY一体化的电力载波芯片,INT6400完全遵循HomePlug AV标准。

通电启动前,系统软件已经固化存储在SPI Flash中,系统启动时,代码被拷贝到SDRAM中运行。RJ45接口的数字信号通过PHY芯片AR8032的MII接口传输到 INT6400,经过 D/A转换变成模拟信号,再由INT1400进行放大处理后经耦合电路耦合到电力线上进行传输,完成一次典型的发送过程。接收过程刚好相反,只是从电力线上接收到的信号在耦合之后还需要经过一个带通滤波器,进行降噪处理后再送到INT1400进行增益调节。

传输过程中,数据的收发控制和系统任务调度由INT6400内部的ARM9内核完成。

3 系统软件设计

系统软件设计分为前端视频服务器终端软件设计和视频监控中心软件设计两部分。

3.1 视频服务器终端软件设计

视频服务器终端的软件设计主要包括嵌入式Linux系统定制和应用程序开发组成。系统采用Linux2.6.36作为嵌入式平台的操作系统,通过对内核的裁剪移除本系统不需要的外围设备驱动,并移植了USB摄像头驱动、DM9000AE网卡等驱动程序,这样就构建了应用程序稳定运行所需要的操作系统环境。应用程序开发是该软件模块设计的核心,主要包括视频数据采集、H.264硬件编码、RTP协议打包传输3部分。

3.1.1 视频数据采集

在Linux系统中,摄像头作为视频采集设备,其编程操作遵循 V4L2[5](Video for Linux 2)规范。V4L2是Linux下视频采集设备的标准API,它为用户空间提供了一套完整的接口函数,通过这些函数可以对视频采集设备进行打开、读写、关闭等操作。

视频采集流程如图5所示。首先调用open()函数以阻塞方式打开摄像头设备,设备名为”/dev/video0”,然后通过ioctl()函数设置视频采集参数,如图像大小、对比度、数据格式等,例如设置的数据格式为YUV422。在V4L2中有两种读取数据采集方式:一种是通过调用read()函数直接读取设备;一种是通过内存映射函数mmap()将视频数据映射到用户缓冲区再进行读取。后者更加方便高效,因此本文采用第二种方式读取采集数据。采集到的视频数据为YUV422格式,而 H.264编码器要求的输入视频格式为YUV420P,因此为了将采集到的视频数据送至H.264编码器编码,还需要将YUV422格式的视频数据转化为YUV420P格式,转换过程通过FFmpeg开源库提供的API完成。

图5 视频采集流程图

3.1.2 H.264编码

S3C6410处理器内部集成一个多媒体硬件编解码模块 MFC[6],支持 MPEG - 4、H.263、H.264 编解码,具有良好的编解码性能。文中通过该MFC模块进行H.264硬件编码,操作系统加载了MFC驱动后,应用程序可以像操作普通函数文件一样调用MFC函数接口完成视频数据H.264硬件编码。

3.1.3 RTP协议打包及传输

H.264编码后的视频数据分为两个不同的层:视频编码层(Video Coding Layer,VCL)和网络适配层(Network Adaptation Layer,NAL)。视频编码层主要负责以高效的编码方式表示视频数据,而网络适配层则根据网络要求对数据进行封装,使得视频编码层数据适于网络传输。根据RFC3984[7],H.264视频流的封包模式有3种:单一NAL单元模式,组合封包模式和分片封包模式。(1)对于长度<MTU(最大传输单元)大小的NAL单元,将其放入RTP包的载荷部分,构成一个RTP包;(2)对于图像参数集、序列参数集等长度特别小的NAL单元,将其进行组合后放入一个RTP包;(3)如果NAL单元的长度>MTU,则对该NAL单元进行分片分割后,分别放入几个RTP包。

封装后的RTP包通过UDP协议的套接字经由网络接口发送到PLC调制解调器模块进行PLC帧格式的封装,之后通过电力线网络发送出去。

3.2 监控中心软件设计

监控中心软件主要完成H.264视频数据流接收、软件解码以及界面显示。网络数据的接收,采用UDP Socket套接字编程,H.264视频流的软件解码采用开源免费快平台的视频和音频流解决方案FFmpeg完成,界面显示通过调用开源跨平台的多媒体库SDL(Simple DirectMedie Layer)完成。监控中心软件流程如图6所示。

图6 监控中心软件流程图

图7 监控效果图

4 系统测试及分析

在实验室内进行测试,监控前端采用本文设计的视频服务器终端,监控主机采用PC机。监控前端设置视频采集分辨率为640×480,视频传输速率为25帧/秒,分别运行服务器端程序和客户端程序,观察到视频监控效果如图7所示,视频播放流畅,较好地满足了实时性的要求。

5 结束语

结合电力线载波通信技术、流媒体技术,基于ARM11处理器S3C6410和嵌入式Linux操作系统,设计了一种可以通过电力线传输的视频监控系统,并在实验室内进行了组网实验。实验结果表明,该方案是可行的,较好地满足了视频监控的要求。但是,电力线作为通信媒介传输视频流时,传输质量与传输的距离、电网拓扑结构的复杂程度有很大关系。当传输距离过长,或室内电网拓扑过于复杂时,数据失真非常严重。

[1]ZENG Xu,LIANG Ming,LIU Huaizhi.Monitoring system of distribution running states based on broadband power line communication[C].Guangzhou:International Conference on Power System Technology,2006.

[2]郭巧云,许雪梅,李岸,等.基于ARM11的无线视频监控系统的设计[J].计算机测量与控制,2010,18(8):1786-1788,1791.

[3]WIEGAND T,SULLIVAN G.The emerging H.264/H.26L video coding standard [C].Rochester,NY:Tutorial at ICIP,2002.

[4]Intellon.INT6400 homeplug AV MAC/PHY transceiver[M].USA:Intellon,2010.

[5]MICHAEL H S.Video for Linux two API specification revision 0.24[M/OL].(2008 -03 -04)[2013 -05 -10]http://v4l2spec.bytesex.org/v4l2spec/v4l2.pdf.

[6]Samsung.S3C6400/6410 Linux2.6.21 MFC API REV3.00[M].Korea:Samsung,2008.

[7]WENGER S,HANNUKSELA M M,STOCKHAMMER T.RTP payload format for H.264 video,RFC 3984[S].USA:Standards Bureau of United States,2005.

猜你喜欢
电力线编码传输
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
混合型随机微分方程的传输不等式
牵引8K超高清传输时代 FIBBR Pure38K
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
Genome and healthcare
关于无线电力传输的探究
基于电力线载波通信的智能限电装置
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线
基于硬阈值迭代的电力线载波通信脉冲噪声抑制方法