孫 力
[摘要]數(shù)字視頻廣播(DVB)是一種重要的數(shù)字電視系統(tǒng)業(yè)務(wù),在以后的信息社會(huì)中數(shù)字廣播技術(shù)將占據(jù)重要的位置。對DVB數(shù)據(jù)廣播的具體協(xié)議實(shí)現(xiàn)進(jìn)行研究。
[關(guān)鍵詞]數(shù)字視頻廣播 協(xié)議 實(shí)現(xiàn)
中圖分類號(hào):TN93文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0520094-01
大多數(shù)通訊協(xié)議都是基于雙向的點(diǎn)對點(diǎn)(point to point)通訊。雖然它們通過交互式的認(rèn)證過程確保了傳輸?shù)目煽啃?,但是它們不適合用來同時(shí)將同樣的信息傳輸給大量的觀眾。如果我們將這些數(shù)據(jù)通過一條帶寬受控的信道以廣播的方式發(fā)送出去,并且使得只有被授權(quán)的用戶才能夠接收到,就可使得所有的數(shù)據(jù)只發(fā)送一次,而且可以控制接收者卻不限制接收的人數(shù),這將省去為每個(gè)接收者建立專門的連接,無論在效率上還是經(jīng)濟(jì)效益上都是極明顯的。所以說,數(shù)據(jù)廣播是數(shù)據(jù)通訊的一種方式(協(xié)議)而不是一種物理意義上的傳送。其傳送的媒體可以是多種,包括衛(wèi)星、有線等等。鑒于數(shù)據(jù)廣播的重要性,歐洲的DVB、美國的ATSC以及日本的ISDB(綜合業(yè)務(wù)數(shù)字廣播)在這一領(lǐng)域展開了激烈的爭奪。其中DVB標(biāo)準(zhǔn)在1999年6月正式成為歐洲標(biāo)準(zhǔn)時(shí)交互業(yè)務(wù)標(biāo)準(zhǔn)就是歐洲電信的標(biāo)準(zhǔn)(ETS)。下面談?wù)凞VB數(shù)據(jù)廣播的具體協(xié)議實(shí)現(xiàn)。
一、數(shù)據(jù)管道
數(shù)據(jù)管道是一種異步數(shù)據(jù)傳送機(jī)制,數(shù)據(jù)被直接插入到MPGE-2的傳送包負(fù)載中。這種機(jī)制中并沒有給出關(guān)于數(shù)據(jù)的分段和重組定義而是留給了應(yīng)用自己定義。舉個(gè)例子,TS包頭中的負(fù)載起始標(biāo)志(payload_unit_start
_indieator)可以被用來標(biāo)志數(shù)據(jù)包的開始,而傳送優(yōu)先級(jí)標(biāo)志(transport-prioriyt)可以被用來標(biāo)志數(shù)據(jù)包的結(jié)束。至于如何將數(shù)據(jù)通過管道及時(shí)地傳送則不在協(xié)議中規(guī)定而由應(yīng)用自己保證。
數(shù)據(jù)服務(wù)將通過一個(gè)或多個(gè)數(shù)據(jù)廣播描述子來說明對數(shù)據(jù)管道的應(yīng)用。每一個(gè)描述子通過成份標(biāo)志來唯一標(biāo)志一個(gè)特定的數(shù)據(jù)管道。而且,這個(gè)成份標(biāo)志必須和可能在程序映射表(PMT)中提供的流標(biāo)志描述子(st
ream_identifier_descriptor)中的成份標(biāo)志完全一致。流標(biāo)志描述子用來指明哪一個(gè)流使用了數(shù)據(jù)管道,DVB標(biāo)準(zhǔn)中定義了關(guān)于數(shù)據(jù)廣播描述子的具體使用,而對于在MPT中的流類型(steram-type)的描述DVB沒有定義具體值。在DVB的具體應(yīng)用中,數(shù)據(jù)管道機(jī)制用來傳送任意用戶自定義的數(shù)據(jù)類型。
二、數(shù)據(jù)流
數(shù)據(jù)流分成三種:異步數(shù)據(jù)流,從同步數(shù)據(jù)流和同步數(shù)據(jù)流。無論哪種,最終都是被插入到MPGE-2傳送流的分組原始流(PES)層進(jìn)行傳送。異步數(shù)據(jù)流用來傳送沒有定時(shí)要求的數(shù)據(jù)流,在使用分組原始流層進(jìn)行數(shù)據(jù)傳送時(shí)需要遵循的語法如下:
Serteam-id該字段必須設(shè)置為0xBF,表示是私有流;PES-paeket-length:這個(gè)16比特的字段必須設(shè)置為非0值。同步數(shù)據(jù)流用于傳送在接收端輸出數(shù)據(jù)碼率必須嚴(yán)格精確控制的應(yīng)用。接收端的時(shí)鐘通過MPEG標(biāo)準(zhǔn)定義的節(jié)目參考時(shí)鐘(PCR)機(jī)制和發(fā)送端實(shí)現(xiàn)同步,通過分組原始流層的數(shù)據(jù)包結(jié)構(gòu)來進(jìn)行數(shù)據(jù)傳遞。這種結(jié)構(gòu)提供一個(gè)9比特的顯示時(shí)間標(biāo)簽擴(kuò)展(TPS_extension)字段用來精確定位數(shù)據(jù)訪問單元,這和視音頻訪問單元是類似的。單元的大小可以是比特,也可以是字節(jié)或多個(gè)字節(jié),完全取決于具體應(yīng)用。
從同步數(shù)據(jù)流和同步數(shù)據(jù)流應(yīng)用的區(qū)別在于從同步數(shù)據(jù)流傳送的數(shù)據(jù)流需要和其他的MPGE-2的打包原始流嚴(yán)格同步,其余的類似。和數(shù)據(jù)管道一樣,無論同步數(shù)據(jù)流還是異步數(shù)據(jù)流都是通過一個(gè)或多個(gè)數(shù)據(jù)廣播描述子來說明對數(shù)據(jù)流的應(yīng)用。每一個(gè)描述子通過成份標(biāo)志來唯一標(biāo)志一個(gè)特定的數(shù)據(jù)流。而且,這個(gè)成份標(biāo)志必須和可能在程序映射表(PMT)中提供的流標(biāo)志描述子描述子中的成份標(biāo)志完全一致。流標(biāo)志描述子用來指明哪一個(gè)流使用了數(shù)據(jù)流。DVB中同樣定義了關(guān)于數(shù)據(jù)廣播描述子的具體使用。無論是同步還是異步數(shù)據(jù)流都必須在PMT中設(shè)置流類型為0x06或者采用用戶自定義的數(shù)值。
三、多協(xié)議封裝
多協(xié)議封裝(MEP)提供一種基于MPGE-2傳送流的在數(shù)字電視廣播網(wǎng)絡(luò)中傳送數(shù)據(jù)的機(jī)制。該協(xié)議主要的一個(gè)應(yīng)用領(lǐng)域是傳送基于IP協(xié)議的數(shù)據(jù),也可以通過進(jìn)行LLC/SNAP封裝來傳遞按其他網(wǎng)絡(luò)協(xié)議定義的數(shù)據(jù)流,并適用于unicast,multicast和broadcast等多種傳播方式。這些都是通過一個(gè)48位的MAC地址來實(shí)現(xiàn)的,但是DVB并沒有規(guī)定如何為用戶分配MAC地址??紤]到廣播的實(shí)際安全性,封裝協(xié)議通過支持對數(shù)據(jù)包的加密和動(dòng)態(tài)改變MAC地址來保證安全。分段數(shù)據(jù)是通過數(shù)據(jù)段結(jié)構(gòu)來傳遞的,并兼容于為私有數(shù)據(jù)定義的DSM-CC段。這種分段格式提供了一種有效的將數(shù)據(jù)表映射到MPGE-2傳送流包格式的機(jī)制,并且可以在現(xiàn)有的解復(fù)用的軟硬件基礎(chǔ)上利用MAC地址方便地實(shí)現(xiàn)數(shù)據(jù)包濾波。分段機(jī)制允許將一個(gè)數(shù)據(jù)表分段映射入多個(gè)數(shù)據(jù)段,如果數(shù)據(jù)表的長度小于或者等于4080字節(jié)(包括LLC/SNA
P頭),則數(shù)據(jù)表可以放入一個(gè)數(shù)據(jù)段而無需分段。對于PI協(xié)議數(shù)據(jù),由于LLC/SNAP可以被忽略,則MTU(最大傳輸單元)應(yīng)該被設(shè)置成4080,這樣可以讓數(shù)據(jù)表無需被重新分段,如果考慮LLC/SNAP則MTU應(yīng)該被設(shè)置為4074或者更小。6字節(jié)的MAC地址在數(shù)據(jù)段結(jié)構(gòu)中被劃分成兩個(gè)部分,這樣做的目的是為了使接收端方便采用硬件方式進(jìn)行包濾波。
四、數(shù)據(jù)輪播
數(shù)據(jù)集(也有稱數(shù)據(jù)輪)是一種允許服務(wù)器或者某個(gè)應(yīng)用循環(huán)地、一次或者多次地發(fā)送一組相同數(shù)據(jù)模塊的服務(wù)。如果一個(gè)接收者希望訪問其中的某一個(gè)特定的模塊,則僅僅需要等到下一次廣播的時(shí)候即可。一個(gè)典型的數(shù)據(jù)集的應(yīng)用是圖文廣播。數(shù)據(jù)集是定義在DSM-CC的數(shù)據(jù)集的基礎(chǔ)上的,提供一種循環(huán)傳遞數(shù)據(jù)到接收者的機(jī)制。
在數(shù)據(jù)集中數(shù)據(jù)被劃分成模塊(modules),每個(gè)模塊被劃分成大小完全一樣的塊(block)。除了最后一個(gè)塊可能會(huì)小一些,一個(gè)數(shù)據(jù)集中其他所有的塊的大小都是一樣的。每個(gè)模塊代表邏輯上相互獨(dú)立的數(shù)據(jù),如文件。根據(jù)服務(wù)的需要,多個(gè)模塊可以組織成一個(gè)組(group),類似的多個(gè)組可以進(jìn)一步構(gòu)成超組。
數(shù)據(jù)集規(guī)范使用到了DSM-CC下載規(guī)范中的四條消息;數(shù)據(jù)存放在下載數(shù)據(jù)塊消息中,關(guān)于模塊的控制信息存放在下載信息說明、下載服務(wù)初始化以及下載取消消息中。其中下載服務(wù)初始化消息描述一個(gè)超組中組的信息,而下載信息說明消息描述一個(gè)組中模塊的信息?;谶@些控制消息,用戶可以從網(wǎng)絡(luò)中獲取模塊的子集,DVB標(biāo)準(zhǔn)定義了如何使用上面四條消息。
參考文獻(xiàn):
[1]薛鋒、陳萍萍、陳建銘,基于DVB數(shù)據(jù)廣播系統(tǒng)的軟件結(jié)構(gòu)[J].計(jì)算機(jī)工程,2002,(03).
[2]劉寶鋒、張文軍,機(jī)頂盒應(yīng)用軟件模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2004,(08).