用于音频信号处理的微控制器接口的制作方法

文档序号:22188273发布日期:2020-09-11 21:58阅读:113来源:国知局
用于音频信号处理的微控制器接口的制作方法

优先权

本申请要求于2018年7月28日提交的美国专利申请no.16/048,235以及2017年7月31日提交的题为“microcontrollerinterfaceforaudiosignalprocessing”的美国临时专利申请no.62/539,194的优先权权益,特此通过引用将所述申请在其整体上并入本申请中。

本公开的实施例涉及神经形态计算领域。更具体地,本公开的实施例涉及但不限于用于音频信号处理的微控制器接口及其方法。



背景技术:

传统的中央处理单元(“cpu”)基于“计时时间”处理指令。具体地,cpu操作使得以规律的时间间隔传输信息。基于互补金属氧化物半导体(“cmos”)技术,可以利用每管芯多于50亿个晶体管来制造硅基芯片,所述硅基芯片具有与10nm一样小的特征。cmos技术中的进步已经发展为并行计算的进步,并行计算无所不在地用于包含多个处理器的个人计算机和蜂窝电话中。

然而,随着机器学习对于包括生物信息学、计算机视觉、视频游戏、市场营销、医学诊断、在线搜索引擎等的众多应用而言正变得普遍,传统的cpu经常不能在保持低功耗的同时供应足够量的处理能力。特别地,机器学习是计算机科学的子部分,其针对具有从数据中学习并且关于数据做出预测的能力的软件。此外,机器学习的一个分支包括深度学习,其针对利用深度(多层)神经网络。

当前,正在进行研究以开发深度神经网络的直接硬件实现方式,其可以包括尝试对“硅”神经元进行仿真(例如,“神经形态计算”)的系统。神经形态芯片(例如,被设计用于神经形态计算的硅计算芯片)通过使用以非均匀间隔传输的电流脉冲串而并行处理指令(例如,与传统的顺序计算机相反)来操作。作为结果,神经形态芯片对于处理信息、特别是人工智能(“ai”)算法而言需要少得多的功率。为了实现这点,神经形态芯片可能包含与传统处理器的五倍一样之多的晶体管,而消耗少至1/2000的功率。因此,神经形态芯片的开发针对提供一种具有巨大处理能力的芯片,所述芯片比常规处理器消耗少得多的功率。此外,神经形态芯片被设计成支持在复杂和非结构化数据的上下文中的动态学习。

存在对于开发和增强专用处理能力的(诸如,在例如助听器中发现的)持续需要。本文中提供的是用于通过利用微控制器接口增强专用处理器的专用处理能力的系统和方法,所述专用处理器可作为独立处理器操作。



技术实现要素:

本文中公开的是一种神经形态处理系统,所述系统在一些实施例中包括:可作为独立主处理器操作的专用主处理器;包括人工神经网络的神经形态协处理器;以及在主处理器与协处理器之间的、被配置为在其之间传输信息的通信接口。协处理器被配置为利用人工神经网络增强主处理器的专用处理。

在一些实施例中,主处理器是助听器处理器,其被配置为通过作为通信接口的串行通信接口以傅立叶变换的形式向协处理器传输频率元素或信号频谱信息。协处理器进一步包括解复用器,所述解复用器被配置为将来自串行通信接口的串行信号解复用成用于人工神经网络的多个输入的并行信号。

在一些实施例中,主处理器与协处理器之间的通信接口是串行外围接口(“spi”)总线或内部集成电路(“i2c”)总线。

在一些实施例中,协处理器被配置为通过如下方式来增强助听器处理器的专用处理:通过通信接口向助听器处理器提供信息,从而使得助听器处理器能够选择性地抑制噪声并增强期望的信号。

在一些实施例中,协处理器被配置为通过如下方式来增强助听器处理器的专用处理:通过通信接口向助听器处理器提供频率掩模,从而指示要抑制的噪声频率和要提升的信号频率。

