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