掌桥专利:专业的专利平台
掌桥专利
首页

空间可识别子带音频源的检测和提取方法、装置以及系统

文献发布时间:2023-06-19 18:35:48


空间可识别子带音频源的检测和提取方法、装置以及系统

相关申请的交叉引用

本申请要求来自于2020年6月11日提交的美国临时专利申请No.63/038,048、以及于2020年6月11日提交的欧洲专利申请No.20179447.6的优先权的权益,所述专利申请中的每一件都通过引用以其全文并入本文。

技术领域

本公开总体上涉及音频信号处理,尤其涉及音频源分离技术。

背景技术

双声道(two-channel)音频混合(例如,立体声混合)是通过将多个音频源混合在一起来创建的。存在期望从双声道混合中检测并提取各个个体音频源的若干示例,包括但不限于:再混合应用,其中将音频源重新定位在双声道混合中;上混合应用,其中将音频源定位或重新定位在环绕声混合中;以及音频源增强应用,其中提升某些音频源(例如,语音/对话)并将其添加回双声道或环绕声混合中。

发明内容

下文的附图和描述中阐述了所公开的实施方式的细节。根据本说明书、附图和权利要求,其他特征、目的和优点是显而易见的。

在实施例中,一种方法包括:使用一个或多个处理器将双声道时域音频信号的一个或多个帧变换成包括多个时频片(time-frequency tile)的时频域表示,其中,时频域表示的频域包括多个频率仓(frequency bin),该多个频率仓被分组成多个子带;针对每个时频片:使用一个或多个处理器计算时频片的空间参数和电平;使用一个或多个处理器,使用移位参数和挤压参数(shift and squeeze parameters)修改空间参数;使用一个或多个处理器,使用经修改的空间参数、电平、以及子带信息获得用于每个频率仓的软掩码(softmask)值;以及使用一个或多个处理器,将软掩码值应用于时频片以生成所估计的音频源的经修改的时频片。

在实施例中,将时频片的多个帧组装成多个组块(chunk),每个组块包括多个子带,并且该方法包括:针对每个组块中的每个子带:使用一个或多个处理器计算组块中的每个时频片的空间参数和电平;使用一个或多个处理器,使用移位参数和挤压参数修改空间参数;使用一个或多个处理器,使用经修改的空间参数、电平、以及子带信息获得用于每个频率仓的软掩码值;以及使用一个或多个处理器,将软掩码值应用于时频片以生成所估计的音频源的经修改的时频片。

在实施例中,该方法进一步包括:使用一个或多个处理器将经修改的时频片变换成多个时域音频源信号。

在实施例中,空间参数包括时频片中的每一个的平移(panning)和相位差。

在实施例中,该方法包括:针对每个子带,确定平移参数的统计分布和相位差参数的统计分布;将移位参数确定为与平移参数和相位差参数的相应统计分布的峰值相对应的平移参数和相位差参数;以及将挤压参数确定为平移参数和相位差参数的相应分布的峰值周围的宽度,以捕获预定量的音频能量。

在实施例中,预定量的音频能量是平移参数的统计分布中总能量的至少百分之四十,并且是相位差参数的统计分布中总能量的至少百分之八十。

在实施例中,软掩码值是从针对中心平移(center-panned)目标源训练的空间电平滤波(SLF)系统的查找表或函数获得的。

在实施例中,将双声道时域音频信号的一个或多个帧变换成频域信号包括将短时频率变换(STFT)应用于双声道时域音频信号。

在实施例中,多个频率仓被分组成倍频程子带(octave subband)或近似倍频程子带。

在实施例中,空间参数包括针对每个时频片的平移参数和相位差参数,并且计算移位参数和挤压参数进一步包括:可选地将时频片的连续帧(consecutive frames)组装成组块,每个组块包括多个子带;针对每个组块中的每个子带:在平移参数上创建经平滑的电平参数加权(level-parameter-weighted)直方图;在第一相位差参数上创建经平滑的电平参数加权的第一相位差直方图,其中,第一相位差参数具有第一范围;在第二相位差参数上创建经平滑的电平参数加权的第二相位差直方图,其中,第二相位差参数具有不同于第一范围的第二范围;在经平滑的平移直方图中检测平移峰值;确定平移峰值宽度;确定平移中间值;在经平滑的第一相位差直方图中检测第一相位差峰值;确定第一相位差峰值宽度;确定第一相位差中间值;在经平滑的第二相位差直方图中检测第二相位差峰值;确定第二相位差峰值宽度;以及确定第二相位差中间值,其中,移位参数包括平移中间值以及第一相位差中间值或第二相位差中间值,并且挤压参数包括平移峰值宽度以及第一相位差峰值宽度或第二相位差峰值宽度。上述实施例的平移参数的统计分布可以包括平移参数上的经平滑的电平参数加权直方图。相位差参数的统计分布可以包括第一相位直方图和第二相位直方图。确定与平移参数的统计分布的峰值以及平移参数的统计分布的峰值周围的宽度相对应的平移参数可以包括:检测平移峰值,确定平移峰值宽度,以及确定平移中间值。确定与相位差参数的统计分布的峰值以及相位差参数的统计分布的峰值周围的宽度相对应的相位差参数可以包括:检测第一相位差峰值和第二相位差峰值,确定第一相位差峰值宽度和第二相位差峰值宽度,确定第一相位差中间值和第二相位差中间值。

