專利名稱:適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種自動(dòng)重傳請(qǐng)求(ARQ: Automatic R印eat Request)機(jī)制,特別涉及一種 應(yīng)用在移動(dòng)流媒體中的自動(dòng)重傳請(qǐng)求機(jī)制。
背景技術(shù):
隨著移動(dòng)通信的迅速發(fā)展,人們不再滿足于獲取單獨(dú)的文本、聲音或圖像信息,而是希 望得到同時(shí)包含文本、聲音、圖像和視頻的流媒體信息。而第三代移動(dòng)通信網(wǎng)絡(luò)(3G)不僅 繼承了時(shí)分多址接入(TDMA)技術(shù),還發(fā)展了一系列全新的碼分多址接入(CDMA)技術(shù),使 得3G移動(dòng)網(wǎng)絡(luò)具備了高速數(shù)據(jù)傳送能力,可以滿足人們對(duì)流媒體信息日益增長(zhǎng)的需求。據(jù)國(guó) 際電信聯(lián)盟(ITU)定義,3G網(wǎng)絡(luò)應(yīng)具備至少144kbit/s的數(shù)據(jù)傳送能力,目前具體運(yùn)用的 傳輸技術(shù)可以實(shí)現(xiàn)從384kbit/s 2Mbit/s的速率甚至更高速率的數(shù)據(jù)傳送。隨著3G網(wǎng)絡(luò)的 不斷延伸及最新無(wú)線通信協(xié)議的發(fā)展和先進(jìn)3G通信設(shè)備的研制成功,無(wú)線網(wǎng)絡(luò)運(yùn)營(yíng)商可以隨 時(shí)隨地為移動(dòng)用戶提供寬帶數(shù)據(jù)發(fā)送及接收應(yīng)用業(yè)務(wù),而其中的流媒體業(yè)務(wù)則是不同于2G和 2.5G的占據(jù)重要地位的新業(yè)務(wù)。移動(dòng)流媒體技術(shù)則是移動(dòng)通信中流媒體系統(tǒng)的核心技術(shù),但 無(wú)線傳輸信道具有誤碼率高、傳輸時(shí)延大、傳輸速率不穩(wěn)定等特點(diǎn)。
通過分組交換網(wǎng)發(fā)送實(shí)時(shí)流媒體數(shù)據(jù)包的顯著特征就是有嚴(yán)格的時(shí)間要求和丟包率控制 要求。因?yàn)榫W(wǎng)絡(luò)延遲和視頻流的實(shí)時(shí)性對(duì)終端播放質(zhì)量有很大的影響,在播放所能容忍的時(shí) 間延遲之前視頻流就必須被播放。通常,為了節(jié)約帶寬,視頻數(shù)據(jù)是被壓縮后再在分組網(wǎng)絡(luò) 上傳輸?shù)?,而壓縮后的視頻數(shù)據(jù)很少能容忍數(shù)據(jù)的丟包,因?yàn)檫@樣解碼器得到的數(shù)據(jù)中將減 少大量的原始數(shù)據(jù)的信息。所以,除非采用同步碼,否則大量的丟包將導(dǎo)致接收端無(wú)法正確 解碼。因?yàn)檫@些錯(cuò)誤數(shù)據(jù)包對(duì)播放質(zhì)量影響很大,所以實(shí)時(shí)視頻流傳輸?shù)牟铄e(cuò)控制策略面臨 的主要問題就是努力恢復(fù)丟失的數(shù)據(jù)包,從而降低對(duì)視頻播放質(zhì)量的影響,而傳統(tǒng)的解決辦 法是采用ARQ機(jī)制。
ARQ (Automatic R印eat Request)機(jī)制又叫自動(dòng)重傳請(qǐng)求機(jī)制,其基本原理是發(fā)送端對(duì) 每個(gè)要發(fā)送的數(shù)據(jù)包都進(jìn)行順序編號(hào),接收端每接收到一個(gè)數(shù)據(jù)包,就向發(fā)送端發(fā)送ACK確 認(rèn)信息進(jìn)行應(yīng)答確認(rèn)。如果發(fā)送端在規(guī)定的時(shí)間內(nèi)沒有接收到接收者的ACK確認(rèn)信息,就認(rèn) 為該數(shù)據(jù)包傳輸過程中出現(xiàn)差錯(cuò),就把該數(shù)據(jù)包重傳一次,直到收到接收者ACK確認(rèn)信息,
確定該數(shù)據(jù)包己被接收端正確接收,才繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)包。但是這種傳統(tǒng)的ARQ機(jī)制對(duì) 數(shù)據(jù)包的確認(rèn)延遲太長(zhǎng),并不符合移動(dòng)流媒體對(duì)實(shí)時(shí)性的要求,而且無(wú)線信道本身由于誤碼 率很高,如果該ACK應(yīng)答包本身丟失了,傳統(tǒng)的ARQ機(jī)制并沒有采取一個(gè)很好的機(jī)制來應(yīng)付
這種情況,再者,傳統(tǒng)的ARQ機(jī)制沒有控制客戶端的緩沖區(qū)中數(shù)據(jù)包容量,無(wú)法協(xié)調(diào)丟失包 恢復(fù)可能性和傳輸速率的關(guān)系,不能維持較高的丟失包恢復(fù)可能性。
發(fā)明內(nèi)容
為克服上述缺陷,本發(fā)明的目的在于提供一種時(shí)延小的適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳 請(qǐng)求機(jī)制。
為達(dá)到上述發(fā)明目的,本發(fā)明采用如下技術(shù)方案該適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng) 求機(jī)制包括以下步驟
(1 )發(fā)送端按播放順序在每一個(gè)數(shù)據(jù)包中添加序列號(hào)并將數(shù)據(jù)包發(fā)送到接收端;
(2)接收端根據(jù)其收到數(shù)據(jù)包的序列號(hào)之間的間隔控制重傳。 其中,所述的步驟(2)具體為
(21) 接收端檢測(cè)到其接收到的數(shù)據(jù)包的序列號(hào)有間隔時(shí),請(qǐng)求發(fā)送端的重傳緩沖區(qū)重 傳該間隔序列號(hào)的數(shù)據(jù)包;
(22) 發(fā)送端接收到重傳請(qǐng)求后,將所述間隔序列號(hào)的數(shù)據(jù)包打上重傳標(biāo)記,通過重傳
緩沖區(qū)向接收端發(fā)送該間隔序列號(hào)的數(shù)據(jù)包。
其中,當(dāng)接收端向發(fā)送端發(fā)送的重傳請(qǐng)求本身丟失時(shí),接收端采用樹形數(shù)據(jù)結(jié)構(gòu)控制方 法控制再次發(fā)送重傳請(qǐng)求,所述的樹形數(shù)據(jù)結(jié)構(gòu)控制方法具體為-
(1) 接收端在請(qǐng)求發(fā)送端重傳該間隔序列號(hào)的數(shù)據(jù)包后,將該間隔序列號(hào)的數(shù)據(jù)包節(jié)點(diǎn)
信息插入樹形數(shù)據(jù)結(jié)構(gòu)的葉節(jié)點(diǎn);
(2) 接收端每接收一個(gè)數(shù)據(jù)包就遍歷一次該樹形數(shù)據(jù)結(jié)構(gòu),并將該樹形數(shù)據(jù)結(jié)構(gòu)每個(gè)節(jié) 點(diǎn)的計(jì)數(shù)器值減l,當(dāng)計(jì)數(shù)器值為0時(shí),接收端對(duì)該計(jì)數(shù)器值為0的間隔序列號(hào)的數(shù)據(jù)包再 次向發(fā)送端發(fā)送重傳請(qǐng)求;
(3) 當(dāng)接收端接收到重傳數(shù)據(jù)包時(shí),將接收到的重傳該數(shù)據(jù)包在樹形數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的 葉節(jié)點(diǎn)刪除;當(dāng)重傳數(shù)據(jù)包超過網(wǎng)絡(luò)往返時(shí)延時(shí),將該超過網(wǎng)絡(luò)往返時(shí)延的重傳數(shù)據(jù)包在樹 形數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的葉節(jié)點(diǎn)刪除。
其中,所述間隔序列號(hào)的數(shù)據(jù)包節(jié)點(diǎn)信息包括計(jì)數(shù)器、序列號(hào)、左指針和右指針
其中,接收端將接收緩沖區(qū)中的數(shù)據(jù)容量實(shí)時(shí)反饋給發(fā)送端,發(fā)送端根據(jù)該數(shù)據(jù)容量調(diào) 整數(shù)據(jù)發(fā)送速率。
其中,當(dāng)間隔序列號(hào)的數(shù)據(jù)包到達(dá)接收端之前,接收端已播放到該間隔序列號(hào)的數(shù)據(jù)包 時(shí),接收端將剛收到的數(shù)據(jù)包插入到該間隔中并播放。
從以上分析可以看出,該機(jī)制模型的特點(diǎn)就是檢測(cè)丟包的時(shí)候采用一種基于間隔的方法 來檢測(cè),當(dāng)丟包發(fā)生時(shí)候,這種方法能很快的通知發(fā)送方重傳,因此重傳延遲非常小。而且 客戶端能實(shí)時(shí)的將緩沖區(qū)中的數(shù)據(jù)包容量反饋給發(fā)送端,從而使發(fā)送端根據(jù)接收端緩沖區(qū)屮 的數(shù)據(jù)包容量調(diào)整發(fā)送速率,使接收端的緩沖區(qū)中數(shù)據(jù)包容量維持在一個(gè)合適的水平不至于 溢出,這樣就增加了對(duì)丟失包恢復(fù)的可能性。另外,該機(jī)制采用樹型的數(shù)據(jù)結(jié)構(gòu)來控制重傳, 這種控制方法對(duì)可以省去嵌入式系統(tǒng)中稀缺定時(shí)器資源,用于重傳請(qǐng)求本身丟失后再次發(fā)送 重傳請(qǐng)求,適合移動(dòng)終端這種資源有限的嵌入式設(shè)備。并且當(dāng)重傳包在到達(dá)接收緩沖區(qū)之前,
接收端的播放已經(jīng)到達(dá)重傳包的序列時(shí),如圖3中,在重傳數(shù)據(jù)包在到達(dá)接收緩沖區(qū)之前, 接收端已經(jīng)播放到了播放序列號(hào)為3的數(shù)據(jù)包,本發(fā)明采用的彌補(bǔ)方式就是把剛剛收到的數(shù) 據(jù)包直接插入到該間隔,這種方法雖然可能對(duì)一瞬間的視頻質(zhì)量產(chǎn)生可以察覺到的影響,但 是連續(xù)視頻流能幫助提高差錯(cuò)恢復(fù)效率,從而提高視頻流的傳輸質(zhì)量,保證視頻流的連續(xù)性。
圖1為本發(fā)明適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制的示意圖2為本發(fā)明適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制的樹型數(shù)據(jù)結(jié)構(gòu)示意圖3為本發(fā)明適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制的樹型數(shù)據(jù)結(jié)構(gòu)節(jié)點(diǎn)示意圖4為本發(fā)明適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制的移動(dòng)流媒體的QoS控制框圖。
具體實(shí)施例方式
對(duì)于該端到端的QoS控制策略,我們將發(fā)送端到接收端整個(gè)過程分為三個(gè)階段來討論。 首先是媒體源數(shù)據(jù)的編碼過程,在編碼器端采用改進(jìn)的PFGS (漸進(jìn)精細(xì)可伸縮性)編碼算法 來適應(yīng)無(wú)線信道帶寬的波動(dòng)情況,以最大限度的利用帶寬,從而提高媒體流的傳輸質(zhì)量。其 次是服務(wù)器端,負(fù)責(zé)將媒體流數(shù)據(jù)通過混合IP網(wǎng)絡(luò)發(fā)送給客戶端。為了使媒體流數(shù)據(jù)增強(qiáng)抗 誤碼能力,我們對(duì)編碼后的媒體數(shù)據(jù)重要部分做FEC (前向糾錯(cuò)編碼)重點(diǎn)保護(hù),然后將編 碼后的媒體數(shù)據(jù)進(jìn)行RTP (實(shí)時(shí)傳輸協(xié)議)打包,傳給發(fā)送緩沖區(qū),同時(shí)結(jié)合RTCP (RTP控 制協(xié)議)實(shí)時(shí)將網(wǎng)絡(luò)的變化情況反饋給QoS控制模塊,QoS控制模塊將收到的數(shù)據(jù)進(jìn)行整理
分析后發(fā)送給速率控制模塊,通過給模塊來調(diào)整輸出的碼流速率。最后在接收端,終端用戶 一邊從接收緩沖區(qū)中取數(shù)據(jù),解包,播放, 一邊從混合IP網(wǎng)上將數(shù)據(jù)包暫存于接收緩沖區(qū)中, 并同時(shí)將接收情況反饋給發(fā)送端,如果數(shù)據(jù)包發(fā)生丟失,我們采用改進(jìn)的ARQ機(jī)制來重傳該 包。
由于移動(dòng)流媒體對(duì)實(shí)時(shí)性要求高,視頻流對(duì)延遲很敏感,如果數(shù)據(jù)包在傳輸過程中丟失 了,那接收端將反饋給發(fā)送端,從而通過重傳緩沖區(qū)重傳該數(shù)據(jù)包,本發(fā)明適宜移動(dòng)流媒體 應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制采用一種基于間隔的方法來檢測(cè)數(shù)據(jù)包的丟失,以減少重傳延遲。 發(fā)送端發(fā)送的每個(gè)數(shù)據(jù)包包頭都包含一個(gè)序列號(hào)以標(biāo)明該數(shù)據(jù)包的播放序列,所以當(dāng)?shù)竭_(dá)的 數(shù)據(jù)包的序列和希望得到的序列之間有間隔,那我們就立刻做出判斷認(rèn)為有數(shù)據(jù)包丟失了。 當(dāng)收到的兩個(gè)連續(xù)的數(shù)據(jù)包的序列號(hào)之間有間隔時(shí),接收端通知重傳緩沖區(qū)重傳該數(shù)據(jù)包, 發(fā)送方接收到重傳請(qǐng)求后,就把需要重傳的數(shù)據(jù)包打上重傳標(biāo)記,并在網(wǎng)絡(luò)RTD (round trip delay:往返時(shí)延)允許范圍內(nèi),通過重傳緩沖區(qū)向接收端發(fā)送數(shù)據(jù)包,直到接收端收到為止。 比如,如圖1所示,在接收端,當(dāng)我們已經(jīng)收到序列號(hào)為2的數(shù)據(jù)包后,我們希望得到序列 號(hào)為3的數(shù)據(jù)包,但實(shí)際收到的卻是序列號(hào)為4的數(shù)據(jù)包,那就認(rèn)序列號(hào)為3的數(shù)據(jù)包丟失 了,那我們就立刻向重傳緩沖區(qū)發(fā)送序列號(hào)3的數(shù)據(jù)包的重傳請(qǐng)求(NAK3),通知發(fā)送方序列 號(hào)為3的數(shù)據(jù)包己經(jīng)丟失并請(qǐng)求重傳,發(fā)送方收到NAK3后就把序列號(hào)為3的數(shù)據(jù)包打上重傳 標(biāo)記,加到重傳緩沖區(qū)中,然后向接收端發(fā)送該數(shù)據(jù)包,接收端接收到該重傳包后就向發(fā)送 端發(fā)送確認(rèn)信息,發(fā)送端接收到該重傳包確認(rèn)信息后就把重傳序列號(hào)為3的數(shù)據(jù)包從重傳緩 沖區(qū)中刪除掉。如果整個(gè)過程超過了網(wǎng)絡(luò)的RTD允許范圍,那么該數(shù)據(jù)包也將丟失。由于采 用基于間隔的檢測(cè)數(shù)據(jù)包丟失的方法中檢測(cè)過程簡(jiǎn)單,只需要檢測(cè)序列號(hào)是否有間隔,實(shí)現(xiàn) 快速檢測(cè)數(shù)據(jù)包丟失,可以減小延遲,使得延遲時(shí)間能滿足移動(dòng)流媒體的要求,能夠滿足移 動(dòng)流媒體技術(shù)對(duì)時(shí)延的要求。
如果重傳請(qǐng)求本身再丟失了,那這個(gè)時(shí)候一般需要設(shè)置定時(shí)器來檢測(cè),確定重新發(fā)送的
時(shí)間,在重傳請(qǐng)求發(fā)出后一定時(shí)間內(nèi)沒有收到確認(rèn)信息就再次發(fā)出重傳請(qǐng)求。但定時(shí)器是系
統(tǒng)資源,在嵌入式系統(tǒng)中,這是稀缺資源,它不可能設(shè)置在接收端,所以我們提出一種樹形
數(shù)據(jù)結(jié)構(gòu)來有效代替定時(shí)器,從而實(shí)現(xiàn)發(fā)送多次重傳發(fā)送請(qǐng)求。樹形數(shù)據(jù)結(jié)構(gòu)多重傳發(fā)送請(qǐng)
求如圖2所示。在圖2的樹形結(jié)構(gòu)的中,如果客戶端檢測(cè)到有數(shù)據(jù)包丟失了,就往該結(jié)構(gòu)中
插入一個(gè)葉節(jié)點(diǎn),從而將需要重傳的節(jié)點(diǎn)就構(gòu)成一顆二叉樹。如圖3所示,在這顆二叉樹上
的每個(gè)節(jié)點(diǎn)都包括如下幾項(xiàng),計(jì)數(shù)器(counter)、序列號(hào)、左指針、右指針,其中計(jì)數(shù)器是 表示對(duì)該丟失的重傳數(shù)據(jù)包重新發(fā)出重傳請(qǐng)求的時(shí)間,序列號(hào)表示該數(shù)據(jù)包的播放序列號(hào), 左指針上指向二叉樹的左孩子,右指針指向二叉樹的右孩子。當(dāng)每接收一個(gè)新數(shù)據(jù)包就遍歷 一次這個(gè)二叉樹一次,每個(gè)節(jié)點(diǎn)的counter值就減1,當(dāng)counter值為0的時(shí),就對(duì)該丟失
數(shù)據(jù)包再次發(fā)出重傳請(qǐng)求。二叉樹中節(jié)點(diǎn)的couter值選擇要合理,不同的網(wǎng)絡(luò)性能該值不同, 但有個(gè)原則,該值從初值變?yōu)?的時(shí)間,必須要小于網(wǎng)絡(luò)的RTD值,這樣就可以防止在還沒 有進(jìn)行二次重傳時(shí),就因?yàn)槌^了網(wǎng)絡(luò)的RTD而被刪除。當(dāng)接收端接收到重傳請(qǐng)求包的時(shí)候 就把該包在二叉樹中的節(jié)點(diǎn)刪除,或者當(dāng)該包超過了網(wǎng)絡(luò)的RTD值,那么該包在二叉樹中的 節(jié)點(diǎn)也將刪除掉。這種控制多次重傳發(fā)送請(qǐng)求的方法實(shí)現(xiàn)了丟重傳數(shù)據(jù)包丟失后的再次重傳, 并且不需要用定時(shí)器,可以節(jié)約系統(tǒng)的定時(shí)器資源。
如果當(dāng)重傳數(shù)據(jù)包在到達(dá)接收端緩沖區(qū)之前,接收端的播放已經(jīng)到達(dá)重傳包的序列時(shí), 采取措施來填補(bǔ)該間隔,就是把剛剛收到的數(shù)據(jù)包直接插入到該間隔,如圖4中,在重傳數(shù) 據(jù)包在到達(dá)接收緩沖區(qū)之前,接收端已經(jīng)播放到了播放序列號(hào)為3的數(shù)據(jù)包,這時(shí)就把序列 號(hào)為4的數(shù)據(jù)包填補(bǔ)到序列號(hào)3的位置,這種方法能進(jìn)一步幫助提高差錯(cuò)恢復(fù)效率,從而提 高視頻流的傳輸質(zhì)量,保證視頻流的連續(xù)性。
已有的研究表明,當(dāng)在進(jìn)行丟包檢測(cè)時(shí),如果客戶端緩存里數(shù)據(jù)包在保證數(shù)據(jù)包不溢出 的情況下,容量越高,那么對(duì)丟失包的恢復(fù)可能性能就越大。在圖1中,接收緩沖區(qū)中數(shù)據(jù) 包的容量將可能由于數(shù)據(jù)包的丟失、延遲等而發(fā)生變化,并當(dāng)接收端的接收速率b大于播放 速率c的時(shí)候,接收緩沖區(qū)中數(shù)據(jù)包的容量也將增加,為了保證接收緩沖區(qū)數(shù)據(jù)包得容量較 高且不會(huì)溢出,本發(fā)明將接收端的緩沖區(qū)中數(shù)據(jù)包容量實(shí)時(shí)反饋給發(fā)送方,發(fā)送方根據(jù)該接 收端的緩沖區(qū)中數(shù)據(jù)包容量調(diào)整發(fā)送方的發(fā)送速率,從而保證接收方的接收緩沖區(qū)中數(shù)據(jù)包 的容量維持在一定水平且不至于溢出且維持較高的丟失包恢復(fù)可能性。
本發(fā)明適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制是作為移動(dòng)流媒體QoS控制策略的一部 分來實(shí)現(xiàn)的。在實(shí)際運(yùn)用中,移動(dòng)IP網(wǎng)絡(luò)流媒體的端到端QoS控制系統(tǒng)架構(gòu)如圖4所示,在 視頻發(fā)送端包括視頻編碼器、UDP/RTP打包、QoS監(jiān)控、FEC (前向糾錯(cuò)編碼)和速率控制、 發(fā)送緩沖區(qū)、重傳緩沖區(qū)等幾個(gè)模塊。其中,QoS監(jiān)控包括從RTCP反饋報(bào)告中檢測(cè)出RTT (往 返傳輸時(shí)間)和包丟失率等參數(shù)。速率控制模塊根據(jù)RTT和丟失率等參數(shù),估算可用帶寬, 用于調(diào)整編碼器的輸出碼率。接收端的UDP (用戶數(shù)據(jù)協(xié)議)/RTP解包模塊同時(shí)生成接收端 反饋信息,傳回發(fā)送端。視頻解碼器具有一定的誤碼恢復(fù)能力,包括對(duì)時(shí)延抖動(dòng)和丟包的緩 沖處理,以及時(shí)間和空間域上的錯(cuò)誤掩蓋等。
權(quán)利要求
1、一種適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制,其特征在于包括以下步驟(1)發(fā)送端按播放順序在每一個(gè)數(shù)據(jù)包中添加序列號(hào)并將數(shù)據(jù)包發(fā)送到接收端;(2)接收端根據(jù)其收到數(shù)據(jù)包的序列號(hào)之間的間隔控制重傳。
2、 按照權(quán)利要求l所述的適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制,其特征在于所述 的步驟(2)具體為(21) 接收端檢測(cè)到其接收到的數(shù)據(jù)包的序列號(hào)有間隔時(shí),請(qǐng)求發(fā)送端的重傳緩沖區(qū)重 傳該間隔序列號(hào)的數(shù)據(jù)包;(22) 發(fā)送端接收到重傳請(qǐng)求后,將所述間隔序列號(hào)的數(shù)據(jù)包打上重傳標(biāo)記,通過重傳 緩沖區(qū)向接收端發(fā)送該間隔序列號(hào)的數(shù)據(jù)包。
3、 按照權(quán)利要求2所述的適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制,其特征在于當(dāng)接收端向發(fā)送端發(fā)送的重傳請(qǐng)求本身丟失時(shí),接收端采用樹形數(shù)據(jù)結(jié)構(gòu)控制方法控制再次發(fā)送 重傳請(qǐng)求,所述的樹形數(shù)據(jù)結(jié)構(gòu)控制方法具體為-u)接收端在請(qǐng)求發(fā)送端重傳該間隔序列號(hào)的數(shù)據(jù)包后,將該間隔序列號(hào)的數(shù)據(jù)包節(jié)點(diǎn) 信息插入樹形數(shù)據(jù)結(jié)構(gòu)的葉節(jié)點(diǎn);(2) 接收端每接收--個(gè)數(shù)據(jù)包就遍歷一次該樹形數(shù)據(jù)結(jié)構(gòu),并將該樹形數(shù)據(jù)結(jié)構(gòu)每個(gè)節(jié) 點(diǎn)的計(jì)數(shù)器值減l,當(dāng)計(jì)數(shù)器值為0時(shí),接收端對(duì)該計(jì)數(shù)器值為0的間隔序列號(hào)的數(shù)據(jù)包再 次向發(fā)送端發(fā)送重傳請(qǐng)求;(3) 當(dāng)接收端接收到重傳數(shù)據(jù)包時(shí),將接收到的重傳該數(shù)據(jù)包在樹形數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的 葉節(jié)點(diǎn)刪除;當(dāng)重傳數(shù)據(jù)包超過網(wǎng)絡(luò)往返時(shí)延時(shí),將該超過網(wǎng)絡(luò)往返時(shí)延的重傳數(shù)據(jù)包在樹 形數(shù)據(jù)結(jié)構(gòu)中對(duì)應(yīng)的葉節(jié)點(diǎn)刪除。
4、 按照權(quán)利要求3所述的適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制,其特征在于所述 間隔序列號(hào)的數(shù)據(jù)包節(jié)點(diǎn)信息包括計(jì)數(shù)器、序列號(hào)、左指針和右指針。
5、 按照權(quán)利要求l所述的適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制,其特征在于接收 端將接收緩沖區(qū)中的數(shù)據(jù)容量實(shí)時(shí)反饋給發(fā)送端,發(fā)送端根據(jù)該數(shù)據(jù)容量調(diào)整數(shù)據(jù)發(fā)送速率。
6、 按照權(quán)利要求2或3所述的適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制,其特征在于當(dāng)間隔序列號(hào)的數(shù)據(jù)包到達(dá)接收端之前,接收端已播放到該間隔序列號(hào)的數(shù)據(jù)包時(shí),接收端 將剛收到的數(shù)據(jù)包插入到該間隔中并播放。
全文摘要
本發(fā)明公開了一種適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制,為解決現(xiàn)有的自動(dòng)重傳請(qǐng)求機(jī)制時(shí)延較大而不適宜運(yùn)用到移動(dòng)流媒體中的問題而發(fā)明的。該適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制包括(1)發(fā)送端按播放順序在每一個(gè)數(shù)據(jù)包中添加序列號(hào)并將數(shù)據(jù)包發(fā)送到接收端;(2)接收端根據(jù)其收到數(shù)據(jù)包的序列號(hào)之間的間隔控制重傳。其中重傳控制為接收端檢測(cè)到其接收到的數(shù)據(jù)包的序列號(hào)有間隔時(shí),請(qǐng)求發(fā)送端的重傳緩沖區(qū)重傳該間隔序列號(hào)的數(shù)據(jù)包。這種檢測(cè)數(shù)據(jù)包丟失的方法由于只需要檢測(cè)序列號(hào)之間是否有間隔,實(shí)現(xiàn)了快速檢測(cè)數(shù)據(jù)包丟失,使得重傳時(shí)延減小了,本發(fā)明適宜移動(dòng)流媒體應(yīng)用的自動(dòng)重傳請(qǐng)求機(jī)制主要運(yùn)用到移動(dòng)流媒體的視頻流播放中。
文檔編號(hào)H04L1/16GK101179362SQ200610138330
公開日2008年5月14日 申請(qǐng)日期2006年11月7日 優(yōu)先權(quán)日2006年11月7日
發(fā)明者余同軍, 劉繼興, 云 葉 申請(qǐng)人:中興通訊股份有限公司