两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種P2P流媒體系統(tǒng)中的SVC視頻文件分片及調(diào)度方法與流程

文檔序號(hào):11460136閱讀:391來(lái)源:國(guó)知局
一種P2P流媒體系統(tǒng)中的SVC視頻文件分片及調(diào)度方法與流程

本發(fā)明涉及一種視頻文件分片及調(diào)度方法,更具體的說(shuō),尤其涉及一種p2p流媒體系統(tǒng)中的svc視頻文件分片及調(diào)度方法。



背景技術(shù):

隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展和三網(wǎng)融合產(chǎn)業(yè)的興起,終端之間的數(shù)據(jù)共享將更加頻繁與普遍,當(dāng)前互聯(lián)網(wǎng)上廣泛應(yīng)用的p2p流媒體技術(shù)將獲得更大的發(fā)展空間,但如何在異構(gòu)的環(huán)境中傳輸和共享視頻數(shù)據(jù)成為當(dāng)前p2p流媒體系統(tǒng)所面臨的主要問(wèn)題。為了解決這一問(wèn)題,多種自適應(yīng)技術(shù)被提出,包括轉(zhuǎn)碼(transcoding)、聯(lián)播(simulcast)、多描述編碼(multipledescriptioncoding)和可擴(kuò)展視頻編碼(svc,scalablevideocoding)等。其中svc由于其高效的編碼效率、方便的自適應(yīng)性和高共享度而成為這一問(wèn)題的最佳解決方案。

svc將視頻編碼為一個(gè)基礎(chǔ)層和一個(gè)或多個(gè)增強(qiáng)層,層間數(shù)據(jù)在解碼時(shí)具有向下依賴(lài)關(guān)系:基礎(chǔ)層可獨(dú)立解碼并獲得一個(gè)基本質(zhì)量的視頻,而某個(gè)增強(qiáng)層的解碼則需要基礎(chǔ)層和所有較低的增強(qiáng)層,并且解碼的增強(qiáng)層越多用戶(hù)觀看的視頻質(zhì)量越高。相比于傳統(tǒng)的視頻編碼,在p2p流媒體系統(tǒng)中應(yīng)用svc可以獲得兩方面的好處:一方面,用戶(hù)能夠根據(jù)自身情況動(dòng)態(tài)調(diào)整下載的增強(qiáng)層數(shù)目,從而實(shí)現(xiàn)視頻質(zhì)量自適應(yīng);另一方面,不同類(lèi)型的終端之間也可以共享部分層的數(shù)據(jù),從而大大提高數(shù)據(jù)分享效率。如何在p2p流媒體系統(tǒng)中傳輸svc視頻數(shù)據(jù)已經(jīng)成為當(dāng)前急需解決的問(wèn)題,本專(zhuān)利主要解決應(yīng)用于p2p流媒體系統(tǒng)中的svc數(shù)據(jù)分片問(wèn)題。

在傳統(tǒng)的p2p流媒體系統(tǒng)中,視頻數(shù)據(jù)以分片為單位進(jìn)行共享:?jiǎn)螌右曨l數(shù)據(jù)被分為數(shù)據(jù)量等大小的分片,客戶(hù)端以一定調(diào)度規(guī)則確定分片的下載順序并下載分片,同時(shí)客戶(hù)端每下載完一個(gè)分片即可將該分片上傳給其他用戶(hù)。與傳統(tǒng)的p2p視頻流媒體系統(tǒng)相同,基于svc的p2p視頻流媒體系統(tǒng)也以分片為單位共享數(shù)據(jù)。然而為了便于視頻質(zhì)量的調(diào)整和用戶(hù)之間的數(shù)據(jù)共享,svc視頻一般以層為單位進(jìn)行分片,此時(shí)需要考慮的則是層間的同步和協(xié)調(diào)問(wèn)題,而傳統(tǒng)的數(shù)據(jù)量等大小的分片方法不能滿(mǎn)足這一需求。在基于svc的p2p視頻流媒體系統(tǒng)中多采用時(shí)間長(zhǎng)度等大小的分片方法:將svc的各個(gè)分層以一定播放時(shí)長(zhǎng)為單位進(jìn)行分片,層內(nèi)每個(gè)分片播放時(shí)長(zhǎng)相同,層間每個(gè)分片的播放時(shí)長(zhǎng)也相同。

