基于A(yíng)RM平臺交互式演示系統的設計與實(shí)現
摘要:為了實(shí)現多種屏幕之間便捷的內容共享,提出了一種基于ARM平臺的交互式演示系統的設計方法,能夠徹底擺脫線(xiàn)纜的束縛,實(shí)現方便快捷的屏幕內容共享。該系統由基于ARM平臺的演示終端、基于PC平臺內容共享端及智能遙控終端三部分組成,其中基于PC平臺內容共享端采用跨平臺設計,負責將捕獲到的屏幕信息通過(guò)改進(jìn)后的RFB協(xié)議發(fā)送給演示終端,演示終端基于ARM平臺,負責將接收到的信息進(jìn)行解碼并通過(guò)HDMI或VGA接口將圖像信息顯示在投影儀等顯示設備上;智能遙控終端是一個(gè)運行在智能手機平臺的應用軟件,能夠通過(guò)無(wú)線(xiàn)局域網(wǎng)與PC機實(shí)現互聯(lián),從而實(shí)現遠程控制的功能。實(shí)驗結果表明:該系統具有使用方便、成本低、占用帶寬小、實(shí)時(shí)性高的優(yōu)點(diǎn)。
本文引用地址:http://dyxdggzs.com/article/201609/303622.htm在近年來(lái)隨著(zhù)科技的快速發(fā)展以及智能設備的普及,人們工作生活中的多媒體設備已經(jīng)從傳統的以個(gè)人電腦和電視機為主,轉變成桌面電腦、智能手機、平板電腦和電視機共同存在。越來(lái)越多的電子設備已擺脫了“有線(xiàn)”的制約,能夠通過(guò)無(wú)線(xiàn)的方式實(shí)現互聯(lián)及信息傳遞,然而在傳統的教學(xué)課堂及辦公會(huì )議等需要進(jìn)行演示及內容分享的場(chǎng)合,屏與屏之間的信息交互還是采用有線(xiàn)的方式進(jìn)行連接,演講者通常需要坐在特定的位置以方便通過(guò)線(xiàn)纜與投影設備相連,如果有其他演講者需要使用投影設備,則經(jīng)常需要換位置重新連接投影設備才能完成演講者的切換,另一方面現有一些成熟的屏幕內容共享系統,例如微軟的遠程桌面協(xié)議、x系統、虛擬網(wǎng)絡(luò )計算,主要針對PC機與PC機之間的屏幕共享,硬件成本較高。
針對以上問(wèn)題,文中提出了一種基于A(yíng)RM平臺交互式演示系統的設計方法與具體實(shí)現。該系統由基于A(yíng)RM平臺的演示終端、基于PC平臺內容共享端及智能遙控終端三部分組成,其中演示終端基于A(yíng)RM平臺,通過(guò)HDMI或VGA接口與投影儀等顯示設備相連接;基于PC平臺內容共享端采用多線(xiàn)程并發(fā)設計,將視頻的接收、解碼、顯示分線(xiàn)程獨立處理,在提高程序的健壯性的同時(shí)并降低了程序的耦合性,智能遙控終端則是一個(gè)運行在智能手機平臺的應用軟件,能夠通過(guò)藍牙與PC機實(shí)現互聯(lián),從而實(shí)現遠程控的功能,以達到擺脫線(xiàn)纜束縛、降低成本、提高畫(huà)質(zhì)的目的。
1 系統組成與工作原理
本系統由基于A(yíng)RM平臺的演示終端、基于PC平臺內容共享端及智能遙控終端三部分組成,其中演示終端通過(guò)WiFi網(wǎng)絡(luò )與內容共享端相連,從而徹底擺脫了“線(xiàn)纜”的束縛,其系統架構圖如圖1所示。

