媒體同步

媒體同步

基本介紹

  • 中文名
  • 外文名
影響因素,控制技術,參考模型,設定,

影響因素

控制技術

到目前為止,對於相關媒體流的媒體間同步的控制技術還未形成通用的模式,許多方法都是基於特定的套用環境而提出的。因此本節對單個媒體流的媒體內同步的控制技術進行概述。
單個媒體流的媒體內同步的控制技術根據系統是否使用時間信息,可以分為面向時間的播放控制算法和面向緩衝區的播放控制算法兩種類型。面向時問的播放控制算法給媒體單元打上時間標籤,並且使用傳送端和接收端的本地系統時鐘來獲得網路時延或者時延抖動,一般用於音頻流。面向緩衝區的播放控制算法通過觀察接收端的播放緩衝區的占用水平來估計當前的時延抖動,一般用於視頻流。
  • 一.面向時間的播放控制算法
面向時間的播放控制算法根據系統是否採用全局時鐘和如何處理遲到的媒體單元可以分為採用全局時鐘、不需要全局時鐘、具有近似時鐘同步和不維護時延等播放控制算法。
1.採用全局時鐘的播放控制算法
使用全局時鐘可以準確測量媒體單元的網路時延。而媒體單元到達接收端後還需經歷緩衝時延再播放,網路時延和緩衝時延一起構成了播放時延。在獲得網路時延後,接收端可以設定播放時延的值為一個常數,或者根據網路時延的變化來設定。
2.不需要全局時鐘的播放控制算法
由於全局時鐘不易獲得,因此很多播放控制算法是對時延差異而不是網路時延進行操作的。當考慮時延差異時,傳送端和接收端的本地系統時鐘可以有偏移量,但是兩個時鐘的頻率不能存在偏差。在這類算法中,媒體單元的播放時延不必為常數或被限制在某個絕對數值下,而是可根據網路時延的變化而變化。
3.具有近似時鐘同步的播放控制算法
具有近似時鐘同步的播放控制算法通過測量傳送端和接收端之間的往返時間RTT來設定播放時延的上限,所有超過該上限的媒體單元都不播放。Roccetti等人提出的方法中利用周期的探測分組和三方握手協定來精確測量RTT,接收端的本地系統時鐘設定為探測分組的時間標籤,用來與傳送端的本地系統時鐘保持虛擬同步,因此兩個時鐘偏移量等於探測分組的單向網路時延t,而播放時延取為RTT+t,其中RTT是由最近的探測分組測量得到的。
4.不維護時延的播放控制算法
處理遲到的媒體單元有兩種方法:一種是維護時延法,就是丟掉遲到的媒體單元以保持媒體流的時延需求;另一種是不維護時延法,即不丟棄一些或者所有遲到的媒體單元,當它們到達接收端時立即播放,以維持媒體流的連續性。一般的算法都採取維護時延法,在這些播放控制算法中,為媒體單元的到達時間規定了兩個區域:等待區域和丟棄區域。等待區域中的媒體單元到達接收端後等待播放,直到它的播放時間;而丟棄區域中的媒體單元到達後直接丟棄而不播放。Liu等人在這兩個區域中間引入一個新的區域:不等待區域,落在該區域的媒體單元的到達時間大於播放時間,但還不足以將其丟棄,因此立即播放。該算法可以維持媒體流的連續性,但增加了播放時延。多媒體通信域,落在該區域的媒體單元的到達時間大於播放時間,但還不足以將其丟棄,因此立即播放。該算法可以維持媒體流的連續性,但增加了播放時延。
  • 二.面向緩衝區的播放控制算法
