基于多屏协同的智能电视人机交互系统
2016-12-26黄兴旺刘春梅
黄兴旺 孙 鹏 韩 锐 刘春梅
1(中国科学院声学研究所国家网络新媒体工程技术研究中心 北京 100190)2(中国科学院大学 北京 100190)
基于多屏协同的智能电视人机交互系统
黄兴旺1,2孙 鹏1韩 锐1刘春梅1
1(中国科学院声学研究所国家网络新媒体工程技术研究中心 北京 100190)2(中国科学院大学 北京 100190)
基于多屏协同的智能电视人机交互系统定义了移动设备对智能电视的远程操控和文本输入的通信机制,以解决用户对智能电视的操作不灵活的问题,尤其改善用户的文本输入操作体验。该通信机制稳定、可扩展性强,适用于不同平台的远程操控和文本输入需求。该系统基于UPnP协议实现了快速连接移动设备和智能电视,并且以Android系统广播机制和输入机制为依据,提出了基于虚拟驱动的输入扩展机制,达到了原生鼠标键盘事件的效果,实现了利用移动设备对智能电视进行交互控制的设计。实验证明,该人机交互系统,具有无缝连接、操作简单的优点,尤其适合用户进行文本输入操作。
Android平台 智能电视 移动设备 人机交互 UPnP协议 远程操控 文本输入
0 引 言
由于传统家庭电视设备难于交互,特别是进行内容搜索、文本输入时,遥控器难以操作、速度慢等,因此研制智能电视人机交互系统,实现移动设备对智能电视的远程操控、文本输入,对于提升数字家庭用户娱乐体验有十分重要的意义。当前,多源聚合、多屏互动、云电视等,兴起了电视领域的新一轮技术演进浪潮。其中,多屏互动技术[1],因其能使智能电视不但能够为用户提供类型多样的应用,也可以借助智能移动终端,为用户提供更加丰富的交互体验,即提供多屏协同功能,因而成为包括苹果、微软、小米等众多厂家研究的热点。本文基于以上两点,研究实现基于多屏协同的人机交互系统,为用户提供更加良好的功能和服务。
在人机交互研究方面,其中一类研究是基于触摸屏的二维手势识别交互研究。文献[2]通过为触摸交互应用,构建模型,重用手势来提高交互一致性。文献[3]提出了基于简单触摸手势的通用描述框架,向设计者提供一种较为系统化和标准化的方法,提高交互手势系统的设计的通用性。文献[4]基于用户行为习惯和遥控操作的差异性,提出基于触摸屏手势特征设计并定义触摸控制手势的类型和算法。上述人机交互遥控系统都偏重于手势识别方面,而未关注遥控通信建立阶段却存在连接建立慢、繁琐的问题。文献[5]中提出的多屏互动系统,采用自己设计的通信协议,并且基于TCP实现,交互通信稳定。但该系统服务器一个时刻只能有一个授权客户端,并且需要用户输入智能电视IP地址的操作才能建立通信连接,对于普通用户而言要求太高。
由于Android系统[6]是目前国内智能电视的主流操作系统,开源并且具有Google和众多开源社区的强力支持,因此,本文以此为平台进行系统设计和实现,尤其利用了一些Android系统优良的系统特性,实现了包括虚拟驱动输入机制等特定功能。
1 系统结构
本系统主要包括三方面:建立移动设备和智能电视之间的通信;智能电视对移动设备的命令进行解析和执行以实现操作映射;在文本输入阶段,移动设备获取智能电视文本输入需求并对智能电视的命令进行解析和执行,以实现移动设备文本输入对智能电视的映射。由此实现智能移动终端控制智能电视和辅助智能电视进行文本输入操作,达到多屏协同。
图1是基于多屏协同的智能电视人机交互系统结构,包括智能电视的功能模块层次结构。
图1 智能电视交互系统结构
在智能电视中,主要包括以下模块:
(1) UPnP:通用即插即用协议模块,主要功能是快速建立移动设备和智能电视的设备互连。
(2) 带外通信模块:用于建立和移动设备的Socket通信连接,传输信令消息。
(3) 解析模块:解析来自UPnP或带外通信模块的信令消息。
(4) 虚拟驱动:通过JNI从解析模块中获取移动设备传来的信令,实现原生键盘、鼠标输入效果,从而完成远程操控和文本输入操作。
图2是移动设备系统模块,包括界面响应部分和后台信息处理部分。
图2 移动设备交互系统模块
在移动设备中,相应的模块描述如下:
(1) UDP模块:将信令以预先定义的消息通信格式发送给智能电视,或者接收来自智能电视的消息。
(2) UPnP模块:建立移动设备和智能电视的互连互通,并获取智能电视的IP地址。
(3) 带外通信模块:利用UPnP模块获取的智能电视IP建立带外通信,实现家庭网络环境中的稳定通信。
(4) 远程操控模块:利用带外通信传输从触摸屏上获取的键值。
(5) 文字输入模块:利用带外通信传输触摸屏上输入的文本内容。
2 UPnP技术实现设备互连
UPnP技术[7]支持家庭网络内的对等连接,支持设备间的互联互通。使用UPnP(即通用即插即用协议),设备能动态加入网络,可自动获取IP地址,接着向其他UPnP设备宣告它的能力和服务(service),或者获得其他UPnP设备的存在和服务(servcie),上述过程都是协议规定中自动完成的,此后这些设备便可相互通信[8]。本文即采用UPnP技术实现设备互联。
当一个设备被添加到家庭网络后,UPnP的发现部分协议,允许其向家庭网络中的控制点等设备,以组播方式宣告自己可以提供的服务。而当控制点被添加到家庭网络时,UPnP发现部分协议,允许这个控制点设备,通过M-Search的方式来对家庭网络上其感兴趣的设备进行搜索。上述的两种情形下的组播消息内容,通常是设备与服务的基本内容信息,像它的类型、当前状态参数、唯一标识符等。发现的过程可以如图3所示。
图3 UPnP设备发现技术
利用UPnP设备发现技术,移动设备便可以获得所连接的智能电视的IP地址。由于在家庭网络环境下,存在多个移动设备连接同一智能电视的情况,如果采用TCP连接进行信令传送,需要维护当前所有已连接的移动设备的IP地址,并且需采用合适的策略,判定哪个IP地址是当前需要对电视进行操控的移动设备的IP。而采用UDP协议,智能电视端只需要维持一个最新连接的移动设备的IP地址,因此,UPnP设备连接建立后,后续的远程操控和文本输入以UDP为基础,进行信令传送。
3 远程操控模块
远程操控模块:首先,通过UPnP实现智能电视与移动设备的设备互联,移动设备从而获取智能电视IP地址,并由此可建立从移动设备向智能电视发起的UDP通信;然后,移动设备将触摸屏上获得的操作对应的键值等信息通过该UDP通信机制传递给智能电视;智能电视收到来自移动设备的命令后,通过对命令进行解析,读取命令类型和键值,然后借助Android系统的输入机制,达到原生鼠标键盘事件的效果。整个操作控制交互流程如图4所示。
图4 远程操控交互
本文借助Android系统的输入机制,提出一种基于虚拟驱动的输入扩展机制。通过建立一个事件处理机制,将Android应用获得的操控消息,在用户空间经过理解映射写入设备文件,转换为原生的鼠标键盘等输入事件,注入内核空间,可向所有应用程序分发该输入事件。内核收到重新注入的事件之前的过程都是透明的,对内核而言,这些事件与直接由键盘鼠标输入的事件没有差别。通过这种方式将既保证了事件基于系统中规范的通道被传递,又避免了将事件映射过程写入驱动。
在用户空间建立事件映射服务进程,从Android应用读取操控消息,统一映射之后再通过虚拟驱动实现对内核的透明输入。基于虚拟驱动的输入方式扩展原理如图5所示。
图5 基于虚拟驱动的输入扩展机制
由Android应用专门的服务进程(extension-server)监听Socket端口[9],识别事件信息或网络数据包指令,并将其转换为预定义的键盘、鼠标的输入事件,经由虚拟驱动注入到内核输入子系统,从而实现不同交互手段的方便扩展。
Android应用与底层内核的交互,需要通过JNI技术实现[10]。在本文的基于虚拟驱动的输入扩展机制中,在Java层定义输入事件的接口,匹配Native层[11]提供的输入事件的接口,从而可在Android应用中调用这些接口,实现键盘、鼠标事件的输入。
4 文字输入模块
在多屏互动场景中,当需要向智能电视输入文字时,如果通过遥控器操控,将会非常不便,这种情况下,用户需要频繁移动焦点以选择字符进行文本输入,不仅费时,而且容易出错。通过UPnP协议,利用手机等移动设备来输入,就会大大地增加便利性。
文字输入模块:需要实现的是在智能电视用户进入到输入文本框时,能够检测到与之连接的移动设备,通知移动设备进行文字输入,然后在移动设备开启文字输入的界面,进行文字输入,文字输入结束后,在智能电视的输入文本框中执行输入完成事件。
基于上述功能描述,移动设备和智能电视要进行信息的交互处理,因此本文设计利用UPnP的设备互连互通和服务交互,在智能电视和移动设备的服务上扩展出文字输入的功能,让智能电视端在找到连接的移动设备端的服务后,通过文字输入的功能接口将要进行文字输入的信息传递到移动设备端,当输入完成时,通知智能电视端服务执行输入完成指令。
具体实现这个功能时,我们还利用了智能电视端的输入法模块与其他应用进行文本框信息的交互,具体是指何时进入文本框、文本输入的信息交互和何时完成文本输入这三个事件,这部分交互我们采用Android系统广播的形式。为了实现移动设备控制智能电视进行文字输入,采用代码方式,动态地对广播接收者[12]进行注册,实现移动设备端从监听智能电视文字输入请求的应用到启用移动设备文字输入软键盘的动作。
在更新智能电视上的已输入文本内容时,本文采用的策略是:当移动设备端输入内容有变化即更新电视端显示内容,方便用户实时根据已输入的内容判断输入是否有误,这样符合用户正常的输入习惯,使得用户具有在自己移动设备上进行输入操作一样的体验。
当有文本输入的操作需求时,移动设备触摸屏上会有一个单击文本框的选定操作(借助于远程控制模块),该操作对应的会给智能电视发送一个命令,携带确认选中该文本框进行文本输入的命令。智能电视此时从该报文中,便能获得即将进行文本输入的移动设备的IP地址。通过该IP地址,智能电视端便能向移动设备发送命令报文,携带文本框的交互信息。移动设备收到报文请求后,解析报文内容,判断此时文本框的类型等信息。根据此时收到的报文内容,决定弹出的软键盘类型,并进行后续的文本内容输入操作。由于采用UDP协议进行后续操作,所以简化了维持连接IP地址池的工作,只需要维持最新收到的UDP报文中的IP地址一个全局变量即可。系统交互过程如图6所示。
图6 文字输入交互
本模块优点在于巧妙利用了用户在进行文本输入时的操作即选中文本框的动作来获知智能电视需要进行文本输入操作,并且借此获取文本输入类型,移动设备据此提供给用户合适的输入法软键盘。该方法解决了移动设备难以得知智能电视何时需要进行文本输入,以及对来自智能电视的命令进行解析,以调用合适的输入法的这一难点,从而实现移动设备输入的无缝切换。
5 实验与讨论
5.1 硬件参数
系统测试硬件平台为GIEC机顶盒(搭载GIEC Android SDK 4.4)、TPLink路由器和魅族2、华为P7手机,其中,GIEC机顶盒为智能电视硬件载体,TPLink路由器为网络连接设备,三星pad作为移动设备载体,接入同一无线局域网。交互界面如图7所示。
图7 交互界面
5.2 测试结果
本文在无线局域网内测试设备连接建立时间,通过Wireshark软件抓取数据通信报文,图8是其中一次测试中抓取的连接建立交互报文信息。
图8 设备连接建立交互报文示例
其中,SSDP报文为移动终端发出的搜索UPnP中MediaRender设备(这里即智能电视)的组播报文,而图中最后一个内容信息为“HTTP/1.1 200 OK”的报文即是智能电视给予移动终端的响应报文,表明UPnP设备连接经过约2.5秒建立。
本文在无线局域网内测试多个移动终端设备同时连接作为MediaRender的智能电视,测试输入时的无缝切换效果,如图9所示,两图中一个移动设备进行输入操作时,另一个移动设备不会因此受到影响(不会同正在输入的手机一样弹出软键盘)。
图9 多移动终端连接时切换设备输入示例
5.3 测试分析
多次测试结果表明,该系统设备连接建立时间小于3秒;采用了基于虚拟驱动的输入扩展机制的远程操控,其命令执行准确及时;文字输入便捷,比传统遥控器输入快2至3倍,能够极大提升文本输入效率,且能够在多移动终端连接时实现无缝切换。通过本人机交互系统操控智能电视运行其他应用时,也对移动设备的操作给予了正确的响应,验证了本系统方案的正确性。
与业界的同类系统相比,如文献[5]中提出的多屏系统,本文提出的系统能支持多个设备进行同时连接,也不需要用户输入智能电视IP地址来建立连接,操作简单。而文献[13]中所提到的多屏协同智能输入系统,它不具有远程控制功能,因而不能满足智能电视的遥控方面的需求。另外,本文提出并实现的系统,采用了用户选中文本框进行输入操作时的点击动作事件实现输入终端切换的策略,使该系统既具有支持连接多个移动设备的优点,又具有在各个移动设备间进行控制、输入操作时无缝切换的优点。
6 结 语
本文提出的基于多屏协同的智能电视人机交互系统,其设备互连建立在UPnP协议之上,连接快速;远程操作控制,基于虚拟驱动的输入扩展机制,实现了Android原生的操控效果;而本文设计并实现的文本输入法,能够有效解决传统遥控器难以进行文本输入操作的问题。此外,本方案适当扩展UPnP服务[14],能扩展成为当前热门的多屏互动系统,具有良好的可扩展性。不足之处在于,当家庭网络网络环境较差时,交互信令可能会有一定的网络延迟,这也是本文后续需要继续研究改进的方向。
[1] 余泽喜,王香婷,马婷婷.多屏互动系统的研究与实现[J].智能计算机与应用,2012,2(1):69-70.
[2] 薛娇,孙鹏,邓峰,等.基于触摸屏的手势遥控系统[J].计算机工程,2014,40(6):285-290.
[3] Lao S,Heng X,Zhang G,et al.A gestural interaction design model for multi-touch displays[C].British Computer Society Conference on Human-computer Interaction,2009,1(3):440-446.
[4] 张国华,衡祥安,凌云翔,等.基于多点触摸的交互手势分析与设计[J].计算机应用研究,2010,27(5):1737-1739.
[5] 吴轶群,朱亚东,王明敏.基于Android平台的多屏互动系统设计[J].计算机应用与软件,2014,31(10):234-238.
[6] 曾健平,邵艳洁.Android系统架构及应用程序开发研究[J].微计算机信息,2011(9):1-3.
[7] Miller B A,Nixon T,Tai C,et al.Home networking with Universal Plug and Play[J].IEEE Communications Magazine,2002,39(12):104-109.
[8] 陈艳.基于UPnP的数字电视机顶盒控制技术的研究[J].电脑知识与技术,2013(1):162-164.
[9] 哈诺德.Java网络编程[M].中国电力出版社,2005.
[10] Cinar O.Pro Android C++ with the NDK[M].Apress,2012.
[11] Meier R.Professional Android 4 application development[M].John Wiley & Sons,2012.
[12] 秦建平.Android 编程宝典[M].北京航空航天大学出版社,2013.
[13] 四川长虹电器股份有限公司.多屏协同智能输入系统及其实现方法:中国,CN201310566456.X[P].2014-2-26.
[14] 李腾.基于UPnP的多屏互动实现[D].北京邮电大学,2014.
SMART TV HUMAN-COMPUTER INTERACTION SYSTEM BASED ON MULTI-SCREEN COLLABORATION
Huang Xingwang1,2Sun Peng1Han Rui1Liu Chunmei1
1(NationalNetworkNewMediaEngineeringResearchCenter,InstituteofAcoustics,ChineseAcademyofSciences,Beijing100190,China)2(UniversityofChineseAcademyofSciences,Beijing100190,China)
The smart TV human-computer interaction system based on multi-screen collaboration defines a communication mechanism for mobile devices in regard to remote control and text input on smart TV so as to solve the problem that user’s control on smart TV is not flexible, in particular to improve user’s experience of text inputting operation. This mechanism is stable and has high scalability, and is suitable for the requirement of remote control and text input on different platforms. Based on UPnP protocol the system implements fast connection on mobile devices and smart TV, and presents the virtual drive-based input extension mechanism based on Android system broadcast mechanism and input mechanism, this achieves the effect of the native mouse and keyboard events, thus realises the design of using mobile devices to interactively control smart TV. Experiments show that this human-computer interaction system has the advantages of seamless connectivity and simple operation, and is particularly suitable for users in text input operation.
Android platform Smart TV Mobile devices Human-computer interaction UPnP Remote control Text input
2015-09-15。国家科技支撑计划课题(2012BAH73 F01);中国科学院战略性先导科技专项项目(XDA06040501)。黄兴旺,硕士生,主研领域:智能终端。孙鹏,研究员。韩锐,副研究员。刘春梅,助理研究员。
TP3
A
10.3969/j.issn.1000-386x.2016.11.012