何普生+陈侃松+蒋碧波+赵筑雨+邵冲+陈珂
摘 要:首先介绍了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.