專利名稱:一種fec數(shù)據(jù)的處理方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種FEC數(shù)據(jù)的處理方法、裝置 及系統(tǒng)。
背景技術(shù):
在交互式網(wǎng)絡(luò)媒體服務(wù)系統(tǒng)中,內(nèi)容分發(fā)網(wǎng)絡(luò)和終端之間通過 IPanternetProtocol,因特網(wǎng)協(xié)議)網(wǎng)絡(luò)互聯(lián),使用UDP(User Datagram Protocol,用戶數(shù) 據(jù)報協(xié)議)報文來傳輸媒體數(shù)據(jù)。UDP報文在經(jīng)過多個承載網(wǎng)設(shè)備后可能出現(xiàn)隨即丟失,造 成終端側(cè)的畫面破損或者聲音停頓。FEC (Forward Error Correction,前向糾錯)技術(shù)通過服務(wù)器側(cè)對媒體數(shù)據(jù)進(jìn)行 糾錯編碼,加入冗余信息一并發(fā)送,終端側(cè)進(jìn)行反向FEC解碼,對丟失的報文進(jìn)行恢復(fù)?,F(xiàn)有的帶內(nèi)傳輸?shù)腇EC技術(shù)中,將RTP(Real_time Transport Protocol,實時傳 送協(xié)議)報文頭中的PT(Payl0ad Type,凈荷類型)字段作為FEC數(shù)據(jù)的識別標(biāo)志,通過將 FEC冗余信息封裝到RTP報文中進(jìn)行傳送。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題現(xiàn)有的帶內(nèi)傳輸FEC方案中,如果接收端不支持FEC解碼功能,則可能導(dǎo)致接收端 側(cè)解碼異常,使得畫面或者聲音出現(xiàn)異常,降低用戶的收聽/收看效果。
發(fā)明內(nèi)容
本發(fā)明的實施例提供了一種FEC數(shù)據(jù)的處理方法、裝置及系統(tǒng),從而避免接收端 可能出現(xiàn)的解碼異常。本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的一種FEC數(shù)據(jù)的發(fā)送處理方法,包括將前向糾錯FEC數(shù)據(jù)封裝為傳送流TS報文,在所述TS報文中設(shè)置FEC標(biāo)識信息, 并將所述TS報文封裝為實時傳送協(xié)議RTP報文;向終端側(cè)發(fā)送所述RTP報文。一種FEC數(shù)據(jù)的接收處理方法,包括接收上述的RTP報文;如果本地具備前向糾錯FEC解碼功能,則通過接收到的所述RTP報文中的TS報文 中的REC標(biāo)識信息識別FEC數(shù)據(jù),并根據(jù)所述FEC數(shù)據(jù),對丟失的媒體報文進(jìn)行還原;如果不具備FEC解碼功能,則將所述RTP報文去掉報文頭,識別出所述RTP報文中 攜帶的數(shù)據(jù)不是媒體數(shù)據(jù),丟棄所述數(shù)據(jù)。一種FEC數(shù)據(jù)發(fā)送處理裝置,包括TS報文封裝模塊,用于對前向糾錯FEC數(shù)據(jù)進(jìn)行封裝,生成傳輸流TS報文,并在所 述TS報文中設(shè)置FEC標(biāo)識信息;RTP報文封裝模塊,用于對所述TS報文封裝模塊生成的所述TS報文進(jìn)行封裝,生成RTP報文;報文發(fā)送模塊,用于向終端側(cè)發(fā)送所述RTP報文封裝單元生成的所述RTP報文。一種FEC數(shù)據(jù)的接收處理裝置,包括報文接收模塊,用于接收上述任意一項所述的RTP報文;數(shù)據(jù)處理模塊,如果所述接收處理裝置具備FEC解碼功能,則所述數(shù)據(jù)處理模塊 用于通過所述RTP報文中的TS報文中的REC標(biāo)識信息識別FEC數(shù)據(jù),并根據(jù)所述FEC數(shù) 據(jù),對丟失的媒體報文進(jìn)行還原;如果所述接收處理裝置不具備FEC解碼功能,則所述數(shù)據(jù) 處理模塊用于將所述RTP報文去掉報文頭,識別出所述RTP報文中攜帶的數(shù)據(jù)不是媒體數(shù) 據(jù),丟棄所述數(shù)據(jù)。一種處理FEC數(shù)據(jù)的系統(tǒng),包括一個上述任意一項所述的FEC數(shù)據(jù)發(fā)送處理裝置, 和至少一個上述任意一項所述的FEC數(shù)據(jù)接收處理裝置;所述FEC數(shù)據(jù)發(fā)送處理裝置與所 述FEC數(shù)據(jù)接收處理裝置通過因特網(wǎng)進(jìn)行通信。由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,本發(fā)明實施例中,由于將FEC 數(shù)據(jù)先進(jìn)行TS封裝并在TS報文中設(shè)置FEC標(biāo)識信息,再進(jìn)行RTP封裝傳送,因此當(dāng)接收端 不支持FEC解碼功能時,也不會由于無法識別FEC數(shù)據(jù)而造成解碼異常,因此提高了媒體服 務(wù)質(zhì)量,改善了用戶的收聽/收看效果。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是 本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還 可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的處理過程示意圖;圖2為本發(fā)明實施例中TS報文格式示意圖;圖3為本發(fā)明一個實施例提供的處理過程示意圖;圖4為本發(fā)明另一個實施例提供的處理過程示意圖;圖5為本發(fā)明另一個實施例提供的處理過程示意圖;圖6為本發(fā)明一個具體應(yīng)用實施例的處理過程示意圖;圖7為本發(fā)明實施例提供的FEC數(shù)據(jù)發(fā)送處理裝置的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例提供的FEC數(shù)據(jù)接收處理裝置的結(jié)構(gòu)示意圖;圖9為本發(fā)明實施例提供的處理FEC數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。交互式網(wǎng)絡(luò)媒體服務(wù)系統(tǒng)中,內(nèi)容分發(fā)網(wǎng)絡(luò)和終端側(cè)之間通過IP網(wǎng)絡(luò)互 聯(lián)。所述交互式網(wǎng)絡(luò)媒體服務(wù)系統(tǒng)是指使用UDP報文進(jìn)行媒體數(shù)據(jù)傳送的系統(tǒng),例如IPTVdnternet Protocol Television, IP 電視)系統(tǒng)、DTV (DigitalTelevision,數(shù)字電 視)系統(tǒng)等。所述的媒體數(shù)據(jù)是指視頻數(shù)據(jù)、音頻數(shù)據(jù)、字幕數(shù)據(jù)和手語數(shù)據(jù)等。本發(fā)明實 施例提供一種在交互式網(wǎng)絡(luò)媒體服務(wù)系統(tǒng)中進(jìn)行FEC數(shù)據(jù)處理的方法。如圖1所示,在內(nèi) 容分發(fā)網(wǎng)絡(luò)側(cè),本發(fā)明實施例提供的方法包括S101、將前向糾錯FEC數(shù)據(jù)封裝為傳送流TS報文,在TS報文中設(shè)置FEC標(biāo)識信息, 并將所述TS報文封裝為實時傳送協(xié)議RTP報文;S102、向終端側(cè)發(fā)送所述RTP報文。在終端側(cè),本發(fā)明實施例提供的方法包括S103、接收上述的RTP報文;S104、如果具備前向糾錯FEC解碼功能,則根據(jù)FEC標(biāo)識信息識別FEC數(shù)據(jù),并根 據(jù)FEC數(shù)據(jù)對丟失的媒體報文進(jìn)行還原;如果不具備FEC解碼功能,則將所述RTP報文去掉 報文頭,識別出所述RTP報文中攜帶的數(shù)據(jù)不是媒體數(shù)據(jù),丟棄該數(shù)據(jù)。其中,所述的FEC數(shù)據(jù)具體包括根據(jù)對媒體數(shù)據(jù)進(jìn)行FEC編碼獲得的冗余數(shù)據(jù)。所 述的FEC標(biāo)識信息用來標(biāo)識TS報文中攜帶的是FEC數(shù)據(jù)。作為舉例而非限定,在TS報文 中設(shè)置FEC標(biāo)識信息具體實現(xiàn)方式可以是,在報文類型為PMT (Program Map Table,節(jié)目映 射表)的TS報文中增加FEC數(shù)據(jù)類型,并將數(shù)據(jù)類型設(shè)置為FEC數(shù)據(jù)類型;還可以是對TS 報文的PID (Packet Identifier,包標(biāo)識符)字段進(jìn)行擴(kuò)展,增加FEC數(shù)據(jù)類型,并將TS報 文的PID字段設(shè)置為所述FEC數(shù)據(jù)類型。上述本發(fā)明實施例提供的FEC數(shù)據(jù)處理方法既可以應(yīng)用在帶外傳輸?shù)腇EC數(shù)據(jù)處 理技術(shù)中,也可以應(yīng)用在帶內(nèi)傳輸?shù)腇EC數(shù)據(jù)處理技術(shù)中。且優(yōu)選地用于帶內(nèi)傳輸方式中。上述本發(fā)明實施例中,S102和S103具體可以由媒體內(nèi)容源設(shè)備執(zhí)行,也可以由內(nèi) 容分發(fā)網(wǎng)絡(luò)中單獨(dú)的服務(wù)器執(zhí)行。S103和S104具體可以由終端側(cè)的機(jī)頂盒執(zhí)行,也可以由 終端執(zhí)行,作為舉例而非限定,所述終端是指手機(jī)、個人計算機(jī)、掌上電腦等設(shè)備。S104中解 碼處理的操作具體可以由機(jī)頂盒或者終端上的解碼芯片執(zhí)行。上述本發(fā)明實施例提供的方法中,由于在內(nèi)容分發(fā)網(wǎng)絡(luò)側(cè)將FEC數(shù)據(jù)先進(jìn)行TS封 裝,且在TS報文中設(shè)置了 FEC標(biāo)識信息,再進(jìn)行RTP封裝傳送,因此當(dāng)終端側(cè)不支持FEC解 碼功能時,由于FEC數(shù)據(jù)的格式與媒體數(shù)據(jù)的格式不同,不會由于無法識別FEC數(shù)據(jù)而造成 解碼異常,因此提高了媒體服務(wù)質(zhì)量,改善了用戶的收聽/收看效果。而且提高了帶內(nèi)傳輸 方式的兼容性?,F(xiàn)有的FEC帶內(nèi)傳輸方式中還存在的一個問題是終端側(cè)的FEC編碼參數(shù)通過與 內(nèi)容分發(fā)網(wǎng)絡(luò)進(jìn)行信令交互的方式獲取,終端側(cè)可能無法及時獲取FEC編碼參數(shù),導(dǎo)致無 法解碼FEC數(shù)據(jù)進(jìn)行丟包還原。因此,現(xiàn)有的FEC帶內(nèi)傳輸方式存在FEC編碼參數(shù)自適應(yīng) 性較差的問題。為解決這一問題,本發(fā)明實施例的內(nèi)容分發(fā)網(wǎng)絡(luò)側(cè)中,上述攜帶FEC數(shù)據(jù)的 TS報文中還攜帶FEC參數(shù),該FEC參數(shù)具體包括FEC算法類型、FEC冗余率、FEC包標(biāo)識符 (FEC PID)、FEC 符號大小(FEC Symbol Size)和 FEC 符號數(shù)量(FEC Symbol Num)等等。上 述的FEC參數(shù)在TS報文有效負(fù)載中的位置可以是FEC數(shù)據(jù)之前,也可以是FEC數(shù)據(jù)之后。 其中,F(xiàn)EC算法類型用來指示采用何種FEC算法對媒體數(shù)據(jù)進(jìn)行編/解碼;FEC冗余率是指 冗余信息占未經(jīng)FEC編碼的媒體數(shù)據(jù)的比例;FEC包標(biāo)識符是指FEC數(shù)據(jù)的標(biāo)識信息;FEC Symbol是FEC編碼的最小處理單元,F(xiàn)EC Symbol Size是指最小處理單元的大小,以字節(jié)為
6單位;FEC Symbol Num是指一次進(jìn)行FEC編碼的FEC符號的數(shù)量;FEC Payload Type是指 攜帶FEC數(shù)據(jù)的RTP報文I^yload Type字段的取值。相應(yīng)的,在終端側(cè)接收到上述RTP報 文后,如果終端側(cè)具備FEC解碼功能,則通過解析所述RTP報文中的TS報文,根據(jù)TS報文 中的FEC標(biāo)識信息確定所述TS報文中攜帶FEC數(shù)據(jù)和FEC參數(shù);獲取所述FEC數(shù)據(jù)和FEC 參數(shù),以便根據(jù)該FEC數(shù)據(jù)和FEC參數(shù)對丟失的媒體報文進(jìn)行還原。本發(fā)明實施例提供的 技術(shù)方案中,上述的FEC參數(shù)還可以包括FEC凈荷類型(FEC Payload Type),該FEC凈荷類 型參數(shù)設(shè)置在封裝FEC數(shù)據(jù)的RTP報文頭中,用來識別FEC數(shù)據(jù)。如果終端側(cè)支持FEC解 碼功能,可直接根據(jù)RTP報文中的FEC凈荷類型識別FEC數(shù)據(jù)。TS報文的長度是188字節(jié),其報文結(jié)構(gòu)如圖2所示,上述本發(fā)明實施例中將FEC 數(shù)據(jù)封裝為TS報文具體實現(xiàn)方式可以是將所述需要封裝的FEC數(shù)據(jù)分裝在若干個TS報 文中進(jìn)行封裝,即封裝為TS報文流,且所述TS報文流中還包括數(shù)據(jù)類型是PAT (Program Association Table,節(jié)目關(guān)聯(lián)表)的TS報文和報文類型為PMT的TS報文。以下至說明書第10頁的內(nèi)容將對本發(fā)明實施例在實際應(yīng)用過程中的具體實現(xiàn)方 式進(jìn)行詳細(xì)的說明。首先對TS報文的結(jié)構(gòu)進(jìn)行簡單介紹。在如圖2所示的TS報文格式中,TS報文的 長度是188字節(jié),分為首部(即報文頭)和有效負(fù)載。本發(fā)明實施例中,將需要封裝的FEC 數(shù)據(jù)和FEC參數(shù)作為TS報文的有效數(shù)據(jù)進(jìn)行封裝。TS的報文頭包括8比特的同步字節(jié),取值為O X 47,表示TS報文開始;1比特的傳送錯誤指示器,通過設(shè)定的取值表示傳送分組中有不可糾正的錯誤;1比特的有效負(fù)載起始指示器,是PES (I^acketized Elementary Mream,打包基礎(chǔ) 流)或者PSI aerogram Special ^formation,節(jié)目特殊信息流)的有效負(fù)載起始標(biāo)志;1比特的傳送優(yōu)先級,取值通常為O ;13比特的PID,用于區(qū)分TS報文的數(shù)據(jù)類型;2比特的傳送加擾控制,取值00表示不加擾;2比特的調(diào)整字段控制,指示是否存在調(diào)整字段或者有效負(fù)載;4比特的連續(xù)計數(shù)器,從0 16循環(huán)遞增,如果沒有有效負(fù)載,則不進(jìn)行計數(shù);可變字節(jié)的調(diào)整字段,根據(jù)調(diào)整字段控制標(biāo)志位,確定報文頭是否包括調(diào)整字段。其中,PID的取值為0表示該TS報文是PAT。PAT中的“網(wǎng)絡(luò)/節(jié)目映射PID”字 段是PMT的PID,PMT用來定義數(shù)據(jù)的類型,包括音頻數(shù)據(jù)、視頻數(shù)據(jù)、字幕數(shù)據(jù)、手語數(shù)據(jù) 等。PMT中的“N循環(huán)”部分用來定義數(shù)據(jù)類型。本發(fā)明實施例對PMT進(jìn)行擴(kuò)展,在PMT的 “N循環(huán)”部分增加對FEC數(shù)據(jù)類型的定義。還可以對TS報文的PID字段進(jìn)行擴(kuò)展,通過設(shè) 置特殊取值表示FEC數(shù)據(jù)類型,從而增加對FEC數(shù)據(jù)類型的定義。下面以一個實施例對內(nèi)容分發(fā)網(wǎng)絡(luò)進(jìn)行FEC數(shù)據(jù)帶內(nèi)傳輸?shù)膶崿F(xiàn)方法進(jìn)行詳細(xì) 說明,如圖3所示,該處理過程包括S301、根據(jù) FEC 冗余率、FEC 算法類型、FEC Symbol Size 和 FEC SymbolNum 對待發(fā) 送的媒體數(shù)據(jù)進(jìn)行FEC編碼后發(fā)送;S302、對上述媒體數(shù)據(jù)對應(yīng)的FEC數(shù)據(jù)和FEC參數(shù)進(jìn)行TS封裝將FEC數(shù)據(jù)和FEC 參數(shù)封裝到TS報文的有效負(fù)載中,并在TS報文中設(shè)置FEC數(shù)據(jù)標(biāo)識信息,該標(biāo)識信息具體 可以是上述PMT中的“N循環(huán)”部分?jǐn)U展的FEC數(shù)據(jù)類型,也可以是上述TS報文的PID字段中擴(kuò)展的FEC數(shù)據(jù)類型;S303、將攜帶上述FEC數(shù)據(jù)和FEC參數(shù)的TS報文進(jìn)行RTP封裝;S304、將得到的RTP報文經(jīng)過與上述媒體數(shù)據(jù)相同的端口發(fā)送。其中,F(xiàn)EC參數(shù)由內(nèi)容分發(fā)網(wǎng)絡(luò)側(cè)確定。通過對TS報文中PID字段進(jìn)行擴(kuò)展或者對PMT進(jìn)行擴(kuò)展,增加FEC數(shù)據(jù)類型,并 將FEC數(shù)據(jù)先進(jìn)行TS封裝,再進(jìn)行RTP封裝傳送,而無需在RTP報文頭中的PT字段對FEC 數(shù)據(jù)進(jìn)行標(biāo)識。上述本發(fā)明實施例中,內(nèi)容分發(fā)網(wǎng)絡(luò)側(cè)通過擴(kuò)展的PMT或者擴(kuò)展的TS報文的PID 字段對FEC數(shù)據(jù)進(jìn)行標(biāo)識,并將FEC數(shù)據(jù)先進(jìn)行TS封裝,在進(jìn)行RTP封裝發(fā)送,較之現(xiàn)有技 術(shù)中在RTP報文頭中通過PT標(biāo)識FEC數(shù)據(jù),避免了由于終端側(cè)不具備FEC解碼功能而造成 的解碼異常。下面以一個實施例對具備FEC解碼功能的終端側(cè)對帶內(nèi)傳輸?shù)腇EC數(shù)據(jù)進(jìn)行處理 的實現(xiàn)方法進(jìn)行詳細(xì)說明,如圖4所示,該處理過程包括S401、通過與內(nèi)容分發(fā)網(wǎng)絡(luò)側(cè)進(jìn)行信令交互后確定媒體數(shù)據(jù)接收端口,并綁定該 端口用來接收FEC數(shù)據(jù);S402、接收內(nèi)容分發(fā)網(wǎng)絡(luò)側(cè)發(fā)送的RTP報文,該RTP報文可能是媒體數(shù)據(jù),也可能 是FEC數(shù)據(jù),且媒體數(shù)據(jù)和FEC數(shù)據(jù)均經(jīng)過TS封裝后封裝在RTP報文中; S403、對上述接收到的RTP報文中的TS報文進(jìn)行解析,根據(jù)PAT和PMT獲取媒體數(shù) 據(jù)的PID和FEC數(shù)據(jù)的PID,以及媒體數(shù)據(jù)參數(shù)(例如媒體數(shù)據(jù)編碼格式、圖像大小等)和 FEC 參數(shù)(例如 FEC 算法類型、FEC 冗余率、FEC PID, FEC Symbol Size 禾Π FEC Symbol Num 等);S404、根據(jù)所述媒體數(shù)據(jù)的參數(shù)對解碼芯片進(jìn)行初始化;S405、根據(jù)FEC數(shù)據(jù)標(biāo)識信息確定攜帶FEC數(shù)據(jù)的報文,獲取FEC數(shù)據(jù)并緩存,并 對媒體數(shù)據(jù)的RTP報文進(jìn)行亂序重排,檢查媒體數(shù)據(jù)是否有丟包,如果發(fā)現(xiàn)丟包,使用緩存 的FEC數(shù)據(jù)對丟包進(jìn)行還原處理;S406、將還原得到的媒體數(shù)據(jù)和接收到的媒體數(shù)據(jù)發(fā)送給解碼芯片;S407、解碼芯片按照上述初始化設(shè)定的方式,對媒體數(shù)據(jù)進(jìn)行解碼。上述處理過程是支持FEC解碼功能的終端側(cè)對接收到的RTP報文進(jìn)行處理的具體 實施方式。下面以另一個實施例對不具備FEC解碼功能的終端側(cè)對帶內(nèi)傳輸?shù)腇EC數(shù)據(jù)進(jìn)行 處理的實現(xiàn)方法進(jìn)行詳細(xì)說明,如圖5所示,該處理過程包括S501、通過與內(nèi)容分發(fā)網(wǎng)絡(luò)側(cè)進(jìn)行信令交互后確定媒體數(shù)據(jù)接收端口,該端口也 用來接收FEC數(shù)據(jù);S502、接收內(nèi)容分發(fā)網(wǎng)絡(luò)側(cè)發(fā)送的RTP報文,該RTP報文可能是媒體數(shù)據(jù),也可能 是FEC數(shù)據(jù),且媒體數(shù)據(jù)和FEC數(shù)據(jù)均經(jīng)過TS封裝后封裝在RTP報文中;S503、對上述接收到的RTP報文中的TS報文進(jìn)行解析,根據(jù)PAT和PMT獲取媒體 數(shù)據(jù)的PID,以及媒體數(shù)據(jù)參數(shù)(例如媒體數(shù)據(jù)編碼格式、圖像大小等);S504、根據(jù)上述媒體數(shù)據(jù)參數(shù)對解碼芯片進(jìn)行初始化;S505、去掉RTP報文頭,將接收到的攜帶媒體數(shù)據(jù)的TS報文和攜帶FEC數(shù)據(jù)的TS報文發(fā)送給解碼芯片;S506、解碼芯片按照上述初始化設(shè)定的方式,對接收到的媒體數(shù)據(jù)進(jìn)行解碼,由于 攜帶FEC數(shù)據(jù)的TS報文的數(shù)據(jù)類型標(biāo)識信息與攜帶媒體數(shù)據(jù)的TS報文的數(shù)據(jù)類型標(biāo)識信 息不同,即FEC數(shù)據(jù)的編碼格式與媒體數(shù)據(jù)不同,因此解碼芯片識別到FEC數(shù)據(jù)并非媒體數(shù) 據(jù)后丟棄。下面的一個具體應(yīng)用場景中實現(xiàn)EFC數(shù)據(jù)帶內(nèi)傳輸為例,詳細(xì)描述本發(fā)明實施例 提供的方法。在該具體應(yīng)用場景中,IPTV系統(tǒng)的內(nèi)容源設(shè)備A向終端側(cè)的機(jī)頂盒B和機(jī)頂 盒C發(fā)送媒體流數(shù)據(jù),其中,機(jī)頂盒B支持FEC解碼功能,機(jī)頂盒C不支持FEC解碼功能。其 處理過程如圖6所示,具體實現(xiàn)方式如下S601、機(jī)頂盒B和機(jī)頂盒C分別通過與內(nèi)容源設(shè)備A進(jìn)行信令交互后確定媒體數(shù) 據(jù)接收端口,且機(jī)頂盒B綁定該端口用來接收FEC數(shù)據(jù),機(jī)頂盒C也通過該端口接收FEC數(shù) 據(jù);S602、內(nèi)容源設(shè)備A根據(jù)FEC冗余率、FEC算法類型、FEC Symbol Size和FEC Symbol Num對待發(fā)送的媒體數(shù)據(jù)進(jìn)行FEC編碼后分別發(fā)送給機(jī)頂盒B和機(jī)頂盒C ;S603、內(nèi)容源設(shè)備A對上述媒體數(shù)據(jù)對應(yīng)的FEC數(shù)據(jù)和FEC參數(shù)進(jìn)行TS封裝將 FEC數(shù)據(jù)和FEC參數(shù)封裝到TS報文的有效負(fù)載中,并在TS報文中設(shè)置FEC數(shù)據(jù)標(biāo)識信息, 該標(biāo)識信息具體可以是上述PMT中的“N循環(huán)”部分?jǐn)U展的FEC數(shù)據(jù)類型,也可以是上述TS 報文的PID字段中擴(kuò)展的FEC數(shù)據(jù)類型;S604、將攜帶上述FEC數(shù)據(jù)和FEC參數(shù)的TS報文進(jìn)行RTP封裝;S605、將得到的RTP報文經(jīng)過與上述媒體數(shù)據(jù)相同的端口分別發(fā)送給機(jī)頂盒B和 機(jī)頂盒C ;S606、機(jī)頂盒B接收內(nèi)容源設(shè)備A發(fā)送的RTP報文,該RTP報文可能是媒體數(shù)據(jù), 也可能是FEC數(shù)據(jù),且媒體數(shù)據(jù)和FEC數(shù)據(jù)均經(jīng)過TS封裝后封裝在RTP報文中;S607、機(jī)頂盒B對上述接收到的RTP報文中的TS報文進(jìn)行解析,根據(jù)PAT和PMT 獲取媒體數(shù)據(jù)的PID和FEC數(shù)據(jù)的PID,以及媒體數(shù)據(jù)參數(shù)(例如媒體數(shù)據(jù)編碼格式、圖像 大小等)和FEC參數(shù)(例如FEC算法類型、FEC冗余率、FEC PID、FEC Symbol Size和FEC Symbol Num 等);S608、機(jī)頂盒B根據(jù)上述媒體數(shù)據(jù)的參數(shù)對本地解碼芯片進(jìn)行初始化;S609、機(jī)頂盒B根據(jù)FEC數(shù)據(jù)標(biāo)識信息確定攜帶FEC數(shù)據(jù)的報文,獲取FEC數(shù)據(jù)并 緩存,并對媒體數(shù)據(jù)的RTP報文進(jìn)行亂序重排,檢查媒體數(shù)據(jù)是否有丟包,如果發(fā)現(xiàn)丟包, 使用緩存的FEC數(shù)據(jù)對丟包進(jìn)行還原處理;S610、機(jī)頂盒B將還原得到的媒體數(shù)據(jù)和接收到的媒體數(shù)據(jù)發(fā)送給本地解碼芯 片;S611、機(jī)頂盒B的本地解碼芯片按照上述初始化設(shè)定的方式,對媒體數(shù)據(jù)進(jìn)行解 碼;S612、機(jī)頂盒C接收內(nèi)容源設(shè)備A發(fā)送的RTP報文,該RTP報文可能是媒體數(shù)據(jù), 也可能是FEC數(shù)據(jù),且媒體數(shù)據(jù)和FEC數(shù)據(jù)均經(jīng)過TS封裝后封裝在RTP報文中;S613、機(jī)頂盒C對上述接收到的RTP報文中的TS報文進(jìn)行解析,根據(jù)PAT和PMT 獲取媒體數(shù)據(jù)的PID,以及媒體數(shù)據(jù)參數(shù)(例如媒體數(shù)據(jù)編碼格式、圖像大小等);
S614、機(jī)頂盒C根據(jù)上述媒體數(shù)據(jù)參數(shù)對本地解碼芯片進(jìn)行初始化;S615、機(jī)頂盒C去掉RTP報文頭,將接收到的攜帶媒體數(shù)據(jù)的TS報文和攜帶FEC 數(shù)據(jù)的TS報文發(fā)送給本地解碼芯片;S616、機(jī)頂盒C的本地解碼芯片按照上述初始化設(shè)定的方式,對接收到的媒體數(shù) 據(jù)進(jìn)行解碼,由于攜帶FEC數(shù)據(jù)的TS報文的數(shù)據(jù)類型標(biāo)識信息與攜帶媒體數(shù)據(jù)的TS報文 的數(shù)據(jù)類型標(biāo)識信息不同,即FEC數(shù)據(jù)的編碼格式與媒體數(shù)據(jù)不同,因此解碼芯片識別到 FEC數(shù)據(jù)并非媒體數(shù)據(jù)后丟棄。上述處理過程是不支持FEC解碼功能的終端側(cè)對接收到的RTP報文進(jìn)行處理的具 體實施方式。由于FEC數(shù)據(jù)的編碼格式與媒體數(shù)據(jù)不同,因此解碼芯片不會將FEC數(shù)據(jù)當(dāng) 作媒體數(shù)據(jù)進(jìn)行解碼,避免了解碼異常的發(fā)生。如果在帶外傳輸?shù)腇EC數(shù)據(jù)處理過程中應(yīng)用本發(fā)明實施例提供的方法,可參照上 述本發(fā)明各實施例提供的數(shù)據(jù)處理過程,在本發(fā)明實施例中,帶外傳輸與帶內(nèi)傳輸進(jìn)在數(shù) 據(jù)傳輸端口上有所區(qū)別。帶外傳輸方式中,攜帶FEC數(shù)據(jù)的RTP報文和攜帶媒體數(shù)據(jù)的RTP 報文使用不同的IP端口進(jìn)行傳輸。而在內(nèi)容分發(fā)網(wǎng)絡(luò)對FEC數(shù)據(jù)的處理過程,以及在終端 側(cè)對FEC數(shù)據(jù)的處理過程可參照上述各實施例中提供的處理過程。實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前 述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實 施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的 介質(zhì)。本發(fā)明實施例還提供了 一種FEC數(shù)據(jù)發(fā)送處理裝置,其結(jié)構(gòu)如圖7所示,具體實現(xiàn) 結(jié)構(gòu)包括TS報文封裝模塊701,用于對前向糾錯FEC數(shù)據(jù)進(jìn)行封裝,生成傳輸流TS報文, 并在所述TS報文中設(shè)置FEC標(biāo)識信息;RTP報文封裝模塊702,用于對所述TS報文封裝模 塊生成的所述TS報文進(jìn)行封裝,生成RTP報文;報文發(fā)送模塊703,用于向終端側(cè)發(fā)送所述 RTP報文封裝單元生成的所述RTP報文。其中,所述的FEC數(shù)據(jù)具體包括根據(jù)對媒體數(shù)據(jù) 進(jìn)行FEC編碼獲得的冗余數(shù)據(jù)。所述的FEC標(biāo)識信息用來標(biāo)識TS報文中攜帶的是FEC數(shù) 據(jù)。作為舉例而非限定,在TS報文中設(shè)置FEC標(biāo)識信息具體實現(xiàn)方式可以是,在PMT中增 加FEC數(shù)據(jù)類型,并將數(shù)據(jù)類型設(shè)置為FEC數(shù)據(jù)類型;還可以是對TS報文的PID字段進(jìn)行 擴(kuò)展,增加FEC數(shù)據(jù)類型,并將TS報文的PID字段設(shè)置為所述FEC數(shù)據(jù)類型。上述FEC數(shù)據(jù)發(fā)送處理裝置在內(nèi)容分發(fā)網(wǎng)絡(luò)側(cè),具體可以是內(nèi)容媒體源中的一個 模塊,也可以是獨(dú)立的服務(wù)器。其中,所述TS報文封裝模塊701還用于將FEC參數(shù)封裝進(jìn)所述TS報文中,所述FEC 參數(shù)包括FEC算法類型、FEC冗余率、FEC包標(biāo)識符、FEC符號大小和FEC符號數(shù)量。本發(fā)明 實施例提供的技術(shù)方案中,上述的FEC參數(shù)還可以包括FEC凈荷類型(FEC Payload Type), 該FEC凈荷類型參數(shù)設(shè)置在封裝FEC數(shù)據(jù)的RTP報文頭中,用來識別FEC數(shù)據(jù)。如果終端 側(cè)支持FEC解碼功能,可直接根據(jù)RTP報文中的FEC凈荷類型識別FEC數(shù)據(jù)。上述本發(fā)明實施例提供的裝置中,所述TS報文封裝模塊701在所述TS報文中設(shè) 置FEC標(biāo)識信息時,具體用于;在報文類型為PMT的TS報文中設(shè)置FEC數(shù)據(jù)類型信息;或 者,在TS報文的PID字段設(shè)置FEC數(shù)據(jù)類型信息。
本發(fā)明實施例還提供一種FEC數(shù)據(jù)的接收處理裝置,其結(jié)構(gòu)如圖8所示,具體實現(xiàn) 結(jié)構(gòu)包括報文接收模塊801,用于接收上述FEC數(shù)據(jù)的發(fā)送處理裝置發(fā)送的RTP報文;數(shù)據(jù) 處理模塊802,如果所述接收處理裝置具備FEC解碼功能,則所述數(shù)據(jù)處理模塊用于通過所 述RTP報文中的TS報文中的REC標(biāo)識信息識別FEC數(shù)據(jù),并根據(jù)所述FEC數(shù)據(jù),對丟失的 媒體報文進(jìn)行還原;如果所述接收處理裝置不具備FEC解碼功能,則所述數(shù)據(jù)處理模塊用 于將所述RTP報文去掉報文頭,識別出所述RTP報文中攜帶的數(shù)據(jù)不是媒體數(shù)據(jù),丟棄所述 數(shù)據(jù)。上述本發(fā)明實施例提供的FEC數(shù)據(jù)的接收處理裝置在終端側(cè),具體可以是機(jī)頂 盒,也可以是終端。如果上述接收處理裝置具備FEC解碼功能,則該裝置中的數(shù)據(jù)處理模塊802還用 于通過解析所述報文接收模塊701接收到的所述RTP報文中的TS報文,根據(jù)TS報文中的 FEC標(biāo)識信息確定所述TS報文中攜帶FEC參數(shù);獲取所述FEC參數(shù)以便對丟失的媒體報文 進(jìn)行還原。上述本發(fā)明實施例提供的FEC數(shù)據(jù)發(fā)送處理裝置,將FEC數(shù)據(jù)先進(jìn)行TS封裝,且 在TS報文中設(shè)置了 FEC標(biāo)識信息,再進(jìn)行RTP封裝傳送,因此當(dāng)FEC數(shù)據(jù)接收處理裝置不 支持FEC解碼功能時,由于FEC數(shù)據(jù)的格式與媒體數(shù)據(jù)的格式不同,不會由于無法識別FEC 數(shù)據(jù)而造成解碼異常,因此提高了媒體服務(wù)質(zhì)量,改善了用戶的收聽/收看效果。而且提高 了帶內(nèi)傳輸方式的兼容性。本發(fā)明實施例還提供一種處理FEC數(shù)據(jù)的系統(tǒng),其結(jié)構(gòu)如圖9所示,具體實現(xiàn)結(jié)構(gòu) 包括一個上述任意所述的FEC數(shù)據(jù)發(fā)送處理裝置,和至少一個上述任意所述的FEC數(shù)據(jù)接 收處理裝置。其中,F(xiàn)EC數(shù)據(jù)發(fā)送處理裝置和FEC數(shù)據(jù)接收處理裝置之間通過因特網(wǎng)進(jìn)行 通信,F(xiàn)EC數(shù)據(jù)發(fā)送處理裝置及FEC數(shù)據(jù)接收處理裝置的具體實現(xiàn)方式可參考上述描述,這 里不再贅述。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍 為準(zhǔn)。
1權(quán)利要求
1.一種FEC數(shù)據(jù)的發(fā)送處理方法,其特征在于,包括將前向糾錯FEC數(shù)據(jù)封裝為傳送流TS報文,在所述TS報文中設(shè)置FEC標(biāo)識信息,并將 所述TS報文封裝為實時傳送協(xié)議RTP報文; 向終端側(cè)發(fā)送所述RTP報文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述TS報文中還攜帶FEC參數(shù),所述FEC 參數(shù)至少包括FEC算法類型、FEC冗余率、FEC包標(biāo)識符、FEC符號大小和FEC符號數(shù)量。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述在所述TS報文中設(shè)置FEC標(biāo)識 信息包括在報文類型為節(jié)目映射表PMT的TS報文中設(shè)置FEC數(shù)據(jù)類型信息; 或者,在TS報文的包標(biāo)識符PID字段設(shè)置FEC數(shù)據(jù)類型信息。
4.一種FEC數(shù)據(jù)的接收處理方法,其特征在于,包括 接收權(quán)利要求1 3任意一項所述的RTP報文;如果本地具備前向糾錯FEC解碼功能,則通過接收到的所述RTP報文中的TS報文中的 REC標(biāo)識信息識別FEC數(shù)據(jù),并根據(jù)所述FEC數(shù)據(jù),對丟失的媒體報文進(jìn)行還原;如果不具備FEC解碼功能,則將所述RTP報文去掉報文頭,識別出所述RTP報文中攜帶 的數(shù)據(jù)不是媒體數(shù)據(jù),丟棄所述數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,如果具備前向糾錯FEC解碼功能,則該方 法還包括通過解析所述RTP報文中的TS報文,根據(jù)TS報文中的FEC標(biāo)識信息確定所述TS報文 中攜帶FEC參數(shù);獲取所述FEC參數(shù);根據(jù)所述FEC數(shù)據(jù)和FEC參數(shù)對丟失的媒體報文進(jìn)行還原。
6.一種FEC數(shù)據(jù)發(fā)送處理裝置,其特征在于,包括TS報文封裝模塊,用于對前向糾錯FEC數(shù)據(jù)進(jìn)行封裝,生成傳輸流TS報文,并在所述 TS報文中設(shè)置FEC標(biāo)識信息;RTP報文封裝模塊,用于對所述TS報文封裝模塊生成的所述TS報文進(jìn)行封裝,生成 RTP報文;報文發(fā)送模塊,用于向終端側(cè)發(fā)送所述RTP報文封裝單元生成的所述RTP報文。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述TS報文封裝模塊還用于將FEC參數(shù) 封裝進(jìn)所述TS報文中,所述FEC參數(shù)至少包括FEC算法類型、FEC冗余率、FEC包標(biāo)識符、 FEC符號大小和FEC符號數(shù)量。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于所述TS報文封裝模塊在所述TS報文 中設(shè)置FEC標(biāo)識信息時,具體用于;在報文類型為節(jié)目映射表PMT的TS報文中設(shè)置FEC數(shù) 據(jù)類型信息;或者,在TS報文的包標(biāo)識符PID字段設(shè)置FEC數(shù)據(jù)類型信息。
9.一種FEC數(shù)據(jù)的接收處理裝置,其特征在于,包括報文接收模塊,用于接收權(quán)利要求6 8任意一項所述的RTP報文; 數(shù)據(jù)處理模塊,如果所述接收處理裝置具備FEC解碼功能,則所述數(shù)據(jù)處理模塊用于通過所述RTP報文中的TS報文中的REC標(biāo)識信息識別FEC數(shù)據(jù),并根據(jù)所述FEC數(shù)據(jù),對 丟失的媒體報文進(jìn)行還原;如果所述接收處理裝置不具備FEC解碼功能,則所述數(shù)據(jù)處理 模塊用于將所述RTP報文去掉報文頭,識別出所述RTP報文中攜帶的數(shù)據(jù)不是媒體數(shù)據(jù),丟 棄所述數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,如果所述接收處理裝置具備FEC解碼功 能,則該裝置的數(shù)據(jù)處理模塊還用于通過解析所述報文接收模塊接收到的所述RTP報文中 的TS報文,根據(jù)TS報文中的FEC標(biāo)識信息確定所述TS報文中攜帶FEC參數(shù);獲取FEC參 數(shù)以便對丟失的媒體報文進(jìn)行還原。
11.一種處理FEC數(shù)據(jù)的系統(tǒng),其特征在于,包括一個權(quán)利要求6 8任意一項所述的 FEC數(shù)據(jù)發(fā)送處理裝置,和至少一個權(quán)利要求9 10任意一項所述的FEC數(shù)據(jù)接收處理裝 置;所述FEC數(shù)據(jù)發(fā)送處理裝置與所述FEC數(shù)據(jù)接收處理裝置通過因特網(wǎng)進(jìn)行通信。
全文摘要
一種FEC數(shù)據(jù)的處理方法,包括發(fā)送端將FEC數(shù)據(jù)封裝為TS報文,在該TS報文中設(shè)置FEC標(biāo)識信息,并將該TS報文封裝為RTP報文;向終端側(cè)發(fā)送RTP報文。接收端接收所述的RTP報文;如果具備前向糾錯FEC解碼功能,則根據(jù)接收到的RTP報文中的TS報文中的FEC標(biāo)識信息識別FEC數(shù)據(jù),并根據(jù)FEC數(shù)據(jù)對丟失的媒體報文進(jìn)行還原;如果不具備FEC解碼功能,則將RTP報文去掉報文頭后進(jìn)行處理。本發(fā)明實施例還提供了一種FEC數(shù)據(jù)的發(fā)送處理裝置和接收處理裝置,以及一種處理FEC數(shù)據(jù)的系統(tǒng)。由于將FEC數(shù)據(jù)先使用TS格式封裝,再使用RTP格式封裝傳輸,因此避免了解碼出現(xiàn)異常的情況,提高了媒體服務(wù)的質(zhì)量。
文檔編號H04L29/06GK102111233SQ20091024310
公開日2011年6月29日 申請日期2009年12月28日 優(yōu)先權(quán)日2009年12月28日
發(fā)明者徐晉, 許鑫, 雷瓊 申請人:華為軟件技術(shù)有限公司