基于ARM平臺交互式演示系統(tǒng)的設(shè)計與實現(xiàn)
摘要:為了實現(xiàn)多種屏幕之間便捷的內(nèi)容共享,提出了一種基于ARM平臺的交互式演示系統(tǒng)的設(shè)計方法,能夠徹底擺脫線纜的束縛,實現(xiàn)方便快捷的屏幕內(nèi)容共享。該系統(tǒng)由基于ARM平臺的演示終端、基于PC平臺內(nèi)容共享端及智能遙控終端三部分組成,其中基于PC平臺內(nèi)容共享端采用跨平臺設(shè)計,負責(zé)將捕獲到的屏幕信息通過改進后的RFB協(xié)議發(fā)送給演示終端,演示終端基于ARM平臺,負責(zé)將接收到的信息進行解碼并通過HDMI或VGA接口將圖像信息顯示在投影儀等顯示設(shè)備上;智能遙控終端是一個運行在智能手機平臺的應(yīng)用軟件,能夠通過無線局域網(wǎng)與PC機實現(xiàn)互聯(lián),從而實現(xiàn)遠程控制的功能。實驗結(jié)果表明:該系統(tǒng)具有使用方便、成本低、占用帶寬小、實時性高的優(yōu)點。
本文引用地址:http://www.ex-cimer.com/article/201609/303622.htm在近年來隨著科技的快速發(fā)展以及智能設(shè)備的普及,人們工作生活中的多媒體設(shè)備已經(jīng)從傳統(tǒng)的以個人電腦和電視機為主,轉(zhuǎn)變成桌面電腦、智能手機、平板電腦和電視機共同存在。越來越多的電子設(shè)備已擺脫了“有線”的制約,能夠通過無線的方式實現(xiàn)互聯(lián)及信息傳遞,然而在傳統(tǒng)的教學(xué)課堂及辦公會議等需要進行演示及內(nèi)容分享的場合,屏與屏之間的信息交互還是采用有線的方式進行連接,演講者通常需要坐在特定的位置以方便通過線纜與投影設(shè)備相連,如果有其他演講者需要使用投影設(shè)備,則經(jīng)常需要換位置重新連接投影設(shè)備才能完成演講者的切換,另一方面現(xiàn)有一些成熟的屏幕內(nèi)容共享系統(tǒng),例如微軟的遠程桌面協(xié)議、x系統(tǒng)、虛擬網(wǎng)絡(luò)計算,主要針對PC機與PC機之間的屏幕共享,硬件成本較高。
針對以上問題,文中提出了一種基于ARM平臺交互式演示系統(tǒng)的設(shè)計方法與具體實現(xiàn)。該系統(tǒng)由基于ARM平臺的演示終端、基于PC平臺內(nèi)容共享端及智能遙控終端三部分組成,其中演示終端基于ARM平臺,通過HDMI或VGA接口與投影儀等顯示設(shè)備相連接;基于PC平臺內(nèi)容共享端采用多線程并發(fā)設(shè)計,將視頻的接收、解碼、顯示分線程獨立處理,在提高程序的健壯性的同時并降低了程序的耦合性,智能遙控終端則是一個運行在智能手機平臺的應(yīng)用軟件,能夠通過藍牙與PC機實現(xiàn)互聯(lián),從而實現(xiàn)遠程控的功能,以達到擺脫線纜束縛、降低成本、提高畫質(zhì)的目的。
1 系統(tǒng)組成與工作原理
本系統(tǒng)由基于ARM平臺的演示終端、基于PC平臺內(nèi)容共享端及智能遙控終端三部分組成,其中演示終端通過WiFi網(wǎng)絡(luò)與內(nèi)容共享端相連,從而徹底擺脫了“線纜”的束縛,其系統(tǒng)架構(gòu)圖如圖1所示。
為降低系統(tǒng)運行成本,演示終端采用的就是帶圖形加速功能的嵌入式多媒體應(yīng)用處理器BCM2835作為演示終端的主控芯片,上面搭載嵌入式Linux操作系統(tǒng),主要完成內(nèi)容的
接收、解碼、顯示等功能,能夠通過hdmi、DVI、VGA等多種接口連接智能電視、液晶顯示器等屏幕。另一方面,基于PC平臺內(nèi)容共享端采用跨平臺設(shè)計,整個軟件構(gòu)建在QT平臺之上,借助QT平臺良好的跨平臺特性,通過捕獲屏幕,并將內(nèi)容通過改進的RFB協(xié)議發(fā)送給演示終端,從而達到屏幕共享的目的。
另一方面,為方便用戶遠程控制需要分享的內(nèi)容,本系統(tǒng)提供了一個支持Android/Windows Phone平臺的遠程軟件,通過在智能手機上安裝該,將智能手機變成了一個名副其實的“電子教鞭”,從而達到遠程控制、翻頁等功能。
2 系統(tǒng)組成與工作原理
2.1 系統(tǒng)總體設(shè)計
基于ARM平臺的交互式演示系統(tǒng)主要分為3個部分:基于ARM平臺的演示終端、基于PC平臺內(nèi)容共享端、智能遙控終端。
1)其中的基于PC平臺內(nèi)容共享端是整個系統(tǒng)的核心,所有的數(shù)據(jù)交互都是通過這個服務(wù)實現(xiàn)的,換句話說這個服務(wù)器也就是整個系統(tǒng)的核心大腦,它負責(zé)捕捉和封裝PC的桌面圖像和發(fā)送幀緩沖刷新。
2)基于ARM平臺的演示終端采用改進后的RFB協(xié)議來接收幀緩沖更新投影機的桌面圖像,通過對幀緩沖數(shù)據(jù)進行解碼再經(jīng)過圖像顯示模塊把圖像顯示出來。
3)智能遙控終端通過無線局域網(wǎng)與運行在PC平臺的內(nèi)容共享端進行交互,共享端收到指令后,能夠?qū)崿F(xiàn)ppt翻頁、全屏等功能。
圖2所示是系統(tǒng)主要的兩大塊內(nèi)容和其內(nèi)部的詳細模塊結(jié)構(gòu)圖,從圖中可以看出每個實體部分所包含的子模塊和子模塊的負責(zé)的功能。
演示終端與基于PC平臺的內(nèi)容共享端通過信息交互模塊采用RFB協(xié)議實現(xiàn)互聯(lián)互通,內(nèi)容共享端首先需要發(fā)連接請求到演示終端,雙方進行協(xié)議交互驗證后,連接成功后,基于PC平臺內(nèi)容共享端通過圖像捕捉模塊來獲取窗口界面信息,并經(jīng)過圖像編碼后發(fā)送到演示終端,演示終端接收到數(shù)據(jù)后通過數(shù)據(jù)解析模塊進行圖像解碼,調(diào)用調(diào)色板等操作,
并將解碼后的圖像信息通過圖像顯示模塊顯示在大屏幕上,為節(jié)約帶寬,實時更新模塊負責(zé)監(jiān)控共享內(nèi)容是否發(fā)生了變化,如果發(fā)生了,則只發(fā)生發(fā)生內(nèi)容改變的矩形區(qū)域信息給演示終端,從而達到節(jié)約帶寬的目的。
智能遙控終端為基于ARM平臺的交互式演示系統(tǒng)增添了遠程控制的優(yōu)點,從而可以實現(xiàn)遠程控制PC端中的PPT翻頁等行為,由于只需安裝一個APP軟件就可以將Android/Wind ows phone手機變成一個遠程遙控端,實現(xiàn)遠程控制,因而使用非常便捷。
2.2 RFB協(xié)議的改進
RFB是一個遠程圖形用戶的簡單協(xié)議,由于工作在幀緩存級別上,故可用于所有的窗口系統(tǒng),目前不少屏幕共享軟件就采用該協(xié)議,如VNC,但由于RFB協(xié)議沒有對應(yīng)用場景進行優(yōu)化,因此存在占用帶寬較大的缺點。另一方面,由于在屏幕共享過程中大部分場景主要是文字、圖片的內(nèi)容共享。
針對傳統(tǒng)RFB協(xié)議占用帶寬大的問題,提出一種根據(jù)針對文字、圖片內(nèi)容共享的更新機制,其更新思想為,僅同步內(nèi)容已發(fā)生變化的區(qū)域,具體的說,就是通過檢測前一幀圖像數(shù)據(jù)與當(dāng)前幀數(shù)據(jù)的梯度變化信息,找出需要更新的數(shù)據(jù),再將需要更新的區(qū)域內(nèi)容傳遞給對端。區(qū)域更新算法如下:
函數(shù)ContentUpdate通過檢測前后兩幀圖片各相素點的梯度變化情況,當(dāng)梯度變化大于指定閾值時,說明內(nèi)容發(fā)生了變化,則通過record函數(shù)記錄像素點的位置信息,并將需要同步的內(nèi)容發(fā)送給對端,即演示終端。
2.3 演示終端的實現(xiàn)
考慮到成本,選用樹莓派作為演示終端的硬件平臺,樹莓派是由英國樹莓派基金會所開發(fā),目的以低價硬件及自由軟件刺激在學(xué)校的基本的電腦科學(xué)教育,該平臺銷售價格僅為35美元,卻擁有ARM1176JZF-S核心(ARM11系列),配有視頻輸出RCA視頻,支持PAL和NTSC制式,支持HDMI(1.3和1.4),分辨率為640 x 350至1920 x 1200支持PAL和NTSC制式,可以方便的與投影機、顯示器、電視機等圖像顯示設(shè)備連接,下圖3為演示終端硬件連接圖。
如圖3所示,演示終端支持HDMI接口,也可通過轉(zhuǎn)換器將HDMI轉(zhuǎn)為VGA接口,以向下兼容。平臺運行Linux2.6.30內(nèi)核,布置非常簡單,僅需通過替換SD卡上的內(nèi)核文件即可達到升級系統(tǒng)的目的;
演示終端負責(zé)的主要功能包括:1)信息交互模塊,接受局域網(wǎng)內(nèi)服務(wù)器的請求,通過三次握手建立TCP/IP連接,驗證服務(wù)器發(fā)送過來的RFB協(xié)議版本號等信息;2)數(shù)據(jù)解析模塊,接受服務(wù)器端發(fā)送過來的屏幕幀緩沖的更新消息,將得到的消息進行解碼;3)實時更新模塊,把解碼后的數(shù)據(jù)送到顯示緩存,還原并在顯示設(shè)備上顯示服務(wù)器的桌面信息;4)更新請求模塊,更具配置客戶端主動請求更新,其具體流程圖如圖4所示。
2.4 基于PC平臺內(nèi)容共享端的實現(xiàn)
基于PC平臺內(nèi)容共享端采用跨平臺設(shè)計,其軟件架構(gòu)圖如圖4所示。
由于整個軟件構(gòu)建在QT平臺之上,因此不需要更改代碼,僅需要重新編譯即可支持包括Windows、Linux在內(nèi)的多個平臺,其中各個模塊的功能描述如下:1)信息交互模塊:這個模塊主要負責(zé)處理與演示終端建立連接、數(shù)據(jù)的發(fā)送接受、終止連接等,以及相關(guān)信息的驗證;2)圖像捕捉模塊:這個模塊主要負責(zé)捕捉桌面圖像,并把圖像傳給圖像處理模塊;3)圖像處理模塊:這個模塊的主要功能是把屏幕圖像信息進行壓縮編碼處理,然后把信息傳給信息交互模塊;4)實時更新模塊:通過設(shè)定計時器定時獲取屏幕的信息進行處理,每隔一定時間檢查有沒有更新,如果有更新則把更新區(qū)域通過圖像處理模塊處理后再傳送給信息交互模塊;5)網(wǎng)絡(luò)通信模塊:這個模塊主要完成RFB協(xié)議中的網(wǎng)絡(luò)連接部分工作;6)遠程控制模塊:連接建立后,手機控制終端通過按鈕控制PPT翻頁。
2.5 智能遙控終端的實現(xiàn)
考慮到目前智能手機的廣泛使用以及遠程控制的實際需求,我們設(shè)計了一個APP軟件,該軟件目前支持Android及Windows phone平臺,該軟件主要包括界面、遠程連接模塊兩部分,該軟件具有自動發(fā)現(xiàn)演示終端的功能,能夠自動檢測到在同一局域網(wǎng)內(nèi)的正在運行內(nèi)容共享端,當(dāng)檢測到有多個共享端運行時,可根據(jù)用戶的輸入進行選擇,并與之建立連接,從而達到遠程控制的目的。
3 系統(tǒng)測試結(jié)果
3.1 測試環(huán)境準備
為更好的說明本系統(tǒng)的演示效果,本文設(shè)計了三組實驗進行測試:1)演示功能測試,包括word文檔、ppt文檔的內(nèi)容共享效果測試;2)手機遠程控制功能測試;3)與目前現(xiàn)有屏幕共享軟件的性能比較測試。
具體測試環(huán)境如下:54M無線路由器一臺,用于搭建無線局域網(wǎng),用于屏幕內(nèi)容分享演示的筆記本兩臺,均采用Windows平臺、1280x800的屏幕分辨率,通過WiFi信號連入同一個網(wǎng)絡(luò);智能手機一臺,上面安裝了遠程控制端APP。
3.2 功能測試及結(jié)果
根據(jù)實驗計劃,分別測試了word文檔、ppt文檔的演示效果及手機遠程控制功能,其測試流程如下:
1)打開基于ARM平臺的演示終端,并通過VGA接口與顯示器相連,同時演示終端通過tcp/ip網(wǎng)絡(luò)與無線路由器A相連,并在顯示器上顯示演示終端目前獲取的動態(tài)IP地址。
2)筆記本運行內(nèi)容共享端軟件,并輸入演示終端的IP地址。
3)分別運行word及ppt文檔,檢測與演示終端相連顯示器上的內(nèi)容是否與筆記本上的內(nèi)容一致。
4)在手機上運行遠程控制軟件,執(zhí)行翻頁功能,觀察執(zhí)行效果。
其測試結(jié)果分別如圖5、圖6所示。圖中樹莓派通過hdmi轉(zhuǎn)VGA接口與液晶顯示器相連接,筆記本通過網(wǎng)絡(luò)將屏幕上的內(nèi)容共享至樹莓派連接的顯示器上。
為有效評估在各個應(yīng)用場景下各軟件帶寬占用率的不同,測試內(nèi)容分為文字為主和以視頻播放為主的屏幕內(nèi)容共享,為保證測試結(jié)果的可比性,測試時采用同一個路由器,具體測試用例描述如下
測試結(jié)果表明:該交互式演示系統(tǒng)能夠徹底擺脫線纜的束縛,實現(xiàn)方便快捷的內(nèi)容共享,與傳統(tǒng)屏幕共享軟件相比,具有延時小的優(yōu)點。
4 結(jié)束語
本文詳細介紹了一種基于ARM平臺交互式演示系統(tǒng)的設(shè)計方法。該系統(tǒng)使用戶徹底擺脫了線纜的束縛,能夠在較低的成本下通過無線網(wǎng)絡(luò)無縫的將需要共享的內(nèi)容投射到指定的屏幕如液晶電視、投影儀等顯示設(shè)備。實驗表明,具有使用方便、成本低、占用帶寬小、實時性高的優(yōu)點,能夠滿足日常會議等場合內(nèi)容共享的需求,具有一定的應(yīng)用前景與推廣價值。
評論