一种机顶盒解复用ts传输流的方法及系统的制作方法

文档序号:7867767阅读:268来源:国知局
专利名称:一种机顶盒解复用ts传输流的方法及系统的制作方法
技术领域
本发明涉及机顶盒技术领域,尤其涉及一种机顶盒解复用TS传输流的方法及系统。
背景技术
MPEG-2是IS0/IEC/JTC1/SC29/WG11制定的图像压缩标准,它是为了适应数字电视节目的生成、编辑、存储、传输和现实的综合要求而研发的,广泛用于数字电视广播和DVD。数字电视基本上都采用MPEG-2标准进行压缩、打包传输,而IPTV为了能与数字电视广播节目相兼容,它的音视频也采用MPEG-2标准。为了提高带宽利用率,发送端一般都会对多路节目进行复用,形成节目传输流(Multip program transport stream),简称TS传输流,所以我们IPTV机顶盒端就需要对接收到的流或者经TS封装过的文件进行解复用。现有技术中解复用一般采用硬件解复用电路实现,硬件解复用无疑会增加机顶盒的成本,而且硬件解复用电路只能解复用TS媒体,造成了对硬件资源的浪费。

发明内容
本发明的目的是针对现有技术中采用硬件解复用电路导致机顶盒成本高的技术问题,提供一种机顶盒解复用TS传输流的方法。本发明还公开了一种机顶盒解复用TS传输流的系统。本发明的目的通过下述技术方案来实现
一种机顶盒解复用TS传输流的方法,其具体包含以下步骤1.发送端对多路节目进行复用,形成TS传输流传输给机顶盒CPU进行解复用;2.解复用进程读取TS传输流数据,根据TS包的标志位识别出TS包;3.解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=O ;4,解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;5.根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析,得到解复用后的音频数据和视频数据并进行输出。更进一步地,上述步骤I还包括将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。更进一步地,上述方法还包括采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。更进一步地,上述共享内存的方式为指派方式,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。更进一步地,上述方法还包括计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。
本发明还公开了一种机顶盒解复用TS传输流的系统,其具体包括发送端、接收端,所述发送端用于对多路节目进行复用,形成TS传输流传输给接收端;所述接收端包括机顶盒CPU,所述机顶盒CPU用于解复用;所述机顶盒CPU中运行解复用进程,所述解复用进程包括读取模块、解析模块、输出模块,所述读取模块用于读取TS传输流数据,根据TS包的标志位识别出TS包。所述解析模块用于解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=O ;解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析。所述输出模块用于将得到的解复用后的音频数据和视频数据进行输出。更进一步地,上述系统还包括共享内存模块,所述共享内存模块采用中间件将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。
更进一步地,上述还包括多进程处理模块,所述多进程处理模块用于采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。更进一步地,上述系统还包括指派模块,所述指派模块用于共享内存的共享控制,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。更进一步地,上述系统还包括数据大小计算模块,所述数据大小计算模块用于计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。通过采用以上技术方案,本发明具有以下有益效果使得在机顶盒中不需要增加解复用电路就可以实现对TS传输流的解复用,上述机顶盒解复用的方法采用在机软件的方式运行在机顶盒的CPU中,不需要增加任何的硬件成本,降低了机顶盒的生产成本,同时也增加了机顶盒中CPU的利用率。同时解复用的效率高,成本低。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明公开了一种机顶盒解复用TS传输流的方法,其具体包含以下步骤1.发送端对多路节目进行复用,形成TS传输流传输给机顶盒CPU进行解复用;2.解复用进程读取TS传输流数据,根据TS包的标志位识别出TS包;3.解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=O ;4,解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;5.根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析,得到解复用后的音频数据和视频数据并进行输出。通过采用上述技术方案,使得在机顶盒中不需要增加解复用电路就可以实现对TS传输流的解复用,上述机顶盒解复用的方法采用在机软件的方式运行在机顶盒的CPU中,不需要增加任何的硬件成本,降低了机顶盒的生产成本,同时也增加了机顶盒中CPU的利用率。更进一步地,上述步骤I还包括将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。通过设置共享内存池,TS传输流数据的存取通过共享实现,减少了数据的拷贝,提高了机顶盒的效率。更进一步地,上述方法还包括采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。一方面采用多个解复用进程,提高了机顶盒的效率,另外一方面多个进程共享数据,减少数据拷贝,提高效率。更进一步地,上述共享内存的方式为指派方式,共享内存设置读、写指针, 将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。中间件只将TS传输流写入共享内存,解复用进程只将TS传输流从共享内存中读出至解复用缓存中。中间件对共享内存只有写的权限,解复用进程对共享内存只有读的权限。因此采用指派的方式就完成了共享内存的控制,数据的读写,只需要关注进程指派的共享缓存的读写指针位置,不需要对共享缓存进行加锁保护,减少了数据拷贝,力口快了对数据的操作,也降低了 CPU的消耗,这种方式更显现出其高效、快速的优势。更进一步地,上述方法还包括计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。读取进程判断该数据是TS数据,则计算出可读取的数据大小,然后将数据划成小于或等于固定大小的,如1316的数据块送入解复用队列中。解复用队列有数据后,解复用进程使用出队操作取出数据,进行解复用。本发明还公开了一种机顶盒解复用TS传输流的系统,其具体包括发送端、接收端,所述发送端用于对多路节目进行复用,形成TS传输流传输给接收端;所述接收端包括机顶盒CPU,所述机顶盒CPU用于解复用;所述机顶盒CPU中运行解复用进程,所述解复用进程包括读取模块、解析模块、输出模块,所述读取模块用于读取TS传输流数据,根据TS包的标志位识别出TS包。所述解析模块用于解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=O ;解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析。所述输出模块用于将得到的解复用后的音频数据和视频数据进行输出。通过采用上述技术方案,使得在机顶盒中不需要增加解复用电路就可以实现对TS传输流的解复用,上述机顶盒解复用的方法采用在机软件的方式运行在机顶盒的CPU中,不需要增加任何的硬件成本,降低了机顶盒的生产成本,同时也增加了机顶盒中CPU的利用率。更进一步地,上述系统还包括共享内存池,采用中间件将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。通过设置共享内存池,TS传输流数据的存取通过共享实现,减少了数据的拷贝,提高了机顶盒的效率。更进一步地,上述系统还包括多进程处理模块,所述多进程处理模块用于采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。一方面采用多个解复用进程,提高了机顶盒的效率,另外一方面多个进程共享数据,减少数据拷贝,提闻效率。更进一步地,上述系统还包括指派模块,所述指派模块用于共享内存的共享控制,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。中间件只将TS传输流写入共享内存,解复用进程只将TS传输流从共享内存中读出至解复用缓存中。中间件对共享内存只有写的权限,解复用进程对共享内存只有读的权限。因此采用指派的方式就完成了共享内存的控制,数据的读写,只需要关注进程指派的共享缓存的读写指针位置,不需要对共享缓存进行加锁保护,减少了数据拷贝,加快了对数据的操作,也降低了 CPU的消耗,这种方式更显现出其高效、快速的优势。更进一步地,上述系统还包括数据大小计算模块,所述数据大小计算 模块用于计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。读取进程判断该数据是TS数据,则计算出可读取的数据大小,然后将数据划成小于或等于固定大小的,如1316的数据块送入解复用队列中。解复用队列有数据后,解复用进程使用出队操作取出数据,进行解复用。采用上述本发明的技术方案,使得无需硬件模块支持,通过CPU算法软解复用ts格式封装的文件和媒体流。根据DVB-13818数字电视规范设计,兼容网络流和本地文件形式的TS数据。共享数据缓存的访问及保护采用使用权指派方式取代加锁的方式。上述的实施例中所给出的系数和参数,是提供给本领域的技术人员来实现或使用本发明的,本发明并不限定仅取前述公开的数值,在不脱离本发明的发明思想的情况下,本领域的技术人员可以对上述实施例作出种种修改或调整,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
权利要求
1.一种机顶盒解复用TS传输流的方法,其具体包含以下步骤1.发送端对多路节目进行复用,形成TS传输流传输给机顶盒CPU进行解复用;2.解复用进程读取TS传输流数据,根据TS包的标志位识别出TS包;3.解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=O ;4,解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;5.根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析,得到解复用后的音频数据和视频数据并进行输出。
2.如权利要求I所述的机顶盒解复用TS传输流的方法,其特征在于所述步骤I还包括将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。
3.如权利要求2所述的机顶盒解复用TS传输流的方法,其特征在于所述方法还包括采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。
4.如权利要求3所述的机顶盒解复用TS传输流的方法,其特征在于所述共享内存的方式为指派方式,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。
5.如权利要求4所述的机顶盒解复用TS传输流的方法,其特征在于所述方法还包括计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。
6.一种机顶盒解复用TS传输流的系统,其特征在于包括发送端、接收端,所述发送端用于对多路节目进行复用,形成TS传输流传输给接收端;所述接收端包括机顶盒CPU,所述机顶盒CPU用于解复用;所述机顶盒CPU中运行解复用进程,所述解复用进程包括读取模块、解析模块、输出模块,所述读取模块用于读取TS传输流数据,根据TS包的标志位识别出TS包; 所述解析模块用于解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=O ;解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析; 所述输出模块用于将得到的解复用后的音频数据和视频数据进行输出。
7.如权利要求6所述的机顶盒解复用TS传输流的系统,其特征在于所述系统还包括共享内存模块,所述共享内存模块采用中间件将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。
8.如权利要求7所述的机顶盒解复用TS传输流的系统,其特征在于所述系统还包括多进程处理模块,所述多进程处理模块用于采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。
9.如权利要求8所述的机顶盒解复用TS传输流的系统,其特征在于所述系统还包括指派模块,所述指派模块用于共享内存的共享控制,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。
10.如权利要求9所述的机顶盒解复用TS传输流的系统,其特征在于所述系统还包括数据大小计算模块,所述数据大小计算模块用于计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。
全文摘要
本发明涉及数字电视机顶盒技术领域,本发明公开了一种机顶盒解复用TS传输流的方法,其具体包含以下步骤1.发送端对多路节目进行复用;2.解复用进程读识别出TS包;3.解析TS包头;4.解析节目关联表PAT;5.根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析,得到解复用后的音频数据和视频数据并进行输出。不需要增加任何的硬件成本,降低了机顶盒的生产成本,同时也增加了机顶盒中CPU的利用率。
文档编号H04N21/434GK102970598SQ201210531100
公开日2013年3月13日 申请日期2012年12月11日 优先权日2012年12月11日
发明者李东旭, 申及 申请人:四川九洲电器集团有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1