范 辰
同濟大學(xué)軟件學(xué)院,上海 200092
隨著虛擬場景數(shù)據(jù)量不斷增大,C/S-DVE 中服務(wù)器成為了“瓶頸”,因此P2P 在DVE 中的優(yōu)勢逐漸受到人們的重視。此外受限于視野范圍,化身在DVE 中只能觀察到局部場景,這就是用戶的當前潛在可視場景集(CPVS, Current Potential Visible Scenes);而用戶未來可能需要的場景就是未來潛在可視場景集(FPVS, Future Potential Visible Scenes)[1]。當用戶已下載完CPVS 時,可通過預(yù)先判斷并預(yù)下載FPVS 使用戶的瀏覽體驗更為順暢[1]。本文提出了適合P2P-DVE 的預(yù)下載方法,將化身和鄰居FPVS 都考慮在內(nèi)進行預(yù)下載。
傳統(tǒng)預(yù)下載策略分為基于歷史運動軌跡和基于領(lǐng)域擴張的預(yù)下載[1]。
基于歷史運動軌跡的預(yù)下載主要有算術(shù)平均法、窗口法、EWMA 及MLM。文獻[3]介紹了算術(shù)平均法和窗口法,均只是簡單計算歷史向量的算術(shù)平均值,同時該文還提出EWMA 法,考慮了不同時刻平移向量對預(yù)測的影響。文獻[7]提到MLM 預(yù)下載方法,假設(shè)只通過鼠標來控制并通過預(yù)測鼠標位置來間接預(yù)測化身位置。
基于領(lǐng)域擴張的預(yù)下載主要有SNP 和PBNP 算法。文獻[4]的SNP 通過預(yù)下載節(jié)點周圍的單元格來實現(xiàn)預(yù)下載,簡單易實現(xiàn)但當節(jié)點在幾個單元格間快速來回平移會降低性能,因此[5]提出了改進法PBNP,在更小范圍內(nèi)預(yù)下載,雖然效率提高但原理與SNP 一樣,仍會一定程度地影響性能。
因此現(xiàn)有DVE 預(yù)下載機制均基于集中式DVE,只考慮自身的運動軌跡或趨勢。但P2P-DVE 在預(yù)下載時還應(yīng)考慮鄰居的FPVS,要將自身和鄰居需求都考慮在內(nèi),綜合計算自身和鄰居FPVS。
P2P-DVE 中任意兩點都能建立聯(lián)系,每一節(jié)點都可從任一節(jié)點處下載數(shù)據(jù)或向任一節(jié)點提供數(shù)據(jù)。因此本文認為P2PDVE 預(yù)下載時應(yīng):將自身及鄰居的FPVS 都考慮在內(nèi)。
2.2.1 預(yù)下載區(qū)域(AOP)
預(yù)下載時AOI 內(nèi)數(shù)據(jù)(即CPVS)已獲取完畢,需要關(guān)注的是比AOI 更大范圍的場景,因此本文在AOI 外圍定義了另一個圓,叫預(yù)下載區(qū)域(AOP, Area of Prefetching),是以化身位置為圓心,R 為半徑的圓,其中r < R,r 為AOI 半徑。
2.2.2 視覺關(guān)注度及熱度的計算方法
視覺關(guān)注度代表了物體對于節(jié)點的視覺重要度。設(shè)物體為Oi,Oi 到化身視點距離為Di,Oi 偏離視線角度設(shè)為Ai,化身AOP 的半徑為RAOP,這樣就可得到計算視覺關(guān)注度V(Oi)的公式[2]:
λ 表示在視覺關(guān)注度中物體距離視點距離因素占的比例,( )λ?1 則表示物體偏離視線角度所占比例。
如前所述,P2P-DVE 預(yù)下載時需將鄰居FPVS 考慮在內(nèi)。當請求物體過多且順序失當時,會使節(jié)點本身瀏覽不流暢且無法顧及其他節(jié)點。因此本文引入熱度的概念:在一定范圍內(nèi)對某一資源實體需求的總數(shù)。
假設(shè)有j 個節(jié)點需要物體Oi,則物體Oi 的熱度為:
2.2.3 確定預(yù)下載優(yōu)先級
若某數(shù)據(jù)只有自身需要,那對該數(shù)據(jù)只需計算視覺關(guān)注度V(Oi)即可;若只有鄰居需要那只需計算熱度H(Oi);若自身及鄰居都需要,那兩個因素都要考慮。
由于重要的數(shù)據(jù)應(yīng)被優(yōu)先下載,因此V(Oi)及H(Oi)越高的場景應(yīng)被優(yōu)先下載,反之亦然。同時為歸一化,每個物體的V(Oi)和H(Oi)都應(yīng)分別除以它們的最大值后排名。
假設(shè)V(Oi)最大值為Vmax,H(Oi)最大值為Hmax。則某物體Oi 的視覺關(guān)注度和熱度系數(shù)分別為:
由此可知物體Oi 的優(yōu)先級排名計算公式為:
α 為視覺關(guān)注度在優(yōu)先級計算公式中占的比例。若Oi 只被節(jié)點自身關(guān)注那 1=α ,若只被鄰居關(guān)注則為0,否則為0.5。
本文設(shè)計的P2P-DVE 預(yù)下載機制是在開源仿真平臺FLoD [6]中實現(xiàn)運行。原始FLoD 未實現(xiàn)預(yù)下載,因此本文的預(yù)下載是針對FLoD 進行對比測試的。
圖1 場景下載節(jié)點命中率折線圖
本文提出了基于P2P-DVE 的預(yù)下載機制,將自身和鄰居需求都考慮在內(nèi),實驗結(jié)果也表明該機制提高了命中率,提升了系統(tǒng)性能。
限于時間與能力,本文設(shè)計的算法還未將P2P 優(yōu)勢完全發(fā)掘,還應(yīng)將物體的模型復(fù)用度考慮在內(nèi)進一步提高傳輸效率。
[1]王偉, 賈金原, 張晨曦, 江崟.“大規(guī)模虛擬場景漸進式傳輸?shù)难芯窟M展”.計算機科學(xué),37, 2(2010):38-43.
[2]Wang, W., Jia, J.-Y., Yu, Y., and Hu, S.-Y. “Progressive Cache Replacement for Massive Peer-to-Peer WebVR Worlds”.In Proc.of Annu. Workshop Netw. Syst.Support Games, NetGames,2010.
[3]Chim, J., Lau, R. W. H., Leong, V., et.al. “CyberWalk: a web-based distributed virtual walkthrough environment”.IEEE Transactions on Multimedia 5, 4,2003:503-515.
[4]Koltun, V., Chrysanthou, Y., and Cohen-Or Dl. “Hardware-accelerated from-region visibility using a dual ray space”.In Proc. of EGWR’01,2001:204-214.
[5]Zheng, Z., Chan, T. K. Y.“Optimized neighbor prefetch and Cache for client-server based walkthrough”.In Proc. of Cyberworlds’03,2003:143-150.
[6]Hu, S. Y., Huang, T. H., Chang, S. C., Sung, W. L., Jiang, J. R., and Chen, B. Y.“FLoD: A Framework for Peer-to-Peer 3D Streaming”.In Proc.of IEEE INFOCOM ,2008:2047-2055.
[7]Li, T. Y., Hsu, W. H.“A data management scheme for effective walkthrough in large-scale virtual environments”.Visual Computer 20, 10,2004:626-634.