CN116458136A - 用于消除抖动的时间戳平滑处理 - Google Patents
用于消除抖动的时间戳平滑处理 Download PDFInfo
- Publication number
- CN116458136A CN116458136A CN202180077106.XA CN202180077106A CN116458136A CN 116458136 A CN116458136 A CN 116458136A CN 202180077106 A CN202180077106 A CN 202180077106A CN 116458136 A CN116458136 A CN 116458136A
- Authority
- CN
- China
- Prior art keywords
- timestamp
- variance
- estimated
- clock skew
- initial
- 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.)
- Pending
Links
- 238000009499 grossing Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000005070 sampling Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 9
- 238000005096 rolling process Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 23
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了用于消除抖动的时间戳平滑处理的实施例。在一些实施例中,一种对与音频分组相关联的时间戳进行平滑处理的方法包括:使用至少一个处理器接收音频分组的一系列输入时间戳和所述音频分组相应的分组长度;使用所述至少一个处理器,基于所述一系列输入时间戳、所述分组长度和采样时间来估计初始时间戳;使用所述至少一个处理器,基于所估计的初始时间戳来计算预测时间戳;以及使用所述至少一个处理器对所述预测时间戳进行平滑处理。
Description
相关申请的交叉引用
本申请要求于2021年4月1日提交的美国临时专利申请号63/169,599以及于2020年11月17日提交的美国临时专利申请号63/114,577的优先权权益,这两个美国临时专利申请通过引用以其全文并入本文。
技术领域
本公开总体上涉及音频信号处理。
背景技术
实时音频处理系统通常会以分组或块的形式接收音频。对于一些音频处理系统,时间信息(以下称为“时间戳”)与每个分组相关联,所述时间信息指示音频何时被捕获或者何时从音频处理系统中播放出来。该时间信息可以被音频处理系统用于各种应用,包括但不限于:时延估计、音频对齐、间断检测、时延变化或未对齐检测和回声消除、抑制和管理。然而,在一些音频处理系统上,时间戳可能不可靠。例如,时间戳可能在短时间段内不稳定或不准确,使得由于时间戳从一个时钟域转换到另一个时钟域(例如,在真实音频时钟与系统时钟之间转换),导致音频中出现抖动或振荡。当时间戳不可靠时,依赖于时间戳的算法可能会执行误检测、不正确的计算或其他不期望的结果。例如,时延估计可能在短时间段内变得不稳定或不准确,或者间断检测可能被误触发。
发明内容
公开了用于消除抖动的时间戳平滑处理的实施方式。
在一些实施例中,一种对与音频分组相关联的时间戳进行平滑处理的方法包括:使用至少一个处理器接收音频分组的一系列输入时间戳和所述音频分组相应的分组长度;使用所述至少一个处理器,基于所述一系列输入时间戳、所述分组长度和采样时间来估计初始时间戳;使用所述至少一个处理器,基于所估计的初始时间戳来计算预测时间戳;以及使用所述至少一个处理器对所述预测时间戳进行平滑处理。
在一些实施例中,所述方法进一步包括:使用所述至少一个处理器,基于经平滑处理的预测时间戳来处理当前音频分组中的音频数据。
在一些实施例中,估计初始时间戳进一步包括:基于所述一系列输入时间戳、所述音频分组相应的分组长度、所述采样时间和检测到所述一系列输入时间戳中的当前不稳定性的初始时间,迭代地计算估计的初始时间戳;将每个估计的初始时间戳存储在长度为Ns的滚动历史数组中;对所述滚动历史数组进行排序;基于排序后的滚动历史数组确定所述初始时间戳的新估计;计算所述新估计的初始时间戳的均值和方差;基于所述方差确定未来预测时间戳是否会稳定;如果确定未来预测时间戳是稳定的,则停止所述迭代计算;以及将所述估计的初始时间戳设置为所述均值在停止所述迭代计算前的最后一个值。
在一些实施例中,所述长度Ns被选择为时延与所述当前时间戳的平滑量之间的折衷。
在一些实施例中,对所述均值和所述方差进行平滑处理。
在一些实施例中,基于所述方差确定未来预测时间戳是否会准确且稳定进一步包括:确定当前方差小于前一个方差,并且所述当前方差还小于由用于处理所述音频分组的音频时钟的方差所确定的参数。
在一些实施例中,所述迭代计算响应于所述预测时间戳中可能的间断被检测到而恢复。
在一些实施例中,基于通信端点的时钟之间或者虚拟标称时钟与真实硬件时钟之间的估计的时钟偏斜、所述预测时间戳与所述输入时间戳之间的经时钟偏斜校正的差异以及经时钟偏斜校正的块长度,来检测可能的间断。
在一些实施例中,所述方法进一步包括:跟踪可能的间断已发生的次数;以及如果所述次数超过指定的阈值,则确定间断已发生。
在一些实施例中,所述跟踪可能的间断已发生的次数进一步包括:在检测到每个间断之后递增计数器;以及当预测时间戳与所述输入时间戳之间的经时钟偏斜校正的差异大于经时钟偏斜校正的块长度的倍数时,重置所述计数器。
在一些实施例中,所述方法进一步包括:确定所述预测时间戳是否稳定;确定是否在所述预测时间戳中检测到可能的间断;以及根据所述预测时间戳是稳定的并且没有检测到可能的间断,估计所述时钟偏斜。
在一些实施例中,所述估计的时钟偏斜通过以下方式计算:计算时钟偏斜的初始估计;计算所述时钟偏斜的初始估计的估计均值和方差;将所述方差与阈值方差进行比较;根据所述方差小于所述阈值方差,对所述时钟偏斜的初始估计进行平滑处理以获得所述估计的时钟偏斜。
在一些实施例中,所述方法包括:基于所述估计的时钟偏斜来校正所述预测时间戳,以获得经平滑处理的时间戳。
在一些实施例中,一种系统包括一个或多个处理器和计算机可读介质,所述计算机可读介质存储有指令,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行前述方法中的任何一种方法。
在一些实施例中,一种非暂态计算机可读介质,所述非暂态计算机可读介质存储有指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行前述方法中的任何一种方法。
本文公开的其他实施方式涉及一种系统、装置和计算机可读介质。下文的附图和描述中阐述了所公开的实施方式的细节。根据所述描述、附图和权利要求,其他特征、目的和优点是显而易见的。
本文公开的特定实施方式提供了以下优点中的一个或多个。所公开的实施例将与当前音频分组相关联的时间戳和以时间为单位的分组长度作为输入。根据该信息,所公开的实施例估计时间戳(下文中也称为“时间戳平滑处理”),并生成指示估计的时间戳是否稳定以及是否在时间戳中检测到间断的标志。另外,所公开的实施例是自适应的,这允许随着时间的推移改进时间戳估计。
附图说明
在附图中,为了便于描述,示出了示意性元素的特定布置或排序,如那些表示设备、单元、指令块和数据元素的示意性元素。然而,本领域技术人员应当理解,附图中示意性元素的特定排序或布置并不意味着暗示需要特定处理次序或顺序或者过程分离。进一步地,在附图中包括示意性元素并不意味着暗示在所有实施例中都需要这种元素,或者在一些实施方式中,由这种元素表示的特征可以不包括在其他元素中或与其他元素组合。
进一步地,在附图中,在使用如实线或虚线或箭头等连接元素来说明两个或更多个其他示意性元素之间的连接、关系或关联的情况下,不存在任何这种连接元素并不意味着暗示不可能存在连接、关系或关联。换句话说,未在附图中示出元素之间的一些连接、关系或关联性,以免模糊本发明。另外,为了便于图示,使用单个连接元素来表示元素之间的多个连接、关系或关联性。例如,在连接元素表示信号、数据或指令的通信的情况下,本领域的技术人员应理解,这样的元素表示为了影响通信而可能需要的一个或多个信号路径。
图1是根据一些实施例的包含时间戳平滑处理单元的系统的框图。
图2是根据一些实施例的时间戳平滑处理单元的框图。
图3图示了根据一些实施例的时间步长的可变性。
图4进一步图示了根据一些实施例的时间步长的可变性。
图5是根据一些实施例的时间戳平滑处理过程的流程图。
图6是根据一些实施例的用于实施参考图1至图5描述的特征和过程的系统的框图。
各附图中使用的相同附图标记指示相似的元素。
具体实施方式
在以下具体实施方式中,阐述了许多具体细节以提供对所描述的各种实施例的全面理解。对于本领域普通技术人员而言将明显的是,可以在没有这些具体细节的情况下实践所描述的各种实施方式。在其他实例中,并未详细描述熟知方法、过程、部件以及电路以免不必要地模糊实施例的各方面。下文描述了几个特征,每个特征可以彼此独立使用或者与其他特征的任何组合一起使用。
术语解释
如本文所使用的,术语“包括”及其变体应被理解为意思是“包括但不限于”的开放式术语。除非上下文另外明确指出,否则术语“或”应被理解为“和/或”。术语“基于”应被理解为“至少部分地基于”。术语“一个示例实施方式”和“示例实施方式”应被理解为“至少一个示例实施方式”。术语“另一个实施方式”应被理解为“至少一个其他实施方式”。术语“确定”应被理解为获得、接收、计算、估算、估计、预测或得到。另外,在以下描述和权利要求中,除非另外定义,否则本文所使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
总体概述
图1是根据一些实施例的包括音频处理系统101和时间戳平滑处理单元201的系统100的框图。音频处理系统101可以是任何实时音频处理系统。当按时间顺序接收实时音频分组时,每个分组与从分组或从单独的元数据传输流中提取的时间戳相关联,并且所述时间戳被输入到时间戳平滑处理单元201中。时间戳平滑处理单元201被配置成估计比接收到的原始时间戳更准确的时间戳或对其进行平滑处理,如参考图2进一步详细描述的。
示例时间戳平滑处理过程
图2是图1所示的时间戳平滑处理单元201的框图。时间戳平滑处理单元101包括初始时间戳计算器单元202、时间戳预测器单元203、间断检测器单元204、时钟偏斜计算器单元205和时钟偏斜校正单元206。图2中所示的时间戳平滑处理过程是自适应的,因此它提供的经平滑处理的时间戳随着时间的推移而改进。注意,图2中的记法[1,z-1]表明特定单元的当前输出将被用于时间戳平滑处理过程的下一次迭代。例如,时间预测器单元203的当前输出将被用于时间预测器单元203的下一次迭代,并且时钟偏斜计算器单元205的当前输出将被用于间断检测器单元204的下一次迭代。
参考图2的左侧,原始时间戳和分组长度被输入到初始时间戳计算单元201中。初始时间戳计算器单元202计算第一输入时间戳的初始估计。在实施例中,使用等式[1]迭代地计算初始估计:
[1]
其中,ti是估计的初始时间戳,t是原始时间戳,b(k)是音频分组的长度,n是时间索引,Ts是采样时间,并且φ是当前不稳定性开始的初始时间。
初始时间戳计算器单元202将估计的初始时间步长ti存储在长度为Ns的滚动历史数组H(n,x)中,使得
H(n,k)=ti(n-k-1),1<k<Ns。
[2]
初始时间戳计算器单元202计算历史数组H(n,1..Ns)的排序后的版本,表示为Hs(n,x)。根据Hs(n,x),初始时间戳计算器单元202使用等式[3]确定初始时间戳的新估计
[3]
其中,Ns(例如,Ns=4)是H(n,x)和Hs(n,x)的长度,并且Ns是通过时延与输出平滑度之间的折衷来选择的,并且M是远小于Ns的整数值(例如,M=2)。的值是错误的,直到(n-φ)>Ns。在该时间点之后,初始时间戳计算单元202如下计算均值和方差的估计:
Im(n)=ti(n)并且Iv(n)=0,(n-φ)<Ns;
[4]
否则,
[5]
[6]
[7]
其中:
Im是初始时间戳的估计均值,
是初始时间戳的瞬时估计方差,
Iv是初始时间戳的估计方差,以及
α1、β1是通过实验调整的平滑参数(例如,α1=0.2并且β1=0.05)。
根据等式[4]至[7],初始时间戳计算器单元202通过检验以下条件来确定初始估计时间戳并确定所述初始估计时间戳是否稳定:
Iv(n)<Iv(n-1),
[8]
[9]
其中,是调整参数。
在一些实施例中,通过以下方式确定的值:分析接收时间戳的特定系统的方差,并且还考虑到初始时间戳估计会因真实音频时钟的典型不精确性而变化的事实。在一些情况下,/>
当等式[8]和[9]所描述的条件成立时,初始估计时间戳被认为是稳定的,并且生成指示其稳定状态的稳定标志。稳定的估计时间戳意味着估计的时间戳在这个时间点是稳定的,并且时间戳的未来预测是准确且稳定的。稳定性在本文中由变量S表示,其中当估计的时间戳稳定时,S被设置为1。在表示为的这个时间点,初始估计时间戳等于Im(n)。一旦初始估计时间戳稳定,初始时间戳计算器单元201就停止迭代,直到发生重置。在一些实施例中,当间断检测器单元204确定估计的时间戳中已经发生间断时,发生重置,在这种情况下,φ被设置为发生间断的时间点,S被设置为0,并且初始时间戳计算器单元202开始迭代。
在确定初始估计时间戳之后,时间戳预测器单元203生成当前估计时间戳的预测。时间戳预测器单元203基于初始时间戳计算器单元202估计的时间戳是否稳定来执行不同的计算,在满足等式[10]的条件时发生所述稳定:
[10]
在时间戳预测之后,间断检测器单元204确定估计的时间戳中是否发生间断。首先计算以下几个量:
[11]
bc(n)=b(n)·(1+c(n-1))。
[12]
其中:
c是由时钟偏斜计算器单元205计算的时钟偏斜,
d1是预测时间戳与原始时间戳之间的经时钟偏斜校正的差异,并且
bc是经时钟偏斜校正的块长度。
间断检测单元204跟踪间断检测器单元204在估计的时间戳中检测到可能的间断的次数。在实施例中,在以下条件成立的第一时间,间断检测器单元204将计数器初始化为1的值:
d1(n)>DF·bc(n),
[13]
其中,DF是通过实验确定的调整参数(例如,DF=0.9)。一旦间断检测器单元204确定等式[13]中的条件不成立,计数器就被重置为0。如果等式[13]中指定的条件成立,并且计数器大于或等于1,则间断检测器单元204进行以下计算:
d2(n)=|(t(n-1)+b(n-1))-t(n)|,
[14]
d2(n)>DF·bc(n)。
[15]
如果等式[15]中指定的条件成立,则计数器重置为零。否则,计数器将递增一。一旦计数器达到可调阈值,间断检测器单元204就向初始时间戳计算器单元202和接收音频分组的特定音频处理系统报告已经发生间断。根据实验,一旦计数器达到5,估计的时间戳中肯定发生了间断。当估计的时间戳是稳定的,并且在估计的时间戳中没有检测到可能的间断时,时钟偏斜计算器单元204进行时钟偏斜计算。
在一些实施例中,使用等式[16]计算时钟偏斜的初始估计:
[16]
时钟偏斜计算器单元205计算通过对所使用的实际α2和β2值的启发而修改的均值和方差的估计:
cm(n)=(1-α2(n))·cm(n-1)+α2(n)·ce(n),
[17]
[18]
[19]
[20]
[21]
[22]
其中:
cm是初始时钟偏斜估计的估计均值,
是初始时钟偏斜估计的瞬时估计方差,
cv是初始时钟偏斜估计的估计方差,
vf是“方差因子”,即用于确定α2和β2的值的标志,
α2是用于估计均值的因子,
β2是用于估计方差的因子,
A1、A2、B1、B2是调整参数,其中,A1预期大于A2,并且B1预期大于B2(例如,A1=0.25,A2=0.025,B1=0.001,B2=0.0001),并且
X是调整参数(例如,X=20)。
在一些实施例中,为了确定时钟偏斜的最终估计,时钟偏斜计算器单元205仅在方差很小的情况下对估计的时钟偏斜进行平滑处理。也就是当满足下式时:
c(0)=0
[23]
其中,γ和Y是通过实验确定的调整参数(例如,γ=100并且Y=1e-11)。
使用时钟偏斜的当前估计,时钟偏斜校正单元206校正由时间戳预测器单元203计算的预测时间戳。因此,作为时间戳平滑处理单元101的输出而提供的最终平滑估计时间戳由ts(n)给出:
[24]
时间戳平滑处理单元101的输出也是稳定标志、间断标志和时钟偏斜,它们被提供给接收音频分组的特定音频处理系统(例如,图1中的系统101)。
图3图示了根据一些实施例的分组时间戳的可变性。可变性是连续时间戳之间的差异,即时间步长。纵轴是时间步长中的可变性,横轴是时间。理想情况下,时间步长应该是恒定值,但实际上时间步长会抖动。在所示的示例中,起始时间和计算时间戳的时间点包括显著的可变延迟,这可能取决于计算机的工作负载。这种延迟在图3中示出为大约1.88毫秒处出现的可变性大尖峰。
图4进一步图示了根据一些实施例的时间步长的可变性。注意,与图3所示的通常的抖动相比,在分组传送的末尾附近出现了大得多的尖峰(参见点A)。在大多数系统中,估计经平滑处理的时间戳的一些基本假设是成立的。这些假设是,每个音频分组是按时间顺序接收的,并且通过分析时间戳历史而提供的一般趋势是可以依赖的。然而,第一个时间戳可能具有过大的误差,这使得它不适合用作初始时间戳来开始时间戳估计。例如,如果将等式[1]中的t(0)被设置为与图4中的点A相关联的时间戳,则对于所有的n,tp(n)都将有偏差。如上所述,这个问题由初始时间戳计算器202解决。此外,分组可能会在中途丢失。在这种情况下,等式[2]中的滚动历史数组将无效。如上所述,这个问题由间断检测器单元204解决。此外,系统可能是针对标称采样时间Ts来配置的,但是实际的Ts可能不同。在这种情况下,理想时间步长的估计与从标称Ts计算的时间步长将存在偏差(即,时钟偏斜)。如上所述,这个问题由时钟偏斜计算器单元205和时钟偏斜校正单元206解决。
示例过程
图5是根据一些实施例的过程500的流程图。过程400可以使用图6所示的系统600来实施。过程500包括:接收音频分组的一系列输入时间戳和所述音频分组相应的分组长度(501);基于一系列输入时间戳、分组长度和采样时间来估计初始时间戳(502);基于估计的初始时间戳来预测当前时间戳(503);以及对当前时间戳进行平滑处理(504)。
示例系统架构
图6示出了根据实施例的用于实施参考图1至图5描述的特征和过程的示例系统的框图。系统600包括能够播放音频的任何设备,包括但不限于:智能电话、平板计算机、可穿戴计算机、车载计算机、游戏控制台、环绕系统、信息亭。
如所示出的,系统600包括中央处理单元(CPU)601,所述中央处理单元能够根据存储在例如只读存储器(ROM)602中的程序或者从例如存储单元608加载到随机存取存储器(RAM)603的程序来执行各种进程。在RAM 603中,根据需要,还存储CPU 601执行各种进程时所需的数据。CPU 601、ROM 602和RAM 603经由总线609相互连接。输入/输出(I/O)接口605也连接到总线604。
以下部件连接到I/O接口605:输入单元606,其可以包括键盘、鼠标等;输出单元607,其可以包括如液晶显示器(LCD)等显示器以及一个或多个扬声器;存储单元608,其包括硬盘或另一种合适的存储设备;以及通信单元609,其包括如网卡(例如,有线或无线)等网络接口卡。
在一些实施方式中,输入单元606包括位于不同位置(取决于主机设备)的一个或多个麦克风,所述一个或多个麦克风使得能够捕获各种格式(例如,单声道、立体声、空间、沉浸式和其他合适的格式)的音频信号。
在一些实施方式中,输出单元607包括具有各种数量的扬声器的系统。如图6所图示的,输出单元607(取决于主机设备的能力)可以呈现各种格式(例如,单声道、立体声、沉浸式、双耳和其他合适的格式)的音频信号。
通信单元609被配置成(例如,经由网络)与其他设备通信。根据需要,驱动器610也连接到I/O接口605。根据需要,如磁盘、光盘、磁光盘、闪存驱动器或其他合适的可移动介质等可移动介质611被安装在驱动器610上,使得从中读取的计算机程序被安装到存储单元608中。本领域技术人员将理解,尽管系统600被描述为包括上文所描述的部件,但是在实际应用中,可以添加、移除和/或替换这些部件中的一些部件,并且所有这些修改或变更都落入本公开的范围内。
根据本公开的示例实施例,上文所描述的过程可以实施为计算机软件程序或者在计算机可读存储介质上实施。例如,本公开的实施例包括计算机程序产品,所述计算机程序产品包括有形地体现在机器可读介质上的计算机程序,所述计算机程序包括用于执行方法的程序代码。在这种实施例中,计算机程序可以经由通信单元609从网络下载和安装,和/或从可移动介质611安装,如图6所示。
所枚举的示例实施例(EEE)
EEE1-一种音频处理器,所述音频处理器被配置成为音频帧提供经平滑处理的准确时间戳估计,所述时间戳估计对由通信链路上的抖动或软件/硬件进程调度引起的抖动不敏感。
EEE2-如EEE1所述的音频处理器,所述音频处理器计算和校正通信端点的两个时钟之间、或虚拟标称时钟与真实硬件时钟之间的时钟偏斜。
EEE3-如EEE2所述的音频处理器,所述音频处理器通过计算初始时间戳与当前原始时间戳之间的平滑梯度来计算时钟偏斜,其中,平滑处理仅在瞬时梯度被认为可靠时发生。
EEE4-如EEE1所述的音频处理器,所述音频处理器检测和解释(account for)所述音频中的间断。
EEE5-如EEE4所述的音频处理器,当预测时间戳与估计的时间戳(考虑时钟偏斜)之间的差量在给定时间段内足够大时,所述音频处理器检测到间断。
EEE6-如EEE1所述的音频处理器,所述音频处理器识别传入音频分组的稳定性。
EEE7-如EEE6所述的音频处理器,所述音频处理器通过对滚动历史使用修整均值滤波器并基于对初始时间戳估计的方差进行阈值处理以识别稳定性,来确定估计初始时间戳。
EEE8-一种结合了EEE2、EEE4和EEE6的音频处理器。
EEE9-如EEE8所述的音频处理器,所述音频处理器使用EEE3、EEE5和EEE7的方法。
EEE10-一种系统,其中,由所述系统使用模块的间断标志输出(被通知该消息并基于该信息采取行动)。
EEE11-一种系统,其中,可以由所述系统使用所述模块的稳定性标志输出(被通知该信息并基于该信息采取行动)。
EEE12-一种系统,其中,可以由所述系统使用所述模块的时钟偏斜(以及对所述时钟偏斜的准确性的置信度)输出(被通知该信息并基于该信息采取行动)。
通常,本公开的各种示例实施例可以以硬件或专用电路(例如,控制电路)、软件、逻辑或其任何组合来实施。例如,上文所讨论的单元可以由控制电路(例如,与图6的其他部件组合的CPU)执行,因此,控制电路可以执行本公开中描述的动作。一些方面可以以硬件来实施,而其他方面可以以可以由控制器、微处理器或其他计算设备执行的固件或软件(例如,控制电路)来实施。尽管本公开的示例实施例的各个方面被图示和描述为框图、流程图或使用一些其他图形表示,但应当理解,本文所描述的框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器、或其他计算设备、或其某种组合来实施,作为非限制性示例。
另外,流程图中所示的各个框可以被视为方法步骤、和/或由计算机程序代码的操作产生的操作、和/或被构造为执行相关联的(多个)功能的多个耦接逻辑电路元件。例如,本公开的实施例包括计算机程序产品,所述计算机程序产品包括有形地体现在机器可读介质上的计算机程序,所述计算机程序包含被配置成执行上文所描述的方法的程序代码。
在本公开的上下文中,机器可读介质可以是可以包含或存储用于由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以是非暂态的并且可以包括但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备、或前述各项的任何合适的组合。机器可读存储介质的更具体的示例将包括具有一条或多条导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式致密盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或者前述各项的任何合适的组合。
用于执行本公开的方法的计算机程序代码可以用一种或多种编程语言的任何组合来编写。这些计算机程序代码可以被提供给通用计算机、专用计算机或具有控制电路的其他可编程数据处理装置的处理器,使得程序代码在由计算机的处理器或其他可编程数据处理装置的处理器执行时,实施流程图和/或框图中指定的功能/操作。程序代码可以完全在计算机上执行,部分在计算机上执行,作为独立的软件包,部分在计算机上执行、并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行,或者分布在一个或多个远程计算机和/或服务器上。
虽然本文档包含许多具体实施方式细节,但是这些细节不应被解释为对可能要求保护的事物的范围的限制,而是被解释为对可能特定于特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的特定特征还可以在单个实施例中以组合形式实施。相反,在单一实施例的上下文中描述的各种特征也可以被单独地或以任何适合的子组合的方式实施在多个实施例中。此外,尽管特征在上文可以被描述为以某些组合起作用并且甚至最初也是如此要求保护的,但是在一些情况下可以从组合中去除要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。在附图中描绘的逻辑流程不需要所示出的特定顺序或者有序顺序来实现期望的结果。另外,可以从所描述的流程中提供其他步骤,或者可以从中删除步骤,并且可以向所描述的系统添加其他部件,或者从中去除其他部件。因此,其他实施方式在所附权利要求的范围内。
Claims (15)
1.一种对与音频分组相关联的时间戳进行平滑处理的方法,所述方法包括:
使用至少一个处理器接收音频分组的一系列输入时间戳和所述音频分组相应的分组长度;
使用所述至少一个处理器,基于所述一系列输入时间戳、所述分组长度和采样时间来估计初始时间戳;
使用所述至少一个处理器,基于所估计的初始时间戳来计算预测时间戳;以及
使用所述至少一个处理器对所述预测时间戳进行平滑处理。
2.如权利要求1所述的方法,进一步包括:
使用所述至少一个处理器,基于经平滑处理的预测时间戳来处理当前音频分组中的音频数据。
3.如权利要求1或2所述的方法,其中,估计初始时间戳进一步包括:
基于所述一系列输入时间戳、所述音频分组相应的分组长度、所述采样时间和检测到所述一系列输入时间戳中的当前不稳定性的初始时间,迭代地计算估计的初始时间戳;
将每个估计的初始时间戳存储在长度为Ns的滚动历史数组中;
对所述滚动历史数组进行排序;
基于排序后的滚动历史数组确定所述初始时间戳的新估计;
计算所述新估计的初始时间戳的均值和方差;
基于所述方差确定未来预测时间戳是否会稳定;
如果确定未来预测时间戳是稳定的,则停止迭代计算;以及
将所述估计的初始时间戳设置为所述均值在停止所述迭代计算前的最后一个值。
4.如权利要求3所述的方法,其中,所述长度Ns被选择为时延与所述当前时间戳的平滑量之间的折衷。
5.如权利要求3或4所述的方法,其中,所述均值和所述方差被平滑处理。
6.如权利要求3至5中任一项所述的方法,其中,基于所述方差确定未来预测时间戳是否会准确且稳定进一步包括:
确定当前方差小于前一个方差,并且所述当前方差还小于由用于处理所述音频分组的音频时钟的方差所确定的参数。
7.如权利要求3至6中任一项所述的方法,其中,所述迭代计算响应于检测到所述预测时间戳中可能的间断而恢复。
8.如权利要求7所述的方法,其中,可能的间断是基于通信端点的时钟之间或者虚拟标称时钟与真实硬件时钟之间的估计的时钟偏斜、所述预测时间戳与所述输入时间戳之间的经时钟偏斜校正的差异以及经时钟偏斜校正的块长度来进行检测的。
9.如权利要求8所述的方法,进一步包括:
跟踪可能的间断已发生的次数;以及
如果所述次数超过指定的阈值,则确定间断已发生。
10.如权利要求9所述的方法,其中,所述跟踪可能的间断已发生的次数进一步包括:
在每个间断被检测到之后递增计数器;以及
当所述预测时间戳与所述输入时间戳之间的经时钟偏斜校正的差异大于经时钟偏斜校正的块长度的倍数时,重置所述计数器。
11.如权利要求8至10所述的方法,进一步包括:
确定所述预测时间戳是否稳定;
确定所述预测时间戳中的可能的间断是否被检测到;以及
根据所述预测时间戳是稳定的并且可能的间断没有被检测到,估计所述时钟偏斜。
12.如权利要求8至11中任一项所述的方法,其中,所述估计的时钟偏斜通过以下方式计算:
计算时钟偏斜的初始估计;
计算所述时钟偏斜的初始估计的估计均值和方差;
将所述方差与阈值方差进行比较;
根据所述方差小于所述阈值方差,
对所述时钟偏斜的初始估计进行平滑处理以获得所述估计的时钟偏斜。
13.如权利要求8至12中任一项所述的方法,进一步包括:
基于所述估计的时钟偏斜来校正所述预测时间戳,以获得经平滑处理的时间戳。
14.一种系统,包括:
一个或多个处理器;以及
存储指令的非暂态计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行权利要求1至13中任一项所述的操作。
15.一种存储指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行权利要求1至13中任一项所述的操作。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/114,577 | 2020-11-17 | ||
US202163169599P | 2021-04-01 | 2021-04-01 | |
US63/169,599 | 2021-04-01 | ||
PCT/US2021/059637 WO2022108979A1 (en) | 2020-11-17 | 2021-11-17 | Timestamp smoothing to remove jitter |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116458136A true CN116458136A (zh) | 2023-07-18 |
Family
ID=87124225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180077106.XA Pending CN116458136A (zh) | 2020-11-17 | 2021-11-17 | 用于消除抖动的时间戳平滑处理 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116458136A (zh) |
-
2021
- 2021-11-17 CN CN202180077106.XA patent/CN116458136A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452983B2 (en) | Determining an anomalous state of a system at a future point in time | |
US20140149350A1 (en) | Remote Replication in a Storage System | |
EP4170561A1 (en) | Method and device for improving performance of data processing model, storage medium and electronic device | |
US8806313B1 (en) | Amplitude-based anomaly detection | |
US9858103B2 (en) | Resource control apparatus, method, and storage medium | |
US10708033B2 (en) | Network time correction method and apparatus | |
CN112528927A (zh) | 基于轨迹分析的置信度确定方法、路侧设备及云控平台 | |
CN113453054A (zh) | 音视频丢帧方法、装置、计算机设备及存储介质 | |
CN112994980A (zh) | 时延测试方法、装置、电子设备和存储介质 | |
CN113365140B (zh) | Mp4在线播放方法、装置、设备、存储介质及程序产品 | |
US9977724B2 (en) | Systems and methods for correcting timestamps on data received from untrusted devices | |
CN116458136A (zh) | 用于消除抖动的时间戳平滑处理 | |
CN112187870B (zh) | 一种带宽平滑方法及装置 | |
US11025357B1 (en) | Robust sensor timestamp management | |
CN106847299B (zh) | 延时的估计方法及装置 | |
CN114205266A (zh) | 网络时延计算方法、装置、电子设备及存储介质 | |
US20230421507A1 (en) | Timestamp smoothing to remove jitter | |
CN109993767B (zh) | 图像处理方法和系统 | |
CN110460874B (zh) | 视频播放参数生成方法、装置、存储介质及电子设备 | |
RU2461019C1 (ru) | Способ координатно-связного опознавания с применением статистической оценки разности пространственных координат | |
CN113794813B (zh) | 一种控制音画同步的方法、装置及计算机存储介质 | |
EP2566078B1 (en) | Determining a quality of a clock signal | |
CN113448723B (zh) | 影像感测系统控制方法以及影像感测系统 | |
TWI496019B (zh) | 自動計算半導體製造程序邊界的方法 | |
US11962898B2 (en) | Computer readable recording medium which can perform image sensing system control method and image sensing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |