黃興旺 孫 鵬 韓 銳 劉春梅
1(中國科學院聲學研究所國家網絡新媒體工程技術研究中心 北京 100190)2(中國科學院大學 北京 100190)
?
基于多屏協同的智能電視人機交互系統
黃興旺1,2孫 鵬1韓 銳1劉春梅1
1(中國科學院聲學研究所國家網絡新媒體工程技術研究中心 北京 100190)2(中國科學院大學 北京 100190)
基于多屏協同的智能電視人機交互系統定義了移動設備對智能電視的遠程操控和文本輸入的通信機制,以解決用戶對智能電視的操作不靈活的問題,尤其改善用戶的文本輸入操作體驗。該通信機制穩定、可擴展性強,適用于不同平臺的遠程操控和文本輸入需求。該系統基于UPnP協議實現了快速連接移動設備和智能電視,并且以Android系統廣播機制和輸入機制為依據,提出了基于虛擬驅動的輸入擴展機制,達到了原生鼠標鍵盤事件的效果,實現了利用移動設備對智能電視進行交互控制的設計。實驗證明,該人機交互系統,具有無縫連接、操作簡單的優點,尤其適合用戶進行文本輸入操作。
Android平臺 智能電視 移動設備 人機交互 UPnP協議 遠程操控 文本輸入
由于傳統家庭電視設備難于交互,特別是進行內容搜索、文本輸入時,遙控器難以操作、速度慢等,因此研制智能電視人機交互系統,實現移動設備對智能電視的遠程操控、文本輸入,對于提升數字家庭用戶娛樂體驗有十分重要的意義。當前,多源聚合、多屏互動、云電視等,興起了電視領域的新一輪技術演進浪潮。其中,多屏互動技術[1],因其能使智能電視不但能夠為用戶提供類型多樣的應用,也可以借助智能移動終端,為用戶提供更加豐富的交互體驗,即提供多屏協同功能,因而成為包括蘋果、微軟、小米等眾多廠家研究的熱點。本文基于以上兩點,研究實現基于多屏協同的人機交互系統,為用戶提供更加良好的功能和服務。
在人機交互研究方面,其中一類研究是基于觸摸屏的二維手勢識別交互研究。文獻[2]通過為觸摸交互應用,構建模型,重用手勢來提高交互一致性。文獻[3]提出了基于簡單觸摸手勢的通用描述框架,向設計者提供一種較為系統化和標準化的方法,提高交互手勢系統的設計的通用性。文獻[4]基于用戶行為習慣和遙控操作的差異性,提出基于觸摸屏手勢特征設計并定義觸摸控制手勢的類型和算法。上述人機交互遙控系統都偏重于手勢識別方面,而未關注遙控通信建立階段卻存在連接建立慢、繁瑣的問題。文獻[5]中提出的多屏互動系統,采用自己設計的通信協議,并且基于TCP實現,交互通信穩定。但該系統服務器一個時刻只能有一個授權客戶端,并且需要用戶輸入智能電視IP地址的操作才能建立通信連接,對于普通用戶而言要求太高。
由于Android系統[6]是目前國內智能電視的主流操作系統,開源并且具有Google和眾多開源社區的強力支持,因此,本文以此為平臺進行系統設計和實現,尤其利用了一些Android系統優良的系統特性,實現了包括虛擬驅動輸入機制等特定功能。
本系統主要包括三方面:建立移動設備和智能電視之間的通信;智能電視對移動設備的命令進行解析和執行以實現操作映射;在文本輸入階段,移動設備獲取智能電視文本輸入需求并對智能電視的命令進行解析和執行,以實現移動設備文本輸入對智能電視的映射。由此實現智能移動終端控制智能電視和輔助智能電視進行文本輸入操作,達到多屏協同。
圖1是基于多屏協同的智能電視人機交互系統結構,包括智能電視的功能模塊層次結構。

圖1 智能電視交互系統結構
在智能電視中,主要包括以下模塊:
(1) UPnP:通用即插即用協議模塊,主要功能是快速建立移動設備和智能電視的設備互連。
(2) 帶外通信模塊:用于建立和移動設備的Socket通信連接,傳輸信令消息。
(3) 解析模塊:解析來自UPnP或帶外通信模塊的信令消息。
(4) 虛擬驅動:通過JNI從解析模塊中獲取移動設備傳來的信令,實現原生鍵盤、鼠標輸入效果,從而完成遠程操控和文本輸入操作。
圖2是移動設備系統模塊,包括界面響應部分和后臺信息處理部分。

圖2 移動設備交互系統模塊
在移動設備中,相應的模塊描述如下:
(1) UDP模塊:將信令以預先定義的消息通信格式發送給智能電視,或者接收來自智能電視的消息。
(2) UPnP模塊:建立移動設備和智能電視的互連互通,并獲取智能電視的IP地址。
(3) 帶外通信模塊:利用UPnP模塊獲取的智能電視IP建立帶外通信,實現家庭網絡環境中的穩定通信。
(4) 遠程操控模塊:利用帶外通信傳輸從觸摸屏上獲取的鍵值。
(5) 文字輸入模塊:利用帶外通信傳輸觸摸屏上輸入的文本內容。
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為基礎,進行信令傳送。
遠程操控模塊:首先,通過UPnP實現智能電視與移動設備的設備互聯,移動設備從而獲取智能電視IP地址,并由此可建立從移動設備向智能電視發起的UDP通信;然后,移動設備將觸摸屏上獲得的操作對應的鍵值等信息通過該UDP通信機制傳遞給智能電視;智能電視收到來自移動設備的命令后,通過對命令進行解析,讀取命令類型和鍵值,然后借助Android系統的輸入機制,達到原生鼠標鍵盤事件的效果。整個操作控制交互流程如圖4所示。

