專利名稱:有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信和數(shù)據(jù)傳輸領(lǐng)域,主要是用于有損網(wǎng)絡(luò)中的一種大規(guī)模三維 數(shù)據(jù)的實(shí)時(shí)傳輸方法。
背景技術(shù):
網(wǎng)絡(luò)上三維數(shù)據(jù)的應(yīng)用越來越廣泛,而三維場(chǎng)景的數(shù)據(jù)量一般非常龐大,而現(xiàn)在 的網(wǎng)絡(luò)傳輸速度和客戶端計(jì)算機(jī)運(yùn)算能力都有限,網(wǎng)絡(luò)用戶瀏覽三維數(shù)據(jù)時(shí)會(huì)感受到極大 的延遲,極大地限制了三維場(chǎng)景遠(yuǎn)程可視化的應(yīng)用。本發(fā)明較好地兼顧了三維數(shù)據(jù)顯示質(zhì) 量和實(shí)時(shí)性兩方面的性能需求,盡可能化解兩者之間的矛盾,因此具有廣泛的應(yīng)用價(jià)值?,F(xiàn)在常見的三維數(shù)據(jù)網(wǎng)絡(luò)傳輸方法是全部數(shù)據(jù)采用TCP信道來傳輸,這些方法的 傳輸效率很低,在瀏覽大規(guī)模三維數(shù)據(jù)時(shí),實(shí)時(shí)性很差,極大地限制了三維數(shù)據(jù)在網(wǎng)絡(luò)上的 應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法,解決以上 提到的各種缺陷,開發(fā)出一種能適應(yīng)常見三維數(shù)據(jù)壓縮格式的傳輸方法。它能夠在有損網(wǎng) 絡(luò)條件下,根據(jù)網(wǎng)絡(luò)傳輸條件實(shí)時(shí)調(diào)整傳輸方法,使得在當(dāng)前條件下能夠得到的三維模型 是在視覺上最佳的。本發(fā)明有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法解決其技術(shù)問題所采用的技術(shù) 方案首先將三維壓縮數(shù)據(jù)根據(jù)其數(shù)據(jù)特性分塊,使得每一塊數(shù)據(jù)可以獨(dú)立傳輸和顯示,然 后客戶端實(shí)時(shí)計(jì)算需要的三維數(shù)據(jù)分塊并向服務(wù)器端發(fā)送請(qǐng)求,服務(wù)器根據(jù)請(qǐng)求和當(dāng)時(shí)的 網(wǎng)絡(luò)條件,向客戶端發(fā)送相應(yīng)的數(shù)據(jù),客戶端通過綜合考慮網(wǎng)絡(luò)狀況、服務(wù)器負(fù)載和用戶要 求,動(dòng)態(tài)地選擇傳輸策略。本發(fā)明有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法解決其技術(shù)問題所采用的技術(shù) 方案還可以進(jìn)一步完善,以提高系統(tǒng)的整體性能。該方法具體包括如下步驟1)、第一步.對(duì)三維地形數(shù)據(jù)進(jìn)行預(yù)處理,包括對(duì)三維地形數(shù)據(jù)的分塊、壓縮和編 碼;2)、第二步.通過綜合考慮客戶端的顯示器分辨率、模型精度、3D顯示卡、處理器 以及內(nèi)存大小等因素,計(jì)算出客戶端圖形顯示質(zhì)量需求參數(shù)Iharfwm,將該參數(shù)傳輸?shù)桨l(fā)送 方,給本發(fā)明中提到的最小數(shù)據(jù)集選擇算法使用,以選擇最小數(shù)據(jù)量的數(shù)據(jù)流來傳輸;3)、第三步.對(duì)網(wǎng)絡(luò)傳輸速度以及丟包率等因素的監(jiān)控,主要包括基于TCP的網(wǎng)絡(luò) 帶寬監(jiān)測(cè)、不可到信道網(wǎng)絡(luò)帶寬估計(jì)以及不可靠信道丟包率估計(jì);4)、第四步.通過對(duì)模型壓縮數(shù)據(jù)的處理、網(wǎng)絡(luò)狀況和用戶硬件環(huán)境的監(jiān)測(cè),根據(jù) 最小數(shù)據(jù)集選擇算法計(jì)算出數(shù)據(jù)流最小集sidMl,這樣就可以為用戶的數(shù)據(jù)請(qǐng)求選擇相應(yīng)的 數(shù)據(jù)集并傳輸,滿足用戶的圖形質(zhì)量需求和實(shí)時(shí)性;5)、第五步.通過動(dòng)態(tài)混合傳輸策略來 調(diào)整有損網(wǎng)絡(luò)特性和動(dòng)態(tài)傳輸特性,從而根據(jù)網(wǎng)絡(luò)狀況實(shí)時(shí)選取傳輸策略,使得傳輸時(shí)產(chǎn)生的總耗費(fèi)最小。本發(fā)明有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法有益的效果是系統(tǒng)能夠適應(yīng)各 種網(wǎng)絡(luò)帶寬條件,在網(wǎng)絡(luò)狀況好的時(shí)候,客戶端能夠看到較精細(xì)的模型;當(dāng)網(wǎng)絡(luò)條件差的時(shí) 候,為了保證客戶端看到三維數(shù)據(jù)的實(shí)時(shí)性,只顯示分辨率較低的數(shù)據(jù)。總之,在各種網(wǎng)絡(luò) 條件下,本發(fā)明都能夠很好地平衡三維數(shù)據(jù)顯示質(zhì)量和實(shí)時(shí) 性,使得用戶能夠得到最好的 視覺效果。
圖1是本發(fā)明有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法的系統(tǒng)總體框圖。圖2是本發(fā)明有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法的一個(gè)實(shí)施例結(jié)構(gòu)圖。圖3是本發(fā)明有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)各傳輸算法傳輸?shù)臄?shù)據(jù)分組與其總耗 費(fèi)關(guān)系圖。
具體實(shí)施例方式下面結(jié)合附圖和一個(gè)優(yōu)選實(shí)施例對(duì)本發(fā)明有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸 方法作進(jìn)一步介紹本有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法的方法共分五步。第一步三維地形數(shù)據(jù)的分塊、壓縮和編碼這部分在服務(wù)器端完成,如圖1中的壓縮數(shù)據(jù)流模塊以及圖2中的服務(wù)器端各分 塊多分辨率壓縮數(shù)據(jù)流模塊所示,主要是對(duì)三維地形數(shù)據(jù)進(jìn)行預(yù)處理,詳細(xì)步驟如下1)、三維地形數(shù)據(jù)分塊A)、將原始地形數(shù)據(jù)分為L(zhǎng)XK塊數(shù)據(jù),每塊數(shù)據(jù)網(wǎng)格大小是(2n+l),相鄰兩塊地形 數(shù)據(jù)之間共用一條邊,保證數(shù)據(jù)繪制的連續(xù)性。B)、如果分塊地形大小不滿足(2n+l),可通過將原始地形內(nèi)插為 (LX2n+l) X (KX2n+l),本發(fā)明中采用33X33的地形分塊策略。2)、對(duì)分塊獨(dú)立壓縮Α)、對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,包括數(shù)據(jù)單位轉(zhuǎn)換以及高程平移。B)、高程值變換成整數(shù)存儲(chǔ),采用整數(shù)小波變換進(jìn)行數(shù)據(jù)去相關(guān)。C)、形成低頻平滑部分(LL)和高頻細(xì)節(jié)部分(LH、HL、HH) 4個(gè)子帶。D)、對(duì)第二步得到的小波系數(shù)進(jìn)行量化,在各子帶的小波系數(shù)間建立零樹結(jié)構(gòu)。Ε)、采用零樹編碼壓縮,生成二進(jìn)制碼流。3)、對(duì)小波零樹進(jìn)行獨(dú)立編碼Α)、依次編碼各小波零樹,使每小波零樹具有獨(dú)立的LIP (不重要系數(shù)表)、LSP (重 要系數(shù)表)、LIS (不重要集合表)。B)、對(duì)每個(gè)分量編碼后,每個(gè)小波零樹的3個(gè)分量列表被劃分為更小的數(shù)據(jù)段交
錯(cuò)起來。C)、在各部分?jǐn)?shù)據(jù)壓縮完畢后,最終形成以下結(jié)構(gòu)的位流首先是頭部標(biāo)識(shí)數(shù)據(jù), 然后是各棵小波零樹的壓縮數(shù)據(jù)。第二步客戶端圖形顯示質(zhì)量需求計(jì)算客戶端的三維模型顯示效果受以下因素的影響顯示器分辨率、模型精度、3D顯示卡、處理器以及內(nèi)存大小。本發(fā)明定義一個(gè)用戶數(shù)據(jù)流選擇模塊,它根據(jù)用戶的質(zhì)量需 求,選擇壓縮數(shù)據(jù)流的一個(gè)子集,用戶的質(zhì)量需求用變形需求或硬件能力來表述。如圖1中 的用戶狀況檢測(cè)模塊所示,詳細(xì)計(jì)算步驟如下1)、用戶顯示分辨率的計(jì)算
A)、用戶顯示分辨率,即能夠顯示的三角形個(gè)數(shù)的上界。B)、對(duì)于給定的默認(rèn)視點(diǎn)和視線突出平面,假定有一半的三角形從默認(rèn)視點(diǎn)被投 影到默認(rèn)視線突出平面上,那么,用戶顯示分辨率Idisplay可以用下面的公式進(jìn)行計(jì)算。 其中,DR是顯示分辨率,dffl是模型的尺寸,dw是視線突出窗口大小。2)用戶圖形渲染能力的計(jì)算給定渲染延遲限制t,、平均幀速率f 以及每幀中三角形的個(gè)數(shù)I,,用戶圖形渲染能 力以用下面的公式進(jìn)行計(jì)算。 3)、用戶能夠處理的三角形最大數(shù)量的計(jì)算A)、用戶能夠處理的三角形最大數(shù)量e可以用下面的公式進(jìn)行計(jì)算。I hardware ITlin {idispaly' ^ render-^B)、這個(gè)參數(shù)將被傳輸?shù)桨l(fā)送方,給本發(fā)明中提到的最小數(shù)據(jù)集選擇算法使用,以 選擇最小數(shù)據(jù)量的數(shù)據(jù)流來傳輸。第三步網(wǎng)絡(luò)傳輸質(zhì)量的監(jiān)測(cè)通過對(duì)網(wǎng)絡(luò)傳輸速度的監(jiān)控,可以決定利用可靠信道傳輸?shù)臄?shù)據(jù)量的多少,當(dāng)網(wǎng) 絡(luò)傳輸速度比較大的時(shí)候,可以傳輸比較精細(xì)的模型,在保證實(shí)時(shí)性的同時(shí),讓用戶看到更 精細(xì)的模型。如圖1中的網(wǎng)絡(luò)狀況檢測(cè)模塊以及圖2中的網(wǎng)絡(luò)模塊所示,詳細(xì)步驟如下1)、基于TCP的網(wǎng)絡(luò)帶寬監(jiān)測(cè)A)、首先得到一個(gè)實(shí)時(shí)網(wǎng)絡(luò)帶寬值bwe,用下面的公式進(jìn)行計(jì)算。 其中,acked為最新的ACK應(yīng)答字段的數(shù)量,pkt_siZe表示段的大小,now表示當(dāng) 前時(shí)間,last_ack_time是前一個(gè)ACK收到的的時(shí)間。B)、定義一個(gè)特定時(shí)間段的最大帶寬估計(jì)為Max_BWE,則當(dāng)bwe >Max_BTO時(shí),更新 Max_BWE的值為bwe,否則進(jìn)一步比較,將此估計(jì)帶寬分為high,medium,low的三個(gè)區(qū)間,其 條件為 C)、定義系統(tǒng)估計(jì)帶寬為高,中,低三個(gè)區(qū)間的時(shí)間分別為duratiorv i = high, medium, low, sizei分別對(duì)應(yīng)在duratior^內(nèi)的總的包大小,BWEj分別是duratior^內(nèi)帶寬 估計(jì)的平均。分別計(jì)算每個(gè)區(qū)間的duration” size,和BWE”其計(jì)算公式為duration, [k] = duration [k_l] + (now_last_ack—time)
sizej [k] = size[k_l]+8氺acked氺pkt_sizeBWEi [k] = size [k]/duration [k]其中,k和k-1表示變量當(dāng)前的和上次的值。D)、對(duì)每個(gè)區(qū)間的值取一個(gè)權(quán)重weight,滿足以下條件 weight = duration [k] / total_duration [k]E)、當(dāng)接受的數(shù)據(jù)包達(dá)到100時(shí),根據(jù)每個(gè)區(qū)間的估計(jì)帶寬和權(quán)重估計(jì)出下一個(gè) 時(shí)間段的網(wǎng)絡(luò)帶寬民,計(jì)算公式為 2)、不可到信道網(wǎng)絡(luò)帶寬估計(jì)A)、RTP的數(shù)據(jù)幀中包含時(shí)間戳time_Stamp來記錄發(fā)送時(shí)間,還包含順序號(hào)來標(biāo) 記數(shù)據(jù)幀的發(fā)送順序。B)、通過檢測(cè)時(shí)間戳,接收方能夠估計(jì)出帶寬系數(shù)Bu,并統(tǒng)計(jì)包丟失率P”C)、用下面的公式進(jìn)行計(jì)算。 其中,pkt_size為RTP數(shù)據(jù)幀的大小,now為接收到該幀數(shù)據(jù)的時(shí)間,r是信道順
暢因子。D)、將帶寬系數(shù)傳回,可以提供給服務(wù)器作為判斷傳送模型質(zhì)量的依據(jù)。本發(fā)明在 仿真中設(shè)置r = 0.9。3)、不可靠信道丟包率&估計(jì)包丟失率的計(jì)算公式為 其中,Ms為發(fā)送端存儲(chǔ)的該精細(xì)數(shù)據(jù)包含的數(shù)據(jù)包個(gè)數(shù),mr為接收端返回的其接 收到的數(shù)據(jù)包的個(gè)數(shù)。第四步反饋圖形顯示質(zhì)量和用戶需求通過對(duì)模型壓縮數(shù)據(jù)的處理、網(wǎng)絡(luò)狀況和用戶硬件環(huán)境的監(jiān)測(cè),就可以為用戶的 數(shù)據(jù)請(qǐng)求選擇相應(yīng)的數(shù)據(jù)集并傳輸,滿足用戶的圖形質(zhì)量需求和實(shí)時(shí)性。本發(fā)明采用一個(gè) 最小數(shù)據(jù)集選擇算法,響應(yīng)用戶的需求。如圖1中的傳輸策略決策模塊所示,詳細(xì)步驟如 下1)、基于變形需求的數(shù)據(jù)分組的計(jì)算A)、給定n個(gè)因素,每個(gè)都帶有一個(gè)變形量、大小和最后變形約束A,通過因子SUSCT 的一個(gè)子集使總大小最小,這樣最后的變形就比比要小。B)、構(gòu)建兩個(gè)因子鏈表(list),相對(duì)重要度list和候選list。C)、按照相對(duì)重要度大小將因子Si, j放到一個(gè)list中以降序排序,從而構(gòu)建相對(duì) 重要度list,再根據(jù)相對(duì)重要度list來構(gòu)建候選list,最后通過候選list來構(gòu)建SUSCT。2)、基于硬件能力的數(shù)據(jù)分組的計(jì)算
A)、Shardware是一個(gè)子集,它總共有三角形個(gè)數(shù)為;
/,,其中Nmin是解碼模
(=0
型中有個(gè)三角形的精細(xì)數(shù)據(jù)的最小數(shù)量。B)、在這些精細(xì)中的所有的結(jié)構(gòu)分組必須放到Sh dTO中,在最后選定結(jié)構(gòu)分組之 前出現(xiàn)在候選者list中的幾何分組也要放到Sh dw_中。如果Sh dw_完全傳輸,并在用戶 端渲染,那么接收端模型的三角形個(gè)數(shù)至少為IharfTOe,即接收端計(jì)算機(jī)能夠處理的三角形 個(gè)數(shù)的上邊界。3)、數(shù)據(jù)流最小集Sideal的計(jì)算Sideal = min{Suser, Sx}其中,Suser和Shmdware分別是根據(jù)變形需求比和硬件能力計(jì)算出來的分組。4)、對(duì)上述算法的效率問題進(jìn)行討論A)、數(shù)據(jù)選擇處理過程的計(jì)算消耗包括相對(duì)重要度list和候選list的構(gòu)建,為 滿足用戶的質(zhì)量需求,候選list中分組的選擇。為了構(gòu)建相對(duì)重要度list,根據(jù)相對(duì)重要 度來將結(jié)構(gòu)數(shù)據(jù)分組和幾何數(shù)據(jù)分組排序,可以采用合并排序處理,時(shí)間復(fù)雜度為Ti(n) = 0(nlog n)B)、為了構(gòu)建候選list,先需要遍歷相對(duì)重要度list,然后根據(jù)約束條件重新排 序,復(fù)雜度為Tc(n) = 0(n)因此這兩個(gè)list的構(gòu)建的總時(shí)間復(fù)雜度為Tt (n) = Ti (n) +TC (n) = 0 (nlog (n)) +0 (n)C)、每個(gè)三維模型的這些計(jì)算是離線(用戶訪問前)計(jì)算的,在系統(tǒng)運(yùn)行并接受用 戶訪問時(shí),唯一的開銷是從候選list中選擇一些分組以滿足用戶的質(zhì)量需求,其時(shí)間復(fù)雜 度為T(n) =0 (n)D)、將最小數(shù)據(jù)集選擇算法擴(kuò)展到基于視點(diǎn)的漸進(jìn)傳輸策略是很方便的,在從客 戶端接收到視點(diǎn)信息后(分塊號(hào)和分塊的變形要求),最小數(shù)據(jù)集選擇算法對(duì)客戶端請(qǐng)求 的每個(gè)分塊(而不是整個(gè)模型)進(jìn)行同樣的操作。第五步根據(jù)網(wǎng)絡(luò)狀況實(shí)時(shí)選取傳輸策略本發(fā)明采用一種動(dòng)態(tài)混合傳輸策略來調(diào)整有損網(wǎng)絡(luò)特性和動(dòng)態(tài)傳輸特性。如圖1 中的傳輸策略決策模塊以及建立數(shù)據(jù)包模塊所示,詳細(xì)步驟如下1)、對(duì)數(shù)據(jù)進(jìn)行分組A)、采用一種數(shù)據(jù)分組模型,其所有的數(shù)據(jù)包被分到N個(gè)組中,每個(gè)組包含K個(gè)包。B)、Bu和Br為不可靠信道和可靠信道在傳輸之前的估計(jì)帶寬,&為根據(jù)接收到的 ACK信號(hào)估計(jì)出的丟失率。Costu, n和Cos、n分別是數(shù)據(jù)集n采用不可靠信道和可靠信道 傳輸時(shí)的耗費(fèi),其計(jì)算公式分別為 其中,8& 是數(shù)據(jù)集n的大小,(^是數(shù)據(jù)集n所屬分組的質(zhì)量增益。2)、總耗費(fèi)C定義為信道數(shù)據(jù)分配算法選中的每個(gè)分組的耗費(fèi)之和,其計(jì)算公式 為 其中,Km是算法選中的精細(xì)數(shù)據(jù)總個(gè)數(shù),G是一個(gè)精細(xì)數(shù)據(jù)中分組的個(gè)數(shù)。3)、如果數(shù)據(jù)集的大小足夠小,因?yàn)樗惴ㄊ秦澙匪惴ǎ恳徊蕉际褂米畹秃馁M(fèi)策 略,那么不可靠信道帶寬,可靠信道帶寬和不可靠信道丟包率在該組的所有數(shù)據(jù)在傳輸時(shí) 不會(huì)改變,算法作出的決定就都是正確的。所以,本算法是最優(yōu)方案,其動(dòng)態(tài)混合傳輸策略 將會(huì)產(chǎn)生最小總耗費(fèi)。實(shí)驗(yàn)結(jié)果1)、為了計(jì)算最小數(shù)據(jù)集選擇算法的效率,本實(shí)施例通過一個(gè)連續(xù)選擇處理方法 比較本發(fā)明所提出的處理方式。連續(xù)選擇處理方法順序選擇連續(xù)的分組。在給定的模型變 形量限定條件下,通過本實(shí)施例方法給出的數(shù)據(jù)集選擇策略得到的數(shù)據(jù)量和連續(xù)策略得到 的數(shù)據(jù)量由表1給出。本實(shí)施例方法選擇產(chǎn)生的數(shù)據(jù)量小于或等于由連續(xù)策略產(chǎn)生的,最 多節(jié)省了 23. 4%的傳輸數(shù)據(jù)量。表1 :“happy”模型不同數(shù)據(jù)選擇策略得到的數(shù)據(jù)量 2)、在本實(shí)施例中介紹了動(dòng)態(tài)混合傳輸策略為最小數(shù)據(jù)集選擇算法得到的數(shù)據(jù)確 定傳輸通道,為了檢驗(yàn)該算法的性能,本實(shí)施例將這個(gè)算法和其他傳輸策略在相同的軟、硬 件和網(wǎng)絡(luò)環(huán)境下作了一些比較和分析。本實(shí)施例分別以下面的傳輸策略傳輸相同的數(shù)據(jù)1.所有數(shù)據(jù)均用TCP傳輸;2.所有數(shù)據(jù)均用UDP傳輸;3.采用本發(fā)明提出的動(dòng)態(tài)信道選擇策略來傳輸。對(duì)這三種傳輸策略,在各種數(shù)據(jù)分組個(gè)數(shù)條件下,比較了它們的傳輸耗費(fèi)(Cost), 其關(guān)系圖為圖3。從圖3看出,全部數(shù)據(jù)用UDP傳輸帶來最大耗費(fèi)(Cost)。原因是在粗糙 精細(xì)數(shù)據(jù)中的幾何數(shù)據(jù)分組的變形相對(duì)比較大。如果這些分組通過不可靠信道傳輸,用戶看到的模型會(huì)有比較大的變形,因此耗費(fèi)會(huì)比較大。因?yàn)門CP是可靠的,它產(chǎn)生的變形量為 0,因此耗費(fèi)比UDP要低。本發(fā)明算法能取得最低的耗費(fèi),當(dāng)丟失率較低時(shí)(1 =0.1),大多 數(shù)數(shù)據(jù)能夠很快從可靠信道上接收到,所以本發(fā)明所提的算法是在可靠信道上傳輸大多數(shù) 的子層的。當(dāng)丟失率較大時(shí),TCP的一次傳送成功率變得很低,重傳數(shù)激增,此時(shí)本發(fā)明算 法可以在不可靠信道上傳輸更多的子層,以減少總耗費(fèi)。 因此,當(dāng)用戶需要比較精細(xì)的模型,而不在乎傳輸延遲時(shí),可以采用可靠信道傳輸 較多的數(shù)據(jù),而用戶對(duì)顯示延遲比較敏感,不注重模型顯示質(zhì)量時(shí),則利用不可靠信道傳輸 更多的數(shù)據(jù)。而在實(shí)際應(yīng)用中,用戶可能有顯示質(zhì)量和顯示延遲兩個(gè)方面的要求,這就需要 綜合評(píng)價(jià)這兩個(gè)因素,利用本發(fā)明中提到的最小數(shù)據(jù)集選擇算法和動(dòng)態(tài)混合傳輸策略決定 傳輸策略,可以得到最佳的顯示效果。
權(quán)利要求
有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法,其特征在于能夠在有損網(wǎng)絡(luò)條件下,根據(jù)網(wǎng)絡(luò)傳輸條件實(shí)時(shí)調(diào)整傳輸方法,使得在當(dāng)前條件下能夠得到的三維模型在視覺上是最佳的,其操作步驟如下1)、三維地形數(shù)據(jù)的分塊、壓縮和編碼在服務(wù)器端完成,是對(duì)三維地形數(shù)據(jù)進(jìn)行預(yù)處理;2)、客戶端圖形顯示質(zhì)量需求計(jì)算客戶端的三維模型顯示效果受以下因素的影響顯示器分辨率、模型精度、3D顯示卡、處理器以及內(nèi)存大小,通過綜合考慮以上因素,計(jì)算出用戶圖形顯示質(zhì)量需求;3)、網(wǎng)絡(luò)傳輸質(zhì)量的監(jiān)測(cè)通過對(duì)網(wǎng)絡(luò)傳輸速度以及丟包率因素的監(jiān)控,決定利用可靠信道傳輸?shù)臄?shù)據(jù)量的多少,當(dāng)網(wǎng)絡(luò)傳輸速度比較大的時(shí)候,傳輸比較精細(xì)的模型,在保證實(shí)時(shí)性的同時(shí),讓用戶看到更精細(xì)的模型;4)、反饋圖形顯示質(zhì)量和用戶需求通過對(duì)模型壓縮數(shù)據(jù)的處理、網(wǎng)絡(luò)狀況和用戶硬件環(huán)境的監(jiān)測(cè),為用戶的數(shù)據(jù)請(qǐng)求選擇相應(yīng)的數(shù)據(jù)集并傳輸,滿足用戶的圖形質(zhì)量需求和實(shí)時(shí)性;5)、根據(jù)網(wǎng)絡(luò)狀況實(shí)時(shí)選取傳輸策略通過采用一種動(dòng)態(tài)混合傳輸策略來調(diào)整有損網(wǎng)絡(luò)特性和動(dòng)態(tài)傳輸特性。
2.如權(quán)利要求1所述的有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法,其特征在于所述 步驟1)的三維地形數(shù)據(jù)的分塊、壓縮和編碼的具體方法為1)、三維地形數(shù)據(jù)分塊首先將原始地形數(shù)據(jù)分為L(zhǎng)XK塊數(shù)據(jù),每塊數(shù)據(jù)網(wǎng)格大小是(2n+l),如果分塊地形大 小不滿足(2n+l),則通過將原始地形內(nèi)插為(LX2n+l)X(KX2n+l);2)、對(duì)分塊獨(dú)立壓縮對(duì)數(shù)據(jù)進(jìn)行單位轉(zhuǎn)換和高程平移,高程值變換成整數(shù)存儲(chǔ),并且采用整數(shù)小波變換去 相關(guān),得到低頻平滑部分(LL)和高頻細(xì)節(jié)部分(LH、HL、HH)4個(gè)子帶,對(duì)得到的小波系數(shù)進(jìn) 行量化,最后在各子帶的小波系數(shù)之間建立零樹結(jié)構(gòu);3)、對(duì)小波零樹進(jìn)行獨(dú)立編碼依次編碼各小波零樹,使每小波零樹具有獨(dú)立的不重要系數(shù)表LIP、重要系數(shù)表LSP、 不重要集合表LIS,再對(duì)每個(gè)分量編碼,最終形成以下結(jié)構(gòu)的位流首先是頭部標(biāo)識(shí)數(shù)據(jù), 然后是各棵小波零樹的壓縮數(shù)據(jù)。
3.如權(quán)利要求1所述的有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法,其特征在于所述 步驟2)對(duì)客戶端圖形顯示質(zhì)量需求計(jì)算的具體方法為1)、用戶顯示分辨率的計(jì)算用戶顯示分辨率,即能夠顯示的三角形個(gè)數(shù)的上界,對(duì)于給定的默認(rèn)視點(diǎn)和視線突出 平面,假定有一半的三角形從默認(rèn)視點(diǎn)被投影到默認(rèn)視線突出平面上,那么,用戶顯示分辨 率Idisplay用下面的公式進(jìn)行計(jì)算 —2DR dmdisplay^t其中,DR是顯示分辨率,dm是模型的尺寸,dw是視線突出窗口大小;2)、用戶圖形渲染能力的計(jì)算給定渲染延遲限制、、平均幀速率f以及每幀中三角形的個(gè)數(shù)Ip用戶圖形渲染能力 Irender用下面的公式進(jìn)行計(jì)算T— -j- T -P .render ^rj-Tj- >3)、用戶能夠處理的三角形最大數(shù)量的計(jì)算用戶能夠處理的三角形最大數(shù)量Ihmdrae用下面的公式進(jìn)行計(jì)算Ihardware Π Π {!display' ^render-^ °
4.如權(quán)利要求1所述的有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法,其特征在于所述 步驟3)對(duì)網(wǎng)絡(luò)傳輸質(zhì)量的監(jiān)測(cè)的具體方法為1)、基于TCP的網(wǎng)絡(luò)帶寬監(jiān)測(cè)該方法分為下面幾個(gè)步驟,首先得到一個(gè)實(shí)時(shí)網(wǎng)絡(luò)帶寬值bwe,用下面的公式進(jìn)行計(jì)算, 8 * acked * pkt sizebwe -------now - last _ ack —一 time其中,acked為最新的ACK應(yīng)答字段的數(shù)量,pkt_size表示段的大小,now表示當(dāng)前時(shí)間,last_ack_time是前一個(gè)ACK收到的時(shí)間;得到一個(gè)特定時(shí)間段的最大帶寬估計(jì)Max_BWE,則當(dāng)實(shí)時(shí)網(wǎng)絡(luò)帶寬值大于特定時(shí)間段的最大帶寬估計(jì)時(shí),特定時(shí)間段的最大帶寬估計(jì)更新為該實(shí)時(shí)網(wǎng)絡(luò)帶寬值,否則進(jìn)一步比較,并將此估計(jì)帶寬分為high,medium,low三個(gè)區(qū)間,其條件分別為'bwe > 0.1* Max BWE => high< bwe <= 0.3 * Max _ BWE => lowother=> medium再分別計(jì)算出系統(tǒng)估計(jì)帶寬為高,中,低三個(gè)區(qū)間的時(shí)間Clurationi (i =high,medium, low)、三個(gè)區(qū)間的總的包大小size”三個(gè)區(qū)間內(nèi)帶寬估計(jì)的平均BWEi,其計(jì)算公式分別為 Clurationi [k] = duration [k-1] + (now-last_ack_time) Sizei [k] = size[k_l]+8氺acked氺pkt_size BffEi [k] = size[k]/duration[k] 其中,k和k-1表示變量當(dāng)前的和上次的值,now表示當(dāng)前時(shí)間,laSt_ack_time是前一 個(gè)ACK收到的時(shí)間,pkt_size表示段的大小,acked為最新的ACK應(yīng)答字段的數(shù)量; 并對(duì)每個(gè)區(qū)間的值取一個(gè)權(quán)重weight,滿足以下條件^ weight丨=1i= high ,medium ,lowweight = duration[k]/total_duration[k]最后當(dāng)接受的數(shù)據(jù)包達(dá)到100時(shí),根據(jù)每個(gè)區(qū)間的估計(jì)帶寬和權(quán)重估計(jì)出下一個(gè)時(shí)間 段的網(wǎng)絡(luò)帶寬民,計(jì)算公式為Br = [ weight, * BWEiIk]i=high ,medium ,low2)、不可到信道網(wǎng)絡(luò)帶寬估計(jì)RTP的數(shù)據(jù)幀中包含時(shí)間戳time_Stamp來記錄發(fā)送時(shí)間,還包含順序號(hào)來標(biāo)記數(shù)據(jù)幀 的發(fā)送順序;通過檢測(cè)時(shí)間戳,接收方能夠估計(jì)出帶寬系數(shù)Bu,用下面的公式進(jìn)行計(jì)算Bu = (1-r) Xpkt_size/ (now-time_stamp)其中,pkt_size為RTP數(shù)據(jù)幀的大小,now為接收到該幀數(shù)據(jù)的時(shí)間,r是信道順暢因子;將帶寬系數(shù)傳回,可以提供給服務(wù)器作為判斷傳送模型質(zhì)量的依據(jù),在仿真中設(shè)置r =0. 9 ;3)、不可靠信道丟包率P1估計(jì) 包丟失率的計(jì)算公式為 其中,Ms為發(fā)送端存儲(chǔ)的該精細(xì)數(shù)據(jù)包含的數(shù)據(jù)包個(gè)數(shù),πν為接收端返回的其接收到 的數(shù)據(jù)包的個(gè)數(shù)。
5.如權(quán)利要求1所述的有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法,其特征在于所述 步驟4)反饋圖形顯示質(zhì)量和用戶需求的具體方法為分別計(jì)算出基于變形需求的數(shù)據(jù)分組和基于硬件能力的數(shù)據(jù)分組,然后通過最小數(shù)據(jù) 集選擇算法,選擇其中的最小值,從而使實(shí)時(shí)傳輸?shù)臄?shù)據(jù)量最小。
6.如權(quán)利要求1所述的有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法,其特征在于所述 步驟5)根據(jù)網(wǎng)絡(luò)狀況實(shí)時(shí)選取傳輸策略的具體方法為1)、對(duì)權(quán)利要求1中的步驟4)選擇的三維數(shù)據(jù)進(jìn)行分組并分別計(jì)算采用可靠信道和不 可靠信道傳輸時(shí)產(chǎn)生的耗費(fèi)首先采用分組模型,將所有的數(shù)據(jù)包分到N個(gè)組中,每個(gè)組包含K個(gè)包,然后分別計(jì)算 數(shù)據(jù)集采用不可靠信道和可靠信道傳輸時(shí)的耗費(fèi)Costu,n和Cost,,n,其計(jì)算公式分別為 其中,Sizen是數(shù)據(jù)集η的大小,Qn是數(shù)據(jù)集η所屬分組的質(zhì)量增益,P (m)是通過不可 靠信道傳輸分組時(shí)有m個(gè)包被丟失的概率,α是根據(jù)用戶需求設(shè)置的控制因子;2)、計(jì)算總耗費(fèi)C定義為信道數(shù)據(jù)分配算法選中的每個(gè)分組的耗費(fèi)之和,其計(jì)算公式為 其中,Km是算法選中的精細(xì)數(shù)據(jù)總個(gè)數(shù),G是一個(gè)精細(xì)數(shù)據(jù)中分組的個(gè)數(shù);3)、如果數(shù)據(jù)集的大小足夠小,因?yàn)樗惴ㄊ秦澙匪惴?,每一步都使用最低耗費(fèi)策略,那 么可靠信道帶寬、不可靠信道帶寬以及不可靠信道丟包率在該組的所有數(shù)據(jù)在傳輸時(shí)不會(huì) 改變,算法作出的決定都是正確的,所以,本算法是最優(yōu)方案,其動(dòng)態(tài)混合傳輸策略將會(huì)產(chǎn) 生最小總耗費(fèi)。
全文摘要
本發(fā)明為有損網(wǎng)絡(luò)中大規(guī)模三維數(shù)據(jù)實(shí)時(shí)傳輸方法。本方法首先將三維壓縮數(shù)據(jù)根據(jù)其數(shù)據(jù)特性分塊,使得每一塊數(shù)據(jù)可以獨(dú)立傳輸和顯示,然后客戶端實(shí)時(shí)計(jì)算需要的三維數(shù)據(jù)分塊并向服務(wù)器端發(fā)送請(qǐng)求,服務(wù)器根據(jù)請(qǐng)求和當(dāng)時(shí)的網(wǎng)絡(luò)條件,向客戶端發(fā)送相應(yīng)的數(shù)據(jù),客戶端通過綜合考慮網(wǎng)絡(luò)狀況、服務(wù)器負(fù)載和用戶要求,動(dòng)態(tài)地選擇傳輸策略。本發(fā)明的有益效果是它能夠在有損網(wǎng)絡(luò)條件下,根據(jù)網(wǎng)絡(luò)傳輸條件實(shí)時(shí)調(diào)整傳輸方法,使得在當(dāng)前條件下能夠得到的三維模型是在視覺上最佳的。
文檔編號(hào)H04L29/06GK101883109SQ201010215570
公開日2010年11月10日 申請(qǐng)日期2010年6月29日 優(yōu)先權(quán)日2010年6月29日
發(fā)明者萬(wàn)旺根, 余小清, 張開翼, 楊曉東, 石成林 申請(qǐng)人:上海大學(xué)