時(shí)間長(zhǎng)度等大小分片方法能夠滿(mǎn)足svc數(shù)據(jù)在解碼播放時(shí)的層間同步需求,然而,播放時(shí)長(zhǎng)相同的分片在數(shù)據(jù)量大小上卻不相同,尤其是較低層分片的數(shù)據(jù)量往往會(huì)比較高層分片大很多。在丟包率相同的條件下,較大的分片會(huì)比較小的分片更容易丟失,尤其是在移動(dòng)網(wǎng)絡(luò)這種整體丟包率較高的環(huán)境中。對(duì)svc數(shù)據(jù)來(lái)說(shuō),由于解碼依賴(lài)性的存在,較低層分片比較高層分片更加重要,較低層分片的丟失會(huì)引起視頻質(zhì)量的顯著下降,嚴(yán)重影響用戶(hù)體驗(yàn)。采用等時(shí)長(zhǎng)分片方法,不同分層中分片的數(shù)據(jù)量大小差距很大,同一個(gè)分層層內(nèi)分片的數(shù)據(jù)量大小也各不相同,這會(huì)導(dǎo)致p2p網(wǎng)絡(luò)系統(tǒng)中數(shù)據(jù)傳輸?shù)牟环€(wěn)定。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明為了克服上述技術(shù)問(wèn)題的缺點(diǎn),提供了一種p2p流媒體系統(tǒng)中的svc視頻文件分片及調(diào)度方法。

本發(fā)明的p2p流媒體系統(tǒng)中的svc視頻文件分片方法,其特征在于,通過(guò)以下步驟來(lái)實(shí)現(xiàn):

a).svc視頻數(shù)據(jù)分層及求取每層的數(shù)據(jù)量大小,對(duì)于編碼后的svc視頻數(shù)據(jù),依次讀取每一個(gè)nal單元,提取nal單元頭信息中的空間層標(biāo)識(shí)值d、時(shí)間層標(biāo)識(shí)值t、質(zhì)量層標(biāo)識(shí)值q及nal單元大小,按照d、t、q的值將svc視頻數(shù)據(jù)分離成若干層,每一層(d,t,q)均由svc視頻數(shù)據(jù)中所有d、t、q值相等的nal單元構(gòu)成,同一層的數(shù)據(jù)按照svc視頻數(shù)據(jù)原有的順序連續(xù)存放;通過(guò)公式(1)求取每一層的數(shù)據(jù)量大小s(d,t,q):

式中,s(d,t,q)為層(d,t,q)的數(shù)據(jù)量大小,d∈{0,1,...,a-1},t∈{0,1,...,b-1},q∈{0,1,...,c-1},a、b、c分別為svc視頻的空間分層數(shù)目、時(shí)間分層數(shù)目和質(zhì)量分層數(shù)目;z(i)為層(d,t,q)中第i個(gè)nal單元的大小,n為層(d,t,q)中nal單元的數(shù)目;

b).求數(shù)據(jù)量最大層分片包含的gop數(shù)量,通過(guò)比較步驟a)中求取的每一層的數(shù)據(jù)量大小,找出svc視頻各分層中數(shù)據(jù)量最大的層(d′,t′,q′);通過(guò)公式(2)求取數(shù)據(jù)量最大層(d′,t′,q′)按等時(shí)間長(zhǎng)度分片時(shí)每一個(gè)分片所包含的合適畫(huà)面組gop數(shù)量m(d′,t′,q′):

式中,m(d′,t′,q′)為數(shù)據(jù)量最大層(d′,t′,q′)中每一個(gè)分片所包含的gop數(shù)量,s(d′,t′,q′)為層(d′,t′,q′)的數(shù)據(jù)量大小,m為分層后svc視頻的每一層包含的gop數(shù)量,z為傳統(tǒng)未分層編碼技術(shù)采用等數(shù)據(jù)量大小分片時(shí)p2p流媒體系統(tǒng)中分片的合理大小,符號(hào)為向上取整;

c).求除數(shù)據(jù)量最大層外其余層分片中g(shù)op數(shù)量,通過(guò)公式(3)求取除數(shù)據(jù)量最大層(d′,t′,q′)外其余層(d,t,q)中每一個(gè)分片所包含的gop數(shù)量m(d,t,q):

式中,m(d,t,q)為svc視頻數(shù)據(jù)中除數(shù)據(jù)量最大層(d′,t′,q′)外svc各視頻分層中每一個(gè)分片所包含的gop數(shù)量,m(d′,t′,q′)為數(shù)據(jù)量最大層(d′,t′,q′)中每一個(gè)分片所包含的gop數(shù)量,s(d′,t′,q′)為數(shù)據(jù)量最大層(d′,t′,q′)的數(shù)據(jù)量大小,s(d,t,q)為層(d,t,q)的數(shù)據(jù)量大小,d、t、q的值不能同時(shí)分別為d′、t′、q′,符號(hào)為向上取整;

d).對(duì)各個(gè)分層進(jìn)行分片,根據(jù)層(d,t,q)每個(gè)分片包含的gop數(shù)量m(d,t,q)對(duì)層(d,t,q)進(jìn)行等時(shí)間長(zhǎng)度分片,層(d,i,q)被分成個(gè)分片,m為分層后svc視頻的每一層包含的gop數(shù)量;d∈{0,1,...,a-1},t∈{0,1,...,b-1},q∈{0,1,...,c-1};

個(gè)分片包含的gop數(shù)量均為m(d,t,q),如果某個(gè)層的最后一個(gè)分片包含的gop數(shù)量與前面分片包含的gop數(shù)量不相等,其包含的gop數(shù)量為符號(hào)為向下取整;

