隨著網絡音頻技術的發展,在近幾年音視頻系統的網絡化化已經成為主流趨勢,AoIP和VoIP作為主架構的音視頻系統已經有了大量的應用案例,網絡的便捷,使音視頻系統有了更多的可能性。在多系統聯合制作中,系統內可能存在多個主時鐘設備,導致系統同步出現問題。筆者探討網絡構架下的音視頻系統中,如何利用PTP的原理對多系統主時鐘進行分離,使各系統同步互不影響。
1 音視頻系統的傳輸及同步技術的發展
1.1 模擬設備的傳輸與同步
模擬時代的音頻系統中,聲信號通過傳聲器轉換為電信號,并通過線纜攜帶電子信號從一個音頻器件傳輸到另一個音頻器件,最后又通過揚聲器還原為聲信號。在這種傳輸方式下只可以實現點對點的連接和信號的傳輸,并且每條線路只可以傳輸一個通道。
當時的錄制設備大多采用磁記錄錄音機和錄像機,因此,當多系統進行錄制時,常采用SMPTE(Society of Motion Picture and Television Engineers)時間碼來實現多設備同步。在磁帶上有專用軌道記錄時間碼,與視頻的同步信號一一對應,其格式是:(小時:分鐘:秒:幀)。當需要同步兩臺設備時,需要嚴格控制兩盤磁帶的起始時刻、終止時刻及帶速,SMPTE時間碼信息可以以音頻信息的形式存儲在磁帶中,主設備播放時,同步設備會一直調整兩臺設備的帶速,使其達到相同位置實現初始同步。之后每過一段時間,同步設備會對兩設備的帶速進行調整校正,使其一直保持準確的同步狀態。
1.2 數字設備的傳輸與同步
在數字音頻系統中,信息傳遞方式有了很大的變化,將電信號通過模數轉化為二進制數據進行存儲及各設備之間的傳輸,使設備之間的連接及信號的傳輸都變得便捷高效。因此,數字音頻時代不再局限于點對點傳輸,隨著數字音頻協議的不斷升級,可以實現一條線纜傳輸多路信號,數據的傳輸與存儲更加方便。
數字音頻系統的同步除了SMPTE時間碼,還可以采用字時鐘(Word Clock)來實現。字時鐘是一種脈沖信號,通過精確的采樣頻率來控制數字音頻系統中數據的流動速度。每臺音視頻設備內部其實都可自行產生字時鐘信號,而在多個設備的系統中,采樣頻率如果不統一則無法同步,所以只能有一個字時鐘發生源。因此,要選擇一臺設備作為主時鐘設備(Master),其余設備為從屬時鐘(Slave)設備,主時鐘設備會將字時鐘信號傳輸到從屬時鐘設備,使整個系統達到同步的狀態。
1.3 網絡音頻系統設備的同步
隨著網絡技術的使用,網絡音視頻設備漸漸在廣電及文藝演出領域普及,讓音頻、視頻系統有了更高的靈活性、更多的可行性。在網絡音頻系統中,線纜數量大大減少,系統搭建及拆裝的效率得到了很大的提升。
在網絡系統中,由于以太網同步時鐘的能力不足,為了實現設備的時間同步,開發了網絡時間協議NTP(Network Time Protocol),它可以使計算機對其服務器或時鐘源實現同步,并且可以提供高精準度的時間校正。盡管早期NTP的準確度可以達到200 μs,但時間戳(Time stamping)在精度上還是無法滿足長時間工作的設備對于同步準確度的需求,而且時間包間隔過大。因此,網絡精密時鐘同步委員會(Network precision clock synchronization committee)提出了PTP協議,有效地解決了這一問題。
2 PTP協議同步原理
IEEE 1588標準簡稱PTP(Precision Time Protocol,精準時間協議)。PTP的主要原理是通過一個主時鐘發送周期性的同步信號,從而對網絡系統中全部節點進行同步校正,可以令整個以太網系統中各個節點設備都實現精確同步,PTP時鐘同步可以在組播網絡(Multicast Network)中使用。
在PTP系統中,通過發送報文產生時間戳記錄,根據時間戳的記錄,可以計算出網絡中的延時和主時鐘的偏移量,從而實現系統內部的主從PTP時鐘同步。
2.1 端對端(End to End)同步
PTP同步的實現,首先是利用最優主時鐘算法進行主從時鐘的確定,然后開始測量網絡中的傳輸延時量,其原理如圖1所示。主PTP時鐘設備每間隔一段時間會向域內從時鐘設備發送同步消息(Sync),并且記錄發送時間為t1,再發送跟隨報文(Sync Follow_up),并在跟隨報文中嵌入時間戳t1來告知從時鐘設備。從時鐘設備接收到同步消息,記錄接收報文的時間t2,并且還會收到包含時間戳信息t1的跟隨報文。經過一段時間,在t3時刻,從時鐘設備將延時請求信息(Delay_Req)發回到主時鐘設備,并且記錄發送該消息的時間t3。主時鐘設備接收延遲請求報文并記錄接收時間t4。最后主節點向從節點發送延時應答信息(Delay Resp),并將時間戳t4嵌入到報文中,使從時鐘得到時間戳信息t4。
圖1 主從端對端同步原理模型
在消息交換結束時,從機擁有t1、t2、t3、t4所有4個時間戳。這些時間戳的數值可用于計算從屬時鐘相對于主時鐘的偏移量(Offset)以及兩個時鐘之間消息的平均傳播時間和鏈路傳輸延時值(Delay),得到偏移量(Offset)可以用來修正從時鐘的值。
當從時鐘收到t1 與t2兩個時間戳時:Delay=t2-t1-Offset
當從時鐘收到t3與t4兩個時間戳時:Delay=t4-t3+Offset
聯立以上兩個公式可以計算出:主從時鐘間的單向延時為(對稱網絡)Delay=[(t2-t1)+(t4-t3)]/2
從時鐘相對于主時鐘偏移量為Offset=[(t2-t1)-(t4-t3)]/2
由以上公式得出鏈路傳輸延時值(Delay)和主時鐘的偏移量(Offset)后,通過時鐘內部同步算法,可對從時鐘進行補償,使其跟隨主時鐘,從而鎖定主從同步關系。
2.2 點對點(Peer to Peer)同步
在大型網絡系統中,各節點的PTP設備相距較遠,并且傳輸路徑和距離各不相同,無法完全對稱,若采用端對端同步機制,同步報文和延時請求報文的路徑不一致,如果還按照原路徑執行同步會出現偏差,影響同步精度。為解決這一問題,可以使用點對點同步機制,在實現對等延時機制的兩個端口間測量鏈路延時的機制如圖2所示,共享一個鏈路的兩個端口獨立地進行測量,因此兩個端口都知道鏈路延時。
圖2 點對點同步原理圖
鏈路延時測量開始時,從端口1發出延時請求消息(Pdelay_Req)并為Pdelay_Req消息生成時間戳t1。端口2接收Pdelay_Req消息并為此生成時間戳t2。為了最小化由于兩個端口之間的任何頻率偏移引起的誤差,端口2在接收到Pdelay_Req消息后盡快返回延時響應消息(Pdelay_Resp),端口2返回Pdelay_Resp消息并為此生成時間戳t3。端口1在接收到Pdelay_Resp消息時生成時間戳t4。然后端口1使用這4個時間戳來計算平均鏈路延時。
當端口2 收到端口1 發送的P d e l a y _ R e q 可得:Delay=t2-t1-Offset
當端口1收到端口2發送的Pdelay_Resp可得:Delay=t4-t3+Offset
聯立以上兩個公式計算得:
鏈路延時值為Delay=(t2-t1+t4-t1)/2
雖然點對點同步的測量方法與端對端同步機制類似,都是通過報文之間的時間戳信息計算鏈路延時值。端對端機制需要正反雙向發送消息進行測量,更適用于路徑對稱且主從時鐘精度一致的網絡中,若路徑不對稱,同步消息(Sync)與延時請求信息(Delay_Req)若通過不同路徑發送,會產生誤差。而點對點機制使用單路徑測量信息,不需要從設備與主設備雙向發送消息,只需對一條物理線路上的傳輸延時進行測量,因此測出的延時結果更加準確。點對點機制適用于使用邊界時鐘或透明時鐘的交換機的系統,網絡系統中的每個節點都會周期性地測量與相鄰節點的鏈路延時值并交換測量的信息,從而每個節點都能實時補償自己與相鄰時鐘節點設備的鏈路延時。
3 PTP時鐘節點
在PTP域(Domain)中,時鐘設備的節點稱為時鐘節點,在PTP精準時間協議中,規定了三種PTP時鐘節點的類型,如圖3所示。
圖3 基本時鐘節點樹狀拓撲結構示意圖
3.1 普通時鐘(OC)
在同一個PTP域中,普通時鐘(Ordinary Clock,OC)只能滿足一個物理端口參與PTP時間同步。在一個域內的普通時鐘可以獲取上游時間信息進行同步,也可以向下游發送同步信號。因此,在一個系統中,普通時鐘既可以作為主時鐘,也可以作為從時鐘。
3.2 邊界時鐘(BC)
邊界時鐘(Boundary Clock,BC)可作為同步系統中的子時鐘。邊界時鐘擁有多個PTP端口參與時間同步,可以通過其中的一個端口以從模式向上游時鐘節點同步時間,并通過其余端口以主模式向下游時鐘節點發布時間。使用邊界時鐘可以將PTP網絡隔離開,有效地降低上游主時鐘的負荷,若上游主時鐘出現問題,邊界時鐘設備可以臨時擔任主時鐘維持一段時間時鐘晶振。
3.3 透明時鐘(TC)
透明時鐘(Transparent Clock,TC)可以擔負同步系統中信號分配器的角色。它擁有多個PTP端口,不需要像普通時鐘和邊界時鐘一樣與其他節點進行時間同步,僅負責在端口之間轉發PTP報文時,對其進行轉發延時校正(在PTP報文中增加時間校正信息)。
上述三種時鐘節點在同一個PTP域中的位置如圖4所示。
圖4 同一域內三種時鐘節點示意圖
4 PTP域與最優主時鐘
4.1 PTP域
使用PTP協議的網絡為PTP域,域由一個或多個PTP設備組成,這些設備的通信按照協議的定義。在每一個PTP域中,只能有一個同步時鐘信號同步該域內的設備,不同域的時標是獨立的。所以,同一套PTP系統中,只有當系統中的所有PTP設備都處在同一個域中時,才可實現系統的同步;不同域中的設備不參與另一個域的時鐘選舉。對于不同域的劃分, 由0 ~ 2 5 5 的整數( 見表1 ) 標識域值(Domain Number)。Domain Number應是可配置的,且遵從PTP協議中規定限制。
4.2 最優主時鐘(Best Master Clock)
在PTP時鐘同步系統中,主時鐘的確認至關重要,一個可靠、穩定、精確的主時鐘選舉機制,決定了PTP系統同步的安全與穩定。因此,PTP自身定義了最優主時鐘算法(Best Master Clock Algorithm,BMCA),依據各個主時鐘所發送的聲明報文中所攜帶的信息,用于確定同一PTP網絡域中的最優主時鐘。在同一個PTP網絡域中,只能有一個最優主時鐘,若當前主時鐘設備出現問題無法繼續工作,會通過BMCA選舉出當前PTP網絡域內最精確的PTP設備為新的最優主時鐘接管同步任務。其他設置在主時鐘模式下的時鐘,都會工作在被動模式下(Passive)。
當設備端口處于被動狀態下,不會參與到時鐘同步中,以防止鏈路形成閉環,所以它們只會發送聲明報文,不與從時鐘有任何的報文交互。而主時鐘(Master)節點、與從時鐘(Slave)節點都會依照BMCA,確定系統中的最優主時鐘源。
5 利用PTP域分離音視頻系統時鐘的設想與方案
根據前一章的介紹可知,主時鐘只能在同一個域內選舉,且每個域只能存在一個主時鐘。對于大部分音視頻系統來說,現場工作時間比較緊缺,考慮到工作效率、系統的安全性以及兩個系統之間責任的劃分,可以結合PTP域和最優主時鐘的概念,使系統時鐘同步采用音頻和視頻時鐘分離的方式,即音頻系統和視頻系統各自鎖定各自的主時鐘。由于多系統之間傳輸的音頻信號為數字信號也需要同步,根據ST 2110-10中規定,IP組播包中封裝了RTP時間戳,因此數字音視頻信號傳輸時根據UDP報文中封裝的時間戳信息進行同步。
5.1 音視頻系統采用兩個主時鐘設備的配置
EFP(Electronic Field Production,電子現場制作)系統的同步如圖5所示。為了保證系統安全,希望實現視頻系統時鐘分離,只獲取音頻的制作信號,在滿足這樣的系統需求過程中有以下兩點問題需要解決:
圖5 采用兩個主時鐘的音視頻系統同步示意圖
在音頻系統與視頻系統的網絡交互中,只傳遞數字音頻信號,不傳遞PTP時鐘信息;
兩套系統采用兩套時鐘風險較高,如何確保系統能夠正常工作。
該方案是筆者根據PTP相關概念提出的設想,采用將音視頻系統劃分為不同的域來分離時鐘信息。在IEEE1588-2008中,規定了域值的范圍是0~127;而在ST 2110-10中,介紹了音頻系統的默認域值為0,視頻系統中默認域值為127。因此,在這套系統中,可以對音頻系統和視頻系統分別設置,分別采用不同的域值。
兩套系統時鐘在不同的域中,則無法參與到對方的主時鐘選舉中,因此各自系統的時鐘信息不會影響另一套系統,可以實現時鐘分離,只傳輸音頻信號。
由于在這兩個系統中分別采用兩套時鐘,兩個主時鐘設備無法保證同時晶振,無法做到絕對時間同步,有可能會因此無法識別數據包,或者由于無法同步引發噪聲。所以,要在系統配置中選擇相對時間振動模式,即頻率同步(如圖6),在這個模式下,可以忽略不同時鐘所導致的報頭無法對齊的問題,只要兩個系統的時鐘以同樣的頻率晶振就可滿足同步。
圖6 Ravenna設備的頻率同步模式設置
盡管如此,此設想還是存在很大的安全隱患。在一個系統中若存在兩個主時鐘,雖通過頻率同步方式的設置可以鎖定同步,但還是存在一些隱患,交換機端口需要識別并處理兩個不同的時鐘報文,若長時間工作可能導致交換機端口數據量過載,發生丟包的問題。因此,還須使兩系統時鐘盡量保持同一起振時刻,可以通過鎖定衛星同步系統對于兩個系統的主時鐘提供一個時基標準,在設備選擇時應當選擇具備GPS授時功能的時鐘設備(如圖7)。當兩個時鐘都支持GPS鎖相,兩個時鐘都跟隨GPS時間標準發出同步信號,盡管兩套系統間不傳輸時鐘信息,卻仍工作在同一個時鐘內。
圖7 兩系統主時鐘設備鎖定GPS
5.2 音視頻系統采用一臺主時鐘設備的配置
由于在實際工作中對于時鐘設備的應用越來越廣泛,如今的時鐘設備的功能也越來越完善。一些時鐘設備可實現多個Domain配置并提供多個物理端口連接下游時鐘節點設備,如圖8為SPG8000A同步信號發生器參數,此設備最多可以配置3個不同的Domain值(Primary Master,Primary Slave,Secondary Master)由這臺設備作為主時鐘可以更靈活地劃分Domain。
圖8 SPG8000A參數
當一臺主時鐘設備可以設定不同的Domain,則只需要一臺主時鐘設備便能實現音、視頻系統之間只傳輸音頻信號,不傳遞時鐘信息(如圖9)。由于主時鐘來源于同一臺設備,所以雖然兩套系統不傳輸時鐘,音視頻系統卻都可以鎖定主時鐘同步。在這樣的系統中,只需要對一臺主時鐘的Domain參數進行配置,就能達到分離時鐘信息的目的,大大提高了調試的效率。
圖9 采用一臺主時鐘設備構架的EFP同步系統
在時鐘的配置中, 除了Domain需要設置以外,還要對優先級(Priority)進行配置,在主時鐘的競選規則中,數值越小優先級越靠前。因此,要權衡音、視頻系統的重要性做取舍,將更主要的系統設為第一優先級。在這樣的系統中,雖然只使用了一臺主時鐘設備,只要對其進行精準配置,不僅可以完全實現時鐘分離功能,還可以解決雙主時鐘系統所導致的兩個時鐘無法同時發出時鐘晶振所導致的問題。
6 結論
采用PTP域劃分的方法雖然可以實現初步的需求,但還是有問題存在,雖然通過選擇不同的Domain,分離了PTP信息,但其實PTP數據一直占用著網絡中的帶寬,也進入到另一系統的端口中參與了數據包的轉發,只是沒有參與彼此主時鐘的選舉,因此筆者做了如下對比分析。
1.使用劃分Domain實現多系統時鐘分離的優勢
當某一音視頻設備時鐘發生問題需要緊急分離兩個系統的時鐘時,通過改變Domain分離時鐘,可以更快地解決問題,操作比較靈活。
僅需一套支持多Domain設置的主時鐘設備(如圖9)就可實現時鐘分離,在兩個系統互相不傳遞時鐘信息的同時,能令兩個系統鎖定同一個主時鐘,提升了系統工作中的安全性。
2.使用劃分Domain實現多系統時鐘分離可能出現的問題
這一方法是根據PTP時鐘域的特性設計的,盡管兩套系統彼此不參與對方主時鐘的選舉,但時鐘數據仍在通過端口傳輸,交換機會對這些報文轉發,而終端設備仍需通過IP層解封裝來判斷是否需要處理此報文。在此過程中,端口轉發的數據量以及交換機對報文的處理量并不會減少,雖然從結果上實現了時鐘分離,但如果大型系統傳輸內容占用大量帶寬,系統長時間工作可能會導致交換機CPU資源占用過多,發生丟包的情況。
筆者討論的時鐘分離是由于網絡音視頻系統越來越復雜而產生的需求,采用GPS鎖相功能的時鐘設備根據GPS歷元提供精準時間,保障音頻和視頻系統安全穩定的同步狀態。而在實際工作中,還須根據現場環境進行考量,若系統使用于場館內,會降低GPS信號質量,此時工作人員須根據現場情況對系統需求進行取舍,GPS信號質量無法保障時須舍棄時鐘系統分離方案,避免丟失主時鐘導致的播出事故。
現今的IP技術還不夠完善,希望隨著科技的不斷發展,音視頻行業能夠運用更先進的技術,實現更加完備的系統,系統時鐘問題的解決會越來越便捷,為系統安全提供更可靠的保障。