專利名稱::利用交錯播放和交叉分組前向糾錯在基于因特網(wǎng)協(xié)議的無線網(wǎng)絡(luò)中恢復(fù)突發(fā)分組丟失的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及無線網(wǎng)絡(luò),更具體地說,涉及利用交錯播放(staggercasting)和交叉分組(cross-packet)前向糾錯來恢復(fù)隨機和突發(fā)分組丟失(burstpacketloss)。
背景技術(shù):
:盡管無線局域網(wǎng)(WLAN)最初被設(shè)計用于數(shù)據(jù)通信,對于WiFi多媒體應(yīng)用的興趣和需求也快速增加。IEEE802.11WLAN上的視頻多播使得能夠有效地同時將實時視頻或預(yù)記錄娛樂節(jié)目分發(fā)給許多接收機。然而,數(shù)字視頻傳送需要高可靠性、有限延遲和帶寬效率。無線鏈接是不可靠的,具有時變和突發(fā)鏈路錯誤。特別地,在視頻多播應(yīng)用中,相同視頻的不同接收機可經(jīng)歷不同的信道條件。接收機也可在會話期間離開或加入,以致網(wǎng)絡(luò)拓樸改變。此外,在當(dāng)前正EE802.11標(biāo)準(zhǔn)中對于多播不存在鏈路層重傳并沒有鏈路層適配。錯誤分組簡單地被丟失。對于應(yīng)用層它像是分組刪除(erasure)信道。分組丟失能夠通過^^查分組首標(biāo)的序列號字段來檢測。因此,在期望的服務(wù)區(qū)域中,為所有多播視頻接收機支持業(yè)務(wù)質(zhì)量(QoS)同時有效利用可用WLAN資源是重要且具有挑戰(zhàn)的任務(wù)。在基于IP的無線網(wǎng)絡(luò)的視頻多播/廣播中,視頻數(shù)據(jù)被封裝到UDP/IP分組并且經(jīng)由無線網(wǎng)絡(luò)多播/廣播到移動裝置?;贗P的無線網(wǎng)絡(luò)可以是無線局域網(wǎng)(WLAN)、蜂窩網(wǎng)絡(luò)、無線城域網(wǎng)絡(luò)(WMAN)、和無線區(qū)域網(wǎng)絡(luò)(WRAN)。當(dāng)移動裝置從一個小區(qū)移動到另一個時,它從當(dāng)前關(guān)聯(lián)的基站(BS)/接入點(AP)越區(qū)切換/交接到另一BS/AP。兩個BS/AP通常運行在不同頻率/信道。當(dāng)移動裝置改變操作頻率以與新BS/AP關(guān)聯(lián)時,多個分組被丟失。典型地,廣播信號被同時發(fā)送到所有可能接收機。多播信號被同時發(fā)送到組中所有可能接收機的所選子集(一個或多個)。如這里所使用的,多播也包括廣播。即,多播信號可以發(fā)送到組中所有可能接收機的所選子集,其中所選子集可包括所有可能接收機的整個集,即多播組是所有接收機。在無線系統(tǒng)中,信道編碼在物理層被使用以保護分組防止多徑衰落和干擾。然而,分組內(nèi)的信道編碼不能恢復(fù)越區(qū)切換/交接期間的分組丟失。一種現(xiàn)有技術(shù)方法提供在ATSC系統(tǒng)中發(fā)送從原始數(shù)據(jù)時延/時移(交錯播放)的復(fù)制數(shù)據(jù),以改善廣播系統(tǒng)的穩(wěn)健性(robustness)。當(dāng)復(fù)制、時間交錯流被發(fā)送時,系統(tǒng)能夠容忍最多兩個流之間時移的持續(xù)時間的信號丟失。另一現(xiàn)有技術(shù)方法提供原始數(shù)據(jù)的較低比特率版本(代替確切的原始數(shù)據(jù)),具有時延地被重復(fù)傳送。這種方法減少了冗余數(shù)據(jù)所利用的帶寬。然而,這些現(xiàn)有技術(shù)方案都發(fā)送復(fù)合信號,并總是發(fā)送是否存在任何客戶端/接收機想要/需要數(shù)據(jù)的信號。然而另一種現(xiàn)有技術(shù)方法提供使用交叉分組前向糾錯(FEC)碼來免于ATSC系統(tǒng)中的同步丟失。FEC碼也被用于恢復(fù)基于IP無線網(wǎng)絡(luò)中的丟失分組。通常,錯誤分組被鏈路層去除。FEC碼在傳輸層和應(yīng)用層被應(yīng)用到分組,并且刪除解碼被用于恢復(fù)丟失分組。然而,F(xiàn)EC奇偶校驗分組通常與數(shù)據(jù)分組一起發(fā)送。在越區(qū)切換/交接期間,出現(xiàn)長錯誤突發(fā)串。這些長錯誤突發(fā)串導(dǎo)致超過FEC能力的數(shù)據(jù)分組和奇偶校驗分組的丟失,以致丟失數(shù)據(jù)分組不能恢復(fù)。存在大量對于各種應(yīng)用層前向糾錯(FEC)和自動重傳請求(ARQ)算法的研究和理論分析/仿真,以恢復(fù)分組丟失和改善無線網(wǎng)絡(luò)中的傳輸可靠性。另一種現(xiàn)有技術(shù)方法描述了針對單播視頻傳輸?shù)幕贏CK的混合ARQ算法和針對WLAN上多播視頻傳輸?shù)睦肍EC(MDFEC)的順序視頻編碼。然而另一種現(xiàn)有技術(shù)方法提供有線因特網(wǎng)環(huán)境中多播的接收機驅(qū)動FEC方案,其中FEC分組被從視頻分組延遲。然而,這種方法關(guān)注于如何優(yōu)化有線因特網(wǎng)環(huán)境中異類接收機的性能。本發(fā)明所提出和解決的問題是如何恢復(fù)隨機和突發(fā)分組丟失,并且實現(xiàn)無縫越區(qū)切換以確保基于IP無線網(wǎng)絡(luò)上的高質(zhì)量視頻多播/廣播。
發(fā)明內(nèi)容在無線網(wǎng)絡(luò)中,移動裝置可經(jīng)歷隨機和突發(fā)分組丟失。這可能是由于從一個基站/4妻入點越區(qū)切換/交接到另一基站/接入點。在這些周期期間發(fā)送的數(shù)據(jù)相對于接收機/移動裝置被丟失。本發(fā)明提供一種通過重復(fù)發(fā)送具有時移的數(shù)據(jù)分組和交叉分組FEC奇偶校驗分組(交錯播放)來恢復(fù)數(shù)據(jù)分組丟失以無縫越區(qū)切換/交接的方法和裝置。在現(xiàn)有技術(shù)中沒有考慮如果編碼塊中的所有視頻分組都丟失如何進行恢復(fù),這可能發(fā)生在突發(fā)分組丟失期間,例如無線網(wǎng)絡(luò)中的交接期間或作為遮蔽(shadowing)的結(jié)果?,F(xiàn)有技術(shù)方法中也沒有考慮如何在接收機同步FEC編碼塊中的視頻分組和奇偶校驗分組,以及分組中的填充信息如何被通信,以及如何支持老的非FEC能力接收機以向后兼容。這里描述的系統(tǒng)包括一個或多個服務(wù)器/發(fā)送機/發(fā)送器、無線基站或接入點、以太網(wǎng)交換、和接收機。這里使用的接收機典型地是移動裝置。移動裝置包括但不限于移動電話、蜂窩電話、移動終端、視頻播放器、個人數(shù)字助理(PDA)和筆記本電腦。利用不同IP多播組,常規(guī)/原始數(shù)據(jù)和時移奇偶數(shù)據(jù)以向后兼容的方式被發(fā)送。即,如果移動裝置不具有本發(fā)明中提供的能力,它仍然能夠接收和解碼常規(guī)-魄頻分組本身,只是對于分組丟失系統(tǒng)恢復(fù)性低。延遲的奇偶校驗分組被移動裝置丟棄。這實現(xiàn)了老裝置的向后兼容。本發(fā)明是應(yīng)用層交錯FEC方案,能夠恢復(fù)隨機和突發(fā)分組丟失。特別地,本發(fā)明在隨機和突發(fā)分組丟失期間實現(xiàn)無縫服務(wù)(即,沒有視頻雜訊)。本發(fā)明考慮視頻多播特性,并提供無縫越區(qū)切換的應(yīng)用層方案。如果多個視頻分組在突發(fā)中完全丟失,則丟失分組能夠從相應(yīng)FEC奇偶校驗分組本身恢復(fù)。描述了一種用于發(fā)送數(shù)據(jù)的方法和系統(tǒng),包括打包數(shù)據(jù),對打包數(shù)據(jù)執(zhí)行前向糾錯(FEC)編碼以生成至少一個奇偶校驗分組,將作為填充的FEC信息附加到打包數(shù)據(jù)的有效載荷數(shù)據(jù)的結(jié)尾,并發(fā)送打包數(shù)據(jù)和至少一個奇偶校驗分組。還描述了一種恢復(fù)分組丟失的方法和系統(tǒng),包括接收數(shù)據(jù)分組;接收至少一個奇偶校驗分組;緩沖所接收的數(shù)據(jù)分組;檢測分組丟失;利用從所述數(shù)據(jù)分組和從所述至少一個奇偶校驗分組提取的前向糾錯信息前向糾錯解碼所述至少一個奇偶校驗分組來恢復(fù)分組丟失;和經(jīng)由內(nèi)部套接字(socket)轉(zhuǎn)發(fā)所述恢復(fù)分組。還描述了一種交錯播放的方法,包括編碼和壓縮第一數(shù)據(jù)序列;打包所壓縮的編碼數(shù)據(jù)序列以形成數(shù)據(jù)分組;對所述數(shù)據(jù)分組執(zhí)行前向糾錯(FEC)編碼以生成與所述第一數(shù)據(jù)序列相關(guān)的第二數(shù)6據(jù)序列;將作為填充的FEC信息附加到所述數(shù)據(jù)分組的有效載荷數(shù)據(jù)的結(jié)尾;打包所述第二數(shù)據(jù)序列以形成一分組;多播所述數(shù)據(jù)分組到第一多播組;和多播利用被延遲了一偏移時間的所述第二數(shù)據(jù)序列形成的所述分組到第二多播組。當(dāng)結(jié)合附圖閱讀時,從下面的詳細(xì)描述中能更好地理解本發(fā)明。附圖包括以下筒要描述的附圖,其中附圖中相同的標(biāo)號指定相同元件圖1是利用交錯播放的基于因特網(wǎng)協(xié)議的無線網(wǎng)絡(luò)中多播系統(tǒng)的示意圖。圖2是示例性視頻服務(wù)器/發(fā)送機結(jié)構(gòu)的示意圖。圖3是根據(jù)本發(fā)明的示例性客戶機代理結(jié)構(gòu)。圖4是K=4,N=8的本發(fā)明的FEC交錯播放的方法的例子。圖5示出用于RS編碼的傳統(tǒng)填充方案。圖6示出用于RS編碼的傳統(tǒng)混合填充方案。圖7a示出根據(jù)本發(fā)明能夠支持混合填充的源RTP分組格式。圖7b示出奇偶RTP分組格式。圖8a是根據(jù)本發(fā)明原理利用通過延遲恢復(fù)多播組中交叉分組前向糾錯(FEC)碼而生成的奇偶校驗分組的示例性視頻服務(wù)器/編碼器應(yīng)用的流程圖。圖8b是根據(jù)本發(fā)明原理利用通過延遲恢復(fù)多播組中交叉分組前向糾錯(FEC)碼而生成的奇偶校驗分組的示例性視頻服務(wù)器/編碼器的示意圖。圖9是根據(jù)本發(fā)明原理的交叉分組編碼的例子。圖10a是根據(jù)本發(fā)明原理利用通過延遲恢復(fù)多播組中交叉分組FEC碼而生成的奇偶校驗分組的示例性移動接收機應(yīng)用的流程圖。圖10b是根據(jù)本發(fā)明原理利用通過延遲恢復(fù)多播組中交叉分組FEC碼而生成的奇偶校驗分組的示例性移動接收機應(yīng)用的示意圖。圖lla示出原始IO秒長視頻序列中每個幀的亮度SNR(SNR-Y)。圖1lb示出循環(huán)1分鐘長視頻序列的亮度SNR(SNR-Y)。圖12示出各種干擾級下表1中序列的平均SNR-Y。圖13示出兩種形式中客戶端感測的相應(yīng)鏈路質(zhì)量。圖14示出各種干擾級下殘留分組丟失率PLR。圖15示出具有不同F(xiàn)EC延遲和越區(qū)切換/突發(fā)持續(xù)時間的序列F和G的視頻質(zhì)量。圖16示出序列F和G之間的質(zhì)量比較。具體實施例方式本發(fā)明是關(guān)于在無線網(wǎng)絡(luò)中使用交錯播放以恢復(fù)隨機和突發(fā)數(shù)據(jù)分組丟失。這是通過發(fā)送數(shù)據(jù)分組和帶有時移/延時的交叉分組FEC奇偶校驗分組實現(xiàn)的。本發(fā)明是獨立于視頻編碼方案的。雖然通過無線網(wǎng)絡(luò)的視頻多播被用作說明本發(fā)明的實例,但是本發(fā)明也可用于發(fā)送音頻流。參考圖1,示出了根據(jù)本發(fā)明的典型網(wǎng)絡(luò)系統(tǒng)。多基站/接入點AP1、AP2形成了蜂窩網(wǎng)絡(luò)以增加網(wǎng)絡(luò)覆蓋。為了減少干擾,相鄰無線基站/接入點APl/AP2工作在不同的載頻/無線頻段上。至少一個視頻服務(wù)器105通過高速以太網(wǎng)LAN或其他有線高速網(wǎng)絡(luò)連接到多個無線基站(BS)或接入點(AP)。視頻服務(wù)器105包括在其他部件中的視頻編碼器/代碼轉(zhuǎn)換器以及打包器。對于動態(tài)視頻多播/廣播,視頻內(nèi)容被編碼/代碼轉(zhuǎn)換、打包并且隨后通過無線基站/接入點AP1、AP2多播到多個移動客戶端(110、115a、115b、120a、120b、個移動客戶端。當(dāng)移動裝置(如115a、120b)從一個小區(qū)移動到另一個小區(qū)時,移動裝置被從其當(dāng)前所關(guān)聯(lián)的基站(BS)/接入點(AP)越區(qū)切換/交接到另一個BS/AP。當(dāng)移動裝置(115a、120b)改變其工作頻率以與新的BS/AP關(guān)聯(lián)時,多個分組可能被丟失。為了恢復(fù)丟失的分組并實現(xiàn)無縫越區(qū)切換,本發(fā)明提供了同時聯(lián)播(simulcasting)視頻內(nèi)容(數(shù)據(jù)分組)以及通過FEC編碼(如具有時移的半速率里德-所羅門編碼)從數(shù)據(jù)分組產(chǎn)生的奇偶校驗分組。常規(guī)視頻分組流在一個IP多播組(常規(guī)視頻多播組)中被發(fā)送給所有的基站/接入點。此外,時間交錯/移位/延遲FEC流在另一個IP多播組(延遲恢復(fù)多播組)中被發(fā)送給所有移動裝置。這種技術(shù)在此稱為交錯播放。常規(guī)視頻流和時移FEC流提供時間分集以提高系統(tǒng)在越區(qū)切換/交接情況下的穩(wěn)健性。系統(tǒng)明顯地能夠容許最長為時移期間的分組丟失。移動裝置可僅加入視頻組。當(dāng)移動裝置從一個BS/AP被越區(qū)切換到相鄰BS/AP時,無論當(dāng)檢測到錯誤或是當(dāng)越區(qū)切換/交接情況發(fā)生時,移動裝置向新BS/AP發(fā)送請求以加入/注冊(subscribe)到常規(guī)視頻多播組和延遲FEC多播組。新BS/AP通過無線鏈路的多播發(fā)送/多播常規(guī)視頻分組流和延遲FEC分組流。移動裝置接收這兩個流。如果加入時間小于視頻流和FEC奇偶流之間的時移,則相應(yīng)的奇偶校驗分組將被移動裝置接收以恢復(fù)丟失的視頻分組。如果移動裝置檢測到常規(guī)視頻分組流中的一些分組丟失,則移動裝置切換到時延FEC分組流以恢復(fù)丟失分組。如果常規(guī)視頻分組流和延遲FEC流之間的時移持續(xù)時間/期間大于越區(qū)切換時間(或突發(fā)),則丟失的視頻數(shù)據(jù)可以被恢復(fù)在常規(guī)視頻分組流中的丟失數(shù)據(jù)被恢復(fù)后,移動裝置可以發(fā)送請求給BS/AP以離開/注銷/退出延遲FEC多播組。如果沒有與BS/AP關(guān)聯(lián)的移動裝置需要多播組數(shù)據(jù)(常規(guī)視頻數(shù)據(jù)或延遲FEC數(shù)據(jù)),即不存在多播組的成員,則BS/AP將不通過無線網(wǎng)絡(luò)發(fā)送對于該多播組的數(shù)據(jù),并且去除該數(shù)據(jù)。這樣可以節(jié)省無線帶寬。移動裝置可以使用因特網(wǎng)多播管理協(xié)議(IGMP)或其它協(xié)議來向BS/AP發(fā)送請求以加入或離開一個多播組。在可選實施例中,移動裝置向以太網(wǎng)交換機發(fā)送請求以加入或離開一個多播組。如果沒有與BS/AP關(guān)聯(lián)的移動設(shè)備需要多播組數(shù)據(jù),以太網(wǎng)交換機將不向BS/AP發(fā)送多播組的數(shù)據(jù)。特別地,還是參考圖1,移動裝置115b從AP2服務(wù)/支持的小區(qū)移動到API服務(wù)/支持的小區(qū)。這樣,移動裝置(現(xiàn)在API支持的115a)向API發(fā)送請求以加入/注冊到常規(guī)視頻和延遲FEC多播組,并且接收常規(guī)視頻分組流(流1)和延遲/時移FEC流(流2)。如果在常規(guī)視頻分組流中發(fā)現(xiàn)錯誤(一些分組丟失),則移動裝置切換到時延FEC分組流以恢復(fù)丟失的分組。如果常規(guī)視頻分組流和延遲FEC流之間的時移期間大于越區(qū)切換時間,則接收到的相應(yīng)奇偶校驗分組將被用于恢復(fù)丟失的視頻分組。在常規(guī)視頻分組流中的丟失數(shù)據(jù)被恢復(fù)后,移動裝置115a可以向BS/AP發(fā)送請求以離開/注銷/退出延遲視頻多播組。同樣,移動裝置120a從API服務(wù)/支持的小區(qū)移動到AP2服務(wù)/支持的小區(qū)。這樣,移動裝置(現(xiàn)在是AP2支持的120b)向AP2發(fā)送請求以加入/注冊到常規(guī)和延遲視頻多播組,并且接收常規(guī)視頻分組流(流1)和延遲/時移FEC流(流2)。如果在常規(guī)視頻分組流發(fā)現(xiàn)錯誤(一些分組丟失),則移動裝置將切換到時延FEC分組流以恢復(fù)丟失的分組。如果常規(guī)^L頻分組流和延遲FEC流之間的時移期間大于越區(qū)切換時間,則接收到的相應(yīng)奇偶校驗分組9將被用于恢復(fù)丟失的視頻分組。在常規(guī)視頻分組流中的丟失數(shù)據(jù)被恢復(fù)后,移動裝置120b可以向BS/AP發(fā)送請求以離開/注銷/退出延遲視頻多播組。任何系統(tǒng)FEC碼,如里德-所羅門(RS)碼,均可和刪除解碼一起被用來恢復(fù)丟失分組。在示范性實施例中,在視頻流服務(wù)器中由交叉分組前向糾錯編碼產(chǎn)生的FEC奇偶校驗分組^皮發(fā)送給延遲恢復(fù)IP多播組。注意,應(yīng)用FEC碼于視頻分組(交叉分組)以生成奇偶校驗分組。這樣做的原因是如果在應(yīng)用層的單個分組中應(yīng)用FEC編碼,則錯誤分組將被MAC層接收時去除并且將不能被用于應(yīng)用層的糾錯。如果RS(N、K)碼應(yīng)用于K個視頻分組以生成(N-K)個奇偶校驗分組。只要在每個編碼塊中至少K個(無論是視頻還是奇偶校驗分組)分組被正確接收,則原始K個視頻分組就可以被恢復(fù)。對視頻數(shù)據(jù)分組應(yīng)用FEC碼以產(chǎn)生奇偶校驗分組。視頻分組流和奇偶校驗分組流被時移地多播到不同IP多播組,即交錯播放視頻流和奇偶流用于時間分集。特別地,視頻/流服務(wù)器將原始視頻分組流和附加FEC奇偶校驗分組流通過以太網(wǎng)被時移地發(fā)送給不同IP多播組的所有的BS/AP,如交錯播放視頻流和FEC奇偶流。隨后,每個BS/AP在WLAN上以多播方式發(fā)送視頻流和FEC奇偶流。因此,常規(guī)視頻流和時移奇偶流提供時間分集以改善視頻多播穩(wěn)健性。圖2是示范性視頻服務(wù)器/發(fā)送機系統(tǒng)結(jié)構(gòu)的示意框圖。圖2示出了根據(jù)本發(fā)明使用交錯FEC用于視頻多播系統(tǒng)的視頻發(fā)送機/服務(wù)器。UDP/IP協(xié)議棧220用于視頻多播。實際上,協(xié)議棧包括RTP,但是,協(xié)議棧的RTP部分(打包)205被從協(xié)議棧的UDP/IP部分分割出來,并且由FEC編碼模塊210在FEC編碼之前處理。在這種情況下,視頻序列被預(yù)壓縮并且存儲為MP4格式的文件。由于其壓縮效率,H.264視頻編碼被用于本發(fā)明的示范性實施例。其他視頻編碼方案也是可能的。而且,視頻編碼器實時壓縮視頻也是可能的。FEC編碼模塊210被置于RTP數(shù)據(jù)打包205之后,但是在UDP/IP層220之前。壓縮—見頻由RTP打包器205打包,并且RTP分組首標(biāo)被添加。根據(jù)本發(fā)明,F(xiàn)EC編碼模塊210將FEC相關(guān)控制信息作為填充(符)附加到視頻分組。在傳統(tǒng)的^f見頻分組(例如3GPP分組)中,在RTP首標(biāo)之后和RTP有效載荷(視頻數(shù)據(jù))之前插入FEC編碼信息。通過移動作為視頻分組的填充的FEC控制信息,因為填充將被非FEC老播放器(non-FECcapablelegacyplayer)忽略,所以分組格式與非FEC老播放器向后兼容。隨后,在FEC編碼模塊中,系統(tǒng)FEC碼被應(yīng)用于視頻分組以產(chǎn)生奇偶校驗分組。在示范性實施例中,用Vandermonde矩陣構(gòu)建的里德-所羅門(RS)碼被使用。對于RS(N,K)碼,K個視頻分組被分成一組。在編碼期間,RS碼被應(yīng)用于分組組,并且來自每個分組的一個碼元由碼字組成。從K個視頻分組產(chǎn)生(N-K)個奇偶校驗分組。為了在接收機可以進行解碼,在包括FEC信息的FEC分組中添加首標(biāo)。在示范性實施例中,F(xiàn)EC參數(shù)N和K可以被實時動態(tài)調(diào)整。通過UDP/IP棧220和以太網(wǎng)接口225,以IP多播組(常規(guī)視頻多播組)發(fā)送視頻分組至BS/AP。隨后,以偏移時間Td,F(xiàn)EC奇偶校驗分組被存儲在延遲緩沖器215中。在延遲后,通過UDP/IP棧220和以太網(wǎng)接口225以另一IP多播組(延遲恢復(fù)(FEC)多播組),將FEC奇偶校驗分組發(fā)送給BS/AP。會話描述協(xié)議(SDP)用于指示視頻多播組和FEC多播組信息,包括多播地址、視頻編碼格式、FEC編碼方案等,以及在視頻流和奇偶校驗分組流之間的聯(lián)系。由流服務(wù)器通過會話發(fā)布協(xié)議(SAP)開始或發(fā)布會話時,客戶可以通過超文本傳輸協(xié)議(HTTP)或?qū)崟r流協(xié)議(RTSP)下載SDP文件。可以使用商用和免費視頻播放器,如Quicktime和VLC播放器,但是這些播放器不支持FEC編碼。通常,源代碼不能由商用播放器使用,并且不能集成FEC支持。盡管對于免費播放器源代碼是可用的,但是將用于FEC編碼的支持集成到每個免費播放器以及保持和更新FEC編碼支持依然是非常困難的。本發(fā)明將涉及如圖3所示的一種客戶代理結(jié)構(gòu)300。本發(fā)明的客戶代理結(jié)構(gòu)300與任何商用以及免費視頻播放器一起工作。該客戶代理從不同多播組接收視頻和FEC分組,恢復(fù)丟失視頻分組并且通過內(nèi)部套接字發(fā)送已恢復(fù)的視頻分組至播放器。圖3是根據(jù)本發(fā)明的示范性客戶代理結(jié)構(gòu)。客戶代理可以是硬件、軟件、固件、特定用途集成電路(ASIC)、簡化指令集計算機(RISC)、現(xiàn)場可編程門陣列(FPGA)或其任何組合??蛻舸砦挥诓⑶医M成如視頻播放器的移動裝置的一部分。客戶代理通過WLAN接口305和UDP/IP協(xié)議棧310從不同多播組接收常規(guī)視頻分組和延遲奇偶(恢復(fù))分組。因為在視頻/流服務(wù)器端,協(xié)議棧的RTP部分(解包)325被從協(xié)議棧的UDP/IP部分310中分割。在緩沖器315中延遲已接收的視頻數(shù)據(jù)分組,其可通過初始化播放延時而實現(xiàn)。FEC刪除解碼模塊320被放置在UDP/IP棧310之后。錯誤分組被鏈路層去除。FEC刪除解碼模塊320通過在刪除解碼中使用的分組首標(biāo)中的序列號來檢測丟失的視頻分組或奇偶校驗分組的位置。如果檢測到分組丟失,則向BS/AP發(fā)送請求以加入延遲FEC多播組以獲得相應(yīng)的奇偶校驗分組。奇偶校驗分組和視頻分組中的FEC首標(biāo)被FEC解碼模塊320用于確定FEC塊信息。在所有分組在發(fā)送機編碼期間被填充成最長分組的情況下,利用RS(N,K)碼,不管是視頻數(shù)據(jù)分組或是奇偶校驗分組,只要FEC編碼塊中N個分組的任何K個或更多分組被正確接收,則FEC刪除解碼可以重新構(gòu)建原始的視頻分組。FEC刪除解碼是對整個分組執(zhí)行的、編碼每個分組的一個碼元以組成碼字的反過程。在使用FEC奇偶校驗分組已經(jīng)將丟失的視頻/源分組恢復(fù)后,填充從恢復(fù)的視頻/源分組中去除。通過內(nèi)部套接字和UDP/IP棧330將恢復(fù)的視頻分組發(fā)送給視頻播放器340。以回送配置(loopbackarrangement)的視頻播放器340可以通過一個UDP/IP棧,如UDP/IP棧335接收恢復(fù)的視頻分組?;謴?fù)的視頻/數(shù)據(jù)分組也可以被轉(zhuǎn)發(fā)給另一視頻播放器。該視頻文件可以被RTP解包器325存儲。因為除了被用作填充的FEC信息以外,原始RTP視頻源分組未被改變,所以利用結(jié)合FEC能力或非FEC能力的接收機,所述FEC機制能夠被用在多播情況?;赗TP說明,填充信息可以被非FEC能力播放器忽略。如果移動裝置不具有FEC能力,則該移動裝置可以僅從視頻多播組接收常規(guī)視頻分組,對于分組丟失具有低系統(tǒng)恢復(fù)力。不同多播組中的奇偶校驗分組可以被協(xié)議棧去除。這將實現(xiàn)向后兼容。突發(fā)分組丟失可能發(fā)生在移動裝置越區(qū)切換期間。在越區(qū)切換/交接期間,編碼塊中的一些或者全部視頻分組將丟失。在本發(fā)明中,半速率RS碼用于解決此問題。對于具有刪除解碼的RS碼,每個奇偶校驗分組可以恢復(fù)編碼塊中丟失分組的任何一個。當(dāng)半速率RS(N,K)碼(N=2K)被應(yīng)用于K個視頻分組時,生成K個奇偶校驗分組。利用半速率RS碼,即使在越區(qū)切換期間的突發(fā)中視頻分組完全丟失,丟失的分組也可以從相應(yīng)奇偶校驗分組中恢復(fù)。這樣,半速率RS碼產(chǎn)生的奇偶校驗分組流是原始視頻分組流的其他描述。接著,系統(tǒng)可以顯然容許最多在視頻流和奇偶流之間的時移Td期間的突發(fā)分組丟失。圖4是K=4,N=8的本發(fā)明用于恢復(fù)突發(fā)分組丟失的FEC交錯播放的方法的例子。利用RS(8,4)碼,從每個K=4源分組產(chǎn)生N-K=4奇偶校驗分組。該方形(square)分組屬于一個FEC編碼塊,并且橢圓(oval)分組屬于另一FEC編碼塊。在如越區(qū)切換的突發(fā)期間,視頻和FEC奇偶校驗分組均可能丟失。接收機對接收到的視頻分組和相應(yīng)的奇偶校驗分組執(zhí)行FEC刪除解碼。只要正確接收到至少K個分組(視頻或奇偶校驗分組),原始K個源分組就可以被恢復(fù)。在非交錯播放情況下,因為接收到6個分組(FEC和視頻),所以方形塊分組可以;陂恢復(fù)。但是由于僅正確接收2個分組,所以橢圓塊分組不能被恢復(fù)。在交錯播放情況下,由于在視頻流和奇偶流之間存在Td偏移時間,所以其中的丟失分組的位置是不同的。因為對于每個塊,接收到至少四個分組,所以方形和橢圓塊分組均可以被恢復(fù)。交錯播放實現(xiàn)了視頻流和奇偶流的時間分集。在信息/一見頻流和奇偶流之間的時移Td是一個設(shè)計參數(shù)。該參數(shù)可以根據(jù)由于越區(qū)切換或遮蔽(shadowing)引起的預(yù)期最大分組突發(fā)丟失的持續(xù)時間來選擇。預(yù)期越區(qū)切換或遮蔽丟失的長度應(yīng)該小于Td。注意,利用半速率RS碼,可恢復(fù)的突發(fā)丟失的長度與RS碼參數(shù)N和K無關(guān)。這提供了系統(tǒng)設(shè)計的靈活性。通過調(diào)整時移Td,越區(qū)切換丟失或遮蔽丟失可以被恢復(fù)。在實現(xiàn)RS編解碼器時,選4奪8比特的碼元長度對于快速編碼和解碼是有益的。這導(dǎo)致具有塊長度N^255八位位組的RS碼。本發(fā)明的一示范性實施例使用l字節(jié)碼元。通過截短和縮短具有N-255的母碼,能夠獲得較短塊長度和維度的RS碼。截短碼是從(N,K)母碼獲得的(N-L,K)碼;縮短碼是從(N,K)母碼獲得的(N-L,K-L)碼。本發(fā)明的具體實現(xiàn)是基于Vandermonde發(fā)生器矩陣,用于有效的刪除校正。RS(N,K)碼字由K個源碼元和(N-K)個奇偶碼元組成。在編碼過程中,KxNVandermonde發(fā)生器矩陣被轉(zhuǎn)化成其系統(tǒng)版本,其中第一K列形成單位矩陣,隨后,通過將系統(tǒng)發(fā)生器矩陣乘以K碼元的矢量計算出RS碼字。因為碼是系統(tǒng)的,所以第一K個編碼的碼元與原始源碼元完全相同。在解碼期間,根據(jù)碼字中已接收的K個碼元的位置,從系統(tǒng)Vandermonde矩陣的K列形成K>K子矩陣。將子矩陣反轉(zhuǎn),并且將反轉(zhuǎn)后的子矩陣乘以K個接收到的碼元的矢量而恢復(fù)原始K個源碼元。為了避免錯誤傳播,每個RTP/UTP/IP分組僅包括用于視頻編碼單元(視頻幀或片段)的壓縮數(shù)據(jù),這樣,分組的大小是不同的。為了保持低解碼復(fù)雜性,希望對每個源塊僅執(zhí)行一次矩陣轉(zhuǎn)置。因此,對于源塊中的所有RS碼字行來說,接收的碼元的位置必須相同。使用填充以形成源塊,其中,分13組的大小是一致的。在圖5中示出了一種填充方法。在應(yīng)用FEC碼之前,源編碼塊中較短的分組被零填充,這樣他們的長度就變得和源編碼塊中的最長的分組長度一樣。在FEC編碼期間,兩字節(jié)RTP分組大小字段被插入到每個源分組之前,以使解碼器知道在恢復(fù)后的源分組中填充碼元的數(shù)量。注意,因為解碼器可以從IP層獲得分組大小,所以分組大小字段不被發(fā)送。在編碼期間,通過填充分組計算多個碼字,每個碼字由每個填充分組中的一個碼元組成。如果使用RS(N,K)碼,則從K個原分組產(chǎn)生(N-K)個奇偶校驗分組。如果分組大小差異太大,則該填充方法將產(chǎn)生非常大數(shù)量的填充,使得用FEC的大部分開銷來保護填充碼元。雖然填充碼元不被發(fā)送,但是也降低了FEC的性能。在圖6中示出了另一種填充方法,叫做混合填充。大分組在矩陣中的多行被打包。對于編碼塊每行的大小,叫做編碼單元大小U,可以被確定以最小化填充開銷。這種填充方法降低了填充的總數(shù)量,并且對于可變大小分組具有低解碼復(fù)雜性。在源塊中,每個源分組以新行開始。如果分組長度不是行長度的倍數(shù),則填充碼元將被附加到該行結(jié)尾。注意,填充碼元僅用于計算奇偶校驗分組。在FEC編碼模塊發(fā)送分組之前,填充碼元將被從視頻/源分組中去除。源塊行的數(shù)量應(yīng)該小于或等于K。在FEC編碼期間,二字節(jié)RTP分組大小字段被插在每個源分組之前,以使解碼器知道已恢復(fù)的視頻/源分組中的填充碼元的數(shù)量。因為解碼器可以從IP層獲得分組大小,所以分組大小字段不被傳輸。RS(N,K)碼被沿著列應(yīng)用,如碼字由每列的一個碼元組成。這種填充方法保持低的解碼復(fù)雜性。因為對于源塊中的RS碼字的所有列,丟失碼元的位置均相同,所以解碼一個源塊僅需要一個轉(zhuǎn)置矩陣。注意,標(biāo)準(zhǔn)填充方法是行大小等于最大分組長度的特殊情況。奇偶校驗分組可以包含已編碼的奇偶碼元的一個或多個行。對選擇奇偶校驗分組大小存在折衷。如果分組大小很小,則奇偶校驗分組的傳輸更加可靠,但是首標(biāo)的開銷將增加。如果使用大的分組大小,則分組更容易丟失,并且單個奇偶校驗分組丟失將引起多個奇偶行的丟失。每個FEC奇偶校驗分組中行的最大可能數(shù)量取決于行大小U、通道的最大發(fā)送單元(MTU)和期望的穩(wěn)健級別。FEC信息(根據(jù)本發(fā)明,在視頻/源分組中作為填充)是必須的,以使接收機能夠正確解碼編碼塊。圖7a示出根據(jù)本發(fā)明的分組格式可以支持混合填充的源R丁P分組格式。根據(jù)非FEC系統(tǒng),原始RTP首標(biāo)和有效載荷字段未被改變。原始RTP首標(biāo)和有效載荷由FEC編碼保護。四字節(jié)FEC控制信息字段被添加以指示分組源塊數(shù)量(SBN)及其在該塊中的位置,如該分組的起始行數(shù)。FEC信息用于RTP填充。分組格式與3GPP說明書中定義的相同,但是根據(jù)本發(fā)明,F(xiàn)EC編碼模塊將FEC相關(guān)控制信息作為RTP填充添加到視頻分組中。在傳統(tǒng)的視頻分組中,F(xiàn)EC編碼信息被插入到RTP首標(biāo)之后、RTP有效載荷(視頻數(shù)據(jù))之前。通過將FEC信息作為RTP填充移動,分組格式與如視頻播放器的非FEC能力的移動裝置向后兼容。當(dāng)使用混合填充時,F(xiàn)EC控制信息對于FEC解碼模塊解碼FEC塊是必須的。否則,解碼器將不知道丟失的視頻/源分組的行數(shù)。根據(jù)RTP標(biāo)準(zhǔn)RFC3550,如果填充比特被設(shè)置在RTP首標(biāo)中,則在末尾的附加八位字節(jié)填充可以被RTP解包器忽略。填充的最后八位字節(jié)包括可以被忽略的填充八位字節(jié)的數(shù)量,包括其自身。這樣,具有RTP填充支持的非FEC能力老播放器可以只接收視頻多播組,而忽略填充中的FEC控制信息。因為除了一些填充信息以外,原始RTP源分組沒有被改變,所以這種FEC機制可以用于具有結(jié)合FEC能力和非FEC能力接收機的多播情況下。非FEC能力播放器可以忽略填充信息。以多個H.264兼容播放器進行測試顯示這種方法在VLC播放器和湯姆森MMAF播放器上工作正常,因為這兩種播放器均支持RTP編碼。Quicktime播放器不能直接接收包含F(xiàn)EC控制信息的視頻分組,因為它不支持填充。圖7b示出了一種奇偶RTP分組格式。奇偶FEC分組也通過使用UDP/IP協(xié)議棧被發(fā)出。使用頻帶外信令機制,如與原始源有效載荷類型不同的SDP文件,動態(tài)分配FEC奇偶校驗分組的有效載荷類型(PT)。PT標(biāo)識出FEC編碼方案以及其有效載荷的參數(shù)。為了幫助在接收機的奇偶校驗分組解碼,在RTP首標(biāo)后添加FEC控制信息首標(biāo)以指示FEC塊信息和編碼參數(shù)。與3GPP中定義的格式相同,一個奇偶校驗分組的FEC首標(biāo)包括(1)源塊數(shù)(SBN):源分組所屬于的源塊的ID;(2)編碼單元ID(EUI):編碼塊中該分組的起始行數(shù);(3)源塊長度(SBL):源塊中源行數(shù),如K;(4)編碼塊長度(EBL):總行l(wèi)t,如N;(5)編碼單元長度(U):以字節(jié)表示的行長度。注意,每個編碼單元相應(yīng)于這里的一行。客戶端的FEC解碼是編碼過程的反過程。已接收的屬于一源塊的源和奇偶校驗分組可以基于SBN被一起緩沖。如果4艮據(jù)序列號中的中斷(gap)發(fā)現(xiàn)任何丟失源RTP分組,則可以使用相同SBN的奇偶校驗分組來恢復(fù)丟失的視頻/源分組。如果任何奇偶校驗分組可用,則FEC編碼參數(shù)(N,K)、源塊的維度以及行尺寸可以通過FEC奇偶校驗分組中的FEC控制信息確定。由于丟失的源和FEC奇偶校驗分組,根據(jù)EUI字段,如源和奇偶校驗分組的起始行數(shù),編碼塊可以由可能丟失的行組成。如果丟失行數(shù)小于(N-K),則丟失源行可以;陂解碼和恢復(fù)。注意,在將源RTP分組插入源行之前,分組長度將被預(yù)判為奇偶校驗分組的第一源行。這對視頻/源分組的恢復(fù)非常有用。已恢復(fù)分組的前二字節(jié)將具有其"分組大小"。從第三字節(jié)開始,已恢復(fù)的源行的"分組大小,,比特數(shù)屬于該分組。該行中剩余碼元將被丟棄,因為他們是填充碼元。在FEC由FEC解碼模塊解碼之前,從正確接收到的視頻/源RTP分組去除填充的FEC控制信息和填充字節(jié)長度。圖8a是利用延遲恢復(fù)IP多播組中FEC奇偶校驗分組通過無線IP網(wǎng)絡(luò)的視頻多播的示范性發(fā)送機/服務(wù)器實現(xiàn)的流程圖。在805,接收并且編碼/代碼轉(zhuǎn)換/壓縮未壓縮的視頻序列數(shù)據(jù)。在810,編碼/代碼轉(zhuǎn)換/壓縮的視頻序列數(shù)據(jù)被打包并且添加分組首標(biāo)。在815,已經(jīng)被打包的編碼/代碼轉(zhuǎn)換/壓縮的視頻序列數(shù)據(jù)隨后被FEC編碼以形成FEC奇偶校驗分組。FEC碼被應(yīng)用于視頻分組以生成奇偶校驗分組。在包含F(xiàn)EC信息的FEC分組中添加首標(biāo)。額外FEC相關(guān)控制信息也被附加到視頻數(shù)據(jù)分組中。在825,視頻數(shù)據(jù)分組隨后被發(fā)送/多播到一IP多播組(常規(guī)視頻多播組)。在820,以偏移時間Td存儲奇偶校驗分組。在825,在延遲/時移Td之后,F(xiàn)EC奇偶校驗分組被發(fā)送/多播給另一IP多播組(延遲/恢復(fù)多播組)。圖8b是使用延遲恢復(fù)IP多播組中的FEC奇偶校驗分組通過無線IP網(wǎng)絡(luò)的視頻多播的一示范性發(fā)送機/服務(wù)器實現(xiàn)的示意圖。視頻編碼器/代碼轉(zhuǎn)換器/壓縮器830接收未壓縮的視頻序列數(shù)據(jù)并且編碼/代碼轉(zhuǎn)換/壓縮該未壓縮的視頻序列數(shù)據(jù)。該已編碼/代碼轉(zhuǎn)換/壓縮的視頻序列數(shù)據(jù)被傳輸給打包器835,該打包器835將已編碼/代碼轉(zhuǎn)換/壓縮的視頻序列數(shù)據(jù)打包,以形成數(shù)據(jù)分組并且添加分組首標(biāo)。已打包的編碼/代碼轉(zhuǎn)換/壓縮的視頻序列數(shù)據(jù)隨后被傳輸給FEC編碼器840以形成奇偶校驗分組。FEC編碼器被置于打包之后,但協(xié)議棧850之前。FEC碼被應(yīng)用于視頻分組以生成奇偶校驗分組。首標(biāo)被添加到包含F(xiàn)EC信息的FEC分組。FEC相關(guān)控制信息也被附加到視頻數(shù)據(jù)分組。該;現(xiàn)頻數(shù)據(jù)分組通過協(xié)議棧850和以太網(wǎng)/WLAN接口855被立即發(fā)送/多播給一IP多播組(常規(guī)視頻多播組)。協(xié)議棧850至少包括UDP層850a和IP層850b。奇偶校驗分組以偏移時間Td被存儲于延遲緩沖器845中。經(jīng)過延遲/時移Td之后,F(xiàn)EC奇偶校驗分組通過協(xié)議棧850和以太網(wǎng)/WLAN接口855被發(fā)送/多播給另一IP多播組(延遲/恢復(fù)多播組)。這里描述的部件可以是硬件、軟件或固件以及包括RISC、ASIC和/或FPGA的任何組合。對于系統(tǒng)FEC碼,F(xiàn)EC編碼模塊等待足夠的視頻/源分組以填入編碼塊,然后FEC編碼模塊生成奇偶校驗分組。在另一實施例中,F(xiàn)EC編碼模塊能夠?qū)EC相關(guān)控制信息附加到視頻/源分組,并在該分組由打包器傳給FEC編碼模塊之后馬上發(fā)送/多播該分組,而不等待編碼塊被填滿。FEC編碼模塊在編碼塊緩沖器中保留這個分組的拷貝。在如上所述編碼塊被填充并且FEC編碼模塊生成奇偶校驗分組之后,已發(fā)送視頻/源分組被丟棄,因為視頻/源分組已經(jīng)被發(fā)送。圖9是根據(jù)本發(fā)明原理的交叉分組(cross-packet)編碼的例子。如圖9所示,K個視頻分組被分在一組,并且里德-所羅門(RS)(N,K)碼被施加到分組組以生成N-K奇偶校驗分組。首標(biāo)被添加到包含F(xiàn)EC信息的FEC分組,包含該FEC分組保護的視頻分組。FEC相關(guān)控制信息也被附加到視頻分組。視頻數(shù)據(jù)分組經(jīng)由UDP/IP棧和以太網(wǎng)接口被發(fā)送到IP多播組(常規(guī)視頻多播組)。然后奇偶校驗分組以偏移時間Td被存儲在延遲緩沖器。在延遲/時移Td之后,F(xiàn)EC奇偶校驗分組經(jīng)由UDP/IP和以太網(wǎng)接口被發(fā)送到另一IP多播組(延遲/恢復(fù)多播組)。圖10a是利用延遲/恢復(fù)多播組中FEC奇偶校驗分組的經(jīng)由基于IP的無線網(wǎng)絡(luò)的視頻多播的示例性移動接收機/裝置實現(xiàn)的流程圖。在1005,包含視頻序列數(shù)據(jù)和延遲奇偶校驗分組的常規(guī)視頻數(shù)據(jù)分組從不同多播組被接收。在1010,它們被分成視頻分組和奇偶校驗分組。在1015,接收的視頻數(shù)據(jù)分組被存儲。錯誤視頻和奇偶校驗分組被鏈路層(WLAN接口)去除。在1020,執(zhí)行FEC刪除解碼。通過FEC刪除解碼過程,丟失視頻數(shù)據(jù)分組或奇偶校驗分組的位置經(jīng)過分組首標(biāo)中的序列號被;險查。奇偶校驗分組和附加在視頻數(shù)據(jù)分組中的FEC控制信息中的FEC首標(biāo)被用于確定FEC塊信息。利用RS(N,K)碼,只要FEC編碼塊中的N個分組中任何K個或更多分組(不管是視頻數(shù)據(jù)分組還是奇偶校驗分組)被正確地接收,F(xiàn)EC刪除解碼過程能夠重構(gòu)原17始(常規(guī))視頻分組。在1025,FEC刪除解碼視頻數(shù)據(jù)分組被解包。在1030,解包的視頻數(shù)據(jù)分組然后被視頻解碼以產(chǎn)生解碼的視頻用于顯示。一個實施例利用半速率RS碼。半速率RS碼用于生成原始數(shù)據(jù)的另一描述。對于利用刪除解碼的RS碼,每個奇偶校驗分組能夠恢復(fù)編碼塊中的任何一個丟失分組。當(dāng)半速率RS(N,K)碼(N=2K)被應(yīng)用于K個視頻分組時,它生成K個奇偶校l全分組。利用半速率RS碼,即使在越區(qū)切換期間突發(fā)中的多個視頻數(shù)據(jù)分組完全丟失,從相應(yīng)奇偶校驗分組本身就能夠恢復(fù)丟失數(shù)據(jù)分組。在這方面,半速率RS碼生成的奇偶校驗分組流是原始(常規(guī))視頻分組流的替換。應(yīng)注意,除了里德-所羅門(RS)碼,其它FEC碼也可用于生成奇偶校驗分組。利用半速率RS碼的本發(fā)明顯然能夠容忍最多原始視頻分組和FEC奇偶校驗分組之間時移Td的持續(xù)時間的分組丟失。圖10b是利用延遲/恢復(fù)多播組中FEC奇偶校驗分組的經(jīng)由基于IP的無線網(wǎng)絡(luò)的視頻多播的示例性移動接收機/裝置實現(xiàn)的示意圖。在WLAN/以太網(wǎng)接口1035從不同多播組接收常規(guī)視頻數(shù)據(jù)分組和延遲奇偶校驗分組。它們被包括至少UDP層1040a和IP層1040b的協(xié)議棧1040分離成視頻數(shù)據(jù)分組和奇偶校驗分組。在緩沖器1045延遲該接收的視頻數(shù)據(jù)分組。錯誤視頻和奇偶校驗分組被鏈路層(WLAN接口)去除。FEC刪除解碼模塊1050在解包和UDP層之間。丟失視頻數(shù)據(jù)分組或奇偶校驗分組的位置由FEC刪除解碼模塊1050(用于刪除解碼)通過分組首標(biāo)中的序列號被檢測。奇偶校驗分組和附加到視頻分組的FEC控制信息中的FEC首標(biāo)被FEC刪除解碼模塊1050用于確定FEC塊信息。利用RS(N,K)碼,只要FEC編碼塊中N個分組的K個或更多分組(不管是視頻數(shù)據(jù)分組還是奇偶校驗分組)被正確地接收,F(xiàn)EC刪除解碼模塊1050可以重構(gòu)原始(常規(guī))視頻數(shù)據(jù)分組。FEC刪除解碼視頻數(shù)據(jù)分組被通信到解包器1055,其解包視頻數(shù)據(jù)分組。解包的視頻數(shù)據(jù)分組然后被通信到視頻解碼模塊1060。這里描述的組件可以是硬件、軟件或固件或者包括RISC、ASIC和/或FPGA的任何組合。如果沒有從移動裝置到BS/AP的無線返回信道可用和/或單個系統(tǒng)實現(xiàn)更優(yōu),那么BS/AP可總是經(jīng)由無線網(wǎng)絡(luò)以多播發(fā)送常規(guī)視頻流和延遲恢復(fù)流。移動接收機/裝置接收這兩種流而無需請求它們。對于隨機分組丟失的恢復(fù),也可能根據(jù)信道狀況,無時移地總是以另一多播組發(fā)送特定FEC奇偶校驗分組。剩余FEC奇偶校驗分組以延遲恢復(fù)(FEC)多播組被發(fā)送以校正突發(fā)分組丟失。利用ORBIT無線網(wǎng)絡(luò)試驗臺,在不同干擾級和移動交接時間下,F(xiàn)EC開銷與視頻流和FEC流之間的延遲對于視頻質(zhì)量的影響被研究。利用來自O(shè)rbit試驗臺的實驗數(shù)據(jù),證明本發(fā)明FEC交錯播放的效能。所有視頻序列被H.264編碼。視頻分辨率是720x480,并且?guī)俾适?4幀每秒。每2秒有一幀。瞬時解碼器刷新(IDR)內(nèi)圖片被禁用。基本單元(slice)模式被用于編碼器和攜帶一個或僅一個基本單元的每個分組,以確保每個丟失分組不會影響其它正確接收的分組的效能并防止錯誤傳播。一中等運動視頻序列"Kungfo"被選擇用于測試。原始視頻長度是10秒,其意味著存在240幀,具有5個I幀。圖11a示出在I/P幀的量化參數(shù)都被設(shè)置成27并且基本單元大小是450字節(jié)的編碼之后,視頻序列的亮度分量信噪比(SNR-Y)。每48幀的周期脈沖示出I幀的位置,其也由虛垂直柵格示出。因為視頻序列中運動的增加,240幀的SNR-Y逐漸降低。原始視頻序列被循環(huán)6次以得到1440幀(1分鐘)序列。1分鐘序列的亮度分量的SNR示出了起伏形式,如圖lib中。接著,利用Orbit試驗臺來測試噪聲環(huán)境中視頻多播的FEC保護的效能。原始10秒長視頻序列被循環(huán)30次以得到5分鐘長序列。利用802.11a信道64和模式1以多播發(fā)送視頻。發(fā)送功率被設(shè)為15mW以使得它更易受噪聲干擾攻擊。Orbit試驗臺上的噪聲發(fā)生器用于生成集中于具有20MHz帶寬的信道64的AWGN干擾??蛻舳伺cBA/AP關(guān)聯(lián)以接收FEC和非FEC保護的視頻序列。接收的視頻數(shù)據(jù)被解碼以比較它們的視頻質(zhì)量。為了公平比較,利用不同量化參數(shù)從相同原始視頻編碼5個視頻序列以獲得在不同F(xiàn)EC編碼流下的類似的總(RTP分組和FEC分組)業(yè)務(wù)量比特率。表1示出圖12中使用的5個視頻序列的編碼參數(shù)和總的比特率。UDP/IP/MAC/PHY首標(biāo)開銷被包括在表1的業(yè)務(wù)量統(tǒng)計中。表1:H.264主簡檔編碼視頻序列(基本單元大小1420字節(jié))序列名ABCDE基本單元大小14201420142014201420I基本單元的量化參數(shù)2728303233p基本單元的量262931323319<table>tableseeoriginaldocumentpage20</column></row><table>很難管理和計算。表2示出在交錯FEC實驗中使用的序列。序列G是具有100。/。FEC保護,并且序列F沒有任何FEC保護。為了公平比較,利用不同量化參數(shù)從相同"KungFu"原始視頻編碼兩個視頻序列以獲得類似的總帶寬利用。視頻序列被循環(huán)得足夠長以容納5個交接(突發(fā)持續(xù)時間)。再者,UDP/IP/MAC/PHY首標(biāo)被包括在業(yè)務(wù)量統(tǒng)計中。表2:H.264主簡檔編碼視頻序列<table>tableseeoriginaldocumentpage21</column></row><table>交接(突發(fā))持續(xù)時間的長度以及在交接/突發(fā)期間的分組(它們是屬于I幀還是p幀)丟失的性質(zhì)是影響接收的視頻質(zhì)量的兩個重要因素。在執(zhí)行的測試中,除了固有擴散(?延遲),F(xiàn)EC奇偶流相對于原始視頻流被分別延遲0秒、l秒、2秒的值。各種交接持續(xù)時間下的接收視頻質(zhì)量被計算,并且它們被比較以表明交錯FEC多播的效能。圖15(a)示出當(dāng)交接持續(xù)時間是0.2秒并且FEC流被延遲0秒(其意味著FEC分組一生成則被立即發(fā)出)時序列F和G的視頻質(zhì)量。對于沒有FEC的序列F,在交接/突發(fā)期間視頻質(zhì)量顯著下降。具有FEC保護的序列G在即使沒有額外FEC延遲情況下在接收機也被完全恢復(fù)。這是由于強FEC的錯誤校正能力、小交接/突發(fā)持續(xù)時間期間分組丟失的相對小的突發(fā)、以及如上提及的FEC分組傳輸時間和源分組傳輸時間的固有擴散(?延遲)。圖15(a)中示出的另一引入關(guān)注的點在于不管交接/突發(fā)丟失從哪兒開始,視頻質(zhì)量總是被完全恢復(fù)直到下一I幀(其位置由垂直虛線給出)被正確地接收。這可能依賴于在視頻解碼器中使用的錯誤隱藏方案。幀拷貝錯誤隱藏用在實-瞼中。盡管圖15(a)中5個交接/突發(fā)具有相同持續(xù)時間(都是0.2秒),因為相對于下一I幀的不同交接/突發(fā)起始點,質(zhì)量雜訊的寬度是不同的。這種不同在圖15(b)中更為明顯,其中在第三交接/突發(fā)中,一I幀丟失,視頻質(zhì)量被完全恢復(fù)直到2秒后下一I幀被正確接收。圖15(b)示出當(dāng)交接間隔是0.5秒并且FEC流被延遲0秒時序歹'JF和G的視頻質(zhì)量。在圖15(b)中,一些交接丟失突發(fā)多于沒有延遲的FEC能夠處理的,這樣在FEC保護視頻序列G中存在視頻質(zhì)量下降。隨著交接/突發(fā)持續(xù)時間增加,在交接/突發(fā)期間更多分組丟失。如果在視頻和奇偶流之間沒有延遲,即使強FEC,丟失分組也不能恢復(fù)。圖15(c)示出當(dāng)交接持續(xù)時間是1.8秒并且FEC延遲O秒時序列F和G的視頻質(zhì)量。圖15(c)中示出的另一引入注意的點在于序列G(具有FEC保護)的最后3個質(zhì)量雜訊比序列F(沒有FEC保護)的那些稀少。這是因為來自2個連續(xù)塊的一些源RTP分組在交接/突發(fā)期間丟失。來自第一塊的那些不能被恢復(fù),因為它們的FEC分組在交接/突發(fā)期間也丟失。來自第二塊的那些被恢復(fù)是因為它們的FEC分組被正確地接收。圖15(d)示出視頻序列F和G之間的質(zhì)量比較。FEC延遲被增加到1秒。圖15d示出1秒FEC延遲足夠恢復(fù)0.8秒的交接/突發(fā)持續(xù)時間。但是隨著FEC延遲上的交接/突發(fā)持續(xù)時間增加,接收視頻質(zhì)量不再能被保證。圖15(e)示出當(dāng)交接/突發(fā)持續(xù)時間被設(shè)置為大約1.8秒時視頻序列F和G之間的質(zhì)量比較,其中1秒FEC延遲不再充分。圖15(f)示出視頻序列F和G之間的質(zhì)量比較。FEC延遲被增加到2秒。這次,在交接/突發(fā)期間對于序列G沒有質(zhì)量損失。注意半速率RS碼(N=2K)被應(yīng)用于這個交接/突發(fā)實驗。由半速率RS碼生成的奇偶校驗分組流是原始視頻分組流的另一描述。即使所有視頻分組在交接期間的突發(fā)中丟失,丟失分組也能從相應(yīng)奇偶校驗分組本身恢復(fù)。該系統(tǒng)能夠保證恢復(fù)最長為視頻流和奇偶流之間時移的持續(xù)時間的突發(fā)分組丟失,而沒有附加隨機分組丟失。當(dāng)序列F和G在具有0.2秒交接持續(xù)時間的AWGN環(huán)境下被傳輸時,F(xiàn)EC交錯播放的效能被證明更為明顯。圖16示出了序列F和G之間的質(zhì)量比較。在圖16中,序列F的視頻質(zhì)量其形狀完全丟失,而序列G的質(zhì)量僅僅示出微小的下降。應(yīng)該理解,本發(fā)明可以以硬件、軟件、固件、專用處理器或者其結(jié)合的任何形式來實現(xiàn)。優(yōu)選地,本發(fā)明作為硬件和軟件的結(jié)合來實現(xiàn)。此外,軟件最好實現(xiàn)為確實具體化在程序存儲裝置上的應(yīng)用程序。應(yīng)用程序可以上載到,并且由包含任何適當(dāng)結(jié)構(gòu)的機器執(zhí)行。優(yōu)選地,機器被實現(xiàn)在具有諸如一個或多個中央處理器(CPU)、隨機存取存儲器(RAM)和輸入/輸出(I/O)接口的計算機平臺上。計算機平臺也包括操作系統(tǒng)和微指令代碼。這里描述的各種處理和功能或者可以作為微指令代碼的一部分,或者是應(yīng)用程序的一部分(或者其結(jié)合),其經(jīng)由操作系統(tǒng)執(zhí)行。此外,不同的其它外圍設(shè)備可以連接到計算機平臺,諸如附加數(shù)據(jù)存儲裝置和打印裝置。應(yīng)進一步理解,因為在附圖中描述的構(gòu)成系統(tǒng)組件和方法部分的一些優(yōu)選地以軟件實現(xiàn),系統(tǒng)組件(或處理步驟)之間的實際連接根據(jù)基本本發(fā)明被編程的方式而不同。已知這里的教導(dǎo),本領(lǐng)域技術(shù)人員之一將能夠預(yù)期本發(fā)明的這些和類似的實現(xiàn)或結(jié)構(gòu)。權(quán)利要求1.一種用于發(fā)送數(shù)據(jù)的方法,所述方法包括打包所述數(shù)據(jù);對所述打包數(shù)據(jù)執(zhí)行前向糾錯(FEC)編碼以生成至少一個奇偶校驗分組;將作為填充的FEC信息附加到所述打包數(shù)據(jù)的有效載荷數(shù)據(jù)的結(jié)尾;發(fā)送所述打包數(shù)據(jù)和所述至少一個奇偶校驗分組。2.如權(quán)利要求1所述的方法,進一步包括延遲發(fā)送所述至少一個奇偶校驗分組一預(yù)定時間周期。3.如權(quán)利要求1所述的方法,其中所述發(fā)送行為利用用戶數(shù)據(jù)報協(xié)議(UDP)/因特網(wǎng)協(xié)議(IP)棧和無線局域網(wǎng)接口來實現(xiàn)。4.一種用于發(fā)送數(shù)據(jù)的系統(tǒng),包括用于打包所述數(shù)據(jù)的裝置;用于對所述打包數(shù)據(jù)執(zhí)行前向糾錯(FEC)編碼以生成至少一個奇偶校驗分組的裝置;用于將作為填充的FEC信息附加到所述打包數(shù)據(jù)的有效載荷數(shù)據(jù)的結(jié)尾的裝置;用于發(fā)送所述打包數(shù)據(jù)和所述至少一個奇偶校驗分組的裝置。5.如權(quán)利要求4所述的系統(tǒng),進一步包括用于延遲發(fā)送所述至少一個奇偶校驗分組一預(yù)定時間周期的裝置。6.如權(quán)利要求4所述的系統(tǒng),其中所述用于將作為填充的FEC信息附加到所述打包數(shù)據(jù)的有效載荷數(shù)據(jù)的結(jié)尾的裝置由FEC編碼模塊來承擔(dān)。7.如權(quán)利要求4所述的系統(tǒng),其中所述用于對所述打包數(shù)據(jù)執(zhí)行FEC編碼以生成至少一個奇偶校驗分組的裝置由FEC編碼模塊來承擔(dān)。8.—種恢復(fù)分組丟失的方法,所述方法包括接收數(shù)據(jù)分組;接收至少一個奇偶校驗分組;緩沖所接收的數(shù)據(jù)分組;;險測分組丟失;利用從所述數(shù)據(jù)分組和從所述至少一個奇偶校驗分組提取的前向糾錯信息前向糾錯解碼所述至少一個奇偶校驗分組來恢復(fù)分組丟失;和經(jīng)由內(nèi)部套接字轉(zhuǎn)發(fā)所恢復(fù)的分組。9.如權(quán)利要求8所述的方法,進一步包括從所恢復(fù)的分組去除填充。10.如權(quán)利要求8所述的方法,進一步包括解包所恢復(fù)的分組。11.一種恢復(fù)丟失分組的系統(tǒng),包括用于接收數(shù)據(jù)分組的裝置;用于接收至少一個奇偶校驗分組的裝置;用于緩沖所接收的數(shù)據(jù)分組的裝置;用于檢測分組丟失的裝置;用于利用從所述數(shù)據(jù)分組和從所述至少一個奇偶校驗分組提取的前向糾錯信息前向糾錯解碼所述至少一個奇偶校驗分組來恢復(fù)分組丟失的裝置;和用于經(jīng)由內(nèi)部套接字轉(zhuǎn)發(fā)所恢復(fù)的分組的裝置。12.如權(quán)利要求11所述的系統(tǒng),進一步包括用于從所恢復(fù)的分組去除填充的裝置。13.如權(quán)利要求11所述的系統(tǒng),進一步包括用于解包所恢復(fù)的分組的裝置。14.一種交錯播放的方法,所述方法包括編碼和壓縮第一數(shù)據(jù)序列;打包所壓縮的編碼數(shù)據(jù)序列以形成數(shù)據(jù)分組;對所述數(shù)據(jù)分組執(zhí)行前向糾錯(FEC)編碼以生成與所述第一數(shù)據(jù)序列相關(guān)的第二數(shù)據(jù)序列;將作為填充的FEC信息附加到所述數(shù)據(jù)分組的有效載荷數(shù)據(jù)的結(jié)尾;打包所述第二數(shù)據(jù)序列以形成分組;多播所述數(shù)據(jù)分組到第一多播組;多播利用被延遲了一偏移時間的所述第二數(shù)據(jù)序列形成的所述分組到第二多播組。15.如權(quán)利要求14所述的方法,其中所述第二數(shù)據(jù)序列是奇偶校驗分組。全文摘要描述了一種用于發(fā)送數(shù)據(jù)的方法和系統(tǒng),包括打包數(shù)據(jù),對打包數(shù)據(jù)執(zhí)行前向糾錯(FEC)編碼以生成至少一個奇偶校驗分組,將作為填充的FEC信息附加到打包數(shù)據(jù)的有效載荷數(shù)據(jù)的結(jié)尾,并發(fā)送打包數(shù)據(jù)和至少一個奇偶校驗分組。還描述了一種恢復(fù)分組丟失的方法和系統(tǒng),包括接收數(shù)據(jù)分組;接收至少一個奇偶校驗分組;緩沖所接收的數(shù)據(jù)分組;檢測分組丟失;利用從所述數(shù)據(jù)分組和從所述至少一個奇偶校驗分組提取的前向糾錯信息前向糾錯解碼所述至少一個奇偶校驗分組來恢復(fù)分組丟失;和經(jīng)由內(nèi)部套接字轉(zhuǎn)發(fā)所恢復(fù)的分組。還描述了一種交錯播放的方法。文檔編號H04L12/56GK101512989SQ200680055899公開日2009年8月19日申請日期2006年7月25日優(yōu)先權(quán)日2006年7月25日發(fā)明者航劉,吳明全,庫瑪·拉瑪斯瓦米,李德凱,韓立喬申請人:湯姆森特許公司