為降低系統運行成本,演示終端采用的就是帶圖形加速功能的嵌入式多媒體應用處理器BCM2835作為演示終端的主控芯片,上面搭載嵌入式Linux操作系統,主要完成內容的
接收、解碼、顯示等功能,能夠通過(guò)hdmi、DVI、VGA等多種接口連接智能電視、液晶顯示器等屏幕。另一方面,基于PC平臺內容共享端采用跨平臺設計,整個(gè)軟件構建在QT平臺之上,借助QT平臺良好的跨平臺特性,通過(guò)捕獲屏幕,并將內容通過(guò)改進(jìn)的RFB協(xié)議發(fā)送給演示終端,從而達到屏幕共享的目的。
另一方面,為方便用戶(hù)遠程控制需要分享的內容,本系統提供了一個(gè)支持Android/Windows Phone平臺的遠程軟件,通過(guò)在智能手機上安裝該,將智能手機變成了一個(gè)名副其實(shí)的“電子教鞭”,從而達到遠程控制、翻頁(yè)等功能。
2 系統組成與工作原理
2.1 系統總體設計
基于A(yíng)RM平臺的交互式演示系統主要分為3個(gè)部分:基于A(yíng)RM平臺的演示終端、基于PC平臺內容共享端、智能遙控終端。
1)其中的基于PC平臺內容共享端是整個(gè)系統的核心,所有的數據交互都是通過(guò)這個(gè)服務(wù)實(shí)現的,換句話(huà)說(shuō)這個(gè)服務(wù)器也就是整個(gè)系統的核心大腦,它負責捕捉和封裝PC的桌面圖像和發(fā)送幀緩沖刷新。
2)基于A(yíng)RM平臺的演示終端采用改進(jìn)后的RFB協(xié)議來(lái)接收幀緩沖更新投影機的桌面圖像,通過(guò)對幀緩沖數據進(jìn)行解碼再經(jīng)過(guò)圖像顯示模塊把圖像顯示出來(lái)。
3)智能遙控終端通過(guò)無(wú)線(xiàn)局域網(wǎng)與運行在PC平臺的內容共享端進(jìn)行交互,共享端收到指令后,能夠實(shí)現ppt翻頁(yè)、全屏等功能。
圖2所示是系統主要的兩大塊內容和其內部的詳細模塊結構圖,從圖中可以看出每個(gè)實(shí)體部分所包含的子模塊和子模塊的負責的功能。

演示終端與基于PC平臺的內容共享端通過(guò)信息交互模塊采用RFB協(xié)議實(shí)現互聯(lián)互通,內容共享端首先需要發(fā)連接請求到演示終端,雙方進(jìn)行協(xié)議交互驗證后,連接成功后,基于PC平臺內容共享端通過(guò)圖像捕捉模塊來(lái)獲取窗口界面信息,并經(jīng)過(guò)圖像編碼后發(fā)送到演示終端,演示終端接收到數據后通過(guò)數據解析模塊進(jìn)行圖像解碼,調用調色板等操作,
并將解碼后的圖像信息通過(guò)圖像顯示模塊顯示在大屏幕上,為節約帶寬,實(shí)時(shí)更新模塊負責監控共享內容是否發(fā)生了變化,如果發(fā)生了,則只發(fā)生發(fā)生內容改變的矩形區域信息給演示終端,從而達到節約帶寬的目的。
智能遙控終端為基于A(yíng)RM平臺的交互式演示系統增添了遠程控制的優(yōu)點(diǎn),從而可以實(shí)現遠程控制PC端中的PPT翻頁(yè)等行為,由于只需安裝一個(gè)APP軟件就可以將Android/Wind ows phone手機變成一個(gè)遠程遙控端,實(shí)現遠程控制,因而使用非常便捷。
2.2 RFB協(xié)議的改進(jìn)
RFB是一個(gè)遠程圖形用戶(hù)的簡(jiǎn)單協(xié)議,由于工作在幀緩存級別上,故可用于所有的窗口系統,目前不少屏幕共享軟件就采用該協(xié)議,如VNC,但由于RFB協(xié)議沒(méi)有對應用場(chǎng)景進(jìn)行優(yōu)化,因此存在占用帶寬較大的缺點(diǎn)。另一方面,由于在屏幕共享過(guò)程中大部分場(chǎng)景主要是文字、圖片的內容共享。
針對傳統RFB協(xié)議占用帶寬大的問(wèn)題,提出一種根據針對文字、圖片內容共享的更新機制,其更新思想為,僅同步內容已發(fā)生變化的區域,具體的說(shuō),就是通過(guò)檢測前一幀圖像數據與當前幀數據的梯度變化信息,找出需要更新的數據,再將需要更新的區域內容傳遞給對端。區域更新算法如下:

