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

使用谱质心来创作沉浸式触觉体验的系统和方法

文献发布时间:2023-06-19 19:38:38


使用谱质心来创作沉浸式触觉体验的系统和方法

发明领域

本申请要求于2020年7月12日提交的第63/050,834号美国临时申请的递交日的权益,其教导通过引用以其整体被并入本文。

本发明涉及一种用于使用音频信号分析来生成触觉数据的触觉处理系统。更具体地,本发明涉及使用谱质心(spectral centroid)来分析音频信号,并对该音频信号进行创作以产生触觉数据。

背景

触觉通常是指作为反馈力或振动提供给用户的触摸或感知的感觉。具有触觉反馈的电子计算设备可以显著改善人机接口(human computer interface)。反馈力提供对触摸和感觉的感知,这可以增强用户体验。随着技术进步,用户接口与触觉集成在一起。由不同类型的设备提供的触觉反馈是可区分的,从而提供了不同的感觉和触觉。

需要通过滤波、变换和编辑的复杂过程,以高效地将音频信号转换为触觉数据,从而提供令人满意的用户体验。为了提供令人满意的用户体验,音频信号被转换为触觉数据,该触觉数据然后可以被创作和增强。触觉体验使用触觉致动器(例如,线性谐振致动器(Linear Resonant Actuator,LRA)、宽带或高清晰度致动器、压电致动器(piezo-electricactuator))等被传递。触觉体验的传递取决于信号的音频到触觉转换、触觉致动器的响应特性、设备特定数据、以及其他因素。因此,需要致动器类型及其响应特性的适当匹配来增强用户体验。

美国申请20200379570提供了一种触觉系统和方法,用于定义包括触觉事件和音频事件两者的触觉模式。触觉模式可以由应用编程接口调用,该应用编程接口具有触觉映射功能,该触觉映射功能具有触觉体验映射功能,该触觉体验映射功能在不同制造商或不同型号的具有不同触觉硬件的电子设备上生成相同或相似的触觉体验。现有技术提供了在不同设备上映射触觉功能以获得相似体验的方法。然而,所公开的发明没有提供对音频内容的创作,替代地,该发明提供了在音频事件内具有嵌入的触觉事件的触觉模式传递。

美国申请20210181851涉及一种自适应触觉信号生成设备。该自适应信号生成设备包括频率分析单元,该频率分析单元用于在频域中转换和分析所接收的音频信号。频率均衡器单元允许自适应触觉信号生成设备抑制或放大频域中的一个或多个特定频率。触觉事件提取单元基于经抑制或经放大的频率提取触觉事件。然后,该设备生成与触觉事件信号相对应的触觉信号。控制单元针对每个频率对所提取的触觉事件信号的产生进行计数。然后,它使已经被生成了超过特定预定义次数的频率的频率增益增加。该发明提供了一种在频域中生成触觉事件的方法,但没有提供至少基于设备特性的对触觉输出的分析和创作。

美国申请20210110681提供了一种使用滤波器组和谐波冲击源分离(harmonicpercussive source separation)将音频信号创作为触觉信号的方法,但是使用了不同的时间振幅频率分析方法。相比之下,本申请使用计算谱质心来将音频信号创作为触觉输出的新颖方法。

美国专利10,467,870提供了一种触觉转换系统,该触觉转换系统分析音频信号、基于对音频信号的分析来生成触觉信号。然后,该触觉转换系统通过一个或更多个致动器播放所生成的触觉信号,以产生触觉效果。该触觉转换系统基于音频信号的一个或更多个音频特性,来将所生成的触觉信号映射到不同的致动器。该发明公开了音频信号到触觉信号的转换,但是没有公开至少基于设备参数来对音频信号进行创作。

美国专利9,448,626公开了一种触觉转换系统,该触觉转换系统截取音频数据的多个帧,将该多个帧转换为触觉信号,并通过致动器播放所创建的触觉信号,以产生触觉效果。该触觉信号是基于每个音频数据帧的最大值的。该最大值定义触觉信号的幅度。触觉信号被施加到致动器以生成一个或更多个触觉效果。该发明提供了一种触觉转换系统,但是没有公开对音频内容的创作以获得沉浸式触觉体验。

美国专利9,092,059公开了一种触觉转换系统,该触觉转换系统接收音频信号的多个音频流。然后,该触觉转换系统评估每个流,以确定一个或更多个参数中的至少一个参数是否指示该流要被转换为触觉效果。然后,触觉转换系统识别包括至少一个参数的一个或更多个流是否要被转换为触觉效果。该触觉转换系统还针对所识别的流基于每个相应流生成触觉信号,并且针对所识别的流向致动器发送每个触觉信号以生成触觉效果。该发明没有公开对来自音频信号的经转换的触觉数据的创作。

所有引用的现有技术均未能公开新颖且独特的创作触觉输出的特征。所公开的方法和系统提供了:音频信号的分析、音频信号到触觉输出的转换、基于设备特性和嵌入的致动器特性将经转换的音频信号创作为触觉信号、以及为了沉浸式触觉体验将频带变换为触觉感知带宽。

发明概述

本发明提供了一种由计算机实现的方法,该方法将音频信号编辑和变换为触觉数据以提供沉浸式触觉体验。该由计算机实现的方法在预处理器模块处接收音频信号,以针对具有固定数量的采样音频数据的音频帧来确定音频信号的峰到峰振幅。在多个实施例中,音频帧可以包括一个或更多个音频分组。替代地,可以基于包括音频分组或音频采样数据的固定窗口大小或可变窗口大小来处理音频信号。该由计算机实现的方法执行快速傅里叶变换,以得出经预处理的音频信号的频率分布。快速傅里叶变换包括时间振幅值阵列、时间频率值阵列、和时间振幅频率值阵列。随后,该由计算机实现的方法计算得出的频率分布的加权平均值,以来计算或得出针对固定大小窗口或可变大小窗口的采样音频数据的谱质心。然后,用新的采样音频数据替换该采样音频数据,并计算谱质心。此后,该由计算机实现的方法计算音频信号的新的谱质心,以产生谱质心阵列。该谱质心阵列被提供给用户接口,以为了沉浸式触觉体验而修改谱质心阵列。最后,该由计算机实现的方法产生计算机可读文件,该计算机可读文件能够由电子计算设备上的再合成模块解析以提供沉浸式触觉体验。

在该实施方式的变体中,谱质心值阵列可以包括时间振幅值阵列和时间频率值阵列,谱质心值阵列可以使用用户接口来修改。谱质心值阵列的修改是至少基于设备特定信息和致动器特定信息的。在多个实施例中,设备特定信息包括设备质量、设备类型、设备操作特性和嵌入在设备中的致动器特定特性。

经预处理的音频信号的谱质心是通过将每个频率的频谱能量与每个频带的平均值乘积之和除以所有频带的频谱能量之和来计算的。

在另一个实施方式中,一种由计算机实现的将音频信号创作和变换为触觉输出以提供沉浸式触觉体验的方法包括以下步骤:在预处理器处针对固定数量的音频样本接收音频信号;对经预处理的音频样本应用谐波冲击源分离,其中,该谐波冲击源分离包括谐波谱图和冲击谱图;针对该谐波谱图和该冲击谱图计算时间振幅值阵列和时间频率值阵列;将谱质心阵列、时间振幅值阵列和时间频率值阵列提供给用户接口,以修改谐波谱图和/或冲击谱图的值阵列中的至少一个;对经创作的谱质心阵列、时间振幅值阵列、和时间频率值阵列进行变换,以适配到触觉感知带宽中;以及,创建计算机可读文件。

在该实施方式的一个变体中,谐波冲击源分离还包括残余谱图,该残余谱图是通过从经变换的谐波冲击源分离谱图中减去谐波谱图和冲击谱图而获得的。

在该实施方式的一个变体中,经创作的谱质心阵列、时间振幅值阵列、和时间频率值阵列的变换至少基于设备特定信息和致动器特定信息。在多个实施例中,谐波分量和冲击分量的谱质心是通过将频谱能量与每个频带的平均值乘积之和除以所有频带的频谱能量之和来计算的。

一种用于将音频信号转换为计算机可读触觉文件的触觉创作系统,该计算机可读文件当由处理器执行时,使该触觉处理系统在相关联的电子计算设备上产生沉浸式触觉体验,该触觉创作系统包括:预处理器模块,该预处理器模块被配置为音频分析模块,其中,该音频分析模块接收经预处理的音频信号,并将该经预处理的音频信号转换为时间振幅值阵列和时间频率值阵列,并且其中,该音频分析模块计算该时间频率值阵列的谱质心;用户接口,该用户接口用于修改时间振幅值阵列、时间频率值阵列、和时间频率值阵列;变换模块,该变换模块用于对经创作的时间振幅值阵列、经创作的时间频率值阵列、和经创作的时间频率值阵列进行变换,以适配到触觉感知带宽中;以及聚合和文件管理模块,该聚合和文件管理模块用于将经变换的时间振幅值阵列、经变换的时间频率值阵列、和经变换的时间频率值阵列转换为计算机可读触觉文件。

音频分析模块通过将每个频率的频谱能量与每个频带的平均值乘积之和除以所有频带的频谱能量之和来计算谱质心。

变换模块可以至少基于设备特定信息来对谐波谱图和冲击谱图进行变换,该设备特定信息包括设备质量、设备类型、设备操作特性和嵌入在设备中的致动器特定特性。

一种用于将音频信号转换为计算机可读触觉文件的触觉创作系统,该计算机可读文件当由处理器执行时,使得该触觉创作系统在相关联的电子计算设备上产生沉浸式触觉体验,该触觉创作系统包括:预处理器模块,该预处理器模块被配置为音频分析模块,其中,该音频分析模块接收经预处理的音频信号,并将谐波冲击源分离应用于经预处理的音频信号,以确定谐波谱图和冲击谱图,并且其中,该音频分析模块计算该谐波谱图和该冲击谱图的谱质心;用户接口,该用户接口用于修改谐波谱图和冲击谱图,其中,该谐波谱图包括时间振幅值阵列和时间频率值阵列,并且该冲击谱图包括时间频率值阵列和脉冲序列(impulse sequence)阵列;变换模块,该变换模块用于对经创作的谐波谱图和经创作的冲击谱图进行变换,以适配到触觉感知带宽中;以及聚合和文件管理模块,该聚合和文件管理模块用于将经变换的谐波谱图和经变换的冲击谱图转换为计算机可读触觉文件。

触觉创作系统包括音频分析模块,该音频分析模块通过将每个频率的频谱能量与每个频带的平均值乘积之和除以所有频带的频谱能量之和来计算谱质心。

触觉创作系统的变换模块至少基于设备特定信息来对谐波谱图和冲击谱图进行变换,该设备特定信息包括设备质量、设备类型、设备操作特性和嵌入在设备中的致动器特定特性。

公开了一种对音频信号进行创作以产生沉浸式触觉体验的方法和系统。该方法在预处理器模块中对音频信号进行预处理。经预处理的信号被传递到音频分析模块。音频分析模块针对固定时间处理该经预处理的音频信号,以产生(a)时间振幅值阵列和(b)谱质心(即,频率)值阵列。为了产生时间振幅值阵列,该经预处理的音频信号还被传递到包络近似和平滑模块,以(a)将该经预处理的音频信号近似为时间振幅值,和(b)使这些近似的时间振幅值平滑。时间振幅值阵列被传递到断点缩减模块。该断点缩减模块基于时间序列的线性近似来缩减时间振幅值阵列。该经预处理的音频信号还被传递到DC偏移模块。DC偏移模块的目的是添加小值偏移,以避免谱质心在其中音频信号是静默的片段期间虚假地上升。在绝对或接近静默期间,音频信号具有小振幅值,这允许高频率在静默期间占主导。在静默的音频片段中,高频的存在也不是期望的。DC偏移的输出被提供给中央追踪器模块,该中央追踪器模块计算在特定窗口或音频分组的一个块中处理的音频信号或音频信号的多个片段的谱质心。该谱质心是该音频信号的逐块傅里叶变换功率谱的质心,它为以这种方式处理的每个窗口化信号块提供了音频信号的主频率。通过识别每个时间点(即,包括多个音频数据块的每个帧或音频数据的每个窗口)的主频率,驱动触觉致动器的振荡器可以在每个时间点被调整到谱质心值,从而提供良好的触觉体验。新颖独特的谱质心追踪技术与振幅追踪同步,以提供更好的触觉体验。