在实施例中,该方法进一步包括:确定第一相位差峰值宽度和第二相位差峰值宽度中的哪一个(在调整之后)更窄,其中,移位参数包括平移中间值以及第一相位差中间值或第二相位差中间值中具有更窄峰值的,并且挤压参数包括平移峰值宽度以及第一相位差峰值宽度或第二相位差峰值宽度中更窄的。应该理解的是,“(在调整以后)更窄”指示仅当第二相位差值明显比第一相位差值更窄时才使用第二相位差值;这有助于确保

在实施例中,空间参数包括针对每个时频片的平移参数和相位差参数,并且计算移位参数和挤压参数进一步包括:针对每个组块中的每个子带:在平移参数上创建经平滑的电平参数加权直方图;在第一相位差参数上创建经平滑的电平参数加权的第一相位差直方图,其中,第一相位差参数具有第一范围;在第二相位差参数上创建经平滑的电平参数加权的第二相位差直方图,其中,第二相位差参数具有不同于第一范围的第二范围;在经平滑的平移直方图中检测平移峰值;确定平移峰值宽度;确定平移中间值;在经平滑的第一相位差直方图中检测第一相位差峰值;确定第一相位差峰值宽度;确定第一相位差中间值;在经平滑的第二相位差直方图中检测第二相位差峰值;确定第二相位差峰值宽度;以及确定第二相位差中间值,其中,移位参数包括平移中间值以及第一相位差中间值或第二相位差中间值,并且挤压参数包括平移峰值宽度以及第一相位差峰值宽度或第二相位差峰值宽度。

在实施例中,该方法进一步包括:确定第一相位差峰值宽度和第二相位差峰值宽度中的哪一个(在调整之后)更窄,其中,移位参数包括平移中间值以及第一相位差中间值或第二相位差中间值中具有更窄峰值的,并且挤压参数包括平移峰值宽度以及第一相位差峰值宽度或第二相位差峰值宽度中更窄的。

在实施例中,第一相位差范围是从-π至π弧度,并且第二相位差范围是从0至2π弧度。

在实施例中,使用针对先前组块和后续组块创建的平移直方图和相位差直方图,在时间上对平移直方图以及第一相位直方图和第二相位直方图进行平滑;或收集先前组块和后续组块中的加权数据,然后直接用于形成直方图。

在实施例中,平移峰值宽度捕获平移直方图中总能量的至少百分之四十,并且第一相位差峰值宽度和第二相位差峰值宽度各自捕获它们相应的直方图中总能量的至少百分之八十。

在实施例中,将每个组块中的每个子带的移位参数和挤压参数转换成对于一个或多个帧中的每个帧都存在。

在实施例中,使用线性插值将平移移位参数和挤压参数转换为对于每个帧都存在,并且使用零阶保持将第一相位差移位参数或第二相位差移位参数转换为对于每个帧都存在。

在实施例中,该方法进一步包括:针对一个或多个组块中的一个或多个子带确定每单位时间的单个平移中间值和单个平移峰值宽度值。

在实施例中,在时间和频率上对软掩码值进行平滑。

在实施例中,一种装置包括:一个或多个处理器以及存储器,该存储器存储指令,这些指令在由一个或多个处理器执行时使一个或多个处理器执行前述方法中的任何一种方法。

在实施例中,一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质具有存储在其上的指令,这些指令在由一个或多个处理器执行时使一个或多个处理器执行前述方法中的任何一种方法。

本文公开的特定实施例提供了以下优点中的一个或多个。从双声道混合中高效且稳健地提取空间可识别子带音频源。该系统是稳健的,因为它可以提取任何空间可识别子带音频源,包括经过振幅平移的音频源和未经振幅平移的音频源,如声道之间有延迟地混合或记录的音频源、有混响地混合或记录的音频源、以及具有随子频带(frequencysubband)变化的空间特性的音频源。该系统也很高效,几乎不需要训练数据或几乎没有延时。

附图说明

