劉要華,朱珍民,葉 劍
(1.湘潭大學(xué) 信息工程學(xué)院,湖南 湘潭411105;2.中國科學(xué)院 計算技術(shù)研究所,北京100190)
隨著全球經(jīng)濟的快速發(fā)展與Internet的普及,移動電子產(chǎn)品空前流行,信息資源和計算資源共享變得越來越普遍。用戶的需求呈現(xiàn)多元化,從多人一機的大型機時代到一人一機的微機時代,再到如今一人多機的移動互聯(lián)網(wǎng)時代,單純的人機兩元端交互模式逐漸轉(zhuǎn)變成人機物三元端交互;傳統(tǒng)的 “一人一屏”不能滿足用戶的需要,從而催生了 “一人多屏,多屏互動[1]”的產(chǎn)生。
在多設(shè)備環(huán)境下,傳統(tǒng)的人機交互方式給用戶帶來了諸多不便;多屏互動技術(shù)為解決這種問題而產(chǎn)生,它能夠在不同平臺設(shè)備上同時共享內(nèi)容,比如電視上的電影在手機上播放,電腦或平板上的圖片在電視上顯示。
本文介紹了云設(shè)備環(huán)境下,移動智能設(shè)備和智能電視之間自主互連互通;使用消息控制機制,實現(xiàn)了人機物三元交互過程中界面的更新與切換,消息的轉(zhuǎn)發(fā)與顯示、指令的解析與執(zhí)行等的同步,完成了多媒體資源的智能分享。實驗結(jié)果表明,人機交互過程中,界面的平滑切換、指令及數(shù)據(jù)的即時傳輸在3s以內(nèi),驗證了新型協(xié)同人機交互方法的可行性。
要滿足用戶通過獨立的人機交互接口操作多臺設(shè)備,需要硬件設(shè)備、網(wǎng)絡(luò)及設(shè)備互連技術(shù)等的支持?,F(xiàn)在最新的家用電器都支持universal plug and play(UPnP)[4],文獻(xiàn)[5,6]介紹了UPnP在家庭網(wǎng)絡(luò)中的應(yīng)用及在軟件開發(fā)技術(shù)中使用UPnP 的細(xì)節(jié)。有了硬件設(shè)備的支持,通過digital living network alliance(DLNA)[7]技術(shù)可 以 使 多 設(shè) 備 彼此進(jìn)行相互連通。經(jīng)UPnP/DLNA 認(rèn)證的媒體服務(wù)器[8,9]通過帶寬或WIFI[10]網(wǎng)絡(luò)連接,在不同的終端設(shè)備之間進(jìn)行數(shù)據(jù)的傳輸、解析、展示、控制等一系列操作;為用戶分享多媒體資源提供簡單、便捷的途徑。
目前的研究是在設(shè)備集成環(huán)境下,設(shè)計一種方法或機制來實現(xiàn)人與多設(shè)備之間的互動,即協(xié)同人機交互機制。文獻(xiàn) [2,3]都介紹了通過智能手機來連接公共的顯示設(shè)備,并通過多屏互動技術(shù)來與這些設(shè)備進(jìn)行交互,如查詢設(shè)備信息,獲取設(shè)備服務(wù),控制設(shè)備界面顯示等。本文介紹了互動過程中新增的消息控制與超時檢測等機制,改進(jìn)了同步實現(xiàn),增強了用戶體驗。
該系統(tǒng)通過廣域網(wǎng)將各個云設(shè)備子系統(tǒng)進(jìn)行聯(lián)通,云設(shè)備子系統(tǒng)由移動智能設(shè)備與智能電視構(gòu)成,移動智能設(shè)備包括蘋果平板電腦、安卓平板電腦、蘋果手機、安卓智能手機及其它各種智能手機。移動智能設(shè)備與智能電視使用DLNA 與UPnP等技術(shù)通過WIFI相互連接。
協(xié)同人機交互系統(tǒng)由廣域網(wǎng)與多個云設(shè)備子系統(tǒng)構(gòu)成,如圖1所示。云設(shè)備子系統(tǒng)由多個移動智能設(shè)備及智能電視組成,云設(shè)備子系統(tǒng)之間的交互主要包括設(shè)備互聯(lián)互發(fā)現(xiàn)與消息控制兩大模塊。設(shè)備互聯(lián)互發(fā)現(xiàn)用于智能設(shè)備之間獨立發(fā)現(xiàn)、自主互連,為消息控制提供環(huán)境基礎(chǔ);消息控制用于數(shù)據(jù)轉(zhuǎn)發(fā)及指令控制,它是云設(shè)備間數(shù)據(jù)共享,UI同步等控制機制的實現(xiàn)。
圖1 系統(tǒng)架構(gòu)
設(shè)備互聯(lián)互發(fā)現(xiàn)模塊運行于移動智能設(shè)備與智能電視上,移動智能設(shè)備自主搜索、發(fā)現(xiàn)網(wǎng)絡(luò)中的智能電視,讓用戶自行選擇連接;智能電視監(jiān)聽到其它設(shè)備的握手請求后,對該設(shè)備進(jìn)行確認(rèn),并記錄該設(shè)備的詳細(xì)信息,如設(shè)備ID、IP地址、端口等;經(jīng)過前面幾次握手,移動智能設(shè)備與智能電視能夠相互通信。
設(shè)備自主互聯(lián)是指各個云設(shè)備子系統(tǒng)中移動智能設(shè)備與智能電視之間能夠發(fā)現(xiàn)對方并自主實現(xiàn)彼此的相互連通,這種互連互通的技術(shù)是在UPnP 基礎(chǔ)上通過DLNA 實現(xiàn)。UPnP即通用即插即用,構(gòu)建于IP,TCP,UDP,HTTP和XML 等許多協(xié)議之上;它由 “通用即插即用論壇”(UPnPTMForum)推廣的一套網(wǎng)絡(luò)協(xié)議。其目標(biāo)是使家庭網(wǎng)絡(luò) (數(shù)據(jù)共享、通信和娛樂)和公司網(wǎng)絡(luò)中的各種智能設(shè)備通過簡單操作實現(xiàn)局域網(wǎng)、廣播網(wǎng)中各設(shè)備之間的互連。UPnP在控制點和被控制設(shè)備之間提供通訊與控制的功能;而其它網(wǎng)絡(luò)介質(zhì)、TCP/IP協(xié)議、HTTP僅提供基本的連接和IP地址分配。UPnP在工作過程中需要處理6方面的內(nèi)容,即設(shè)備尋址、發(fā)現(xiàn)設(shè)備、對設(shè)備的描述、設(shè)備控制、設(shè)備事件以及設(shè)備表達(dá)。DLNA 是一種解決方案,它選擇的各種技術(shù)和協(xié)議都是現(xiàn)在應(yīng)用非常廣泛成熟的技術(shù)和協(xié)議;其整個應(yīng)用規(guī)定成5個功能組件,從下到上依次為網(wǎng)絡(luò)互連、網(wǎng)絡(luò)協(xié)議、媒體傳輸、設(shè)備的發(fā)現(xiàn)控制和管理以及媒體格式。
協(xié)同交互是在人機交互的基礎(chǔ)上增加了設(shè)備間互聯(lián)互通與消息同步的機制,從而實現(xiàn)了云設(shè)備數(shù)據(jù)傳輸、指令執(zhí)行、UI切換的同步。在云設(shè)備環(huán)境中,移動智能設(shè)備與智能電視接入同一局域網(wǎng),設(shè)置IP地址為同一網(wǎng)段;設(shè)備之間通過互聯(lián)互發(fā)現(xiàn)模塊自主發(fā)現(xiàn)其它設(shè)備,并進(jìn)行連接;智能電視連接到廣域網(wǎng),兩臺智能電視之間進(jìn)行撥號連接。移動智能設(shè)備發(fā)送消息給智能電視,消息包括數(shù)據(jù)消息與指令消息;智能電視接收并智能轉(zhuǎn)發(fā)消息給消息接收者。通過指令消息的發(fā)送與返回,移動智能設(shè)備與智能電視能夠保持界面的即時更新與平滑切換、數(shù)據(jù)的轉(zhuǎn)發(fā)與解析、指令的執(zhí)行等同步。
協(xié)同人機交互系統(tǒng)需要解決云設(shè)備間的連通,交互過程中界面的更新與切換、消息的轉(zhuǎn)發(fā)與顯示、指令的解析與執(zhí)行等的同步,及各種異常情況下程序的穩(wěn)定性、健壯性等問題。
云設(shè)備子系統(tǒng)中移動智能設(shè)備與智能電視彼此能夠發(fā)現(xiàn)對方并自主實現(xiàn)相互連通,智能電視作為受控設(shè)備,提供UPnP服務(wù)及通信服務(wù);移動智能設(shè)備作為控制點,負(fù)責(zé)發(fā)現(xiàn)智能電視及其提供的服務(wù),并主動與智能電視進(jìn)行握手連接。設(shè)備互發(fā)現(xiàn)過程如圖2所示。
智能電視首先開啟UPnP 服務(wù),通過簡單服務(wù)發(fā)現(xiàn)協(xié)議 (simple service discovery protocol,SSDP)向局域網(wǎng)單播或組播設(shè)備與服務(wù);然后開啟通信服務(wù),用于監(jiān)聽移動智能設(shè)備發(fā)送消息及握手連接。移動智能設(shè)備通過設(shè)備發(fā)現(xiàn)模塊搜索可用的智能電視,獲取并記錄設(shè)備服務(wù)信息中設(shè)備ID、IP地址、端口;通過得到的IP地址、端口與智能電視進(jìn)行握手連接;智能電視監(jiān)聽到握手連接后,對對方的身份等信息進(jìn)行驗證,驗證通過后并記錄設(shè)備ID、IP地址、端口等信息;在雙方已經(jīng)記錄對方ID、IP地址、端口等信息然后,斷開握手連接;移動智能設(shè)備進(jìn)入可交互狀態(tài)。
圖2 設(shè)備互發(fā)現(xiàn)過程
協(xié)同人機交互系統(tǒng)在一次視頻會話過程涉及本地移動智能設(shè)備、本地智能電視、遠(yuǎn)程智能電視和遠(yuǎn)程移動智能設(shè)備等設(shè)備之間的多屏互動。多屏互動在視頻會話建立后進(jìn)行,通過發(fā)送任務(wù)消息的方式進(jìn)行動態(tài)控制,這里的消息包括數(shù)據(jù)消息與指令消息。數(shù)據(jù)消息包括文件ID、設(shè)備ID、文件名字、數(shù)據(jù)及長度、發(fā)送者、接收者、發(fā)送時間等,指令消息包括設(shè)備ID、發(fā)送者、指令名字、發(fā)送時間、是否執(zhí)行等。指令消息重用了數(shù)據(jù)消息的格式,沒有文件數(shù)據(jù)項及其它可選項,這樣減少了消息整體的數(shù)據(jù)長度,降低網(wǎng)絡(luò)帶寬負(fù)荷,提高消息的傳輸速度,從而加快指令的執(zhí)行效率及設(shè)備UI更新、切換的效率,增強了用戶體驗。
在多屏互動過程中,消息的控制包括消息轉(zhuǎn)發(fā)、消息返回與消息超時檢測,如圖3所示。消息轉(zhuǎn)發(fā)包括智能傳輸與點對點傳輸,智能傳輸是移動智能設(shè)備與智能電視之間自主發(fā)現(xiàn)對方、智能分辨接收對象,并轉(zhuǎn)發(fā)消息給接收者;點對點傳輸是撥號連接的各個智能電視之間轉(zhuǎn)發(fā)消息。
這種“共享墳?zāi)埂钡睦砟?,在我國臺灣地區(qū)也出現(xiàn)了兆頭。2011年初,50多歲的臺灣牙醫(yī)李偉文發(fā)起了一個“夏瓣生”(即“下半生”諧音)俱樂部,其成員多為50歲上下的“準(zhǔn)老人”,12個沒有任何血緣關(guān)系的不同家庭共同集資,在臺南市選了一塊地,自建一棟老人公寓,取名為“蝸居”。在有生之年,他們相約居住在一起,盡情享受愉悅生活,一同交流、學(xué)習(xí)、旅游。生前,一起結(jié)伴老去,死后,還要一起埋葬。他們的宣言是:“未來選擇樹葬,將骨灰回歸于大自然?!?/p>
消息轉(zhuǎn)發(fā)時,在智能傳輸階段,本地移動智能設(shè)備準(zhǔn)備消息內(nèi)容,設(shè)置屏幕控件狀態(tài),然后將消息發(fā)送給智能電視。智能電視對接收到的消息進(jìn)行轉(zhuǎn)發(fā)送給智能電視。智能電視對接收到的消息進(jìn)行解析與驗證,判斷消息的發(fā)送者與接收者,消息數(shù)據(jù)不完整或指令不合法,則向消息發(fā)送者返回 “接收失敗”的消息;否則,執(zhí)行消息指令,設(shè)置并更新屏幕控件狀態(tài),最后智能轉(zhuǎn)發(fā)消息。移動智能設(shè)備接收到消息后,恢復(fù)屏幕控件狀態(tài);判斷消息內(nèi)容,如果是 “接收失敗”的消息,則重新發(fā)送相關(guān)的消息。在點對點傳輸階段,智能電視通過撥號連接將接收到的消息轉(zhuǎn)發(fā)給遠(yuǎn)程智能電視,遠(yuǎn)程智能電視對消息進(jìn)行解析、驗證,然后智能轉(zhuǎn)發(fā)消息。
用戶與多設(shè)備進(jìn)行交互時,設(shè)備間同步至關(guān)重要??蛻舳藞?zhí)行消息發(fā)送操作以后,客戶端程序設(shè)置屏幕控件狀態(tài),收回用戶控制權(quán),并等待返回消息;如果沒有收到返回消息,客戶端程序沒有釋放控制權(quán),用戶不能進(jìn)行后續(xù)操作,所以消息返回是設(shè)備同步的關(guān)鍵。
圖3 消息控制流程
消息返回過程中,移動智能設(shè)備或智能電視接收到返回消息后,對消息進(jìn)行解析與驗證,然后分析消息內(nèi)容,若消息內(nèi)容顯示上一則消息發(fā)送成功,則更新屏幕顯示及控件狀態(tài),釋放控制權(quán)限;如果是上一則消息發(fā)送失敗,則恢復(fù)屏幕顯示及控件狀態(tài),釋放控制權(quán)限。
因為網(wǎng)絡(luò)或其它原因,移動智能設(shè)備或智能電視無法接收到返回消息,如果沒有其它機制對此進(jìn)行控制,程序就無法繼續(xù)正常運行。因此,在客戶端程序中設(shè)計了消息超時檢測機制,當(dāng)程序執(zhí)行發(fā)送消息操作后啟動超時檢測,經(jīng)過一定時間后,如果沒有接收到特定消息的返回信息,超時機制會恢復(fù)屏幕控件狀態(tài),釋放控制權(quán)給用戶,通知用戶上一次消息發(fā)送失敗,恢復(fù)系統(tǒng)運行狀態(tài)。用戶可以選擇重新發(fā)送消息,也可以繼續(xù)其它操作。
用戶如果使用多個移動智能設(shè)備對智能電視進(jìn)行控制或發(fā)送數(shù)據(jù)到智能電視,可按照以下步驟進(jìn)行操作:退出正在與智能電視進(jìn)行交互的客戶端程序或斷開客戶端的WIFI信號;當(dāng)智能電視檢測到移動智能設(shè)備斷開后,重設(shè)連接狀態(tài)為 “空閑”,此時其它移動智能設(shè)備能夠?qū)χ悄茈娨曔M(jìn)行握手連接,包括剛才退出的設(shè)備。
用戶使用移動智能終端時交互流程如圖4所示。
首先啟動終端程序進(jìn)入登錄界面,程序自動搜索所有可用的智能電視,并在客戶端界面中顯示智能電視連接信息。用戶從顯示列表中選擇相應(yīng)的并且狀態(tài)標(biāo)志為 “空閑”的智能電視進(jìn)行連接,連接成功后進(jìn)入控制界面;用戶可以從控制界面發(fā)送消息;執(zhí)行消息發(fā)送操作后,客戶端程序設(shè)置屏幕控件狀態(tài),等待返回消息。如果返回消息是“接收失敗”,則重發(fā)上一次發(fā)送失敗的消息;若返回消息是 “接收成功”或當(dāng)客戶端檢測到消息發(fā)送超時后,恢復(fù)屏幕控件狀態(tài)并返回到控制界面。用戶可以退出控制界面返回到登錄界面,返回到登錄界面后,用戶可以重新選擇智能電視進(jìn)行連接,這樣可以解決用戶無法使用多個移動智能設(shè)備與智能電視進(jìn)行連接的問題。用戶返回到登錄界面后才能退出程序。
圖4 移動智能終端交互流程
為了驗證系統(tǒng)在網(wǎng)絡(luò)中文件傳輸效率,選取規(guī)定范圍內(nèi)100k到2000k不等大小的20 組文件進(jìn)行測試。測試環(huán)境中各設(shè)備詳細(xì)配置信息見表1。
本地智能電視與遠(yuǎn)程智能電視進(jìn)行撥號連接,本地安卓智能手機連接上本地智能電視,遠(yuǎn)程蘋果手機連接上遠(yuǎn)程智能電視。本地安卓智能手機發(fā)送文件到遠(yuǎn)程蘋果手機,文件傳輸依次經(jīng)過本地智能電視、遠(yuǎn)程智能電視。記錄本地安卓智能手機開始發(fā)送文件的時間、本地智能電視接收到文件的時間、遠(yuǎn)程蘋果手機接收到文件的時間,以上時間均精確到1毫秒。分別計算出本地安卓智能手機傳輸文件到本地智能電視、遠(yuǎn)程蘋果手機耗費的時間,得到文件傳輸效率統(tǒng)計信息如圖5所示。
表1 測試環(huán)境中各設(shè)備配置信息
圖5 文件傳輸效率統(tǒng)計
經(jīng)過分析與計算,本地智能電視與遠(yuǎn)程移動智能設(shè)備接收不同大小的文件所花費的時間近似于以下計算式
式中:a——常量,x——文件大小,Δt——網(wǎng)絡(luò)波動花費的時間。遠(yuǎn)程移動智能設(shè)備接收文件時,式中a 為本地移動智能設(shè)備到本地智能電視時間、本地智能電視到遠(yuǎn)程智能電視時間與遠(yuǎn)程智能電視到遠(yuǎn)程移動智能設(shè)備時間三者之和,由于a的影響比較大,耗費時間T 基本上與文件大小成正比例,網(wǎng)絡(luò)波動對文件傳輸?shù)挠绊戄^小。本地智能電視接收文件時,計算式中a 僅為本地移動智能設(shè)備到本地智能電視的時間,a 的影響較小,網(wǎng)絡(luò)波動Δt對文件傳輸?shù)挠绊戄^大,耗費時間T 與文件大小存在一定的關(guān)系,且隨機性比較明顯,但花費的時間不超過3s。
本文基于機物協(xié)同及設(shè)備互聯(lián)互發(fā)現(xiàn)技術(shù),提出了一種新型協(xié)同人機交互方法,實現(xiàn)了多媒體資源的共享及設(shè)備的控制。解決了人機物三元交互過程中界面的更新與切換,消息的轉(zhuǎn)發(fā)與顯示、指令的解析與執(zhí)行等的同步。實驗結(jié)果表明,同步所需時間符合系統(tǒng)要求,效果令人滿意。在廣域網(wǎng)中數(shù)據(jù)傳輸延遲增加,這可以通過改進(jìn)編碼等方法進(jìn)行改善。
[1]Lee J Y.Dual interactions between multi-display and smartphone for collaborative design and sharing [C]//IEEE Virtual Reality Conf IEEE,2011:221-222.
[2]Boring S,Altendorfer M,Broll G,et al.Shoot & copy:Phonecam-based information transfer from public displays onto mobile phones[C]//Proceedings of the 4th International Conference on Mobile Technology,Applications and Systems and the 1st International Symposium on Computer Human Interaction in Mobile Technology.ACM,2007:24-31.
[3]Clinch S.Smartphones and pervasive public displays [J].IEEE Pervasive Computing,2013,12 (1):92-95.
[4]UPnP forum [EB/OL].[2013-06-01].http://www.upnp.org/.
[5]Li Chung-Sheng,Huang Yueh-Min,Han-Chieh Chao.UPnP IPv4/IPv6bridge for home networking environment[J].IEEE Transactions on Consumer Electronics,2008,4 (4):1651-1644.
[6]Alvaro Reina Nieves,Natividad Martinez Madrid,Ralf Seepold.A UPnP service to control and manage IEEE 1451transducers in control networks[J].IEEE Transactions on Instrumentation and Measurement,2012,61 (3):791-800.
[7]Digital living network alliance(DLNA)[EB/OL].[2013-06-01].http://www.dlna.org/.
[8]Twonkyvision GmbH.Twonkyvision media server[EB/OL].[2013-06-01].http://www.twonkyvision.de/.
[9]Microsoft.Windows media connect[EB/OL].[2013-06-01].http://www.microsoft.com/windows/windowsmedia/devices/wmconnect/default.aspx.
[10]World wide web consortium(W3C) [EB/OL]. [2013-06-01].http://www.w3c.org/.