一种数字电视ts流同步头搜索的实现方法

文档序号:8384113阅读:434来源:国知局
一种数字电视ts流同步头搜索的实现方法
【技术领域】
[0001]本发明涉及一种TS流同步头搜索方法,尤其是涉及一种数字电视TS流同步头搜索的实现方法。
【背景技术】
[0002]数字电视是最近几年才发展起来的新技术,发展非常迅速。数字电视中的码流格式主要是TS流,对数字电视进行分析处理必须针对TS流来实现。TS流有规定的码流格式,为了分析处理TS流,必须找到TS的完整包格式,而首先必须找到TS包的包头,即TS流的同步头。现有技术中查找TS流的同步头普遍存在查找效率低、查找时间长等问题。

【发明内容】

[0003]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种数字电视TS流同步头搜索的实现方法。
[0004]本发明的目的可以通过以下技术方案来实现:
[0005]一种数字电视TS流同步头搜索的实现方法,其特征在于,当检测到连续A个同步字节时认为进入同步状态,在同步状态下连续未检测到B个同步字节认为同步丢失状态。
[0006]优选地,所述的A为4-6个,B为2-4个。
[0007]优选地,所述的A为5个,B为3个。
[0008]优选地,所述的TS流格式为:4字节TS头和184字节TS数据,其中TS头为:1字节同步位为0x47,I位传输错误指示,I位负载开始指示,I位传输优先级,13位PID,2位加密控制,2位调整字段控制,4位相同PID TS包计数。
[0009]优选地,该方法具体包括以下步骤:
[0010]I)初始化时设置同步状态为非同步N_SYNC,计数CNT = O ;
[0011]2)接收缓冲满188字节数据时开始处理;
[0012]3)若同步状态为非同步N_SYNC,则比较当前数据是否是0x47:
[0013]a)若当前数据不是0x47,则计数CNT清0,丢弃I字节数据,返回步骤2 ;
[0014]b)若当前数据是0x47,则计数CNT加1,并执行步骤c);
[0015]c)判断计数CNT是否达到5,若未到5,则丢弃188字节数据,返回步骤2 ;
[0016]d)若计数CNT达到了 5,则认为已经同步,设置同步状态为同步SYNC,计数CNT =0,处理该TS包数据,返回步骤2 ;
[0017]4)若同步状态为同步SYNC,则比较当前数据是否是0x47:
[0018]A)若当前数据是0x47,则计数CNT清0,处理该TS包数据,返回步骤2 ;
[0019]B)若当前数据不是0x47,则计数CNT加1,并执行步骤C);
[0020]C)计数CNT是否达到3,若未到3,则处理该TS包数据,返回步骤2 ;
[0021]D)若计数CNT达到了 3,则认为已经失去同步,置同步状态为非同#N_SYNC,计数CNT清0,丢弃I字节数据,返回步骤2。
[0022]与现有技术相比,本发明具有TS流同步头检索速度快、效率高、精度准、实现成本低等优点。
【附图说明】
[0023]图1为本发明的具体的流程图。
【具体实施方式】
[0024]下面结合附图和具体实施例对本发明进行详细说明。
[0025]实施例
[0026]TS流采用188字节长度的包为单位进行传输,目前流量一般为40Mbps左右,数字电视采用mpeg2编码,每套标清节目的流量一般为4-5Mbps,因此数字电视的每个频点即每个TS流可复用8套节目,实际复用6套节目的比较多。
[0027]TS流格式为:TS头(4字节)和TS数据(184字节)。TS头为:同步(I字节)为0x47,传输错误指示(I位),负载开始指示(I位),传输优先级(I位),PID (13位),加密控制(2位),调整字段控制(2位),相同PID TS包计数(4位),共4字节。因此分析转换TS时首先必须找到同步头,然后按照不同的PID针对每个TS包进行不同的处理。
[0028]搜索同步头的算法如图1所示。图1中分析TS包时首先需要进行TS的同步搜索,分成两个状态,即同步和同步丢失。当检测到连续5个同步字节时认为进入同步状态,在同步状态下连续未检测到3个同步字节认为同步丢失,进行TS包分析时必须处于同步状态下。图中处理188字节模块为TS包的分析处理模块,视不同的应用而进行不同的处理。
[0029]1.初始化时设置同步状态为非同步(N_SYNC),计数CNT = O。
[0030]2.接收缓冲满188字节数据时开始处理。
[0031]3.若同步状态为非同步(N_SYNC),则比较当前数据是否是0x47:
[0032]a)若当前数据不是0x47,则计数CNT清0,丢弃I字节数据,返回步骤2。
[0033]b)若当前数据是0x47,则计数CNT加I ;
[0034]c)计数CNT是否达到5,若未到5,则丢弃188字节数据,返回步骤2。
[0035]d)若计数CNT达到了 5,则认为已经同步,设置同步状态为同步(SYNC),计数CNT=O ;处理该TS包数据(188字节),返回步骤2。
[0036]4.若同步状态为同步(SYNC),则比较当前数据是否是0x47:
[0037]a)若当前数据是0x47,则计数CNT清0,处理该TS包数据(188字节),返回步骤2。
[0038]b)若当前数据不是0x47,则计数CNT加I ;
[0039]c)计数CNT是否达到3,若未到3,则处理该TS包数据(188字节),返回步骤2。
[0040]d)若计数CNT达到了 3,则认为已经失去同步,置同步状态为非同步(N_SYNC),计数CNT清0,丢弃I字节数据,返回步骤2。
【主权项】
1.一种数字电视TS流同步头搜索的实现方法,其特征在于,当检测到连续A个同步字节时认为进入同步状态,在同步状态下连续未检测到B个同步字节认为同步丢失状态。
2.根据权利要求1所述的一种数字电视TS流同步头搜索的实现方法,其特征在于,所述的A为4-6个,B为2-4个。
3.根据权利要求2所述的一种数字电视TS流同步头搜索的实现方法,其特征在于,所述的A为5个,B为3个。
4.根据权利要求3所述的一种数字电视TS流同步头搜索的实现方法,其特征在于,所述的TS流格式为:4字节TS头和184字节TS数据,其中TS头为:1字节同步位为0x47,I位传输错误指示,I位负载开始指示,I位传输优先级,13位PID,2位加密控制,2位调整字段控制,4位相同PID TS包计数。
5.根据权利要求4所述的一种数字电视TS流同步头搜索的实现方法,其特征在于,该方法具体包括以下步骤: 1)初始化时设置同步状态为非同步N_SYNC,计数CNT= O ; 2)接收缓冲满188字节数据时开始处理; 3)若同步状态为非同步N_SYNC,则比较当前数据是否是0x47: a)若当前数据不是0x47,则计数CNT清0,丢弃I字节数据,返回步骤2; b)若当前数据是0x47,则计数CNT加1,并执行步骤c); c)判断计数CNT是否达到5,若未到5,则丢弃188字节数据,返回步骤2; d)若计数CNT达到了5,则认为已经同步,设置同步状态为同步SYNC,计数CNT = 0,处理该TS包数据,返回步骤2 ; 4)若同步状态为同步SYNC,则比较当前数据是否是0x47: A)若当前数据是0x47,则计数CNT清0,处理该TS包数据,返回步骤2; B)若当前数据不是0x47,则计数CNT加1,并执行步骤C); C)计数CNT是否达到3,若未到3,则处理该TS包数据,返回步骤2; D)若计数CNT达到了3,则认为已经失去同步,置同步状态为非同#N_SYNC,计数CNT清0,丢弃I字节数据,返回步骤2。
【专利摘要】本发明涉及一种数字电视TS流同步头搜索的实现方法,当检测到连续A个同步字节时认为进入同步状态,在同步状态下连续未检测到B个同步字节认为同步丢失状态。与现有技术相比,本发明具有TS流同步头检索速度快、效率高、精度准、实现成本低等优点。
【IPC分类】H04N21-242, H04N21-434
【公开号】CN104702977
【申请号】CN201510095965
【发明人】王绍徐, 袁三男
【申请人】上海电力学院
【公开日】2015年6月10日
【申请日】2015年3月4日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1