在一些实施例中,可以利用其他统计数据,这些统计数据例如为,谱带宽、谱偏斜度、谱平坦度、谱峭度(spectral kurtosis)、谱对比度、和谱滚降。

在一些实施例中,时间振幅值是不同频带的时间振幅值阵列。

并行地,从导出时间振幅值的同一个经预处理的音频信号计算谱质心。将经预处理的音频信号传递到快速傅里叶变换中,以将时域信号转换为频域信号。在一些实施例中,可以执行短时傅里叶变换以将时域音频信号转换为频域信号。

对于固定时间,计算特定数量的样本。通过使用加权平均法来计算该特定数量的样本的谱质心。计算每个频率区间的平均频率;将该平均频率乘以该频率区间的频谱能量,以计算该频带的频谱能量分布。类似地,计算所有频带的频谱能量分布。所有频带的能量频率分布除以所有频带的平均频率的和,以得到谱质心。为了计算谱质心值阵列,去除固定数量的样本并添加相等数量的样本。例如,如果经预处理的音频信号的帧的缓冲器大小是1024个样本,则每次迭代可以替换128个样本并引入128个新样本。在该示例中,可获得谱质心值阵列。

在一些实施例中,对相同且固定数量的样本执行迭代,以计算时间振幅值和谱质心值。

在一些实施例中,对相同且固定数量的音频帧执行迭代,以计算时间振幅值和谱质心值。

在一些实施例中,对相同且固定的窗口大小执行迭代,以计算时间振幅值和谱质心值。

时间振幅值阵列和谱质心值阵列被传递到创作工具的用户接口,用于编辑和/或修改和/或附加时间振幅值阵列和谱质心值阵列。变换模块接收经创作的时间振幅值阵列、经创作的时间振幅值阵列和经创作的谱质心值阵列,以确定该经创作的时间振幅值阵列、经创作的时间振幅值阵列和经创作的谱质心值阵列是否能够适配在每个频带的触觉感知带宽内。该触觉感知带宽是这样的频率范围,高于该频率范围,嵌入在电子计算设备中的致动器可以再现人类可以体验的触觉体验。如果经创作的时间振幅值阵列、经创作的时间振幅值阵列和经创作的谱质心值阵列可以适配在每个频带的触觉感知带宽内,则该经创作的时间振幅值阵列、经创作的时间振幅值阵列和经创作的谱质心值阵列被传递到聚合和文件管理模块。否则,通过实现由计算机实现的算法,将经创作的时间振幅值阵列、经创作的时间振幅值阵列和经创作的谱质心值阵列变换为经变换的时间振幅值阵列、经变换的时间频率值阵列和经变换的谱质心值阵列。该由计算机实现的算法执行以下步骤:确定在用户接口中提供的每个频带的等级(rank)。可替代地,该由计算机实现的算法可以基于每个频带的频谱能量及其与具有嵌入的致动器的电子计算设备的组合谐振频率的距离来计算每个频带的等级。随后,该由计算机实现的算法可以使每个频带移位,并消除一些不符合算法中定义的频带。将经变换的时间振幅值阵列、经变换的时间频率值阵列和经变换的谱质心值阵列传递到聚合和文件管理模块,该聚合和文件管理模块将经变换的时间振幅值阵列、经变换的时间频率值阵列和经变换的谱质心值阵列转换为计算机可读文件格式。

随后,经变换的时间振幅值阵列、经变换的时间频率值阵列和经变换的谱质心值阵列被保存在计算机可读触觉文件中,该计算机可读触觉文件可由再合成模块解析和处理。

在一些实施例中,经变换的时间振幅值阵列、经变换的时间频率值阵列和经变换的谱质心值阵列被直接传递到再合成模块,以用于产生触觉输出。

在一些实施例中,通过应用深度学习算法,创作时间振幅值阵列、时间频率值阵列和谱质心值阵列的处理实时发生。

再合成模块使用经变换的时间振幅值阵列、经变换的时间频率值阵列和经变换的谱质心值阵列来在一个或更多个致动器中生成触觉输出。在该实施方式的一个变体中,经变换的时间振幅值阵列用于设置一个或更多个致动器的振幅,并且经变换的谱质心值阵列用于设置一个或更多个致动器的中心频率,以提供沉浸式触觉体验。

在一个实施例中,经预处理的音频信号可以被传递到滤波器组。该滤波器组可以将音频信号分离成不同的频带,并处理每个频带以产生时间振幅值阵列、时间频率值阵列和谱质心值阵列。

在另一个实施例中,可以使用谐波冲击源分离(HPSS)模块单独地处理经预处理的音频信号,以产生谐波谱图、冲击谱图和残余谱图。谐波模块产生谐波谱图,同样地,冲击模块产生冲击谱图,并且残余模块产生残余谱图。HPSS模块可以执行接收到的经预处理的音频信号的快速傅里叶变换(FFT)或短时快速变换(Short Time Fast Transform,STFT),以将时域信号转换为频域信号。FFT或STFT产生功率谱图,该功率谱图用于产生谐波谱图和冲击谱图。谐波模块通过中值滤波产生谐波谱图。同样地,通过对功率谱图进行滤波来获得冲击谱图。在从冲击模块滤波之后接收的音频信号被传递到质心追踪器,以计算冲击谱图的谱质心。谱质心被传递到包络近似和平滑模块。谱质心提供音频信号的主要或主频率的度量。

在多个实施例中,可对递归固定数量的音频样本计算谱质心,从而得到固定时间的谱质心值阵列。

为了产生时间振幅频率值阵列,谐波谱图被传递到包络近似和平滑模块,以(a)将经预处理的音频信号近似为时间振幅频率值,以及(b)平滑该近似的时间振幅频率值。然后,将时间振幅频率值阵列传递到断点缩减模块。断点缩减模块基于时间序列的线性近似来缩减该时间振幅频率值阵列。最后,时间振幅频率值阵列被传递到振幅包络模块,用于从谐波谱图中提取时间振幅值阵列。

谐波谱图还被传递到质心追踪器,用于计算时间振幅频率值阵列的谱质心。随后,谱质心值被传递到包络近似和平滑模块,以(a)将经预处理的音频信号近似为时间振幅频率值,以及(b)平滑该时间振幅频率值。然后,将时间振幅频率值阵列传递到断点缩减模块。断点缩减模块基于时间序列的线性近似来缩减该时间振幅频率值阵列。最后,时间振幅频率值阵列被传递到频率包络模块,用于提取时间频率值阵列、时间振幅值阵列和用于谐波谱图的谱质心值阵列。

功率谱图被传递给冲击模块,该冲击模块通过滤波来提取冲击谱图。冲击谱图包括时间振幅频率值。然后,将冲击谱图传递到质心追踪器,该质心追踪器计算音频信号的谱质心阵列。为了产生时间振幅值阵列,将谱质心值阵列传递到包络近似和平滑模块,以(a)将经预处理的音频信号近似为时间振幅值,以及(b)平滑该近似的时间振幅值。然后,将时间振幅值阵列传递到断点缩减模块。断点缩减模块基于时间序列的线性近似来缩减振幅时间值阵列。最后,时间振幅时间阵列被传递到振幅包络模块,用于提取经缩减的时间振幅值阵列。同时,冲击模块将冲击谱图传递到瞬变模块(transient module)。瞬变模块检测冲击谱图中的瞬变的存在,并且将该瞬变传递到脉冲序列模块,以创建脉冲序列阵列。

在一些实施例中,检测到的瞬变可以包括一个或更多个脉冲。该一个或更多个脉冲可以形成脉冲序列阵列,该脉冲序列阵列包括时间振幅值阵列和/或时间频率文件阵列。

残余模块处理残余谱图。将残余谱图传递到包络近似和平滑模块,以(a)将经预处理的音频信号近似成时间振幅频率值阵列,以及(b)将经近似的信号平滑成时间振幅频率值阵列。然后,将时间振幅频率值阵列传递到断点缩减模块。断点缩减模块基于时间序列的线性近似来缩减该时间振幅频率值阵列。最后,时间振幅频率值阵列被传递到振幅包络模块,用于从残余谱图中提取振幅时间值阵列。

在一些实施例中,可以对固定时间内的预定义数量的样本或者固定数量的样本来计算接收到的音频信号的谱质心。

在执行谱质心计算之前,通过实现快速傅里叶变换(FFT)或短时傅里叶变换(STFT)将时域信号转换为频域信号。为了计算经预处理的音频信号的谱质心,针对每个频带分析频谱,计算平均频率,将每个频带的平均频率乘以该频带的频谱能量。计算所有频带的平均频率和频谱能量的乘积的和,将该和除以所有频带的频谱能量的和。在计算出谱质心之后,将音频样本左移,即,去除最后预定义数量的样本,并用相同数量的新音频样本替换该多个样本。以这种方式,产生谱质心值阵列,该谱质心值阵列被提供给创作工具,用于编辑和/或修改该谱质心值阵列。

通过分析来自冲击谱图的瞬变而获得的时间振幅值阵列和脉冲序列阵列被提供给脉冲处理模块。此外,脉冲处理模块还从谐波谱图接收时间振幅值阵列和时间频率值阵列。另外,来自残余模块的时间振幅频率值阵列也被传递到创作工具,用于修改/编辑/附加经分析的音频信号。

在一些实施例中,残余模块是可选的,并且只有谐波模块和冲击模块用于分析。从冲击模块接收的时间振幅值阵列和脉冲序列阵列;从谐波模块接收的时间振幅值阵列和时间频率值阵列可以被提供给脉冲处理模块。

在一些实施例中,来自残余模块的时间振幅频率值可以与来自谐波模块和冲击模块的音频信号一起被传递到脉冲处理模块。

在一些实施例中,来自残余模块的时间振幅频率值可以直接传递到创作工具。

创作工具包括用于编辑和/或修改和/或附加来自冲击模块的脉冲序列的时间振幅值阵列和脉冲序列阵列的图形用户接口(Graphical User Interface,GUI)。此外,GUI还从谐波模块接收时间振幅值阵列和时间频率值阵列。此外,来自残余模块的时间振幅频率值阵列也被提供给GUI编辑器。

在一些实施例中,用户没有通过GUI对来自冲击模块的时间振幅值阵列、脉冲序列阵列、以及谐波模块的时间振幅值阵列和时间频率值阵列进行修改。在该实施例中,不需要创作从音频分析模块接收的经分析的音频信号。在替代实施例中,使用深度学习算法自动执行从音频分析模块接收的经分析的音频信号的创作。经训练的深度学习算法持续从正在进行的数据分析学习。

在一些实施例中,可以绕过创作工具,并且可以不执行对经分析的音频信号的创作。在一些实施例中,可以不存在残余模块。

变换模块接收来自连续流的经创作的时间频率值阵列和经创作的时间振幅值阵列、以及来自脉冲流的经创作的时间振幅值阵列和经创作的脉冲序列阵列,以确定从连续流、脉冲流和残余模块(可选)接收的该经创作的时间振幅阵列、经创作的脉冲序列阵列、经创作的时间频率值阵列、经创作的时间振幅频率值阵列是否可以适配在每个频带的触觉感知带宽内。如果来自连续流和脉冲流的经创作的时间振幅阵列、经创作的脉冲序列阵列、经创作的频率时间值阵列、经创作的时间振幅频率值阵列可以适配在每个频带的触觉感知带宽内,则这些经创作的值阵列被传递到聚合和文件管理模块。否则,经创作的时间振幅阵列、经创作的脉冲序列阵列、经创作的频率时间值阵列、经创作的振幅频率值阵列通过实施一种算法而被变换为经变换的连续流和经变换的脉冲流。该算法执行以下步骤:确定每个频带的等级或者计算每个频带的等级、移位频带以及按照所实现的算法消除一些频带。将经变换的时间振幅频率值阵列传递到聚合和文件管理模块,该聚合和文件管理模块将经变换的值阵列转换为计算机可读文件格式。最后,计算机可读文件格式可以由具有合成器的再合成模块解析,以生成触觉输出。

在一些实施例中,比较器使用统计分析和加权来对两个脉冲流(即,谐波流和冲击流)做出明智的决定,以去除重复和/或重叠。