e).二次分片,判斷層(d,t,q)中每一個(gè)分片的數(shù)據(jù)量大小,對(duì)于分片的數(shù)據(jù)量s(pi)≥2z的分片pi,通過(guò)公式(4)和公式(5)進(jìn)行基于數(shù)據(jù)量大小的二次分片處理:

式中,pi,m為對(duì)分片pi進(jìn)行二次分片處理后得到的第m個(gè)子分片,p′i為分片pi除去第1、2、…、m-1個(gè)子分片后的剩余分片,s(pi)為分片pi的數(shù)據(jù)量大小;gopj為分片p′i中的第j個(gè)gop,s(gopk)為分片p′i中的第k個(gè)gop的大小,ni為對(duì)分片pi進(jìn)行二次分片后得到的子分片數(shù)量;z為傳統(tǒng)未分層編碼技術(shù)采用等數(shù)據(jù)量大小分片時(shí)p2p流媒體系統(tǒng)中分片的合理大??;

pi,m由分片p′i中的前j個(gè)gop構(gòu)成,這j個(gè)gop的數(shù)據(jù)量大小之和要么等于s(pi)/ni要么大于s(pi)/ni,但前j-1個(gè)gop數(shù)據(jù)量大小之和小于s(pi)/ni;

f).分片信息的存放,將每層svc視頻數(shù)據(jù)中包含的分片信息存放于各層的p2p索引信息中,用1個(gè)字節(jié)的空間存儲(chǔ)對(duì)層進(jìn)行等時(shí)間長(zhǎng)度分片時(shí)的時(shí)長(zhǎng)m(d,t,q),用個(gè)字節(jié)空間a來(lái)表示每層進(jìn)行了等時(shí)間長(zhǎng)度分片后得到的各個(gè)分片是否進(jìn)行了基于數(shù)據(jù)量大小的二次分片,用字節(jié)空間b來(lái)存儲(chǔ)經(jīng)二次分片后得到的分片的gop數(shù)量,用2個(gè)字節(jié)的空間來(lái)表示每一個(gè)分片數(shù)據(jù)量大小。

本發(fā)明的p2p流媒體系統(tǒng)中的svc視頻文件分片方法,步驟a)中svc視頻的空間分層數(shù)目a、時(shí)間分層數(shù)目b和質(zhì)量分層數(shù)目c的取值與網(wǎng)絡(luò)寬帶和終端能力的差異性大小成正比,a∈[1,2],b∈[3,5],c∈[1,2]。

本發(fā)明的p2p流媒體系統(tǒng)中的svc視頻文件分片方法,步驟b)和步驟e)中z的取值范圍為:z∈[64k,1m]。

本發(fā)明的p2p流媒體系統(tǒng)中的svc視頻文件分片方法,步驟f)中所述的分片信息的存放通過(guò)以下步驟來(lái)實(shí)現(xiàn):

f-1).在字節(jié)空間a中,每3位表示一個(gè)進(jìn)行了等時(shí)間長(zhǎng)度分片后得到的分片進(jìn)行二次分片的信息,000表示未進(jìn)行二次分片,001、010、011、100、101、110、111分別表示進(jìn)行了二次分片后得到的子分片數(shù)量為2、3、4、5、6、7、8,表示進(jìn)行了二次分片信息的位在字節(jié)空間a中的位置次序與分片在視頻數(shù)據(jù)中的存儲(chǔ)位置次序相同,字節(jié)空間a的有效位數(shù)為位,無(wú)效位數(shù)為位,無(wú)效位用0填充;

f-2).在字節(jié)空間b中,每一個(gè)字節(jié)表示經(jīng)二次分片后得到的一個(gè)分片的gop數(shù)量,按照分片在各層svc視頻中的順序,依次將經(jīng)二次分片后得到的各個(gè)分片的gop數(shù)量存儲(chǔ)在字節(jié)空間b中。

本發(fā)明的p2p流媒體系統(tǒng)中的svc視頻文件分片的數(shù)據(jù)請(qǐng)求調(diào)度方法,其特征在于,通過(guò)以下步驟來(lái)實(shí)現(xiàn):

1).客戶(hù)端選擇訂閱需要播放的svc視頻分層,獲取p2p索引信息;

2).當(dāng)按序播放時(shí),客戶(hù)端按照播放順序逐層請(qǐng)求數(shù)據(jù)分片,具體步驟如下:

2-1).首先確定客戶(hù)端請(qǐng)求播放的svc視頻分層中,對(duì)各層進(jìn)行等時(shí)間長(zhǎng)度分片時(shí)的最上時(shí)長(zhǎng)mmax(d,t,q),gop數(shù)量與時(shí)長(zhǎng)對(duì)應(yīng);

2-2).以t為時(shí)間周期逐層同步請(qǐng)求數(shù)據(jù)分片,在第n個(gè)同步時(shí)間周期內(nèi),請(qǐng)求的各層數(shù)據(jù)分片數(shù)為pcount(d,t,q),其通過(guò)公式(6)和公式(7)進(jìn)行求?。?/p>

