一种用于数字电视机顶盒过滤PSI/SI信息的方法技术

技术编号:33858161 阅读:26 留言:0更新日期:2022-06-18 10:47
本发明专利技术公开了一种用于数字电视机顶盒过滤PSI/SI信息的方法。本发明专利技术包括申请过滤模块、过滤任务模块、解析任务模块、释放过滤模块。申请过滤模块根据PDI、TID和匹配条件申请过滤器硬件,创建过滤任务和解析任务。过滤任务模块查询过滤器硬件状态,如果未超时则读取过滤到的PSI/SI数据,发送申请到的FIFO空间。解析任务模块从FIFO空间读取、解析PSI/SI数据,将解析后的PSI/SI数据发送给用户。释放过滤模块按顺序停止过滤器硬件、销毁解析任务模块、销毁过滤任务模块,销毁残留数据,最后释放过滤器硬件。本发明专利技术实现多个过滤任务并发执行,效率高。解析任务模块与过滤任务模块隔离,两个模块达到最优效果。两个模块达到最优效果。两个模块达到最优效果。

【技术实现步骤摘要】
一种用于数字电视机顶盒过滤PSI/SI信息的方法


[0001]本专利技术属于数字机顶盒
,具体涉及一种用于数字电视机顶盒过滤PSI/SI信息的方法。

技术介绍

[0002]PSI/SI(Program Specific Information/Service Information)是DVB业务的基础信息来源,所有DVB相关业务都需要通过PSI/SI获取到业务的必要信息才能展开。PSI描述了传输流所携带的内容,包含了对构建各节目的基本流的描述和对节目本身的描述。为了给IRD提供更多的接收和解码所需信息,支持更复杂的应用,DVB又准备了一个开放的服务信息系统(DVB

SI)来辅助DVB信号。SI可以描述由某一播放者提供的每一个服务的技术特征及其他的信息,通过SI的帮助,用户可以在传输流中选择服务或事件,机顶盒使用SI 信息能完成自动配置和自动接收。所有的PSI/SI信息都以表的形式从中心系统广播下来,表中包含了整个广播网络的物理特征和节目信息,所有这些表在传输时,都将被封装在大小固定的被称为段(section)的数据块中。
[0003]可见如果需要实现DVB的各种业务,从PSI/SI提取业务需要的信息是基础。例如搜索电视节目需要从PSI中的PAT和PMT获取节目信息;EPG业务需要从SI中EIT获取EVENT 信息。
[0004]由于PSI/SI承载了整个DVB的所有业务信息,必然有大量数据通过传输通道传递到终端机顶盒,并且很多信息是由实效性的,如果不能及时接收将会错误重要信息导致业务无法正常开展。因此,如何快速高效地从海量数据中过滤到需要的PSI/SI是机顶盒系统设计中一个重要议题。
[0005]要过滤PSI/SI信息就得了解PSI/SI的过滤原理:DVB所有业务信息均以表的形式存在,不同的表分别属于PSI或者SI,比如PAT和PMT这两个搜台业务需要的表属于PSI,EIT是 EPG业务需要的表则属于SI.DVB标准里面已经定义了各种表的过滤方法,即每种表都有唯一的PID(Packet Identifier),同一种表里面的不同子表有唯一的TID(table id),因此过滤PSI/SI信息最基础的方法就是通过PID和TID过滤到需要的表。另外,即使通过PID 和TID进行一次过滤,有时候信息量还是太大,因此DVB标准里规定可以通过匹配表的头部信息进一步精确过滤需要的表。所以,过滤PSI/SI信息的基础原理就是:匹配PID TID 和表头信息,得到需要的表。一般来说机顶盒里面的PSI/SI的过滤系统需要硬件过滤器和一套软件过滤方法组成,PSI/SI信息的数据量和时效性对PSI/SI的过滤机制提出了相当高的要求。需要一套适合机顶盒使用的高效的PSI/SI过滤方法。
[0006]总结,过滤PSI/SI需要注意几个特点:PSI/SI的数据量很大;PSI/SI的数据有时效性要求,要求过滤尽可能快;PSI/SI的数据过滤原理是标准的,设计的过滤方法要满足标准要求。

技术实现思路