在一些实施例中,比较器可以使用分析和机器学习来预测和/或合并或去除在谐波流和冲击流的合并期间的重复。

在一些实施例中,从谐波谱图生成的脉冲事件的斜率被用于生成和/或标记脉冲事件。将从谐波谱图计算出的斜率与该斜率的阈值进行比较。如果该斜率的梯度大于阈值,则产生脉冲事件。

在一些实施例中,还通过测量斜率陡度/梯度来记录锐度值。将锐度值传递到比较器中。

在一些实施例中,瞬变检测器通过比较快速包络跟随器和慢速包络跟随器的多个值来检测由冲击分量生成的脉冲事件。

在一些实施例中,使用瞬变检测算法从冲击分量生成脉冲事件。脉冲事件也由谐波分量并行地生成。在一些实施例中,比较器接收两组脉冲信号——(a)从谐波谱图处理的一组脉冲信号和(b)从冲击谱图处理的一组脉冲信号,这些脉冲信号被合并以形成一个脉冲序列。

在一些实施例中,具有来自谐波流和冲击流的经合并的脉冲事件的比较器的输出被分析,重叠被智能地合并,然后,当脉冲事件发生时避开连续包络。

在一些实施例中,可以将经合并的脉冲事件直接提供给变换模块和混合器,以提供触觉体验。

在一些实施例中,在将经合并的脉冲事件传递到变换模块和混合器以提供触觉体验之前,可以将经合并的脉冲事件提供给创作工具以进行编辑和/或修改。

在一些实施例中,与创作工具208相关联的用户接口编辑器可以接收音频信号的时间频率值阵列或频率包络。

在一个实施例中,可以通过谱质心来获得频率包络。在另一实施例中,可以从冲击谱图和/或谐波谱图获得频率包络。

由谱质心生成的频率包络被平滑并且被断点缩减以缩减该频率包络。然后,将频率包络从用户接口(例如,用户接口)传递出去。用户接口显示同一组音频样本或音频信号的频率包络和振幅包络。在一些实施例中,用户可以查看和调整频率包络值。此外,用户还可以编辑振幅包络值。与创作工具相关联的用户接口提供了处理音频静默的新颖方法。

附图简述

图1示出了本发明的实施例中的触觉处理系统的操作环境的概况;

图2示出了本发明的实施例中的触觉模块的不同模块;

图3示出了本发明的另一个实施例中的在分布式环境中操作的触觉模块;

图4A示出了本发明的实施例中的实现用于将音频信号转换为触觉输出的谱质心的音频分析模块的框图;

图4B示出了本发明的另一个实施例中的实现用于将音频信号转换为触觉输出的滤波器组的音频分析模块的框图;

图5A示出了本发明的实施例中的实现用于将音频信号转换为触觉输出的谐波冲击源分离的音频分析模块的框图;

图5B示出了本发明的另一个实施例中的实现用于将音频信号转换为触觉输出的谐波冲击源分离的音频分析模块的框图;

图5C示出了本发明的实施例中的脉冲处理模块的框图;

图5D示出了本发明的实施例中的用于处理音频数据的创作工具的框图;

图6示出了本发明的实施例中的用于产生触觉体验的触觉输出的处理的框图;

图7示出了本发明的另一个实施例中的处理的框图;

图8A示出了在本发明的实施例中使用梯度方法检测音频流中的脉冲的方法;

图8B示出了在本发明的实施例中使用梯度方法合并不同音频信号中的脉冲的方法;

图9示出了本发明的实施例的创作工具的图形用户接口;

图10示出了本发明的实施例的变换模块的框图;

图11示出了本发明的实施例中的聚合和文件管理模块;

图12示出了本发明的实施例中的再合成模块;

图13示出了在本发明的实施例中处理具有音频静默的音频信号的过程;

图14示出了在本发明的实施例中将音频信号转换为计算机可读触觉文件的过程;

图15示出了在本发明的实施例中实现对音频信号的滤波器组分析的过程;

图16示出了在本发明的实施例中实现对音频信号的谐波冲击源分离分析的过程。

发明详细描述

如本文所使用的,术语“输入音频信号”、“接收到的信号”、“经处理信号”、“音频信号”旨在广泛地涵盖所有类型的音频信号,包括模拟音频信号、数字音频信号、数字音频数据、嵌入在媒体节目中的音频信号,包括嵌入在视频或音频中的信号,该视频或音频可以使用如下的渲染设备来渲染:该渲染设备能够再现任何其他类型的音频或媒体节目,并且其连接到网络或连接到独立地操作的任何电子设备。它还涵盖直播媒体节目、线性媒体节目和交互式媒体节目,例如音乐、游戏、在线视频游戏或具有嵌入的音频的任何其他类型的流媒体节目。此外,这些术语还包括时间振幅值阵列、时间频率值阵列、时间振幅频率值阵列、以及脉冲序列值阵列,以证实不同位置处的上下文含义。

图1示出了本发明的实施例中的触觉处理系统的操作环境的概况。触觉处理系统100的操作环境,电子计算设备102通过有线或无线网络连接到云140、服务器160、和分布式系统150。操作环境100是示例性的,并且其他变体可以包括具有更少或附加事物的不同实施方式。

电子计算设备102包括存储器104、协处理器114、至少一个处理器116、通信系统118、接口总线112、输入/输出控制器120、和一个或更多个致动器122。另外,一个或更多个触觉致动器126可以与电子计算设备102相关联。例如,诸如致动器126之类的触觉致动器可以被嵌入在与电子计算设备102直接相关联的触觉背心中。接口总线112向存储器104、处理器116、协处理器114、输入/输出控制器120(也被称为I/O 120)、通信系统118、和一个或更多个致动器122提供电力和数据通信。I/O控制器120与其他设备连接,这些设备例如为显示器130、至少一个扬声器124、至少一个致动器126、以及至少一个输入设备128(例如,键盘、鼠标、游戏手柄、操纵杆、触摸面板或麦克风)。在一些实施例中,该一个或更多个致动器126可以嵌入在一个或更多个输入设备128(例如,键盘、鼠标、游戏手柄、操纵杆、触摸面板或麦克风)中。替代地,该一个或更多个致动器126可以与电子计算设备102直接接口连接。

I/O控制器120提供电力、控制信息,并且使能显示器130、扬声器124、致动器126、和输入设备128之间的数据通信。替代地,显示器130、扬声器124、致动器126、和输入设备128可以通过电池或稳压电源自供电。此外,I/O控制器120可以通过有线连接或无线连接向这些设备提供数据通信。

存储器104包括操作系统106、一个或更多个应用108、和触觉模块110。触觉模块110包括计算机可执行指令,以根据音频信号产生用于提供沉浸式触觉体验的触觉信号。触觉模块110与其他部件/设备(例如,一个或更多个致动器122和/或一个或更多个致动器126)交换数据和信息。另外,触觉模块110可以通过通信系统118与云140、服务器160、和分布式系统150通信。

存储器104可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random-Access Memory,RAM)、数字存储装置、磁带存储装置、闪存存储装置、固态设备存储装置、或一些其他类型的存储设备。存储器104可以存储加密指令、源代码、二进制代码、目标代码、加密编译代码、编码的可执行代码、可执行指令、汇编语言代码、或一些其他类型的计算机可读指令。

在一些实施例中,触觉模块110可以被实现为具有专用处理器和存储器的单独模块。例如,触觉模块110可以是SoC或在与微控制器相关联的存储器104中实现。