t=n×mmax(d,t,q)(7)

式中,pcount(d,t,q)為客戶(hù)端在請(qǐng)求數(shù)據(jù)的第n個(gè)同步時(shí)間周期內(nèi),對(duì)層(d,t,q)請(qǐng)求的數(shù)據(jù)分片數(shù),n、n均為正整數(shù),t為請(qǐng)求數(shù)據(jù)分片的同步時(shí)間周期,是各層進(jìn)行等時(shí)間長(zhǎng)度分片的最長(zhǎng)時(shí)長(zhǎng)mmax(d,t,q)的整數(shù)倍,a(i)為字節(jié)空間a中表示層(d,t,q)的第i個(gè)分片進(jìn)行二次分片信息的值;

2-3).在同一個(gè)時(shí)間周期t中所請(qǐng)求的視頻分層的全部分片都收到以后,送給解碼器解碼并播放,同時(shí)開(kāi)始下載后一個(gè)時(shí)間周期t內(nèi)的各層數(shù)據(jù)分片;

3).當(dāng)拖動(dòng)播放時(shí),在定位到視頻的某一時(shí)間點(diǎn)t′播放時(shí),客戶(hù)端根據(jù)p2p索引中的分片時(shí)間信息定位并請(qǐng)求需要下載的數(shù)據(jù)分片,具體步驟如下:

3-1).首先判斷定位到視頻的某一時(shí)間點(diǎn)t′的視頻數(shù)據(jù)屬于哪一個(gè)gop;

3-2).獲取該gop處于視頻每個(gè)分層的第幾個(gè)分片,其通過(guò)公式(8)、公式(9)進(jìn)行獲?。?/p>

式中,np為查找的gop在svc視頻層(d,t,q)中所處的分片位置,ng為時(shí)間點(diǎn)t′在svc視頻中所處的gop位置,m(d,t,q)為svc視頻中層(d,t,q)進(jìn)行等時(shí)間長(zhǎng)度分片后每一個(gè)分片包含的gop數(shù)量,a(i)為字節(jié)空間a中表示層(d,t,q)的第i個(gè)分片進(jìn)行二次分片信息的值;b(i)為存儲(chǔ)層(d,t,q)經(jīng)二次分片后得到的分片的gop數(shù)量的字節(jié)空間b中第i個(gè)字節(jié)的值,m≥2;

3-3).從svc視頻的各層中依次下載這些分片,得到播放所需要的數(shù)據(jù)。

本發(fā)明的有益效果是:本發(fā)明引入未分層編碼技術(shù)分片的合理數(shù)據(jù)量大小,對(duì)數(shù)據(jù)量最大層進(jìn)行等時(shí)間長(zhǎng)度分片,針對(duì)svc視頻各層數(shù)據(jù)量的巨大差距,以數(shù)據(jù)量最大層分片的時(shí)間長(zhǎng)度為基礎(chǔ),引入2的指數(shù)函數(shù)對(duì)svc視頻的各層進(jìn)行等時(shí)間長(zhǎng)度分片,實(shí)現(xiàn)了各層在時(shí)間上的整體同步,并整體上將各層分片的數(shù)據(jù)量大小差距控制在一定范圍內(nèi),增強(qiáng)了p2p網(wǎng)絡(luò)系統(tǒng)中數(shù)據(jù)傳輸?shù)姆€(wěn)定性;考慮了svc視頻層內(nèi)各分片數(shù)據(jù)量大小的差異,基于等數(shù)據(jù)量大小對(duì)個(gè)別數(shù)據(jù)量較大的分片進(jìn)行最多一分為八的二次分片,增強(qiáng)了p2p網(wǎng)絡(luò)系統(tǒng)中數(shù)據(jù)傳輸?shù)姆€(wěn)定性;用3位表示一個(gè)進(jìn)行了等時(shí)間長(zhǎng)度分片后得到的分片進(jìn)行二次分片的信息,節(jié)省了存儲(chǔ)空間,降低了客戶(hù)端對(duì)svc視頻各層同步調(diào)度的復(fù)雜性,是一種行之有效的p2p流媒體系統(tǒng)中的svc視頻文件分片及調(diào)度方法。

附圖說(shuō)明

圖1為本發(fā)明的p2p流媒體系統(tǒng)中的svc視頻文件分片方法的流程圖;

圖2為除數(shù)據(jù)量最大層之外的各層分片時(shí)間長(zhǎng)度求取示意圖;

圖3為除數(shù)據(jù)量最大層之外的各層等時(shí)間長(zhǎng)度分片的數(shù)據(jù)量大小與z的差值示意圖;

圖4為二次分片信息存儲(chǔ)空間示意圖;

圖5為同步周期分片請(qǐng)求示意圖。

具體實(shí)施方式

下面結(jié)合附圖與實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。

