一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用音量相关LINKWITZ变换和多频带压缩器提高微扬声器的低频扩展的制作方法

2023-02-16 11:34:34 来源:中国专利 TAG:

使用音量相关linkwitz变换和多频带压缩器提高微扬声器的低频扩展


背景技术:

1.设置在密封外壳内的扬声器会经历因驱动器与外壳内空气的共振而造成的低频输出的降低。在微扬声器中,这一共振通常比标准的全音域驱动器高得多。微扬声器通常用在便携式计算设备中,诸如但不限于移动电话、膝上型计算设备、平板计算设备、可穿戴计算设备和便携式游戏控制台,其中设备的尺寸和/或形状因子限制了可以集成到设备中的扬声器的尺寸。因此,对于用于补偿低频输出的此类降低来向此类扬声器提供经改进的低频输出的新的和经批准的机制来说,存在重要的领域。


技术实现要素:

2.根据本公开的数据处理系统包括扬声器、处理器和计算机可读介质。计算机可读介质存储可执行指令,可执行指令用于使得处理器执行包括以下的操作:获得要由扬声器输出的第一输入信号;确定与第一输入信号相关联的第一音量水平;基于第一音量水平从音量相关配置数据中选择第一linkwitz(林克维茨)变换和第一多频带压缩器(mbdrc);通过将第一linkwitz变换应用于第一输入信号来生成第一中间信号以提高扬声器的低频响应;通过压缩第一中间信号的至少一部分来将第一mbdrc应用于第一中间信号以生成第一输出信号;以及使用第一输出信号驱动扬声器产生第一音频输出。
3.一种根据本公开的用于操作设置在密封外壳内的扬声器的示例方法包括获得要由扬声器输出的第一输入信号;确定与第一输入信号相关联的第一音量水平;基于第一音量水平从音量相关配置数据中选择第一linkwitz变换和第一多频带压缩器(mbdrc);通过将第一linkwitz变换应用于第一输入信号来生成第一中间信号以提高扬声器的低频响应;通过压缩所述第一中间信号的至少一部分来将所述第一mbdrc应用于所述第一中间信号以生成第一输出信号;以及使用第一输出信号驱动扬声器产生第一音频输出。
4.提供本发明内容以便以简化的形式介绍以下在具体实施方式中还描述的概念的选集。本公开内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中提及的任何或所有缺点的实现。
附图说明
5.附图仅通过示例而非限制的方式描绘了根据本教导的一种或多种实现。在附图中,相同的附图标记指代相同或相似的元素。此外,应当理解,附图不一定按比例绘制。
6.图1是示出其中可以实现此处所公开的技术的计算环境100的框图。
7.图2是包括第一图表和第二图表的示图,第一图表提供了示例linkwitz变换的标绘,第二图表提供了在应用和没有应用linkwitz变换的情况下的示例扬声器响应的标绘。
8.图3是包括第一图表和第二图表的示图,第一图表提供了多个音量相关示例linkwitz变换的标绘,第二图表提供了在应用linkwitz变换的情况下每一音量处的示例扬
声器响应的标绘。
9.图4是包括第一图表和第二图表的示图,第一图表提供了带有和不带有超提升(overboost)的情况下的示例linkwitz变换的标绘,第二图表提供了在应用和没有应用经超提升的linkwitz变换的情况下的示例扬声器响应的标绘。
10.图5是由数据处理系统执行的用于生成位于外壳内的扬声器的配置信息的示例过程的流程图。
11.图6是由数据处理系统执行的用于操作设置在密封外壳内的扬声器的示例过程的流程图。
12.图7是示出示例软件体系结构的框图,其各个部分可以与本文描述的各硬件架构结合使用,其可以实现本文描述的任何特征;以及
13.图8是示出被配置成从机器可读介质读取指令并执行本文描述的任何特征的示例机器的各组件的框图。
具体实施方式
14.在下面的详细描述中,通过示例的方式阐述了许多具体细节以提供对相关教导的透彻理解。然而,显然的是,可以在没有此类细节的情况下实践本教导。在其他实例中,为了避免不必要地混淆本教导的各方面,众所周知的方法、程序、组件和/或电路系统在相对较高的层次上进行了描述而没有详细说明。
15.提供了用于补偿设置在密封外壳中的扬声器中的低频输出的降低的技术。这些技术解决了如下技术问题:设置在密封外壳内的扬声器将会经历因驱动器与外壳内空气的共振而造成的低频输出的降低。在微扬声器中,这一共振通常比标准的全音域驱动器高得多。本文公开的技术通过补偿低频输出的这种降低来向此类扬声器提供经改进的低频输出,从而提供了该问题的技术解决方案。这些技术使用一组音量相关linkwitz变换(lt)和一组音量相关多频带压缩器(mbdrc)来为一组不同的设备音量水平中的每一者最佳地处理音频。
16.linkwitz变换是一种消除音频信号中的驱动器-外壳共振并将其替换成低得多的频率共振的方法,从而有效地模拟具有更好低频响应的较大扬声器。动态范围压缩器是一种基于信号的电平将不同增益水平应用于信号的算法。多频带压缩器通过滤波器组来拆分音频流,对每个流应用压缩器,然后将结果混合在一起。在给定音量水平下,lt被配置成使用可用音量净空(headroom)加上可配置的超提升的量来提供最低频率扩展。该音量水平的mbdrc被配置成仅将压缩应用于被lt超提升的频带,同时保持其他频带未压缩。此外,由mbdrc应用的压缩量是音量相关的,并且mbdrc在更高的音量水平下没有同样积极地压缩。
17.本文所公开的技术提供了优于传统办法的显著优点以改进低音扩展。一种办法利用低架(low shelf)滤波器。低架滤波器类似于lt滤波器,但低架滤波器不完全匹配以消除扬声器的共振。相反,低架滤波器是一种逼近。因此,仅该办法不能提供如本文所公开的技术那样多的低音扩展,因为低架滤波器不能使用更多可用的净空。大多数音乐内容在大多数时候都不是全音阶的,并且使用低架滤波器并不能利用这一点来改善低音扩展。另一常规办法是使用单个mbdrc,其被配置成基于实际内容信号电平将低频响应扩展得尽可能低。然而,与本文公开的技术相比,这种办法是受限的,因为单个mbdrc办法将显著地压缩更高音量水平处的音频内容。相比之下,本文所公开的技术使用音量相关mbdrc,其在更高的音
量水平下没有同样积极地压缩。
18.图1是示出其中可以实现此处所公开的技术的计算环境100的框图。计算环境100被分成开发环境105和部署环境110。在开发环境105中,基于扬声器115的扬声器模型120来生成扬声器配置信息135。在部署环境110中,扬声器配置信息135被部署到计算设备145以操作计算设备145的扬声器150。计算设备145的扬声器150是与扬声器115相同类型的,并且扬声器配置信息135可被用于操作扬声器150以消除音频信号中的驱动器-外壳共振并提供低得多的频率共振。使用这种办法,计算设备145的扬声器150可以模拟具有更好低频响应的较大扬声器。计算环境100的开发环境105和部署环境110可以由同一或分开的实体来实现。例如,计算设备140的制造商可以实现开发环境105和部署环境110两者。另选地,扬声器150的制造商可以实现在其中生成扬声器配置信息135的开发环境105,并且分开的实体(诸如计算设备145的制造商)可以实现部署环境110。
19.开发环境105可以包括扬声器115、扬声器模型120、扬声器配置数据模块125和扬声器配置数据存储130。开发环境105可实现在一个或多个数据处理系统上。数据处理系统可以是存在于扬声器115被测试以产生扬声器模型120的位置中的本地数据处理系统。或者,开发环境105可以包括一个或多个远程数据处理系统,诸如一个或多个服务器设备。
20.扬声器115是设置在密封外壳内的微扬声器。扬声器115可能经历由外壳内的驱动器的共振引起的低频输出的降低。可以基于在扬声器设计过程期间中确定的设计参数来确定扬声器模型120。或者,可以在预定频率范围内测试扬声器性能以确定扬声器响应。扬声器模型120可以存储在持久数据存储中,诸如扬声器配置数据存储130。扬声器配置数据存储130可以是配置成存储一个或多个扬声器模型(诸如扬声器模型120)和扬声器配置信息(诸如扬声器配置信息135)的数据库或其他持久数据存储。扬声器配置信息135可以由扬声器配置数据模块125从扬声器模型120导出。扬声器模型120可提供针对多个音量水平中的每一者的、扬声器的频率响应的模型。扬声器模型120可被用于响应于测试输入信号来预测扬声器115在预定频率范围内的频率响应。可以针对多个音量水平来预测扬声器115的频率响应。
21.扬声器配置数据模块125可以被配置成分析扬声器模型120并输出扬声器配置信息135,扬声器配置信息可以存储在扬声器配置数据存储130中。扬声器配置信息135可以包括可被用于以多个音量水平中的每一者来驱动扬声器的配置信息。扬声器配置信息135可以包括针对多个音量水平中的每一者的linkwitz变换(lt)信息和多频带压缩器(mbdrc)信息。lt信息和mbdrc信息可被用于针对每个音量水平补偿由外壳内的驱动器共振引起的低频输出的降低。包括针对每一音量水平的lt信息和mbdrc信息,因为低频输出的降低受到输出的音量水平的影响。
22.lt信息包括linkwitz变换,其被配置成接收以相应音量水平输入的信号并生成中间信号输入,其中扬声器的低频响应被提高。扬声器模型120提供了扬声器115的数学描述,其定义了扬声器115在一定频率范围内的频率响应。如上所述,扬声器115是被密封扬声器,其在音频信号中经受驱动器-外壳共振,这导致频率响应的低频衰减(roll off)。本文中使用的术语“衰减”或“滚降”是指频率响应的降低。
23.图2示出了这种低频衰减的示例。曲线图210示出了示例扬声器(诸如扬声器115)的频率响应的表示。曲线图210沿x轴(水平轴)绘制了频率,沿y轴(垂直轴)绘制以分贝(db)
为单位的扬声器输出。曲线215表示在应用linkwitz变换之前的扬声器响应。从曲线215可以看到,扬声器输出随着频率的降低而迅速下降,而在理想情况下,频率响应应该跨频域保持相对平坦。曲线215的形状由与扬声器模型相关联的两个参数来表征:调谐频率(f)和品质因子(q)。linkwitz变换是一种数学运算,其可被应用于扬声器模型120以将扬声器模型120的有效f和q值改变成提供经改进的低频响应的不同值。例如,可以减小f值以提供更大的低音输出和/或可以减小q值以使扬声器模型120表现得好像扬声器外壳更大。减小q值有效地降低驱动器与扬声器外壳中的空气共振的影响。图2的曲线图205示出了linkwitz变换的示例曲线225,其可被用于通过在较低频率处应用更多增益来提升低频响应。曲线图210包括示例曲线220,其示出了在应用了linkwitz变换之后经改进的低频响应。
24.mbdrc可以对lt所输出的中间信号施加进一步的提升。mbdrc可实时分析音频信号的实际内容,并可将增益的额外提升(在本文中也称为“超提升”)添加到已经由lt提升的音频信号中。mbdrc可以考虑特定频率范围内的净空的量,mbdrc可以将增益提高到该净空的量。mbdrc可以在有较多净空的地方较多地提升增益,而在有较少可用净空的地方较少地提升增益。图4解说了此类超提升的示例。曲线图405示出了示例linkwitz变换的标绘425和应用了超提升的linkwitz变换的标绘430。从图4所示的示例可以看到,超提升进一步提升较低频,以提供进一步经改进的低频响应。曲线图410示出了示例扬声器115的频率响应曲线的标绘415和示例扬声器115的频率响应曲线的标绘420,在标绘420中经超提升的linkwitz变换430已被应用以改进扬声器115的低频响应。
25.扬声器配置数据模块125可被配置成生成多个lt变换,如图3所示。曲线图305示出了可被用于提升扬声器115在一组音量水平中的每一音量水平下的低频响应的因音量而异的linkwitz变换的示例。如曲线图305中可看到的,与linkwitz变换相关联的曲线对较低音量水平的低频响应的提升较小,而对较高音量水平的提升较大。图3的曲线图310示出了在每一音量水平上应用了linkwitz变换之后得到的扬声器响应曲线。对于每一音量水平,低频响应都得到了改善。对其计算lt的音量水平的数量可能随实现而各不相同。可以基于扬声器的信号阈值除以预定数量的音量间隔来确定水平的数量。在其他实现中,每个间隔可以是预定的分贝增量。在其他实现中,间隔的数量可以由用户指定。例如,数据处理系统可以提供用户界面,该用户界面允许用户配置扬声器配置信息135的一个或多个属性,包括但不限于要对其确定linkwitz变换的音量水平的数量。
26.在给定音量水平下,lt被配置成使用可用音量净空加上可配置的超提升的量来提供最低频率扩展。这种超提升可能导致产生超过扬声器的信号阈值的中间信号输出。结果,音频信号的超过扬声器的信号阈值的部分可以被削波(clip),其中音频信号的超过信号阈值的部分被限制到扬声器的信号阈值。削波可能会在扬声器的音频输出中引入大量失真。
27.扬声器配置数据模块125还通过针对每个音量水平配置处理lt所输出的中间信号的多频带压缩器(mbdrc)来解决超提升问题。mbdrc将扬声器115的频域划分成多个频带。频域可以划分成的频率组的数量可以是可配置的。例如,数据处理系统可以提供用户界面,用户可以在该用户界面中配置扬声器配置信息135的一个或多个属性,包括但不限于扬声器115的频域可被细分成的频带数量。mbdrc可以通过降低信号的较大声部分的音量和/或通过放大信号的较安静部分来更改信号在每一频带中的动态范围。因此,mbdrc可以标识lt所输出的中间信号的被超提升的频带,并且可以充分地压缩这些信号,使得它们不会超过扬
声器的动态范围且最终被削波。mbdrc基于中间信号输出经校准信号,在该经校准信号中,超提升的频带已被压缩。mbdrc被配置成仅将压缩应用于针对该音量水平被lt超提升的频带,同时使针对该音量水平的其他频带保持未压缩。扬声器配置数据模块125被配置成将针对每一音量水平的mbdrc配置信息添加到扬声器配置信息135。参考图1,部署环境110可实现在一个或多个数据处理系统上。如上所述,部署环境110可以由与开发环境105相同的实体实现,而在其他实现中,分开的实体可以实现开发环境105和部署环境110。部署环境110包括可以实现成数据处理系统上的应用的设备配置模块140。设备配置模块140可以被配置成配置包括扬声器150的计算设备145,扬声器150是与扬声器115相同类型的扬声器。设备配置模块可以从扬声器配置数据存储130获得扬声器150的扬声器配置信息135的副本。在一些实现中,扬声器配置数据存储130可以位于设备配置模块140的远程的一个或多个服务器上。设备配置模块140可以被配置成通过一个或多个网络向扬声器配置数据存储130发送请求以获得扬声器配置信息135。在一些实现中,扬声器配置数据存储130可以被配置成存储多种类型扬声器的扬声器配置信息135,并且设备配置模块140可以被配置成向扬声器配置数据存储130发送请求以获得特定类型扬声器的扬声器配置信息135。计算设备145可以是移动电话、平板计算设备、可穿戴计算设备、便携式游戏控制台、便携式扬声器设备或其他电子设备,其中设备的尺寸和/或形状因子限制了可以集成到设备中的扬声器的尺寸。计算设备145可以包括用于驱动扬声器150的硬件和/或软件元件。设备配置模块140可以被配置成使用扬声器配置信息135来配置计算设备145的基于硬件和/或者软件的数字信号处理元件,以使用因音量而异的lt和mbdrc来提供计算设备150的扬声器150的经改进的低频响应。
28.图5是可以由数据处理系统实现的用于生成扬声器配置信息(诸如扬声器配置信息135)的过程500的流程图。过程500可以由上面在图1中描述的开发环境105来实现。过程500可被用于生成扬声器配置信息135,该扬声器配置信息可以在操作计算设备145的扬声器150时使用,以提供用于改进扬声器150的低频输出。
29.过程500可包括针对多个音量水平中的每一者获得扬声器的频率响应的模型的操作510。频率响应表示扬声器响应于多个音量水平中的相应一个音量水平的测试输入信号在频率范围内的输出。图2在曲线图210中示出了此类频率响应的示例。标绘215示出了由驱动器与外壳内的空气共振引起的低频输出的降低的示例。过程500可包括确定扬声器的linkwitz变换信息的操作520,linkwitz变换信息包括针对多个音量水平中的每一相应音量水平的、用于提高扬声器在相应音量水平的低频响应的linkwitz变换。linkwitz变换接收信号输入并生成中间信号输出。lt被配置成使用可用的音量净空来提升扬声器115的低频响应。lt还可以添加可配置的超提升的量,以进一步提高扬声器115的低频响应。超提升量可以按分贝来定义,并可以被添加到lt的总信号输出,以提供对低频性能的额外提升。在一些实现中,超提升可以在模型信息120中指定。在其他实现中,在其上执行过程500的数据处理系统可以提供用户界面,该用户界面允许用户输入超提升参数的值。作为超提升的结果,对于扬声器150的频域的至少一部分,中间信号可能超过扬声器115的信号阈值能力。过程500可包括针对多个音量水平中的每一相应音量水平,确定多频带压缩器(mbdrc)信息的操作530,mbdrc配置被配置成接收中间信号输出并生成经校准信号输出,经校准信号输出补偿扬声器在相应音量水平的低频响应。mbdrc将扬声器的频域细分成多个频带。必要时,
每个频带可以由mbdrc压缩,以防止该频带内的信号超过扬声器115的信号阈值。扬声器115的信号阈值可以在扬声器模型120中定义。
30.过程500可包括基于用于校准扬声器的linkwitz变换信息和mbdrc信息来生成扬声器配置信息的操作540。可以输出上述扬声器配置信息135并将其存储在扬声器配置数据存储130中。配置包括与扬声器115相同或相似类型的、针对其确定了lt和mbdrc配置信息的扬声器150的计算设备145的实体可以获得扬声器配置信息135,并使用该信息来配置计算设备145以在操作扬声器150时利用扬声器配置信息135。
31.图6是可以由数据处理系统实现的用于使用扬声器配置信息(诸如扬声器配置信息135)来操作计算设备的扬声器的过程600的流程图。过程600可由计算设备145实现。在过程600中,由过程600生成的扬声器配置信息135可被用于操作计算设备145的扬声器150。扬声器配置信息135可以包括因音量而异的linkwitz变换和mbdrc对,其处理要由扬声器150输出的输入信号以提供由扬声器150输出的经改进的低频。
32.过程600可包括获得要由计算设备145的扬声器150输出的第一输入信号的操作610。扬声器150被设置在密封外壳内并且可能经历因扬声器驱动器与外壳内空气的共振而造成的低频输出的降低。计算设备145可以是便携式计算设备,诸如但不限于移动电话、平板计算设备、膝上型计算设备、可穿戴计算设备、或便携式游戏控制台,其中设备的尺寸和/或形状因子限制了可以集成到设备中的扬声器的尺寸。因此,扬声器150可以是微扬声器,以适合这种计算设备的形状因子。与具有较大外壳的扬声器相比,这种扬声器的密封外壳的小尺寸可能受到扬声器驱动器与外壳内空气的共振的更大影响。
33.过程600可包括确定与第一输入信号相关联的第一音量水平的操作620。第一音量水平可以是由设备的用户所设置和/或由设备的软件或硬件组件自动设置的设备音量水平。设备音量水平可以由用户经由计算设备145的软件用户界面来选择。例如,在计算设备145是平板计算设备或膝上型计算设备的情况下,计算设备145可以提供用于控制计算设备所输出的音频音量的图形用户界面。音量控制用户界面可以呈现在触摸屏上,该触摸屏允许通过触觉输入来操纵图形用户界面。音量控制用户界面可以呈现在非触摸屏上,并且图形用户界面可以通过鼠标或其他输入装置来控制。在其他实现中,计算设备145可包括可被用来调整计算设备145的音频输出的音量的一个或多个物理控制旋钮、按钮、滑块、开关、或其他物理控制装置。音量水平信息可以从计算设备145的操作系统获得,和/或由基于硬件和/或软件的数字信号处理组件确定,这些组件被配置成处理数字音频内容并将模拟音频信号输出到扬声器150的驱动器。
34.过程600可包括基于第一音量水平从音量相关配置数据135选择第一linkwitz变换和第一mbdrc的操作630。计算设备145可以将音量相关配置数据包括在扬声器配置信息135中,扬声器配置信息可以是使用前面示例中公开的各种技术生成的。扬声器配置信息135可包括可被用于配置可实现linkwitz变换和mbdrc的基于硬件和/或软件的数字信号处理组件的参数。扬声器配置信息135可以包括可被用于配置lt和mbdrc以供计算设备145的数字信号处理组件执行的参数。如前面的示例中所讨论的,扬声器配置信息135可以实现成按音量水平索引的查找表。计算设备145可以查找与在操作620中确定的设备音量水平最接近的音量水平相关联的因音量而异的条目。在一些实现中,计算设备145可被配置成向上舍入到下一最接近的音量水平或向下舍入到下一最接近的音量水平。一旦确定了查找表中的
条目,就可以获得与该条目相关联的lt和mbdrc的配置参数。
35.过程600可包括通过将第一linkwitz变换应用于第一输入信号来生成第一中间信号以提高扬声器的低频响应的操作640。可以使用在操作630中确定的linkwitz变换来处理在操作610中获得的第一输入信号。来自第一linkwitz变换的输出提升了低频响应并且可包括超提升分量,该超提升分量可使得得自第一lt的第一中间信号的至少一部分超过扬声器150的信号阈值,这将导致第一中间信号的这些部分被削波。这将导致信号失真,从而使扬声器150输出的音频的质量降级。然而,mbdrc可以通过选择性压缩中间信号中的超过扬声器150的信号阈值的那些部分来解决这一问题。
36.过程600可包括通过压缩第一中间信号的至少一部分来将第一mbdrc应用于第一中间信号以生成第一输出信号的操作650。如前面的示例中所述,mbdrc可以将扬声器的频域划分成多个频带。该音量水平的配置参数可以定义哪些频带将被用于该相应音量水平。mbdrc接收lt所输出的第一中间信号,将第一中间信号划分到指定的频带,并对第一中间信号的本来将超过扬声器150的信号阈值的那些频带应用压缩。mbdrc将这些频带混合回一起,并输出第一输出信号。结果,计算设备145可以使用尺寸小得多的扬声器,这些扬声器适合计算设备的紧凑形状因子,而不必牺牲音频质量。
37.过程600可包括使用第一输出信号来驱动扬声器以输出音频内容的操作660。第一输出信号提供由第一输入信号的lt和mbdrc处理产生的经改进的低频响应。扬声器150随后可以提供显著改善的频率响应,这在没有lt和mbdrc的处理的情况下本来不能实现。
38.结合图1-6描述的系统、设备和技术的详细示例在本文中呈现以说明本公开及其益处。这些使用示例不应被解释为对本公开的逻辑过程实施例的限制,也不应将用户界面方法与本文描述的那些方法的变异认为是在本公开的范围之外。应当理解,对显示或呈现项目(例如,但不限于,在显示设备上呈现图像、通过一个或多个扬声器呈现音频、和/或使设备振动)的引用包括发出导致或合理预期导致设备或系统显示或呈现该项目的指令、命令和/或信号。在一些实施例中,图1-6中描述的各特征被实现在相应模块中,这些模块也可以被称为和/或包括逻辑、组件、单元和/或机制。模块可以构成软件模块(例如,体现在机器可读介质上的代码)或硬件模块。
39.在一些示例中,硬件模块可以机械地、电子地或以其任何合适的组合来实现。例如,硬件模块可以包括被配置成执行某些操作的专用电路系统或逻辑。例如,硬件模块可以包括专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路系统,并且可以包括用于这种配置的机器可读介质数据和/或指令的一部分。例如,硬件模块可以包括包含在被配置成执行一组软件指令的可编程处理器内的软件。应当理解,在专用和永久配置的电路系统中或在临时配置的电路系统(例如,由软件配置)中通过机械实现硬件模块的决定可以由成本、时间、支持和工程设计考虑因素驱动。因此,短语“硬件模块”应理解成包括能够执行特定操作的有形实体,并且可以以特定物理方式配置或布置,可以是物理地构造的、永久配置的(例如,硬接线)、和/或临时配置(例如编程)成以特定方式操作或执行本文所述的特定操作的实体。如本文所用的,“硬件实现的模块”是指硬件模块。考虑硬件模块被临时配置(例如,编程)的示例,每个硬件模块不需要在任何时刻被配置或实例化。例如,在硬件模块包括由软件配置为成为专用处理器的可编程处理器的情况下,可编程处理器可以在不同的时间分别
被配置成不同的专用处理器(例如,包括不同的硬件模块)。软件可以相应地配置一个或多个处理器,例如在一个时刻构成特定的硬件模块,并在不同的时刻构成不同的硬件模块。使用一个或多个处理器实现的硬件模块可以称为“处理器实现的”或“计算机实现的”。
40.硬件模块可以向其他硬件模块提供信息,并从其他硬件模块接收信息。因此,所描述的硬件模块可以被认为是通信耦合的。在多个硬件模块同时存在的情况下,可以通过两个或更多个硬件模块之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件模块在不同时间被配置或实例化的实施例中,这些硬件模块之间的通信可以实现,例如通过存储和检索多个硬件模块可以访问的存储器设备中的信息。例如,一个硬件模块可以执行操作并将输出存储在存储器设备中,并且另一硬件模块可以随后访问存储器设备以检索和处理所存储的输出。
41.在一些示例中,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块来执行。此外,一个或多个处理器还可以运行以支持在“云计算”环境中或作为“软件即服务”(saas)中执行相关操作。例如,至少一些操作可以由多个计算机(作为包括处理器的机器的示例)执行和/或在多个计算机之间执行,这些操作可以经由网络(例如,因特网)和/或经由一个或多个软件接口(例如,应用程序接口(api))访问。某些操作的执行可以分布在诸处理器之间,不仅驻留在一个机器内,而是可以部署在多个机器上。处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭或办公室环境或服务器场中),或者可以分布在多个地理位置。图7是示出示例软件体系结构702的框图700,其各个部分可以与本文描述的各硬件架构结合使用,其可以实现上述任何特征。图7是软件体系结构的非限制性示例,并且将理解,可以实现许多其他体系结构以促进本文描述的功能性。软件体系结构702可以在诸如图8的机器800之类的硬件上执行,机器800尤其包括处理器810、存储器830和输入/输出(i/o)组件850。示出了代表性硬件层704并且可以表示例如图8的机器800。代表性硬件层704包括处理单元706和相关联的可执行指令708。可执行指令708表示软件体系结构702的可执行指令,包括本文描述的方法、模块等的实现。硬件层704还包括存储器/存储设备710,其还包括可执行指令708和伴随数据。硬件层704还可以包括其他硬件模块712。由处理单元708保持的指令708可以是由存储器/存储设备710保持的指令710的一部分。
42.示例软件体系结构702可以被概念化成各层,每层提供各种功能性。例如,软件体系结构702可以包括诸如操作系统(os)714、库716、框架718、应用720和表示层744之类的层和组件。在操作上,应用720和/或各层内的其他组件可以调用对其他层的api调用724,并接收相应的结果726。所示的各层本质上是代表性的,并且其他软件体系结构可以包括附加的或不同的层。例如,一些移动或专用操作系统可能不提供框架/中间件718。
43.os 714可以管理硬件资源并提供公共服务。os 714可以包括例如内核728、服务730和驱动程序732。内核728可以充当硬件层704和其他软件层之间的抽象层。例如,内核728可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等等。服务730可以向其他软件层提供其他公共服务。驱动程序732可以负责控制底层硬件层704或者与底层硬件层704对接。例如,取决于硬件和/或软件配置,驱动程序732可以包括显示器驱动程序、相机驱动程序、存储器/存储驱动程序、外围设备驱动程序(例如,经由通用串行总线(usb))、网络和/或无线通信驱动程序、音频驱动程序等。
44.库716可以提供应用720和/或其他组件和/或层可以使用的公共基础设施。库716
通常提供由其他软件模块用来执行任务的功能性,而不是与os 714直接交互。库716可以包括系统库734(例如,c标准库),其可以提供诸如存储器分配、字符串操作、文件操作之类的功能。此外,库716可以包括api库736,诸如媒体库(例如,支持图像、声音和/或视频数据格式的呈现和操纵)、图形库(例如,用于在显示器上呈现2d和3d图形的opengl库)、数据库库(例如,sqlite或其他关系数据库功能)和web库(例如,可以提供web浏览功能性的webkit)。库716还可以包括各种各样的其他库738,以便向应用720和其他软件模块提供许多功能。
45.框架718(有时也称为中间件)提供了可以被应用720和/或其他软件模块使用的更高级的公共基础设施。例如,框架718可以提供各种图形用户界面(gui)功能、高级资源管理或高级位置服务。框架718可以向应用720和/或其他软件模块提供广泛的其他api。
46.应用720包括内置应用740和/或第三方应用742。内置应用740的示例可以包括但不限于联系人应用、浏览器应用、位置应用、媒体应用、消息收发应用和/或游戏应用。第三方应用742可以包括由特定平台的供应商之外的实体开发的任何应用。应用720可以使用经由os 714、库716、框架718和表示层744可用的功能来创建用户界面以与用户交互。
47.一些软件体系结构使用虚拟机,如虚拟机748所示。虚拟机748提供执行环境,在该执行环境中,应用/模块可以像在硬件机器(例如图8的机器800)上执行一样执行。虚拟机748可以由主机os(例如,os 714)或系统管理程序托管,并且可以具有虚拟机监视器746,虚拟机监视器746管理虚拟机748的操作以及与主机操作系统的互操作。可以不同于虚拟机外部的软件体系结构702的软件体系结构在虚拟机748内执行,诸如os 714、库772、框架754、应用756和/或表示层758。
48.图8是示出示例机器800的组件的框图,该示例机器800被配置成从机器可读介质(例如,机器可读存储介质)读取指令并执行这里描述的任何特征。示例机器800是计算机系统的形式,在该计算机系统中可以执行用于使机器800执行这里描述的任何特征的指令816(例如,以软件组件的形式)。如此,指令816可被用于实现本文描述的模块或组件。指令816使得未编程和/或未配置的机器800作为被配置成执行所描述的特征的特定机器来操作。机器800可以被配置成作为独立设备操作,或者可以耦合(例如,联网)到其他机器。在网络化部署中,机器800可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力运行,或者作为对等或分布式网络环境中的节点运行。机器800可以体现成例如服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、游戏和/或娱乐系统、智能电话、移动设备、可穿戴设备(例如智能手表)和物联网(iot)设备。此外,尽管仅示出了单个机器800,但是术语“机器”包括单独或联合执行指令816的机器的集合。
49.机器800可以包括处理器810、存储器830和i/o组件850,它们可以通过例如总线802通信耦合。总线802可以包括经由各种总线技术和协议耦合机器800的各种元件的多条总线。在一示例中,处理器810(包括例如中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、asic或其合适的组合)可以包括一个或多个处理器812a至816n,这些处理器可以执行指令816并处理数据。在一些示例中,一个或多个处理器810可以执行由一个或多个其他处理器810提供或标识的指令。术语“处理器”包括多核处理器,该多核处理器包括可以同时执行指令的各个核。尽管图8示出了多个处理器,但是机器800可以包括具有单核的单个处理器、具有多核的单个处理器(例如,多核处理器)、每个都具有单核的多个处理
器、每个都具有多核的多个处理器或者它们的任意组合。在一些示例中,机器800可以包括分布在多个机器中的多个处理器。
50.存储器/存储830可以包括主存储器832、静态存储器834或其他存储器,以及存储单元836,它们都可以由处理器810例如经由总线802来访问。存储单元836和存储器832、834存储指令816,指令816体现了这里描述的任何一个或多个功能。存储器/存储设备830还可为处理器810存储临时、中间和/或长期数据。在其执行期间,指令816还可以完全或部分地驻留在存储器832、834内、存储单元836内、至少一个处理器810内(例如,在命令缓冲器或高速缓冲存储器内)、至少一个i/o组件850的存储器内或其任何合适的组合内。因此,存储器832、834、存储单元836、处理器810中的存储器和i/o组件850中的存储器是机器可读介质的示例。
51.如本文所用的,“机器可读介质”是指能够临时或永久存储使机器800以特定方式操作的指令和数据的设备,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存、光学存储介质、磁存储介质和设备、高速缓存、网络可访问的存储或云存储、其他类型的存储和/或其任何合适的组合。术语“机器可读介质”适用于单个介质或多个介质的组合,用于存储供机器800执行的指令(例如,指令816),使得当指令由机器800的一个或多个处理器810执行时,使机器800执行本文所述的一个或多个特征。因此,“机器可读介质”可以指单个存储设备,以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
52.i/o组件850可以包括适配成接收输入、提供输出、产生输出、传输信息、交换信息、捕获测量结果等的各种硬件组件。特定机器中包括的特定i/o组件850将取决于机器的类型和/或功能。例如,诸如移动电话之类的移动设备可以包括触摸输入设备,而无头服务器或物联网设备可以不包括这种触摸输入设备。图8中示出的i/o组件的特定示例决不是限制性的,机器800中可以包括其他类型的组件。i/o组件850的编组仅仅是为了简化该讨论,并且该编组决不是限制性的。在各种示例中,i/o组件850可以包括用户输出组件852和用户输入组件854。用户输出组件852可以包括例如用于显示信息的显示组件(例如,液晶显示器(lcd)或投影仪)、声学组件(例如,扬声器)、触觉组件(例如,振动电机或力反馈设备)、和/或其他信号发生器。用户输入组件854可以包括例如字母数字输入组件(例如,键盘或触摸屏)、指点组件(例如,鼠标设备、触摸板或另一指点工具)、和/或触觉输入组件(例如,提供触摸或触摸手势的位置和/或力度的物理按钮或触摸屏),其被配置用于接收各种用户输入,例如用户命令和/或选择。
53.在一些示例中,i/o组件850可以包括生物测定组件856、运动组件858、环境组件860和/或定位组件862,以及各种其他物理传感器组件。生物测定组件856可以包括例如检测身体表情(例如,面部表情、声音表情、手势或身体姿势、或眼睛跟踪)、测量生物信号(例如,心率或脑电波)、以及标识人(例如,通过基于语音、视网膜、指纹和/或面部的标识)的组件。运动组件858可包括例如加速度传感器(例如,加速度计)和旋转传感器(例如,陀螺仪)。环境组件860可以包括例如光照传感器、温度传感器、湿度传感器、压力传感器(例如气压计)、声学传感器(例如用于检测环境噪声的话筒)、接近传感器(例如,附近物体的红外感测)和/或可提供对应于周围物理环境的指示、测量或信号的其他组件。定位组件862可以包括例如位置传感器(例如,全球定位系统(gps)接收器)、高度传感器(例如,可以从中导出高
度的气压传感器)、和/或取向传感器(例如,磁力计)。
54.i/o组件850可以包括通信组件864,通信组件864实现各种各样的技术,这些技术可操作来经由相应的通信耦合872和882将机器800耦合到网络870和/或设备880。通信组件864可以包括一个或多个网络接口组件或其他合适的设备来与网络870接口。通信组件864可以包括例如适于提供有线通信、无线通信、蜂窝通信、近场通信(nfc)、蓝牙通信、wi-fi和/或经由其他形式的通信的组件。设备880可以包括其他机器或各种外围设备(例如,通过usb耦合)。
55.在一些示例中,通信组件864可以检测标识符或者包括适配成检测标识符的组件。例如,通信组件864可以包括射频识别(rfid)标签读取器、nfc检测器、光学传感器(例如,一维或多维条形码或其他光学代码)、和/或声学检测器(例如,识别标记音频信号的话筒)。在一些示例中,可以基于来自通信组件862的信息来确定位置信息,例如但不限于经由互联网协议(ip)地址的地理位置、经由wi-fi、蜂窝、nfc、蓝牙或其他无线站标识和/或信号三角测量的位置。
56.尽管各种实施例已经被描述,但是描述意图是示例性的而不是限制性的,并且应理解,在各实施例的范围内的更多的实施例和实现是可能的。尽管在附图中示出了特征的许多可能组合并且在此详细描述中进行了讨论,但是所公开特征的许多其他组合也是可能的。除非特别限制,否则任何实施例的任何特征可以与任何其他实施例中的任何其他特征或元素组合或可以替代任何其他实施例中的任何其他特征或元素。因此,将理解,本公开中示出和/或讨论的任何特征可以以任何适当的组合一起实现。因此,除了根据所附权利要求书及其等同物之外,不限制实施例。同样,可以在所附权利要求书的范围内进行各种修改和改变。
57.虽然前面已经描述了被认为是最佳模式和/或其他示例的内容,但是可以理解,其中可以进行各种修改,并且这里公开的主题可以以各种形式和示例来实现,并且教导可被应用于许多应用中,其中只有一些已经在此被描述。所附权利要求书旨在要求落入本教导真实范围内的任何和所有应用、修改和变化。
58.除非另有说明,否则本说明书(包括所附权利要求书)中列出的所有尺寸、数值、额定值、位置、大小、尺寸和其他规格均为近似值,并不精确。它们旨在具有与它们所涉及的功能以及它们所涉及的领域中的习惯相一致的合理范围。
59.保护范围仅受所附权利要求书的限制。当根据本说明书和随后的起诉历史进行解释时,该范围旨在并且应当解释为与权利要求中使用的语言的普通含义相一致,并且涵盖所有结构和功能上的等同物。尽管如此,所有权利要求均不打算包含不满足专利法第101、102或103节要求的主题,这些主题也不应以此类方式被解读。在此,否认任何对此类主题的非故意包含的行为。
60.除以上所述外,任何陈述或说明的意图或解释均不应导致任何组成部分、步骤、特征、对象、利益、优势或对公众的贡献,不管在权利要求书中是否记载。
61.将理解的是,本文中使用的术语和表达关于其相应的各自的调查和研究领域具有与此类术语和表达相一致的普通含义,除非本文另外阐述了特定含义。诸如第一和第二等的关系术语可以仅用于将一个实体或动作与另一实体或动作区分开,而不必要求或暗示这种实体或动作之间的任何实际的此类关系或顺序。术语“包含”、“包括”或其任何其他变体
旨在覆盖非排他性包含,使得包括一系列元素的过程、方法、物品或装置不仅仅包括那些元素,还可以包括未明确列出的或此类过程、方法、物品或装置所固有的其他元素。在没有进一步限制的情况下,以“一”或“一个”开头的元素并不妨碍在包含该元素的过程、方法、物品或装置中存在其他相同元素。
62.本公开的摘要是为了允许读者快速确定本技术公开的性质而提供的。提交摘要的同时要明白,将不用它来解读或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于使本公开精简的目的而将各种特征编组在一起置于各个示例中。此公开方法将不被解释为反映权利要求所要求的特征多于在每项权利要求中明确陈述的特征的意图。相反,如下面的权利要求所反映的,本发明的主题在于少于单个所公开的示例的所有特征。从而,据此将所附权利要求结合进详细描述中,其中每个权利要求都独立地代表单独的要求保护的主题。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献