孫峻嶺,假露青,劉其軍,汪操根
(廣州瀚陽工程咨詢有限公司,廣州 510220)
近年來,得益于圖形軟硬件的發(fā)展和互聯(lián)網(wǎng)的廣泛應(yīng)用,高性能的圖形顯示系統(tǒng)已經(jīng)開始在大規(guī)??茖W(xué)計(jì)算可視化、計(jì)算機(jī)支持的協(xié)同辦公、城市核心管理、遙感、指揮、會展行業(yè)等諸多領(lǐng)域得到應(yīng)用[1].人們對海量的Web資源顯示的實(shí)時(shí)性、顯示尺寸、顯示質(zhì)量和協(xié)同工作都提出了更高的要求,實(shí)時(shí)Web超高分辨顯示將成為一種技術(shù)趨勢.
目前國內(nèi)外有許多大學(xué)和研究機(jī)構(gòu)都在此領(lǐng)域進(jìn)行研究,進(jìn)行了許多理論研究和實(shí)際開發(fā)工作,并取得了許多優(yōu)秀的研究成果.國外比較具有代表性的包括Princeton 大學(xué)的 Display Wall項(xiàng)目,Minnesota 大學(xué)的Power Wall顯示系統(tǒng),以及芝加哥 Illinois大學(xué) EVL 實(shí)驗(yàn)室的SAGE和SAGE2系統(tǒng).國內(nèi)復(fù)旦大學(xué)針對多通道的高分辨圖像、視頻顯示問題,也研發(fā)了高分辨顯示系統(tǒng)[2-5].傳統(tǒng)的信息顯示系統(tǒng)通過采用信息集中處理工作的方式,將所需顯示的數(shù)據(jù)和程序都在一臺核心處理機(jī)上進(jìn)行集中處理[6].這種顯示方式和DLP投影拼接技術(shù)都存在顯示分辨率有限、信息顯示處理速度慢、無法實(shí)現(xiàn)海量資源異地共享顯示、無法以高分辨率顯示多種類的Web資源等缺陷[7].
為滿足Web信息超高分辨、實(shí)時(shí)性異地顯示需求并克服傳統(tǒng)的大屏幕拼接系統(tǒng)的缺陷,文中通過構(gòu)建基于集群的Web并行超高顯示系統(tǒng)-SuperVis,結(jié)合瀏覽器技術(shù)和集群并行處理技術(shù),該技術(shù)能以高性價(jià)比的前提下大幅度的提高大屏拼接顯示系統(tǒng)對Web信息的超強(qiáng)處理速度和高分辨的顯示能力,使得Web信息在處理速度和顯示質(zhì)量上滿足用戶的要求,利用高速網(wǎng)絡(luò)呈現(xiàn)從高清圖像和視頻到PDF文檔和筆記本電腦屏幕的內(nèi)容,顯示來自遠(yuǎn)程的像素流.在此基礎(chǔ)上形成一套完整的集群大屏拼接顯示系統(tǒng)設(shè)計(jì)架構(gòu),實(shí)現(xiàn)一套完整可靠的Web資源超高顯示的解決方案.
SuperVis系統(tǒng)采用互聯(lián)的計(jì)算機(jī)集群來進(jìn)行分布式處理,各個(gè)節(jié)點(diǎn)機(jī)都包含應(yīng)用程序,這些應(yīng)用程序集成有瀏覽器的基本組件和資源引擎模塊,能夠快速的獲取互聯(lián)網(wǎng)上的多種類型的網(wǎng)頁資源.同時(shí)各個(gè)節(jié)點(diǎn)機(jī)可以充分利用網(wǎng)絡(luò)上計(jì)算機(jī)資源,實(shí)現(xiàn)節(jié)點(diǎn)計(jì)算機(jī)之間的資源共享.系統(tǒng)采用分布式架構(gòu)和模塊化設(shè)計(jì)模式,以相對低廉的造價(jià)實(shí)現(xiàn)數(shù)據(jù)可視化的異地共享,使用這種設(shè)計(jì)和架構(gòu)使得SuperVis系統(tǒng)穩(wěn)定性強(qiáng)、可用性高、可擴(kuò)展性好.
SuperVis系統(tǒng)是一種基于集群的網(wǎng)絡(luò)結(jié)構(gòu),集群是一組相互獨(dú)立的,通過高速局域網(wǎng)互聯(lián)的計(jì)算機(jī)組成的集合體.由于集群計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)簡單、計(jì)算能力強(qiáng)、易于搭建,同時(shí),還具有自由擴(kuò)展、靈活性好、高性價(jià)比的等諸多優(yōu)點(diǎn),因此成為了大規(guī)模計(jì)算的理想平臺[8,9].
通過集群網(wǎng)絡(luò)技術(shù)構(gòu)建的SuperVis系統(tǒng)硬件結(jié)構(gòu)如圖1所示:包括拼接顯示屏、顯示子節(jié)點(diǎn)、顯示主節(jié)點(diǎn)機(jī)等.各部件以高速的以太局域網(wǎng)連接,形成了分布式并行計(jì)算的集群環(huán)境.所有的子節(jié)點(diǎn)機(jī)由主節(jié)點(diǎn)計(jì)算機(jī)統(tǒng)一調(diào)度控制管理,用戶可以通過配有可視化的控制界面直接控制管理主節(jié)點(diǎn)計(jì)算機(jī).在各個(gè)節(jié)點(diǎn)機(jī)上都采用相同的操作系統(tǒng)、資源管理系統(tǒng)和編譯環(huán)境.系統(tǒng)搭建過程中可以根據(jù)實(shí)際要求,線性的增加子節(jié)點(diǎn)計(jì)算機(jī),其中子節(jié)點(diǎn)集群與可擴(kuò)展超高分辨顯示屏相連接,每個(gè)子節(jié)點(diǎn)計(jì)算機(jī)配置有微型處理器并連接1-4臺顯示設(shè)備.因此,系統(tǒng)的整體顯示分辨率,能夠隨著子節(jié)點(diǎn)機(jī)和關(guān)聯(lián)的顯示屏的增加而成倍的增長,其顯示像素可達(dá) 10 億以上.另外,拼接顯示屏的造價(jià)相對低廉,且可擴(kuò)展顯示屏的形狀可以隨意變更.
圖1 SuperVis 系統(tǒng)硬件結(jié)構(gòu)圖
SuperVis系統(tǒng)由可擴(kuò)展超高分辨顯示屏、計(jì)算機(jī)網(wǎng)絡(luò)、用戶接口、主節(jié)點(diǎn)計(jì)算機(jī)和子節(jié)點(diǎn)集群組成,其軟件結(jié)構(gòu)如圖2所示:其中主節(jié)點(diǎn)計(jì)算機(jī)對計(jì)算機(jī)集群并行計(jì)算控制顯示系統(tǒng)進(jìn)行統(tǒng)一集中管理控制并提供與用戶交互的通訊接口,通過所述高速集群網(wǎng)絡(luò)保持主節(jié)點(diǎn)計(jì)算機(jī)和子節(jié)點(diǎn)實(shí)時(shí)通信.經(jīng)子節(jié)點(diǎn)集群采集和處理后的網(wǎng)頁信息通過可擴(kuò)展超高分辨顯示屏進(jìn)行顯示.其中子節(jié)點(diǎn)集群及主節(jié)點(diǎn)計(jì)算機(jī)均采用模塊化的設(shè)計(jì),并且均包含:Web基本組件、含有Web瀏覽器的應(yīng)用程序、同步控制模塊、通訊接口及Web資源引擎模塊(如:視頻引擎、圖像引擎、3D引擎等),特別的,子節(jié)點(diǎn)集群還包含顯示調(diào)度模塊和信息渲染模塊.
圖2 SuperVis 軟件結(jié)構(gòu)圖
系統(tǒng)通過用戶接口,接受用戶輸入的命令并通過可視化的操作界面于用戶進(jìn)行交互.同步控制模塊根據(jù)用戶指令,控制應(yīng)用程序的通訊接口將相應(yīng)圖像處理傳送到顯示集群子節(jié)點(diǎn)機(jī).含有Web瀏覽器的應(yīng)用程序?qū)⒒ヂ?lián)網(wǎng)資源從Web服務(wù)器上獲取,然后形成原始圖像數(shù)據(jù)流,流化到一個(gè)高分辨率的內(nèi)存緩沖區(qū)內(nèi).數(shù)據(jù)流經(jīng)過子節(jié)點(diǎn)集群的顯示調(diào)度模塊處理后生成全局的原始圖像數(shù)據(jù)[10].然后根據(jù)配置信息,對此圖像進(jìn)行分布式并行渲染處理.圖像處理結(jié)束后,并將圖像數(shù)據(jù)傳輸?shù)阶庸?jié)點(diǎn)機(jī).目標(biāo)節(jié)點(diǎn)的地址和位置信息將會以消息流的形式,由同步控制模塊通知顯示節(jié)點(diǎn),最后顯示節(jié)點(diǎn)根據(jù)同步控制模塊發(fā)來的位置信息,將圖像顯示在可擴(kuò)展分辨顯示屏上.
以下將對基于瀏覽器的應(yīng)用程序設(shè)計(jì)、Web資源引擎設(shè)計(jì)、應(yīng)用程序接口類的設(shè)計(jì)、窗口消息管理,網(wǎng)絡(luò)傳輸協(xié)議的選擇等進(jìn)行詳細(xì)說明和闡述.
SuperVis系統(tǒng)中,主節(jié)點(diǎn)計(jì)算機(jī)和子節(jié)點(diǎn)集群都集成基于瀏覽器的應(yīng)用程序,應(yīng)用程序集成瀏覽器內(nèi)核可完成與互聯(lián)網(wǎng)通信,瀏覽器中封裝了Web基本組件并通過HTML5和資源引擎支持原生二維和三維渲染.系統(tǒng)采用JavaScript(簡稱JS)技術(shù)構(gòu)建瀏覽器的Web資源引擎,用于對互聯(lián)網(wǎng)的多種類型資源的獲取和渲染顯示[11-13],其中瀏覽器由Web的基本組件和相關(guān)的Web資源引擎組成,Web資源引擎是跨平臺的,可以自動(dòng)下載所需依賴項(xiàng).對于不同的網(wǎng)頁資源配置不同的資源引擎,以此來高速采集Web服務(wù)器上的視頻文件、視頻會議、GIS地圖、衛(wèi)星影像、3D模型、BIM、圖片、文本、PDF等信息,并通過顯示渲染調(diào)度模塊將多種網(wǎng)頁智能排列、組合、顯示在可擴(kuò)展超高分辨顯示屏上.
應(yīng)用程序消息提供了同步控制模塊和用戶之間的交互API接口,用戶通過鍵盤、鼠標(biāo)發(fā)出的命令,通過應(yīng)用程序消息,發(fā)送給同步控制模塊.同步控制模塊經(jīng)過分析后,對消息做相應(yīng)的處理,控制整個(gè)系統(tǒng)的工作流程,其中API接口如表1所示.
表1 應(yīng)用程序接口庫
系統(tǒng)采用TCP/IP傳輸協(xié)議進(jìn)行互聯(lián)網(wǎng)資源的采集下載,依靠TCP/IP協(xié)議實(shí)現(xiàn)了網(wǎng)絡(luò)的互聯(lián),形成一個(gè)統(tǒng)一的計(jì)算機(jī)網(wǎng)絡(luò),為實(shí)時(shí)獲取互聯(lián)網(wǎng)上的資源提供保障[14].顯示客戶端通過同步控制模塊響應(yīng)主節(jié)點(diǎn)機(jī)的控制命令并實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)機(jī)的顯示同步.然后各個(gè)顯示節(jié)點(diǎn)機(jī)進(jìn)行信息內(nèi)容的采集、建立顯示環(huán)境、對影像信息進(jìn)行重新裁剪繪制.系統(tǒng)使用應(yīng)用程序集成的瀏覽器來訪問云服務(wù)器,并根據(jù)URL鏈接到云服務(wù)器的特定信息資源.為了用唯一的ID標(biāo)識每個(gè)顯示客戶機(jī),我們將一個(gè)參數(shù)附加到URL上,將其映射到可擴(kuò)展顯示屏上的特定行和列.每個(gè)顯示屏給定其編號并按照其在網(wǎng)格上的坐標(biāo)位置[15],通過偏移內(nèi)容顯示其自己的視圖.
網(wǎng)頁上的視頻文件、視頻會議、GIS地圖、衛(wèi)星影像、3D模型、BIM、圖片、文本、PDF等信息實(shí)時(shí)采集顯示流程如圖3所示.
圖3 子節(jié)點(diǎn)機(jī)的信息采集顯示流程
SuperVis系統(tǒng)采用類封裝方法來實(shí)現(xiàn)所述各項(xiàng)功能,其封裝結(jié)構(gòu)如圖4所示.類包括ShowWindow類、SourceInterface類及各種信息源類.ShowWindow類是所有顯示窗口類的父類,實(shí)現(xiàn)各類信息源在顯示窗口中的顯示[16].顯示系統(tǒng)新建顯示窗口類的具體步驟如下:
① 新建ShowWindow類,定義窗口坐標(biāo)位置、大小和顏色;
② 給 ShowWindow 類的 SourceInterface賦值,實(shí)現(xiàn)與信息源的關(guān)聯(lián);
③ 渲染信息源紋理,實(shí)現(xiàn)信息源在指定窗口中的顯示.
SourceInterface是所有信息源類的父類,通過繼承,可以針對不同的信息源生成Image、Movie、Stream、PDF、Text等顯示信息源.其中ShowWindow類帶有SourceInterface類的顯示窗口位置坐標(biāo)、顯示窗口大小等信息,能夠接收用戶指令并實(shí)現(xiàn)窗口位置移動(dòng),窗口單邊和比例縮放等功能.另一方面,SourceInterface類是一個(gè)抽象類,帶有信息源類型及信息源紋理等信息,位于ShowWindow類及各種信息源類之間,是兩者之間溝通的渠道,ShowWindow類依靠SourceInterface類與相應(yīng)的信息源類的聯(lián)系,從而實(shí)現(xiàn)直接的信息源操作與同步控制.
在設(shè)計(jì)好的接口類下,根據(jù)用戶指令可以獲得一個(gè)顯示窗口后,利用顯示窗口就可以獲得窗口的信息源的實(shí)例ID,根據(jù)信息源的實(shí)例ID就可以判斷該信息源的類型;這樣就可以根據(jù)不同的信息源類型進(jìn)行信息源的個(gè)性化操作控制.例如:實(shí)現(xiàn)文字顏色、字體等屬性的調(diào)整等操作,實(shí)現(xiàn)視頻文件的播放、暫停,實(shí)現(xiàn)三維模型的任意角度查看.
其中用戶于可視化用戶操作界面交互的消息分為以下幾類:注冊和關(guān)閉類、應(yīng)用程序相關(guān)類、窗口相關(guān)類、性能相關(guān)類.詳細(xì)的消息描述如表2所示.
表2 用戶交互的消息類型
同步控制模塊集成有窗口消息管理模塊,用來實(shí)現(xiàn)系統(tǒng)中消息的響應(yīng)、解析和傳遞和各個(gè)節(jié)點(diǎn)機(jī)的信息同步,通過調(diào)用相對應(yīng)的消息模塊對主節(jié)點(diǎn)機(jī)的事件進(jìn)行處理.各個(gè)節(jié)點(diǎn)機(jī)的應(yīng)用程序通過消息管理對主節(jié)點(diǎn)機(jī)的事件進(jìn)行響應(yīng),然后針對網(wǎng)頁上的信息源進(jìn)行編輯、搜索、歸檔、顯示等操作[17].在節(jié)點(diǎn)機(jī)中,顯示調(diào)度模塊對顯示屬性進(jìn)行預(yù)先配置并對信息源內(nèi)容進(jìn)行有序的讀取和智能調(diào)度,在所述可擴(kuò)展的拼接顯示屏上預(yù)先進(jìn)行窗口設(shè)置和排列,通過信息渲染顯示模塊顯示輸出并對信息源進(jìn)行窗口布局、層疊、繪制、位置移動(dòng)和比例縮放,其中窗口消息處理示意圖如圖5所示.
圖5 消息處理示意圖
信息源的窗口顯示過程的詳細(xì)步驟如下:
① Init (id,width,height,resrc,date),初始化窗口實(shí)例id、大小、資源目錄路徑;
② Draw (date),繪制窗口,其中 date 是日期 (用于計(jì)算動(dòng)畫的 t和 dt),在應(yīng)用程序中,如果需要重繪,可以調(diào)用‘refresh()’;
③ Resize (date),調(diào)整窗口的大小,實(shí)現(xiàn)窗口的單邊縮放和比例縮放;
④ Load(),加載將要顯示的信息資源;
⑤ Moved (px,py,wx,wy,date),應(yīng)用程序窗口移動(dòng)到屏幕空間 (左上角)(px,py)的位置,(wx,wy)是在可擴(kuò)展顯示屏所占的大小;
⑥ Event (type,position,user,data),type 是事件的類型,position 包含事件的 x 和 y 位置,user包含觸發(fā)事件的用戶的數(shù)據(jù),data是包含事件額外數(shù)據(jù)的對象;
⑦ Quit(),關(guān)閉應(yīng)用程序窗口.
通過瀏覽器直接獲取網(wǎng)站上http://www.sosyes.cn/的衛(wèi)星地圖,并通過本文所述的SuperVis系統(tǒng)將它顯示出來.其中傳統(tǒng)的信息顯示系統(tǒng)通過采用信息集中處理工作的方式,完成多種類型的影像顯示,這種顯示方式,其分辨率受到終端計(jì)算機(jī)顯卡和計(jì)算能力的限制,其最高分辨率最高為 1920×1080,如圖6所示.
圖6 傳統(tǒng)的顯示結(jié)果
而在相同尺寸的顯示屏幕下,采用集群的并行超高顯示技術(shù)的SuperVis系統(tǒng)是由一臺主節(jié)點(diǎn)機(jī)和3臺子節(jié)點(diǎn)機(jī)組成,每臺子節(jié)點(diǎn)機(jī)控制器與4塊顯示單元連接,因此衛(wèi)星地圖總的分辨率達(dá)到了7680×3240,并且可以根據(jù)需求線形增加.基于集群的并行超高顯示技術(shù)的顯示效果如圖7所示.
圖7 SuperVis系統(tǒng)顯示結(jié)果
通過對比實(shí)驗(yàn),不難發(fā)現(xiàn)本研究的SuperVis系統(tǒng)可以顯示的網(wǎng)頁上更廣范圍的衛(wèi)星地圖,并且擁有超高的分辨率.SuperVis大屏幕拼接顯示系統(tǒng)顯示效果比傳統(tǒng)的投影放大系統(tǒng)有巨大的提升.SuperVis系統(tǒng)的顯示分辨率是各子顯示系統(tǒng)分辨率的總和.因此系統(tǒng)的分辨率可以隨著系統(tǒng)的擴(kuò)展線性增大,且不會因?yàn)轱@示尺寸的擴(kuò)大而損失圖像的質(zhì)量,影響整體的顯示效果.
實(shí)現(xiàn)Web資源的實(shí)時(shí)超高分辨顯示意義重大,文中針對互聯(lián)網(wǎng)上的信息資源數(shù)據(jù)量大、處理困難、顯示分辨率要求高等情況,提出了一種基于計(jì)算機(jī)集群Web并行超高分辨顯示技術(shù)的顯示系統(tǒng)-SuperVis.實(shí)驗(yàn)結(jié)果證明,文中SuperVis系統(tǒng)能夠顯示超高分辨的互聯(lián)網(wǎng)上的信息資源,克服了傳統(tǒng)的大屏幕拼接系統(tǒng)和DLP投影拼接系統(tǒng)的存在顯示分辨率有限、異地資源無法共享、 無法顯示多種類型資源等缺陷,并為衛(wèi)星遙感、智慧城市管理中心、交通管理和海量GIS地圖顯示等領(lǐng)域的網(wǎng)頁資源超高分辨顯示提供一種有效的、高性價(jià)比的解決方案.