一种实现消除pcr间隔异常的方法及装置的制造方法_2

文档序号:9814765阅读:来源:国知局
参看图1,是本发明提供的实现消除PCR间隔异常的方法的一个实施例的步骤流程 图。
[0038] 在本实施例中,所述的实现消除PCR间隔异常的方法,主要包括W下步骤Sl~步骤 S4:
[0039] 步骤Sl:对系统接收的TS流进行平滑处理。
[0040] 具体实施时,所述实现消除PCR间隔异常的方法还包括:根据系统接收的TS流中的 自适应字段,判断当前接收的TS流是否包含PCR数据包;若当前接收的TS流中的数据包为 PCR数据包,则提取出所述PCR数据包中的PCR字段,并产生一个使能信号;反之,则不作处 理。
[0041] 在本实施例中,步骤Sl包括:将PCR数据包在TS流中所处的位置与PCR数据包中的 PCR值进行匹配。平滑处理是本发明实施例接收TS流的前提条件;系统在接收到一个PCR数 据包之后,开始监控PCR数据包的间隔。
[00创步骤S2:实时监控TS流的PCR数据包的间隔。
[0043] 步骤S3:根据设定的判决口限范围,判断PCR数据包的间隔是否异常。
[0044] 参看图2,是本发明提供的一种判断PCR数据包的间隔是否异常的实现方式的步骤 流程图。
[0045] 在一种可实现的方式中,所述步骤S3包括:
[0046] 步骤S31:在系统接收到第一个PCR数据包时,根据当前时刻的时钟基准(简称"时 基"),按照固定的时间间隔产生判决口限;
[0047] 步骤S32:系统每接收到一个PCR数据包,记录每一个使能信号的时钟基准;
[0048] 步骤S33:根据每一个使能信号的时钟基准和当前PCR数据包的判决口限的时钟基 准,判断当前PCR数据包的到达时刻是否早于或晚于判决口限的时间节点。
[0049] 步骤S4:在判定PCR数据包的间隔为异常时,执行修正异常PCR数据包间隔的操作。
[0050] 具体地,所述步骤S4包括W下=种情况:
[0051] 首先,如果接收PCR数据包的时基是判决口限范围内的,则通知包替换无需作包替 换的操作。
[0052] 第二,在当前PCR数据包的到达时刻早于所述判决口限的时间节点时,将当前PCR 数据包替换为一个空包;请求一个新的PCR值,用于生成一个新生成的PCR数据包;并且,在 所述判决口限的范围内,将所述空包替换为所述新生成的PCR数据包。具体实施时,如果下 一个PCR数据包提前到来,则将运个PCR包包从TS流中去除,在其相应的位置上替换成一个 空包,然后在理应接收到下一个PCR数据包的时钟基准处自产生一个新的PCR数据包替换TS 流中的相应的空包。
[0053] 第S,在当前PCR数据包的到达时刻晚于所述判决口限的时间节点时,判断是否在 超时时钟基准范围内接收到一个PCR数据包;若是,则请求一个新的PCR值,用于生成一个新 生成的PCR数据包,并将当前的空包替换为所述新生成的PCR数据包;若否,则执行下一个 PCR数据包异常间隔监听。具体实施时,如果在理应收到下一个PCR数据包的时钟基准处仍 然没有收到PCR数据包,则产生一个新PCR数据包替换TS流中的一个空包,并将某些原因(如 网络延迟等)下,导致延迟到来的下一个PCR数据包删除。
[0054] 在本实施例中,为生成一个新的PCR数据包,需要首先产生一个新的PCR值,作为的 新的PCR数据包中自适应字段中的PCR字段。
[0055] 当接收到计算一个新的PCR值命令,则根据前一个PCR数据包的PCR值和计时器的 时基,计算新的PCR值。
[0056] 参看图3,是本发明实施例提供的当前PCR数据包的到达时刻早于所述判决口限的 时间节点的时刻示意图。参看图4,是本发明实施例提供的当前PCR数据包的到达时刻晚于 所述判决口限的时间节点的时刻示意图。
[0057] 在一种可实现的方式中,PCR值的计算过程如下:
[0058] A)在当前PCR数据包的到达时刻早于所述判决口限的时间节点时,如图3所示,图3 中的tpCRl和tpCR2为系统接收的两个相邻的PCR数据包,tpCR*2为空包的时钟基准,tTH-和tTH+为 判决口限时基,tTH-和tTH+之间的时间为判决口限的范围。此时,新的PCR值可W采用W下方 程计算:
[0065] 上式(1)~(4)中,符号"%"为求余运算;PCR2_base为原PCR数据包的基础值;new_ PCR2_base为新PCR数据包的基础值;PCR2_next为原下一时刻PCR数据包的PCR值;new_ PCR2_next为新的下一时刻用于替换空包的PCR数据包的PCR值。
[0066] B)在当前PCR数据包的到达时刻晚于所述判决口限的时间节点时,如图4所示,图4 中的tpCRl和tpCR2为系统接收的两个相邻的PCR数据包,tpCR*2为空包的时钟基准,tTH-和tTH+为 判决口限时基,tTH-和tTH+之间的时间为判决口限的范围。本实施例中接收到的PCR数据包是 在监听"迟到"PCR包超时的时间点(超时时钟基准范围)内。此时,新的PCR值可W采用W下 方程计算:
[0073] 上式(5)~(8)中的符号定义与式子(1)~(4)相同。
[0074] 与上述实施例提供的一种实现消除PCR间隔异常的方法相对应,本发明实施例还 进一步提供了一种实现消除PCR间隔异常的装置。
[0075] 参看图5,是本发明提供的实现消除PCR间隔异常的装置的一个实施例的结构示意 图。
[0076] 在本实施例中,所述的实现消除PCR间隔异常的装置基于可编程数字逻辑器件实 现,主要包括:
[0077] 平滑处理单元10,用于对系统接收的TS流进行平滑处理;
[0078] 接收单元20,用于接收TS流中的PCR数据包;
[0079] 计时器30,用于实时监控TS流的PCR数据包的间隔;
[0080] 控制单元40,用于根据设定的判决口限范围,判断PCR数据包的间隔是否异常;
[0081] 修正单元50,用于在判定PCR数据包的间隔为异常时,执行修正异常PCR数据包间 隔的操作。
[0082] 进一步地,本发明实施例提供的实现消除PCR间隔异常的装置还包括FIF0(First In First Out,先进先出)单元60。
[0083] 具体实施时,所述接收单元20,还用于根据系统接收的TS流中的自适应字段,判断 当前接收的TS流是否包含PCR数据包。
[0084] 若当前接收的TS流中的数据包为PCR数据包,则提取出所述PCR数据包中的PCR字 段,并产生一个使能信号发送给所述控制单元40;
[0085] 反之(即为普通数据包),则对TS流中的数据包不作处理,并将所述TS流中的数据 包发送至所述FIFO单元60。
[0086] 在本实施例中,所述计时器30,还用于根据系统时钟计数产生一个时钟基准(系统 时基),记录接收每一个PCR数据包的时刻,W及,用于产生判决口限的时钟基准(判决时 基);
[0087] 所述控制单元40,还用于根据所述接收单元20第一次发出的使能信号和当前时刻 所述计时器30所产生的用于产生产生判决口限的时钟基准,按照固定的时间间隔产生判决 n限;
[0088] 并且,所述控制单元40还用于根据每一个使能信号的时钟基准(系统时基)和当前 PCR数据包的判决口限的时钟基准(判决时基),判断当前PCR数据包的到达时刻是否早于或 晚于判决口限的时间节点。
[0089] 具体实施时,系统在收到第一个PCR数据包后,即控制单元40接收到第
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1