張東培
摘要:隨著計算機性能的飛速提升和互聯網的蓬勃發(fā)展,現有的虛擬現實應用中,所承載的場景越來越大。無論是2D場景或是3D場景,在規(guī)模特大后都需要有效組織方能有效率的運行于網絡或者個人計算機上。該文提出一種基于內存占用的多級ROI(Region Of Interest,感興趣區(qū)域)分割算法,可以將2D或3D場景有效分割為若干層許多小場景,便于加載和顯示。實驗證明,該文方法可有效降低內存占用,優(yōu)化場景顯示效率。
關鍵詞:虛擬現實;感興趣區(qū)域;場景管理
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)33-8059-03
Abstract: With the vigorous development of computer performance and the Internet, scenes in applications of virtual reality existing are getting larger and larger. Both 2D and 3D scenes need management to display effectively. Based on memory cost and ROI theory, we present an algorithm for large scale scene division, which can put a large scale scene into several levels and many small scenes for easy loading and displaying. Experiments show that, this method can effectively reduce the memory cost, and help display efficiency.
Key words: virtual reality; ROI; scene management
隨著計算機和互聯網的發(fā)展,大量的虛擬現實應用,如網絡游戲、家居布局、企業(yè)內的場景空間管理、仿真逃生等系統(tǒng),正以驚人的速度產出。而這些應用的基礎功能就是場景的顯示。場景包括的不單單是一張地圖,而且包括其中的各種人物、物體、建筑等模型。隨著場景的越來越大,場景內物品的精細度越來越高,一次性載入整個場景對于一些機器或者網絡變的不再可取,于是有了ROI的技術,將場景分為小塊場景群。當場景群的組織結構過大時,需要另外一個結構來組織場景群,就要有多級的ROI管理算法。
本文首先分析了大規(guī)模場景的特點,根據大規(guī)模場景的特點提出相應的ROI算法,并提出了相應的基于內存占用的多級ROI場景組織算法。這個算法包括兩個部分,第一部分是將大規(guī)模場景劃分,第二部分是組建ROI索引結構。最后,該文通過一個模擬的場景來檢測算法的效率,表明了方法的有效性。
1 大規(guī)模場景的劃分
大規(guī)模場景的原始數據往往是很多獨立的、沒有組織的模型數據。想要應用ROI算法,需要按照位置的關系將模型綁定到地圖上。在ROI算法中,地圖將被劃分為許多小的單元區(qū)域,場景的劃分過程,就是將模型綁定到單元區(qū)域的過程。這個過程可分為以下三步:
第一步,獲得平面上模型的輪廓位置數據。在2D場景中,模型的數據以點或輪廓線的方式給出,可以直接從數據中抽?。辉?D場景中,圖形引擎提供的功能可以將3D的模型投影到2D的平面上去,從而獲得輪廓線的信息。
第二步,將輪廓線對應到網格。即根據輪廓線的位置,計算其所在的網格編號,若一個模型跨越兩個甚至多個區(qū)域,將其綁定到所有覆蓋的區(qū)域。
第三步,輸出網格綁定的固定格式文件。根據前兩步,將綁定好的格式輸出為一個索引文件,后續(xù)ROI算法中可以首先讀取索引文件,再根據索引文件讀取模型并顯示。
單層的ROI網格即只用一張表來存放模型編號,例如將一張地圖分為10*10的網格,單層ROI只用一張表,存放1-100號網格中各包含了那些要顯示的模型。根據視點位置,計算出視點所在網格,并進一步計算出視點周圍的網格編號,根據網格編號中的模型編號,加載模型并顯示。
系統(tǒng)采用ROI方法是為了減少引擎渲染模型的面片數。在視點周圍只顯示能看到的范圍,而范圍外的不予顯示,這個顯示的范圍取決于引擎的渲染能力。在單個區(qū)域單元中,決定引擎所需渲染量的主要因素是其中模型的面片數。面片數取決于加載模型的數量和精細度。模型的數量越多,引擎消耗的資源越多。模型越精細,其面片數越多,引擎消耗的資源也越多。
綜合模型的數量及模型的精細度,可以總結為單元區(qū)域內所有模型的面片數總和決定了引擎渲染的工作量。模型的面片一般表示為若干個點的坐標,引擎渲染單個面片時的工作量不在于繪制面片的大小,而在與面片是數量。所以模型中點的數量可以近似的與引擎渲染工作量相關。模型中的點又以數據的形式存于文件中,點的數量決定了文件的大小。故本文采用模型所占硬盤空間,或讀入內存后所占的內存空間代替面片數的統(tǒng)計,來幫助ROI網格的劃分。
2.2 多級的ROI算法
4 結論
通過實驗結果可以看出,通過基于內存占用的多級ROI場景分割算法,可有效的組織大規(guī)模場景,減少內存開銷,提高顯示效率。
參考文獻:
[1] Khanh V,Hua K A,Tavanapong W.Image retrievalbased on regions of interest [J].IEEE Transactions on.Knowledge and Data Engineering,2003,15(4):1045-1049.
[2] Zheng Z,Prakash E,Chan T K Y.Interactive View-Dependent Rendering over Networks[J].IEEE Trans. on Visualization and Computer Graphics (TVCG),2008,14(3):576-589.
[3] 王偉,賈金原,張晨曦,等.大規(guī)模虛擬場景漸進式傳輸的研究進展[J].計算機科學,2010(2):38-43.
[4] 吳玲達,高宇,魏迎梅.大規(guī)模復雜場景交互繪制技術綜述[J].計算機研究與發(fā)展,2007,44(9): 1579-1587.
[5] 張菁,沈蘭蓀,高靜靜.基于視覺注意模型和進化規(guī)劃的感興趣區(qū)檢測方法[J].電子與信息學報,2009, 31(7):1646-1652.
[6] 張鵬,王潤生.基于視點轉移和視區(qū)追蹤的圖像顯著區(qū)域檢測[J].軟件學報,2004,15(6):891-898.