首先面臨的挑戰是該如何設計可靠的多媒體家庭網路平台,能夠以足夠的QoS傳送網際網路通訊協定(IP)封包,並且沒有明顯的失真。另一個挑戰是設計人員怎樣以較高的性能價格比來實現這一切,使消費者能夠使用得起。
目前專業廣播行業已經採用了多項技術來解決第一個挑戰。在消費性低成本FPGA中採用這些技術後,設計人員也能夠解決第二個挑戰。
即時傳送通訊協定
即時傳送通訊協定(RTP)主要用於在網際網路上傳輸和分配音訊以及視訊,例如視訊會議和視訊串流等應用。然而,該通訊協定具有時間戳記和資料封包丟失或者重排探測等功能,因此,也可以用於在條件有限的環境中透過乙太網路進行視訊分配,例如家庭多媒體網路等。
網際網路工程工作特別小組(IETF)的音訊/視訊傳送(AVT)工作小組定義了IP音訊和視訊即時傳輸的RTP。它最初由RFC文件RFC3350進行定義,被IETF網際網路工程領導小組(IESG)在2004年3月批准為完全標準。AVT工作小組也在負載格式、誤碼糾正以及安全方面開發了大量的支援標準。
MPEG/MPEG-2視訊的RTP負載格式
RTP是一種適合多種傳送應用的通用通訊協定。經過其他規範的擴展,它還可以用於更專業的應用。RFC2250定義了MPEG和MPEG-2視訊的RTP負載格式,詳細規定了MPEG-2傳送串流(TS)資料的封裝,並成為Practice #3(CoP3)Pro-MPEG碼和數字視訊廣播(DVB)-IP手冊的參考。
UDP/IP
RTP便是傳送通訊協定。它一般在主機至主機層採用用戶資料報通訊協定(UDP),在網際網路層採用IP。與傳輸控制通訊協定(TCP)不同,UDP不是連接導向,不採取措施對資料進行排序,不保證提供可靠的資料封包。這一特性使其比TCP更快更簡單,效率更高,因此,同RTP結合後,更適合寬頻視訊分配。
Practice #3 FEC的Pro-MPEG碼
資料不論是透過有線還是無線網路進行傳送,在雜訊、時鐘抖動以及網路鏈路飽和的影響下,都會出現劣化,表現為資料封包丟失或者視訊像素丟失。在這方面,壓縮視訊串流要比未經壓縮的視訊串流表現更明顯。
Pro-MPEG論壇是廣播公司、節目製作方、設備生產商以及元件供應商組成的協會,旨在根據廣播公司和最終用戶的要求來實現專業電視設備的互用性。Pro-MPEG廣域網路(WAN)工作小組重點研究怎樣在WAN上利用IP交換高品質節目內容的系統之間建立互用性。該工作小組制定了在IP網路上傳輸專業MPEG-2 TS資料的實用代碼,建議了傳輸通訊協定(例如RTP、UDP、IP映射等)和前向糾錯(FEC)方案,還討論了時序恢復、抖動寬容值和延時等問題。儘管可以選擇使用RTP來支援採用UDP/IP架構的既有標準,IP承載視訊參考設計需遵從傳輸通訊協定建議。
在IP網路環境中保證最低資料完整性的一個方法是採用負載預知處理技術。負載預知處理技術涉及到IP封裝、時序糾正以及應用層FEC。現場視訊傳輸不能使用資料封包重發機制。因此,利用FEC,接收器迅速重新建構丟失或者錯誤的資料,而不需要申請重新傳輸。纜線、衛星和地面數位視訊傳輸採用了各種類型的FEC方案。對於IP視訊網路,Pro-MPEG論壇建議了FEC演算法,它使用互斥或(XOR)方法來產生冗餘數據,進行誤碼糾正。該標準被稱為Pro-MPEG COP3第2版(CoP3r2)。FEC主要用於MPEG-2和H.264等壓縮視訊串流。
Pro-MPEG FEC是二維XOR演算法,有幾種可能性來確定資料矩陣的大小。FEC要求矩陣列數應至少有一列,但不超過20列,行數至少有四行,但不超過20行。而且,一個矩陣中的資料封包總數不能超過100個。為理解這一簡單的FEC概念,假設A和B是RTP資料封包,那麼,F=A⊕B是﹛A,B﹜保護集相關的FEC資料封包。F是RTP資料封包運算位元組XOR運算的結果。XOR運算符號的特點是如果F=A⊕B,那麼A=B⊕F,B=A⊕F。如果A或者B丟失,那麼可以利用F FEC資料封包來恢復A或者B。(圖一)所示為Pro-MPEG矩陣排列,得到的FEC承載資料以綠色表示。
解決方案
Altera IP承載視訊參考設計從幾個輸入中接收MPEG TS資料,對其進行封裝,在採用乙太網路架構的IP網路上進行傳輸。設計使用業界標準UDP/IP網路封裝,也可以選用RTP封裝和Pro-MPEG CoP3 FEC。設計支援100Mbps(全雙工)和1Gbps乙太網路連接,能夠處理256個獨立資料流程。透過硬體封裝,設計可以達到Gigabit乙太網路(GbE)線路速率,並且傳輸延遲很小。
設計還可以從乙太網路中接收256個獨立資料流程,恢復為TS資料。對於RTP封裝的資料,設計含有接收器緩衝區,來消除網路抖動,對資料封包重新排序和重複進行糾正。也可以使用可選的CoP3 FEC丟失資料封包恢復功能。
此外,還可以提供大部分關鍵建構模組,下載至FPGA系統設計中使用,也可以使用FPGA設計工具中的現有建構模組來進行設計。大部分設計工具含有FIFO、內部記憶體、外部記憶體控制器、計數器、鎖相迴路(PLL)以及其他簡單邏輯等模組。(圖二)是一個典型的多媒體家庭網路設計,它使用FPGA做為介面橋接,例如USB 2.0和FireWire,還支持今後的視頻介面通訊協定。利用Altera的IP承載視訊參考設計能夠將輸入視訊映射至IP網路。Cyclone系列等低成本FPGA可用於實現完整的設計,系統非常靈活,具有更新能力,可滿足今後的需求。
如(圖三)所示,以SOPC Builder系統為基礎,提供以下關鍵建構模組:
- ●RTP發射器;
- ●RTP接收器;
- ●UDP/IP功能;
- ●PHY介面;
- ●Nios II嵌入式處理器,用於設計控制;
- ●FEC產生器和接收器緩衝外部RAM的仲裁邏輯以及記憶體控制器。
結語
利用廣播業的現有技術,簡化了多媒體家庭網路的服務品質問題。採用Altera的低成本Cyclone系列FPGA,透過IP承載視訊參考設計,可以輕鬆實現這些技術。在新興的家庭多媒體網路市場上,存在著各種不同的標準,因此,可編程邏輯將扮演越來越重要的角色。
致謝
--作者為Altera廣播/汽車/消費性電子業務部資深技術行銷經理。
詳細資訊
[1]IP承載視訊參考設計:
www.altera.com/support/refdesigns/sys-sol/broadcast/ref-video.html
[2]AN 374:IP承載視訊參考設計:
www.altera.com/literature/an/an374.pdf.
[3]專業MPEG論壇的討論版:
www.pro-mpeg.org/forum