電影服務(wù)器流媒體關(guān)鍵技術(shù)
引言近年來,隨著計算機技術(shù)、壓縮技術(shù)以及網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)中的流媒體業(yè)務(wù)也得到了飛速的發(fā)展和應(yīng)用。所謂流媒體就是指在 Internet/Intranet中使用流式傳輸技術(shù)的連續(xù)時基媒體。本文中著重介紹視頻流。目前在Internet上傳輸視頻還有許多困難,其根本原因在于Internet的無連接每包轉(zhuǎn)發(fā)機制主要是為突發(fā)性的數(shù)據(jù)傳輸而設(shè)計的,不適用于對連續(xù)媒體流的傳輸。為了在Internet上有效地、高質(zhì)量地傳輸視頻流,還需要多種技術(shù)的支持,例如基于視頻的壓縮編碼技術(shù)、應(yīng)用層QoS技術(shù)、連續(xù)媒體分布服務(wù)、流服務(wù)器、媒體同步技術(shù)和相關(guān)協(xié)議等。
其中,原始視/音頻經(jīng)過視/音頻壓縮算法的預(yù)壓縮存儲在存儲設(shè)備中。響應(yīng)客戶請求時,流服務(wù)器從存儲設(shè)備中獲得視/音頻數(shù)據(jù),應(yīng)用層QoS控制模塊根據(jù)網(wǎng)絡(luò)狀態(tài)和QoS要求來改變視/音頻比特流。然后通過傳輸協(xié)議把壓縮過的比特流打包并且發(fā)送到網(wǎng)上。由于擁塞數(shù)據(jù)包可能出現(xiàn)丟包或者過度時延。為了提高視 /音頻的傳輸質(zhì)量,網(wǎng)絡(luò)中配置了連續(xù)流媒體分布式服務(wù)。對于成功傳輸?shù)臄?shù)據(jù)包,它們首先通過傳輸層,然后在進行視/音頻解碼前經(jīng)過應(yīng)用層處理。為了獲得在播放中的視頻和音頻的同步,還需要媒體同步機制。從上圖中可以看出,這六個部分有著緊密的聯(lián)系而且都是流媒體結(jié)構(gòu)的組成部分。
2 流媒體中的關(guān)鍵技術(shù)
2.1 視頻壓縮及編碼
目前網(wǎng)絡(luò)是異構(gòu)性的,缺乏QoS質(zhì)量控制,并且?guī)捯苍诤艽蠓秶鷥?nèi)變化。傳統(tǒng)的不可擴展性視頻編碼的目標(biāo)是將視頻壓縮成適合一個或者幾個固定碼率的碼流,是面向存儲的,因此不適合網(wǎng)絡(luò)傳輸。為了適應(yīng)網(wǎng)絡(luò)帶寬的變化,面向傳輸?shù)目蓴U展性編碼的思想應(yīng)運而生。可擴展性編碼[2]就是將多媒體數(shù)據(jù)壓縮編碼成多個流,其中一個可以獨立解碼,產(chǎn)生粗糙質(zhì)量的視頻序列,它適應(yīng)最低的網(wǎng)絡(luò)帶寬,稱為基本層碼流;其他的碼流可以按層為單位在任何地點截斷,稱為增強層,用來覆蓋網(wǎng)絡(luò)帶寬變化的動態(tài)范圍,它們不可以單獨解碼,而只能與基本層和它以前的增強層聯(lián)合在一起解碼,用來提高觀看效果。因此,可擴展性碼流具有一定的網(wǎng)絡(luò)帶寬適應(yīng)能力。
可擴展性編碼主要分為時域可擴展性編碼、空域可擴展性編碼和質(zhì)量可擴展性編碼??梢赃x擇在時間、空間和信噪比(SNR)中的一個或者幾個方面實現(xiàn)擴展??紤]到編碼效率和復(fù)雜性兩方面,MPEG組織采納了精細(xì)可擴展性編碼(FGS)和漸進的精細(xì)可擴展性編碼(PFGS)[3]。精細(xì)可擴展性視頻編碼采用位平面(bitplane)編碼,它的基本層使用基于分塊運動補償和DCT變換的編碼方式達(dá)到網(wǎng)絡(luò)傳輸?shù)淖畹鸵?,增強層使用位平面編碼技術(shù)對DCT殘差進行編碼來覆蓋網(wǎng)絡(luò)帶寬的變化范圍,它每一幀的增強層碼流可以在任何地點截斷,解碼器重建的視頻質(zhì)量和收到并解碼的比特數(shù)成正比,它可以實現(xiàn)連續(xù)的增強層速率控制。FGS雖然具有很好的可擴展性,但是效率太低,PFGS在保留了FGS所具有的網(wǎng)絡(luò)帶寬自適應(yīng)和錯誤恢復(fù)能力的同時,還有效地提高了編碼效率。但是可擴展性編碼的效率較非可擴展性編碼而言,還有一定差距。為了進一步壓縮FGS和PFGS的基本層碼流,有專家提出一種稱為精細(xì)的空域可擴展性(Fine-Granularity Spatially Scalable,FGSS)的視頻編碼算法,使低分辨率和高分辨率的增強層碼流都可以在任何地點截斷,具有極強的網(wǎng)絡(luò)帶寬適應(yīng)能力和錯誤恢復(fù)功能,同時保持了空域可擴展性編碼的多分辨率特性,它可以滿足擁有不同網(wǎng)絡(luò)帶寬和不同分辨率接收設(shè)備的許多用戶的需求,性能得到了更大的提高。
結(jié)合多種視頻編碼技術(shù)來適應(yīng)網(wǎng)絡(luò)上的QoS波動是今后可擴展性視頻編碼的發(fā)展方向。比如,可擴展性視頻編碼可以適應(yīng)網(wǎng)絡(luò)帶寬的變化;錯誤彈性編碼可以適應(yīng)丟包;DCVC(Delay Cognizant Video Coding)可以適應(yīng)網(wǎng)絡(luò)時延。這三種技術(shù)的結(jié)合可以更好地提供一種應(yīng)對網(wǎng)絡(luò)QoS波動的解決方案。
2.2 應(yīng)用層QoS控制技術(shù)由于目前的Internet只提供Best-effort的服務(wù),所以需要通過應(yīng)用層的機制來實現(xiàn)QoS的控制。QoS控制技術(shù)主要集中在對網(wǎng)絡(luò)帶寬的變化進行響應(yīng)和處理分組丟失的技術(shù)上,主要可以分為兩類:擁塞控制技術(shù)和差錯控制技術(shù)。
擁塞控制的目的是采用某種機制應(yīng)對和避免網(wǎng)絡(luò)阻塞,降低時延和丟包率。常用的擁塞控制機制有速率控制和速率整形。對于視頻流,擁塞控制的主要方法是速率控制。速率控制機制試圖使一個視頻連接的需求與整個連接鏈路的可用帶寬相匹配,這樣可以同時使網(wǎng)絡(luò)擁塞和包丟失率達(dá)到最小。速率控制機制主要包括基于源端的、基于目的的以及混合速率控制。在基于源端的控制機制中,視頻源端收集反饋信息,進行控制計算并采取相應(yīng)的控制動作。這種方法在因特網(wǎng)中被率先采用,但是在異構(gòu)網(wǎng)絡(luò)中的運行情況并不是很好。基于目的端的控制機制則主要根據(jù)所接收的視頻流的狀況向上層反映相應(yīng)的統(tǒng)計信息,實時調(diào)整緩沖及播放內(nèi)容,并力圖使節(jié)奏均勻,這種機制使用較少?;旌闲运俾士刂频姆椒嬗星岸叩奶攸c,即目的端增加減少通道,而源端同時根據(jù)反饋調(diào)整各個通道的速率?;旌纤俾士刂品椒ǖ囊粋€例子是目標(biāo)集分組的方法。
擁塞控制只能減少數(shù)據(jù)包的丟失,但是網(wǎng)絡(luò)中不可避免的會存在數(shù)據(jù)包丟失,而且到達(dá)時延過大的分組也會被認(rèn)為沒有用而被丟棄,從而降低了視頻質(zhì)量。要改善視頻質(zhì)量就需要一定的差錯控制機制。差錯控制機制包括:
(1)前向糾錯(FEC):FEC是通過在傳輸?shù)拇a流中加入用于糾錯的冗余信息,在遇到包丟失的情況時,利用冗余信息恢復(fù)丟失的信息。它的不足是增加了編碼時延和傳輸帶寬。
(2)延遲約束的重傳。通常流的播放有時間限制,因此,僅有當(dāng)重傳的時間小于正常的播放時間時,重傳才是有價值的。
(3)錯誤彈性編碼(Error-Resilient Encoding):在編碼中通過適當(dāng)?shù)目刂剖沟冒l(fā)生數(shù)據(jù)的丟失后能夠最大限度的減少對質(zhì)量的影響。在Internet環(huán)境下,最典型的方法是多描述編碼(MDC)。MDC把原始的視頻序列壓縮成多位流,每個流對應(yīng)一種描述,都可以提供可接受的視覺質(zhì)量。多個描述結(jié)合起來提供更好的質(zhì)量。該方法的優(yōu)點是實現(xiàn)了對數(shù)據(jù)丟失的魯棒性和增強的質(zhì)量。其缺點是相比單描述編碼(SDC),它在壓縮的效率上受到影響。而且由于在多描述之間必須加入一定的相關(guān)性信息,這進一步降低了壓縮的效率。
(4)錯誤的取消(concealment):錯誤的取消是指當(dāng)錯誤已經(jīng)發(fā)生后,接受端通過一定的方法盡量削弱對人的視覺影響。主要的方法是時間和空間的插值(Interpolation)。近年來的研究還包括最大平滑恢復(fù),運動補償時間預(yù)測等。
2.3 連續(xù)媒體分布服務(wù)
連續(xù)媒體分布服務(wù)(continuous media distribution services)的目的是在Internet 盡力服務(wù)的基礎(chǔ)上提供QoS和高效的音/視頻傳輸,包括網(wǎng)絡(luò)過濾(Network Filtering)、應(yīng)用層組播(Application-Level Multicast)、內(nèi)容復(fù)制(Content Replication)等,下面分別進行詳細(xì)介紹。
網(wǎng)絡(luò)過濾:網(wǎng)絡(luò)過濾是擁塞控制的一種,不僅可以提高視頻質(zhì)量,還可以提高帶寬利用率。不同于發(fā)送端的速率整形,網(wǎng)絡(luò)過濾是在流服務(wù)器和客戶端之間的傳輸路徑上通過虛擬信道連入過濾器,該過濾器根據(jù)網(wǎng)絡(luò)的擁塞狀態(tài)實現(xiàn)速率的整形。網(wǎng)絡(luò)過濾通常采用的是丟幀過濾器(frame-dropping filter),其基本方法是客戶端根據(jù)網(wǎng)絡(luò)丟包率向過濾器發(fā)送請求來增減丟幀速率,以調(diào)節(jié)媒體流的帶寬。這種速率整形可以在擁塞點進行,這樣可以提高速率控制的效率和擁塞控制的響應(yīng)時間。
應(yīng)用層組播:IP層的組播存在諸如可擴展性、網(wǎng)絡(luò)管理和對高層應(yīng)用的支持(例如差錯控制,流量控制和擁塞控制)等屏障。應(yīng)用層組播機制打破了IP組播的一些障礙,其目的在于構(gòu)建網(wǎng)絡(luò)上的組播服務(wù),可以以更靈活的方式實現(xiàn)組播控制。它允許獨立的 CSPs和ASPs等建立它們的Internet組播網(wǎng)絡(luò),這些組播網(wǎng)絡(luò)可以互連成為更大的媒體組播網(wǎng)絡(luò)。媒體組播網(wǎng)絡(luò)可以利用內(nèi)容分布網(wǎng)絡(luò)的互連,通過在不同種類的服務(wù)提供者(比如ISPs、CSPs和ASPs等)之間的應(yīng)用層的對等關(guān)系來構(gòu)建。媒體組播網(wǎng)絡(luò)中每個具有組播能力的節(jié)點稱為媒體橋(MediaBridge),它做為應(yīng)用層的路由。每個媒體橋和一個或多個相鄰的媒體橋通過明確的配置互連,這個互連建立了應(yīng)用層重疊拓?fù)?。媒體橋在媒體組播網(wǎng)絡(luò)中用分布式應(yīng)用層組播路由算法來確定一條優(yōu)化的虛擬組播路徑。如果網(wǎng)絡(luò)不通或者過度擁擠,媒體組播網(wǎng)絡(luò)會自動的根據(jù)應(yīng)用層路由規(guī)則來重新確定路徑。并且,只有當(dāng)下游客戶端需要某媒體內(nèi)容時,媒體橋才會傳輸它。這就確保了不管客戶端的數(shù)目而只有一個媒體流,從而節(jié)約了網(wǎng)絡(luò)帶寬。
內(nèi)容復(fù)制:內(nèi)容/媒體復(fù)制是提高媒體傳輸系統(tǒng)可擴展性的一項重要技術(shù)。內(nèi)容復(fù)制具有以下優(yōu)點:
(1)降低網(wǎng)絡(luò)連接的帶寬消耗。
(2)減輕流服務(wù)器負(fù)荷。
(3)縮短客戶端時延。
(4)提高有效性。它主要有兩種形式:caching(緩存)和mirroring(鏡像)。鏡像是把原始媒體內(nèi)容拷貝到網(wǎng)絡(luò)上其他分散的備份服務(wù)器中。用戶可以從最近的備份服務(wù)器上獲得媒體數(shù)據(jù)。緩存則是從原服務(wù)器中獲得媒體文件,然后傳輸給客戶端,同時在本地做備份。如果緩存中已經(jīng)存在客戶端需要的數(shù)據(jù),緩存就會把本地拷貝傳給用戶而不是從傳送原服務(wù)器中的媒體數(shù)據(jù)。
2.4 流服務(wù)器視頻服務(wù)器在流媒體服務(wù)中起著非常重要的作用。當(dāng)視頻服務(wù)器響應(yīng)客戶的視頻流請求以后,它從存儲系統(tǒng)讀入一部分視頻數(shù)據(jù)到對應(yīng)于這個視頻流的特定緩存中,再把緩存的內(nèi)容通過網(wǎng)絡(luò)接口發(fā)送給相應(yīng)客戶,保證視頻流的連續(xù)輸出。目前存在三種類型的視頻服務(wù)器結(jié)構(gòu)[4]:
(1)通用主機方法。采用計算機主機作為視頻服務(wù)器。它的主要功能是存儲、選擇、傳送數(shù)據(jù)。缺點是系統(tǒng)成本高而且不利于發(fā)揮主機功能。
(2)緊耦合多處理機。把一些可以大量完成某指令或者專門功能的硬件單元組合成的專用系統(tǒng)級聯(lián)起來,就構(gòu)成了緊耦合多處理機實現(xiàn)的視頻服務(wù)器。這種服務(wù)器費用低、性能高、功能強,但是擴展性較差。
(3)調(diào)諧視頻服務(wù)器。這種服務(wù)器主板上有一個獨特微碼的嵌入式仿真器控制。通過在主板中插入更多的服務(wù)通路,可以方便地進行擴展。
對于流服務(wù)器,如何更有效支持VCR交互控制功能;如何設(shè)計磁盤陣列上多媒體對象高效可靠的存儲和檢索;如何設(shè)計更好的可伸縮多媒體服務(wù)器;如何設(shè)計兼有奇偶和鏡像特性的容錯存儲系統(tǒng)是目前研究的重點。
2.5 媒體同步
所謂媒體同步是指保持一個數(shù)據(jù)流或者不同媒體流之間的時間關(guān)系。通常有三種類型的同步控制:流內(nèi)(intra-stream)同步、流間(inter- stream)同步和對象間(inter-object)同步。由于網(wǎng)絡(luò)時延,導(dǎo)致媒體流在傳輸過程中失去同步關(guān)系,媒體同步機制可以確??蛻舳苏_地恢復(fù)媒體流的同步。媒體同步機制實際上就是在媒體內(nèi)或者媒體間說明其時間關(guān)系。說明時間關(guān)系的方法有:基于間隔的方法、基于軸的方法、基于控制流的方法和基于事件的方法。對于連續(xù)媒體,應(yīng)用最為廣泛的說明方法是基于軸的說明或時間戳。時間戳法是在每個媒體的數(shù)據(jù)流單元中加進統(tǒng)一的時間戳或時間碼,具有相同時間戳的信息單元將同時予以表現(xiàn)。在發(fā)送時,將各個媒體都按時間順序分成單元,在同一個時間軸上,給每個單元都打上一個時間戳,處于同一時標(biāo)的各個媒體單元具有相同的時間戳。在各個媒體到達(dá)終端后,讓具有相同時間戳的媒體單元同時進行表現(xiàn),這樣就得到了媒體之間同步的效果。對與終端系統(tǒng)而言,同步機制包括阻止(preventive)機制和糾正(corrective)機制。前者是主要通過減小延遲和抖動來減少同步錯誤,后者主要是在發(fā)生同步錯誤之后恢復(fù)同步??紤]到Internet傳輸?shù)难舆t隨機性,同步錯誤是不可避免的。因此,在接受方的錯誤補償是必須的。
另外,同步多媒體集成語言SMIL(Synchronized Multimedia Integration Language)是由3W(World Wide Web Consortium)組織規(guī)定的多媒體操縱語言??梢詫崿F(xiàn)多個流和文本信息在播放時的時間同步控制和空間位置布置。通過SMIL還可以實現(xiàn)一定的用戶交互功能。
2.6 流媒體相關(guān)協(xié)議
2.6.1 實時傳輸協(xié)議(RTP)與實時傳輸控制協(xié)議(RTCP)
RTP(Real-time Transport Protocol)和RTCP(Real-time Control Protocol)都是基于IP的應(yīng)用層協(xié)議。RTP為實時音/視頻數(shù)據(jù)提供端到端的傳送服務(wù),包括有效載荷類型標(biāo)識、序列標(biāo)號、時間標(biāo)簽和源標(biāo)識,可以提供時間信息和實現(xiàn)流同步。由于TCP中重傳機制會引起時延,通常RTP運行于UDP之上,但是也可以在TCP或者ATM等協(xié)議之上運行。RTP本身并不提供可靠的傳送機制,也不提供流量控制或者擁塞控制,而是通過與RTCP配合使用,使傳輸效率最佳。RTCP用來監(jiān)視服務(wù)質(zhì)量和在會議過程中交換信息。它提供QoS反饋、參與者標(biāo)識、控制包縮放、媒體間同步等服務(wù)。RTCP包中包含已發(fā)數(shù)據(jù)包的數(shù)量、丟失數(shù)據(jù)包數(shù)量等統(tǒng)計資料。服務(wù)器可以根據(jù)這些信息動態(tài)的改變傳輸速率甚至有效載荷類型。
2.6.2 實時流協(xié)議(RTSP)RTSP(Real-time Streaming Protocol)是由RealNetworks和Netscape共同提出的一個應(yīng)用層協(xié)議。它可以在媒體服務(wù)器和客戶端之間建立和控制連續(xù)的音/視頻媒體流,協(xié)同更低層協(xié)議RTP、RSVP等一起來提供基于Internet的整套流式服務(wù)。RTSP提供了一種可擴展框架,使得可控的、點播的實時數(shù)據(jù)的傳送成為可能。它提供用于音頻和視頻流的“VCR模式”遠(yuǎn)程控制功能,例如暫停、快進、快退和定位。支持單播和組播。RTSP還提供選擇發(fā)送通道的方法(如UDP、組播UDP和TCP)和基于RTP的發(fā)送機制。RTSP像是媒體服務(wù)器和客戶端之間的“網(wǎng)絡(luò)遠(yuǎn)程控制”,它提供多種服務(wù),如從媒體服務(wù)器上檢索媒體、邀請媒體服務(wù)器進入會議、添加媒體到現(xiàn)成節(jié)目。RTSP在語法和操作上類似于HTTP,因此許多HTTP的擴展機制都可以移植于RTSP上。在 RTSP中,每個節(jié)目和媒體流由RTSP URL確定,全部節(jié)目和媒體特性都在節(jié)目描述文件中給予了描述,包括編碼、語言、RTSP URLs、目的地址、端口號以及其他參數(shù)。但是,不同于HTTP的無狀態(tài)和非對稱,RTSP是有狀態(tài)的、對稱的協(xié)議。RTSP的服務(wù)器保持會話狀態(tài)以連接 RTSP流的請求,并且服務(wù)器和客戶端都可以發(fā)出請求。
2.6.3 資源預(yù)留協(xié)議(RSVP)資源預(yù)留協(xié)議[5](Resource Reserve Protocol)是運行于傳輸層的一個網(wǎng)絡(luò)控制協(xié)議。RSVP允許數(shù)據(jù)流的接受方請求特殊的端到端QoS。RSVP是非路由協(xié)議,它同路由器協(xié)同工作,在傳輸路徑的路由器上預(yù)留必要的帶寬,減少網(wǎng)絡(luò)的時延和抖動。RSVP的流程是單一的,并不區(qū)分發(fā)送方和接受方,且支持單播和組播,適應(yīng)于可變成員個數(shù)和路由。RSVP領(lǐng)域的發(fā)展非常迅速,但是目前它的應(yīng)用只限于在測試的小Intranet網(wǎng)絡(luò)上。
3 結(jié)論技術(shù)的進步和用戶的需求促進了流媒體應(yīng)用的迅速發(fā)展。在遠(yuǎn)程教育、數(shù)字圖書館、電子商務(wù)、視頻點播、交互電視、遠(yuǎn)程醫(yī)療、網(wǎng)絡(luò)音/視頻、實時多媒體會議等方面,流媒體技術(shù)都起到很重要的作用。本文對網(wǎng)絡(luò)中流媒體業(yè)務(wù)的關(guān)鍵技術(shù)和相關(guān)協(xié)議做了研究,并探討了未來流媒體技術(shù)發(fā)展的方向。我們相信,隨著流媒體應(yīng)用的不斷普及,寬帶流媒體技術(shù)及其應(yīng)用必然會在未來的網(wǎng)絡(luò)中發(fā)揮更重要的作用,并在一定程度上改變?nèi)藗兪褂镁W(wǎng)絡(luò)的方式。
posted on 2008-04-27 10:31 都市淘沙者 閱讀(394) 評論(0) 編輯 收藏 所屬分類: 流媒體服務(wù)器/VLC/FFmpeg