一种多节目pcr校正系统及方法

文档序号:9551803阅读:532来源:国知局
一种多节目pcr校正系统及方法
【技术领域】
[0001] 本发明涉及数字电视技术领域,尤其涉及一种多节目PCR校正系统及方法,应用 于广电前端设备产品中。
【背景技术】
[0002] 作为TS流中的最基本的同步依据,节目时钟基准(PCR)使得数字电视接收机的解 码视频输出能够锁定于编码器输入端的视频信号源。因而PCR的精度对于数字电视系统的 顺利工作起着非常重要的作用;然而在数字电视系统中,传输流(以下简称TS)在传输过程 中会因为网络传送不稳定以及经过复用等因素造成TS流中的PCR值与解码器接受到的PCR 实际值之间产生一定的误差,这种误差将会使得接收机最终恢复出来的时钟产生抖动或漂 移,甚至引起解码器恢复时钟的失锁,进而造成接收器解码出来的图像出现停顿、跳跃等现 象。基于以上描述,在数字电视传输系统中,前端设备在TS流输出前通常都需要进行PCR 校正,以校正在传输和复用过程中产生的PCR误差。
[0003] 目前广电前端设备中实现PCR校正的方法主要有两种:(1)采用软件方法实现PCR 校正。该方法由于软件无法控制精确的TS流校正时刻,在校正精度上通常较差;(2)采用硬 件方法实现PCR校正。该方法在校正的精度上最好,但是该方法每个TS流都要对应一套硬 件校正电路,成本高,硬件设计复杂,在实际应用中无法支持多流处理情况下的PCR校正。

【发明内容】