在下文所参考的附图中,以框图、流程图和其他图的形式图示了各种实施例。流程图或框图中的每个框可以表示包含用于执行指定逻辑功能的一个或多个可执行指令的模块、程序或代码部分。尽管这些框以执行这些方法步骤的特定顺序图示,但是它们可能不一定严格按照所图示的顺序执行。例如,取决于相应操作的性质,这些框可以按相反的顺序执行或同时执行。还应当注意的是,框图和/或流程图中的每个框及其组合可以由用于执行指定功能/操作的基于软件或基于硬件的专用系统来实施,或者由专用硬件和计算机指令的组合来实施。

图1是根据实施例的用于从双声道混合中检测并提取空间可识别子带音频源的系统的框图。

图2是根据实施例的经过训练以提取平移源的空间电平滤波器(SLF)的输入和输出的视觉描绘。

图3是根据实施例的从双声道混合中检测并提取空间可识别子带音频源的过程的流程图。

图4示出了根据实施例的用于实施参考图1至图3描述的系统和过程的设备架构的框图。

各附图中使用的相同附图标记指示相似的元素。

具体实施方式

所公开的实施例允许从双声道音频混合中对空间可识别子带音频源进行检测和提取(音频源分离)。如本文所使用的,“空间可识别”子带音频源是能量在空间上集中在倍频程子频带或近似倍频程子频带内的子带音频源。

所公开的实施例主要用在声源分离系统的上下文中,该声源分离系统将两个声道(立体声)信号作为输入,并且在如短时傅立叶变换(STFT)域等频域中操作。在典型的声源分离系统中,使用四个基本步骤。

第一,应用前端以将双声道时域音频信号变换到频域中。在实施例中,通常使用STFT,该STFT在频域中产生输入信号的声谱图(例如,幅度和相位)。STFT输出的元素可以通过指示它们的时间和频率中的索引来引用;每个这样的元素都可以被称为时频片。每个时间点对应于帧号,该帧号包括多个频率仓,这些频率仓可以被细分或分组为子带。STFT参数(例如,窗口类型、跳跃大小(hop size))由本领域的普通技术人员选择以针对源分离问题相对优化。根据STFT表示,所描述的系统计算空间参数θ(Θ)和

第二,检测音频源的存在以及描述这些音频源的空间身份的参数。

第三,使用空间参数θ(Θ)和

第四,通过对每个声道的STFT表示执行逆短期傅立叶变换(ISTFT),将(多个)音频源的STFT域估计转换为双声道时域估计。应该注意的是,虽然此步骤在本上下文中按顺序被描述为“第四”,但在该第四步骤之前可能存在STFT域中发生的其他可选处理。在实施例中,在其他STFT域处理完成之后执行ISTFT。

STFT表示中的每个仓的参数包括两个空间参数θ(Θ)和

θ(Θ)是每个时频片(ω,t)的检测到的平移,被定义为:

其中“满左(full left)”是0弧度,而“满右(full right)”是π/2弧度,并且“死点(dead center)”是π/4弧度。应该注意的是,“检测到的平移”也可以被认为是被表示为从0到π/2的连续值的声道间(interchannel)差异。

其中,

U是每个时频片的检测到的电平,被定义为:

U(ω,t)=10*log

这是两个声道的“毕达哥拉斯”幅度的分贝(dB)版本。它可以被认为是单幅度(mono magnitude)声谱图。等式[3]中U的版本以dB为尺度,并且也可以被称为U dB。还可以在系统中的各个点处使用U的各种尺度。例如,U-power(U幂)是U-power(ω,t)=(|XR(ω,t)|2+|XL(ω,t)|2)。可以通过将U提高到各种指数(幂)来生成U的附加版本。这与本文中所有对“电平加权直方图”的提及特别相关。应该理解的是,这样的提及暗示在应用电平加权时可以使用各种幂;建议使用1与2之间的幂,并且在如前文提到的特定步骤中建议使用U-power(2的幂)。

每个频率仓ω被理解为表示特定频率。然而,数据也可以被分组在子带内,这些子带是连续仓的集合,其中每个频率仓ω属于一子带。将数据分组在子带内对于系统中执行的某些估计任务是特别有用的。在实施例中,使用倍频程子带或近似倍频程子带,但是也可以使用其他子带定义。分带(banding)的一些示例包括如下定义频带边缘,其中,以Hz为单位列出值:

[0,400,800,1600,3200,6400,13200,24000],

[0,375,750,1500,3000,6000,12000,24000],以及

[0,375,750,1500,2625,4125,6375,10125,15375,24000]。

