DVB-S多業(yè)務(wù)數(shù)據(jù)廣播系統(tǒng)的設(shè)計與實現(xiàn)
標(biāo)簽:DVB-S 數(shù)據(jù)廣播
l 引言
歐洲ETSI協(xié)會制定的數(shù)字電視廣播DVB系列標(biāo)準(zhǔn)(DVB-T/C/S)不僅可傳送數(shù)字電視業(yè)務(wù),還可提供數(shù)據(jù)廣播業(yè)務(wù)[1-2]。DVB數(shù)據(jù)廣播標(biāo)準(zhǔn)定義了7種數(shù)據(jù)廣播方式,但此協(xié)議只規(guī)定了數(shù)據(jù)廣播的下3層協(xié)議,并沒有規(guī)定應(yīng)用層數(shù)據(jù)業(yè)務(wù)是如何封裝的。實際應(yīng)用中存在著各種類型的數(shù)據(jù)業(yè)務(wù),包括流媒體業(yè)務(wù)、文件業(yè)務(wù)、互動信息等,對于這些應(yīng)用,各公司和廠商都定義了自己的業(yè)務(wù)傳輸協(xié)議。目前的應(yīng)用協(xié)議及實現(xiàn)主要側(cè)重于特定業(yè)務(wù)的應(yīng)用,而不是針對于各種業(yè)務(wù)的綜合設(shè)計與實現(xiàn)。
2 系統(tǒng)架構(gòu)設(shè)計
2.1業(yè)務(wù)載體
為支持各種用戶業(yè)務(wù),提高系統(tǒng)的擴展性,系統(tǒng)將用戶應(yīng)用分成以下4種業(yè)務(wù)載體:
1)數(shù)字電視:以TS流形式傳輸?shù)臄?shù)字電視,包括高清數(shù)字電視和標(biāo)清數(shù)字電視;
2)流媒體:用IP來承載的實時音視頻流業(yè)務(wù);
3)文件業(yè)務(wù):以文件形式播發(fā)的業(yè)務(wù),例如教學(xué)課件、圖書、文檔等;
4)消息業(yè)務(wù):消息指不采用文件形式,直接傳輸數(shù)據(jù)內(nèi)容的數(shù)據(jù)業(yè)務(wù),例如即時通信、天氣預(yù)報、政府公報,股票信息等。
這4種業(yè)務(wù)構(gòu)成了系統(tǒng)最基本的業(yè)務(wù)載體,用戶的各種業(yè)務(wù)都可以用這些業(yè)務(wù)載體來承載。
2.2 系統(tǒng)架構(gòu)
整個衛(wèi)星廣播系統(tǒng)組成如圖1所示,包括數(shù)據(jù)廣播中心、衛(wèi)星傳輸系統(tǒng)和用戶接收終端。數(shù)字電視、流媒體、文件數(shù)據(jù)、消息數(shù)據(jù)等各種類型的數(shù)據(jù)在數(shù)據(jù)廣播中心完成接入、匯集、封裝及復(fù)用。復(fù)用后的信號進(jìn)入衛(wèi)星傳輸系統(tǒng)完成調(diào)制、上變頻、功率放大,此時的射頻信號通過衛(wèi)星轉(zhuǎn)發(fā)器轉(zhuǎn)發(fā)供用戶接收終端完成接收及處理。
<center>2.3系統(tǒng)協(xié)議棧
系統(tǒng)協(xié)議棧如圖2所示。數(shù)字電視業(yè)務(wù)直接通過MPEG一2定義的TS包傳輸;由于廣播是點到多點的單向傳輸,流媒體、文件及消息都通過UDP/IP協(xié)議進(jìn)行傳輸,IP包通過多協(xié)議封裝(MPE)封裝到TS包中。流媒體在UDP層之上,需要RTP/RTCP/RTSP等控制協(xié)議保證音視頻流的服務(wù)質(zhì)量。在UDP層之上,根據(jù)不同的業(yè)務(wù)載體定義業(yè)務(wù)載體傳輸協(xié)議。
2.4業(yè)務(wù)載體傳輸協(xié)議
接收端的用戶必須能夠識別信道上傳輸各種媒體和數(shù)據(jù)信息,并下載所需信息,這就要業(yè)務(wù)載體傳輸協(xié)議來提供上述功能。業(yè)務(wù)載體傳輸協(xié)議包括以下幾個部分:
1)MPEG-PSI[3]:是MPEG定義的協(xié)議,用于解析信道上傳輸?shù)臄?shù)字電視節(jié)目信息,包括信道上的節(jié)目數(shù)、各節(jié)目的音頻和視頻的PID、音視頻所采用的編碼方式等;
2)數(shù)據(jù)業(yè)務(wù)公共頻道:給出了信道所傳輸業(yè)務(wù)的相關(guān)信息,例如某個文件傳輸?shù)腜ID,IP和端口(Port)、文件名、文件大小等,接收模塊獲取這些信息之后去相應(yīng)的位置獲取文件;
3)文件傳輸協(xié)議:給出文件業(yè)務(wù)的傳輸格式; 4)消息傳輸協(xié)議:給出消息業(yè)務(wù)的傳輸格式。
業(yè)務(wù)載體傳輸協(xié)議格式參考了DVB-SI的協(xié)議格式,采用表(Table)的方式,以段(Section)為基本傳輸單位。一個表由多個段組成,每一段開始都有共同字段[1],標(biāo)準(zhǔn)的DVB-SI段幀頭結(jié)構(gòu)為
其中:Table_ID為表唯一的ID號;Section-syntax-indicator為此數(shù)據(jù)域固定設(shè)為l;Section-length為此段的長度;Version-number為此表的版本號;Section-number為當(dāng)前段的編號;Last-section-number為一個表中最后一個段的編號;Current-next-indicator為表示當(dāng)前的表是否有效。
3 協(xié)議設(shè)計
3.1數(shù)據(jù)業(yè)務(wù)公共頻道設(shè)計
接收端在接收數(shù)據(jù)時,通過公共頻道獲知當(dāng)前信道中傳輸數(shù)據(jù)的預(yù)報信息及定位信息,從而從信道中解出其所需要的數(shù)據(jù),其功能類似于MPEG一2標(biāo)準(zhǔn)中的PAT表。系統(tǒng)中的信息定位方法采用4級定位:TS流中的PID、廣播IP地址、廣播端口(Port)和Service_ID。在一個PID中可能傳有多個IP的數(shù)據(jù),而相同IP的數(shù)據(jù)包的目的端口不一樣,傳輸?shù)膬?nèi)容也就不一樣。對于各種業(yè)務(wù),每個文件都有一個File_lD,每個消息通道都有一個Mes-sage_ID,每個流媒體都有一個stream_ID,這些ID統(tǒng)稱為Service_ID。圖3給出了數(shù)據(jù)業(yè)務(wù)的分級定位結(jié)構(gòu),將一個(PID,IP,Port,Service_ID)組合稱為一個業(yè)務(wù)通道[4]。
公共頻道的PID,IP,Port是已知的,接收端通過固定通道接收公共頻道信息。公共頻道協(xié)議的幀格式為
Data-type給出了業(yè)務(wù)的類型(文件業(yè)務(wù)、消息業(yè)務(wù)和流媒體業(yè)務(wù))。PID,Broadcast_IP和Broadcast-Port分別給出了承載業(yè)務(wù)的PID,IP地址和端口。Service-name給出了業(yè)務(wù)的名稱。描述符Descriptors()給出了與業(yè)務(wù)相關(guān)的其他信息,例如,文件業(yè)務(wù)還需要文件大小、文件類型、版本號等信息。CRC一32為段的CRC校驗。
用戶在收到公共頻道數(shù)據(jù)后,從中解析出當(dāng)前信道中的數(shù)據(jù)廣播內(nèi)容,按(PID,IP,Poit,Seivice_jD去定位其所需要的數(shù)據(jù)并解析。
3.2文件傳輸協(xié)議
在文件傳輸協(xié)議中,為提高文件接收的成功率,發(fā)射端把文件拆分成文件塊進(jìn)行傳輸。每個文件塊都有唯一的編號,表示此文件塊在文件中的位置。同時為每一個文件塊加上頭和尾形成一個文件包,以此包為單位進(jìn)行傳輸。圖4顯示了文件拆分和打包過程。
文件包的幀格式為
由于文件包是定長包,文件內(nèi)容可能無法填滿一個文件包,因此在文件包的末尾使用填充比特,同時用PackeLlength來指示此包中文件內(nèi)容的長度,對數(shù)據(jù)包進(jìn)行CRC校驗。
由于信道存在誤碼,同一文件的每個文件包不一定是按順序到達(dá)的。接收端每接收到一個包,根據(jù)文件包的編號判斷此包是否收到過。如果沒有收到過,則計算其校驗是否正確,如果不正確則丟棄;如果正確則根據(jù)編號加入到文件中。然后處理下一個接收到的包,直到文件的每個包都接收到或發(fā)射端不再發(fā)送文件為止。如果發(fā)送結(jié)束但還有文件包沒有收到,則丟棄整個文件,或暫時保存以等待以后可能的重傳。圖5給出了接收端文件接收軟件的工作流程。
3.3消息傳輸協(xié)議
消息傳輸協(xié)議的幀格式為
Message_ID對應(yīng)于公共頻道中的Service_ID,消息業(yè)務(wù)是應(yīng)用最為多樣的業(yè)務(wù)載體,用戶可根據(jù)需求傳輸不同的消息業(yè)務(wù),這需要用戶進(jìn)一步定義應(yīng)用層協(xié)議。
4 系統(tǒng)實現(xiàn)
4.1數(shù)據(jù)廣播中心設(shè)計
數(shù)據(jù)廣播中心完成數(shù)據(jù)的接入、匯集、封裝及復(fù)用,圖6給出了廣播中心的設(shè)計架構(gòu)及軟硬件劃分。中心數(shù)據(jù)庫由4個分?jǐn)?shù)據(jù)庫組成,包括文件數(shù)據(jù)庫、信息數(shù)據(jù)庫、媒體數(shù)據(jù)庫和電視節(jié)目數(shù)據(jù)庫,分別存儲文件、消息、流媒體和數(shù)字電視等不同類型的數(shù)據(jù)。數(shù)據(jù)廣播協(xié)議封裝完成文件業(yè)務(wù)和消息業(yè)務(wù)的協(xié)議封裝。公共頻道服務(wù)器根據(jù)傳輸?shù)臉I(yè)務(wù)實時生成公共頻道信息。IP打包機完成對IP包的多協(xié)議封裝,形成TS包。復(fù)用器完成多路TS的復(fù)接,形成單路TS流送至發(fā)送設(shè)備。接入網(wǎng)關(guān)完成各種類型業(yè)務(wù)的接入。如果業(yè)務(wù)屬于非實時業(yè)務(wù),則數(shù)據(jù)被存到數(shù)據(jù)庫中;如果業(yè)務(wù)要求實時傳輸,則數(shù)據(jù)繞過數(shù)據(jù)庫直接送至相應(yīng)的封裝或復(fù)用模塊??刂颇K完成整個廣播中心的控制,主要完成數(shù)據(jù)廣播的管理和控制,包括內(nèi)容管理、帶寬管理、優(yōu)先級管理、接人控制等[ 5]。
4.2接收終端設(shè)計
圖7給出了多業(yè)務(wù)數(shù)字廣播系統(tǒng)接收端的架構(gòu)及軟硬件劃分。中頻信號被送至接收模塊后,首先經(jīng)過硬件的信道解調(diào)及解碼;解復(fù)用模塊對收到的TS流解復(fù)用;如果解復(fù)用之后的碼流是經(jīng)過加擾的,則需要經(jīng)過解擾模塊進(jìn)行解擾;然后不同的業(yè)務(wù)被送至不同的處理模塊。
數(shù)字電視的音視頻流被送至音視頻解碼模塊進(jìn)行解碼,解碼之后的原始音視頻流通過播放模塊播放。對于數(shù)據(jù)業(yè)務(wù),IP解封裝模塊從特定PID的TS流中將含有公共頻道的IP包解封裝出來。接收端從公共頻道中獲取當(dāng)前信道中數(shù)據(jù)業(yè)務(wù)的信息,從中選取所需要的業(yè)務(wù),并獲得傳輸此業(yè)務(wù)的PID,IP及Port。然后控制解復(fù)用模塊解復(fù)用相應(yīng)PID的TS包。IP解封裝模塊解封裝這些TS包中的IP包,然后根據(jù)IP,Port和Service_ID接收所需要的數(shù)據(jù)。接收端需要實時監(jiān)控公共頻道,以保證當(dāng)信道中傳輸?shù)臉I(yè)務(wù)發(fā)生變化時,公共頻道能夠及時刪除過時的業(yè)務(wù)信息,增加新的業(yè)務(wù)信息。
5 系統(tǒng)測試結(jié)果
在系統(tǒng)測試時,為達(dá)到要求的服務(wù)質(zhì)量,數(shù)字電視和流媒體采用獨占帶寬的形式,以保證低的延時抖動;對于文件、消息兩種非實時業(yè)務(wù)采用共享帶寬的形式。表1給出了系統(tǒng)的測試結(jié)果。
6 小結(jié)
筆者提出了一種利用DVB-S信道傳輸綜合業(yè)務(wù)的數(shù)據(jù)廣播系統(tǒng),并給出了數(shù)據(jù)廣播中心和多業(yè)務(wù)接收終端的設(shè)計。測試表明,系統(tǒng)能夠?qū)崿F(xiàn)多業(yè)務(wù)的綜合數(shù)據(jù)廣播,針對業(yè)務(wù)采取不同的傳輸策略,可以保證業(yè)務(wù)的傳輸質(zhì)量。