[0004] 为了克服现有技术的不足,本发明提供一种多节目PCR校正系统及方法,采用可 编程逻辑器件(FPGA/ASIC等)作为硬件载体,并采用一种处理算法简单,但具备优异容错 特性和校正精度的方法实现多流处理的PCR校正。
[0005] 为达到上述目的,本发明所采取的技术方案为:
[0006] 本发明一方面提供一种多节目PCR校正系统,包括码率调整模块、仲裁模块、PCR 校正控制模块、PCR增量计算模块、新PCR计算模块和包间隔计算模块;
[0007] 码率调整模块,用于根据用户设置的各通道码率值输出恒定码率的TS包,并提取 TS包信息输出给仲裁模块,所述TS包信息包括PID和PCR值;
[0008] 仲裁模块,用于接收多个通道的码率调整模块输出的TS包信息,经仲裁处理后输 出唯一的需当前处理的某个通道的TS包信息给PCR校正控制模块,并向PCR校正控制模块 发起PCR校正起始命令;
[0009] PCR校正控制模块,用于接收仲裁模块发起的PCR校正起始命令和某个通道的TS 包信息,控制协调PCR增量计算模块、新PCR计算模块和包间隔计算模块完成PCR校正处 理,并存储PCR校正中的相关数据值;
[0010] PCR增量计算模块,用于进行各通道TS包计数、对当前校正PCRPID相邻包间隔计 算和PCR增量值计算,并根据计算出的PCR增量值产生PCR增量溢出标识;
[0011] 新PCR计算模块,用于计算得到当前处理PCR包的校正后PCR值;
[0012] 包间隔计算模块,用于根据校正后的PCR值和输入TS流中的原始PCR值信息、之 前的校正信息对包间隔值进行修正;
[0013] 所述仲裁模块,还用于将校正后的PCR值根据仲裁信息分配给对应通道的码率调 整模块;
[0014] 所述码率调整模块,还用于将校正后的PCR值替换原PCR值后输出。
[0015] 进一步地,所述新PCR计算模块,用于将当前PCRPID的前一个PCR包校正后的 PCR值加上当前PCR包的PCR增量值计算出新PCR值。
[0016] 进一步地,所述新PCR计算模块,用于根据计算出的新PCR值和输入PCR值的差异 值是否大于预设门限值判断是否需要对计算出的新PCR值进行微调,并确定微调的方向。
[0017] 进一步地,所述新PCR计算模块,用于当PCR增量溢出或者是计算出的PCR值和输 入PCR值的差值溢出时,重置校正后的PCR值为输入PCR值。
[0018] 进一步地,所述包间隔计算模块,用于根据同一PCRPID相邻两个PCR包计算出的 PCR值和输入PCR值差异的变化趋势判断是否需要对包间隔值进行微调,并确定微调的方 向。
[0019] 更进一步地,所述包间隔计算模块,用于使同一PCRPID对应的包间隔在重置或者 微调后紧接的预设个数的PCR包内不做微调处理,只有当前次重置或者微调后已完成预设 个数的同一PCRPID的PCR包校正,且同一PCRPID的相邻三个PCR包所对应的包间隔微 调方向一致时,才做微调处理,每次微调的数值为同一PCRPID相邻两个PCR包之间包个数 的倒数。
[0020] 进一步地,所述包间隔计算模块,用于当PCR增量溢出或者是计算出的PCR值和输 入PCR值的差值溢出时,重置包间隔值。
[0021] 本发明另一方面提供一种多节目PCR校正方法,包括:
[0022] 根据用户设置的各通道码率值输出恒定码率的TS包,并提取TS包信息以输出,所 述TS包信息包括PID和PCR值;
[0023] 接收多个通道输出的TS包信息,经仲裁处理后输出唯一的需当前处理的某个通 道的TS包信息,并发起PCR校正起始命令;
[0024] 接收发起的PCR校正起始命令和某个通道的TS包信息,控制协调完成PCR校正处 理,并存储PCR校正中的相关数据值;
[0025] PCR校正处理包括:
[0026] 进行各通道TS包计数、对当前校正PCRPID相邻包间隔计算和PCR增量值计算, 并根据计算出的PCR增量值产生PCR增量溢出标识;
[0027] 计算得到当前处理PCR包的校正后PCR值;
[0028] 根据校正后的PCR值和输入TS流中的原始PCR值信息、之前的校正信息对包间隔 值进行修正;
[0029] 将校正后的PCR值根据仲裁信息分配给对应通道;
[0030] 将校正后的PCR值替换原PCR值后输出。
[0031] 进一步地,将当前PCRPID的前一个PCR包校正后的PCR值加上当前PCR包的PCR 增量值计算出新PCR值。
[0032] 进一步地,根据计算出的新PCR值和输入PCR值的差异值是否大于预设门限值判 断是否需要对计算出的新PCR值进行微调,并确定微调的方向。
[0033] 进一步地,当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重 置校正后的PCR值为输入PCR值。
[0034] 进一步地,根据同一PCRPID相邻两个PCR包计算出的PCR值和输入PCR值差异 的变化趋势判断是否需要对包间隔值进行微调,并确定微调的方向。
[0035] 更进一步地,同一PCRPID对应的包间隔在重置或者微调后紧接的预设个数的 PCR包内不做微调处理,只有当前次重置或者微调后已完成预设个数的同一PCRPID的PCR 包校正,且同一PCRPID的相邻三个PCR包所对应的包间隔微调方向一致时,才做微调处 理,每次微调的数值为同一PCRPID相邻两个PCR包之间包个数的倒数。
[0036] 进一步地,当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重 置包间隔值。
[0037] 本发明的有益效果是:
[0038] 相较于常规广电前端设备中PCR校正的处理方法,本发明的系统和方法能对多通 道、多节目PCR进行实时处理,因而PCR校正的实时处理能力更强,更易满足于当前大带宽、 复杂应用场景中的PCR校正处理;相较于常规PCR校正方法,本发明的处理方法消耗更少的 资源,并且对于异常TS流有更好的容错特性。
【附图说明】
[0039] 图1是本发明的多节目PCR校正系统的结构示意图;
[0040] 图2是本发明的多节目PCR校正方法的流程示意图;
[0041] 图3是本发明中的PCR校正计算的示意图;
[0042] 图4是本发明中的码率调整模块的实现方式示意图;
[0043] 图5是本发明中的码率调整模块的实现方式的时序图;
[0044] 图6是本发明中的PCR校正控制模块的实现方式示意图;
[0045] 图7-1是本发明中确定包间隔值微调的第一种情况示意图;
[0046] 图7-2是本发明中确定包间隔值微调的第二种情况示意图;
[0047] 图7-3是本发明中确定包间隔值微调的第三种情况示意图;
[0048] 图7-4是本发明中确定包间隔值微调的第四种情况示意图。
【具体实施方式】
[0049] 下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对 本发明专利保护范围的限制。
[0050] 如图1所示
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1