应该注意的是,如果严格遵循“倍频程”定义,则可能有无限多个这样的频带,其中最低频带接近无穷小宽度,因此需要进行一些选择以允许有限数量的子带。在实施例中,最低频带被选择为在大小上等于第二频带,但是在其他实施例中可以使用其他惯例。

在实施例中,系统处理连续帧组,下文中也称为“组块”。这允许使用来自多个帧的数据来实现更稳定的空间属性估计。通过使用组块,而不仅仅是更长的帧长度,保留了特定帧长度(例如,50-100ms之间)的优势(例如,准稳定性(quasistationarity)、源分离的最优性)。可以通过选择小于组块中的帧数量的组块跳跃大小来使组块重叠。在实施例中,系统使用10帧的组块,并且组块跳跃大小为5帧。因为这些帧本身将以1024个样本(假设采样率为48kHz)的帧跳跃大小进行跳跃,并且其长度为4096个样本,所以这些组块将需要约277毫秒的数据。取决于计算、延时和数据稳定性实施要求,可以使用更小或更大的组块或跳跃大小,其中,所使用的前瞻(lookahead)和回顾(lookback)的量也由实施需要来确定。在实施例中,组块有5个前瞻帧和5个回顾帧。

在实施例中,本文描述的稳健、高效的声源分离系统使用空间电平滤波(SLF)系统。空间电平滤波器(SLF)是已被训练以实现以下目的的系统:从包括具有给定电平分布和空间参数的背景的混合中提取具有给定电平分布和指定空间参数的目标源。出于说明和实用的目的,下面对SLF的描述将假设目标空间参数仅由平移参数Θ1构成,并且进一步假设Θ1对应于中心平移源。本文描述的技术也可以与经过训练以提取空间参数不如此受约束的目标源的SLF结合使用;下面在移位参数和挤压参数的上下文中描述这样的技术。

平移参数Θ1存在于如下的信号模型的上下文中,在该信号模型中,目标源s1和背景b取决于上下文而被混合到两个声道中,在下文中称为“左声道”(x1或XL)和“右声道”(x2或XR)。

假设使用恒幂定律(constant power law)对目标源s1进行幅度平移。由于其他平移定律可以被转换为恒幂定律,因此在信号模型100中使用恒幂定律是非限制性的。在恒幂定律平移下,混合到左/右(L/R)声道的源s1被描述如下:

x

x

其中,Θ

X

X

然后回顾一下,“目标源”被假设进行了平移,这意味着该源可以用Θ1来表征。通过检查应该清楚,如果信号在时频空间中的给定点处仅包含目标源,则上述检测到的平移参数θ(Θ)将产生目标源平移参数Θ1的完美估计。

返回至如何使用SLF的概念,回想上面Θ(ω,t)、

应该注意的是,采用四个输入值并产生一个输出值的SLF可以以函数(四个输入、一个输出)或表(四维,其中表中存储的值代表输出值)的形式存在。在实施例中,所使用的SLF采用表的形式。表查找106是用于使用本领域技术人员熟悉的任何方法来访问表中的值的技术。

典型经训练的SLF查找表的输入和输出的可视化描述如图2所示。图2所图示的非限制性示例性SLF系统是可以在所公开的实施例中使用的一个示例SLF系统。也可以使用其他SLF系统,这些系统:1)经过训练以提取中心平移源;2)至少具有四个输入,这些输入包括:如上定义的Θ、

为训练数据检测到的空间Θ和

在实施例中,通过以下方式创建SLF查找表:从频域中的子频带中的多个目标源电平和空间分布获得第一样本集;从频域中的子频带中的多个背景电平和空间分布获得第二样本集;将第一样本集和第二样本集相加以创建组合样本集;针对每个子带,检测组合样本集中的每个样本的电平参数和空间参数;在子带内,通过目标源和背景的相应电平和空间分布对检测到的电平参数和空间参数进行加权;将组合样本集中的每个样本在子带内的加权后的电平参数、空间参数和信噪比(SNR)存储在表中;以及通过子带以及加权后的电平参数和空间参数对表重建索引,使得该表包括子带以及加权后的电平参数和空间参数的目标百分位SNR,并且针对子带以及量化后的检测到的空间参数和电平参数的给定输入,从表中获得与量化后的检测到的空间参数和电平参数相关联的所估计的SNR。然后可以将SLF查找表存储在数据库中以供在源分离中使用。

本文描述的示例性音频源分离系统是基于对包括对话的典型音频源混合示例的调查研究而设计的。该系统利用调查研究期间发现的信息。下一部分将简要总结调查研究的结果、相关假设、以及相关系统目标。

·

·

·

·

·

