时钟恢复的方法及装置转让专利

申请号 : CN200810084420.7

文献号 : CN101247527B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 任新村

申请人 : 华为技术有限公司

摘要 :

本发明实施例公开一种时钟恢复的方法及装置,方法包括:获取传输流的第一节目时钟参考信号,将所述第一节目时钟参考信号与本地系统时钟信号进行比较,得到第一比较信号;将所述第一比较信号进行滤波处理,得到第二比较信号,根据所述第二比较信号与第二节目时钟参考信号的历史值得到更新的第二节目时钟参考信号;根据所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间得到恢复后的第一节目时钟参考信号。本发明实施例的技术方案利用软件滤波的方式,通过跟踪第一节目时钟参考信号来进行循环监控,恢复第一节目时钟参考信号,提高了时钟恢复的网络状况适应能力。

权利要求 :

1.一种时钟恢复的方法,其特征在于,包括:

获取传输流的第一节目时钟参考信号,将所述第一节目时钟参考信号与本地系统时钟信号进行比较,得到第一比较信号;

将所述第一比较信号进行滤波处理,得到第二比较信号,根据所述第二比较信号与第二节目时钟参考信号的历史值得到更新的第二节目时钟参考信号;

根据所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间得到恢复后的第一节目时钟参考信号,具体方法为:恢复后的第一节目时钟参考信号=第二节目时钟参考信号+当前时间-记录时间;

将所述本地系统时钟更新为所述恢复后的第一节目时钟参考信号,跟踪所述第一节目时钟参考信号。

2.如权利要求1所述的方法,其特征在于,所述接收传输流的第一节目时钟参考信号之前还包括:根据所述承载网络情况和用户需求设置滤波参数和滤波次数,并引入所述系统固定时钟源以记录所述第二节目时钟参考信号的记录时间和所述系统固定时钟源的当前时间。

3.如权利要求1所述的方法,其特征在于,所述根据所述第二比较信号与第二节目时钟参考信号的历史值得到更新的第二节目时钟参考信号还包括:将所述历史值更新为所述更新的第二节目时钟参考信号,所述历史值的初始值为所述第一节目时钟参考信号的初始值。

4.如权利要求1所述的方法,其特征在于,所述将所述第一比较信号进行滤波处理采用的滤波算法包括指数权重移动平均EWMA滤波算法。

5.一种时钟恢复装置,其特征在于,包括:比较模块,滤波模块,恢复模块;其中,所述比较模块,用于获取传输流的第一节目时钟参考信号,将所述第一节目时钟参考信号与本地系统时钟信号进行比较,得到第一比较信号,将所述第一比较信号发送到所述滤波模块;

所述滤波模块,用于将所述第一比较信号进行滤波处理,得到第二比较信号,根据所述第二比较信号与第二节目时钟参考信号的历史值得到更新的第二节目时钟参考信号,将所述更新的第二节目时钟参考信号发送到所述恢复模块;

所述恢复模块,用于根据所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间得到恢复后的第一节目时钟参考信号,其中包括记录子模块和时钟更新子模块,所述记录子模块,用于记录所述接收子模块接收的所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间;

所述时钟更新子模块,用于根据所述计算子模块得到的所述恢复的第一时钟参考信号更新本地系统时钟,将所述本地系统时钟信号更新为所述恢复的第一节目时钟参考信号。

6.如权利要求5所述的装置,其特征在于,所述恢复模块还包括:接收子模块,计算子模块和发送子模块;其中,接收子模块,用于接收所述更新的第二节目时钟参考信号,并接入所述系统固定时钟源;

所述计算子模块,用于根据所述记录子模块中所述更新的第二节目时钟参考信号和根据所述记录子模块的记录时间与当前时间得到所述恢复的第一节目时钟参考信号;

发送子模块,用于发送所述计算子模块得到的所述恢复的第一节目时钟参考信号,以及将所述时钟更新子模块更新后的本地系统时钟信号发送到所述比较模块,跟踪所述第一节目时钟参考信号的源端码流播放速度。

7.如权利要求5所述的装置,其特征在于,所述滤波模块包括:接收子模块,设置子模块,滤波子模块,历史值更新子模块,和发送子模块;其中,接收子模块,用于接收所述第一比较信号;

所述设置子模块,用于根据所述承载网络情况和用户需求设置滤波参数和滤波次数;

所述滤波子模块,用于根据所述设置子模块的所述滤波参数和所述滤波次数运行滤波软件对所述接收子模块接收的所述第一比较信号进行滤波处理、去掉延迟抖动,得到所述第二比较信号;

所述历史值更新子模块,用于根据所述滤波子模块得到的所述第二比较信号与第二节目时钟参考信号的历史值得到更新的历史值,更新的历史值为所述更新的第二节目时钟参考信号;

发送子模块,用于将所述历史值更新子模块得到的所述更新的第二节目时钟参考信号发送到所述恢复模块。

8.如权利要求7所述的装置,其特征在于,所述滤波子模块配置的滤波算法包括指数权重移动平均EWMA滤波算法。

说明书 :

技术领域

本发明涉及数字技术领域,特别是涉及一种时钟恢复的方法及装置。

背景技术

时钟恢复是数字媒体播放控制的关键技术之一,该技术的主要目的是通过同步码流发送端和本地的时钟,控制本地的码流播放速度和源端码流发送速度,使两者保持长期一致,以防止本地播放器产生上溢或者下溢的情形。
与本发明相关的现有技术一般通过硬件锁相环实现媒体数据流时钟恢复,如图1所示,把从TS(Transtport Stream,传输流)流中提取出的PCR(Program Clock Reference,节目时钟参考)和本地STC(System TimeClock,本地系统时钟)比较,得到的差值为e,将差值输入到低通滤波器,经过滤波后得到f,一般是一个控制VCO(Voltage-Controlled Oscillator,压控晶振)工作频率的信号,将调整后的VCO输出的时钟输入到STC装置,由STC产生恢复后的本地时钟。试音频的播放时间戳PTS分别和STC相比后做同步处理,保证试音频唇音同步。VCO产生的27MHZ时钟可以作为视频输出模块的时钟源。由于STC是通过锁相环和PCR不断比较修正过的时钟,和头端的时钟在只存在由于网络延迟导致的相位差,频率是一致的,所以可以保证播放速度和源端码流发送的速度也是一致的,这样就不会产生本地缓冲溢出的现象。
在实现本发明的过程中,发明人发现现有技术存在以下缺点:
需要一个锁相环电路,外部需要VCO支持,成本较高。
如果是IP网络,包传输抖动很大的情况下,由于PCR的达到时间不准确,VCO的恢复效果也不好。
另外,由于TS流在某些传输网络中,例如IP网络,数据包的传输延迟抖动很大,导致PCR的到达时间抖动也很大,从VCO恢复出来的时钟无法作为视频输出的时钟。

发明内容

本发明实施例的目的是提供一种时钟恢复的方法及装置,以解决在没有DCO/VCO的情况下,使用未恢复的本地时钟导致误差在长时间累积后出现缓冲上溢或者下溢的问题;以及解决在输出延迟抖动很大的IP网络中产生的时钟无法供视频输出模块使用的问题。
为达到上述目的,本发明实施例一方面提出一种时钟恢复的方法,包括:
获取传输流的第一节目时钟参考信号,将所述第一节目时钟参考信号与本地系统时钟信号进行比较,得到第一比较信号;
将所述第一比较信号进行滤波处理,得到第二比较信号,根据所述第二比较信号与第二节目时钟参考信号的历史值得到更新的第二节目时钟参考信号;
根据所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间得到恢复后的第一节目时钟参考信号,具体方法为:恢复后的第一节目时钟参考信号=第二节目时钟参考信号+当前时间-记录时间;
将所述本地系统时钟更新为所述恢复后的第一节目时钟参考信号,跟踪所述第一节目时钟参考信号。
本发明实施例还提供一种时钟恢复装置,其特征在于,包括:比较模块,滤波模块,恢复模块;其中,
所述比较模块,用于获取传输流的第一节目时钟参考信号,将所述第一节目时钟参考信号与本地系统时钟信号进行比较,得到第一比较信号,将所述第一比较信号发送到所述滤波模块;
所述滤波模块,用于将所述第一比较信号进行滤波处理,得到第二比较信号,根据所述第二比较信号与第二节目时钟参考信号的历史值得到更新的第二节目时钟参考信号,将所述更新的第二节目时钟参考信号发送到所述恢复模块;
所述恢复模块,用于根据所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间得到恢复后的第一节目时钟参考信号。其中包括记录子模块和时钟更新子模块。
所述记录子模块,用于记录所述接收子模块接收的所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间;
所述时钟更新子模块,用于根据所述计算子模块得到的所述恢复的第一时钟参考信号更新本地系统时钟,将所述本地系统时钟信号更新为所述恢复的第一节目时钟参考信号。
与现有技术相比,本发明实施例的技术方案具有以下优点:
不使用DCO/VCO,而利用软件滤波的方式,通过跟踪第一节目时钟参考信号来进行循环监控,恢复第一节目时钟参考信号,提高了时钟恢复的网络状况适应能力。

附图说明

图1为现有技术中的通过锁相环实现时钟恢复的装置结构示意图;
图2为本发明实施例中的时钟恢复的方法流程示意图;
图3为本发明实施例二提供的时钟恢复方法示意图
图4为本发明实施例中的时钟恢复装置结构示意图。

具体实施方式

本发明实施例提供一种时钟恢复的方法及装置。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
本发明的实施例一提供一种时钟恢复的方法,如图2所示,包括以下步骤:
步骤S1,获取传输流的第一节目时钟参考信号,将所述第一节目时钟参考信号与本地系统时钟信号进行比较,得到第一比较信号。
在该步骤前还需要根据所述承载网络情况和用户需求设置滤波参数和滤波次数,并引入系统固定时钟源激活所述本地系统时钟模块。
步骤S2,将所述第一比较信号进行滤波处理,得到第二比较信号,根据所述第二比较信号与第二节目时钟参考信号的历史值得到更新的第二节目时钟参考信号。其中将所述第一比较信号进行滤波处理采用的滤波算法包括指数权重移动平均EWMA滤波算法,而滤波算法是可以替换和配置的。
将所述比较信号进行滤波处理、去掉延迟抖动,得到滤波后的第二节目时钟参考信号。在该步骤中,所述历史值为不断更新的第二节目时钟参考信号。系统初始化时,所述历史值的初始值为所述第一节目时钟参考信号的初始值。
步骤S3,根据所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间得到恢复后的第一节目时钟参考信号。得到恢复后的第一节目时钟参考信号还包括将所述本地系统时钟更新为所述恢复后的第一节目时钟参考信号,跟踪所述第一节目时钟参考信号。由于第二本地系统时钟信号的获取和输出是个不连续的过程,恢复后的第一节目时钟参考信号(更新后的本地系统时钟信号)需要给播放器等设备提供连续的本地系统时钟,在本地系统时钟的生成过程中,引入系统的固定时钟源进行计时,以记录所述第二节目时钟参考信号的记录时间、以及系统的当前时间。
在该步骤中,根据所述第二节目时钟参考信号、记录时间、当前时间计算生成恢复的第一时钟参考信号为:恢复的第一时钟参考信号=第二节目时钟参考信号+当前时间-记录时间。
实施例二时钟恢复方法
如图3所示,在本实施例中,通过滤波的方式恢复第一节目时钟参考信号PCR,将更新后的本地系统时钟STC_1(即经过时钟恢复后的第一节目时钟参考信号)作为播放器的音视频同步的本地系统时钟,通过PTS(Presentation Time Stamp,播放时间戳)等参数控制音视频的播放速度,同步本地的码流播放速度和源端的发送速度,并进行音视频的唇音同步处理。而播放器的视频输出模块可以引入恒定的27M时钟源,而不用STC_1。
下面具体介绍时钟恢复方法的详细流程,仍如图3所示,将从TS流提取的PCR数据(对应实施例一的第一节目时钟参考信号)和STC_1(对应实施例一的本地系统时钟信号)相比较(或称:相减),得到比较信号e。将e经过滤波处理,去掉PCR因为延迟抖动等原因造成的误差,将滤波后的所述比较信号与历史值相加得到PCR_1(对应实施例一的第二节目时钟参考信号),这里的历史值表示更新前的PCR_1的值。当播放器需要使用本地系统时钟时,根据获得的PCR_1进行时钟恢复得到本地系统时钟STC_1,这里的STC_1即对PCR进行恢复后的本地系统时钟。
根据获得的PCR_1进行时钟恢复得到本地系统时钟STC_1的步骤具体可以包括:记录经过软件滤波时的PCR_1的时间time0(以系统固定时间源的时间为准);在需要生成本地系统时钟(即进行时钟恢复)时,记录当前时间time1(以系统固定时间源的时间为准),将time1和time0的差值加上最近更新的PCR_1值,就得到STC_1(对应实施例一的恢复后的第一时钟参考信号,同时该信号又作为新本地系统时钟信号)。即STC_1=PCR_1+time1-time0。
在TS流的播放过程中,可以将STC_1作为播放器的音视频同步的本地时钟源,其优点在于:即使在包传输抖动很大的情况下,由于PCR_1是PCR经过滤波去除抖动的处理,且生成本地系统时钟时计算时间差是以系统固定时钟源为准的,如果音视频播放时以根据PCR_1和所述时间差计算得到的STC_1为准,就可以将播放速度和码流发送端的速度进行同步,保证播放器的缓冲不会产生上下溢出的情况,由于音视频将PTS分别和STC_1相比播出的,所以音视频的播放时间也比较相近,也就自动完成了音视频的唇音同步。
在本实施例中,软件滤波时采用的滤波算法是可以替换和配置的。滤波算法有很多,例如:EWMA(Exponentially weighted moving average,指数权重移动平均滤波器)滤波算法。
为计算方便,滤波参数一般选择0.5,这样方便移位运算。
根据需要可以将EWMA的计算次数进行调整。在源端码流速度比较均匀的情况下甚至可以只作一次EWMA运算就可以实现滤波,滤波的过程就是一个去抖动的过程,而在IP网络流中,可以选择使用3重EWMA运算。
本发明实施例还提供一种时钟恢复装置,如图4所示,包括:比较模块100,滤波模块200,恢复模块300;其中,
所述比较模块100,用于获取传输流的第一节目时钟参考信号,将所述第一节目时钟参考信号与本地系统时钟信号进行比较,得到第一比较信号,将所述第一比较信号发送到所述滤波模块200;
所述滤波模块200,用于将所述第一比较信号进行滤波处理,得到第二比较信号,根据所述第二比较信号与第二节目时钟参考信号的历史值得到更新的第二节目时钟参考信号,将所述更新的第二节目时钟参考信号发送到所述恢复模块300;
所述恢复模块300,用于根据所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间得到恢复后的第一节目时钟参考信号。
其中所述恢复模块300包括:接收子模块310,时间记录子模块320,计算子模块330,和时钟更新子模块340,和发送子模块350;其中,
接收子模块310,用于接收所述更新的第二节目时钟参考信号,并接入所述系统固定时钟源;
所述记录子模块320,用于记录所述接收子模块310接收的所述更新的第二节目时钟参考信号、系统固定时钟源记录的所述第二节目时钟参考信号的记录时间、以及所述系统固定时钟源的当前时间;
所述计算子模块330,用于根据所述记录子模块320中所述更新的第二节目时钟参考信号和根据所述记录子模块的记录时间与当前时间得到所述恢复的第一节目时钟参考信号;
所述时钟更新子模块340,用于根据所述计算子模块330得到的所述恢复的第一时钟参考信号更新本地系统时钟,将所述本地系统时钟信号更新为所述恢复的第一节目时钟参考信号;
发送子模块350,用于发送所述计算子模块340得到的所述恢复的第一节目时钟参考信号,以及将所述时钟更新子模块更新后的本地系统时钟信号发送到所述比较模块,跟踪所述第一节目时钟参考信号的源端码流播放速度。
所述滤波模块200包括:接收子模块210,设置子模块220,滤波子模块230,历史值更新子模块240和发送子模块250;其中,
接收子模块210,用于接收所述第一比较信号;
设置子模块220,用于根据所述承载网络情况和用户需求设置滤波参数和滤波次数;
滤波子模块230,用于根据所述设置子模块220的所述滤波参数和所述滤波次数运行滤波软件对所述接收子模块210接收的所述第一比较信号进行滤波处理、去掉延迟抖动,得到所述第二比较信号;
历史值更新子模块240,用于根据所述滤波子模块230得到的所述第二比较信号与第二节目时钟参考信号的历史值得到更新的历史值(该历史值在初始化时,由于STC_1只有系统固定时钟源,该系统固定时钟源通常只有几兆赫兹,与PCR相比基本忽略不计,因此,经过比较模块之后,该历史值的初始值即为第一节目时钟参考信号的初始值),更新的历史值为所述更新的第二节目时钟参考信号;
发送子模块250,用于将所述历史值更新子模块240得到的所述更新的第二节目时钟参考信号发送到所述恢复模块300。
在滤波模块200中,滤波子模块230配置的滤波算法是可以替换和配置的,包括EWMA滤波算法。
下面详细介绍本发明实施例提供的恢复装置的一个应用实施例。在本实施例中,与通过锁相环电路实现时钟恢复等方法不同之处在于播放器的视频输出模块可以引入恒定的27M时钟,和时钟恢复装置没有关系,不受PCR抖动的影响,避免时钟信号在IP网络中的传输抖动和延迟,而且不需要VCO等设备的支持,降低了设计和制造成本。另一方面,通过滤波的方式恢复第一节目时钟参考信号,将本地系统时钟更新为恢复后的第一节目时钟参考信号,跟踪第一节目时钟参考信号,更新后的本地系统时钟STC_1作为播放器的音视频同步的本地系统时钟,音视频通过PTS(PresentationTime Stamp,播放时间戳)等参数控制播放速度,同步本地的码流播放速度和源端的发送速度,并进行音视频的唇音同步处理。
仍如图4所示,播放器系统运行前,首先对时钟恢复装置进行初始化,主要是获取滤波模块200的历史值,根据所述承载网络情况和用户需求设置滤波模块200的滤波参数和滤波次数,并引入系统固定时钟源激活所述恢复模块300。码流播放过程中,TS流提取的PCR数据(对应实施例一的第一节目时钟参考信号)送入比较装置100,和恢复装置取出的STC_1(对应实施例一的本地系统时钟信号)相比较,得到e,再经过滤波模块200,经过滤波处理,去掉PCR因为延迟抖动等原因造成的误差,将滤波后的所述比较信号与历史值相加得到PCR_1(对应实施例一的第二节目时钟参考信号);将PCR_1输入到恢复模块300,恢复模块300更新该模块中记录子模块320记录的PCR_1到最新值,并将记录子模块320获取到最新的PCR_1的时间time0记录下来。
在需要从恢复模块取STC_1时,计算子模块330首先取恢复模块300的当前时间time1以及记录子模块320的时间time0,将time1和time0的差值加上恢复模块300记录的最近更新的PCR_1,就得到STC_1(对应实施例一的恢复后的第一时钟参考信号,同时该信号又作为新本地系统时钟信号)。即STC_1=PCR_1+time1-time0,其中time1和time0的记录均以系统固定时钟源为准。
在本实施例中,滤波模块采用的滤波算法是可以替换和配置的。滤波算法有很多,例如:EWMA(Exponentially weighted moving average,指数权重移动平均滤波器)滤波算法。
为计算方便,滤波参数一般选择0.5,这样方便移位运算。
根据需要可以将EWMA的计算次数进行调整。在源端码流速度比较均匀的情况下甚至可以只作一次EWMA运算就可以实现滤波,滤波的过程就是一个去抖动的过程,而在IP网络流中,可以选择使用3重EWMA运算。
在音视频同步播放中,PTS和STC_1相比较的误差可以在毫秒(ms)级以上,由滤波装置生成的STC_1是完全可以满足要求的。
本实施例中,滤波模块对PCR数据和STC_1相比较得到e进行滤波处理,去掉延迟抖动等原因造成的误差,将滤波后的所述比较信号与PCR_1的历史值相加得到新的PCR_1,并将PCR_1的历史值更新为新的PCR_1,并将最新的PCR_1输入到恢复模块300。
播放器中的视频输出模块,采用系统的固定时钟源,和时钟恢复装置没有关系,采用恒定的27M时钟作为视频输出模块的时钟输入。而TS流播放器的音视频同步的时钟采用的是通过跟踪TS流的PCR、且不断更新本地系统时钟,即使由于某些特殊原因导致播放速度和源端的码流发送速度不一致时,播放器可以根据音视频同步时钟和视频输出模块时钟进行分析处理,例如:可以采用跳帧的方式处理,从而使TS流播放器有了更好的网络适应性。
本发明实施例提供的技术方案具有以下优点:现有技术是采用PCR作为播放器视频输出模块和播放器音视频同步的“本地时钟源”,因此存在抖动因素,本发明实施例引入了系统固定时钟源,避开DCO(Digital-ControlledOscillator,数字控制振荡器)/VCO,用其他未经调整的系统固定时钟驱动视频输出模块,播放器音视频同步和视频输出模块时钟分离,恢复后的STC 1与PCR进行比较,跟踪PCR的变化、用滤波的方式来做时钟恢复,循环监控,产生本地播放器音视频同步所需要的STC。即通过跟踪第一节目时钟参考信号来进行循环监控,恢复第一节目时钟参考信号,提高了时钟恢复的网络状况适应能力。时钟恢复模块由软件来实现,省去了现有技术中VCO/DCO装置,通过滤波去抖动、更新本地系统时钟、并跟踪变化的第一节目时钟参考信号以满足播放器音视频同步需求,保证播放器缓冲不会溢出的情况下,节省了成本;即使在网络延迟很大的情况下,也不会影响到视频输出模块正常工作,播放器音视频同步通过时钟恢复装置分析PCR流来跟踪源端码流播放速度的时钟变化并进行相应处理,提高了网络抖动的适应能力。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。