函數ContentUpdate通過(guò)檢測前后兩幀圖片各相素點(diǎn)的梯度變化情況,當梯度變化大于指定閾值時(shí),說(shuō)明內容發(fā)生了變化,則通過(guò)record函數記錄像素點(diǎn)的位置信息,并將需要同步的內容發(fā)送給對端,即演示終端。
2.3 演示終端的實(shí)現
考慮到成本,選用樹(shù)莓派作為演示終端的硬件平臺,樹(shù)莓派是由英國樹(shù)莓派基金會(huì )所開(kāi)發(fā),目的以低價(jià)硬件及自由軟件刺激在學(xué)校的基本的電腦科學(xué)教育,該平臺銷(xiāo)售價(jià)格僅為35美元,卻擁有ARM1176JZF-S核心(ARM11系列),配有視頻輸出RCA視頻,支持PAL和NTSC制式,支持HDMI(1.3和1.4),分辨率為640 x 350至1920 x 1200支持PAL和NTSC制式,可以方便的與投影機、顯示器、電視機等圖像顯示設備連接,下圖3為演示終端硬件連接圖。

如圖3所示,演示終端支持HDMI接口,也可通過(guò)轉換器將HDMI轉為VGA接口,以向下兼容。平臺運行Linux2.6.30內核,布置非常簡(jiǎn)單,僅需通過(guò)替換SD卡上的內核文件即可達到升級系統的目的;
演示終端負責的主要功能包括:1)信息交互模塊,接受局域網(wǎng)內服務(wù)器的請求,通過(guò)三次握手建立TCP/IP連接,驗證服務(wù)器發(fā)送過(guò)來(lái)的RFB協(xié)議版本號等信息;2)數據解析模塊,接受服務(wù)器端發(fā)送過(guò)來(lái)的屏幕幀緩沖的更新消息,將得到的消息進(jìn)行解碼;3)實(shí)時(shí)更新模塊,把解碼后的數據送到顯示緩存,還原并在顯示設備上顯示服務(wù)器的桌面信息;4)更新請求模塊,更具配置客戶(hù)端主動(dòng)請求更新,其具體流程圖如圖4所示。

