提 要:本文介紹DVB中有關(guān)數(shù)據(jù)廣播的標(biāo)準(zhǔn),討論了如何通過IP OVER DVB 的方式將豐富的互聯(lián)網(wǎng)資源通過DVB-C信道廣播到用戶家中,并對多協(xié)議封裝MPE的實現(xiàn)方式進行了討論和研究。 關(guān)鍵詞:DVB-C DATA BROADCASTING(數(shù)據(jù)廣播) IP OVER DVB MPE(多協(xié)議封裝)
1 數(shù)據(jù)廣播簡介 廣播電視節(jié)目的數(shù)字化以及壓縮技術(shù)、傳輸技術(shù)的發(fā)展使得現(xiàn)有的有線電視網(wǎng)絡(luò)在傳送原有的模擬節(jié)目之外,還有較大的余力傳送數(shù)據(jù)業(yè)務(wù),這就為基于有線網(wǎng)絡(luò)的數(shù)據(jù)廣播的發(fā)展提供了空間。數(shù)據(jù)廣播是一種能夠以很高的速度將文本、圖形、視頻、音頻、數(shù)據(jù)等傳輸?shù)街T如PC、機頂盒等智能設(shè)備的一項技術(shù)。數(shù)據(jù)廣播服務(wù)商可以從因特網(wǎng)或其他途徑獲取大量的信息,通過數(shù)字廣播信道,將豐富的多媒體信息送到用戶家中,通過鏡像存儲,由用戶按照需求取用。這種數(shù)據(jù)傳播方式不僅信源豐富,傳播廣泛,而且還避免了信道擁堵,不能保存等短處,繼廣播電視和互聯(lián)網(wǎng)之后稱為第五媒體。 現(xiàn)在利用HFC網(wǎng)絡(luò)開展數(shù)據(jù)業(yè)務(wù)一般有兩種解決方案。一種是通過Cable Modem接入實現(xiàn)雙向業(yè)務(wù)。另一種是通過數(shù)據(jù)廣播提供單向業(yè)務(wù),當(dāng)然也可以利用其他回傳信道(例如電話線等)實現(xiàn)準(zhǔn)雙向的接入。目前我國大多數(shù)有線網(wǎng)是單向的,如果采用Cable Modem接入則需要對有線網(wǎng)進行雙向改造。而采用數(shù)據(jù)廣播的方式則可以直接利用現(xiàn)有的HFC網(wǎng)絡(luò),有較大的可行性。 MPEG-2是的對運動圖像及其伴音進行壓縮的通用標(biāo)準(zhǔn),在此基礎(chǔ)上美國和歐洲都提出了自己的數(shù)字電視的標(biāo)準(zhǔn),即ATSC和DVB。在ATSC和DVB中都有各自的關(guān)于數(shù)據(jù)廣播的標(biāo)準(zhǔn)。由于DVB具有價格低廉、節(jié)約頻率資源等優(yōu)點,在我國受到了廣泛的應(yīng)用。 DVB主要有三種傳輸標(biāo)準(zhǔn)——DVB-S,DVB-T,DVB-C。在這里我們主要介紹基于DVB-C的數(shù)據(jù)廣播。 2 DVB數(shù)據(jù)廣播標(biāo)準(zhǔn) 圖1給出了DVB數(shù)據(jù)廣播規(guī)范的協(xié)議結(jié)構(gòu): 數(shù)據(jù)的傳輸是基于MPEG-2 TS流的,針對不同的應(yīng)用類型,DVB定義了以下六種方式: 數(shù)據(jù)管道 數(shù)據(jù)流 多協(xié)議封裝 數(shù)據(jù)傳送帶 對象傳送帶 用戶自定義的服務(wù)
圖1 DVB數(shù)據(jù)廣播協(xié)議結(jié)構(gòu)
如圖1所示,數(shù)據(jù)廣播標(biāo)準(zhǔn)針對不同的應(yīng)用類型規(guī)定了不同的服務(wù)級別。數(shù)據(jù)管道標(biāo)準(zhǔn)對如何從MPEG-2 TS流中恢復(fù)數(shù)據(jù)并沒有給出具體的細(xì)節(jié),它只是簡要描述了如何將數(shù)據(jù)放入MPEG-2 TS流的分組中去。數(shù)據(jù)流標(biāo)準(zhǔn)增加了更多的功能,特別是定時。這使得進行異步的數(shù)據(jù)廣播、被同步的數(shù)據(jù)廣播以及同步的數(shù)據(jù)廣播變得可能。多協(xié)議封裝、數(shù)據(jù)傳送帶、對象傳送帶標(biāo)準(zhǔn)都是建立在使用MPEG-2的DSM-CC幀結(jié)構(gòu)的基礎(chǔ)上。它是基于MPEG-2 ISO/IEC 13818-1中定義的MPEG-2中的私有部分。DVB增加的一些特定的信息以使該幀結(jié)構(gòu)在DVB環(huán)境中工作,特別是同業(yè)務(wù)信息(SI)的結(jié)合。 下面我們將簡要介紹這幾種數(shù)據(jù)廣播的方式: (1)數(shù)據(jù)管道 數(shù)據(jù)廣播規(guī)范中規(guī)定數(shù)據(jù)管道方式支持在DVB兼容的廣播網(wǎng)絡(luò)中傳送簡單的、異步的、端到端的數(shù)據(jù)。數(shù)據(jù)管道規(guī)定直接將需要廣播的數(shù)據(jù)插入MPEG2-TS流的凈荷中。 數(shù)據(jù)管道沒有規(guī)定數(shù)據(jù)報分割和重組的方式。如果需要可以在應(yīng)用部分規(guī)定,例如payload_unit_start_indicator可用于標(biāo)志數(shù)據(jù)報的開始,而transport_priority可用于標(biāo)志數(shù)據(jù)報結(jié)束,同時continuity_counter字段應(yīng)符合MPEG-2標(biāo)準(zhǔn)。 (2)數(shù)據(jù)流 數(shù)據(jù)廣播規(guī)范中規(guī)定數(shù)據(jù)流方式支持在DVB兼容的廣播網(wǎng)絡(luò)中傳送面向流的、端到端的、異步的或同步的數(shù)據(jù)。需要廣播的數(shù)據(jù)插入MPEG2中的PES分組中。對于異步數(shù)據(jù)流,如RS-232數(shù)據(jù),沒有任何定時的要求。同步數(shù)據(jù)流和被同步的數(shù)據(jù)流均是要求定時的數(shù)據(jù)流。同步數(shù)據(jù)流在接收端可以恢復(fù)其時鐘和數(shù)據(jù),如E1,T1;被同步的數(shù)據(jù)流可以實現(xiàn)與其他數(shù)據(jù)流的同步回放,如視頻流、音頻流。 (3)多協(xié)議封裝 多協(xié)議封裝方式支持使用通信協(xié)議傳輸數(shù)據(jù)報的數(shù)據(jù)廣播業(yè)務(wù)。傳輸?shù)臄?shù)據(jù)報要按照DSM-CC方式封裝。 多協(xié)議封裝提供了在MPEG-2 TS流之上傳送使用其他通信協(xié)議數(shù)據(jù)的一種機制。對傳送IP協(xié)議的數(shù)據(jù)做了優(yōu)化,但是也可以通過LLC/SNAP(Logical Link Control/Sub-Network Attachment Point邏輯鏈路控制層/子網(wǎng)附著點)封裝方式傳送使用其他協(xié)議的數(shù)據(jù)。它包括單播、組播以及廣播方式。48bit的MAC地址用作接收機的地址。但是DVB并未規(guī)定如何將MAC地址分配給接收機。由于DVB網(wǎng)絡(luò)的廣播性質(zhì),數(shù)據(jù)的安全是十分重要的。封裝協(xié)議支持對數(shù)據(jù)包的加密以及動態(tài)變換MAC地址以確保傳送數(shù)據(jù)的安全。 (4)數(shù)據(jù)傳送帶 數(shù)據(jù)傳送帶方式支持周期性的傳輸數(shù)據(jù)模塊的數(shù)據(jù)廣播業(yè)務(wù)。數(shù)據(jù)模塊的長度已知并且可以從數(shù)據(jù)傳送帶中及時的更新、添加或者刪除內(nèi)容。模塊可以分割為一組更小的模塊,也可將多個模塊組成一個超級模塊。在接收端,如果想要獲得特定模塊中的內(nèi)容,僅僅只需要等待該模塊再次被廣播。
圖2 數(shù)據(jù)傳送帶實例 數(shù)據(jù)被裝入稱作模塊的結(jié)構(gòu)中。這些數(shù)據(jù)可能僅僅只是一系列文件的內(nèi)容,如圖2中的“文件1”,“文件2”,“文件3”。每個模塊被分為一個或者多個按照DSM-CC Download Data Block語法定義的download data message凈荷。圖2中,每個下載信息僅被插入一次,且同一模塊的多個下載數(shù)據(jù)塊是按照順序依次插入數(shù)據(jù)傳送帶的循環(huán)中的。但是并沒有限制一個特定的信息是如何插入的,對插入的先后順序以及插入的位置也未作規(guī)定。因此可以按照某一應(yīng)用的最佳方式創(chuàng)建數(shù)據(jù)傳送帶,插入的次數(shù)和順序也不是固定的,可以動態(tài)的變化。 數(shù)據(jù)要按照MPEG-2 DSM-CC中定義的DSM-CC數(shù)據(jù)傳送帶的方式進行傳送。 (5)對象傳送帶 對象傳送帶方式支持需要周期性廣播DSM-CC用戶到用戶數(shù)據(jù)對象的數(shù)據(jù)廣播業(yè)務(wù)。DSM-CC對象傳送帶使用目錄對象、文件對象和流對象。對象傳送帶方式將一組結(jié)構(gòu)化的對象進行廣播。實際的目錄和內(nèi)容都存放在服務(wù)器中。服務(wù)器只需要周期性的將需要廣播的對象放入DVB兼容的MPEG-2 TS流中即可。 發(fā)送的目錄對象和文件對象包含對象的內(nèi)容,發(fā)送的流對象參考廣播中的其他流對象。流對象中也可以包含在特定流中廣播的DSM-CC事件的信息。DSM-CC事件可以廣播規(guī)范的流數(shù)據(jù)也可以用于DSM-CC的申請觸發(fā)。 多個客戶端可以通過周期的讀取傳送的循環(huán)數(shù)據(jù)恢復(fù)對象實現(xiàn),從而在客戶端模擬服務(wù)器端。循環(huán)對象提供客戶端獲取應(yīng)用及這些應(yīng)用內(nèi)容的方式,從而好像與服務(wù)器端有交互式的連接。 3 IP OVER DVB 3.1 系統(tǒng)結(jié)構(gòu) IP OVER DVB系統(tǒng)融合了DVB和IP兩種技術(shù)的優(yōu)勢,其系統(tǒng)結(jié)構(gòu)如圖3所示:
圖3 IP OVER DVB-C 系統(tǒng)結(jié)構(gòu) 前端各種信源服務(wù)器與DVB網(wǎng)關(guān)通過局域網(wǎng)的方式(例如以太網(wǎng))相連,DVB網(wǎng)關(guān)的源可以是磁盤中的文件,也可以是動態(tài)的IP數(shù)據(jù)包和動態(tài)的證券信息。DVB網(wǎng)關(guān)的基本流程是偵聽網(wǎng)上的IP數(shù)據(jù)報,根據(jù)設(shè)置濾出需要發(fā)送到用戶端的IP數(shù)據(jù)包;按照DVB的標(biāo)準(zhǔn)將IP數(shù)據(jù)包封裝成MPEG-2傳輸流,接著通過復(fù)用器同其他TS流(包括從編碼器或者衛(wèi)星轉(zhuǎn)發(fā)器等得到的TS流)進行復(fù)用。再將復(fù)用后的TS流調(diào)制到某個模擬頻道并同其他模擬節(jié)目混合在一起通過有線網(wǎng)絡(luò)進行傳輸。 在接收端,用戶通過安裝在個人電腦上的DVB數(shù)據(jù)接收卡將從有線電視網(wǎng)中傳來的符合DVB-C標(biāo)準(zhǔn)的有線電視信號并進行解調(diào)、糾錯、解擾、解復(fù)用等處理,最后將數(shù)據(jù)存儲到PC上。用戶可以根據(jù)自己的需要定制不同的節(jié)目,讓DVB數(shù)據(jù)接收卡有選擇的進行接收。 在系統(tǒng)中,還可以加入CA模塊,實現(xiàn)有條件接收。傳統(tǒng)的模擬的電視節(jié)目采用的是廣播的方式,只要用戶端有接收設(shè)備就可以收看,對用戶的管理和收費都比較困難。而數(shù)據(jù)廣播系統(tǒng)中加入了用戶管理系統(tǒng)和CA,在前端就可以方便的實現(xiàn)對接收端的控制,而且還擁有分級控制的能力,讓普通的用戶只能看到一般的節(jié)目,只有付費用戶才能收到相應(yīng)的信息。這種方式滿足了用戶個性化的需求,也為提供增值服務(wù)提供了必要的條件。 3.2在MPEG-2 TS流上傳送IP數(shù)據(jù)業(yè)務(wù) MPEG-2標(biāo)準(zhǔn)的系統(tǒng)部分描述了如何將視頻、音頻和數(shù)據(jù)流復(fù)用成一個或者多個適用于存儲或傳輸?shù)牧鳌F渲?,傳輸流作為一種流,是專門針對在那些可能會出現(xiàn)顯著錯誤的環(huán)境進行節(jié)目存儲和傳輸而定義的。
傳輸流的包長為固定的188個字節(jié),包含TS頭、適配域和凈荷數(shù)據(jù)。TS頭是由同步字節(jié)、標(biāo)志比特、指示比特、PID加上其他諸如糾錯的定時的信息組成的。其中PID用于區(qū)別不同的流和不同的節(jié)目特定信息(PSI)。一共有五種不同的PSI:節(jié)目關(guān)聯(lián)表(PAT),節(jié)目映射表(PMT),網(wǎng)絡(luò)信息表(NIT),條件接收表(CAT),數(shù)字存儲媒體命令與控制(DSM-CC)。 DVB規(guī)范中有三種基本的方法將IP數(shù)據(jù)插入MPEG-2的TS流中。圖5說明IP數(shù)據(jù)的幾種可能的接入方式。 (1)數(shù)據(jù)經(jīng)過封裝后在PES中傳輸,這種方式稱為數(shù)據(jù)流。 (2)數(shù)據(jù)可以在DSM-CC中定義的段中傳輸,稱為多協(xié)議封裝(MPE)。 (3)可以使用一個自適應(yīng)層協(xié)議將數(shù)據(jù)直接插入TS流中。這種方式稱為數(shù)據(jù)管道。 MPEG-2為第一種和第二種方式提供了具體的實現(xiàn)方法,分割是自動實現(xiàn)的。而使用第三種方式則需要一個單獨的層來實現(xiàn)分割與重組的機制。這是因為一個TS信元攜帶的凈荷為184個字節(jié)。當(dāng)需要傳輸更長的數(shù)據(jù)報時,就必需有一個自適應(yīng)層的協(xié)議來實現(xiàn)數(shù)據(jù)報的重組和封裝。 在接收端,接收機要對收到的信元進行識別,以確定數(shù)據(jù)究竟是按照哪一種方式進行傳輸?shù)?,然后才能送入相?yīng)的模塊進行處理。通過讀取PID值可以完成識別的工作,PID位于PSI表的特定的PMT中。
圖5 PSI結(jié)構(gòu)和TS流的關(guān)系實例圖
3.3 多協(xié)議封裝MPE (Multiprotocol Encapsulation) 由于MPE方式專門為攜帶IP數(shù)據(jù)報進行了優(yōu)化,因此我們將對它作詳細(xì)的介紹。Multiprotocol encapsulation 多協(xié)議封裝方式包含了一整套IP協(xié)議數(shù)據(jù)封裝的解決方案,包括數(shù)據(jù)鏈路層的糾錯校驗以及TS包封裝時的優(yōu)化實現(xiàn)。MPE方式使用私有段傳送IP數(shù)據(jù)報,并專門根據(jù)IEEE LAN/MAN標(biāo)準(zhǔn)制定了封裝的方法。數(shù)據(jù)包被封裝在datagram_section中,并與DSM-CC的私有數(shù)據(jù)的段格式兼容。datagram_section()結(jié)構(gòu)可以有效地被映射到TS包的負(fù)載中進行傳送。這種封裝使用了MAC級的設(shè)備地址。地址格式遵循ISO/IEEE的LAN/MAN標(biāo)準(zhǔn)。圖6明確直觀地表示出IP數(shù)據(jù)包是如何被封裝入DVB MPE datagram_section()中,之后再被分割,加上MPEG傳輸包頭信息最終形成188字節(jié)的MPEG傳輸包的整個流程。
圖6 IP數(shù)據(jù)進行DVB多協(xié)議封裝的流程圖 通過圖6我們可以看出,IP數(shù)據(jù)多協(xié)議封裝的整個過程大致分為下面幾個步驟: (1)對IP數(shù)據(jù)包進行分割 由于受用戶端機頂盒硬件資源的限制,網(wǎng)絡(luò)的最大傳輸單元MTU為1K字節(jié)。因此,datagram_section() 中的有效負(fù)載長度最大只能為1008字節(jié)。IP數(shù)據(jù)包大小可以達到65,536字節(jié)。要在datagram_section()中來傳送IP數(shù)據(jù)包,必須將IP數(shù)據(jù)包分割成為不大于1008字節(jié)的片段再送到數(shù)據(jù)鏈路層。在數(shù)據(jù)鏈路層IP數(shù)據(jù)包片斷被封裝成為DVB多協(xié)議封裝datagram_section()。同樣的,當(dāng)DVB MPE datagram_section()傳送到接收端,解封裝后的IP數(shù)據(jù)包片斷將被重組形成一個完整的IP數(shù)據(jù)包。 (2)對分割好的IP數(shù)據(jù)包進行多協(xié)議封裝 將分割好的IP數(shù)據(jù)包封裝入DVB 多協(xié)議封裝的datagram_section()中去,就要按照DVB標(biāo)準(zhǔn)規(guī)定的datagram_section()語法格式進行填充。datagram_section()的語法格式可以參照DVB標(biāo)準(zhǔn)相關(guān)部分,在這里不多作介紹。 (3)對封裝后的DVB MPE datagram_section()進行分割 由于最終要將DVB MPE datagram_section() 封裝到MPEG-2 TS 包中傳輸,而MPEG-2 TS 包的大小是固定188個字節(jié)的,所以要對DVB MPE datagram_section() 進行碎片化。MPEG-2 TS包的包頭固定4個字節(jié),所以DVB MPE datagram_section() 的碎片最大為184個字節(jié)。當(dāng)DVB MPE datagram_section() 的最后一個碎片的長度不足184字節(jié)時,按照TS包的定義,將在后面加入填充比特使其負(fù)載達到184字節(jié),但這樣的同時就造成資源浪費。因此,我們利用剩余的空間裝下一個DVB MPE datagram_section()。當(dāng)MPEG-2 TS包中存在新的DVB MPE datagram_section() 時,需要重新定義TS頭中的PUSI字段,并且加入一個NMP(Next Message Pointer)字段(1字節(jié)),用于指出下一個信息包在當(dāng)前TS包中的開始位置。圖7給出了具體的示例。
圖7 NMP的作用 圖7 PUSI=1表明有NMP存在;PUSI=0表明沒有NMP存在。也就是當(dāng)前TS包中如果有新的DVB MPE datagram_section(),則PUSI為1。但若DVB MPE datagram_section() 的起始是緊跟NMP的,則NMP=0。在插入NMP(Next Message Pointer)的TS包中,TS 包有效載荷為183個字節(jié),碎片的大小也就要相應(yīng)的置為183字節(jié)。 (4)分割好的DVB MPE datagram_section()映射到TS包的負(fù)載中 按照MPEG-2標(biāo)準(zhǔn)規(guī)定的格式進行填充。包括:獲取該數(shù)據(jù)流的PID;continuity_counter值的遞增;對于有DVB MPE datagram_section()在當(dāng)前的MPEG-2 TS包中開始的,要設(shè)置PUSI域為‘1’,插入NMP字節(jié),并對NMP字節(jié)進行合適的填充使其指向新的DVB MPE datagram_section()的開始字節(jié)。最后將已經(jīng)碎片化的DVB MPE datagram_section()裝入MPEG-2 TS包的有效載荷中。 (5)填充PSI和SI信息 節(jié)目專用信息PSI是在接收端用于MPEG-2對節(jié)目進行解碼所需設(shè)置參數(shù)的信息,它包括有關(guān)視頻、音頻、數(shù)據(jù)的PID的規(guī)定,以及有關(guān)節(jié)目PID之間的關(guān)系(MPEG-2的PID總數(shù)為8191個)。MPEG-2規(guī)定了PSI信息有4個;節(jié)目相關(guān)表PAT(PAT表包的PID始終為0),節(jié)目映射表PMT,條件接收表CAT(CAT表包的PID值為1),網(wǎng)絡(luò)信息表NIT。有著特定PID值的MPEG傳輸包組成了一個PID流,它將與視頻流、音頻流和其它數(shù)據(jù)PID流進行復(fù)用最終形成MPEG業(yè)務(wù)流。MPEG業(yè)務(wù)流將包含一個PMT PID流,這個PMT PID流包含了PMT。PMT用于識別組成MPEG業(yè)務(wù)的各種視頻、音頻、數(shù)據(jù)成分的PID值。通過多播MAC地址的映射,在PMT中將引入一個新的PMT描述符來識別每個數(shù)據(jù)PID流所裝載的數(shù)據(jù)。多種業(yè)務(wù)流,連同一個包含PAT的PID為0的PID流,將被復(fù)用在一起形成MPEG TS流。PMT 中stream_type值為0x0D 的傳送IP數(shù)據(jù)的MPEG服務(wù)流可以在PMT內(nèi)包含一個專用的描述字符。這個描述字符幫助接收端解碼器判斷某個PID流包是否包含接收機感興趣的IP數(shù)據(jù)。MAC地址的數(shù)量被限制在150個以內(nèi)。這一數(shù)字對于一般PMT描述字符來說已經(jīng)足夠了(如語言,有條件接收等)。如果在特定PID流中包含著多于150個的MAC地址,或是有多個數(shù)據(jù)PID流,每個裝載多個不同的IP數(shù)據(jù)包流,則可以定義一個MAC地址范圍。通過這個MAC地址描述字符就可以快速、高效的解碼,判斷某一數(shù)據(jù)PID流是否裝載所需要的IP數(shù)據(jù),而不用將其解碼為DVB MPE包后再進行軟件的MAC過濾。利用硬件快速MAC過濾,比使用軟件過濾簡便,而且效率高。MAC地址描述字符可參看DVB標(biāo)準(zhǔn)有關(guān)部分。 僅有MPEG-2的PSI信息,接收解碼器并不能自動接收某一業(yè)務(wù)并提供相應(yīng)的節(jié)目信息。因此在標(biāo)準(zhǔn)中還提供了額外的服務(wù)信息(Service Information:SI)作為PSI的補充,SI信息主要提供接收解碼的設(shè)置信息,如節(jié)目的種類、節(jié)目的時間,節(jié)目的來源等。數(shù)據(jù)廣播業(yè)務(wù)應(yīng)該在SI信息中包含一個或多個數(shù)據(jù)廣播描述字符data_broadcast_descriptor(見 EN 300 468 [2])。數(shù)據(jù)廣播描述符語法結(jié)構(gòu)可參看有關(guān)標(biāo)準(zhǔn)。 4 我國數(shù)據(jù)廣播的現(xiàn)狀和展望 當(dāng)前在我國,廣播電視傳輸覆蓋網(wǎng)絡(luò)已有相當(dāng)大的規(guī)模,擁有很大的發(fā)展?jié)摿?。國家廣播電視光纜傳輸干線網(wǎng)幾乎覆蓋全國,這為我國數(shù)據(jù)廣播的發(fā)展帶來極好的機遇,使得在廣播電視寬帶傳輸網(wǎng)絡(luò)上建立中國數(shù)據(jù)廣播平臺,開展多媒體數(shù)據(jù)廣播信息服務(wù)業(yè)務(wù)成為可能。我國有線電視正在從模擬到數(shù)字,從窄帶到寬帶,從單向到雙向產(chǎn)生質(zhì)的飛躍。由于有線電視網(wǎng)絡(luò)頻帶寬,用戶數(shù)量大,數(shù)據(jù)廣播市場的潛力極為巨大。多年來,國內(nèi)許多廠家投入巨大的人力、物力,致力于基于DVB-C 的數(shù)據(jù)廣播技術(shù)的開發(fā),已經(jīng)取得十分可喜的成績,許多廠家相繼開發(fā)出多種實用的數(shù)據(jù)廣播系統(tǒng),分別在不同的地方有線電視網(wǎng)絡(luò)上獲得應(yīng)用。
|