圖4 遠程操控交互
本文借助Android系統的輸入機制,提出一種基于虛擬驅動的輸入擴展機制。通過建立一個事件處理機制,將Android應用獲得的操控消息,在用戶空間經過理解映射寫入設備文件,轉換為原生的鼠標鍵盤等輸入事件,注入內核空間,可向所有應用程序分發該輸入事件。內核收到重新注入的事件之前的過程都是透明的,對內核而言,這些事件與直接由鍵盤鼠標輸入的事件沒有差別。通過這種方式將既保證了事件基于系統中規范的通道被傳遞,又避免了將事件映射過程寫入驅動。
在用戶空間建立事件映射服務進程,從Android應用讀取操控消息,統一映射之后再通過虛擬驅動實現對內核的透明輸入。基于虛擬驅動的輸入方式擴展原理如圖5所示。

圖5 基于虛擬驅動的輸入擴展機制
由Android應用專門的服務進程(extension-server)監聽Socket端口[9],識別事件信息或網絡數據包指令,并將其轉換為預定義的鍵盤、鼠標的輸入事件,經由虛擬驅動注入到內核輸入子系統,從而實現不同交互手段的方便擴展。
Android應用與底層內核的交互,需要通過JNI技術實現[10]。在本文的基于虛擬驅動的輸入擴展機制中,在Java層定義輸入事件的接口,匹配Native層[11]提供的輸入事件的接口,從而可在Android應用中調用這些接口,實現鍵盤、鼠標事件的輸入。
在多屏互動場景中,當需要向智能電視輸入文字時,如果通過遙控器操控,將會非常不便,這種情況下,用戶需要頻繁移動焦點以選擇字符進行文本輸入,不僅費時,而且容易出錯。通過UPnP協議,利用手機等移動設備來輸入,就會大大地增加便利性。
文字輸入模塊:需要實現的是在智能電視用戶進入到輸入文本框時,能夠檢測到與之連接的移動設備,通知移動設備進行文字輸入,然后在移動設備開啟文字輸入的界面,進行文字輸入,文字輸入結束后,在智能電視的輸入文本框中執行輸入完成事件。
基于上述功能描述,移動設備和智能電視要進行信息的交互處理,因此本文設計利用UPnP的設備互連互通和服務交互,在智能電視和移動設備的服務上擴展出文字輸入的功能,讓智能電視端在找到連接的移動設備端的服務后,通過文字輸入的功能接口將要進行文字輸入的信息傳遞到移動設備端,當輸入完成時,通知智能電視端服務執行輸入完成指令。
具體實現這個功能時,我們還利用了智能電視端的輸入法模塊與其他應用進行文本框信息的交互,具體是指何時進入文本框、文本輸入的信息交互和何時完成文本輸入這三個事件,這部分交互我們采用Android系統廣播的形式。為了實現移動設備控制智能電視進行文字輸入,采用代碼方式,動態地對廣播接收者[12]進行注冊,實現移動設備端從監聽智能電視文字輸入請求的應用到啟用移動設備文字輸入軟鍵盤的動作。
在更新智能電視上的已輸入文本內容時,本文采用的策略是:當移動設備端輸入內容有變化即更新電視端顯示內容,方便用戶實時根據已輸入的內容判斷輸入是否有誤,這樣符合用戶正常的輸入習慣,使得用戶具有在自己移動設備上進行輸入操作一樣的體驗。
當有文本輸入的操作需求時,移動設備觸摸屏上會有一個單擊文本框的選定操作(借助于遠程控制模塊),該操作對應的會給智能電視發送一個命令,攜帶確認選中該文本框進行文本輸入的命令。智能電視此時從該報文中,便能獲得即將進行文本輸入的移動設備的IP地址。通過該IP地址,智能電視端便能向移動設備發送命令報文,攜帶文本框的交互信息。移動設備收到報文請求后,解析報文內容,判斷此時文本框的類型等信息。根據此時收到的報文內容,決定彈出的軟鍵盤類型,并進行后續的文本內容輸入操作。由于采用UDP協議進行后續操作,所以簡化了維持連接IP地址池的工作,只需要維持最新收到的UDP報文中的IP地址一個全局變量即可。系統交互過程如圖6所示。

圖6 文字輸入交互
本模塊優點在于巧妙利用了用戶在進行文本輸入時的操作即選中文本框的動作來獲知智能電視需要進行文本輸入操作,并且借此獲取文本輸入類型,移動設備據此提供給用戶合適的輸入法軟鍵盤。該方法解決了移動設備難以得知智能電視何時需要進行文本輸入,以及對來自智能電視的命令進行解析,以調用合適的輸入法的這一難點,從而實現移動設備輸入的無縫切換。
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]中所提到的多屏協同智能輸入系統,它不具有遠程控制功能,因而不能滿足智能電視的遙控方面的需求。另外,本文提出并實現的系統,采用了用戶選中文本框進行輸入操作時的點擊動作事件實現輸入終端切換的策略,使該系統既具有支持連接多個移動設備的優點,又具有在各個移動設備間進行控制、輸入操作時無縫切換的優點。
本文提出的基于多屏協同的智能電視人機交互系統,其設備互連建立在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