图1是根据实施例的用于从双声道混合中检测并提取空间可识别子带音频源的示例性系统100的框图。系统100包括变换模块101、参数提取模块102、检测模块103、参数修改模块104、表查找模块105、查找表106、软掩码应用模块107以及逆变换模块108。这些模块中的每一个都可以以硬件或软件、或者硬件或软件的组合被实施。在实施例中,系统100可以使用如参考图4所示的设备架构来实施。现在将参考图1依次描述每个模块。

参考图1的左侧,变换模块101使用本领域技术人员所熟悉的窗口和参数将双声道时域混合音频信号(例如,立体声信号)变换成频域表示,如STFT域表示(例如,声谱图/时频片)。在实施例中,窗口是以1024帧跳跃的汉宁窗口(Hann window)的4096点平方根,并且STFT是用于48kHz采样输入的4096点FFT。也可以使用如高斯窗口等其他窗口。在限制内,可以使用保持以毫秒为单位的跳跃大小和帧长度的尺度以获得较低或较高的采样率。

提取模块102针对STFT表示中的每个时频片(仓和帧)计算上述参数

在实施例中,基于测量的输入数据电平来调整U参数。对于每个帧,为当前帧和一些合理数量的先前帧组装数据的缓冲区。这旨在成为长期测量。出于实际目的,缓冲区长度通常为多秒(例如,5秒)。对于缓冲区中的数据,使用相对于满刻度的响度(LKFS)方法计算帧的电平。也可以使用其他方法。然而,无论使用哪种方法,它都应该与用于计算训练数据电平的方法相匹配。应该注意的是,假设先前已对训练数据执行了类似但更长期的测量,以产生测量的训练数据电平。

在实施例中,然后将电平参数U调整如下:Udb=Udb-(测量的训练数据电平-测量的输入数据电平+额外的电平移位),其中,测量的训练数据电平是以dB(如上面所描述的训练数据的LKFS)为单位的总电平值。测量的输入数据电平是以dB(如以LKFS)为单位的输入数据电平值,如上所描述的,它是针对每个帧实时测量的。

额外的电平移位是可选的用户可选择值。该值在下面描述的系统100的后续部分中使用,但在此处解决。通过选择正值,用户可以指定输入数据处于比实际更高的电平,这驱动系统使用SLF系统的更多选择性值。系统操作员可以经由接口选择该参数,其示例包括API调用中的参数选择或编辑配置文件的文本。

图2是SLF系统的输入和输出的采样表示,提供了相关SLF系统的示例,但是可以利用任何SLF系统。图2中的示意图是4维图。四个输入变量由每个子图的左右轴线和进出轴线以及竖直子图索引和水平子图索引表示。这些变量分别对应于输入变量:(1)经修改的θ、(2)经修改的

当查看图2时,应该注意的是,从左到右有很多“未显示”的子图。对额外电平移位使用正值对应于从与输入电平相对应的给定子图移动至与更高输入电平相对应的更右子图(或对应的未显示数据)。负值对应于移动至更左子图(或对应的数据)。通常可以观察到,移动至更右子图(或移动至与这样的子图相对应的表中数据,无论其是否包括在图2中)产生更具选择性(较不“平坦”)的滤波。这与更少的背景捕获但更多的源估计中的伪像相关联。相反,使用更低的值会产生相反的效果,如更多的背景捕获但更少的伪像。

检测模块103针对每个子带检测一个空间可识别音频源。这样做的推荐方法涉及直方图,并在下面详细描述。然而,符合以下条件的任何方法(例如来自帕尔森窗口(Parzenwindow)的分布估计)满足系统的设计要求:(1)估计θ和

假设随着时间的推移积累了足够的组块,则应用平滑器相对于时间平滑直方图。即,针对给定组块的Θ直方图应受针对该组块的前后组块的Θ直方图的影响。对于

再次参考图1,检测模块103如下拾取并检测峰值宽度。对于Θ直方图,检测峰值的Θ值,称为“θ中间(thetaMiddle)”,并且还检测捕获直方图中40%的能量所需的此峰值周围的宽度,称为“θ宽度(thetaWidth)”。对

现在已知

现在,每个子带和组块的θ中间、θ宽度、

S&S参数在概念上可以理解为表示检测到的Θ和

上述步骤在每个子带内针对每个Θ和

再次参考图1,参数修改模块104使用移位和挤压(S&S)参数来修改输入至SLF系统的参数

如上所建议的,当考虑第一子带的SLF系统输出值时,可以忽略大约117Hz以下的频率(未给出输入),或者同样地,对应的软掩码值可以在它们被计算之后被设置为零。应该注意的是仓与子带之间的关键区别。对于单个子带中的每个仓,Θ、

在实施例中,Θ值根据其S&S参数如下修改。

