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