摘要:隨著Internet的迅猛發(fā)展,人們已經(jīng)不滿足在網(wǎng)絡上傳輸簡單的文本信息,更加豐富的多媒體信息,特別是連續(xù)的媒體內(nèi)容已經(jīng)開始在互聯(lián)網(wǎng)上普及。該文介紹了面向網(wǎng)絡傳輸?shù)囊曨l編解碼的各種傳統(tǒng)方案,并對可擴展性編碼方案進行了分析,最后研究了流媒體的流式傳輸技術。
關鍵詞:多媒體;面向傳輸;流媒體
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2009)05-1209-02
Study of Multimedia Based on Network Transmission
TANG Fen-fei
(Xiangtan Vocational and Technical College, Xiangtan 411102, China)
Abstract: As the rapid progress of Internet, people are not satisfied with transporting simple texts or picture information through Internet. More and more complex multimedia information especially the Audio/Video sequences, becomes popular over Internet. In this paper, traditional multimedia transport methods are introduced and transport-based video coding methods are discussed firstly. Finally, studied stream medium fluidization technology principle and stream style transmission principle.
Key words: multimedia; transport-based; streaming media
1 引言
隨著Internet的迅猛發(fā)展,傳統(tǒng)面向存儲的視頻編碼技術已經(jīng)無法滿足人們?nèi)找嬖鲩L的對網(wǎng)絡多媒體資源的需求。目前互聯(lián)網(wǎng)上50%的信息屬于連續(xù)媒體信息。與此同時,移動通信和無線通信也越來越普及,手機已成為人們通信的最重要的工具。人們在互聯(lián)網(wǎng)上傳輸視頻和音頻的愿望越來越強烈,視頻和圖像編碼的目標也就從面向存儲轉變?yōu)楝F(xiàn)在的面向傳輸。因此,解決互聯(lián)網(wǎng)多媒體數(shù)據(jù)傳輸問題的網(wǎng)絡多媒體技術應運而生。
2 傳統(tǒng)主要解決方案
1) 最小傳輸方案
解決數(shù)據(jù)在網(wǎng)絡傳輸中的最簡單的方案就是最小傳輸,也就是說根據(jù)網(wǎng)絡中帶寬最小的用戶的接收條件產(chǎn)生視頻碼流傳送給所有的用戶。其缺點也是顯而易見的,就是沒有充分的利用網(wǎng)絡帶寬,不能保證用戶根據(jù)自己的情況接收到相應的視頻流數(shù)據(jù)。
2) 基于探測的方法自適應編碼方案
基于探測的方法是一種由發(fā)送方發(fā)起的算法,發(fā)送方調(diào)整傳輸碼率并接收用戶方反饋的延時、丟失率信息,當服務質(zhì)量降低時,即時降低發(fā)送碼率。就是根據(jù)信道的條件調(diào)整編碼器的參數(shù),生成相應的視頻碼流。在網(wǎng)絡協(xié)議方而,通常采用RTP/UDP/IP協(xié)議,發(fā)送方將壓縮數(shù)據(jù)劃分成RTP協(xié)議包發(fā)送給接收方,接收方監(jiān)測RTP數(shù)據(jù)包的傳輸延遲和丟失率,通過RTP/RTCP協(xié)議中的RTCP協(xié)議將網(wǎng)絡情況反饋給發(fā)送方,發(fā)送方根據(jù)網(wǎng)絡帶寬情況調(diào)整發(fā)送碼率使之相匹配。
3) 碼流切換技術
碼流切換的基木原理是:服務器保存同一個視頻節(jié)目的不同質(zhì)量的多個拷貝,這些碼流的關鍵幀(z幀)是對齊的。當網(wǎng)絡帶寬變化時,服務器選擇一個合適的碼流傳送給客戶。碼流切換方案中服務器的計算復雜度很低,但是需要很大的存儲空間。實際上是將自適應編碼中的復雜性轉移到了存儲。
3 可擴展性編碼
上述方案是人們針對網(wǎng)絡帶寬變化提供不同質(zhì)量服務所設計的,這些方案主要從改變編碼碼率的角度考慮問題,而視頻編碼本身的靈活性沒有得到發(fā)揮。為了使編碼能夠直接提供適應帶寬變化的不同碼率質(zhì)量,提出了分層可擴展性編碼的方案。分層可擴展性編碼主要包括三種:時域可擴展性、空域可擴展性和質(zhì)量可擴展性。
時域可擴展性通常是通過在碼流中添加B幀來實現(xiàn)的。B幀是使用與它在時間上最近鄰的前后兩個I幀或者P幀來預測的,而自己不作為其他任何幀的參考圖像,因此在傳輸中丟棄B幀并不影響其它幀的質(zhì)量,而僅僅降低幀率。
空域可擴展性是通過為視頻中的每一幀的分辨率分層來實現(xiàn)的。當進行空域可擴展性編碼時,原始視頻首先通過采樣得到低分辨率的視頻,編碼得到基本層碼流;然后編碼原始視頻和基本層視頻的差生成增強層碼流。不過空域可擴展性編碼在視頻傳輸中應用較少,因為任何一個用戶都不能接收在前一個GOP中觀看高分辨率視頻,而到下一個GOP只能獲得低分辨率視頻。因此即使增強層在傳輸中被丟棄,客戶端的解碼器也要對低分辨率的圖像進行插值,這實際上是一種質(zhì)量可擴展性的特殊情形。
質(zhì)量可擴展性的思想和空域可擴展性編碼很類似,只不過這里不需對原始視頻進行下采樣,而是進行一次很粗的量化形成基本層碼流。然后對原始視頻和基本層視頻的差再進行一次量化,生成增強層碼流;如果有多個增強層碼流則重復上面的過程。
總之,傳統(tǒng)的視頻編碼方法不適合網(wǎng)絡傳輸,其根木原因是它們的目標是將視頻壓縮成為適合一個或幾個固定碼率的碼流,也就是說傳統(tǒng)的視頻編碼是面向存儲的,這樣所導致的后果就是當網(wǎng)絡狀況發(fā)生變化的時候,上述編碼方式無法自動提供相應的質(zhì)量保證。新提出的可擴展性編碼在一定程度上解決了這個問題,但這些編碼方案存在一個共同的缺陷:無法提供碼率連續(xù)的輸出碼流。
4 基于FGS算法可擴展性編碼
4.1 產(chǎn)生背景
MEPG組織看到了網(wǎng)絡傳輸對視頻編碼的新要求,于是開始征集視頻的精細的可擴展性編碼方案。它的基本思想是將視頻編碼成一個可以單獨解碼的基本層碼流和一個可以在任何地方截斷的增強層碼流,其中基本層碼流適應最低的網(wǎng)絡帶寬而增強層碼流用來覆蓋網(wǎng)絡帶寬變化的動態(tài)范圍。為此,研究人員提出了許多解決方案,主要分為三類:DCT變換技術、小波變換技術和 Matching Pursuit 技術。最終從編碼效率和編碼復雜性兩方面考慮 FGS 方案被MPEG組織采納。
FGS算法具有以下主要特點:1) 基本層使用基于分塊運動補償和 DCT 變換的編碼方式達到網(wǎng)絡傳輸?shù)淖畹鸵蟆?) 增強層使用位平面編碼技術對 DCT殘差進行編碼來覆蓋網(wǎng)絡帶寬的變化范圍。3) 每一幀的增強層碼流可以在任何地點截斷。4) 解碼器重建的視頻質(zhì)量和收到并解碼的比特數(shù)成正比。
4.2 FGS的關鍵技術—位平面編碼
在位平面編碼中,每一列代表一個 8 位的 DCT 系數(shù)。與傳統(tǒng)的行程編碼是對每列的 DCT 系數(shù)分別進行編碼不同,在位平面編碼方案中,所有的 DCT系數(shù)被列成一個矩陣,對每一行的 DCT系數(shù)進行編碼。在一個(8,8)的DCT塊中一個位平面由64Bit組成,每一位都是同樣重要和DCT系數(shù)的行程編碼中每一個系數(shù)分別進行行程編碼不同,位平面編碼是對每一個位平面分別進行行程編碼。這樣,使用位平面編碼的好處就很明顯了,就是使得每一個系數(shù)的重要部分優(yōu)先編碼,這樣在碼流截斷時就保證了解碼器優(yōu)先獲得有關視頻的重要信息,從而提供了精細可擴展的特性。
一般的 FGS 只考慮了要編碼系數(shù)的值,實際上 FGS 的應用是非常靈活的。例如可以對圖像中比較感興趣的前景部分優(yōu)先編碼。具體作法就是將圖像中的某些塊上移若干個位平面,就實現(xiàn)了對圖像中感興趣部分的優(yōu)先傳輸。另外,還可以對不同頻率的 DCT系數(shù)加以不同的權重,也就是對不同的DCT系數(shù)上移不同的位平面從而滿足人眼對不同頻率成分的敏感程度。位平面編碼技術并不能夠提高編碼的效率,但是在增強層信息丟失的時候,它能夠保留最重要的信息不至于丟失,所以提供了很好的可擴展性和碼率靈活。
5 流式傳輸技術的應用
流式傳輸?shù)膶崿F(xiàn)需要緩存。因為Internet以包傳輸為基礎進行斷續(xù)的異步傳輸,對一個實時A/V源或存儲的A/V文件,在傳輸中它們要被分解為許多包,由于網(wǎng)絡是動態(tài)變化的,各個包選擇的路由可能不盡相同,故到達客戶端的時間延遲也就不等,甚至先發(fā)的數(shù)據(jù)包還有可能后到。為此,使用緩存系統(tǒng)來彌補延遲和抖動的影響,并保證數(shù)據(jù)包的順序正確,從而使媒體數(shù)據(jù)能連續(xù)輸出,而不會因為網(wǎng)絡暫時擁塞使播放出現(xiàn)停頓。通常高速緩存所需容量并不大,因為高速緩存使用環(huán)形鏈表結構來存儲數(shù)據(jù):通過丟棄已經(jīng)播放的內(nèi)容,流可以重新利用空出的高速緩存空間來緩存后續(xù)尚未播放的內(nèi)容。另外,流式傳輸?shù)膶崿F(xiàn)需要合適的傳輸協(xié)議。由于TCP需要較多的開銷,故不太適合傳輸實時數(shù)據(jù)。在流式傳輸?shù)膶崿F(xiàn)方案中,一般采用HTTP/TCP來傳輸控制信息,而用RTP/UDP來傳輸實時流數(shù)據(jù)。
流式傳輸?shù)倪^程一般是這樣的:用戶選擇某一流媒體服務后,Web瀏覽器與Web服務器之間使用HTTP/TCP交換控制信息,以便把需要傳輸?shù)膶崟r數(shù)據(jù)從原始信息中檢索出來;然后使用HTTP從Web服務器檢索相關參數(shù)。這些參數(shù)可能包括目錄信息、A/V數(shù)據(jù)的編碼類型或與A/V檢索相關的服務器地址。接著A/V服務器運行實時流控制協(xié)議(RTSP),以交換A/V傳輸所需的控制信息。RTSP提供了操縱播放、快進、快倒、暫停及錄制等命令的方法。最后,A/V服務器使用RTP/UDP協(xié)議將A/V數(shù)據(jù)傳輸給A/V客戶程序,一旦A/V數(shù)據(jù)抵達客戶端,A/V客戶程序即可播放輸出。其基本原理如圖1所示。
6 小結
目前的網(wǎng)絡多媒體應用已經(jīng)給人們的生產(chǎn)和生活帶來了極大的方便,雖然現(xiàn)有的視頻編解碼系統(tǒng)存在著這樣或那樣對Internet環(huán)境的不適應性,但相信在不久的將來,隨著計算機技術的不斷發(fā)展,在網(wǎng)絡服務、終端機器的性能提升和更新算法研究的基礎上視頻編解碼技術必將為網(wǎng)絡多媒體的發(fā)展做出更大的貢獻。
參考文獻:
[1] 胡飛.Internet視頻點播差錯控制[J].計算機研究與發(fā)展,2001,39(1):28-34.
[2] 陳曉梅.支持多媒體傳輸?shù)腝oS自適應控制理論及評價模型[J].計算機科學,2002(2):30,39-41.
[3] 單玉峰.基于Internet的實時多媒體應用中前向糾錯控制策略研究[J].計算機研究與發(fā)展,2001,38(07):816-820.