在一些实施例中,频率掩模是一组衰减或放大因子,其对应于针对音频样本中的多个时间步长中的每个要被抑制或提升的一组频率。

在一些实施例中,人工神经网络被设置在多芯片神经形态处理系统的存储器扇区中的多个二象限乘法器的模拟乘法器阵列中。

在一些实施例中,人工神经网络的突触权重被存储在神经形态协处理器的固件中。所述固件被配置用于基于云的更新,以更新人工神经网络的突触权重。

在一些实施例中,主处理器和协处理器体现在单个单片集成电路、堆叠的管芯组装件、多芯片模块或单独模块的单独集成电路中。所述神经形态处理系统被配置为靠电池功率操作。

本文中还公开的是一种神经形态处理器,所述神经形态处理器在一些实施例中包括:多个接口电路,其包括被配置为将串行信号解复用成并行信号的解复用器;以及多层人工神经网络,其被配置为从接口电路接收并行信号。接口电路从在所述神经形态处理器与专用主处理器之间的串行通信接口接收串行信号。所述神经形态处理器被配置为利用人工神经网络增强主处理器的专用处理。

在一些实施例中,主处理器是助听器处理器。所述神经形态处理器被配置为通过串行通信接口以傅立叶变换的形式从助听器处理器接收频率元素或信号频谱信息。

在一些实施例中,所述神经形态处理器被配置为通过如下方式来增强助听器处理器的专用处理:通过串行通信接口向助听器处理器提供信息,从而使得助听器处理器能够选择性地抑制噪声并增强期望的信号。

在一些实施例中,所述神经形态处理器被配置为通过如下方式来增强助听器处理器的专用处理:通过串行通信接口向助听器处理器提供频率掩模,从而指示要抑制的噪声频率和要提升的信号频率。

在一些实施例中,频率掩模是一组衰减或放大因子,其对应于针对音频样本的多个时间步长中的每个要被抑制或提升的一组频率。

在一些实施例中,人工神经网络被设置在所述神经形态处理器的存储器扇区中的多个二象限乘法器的模拟乘法器阵列中。

还公开的是一种具有专用主处理器和神经形态协处理器的神经形态处理系统的方法,所述方法在一些实施例中包括利用协处理器的人工神经网络增强主处理器的专用处理。主处理器可作为独立的主处理器操作。

在一些实施例中,所述方法进一步包括通过串行通信接口以傅立叶变换的形式将频率元素或信号频谱信息从被配置成助听器处理器的主处理器传输到协处理器;以及利用协处理器的解复用器将来自串行通信接口的串行信号解复用成用于人工神经网络的多个输入的并行信号。

在一些实施例中,增强助听器处理器的专用处理包括通过串行通信接口向助听器处理器提供信息,从而使得助听器处理器能够选择性地抑制噪声并增强期望的信号。

在一些实施例中,增强助听器处理器的专用处理包括通过串行通信接口向助听器处理器提供频率掩模,从而指示要抑制的噪声频率和要提升的信号频率。

在一些实施例中,所述方法进一步包括更新人工神经网络的突触权重。将人工神经网络的突触权重存储在被配置用于基于云的更新的神经形态协处理器的固件中。

附图说明

在附图的各图中,通过示例的方式而非通过限制的方式图示了本公开的实施例,其中同样的引用指示类似的元件,并且其中:

图1提供了图示根据一些实施例的用于设计和更新神经形态集成电路(“ic”)的系统100的示意图。

图2提供了图示根据一些实施例的模拟乘法器阵列的示意图。

图3提供了图示根据一些实施例的模拟乘法器阵列的示意图。

图4提供了图示根据一些实施例的模拟乘法器阵列的无偏置、二象限乘法器的示意图。

图5提供了图示根据一些实施例的在神经形态ic的协处理器与专用ic的主处理器之间的微控制器接口的示意图。