如圖1所示,給出了本發(fā)明的p2p流媒體系統(tǒng)中的svc視頻文件分片方法的流程圖,根據(jù)nal單元頭信息對(duì)svc視頻分層并求取各層數(shù)據(jù)量大小,基于p2p系統(tǒng)中分片數(shù)據(jù)量的合理大小求取svc視頻數(shù)據(jù)量最大層中等時(shí)間長(zhǎng)度的分片應(yīng)包含的gop數(shù)量,基于svc視頻各層與數(shù)據(jù)量最大層的數(shù)據(jù)量大小關(guān)系求取各層中等時(shí)間長(zhǎng)度的每個(gè)分片包含的gop數(shù)量,根據(jù)svc視頻各層每個(gè)分片包含的gop數(shù)量對(duì)每層進(jìn)行等時(shí)間長(zhǎng)度分片,統(tǒng)計(jì)svc視頻各層中每個(gè)分片的大小并對(duì)數(shù)據(jù)量較大的分片進(jìn)行基于等數(shù)據(jù)量大小的二次分片處理,將每層svc視頻的等時(shí)間長(zhǎng)度分片時(shí)長(zhǎng)、各分片數(shù)據(jù)量大小、二次分片信息存放于p2p索引信息中。其具體通過(guò)以下步驟來(lái)實(shí)現(xiàn):

a).svc視頻數(shù)據(jù)分層及求取每層的數(shù)據(jù)量大小,對(duì)于編碼后的svc視頻數(shù)據(jù),依次讀取每一個(gè)nal單元,提取nal單元頭信息中的空間層標(biāo)識(shí)值d、時(shí)間層標(biāo)識(shí)值t、質(zhì)量層標(biāo)識(shí)值q及nal單元大小,按照d、t、q的值將svc視頻數(shù)據(jù)分離成若干層,每一層(d,t,q)均由svc視頻數(shù)據(jù)中所有d、t、q值相等的nal單元構(gòu)成,同一層的數(shù)據(jù)按照svc視頻數(shù)據(jù)原有的順序連續(xù)存放;通過(guò)公式(1)求取每一層的數(shù)據(jù)量大小s(d,t,q):

式中,s(d,t,q)為層(d,t,q)的數(shù)據(jù)量大小,d∈{0,1,...,a-1},t∈{0,1,...,b-1},q∈{0,1,...,c-1},a、b、c分別為svc視頻的空間分層數(shù)目、時(shí)間分層數(shù)目和質(zhì)量分層數(shù)目;z(i)為層(d,t,q)中第i個(gè)nal單元的大小,n為層(d,t,q)中nal單元的數(shù)目;

在實(shí)際應(yīng)用時(shí),應(yīng)根據(jù)網(wǎng)絡(luò)帶寬和終端能力的差異性合理設(shè)置a、b、c的值,a、b、c的取值與網(wǎng)絡(luò)帶寬和終端能力的差異性大小成正比,但a、b、c的取值不宜過(guò)大,否則會(huì)增加終端分片調(diào)度的復(fù)雜性,在異構(gòu)網(wǎng)絡(luò)環(huán)境下,a∈[1,2],b∈[3,5],c∈[1,2],可滿(mǎn)足一般系統(tǒng)的應(yīng)用。

b).求數(shù)據(jù)量最大層分片包含的gop數(shù)量,通過(guò)比較步驟a)中求取的每一層的數(shù)據(jù)量大小,找出svc視頻各分層中數(shù)據(jù)量最大的層(d′,t′,q′);通過(guò)公式(2)求取數(shù)據(jù)量最大層(d′,t′,q′)按等時(shí)間長(zhǎng)度分片時(shí)每一個(gè)分片所包含的合適畫(huà)面組gop數(shù)量m(d′,t′,q′):

式中,m(d′,t′,q′)為數(shù)據(jù)量最大層(d′,t′,q′)中每一個(gè)分片所包含的gop數(shù)量,s(d′,t′,q′)為層(d′,t′,q′)的數(shù)據(jù)量大小,m為分層后svc視頻的每一層包含的gop數(shù)量,z為傳統(tǒng)未分層編碼技術(shù)采用等數(shù)據(jù)量大小分片時(shí)p2p流媒體系統(tǒng)中分片的合理大小,符號(hào)為向上取整;

通過(guò)公式(2)可求取以數(shù)據(jù)量z對(duì)數(shù)據(jù)量最大層(d′,t′,q′)進(jìn)行等數(shù)據(jù)量大小分片時(shí)每個(gè)分片平均包含的gop數(shù)量m(d′,t′,q′),m(d′,t′,q′)為精確值向上取整,z的值取決于系統(tǒng)的網(wǎng)絡(luò)帶寬和各終端能力,在具體實(shí)施時(shí),z∈[64k,1m]。

c).求除數(shù)據(jù)量最大層外其余層分片中g(shù)op數(shù)量,通過(guò)公式(3)求取除數(shù)據(jù)量最大層(d′,t′,q′)外其余層(d,t,q)中每一個(gè)分片所包含的gop數(shù)量m(d,t,q):

