一种优化的机顶盒电子节目指南系统设计与实现
3.2 EPG数据库
传统机顶盒上的EPG数据库是单一的节目信息数据库,本文的优化处理在于:节目索引和节目详细信息分别建立数据库并彼此独立维护。其中节目索引数据库是按照频道-子表-段-节目的树状索引结构,如图4所示。其中段节点包含了它所属所有节目的id(参数event_id),同时还包含了表示该段是否接收的参数sectavail。
这种树状索引数据库有三个优点:
1. 树状索引所有节目id,这样便于节目信息的查询和按时间排序
2. 记录某频道的EIT表所有段的接收情况,便于SI引擎在接收时判断该段是否已经接收
3. 索引结构便于节目信息数据库的管理,如删除某一个频道的所有高级EPG信息等
节目信息数据库则存储了每个节目的详细信息,包括节目名称、节目起始和终止时间、节目简介以及节目语言种类等。其中重要的参数是节目id,通过该参数节目索引数据库可以访问相应的节目信息数据库内容。
3.3 EPG应用程序
EPG应用程序主要功能是响应遥控器中相关的EPG按钮,并查询EPG数据库,将节目信息按照时间排序输出到OSD界面中。对于简单EPG,只需作当前和下一个节目的时间排序输出;而对于高级EPG,OSD界面中选中特定频道和特定日期以后,通过访问EPG数据库中的节目索引数据库,提取出指定频道的所有节目id,然后根据节目id在节目信息数据库中筛选出指定日期的节目,并按节目起始时间做冒泡排序,最后输出到OSD显示。
4 结论
本文介绍了机顶盒中EPG系统的架构,并就具体的功能模块介绍了优化方案。在SI引擎方面提出了针对简单EPG和高级EPG不同的流程,在EPG数据库方面提出了节目索引和节目信息分离的数据库结构。这种优化结构在实际的EPG码流测试中取得良好的效果。
pid控制相关文章:pid控制原理
评论