CN112567317A - 用于生成触觉输出以增强用户体验的系统和方法 - Google Patents
用于生成触觉输出以增强用户体验的系统和方法 Download PDFInfo
- Publication number
- CN112567317A CN112567317A CN201980053068.7A CN201980053068A CN112567317A CN 112567317 A CN112567317 A CN 112567317A CN 201980053068 A CN201980053068 A CN 201980053068A CN 112567317 A CN112567317 A CN 112567317A
- Authority
- CN
- China
- Prior art keywords
- module
- signal
- haptic
- transient
- audio signal
- 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 title claims abstract description 128
- 230000005236 sound signal Effects 0.000 claims abstract description 397
- 238000012545 processing Methods 0.000 claims abstract description 322
- 238000004458 analytical method Methods 0.000 claims abstract description 261
- 238000001514 detection method Methods 0.000 claims abstract description 85
- 230000001052 transient effect Effects 0.000 claims description 187
- 230000008569 process Effects 0.000 claims description 96
- 238000003672 processing method Methods 0.000 claims description 10
- 229910002056 binary alloy Inorganic materials 0.000 claims 2
- 230000004044 response Effects 0.000 abstract description 40
- 230000000694 effects Effects 0.000 abstract description 16
- 239000000284 extract Substances 0.000 abstract description 3
- 230000002708 enhancing effect Effects 0.000 abstract description 2
- 230000002194 synthesizing effect Effects 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 61
- 230000009977 dual effect Effects 0.000 description 57
- 238000007781 pre-processing Methods 0.000 description 50
- 230000006870 function Effects 0.000 description 34
- 230000006835 compression Effects 0.000 description 32
- 238000007906 compression Methods 0.000 description 32
- 238000005070 sampling Methods 0.000 description 19
- 239000012528 membrane Substances 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 230000000875 corresponding effect Effects 0.000 description 10
- 230000009467 reduction Effects 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 9
- 230000005284 excitation Effects 0.000 description 8
- 239000011295 pitch Substances 0.000 description 8
- 238000012549 training Methods 0.000 description 7
- 230000002238 attenuated effect Effects 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 6
- 238000013016 damping Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 210000003127 knee Anatomy 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000007635 classification algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000035807 sensation Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 229920001746 electroactive polymer Polymers 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 230000000638 stimulation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 101100408383 Mus musculus Piwil1 gene Proteins 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 238000013488 ordinary least square regression Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 208000003013 permanent neonatal diabetes mellitus Diseases 0.000 description 1
- 238000011045 prefiltration Methods 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Circuit For Audible Band Transducer (AREA)
- Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
Abstract
提供了用于从具有连续采样的数字音频数据流的音频信号生成触觉输出的系统和方法。触觉处理系统接收数字音频数据,分析数字音频数据进行处理,并提取触觉信号,通过致动器产生触觉效果。该方法包括通过一个或多个动态处理器传递数字音频信号,调整数字音频信号的动态范围,提取音频数据的信号包络,从提取的信号包络合成低频信号,以及使用振振器增强低频内容。触觉输出通过将数字音频信号与触觉处理系统不同模块的输出混合生成。分析模块在噪声门模块,压缩器模块和包络模块上监控,控制和调整数字音频信号的处理,以增强触觉输出。处理过的数字信号通过低通滤波器、限制器和钟形滤波器传递,分别删除不需要的频率、增益和扩展频率响应。输出信号提供给数字模拟(D/A)转换器,最后送入致动器以产生触觉输出。检测模块接收来自钟形滤波器输出的第一个输入,从输入音频信号接收第二个输入,在第一个和第二个输入时探测信号,在输入两个输入时没有音频信号,则禁用触觉处理系统并进入省电模式。
Description
技术领域
本发明涉及生成触觉响应的触觉处理系统。更具体地,本发明涉及在致动器中生成触觉输出的数字音频信号处理。
背景技术
触觉通常涉及在电子设备的用户界面上作为反馈力或振动而提供给用户的触摸感。反馈力可以向用户提供信息。随着技术的进步,用户界面现已与提供触觉反馈的触觉界面集成在一起。移动设备、游戏设备和汽车现已与触觉集成在一起,以提供更好的用户体验。提供用户反馈的重要元素是音频信号的处理,以将音频信号转换为触觉响应。触觉响应驱动致动器以响应于用户界面上的触摸而提供振动。触觉的另一种应用是通过与音频一起在人体中引起振动来向用户提供实时体验。此应用广泛用于耳麦、耳机、可穿戴式带和其他设备。所有这些应用都需要对音频信号进行处理以实时从音频信号中提取触觉响应。触觉的用户体验受到触觉处理系统的广泛影响,该触觉处理系统将输入的音频数据转换为触觉响应。用户体验通常由触觉处理系统处理并生成良好触觉效果的能力控制。
几种技术提供了不同的实施方式来提供来自输入音频信号的触觉输出,例如,美国专利7,979,146提供了一种系统和方法,用于通过将音频信号分离为多个子频段和分段来将接收到的音频信号自动转换为触觉事件。然后将子频段信号转换为多个事件。系统将触觉事件分配给特定子频段,这些子频段在致动器中生成触觉响应。该系统提供涉及频率特性、致动器参数和最小时间间隔的不同参数,以产生触觉响应。
同样,美国专利8,378,964扩展了该技术。它提供了触觉事件的结构化表示。该方法计算不同通道的事件得分,并基于累积得分将触觉事件分配给特定通道,以在关联的致动器中生成触觉响应。
美国专利申请20090189748提供了一种用于处理音频信号和/或视频信号以产生触觉激励的方法和相关设备。触觉激励发生单元通过产生通过开孔的空气流来产生用户特定身体部分的触觉激励。因此,触觉激励被传送到用户身体。
美国专利8,717,152描述了使用波形的触觉效果转换系统。来自音频源的音频帧被触觉转换系统拦截以生成触觉信号,该信号通过致动器传递以产生触觉效果。触觉信号基于每个音频数据帧的最大值,该最大值定义了触觉信号的幅度。
当前的技术状态提供了不同的技术来处理音频信号以生成触觉信号,该触觉信号可以传递到致动器以产生触觉效果。但是,没有最先进的技术提供额外的分析和处理来放大抑制频率、处理瞬态、在不同动态处理器中动态更新参数以创建增强用户体验的触觉信号。
本发明通过使用每个数字音频数据样本、利用侧链、谐振和物理模块、利用振幅的平均值和其他相关模块来提供改进的和连续的触觉体验,使用几种技术来增强用户的触觉体验。与当前的触觉转换系统相关的另一个问题是在缺乏足够的低频的情况下缺乏触觉响应。如果音频信号具有高频分量流,则大多数高频会在音频信号的滤波过程中衰减,从而不会产生触觉响应。此外,某些低频分量虽然存在,但在滤波和处理阶段被消除。这会导致不推荐使用的用户体验。理想地,触觉处理系统应该提供实时触觉效果,以提供具有音频触觉效果的增强的用户体验。如果以最小的延迟实时处理音频信号,处理和分析采样的每个音频信号数据,并放大和/或附加低频以产生触觉效果,则可以提供丰富的用户体验。
因此,本发明中的技术提供了通过使用一个或多个动态处理器、物理谐振模块和用于数字信号处理的混音器来高效而且有效果地处理音频信号以产生触觉输出的方法和系统。分析模块同时监控和控制触觉输出,以增强用户体验。
发明内容
本发明的系统和方法公开了一种触觉处理系统。该触觉处理系统包括数字信号处理链和分析模块。该数字处理链包括下采样器、低通滤波器、至少一个动态处理器、至少一个压缩器、至少一个包络跟随器、至少一个振荡器、至少一个谐振模块、至少一个混音器、至少一个钟形滤波器、至少一个限制器和其他模块。分析模块还接收音频输入信号、独立运行并控制数字处理链。分析模块传递参数以控制数字信号处理链中音频信号的处理。
至少一个分析模块控制数字处理链中的至少一个参数。至少一个参数是增益、阈值、RMS/峰值、起音、释音、增益补偿、压限器拐点或其他参数。分析模块在数字信号处理链中调制音频信号的处理。可替代地,分析模块以特定的时间间隔调整数字信号处理链中的音频信号的处理。时间间隔在1毫秒至1秒之间变化。分析模块实时动态地改变数字信号处理链中输入音频信号的处理。可替代地,分析模块可以非实时地改变数字信号处理链中的音频信号的处理。输入音频信号在数字信号处理链的输入处接收,并传递到预处理模块。预处理模块将输入音频信号下采样为可接受的采样率,该采样率可以由至少一个动态处理器处理。输入音频信号可以是数字输入信号,也可以是模拟输入信号,可以使用模数(A/D)转换器将其转换为数字信号。
预处理模块对输入音频信号进行滤波。另外,它可以增加输入音频信号的增益。如果接收到的音频输入信号处于可接受的采样率,则绕过预处理模块。预处理器模块的输出提供给至少一个动态处理器。动态处理器可以是噪声门、压缩器或增益控制处理器或它们的任何组合。噪声门包括检测器模块、侧链模块和阈值模块。阈值模块从分析模块接收控制参数。侧链模块从噪声门模块接收一部分信号。可替代地,侧链可以从预处理模块、动态处理器中的至少一个接收输入信号,或者直接接收输入音频信号。
当在侧链模块处从噪声门模块或输入音频信号接收到输入信号时,与侧链模块关联的检测器将检测接收到的信号是高于还是低于阈值电平。如果信号高于阈值电平,则噪声门将打开以传递接收到的信号。但是,如果检测到接收信号低于阈值电平,则噪声门关闭以使接收信号衰减增益因子。增益因子是增益衰减,它应用于接收的输入信号。
分析模块同时接收输入音频信号并根据输入音频信号特性来计算一个或多个控制参数。然后,分析模块将参数传递到噪声门,以实时设置至少一个控制参数,例如阈值电平。可替代地,分析模块传递多于一个的控制参数以至少在多于一个的动态处理器中设置阈值电平和/或增益。传递的参数会在每个时刻动态更新。
在不同的实现方式中,分析模块在数字信号处理链之前接收输入音频信号。在另一变体中,馈送到数字信号处理链的输入音频信号被延迟预定时间,该预定时间从1毫秒到100毫秒变化。分析模块包括预测算法,该预测算法实时监控输入音频信号并预测要提供给至少一个或多个动态处理器的参数。
输入音频信号的一部分或来自预处理模块的输入信号或来自增益控制器模块的输入信号还提供给干/湿模块。另外,干/湿模块从至少一个或多个动态处理器或增益控制处理器接收信号。接收到的输入信号按预定比例混合并传递到对偶滤波器。在一种变体中,干/湿信号的比例由分析模块动态控制和/或干/湿信号的比例由预设模块控制。
预定比例是恒定值,但在其他变体中,可以通过软件程序或通过用户界面来调整。
来自至少一个动态处理器的输出信号传递到另一动态处理器,该动态处理器可以是压缩器或增益控制处理器。压缩器减小了接收信号的动态范围。
侧链模块与一个或多个动态处理器(例如压缩器或增益控制处理器)相关联。压缩器至少包括检测器模块和阈值模块。在不同的实施方式中,检测器模块和阈值模块是独立的模块,并且与诸如噪声门、压缩器和增益控制处理器的动态处理器相关联。
压缩器模块的输出提供给包络跟随器模块,该包络跟随器模块将高频信号转换为低频信号。另外,它将双极性输入信号转换为单极性输出信号。包络跟随器的输出提供给振荡器模块,该振荡器模块对接收到的音频信号进行调制。同时,来自压缩器模块的输出信号也提供给谐振模块,该谐振模块(a)放大抑制的低频;(b)根据输入的音频信号激励弦、膜、板或其他乐器模型的物理模型;(c)向输出信号添加低频。混音器模块混合来自干/湿模块、振荡器模块和谐振模块的输出信号。混音器模块的输出传递到低通滤波器、限制器模块、钟形滤波器模块和致动器,以产生触觉输出。
触觉处理系统包括数字信号处理链、分析模块和预设模块。尽管在一些变体中,触觉处理系统包括数字信号处理链和分析模块。数字信号处理链包括音频输入信号、预处理模块、信号检测模块、一个或多个动态处理器或增益控制器处理器模块、干/湿模块、包络跟随器模块、振荡器模块、谐振模块、混音器模块、至少一个对偶滤波器模块、至少一个限制器模块、至少一个滤波器模块和其他模块。在一种变体中,数字信号处理链包括助推控制器模块。数字信号处理链是从输入音频信号到驱动致动器的触觉输出信号的信号流路径。
分析模块包括峰值分析器模块、瞬态检测模块、输入信号分析器和RMS生成器模块、侧链模块、检测器与阈值模块、预测与智能模块、增益控制器模块以及频率增益控制器模块。分析模块执行与峰值检测、均方根(RMS)值和瞬态检测有关的所有计算。分析模块计算需要传递到第一增益控制处理器和第二增益控制处理器或一个或多个动态处理器的参数。此外,分析模块还向包络跟随器模块和对偶滤波器模块提供控制参数。
分析模块包括峰值分析器模块、瞬态检测模块、输入信号分析器和RMS生成器模块、侧链模块、检测器与阈值模块、预测与智能模块、增益控制器模块和频率增益控制器模块,它们相互直接连接。可替代地,分析模块中的一些模块彼此直接连接,而其他模块中的一些彼此间接连接,即,这些模块通过函数调用、存储器引用、共享存储器或指针来交换参数。在另一种替代布置中,所有模块直接和间接地连接到每个其他模块。
由分析模块传递的一个或多个控制参数至少与阈值电平和/或增益衰减有关。
预设模块传递一个或多个控制参数以设置对偶滤波器模块、限制器模块,滤波器模块和上采样模块中的值。预设模块提供的参数用于控制输入音频信号,而不会干扰数字信号处理链。此外,在一个变体中,预设模块还可以将参数传递给混音器模块。
当在输入音频信号中检测到瞬态时,输入音频信号将传递到均方根模块,该均方根模块会暂时设置为零。
对偶滤波器模块从分析模块和独立于数字信号处理链的预设模块接收参数。
一种用于对输入音频信号进行实时和非实时信号处理的触觉处理系统,包括:分析模块,该分析模块还包括瞬态检测和分析模块;峰值分析器模块;输入信号分析器和均方根模块;侧链模块和检测器与阈值模块,该检测器与阈值模块配置成检测输入音频信号是否低于或高于阈值,其中所确定的值传递到预测与智能模块;与确定增益衰减参数的预测与智能模块相关联的增益控制器模块,其中,预测与智能模块应用预测算法来确定要应用于与数字信号处理链相关联的至少一个动态处理器的参数,以实时调制阈值电平和增益衰减以产生触觉输出。
瞬态处理系统可以在医疗设备、音频设备、电子设备或某些其他设备中实现。
公开了一种用于检测和处理音频输入信号中存在的瞬态以生成触觉输出的触觉处理系统和方法。该触觉处理系统包括数字信号处理链和分析模块。输入的音频信号同时提供给数字信号处理链和分析模块。分析模块包括瞬态分析检测模块,以检测输入音频信号中是否存在瞬态。当检测到瞬态时,瞬态分析检测模块将接收到的信号传递到快速包络跟随器和慢速包络跟随器,并计算快速包络跟随器和慢速包络跟随器之间的输出差。输出值之差优选为分贝(dB),并用于计算瞬态分数。瞬态分析检测模块还接收瞬态阈值。在不同的变体中,瞬态阈值由检测和阈值模块提供,或者可以在瞬态分析检测模块中计算得出。随后,根据瞬态分数确定瞬态二进制。瞬态二进制是二进制,可以是一(1)或零(0)。瞬态二进制与瞬态分数成正比或成反比。如果瞬态分数高于瞬态阈值,则将瞬态二进制设置为一(1),否则将瞬态分数设置为零(0)。通过将瞬态二进制数与瞬态分数相乘来计算瞬态输出。然后将瞬态输出提供给数字信号处理链,以控制或调整对触觉数据或触觉输出的处理。
在检测到瞬态时,与分析模块关联的输入信号分析器与RMS生成器模块将均方根值暂时设置为零(0)。
分析模块控制具有两个截止频率的对偶滤波器的打开和关闭。第一截止频率为f1,第二截止频率为f2。在不同的变体中,对偶滤波器带通滤波器能够分别将较低的截止频率f1和较高的截止频率f2移至较高的截止频率f1'和较高的较高截止频率f2'。
公开了用于处理来自输入音频信号的触觉数据以生成触觉输出的方法和系统。触觉处理系统包括数字信号处理链和分析模块。触觉处理系统接收输入的音频信号。在具有一个或多个动态处理器或增益控制处理器的数字信号处理链中处理输入的音频信号。分析模块分析输入音频信号特征以选择至少一种预测算法以产生触觉输出。使用存储在存储器中的一个或多个数据集和/或使用在分析模块中计算的一个或多个控制参数来训练所选的预测算法。在分析模块中计算的一个或多个控制参数基于瞬时RMS值、瞬时峰值、瞬态和其他输入信号参数。所述参数包括至少一个瞬时增益参数和/或瞬时阈值参数。控制参数实时动态更新。存储器存储与音频事件相对应的预编程触觉波形。可以通过分析模块动态更新存储在存储器中的触觉波形。预测算法可以预测控制参数,以使用一个或多个致动器和一个或多个助推器致动器来调制或控制数字信号处理链和/或显示器存储的触觉输出。所述预测算法基于先前的学习实时地控制或调制至少一个动态处理器或增益控制处理器。
使用实时数据或非实时数据训练预测算法。
使用一种或多种监督学习或一种或多种非监督学习算法对预测算法进行训练以进行预测。一个或多个控制参数是与输入音频信号特性有关的幅度、阈值、增益、相位或一些其他参数。
预测算法可以根据输入音频特性确定要添加或放大的声音的类型。预测算法可以向前看,并可以使用模糊逻辑基于弦、板或膜来附加或放大声音。
公开了用于处理输入音频信号以产生触觉体验的系统和方法。触觉处理方法在数字信号处理链和分析模块中接收音频输入信号。在至少一个增益控制器和一个或多个增益控制处理器中处理输入音频信号。分析模块处理输入信号以确定至少一个或多个控制参数,该控制参数被传递给一个或多个增益控制器以调制数字信号处理链中输入音频信号的处理。数字信号处理链包括一个或多个致动器/主致动器和一个或多个助推器致动器,以产生触觉体验。触觉处理方法通过一个或多个致动器/主致动器产生触觉输出。另外,一个或多个助推器致动器连接到助推控制器,该助推控制器控制用于触觉输出的助推器致动器的触发。助推器致动器的触发基于至少一个控制参数或音频输入信号特性。助推器致动器与主致动器同步生成触觉输出。
基于来自分析模块和混音器模块的至少一个控制参数来触发助推器致动器。可替代地,基于来自分析模块和物理谐振模块或振荡器模块的至少一个控制参数来触发助推器致动器。助推器致动器由助推控制器模块控制,该模块位于与分析模块关联的预测与智能模块中。在另一实施方式中,助推器致动器由助推控制器模块控制,该助推控制器模块位于与分析模块和助推控制器模块或LR助推控制器模块相关联的预测与智能模块中。
致动器/主致动器和一个或多个助推器致动器可以配置为立体声或四声道布置。立体声装置利用至少一个触觉处理模块或至少一个触觉处理系统。四声道布置利用至少两个或更多个触觉处理模块或至少两个或更多个触觉处理系统。
具体实施方式
如本文所使用的,术语“输入音频信号”、“接收信号”、“处理信号”意欲广泛地涵盖任何类型的音频信号,包括模拟音频信号、数字音频信号、音频数据、嵌入在媒体程序中的音频信号,包括嵌入在视频或音频程序中的信号,可以使用能够再现连接到网络或独立操作的任何某种其他类型的音频或媒体程序的呈现设备来呈现。它还包括实时媒体、线性媒体和交互式媒体程序,如音乐、游戏、在线视频游戏或任何某种其他类型的带有嵌入式音频的流媒体程序。
本文中使用的术语“触觉输出”或“触觉信号”或触觉体验应包括通过处理输入音频信号而产生的或通过利用数字信号处理、模拟信号处理或输入-输出信号的数字和模拟信号处理导出的触觉信号。触觉输出或触觉信号涉及触摸感,特别是涉及使用触摸感和感测向用户提供增强的体验的对象的感测和操纵。
术语“数字信号处理”或“触觉信号处理”旨在被广义地解释为包括对数字信号或模拟信号的处理以导出触觉数据、触觉反馈、触觉体验或对用户的触觉输出。
此外,通过参考在附图中描绘的图示的实施方式及其变体,可以最好地理解本发明及其优点,在附图中,相同的标号表示相同的部件。然而,本发明可以体现在用于触觉信号处理的多种设备中,并且不应被解释为限于本文阐述的示例性实施方式。下面描述示例性实施方式及其变体,以通过参考附图来说明本发明。
图1描绘了本发明的实施例中的触觉处理系统100A。触觉处理系统100A包括至少一个处理器110、协处理器118、通信模块116和输入/输出模块114、存储器102和一些其他模块。存储器102包括操作系统104、一个或多个应用程序106和触觉模块108。触觉模块108可以包括可执行指令,以从音频信号产生触觉信号以提供触觉反馈或触觉体验。接口总线112提供存储器102、至少一个处理器110、协处理器118、输入/输出模块114(也称为I/O模块114)、通信模块116和图1中未示出的其他模块之间的数据通信。
接口总线112促进各种互连模块之间的数字和模拟数据的传输。此外,它通过电源为不同的模块供电,还可以交换数据、信息、触发中断和执行某种其他类型的功能。
至少一个处理器110和协处理器118可以提供超线程、多任务和多处理。可替代地,处理器110可以是专用处理器或能够处理模拟或数字化音频信号的某种其他类型的微处理器。处理器110和协处理器118可以实现使数字信号处理成为的专用硬件,例如,由提供的MMX技术。MMX技术提供了附加的指令集来处理音频、视频和多媒体。
处理器110可以是MMX、SSE、SSE2(流单指令多数据扩展指令集2)、SSE3(流单指令多数据扩展指令集3)、SSSE3(补充流单指令多数据扩展指令集3)、SSE4(流单指令多数据扩展指令集4),包括变体SSE4.1和SSE4.2、AVX(高级向量扩展指令集)、AVX2(Haswell新指令集)、包括FMA3的FMA(融合乘法-加法)、SGX(软件保护扩展)、MPX(存储器保护扩展)、增强型Intel Speed Step技术(EIST)、XD位(NX位实现)、TurboBoost、超线程、AES-NI、Smart Cache或其他处理器实现类型。
协处理器118增强了游戏机的触觉信号处理,或者与处理器110协同工作,以加速触觉信号处理,实现实时的触觉反馈。触觉处理系统100可以包括图形协处理器、运动协处理器、DSP协处理器或有助于处理数字信号处理的某种其他类型的协处理器或某种其他类型的处理器。
触觉处理系统100A可以使用具有通用指令集的单个处理器或微处理器来实现,以减少开销和存储器使用。此外,单处理器实现可以易于维护,专注于执行单个任务(例如,触觉信号处理),并且由于结构简单而可以更持久。而且,单个处理器可以允许将触觉处理系统100A嵌入到小型消费电子产品中,例如电子手表、健身带、可佩戴的低音炮、耳机等。
存储器102可以是只读存储器(ROM)、随机存取存储器(RAM)、数字存储器、磁带存储器、闪存存储器、固态设备存储器或某种其他类型的存储设备。程序指令以编码指令的形式存储在存储器102中。存储器102可以存储加密指令、源代码、二进制代码、目标代码、加密编译代码、编码的可执行代码、可执行指令、汇编语言代码或某种其他类型的计算机可读指令。此外,用于将触觉模块108存储在设备中的存储器的类型取决于各种参数。这些参数可以包括实现触觉处理系统100A的设备的形状、大小、功能和配置。例如,该设备是耳机、耳麦、游戏机、笔记本电脑、可穿戴设备、移动电话、手机平板、平板电脑、iPad、游戏手柄、可穿戴电子设备、蓝牙手表、触觉带或实现触觉反馈的医疗设备(例如但不限于血压计、血糖计、血液计数器或某种其他类型的电子设备)。
至少一个处理器110和协处理器118可以同步操作以执行存储在触觉模块108中的指令。例如,协处理器118可以执行复杂的数学指令以减少处理器110上的执行负载。可替代地,处理工作量可以被硬编码在触觉模块108中存储的程序指令中,并且可以按照程序中提供的顺序执行。触觉模块108可以具有用于数字信号处理的相关联的专用硬件。
通信模块116可以经由有线或无线通信与外部设备/应用程序接口。例如,通信模块116可以经由有线电缆连接到服务器130。同样,通信模块116可以促进数据和信息的传输或从云140更新触觉处理模块100A中的任何应用程序。
另外,触觉模块108可以经由无线或有线网络连接到分布式网络150,以在可用软件更新时更新二进制代码。在其他变体中,可以通过互联网上的安全无线连接来传输更新,从而实现众所周知的加密技术和协议。通信模块116可以与一个或多个不同的服务器连接以下载更新。
通信模块116可以连接到电子设备,该电子设备可以下载用于更新触觉处理模块100A的二进制代码。触觉处理模块100A可以连接到任何电子设备,例如笔记本电脑、移动设备、台式计算机等。可替代地,电子设备可以通过诸如但不限于通用异步收发器(UniversalAsynchronous Receiver-Transmitter,简称为UART)的有线连接或经由其他串行通信模式来连接。可替代地,这通过使用通用串行总线(Universal Serial Bus,简称为USB)等来更新。
I/O模块114可以使用有线连接连接到一个或多个输入/输出设备,例如显示器122、扬声器124、致动器126和游戏接口128。例如,I/O模块114在单个设备中实现,并且所有I/O设备使用有线连接彼此连接。
I/O模块114可以使用迷你显示端口、微显示端口、DDM、显示流压缩、eDP、iDP、PDMI、wDP、SlimPort、DisplayID、DockPort、USB-C、HDMI、DVI、VGA、FPD-Link或某种其他类型的连接与显示器122连接。
可替代地,I/O模块114可以无线地连接到一个或多个输入/输出设备,例如显示器122、扬声器124、致动器126和游戏接口128。例如,触觉模块108可以在分布式环境中实现。触觉模块108可以以模块化形式实现,其中一些模块在致动器126中实现,而其他模块在存储器106中实现。致动器126可以与触觉处理系统100A无线通信以产生触觉反馈。通信模块116可以使用无线协议来实现,例如但不限于蓝牙、蓝牙低能量(Bluetooth Low Energy,简称为BLE)、ZigBee、Z-Wave、6LoWPAN、线程、WiFi-ah(HaLow)、IEEE802.11、包括2G、3G、4G和5G的GSM、LTECat0,1,&3、LTE-M1、RFID、NFC、ANT&ANT+(三星设备)、WirelessHART(开放无线标准)、DigiMesh和MiWi。
触觉处理模块100A还实现诸如802.11a/b/g/n和802.11的其他变体的无线协议。
此外,触觉处理模块100A还可以实现无线音频标准,例如但不限于Bluesound、Bose SoundTouch、Denon HEOS、NuVoGateway、Pure audio Jongo、Samsung Shape和LG'sNP8740。
此外,触觉处理模块100A可以实施幅度调制或频率调制以接收由广播设备或广播站广播的无线电信号。
I/O模块114能够支持一个或多个致动器,例如致动器126。致动器126可包括至少一个传感器或至少一个换能器。或者,致动器126可以是压电致动器、电活性聚合物(electroactive polymer,简称为EAP)致动器、电磁致动器、音圈致动器、螺线管、线性谐振致动器(linear resonant actuator,简称为LRA)、电机或能够提供触觉输出的某种其他类型的换能器。然而,为简单起见,在说明性的图1中仅示出了一个致动器126。
触觉模块108可以集成到一个或多个设备中。例如,触觉处理系统100A可以在嵌入式设备中实现。嵌入式设备的示例包括但不限于耳麦、耳机、移动设备、游戏机、游戏控制器、虚拟/增强/混合现实控制器、虚拟/增强/混合现实耳麦、手持电子设备、可穿戴电子设备、相机、操纵杆、平板电脑和掌上电脑。
触觉处理系统100A可以嵌入在微芯片或微控制器中。
触觉处理系统100A可以在片上系统(System on a Chip,简称为SoC)上实现。片上系统中的触觉处理系统100A的实现可以围绕微控制器或围绕微处理器。
在另一个实施例中,触觉处理系统100A可以在可编程片上系统(programmablesystem on chip,简称为PSoC)上实现。
触觉处理系统100A可在现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、在单个封装中包含一个或多个芯片的封装系统(SiP)、专用集成电路(ASIC)、特定于应用的标准产品(ASSP)中实现,或使用模拟元件,例如但不限于FET、晶体管、集成电路、电容器、电阻器、电感器或其任何组合。
另外,触觉处理模块100A可以以触觉模块108中的软件来实现。此外,可以将在触觉模块108中实现的软件指令编码在存储器中。
触觉模块108可以编程到存储器中。软件指令可以用汇编语言、二进制代码、机器语言、高级编程语言或这些语言的任何组合来实现。
可替代地,触觉处理系统100A可以实现为软件和硬件的组合。
参照图1B,在本发明的实施例中,提供了触觉模块108的高级模块化架构。触觉模块108可以作为软件实现或作为软件和硬件的组合实现。或者,触觉模块108可以以模块化布置来实现,其中一些模块可以在设备A中实现,而其他模块可以在另一设备B中远程实现。例如,一个或多个模块可以在耳机或耳麦(设备A)中实现,而其他模块可以在另一设备B中实现。设备B可以是可穿戴手表、基站、电子处理设备、游戏机、乐器或某种其他类型的电子处理设备。
触觉模块108接收音频输入信号162。音频输入信号162可以是数字信号或模拟信号。音频输入信号162可以是单声道、立体声、四声道、多声道音频格式(例如2.1、4.1、5.1、7.1或某种其他类型的环绕声格式),或数字标准(例如S/PDIF)、HDMI、TOSLINK、I2 S、Dolbydigital Plus、AES50、HyperMAC、USB、Firewire、Thunderbolt、AppleLightning或某种其他类型的数字格式。
输入音频信号162传递到预处理模块164。预处理模块164处理并转换输入音频信号162,并将其转换成用于产生触觉输出的合适形式。预处理模块164滤波、变换、下采样、上采样或执行其他功能。预处理模块164然后将处理后的信号传递到一个或多个动态处理器166A至166N。另外,输入音频信号162也可以提供给分析模块170。动态处理器166可以是专用类型的处理器,其包括但不限于噪声门、压缩器和限制器,在随后的附图中以不同的实现方式和/或变体对其进行详细描述。
来自一个或多个动态处理器166的输出传递到干/湿模块168。干/湿模块168还接收输入音频信号162。从动态处理器166A接收的输出和输入音频信号162在干/湿模块168中以固定比例组合。输入音频信号162与来自动态处理器166A的输出信号的比例被称为“干/湿”比例。可以基于诸如相位、频率和幅度的输入信号162的参数来预先编程或动态地确定干/湿比例。干信号与湿信号的比例可以根据从用户界面接收的输入进行编程。或者,可以将干/湿比设置为用户界面中可用的可选比之一。
来自动态处理器166A的输出信号传递到动态处理器166B...166N。存在至少两个动态处理器166,但是具有至少三个动态处理器166的其他组合也是可能的。例如,可以存在至少四个动态处理器166。应该注意的是,动态处理器166A..166N可以在功能上全部不同,但统称为动态处理器166。动态处理器166可以是噪声门、压缩器、解压缩器、扩展器、限制器、多频带压缩器、前瞻式压缩器、侧链压缩器、砖墙限制压缩器、并联压缩器或某种其它类型的压缩器。
来自动态处理器166N的输出馈送到包络检测器模块172。包络检测器模块172产生从动态处理器166N模块接收的输入信号的低频波形。使用固定频率振荡器模块174来调制来自包络检测器模块172的低频波形,以产生低频调制波形。同时,来自动态处理器166N的输出将传递到谐振模块178。然后,谐振模块178放大对应于弦、膜或板的低频分量,并将其输出传递到混音器模块180。另外,谐振模块178创建对应于弦、膜或板的附加新频率,或者放大并附加对应于弦、膜或其他乐器的附加新频率,并将其输出传递给混音器模块180。混音器模块180从干/湿模块168、固定频率振荡器模块174和谐振模块178接收输入信号,并且以预定比例将它们混合。可以使用模糊逻辑模块、人工智能模块、编程指令来确定预定比例,或者可以取决于输入信号的至少一个参数(例如增益、相位、频率或幅度)。来自混音器模块的输出传递到低通滤波器模块182、限制器模块184和钟形滤波器模块186,最后传递到致动器188以产生触觉输出。
钟形滤波器模块186的输出也传递到检测器模块190,检测器模块190探测在预处理模块164处信号的存在以及钟形滤波器186的输出信号。当检测器模块190在输入和输出处检测到信号时,其确保触觉处理模块100B保持在活动状态电源开启(ON)模式。在没有在预处理模块164处的输入信号和在钟形滤波器186处的输出信号的情况下,检测器模块190可以指示触觉处理模块100B进入省电状态以节省电池。
触觉处理模块100B可以由来自外部的电源以适当的电压和电流来供电。可替代地,电源可以由电池提供。电池可以是可充电或不可充电的电池。电池可以是小型密封铅酸(SSLA)电池、采用吸附式玻璃纤维棉(AGM)电池、凝胶电池(“gelcell”)、镍氢电池、镍镉电池、锂离子电池或某种其他类型的可充电电池。
检测器模块190可以从预处理模块164接收输入音频信号162和输出信号,以决定何时移动到省电模式或保持在电源活动状态。例如,基于特定参数,例如但不限于输入音频信号162和从预处理模块164的输出,检测器模块190可以决定保持触觉处理模块100B的活动状态电源开启状态。
可替代地,检测器模块190可以输入音频信号162和来自钟形滤波器模块186的输出信号,以决定触觉处理模块100B的电源状态。例如,检测器模块190检测输入音频信号162和在钟形滤波器模块186处的输出信号的存在。如果检测器模块190检测到输入音频信号162和在钟形滤波器模块186处的输出信号,则检测器模块190将触觉处理模块100B保持在通电状态。然而,在不存在输入音频信号162和在钟形滤波器186处的输出信号的情况下,检测器模块190将触觉处理模块100B置于省电或断电模式。在另一示例中,不存在输入音频信号162并且不存在在钟形滤波器模块186处的输出信号的情况下,检测器模块190在进入断电状态或省电模式之前启动对预定周期进行计数的计数器。预定时间段从1秒到20秒变化,尽管预定时间段优选地设置为10秒。
几种替代配置是可能的,例如,检测器模块190可以接收来自预处理模块164的信号以及来自钟形滤波器模块186的输出信号,以决定是否进入省电模式或保持在电源开启状态。在另一个示例中,检测器模块190接收输入音频信号162和来自分析模块170和钟形滤波器模块186的输出信号,以决定电源开/关状态。
本发明的新颖方面之一是使用输入音频信号162的每个数据段来生成触觉信号。本发明提供数字信号处理链和分析模块以产生触觉输出。数字信号处理链是输入音频信号162产生触觉输出的流路,并且包括处理输入音频信号162的所有模块。例如,输入音频信号162通过各种模块以产生触觉输出的直接流包括预处理模块164、一个或多个动态处理器166、干/湿模块168、包络跟随器模块172、振荡器模块174、谐振模块178、混音器模块180、低通滤波器模块182,限制器模块184、钟形滤波器模块186和检测器模块190。分析模块170分析每个数据段以控制数字信号处理链以增强触觉输出。分析模块170计算并存储与输入音频信号162相关联的峰值和均方根值。采用至少一个动态处理器166以去除噪声并减小输入音频信号162的动态范围。提供侧链作为反馈以控制至少一个动态处理器166的阈值和增益。至少一个动态处理器166是噪声门、压缩器或两个噪声门或两个压缩器等。可以通过谐振模块178来增强从至少一个动态处理器166接收的低频分量,该谐振模块178可以增加或放大可以抑制或减小接收信号中的低频。包络跟随器172将接收到的高频信号转换成低频信号,该低频信号传递到振荡器模块174。接收到的信号与来自其他模块的信号混合,以产生触觉输出信号。
触觉模块108的分析模块170使用输入音频数据段的不同大小的平均窗口来计算输入音频信号162的均方根幅度值。输入音频信号162使用一个或多个数据段来分析。要分析的输入音频信号162的数据段的数量可以随时间变化。例如,单个窗口中的数据段数可以为50。同样,下一个窗口中的数据段数可以为75。因此,不同窗口大小的平均幅度可以根据数据段的大小而变化。此外,触觉处理模块100B计算输入音频信号162的峰值幅度值和均方根幅度值,以确定一个或多个控制参数,诸如计算增益和阈值。触觉处理模块100B在固定的时间段内缓冲并存储峰值幅度值和相应的均方根值,以计算增益和/或阈值,这些增益和/或阈值用于控制一个或多个动态处理器166(例如,噪声门、压缩器和侧链)。这些设置被连续更新以调制或控制用于产生触觉输出的输入音频信号162的处理。有利地,这种新颖且独特的方法和系统架构提供了增强的用户体验。
另外,触觉处理模块100B实施快速开始/瞬态检测机制以在存在瞬态的情况下增强或补偿触觉信号。例如,瞬态可以是诸如音乐中的鼓声或游戏音频信号中的枪声之类的事件。开始检测机制可用于增强触觉信号的强度,以向用户提供更高水平的触觉体验。在本发明的实施例中,瞬态检测机制在分析模块170中执行。
图2提供了具有至少两个动态处理器的优选实施例200中的触觉处理模块的详细架构。触觉处理模块200可实现为硬件、软件或者实现为硬件和软件的组合。
触觉处理模块200示出了两个动态处理器以生成触觉输出。第一动态处理器和第二动态处理器分别示出为噪声门和压缩器。为了细节和清楚起见,已经根据动态处理器的功能来命名动态处理器。具有两个以上噪声门或两个以上压缩器的其他实施方式也是可能的。
触觉处理模块200接收输入音频信号162以产生触觉信号作为输出。输入音频信号162可以是模拟或数字信号或数字数据。输入音频信号162是采样数字信号、单声道数字信号,立体声数字信号,四声道数字信号或某种其他类型的采样数字信号。
输入音频信号162传递到预处理模块164。预处理模块164处理输入音频信号162并将其转换成合适的形式以用于进一步处理。例如,预处理模块164可以包括降采样器模块、模数(A/D)转换器模块和其他模块。如果接收到的输入音频信号162是模拟信号,则可以使用模数(A/D)转换器模块将模拟信号转换成数字音频数据流。同样,下采样器模块将输入音频信号162下采样到较低的采样率,以处理输入音频信号162。例如,将以44.1KHz采样的输入数字音频数据下采样到4.9KHz。优选地,在预处理模块164处接收的数字信号应以小于4KHz的采样率进行采样,以绕过输入音频信号162的下采样。当输入音频信号162不需要下采样时,可以将输入数字信号162直接馈送到噪声门模块206。
噪声门模块206与侧链模块208A相关联。噪声门模块206的主要功能是减少输入音频信号162中的噪声。预处理模块164的输出同时传递到噪声门模块206和侧链模块208A。侧链模块208A包括检测器模块、阈值模块、与其他模块(图2中未示出)分开的低通滤波器模块。可以将阈值编程到阈值模块中。该阈值由分析模块170实时地动态控制。分析模块170将一个或多个控制参数传递给阈值模块以调整噪声门模块206中的阈值或阈。在一个示例中,分析模块170分析输入音频信号162以确定输入信号中存在的噪声量,并相应地传递至少一个控制参数以调制与侧链模块208A相关联的阈值模块中的阈值。
在另一示例中,阈值或阈可以通过以规则的时间间隔从侧链模块208A进行的函数调用来设置。例如,可以每隔10毫秒启动一次用于设置阈值的函数调用。为响应函数调用,分析模块170在侧链模块208A中传递用于设置阈值的一个或多个参数。侧链模块208A对分析模块170进行的函数调用之间的间隔在时间上从1毫秒到200毫秒变化。
由与侧链模块208A相关联的阈值模块对分析模块170进行的函数调用可以返回整数值、浮点值、双精度值、对存储器的引用、子例程、函数或指针。这些术语在诸如C、C++、JAVA、JavaScript和其他编程语言的编程语言中是众所周知的。
可替代地,分析模块170可以在适当的时间间隔执行对与侧链模块208A相关联的阈值模块的函数调用以设置阈值。
阈值或阈可以使用用户可通过软件用户界面或硬件开关或拨盘访问的预设控件来设置。
噪声门模块206根据阈值或阈来调制接收信号的增益。阈值由阈值模块调整,该阈值模块根据分析模块170提供的参数与侧链模块208A相关联。分析模块170通过函数调用接收对与侧链模块208A相关联的阈值模块的请求。所述函数调用请求一个或多个控制参数来设置阈值。与侧链模块208A相关联的检测器模块检测在噪声门模块206处接收到的输入信号,以调整应用于噪声门模块206中的信号的增益。当输入音频信号162超过阈值时,检测器模块被激活。然后,检测器模块将增益因子应用于噪声门模块206,以衰减或传递输入音频信号162。输入音频信号162根据所施加的增益被衰减或放大增益因子。增益因子设置为0到1之间,并且阈值在编程时也设置为预定值,或者可以根据与输入音频信号162相关的各种参数进行动态更改。阈值被编程并设置为预定值,以及增益因子设置为0到1。其他变体和实现方式,例如动态地改变阈值、预设阈值、使用接口选择阈值,都落入本发明的范围内。
噪声门206通过与侧链模块208A相关联地施加增益因子/增益减小来衰减输入音频信号162。阈值模块中的阈值可以设置为(负)-20dB。输入音频信号162完全通过以获得大于-20dB的增益,或者在输入音频信号162高于阈值时通过。然而,当输入音频信号162低于阈值,即-20dB时,输入信号被衰减,并且施加小于1的增益因子。“增益因子”也被称为“衰减因子”。增益因子值在0到1之间变化。例如,增益因子是十进制值,诸如0.5、0.75、0.81、0.93等。
与阈值模块关联的分贝阈值在其他变化中从-10dB到-30dB不等。
分析模块170可以与噪声门模块206相关联,以控制或调整与触觉信号处理200相关联的各种参数。分析模块170检测输入音频信号162中的瞬态信号。如果检测到瞬态信号,则分析模块170暂时停止均方根(RMS)值,避免将任何音频信号峰值添加到输入音频信号162的RMS值中。在这种情况下,RMS信号值设置为零(0),或者在检测到瞬态时将RMS值重置为零(0)。随后,分析模块170执行两个不同的计算,即,(a)分析最后1秒中来自输入音频信号162的以分贝为单位的RMS值,其中在1秒的周期内对RMS值进行多次采样,然后平均以获得平均值,并且(b)在输入音频信号162中检查最近10秒钟内以分贝为单位的峰值信号值。然后,分析模块170(a)将以分贝为单位的预定常数值添加到以分贝为单位的计算的RMS值中,并且(b)从以分贝为单位的计算的信号峰值中减去以分贝为单位的预定常数值。预定常数优选为6dB,但是在其他实施方式中也可以变化。随后,将两个值,即在(a)和(b)处计算出的值进行比较,并将这两个值中的最小值作为噪声门206的阈值。例如,如果由分析模块170计算出的均方根值为-18dB,并且所计算的峰值信号值为-2dB,则分析模块170将+6dB加到RMS值上,这是-18dB+6dB=-12dB。同样,分析模块170从峰值减去6dB,即,-2dB-6dB=-8dB。利用这两个值中的最小值来设置噪声门的阈值。
每10毫秒计算一次RMS值,并确定在最近1秒钟内计算出的所有值的平均值,将其与6dB增益相加。其他变化包括计算在最近1秒钟内计算出的所有值的中值,并将这些值加到6dB增益上。同样,可以每5毫秒计算RMS值,并且可以计算所有值的均方根并将其加到6dB增益上。例如,另一种变化是均方根值是在1秒钟内计算2-10次之间的。在另一实施方式中,针对预定时间计算均方根值,该预定时间从1秒到10秒变化。
在另一实施方式中,针对预定时间计算均方根值,该预定时间从1秒到10秒变化。例如,每秒计算峰值信号值,并且取最大值作为峰值信号值。
以分贝为单位的预定常数值设置为6dB,但是,在另一个变体中,可以根据输入音频信号162的特性将预定常数设置为6dB至20dB。输入音频信号162的特性包括幅度、频率和相位。分析模块170在不干扰数字信号处理链的情况下控制和调整噪声门206模块和相关联的侧链模块208A中的各种参数。
来自噪声门206的输出信号具有降低的噪声水平,该噪声水平传递到压缩器模块212,以减小来自预处理模块164的信号的动态范围。同时,来自噪声门206的输出信号也传递到干/湿模块168。干/湿模块168还从预处理模块164接收信号,并且以预定比例(称为“干/湿比例”)混合来自噪声门206和预处理模块164的输出信号。
压缩器模块212减小了最大声部分和最小声部分之间的动态范围。压缩器模块212减小了最大声部分和最小声部分之间的动态范围。来自预处理模块164的输出信号也同时传递到侧链模块208B。侧链模块208B包括检测器模块、阈值模块和其他模块,以控制和调整压缩器模块212中的输入音频信号162。侧链模块208B从预处理模块164接收音频信号。与侧链模块208B相关联的阈值模块被编程为设置阈值或阈。当接收信号超过阈值时,检测器模块被激活。在激活时,检测器触发压缩器模块212中正在处理的输入音频信号162的压缩。例如,如果接收信号的幅度高于阈值或阈,则检测器被激活,并且压缩器模块212将接收信号的幅度减小特定量。压缩比限定压缩量。当输入音频信号162低于阈值电平时,检测器被停用,并且在压缩器模块212中处理的输入音频信号162被传递而没有任何压缩。除了压缩之外,压缩器模块212还通过分析模块170预先编程或动态控制的增益因子来放大输入音频信号162。在这种情况下,压缩器模块212施加增益并放大低于阈值的接收信号。
分析模块170控制应用于压缩器模块212的增益。压缩器模块212对分析模块170进行函数调用,以请求一个或多个参数来设置在施加压缩器模块212处的增益。响应于该请求,分析模块170向压缩器模块212提供一个或多个参数以设置增益。如编程语言领域中已知的那样,一个或多个参数由函数调用、子例程调用、过程调用或子过程提供。或者,从分析模块170返回到压缩器模块212的一个或多个参数可以是数据类型的变量,例如浮点数、双精度数、整数、指针或对存储器的引用。
压缩器模块212和侧链模块208B利用几个控制参数来调制输入音频信号162,以产生触觉输出/体验。这些参数包括阈值、压缩比、起音时间、释音时间、压限器拐点、增益补偿或某些某种其他类型的参数。例如,人声可能会使某些单词含糊不清。如果压缩器模块212设置为使得声音清晰可见的水平,则较低的含糊的词可能被忽略。同样,如果将压缩模块212设置为可以清楚地听到较低级别的混浊词的级别,则声音信号将优先于音频信号。需要正确混合参数才能产生可提供最佳触觉体验的输出信号。因此,需要设置和优化参数值以产生增强用户体验的触觉输出。
压缩器模块212具有至少一个参数以减小动态范围并将增益施加到输入音频信号162上。至少一个参数是压缩比。压缩是由压缩比限定的操作控制,压缩比降低输入音频信号162的峰值。压缩率越高,音频信号中峰值的减少幅度越大。压缩率可以是预设值、恒定值、取决于数字音频数据的值或取决于至少一个预定因子而动态变化的变量。例如,该因子是时间、输入数字音频数据、输入数字音频数据的幅度和某种其他参数。
另外,压缩器模块212具有至少另一个参数以减小动态范围并将增益施加到输入音频信号162上;至少一个参数是阈值。该阈值触发压缩器模块212中的压缩。随着阈值的增加,输入音频信号162的大部分下降到阈值以下,因此不施加压缩。随着阈值电平减小,更多输入音频信号162下降到阈值电平以上,并且施加压缩。阈值电平可取决于至少一个因素;该因素可为数字音频数据、模拟信号的幅度、数字音频数据的幅度、音频信号的类型、致动器的频率特性或某种其他参数。
此外,压缩器模块212具有至少一个其他参数以减小动态范围并在输入音频信号162上施加增益;至少一个参数是增益控制。压缩器模块212基于分析模块170提供的至少一个参数来施加增益。通过利用输入增益控制来调节输入音频信号162来控制压缩程度。增益控制可以放大输入音频信号162中的低频分量,以对用于触觉处理的音频信号进行归一化。
分析模块170与压缩器模块212和侧链模块208B相关联。分析模块170通过调制侧链模块208B的子低音控制来间接地调整压缩器模块212的增益。分析模块170检测输入音频信号162中的瞬态信号,并监控输入音频信号162中的音频峰值达预定时间,该时间从5秒变化到60秒。分析模块170计算在最近的10秒中信号峰值的出现,减去6dB并将推导的值传递到侧链208B上以改变压缩器侧链子低音控制。
阈值也可以被定义为范围,即,开放阈值和封闭阈值之间的阈值。可替代地,阈值电平是多水平阈值。
噪声门模块206和压缩器模块212也分别与侧链模块208A和侧链模块208B相关联,也称为侧链模块208。侧链模块208A和侧链模块208B可以在功能上相同或提供不同的功能。例如,侧链208A模块被预编程为用于控制噪声门模块206的操作。在另一个示例中,对侧链208B模块进行编程以控制连续数字音频数据的斩波。
可以提供用于实施侧链模块208的不同类型的变体。变型的示例包括恍惚门,其中噪声门206的打开和关闭不由数字音频数据控制,而是由软件代码、指令集、编程音频控制器和集成电路预编程和控制。
侧链模块208A或侧链模块208B包括至少一个带通滤波器或至少一个低通滤波器,以增强用户的整体触觉体验。这些滤波器的包含不影响声音的音质,但是影响侧链模块208A和208B的响应。例如,包括滤波器可以防止压缩器模块212或相关的噪声门206在处理tom轨道上处理铜钹的音响效果时产生错误的触发。
可以使用用户界面来控制干/湿模块168中的干/湿比设置,该用户界面是旋转开关、数字开关、模拟开关、智能模块或某种其他类型的可变开关。干/湿模块168的预定设置基于各种参数,例如由用户控制的设置、由用户经常使用的设置、基于对输入数字音频数据的分析的自动设置、或具有预编程设置的模糊逻辑或某种其他类型。
侧链模块208B监控压缩器模块212的输入音频信号162的电平,以调制压缩器模块212的响应。在另一变体中,侧链模块208B设置有与输入音频信号162不同的单独的外部输入信号源。在一种实施方式中,舞蹈音乐可以使脚踢和低音占据相同的频率范围。因此,必须强调脚踢和低音的效果,以增强触觉体验。触觉处理模块200利用脚踢作为侧链模块的输入,并且利用低音作为压缩器模块的输入,从而在脚踢被击打时使低音回避,从而避免了该频率范围内的相位和浑浊。
来自压缩器模块212的输出信号同时传递到包络跟随器模块172和谐振模块178。包络跟随器模块172将双极性信号转换为单极性信号。此外,包络跟随器模块172在不使输入波形失真的情况下将高频数字音频数据的变化减小为低频数字音频数据。例如,包络跟随器模块172产生低频信号作为输出,其是高频数字音频数据的副本。可替代地,包络跟随器172产生类似于高频数字音频数据到低频模拟音频数据的控制信号。包络跟随器模块172的输出是低频数字或模拟信号,其是从压缩器模块212接收的输入数字音频数据的低频包络。由包络跟随器模块172处理的低频信号可能具有需要滤波的波纹。使用用于平滑低频数字或模拟音频数据的数字或模拟滤波器对低频数字音频数据中产生的波纹进行滤波。此外,为了平滑和再现低频数字音频数据的精确副本,还可以使用一系列滤波器。低频数字音频数据的平滑可能会影响响应性。本发明利用各种技术来平衡由包络跟随器模块172产生的低频数字音频数据的平滑度和响应度。
包络跟随器模块172的增益由分析模块170调制。分析模块170接收输入音频信号162,并分析输入音频信号162以调整应用于包络跟随器模块172中正在处理的信号的增益。包络跟随器模块172可以用C、C++、Java或任何其他编程语言来实现函数调用以调用一个或多个参数。分析模块170响应于该函数调用,提供一个或多个控制参数,这些参数可用于在包络跟随器模块172中设置增益。可以使用一个或多个返回参数来实现函数调用。响应于包络模块172的函数调用的一个或多个返回参数可以是原始数据类型,例如但不限于浮点数、双精度数、整数、指针或对存储位置的引用。
包络跟随器模块172的输出叠加在固定频率振荡器模块174上。来自包络跟随器模块172的低频音频输出信号由固定频率振荡器模块174调制。固定频率振荡器模块174在致动器188的谐振频率附近或附近被调谐。当连接多个致动器时,固定频率振荡器174的谐振频率设置在50Hz至120Hz之间。不同致动器的谐振频率可能会略有不同。例如,游戏设备可以具有一个或多个致动器,每个致动器具有不同的谐振频率。第一致动器设置为60Hz的谐振频率,第二致动器设置为72Hz的谐振频率。在该实施方式中,振荡器模块174调谐为60Hz。在替代实施方式中,取决于输入数据特性和所需的触觉输出的类型,以72Hz或60Hz调谐振荡器模块174。
预定频率通常设置在60Hz左右。
压缩器模块212的输出信号也同时传递到谐振模块178。谐振模块178配置为激发弦、膜、板或一些其他乐器模型的物理模型。基本乐器的仿真有助于校正和增强音频信号,以放大和增强已抑制的低频。谐振模块178还将由于存在其他频率分量而被抑制的低频分量附加到音频信号中。例如,谐振模块178识别音频信号中被抑制的低频分量,并附加所识别的低频分量的基频分量,以增强用户的触觉体验。在另一个示例中,谐振模块178模拟音频信号以强调低频分量并创建更好的触觉体验。
固定频率振荡器模块174,谐振模块178和干/湿模块168的输出在混音器模块180中汇总和求和。混音器模块180以预定比例添加来自不同模块的输入。
在另一变体中,分析模块170与噪声门模块206、压缩器模块212、侧链模块208A和208B、谐振模块178、包络跟随器模块172以及用于分析输入音频信号162以提供自动增益控制的其他模块相关联。
分析模块170接收输入音频信号162,然后分析输入音频信号162以提取各种参数以控制如图2所示的触觉信号处理流程中的至少一个参数。分析模块170产生输出控制信号以调整与压缩器模块212、侧链模块208A和208B、谐振模块178、包络跟随器模块172和一些其它模块相关联的至少一个或多个参数。
来自混音器模块180的输出信号传递到低通滤波器182,该低通滤波器182滤除任何高频分量。另外,低通滤波器182还可以截止导致信号失真的谐波。在一种实施方式中,低通滤波器182可以被设计为区分由踢鼓产生的低频分量和由低音吉他产生的低频分量,以避免来自致动器188的连续触觉响应。低通滤波器模块182可以是一阶滤波器、二阶滤波器、三阶滤波器或某种其他类型的滤波器。带通滤波器用于对高频和不想要的低频进行滤波。
低通滤波器182的输出信号传递到限制器模块184。限制器模块184限制输出信号的幅度,以避免由于过大的电压或电流的传递而对致动器188造成任何损坏。限制器模块184可以是压缩比为∞:1的一种压缩器。输出的阈值可以设置为-3dB的阈值。在这种情况下,无论输入电平如何,输出电平均被限制为-3dB。
来自限制器模块184的输出信号可以传递到钟形滤波器186,其可以在低频范围内改善音圈和/或致动器188的频率响应。与线性谐振滤波器相比,线性谐振滤波器被调谐以在调谐的谐振频率下响应,触觉处理模块200可被用于响应宽频率范围,从而增强致动器188的触觉响应。就这一点而言,本文讨论的音圈或致动器188可以在宽范围的频率上操作,而不是仅响应于谐振频率。这在美国专利申请No.14/828,954,其通过引用并入本文。为了扩展音圈或致动器188的频率响应,钟形滤波器模块186可以使致动器188的谐振频率衰减。钟形滤波器模块186设计成提供具有反向频率响应的致动器188频率曲线的精确复制,该频率曲线与在频率f1和频率f2之间限定的频率范围上具有平稳的聚集曲线组合。例如,如果低通滤波器模块具有谐振频率f,而钟形滤波器具有对频率f的最大抑制,则两条曲线的总和将是频率f1和频率f2之间的平坦频率曲线。因此,低通滤波器模块182和钟形滤波器模块186的总体效果是在频率f1和f2之间的宽频率范围上产生响应。这导致可以在大范围的低频上体验到的增强的触觉响应。
检测模块190与钟形滤波器模块186相关联,其连续探测输出的触觉信号。检测模块190还与输入音频信号162相关联,并且连续检测输入信号的存在。检测模块190在钟形滤波器模块输出186和输入音频信号162两者上探测信号,分析信号的存在,并利用或逻辑来确定触觉处理系统100的开/关状态。当在钟形滤波器模块输出186或输入音频信号162处检测到信号时,检测模块190将触觉处理模块200保持在ON状态。如果在触觉处理模块200的输入或输出处未检测到信号,则检测模块190将触觉处理模块200移动到省电模式。应当注意,检测模块190从不进入OFF状态,而是控制与触觉处理模块200相关联的各种模块的状态以控制电源ON状态或电源OFF状态以节省电池。在本发明的实施例中,触觉处理模块200的输入和输出处的信号探测在1微秒至10秒之间。当在输入音频信号162处未检测到输入但在钟形滤波器模块186处检测到信号时,触觉处理模块200在进入节电模式或再次探查输入之前等待预定时间。为了消除由于信号处理中的延迟而留在触觉处理模块200中的任何未处理的触觉信号,需要这样做。
与常规的LRA致动器相比,使用音圈致动器188的优点在于在宽范围的频率上提供响应,这可以通过示例的方式来理解。在普通的线性谐振致动器中,致动器以其谐振频率(例如70Hz)工作。如果将低频(例如50Hz)馈送到以70Hz谐振频率运行的线性谐振致动器,则需要进行频率转换/移位以产生触觉响应。在本发明中,通过提供一个频率范围,致动器188可以在该频率范围内运行而无需任何频率偏移,从而消除了这种不足。有利地,这允许致动器188在频率的变化范围内操作而无需频移。
图3提供了本发明的优选实施例中的分析模块300的放大图。分析模块300的扩展视图包括分析模块170。分析模块170可以包括瞬态分析模块和检测模块304、峰值分析器模块306、输入信号分析器和RMS生成器模块308、侧链模块310、预测与智能模块312、检测和阈值模块314以及增益控制器模块316A和316B(统称为或单独称为增益控制器模块316)。
分析模块170接收输入信号162,该输入信号可以是模拟信号或数字信号。接收到的输入音频信号同时传递到瞬态分析与检测模块304、峰值分析器模块306以及输入信号分析器和RMS模块308。瞬态分析与检测模块304分析输入音频信号162中瞬态的存在。瞬态是由于声音状态的突然变化而引起的短暂能量爆发,并且在非谐波起音阶段显示出声音特性的快速变化。另外,信号中的瞬态包含高度的非周期分量和较高的高频幅度。信号中存在瞬态会扭曲声音的输出质量。瞬态分析与检测模块304使用多个包络跟随器来实现。例如,分析瞬态检测模块304可以包含低通滤波器(可选)、快速包络跟随器、慢速包络跟随器和瞬态灵敏度分析器。
在本发明的实施例中,快速包络跟随器和慢速包络跟随器可以实现为硬件或软件。在软件实现中,可以通过利用快速的起音时间和快速的释音时间来实现快速包络跟随器。同样,可以通过使用慢速释音时间来实现慢速包络跟随器。例如,快速的起音时间和快速的释音时间将使快速的包络跟随器能够跟踪输入波形。快速包络跟随器近似输入波形的副本。同样,缓慢的包络跟随器将具有较快的起音时间和较慢的释音时间,这使缓慢的包络跟随器能够最初跟随波形的上升,但是下降时间变慢,从而导致斜坡类型的衰减。另外,快速包络跟随器和慢速包络跟随器实现为硬件。实现此目的的一种方法是,对于快速包络跟随器使用较小的电容值,对于慢速包络跟随器使用较大的电容值。使用集成电路、定时电路和金属氧化物半导体场效应晶体管(MOSFET)的其他实施方式也是可能的。
快速包络跟随器实现为使用起音系数的软件。起音系数可以与一个或多个参数成比例。起音系数与采样率、起音时间(以毫秒为单位)和其他参数成正比。可替代地,起音系数可以与起音时间、采样率和具有比例常数的其他参数成反比。同样,慢速包络跟随器实现为使用释音系数的软件。释音系数与一个或多个参数成比例,例如但不限于释音时间,采样率和其他类似参数。或者,释放系数与释放时间、采样率等成反比,且具有比例常数。例如,起音系数可以是0.94912685796,起音时间为2毫秒,采样率为44,100,比例常数取决于输入波形的特性。类似地,在另一个示例中,对于30毫秒的释音时间和44,100的采样率,释音系数可以是0.99652519689。快速包络跟随器的输出值可以通过将起音系数乘以过去和当前输入音频数据点来计算。同样,可以使用释音系数和释音时间来计算慢速包络跟随器的输出值。
瞬态分析与检测模块304被委托来检测输入音频信号162中的瞬态,以在触觉信号的处理期间控制不同的参数。
峰值分析器模块306可以包括低通滤波器、峰值检测器和其他模块。峰值检测器模块306的主要功能是识别输入音频信号162中的峰值。
输入信号分析器与RMS生成器模块308执行分析信号并计算输入音频信号162的RMS值的任务。所计算的RMS值可以用于在与分析模块170相关联的动态处理器中调制阈值和增益。
一旦输入音频信号162的瞬态、信号峰值和RMS值被瞬态分析与检测模块304、峰值分析器模块306以及输入信号分析器与RMS生成器模块308分析,这些传递到侧链模块310以设置一个或多个动态处理器的增益,并且与触觉加工相关的包络模块。例如,在一个实现方式中,侧链模块310可以基于对从瞬态分析与检测模块304、峰值分析器模块306以及输入信号分析器与RMS生成器模块308接收的输入的分析来设置压缩器模块212和包络跟随器模块172的增益。
输入音频信号162的RMS值被用于设置一个或多个动态处理器的阈值或阈。例如,检测器与阈值模块314可以基于所分析的RMS值在噪声门模块206处设置阈值。可替代地,可以分析诸如输入音频信号162的瞬态,信号峰值和RMS值中的至少一个参数,以在一个或多个动态处理器中设置阈值或增益。
预测与智能模块312分别从峰值分析器模块306以及输入信号分析器与RMS生成器模块308接收信号峰值信息和RMS值。处理并分析接收到的信号峰值信息和RMS值,以控制侧链模块310中的增益以及检测器与阈值模块314中的阈值,以调整一个或多个动态处理器中的触觉信号处理。
在一种变体中,分析模块170在数字信号处理链之前接收输入信号。例如,输入音频信号162馈送到数字信号处理链被延迟预定时间,该时间可以从1毫秒到100毫秒变化。另一变体可以具有超前机制,其中输入音频信号162被馈送到分析模块170,并且随后传递到数字信号处理链。在另一个变体中,通过在分析模块170中提供预测算法来实现前瞻机制。预测算法实时监控输入音频信号162,并预测要提供给至少一个动态处理器的参数。
侧链模块310的输出传递到增益控制器模块316A以实时地调整至少一个动态处理器的增益。类似地,检测器与阈值模块314的输出传递到增益控制器模块316B,用于设置至少一个动态处理器的增益。
瞬态分析与检测模块304检测输入音频信号162中瞬态的存在,并将参数提供给数字信号处理链以控制瞬态在触觉处理中的效果。瞬态分析与检测模块304包括低通滤波器,快速包络跟随器和慢速包络跟随器以及瞬态分数生成器。低通滤波器是可选的。快速包络跟随器和慢速包络跟随器使得能够检测输入音频信号162中的瞬态。计算由慢速包络跟随器和快速包络跟随器处理的信号的平均幅度。平均幅度之间的差用于计算瞬态的存在。输入音频信号162中的瞬态被转换成瞬态分数。瞬态分数用于导出瞬态二进制。另外,瞬态分析与检测模块304接收瞬态阈值。当瞬态分数大于瞬态阈值时,将瞬态二进制设置为1,否则将瞬态二进制设置为0。
峰值分析器模块306确定输入音频信号162的峰值信号值。峰值分析器模块306与瞬态分析与检测模块304,输入信号分析器和均方根生成器模块308,侧链模块310以及检测器与阈值模块314相关联。分析输入信号在固定时间段内的峰值信号值和RMS值。固定时间段在5秒到15秒之间变化,但是,固定时间段通常设置为10秒。峰值信号值被存储或缓冲在与预测与智能模块312相关联的存储器中。
输入信号分析器和均方根生成器模块308分析固定时间段内的输入音频信号162,并确定均方根值。均方根值被缓冲或存储在与预测与智能模块312相关联的存储器中。
预测与智能模块312访问在存储器中缓冲的峰值信号值和均方根值。利用与预测与智能模块312相关联的存储器中缓冲的峰值信号值和均方根值来计算要传递给噪声门模块206或压缩器模块212的一个或多个控制参数。在一种变体中,预测与智能模块312利用用于存储异常高噪声的预存储值来使触觉处理模块能够处理触觉输出。
预测和智能模块312立即更新参数而没有等待时间,以使分析模块170能够将其传递到数字信号处理链。例如,在时间t1,传递给噪声门的参数值为x1,x2,…xn,传递给压缩器的参数值为y1,y2,…yn。在时间t2的另一个实例中,传递给噪声门的参数值为q1,q2,…qn,传递给压缩器的参数值为r1,r2,…rn。预测与智能模块312将这些参数值实时传递到数字信号处理链,以控制触觉输出。可以注意到,这样的实现几乎确保没有等待时间,并且使得能够实时控制输入音频信号162以产生增强的用户体验。
图3C示出了预测与智能模块312中的不同模块。预测与智能模块312与具有多个段的存储器330,助推器模块338和其他模块相关联。存储器330驻留在触觉模块108、存储器102中或者可替代地驻留在云140、服务器130或分布式系统150中。存储器330存储在微芯片、微控制器、计算机程序产品中或与触觉处理系统相关联的外部存储器中。另外,预测与智能模块312包括算法和触觉选择模块340。存储器330被分成多个段,例如段332、334和336。例如,存储段332存储音频波形分析参数342、存储段334存储触觉数据344和存储段336存储预测数据算法346。诸如存储器段332、存储器段334和存储器段336之类的存储器段仅用于表示。可能有多个存储器段,可以在一个存储器或多个存储器库中以不同的顺序分配它们。波形分析参数342存储与输入音频信号162的波形特性有关的信息。波形特征包括但不限于响度、音高、音色、传播速度、音调、自相关系数、过零率、峰值包络、开始、速度和计量、节奏、定时和波长。
类似地,触觉数据344存储不同的触觉信号。触觉数据344是预存储的触觉信号或用于控制数字信号处理链的触觉数字数据。替代地,触觉数据344是音频信号特征以产生触觉体验。优选地,触觉数据344是用于向用户提供触觉体验的一组数字值。
例如,通过对游戏中与不同触觉信号相对应的不同事件进行分类以产生期望的触觉效果来获得触觉数据344。使用分类算法,例如随机森林,将至少一种预测数据算法346训练到计算机游戏中的不同事件以产生触觉体验。触觉体验被存储为触觉数据344。预测数据算法346然后利用波形特性的一个或多个参数来预测触觉数据344,以通过一个或多个致动器产生触觉体验。
在另一实施方式中,可以由预测与智能模块312动态地更新触觉数据344。预测与智能模块312向分析模块170发送请求以启用存储器写操作。分析模块170授予写权限,使预测和智能模块312可以将触觉数据344写到存储器330中。预测与智能模块312将触觉数据344写入存储器330。可替代地,预测和分析模块312可以直接读/写到存储器330中。在另一变体中,预测与智能模块312连接到互联网以从与存储器中的用户游戏有关的服务器130、云140或分布式系统150下载触觉数据。
在另一实现中,预测与智能模块312通过实现一组程序/算法来计算要应用于一个或多个动态处理器166的增益和/或阈值,并通过使用RMS值和峰值,从分析模块170生成的瞬时值学习。预测与智能模块312最初基于输入音频波形特性选择至少一种预测数据算法346。可替代地,预测与智能模块312基于诸如游戏类型、游戏元数据等的游戏属性来选择至少一种预测数据算法346。如果不能确定属性,则预测与智能模块312基于最近的10场游戏使用最可能使用的预测算法。预测与智能模块312从实时数据中学习,即RMS值、峰值、增益和阈值。学习过程完成后,预测算法可以独立预测一个或多个数字信号处理链中的增益和阈值。这减少了处理开销并减少了音频和触觉体验之间的时间间隔。此外,预测分析还提供了对分析模块170的展望,用于设置诸如增益、阈值、预设等不同参数并控制诸如预设、对偶滤波器模块、物理谐振模块和数字信号处理链的其他模块等不同模块。
预测与智能模块312接收输入音频信号162的瞬时RMS值和峰值,以确定增益和/或阈值并调制/控制动态处理器166中的至少一个。另外,预测与智能模块312还接收输入音频信号162的瞬时波形特性。在下一步骤中,预测与智能模块312至少基于一个参数从存储的预测数据算法346的列表中确定最佳算法,该参数包括输入音频波形特征、游戏类型、游戏中嵌入的元数据以及诸如游戏中嵌入的音频线索等其他参数、游戏中不同类型事件的数量、事件的频率以及与游戏相关的某种其他类型参数。预测与智能模块312然后使用所选算法和输入音频信号162的瞬时RMS值、峰值和瞬时波形特性来训练自身以预测触觉输出。随后,预测与智能模块预测触觉输出以控制数字信号处理链。可替代地,预测与智能模块312可以将触觉数据344直接传递给一个或多个致动器,以提供触觉体验。在这种情况下,触觉数据344存储不同的触觉信号以提供宽带或高清晰度触觉体验。
在不同的实施例中,使用输入音频信号162的瞬时RMS值、峰值和瞬时波形特性对预测算法的训练还包括用户反馈。预测算法的学习是一个多层次的过程。在每个级别上,都会提供有关触觉体验的用户反馈。反馈用来校正触觉数据344以获得最佳的触觉体验。一旦完成了预测算法的多级训练,则预测与智能模块312然后可以开始预测用于最佳触觉体验的数据。该预测与控制数字信号处理链中的参数有关,或者该预测将至少一个触觉数据344启动给一个或多个致动器。
可替代地,预测与智能模块312提供有用户反馈以校正触觉体验。反馈回路接收用户反馈和实际触觉输出信号;用户反馈和实际触觉输出信号之间的差是与最佳触觉体验的偏差相对应的差分信号。预测与智能模块312使用该差分信号来校正触觉体验。例如,用户提供的反馈是分数。该分数对应于触觉信号与期望的触觉体验的偏离。用户选择分数以量化触觉体验。预测与智能模块312分析分数并采取纠正措施以优化触觉体验。
预测与智能模块312从预测数据算法346实施预测算法,以预测输出精度。例如,预测算法为预测准确性提供了置信度。当预测算法具有用于预测的低置信度水平(在0到1的范围内小于0.6)时,预测与智能模块312切换到分析模块170,以提供参数来控制数字信号处理链。但是,如果置信度大于0.6,则启用预测与智能模块以提供触觉输出。
用于训练预测算法的数据集预先存储在与预测与智能模块312相关联的存储器330中。数据集提供在存储器段中,或者可以从云140、服务器130或网络位置下载。预测与智能模块312利用预先存储的数据集来训练自身以预测触觉输出,或者可以将波形分析参数342与触觉数据344相关联。这种相关性对于预测用于触觉输出的实时输入音频信号很有用。在另一实施方式中,预测与智能模块312利用波形分析参数342和存储器330中的预存储数据来训练自身并学习触觉输出的预测。预测与智能模块312确定音频波形特性和其他参数以选择最佳和/或最接近的数据集来训练自身以预测触觉输出。另外,预测与智能模块312确定至少一种预测算法以用于触觉数据的自训练和分类。然后,预测与智能模块312从音频确定每个触觉事件,利用来自预测数据算法346的至少一种预测算法,并识别要提供给一个或多个致动器的触觉数据输出344。
存储器330、算法和触觉选择模块340直接与助推器模块338相关联。助推器模块338驱动一个或多个次级致动器(也称为)助推器致动器。助推器模块338的主要功能是通过驱动助推器致动器来斜升或提供额外的助推。
预测与智能模块312利用存储器330中预存储的触觉数据和根据音频信号的波形特性确定的参数来训练至少一种预测算法来预测触觉输出。预测的触觉体验与触觉数据344相关,以在预测的触觉数据344和波形分析特性342之间形成链接。为了减少计算时间,预测算法在音频信号和触觉数据344之间维护要传递给一个或多个致动器的表格。在置信度高(>0.6)的某些情况下,预测算法将预存储在存储器330中的触觉数据344直接流式传输到一个或多个致动器,例如致动器188。
在又一实现方式中,预测与智能模块312利用所有或一些参数,例如但不限于RMS值、峰值、音高、响度、音调、自相关系数、过零率、峰值包络、开始、速度与仪表、节奏、定时和波长单独使用或组合使用以预测触觉数据。另外,存储在存储器330中的训练数据的选择和/或存储为预测数据算法346的预测算法的选择取决于RMS值、峰值、音高、响度、音调、自相关系数、过零率、峰值包络、起点、速度与仪表、节奏、定时和波长以及其他输入音频信号特征。
在又一实现方式中,预测与智能模块312实时地预测增益和/或阈值以控制数字信号处理链。另外,预测与智能模块312接收音频信号特性;音频信号特性在每个时间实例上实时计算。预测与智能模块312分析音频信号特性以及阈值和/或增益的实时计算以实时执行机器学习。随后,预测与智能模块312预测要提供给数字信号处理链的增益和/或阈值,以产生增强的触觉输出。
预测与智能模块可以实现不同的监督学习算法,包括线性分类器,如线性自适应滤波器、核自适应滤波器、逻辑回归、普通最小二乘回归、朴素贝叶斯分类器、集成方法、支持向量机、决策树、增强树、随机森林、神经网络、最近邻、高斯混合模型、成分分析和一些某种其他类型的算法。
预测与智能模块312存储与与诸如游戏控制器、操纵杆等的任何游戏设备相关联的按钮按下事件相对应的参数,这些参数被传递给数字信号处理链以获得最佳的触觉体验。例如,游戏控制器提供与视频游戏中的爆炸相对应的按钮按下事件。按钮按下事件和相关联的参数传递到分析模块170。分析模块170经由输入信号分析器与RMS生成器模块308处理输入音频信号162,以确定音频信号的不同特性。例如,输入信号分析器与RMS生成器模块308确定峰值信号值、RMS值和其他音频信号特性。这与预测与智能模块312从游戏手柄或游戏控制器接收到的按钮按下事件的处理是并行的。使用预测算法来评估由输入信号分析器与RMS生成器模块308确定的参数以及使用预测与智能模块312中的预存储值生成的参数,以获得要传递到数字信号处理链以获得更好的触觉体验的最佳值。可替代地,预测与智能模块312决定利用使用输入音频信号确定的参数或预存储的触觉数据344参数来控制数字信号处理链中的至少一个或多个动态处理器。在另一种实现方式中,使用预测算法来评估由输入信号分析器与RMS生成器模块308确定的参数以及使用预测与智能模块312中的预存储值生成的参数,以确定或控制包络跟随器、预设值、对偶滤波器截止频率和其他一些参数。
预测与智能模块312实施至少一种分类算法。首先使用存储器330中预先存储的数据集训练从预测数据算法346中选择的分类算法。预测与智能模块312最初通过发起学习过程来从预存储的数据和波形分析参数数据342中学习。预测算法完成学习过程后,便使用该学习对触觉数据进行分类以提供触觉体验。例如,分类算法可以基于输入音频信号162的特性(例如RMS值和峰值)对增益和/或阈值进行分类,这些特性提供给数字信号处理链中的一个或多个动态处理器。预测与智能模块312实施非监督算法,例如,深度生成网络,其是生成概率模型。深度信念网络是一种深度学习算法,由可见层和多个隐藏层组成。预测与智能模块312使用存储器330中的预存储数据训练至少一个可见层。学习过程传播到隐藏层,然后从可见层学习统计关系。在一个实现方式中,可以使用贪婪分层训练来训练深度信念网络,该贪婪分层训练使用音频信号特征和预存储的数据来预测存储在触觉数据344中的最接近的触觉体验。在训练过程中,贪婪分层训练遵循自下而上的方法。可替代地,卷积深度置信网络也可以用于预测触觉信号。
预测与智能模块312实现无监督学习算法,包括但不限于聚类、k-均值、混合模型、DBSCAN(Density-based spatial clustering of applications with noise,基于密度的含噪声应用程序空间聚类)、OPTICS(Ordering points to identify the clusteringstructure,确定聚类结构的排序点)算法、自动编码器、深层信念网、Hebbian学习、生成对抗网络、自组织映射、期望最大化算法、矩量法、盲信号分离技术或其他一些无监督学习算法。
图4示出了具有预设模块402的触觉处理系统400。触觉处理系统400接收输入音频信号162。对该信号进行预处理,使其适合于在预处理模块164处进行处理。预处理模块164在可以将输入音频信号162提供给一个或多个动态处理器166之前,降低输入音频信号162的采样率并滤除输入音频信号162中的任何不想要的频率。在该实施例中,提供了两个动态处理器166,即,噪声门206和压缩器208。预处理的信号传递到噪声门206,噪声门206具有阈值电平;基于从分析模块170接收的参数动态地设置阈值电平。来自噪声门模块206的输出提供给压缩器模块208。另外,来自噪声门模块206的输出也提供给干/湿模块168。干/湿模块168以预定比例混合输入音频信号162和来自噪声门206的输出信号。干/湿模块168用作输入音频信号162(其是未处理的音频信号)与来自至少一个动态处理器模块的已处理的信号之间的混音器。干/湿模块168控制干信号与湿信号的混合以调节低频。此外,干/湿模块168通过将干音频信号与湿音频信号混合,改善了触觉输出信号。当使用湿音频信号无法产生声音效果时,干/湿信号的混合为产生触觉输出提供了基础。两个信号的预定比例在0和1之间变化。干/湿模块168的输出信号提供给混音器模块180。
噪声门模块206的输出信号传递到压缩器模块208,从而减小接收信号162的动态范围。压缩器模块208还接收来自分析模块170的参数。接收参数调节或控制或调整压缩器模块208的增益,而不会干扰数字信号处理链。来自具有减小动态范围的压缩器模块208的输出信号将传递到包络跟随器模块172。包络跟随器模块172将接收的双极性信号转换为单极性信号,进一步将接收到的高频信号转换为低频信号;低频信号是高频信号的复制品。包络跟随器模块172的输出传递到振荡器模块174,该振荡器模块调谐到固定的谐振频率,最好是致动器188的谐振频率。振荡器模块174围绕致动器188的谐振频率进行调谐。振荡器模块174的输出随后传递到混音器模块180。
来自压缩器模块208的信号也传递到谐振模块178,该模块放大接收信号中存在的低频分量谐振模块178可以附加复制字符串、板或膜的低频分量。此外,谐振模块178放大和/或附加在原始输入音频信号162中抑制的低频分量。此外,谐振模块178将低频添加到接收的信号中。此外,谐振模块178对弦、膜、板或其他乐器的物理模型进行刺激,以提高触觉输出。谐振模块178的输出传递给混音器模块180。
混音器模块180接收来自干/湿模块168的输入、振荡器模块174的输出和谐振模块178的输出。在混音器模块180中,接收的信号以预定比例混合,可以通过用户界面进行编程或变化。来自混音器模块178的输出信号传递到低通滤波器模块182。低通滤波器模块182抑制接收信号的任何不需要的高频分量。低通滤波器模块182的输出信号传递到限制器模块184。限制器模块184可确保接收信号中嵌入的任何不需要的能量仅限于致动器188的工作电压或电流。因此,限制器模块184会限制任何可能损坏致动器188的额外功率。此外,限制器模块184会限制信号中的电压,以避免对致动器188造成任何损坏。进一步移动,钟形滤波器模块186提高了致动器188的操作频率响应。来自钟形滤波器模块186的输出信号提供给检测器模块190和致动器188。致动器188转换来自钟形滤波器模块186的接收信号,以产生触觉输出。
预设模块402配置了一个或多个预设,用于在低通滤波器模块182、限制器模块184和铃形滤波器模块186中设置一个或多个控制参数。一个或多个控制参数包括截止频率、要混合在不同模块中的信号比例等。或者,预设开关由电子设备中的用户界面、具有不同预设值的旋转开关或某种其他类型的开关控制。
数交换独立于信号处理数字信号处理链。至少一个动态处理器(如噪声门206或压缩器208)和分析模块170之间的参数交换使用指针实现,通过引用传递值、共享存储器、函数、子例程、过程或任何某种其他类型的参数交换手段。例如,噪声门206从分析模块170接收参数值,并相应地控制噪声门206的阈值。在另一个实现中,压缩器模块208从分析模块170接收参数,以控制压缩器模块208的增益。
钟形滤波器模块186的输出信号传递到检测器模块190,检测器模块190还接收来自预处理模块164的输入或输入音频信号162。检测器模块190探测两个输入中的任何一个输入方存在信号,即来自预处理模块164的输入信号和来自钟形滤波器模块186的输出信号。如果任一输入未检测到任何信号,检测器模块190将触觉处理模块400关闭,进入省电模式。但是,如果在输入音频信号162和钟形滤波器模块186的输出上检测到信号,则检测模块190将触觉处理模块400保持电源ON或活动模式。当在输入或输出时检测到信号时,检测器模块190在预先确定的时间段内保持开电状态,并再次探测两个输入,并在两个输入上没有信号的情况下,检测器模块190关闭电源或进入省电模式。触觉处理模块400关闭电源前的时间段在10秒到60秒之间变化。
分析模块170包括瞬态分析检测模块304、峰值分析器模块306、输入信号分析器和RMS生成器模块308、侧链模块310、预测与智能模块312、检测器与阈值模块314、增益控制器模块316A和增益控制器模块316B。分析模块170和所有其他模块执行前面所述的功能。
参考图5,说明了触觉处理系统500。虚线连接说明了不同模块之间的参数交换,直线指示不同模块中输入音频信号502的流。
如前面和本文所述,触觉处理模块500包括数字信号处理链、分析模块170和预设模块524。分析模块170和预设模块524通过调整不同模块中的一个或多个控制参数,控制或调节数字信号处理链中音频输入信号的处理。数字信号处理链由处理音频输入信号以产生触觉输出的所有模块组成。
触觉处理系统500接收输入音频信号502(与输入音频信号162相同),该信号提供给预处理模块504。预处理模块504将信号转换为合适的形式,以便处理音频输入信号502,例如,通过将接收到的输入音频信号502转换为采样速率低于8KHz的信号。同样,预处理模块504可以包括低通滤波器,以移除不需要的频率。预处理模块504的输出提供给信号检测模块506。信号检测模块506检测来自预处理模块504的信号和从滤波器模块544接收的信号是否存在,在预处理模块504和滤波器模块544上没有信号的情况下,关闭触觉处理模块500的电源并进入省电模式。可替代地,如果检测模块506在预处理模块504或滤波器模块544上检测到信号,则使触觉处理模块500保持活动状态电源状态。可替代地,检测模块506会调查来自预处理模块504的信号和来自滤波器模块544的信号是否存在,并且如果检测模块没有检测到来自预处理模块504的信号,而是检测到来自滤波器模块544的信号,则检测模块将等待预定时间,然后关闭触觉处理模块500的电源。预定时间是10秒。预定周期在1秒到60秒之间变化。
信号检测模块506的输出提供给增益控制器模块508,该模块增加或减少信号增益。然后,增益控制器模块508的输出传递到增益控制处理器1模块526和分析模块170。增益控制处理器1模块526至少从分析模块170接收一个控制参数,如阈值;一个控制参数调整或控制增益控制处理器1模块526的阈值级别,并提供应用于信号的增益。将阈值参数传递给增益控制处理器1模块526是通过引用、值、指针或函数调用。增益控制处理器1模块526打开,当接收信号高于接收的阈值时传递接收信号,如果接收信号完全低于阈值或衰减系数(介于0和1之间),则衰减接收信号。应用于接收信号的增益根据分析模块170提供的参数动态变化。例如,应用于一个实例t1和另一个实例t2的增益彼此不同,取决于输入音频信号502的特性。
分析模块170还接收来自增益控制器模块508的信号。接收信号同时提供给瞬态分析检测模块314、峰值分析器模块306和输入信号分析器和RMS生成器模块308。瞬态分析检测模块304检测接收的输入信号中是否存在瞬态,而峰值分析器模块306计算接收的输入音频信号502中峰值在固定的时间内。同样,输入信号分析器和RMS生成器模块308计算接收的输入音频信号502的根均值,用于调节或控制至少一个控制参数,例如增益控制处理器的增益或阈值。
侧链模块310控制触觉处理系统500的不同参数,例如起音时间、释音时间、保持时间、压限器拐点以及与接收信号相关的其他参数。检测器与阈值模块314监控接收信号,并检测输入音频信号何时超过或低于阈值。从瞬态分析检测模块304、峰值分析器模块306、输入信号分析器和RMS生成器模块308、侧链模块310和检测器与阈值模块314的输出提供给预测与智能模块312。预测与智能模块312计算一个或多个控制参数,以控制触觉处理模块500不同阶段的信号处理。例如,基于从瞬态分析检测模块304、峰值分析器模块306、输入信号分析器和RMS生成器模块308、侧链模块310和检测器与阈值模块314接收的参数,预测与智能模块312向增益控制处理器1模块526提供参数,以控制阈值和/或增益。同样,瞬态分析检测模块304、峰值分析器模块306、RMS生成器模块308、侧链模块310和检测器与阈值模块314、预测与智能模块312调制或调整一个或多个增益控制处理器的增益。此外,侧链模块310的输出传递给增益控制器模块316A。同样,探测器和阈值模块314的输出也传递给频率增益控制器模块510。频率增益控制器552控制或调整特定频率接收信号的振幅,以提供宽带致动器的增强触觉响应。
增益控制处理器1模块526的输出提供给增益控制处理器2模块528,该处理器从分析模块170接收参数以设置增益、阈值和其他控制参数。增益控制处理器2模块528根据实时从分析模块170接收的增益和/或阈值等参数,减小接收信号的动态范围。参数按值传递、通过引用传递、通过指针传递或编程语言中常用的类似方法传递。
增益控制处理器2模块528的输出同时传递到包络跟随器模块534、物理谐振模块532和干/湿模块530上。包络跟随器将高频信号转换为低频信号,并将双极性信号转换为单极性信号以提供给振荡器模块536。振荡器模块536以固定的谐振频率调制接收到的信号。振荡器的固定频率可以从35Hz变化到120Hz。物理谐振模块532在接收到的信号中放大和/或附加抑制的低频以产生更好的触觉体验。另外,物理谐振模块532使用数学模型生成音频波形以添加与弦、膜或板相对应的频率。
干/湿模块530从增益控制处理器2模块528和增益控制器模块508接收输入。干/湿模块530处理接收到的信号并将输出提供给混音器模块538。
另外,分析模块170还将控制参数传递到包络跟随器模块534和对偶滤波器模块540上。分析模块170传递参数以控制包络跟随器模块534处的阈值和/或增益。另外,分析模块170还提供参数以控制对偶滤波器模块540。
预设模块524提供参数以控制干/湿模块530、混音器模块538、对偶滤波器模块540、限制器模块542、滤波器模块544和上采样模块546。例如,预设模块524提供用户界面以设置参数以控制混音器模块538。在另一个示例中,干/湿模块530包括提供给用户以改变参数的控制旋钮。
来自振荡器模块536、物理谐振模块532和干/湿模块530的输出提供给混音器模块538。混音器模块538以预定比例混合信号。预设模块524通过提供参数来控制不同模块的设置。来自混音器模块538的输出传递到对偶滤波器模块540。对偶滤波器模块540使用分别具有截止频率F1和F2的对偶滤波器对输出进行滤波。分析模块170控制与对偶滤波器模块540相关联的截止频率F1和F2。当检测到瞬态时,分析模块170指示对偶滤波器540将截止频率从较低的截止频率F1转移到较高的截止频率F2(F2>F1)以允许瞬态通过。在传递瞬态之后,分析模块170发送控制信号以将截止频率F2移回到截止频率F1。在一示例中,对偶滤波器540的截止频率是40Hz至250Hz。在另一个示例中,对偶滤波器540的截止频率在50Hz至400Hz之间。在当前实施方式的另一变体中,下截止频率在20-60Hz之间,而上截止频率在250Hz至500Hz之间。
然后将对偶滤波器模块540的输出提供给限制器模块542,以确保接收到的信号在致动器548的可接受操作范围内。否则,可能会在触觉输出中产生失真。为了克服这个问题,限制器模块542设置为-3dB,刚好低于0dB。
限制器模块542与过载模块和阻尼模块相关联。由于致动器548的初始重量,当激励电压传递到致动器548时,花费时间来实现预期的振动。这是由于致动器548的运动质量。致动器548的慢响应由过载模块补偿,该过载模块提供额外的激励以在初始激励时达到预期的振动。另外,致动器548的质量和在振动期间由其获得的动量不允许其立即停止为了补偿致动器548的附加振动,提供了阻尼模块。阻尼模块提供与输入信号异相180度的激励信号,以减弱振动并立即停止致动器548。
限制器模块542的输出提供给滤波器模块544以衰减任何不想要的频率。滤波器模块544的输出传递到上采样模块546以将采样率增加到期望水平。信号最终传递到执行器548,以产生触觉输出。
参照图5A,提供了一种触觉处理系统500A,其示出了至少两个致动器,即致动器548(致动器548也称为主致动器548以将其与其他致动器区分开)和助推器致动器564。主致动器548和助推器致动器564均与数字信号处理链以相同的模块并联连接,但是独立地操作。如先前和本文所述,数字信号处理链包括具有直接音频信号流的所有模块。输入音频信号在数字信号处理链中进行处理以生成触觉输出信号。数字信号处理链包括除分析模块170和预设模块524之外的所有不同模块。分析模块170和预设模块524通过传递一个或多个控制参数来控制或调整数字信号处理链的处理。此外,如先前和本文中所提供的,虚线连接示出了不同模块之间的参数交换,而直线指示了不同模块之间的输入音频信号的流动。此外,分析模块170实现如图3A、图3B和图3C中所描述的所有功能。
触觉处理模块500A接收提供给预处理模块504的输入音频信号502。预处理模块504例如通过将接收到的输入音频信号502转换成采样率低于8KHz的音频信号,将信号转换成合适的形式以使得能够处理音频输入信号502。预处理模块504包括低通滤波器以去除不想要的频率。预处理模块504的输出提供给信号检测模块506;信号检测模块506感测来自预处理模块504的输入音频信号502和从滤波器模块544接收的输出信号的存在,并且在预处理模块504和滤波器模块544不存在信号的情况下,将其关闭触觉处理模块500A的电源并进入省电模式。可替代地,如果信号检测模块506在预处理模块504处感测到信号或从滤波器模块544来的信号,则其将触觉处理模块500A保持在活动状态电源状态。另外,信号检测模块506检查来自预处理模块504的信号和来自滤波器模块544的信号的存在,并且如果在预处理模块504处未检测到信号,但在滤波器模块544处检测到输出信号,信号检测模块506在关闭触觉处理模块500A的电源之前等待预定的时间量。
预定时间在5到10秒之间,但也可以在1秒到60秒之间。
来自信号检测模块506的输出提供给增益控制器模块508,其增加或减少音频信号的增益。增益控制器模块508的输出然后传递到增益控制处理器1模块526和分析模块508。增益控制处理器1模块526从分析模块170接收一个或多个控制参数,例如阈值和/或增益。控制参数调整或控制增益控制处理器1模块526的阈值。另外,控制参数还至少提供在数字信号处理链中的处理期间要应用于输入信号的增益。可以通过参考、值、指针或作为函数或子例程调用将控制参数传递给增益控制处理器1模块526。
增益控制处理器1模块526以打开状态或关闭状态操作。当来自增益控制器模块508的接收信号高于阈值时,增益控制处理器1模块526在打开状态下操作并传递接收信号;然而,当接收信号低于阈值时,增益控制处理器1模块526处于关闭状态并衰减接收信号。在一种变体中,应用于接收信号的增益和/或阈值是实时动态更新的。此外,以变化的时间间隔动态地更新应用于接收信号的增益和/或阈值。例如,在时刻t1和时刻t2施加的增益和/或阈值根据输入音频信号502的特性而不同。
分析模块170和增益控制器处理器1模块526同时从增益控制器模块508接收输入音频信号502。所接收的输入信号提供给瞬态分析检测模块304、峰值分析器模块306以及输入信号分析器与RMS生成器模块308。对输入音频信号502执行并行处理。瞬态分析检测模块304通过实施稍后在图21中定义的瞬态检测算法来检测所接收的输入信号中的瞬态的存在。峰值分析器模块306在固定的时间内以变化的窗口大小计算接收到的输入信号中的峰值。窗口大小取决于信号的频率、音调、时间分辨率、频率分辨率和其他波形特性。在一个实施方式中,基于诸如Widrow-Hoff最小二乘(LMS)之类的自适应算法来选择窗口大小。同时,输入信号分析器和RMS生成器模块308计算接收到的音频信号的均方根值。峰值和RMS值用于计算一个或多个控制参数,以调制增益控制处理器1模块526和增益控制处理器2模块528,如图16的过程1600中所述。一个或多个控制参数是增益、阈值、音调、相位或与输入音频信号有关的一些其他参数。
分析模块170还包括输入信号分析器与RMS生成器模块308、侧链模块310、预测与智能模块312、检测和阈值模块314、增益控制器模块316A、频率增益控制器模块552和助推器分析模块338(如图3C所示)模块。峰值分析器模块306计算输入音频信号502的峰值。瞬态分析检测模块304检测输入音频信号502中是否存在瞬态。RMS生成器计算输入音频信号502的RMS值。如本文和其他地方,RMS值和峰值被用于计算一个或多个控制参数,诸如增益和/或阈值。类似地,瞬态分析检测模块304通过实现稍后在图21下描述的瞬态处理算法来处理输入音频信号502中的瞬态。侧链模块310控制用于触觉处理模块500A的不同参数,例如起音时间、释音时间、保持时间、压限器拐点和其他参数。检测器与阈值模块314监控接收到的输入信号,并检测何时输入音频信号移动到阈值之上或之下。来自瞬态检测模块304、峰值检测模块306、输入信号分析器与RMS生成器模块308、侧链模块310以及检测器与阈值模块314的输出提供给预测与智能模块312。预测与智能模块312计算与输入音频信号502特性相关联的参数值,以控制触觉处理模块500A的不同阶段的信号处理。预测与智能模块312可以实现如图3C中所描述的所有预测算法。例如,基于从瞬态分析检测模块304、峰值分析器模块306、输入信号分析器与RMS生成器模块308、侧链模块310以及检测器与阈值模块314、预测与智能模块312接收的参数将一个或多个控制参数提供给增益控制处理器1模块526以控制触觉处理。类似地,瞬态分析检测模块304、峰值分析器模块306、输入信号分析器与RMS生成器模块308、侧链模块310、检测器与阈值模块314以及预测与智能模块312在一个或多个增益控制处理器(如增益控制处理器1)处调制增益。而且,侧链模块310的输出也传递到增益控制器模块316A。同样地,来自检测器与阈值模块314的输出也传递到频率增益控制器模块510,其为控制参数提供进一步的提取以获得更好的触觉体验。
增益控制处理器1模块526的输出提供给增益控制处理器2模块528,增益控制处理器2模块528还从分析模块170接收控制参数以设置增益和/或阈值。增益控制处理器2模块528基于诸如从分析模块170实时接收的增益和/或阈值的控制参数来减小接收信号的动态范围。可以使用任何已知的参数方法来传递控制参数,例如按值传递、按引用传递、按指针传递等。
来自增益控制处理器2模块528的输出同时传递到包络跟随器模块534、物理谐振模块532和干/湿模块530。包络跟随器模块534将高频信号转换为低频信号,并将双极性信号转换为单极性信号以提供给振荡器模块536。振荡器模块536以固定的谐振频率调制接收到的信号。取决于主致动器548的谐振频率,固定频率以不同的变化从35Hz变化到120Hz。物理谐振模块532在接收到的信号中放大和/或附加和/或创建被抑制的低频,以产生更好的触觉体验。
干/湿模块530从增益控制处理器2模块528和增益控制器模块508接收输入。干/湿模块530接收干信号和湿信号作为输入。干信号是未处理的输入音频信号。湿信号是经过处理的输入音频信号。干/湿模块530以特定比例混合干信号和湿信号。干/湿信号的输出提供给混音器模块538。
分析模块170还将一个或多个控制参数传递到包络跟随器模块534、对偶滤波器模块540、对偶滤波器模块556和助推致动器模块554。
混音器模块538直接与对偶滤波器模块540连接。另外,混音器模块538也与助推致动器模块554连接。来自混音器模块538的触觉输出提供给对偶滤波器模块540、限制器模块542、滤波器模块544、上采样模块546以及一个或多个主致动器,例如主致动器548。图5A仅描绘了一个主致动器548,尽管可以提供多于一个的主致动器,例如548A、548B、548C、548D以产生触觉体验。
助推致动器模块554将输出信号提供给对偶滤波器556、限制器模块558、滤波器模块560、上采样模块562以及一个或多个助推器致动器564。尽管仅示出了一个助推器致动器564,但是在本实施例的另一变体中,诸如助推器致动器564A、助推器致动器564B、助推器致动器564C和助推器致动器564D的多个助推器致动器可以与上采样模块562连接。助推器控制模块554的主要目的是与主致动器548同步地提供附加的助推器以获得更好的触觉体验。助推器控制模块554还从助推器分析模块338接收输入,如图3中所述。
推致动器554从分析模块170和混音器模块538接收输入,以基于一个或多个控制参数来决定何时触发提升。控制参数是波形特性,例如幅度、频率、相位、响度、RMS值、峰值、计算出的增益、计算出的阈值以及在图3C的预测与智能模块中实现的预测算法。作为示例而非限制,混音器模块538将触觉信号提供给助推致动器模块554。助推控制器模块554具有与主致动器548同步地触发一个或多个助推器致动器564的逻辑。可替代地,助推控制器554基于从分析模块170接收的一个或多个控制参数来触发助推器致动器564。在另一实施方式中,助推致动器模块554可以基于从分析模块170接收的一个或多个控制参数和从混音器模块538接收的信号来触发一个或多个助推器致动器564。同样,在又一实施方式中,助推致动器模块554可以基于从分析模块170接收的一个或多个控制参数或从混音器模块538接收的信号来触发助推器致动器564。然而,主致动器548基于从数字信号处理链接收的信号来产生触觉输出。为了举例说明,触觉处理系统500A基于输入音频信号502连续地通过主致动器548产生触觉输出。但是,助推控制器554决定何时触发与主致动器548同相的助推器致动器564。
图5B示出了触觉处理系统500B的替代实施方式,其在所有功能上类似于500A,除了在该实施方式中,助推致动器模块554从振荡器模块536接收输出信号。该实施方式的新颖方面是使用简单的波形来驱动助推器致动器564以产生触觉输出。例如,助推器致动器564可以是线性谐振致动器(LRA),其在谐振频率处提供最大的触觉效果,并且可以与主致动器548集成在一起。基于LRA的助推器致动器564可以在谐振频率上调谐,并且主致动器548是宽带致动器,其被调谐以在一定频率范围内提供良好的频率响应。这种布置简化了助推器致动器564与主致动器548的同步,从而产生了更好的触觉体验。另外,混音器模块538混合从不同源接收的接收到的输入信号。输出波形是复数波形,该复数波形传递到主致动器548以产生高清晰度的触觉体验,而振荡信号由振荡器模块536提供。助推器控制器模块554基于一个或多个控制参数来触发助推器致动器564,以经由对偶滤波器模块556、限制器模块558、滤波器模块560和上采样模块562生成触觉输出。尽管仅示出了一个助推器致动器564,但是可以存在一个或多个助推致动器,诸如助推器致动器564A、助推器致动器564B、助推器致动器564C和助推器致动器564D,其连接至上采样模块562。在一示例中,主致动器548连接到一个或多个助推器致动器,诸如助推器致动器564A、助推器致动器564B、助推器致动器564C和助推器致动器564D。在另一示例中,一个或多个主致动器,例如主致动器548A、主致动器548B、主致动器548C和主致动器548D可以配置为一个助推器致动器564。在另一示例中,一个或多个主致动器(例如,主致动器548A、主致动器548B、主致动器548C和主致动器548D)与助推器致动器564A、助推器致动器564B、助推器致动器564C和助推器致动器564D连接。
图5C示出了类似于触觉处理系统500A的触觉处理系统500C的另一替代实施方式,除了助推致动器模块554从物理谐振模块532接收输出信号。然后,助力器控制器模块554基于一个或多个控制参数来触发助推器致动器564,以通过对偶滤波器模块556、限制器模块558、滤波器模块560和上采样模块562产生触觉输出。通过将物理谐振模块532连接到助推致动器模块554,可以放大几个抑制的频率以与主致动器548同步驱动助推器致动器564。输入音频信号502中的某些低频会丢失或被抑制,并且需要再生或放大以产生真实的触觉体验。这可以通过将来自物理谐振模块532的一部分触觉信号直接传递到助推致动器模块554来实现,该助推致动器模块554基于与主致动器548同步的一个或多个控制参数来驱动助推器致动器564。尽管仅示出了一个助推器致动器564,但是可以存在一个或多个助推致动器,例如,助推器致动器564A、助推器致动器564B、助推器致动器564C和助推器致动器564D连接到上采样模块562。在一示例中,主致动器548连接到一个或多个助推器致动器,诸如助推器致动器564A、助推器致动器564B、助推器致动器564C和助推器致动器564D。在另一示例中,诸如主致动器548A、主致动器548B、主致动器548C和主致动器548D的一个或多个主致动器配置为一个助推器致动器564。在另一示例中,一个或多个主致动器,例如主致动器548A、主致动器548B、主致动器548C和主致动器548D,与助推器致动器564A、助推器致动器564B、助推器致动器564C和助推器致动器564D连接。
预设模块524提供用于在干/湿模块530、混音器模块538、对偶滤波器模块540、限制器模块542、滤波器模块544和上采样模块546中设置参数或预定值的控件。例如,预设模块524提供用户界面以设置控制参数或值。在另一个示例中,干/湿模块530由用户经由软件或硬件用户界面可访问的滑块控制。另外,预设模块524用于在与助推器致动器564相关联的对偶滤波器模块556、限制器模块558、滤波器模块560、升采样模块562中设置控制参数或控制值。可以预定或使用用户界面设置控制参数或控制值。
进一步移动来自振荡器模块536、物理谐振模块532和干/湿模块530的输出信号在混音器模块538中混合在一起。混音器模块538以预定比例混合信号,或者可以通过预设模块524的用户界面进行设置。来自混音器模块538的输出传递到对偶滤波器模块540和助推致动器模块554。助推致动器模块554的输出提供给对偶滤波器模块556。对偶滤波器模块540和对偶滤波器556使用具有截止频率F1和F2的对偶滤波器对输出进行滤波。分析模块170控制对偶滤波器540和对偶滤波器556的打开。当检测到瞬态时,分析模块170指示对偶滤波器540和对偶滤波器556将截止频率从F1移到F2。在传递瞬态之后,分析模块170发送另一个控制信号以将截止频率移回到F1。在一个示例中,对偶滤波器的截止频率在40Hz至250Hz之间。在另一个例子中,对偶滤波器的截止频率可以在50Hz至400Hz之间。在另一个实施方式中,下截止频率设置在20-60Hz之间,而上截止频率设置在250Hz到500Hz之间。
然后将对偶滤波器模块540的输出提供给限制器模块542,以确保接收到的信号在主致动器548的可接受工作范围内。否则,可能会在触觉输出中产生失真。为了克服这个问题,将限制器模块542设置为正好在0dB以下的-3dB以提供平坦的触觉响应。类似地,来自对偶滤波器模块556的输出信号提供给限制器模块558,以确保接收到的信号在助推器致动器564的可接受工作范围内。
来自限制器模块542的输出传递到滤波器模块544,以滤波可能导致触觉输出失真的不想要的频率。同样,来自限制器558的输出提供给滤波器模块560。来自滤波器模块544的输出信号提供给上采样模块546,以在主致动器548中产生触觉输出之前增加采样率。同样地,来自滤波器模块560的输出信号提供给上采样模块562,以在助推器致动器564中产生触觉输出之前增加采样率。
可以以立体声或四声道配置来实现图5A、图5B和图5C。立体声配置具有左声道和右声道,每个声道具有图5A、图5B和图5C所示的触觉处理系统。例如,左声道音频和右声道音频是独立的数字信号处理链,包括音频输入信号502、预处理模块504、信号检测模块506、增益控制器508、增益控制处理器1模块526、增益控制处理器2模块528、包络跟随器模块534、振荡器模块536、物理谐振模块532、干/湿模块530、混音器模块538、助推致动器模块554、对偶滤波器模块540、限制器542模块、滤波器模块544和上采样模块546,以在主致动器548A中生成触觉输出。另外,数字信号处理链还包括助推致动器554、对偶滤波器模块556、限制器558,滤波器模块560、上采样模块562,以在助推器致动器564中生成触觉输出。分析模块170通过传递一个或多个控制参数来控制数字信号处理链。类似地,在四声道实现中,存在至少四个触觉处理模块,每个触觉处理模块包括具有分析模块的数字信号处理链,并且每个触觉处理模块与一个或多个主致动器548和一个或多个助推器致动器连接。可替代地,四声道信道也可以使用配置为提供虚拟四声道信道的两个触觉处理模块来实现。
参照图5D,示出了立体声触觉处理系统500D。立体声触觉处理系统500D包括输入音频信号502,其分别传递到数字信号处理链500A或500B或500C,如图5A、图5B和图C所示。为了区分左数字信号处理链和右数字信号处理链,左数字信号处理链显示为500X,右数字信号处理链显示为500Y。左数字信号处理链500X和右数字信号处理链500Y的输出提供给LR助推致动器模块570。助推致动器模块570包括对偶滤波器模块、限制器模块、滤波器模块、上采样模块,以驱动助推器致动器564。此外,左数字信号处理链500X通过一个或多个左致动器(例如左主致动器548A和548C)产生触觉输出。类似地,右数字信号处理链500Y通过一个或多个右主致动器(例如主致动器548B和主致动器548D)产生触觉输出。来自左数字信号处理链500X和右数字信号处理链500Y的输出信号的一部分提供给LR助推致动器模块570。如前所述,基于一个或多个控制参数触发LR助推致动器。主致动器(例如,主致动器548A和主致动器548B)的触觉输出与助推器致动器564协调,以产生同步的触觉体验。尽管仅提供了一个左主致动器548A和一个右主致动器548B,但是在其他实现中,触觉处理系统500D可以具有两个或更多个左主致动器,例如548A和548C,以及两个或多个右主致动器,例如548B和548D。
图5E示出了在本发明的实施例中左主致动器548A和右主致动器548B与助推器致动器564的放置。此外,在如图5E所示的本发明的另一变体中,一个或多个附加的左主致动器548C和一个或多个附加的右主致动器548D可与带有助推器致动器564的左主致动器548A和右主致动器548B一起提供。
参照5F,示出了具有左数字信号处理链500X和右数字信号处理链500Y的触觉处理系统500F。左数字信号处理链500X和右数字信号处理链500Y彼此相同,但是它们是独立的触觉处理系统,如在500A或500B或500C中提供的,不同于当前的实现方式。在一个实施方式中,左数字信号处理链500X驱动左主致动器548A和左助力器564A。类似地,右数字信号处理链500Y驱动右主致动器548B和右助力器564B。还分别将来自左数字信号处理链500X和右数字信号处理链500Y的左助推致动器模块和右助推致动器模块的输出提供给LR助推器控制器模块570。LR助推器控制器模块与主致动器和助推器致动器同步地驱动中心助推器致动器564。
参照图5G,提供了在耳机上的触觉系统的实施方式,其在耳机的每个通道上包括至少两个主致动器和两个助推器致动器。尽管在耳机上示出了示例性实施方式,但是触觉模块108可以在头带,游戏控制器,游戏手柄,操纵杆,移动设备或其他具有触觉输出的游戏设备中实施。图5G描绘了每个通道中的至少两个致动器。左通道具有左主致动器548A、左助推器致动器564A、另一个左主致动器548C和另一个左助力器564C。同样,右通道具有右主致动器548B、右主致动器548D、右助推器致动器564B和右助推器致动器564D。诸如多个主致动器和多个助推致动器的其他变体也落入本发明的范围内。
图5H示出了在耳机上实现的一个或多个主致动器和一个或多个助推器致动器的另一变体。参照500H,该配置包括至少两个左主致动器548A和548C以及至少两个右主致动器548B和548D。另外,存在至少两个左助推器致动器564A和564C,以及至少两个右助推器致动器564B和564D以及中心助推器致动器564。中心助推器致动器564与左助推器致动器564A、564C和右助推器致动器564B、564D协同作用。
在当前实施方式的变体中,限制器模块542和限制器模块558与超速驱动模块和阻尼模块相关联。由于主致动器548和助推器致动器564的初始重量,当激励电压传递到主致动器548和助推器致动器564时,花费时间来实现预期的振动。这是由于致动器中运动质量的重量。致动器的慢速响应由过载模块补偿,该模块提供额外的激励以在初始激励时达到预期的振动。另外,主致动器548和助推器致动器564中的运动质量的重量在振动期间获得动量。由于在振动期间获得的动量,主致动器548和助推器致动器564中的运动质量不会立即停止。为了补偿主致动器548和助推器致动器564的附加振动,提供了阻尼模块。阻尼模块提供反向的激励信号以阻尼振动,并立即停止主致动器548和助推器致动器564。
限制器模块542和限制器模块558的输出分别提供给滤波器模块544和滤波器模块560以衰减任何不想要的频率。滤波器模块544和滤波器模块560的输出分别传递到上采样模块546和上采样模块562,以将采样率增加到期望的水平。上采样的信号传递到数模电路以分别驱动主致动器548和助推器564以产生触觉输出。
图6A和6B描绘了在触觉处理期间输入音频信号中的各种参数。这些参数包括起音时间、释音时间、压限器拐点、增益和阈值,除了分别与侧链模块208A和208B相关联的在至少一个动态处理器(例如,噪声门模块206和压缩器模块212)中实现的其他参数之外。可替代地,这些也可以在触觉处理系统500及其变体中实现。
参照图6A,提供了与侧链模块208和侧链模块310相关联的不同参数。为了简化和分析,将输入音频信号162示为输入数字信号606。阈值电平610设置为-20dB。在当前实施方式的变体中,阈值208设置在-10dB和-20dB之间。
输入数字数据606在阈值610上未衰减地传递。当输入数字数据606刚好达到阈值610时,噪声门206将打开并传递所有输入数字数据606。当输入数字数据606下降到阈值610以下时,噪声门206关闭。在关闭状态下,噪声门206使输入数字数据606衰减。当输入数字音频信号606处于阈值610时,侧链模块208B触发起音时间612。起始时间612是噪声门206从关闭状态转变为打开状态所需的时间。状态从关闭到打开的变化也称为淡入持续时间。起始时间612设置在10毫秒至50毫秒之间。为了使噪声门206从关闭状态平稳过渡到打开状态,反之亦然,需要起音时间612。在没有平稳过渡的情况下,用户可能会在短时间内感到沉默。一旦输入数字数据606超过阈值610以下,则噪声门206关闭以将输入音频信号162衰减预定的值,该预定值称为增益因子/增益减小或衰减因子。在不同的实施方式中,分析模块170实时地控制增益因子或阈值610。例如,分析模块170传递诸如2.0的绝对值。在图3.4或7.5中设置阈值610在噪声门模块206中。可替代地,分析模块170向噪声门模块206提供诸如除数的相对值(将当前电平除以2)或将阈值降低14%。随后,在时间T1之后,输入数字音频数据606下降到阈值610以下。在这种情况下,噪声门206不是瞬间打开的,而是在打开之前保持了很短的时间。该短时间段称为保持时间618。保持时间618是在输入数字数据信号606降至阈值610以下之后噪声门206关闭之前的时间。这实现了噪声门206的打开状态和关闭状态之间的平滑过渡,并且还消除了不会在输出信号608中引起静音或咔嗒声的任何突然变化。启动释音时间620以开始关闭噪声门206的过程。触觉处理模块使用软件指令智能地改变保持时间618,以避免在另一种实现方式中发生颤动。在触觉处理模块200或500的多阈值实现中特别地提供了该供应以避免滞后。释音时间620结束后,噪声门206关闭。释音持续时间设置为0.1毫秒至5毫秒,但其他变化范围为0.1毫秒至1000毫秒。输出波形608在图6B中示出。输出波形608由实线表示。在此期间,噪声门206打开。相反,当噪声门206关闭时,输出波形608被抑制或衰减预定量,这在图6B中用虚线示出。上面的实现是在图6A和图6B中提供的一个示例性表示,但是其他变体是可能的。
图7示出了噪声门206处的输入音频信号162和输出信号。图7A示出了输入音频信号162被施加到噪声门模块206。输入音频信号162也传递到包括检测器的侧链模块208A。检测器监控输入音频信号162的状态以确定输入音频信号162是高于还是低于阈值电平。当输入音频信号162超过阈值电平时,输入信号不改变地通过。然而,当输入音频信号162低于阈值时,将输入音频信号162乘以增益因子/增益减小。由于增益因子小于1,因此这大大减少了输入音频信号162。结果是图7B所示的输出信号。通过在0和1之间改变增益因子值,可以控制施加到输出信号的衰减量。另外,分析模块170通过将参数传递到噪声门206来同时控制与噪声门模块相关联的参数,例如阈值。
分析模块170提供对信号增益的附加控制以增强输出信号。分析模块170基于对输入音频信号162的分析来调整一个或多个控制参数。分析模块170不直接干扰输入音频信号162的处理,而是控制一个或多个控制参数以调整数字信号处理链。分析模块170对参数的调整控制输出信号以产生更好的触觉体验。数字信号处理链的所有过程以及在分析模块170中执行的所有过程优选在微控制器中并行执行。在另一变体中,可以使用虚拟化来实现一些或所有过程。
在一个示例中,为了清楚地展示本发明的优点,触觉处理模块200具有数字信号处理链,该数字信号处理链包括预处理器模块164、动态处理器206和212、侧链208A和208B、包络跟随器模块172、振荡器模块174、谐振模块178、混音器模块180、低通滤波器182、限制器模块184、钟形滤波器模块186和致动器188以及其他模块。数字信号处理链是输入音频信号162的流路。输入音频信号162也提供给分析模块170,分析模块170对输入音频信号162执行分析,但是不干扰信号流。它仅向数字处理信号链提供一个或多个控制参数。
由分析模块170控制或调节的一个或多个控制参数是增益、幅度、频率、音调、音色、谐波成分、波形、噪声或某些某种其他类型的参数。
可以提供几种其他变体,例如分析模块170可以是可选的。分析模块170可以被部分地实现以仅在噪声门模块206中控制参数。在另一个变体中,分析模块170仅与噪声门模块206和压缩器模块212相关联。在又一个实施方式中,分析模块170与噪声门模块206、侧链模块208、压缩器模块212和包络跟随器模块172相关联。使用分析模块170的各种其他实施方式是可能的,其允许控制或调整与输入音频信号162相关联的参数以优化用户的触觉体验。
图8示出了压缩器模块212处的输入信号和输出信号。图8A示出了在压缩器模块212的输入处从噪声门206接收的输入音频信号162。压缩器模块212的主要功能是减小输入音频信号162的动态范围。音频信号的动态范围是音频信号中最安静部分和最响亮部分之间的差。
至少基于压缩率和/或阈值,在压缩器模块212处接收到的输入音频信号162的幅度减小。侧链模块208B中的检测器检测输入音频信号162何时超过阈值。当接收到的输入信号超过阈值时,输入信号的幅度将乘以从压缩比得出的增益因子/增益衰减。图8A在示例性图示中描绘了1:4的压缩比。压缩率和阈值取决于触觉处理要求。压缩比在1:2至1:100之间,阈值在0dB至-50dB之间。
在优选实施方式中,压缩比设置为1:5,并且阈值设置在-20dB至-36dB之间。压缩器模块212的输出信号在图8B中示出。图8B示出了通过将输入音频信号的幅度限制在阈值之上而在动态范围上显着减小的输出信号。
图9示出了压缩器处的增益和减小的动态范围。分析模块170通过向压缩器模块212实时提供参数来调整或控制施加到输入音频信号162的增益。图9A示出了在没有分析模块170的情况下压缩器模块212的输出信号。图9B描绘了当分析模块170施加控制参数时压缩器模块212的输出信号。分析模块170实时连续地提供控制参数。压缩结果信号(输出信号)以减小其动态范围以及对其施加的增益因子。增益因子可以基于各种参数而变化,例如但不限于输入音频信号的幅度、频率、音高、音色、谐波成分、波形和噪声水平。可替代地,多个参数共同确定在压缩器模块212中的音频信号的处理期间由分析模块170调整的增益因子。
参照图10,示出了触觉处理模块的流程图。处理1000在步骤1002开始。在步骤1004,过程1000接收用于产生触觉输出的数字音频信号。在步骤1004接收的输入音频信号是数字输入信号或模拟音频信号。在将接收的模拟信号传递到步骤1006之前,使用模数转换器将其转换为数字信号。当输入音频信号是数字信号时,不需要模数转换。在步骤1006,由信号检测模块处理音频信号以探测输入音频信号的存在。如果信号检测模块感测到输入音频信号,则触觉处理模块200被检测模块保持在通电状态,否则进入省电模式。另外,如果仅在输出端检测到信号,则检测模块会在进入节能模式之前等待预定的时间。这是由于当前正在处理的触觉处理模块中存在音频信号。在检测模块关闭到触觉处理模块的电源之前的延迟量可以通过预设或硬编码为常数来控制。在步骤1008,处理接收到的信号以减少输入音频信号中的噪声。利用包括检测器和阈值的侧链模块来实现输入音频信号中噪声的降低。输入的音频信号同时传递到侧链模块和噪声门。侧链包括检测器,该检测器检测输入音频信号是高于还是低于阈值。当输入音频信号高于阈值时,噪声门打开,并且输入信号不衰减地通过它。但是,当输入音频信号低于阈值时,通过将输入信号乘以增益因子来衰减输入音频信号。增益因子设置为0.3,但在数值0和1之间变化,例如,其他变化形式为0.3、0.75、0.89。此外,分析模块可动态调整噪声门的输入音频信号。分析模块通过监控幅度峰值来调整输入音频信号的增益。在步骤1010,减小音频信号的动态范围。信号动态范围的减小由侧链模块和分析模块控制。侧链模块包括检测器模块和阈值模块。阈值模块用于设置阈值。从步骤1008接收的音频信号同时传递到侧链模块和压缩器模块。另外,分析模块可以动态地调制输入音频信号的增益以优化触觉输出信号。输入的音频信号传递到侧链模块,该模块检测输入的音频信号是低于还是高于阈值。如果输入音频信号低于阈值,则检测器指示压缩器在不进行任何压缩的情况下传递整个输入信号。但是,如果输入音频信号高于阈值,则检测器会向压缩器发送指示以对输入信号进行压缩。基于压缩率来确定施加到输入信号的压缩量。所施加的压缩量由不同的参数确定,这些参数包括但不限于输入信号的幅度,相位和频率。
然后,在步骤1012,来自压缩器模块的经处理的音频信号通过包络检测器模块继续,包络检测器模块提取所接收的输入信号的信号包络。包络检测器模块从接收到的高频波形产生低频波形;它还将双极性信号转换为单极性信号。该低频波形是高频波形的副本。包络检测器模块产生的包络信号使用固定频率振荡器模块进行调制。固定频率振荡器模块被调谐到致动器的谐振频率。来自步骤1010的经处理的音频信号同时也传递到谐振模块。在步骤1014,由膜或弦乐器产生的低频分量被谐振模块放大。在一个示例中,已经被衰减和/或抑制的低频分量被增强以产生触觉信号。在另一个示例中,弦或膜产生的频率被添加到所接收的音频信号以产生用于增强的用户体验的触觉信号。
在步骤1016,将从不同源/模块接收的音频信号在混音器模块中混合。来自干/湿模块(图10中未示出)的输出信号和来自步骤1012和1014的音频输出信号被混合以产生触觉输出信号。另外,还从分析模块接收一个或多个控制参数。音频信号的混合可确保致动器产生最佳的触觉信号响应。例如,由于频率的高混合,难以提取正确的频率集合以产生触觉信号。在另一个示例中,由于较大的高频分量,所以大多数低频分量在音频信号处理期间也被消除。在又一示例中,如果音频信号输入被过度处理,则在各种模块处的处理期间,还将滤除将从输入音频信号导出的触觉信号。信号的混合产生正确的信号质量,以产生触觉响应。步骤1026向步骤1008、1010和1012提供输入。
步骤1016的输出信号传递到低通滤波器,以去除任何残留的高频分量。它还消除了对触觉信号输出无贡献的有害信号。随后在步骤1020通过至少一个滤波器,例如钟形滤波器,处理来自1016的音频输出,以改善在固定频率振荡器的谐振频率或致动器的谐振频率之内和附近的触觉信号的频率响应。在步骤1022,致动器接收输出信号以对用户产生触觉响应。处理1000在步骤1024处结束。
图11描绘了没有分析模块的数字信号处理链的流程图1100。在步骤1102处开始过程1100。在步骤1104,过程1100接收音频输入信号。在步骤1106,执行对过程1100的输入和输出处的信号的检测。如果没有检测到输入或输出信号,则触觉处理模块进入省电模式。另一方面,如果在输入或输出处存在信号,则触觉处理模块保持在电源接通状态。在步骤1108,由噪声门利用侧链模块处理输入音频信号,以消除输入音频信号中的噪声。与噪声门模块相关联的侧链模块包括检测器和阈值。当信号高于或低于阈值时,检测器将对其进行检测。当输入音频信号高于阈值时,整个输入音频信号将通过噪声门模块传递。但是,当输入音频信号降到阈值以下时,噪声门关闭,以衰减比或增益比/增益减小的方式衰减输入信号。来自噪声门的经处理的输出传递到步骤1110,在此,接收器信号被压缩器压缩以减小其动态范围。步骤1110的处理后的输出同时传递到步骤1112和1114。在步骤1112,高频信号被再现为低频信号。低频信号是频率降低后的接收输入信号的副本。此外,用固定频率振荡器对该低频信号进行调制以生成调制后的输出信号。同时,在步骤1114,针对由弦乐器或膜乐器产生的低频分量分析接收信号;由于不同音频频率的混合,这些低频分量被抑制。另外,这些低频是根据接收信号中存在的音频特性重新创建的。在步骤1116,来自步骤1112和1114的输出信号被混合。另外,步骤1116从干/湿模块接收输入,并从分析模块接收一个或多个控制参数。在步骤1118,来自步骤1116的输出信号通过低通滤波器。在步骤1120,低通滤波器的输出通过钟形滤波器传递,以适应致动器的谐振频率附近和附近的频率的适当响应。在步骤1122,将输出信号馈送到致动器以产生触觉响应。处理1100在步骤1124处结束。
参照图12,提供了用于减少噪声门处的输入音频信号中的噪声的流程图。处理1200是在步骤1008中执行的处理的详细流程图。在步骤1004,通过接收音频输入信号开始过程1200。在步骤1202中,将步骤1004的音频信号输入下采样到适当的电平,以减少输入音频信号中的不需要的信息,以使该信号适于触觉处理。信号的下采样包括:如果接收到的信号是模拟信号,则将输入音频信号通过数模转换器传递。在步骤1204,将输入音频信号直接馈送到干/湿模块和噪声门。在步骤1206,降噪音频模块和侧链模块处理降采样的音频信号,以减少输入音频信号中的噪声分量。侧链模块包括检测器和阈值。向侧链模块馈送输入音频信号,设置阈值,并且检测器确定输入信号是低于还是高于设置的阈值。当输入信号高于阈值时,噪声门将打开以传递输入音频信号而不会产生任何衰减。在输入音频信号低于阈值的情况下,噪声门将通过增益因子/增益减小来衰减输入信号,该增益因子/增益减小可至少在输入信号中存在的噪声电平之间在0和1之间。
侧链模块208A包括低通滤波器,以预滤波不需要的频率。步骤1206的输出作为输入传递到步骤1204。将步骤1206的音频输入信号(未处理信号)与输出信号(已处理信号)之比称为“干/湿信号比”。预混合比是固定的或硬编码的。可替代地,用户使用旋转或触摸界面从一组可用的预设值中选择预混合比。来自步骤1204的输出提供给步骤1208。
参照图13,示出了在压缩器模块中执行的过程1300。处理1300从噪声门模块1008接收处理后的信号。过程1300在步骤1302从侧链模块接收输入音频信号。侧链模块包括检测器与阈值模块,其能够设置阈值。在步骤1302,固定阈值。随后,检测器针对阈值监控输入音频信号。检测器根据阈值连续检测输入音频信号的电平,以调整压缩器模块中的增益。当输入音频信号低于阈值时,不应用压缩。相反,当输入音频信号高于阈值时,将压缩应用于接收信号。所施加的压缩由压缩比确定,压缩比根据与输入音频信号相关的各种参数从1:2到1:10不等。该比例确定施加到输入信号的增益衰减量,例如,比例4:1表示如果输入电平在阈值之上为4dB,则输出信号电平在阈值之上将减小为1dB。增益和输出电平降低了3dB。最终,在步骤1308,产生来自压缩器的输出信号。
图14示出了包络跟随器模块提取信号的过程的细节。在步骤1308,来自压缩器模块的输出信号馈送到包络跟随器模块。包络跟随器模块从压缩器模块接收的输出信号中提取低频音频信号。在步骤1402,通过包络跟随器模块将高频信号转换为低频信号。在步骤1404,将包络跟随器模块的输出提供给固定频率振荡器。如前所述,压缩器模块的音频输出也同时提供给谐振模块。固定频率振荡器被调谐到致动器的谐振频率。谐振模块放大音频信号中被抑制的低频分量。此外,谐振模块可以补充和放大频率,以提供更好的用户体验。再进一步,谐振模块的输出馈送到输入混音器模块。
参照图15,流程图示出了与预混音器模块相关联的过程1500。处理1500从固定频率振荡器模块接收输入音频信号1502。该信号是“干/湿”信号的比例。在步骤1504,从谐振模块接收处理后的信号。另外,在步骤1506,从干/湿模块接收已处理的信号,该信号是干/湿信号比例以预定比例的混合。应当注意,在步骤1508中,所有这些信号被同时接收并且以预定比例混合以产生输出信号,该输出信号被传递至低通滤波器。
图16示出了1600处的过程,示出了分析模块170内的输入信号处理。该过程开始于1602。在步骤1604,过程1600接收作为数字信号的输入音频信号162。接收到的输入信号同时传递到步骤1606和1608。在步骤1606,将接收到的输入音频信号传递到快速包络跟随器和慢速包络跟随器,以确定输入音频信号中的瞬态。可以利用本领域公知的用于瞬态检测的各种技术来确定输入音频信号中瞬态的存在。同时,在步骤1608,分析输入音频信号以确定信号峰值。可以针对输入音频信号在特定时间内分析信号峰值。指定的时间是10秒,但是指定的时间从10秒到60秒不等。
进一步移动到步骤1610,当检测到瞬态时,分析模块临时停止将在步骤1608处确定的峰值信号值添加到RMS信号值。RMS值设置为零。当没有检测到瞬态时,步骤1610被绕过。此时,在步骤1614,分析模块启动对输入RMS信号的分析至少一秒钟。在步骤1616,分析模块计算6分贝并将其添加到从输入音频信号获得的RMS值。最终的一组输入音频信号值被临时存储在与分析模块关联的存储器中。
同时,在步骤1608计算的峰值信号值传递到步骤1614,以计算峰值信号值(以分贝为单位)和恒定的6dB增益之间的差。由此获得的信号值被临时存储在存储器中的缓冲器中。
在步骤1618,确定临时存储在缓冲存储器中的两个输出的最小值,即,在步骤1616获得的第一个输出与RMS信号值的6dB距离,以及在步骤1614通过从峰值信号值减去恒定值(例如,6dB距离)获得的第二个输出。在步骤1620,将比较第一值和第二值之后获得的最小值传递到噪声门,以动态地控制阈值或其他控制参数。
恒定值(例如6dB距离)的加法或减法在0dB到-20dB之间,具体取决于所需的触觉处理。此外,6dB的分贝常数取决于信号噪声,幅度,频率,瞬态的发生频率或其他一些参数。类似地,根据信号处理要求,从信号峰值减去恒定值例如6dB的距离从0dB变化到-20dB。从信号峰值中减去恒定值(例如6dB或-6dB距离)取决于输入音频信号的幅度,频率和噪声电平。
从步骤1614输出的信号也传递到侧链模块,以在步骤1622控制子低音。在一个变体中,子低音模块是侧链模块的一部分。或者,它表现为一个单独的模块。该过程在1624结束。可以注意到,过程1600体现在分析模块170中。在另一个变体中,过程1600可以在数字信号处理链中实现。
参照图17,示出了过程1700以控制压缩器处的输入信号的处理。过程1700还描绘了在执行期间来自其他过程的参数控制。处理1700开始于1702。在步骤1704,过程1700接收输入音频信号。输入音频信号是数字信号。同时,过程1700还从谐振模块1706接收反馈信号。在一种变体中,过程1700没有从谐振模块1706接收反馈信号。在步骤1708,将所接收的输入音频信号和来自物理谐振模块的反馈信号相加并传递到低通滤波器。低通滤波器使接收信号中的低频通过。在步骤1710,基于从存储器接收的峰值信号值对压缩器模块的增益进行归一化。随后,一旦压缩器模块的增益已经被归一化,则过程1700在步骤1712中计算接收到的音频输入信号的RMS信号值或峰值信号值。然后,在步骤1712,过程1700计算所接收的音频输入信号的RMS信号值和峰值信号值。此外,在步骤1714,过程1700基于阈值来计算要应用于压缩器模块的增益衰减。阈值由与压缩器模块关联的侧链模块提供。在步骤1718,过程1700从存储器接收参数,例如,绝对值或相对值。例如,基于接收到的参数的绝对值;过程1700调制与压缩器模块相关联的起音释音包络随动件的释音时间。在当前实施方式的变体中,压缩器模块可以具有一个或多个包络随动件,其包括起音释音包络随动件,起音释音保持包络随动件等。在步骤1720,过程1700设置要应用于压缩器的增益衰减。最终,在步骤1722,输出信号传递到压缩器增益控制模块。处理1700在步骤1726处终止。过程1700在分析模块170中实现,但是在其他变体中,它可以在数字信号处理链中的动态处理器中实现。
参照图18,提供了分析模块中用于峰值信号检测的过程1800。过程1800还描绘了在执行期间来自其他过程的参数控制的实现。处理1800在步骤1802处开始,并立即移至步骤1804。在步骤1804,过程1800接收输入音频信号。在步骤1808确定输入音频信号的峰值和RMS值,并将其传递到存储器1724。另外,在步骤1808,还传递峰值和RMS值,以计算通过比较(a)减去6dB的峰值(单位dB)和(b)加上6dB的RMS值(单位dB)而获得的最小值。计算两个值中的最小值,并将其传递到步骤1812。另外,将计算出的值存储在例如1724的缓冲器或存储器中,以传递给其他处理。处理1800在步骤1810处终止。
图19示出了控制噪声门或提供动态处理器的过程1900。过程1900还描绘了在执行期间来自其他过程的参数控制的实现。处理1900开始于步骤1902,并且立即移动到步骤1904。在步骤1904,所接收的信号传递到低通滤波器以去除高频分量。低通滤波器的截止频率为200Hz,但在其他变化形式中,截止频率可以在50Hz至250Hz之间变化。在步骤1908,分析从低通滤波器接收的信号以确定峰值信号值。在步骤1910,从信号中提取的峰值用于基于至少一个控制参数来计算增益衰减。此外,步骤1910还从步骤1612接收控制参数,所述控制参数包括通过比较两个值而导出的最小分贝值,即,(a)用6dB减去峰值(以分贝为单位)和(b)通过从6dB相加而获得的RMS值(以分贝为单位)。在一些变体中,参数是地板,压限器拐点和阈值或其他参数。在过程1900中用于计算增益衰减的参数基于地板,压限器拐点和阈值。一旦计算出增益衰减,就在步骤1912将其传递到起音释音保持包络跟随器。随后,在步骤1914,将起音释音保持包络跟随器的输出发送到噪声门模块。该过程在步骤1916处终止。
参照图20,提供了用于确定分析模块中的RMS值的过程2000。过程2000还描绘了在执行期间来自其他过程的参数控制的实现。过程2000在步骤2002开始,并立即移至步骤2004。在步骤2004,过程2000接收输入的音频信号。输入音频信号与从瞬态二进制2010接收的输入信号混合。瞬态二进制是二进制值,可以是0或1。在步骤2006中,计算输入音频信号的均方根值。在步骤2006中计算出的均方根值将传递到步骤2008。步骤2008还从峰值检测模块接收参数。在当前实现的其他变体中,通过函数调用,过程,子例程或通过引用存储器或通过某种其他类型的参数交换机制来实现所接收的参数。进一步在步骤2008,确定两个值的最小距离,所述最小值分别是(a)减去6分贝的峰值和(b)加上6分贝的RMS值。计算出的以分贝为单位的最小值用于供给本文和其他地方描述的其他过程。处理2000在步骤2012处终止。
参照图21,提供了用于检测瞬态的过程2100。过程2100在步骤2102处开始,并立即移至步骤2104。在步骤2104,过程2100接收输入音频信号。在步骤2106,输入音频信号通过低通滤波器传递。低通滤波器的输出分别在步骤2108同时提供给快速包络跟随器,并在步骤2110同时提供给慢速包络跟随器。低通滤波器的输出分别在步骤2108同时提供给快速包络跟随器,并在步骤2110同时提供给慢速包络跟随器。在步骤2112,确定快速包络跟随器的分贝值与慢速包络跟随器的分贝值之差,以得出瞬态分数。
快速包络跟随器和慢速包络跟随器的差异(以分贝为单位)表示瞬态分数。可替代地,通过将快速包络跟随器和慢速包络跟随器的差(以分贝为单位)乘以恒定值来确定瞬态分数。在步骤2114,定义瞬态阈值电平。预设模块用于设置瞬态阈值电平,或者由与分析模块关联的软件控制。在另一个变体中,预测与智能模块可以动态地控制瞬态阈值电平。在步骤2116,基于瞬态分数来计算瞬态二进制。根据瞬态阈值水平分析瞬态分数;当瞬态分数高于瞬态阈值时,瞬态二进制设置为1,否则,瞬态二进制设置为0。在步骤2118,将瞬态二进制数与瞬态分数相乘以确定瞬态输出,该瞬态输出提供给对偶滤波器,以允许瞬态通过对偶滤波器。对偶滤波器是两个低通滤波器,第一低通滤波器1和第二低通滤波器2的组合。瞬态输出以截止频率f1提供给第一低通滤波器1,并以截止频率f2提供给第二低通滤波器2。当检测到瞬态时,预测与智能模块将指导对偶滤波器通过瞬态以增强用户体验。通过所有瞬态之后,对偶滤波器立即关闭以衰减其他较高频率的分量。当检测到瞬态时,对偶滤波器允许切换截止频率。对偶滤波器移动第一低通滤波器1和第二低通滤波器2的截止频率,以允许瞬态通过,并随后将截止频率衰减到其正常截止频率值。例如,当检测到瞬变时,具有截止频率f1的第一低通滤波器1被移到更高截止频率f3,并且具有截止频率f2的第二低通滤波器2被移到更高截止频率f4以适应所有瞬变的通入。
瞬态分数是离散的数字值,例如0.2、0.3...2.15等。确定的二进制值传递到步骤1810,将其提供给过程1800的RMS检测模块。在步骤2118,计算输出信号,然后将其发送到与本文以及其他地方描述的其他过程相关联的包络跟随器模块和对偶滤波器。处理2100在步骤2120处终止。
通过将参数、值、引用、共享存储器或指针传递给分析模块170,分析模块170将控制参数值传递给对偶滤波器。
通过将参数、值、引用、共享存储器,指针或参数传递的其他方式传递给参数,分析模块170将控制参数值传递给包络跟随器模块。
也可以用截止频率不同的多通滤波器代替对偶滤波器,例如F1,F2,…Fn。分析模块被编程为根据瞬态的频率范围来控制频率的偏移。分析模块确定频率范围,并根据瞬态的频率范围相应地设置多通滤波器。
分析模块可以实时接收输入音频信号162,而数字音频处理链以几毫秒的延迟被馈送输入音频信号162。分析模块170分析信号以预先识别瞬态,并相应地操作对偶滤波器或多滤波器以传递瞬态。预测和智能模块可在数字信号处理链处理瞬变和峰值之前预测它们。
第1段。提供了一种触觉处理方法,包括:接收输入音频信号;分析输入音频信号,以计算固定时间段内窗口大小变化的峰值幅度值和均方根值;利用计算出的峰值幅度值和计算出的均方根值,通过以下方法设置增益控制至少一个动态处理器:(a)确定峰值幅度值和预定增益之间的差;(b)确定均方根值和预定增益之和;其中从峰值幅度值减去的预定增益和加到均方根值的预定增益是常数;确定在步骤(a)和步骤(b)中确定的两个值中的最小值;应用最小值以动态地调制至少一个动态处理器的阈值电平。在一个实施例中,具有恒定值的预定增益在-10dB至-20dB之间。在一个实施例中,将最小值作为参数提供给至少一个动态处理器以实时更新至少一个动态处理器的增益。在当前实施方式的变体中,独立于数字信号处理链来计算参数。此外,基于输入信号特性和分析模块从输入音频信号累积的智能来提供参数。
第2段。提供一种非暂时性计算机可读介质,并在其上存储指令,当由处理器执行时,该指令使处理器执行接收输入音频信号的功能,分析输入音频信号以计算固定时间段内的至少一个峰值幅度值和至少一个均方根值改变窗口大小,确定所分析的至少一个峰值振幅值以计算峰值信号值,确定所分析的至少一个均方根值以计算平均均方根值,通过(a)确定峰值信号值和预先确定的恒定增益之间的差,以及(b)确定均方根值和预先确定的恒定增益之和,来设置至少一个动态处理器的增益,其中,从峰值幅度值和阈值中减去预先确定的恒定增益将预先确定的恒定增益添加到均方根值,(c)确定在步骤(a)和步骤(b)确定的两个值中的最小值,以及(d)应用所确定的最小值来动态调制至少一个动态处理器的阈值电平。
第3段。触觉处理系统具有数字信号处理流程链,其包括预处理器,至少一个动态处理器、存储器、包络跟随器、物理谐振模块、固定频率振荡器、低通滤波器、钟形滤波器、限制器和致动器。触觉处理系统还包括与至少一个动态处理器和存储器相关联并且能够接收输入音频信号的分析模块。分析模块包括均方根模块,其能够接收输入音频信号以计算均方根值。将计算出的均方根值与预定常数值相加。峰值检测模块接收输入音频信号以计算峰值信号值。从预定的常数值中减去峰值信号值。与均方根值相加并从峰值中减去的常数是相同的。另外,预测模块计算两个值中的最小值,即,(a)加到预定常数值的均方根值,以及(b)从峰值信号值中减去的峰值信号值。该最小值被缓冲在存储器中。缓冲的值提供给至少一个动态处理器。
第4段。提供了一种触觉处理方法,该方法包括以下步骤:使用至少一个动态处理器来接收输入音频信号,处理输入音频信号以消除噪声并减小输入音频信号的动态范围。至少一个动态处理器与侧链模块,检测器模块和阈值模块相关联。此外,数字信号处理链中的至少一个动态处理器与阈值和增益相关联。分析模块分别接收输入音频信号,以通过计算一个或多个固定时间段的峰值信号值、均方根值和瞬态值来确定音频输入信号特性。分析模块基于一个或多个峰值信号值、均方根值和将要实时应用于至少一个动态处理器的瞬态值来计算阈值参数和增益参数。分析模块使用函数调用,变量或作为存储器引用将阈值参数和增益参数传递给至少一个动态处理器。至少一个动态处理器利用阈值参数来设置阈值电平。不同的动态处理器利用增益参数来控制数字信号处理链中正在处理的信号的增益。数字信号处理链使用阈值参数和增益参数来连续地动态更新至少一个动态处理器以产生触觉输出。在一个实现方式中,数字信号处理链包括两个动态处理器,第一个是噪声门,其中与侧链相关联的噪声门至少具有阈值、保持时间、释音时间、起音和压限器拐点。第二动态处理器是压缩器,其中该压缩器与具有至少阈值、保持时间、释音时间、起音和压限器拐点的侧链相关联。
第5段。提供了一种触觉处理系统,其包括数字信号处理链。该数字信号处理链还包括至少一个动态处理器,该至少一个动态处理器配置为接收具有阈值电平和增益的输入音频信号。此外,使至少一个动态处理器能够接收参数以动态地控制至少一个动态处理器的至少阈值电平或增益。包络跟随器配置为接收双极性信号并将其转换为单极性信号,并将输入音频信号转换为低频信号。另外,提供了固定频率振荡器以在调谐的谐振频率处或附近调制低频音频信号。另外,谐振和物理模型增强了低频音频信号,并进一步放大了抑制的低频信号。混音器配置为混合从预设,谐振模型和固定频率振荡器接收的音频信号。低通滤波器耦合到钟形滤波器和限制器。限制器与致动器相关联以产生触觉输出。触觉处理系统还包括:分析模块,其具有:峰值检测器,用于从固定时间的接收的输入音频信号中计算出峰值;均方根计算器,用于计算固定时间的均方根值;预测计算器,其配置为:基于所计算的均方根值和所计算的峰值,计算要传递给至少一个动态处理器的参数,以传递所计算的参数,以控制一个或多个动态处理器的阈值和增益,以产生触觉输出。
第6段。提供了一种在触觉处理系统中处理瞬态信号的方法。该方法接收音频输入信号,并通过同时将输入音频信号传递到高通包络跟随器和低通包络跟随器来检测输入音频信号中的瞬态信号。该方法计算高通包络跟随器和低通包络跟随器之间的增益差。计算出的增益差用于确定瞬态分数。该方法接收瞬态阈值。瞬态分数被转换为瞬态二进制。当瞬态分数高于瞬态阈值时,瞬态二进制为1(二进制1),而当瞬态分数低于瞬态阈值时为零。通过将瞬态二进制数与瞬态分数相乘来计算瞬态输出,并将瞬态输出提供给包络跟随器和对偶滤波器。另外,瞬态二进制文件提供给RMS检测模块。
第7段。提供了一种计算机可读介质,其上编码有指令,该指令在由处理器执行时,基于输入音频信号提供触觉反馈,该指令执行以下步骤:(a)将输入音频信号处理为动态处理器,该动态处理器配置为侧链以将输入音频信号的增益控制在设定阈值以下;(b)将处理后的音频信号输入到配置有侧链的第二动态处理器,以将音频信号的动态范围控制在设定的阈值之上;(c)将音频信号传递到:(i)包络跟随器模块以提取音频信号包络,然后音频信号包络调制固定频率振荡器的幅度;(ii)谐振模块,配置为激发弦、膜、板或其他乐器模型的物理模型从输入音频信号;(d)混合从包络模块、谐振模块输出的信号和干/湿模块信号;(e)将触觉信号馈送到致动器以产生触觉输出。
第8段。提供了一种触觉处理系统,包括:检测模块;配置为侧链模块的噪声门模块;配置为以预定比例将输入音频信号与噪声门模块的信号输出混合的干/湿模块;配置为不同侧链模块的压缩器模块;与振荡器相关联的包络模块;配置为放大抑制频率的谐振模块,其中抑制频率使用弦或膜乐器再现;配置为混合来自干/湿模块的输出信号的混音器模块,固定频率振荡器模块,以及谐振模块和分析模块,所述分析模块配置为独立地处理所述输入音频信号以吸收智能并向所述噪声门模块和所述压缩器模块提供参数以产生触觉输出。在另一个实施方式中,输入音频信号与噪声门模块的信号输出的混合的预定比例在0和1的十进制值之间。另外,用户可以使用预设按钮来控制信号混合的预定比例。可替代地,与信号混合相关的预定比例是恒定的固定值。在一个实施例中,分析模块可以基于信号参数智能地配置预定值。
第9段。提供了一种用于实时和非实时信号处理的触觉处理系统,包括:分析模块,其包含以下至少两个:处理低于设定阈值的输入信号的动态处理器逻辑;处理高于设定阈值的输入信号的第二动态处理器逻辑;用于计算输入信号的平均值和峰值的模块,用于基于计算的输入信号的峰值和/或平均值(RMS)调整动态处理器逻辑的阈值和/或增益设置的逻辑,用于执行具有可变灵敏度的实时起始检测的模块;至少一个增益模块,用于将输入信号的信号幅度与分析模块的动态处理器逻辑的控制信号值相乘;干/湿模块,用于将输入音频信号与一个或多个增益模块的信号输出按预定比例混合;与振荡器相关联的包络模块;配置成从输入信号激发弦、膜、板或其他乐器模型的物理模型的谐振模块;以及配置成混合来自干/湿模块、振荡器模块和谐振模块的输出信号的混音器模块。在当前实施方式的变体中,峰值和均方根值存储在存储器中,并且被预测算法用来智能地预测输入音频信号的能量的进程。在当前实施方式的变体中,峰值和均方根值存储在存储器中,并且被预测算法用来智能地预测输入音频信号的能量的进程。在一个实施例中,分析模块提供可变的提前时间,并且使用先前确定的提前时间并行执行在分析模块中发生的所有过程。在另一实施方式中,可以在信号平均之前实施低通滤波器。在当前实施方式的变体中,至少一个动态处理器可以在阈值处或附近施加增益传递曲线。另外,至少一个动态处理器可以将最大增益减小限制为预定值。在一个实施例中,检测器模块配置为如果没有输入音频信号但是存在输出触觉信号,则对于触觉处理系统在预定时间段内维持激活状态。
第10段。提供一种触觉处理系统,包括:分析模块,其具有至少一个计算信号增益衰减的动态处理器逻辑;至少一个计算均方根值的信号平均计算模块;至少一个信号峰值计算模块;至少一个存储器,其中,存储信号峰值和均方根值的值;至少一个用于执行具有预定灵敏度的实时瞬态检测的模块;至少一个用于将输入信号的信号幅度与分析模块的动态处理器逻辑的控制信号值相乘的增益控制模块;一种低通滤波器,包括第一滤波器和第二滤波器,所述第一滤波器和第二滤波器并行地处理所述输入信号,其中所述第二滤波器具有比所述第一滤波器更高的截止频率。在一个实施例中,瞬态检测为瞬态提供二进制状态输出和连续值。在一个实施例中,基于瞬态检测来复用或混合并行滤波器的输入和输出,并且基于瞬态输出来确定截止频率的受控偏移。另外,基于从瞬态输出接收的连续值,连续地调节与对偶滤波器的第一滤波器和第二滤波器相对应的截止频率。
本文所述的各种模块仅是示例性的。可以使用其他配置和模块数量。可以使用非模块化方法来实现本发明,并且可以在不同的组件中实现不同的子例程,这些不同的组件可以作为一个单元来实现期望的触觉响应。此外,各种模块可以以单个布局制造并以单个芯片实现。可替代地,当使用多个芯片来制造触觉处理模块200时,可以在不同芯片上实现一个或多个模块。
由本文描述的模块提供的功能的描述是出于说明性目的,并且不旨在是限制性的,因为一个或多个模块可以提供所描述的附加或更少的功能。此外,模块的配置及其布置也意在说明性目的,并且不旨在限制本发明,因为可以在不脱离本发明的范围和精神的情况下移除或添加或重新布置一个或多个模块。此外,可以消除一个或多个模块,并且其功能可以由其他模块完全或部分地提供。此外,可以扩展一个或多个模块以显示其中的其他模块。每个扩展模块的功能可能不同,但是总体效果将产生触觉输出。
Claims (15)
1.一种用于从输入音频信号产生触觉输出的触觉处理方法,所述方法包括:
在数字信号处理链和分析模块中同时接收输入音频信号;
在包括至少一个动态处理器的数字信号处理链中处理输入音频信号;
使用RMS值和峰值确定分析模块中的至少一个控制参数,以设定至少一个动态处理器的至少控制参数;
在混音器模块中混合处理信号,混音器模块的特征是从干/湿模块、振荡器模块和谐振模块接收预定比例的处理信号;以及
驱动致动器以产生触觉输出。
2.根据权利要求1所述的触觉处理方法,其中所述分析模块的特征在于:
分析在固定时间段内随窗口大小变化的输入音频信号峰值和RMS值;
通过以下方式确定至少一个控制参数:
(a)确定峰值振幅值与预定常数之间的差值;
(b)确定RMS值和预定常数之和;以及
(c)计算在步骤(a)和步骤(b)确定的最小值;
应用在步骤(c)确定的最小值以动态调制至少一个动态处理器的至少一个控制参数。
3.根据权利要求1所述的触觉处理方法,其中所述输入音频信号是实时或非实时处理的。
4.根据权利要求1所述的触觉处理方法,其中所述输入音频信号包括瞬态。
5.根据权利要求4所述的触觉处理方法,其中瞬态的存在调用瞬态处理过程,所述瞬态处理过程执行以下步骤:
同时将输入音频信号传递到快速包络跟随器和慢速包络跟随器;
计算快速包络跟随器与慢速包络跟随器之间的输出值之差;
根据输出值之差计算瞬态分数;
接收瞬态阈值;
根据瞬态分数得出瞬态二进制;
其中当瞬态分数高于瞬态阈值时,瞬态二进制设置为一(1),以及
当瞬态分数低于瞬态阈值时,瞬态二进制设置为零(0);
通过将瞬态二进制乘以瞬态分数来计算瞬态输出;
提供瞬态输出,以调整数字信号处理链中触觉数据的处理。
6.根据权利要求1所述的触觉处理方法,其中当在输入音频信号中检测到瞬态时,RMS值设置为零。
7.一种用于从输入音频信号产生触觉输出数据的触觉处理系统,所述触觉处理系统包括:
用于处理输入音频信号的数字信号处理链,其包括至少一个动态处理器,所述至少一个动态处理器配置成接收至少一个控制参数;和
与至少一个动态处理器关联的分析模块,所述分析模块包括:
输入信号分析器与RMS生成器模块,其用于计算固定时间段内输入音频信号的RMS值;
峰值分析器模块,其用于计算不同固定时间段内输入音频信号的峰值信号值;以及
所述分析模块执行以下步骤:
(a)确定峰值振幅值与预定常数之间的差;
(b)确定RMS值和预定常数之和;以及
(c)计算在步骤(a)和步骤(b)确定的最小值;
应用步骤(c)确定的最小值,以动态调整至少一个动态处理器的至少一个控制参数。
8.根据权利要求7所述的触觉处理系统,其中至少一个动态处理器是噪声门或压缩器。
9.根据权利要求7所述的触觉处理系统,进一步包括包络跟随器模块,所述包络跟随器模块配置成从分析模块接收至少一个控制参数。
10.根据权利要求7所述的触觉处理系统,进一步包括预设模块,所述预设模块配置成将控制值设置为一个或多个模块,所述一个或多个模块包括钟形滤波器模块、限制器模块、低通滤波器模块和混音器模块,其中:
混音器模块的特征是从干/湿模块、振荡器模块和谐振模块接收预定比例的处理信号;以及
使用预设模块设置预定比例。
11.根据权利要求7所述的触觉处理系统,其中所述输入音频信号包括瞬态。
12.根据权利要求11所述的触觉处理系统,其中所述分析模块包括瞬态检测模块,所述瞬态检测模块执行以下步骤:
通过将输入音频信号同时传递到快速包络跟随器和慢速包络跟随器,来检测输入音频信号中的瞬态;
计算快速包络跟随器与慢速包络跟随器之间的输出值差异;
根据输出值的差异计算瞬态分数;
接收瞬态阈值;
根据瞬态分数得出瞬态二进制,其中当瞬态分数高于瞬态阈值时瞬态二进制设置为一(1);和
当瞬态分数低于瞬态阈值时,瞬态二进制设置为零(0);
通过将瞬态二进制乘以瞬态分数来计算瞬态输出;和
提供瞬态输出,以调整数字信号处理链中触觉输出的处理。
13.一种具有嵌有编码指令的计算机可读介质,当由处理器执行编码指令时,提供基于输入音频信号的触觉输出,计算机可读介质上所嵌有的编码指令执行以下步骤:
在数字信号处理链和分析模块中同时接收输入音频信号;
处理包括至少一个动态处理器的数字信号处理链中的输入音频信号;
使用RMS值和峰值确定分析模块的至少一个控制参数,以在至少一个动态处理器中设置至少一个控制参数;
在混音器模块中混合处理信号,所述混音器模块的特征在于从干/湿模块、振荡器模块和谐振模块接收预定比例的处理信号;以及
驱动致动器以产生触觉输出。
14.根据权利要求13所述的计算机可读介质,其中输入音频信号包括瞬态。
15.根据权利要求14所述的计算机可读介质,其中瞬态的存在调用瞬态处理过程,所述瞬态处理过程执行以下步骤:
同时将输入音频信号传递到快速包络跟随器和慢速包络跟随器;
计算快速包络跟随器与慢速包络跟随器之间的输出值之差;
根据输出值的差异计算瞬态分数;
接收瞬态阈值;
根据瞬态分数得出瞬态二进制;
其中当瞬态分数高于瞬态阈值时,瞬态二进制设置为一(1),以及
当瞬态分数低于瞬态阈值时,瞬态二进制设置为零(0);
通过将瞬态二进制乘以瞬态分数来计算瞬态输出;
提供瞬态输出,以调整数字信号处理链中触觉数据的处理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18176491.1 | 2018-06-07 | ||
EP18176491.1A EP3579081A1 (en) | 2018-06-07 | 2018-06-07 | Systems and methods for generating haptic output for enhanced user experience |
PCT/EP2019/064876 WO2019234191A1 (en) | 2018-06-07 | 2019-06-06 | Systems and methods for generating haptic output for enhanced user experience |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112567317A true CN112567317A (zh) | 2021-03-26 |
Family
ID=62748684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980053068.7A Pending CN112567317A (zh) | 2018-06-07 | 2019-06-06 | 用于生成触觉输出以增强用户体验的系统和方法 |
Country Status (6)
Country | Link |
---|---|
EP (2) | EP3579081A1 (zh) |
JP (1) | JP2021527257A (zh) |
KR (1) | KR20210016619A (zh) |
CN (1) | CN112567317A (zh) |
TW (1) | TWI797341B (zh) |
WO (1) | WO2019234191A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11894006B2 (en) * | 2018-07-25 | 2024-02-06 | Dolby Laboratories Licensing Corporation | Compressor target curve to avoid boosting noise |
US11917538B2 (en) * | 2020-04-29 | 2024-02-27 | Qualcomm Incorporated | Dynamic parameters for multi-user channel access |
CN112560916B (zh) * | 2020-12-09 | 2022-11-01 | 甘肃靖远航天风力发电有限公司 | 基于倾角传感器信息的风电塔筒倾覆智能诊断方法 |
JP2022115288A (ja) * | 2021-01-28 | 2022-08-09 | 株式会社東海理化電機製作所 | 制御装置およびプログラム |
WO2024096812A1 (en) * | 2022-10-31 | 2024-05-10 | Razer (Asia-Pacific) Pte. Ltd. | Method and system for generating haptic effects |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5832444A (en) * | 1996-09-10 | 1998-11-03 | Schmidt; Jon C. | Apparatus for dynamic range compression of an audio signal |
CN101421707A (zh) * | 2006-04-13 | 2009-04-29 | 伊默生公司 | 从数字音频信号自动产生触觉事件的系统和方法 |
US20120206247A1 (en) * | 2011-02-11 | 2012-08-16 | Immersion Corporation | Sound to haptic effect conversion system using waveform |
EP2624099A1 (en) * | 2012-02-03 | 2013-08-07 | Immersion Corporation | Sound to haptic effect conversion system using waveform |
US20140176415A1 (en) * | 2012-12-20 | 2014-06-26 | Amazon Technologies, Inc. | Dynamically generating haptic effects from audio data |
CN104423589A (zh) * | 2013-09-06 | 2015-03-18 | 意美森公司 | 触觉变形系统 |
CN104423592A (zh) * | 2013-09-06 | 2015-03-18 | 意美森公司 | 用于生成与音频信号中的包络相关联的触觉效果的系统和方法 |
CN105813688A (zh) * | 2013-12-11 | 2016-07-27 | Med-El电气医疗器械有限公司 | 瞬态声音的减少或增强的自动选择 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8378964B2 (en) | 2006-04-13 | 2013-02-19 | Immersion Corporation | System and method for automatically producing haptic events from a digital audio signal |
US20090189748A1 (en) | 2006-08-24 | 2009-07-30 | Koninklijke Philips Electronics N.V. | Device for and method of processing an audio signal and/or a video signal to generate haptic excitation |
US20100141408A1 (en) * | 2008-12-05 | 2010-06-10 | Anthony Stephen Doy | Audio amplifier apparatus to drive a panel to produce both an audio signal and haptic feedback |
CN104012001B (zh) * | 2011-12-27 | 2017-10-27 | Dts有限责任公司 | 低音增强系统 |
US9715276B2 (en) * | 2012-04-04 | 2017-07-25 | Immersion Corporation | Sound to haptic effect conversion system using multiple actuators |
US9368005B2 (en) * | 2012-08-31 | 2016-06-14 | Immersion Corporation | Sound to haptic effect conversion system using mapping |
WO2018048907A1 (en) * | 2016-09-06 | 2018-03-15 | Neosensory, Inc. C/O Tmc+260 | Method and system for providing adjunct sensory information to a user |
-
2018
- 2018-06-07 EP EP18176491.1A patent/EP3579081A1/en not_active Withdrawn
-
2019
- 2019-06-04 TW TW108119318A patent/TWI797341B/zh active
- 2019-06-06 CN CN201980053068.7A patent/CN112567317A/zh active Pending
- 2019-06-06 JP JP2020568332A patent/JP2021527257A/ja active Pending
- 2019-06-06 WO PCT/EP2019/064876 patent/WO2019234191A1/en unknown
- 2019-06-06 KR KR1020217000397A patent/KR20210016619A/ko not_active Application Discontinuation
- 2019-06-06 EP EP19730136.9A patent/EP3803542A1/en not_active Withdrawn
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5832444A (en) * | 1996-09-10 | 1998-11-03 | Schmidt; Jon C. | Apparatus for dynamic range compression of an audio signal |
CN101421707A (zh) * | 2006-04-13 | 2009-04-29 | 伊默生公司 | 从数字音频信号自动产生触觉事件的系统和方法 |
US20120206247A1 (en) * | 2011-02-11 | 2012-08-16 | Immersion Corporation | Sound to haptic effect conversion system using waveform |
CN103247296A (zh) * | 2011-02-11 | 2013-08-14 | 英默森公司 | 利用波形的声音到触觉效应转换系统 |
EP2624099A1 (en) * | 2012-02-03 | 2013-08-07 | Immersion Corporation | Sound to haptic effect conversion system using waveform |
US20140176415A1 (en) * | 2012-12-20 | 2014-06-26 | Amazon Technologies, Inc. | Dynamically generating haptic effects from audio data |
CN104423589A (zh) * | 2013-09-06 | 2015-03-18 | 意美森公司 | 触觉变形系统 |
CN104423592A (zh) * | 2013-09-06 | 2015-03-18 | 意美森公司 | 用于生成与音频信号中的包络相关联的触觉效果的系统和方法 |
CN105813688A (zh) * | 2013-12-11 | 2016-07-27 | Med-El电气医疗器械有限公司 | 瞬态声音的减少或增强的自动选择 |
Also Published As
Publication number | Publication date |
---|---|
EP3579081A1 (en) | 2019-12-11 |
TW202018493A (zh) | 2020-05-16 |
EP3803542A1 (en) | 2021-04-14 |
WO2019234191A1 (en) | 2019-12-12 |
KR20210016619A (ko) | 2021-02-16 |
JP2021527257A (ja) | 2021-10-11 |
TWI797341B (zh) | 2023-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11120673B2 (en) | Systems and methods for generating haptic output for enhanced user experience | |
CN112567317A (zh) | 用于生成触觉输出以增强用户体验的系统和方法 | |
US7620544B2 (en) | Method and apparatus for detecting speech segments in speech signal processing | |
AU2011244268B2 (en) | Apparatus and method for modifying an input audio signal | |
CN103915103B (zh) | 语音质量增强系统 | |
JP6104629B2 (ja) | ダイナミックサウンド提供システム及び方法 | |
EP2081405B1 (en) | A hearing aid adapted to a specific type of voice in an acoustical environment, a method and use | |
US20130094669A1 (en) | Audio signal processing apparatus, audio signal processing method and a program | |
MX2008013753A (es) | Control de ganancia de audio que utiliza deteccion de evento auditivo basado en intensidad acustica especifica. | |
KR20060013400A (ko) | 오디오 신호의 인식된 라우드니스를 계산 및 조정하는방법, 장치 및 컴퓨터 프로그램 | |
AU2011244268A1 (en) | Apparatus and method for modifying an input audio signal | |
Herzke et al. | Open signal processing software platform for hearing aid research (openMHA) | |
US7089176B2 (en) | Method and system for increasing audio perceptual tone alerts | |
US20210120336A1 (en) | Apparatus and method for modifying a loudspeaker signal for preventing diaphragm over-deflection | |
US9391575B1 (en) | Adaptive loudness control | |
JP2837639B2 (ja) | リモートコントローラ | |
Park et al. | Improving perceptual quality of speech in a noisy environment by enhancing temporal envelope and pitch | |
JP2020071306A (ja) | 音声伝達環境評価システム及び感覚刺激提示装置 | |
CN115966214A (zh) | 音频处理方法、装置、电子设备和计算机可读存储介质 | |
CN115866482A (zh) | 一种音频处理方法及装置 | |
GB2613033A (en) | Controlling slew rate |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230420 Address after: California, USA Applicant after: Yuan platform Co. Address before: Berlin, Germany Applicant before: Right field LLC |