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