图6提供了图示根据一些实施例的用于增强信噪比的神经形态ic的方法的示意图。

具体实施方式

术语

在以下描述中,某个术语用于描述本发明的特征。例如,在某些情形下,术语“逻辑”可以代表被配置为执行一个或多个功能的硬件、固件和/或软件。作为硬件,逻辑可以包括具有数据处理或存储功能性的电路。这样的电路的示例可以包括但不限于或局限于微处理器、一个或多个处理器核心、可编程门阵列、微控制器、控制器、专用集成电路、无线接收器、发射器和/或收发器电路、半导体存储器或组合逻辑。

术语“过程”可以包括计算机程序的实例(例如,指令的集合,其在本文中也被称为应用)。在一个实施例中,过程可以由并发执行的一个或多个线程(例如,每个线程可以正并发执行相同或不同的指令)所包括。

术语“处理”可以包括执行二进制或脚本,或者启动其中处理对象的应用,其中启动应当被解释为将应用置于打开状态中,并且在一些实现方式中执行以人类与应用交互为典型的动作的仿真。

术语“对象”一般指代数据的集合——无论是在传输中(例如通过网络)还是处于静止(例如所存储的),其经常具有使得能够对它进行分类或类型化的逻辑结构或组织。本文中,术语“二进制文件”和“二进制”将可互换地使用。

术语“文件”在广义上用于指代供计算机程序使用的数据、信息或其他内容的组或集合。文件可以作为单个实体、对象或单元来被访问、打开、存储、操控或以其他方式被处理。文件可以包含其他文件,并且可以包含相关或不相关的内容,或者根本不包含内容。文件也可以具有逻辑格式,或者是具有复数个文件的逻辑结构或组织的文件系统的部分。文件可以具有名称(有时被简称为“文件名”),并且经常具有附加属性或其他元数据。存在许多类型的文件,诸如数据文件、文本文件、程序文件和目录文件。文件可以由计算设备的用户生成或者由计算设备生成。对文件的访问和/或操作可以由一个或多个应用和/或计算设备的操作系统来介导。文件系统可以组织存储设备的计算设备的文件。文件系统可以使得能够跟踪文件并且使得能够访问那些文件。文件系统也可以使得能够对文件进行操作。在一些实施例中,对文件的操作可以包括文件创建、文件修改、文件打开、文件读取、文件写入、文件关闭和文件删除。

术语“主处理器”包括主要处理器,诸如系统中ic的cpu或数字信号处理器(dsp)。主处理器是如下的处理器:其可以独立,但是受益于由神经形态ic或其处理器通过微控制器接口提供的神经形态计算的添加。

术语“协处理器”包括通过微控制器接口与主处理器对接的附加处理器。所述附加处理器可以被配置为执行:在独自的主处理器的情况下不可能的功能,或者协处理器可以更快或以更低的功率执行的功能。

术语“增强滤波器”包括一滤波器,所述滤波器被配置为通过在时变的基础上选择性地使信号的某些分量衰减或提升来抑制信号中不期望的噪声。同样,“增强滤波”包括滤波,以通过在时变的基础上选择性地使信号的某些分量衰减或提升来抑制信号中不期望的噪声。

最后,如本文中使用的术语“或”和“和/或”要被解释为包含性的或者意味着任何一个或任何组合。因此,“a、b或c”或“a、b和/或c”意味着“以下各项中的任何一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元素、功能、步骤或动作的组合在某种程度上内在地相互排斥时,对该定义的例外才将发生。