2.4 基于PC平臺內容共享端的實(shí)現
基于PC平臺內容共享端采用跨平臺設計,其軟件架構圖如圖4所示。
由于整個(gè)軟件構建在QT平臺之上,因此不需要更改代碼,僅需要重新編譯即可支持包括Windows、Linux在內的多個(gè)平臺,其中各個(gè)模塊的功能描述如下:1)信息交互模塊:這個(gè)模塊主要負責處理與演示終端建立連接、數據的發(fā)送接受、終止連接等,以及相關(guān)信息的驗證;2)圖像捕捉模塊:這個(gè)模塊主要負責捕捉桌面圖像,并把圖像傳給圖像處理模塊;3)圖像處理模塊:這個(gè)模塊的主要功能是把屏幕圖像信息進(jìn)行壓縮編碼處理,然后把信息傳給信息交互模塊;4)實(shí)時(shí)更新模塊:通過(guò)設定計時(shí)器定時(shí)獲取屏幕的信息進(jìn)行處理,每隔一定時(shí)間檢查有沒(méi)有更新,如果有更新則把更新區域通過(guò)圖像處理模塊處理后再傳送給信息交互模塊;5)網(wǎng)絡(luò )通信模塊:這個(gè)模塊主要完成RFB協(xié)議中的網(wǎng)絡(luò )連接部分工作;6)遠程控制模塊:連接建立后,手機控制終端通過(guò)按鈕控制PPT翻頁(yè)。
2.5 智能遙控終端的實(shí)現
考慮到目前智能手機的廣泛使用以及遠程控制的實(shí)際需求,我們設計了一個(gè)APP軟件,該軟件目前支持Android及Windows phone平臺,該軟件主要包括界面、遠程連接模塊兩部分,該軟件具有自動(dòng)發(fā)現演示終端的功能,能夠自動(dòng)檢測到在同一局域網(wǎng)內的正在運行內容共享端,當檢測到有多個(gè)共享端運行時(shí),可根據用戶(hù)的輸入進(jìn)行選擇,并與之建立連接,從而達到遠程控制的目的。
3 系統測試結果
3.1 測試環(huán)境準備
為更好的說(shuō)明本系統的演示效果,本文設計了三組實(shí)驗進(jìn)行測試:1)演示功能測試,包括word文檔、ppt文檔的內容共享效果測試;2)手機遠程控制功能測試;3)與目前現有屏幕共享軟件的性能比較測試。
具體測試環(huán)境如下:54M無(wú)線(xiàn)路由器一臺,用于搭建無(wú)線(xiàn)局域網(wǎng),用于屏幕內容分享演示的筆記本兩臺,均采用Windows平臺、1280x800的屏幕分辨率,通過(guò)WiFi信號連入同一個(gè)網(wǎng)絡(luò );智能手機一臺,上面安裝了遠程控制端APP。
3.2 功能測試及結果
根據實(shí)驗計劃,分別測試了word文檔、ppt文檔的演示效果及手機遠程控制功能,其測試流程如下:
1)打開(kāi)基于A(yíng)RM平臺的演示終端,并通過(guò)VGA接口與顯示器相連,同時(shí)演示終端通過(guò)tcp/ip網(wǎng)絡(luò )與無(wú)線(xiàn)路由器A相連,并在顯示器上顯示演示終端目前獲取的動(dòng)態(tài)IP地址。
2)筆記本運行內容共享端軟件,并輸入演示終端的IP地址。
3)分別運行word及ppt文檔,檢測與演示終端相連顯示器上的內容是否與筆記本上的內容一致。
4)在手機上運行遠程控制軟件,執行翻頁(yè)功能,觀(guān)察執行效果。
其測試結果分別如圖5、圖6所示。圖中樹(shù)莓派通過(guò)hdmi轉VGA接口與液晶顯示器相連接,筆記本通過(guò)網(wǎng)絡(luò )將屏幕上的內容共享至樹(shù)莓派連接的顯示器上。

為有效評估在各個(gè)應用場(chǎng)景下各軟件帶寬占用率的不同,測試內容分為文字為主和以視頻播放為主的屏幕內容共享,為保證測試結果的可比性,測試時(shí)采用同一個(gè)路由器,具體測試用例描述如下

測試結果表明:該交互式演示系統能夠徹底擺脫線(xiàn)纜的束縛,實(shí)現方便快捷的內容共享,與傳統屏幕共享軟件相比,具有延時(shí)小的優(yōu)點(diǎn)。
4 結束語(yǔ)
本文詳細介紹了一種基于A(yíng)RM平臺交互式演示系統的設計方法。該系統使用戶(hù)徹底擺脫了線(xiàn)纜的束縛,能夠在較低的成本下通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò )無(wú)縫的將需要共享的內容投射到指定的屏幕如液晶電視、投影儀等顯示設備。實(shí)驗表明,具有使用方便、成本低、占用帶寬小、實(shí)時(shí)性高的優(yōu)點(diǎn),能夠滿(mǎn)足日常會(huì )議等場(chǎng)合內容共享的需求,具有一定的應用前景與推廣價(jià)值。
評論