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