现在参考图1,根据一些实施例,提供了图示用于设计和更新神经形态ic的系统100的示意图。如所示出的,系统100可以包括被配置用于设计和更新神经形态ic(诸如神经形态ic102)的仿真器110、神经形态合成器120和云130。如进一步示出的,设计和更新神经形态ic可以包括基于特定问题利用仿真器110创建机器学习架构。神经形态合成器120后续可以将机器学习架构变换成针对神经形态ic102的电子部件和电子部件所连接到的节点的网表(netlist)。此外,神经形态合成器120可以将机器学习架构变换成详细描述神经形态ic102的ic布局的图形数据库系统(“gds”)文件。根据神经形态ic102的网表和gds文件,神经形态ic102本身可以根据当前ic制造技术来被制造。一旦神经形态ic102被制造,它就可以被部署成致力于它被设计所用于的特定问题。虽然初始制造的神经形态ic102可以包括具有节点之间的定制突触权重的初始固件,但是初始固件可以通过云130按照需要进行更新以调整权重。由于云130被配置为更新神经形态ic102的固件,因此不需要云130用于每日使用。

神经形态ic(诸如神经形态ic102)可以比图形处理单元(“gpu”)解决方案能量高效高达100倍或更多,以及比数字cmos解决方案能量高效高达280倍或更多,其具有满足或超过可比较的软件解决方案的精度。这使得这样的神经形态ic适合用于电池供电的应用。

神经形态ic(诸如神经形态ic102)可以被配置用于专用标准产品(“assp”),所述专用标准产品包括但不限于关键词定位(keywordspotting)、声音识别、一个或多个音频滤波器、语音增强、姿势识别、图像识别、视频对象分类和分割、或者包括无人机的自主交通工具。例如,如果特定问题是语音增强中的一个,则仿真器110可以相对于语音增强的一个或多个方面创建机器学习架构。神经形态合成器120后续可以将机器学习架构变换成与用于语音增强的神经形态ic相对应的网表和gds文件,所述神经形态ic可以根据当前ic制造技术来被制造。一旦用于语音增强的神经形态ic被制造,它就可以被部署来在例如听力系统或设备中、或者与听力系统或设备一起致力于语音增强,如本文中进一步详述的。

神经形态ic(诸如神经形态ic102)可以部署在玩具、传感器、可穿戴设备、增强现实(“ar”)系统或设备、虚拟现实(“vr”)系统或设备、移动系统或设备、电器、物联网(“iot”)设备或者听力系统或设备中。

现在参考图2,根据一些实施例,提供了图示模拟乘法器阵列200的示意图。这样的模拟乘法器阵列可以基于数字nor闪存阵列,这是因为模拟乘法器阵列的核心可以类似于数字nor闪存阵列的核心或者与数字nor闪存阵列的核心相同。也就是说,至少模拟乘法器阵列的选择和读出电路不同于数字nor阵列。例如,输出电流作为模拟信号被路由到下一层,而不是通过位线去往感测放大器/比较器来被转换至位。字线模拟由模拟输入信号而不是数字地址解码器驱动。此外,模拟乘法器阵列200可以用于神经形态ic(诸如神经形态ic102)中。例如,神经网络可以被设置在神经形态ic的存储器扇区中的模拟乘法器阵列200中。

因为模拟乘法器阵列200是模拟电路,所以输入和输出电流值可以在连续范围内变化,而不是简单地开或关。这对于存储与数字位相对的神经网络的权重(又称系数)是有用的。在操作中,权重乘以输入电流值,以提供输出电流值,所述输出电流值被组合以得出神经网络的决策。

模拟乘法器阵列200可以利用标准编程和擦除电路来生成隧穿和擦除电压。

现在参考图3,根据一些实施例,提供了图示模拟乘法器阵列300的示意图。模拟乘法器阵列300可以使用两个晶体管(例如,正金属氧化物半导体场效应晶体管[“mosfet”]和负mosfet)来执行带符号的权重(例如,正权重或负权重)与非负输入电流值的二象限乘法。如果输入电流值乘以正或负权重,则乘积或输出电流值可以相应地为正或负。正加权的乘积可以存储在第一列(例如,对应于模拟乘法器阵列300中的的列)中,并且负加权的乘积可以存储在第二列(例如,对应于模拟乘法器阵列300中的的列)中。前述正和负加权的乘积或输出信号值可以视为差分电流值,以提供用于做出决策的有用信息。

