一种解复用过滤PAT数据分发方法与流程

文档序号:33019460发布日期:2023-01-20 18:17阅读:24来源:国知局
一种解复用过滤pat数据分发方法
技术领域
:1.本发明属于数字机顶盒
技术领域
:,具体涉及一种用于数字电视机顶盒解复用过滤pat数据分发的方法。
背景技术
::2.节目特定信息(psi,programspecificinformation)是数字视频广播(dvb,digitalvideobroadcast)业务的基础信息来源,所有dvb相关业务都需要通过psi获取到业务的必要信息才能展开。psi描述了传输流所携带的内容,包含了对构建各节目的基本流的描述和对节目本身的描述。所有的psi信息都以表的形式从中心系统广播下来,表中包含了整个广播网络的物理特征和节目信息。如果需要实现dvb的各种业务,从psi提取业务需要的信息是基础。3.dvb标准里面已经定义了各种表的过滤方法,每种表都有唯一的包标识符(pid,packetidentifier),同一种表里面的不同子表有唯一的表标识(tid,tableid),因此过滤psi信息最基础的方法就是通过pid和tid过滤到需要的表。另外,即使通过pid和tid进行一次过滤,有时候信息量还是太大,因此dvb标准里规定可以通过匹配表的头部信息进一步精确过滤需要的表。过滤psi信息的基础原理就是:匹配pid、tid和表头信息,得到需要的表。一般来说机顶盒里面的psi的过滤系统需要硬件解复用和过滤引擎方法组成。4.由于psi承载了整个dvb的所有业务信息,必然会有多种业务需要相同的表信息。例如搜索电视节目需要从psi中的pat(programassociationtable,节目关联表,定义了当前ts流中所有的节目,其pid为0x0000,它是psi的根节点,要查寻找节目必须从pat表开始查找)和pmt(programmaptable,节目映射表,指定一个或多个节目的pid)获取节目信息;ca(条件接收,conditionalaccess,是基于混合密码系统一种应用,主要功能是阻止非法入侵数字广播网络,并允许被授权的用户收看特定的节目而使未被授权的用户无法收看)服务也需要pat、pmt、cat、ecm、emm信息,每过滤一张表需要一个解复用硬件资源,如果同时过滤大于硬件资源的表,那么需要等待前面表过滤完成才能进行下一张表过滤,如果相同pid表很多就会浪费资源。因此,如何节省解复用硬件资源过滤psi相同pid表数据是机顶盒系统设计中一个重要议题。过滤psi/si需要注意以下几个特点:同一个psi数据需要给多个业务使用;每个psi数据过滤需要硬件解复用资源,增加一个硬件资源成本增加。技术实现要素:5.本发明的目的就是针对机顶盒应用领域中解复用硬件资源成本高、申请硬件资源需要花费时间长、需要的缓存大的问题,提供一种用于数字电视机顶盒解复用过滤pat数据分发的方法。6.本发明方法包括申请pat数据过滤通道和释放pat数据过滤通道。7.所述的申请pat数据过滤通道具体是:8.步骤(1)机顶盒等待用户发送播放节目指令;9.步骤(2)机顶盒接收用户发送的播放节目指令,启动条件接收任务,条件接收任务向过滤引擎申请节目包标识符pid为0x0000的关联表pat的数据过滤通道;10.步骤(3)机顶盒判断节目是否需要更新,如果需要更新,启动搜台任务,搜台任务向过滤引擎申请节目包标识符pid为0x0000的关联表pat的数据过滤通道;如果不需要更新,返回步骤(1);11.步骤(4)过滤引擎如果接收到一个pid为0x0000的pat的数据过滤通道的请求,则执行步骤(5);如果接收到两个pid为0x0000的pat的数据过滤通道的请求,则执行步骤(10);12.步骤(5)过滤引擎判断硬件资源是否被占用,如果未占用,过滤引擎给该数据过滤通道的请求分配硬件资源,即物理数据过滤通道,执行步骤(6);如果占用,则分配失败,返回步骤(1);13.步骤(6)过滤引擎通知条件接收任务启动数据读取;14.步骤(7)条件接收任务向过滤引擎请求读取数据;15.步骤(8)过滤引擎从物理数据过滤通道读取数据;16.步骤(9)过滤引擎通过物理数据过滤通道向条件接收任务发送数据,条件接收任务读取数据;执行步骤(15);17.步骤(10)过滤引擎判断硬件资源是否被占用,如果未占用,过滤引擎给条件接收任务的数据过滤通道的请求分配硬件资源,即物理数据过滤通道,给过滤引擎给搜台任务的数据过滤通道的请求分配软件资源,即虚拟数据过滤通道,执行步骤(11);如果占用,则分配失败,返回步骤(1);18.步骤(11)过滤引擎通知条件接收任务和搜台任务启动数据读取;19.步骤(12)条件接收任务和搜台任务分别向过滤引擎请求读取数据;20.步骤(13)过滤引擎从物理数据过滤通道读取数据,进行缓存,并拷贝至虚拟数据过滤通道;21.步骤(14)过滤引擎通过物理数据过滤通道向条件接收任务发送数据,条件接收任务读取数据;过滤引擎通过虚拟数据过滤通道向搜台任务发送数据,搜台任务读取数据;执行步骤(15);22.步骤(15)播放节目。23.所述的释放pat数据过滤通道具体是:24.步骤(a)机顶盒等待用户发送关闭节目指令;25.步骤(b)机顶盒接收用户发送的关闭节目指令,所有任务向过滤引擎发送释放数据过滤通道的指令;26.步骤(c)过滤引擎如果接收到一个释放pid为0x0000的pat的数据过滤通道的请求,则执行步骤(d);如果接收到两个释放pid为0x0000的pat的数据过滤通道的请求,则执行步骤(e);27.步骤(d)过滤引擎释放硬件资源,即物理数据过滤通道;过滤引擎通知条件接收任务释放成功,条件接收任务关闭;执行步骤(f);28.步骤(e)过滤引擎首先释放软件资源,即虚拟数据过滤通道,过滤引擎通知搜台任务释放成功,搜台任务关闭;然后释放硬件资源,即物理数据过滤通道,过滤引擎通知条件接收任务释放成功,条件接收任务关闭;执行步骤(f);29.步骤(f)释放成功,节目关闭。30.本发明方法采用了过滤引擎技术,通过过滤引擎对解复用数据过滤通道进行硬件资源管理,从而实现了相同pid采用同样的硬件资源,节省了解复用硬件资源占用,减少了硬件缓存申请,同时减少了硬件资源分配时间。过滤引擎采用数据分发技术,让需要获取相同pid数据的任务直接从虚拟数据通道读取数据,提高的数据过滤效率,能够让任务更快的获取数据,从而缩短的播放启动时间,让用户的体验更优。附图说明31.图1为本发明申请pat数据过滤通道的流程示意图;32.图2为本发明方法中申请pat数据通道的时序图;33.图3为本发明方法中获取pat数据的时序图;34.图4为本发明释放pat数据过滤通道的流程示意图。具体实施方式35.一种解复用过滤pat数据分发方法,包括:申请pat数据过滤通道和释放pat数据过滤通道。36.申请pat数据过滤通道的具体流程如图1所示:37.步骤(1)机顶盒等待用户发送播放节目指令;38.步骤(2)机顶盒接收用户发送的播放节目指令,启动条件接收任务,条件接收任务向过滤引擎申请节目包标识符pid为0x0000的关联表pat的数据过滤通道;39.步骤(3)机顶盒判断节目是否需要更新,如果需要更新,启动搜台任务,搜台任务向过滤引擎申请节目包标识符pid为0x0000的关联表pat的数据过滤通道;如果不需要更新,返回步骤(1);40.步骤(4)过滤引擎如果接收到一个pid为0x0000的pat的数据过滤通道的请求,则执行步骤(5);如果接收到两个pid为0x0000的pat的数据过滤通道的请求,则执行步骤(10);41.步骤(5)过滤引擎判断硬件资源是否被占用,如果未占用,过滤引擎给该数据过滤通道的请求分配硬件资源,即物理数据过滤通道,执行步骤(6);如果占用,则分配失败,返回步骤(1);42.步骤(6)过滤引擎通知条件接收任务启动数据读取;43.步骤(7)条件接收任务向过滤引擎请求读取数据;44.步骤(8)过滤引擎从物理数据过滤通道读取数据;45.步骤(9)过滤引擎通过物理数据过滤通道向条件接收任务发送数据,条件接收任务读取数据;执行步骤(15);46.步骤(10)过滤引擎判断硬件资源是否被占用,如果未占用,过滤引擎给条件接收任务的数据过滤通道的请求分配硬件资源,即物理数据过滤通道,给过滤引擎给搜台任务的数据过滤通道的请求分配软件资源,即虚拟数据过滤通道,执行步骤(11);如果占用,则分配失败,返回步骤(1);47.步骤(11)过滤引擎通知条件接收任务和搜台任务启动数据读取;48.步骤(12)条件接收任务和搜台任务分别向过滤引擎请求读取数据;49.步骤(13)过滤引擎从物理数据过滤通道读取数据,进行缓存,并拷贝至虚拟数据过滤通道;50.步骤(14)过滤引擎通过物理数据过滤通道向条件接收任务发送数据,条件接收任务读取数据;过滤引擎通过虚拟数据过滤通道向搜台任务发送数据,搜台任务读取数据;执行步骤(15);51.步骤(15)播放节目。52.不同业务根据需求申请虚拟解复用数据过滤通道,没有相同包标识符pid的数据通道从硬件解复用获取资源,有相同pid的数据通道从过滤引擎获取资源,其工作时序图如图2所示。当业务需要获取数据,根据不同的句柄从过滤引擎获取数据,句柄能够指示引擎是否从硬件资源获取数据,其工作时序图如图3所示。53.释放pat数据过滤通道的具体流程如图4所示:54.步骤(1)机顶盒等待用户发送关闭节目指令;55.步骤(2)机顶盒接收用户发送的关闭节目指令,所有任务向过滤引擎发送释放数据过滤通道的指令;56.步骤(3)过滤引擎如果接收到一个释放pid为0x0000的pat的数据过滤通道的请求,则执行步骤(4);如果接收到两个释放pid为0x0000的pat的数据过滤通道的请求,则执行步骤(5);57.步骤(4)过滤引擎释放硬件资源,即物理数据过滤通道;过滤引擎通知条件接收任务释放成功,条件接收任务关闭;执行步骤(6);58.步骤(5)过滤引擎首先释放软件资源,即虚拟数据过滤通道,过滤引擎通知搜台任务释放成功,搜台任务关闭;然后释放硬件资源,即物理数据过滤通道,过滤引擎通知条件接收任务释放成功,条件接收任务关闭;执行步骤(6);59.步骤(6)释放成功,节目关闭。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1