处理器116和协处理器118被使能为提供超线程、多任务和多处理。替代地,处理器116可以是专用处理器,或者是能够处理模拟音频信号或数字化音频信号的一些其他类型的微处理器。处理器116和协处理器118可以实现为了数字信号处理而设计的专用硬件(例如由

通信系统118可以通过有线通信或无线通信与外部设备/应用接口连接。例如,通信系统118可以通过有线电缆连接到服务器160。通信系统118具有编码器、解码器,并且提供用于连接到有线网络和/或无线网络的标准接口。通信接口的示例包括但不限于以太网RJ-45接口、细同轴电缆BNC接口和粗同轴AUI接口、FDDI接口、ATM接口、和其他网络接口。

云140上的云计算环境可以包括计算资源和存储装置。存储装置可以包括一个或更多个数据库,其中,至少一个数据库具有关于如下项的信息:不同致动器、其中嵌入或关联致动器的设备、触觉硬件、触觉游戏特定数据、用户的触觉偏好、以及内容信息(例如,包括游戏类型的游戏信息)。

服务器160是多处理器的、多线程的、具有包括数据库的储存库,该数据库包括一个或更多个数据库,这些数据库具有致动器特定信息、设备特定信息、和内容信息(例如,包括游戏类型的计算机游戏)。分布式系统160包括分布式数据库,这些分布式数据库保存关于如下项的信息:致动器特定信息、设备特定信息和内容信息(例如,计算机游戏和游戏的不同属性(例如,类型、玩家数量等))。

在一些实施例中,致动器特定信息与致动器的规格数据相关。类似地,设备特定信息可以与其中嵌入致动器的电子计算设备102的规格数据相关。在一些实施例中,致动器和电子计算设备102的制造商可能是不同的。因此,即使致动器被嵌入在电子计算设备102中,也需要电子计算设备102和致动器两者的规格。在优选实施例中,设备特定信息包括设备规格以及嵌入在设备中的致动器特定信息。

图2示出了本发明的实施例中的触觉模块的不同部分。触觉模块110包括音频预处理器模块202、脉冲处理模块204、音频分析模块206、创作工具208、变换模块210、聚合和文件管理模块212、再合成模块214、人工智能处理模块216、和数据库模块220。

在优选实施例中,触觉模块110被存储在电子计算设备102的存储器104中,该电子计算设备102可以是台式计算机、膝上型计算机、游戏控制台、移动计算设备(例如,电话或平板电脑)、游戏控制器(例如,操纵杆)、游戏手柄、飞行轭(flight yoke)、游戏鼠标、游戏键盘、键盘腕托、鼠标垫、头戴式耳机、虚拟计算环境、电子游戏编写器、在服务器或云或某其他计算设备上运行的游戏编辑应用。在一些实施例中,再合成模块214可以在不同的设备中单独地实现,其可以处理触觉文件以产生沉浸式触觉体验。

在该实施方式的另一变体中,再合成模块214包括用于通过解析计算机可读文件来生成触觉输出的合成器。再合成模块214可以包括直接地或通过混合器而连接的一个或更多个致动器,混合器对振幅时间值阵列和频率时间值阵列进行混合,以驱动一个或更多个致动器提供沉浸式触觉体验。

在一些实施例中,云140、服务器160、分布式系统150可以允许一个或更多个游戏开发者同时使用创作工具、共享信息、共享反馈并且彼此通信以创作游戏。

图3示出了本发明的实施例中的在分布式环境中实现的触觉模块的不同模块。触觉模块300可以驻留在云140或服务器160上,或者驻留在分布式系统150之上。

图3仅示出了具有不同模块的触觉模块300的一种实施方式,这些不同模块分布在网络之上并且驻留在不同设备中,然而,触觉模块300可以具有其他的实施方式,在这些实施方式中,触觉模块300具有驻留在不同设备上的网络之上的更少或更多模块。例如,在一种实施方式中,音频预处理器模块202、脉冲处理模块204、音频分析模块206、人工智能模块216、变换模块210、聚合和文件管理模块212、以及再合成模块214都驻留在云140上。数据库模块220具有处理器318和相关联的存储器,并且作为分布式数据库驻留在网络302之上。电子计算设备102包括用于分析音频信号和创作触觉事件的创作工具208。

每个模块具有专用处理器和存储器。在不同的实施方式中,不同的模块可以分布在网络302之上。例如,音频预处理器模块202具有处理器304,脉冲处理模块204具有处理器306,音频分析模块206具有处理器308,人工智能模块216具有处理器310,变换模块210具有处理器312,聚合和文件管理模块212具有处理器314,并且再合成模块214具有处理器316,如果创作工具208驻留在电子计算设备102之外,则该创作工具也可以具有处理器。

作为示例而非限制,在该实施方式的另一变体中,音频预处理器模块202、脉冲处理模块204、音频分析模块206、人工智能模块216、变换模块210、聚合和文件管理模块212、再合成模块214、和创作工具208驻留在服务器160上。数据库模块220可以是驻留在网络302之上的分布式数据库或网络实现的数据库。

其他变体和排列也可以用于在分布在网络302之上的不同设备上部署不同的模块。例如,音频预处理器模块202、脉冲处理模块204、音频分析模块206、人工智能模块216、变换模块210、聚合和文件管理模块212、再合成模块214、创作工具208、和数据库模块220也是可能的。

图3是示例性图示,并且不应当被解释为对网络302之上的触觉模块300的实施方式的限制。

图4A示出了本发明的实施例中的用于将音频信号转换为触觉信号的音频分析模块的不同部件。触觉处理模块400A在预处理器模块202处接收音频信号。预处理器模块202从该音频信号中去除不想要的频率、失真和其他非线性特性。经预处理的音频信号被传递到音频分析模块206以进一步处理该音频信号。音频分析模块206针对固定时间处理该经预处理的音频信号,以产生时间振幅值阵列和谱质心值阵列。

在一些实施例中,音频分析模块206针对固定窗口处理该经预处理的音频信号。在另一个实施例中,音频分析模块206针对固定数量的帧来处理该经预处理的音频信号。在又一个实施例中,音频分析模块206针对固定数量的音频样本来处理该经预处理的音频信号。

为了产生时间振幅值阵列,该经预处理的音频信号被传递到包络近似和平滑模块402,以将该经预处理的音频信号近似成时间振幅值,并且使该时间振幅值平滑。时间振幅值阵列被传递到断点缩减模块404。断点缩减模块404将该时间振幅值阵列缩减为时间序列的线性近似。最后,振幅包络模块406产生经线性近似的时间序列的包络,然后将振幅时间值阵列传递到创作工具208。在一些实施例中,从振幅包络406接收的时间振幅值阵列是针对不同的频带的。每个频带可以包括一时间振幅值阵列。例如,范围从40Hz到100Hz的频带可以包括针对40Hz至100Hz之间的频率(包括频率40Hz和100Hz)的时间振幅值阵列。

并行地,该经预处理的音频信号被传递到DC偏移模块408。DC偏移模块408确保该经预处理的音频信号在音频静默期间始终具有非零值。这是通过将一小值(如0.01)添加到音频采样值以使得这些采样值始终是非零的来实现的,即,这些采样值始终具有正值。然后,经处理的信号被传递到谱质心模块410,该谱质心模块计算接收的信号的谱质心或质心。针对该音频信号,时间振幅值阵列和谱质心值阵列被并行地计算。在替代实施例中,时间振幅值阵列和谱质心值是分别计算的。

为了计算所接收的来自预处理器模块202的音频信号的谱质心,经预处理的音频信号通过执行短时傅里叶变换(STFT)或快速傅里叶变换(FFT)而被变换到频域。预定义数量的样本的谱质心通过使用加权平均法而被计算。在一些实施例中,样本的数量可以是固定的。替代地,音频分析模块206可以自动地确定计算谱质心所需的样本的数量。每个频率区间的平均频率被计算;该平均频率被乘以该频率区间的频谱能量,以计算针对该频带的频谱能量分布。类似地,所有频带的频谱能量分布被计算。所有频带的能量频率分布之和除以所有频带的平均频率之和,以得出谱质心。为了计算谱质心值阵列,固定数量的样本被去除并且相等数量的样本被添加。例如,如果经预处理的音频信号的帧的缓冲器大小是1024个样本,则每次迭代可以替换128个样本并引入128个新样本。在该示例中,可以获得谱质心值阵列。在一些实施例中,该迭代通过以下方式来执行:替换固定数量的样本,以计算时间振幅值和谱质心值。

在一些实施例中,谱质心值可以使用固定数量的音频帧来计算。此外,谱质心值阵列可以通过用相等数量的音频帧替换固定数量的音频帧来计算。例如,如果经预处理的音频信号的帧的缓冲器大小是1024个音频帧,则每次迭代可以替换128个音频帧并且引入128个要处理的新音频帧。

在一些实施例中,谱质心值可以使用包括音频数据或音频视频数据的固定窗口大小来计算。在该实施方式中,可以通过以下方式来计算谱质心值阵列:去除固定数量的音频数据,并将窗口移位以包括相等数量的附加的未处理的音频数据。例如,如果经预处理的音频信号的窗口大小是1024个单位,则每次迭代可以替换128个音频数据单元并引入新的未处理的128个音频单元。在一些实施例中,该窗口大小由音频分析模块206自动地计算。

时间振幅值阵列和谱质心值阵列被传递到创作模块208。创作模块208包括允许编辑和/或修改时间振幅值阵列和谱质心值阵列的用户接口。

在一些实施例中,创作模块208与具有致动器特定信息222和设备特定信息224的数据库220连接,以允许用户根据具有嵌入的致动器122或致动器126的电子计算设备102来调整振幅时间值阵列和谱质心值阵列。在该实施方式的一个变体中,设备特定信息224可以包括致动器特定信息222。例如,当致动器122被嵌入电子计算设备102内时,设备特定信息224可以包括致动器特定信息222。

变换模块210接收经创作的时间振幅值阵列和经创作的谱质心值阵列,以针对每个频带确定经创作的时间振幅值阵列和经创作的谱质心值阵列是否可以适配在触觉感知带宽中。

致动器和电子计算设备的组合带宽(人类可以在该组合带宽处感觉到振动)被称为“触觉感知带宽”。触觉感知带宽可以根据被存储在数据库模块220中的致动器特定信息222和设备特定信息224来计算。为了通过示例示出触觉感知带宽,假设致动器122的带宽是40Hz并且电子计算设备102的带宽是120Hz,则如果人类可以感知到振动是80Hz,则具有嵌入的致动器的电子计算设备102的组合触觉感知带宽是80Hz。如果针对每个频带,经创作的时间振幅值阵列和经创作的谱质心值阵列可以适配在触觉感知带宽中,则时间振幅值阵列和谱质心值被传递到聚合和文件管理模块212,以创建计算机可读触觉文件。该计算机可读触觉文件可被致动器126解析。

否则,通过实施算法将经创作的时间振幅值阵列和经创作的谱质心值阵列变换为经变换的时间振幅值阵列和经变换的谱质心值阵列。如果还没有提供频带等级,则该算法执行确定每个频带的等级的步骤。如果频带未被分等级,则该算法计算每个频带的等级。随后,该算法尝试基于频带的分级来适配经变换的时间振幅值阵列和经变换的谱质心值阵列。当仅一个频带能够适配到触觉感知带宽中时,该算法执行频带移位过程。为了执行频带移位过程,该算法确定电子计算设备102(连同致动器122)的谐振频率,并计算所确定的谐振频率与最接近的频带之间的距离。总是使用计算出的距离的正值。最接近的频带被移位到电子计算设备102的谐振频率。然后,该算法对所有其他频带进行移位,使得它们靠近电子计算设备102的谐振频率。然后,该算法确定是否所有频带都能够被容纳在触觉感知带宽内。如果所有频带都可以被容纳或适配到触觉感知带宽中,则该算法将所有频带适配到触觉感知带宽中。否则,该算法基于每个频带的等级来适配这些频带。基于等级的降序来容纳频带,即,先容纳最高等级的频带,然后容纳较低等级的频带。例如,频带f1被分级为2,频率f3被分级为1,频带f2被分级为3,则频带以f3、f1和f2的顺序被容纳。如果所有频带不能被容纳,则丢弃不能被容纳到触觉感知带宽中的频带。例如,如果频带f2不能被积聚到触觉感知带宽中,则频带f2被丢弃。

如果没有提供频率等级,则该算法在使频带移位之前对这些频带分等级。当仅一个频带(其最接近谐振频率)能够被容纳到触觉感知带宽中时,则该算法使该频带移位并且消除所有其他频带。

该算法的输出是经变换的音频描述符数据,该音频描述符数据包括经变换的时间振幅值阵列和经变换的谱质心值阵列,并被提供给聚合和文件管理模块212。聚合和文件管理模块212将经变换的音频描述符数据转换为计算机可读触觉文件。

随后,聚合和文件管理模块212的输出被保存为计算机可读触觉文件,该计算机可读触觉文件可以由再合成模块214解析和处理。再合成模块214处理被存储在计算机可读触觉文件中的经变换的音频描述符数据,以在一个或更多个致动器122或一个或更多个致动器126中产生触觉体验。

在该实施方式的一个变体中,时间振幅值阵列控制致动器的振幅,而谱质心值阵列提供要设置在一个或更多个致动器中的对应频率,以提供沉浸式触觉体验。

图4B示出了本发明的另一个实施例中的实现用于将音频信号转换为触觉输出的滤波器组的音频分析模块的各种部件。音频分析模块206从音频预处理器模块202接收经预处理的音频信号。音频分析模块206包括滤波器组440、包络跟随器450、包络平滑器460、和数据缩减装置470。

从音频预处理器模块202接收的音频信号被滤波器组440分成不同的频带。每个频带具有中心频率和带宽。在一些实施例中,该中心频率可以是该频带的频率的中值或众数值(modal value)。在一些实施例中,每个频带的中心频率和带宽可以由用户通过创作工具208的图形用户接口(GUI)来选择。

滤波器组440包括频带滤波器422、频带滤波器424、频带滤波器426、和频带滤波器428。每个频带滤波器被调整为使预定义的频带通过。尽管在滤波器组440中仅示出了四个频带滤波器,但是在其他变体中,滤波器组440可以包括更多或更少数量的频带滤波器。每个滤波器频带可以被调整为不同的频率。例如,频带滤波器422可以被调整为使0Hz至60Hz通过。类似地,频带滤波器424可以被调整为使被调整在60Hz至120Hz的频率通过。类似地,频带滤波器426可以被调整用于120Hz至180Hz的频率范围。在一些实施例中,每个频带滤波器可以被调整在不相等的频率范围。例如,频带滤波器422被调整用于范围为20Hz至60Hz的频率;频带滤波器424被调整用于范围为60Hz至120Hz的频带频率;频带滤波器426可以被调整到范围为120Hz至200Hz的频率;频带滤波器428可以被调整到范围为200Hz到1kHz的频率。滤波器组440的输出是多个经滤波的音频信号,每个信号属于一个频带。例如,诸如频带滤波器422、频带滤波器424、频带滤波器426、和频带滤波器428之类的每个频带滤波器根据该频带滤波器的经调整频带产生音频信号。

滤波器组440的输出被提供给包络跟随器450。包络跟随器450包括频带包络近似装置452、频带包络近似装置454、频带包络近似装置456、和频带包络近似装置458。在当前实施方式中,频带包络近似装置452从频带滤波器422接收经滤波的音频信号。同样地,频带包络近似装置454、频带包络近似装置456和频带包络近似装置458分别从频带滤波器424、频带滤波器426和频带滤波器428接收经滤波的音频信号。每个频带滤波器的中心频率可以以线性或对数标度在频率范围内均匀地间隔开。

包络跟随器460为每个频带生成时间振幅包络。每个频带的中心频率被包括在时间振幅包络中。包络跟随器460包括频带包络近似模块452、频带包络近似模块454、频带包络近似模块456、和频带包络近似模块458。每个频带近似模块实现一个或更多个包络近似算法。每个频带近似模块(例如,频带近似模块452)可以具有至少一个包络跟随器、存储器组和可选的处理器。此外,在当前实施方式中,包络跟随器450被用来使用频带包络近似装置(例如,频带包络近似装置458)来生成用于一个或更多个频带的时间振幅包络,然而,在其他实施方式中,包络跟随器450可以实现其他类型的包络近似方法,例如,希尔伯特变换。对于每个频带,时间振幅包络被近似为时间振幅值/数据点的阵列,该阵列最佳地表示每个频带随时间的振幅值。

包络跟随器450的输出被传递到包络平滑器460。包络平滑器460包括频带包络平滑器462、频带包络平滑器464、频带包络平滑器466、和频带包络平滑器468。在当前实施方式中,频带包络平滑器462从频带包络近似装置452接收时间振幅包络。同样地,频带包络平滑器464、频带包络平滑器466和频带包络平滑器468分别从频带包络近似装置454、频带包络近似装置456和频带包络近似装置458接收时间振幅包络。

频带包络平滑器460使时间振幅包络平滑,以减少陡然的信号变化,以便在每个频带的中心频率处生成平滑的时间振幅包络。由于振幅值的较大的变化,可能存在陡然的信号变化;使用包络平滑器460使这些陡然的信号变化平滑。平滑处理针对每个频带消除了异常值、削除了尖峰(clips of sharp peaks),并且产生经平滑的时间振幅包络。频带包络平滑器460具有多个频带平滑器,每个频带对应一个频带平滑器。每个频带包络平滑器(例如,频带包络平滑器462)包括至少一个数字滤波器、存储器组和可选的处理器。每个频带包络平滑器(例如,频带包络平滑器462)可以是数字滤波器,例如,该数字滤波器可以是截止频率为250Hz的低通巴特沃斯滤波器。然而,在其他实施方式中,频带包络平滑器462可以包括不同类型的数字滤波器,这些不同类型的数字滤波器可以被设置为范围在30Hz至1000Hz之间的不同截止值。

包络平滑器460的输出被传递到频带数据的数据缩减装置470。数据缩减装置470包括频带数据缩减装置472、频带数据缩减装置474、频带数据缩减装置476、和频带数据缩减装置478。频带数据缩减装置472从频带包络平滑器460接收经平滑的时间振幅包络。类似地,频带数据缩减装置474、频带数据缩减装置476和频带数据缩减装置478分别从频带包络平滑器464、频带包络平滑器466和频带包络平滑器468接收经平滑的时间振幅包络。

数据缩减装置470减少经平滑的时间振幅包络的时间振幅数据点或时间振幅值的数量,以产生经缩减的时间振幅频带包络。对于每个频带数据缩减装置(例如,频带数据缩减装置472),产生缩减的时间振幅值。经缩减的时间振幅频带包络的阵列包括每个频带的中心频率和经缩减的时间振幅值/数据点的阵列。数据缩减装置470可以包括存储器组和可选的处理器。数据缩减装置470将经平滑的时间振幅包络缩减到最小数量的时间振幅值/数据点。在不丢失信息或丢失最小信息的情况下生成经缩减的时间振幅值。最后,音频分析模块206产生每个频带的时间振幅值分析阵列、中心频率和时间频率值阵列。

对于每个频带,音频分析模块206可以处理所接收的音频信号,以产生如在图4A中描述的时间振幅值阵列、中心频率和谱质心值阵列。可以单独分析每个频带,并且将每个频带传递到创作工具208,以用于为每个频带创作时间振幅值阵列、中心频率和谱质心值阵列。此后,每个频带的经创作的时间振幅值阵列、经创作的中心频率和经创作的谱质心值阵列被提供给变换模块208,以用于生成经变换的音频描述符数据。

在一个实施方式中,数据缩减装置470利用拉默-道格拉斯-普克(Ramer-Douglas-Peucker)数据缩减算法,以便将时间振幅数据点的量最小化到可控的比例。在不同的实施方式中,数据缩减算法可以包括分段线性近似法,例如但不限于RLS(递归最小二乘法(recursive least square))、Visitingam-Wyatt、差分演化、布罗伊登-弗莱彻-戈德法布-尚诺(Broyden-Fletcher-Goldfarb-Shanno,BFGS)、梯度下降和其他已知技术。

在不同的实施方式中,音频分析模块206可以包括音频分析处理器、数字信号处理器和存储器,以存储和执行包络平滑算法和技术,例如,数值分析、B样条(B-splines)、AI算法和其他已知技术。

图5A示出了本发明的实施例中的实现用于将音频信号转换为触觉输出的谐波冲击源分离的音频分析模块的框图。音频分析模块206从预处理模块202接收经预处理的音频信号,并将其传递到HPSS模块502以产生功率谱图。在该实施方式的一个变体中,HPSS模块502驻留在音频分析模块206中。在该实施方式的另一个变体中,HPSS模块502是与音频分析模块206相关联的单独模块。HPSS模块502对从接收到的预处理器模块202接收的音频信号执行短时傅里叶变换(STFT)或快速傅里叶变换(FFT)。来自HPSS模块502的功率谱图被传递到谐波模块506、冲击模块504和残余模块508。

冲击模块504从HPSS模块502接收功率谱图。冲击模块504对该功率谱图进行滤波以产生冲击谱图。同时,谐波模块506接收功率谱图并对该功率谱图进行滤波,以产生谐波谱图。残余模块508通过将谐波谱图和冲击谱图相加,然后从功率谱图中减去谐波谱图和冲击谱图之和来计算残余谱图。功率谱图可以被水平和/或垂直地滤波,以产生谐波谱图和/或冲击谱图。

来自冲击模块504的冲击谱图被传递到质心追踪器510,以计算冲击谱图的谱质心。可以针对音频数据的固定帧计算谱质心。替代地,可以针对固定窗口大小的音频数据分组或可变窗口大小的音频数据分组来计算谱质心。在计算冲击谱图的谱质心之后,谱质心值被传递到包络近似和平滑模块512。包络近似和平滑模块512执行以下功能:(a)将经预处理的音频信号近似为时间振幅频率值,以及(b)使近似的时间振幅频率值平滑。输出是时间振幅频率值阵列,该阵列然后被传递到断点缩减模块514。断点缩减模块514基于时间序列的线性近似来对时间振幅频率值阵列进行缩减,以在不损失音频信号中的任何信息或最小化音频信号中的信息损失的情况下,产生具有最佳拟合近似和最小数量的数据点或数据值的时间振幅频率值阵列。最后,时间振幅值阵列被提供给振幅包络模块516以用于提取包括时间振幅值阵列的时间振幅包络。

同时,来自冲击模块502的冲击谱图被传递到瞬变模块518。瞬变模块518检测冲击谱图中的瞬变的存在。在美国申请16/435341(其通过引用并入本文)中详细讨论了瞬变处理。当在冲击谱图中检测到瞬变时,瞬变模块518将这些瞬变传递到脉冲序列模块520,该脉冲序列模块520产生脉冲序列。脉冲序列包括时间频率值阵列。在该实施方式的一个变体中,脉冲序列可以包括时间频率值阵列、时间振幅值阵列、和/或时间振幅频率值阵列。

谐波模块506产生谐波谱图,该谐波谱图同时被传递到包络近似和平滑模块522以及质心追踪器528。谐波谱图被传递到包络近似和平滑模块522,该包络近似和平滑模块522产生振幅频率时间值阵列。包络近似和平滑模块522执行以下功能:(a)将经预处理的音频信号近似为时间振幅频率值,以及(b)使近似的时间振幅频率值平滑。然后,时间振幅频率值阵列被传递到断点缩减模块524。断点缩减模块524基于时间序列的线性近似来对时间振幅频率值阵列进行缩减。最后,时间振幅值阵列被提供给振幅包络模块526以用于提取具有时间振幅值阵列的时间振幅包络。

并行地,谐波谱图被提供给质心追踪器528,以计算谐波谱图的谱质心值阵列。该谱质心值阵列被传递到包络近似和平滑模块530,以(a)将经预处理的音频信号近似为时间频率值阵列,以及(b)使近似的谱质心值阵列平滑。然后谱质心值阵列被传递到断点缩减模块532。断点缩减模块532基于时间序列的线性近似来缩减谱质心值阵列。最后,谱质心值阵列被传递到频率包络模块534以用于提供包括时间频率值阵列的频率包络。

残余模块508根据功率谱图计算残余谱图,并将该残余谱图传递到频谱包络近似模块536。频谱包络近似模块536执行(a)将残余谱图近似为时间振幅频率值阵列,以及(b)使时间振幅频率值平滑。然后,时间振幅频率值阵列被传递到断点缩减模块538。断点缩减模块538基于时间序列的线性近似来缩减时间振幅频率值阵列。最后,时间振幅频率值阵列被传递到频谱包络模块540以用于提取时间振幅频率值的残余阵列。

在一些实施例中,包络近似和平滑模块512针对固定数量的样本或固定时间计算时间频率值阵列。

在一些实施例中,谱质心值阵列是针对固定时间内的预定数量的样本或固定数量的样本(即固定的窗口大小)而被计算的。

为了计算谱质心值阵列,对固定数量的样本采取快速傅里叶变换或短时傅里叶变换,以生成频谱能量对频率的频谱。对于每个频带,计算平均频率;每个频带的平均频率乘以该频带的频谱能量。计算所有频带的平均频率和频谱能量的乘积之和,该和除以所有频带的频谱能量之和。在计算谱质心之后,将样本左移,即,去除预定数量的样本且引入相同数量的新样本。随后,针对这些采样值计算谱质心。这导致产生谱质心值阵列,该阵列被提供给创作模块208,以用于创作冲击流、谐波流和残余流。

在一些实施例中,创作模块208可以允许对谱质心值阵列进行编辑、添加、删除或修改。

图5B示出了在本发明的另一实施例中实现用于将音频信号转换为触觉输出的谐波冲击源分离的音频分析模块的框图。在该替代实施方式中,触觉处理系统500B包括附加的脉冲处理模块204。从冲击谱图中处理来自振幅包络模块516的时间振幅值阵列和来自脉冲序列模块520的脉冲序列阵列。从谐波谱图中处理的来自振幅包络模块526的时间振幅值阵列和来自振幅包络534的时间频率值阵列被提供给脉冲处理模块204。脉冲处理模块204实现振幅包络模块516和振幅包络模块526的算法,以估计从振幅包络模块516和振幅包络模块526接收的每个振幅包络中的任何给定断点的脉冲(即,瞬变/加重(emphasis))的发生。然后,比较器将脉冲序列520与从振幅包络模块516和振幅包络模块526得出的结果脉冲序列进行比较,以添加或去除脉冲。脉冲处理模块204可以对每个脉冲的定时进行改变,使得瞬变与音频信号一致并对准。此外,利用来自频率包络534的频率信息来设置由脉冲处理模块204返回的每个脉冲的锐度(频率)值。

此外,脉冲处理模块204监视对振幅包络的闪避(ducking),这允许在触觉合成期间加重脉冲,从而提供沉浸式触觉体验。脉冲处理模块204的输出被提供给创作工具208并且随后被提供给变换模块210。最后,将经变换的时间振幅值阵列、经变换的脉冲序列阵列和经变换的时间频率值阵列提供给聚合和文件管理模块212,以创建计算机可读触觉文件。

图5C示出了本发明的实施例中的脉冲处理模块的框图。脉冲处理模块204包括比较器模块570、脉冲振幅算法模块572、锐度和开始模块574以及振幅闪避模块578。在一些实施例中,脉冲处理模块204的不同模块可以具有处理器和相关联的存储器。

比较器模块570接收来自谐波谱图的质心频率值阵列和来自冲击谱图的脉冲序列阵列。此外,比较器模块570还接收来自锐度和开始模块574的输入。脉冲振幅算法模块572接收来自谐波谱图的时间振幅值阵列,处理该时间振幅值阵列,并将其传递到锐度和开始模块574。来自谐波谱图的时间振幅值阵列也被传递到振幅闪避模块578。

在一些实施例中,可以在实际脉冲序列之前的至少几毫秒连续地执行振幅闪避。在不同的实施例中,持续时间可以从0.5ms到100ms变化。在优选实施例中,可以在脉冲序列到达之前的0.5ms至15ms执行振幅闪避。

在一些实施例中,可以基于深度学习算法或其他人工智能算法来执行振幅闪避。振幅闪避的定时和持续时间由深度学习算法确定,该深度学习算法先前已经使用测试数据进行了训练。

在一些实施例中,可以至少基于设备特定信息、致动器特定信息和游戏上下文特定信息中的一个来执行振幅闪避。

在一些实施例中,可以基于与时间振幅阵列和时间频率值阵列相对应的先前数据来执行振幅闪避。

在一些实施例中,可以利用时间延迟来实现振幅闪避。延迟可以是固定时间或可变时间。在一些实施例中,时间延迟可以使用深度学习算法来实现。另外,机器学习算法可以实现对于不同的脉冲序列可能不同的延迟。例如,对于第一组脉冲,延迟为1ms,并且对于第二组脉冲,延迟为5ms。

在一些实施例中,可以由比较器基于前瞻算法来控制振幅闪避。通过实现前瞻算法接收的前瞻信息可以至少基于音频数据,例如,振幅、频率和相位。

比较器570还向振幅闪避模块578提供反馈。将来自比较器570的反馈提供到振幅闪避578的目的是确保由冲击音频流和谐波音频流两者生成的脉冲信号不会彼此干扰。连续音频流由与谐波谱图对应的时间振幅值阵列生成。因此,每当比较器570检测到脉冲或脉冲序列时,反馈被传递到振幅闪避578,这抑制了谐波谱图的连续音频流,直到脉冲/脉冲序列已经过去。这确保了良好的触觉体验。比较器570的输出是用于脉冲生成的时间频率值阵列和时间振幅值阵列。

在一些实施例中,振幅闪避578可以部分地抑制连续信号的振幅,例如,连续流的振幅减小了固定的百分比,例如25%。在另一个实施方式中,连续流的振幅减小100%。在其他实施方式中,连续流的振幅减小50%至90%之间。

脉冲处理模块204利用谐波谱图和冲击谱图两者来生成脉冲。

在一些实施例中,用于脉冲生成的时间频率值阵列和时间振幅值阵列被传递到用于产生触觉效果的脉冲致动器。在实施例中,脉冲致动器可以是LRA、ERM、宽带致动器、压电致动器或其他类型的致动器。

在一些实施例中,至少两个不同的致动器被连接以回放触觉效果。产生脉冲效果的第一致动器连接到频率时间值阵列,并且第一致动器的振幅由时间振幅值阵列控制,该时间振幅值阵列从冲击谱图和谐波谱图两者获得。第二致动器由时间频率值阵列和振幅时间值阵列控制以产生连续的触觉效果。

在一些实施例中,由第二致动器产生的连续的触觉效果可以被闪避,以调节由第一致动器产生的脉冲触觉效果。振幅闪避提供了更好的触觉体验。

图5D示出了在本发明的实施例中用于处理音频数据的创作工具的框图。创作工具208包括脉冲编辑器580、分析参数用户界面582、连续编辑器584和与其他界面工具分开的残余编辑器588。脉冲编辑器580允许用户修改和/或编辑冲击谱图的频率包络的时间频率值阵列和脉冲序列值阵列。脉冲编辑器580的输出是包括时间频率值阵列的经创作的频率包络和包括时间振幅值阵列的经创作的脉冲序列阵列。

分析参数用户界面582允许用户调整从脉冲处理系统204接收的一个或更多个参数值。可以通过在特定信号值处的梯度来计算脉冲值。梯度的变化大于预定值时,出现一系列脉冲。用户可以修改和/或调整这些脉冲。例如,用户可以修改每个脉冲的振幅或消除一个或更多个脉冲。分析参数用户界面582还允许用户编辑/改变/修改/或调整脉冲振幅算法572和振幅闪避578中的参数。

可以使用连续编辑器584来编辑或调整来自谐波模块506的振幅包络模块的时间振幅值阵列和来自与谐波模块506相关联的频率包络的时间频率值阵列。同样地,可以由残余编辑器586来编辑或修改来自残余谱图508的时间振幅频率值阵列。例如,用户可以编辑来自谐波模块506的振幅包络模块的时间振幅值阵列和来自与谐波模块506相关联的频率包络的时间频率值阵列,以调整触觉反馈。

在一些实施例中,用户可以创建两组经创作的时间振幅值阵列和经创作的时间频率值阵列,一组用于正常功率模式,另一组值用于低功率模式。在该实施方式中,可以修改包括时间振幅值阵列的振幅包络的振幅和包括时间频率值阵列的频率包络,以降低低功率模式下的功耗。例如,振幅可以缩放25%,并且提供振幅阈值。触觉反馈可仅在振幅高于振幅阈值时发生。

来自创作工具208的输出包括使用连续编辑器584编辑的连续流的经创作的时间频率值阵列和经创作的时间振幅值阵列;来自脉冲编辑器582的具有振幅时间值阵列的经创作的脉冲序列阵列和经创作的时间频率值阵列,以及可选地来自残余编辑器586的经创作的振幅频率时间值阵列。

图6示出了在本发明的实施例中用于处理经创作的时间频率阵列和经创作的时间频率值阵列的框图。经创作的连续流阵列、经创作的脉冲流阵列和经创作的残余流阵列被提供给不同的回放控制器,以用于生成触觉体验。

来自脉冲编辑器580的输出包括具有经创作的时间频率值阵列的经创作的频率包络,并且从冲击谱图接收到的具有经创作的时间振幅值阵列的经创作的脉冲序列阵列被传递到脉冲回放控制器602。脉冲回放控制器602接收频率包络和经创作的脉冲序列阵列,对其进行分析,并且提取脉冲序列。此外,还确定每个脉冲的频率。所提取的脉冲及它们对应的频率被传递到脉冲发生器604。脉冲发生器604基于频率值阵列生成脉冲信号。脉冲回放控制器602向增益控制器592提供反馈。来自脉冲发生器604的输出被提供给增益控制器608。增益控制器608还接收来自脉冲回放控制器602的反馈信号,以调整脉冲信号的增益。增益控制器608的输出被提供给混合器610。

同样地,连续编辑器584的输出被提供给振荡器回放控制器612。振荡器回放控制器612接收包括经创作的时间振幅值阵列的振幅包络和包括经创作的时间频率值阵列的频率包络。振荡器回放控制器612接收振幅包络和频率包络,以生成触觉信号,该触觉信号被传递到振荡器614。振荡器614以从振荡器回放控制器612接收的频率和振幅生成连续的触觉信号。来自振荡器回放控制器612的输出作为反馈被提供给增益控制器618。增益控制器618基于由振荡器回放控制器612提供的反馈,来调整增益,即触觉信号的振幅。增益控制器618的输出被传递到混合器610。

在实施方式的一个变体中,从残余编辑器586接收的经创作的时间振幅频率值阵列由残余回放控制器620处理。残余回放控制器620接收经创作的时间振幅频率时间值阵列,并提取时间振幅频率值。时间振幅频率值被传递到滤波器622,滤波器622基于预设的滤波器参数,对接收到的时间振幅频率值进行滤波。滤波器622的输出被提供给增益控制器624。增益控制器624还接收来自残余回放控制器620的反馈信号,并相应地基于时间振幅频率值阵列来调整增益或振幅。包含残余信号的处理是可选的,并且可以基于预定标准来实现。例如,经创作的信号中存在大量噪声分量。

图7示出了在本发明的另一个实施例中用于处理经创作的时间频率阵列和经创作的时间频率值阵列的框图。在该实施方式中,使用至少两个致动器。经创作的频率包络和经创作的脉冲序列被传递到脉冲回放控制器602,并且经创作的频率包络和经创作的振幅包络被传递到振荡器回放控制器612。脉冲回放控制器602的输出被传递到脉冲发生器604并被传递到增益控制器608。同样地,振荡器回放控制器612的输出被传递到振荡器614,并且最终被传递到增益控制器618。在该实施方式中,来自增益控制器608的输出被传递到混合器702,且来自增益控制器618的输出被提供到混合器704。来自脉冲回放控制器602的反馈被提供给增益控制器608。类似地,来自振荡器回放控制器612的反馈被提供给增益控制器618。

混合器702和混合器704由混合器控制器708控制。混合器控制器708控制由两个致动器126产生的触觉效果。在一个实施方式中,两个致动器126可以具有类似的规格。在另一个实施方式中,两个致动器126可以具有不同的规格。例如,至少一个致动器126可以是LRA,另一个致动器126可以是音圈。

在该变体中,脉冲回放控制器602、脉冲发生器604和增益控制器608通过混合器702驱动第一致动器126。致动器126从混合器704接收反馈信号,该混合器704与振荡器回放控制器612、振荡器614、增益控制器618相关联。另外,第一致动器126由混合器控制器708控制,该混合器控制器708控制要提供给致动器126中的每一个致动器的触觉反馈的量。同样地,振荡器回放控制器612、振荡器614、增益控制器618通过混合器704驱动第二致动器126。第二致动器126还接收来自混合器702的反馈,该混合器702与脉冲回放控制器602、脉冲发生器604和增益控制器608相关联。另外,第二致动器126由混合器控制器708控制,该混合器控制器708控制要提供给致动器126中的每一个致动器的触觉反馈的量。混合器控制器708提供由脉冲信号和连续信号产生的触觉效果之间的平衡。应当注意,第一致动器126和第二致动器126通过处理第一致动器126中的脉冲信号和第二致动器126中播放的连续信号来组合提供沉浸式触觉体验。在该实施例中,具有多于两个致动器126的其他组合是可能的。例如,两个或更多个致动器126可以附接到混合器702。同样地,两个或更多个致动器126可以附接到混合器704。

在一些实施例中,混合器702和混合器704由混合器控制器708控制。混合器控制器708可以调节脉冲信号和连续信号的比,以控制两个致动器126的功能。

在该实施方式的另一个变体中,混合器控制器708可以接收来自设备特定信息224、致动器特定信息222和内容特定信息226的输入,用于调节脉冲信号和连续信号的比,以得到与电子计算设备102相关联的致动器122或致动器126的组合的最佳性能。

在一些实施例中,该调整也可以基于内容特定信息226动态地发生。在一些其他实施例中,混合器控制器708可以实现机器学习和分析,以预测脉冲信号和连续信号的最佳比,从而控制两个致动器126的功能。

在一些实施例中,混合器702从增益控制器608接收输出,并且混合器704从增益控制器618接收输出。来自混合器702和混合器704的输出由混合器控制器708控制。在一些实施例中,混合器控制器708实现用于动态控制脉冲信号和连续信号的混合的深度学习算法。

在一些实施例中,增益控制器608的输出被同时提供给混合器702和混合器704。类似地,增益控制器618的输出被提供给混合器702和混合器704。另外,增益控制器608和增益控制器618的输出也被提供给混合器控制器708,该混合器控制器708控制信号的混合,即,脉冲信号(瞬变)和连续信号以适当的比例混合,以用于沉浸式触觉体验。在该实施方式的一个变体中,混合器控制器708可以包括深度学习算法,这些深度学习算法实现学习算法,以控制来自增益控制器608和增益控制器618的信号的混合。

在一些实施例中,混合器控制器708可以与分析AI、机器学习相关联,并且可以根据输入内容来应用连续触觉流和脉冲触觉流的混合比。例如,安静的内容具有70/30的比,而更大声、更动态的内容具有50/50的比。

在该实施例的一个变体中,连续流的变换阵列、脉冲流的变换阵列和残余流的变换阵列被提供给不同的回放控制器,以用于生成触觉体验。在该实施方式中,连续流和脉冲流的处理可以完全如图6和图7中公开的那样发生。此外,混合器702、混合器704和混合器控制器708可以以类似的配置来配置,并且可以如在图6或图7中所描述的那样操作。

图8A示出了在本发明的实施例中使用梯度方法对脉冲处理模块中的脉冲的检测。脉冲处理模块204计算音频信号的变化率,以计算冲击流的梯度或斜率。在每个点处或以固定的时间间隔(例如,100微秒)计算斜率或梯度。如果斜率或梯度大于阈值,则产生脉冲信号。阈值是大于60度且小于90度的斜率。例如,如果梯度大于60度,则脉冲处理模块204可以产成脉冲。同样地,如图8A所示,如果梯度小于60度的角度,则不产生脉冲。

另外,脉冲的梯度和持续时间可用于计算锐度。将计算出的锐度值提供给比较器570,以生成时间频率值阵列。在该实施方式的一个变体中,锐度可用于合并从冲击谱图和谐波谱图获得的脉冲。当斜率或梯度位于50度到90度之间时,产生脉冲信号。

图8B示出了在本发明的另一个实施例中使用梯度方法对HPSS谱图中的脉冲的检测。如图8B所示,可以为谐波谱图和冲击谱图分别确定脉冲。计算谐波谱图和冲击谱图的不同点处的梯度。当在谐波谱图或冲击谱图中检测到脉冲时,它们被传递到创作工具208。谐波谱图的谐波流810和冲击谱图的冲击流820被创作,并产生脉冲的合并流830。在一个实施方式中,在谐波流810和冲击流820中检测到的脉冲由用户通过创作工具208合并。替代地,谐波流810和冲击流820的合并由基于规则的引擎实时执行。

在该实施方式的另一变个型中,将谐波流810和冲击流820合并成合并流830是使用人工智能处理模块216自动执行的。

在该实施方式的又一个变体中,在人工智能模块216中实现的深度学习算法被用于将谐波流810和冲击流820合并成合并流830。谐波流810和冲击流820的训练数据集被提供用于训练在人工智能模块216中实现的深度学习算法。

在一些实施例中,梯度值还用于根据脉冲特性来计算信号的锐度。脉冲的持续时间用于确定锐度的值。脉冲处理模块204使用锐度值来编辑和/或合并脉冲。

在本发明的另一个实施例中,谐波流810和冲击流820在脉冲处理模块204中分别处理,然后使用预定算法自动合并。在一些实施例中,合并谐波流810和冲击流820的过程涉及通过创作工具208中的用户界面建议用户,并将合并流830提供给用户进行编辑/修改。

图9示出了本发明的实施例中的创作工具的图形用户界面(GUI)。创作工具208提供示例性GUI 902。GUI 902将音频预处理信号910显示为音频波形图。GUI 902显示了用于图4B的滤波器组实现的每个频带的时间频率值阵列的多个信号曲线编辑器。

参考GUI 902,提供了用于高频包络的曲线编辑器912、用于中频包络的曲线编辑器914和916以及用于低频带包络的曲线编辑器918。尽管在该实施方式中仅示出了一个高频带、两个中频带和一个低频带,但在其他实施方式中,在高频带、中频带和一个低频带中可以有多个频带。曲线编辑器912至918显示对于每个时间振幅数据值/点具有可编辑点的时间振幅包络,它们可以被鼠标拖动以将时间振幅值/数据点从当前时间振幅值拉伸或压缩到新的时间振幅值,以改变触觉响应的特性。由于在断点缩减模块470或断点缩减模块514和断点缩减模块524中已经缩减了时间振幅值/数据点,因此曲线编辑器允许容易地操纵时间振幅值/数据点。另外,可以添加或删除时间振幅值/数据点,以允许进一步定制时间振幅包络。

此外,GUI 902还显示脉冲曲线编辑器920和残余光谱仪922。脉冲曲线编辑器920显示由脉冲处理模块204提供的脉冲曲线。脉冲曲线编辑器920允许对脉冲序列进行编辑和/或修改。另外,用户可以使用脉冲曲线编辑器920来操纵合并流830。另外,脉冲曲线编辑器920允许用户用鼠标拖动脉冲曲线以对其进行整形。

残余谱图包括残余噪声编辑器922以调整噪声分量。在用户界面中通过噪声类型选项936提供了多个噪声整形选项,噪声类型选项936具有可选择的单选按钮(radiobutton),每个单选按钮提供特定类型的噪声整形。

GUI 902还包括多个组合框。仅示出了三个组合框;然而,在其他实施方式中,可以存在附加的GUI部件,例如,组合框或下拉框。在该实施方式中,组合框904用于选择致动器。每个致动器(例如,致动器122或126)具有唯一的致动器ID。组合框904允许用户从不同类型的致动器的列表中选择特定致动器ID。同样,组合框906允许用户选择与致动器(例如,致动器122或致动器126)相关联的设备ID。在一些实施例中,当致动器122被嵌入电子计算设备102内时,用户可以选择特定的设备ID,这将自动填充位于电子计算设备102中的致动器ID。用户可以通过选择单选按钮来从诸如平板电脑、操纵杆、游戏手柄、或移动电话的设备列表中选择电子计算设备102。类似地,当从致动器组合框904选择特定致动器ID时,设备ID显示具有嵌入其内的特定致动器的设备列表。在另一个实施方式中,可以通过查询数据库220来填充致动器组合框904的内容。组合框908用于通过单选按钮选择游戏类型。例如,基于游戏的年龄和内容(例如,格斗游戏、赛车游戏、冒险游戏或某种其他类型的游戏)来划分游戏类型。

GUI 902还包括用于选择频带等级的频率等级下拉菜单924的阵列。另外,中心频率文本编辑器926用于为每个频带设置中心频率。例如,高频带A曲线912具有用于选择高频曲线A的频率等级924和中心频率926的选择菜单。频带等级下拉菜单924中的值的范围可以从0到从音频分析模块206接收到的频带的数量,其中,0是对于等级无偏好的默认值,一(1)是最高偏好,且接收到的频带的数量是最低偏好。通过读取从音频分析模块206接收的每个频带的中心频率值来设置中心频率文本编辑器926的默认值。可以改变中心频率,为每个频带输入新的中心频率值。

音频选择框938允许用户从脉冲整形器列表(例如但不限于脉冲形状1、脉冲整形器2和其他脉冲整形器)选择脉冲的整形,以便微调沉浸式触觉体验中的脉冲的体验。

在一些实施例中,由谐波谱图和冲击谱图生成的脉冲阵列可以在GUI中单独地编辑,然后通过深度学习算法合并。替代地,可以使用用户干预(user intervention)来合并由谐波谱图和冲击谱图生成的脉冲阵列。

为了成形触觉特性,GUI 902允许用户多个选项,例如,通过感知文本框928设置感知阈值,通过脉冲阈值文本编辑框930设置脉冲阈值,该脉冲阈值是范围从0.0到1.0之间的值。

触觉触发按钮932和保存按钮934允许用户通过曲线编辑器912-918对经分析的时间频率值阵列和/或经分析的时间振幅值阵列的每个频带进行定制,通过频带等级下拉菜单924对频带等级值进行定制,以及通过中心频率文本编辑器926对中心频率值进行定制,以保存为经创作的时间频率值阵列、经创作的时间振幅值阵列和经创作的时间振幅频率值阵列。另外,用户通过脉冲曲线编辑器920和脉冲分数文本框930对脉冲序列值阵列进行的定制被保存到经创作的脉冲序列值阵列中。经创作的时间振幅值阵列来自振幅包络模块,以及经创作的脉冲序列阵列来自冲击模块504的脉冲序列;经创作的时间振幅值阵列来自振幅包络模块和经创作的时间频率值阵列来自与谐波模块506相关联的振幅包络;以及经创作的时间振幅频率值阵列与残余模块508相关联。另外,来自致动器组合框904的致动器ID值、设备选择组合框906的设备ID值和感知阈值文本框928的感知阈值被保存在数据库220中,并被提供给变换模块208。在点击保存按钮934时,上述数据被保存为经创作的音频描述符数据和其他经创作的数据,上述数据被传递到变换模块210以供进一步处理。触发按钮928采集事件,该事件被分派到再合成模块214。

图10示出了本发明的实施例中的变换模块的框图。变换模块210对以下项进行变换:来自连续流的经创作的时间频率值阵列和经创作的时间振幅值阵列、包括经创作的脉冲序列阵列的经创作的时间振幅值阵列、和来自脉冲流的经创作的时间频率值阵列,从而为致动器和设备的不同组合提供沉浸式触觉体验。

当触觉模块110在电子计算设备102中实现时,变换模块210利用处理器114和存储器104。然而,当触觉模块300驻留在分布式系统150或网络302中时,变换模块210具有带有相关联的存储器的处理器312。

变换模块210对以下项进行变换:所接收的来自连续流的经创作的时间频率值阵列和经创作的时间振幅值阵列、经创作的时间振幅值阵列、以及经创作的脉冲序列值阵列,以适合于嵌入在电子计算设备102内的致动器122的特定组合。变换模块210包括频率变换1002,该频率变换1002包括频率比较1004、频带均衡1008和带宽计算器1010。

变换模块210从数据库模块220接收致动器特定描述文件和设备特定描述文件。如所讨论的,数据库模块220包括致动器特定信息222和设备特定信息224。变换模块210利用从创作工具208接收的致动器ID和/或设备ID来查询数据库模块220。在一个示例中,变换模块210向数据库模块220发送请求,以通过传递致动器ID和/或设备ID作为参数来查询致动器特定信息222和设备特定信息224。数据库模块220从数据库模块220提取相关信息,并将结果提供给变换模块210。

设备特定信息224可以包含规格数据或特性数据(例如,所测量的带宽),该设备特定信息是特定致动器(例如,嵌入在电子计算设备102内的致动器122或与电子计算设备102外部连接的致动器126)的频率响应的加速度。在设备特定信息224不包含特定致动器(例如,嵌入在电子计算设备102内的致动器122和/或与电子计算设备102相关联的致动器126)的规格数据或特性数据的情况下,带宽计算器1010确定具有嵌入的致动器122的电子计算设备102的带宽。带宽计算器1010使用致动器特定信息222中提供的规格数据来计算带宽。致动器特定信息222包括致动器122或致动器126的质量、具有附加质量的致动器122或致动器126的质量、具有附加质量的频率响应、和不具有附加质量的频率响应。带宽计算器1010确定致动器122或致动器126以及电子计算设备102的频率响应。电子计算设备内的嵌入的致动器122的组合带宽被称为可用带宽。总而言之,可用带宽是致动器(例如,嵌入的致动器122和/或相关联的致动器126)和电子计算设备102可以创建用于沉浸式触觉体验的振动的频率范围。

另外,带宽计算器1010确定人类可以体验的频率和振幅响应。人类可以在具有嵌入的致动器122的电子计算设备102的可用带宽内感知高于或低于特定阈值的触觉振动。该阈值可以被预定义为恒定的,例如高于0.5g加速度,或者可以利用创作工具208的GUI 902中的感知阈值928来指定。例如,嵌入在电子计算设备102中的致动器122的、人可以感觉到振动的组合带宽被称为“触觉感知带宽”。触觉感知带宽位于第一阈值TH1之间,在该第一阈值处,致动器122和电子计算设备102的频率响应曲线刚好上升到高于特定阈值。这是触觉感知带宽的下限。同样地,在可用带宽的另一个特定阈值处,人类感觉不到触觉体验。该阈值被称为第二阈值TH2。

位于第一阈值TH1与第二阈值TH2之间的触觉感知带宽不是固定的,并且可以基于不同的参数而变化,这些参数例如但不限于个体体验、特定频率处的触觉振动的特定阈值、基于身体部位的触觉振动的特定灵敏度、对特定振动的非线性灵敏度以及其他参数。

由带宽计算器1010计算的触觉感知带宽被提供给频率变换1002。在一些实施例中,由带宽计算器1010计算的触觉感知带宽存储在数据库220中。

频率变换1002包括频率比较1004,该频率比较检查从以下项接收的每个频带的中心频率是否可以适配(fit)在触觉感知带宽的范围内:来自连续流的经创作的时间频率值阵列和经创作的时间振幅值阵列、和来自脉冲流的经创作的时间振幅值阵列和经创作的时间频率值阵列。如果这些频带的所有频率都适配在触觉感知带宽的范围内,则来自连续流的经创作的时间频率值阵列和经创作的时间振幅值阵列、和来自脉冲流的经创作的时间振幅值阵列和经创作的时间频率值阵列被直接发送到频带均衡1008。频带均衡1008增加或减小时间振幅包络的时间振幅值,以补偿致动器的非线性频率和加速度响应曲线。例如,如果远离谐振频率的频率具有以g(重力)为单位的较低加速力,则该频率的时间振幅包络的振幅值增加,使得当以该频率驱动时,与谐振频率相比,致动器122产生均匀的加速度。

然而,如果频率比较1008评估来自连续流的经创作的时间频率值阵列和经创作的时间振幅值阵列、和来自脉冲流的经创作的时间振幅值阵列和经创作的时间频率值阵列不能适配在触觉感知带宽的范围内,则频率比较1004检查是否已经提供了频带等级。如果已经提供了频带等级,则频率比较1004按频带等级的顺序对多个频带排列等级。然而,如果不提供频带等级,则频率变换1002基于包络能量含量发起对不同频带进行排列等级的过程。通过确定频带的包络能量含量来对每个频带排列等级。包络能量相对于能量含量与触觉感知带宽中最高加速度的频率之间的距离进行权衡。具有最高加速度值的频带被设置为致动器126和电子计算设备102的谐振频率。

在确定频带等级之后,频率变换1002执行频率映射过程,该频率映射过程将经创作的时间振幅值阵列和经创作的时间频率值阵列中的每一个阵列的中心频率从连续流移位一段距离,该距离等于电子计算设备102的触觉感知带宽中的最高频率加速度值与最高等级频带的频率之间的差。这样,最高等级频带的频率和触觉感知带宽中具有最高加速度值的频率被对准在一起或彼此叠加。在优选实施例中,取差值的模数值(正值),但在其他实施例中,可以取差值的绝对值。随后,频率比较1004检查所有移位的频带是否可以适配在触觉感知带宽内。如果以其中心频率偏移的每个频带适配在触觉感知带宽内,则频率变换1002使中心频率处的所有频带移位,并且将经移位的频带传递到频带均衡1008以供进一步处理。然而,如果来自连续流的所有经移位的频带不适配在触觉感知带宽内,则频率变换1002对除了最高等级的频带之外的所有频带执行谐波移位。最高等级频带的中心频率保持不变,而所有其他频率通过以固定常数向上转移(transposing)或向下转移而偏移。向上转移/向下转移的固定常数值基于频带的原始移位方向。在一个示例中,向上转移或向下转移可以通过根据频带的原始移位方向将频率向上或向下转移一个倍频程来执行。在将每个频带的中心频率向上移动一个倍频程或向下移位一个倍频程之后,频率比较1004确定连续流的频带是否可以被移位以适配在触觉感知带宽内。如果是,则带宽计算器1010将来自连续流的经创作的时间振幅值阵列和经创作的时间频率值阵列传递到每个频带的频带均衡1008,以供进一步处理。否则,如果来自连续流的经创作的时间振幅值阵列和经创作的时间频率值阵列(它们被移位了一个倍频程)的频带不适配在触觉感知带宽内,则来自连续流的经创作的时间振幅值阵列和经创作的时间频率值阵列的不适配在触觉感知带宽内的频带被去除,并且剩余的频带被传递到频带均衡1008。

频带均衡1008通过提升和/或抑制触觉处理再合成所需的每个频带来平坦化和平滑频率响应。

变换模块208将经变换的连续触觉流和经变换的脉冲触觉流传递到聚合和文件管理模块212。另外,变换模块208还将触觉感知带宽提供给聚合和文件管理模块212。

图11示出了本发明的实施例中的聚合和文件管理模块的不同部件。聚合和文件管理模块212包括触觉数据聚合器1102和文件管理器1104。触觉数据聚合器1102从变换模块210接收经变换的连续触觉流和经变换的脉冲触觉流。此外,聚合和文件管理模块212还从音频分析模块206接收经分析的音频数据。此外,聚合和文件管理模块212还从脉冲处理模块204接收输入。

文件管理器1104从触觉数据聚合器1102接收触觉数据,并且将经变换的连续触觉流和经变换的脉冲触觉流以及来自数据库220的其他数据转换为可以由再合成模块214处理和合成的多个计算机可读文件格式,用于在一个或更多个致动器(如,致动器122或致动器126)中产生触觉输出。

文件管理器1104可以将所接收的数据转换为不同的计算机可读文件格式,这些文件格式例如为,文本文件、JSON文件、XML文件、CSV文件或一些其他文件格式。

图12示出了本发明的实施例中的再合成模块的不同模块。再合成模块214的目的是通过处理从聚合和文件管理模块212接收的计算机可读文件来生成触觉信号,以驱动致动器(例如,致动器122或致动器126)。

再合成模块214包括文件解析器1202、事件接收器1204、脉冲回放控制器1206、脉冲合成器1210和一个或更多个频率回放控制器1208。

在一些实施例中,可以有一个或更多个频率回放控制器1208,它们可以回放不同的频率。例如,如图12所示,存在四个回放控制器,例如,回放控制器1208A、回放控制器1208B、回放控制器1208C和回放控制器1208D。

在一些实施例中,可以存在一个或更多个频带合成器1210。如图12所示,有四个频带合成器,例如频带合成器1212A、频带合成器1212B、频带合成器1212C、频带合成器1212D。

再合成模块214包括混合器1238,混合器1238被配置用于致动器122和/或致动器126。

尽管在该示例性实施例中仅示出了四个回放控制器1208和四个频带合成器1212,但是在其他实施例中,根据频带的数量,可以存在更少或更多数量的回放控制器1208和频带合成器1212。

在实施例中,来自连续流的经变换的时间振幅值阵列和经变换的时间频率值阵列、和来自脉冲流的经变换的脉冲阵列和经变换的时间振幅值阵列被处理和变换,以匹配嵌入在电子计算设备102中的致动器102的性能特性。

在一些实施例中,来自连续流的经变换的时间振幅值阵列和经变换的时间频率值阵列用于合成不同的频带,并驱动不同的回放控制器1208A-1208D。

脉冲回放控制器1206连接到脉冲合成器1210,该脉冲合成器1210包括脉冲分数计算器1214、增益控制器1216、振荡器1218和增益1220。脉冲序列在脉冲回放控制器1206处被接收,被传递到脉冲合成器1210。脉冲合成器1210还接收来自事件接收器1204的输入。此外,脉冲合成器1210还接收来自文件解析器1202的输入。由脉冲合成器1210从其他模块接收的输入被传递到二进制的分数控制器1214。二进制的分数控制器1214决定脉冲事件的触发。当脉冲事件被触发时,二进制的分数计算器1214将脉冲(一个或多个)的振幅值传递到增益控制器1216,以控制增益1220。另外,增益1220还从振荡器1218接收脉冲的频率值,并将它们传递到混合器1238,以传递到一个或更多个致动器122或致动器126。

回放控制器1208A至1208D在振荡器1022至1028处接收每个频带的经变换的时间频率值阵列和经变换的时间振幅值阵列。同时,回放控制器1008A-1008D将时间振幅值传递到增益1030-1036。频带合成器1012A-1012D被传递到混合器1238,混合器1238混合不同的脉冲合成器1210和频带合成器1012A-1012D的输出,以被传递到一个或更多个致动器122或致动器126,以用于提供触觉输出。

传统的触觉配置包括单个致动器,该单个致动器接收触觉信号并且使用混合器来混合多个单独的信号,以输出复用的触觉输出。在一些实施例中,连续流和脉冲流可以被处理,以产生单独的触觉输出,以驱动至少两个单独的致动器。例如,一个致动器122可以是处理脉冲序列的LRA。另一个致动器126可以是处理连续流的宽带致动器。两个不同的致动器分别提供对于脉冲流和连续流的触觉输出,即提供用户触觉体验。每个致动器可以被调整到不同的频率,从而提供宽范围的触觉输出。可以注意到,提供连续的触觉输出流的致动器的谐振频率可以与提供脉冲序列的触觉致动器的谐振频率不同。

在一些实施例中,当实现滤波器组技术时,每个频带与一个回放控制器1208链接。例如,回放控制器1208A与60Hz至100Hz的频带链接。同样地,回放控制器1208D与200Hz至300Hz的频带链接。

在实施例中,每个致动器可以接收它自己的脉冲和连续信号的混合。在一些实施例中,触觉输出的连续流和触觉输出的脉冲流可以以不同的比例混合。在一些实施例中,混合比例可以是固定的。在一些其他实施例中,混合比例可以在运行时动态地改变。在一些实施例中,混合比例可以动态地改变,这由创作工具208的用户界面控制,或者可以从存储在数据库模块220中的与致动器特定信息222和/或设备特定信息224相关的信息得出。

图13示出了在本发明的实施例中处理具有音频静默(audio silence)的音频信号的过程。公开了一种处理音频信号中的音频静默的新颖方式。音频信号在1300A中示出。音频静默存在于标记为1304的两个音频片段(audio snippet)之间。通过在两个音频片段之间插入音频静默来启动处理音频静默的过程。插值后的音频信号由1304示出,其是插值后的连续音频信号。在一些实施例中,可以通过使用信息包络近似和/或断点分析来执行插值。在该步骤,可以识别音频静默,并相应地识别用于生成频率包络或振幅包络的数据点的数量。在实施例中,音频音调(audio note)被解释为可感知的频率差。

如图1300B中所示,音频音调被示为离散段(section),这些离散段示出了相邻音调之间的频率差。用户通过组合频率和振幅来组合这些离散段,以处理音频静音。该组合在图1300C中示出。

在一些实施例中,频率线厚度(frequency line thickness)由振幅调制。在一些实施例中,频率线颜色由振幅调制。在一些实施例中,对应于块高度(block height)的频率离散音调由振幅调制。在一些实施例中,频率离散音调块颜色(表示频率差)由振幅调制。

在一些实施例中,频率线厚度和频率线颜色由振幅调制。

在一些实施例中,频率离散音调由振幅调制。在一些实施例中,频率离散音调可包括块高度或块颜色。

图14示出了本发明的实施例中的将音频信号转换为计算机可读触觉文件的过程。过程1400在1402处开始,并且立即移动到1404。在步骤1404处,音频信号被传递到音频预处理器202。预处理器从音频信号中去除不想要的频率。在步骤1408处,经预处理的音频信号被传递到音频分析模块206。在步骤1408处,音频分析模块206对经预处理的音频信号执行分析,以将其转换为触觉信号。音频分析通过以下方式来执行:将经预处理的音频信号传递到滤波器组分析或谐波冲击源分离分析中进行信号处理。在这两种不同的过程中,信号的谱质心被计算出。音频分析的输出是经分析的音频信号,该经分析的音频信号在步骤1410处被传递到创作工具208。经分析的音频信号在创作工具208中被修改/编辑。创作工具208还从数据库模块220接收致动器特定信息222和设备特定信息224。经分析的音频信号至少基于致动器特定信息222和设备特定信息224而被修改。在步骤1412处,经创作的音频信号被传递到变换模块210。变换模块210应用变换算法来对该经创作的音频信号进行变换,以适配电子计算设备102和致动器122的触觉感知带宽。变换模块210的输出是经变换的音频信号。在步骤1414处,该经变换的音频信号被传递到聚合和文件管理模块212,以将经变换的音频信号转换为计算机可读触觉文件。过程1400在步骤1418处终止。

图15示出了本发明的实施例中的实现对音频信号的滤波器组分析的过程。过程1500在1502处开始,并且立即移动到1504。在步骤1504处,从预处理器模块202接收经预处理的音频信号。在步骤1508处,经预处理的音频信号被传递到音频分析模块206。在步骤1508处,音频分析模块208对音频信号进行滤波,以将该音频信号分离为一个或更多个频带。对于每个频带,在步骤1510处计算谱质心。在步骤1512处,过程1500针对每个频带产生谱质心阵列、时间振幅值阵列和时间频率值阵列。在该实施方式的一个变体中,瞬变被分离,并且脉冲序列根据谱质心阵列、时间振幅值阵列和时间频率值阵列而被创建。在步骤1514处,过程1500将每个频带的经分析的谱质心阵列、经分析的时间振幅值阵列和经分析的时间频率值阵列传递给创作工具208。用于在音频分析模块206内分析经预处理的音频信号的过程1500在步骤1518处终止。

图16示出了本发明的实施例中的实现对音频信号的谐波冲击源分离分析的过程。过程1600在1602处开始,并且立即移动到1604。在步骤1604处,从预处理器模块202接收经预处理的音频信号。在步骤1608处,经预处理的音频信号被传递到音频分析模块206。在步骤1608处,过程1600使用谐波冲击源分离分析来分析经预处理的音频信号以产生谐波谱图、冲击谱图和残余谱图。在优选实施例中,残余谱图可以是可选的。在步骤1610处,过程1600分析谐波谱图和冲击谱图。在步骤1612处,过程1600分别确定谐波谱图和冲击谱图的谱质心,以创建用于冲击谱图的频率值阵列和脉冲序列阵列以及用于谐波谱图的时间振幅值阵列和时间频率值阵列。在步骤1614处,过程1600将谱质心值阵列、时间振幅值阵列、时间频率值阵列和脉冲序列传递到创作工具208,以用于创作触觉内容。过程1600在步骤1618处终止。

贯穿本说明书描述的本发明的特征、结构或特性可以在一个或更多个实施例中以任何合适的方式组合。在本文中示出的不同实施例和实施方式以及示出的示例,是为了以非限制性的方式提供被认为是最有用和最容易理解的对本发明的原理和概念方面的描述。

相关技术
  • 一种带有触感体验的沉浸式虚拟试衣方法及系统
  • 用于康复治疗的沉浸式体验VR装置及其使用方法
  • 一种软件控制的沉浸式体验仓及其使用方法
技术分类

06120115987364