论文部分内容阅读
[摘要]本文主要讲述了机顶盒统一LoADER的来源及统一LoADER与私有LoADER所具有的优势。结合宁波LoADER系统的具体应用,分析和探讨了统一LOADER的标准和统一LoADER的平台结构,并简要介绍了目前统一LOADER的发展现状和趋势。
[关键词]统一LoADER、EPG、NIT表Dll、DSI表、Linkage描述符、data_broadcast_id描述符ES流。
前言
目前机顶盒的功能较为简单,无法满足用户上网、通信、即时新闻、信息点播等新业务需求,需要通过软升级来拓展机顶盒的功能。同时,目前我国数字电视仍处于起步阶段,运营商在实际操作中将不断遇到新问题,必须通过升级机顶盒软件来解决问题。LOADER就是用于机顶盒软件升级的功能模块,在机顶盒出厂时已被植入机顶盒中。
目前各厂家机顶盒内的LOADER模块实现升级的方式各不相同,这样的现状造成机顶盒在升级过程会出现很多的问题——
问题1:各厂家机顶盒LOADER模块不同,相应地对前端升级码流的播发格式的要求也各不相同,对于运营商来说,每次进行机顶盒升级都需要为各厂家配备升级码流播发服务器和相应的频带资源,不但操作不便、浪费资源,而且机顶盒的升级管理及业务部署都存在问题。
问题2:前端、终端不统一,使机顶盒在升级过程中充满不可预测性及风险,虽然升级码流可以在测试环境中先进行调试,但毕竟测试环境与实际环境有区别。在实际环境中,最可能出现的问题是一种机顶盒型号的升级码流影响到其他型号的机顶盒,这一点在测试中最容易被忽略,但造成的后果却可能是灾难性的。
问题3:不统一性提升了前端播发升级码流系统的复杂度,为技术人员解决问题带来许多障碍,分析判断出现延迟,自然后果也将非常严重。
解决私有方式升级弊端最好的方法是:将各厂家LOADER功能模块统一,在前端建立统一的机顶盒升级码流播发平台,实现统一LOADER。
建立统一LOADER后,系统前后端的统一,减少了系统复杂性且为运营商节省了资源操作界面人性化并且具有码流播发监控,方便技术员操作及处理问题;统一的码流播发平台使码流的播发更具条理性,减少了机顶盒升级过程出现问题的机率,降低了升级风险。
私有与统一LOADER升级标准的比较
无论是私有还是统一LOADER,升级标准主要包括三方面:升级描述符及格式、携带升级描述符的EPG表及插入的表位置、升级码流的格式。 升级描述符包含获取升级码流的位置信息(基本由NETWORKID,TSID,SERVICEID定位),及接收此升级码流的机顶盒范围信息,其由厂商ID、软件版本、硬件版本、机顶盒类型、序列号范围等信息组成。私有LOADER升级描述信息由linkage描述符携带,插入的位置为NIT、BAT、SDT表之一,主要决定于机顶盒生产企业LOADER实现方式。统一升级方式由linkage、data_broadcast_id、GroupCompatiblity等描述符携带,插入的EPG表包含NIT、PMT、DII、DSI表。
升级码流指由厂家提供的升级流文件,按照流格式可分为BIN和TS两种格式,如果是BIN格式,LOADER必须将其打包成TS格式才能用于升级机顶盒。按照升级标准可分为标准DC格式和私有格式两种。
私有LOADER升级方式较为简单,但各厂家的实现标准有所区别,基本实现步骤为:
1.由厂家提供升级描述符及升级码流。
2.将升级描述信息由连接类型为0X09的连接描述符linkage插入到EPG当中,插入位置为NIT表或BAT表的第一层。
3.升级码流通过码流播发卡播发,通过复用器将升级码流复用到节目流中。升级码流在复用过程中的TSID,SERVICEID必须与升级描述信息中的定义一致。
4.机顶盒首先接收到NIT表中的linkage描述符,通过查看升级条件信息,判断此机顶盒是否在此次升级范围之内,是,则读取linkage描述符中的升级码流位置信息,找到相应的码流,校验后开始升级。(见表1)
其中descriptortag:如果是link.age描述符,这个值是4A。
Descriptor_length:描述符长度,由字节总数表示。
Transport_stream_id,Original_network_id,service_id:用于定位升级流位置。
Linkage_typ:如果是用于升级,该值为0x09。
接下来定义升级条件信息,用于定义升级机顶盒的范围,包括厂商ID、软硬件版本、列号以及厂商自定义信息。
目前国外统一LOADER的升级标准包括:ECCAEuroLoader Speci-fication和ETSITS 102 006标准我国正在制定自己的LOADER标准,基本上是在ETSI TS标准的基础上,根据实际使用情况进行改进。这里先介绍几个概念。
Data carousel(DC):多厂家、多升级流同时升级时,将多个升级流按照一定的规范打包在一个ES流中,这就是所谓的二层data carousel流,即DC流。
DSI表:当使用DC方式升级时,DSI表中将DC流内每个升级流按升级条件范围的不同分成不同的组,机顶盒按组条件的不同找到自己相应的组,DSI中的每个组含有GmupCompafiblity描述符,其中包含了多种descriptorType参数。
DII表:DSI表中的每个组对应一个DII表,DII表中描述了机顶盒如何从二层data carousel中找到属于自己升级流以及升级流的校验信息,目前定义的与DII相关的描述子为SSU moduletype descriptor及CRC32 descriptor。
DDB:可以理解为打包后的二层data carousel码流。
Data_broadcast_id描述符:PMT表中的描述符,PMT包含有多条ES流的描述,每条ES流描述中对应包含一个Data_broadcast_id描述符。如果是标准的二层data carousel升级方式,则E S流是多升级流打包后生成的标准DC流,相应Data_broadcast_id描述符中包含升级条件信息以及DSI的transactionld,机顶盒根据升级条件信息判断自己的升级流是否包含在这个ES流中,如果是,则根据transactionld找到相应的DSI表,完成升级。如果是 私有格式流升级方式,每个ES流只包含一条私有数据流,描述符中只包含升级条件信息,机顶盒根据升级条件信息判断是否升级,如果符合升级条件则找到相应的ES升级流完成升级。
如果是标准DC方式的升级,则以上各表格的关系如图1所示:
目前LOADER厂家提供的升级方式基本上包含标准DC方式和私有格式流方式两种,前者是统一LOADER标准升级,后者是为兼容目前多数机顶盒的私有方式升级而开发的,但与原来的私有升级方式有一定的区别,主要是对升级描述信息格式以及插入的表位置作了规定。下面具体阐述这两种升级方式的过程:
★DC方式是多厂家多升级流根据一定的规范打包在一个ES流中,即标准二层data carousel(DC)方式的升级,过程如下:
1.由厂家提供升级码流及升级描述文件,升级描述文件必须根据标准生成,其中包含升级范围条件、升级方式以及升级流PID等信息,由技人术员将厂商提供的文件导人到统一LOADER中,升级描述文件被LOADER解析后生成linkage描述符以及PMT,DII,DSI等表信息,linkage描述符通过EPG接口插入到NIT表中,而升级码流经过打包后和PMT,DII,DSI表信息一起复用进复用器。统一LOADER的linkage描述符中包含System_software_update_link_slructure、uniform_OUI_selector_structure、Location_structure等描述符信息,这些信息包含了各厂家机顶盒的升级范围及升级码流的位置。
2.机顶盒查找升级Linkage描述符,该描述符可能存在于NIT或BAT表中,该描述符可能有多个,也可能只有一个。
3.机顶盒在进行分析时,如果一个Linkage描述符不符合本机顶盒的升级范围条件,则继续分析后边的;当分析到一个符合条件的Linkage描述符后,则分析过程不再继续。
4.在描述符System_software_update_link_structure、uniform_OUI_selector_structure、Location_structure中,找到符合自己的升级信息,获取下载流的升级定位信息NetworkID、Transactionid、Serviceld。
5.搜索对应ServiceId的PMT表,找到data_broadcast_id描述符,获取对应DSI的transactionId,以该transactionId和DSI中的transactionId对应查找相应的DSI表。
6.根据DSI信息进一步分析DII,再根据DII中的信息搜索DDB,将符合自己机顶盒需要的DDB合成原始的机顶盒下载Bin文件后,该文件就可以烧写入机顶盒Flash中,完成机顶盒升级。
★私有格式流方式私有格式流的升级方式较为简单,只需解析NIT表中的linkage描述符和PMT表中的data_broadcast_id描述符,解析linkage所需升级范围信息以及升级码流位置信息,如果机顶盒符合升级范围,则根据升级码流位置信息(NetworkID、Transactionid、Serviceld)找到相应的PMT表,PMT表中包含有多条ES升级流的描述信息,每条ES升级流描述符中包含自己的data_broadcast_id描述符,机顶盒根据描述符中的升级范围信息判断此ES流是否符合自己的要求,如果符合,则根据ES_P119找到对应的私有升级码流后直接进入机顶盒升级。
宁波统一LOADER系统结构
我国制定统一LOADER标准起步较晚,目前由永新同方、天柏等公司组成的LOADER标准起草团正在协商并制定相关标准,预计今年内出台相关标准。
从技术及功能来看,笔者认为永新同方开发统一LOADER起步较早,比较完整,数码视讯吸取了别人的经验,较有特色,无论是操作界面、监控机制,还是安全升级机制都有自己的特点,天柏的产品较为简洁,有条理,对技术人员的操作性要求不高。宁波根据自身情况,经综合比较,最终选择了数码视讯的产品,系统结构基本如图2所示,包括三大部分:配置管理和监控客户端、统一LOADER服务端、文件导入和管理客户端。
文件导入和管理客户端主要是将机顶盒厂家提供的升级文件和描述信息文件导入到升级文件数据库。
配置管理和监控客户端主要为技术员配置升级码流播发最直接的平台,可以为升级码流配置需要播发的TSID、NETWORkID、SERVICEID等位置信息,修改软硬件版本号、序列号等升级范围条件信息,其具备控制升级码流的播发和配制码流的播发速度等功能。当开始播发码流时,此客户端也是技术人员的监控平台,使其能够直观发现有问题并及时处理。
统一LOADER服务端是核心层,它是各功能模块的交互平台,为其他功能模块提供接口,主要的接口包括三部分:1、与各客户端以及升级文件数据库的接口,用于调度、配置和存储各厂家的升级码流和描述信息。2、与EPG的接口,实现将linkage升级描述符自动插入到EPG当中。3、与复用器的接口,将打包好的升级码流以及PMT,DII,DSI等表信息通过码流播发卡播发至复用器端并复用后通过HFC网传送到客户端机顶盒。
[关键词]统一LoADER、EPG、NIT表Dll、DSI表、Linkage描述符、data_broadcast_id描述符ES流。
前言
目前机顶盒的功能较为简单,无法满足用户上网、通信、即时新闻、信息点播等新业务需求,需要通过软升级来拓展机顶盒的功能。同时,目前我国数字电视仍处于起步阶段,运营商在实际操作中将不断遇到新问题,必须通过升级机顶盒软件来解决问题。LOADER就是用于机顶盒软件升级的功能模块,在机顶盒出厂时已被植入机顶盒中。
目前各厂家机顶盒内的LOADER模块实现升级的方式各不相同,这样的现状造成机顶盒在升级过程会出现很多的问题——
问题1:各厂家机顶盒LOADER模块不同,相应地对前端升级码流的播发格式的要求也各不相同,对于运营商来说,每次进行机顶盒升级都需要为各厂家配备升级码流播发服务器和相应的频带资源,不但操作不便、浪费资源,而且机顶盒的升级管理及业务部署都存在问题。
问题2:前端、终端不统一,使机顶盒在升级过程中充满不可预测性及风险,虽然升级码流可以在测试环境中先进行调试,但毕竟测试环境与实际环境有区别。在实际环境中,最可能出现的问题是一种机顶盒型号的升级码流影响到其他型号的机顶盒,这一点在测试中最容易被忽略,但造成的后果却可能是灾难性的。
问题3:不统一性提升了前端播发升级码流系统的复杂度,为技术人员解决问题带来许多障碍,分析判断出现延迟,自然后果也将非常严重。
解决私有方式升级弊端最好的方法是:将各厂家LOADER功能模块统一,在前端建立统一的机顶盒升级码流播发平台,实现统一LOADER。
建立统一LOADER后,系统前后端的统一,减少了系统复杂性且为运营商节省了资源操作界面人性化并且具有码流播发监控,方便技术员操作及处理问题;统一的码流播发平台使码流的播发更具条理性,减少了机顶盒升级过程出现问题的机率,降低了升级风险。
私有与统一LOADER升级标准的比较
无论是私有还是统一LOADER,升级标准主要包括三方面:升级描述符及格式、携带升级描述符的EPG表及插入的表位置、升级码流的格式。 升级描述符包含获取升级码流的位置信息(基本由NETWORKID,TSID,SERVICEID定位),及接收此升级码流的机顶盒范围信息,其由厂商ID、软件版本、硬件版本、机顶盒类型、序列号范围等信息组成。私有LOADER升级描述信息由linkage描述符携带,插入的位置为NIT、BAT、SDT表之一,主要决定于机顶盒生产企业LOADER实现方式。统一升级方式由linkage、data_broadcast_id、GroupCompatiblity等描述符携带,插入的EPG表包含NIT、PMT、DII、DSI表。
升级码流指由厂家提供的升级流文件,按照流格式可分为BIN和TS两种格式,如果是BIN格式,LOADER必须将其打包成TS格式才能用于升级机顶盒。按照升级标准可分为标准DC格式和私有格式两种。
私有LOADER升级方式较为简单,但各厂家的实现标准有所区别,基本实现步骤为:
1.由厂家提供升级描述符及升级码流。
2.将升级描述信息由连接类型为0X09的连接描述符linkage插入到EPG当中,插入位置为NIT表或BAT表的第一层。
3.升级码流通过码流播发卡播发,通过复用器将升级码流复用到节目流中。升级码流在复用过程中的TSID,SERVICEID必须与升级描述信息中的定义一致。
4.机顶盒首先接收到NIT表中的linkage描述符,通过查看升级条件信息,判断此机顶盒是否在此次升级范围之内,是,则读取linkage描述符中的升级码流位置信息,找到相应的码流,校验后开始升级。(见表1)
其中descriptortag:如果是link.age描述符,这个值是4A。
Descriptor_length:描述符长度,由字节总数表示。
Transport_stream_id,Original_network_id,service_id:用于定位升级流位置。
Linkage_typ:如果是用于升级,该值为0x09。
接下来定义升级条件信息,用于定义升级机顶盒的范围,包括厂商ID、软硬件版本、列号以及厂商自定义信息。
目前国外统一LOADER的升级标准包括:ECCAEuroLoader Speci-fication和ETSITS 102 006标准我国正在制定自己的LOADER标准,基本上是在ETSI TS标准的基础上,根据实际使用情况进行改进。这里先介绍几个概念。
Data carousel(DC):多厂家、多升级流同时升级时,将多个升级流按照一定的规范打包在一个ES流中,这就是所谓的二层data carousel流,即DC流。
DSI表:当使用DC方式升级时,DSI表中将DC流内每个升级流按升级条件范围的不同分成不同的组,机顶盒按组条件的不同找到自己相应的组,DSI中的每个组含有GmupCompafiblity描述符,其中包含了多种descriptorType参数。
DII表:DSI表中的每个组对应一个DII表,DII表中描述了机顶盒如何从二层data carousel中找到属于自己升级流以及升级流的校验信息,目前定义的与DII相关的描述子为SSU moduletype descriptor及CRC32 descriptor。
DDB:可以理解为打包后的二层data carousel码流。
Data_broadcast_id描述符:PMT表中的描述符,PMT包含有多条ES流的描述,每条ES流描述中对应包含一个Data_broadcast_id描述符。如果是标准的二层data carousel升级方式,则E S流是多升级流打包后生成的标准DC流,相应Data_broadcast_id描述符中包含升级条件信息以及DSI的transactionld,机顶盒根据升级条件信息判断自己的升级流是否包含在这个ES流中,如果是,则根据transactionld找到相应的DSI表,完成升级。如果是 私有格式流升级方式,每个ES流只包含一条私有数据流,描述符中只包含升级条件信息,机顶盒根据升级条件信息判断是否升级,如果符合升级条件则找到相应的ES升级流完成升级。
如果是标准DC方式的升级,则以上各表格的关系如图1所示:
目前LOADER厂家提供的升级方式基本上包含标准DC方式和私有格式流方式两种,前者是统一LOADER标准升级,后者是为兼容目前多数机顶盒的私有方式升级而开发的,但与原来的私有升级方式有一定的区别,主要是对升级描述信息格式以及插入的表位置作了规定。下面具体阐述这两种升级方式的过程:
★DC方式是多厂家多升级流根据一定的规范打包在一个ES流中,即标准二层data carousel(DC)方式的升级,过程如下:
1.由厂家提供升级码流及升级描述文件,升级描述文件必须根据标准生成,其中包含升级范围条件、升级方式以及升级流PID等信息,由技人术员将厂商提供的文件导人到统一LOADER中,升级描述文件被LOADER解析后生成linkage描述符以及PMT,DII,DSI等表信息,linkage描述符通过EPG接口插入到NIT表中,而升级码流经过打包后和PMT,DII,DSI表信息一起复用进复用器。统一LOADER的linkage描述符中包含System_software_update_link_slructure、uniform_OUI_selector_structure、Location_structure等描述符信息,这些信息包含了各厂家机顶盒的升级范围及升级码流的位置。
2.机顶盒查找升级Linkage描述符,该描述符可能存在于NIT或BAT表中,该描述符可能有多个,也可能只有一个。
3.机顶盒在进行分析时,如果一个Linkage描述符不符合本机顶盒的升级范围条件,则继续分析后边的;当分析到一个符合条件的Linkage描述符后,则分析过程不再继续。
4.在描述符System_software_update_link_structure、uniform_OUI_selector_structure、Location_structure中,找到符合自己的升级信息,获取下载流的升级定位信息NetworkID、Transactionid、Serviceld。
5.搜索对应ServiceId的PMT表,找到data_broadcast_id描述符,获取对应DSI的transactionId,以该transactionId和DSI中的transactionId对应查找相应的DSI表。
6.根据DSI信息进一步分析DII,再根据DII中的信息搜索DDB,将符合自己机顶盒需要的DDB合成原始的机顶盒下载Bin文件后,该文件就可以烧写入机顶盒Flash中,完成机顶盒升级。
★私有格式流方式私有格式流的升级方式较为简单,只需解析NIT表中的linkage描述符和PMT表中的data_broadcast_id描述符,解析linkage所需升级范围信息以及升级码流位置信息,如果机顶盒符合升级范围,则根据升级码流位置信息(NetworkID、Transactionid、Serviceld)找到相应的PMT表,PMT表中包含有多条ES升级流的描述信息,每条ES升级流描述符中包含自己的data_broadcast_id描述符,机顶盒根据描述符中的升级范围信息判断此ES流是否符合自己的要求,如果符合,则根据ES_P119找到对应的私有升级码流后直接进入机顶盒升级。
宁波统一LOADER系统结构
我国制定统一LOADER标准起步较晚,目前由永新同方、天柏等公司组成的LOADER标准起草团正在协商并制定相关标准,预计今年内出台相关标准。
从技术及功能来看,笔者认为永新同方开发统一LOADER起步较早,比较完整,数码视讯吸取了别人的经验,较有特色,无论是操作界面、监控机制,还是安全升级机制都有自己的特点,天柏的产品较为简洁,有条理,对技术人员的操作性要求不高。宁波根据自身情况,经综合比较,最终选择了数码视讯的产品,系统结构基本如图2所示,包括三大部分:配置管理和监控客户端、统一LOADER服务端、文件导入和管理客户端。
文件导入和管理客户端主要是将机顶盒厂家提供的升级文件和描述信息文件导入到升级文件数据库。
配置管理和监控客户端主要为技术员配置升级码流播发最直接的平台,可以为升级码流配置需要播发的TSID、NETWORkID、SERVICEID等位置信息,修改软硬件版本号、序列号等升级范围条件信息,其具备控制升级码流的播发和配制码流的播发速度等功能。当开始播发码流时,此客户端也是技术人员的监控平台,使其能够直观发现有问题并及时处理。
统一LOADER服务端是核心层,它是各功能模块的交互平台,为其他功能模块提供接口,主要的接口包括三部分:1、与各客户端以及升级文件数据库的接口,用于调度、配置和存储各厂家的升级码流和描述信息。2、与EPG的接口,实现将linkage升级描述符自动插入到EPG当中。3、与复用器的接口,将打包好的升级码流以及PMT,DII,DSI等表信息通过码流播发卡播发至复用器端并复用后通过HFC网传送到客户端机顶盒。