现在参考图4,根据一些实施例,提供了图示诸如模拟乘法器阵列300的模拟乘法器阵列的无偏置二象限乘法器400的示意图。因为来自正晶体管(例如,二象限乘法器400的m1)或负晶体管(例如,二象限乘法器400的m2)的每个输出电流线接到地,并且相应地与输入电流值和正或负权重的乘积成比例,所以当输入电流值或权重处于零或接近零时,正或负晶体管的功耗处于零或接近零。即,如果输入信号值是“0”,或者如果权重是“”,则模拟乘法器阵列300的对应晶体管将不消耗功率。这是有意义的,因为在许多神经网络中,经常大部分的值或权重、尤其是在训练之后是“”。因此,当没有事情要做或者没有事情发生时节省了能量。这不同于基于差分对的乘法器,后者消耗恒定电流(例如,借助于尾部偏置电流),而不管输入信号如何。

现在参考图5,提供了图示根据一些实施例的在神经形态ic502的协处理器与专用ic504的主处理器之间的微控制器接口500的示意图。虽然神经形态ic502和专用ic504在图5中被示出为两个不同的ic(诸如多芯片模块或堆叠的管芯组装件的两个不同的ic),但是应当理解,前述ic可以替换地体现在单个单片ic中。照此,关于在神经形态ic502的协处理器与专用ic504的主处理器之间的微控制器接口500的描述也应当视为描述在单个单片ic的神经形态协处理器与专用主处理器之间的微控制器接口500;也就是说,除非上下文另有清楚地指示。

如图5中所示,专用ic504可以包括但不限于:用于包括助听器的听力系统或设备的ic。用于助听器的ic可以包括作为专用主处理器的助听器主处理器(参见图5中的“核心专有处理”),以及麦克风、滤波器组、扬声器驱动器和扬声器。然而,应当理解,神经形态协处理器可以与多个专用主处理器中的任何一个或多个对接。与助听器主处理器对接的神经形态协处理器的示例实施例仅被提供用于阐述。应当理解到,到其他assp的扩展可能需要与其他assp的特定功能一致的某些修改。

注意回到语音增强的特定问题,存在对解决助听器中所谓的鸡尾酒会问题的努力。鸡尾酒会问题发生在诸如餐馆或聚会之类的环境中,其中具有助听器的听力受损的人试图保持与一个人的对话,而同时存在听力所及的范围内保持同时对话的许多其他人。当助听器放大所有信号时,对于听力受损的人而言,在听力所及的范围内所有保持对话的许多其他人(噪声信号)当中挑选出与所述一个人的对话(期望信号)可能是几乎不可能的。

深度学习网络可以学习在嘈杂的环境中着眼于语音(诸如鸡尾酒会问题的语音),并且标识频率掩模模式,所述频率掩模模式可以抑制噪声信号并使所期望的信号通过。与图1的描述一致,仿真器110可以相对于语音增强的一个或多个方面(包括与一个人的对话)创建机器学习架构。神经形态合成器120可以后续将机器学习架构变换成与用于语音增强的神经形态ic相对应的网表和gds文件,所述神经形态ic可以根据当前ic制造技术被制造——可选地作为上面引用的单个单片ic——并且被部署成使得神经形态协处理器可以作为音频协处理器,而在例如听力系统或设备中、或者与听力系统或设备一起致力于语音增强。

如图5中所示,神经形态ic502或对应于神经形态ic502的上面引用的单个单片ic的一部分可以包括但不限于:i)一个或多个接口电路,其包括被配置为将串行信号解复用成并行信号的解复用器;以及ii)具有云可更新突触权重的深度语音增强网络,其被配置为从并行信号生成比率掩模,所述比率掩模将期望的语音信号与具有合理声音质量的噪声信号分离。再次,助听器ic504或对应于助听器ic504的上面引用的单个单片ic的一部分可以包括但不限于:助听器主处理器、麦克风、滤波器组、扬声器驱动器和扬声器。神经形态ic502和助听器ic504可以被配置为通过数字芯片间接口进行通信,所述数字芯片间接口诸如包括spi总线或i2c总线的串行通信接口。

