基于WiFiDirect的多屏融合系统的设计与实现

时间:2022-10-02 02:08:53

基于WiFiDirect的多屏融合系统的设计与实现

摘要:针对目前多屏融合系统占用家庭无线带宽过大且终端设备与路由连接不稳定的问题,提出了基于WiFi直连技术的多屏融合系统。该系统中,智能终端之间无需通过无线访问接入点直接进行对等网络连接,进而达到多屏互动内容流和显示流的无缝融合。介绍了系统的框架设计与实现,根据低时延、高兼容性的原则,完成了智能终端(如智能手机、电视等)上搭载的Android应用软件。实验测试结果表明:与依赖于无线局域网的传统多屏融合系统相比,该系统在运行时的播放时延和丢包率方面有明显改善,终端之间不仅连接稳定,而且连接距离提升约一倍,且系统无需占用无线局域网的带宽。

关键词:对等网络;多屏融合;接入点;接入带宽;信息共享

中图分类号: TP311.5 文献标志码:A

英文摘要

Abstract:To solve the problems of current multiscreen interaction systems such as high bandwidth occupancy of Wide Local Area Network (WLAN) and unstability between terminal devices and the router, a multiscreen interaction system based on WiFi Direct was proposed, which directly connected two intelligent devices not via any access points and delivered content of one device to the other. The design of the system was detailedly described. According to the the principles of low delay and high compatibility, the proposed system was realized by developing an Android APP used on a smart phone or a smart TV. The test of the proposed system in practice shows that time delay and packet loss rate have been reduced in comparison with conventional multiscreen system depending on the WLAN. Also, the connection provided by WiFi Direct between two devices is stable and the distance has been doubled. Besides, the structure of the proposed system has no request for WLAN bandwidth.

英文关键词

Key words:PeertoPeer (P2P); multiscreen interaction; access point; access bandwidth; information sharing

0 引言

多屏融合是指在无线局域网范围内,基于相同协议的各种智能设备能够相互发现,并将共享的多媒体资源相互推送至屏幕播放的技术[1]。作为三网融合业务应用的相关技术,多屏融合能够在网络层上实现业务的互联互通[2],用户使用不同的终端如智能手机、平板电脑、智能电视,都能够进行多媒体内容的解析、传输、展示及控制等一系列操作[3]。目前,该技术已开始广泛应用于智能电视领域,差异化的地方就在于系统的成熟度和用户体验[4]。

传统的多屏融合系统中两个终端之间的通信主要采用WiFi(WirelessFidelity)技术,一个终端(如智能手机)通过 无线访问接入点(Access Point,AP)进行转接,向另一个终端(如智能电视)传输多屏应用的高质量数据,采用这种通信方式不仅系统性能受限于WiFi信道质量,同时还会消耗大量的AP接入带宽,影响到其他Station终端(STA) [5]。

WiFi Direct即“WiFi peertopeer”,是在支持802.11标准的两台设备上基于对等网络(PeertoPeer,P2P)传输技术实现点对点的互联[6]。这样,多种终端设备之间无需通过AP即可实现直接连接,极大地提高了设备之间的数据传输效率,并且不占用AP的接入带宽。

本文将WiFi Direct直连技术运用到多屏融合系统中,将多屏应用从普通WiFi接入方式中解放出来,完成多屏互动的内容流和显示流无缝的融合[7]。

1 系统框架设计

基于WiFi Direct的多屏融合系统以Android通用apk安装包的形式,在Android手机、平板电脑或智能电视上安装运行。作为P2P对等结构,软件内容相同,用户自行决定客户端设备和服务器端设备。

一般来说,以小屏(如智能手机)作为客户端,大屏(如智能电视)作为服务器端,小屏移动终端向大屏显示设备进行实时的数据流传输,可有效扩展移动终端的展现力[8]。

针对低功耗、低时延的应用要求,基于WiFi Direct的多屏融合系统架构设计如图1所示,该系统实现于Android操作系统,主要包括三个层次的模块设计:应用层、框架层和核心类库。

1)应用层:系统进行与用户之间的交互,比如多屏融合软件的安装、用户界面补充中文全称(User Interface,UI)的打开、设备的管理和多屏融合的具体操作等。

2)框架层:统一管理应用层的各类相关组件。在本层,使用.wifi.p2p包提供的WiFi Direct相关API进行上层应用的开发,具体包括7个class和9个interface;同时,屏幕抓取功能的实现也使用这一层的Android系统屏幕采集软件工具开发包(Software Development Kit,SDK)补充中文全称。

3)核心类库:向框架层的服务提供接口并完成核心运算。WiFi Direct协议栈的内容工作在本层,实现设备间的请求-应答的通信处理和数据的发送接收等主要功能[9];同时,多屏融合运行所产生的多媒体数据流,尤其是屏幕数据也调用本层的编解码类库加以运算。

2 系统实现

2.1 WiFi Direct的实现

2.1.1 WiFi Direct模块结构

