FPGA保證家庭網(wǎng)絡(luò)的服務(wù)質(zhì)量
引言
家庭網(wǎng)絡(luò)正在成為視頻、語音和數(shù)據(jù)快速傳送的“中央火車站”。視頻由標(biāo)準清晰提升至高清晰,因此需要越來越高的數(shù)據(jù)速率,這表明家庭網(wǎng)絡(luò)系統(tǒng)必須隨著新興視頻標(biāo)準的發(fā)展而發(fā)展。目前,多媒體家庭網(wǎng)絡(luò)技術(shù)采用了各種有線和無線網(wǎng)絡(luò)接口標(biāo)準,但是目前這些標(biāo)準還無法確保家庭內(nèi)部現(xiàn)場多媒體傳輸?shù)姆?wù)質(zhì)量(QoS)。
挑戰(zhàn)
首先面臨的挑戰(zhàn)是設(shè)計可靠的多媒體家庭網(wǎng)絡(luò)平臺,以足夠的QoS傳送互聯(lián)網(wǎng)協(xié)議(IP)包,并且沒有明顯的失真。另一挑戰(zhàn)是設(shè)計人員怎樣以較高的性價比實現(xiàn)這一切,使消費者能夠用得起。
專業(yè)廣播行業(yè)已經(jīng)采用了多項技術(shù)來解決第一個挑戰(zhàn)。在消費類低成本FPGA中采用這些技術(shù)后,設(shè)計人員也能夠解決第二個挑戰(zhàn)。
圖1 矩陣排列實例
* 實時傳送協(xié)議
實時傳送協(xié)議(RTP)主要用于在互聯(lián)網(wǎng)上傳輸和分配音頻以及視頻,例如視頻會議和視頻流等應(yīng)用。然而,該協(xié)議具有時間戳和數(shù)據(jù)包丟失或者重排探測等功能,因此,也可以用于在條件有限的環(huán)境中通過以太網(wǎng)進行視頻分配,例如家庭多媒體網(wǎng)絡(luò)等。
互聯(lián)網(wǎng)工程任務(wù)組(IETF)的音頻/視頻傳送(AVT)工作組定義了IP音頻和視頻實時傳輸?shù)腞TP。它最初由RFC文檔RFC3350進行定義,被IETF互聯(lián)網(wǎng)工程指導(dǎo)組(IESG)在2004年3月批準為全標(biāo)準。AVT工作組也在負載格式、誤碼糾正以及安全方面開發(fā)了大量的支持標(biāo)準。
* MPEG/MPEG-2視頻的RTP負載格式
RTP是一種適合多種傳送應(yīng)用的通用協(xié)議。經(jīng)過其他規(guī)范的擴展,它還可以用于更專業(yè)的應(yīng)用。RFC2250定義了MPEG和MPEG-2視頻的RTP負載格式,詳細規(guī)定了MPEG-2傳送流(TS)數(shù)據(jù)的封包,并成為Practice #3 (CoP3) Pro-MPEG碼和數(shù)字視頻廣播(DVB)-IP手冊的參考。
* UDP/IP
RTP是傳送協(xié)議。它一般在主機至主機層采用用戶數(shù)據(jù)報協(xié)議(UDP,由IETF RFC768定義),互聯(lián)網(wǎng)層采用IP(由IETF RFC791定義)。與傳輸控制協(xié)議(TCP)不同,UDP不面向連接,不采取措施對數(shù)據(jù)進行排序,不保證可靠的數(shù)據(jù)包交付。這一特性使其比TCP更快更簡單,效率更高,因此,同RTP結(jié)合后,更適合寬帶視頻分配。
* Practice #3 FEC的Pro-MPEG碼
數(shù)據(jù)不論是通過有線還是無線網(wǎng)絡(luò)進行傳送,在噪聲、時鐘抖動以及網(wǎng)絡(luò)鏈路飽和的影響下,都會出現(xiàn)劣化,表現(xiàn)為數(shù)據(jù)包丟失或者視頻像素丟失。在這方面,壓縮視頻流要比未經(jīng)壓縮的視頻流表現(xiàn)更明顯。
Pro-MPEG論壇是廣播公司、節(jié)目制作方、設(shè)備生產(chǎn)商以及元件供應(yīng)商組成的協(xié)會,旨在根據(jù)廣播公司和最終用戶的要求來實現(xiàn)專業(yè)電視設(shè)備的互用性。Pro-MPEG廣域網(wǎng)(WAN)工作組重點研究怎樣在WAN上利用IP交換高質(zhì)量節(jié)目內(nèi)容的系統(tǒng)之間建立互用性。該工作組制定了在IP網(wǎng)絡(luò)上傳輸專業(yè)MPEG-2 TS數(shù)據(jù)的實用碼,建議了傳輸協(xié)議(例如,RTP/UDP/IP映射)和前向糾錯(FEC)方案,還討論了時序恢復(fù)、抖動容限和延時等問題。盡管可以選擇使用RTP來支持基于UDP/IP的已有標(biāo)準,IP承載視頻參考設(shè)計遵從傳輸協(xié)議建議。
在IP網(wǎng)絡(luò)環(huán)境中保證最低數(shù)據(jù)完整性的一個方法是采用負載預(yù)知處理技術(shù)。負載預(yù)知處理技術(shù)涉及到IP封裝、時序糾正以及應(yīng)用層FEC?,F(xiàn)場視頻傳輸不能使用數(shù)據(jù)包重發(fā)機制。因此,利用FEC,接收器迅速重新構(gòu)建丟失或者錯誤的數(shù)據(jù),而不需要申請重新傳輸。電纜、衛(wèi)星和地面數(shù)字視頻傳輸采用了各種類型的FEC方案。對于IP視頻網(wǎng)絡(luò),Pro-MPEG論壇建議了FEC算法,它使用異或(XOR)方法來產(chǎn)生冗余數(shù)據(jù),進行誤碼糾正。該標(biāo)準被稱為Pro-MPEG COP3第2版(CoP3r2)。FEC主要用于MPEG-2和H.264等壓縮視頻流。
圖2 典型的多媒體家庭網(wǎng)絡(luò)
Pro-MPEG FEC是二維XOR算法,有幾種可能性來確定數(shù)據(jù)矩陣的大小。FEC要求矩陣列數(shù)應(yīng)至少有一列,但不超過20列,行數(shù)至少有四行,但不超過20行。而且,一個矩陣中的數(shù)據(jù)包總數(shù)不能超過100個。為理解這一簡單的FEC概念,假設(shè)A和B是RTP數(shù)據(jù)包,那么,F(xiàn)=AB是和{A, B}保護集相關(guān)的FEC數(shù)據(jù)包。F是RTP數(shù)據(jù)包逐字節(jié)XOR運算的結(jié)果。XOR運算符的特點是如果F=AB,那么A=BF,B=AF。如果A或者B丟失,那么可以利用F FEC數(shù)據(jù)包來恢復(fù)A或者B。圖1所示為Pro-MPEG矩陣排列,得到的FEC開銷數(shù)據(jù)以綠色表示。
解決方案
Altera IP承載視頻參考設(shè)計從幾個輸入中接收MPEG TS數(shù)據(jù),對其進行封裝,在基于以太網(wǎng)的IP網(wǎng)絡(luò)上進行傳輸。設(shè)計使用業(yè)界標(biāo)準UDP/IP網(wǎng)絡(luò)封裝,也可以選用RTP封裝和Pro-MPEG CoP3 FEC。設(shè)計支持100Mbps (全雙工)和1Gbps以太網(wǎng)連接,能夠處理256個獨立數(shù)據(jù)流。通過硬件封裝,設(shè)計可以達到千兆以太網(wǎng)(GbE)線路速率,并且傳輸延遲很小。
設(shè)計還可以從以太網(wǎng)中接收256個獨立數(shù)據(jù)流,恢復(fù)為TS數(shù)據(jù)。對于RTP封裝的數(shù)據(jù),設(shè)計含有接收器緩沖,來消除網(wǎng)絡(luò)抖動,對數(shù)據(jù)包重新排序和重復(fù)進行糾正。也可以使用可選的CoP3 FEC丟失數(shù)據(jù)包恢復(fù)功能。
可以提供大部分關(guān)鍵構(gòu)建模塊,下載至FPGA系統(tǒng)設(shè)計中使用。也可以使用FPGA設(shè)計工具中的現(xiàn)有構(gòu)建模塊來進行設(shè)計。大部分設(shè)計工具含有FIFO、內(nèi)部存儲器、外部存儲控制器、計數(shù)器、鎖相環(huán)(PLL)以及其他簡單邏輯等模塊。圖2是一個典型的多媒體家庭網(wǎng)絡(luò)設(shè)計,它使用FPGA作為接口橋接,例如USB 2.0和FireWire,還支持今后的視頻接口協(xié)議。利用Altera的IP承載視頻參考設(shè)計能夠?qū)⑤斎胍曨l映射至IP網(wǎng)絡(luò)。Cyclone系列等低成本FPGA可用于實現(xiàn)完整的設(shè)計,系統(tǒng)非常靈活,具有更新能力,可滿足今后的需求。
IP承載視頻參考設(shè)計(圖3所示)基于SOPC Builder系統(tǒng),提供以下關(guān)鍵構(gòu)建模塊:
* RTP發(fā)射器
* RTP接收器
* UDP/IP功能
* PHY接口
* Nios II嵌入式處理器,用于設(shè)計控制
* FEC生成器和接收器緩沖外部RAM的仲裁邏輯以及存儲控制器
圖3 IP承載視頻參考設(shè)計
結(jié)語
利用廣播業(yè)的現(xiàn)有技術(shù),簡化了多媒體家庭網(wǎng)絡(luò)的服務(wù)質(zhì)量問題。采用Altera的低成本Cyclone系列FPGA,通過IP承載視頻參考設(shè)計,可以輕松實現(xiàn)這些技術(shù)。在新興的家庭多媒體網(wǎng)絡(luò)市場上,存在著各種不同的標(biāo)準,因此,可編程邏輯將扮演越來越重要的角色。
評論