該類算法不要求媒體單元具有時間標籤或者使用時鐘,而是針對同步/時延的權衡進行處理。面向緩衝區的算法和面向時間的算法的類似之處在於,都採用時延差異的方法來調節播放時間,不過面向緩衝區的算法不是用時間標籤來估計時延抖動,而是通過觀察播放緩衝區的占用水平來估計的。由於缺少時間信息,該類算法不能保證播放時延的絕對值,而唯一“可見”的時延為媒體單元的緩衝時延,因此可以通過在媒體流連續性和緩衝時延之問進行權衡,以達到最佳化同步/時延權衡的目的。該類算法可以分為以下三種方法:沒有初始化緩衝、跳過/暫停傳送或者跳過/重複播放媒體單元、改變媒體流的播放幀率或者傳送幀率。
1.沒有初始化緩衝的播放控制算法
媒體單元到達接收端後不放人緩衝區中,而是立即播放。這種算法使得初始的播放時延,即第一個媒體單元的網路時延D,很低。但是當網路出現時延抖動時,所經歷的網路時延大於D,的媒體單元都會由於遲到而丟棄,造成媒體流的不連續性。
2.跳過/暫停傳送或者跳過/重複播放媒體單元的播放控制算法
當接收端的播放緩衝區的占用水平過高時,可以採取在傳送端暫停傳送媒體單元或者在接收端跳過播放媒體單元的方法;當占用水平過低時,則可以採取在傳送端跳過傳送媒體單元或者在接收端重複播放媒體單元的方法。這種方法可以儘可能地避免播放緩衝區的溢出。
3.改變媒體流的播放幀率或者傳送幀率的播放控制算法
由於增加或者減少一個媒體單元的方法會破壞媒體流的連續性,且在低幀率(如15幀/秒)的情況下,這種操作容易被用戶察覺,因此可以採取改變媒體流的播放幀率或者傳送幀率的播放控制算法。改變媒體流的播放幀率或者傳送幀率就是改變媒體單元的播放持續時間或者傳送間隔。例如對於一個播放幀率和傳送幀率為25幀/秒的視頻流,每個視頻幀的播放持續時間和傳送間隔都是o.04s,當發生失步時,可以通過改變媒體單元的播放持續時間或者傳送間隔來重新同步。改變媒體單元的播放持續時間其實是改變媒體單元離開播放緩衝區的時間,而改變媒體單元的傳送問隔其實是通過改變媒體單元在傳送端的傳送時間來改變媒體單元到達播放緩衝區的時間。通過這種方法可以使播放緩衝區的占用水平保持在一個正常的範圍內。

參考模型

為了理解媒體同步的各種要求,確定支持同步的實時機制的結構以及實時機制接口間的關係,需要一個媒體同步的參考模型。本節從概念上討論同步機制。
媒體同步需要系統的許多部分支持解決,包括作業系統、通信系統、資料庫以及應用程式等。因此,一個多媒體系統的同步要從幾個層次上加以考慮。為了更好地理解媒體同步的要求,描述並建立支持同步的機制,Blakowski等人將同步層分為四個子層,提出了一個四層的同步參考模型。每層有自己的接VI,接口定義一些服務,也就是為用戶提供一種說明用戶要求的方法。接口提供實現同步的機制,每層的接口都可以直接被一個應用程式使用,或者被它的高層利用來實現其接口。四層參考模型的意義在於它規定了同步機制所應有的層次以及各層所應完成的主要任務。
1.媒體層
媒體層提供一個獨立於設備的接口,它的操作針對單個的媒體流的LDU。媒體層對LDU的處理通常是有時間限制的,因而需要底層服務系統(如作業系統、通信系統等)提供必要的資源預留及相應的管理措施(如服務質量保障等)。在媒體層接口,該層負責向上提供與設備無關的操作,如read(devicehandle,LDU)和write(devicehandle,LDU)等。其中,以devicehandle標識的設備可以是數據播放器、編/解碼器或檔案,也可以是數據傳輸通道。
媒體層主要完成兩個任務:一是申請必要的資源(如CPU時間、通信頻寬、通信緩衝區等)和系統服務(如服務質量保障等),為該層各項功能的實施提供支持;二是訪問各類設備的接口函式,獲取或提交一個完整的LDU。例如,當設備代表一條數據傳輸通道時,傳送端的媒體層負責將LDU進一步劃分成若干適合於網路傳輸的數據包,而接收端的媒體層則需要將相關的數據包組合成一個完整的LDU。實際上,媒體層是同步機制與底層服務系統之間的接口,其內部不包含任何的同步控制操作。
2.流層
流層的處理對象是媒體流以及媒體流所組成的媒體流組,在一個媒體流組中,所有的媒體流採用流間同步機制播放。該層的作用是維持單個媒體流內部各個媒體單元的時間關係及相關媒體流之間的時間關係,也就是說完成流內同步和流間同步。
在接口處,流層向用戶提供諸如start(stream)、stop(stream)、start(group)、stop(group)和create—group(1ist—of—streams)等功能函式。這些函式將媒體流作為一個整體來看待,即對該層用戶來說,流層利用媒體層的接口功能對LDU所作的各種處理是透明的。流層在對媒體流或媒體流組進行處理前,首先決定LDU的大小以及對各LDU的處理方案。此外,流層還向媒體層提交必要的Qos要求。媒體層將依照流層提交的QoS要求,向底層服務系統申請資源以及QoS保障。在執行LDTU處理方案的過程中,流層負責將媒體流的抖動及相關媒體流的偏移保持在許可的範圍內,即實施流內和流間的同步控制。
3.對象層
對象層能夠對各種類型的媒體對象進行統一處理,它隱藏了連續媒體對象和非連續媒體對象的差異。對象層的主要任務是實現非連續媒體對象和相關連續媒體對象之間的同步,並完成對非連續媒體對象的處理。與流層相比,該層同步控制的精度較低。
對象層在處理媒體對象之前先要完成兩項工作:第一,從描述層提供的同步描述數據出發,推導出必要的調度方案(如播放調度方案、通信調度方案等);第二,進行必要的初始化工作。得到調度方案並完成初始化工作以後,對象層開始執行調度方案。通過調用流層的接口函式,對象層執行調度方案中與連續媒體對象相關的部分。流層利用媒體層的接口函式,完成對連續媒體對象的LDU的處理,同時進行流內和流間的同步控制。在調度方案的執行過程中,對象層主要負責完成對非連續媒體對象的處理以及非連續媒體對象和相關連續媒體對象之間的同步控制
4.描述層
描述層是一個開放的層,不提供明確的接口。該層包含一些套用和工具,利用這些工具,用戶可以生成同步描述數據。這些工具包括同步編輯器、多媒體文獻編輯器及著作系統。描述層還提供轉換工具,可將同步描述數據轉換成對象層的格式。描述層還負責將同步要求提供給對象層接口。同步描述的方法主要有四種:基於間隔的描述、基於時間軸的描述、基於控制流的描述和基於事件的描述,這些都是較為抽象層次上的媒體同步的描述。

