袁金保,杜亞軍,楊雪松
(惠州市偉樂科技股份有限公司,廣東 惠州 516003)
超大容量視聽媒體綜合處理設備中的關鍵技術
袁金保,杜亞軍,楊雪松
(惠州市偉樂科技股份有限公司,廣東 惠州 516003)
廣播電視、視頻網(wǎng)絡運營和監(jiān)控行業(yè)當前面臨的挑戰(zhàn)之一:輸入端視頻源和格式多樣化、視聽數(shù)據(jù)海量化;輸出端則需要支持輸出格式的多樣化和應對傳輸媒介兼容化。因此,應對這個挑戰(zhàn)的超大容量高密度媒體設備開發(fā)通常涉及多種關鍵處理技術。介紹幾種已應用在我司此類設備中的包括模塊化設計技術、高速接口技術、軟硬件協(xié)同技術和并行PCR校正技術。
高密度;視聽媒體處理;高速接口;傳輸流復用;并行PCR校正
隨著生活水平的提高,人們對于視聽的需求也越來越高,視聽播放設備已成為生活中不可或缺的一部分。超大容量、高密度、高靈活性、高性能的前端視聽設備越來越受到廣電運營商、視頻網(wǎng)絡運營商等用戶的青睞。這就需要開發(fā)一種高密度視聽處理設備,支持任意視頻信號輸入,如 DVB-S2/T2/C,ASI,DS3,TSIP,CVBS,HDMI等;支持任意視頻信號輸出,如QAM,TSIP,ASI,DS3,HDMI和SDI等。設備還須具備海量內(nèi)容復用處理、編碼處理、轉碼處理、加擾和解擾處理等功能,以提供完備的一站式音視頻解決方案。本文將介紹在該類設備研發(fā)中,采用的幾種關鍵技術,包括模塊化設計技術、高速接口技術、軟硬件協(xié)同技術和并行PCR處理技術。
圖1 一站式音視頻解決方案
1.1 模塊化設計技術
廣播電視、電信和網(wǎng)絡等視頻技術的飛速發(fā)展,視頻內(nèi)容的信號來源越來越豐富,如圖1所示,包括有線DVB-C、地面DVB-T/T2、衛(wèi)星DVB-S/S2射頻信號源、DS3電信信源、TSIP網(wǎng)絡信源、ASI和本地編碼節(jié)目信源等。用戶使用的輸出媒介也多種多樣,如QAM調(diào)制輸出、ASI輸出、TSIP輸出、SDI或HDMI輸出等。不同的用戶有不同的信源輸入場景,也有不同的輸出需求。甚至同一個用戶,在不同的時期內(nèi),也會有不同的輸入輸出需求。
為此,同一套設備既要能滿足不同的應用場景需求使設備功能完備,又要能滿足定制用戶的特定需求使設備成本最低。采用模塊化設計技術能很好地平衡這兩個需求。
如圖2所示,在設備中固定裝配一個主模塊,可選(最多6個)搭配子模塊,所有子模塊與主模塊之間采用統(tǒng)一通用的接口,子板模塊可以插入任何一個插槽。這樣,用戶可以根據(jù)自身實際的輸入信源、節(jié)目處理需求和輸出需求,選擇滿足要求的子模塊即可快速搭建一套音視頻處理系統(tǒng)。該設備目前配套有50多款子模塊,全面解決接收、編轉碼、解碼、加擾、調(diào)制、轉調(diào)和復用等需求。
1.2 高速接口技術
視頻處理面臨最大的難題之一是海量數(shù)據(jù)傳輸,尤其是隨著Internet技術的發(fā)展,TSOVER IP的應用越來越多,而IP網(wǎng)絡的高帶寬傳輸能力,使音視頻數(shù)據(jù)量呈爆炸式增長。模塊化設備可配套2個IP子模塊,每個IP子模塊通過5個SFP口最大可收發(fā)5×256通道的網(wǎng)絡并發(fā)流。如圖3所示,主模塊和IP子模塊之間最大為2×5 Gbit/s全雙工高速接口,與其他子模塊之間為6×4 Gbit/s的全雙工高速接口。如此大的數(shù)據(jù)率傳輸必須采用高速接口技術。考慮到子模塊與主模塊FP?GA資源的限制,IP子模塊和主模塊之間的數(shù)據(jù)傳輸采用Transceiver收發(fā)器實現(xiàn);其他子模塊與主模塊之間的接口采用LVDS自定義收發(fā)器實現(xiàn)。
圖2 單主模塊多子模塊搭配設備內(nèi)部圖
圖3 板間高速數(shù)據(jù)傳輸
1.2.1 Transceiver收發(fā)器實現(xiàn)
Transceiver收發(fā)器如圖4所示,包含發(fā)送端和接收端兩部分。
發(fā)送端PCS接收待傳輸?shù)囊曨l數(shù)據(jù)后先進行8B/ 10B編碼,編碼后的數(shù)據(jù)轉換到PMA時鐘域,最后,通過Polarity配置TXP和TXN是否需要極性互換。PCS處理后的數(shù)據(jù)送到PMA,PMA內(nèi)部先由PISO完成數(shù)據(jù)并行到串行的轉換,然后,通過TX_Pre/Post_Emp對信號進行預加重等配置,提升發(fā)送端信號的質量,最終通過LVDS發(fā)送出去。
接收端PMA接收發(fā)送端送過來的LVDS的串行數(shù)據(jù),由RX_EQ/DFE進行均衡調(diào)整以提升接收的信號質量,然后由SIPO完成數(shù)據(jù)串行到并行的轉換。PCS接收PMA轉換好的并行數(shù)據(jù),通過Polarity配置TXP和 TXN是否需要極性互換,然后由Comma Detect and Align進行數(shù)據(jù)對齊,對齊后的數(shù)據(jù)進行8B/10B解碼,8B/10B解碼后進入RX Elastic Buffer緩存。一旦RX Elastic Buffer緩存有數(shù)據(jù)時,就可以送給RX模塊,同時將當前鏈路狀態(tài)反饋給用戶。
圖4 Transceiver TX內(nèi)部原理圖
Transceiver收發(fā)器還提供豐富的環(huán)回鏈路,包括PCS遠端環(huán)回模式、PCS近端環(huán)回模式、PMA遠端環(huán)回模式、PMA近端環(huán)回模式以及PRBS測試模式,可以快速定位高速接口的問題。
1.2.2 自定義收發(fā)器發(fā)送端實現(xiàn)
發(fā)送端實現(xiàn)如圖5所示,發(fā)送端實現(xiàn)包含兩部分,第一部分為源同步時鐘的產(chǎn)生。通過板級晶振輸入50 MHz時鐘,經(jīng)FPGA內(nèi)部的PLL產(chǎn)生125 MHz時鐘和500 MHz時鐘。500 MHz時鐘經(jīng)過ODDR后,再經(jīng)過OBUFDS轉換為差分信號,即產(chǎn)生源同步時鐘CLK_P/ CLK_N。第二部分為待發(fā)送數(shù)據(jù)的處理。接口啟動后,開始發(fā)送訓練序列。發(fā)送訓練序列的目的是為了接收端能根據(jù)采樣的數(shù)據(jù)與訓練序列比對,從而找到正確且最佳采樣位置。當接收端找到最佳數(shù)據(jù)采樣點后,返回TRAIN_DONE信號給發(fā)送端。發(fā)送端接收到TRAIN_DONE后,不再發(fā)送訓練序列,開始發(fā)送待傳輸視頻數(shù)據(jù)。訓練序列/待傳輸視頻數(shù)據(jù)經(jīng)寄存后,每8 bit送給1個OSERDES單元,這樣,32 bit數(shù)據(jù)輸出給4個OSERDES。每個OSERDES單元完成數(shù)據(jù)的并行轉串行,轉換時序如圖6所示。最后,串行信號經(jīng)過OBUFDS即可完成數(shù)據(jù)的差分對DAT_P[3:0]/DAT_N [3:0]輸出。同時,PLL產(chǎn)生的125 MHz和500MHz時鐘也需要送給OSERDES模塊,供其并轉串使用。
圖5 自定義收發(fā)器發(fā)送端實現(xiàn)原理圖
圖6 OSERDES數(shù)據(jù)并行轉串行示意圖(截圖)
1.2.3 自定義收發(fā)器接收端實現(xiàn)
接送端實現(xiàn)如圖7所示,其用到Xinlix FPGA兩種重要單元ISERDES和IDELAYE2。ISERDES單元用于將數(shù)據(jù)串行轉為并行,轉換關系如圖8所示。IDE?LAYE2單元用于提供可編程的延遲。筆者使用的Xilinx 7 Series FPGA中的IDELAYE2單元提供32級延遲,給其輸入?yún)⒖紩r鐘為200 MHz,每級延遲約78 ps。
圖7 自定義收發(fā)器接收端整體框圖
圖8 ISERDES串行轉并行時序關系圖(截圖)
接收端實現(xiàn)包含3部分,第1部分為時鐘處理:時鐘差分對信號CLK_P/CLK_N經(jīng)IBUFDS轉換后,恢復出500 MHz單端時鐘,然后經(jīng)過IDELAYE2單元延遲后,通過BUFIO和BUFR,分別產(chǎn)生500 MHz和125 MHz時鐘給ISERDES單元。第2部分為數(shù)據(jù)處理;4對數(shù)據(jù)差分對信號經(jīng)IBUFDS轉換后,恢復出單端信號,然后經(jīng)過IDELAYE2單元延遲后,送給ISERDES。ISERDES負責將串行數(shù)據(jù)轉換為并行數(shù)據(jù)。第3部分為訓練模塊,目的為查找最佳數(shù)據(jù)采樣點??紤]到LVDS在PCB上為等長走線,所以不考慮各數(shù)據(jù)線之間的skew,只是找到每對數(shù)據(jù)線的最佳數(shù)據(jù)采樣點即可。
查找最佳數(shù)據(jù)采樣點實現(xiàn)原理如圖9所示:Initial為初始狀態(tài)下數(shù)據(jù)和時鐘的相位關系。增加數(shù)據(jù)線IDELAYE2單元的延遲級數(shù),直至數(shù)據(jù)發(fā)生邊沿跳變,即找到數(shù)據(jù)窗口右邊界,記錄此時延遲級數(shù)為DLY_RIGHT_TAP;繼續(xù)增加數(shù)據(jù)線IDELAYE2單元的延遲級數(shù),直至數(shù)據(jù)再次發(fā)生邊沿跳變,即找到數(shù)據(jù)左邊界,記錄延遲級數(shù)為DLY_LEFT_TAP。最后將IDE?LAYE2單元的延遲級數(shù)設置為DLY_RIGHT_TAP+(DLY_LEFT_TAP-DLY_RIGHT_TAP)/2,這樣,即可實現(xiàn)時鐘與數(shù)據(jù)相位關系為中間對齊。
圖9 查找最佳采樣數(shù)據(jù)實現(xiàn)原理同
1.3 軟硬件協(xié)同技術
由于設備支持的子模塊數(shù)目多、節(jié)目通路多,因此,系統(tǒng)的復雜程度也隨之增加。軟件和硬件設計需要協(xié)同考慮,才能使系統(tǒng)的性能最優(yōu)。相對來說,軟件在處理協(xié)議層方面,具備自身優(yōu)勢,而對于實時性和大寬帶并發(fā)處理要求的場合,則難以勝任。而數(shù)字邏輯電路在實時處理與高帶寬并發(fā)處理場合時,具備天然優(yōu)勢,但對于復雜的協(xié)議處理,通常由于開發(fā)工作量較大使得開發(fā)周期長,性價比較低。
圖10為本設備主模塊內(nèi)部軟硬件設計框圖,對于TS流的處理,需要保證TS流處理的效率和實時性,全部由數(shù)字邏輯電路實現(xiàn)。對于源節(jié)目表的解析、復用后節(jié)目表的重構、復用后去向的配置、日志告警的顯示、用戶交互接口以及網(wǎng)管管理部分,由于涉及協(xié)議層面的處理,全部由軟件實現(xiàn)。
圖10 主模塊內(nèi)部軟硬件協(xié)同處理
具體軟硬件主要工作配合:主模塊數(shù)字邏輯電路接收子模塊的并行TS流,緩存后進行復用處理。復用后,根據(jù)軟件配置的節(jié)目表過濾條件,將信源的節(jié)目表上報給軟件;軟件得到所有信源的節(jié)目表后,通過解析節(jié)目表,就可以通過網(wǎng)管將源節(jié)目信息顯示給用戶。軟件還會根據(jù)用戶配置的節(jié)目去向,得到去向查找表并構造各輸出通道的最新的節(jié)目表,再將這些表配置到數(shù)字邏輯器件提供的內(nèi)部存儲器中。這樣,數(shù)字邏輯電路將軟件重新構造表復用到TS流中,即可保證復用后各輸出通道都有正確的節(jié)目表。同時,通過查找去向表,即可將TS流正確地分發(fā)給各個子模塊。
另外,對于系統(tǒng)產(chǎn)生的日志和告警,軟件很容易呈現(xiàn)給用戶。同時,系統(tǒng)的配置管理,采用Internet方式,涉及到TCP/IP層協(xié)議的處理。這些協(xié)議處理,如果用數(shù)字邏輯電路來實現(xiàn),工作量和實現(xiàn)難度將非常巨大,而軟件則通常有專門的協(xié)議棧底層支持,只需要簡單配置即可實現(xiàn)。
通過上述的軟硬件分工協(xié)調(diào)配合,使系統(tǒng)達到最優(yōu)的性價比。
1.4 并行PCR校正技術
PCR(Program Clock Reference)節(jié)目參考時鐘,是MPEG-2系統(tǒng)中的一個非常重要的參數(shù),其作用供TS流的發(fā)送端和接收端實現(xiàn)時鐘同步?,F(xiàn)有技術中,一般發(fā)送端以參考時鐘27 MHz進行模300計數(shù)分頻,獲得9位計數(shù)值,稱為PCR_EXT。PCR_EXT每計數(shù)到299時,進行模233計數(shù),獲得33位計數(shù)值,稱為PCR_BASE。每隔10~40 ms會將計數(shù)值PCR_BASE和PCR_EXT插入TS包中PCR域段中,表示該TS包在發(fā)送端是某一時刻打包的。在接收端也有一個和發(fā)送端一樣結構的PCR本地時鐘計數(shù)系統(tǒng),由于接收端的27 MHz參考時鐘和發(fā)送端的27 MHz時鐘總是會有一定的偏差的,如果不做任何處理,就會造成數(shù)據(jù)播出速度和編碼輸入速度不匹配,造成數(shù)據(jù)脫節(jié)或累積。由于發(fā)送端已經(jīng)周期性地插入了PCR,這樣,接收端接收到PCR后就會和本地的PCR比較,如果有偏差,就微調(diào)本地27 MHz振蕩頻率,使收發(fā)嚴格同步。
MPEG-2標準設計的TS流的傳輸環(huán)節(jié)是恒定速率的傳輸信道,即只產(chǎn)生數(shù)據(jù)的時延,而不會造成數(shù)據(jù)包的順序錯亂或相對時間的變化。但是,在本設備中存在3個方面的問題:1)支持復用,會導致包含PCR的TS包偏離原來的位置;2)IP傳輸實時性差的特點,從IP中恢復的TS包是斷斷續(xù)續(xù)的,同樣會導致包含PCR的TS包偏離原來的問題;3)輸出子模塊并行輸出通道多,最多高達256個IP并行輸出,PCR校準的通道多,為保證設備輸出的TS流正確被接收端解碼,需要對多通道的PCR進行并行實時校正。
圖11為設備內(nèi)部的PCR校準模塊框圖,該模塊支持多個通道的PCR校準請求,請求調(diào)度模塊接收到PCR校準請求后,采用RR輪詢調(diào)度,從多個通道中調(diào)度出一個PCR校準請求,同時將調(diào)度請求的當前PCR信息送給New_Pcr_Calc模塊,并控制讀寫控制模塊遍歷讀PCR存儲模塊。讀寫控制模塊在讀存儲器的過程中,會將讀出來的PID的信息與當前調(diào)度請求的PCR PID比較。如果相等,則表示存儲器中存儲了上一次PCR校準后的結果,將上次校準好的PCR信息取出來,送 給 New_Pcr_Calc模 塊 進 行 PCR校 準 。 當New_PCR_Calc校準得到New_Pcr后,將校準后的PCR信息寫入該存儲單元供下一次該PID做PCR校準使用;如果在遍歷比較中沒有找到匹配的PID,說明該PCR的PID是第一次參與校準,則查找存儲器中空閑單元,并將該PID及當前PCR信息存入空閑單元中,作為該PID下一次PCR校準使用。New_Pcr_Calc模塊判定如果當前PID在存儲器中匹配到,則根據(jù)當前包的PCR信息與上一次校準過的信息,采用專門的算法(已申請專利)進行校準運算,得到最新的PCR值;如果當前PID在存儲器中未匹配到,該PID第一次參與校準,則本次不校準,PCR值保持為原值。注意,在校準的過程中,為防止PCR_BASE和PCR_EXT計算溢出導致PCR校準錯誤,設計溢出保護模塊進行保護處理。
本文分析了超大容量高密度視聽媒體綜合處理設備研發(fā)中遇到的技術難點,并提出幾種關鍵技術進行應對,所述技術均已成功應用到偉樂公司DMP等媒體平臺設備中,實踐證明設備運行穩(wěn)定、可靠,為高密度視聽設備的大規(guī)模推廣奠定了堅實的基礎。
圖11 PCR校準模塊框圖
[1]Xilinx:7 Series FPGAs SelectIO Resources[EB/OL].[2014-07-20]. http://www.xilinx.com/support/documentation/user_guides/ug471_ 7Series_SelectIO.pdf.
[2]李培琳,王濤,方超,等.MPEG-2中TS碼流傳輸損傷測量方法研究與設計[J].電視技術,2014,38(12):37-39.
[3]德州儀器.LVDS—低壓差分信號傳輸[EB/OL].[2014-07-20].http:// wenku.baidu.com/link?url=2IxZpKDfJlO3qLCfdCHYThylzNeh_DY D1wU-bLNh2eXwn4eRL6go6ScsF_022geJwwX6aJC-YzjW 1qdHf Hv9ZvxAR1PNxrmjoy3b0H3jTXy.
[4] 方濤.數(shù)字電視業(yè)務信息及其編碼[M].北京:國防工業(yè)出版社,2003.
[5]易湖,趙照.DVB傳輸流PCR抖動檢測的FPGA實現(xiàn)[J].中國有線電視,2005(17):1670-1671.
TN791;G229
B
?? 雯
2014-08-15
【本文獻信息】袁金保,杜亞軍,楊雪松.超大容量視聽媒體綜合處理設備中的關鍵技術[J].電視技術,2014,38(20).