1)模块WiFiActivity类实现可用设备的发现、连接及断开连接,并可显示设备连接的详情。应用程序通过创建类BroadcastReceiver的继承类模块WiFiBroadcastReceive来通知WiFi的状态及事件。

2)模块WiFiBroadcastReceive类作为一个广播接收器,监听WiFi Direct事件并把结果传递给模块WiFiActivity,通过WifiP2pManager类的行为描述函数来请求可用的节点, 在请求连接成功后获得组用户的IP。

3)模块DeviceList显示活动的节点和状态。设备状态可以分为以下5 种:设备可用(AVAILABLE)、无可用设备(UNAVAILABLE)、设备已邀请(INVITED)、设备已连接(CONNECTED)和设备连接失败(FAILED)。

4)模块DeviceDetail显示被选择设备的细节,同时进行驱动设备连接、断开和数据传输[10]。

2.1.2 WiFi Direct配对流程

1)创建一个继承自BroadcastReceiver的WiFi Direct意图使用的广播接收器;

2)创建一个WiFi Direct的应用WifiP2p Manager.discoverPeers()开始扫描设备;

3)获取扫描到的设备,选择其中一个设备进行连接配对WifiP2pManager.connect;

4)配对成功,根据WifiP2pInfo.isGroupOwner和WifiP2pInfo.groupOwnerAddress进行连接。整个配对流程如图3[11]所示。

2.1.3 WiFi Direct数据传输

WiFi Direct连接建立后通过socket在客户端和服务器端之间进行数据的传输,步骤如下:

1)创建一个服务器端ServerSocket对象,因为服务器端等待来自指定地址和端口的客户端的连接,使用accept()方法阻塞服务器端线程直到连接发生,所以把它建立在一个后台线程里;

2)创建一个客户端socket,这个socket对象使用指定地址和端口去连接服务器端设备;

3)通过字节流从客户端给服务器端发送数据;

4)服务器端可以接受来自客户端的数据并执行关于数据的任何动作,比如保存数据或者直接显示到屏幕。

2.2 屏幕采集及编解码的实现

2.2.1 客户端采集及编码

对于Android系统而言,获取屏幕数据的方法有很多种,在实现效果上会有所差别,主要可分为两种:第一种是在底层直接读取framebuffer缓存中的屏幕数据[12];第二种是调用顶层的Android SDK进行截屏。

第一种方式中,于底层读取framebuffer里的屏幕数据,需要额外使用第三方的图像编码库(如ffmpeg等),封装后以JNI的方式提供给Android应用层调用,系统资源占用相对较高;所以本文选用第二种Android自带的截屏SDK――Screen Capture完成对屏幕实时内容、宽高信息等的读取和编码,然后利用WiFi Direct打包socket发送。

2.2.2 服务器端解码

服务器端对接收到的已编码的屏幕数据使用Android核心graphics包提供的Bitmap系列相关接口进行解码,其中的BitmapFactory类可以从一个指定数据流中,利用decodeResource()解出(实例化出)Bitmap,然后利用setImageBitmap()将其显示在屏幕上。

为了减少本软件运行时对服务器端系统资源的占用,这里使用AsyncTask类对解码线程和UI线程进行包装[13],将解码线程剥离至后台,执行异步任务,把运行结果向UI线程通信。

3 实验与分析

3.1 系统功能实验

3.1.1 实验环境

客户端 华为手机荣耀3X一部,CPU型号MT6592M,系统版本Android 4.2,WiFi芯片Marvell 8686;

服务器端 海信智能电视LED55XT770G3D一台,系统版本Android海信订制版2.2(支持WiFi Direct);

软件搭载 基于WiFi Direct的多屏融合系统软件。

3.1.2 实验内容及结果

1)在智能手机和智能电视上分别启动软件,经过设备搜索、配对后,二者通过WiFi Direct建立连接,以手机作为客户端,以电视作为服务器端。

2)在手机上进行各种常规操作,比如观看网络视频,观察后台是否同步进行实时的截屏传输,电视显示与手机是否保持一致。

3)逐项对系统各基本功能进行实验,结果如表1。

3.2 WiFi Direct性能实验

3.2.1 实验环境

为了在文中体现性能对比场景的真实性,使用了另一传统场景即WiFi覆盖的实验室内无线局域网环境中的多屏融合系统,与基于WiFi Direct的多屏融合系统作对比实验,如图4所示。

局域网WiFi多屏融合系统的实验环境如下:

客户端 Cortex A8 Real210开发板,WiFi芯片APM6658,搭载嵌入式Ubuntu2.0.34系统。

服务器端 ThinkPad E40笔记本电脑,搭载Ubuntu13.04系统(客户端与服务器端均无法使用WiFi Direct,确保对比实验的准确性)。

网络环境 TPLINK TLWR842N 300M无线路由器覆盖的实验室内局域网(实验室其他成员约20人正常使用无线路由,即路由带宽资源占用较多)。

软件 客户端采用读取/dev /fb0屏幕信息再用ffmpeg中第三方库libavcodec编码,进而用UDP打包通过WiFi发送的方式;服务器端使用Qt编写的简易显示窗口。

