CN112530450A - 频域中的样本精度延迟识别 - Google Patents
频域中的样本精度延迟识别 Download PDFInfo
- Publication number
- CN112530450A CN112530450A CN202010971886.XA CN202010971886A CN112530450A CN 112530450 A CN112530450 A CN 112530450A CN 202010971886 A CN202010971886 A CN 202010971886A CN 112530450 A CN112530450 A CN 112530450A
- Authority
- CN
- China
- Prior art keywords
- estimate
- delay
- value
- time
- block
- 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
- 238000000034 method Methods 0.000 claims abstract description 76
- 230000005236 sound signal Effects 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 54
- 230000003595 spectral effect Effects 0.000 claims abstract description 8
- 238000012360 testing method Methods 0.000 claims description 26
- 230000003111 delayed effect Effects 0.000 claims description 16
- 238000009499 grossing Methods 0.000 claims description 12
- 238000012935 Averaging Methods 0.000 claims description 10
- OVBPIULPVIDEAO-LBPRGKRZSA-N folic acid Chemical compound C=1N=C2NC(N)=NC(=O)C2=NC=1CNC1=CC=C(C(=O)N[C@@H](CCC(O)=O)C(O)=O)C=C1 OVBPIULPVIDEAO-LBPRGKRZSA-N 0.000 claims description 6
- 238000004590 computer program Methods 0.000 abstract description 3
- 230000009467 reduction Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 101100055824 Arabidopsis thaliana APO4 gene Proteins 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 230000001934 delay Effects 0.000 description 4
- 206010037180 Psychiatric symptoms Diseases 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 102000016550 Complement Factor H Human genes 0.000 description 2
- 108010053085 Complement Factor H Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L21/0224—Processing in the time domain
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L21/0232—Processing in the frequency domain
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L2021/02161—Number of inputs available containing the signal or the noise to be suppressed
- G10L2021/02165—Two microphones, one receiving mainly the noise signal and the other one mainly the speech signal
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
用于频域中的样本精度延迟识别的系统、方法和计算机程序产品。在一些实施例中,估计在指示第一音频信号的样本的第一数据块和指示第二音频信号的样本的第二数据块上执行,并且包含确定粗略时延估计值,包含通过确定当应用于所述第二块中的一些时确定所述第一块中的一个的估计值的增益,并识别所述估计值中与所述第一块中的所述一个具有最佳频谱匹配的一个。根据所述粗略估计值和所述增益中的一些确定经优化时延估计值。任选地,生成指示对所述经优化时延估计值的置信度的至少一个度量。可对所述频域数据执行音频处理(例如,回波消除),包含通过基于所述经优化时延估计值执行时间对齐。
Description
相关申请的交叉引用
本申请要求2019年9月17日提交的标题为频域中的样本精度延迟识别的第62/901,345号美国临时专利申请的权益。
技术领域
本公开大体上涉及音频信号处理。一些实施例涉及估计相对于另一音频信号应用于一音频信号以便对所述信号进行时间对齐(例如,对所述信号实施回波消除或另一音频处理)的时间延迟。
背景技术
当麦克风信号在回波信号之前时,回波消除技术会产生有问题的输出,当麦克风输入信号和回波信号大致时间对齐时,回波消除技术通常能更好地发挥作用。实施能够识别信号之间的时延(即,相对于另一个信号应该应用于一个信号以便对信号进行时间对齐的时间延迟)从而改进对信号的回波消除(或另一音频处理)的实施方案的系统将是有用的。
回波消除系统可以在时域中对时域输入信号进行操作。如果具有许多音频样本(例如,数万个音频样本),实施此类系统可能极其复杂,特别是在使用长时域相关性滤波器的情况下,并且可能不会产生好的结果。
替代地,回波消除系统可以在频域中对每个时域输入信号的频率变换表示进行操作(即,而不是在时域中操作)。此类系统可以操作于每个输入信号的一组复值带通表示(它们可以通过向每个输入信号应用STFT或另一复值均匀调制滤波器组来获得)。例如,2019年5月23日公开的第2019/0156852号美国专利申请公开案描述了回波管理(回波消除或回波抑制),其包含两个输入音频流之间的估计(在频域中)延迟。回波管理(包含延迟估计)实施一组预测滤波器的自适应。
但是,对调适一组预测滤波器(例如,使用梯度下降自适应滤波器方法)的需要会使估计音频信号之间的时间延迟更复杂。比较有用的是在频域中估计音频信号之间的时间延迟,而无需执行预测滤波器的自适应。
符号和命名法
贯穿本公开,包括在权利要求书中,术语“启发式”用于表示基于试错(例如,至少在预期或典型条件下获得良好结果)或以实验方式确定(例如,至少在预期或典型条件下获得良好结果)。例如,“启发式”值(例如,参数或度量)可以通过实验确定(例如,通过调节),或者可以通过简化的方法确定,该方法通常只确定近似值,但在相关用例中以足够的精度确定该值。再例如,用于处理数据的“启发式”值可以由数据的至少一个统计特征来确定,该统计特征预期(基于试错或实验)在预期的用例中获得良好结果。再例如,度量(例如,置信度度量)可被称为“启发式”度量,前提是该度量已基于试错或实验来确定,以至少在预期或典型条件下获得良好结果。
贯穿本公开,包括在权利要求书中,两个音频信号(例如,时域音频信号,或通过变换时域音频信号生成的频域音频信号)(或它们之间)的术语“时延”用于表示相对于另一个信号应该应用于一个信号以便对信号进行时间对齐的时间延迟。
贯穿本公开,包含在权利要求书中,“对”信号或数据执行操作的表达(例如,对信号或数据进行滤波、调整、变换或应用增益)在广义上用于表示直接对信号或数据执行操作,或者对信号或数据的经处理版本(例如,在执行操作之前已进行过初始滤波或预处理的信号版本)执行操作。
贯穿本公开,包含在权利要求书中,表达“系统”在广义上用于表示装置、系统或子系统。例如,实施解码器的子系统可被称为解码器系统,并且包含此类子系统的系统(例如,响应多个输入而生成X个输出信号的系统,其中子系统生成M个输入,而另外X-M个输入从外部源接收)也可以称为解码器系统。
贯穿本公开,包含在权利要求书中,术语“处理器”用于在广义上表示可编程或可以其它方式配置(例如,利用软件或固件)成对数据(例如,音频数据)执行操作的系统或装置。处理器的实例包含现场可编程门阵列(或另一可配置集成电路或芯片组)、编程成和/或以其它方式配置成对音频数据执行管线化处理的数字信号处理器、配置成对音频数据执行处理的图形处理单元(GPU)、可编程通用处理器或计算机,以及可编程微处理器芯片或芯片组。
贯穿本公开,包含在权利要求书中,术语“耦合”用于意指直接或间接连接。因此,如果第一装置被称为耦合到第二装置,那么所述连接可以通过直接连接或者通过经由其它装置和连接的间接连接。
贯穿本公开,包含在权利要求书中,“音频数据”表示指示由至少一个麦克风捕获的声音(例如,语音)的数据,或者生成(例如,合成)的数据,使得所述数据能够呈现为声音(例如,语音)(通过至少一个扬声器)播放。例如,可以生成音频数据,以便用作指示由至少一个麦克风捕获的声音(例如,语音)的数据的替代。
发明内容
本发明的一类实施例是用于使用(例如,通过变换时域输入音频信号生成的频率域音频信号中的)信号中的每一个的频率变换表示来估计音频信号之间的时延的方法。经估计时延是相对于另一个音频信号应该应用于一个音频信号(例如,预先变换的时域音频信号)的时间延迟的估计值(包含应用于所述另一个信号的任何时间延迟),以便对信号进行时间对齐,例如,以便对所述两个信号中的至少一个实施预期音频处理(例如,回波消除)。在典型实施例中,对每个输入信号的复值频率带通表示(它们可以通过向每个输入信号应用STFT或另一复值均匀调制滤波器组来获得)执行时延估计。执行时延估计的典型实施例不需要执行预测滤波器的自适应。
对指示第一音频信号(例如,麦克风信号)的音频样本的频域数据块M(t,k)的第一序列和指示第二音频信号(例如,播放信号)的音频样本的频域数据块P(t,k)的第二序列执行时延估计方法的一些实施例,以估计第一音频信号和第二音频信号之间的时延,其中t是表示时间的索引,k是表示频段的索引,所述方法包含以下步骤:
(a)对于第二序列中的每个块P(t,k),其中t是表示所述每个块的时间的索引且k是表示频段的索引,提供延迟块P(t,b,k),其中b是表示块延迟时间的索引,其中索引b的每个值是延迟块中的对应一个相对于时间t延迟的块延迟时间的整数数目;
(b)对于每个块M(t,k),确定时间t处的时延的粗略估计值bbest(t),包含通过确定当应用于延迟块P(t,b,k)中的每一个时确定块M(t,k)的估计值Mest(t,b,k)的增益,并识别估计值Mest(t,b,k)中与所述块M(t,k)具有最佳频谱匹配的一个,其中粗略估计值bbest(t)具有约为块延迟时间中的一个的精度;以及
(c)根据粗略估计值bbest(t)和增益中的一些(例如,使用已用于生成块M(t,k)和块P(t,k)的时域到频域变换的特性)确定时间t处的时延的经优化估计值R(t)(例如,R(t)=Lmed(t),如在本文中所描述的实例实施例中),其中经优化估计值R(t)具有约为音频样本时间的精度(例如,在已经通过向时域数据应用时域到频域变换生成频域数据的情况下,音频样本时间是经预先变换数据的样本时间)。
在一些实施例中,使用一或多个启发式确定参数来确定时延的粗略估计值或经优化估计值中的至少一个。例如,在一些实施例中,步骤(b)包含对于延迟块P(t,b,k)中的每一个,基于每个频段(例如,针对窗口k的全集的选定子集)确定启发式不可靠性因数U(t,b,k)。在一些此类实施例中,增益H(t,b,k)是延迟块P(t,b,k)中的每一个的增益,并且每个所述不可靠性因数U(t,b,k)根据统计值集合确定,所述集合包含:平均值Hm(t,b,k),其通过对两个时间(时间t和先前时间t-1)取平均根据增益H(t,b,k)确定;以及方差值Hv(t,b,k),其通过对时间t和t-1取平均根据增益H(t,b,k)和平均值Hm(t,b,k)确定。
在一些实施例中,步骤(b)包含确定良好度因数Q(t,b),其可以针对时间t和索引b的每个值的估计值Mest(t,b,k)启发式地确定,并且确定粗略估计值bbest(t)包含选择良好度因素Q(t,b)中的最佳者(例如,最小者)。
在一些实施例中,方法还包含以下步骤:(d)应用阈值处理测试以确定时延的候选经优化估计值(例如,最近确定的值L(t),如在本文中所描述的一些实例实施例中)是否应该用于更新时延的先前确定的经优化估计值R(t);以及(e)仅在阈值处理测试确定满足阈值处理条件时才使用候选经优化估计值更新时延的先前确定的经优化估计值R(t)。通常,步骤(d)包含确定针对粗略估计值bbest(t),一组平滑化增益Hs(t,bbest(t),k)是否应该被视为用于确定时延的更新后经优化估计值的增益候选集。在包含步骤(d)和(e)的一些实施例中,方法还包含确定时间t处的时延的第四最佳粗略估计值b4thbest(t)的步骤,且
步骤(b)包含针对时间t和索引b的每个值的估计值Mest(t,b,k),确定良好度因数Q(t,b),并且确定粗略估计值bbest(t)包含选择良好度因数Q(t,b)中的最佳者(例如,最小者),且
步骤(d)包含向针对粗略估计值bbest(t)的良好度因数Q(t,bbest)、针对第四最佳粗略估计值b4thbest(t)的良好度因数Q(t,b4thbest)和针对粗略估计值bbest(t)的估计值Mest(t,bbest,k)应用阈值处理测试。
例如,可以针对时间t的序列根据满足阈值处理条件的多组增益Hs(t,bbest(t),k)确定经优化估计值R(t),并且步骤(e)可包含将一组X(例如,X=40)个值的中位值识别为时延的经优化估计值R(t),其中所述X个值包含最近确定的候选经优化估计值和时延的一组X-1个先前确定的经优化估计值。
本发明的典型实施例不需要使用单独的时域相关性滤波器,而是尝试在其中正在(或将要)执行预期音频处理的频域中估计时延。通常,预期经估计时延(两个音频信号之间)用于对信号进行时间对齐,以便对经对齐信号实施预期音频处理(例如,回波消除)。例如,预期音频处理可在DFT调制滤波器组(例如,STFT或另一均匀调制复合滤波器组)的输出上执行,此输出是音频处理系统中采用的通用信号表示,因此在与预期音频处理相同的域中执行时延估计减小了时延估计所需的复杂性。
一些实施例以约为输入信号的经预先变换(时域)版本的单独样本时间的精度估计时延。例如,一些实施例实施粗略地(精度约为已通过向输入信号应用时域到频域变换生成的频域数据块)确定时延的第一阶段以及确定部分地基于在第一阶段中确定的粗略时延的样本精度时延的第二阶段。
一些实施例还生成以经估计时延的精度指示置信度的至少一个置信度度量。例如,置信度度量可以使用一段时间内的统计数据生成,以提供关于在当前时间计算出的时延是否可信的至少一个指示。例如,置信度度量可以用于指示经估计时延的不正确是否达到无法校正的程度,使得应该执行其它操作(例如,停用声学回波消除器)或音频处理功能。
本发明的各方面包含一种配置(例如,编程)成执行本发明方法或其步骤的任何实施例的系统,以及一种实施数据的非暂时性存储的有形非暂时性计算机可读媒体(例如,磁盘或另一有形存储媒体),所述媒体存储用于执行本发明方法或其步骤的任何实施例的代码(例如,可以执行以进行本发明方法或其步骤的任何实施例的代码)。例如,本发明系统的实施例可以是或包含可编程通用处理器、数字信号处理器、GPU或微处理器,其利用软件或固件编程和/或以其它方式配置成对数据执行各种操作中的任一个,包含本发明方法或其步骤的实施例。此类通用处理器可以是或包含计算机系统,其包含输入装置、存储器,以及编程(和/或以其它方式配置)成响应于经断言数据而执行本发明方法(或其步骤)的实施例的处理子系统。本发明系统的一些实施例可以实施(或者,已实施)为云服务(例如,其中系统的各元件在不同位置,且这些位置之间存在数据传输,例如,通过互联网进行)。
附图说明
图1是集成到通信系统中的本发明时间延迟估计系统的实施例的框图。
图2是配置成在频域中执行延迟识别的实例系统的框图。
图3是示出由选择连续频段k的区域的数据简化产生的性能相对于选择素数频段值k的数据简化(根据本发明的一些实施例)的曲线。
图4是频域中的延迟识别的实例过程的流程图。
图5是用于实施参考图1到4描述的特征和过程的移动装置架构。
具体实施方式
图1是集成到通信系统中的本发明时间延迟估计系统的实施例的框图。图1的通信系统2可以是包含处理子系统(编程或以其它方式配置成实施通信应用程序3和音频处理对象4的至少一个处理器)和耦合到处理子系统的物理装置硬件5(包含扩音器16和麦克风17)的通信装置。通常,系统2包含存储指令的非暂时性计算机可读媒体,所述指令在由所述至少一个处理器执行时使所述至少一个处理器执行本发明方法的实施例。
实施音频处理对象(APO)4(即,至少一个处理器编程成执行APO4)以执行本发明方法的实施例,从而估计两个音频流之间的时延,其中时延是相对于另一个流应该应用于一个流以便对流进行时间对齐的时间延迟。如在系统2中实施,音频流是:提供给扩音器16的播放音频流(音频信号),和从麦克风17输出的麦克风音频流(音频信号)。还实施APO 4(即,它包含所实施的语音处理子系统15)以对音频流执行音频处理(例如,回波消除和/或另一音频处理)。尽管子系统15识别为语音处理子系统,但是经考虑,在一些实施方案中,子系统15执行非语音处理的音频处理(例如,对于通信应用程序3或另一音频应用程序,为预处理,其可包含也可不包含回波消除)。执行根据本发明的典型实施例(例如,在其中时延无法事先得知的环境中)检测流之间的时延,努力确保通过子系统15进行的音频处理(例如,回波消除)会恰当地操作。
APO 4可以实施为软件插件,并与存在于系统2的处理子系统中的音频数据相互作用。由APO 4执行的时延估计可以提供用于识别麦克风音频流(由APO 4处理的“捕获流”)和“环回”流(其包含从通信应用程序3输出以供扩音器16播放的音频数据)之间的时延的稳固机制,从而确保由子系统15执行的回波消除(或另一音频处理)(以及由应用程序3执行的音频处理)会恰当地操作。
在图1中,APO 4逐块处理麦克风输出流的音频样本的M个通道,并逐块处理播放音频流的音频样本的N个通道。在典型实施方案中,APO 4的延迟估计子系统14以每样本的精度估计流之间的时延(即,时延估计值的精度约为各个经预先变换音频样本时间(即,在子系统12和13中变换之前的音频的样本时间),而不是仅仅约为样本的各个块)。
在典型实施方案中,APO 4(即,APO 4的延迟估计子系统14)在其中已运行音频处理(例如,在子系统15中)的信号域中估计时延。例如,子系统14和15均在从时域到频域变换子系统12和13输出的频域数据上操作。子系统12和13均可实施为DFT调制滤波器组(例如,STFT或另一均匀调制复合滤波器组),使得从其输出的信号具有在音频处理系统(例如,子系统15的典型实施方案)中通常采用的信号表示,并且使得在这个域中执行时延估计降低了实施APO 4以执行时延估计(在子系统14中)以及子系统15中的音频处理所需的复杂性。
本文中所描述的典型实施例(例如,通过图1的APO 4的典型实施方案进行的时延估计)是用于使用输入音频信号的频域表示以约为频域音频数据的音频样本时间的精度稳健地(且通常是既有效又可靠地)识别输入音频信号的时延或输入音频信号之间的时延的方法。此类实施例通常在分块音频域(例如,复值分块变换域)中操作,所述域中存在频域音频数据流,包含频域音频数据块。经估计时延是相对于另一个信号应该应用于一个信号以便对所述信号进行时间对齐的时间延迟的估计值,并且可用于补偿两个音频源之间的时间延迟。一些实施例还生成指示时延估计值在给定时间点精确的置信度的至少一个“置信度”度量(例如,下文描述的启发式置信度度量C1(t)、C2(t)和C(t)中的一或多个)。置信度度量(有时被称为置信度量度)可用于校正系统中的时延变化(如果时延是动态的)或者通知系统操作状态或条件不理想,可能应该在一定程度上进行调适(例如,通过停用正由系统实施的特征)。
如图1中所指示,APO 4包含(实施)延迟线10和11、时域到频域变换子系统12和13、延迟估计子系统14和语音处理子系统15。延迟线10存储来自应用程序3的时域播放音频数据的最后N1个块,且延迟线11存储时域麦克风数据的最后N2个块,其中N1和N2是整数,且N1大于N2。
时域到频域变换子系统12变换从线10输出的每个播放音频数据块,并且将所得的频域播放音频数据块提供给延迟估计子系统14。在典型实施方案中,APO 4(例如,其子系统12)实施数据简化,其中只选择了频域播放音频数据的频带(子带)全集的子集,并且只使用选定的子带子集中的音频来进行延迟(时延)估计。
时域到频域变换子系统13变换从线11输出的每个麦克风数据块,并且将所得的频域麦克风数据块提供给延迟估计子系统14。在典型实施方案中,APO 4(例如,其子系统13)实施数据简化,其中只选择了频域播放音频数据的频带(子带)全集的子集,并且只使用选定的子带子集中的音频来进行延迟(时延)估计。
APO 4的子系统14估计麦克风和播放音频流之间的时延。对频域麦克风信号(从变换子系统13输出)的块M(t,k)的第一序列和频域播放音频数据(从变换子系统12输出)的块P(t,k)的第二序列执行时延估计方法的一些实施例,其中t是表示每一个块的时间的索引,k是表示频段的索引。在这些实施例中,方法包含:
(a)对于第二序列中的每个块P(t,k),提供延迟块P(t,b,k),其中b是表示块延迟时间的索引,其中索引b的每个值是延迟块中的对应一个相对于时间t延迟的块延迟时间的整数数目(例如,对于输入到延迟线10的每个播放音频数据块,变换子系统12向子系统14提供N1-N2个延迟块P(t,b,k),每个延迟块具有不同的索引b的值。输入到延迟线10的每个播放音频数据块对应于输入到延迟线11的麦克风数据块M(t,k));以及
(b)对于每个块M(t,k),确定时间t处的时延的粗略估计值bbest(t),包含通过确定当应用于延迟块P(t,b,k)中的每一个时确定块M(t,k)的估计值Mest(t,b,k)的增益,并识别估计值Mest(t,b,k)中与所述块M(t,k)具有最佳频谱匹配的一个,其中粗略估计值bbest(t)具有约为块延迟时间中的一个的精度;以及
(c)根据粗略估计值bbest(t)和增益中的一些(例如,使用已施加在子系统12和13中以生成块M(t,k)和块P(t,k)的时域到频域变换的特性)确定时间t处的时延的经优化估计值R(t)(例如,R(t)=Lmed(t),如在下文参考图2描述的实例实施例中),其中经优化估计值R(t)具有约为音频样本时间的精度。
在一些实施例中,子系统14使用启发法确定粗略估计值bbest(t)。例如,在一些实施例中,由子系统14执行步骤(b)包含对于延迟块P(t,b,k)中的每一个,基于每个频段(例如,针对窗口k的全集的选定子集)确定启发式不可靠性因数U(t,b,k)。在一些此类实施例中,增益H(t,b,k)是延迟块P(t,b,k)中的每一个的增益,并且每个所述不可靠性因数U(t,b,k)根据统计值集合确定,所述集合包含:平均值Hm(t,b,k),其通过对两个时间(时间t和先前时间t-1)取平均根据增益H(t,b,k)确定;以及方差值Hv(t,b,k),其通过对所述两个时间取平均根据增益H(t,b,k)和平均值Hm(t,b,k)确定。
在一些实施例中,由子系统14执行步骤(b)包含确定针对时间t和索引b的每个值的估计值Mest(t,b,k)的良好度因数Q(t,b),并且确定粗略估计值bbest(t)包含选择良好度因数Q(t,b)中的最佳者(例如,最小者),例如,如下文参考图2所描述。
在执行方法的一些实施例期间,子系统14还执行以下步骤:
(d)应用阈值处理测试以确定时延的候选经优化估计值(例如,如下文参考图2所描述的最近确定的值L(t))是否应该用于更新时延的先前确定的经优化估计值R(t);以及
(e)仅在阈值处理测试确定满足阈值处理条件时才使用候选经优化估计值更新时延的先前确定的经优化估计值R(t)。
下文参考图2描述步骤(d)和(e)的实例实施方案。通常,步骤(d)包含确定(在子系统14中)针对粗略估计值bbest(t),一组平滑化增益Hs(t,bbest(t),k)是否应该被视为用于确定时延的更新后经优化估计值的增益候选集。
在包含步骤(d)和(e)的一些实施例中,方法还包含确定时间t处的时延的第四最佳粗略估计值b4thbest(t)的步骤,且
步骤(b)包含针对时间t和索引b的每个值的估计值Mest(t,b,k),确定良好度因数Q(t,b),并且确定粗略估计值bbest(t)包含选择良好度因数Q(t,b)中的最佳者(例如,最小者),且
步骤(d)包含向针对粗略估计值bbest(t)的良好度因数Q(t,bbest)、针对第四最佳粗略估计值b4thbest(t)的良好度因数Q(t,b4thbest)和针对粗略估计值bbest(t)的估计值Mest(t,bbest,k)应用阈值处理测试。
例如,可以针对时间t的序列根据满足阈值处理条件的多组增益Hs(t,bbest(t),k)确定经优化估计值R(t),并且步骤(e)可包含将一组X(例如,X=40)个值的中位值识别为时延的经优化估计值R(t),其中所述X个值包含最近确定的候选经优化估计值和时延的一组X-1个先前确定的经优化估计值。
在执行方法的一些实施例期间,子系统14还生成和输出(例如,向子系统15提供)以经估计时延的精度指示置信度的至少一个置信度度量。例如,置信度度量可以使用一段时间内的统计数据生成,以提供关于在当前时间计算出的时延是否可信的至少一个指示。例如,置信度度量可以用于指示经估计时延是否不可信,使得应该执行其它操作(例如,停用声学回波消除器)或音频处理功能。下文参考图2描述置信度度量生成的实例。
图2是配置成在频域中执行延迟识别的实例系统200的框图。图2的系统耦合到(例如,包含)麦克风90、扩音器91及两个时域到频域变换子系统108和108A,它们如所示的那样耦合。图2的系统包含时延估计器93、预处理子系统109和频域到时域变换子系统110,它们如所示的那样耦合。额外子系统(图2中未示出)可向要输入到时域到频域变换子系统108的每一个音频流应用可调整时间延迟,例如,当图2中示出的元件被包含在配置成实施延迟调整的系统中时。
一起考虑,预处理子系统109和频域到时域变换子系统110是图1的语音处理系统15的实例实施方案。从子系统110输出的时域音频信号是可以提供给通信应用程序(例如,图1的应用程序3)或可以其它方式使用的经处理麦克风信号。任选地,还从子系统110输出播放音频信号的经处理版本。
时延估计器93(由图2中的虚线框指示)包含将在下文描述的子系统103、103A、101、102、111、105、106和107。到数据简化子系统103和103A的输入是两个音频数据流的复值变换域(频域)表示。在图2所示的实例中(但不在根据本发明的时延估计的其它预期实施例中),将时域播放音频流作为输入提供到扩音器91以及变换子系统108A的输入,并且子系统108A的输出是提供给时延估计器93的频域音频数据流中的一个。在实例中,提供给时延估计器93的另一频域音频数据流是从麦克风90输出的音频流,它已经通过变换子系统108变换成频域。在实例中,麦克风音频数据(已在子系统108中进行时/频域变换的麦克风90的输出)有时被称为第一音频流,且播放音频数据有时被称为第二音频流。
时延估计器(时延估计子系统)93配置成计算(并向预处理子系统109提供)时延估计值(即,以约为各个样本时间的精度指示输入到子系统93的两个音频数据流之间的时间延迟的数据),以及关于时延估计值的至少一个置信度量度。在图2的实施例(和本发明的其它典型实施例)中,时延估计分两个阶段进行。第一阶段以约为输入到子系统93的频域数据块的精度粗略地确定时延(即,子系统93的子系统111输出时间t的粗略时延估计值bbest(t))。第二阶段确定样本精度时延(即,子系统93的子系统107输出时间t的经优化时延估计值Lmed(t)),所述样本精度时延部分地基于在第一阶段中确定的粗略时延。
时域到频域变换子系统108变换每个麦克风数据块,并将所得的频域麦克风数据块提供给数据简化子系统103。子系统103执行数据简化,其中只选择频域麦克风音频数据的频带(子带)子集,并且只使用选定的子带子集来进行时延估计。将描述数据简化的典型实施方案的以下方面。
时域到频域变换子系统108A变换每个播放音频数据块,并将所得的频域播放音频数据块提供给数据简化子系统103A。子系统103A执行数据简化,其中只选择频域播放音频数据的频带(子带)子集,并且只使用选定的子带子集来进行时延估计。将描述数据简化的典型实施方案的以下方面。
子系统111(在图2中标记为“计算增益映射和统计数据”子系统)生成粗略时延估计值(针对时间t的bbest(t)),并将粗略时延估计值输出到子系统106。针对具有延迟索引bbest(t)的(延迟线102中的)延迟块,子系统111还生成并向子系统105输出增益值Hs(t,bbest(t),k)。
组合子系统106根据粗略估计值bbest(t)和由子系统105提供的峰值生成下文描述的时延估计值L(t),如下文所描述。估计值L(t)被提供给子系统107。
子系统107(在图2中标记为“启发式”)根据估计值L(t)确定最终(经优化)时延估计值Lmed(t),如下文所描述。在一些条件(在下文描述)下,L(t)的X(例如,X=40)个最新值中的中位值是最终(经优化)时延估计值Lmed(t)。子系统107还生成一或多个启发式置信度度量(例如,下文描述的置信度度量C1(t)和C2(t)和C(t))。最终时延估计值和每个置信度度量被提供给预处理子系统109。
接下来更详细地描述图2的系统的元件。
(图2的)数据简化子系统103和103A对进入时延估计子系统93的频域音频流进行滤波。确切地说,子系统103和103A中的每一个选择输入其中的音频数据的频带(子带)子集。子系统103将麦克风信号的选定子带的每个块提供给延迟线101。子系统103A将播放信号的选定子带的每个块提供给延迟线102。被选定的子带通常处于已知系统(例如,系统的麦克风90和扩音器91)能够很好地捕获并再生的频率。例如,如果系统实施在具有较小扬声器的装置之中或之上,那么选定子集可排除对应于低频信息的频率。被选定的子带的索引不一定是连续的,相反,这些子带具有某一分集通常是有利的(如下文将描述)。被选定的子带的数目(以及因此用于时延估计的对应频带索引的数目)可等于或大体上等于从子系统108和108A中的每一个输出的数据流的频率子带的总数的5%。
图2的子系统93在延迟线101中存储经数据简化的第一音频流(经数据简化的麦克风数据)的最后N1个块,其中N1是调谐参数。在实例中,N1=20。数目N1可基于在子系统108的相关实施方案中采用的每个滤波器组的配置,其中选择块的数目(例如,N1=20),使得延迟线101保存所要数量的音频数据(例如,至少约400毫秒的音频数据)。N1的其它值是可能的。通过使用延迟线101引入时延允许系统检测非因果性(acausality),它可能发生在给定信号在出现在播放数据中之前先在麦克风数据中出现的情况下。非因果性可出现在系统中,其中(例如)采用额外处理块(在图2中未示出)处理提供给扩音器的播放音频(例如,在它在相关的时域到频域变换子系统108中变换之前),并且时延估计子系统93并不知晓(例如,无法知晓)此类额外处理。
子系统93还实施延迟线102,它用于存储经数据简化的第二音频流(经数据简化的播放数据)的最后N2个块。延迟线102的长度等于N2个块,其中N2(至少约)等于麦克风延迟线101的长度(N1个块)的两倍。在其中N1=20个块的实例中,N2=40个块是调谐参数N2的实例。N2的其它值是可能的。
对于线102中的延迟音频的每个块,图2系统的子系统111计算将播放音频P(b,k)映射到线101中的麦克风数据的最长延迟块M(t,k)的一组增益:
其中t表示调用时延估计子系统93的时间点,并且随着对时延估计系统的每次调用而递增;b表示延迟线102中的每个数据块的块索引;并且k表示频段。实值参数ε用于两个目的:当播放音频是零时防止被零除,以及设置阈值,超过此阈值,我们不希望计算可靠增益。
在一个音频流只与另一音频流部分相关的情形中(例如,在双工通信的情况中,在双向对话(double talk)或仅近端对话(near-end only talk)期间),计算出的增益(H(t,b,k))可能是无效的。为了帮助识别增益是否有效,子系统111优选地基于每个频段计算一些统计数据。确切地说,子系统111针对每个块的每个增益计算平均和方差估计值:
Hm(t,b,k)=αHm(t-1,b,k)+(1-α)H(t,b,k)
Hvinst(t,b,k)=|H(t,b,k)-Hm(t-1,b,k)|2
Hv(t,b,k)=βHv(t-1,b,k)+(1-β)Hvinst(t,b,k)
如果方差极小,那么我们可得出结论:麦克风音频M和播放音频P紧密相关,且P比ε大得多。如果方差较大,那么我们可得出结论:P比ε小得多且方差是M/ε的方差,或者P和M之间没有很好的相关性。
子系统111将这些值编码成每个增益的启发式“不可靠性因数”:
此表达式可以显示在0(指示M和P之间的极佳映射)和1(指示M和P之间的不良映射)之间变化。对U(t,b,k)实施阈值处理操作(其中ρ是阈值),以确定每个增益H(t,b,k)是否应该平滑化成一组实际映射估计值,并且只对有效可靠的增益执行平滑化。下式描述U(t,b,k)上的阈值处理操作(其中ρ是阈值),以确定增益H(t,b,k)是否应该用于生成一组平滑化增益Hs(t,b,k),它们用于确定麦克风信号估计值Mest(t,b,k),其中对于U(t,b,k)低于阈值的所有时间间隔,平滑化随时间推移一直进行:
其中作为调谐过程的一部分,选择ρ。实例值是ρ=0.05。
一旦这个过程完成,子系统111就基于每个延迟增益块的平滑化增益而确定麦克风信号的估计值:
Mest(t,b,k)=Hs(t,b,k)P(t-b,k)
我们希望识别出哪一组平滑化增益将(延迟线102中的)延迟音频的对应块映射到麦克风信号M(k)。(线102中的)延迟块的被称为bbest(t)的对应块索引用作时延的粗略估计值。为了有效可靠地确定粗略时延估计值,子系统111优选地计算误差、预测频谱和实际麦克风信号的功率估计值:
频谱匹配良好度因数可以定义为:
这个值始终在0到0.5的范围内。对于时间t的每个值,子系统111优选地跟踪块索引b的四个值,它们对应于Q(t,b)的四个最小值。
良好度因数Q(t,b)适用于帮助确定哪些平滑化增益最佳地映射到M(t,k)。良好度因数越小,映射更好。因此,系统识别出对应于Q(t,b)的最小值的(延迟线102中的块的)块索引b。对于给定时间t,这表示为bbest(t)。这个块索引bbest(t)提供时延的粗略估计值,并且是上述通过子系统93进行的时延估计的第一(粗略)阶段的结果。时延的粗略估计值被提供给子系统106和107。
优选地,在子系统111确定块索引bbest(t)之后,子系统111执行阈值处理测试以确定对应于具有索引bbest(t)的块的平滑化增益Hs(t,bbest(t),k)是否应该被视为用于计算时延的经优化估计值(即,用于更新时延的先前确定的经优化估计值)的增益候选集。如果测试确定满足所有阈值处理条件,那么从其确定增益Hs(t,bbest,k)的整个块被视为“良好”(正确)块,并且(在子系统105、106和107中)使用值bbest(t)和增益Hs(t,bbest,k)更新时延的先前确定的经优化估计值(例如,确定新的经优化估计值Lmed(t))。如果不满足阈值处理条件中的至少一个,那么不更新时延的先前确定的经优化估计值。如果测试指示所选择的播放块(具有索引bbest(t))和它相关联的映射(即,Hs(t,bbest(t),k))极有可能是最佳地映射到麦克风块M(t,k)的正确块,那么更新时延的先前确定的经优化估计值(例如,如下文所描述)。在调谐过程之后,我们已确定,优选地是应用三个阈值处理测试来确定是否满足以下三个阈值处理条件:
1)Q(t,bbest(t))<0.4。这指示块的增益Hs(t,bbest,k)提供了M(t,k)和播放数据之间的良好映射。在替代实施例中,使用除0.4以外的某一阈值作为阈值(如上文所提到,Q(t,bbest(t))始终具有在0到0.5的范围内的值);
2)其中b4th_best表示对应于第4最小Q(t,b)的块索引b。如上文所提到,对于时间t的每个值,系统跟踪块索引b的四个值,它们对应于Q(t,b)的所述四个最小值,并且因此可以确定每个时间t的b4th_best。在替代实施例中,使用除0.4以外的某一阈值作为阈值。如果通过扬声器播放正弦输入,我们已经发现许多播放块很好地映射到M(t,k)。考虑到此情形和其它类似情形,所提到的第二条件确保所选择的映射(对应于bbest的映射)是比任何其它块索引b好得多的映射。这确保了相比于任何其它良好度因数,最小良好度因数极小。合理的是预期良好度因数Q(t,b)的第二最小和第三最小值类似于良好度因数的最小值,因为这些可对应于相邻块。然而第4最小良好度因数Q(t,b)相比于最小值应该相对较大,并且在这些情况下,Hs(t,bbest(t),k)很可能是正确映射;以及
3)其中是控制参数(例如由于调谐,它的值可以基于系统和预期用例来选择)。如果PMest(经估计信号Mest的上述功率估计值)过低,那么播放信号可能过小而不能用于可靠准确地更新时延估计值。相反地,如果经估计信号的功率较高(例如,高于阈值),那么Hs(t,bbest(t),k)可能是正确映射。
如果满足上方所指示的三个阈值处理条件,那么参数ζ(t)设置为等于1。在此情况下,系统基于粗略估计值bbest(t)和增益Hs(t,bbest(t),k)来更新(例如,如下文所描述)先前确定的经优化(样本精度)时延估计值。否则,参数ζ(t)设置为具有值0。在此情况下,使用先前确定的经优化时延估计值(例如,如下文所描述)作为当前经优化时延估计值Lmed(t)。
接下来描述确定经优化时延估计值Lmed(t)的实例实施例的细节,它在图2的子系统105、106和107中执行。
经抽选DFT滤波器组的典型分析调制具有以下形式:
其中α和β是常数,K是频带的数目,M是滤波器组的抽选因数或“跨距”,N是滤波器的长度,且p(n)是滤波器的系数。本发明的一些实施例的关键方面是具有以下认知:将一个复合频域音频数据块映射到另一块的计算出的增益系数Hs(t,b,k)还可视为对已在时域中执行对应操作的脉冲响应的经变换系数的逼近,假设用于生成从其估计时延的频域数据的每个时域到频域变换滤波器(例如,STFT或NPR DFT滤波器组)的合理实施方案。如果确定增益Hs(t,bbest(t),k)极有可能提供两个音频数据流之间的良好映射(例如,通过应用本文中所描述的三个阈值处理测试),那么系统可借助以下形式的逆变换通过处理所识别的增益值(Hs(t,bbest(t),k),其对应于公式中的值G(t,k))来计算新的瞬时时延估计值(用于更新先前确定的瞬时时延估计值):
另外还通过识别峰值(即,时间t的值g(t,n)中的最大值)的位置来进行计算。
确定新的瞬时时延估计值的这一步骤即使在G(t,k)的许多值是零时也能很好进行,就像通常由于典型实施例中所包含的数据简化步骤(例如,在图2实施例的块103和103A中执行)而发生的情况一样,只要所选择的频段被选择成使得它们非谐波相关(如下文所描述)即可。
因此,本发明系统的(图2的)子系统105的典型实施方案识别具有延迟时间bbest(t)的延迟块的增益Hs(t,bbest(t),k)的经逆变换版本的峰值(下式中的“arg max”项),识别方式类似于通常在基于相关性的延迟检测器中进行的方式。在子系统106中,将延迟时间bbest(t)添加到此峰值中,以确定经优化时延估计值L(t),它是粗略时延估计值bbest(t)的经优化版本,如在下式中:
其中M是滤波器组的抽选因数,K是滤波器组的复合子带的数目。k的求和是将逆复合调制滤波器组的公式应用于Hs_中的经估计增益映射数据(k的许多值不一定评估,因为基于数据简化,Hs将为零)。β的值必须匹配分析滤波器组的对应值,并且对于DFT调制滤波器组(例如,STFT)来说,这个值通常是零,但是其它实施方案可具有改变频段的中心频率的不同值例如,0.5)。参数γ是某一正常数,用于控制系统看起来与中央峰值相隔的距离。
估计值L(t)被提供给子系统107。当ζ(t)是1(通过上述阈值处理测试确定)时,子系统107将L(t)插入到长度X的延迟线中(其中在典型实施例中,X=40,其中此长度已经使用调谐过程确定,假设音频块为20毫秒)。子系统107在这个延迟线中查找所有数据的中位值。在本文中表示为Lmed(t)的这个中位值是时延的最终(经优化)估计值,它被报告给子系统109。当ζ(t)是零时,将先前生成的中位值作为时延的最终估计值报告:Lmed(t)=Lmed(t-1)。
在典型操作中,预期通过图2的系统估计的时延随时间推移且在时延估计子系统93的多次迭代内相当稳定。如果不是这样,那么预期系统的环境和/或操作条件正在经受改变;或系统无法准确地计算时延。为了将后一种情况传送给时延估计子系统的用户,子系统107优选地生成并(例如,向子系统109)输出至少一个置信度度量(即,下文提及的值C1(t)、C2(t)或C(t)=C1(t)C2(t)中的全部或一些)。
接下来更详细地描述生成置信度度量C1(t)、C2(t)和C(t)=C1(t)C2(t)的实例,它们是启发式置信度度量,因为它们各自使用至少一个启发式确定的参数来确定。如所提到,子系统107实施延迟线以确定数个最近确定的值L(t)的中位值Lmed(t)。在实例中,子系统107对超过预定值Nsim(例如,Nsim=10,它已经在典型用例中通过调谐过程确定为合适的值)的差值DV(每个差值是延迟线中的不同值和中位值Lmed(t)的最新值之间的差)的数目计数。使值DV(类似于中位值Lmed(t)的最新值的时延的数目)除以延迟线中的值的总数,并且将结果存储为置信度度量C1(t),它对应于延迟线中存在多少离群值。如果ζ(t)是零,那么采用此置信度度量的先前确定的值:C1(t)=C1(t-1)。
期望在系统在认为很长的一段时间内测量出相同时延的情况下,系统指示高置信度。例如,在双工通信装置的情况下,一个Harvard句子的长度可被视为相当大。如果系统在这段时间内零星地测量出不同时延,那么通常不期望系统马上指示置信度的丧失。优选地,只有在系统一致地(例如,在80%的时间内)估计出与最新估计值Lmed(t)不同的时延时,系统才指示降低的置信度。此外,当操作条件从仅远端/双向对话变成仅近端时,不存在用来估计时延的播放音频数据,因此系统应该既没有丧失也没有获得对计算出的Lmed(t)的置信度。
为了实现所有这些情况,子系统107生成(并输出)新的置信度度量C2(t),它的值在子系统107确定许多所测量的时延值相同时随时间推移而缓慢增加,并且在所测量的时延值不同时快速减小。下面提供度量C2(t)的实例。应了解,限定度量C2(t)的其它方式是可能的。假设系统跟踪上方限定的参数ζ(t)的度量C2(t)的实例如下:
如果ζ(t)=1,并且如果距离值D小于Nsim,其中距离值D是最近确定的值Lmed(t)和L(t)的X最近确定的值之间的差(例如,Nsim=10,如在上文描述的实例中),
C2(t)=C2(t-1)+a(1-C2(t-1)),其中在典型实施方案中,a=0.3。
否则,如果PMest(t,bbest(t))≤1e-5且C1(t)≤0.899,
C2(t)=C2(t-1)
否则,如果C2(t-1)>0.98且C1(t)>0.9,
C2(t)=0.98
否则,如果C2(t-1)>0.5,
C2(t)=C2(t-1)-a(1-C2(t-1)),其中在典型实施方案中,a=0.03。
否则,
C2(t)=(1-a)C2(t-1),其中在典型实施方案中,a=0.03。
在实例中,C2(t)限定成使得它在指示符表明系统应该更可信时对数性地上升,其中对数速率确保C2(t)以1为界。但是,当指示符表明系统丧失置信度时,所述度量指示更少置信度,呈缓慢的对数式衰减,使得它不指示由于任何偶发性测量而发生的置信度的丧失。然而,如果C2(t)减小到0.5,那么我们出于两个原因切换到指数衰减:使得C2(t)以零为界;以及因为在C2(t)达到0.5的情况下,系统可能处于新的操作条件/环境中,因此它会迅速丧失对Lmed(t)的置信度。在实例中,对于C2(t-1)>0.98且C1(t)>0.9的情况下,包含额外条件。这是因为对数衰减在开始时非常缓慢,使得实例通过将C2(t)设置为0.98来强力推动置信度的丧失。我们预期存在其它实现度量C2(t)的目标的方式,此目标可通过所描述的实例来实现。
可以由子系统107生成(并输出)的第三置信度度量是:
C(t)=C1(t)C2(t)
在一些实施方案中,子系统107只生成(并输出)置信度度量C(t)或度量C1(t)、C2(t)和C(t)=C1(t)C2(t)中的至少一个但非全部。在其它实施方案中,子系统107生成(并输出)所有度量C1(t)、C2(t)和C(t)=C1(t)C2(t)。
接下来更详细地描述在本发明的时延估计方法和系统的一些实施例中实施的数据简化的实例(例如,在图2系统的子系统103和103A中)。例如,数据简化可以只选择从其估计时延的音频数据流的频段(具有索引k)的较小子集(例如,5%),开始于索引k的一个低值(它是素数),并且将选定索引k的其余部分选择为素数。如先前所提及,本发明系统的一些实施例只在音频数据流的子带子集上操作,即,只存在计算出增益Hs(t,bbest(t),k)的索引k的某些值。对于系统选择忽略(为了提高性能)的其的值,系统可将增益Hs(t,bbest(t),k)设置为零。
如所提到,将一个复合音频数据块映射到另一块(根据本发明,在频域中)的增益系数Hs(t,b,k)通常是对在时域中执行所述操作的脉冲响应的经变换系数的逼近。应该确定值k的选定子集,以最大化(例如,在图2的子系统105中实施的)逆变换识别增益值Hs(t,bbest(t),k)中的峰值的能力,因为增益值通常是看起来是尖峰状的数据(就是我们希望的脉冲响应的外观)。可显示,在一组k的连续值上操作不是最佳的。因此,本发明时延估计的典型实施例在经变换子带的总数的大致5%的选定子集上操作,其中那些子带具有素数索引,并且其中第一(最低频率)选定值选择为处于已知可由相关扩音器(例如,图2系统的扬声器91)再生的频率。
图3是示出由选择k的连续值区域的数据简化产生的性能相对于实施素数频段值k的优选选择的数据简化的曲线(在竖直轴线上指示的系统输出相对于在水平轴线上指示的时间t的曲线)。目标脉冲响应(峰值在t=64处的虚假脉冲响应)对应于将由图2的子系统105实施的逆变换的期望特征。标记为“选定(未归零)频率的非线性间隔”的曲线是由子系统105实施的逆变换的实例输出,它只操作于频段全集的5%中的增益(其中未选定窗口的增益归零),其中选定窗口具有素数频段值k。这个曲线具有(理想地)与目标脉冲响应的峰值对齐的峰值。
标记为“归零频率的线性区”的曲线是由子系统105实施的逆变换的实例输出,它只操作于频段全集的5%中的增益(其中未选定窗口的增益归零),其中选定窗口包含连续编号的频段值k的区域。这个曲线不具有与目标脉冲响应的峰值对齐的峰值,指示窗口的对应选择是非所要的。
实例过程
图4是频域中的延迟识别的实例过程400的流程图。过程400可由包含一或多个处理器的系统(例如,图2的系统200或图1的系统2的典型实施方案)执行。
系统接收(410)第一音频数据流和第二音频数据流(例如,从图2的变换子系统108和108A输出的那些)。根据本发明时延估计方法的实施例,系统在频域中确定(420)第一音频数据流和第二音频数据流之间的相对时间延迟(时延)。系统还(例如,在图2的预处理子系统109中)基于相对延迟处理(430)第一音频数据流和第二音频数据流。
第一音频数据流可来源于第一麦克风(例如,图1的麦克风17或图2的麦克风90)。第二音频数据流可来源于扬声器分接头,因为第二音频流由“分接”扬声器馈送产生,例如,当扬声器馈送指示即将从扬声器播出的音频数据时。确定操作420任选地包含计算一或多个置信度度量(例如,本文中所描述的启发式置信度度量中的一或多个),用来指示确定第一音频数据流和第二音频数据流之间的相对延迟的置信度。第一音频数据流和第二音频数据流的处理(430)可包括响应于确定相对延迟满足(例如,超过)阈值而校正相对延迟。
实例系统架构
图5是用于实施本文参考图1-4所描述的特征和过程的一些实施例的移动装置架构。图5的架构800可以在任何电子装置中实施,包含但不限于:台式计算机、消费者音频/视觉(AV)设备、无线电广播设备、移动装置(例如,智能手机、平板计算机、笔记本电脑、可穿戴装置)。在所示实例实施例中,架构800用于智能手机,且包含处理器801、外围设备接口802、音频子系统803、扩音器804、麦克风805、传感器806(例如,加速度计、陀螺仪、气压计、磁力计、相机)、位置处理器807(例如,GNSS接收器)、无线通信子系统808(例如,Wi-Fi、蓝牙、蜂窝)和包含触摸控制器810和其它输入控制器811的I/O子系统809、触摸表面812和其它输入/控制装置813。还可使用具有更多或更少组件的其它架构来实施所公开实施例。
存储器接口814耦合到处理器801、外围设备接口802和存储器815(例如,快闪存储器、RAM和/或ROM)。存储器815(非暂时性计算机可读媒体)存储计算机程序指令和数据,包含但不限于:操作系统指令816、通信指令817、GUI指令818、传感器处理指令819、手机指令820、电子消息指令821、网络浏览指令822、音频处理指令823、GNSS/导航指令824和应用程序/数据825。音频处理指令823包含用于执行参考图1-4描述的音频处理的指令(例如,在由处理器801中的至少一个执行时使处理器中的所述至少一个执行本发明时延估计方法或其步骤的实施例的指令)。
本文中所描述的系统的各方面可实施于适当的基于计算机的声音处理网络环境中,用于处理数字或数字化音频文件。自适应音频系统的部分可包含包括任何所要数目个单独机器的一或多个网络,包含用于缓冲和路由在计算机当中传输的数据的一或多个路由器(未示出)。此类网络可以基于各种不同网络协议构建,并且可以是互联网、广域网(WAN)、局域网(LAN),或其任何组合。
组件、块、过程或其它功能组件中的一或多个可以通过控制系统的基于处理器的计算装置的执行的计算机程序来实施。还应注意,本文中所公开的各种功能可以就其行为、寄存器传递、逻辑组件和/或其它特征而使用任何数目的硬件、固件的组合加以描述,和/或作为数据和/或指令体现在各种机器可读或计算机可读媒体中。其中可以体现此类格式化数据和/或指令的计算机可读媒体包含但不限于各种形式的物理(非暂时性)非易失性存储媒体,例如光学、磁性或半导体存储媒体。
本发明的一些实施例的各方面包含以下中的一或多个:
1.一种处理音频数据以估计第一音频信号和第二音频信号之间的时延的方法,包括:
(a)提供指示所述第一音频信号的音频样本的频域数据块M(t,k)的第一序列和指示所述第二音频信号的音频样本的频域数据块P(t,k)的第二序列,其中t是表示每一个所述块的时间的索引,且k是表示频段的索引,并且对于所述第二序列中的每个块P(t,k),其中t是表示所述每个块的所述时间的索引,提供延迟块P(t,b,k),其中b是表示块延迟时间的索引,其中索引b的每个值是所述延迟块中的对应一个相对于所述时间t延迟的块延迟时间的整数数目;
(b)对于每个块M(t,k),确定时间t处的所述时延的粗略估计值bbest(t),包含通过确定当应用于所述延迟块P(t,b,k)中的每一个时确定所述块M(t,k)的估计值Mest(t,b,k)的增益,并识别所述估计值Mest(t,b,k)中与所述块M(t,k)具有最佳频谱匹配的一个,其中所述粗略估计值bbest(t)具有约为所述块延迟时间中的一个的精度;以及
(c)根据所述粗略估计值bbest(t)和所述增益中的一些确定时间t处的所述时延的经优化估计值R(t),其中所述经优化估计值R(t)具有约为音频样本时间的精度。
2.根据技术方案1所述的方法,其中增益H(t,b,k)是所述延迟块P(t,b,k)中的每一个的增益,其中步骤(b)包含对于所述延迟块P(t,b,k)中的每一个,基于每个频段确定启发式不可靠性因数U(t,b,k),并且其中每个所述不可靠性因数U(t,b,k)根据统计值集合确定,所述集合包含:平均值Hm(t,b,k),其通过对两个时间取平均根据所述增益H(t,b,k)确定;以及方差值Hv(t,b,k),其通过对所述两个时间取平均根据所述增益H(t,b,k)和所述平均值Hm(t,b,k)确定。
3.根据技术方案1或2所述的方法,其中步骤(b)包含针对所述时间t和索引b的每个值的所述估计值Mest(t,b,k),确定良好度因数Q(t,b),并且确定所述粗略估计值bbest(t)包含选择所述良好度因数Q(t,b)中的一个。
4.根据技术方案1至3中任一技术方案所述的方法,还包含:
(d)应用阈值处理测试以确定所述时延的候选经优化估计值是否应该用于更新所述时延的先前确定的经优化估计值R(t);以及
(e)仅在所述阈值处理测试确定满足阈值处理条件时才使用所述候选经优化估计值更新所述时延的所述先前确定的经优化估计值R(t)。
5.根据技术方案4所述的方法,其中步骤(d)包含确定针对所述粗略估计值bbest(t),一组平滑化增益Hs(t,bbest(t),k)是否应该被视为用于确定所述时延的更新后经优化估计值的增益候选集。
6.根据技术方案4所述的方法,其中针对时间t的序列,根据满足所述阈值处理条件的多组增益Hs(t,bbest(t),k),确定所述时延的经优化估计值R(t),并且步骤(e)包含将一组X个值中的中位值识别为时延的所述经优化估计值R(t),其中X是整数,且所述X个值包含最近确定的候选经优化估计值和所述时延的一组X-1个先前确定的经优化估计值。
7.根据技术方案4所述的方法,还包含确定时间t处的所述时延的第四最佳粗略估计值b4thbest(t),并且其中:
步骤(b)包含针对所述时间t和索引b的每个值的所述估计值Mest(t,b,k),确定良好度因数Q(t,b),并且确定所述粗略估计值bbest(t)包含选择所述良好度因数Q(t,b)中的一个,且
步骤(d)包含向针对所述粗略估计值bbest(t)的良好度因数Q(t,bbest)、针对所述第四最佳粗略估计值b4thbest(t)的良好度因数Q(t,b4thbest)和针对所述粗略估计值bbest(t)的估计值Mest(t,bbest,k)应用所述阈值处理测试。
8.根据技术方案1至7中任一技术方案所述的方法,还包含:
生成以所述时延的所述经优化估计值R(t)的精度指示置信度的至少一个置信度度量。
9.根据技术方案8所述的方法,其中所述至少一个置信度度量包含至少一个或多个启发式置信度度量。
10.根据技术方案1至9中任一技术方案所述的方法,还包含:
处理指示所述第一音频信号的音频样本的所述频域数据和指示所述第二音频信号的音频样本的所述频域数据中的至少一些,包含通过基于所述时延的所述经优化估计值R(t)执行时间对齐。
11.根据技术方案1至10中任一技术方案所述的方法,其中所述第一音频信号是麦克风输出信号,且所述第二音频信号来源于扬声器分接头。
12.一种存储指令的非暂时性计算机可读媒体,所述指令在由至少一个处理器执行时使所述至少一个处理器执行根据技术方案1至11中任一技术方案所述的方法。
13.一种用于估计第一音频信号和第二音频信号之间的时延的系统,包括:
至少一个处理器,其耦合且配置成接收或生成指示所述第一音频信号的音频样本的频域数据块M(t,k)的第一序列和指示所述第二音频信号的音频样本的频域数据块P(t,k)的第二序列,其中t是表示每一个所述块的时间的索引,且k是表示频段的索引,并且对于所述第二序列中的每个块P(t,k),其中t是表示所述每个块的所述时间的索引,提供延迟块P(t,b,k),其中b是表示块延迟时间的索引,其中索引b的每个值是所述延迟块中的对应一个相对于所述时间t延迟的块延迟时间的整数数目,其中所述至少一个处理器配置成:
对于每个块M(t,k),确定时间t处的所述时延的粗略估计值bbest(t),包含通过确定当应用于所述延迟块P(t,b,k)中的每一个时确定所述块M(t,k)的估计值Mest(t,b,k)的增益,并识别所述估计值Mest(t,b,k)中与所述块M(t,k)具有最佳频谱匹配的一个,其中所述粗略估计值bbest(t)具有约为所述块延迟时间中的一个的精度;以及
根据所述粗略估计值bbest(t)和所述增益中的一些确定时间t处的所述时延的经优化估计值R(t),其中所述经优化估计值R(t)具有约为所述频域数据的音频样本时间的精度。
14.根据技术方案13所述的系统,其中增益H(t,b,k)是所述延迟块P(t,b,k)中的每一个的增益,并且其中所述至少一个处理器配置成:
确定所述粗略估计值bbest(t),包含针对所述延迟块P(t,b,k)中的每一个,基于每个频段确定启发式不可靠性因数U(t,b,k),其中每个所述不可靠性因数U(t,b,k)根据统计值集合确定,所述集合包含:平均值Hm(t,b,k),其通过对两个时间取平均根据所述增益H(t,b,k)确定;以及方差值Hv(t,b,k),其通过对所述两个时间根据所述增益H(t,b,k)和所述平均值Hm(t,b,k)确定。
15.根据技术方案13或14所述的系统,其中所述至少一个处理器配置成确定所述粗略估计值bbest(t),包含通过针对所述时间t和索引b的每个值的所述估计值Mest(t,b,k),确定良好度因数Q(t,b),并且其中确定所述粗略估计值bbest(t)包含选择所述良好度因数Q(t,b)中的一个。
16.根据技术方案13至15中任一技术方案所述的系统,其中所述至少一个处理器配置成:
应用阈值处理测试以确定所述时延的候选经优化估计值是否应该用于更新所述时延的先前确定的经优化估计值R(t);以及
仅在所述阈值处理测试确定满足阈值处理条件时才使用所述候选经优化估计值更新所述时延的所述先前确定的经优化估计值R(t)。
17.根据技术方案16所述的系统,其中所述至少一个处理器配置成应用所述阈值处理测试,包含通过确定针对所述粗略估计值bbest(t),一组平滑化增益Hs(t,bbest(t),k)是否应该被视为用于确定所述时延的更新后经优化估计值的增益候选集。
18.根据技术方案16所述的系统,其中所述至少一个处理器配置成针对时间t的序列,根据满足所述阈值处理条件的多组增益Hs(t,bbest(t),k),确定所述时延的经优化估计值R(t),并且使用所述候选经优化估计值更新所述时延的所述先前确定的经优化估计值R(t),包含通过将一组X个值中的中位值识别为时延的新的经优化估计值R(t),其中X是整数,且所述X个值包含最近确定的候选经优化估计值和所述时延的一组X-1个先前确定的经优化估计值。
19.根据技术方案16至18中任一技术方案所述的系统,其中所述至少一个处理器配置成:
确定时间t处的所述时延的第四最佳粗略估计值b4thbest(t);
确定所述粗略估计值bbest(t),包含通过针对所述时间t和索引b的每个值的所述估计值Mest(t,b,k),确定良好度因数Q(t,b),并且确定所述粗略估计值bbest(t)包含选择所述良好度因数Q(t,b)中的一个;且
向针对所述粗略估计值bbest(t)的良好度因数Q(t,bbest)、针对所述第四最佳粗略估计值b4thbest(t)的良好度因数Q(t,b4thbest)和针对所述粗略估计值bbest(t)的估计值Mest(t,bbest,k)应用所述阈值处理测试。
20.根据技术方案13至19中任一技术方案所述的系统,其中所述至少一个处理器配置成生成以所述时延的所述经优化估计值R(t)的精度指示置信度的至少一个置信度度量。
21.根据技术方案20所述的系统,其中所述至少一个置信度度量包含至少一个或多个启发式置信度度量。
22.根据技术方案13至21中任一技术方案所述的系统,其中所述至少一个处理器配置成处理指示所述第一音频信号的音频样本的所述频域数据和指示所述第二音频信号的音频样本的所述频域数据中的至少一些,包含通过基于所述时延的所述经优化估计值R(t)执行时间对齐。
23.根据技术方案13至22中任一技术方案所述的系统,其中所述第一音频信号是麦克风输出信号,且所述第二音频信号来源于扬声器分接头。
本发明的各方面包含一种配置(例如,编程)成执行本发明方法的任何实施例的系统或装置,以及一种存储用于实施本发明方法或其步骤的任何实施例的代码的有形计算机可读媒体(例如,磁盘)。例如,本发明系统可以是或包含可编程通用处理器、数字信号处理器或微处理器,它利用软件或固件编程和/或以其它方式配置成对数据执行包含本发明方法或其步骤的实施例的各种操作中的任一个。此类通用处理器可以是或包含计算机系统,包含输入装置、存储器,以及编程(和/或以其它方式配置)成响应于经断言数据而执行本发明方法(或其步骤)的实施例的处理子系统。
本发明系统的一些实施例实施为可配置(例如,可编程)数字信号处理器(DSP)或图形处理单元(GPU),它配置(例如,编程和以其它方式配置)成对音频信号执行所需要的处理,包含执行本发明方法或其步骤的实施例。替代地,本发明系统(或其元件)的实施例实施为通用处理器(例如,个人计算机(PC)或另一计算机系统或微处理器,其可包含输入装置和存储器),它利用软件或固件编程和/或以其它方式配置成执行包含本发明方法的实施例的各种操作中的任一个。替代地,本发明系统的一些实施例的元件实施为配置(例如,编程)成执行本发明方法的实施例的通用处理器或GPU或DSP,并且系统还包含其它元件(例如,一或多个扩音器和/或一或多个麦克风)。配置成执行本发明方法的实施例的通用处理器通常耦合到输入装置(例如,鼠标和/或键盘)、存储器和显示装置。
本发明的另一方面是一种存储用于执行本发明方法或其步骤的任何实施例的代码(例如,可以执行以进行本发明方法或其步骤的任何实施例的代码)的计算机可读媒体(例如,磁盘或另一有形存储媒体)。
尽管本文已经描述本发明的特定实施例和本发明的应用,但是所属领域的技术人员清楚,在不脱离本文中描述和要求保护的本发明的范围的情况下,本文中所描述的实施例和应用的许多变化形式是可能的。应理解,尽管已经示出和描述本发明的某些形式,但是本发明不限于所描述和示出的特定实施例或所描述的特定方法。
Claims (23)
1.一种处理音频数据以估计第一音频信号和第二音频信号之间的时延的方法,包括:
(a)提供指示所述第一音频信号的音频样本的频域数据块M(t,k)的第一序列和指示所述第二音频信号的音频样本的频域数据块P(t,k)的第二序列,其中t是表示每一个所述块的时间的索引,且k是表示频段的索引,并且对于所述第二序列中的每个块P(t,k),其中t是表示所述每个块的所述时间的索引,提供延迟块P(t,b,k),其中b是表示块延迟时间的索引,其中索引b的每个值是所述延迟块中的对应一个相对于所述时间t延迟的块延迟时间的整数数目;
(b)对于每个块M(t,k),确定时间t处的所述时延的粗略估计值bbest(t),包含通过确定当应用于所述延迟块P(t,b,k)中的每一个时确定所述块M(t,k)的估计值Mest(t,b,k)的增益,并识别所述估计值Mest(t,b,k)中与所述块M(t,k)具有最佳频谱匹配的一个,其中所述粗略估计值bbest(t)具有约为所述块延迟时间中的一个的精度;以及
(c)根据所述粗略估计值bbest(t)和所述增益中的一些确定时间t处的所述时延的经优化估计值R(t),其中所述经优化估计值R(t)具有约为音频样本时间的精度。
2.根据权利要求1所述的方法,其中增益H(t,b,k)是所述延迟块P(t,b,k)中的每一个的增益,其中步骤(b)包含对于所述延迟块P(t,b,k)中的每一个,基于每个频段确定启发式不可靠性因数U(t,b,k),并且其中每个所述不可靠性因数U(t,b,k)根据统计值集合确定,所述集合包含:平均值Hm(t,b,k),其通过对两个时间取平均根据所述增益H(t,b,k)确定;以及方差值Hv(t,b,k),其通过对所述两个时间取平均根据所述增益H(t,b,k)和所述平均值Hm(t,b,k)确定。
3.根据权利要求1所述的方法,其中步骤(b)包含针对所述时间t和索引b的每个值的所述估计值Mest(t,b,k),确定良好度因数Q(t,b),并且确定所述粗略估计值bbest(t)包含选择所述良好度因数Q(t,b)中的一个。
4.根据权利要求1所述的方法,还包含:
(d)应用阈值处理测试以确定所述时延的候选经优化估计值是否应该用于更新所述时延的先前确定的经优化估计值R(t);以及
(e)仅在所述阈值处理测试确定满足阈值处理条件时才使用所述候选经优化估计值更新所述时延的所述先前确定的经优化估计值R(t)。
5.根据权利要求4所述的方法,其中步骤(d)包含确定针对所述粗略估计值bbest(t),一组平滑化增益Hs(t,bbest(t),k)是否应该被视为用于确定所述时延的更新后经优化估计值的增益候选集。
6.根据权利要求4所述的方法,其中针对时间t的序列,根据满足所述阈值处理条件的多组增益Hs(t,bbest(t),k),确定所述时延的经优化估计值R(t),并且步骤(e)包含将一组X个值中的中位值识别为时延的所述经优化估计值R(t),其中X是整数,且所述X个值包含最近确定的候选经优化估计值和所述时延的一组X-1个先前确定的经优化估计值。
7.根据权利要求4所述的方法,还包含确定时间t处的所述时延的第四最佳粗略估计值b4thbest(t),并且其中:
步骤(b)包含针对所述时间t和索引b的每个值的所述估计值Mest(t,b,k),确定良好度因数Q(t,b),并且确定所述粗略估计值bbest(t)包含选择所述良好度因数Q(t,b)中的一个,且
步骤(d)包含向针对所述粗略估计值bbest(t)的良好度因数Q(t,bbest)、针对所述第四最佳粗略估计值b4thbest(t)的良好度因数Q(t,b4thbest)和针对所述粗略估计值bbest(t)的估计值Mest(t,bbest,k)应用所述阈值处理测试。
8.根据权利要求1所述的方法,还包含:
生成以所述时延的所述经优化估计值R(t)的精度指示置信度的至少一个置信度度量。
9.根据权利要求8所述的方法,其中所述至少一个置信度度量包含至少一个或多个启发式置信度度量。
10.根据权利要求1所述的方法,还包含:
处理指示所述第一音频信号的音频样本的所述频域数据和指示所述第二音频信号的音频样本的所述频域数据中的至少一些,包含通过基于所述时延的所述经优化估计值R(t)执行时间对齐。
11.根据权利要求1所述的方法,其中所述第一音频信号是麦克风输出信号,且所述第二音频信号来源于扬声器分接头。
12.一种存储指令的非暂时性计算机可读媒体,所述指令在由至少一个处理器执行时使所述至少一个处理器执行根据权利要求1所述的方法。
13.一种用于估计第一音频信号和第二音频信号之间的时延的系统,包括:
至少一个处理器,其耦合且配置成接收或生成指示所述第一音频信号的音频样本的频域数据块M(t,k)的第一序列和指示所述第二音频信号的音频样本的频域数据块P(t,k)的第二序列,其中t是表示每一个所述块的时间的索引,且k是表示频段的索引,并且对于所述第二序列中的每个块P(t,k),其中t是表示所述每个块的所述时间的索引,提供延迟块P(t,b,k),其中b是表示块延迟时间的索引,其中索引b的每个值是所述延迟块中的对应一个相对于所述时间t延迟的块延迟时间的整数数目,其中所述至少一个处理器配置成:
对于每个块M(t,k),确定时间t处的所述时延的粗略估计值bbest(t),包含通过确定当应用于所述延迟块P(t,b,k)中的每一个时确定所述块M(t,k)的估计值Mest(t,b,k)的增益,并识别所述估计值Mest(t,b,k)中与所述块M(t,k)具有最佳频谱匹配的一个,其中所述粗略估计值bbest(t)具有约为所述块延迟时间中的一个的精度;以及
根据所述粗略估计值bbest(t)和所述增益中的一些确定时间t处的所述时延的经优化估计值R(t),其中所述经优化估计值R(t)具有约为音频样本时间的精度。
14.根据权利要求13所述的系统,其中增益H(t,b,k)是所述延迟块P(t,b,k)中的每一个的增益,并且其中所述至少一个处理器配置成:
确定所述粗略估计值bbest(t),包含针对所述延迟块P(t,b,k)中的每一个,基于每个频段确定启发式不可靠性因数U(t,b,k),其中每个所述不可靠性因数U(t,b,k)根据统计值集合确定,所述集合包含:平均值Hm(t,b,k),其通过对两个时间取平均根据所述增益H(t,b,k)确定;以及方差值Hv(t,b,k),其通过对所述两个时间根据所述增益H(t,b,k)和所述平均值Hm(t,b,k)确定。
15.根据权利要求13所述的系统,其中所述至少一个处理器配置成确定所述粗略估计值bbest(t),包含通过针对所述时间t和索引b的每个值的所述估计值Mest(t,b,k),确定良好度因数Q(t,b),并且其中确定所述粗略估计值bbest(t)包含选择所述良好度因数Q(t,b)中的一个。
16.根据权利要求13所述的系统,其中所述至少一个处理器配置成:
应用阈值处理测试以确定所述时延的候选经优化估计值是否应该用于更新所述时延的先前确定的经优化估计值R(t);以及
仅在所述阈值处理测试确定满足阈值处理条件时才使用所述候选经优化估计值更新所述时延的所述先前确定的经优化估计值R(t)。
17.根据权利要求16所述的系统,其中所述至少一个处理器配置成应用所述阈值处理测试,包含通过确定针对所述粗略估计值bbest(t),一组平滑化增益Hs(t,bbest(t),k)是否应该被视为用于确定所述时延的更新后经优化估计值的增益候选集。
18.根据权利要求16所述的系统,其中所述至少一个处理器配置成针对时间t的序列,根据满足所述阈值处理条件的多组增益Hs(t,bbest(t),k),确定所述时延的经优化估计值R(t),并且使用所述候选经优化估计值更新所述时延的所述先前确定的经优化估计值R(t),包含通过将一组X个值中的中位值识别为时延的新的经优化估计值R(t),其中X是整数,且所述X个值包含最近确定的候选经优化估计值和所述时延的一组X-1个先前确定的经优化估计值。
19.根据权利要求16所述的系统,其中所述至少一个处理器配置成:
确定时间t处的所述时延的第四最佳粗略估计值b4thbest(t);
确定所述粗略估计值bbest(t),包含通过针对所述时间t和索引b的每个值的所述估计值Mest(t,b,k),确定良好度因数Q(t,b),并且确定所述粗略估计值bbest(t)包含选择所述良好度因数Q(t,b)中的一个;且
向针对所述粗略估计值bbest(t)的良好度因数Q(t,bbest)、针对所述第四最佳粗略估计值b4thbest(t)的良好度因数Q(t,b4thbest)和针对所述粗略估计值bbest(t)的估计值Mest(t,bbest,k)应用所述阈值处理测试。
20.根据权利要求13所述的系统,其中所述至少一个处理器配置成:
生成以所述时延的所述经优化估计值R(t)的精度指示置信度的至少一个置信度度量。
21.根据权利要求20所述的系统,其中所述至少一个置信度度量包含至少一个或多个启发式置信度度量。
22.根据权利要求13所述的系统,其中所述至少一个处理器配置成:
处理指示所述第一音频信号的音频样本的所述频域数据和指示所述第二音频信号的音频样本的所述频域数据中的至少一些,包含通过基于所述时延的所述经优化估计值R(t)执行时间对齐。
23.根据权利要求13所述的系统,其中所述第一音频信号是麦克风输出信号,且所述第二音频信号来源于扬声器分接头。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962901345P | 2019-09-17 | 2019-09-17 | |
US62/901,345 | 2019-09-17 | ||
US202063068071P | 2020-08-20 | 2020-08-20 | |
US63/068,071 | 2020-08-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112530450A true CN112530450A (zh) | 2021-03-19 |
Family
ID=74868701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010971886.XA Pending CN112530450A (zh) | 2019-09-17 | 2020-09-16 | 频域中的样本精度延迟识别 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11437054B2 (zh) |
CN (1) | CN112530450A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113052138B (zh) * | 2021-04-25 | 2024-03-15 | 广海艺术科创(深圳)有限公司 | 一种舞蹈与运动动作的智能对比矫正的方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0204057D0 (en) * | 2002-02-21 | 2002-04-10 | Tecteon Plc | Echo detector having correlator with preprocessing |
EP1715669A1 (en) | 2005-04-19 | 2006-10-25 | Ecole Polytechnique Federale De Lausanne (Epfl) | A method for removing echo in an audio signal |
DE102008039329A1 (de) | 2008-01-25 | 2009-07-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zur Berechnung von Steuerinformationen für ein Echounterdrückungsfilter und Vorrichtung und Verfahren zur Berechnung eines Verzögerungswerts |
US8213598B2 (en) | 2008-02-26 | 2012-07-03 | Microsoft Corporation | Harmonic distortion residual echo suppression |
US9113240B2 (en) | 2008-03-18 | 2015-08-18 | Qualcomm Incorporated | Speech enhancement using multiple microphones on multiple devices |
US8804977B2 (en) | 2011-03-18 | 2014-08-12 | Dolby Laboratories Licensing Corporation | Nonlinear reference signal processing for echo suppression |
US9031268B2 (en) | 2011-05-09 | 2015-05-12 | Dts, Inc. | Room characterization and correction for multi-channel audio |
US20140003635A1 (en) * | 2012-07-02 | 2014-01-02 | Qualcomm Incorporated | Audio signal processing device calibration |
JP6160403B2 (ja) | 2013-09-26 | 2017-07-12 | 沖電気工業株式会社 | エコー抑圧装置及びエコー抑圧プログラム |
US9654894B2 (en) | 2013-10-31 | 2017-05-16 | Conexant Systems, Inc. | Selective audio source enhancement |
JP6295722B2 (ja) * | 2014-02-28 | 2018-03-20 | 沖電気工業株式会社 | エコー抑圧装置、プログラム及び方法 |
GB2532042B (en) * | 2014-11-06 | 2017-02-08 | Imagination Tech Ltd | Pure delay estimation |
GB2536742B (en) | 2015-08-27 | 2017-08-09 | Imagination Tech Ltd | Nearend speech detector |
US10225657B2 (en) | 2016-01-18 | 2019-03-05 | Boomcloud 360, Inc. | Subband spatial and crosstalk cancellation for audio reproduction |
US10811027B2 (en) | 2016-06-08 | 2020-10-20 | Dolby Laboratories Licensing Corporation | Echo estimation and management with adaptation of sparse prediction filter set |
US9947338B1 (en) | 2017-09-19 | 2018-04-17 | Amazon Technologies, Inc. | Echo latency estimation |
US10192567B1 (en) | 2017-10-18 | 2019-01-29 | Motorola Mobility Llc | Echo cancellation and suppression in electronic device |
-
2020
- 2020-09-16 CN CN202010971886.XA patent/CN112530450A/zh active Pending
- 2020-09-16 US US17/022,423 patent/US11437054B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11437054B2 (en) | 2022-09-06 |
US20210082449A1 (en) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2596592C2 (ru) | Пространственный аудио процессор и способ обеспечения пространственных параметров на основе акустического входного сигнала | |
KR101831078B1 (ko) | 보이스 활성화 탐지 방법 및 장치 | |
WO2019112468A1 (en) | Multi-microphone noise reduction method, apparatus and terminal device | |
WO2014054314A1 (ja) | 音声信号処理装置、方法及びプログラム | |
CN108172231A (zh) | 一种基于卡尔曼滤波的去混响方法及系统 | |
KR20100040664A (ko) | 잡음 추정 장치 및 방법과, 이를 이용한 잡음 감소 장치 | |
US9374651B2 (en) | Sensitivity calibration method and audio device | |
Tsilfidis et al. | Automatic speech recognition performance in different room acoustic environments with and without dereverberation preprocessing | |
US8694311B2 (en) | Method for processing noisy speech signal, apparatus for same and computer-readable recording medium | |
US20150032447A1 (en) | Determining a Harmonicity Measure for Voice Processing | |
US11580966B2 (en) | Pre-processing for automatic speech recognition | |
KR20170035986A (ko) | 활성화 음성 검측 방법 및 장치 | |
US8744846B2 (en) | Procedure for processing noisy speech signals, and apparatus and computer program therefor | |
CN112272848B (zh) | 使用间隙置信度的背景噪声估计 | |
US11483651B2 (en) | Processing audio signals | |
JP2010112995A (ja) | 通話音声処理装置、通話音声処理方法およびプログラム | |
AU2017229323A1 (en) | A method and apparatus for increasing stability of an inter-channel time difference parameter | |
EP2828853B1 (en) | Method and system for bias corrected speech level determination | |
US11437054B2 (en) | Sample-accurate delay identification in a frequency domain | |
JP2023054779A (ja) | 空間オーディオキャプチャ内の空間オーディオフィルタリング | |
CN113316075B (zh) | 一种啸叫检测方法、装置及电子设备 | |
JP5970985B2 (ja) | 音声信号処理装置、方法及びプログラム | |
WO2023172609A1 (en) | Method and audio processing system for wind noise suppression | |
CN115881080A (zh) | 一种语音通信系统中的声反馈处理方法及装置 | |
JP2015004959A (ja) | 音響処理装置 |
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 |