3G流媒體業(yè)務(wù)的QoS及解決之道
移動(dòng)流媒體技術(shù)被認(rèn)為是移動(dòng)增值業(yè)務(wù)的一個(gè)熱點(diǎn),它開創(chuàng)了無線通信與互聯(lián)網(wǎng)、視頻融合的新時(shí)代。隨著3G網(wǎng)絡(luò)基礎(chǔ)設(shè)施的完善、移動(dòng)終端功能的增強(qiáng)和媒體內(nèi)容的豐富,流媒體業(yè)務(wù)必將會(huì)成為未來移動(dòng)通信業(yè)務(wù)新的增長點(diǎn)。
運(yùn)營商在開展流媒體業(yè)務(wù)中,最為關(guān)心的問題是服務(wù)質(zhì)量(QoS)。流媒體的QoS問題在有線網(wǎng)絡(luò)中已經(jīng)得到了廣泛的研究并提出了很好的解決方案,然而無線網(wǎng)絡(luò)中,用戶的移動(dòng)性、傳輸信道的惡劣等使得移動(dòng)流媒體的QoS保證更加復(fù)雜。本文就3G流媒體業(yè)務(wù)的QoS問題進(jìn)行了分析,并給出了解決方法。
移動(dòng)流媒體業(yè)務(wù)是運(yùn)營商通過移動(dòng)網(wǎng)絡(luò)和移動(dòng)流媒體系統(tǒng)向終端用戶提供音、視頻多媒體內(nèi)容服務(wù),涉及到流媒體數(shù)據(jù)的采集、壓縮、存儲(chǔ)以及網(wǎng)絡(luò)通信等多項(xiàng)技術(shù)。
根據(jù)內(nèi)容的播放方式與內(nèi)容來源,移動(dòng)流媒體業(yè)務(wù)可以分為流媒體點(diǎn)播(VOD)、流媒體直播和下載播放3種業(yè)務(wù)類型。開展流媒體業(yè)務(wù)至少需要一臺(tái)內(nèi)容服務(wù)器和一臺(tái)流媒體客戶端,此外還可能會(huì)涉及到門戶、檔案服務(wù)器、緩存服務(wù)器和代理等其他組件,以提供附加業(yè)務(wù)或改善整體業(yè)務(wù)質(zhì)量。
QoS問題分析
流媒體的播放有嚴(yán)格的實(shí)時(shí)性要求,要求在特定的時(shí)間間隔內(nèi)將特定的數(shù)據(jù)單元解碼顯示。而目前3G流媒體業(yè)務(wù)開展中存在一些問題,如媒體文件播放中的停頓、馬賽克等現(xiàn)象,大量用戶突發(fā)訪問一個(gè)熱門內(nèi)容(如電視直播)時(shí)服務(wù)器處理困難等等,這些問題都涉及到流媒體的QoS保證。
在網(wǎng)絡(luò)傳輸過程中,影響流媒體服務(wù)質(zhì)量最主要的幾個(gè)因素是帶寬、誤碼率及延遲抖動(dòng)。
帶寬
隨著移動(dòng)流媒體業(yè)務(wù)的發(fā)展和用戶的不斷增長,帶寬的問題日益凸顯,運(yùn)營商無法為所有的用戶提供足夠的帶寬。這種矛盾對(duì)于無線頻段資源有限的移動(dòng)通信來說尤為突出。帶寬的問題對(duì)流媒體業(yè)務(wù)開展的影響是雙方面的:一方面會(huì)影響到用戶收看質(zhì)量;另一方面,由于流媒體應(yīng)用消耗帶寬大,會(huì)對(duì)網(wǎng)絡(luò)造成影響。
誤碼率
相對(duì)于有線傳輸信道,移動(dòng)通信所要使用的無線傳輸信道環(huán)境要惡劣得多,因信道質(zhì)量、流量控制機(jī)制而導(dǎo)致的數(shù)據(jù)丟包、誤碼率要高得多。而壓縮視頻流對(duì)誤碼非常敏感,即使接收到數(shù)據(jù)包的誤碼率很低,也會(huì)對(duì)解碼后的圖像質(zhì)量造成很大影響。
延遲抖動(dòng)
數(shù)據(jù)分組存儲(chǔ)轉(zhuǎn)發(fā)的性質(zhì)決定了延遲和抖動(dòng)是不可避免的,所以對(duì)流媒體傳輸而言,端到端的延遲應(yīng)該控制在一定范圍之內(nèi)。
終端能力
終端側(cè)的影響因素包括緩沖區(qū)的設(shè)置、接入帶寬和編解碼的處理能力等。緩沖設(shè)置得不合適則可能導(dǎo)致溢出和丟包,從而影響用戶觀看質(zhì)量;接入帶寬應(yīng)大于媒體流的碼率,否則會(huì)出現(xiàn)停頓、跳幀現(xiàn)象;解碼處理能力則與CPU、內(nèi)存、顯卡、顯示驅(qū)動(dòng)程序的關(guān)系密切。另外,流媒體系統(tǒng)應(yīng)提供終端類型識(shí)別和終端設(shè)備能力適配等功能。
QoS問題解決方法
編碼技術(shù)
先進(jìn)的視頻編碼方案可進(jìn)一步提高視頻數(shù)據(jù)的壓縮效率,盡可能消除視頻中的冗余信息,使得信源編碼輸出的數(shù)據(jù)量盡可能少,從而適應(yīng)網(wǎng)絡(luò)最低傳輸帶寬的情況,同時(shí),可以提供靈活的視頻質(zhì)量分級(jí)來最大限度適應(yīng)網(wǎng)絡(luò)的動(dòng)態(tài)特性,盡可能為用戶提供好的視頻質(zhì)量。
視頻編碼技術(shù)可以分為兩類:面向存儲(chǔ)的非擴(kuò)展性編碼技術(shù)和面向網(wǎng)絡(luò)傳輸?shù)目蓴U(kuò)展性編碼技術(shù)。
非擴(kuò)展性編碼的主要缺點(diǎn)是傳輸碼流碼率的變化缺少適應(yīng)網(wǎng)絡(luò)動(dòng)態(tài)變化的靈活性。雖然一些編碼方案為了提高視頻流適應(yīng)網(wǎng)絡(luò)帶寬變化的靈活性,進(jìn)行了技術(shù)上的改進(jìn),如轉(zhuǎn)碼技術(shù)和碼流切換技術(shù),但只能算是一種折中方案,因?yàn)檫@種靈活性的提高是以增加視頻服務(wù)器開銷或增加存儲(chǔ)量作為代價(jià)的。存在這種問題的根本原因是傳統(tǒng)的非擴(kuò)展性視頻編碼技術(shù)是面向存儲(chǔ)的而非面向傳輸?shù)摹?
為了徹底克服面向存儲(chǔ)編碼技術(shù)的缺點(diǎn),可擴(kuò)展性編碼技術(shù)得到了快速的發(fā)展。這些技術(shù)在進(jìn)一步提高編碼效率的同時(shí),增加了編碼輸出碼流適應(yīng)網(wǎng)絡(luò)帶寬動(dòng)態(tài)變化的靈活性??蓴U(kuò)展性編碼就是將多媒體數(shù)據(jù)壓縮編碼成多個(gè)碼流,其中一個(gè)可以獨(dú)立解碼,它稱為基本層碼流;其他的碼流稱為增強(qiáng)層,它們不可以單獨(dú)解碼,而只能與基本層和它以前的增強(qiáng)層聯(lián)合在一起解碼,用來提高觀看效果??蓴U(kuò)展性編碼主要分為分層可擴(kuò)展性編碼、精細(xì)可擴(kuò)展性編碼和漸進(jìn)精細(xì)可擴(kuò)展性編碼3種。
分層可擴(kuò)展性編碼已經(jīng)被許多現(xiàn)行的國際壓縮標(biāo)準(zhǔn)接納,主要包括時(shí)域可擴(kuò)展性、空域可擴(kuò)展性和質(zhì)量可擴(kuò)展性編碼。
精細(xì)可擴(kuò)展性編碼(FGS)特點(diǎn)如下:增強(qiáng)層使用位平面編碼技術(shù)對(duì)DCT(Discrete Cosine Transform)殘差進(jìn)行編碼來覆蓋網(wǎng)絡(luò)帶寬的變化范圍;每一幀的增強(qiáng)層碼流可以在任何地點(diǎn)截?cái)?;解碼器重建的視頻質(zhì)量和收到的比特?cái)?shù)成正比。
漸進(jìn)精細(xì)可擴(kuò)展性編碼(PFGS)重構(gòu)的增強(qiáng)層的質(zhì)量明顯高于基本層的圖像質(zhì)量,運(yùn)動(dòng)補(bǔ)償更有效,從而提高了編碼效率,同時(shí)也減少了差錯(cuò)的傳播。
擁塞和差錯(cuò)控制
擁塞控制的目的是采用某種機(jī)制應(yīng)對(duì)和避免網(wǎng)絡(luò)阻塞,降低時(shí)延和丟包率。對(duì)于流媒體業(yè)務(wù),擁塞控制的主要方法是速率控制。速率控制機(jī)制可以同時(shí)使網(wǎng)絡(luò)擁塞和包丟失率達(dá)到最小。速率控制機(jī)制主要包括基于源端、基于目的端以及混合速率控制。
擁塞控制只能減少數(shù)據(jù)包的丟失,但是網(wǎng)絡(luò)中不可避免的會(huì)存在數(shù)據(jù)包丟失,而且到達(dá)時(shí)延過大的分組也會(huì)被認(rèn)為沒有用而被丟棄,從而降低了視頻質(zhì)量。要改善視頻質(zhì)量就需要一定的差錯(cuò)控制機(jī)制。
差錯(cuò)控制機(jī)制包括以下幾項(xiàng):
前向糾錯(cuò)(FEC)。FEC是通過在傳輸?shù)拇a流中加入用于糾錯(cuò)的冗余信息,在遇到包丟失的情況時(shí),利用冗余信息恢復(fù)丟失的信息。它的不足是增加了編碼時(shí)延和傳輸帶寬。
延遲約束的重傳。通常流的播放有時(shí)間限制,因此,僅有當(dāng)重傳的時(shí)間小于正常的播放時(shí)間時(shí),重傳才是有價(jià)值的。
差錯(cuò)抑制。這是一種根據(jù)存在的前后幀的相關(guān)性來重構(gòu)丟失幀的方法。這種方案的優(yōu)點(diǎn)是對(duì)發(fā)送端沒有任何影響,缺點(diǎn)是增加了終端解碼工作的負(fù)擔(dān)。另外,對(duì)于大量突發(fā)丟包的情況,重構(gòu)依據(jù)的幀也丟失,導(dǎo)致重構(gòu)失敗。
容錯(cuò)編碼。容錯(cuò)編碼通過編碼時(shí)的特殊處理來減小丟包對(duì)整個(gè)文件播放造成的影響。流媒體文件傳輸中,丟包產(chǎn)生的影響包括兩個(gè)方面:一個(gè)是丟失了視頻流的同步信息;二是導(dǎo)致獨(dú)立編碼幀錯(cuò)誤,錯(cuò)誤擴(kuò)散到依賴它的幀的解碼。對(duì)前者,編碼器通過加入再同步點(diǎn)、可逆變長編碼、數(shù)據(jù)遷移、應(yīng)用層成幀等方法加以克服;對(duì)于后者,一般的處理方法是對(duì)每幀中的一部分獨(dú)立編碼,這樣就避免了因完全依賴其他幀的信息而造成錯(cuò)誤擴(kuò)散。
移動(dòng)流媒體內(nèi)容分發(fā)網(wǎng)絡(luò)
移動(dòng)流媒體內(nèi)容分發(fā)網(wǎng)絡(luò)(MSM-CDN)提供了一種新的媒體傳輸平臺(tái),通過疊加的服務(wù)器實(shí)現(xiàn)端到端的媒體傳輸以及網(wǎng)間的媒體業(yè)務(wù),是實(shí)現(xiàn)向大規(guī)模移動(dòng)用戶提供流媒體服務(wù)的基礎(chǔ)。MSM-CDN是由一系列節(jié)點(diǎn)組成的,它們相互協(xié)調(diào)地為移動(dòng)用戶傳輸流媒體,這些疊加的節(jié)點(diǎn)在網(wǎng)絡(luò)中起到了關(guān)鍵控制點(diǎn)的作用,大大提高了端到端的流媒體傳輸?shù)男阅?。MSM-CDN具有資源利用率高及時(shí)延小等優(yōu)點(diǎn),利用MSM-CDN傳輸流媒體是大規(guī)模流媒體應(yīng)用的發(fā)展趨勢。
采用MSM-CDN傳輸流媒體的優(yōu)點(diǎn)主要包括:通過應(yīng)用層的內(nèi)容分發(fā)降低了主干網(wǎng)絡(luò)的流媒體流量;通過分布在網(wǎng)絡(luò)邊緣的流媒體服務(wù)器,避免了擁塞鏈路,提高了流媒體傳輸?shù)男阅芎晚憫?yīng)時(shí)間;有效地提高整個(gè)流媒體系統(tǒng)的擴(kuò)展性,降低對(duì)每個(gè)流媒體服務(wù)器的性能要求。
MSM-CDN中的關(guān)鍵技術(shù)包括以下幾個(gè)方面:
內(nèi)容分布
把媒體內(nèi)容放置在靠近客戶端的疊加服務(wù)器上,媒體流可以在一個(gè)較短的網(wǎng)絡(luò)路徑上傳輸,從而減少流媒體會(huì)話的啟動(dòng)時(shí)延,降低丟包率和整個(gè)網(wǎng)絡(luò)的占用。這就需要通過最優(yōu)的內(nèi)容分布算法來優(yōu)化系統(tǒng)性能。這種優(yōu)化可以通過收斂的統(tǒng)計(jì)方法和可預(yù)測預(yù)取算法在數(shù)據(jù)統(tǒng)計(jì)分析基礎(chǔ)上實(shí)現(xiàn)。
與內(nèi)容分布緊密相關(guān)的就是疊加服務(wù)器上的內(nèi)容緩沖問題。提高緩沖內(nèi)容的命中率需要在疊加服務(wù)器上存儲(chǔ)大量的媒體,而流媒體流緩沖問題需要確定哪些媒體流或媒體流片斷需要緩沖。內(nèi)容分布和緩沖是MSM-CDN最關(guān)鍵的組成部分,對(duì)資源利用率以及系統(tǒng)的可靠性有很大的影響。
內(nèi)容分發(fā)
內(nèi)容分發(fā)是指媒體內(nèi)容從內(nèi)容源到MSM-CDN邊緣的Cache節(jié)點(diǎn)的過程,有兩種主流的內(nèi)容分發(fā)技術(shù):PUSH和PULL。
PUSH是一種主動(dòng)分發(fā)的技術(shù)。通常,PUSH由內(nèi)容管理系統(tǒng)發(fā)起,將內(nèi)容從中心媒體資源庫分發(fā)到各邊緣的Cache節(jié)點(diǎn)。需要考慮的主要問題是分發(fā)策略,即在什么時(shí)候分發(fā)什么內(nèi)容。
PULL是一種被動(dòng)的分發(fā)技術(shù),PULL分發(fā)通常由用戶請(qǐng)求驅(qū)動(dòng)。當(dāng)用戶請(qǐng)求的內(nèi)容在本地的邊緣Cache上不存在時(shí),Cache啟動(dòng)PULL方法從內(nèi)容源或者其他CDN節(jié)點(diǎn)實(shí)時(shí)獲取內(nèi)容。在PULL方式下,內(nèi)容的分發(fā)是按需的。
在實(shí)際的CDN系統(tǒng)中,一般兩種分發(fā)方式都支持,但是根據(jù)內(nèi)容的類型和業(yè)務(wù)模式的不同,在選擇主要的內(nèi)容分發(fā)方式時(shí)會(huì)有所不同。通常,PUSH的方式適合內(nèi)容訪問比較集中的情況,如熱點(diǎn)的影視流媒體內(nèi)容;PULL方式比較適合內(nèi)容的訪問比較分散的情況。
內(nèi)容路由
當(dāng)一個(gè)客戶端請(qǐng)求某些內(nèi)容時(shí),這一請(qǐng)求必須發(fā)送到能夠提供這些內(nèi)容服務(wù)的服務(wù)器。這一操作需要尋找最佳的疊加服務(wù)器,尋找的條件包括內(nèi)容的可獲得性、服務(wù)器負(fù)載、網(wǎng)絡(luò)負(fù)載等。內(nèi)容路由功能由MSM-CDN負(fù)載均衡系統(tǒng)實(shí)現(xiàn)。負(fù)載均衡系統(tǒng)是整個(gè)MSM-CDN的核心,負(fù)載均衡的準(zhǔn)確性和效率直接決定了整個(gè)MSM-CDN的效率和性能。
緩存技術(shù)
目前緩存技術(shù)是延遲控制中最常用的方法。流媒體業(yè)務(wù)以包傳輸為基礎(chǔ),一個(gè)實(shí)時(shí)媒體流或媒體文件在傳輸中將被分成多個(gè)包。由于網(wǎng)絡(luò)的延時(shí)、抖動(dòng)等因素,包到達(dá)客戶端的順序和延遲可能不一樣,可能出現(xiàn)先發(fā)的包后到的情況,因此需要緩存系統(tǒng)來彌補(bǔ)網(wǎng)絡(luò)延遲和抖動(dòng)的影響,以保證數(shù)據(jù)包的順序正確以及不會(huì)因?yàn)榫W(wǎng)絡(luò)暫時(shí)擁塞而出現(xiàn)播放停頓的現(xiàn)象。目前主要用到的緩存技術(shù)有正向緩存、反向緩存和透明代理緩存3種。
本文就3G流媒體業(yè)務(wù)中的服務(wù)質(zhì)量問題產(chǎn)生原因及其解決辦法進(jìn)行了闡述分析。相信隨著編碼技術(shù)、差錯(cuò)控制及CDN等技術(shù)的發(fā)展及終端設(shè)備的不斷完善,移動(dòng)流媒體的服務(wù)質(zhì)量問題可以得到有效解決,用戶體驗(yàn)將得到極大改善。
評(píng)論