基于WiFi Direct的多屏融合系统实验环境仍如3.1.1节所示。

3.2.2 实验内容及结果分析

两个系统均进行各项常规操作,代码中内嵌的clock_gettime()等函数直接计算编解码耗时;丢包率也通过getruntime()等函数主动计算;用Ubuntu及Android操作系统均自带的功能“GPU显示配置文件”测试播放帧率。

运行时的各项性能参数对比如表2。

从对比测试结果看出,在编解码耗时基本相当的情况下,基于WiFi Direct的多屏融合系统较之普通的局域网WiFi多屏融合系统在播放帧率上带来了提升;系统的应用距离,即终端设备之间的传输距离增长了约一倍;网络丢包率下降,使得系统的稳定性得到了很好的改善;同时,多屏融合采用P2P的模式进行,使局域网AP的接入带宽得到了释放。

4 结语

本文选用WiFi Direct无线数据传输方式,并使用智能终端设备上搭载的Android系统编解码开发接口,设计并实现了基于WiFi Direct的多屏融合系统。实验测试表明:在帧率、网络稳定性和传输距离等方面,本系统相较于当下依赖无线局域网的多屏融合系统具有明显优势,尤其是节省了局域网AP的接入带宽,更适合在智能家居中应用推广。同时,本文的多屏融合软件具有较好的兼容性,在4.0及以上内核版本的Android系统均可安装运行。需要指出的是,虽然用户可以自主选择终端进行连接,但暂时无法进行加密,共享数据安全性得不到保障,下一步工作将对这个因素加以考虑作进一步研究。

参考文献:

[1]STAADT O G, WALKER J, NUBER C, et al. A survey and performance analysis of software platforms for interactive clusterbased multiscreen rendering [C]// EGVE03:Proceedings of the Workshop on Virtual Environments 2003. New York: ACM, 2003: 261-270.

[2]YUAN C, ZHANG J, YAO J. Present status and development of network convergence [J]. Journal of Beijing University of Posts and Telecommunications, 2010, 33(6): 1-8. (袁超伟,张金波,姚建波.三网融合的现状与发展 [J].北京邮电大学学报,2010,33(6):1-8.)

[3]SOLIMAN M, ABIODUN T, HAMOUDA T, et al. Smart home: Integrating Internet of things with Web services and cloud computing [C]// Proceedings of the 2013 IEEE 5th International Conference on Cloud Computing Technology and Science. Piscataway: IEEE, 2013, 2: 317-320.

[4]ROSSI L, BELLI A, de SANTIS A, et al.Interoperability issues among smart home technological frameworks [C]// Proceedings of the 2014 IEEE/ASME 10th International Conference on Mechatronic and Embedded Systems and Applications. Piscataway: IEEE, 2014: 1-7.

[5]JINDAL S, JINDAL A, GUPTA N. Grouping WIMAX, 3G and WiFi for wireless broadband [C]// Proceedings of the 2005 First IEEE and IFIP International Conference in Central Asia on Internet. Piscataway: IEEE, 2005: 5.

[6]PAULSON L D. A new WiFi for peertopeer communications [J]. Computer, 2008, 41(6): 19-21.

[7]CHEN J, LIN Y, MA K, et al. Research on production of regional animation style based on computer graphic rendering [C]// Proceedings of the 2013 IEEE International Conference on Green Computing and Communications, Internet of Things and Cyber, Physical and Social Computing. Piscataway: IEEE, 2013: 1935-1939.

[8]NG S. A brief history of entertainment technologies [J]. Proceedings of the IEEE, 2012, 100(Special Centennial Issue): 1386-1390.

[9]CALLAWAY E, GORDAY P, HESTER L, et al.Home networking with IEEE 802. 15. 4: a developing standard for lowrate wireless personal area networks [J]. IEEE Communications Magazine, 2002, 40(8): 70-77.

[10]XU G, SHI W. Research and realizing on multiple screens fusion technology [J]. Application of Electronic Technique, 2014, 40(1): 119-121, 124. (徐国强,师卫.多屏融合技术的研究与实现[J].电子技术应用,2014,40(1):119-121,124.)

[11]CAMPSMUR D, GARCIASAAVEDRA A, SERRANO P. Devicetodevice communications with WiFi Direct: overview and experimentation [J]. IEEE Wireless Communications, 2013, 20(3): 96-104.

[12]LEE S, JEON J W. Evaluating performance of Android platform using native C for embedded systems [C]// ICCAS: Proceedings of the 2010 International Conference on Control Automation and Systems. Piscataway: IEEE, 2010: 1160-1163.

[13]NAUMAN M, KHAN S, ZHANG X. Apex: extending Android permission model and enforcement with userdefined runtime constraints [C]// ASIACCS10: Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security. New York: ACM, 2010: 328-332.

上一篇:“四个全面”彰显忧患与担当 下一篇:基于用户标注行为的潜在好友推荐