一种数字电视epg数据接收和解析方法

文档序号:7571463阅读:178来源:国知局

专利名称::一种数字电视epg数据接收和解析方法
技术领域
:本发明涉及数字电视应用技术数据信息接收和解析方法,特别涉及一种数字电视EPG数据接收和解析方法。
背景技术
:EPG(ElectronicProgramGuide,电子节目菜单)以“频道-时间”方式提供一段时间内的所有电视节目信息,实现业务和描述信息的浏览功能,是数字电视中必备的基本功能;EPG数据在前端打包,嵌入到SI表格中并在网络(一个传输系统,可以传输一组传输流)中传输,机顶盒终端负责Action(用于将本标准中定义的所有业务信息映射成为GB/T17975.1-2000的传输流包)数据接收和解析。目前机顶盒终端常用的接收和解析方法有方法A.设置和启动EPG数据过滤器,按照SI表格规范,将过滤器收到的嵌有EPG数据的section组成segment,再由segment组成table(表格),再按照从table到segment再到section的顺序进行解析;EPG数据是嵌入到SIEIT(EventInformationTable)中,组成结构为8个section组成一个segment,一个表中最多有8个segment;方法B.设置和启动EPG数据过滤器,按照SI表格规范,将过滤器收到的嵌有EPG数据的每个section存储到临时缓存中,等所有section收齐以后才开始解析每个section;以上两种方法虽然可行,但是有如下问题点方法A.特点是要将section按照规范组成segment和table,不仅操作流程复杂,而且风险较大,一旦组装环节出现任何问题,整个EPG数据将无法解析。方法B.和方法A相比,不需要组装过程,只需要将收到的section存储到临时缓存中,等section收齐以后才开始解析,而且临时缓存要尽可能地大些。上述两种方法均将section是否收齐作为是否解析数据的门槛,如果某个section因为发送、传输或接收环节中的异常而无法正常收到时,数据的解析就会受到很大的影响,尤其是对实时要求较高的当前随后信息。
发明内容本发明所要解决的技术问题是克服现有技术中存在的EPG数据接收和解析的流程复杂问题,提出一种数字电视EPG数据接收和解析方法,不需要将section组装成segment,再将segment组成表格,所有的数据接收模块和数据解析模块都是基于section单元数据,而且因为通过多任务模块实时处理,能实时地处理section,不需要较大的临时缓存。本发明采用的技术方案一种数字电视EPG数据接收和解析方法,对section进行接收、解析及状态监控,具体步骤包括a.初始化EPG模块,通过过滤器对section进行数据过滤,执行步骤b;b.数据接收模块接收嵌有EPG数据的section,将section存储于临时缓存中,若临时缓存已满,丢掉该section,数据接收模块继续接收下一个section数据;否则存储section数据到临时缓存中,执行步骤c;c.数据解析模块一直处于运行状态,如果临时缓存中无数据,数据解析模块作用是实时监控section的解析状态;否则执行步骤d;d.如果临时缓存中有未解析的section,数据解析模块作用是解析缓存数据section,并将解析后的数据进行存储;否则执行步骤c;e.如果所有section均解析完成,执行步骤c;否则执行步骤d。所述初始化EPG模块包括创建数据接收模块、数据解析模块、信号量、消息队列。所述数据解析模块实时监控section的解析状态同时,还实时监控内存使用状态、数据使用状态。所述数据接收模块接收section时,通过section的版本号和CRC来判断section是否正确。所述section经过数据解析模块解析后,解析数据存储于Ram或Flash。综上所述,由于采用了上述技术方案,本发明的有益效果是EPG数据的接收和解析都是以section为单位,不需要进行数据组合,数据处理方法简单,而且数据接收模块和数据解析模块处理数据是异步处理(所谓异步指的是数据接收只负责将收到的数据存储在临时缓存中,而解析只负责从缓存中读取数据、解析并且监控数据解析状态、内存使用状态、数据使用状态),通过数据接收任务和数据解析任务实时处理不需要太大的临时缓存,即数据解析环节对数据是否收齐没有依赖要求,既不影响数据接收速度,又大大提升了数据解析的效率,为用户提供及时实时的EPG数据。本发明将通过例子并参照附图的方式说明,其中附图1是本发明数字电视EPG接收和解析方法流程图。具体实施例方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。本发明解决上述技术问题所采用的技术方案如流程图1所示,首先进行EPG模块初始化,然后再对section进行接收、解析及状态监控,具体步骤包括a.初始化EPG模块,通过过滤器对section进行数据过滤,执行步骤b;b.数据接收模块接收嵌有EPG数据的section,将section存储于临时缓存中,若临时缓存已满,丢掉该section,数据接收模块继续接收下一个section数据;否则存储section数据到临时缓存中,执行步骤c;c.数据解析模块一直处于运行状态,如果临时缓存中无数据,数据解析模块作用是实时监控section的解析状态;否则执行步骤d;d.如果临时缓存中有未解析的section,数据解析模块作用是解析缓存数据section,并将解析后的数据进行存储;否则执行步骤c;e.如果所有section均解析完成,执行步骤c;否则执行步骤d;f.如果临时缓存中有未解析的section,解析该section数据,将解析后的数据存储Ram或Flash;如果所有section均解析完成,执行步骤e。EPG数据处理通过初始化EPG模块,数据过滤、数据接收模块,数据解析模块来实现。初始化EPG模块包括创建数据接收模块、数据解析模块、信号量、消息队列数据过滤是通过过滤器实现的。section是同一表段的section,只需要设置一个过滤器,如表格的标识为0x51,0x52…0x5f均属于Oxh表段进行数据过滤。数据接收任务进行有效section数据的接收,并将section存储于临时缓存,其中数据接收任务进行接收section时,通过section的版本号和CRC来判断section是否正确。数据解析任务,若临时缓存中有数据,数据解析任务作用为解析缓存数据;若临时缓存中无数据,那么数据解析任务作用为监控状态,即实时监控和执行section数据的解析状态,内存使用状态,数据使用状态,一旦临时缓存中有数据,解析任务切换到解析缓存的数据。本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。权利要求1.一种数字电视EPG数据接收和解析方法,其特征在于对section进行接收、解析及状态监控,具体步骤包括a.初始化EPG模块,通过过滤器对section进行数据过滤,执行步骤b;b.数据接收模块接收嵌有EPG数据的section,将section存储于临时缓存中,若临时缓存已满,丢掉该section,数据接收模块继续接收下一个section数据;否则存储section数据到临时缓存中,执行步骤c;c.数据解析模块一直处于运行状态,如果临时缓存中无数据,数据解析模块作用是实时监控section的解析状态;否则执行步骤d;d.如果临时缓存中有未解析的section,数据解析模块作用是解析缓存数据section,并将解析后的数据进行存储;否则执行步骤c;e.如果所有section均解析完成,执行步骤c;否则执行步骤d。2.根据权利要求1所述的一种数字电视EPG数据接收和解析方法,其特征在于所述初始化EPG模块包括创建数据接收模块、数据解析模块、信号量、消息队列。3.根据权利要求1所述的一种数字电视EPG数据接收和解析方法,其特征在于所述数据解析模块实时监控section的解析状态同时,还实时监控内存使用状态、数据使用状态。4.根据权利要求1所述的一种数字电视EPG数据接收和解析方法,其特征在于所述数据接收模块接收section时,通过section的版本号和CRC来判断section是否正确。5.根据权利要求1所述的一种数字电视EPG数据接收和解析方法,其特征在于所述section经过数据解析模块解析后,解析数据存储于Ram或Flash。全文摘要本发明涉及数字电视应用技术,特别涉及一种数字电视EPG数据接收和解析方法。本发明克服现有技术中存在的EPG数据接收和解析的流程复杂问题,提出一种数字电视EPG数据接收和解析方法,数据接收模块和数据解析模块处理数据都是基于section单元数据,而且因为通过多任务模块实时处理,能实时地处理section,不需要较大的临时缓存。本发明通过一系列的步骤实现设计,应用于数字电视EPG数据处理应用领域。文档编号H04N21/435GK102131116SQ20111002649公开日2011年7月20日申请日期2011年1月25日优先权日2011年1月25日发明者郝建伟申请人:四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1