提 要:本文介紹DVB中有關(guān)數據廣播的標準,討論了如何通過(guò)IP OVER DVB 的方式將豐富的互聯(lián)網(wǎng)資源通過(guò)DVB-C信道廣播到用戶(hù)家中,并對多協(xié)議封裝MPE的實(shí)現方式進(jìn)行了討論和研究。
關(guān)鍵詞:DVB-C DATA BROADCASTING(數據廣播) IP OVER DVB MPE(多協(xié)議封裝)
1 數據廣播簡(jiǎn)介
廣播電視節目的數字化以及壓縮技術(shù)、傳輸技術(shù)的發(fā)展使得現有的有線(xiàn)電視網(wǎng)絡(luò )在傳送原有的模擬節目之外,還有較大的余力傳送數據業(yè)務(wù),這就為基于有線(xiàn)網(wǎng)絡(luò )的數據廣播的發(fā)展提供了空間。數據廣播是一種能夠以很高的速度將文本、圖形、視頻、音頻、數據等傳輸到諸如PC、機頂盒等智能設備的一項技術(shù)。數據廣播服務(wù)商可以從因特網(wǎng)或其他途徑獲取大量的信息,通過(guò)數字廣播信道,將豐富的多媒體信息送到用戶(hù)家中,通過(guò)鏡像存儲,由用戶(hù)按照需求取用。這種數據傳播方式不僅信源豐富,傳播廣泛,而且還避免了信道擁堵,不能保存等短處,繼廣播電視和互聯(lián)網(wǎng)之后稱(chēng)為第五媒體。
現在利用HFC網(wǎng)絡(luò )開(kāi)展數據業(yè)務(wù)一般有兩種解決方案。一種是通過(guò)Cable Modem接入實(shí)現雙向業(yè)務(wù)。另一種是通過(guò)數據廣播提供單向業(yè)務(wù),當然也可以利用其他回傳信道(例如電話(huà)線(xiàn)等)實(shí)現準雙向的接入。目前我國大多數有線(xiàn)網(wǎng)是單向的,如果采用Cable Modem接入則需要對有線(xiàn)網(wǎng)進(jìn)行雙向改造。而采用數據廣播的方式則可以直接利用現有的HFC網(wǎng)絡(luò ),有較大的可行性。
MPEG-2是的對運動(dòng)圖像及其伴音進(jìn)行壓縮的通用標準,在此基礎上美國和歐洲都提出了自己的數字電視的標準,即ATSC和DVB。在A(yíng)TSC和DVB中都有各自的關(guān)于數據廣播的標準。由于DVB具有價(jià)格低廉、節約頻率資源等優(yōu)點(diǎn),在我國受到了廣泛的應用。 DVB主要有三種傳輸標準——DVB-S,DVB-T,DVB-C。在這里我們主要介紹基于DVB-C的數據廣播。
2 DVB數據廣播標準
圖1給出了DVB數據廣播規范的協(xié)議結構:
數據的傳輸是基于MPEG-2 TS流的,針對不同的應用類(lèi)型,DVB定義了以下六種方式:
數據管道
數據流
多協(xié)議封裝
數據傳送帶
對象傳送帶
用戶(hù)自定義的服務(wù)

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