專利名稱:一種流媒體數(shù)據(jù)的控制系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)流媒體領(lǐng)域,更具體的說,涉及一種流媒體數(shù)據(jù)的控制系統(tǒng)及其方法。
背景技術(shù):
流媒體是一種新的媒體傳送方式及其延時(shí)性小、緩存容量要求低。流媒體吧各種多媒體數(shù)據(jù)處理成數(shù)據(jù)包后發(fā)送給同處于網(wǎng)絡(luò)中的用戶端,由該用戶端對(duì)該數(shù)據(jù)包進(jìn)行接包,并播放。而隨著互聯(lián)網(wǎng)絡(luò)基礎(chǔ)設(shè)施與接入技術(shù)的發(fā)展,使得網(wǎng)絡(luò)對(duì)超大規(guī)模數(shù)據(jù)交換的支持發(fā)生質(zhì)的飛躍,相關(guān)的網(wǎng)絡(luò)視頻直播/點(diǎn)播、大規(guī)模數(shù)據(jù)共享系統(tǒng)獲得了足夠底層技術(shù)支撐,成為目前互聯(lián)網(wǎng)絡(luò)上占用流量大、用戶量高、影響范圍廣的互聯(lián)網(wǎng)應(yīng)用。其中應(yīng)用對(duì)等網(wǎng)絡(luò)(Peer-to-Peer Network,以下簡(jiǎn)稱P2P網(wǎng)絡(luò))能夠最大限度地減輕媒體發(fā)布者的數(shù)據(jù)傳輸壓力,將數(shù)據(jù)的提供責(zé)任轉(zhuǎn)給網(wǎng)絡(luò)上的普通流媒體用戶。這種打散數(shù)據(jù)流的方式能夠適應(yīng)多變的互聯(lián)網(wǎng)絡(luò)環(huán)境,提高網(wǎng)絡(luò)負(fù)載的均衡性,因此受到極大歡迎。然而為保證一定的媒體回放質(zhì)量,流媒體數(shù)據(jù)分片的下載順序要有一定規(guī)則,其下載終端也需要在數(shù)據(jù)緩沖空間和回放時(shí)延中找到令回放效果最佳的平衡點(diǎn)。目前還沒有能夠穩(wěn)定地保證流媒體連貫回放的技術(shù)方案。
發(fā)明內(nèi)容
為了解決上述的技術(shù)問題,提供了一種流媒體數(shù)據(jù)的處理系統(tǒng)及其,其目的在于,保證節(jié)點(diǎn)流媒體數(shù)據(jù)連貫回放;提高數(shù)據(jù)緩存對(duì)網(wǎng)絡(luò)帶寬變化的自適應(yīng)能力,從而提高終端用戶的滿意度。為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種流媒體數(shù)據(jù)的控制系統(tǒng),該系統(tǒng)包括
預(yù)處理模塊,接收客戶端發(fā)送的數(shù)據(jù)分片請(qǐng)求信息,用戶節(jié)點(diǎn)建立滑動(dòng)窗口 ;分配模塊,根據(jù)所述數(shù)據(jù)分片請(qǐng)求信息分配屬于滑動(dòng)窗口內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù);控制處理模塊,確定該數(shù)據(jù)分片請(qǐng)求信息對(duì)應(yīng)的流媒體數(shù)據(jù),用戶節(jié)點(diǎn)提交所述流媒體數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放,直至流媒體數(shù)據(jù)下載完畢或用戶節(jié)點(diǎn)終止流媒體的數(shù)據(jù)控制過程。所述控制系統(tǒng)還包括分割標(biāo)識(shí)模塊,用戶節(jié)點(diǎn)將流媒體數(shù)據(jù)分成多個(gè)數(shù)據(jù)塊,并賦予不同標(biāo)識(shí)進(jìn)行緩存;任務(wù)處理模塊,根據(jù)各鄰居節(jié)點(diǎn)的數(shù)據(jù)分片資源信息,分配屬于初始化緩沖區(qū)內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn);控制播放模塊,當(dāng)初始化緩沖區(qū)被填滿后,用戶節(jié)點(diǎn)提交緩沖區(qū)中的數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放?;瑒?dòng)窗口包含多個(gè)基本窗口,所述基本窗口包含多個(gè)數(shù)據(jù)片空間。
預(yù)處理模塊中,用戶節(jié)點(diǎn)還根據(jù)網(wǎng)絡(luò)可用帶寬周期性地調(diào)整滑動(dòng)窗口的大小。用戶節(jié)點(diǎn)還周期性將本地存儲(chǔ)的數(shù)據(jù)分片信息廣播給鄰居節(jié)點(diǎn),以方便鄰居節(jié)點(diǎn)調(diào)度數(shù)據(jù)分片下載任務(wù)。為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種流媒體數(shù)據(jù)的控制方法,該方法包括步驟1,接收客戶端發(fā)送的數(shù)據(jù)分片請(qǐng)求信息,用戶節(jié)點(diǎn)建立滑動(dòng)窗口 ;步驟2,根據(jù)所述數(shù)據(jù)分片請(qǐng)求信息分配屬于滑動(dòng)窗口內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù);步驟3,確定該數(shù)據(jù)分片請(qǐng)求信息對(duì)應(yīng)的流媒體數(shù)據(jù),用戶節(jié)點(diǎn)提交所述流媒體數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放,直至流媒體數(shù)據(jù)下載完畢或用戶節(jié)點(diǎn)終止流媒體的數(shù)據(jù)控制過程。在步驟I之前還包括步驟5,用戶節(jié)點(diǎn)將流媒體數(shù)據(jù)分成多個(gè)數(shù)據(jù)塊,并賦予不同標(biāo)識(shí)進(jìn)行緩存;步驟6,根據(jù)各鄰居節(jié)點(diǎn)的數(shù)據(jù)分片資源信息,分配屬于初始化緩沖區(qū)內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn);步驟7,當(dāng)初始化緩沖區(qū)被填滿后,用戶節(jié)點(diǎn)提交緩沖區(qū)中的數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放。
滑動(dòng)窗口包含多個(gè)基本窗口,所述基本窗口包含多個(gè)數(shù)據(jù)片空間。步驟I中,用戶節(jié)點(diǎn)還根據(jù)網(wǎng)絡(luò)可用帶寬周期性地調(diào)整滑動(dòng)窗口的大小。用戶節(jié)點(diǎn)還周期性將本地存儲(chǔ)的數(shù)據(jù)分片信息廣播給鄰居節(jié)點(diǎn),以方便鄰居節(jié)點(diǎn)調(diào)度數(shù)據(jù)分片下載任務(wù)。本發(fā)明為P2P環(huán)境下的流媒體數(shù)據(jù)交換提供了一種數(shù)據(jù)交換調(diào)度機(jī)制,能夠同時(shí)考慮到流媒體回放的穩(wěn)定性、流媒體數(shù)據(jù)的回放時(shí)延、網(wǎng)絡(luò)帶寬資源的變化,為流媒體數(shù)據(jù)交換提供高效的數(shù)據(jù)分片下載調(diào)度方法,提高流媒體終端的回放質(zhì)量,提高終端用戶的滿意度。
圖1為本發(fā)明的流媒體數(shù)據(jù)的控制系統(tǒng)示意圖;圖2為本發(fā)明的流媒體數(shù)據(jù)的控制方法流程圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行說明。圖1為本發(fā)明的流媒體數(shù)據(jù)的控制系統(tǒng)示意圖。如圖1所示,該系統(tǒng)包括預(yù)處理模塊100,接收客戶端發(fā)送的數(shù)據(jù)分片請(qǐng)求信息,用戶節(jié)點(diǎn)建立滑動(dòng)窗口 ;分配模塊200,根據(jù)所述數(shù)據(jù)分片請(qǐng)求信息分配屬于滑動(dòng)窗口內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù);控制處理模塊300,確定該數(shù)據(jù)分片請(qǐng)求信息對(duì)應(yīng)的流媒體數(shù)據(jù),用戶節(jié)點(diǎn)提交所述流媒體數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放,直至流媒體數(shù)據(jù)下載完畢或用戶節(jié)點(diǎn)終止流媒體的數(shù)據(jù)控制過程。所述控制系統(tǒng)還包括
分割標(biāo)識(shí)模塊400,用戶節(jié)點(diǎn)將流媒體數(shù)據(jù)分成多個(gè)數(shù)據(jù)塊,并賦予不同標(biāo)識(shí)進(jìn)行
緩存;任務(wù)處理模塊500,根據(jù)各鄰居節(jié)點(diǎn)的數(shù)據(jù)分片資源信息,分配屬于初始化緩沖區(qū)內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn);控制播放模塊600,當(dāng)初始化緩沖區(qū)被填滿后,用戶節(jié)點(diǎn)提交緩沖區(qū)中的數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放。滑動(dòng)窗口包含多個(gè)基本窗口,所述基本窗口包含多個(gè)數(shù)據(jù)片空間。預(yù)處理模塊100中,用戶節(jié)點(diǎn)還根據(jù)網(wǎng)絡(luò)可用帶寬周期性地調(diào)整滑動(dòng)窗口的大小。用戶節(jié)點(diǎn)還周期性將本地存儲(chǔ)的數(shù)據(jù)分片信息廣播給鄰居節(jié)點(diǎn),以方便鄰居節(jié)點(diǎn)調(diào)度數(shù)據(jù)分片下載任務(wù)。本發(fā)明中的用戶節(jié)點(diǎn),指發(fā)出流媒體數(shù)據(jù)下載指令、開啟流媒體傳輸和回放過程的用戶所使用的流媒體終端節(jié)點(diǎn);鄰居節(jié)點(diǎn),指在用戶節(jié)點(diǎn)鄰居節(jié)點(diǎn)列表上,能夠與該用戶節(jié)點(diǎn)直接進(jìn)行數(shù)據(jù)交換的流媒體終端節(jié)點(diǎn)。數(shù)據(jù)分片為為了應(yīng)對(duì)網(wǎng)絡(luò)層傳輸協(xié)議對(duì)數(shù)據(jù)包大小的限制,對(duì)流媒體數(shù)據(jù)按照一定規(guī)則分解成為適合互聯(lián)網(wǎng)絡(luò)傳輸?shù)妮^小數(shù)據(jù)塊。在本發(fā)明中,數(shù)據(jù)分片概念為流媒體數(shù)據(jù)分割的最小尺度?;敬翱诘拇笮?size)不小于數(shù)據(jù)分片的大小。例如,對(duì)視頻流媒體來說,我們假設(shè)一個(gè)視頻幀的大小為2_4k bytes,以太網(wǎng)的MTU通常限制在1500bytes —個(gè)包,因此在實(shí)際傳輸時(shí)需要將該視頻幀切分為最少2-3個(gè)數(shù)據(jù)分片;而基本窗口的大小可以為I個(gè)或幾個(gè)視頻幀的大小?;敬翱谑菙?shù)據(jù)緩存向流媒體數(shù)據(jù)解碼與回放模塊提交數(shù)據(jù)的最小尺度,其描述的是媒體數(shù)據(jù)編/解碼與回放機(jī)制對(duì)連續(xù)播放流媒體數(shù)據(jù)的要求。一個(gè)基本窗口中可以包含一個(gè) 或多個(gè)數(shù)據(jù)分片?;瑒?dòng)窗口描述的是所述用戶節(jié)點(diǎn)當(dāng)前可用的流媒體傳輸帶寬,通常包含一個(gè)或多個(gè)基本窗口,如本例中SW就同時(shí)包含了 BW1、BW2和BW3三個(gè)基本窗口。另外,還有初始化緩沖空間InitBuff的概念,其作用是在多媒體數(shù)據(jù)下載任務(wù)建立初期,對(duì)數(shù)據(jù)做一定數(shù)據(jù)量的緩沖,以防止網(wǎng)絡(luò)的不穩(wěn)定對(duì)用戶節(jié)點(diǎn)的影響,較大程度上保證流媒體數(shù)據(jù)的回放質(zhì)量。當(dāng)用戶節(jié)點(diǎn)發(fā)起一個(gè)多媒體數(shù)據(jù)流下載請(qǐng)求時(shí),該用戶節(jié)點(diǎn)首先在緩存空間中分配一個(gè)初始化緩沖空間,然后根據(jù)鄰居節(jié)點(diǎn)廣播的數(shù)據(jù)分片擁有信息,分配屬于初始化緩沖區(qū)內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn)。當(dāng)所述初始化緩沖空間中的數(shù)據(jù)下載完成時(shí),數(shù)據(jù)緩存模塊將初始化緩沖空間中的數(shù)據(jù)提交給專門的流媒體數(shù)據(jù)解碼與回放模塊,解碼后開始數(shù)據(jù)的回放。同時(shí),緊鄰初始化緩沖空間的終止邊界順序建立基本窗口 BWi,i為自然數(shù),基本窗口的大小可以根據(jù)該流媒體所使用的編解碼標(biāo)準(zhǔn)確定。若流媒體數(shù)據(jù)的編碼格式在某一時(shí)刻改變成其他編碼方式,對(duì)連續(xù)播放流媒體數(shù)據(jù)的需求有了變化,則用戶節(jié)點(diǎn)可以立即相應(yīng)更改基本窗口的大小,而不會(huì)影響到節(jié)點(diǎn)上流媒體數(shù)據(jù)緩存的效率。最后,所述用戶節(jié)點(diǎn)緊鄰初始化緩沖空間的終止邊界建立滑動(dòng)窗口,啟動(dòng)滑動(dòng)窗口機(jī)制對(duì)流媒體數(shù)據(jù)的下載過程進(jìn)行調(diào)度。首先,所述用戶節(jié)點(diǎn)根據(jù)滑動(dòng)窗口尺寸參數(shù)確定滑動(dòng)窗口的終止邊界滑動(dòng)窗口的大小為3個(gè)基本窗口的大??;第二,所述用戶節(jié)點(diǎn)使用相同的方法,根據(jù)各個(gè)鄰居節(jié)點(diǎn)所擁有數(shù)據(jù)分片的信息,分配屬于所述滑動(dòng)窗口的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn);當(dāng)緊鄰所述滑動(dòng)窗口起始邊界的基本窗口被填滿時(shí),提交該基本窗口中數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊;此時(shí),滑動(dòng)窗口的起始邊界和終止邊界同時(shí)向后移動(dòng),覆蓋已提交數(shù)據(jù)所代表流媒體時(shí)刻之后的基本窗口,這也是滑動(dòng)窗口名稱的來源;所述用戶節(jié)點(diǎn)重復(fù)上述步驟中的數(shù)據(jù)下載與提交過程,直到該流媒體數(shù)據(jù)全部下載完畢,或者因其他原因?qū)е铝髅襟w數(shù)據(jù)交換進(jìn)程的終止。本發(fā)明中的基于滑動(dòng)窗口輔助的流媒體數(shù)據(jù)交換方法應(yīng)用范圍廣泛。由于使用數(shù)據(jù)分片、基本窗口、滑動(dòng)窗口的概念分別表述網(wǎng)絡(luò)層的數(shù)據(jù)傳輸能力、應(yīng)用層的數(shù)據(jù)傳輸要求、以及網(wǎng)絡(luò)可用帶寬的數(shù)量,該數(shù)據(jù)交換方法可以滿足多種流媒體數(shù)據(jù)傳輸應(yīng)用系統(tǒng)的需求,如客戶端/服務(wù)器模式的視頻直播、點(diǎn)播服務(wù),對(duì)等網(wǎng)絡(luò)模式的視頻直播、點(diǎn)播服務(wù),以及多媒體網(wǎng)絡(luò)電話等?;瑒?dòng)窗口反應(yīng)的是用戶節(jié)點(diǎn)可用網(wǎng)絡(luò)帶寬的數(shù)量,而由于互聯(lián)網(wǎng)絡(luò)連接的不穩(wěn)定性,該可用帶寬數(shù)量是一個(gè)不斷變化的數(shù)值。因此用戶節(jié)點(diǎn)需要周期性探測(cè)當(dāng)前可用帶寬的數(shù)量,并修正滑動(dòng)窗口的大小值。當(dāng)前滑動(dòng)窗口的大小為3個(gè)基本窗口的大小。若用戶節(jié)點(diǎn)探測(cè)到網(wǎng)絡(luò)可用帶寬增加,就可以按照該貸款的增加量重設(shè)滑動(dòng)窗口的大小為4個(gè)基本窗口甚至更多。另外,由于流媒體的數(shù)據(jù)傳輸有一定的實(shí)時(shí)性要求,若網(wǎng)絡(luò)的可用帶寬無法支持一個(gè)基本窗口的數(shù)據(jù)下載,則其回放質(zhì)量就不可能達(dá)到要求。由于滑動(dòng)窗口中的數(shù)據(jù)并不是完全按照時(shí)間順序到達(dá),因此當(dāng)緊鄰滑動(dòng)窗口的初始邊界的基本窗口數(shù)據(jù)被填滿時(shí),若相鄰時(shí)間的其他一個(gè)或多個(gè)流媒體數(shù)據(jù)基本窗口已經(jīng)填滿,則可以一次提交多個(gè)基本窗口。例如,滑動(dòng)窗口 SW包含基本窗口 BW1、BW2和BW3.當(dāng)Bffl中的數(shù)據(jù)全部到達(dá) 后,用戶節(jié)點(diǎn)判斷緊鄰BWl的基本窗口 BW2中的數(shù)據(jù)也已經(jīng)全部到達(dá),但BW3的數(shù)據(jù)還未完全到達(dá)。則用戶節(jié)點(diǎn)將基本窗口 BWl和BW2所包含的流媒體數(shù)據(jù)提交給流媒體數(shù)據(jù)解碼與回放模塊,同時(shí)將滑動(dòng)窗口 SW向后滑動(dòng)兩個(gè)基本窗口,亦即,令滑動(dòng)窗口覆蓋基本窗口 BW3、BW4和BW5。若本發(fā)明中的基于滑動(dòng)窗口輔助的流媒體數(shù)據(jù)交換方法被應(yīng)用在對(duì)等網(wǎng)絡(luò)中的應(yīng)用場(chǎng)景時(shí),所述用戶節(jié)點(diǎn)還需要周期性向其鄰居節(jié)點(diǎn)廣播本地緩存空間中已下載的流媒體數(shù)據(jù)分片信息,并在鄰居節(jié)點(diǎn)提出數(shù)據(jù)請(qǐng)求時(shí)提供相關(guān)流媒體數(shù)據(jù)。流媒體數(shù)據(jù)解碼與回放模塊在解碼時(shí)通常支持一定程度的容錯(cuò)性,也就是說,如果接收到的數(shù)據(jù)有一定程度的失真或損失,解碼器具備修復(fù)或部分修復(fù)數(shù)據(jù)的能力。因此,當(dāng)一個(gè)基本窗口的最遲提交時(shí)刻到來時(shí),如果仍然有部分該窗口所屬的數(shù)據(jù)分片未能到達(dá),則數(shù)據(jù)緩存仍然可以提交該不完整基本窗口中的數(shù)據(jù)給流媒體解碼器。這樣可以最大限度的利用已有的數(shù)據(jù)資源,盡量提高流媒體的回放質(zhì)量。本發(fā)明還提供一種流媒體數(shù)據(jù)的控制方法,該方法包括步驟101,接收客戶端發(fā)送的數(shù)據(jù)分片請(qǐng)求信息,用戶節(jié)點(diǎn)建立滑動(dòng)窗口 ;步驟102,根據(jù)所述數(shù)據(jù)分片請(qǐng)求信息分配屬于滑動(dòng)窗口內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù);步驟103,確定該數(shù)據(jù)分片請(qǐng)求信息對(duì)應(yīng)的流媒體數(shù)據(jù),用戶節(jié)點(diǎn)提交所述流媒體數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放,直至流媒體數(shù)據(jù)下載完畢或用戶節(jié)點(diǎn)終止流媒體的數(shù)據(jù)控制過程。在步驟101之前還包括步驟104,用戶節(jié)點(diǎn)將流媒體數(shù)據(jù)分成多個(gè)數(shù)據(jù)塊,并賦予不同標(biāo)識(shí)進(jìn)行緩存;
步驟105,根據(jù)各鄰居節(jié)點(diǎn)的數(shù)據(jù)分片資源信息,分配屬于初始化緩沖區(qū)內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn);步驟106,當(dāng)初始化緩沖區(qū)被填滿后,用戶節(jié)點(diǎn)提交緩沖區(qū)中的數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放?;瑒?dòng)窗口包含多個(gè)基本窗口,所述基本窗口包含多個(gè)數(shù)據(jù)片空間。步驟101中,用戶節(jié)點(diǎn)還根據(jù)網(wǎng)絡(luò)可用帶寬周期性地調(diào)整滑動(dòng)窗口的大小。用戶節(jié)點(diǎn)還周期性將本地存儲(chǔ)的數(shù)據(jù)分片信息廣播給鄰居節(jié)點(diǎn),以方便鄰居節(jié)點(diǎn)調(diào)度數(shù)據(jù)分片下載任務(wù)。本發(fā)明中的用戶節(jié)點(diǎn),指發(fā)出流媒體數(shù)據(jù)下載指令、開啟流媒體傳輸和回放過程的用戶所使用的流媒體終端節(jié)點(diǎn);鄰居節(jié)點(diǎn),指在用戶節(jié)點(diǎn)鄰居節(jié)點(diǎn)列表上,能夠與該用戶節(jié)點(diǎn)直接進(jìn)行數(shù)據(jù)交換的流媒體終端節(jié)點(diǎn)。數(shù)據(jù)分片為為了應(yīng)對(duì)網(wǎng)絡(luò)層傳輸協(xié)議對(duì)數(shù)據(jù)包大小的限制,對(duì)流媒體數(shù)據(jù)按照一定規(guī)則分解成為適合互聯(lián)網(wǎng)絡(luò)傳輸?shù)妮^小 數(shù)據(jù)塊。在本發(fā)明中,數(shù)據(jù)分片概念為流媒體數(shù)據(jù)分割的最小尺度?;敬翱诘拇笮?size)不小于數(shù)據(jù)分片的大小。例如,對(duì)視頻流媒體來說,我們假設(shè)一個(gè)視頻幀的大小為2_4k bytes,以太網(wǎng)的MTU通常限制在1500bytes—個(gè)包,因此在實(shí)際傳輸時(shí)需要將該視頻幀切分為最少2-3個(gè)數(shù)據(jù)分片;而基本窗口的大小可以為I個(gè)或幾個(gè)視頻幀的大小?;敬翱谑菙?shù)據(jù)緩存向流媒體數(shù)據(jù)解碼與回放模塊提交數(shù)據(jù)的最小尺度,其描述的是媒體數(shù)據(jù)編/解碼與回放機(jī)制對(duì)連續(xù)播放流媒體數(shù)據(jù)的要求。一個(gè)基本窗口中可以包含一個(gè)或多個(gè)數(shù)據(jù)分片?;瑒?dòng)窗口描述的是所述用戶節(jié)點(diǎn)當(dāng)前可用的流媒體傳輸帶寬,通常包含一個(gè)或多個(gè)基本窗口,如本例中SW就同時(shí)包含了 BW1、BW2和BW3三個(gè)基本窗口。另外,還有初始化緩沖空間InitBuff的概念,其作用是在多媒體數(shù)據(jù)下載任務(wù)建立初期,對(duì)數(shù)據(jù)做一定數(shù)據(jù)量的緩沖,以防止網(wǎng)絡(luò)的不穩(wěn)定對(duì)用戶節(jié)點(diǎn)的影響,較大程度上保證流媒體數(shù)據(jù)的回放質(zhì)量。當(dāng)用戶節(jié)點(diǎn)發(fā)起一個(gè)多媒體數(shù)據(jù)流下載請(qǐng)求時(shí),該用戶節(jié)點(diǎn)首先在緩存空間中分配一個(gè)初始化緩沖空間,然后根據(jù)鄰居節(jié)點(diǎn)廣播的數(shù)據(jù)分片擁有信息,分配屬于初始化緩沖區(qū)內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn)。當(dāng)所述初始化緩沖空間中的數(shù)據(jù)下載完成時(shí),數(shù)據(jù)緩存模塊將初始化緩沖空間中的數(shù)據(jù)提交給專門的流媒體數(shù)據(jù)解碼與回放模塊,解碼后開始數(shù)據(jù)的回放。同時(shí),緊鄰初始化緩沖空間的終止邊界順序建立基本窗口 BWi,i為自然數(shù),基本窗口的大小可以根據(jù)該流媒體所使用的編解碼標(biāo)準(zhǔn)確定。若流媒體數(shù)據(jù)的編碼格式在某一時(shí)刻改變成其他編碼方式,對(duì)連續(xù)播放流媒體數(shù)據(jù)的需求有了變化,則用戶節(jié)點(diǎn)可以立即相應(yīng)更改基本窗口的大小,而不會(huì)影響到節(jié)點(diǎn)上流媒體數(shù)據(jù)緩存的效率。最后,所述用戶節(jié)點(diǎn)緊鄰初始化緩沖空間的終止邊界建立滑動(dòng)窗口,啟動(dòng)滑動(dòng)窗口機(jī)制對(duì)流媒體數(shù)據(jù)的下載過程進(jìn)行調(diào)度。首先,所述用戶節(jié)點(diǎn)根據(jù)滑動(dòng)窗口尺寸參數(shù)確定滑動(dòng)窗口的終止邊界滑動(dòng)窗口的大小為3個(gè)基本窗口的大小;第二,所述用戶節(jié)點(diǎn)使用相同的方法,根據(jù)各個(gè)鄰居節(jié)點(diǎn)所擁有數(shù)據(jù)分片的信息,分配屬于所述滑動(dòng)窗口的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn);當(dāng)緊鄰所述滑動(dòng)窗口起始邊界的基本窗口被填滿時(shí),提交該基本窗口中數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊;此時(shí),滑動(dòng)窗口的起始邊界和終止邊界同時(shí)向后移動(dòng),覆蓋已提交數(shù)據(jù)所代表流媒體時(shí)刻之后的基本窗口,這也是滑動(dòng)窗口名稱的來源;所述用戶節(jié)點(diǎn)重復(fù)上述步驟中的數(shù)據(jù)下載與提交過程,直到該流媒體數(shù)據(jù)全部下載完畢,或者因其他原因?qū)е铝髅襟w數(shù)據(jù)交換進(jìn)程的終止。本發(fā)明中的基于滑動(dòng)窗口輔助的流媒體數(shù)據(jù)交換方法應(yīng)用范圍廣泛。由于使用數(shù)據(jù)分片、基本窗口、滑動(dòng)窗口的概念分別表述網(wǎng)絡(luò)層的數(shù)據(jù)傳輸能力、應(yīng)用層的數(shù)據(jù)傳輸要求、以及網(wǎng)絡(luò)可用帶寬的數(shù)量,該數(shù)據(jù)交換方法可以滿足多種流媒體數(shù)據(jù)傳輸應(yīng)用系統(tǒng)的需求,如客戶端/服務(wù)器模式的視頻直播、點(diǎn)播服務(wù),對(duì)等網(wǎng)絡(luò)模式的視頻直播、點(diǎn)播服務(wù),以及多媒體網(wǎng)絡(luò)電話等?;瑒?dòng)窗口反應(yīng)的是用戶節(jié)點(diǎn)可用網(wǎng)絡(luò)帶寬的數(shù)量,而由于互聯(lián)網(wǎng)絡(luò)連接的不穩(wěn)定性,該可用帶寬數(shù)量是一個(gè)不斷變化的數(shù)值。因此用戶節(jié)點(diǎn)需要周期性探測(cè)當(dāng)前可用帶寬的數(shù)量,并修正滑動(dòng)窗口的大小值。當(dāng)前滑動(dòng)窗口的大小為3個(gè)基本窗口的大小。若用戶節(jié)點(diǎn)探測(cè)到網(wǎng)絡(luò)可用帶寬增加,就可以按照該貸款的增加量重設(shè)滑動(dòng)窗口的大小為4個(gè)基本窗口甚至更多。另外,由于流媒體的數(shù)據(jù)傳輸有一定的實(shí)時(shí)性要求,若網(wǎng)絡(luò)的可用帶寬無法支持一個(gè)基本窗口的數(shù)據(jù)下載,則其回放質(zhì)量就不可能達(dá)到要求。由于滑動(dòng)窗口中的數(shù)據(jù)并不是完全按照時(shí)間順序到達(dá),因此當(dāng)緊鄰滑動(dòng)窗口的初始邊界的基本窗口數(shù)據(jù)被填滿時(shí),若相鄰時(shí)間的其他一個(gè)或多個(gè)流媒體數(shù)據(jù)基本窗口已經(jīng)填滿,則可以一次提交多個(gè)基本窗口。例如滑動(dòng)窗口 SW包含基本窗口 BWl、BW2和BW3.當(dāng)Bffl中的數(shù)據(jù)全部到達(dá)后,用戶節(jié)點(diǎn)判斷緊鄰BWl的基本窗口 BW2中的數(shù)據(jù)也已經(jīng)全部到達(dá),但BW3的數(shù)據(jù)還未完全到達(dá)。則用戶節(jié)點(diǎn)將基本窗口 BWl和BW2所包含的流媒體數(shù)據(jù)提交給流媒體數(shù)據(jù)解碼與回放模塊,同時(shí)將滑動(dòng)窗口 SW向后滑動(dòng)兩個(gè)基本窗口,亦即,令滑動(dòng)窗口覆蓋基本窗口 BW3、BW4和BW5。若本發(fā)明中的基于滑動(dòng)窗口輔助的流媒體數(shù)據(jù)交換方法被應(yīng)用在對(duì)等網(wǎng)絡(luò)中的應(yīng)用場(chǎng)景時(shí),所述用戶節(jié)點(diǎn)還需要周期性向其鄰居節(jié)點(diǎn)廣播本地緩存空間中已下載的流媒體數(shù)據(jù)分片信息,并 在鄰居節(jié)點(diǎn)提出數(shù)據(jù)請(qǐng)求時(shí)提供相關(guān)流媒體數(shù)據(jù)。流媒體數(shù)據(jù)解碼與回放模塊在解碼時(shí)通常支持一定程度的容錯(cuò)性,也就是說,如果接收到的數(shù)據(jù)有一定程度的失真或損失,解碼器具備修復(fù)或部分修復(fù)數(shù)據(jù)的能力。因此,當(dāng)一個(gè)基本窗口的最遲提交時(shí)刻到來時(shí),如果仍然有部分該窗口所屬的數(shù)據(jù)分片未能到達(dá),則數(shù)據(jù)緩存仍然可以提交該不完整基本窗口中的數(shù)據(jù)給流媒體解碼器。這樣可以最大限度的利用已有的數(shù)據(jù)資源,盡量提高流媒體的回放質(zhì)量。本領(lǐng)域的技術(shù)人員在不脫離權(quán)利要求書確定的本發(fā)明的精神和范圍的條件下,還可以對(duì)以上內(nèi)容進(jìn)行各種各樣的修改。因此本發(fā)明的范圍并不僅限于以上的說明,而是由權(quán)利要求書的范圍來確定的。
權(quán)利要求
1.一種流媒體數(shù)據(jù)的控制系統(tǒng),其特征在于,包括預(yù)處理模塊,接收客戶端發(fā)送的數(shù)據(jù)分片請(qǐng)求信息,用戶節(jié)點(diǎn)建立滑動(dòng)窗口 ;分配模塊,根據(jù)所述數(shù)據(jù)分片請(qǐng)求信息分配屬于滑動(dòng)窗口內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù);控制處理模塊,確定該數(shù)據(jù)分片請(qǐng)求信息對(duì)應(yīng)的流媒體數(shù)據(jù),用戶節(jié)點(diǎn)提交所述流媒體數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放,直至流媒體數(shù)據(jù)下載完畢或用戶節(jié)點(diǎn)終止流媒體的數(shù)據(jù)控制過程。
2.如權(quán)利要求1所述的流媒體數(shù)據(jù)的控制系統(tǒng),其特征在于,所述控制系統(tǒng)還包括分割標(biāo)識(shí)模塊,用戶節(jié)點(diǎn)將流媒體數(shù)據(jù)分成多個(gè)數(shù)據(jù)塊,并賦予不同標(biāo)識(shí)進(jìn)行緩存; 任務(wù)處理模塊,根據(jù)各鄰居節(jié)點(diǎn)的數(shù)據(jù)分片資源信息,分配屬于初始化緩沖區(qū)內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn);控制播放模塊,當(dāng)初始化緩沖區(qū)被填滿后,用戶節(jié)點(diǎn)提交緩沖區(qū)中的數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放。
3.如權(quán)利要求1或2所述的流媒體數(shù)據(jù)交換系統(tǒng),其特征在于,滑動(dòng)窗口包含多個(gè)基本窗口,所述基本窗口包含多個(gè)數(shù)據(jù)片空間。
4.如權(quán)利要求3所述的流媒體數(shù)據(jù)交換系統(tǒng),其特征在于,預(yù)處理模塊中,用戶節(jié)點(diǎn)還根據(jù)網(wǎng)絡(luò)可用帶寬周期性地調(diào)整滑動(dòng)窗口的大小。
5.如權(quán)利要求3所述的流媒體數(shù)據(jù)交換系統(tǒng),其特征在于,用戶節(jié)點(diǎn)還周期性將本地存儲(chǔ)的數(shù)據(jù)分片信息廣播給鄰居節(jié)點(diǎn),以方便鄰居節(jié)點(diǎn)調(diào)度數(shù)據(jù)分片下載任務(wù)。
6.一種流媒體數(shù)據(jù)的控制方法,其特征在于,包括步驟1,接收客戶端發(fā)送的數(shù)據(jù)分片請(qǐng)求信息,用戶節(jié)點(diǎn)建立滑動(dòng)窗口 ;步驟2,根據(jù)所述數(shù)據(jù)分片請(qǐng)求信息分配屬于滑動(dòng)窗口內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù);步驟3,確定該數(shù)據(jù)分片請(qǐng)求信息對(duì)應(yīng)的流媒體數(shù)據(jù),用戶節(jié)點(diǎn)提交所述流媒體數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放,直至流媒體數(shù)據(jù)下載完畢或用戶節(jié)點(diǎn)終止流媒體的數(shù)據(jù)控制過程。
7.如權(quán)利要求1所述的流媒體數(shù)據(jù)的控制方法,其特征在于,在步驟I之前還包括 步驟5,用戶節(jié)點(diǎn)將流媒體數(shù)據(jù)分成多個(gè)數(shù)據(jù)塊,并賦予不同標(biāo)識(shí)進(jìn)行緩存;步驟6,根據(jù)各鄰居節(jié)點(diǎn)的數(shù)據(jù)分片資源信息,分配屬于初始化緩沖區(qū)內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù)給一個(gè)或多個(gè)鄰居節(jié)點(diǎn);步驟7,當(dāng)初始化緩沖區(qū)被填滿后,用戶節(jié)點(diǎn)提交緩沖區(qū)中的數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放。
8.如權(quán)利要求6或7所述的流媒體數(shù)據(jù)交換方法,其特征在于,滑動(dòng)窗口包含多個(gè)基本窗口,所述基本窗口包含多個(gè)數(shù)據(jù)片空間。
9.如權(quán)利要求8所述的流媒體數(shù)據(jù)交換方法,其特征在于,步驟I中,用戶節(jié)點(diǎn)還根據(jù)網(wǎng)絡(luò)可用帶寬周期性地調(diào)整滑動(dòng)窗口的大小。
10.如權(quán)利要求8所述的流媒體數(shù)據(jù)交換方法,其特征在于,用戶節(jié)點(diǎn)還周期性將本地存儲(chǔ)的數(shù)據(jù)分片信息廣播給鄰居節(jié)點(diǎn),以方便鄰居節(jié)點(diǎn)調(diào)度數(shù)據(jù)分片下載任務(wù)。
全文摘要
本發(fā)明涉及一種流媒體數(shù)據(jù)的控制系統(tǒng)及其方法。該流媒體數(shù)據(jù)交換方法包括步驟1,接收客戶端發(fā)送的數(shù)據(jù)分片請(qǐng)求信息,用戶節(jié)點(diǎn)建立滑動(dòng)窗口;步驟2,根據(jù)所述數(shù)據(jù)分片請(qǐng)求信息分配屬于滑動(dòng)窗口內(nèi)的流媒體數(shù)據(jù)分片下載任務(wù);步驟3,確定該數(shù)據(jù)分片請(qǐng)求信息對(duì)應(yīng)的流媒體數(shù)據(jù),用戶節(jié)點(diǎn)提交所述流媒體數(shù)據(jù)給流媒體數(shù)據(jù)解碼與回放模塊以進(jìn)行播放,直至流媒體數(shù)據(jù)下載完畢或用戶節(jié)點(diǎn)終止流媒體的數(shù)據(jù)控制過程。本發(fā)明能為流媒體數(shù)據(jù)交換提供高效的數(shù)據(jù)分片下載調(diào)度方法,提高流媒體終端的回放質(zhì)量,提高終端用戶的滿意度。
文檔編號(hào)H04L12/811GK103051556SQ20121058334
公開日2013年4月17日 申請(qǐng)日期2012年12月28日 優(yōu)先權(quán)日2012年12月28日
發(fā)明者李偉忠, 楊磊 申請(qǐng)人:青島愛維互動(dòng)信息技術(shù)有限公司