陳 美,汪清清
(中國(guó)電信股份有限公司江蘇分公司 南京210017)
隨著通信技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)業(yè)務(wù)已從滿足用戶的基本需求轉(zhuǎn)變?yōu)闈M足用戶更豐富的消費(fèi)性和娛樂(lè)性需求,視頻業(yè)務(wù)成為主要的互聯(lián)網(wǎng)應(yīng)用之一,也是各大運(yùn)營(yíng)商競(jìng)爭(zhēng)的焦點(diǎn)之一。目前,視頻業(yè)務(wù)種類(lèi)繁多,如在線視頻、IPTV、視頻監(jiān)控、會(huì)議電視等。
2010年,國(guó)務(wù)院正式?jīng)Q定加快推進(jìn)電信網(wǎng)、有線電視網(wǎng)和互聯(lián)網(wǎng)的三網(wǎng)融合,作為三網(wǎng)融合的重要切入點(diǎn),電信運(yùn)營(yíng)商必將大力發(fā)展IPTV、手機(jī)影視等視頻業(yè)務(wù),最終實(shí)現(xiàn)以IP網(wǎng)絡(luò)為統(tǒng)一承載的語(yǔ)音、數(shù)據(jù)和視頻3重業(yè)務(wù)的捆綁[1]。
對(duì)視頻業(yè)務(wù)來(lái)說(shuō),用戶往往通過(guò)看視頻卡不卡、切換快不快判斷業(yè)務(wù)質(zhì)量的優(yōu)劣。IP承載網(wǎng)是一個(gè)“盡力而為”的網(wǎng)絡(luò),而視頻業(yè)務(wù)是一個(gè)需要高帶寬、低傳輸延時(shí)和低延時(shí)抖動(dòng)的業(yè)務(wù),任何一個(gè)環(huán)節(jié)出現(xiàn)問(wèn)題都可能導(dǎo)致用戶觀看視頻時(shí)出現(xiàn)馬賽克、卡頓、響應(yīng)慢等現(xiàn)象,甚至無(wú)法觀看。因此,提升視頻業(yè)務(wù)質(zhì)量、優(yōu)化使用感知更具迫切性。
三網(wǎng)融合后,視頻媒體的交互化是產(chǎn)業(yè)發(fā)展的必然趨勢(shì)。IPTV產(chǎn)業(yè)形態(tài)日趨成熟,產(chǎn)業(yè)價(jià)值不斷提升,將成為三網(wǎng)融合進(jìn)程中最為核心的主導(dǎo)型業(yè)務(wù)。本文以IPTV為例,闡述FEC及FCC技術(shù)在提升視頻業(yè)務(wù)使用感知方面的應(yīng)用。
隨著IPTV產(chǎn)業(yè)鏈的逐漸成熟,業(yè)務(wù)需求已從“可用”、“能用”向“好用”階段轉(zhuǎn)變,能否提供好的用戶體驗(yàn)質(zhì)量(quality of experience,QoE)[1]成為IPTV業(yè)務(wù)能否可持續(xù)發(fā)展的必要條件。視頻播放的流暢性和頻道切換延時(shí)是衡量QoE的關(guān)鍵指標(biāo)。因此,降低節(jié)目卡頓概率、提升頻道切換響應(yīng)速度是目前急需解決的問(wèn)題。
對(duì)于節(jié)目播放卡頓問(wèn)題,運(yùn)營(yíng)商一般通過(guò)分段排查的方式定位故障原因,解決網(wǎng)絡(luò)設(shè)備、平臺(tái)服務(wù)器軟硬件故障或優(yōu)化線路質(zhì)量。故障從申告到解決需要一定時(shí)間,影響了用戶感知。目前采用的糾錯(cuò)機(jī)制主要是傳統(tǒng)的差錯(cuò)控制技術(shù),包括依靠TCP本身所具備的丟包、超時(shí)重傳機(jī)制,或在UDP之上擴(kuò)展出丟包、超時(shí)重傳機(jī)制等。在網(wǎng)絡(luò)擁塞嚴(yán)重的網(wǎng)絡(luò)中,可能導(dǎo)致視頻圖像質(zhì)量更加惡化。
對(duì)于頻道切換延時(shí)問(wèn)題,運(yùn)營(yíng)商一般通過(guò)優(yōu)化業(yè)務(wù)認(rèn)證流程、使用靜態(tài)組播樹(shù)代替動(dòng)態(tài)組播樹(shù)[2]、提升設(shè)備性能[3]等方式降低響應(yīng)延時(shí)。但由于IPTV業(yè)務(wù)流程、組播技術(shù)特點(diǎn)、費(fèi)用投資等方面的原因,頻道切換延時(shí)仍較數(shù)字電視長(zhǎng)。
如何以較小的投入成本、較短的時(shí)間提高IPTV業(yè)務(wù)對(duì)網(wǎng)絡(luò)質(zhì)量的容忍度、提升頻道切換延時(shí)使其與數(shù)字電視相當(dāng),是運(yùn)營(yíng)商要解決的重點(diǎn)問(wèn)題,也是實(shí)現(xiàn)IPTV業(yè)務(wù)質(zhì)量突破的關(guān)鍵。
直播服務(wù)作為IPTV業(yè)務(wù)中的一項(xiàng)重要業(yè)務(wù),一般采用基于UDP的組播方式進(jìn)行傳送。而對(duì)于采用TS over RTP格式的IPTV媒體傳輸過(guò)程中的容錯(cuò)糾錯(cuò),目前國(guó)際國(guó)內(nèi)都沒(méi)有正式的規(guī)范,相關(guān)的建議和標(biāo)準(zhǔn)草案中主要提到兩種措施:丟包重傳和前向糾錯(cuò)(FEC),兩者的簡(jiǎn)單對(duì)比見(jiàn)表1。
表1 丟包重傳和前向糾錯(cuò)技術(shù)對(duì)比
可見(jiàn),F(xiàn)EC技術(shù)更適合于直播業(yè)務(wù),其單向無(wú)交互的特點(diǎn),使其適用于基于組播方式的直播服務(wù)場(chǎng)合。
IPTV領(lǐng)域中的FEC算法大多基于異或運(yùn)算的原理。假設(shè)有2 bit的信息A和B,對(duì)A與B進(jìn)行異或運(yùn)算作為FEC數(shù)據(jù),表2列出了FEC分別與A和B進(jìn)行異或運(yùn)算的結(jié)果。
從表2可以看出,F(xiàn)EC XOR A的值與B相等,而FEC XOR B的值則與A相等。如果在發(fā)送數(shù)據(jù)時(shí),除了發(fā)送原始比特位A和B外,將A與B作異或的值作為一個(gè)額外的比特位加以發(fā)送,則這3個(gè)比特位中的任意一個(gè)比特位丟失,都可完全恢復(fù)原始信息。表2針對(duì)的是2 bit的情況,3個(gè)或更多的比特位進(jìn)行異或運(yùn)算,也可得到同樣的糾錯(cuò)效果。
表2 異或運(yùn)算結(jié)果
確定了FEC的核心算法后,還要確定一種模式從原始媒體包中選擇合適的媒體包參與FEC運(yùn)算,如圖1所示(參與同一次FEC計(jì)算的媒體包和FEC包外框表示相同)。
在圖1中,A的做法是每連續(xù)5個(gè)包作一次FEC編碼,而B(niǎo)的做法則是奇數(shù)包和偶數(shù)包分別作FEC編碼。假設(shè)網(wǎng)絡(luò)因素導(dǎo)致媒體包1和2被丟掉了,則對(duì)于A來(lái)說(shuō),總共6個(gè)包(5個(gè)媒體包加一個(gè)FEC包)丟掉了1/3,可能恢復(fù)失敗,而對(duì)于B來(lái)說(shuō),6個(gè)包中只丟掉一個(gè),恢復(fù)成功的可能性大很多。
編碼后的FEC數(shù)據(jù)必須采用合適的格式進(jìn)行封裝,封裝后發(fā)送FEC數(shù)據(jù)的時(shí)機(jī)也很重要。假設(shè)FEC數(shù)據(jù)被封裝成單獨(dú)的數(shù)據(jù)包進(jìn)行發(fā)送,圖2給出了兩種不同的發(fā)送模式。
從圖2可以看出,A的發(fā)送方式將FEC包均勻分布在輸出的碼流中,但在連續(xù)丟兩個(gè)包的情況下,如果剛好是圓圈中的兩個(gè)包丟失,則同一組6個(gè)包損失1/3,無(wú)法恢復(fù)。B的發(fā)送方式簡(jiǎn)單地將兩個(gè)FEC包放在最后發(fā)送,能夠抵抗任意位置的兩個(gè)連續(xù)丟包。
除了上述FEC算法外,信息領(lǐng)域內(nèi)還有一些其他的FEC算法,如常用的RS編碼,能夠識(shí)別出接收數(shù)據(jù)中的比特誤碼并加以糾正,但由于IP網(wǎng)絡(luò)上的數(shù)據(jù)錯(cuò)誤在應(yīng)用層通常表現(xiàn)為整個(gè)數(shù)據(jù)包的丟失,在視頻業(yè)務(wù)領(lǐng)域內(nèi)鮮有應(yīng)用。
圖3為江蘇電信在IPTV業(yè)務(wù)中應(yīng)用FEC技術(shù)的解決方案之一,具體如下。
·在省中心和區(qū)域中心分別部署直播服務(wù)節(jié)點(diǎn)。
·中心直播節(jié)點(diǎn)和區(qū)域直播節(jié)點(diǎn)間采用單播方式傳輸直播碼流,同時(shí)部署FEC,F(xiàn)EC數(shù)據(jù)與原始碼流共用一個(gè)RTP通道。
·區(qū)域直播節(jié)點(diǎn)從中心直播節(jié)點(diǎn)接收直播碼流,進(jìn)行FEC解碼和糾錯(cuò)。
·區(qū)域直播節(jié)點(diǎn)再次對(duì)直播碼流進(jìn)行FEC編碼,并將碼流以組播方式發(fā)送給區(qū)域中心、邊緣節(jié)點(diǎn)和機(jī)頂盒。
·區(qū)域中心發(fā)出的FEC數(shù)據(jù)采用單獨(dú)通道傳輸,以兼容各廠商機(jī)頂盒。
直播頻道切換流程如圖4所示。
·首先機(jī)頂盒需獲取頻道的組播地址,耗時(shí)一般約幾百毫秒。
·根據(jù)組播地址,加入該頻道對(duì)應(yīng)的組播組,耗時(shí)0.1~1 s,與承載網(wǎng)數(shù)據(jù)設(shè)備有關(guān),IPoE較快,PPPoE較慢。
·獲取碼流的PSI信息,與PAT和PMT的重復(fù)間隔有關(guān),耗時(shí)約為50 ms。
·等待碼流的第一個(gè)I幀,通常I幀間隔為2 s,等待I幀的時(shí)間平均約為1 s。
·傳輸I幀耗時(shí)一般在300 ms以?xún)?nèi),機(jī)頂盒接收到I幀后即開(kāi)始播放。
由圖4可以看出,等待和傳輸I幀的時(shí)間占據(jù)頻道切換時(shí)間的絕大部分,應(yīng)該作為重點(diǎn)優(yōu)化對(duì)象。
FCC技術(shù)是在現(xiàn)有架構(gòu)基礎(chǔ)上,部署獨(dú)立的硬件設(shè)備,采用單播方式向機(jī)頂盒發(fā)送以I幀開(kāi)頭的碼流,消除等待I幀的時(shí)間,加快頻道響應(yīng)速度。
因此,可在用戶側(cè)就近部署頻道緩存服務(wù)器接收來(lái)自組播源的碼流,并實(shí)時(shí)緩存到內(nèi)存中,緩存數(shù)據(jù)量與頻道碼率有關(guān),始終保證緩存中有最近的一個(gè)完整塊組。當(dāng)用戶進(jìn)行頻道切換時(shí),機(jī)頂盒在向組播設(shè)備發(fā)出加入組播組請(qǐng)求的同時(shí),一并向緩存服務(wù)器發(fā)送快速切換請(qǐng)求,緩存服務(wù)器則將最近一個(gè)塊組的媒體數(shù)據(jù)發(fā)送給機(jī)頂盒。塊組以I幀開(kāi)頭,機(jī)頂盒收到后可立即進(jìn)行解碼并顯示,從而提高用戶的體驗(yàn)質(zhì)量。如果緩存服務(wù)器由于負(fù)荷過(guò)高等原因無(wú)法處理機(jī)頂盒的請(qǐng)求,則不向其發(fā)送任何碼流,原有的頻道切換流程不受任何影響,機(jī)頂盒仍然可以正常進(jìn)行頻道切換。一個(gè)塊組的數(shù)據(jù)發(fā)送完畢后,緩存服務(wù)器停止此次發(fā)送行為,機(jī)頂盒隨后開(kāi)始處理來(lái)自組播設(shè)備的實(shí)時(shí)碼流。
圖5為江蘇電信在IPTV業(yè)務(wù)中應(yīng)用FCC技術(shù)的解決方案之一。
FCC方案部署后,頻道快速切換的流程如下。
·緩存服務(wù)器事先加入所有組播組,從組播設(shè)備接收各頻道的碼流進(jìn)行緩存。
·機(jī)頂盒在切換頻道時(shí)向緩存服務(wù)器發(fā)起請(qǐng)求,緩存服務(wù)器采用單播方式向其發(fā)送最新的一個(gè)GOP,機(jī)頂盒接收并進(jìn)行解碼顯示。
·機(jī)頂盒接收來(lái)自組播設(shè)備的頻道組播碼流,轉(zhuǎn)入常規(guī)的處理流程。
實(shí)際組網(wǎng)時(shí)組播設(shè)備可能有多個(gè),緩存服務(wù)器和機(jī)頂盒可以分別部署到不同的組播設(shè)備下,建議在滿足容量的前提下盡量靠近機(jī)頂盒部署。緩存服務(wù)器的處理能力相對(duì)固定,其用戶容量則受頻道數(shù)量、頻道碼率、塊組大小和用戶觀看習(xí)慣等因素的影響。
江蘇電信對(duì)應(yīng)用于上述方案的FEC和FCC技術(shù)進(jìn)行了實(shí)驗(yàn)室測(cè)試和現(xiàn)網(wǎng)用戶試點(diǎn)。
實(shí)驗(yàn)室測(cè)試結(jié)果表明,10%左右的FEC冗余數(shù)據(jù)能容錯(cuò)2%的丟包。
選取江蘇電信2個(gè)地市分公司的用戶進(jìn)行試點(diǎn),試點(diǎn)結(jié)果見(jiàn)表3。
試點(diǎn)情況表明,F(xiàn)EC技術(shù)在解決直播卡頓問(wèn)題中發(fā)揮了明顯的作用,但在部分極端場(chǎng)景(如丟包率超過(guò)糾錯(cuò)閾值)下無(wú)法發(fā)揮效果。
實(shí)驗(yàn)室測(cè)試結(jié)果表明,在頻道視頻碼率為2 Mbit/s、GOP值為2 s的情況下,頻道切換速度降至1 s以?xún)?nèi)。
表3 江蘇電信用戶試點(diǎn)情況
選取江蘇電信1個(gè)地市分公司進(jìn)行試點(diǎn),F(xiàn)CC緩存服務(wù)器為該地市IPTV平臺(tái)區(qū)域中心節(jié)點(diǎn)的一臺(tái)流媒體服務(wù)器,測(cè)試結(jié)果如下。
·機(jī)頂盒在EPG主頁(yè),通過(guò)頻道+/-切換到直播頻道,頻道切換時(shí)長(zhǎng)在1 s以?xún)?nèi)。
·機(jī)頂盒直播狀態(tài),通過(guò)頻道+/-切換到直播頻道,頻道切換時(shí)長(zhǎng)在1 s以?xún)?nèi)。
·機(jī)頂盒在點(diǎn)播狀態(tài),通過(guò)頻道+/-切換到直播頻道,頻道切換時(shí)長(zhǎng)在1 s以?xún)?nèi)。
·機(jī)頂盒在回看狀態(tài),通過(guò)頻道+/-切換到直播頻道,頻道切換時(shí)長(zhǎng)在1 s以?xún)?nèi)。
試點(diǎn)情況表明,F(xiàn)CC技術(shù)在提升頻道切換速度中發(fā)揮了明顯作用,部署后IPTV直播頻道切換速度與數(shù)字電視切換速度相當(dāng)。
從信息學(xué)角度看,F(xiàn)EC的實(shí)質(zhì)就是在傳輸層產(chǎn)生冗余信息,顯然,冗余碼率越高,糾錯(cuò)能力就越強(qiáng),但消耗的系統(tǒng)資源也就越多。而IPTV用戶接入的網(wǎng)絡(luò)帶寬是有限的,冗余碼率越高,則用于傳輸媒體碼流的有效帶寬就越小。在實(shí)施時(shí),應(yīng)實(shí)事求是地確定FEC的糾錯(cuò)指標(biāo),在保證指標(biāo)的前提下盡量控制冗余碼率。同樣地,F(xiàn)CC的效果與I幀間隔有直接關(guān)系,提高I幀間隔,可提高FCC設(shè)備的容量,降低帶寬消耗,但又會(huì)影響節(jié)目播放效果,實(shí)際中應(yīng)綜合權(quán)衡。
從電信運(yùn)營(yíng)商的資源優(yōu)勢(shì)、運(yùn)營(yíng)能力角度考慮,視頻業(yè)務(wù)將是電信運(yùn)營(yíng)商的業(yè)務(wù)拓展重點(diǎn)。隨著視頻應(yīng)用的日益增多和視頻業(yè)務(wù)種類(lèi)的拓展,視頻業(yè)務(wù)的競(jìng)爭(zhēng)也將日益激烈。只有不斷提升用戶感知,才能在競(jìng)爭(zhēng)中立于不敗之地。
1 姚良,奚溪.三網(wǎng)融合下視頻業(yè)務(wù)質(zhì)量評(píng)估體系的研究.電信科學(xué),2011(3)
2 于婧,賈鳳根,張興明等.組播技術(shù)在IPTV中的應(yīng)用.電信科學(xué),2005(5)
3 張鵬,楊乾斌,張興明等.支持IPTV用戶擴(kuò)容的頻道快速切換設(shè)計(jì).計(jì)算機(jī)工程,2009(2)