隨著廣播電視的不斷發展與消費者對于音畫體驗的要求不斷提升,傳輸方式亟需與時俱進迎來新的變革。安徽廣播電視臺的張博力將從衛星傳輸、公網傳輸SRT協議理論入手,通過分析鏈路測試報告,給出4K衛星傳輸的鏈路搭建方案,并重點分析在實際應用中如何保證公網傳輸的安全性和可用性。
大家好,我是來自安徽廣播電視臺的張博力,接下來我將為大家詳細介紹泛廣電領域的衛星傳輸和公網傳輸。 隨著廣播電視的不斷發展與消費者對于音畫體驗的要求不斷提升,傳輸方式亟需與時俱進迎來新的變革,這不禁讓我們感到好奇:4K時代衛星傳輸能否勝任?公網傳輸作為一種新的選擇,能否擔當起主流廣播電視服務的傳輸責任?
我是電視臺的技術工作者,按照傳統廣電的理論,廣播電視臺的工作可以簡單概括為以下幾點:采、編、播、存、傳——也就是采集、編輯、播出、存儲、傳輸。但是現在,無論你是制作公司還是個人用戶,只要擁有這五項工作所需要的設備,你就可以組建出屬于自己的類廣播電視系統,所以我們今天討論的也是在泛廣電領域下,衛星傳輸與公網傳輸的前世今生與未來發展。
現代泛廣電領域的工作流程,按順序可以簡單概括為“制作”、“傳輸”與“分發”,這與之前傳統廣電領域“制作”、“分發”與“傳輸”的順序有所不同,主要原因是這里我們分享與討論的“傳輸”,是指從制作端到分發端的高效可靠低延遲B to B傳輸。
這里我們可以選用多種傳輸方式,最常見的就是傳統廣電領域使用多年的衛星傳輸和現在逐漸流行的公網傳輸。
1. 衛星傳輸
這里的衛星是同步軌道衛星,隨地球一起自轉,相對于地面的位置始終不變。轉播車將數據沿衛星鏈路發送給同步軌道衛星,再借助衛星發送至電視臺制作基地。不需要線纜、網絡即可完成跨國甚至洲際間廣播電視傳輸,穩定可靠。
1.1 衛星鏈路傳輸解析
上圖展示的就是衛星鏈路的傳輸示意圖。 首先在發射端,我們傳輸的數據肯定不能是基帶信號而是經過信源編碼的信號,這里以HEVC為例。HEVC編碼完成的信號在傳輸之前還需要經過信道編碼(FEC編碼)、交織星座映射、I/Q調制與數字預失真以及SRRC濾波器等一系列處理,接下來還需經過上變頻放大器(BUC)與高功率放大器(HPA)提高信號頻率與功率,處理完畢的信號會通過天線沿上行鏈路傳輸至衛星轉發器;衛星轉發器這里接收信號后再將信號放大并發射,信號沿下行鏈路傳輸至制作基地的接收端并在接收端經過一系列與發射端反向的信號處理工作之后,基帶信號才算是正式傳輸完畢。
上圖展示的衛星傳輸鏈路設備圖可以更直觀地說明衛星傳輸鏈路的工作流程。首先,第一步信源編碼需要超高清編碼器,隨后的調制則需要調制器的參與;接下來的上變頻與高功放處理模塊則是為了讓信號更加穩定可靠地沿上行鏈路傳輸至衛星,而衛星天線則負責發射信號;由衛星天線發射的信號被高頻頭接收,并經過解調器的解調處理和解碼器解碼,獲得目標信號,這也是安徽廣播電視臺構建的全國第一套KU波段車載4K衛星傳輸系統。
1.2 衛星鏈路傳輸面臨的挑戰
為什么說4K給衛星傳輸帶來了新的挑戰?我們知道4K相對于1080i,其分辨率提升到四倍,幀率提高到兩倍而基帶碼流提高到8倍。如果使用傳統H.264編碼方式,4K下的碼流是原有全高清碼流的8倍,;而如果使用H.265進行編碼,4K下的碼流則是原有全高清碼流的4倍,其所帶來的編碼效率提升是顯而易見的。 盡管如此,4倍的碼流提升對衛星傳輸而言也是一項艱巨的挑戰,因為衛星傳輸是一種典型的帶寬受限的傳輸系統。
一顆衛星由火箭送入太空,需要在太空工作十幾年;十幾年的技術發展突飛猛進,用戶對于高質量音畫體驗的追求越來越高,但衛星的傳輸帶寬卻始終不變;而衛星無論是其發射代價還是運營維護成本都十分高昂,頻繁升級其帶寬也是不現實的。這就需要我們充分利用有限的衛星帶寬資源實現傳輸質量的最大化,而究竟能充分利用到什么程度呢?數學家克勞德·香農給出了這個問題的答案。
1948年數學家克勞德·香農在論文《通信的數學原理》與《噪聲下的通信》中,給出了在加性高斯白噪聲信噪下信道的最大容量:
最大容量只由信噪比與帶寬兩個變量決定,也就是我們如果知道帶寬與信噪比,就能推斷出該條件下所能傳輸信號的最大碼率。
例如在30dB的信噪比下,信號與噪聲之比為1000倍,有線傳輸(同軸電纜等)所能承載的最大數據容量為帶寬的10倍;如果是在衛星傳輸中常見的10dB信噪比下,那么最大容量為帶寬的3.46倍。這一數值也就是10dB信噪比下衛星傳輸的極限值,使用衛星傳輸的廣播電視行業也是在用一代代演進的標準逐步逼近這一極限值——香農極限。
1.3 衛星傳輸標準的演進
于是我們不能不說的就是衛星傳輸標準的演進。1993年,DVB-S正式被作為一套完整的適用于衛星傳輸的數字電視系統規范,我國也是率先采用了DVB-S。2005年推出的第二代衛星傳輸的數字電視系統規范DVB-S2采用了新的信道編碼方式——LDPC內碼與BHC外碼,有效提高了頻譜效率;2015年提出的擴展標準DVB-S2X則支持更低的滾降系數和更高階的調制方式,進一步逼近了香農極限。 DVB-S2X是如何逼近香農極限呢?如下圖所示,圖線表示的是載噪比和頻譜效率的比值,虛線是香農極限也就是上限。可以看到表示DVB-S2X的紅色圖線已經非常接近香農極限,而表示DVB-S2的藍色圖線略遜于DVB-S2X。在低滾降系數下信噪比和載噪比的數值是比較近似的,結合剛才的計算我們可以來看一下,以剛才我們提到的載噪比10dB為例,剛才我們計算的10dB下信道最大容量為帶寬的3.46倍,觀察圖線我們可以發現DVB-S2X的頻譜效率不到3倍,香農極限約為3.5倍,與我們的計算結果相符合。
1.4 DVB-S2
接下來我們需要了解DVB-S2的系統框架,下圖展示的為DVB-S2的系統框圖。
可以看到信號會首先被輸入至模式適配與流適配工具,在這里進行合并分割、與結合基帶信令的流適配;隨后信號進入前向糾錯編碼處理,這里我們以3/4編碼為例(可以簡單理解為4個數據里面有3個有效數據1個糾錯數據),前向糾錯編碼(BCH外碼+LDPC內碼+比特交織)之后信號會經過星座映射與物理層組幀,最后進入基帶成形與正交調制階段。非常重要的一點是在基帶成形階段其滾降系數在DVB-S2X標準下會發生很大變化,0.35可能降到0.05,滾降系數降低意味著信道編碼效率的提高。
1.4.1 滾降系數
在相同帶寬情況下,滾降系數0.05時符號率更高,波形中平坦的部分更寬,而0.2則相對較窄。盡管滾降系數提高了效率,但滾降系數越低其信號強度也越小。從圖中我們也可以看到滾降系數為0.2時的信號,其強度要高于滾降系數為0.05時的信號。根據計算,如果滾降系數從0.2降到0.05,那么接收的信噪比會降0.6dB,這種信噪比的降低是否值得?
帶寬=符號率*(1+滾降系數)其中符號率為單位時間內所能發送的符號數,也就是實際利用可以傳輸數據的有效帶寬當中平坦的部分。
以衛星傳輸常租用的9M帶寬來計算,當滾降系數為0.35時,傳輸所能使用的帶寬僅為6.67M;而當滾降系數降低至0.05時,傳輸所能使用的帶寬最高可達8.57M,相對前者提升了28.5%。以信噪比降低0.6dB為代價,換來28.5%的可用帶寬提升,這對我們來說是非常劃算的選擇。可以說滾降系數的降低是一項非常出色的改進,應當善加利用。 低滾降所帶來的28.5%的可用帶寬提升實際上還無法滿足4K的傳輸需求,所以我們還需要優化調制方式。下圖坐標系中包含了衛星傳輸常見的調制方式,包括QPSK、8PSK、16APSK、32APSK。如何理解坐標系呢?坐標系的橫軸與余弦初始相位同向,豎軸與其正交,該坐標系包含了調制所需的所有相位(調制)資源和幅度(調制)資源。
1.4.2 調制方式
首先,QPSK也就是二階調制下,4個狀態點均分360度,每個狀態點相位相差90度;可以理解在接收端,相位相差90度的正交相位點易于識別和解調。接下來8PSK也就是三階調制下,8個狀態點均分360度,每個狀態點相位相差45度,解調端解調的難度相對于二階調制更大。 此時調制方式的發展面臨瓶頸:如果從三階調制升級到四階調制,意味著16個狀態點均分360度,狀態點之間的相位差為22.5度,過小的歐拉距離極容易導致相位模糊和符號間干擾,繼而造成接收端很難對信號進行有效解調。突破該瓶頸的解決方案是結合相位調制和幅度調制,如16APSK所示那樣將外圈分為12個狀態點而將內圈分為4個狀態點,以此湊齊了16個狀態點。有的狀態點盡管同相位但幅度不同,通過幅度與相位雙重調制,我們實現了四階調制16APSK。四階調制的意思是如果不考慮前向糾錯帶來的效率損失,其頻譜效率可達4倍,實際頻譜效率我們可以通過觀察下圖獲知。
根據上圖我們不難發現,在16APSK下,當LDPC糾錯碼率為3/4時(為保證信道可用,糾錯是必需的過程) 頻譜效率可達3倍。這樣的頻譜效率可以說是非常可觀了,我們可以看到在32APSK下,當LDPC糾錯碼率為0.9時,頻譜效率為4.5。要知道在符號率與帶寬一定的情況下,更高的頻譜效率意味著可以傳輸更高的碼流,但是如此高性能高效率也是有一定代價的,那就是高階調制和高糾錯旅會大幅提升接收門限。
1.4.3 接收門限
根據上圖表格我們可以看到,MOD=QPSK、COD=3/4而頻譜效率為1.487時的接收門限為2.3,MOD=16APSK、COD=9/10而頻譜效率為3.567時的接收門限為7.6,如此高的接收門限無論是對發射天線還是接收衛星而言都是一項巨大的挑戰。如果追求極致的效率與極致的性能,我們也要付出極致的代價,甚至要冒著接收失敗的風險,這無疑是得不償失的。
我們可以認為低滾降系數與高階調制可以提升頻譜效率,而高階調制與高糾錯率卻也提升了接收門限。但接收門限是一項必須被控制在合理范圍之內的參數,如果接收門限過高那么就意味著連正常的信號接收都無法保證,其他性能指標的提升都是紙上談兵。這時大家都會想到一個問題:為什么不能增加信噪比?只要信噪比增加的幅度追得上接收門限的提升,就可以不用擔心此問題?在解答該問題之前我們需要對衛星傳輸鏈路進行詳細分析。
1.5 衛星傳輸鏈路需求
由于受到硬件設備的客觀限制,衛星鏈路傳輸中許多參數為固定值,想提升基于衛星鏈路傳輸信號的信噪比并不是一件容易的事情。例如轉發器接收品質因數G/T與轉發器最大下行EIRP均無法改變,都導致衛星傳輸鏈路當中信噪比不能無限制地增加。于是提升頻譜效率的同時有效控制接收門限,是我們解決衛星傳輸4K廣播電視信號需要踐行的技術關鍵。如何找到二者之間的最佳平衡?通過大量的測試!
上圖展示的測試數據結果是我們完成的可能是國內第一個KU波段的4K衛星鏈路信號測試,我們其實是使用了許多參數組合,在不同參數組合下選擇不同的帶寬和符號率并實際測量了接收信號的信號強度、載噪比、載噪比余量等,最后得出了最合適的四個參數組合(圖中背景灰色高亮的四行數據)。觀察這四組數據我們可以看到前三組數據的實際可用碼率都在40Mbps左右,也就是說4K廣播電視信號經過HEVC編碼之后,如果碼率在40Mbps左右,其質量可以說非常出色了,這也表示該三個信道可以滿足4K廣播電視信號的傳輸需求;如果帶寬實在受限,例如只有與高清一樣的9M帶寬,那么我們只能選擇合適的參數也就是第18組參數,可以在確保接收門限合適的情況下實現大概27Mbps的編碼后碼流。
總結以上內容,我們可以認為衛星傳輸鏈路具有以下三大需求:
足夠大的可用比特率意味著經過信源編碼后的碼流可存儲更多的信息,音畫質量更加出色;
足夠低的接收門限意味著信號需要能被穩定傳輸;
足夠小的占用帶寬則是源于衛星傳輸鏈路的特殊性,系統限制非常多。
但三個需求全都達到極致是不可能的,我們需要尋找到一個合適的平衡點,而尋找該平衡點的重要參數為以下三個:調制方式、前向糾錯與滾降系數。這三個參數會在不同程度上同時影響頻譜利用率與接收門限,這就使得每一條衛星鏈路的搭建都需要進行鏈路測試并尋找到合適的參數組合與設備選型。 傳統基于衛星傳輸的廣播電視系統,鑒于其高昂成本與復雜架構,只有大公司或公共電視臺才有能力使用;而進入4K時代,成倍增長的數據傳輸量更是將衛星發射、鏈路組建和運維成本提到了新的高度。于是公網傳輸提供了一種新的選擇,逐漸被應用在廣播電視領域。
2. 公網傳輸
這里我們只討論單播協議,更多的是指點對點的傳輸。有多種選擇例如RTMP、SRT、ZIXI、UDP等。其中RTMP雖然門檻低但由于基于TCP,其無論是時延還是性能都不盡如人意;而基于UDP且帶糾錯與差錯控制的協議如SRT、ZIXI等也是點對點傳輸,如果網絡條件足夠好,那么你也可以使用裸露的UDP協議。 接下來我們詳細聊一聊SRT協議
2.1 SRT協議與其特性
SRT為“Secure”、“Reliable”與“Transport”三個單詞的首字母,意思是安全可靠傳輸協議,由Havision公司開發并將其開源,是一個基于UDP的傳輸協議。我想大家聽到UDP心里不禁會產生疑問:UDP協議可靠嗎?
實際上,盡管UDP的效率比較出色,但其并不是一個可靠的傳輸協議,無法對傳輸結果負責。 下圖展示的是在模擬2%丟包的網絡環境下使用UDP協議傳輸的測試結果,衛星鏈路傳輸與公網傳輸的目的是一致的,都是將信源編碼后的視音頻碼流傳輸到目的地。這里對比編碼后的視音頻碼流與經過公網傳輸后的碼流,可以看到原來編碼后的視音頻碼流具有固定的幀間隔與一定特性的可變比特率,但經過公網傳輸后的碼流,其幀間隔變得不固定且碼率特性也被完全改變,解碼這樣的信號是一項十分艱巨的挑戰,甚至根本無法解碼。
而如果使用加入糾錯的SRT協議進行公共互聯網傳輸,盡管編碼后的視音頻碼流經過公網傳輸幀間隔變得不固定,但由于SRT協議封裝中包含精準的時間戳,解碼接收端可以通過該時間戳重現固定的幀間隔;更重要的是,通過規定延時量,同時劃定了發送端緩沖區與接收端緩沖區,來自接收端的反饋信號(可以理解為后向糾錯)通過一系列的設置、糾錯、流量控制,使編碼后的視音頻碼流擁有與原碼流幾乎一樣的碼率特性。下圖展示的就是在模擬2%丟包的網絡環境下使用SRT協議傳輸的測試結果。
為什么SRT可以實現這樣的效果?簡單分析,原因主要為以下五點: ● SRT以UDP協議為基礎,具備穩定、可重復并具有連續吞吐量的數據包投遞機制。(這種特性使得其非常適合用來傳輸實時的音視頻廣播電視信號。) ● 在UDP之上采用握手機制建立連接 ● 使用了改進后的ARQ技術(后向糾錯技術) ● 封裝協議中帶有精準的時間戳(用以實現精準的幀間隔) ● 通過設定延時量參數,統一規定了發送端和接收端緩沖區的大小
2.2 SRT協議原理
上述特性具體是如何實現的呢?下圖展示了SRT協議的流程圖
首先,SRT的握手遠沒有TCP的三次握手那么復雜,Caller與Listener之間進行的是一個簡化版的握手,用以提高效率;握手之后Caller與Listener間進行重要信息的交換,整個SRT的第一項關鍵步驟就是Caller與Listener在這里交換了延時量與緩沖區的大小;隨后Caller與Listener之間開始媒體數據的傳輸,同時也傳輸了為恢復幀間隔而封裝的精準時間戳;SRT的第二項關鍵步驟是Listener向Caller同步控制信息,用以對抗公網中的抖動、丟包等一系列突發狀況;最后,待至媒體數據傳輸完畢之后關閉傳輸。 這里你也許會感到好奇:控制信息是如何對抗公網中的抖動、丟包等一系列突發狀況呢?如何實現差錯控制和流量控制?實際上是通過ARQ技術也就是自動重發請求。
2.2.1 自動重發請求ARQ
ARQ技術的基本概念很簡單:發送端在將數據包發送至接收端后并不急著把數據包刪除,而是等待接收端給出ACK-肯定應答之后才會刪除;而如果發送端在將數據包發送至接收端后,接收端給發送端反饋NCK-否定應答,那么發送端會向接收端重新發送數據包,這就是一種糾錯機制;或者是在發送數據包之后等待一段時間,如果收到NCK-否定應答那么就會自動重發數據包。
以上圖為例,假設發送端緩沖區發送五個數據包:1、2、3、4、5給接收端緩沖區,接收端緩沖區成功接收到這些數據包之后會向發送端緩沖區發送ACK——肯定應答,發送端接收到ACK——肯定應答之后會刪除1、2、3、4、5這五個數據包并準備發送數據包6。
在成功接收數據包之后,接收端緩沖區會逐個拿出數據包輸送至解碼器以進行解碼操作,最終輸出相應的音視頻;在解碼的同時緩沖區窗口就會向前滑動,輸送下一個待解碼的數據包。 以上是不考慮丟包等異常狀況的理想網絡條件,如果考慮丟包呢?
如上圖所示,假設數據包4出現了丟包的情況,那么此時接收端緩沖區需要檢測到這一異常并立刻發送NAK-否定應答至發送端緩沖區,發送端會再次發送數據包4。而如果出現返回信息也就是ACK/NCK在網絡中丟失,該如何應對?其實SRT對ARQ做出了大量改進,包括重發所有過期的ACK、定期重發NCK策略等。實際上SRT實現了ARQ的第三次飛躍,很好地解決了在網絡中的丟包和抖動,可以說這是SRT協議中最重要的部分。
2.2.2 發送端緩沖區與接收端緩沖區
而在實際應用中我們應當如何理解發送端緩沖區與接收端緩沖區?
發送端緩沖區發送信號,只有在收到來自接收端的確認信息之后才會刪除數據包,沒有收到確認信息則不刪除;這種情況下,如果發送端緩沖區充滿了數據包,說明一直沒有收到來自接收端的肯定應答,數據一直保存在發送端,這可能意味著傳輸出現了異常。所以SRT在實際應用中需要注意,發送端緩沖區的占用率越少越好。
接收端緩沖區的終極目的是將數據包輸送給解碼器以進行解碼,我們以去自助餐廳吃飯為例:
解碼器就像圖中的壯漢,需要一直不停地吃,考慮動態碼率VBR的作用,壯漢的胃口時大時小;一旦餓著,解碼出的圖像和聲音就會中斷。而餐盤其實就像接收端緩沖區,其中一定需要充滿了食物也就是待解碼數據。盡管一直有人在上菜,就像公網傳輸碼流不斷進行,但上菜時快時慢,就像網絡帶寬有波動,萬一網絡不好,上菜的速度沒有壯漢吃的速度快,即會造成編碼的中斷,因此我們必須確保餐盤里始終充滿了食物。 因此我們得出以下結論:接收端緩沖區必須充滿了數據,以讓其能夠有效應對由于網絡帶寬波動造成的傳輸碼流不穩定。所以SRT在實際應用中需要注意,接收端緩沖區的占用率越高越好。 將以上內容過渡到實際應用當中,可以幫助我們更好地理解這一規律——下圖展示的是安徽廣播電視臺進行第一次5G直播時的狀態監測圖。 ●發送端狀態分析
首先是發送端狀態圖:白色線為鏈路往返的時間,5G下的網絡環境已經足夠出色,于是可以看到鏈路往返一直處于較平穩的狀態,說明網絡環境與帶寬質量一直處于較為理想的狀態;黃色線為我們規定的延時量也就是發送端緩沖區的大小,之前我們也聊到發送端緩沖區其實占用的越少越好,根據圖中可以看到當時占用的發送端緩沖區并不高。 但是即使是5G網絡也有網絡波動:圖中可以看到在網絡波動出現時緩沖區的占用也激增,即便如此仍留出了一半左右的安全冗余量。 ●接收端狀態分析
接下來是接收端狀態圖:上圖的上半部分中綠色線表示丟包率,可以看到5G網絡下的丟包率非常低;下圖紅色線表示RTT鏈路往返時間,也是一直處于較為穩定的狀態。 上圖的下半部分,圖中黑色線表示接收端緩沖區的上限也是延時量,最好的情況就是綠色線一直貼著黑色線波動,表示接收端緩沖區一直處于較為理想的高占用狀態。 但是在5G網絡中難免出現波動,可以看到出現波動時,接收端緩沖區被消耗到實際占用量接近緩沖區的一半,這就是因為網絡有波動導致數據無法及時傳輸至接收端緩沖區,但解碼卻消耗了接收端緩沖區大量的數據。即便如此,經過大量的前期鏈路測試,我們仍保證了在波動中能夠留出大約一半的安全冗余量。
2.3 公網傳輸條件
總結一下我們敢于使用公網傳輸廣播電視信號的原因:首先SRT協議支持糾錯,其次需要在正式商用之前進行大量的前期鏈路測試并為發送端緩沖區與接收端緩沖區留出合適且足夠的安全冗余量。而在鏈路搭建階段,進行網絡鏈路測試時需要著重測試并關注網絡帶寬、丟包率與RTT也就是鏈路往返時間。
測試完畢之后,我們可以根據測試結果設定合適的延時量。下圖所示表格來自Havision官方,根據計算結果與表格參數我們就可以尋找到不同網絡環境下最佳延時量的設定,也就是規定緩沖區的大小。確定最佳延時量并設置完畢,經過一段時間的測試以觀察反饋結果。
3. 實際應用
基于以上介紹的衛星鏈路與SRT協議下的公網傳輸鏈路,我們實現了安徽廣播電視臺首次5G現場直播。
下圖展示了直播中所用到的5G鏈路設備,值得注意的是,由于SRT的開放特性,這里我們使用了三家不同廠商的設備,仍然可以兼容并實現良好協調的使用,這也是開源設備的好處。
3.1 SRT的多碼率多格式分發
SRT可實現多碼率多格式的分發,這里并不是分發到用戶而是分發到不同平臺。如果是基于SRT的硬件編碼器,則可編碼多個分辨率、格式不同的流并分發到不同的平臺如電視臺、CDN、私有云等。
3.2 SRT在節目制作中的應用
SRT也可應用于節目制作中,甚至在手機上安裝一個軟件即可收到解碼完成的流,這也經常被我們用于節目測試。當然還有在進行一項節目時,編導、攝影師、記者等都希望接收到電視信號,SRT的這種應用可以幫助他們隨時隨地動態掌握節目進行狀態。
3.3 其他商業化應用
基于以上內容,我們成功實現了以下應用案例:如安徽廣播電視臺首次5G直播、“長江之戀”十二省市聯動大型直播以及超鐵賽事在中國大陸的首次亮相,都是基于衛星鏈路與SRT協議下的公網傳輸,這也為我們探索未來廣播電視傳輸技術發展積累了豐富的經驗。
-
衛星
+關注
關注
18文章
1701瀏覽量
66899 -
公網
+關注
關注
0文章
13瀏覽量
9572
原文標題:泛廣電領域的衛星傳輸和公網傳輸
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論