本發(fā)明屬于三維場景數(shù)字空間模型沉浸式虛擬現(xiàn)實(shí)系統(tǒng)領(lǐng)域,尤其涉及具有三維全景渲染、在線全景展示、沉浸式漫游與人機(jī)互動(dòng)功能的全景瀏覽系統(tǒng)。
背景技術(shù):三維數(shù)字空間的展示領(lǐng)域,傳統(tǒng)采用三維建模軟件制作漫游視頻的方法,以視頻播放的方式供觀察者瀏覽,錄像必須按照制作者規(guī)劃好的路線拍攝,不能夠由觀察者的意愿所控制。作為改進(jìn),谷歌研發(fā)的谷歌街景產(chǎn)品,提供對全球街景照片的360°觀察與漫游功能,提供了一種高度自由的觀賞體驗(yàn),但美中不足的是,谷歌街景僅適用于實(shí)地拍攝的戶外街景。在室內(nèi)數(shù)字場景展示領(lǐng)域,目前有兩條技術(shù)路線:(1)實(shí)時(shí)渲染方案,采用客戶端實(shí)時(shí)渲染技術(shù),借助強(qiáng)大的三維硬件計(jì)算能力,一次性加載大場景模型數(shù)據(jù),根據(jù)用戶輸入調(diào)整相機(jī)位置實(shí)時(shí)渲染,相機(jī)自由度高,能夠以任意方式移動(dòng)相機(jī)參數(shù),但由于目前計(jì)算機(jī)實(shí)時(shí)渲染能力無法達(dá)到物理真實(shí)感,無法做到折射效果、間接照明等效果,故此方案出圖效果較差,和真實(shí)照片或3D效果圖有一定差距,一般作為草圖預(yù)覽使用;(2)全景圖方案,采用傳統(tǒng)基于光線追蹤的高質(zhì)量效果圖渲染技術(shù),包括全景圖生成、存儲(chǔ)和展示三個(gè)環(huán)節(jié),通過一定的投影規(guī)則,在場景的固定相機(jī)位置渲染出一張或多張效果圖,再根據(jù)投影規(guī)則實(shí)現(xiàn)環(huán)繞展示。投影分為柱形、球形、盒形、正十二面體等類別,分別對應(yīng)有不同的全景圖生成、存儲(chǔ)和展示形式。相比實(shí)時(shí)渲染方案,此方案提高了出圖質(zhì)量,但由于方法需要鎖定相機(jī)的位置,從而減小觀察自由度。在室內(nèi)設(shè)計(jì)領(lǐng)域,全景圖是當(dāng)下流行的效果圖展現(xiàn)方式。隨著三維互聯(lián)網(wǎng)業(yè)務(wù)需求的擴(kuò)大,以及互聯(lián)網(wǎng)接入速度的提升,市場亟需一種使用方便、快捷、可用的在線場景展示系統(tǒng),以滿足目前在線三維場景展示需求,對上述傳統(tǒng)技術(shù)方案是一項(xiàng)挑戰(zhàn)。
技術(shù)實(shí)現(xiàn)要素:為了解決上述的問題,本發(fā)明在兩種傳統(tǒng)方案的基礎(chǔ)上,結(jié)合他們的優(yōu)點(diǎn),提出基于球形投影的“三維場景——兩維圖像”映射方法,將深度等更多的三維空間信息描述在兩維全景圖像及附帶的描述文件中,從而突破了傳統(tǒng)360°全景圖只能展示不能沉浸式漫游、人機(jī)互動(dòng)的缺陷,形成一套出圖質(zhì)量高、相機(jī)自由度大的新型360°全景展示與沉浸式漫游技術(shù),并在展示與漫游的基礎(chǔ)上加入人機(jī)互動(dòng)的新功能,以滿足商業(yè)應(yīng)用需求。本發(fā)明選擇球形投影方法,對比其他方法球形投影具有投影公式連續(xù)、接縫少的特點(diǎn),并在基本的全景展示基礎(chǔ)上,擴(kuò)展了深度計(jì)算、坐標(biāo)計(jì)算等,以滿足沉浸式漫游和人機(jī)互動(dòng)功能的要求。本發(fā)明提供一種針對室內(nèi)外場景模型的自動(dòng)化入庫處理流程,其中包括自動(dòng)化相機(jī)生成方法、帶深度的全景圖渲染方法、基于JavaScript腳本的可交互目標(biāo)行為描述與導(dǎo)出方法,全景圖的網(wǎng)狀關(guān)系存儲(chǔ)方法。本發(fā)明提供一種針對室內(nèi)外場景的全景展示與沉浸式漫游流程,其中包括基于光線追蹤的目標(biāo)選擇方法、地面行走方法、漸進(jìn)式的鏡頭切換方法。本發(fā)明提供一種公共服務(wù)協(xié)議,協(xié)議大大簡化了第三方應(yīng)用對本系統(tǒng)提供服務(wù)的調(diào)用流程。附圖說明下面結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。圖1為本發(fā)明的整體系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D;圖2為本發(fā)明的系統(tǒng)邏輯結(jié)構(gòu)圖;圖3為本發(fā)明的展示層界面;圖4為本發(fā)明的在線全景展示示意圖;圖5為本發(fā)明的沉浸式漫游示意圖;圖6為本發(fā)明的人機(jī)互動(dòng)示意圖;圖7為本發(fā)明的內(nèi)容錄入業(yè)務(wù)流程圖;圖8為本發(fā)明的展示業(yè)務(wù)流程圖;圖9為本發(fā)明的漫游業(yè)務(wù)流程圖;圖10為本發(fā)明的互動(dòng)業(yè)務(wù)流程圖。具體實(shí)施方式下面結(jié)合說明書附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步的描述。圖1為本發(fā)明的整體系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D。圖1所示的系統(tǒng)網(wǎng)絡(luò)包括:互聯(lián)網(wǎng)終端1-1,用來實(shí)現(xiàn)WEB服務(wù)接入。Internet互聯(lián)網(wǎng)1-2,負(fù)責(zé)連接終端與展示漫游系統(tǒng)。三維虛擬空間在線360°全景展示與漫游系統(tǒng)1-3,該網(wǎng)絡(luò)包括防火墻1-3-1,提供展示與漫游系統(tǒng)的網(wǎng)絡(luò)安全保護(hù),防止來自外部的網(wǎng)絡(luò)攻擊;前端負(fù)載均衡服務(wù)器1-3-2,提供HTTP請求的負(fù)載均衡調(diào)度和失效轉(zhuǎn)移工作;前端WEB服務(wù)器組1-3-3,提供基本網(wǎng)站展示層服務(wù);前端流媒體服務(wù)器組1-3-4,提供RTMP流媒體展示層服務(wù);后端應(yīng)用服務(wù)器組1-3-5,負(fù)責(zé)前端發(fā)出的應(yīng)用層業(yè)務(wù)請求;數(shù)據(jù)安全與鑒權(quán)服務(wù)器1-3-6,負(fù)責(zé)整個(gè)系統(tǒng)的數(shù)據(jù)安全和業(yè)務(wù)鑒權(quán)認(rèn)證服務(wù);數(shù)據(jù)庫服務(wù)器組1-3-7,為系統(tǒng)提供統(tǒng)一的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)服務(wù),并構(gòu)建安全、健壯的數(shù)據(jù)庫存儲(chǔ)集群;文件服務(wù)器組1-3-8,提供非關(guān)系數(shù)據(jù)的高效存儲(chǔ),降低數(shù)據(jù)庫負(fù)荷;監(jiān)控及網(wǎng)管服務(wù)器1-3-9,負(fù)責(zé)統(tǒng)一的各節(jié)點(diǎn)性能監(jiān)控和管理。內(nèi)部交換網(wǎng)絡(luò)1-4,負(fù)責(zé)安全高速連接展示漫游系統(tǒng)與渲染系統(tǒng)。三維圖形渲染系統(tǒng)1-5,該網(wǎng)絡(luò)包括防火墻1-5-1,提供渲染系統(tǒng)的網(wǎng)絡(luò)安全保護(hù);渲染接口服務(wù)器1-5-2,提供渲染服務(wù)接口。圖2為本發(fā)明的系統(tǒng)邏輯結(jié)構(gòu)圖。本系統(tǒng)包括:展示層2-1,包括展示與漫游UI模塊2-1-1、內(nèi)容管理UI模塊2-1-2、網(wǎng)絡(luò)通訊模塊2-1-3、并提供標(biāo)準(zhǔn)流媒體通訊協(xié)議2-1-4。業(yè)務(wù)層2-2,包括360°全景展示與漫游服務(wù)接口2-2-1,對外提供統(tǒng)一的服務(wù)調(diào)用接口;負(fù)載均衡模塊2-2-2,負(fù)責(zé)請求的負(fù)載均衡調(diào)度和失效轉(zhuǎn)移工作;應(yīng)用業(yè)務(wù)調(diào)度模塊2-2-3,按類型分發(fā)不同的事務(wù);內(nèi)容錄入業(yè)務(wù)模塊2-2-4,負(fù)責(zé)內(nèi)容錄入相關(guān)業(yè)務(wù)邏輯;展示漫游業(yè)務(wù)模塊2-2-5,負(fù)責(zé)展示與漫游相關(guān)業(yè)務(wù)邏輯;3D場景管理模塊2-2-6,復(fù)雜組織場景與鏡頭的關(guān)系;內(nèi)容互動(dòng)管理模塊2-2-7,復(fù)雜組織場景與互動(dòng)點(diǎn)的關(guān)系,提供2D-3D映射功能;流媒體處理模塊2-2-8,提供流媒體壓縮與傳輸功能;監(jiān)控與網(wǎng)管模塊2-2-9,負(fù)責(zé)統(tǒng)一的各節(jié)點(diǎn)性能監(jiān)控和管理。渲染層2-3,包括三維場景照片級渲染公共服務(wù)接口2-3-1,為業(yè)務(wù)層提供渲染服務(wù)。數(shù)據(jù)層2-4,包括數(shù)據(jù)安全與鑒權(quán)模塊2-4-1,負(fù)責(zé)整個(gè)系統(tǒng)的數(shù)據(jù)安全和業(yè)務(wù)鑒權(quán)的認(rèn)證;分布式存儲(chǔ)系統(tǒng)2-4-2,負(fù)責(zé)存儲(chǔ)關(guān)系型數(shù)據(jù);分布式數(shù)據(jù)庫系統(tǒng)2-4-3,負(fù)責(zé)存儲(chǔ)非關(guān)系型數(shù)據(jù)。圖3為本發(fā)明的展示層界面。本系統(tǒng)采用視頻流方式展示三維場景,包括左旋鏡頭按鈕3-1、右旋鏡頭按鈕3-2、抬高鏡頭按鈕3-3、降低鏡頭按鈕3-4、縮放鏡頭按鈕3-5、移動(dòng)鏡頭(漫游)按鈕3-6、互動(dòng)按鈕3-7、互動(dòng)展示內(nèi)容3-8。圖4為本發(fā)明的在線全景展示示意圖,包括3D場景4-1、旋轉(zhuǎn)相機(jī)4-2、全景圖4-3、互動(dòng)目標(biāo)4-4。在3D場景中某固定位置,設(shè)置一旋轉(zhuǎn)相機(jī),進(jìn)行360°旋轉(zhuǎn)渲染,獲得一張全景圖,并根據(jù)映射算法將互動(dòng)目標(biāo)標(biāo)記在全景圖上,采用專用的播放程序讀取全景圖,按照物理真實(shí)效果展現(xiàn)在用戶界面上。圖5為本發(fā)明的沉浸式漫游示意圖,包括入口觀察點(diǎn)5-1、當(dāng)前觀察點(diǎn)5-2、當(dāng)前鄰接觀察點(diǎn)5-3、漫游路線5-4。場景管理模塊可分析房間和門的位置,自動(dòng)生成若干觀察點(diǎn),并在這些觀察點(diǎn)上進(jìn)行全景圖渲染和展示,瀏覽者可從入口觀察點(diǎn)開始,按照鄰接關(guān)系切換觀察的位置,形成漫游效果。圖6為本發(fā)明的人機(jī)互動(dòng)示意圖,包括全景圖6-1、場景6-2、互動(dòng)目標(biāo)6-3、在線互動(dòng)內(nèi)容6-4。對全景圖的特定區(qū)域、場景中的特定目標(biāo),標(biāo)記互動(dòng)目標(biāo)序號A、B等,并按序號關(guān)聯(lián)到對應(yīng)的在線互動(dòng)內(nèi)容網(wǎng)頁上,形成快速鏈接。下面結(jié)合圖7到圖10說明本發(fā)明的系統(tǒng)實(shí)現(xiàn)方法。圖7為本發(fā)明的內(nèi)容錄入業(yè)務(wù)流程圖。在步驟S101中,內(nèi)容管理UI模塊向內(nèi)容錄入業(yè)務(wù)模塊提交場景文件。在步驟S102-S103中,內(nèi)容錄入業(yè)務(wù)模塊向數(shù)據(jù)安全與鑒權(quán)模塊查詢用戶是否合法授權(quán)。在步驟S104中,內(nèi)容錄入模塊將場景文件發(fā)送給場景管理模塊,并要求其入庫。在步驟S105-S108中,場景管理模塊先后將場景基本信息索引和互動(dòng)數(shù)據(jù)存入分布式數(shù)據(jù)庫系統(tǒng)。在步驟S109中,場景管理模塊分析場景生成鏡頭。在步驟S110中,場景管理模塊向照片級渲染接口發(fā)送場景文件和鏡頭,提出多鏡頭渲染請求。在步驟S111-S112中,照片級渲染接口負(fù)責(zé)完成多次渲染計(jì)算并返回渲染圖給場景管理模塊。在步驟S113-S114中,場景管理模塊將渲染圖存入分布式文件存儲(chǔ)系統(tǒng)。在步驟S115-S116中,場景管理模塊依次向調(diào)用者反饋成功信號。圖8為本發(fā)明的展示業(yè)務(wù)流程圖。在步驟S201示與漫游UI模塊向全景展示與漫游服務(wù)接口發(fā)送場景索引。在步驟S202口將場景索引轉(zhuǎn)發(fā)給展示漫游業(yè)務(wù)模塊。在步驟S203-S204展示漫游業(yè)務(wù)模塊通過向數(shù)據(jù)安全與鑒權(quán)模塊鑒別用戶授權(quán)。在步驟S205中,展示漫游業(yè)務(wù)模塊發(fā)送場景索引給場景管理模塊要求其為用戶調(diào)出該場景有關(guān)資料。在步驟S206-S209中,場景管理模塊分別從分布式數(shù)據(jù)庫系統(tǒng)和分布式文件存儲(chǔ)中讀取場景的基本信息、互動(dòng)數(shù)據(jù)、附屬的渲染圖。在步驟S210中,場景管理模塊將拿到的數(shù)據(jù)返回給展示漫游業(yè)務(wù)模塊。在步驟S211-S213中,展示漫游業(yè)務(wù)模塊調(diào)用流媒體處理模塊壓縮渲染圖。在步驟S214-S215中,展示漫游業(yè)務(wù)模塊依次將結(jié)果以視頻流形式返回給展示與漫游UI模塊。圖9為本發(fā)明的漫游業(yè)務(wù)流程圖。在步驟S301中展示與漫游UI模塊將場景索引發(fā)送給全景展示與漫游服務(wù)接口,以獲取與場景相關(guān)的鏡頭數(shù)據(jù)。在步驟S302中,接口將請求轉(zhuǎn)發(fā)給展示漫游業(yè)務(wù)模塊。在步驟S303-S306中,展示漫游業(yè)務(wù)模塊向3D場景管理模塊查詢場景數(shù)據(jù),3D場景管理模塊從數(shù)據(jù)庫中讀取數(shù)據(jù)返回給展示漫游業(yè)務(wù)模塊。在步驟S307-S308中,展示漫游業(yè)務(wù)模塊分析場景數(shù)據(jù),提取相鄰鏡頭索引,并依次返回給展示與漫游UI模塊。在步驟S309中,展示與漫游UI模塊選擇欲移動(dòng)到的相鄰鏡頭。在步驟S310-S311中,展示與漫游UI模塊重新向全景展示與漫游服務(wù)接口請求新的場景展示請求,在前一次的基礎(chǔ)上增加了欲移動(dòng)到的相鄰鏡頭索引,以實(shí)現(xiàn)漫游的效果。圖10為本發(fā)明的互動(dòng)業(yè)務(wù)流程圖。在步驟S401中,展示與漫游UI模塊向全景展示與漫游服務(wù)接口發(fā)送互動(dòng)索引,請求互動(dòng)功能。在步驟S402中,展示與漫游服務(wù)接口將請求轉(zhuǎn)發(fā)給展示漫游業(yè)務(wù)模塊。在步驟S403-S406中,展示漫游業(yè)務(wù)模塊將互動(dòng)索引發(fā)送給內(nèi)容互動(dòng)管理模塊,提出查詢該索引相關(guān)數(shù)據(jù),內(nèi)容互動(dòng)管理模塊從數(shù)據(jù)庫中讀取數(shù)據(jù)后回復(fù)展示漫游業(yè)務(wù)模塊。在步驟S407-S411中,展示漫游業(yè)務(wù)模塊調(diào)用流媒體處理模塊壓縮場景圖和互動(dòng)數(shù)據(jù),并以流媒體形式發(fā)回給展示與漫游UI模塊。在步驟S412-S413中,展示與漫游UI模塊通過外部調(diào)用方式轉(zhuǎn)而調(diào)用互動(dòng)描述中的第三方服務(wù)。雖然本發(fā)明已以較佳實(shí)施例公開如上,但它們并不是用來限定本發(fā)明,任何熟悉此技藝者,在不脫離本發(fā)明之精神和范圍內(nèi),自當(dāng)可作各種變化或潤飾,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以本申請的權(quán)利要求保護(hù)范圍所界定的為準(zhǔn)。