CN105306971B - 一种多节目pcr校正***及方法 - Google Patents
一种多节目pcr校正***及方法 Download PDFInfo
- Publication number
- CN105306971B CN105306971B CN201410307025.6A CN201410307025A CN105306971B CN 105306971 B CN105306971 B CN 105306971B CN 201410307025 A CN201410307025 A CN 201410307025A CN 105306971 B CN105306971 B CN 105306971B
- Authority
- CN
- China
- Prior art keywords
- pcr
- value
- packet
- correction
- inter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种多节目PCR校正***及方法,***包括码率调整模块、仲裁模块、PCR校正控制模块、PCR增量计算模块、新PCR计算模块和包间隔计算模块;方法包括:输出恒定码率的TS包,并提取TS包信息以输出;经仲裁处理后输出需当前处理的TS包信息,并发起PCR校正起始命令;控制协调PCR增量计算模块、新PCR计算模块和包间隔计算模块完成PCR校正处理;PCR校正处理包括:“进行各通道TS包计数、对当前校正PCR PID相邻包间隔计算和PCR增量值计算;计算得到当前处理PCR包的校正后PCR值;对包间隔值进行修正”;将校正后的PCR值分配给对应通道;将校正后的PCR值替换原PCR值后输出。本发明能对多通道、多节目PCR进行实时处理,消耗更少的资源,对于异常TS流有更好的容错特性。
Description
技术领域
本发明涉及数字电视技术领域,尤其涉及一种多节目PCR校正***及方法,应用于广电前端设备产品中。
背景技术
作为TS流中的最基本的同步依据,节目时钟基准(PCR)使得数字电视接收机的解码视频输出能够锁定于编码器输入端的视频信号源。因而PCR的精度对于数字电视***的顺利工作起着非常重要的作用;然而在数字电视***中,传输流(以下简称TS)在传输过程中会因为网络传送不稳定以及经过复用等因素造成TS流中的PCR值与解码器接受到的PCR实际值之间产生一定的误差,这种误差将会使得接收机最终恢复出来的时钟产生抖动或漂移,甚至引起解码器恢复时钟的失锁,进而造成接收器解码出来的图像出现停顿、跳跃等现象。基于以上描述,在数字电视传输***中,前端设备在TS流输出前通常都需要进行PCR校正,以校正在传输和复用过程中产生的PCR误差。
目前广电前端设备中实现PCR校正的方法主要有两种:(1)采用软件方法实现PCR校正。该方法由于软件无法控制精确的TS流校正时刻,在校正精度上通常较差;(2)采用硬件方法实现PCR校正。该方法在校正的精度上最好,但是该方法每个TS流都要对应一套硬件校正电路,成本高,硬件设计复杂,在实际应用中无法支持多流处理情况下的PCR校正。
发明内容
为了克服现有技术的不足,本发明提供一种多节目PCR校正***及方法,采用可编程逻辑器件(FPGA/ASIC等)作为硬件载体,并采用一种处理算法简单,但具备优异容错特性和校正精度的方法实现多流处理的PCR校正。
为达到上述目的,本发明所采取的技术方案为:
本发明一方面提供一种多节目PCR校正***,包括码率调整模块、仲裁模块、PCR校正控制模块、PCR增量计算模块、新PCR计算模块和包间隔计算模块;
码率调整模块,用于根据用户设置的各通道码率值输出恒定码率的TS包,并提取TS包信息输出给仲裁模块,所述TS包信息包括PID和PCR值;
仲裁模块,用于接收多个通道的码率调整模块输出的TS包信息,经仲裁处理后输出唯一的需当前处理的某个通道的TS包信息给PCR校正控制模块,并向PCR校正控制模块发起PCR校正起始命令;
PCR校正控制模块,用于接收仲裁模块发起的PCR校正起始命令和某个通道的TS包信息,控制协调PCR增量计算模块、新PCR计算模块和包间隔计算模块完成PCR校正处理,并存储PCR校正中的相关数据值;
PCR增量计算模块,用于进行各通道TS包计数、对当前校正PCRPID相邻包间隔计算和PCR增量值计算,并根据计算出的PCR增量值产生PCR增量溢出标识;
新PCR计算模块,用于计算得到当前处理PCR包的校正后PCR值;
包间隔计算模块,用于根据校正后的PCR值和输入TS流中的原始PCR值信息、之前的校正信息对包间隔值进行修正;
所述仲裁模块,还用于将校正后的PCR值根据仲裁信息分配给对应通道的码率调整模块;
所述码率调整模块,还用于将校正后的PCR值替换原PCR值后输出。
进一步地,所述新PCR计算模块,用于将当前PCRPID的前一个PCR包校正后的PCR值加上当前PCR包的PCR增量值计算出新PCR值。
进一步地,所述新PCR计算模块,用于根据计算出的新PCR值和输入PCR值的差异值是否大于预设门限值判断是否需要对计算出的新PCR值进行微调,并确定微调的方向。
进一步地,所述新PCR计算模块,用于当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重置校正后的PCR值为输入PCR值。
进一步地,所述包间隔计算模块,用于根据同一PCRPID相邻两个PCR包计算出的PCR值和输入PCR值差异的变化趋势判断是否需要对包间隔值进行微调,并确定微调的方向。
更进一步地,所述包间隔计算模块,用于使同一PCRPID对应的包间隔在重置或者微调后紧接的预设个数的PCR包内不做微调处理,只有当前次重置或者微调后已完成预设个数的同一PCRPID的PCR包校正,且同一PCRPID的相邻三个PCR包所对应的包间隔微调方向一致时,才做微调处理,每次微调的数值为同一PCRPID相邻两个PCR包之间包个数的倒数。
进一步地,所述包间隔计算模块,用于当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重置包间隔值。
本发明另一方面提供一种多节目PCR校正方法,包括:
根据用户设置的各通道码率值输出恒定码率的TS包,并提取TS包信息以输出,所述TS包信息包括PID和PCR值;
接收多个通道输出的TS包信息,经仲裁处理后输出唯一的需当前处理的某个通道的TS包信息,并发起PCR校正起始命令;
接收发起的PCR校正起始命令和某个通道的TS包信息,控制协调完成PCR校正处理,并存储PCR校正中的相关数据值;
PCR校正处理包括:
进行各通道TS包计数、对当前校正PCRPID相邻包间隔计算和PCR增量值计算,并根据计算出的PCR增量值产生PCR增量溢出标识;
计算得到当前处理PCR包的校正后PCR值;
根据校正后的PCR值和输入TS流中的原始PCR值信息、之前的校正信息对包间隔值进行修正;
将校正后的PCR值根据仲裁信息分配给对应通道;
将校正后的PCR值替换原PCR值后输出。
进一步地,将当前PCRPID的前一个PCR包校正后的PCR值加上当前PCR包的PCR增量值计算出新PCR值。
进一步地,根据计算出的新PCR值和输入PCR值的差异值是否大于预设门限值判断是否需要对计算出的新PCR值进行微调,并确定微调的方向。
进一步地,当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重置校正后的PCR值为输入PCR值。
进一步地,根据同一PCRPID相邻两个PCR包计算出的PCR值和输入PCR值差异的变化趋势判断是否需要对包间隔值进行微调,并确定微调的方向。
更进一步地,同一PCRPID对应的包间隔在重置或者微调后紧接的预设个数的PCR包内不做微调处理,只有当前次重置或者微调后已完成预设个数的同一PCRPID的PCR包校正,且同一PCRPID的相邻三个PCR包所对应的包间隔微调方向一致时,才做微调处理,每次微调的数值为同一PCRPID相邻两个PCR包之间包个数的倒数。
进一步地,当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重置包间隔值。
本发明的有益效果是:
相较于常规广电前端设备中PCR校正的处理方法,本发明的***和方法能对多通道、多节目PCR进行实时处理,因而PCR校正的实时处理能力更强,更易满足于当前大带宽、复杂应用场景中的PCR校正处理;相较于常规PCR校正方法,本发明的处理方法消耗更少的资源,并且对于异常TS流有更好的容错特性。
附图说明
图1是本发明的多节目PCR校正***的结构示意图;
图2是本发明的多节目PCR校正方法的流程示意图;
图3是本发明中的PCR校正计算的示意图;
图4是本发明中的码率调整模块的实现方式示意图;
图5是本发明中的码率调整模块的实现方式的时序图;
图6是本发明中的PCR校正控制模块的实现方式示意图;
图7-1是本发明中确定包间隔值微调的第一种情况示意图;
图7-2是本发明中确定包间隔值微调的第二种情况示意图;
图7-3是本发明中确定包间隔值微调的第三种情况示意图;
图7-4是本发明中确定包间隔值微调的第四种情况示意图。
具体实施方式
下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对本发明专利保护范围的限制。
如图1所示,本发明的实施例一方面提供一种多节目PCR校正***,其特征在于:包括码率调整模块、仲裁模块、PCR校正控制模块、PCR增量计算模块、新PCR计算模块和包间隔计算模块;
码率调整模块,用于根据用户设置的各通道码率值输出恒定码率的TS包,并提取TS包信息输出给仲裁模块,所述TS包信息包括PID和PCR值;
仲裁模块,用于接收多个通道的码率调整模块输出的TS包信息,经仲裁处理后输出唯一的需当前处理的某个通道的TS包信息给PCR校正控制模块,并向PCR校正控制模块发起PCR校正起始命令;
PCR校正控制模块,用于接收仲裁模块发起的PCR校正起始命令和某个通道的TS包信息,控制协调PCR增量计算模块、新PCR计算模块和包间隔计算模块完成PCR校正处理,并存储PCR校正中的相关数据值;
PCR增量计算模块,用于进行各通道TS包计数、对当前校正PCRPID相邻包间隔计算和PCR增量计算,并根据计算出的PCR增量值产生PCR增量溢出标识;
新PCR计算模块,用于计算得到当前处理PCR包的校正后PCR值。
包间隔计算模块,用于根据校正后的PCR值和输入TS流中的原始PCR值信息、之前的校正信息对包间隔值进行修正;
所述仲裁模块,还用于将校正后的PCR值根据仲裁信息分配给对应通道的码率调整模块;
所述码率调整模块,还用于将校正后的PCR值替换原PCR值后输出。
在本发明的实施例中,所述新PCR计算模块,用于将当前PCRPID的前一个PCR包校正后的PCR值加上当前PCR包的PCR增量值计算出新PCR值。
所述新PCR计算模块,还用于根据计算出的新PCR值和输入PCR值的差异值是否大于预设门限值判断是否需要对计算出的新PCR值进行微调,并确定微调的方向。
所述新PCR计算模块,还用于当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重置校正后的PCR值为输入PCR值。
在本发明的实施例中,所述包间隔计算模块,用于根据同一PCRPID相邻两个PCR包计算出的PCR值和输入PCR值差异的变化趋势判断是否需要对包间隔值进行微调,并确定微调的方向。
所述包间隔计算模块,还用于使同一PCRPID对应的包间隔在重置或者微调后紧接的预设个数的PCR包内不做微调处理,只有当前次重置或者微调后已完成预设个数的同一PCRPID的PCR包校正,且同一PCRPID的相邻三个PCR包所对应的包间隔微调方向一致时,才做微调处理,每次微调的数值为同一PCR PID相邻两个PCR包之间包个数的倒数。
所述包间隔计算模块,还用于当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重置包间隔值。
如图2所示,本发明的实施例另一方面提供一种多节目PCR校正方法,包括:
根据用户设置的各通道码率值输出恒定码率的TS包,并提取TS包信息以输出,所述TS包信息包括PID和PCR值;
接收多个通道输出的TS包信息,经仲裁处理后输出唯一的需当前处理的某个通道的TS包信息,并发起PCR校正起始命令;
接收发起的PCR校正起始命令和某个通道的TS包信息,控制协调完成PCR校正处理,并存储PCR校正中的相关数据值;
PCR校正处理包括:
进行各通道TS包计数、对当前校正PCRPID相邻包间隔计算和PCR增量值计算,并根据计算出的PCR增量值产生PCR增量溢出标识;
计算得到当前处理PCR包的校正后PCR值;
根据校正后的PCR值和输入TS流中的原始PCR值信息、之前的校正信息对包间隔值进行修正;
将校正后的PCR值根据仲裁信息分配给对应通道;
将校正后的PCR值替换原PCR值后输出。
在本发明的实施例中,将当前PCRPID的前一个PCR包校正后的PCR值加上当前PCR包的PCR增量值计算出新PCR值。
在本发明的实施例中,根据计算出的新PCR值和输入PCR值的差异值是否大于预设门限值判断是否需要对计算出的新PCR值进行微调,并确定微调的方向。
在本发明的实施例中,当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重置校正后的PCR值为输入PCR值。
在本发明的实施例中,根据同一PCRPID相邻两个PCR包计算出的PCR值和输入PCR值差异的变化趋势判断是否需要对包间隔值进行微调,并确定微调的方向。
在本发明的实施例中,同一PCRPID对应的包间隔在重置或者微调后紧接的预设个数的PCR包内不做微调处理,只有当前次重置或者微调后已完成预设个数的同一PCRPID的PCR包校正,且同一PCRPID的相邻三个PCR包所对应的包间隔微调方向一致时,才做微调处理,每次微调的数值为同一PCRPID相邻两个PCR包之间包个数的倒数。
在本发明的实施例中,当PCR增量溢出或者是计算出的PCR值和输入PCR值的差值溢出时,重置包间隔值。
图3为PCR校正计算的示意图。如图3所示,某个PCRPID的第i个PCR的值可以由其前一个(第i-1个)PCR的值、当前TS流的码率以及PCR包在TS流中的位置计算得到。
即:PCRi=PCRi-1+PNum_2PCR*Int_2P(式1)
式1中,PCRi为计算得到的第i个PCR的值,PCRi-1为第i-1个PCR的值,PNum_2PCR为第i个PCR包和第i-1个PCR包之间的TS包的个数,Int_2P为相邻两个TS包之间27M时钟的个数。
图3所示为单个PCRPID时PCR值计算的示意图,对于流中有多个PCRPID的情况,式1依然有效,只需要保证在计算某个PCRPID的PCR值时,使用该PCRPID的前一个PCR值和该PCRPID相邻两个PCR包对应的包计数值即可。
本发明支持对于多个TS流的PCR实时校正,表现在具体实施方式上时,如图1所示,每个输出TS流对应一个码率调整模块。
单个码率调整模块的实现方式如图4所示,时序如图5所示,下面分步骤进行说明:
1-1.TS包是否输出根据计数器产生,计数器的模值由用户设置的通道码率值得到;
1-2.输出缓存为可编程逻辑器件的片上存储器,用于存储待输出TS包,输出缓存中可存储的TS包最大个数可以根据***实际应用确定;
1-3.在TS包输出使能时,如果输出缓存中没有未输出包,则输出空包以保持固定码率输出;为了和经过PCR校正处理的包保持时延一致,空包在输出前需要经过固定的等待时间;
1-4.在TS包输出使能时,如果缓存中有未输出包,则需要从缓存中读取TS包的特定字段来识别该包是否是PCR包,如果不是PCR包,则经过固定的等待时间后输出该包;
1-5.如果当前待输出包是PCR包,则提取当前PCR包的PID值和PCR值给其他模块用于完成PCR校正计算,最后经过固定的等待时间,确保其它模块已经完成了对于当前PCR包的校正后,用校正后的PCR值替换原TS包中的PCR值后输出TS包;
1-6.不管是输出空包、非PCR包还是PCR包,每输出一个包,都需要送出一个包同步指示用于PCR增量计算模块实现通道包计数;
1-7.每个通道对应一个PCR校正请求状态,在接收到来自各通道对应的码率调整模块1输入的PCR包指示后,置该通道对应的PCR校正请求状态位为有效。
仲裁模块2的实现方式如下:
2-1.每个通道对应一个PCR校正请求状态,在接收到来自各通道对应的码率调整模块输入的PCR包指示后,置该通道对应的PCR校正请求状态位为有效;
2-2.判断当前PCR校正处理是否空闲,如果空闲,且PCR校正请求状态向量非零值,则处理当前优先级最高请求通道对应的PCR校正请求(产生PCR校正起始命令,置当前处理通道号,输出当前处理通道的PID、PCR值和TS包间隔值给其它校正模块),同时清零该通道的PCR校正请求状态;
2-3.重复上一步骤将会保证各通道的PCR请求处理都会得到相应;
2-4.在当前处理通道的PCR校正计算完毕后,将校正后的PCR值送给该通道码率调整模块。
PCR校正控制模块3实现方式如下:
3-1.如图6所示,在PCR校正控制模块3中用可编程逻辑器件的片上存储器存储了各通道对应的PCR校正所需相关信息。存储器位宽为36bit,深度由最大需要支持的PCRPID个数确定,每个PCRPID在存储器中占用相邻四个地址的存储空间,在此称作一个PCRPID存储单元,下文简称“单元”。图中Exit_Flag位为“1”则表示该单元已被占用,为“0”则表示该单元空闲;CH_NO表示该单元中PCRPID所在通道号;PID表示该单元中PCRPID值;P_Num表示该单元中前一个PCR包在当前通道中的包位置;Int_2P表示该单元中前一个PCR包校正时经过微调处理后的TS包间隔,27bit数据中,高15bit数据的单位为27M时钟个数,低12bit为小数位,主要是为了提高PCR校正的计算精度;PCR_ext为单元中前一个PCR包校正后的PCR值的扩展部分;PCR_base为单元中前一个PCR包校正后的PCR值的基本部分;Dif_PCR_New_In为单元中前一个PCR计算得到的值和对应的输入包中原始PCR值的差值;Int_2P_MD低2bit为单元中前一个PCR包校正时对应的TS包间隔调整方向,高2bit为单元中PCR更早一个PCR包校正时对应的TS包间隔调整方向,具体值含义在包间隔计算模块中说明;PNum_Post_M表示经过PCR重置或者包间隔微调后的PCR包计数;
3-2.在接收到仲裁模块2送来的PCR校正起始命令后,PCR校正模块首先在PCR校正信息存储器中进行查找,以找到当前待处理PCRPID在存储器的地址。在找到匹配地址单元后产生一个发现匹配地址的脉冲信号,并且记住当前地址值。如果遍历整个存储器都没有发现匹配地址,那么认为该PCRPID是首次进行PCR校正;
3-3.在检测到发现匹配地址脉冲有效时,读出该单元中存储的该PCRPID对应的PCR校正信息给其它校正模块;
3-4.在检测到发现匹配地址脉冲有效时,启动一个计数器,用于在正确时刻获取校正后的PCR相关信息;
3-5.对于遍历整个存储器都没有发现匹配地址的情况,在遍历完毕后将当前PCR包的信息写入PCR校正信息存储器的一个空闲单元中。此时,Exit_Flag为1,CH_NO为当前校正PCRPID所在通道号;PID为当前校正PCRPID值;P_Num为当前PCR包在当前通道中的包位置,具体值由PCR增量计算模块给出;Int_2P的高15bit由码率统计模块给出,低12bit为0;PCR_ext为当前PCR包PCR值的扩展部分;PCR_base为当前PCR包PCR值的基本部分;Dif_PCR_New_In为0;Int_2P_MD为0;PNum_Post_M为0;
3-6.对于在PCR校正信息查找阶段发现匹配地址的情况,在第(4)步计数器计数的正确时刻将完成PCR校正后的相关信息写入PCR校正信息存储器的该PCRPID对应单元。此时,Exit_Flag为1,CH_NO为当前校正PCRPID所在通道号;PID为当前校正PCRPID值;P_Num为当前PCR包在当前通道中的包位置,具体值由PCR增量计算模块给出;Int_2P由包间隔计算模块给出;PCR_ext、PCR_base和Dif_PCR_New_In由新PCR计算模块给出;Int_2P_MD和PNum_Post_M由包间隔计算模块给出。
PCR增量计算模块4实现方式如下:
4-1.接收到某个通道的包同步信息后该通道对应包计数器累加。包计数值的绝对量对于本发明方法没有意义,而两个PCR包对应的包计数值差值才是PCR校正所需的;
4-2.根据当前处理通道号,选择当前处理通道号对应的包计数值P_Num_Now给自身模块、PCR校正控制模块和包间隔计算模块;
4-3.计算当前处理PCR包和该PCRPID对应的前一个PCR包之间的TS包个数:
PNum_2PCR=P_Num_Now-P_Num_Ram(式2)
其中P_Num_Ram为该PCRPID的前一个PCR包在TS包计数器中的值,从PCR校正控制模块的校正信息存储器中读出;
4-4.计算当前处理PCR包相对于前一个PCR包(同一PCRPID)的PCR增量值:
PCR_Inc=PNum_2PCR*Int_2P(式3)
4-5.将式3中得到的增量值取整和饱和处理后按PCR格式(base+ext)输出;
4-6.为了监控一些异常输入导致的PCR校正失效,当式3中得到的增量值大于预设门限时,认为校正异常,产生一个增量溢出指示标识Inc_OverFlow,用于新PCR计算模块和包间隔计算模块中相关校正值的复位重置处理。
新PCR计算模块5实现方式如下:
5-1.计算当前PCR包的PCR值:
PCR_New=PCRi-1+PCR_Inc(式4)
其中,PCRi-1为从PCR校正信息存储器中读出的前一个PCR包(同一PCRPID)的校正后PCR值,PCR_Inc由PCR增量计算模块中通过式3得到;
5-2.计算上一步中得到的PCR值和输入流中原始PCR值的差值:
Dif_PCR_New_In=PCR_New-PCR_In(式5)
上式中Dif_PCR_New_In值为有符号整数。其中,PCR_In为当前处理PCR包中的原始PCR值,由仲裁模块给出。
5-3.判断上一步中得到的差值是否大于预设门限值,如果大于,则认为校正异常,产生差值溢出标识Dif_OverFlow,用于本模块最终输出的PCR校正值和包间隔计算模块中输出的包间隔值的复位重置处理;
5-4.根据式5中计算得到的差值,确定最终输出的PCR校正值是否需要在式(4)计算出的结果上微调,即:如果PCR_New大于PCR_In,且差值大于预设门限,则PCR_New需要向下(减)微调PCR_Down_M。如果PCR_New小于PCR_IN,且差值大于预设门限,则PCR_New需要向上(加)微调PCR_Up_M;
包间隔计算模块6实现方式如下:
6-1.计算当前PCR包校正中得到的Dif_PCR_New_In和从PCR校正信息存储器中得到的前一个PCR包校正中的Dif_PCR_New_In的增量值;Inc_Dif_PCR_New_In=Dif_PCR_New_In-Dif_PCR_New_In_Ram(式6)Exid_Flag
Inc_Dif_PCR_new_In值为有符号整数。
6-2.根据Inc_Dif_PCR_New_In值和Dif_PCR_New_In符号位(当前PCR包和前一PCR包)确定包间隔值是否需要微调,原则如下:
如图7-1,如果当前PCR包和前一个PCR包校正中得到的Dif_PCR_New_In值均为正(即计算得到的PCR值大于原始输入PCR值),且Inc_Dif_PCR_New_In大于预设门限,则向下微调Slim_Down_M;
如图7-2,如果当前PCR包和前一个PCR包校正中得到的Dif_PCR_New_In值均为负(即计算得到的PCR值小于原始输入PCR值),且Inc_Dif_PCR_New_In大于预设门限,则向上微调Slim_Up_M;如图7-3,如果前一个PCR包校正中得到的Dif_PCR_New_In值为负(即计算得到的PCR值小于原始输入PCR值),当前PCR包校正得到的Dif_PCR_New_In值为正(即计算得到的PCR值大于原始输入PCR值),且Inc_Dif_PCR_New_In大于预设门限,则向下微调Slim_Down_M;
如图7-4,如果前一个PCR包校正中得到的Dif_PCR_New_In值为正(即计算得到的PCR值大于原始输入PCR值),当前PCR包校正得到的Dif_PCR_New_In值为负(即计算得到的PCR值小于原始输入PCR值),且Inc_Dif_PCR_New_In大于预设门限,则向上微调Slim_Up_M;
6-3.为了避免频繁对包间隔值进行微调,对包间隔值进行重置或者微调后的15个PCR包(同一PCRPID)不再做微调处理,实现中每个PCRPID对应一个包间隔重置或微调后包计数值PNum_Post_M,包间隔重置或者微调操作时计数值清零,非重置或者微调时计数器累加,计数到15后保持,该值在每次PCR校正操作后保存在当前处理PCRPID对应的PCR校正信息存储器单元中;
以上所揭露的仅为本发明的较佳实施例,不能以此来限定本发明的权利保护范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种多节目PCR校正***,其特征在于:包括码率调整模块、仲裁模块、PCR校正控制模块、PCR增量计算模块、新PCR计算模块和包间隔计算模块;
码率调整模块,用于根据用户设置的各通道码率值输出恒定码率的TS包,并提取TS包信息输出给仲裁模块,所述TS包信息包括PID和原始PCR值;
仲裁模块,用于接收多个通道的码率调整模块输出的TS包信息,经仲裁处理后输出唯一的需当前处理的某个通道的TS包信息给PCR校正控制模块,并向PCR校正控制模块发起PCR校正起始命令;
PCR校正控制模块,用于接收仲裁模块发起的PCR校正起始命令和某个通道的TS包信息,控制协调PCR增量计算模块、新PCR计算模块和包间隔计算模块完成PCR校正处理,并存储PCR校正中的相关数据值;
PCR增量计算模块,用于进行各通道TS包计数、对当前校正PCRPID相邻包间隔计算和PCR增量值计算,并根据计算出的PCR增量值产生PCR增量溢出标识;
新PCR计算模块,用于计算得到当前处理PCR包的校正后PCR值;
包间隔计算模块,用于根据所述校正后的PCR值和输入TS流中的所述原始PCR值、之前的校正信息对包间隔值进行修正;
所述仲裁模块,还用于将所述校正后的PCR值根据仲裁信息分配给对应通道的码率调整模块;
所述码率调整模块,还用于将所述校正后的PCR值替换所述原始PCR值后输出;
所述新PCR计算模块,用于将当前PCRPID的前一个PCR包的所述校正后的PCR值加上当前PCR包的所述PCR增量值计算出新PCR值,作为当前处理PCR包的所述校正后PCR值。
2.根据权利要求1所述的多节目PCR校正***,其特征在于:
所述新PCR计算模块,用于根据计算出的新PCR值即当前处理PCR包的所述校正后PCR值和输入的所述原始PCR值的差异值是否大于预设门限值判断是否需要对计算出的所述校正后PCR值进行微调,并确定微调的方向。
3.根据权利要求1所述的多节目PCR校正***,其特征在于:
所述新PCR计算模块,用于当PCR增量溢出或者是计算出的所述校正后PCR值和输入的所述原始PCR值的差值溢出时,重置所述校正后PCR值为输入的所述原始PCR值。
4.根据权利要求1所述的多节目PCR校正***,其特征在于:
所述包间隔计算模块,用于根据同一PCRPID相邻两个PCR包计算出的所述校正后PCR值和输入的所述原始PCR值差异的变化趋势判断是否需要对包间隔值进行微调,并确定微调的方向。
5.根据权利要求4所述的多节目PCR校正***,其特征在于:
所述包间隔计算模块,用于使同一PCRPID对应的所述包间隔值在重置或者微调后紧接的预设个数的PCR包内不做微调处理,只有当前次重置或者微调后已完成预设个数的同一PCRPID的PCR包校正,且同一PCRPID的相邻三个PCR包所对应的包间隔微调方向一致时,才做微调处理,每次微调的数值为同一PCR PID相邻两个PCR包之间包个数的倒数。
6.根据权利要求1所述的多节目PCR校正***,其特征在于:
所述包间隔计算模块,用于当PCR增量溢出或者是计算出的所述校正后PCR值和输入的所述原始PCR值的差值溢出时,重置所述包间隔值。
7.一种多节目PCR校正方法,其特征在于,包括:
根据用户设置的各通道码率值输出恒定码率的TS包,并提取TS包信息以输出,所述TS包信息包括PID和原始PCR值;
接收多个通道输出的TS包信息,经仲裁处理后输出唯一的需当前处理的某个通道的TS包信息,并发起PCR校正起始命令;
接收发起的PCR校正起始命令和某个通道的TS包信息,控制协调完成PCR校正处理,并存储PCR校正中的相关数据值;
PCR校正处理包括:
进行各通道TS包计数、对当前校正PCRPID相邻包间隔计算和PCR增量值计算,并根据计算出的PCR增量值产生PCR增量溢出标识;
计算得到当前处理PCR包的校正后PCR值;
根据所述校正后的PCR值和输入TS流中的所述原始PCR值、之前的校正信息对包间隔值进行修正;
将所述校正后的PCR值根据仲裁信息分配给对应通道;
将所述校正后的PCR值替换所述原始PCR值后输出;
将当前PCRPID的前一个PCR包的所述校正后的PCR值加上当前PCR包的所述PCR增量值计算出新PCR值,作为当前处理PCR包的所述校正后PCR值。
8.根据权利要求7所述的多节目PCR校正方法,其特征在于:
根据计算出的新PCR值即当前处理PCR包的所述校正后PCR值和输入的所述原始PCR值的差异值是否大于预设门限值判断是否需要对计算出的所述校正后PCR值进行微调,并确定微调的方向。
9.根据权利要求7所述的多节目PCR校正方法,其特征在于:
当PCR增量溢出或者是计算出的所述校正后PCR值和输入的所述原始PCR值的差值溢出时,重置校正后的PCR值为输入的所述原始PCR值。
10.根据权利要求7所述的多节目PCR校正方法,其特征在于:
根据同一PCRPID相邻两个PCR包计算出的所述校正后PCR值和输入的所述原始PCR值差异的变化趋势判断是否需要对包间隔值进行微调,并确定微调的方向。
11.根据权利要求10所述的多节目PCR校正方法,其特征在于:
同一PCRPID对应的包间隔在重置或者微调后紧接的预设个数的PCR包内不做微调处理,只有当前次重置或者微调后已完成预设个数的同一PCRPID的PCR包校正,且同一PCRPID的相邻三个PCR包所对应的包间隔微调方向一致时,才做微调处理,每次微调的数值为同一PCRPID相邻两个PCR包之间包个数的倒数。
12.根据权利要求7所述的多节目PCR校正方法,其特征在于:
当PCR增量溢出或者是计算出的所述校正后PCR值和输入的所述原始PCR值的差值溢出时,重置所述包间隔值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307025.6A CN105306971B (zh) | 2014-06-30 | 2014-06-30 | 一种多节目pcr校正***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307025.6A CN105306971B (zh) | 2014-06-30 | 2014-06-30 | 一种多节目pcr校正***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105306971A CN105306971A (zh) | 2016-02-03 |
CN105306971B true CN105306971B (zh) | 2019-07-12 |
Family
ID=55203646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410307025.6A Active CN105306971B (zh) | 2014-06-30 | 2014-06-30 | 一种多节目pcr校正***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105306971B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111521591B (zh) * | 2020-05-09 | 2021-04-16 | 艾普拜生物科技(苏州)有限公司 | 用于微滴式数字pcr仪的计数校准装置、制备及使用方法 |
CN114257700B (zh) * | 2021-12-21 | 2024-01-12 | 伟乐视讯科技股份有限公司 | 一种基于时间戳方式平台内同步的pcr校正方法和*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835597A (zh) * | 2005-03-17 | 2006-09-20 | 华为技术有限公司 | 一种节目参考时钟调整的方法及装置 |
CN1997162A (zh) * | 2006-12-25 | 2007-07-11 | 华为技术有限公司 | Pcr校正方法及装置 |
JP2008245050A (ja) * | 2007-03-28 | 2008-10-09 | Hitachi Kokusai Electric Inc | Pcr補正回路 |
EP2524502A1 (en) * | 2010-01-13 | 2012-11-21 | British Broadcasting Corporation | Method and apparatus for processing transport streams |
-
2014
- 2014-06-30 CN CN201410307025.6A patent/CN105306971B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835597A (zh) * | 2005-03-17 | 2006-09-20 | 华为技术有限公司 | 一种节目参考时钟调整的方法及装置 |
CN1997162A (zh) * | 2006-12-25 | 2007-07-11 | 华为技术有限公司 | Pcr校正方法及装置 |
JP2008245050A (ja) * | 2007-03-28 | 2008-10-09 | Hitachi Kokusai Electric Inc | Pcr補正回路 |
EP2524502A1 (en) * | 2010-01-13 | 2012-11-21 | British Broadcasting Corporation | Method and apparatus for processing transport streams |
Also Published As
Publication number | Publication date |
---|---|
CN105306971A (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102301639B (zh) | 校正时钟抖动的方法和装置 | |
CN101175215B (zh) | 时序恢复方法及其*** | |
EP3223431B1 (en) | Adjustment of clock signals regenerated from a data stream | |
CN105306971B (zh) | 一种多节目pcr校正***及方法 | |
US9106948B2 (en) | Adaptive PID controller for audio/video clock recovery | |
US8913190B2 (en) | Method and apparatus for regenerating a pixel clock signal | |
US20060209989A1 (en) | System and method for clock recovery in digital video communication | |
JP5041844B2 (ja) | Pcr補正回路 | |
CN114257700A (zh) | 一种基于时间戳方式平台内同步的pcr校正方法和*** | |
CN105680977A (zh) | 同步FlexRay时钟的方法及*** | |
CN1997162B (zh) | Pcr校正方法及装置 | |
EP3484092A1 (en) | Transmission apparatus, reception apparatus, and data processing method | |
US7154976B2 (en) | Frequency controller | |
JPH11308203A (ja) | クロック再生装置 | |
TW201705013A (zh) | 具有時序校準功能之傳輸流處理器以及時序校準裝置與方法 | |
CN1338862A (zh) | 多路复用中节目时钟基准的校正方法 | |
CN101064520B (zh) | 数字广播接收装置和数字广播*** | |
CN107104749A (zh) | 时钟同步方法及装置 | |
US20100058096A1 (en) | Signal processing apparatus and method thereof | |
US20060045223A1 (en) | Symbol clock regenerating apparatus, symbol clock regenerating program and symbol clock regenerating method | |
TW201919344A (zh) | 信號接收裝置及其信號處理方法 | |
CN106201760A (zh) | Gnss授时型接收模块的utc同步参数容错处理***及其方法 | |
US8204038B2 (en) | Method for efficient utilization of radio resources in wireless communications system | |
CN103227707A (zh) | 同步处理装置、同步处理方法和程序 | |
US20230336808A1 (en) | Control integrated circuit for maintaining video output to conditional access module with aid of reference clock regeneration, associated television receiver and associated method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 516025 No. 1, Shunchang Road, Huinan Industrial Park, Zhongkai high tech Zone, Huizhou City, Guangdong Province Patentee after: WELLAV TECHNOLOGIES Ltd. Address before: 516006 Huitai Industrial Zone 63, Zhongkai High-tech Zone, Huizhou City, Guangdong Province Patentee before: HUIZHOU WELLAV TECHNOLOGIES Co.,Ltd. |
|
CP03 | Change of name, title or address |