何普生+陳侃松+蔣碧波+趙筑雨+邵沖+陳珂

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