式中,m(d,t,q)為svc視頻數(shù)據(jù)中除數(shù)據(jù)量最大層(d′,t′,q′)外svc各視頻分層中每一個(gè)分片所包含的gop數(shù)量,m(d′,t′,q′)為數(shù)據(jù)量最大層(d′,t′,q′)中每一個(gè)分片所包含的gop數(shù)量,s(d′,t′,q′)為數(shù)據(jù)量最大層(d′,t′,q′)的數(shù)據(jù)量大小,s(d,t,q)為層(d,t,q)的數(shù)據(jù)量大小,d、t、q的值不能同時(shí)分別為d′、t′、q′,符號(hào)為向上取整;

如圖2所示,給出了除數(shù)據(jù)量最大層之外的各層分片時(shí)間長(zhǎng)度求取示意圖,若時(shí),則在圖2中,當(dāng)時(shí),的值為8;如圖3所示,給出了除數(shù)據(jù)量最大層之外的各層等時(shí)間長(zhǎng)度分片的數(shù)據(jù)量大小與z的差值示意圖,若層(d,t,q)中每個(gè)gop的數(shù)據(jù)量相等,以m(d,t,q)為時(shí)長(zhǎng)對(duì)層(d,t,q)進(jìn)行等時(shí)間長(zhǎng)度分片,則每個(gè)分片的數(shù)據(jù)量必在[z-0.33z,z+0.33z],即[0.67z,1.33z]之內(nèi),在圖3中,時(shí),每個(gè)分片的數(shù)據(jù)量為z-0.273z=0.727z,將各層分片的平均數(shù)據(jù)量限制在[0.67z,1.33z]之間,可降低p2p系統(tǒng)節(jié)點(diǎn)中數(shù)據(jù)量的突發(fā)性,提升系統(tǒng)的整體性能;通過(guò)公式(3)得到的對(duì)每層進(jìn)行等時(shí)間長(zhǎng)度分片的gop數(shù)量之間成2n(n∈n)倍數(shù)關(guān)系,使得客戶(hù)端請(qǐng)求的svc視頻各層數(shù)據(jù)之間具有較強(qiáng)的時(shí)間相關(guān)性,保證了客戶(hù)端多層數(shù)據(jù)下載的同步。

d).對(duì)各個(gè)分層進(jìn)行分片,根據(jù)層(d,t,q)每個(gè)分片包含的gop數(shù)量m(d,t,q)對(duì)層(d,t,q)進(jìn)行等時(shí)間長(zhǎng)度分片,層(d,i,q)被分成個(gè)分片,m為分層后svc視頻的每一層包含的gop數(shù)量;d∈{0,1,...,a-1},t∈{0,1,...,b-1},q∈{0,1,...,c-1};

個(gè)分片包含的gop數(shù)量均為m(d,t,q),如果某個(gè)層的最后一個(gè)分片包含的gop數(shù)量與前面分片包含的gop數(shù)量不相等,其包含的gop數(shù)量為符號(hào)為向下取整;

e).二次分片,判斷層(d,t,q)中每一個(gè)分片的數(shù)據(jù)量大小,對(duì)于分片的數(shù)據(jù)量s(pi)≥2z的分片pi,通過(guò)公式(4)和公式(5)進(jìn)行基于數(shù)據(jù)量大小的二次分片處理:

式中,pi,m為對(duì)分片pi進(jìn)行二次分片處理后得到的第m個(gè)子分片,p′i為分片pi除去第1、2、…、m-1個(gè)子分片后的剩余分片,s(pi)為分片pi的數(shù)據(jù)量大??;gopj為分片p′i中的第j個(gè)gop,s(gopk)為分片p′i中的第k個(gè)gop的大小,ni為對(duì)分片pi進(jìn)行二次分片后得到的子分片數(shù)量;z為傳統(tǒng)未分層編碼技術(shù)采用等數(shù)據(jù)量大小分片時(shí)p2p流媒體系統(tǒng)中分片的合理大?。?/p>

pi,m由分片p′i中的前j個(gè)gop構(gòu)成,這j個(gè)gop的數(shù)據(jù)量大小之和要么等于s(pi)/ni要么大于s(pi)/ni,但前j-1個(gè)gop數(shù)據(jù)量大小之和小于s(pi)/ni;

svc視頻各層(d,t,q)內(nèi)gop的數(shù)據(jù)量大小各不相同,通過(guò)進(jìn)行最多一分為八的等數(shù)據(jù)量大小二次分片處理,能消除大部分?jǐn)?shù)據(jù)量較大的分片,且將極少數(shù)數(shù)據(jù)量過(guò)大的分片分割為數(shù)據(jù)量較小的分片,可進(jìn)一步降低p2p系統(tǒng)節(jié)點(diǎn)中數(shù)據(jù)量的突發(fā)性,通過(guò)最多進(jìn)行一分為八的二次分片,不至于產(chǎn)生過(guò)多的子分片,控制了分片調(diào)度請(qǐng)求的復(fù)雜性;當(dāng)網(wǎng)絡(luò)丟包率高時(shí),能夠減少因基礎(chǔ)層部分分片過(guò)大而導(dǎo)致成功傳輸概率過(guò)小的現(xiàn)象,進(jìn)一步提高重要性高的基礎(chǔ)層(0,0,0)在p2p系統(tǒng)中的穩(wěn)定傳輸。

