1 WiFiDisplay简介
1.1WiFiDisplay概述WiFiDisplay(WFD)是WiFi联盟在已有技术的基础上,为了加速视/音频的传输分享而提出来的一个新概念。WiFi联盟对此成立了一个认证项目:Miracast-- 用来认证一个设备是否支持WiFiDisplay功能。
下图是WiFiDisplay功能的技术支撑体系,实际上最重要的部分就是WiFi Direct:也就是两个设备无需AP(AccessPoint)的情况下直接相连,这就奠定了两个带WiFi功能的设备能够随时传递高质/高清视频的前提。另外,其他深蓝色的技术是必须支持的:
11n:即802.11n协议,支持最高传输速度540Mbit/s;
WMM:即WiFi Multimedia的简称,主要针对不同的数据内容保证其传输的稳定和质量;
WPA2:是WiFi联盟对于采用802.11i协议并采用更为复杂加密算法的认证项目;
WiFi ProtectedSteup:也是一个WiFi联盟的一个认证项目:简化用户安装无线局域网和对安全性能的配置工作;
WiFi Direct:表示设备可以实现直接互联,无需AP的参与;
WiFi Miracast:即为是否可以实现wifi-display功能的认证项目。
图 1 WiFiDisplay技术支撑架构
另外,WiFi联盟还描述了WiFiDisplay的简化工作模型(图2)。在这个工作模型中,Miracast定义传输视/音频数据的一方为source端;接受数据并重新呈现的为sink端。从图中可以看到,source端要有数据内容的存储和下载/生成能力;对数据进行编码能力。而sink端则需要对数据的解码能力;对视/音频进行再度呈现的能力。而Miracast则是定义了这两个设备之间,怎样保持会话;可以传输数据的格式标准;会话控制等内容。
图 2 WiFiDisplay的工作模型
1.2 WiFiDisplay重要规范及标准
WiFi联盟定义了Miracast支持的视/音频格式标准:
图 3 Miracast支持的显示、视频、音频格式标准
同时,Miracast也规范了设备连接后进行协商(图4)、建立会话的流程(图5)。详细描述了设备在建立物理连接后,通过标准步骤来完成WiFi Display的会话建立,然后开始数据传输。关于各个标准步骤的详细信息,请见Miracast官方解释。
图 4 Miracast定义的设备协商标准过程
图5 Miracast定义的显示会话建立过程标准
2 主要模块介绍
由于WFD功能主要涉及wifiP2P功能和display功能,现对Android中涉及的两个模块wifiP2pService和SurfaceFlinger做一些介绍。
2.1 WiFiP2P
2.1.1 WiFiP2P简介
WiFiP2P是WiFi联盟提出的一项重要技术规范,它定义了两个wifi设备如何在没有路由的情形下连接并通信。根据定义,支持WiFiP2P的设备需要扮演P2P GroupOwner或P2P Client角色来形成一个P2P Group:
图6 WiFiP2P工作组模型
其中P2P Group Owner的设备需要发挥传统路由的功能:控制WiFiP2P工作组,使能设备通信等;P2PClient设备则需要连接上P2P Group Owner设备来形成一个工作组来通信。
在以上的工作模型基础上,WiFiP2P细化了以下技术项: