CN101843082A - 用于时钟漂移补偿的方法和系统 - Google Patents

用于时钟漂移补偿的方法和系统 Download PDF

Info

Publication number
CN101843082A
CN101843082A CN200880114273A CN200880114273A CN101843082A CN 101843082 A CN101843082 A CN 101843082A CN 200880114273 A CN200880114273 A CN 200880114273A CN 200880114273 A CN200880114273 A CN 200880114273A CN 101843082 A CN101843082 A CN 101843082A
Authority
CN
China
Prior art keywords
sampling
time
clock
unit
relation
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.)
Granted
Application number
CN200880114273A
Other languages
English (en)
Other versions
CN101843082B (zh
Inventor
特吕格弗·弗雷德里克·马顿
托格尔·格罗思·利安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tandberg Telecom AS
Original Assignee
Tandberg Telecom AS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tandberg Telecom AS filed Critical Tandberg Telecom AS
Publication of CN101843082A publication Critical patent/CN101843082A/zh
Application granted granted Critical
Publication of CN101843082B publication Critical patent/CN101843082B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)
  • Telephone Function (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

对播放单元和捕获单元之间不同的采样率进行补偿。播放单元从计算单元接收采样,并且捕获单元把采样发送到所述计算单元。播放fifo缓冲器在播放时间域内操作,并且捕获fifo缓冲器在捕获时间域内操作。计算单元被同步到公共时钟。在公共时钟和播放fifo缓冲器读取指针之间计算第一关系,并且在公共时钟和捕获fifo缓冲器写入指针之间计算第二关系。对于播放时间域内的每个采样,从所述计算单元的采样中查找对应采样,并将其发送到播放fifo缓冲器。对于公共时钟时间域内的每个采样,在捕获时间域内查找对应采样,并将其发送到计算单元。

Description

用于时钟漂移补偿的方法和系统
技术领域
本发明涉及时钟漂移补偿。具体地,本发明涉及一种用于补偿播放单元和捕获单元之间不同的采样率的方法,以及一种用于补偿播放单元和捕获单元之间不同的采样率的时钟漂移补偿单元。本发明还涉及时钟漂移补偿单元的使用。
背景技术
在传统的会议系统或任何免提系统中,一个或多个麦克风捕获位置A的声波,并且把所述声波变换为第一音频信号。第一音频信号被发送到位置B,在位置B处,电视机或放大器和扬声器通过把在位置A产生的第一音频信号转换为声波来再现原始的声波。
图1图示了在免提通信系统中典型的回声问题。来自远端(位置A)的数字音频信号1101由数模转换器(DAC)1301转换到模拟域,在扬声器放大器1302中被放大并且进一步被扬声器1303转换为声信号。直接信号1304和由墙/天花板等1305反射的反射信号1306都不希望被麦克风1308拾取。麦克风还拾取所想要的(例如谈话人员的)近端信号1307。麦克风信号在麦克风放大器1309中被放大,并且在模数转换器1310中被数字化,模数转换器1310输出未消回声的麦克风信号1202。如果未消回声的麦克风信号被发送到远端,那么在远端站点的参与者可能会听到他们自己的回声,并且如果在远端存在类似的系统,那么甚至可能出现吼鸣/反馈。
为了解决这种问题,已经建议向数字麦克风信号路径增加听觉回声消除器1203。这种消除器使用数字扬声器信号1101作为信号基准1201,并且对所有扬声器至麦克风路径1304/1306进行估计,并且从未消回声的麦克风信号1202中减去这些估计,产生已消回声的麦克风信号1204,其作为信号1102而被发送到远端。
目前广泛使用两种主要方法来用于听觉回声消除器(canceller):全带消除器和子带消除器。这两种消除器通常使用自适应FIR(有限脉冲响应)滤波器来用于回声路径估计,然而分别在全带域和子带域中应用。
在产品中所使用的听觉回声消除器一般包括未在此文档的图中示出的几个另外的子块:双向通话算法字块、非线性处理单元字块、缓和(comfort)的噪声产生字块等。为简单明了起见,省略了这些子块,这是因为认为详细公开这些块对实现本发明的原理来说并不是必要的。这些块可以发生变化,并且在论文、专利和文献中也有详细地记录。对于本领域的技术人员来说,集成这些块是简单明了的。
图2示出了基本的全带听觉回声消除器。
来自远端2101的数字信号被作为信号2102传递到扬声器,并且还被用为扬声器基准信号2103。
通过自适应FIR滤波器2104过滤扬声器基准信号2103。此自适应滤波器将房间的脉冲响应会聚到一起,并且对其进行跟踪。自适应FIR滤波器2104必须适应于初始会聚和房间中的任何声音变化(门的打开,人的移动等)。为此,可以使用许多不同的自适应算法,从廉价的(低处理能力的)LMS(最小均方),到诸如APA(仿射投影算法)和RLS(递归最小二乘方)等更高级且要求更多资源的算法。然而,所有这些算法共同使用FIR滤波器更新回路2108来进行自适应。
自适应FIR滤波器输出反转的回声估计2105,所述回声估计2105被添加到未消回声的麦克风信号2106,从而计算已消回声的麦克风信号2107。
其它方法使用子带处理。图3图示了此方法。
来自远端3101的数字信号被作为信号3102传递到扬声器。还使用分析滤波器3301将其划分为所选择数目的子带。使用另一(但是是同样的)分析滤波器3302来把未消回声的麦克风信号3106划分为子带。
对于每个子带来说,扬声器分析滤波器输出子带基准信号3203,其通过子带FIR滤波器3204而被过滤,从而计算反转的子带回声估计3205。麦克风分析滤波器输出子带未消回声的信号3206,其被添加到反转的回声估计,从而输出子带已消回声的麦克风信号3207。已消回声的麦克风信号用于FIR滤波器的自适应,其被示为子带FIR滤波器更新回路3208。
通过合成滤波器3303,来自所有子带的已消回声的麦克风信号还被一起会聚到全带已消回声的麦克风信号3107。
全带和子带回声消除器对从输出数字采样(2102/3102)到输入数字采样(2106/3106)的响应进行估计。此响应受到信号所通过的任何软件或硬件的影响,所述软件和硬件包括但不局限于采样率转换器、混频器、D/A转换器、扬声器、声耦合器、麦克风和A/D转换器。在设计中,输入信号2106/3106中的采样率固有地等于在输出信号2102/3102中的采样率。对于最佳性能来说,可控制的部分的响应(包括延迟)应当保持恒定。
在良好设计的系统中,通过对D/A和A/D转换器使用相同的时钟源来确保同样的采样率,而通过适当的硬件和软件设计来维持恒定的(或至少可预测的)延迟。
然而,在一些设计中,对A/D和D/A转换器使用不同的时钟源。例如发生在下面的情形中,在个人计算机(PC)中,A/D转换器和D/A转换器可能位于不同的卡上,分别在每个卡上本地地产生转换时钟。典型而广泛使用的情形是,当由网络照相机对音频进行捕获(A/D转换)的同时,由PC内置的声卡对音频进行播放(D/A转换)。
在A/D转换器和D/A转换器之间的任何速率差异可能导致几个问题:
1.频移:在从2102/3102信号到2106/3106信号的信号之间可能存在频移。线性回声消除器并未被设计用于这种漂移,并且从而使得最大可获得的瞬间性能受到损害。
2.时间漂移:在扬声器信号2102/3102和麦克风信号2106/3106中的相同采样之间的时间可能缓慢地改变,这要求回声消除器不断地重新自适应。回声消除器值只可以在扬声器信号2102/3102具有足够高的功率时才重新自适应。因此,尽管时间延迟慢慢地改变,不过在沉默期(低2102/3102功率)之后的作为响应的有效时间漂移可能足够大而产生相当大的残余回声。
3.采样过量/不足:由于为A/D转换器产生的采样与D/A转换器的消耗不相等,所以在系统中的一个或多个地方可能采样过剩或不足。
在A/D转换速率和D/A转换速率之间可能存在两种类型的漂移。这两种类型可以同时存在。
由于时钟源(晶体,振荡器等)与其标称值的偏差,会发生漂移。晶体具有改变的性能级。对于晶体而言,可以指定的一些参数是频率、稳定度、准确度(百万分之几或ppm),以及在以上参数中由于温度变化所导致的变化极限。通常,没有两个晶体是完全相同的。它们将以略微不同的频率振动,并且它们的其它特性也同样不同。这意味着如果A/D和D/A转换器由根据不同晶体导出的时钟信号驱动,那么即使当所述晶体以相同的标称频率运行,并且用于A/D和D/A的除法器相匹配时,在这些转换器运行的速率上仍然存在轻微的差异。在这种情况下,A/D随时间推移产生的采样数与由D/A在相同时段内消耗的采样数并不匹配。在其中,由A/D所产生的采样数与D/A消耗的采样数相比较的时段越长,则由A/D和D/A所处理的采样数中的差异越大。
由于不相容的采样率也可能出现漂移。当捕获/播放设备不支持音频流的采样率时,借助操作系统插入软件采样率转换器。然而,此采样率转换器可能只有有限的分辨率,从而标称采样频率将改变。该差异随时间推移是恒定的,但是可能相当大。常常遇到的典型值是0.625%,即百万分之6250。
图4图示了在PC中的播放和捕获系统(分别是4100和4200)的典型设置。应当注意,精确的设置随着所选择的API和音频播放/捕获设备驱动器而发生改变。常常,为了使系统工作,使用双重缓冲或类似方法。这在图中并未示出。如从软件应用的角度来看,附图只是用来解释播放和捕获系统的主要属性。
在播放系统4100中,DAC(数模转换器)4101由DACCLK 4102来计时,即DAC 4101按照由DACCLK 4102给出的速率来消耗采样。DACCLK 4102通常由高出很多的晶振频率来导出。DAC 4101一次消耗一个来自DAC FIFO 4103的采样。DAC FIFO可以用硬件或软件来实现。当DAC FIFO 4103为空时,它消耗来自播放SRC(采样率转换器)4104的Nplayout个采样,播放SRC 4104又从播放环形缓冲器4112中消耗了必要数目的采样,所述播放环形缓冲器4112是播放FIFO 4110的一部分。Nplayout可以低至一,但是多个(采样组)也是常见的(已经观察到Nplayout=128)。利用与从播放FIFO消耗的采样相同数目的采样来更新播放读取指针4113。软件应用的任务是用来根据播放写入指针4111确保在播放FIFO中填入了正确数目的采样。
类似地,在捕获系统4200中,ADC 4201由ADCCLK 4202计时,即以ADCCLK 4202的速率来生成采样。ADCCLK 4202通常由更高的晶振频率来导出,但是如先前所描述,其不必与ADCCLK相同。ADC一次向ADC FIFO 4203递送一个采样。ADC FIFO可以用硬件或软件来实现。当ADC FIFO被充满,它向捕获SRC(采样率转换器)4204递送Ncapture个采样,捕获SRC4204又向捕获环形缓冲器4212递送所计算数目的采样,所述捕获环形缓冲器4212是捕获FIFO 4210的一部分。Ncapture可以低至一,但是更高的数目也是常见的。利用与被递送到捕获FIFO的采样相同数目的采样来更新捕获读取指针4213。软件应用的任务是用于读取捕获读取指针4211,以确保从捕获FIFO中消耗了正确数目的采样。
软件应用4400分别向/从播放和捕获FIFO发送和接收采样。
对于向文件或其它非计时的(unclocked)源读取/写入音频数据的应用来说,向/从播放/捕获FIFO生产/消耗正确数目的采样通常是简单的。即便对于从/向另一计时的源/汇点(sink)获取/递送音频数据的单工应用来说,通过插入或移除一个或多个采样来对向/从播放/捕获FIFO递送/消耗的采样数进行校正通常也是相当简明的。可以在听觉未劣化的情况下执行这种插入或移除,并且这种技术是公知的。因为这种技术要插入或移除采样,所以会存在时间延迟的变化,但是对于大部分应用而言这是可接受的。
然而,对于其中在由软件应用程序递送的采样和消耗的采样之间的精确关系是关键的应用来说,必须寻找另一解决方案。以上是对于回声消除的情况而言的。但是应当指出的是,还存在具有此要求的其它应用,例如测量应用等。
发明内容
本发明的目的是提供如在本说明书开头部分中所提及的一种方法、时钟漂移补偿单元和所述时钟漂移补偿单元的使用,用于解决现有技术中的上述问题的至少一个。
在所附独立权利要求中定义的特征表征了这种方法、时钟漂移补偿单元及其使用。
附图说明
为了使本发明更易于被理解,下面的论述将参照附图,其中
图1图示了在免提通信系统中典型的回声问题,
图2是基本的全带听觉回声消除器的示意图,
图3是基本的子带听觉回声消除器的示意图,
图4图示了在PC中的播放和捕获系统的典型设置,
图5图示了依照本发明的一个实施例的时钟漂移补偿器,
图6图示了依照本发明的替换实施例的时钟漂移补偿器,
图7和8描绘了用于补偿播放系统和捕获系统之间不同的采样率的流程图,
图9图示了典型的指针更新方案。
具体实施方式
在下文中,将通过描述优选实施例并且参照附图来讨论本发明。然而,本领域技术人员会认识到独立权利要求所定义的本发明范围内的其它应用和改型。
本发明某些方面的基本思想是提供一种用于诸如PC之类的计算单元的时钟漂移补偿器,从而对模拟-数字(A/D)和数字-模拟(D/A)转换器中的采样频率的差异进行补偿,例如,在被连接到计算单元或在计算单元中所包括的音频I/O设备中的采样频率中的差异。
如上所述,图4图示了在PC中的播放系统4100和捕获系统4200的典型设置。在图5中,依照本发明的某些原理,利用时钟漂移补偿器5300来扩展图4中的设置。时钟漂移补偿器5300被配置来补偿播放和捕获信号中不同的采样频率。时钟漂移补偿器5300包括公共高频率(HF)时钟5301、播放时间设备或播放时间估计器5311、播放时间校正器5312、捕获时间设备或捕获时间估计器5321、和捕获时间校正器5322。漂移补偿器5300被配置用来把数据写入到播放缓冲器5110中,所述播放缓冲器5110可以是队列缓冲器,尤其是诸如循环缓冲器或环形缓冲器之类的FIFO缓冲器,并且从捕获缓冲器5210中读取数据,所述捕获缓冲器5210也可以是队列缓冲器,尤其是诸如循环缓冲器或环形缓冲器之类的FIFO缓冲器。此外,漂移补偿器5300被配置为向软件应用5400发送数据和从软件应用5400接收数据。尽管为简单起见,对元件5400使用术语“软件应用”,不过应当理解,此元件实际上可以包括硬件和软件。元件5400在本说明书也被认为是计算单元,例如可以是音频回声消除单元。时钟漂移补偿单元5300向软件应用5400提供来自公共HF时钟5301的高频率时钟信号,使得软件应用与公共HF时钟5301同步。
在本文中,相对于由捕获单元捕获的模拟信号和由播放单元输出的模拟信号的特性而言,应将公共时钟的频率理解为是高的。例如可以使用在大约1MHz到1GHz范围内的时钟频率。
时钟漂移补偿器5300从播放FIFO 5110读取指针和公共HF时钟5301请求位置信息,以及从捕获FIFO 5210写入指针和公共HF时钟5301请求位置信息。时钟漂移补偿器5300使用位置和时钟信息来计算在公共HF时钟5301和播放采样数或播放读取指针之间的第一关系,以及同样计算在公共HF时钟5301和捕获采样数或捕获写入指针之间的第二关系。根据这些计算的关系,对于公共时钟域中的每个采样,可以在捕获FIFO中找到对应采样,从而以公共时钟采样频率为软件应用5400创建输入信号。同样,对于播放域中的每个采样,在来自软件应用的采样中查找对应采样,从而确保正确数目的采样被发送到播放FIFO。
在下文中,更详细地举例描述了时钟漂移补偿器。如果环形缓冲器被用作缓冲器(队列缓冲器,FIFO缓冲器),那么指针将回返(wrap)。当在下文中提及指针时,指的是未回返的指针。未回返的指针是简明的,并且应当为本领域技术人员所公知。
播放时间设备或播放时间估计器5311读取多个数据集,其中,每个数据集是公共高频率时钟5301和播放读取指针5113的采样/读出。根据该多个数据集,估计在播放读取指针和高频率时钟之间的关系。播放读取指针5111被用于表示DAC转换时钟5102。对于DAC时间域中的每个采样时间,可以计算应用5400的相应时间(由应用基准时钟测量的,公共HF时钟5301)。从而,可以由播放时间校正块5312通过使用最近的应用域采样和子采样延迟滤波器来计算在播放(DAC)域中每个采样的正确采样值。最后,此采样被写入到播放环形缓冲器5112中。应当注意,在相比于应用(公共)时钟5301,DAC转换时钟漂移的情况下,基于时间校正器5312的输出产生的采样数与由所述时间校正器5312消耗的采样数稍微(marginally)不同,即,它将作为采样率转换器来工作。
同样,捕获时间设备或捕获时间估计器5321读取多个数据集,其中每个集是公共高频率时钟5301和捕获写入指针5213的采样/读出。根据多个数据集,对在捕获写入指针和高频率时钟之间的关系进行估计。捕获写入指针被用于表示ADC转换时钟5202。对于应用5400的时间域中的每个采样时间(由应用基准时钟测量的,公共HF时钟5301),可以计算ADC相应的时间。从而可以通过使用最接近的ADC域采样和已知的内插法,由捕获时间校正块来计算应用的正确采样值。应当注意,在相比于ADC时钟5202,应用(公共)时钟5301漂移的情况下,基于捕获时间校正器5321的输出产生的采样数与在捕获时间校正器5321的输入处消耗的采样数稍微不同,即,它将作为采样率转换器工作。
仅对于在ADC和DAC之间的补偿来说,可以依照两种方式简化如图5所示的漂移补偿器5300。
依照本发明一个示例性实施例,应用(application)与DACCLK5102同步。在这种情况下,播放读取指针5113充当公共时钟,并且捕获时间设备和时钟校正器使用此时钟作为公共时钟5301,如图6中所图示。由于播放系统5100和软件应用5400是同步的,所以播放时间设备和时间校正器可以依照简化的甚至平常的方式进行操作,但是它们仍符合本发明的原理。在此特定的实施例中,可以对第一关系进行设置而不是计算,而对第二关系进行计算。
依照本发明的第二示例性实施例,应用与ADCCLK 5202同步。在此实施例中,捕获写入指针5213充当公共时钟,并且播放时间估计器5311和播放时钟校正器5312使用此时钟作为公共时钟5301。由于ADC和应用是同步的,所以捕获时间设备和时间校正器可以依照简化的甚至平常的方式来进行操作,但是它们仍符合本发明的原理。在此特定的实施例中,可以对第二关系进行设置而不是计算,而对第一关系进行计算。
然而多数情况下,同步到一个信任的时钟源是有益的。第一,公共时钟应当具有高分辨力(如后面所解释,播放或捕获指针不必是高分辨力的)。第二,软件应用5400应当使用尽可能与现实世界时钟同步的时钟。当通信系统与另一系统通信时,或当测量系统指的是现实世界时间的量度时,后一点是重要的。
因此依照本发明一个实施例,稳定且信任的时钟源(不是DACCLK或ADCCLK)被选择为公共HF时钟5301。此公共时钟还充当软件应用5400的基准时钟。例如,公共HF时钟5301可以是PC的系统时钟。在此实施例中,第一和第二关系两者都要进行计算。
图7和8依照本发明一个实施例示出了时钟漂移补偿器的操作概述的流程图表示(在下面论述中将参考图5)。图7和8中的每个块表示在下面论述中进一步定义的过程。
操作在步骤600处开始,其中软件应用5400开始和启动分别向播放/捕获系统5100/5200发送5402数据和从播放/捕获系统5100/5200请求5401数据。依照一个本发明示例性实施例,5400是音频回声消除器(AEC),用来经由通信网络从远端(未示出)接收数字音频信号并且经由播放系统5100在扬声器上播放。来自近端的声音被捕获系统5200捕获和数字化。如在背景技术部分中所描述的,AEC计算无回声音频信号,并且经由通信网络把它发送回到远端(未示出)。
存在使上述补偿方案复杂化的一些因素。
当播放/捕获时间估计器5311/5321读取数据集(步骤601)时,无法同时完全获取公共HF时钟5301和播放/捕获FIFO指针5113/5213。它们中的一个必须始终被首先读取,并且另一个随后被读取。当然,当对数据集中的第一时钟进行读取时,第二时钟继续运行。只要在读取之间的时间是恒定的,这就不会产生任何问题。然而,计算机硬件和应用常常要求各种中断等,其随后可能会在读取之间产生可变的时间。在一些情况下,通过禁用中断,时间估计器5311/5321可以确保在每个集中的两次读取之间的时间差异是可忽略的,或者至少足够小使得可以通过过滤来去除时间不确定性(情况1a)。然而,一些应用没有禁用中断的权力,导致在读取之间存在显著的时间差异。
由于一些应用没有禁用中断的权力,依照本发明的某些方面的方法和设备依照确定的准则检查每个数据集,并且去除不符合所述准则的数据集。如在步骤602中所图示,对于每个数据集来说,检查读出的HF时钟5301是否是可接受的。这可以通过如下步骤来进行,首先读取公共HF时钟5301,然后读取FIFO指针5113/5213,接着读取另一个读取公共HF时钟5301。现在,每个数据集包含三个数据点(三元组)而不是两个。通过分析多个数据集,可以计算在两个公共HF时钟5301读出之间的时间分布。如果在数据集(三元组)中的两次公共HF时钟5301读出之间的时间是异常的(依照分布而言过长),那么假定已经出现了一些不平常的情况(例如中断),这使数据集是不确定的。这种不确定的数据集必须被取消资格(步骤605),只留下具有低不确定性的数据集来用于进一步计算(步骤603)。
如上所述,另一问题是可能在相当大的步骤范围内更新FIFO指针。换句话说,FIFO缓冲器5110/5210可能并不总是一次写入/读取一个采样,而是定期地读取/写入大量数据,例如一次128个采样或一次16个采样。因此,连续地读出播放/捕获指针5113/5213可能给出相同的结果,或者两次连续的读取也可能相差很大的值。这借助图9中的例子来图示。在此例子中,读取的数据集可能是:(0;0)、(1;0)、(2;0)、(3;0)、(4;0)、(5;2)、(6;2)、(7;2)、(8;2)、(9;4)、(10;4)等。这用作实际转换时钟的量化,并且如果没有正确处理则可能会产生问题。可以直接看出,此量化引入了量化噪声,但是与“常规”量化噪声不同,这种噪声不能被假定为白/随机过程;它是非常规则的并且与时钟相关。所述噪声作为三角形信号类型而出现,这可能会带来混叠(alias)问题,并且当在采样时也会有类似问题(由于CPU复杂性,所以数据集不应当被频繁读取)。
依照本发明的某些方面,此问题可以通过当指针更新时读取FIFO指针5113/5213来解决。由于更新之间的间隔期间CPU可以是空闲的,这节省了宝贵的CPU资源。典型情况下,软件应用5400必须刚好在预计的指针更新之前确保/请求运行时间(例如使用时间中断)。可以通过在初始阶段中分析FIFO的更新过程来查找预计的更新时间。例如,如果FIFO一般以128个采样的块来更新,并且转换时钟5102/5202具有48kHz的频率,那么漂移补偿器5300可以在更新之后在其恢复读取新的数据集之前,停止读取FIFO指针(5113和/或5213)达大约N*128/48000秒(其中N是任何正整数,其根据在CPU复杂性和准确度之间的折中来选择)。刚好在预计的更新之前,漂移补偿器5300读取三元组,直到指针在两次连续的公共HF时钟读取之间更新。在实践中,这通过如下的步骤来实现,即,读取公共HF时钟5301,然后读取FIFO指针5113/5213、HF时钟、FIFO指针等,直到指针已经被更新,例如,C-1、P-1、C-2、P-2、C-3、P-3、C-4等,其中,C-标示时钟的读取并且P标示指针的读取。如果FIFO指针5113/5213从P-1更新到P-2,那么正被登记的公共HF时钟5301是C-2,或者是C-1、C-2和C-3的某个平均值(或加权)。正被登记的指针一般是P-1和P-2的平均值(但是其它变量也是适用的)。为了符合先前的准则,在C-1和C-3之间的时间必须不能高得异常,否则可能会丢弃数据集(步骤605)。从CPU负载的观点来看,最好在读取指针时测试指针的转变。然而,为了减少时间的不确定性,即,(在这种情况下)确保从C-1到C-3的时间尽可能低,以给定的时间来记录序列(直到预计的指针转变+余量),并且然后确定该转变可能是有益的。
为了确保进一步的计算不会受到不正确或不确定的数据集的影响,需要解决又一问题。由于个人计算机的缺陷,会遇到奇怪的和非预期的FIFO指针行为;非预期的更新步骤,指针回退等。这种行为可能由试图补偿漂移、排队问题(无序执行请求)等的声卡驱动程序引起。因此如步骤604中所图示,对于在步骤602未丢弃的每个数据集来说,执行另一检查。如上所述,随时间推移来分析数据,并且还随着正常指针增加来保持统计数值。如果按照异常值来更新指针,则将该数据集丢弃(步骤605)。例如,如果在一段时间内利用128个采样来接连更新指针,与128个采样显著偏离的更新则被认为是不确定的数据集,由此被丢弃。然而,由于采样率转换器5104/5204,一个采样的偏差(即以127或129个采样进行的更新)必须被认为是有效的更新。
随时间推移,多对C和P数据在步骤602和步骤604中被批准,然后被登记(步骤606)。此数据必须利用对所有不合格对取消资格的算法来处理,这意味着不必须是均匀采样。此外,从对的噪声集合(来自情况1a的噪声)中,必须以适当的准确度来估计在(由C标示的)公共HF时钟5301和(由P标示的)指针5113/5213之间的关系。因此依照本发明一个实施例,根据统计模型计算在公共时钟和捕获指针之间,以及在公共时钟和播放指针之间的关系。在下文中,引入一些适当的线性回归方法。然而,在本发明的范围内可以使用其它统计模型。
可以借助下式计算一个采样的实际时钟(由公共HF时钟5301测量):
Cfiltered=α*Psample+β                        [1]
因子α是在公共HF时钟5301和指针5113/5213之间的比率关系,并且具有标称HF时钟频率值除以指针更新速率加上/减去用于定义时钟漂移常数的较小值的值。因子β只是个偏移,从而剔除其中C和P并未同时以零开始的正常情况。
因此,在步骤607,计算因子α和β。依照本发明一个示例性实施例,最小均方算法被用为过滤算法:
SP=∑Pi        [2]
SC=∑Ci        [3]
SPP=∑Pi 2      [4]
SPC=∑Pi*Ci    [5]
M=计算中的数据集的数目,
i表示要计算总和的数据集中的集合
α=(M*SPC-SP*SC)/(M*SPP-SP 2)        [6]
β=(SC*SPP-SP*SC)/(M*SPP-SP 2)        [7]
Cfiltered的准确性随着数据对数量(M)的增大而得到改善。然而随时间推移,漂移偏移可能会改变,使在Psample和Cfiltered之间的线性关系无效(α改变)。因此,在计算中的第一数据集和最后数据集之间的时间的选择必须在准确度(要求长时间)和跟踪变化的漂移因子的能力(要求线性关系是良好近似的,因此时间受到限制)之间做折中。可以使用更高阶的模型,从而简化这种折中,但是在实践中,漂移因子足够缓慢地改变,从而使用线性/一阶模型来进行适当的折中。
需要对变化的漂移因子进行跟踪意味着当得到新的数据集时必须从计算中省去最老的时钟/指针数据集,即,上述求和要按滑动窗口来计算。不必直接为每个新的数据对计算总和。为了节省CPU周期,对新的和最老的数据集进行更新就是足够的:
SP,m=SP,m-1+Pm-Pm-M                    [8]
SC,m=SC,m-1+Cm-Cm-M                    [9]
SPP,m=SPP,m-1+Pm 2-Pm-M 2                [10]
SPC,m=SPC,m-1+Pm*Cm-Pm-M*Cm-M          [11]
M=计算中的数据集的数目,
m表示最近对的下标
α=(M*SPC,m-SP,m*SC,m)/(M*SPP,m-SP,m 2)[12]
β=(SC,m*SPP,m-SP,m*SC,m)/(M*SPP,m-SP,m 2)[13]
尽管上面的方程式在理论上是正确的,不过由于有限的精度/舍入所累积的误差可能会导致问题。因此依照本发明的另一示例性实施例,把损耗因子(δ)添加到计算中:
SP,m=δ*SP,m-1+PmM*Pm-M             [14]
SC,m=δ*SC,m-1+CmM*Cm-M             [15]
SPP,m=δ*SPP,m-1+Pm 2M*Pm-M 2                   [16]
SPC,m=δ*SPC,m-1+Pm*CmM*Pm-M*Cm-M             [17]
SM=∑δi,i=0..(M-1)      [18]
α=(SM*SPC,m-SP,m*SC,m)/(SM*SPP,m-SP,m 2)      [19]
β=(SC,m*SPP,m-SP,m*SC,m)/(SM*SPP,m-SP,m 2)   [20]
SM是恒定的从而只需要被计算一次。
损耗因子δ一般被选择为略小于单位一。此因子会减小较老数据的影响(这不是有意的/必要的,但是也不会产生任何问题),并且还会引入舍入误差的遗忘因子。
增加损耗因子δ可以实现进一步的简化。通过把M选择为无穷大,δM接近于0,因此可以省略在滑动求和[14]-[17]中的减法,并且出于求和的目的,不必把任何数据存储在延迟线中。缺点是需要在适当的过滤和用于跟踪变化的漂移因子的能力之间做更加困难的折中。所有数据对都将“永存”,但是由于较老的数据对(通过适当地选择损耗因子δ)在计算上可能具有可忽略的权重,所以在多数情况下是可以跟踪漂移因子的。
在步骤701,可以根据估计的α、β和方程式[1],Cfiltered=α*Psample+β,来计算任何采样/指针的正确时间Cfiltered(相对于公共时钟5301)。
播放时间校正器5312和捕获时间校正器5321的任务是在已知在不同域之间的时间偏移/斜率的情况下,根据在另一时间域中的已知的采样来计算一个时间域中的正确采样值。在下文中,我们依照本发明一个实施例描述了如何可以把捕获域采样转换为公共域(commondomain)采样。然而,从公共域到播放域的转换是类似的。
根据所计算的时钟关系(步骤701),对于公共域中的每个采样而言,捕获采样时间校正器5321在捕获域中查找对应采样。术语“对应采样”将被解释为,对公共域中的每个采样时间在捕获域中为该时间找到的采样值,要么通过直接复制采样值(如果在该时间存在采样),要么通过使用一些内插技术在计算在该时间的采样值。因此对于公共域中的每个采样而言,捕获采样时间校正器5321查找捕获域中的采样(下标j),该采样在时间上最接近于在所述公共域中的采样(步骤702)。如果在域之间的偏移(时间偏差)是整数,那么采样j可以被复制并且被直接使用(步骤706)。然而,偏移(时间偏差)通常不是整数。因此,计算小数值τ,在下文中,被称为剩余因子τ(步骤703)。剩余因子τ是在减去整数偏移/偏差值之后的剩余,并且其定义了子采样延迟,并且应当近似在-0.5和0.5之间。应当注意,由于采样频率的漂移,所以可能出现稍微在[-0.5,0.5]范围之外的值。
可以使用具有恒定时间延迟的全通滤波器,从而利用子采样延迟来执行信号的延迟。具有偏移的正弦脉冲具有这些属性。然而,根据定义,正弦脉冲在长度上是无穷大的,并且在实际的实现方式中,必须应用窗口。必须对窗口的特性和长度进行选择,使得确保频率响应(幅度和延迟)在所有感兴趣的频率中具有足够的准确度。例如,如果回声消除器以16kHz的采样率工作,则通常存在高达7kHz的音频信号。在这种情况下,频率响应的幅度和延迟直到7kHz必须是平的,而幅度和相位在7kHz以上可以偏离理想的响应,这是因为在此频带上不存在任何信号。为此所发现的具有良好特性的一个窗口类型是布兰克曼窗口(Blackman window)。
从而,计算长度L+1的子采样时间延迟滤波器(hτ):
hτ=sinc((-L/2..L/2)-τ)*window(length L+1)   [21]
当选择L=48、布兰克曼窗口、16kHz的采样频率和高达7kHz的感兴趣频率时,此滤波器的时间延迟误差小于0.005采样,并且幅度误差小于0.005dB;这种小误差不会导致回声消除器性能的显著劣化。
最后在步骤705,公共时钟域中的采样y(换句话说在j±τ的采样值)被计算为时间延迟滤波器(hτ)和来自捕获域的一系列采样的卷积:
y=hτx[j-L/2..j+L/2]          [22]
这里x是来自捕获时间域的采样的时间序列。在计算中所使用的采样向量以由j定义的在时间上最接近的采样为中心,而其余子采样延迟由全通滤波器hτ来定义。
在漂移的情况下,剩余因子τ对每个采样来说都会改变,由此对每个采样来说,新的滤波器hτ是必要的。为每个采样计算新的滤波器,计算量可能是太大。尽管适当地选择数据集和适当的过滤是安全的,不过在时间延迟上始终存在一些残留噪声。因此,在没有显著降级的情况下,可以定义(例如均匀分布的)离散的延迟集和相应的预先计算的滤波器集。在处理期间,选择与实际延迟相比较具有最小误差的预先计算的滤波器。这种效果与τ的量化相同。应当注意,由于子采样延迟可能会超过[-0.5,0.5]的范围,所以还应当存在用于处理这些“超出”延迟的一些预先计算的滤波器。
这种时间校正算法对连续的公共时钟域采样充当从捕获域到公共域的重新采样器。如果在频率中存在任何漂移,则所估计的时间会相应地漂移,由此如预期的一样,从捕获域到公共时钟域,采样率(和采样数)会略微发生变化。应当指出,依照本发明一个实施例使用全通滤波器作为采样率转换算法中的滤波器存在某些理论上的“顾忌”,例如正弦宽度应理想地适合于采样转换率。然而,出于实际目的,这些理论方面是可忽略的,这是由于转换率始终非常接近于单位一。
在播放端上执行如上所述的相同类型的校正。从而,软件应用(例如在计算单元中实现的回声消除器算法)在所有发送和接收的信号上观察到相同的采样频率(时基)。因此,不要求修改例如标准的回声消除算法来使其以异步的ADC和DAC转换速率在系统上工作。
在PC中,在音频捕获或播放中常常存在失灵信号(glitch)。由于完全丢失音频数据帧或丢失单个采样可能会导致大量失灵信号。其原因可能是CPU过载或类似情况。定义用于检测和调整这种失灵信号的方法在本发明的范围之外。然而,使用所描述的方法,在小数采样准确(和最终失灵信号)的情况下可以进行时序计算,从而简化了这种检测和校正。
依照本发明的方法和漂移补偿器具有几个优点。以高准确度有效地检测了时序上的任何漂移或其它差异,使例如回声消除器或其它计算单元之类的软件应用5400正常工作。由于高准确度,可以容易地检测并补偿像失灵信号的其它缺点。
由于不存在复位算法,所以按照所述算法自动地检测和补偿任何情况变化。不存在逐步增大的误差或偏移;通过播放和捕获系统和软件层,从应用5400输出(例如,回声消除器扬声器信号2102/3102)到应用输入(例如,回声消除器麦克风输入2106/3106)的路径始终是不变的。
整个系统被计时/同步到信任和公知的时钟源,并且不依赖于任何ADC或DAC子系统的提供商。
时钟漂移补偿器5300是完全独立的模块,这意味着在不需要调整这些应用的情况下,它可被用于标准的应用。例如,在没有进一步改变的情况下,可以在存在所论述的漂移问题的PC中使用为具有同步ADC和DAC的嵌入式产品所开发的回声消除器。
依照本发明的时钟漂移补偿器5300适用于需要在DAC和ADC之间的已知/固定关系的任何类型的应用。
时钟漂移补偿器可以用于电信会议系统中的听觉回声消除,所述系统诸如电话会议系统或视频会议系统。
特别,时钟漂移补偿器可以被合并到诸如电话会议终端或视频会议终端之类的电信会议终端中,用于在电信会议系统中实现听觉回声消除,其中这种电信会议终端经由通信网络互相通信。
这种电信会议终端可以进一步包括计算单元,诸如用于执行操作系统和软件应用的常规个人计算机;D/A转换器,其被配置为从在时钟漂移补偿器中包括的播放单元所包括的播放FIFO缓冲器中读取数字数据;音频放大器,其被配置为放大由D/A转换器所提供的模拟信号;音频扬声器,其被连接到音频放大器、麦克风、连接到所述麦克风的麦克风放大器的输出;A/D转换器,其被配置成把所述麦克风放大器输出信号转换为数字形式,并且把所述数字信号提供到由在所述时钟漂移补偿器中包括的捕获单元所包括的捕获FIFO缓冲器。计算单元可操作地连接到诸如局域网和/或因特网之类的通信网络,从而经由网络实现电信会议系统。电信会议终端可以另外包括照相机、显示器和用于实现视频会议的进一步的结构和功能部件。

Claims (37)

1.一种用于补偿播放单元和捕获单元之间不同的采样率的方法,
所述播放单元被配置用于从计算单元接收采样,
所述捕获单元被配置用于向所述计算单元发送采样,
所述播放单元包括播放缓冲器,在播放时间域中操作,并且
所述捕获单元包括捕获缓冲器,在捕获时间域中操作,
所述方法的特征在于:
把所述计算单元同步到在公共时钟时间域中操作的公共时钟,
设置或计算所述公共时钟和关联于所述播放缓冲器的播放读取指针之间的第一关系,
设置或计算所述公共时钟和关联于所述捕获缓冲器的捕获写入指针之间的第二关系,并且
对于所述播放时间域中的每个采样,根据所述第一关系在来自所述计算单元的各采样中查找对应采样,并且向所述播放缓冲器发送该对应采样,并且
对于在所述公共时钟时间域中的每个采样,根据所述第二关系在所述捕获时间域中查找对应采样,并且向所述计算单元发送该对应采样。
2.如权利要求1所述的方法,其中,设置所述第一关系并且计算所述第二关系。
3.如权利要求1所述的方法,其中,计算所述第一关系并且设置所述第二关系。
4.如权利要求1所述的方法,其中,计算所述第一关系和第二关系。
5.如权利要求1-4中任何一个所述的方法,其中,所述计算单元是音频回声消除器。
6.如权利要求1-4中任何一个所述的方法,其中,使用统计模型来计算所述第一关系或第二关系。
7.如权利要求6所述的方法,
其中,所述统计模型包括从由以下算法构成的组中选择的线性回归方法:
最小均方算法,和
具有用于减少舍入误差的损耗因子的最小均方算法。
8.如先前权利要求中任何一个所述的方法,其中,从由下述构成的组中选择所述公共时钟:
与所述读取指针相关联的时钟信号,和
与所述捕获指针相关联的时钟信号,以及
与所述计算单元的中央处理器(CPU)相关联的时钟信号。
9.如先前权利要求中任何一个所述的方法,其中,在所述捕获时间域中查找对应采样的所述步骤包括步骤:在所述捕获时间域中识别在时间上最接近于所述公共时钟时间域中的采样的采样,并且
如果在所述公共时钟时间域和所述捕获时间域之间的偏移是整数,则提供所识别的采样作为查找的采样,并且
如果所述偏移不是整数,则计算子采样,并且提供所述子采样作为查找的采样。
10.如权利要求9所述的方法,
其中,所述的计算子采样的步骤包括步骤:
计算剩余因子τ,所述因子是减去所述公共时钟时间域和所述捕获时间域之间的整数偏移之后的余项,并且
把长度L+1的时间延迟滤波器(hτ)与来自所述捕获时间域的一系列采样相卷积;
y=hτx[j-L/2..j+L/2],
其中,x是来自所述捕获时间域的、以在时间上最接近的采样为中心的采样的时间序列。
11.如权利要求10所述的方法,
其中,所述的计算子采样的步骤进一步包括步骤:
为离散数目的剩余因子(τ)预先计算一组时间延迟滤波器hτ,并且
选择所述预先计算的滤波器(hτ)之一,其中,所选择的滤波器表示最接近所计算的剩余因子τ的滤波器。
12.如权利要求10所述的方法,
其中,所述的计算子采样的步骤包括步骤:
为每个采样计算所述时间延迟滤波器(hτ)。
13.如先前权利要求中任何一个所述的方法,其中,所述第一关系和第二关系基于公共时钟、播放读取指针和捕获写入指针数据的读出,并且其中,所述的计算所述第一关系和第二关系的步骤包括:较之老数据,对新数据进行更强的加权。
14.如先前权利要求中任何一个所述的方法,其中,计算所述第一关系进一步包括
读取第一数据集,其中,所述第一数据集包括至少是所述公共时钟和所述播放读取指针基本上同时的读出,并且
如果符合一组预定义的准则,则登记所述第一数据集。
15.如先前权利要求中任何一个所述的方法,其中,计算所述第二关系的步骤进一步包括
读取第二数据集,其中,所述第二数据集包括至少是所述公共时钟和所述捕获写入指针基本上同时的读出,并且
如果符合一组预定义的准则,则登记所述第一和第二数据集。
16.如权利要求14或15所述的方法,
其中,如果在数据集的时间周围相继的公共时钟读出之间的时间不超过预定义的阈值或者指针递增不是异常的,则符合所定义的准则。
17.一种时钟漂移补偿单元,用于补偿播放单元和捕获单元之间不同的采样率,
所述播放单元从计算单元接收采样,
所述捕获单元向所述计算单元发送采样,
其中,所述播放单元在播放时间域中操作并且至少包括播放缓冲器,并且其中,所述捕获单元在捕获时间域中操作并且包括捕获缓冲器,
所述时钟漂移补偿单元的特征在于包括:
公共时钟,所述公共时钟在公共时钟时间域中操作,并向所述计算单元提供时钟信号,
播放时间设备,所述播放时间设备被配置用于设置或计算在所述公共时钟和关联于所述播放缓冲器的播放读取指针之间的第一关系,
捕获时间设备,所述捕获时间设备被配置用于设置或计算在所述公共时钟和关联于所述播放缓冲器的捕获写入指针之间的第二关系,
播放时间校正器,所述播放时间校正器被配置用于:为所述播放时间域中的每个采样,根据所述第一关系,在来自所述计算单元的各采样中查找对应采样,并且向所述播放缓冲器发送该对应采样,和
捕获时间校正器,所述捕获时间校正器被配置用于:为所述公共时钟时间域中的每个采样,根据所述第二关系,在所述捕获时间域中查找对应采样,并且向所述计算单元发送该对应采样。
18.如权利要求17所述的时钟漂移补偿单元,其中,设置所述第一关系并且计算所述第二关系。
19.如权利要求17所述的时钟漂移补偿单元,其中,计算所述第一关系并且设置所述第二关系。
20.如权利要求17所述的时钟漂移补偿单元,其中,计算所述第一关系和第二关系。
21.如权利要求17-20中任何一个所述的时钟漂移补偿单元,其中,所述计算单元是音频回声消除器。
22.如权利要求17-21中任何一个所述的时钟漂移补偿单元,
其中,使用统计模型来计算所述第一关系或第二关系。
23.如权利要求22所述的时钟漂移补偿单元,其中,所述统计模型包括从由下面算法组成的组中所选择的线性回归方法:
最小均方算法,和
具有用于减少舍入误差的损耗因子的最小均方算法。
24.如先前权利要求17-23中任何一个所述的时钟漂移补偿单元,
其中,从包括下述的组中选择所述公共时钟:
与所述读取指针相关联的时钟信号,和
与所述捕获指针相关联的时钟信号,以及
与所述计算单元的中央处理器(CPU)相关联的时钟信号。
25.如权利要求17-25中任何一个所述的时钟漂移补偿单元,其中,所述捕获时间校正器被进一步配置用于:
在所述捕获时间域中识别在时间上最接近于所述公共时钟时间域中的采样的采样,并且
如果在所述公共时钟时间域和所述捕获时间域之间的偏移是整数,则提供所识别的采样作为查找的采样,并且
如果所述偏移不是整数,则计算子采样并且提供所述子采样作为查找的采样。
26.如权利要求17-25中任何一个所述的时钟漂移补偿单元,其中,所述捕获时间校正器被进一步配置为:
计算剩余因子τ,所述因子是在减去所述公共时钟时间域和所述捕获时间域之间整数偏移之后的余项,并且
把长度L+1的时间延迟滤波器(hτ)与来自所述捕获时间域的一系列采样相卷积;
y=hτx[j-L/2..j+L/2],
其中,x[j-L/2..j+L/2]是来自所述捕获时间域的、以所述的在时间上最接近的采样为中心的采样的时间序列。
27.如权利要求26所述的时钟漂移补偿单元,其中,所述捕获时间校正器被进一步配置用于:
为离散数目的剩余因子(τ)预先计算一组时间延迟滤波器hτ,并且
选择所述预先计算的滤波器(hτ)之一,其中,所选择的滤波器表示最接近所计算的剩余因子τ的滤波器。
28.如权利要求17-27中任何一个所述的时钟漂移补偿单元,其中,所述第一和第二关系基于公共时钟、播放读取指针和捕获写入指针数据的读出,并且其中,所述播放时间设备或所述捕获时间设备被配置为当分别计算所述第一或第二关系时,较之老数据,对新数据进行更强的加权。
29.如权利要求17-28中任何一个所述的时钟漂移补偿单元,其中,所述播放时间校正器被进一步配置用于:
在来自所述计算单元的采样中识别在时间上最接近于所述播放时间域中的采样的采样,并且
如果在所述播放时间域和所述公共时钟时间域之间的偏移是整数,则提供所识别的采样作为所查找的采样,并且
如果所述偏移不是整数,则计算子采样(y)并且提供所述子采样作为所查找的采样。
30.如权利要求21所述的时钟漂移补偿单元,其中,所述播放时间校正器进一步被配置用于:
计算剩余因子τ,所述因子是在减去所述播放时间域和所述公共时钟时间域之间整数偏移之后的余项,并且
把长度L+1的时间延迟滤波器(hτ)与来自所述计算单元的一系列采样相卷积;
y=hτx[j-L/2..j+L/2],
其中,x[j-L/2..j+L/2]是来自所述计算单元的、以在时间上最接近的采样为中心的采样的时间序列。
31.如权利要求30所述的时钟漂移补偿单元,其中,所述捕获时间校正器和所述播放时间校正器被进一步配置用于:
为离散数目的剩余因子(τ)预先计算一组时间延迟滤波器hτ,并且
选择所述预先计算的滤波器(hτ)之一,其中所选择的滤波器表示最接近所计算的剩余因子τ的滤波器。
32.如权利要求30所述的时钟漂移补偿单元,其中,所述捕获时间校正器被进一步配置用于计算每个采样的时间延迟滤波器(hτ)。
33.如权利要求17所述的时钟漂移补偿单元,其中,所述播放时间设备被进一步配置用于:
读取第一数据集,其中,所述第一数据集包括至少是所述公共时钟和所述播放读取指针基本上同时的读出,并且
如果符合一组预定义的准则,则登记所述第一数据集。
34.如权利要求17所述的时钟漂移补偿单元,其中,所述捕获时间设备被进一步配置用于:
读取第二数据集,其中,所述第二数据集包括至少是所述公共时钟和所述捕获写入指针基本上同时的读出,并且
如果符合一组预定义的准则,则登记所述第一和第二数据集。
35.如权利要求33或34所述的时钟漂移补偿单元,
其中,如果满足以下条件,则符合所述预定义的准则:
在数据集时间周围的相继公共时钟读出之间的时间不超过预定义的阈值,或者
指针递增不是异常的。
36.一种电信会议终端,其特征在于包括如在权利要求17-35中任何一个所述的时钟漂移补偿单元。
37.如权利要求17-35中任何一个所述的时钟漂移补偿单元的使用,用于在电信会议系统中消除回声。
CN2008801142731A 2007-12-18 2008-12-16 用于时钟漂移补偿的方法和系统 Expired - Fee Related CN101843082B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US1463607P 2007-12-18 2007-12-18
NO20076533A NO327377B1 (no) 2007-12-18 2007-12-18 Fremgangsmate og system for klokkedriftskompensering
US61/014,636 2007-12-18
NO20076533 2007-12-18
PCT/NO2008/000453 WO2009078733A1 (en) 2007-12-18 2008-12-16 A method and system for clock drift compensation

Publications (2)

Publication Number Publication Date
CN101843082A true CN101843082A (zh) 2010-09-22
CN101843082B CN101843082B (zh) 2013-09-04

Family

ID=40795720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801142731A Expired - Fee Related CN101843082B (zh) 2007-12-18 2008-12-16 用于时钟漂移补偿的方法和系统

Country Status (6)

Country Link
US (1) US8515086B2 (zh)
EP (1) EP2235928B1 (zh)
JP (1) JP5357179B2 (zh)
CN (1) CN101843082B (zh)
NO (1) NO327377B1 (zh)
WO (1) WO2009078733A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102568494A (zh) * 2012-02-23 2012-07-11 贵阳朗玛信息技术股份有限公司 消除回声的优化方法、装置及系统
CN103688522A (zh) * 2011-05-18 2014-03-26 谷歌公司 时钟漂移补偿方法和装置
CN105553598A (zh) * 2016-01-10 2016-05-04 北京航空航天大学 一种基于m估计稳健回归的时间触发以太网时钟补偿方法
CN108281149A (zh) * 2017-12-29 2018-07-13 芯原微电子(北京)有限公司 一种基于加Blackman窗的FIR滤波器的音频采样率转换方法及系统
CN110967967A (zh) * 2018-09-28 2020-04-07 三星电子株式会社 移动高级主时钟、建立高级主时钟的方法和自主车辆
CN111512261A (zh) * 2017-12-11 2020-08-07 超威半导体公司 具有指针偏移的异步缓冲器

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110234200A1 (en) * 2010-03-24 2011-09-29 Kishan Shenoi Adaptive slip double buffer
US8738956B2 (en) * 2011-04-28 2014-05-27 Futurewei Technologies, Inc. Method and apparatus for updating a fractional time interval using time-domain interpolators in optical communications
US9491404B2 (en) * 2011-10-27 2016-11-08 Polycom, Inc. Compensating for different audio clocks between devices using ultrasonic beacon
US9024998B2 (en) 2011-10-27 2015-05-05 Pollycom, Inc. Pairing devices in conference using ultrasonic beacon
US8896651B2 (en) * 2011-10-27 2014-11-25 Polycom, Inc. Portable devices as videoconferencing peripherals
US9203633B2 (en) 2011-10-27 2015-12-01 Polycom, Inc. Mobile group conferencing with portable devices
CN102780821B (zh) * 2012-07-06 2014-08-13 歌尔声学股份有限公司 一种送受话端采样率偏差纠正方法和系统
US9025762B2 (en) * 2012-10-23 2015-05-05 Cisco Technology, Inc. System and method for clock synchronization of acoustic echo canceller (AEC) with different sampling clocks for speakers and microphones
US8880929B2 (en) * 2012-11-19 2014-11-04 Blackfire Research Corporation Indirect clock measuring and media adjustment
JP6038635B2 (ja) * 2012-12-21 2016-12-07 株式会社東芝 信号処理装置および信号処理方法
US9219456B1 (en) * 2013-12-17 2015-12-22 Amazon Technologies, Inc. Correcting clock drift via embedded sin waves
US10147441B1 (en) 2013-12-19 2018-12-04 Amazon Technologies, Inc. Voice controlled system
US9100090B2 (en) * 2013-12-20 2015-08-04 Csr Technology Inc. Acoustic echo cancellation (AEC) for a close-coupled speaker and microphone system
US9373318B1 (en) 2014-03-27 2016-06-21 Amazon Technologies, Inc. Signal rate synchronization for remote acoustic echo cancellation
US9589575B1 (en) * 2015-12-02 2017-03-07 Amazon Technologies, Inc. Asynchronous clock frequency domain acoustic echo canceller
US10692515B2 (en) * 2018-04-17 2020-06-23 Fortemedia, Inc. Devices for acoustic echo cancellation and methods thereof
WO2021013363A1 (en) * 2019-07-25 2021-01-28 Unify Patente Gmbh & Co. Kg Method and system for avoiding howling disturbance on conferences

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2802367B1 (fr) * 1999-12-14 2006-08-18 France Telecom Procede temps reel de traitement et de gestion pour l'annulation d'echo entre haut-parleur et microphone d'un terminal informatique
US6754295B1 (en) * 2000-04-07 2004-06-22 Comrex Corporation Method and apparatus for synchronizing data transmission and reception over a network
US7277554B2 (en) * 2001-08-08 2007-10-02 Gn Resound North America Corporation Dynamic range compression using digital frequency warping
US6747581B2 (en) * 2002-02-01 2004-06-08 Octiv, Inc. Techniques for variable sample rate conversion
US7120259B1 (en) * 2002-05-31 2006-10-10 Microsoft Corporation Adaptive estimation and compensation of clock drift in acoustic echo cancellers
CN100454284C (zh) * 2002-12-24 2009-01-21 联想(北京)有限公司 实现远程实时播放接收声音的方法及系统
FR2867288B1 (fr) * 2004-03-03 2006-06-02 Centre Nat Rech Scient Procede de synchronisation de donnees, notamment distribuees prenant en compte les imprecisions et derives des horloges
NO328256B1 (no) 2004-12-29 2010-01-18 Tandberg Telecom As Audiosystem
WO2006087813A1 (ja) 2005-02-21 2006-08-24 Fujitsu Limited エコーキャンセラ
US20070019802A1 (en) * 2005-06-30 2007-01-25 Symbol Technologies, Inc. Audio data stream synchronization
US20070165837A1 (en) * 2005-12-30 2007-07-19 Microsoft Corporation Synchronizing Input Streams for Acoustic Echo Cancellation
US8295475B2 (en) * 2006-01-13 2012-10-23 Microsoft Corporation Selective glitch detection, clock drift compensation, and anti-clipping in audio echo cancellation

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103688522A (zh) * 2011-05-18 2014-03-26 谷歌公司 时钟漂移补偿方法和装置
CN103688522B (zh) * 2011-05-18 2015-11-25 谷歌公司 时钟漂移补偿方法和装置
CN102568494A (zh) * 2012-02-23 2012-07-11 贵阳朗玛信息技术股份有限公司 消除回声的优化方法、装置及系统
CN105553598A (zh) * 2016-01-10 2016-05-04 北京航空航天大学 一种基于m估计稳健回归的时间触发以太网时钟补偿方法
CN111512261A (zh) * 2017-12-11 2020-08-07 超威半导体公司 具有指针偏移的异步缓冲器
CN108281149A (zh) * 2017-12-29 2018-07-13 芯原微电子(北京)有限公司 一种基于加Blackman窗的FIR滤波器的音频采样率转换方法及系统
CN108281149B (zh) * 2017-12-29 2021-08-27 芯原微电子(北京)有限公司 一种基于加Blackman窗的FIR滤波器的音频采样率转换方法及系统
CN110967967A (zh) * 2018-09-28 2020-04-07 三星电子株式会社 移动高级主时钟、建立高级主时钟的方法和自主车辆
CN110967967B (zh) * 2018-09-28 2021-12-07 三星电子株式会社 移动高级主时钟、建立高级主时钟的方法和自主车辆

Also Published As

Publication number Publication date
WO2009078733A1 (en) 2009-06-25
NO20076533L (no) 2009-06-19
US20090185695A1 (en) 2009-07-23
JP5357179B2 (ja) 2013-12-04
CN101843082B (zh) 2013-09-04
JP2011512698A (ja) 2011-04-21
US8515086B2 (en) 2013-08-20
EP2235928A4 (en) 2011-05-04
EP2235928A1 (en) 2010-10-06
NO327377B1 (no) 2009-06-22
EP2235928B1 (en) 2013-07-31

Similar Documents

Publication Publication Date Title
CN101843082B (zh) 用于时钟漂移补偿的方法和系统
US8295475B2 (en) Selective glitch detection, clock drift compensation, and anti-clipping in audio echo cancellation
EP2868073B1 (en) Echo control through hidden audio signals
CN101506754B (zh) 时钟偏移补偿
US8385558B2 (en) Echo presence determination in voice conversations
WO2012046256A2 (en) Audio acoustic echo cancellation for video conferencing
US6747581B2 (en) Techniques for variable sample rate conversion
US9918163B1 (en) Asynchronous clock frequency domain acoustic echo canceller
US20130077807A1 (en) Hearing aid noise reduction method, system, and apparatus
WO2016096339A1 (en) Delay estimation for echo cancellation using ultrasonic markers
JP2015084466A (ja) サンプリングポイント調整装置および方法、並びにプログラム
US6421443B1 (en) Acoustic and electronic echo cancellation
Robledo-Arnuncio et al. On dealing with sampling rate mismatches in blind source separation and acoustic echo cancellation
US8259928B2 (en) Method and apparatus for reducing timestamp noise in audio echo cancellation
US7702941B2 (en) Universal adaptive synchronization scheme for distributed audio-video capture on heterogeneous computing platforms
US7600032B2 (en) Temporal drift correction
US8874175B2 (en) Converting samples of a signal at a sample rate into samples of another signal at another sample rate
GB2449932A (en) Timestamp conversion using samples
US20070230466A1 (en) Broadcast receiving apparatus and broadcast receiving method
US6735303B1 (en) Periodic signal detector
Lienhart et al. Universal synchronization scheme for distributed audio-video capture on heterogeneous computing platforms
EP1346543A2 (en) Dynamic latency management, dynamic drift correction, and automatic microphone detection
US9258011B2 (en) Efficient two-stage asynchronous sample-rate converter
Li et al. Challenges and solutions for designing software AEC on personal computers
CN117577123A (zh) 基于音频编解码器的回声消除装置及电子终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: CISCO SYSTEMS INTERNATIONAL BV

Free format text: FORMER OWNER: TANDBERG TELECOM AS

Effective date: 20120420

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120420

Address after: Swiss basil

Applicant after: TANDBERG TELECOM A/S

Address before: Norway Lv Sake

Applicant before: TANDBERG TELECOM A/S

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130904

Termination date: 20211216