專利名稱:數(shù)據(jù)接收/發(fā)送終端、裝置、方法及機(jī)頂盒的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)中的數(shù)據(jù)接收/發(fā)送終端、裝置、方法及機(jī)頂盒,尤其涉及 基于P2P的流媒體文件傳輸系統(tǒng)。
背景技術(shù):
將P2P技術(shù)和流媒體應(yīng)用相結(jié)合是當(dāng)前研究熱點(diǎn)之一,P2P系統(tǒng)的最大優(yōu)點(diǎn)是使 得用戶能夠有效的利用網(wǎng)絡(luò)中的資源,這些資源包括數(shù)據(jù)資源、帶寬資源、還包括計(jì)算 資源。所以這使得P2P系統(tǒng)中幾乎沒有原來C/S模式的瓶頸,有著很好的可擴(kuò)展性。在 P2P模型中,每一個(gè)節(jié)點(diǎn)(Peer)同時(shí)扮演了兩種角色,既是客戶端又是服務(wù)器,作為客 戶端能夠向其他節(jié)點(diǎn)查詢和請求所需要的服務(wù),作為服務(wù)器能夠提供服務(wù)給其他節(jié)點(diǎn)。由于具備傳輸速度快、帶寬利用率高等特點(diǎn),采用MFTP(Multiple File Transfer Protocol 多文件傳送協(xié)議)多源下載技術(shù)的BT (基于BitTorrent協(xié)議比特洪流協(xié)議)、 電騾(eMule協(xié)議)等P2P應(yīng)用軟件如今已經(jīng)在網(wǎng)絡(luò)上廣為流行。MFTP多源下載技術(shù)的 核心包括1)將資源文件分割成等長的分片(piece),以便標(biāo)記和處理;2)節(jié)點(diǎn)之間必須互相了解對方都有哪些分片,以便互通有無,達(dá)到邊下載邊上 傳的目的;3)節(jié)點(diǎn)在收到一個(gè)分片后需要校驗(yàn)該分片是否正確。在BT軟件中,節(jié)點(diǎn)通過名為“種子”(Torrent)的文件來獲得文件的整體描述 以及其中每個(gè)分片的校驗(yàn)碼;電騾中,節(jié)點(diǎn)在下載分片的同時(shí)從其他節(jié)點(diǎn)出得到該分片 的校驗(yàn)碼。點(diǎn)播流媒體文件需要邊下載邊播放。雖然BT、電騾等能夠?qū)崿F(xiàn)高速的文件下 載,但其對文件的所有分片(包括文件控制信息所在的控制信息分片)實(shí)施亂序下載,故 無法支持媒體文件的邊下載邊播放,節(jié)點(diǎn)也就只能在完整下載該媒體文件后才可以對其 進(jìn)行播放。公開號(hào)為“200710062866.5”的專利申請了一種基于P2P協(xié)議的媒體文件點(diǎn)播 控制方法和裝置,該裝置為P2P網(wǎng)絡(luò)中的接收端,它根據(jù)各個(gè)片的緊急程度(距離當(dāng)前播 放片的時(shí)間)定義優(yōu)先級,時(shí)間緊急度越高的片優(yōu)先級越高,然后優(yōu)先請求優(yōu)先級最高 的片。該發(fā)明通過總是優(yōu)先地下載媒體文件多個(gè)數(shù)據(jù)分片中靠近播放位置的數(shù)據(jù)分片, 在P2P協(xié)議下實(shí)現(xiàn)了媒體文件的下載、播放同時(shí)進(jìn)行。上述技術(shù)雖然在一定程度上實(shí)現(xiàn)了邊下載邊播放,但卻存在以下缺點(diǎn)即,接 收端只發(fā)送所請求片的片號(hào),而發(fā)送端可能同時(shí)收到來自多個(gè)接收端的請求,對于這些 請求,發(fā)送端不能判斷緊急程度,因此不能按照這些請求的緊急程度來響應(yīng)。這可能會(huì) 引起視頻點(diǎn)播中的延遲。可見,目前P2P中還沒有發(fā)送端根據(jù)接收端請求數(shù)據(jù)的緊急程度決定其響應(yīng)順 序的技術(shù)。
發(fā)明內(nèi)容
為了優(yōu)化P2P網(wǎng)絡(luò)中的數(shù)據(jù)傳輸,減少點(diǎn)播時(shí)間的延遲,本發(fā)明提供了一種應(yīng) 用于P2P點(diǎn)播中的數(shù)據(jù)傳輸系統(tǒng)和方法,該系統(tǒng)和方法以數(shù)據(jù)的緊急程度(即該數(shù)據(jù)距離 被播放的時(shí)間)作為數(shù)據(jù)傳送的優(yōu)先級準(zhǔn)則,最緊急的數(shù)據(jù)將被優(yōu)先傳送。本發(fā)明提供了一種應(yīng)用于P2P點(diǎn)播中的數(shù)據(jù)傳輸系統(tǒng),該系統(tǒng)包括一個(gè)P2P服 務(wù)器和多個(gè)客戶端,其中客戶端既是數(shù)據(jù)接收端又是數(shù)據(jù)發(fā)送端。接收端在向發(fā)送端發(fā) 送請求數(shù)據(jù)時(shí)的同時(shí)發(fā)送代表該數(shù)據(jù)優(yōu)先級的參數(shù),所請求的數(shù)據(jù)可以是片,也可以是 幀,代表該數(shù)據(jù)優(yōu)先級的參數(shù)可以但不局限于接收端正在播放的位置、被請求數(shù)據(jù)距離 被播放的時(shí)間、被請求數(shù)據(jù)即將被播放的時(shí)間、被請求數(shù)據(jù)的ID (片號(hào)或幀號(hào))與正在播 放數(shù)據(jù)ID(片號(hào)或幀號(hào))的差值、優(yōu)先級級別等。發(fā)送端根據(jù)接收端請求的數(shù)據(jù)及代表該數(shù)據(jù)優(yōu)先級的參數(shù)對所接收到的請求進(jìn) 行優(yōu)先級排序,并按照優(yōu)先級順序進(jìn)行響應(yīng),最高優(yōu)先級的數(shù)據(jù)請求將被首先響應(yīng)。根據(jù)本發(fā)明的裝置與方法,可以提高P2P網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)男剩瑴p少視頻點(diǎn) 播中的等待時(shí)間。
圖IA為本發(fā)明中P2P網(wǎng)絡(luò)的系統(tǒng)構(gòu)成圖;圖IB是本發(fā)明中C/S網(wǎng)絡(luò)的系統(tǒng)構(gòu)成圖;圖2A為本發(fā)明的應(yīng)用于P2P系統(tǒng)中的視頻結(jié)構(gòu)示意圖;圖2B是本發(fā)明的應(yīng)用于C/S系統(tǒng)中的視頻結(jié)構(gòu)示意圖;圖3A為本發(fā)明的接收端的結(jié)構(gòu)示意圖;圖3B為本發(fā)明的發(fā)送端的結(jié)構(gòu)示意圖;圖4A是本發(fā)明的接收端為機(jī)頂盒的系統(tǒng)結(jié)構(gòu)示意圖;圖4B是本發(fā)明的發(fā)送端為機(jī)頂盒的系統(tǒng)結(jié)構(gòu)示意圖;圖5A為本發(fā)明的“幀 <-> 片”對應(yīng)表的示意圖;圖5B為本發(fā)明的“幀 <-> 包”對應(yīng)表的示意圖;圖6為本發(fā)明的優(yōu)先級級別定義表的示意圖;圖7為本發(fā)明的請求管理表的示意圖;圖8A為BitTorrent協(xié)議中請求信息的數(shù)據(jù)格式;圖8B是本發(fā)明中請求信息的數(shù)據(jù)格式;圖9是本發(fā)明的接收端的工作流程圖;圖10是本發(fā)明的發(fā)送端的工作流程圖。
具體實(shí)施例方式下面參考實(shí)施例對本發(fā)明的具體實(shí)施方式
進(jìn)行說明圖IA是本發(fā)明的P2P網(wǎng)絡(luò)的系統(tǒng)構(gòu)成圖,該系統(tǒng)包括P2P服務(wù)器100,用于 提供客戶端對數(shù)據(jù)內(nèi)容的擁有信息;客戶端裝置200、300、400等,以P2P的方式點(diǎn)播視 頻文件并在線觀看,在從其他客戶端下載數(shù)據(jù)的同時(shí)為其他客戶端上載數(shù)據(jù)。
圖IB是本發(fā)明的C/S網(wǎng)絡(luò)的系統(tǒng)構(gòu)成圖,該系統(tǒng)包括C/S服務(wù)器100’,用 于為客戶端提供視頻內(nèi)容;客戶端裝置200’、300’、400’等,以C/S的方式點(diǎn)播視
頻文件并在線觀看。圖2A是本發(fā)明的應(yīng)用于P2P系統(tǒng)中的視頻結(jié)構(gòu)示意圖,視頻文件P被分為大小 相等的N個(gè)片,PI、P2...Pn,其中Pc為該視頻文件P在接收端中的當(dāng)前播放位置,Pr 為該接收端正在請求的片,其中每個(gè)片由不固定數(shù)量的一組幀組成,如PO包括幀F(xiàn)0、 Fl...Fa。圖2B是本發(fā)明的應(yīng)用C/S系統(tǒng)中的視頻結(jié)構(gòu)示意圖,視頻文件I被分為大小相 等或不等的N個(gè)數(shù)據(jù)包,II、I2...In,其中Ic為該視頻文件I在接收端中的當(dāng)前播放位 置,Ir為該接收端正在請求的包,其中每個(gè)數(shù)據(jù)包由不固定數(shù)量的一組幀組成,如IO包 括幀 F0、Fl...Fa。圖3A是本發(fā)明的接收端的結(jié)構(gòu)示意圖,包括數(shù)據(jù)接收單元301,用于接收從 發(fā)送端發(fā)送的數(shù)據(jù);數(shù)據(jù)播放單元302,用于播放視頻數(shù)據(jù);播放位置獲取單元303,用 于獲取視頻數(shù)據(jù)的當(dāng)前播放數(shù)據(jù)的ID(片號(hào)或幀號(hào));請求數(shù)據(jù)獲取單元304,用于獲取 待請求的數(shù)據(jù)ID(片號(hào)或幀號(hào));緊急度信息生成單元305,用于根據(jù)請求數(shù)據(jù)獲取單元 304獲取的待請求數(shù)據(jù)ID(片號(hào)或幀號(hào))以及當(dāng)前播放位置獲取單元303獲取的當(dāng)前播放 位置(片號(hào)或幀號(hào))計(jì)算待請求數(shù)據(jù)的緊急度信息;請求發(fā)送單元306,用于發(fā)送請求數(shù) 據(jù)ID (片號(hào)或幀號(hào))及其緊急度信息到相應(yīng)發(fā)送端;存儲(chǔ)單元307,用于存儲(chǔ)計(jì)算緊急度 信息所需的信息,如“幀 <-> 片”對應(yīng)表圖5A和優(yōu)先級級別定義表圖6。圖3B是本發(fā)明的發(fā)送端的結(jié)構(gòu)示意圖,包括請求獲取單元401,用于獲取 從接收端發(fā)送的數(shù)據(jù)請求;請求管理單元402,用于管理請求管理表;優(yōu)先級計(jì)算單元 403,用于根據(jù)從接收端收到的請求信息中包含的緊急度信息計(jì)算數(shù)據(jù)請求的優(yōu)先級,并 根據(jù)該優(yōu)先級的計(jì)算結(jié)果由請求管理單元402對數(shù)據(jù)請求信息進(jìn)行管理;數(shù)據(jù)發(fā)送單元 404,用于發(fā)送請求數(shù)據(jù)到接收端;存儲(chǔ)單元405,用于存儲(chǔ)視頻數(shù)據(jù)及后述的請求管理 表圖7。圖4A是本發(fā)明的接收端為機(jī)頂盒的系統(tǒng)結(jié)構(gòu)示意圖,包括數(shù)據(jù)接收單元 301’,用于接收從發(fā)送端發(fā)送的數(shù)據(jù);解調(diào)單元302’,用于解調(diào)接收到的音視頻數(shù) 據(jù);解碼單元303’,用于解碼音視頻數(shù)據(jù);音視頻處理單元304’,用于分離音視頻數(shù) 據(jù);輸出單元305’,用于將音視頻數(shù)據(jù)輸出給播放設(shè)備;存儲(chǔ)單元306,用于存儲(chǔ)接 收到的音視頻數(shù)據(jù)、存儲(chǔ)緊急度信息所需的信息,如“幀 <一> 片”對應(yīng)表圖5A和優(yōu) 先級級別定義表圖6;請求數(shù)據(jù)獲取單元307’,用于根據(jù)存儲(chǔ)單元306’中已下載的的 數(shù)據(jù)來獲取待請求的數(shù)據(jù)ID(片號(hào)或幀號(hào));播放位置獲取單元308’,用于根據(jù)輸出單 元305’的視頻輸出信息獲取當(dāng)前視頻播放位置(片號(hào)或幀號(hào));緊急度信息生成單元 309’,用于根據(jù)請求數(shù)據(jù)獲取單元307’獲取的待請求數(shù)據(jù)ID(片號(hào)或幀號(hào))以及當(dāng)前 播放位置獲取單元308’獲取的當(dāng)前播放位置(片號(hào)或幀號(hào))計(jì)算待請求數(shù)據(jù)的緊急度信 息;請求發(fā)送單元3010’,用于發(fā)送請求數(shù)據(jù)ID(片號(hào)或幀號(hào))及其緊急度信息到相應(yīng) 發(fā)送端。圖4B是本發(fā)明的終端為機(jī)頂盒的系統(tǒng)結(jié)構(gòu)示意圖,包括數(shù)據(jù)接收單元 401,,用于接收從發(fā)送端發(fā)送的數(shù)據(jù);解調(diào)單元402,,用于解調(diào)接收到的音視頻數(shù)據(jù);解碼單元403’,用于解碼音視頻數(shù)據(jù);音視頻處理單元404’,用于分離音視頻數(shù) 據(jù);輸出單元405’,用于將音視頻數(shù)據(jù)輸出給播放設(shè)備;存儲(chǔ)單元406’,用于存儲(chǔ)視 頻數(shù)據(jù)及請求管理表圖7;請求接收單元407’,用于獲取從接收端發(fā)送的數(shù)據(jù)請求;請 求管理單元408’,用于管理請求管理表,;優(yōu)先級計(jì)算單元409’,根據(jù)從其他機(jī)頂盒 接收到的請求信息中包含的緊急度信息計(jì)算數(shù)據(jù)請求的優(yōu)先級,并根據(jù)該優(yōu)先級計(jì)算的 結(jié)果由請求管理單元408’對接收到的數(shù)據(jù)請求信息進(jìn)行管理;數(shù)據(jù)發(fā)送單元4010’, 用于發(fā)送請求數(shù)據(jù)到接收端。圖5A是本發(fā)明的P2P系統(tǒng)中的“幀 <-> 片”對應(yīng)表,包括幀501,片502,
表示幀與片的對應(yīng)關(guān)系。圖5B是本發(fā)明的C/S系統(tǒng)中的“幀 <-> 包”對應(yīng)表,包括幀501’,數(shù)據(jù)包 502’,表示幀與數(shù)據(jù)包的對應(yīng)關(guān)系。圖6是本發(fā)明的優(yōu)先級級別定義表的示意圖,該表根據(jù)表示了片距離被播放的 時(shí)間Tr與優(yōu)先級級別的對應(yīng)關(guān)系,包括Tr 601和PL 602。圖7是本發(fā)明的請求管理表,包括接收端701,請求數(shù)據(jù)702,緊急度信息703, 優(yōu)先級704。圖8A是BitTorrent協(xié)議中接收端請求信息的數(shù)據(jù)結(jié)構(gòu),包括片號(hào)801,塊內(nèi)偏移 位置802,請求長度803。圖8B是本發(fā)明的接收端請求信息的數(shù)據(jù)結(jié)構(gòu),包括片號(hào)801’,片內(nèi)偏移位置 802,,請求長度803,和緊急度信息804,。圖9是本發(fā)明的接收端的工作流程圖。圖10是本發(fā)明的發(fā)送端的工作流程圖。緊急度信息生成單元303將Pr以及其優(yōu)先級信息Trl發(fā)送到請求發(fā)送單元306, 請求發(fā)送單元306將請求(Pr,Trl)發(fā)送到相應(yīng)發(fā)送端。實(shí)施例一本實(shí)施例參照圖3A、圖5A、圖9對P2P系統(tǒng)中接收端進(jìn)行詳細(xì)說明,其中請求 的數(shù)據(jù)為片,緊急度信息為當(dāng)前播放時(shí)間到播放請求片播放時(shí)間的絕對時(shí)間。所謂絕對 時(shí)間,是指請求片被播放的時(shí)刻距離發(fā)出請求時(shí)刻的時(shí)間。圖3A是接收端的結(jié)構(gòu)示意圖,該接收端工作于圖IA所示的P2P網(wǎng)絡(luò)結(jié)構(gòu)中。數(shù)據(jù)接收單元301接收從其他客戶端(發(fā)送端)傳來的音視頻數(shù)據(jù),數(shù)據(jù)播放單 元302播放音視頻數(shù)據(jù),播放位置獲取單元303獲取數(shù)據(jù)播放單元302正在播放的幀F(xiàn)e, 并傳送到緊急度信息生成單元305 ;請求數(shù)據(jù)獲取單元304根據(jù)存儲(chǔ)單元中數(shù)據(jù)的下載情 況獲取要請求的片Pr,并將Pr傳送到緊急度信息生成單元305;本實(shí)施里緊急度信息PP 為當(dāng)前播放的片距離請求片被播放的時(shí)間,因此緊急度信息生成單元305需要獲取當(dāng)前 播放時(shí)間Tc并根據(jù)當(dāng)前播放幀F(xiàn)c和請求片Pr計(jì)算請求片Pr的播放時(shí)間,具體計(jì)算方法 為緊急度信息生成單元305查詢存儲(chǔ)在存儲(chǔ)單元307中的“幀 <一> 片,,對應(yīng)表, 如圖5A所示,根據(jù)幀501和片502的對應(yīng)關(guān)系查找到Pr所對應(yīng)的幀為(Fi,F(xiàn)j),即片Pr 中首先被播放的幀為Fi,因此Pr距離被播放的時(shí)間Twl可以得到Twl = (Fi-Fc)/fr,其中fr為接收端每秒鐘播放的幀數(shù),一般為25幀/s。
由此可以得到緊急度信息為(Twl)為“(15s)”。緊急度信息生成單元305將 該緊急度信息(15s),加入到數(shù)據(jù)請求信息。以往,例如BitTorrent協(xié)議中將文件劃分為片,在請求數(shù)據(jù)時(shí)可能直接請求一個(gè) 片,也可能把片進(jìn)一步劃分為更小的slice,以slice為單位進(jìn)行請求??蛻舳酥罢埱髷?shù) 據(jù)時(shí)發(fā)送的請求格式為(Pr,Begin, Length),其中Pr是片號(hào),Begin是片內(nèi)偏移地址, Length是數(shù)據(jù)長度。本發(fā)明專利中只討論以片為單位請求的情況,因此片內(nèi)偏移地址為 0,length即片的長度。因此,該生成的數(shù)據(jù)請求信息的形式可以為(Pr,0,length, Twl),在生成數(shù) 據(jù)請求信息后,由請求發(fā)送單元306發(fā)送到發(fā)送端。變形例一與實(shí)施例一相同,本實(shí)施例同樣對P2P系統(tǒng)中的接收端進(jìn)行詳細(xì)說明,其中請 求的數(shù)據(jù)為片,不同的是,緊急度信息PP為請求片即將被播放的時(shí)刻Tp。沿用實(shí)施例一中的例子,如請求的片為Pr,當(dāng)前時(shí)刻(即,系統(tǒng)時(shí)間)為16時(shí) 00分,距離該請求片被播放的時(shí)間為15s,則該片被播放的時(shí)刻為16時(shí)00分15秒,因 此將請求片Pr和緊急度信息Tpl “(16時(shí)00分15秒)”加入到數(shù)據(jù)請求信息,此時(shí)該 數(shù)據(jù)請求信息的形式例如為(Pr,0,length, Tpl)。在生成數(shù)據(jù)請求信息后發(fā)送到發(fā)送 端。在接收發(fā)送系統(tǒng)中,能夠由發(fā)送端確定該請求片距離被播放時(shí)刻的具體時(shí)間, 接收端能夠及時(shí)得到該請求片的數(shù)據(jù)。變形例二與實(shí)施例一相同,本實(shí)施例同樣對P2P系統(tǒng)中的接收端進(jìn)行詳細(xì)說明,其中請 求的數(shù)據(jù)為片,不同的是,緊急度信息PP為接收端請求片與當(dāng)前播放片的ID差值。本 實(shí)施例相對于實(shí)施例一降低了請求數(shù)據(jù)緊急程度的精度,但是同時(shí)也降低了接收端關(guān)于 緊急度信息PP的計(jì)算量。以下參照圖3A、圖5A進(jìn)行說明。如圖2A所示,視頻文件P被分為大小相等的N個(gè)片。假設(shè)接收端當(dāng)前播放片 為Pc,請求片為Pr。如圖3A所示,播放位置獲取單元303獲取當(dāng)前播放片Pc,并傳送 到緊急度信息生成單元305 ;請求數(shù)據(jù)獲取單元304獲取請求片Pr,并將Pr傳送到緊急 度信息生成單元305;由于本實(shí)施例中緊急度信息為請求片與當(dāng)前播放片的ID差值,因 此緊急度信息生成單元305計(jì)算緊急度信息PP = Pr-Pc,然后將緊急度信息PP (Pr-Pc)加 入到數(shù)據(jù)請求信息中,該生成的數(shù)據(jù)請求信息的形式可以如(Pr,0,length, Pr-Pc)。然 后由請求發(fā)送單元306發(fā)送數(shù)據(jù)請求。變形例三與實(shí)施例一相同,本實(shí)施例同樣選擇P2P系統(tǒng)中的接收端進(jìn)行詳細(xì)說明,其中 請求的數(shù)據(jù)為片,不同的是,在網(wǎng)絡(luò)協(xié)議的支持下,接收端還能夠直接根據(jù)當(dāng)前播放片 和請求片的信息(時(shí)間或位置等)來確定請求片的優(yōu)先級級別,因此緊急度信息PP可 以是優(yōu)先級級別,該優(yōu)先級級別也是根據(jù)當(dāng)前播放片和請求片的信息得到的。如圖6所 示,優(yōu)先級級別為P2P系統(tǒng)根據(jù)請求數(shù)據(jù)距離被播放的時(shí)間定義的優(yōu)先等級。本實(shí)施例 相對于實(shí)施例一對請求數(shù)據(jù)的優(yōu)先級進(jìn)行歸類,降低了請求數(shù)據(jù)的優(yōu)先級級別,大大簡化了數(shù)據(jù)發(fā)送端的處理。以下參照圖3A、圖5A、圖6對接收端進(jìn)行說明。如圖3A所示,播放位置獲取單元301獲取當(dāng)前播放幀F(xiàn)e,并傳送到緊急度信息 生成單元305;請求數(shù)據(jù)獲取單元獲取要請求的片Pr,并將Pr傳送到緊急度信息生成單 元305;本實(shí)施例中緊急度信息PP為優(yōu)先級級別,緊急度信息生成單元305需要首先根 據(jù)當(dāng)前播放幀F(xiàn)c和請求片Pr計(jì)算請求片Pr距離被播放的時(shí)間Trl,具體計(jì)算方法為緊急度信息生成單元305查詢存儲(chǔ)在存儲(chǔ)單元307中的“幀 <一> 片”對應(yīng)表, 如圖5A所示,根據(jù)幀501和片502的對應(yīng)關(guān)系查找到Pr所對應(yīng)的幀為(Fi,F(xiàn)j),即片Pr 中首先被播放的幀為Fi,因此Pr距離被播放的時(shí)間Trl可以得到Trl = (Fi-Fc)/fr,其中fr為接收端每秒鐘播放的幀數(shù),一般為25幀/s。計(jì)算得出Trl后,緊急度信息生成單元進(jìn)一步查詢優(yōu)先級級別定義表圖6,假設(shè) Trl = 15s,從圖6中可查出,Trl在區(qū)間(IOs 30s)的對應(yīng)的優(yōu)先級級別PL = 3 ;緊急度信息生成單元303根據(jù)Pr以及其優(yōu)先級級別PL生成請求信息(Pr,0, length, PL),并由請求發(fā)送單元304發(fā)送到相應(yīng)發(fā)送端進(jìn)行數(shù)據(jù)請求。實(shí)施例二與實(shí)施例一相同,本實(shí)施例同樣選擇P2P系統(tǒng)中的接收端進(jìn)行詳細(xì)說明,其中 請求的數(shù)據(jù)為片,緊急度信息為當(dāng)前時(shí)刻距離播放被請求片的時(shí)刻的時(shí)間。與實(shí)施例一 不同的是,本實(shí)施例中,接收端是具有P2P功能的機(jī)頂盒。本實(shí)施例參照圖4A、圖5A對P2P系統(tǒng)中接收端進(jìn)行詳細(xì)說明。在本實(shí)施例中,機(jī)頂盒的數(shù)據(jù)下載是以P2P方式進(jìn)行的。其工作過程為數(shù)據(jù)接收單元301’,用于接收從發(fā)送端發(fā)送的數(shù)據(jù);解調(diào)單元302’,用于 解調(diào)接收到的音視頻數(shù)據(jù);解碼單元303’,用于解碼音視頻數(shù)據(jù);音視頻處理單元 304’,用于分離音視頻數(shù)據(jù);輸出單元305’,用于將音視頻數(shù)據(jù)輸出給播放設(shè)備; 存儲(chǔ)單元306’,用于存儲(chǔ)接收到的音視頻數(shù)據(jù)、計(jì)算緊急度所需的信息,如“幀<一> 片,,對應(yīng)表圖5A和優(yōu)先級級別定義表圖6;請求數(shù)據(jù)獲取單元307’,用于根據(jù)存儲(chǔ)單 元306’中已下載的的數(shù)據(jù)來獲取待請求的片的片號(hào)Pr,并將Pr傳送到緊急度信息生成 單元309’ ;播放位置獲取單元308’根據(jù)輸出單元305’正在輸出的數(shù)據(jù)獲取當(dāng)前向顯 示設(shè)備輸出的幀的幀號(hào)Fe,并傳送到緊急度信息生成單元309’ ;本實(shí)施例中緊急度信息 PP為當(dāng)前時(shí)刻和片距離被播放的時(shí)間,因此緊急度信息生成單元309’需要獲取當(dāng)前時(shí) 刻Tc并根據(jù)當(dāng)前播放幀F(xiàn)c和請求片Pr計(jì)算該請求片Pr距離被播放的時(shí)間Twl,具體計(jì) 算方法為緊急度信息生成單元309’查詢存儲(chǔ)在存儲(chǔ)單元307中的“幀 <一> 片”對應(yīng) 表,如圖5A所示,根據(jù)幀301和片302的對應(yīng)關(guān)系查找到Pr所對應(yīng)的幀為(Fi,F(xiàn)j),即 片Pr中首先被播放的幀為Fi,因此Pr距離被播放的時(shí)間Twl可以得到Twl = (Fi-Fc)/fr,其中fr為接收端每秒鐘播放的幀數(shù),一般為25幀/s。由此可以得到緊急度信息Twl,如請求片距離被播放的時(shí)間為15秒,則緊急度 信息為“(15s)”。緊急度信息生成單元305將Pr以及其緊急度信息“(15s)”,在數(shù)據(jù) 請求信息中加入該緊急度信息。BitTorrent協(xié)議中將文件劃分為片,在請求數(shù)據(jù)時(shí)可能直接請求一個(gè)片,也可能把片進(jìn)一步劃分為更小的slice(片段),以slice為單位進(jìn)行請求??蛻舳酥罢埱髷?shù)據(jù) 時(shí)發(fā)送的請求格式為(Pr,Begin, Length),其中Pr是片號(hào),Begin是片內(nèi)偏移地址, Length是數(shù)據(jù)長度。本發(fā)明專利中只討論以片為單位請求的情況,因此片內(nèi)偏移地址為 0,length即片的長度。因此,該數(shù)據(jù)請求信息的形式可以為(Pr,0,length, Twl),生成數(shù)據(jù)請求信 息后,由上述請求發(fā)送單元306發(fā)送到發(fā)送端,。實(shí)施例三本實(shí)施例參考圖3A對P2P系統(tǒng)中的接收端進(jìn)行詳細(xì)說明,其中請求的數(shù)據(jù)為 幀,緊急度信息PP為該幀距離被播放的時(shí)間,作為緊急度信息也可變化為請求幀與當(dāng)前 播放幀的ID差值、優(yōu)先級級別,同實(shí)施例一的兩個(gè)變形例。如圖3A所示,播放位置獲取單元303獲取當(dāng)前播放幀F(xiàn)e,并傳送到緊急度信息 生成單元305;請求數(shù)據(jù)獲取單元獲取要請求的幀F(xiàn)r,并將Fr傳送到緊急度信息生成單 元305;本實(shí)施例中緊急度信息為請求片距離被播放的時(shí)間,因此緊急度信息生成單元 305需要根據(jù)當(dāng)前播放幀F(xiàn)c和請求片F(xiàn)r,計(jì)算請求片F(xiàn)r距離被播放的時(shí)間,具體計(jì)算方 法為Tr = (Fr-Fcl)/fr,其中fr為接收端每秒鐘播放的幀數(shù),一般為25幀/s。緊急度信息生成單元203,在根據(jù)Fr以及其緊急度信息Tr生成數(shù)據(jù)請求信息 后,由請求發(fā)送單元304發(fā)送到發(fā)送端,進(jìn)行數(shù)據(jù)請求。實(shí)施例四本發(fā)明同樣可以適用于C/S系統(tǒng)。在C/S系統(tǒng)中(如圖1B),客戶端為數(shù)據(jù)的 接收端,C/S服務(wù)器為發(fā)送端,流媒體服務(wù)采用流媒體協(xié)議如RTP進(jìn)行數(shù)據(jù)傳輸,在流 媒體協(xié)議中,數(shù)據(jù)按照其時(shí)間順序被分為一個(gè)個(gè)的數(shù)據(jù)包,數(shù)據(jù)以包為單位進(jìn)行傳輸。 如圖2B所示,視頻文件I被分為η個(gè)數(shù)據(jù)包,這些包可能大小相等也可能不等,每個(gè)數(shù) 據(jù)包包括一定數(shù)量的幀。本實(shí)施例參照圖3Α對C/S系統(tǒng)中的客戶端進(jìn)行詳細(xì)說明,其中請求的數(shù)據(jù)為 幀,緊急度信息PP為該幀距離被播放的時(shí)間(緊急度信息也可變化為請求幀與當(dāng)前播放 幀的ID差值、優(yōu)先級級別,同實(shí)施例一的兩個(gè)變形例)。如圖3Α所示,播放位置獲取單元301獲取當(dāng)前播放幀F(xiàn)e,并傳送到緊急度信息 生成單元305;請求數(shù)據(jù)獲取單元獲取要請求的幀F(xiàn)r,并將Fr傳送到緊急度信息生成單 元303;本實(shí)施例中緊急度信息為請求片距離被播放的時(shí)間,因此緊急度信息生成單元 305需要根據(jù)當(dāng)前播放幀F(xiàn)c和請求片F(xiàn)r計(jì)算該請求片F(xiàn)r距離被播放的時(shí)間Trl,具體計(jì) 算方法為Trl = (Fr-Fcl)/fr,其中fr為客戶端每秒鐘播放的幀數(shù),一般為25幀/s。在根據(jù)Frl以及其緊急度信息Trl生成數(shù)據(jù)請求信息后,由發(fā)送單元306發(fā)送到 相應(yīng)的服務(wù)器端。在以上的各實(shí)施例及變形例中,將請求數(shù)據(jù)獲取單元(301、307’),播放位置 獲取單元(302、308’)和緊急度信息生成單元(305、309’)分開進(jìn)行了敘述,其目的 是為了使說明更簡單明了,但在實(shí)際應(yīng)用中,能夠由同一處理部進(jìn)行當(dāng)前播放片和請求 片的信息的獲取,以及根據(jù)獲取到的上述信息生成緊急度信息并將其加入到數(shù)據(jù)請求信息中的全部處理。實(shí)施例五本實(shí)施例參考圖3B和圖7對P2P系統(tǒng)中發(fā)送端進(jìn)行詳細(xì)說明,該發(fā)送端接收來 自接收端的數(shù)據(jù)請求信息,并且在數(shù)據(jù)請求信息中包含該接收端的請求片的緊急度信息 PP,該緊急度信息PP為該片距離被播放的絕對時(shí)間。所謂絕對時(shí)間,如上所述,是指在 接收端中請求片被播放的時(shí)刻距離發(fā)出請求時(shí)刻的時(shí)間。參考圖7,發(fā)送端分別從接收端Rl、R2、R3獲取了請求(Pr,0,length, Twl)、(Pr2, 0,length, Tw2)、(Pr3, 0,length, Tw3),以下以(Pr,0,length, Twl)
為例敘述發(fā)送端的工作過程。如圖3B所示,請求獲取單元401獲取從接收端Rl發(fā)送的數(shù)據(jù)請求(Pr,0, length, Twl),并將其傳送到請求管理單元402 ;請求管理單元402將該請求存儲(chǔ)于存儲(chǔ) 單元405中的請求管理表圖7中,如圖,分別將R1、Pr、Twl存入接收端701、請求數(shù)據(jù) 702、緊急度信息703,并將(Pr,0,length, Twl)發(fā)送到優(yōu)先級計(jì)算單元403 ;優(yōu)先級 計(jì)算單元403根據(jù)圖7中的緊急度信息703 —列對該請求進(jìn)行緊急度信息排序,由于Tw 的值越小,代表請求片距離播放時(shí)間越近,因此,Tw越小,則優(yōu)先級越高,在本例中, 假設(shè)TWl < Tw2 < Tw3,則優(yōu)先級為Pr > Pr2 > Pr3, Pr的優(yōu)先級最高,因此優(yōu)先級計(jì) 算單元403設(shè)置表7中Pr的優(yōu)先級704為Pl = 3 ;數(shù)據(jù)發(fā)送單元404從存儲(chǔ)單元405中 的請求管理表中找到優(yōu)先級最高的請求,將其請求的數(shù)據(jù)發(fā)送到相應(yīng)的接收端。同時(shí),請求管理單元402實(shí)時(shí)更新存儲(chǔ)單元405中的請求管理表圖7,具體表示 為,隨著時(shí)間的推移,緊急度信息703 (Tw)會(huì)相應(yīng)減小優(yōu)先級提高。變形例一與實(shí)施例四相同,本實(shí)施例同樣選擇P2P系統(tǒng)中的發(fā)送端進(jìn)行詳細(xì)說明,該發(fā) 送端接收來自接收端的數(shù)據(jù)請求信息,并在數(shù)據(jù)請求信息中包含該接收端的請求片的緊 急度信息PP,不同的是,該緊急度信息PP是請求片被播放的時(shí)刻Tp,即系統(tǒng)時(shí)間。參考圖7,假設(shè)發(fā)送端分別從接收端Rl、R2、R3獲取了請求(Pr,0,length, Tpl)、(Pr2, 0,length, Tp2)、(Pr3, 0,length, Tp3),以下以(Pr,0,length, Tp4) 為例敘述發(fā)送端的工作過程。如圖3Β所示,請求獲取單元401獲取從接收端Rl發(fā)送的數(shù)據(jù)請求(Pr,0, length, Tpl),并將其傳送到請求管理單元402 ;請求管理單元402將該請求存儲(chǔ)于存儲(chǔ) 單元405中的請求管理表圖7中,如圖,分別將R1、Pr、Tpl存入接收端701、請求數(shù) 據(jù)702、緊急度信息703,并將(Pr,0,length, Tpl)發(fā)送到優(yōu)先級計(jì)算單元403 ;優(yōu)先 級計(jì)算單元403根據(jù)圖7中的緊急度信息703 —列對緊急度信息進(jìn)行排序,由于Tpl的值 越小,代表請求片距離播放時(shí)間越近,因此,Tpl越小,則優(yōu)先級越高,在本例中,假設(shè) Tpl < Tp2 < Τρ3,則優(yōu)先級為Pr>Pr2>Pr3,Pr的優(yōu)先級最高,因此優(yōu)先級計(jì)算單元 403設(shè)置表7中Pr的優(yōu)先級704為Pl = 3 ;數(shù)據(jù)發(fā)送單元404從存儲(chǔ)單元405中的請求 管理表中找到優(yōu)先級最高的請求,將其請求的數(shù)據(jù)發(fā)送到相應(yīng)的接收端。同時(shí),請求管理單元402實(shí)時(shí)更新存儲(chǔ)單元405中的請求管理表圖7,具體表示 為,隨著時(shí)間的推移,緊急度信息703的請求片播放時(shí)刻Tp不會(huì)發(fā)生變化,但因排序靠 前,使得優(yōu)先級提高。利用系統(tǒng)時(shí)刻請求片的播放時(shí)刻Tp所謂緊急度信息,能夠減少發(fā)送端的運(yùn)算量變形例二與實(shí)施例四相同,本實(shí)施例同樣選擇P2P系統(tǒng)中的發(fā)送端進(jìn)行詳細(xì)說明,該發(fā) 送端接收來自接收端的數(shù)據(jù)請求信息,并且在數(shù)據(jù)請求信息中包含該接收端的請求片的 緊急度信息PP,不同的是,緊急度信息PP為接收端請求片與當(dāng)前播放片的ID差值。本 實(shí)施例相對于實(shí)施例四降低了請求數(shù)據(jù)緊急程度的精度,但是降低了接收端關(guān)于緊急度 信息PP的計(jì)算量。以下參照圖3B和圖7進(jìn)行說明。參考圖7,假設(shè)發(fā)送端分別從接收端Rl、R2、R3獲取了請求(Pr,0,length, Pr-Pcl)、(Pr2, 0,length, Pr2_Pc2)、(Pr3, 0,length, Pr3-Pc3),以下以(Pr,0, length, Pr-Pcl)為例敘述發(fā)送端的工作過程。如圖3B所示,請求獲取單元401獲取從接收端Rl發(fā)送的數(shù)據(jù)請求(Pr,0, length, Pr-Pcl),并將其傳送到請求管理單元402 ;請求管理單元402將該請求存儲(chǔ)于 存儲(chǔ)單元405中的請求管理表圖7中,如圖,分別將R1、Pr、Pr-Pcl存入接收端701、 請求數(shù)據(jù)702、緊急度信息703,并將(Pr,0,length, Pr-Pcl)發(fā)送到優(yōu)先級計(jì)算單元 403;優(yōu)先級計(jì)算單元403根據(jù)圖7中的緊急度信息703 —列對緊急度信息進(jìn)行排序,由 于Pr-Pc的值越小,代表請求片距離播放時(shí)間越近,因此,Pr-Pc越小,則優(yōu)先級越高, 在本例中,假設(shè)Pr-Pcl < Pr2-Pc2 < Pr3-Pc3,則優(yōu)先級為Pr > Pr2 > Pr3, Pr的優(yōu)先 級最高,因此優(yōu)先級計(jì)算單元403設(shè)置表7中Pr的優(yōu)先級704為Pl = 3 ;數(shù)據(jù)發(fā)送單元 404從存儲(chǔ)單元405中的請求管理表中找到優(yōu)先級最高的請求,將其請求的數(shù)據(jù)發(fā)送到相 應(yīng)的接收端。變形例三與實(shí)施例四相同,本實(shí)施例同樣選擇P2P系統(tǒng)中的發(fā)送端進(jìn)行詳細(xì)說明,該發(fā) 送端接收來自接收端的數(shù)據(jù)請求信息,并且在數(shù)據(jù)請求信息中包含該接收端的請求片的 緊急度信息PP,不同的是,緊急度信息PP為優(yōu)先級級別。如圖6所示,優(yōu)先級級別為 P2P系統(tǒng)根據(jù)請求數(shù)據(jù)距離被播放的時(shí)間定義的優(yōu)先等級。本實(shí)施例相對于實(shí)施例一對 請求數(shù)據(jù)的優(yōu)先級級別進(jìn)行歸類,降低了請求數(shù)據(jù)的優(yōu)先級級數(shù),大大簡化了發(fā)送端的 處理。參考圖7,發(fā)送端分別從接收端Rl、R2、R3獲取了請求(Pr,0,length, PL)、 (Pr2, 0,length, PL2)、(Pr3, 0,length, PL3),以下以(Pr,0,length, PL)為例敘
述發(fā)送端的工作過程。如圖3B所示,請求獲取單元401獲取從接收端Rl發(fā)送的數(shù)據(jù)請求(Pr,PL), 并將其傳送到請求管理單元402 ;請求管理單元402將該請求存儲(chǔ)于存儲(chǔ)單元405中的請 求管理表圖7中,如圖,分別將R1、Pr、PL存入接收端701、請求數(shù)據(jù)702、緊急度信 息703,并將(Pr,0,length, PL)發(fā)送到優(yōu)先級計(jì)算單元403 ;優(yōu)先級計(jì)算單元403根 據(jù)圖7中的緊急度信息703 —列對緊急度信息的優(yōu)先級級別PL進(jìn)行排序,由于PL的值 越大,代表請求片距離播放時(shí)間越近,因此,PL越大,則優(yōu)先級越高,在本例中,假設(shè) PL > PL2 > PL3,則優(yōu)先級為Pr > Pr2 > Pr3,Pr的優(yōu)先級最高,因此優(yōu)先級計(jì)算單元 403設(shè)置表7中Pr的優(yōu)先級704為Pl = 3 ;數(shù)據(jù)發(fā)送單元404從存儲(chǔ)單元405中的請求管理表中找到優(yōu)先級最高的請求,將其請求的數(shù)據(jù)發(fā)送到相應(yīng)的接收端。實(shí)施例六與實(shí)施例五相同,本實(shí)施例同樣選擇P2P系統(tǒng)中的發(fā)送端的機(jī)頂盒進(jìn)行詳細(xì)說 明,本實(shí)施例中的機(jī)頂盒與實(shí)施例二中的接收端機(jī)頂盒相應(yīng)設(shè)置在同一網(wǎng)絡(luò)中,其接收 來自發(fā)送端的機(jī)頂盒的數(shù)據(jù)請求信息,在所接收的數(shù)據(jù)請求信息中包含緊急度信息PP, 在本實(shí)施例中,緊急度信息PP為該片距離被播放的絕對時(shí)間。而且,發(fā)送端的具有P2P 功能的機(jī)頂盒。所謂絕對時(shí)間,如上所述,是指發(fā)送端中請求片被播放的時(shí)刻距離發(fā)出 請求時(shí)刻的時(shí)間。本實(shí)施例參照圖4B,圖7對P2P系統(tǒng)中的發(fā)送端進(jìn)行詳細(xì)說明。在本實(shí)施例中,機(jī)頂盒的數(shù)據(jù)下載是以P2P方式進(jìn)行的。其工作過程為數(shù)據(jù)接收單元401,,用于接收從發(fā)送端發(fā)送的數(shù)據(jù);解調(diào)單元402,,用于 解調(diào)接收到的音視頻數(shù)據(jù);解碼單元403’,用于解碼音視頻數(shù)據(jù);音視頻處理單元 404’,用于分離音視頻數(shù)據(jù);輸出單元405’,用于將音視頻數(shù)據(jù)輸出給播放設(shè)備;存 儲(chǔ)單元406’,用于存儲(chǔ)視頻數(shù)據(jù)及請求管理表圖7 ;請求接收單元407’,用于獲取從 接收端發(fā)送的數(shù)據(jù)請求;請求管理單元408’,用于管理請求管理表;優(yōu)先級計(jì)算單元 409’,用于計(jì)算數(shù)據(jù)請求的優(yōu)先級;數(shù)據(jù)發(fā)送單元4010’,用于發(fā)送請求數(shù)據(jù)到接收 端。參考圖7,假設(shè)發(fā)送端分別從接收端Rl、R2、R3獲取了請求(Pr,0,length, Twl)、(Pr2, 0,length, Tw2)、(Pr3, 0,length, Tw3),以下以(Pr,0,length, Twl)
為例敘述發(fā)送端的工作過程。如圖3B所示,請求獲取單元407’獲取從接收端Rl發(fā)送的數(shù)據(jù)請求(Pr,0, length, Twl),并將其傳送到請求管理單元408’ ;請求管理單元402將該請求存儲(chǔ)于存 儲(chǔ)單元406’中的請求管理表圖7中,如圖,分別將R1、Pr、Twl存入接收端701、請求 數(shù)據(jù)702、緊急度信息703,并將(Pr,0,length, Twl)發(fā)送到優(yōu)先級計(jì)算單元409,; 優(yōu)先級計(jì)算單元409’根據(jù)圖7中的緊急度信息703 —列對緊急度信息PP進(jìn)行排序,由 于Tw的值越小,代表請求片距離播放時(shí)間越近,因此,Tw越小,則優(yōu)先級越高,在本 例中,假設(shè)Twl < Tw2 < Tw3,則優(yōu)先級為Pr > Pr2 > Pr3, Pr的優(yōu)先級最高,因此優(yōu) 先級計(jì)算單元409,設(shè)置表7中Pr的優(yōu)先級704為Pl = 3;數(shù)據(jù)發(fā)送單元4010’從存 儲(chǔ)單元406’中的請求管理表中找到優(yōu)先級最高的請求,將其請求的數(shù)據(jù)發(fā)送到相應(yīng)的接 收端。同時(shí),請求管理單元402實(shí)時(shí)更新存儲(chǔ)單元406’中的請求管理表圖7,具體表 示為,隨著時(shí)間的推移,緊急度信息703的請求片播放時(shí)間Tw會(huì)相應(yīng)減小。實(shí)施例七本實(shí)施例參考圖3B、圖5A和圖7對P2P系統(tǒng)中的發(fā)送端進(jìn)行詳細(xì)說明,其中接 收到的請求數(shù)據(jù)為幀,緊急度信息PP為該幀距離被播放的時(shí)刻Tr,即系統(tǒng)時(shí)間。參考圖7,假設(shè)發(fā)送端分別從接收端Rl、R2、R3獲取了請求(Frl,Trl), (Fr2, Fr2)、(Fr3, Tr3),以下以(Frl,Trl)為例敘述發(fā)送端的工作過程。如圖3B所示,請求獲取單元401獲取從接收端Rl發(fā)送的數(shù)據(jù)請求(Frl,Trl), 并將其傳送到請求管理單元402;由于該請求的數(shù)據(jù)為幀,而P2P中數(shù)據(jù)的傳輸以片為單位,需要找到該幀所對應(yīng)的片數(shù)據(jù),因此,請求管理單元402首先查詢存儲(chǔ)單元405中的 “幀 <一> 片”對應(yīng)表圖5A,找到Frl對應(yīng)的片數(shù)據(jù),假設(shè)為Prl,然后將該請求存儲(chǔ)于 存儲(chǔ)單元405中的請求管理表圖7中,如圖,分別將Rl、PrU Trl存入接收端701、請 求數(shù)據(jù)702、緊急度信息703,并將(Prl,Trl)發(fā)送到優(yōu)先級計(jì)算單元403 ;優(yōu)先級計(jì)算 單元403根據(jù)圖7中的緊急度信息703 —列對緊急度信息的請求片播放的絕對時(shí)間進(jìn)行排 序,由于Tr的值越小,代表請求片距離播放時(shí)間越近,因此,Tr越小,則優(yōu)先級越高, 在本例中,假設(shè)Trl < Tr2 < Tr3,則優(yōu)先級為Prl > Pr2 > Pr3, Prl的優(yōu)先級最高,因 此優(yōu)先級計(jì)算單元403設(shè)置表7中Prl的優(yōu)先級704為Pl = 3 ;數(shù)據(jù)發(fā)送單元404從存 儲(chǔ)單元405中的請求管理表中找到優(yōu)先級最高的請求,將其請求的數(shù)據(jù)發(fā)送到相應(yīng)的接 收端。同時(shí),請求管理單元402實(shí)時(shí)更新存儲(chǔ)單元405中的請求管理表圖7,具體表示 為,隨著時(shí)間的推移,緊急度信息703Tr不會(huì)改變,因此能夠減輕發(fā)送端的運(yùn)算量。實(shí)施例八本發(fā)明同樣可以適用于C/S系統(tǒng)。在C/S系統(tǒng)中(如圖1B),客戶端為接收 端,C/S服務(wù)器為發(fā)送端,流媒體服務(wù)采用流媒體協(xié)議如RTP進(jìn)行數(shù)據(jù)傳輸,在流媒體 協(xié)議中,數(shù)據(jù)按照其時(shí)間順序被分為一個(gè)個(gè)的數(shù)據(jù)包,數(shù)據(jù)以包為單位進(jìn)行傳輸。如圖 2B所示,視頻文件I被分為η個(gè)數(shù)據(jù)包,這些包可能大小相等也可能不等,每個(gè)數(shù)據(jù)包包 括一定數(shù)量的幀。本實(shí)施例參照圖3Β、圖5Β和圖7對C/S系統(tǒng)中的接收端進(jìn)行詳細(xì)說明,其中 請求的數(shù)據(jù)為幀,緊急度信息PP為該幀距離被播放的時(shí)間(緊急度信息也可變化為請求 幀與當(dāng)前播放幀的ID差值、優(yōu)先級級別,同實(shí)施例一的兩個(gè)變形例)。如圖3Β所示,請求獲取單元401獲取從接收端Rl發(fā)送的數(shù)據(jù)請求(Frl,Trl), 并將其傳送到請求管理單元402 ;由于該請求的數(shù)據(jù)為幀,而C/S流媒體服務(wù)系統(tǒng)以數(shù)據(jù) 包為單位進(jìn)行數(shù)據(jù)傳輸,需要找到該幀對應(yīng)的數(shù)據(jù)包,因此,請求管理單元402首先查 詢存儲(chǔ)單元405中的“幀 <-> 包”對應(yīng)表圖5B,找到Frl對應(yīng)的數(shù)據(jù)包,假設(shè)為Irl, 然后將該請求存儲(chǔ)于存儲(chǔ)單元405中的請求管理表圖7中,如圖,分別將Rl、PrU Trl 存入接收端701、請求數(shù)據(jù)702、緊急度信息703,并將請求信息中的(Frl,Trl)發(fā)送到 優(yōu)先級計(jì)算單元403 ;優(yōu)先級計(jì)算單元403根據(jù)圖7中的緊急度信息703 —列對緊急度信 息排序,由于Tr的值越小,代表請求數(shù)據(jù)包距離播放時(shí)間越近,因此,Tr越小,則優(yōu)先 級越高,在本例中,假設(shè)Trl < Tr2 < Tr3,則優(yōu)先級為Irl > Ir2 > Ir3,Irl的優(yōu)先級最 高,因此優(yōu)先級計(jì)算單元403設(shè)置表7中Irl的優(yōu)先級704為Pl = 3 ;數(shù)據(jù)發(fā)送單元404 從存儲(chǔ)單元405中的請求管理表中找到優(yōu)先級最高的請求,將其請求的數(shù)據(jù)包發(fā)送到相 應(yīng)的接收端。同時(shí),請求管理單元402實(shí)時(shí)更新存儲(chǔ)單元405中的請求管理表。以上各實(shí)施例中,將發(fā)送裝置與接收裝置分開進(jìn)行了說明,但作為應(yīng)用于網(wǎng)路 的接收發(fā)送裝置,可以將上述發(fā)送裝置和接收裝置設(shè)置在同一終端中,從而實(shí)現(xiàn)網(wǎng)絡(luò)上 的P2P文件共享。另外,在上述實(shí)施例中為了便于實(shí)現(xiàn),作為絕對時(shí)間使用了當(dāng)前播放幀的時(shí)間 作為請求發(fā)出時(shí)刻,因?yàn)閷?shí)現(xiàn)裝置的處理器處理能力的提高,播放時(shí)刻和發(fā)出請求的時(shí)刻存在的時(shí)間延遲能夠被忽略。另外,在以上各實(shí)施例及變形例中,作為緊急度信息,以播放請求片的絕對時(shí) 間、播放請求片的時(shí)刻(即,系統(tǒng)時(shí)間)以及當(dāng)前片與請求片之間的位置距離為例進(jìn)行了 說明,但本領(lǐng)域技術(shù)人員通過上述實(shí)例可知,只要得知當(dāng)前片和請求片的時(shí)間或者位置 信息,能夠任意地生成緊急度信息,例如將當(dāng)前片和請求片的播放時(shí)間的兩者、或位置 的兩者作為緊急度信息,也能夠達(dá)到同樣的技術(shù)效果,只是作為優(yōu)選,作為上述實(shí)施例 及變形例,能夠進(jìn)一步降低發(fā)送端的計(jì)算量,提高處理的效率。并且,能夠利用當(dāng)前片 和請求片的播放時(shí)間和位置信息,生成優(yōu)先級級別相關(guān)的信息,作為緊急度信息。另外,以上實(shí)施例中都是以播放流媒體為例進(jìn)行的說明,但是,對于其他流媒 體,本發(fā)明也同樣適用,尤其是對于對大容量流媒體進(jìn)行數(shù)據(jù)處理的系統(tǒng)中,例如,壓 縮處理,需要連續(xù)對流媒體進(jìn)行操作,因此利用本發(fā)明能夠及時(shí)接收正在處理之后一段 時(shí)間內(nèi)連續(xù)的數(shù)據(jù)塊,從而大大提高了處理效率。另外,在以上實(shí)施例中主要以P2P網(wǎng)絡(luò)為例進(jìn)行了說明,但同樣適用于C/S方 式的接收發(fā)送,不能能夠有效利用服務(wù)器端的帶寬,還能夠保證盡可能多的客戶端的連 續(xù)數(shù)據(jù)處理,為用戶使用提供了方便。
權(quán)利要求
1.一種數(shù)據(jù)接收終端,通過P2P網(wǎng)絡(luò)向其他終端發(fā)送對被劃分為多個(gè)數(shù)據(jù)塊的流媒 體數(shù)據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信息,從其他終端接收與數(shù)據(jù)請求信息 對應(yīng)的數(shù)據(jù)塊,在接收流媒體數(shù)據(jù)的同時(shí)播放該流媒體,其特征在于在所述數(shù)據(jù)請求信息中包含表示所需數(shù)據(jù)塊的緊急度的信息。
2.如權(quán)利要求1所述的數(shù)據(jù)接收終端,其特征在于根據(jù)預(yù)計(jì)播放所需數(shù)據(jù)塊的時(shí)刻,生成所述表示緊急度的信息。
3.如權(quán)利要求1所述的數(shù)據(jù)接收終端,其特征在于根據(jù)當(dāng)前正在播放的數(shù)據(jù)塊與所需數(shù)據(jù)塊之間的數(shù)據(jù)塊的數(shù)量,生成所述表示緊急 度的信息。
4.如權(quán)利要求1所述的數(shù)據(jù)接收終端,其特征在于根據(jù)從進(jìn)行數(shù)據(jù)請求的時(shí)刻開始到播放所需數(shù)據(jù)塊的絕對時(shí)間,生成所述表示緊急 度的信息。
5.—種數(shù)據(jù)發(fā)送終端,根據(jù)從P2P網(wǎng)絡(luò)中的其他終端接收到的、對被劃分為多個(gè)數(shù) 據(jù)塊的流媒體中的數(shù)據(jù)塊進(jìn)行請求的數(shù)據(jù)請求信息,向其他終端發(fā)送與數(shù)據(jù)請求信息對 應(yīng)的數(shù)據(jù)塊,其特征在于根據(jù)所接收到的數(shù)據(jù)請求信息包含的、表示進(jìn)行數(shù)據(jù)請求的其他終端所需數(shù)據(jù)塊的 緊急度的信息,來決定發(fā)送與該請求信息對應(yīng)的數(shù)據(jù)塊的優(yōu)先級。
6.如權(quán)利要求5所述的數(shù)據(jù)發(fā)送終端,其特征在于所述表示緊急度的信息包括,進(jìn)行數(shù)據(jù)請求的其他終端預(yù)計(jì)播放其所需數(shù)據(jù)塊的時(shí) 刻,該時(shí)刻越早優(yōu)先級高。
7.如權(quán)利要求6所述的數(shù)據(jù)發(fā)送終端,其特征在于所述表示緊急度的信息包括,進(jìn)行數(shù)據(jù)請求的終端當(dāng)前正在播放的數(shù)據(jù)塊與所需數(shù) 據(jù)塊之間的數(shù)據(jù)塊的數(shù)量,該數(shù)據(jù)塊的數(shù)量越少優(yōu)先級越高。
8.如權(quán)利要求6所述的數(shù)據(jù)發(fā)送終端,其特征在于所述表示緊急度的信息包括,進(jìn)行數(shù)據(jù)請求的其他終端從進(jìn)行數(shù)據(jù)請求的時(shí)刻開始 到播放所需數(shù)據(jù)塊的絕對時(shí)間,該時(shí)間越短優(yōu)先級越高。
9.一種數(shù)據(jù)接收裝置,通過P2P網(wǎng)絡(luò)向網(wǎng)絡(luò)中的數(shù)據(jù)發(fā)送裝置發(fā)送對被劃分為多 個(gè)數(shù)據(jù)塊的流媒體數(shù)據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信息,從數(shù)據(jù)發(fā)送裝置 接收與數(shù)據(jù)請求信息對應(yīng)的數(shù)據(jù)塊,在接收流媒體數(shù)據(jù)的同時(shí)播放該流媒體,其特征在 于,包括向數(shù)據(jù)發(fā)送裝置發(fā)送數(shù)據(jù)請求信息的請求發(fā)送單元;從數(shù)據(jù)發(fā)送裝置接收數(shù)據(jù)的數(shù)據(jù)接收單元;存儲(chǔ)接收到的流媒體的數(shù)據(jù)的存儲(chǔ)單元;播放接收到的流媒體數(shù)據(jù)的數(shù)據(jù)播放單元;以及獲取所需數(shù)據(jù)塊的信息和數(shù)據(jù)播放單元正在播放的數(shù)據(jù)塊的信息,生成表示所需 數(shù)據(jù)塊的緊急度的信息,并將所述緊急度的信息附加在數(shù)據(jù)請求信息中的請求信息生成 部。
10.如權(quán)利要求9所述的數(shù)據(jù)接收裝置,其特征在于在所述請求信息生成單元,根據(jù)所需數(shù)據(jù)塊的信息和正在播放的數(shù)據(jù)塊的信息,計(jì)算預(yù)計(jì)播放所需數(shù)據(jù)塊的時(shí)刻,或當(dāng)前正在播放的數(shù)據(jù)塊與所需數(shù)據(jù)塊之間的數(shù)據(jù)塊的 數(shù)量,或從進(jìn)行數(shù)據(jù)請求的時(shí)刻開始到播放所需數(shù)據(jù)塊的絕對時(shí)間而生成所述緊急度的信息ο
11.一種數(shù)據(jù)發(fā)送裝置,通過P2P網(wǎng)絡(luò)從數(shù)據(jù)接收裝置接收對被劃分為多個(gè)數(shù)據(jù)塊的 流媒體數(shù)據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信息,并向數(shù)據(jù)接收裝置發(fā)送與數(shù) 據(jù)請求信息對應(yīng)的數(shù)據(jù)塊,其特征在于,包括從數(shù)據(jù)接收裝置接收數(shù)據(jù)請求信息的請求接收單元;向數(shù)據(jù)接收裝置發(fā)送數(shù)據(jù)的數(shù)據(jù)發(fā)送單元;從接收到的數(shù)據(jù)請求信息中解析表示數(shù)據(jù)接收裝置所需數(shù)據(jù)塊的緊急度的信息,并 根據(jù)該表示所需數(shù)據(jù)塊的緊急度的信息決定向所述數(shù)據(jù)接收裝置發(fā)送所需數(shù)據(jù)塊的優(yōu)先 級的請求信息管理單元,所述表示所需數(shù)據(jù)塊的緊急度的信息包括,數(shù)據(jù)接收裝置所請求的數(shù)據(jù)塊與該數(shù)據(jù) 接收裝置正在播放的數(shù)據(jù)塊的信息。
12.如權(quán)利要求11所述的數(shù)據(jù)發(fā)送裝置,其特征在于所述請求信息管理單元,根據(jù)所述表示所需數(shù)據(jù)塊的緊急度的信息中包括的預(yù)計(jì)播 放所需數(shù)據(jù)塊的時(shí)刻、當(dāng)前正在播放的數(shù)據(jù)塊與所需數(shù)據(jù)塊之間的數(shù)據(jù)塊的數(shù)量、或從 進(jìn)行數(shù)據(jù)請求的時(shí)刻開始到播放所需數(shù)據(jù)塊的時(shí)間,來決定向所述數(shù)據(jù)接收裝置發(fā)送所 需數(shù)據(jù)塊的優(yōu)先級。
13.一種數(shù)據(jù)接收方法,是通過P2P網(wǎng)絡(luò)向網(wǎng)絡(luò)中的數(shù)據(jù)發(fā)送裝置發(fā)送對被劃分為多 個(gè)數(shù)據(jù)塊的流媒體數(shù)據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信息,從數(shù)據(jù)發(fā)送裝置 接收與數(shù)據(jù)請求信息對應(yīng)的數(shù)據(jù)塊,在接收流媒體數(shù)據(jù)的同時(shí)播放該流媒體的數(shù)據(jù)接收 裝置中使用的數(shù)據(jù)接收方法,其特征在于,在進(jìn)行數(shù)據(jù)請求時(shí)包括如下步驟獲取所需數(shù)據(jù)塊的信息;獲取正在播放的數(shù)據(jù)塊的信息;根據(jù)所需數(shù)據(jù)塊的信息和正在播放的數(shù)據(jù)塊的信息生成表示所需數(shù)據(jù)塊的緊急度的 fn息;根據(jù)將所述緊急度的信息附加在數(shù)據(jù)請求信息中;向數(shù)據(jù)發(fā)送裝置發(fā)送所述數(shù)據(jù)請求信息。
14.如權(quán)利要求13所述的數(shù)據(jù)接收方法,其特征在于根據(jù)所需數(shù)據(jù)塊的信息和正在播放的數(shù)據(jù)塊的信息,計(jì)算預(yù)計(jì)播放所需數(shù)據(jù)塊的時(shí) 刻,或當(dāng)前正在播放的數(shù)據(jù)塊與所需數(shù)據(jù)塊之間的數(shù)據(jù)塊的數(shù)量,或從進(jìn)行數(shù)據(jù)請求的 時(shí)刻開始到播放所需數(shù)據(jù)塊的時(shí)間而生成所述緊急度的信息。
15.—種數(shù)據(jù)發(fā)送方法,是通過P2P網(wǎng)絡(luò)從數(shù)據(jù)接收裝置接收對被劃分為多個(gè)數(shù)據(jù)塊 的流媒體數(shù)據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信息,并向數(shù)據(jù)接收裝置發(fā)送與 數(shù)據(jù)請求信息對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)發(fā)送裝置中使用的數(shù)據(jù)發(fā)送方法,其特征在于,包括 如下步驟接收來自數(shù)據(jù)接收裝置的數(shù)據(jù)請求信息,該數(shù)據(jù)請求信息中包括表示數(shù)據(jù)接收裝置 所需數(shù)據(jù)塊的緊急度的信息,根據(jù)所述表示緊急度的信息決定發(fā)送與該請求信息對應(yīng)的數(shù)據(jù)塊的優(yōu)先級,按照優(yōu)先級的順序,并向數(shù)據(jù)接收裝置發(fā)送與請求信息對應(yīng)的數(shù)據(jù)塊。
16.如權(quán)利要求15所述的數(shù)據(jù)發(fā)送方法,其特征在于根據(jù)所述表示所需數(shù)據(jù)塊的緊急度的信息中包括的所述預(yù)計(jì)播放所需數(shù)據(jù)塊的時(shí) 刻、當(dāng)前正 在播放的數(shù)據(jù)塊與所需數(shù)據(jù)塊之間的數(shù)據(jù)塊的數(shù)量、或從進(jìn)行數(shù)據(jù)請求的時(shí) 刻開始到播放所需數(shù)據(jù)塊的時(shí)間,決定向所述數(shù)據(jù)接收裝置發(fā)送所需數(shù)據(jù)塊的優(yōu)先級。
17.一種數(shù)據(jù)接收發(fā)送終端,通過P2P網(wǎng)絡(luò)向網(wǎng)絡(luò)中的其他終端發(fā)送對被劃分為多個(gè) 數(shù)據(jù)塊的流媒體數(shù)據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信息,從其他終端接收與 數(shù)據(jù)請求信息對應(yīng)的數(shù)據(jù)塊,在接收流媒體數(shù)據(jù)的同時(shí)播放該流媒體,并且,從其他終 端接收對被劃分為多個(gè)數(shù)據(jù)塊的流媒體數(shù)據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信 息,并向其他終端發(fā)送與數(shù)據(jù)請求信息對應(yīng)的數(shù)據(jù)塊,其特征在于包括如權(quán)利要求9所述的數(shù)據(jù)接收裝置和如權(quán)利要求11所述的數(shù)據(jù)發(fā)送裝置。
18.如權(quán)利要求17所述的數(shù)據(jù)接收發(fā)送終端,其特征在于在所述請求信息生成單元,根據(jù)所需數(shù)據(jù)塊的信息和正在播放的數(shù)據(jù)塊的信息, 計(jì)算預(yù)計(jì)播放所需數(shù)據(jù)塊的時(shí)刻,或當(dāng)前正在播放的數(shù)據(jù)塊與所需數(shù)據(jù)塊之間的數(shù)據(jù)塊 的數(shù)量,或從進(jìn)行數(shù)據(jù)請求的時(shí)刻開始到播放所需數(shù)據(jù)塊的時(shí)間而生成所述緊急度的信 肩、ο
19.如權(quán)利要求17所述的數(shù)據(jù)接收發(fā)送終端,其特征在于所述請求信息管理單元,根據(jù)所述表示所需數(shù)據(jù)塊的緊急度的信息中包括的所述預(yù) 計(jì)播放所需數(shù)據(jù)塊的時(shí)刻、當(dāng)前正在播放的數(shù)據(jù)塊與所需數(shù)據(jù)塊之間的數(shù)據(jù)塊的數(shù)量、 或從進(jìn)行數(shù)據(jù)請求的時(shí)刻開始到播放所需數(shù)據(jù)塊的時(shí)間,來決定向所述數(shù)據(jù)接收裝置發(fā) 送所需數(shù)據(jù)塊的優(yōu)先級。
20.一種機(jī)頂盒,通過P2P網(wǎng)絡(luò)向其他機(jī)頂盒發(fā)送對被劃分為多個(gè)數(shù)據(jù)塊的流媒體數(shù) 據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信息,從其他機(jī)頂盒接收與數(shù)據(jù)請求信息對 應(yīng)的數(shù)據(jù)塊,在接收流媒體數(shù)據(jù)的同時(shí)播放該流媒體,其特征在于,具有向其他機(jī)頂盒發(fā)送數(shù)據(jù)請求信息的請求發(fā)送單元;從其他機(jī)頂盒接收數(shù)據(jù)的數(shù)據(jù)接收單元;存儲(chǔ)接收到的流媒體的數(shù)據(jù)的存儲(chǔ)單元;播放接收到的流媒體數(shù)據(jù)的數(shù)據(jù)播放單元;以及獲取所需數(shù)據(jù)塊的信息和數(shù)據(jù)播放單元正在播放的數(shù)據(jù)塊的信息,生成表示所需 數(shù)據(jù)塊的緊急度的信息,并將所述緊急度的信息附加在數(shù)據(jù)請求信息中的請求信息生成 部。
21.如權(quán)利要求20所述的機(jī)頂盒,其特征在于在所述請求信息生成單元,根據(jù)所需數(shù)據(jù)塊的信息和正在播放的數(shù)據(jù)塊的信息, 計(jì)算預(yù)計(jì)播放所需數(shù)據(jù)塊的時(shí)刻,或當(dāng)前正在播放的數(shù)據(jù)塊與所需數(shù)據(jù)塊之間的數(shù)據(jù)塊 的數(shù)量,或從進(jìn)行數(shù)據(jù)請求的時(shí)刻開始到播放所需數(shù)據(jù)塊的時(shí)間而生成所述緊急度的信 肩、ο
22.—種機(jī)頂盒,通過P2P網(wǎng)絡(luò)從其他機(jī)頂盒接收對被劃分為多個(gè)數(shù)據(jù)塊的流媒體數(shù) 據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信息,并向其他機(jī)頂盒發(fā)送與數(shù)據(jù)請求信息對應(yīng)的數(shù)據(jù)塊,其特征在于,包括從其他機(jī)頂盒接收數(shù)據(jù)請求信息的請求接收單元; 向其他機(jī)頂盒發(fā)送數(shù)據(jù)的數(shù)據(jù)發(fā)送單元;從接收到的數(shù)據(jù)請求信息中解析表示其他機(jī)頂盒所需數(shù)據(jù)塊的緊急度的信息,并根 據(jù)該表示所需數(shù)據(jù)塊的緊急度的信息決定向其他機(jī)頂盒發(fā)送所需數(shù)據(jù)塊的優(yōu)先級的請求信息管理單元,所述表示所需數(shù)據(jù)塊的緊急度的信息包括,其他機(jī)頂盒所請求的數(shù)據(jù)塊與該數(shù)據(jù)接 收裝置正在播放的數(shù)據(jù)塊的信息。
23.如權(quán)利要求22所述的機(jī)頂盒,其特征在于所述請求信息管理單元,根據(jù)所述表示所需數(shù)據(jù)塊的緊急度的信息中包括的預(yù)計(jì)播 放所需數(shù)據(jù)塊的時(shí)刻、當(dāng)前正在播放的數(shù)據(jù)塊與所需數(shù)據(jù)塊之間的數(shù)據(jù)塊的數(shù)量、或從 進(jìn)行數(shù)據(jù)請求的時(shí)刻開始到播放所需數(shù)據(jù)塊的時(shí)間,來決定向所述數(shù)據(jù)接收裝置發(fā)送所 需數(shù)據(jù)塊的優(yōu)先級。
全文摘要
本發(fā)明涉及一種數(shù)據(jù)接收/發(fā)送終端、裝置、方法及機(jī)頂盒,其中數(shù)據(jù)接收終端,通過P2P網(wǎng)絡(luò)向其他終端發(fā)送對被劃分為多個(gè)數(shù)據(jù)塊的流媒體數(shù)據(jù)中的所需數(shù)據(jù)塊進(jìn)行數(shù)據(jù)請求的數(shù)據(jù)請求信息,從其他終端接收與數(shù)據(jù)請求信息對應(yīng)的數(shù)據(jù)塊,在接收流媒體數(shù)據(jù)的同時(shí)播放該流媒體,其特征在于在所述數(shù)據(jù)請求信息中包含表示所需數(shù)據(jù)塊的緊急度的信息。
文檔編號(hào)H04L29/08GK102014143SQ20091017107
公開日2011年4月13日 申請日期2009年9月4日 優(yōu)先權(quán)日2009年9月4日
發(fā)明者劉立品, 王鴻鳴, 田代卓, 藤井由紀(jì)夫 申請人:株式會(huì)社日立制作所