f).分片信息的存放,將每層svc視頻數(shù)據(jù)中包含的分片信息存放于各層的p2p索引信息中,用1個(gè)字節(jié)的空間存儲(chǔ)對(duì)層進(jìn)行等時(shí)間長(zhǎng)度分片時(shí)的時(shí)長(zhǎng)m(d,t,q),用個(gè)字節(jié)空間a來(lái)表示每層進(jìn)行了等時(shí)間長(zhǎng)度分片后得到的各個(gè)分片是否進(jìn)行了基于數(shù)據(jù)量大小的二次分片,用字節(jié)空間b來(lái)存儲(chǔ)經(jīng)二次分片后得到的分片的gop數(shù)量,用2個(gè)字節(jié)的空間來(lái)表示每一個(gè)分片數(shù)據(jù)量大小。

如圖4所示,給出了二次分片信息存儲(chǔ)空間示意圖,該步驟中所述的分片信息的存放通過(guò)以下步驟來(lái)實(shí)現(xiàn):

f-1).在字節(jié)空間a中,每3位表示一個(gè)進(jìn)行了等時(shí)間長(zhǎng)度分片后得到的分片進(jìn)行二次分片的信息,000表示未進(jìn)行二次分片,001、010、011、100、101、110、111分別表示進(jìn)行了二次分片后得到的子分片數(shù)量為2、3、4、5、6、7、8,表示進(jìn)行了二次分片信息的位在字節(jié)空間a中的位置次序與分片在視頻數(shù)據(jù)中的存儲(chǔ)位置次序相同,字節(jié)空間a的有效位數(shù)為位,無(wú)效位數(shù)為位,無(wú)效位用0填充;

f-2).在字節(jié)空間b中,每一個(gè)字節(jié)表示經(jīng)二次分片后得到的一個(gè)分片的gop數(shù)量,按照分片在各層svc視頻中的順序,依次將經(jīng)二次分片后得到的各個(gè)分片的gop數(shù)量存儲(chǔ)在字節(jié)空間b中。

如圖4所示,字節(jié)空間a中第1位組的值為000,表示該層進(jìn)行了等時(shí)間長(zhǎng)度分片后得到的第1個(gè)分片未進(jìn)行二次分片,字節(jié)空間a中第2位的值為001,表示該層進(jìn)行了等時(shí)間長(zhǎng)度分片后得到的第2個(gè)分片進(jìn)行了二次分片,得到的子分片數(shù)為2,在字節(jié)空間b中,第一個(gè)字節(jié)的值22為第2個(gè)分片經(jīng)二次分片后得到的第1個(gè)子分片的gop數(shù)量,第二個(gè)字節(jié)的值26為第1個(gè)分片經(jīng)二次分片后得到的第2個(gè)子分片的gop數(shù)量,第三個(gè)字節(jié)的值10為第4個(gè)分片經(jīng)二次分片后得到的第1個(gè)子分片的gop數(shù)量;

一個(gè)svc視頻的torrent文件中記錄了每個(gè)分片的hsah校驗(yàn)值,每個(gè)hsah校驗(yàn)值占據(jù)的空間大小約為20字節(jié),而torrent文件中的數(shù)據(jù)幾乎全部是分片hsah校驗(yàn)值記錄,本發(fā)明最多使用額外的2+3/8+1=3.38字節(jié)記錄每個(gè)分片的時(shí)間和數(shù)據(jù)量大小信息,使整個(gè)torrent文件的大小增加了大約17%,而torrent文件大小通常很少超過(guò)1m,所以本發(fā)明產(chǎn)生的額外索引數(shù)據(jù)量也是很小的,torrent文件又是在文件下載/流媒體播放前從可靠的地方通過(guò)c/s傳輸模式得到的(如在網(wǎng)站上通過(guò)ftp下載),下載的速度有足夠的保障,因此增加的數(shù)據(jù)量所造成的性能上的影響很小,可以忽略。

本發(fā)明的p2p流媒體系統(tǒng)中的svc視頻文件分片方法的數(shù)據(jù)請(qǐng)求調(diào)度方法,通過(guò)以下步驟來(lái)實(shí)現(xiàn):

1).客戶(hù)端選擇訂閱需要播放的svc視頻分層,獲取p2p索引信息;

2).當(dāng)按序播放時(shí),客戶(hù)端按照播放順序逐層請(qǐng)求數(shù)據(jù)分片,具體步驟如下:

