流媒體的底層與中間層同步技術介紹
發表于:2007-06-13來源:作者:點擊數:
標簽:
一、引言 Inte .net 發展至今,新技術、新應用層出不窮,如流媒體技術所提供的播放功能、交互性能和緩沖區功能,以及其在傳輸聲像文件時表現出的“占用硬盤
一、引言Inte
.net發展至今,新技術、新應用層出不窮,如流媒體技術所提供的播放功能、交互性能和緩沖區功能,以及其在傳輸聲像文件時表現出的“占用硬盤小、速度快、高保真”等性能,使得網上收聽廣播、收看實時電視廣播進入實用階段(www.bbc.co.uk、 www.audionet.com、www.cnn.com)。流媒體服務系統在強調對數據對象的共享使用和追求最大化的數據吞吐率的同時,更強調對高速、穩定和連續的訪問流支持,強調對同步的支持,從而確保媒體數據的按時到達。本文將對流媒體的同步技術進行探討,從而很好地理解流媒體的傳輸過程,使流媒體技術在娛樂行業以外的應用(電子商務、遠程
培訓、
視頻會議、客戶支持等)成為可能。
二、流媒體概述
目前在網絡上傳輸音/視頻(A/V)等多媒體信息主要有兩種方案:
下載和流式傳輸,由于網絡帶寬的限制、A/V文件所需的存儲容量大,采用下載方式需要的時間很長。流式傳輸則把聲音、影像或動畫等到信息由音視頻
服務器向用戶計算機連續、實時傳送,用戶不必等到整個文件全部下載完畢,而只需經過幾秒的啟動延時即可進行播放,當音頻、視頻等媒體文件在客戶機上播放時,文件的剩余部分將在后臺從服務器內繼續下載。流式傳輸不僅使啟動延時成十倍、百倍地縮短,而且不需要太大的緩存容量。在Internet/Intranet中使用流式傳輸技術的連續時基媒體就稱為流媒體(streaming media)。流媒體實現的關鍵技術是流式傳輸①。
①用戶瀏覽Web頁時點擊了一個由流媒體服務器提供的流媒體內容的鏈接;
②流媒體服務器生成一個小的播放文件(播放文件中含有鏈接中流媒體內容的地址),并送到用戶的Web瀏覽器上;
③瀏覽器下載這個播放文件,把它傳送到用戶的流媒體播放器;
④流媒體播放器讀取播放文件中的鏈接,直接向流媒體服務器請求內容;
⑤流媒體服務器以流式傳輸的方式把內容傳送給播放器,播放器開始播放。
流媒體系統由流媒體服務器、網絡和流媒體播放器構成。由于流媒體數據從數據模型到數據結構都不同于常規信息系統所處理的數據,因此,流媒體的研究內容主要為:流媒體數據的編碼、傳輸、如何實現各種媒體間的同步、媒體數據的存儲和檢索等等。
流媒體傳輸的數據主要為視頻和音頻,各媒體對象在時間和空間上彼此關聯,互相約束,在連續的視頻流或音頻流中,少數數據幀的丟失或不能及時處理,并不會導致服務
質量的下降,但是,對同步技術要求很強,否則會造成一幅畫面中一個人說話和動作的不協調,或者聲音與畫面存在相對時延等。流媒體的同步類型有三種:用戶層同步、媒體層同步、系統同步。用戶級同步需要從用戶的角度出發,來設計模型框架,這種模型一般以時間為控制線索;媒體層同步反映了名不同媒體對象之間的同步關系,要進行數據傳輸,必須要把圖像、語音、文字等多媒體信息轉換成數據流形式,在播放連續的媒體流時,要求各數據流之間的時序關系得到精確的重現;系統同步是指該層的同步如何根據各種輸入媒體對應的系統設備的
性能指標來協調實現其上層合成同步所描述的各媒體對象間的時序關系②。
三、流媒體的同步技術
3.1 流媒體的系統同步
系統同步是底層同步。在網絡通信系統中,要考慮不同類型的媒體數據段在傳輸變換中的延遲、分組中的時間次序錯位、丟失等情況,同步機制比較復雜,本文只通過分析其QoS(Quality of Service)來討論流媒體服務端的服務質量。在流媒體應用系統中,視頻、音頻流只要滿足一定的QoS(如視頻流平均33ms處理一幀,音頻可以采用 44.1KHz的采樣頻率),認為是可接受的,因此當系統負載較大時,可在QoS允許的范圍內,通過適當降低某些任務的服務質量來保證系統中所有任務的服務質量。
在流媒體服務器端,對于每條媒體流的QoS控制,可以用三個參數來描述:S、Q、F,在對S個連續實例處理過程中,至少要成功完成 Q個,而且連續失敗的數據流個數不能超過F個,Q/S為任務的最小成功率,F為任務允許的最大連續失敗數③。如果服務器調度導致某條流S個連續實例中成功數少于Q個,或者失敗的實例連續出現超過F個,認為服務器沒有能滿足該媒體流的服務質量。服務的QoS參數是通過任務的最小成功率和允許的連續失敗數來描述。因此,在服務端應根據不同媒體對象的
需求特點,分析其所需QoS,決定傳輸策略,選擇相應的交換方式,安排不同的傳輸信道,保證在流數據在服務端的傳輸所需的服務質量。
3.2 流媒體的媒體間同步
網絡的帶寬是完成流媒體傳輸的物質基礎,在傳輸聲音、圖像、視頻等多媒體信息流時,即使這些媒體流予以壓縮,所需的帶寬仍然比文字文件大,但并不是有足夠的帶寬就可以完全解決流媒體傳輸問題。一般而言,所需帶寬的多少是與應用密切相關的,從應用角度來看,只要用戶數不斷增加、信息服務量不斷增加,帶寬有多少都是不夠的。同步是媒體流的基本控制方法。流媒體是時間屬性的表現,而 HTTP協議不能提供時間的
可靠性,因此產生了RTSP(Real-Time Streaming Protocol)協議④。
RTSP 是應用層協議,目的是為流媒體實現多點傳送和以點播方式單一傳送提供健壯的協議。RTSP利用流技術把數據分成許多包,包的大小由客戶端和服務端的實際帶寬決定,當客戶端接收到足夠的數據包時,用戶不需下載整個媒體文件就可以開始播放流媒體。因為播放器在播放一個包的同時,解壓另一個包并下載第三個包。流媒體數據可以是輸入的實況信息,也可以是存儲的視、音頻片段。通過RTSP協議,服務器端可以跟蹤流媒體傳輸的時間、地址和方式。RTSP增加了對流媒體的控制請求,能恢復來自媒體服務器的流媒體。
媒體之間通信的同步有三種基本方法:時間戳法是、同步標記法及多級復用法。RTSP中的同步支持采用了時間戳法。時間戳法是在每個媒體的數據流單元中加進統一的時間戳,或時間碼,具有相同時間戳的信息單元將同時予以表現。在發送時,將各個媒體都按時間順序分成單元,在同一個時間軸上,給每個單元都打上一個時間戳,處于同一時標的各個媒體單元具有相同的時間戳。在各個媒體到達終端后,讓具有相同時間戳的媒體單元同時進行表現,這樣就得到了媒體之間同步的效果⑤。
時間戳法不需要附加同步信道,有絕對時間戳法和相對時間戳法兩種,相對時間戳同步技術更為靈活。所謂相對時間戳,是指在多種媒體中選取一種為主媒體,而其它媒體則定為從屬媒體,在主媒體的各個單元上打上時間戳,而依照與主媒體的單元在同一時間上的表現,在從屬媒體相對應的單元上打上相同的時間戳,從屬媒體各單元上的時間戳是相對于主媒體單元的時間戳而言的。例如,在圖2 中我們可以選擇視頻為主媒體,音頻段1與視頻段1的時間戳是相同的,音頻段2、音頻段3與視頻段2的時間戳是相同的,經過分組交換,使到達客戶端的具有相同時間戳的媒體單元同時進行表現,這樣就很好地實現了不同媒體之間的同步。
3.3 流媒體的用戶層同步
用戶層同步或交互同步,是最上層的同步,要求能反映和滿足用戶的交互性,容易為用戶理解接受。用戶層同步是交互性參與的同步,用戶可以控制和使用信息,如反復調用感興趣的內容、快速掠過不感興趣的部分。例如,用戶在借助流媒體學習外語的過程中,可以反復收聽難以理解的聽力內容。 雖然RTSP協議支持類似錄像機的功能:播放、快進、暫停、停止,但流媒體的交互性同步能力主要體現在數據流編碼過程中對交互性能的考慮。
四、結束語
未來的流媒體將能夠通過互聯網傳送高質量的音頻及視頻節目,流媒體的動態性、交互性、實時性將使互聯網變得更加個性化,因而,為了使流媒體的應用更加普及,還需要對流媒體的關鍵技術進行深入的研究,使得流媒體能在娛樂行業以外的其他領域展示出廣泛的應用前景。