计算:挤压因子(squeezeFactor)=θ宽度/(与要应用的经训练的SLF相对应的参考θ宽度值)。如果挤压因子在[1.0,1.5]范围之外,则使其回到此范围内。应该注意的是,可以使用高于1.5的值来允许更充分地捕获更扩散的源。值为1.5的挤压因子为提取空间可识别源提供了良好的平衡。为了使系统更具选择性,可以通过将参考θ宽度(和参考

计算:移位因子(shiftFactor)=(该帧和子带的)θ中间-π/4。应该注意的是,此处使用π/4是因为它代表中心平移源。要使用的经训练的SLF系统应当是针对中心平移源的。

计算:与中间的距离(distsFromMiddle)=θ中间-(该帧和该子带中每个仓的原始θ数据)。

计算:新的与中间的距离(newDistsFromMiddle)=与中间的距离/挤压因子。

计算:修改的θ(thetaModified)=θ中间+新的与中间的距离-移位因子;

如果修改的θ超出[0,2*π]范围,则将其限制在该范围内。

使用类似的方法根据S&S参数修改

计算:

这可能会使一些数据超出[-π,π]范围,因此,使用相位的循环处理来使所有值回到该范围内。即,将低于-π的任何值加上2*π,并且从高于π的任何值减去2*π。

计算:

在这一点上,挤压因子值应该像上面的θ一样受到限制。但在这里,还考虑了额外的现实情况。根据定义,具有接近0(最左)或π/2(最右)的“极端”Θ值的源被预期在

接下来,将先前计算的挤压因子限制为前一步骤计算的值。

最后,计算:修改的

此时,修改的θ、修改的

再次参考图1,表查找模块105从SLF查找表106中取得软掩码值并且软掩码应用模块107将软掩码值应用于STFT时频片。将输入值(修改的θ、修改的

如前所述,在一个非限制性示例中,图2中示出了n个SLF的采样表示。输出被显示在每个子图的竖直轴线上。四个输入变量是每个子图的左右(Θ)轴线和输入输出

在后续的步骤中将需要U值。因此,将U值返回到先前描述的未缩放的原始值(SLF输入不需要)。

在实施例中,使用本领域技术人员熟悉的技术在时间和频率上对软掩码值和/或信号值进行平滑。假设为4096点的FFT,可以使用相对于频率的平滑,该平滑使用平滑器[0.17 0.33 1.0 0.33 0.17]/总和([0.17 0.33 1.0 0.33 0.17])。对于更高或更低的FFT大小,应该对平滑范围和系数执行一些合理的缩放。假设1024个样本的跳跃大小,可以使用相对于时间的大约[0.1 0.55 1.0 0.55 0.1]/总和([0.1 0.55 1.0 0.55 0.1])的平滑器。如果跳跃大小或帧长度发生变化,则应适当调整平滑。

再次参考图1,逆变换模块108对所估计的音频源的STFT表示执行逆STFT。在实施例中,使用与分析窗口相同的合成窗口(后窗口)、如汉宁窗口的平方根来执行逆STFT。因为有两个STFT表示,所以现在有两个时域信号。

逆变换模块108的输出是将从七个子带中的六个(或七个)提取的音频源进行组合的双声道时域音频信号。在一些示例中,这就是所需要的全部,并且可以随后处理或利用这一单个时域信号。在其他示例中,可能期望的是单独具有每个子带信号。当子带信号可能具有彼此非常不同的θ和/或

图2是根据实施例的经过训练以提取平移源的SLF系统的输入和输出的视觉描绘。更具体地,图2是图1中描述的经训练的SLF查找表的示例。

图3是根据实施例的用于从双声道混合中检测并提取空间可识别子带音频源的过程300的流程图。过程300可以使用例如参考图4所描述的设备架构400来实施。

过程300可以开始于将双声道时域音频信号(例如,立体声信号)变换成包括具有多个频率仓的时频片的频域表示(301)。例如,可以将立体声音频信号变换成时频片的STFT表示,如参考图1所描述的。

过程300继续针对每个时频片计算空间参数和电平参数(302)。例如,过程300针对每个时频片计算Θ、

过程300继续使用空间参数和电平参数(Θ、

过程300继续使用经修改的空间参数

过程300继续将软掩码值应用于时频片以生成所估计的音频源的时频片(306)。例如,软掩码值是0与1之间的连续值(分数),在STFT片的仓中将这些连续值乘以它们在维度上对应的幅度。因为软掩码值是分数,所以将软掩码值应用于STFT仓将有效地降低所有频率仓中不包含音频源数据的幅度。

过程300继续将所估计的音频源的时频片逆变换成音频源的双声道时域估计(307)。

图4是根据实施例的图1所示的系统100的设备架构400的框图。设备架构400可以用在能够执行上述数学计算的任何计算机或电子设备中。本文描述的特征和过程可以在编码器、解码器或中间设备中的一个或多个中实施。这些特征和过程可以以硬件或软件、或者硬件或软件的组合被实施。

在所示的示例中,设备架构400包括一个或多个处理器(401)(例如,CPU、DSP芯片、ASIC)、一个或多个输入设备(402)(例如,键盘、鼠标、触摸表面)、一个或多个输出设备(例如,LED/LCD显示器)、存储器404(例如,RAM、ROM、闪速存储器)、以及耦接至扬声器406的音频子系统406(例如,媒体播放器、音频放大器以及支持电路)。这些部件中的每一个都耦接至一个或多个总线407(例如,系统、电源、外围设备等)。在实施例中,本文描述的特征和过程可以被实现为存储在存储器404或任何其他计算机可读介质中并且由一个或多个处理器401执行的软件指令。具有更多或更少部件的其他架构也是可能的,如使用软件和硬件的混合来实施此处描述的功能和过程的架构。

虽然本文档包含许多具体实施方式细节,但是这些细节不应被解释为对可能要求的事物的范围的限制,而是被解释为对可能特定于特定实施例的特征的描述。在单独的实施例的上下文中在本说明书中所描述的某些特征还可以按组合方式实施在单一实施例中。相反,在单一实施例的上下文中描述的各种特征也可以被单独地或以任何适合的子组合的方式实施在多个实施例中。此外,尽管特征在上文可以被描述为以某些组合起作用并且甚至最初如此声明,但是在一些情况下可以从组合中去除要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。在附图中描绘的逻辑流程不需要所示出的特定顺序或者有序顺序来实现期望的结果。另外,可以从所描述的流程中提供其他步骤,或者可以删除步骤,并且可以向所描述的系统添加其他部件,或者从所描述的系统中去除其他部件。因此,其他实施方式在以下权利要求的范围内。

可以从以下枚举的示例实施例(EEE)中理解本发明的各个方面:

EEE1.一种方法,包括:

使用一个或多个处理器将双声道时域音频信号的一个或多个帧变换为包括多个时频片的时频域表示,其中,所述时频域表示的频域包括多个频率仓,所述多个频率仓被分组为多个子带;

针对每个时频片:

使用所述一个或多个处理器计算所述时频片的空间参数和电平;

使用所述一个或多个处理器,使用移位参数和挤压参数修改所述空间参数;

使用所述一个或多个处理器,使用经修改的空间参数、所述电平、以及子带信息获得用于每个频率仓的软掩码值;以及

使用所述一个或多个处理器,将所述软掩码值应用于所述时频片以生成所估计的音频源的经修改的时频片。

EEE2.如EEE 1所述的方法,其中,将所述时频片的多个帧组装成多个组块,每个组块包括多个子带,所述方法包括:

针对每个组块中的每个子带:

使用所述一个或多个处理器计算所述组块中的每个时频片的空间参数和电平;使用所述一个或多个处理器,使用移位参数和挤压参数修改所述空间参数;

使用所述一个或多个处理器,使用经修改的空间参数、所述电平、以及子带信息获得用于每个频率仓的软掩码值;以及

使用所述一个或多个处理器,将所述软掩码值应用于所述时频片以生成所估计的音频源的经修改的时频片。

EEE3.如EEE 2所述的方法,其中,所述空间参数包括每个时频片的平移参数和相位差参数,并且计算移位参数和挤压参数进一步包括:

针对每个组块中的每个子带:

在所述平移参数上创建经平滑的电平参数加权直方图;

在第一相位差参数上创建经平滑的电平参数加权的第一相位差直方图,其中,所述第一相位差参数具有第一范围;

在第二相位差参数上创建经平滑的电平参数加权的第二相位差直方图,其中,所述第二相位差参数具有不同于所述第一范围的第二范围;

在所述经平滑的平移直方图中检测平移峰值;

确定平移峰值宽度;

确定平移中间值;

在所述经平滑的第一相位差直方图中检测第一相位差峰值;

确定第一相位差峰值宽度;

确定第一相位差中间值;

在所述经平滑的第二相位差直方图中检测第二相位差峰值;

确定第二相位差峰值宽度;以及

确定第二相位差中间值,

其中,所述移位参数包括所述平移中间值以及所述第一相位差中间值或所述第二相位差中间值,并且所述挤压参数包括所述平移峰值宽度以及所述第一相位差峰值宽度或所述第二相位差峰值宽度。

EEE4.如EEE 3所述的方法,进一步包括:确定所述第一相位差峰值宽度和所述第二相位差峰值宽度中的哪一个更窄,其中,所述移位参数包括所述平移中间值以及所述第一相位差中间值或所述第二相位差中间值中具有更窄峰值的,并且所述挤压参数包括所述平移峰值宽度以及所述第一相位差峰值宽度或所述第二相位差峰值宽度中更窄的。

EEE5.如EEE 1至4中任一项所述的方法,进一步包括:

使用所述一个或多个处理器将经修改的时频片变换成多个时域音频源信号。

EEE6.如EEE 1至5中任一项所述的方法,其中,所述空间参数包括所述时频片中的每一个的平移和相位差。

EEE7.如EEE 1至6中任一项所述的方法,其中,所述软掩码值是从针对中心平移目标源训练的空间电平滤波(SLF)系统的查找表或函数获得的。

EEE8.如EEE 1至7中任一项所述的方法,其中,将双声道时域音频信号的一个或多个帧变换成频域信号包括将短时频率变换(STFT)应用于所述双声道时域音频信号。

EEE9.如EEE 1至8中任一项所述的方法,其中,将多个频率仓分组为倍频程子带或近似倍频程子带。

EEE10.如EEE 1至9中任一项所述的方法,其中,所述空间参数包括每个时频片的平移参数和相位差参数,并且计算移位参数和挤压参数进一步包括:

将所述时频片的连续帧组装成组块,每个组块包括多个子带;

针对每个组块中的每个子带:

在所述平移参数上创建经平滑的电平参数加权直方图;

在第一相位差参数上创建经平滑的电平参数加权的第一相位差直方图,其中,所述第一相位差参数具有第一范围;

在第二相位差参数上创建经平滑的电平参数加权的第二相位差直方图,其中,所述第二相位差参数具有不同于所述第一范围的第二范围;

在所述经平滑的平移直方图中检测平移峰值;

确定平移峰值宽度;

确定平移中间值;

在所述经平滑的第一相位差直方图中检测第一相位差峰值;

确定第一相位差峰值宽度;

确定第一相位差中间值;

在所述经平滑的第二相位差直方图中检测第二相位差峰值;

确定第二相位差峰值宽度;以及

确定第二相位差中间值,

其中,所述移位参数包括所述平移中间值以及所述第一相位差中间值或所述第二相位差中间值,并且所述挤压参数包括所述平移峰值宽度以及所述第一相位差峰值宽度或所述第二相位差峰值宽度。

EEE11.如EEE 10所述的方法,进一步包括:确定所述第一相位差峰值宽度和所述第二相位差峰值宽度中的哪一个更窄,其中,所述移位参数包括所述平移中间值以及所述第一相位差中间值或所述第二相位差中间值中具有更窄峰值的,并且所述挤压参数包括所述平移峰值宽度以及所述第一相位差峰值宽度或所述第二相位差峰值宽度中更窄的。

EEE12.如EEE 10或11所述的方法,其中,所述第一范围是从-π至π弧度,并且所述第二范围是从0至2π弧度。

EEE13.如EEE 10至12中任一项所述的方法,其中,使用针对先前组块和后续组块创建的平移直方图和相位差直方图,在时间上对所述平移直方图以及所述第一相位直方图和所述第二相位直方图进行平滑;或收集所述先前组块和所述后续组块中的加权数据,然后直接用于形成所述直方图。

EEE14.如EEE 10至13中任一项所述的方法,其中,所述平移峰值宽度捕获所述平移直方图中总能量的至少百分之四十,并且所述第一相位差峰值宽度和所述第二相位差峰值宽度各自捕获它们相应的直方图中总能量的至少百分之八十。

EEE15.如EEE 10至14中任一项所述的方法,其中,将每个组块中的每个子带的所述移位参数和所述挤压参数转换成对于所述一个或多个帧中的每个帧都存在。

EEE16.如EEE 10至15中任一项所述的方法,其中,使用线性插值将所述平移移位参数和所述挤压参数转换为对于每个帧都存在,并且使用零阶保持将所述第一相位差移位参数或所述第二相位差移位参数转换为对于每个帧都存在。

EEE17.如EEE 10至16中任一项所述的方法,进一步包括:针对所述一个或多个组块中的所述一个或多个子带确定每单位时间的单个平移中间值和单个平移峰值宽度值。

EEE18.如EEE 10至17中任一项所述的方法,其中,在时间和频率上对所述软掩码值进行平滑。

EEE19.一种装置,包括:

一个或多个处理器;

存储器,所述存储器存储指令,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行EEE 1至18所述的前述方法中的任何一种方法。

EEE20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质具有存储在其上的指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行如EEE 1至18所述的前述方法中的任何一种方法。

技术分类

06120115628527