[0007]本专利技术的目的就是提供一种用于数字电视机顶盒过滤PSI/SI信息的方法。
[0008]本专利技术包括申请过滤模块、过滤任务模块、解析任务模块、释放过滤模块。
[0009]申请过滤模块具体是:
[0010]步骤(I)用户向过滤模块发送申请过滤PSI/SI请求,并发送PID、TID和匹配条件;
[0011]步骤(Ⅱ)根据PDI、TID和匹配条件申请过滤器硬件;如果申请成功,过滤器硬件开始执行过滤,执行步骤(Ⅲ),如果申请失败,执行步骤(Ⅱ),继续申请;
[0012]步骤(Ⅲ)通过过滤任务模块创建过滤任务,并监听申请到的过滤器硬件;
[0013]步骤(Ⅳ)通过解析任务模块创建解析任务,并监听本次过滤任务模块创建的过滤任务。
[0014]过滤任务模块具体是:
[0015]步骤(A)过滤任务模块查询过滤器硬件状态;
[0016]步骤(B)判断过滤器硬件过滤是否超时:如果超时,则执行步骤(C),否则执行步骤(D);
[0017]步骤(C)过滤任务模块通知外部过滤器硬件过滤超时,本次过滤结束;
[0018]步骤(D)过滤任务模块从过滤器硬件读取过滤到的PSI/SI数据;
[0019]步骤(E)过滤任务模块申请FIFO空间;
[0020]步骤(F)过滤任务模块判断申请FIFO空间是否成功:如果成功则执行步骤(G),如果失败则返回步骤(E);
[0021]步骤(G)过滤任务模块发送PSI/SI数据到FIFO空间;
[0022]步骤(H)过滤任务模块通知解析任务模块去FIFO读取PSI/SI数据,返回步骤(A)。
[0023]解析任务模块具体是:
[0024]步骤(a)解析任务模块等待过滤任务模块通知;
[0025]步骤(b)解析任务模块去FIFO空间读取PSI/SI数据;
[0026]步骤(c)解析任务模块判断读取的PSI/SI数据是否有错:如果有错,执行步骤(d),否则执行步骤(e);
[0027]步骤(d)丢弃错误的数据,返回步骤(a),继续等待;
[0028]步骤(e)解析任务模块解析得到的PSI/SI数据;
[0029]步骤(f)解析任务模块判断解析后的PSI/SI数据是否有错:如果有错,执行步骤(d),否则执行步骤(g);
[0030]步骤(g)解析任务模块将解析后的PSI/SI数据发送给用户,返回步骤(a)。
[0031]释放过滤模块具体是:
[0032]步骤(1)用户发送释放过滤命令,并发送PID、TID和匹配条件;
[0033]步骤(2)释放过滤模块根据PDI、TID和匹配条件查找过滤器硬件、过滤任务模块、解析任务模块;
[0034]步骤(3)判断过滤器硬件、过滤任务模块、解析任务模块是否查找成功:如果不成功,执行步骤(4),如果完全成功,执行步骤(5);
[0035]步骤(4)将错误信息返回用户,结束;
[0036]步骤(5)停止步骤(2)找到的过滤器硬件;
[0037]步骤(6)销毁步骤(2)找到的解析任务模块;
[0038]步骤(7)销毁步骤(2)找到的过滤任务模块;
[0039]步骤(8)判断FIFO空间里是否存在本次过滤的PSI/SI数据残留:如果存在,执行步骤 (9),否则执行步骤(10);
[0040]步骤(9)从FIFO空间获取一条残留数据,并且销毁,返回步骤(8),继续判断;
[0041]步骤(10)释放步骤(2)找到的过滤器硬件。
[0042]本专利技术过滤任务模块采用并发模式,并且自动匹配硬件的demux特性,做到尽可能多的过滤任务并发执行,从而过滤器硬件读取PSI/SI信息效率最大化;FIFO空间采用了交互方式和自适应大小设计,保证数据接收不出错,发送数据快速,以及存储空间最大化。本专利技术解析任务模块也采用并发设计,并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于数字电视机顶盒过滤PSI/SI信息的方法,包括申请过滤模块、过滤任务模块、解析任务模块、释放过滤模块,其特征在于:所述的申请过滤模块具体是:步骤(I)用户向过滤模块发送申请过滤PSI/SI请求,并发送PID、TID和匹配条件;步骤(Ⅱ)根据PDI、TID和匹配条件申请过滤器硬件;如果申请成功,过滤器硬件开始执行过滤,执行步骤(Ⅲ),如果申请失败,执行步骤(Ⅱ),继续申请;步骤(Ⅲ)通过过滤任务模块创建过滤任务,并监听申请到的过滤器硬件;步骤(Ⅳ)通过解析任务模块创建解析任务,并监听本次过滤任务模块创建的过滤任务;所述的过滤任务模块具体是:步骤(A)过滤任务模块查询过滤器硬件状态;步骤(B)判断过滤器硬件过滤是否超时:如果超时,则执行步骤(C),否则执行步骤(D);步骤(C)过滤任务模块通知外部过滤器硬件过滤超时,本次过滤结束;步骤(D)过滤任务模块从过滤器硬件读取过滤到的PSI/SI数据;步骤(E)过滤任务模块申请FIFO空间;步骤(F)过滤任务模块判断申请FIFO空间是否成功:如果成功则执行步骤(G),如果失败则返回步骤(E);步骤(G)过滤任务模块发送PSI/SI数据到FIFO空间;步骤(H)过滤任务模块通知解析任务模块去FIFO读取PSI/SI数据,返回步骤(A);所述的解析任务模块具体是:步骤(a)解析任务模块等待过滤任务模块通知;步骤(b...

【专利技术属性】
技术研发人员:张令刘非沈建春黄俊斌刘建华
申请(专利权)人:杭州国芯科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1