何普生+陳侃松+蔣碧波+趙筑雨+邵沖+陳珂
摘 要:首先介紹了OTA功能在DVB-S領(lǐng)域的應(yīng)用,然后闡述了該功能模塊的實(shí)現(xiàn)原理。對(duì)支持OTA升級(jí)TS流的數(shù)據(jù)格式的分析,完成終端設(shè)備軟件的設(shè)計(jì)。
關(guān)鍵詞:空中升級(jí);DVB-S;TS流;機(jī)頂盒
中圖分類號(hào):TP273 ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? 文章編號(hào):2095-1302(2015)01-00-02
0 ?引 ?言
近年來,數(shù)字電視技術(shù)日新月異,用戶對(duì)機(jī)頂盒的功能需求越來越多樣和復(fù)雜,軟件也需要進(jìn)行不斷的更新和升級(jí)。歐洲數(shù)字視頻廣播DVB(Digital Video Broadcasting)標(biāo)準(zhǔn)專門制定了系統(tǒng)軟件升級(jí)(System Software Update,SSU)技術(shù)規(guī)范,在數(shù)字電視領(lǐng)域,它通常被稱為OTA(Over The Air,空中升級(jí))。
OTA空中升級(jí)是指用戶終端可以直接通過信號(hào)通道的接收下載方式在機(jī)頂盒上進(jìn)行軟件的更新和升級(jí)。整個(gè)升級(jí)過程無需借助外部設(shè)備完成,只要保證終端設(shè)備能夠正常接收到信號(hào),就可以方便快捷的完成系統(tǒng)軟件的更新和升級(jí)過程,這種方式極大降低了DVB升級(jí)業(yè)務(wù)的復(fù)雜度。
1 ?OTA功能概述
1.1 ?OTA技術(shù)規(guī)范
OTA升級(jí)過程中,需要把待升級(jí)數(shù)據(jù)復(fù)用到普通的音視頻流中,待升級(jí)數(shù)據(jù)在復(fù)用后的TS流中的格式可以根據(jù)運(yùn)營(yíng)商的要求進(jìn)行封裝。機(jī)頂盒終端接收到TS流后,通過解析NIT(Network Information Table,網(wǎng)絡(luò)信息表),SDT(Service Description Table,業(yè)務(wù)描述信息表),BAT(Bouquet Association Table,業(yè)務(wù)群信息表)等相關(guān)表來獲取升級(jí)信息。
OTA的控制信息存放在DSI(Download Server Initiate Message,下載服務(wù)器初始信息)和DII(Download Information Indication Message,下載信息標(biāo)識(shí)信息)中,升級(jí)數(shù)據(jù)則存放在DDB(Download Data Block Message,下載數(shù)據(jù)塊信息)中。OTA的實(shí)現(xiàn)過程中,先將下載數(shù)據(jù)(Download Data)和控制數(shù)據(jù)(Download Control data)封裝成DSM-CC消息,然后將消息數(shù)據(jù)封裝成Section,所有的Section數(shù)據(jù)又按照DVB規(guī)范定義的格式組成TS包,最后復(fù)用到TS流中,對(duì)于數(shù)字衛(wèi)星廣播系統(tǒng)則利用數(shù)字衛(wèi)星廣播系統(tǒng)傳輸。
1.2 ?DSM-CC協(xié)議
在OTA數(shù)據(jù)的處理上,DVB標(biāo)準(zhǔn)制定了DSM-CC規(guī)范(Digital Storage Media Command and Control,數(shù)字存儲(chǔ)媒體命令和控制擴(kuò)展協(xié)議),ISO/IEC 13818-6標(biāo)準(zhǔn)有對(duì)此規(guī)范作詳細(xì)說明。DSM-CC是為在異構(gòu)網(wǎng)絡(luò)環(huán)境下傳送多媒體寬帶業(yè)務(wù)開發(fā)的ISO/IEC標(biāo)準(zhǔn),特別適合廣播電視網(wǎng)絡(luò)。
2 ?系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
機(jī)頂盒首先會(huì)根據(jù)預(yù)設(shè)的頻點(diǎn)參數(shù)鎖定信號(hào),然后設(shè)置升級(jí)數(shù)據(jù)流的PID(Packet Identifier,包標(biāo)識(shí)符),table_id,通過Filter過濾數(shù)據(jù),獲取DSI,DII,DDB信息。有效OTA升級(jí)數(shù)據(jù)下載完成后進(jìn)行組包,組包完畢且數(shù)據(jù)校驗(yàn)無誤后,需要將整個(gè)BIN文件數(shù)據(jù)暫存到內(nèi)存中,然后根據(jù)文件模塊類型的不同,燒寫到對(duì)應(yīng)模塊在Flash上的存儲(chǔ)地址空間,完成整個(gè)升級(jí)過程。
2.1 ?OTA升級(jí)TS流數(shù)據(jù)格式
DVB標(biāo)準(zhǔn)中,TS流是分包發(fā)送的,每一個(gè)TS packet長(zhǎng)度為188 B(還有192 B和204 B的包),包的結(jié)構(gòu)為,包頭為4 B,負(fù)載為184 B。TS流的解析方式是從PID為0的TS packet內(nèi),解析出PAT表,然后根據(jù)PAT表找到各個(gè)節(jié)目的PID。解碼器根據(jù)PMT表的ES流(Elementary Streams,基本碼流)的PID,區(qū)分不同的TS packet,并按不同的ES流進(jìn)行解碼。
OTA升級(jí)TS流數(shù)據(jù)格式需要按照DVB標(biāo)準(zhǔn)中的定義進(jìn)行封裝,這里定義了section的長(zhǎng)度為1 KB,因?yàn)槊恳粋€(gè)TS packet長(zhǎng)度為188 B,所以每個(gè)section必須由N個(gè)TS packet組成。
2.2 ?終端設(shè)備軟件設(shè)計(jì)
終端設(shè)備軟件的實(shí)現(xiàn)主要包括數(shù)據(jù)解析模塊、數(shù)據(jù)組包模塊、交互信息處理模塊、Flash寫入模塊等幾個(gè)部分。終端設(shè)備軟件的實(shí)現(xiàn)流程見圖1。
圖1 ?終端設(shè)備軟件實(shí)現(xiàn)流程圖
數(shù)據(jù)解析模塊:機(jī)頂盒成功鎖定信號(hào)且接收到節(jié)目后,啟動(dòng)PAT濾波,搜索OTA業(yè)務(wù)所在的頻點(diǎn)信息及業(yè)務(wù)標(biāo)識(shí)符,得到OTA業(yè)務(wù)所在PMT的節(jié)目號(hào),根據(jù)業(yè)務(wù)標(biāo)識(shí)符與節(jié)目號(hào)匹配得到OTA業(yè)務(wù)PMT表的PID。對(duì)于數(shù)字衛(wèi)星廣播系統(tǒng),過濾NIT表分析其中描述符descriptor_tag為0x43的傳送系統(tǒng)描述符satellite_delivery_system_descriptor,根據(jù)本機(jī)OUI(Organization Unique Identifier,升級(jí)業(yè)務(wù)廠家唯一標(biāo)識(shí)符),獲取升級(jí)數(shù)據(jù)基本流的PID。
根據(jù)DSI信息,得到機(jī)頂盒OUI對(duì)應(yīng)的所有組,并存儲(chǔ)組所對(duì)應(yīng)的信息,包括組標(biāo)識(shí)符和組名。再根據(jù)組標(biāo)識(shí)符過濾DII信息,并保存該組所有的模塊信息,包括模塊標(biāo)識(shí)符,模塊段數(shù)據(jù)大小,升級(jí)數(shù)據(jù)主次版本號(hào)和組名等。
數(shù)據(jù)組包模塊:在對(duì)升級(jí)數(shù)據(jù)進(jìn)行組包過程中,首先會(huì)得到所下載的數(shù)據(jù)的版本號(hào),然后和終端設(shè)備中的軟件版本號(hào)進(jìn)行比較,當(dāng)前機(jī)頂盒軟件版本號(hào)低于TS流OTA數(shù)據(jù)軟件版本號(hào)時(shí),則會(huì)進(jìn)行數(shù)據(jù)的更新,否則中斷數(shù)據(jù)下載過程,結(jié)束OTA升級(jí)。對(duì)TS流的過濾是按TS packet進(jìn)行的,而我們的TS section長(zhǎng)度固定為1 KB,也就是每個(gè)TS section需要分成多個(gè)TS packet進(jìn)行組包。
Filter根據(jù)OTA數(shù)據(jù)基本流的PID過濾數(shù)據(jù),循環(huán)查找TS流,得到有效的OTA數(shù)據(jù)對(duì)應(yīng)的TS packet。且在檢測(cè)過程中,若數(shù)據(jù)包丟失,則需要Filter再次進(jìn)行丟失包的濾取,直到所有的DDB數(shù)據(jù)全部下載完成。還需要根據(jù)OTA升級(jí)TS流的數(shù)據(jù)格式,去掉包頭和將BIN文件打包成TS流時(shí)的增加的數(shù)據(jù)部分。組包完成后,需要把最終的OTA升級(jí)數(shù)據(jù)暫存于內(nèi)存中。
交互信息處理模塊:在整個(gè)數(shù)據(jù)下載和組包過程中,還必須完成人機(jī)交互。在此處通過消息機(jī)制去實(shí)現(xiàn),如當(dāng)檢測(cè)到下載的數(shù)據(jù)的版本號(hào)低于當(dāng)前軟件的版本號(hào),會(huì)向用戶界面發(fā)送一個(gè)版本號(hào)有誤的消息,用戶界面接收到這個(gè)消息后,再提示用戶。當(dāng)異常情況出現(xiàn),如突然終端設(shè)備無信號(hào)時(shí),發(fā)送用戶界面終止OTA升級(jí)的消息,用戶界面接收到這個(gè)消息后,作出終止OTA升級(jí)的命令。
Flash寫入模塊:數(shù)據(jù)下載完成后是暫存于終端設(shè)備的內(nèi)存中的,需要將OTA升級(jí)數(shù)據(jù)中用戶ID,數(shù)據(jù)大小等和終端設(shè)備存儲(chǔ)于Flash中的數(shù)據(jù)進(jìn)行相關(guān)的比較。滿足升級(jí)條件后,需要把下載得到的數(shù)據(jù)寫到Flash中,同時(shí)提示用戶升級(jí)過程開始,以及升級(jí)數(shù)據(jù)完成的進(jìn)度。數(shù)據(jù)寫入成功后,會(huì)重新啟動(dòng)機(jī)頂盒,通過查看升級(jí)后的軟件相關(guān)信息,完成OTA升級(jí)成功的確認(rèn)。
3 ?結(jié) ?語
本文對(duì)OTA功能在機(jī)頂盒上的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了詳細(xì)的闡述,對(duì)OTA升級(jí)數(shù)據(jù)封裝格式也進(jìn)行了剖析。數(shù)字衛(wèi)星廣播系統(tǒng)在世界各地得到了廣泛的應(yīng)用,OTA在線升級(jí)功能增加了用戶更新軟件的自由度,有利于數(shù)字電視業(yè)務(wù)更好的發(fā)展。
參考文獻(xiàn)
[1] INTERNATIONAL STANDARD (ISO/IEC 13818-1).Information technology — Generic coding of moving pictures and associated audio information: Systems(2000-12-01)[S],2001.
[2] Digital Video Broadcasting (DVB) Specification for System Software Update in DVB Systems. ETSI TS 102 006 V1.3.2 (2008-07)[S],2008.
[3]康曉揚(yáng),蘇凱雄.數(shù)字機(jī)頂盒OTA功能的設(shè)計(jì)與實(shí)現(xiàn)[J].有線電視技術(shù),2010(10):82-84.
[4]陳遠(yuǎn).數(shù)字存儲(chǔ)媒體——命令和控制[J].電視廣播與傳輸,2001(10):29-31.
[5]楊建華.數(shù)字電視原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.
[6]趙星,宋建新.DSM-CC實(shí)現(xiàn)機(jī)制及功能應(yīng)用 [J].通信技術(shù)與設(shè)備,2001(10):33-35.