新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种优化的机顶盒电子节目指南系统的设计方案

一种优化的机顶盒电子节目指南系统的设计方案

作者:时间:2014-04-07来源:网络收藏


本文针对两类不同的SI表接收要求设计不同的SI引擎解决方案。其中简单的SI引擎流程如图2,高级的SI引擎流程如图3.





当过滤器收到EIT表并调用中断处理函数时,简单采用先关闭EIT P/F信道,并设置相关标志,等待后台轮询函数解析处理完该表以后再打开EIT P/F信道重新接收,即过滤器接收表的过程和后台轮询函数解析处理是串行处理的,这种机制能够实时处理当前的表,适合简单EPG信息量小、更新速度快的特点;高级EPG则不关闭信道,而是先解析表头,如果该段没有接收过,则将该段信息插入消息队列,等待后台轮询函数解析处理,即过滤器接收表的过程和后台轮询函数解析处理是并行处理的,这种机制能够保证过滤器收表过程连续而不被后台打断,适合高级EPG信息量大、前端连续发送的特点。

在EIT表版本更新方面,简单EPG收到当前和下一个节目信息以后,立即将过滤器设置成只接收新版本EIT P/F表,这样可以实时接收并更新简单EPG信息;对于高级EPG,由于信息量大且前端更新速度慢,所以在只在每次重新开机时接收最新版本的EIT表信息。

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码流测试中取得良好的效果。


上一页 1 2 下一页

关键词: EPG 机顶盒 数字电视

评论


相关推荐

技术专区

关闭