設定

Authorware7.0提供了媒體同步技術允許聲音圖示和數字電影圖示激活任意基於媒體播放位置和時間的事件。只要將文本、圖形、圖像的顯示和對其他事件的計時同音頻或視頻信息並列,就能夠輕易地在媒體播放的任意時刻控制各種事件。
若要進行媒體同步,具體的操作步驟如下:
(1)先從圖示選擇板中拖動一個聲音圖示拖放到流程線上。
(2)再將另一個圖示(如顯示圖示)拖放到該聲音圖示的右邊,就會出現一個“媒體同步”分支。在該圖示的上方會出現一個同步標識,其形狀看起來像一個鬧鐘。
(3)雙擊“媒體同步”標記,就可以彈出“媒體同步”屬性對話框。
(4)在對話框中可以對媒體同步分支的同步屬性進行設定,以決定“媒體同步”圖示的執行情況。具體的屬性介紹如下。
①“同步於”下拉列表框:用於設定媒體同步圖示的執行時機,提供了兩個選項。
(a)“位置”:選擇此選項可以根據聲音或影像的位置來進行同步操作,在下面的文本框中就可以輸入位置的值。如果是聲音媒體,則位置值指毫秒數;如果是影像媒體,則位置值指幀數。
(b)“秒”:選擇此選項可以根據聲音或影像播放的時問來進行同步操作,在下面的文本框中就可以輸入播放的時間以秒為單位1。
②“擦除條件”下拉列表框:用於設定是否擦除“媒體同步”圖示的內容,其提供了4個選項。
(a)“在下一事件後”選項:在程式執行到下一“媒體同步”分支時,擦除當前“媒體同步”分支中的所有內容。在程式執行到下一“媒體同步”分支之前,當前“媒體同步”分支中的所有內容將一直保留在演示視窗中。
(b)“在下一事件前”選項:在程式執行完當前“媒體同步”分支時,立即擦除當前“媒體同步”分支中的所有內容。
(c)“在退出前”選項:在程式執行完所有“媒體同步”分支後,再擦除當前“媒體同步”分支中的所有內容。
(d)“不擦除”選項:保持當前“媒體同步”分支中的所有內容不被擦除。在這種情況下,需要使用擦除圖示來擦除被保留的內容。
③“打開”按鈕:如果單擊“打開”按鈕,則會打開子圖示的演示視窗。

相關詞條

熱門詞條

聯絡我們