2-1).首先確定客戶(hù)端請(qǐng)求播放的svc視頻分層中,對(duì)各層進(jìn)行等時(shí)間長(zhǎng)度分片時(shí)的最上時(shí)長(zhǎng)mmax(d,t,q),gop數(shù)量與時(shí)長(zhǎng)對(duì)應(yīng);

2-2).以t為時(shí)間周期逐層同步請(qǐng)求數(shù)據(jù)分片,在第n個(gè)同步時(shí)間周期內(nèi),請(qǐng)求的各層數(shù)據(jù)分片數(shù)為pcount(d,t,q),其通過(guò)公式(6)和公式(7)進(jìn)行求?。?/p>

t=n×mmax(d,t,q)(7)

式中,pcount(d,t,q)為客戶(hù)端在請(qǐng)求數(shù)據(jù)的第n個(gè)同步時(shí)間周期內(nèi),對(duì)層(d,t,q)請(qǐng)求的數(shù)據(jù)分片數(shù),n、n均為正整數(shù),t為請(qǐng)求數(shù)據(jù)分片的同步時(shí)間周期,是各層進(jìn)行等時(shí)間長(zhǎng)度分片的最長(zhǎng)時(shí)長(zhǎng)mmax(d,t,q)的整數(shù)倍,a(i)為字節(jié)空間a中表示層(d,t,q)的第i個(gè)分片進(jìn)行二次分片信息的值;

如圖5所示,給出了同步周期分片請(qǐng)求示意圖,該層在第1個(gè)同步時(shí)間周期內(nèi)需要請(qǐng)求4+1+4=9個(gè)分片。

2-3).在同一個(gè)時(shí)間周期t中所請(qǐng)求的視頻分層的全部分片都收到以后,送給解碼器解碼并播放,同時(shí)開(kāi)始下載后一個(gè)時(shí)間周期t內(nèi)的各層數(shù)據(jù)分片;

3).當(dāng)拖動(dòng)播放時(shí),在定位到視頻的某一時(shí)間點(diǎn)t′播放時(shí),客戶(hù)端根據(jù)p2p索引中的分片時(shí)間信息定位并請(qǐng)求需要下載的數(shù)據(jù)分片,具體步驟如下:

3-1).首先判斷定位到視頻的某一時(shí)間點(diǎn)t′的視頻數(shù)據(jù)屬于哪一個(gè)gop;

3-2).獲取該gop處于視頻每個(gè)分層的第幾個(gè)分片,其通過(guò)公式(8)、公式(9)進(jìn)行獲取:

式中,np為查找的gop在svc視頻層(d,t,q)中所處的分片位置,ng為時(shí)間點(diǎn)t′在svc視頻中所處的gop位置,m(d,t,q)為svc視頻中層(d,t,q)進(jìn)行等時(shí)間長(zhǎng)度分片后每一個(gè)分片包含的gop數(shù)量,a(i)為字節(jié)空間a中表示層(d,t,q)的第i個(gè)分片進(jìn)行二次分片信息的值;b(i)為存儲(chǔ)層(d,t,q)經(jīng)二次分片后得到的分片的gop數(shù)量的字節(jié)空間b中第i個(gè)字節(jié)的值,m≥2;

假設(shè)某層進(jìn)行等時(shí)間長(zhǎng)度分片后每個(gè)分片包含48個(gè)gop,一個(gè)gop中有16幀,拖動(dòng)的時(shí)間點(diǎn)是第2625幀處,則拖動(dòng)的時(shí)間點(diǎn)處在第個(gè)gop中,第165個(gè)gop為進(jìn)行等時(shí)間長(zhǎng)度分片后的第4個(gè)分片的第21個(gè)gop,在圖4所示的情況下,10+8<21<10+8+12,則第165個(gè)gop處在該層的最終分片的個(gè)分片中,即拖動(dòng)的時(shí)間點(diǎn)處在該層的第7個(gè)分片中。

3-3).從svc視頻的各層中依次下載這些分片,得到播放所需要的數(shù)據(jù)。

本發(fā)明的p2p流媒體系統(tǒng)中的svc視頻文件分片及調(diào)度方法,解決了svc視頻層間的同步和協(xié)調(diào)問(wèn)題,增強(qiáng)了異構(gòu)環(huán)境下基礎(chǔ)層的可靠傳輸,提升了p2p網(wǎng)絡(luò)系統(tǒng)中數(shù)據(jù)傳輸?shù)姆€(wěn)定性。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
金乡县| 麻阳| 太仆寺旗| 阿克陶县| 平山县| 长乐市| 宾川县| 宁强县| 泾川县| 商城县| 罗田县| 金坛市| 贵溪市| 当涂县| 江陵县| 叶城县| 靖江市| 蕉岭县| 苍梧县| 扶风县| 延庆县| 布尔津县| 赫章县| 湖口县| 香格里拉县| 齐河县| 岐山县| 顺平县| 武川县| 白银市| 比如县| 林西县| 九龙县| 保亭| 连云港市| 鄢陵县| 彝良县| 徐州市| 剑阁县| 台北县| 伊春市|