助听器主处理器可以被配置为通过spi总线以傅立叶变换或类似频率分解的形式将频率元素或信号频谱信息传输到神经形态协处理器,以用于音频信号处理任务,诸如音频增强或去噪。神经形态协处理器可以被配置为后续执行音频信号处理任务,并通过spi总线将结果传输回到助听器主处理器,所述结果包括以频率或比率掩模形式的针对频率的最佳加权系数。助听器主处理器可以被配置为后续聚集信号,并根据频率掩模将聚集的信号递送给具有助听器的听力受损的人。例如,频率掩模可以指示助听器应当抑制200-230hz范围内的频率(主要是噪声信号),并提升300-360hz之间的频率(主要是期望的信号)。

相对于生成频率或比率掩模,神经形态协处理器可以被配置为在每个时间步长处将助听器主处理器传输的频率元素或信号频谱信息分解成不同的频率分量。在每个时间步长处,深度语音增强网络可以被配置为:基于某些频率分量主要是噪声信号或主要是期望信号的程度,来确定使所述频率分量衰减还是放大。于是频率掩模是每个给定时间步长处的一组衰减或放大因子,其指示应当被抑制或提升的一组频率。

方法

具有专用主处理器和神经形态协处理器的集成电路的方法在一些实施例中包括:利用协处理器的人工神经网络增强原本独立的主处理器的专用处理。如本文中阐述的,主处理器可以是助听器处理器。增强助听器处理器的专用处理包括通过串行通信接口向助听器处理器提供信息,从而使得助听器处理器能够选择性地抑制噪声并增强期望的信号。可替换地或附加地,增强助听器处理器的专用处理包括通过串行通信接口向助听器处理器提供频率掩模,从而指示要抑制的噪声频率和要提升的信号频率。

集成电路的方法可以进一步包括通过串行通信接口以傅立叶变换的形式将频率元素或信号频谱信息从主处理器(例如,助听器处理器)传输到协处理器。在下一个操作中,所述方法可以进一步包括利用协处理器的解复用器将来自串行通信接口的串行信号解复用成用于人工神经网络的多个输入的并行信号。

所述方法可以进一步包括更新人工神经网络的突触权重。可以将人工神经网络的突触权重存储在被配置用于基于云的更新的集成电路的固件中。

现在参考图6,提供了图示根据一些实施例的用于增强信噪比的神经形态ic的方法600的示意图。如所示出的,所述方法包括:1)第一步骤610,其中助听器主处理器计算频率分量;2)第二步骤620,其中助听器主处理器将频率分量传输到神经形态协处理器;3)步骤630,其中神经形态协处理器执行推理并根据频率分量计算增强滤波器系数;4)步骤640,其中神经形态协处理器将增强滤波器系数传输到助听器主处理器;以及5)步骤650,其中神经形态协处理器等待直到下一个时间步长。

鉴于前述内容,深度学习网络的力量可以用于至少增强在嘈杂的环境中的语音(诸如鸡尾酒会问题的语音),并且标识频率掩模模式,所述频率掩模模式可以抑制噪声信号并使所期望的信号通过。因此,本文中提供的神经形态协处理器可以使用主处理器不能独自完成的算法来增强专用主处理器,与此同时专用主处理器执行它们被设计来完成的功能(例如,为助听器主处理器执行噪声消除、脉冲噪声检测、控制功能[例如,音量、电池功率跟踪等]等等)。

在前述描述中,参考本发明的特定示例性实施例来描述本发明。然而,将明显的是,在不脱离如所附权利要求中阐述的本发明的更宽的精神和范围的情况下,可以对其进行各种修改和改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1